anchor.diff:  copy_float_big(Base, Offset, NewOffset, Src, _FalseLblName, TrueLblName,pass) ->
     FloatLo = hipe_rtl:mk_new_reg(),
     FloatHi = hipe_rtl:mk_new_reg(),
  -  TmpOffset =hipe_rtl:mk_new_reg(),
  +  TmpOffset = hipe_rtl:mk_new_reg(),
     hipe_tagscheme:unsafe_load_float(FloatLo, FloatHi, Src) ++
       copy_big_word(Base, Offset, TmpOffset, FloatHi) ++
       copy_big_word(Base, TmpOffset, NewOffset, FloatLo) ++
  
positive.code: 		[NewOffset] = get_real(Dst),
  		case Args of
  		  [Src, Base, Offset] ->
  		    put_static_binary(NewOffset, Src, Size, Base, Offset, 
  				      TrueLblName, FalseLblName);
  		  [Src, Bits, Base, Offset]  ->
  		    {SizeCode, SizeReg} = make_size(Size, Bits,
  						    SystemLimitLblName,
  						    FalseLblName),
  		    InCode = put_dynamic_binary(NewOffset, Src, SizeReg, Base, 
  						Offset, TrueLblName, FalseLblName),
  		    SizeCode ++ InCode
  		end
  	    end;
  		
  	  {bs_put_float, Size, Flags, ConstInfo} ->    
  	    [NewOffset] = get_real(Dst),
  	    Aligned = aligned(Flags),
  	    LittleEndian = littleendian(Flags),
  
negative.code:    CCode].
   
  put_static_binary(NewOffset, Src, Size, Base, Offset, TLName, FLName) ->
    [SrcBase] = create_unsafe_regs(1),
    [SrcOffset, SrcSize] = create_regs(2),
      case Size of
        0 ->
  	get_base_offset_size(Src, SrcBase, SrcOffset, SrcSize, FLName) ++
  	[hipe_rtl:mk_move(NewOffset, Offset),
  	 hipe_rtl:mk_goto(TLName)];
        _ ->
  	SizeImm = hipe_rtl:mk_imm(Size),
  