anchor.diff:  cg_bin_put({bin_end,[]}, _, _) -> [].
   
   cg_build_args(As, Bef) ->
  -    map(fun ({var,V}) -> {put,fetch_var(V, Bef)};
  -	    (Other) -> {put,Other}
  -	end, As).
  +    [{put,cg_reg_arg(A, Bef)} || A <- As].
   
   %% return_cg([Val], Le, Vdb, Bef, St) -> {[Ainstr],Aft,St}.
   %% break_cg([Val], Le, Vdb, Bef, St) -> {[Ainstr],Aft,St}.
  
positive.code: %%  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),
      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),
  
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}.
  
  