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
Size11116
Compressed Size1253
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
Generator
Dolmen OK1
strict Dolmen OK1
check-sat calls1
Query 1
Status sat
Inferred Status sat
Size 11108
Compressed Size1255
Max. Term Depth7
Asserts 83
Declared Functions1
Declared Constants9
Declared Sorts 0
Defined Functions4
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

Bool3 ite3 not1 or2
and7 =>3 =15 Real1
/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