code: def fused_multiply_adder(mult_A, mult_B, add, signed=False, reducer=adders.wallace_reducer,
                           adder_func=adders.kogge_stone):
      
  
      # TODO: Specify the length of the result wirevector
  
      return generalized_fma(((mult_A, mult_B),), (add,), signed, reducer, adder_func)
docs: Generate efficient hardware for a*b+c.
  
      Multiplies two wirevectors together and adds a third wirevector to the
      multiplication result, all in
      one step. By doing it this way (instead of separately), one reduces both
      the area and the timing delay of the circuit.
  
  
      :param Bool signed: Currently not supported (will be added in the future)
        The default will likely be changed to True, so if you want the smallest
        set of wires in the future, specify this as False
      :param reducer: (advanced) The tree reducer to use
      :param adder_func: (advanced) The adder to use to add the two results at the end
      :return WireVector: The result WireVector