Benchmark

non-incremental/QF_ABV/brummayerbiere2/countbitstableoffbyone0032.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
Size14317
Compressed Size1596
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 14309
Compressed Size1603
Max. Term Depth260
Asserts 1
Declared Functions0
Declared Constants2
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite65 not1 =66 let33
concat4 extract4 bvnot33 bvand32
bvadd35 bvshl32 bvlshr3 zero_extend32
select4 store256

Evaluations

Evaluation Rating Solver Variant Result Wallclock CPU Time
SMT Evaluation 2013 Boolector Boolector-1.5.118-SMT-EVAL-2013 default sat ✅ 0.13703
Boolector-SMT-COMP-2011 default sat ✅ 0.59676
Boolector-SMT-COMP-2012 default sat ✅ 0.16053
CVC3 CVC3-SMT-COMP-2010 default sat ✅ 2.89881
CVC3-SMT-COMP-2011 default sat ✅ 2.60239
CVC3-SMT-COMP-2012 default sat ✅ 2.64231
CVC4 CVC4-SMT-COMP-2012-Resubmission default sat ✅ 49.42610
CVC4-SMT-EVAL-2013 default sat ✅ 40.77150
MathSAT MathSAT5-5.2.6-SMT-EVAL-2013 default sat ✅ 1.71915
MathSAT5-SMT-COMP-2011 default sat ✅ 20.93840
MathSAT5-SMT-COMP-2012 default sat ✅ 6.28196
SONOLAR SONOLAR-2013-05-15-SMT-EVAL-2013 default sat ✅ 12.33620
SONOLAR-SMT-COMP-2011 default sat ✅ 8.74468
SONOLAR-SMT-COMP-2012 default sat ✅ 5.39478
Tiffany de Wintermonte TdW-SMT-COMP-2012 default sat ✅ 0.24189
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-EVAL-2013 default sat ✅ 11.13890
Z3-SMT-COMP-2011 default sat ✅ 175.24700
SMT-COMP 2014 Boolector Boolector boolectord sat ✅ 0.11058 0.09998
Boolector boolectorj sat ✅ 0.10125 0.08999
CVC4 CVC4 f7118b2 default sat ✅ 14.69960 14.69480
Kleaver Kleaver-indie-more-typed kleaver_indie_1 sat ✅ 0.12985 0.12198
Kleaver-indie-more-typed kleaver_portfolio sat ✅ 0.14933 0.38894
MathSAT MathSAT-5.2.12-Main default sat ✅ 1.11951 1.11083
SONOLAR sonolar_smtcomp-2014 default sat ✅ 0.85221 0.84187
Yices2 Yices-2.2.1-smtcomp2014 default sat ✅ 0.02090 0.01200
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-COMP-2014 default sat ✅ 33.57300 33.57990
SMT-COMP 2015 Boolector Boolector SMT15 QF_AUFBV final boolector_qf_aufbv sat ✅ 0.15727 0.15598
CVC4 CVC4-master-2015-06-15-9b32405-main default sat ✅ 73.24260 73.27090
CVC4-experimental-2015-06-15-ff5745a-main default sat ✅ 3.83241 3.83042
MathSAT MathSat 5.3.6 main smtcomp2015_main sat ✅ 1.13755 1.13683
Yices2 Yices default sat ✅ 0.01344 0.01200
Z3 z3 4.4.0 default sat ✅ 5.34447 5.34319
SMT-COMP 2016 Boolector Boolector boolector sat ✅ 0.28957 0.29011
CVC4 CVC4-master-2016-05-27-cfef263-main default sat ✅ 3.83080 3.83298
MathSAT mathsat-5.3.11-linux-x86_64-Main default sat ✅ 1.00577 1.00735
Yices2 Yices-2.4.2 default sat ✅ 0.01482 0.01382
Z3 z3-4.4.1 default sat ✅ 23.02950 23.04400
SMT-COMP 2017 Boolector Boolector SMT17 final boolector sat ✅ 1.14411 1.14347
CVC4 CVC4-smtcomp2017-main default sat ✅ 1.48581 1.48563
MathSAT mathsat-5.4.1-linux-x86_64-Main default sat ✅ 1.10169 1.09777
Yices2 Yices2-Main default sat ✅ 0.01410 0.01368
Z3 z3-4.5.0 default sat ✅ 13.38800 13.38760
SMT-COMP 2018 0.40 (3/5) Boolector Boolector_default sat ✅ 0.58689 0.58679
CVC4 master-2018-06-10-b19c840-competition-default_default unknown ❌ 1200.09000 1192.82000
MathSAT mathsat-5.5.2-linux-x86_64-Main_default unknown ❌ 1.07438 1.07518
Yices2 Yices 2.6.0_default sat ✅ 0.01616 0.01609
Z3 z3-4.7.1_default sat ✅ 8.70588 8.70541
SMT-COMP 2020 Bitwuzla Bitwuzla-fixed_default sat ✅ 0.19090 0.19086
Boolector Boolector-wrapped-sq_default sat ✅ 0.05856 0.05858
CVC4 CVC4-sq-final_default sat ✅ 0.59913 0.59937
MathSAT MathSAT5_default.sh sat ✅ 2.87443 2.87440
Par4 Par4-wrapped-sq_default sat ✅ 0.02896 0.00682
Yices2 Yices 2.6.2 bug fix_default sat ✅ 0.01515 0.01512
Z3 z3-4.8.8_default sat ✅ 122.80100 122.78800
SMT-COMP 2021 MathSAT mathsat-5.6.6_default sat ✅ 5.08063 5.07994
Yices2 Yices 2.6.2 bug fix_default sat ✅ 0.01509 0.01506
Yices 2.6.2 for SMTCOMP2020_default sat ✅ 0.01518 0.01513
Z3 z3-4.8.11_default sat ✅ 117.95800 117.93900
SMT-COMP 2022 Bitwuzla Bitwuzla-wrapped_default sat ✅ 0.13179 0.13172
cvc5 cvc5-default-2022-07-02-b15e116-wrapped_sq sat ✅ 0.27079 0.27132
MathSAT MathSAT-5.6.8_default sat ✅ 2.02382 2.02385
Yices2 Yices 2.6.2 for SMTCOMP 2021_default sat ✅ 0.01488 0.01485
Z3 z3-4.8.17_default sat ✅ 117.07600 117.07000
SMT-COMP 2023 0.20 (4/5) Bitwuzla Bitwuzla-fixed_default sat ✅ 0.09694 0.09691
cvc5 cvc5-default-2023-05-16-ea045f305_sq sat ✅ 0.19654 0.19657
UltimateEliminator UltimateIntBlastingWrapper+SMTInterpol_default unknown ❌ 1200.04000 1247.88000
Yices2 Yices 2 for SMTCOMP 2023_default sat ✅ 0.01481 0.01478
Z3-Owl z3-Owl-Final_default sat ✅ 0.97212 0.97202
z3-Owl-Final_default sat ✅ 163.00700 162.97400
SMT-COMP 2025 Bitwuzla Bitwuzla sat ✅ 2.13246 2.01413
cvc5 cvc5 sat ✅ 19.61549 19.47259
SMTInterpol SMTInterpol sat ✅ 891.82738 939.57136
Yices2 Yices2 sat ✅ 0.29391 0.16494
Z3 Z3-Owl-base sat ✅ 415.47422 415.29229
Z3-Owl Z3-Owl sat ✅ 84.75823 84.60431