Benchmark

non-incremental/QF_ABV/brummayerbiere2/countbitstable008.smt2

Count bits pop(x) algorithm, table lookup method
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.

We 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
Size9639
Compressed Size1210
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 unsat
Inferred Status unsat
Size 9631
Compressed Size1230
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 Evaluation 2013 Boolector Boolector-1.5.118-SMT-EVAL-2013 default unsat ✅ 0.09315
Boolector-SMT-COMP-2011 default unsat ✅ 0.90629
Boolector-SMT-COMP-2012 default unsat ✅ 0.10020
CVC3 CVC3-SMT-COMP-2010 default unsat ✅ 1.69974
CVC3-SMT-COMP-2011 default unsat ✅ 1.57783
CVC3-SMT-COMP-2012 default unsat ✅ 1.56281
CVC4 CVC4-SMT-COMP-2012-Resubmission default unsat ✅ 0.79386
CVC4-SMT-EVAL-2013 default unsat ✅ 0.95785
MathSAT MathSAT5-5.2.6-SMT-EVAL-2013 default unsat ✅ 0.22110
MathSAT5-SMT-COMP-2011 default unsat ✅ 1.22402
MathSAT5-SMT-COMP-2012 default unsat ✅ 4.34221
SONOLAR SONOLAR-2013-05-15-SMT-EVAL-2013 default unsat ✅ 1.26250
SONOLAR-SMT-COMP-2011 default unsat ✅ 1.12909
SONOLAR-SMT-COMP-2012 default unsat ✅ 1.23743
Tiffany de Wintermonte TdW-SMT-COMP-2012 default unsat ✅ 0.19817
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-EVAL-2013 default unsat ✅ 8.14888
Z3-SMT-COMP-2011 default unsat ✅ 17.39340
SMT-COMP 2014 Boolector Boolector boolectord unsat ✅ 0.09870 0.08799
Boolector boolectorj unsat ✅ 0.09875 0.08799
CVC4 CVC4 f7118b2 default unsat ✅ 1.27696 1.26681
Kleaver Kleaver-indie-more-typed kleaver_indie_1 unsat ✅ 0.07355 0.06499
Kleaver-indie-more-typed kleaver_portfolio unsat ✅ 0.08256 0.19397
MathSAT MathSAT-5.2.12-Main default unsat ✅ 0.22233 0.21397
SONOLAR sonolar_smtcomp-2014 default unsat ✅ 1.53747 1.52577
Yices2 Yices-2.2.1-smtcomp2014 default unsat ✅ 0.11302 0.10398
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-COMP-2014 default unsat ✅ 7.02995 7.02693
SMT-COMP 2015 Boolector Boolector SMT15 QF_AUFBV final boolector_qf_aufbv unsat ✅ 0.11202 0.11098
CVC4 CVC4-master-2015-06-15-9b32405-main default unsat ✅ 1.17099 1.16982
CVC4-experimental-2015-06-15-ff5745a-main default unsat ✅ 1.06275 1.06084
MathSAT MathSat 5.3.6 main smtcomp2015_main unsat ✅ 0.22730 0.22596
Yices2 Yices default unsat ✅ 0.10455 0.10398
Z3 z3 4.4.0 default unsat ✅ 7.50510 7.50786
SMT-COMP 2016 Boolector Boolector boolector unsat ✅ 0.08779 0.08778
CVC4 CVC4-master-2016-05-27-cfef263-main default unsat ✅ 1.07165 1.07246
MathSAT mathsat-5.3.11-linux-x86_64-Main default unsat ✅ 0.22241 0.22346
Yices2 Yices-2.4.2 default unsat ✅ 0.10506 0.10509
Z3 z3-4.4.1 default unsat ✅ 8.40411 8.41012
SMT-COMP 2017 Boolector Boolector SMT17 final boolector unsat ✅ 0.42079 0.42079
CVC4 CVC4-smtcomp2017-main default unsat ✅ 1.34678 1.34316
MathSAT mathsat-5.4.1-linux-x86_64-Main default unsat ✅ 0.22238 0.22278
Yices2 Yices2-Main default unsat ✅ 0.10388 0.10273
Z3 z3-4.5.0 default unsat ✅ 1.92557 1.92231
SMT-COMP 2018 0.20 (4/5) Boolector Boolector_default unsat ✅ 0.38879 0.38871
CVC4 master-2018-06-10-b19c840-competition-default_default unsat ✅ 1.37105 1.37111
MathSAT mathsat-5.5.2-linux-x86_64-Main_default unknown ❌ 0.23135 0.23224
Yices2 Yices 2.6.0_default unsat ✅ 0.10139 0.10135
Z3 z3-4.7.1_default unsat ✅ 1.70004 1.69982
SMT-COMP 2019 Boolector Boolector-wrapped-sq_default unsat ✅ 0.19889 0.19887
Poolector-wrapped-sq_default unsat ✅ 0.30854 0.46026
CVC4 CVC4-2019-06-03-d350fe1-wrapped-sq_default unsat ✅ 1.39048 1.39092
Par4 Par4-wrapped-sq_default unsat ✅ 0.10844 0.00586
Yices2 Yices 2.6.2-wrapped-sq_default unsat ✅ 0.10048 0.10048
Z3 z3-4.8.4-d6df51951f4c-wrapped-sq_default unsat ✅ 1.26633 1.26617
SMT-COMP 2020 Bitwuzla Bitwuzla-fixed_default unsat ✅ 0.19484 0.19475
Boolector Boolector-wrapped-sq_default unsat ✅ 0.19932 0.19933
CVC4 CVC4-sq-final_default unsat ✅ 1.25860 1.25870
MathSAT MathSAT5_default.sh unsat ✅ 0.24763 0.24761
Par4 Par4-wrapped-sq_default unsat ✅ 0.11078 0.00596
Yices2 Yices 2.6.2 bug fix_default unsat ✅ 0.10205 0.10198
Z3 z3-4.8.8_default unsat ✅ 18.19020 18.18940
SMT-COMP 2023 Bitwuzla Bitwuzla-fixed_default unsat ✅ 2.54759 2.54739
cvc5 cvc5-default-2023-05-16-ea045f305_sq unsat ✅ 18.34860 18.34810
UltimateEliminator UltimateIntBlastingWrapper+SMTInterpol_default unsat ✅ 18.54110 45.48160
Yices2 Yices 2 for SMTCOMP 2023_default unsat ✅ 0.10127 0.10119
Z3-Owl z3-Owl-Final_default sat ✅ 0.71199 0.71184
z3-Owl-Final_default unsat ✅ 17.39910 17.40080
SMT-COMP 2025 Bitwuzla Bitwuzla unsat ✅ 0.94047 0.81946
cvc5 cvc5 unsat ✅ 4.03156 3.91522
SMTInterpol SMTInterpol unsat ✅ 973.33097 1008.97512
Yices2 Yices2 unsat ✅ 0.35009 0.21547
Z3 Z3-Owl-base unsat ✅ 81.47331 81.33399
Z3-Owl Z3-Owl unsat ✅ 10.45714 10.33492