Benchmark

non-incremental/QF_ABV/brummayerbiere2/countbitstableuninit0016.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 is uninitialized.

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
Size11242
Compressed Size1478
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 11234
Compressed Size1459
Max. Term Depth259
Asserts 1
Declared Functions0
Declared Constants2
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite33 not1 =34 let15
concat2 extract2 bvnot17 bvand16
bvadd17 bvshl16 bvlshr1 zero_extend16
select2 store255

Evaluations

Evaluation Rating Solver Variant Result Wallclock CPU Time
SMT-COMP 2009 Boolector Boolector sat ✅ 0.20000
Boolector 1.2 sat ✅ 0.40000
CVC3 CVC3 2.0 sat ✅ 2.40000
MathSAT MathSAT 4.3 sat ✅ 328.60000
Yices2 Yices 2 proto sat ✅ 0.70000
SMT Evaluation 2013 0.86 (1/7) Boolector Boolector-1.5.118-SMT-EVAL-2013 default sat ✅ 0.01535
Boolector-SMT-COMP-2011 default unknown ❌
Boolector-SMT-COMP-2012 default unknown ❌
CVC3 CVC3-SMT-COMP-2010 default unknown ❌
CVC3-SMT-COMP-2011 default unknown ❌
CVC3-SMT-COMP-2012 default unknown ❌
CVC4 CVC4-SMT-COMP-2012-Resubmission default unknown ❌
CVC4-SMT-EVAL-2013 default unknown ❌
MathSAT MathSAT5-5.2.6-SMT-EVAL-2013 default unknown ❌
MathSAT5-SMT-COMP-2011 default unknown ❌
MathSAT5-SMT-COMP-2012 default unknown ❌
SONOLAR SONOLAR-2013-05-15-SMT-EVAL-2013 default unknown ❌
SONOLAR-SMT-COMP-2011 default unknown ❌
SONOLAR-SMT-COMP-2012 default unknown ❌
Tiffany de Wintermonte TdW-SMT-COMP-2012 default unknown ❌
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-EVAL-2013 default unknown ❌
Z3-SMT-COMP-2011 default unknown ❌
SMT-COMP 2014 Boolector Boolector boolectord sat ✅ 0.05961 0.05199
Boolector boolectorj sat ✅ 0.05281 0.04199
CVC4 CVC4 f7118b2 default sat ✅ 14.36770 14.36280
Kleaver Kleaver-indie-more-typed kleaver_indie_1 sat ✅ 0.07822 0.07699
Kleaver-indie-more-typed kleaver_portfolio sat ✅ 0.11433 0.27796
MathSAT MathSAT-5.2.12-Main default sat ✅ 0.44876 0.43993
SONOLAR sonolar_smtcomp-2014 default sat ✅ 0.36263 0.35095
Yices2 Yices-2.2.1-smtcomp2014 default sat ✅ 0.18610 0.17797
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-COMP-2014 default sat ✅ 6.70158 6.69598
SMT-COMP 2015 Boolector Boolector SMT15 QF_AUFBV final boolector_qf_aufbv sat ✅ 0.17357 0.17297
CVC4 CVC4-master-2015-06-15-9b32405-main default sat ✅ 113.63300 113.67700
CVC4-experimental-2015-06-15-ff5745a-main default sat ✅ 0.69422 0.69189
MathSAT MathSat 5.3.6 main smtcomp2015_main sat ✅ 0.46073 0.45993
Yices2 Yices default sat ✅ 0.19023 0.18897
Z3 z3 4.4.0 default sat ✅ 0.04714 0.04699
SMT-COMP 2016 Boolector Boolector boolector sat ✅ 0.12023 0.12070
CVC4 CVC4-master-2016-05-27-cfef263-main default sat ✅ 0.67474 0.67533
MathSAT mathsat-5.3.11-linux-x86_64-Main default sat ✅ 0.43285 0.43469
Yices2 Yices-2.4.2 default sat ✅ 0.17916 0.17921
Z3 z3-4.4.1 default sat ✅ 9.56892 9.57568
SMT-COMP 2017 Boolector Boolector SMT17 final boolector sat ✅ 0.39276 0.39045
CVC4 CVC4-smtcomp2017-main default sat ✅ 0.58937 0.58892
MathSAT mathsat-5.4.1-linux-x86_64-Main default sat ✅ 0.43622 0.43685
Yices2 Yices2-Main default sat ✅ 0.18184 0.17385
Z3 z3-4.5.0 default sat ✅ 0.05686 0.05476
SMT-COMP 2018 0.20 (4/5) Boolector Boolector_default sat ✅ 0.26403 0.26397
CVC4 master-2018-06-10-b19c840-competition-default_default sat ✅ 0.41312 0.41332
MathSAT mathsat-5.5.2-linux-x86_64-Main_default unknown ❌ 0.45587 0.45682
Yices2 Yices 2.6.0_default sat ✅ 0.18038 0.18033
Z3 z3-4.7.1_default sat ✅ 0.05942 0.05936
SMT-COMP 2019 Boolector Boolector-wrapped-sq_default sat ✅ 0.16692 0.16695
Poolector-wrapped-sq_default sat ✅ 0.27668 0.43084
CVC4 CVC4-2019-06-03-d350fe1-wrapped-sq_default sat ✅ 0.42758 0.42794
Par4 Par4-wrapped-sq_default sat ✅ 0.17683 0.00604
Yices2 Yices 2.6.2-wrapped-sq_default sat ✅ 0.16471 0.16473
Z3 z3-4.8.4-d6df51951f4c-wrapped-sq_default sat ✅ 0.05844 0.05843
SMT-COMP 2025 Bitwuzla Bitwuzla sat ✅ 1.14944 1.03105
cvc5 cvc5 sat ✅ 29.62712 29.50374
SMTInterpol SMTInterpol sat ✅ 814.14736 846.99790
Yices2 Yices2 sat ✅ 0.37728 0.25389
Z3 Z3-Owl-base sat ✅ 241.49815 241.33493
Z3-Owl Z3-Owl sat ✅ 7.64494 7.52034