mirror of
https://github.com/Z3Prover/z3
synced 2026-07-23 15:32:32 +00:00
seq_split: add behaviour-neutral perf counters, surfaced via nseq -st
Adds a split_stats struct to seq_split (make/sigma-expand/materialize/splits/pushes/oracle-prunes/intersect/intersect-pairs/complement/giveups/threshold-overruns/max-split-set/simplify) and reports them in nielsen_graph::collect_statistics as 'nseq split *'. Read-only counters; solver behaviour is unchanged (verified: L11 sat, L14 unsat, gen cssfunc sat). Diagnosis on gen-lb L15 negcount: the De Morgan complement -> intersect cross-product blows up to 2^16 split-set pairs (1.3M intersect-pairs) while simplify() and the oracle never fire on that path. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
parent
7cc5a73bd8
commit
8992d5fc53
4 changed files with 69 additions and 3 deletions
|
|
@ -439,6 +439,10 @@ public:
|
|||
return m_split.split_membership(str, regex, threshold, result);
|
||||
}
|
||||
|
||||
// split-algebra performance counters (surfaced via nseq -st)
|
||||
split_stats const& get_split_stats() const { return m_split.stats(); }
|
||||
void reset_split_stats() { m_split.reset_stats(); }
|
||||
|
||||
expr_ref mk_symmetric_diff(expr *r1, expr *r2);
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue