anchor.diff:      cg_bin_opt([{move,S,Dst}|Is]);
   cg_bin_opt([{move,{integer,0},D},{bs_add,Fail,[D,S,U],Dst}|Is]) ->
       cg_bin_opt([{bs_add,Fail,[{integer,0},S,U],Dst}|Is]);
  -cg_bin_opt([{move,{integer,Bytes},D},{Op,Fail,D,Extra,Regs0,Flags,D}|Is])
  +cg_bin_opt([{move,{integer,Bytes},D},{Op,Fail,D,Extra,Regs,Flags,D}|Is])
     when Op =:= bs_init2; Op =:= bs_init_bits ->
  -    Regs = cg_bo_newregs(Regs0, D),
       cg_bin_opt([{Op,Fail,Bytes,Extra,Regs,Flags,D}|Is]);
   cg_bin_opt([{move,Src1,Dst},{bs_add,Fail,[Dst,Src2,U],Dst}|Is]) ->
       cg_bin_opt([{bs_add,Fail,[Src1,Src2,U],Dst}|Is]);
   cg_bin_opt([I|Is]) ->
       [I|cg_bin_opt(Is)];
   cg_bin_opt([]) -> [].
  -
  -cg_bo_newregs(R, {x,X}) when R-1 =:= X -> R-1;
  -cg_bo_newregs(R, _) -> R.
  -
  -%% Common for new and old binary code generation.
   
   cg_bin_put({bin_seg,[],S0,U,T,Fs,[E0,Next]}, Fail, Bef) ->
       S1 = cg_reg_arg(S0, 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) ->
  