anchor.diff:  %%
   
   build_ig(CFG, Live, Target, TempMap) ->
  -  try build_ig0(CFG, Live, Target, TempMap)
  -  catch error:Rsn -> exit({regalloc, build_ig, Rsn})
  -  end.
  -
  -%% Creates an ETS table consisting of the keys given in List, with the values
  -%% being an integer which is the position of the key in List.
  -%% [1,5,7] -> {1,0} {5,1} {7,2}
  -%% etc.
  -setup_ets(List) ->
  -  setup_ets0(List, ets:new(tempMappingTable, []), 0).
  -
  -setup_ets0([], Table, _N) ->
  -  Table;
  -setup_ets0([X|Xs], Table, N) ->
  -  ets:insert(Table, {X, N}),
  -  setup_ets0(Xs, Table, N+1).
  -
  -build_ig0(CFG, Live, Target, TempMap) ->
     TempMapping = map_spilled_temporaries(TempMap),
     TempMappingTable = setup_ets(TempMapping),
     NumSpilled = length(TempMapping),
  
positive.code: 		    Target, TempMap, TempMappingTable),
    ets:delete(TempMappingTable),
    {normalize_ig(IG), NumSpilled}.
  
  build_ig_bbs([], _CFG, _Live, IG, _Target, _TempMap, _TempMapping) ->
    IG;
  
negative.code: %%     throw an exception (the caller should retry with more stack slots)
  
  color(IG, StackSlots, NumNodes, Target) ->
    ?report("simplification of IG~n", []),
    K = ordsets:size(StackSlots),
    Nodes = list_ig(IG),
  