Benchmark

non-incremental/QF_ABV/brummayerbiere2/countbitstableuninit0256.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
Size58560
Compressed Size3105
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 58552
Compressed Size3125
Max. Term Depth325
Asserts 1
Declared Functions0
Declared Constants2
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite513 not1 =514 let285
concat32 extract32 bvnot257 bvand256
bvadd287 bvshl256 bvlshr31 zero_extend256
select32 store255

Evaluations

Evaluation Rating Solver Variant Result Wallclock CPU Time
SMT-COMP 2010 Boolector Boolector 1.2 sat ✅ 47.20000
CVC3 CVC3 2.3 sat ✅ 29.40000
SMT-COMP 2011 0.60 (2/5) Boolector Boolector 1.5.23-833 sat ✅ 163.10000
CVC3 CVC3 v2.4 unknown ❌ 388.10000
MathSAT MathSAT5 unknown ❌ 1200.00000
SONOLAR SONOLAR sat ✅ 153.90000
Z3 Z3 unknown ❌ 1200.00000
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 0.29 (5/7) Boolector Boolector boolectord sat ✅ 1.67475 1.66575
Boolector boolectorj sat ✅ 3.39817 3.39048
CVC4 CVC4 f7118b2 default sat ✅ 473.38100 473.53200
Kleaver Kleaver-indie-more-typed kleaver_indie_1 unknown ❌ 0.03229 0.02300
Kleaver-indie-more-typed kleaver_portfolio unknown ❌ 0.04887 0.03899
MathSAT MathSAT-5.2.12-Main default sat ✅ 85.69790 85.72200
SONOLAR sonolar_smtcomp-2014 default sat ✅ 265.99800 266.08900
Yices2 Yices-2.2.1-smtcomp2014 default sat ✅ 15.08280 15.07970
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-COMP-2014 default unknown ❌ 2399.12000 2400.01000
SMT-COMP 2015 Boolector Boolector SMT15 QF_AUFBV final boolector_qf_aufbv sat ✅ 3.12576 3.12552
CVC4 CVC4-master-2015-06-15-9b32405-main default sat ✅ 713.29300 713.47300
CVC4-experimental-2015-06-15-ff5745a-main default sat ✅ 154.38000 154.40600
MathSAT MathSat 5.3.6 main smtcomp2015_main sat ✅ 303.05600 303.12200
Yices2 Yices default sat ✅ 28.40970 28.39970
Z3 z3 4.4.0 default sat ✅ 2297.32000 2298.16000
SMT-COMP 2016 Boolector Boolector boolector sat ✅ 2.86023 2.86201
CVC4 CVC4-master-2016-05-27-cfef263-main default sat ✅ 197.36400 185.37700
MathSAT mathsat-5.3.11-linux-x86_64-Main default sat ✅ 502.90500 503.15400
Yices2 Yices-2.4.2 default sat ✅ 21.86000 21.87260
Z3 z3-4.4.1 default sat ✅ 2.63343 2.63635
SMT-COMP 2017 0.20 (4/5) Boolector Boolector SMT17 final boolector sat ✅ 22.41970 22.41810
CVC4 CVC4-smtcomp2017-main default sat ✅ 138.82400 129.17300
MathSAT mathsat-5.4.1-linux-x86_64-Main default sat ✅ 287.87500 287.89000
Yices2 Yices2-Main default sat ✅ 5.38615 5.38619
Z3 z3-4.5.0 default unknown ❌ 600.10500 599.93300
SMT-COMP 2018 0.40 (3/5) Boolector Boolector_default sat ✅ 12.82940 12.82810
CVC4 master-2018-06-10-b19c840-competition-default_default sat ✅ 146.84900 136.38000
MathSAT mathsat-5.5.2-linux-x86_64-Main_default unknown ❌ 90.40620 90.40550
Yices2 Yices 2.6.0_default sat ✅ 5.13329 5.13319
Z3 z3-4.7.1_default unknown ❌ 1200.02000 1200.01000
SMT-COMP 2020 0.14 (6/7) Bitwuzla Bitwuzla-fixed_default sat ✅ 10.65160 10.65070
Boolector Boolector-wrapped-sq_default sat ✅ 17.00190 17.00140
CVC4 CVC4-sq-final_default sat ✅ 200.33700 186.09900
MathSAT MathSAT5_default.sh sat ✅ 238.76400 238.69400
Par4 Par4-wrapped-sq_default sat ✅ 13.98930 41.89000
Yices2 Yices 2.6.2 bug fix_default sat ✅ 25.15800 25.15590
Z3 z3-4.8.8_default unknown ❌ 1200.12000 1199.91000
SMT-COMP 2022 0.40 (3/5) Bitwuzla Bitwuzla-wrapped_default sat ✅ 13.61770 13.61660
cvc5 cvc5-default-2022-07-02-b15e116-wrapped_sq sat ✅ 172.66400 159.70700
MathSAT MathSAT-5.6.8_default unknown ❌ 1200.07000 1199.69000
Yices2 Yices 2.6.2 for SMTCOMP 2021_default sat ✅ 9.31760 9.31641
Z3 z3-4.8.17_default unknown ❌ 1200.03000 1199.94000
SMT-COMP 2024 0.25 (3/4) Bitwuzla Bitwuzla sat ✅ 21.44533 21.34435
cvc5 cvc5 sat ✅ 30.45954 30.34530
SMTInterpol SMTInterpol unknown ❌ 1201.74134 1382.13178
Yices2 Yices2 sat ✅ 5.39343 5.29298
SMT-COMP 2025 0.67 (2/6) Bitwuzla Bitwuzla sat ✅ 23.98600 23.84209
cvc5 cvc5 unknown ❌ 1201.78433 1201.07932
SMTInterpol SMTInterpol unknown ❌ 1201.52791 1383.87883
Yices2 Yices2 sat ✅ 19.30155 19.18195
Z3 Z3-Owl-base unknown ❌ 1201.26528 1200.93803
Z3-Owl Z3-Owl unknown ❌ 1201.75569 1201.03513