Benchmark

non-incremental/QF_NIA/20230328-sqrtmodinv-hoenicke/modInvStep.smt2

This checks the validity of a line in computing the inverse of
denominator mod 2^256.  The code is:

  assume s > 1 && (denominator * inv1) mod s = 1
  inv2 = inv1 * (2 - denominator * inv1)
  assert (* denominator * inv2) mod (s * s) = 1

See mulInvStepSimplified.smt2 for the reason why this benchmark is unsat.
Benchmark
Size960
Compressed Size496
License Creative Commons Attribution 4.0 International (CC-BY-4.0)
Categorycrafted
First Occurrence2023-07-06
Generated ByJochen Hoenicke
Generated On2023-01-19 00:00:00
GeneratorHandwritten
Dolmen OK1
strict Dolmen OK1
check-sat calls1
Query 1
Status unsat
Inferred Status None
Size 953
Compressed Size490
Max. Term Depth4
Asserts 4
Declared Functions0
Declared Constants5
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

not1 =3 mod2 -1
*5 >1

Evaluations

Evaluation Rating Solver Variant Result Wallclock CPU Time
SMT-COMP 2025 1.00 (0/5) cvc5 cvc5 unknown ❌ 1201.78892 1201.06024
SMTInterpol SMTInterpol unknown ❌ 0.41749 0.39781
Yices2 Yices2 unknown ❌ 1201.32697 1201.02704
Z3alpha Z3-alpha unknown ❌ 1201.75884 3602.09790
Z3 Z3-alpha-base unknown ❌ 1201.25502 1201.06040
z3siri-base unknown ❌ 1201.26826 1201.06436