@@ -89,7 +89,7 @@ tactic * mk_qfnra_very_small_solver(ast_manager& m, params_ref const& p) {
8989 p_i.set_bool (" shuffle_vars" , true );
9090 // if ((i & 1) == 0)
9191 // p_i.set_bool("randomize", false);
92- ts.push_back (try_for (mk_qfnra_nlsat_tactic (m, p_i), 3 * 1000 ));
92+ ts.push_back (mk_lazy_tactic (m, p_i, [&](ast_manager& m, params_ref const & p) { return try_for (mk_qfnra_nlsat_tactic (m, p_i), 3 * 1000 ); } ));
9393 }
9494 {
9595 ts.push_back (mk_qfnra_nlsat_tactic (m, p));
@@ -147,7 +147,7 @@ tactic * mk_qfnra_small_solver(ast_manager& m, params_ref const& p) {
147147 p_i.set_bool (" shuffle_vars" , true );
148148 // if ((i & 1) == 0)
149149 // p_i.set_bool("randomize", false);
150- ts.push_back (try_for (mk_qfnra_nlsat_tactic (m, p_i), 5 * 1000 ));
150+ ts.push_back (mk_lazy_tactic (m, p_i, [&](ast_manager& m, params_ref const & p) { return try_for (mk_qfnra_nlsat_tactic (m, p_i), 5 * 1000 ); } ));
151151 }
152152 {
153153 ts.push_back (mk_qfnra_nlsat_tactic (m, p));
@@ -308,15 +308,20 @@ const double SMALL_THRESHOLD = 80.0;
308308const double MIDDLE_THRESHOLD = 300.0 ;
309309const double LARGE_THRESHOLD = 600.0 ;
310310tactic * mk_qfnra_mixed_solver (ast_manager& m, params_ref const & p) {
311+ auto very_small_t = mk_lazy_tactic (m, p, [&](ast_manager& m, params_ref const & p) {return mk_qfnra_very_small_solver (m, p); });
312+ auto small_t = mk_lazy_tactic (m, p, [&](ast_manager& m, params_ref const & p) {return mk_qfnra_small_solver (m, p); });
313+ auto middle_t = mk_lazy_tactic (m, p, [&](ast_manager& m, params_ref const & p) {return mk_qfnra_middle_solver (m, p); });
314+ auto large_t = mk_lazy_tactic (m, p, [&](ast_manager& m, params_ref const & p) {return mk_qfnra_large_solver (m, p); });
315+ auto very_large_t = mk_lazy_tactic (m, p, [&](ast_manager& m, params_ref const & p) {return mk_qfnra_very_large_solver (m, p); });
311316 return cond (mk_lt (mk_memory_probe (), mk_const_probe (VERY_SMALL_THRESHOLD)),
312- mk_qfnra_very_small_solver (m, p) ,
317+ very_small_t ,
313318 cond (mk_lt (mk_memory_probe (), mk_const_probe (SMALL_THRESHOLD)),
314- mk_qfnra_small_solver (m, p) ,
319+ small_t ,
315320 cond (mk_lt (mk_memory_probe (), mk_const_probe (MIDDLE_THRESHOLD)),
316- mk_qfnra_middle_solver (m, p) ,
321+ middle_t ,
317322 cond (mk_lt (mk_memory_probe (), mk_const_probe (LARGE_THRESHOLD)),
318- mk_qfnra_large_solver (m, p) ,
319- mk_qfnra_very_large_solver (m, p)
323+ large_t ,
324+ very_large_t
320325 )
321326 )
322327 )
0 commit comments