3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-12 20:04:08 +00:00

Cache partition boundary to avoid repeated algebraic number comparisons

Store the partition boundary (index of first root > sample) in
relation_E after sorting root functions. Use this cached value
in compute_omit_lc_sector_chain() and compute_omit_lc_section_chain()
instead of recomputing via algebraic number comparisons.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Lev Nachmanson 2026-01-16 19:18:15 -10:00
parent 9d22786649
commit ce0067ca67
2 changed files with 13 additions and 23 deletions

View file

@ -4627,8 +4627,10 @@ namespace nlsat {
void solver::record_levelwise_result(bool success) {
m_imp->m_stats.m_levelwise_calls++;
if (!success)
if (!success) {
m_imp->m_stats.m_levelwise_failures++;
// m_imp->m_apply_lws = false; // is it useful to throttle
}
}
bool solver::has_root_atom(clause const& c) const {
@ -4651,5 +4653,5 @@ namespace nlsat {
unsigned solver::lws_section_relation_mode() const { return m_imp->m_lws_section_relation_mode; }
};