Benchmark

non-incremental/QF_ABV/brummayerbiere2/countbitstableoffbyone0512.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
Size109349
Compressed Size4221
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 109341
Compressed Size4277
Max. Term Depth645
Asserts 1
Declared Functions0
Declared Constants2
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite1025 not1 =1026 let573
concat64 extract64 bvnot513 bvand512
bvadd575 bvshl512 bvlshr63 zero_extend512
select64 store256

Evaluations

Evaluation Rating Solver Variant Result Wallclock CPU Time
SMT-COMP 2012 0.25 (3/4) Boolector Boolector sat ✅ 692.20000
Boolector 1.5.23-833 unknown ❌ 1200.00000
CVC3 CVC3 v2.4.2 sat ✅ 90.90000
CVC4 1.0rc.3931 unknown ❌ 1200.00000
CVC4 1.0rc.3970 unknown ❌ 1200.00000
SONOLAR SONOLAR unknown ❌ 1200.00000
Tiffany de Wintermonte Tiffany de Wintermonte & Sonolar sat ✅ 24.70000
SMT Evaluation 2013 0.57 (3/7) Boolector Boolector-1.5.118-SMT-EVAL-2013 default sat ✅ 1337.01000
Boolector-SMT-COMP-2011 default unknown ❌
Boolector-SMT-COMP-2012 default sat ✅ 1043.82000
CVC3 CVC3-SMT-COMP-2010 default unknown ❌ 274.13500
CVC3-SMT-COMP-2011 default sat ✅ 1487.12000
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 ❌ 48.21180
MathSAT5-SMT-COMP-2012 default unknown ❌ 24.96850
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 sat ✅ 14.23700
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.71 (2/7) Boolector Boolector boolectord sat ✅ 3.00695 2.99754
Boolector boolectorj sat ✅ 9.14434 9.13661
CVC4 CVC4 f7118b2 default unknown ❌ 2398.91000 2400.03000
Kleaver Kleaver-indie-more-typed kleaver_indie_1 unknown ❌ 0.03998 0.03099
Kleaver-indie-more-typed kleaver_portfolio unknown ❌ 0.05676 0.04699
MathSAT MathSAT-5.2.12-Main default unknown ❌ 2399.12000 2400.01000
SONOLAR sonolar_smtcomp-2014 default unknown ❌ 2399.21000 2400.09000
Yices2 Yices-2.2.1-smtcomp2014 default sat ✅ 9.66917 9.66253
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-COMP-2014 default unknown ❌ 2399.21000 2400.02000
SMT-COMP 2015 0.40 (3/5) Boolector Boolector SMT15 QF_AUFBV final boolector_qf_aufbv sat ✅ 47.19290 47.20380
CVC4 CVC4-master-2015-06-15-9b32405-main default unknown ❌ 2400.01000 2400.84000
CVC4-experimental-2015-06-15-ff5745a-main default sat ✅ 521.27300 521.45100
MathSAT MathSat 5.3.6 main smtcomp2015_main unknown ❌ 2400.01000 2400.90000
Yices2 Yices default sat ✅ 9.30731 9.30958
Z3 z3 4.4.0 default unknown ❌ 2400.01000 2400.78000
SMT-COMP 2016 0.40 (3/5) Boolector Boolector boolector sat ✅ 312.36100 312.55400
CVC4 CVC4-master-2016-05-27-cfef263-main default sat ✅ 574.99100 525.67800
MathSAT mathsat-5.3.11-linux-x86_64-Main default unknown ❌ 51.29200 51.32300
Yices2 Yices-2.4.2 default sat ✅ 9.37049 9.37578
Z3 z3-4.4.1 default unknown ❌ 2400.02000 2401.12000
SMT-COMP 2017 0.80 (1/5) Boolector Boolector SMT17 final boolector unknown ❌ 600.02200 599.99900
CVC4 CVC4-smtcomp2017-main default unknown ❌ 600.11200 543.73000
MathSAT mathsat-5.4.1-linux-x86_64-Main default unknown ❌ 52.41450 52.40530
Yices2 Yices2-Main default sat ✅ 9.38684 9.38567
Z3 z3-4.5.0 default unknown ❌ 600.01200 599.89000
SMT-COMP 2018 0.60 (2/5) Boolector Boolector_default sat ✅ 72.03910 72.03150
CVC4 master-2018-06-10-b19c840-competition-default_default unknown ❌ 1200.04000 1105.78000
MathSAT mathsat-5.5.2-linux-x86_64-Main_default unknown ❌ 50.64880 50.64280
Yices2 Yices 2.6.0_default sat ✅ 9.30891 9.30871
Z3 z3-4.7.1_default unknown ❌ 1200.11000 1199.88000
SMT-COMP 2021 0.67 (1/3) MathSAT mathsat-5.6.6_default unknown ❌ 1200.07000 1199.77000
Yices2 Yices 2.6.2 bug fix_default sat ✅ 9.22605 9.22516
Yices 2.6.2 for SMTCOMP2020_default sat ✅ 9.20275 9.20252
Z3 z3-4.8.11_default unknown ❌ 1200.02000 1199.81000
SMT-COMP 2022 0.60 (2/5) Bitwuzla Bitwuzla-wrapped_default sat ✅ 117.27800 117.26600
cvc5 cvc5-default-2022-07-02-b15e116-wrapped_sq unknown ❌ 1200.03000 1018.18000
MathSAT MathSAT-5.6.8_default unknown ❌ 1200.04000 1199.83000
Yices2 Yices 2.6.2 for SMTCOMP 2021_default sat ✅ 9.18264 9.18195
Z3 z3-4.8.17_default unknown ❌ 1200.04000 1199.75000
SMT-COMP 2023 0.40 (3/5) Bitwuzla Bitwuzla-fixed_default sat ✅ 40.76130 40.74680
cvc5 cvc5-default-2023-05-16-ea045f305_sq unknown ❌ 1200.02000 1085.36000
UltimateEliminator UltimateIntBlastingWrapper+SMTInterpol_default unknown ❌ 1200.03000 1258.93000
Yices2 Yices 2 for SMTCOMP 2023_default sat ✅ 9.37281 9.37223
Z3-Owl z3-Owl-Final_default sat ✅ 80.09090 80.08020
z3-Owl-Final_default unknown ❌ 1200.11000 1199.96000
SMT-COMP 2024 0.25 (3/4) Bitwuzla Bitwuzla sat ✅ 22.28053 22.17948
cvc5 cvc5 sat ✅ 15.72083 15.62103
SMTInterpol SMTInterpol unknown ❌ 1201.71439 1312.16714
Yices2 Yices2 sat ✅ 6.67142 6.56931
SMT-COMP 2025 0.67 (2/6) Bitwuzla Bitwuzla sat ✅ 68.28083 68.14342
cvc5 cvc5 unknown ❌ 1202.27151 1201.59930
SMTInterpol SMTInterpol unknown ❌ 1201.80392 1227.90716
Yices2 Yices2 sat ✅ 6.36354 6.24103
Z3 Z3-Owl-base unknown ❌ 1201.30789 1201.11600
Z3-Owl Z3-Owl unknown ❌ 1201.75997 1201.04281