3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-25 15:23:41 +00:00

add a parameter for debugging throttling

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2025-06-20 12:32:02 -07:00
parent e66113d4c7
commit 71289d8c48
3 changed files with 9 additions and 0 deletions

View file

@ -96,6 +96,10 @@ void order::order_lemma_on_binomial_sign(const monic& xy, lpvar x, lpvar y, int
}
bool order::throttle_monic(const monic& ac, std::string const & debug_location ) { // todo - remove debug location!
// Check if throttling is enabled
if (!c().params().arith_nl_trl())
return false;
// Check if this monic has already been processed using its variable ID
if (m_processed_monics.contains(ac.var())) {
TRACE(nla_solver, tout << "throttled at " << debug_location << "\n";);

View file

@ -200,6 +200,10 @@ void tangents::tangent_lemma() {
}
bool tangents::throttle_plane(unsigned var, bool below, std::string const & debug_location) {
// Check if throttling is enabled
if (!c().params().arith_nl_trl())
return false;
tangent_key key(var, below);
// Check if this (var, below) pair has already been processed

View file

@ -65,6 +65,7 @@ def_module_params(module_name='smt',
('arith.nl.order', BOOL, True, 'run order lemmas'),
('arith.nl.expp', BOOL, False, 'expensive patching'),
('arith.nl.tangents', BOOL, True, 'run tangent lemmas'),
('arith.nl.trl', BOOL, True, 'throttle repeated lemmas'),
('arith.nl.horner', BOOL, True, 'run horner\'s heuristic'),
('arith.nl.horner_subs_fixed', UINT, 2, '0 - no subs, 1 - substitute, 2 - substitute fixed zeros only'),
('arith.nl.horner_frequency', UINT, 4, 'horner\'s call frequency'),