6937 Commits
Author SHA1 Message Date
Daniel MonroeandJoost VandeVondele cd52859bd5 Simplify improving term
Set improving whenever ss->staticEval >= beta

Passed simplification STC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 38016 W: 10122 L: 9900 D: 17994
Ptnml(0-2): 143, 4388, 9747, 4564, 166
https://tests.stockfishchess.org/tests/view/688803917b562f5f7b7322eb

Passed simplification LTC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 21648 W: 5594 L: 5375 D: 10679
Ptnml(0-2): 12, 2241, 6096, 2466, 9
https://tests.stockfishchess.org/tests/view/688820397b562f5f7b73235d

closes https://github.com/official-stockfish/Stockfish/pull/6198

Bench: 3576884
2025-08-02 16:18:46 +02:00
CSTENTORandJoost VandeVondele 57b32f3e60 Make Resetting the Aspiration Window after FailLow more aggressive
Sets beta=(3alpha+beta)/4 when failLow. Before it was beta=(alpha+beta)/2, even
though in theory we should be getting an upper bound from a failLow, we can’t
trust the score that caused the failLow. Therefore beta=alpha doesn’t work. I
made the buffer between the new beta to the bestValue that caused the failLow
smaller.

passed STC:
https://tests.stockfishchess.org/tests/view/688674947b562f5f7b7315b5
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 119616 W: 31253 L: 30818 D: 57545
Ptnml(0-2): 313, 14028, 30724, 14397, 346

passed LTC:
https://tests.stockfishchess.org/tests/view/6887e0ad7b562f5f7b731afc
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 96978 W: 24905 L: 24466 D: 47607
Ptnml(0-2): 59, 10376, 27183, 10809, 62

closes https://github.com/official-stockfish/Stockfish/pull/6197

bench: 3085519
2025-08-02 16:12:12 +02:00
aronpetkovskiandJoost VandeVondele cef551092c Only do IIR in minimally reduced nodes
Passed STC
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 164256 W: 42799 L: 42299 D: 79158
Ptnml(0-2): 451, 19305, 42087, 19863, 422
https://tests.stockfishchess.org/tests/view/68868e9b7b562f5f7b731615

Passed LTC
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 279396 W: 71871 L: 71062 D: 136463
Ptnml(0-2): 126, 30117, 78404, 30924, 127
https://tests.stockfishchess.org/tests/view/6886a4977b562f5f7b731663

closes https://github.com/official-stockfish/Stockfish/pull/6196

Bench: 3490609
2025-08-02 16:02:41 +02:00
J. OsterandJoost VandeVondele 9034730a5a Display upper/lowerbound before wdl
Bound info belongs directly to score info

closes https://github.com/official-stockfish/Stockfish/pull/6195

No functional change.
2025-08-02 15:54:10 +02:00
FauziAkramandJoost VandeVondele fdd9c34b75 Re-adding ttHit condition, but this time in the inner block
Passed STC:
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 150240 W: 39305 L: 38819 D: 72116
Ptnml(0-2): 536, 17541, 38494, 17999, 550
https://tests.stockfishchess.org/tests/view/6887ce577b562f5f7b731a85

Passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 159120 W: 41025 L: 40461 D: 77634
Ptnml(0-2): 96, 16974, 44866, 17518, 106
https://tests.stockfishchess.org/tests/view/6887f0ba7b562f5f7b731c5d

closes https://github.com/official-stockfish/Stockfish/pull/6193

bench: 3498926
2025-08-02 15:50:17 +02:00
mstemberaandJoost VandeVondele 83071917e9 Optimize find_nnz() using VBMI2
about a 0.7% speedup for the x86-64-avx512icl ARCH

closes https://github.com/official-stockfish/Stockfish/pull/6186

No functional change
2025-08-02 15:49:35 +02:00
aronpetkovskiandJoost VandeVondele 64e8e1b247 Simplify LMR extension limit formula
This patch simplifies the maximum depth formula that reductions in LMR can allow.

