module Lp = struct let target = `&3 * zz_x + -- &1 * zz_y`;; let target_bound = `-- &6938 / &10000`;; let precision_constant = Int 100000;; let ineqs = [ ASSUME (mk_le_ineq (mk_linear [(mk_real_int64 100000L); (mk_real_int64 100000L); (mk_real_int64 100000L); ] ["zz_x"; "zz_y"; "z"; ])(mk_real_int64 314160L)), (mk_real_int64 150000L); ASSUME (mk_le_ineq (mk_linear [(mk_real_int64 100000L); (mk_real_int64 141421L); (negate (mk_real_int64 100000L)); ] ["zz_x"; "zz_y"; "z"; ])(mk_real_int64 173206L)), (mk_real_int64 150000L); ];; let target_vars = [ ASSUME (mk_le_ineq (mk_linear [(mk_real_int64 100000L); ] ["zz_y"; ])(mk_real_int64 1000000L)), (mk_real_int64 50000L); ASSUME (mk_le_ineq (mk_linear [(negate (mk_real_int64 100000L)); ] ["zz_y"; ])(negate (mk_real_int64 173205L))), (mk_real_int64 46213200000L); ];; let var_ineqs = [ ];; let start = Sys.time();; let result = prove_lp ineqs var_ineqs target_vars target_bound precision_constant;; end;; Sys.time() -. Lp.start;; concl (Lp.result);;