anchor.diff:  %%
   %%  put_list for constructing a cons is an atomic instruction
   %%  which can safely resuse one of the source registers as target.
  -%%  Also binaries can reuse a source register as target.
   
   set_cg([{var,R}], {cons,Es}, Le, Vdb, Bef, St) ->
       [S1,S2] = cg_reg_args(Es, Bef),
  
positive.code: %% cg_bin_opt(Code0) -> Code
  %%  Optimize the size calculations for binary construction.
  
  cg_bin_opt([{move,Size,D},{bs_append,Fail,D,Extra,Regs0,U,Bin,Flags,D}|Is]) ->
      Regs = cg_bo_newregs(Regs0, D),
      cg_bin_opt([{bs_append,Fail,Size,Extra,Regs,U,Bin,Flags,D}|Is]);
  cg_bin_opt([{move,Size,D},{bs_private_append,Fail,D,U,Bin,Flags,D}|Is]) ->
      cg_bin_opt([{bs_private_append,Fail,Size,U,Bin,Flags,D}|Is]);
  
negative.code: 	end,
      MaxRegs = max_reg(Bef#sr.reg),
      Aft = clear_dead(Int1, Le#l.i, Vdb),
  
      %% Now generate the complete code for constructing the binary.
      Code = cg_binary(PutCode, Target, Temp, Fail, MaxRegs, Le#l.a),
      {Sis++Code,Aft,St};
  set_cg([{var,R}], Con, Le, Vdb, Bef, St) ->
  