Benchmark

non-incremental/QF_BV/20230224-grsbits-truby/grs-32-16.smt2

Publications: Upcoming bachelor thesis, tentatively called _Generating word-level floating-point benchmarks_ by Robin Trüby

Verification of integer multiplication is known to be a hard problem when working on bits.
In this work we consider the multiplication of doubles/floating point/bfloat8/...
as implemented in hardware. The idea is to use only three extra bits (calles GRS) and
their value decide how rounding is done. We simply check that a+b = b+a.


We use a word-level representation of the number, i.e., we represent the exponent
and mantissa as bitvectors instead of bit-level.

The naming convention of the benchmarks is 'grs-<exponent-size>-<mantissa-size>.smt2'.
For reference, a float64 would be grs-11-52.smt2.
Benchmark
Size33300
Compressed Size4625
License Creative Commons Attribution 4.0 International (CC-BY-4.0)
Categoryindustrial
First Occurrence2023-07-06
Generated ByRobin Trüby, Mathias Fleury, and Armin Biere
Generated On2023-02-24 00:00:00
Generatorcustom C code
Dolmen OK1
strict Dolmen OK1
check-sat calls1
Query 1
Status unsat
Inferred Status unsat
Size 33292
Compressed Size4639
Max. Term Depth7
Asserts 213
Declared Functions0
Declared Constants230
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite136 not2 or16 and214
xor4 =694 distinct1 concat16
extract90 bvadd12 bvsub44 bvuge24
bvshl36 bvlshr6

Evaluations

Evaluation Rating Solver Variant Result Wallclock CPU Time
SMT-COMP 2024 0.17 (5/6) Bitwuzla Bitwuzla unsat ✅ 7.98391 7.87572
cvc5 cvc5 unsat ✅ 24.68857 24.58739
SMTInterpol SMTInterpol unknown ❌ 1201.72080 1264.09733
STP STP unsat ✅ 6.56504 6.45937
Yices2 Yices2 unsat ✅ 3.29431 3.19274
Z3alpha Z3-alpha unsat ✅ 282.89482 282.70486
SMT-COMP 2025 0.11 (8/9) Bitwuzla Bitwuzla unsat ✅ 7.20651 7.08549
Bitwuzla-MachBV-base unsat ✅ 6.50660 6.39065
Bitwuzla-MachBV Bitwuzla-MachBV unsat ✅ 7.43154 7.30157
BVDecide bv_decide unsat ✅ 33.99533 33.83535
bv_decide-nokernel unsat ✅ 28.75634 28.59422
cvc5 cvc5 unsat ✅ 19.82398 19.70525
SMTInterpol SMTInterpol unknown ❌ 1201.49352 1265.26658
Yices2 Yices2 unsat ✅ 3.69409 3.57612
Z3alpha Z3-alpha unsat ✅ 38.27506 151.73855
Z3 Z3-alpha-base unsat ✅ 18.30932 18.18129
Z3-Owl-base unsat ✅ 86.03018 85.87805
z3siri-base unsat ✅ 18.75827 18.63931
Z3-Owl Z3-Owl unsat ✅ 12.73862 12.60697