anchor.diff:    Edges = needs_fcheckerror(NewState),
     finalize(Edges, NewState).
   
  +-spec finalize([edge()], #state{}) -> #state{}.
  +
   finalize([{From, To}|Left], State) ->
     NewState = add_fp_ebb_fixup(From, To, State),
     finalize(Left, NewState);
   finalize([], State) ->
     State.
   
  +-spec needs_fcheckerror(#state{}) -> [{none | icode_lbl(), icode_lbl()}].
  +
   needs_fcheckerror(State) ->
     Cfg = state__cfg(State),
     Labels = hipe_icode_cfg:labels(Cfg),
     needs_fcheckerror(Labels, State, []).
  +
  +-spec needs_fcheckerror([icode_lbl()], #state{},
  +			[{none | icode_lbl(), icode_lbl()}])
  +		       -> [{none | icode_lbl(), icode_lbl()}].
   
   needs_fcheckerror([Label|Left], State, Acc) ->
     case state__get_in_block_in(State, Label) of
  
positive.code:   annotate_fclearerror(Left, NewCfg);
  annotate_fclearerror([], Cfg) ->
    Cfg.
  
  annotate_fclearerror1([I|Left], Label, Cfg, Acc) ->
    case I of
  
negative.code: annotate_fclearerror1([], _Label, _Cfg, Acc) ->
    lists:reverse(Acc).
  
  -spec lookahead_for_fcheckerror(icode_instrs(), icode_lbl(), #cfg{}) ->
  				   fail_lbl().
  
  lookahead_for_fcheckerror([I|Left], Label, Cfg) ->
    case I of
      #icode_call{} ->
  