Passed STC
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 35616 W: 9358 L: 9139 D: 17119
Ptnml(0-2): 101, 4051, 9278, 4284, 94
https://tests.stockfishchess.org/tests/view/688608cf966ed85face24882

Passed LTC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 22284 W: 5833 L: 5613 D: 10838
Ptnml(0-2): 8, 2367, 6173, 2585, 9
https://tests.stockfishchess.org/tests/view/68860d7f966ed85face248d5

closes https://github.com/official-stockfish/Stockfish/pull/6191

Bench: 2902492
2025-07-28 20:18:55 +02:00
Daniel MonroeandJoost VandeVondele 525a5749bc Simplify extra continuation history updates
Passed simplification STC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 254464 W: 65774 L: 65793 D: 122897
Ptnml(0-2): 699, 30087, 65638, 30150, 658
https://tests.stockfishchess.org/tests/view/68863283966ed85face24a59

Passed simplification LTC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 144750 W: 37111 L: 37018 D: 70621
Ptnml(0-2): 79, 15676, 40764, 15785, 71
https://tests.stockfishchess.org/tests/view/6886655f7b562f5f7b731359

closes https://github.com/official-stockfish/Stockfish/pull/6189

Bench: 3071078
2025-07-28 20:13:15 +02:00
StyxandJoost VandeVondele ab83d320b8 Simplify NMP condition
As this is tried only for cutNode, and all children of cutNodes will be nonCutNodes, the guard condition is redundant.
Simplification just removes the unnecessary condition (always true).

closes https://github.com/official-stockfish/Stockfish/pull/6187

No functional change
2025-07-28 20:11:40 +02:00
87andJoost VandeVondele 1d8f118c3e Remove unnecessary deque allocation in perft
closes https://github.com/official-stockfish/Stockfish/pull/6182

No functional change.
2025-07-28 20:05:26 +02:00
FauziAkramandJoost VandeVondele a9b7638e96 Simplify newDepth modification formulas
Passed STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 21856 W: 5709 L: 5471 D: 10676
Ptnml(0-2): 77, 2466, 5589, 2734, 62
https://tests.stockfishchess.org/tests/view/68862ea4966ed85face24a27

Passed LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 108828 W: 27893 L: 27763 D: 53172
Ptnml(0-2): 59, 11860, 30435, 12012, 48
https://tests.stockfishchess.org/tests/view/68863046966ed85face24a3b

closes https://github.com/official-stockfish/Stockfish/pull/6181

Bench: 3069051
2025-07-28 20:03:05 +02:00
Nonlinear2andJoost VandeVondele 2e2d2778fc increase futility value when capturing last moved piece
Passed STC:
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 204320 W: 53059 L: 52500 D: 98761
Ptnml(0-2): 551, 23874, 52778, 24379, 578
https://tests.stockfishchess.org/tests/view/688618ae966ed85face24976

Passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 138582 W: 35748 L: 35225 D: 67609
Ptnml(0-2): 62, 14874, 38900, 15389, 66
https://tests.stockfishchess.org/tests/view/68862717966ed85face249f2

closes https://github.com/official-stockfish/Stockfish/pull/6190

Bench: 2894413
2025-07-28 19:52:40 +02:00
FauziAkramandJoost VandeVondele 9045fdb227 Add depth condition
Passed STC:
LLR: 2.94 (-2.94,2.94) <0.00,2.00>
Total: 103360 W: 26941 L: 26530 D: 49889
Ptnml(0-2): 291, 11964, 26770, 12353, 302
https://tests.stockfishchess.org/tests/view/68863547966ed85face24a6f

Passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 115128 W: 29734 L: 29258 D: 56136
Ptnml(0-2): 48, 12406, 32182, 12878, 50
https://tests.stockfishchess.org/tests/view/68864f867b562f5f7b7312f2

closes https://github.com/official-stockfish/Stockfish/pull/6184

Bench: 2972498
2025-07-28 19:49:05 +02:00
FauziAkramandJoost VandeVondele 4fcfb0b4b7 Tweak the logic for setting the improving flag
Tweak the logic for setting the improving flag when the static evaluation is significantly higher than alpha.

