From 7a07ac0e768a2d0c6b3c6b31470a3d822d94c15c Mon Sep 17 00:00:00 2001 From: Jost Triller Date: Tue, 5 Aug 2025 22:38:32 +0200 Subject: [PATCH] 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 --- src/search.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/search.cpp b/src/search.cpp index b807ae7d1..3bf460a1a 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -914,7 +914,8 @@ Value Search::Worker::search( assert(probCutBeta < VALUE_INFINITE && probCutBeta > beta); MovePicker mp(pos, ttData.move, probCutBeta - ss->staticEval, &captureHistory); - Depth probCutDepth = std::max(depth - 5, 0); + Depth dynamicReduction = (ss->staticEval - beta) / 300; + Depth probCutDepth = std::max(depth - 5 - dynamicReduction, 0); while ((move = mp.next_move()) != Move::none()) {