Benchmark

non-incremental/QF_ABV/brummayerbiere2/countbitstableoffbyone0016.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
Size11279
Compressed Size1416
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 11271
Compressed Size1433
Max. Term Depth260
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 store256

Evaluations

Evaluation Rating Solver Variant Result Wallclock CPU Time
SMT-COMP 2011 0.20 (4/5) Boolector Boolector 1.5.23-833 sat ✅ 0.50000
CVC3 CVC3 v2.4 sat ✅ 9.10000
MathSAT MathSAT5 unknown ❌ 1200.00000
SONOLAR SONOLAR sat ✅ 2.90000
Z3 Z3 sat ✅ 42.90000
SMT Evaluation 2013 1.00 (0/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 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.51215 0.49892
Boolector boolectorj sat ✅ 0.50773 0.49392
CVC4 CVC4 f7118b2 default sat ✅ 13.55600 13.54590
Kleaver Kleaver-indie-more-typed kleaver_indie_1 sat ✅ 0.06772 0.06499
Kleaver-indie-more-typed kleaver_portfolio sat ✅ 0.08649 0.19497
MathSAT MathSAT-5.2.12-Main default sat ✅ 0.32291 0.31995
SONOLAR sonolar_smtcomp-2014 default sat ✅ 0.19099 0.17797
Yices2 Yices-2.2.1-smtcomp2014 default sat ✅ 0.01823 0.00900
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-COMP-2014 default sat ✅ 7.68543 7.67183
SMT-COMP 2015 Boolector Boolector SMT15 QF_AUFBV final boolector_qf_aufbv sat ✅ 0.87478 0.87387
CVC4 CVC4-master-2015-06-15-9b32405-main default sat ✅ 36.11400 36.12650
CVC4-experimental-2015-06-15-ff5745a-main default sat ✅ 2.58659 2.58461
MathSAT MathSat 5.3.6 main smtcomp2015_main sat ✅ 0.33693 0.33595
Yices2 Yices default sat ✅ 0.01180 0.01100
Z3 z3 4.4.0 default sat ✅ 4.38217 4.38333
SMT-COMP 2016 Boolector Boolector boolector sat ✅ 0.47045 0.47067
CVC4 CVC4-master-2016-05-27-cfef263-main default sat ✅ 2.53975 2.54124
MathSAT mathsat-5.3.11-linux-x86_64-Main default sat ✅ 0.31994 0.32115
Yices2 Yices-2.4.2 default sat ✅ 0.01197 0.01196
Z3 z3-4.4.1 default sat ✅ 1.15009 1.15201
SMT-COMP 2017 Boolector Boolector SMT17 final boolector sat ✅ 0.30981 0.30911
CVC4 CVC4-smtcomp2017-main default sat ✅ 5.74498 5.74361
MathSAT mathsat-5.4.1-linux-x86_64-Main default sat ✅ 0.31997 0.31969
Yices2 Yices2-Main default sat ✅ 0.01383 0.01230
Z3 z3-4.5.0 default sat ✅ 7.49555 7.49486
SMT-COMP 2018 0.20 (4/5) Boolector Boolector_default sat ✅ 0.33731 0.33723
CVC4 master-2018-06-10-b19c840-competition-default_default sat ✅ 5.90052 5.90069
MathSAT mathsat-5.5.2-linux-x86_64-Main_default unknown ❌ 0.32572 0.32686
Yices2 Yices 2.6.0_default sat ✅ 0.01298 0.01290
Z3 z3-4.7.1_default sat ✅ 5.18694 5.18707
SMT-COMP 2019 Boolector Boolector-wrapped-sq_default sat ✅ 0.29435 0.29434
Poolector-wrapped-sq_default sat ✅ 0.37919 0.63517
CVC4 CVC4-2019-06-03-d350fe1-wrapped-sq_default sat ✅ 5.98043 5.98109
Par4 Par4-wrapped-sq_default sat ✅ 0.02397 0.00575
Yices2 Yices 2.6.2-wrapped-sq_default sat ✅ 0.01513 0.01508
Z3 z3-4.8.4-d6df51951f4c-wrapped-sq_default sat ✅ 8.59666 8.59604
SMT-COMP 2021 MathSAT mathsat-5.6.6_default sat ✅ 0.51278 0.51268
Yices2 Yices 2.6.2 bug fix_default sat ✅ 0.01394 0.01386
Yices 2.6.2 for SMTCOMP2020_default sat ✅ 0.01383 0.01378
Z3 z3-4.8.11_default sat ✅ 37.21810 37.21050
SMT-COMP 2022 Bitwuzla Bitwuzla-wrapped_default sat ✅ 0.20560 0.20557
cvc5 cvc5-default-2022-07-02-b15e116-wrapped_sq sat ✅ 0.15957 0.16009
MathSAT MathSAT-5.6.8_default sat ✅ 0.56434 0.56423
Yices2 Yices 2.6.2 for SMTCOMP 2021_default sat ✅ 0.01402 0.01376
Z3 z3-4.8.17_default sat ✅ 21.81550 21.81210
SMT-COMP 2023 Bitwuzla Bitwuzla-fixed_default sat ✅ 0.25143 0.25135
cvc5 cvc5-default-2023-05-16-ea045f305_sq sat ✅ 0.15090 0.15112
UltimateEliminator UltimateIntBlastingWrapper+SMTInterpol_default sat ✅ 59.30690 98.78220
Yices2 Yices 2 for SMTCOMP 2023_default sat ✅ 0.01452 0.01448
Z3-Owl z3-Owl-Final_default sat ✅ 1.38483 0.77647
z3-Owl-Final_default sat ✅ 7.18445 7.18359
SMT-COMP 2024 0.25 (3/4) Bitwuzla Bitwuzla sat ✅ 0.27639 0.17657
cvc5 cvc5 sat ✅ 0.31300 0.21349
SMTInterpol SMTInterpol unknown ❌ 1201.74084 1240.88964
Yices2 Yices2 sat ✅ 0.23287 0.13306
SMT-COMP 2025 Bitwuzla Bitwuzla sat ✅ 0.54131 0.41395
cvc5 cvc5 sat ✅ 12.89275 12.76054
SMTInterpol SMTInterpol sat ✅ 464.08794 502.18795
Yices2 Yices2 sat ✅ 0.25514 0.13807
Z3 Z3-Owl-base sat ✅ 206.97863 206.82474
Z3-Owl Z3-Owl sat ✅ 10.62154 10.49380