Benchmark

non-incremental/QF_BV/20230224-grsbits-truby/grs-128-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
Size34774
Compressed Size4742
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 34766
Compressed Size4755
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 ✅ 30.65069 30.53589
cvc5 cvc5 unsat ✅ 73.51219 73.39718
SMTInterpol SMTInterpol unknown ❌ 1201.78134 1259.89147
STP STP unsat ✅ 39.18673 39.07743
Yices2 Yices2 unsat ✅ 20.05056 19.94886
Z3alpha Z3-alpha unsat ✅ 1050.99165 1050.50350
SMT-COMP 2025 Bitwuzla Bitwuzla unsat ✅ 25.81810 25.68608
Bitwuzla-MachBV-base unsat ✅ 24.21910 24.08951
Bitwuzla-MachBV Bitwuzla-MachBV unsat ✅ 30.99377 30.86598
BVDecide bv_decide unsat ✅ 170.50269 170.38717
bv_decide-nokernel unsat ✅ 151.94612 151.82494
cvc5 cvc5 unsat ✅ 49.95916 49.83636
SMTInterpol SMTInterpol unsat ✅ 690.07964 749.21260
Yices2 Yices2 unsat ✅ 8.32361 8.20314
Z3alpha Z3-alpha unsat ✅ 227.20515 907.22155
Z3 Z3-alpha-base unsat ✅ 161.96871 161.81571
Z3-Owl-base unsat ✅ 759.30386 759.04433
z3siri-base unsat ✅ 165.16841 165.00811
Z3-Owl Z3-Owl unsat ✅ 52.70360 52.56697