Benchmark

non-incremental/QF_BV/20230224-grsbits-truby/grs-32-32.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
Size48338
Compressed Size5479
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 48330
Compressed Size5490
Max. Term Depth7
Asserts 309
Declared Functions0
Declared Constants326
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite200 not2 or16 and342
xor4 =1046 distinct1 concat18
extract120 bvadd12 bvsub76 bvuge24
bvshl68 bvlshr6

Evaluations

Evaluation Rating Solver Variant Result Wallclock CPU Time
SMT-COMP 2024 0.17 (5/6) Bitwuzla Bitwuzla unsat ✅ 33.18959 33.07506
cvc5 cvc5 unsat ✅ 100.61247 100.51127
SMTInterpol SMTInterpol unknown ❌ 1201.72050 1264.56029
STP STP unsat ✅ 23.19397 23.09317
Yices2 Yices2 unsat ✅ 16.43179 16.33159
Z3alpha Z3-alpha unsat ✅ 899.42155 899.17336
SMT-COMP 2025 0.11 (8/9) Bitwuzla Bitwuzla unsat ✅ 30.40781 30.28410
Bitwuzla-MachBV-base unsat ✅ 31.36762 31.23216
Bitwuzla-MachBV Bitwuzla-MachBV unsat ✅ 26.98851 26.85302
BVDecide bv_decide unsat ✅ 110.77783 110.66520
bv_decide-nokernel unsat ✅ 97.75811 97.62530
cvc5 cvc5 unsat ✅ 70.85102 70.71994
SMTInterpol SMTInterpol unknown ❌ 1201.48126 1284.95413
Yices2 Yices2 unsat ✅ 10.20338 10.07078
Z3alpha Z3-alpha unsat ✅ 186.92072 745.41009
Z3 Z3-alpha-base unsat ✅ 87.57444 87.44825
Z3-Owl-base unsat ✅ 388.67034 388.49957
z3siri-base unsat ✅ 90.02666 89.87844
Z3-Owl Z3-Owl unsat ✅ 48.07738 47.93055