Benchmark

non-incremental/QF_BV/20230224-grsbits-truby/grs-96-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
Size34222
Compressed Size4681
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 34214
Compressed Size4691
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 ✅ 20.99046 20.88307
cvc5 cvc5 unsat ✅ 69.33644 69.21185
SMTInterpol SMTInterpol unknown ❌ 1201.74231 1272.10884
STP STP unsat ✅ 20.46443 20.36347
Yices2 Yices2 unsat ✅ 11.39016 11.28552
Z3alpha Z3-alpha unsat ✅ 558.68477 558.55869