anchor.diff:    catch throw:no_input -> ok
     end.
   
  --spec safe_analyse(cfg(), data()) -> #state{}.
  +-spec safe_analyse(cfg(), data()) -> state().
   
   safe_analyse(CFG, Data={MFA,_,_,_}) ->
     State = state__init(CFG, Data),
  
positive.code: 
  %% State
  
  -spec state__init(cfg(), data()) -> #state{}.
  
  state__init(Cfg, {MFA, ArgsFun, CallFun, FinalFun}) ->
    Start = hipe_icode_cfg:start_label(Cfg),  
  
negative.code: 	     lookup_fun=CallFun, result_action=FinalFun}
    end.
  
  -spec state__cfg(state()) -> cfg().
  
  state__cfg(#state{cfg=Cfg}) ->
    Cfg.
  
  -spec state__bb(state(), label()) -> bb().
  
  state__bb(#state{cfg=Cfg}, Label) ->
    BB = hipe_icode_cfg:bb(Cfg, Label),
    true = hipe_bb:is_bb(BB), % Just an assert
    BB.
    
  -spec state__bb_add(state(), label(), bb()) -> state().
  
  state__bb_add(S=#state{cfg=Cfg}, Label, BB) ->
    NewCfg = hipe_icode_cfg:bb_add(Cfg, Label, BB),
  