Benchmark

non-incremental/QF_BV/20230224-grsbits-truby/grs-64-96.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
Size109474
Compressed Size8590
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 109466
Compressed Size8597
Max. Term Depth7
Asserts 693
Declared Functions0
Declared Constants710
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite456 not2 or16 and854
xor4 =2454 distinct1 concat18
extract248 bvadd12 bvsub204 bvuge24
bvshl196 bvlshr6

Evaluations

Evaluation Rating Solver Variant Result Wallclock CPU Time
SMT-COMP 2023 0.50 (3/6) Bitwuzla Bitwuzla-fixed_default unsat ✅ 482.85300 482.81800
cvc5 cvc5-default-2023-05-16-ea045f305_sq unknown ❌ 1200.02000 1199.83000
STP STP 2022.4_default unsat ✅ 481.68700 481.60700
STP 2022.4_default unsat ✅ 521.44700 521.46800
UltimateEliminator UltimateIntBlastingWrapper+SMTInterpol_default unknown ❌ 5.53007 15.66790
Yices2 Yices 2 for SMTCOMP 2023_default unknown ❌ 1200.02000 1199.89000
Z3-Owl z3-Owl-Final_default unknown ❌ 1200.02000 1199.87000
z3-Owl-Final_default unsat ✅ 1190.80000 1190.64000
SMT-COMP 2025 0.67 (3/9) Bitwuzla Bitwuzla unsat ✅ 402.20811 402.05164
Bitwuzla-MachBV-base unsat ✅ 460.25232 460.08164
Bitwuzla-MachBV Bitwuzla-MachBV unsat ✅ 381.46925 381.30530
BVDecide bv_decide unknown ❌ 1202.59001 1202.66104
bv_decide-nokernel unknown ❌ 1202.61305 1202.63247
cvc5 cvc5 unknown ❌ 1201.76082 1201.04747
SMTInterpol SMTInterpol unknown ❌ 1201.49338 1256.91366
Yices2 Yices2 unsat ✅ 357.89039 357.73256
Z3alpha Z3-alpha unknown ❌ 1201.00563 4801.15093
Z3 Z3-alpha-base unknown ❌ 1201.29915 1201.00409
Z3-Owl-base unknown ❌ 1201.26725 1200.91616
z3siri-base unknown ❌ 1201.29217 1200.98466
Z3-Owl Z3-Owl unknown ❌ 1201.75317 1201.06266