anchor.diff:          in
               _z3version := Some out; out
   
  -let ini_params () =
  -  let t =
  -    if z3v_le (get_z3version ()) (4, 3, 1)
  -    then !Options.z3timeout
  -    else !Options.z3timeout * 1000
  +let ini_params opt_timeout =
  +  let timeout =
  +    begin match opt_timeout with
  +    | Some n ->
  +      let t =
  +        if z3v_le (get_z3version ()) (4, 3, 1)
  +        then n
  +        else n * 1000
  +      in
  +      format1 "-t:%s" (string_of_int t) 
  +    | None ->
  +      ""
  +    end
     in
  -  let timeout = format1 "-t:%s" (string_of_int t) in
     let relevancy =
       if   z3v_le (get_z3version ()) (4, 3, 1)
       then "RELEVANCY"
  
positive.code: let doZ3Exe =
      let ctr = Util.mk_ref 0 in
      fun (fresh:bool) (input:string) ->
          let z3proc = if fresh then (incr ctr; new_z3proc (Util.string_of_int !ctr)) else bg_z3_proc.grab() in
          let res = doZ3Exe' input z3proc in
          //Printf.printf "z3-%A says %s\n"  (get_z3version()) (status_to_string (fst res));
          if fresh then Util.kill_process z3proc else bg_z3_proc.release();
  
negative.code: open FStar.Util
  
  (****************************************************************************)
  (* Fuel Traces (private)                                                    *)
  (****************************************************************************)
  
  type fuel_trace_identity =
  