Benchmark

non-incremental/QF_ABV/brummayerbiere2/countbitstable064.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
Size20313
Compressed Size1721
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 20305
Compressed Size1759
Max. Term Depth260
Asserts 1
Declared Functions0
Declared Constants2
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite129 not1 =130 let69
concat8 extract8 bvnot65 bvand64
bvadd71 bvshl64 bvlshr7 zero_extend64
select8 store256

Evaluations

Evaluation Rating Solver Variant Result Wallclock CPU Time
SMT-COMP 2012 0.25 (3/4) Boolector Boolector unsat ✅ 158.10000
Boolector 1.5.23-833 unsat ✅ 239.20000
CVC3 CVC3 v2.4.2 unknown ❌
CVC4 1.0rc.3931 unknown ❌ 1200.00000
CVC4 1.0rc.3970 unknown ❌ 1200.00000
SONOLAR SONOLAR unsat ✅ 1074.30000
Tiffany de Wintermonte Tiffany de Wintermonte & Sonolar unsat ✅ 17.00000
SMT Evaluation 2013 0.86 (1/7) Boolector Boolector-1.5.118-SMT-EVAL-2013 default unknown ❌
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 unsat ✅ 359.91100
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 0.29 (5/7) Boolector Boolector boolectord unsat ✅ 276.30600 276.39900
Boolector boolectorj unsat ✅ 120.50100 120.50800
CVC4 CVC4 f7118b2 default unknown ❌ 2399.22000 2400.03000
Kleaver Kleaver-indie-more-typed kleaver_indie_1 unsat ✅ 208.92400 208.99300
Kleaver-indie-more-typed kleaver_portfolio unsat ✅ 47.12290 141.31800
MathSAT MathSAT-5.2.12-Main default unsat ✅ 2156.69000 2157.50000
SONOLAR sonolar_smtcomp-2014 default unsat ✅ 394.73500 394.85500
Yices2 Yices-2.2.1-smtcomp2014 default unsat ✅ 1053.48000 1053.87000
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-COMP-2014 default unknown ❌ 2399.02000 2400.09000
SMT-COMP 2015 0.40 (3/5) Boolector Boolector SMT15 QF_AUFBV final boolector_qf_aufbv unsat ✅ 44.89570 44.90520
CVC4 CVC4-master-2015-06-15-9b32405-main default unknown ❌ 2400.01000 2400.63000
CVC4-experimental-2015-06-15-ff5745a-main default unknown ❌ 2400.01000 2400.74000
MathSAT MathSat 5.3.6 main smtcomp2015_main unsat ✅ 2370.89000 2371.78000
Yices2 Yices default unsat ✅ 774.74200 775.09700
Z3 z3 4.4.0 default unknown ❌ 2400.01000 2401.02000
SMT-COMP 2016 0.60 (2/5) Boolector Boolector boolector unsat ✅ 38.72470 38.74730
CVC4 CVC4-master-2016-05-27-cfef263-main default unknown ❌ 2400.02000 2395.35000
MathSAT mathsat-5.3.11-linux-x86_64-Main default unknown ❌ 2400.03000 2401.24000
Yices2 Yices-2.4.2 default unsat ✅ 306.63200 306.83100
Z3 z3-4.4.1 default unknown ❌ 2400.01000 2401.23000
SMT-COMP 2017 0.60 (2/5) Boolector Boolector SMT17 final boolector unsat ✅ 36.21590 36.21190
CVC4 CVC4-smtcomp2017-main default unknown ❌ 600.01400 592.85000
MathSAT mathsat-5.4.1-linux-x86_64-Main default unknown ❌ 600.04200 599.98000
Yices2 Yices2-Main default unsat ✅ 160.99600 160.98100
Z3 z3-4.5.0 default unknown ❌ 600.01800 599.98600
SMT-COMP 2018 0.60 (2/5) Boolector Boolector_default unsat ✅ 24.36990 24.36840
CVC4 master-2018-06-10-b19c840-competition-default_default unknown ❌ 1200.02000 1195.55000
MathSAT mathsat-5.5.2-linux-x86_64-Main_default unknown ❌ 1200.04000 1199.86000
Yices2 Yices 2.6.0_default unsat ✅ 326.76400 326.76300
Z3 z3-4.7.1_default unknown ❌ 1200.10000 1199.91000
SMT-COMP 2019 0.40 (3/5) Boolector Boolector-wrapped-sq_default unsat ✅ 20.06150 20.06010
Poolector-wrapped-sq_default unsat ✅ 24.72650 97.56680
CVC4 CVC4-2019-06-03-d350fe1-wrapped-sq_default unknown ❌ 2400.04000 2394.30000
Par4 Par4-wrapped-sq_default unsat ✅ 31.40220 94.05000
Yices2 Yices 2.6.2-wrapped-sq_default unsat ✅ 1176.54000 1176.43000
Z3 z3-4.8.4-d6df51951f4c-wrapped-sq_default unknown ❌ 2400.01000 2399.78000
SMT-COMP 2020 0.43 (4/7) Bitwuzla Bitwuzla-fixed_default unsat ✅ 172.61400 172.58000
Boolector Boolector-wrapped-sq_default unsat ✅ 182.89700 182.90200
CVC4 CVC4-sq-final_default unknown ❌ 1200.03000 1196.21000
MathSAT MathSAT5_default.sh unknown ❌ 1200.03000 1199.88000
Par4 Par4-wrapped-sq_default unsat ✅ 31.48370 94.11000
Yices2 Yices 2.6.2 bug fix_default unsat ✅ 1148.82000 1148.64000
Z3 z3-4.8.8_default unknown ❌ 1200.11000 1200.05000
SMT-COMP 2024 0.50 (2/4) Bitwuzla Bitwuzla unsat ✅ 106.51589 106.39456
cvc5 cvc5 unknown ❌ 1201.71779 1201.09478
SMTInterpol SMTInterpol unknown ❌ 1201.74444 1283.34336
Yices2 Yices2 unsat ✅ 201.05686 200.94471
SMT-COMP 2025 0.83 (1/6) Bitwuzla Bitwuzla unsat ✅ 79.63737 79.47025
cvc5 cvc5 unknown ❌ 1201.75226 1200.90015
SMTInterpol SMTInterpol unknown ❌ 1201.49042 1248.79158
Yices2 Yices2 unknown ❌ 1201.27834 1201.01868
Z3 Z3-Owl-base unknown ❌ 1201.25000 1200.99815
Z3-Owl Z3-Owl unknown ❌ 1201.76038 1200.99774