anchor.diff:  %%    atom_table(Dict) -> {LastIndex,[Length,AtomString...]}
   -spec atom_table(bdict()) -> {non_neg_integer(), [[non_neg_integer(),...]]}.
   
  -atom_table(#asm{atoms=Atoms,next_atom=NumAtoms}) ->
  +atom_table(#asm{atoms=Atoms}) ->
  +    NumAtoms = gb_trees:size(Atoms),
       Sorted = lists:keysort(2, gb_trees:to_list(Atoms)),
       Fun = fun({A,_}) ->
   		  L = atom_to_list(A),
   		  [length(L)|L]
   	  end,
       AtomTab = lists:map(Fun, Sorted),
  -    {NumAtoms-1,AtomTab}.
  +    {NumAtoms,AtomTab}.
   
   %% Returns the table of local functions.
   %%    local_table(Dict) -> {NumLocals, [{Function, Arity, Label}...]}
  
positive.code: 	 strings = <<>>		    :: binary(),	%String pool
  	 lambdas = [],				%[{...}]
  	 literals = dict:new()	    :: dict(),	%Format: {Literal,Number}
  	 next_atom = 1		    :: pos_integer(),
  	 next_import = 0	    :: non_neg_integer(),
  	 string_offset = 0	    :: non_neg_integer(),
  	 next_literal = 0	    :: non_neg_integer(),
  
negative.code: %%    atom(Atom, Dict) -> {Index,Dict'}
  -spec atom(atom(), bdict()) -> {pos_integer(), bdict()}.
  
  atom(Atom, #asm{atoms=Atoms0}=Dict) when is_atom(Atom) ->
      case gb_trees:lookup(Atom, Atoms0) of
  	{value,Index} ->
  	    {Index,Dict};
  	none ->
  	    NextIndex = gb_trees:size(Atoms0) + 1,
  	    Atoms = gb_trees:insert(Atom, NextIndex, Atoms0),
  	    {NextIndex,Dict#asm{atoms=Atoms}}
      end.
  
  %% Remembers an exported function.
  