Benchmark

non-incremental/QF_NIA/20230328-sqrtmodinv-hoenicke/modInvFull.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)
  inv = inv * (2 - denominator * inv)
  assert (denominator * inv) mod 2^256 = 1
Benchmark
Size1619
Compressed Size598
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 1611
Compressed Size597
Max. Term Depth4
Asserts 10
Declared Functions0
Declared Constants9
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

not1 =10 div1 mod3
+2 -6 *15

Evaluations

Evaluation Rating Solver Variant Result Wallclock CPU Time
SMT-COMP 2023 1.00 (0/5) cvc5 cvc5-default-2023-05-16-ea045f305_sq unknown ❌ 1200.10000 1195.62000
Yices2 Yices 2 for SMTCOMP 2023_default unknown ❌ 1200.01000 1199.76000
Yices-ismt yices-ismt-sq-0526_default unknown ❌ 1200.02000 1199.94000
Z3alpha z3alpha_default unknown ❌ 1200.04000 1199.84000
Z3++ z3++0715_default unknown ❌ 203.03300 203.00800
Z3++_sq_0526_default unknown ❌ 1200.08000 1199.95000
SMT-COMP 2025 1.00 (0/5) cvc5 cvc5 unknown ❌ 1201.75189 1201.00180
SMTInterpol SMTInterpol unknown ❌ 0.47232 0.45994
Yices2 Yices2 unknown ❌ 1201.29548 1200.87879
Z3alpha Z3-alpha unknown ❌ 528.97858 710.30935
Z3 Z3-alpha-base unknown ❌ 1201.35367 1201.10519
z3siri-base unknown ❌ 1201.25081 1201.05631