anchor.diff:  	 empty_label_index/0,index_label/3,index_labels/1,replace_labels/4,
   	 code_at/2,bif_to_test/3,is_pure_test/1,
   	 live_opt/1,delete_live_annos/1,combine_heap_needs/2,
  -	 split_even/1]).
  +         anno_defs/1,
  +	 split_even/1
  +        ]).
   
   -export_type([code_index/0,module_code/0,instruction/0]).
   
  
positive.code:     {reverse(Ss),reverse(Ds)};
  split_even([S,D|Rs], Ss, Ds) ->
      split_even(Rs, [S|Ss], [D|Ds]).
  
negative.code: combine_heap_needs(H1, H2) when is_integer(H1), is_integer(H2) ->
      H1+H2.
  
  %% anno_defs(Instructions) -> Instructions'
  %%  Add {'%def',RegisterBitmap} annotations to the beginning of
  %%  each block.  Iff bit X is set in the the bitmap, it means
  %%  that {x,X} is defined when the block is entered.
  
  -spec anno_defs([instruction()]) -> [instruction()].
  
  anno_defs(Is0) ->
      {Bef,[Fi|Is1]} =
  	splitwith(fun({func_info,_,_,_}) -> false;
  		     (_) -> true
  		  end, Is0),
      {func_info,_,_,Arity} = Fi,
      Regs = init_def_regs(Arity),
      Is = defs(Is1, Regs, #{}),
      Bef ++ [Fi|Is].
  
  %% split_even/1
  %% [1,2,3,4,5,6] -> {[1,3,5],[2,4,6]}
  
  -spec split_even(list()) -> {list(),list()}.
  
  split_even(Rs) -> split_even(Rs, [], []).
  
  %%%
  %%% Local functions.
  