anchor.diff:     endinterface
   endmodule
   
  +
   ////////////////////////////////////////////////////////////////////////////////
   /// Pipelined Floating Point Multiplier
   ////////////////////////////////////////////////////////////////////////////////
  
positive.code: 	    //if (shift > 0) begin
  	    if (subnormal) begin
  	       // subnormal
  	       Bit#(1) sfdlsb = |(sfdres << (fromInteger(valueOf(TAdd#(TAdd#(m,1),TAdd#(m,1)))) - shift));
  
  	       //$display("sfdlsb = |'h%x = 'b%b", (sfdres << (fromInteger(valueOf(TAdd#(TAdd#(m,1),TAdd#(m,1)))) - shift)), sfdlsb);
  
                 sfdres = sfdres >> shift;
                 sfdres[0] = sfdres[0] | sfdlsb;
  
  	       result.exp = 0;
  	    end
  
negative.code:       Add#(b__, 16, TAdd#(m, 1))
        );
  
     let implementSubnormal = False;
  
     ////////////////////////////////////////////////////////////////////////////////
     /// S0
     ////////////////////////////////////////////////////////////////////////////////
  