Commit Graph
6811 Commits
Author SHA1 Message Date
87andJoost VandeVondele 2176c9387e Add performance warning comment for vpcompressw
closes https://github.com/official-stockfish/Stockfish/pull/6237

No functional change
2025-08-17 22:38:09 +02:00
Stefan GeschwentnerandJoost VandeVondele c56bd10cb5 Fix undefined behavior in stalemate trap detection.
An important part of it is a function which detects if we can move a king or
pawn. If this function called before quiet move generation phase the end of the
checked move list is undefined (Thanks to AliceRoselia pointing out we have
some problem because of wrong bench in a test).

This problem exists also in master but is really rarely triggered (thanks to
vondele which found one) but it seen significant more often if the capture
order score is increased.

This fix now simply assumes in this case (and other similiar cases) that a king
or pawn can move without checking any moves.

Passed non-regression STC (with default book):
LLR: 3.03 (-2.94,2.94) <-1.75,0.25>
Total: 203008 W: 52465 L: 52424 D: 98119
Ptnml(0-2): 498, 20293, 59893, 20310, 510
https://tests.stockfishchess.org/tests/view/68a06ec5fd8719b088c8dc1a

Passed non-regression STC (with stalemates book):
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 31616 W: 14418 L: 14366 D: 2832
Ptnml(0-2): 1, 189, 15375, 243, 0
https://tests.stockfishchess.org/tests/view/68a07538fd8719b088c8dc1f

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

Bench: 2996176
2025-08-17 22:35:03 +02:00
Joost VandeVondele 4b6b13ce5a Update sde action to 2.4, switch to 9.33.0
older version no longer downloadable.

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

No functional change
2025-08-17 22:32:03 +02:00
Daniel MonroeandJoost VandeVondele 169737a9eb Simplify dual bonuses
Merge dual capture/quiet bonuses into one

Passed simplification STC
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 223200 W: 57868 L: 57854 D: 107478
Ptnml(0-2): 689, 26441, 57296, 26515, 659
https://tests.stockfishchess.org/tests/view/6898d28e0049e8ccef9d6384

Passed simplification LTC
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 147270 W: 37750 L: 37659 D: 71861
Ptnml(0-2): 84, 15869, 41633, 15970, 79
https://tests.stockfishchess.org/tests/view/68990fe30049e8ccef9d643c

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

Bench: 2996176
2025-08-16 12:12:07 +02:00
Daniel MonroeandJoost VandeVondele c9c002450a Simplify depth term in reductions
Passed simplification STC
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 317344 W: 82352 L: 82442 D: 152550
Ptnml(0-2): 999, 37395, 81907, 37439, 932
https://tests.stockfishchess.org/tests/live_elo/68976798f8a258623dda6c46

Passed simplification LTC
LLR: 2.97 (-2.94,2.94) <-1.75,0.25>
Total: 291708 W: 74733 L: 74787 D: 142188
Ptnml(0-2): 159, 31813, 81956, 31775, 151
https://tests.stockfishchess.org/tests/live_elo/689791a5f8a258623dda6d03

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

Bench: 2436991
2025-08-16 12:06:00 +02:00
Kevin LuandJoost VandeVondele 0db4a1bee9 Remove completedDepth condition for SE
Just removing the term

Passed STC:
LLR: 3.27 (-2.94,2.94) <-1.75,0.25>
Total: 179840 W: 47211 L: 47126 D: 85503
Ptnml(0-2): 567, 17929, 52879, 17942, 603
https://tests.stockfishchess.org/tests/view/688bdd88502b34dd5e7111ea

Passed LTC:
LLR: 3.26 (-2.94,2.94) <-1.75,0.25>
Total: 150708 W: 38738 L: 38637 D: 73333
Ptnml(0-2): 79, 12922, 49262, 13001, 90
https://tests.stockfishchess.org/tests/view/688ce857f17748b4d23c8026

Passed VLTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 288312 W: 74104 L: 74152 D: 140056
Ptnml(0-2): 44, 26732, 90657, 26674, 49
https://tests.stockfishchess.org/tests/view/688ec4f57d68fe4f7f130ee3

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

