let ___bisect_mark___ =
  let marks = Array.make 8 0 in
  let (hook_before, hook_after) = Bisect.Runtime.get_hooks ()
  in
    (Bisect.Runtime.init_with_array "expr_ifthen.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___ 2;
   if true
   then (___bisect_mark___ 1; print_endline "abc")
   else (___bisect_mark___ 0; print_endline "def"))
  
let () =
  (___bisect_mark___ 7;
   if true
   then
     (___bisect_mark___ 4;
      print_string "abc";
      ___bisect_mark___ 3;
      print_newline ())
   else
     (___bisect_mark___ 6;
      print_string "def";
      ___bisect_mark___ 5;
      print_newline ()))
  

