let find res e =
      let obj = HE.find res.tbl e in
        match obj with None ->
          Wp_parameters.warning "find edge annot twice (%a) ?"
            Cil2cfg.pp_edge e;
          raise Not_found
          | Some obj ->
              if (not res.keep_res)
              && (res.mode = Pass2)
              && (List.length
                    (Cil2cfg.pred_e res.cfg (Cil2cfg.edge_src e)) < 2) then
                begin
                  (* it should be used once only : can free it *)
                  HE.replace res.tbl e None;
                  debug "clear edge %a@." Cil2cfg.pp_edge e
                end;
              obj