Skip to content

Improve generation accounting (#10008)#10009

Merged
NikolajBjorner merged 13 commits into
masterfrom
generation
Jul 8, 2026
Merged

Improve generation accounting (#10008)#10009
NikolajBjorner merged 13 commits into
masterfrom
generation

Conversation

@NikolajBjorner

Copy link
Copy Markdown
Contributor

Details in original PR: #10007


Details in original PR: #10007

---------

Co-authored-by: Can Cebeci <t-cancebeci@microsoft.com>
@CanCebeci

CanCebeci commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator

Updated Mariposa results:

Performance

Timeline on Mariposa's unsat core:

Version #Queries with unknowns (/58) Total # unknowns 60sec timeouts (/5699)
Before May 7th 28 522 1818
May 7th - 'Use the minimum generation number among matching enodes' 22 355 1978
May 26th - 'Update generation number of already-internalized enodes' 16 117 2040
June 4 - 'Cleaner fix for initializing and finalizing m_max...' (only on CanCebeci/z3) 7 56 2399
June 29th (original PR) - 'Debug undo_add_eq, treat eqs as gen0' 7 62 1924
June 30th - 'Remember to account for equalities..' 5 58 1867
July 7th (current, cg_table reverted) - 'Fix index misalignment introduced by last commit' 5 60 1780

@CanCebeci

Copy link
Copy Markdown
Collaborator

Results over quantified SMTLIB benchmarks:

Biggest regressions, sorted by solved delta:

  • ALIA: -14/1262
  • ABV: -8/1756
  • AUFBVDTNIRA: -4/3413
  • UF: -4/2737
  • UFDTLIRA: -4/7042

Biggest improvements, sorted by solved delta:

  • UFLIA: +7/7173
  • UFFPDTNIRA: +1/618
  • UFDTNIRA: +1/3983
  • UFBVLIA: +1/1
  • UFBVFPDTNIRA: +1/44
Category total solved sat unsat unknown timeout baseline total solved baseline sat baseline unsat baseline unknown baseline timeout Delta solved/baseline solved
ABV 1748 1436 312 2736 491 1756 1445 311 2739 480 -8/1756
ABVFP 32 30 2 19 9 32 30 2 19 9 +0/32
ABVFPLRA 63 59 4 14 0 63 59 4 14 0 +0/63
ALIA 1248 958 290 1616 234 1262 969 293 1603 233 -14/1262
ANIA 42 31 11 22 14 42 31 11 22 14 +0/42
AUFBV 379 131 248 10 1134 380 131 249 10 1133 -1/380
AUFBVDTLIA 484 109 375 9 1190 487 109 378 10 1186 -3/487
AUFBVDTNIA 509 1 508 0 43 509 1 508 0 43 +0/509
AUFBVDTNIRA 3409 0 3409 0 1632 3413 0 3413 0 1628 -4/3413
AUFBVFP 9 3 6 0 48 9 3 6 0 48 +0/9
AUFBVFPDTNIRA 53 0 53 0 64 53 0 53 0 64 +0/53
AUFDTLIA 742 46 696 0 53 743 46 697 0 52 -1/743
AUFDTLIRA 9889 0 9889 139 1015 9889 0 9889 139 1015 +0/9889
AUFDTNIRA 1266 0 1266 6 295 1266 0 1266 6 295 +0/1266
AUFFPDTNIRA 139 0 139 8 19 139 0 139 8 19 +0/139
AUFLIA 2570 339 2231 35 722 2571 340 2231 35 721 -1/2571
AUFLIRA 19598 63 19535 0 413 19597 64 19533 0 414 +1/19597
AUFNIA 0 0 0 0 3 0 0 0 0 3 +0/0
AUFNIRA 1024 5 1019 2 454 1024 5 1019 2 454 +0/1024
BV 5580 563 5017 0 605 5580 563 5017 0 605 +0/5580
BVFP 172 161 11 4 32 172 161 11 4 32 +0/172
BVFPLRA 211 199 12 1 54 212 200 12 1 53 -1/212
FP 1765 6 1759 10 894 1764 6 1758 10 895 +1/1764
FPLRA 24 24 0 0 17 n/a n/a n/a n/a n/a +24/n/a
LIA 424 162 262 0 112 n/a n/a n/a n/a n/a +424/n/a
LRA 2077 744 1333 0 362 2077 744 1333 0 362 +0/2077
NIA 214 73 141 0 43 214 73 141 0 43 +0/214
NRA 3813 3 3810 0 6 3813 3 3810 0 6 +0/3813
UF 2733 109 2624 0 4857 2737 109 2628 0 4853 -4/2737
UFBV 138 37 101 0 55 138 37 101 0 55 +0/138
UFBVDT 0 0 0 0 1 0 0 0 0 1 +0/0
UFBVDTLIA 24 0 24 0 0 24 0 24 0 0 +0/24
UFBVDTNIA 157 0 157 0 0 157 0 157 0 0 +0/157
UFBVDTNIRA 993 0 993 0 266 994 0 994 0 265 -1/994
UFBVFP 1 0 1 0 1 1 0 1 0 1 +0/1
UFBVFPDTNIRA 45 0 45 0 44 44 0 44 0 45 +1/44
UFBVLIA 2 0 2 0 206 1 0 1 0 207 +1/1
UFDT 1844 21 1823 7 2718 1845 20 1825 8 2716 -1/1845
UFDTLIA 1270 0 1270 0 313 1272 0 1272 0 311 -2/1272
UFDTLIRA 7038 1209 5829 1 710 7042 1212 5830 1 706 -4/7042
UFDTNIA 976 0 976 0 32 978 0 978 0 30 -2/978
UFDTNIRA 3984 38 3946 0 440 3983 38 3945 0 441 +1/3983
UFFPDTNIRA 619 60 559 0 176 618 59 559 0 177 +1/618
UFIDL 57 2 55 0 11 57 2 55 0 11 +0/57
UFLIA 7180 15 7165 1 2947 7173 15 7158 1 2954 +7/7173
UFLRA 12 2 10 0 3 12 2 10 0 3 +0/12
UFNIRA 109 15 94 6 151 110 15 95 6 150 -1/110

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
@NikolajBjorner

NikolajBjorner commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author
BenchmarkSolved (https)Solved (gen)DeltaTime https (s)Time gen (s)Speedup
QF_ABV1468114678-313456.913517.70.995
QF_ABVFP1751317509-421667.321808.90.994
QF_ABVFPLRA5657+1385.8383.51.006
QF_ALIA124123-11237.11255.10.986
QF_ANIA7473-11856.21865.00.995
QF_AUFBV4343+0668.2670.20.997
QF_AUFBVFP00+020.020.01.000
QF_AUFLIA13031303+0105.8115.80.913
QF_AUFNIA1717+018.319.90.917
QF_AX551551+054.446.11.182
QF_BV3980439804+0174551.0174551.81.000
QF_BVFP1712717127+07246.67286.30.995
QF_BVFPLRA109109+01930.61935.80.997
QF_DT81638160-311923.511992.30.994
QF_FP4018940189+013893.114632.10.949
QF_FPLRA3333+0783.7784.10.999
QF_IDL16041610+622626.022610.61.001
QF_LIA1125311244-955125.055395.30.995
QF_LIRA55+043.143.20.997
QF_LRA12541251-311935.611952.20.999
QF_NIA1709917064-35220730.6220842.60.999
QF_NIRA22+023.323.30.998
QF_NRA1059210592+036796.636839.10.999
QF_RDL189188-11780.51782.90.999
QF_S1837718375-264801.064856.90.999
QF_SLIA7576075740-20226751.7228165.90.994
QF_SNIA7070+02.82.61.043
QF_UF74887488+01946.42045.30.952
QF_UFBV15081495-1324871.024937.80.997
QF_UFBVDT1010+01409.21410.10.999
QF_UFDT43-14012.04011.51.000
QF_UFDTLIA4747+0748.6748.41.000
QF_UFDTLIRA146146+09.98.01.230
QF_UFDTNIA4444+0905.4913.00.992
QF_UFFP22+012.212.50.974
QF_UFFPDTNIRA148148+0199.7198.91.004
QF_UFIDL501501+03251.33314.80.981
QF_UFLIA612611-11212.51212.41.000
QF_UFLRA12511251+01033.11040.60.993
QF_UFNRA5555+0158.4158.90.997
TOTAL287808287718-909301849334110.997

@NikolajBjorner

Copy link
Copy Markdown
Contributor Author
  • check QF_UF if the 5% time regression is real.

@CanCebeci

Copy link
Copy Markdown
Collaborator

I updated the Mariposa results above with the stats for the latest commit. Reverting the cg table gave us the best performance yet!

I also ran the QF_UF benchmark with a few different seeds. Comparing two master runs to two head commit runs, the speedups are 1.01, 0.99, 0.99, 0.97.

@NikolajBjorner NikolajBjorner merged commit 3f6a57e into master Jul 8, 2026
17 of 36 checks passed
@NikolajBjorner NikolajBjorner deleted the generation branch July 8, 2026 22:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants