Benchmark

non-incremental/QF_BV/brummayerbiere/countbitsrotate016.smt2

Count bits pop(x) algorithm, rotate and sum method
From the book "Hacker's delight" by Henry S. Warren, Jr., page 70
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
Size4121
Compressed Size773
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 4113
Compressed Size759
Max. Term Depth49
Asserts 1
Declared Functions0
Declared Constants1
Declared Sorts 0
Defined Functions0
Defined Recursive Functions 0
Defined Sorts0
Constants0
Declared Datatypes0

Symbols

ite33 not17 =34 let28
bvnot1 bvand16 bvneg1 bvadd31
bvshl16 zero_extend16 rotate_left15

Evaluations

Evaluation Rating Solver Variant Result Wallclock CPU Time
SMT Evaluation 2013 0.11 (8/9) 4Simp 4Simp-SMT-COMP-2012 default unsat ✅ 17.70980
Abziz abziz_portfolio_2011_minfeatures_2 default unsat ✅ 28.95790
abziz_portfolio_2011_solvers_2 default unsat ✅ 36.23010
abziz_portfolio_2012_minfeatures default unsat ✅ 19.71590
abziz_portfolio_2012_solvers default unsat ✅ 19.82610
AbzizPortfolio-SMT-COMP-2012 default unsat ✅ 20.06370
Boolector Boolector-1.5.118-SMT-EVAL-2013 default unsat ✅ 28.22190
Boolector-SMT-COMP-2011 default unsat ✅ 15.02780
Boolector-SMT-COMP-2012 default unsat ✅ 32.39170
CVC3 CVC3-SMT-COMP-2010 default unknown ❌ 362.19000
CVC3-SMT-COMP-2011 default unknown ❌
CVC3-SMT-COMP-2012 default unknown ❌
CVC4 CVC4-SMT-COMP-2012-Resubmission default unsat ✅ 24.04830
CVC4-SMT-EVAL-2013 default unsat ✅ 47.43340
MathSAT MathSAT5-5.2.6-SMT-EVAL-2013 default unsat ✅ 36.11430
MathSAT5-HeavyBV-SMT-COMP-2012 default unsat ✅ 19.23070
MathSAT5-SMT-COMP-2011 default unsat ✅ 31.30500
MathSAT5-SMT-COMP-2012 default unsat ✅ 29.63430
SONOLAR SONOLAR-2013-05-15-SMT-EVAL-2013 default unsat ✅ 28.40130
SONOLAR-SMT-COMP-2010 default unsat ✅ 17.36320
SONOLAR-SMT-COMP-2011 default unsat ✅ 27.90740
SONOLAR-SMT-COMP-2012 default unsat ✅ 34.15570
STP STP2-SMT-COMP-2011 default unsat ✅ 23.69320
STP2-SMT-COMP-2012 default unsat ✅ 14.89340
simplifyingSTP-SMT-COMP-2010 default unsat ✅ 15.61800
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-EVAL-2013 default unsat ✅ 17.04870
Z3-SMT-COMP-2011 default unsat ✅ 17.52250
SMT-COMP 2014 4Simp 4Simp - 2014 default unsat ✅ 8.59985 8.59469
Abziz abziz_portfolio_all_features default unsat ✅ 22.51920 22.46230
abziz_portfolio_min_features default unsat ✅ 33.01760 32.95070
Boolector Boolector boolector unsat ✅ 14.03620 14.03290
CVC4 CVC4 f7118b2 default unsat ✅ 34.23570 68.61060
MathSAT MathSAT-5.2.12-Main default unsat ✅ 35.02380 35.03070
SONOLAR sonolar_smtcomp-2014 default unsat ✅ 15.92320 15.91860
STP stp-cryptominisat4 default unsat ✅ 20.61990 20.62590
Yices2 Yices-2.2.1-smtcomp2014 default unsat ✅ 7.80930 7.80381
Z3 Z3-4.3.2.a054b099c1d6-x64-debian-6.0.6-SMT-COMP-2014 default unsat ✅ 17.58160 17.57230
SMT-COMP 2015 Boolector Boolector SMT15 QF_BV final boolector_qf_bv unsat ✅ 25.59610 25.60110
CVC4 CVC4-master-2015-06-15-9b32405-main default unsat ✅ 17.20230 34.45580
CVC4-experimental-2015-06-15-ff5745a-main default unsat ✅ 34.32890 68.78350
MathSAT MathSat 5.3.6 main smtcomp2015_main unsat ✅ 25.09770 25.10920
SMT-RAT SMT-RAT-final default unsat ✅ 169.84800 169.88400
STP stp-cryptominisat4 default unsat ✅ 20.70090 20.70880
stp-cmsat4-v15 default unsat ✅ 12.54170 12.54710
stp-cmsat4-mt-v15 default unknown ❌ 0.04441 0.04299
stp-minisat-v15 default unsat ✅ 24.27160 24.28030
Yices2 Yices default unsat ✅ 7.64217 7.64484
Z3 z3 4.4.0 default unsat ✅ 16.99390 17.00040
SMT-COMP 2016 ABC ABC_default default_abc unsat ✅ 143.89800 143.99400
ABC_glucose glucose unsat ✅ 9.70110 9.70656
Boolector Boolector boolector unsat ✅ 21.55800 21.56930
Boolector preprop boolector unsat ✅ 21.64680 21.65780
CVC4 CVC4-master-2016-05-27-cfef263-main default unsat ✅ 33.58800 67.33060
MapleSTP MapleSTP default unsat ✅ 7.32927 7.33339
MapleSTP-mt default unsat ✅ 6.03508 23.89420
MathSAT mathsat-5.3.11-linux-x86_64-Main default unsat ✅ 22.06210 22.07600
MinkeyRink Minkeyrink 2016 default unsat ✅ 13.56220 53.43570
Q3B Q3B default unsat ✅ 0.19268 0.19448
STP stp-cms-exp-2016 default unsat ✅ 15.99200 15.99880
stp-cms-mt-2016 default unsat ✅ 14.07360 55.74600
stp-cms-st-2016 default unsat ✅ 16.42720 16.43660
stp-minisat-st-2016 default unsat ✅ 227.59200 227.72200
Yices2 Yices-2.4.2 default unsat ✅ 7.72492 7.72994
Z3 z3-4.4.1 default unsat ✅ 18.56230 18.57420
SMT-COMP 2017 Boolector Boolector+CaDiCaL SMT17 final boolector unsat ✅ 15.54470 12.85770
Boolector SMT17 final boolector unsat ✅ 20.56600 20.56320
CVC4 CVC4-smtcomp2017-main default unsat ✅ 93.83750 114.15900
MathSAT mathsat-5.4.1-linux-x86_64-Main default unsat ✅ 22.43450 22.43400
MinkeyRink MinkeyRink 2017.3a default unsat ✅ 15.97490 27.08000
Q3B Q3B default unsat ✅ 0.21086 0.36116
STP stp_st default unsat ✅ 15.15060 15.14990
stp_mt default unsat ✅ 15.27010 60.60150
Yices2 Yices2-Main default unsat ✅ 7.97131 7.96979
Z3 z3-4.5.0 default unsat ✅ 27.05310 27.04530
SMT-COMP 2018 Boolector Boolector_default unsat ✅ 12.28100 12.28070
CVC4 master-2018-06-10-b19c840-competition-default_default unsat ✅ 9.61422 9.61361
MathSAT mathsat-5.5.2-linux-x86_64-Main_default unsat ✅ 22.16320 22.16240
MinkeyRink Minkeyrink MT_mt unsat ✅ 20.60850 81.77810
Minkeyrink ST_st unsat ✅ 21.95630 21.95330
STP STP-CMS-st-2018_default-no-stderr unsat ✅ 22.37340 22.37400
STP-CMS-mt-2018_multicore-no-stderr unsat ✅ 19.03500 75.58260
STP-Riss-st-2018_riss-no-stderr unsat ✅ 12.95730 12.95770
Yices2 Yices 2.6.0_default unsat ✅ 7.65294 7.65260
Z3 z3-4.7.1_default unsat ✅ 23.59310 23.58870
SMT-COMP 2019 Boolector Boolector-wrapped-sq_default unsat ✅ 10.28570 10.28460
Poolector-wrapped-sq_default unsat ✅ 10.37940 40.84000
Boolector-ReasonLS boolector-ReasonLS-wrapped-sq_default unsat ✅ 19.63030 19.62770
CVC4 CVC4-2019-06-03-d350fe1-wrapped-sq_default unsat ✅ 10.52240 10.52150
MinkeyRink MinkeyRink MT-wrapped-sq_default unsat ✅ 19.63610 77.88010
MinkeyRink ST-wrapped-sq_default unsat ✅ 22.14880 22.14730
Par4 Par4-wrapped-sq_default unsat ✅ 7.68260 22.83600
STP STP-2019-wrapped-sq_default unsat ✅ 22.67760 22.67920
stp-mergesat-fixed-wrapped-sq_default unsat ✅ 30.57450 30.57080
stp-minisat-wrapped-sq_default unsat ✅ 25.61520 25.61460
stp-mt-wrapped-sq_default unsat ✅ 18.96090 75.13770
stp-portfolio-fixed-wrapped-sq_default unsat ✅ 30.53070 78.92350
stp-riss-wrapped-sq_default unknown ❌ 0.03364 0.03388
Yices2 Yices 2.6.2-wrapped-sq_default unsat ✅ 8.19538 8.19551
Yices 2.6.2 Cadical-wrapped-sq_default unsat ✅ 8.40355 8.40231
Yices 2.6.2 Cryptominisat-wrapped-sq_default unsat ✅ 21.62670 21.55030
Yices 2.6.2 MCSAT BV-wrapped-sq_default unknown ❌ 2400.04000 2399.85000
Yices 2.6.2 new bvsolver-wrapped-sq_default unsat ✅ 10.22170 10.22180
Z3 z3-4.8.4-d6df51951f4c-wrapped-sq_default unsat ✅ 17.40360 17.40100
SMT-COMP 2020 Bitwuzla Bitwuzla-fixed_default unsat ✅ 9.22425 9.22423
Boolector Boolector-wrapped-sq_default unsat ✅ 9.84215 9.84095
Poolector-wrapped-sq_default unsat ✅ 9.99512 39.08000
CVC4 CVC4-sq-final_default unsat ✅ 10.58450 10.58350
LazyBV2Int LazyBV2Int20200523_default.sh unsat ✅ 29.15410 29.15280
MathSAT MathSAT5_default.sh unsat ✅ 26.90630 26.90800
MinkeyRink MinkeyRink Solver 2020.3.1_default unknown ❌ 0.04072 0.04092
MinkeyRink Solver 2020.3_default unsat ✅ 19.76250 78.40210
STP STP_default unsat ✅ 20.71810 82.09850
STP ++ Mergsat v1_default unsat ✅ 29.62500 29.62190
Yices2 Yices 2.6.2 bug fix_default unsat ✅ 6.68365 6.68283
Z3 z3-4.8.8_default unsat ✅ 22.04190 22.04210
SMT-COMP 2021 Bitwuzla Bitwuzla-fixed_default unsat ✅ 9.13156 9.13203
MathSAT mathsat-5.6.6_default unsat ✅ 25.03820 25.03720
STP STP 2021.0_default unsat ✅ 21.96840 86.95100
Z3 z3-4.8.11_default unsat ✅ 20.74430 20.74200
SMT-COMP 2025 0.11 (8/9) Bitwuzla Bitwuzla unsat ✅ 7.25248 7.12894
Bitwuzla-MachBV-base unsat ✅ 7.09321 6.95642
Bitwuzla-MachBV Bitwuzla-MachBV unsat ✅ 6.85470 6.72043
BVDecide bv_decide unsat ✅ 27.77509 27.62273
bv_decide-nokernel unsat ✅ 22.14445 21.97039
cvc5 cvc5 unsat ✅ 10.13213 10.01154
SMTInterpol SMTInterpol unknown ❌ 1201.48343 1244.63408
Yices2 Yices2 unsat ✅ 5.65375 5.51142
Z3alpha Z3-alpha unsat ✅ 19.59614 77.17525
Z3 Z3-alpha-base unsat ✅ 12.04167 11.91890
Z3-Owl-base unsat ✅ 53.06239 52.93819
z3siri-base unsat ✅ 12.33297 12.20859
Z3-Owl Z3-Owl unsat ✅ 17.99188 17.86376