let ___bisect_mark___ =
  let marks = Array.make 12 0 in
  let (hook_before, hook_after) = Bisect.Runtime.get_hooks ()
  in
    (Bisect.Runtime.init_with_array "expr_try.ml" marks false;
     fun idx ->
       (hook_before ();
        let curr = marks.(idx)
        in
          (marks.(idx) <- if curr < max_int then succ curr else curr;
           hook_after ())))
  
let () =
  (___bisect_mark___ 6;
   print_endline "before";
   (try
      (___bisect_mark___ 4;
       ___bisect_mark___ 1;
       print_endline "abc";
       ___bisect_mark___ 0;
       print_endline "def")
    with
    | _ ->
        (___bisect_mark___ 3;
         print_endline "ABC";
         ___bisect_mark___ 2;
         print_endline "DEF"));
   ___bisect_mark___ 5;
   print_endline "after")
  
let () =
  (___bisect_mark___ 11;
   print_endline "before";
   ___bisect_mark___ 10;
   (try (___bisect_mark___ 8; print_endline "abc")
    with | _ -> (___bisect_mark___ 7; print_endline "ABC"));
   ___bisect_mark___ 9;
   print_endline "after")
  

