Benchmark
non-incremental/QF_NIA/20230328-sqrtmodinv-hoenicke/modInv16.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 | 1192 |
| Compressed Size | 497 |
| 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 | 1184 |
| Compressed Size | 498 |
| Max. Term Depth | 4 |
| Asserts | 6 |
| Declared Functions | 0 |
| Declared Constants | 5 |
| Declared Sorts | 0 |
| Defined Functions | 0 |
| Defined Recursive Functions | 0 |
| Defined Sorts | 0 |
| Constants | 0 |
| Declared Datatypes | 0 |
Symbols
not | 1 |
= | 6 |
div | 1 |
mod | 3 |
+ | 2 |
- | 2 |
* | 7 |
| |
Evaluations
| Evaluation |
Rating |
Solver |
Variant |
Result |
Wallclock |
CPU Time |
|
SMT-COMP 2025
|
1.00 (0/5) |
cvc5 |
cvc5 |
unknown ❌
|
1201.74767
|
1200.94989
|
| |
SMTInterpol |
SMTInterpol |
unknown ❌
|
0.41362
|
0.39923
|
| |
Yices2 |
Yices2 |
unknown ❌
|
1201.29612
|
1201.06964
|
| |
Z3alpha |
Z3-alpha |
unknown ❌
|
1201.75291
|
3602.14462
|
| |
Z3 |
Z3-alpha-base |
unknown ❌
|
1201.26572
|
1201.05442
|
| |
|
z3siri-base |
unknown ❌
|
1201.29927
|
1200.89808
|