Benchmark

non-incremental/QF_ABV/brummayerbiere2/countbitstableoffbyone0064.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
Size20389
Compressed Size1773
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 20381
Compressed Size1813
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 Boolector Boolector sat ✅ 7.00000
Boolector 1.5.23-833 sat ✅ 3.40000
CVC3 CVC3 v2.4.2 sat ✅ 12.30000
CVC4 1.0rc.3931 sat ✅ 157.20000
CVC4 1.0rc.3970 sat ✅ 156.40000
SONOLAR SONOLAR sat ✅ 1.70000
Tiffany de Wintermonte Tiffany de Wintermonte & Sonolar sat ✅ 1.10000
SMT Evaluation 2013 Boolector Boolector-1.5.118-SMT-EVAL-2013 default sat ✅ 1.19129
Boolector-SMT-COMP-2011 default sat ✅ 1.42288
Boolector-SMT-COMP-2012 default sat ✅ 1.34470
CVC3 CVC3-SMT-COMP-2010 default sat ✅ 8.56260
CVC3-SMT-COMP-2011 default sat ✅ 7.63231
CVC3-SMT-COMP-2012 default sat ✅ 7.67717
CVC4 CVC4-SMT-COMP-2012-Resubmission default sat ✅ 94.01890
CVC4-SMT-EVAL-2013 default sat ✅ 103.70100
MathSAT MathSAT5-5.2.6-SMT-EVAL-2013 default sat ✅ 3.99733
MathSAT5-SMT-COMP-2011 default sat ✅ 91.57540
MathSAT5-SMT-COMP-2012 default sat ✅ 10.35050
SONOLAR SONOLAR-2013-05-15-SMT-EVAL-2013 default sat ✅ 3.55209
SONOLAR-SMT-COMP-2011 default sat ✅ 26.42760
SONOLAR-SMT-COMP-2012 default sat ✅ 2.32140
Tiffany de Wintermonte TdW-SMT-COMP-2012 default sat ✅ 0.57240
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-EVAL-2013 default sat ✅ 381.38900
Z3-SMT-COMP-2011 default sat ✅ 938.49900
SMT-COMP 2014 Boolector Boolector boolectord sat ✅ 0.16783 0.15298
Boolector boolectorj sat ✅ 0.17656 0.16297
CVC4 CVC4 f7118b2 default sat ✅ 49.97010 49.97040
Kleaver Kleaver-indie-more-typed kleaver_indie_1 sat ✅ 0.27518 0.26196
Kleaver-indie-more-typed kleaver_portfolio sat ✅ 0.32443 0.86287
MathSAT MathSAT-5.2.12-Main default sat ✅ 4.83824 4.82827
SONOLAR sonolar_smtcomp-2014 default sat ✅ 1.41266 1.39979
Yices2 Yices-2.2.1-smtcomp2014 default sat ✅ 0.04590 0.02700
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-COMP-2014 default sat ✅ 332.15900 332.26900
SMT-COMP 2015 Boolector Boolector SMT15 QF_AUFBV final boolector_qf_aufbv sat ✅ 0.86728 0.86687
CVC4 CVC4-master-2015-06-15-9b32405-main default sat ✅ 59.48370 59.50600
CVC4-experimental-2015-06-15-ff5745a-main default sat ✅ 14.65260 14.65480
MathSAT MathSat 5.3.6 main smtcomp2015_main sat ✅ 5.45463 5.45517
Yices2 Yices default sat ✅ 0.02781 0.02700
Z3 z3 4.4.0 default sat ✅ 272.21600 272.31800
SMT-COMP 2016 Boolector Boolector boolector sat ✅ 0.52147 0.52174
CVC4 CVC4-master-2016-05-27-cfef263-main default sat ✅ 16.98280 16.98100
MathSAT mathsat-5.3.11-linux-x86_64-Main default sat ✅ 5.43760 5.44162
Yices2 Yices-2.4.2 default sat ✅ 0.02797 0.02792
Z3 z3-4.4.1 default sat ✅ 47.90860 47.92740
SMT-COMP 2017 0.20 (4/5) Boolector Boolector SMT17 final boolector sat ✅ 1.76809 1.76695
CVC4 CVC4-smtcomp2017-main default unknown ❌ 600.01400 591.88600
MathSAT mathsat-5.4.1-linux-x86_64-Main default sat ✅ 3.87361 3.87359
Yices2 Yices2-Main default sat ✅ 0.02967 0.02823
Z3 z3-4.5.0 default sat ✅ 37.45980 37.45690
SMT-COMP 2018 0.20 (4/5) Boolector Boolector_default sat ✅ 0.77515 0.77510
CVC4 master-2018-06-10-b19c840-competition-default_default sat ✅ 29.89440 29.89570
MathSAT mathsat-5.5.2-linux-x86_64-Main_default unknown ❌ 3.23666 3.23761
Yices2 Yices 2.6.0_default sat ✅ 0.02936 0.02928
Z3 z3-4.7.1_default sat ✅ 369.89400 369.83200
SMT-COMP 2020 Bitwuzla Bitwuzla-fixed_default sat ✅ 0.43014 0.43007
Boolector Boolector-wrapped-sq_default sat ✅ 0.99213 0.99204
CVC4 CVC4-sq-final_default sat ✅ 1.56329 1.56366
MathSAT MathSAT5_default.sh sat ✅ 11.25120 11.24460
Par4 Par4-wrapped-sq_default sat ✅ 0.03895 0.00652
Yices2 Yices 2.6.2 bug fix_default sat ✅ 0.02937 0.02933
Z3 z3-4.8.8_default sat ✅ 537.35900 537.29600
SMT-COMP 2021 MathSAT mathsat-5.6.6_default sat ✅ 44.04330 44.03930
Yices2 Yices 2.6.2 bug fix_default sat ✅ 0.02956 0.02951
Yices 2.6.2 for SMTCOMP2020_default sat ✅ 0.03030 0.03028
Z3 z3-4.8.11_default sat ✅ 805.16100 805.15300
SMT-COMP 2022 Bitwuzla Bitwuzla-wrapped_default sat ✅ 0.43332 0.43330
cvc5 cvc5-default-2022-07-02-b15e116-wrapped_sq sat ✅ 0.98600 0.98632
MathSAT MathSAT-5.6.8_default sat ✅ 23.78820 23.78640
Yices2 Yices 2.6.2 for SMTCOMP 2021_default sat ✅ 0.02941 0.02936
Z3 z3-4.8.17_default sat ✅ 293.53700 293.52400
SMT-COMP 2023 0.20 (4/5) Bitwuzla Bitwuzla-fixed_default sat ✅ 0.88084 0.88074
cvc5 cvc5-default-2023-05-16-ea045f305_sq sat ✅ 0.33791 0.33847
UltimateEliminator UltimateIntBlastingWrapper+SMTInterpol_default unknown ❌ 1200.03000 1246.26000
Yices2 Yices 2 for SMTCOMP 2023_default sat ✅ 0.02985 0.02982
Z3-Owl z3-Owl-Final_default sat ✅ 1.79035 1.77597
z3-Owl-Final_default sat ✅ 1162.24000 1162.14000
SMT-COMP 2025 0.33 (4/6) Bitwuzla Bitwuzla sat ✅ 0.54139 0.42137
cvc5 cvc5 sat ✅ 345.97309 345.81400
SMTInterpol SMTInterpol unknown ❌ 1201.48920 1247.64110
Yices2 Yices2 sat ✅ 0.27908 0.15865
Z3 Z3-Owl-base unknown ❌ 1201.29088 1201.02336
Z3-Owl Z3-Owl sat ✅ 456.45578 456.27028