Passed STC:
LLR: 2.93 (-2.94,2.94) <0.00,2.00>
Total: 92320 W: 24057 L: 23664 D: 44599
Ptnml(0-2): 247, 10689, 23893, 11086, 245
https://tests.stockfishchess.org/tests/view/68860aba966ed85face248a1

Passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 281292 W: 72496 L: 71683 D: 137113
Ptnml(0-2): 135, 30289, 78995, 31082, 145
https://tests.stockfishchess.org/tests/view/6886168c966ed85face24962

closes https://github.com/official-stockfish/Stockfish/pull/6180

Bench: 3200439
2025-07-28 19:45:13 +02:00
pb00067andJoost VandeVondele 402602a70d Simplify static evaluation difference to move ordering logic
Passed STC simplification bounds
https://tests.stockfishchess.org/tests/view/686fcb091451bd6fb83082bc
LLR: 2.92 (-2.94,2.94) <-1.75,0.25>
Total: 762816 W: 196717 L: 197295 D: 368804
Ptnml(0-2): 2052, 90457, 196853, 90109, 1937

Passed LTC simplification bounds
https://tests.stockfishchess.org/tests/view/68808d316e17e7fa3939b35d
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 44736 W: 11499 L: 11303 D: 21934
Ptnml(0-2): 24, 4766, 12586, 4974, 18

closes https://github.com/official-stockfish/Stockfish/pull/6176

bench: 2684407
2025-07-28 19:40:15 +02:00
Guenther DemetzandJoost VandeVondele b6082ba750 Simplify search functions according DRY principle
Passed STC non-regression bounds
https://tests.stockfishchess.org/tests/view/6870db4bfa93cf16d3bb286a
LLR: 3.00 (-2.94,2.94) <-1.75,0.25>
Total: 182016 W: 46735 L: 46673 D: 88608
Ptnml(0-2): 368, 19895, 50465, 19867, 413

closes https://github.com/official-stockfish/Stockfish/pull/6161

no functional change
2025-07-28 19:35:28 +02:00
Muzhen GamingandJoost VandeVondele 90c83c381f VVLTC Search Tune
alues were tuned with 125k VVLTC games.

Passed VVLTC 1st sprt:
https://tests.stockfishchess.org/tests/view/68865feb7b562f5f7b731341
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 39640 W: 10380 L: 10109 D: 19151
Ptnml(0-2): 5, 3556, 12424, 3833, 2

Passed VVLTC 2nd sprt:
https://tests.stockfishchess.org/tests/view/68864dfa7b562f5f7b7312ee
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 25972 W: 6807 L: 6537 D: 12628
Ptnml(0-2): 0, 2294, 8132, 2556, 4

closes https://github.com/official-stockfish/Stockfish/pull/6188

Bench: 3143696
2025-07-28 19:33:00 +02:00
aronpetkovskiandJoost VandeVondele a516b517d3 Simplify eval >= beta condition from NMP
It seems that now only checking if static eval is above beta by some margin is all that's necessary.

Passed Non-Regression STC
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 227264 W: 58430 L: 58421 D: 110413
Ptnml(0-2): 532, 26559, 59454, 26542, 545
https://tests.stockfishchess.org/tests/view/68763a77432ca24f6388c766

Passed Non-Regression LTC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 72048 W: 18622 L: 18455 D: 34971
Ptnml(0-2): 26, 7775, 20272, 7908, 43
https://tests.stockfishchess.org/tests/view/687c9f2b6e17e7fa3939b0c5

closes https://github.com/official-stockfish/Stockfish/pull/6175

Bench: 2759840
2025-07-24 10:38:13 +02:00
Daniel MonroeandJoost VandeVondele 92514fd3a2 Simplify away a term in see pruning
This change only sets the margin to 0 when depth <= 2 and margin <= 42 which
never has a difference, thus non-functional

