anchor.diff:  	 UInt#(TSub#(mbits,16)) sfdCmsb = unpack(sfdC[valueOf(mbits)-1:16]);
   	 rProd_S2lsb <= extend(unpack(sfdB))*extend(sfdClsb);
   	 rProd_S2msb <= extend(unpack(sfdB))*extend(sfdCmsb);
  -	 
  +
   	 rState_S2 <= tuple5(s,
   			     acc,
   			     opA,
  
positive.code:       Add#(16, i__, mmbits),
        Add#(j__, TSub#(mbits, 16), mmbits),
        Add#(mmbits,0,48)
        );   
  
     FIFOF#(Tuple3#(Maybe#(FloatingPoint#(e,m)),
  		 FloatingPoint#(e,m),
  
negative.code: /// Floating point fused multiple accumulate
  ////////////////////////////////////////////////////////////////////////////////
  ///
  /// copied from FloatingPoint.bsv and modified.
  /// this version is no longer IEEE compliant :)
  ///
  ////////////////////////////////////////////////////////////////////////////////
  