Benchmark

non-incremental/QF_ABV/brummayerbiere2/countbitstableoffbyone0008.smt2

Count bits pop(x) algorithm, table lookup method, buggy version
From the book "Hacker's delight" by Henry S. Warren, Jr., page 71
The algorithm precomputes pop(x) for x in range 0 to 255 and stores it
into a lookup table. However, one precomputed value has an off-by-one error.

We try to cross-check it with the obvious method of counting bits:
for (s = i = 0; i < BW; i++)
  if (x & (1 << i))
    s++;

Contributed by Robert Brummayer (robert.brummayer@gmail.com)
Benchmark
Size9715
Compressed Size1259
License Creative Commons Attribution 4.0 International (CC-BY-4.0)
Categorycrafted
First Occurrence2008-07-07
Generated By
Generated On
Generator
Dolmen OK1
strict Dolmen OK1
check-sat calls1
Query 1
Status sat
Inferred Status sat
Size 9707
Compressed Size1277
Max. Term Depth270
Asserts 1
Declared Functions0
Declared Constants2
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite17 not1 =18 let7
extract1 bvnot9 bvand8 bvadd8
bvshl8 zero_extend8 select1 store256

Evaluations

Evaluation Rating Solver Variant Result Wallclock CPU Time
SMT-COMP 2009 Boolector Boolector sat ✅
Boolector 1.2 sat ✅
CVC3 CVC3 2.0 sat ✅ 0.60000
MathSAT MathSAT 4.3 sat ✅ 320.80000
Yices2 Yices 2 proto sat ✅ 1.00000
SMT Evaluation 2013 Boolector Boolector-1.5.118-SMT-EVAL-2013 default sat ✅ 0.08832
Boolector-SMT-COMP-2011 default sat ✅ 0.05267
Boolector-SMT-COMP-2012 default sat ✅ 0.04331
CVC3 CVC3-SMT-COMP-2010 default sat ✅ 0.89554
CVC3-SMT-COMP-2011 default sat ✅ 0.84529
CVC3-SMT-COMP-2012 default sat ✅ 0.82167
CVC4 CVC4-SMT-COMP-2012-Resubmission default sat ✅ 0.99187
CVC4-SMT-EVAL-2013 default sat ✅ 1.13619
MathSAT MathSAT5-5.2.6-SMT-EVAL-2013 default sat ✅ 0.17178
MathSAT5-SMT-COMP-2011 default sat ✅ 0.50089
MathSAT5-SMT-COMP-2012 default sat ✅ 3.75060
SONOLAR SONOLAR-2013-05-15-SMT-EVAL-2013 default sat ✅ 1.38582
SONOLAR-SMT-COMP-2011 default sat ✅ 0.60299
SONOLAR-SMT-COMP-2012 default sat ✅ 0.08332
Tiffany de Wintermonte TdW-SMT-COMP-2012 default sat ✅ 0.16224
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-EVAL-2013 default sat ✅ 1.33834
Z3-SMT-COMP-2011 default sat ✅ 0.78890
SMT-COMP 2014 Boolector Boolector boolectord sat ✅ 0.09636 0.08499
Boolector boolectorj sat ✅ 0.09583 0.08499
CVC4 CVC4 f7118b2 default sat ✅ 1.26868 1.25881
Kleaver Kleaver-indie-more-typed kleaver_indie_1 sat ✅ 0.04804 0.03899
Kleaver-indie-more-typed kleaver_portfolio sat ✅ 0.05571 0.11298
MathSAT MathSAT-5.2.12-Main default sat ✅ 0.16311 0.16197
SONOLAR sonolar_smtcomp-2014 default sat ✅ 0.40124 0.38994
Yices2 Yices-2.2.1-smtcomp2014 default sat ✅ 0.01561 0.00700
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-COMP-2014 default sat ✅ 3.12307 3.11552
SMT-COMP 2015 Boolector Boolector SMT15 QF_AUFBV final boolector_qf_aufbv sat ✅ 0.58423 0.58291
CVC4 CVC4-master-2015-06-15-9b32405-main default sat ✅ 1.14862 1.14682
CVC4-experimental-2015-06-15-ff5745a-main default sat ✅ 1.00828 1.00185
MathSAT MathSat 5.3.6 main smtcomp2015_main sat ✅ 0.17290 0.17197
Yices2 Yices default sat ✅ 0.00799 0.00700
Z3 z3 4.4.0 default sat ✅ 4.44705 4.44832
SMT-COMP 2016 Boolector Boolector boolector sat ✅ 0.09344 0.09360
CVC4 CVC4-master-2016-05-27-cfef263-main default sat ✅ 1.03864 1.03957
MathSAT mathsat-5.3.11-linux-x86_64-Main default sat ✅ 0.17345 0.17438
Yices2 Yices-2.4.2 default sat ✅ 0.01097 0.00828
Z3 z3-4.4.1 default sat ✅ 1.21214 1.21395
SMT-COMP 2017 Boolector Boolector SMT17 final boolector sat ✅ 0.31498 0.31492
CVC4 CVC4-smtcomp2017-main default sat ✅ 1.14460 1.14420
MathSAT mathsat-5.4.1-linux-x86_64-Main default sat ✅ 0.17308 0.17013
Yices2 Yices2-Main default sat ✅ 0.00944 0.00905
Z3 z3-4.5.0 default sat ✅ 2.25343 2.25176
SMT-COMP 2018 0.20 (4/5) Boolector Boolector_default sat ✅ 0.20996 0.20991
CVC4 master-2018-06-10-b19c840-competition-default_default sat ✅ 1.32693 1.32713
MathSAT mathsat-5.5.2-linux-x86_64-Main_default unknown ❌ 0.17826 0.17916
Yices2 Yices 2.6.0_default sat ✅ 0.01053 0.01044
Z3 z3-4.7.1_default sat ✅ 1.11860 1.11807
SMT-COMP 2020 Bitwuzla Bitwuzla-fixed_default sat ✅ 0.16255 0.16247
Boolector Boolector-wrapped-sq_default sat ✅ 0.08945 0.08946
CVC4 CVC4-sq-final_default sat ✅ 0.10808 0.10834
MathSAT MathSAT5_default.sh sat ✅ 0.23366 0.23361
Par4 Par4-wrapped-sq_default sat ✅ 0.01787 0.00572
Yices2 Yices 2.6.2 bug fix_default sat ✅ 0.01001 0.00923
Z3 z3-4.8.8_default sat ✅ 4.37074 4.37052
SMT-COMP 2021 MathSAT mathsat-5.6.6_default sat ✅ 0.22195 0.22189
Yices2 Yices 2.6.2 bug fix_default sat ✅ 0.01089 0.00951
Yices 2.6.2 for SMTCOMP2020_default sat ✅ 0.01033 0.00966
Z3 z3-4.8.11_default sat ✅ 1.04344 1.04336
SMT-COMP 2024 Bitwuzla Bitwuzla sat ✅ 0.27273 0.17212
cvc5 cvc5 sat ✅ 0.28062 0.18035
SMTInterpol SMTInterpol sat ✅ 1141.96210 1173.44202
Yices2 Yices2 sat ✅ 0.24683 0.14709