Benchmark

non-incremental/QF_ABV/brummayerbiere2/countbitstable032.smt2

Count bits pop(x) algorithm, table lookup method
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.

We 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
Size14241
Compressed Size1543
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 unsat
Inferred Status unsat
Size 14233
Compressed Size1552
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 0.29 (5/7) Boolector Boolector-1.5.118-SMT-EVAL-2013 default unsat ✅ 7.66415
Boolector-SMT-COMP-2011 default unsat ✅ 33.40650
Boolector-SMT-COMP-2012 default unsat ✅ 8.38435
CVC3 CVC3-SMT-COMP-2010 default unknown ❌ 283.03200
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 unsat ✅ 181.41400
MathSAT5-SMT-COMP-2011 default unknown ❌
MathSAT5-SMT-COMP-2012 default unknown ❌
SONOLAR SONOLAR-2013-05-15-SMT-EVAL-2013 default unsat ✅ 85.92490
SONOLAR-SMT-COMP-2011 default unsat ✅ 110.26000
SONOLAR-SMT-COMP-2012 default unsat ✅ 79.77180
Tiffany de Wintermonte TdW-SMT-COMP-2012 default unsat ✅ 8.77839
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-EVAL-2013 default unsat ✅ 676.91400
Z3-SMT-COMP-2011 default unknown ❌
SMT-COMP 2014 0.14 (6/7) Boolector Boolector boolectord unsat ✅ 12.79630 12.79010
Boolector boolectorj unsat ✅ 12.82100 12.81500
CVC4 CVC4 f7118b2 default unknown ❌ 2399.41000 2400.07000
Kleaver Kleaver-indie-more-typed kleaver_indie_1 unsat ✅ 6.43999 6.42002
Kleaver-indie-more-typed kleaver_portfolio unsat ✅ 7.39112 22.12460
MathSAT MathSAT-5.2.12-Main default unsat ✅ 261.48300 261.56600
SONOLAR sonolar_smtcomp-2014 default unsat ✅ 83.43710 83.45730
Yices2 Yices-2.2.1-smtcomp2014 default unsat ✅ 37.24300 37.24730
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-COMP-2014 default unsat ✅ 542.63700 542.90200
SMT-COMP 2015 0.20 (4/5) Boolector Boolector SMT15 QF_AUFBV final boolector_qf_aufbv unsat ✅ 9.63496 9.63853
CVC4 CVC4-master-2015-06-15-9b32405-main default unknown ❌ 2400.01000 2400.80000
CVC4-experimental-2015-06-15-ff5745a-main default unknown ❌ 2400.01000 2400.89000
MathSAT MathSat 5.3.6 main smtcomp2015_main unsat ✅ 270.16700 270.25700
Yices2 Yices default unsat ✅ 54.38050 54.39570
Z3 z3 4.4.0 default unsat ✅ 615.61100 615.85800
SMT-COMP 2016 0.20 (4/5) Boolector Boolector boolector unsat ✅ 8.99781 9.00074
CVC4 CVC4-master-2016-05-27-cfef263-main default unknown ❌ 2400.02000 2400.38000
MathSAT mathsat-5.3.11-linux-x86_64-Main default unsat ✅ 215.75600 215.86000
Yices2 Yices-2.4.2 default unsat ✅ 31.81070 31.81720
Z3 z3-4.4.1 default unsat ✅ 666.30800 666.66200
SMT-COMP 2017 0.40 (3/5) Boolector Boolector SMT17 final boolector unsat ✅ 8.08206 8.07926
CVC4 CVC4-smtcomp2017-main default unknown ❌ 600.06500 597.78400
MathSAT mathsat-5.4.1-linux-x86_64-Main default unsat ✅ 139.24500 139.23700
Yices2 Yices2-Main default unsat ✅ 13.01990 13.01920
Z3 z3-4.5.0 default unknown ❌ 600.01100 599.98000
SMT-COMP 2018 0.60 (2/5) Boolector Boolector_default unsat ✅ 8.17450 8.17477
CVC4 master-2018-06-10-b19c840-competition-default_default unknown ❌ 1200.10000 1198.34000
MathSAT mathsat-5.5.2-linux-x86_64-Main_default unknown ❌ 135.62000 135.57000
Yices2 Yices 2.6.0_default unsat ✅ 12.94790 12.94580
Z3 z3-4.7.1_default unknown ❌ 1200.01000 1199.99000
SMT-COMP 2019 0.20 (4/5) Boolector Boolector-wrapped-sq_default unsat ✅ 5.61848 5.61857
Poolector-wrapped-sq_default unsat ✅ 6.06420 23.46890
CVC4 CVC4-2019-06-03-d350fe1-wrapped-sq_default unknown ❌ 2400.01000 2395.40000
Par4 Par4-wrapped-sq_default unsat ✅ 8.24452 24.65000
Yices2 Yices 2.6.2-wrapped-sq_default unsat ✅ 32.49850 32.49750
Z3 z3-4.8.4-d6df51951f4c-wrapped-sq_default unsat ✅ 1598.95000 1598.73000
SMT-COMP 2021 0.33 (2/3) MathSAT mathsat-5.6.6_default unsat ✅ 165.36200 165.30600
Yices2 Yices 2.6.2 bug fix_default unsat ✅ 36.95250 36.95060
Yices 2.6.2 for SMTCOMP2020_default unsat ✅ 36.61180 36.60810
Z3 z3-4.8.11_default unknown ❌ 1200.02000 1199.94000
SMT-COMP 2022 0.40 (3/5) Bitwuzla Bitwuzla-wrapped_default unsat ✅ 4.76853 4.76719
cvc5 cvc5-default-2022-07-02-b15e116-wrapped_sq unknown ❌ 1200.03000 1199.75000
MathSAT MathSAT-5.6.8_default unsat ✅ 214.26100 214.21300
Yices2 Yices 2.6.2 for SMTCOMP 2021_default unsat ✅ 34.53810 34.53930
Z3 z3-4.8.17_default unknown ❌ 1200.01000 1199.85000
SMT-COMP 2023 0.40 (3/5) Bitwuzla Bitwuzla-fixed_default unsat ✅ 52.54540 52.54080
cvc5 cvc5-default-2023-05-16-ea045f305_sq unknown ❌ 1200.02000 1199.27000
UltimateEliminator UltimateIntBlastingWrapper+SMTInterpol_default unknown ❌ 1200.03000 1258.29000
Yices2 Yices 2 for SMTCOMP 2023_default unsat ✅ 52.78250 52.77790
Z3-Owl z3-Owl-Final_default sat ✅ 1.54824 0.98427
z3-Owl-Final_default unknown ❌ 1200.01000 1199.88000
SMT-COMP 2025 0.67 (2/6) Bitwuzla Bitwuzla unsat ✅ 28.66296 28.51160
cvc5 cvc5 unknown ❌ 1201.77063 1200.93681
SMTInterpol SMTInterpol unknown ❌ 849.97038 889.41689
Yices2 Yices2 unsat ✅ 38.51259 38.38528
Z3 Z3-Owl-base unknown ❌ 1201.25014 1200.91935
Z3-Owl Z3-Owl unknown ❌ 1201.79260 1201.01326