functional at higher depths

Bench: 3002300
2025-08-16 12:01:19 +02:00
FauziAkramandJoost VandeVondele d864148595 Simplify beta formula
Passed STC:
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 152384 W: 39907 L: 39814 D: 72663
Ptnml(0-2): 557, 17958, 39053, 18083, 541
https://tests.stockfishchess.org/tests/view/6890b66692fcad741b804a10

Passed LTC:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 98688 W: 25411 L: 25270 D: 48007
Ptnml(0-2): 45, 10692, 27743, 10805, 59
https://tests.stockfishchess.org/tests/view/6896019c618946ab878347b0

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

bench: 3002300
2025-08-16 11:57:44 +02:00
Stefan GeschwentnerandJoost VandeVondele 2e91a86354 Add log depth as term to reduction factors.
Replace most reduction factors with a linear term of the form X + Y * msb(depth) (using msb(depth) as simple and fast approximation for log(depth))
and tune the weights with following SPSA test: https://tests.stockfishchess.org/tests/view/689903860049e8ccef9d6415.

Here the tuned values of X[8] and Y[8] were ignored because a simple test with this parameters alone failed badly (https://tests.stockfishchess.org/tests/view/68992b350049e8ccef9d6482).

Passed STC:
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 32448 W: 8651 L: 8342 D: 15455
Ptnml(0-2): 81, 3695, 8408, 3914, 126
https://tests.stockfishchess.org/tests/view/6899489b0049e8ccef9d64ad

Passed LTC:
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 73854 W: 19042 L: 18649 D: 36163
Ptnml(0-2): 37, 7908, 20659, 8271, 52
https://tests.stockfishchess.org/tests/view/689abbe7fd8719b088c8d514

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

Bench: 3151102
2025-08-16 11:51:39 +02:00
mstemberaandJoost VandeVondele 0383670cd5 Avoid using _mm512_storeu_epi16()
gcc 9 & 10 do not provide this function, instead use the generic _mm512_storeu_si512

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95483

https://tests.stockfishchess.org/actions?max_actions=1&action=&user=&text=&before=1755266300.455175&run_id=

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

No functional change
2025-08-16 11:46:39 +02:00
Jost TrillerandJoost VandeVondele 7a07ac0e76 Adjust probcut on staticEval
Reducing probcut depth more when staticEval is very good and less if staticEval is not so good compared to beta

STC: https://tests.stockfishchess.org/tests/view/68926bf6690844f940fa1350
LLR: 2.98 (-2.94,2.94) <0.00,2.00>
Total: 174400 W: 45698 L: 45174 D: 83528
Ptnml(0-2): 622, 20356, 44672, 20976, 574

LTC: https://tests.stockfishchess.org/tests/view/689651b4f8a258623dda6531
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 56010 W: 14547 L: 14191 D: 27272
Ptnml(0-2): 31, 5929, 15738, 6267, 40

This patch was generated using qwen3-235b-a22b-thinking-2507:

Prompt: https://rentry.co/bm6vriai
Thinking: https://rentry.co/34km4zf8
Final respone: https://rentry.co/rauotrvr

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

Bench: 3629755
2025-08-09 09:08:38 +02:00
FauziAkramandJoost VandeVondele ade8917447 Remove outdated comment
Remove the Elo worth, as they are now completely outdated, making them irrelevant and potentially misleading
Continuation of #5810 as these comments in "history.h" were missed.

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

No functional change
2025-08-09 09:04:33 +02:00
mstemberaandJoost VandeVondele 5464f7b114 Remove an instruction from find_nnz()
closes https://github.com/official-stockfish/Stockfish/pull/6212

No functional change
2025-08-09 08:54:47 +02:00
Niklas FiekasandJoost VandeVondele 125a0cfe7b Build x86-64-avx512icl in CI
closes https://github.com/official-stockfish/Stockfish/pull/6217

No functional change
2025-08-09 08:51:45 +02:00
Stockfisher69andJoost VandeVondele 303fe9a164 Simplification: Futility pruning for captures
tested in final form as simplication

passed LTC:
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 113682 W: 29199 L: 29074 D: 55409
Ptnml(0-2): 68, 12359, 31859, 12490, 65
https://tests.stockfishchess.org/tests/view/688e85a17d68fe4f7f130e24

earlier test, equivalent:
passed STC:
LLR: 2.96 (-2.94,2.94) <0.00,2.00>
Total: 120224 W: 31621 L: 31176 D: 57427
Ptnml(0-2): 415, 14167, 30567, 14484, 479
https://tests.stockfishchess.org/tests/view/68888bdd7b562f5f7b732643

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

Bench: 2661621
2025-08-09 08:49:12 +02:00
KazAppsandJoost VandeVondele b177b7394a Separate bonus/malus parameters for quiet and capture moves
Parameters were tuned on 60k STC games.

Passed STC
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 16928 W: 4570 L: 4277 D: 8081
Ptnml(0-2): 57, 1905, 4270, 2152, 80
https://tests.stockfishchess.org/tests/view/688b4486502b34dd5e711122

Passed LTC
LLR: 2.94 (-2.94,2.94) <0.50,2.50>
Total: 43602 W: 11373 L: 11041 D: 21188
Ptnml(0-2): 23, 4657, 12116, 4975, 30
https://tests.stockfishchess.org/tests/view/688c0eb5502b34dd5e71124b

Passed non-regression VLTC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 181016 W: 46335 L: 46281 D: 88400
Ptnml(0-2): 33, 18177, 54034, 18231, 33
https://tests.stockfishchess.org/tests/view/688e0a77f17748b4d23c822b

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

bench: 3435529
2025-08-09 08:43:49 +02:00
rn5f107s2andJoost VandeVondele 94175524b1 Only set ep square if ep capture is possible
for positions such as:

position fen rr6/2q2p1k/2P1b1pp/bB2P1n1/R2B2PN/p4P1P/P1Q4K/1R6 b - - 2 38 moves f7f5
position fen 8/p2r1pK1/6p1/1kp1P1P1/2p5/2P5/8/4R3 b - - 0 43 moves f7f5
position fen 4k3/4p3/2b3b1/3P1P2/4K3/8/8/8 b - - moves e7e5

ep is not possible for various reasons. Do not set the ep square and the do not change the zobrist key, as if ep were possible.

This fixes 3-fold detection, which could in rare cases be observed as a warning generated by fastchess for PVs that continued beyond an actual 3-fold.

Also fixes wrong evals for certain moves e.g. a2a1 for
position fen 4k3/1b2p2b/8/3P1P2/4K3/8/8/r7 b - - 0 1 moves e7e5 e4e3 a1a2 e3e4 a2a1 e4f3 a1a2 f3e4

fixes https://github.com/official-stockfish/Stockfish/issues/6138

originally written and tested by rn5f107s2, with small buglet as
https://tests.stockfishchess.org/tests/view/685af90843ce022d15794400

failed STC
LLR: -2.93 (-2.94,2.94) <-1.75,0.25>
Total: 130688 W: 33986 L: 34362 D: 62340
Ptnml(0-2): 414, 13292, 38302, 12928, 408
https://tests.stockfishchess.org/tests/view/688bcb35502b34dd5e7111c9

passed LTC
LLR: 2.94 (-2.94,2.94) <-1.75,0.25>
Total: 99018 W: 25402 L: 25273 D: 48343
Ptnml(0-2): 54, 9097, 31089, 9204, 65
https://tests.stockfishchess.org/tests/view/688c613c502b34dd5e7112d3

https://github.com/official-stockfish/Stockfish/pull/6211

Bench: 2946135

Co-authored-by: Joost VandeVondele <Joost.VandeVondele@gmail.com>
2025-08-04 15:16:21 +02:00
Jost TrillerandJoost VandeVondele 377a3a5269 Depth dependent reduction threshold when full-depth re-search
STC: https://tests.stockfishchess.org/tests/view/68894d577b562f5f7b73273b
LLR: 2.98 (-2.94,2.94) <0.00,2.00>
Total: 155072 W: 40651 L: 40150 D: 74271
Ptnml(0-2): 609, 18271, 39292, 18738, 626

LTC: https://tests.stockfishchess.org/tests/view/688c2705502b34dd5e71127a
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 321012 W: 82891 L: 81995 D: 156126
Ptnml(0-2): 227, 34421, 90285, 35375, 198

This commit was generated using qwen3-235b-a22b-thinking-2507:

Prompt: https://rentry.co/iqtaoht7

Reasoning/thinking: https://rentry.co/wm6t9hye

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

Bench: 2983938
2025-08-04 15:12:55 +02:00
Shawn XuandJoost VandeVondele 14a2e50a3d Simplify key after
Passed Non-regression STC:
LLR: 2.93 (-2.94,2.94) <-1.75,0.25>
Total: 534016 W: 139438 L: 139771 D: 254807
Ptnml(0-2): 2098, 63469, 136136, 63278, 2027
https://tests.stockfishchess.org/tests/view/688ac64d502b34dd5e7110a4

Passed Non-regression LTC:
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 43980 W: 11346 L: 11149 D: 21485
Ptnml(0-2): 31, 4689, 12353, 4886, 31
https://tests.stockfishchess.org/tests/view/688ea8a47d68fe4f7f130eb3

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

Bench: 2884232
2025-08-04 15:07:37 +02:00
Michael ChalyandJoost VandeVondele 5d1505d8c7 Reintroduce reduction term in LMR for cutnodes
This term increases reduction for cutnodes without tt move, term was simplified away recently.

Passed STC:
https://tests.stockfishchess.org/tests/view/688882007b562f5f7b73262f
LLR: 2.95 (-2.94,2.94) <0.00,2.00>
Total: 187616 W: 49367 L: 48824 D: 89425
Ptnml(0-2): 710, 21898, 48034, 22471, 695

Passed LTC:
https://tests.stockfishchess.org/tests/view/688c71f4502b34dd5e71139a
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 140280 W: 36280 L: 35750 D: 68250
Ptnml(0-2): 79, 15175, 39121, 15667, 98

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

Bench: 2996732
2025-08-04 14:58:59 +02:00
FauziAkramandJoost VandeVondele 8e733d68fd Refactor: Simplify pawn structure indexing
Refactoring the mechanism for calculating pawn structure hash indices and make it consistent with the rest.

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

No functional change
2025-08-04 14:56:03 +02:00
Joost VandeVondele a6e34f128f Fix icx profile-build
fixes the issue pointed out in https://github.com/official-stockfish/Stockfish/pull/6202

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

No functional change
2025-08-04 14:53:49 +02:00
FauziAkramandJoost VandeVondele a37b38bdf0 Add "d < newDepth" condition for doDeeperSearch
Add "d < newDepth" condition for doDeeperSearch

Passed STC:
LLR: 2.97 (-2.94,2.94) <0.00,2.00>
Total: 66144 W: 17512 L: 17148 D: 31484
Ptnml(0-2): 220, 7726, 16833, 8056, 237
https://tests.stockfishchess.org/tests/view/6887cce67b562f5f7b731a79

Passed LTC:
LLR: 2.95 (-2.94,2.94) <0.50,2.50>
Total: 411240 W: 106103 L: 105023 D: 200114
Ptnml(0-2): 256, 44249, 115566, 45257, 292
https://tests.stockfishchess.org/tests/view/6887ec527b562f5f7b731c37

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

Bench: 2917036
2025-08-02 16:25:31 +02:00
FauziAkramandJoost VandeVondele 62b958f517 Remove code that is not used anywhere
closes https://github.com/official-stockfish/Stockfish/pull/6201

No functional change
2025-08-02 16:21:41 +02:00
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
MinetaSandJoost VandeVondele 32cb78d782 Increase CI timeouts for perft
might fix CI failures on macOS instances

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

No functional change
2025-08-02 15:52:24 +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