Benchmark
non-incremental/QF_NIA/20230328-sqrtmodinv-hoenicke/modInv64.smt2
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)
assert (denominator * inv) mod 2^128 = 1
| Benchmark |
| Size | 1365 |
| Compressed Size | 536 |
| 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 | Handwritten |
| Dolmen OK | 1 |
| strict Dolmen OK | 1 |
| check-sat calls | 1 |
| Status | unsat |
| Inferred Status | None |
| Size | 1357 |
| Compressed Size | 532 |
| Max. Term Depth | 4 |
| Asserts | 8 |
| Declared Functions | 0 |
| Declared Constants | 7 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
not | 1 |
= | 8 |
div | 1 |
mod | 3 |
+ | 2 |
- | 4 |
* | 11 |
| |
Evaluations
| Evaluation |
Rating |
Solver |
Variant |
Result |
Wallclock |
CPU Time |
|
SMT-COMP 2025
|
1.00 (0/5) |
cvc5 |
cvc5 |
unknown ❌
|
1201.77532
|
1201.03284
|
| |
SMTInterpol |
SMTInterpol |
unknown ❌
|
0.46411
|
0.44336
|
| |
Yices2 |
Yices2 |
unknown ❌
|
1201.27446
|
1201.04087
|
| |
Z3alpha |
Z3-alpha |
unknown ❌
|
1201.78908
|
3602.15491
|
| |
Z3 |
Z3-alpha-base |
unknown ❌
|
1201.31169
|
1201.07654
|
| |
|
z3siri-base |
unknown ❌
|
1201.26327
|
1201.00553
|