anchor.diff:  %%  Also binaries can reuse a source register as target.
   
   set_cg([{var,R}], {cons,Es}, Le, Vdb, Bef, St) ->
  -    [S1,S2] = map(fun ({var,V}) -> fetch_var(V, Bef);
  -		      (Other) -> Other
  -		  end, Es),
  +    [S1,S2] = cg_reg_args(Es, Bef),
       Int0 = clear_dead(Bef, Le#l.i, Vdb),
       Int1 = Int0#sr{reg=put_reg(R, Int0#sr.reg)},
       Ret = fetch_reg(R, Int1#sr.reg),
  
positive.code: %% Common for new and old binary code generation.
  
  cg_bin_put({bin_seg,[],S0,U,T,Fs,[E0,Next]}, Fail, Bef) ->
      S1 = case S0 of
  	     {var,Sv} -> fetch_var(Sv, Bef);
  	     _ -> S0
  	 end,
      E1 = case E0 of
  	     {var,V} -> fetch_var(V, Bef);
  	     Other ->   Other
  	 end,
      {Format,Op} = case T of
  		      integer -> {plain,bs_put_integer};
  		      utf8 ->    {utf,bs_put_utf8};
  
negative.code:     Ais = case Con of
  	      {tuple,Es} ->
  		  [{put_tuple,length(Es),Ret}] ++ cg_build_args(Es, Bef);
  	      Other ->
  		  [{move,cg_reg_arg(Other, Int),Ret}]
  	  end,
      {Ais,clear_dead(Int, Le#l.i, Vdb),St}.
  
  