Passed non-regression STC
LLR: 3.51 (-2.94,2.94) <-1.75,0.25>
Total: 306976 W: 78935 L: 78961 D: 149080
Ptnml(0-2): 630, 34097, 84067, 34057, 637
https://tests.stockfishchess.org/tests/view/68708015fa93cf16d3bb2782

closes https://github.com/official-stockfish/Stockfish/pull/6170

No functional change
2025-07-24 10:32:41 +02:00
DisservinandJoost VandeVondele e88ccfd835 Prevent accidential misuse of TUNE()
Writing a TUNE expression like

int smallNetThreshold = 962;
TUNE(smallNetThreshold, 850, 1050);

is wrong and can lead to a weird binary. It should thus fail to even compile,
with the proper intellisense you'll also see the error directly in your editor.

A cheap way to prevent this is to disallow any fundamental type in the parameter list.

closes https://github.com/official-stockfish/Stockfish/pull/6164

No functional change
2025-07-24 10:28:17 +02:00
FauziAkramandJoost VandeVondele bdc393d3a2 Correct comment
closes https://github.com/official-stockfish/Stockfish/pull/6159

No functional change
2025-07-24 10:26:15 +02:00
Daniel SamekandJoost VandeVondele 2c9a1871ae Add offsets to history updates.
All parameters were tuned on 60k STC games (https://tests.stockfishchess.org/tests/view/6867ef49fe0f2fe354c0c735).

Passed STC:
LLR: 2.98 (-2.94,2.94) <0.00,2.00>
Total: 60576 W: 15794 L: 15444 D: 29338
Ptnml(0-2): 141, 7003, 15642, 7369, 133
https://tests.stockfishchess.org/tests/view/686d5af11451bd6fb830772a

Passed LTC:
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 58722 W: 15159 L: 14799 D: 28764
Ptnml(0-2): 19, 6259, 16455, 6599, 29
https://tests.stockfishchess.org/tests/view/686f9fd51451bd6fb83081c9

closes https://github.com/official-stockfish/Stockfish/pull/6158

bench: 2706299
2025-07-24 10:24:08 +02:00
FauziAkramandJoost VandeVondele 793110ca19 Remove !ttData.move condition from cutNode reduction
Passed STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 118080 W: 30427 L: 30298 D: 57355
Ptnml(0-2): 290, 13880, 30561, 14029, 280
https://tests.stockfishchess.org/tests/view/6853f9bc038630d25f468670

Passed LTC:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 232272 W: 59187 L: 59182 D: 113903
Ptnml(0-2): 111, 25430, 65014, 25505, 76
https://tests.stockfishchess.org/tests/view/68585c40a596a06817bb922e

closes https://github.com/official-stockfish/Stockfish/pull/6157

bench: 2227361
2025-07-24 10:19:10 +02:00
Shawn XuandJoost VandeVondele e2aa125570 Consistent syntax for class members
Currently, search.cpp uses three different syntax when accessing class member variables

* thisThread object references. This was a remnant from when pos.this_thread() was necessary for thread-local variable access
* this object references
* implicit member variable access

This PR aims to deprecate thisThread and standardize this syntax to implicit variable access, which is consistent with the rest of SF's codebase.

closes https://github.com/official-stockfish/Stockfish/pull/6154

no functional change
2025-07-24 10:13:24 +02:00
87andJoost VandeVondele 8c2d21f91a Speedup movegen with VBMI2
Passed STC
LLR: 2.96 (-2.94,2.94) <0.00,2.00>
Total: 166720 W: 43191 L: 42701 D: 80828
Ptnml(0-2): 348, 18567, 45069, 18999, 377
https://tests.stockfishchess.org/tests/view/686ae98dfe0f2fe354c0c867

Refactor movegen to emit to a vector with 16-bit elements, which enables a
speedup with AVX512-VBMI2 when writing moves to the move list.

Very crude timing measurements of perft via timing ./stockfish "go perft 7"
demonstrates approximately 17% perft speedup:

Summary
  ./Stockfish-dev/src/stockfish 'go perft 7' ran
    1.17 ± 0.04 times faster than ./Stockfish-base/src/stockfish 'go perft 7'

Estimated overall nps increase of 0.4% via speedtest: 33605229 -> 33749825
(many thanks JonathanHallstrom).

The corresponding arch is avx512icl as it is a good baseline for consumer
avx-512 feature set support; Intel Ice Lake was the first consumer AVX-512 CPU
and it is a decent subset of what AMD Zen 4 supports.

closes https://github.com/official-stockfish/Stockfish/pull/6153

No functional change
2025-07-24 10:08:35 +02:00
Daniel MonroeandJoost VandeVondele c13f883dc4 simplify away TT history term
Passed simplification STC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 163168 W: 42136 L: 42055 D: 78977
Ptnml(0-2): 410, 19224, 42212, 19351, 387
https://tests.stockfishchess.org/tests/view/684e16ee703522d4f129c9e9

Passed simplification LTC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 303144 W: 77580 L: 77647 D: 147917
Ptnml(0-2): 150, 33110, 85134, 33013, 165
https://tests.stockfishchess.org/tests/view/6852ff97703522d4f129d5f7

closes https://github.com/official-stockfish/Stockfish/pull/6152

bench: 2294774
2025-07-24 09:59:00 +02:00
Daniel MonroeandJoost VandeVondele a43f12ef08 Simplify away constants in statscore
Passed simplification STC
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 317280 W: 81589 L: 81678 D: 154013
Ptnml(0-2): 799, 37651, 81847, 37526, 817
https://tests.stockfishchess.org/tests/view/684e197a703522d4f129c9f0

Passed simplification LTC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 174816 W: 44656 L: 44593 D: 85567
Ptnml(0-2): 83, 19064, 49058, 19113, 90
https://tests.stockfishchess.org/tests/view/6858aa54a596a06817bb924f

closes https://github.com/official-stockfish/Stockfish/pull/6150

bench: 2508140
2025-07-24 09:56:36 +02:00
FauziAkramandJoost VandeVondele 6a09a24cd8 Remove depth condition from ttCapture reduction
Passed STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 25920 W: 6822 L: 6593 D: 12505
Ptnml(0-2): 54, 2932, 6783, 3113, 78
https://tests.stockfishchess.org/tests/view/6853f9c2038630d25f468672

Passed LTC:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 177318 W: 45339 L: 45278 D: 86701
Ptnml(0-2): 85, 19333, 49765, 19388, 88
https://tests.stockfishchess.org/tests/view/6854468a038630d25f4686c0

closes https://github.com/official-stockfish/Stockfish/pull/6149

bench: 2437275
2025-07-24 09:52:35 +02:00
Daniel MonroeandJoost VandeVondele 62f08568cd Simplify PV term in lmr
Passed simplification STC
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 204000 W: 52541 L: 52506 D: 98953
Ptnml(0-2): 561, 24133, 52589, 24144, 573
https://tests.stockfishchess.org/tests/view/684f24ce703522d4f129cab5

Passed simplification LTC
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 156150 W: 39890 L: 39807 D: 76453
Ptnml(0-2): 82, 16882, 44043, 17007, 61
https://tests.stockfishchess.org/tests/view/6855d8bf1d0d9fc6587538f8

closes https://github.com/official-stockfish/Stockfish/pull/6148

bench 2766493
2025-07-24 09:49:43 +02:00
FauziAkramandDisservin ce73441f20 Simplify sudden death time optimization
Passed Sudden Death STC:
https://tests.stockfishchess.org/tests/view/68455fe5375c2b77d9855351
LLR: 2.91 (-2.94,2.94) <-1.75,0.25>
Total: 49248 W: 13008 L: 12798 D: 23442
Ptnml(0-2): 309, 5491, 12821, 5687, 316

Passed Sudden Death LTC:
https://tests.stockfishchess.org/tests/view/6845a392375c2b77d98553cf
LLR: 3.01 (-2.94,2.94) <-1.75,0.25>
Total: 551070 W: 141699 L: 142031 D: 267340
Ptnml(0-2): 1923, 60608, 150916, 60054, 2034

Passed Standard STC:
https://tests.stockfishchess.org/tests/view/683c5ebb6ec7634154f9d989
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 142624 W: 36808 L: 36709 D: 69107
Ptnml(0-2): 302, 15448, 39745, 15483, 334

Passed Standard LTC:
https://tests.stockfishchess.org/tests/view/683f1a4f6ec7634154f9dc5a
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 146922 W: 37381 L: 37296 D: 72245
Ptnml(0-2): 69, 13552, 46117, 13671, 52

closes https://github.com/official-stockfish/Stockfish/pull/6132

Bench: 2249459
2025-07-02 18:41:46 +02:00
FauziAkramandDisservin e695b9537e Remove eval & beta diff from NM reduction
Passed STC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 43456 W: 11178 L: 10966 D: 21312
Ptnml(0-2): 114, 5078, 11114, 5326, 96
https://tests.stockfishchess.org/tests/view/6849ae13e84567164b5c9de9

Passed LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 63090 W: 16302 L: 16125 D: 30663
Ptnml(0-2): 37, 6837, 17603, 7048, 20
https://tests.stockfishchess.org/tests/view/684ab516e84567164b5ca02f

closes https://github.com/official-stockfish/Stockfish/pull/6134

Bench: 2249459
2025-07-02 18:41:46 +02:00
mstemberaandDisservin ce7254b5ea Optimize find_nnz() using AVX512
About a 1% speedup for ARCH x86-64-avx512 and x86-64-vnni512.

Note:  This could be optimized further if we wanted to add an ARCH
supporting VBMI2 which is even more modern than VNNI.

https://en.wikichip.org/wiki/x86/avx512_vbmi2

closes https://github.com/official-stockfish/Stockfish/pull/6139

No functional change
2025-07-02 18:41:45 +02:00
MinetaSandDisservin ea85a54fef Fix trivial errors in Makefile
1. Remove "default" rule as "default" has no special meaning as a rule
name. Make runs the very first rule whose name doesn't begin with a dot
(which is "help" currently).

2. Make "format" rule not update dependencies.

closes https://github.com/official-stockfish/Stockfish/pull/6140

No functional change
2025-07-02 18:32:12 +02:00
Robert Nurnberg @ elitebookandDisservin 84e2f3851d Introduce a constant for ValueList size in search()
Having the size of these lists in two separate places likely contributed
to the crashes seen during the recent tuning attempt
https://tests.stockfishchess.org/tests/view/685c413343ce022d15794536.

Thanks to @MinetaS for spotting this.

closes https://github.com/official-stockfish/Stockfish/pull/6142

No functional change
2025-07-02 18:32:02 +02:00
Daniel MonroeandDisservin 3a0fff96cf Simplify quiet move streak logic
Passed non-regression STC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 148960 W: 38409 L: 38312 D: 72239
Ptnml(0-2): 372, 17664, 38318, 17747, 379
https://tests.stockfishchess.org/tests/view/684c5773703522d4f129c5f7

Passed non-regression LTC
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 180720 W: 46188 L: 46130 D: 88402
Ptnml(0-2): 84, 19608, 50929, 19644, 95
https://tests.stockfishchess.org/tests/view/68505fa5703522d4f129cbab

closes https://github.com/official-stockfish/Stockfish/pull/6143

Bench: 2055894
2025-07-02 18:31:04 +02:00
Shawn XuandDisservin 318c948c4d Remove non-functional low-ply history fill
lowPlyHistory is always cleared at the start of `iterative_deepening`, so clearing it here is non-functional.

closes https://github.com/official-stockfish/Stockfish/pull/6144

No functional change
2025-07-02 18:31:04 +02:00
Daniel MonroeandDisservin a7a56c41f6 Simplify history term in futility pruning
Passed simplification STC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 298816 W: 76814 L: 76881 D: 145121
Ptnml(0-2): 726, 35477, 77057, 35434, 714
https://tests.stockfishchess.org/tests/view/683f440f6ec7634154f9dc7f

Passed simplification LTC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 237774 W: 60801 L: 60802 D: 116171
Ptnml(0-2): 91, 26088, 66532, 26083, 93
https://tests.stockfishchess.org/tests/view/68441189ffbc71bd236778de

closes https://github.com/official-stockfish/Stockfish/pull/6130

Bench: 2411502
2025-07-02 18:31:04 +02:00
pb00067andDisservin 34b75f1575 Restore integrity of MovePicker::can_move_king_or_pawn
PR6005 broken by PR6071

passed STC non regression
https://tests.stockfishchess.org/tests/view/6839791f6ec7634154f9d312
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 31776 W: 8353 L: 8130 D: 15293
Ptnml(0-2): 74, 3566, 8382, 3795, 71

passed LTC non-regression
https://tests.stockfishchess.org/tests/view/6839c87a6ec7634154f9d367
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 120756 W: 31015 L: 30899 D: 58842
Ptnml(0-2): 50, 12732, 34703, 12838, 55

closes https://github.com/official-stockfish/Stockfish/pull/6119

Bench: 1945300
2025-07-02 18:31:02 +02:00
Shawn XuandJoost VandeVondele 5337edfdb6 remove non-functional else
since we break out of the loop in the other branch

closes https://github.com/official-stockfish/Stockfish/pull/6116

no functional change
2025-06-02 22:12:37 +02:00
Daniel MonroeandJoost VandeVondele 9ac756695e reduce depth by 5 in probcut
Passed simplification STC
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 63328 W: 16402 L: 16213 D: 30713
Ptnml(0-2): 174, 7378, 16340, 7629, 143
https://tests.stockfishchess.org/tests/view/6833530e6ec7634154f9be7f

Passed simplification LTC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 69936 W: 17795 L: 17625 D: 34516
Ptnml(0-2): 29, 7631, 19474, 7809, 25
https://tests.stockfishchess.org/tests/view/68335e386ec7634154f9c266

closes https://github.com/official-stockfish/Stockfish/pull/6120

Bench: 2307268
2025-06-02 22:09:11 +02:00
Daniel MonroeandJoost VandeVondele 254b6d5e85 Simplify corrections in extension margins
Passed simplification STC
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 96192 W: 25002 L: 24852 D: 46338
Ptnml(0-2): 242, 10868, 25716, 11038, 232
https://tests.stockfishchess.org/tests/view/683b44cb6ec7634154f9d6ac

Passed simplification LTC
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 83334 W: 21473 L: 21317 D: 40544
Ptnml(0-2): 37, 8877, 23674, 9051, 28
https://tests.stockfishchess.org/tests/view/683b79786ec7634154f9d75a

closes https://github.com/official-stockfish/Stockfish/pull/6117

Bench: 2294814
2025-06-02 22:05:11 +02:00
Shawn XuandJoost VandeVondele 259bdaaa9f Remove an unnecessary bound check
When failing high, it is always true that `alpha < beta` and `beta <=
bestValue`. Therefore if alpha and bestValue is not in decisive range, it is
guaranteed that beta is not.

closes https://github.com/official-stockfish/Stockfish/pull/6115

no functional change
2025-06-02 21:57:19 +02:00
Shawn XuandJoost VandeVondele c9af7674bc Introduce Secondary TT Aging
When a high-depth TT entry fail to produce a cutoff, decrease the stored depth
by 1. This is intended to help cases such as #5023
(https://github.com/official-stockfish/Stockfish/issues/5023#issuecomment-2814209391),
where entries with extremely high depths prevent TT cutoffs, contributing to
search explosions.

Passed STC:
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 128800 W: 33502 L: 33053 D: 62245
Ptnml(0-2): 331, 15084, 33149, 15477, 359
https://tests.stockfishchess.org/tests/view/683958e56ec7634154f9d2a9

Passed LTC:
LLR: 2.97 (-2.94,2.94) <0.50,2.50>
Total: 63288 W: 16376 L: 16005 D: 30907
Ptnml(0-2): 26, 6712, 17798, 7081, 27
https://tests.stockfishchess.org/tests/view/683aa4026ec7634154f9d469

closes https://github.com/official-stockfish/Stockfish/pull/6113

Bench: 2144705
2025-06-02 21:55:55 +02:00
Daniel MonroeandJoost VandeVondele 3747a19937 Simplify away depth condition in IIR
Passed simplification STC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 359520 W: 92714 L: 92849 D: 173957
Ptnml(0-2): 977, 42640, 92614, 42599, 930
https://tests.stockfishchess.org/tests/view/6833705d6ec7634154f9c302

Passed simplification LTC
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 201756 W: 51544 L: 51507 D: 98705
Ptnml(0-2): 89, 21965, 56728, 22012, 84
https://tests.stockfishchess.org/tests/view/68338e386ec7634154f9c790

Passed simplification VLTC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 48558 W: 12675 L: 12492 D: 23391
Ptnml(0-2): 9, 4779, 14516, 4970, 5
https://tests.stockfishchess.org/tests/view/6838e0b26ec7634154f9d25b

closes https://github.com/official-stockfish/Stockfish/pull/6112

Bench: 2302583
2025-06-02 21:52:38 +02:00
Daniel MonroeandJoost VandeVondele 70ff5e3163 Simplify away cutoff term in prior countermove bonus
Passed simplification STC
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 61120 W: 16010 L: 15819 D: 29291
Ptnml(0-2): 150, 7105, 15869, 7276, 160
https://tests.stockfishchess.org/tests/view/683560226ec7634154f9ce0f

Passed simplification LTC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 225090 W: 57555 L: 57543 D: 109992
Ptnml(0-2): 104, 24367, 63603, 24355, 116
https://tests.stockfishchess.org/tests/view/6836420c6ec7634154f9cf5c

closes https://github.com/official-stockfish/Stockfish/pull/6111

Bench: 2472910
2025-06-02 21:49:43 +02:00
Daniel MonroeandJoost VandeVondele ddefd6eb6b Simplify away check term in statscore
Passed simplification STC
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 61696 W: 16031 L: 15841 D: 29824
Ptnml(0-2): 151, 7160, 16046, 7330, 161
https://tests.stockfishchess.org/tests/view/68353fcc6ec7634154f9cdd5

Passed simplification LTC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 237990 W: 60994 L: 60995 D: 116001
Ptnml(0-2): 95, 25964, 66903, 25913, 120
https://tests.stockfishchess.org/tests/view/683642256ec7634154f9cf5e

closes https://github.com/official-stockfish/Stockfish/pull/6110

Bench: 2521003
2025-06-02 21:47:26 +02:00
Nonlinear2andJoost VandeVondele 8da3c2155a Simplify NMP eval in qsearch
Passed non-regression STC:
https://tests.stockfishchess.org/tests/view/6834e9436ec7634154f9cd6e
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 24864 W: 6626 L: 6394 D: 11844
Ptnml(0-2): 62, 2806, 6477, 3012, 75

Passed non-regression LTC:
https://tests.stockfishchess.org/tests/view/683598fd6ec7634154f9ce82
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 200148 W: 51461 L: 51424 D: 97263
Ptnml(0-2): 92, 21672, 56503, 21721, 86

closes https://github.com/official-stockfish/Stockfish/pull/6109

Bench: 2316591
2025-06-02 21:44:29 +02:00
Carlos EsparzaandJoost VandeVondele 5695486db9 Fix outdated comment
closes https://github.com/official-stockfish/Stockfish/pull/6108

No functional change
2025-06-02 21:40:13 +02:00
Shawn XuandJoost VandeVondele d0212906bd Simplify stat eval history adjustment further
closes https://github.com/official-stockfish/Stockfish/pull/6106

bench 2074807
2025-06-02 21:37:37 +02:00
mstemberaandJoost VandeVondele 29b0c07ac8 Simplify Position::pieces()
closes https://github.com/official-stockfish/Stockfish/pull/6104

No functional change
2025-06-02 21:28:18 +02:00