Benchmark
non-incremental/QF_UFNRA/20230328-sqrtmodinv-hoenicke/modInvFull.smt2
This is a relaxed variant of the benchmark in QF_NIA.
This checks the validity of some code to compute the modular inverse
of an odd denominator mod 2^256. The code is:
assume (denominator mod 2) == 1
inv = (3 * denominator) xor 2
inv = inv * (2 - denominator * inv)
inv = inv * (2 - denominator * inv)
inv = inv * (2 - denominator * inv)
inv = inv * (2 - denominator * inv)
inv = inv * (2 - denominator * inv)
inv = inv * (2 - denominator * inv)
assert (denominator * inv) mod 2^256 = 1
| Benchmark |
| Size | 11116 |
| Compressed Size | 1253 |
| License |
Creative Commons Attribution 4.0 International
(CC-BY-4.0)
|
| Category | crafted |
| First Occurrence | 2023-07-06 |
| Generated By | Jochen Hoenicke |
| Generated On | 2023-01-19 00:00:00 |
| Generator | — |
| Dolmen OK | 1 |
| strict Dolmen OK | 1 |
| check-sat calls | 1 |
| Status | sat |
| Inferred Status | sat |
| Size | 11108 |
| Compressed Size | 1255 |
| Max. Term Depth | 7 |
| Asserts | 83 |
| Declared Functions | 1 |
| Declared Constants | 9 |
| Declared Sorts | 0 |
| Defined Functions | 4 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
Bool | 3 |
ite | 3 |
not | 1 |
or | 2 |
and | 7 |
=> | 3 |
= | 15 |
Real | 1 |
/ | 7 |
+ | 36 |
- | 41 |
* | 72 |
< | 4 |
<= | 3 |
> | 2 |
>= | 5 |
Evaluations
| Evaluation |
Rating |
Solver |
Variant |
Result |
Wallclock |
CPU Time |
|
SMT-COMP 2023
|
0.50 (2/4) |
CVC4 |
CVC4-sq-final_default |
unknown ❌
|
1200.10000
|
1199.95000
|
| |
cvc5 |
cvc5-default-2023-05-16-ea045f305_sq |
sat ✅
|
3.81580
|
3.81409
|
| |
SMTInterpol |
smtinterpol-2.5-1272-g2d6d356c_default |
unknown ❌
|
0.37401
|
0.53254
|
| |
Yices2 |
Yices 2 for SMTCOMP 2023_default |
sat ✅
|
0.01639
|
0.01637
|
|
SMT-COMP 2024
|
0.33 (2/3) |
cvc5 |
cvc5 |
sat ✅
|
1.05450
|
0.95476
|
| |
SMTInterpol |
SMTInterpol |
unknown ❌
|
0.64222
|
1.19743
|
| |
Yices2 |
Yices2 |
sat ✅
|
0.22026
|
0.12046
|
|
SMT-COMP 2025
|
0.33 (2/3) |
cvc5 |
cvc5 |
sat ✅
|
9.10250
|
8.97729
|
| |
SMTInterpol |
SMTInterpol |
unknown ❌
|
0.61928
|
1.00894
|
| |
Yices2 |
Yices2 |
sat ✅
|
0.29658
|
0.16796
|