From 7da31a1f1d8e16721ca2fd430c44fcb4b99b0bec Mon Sep 17 00:00:00 2001 From: Adrian Ladoni <274005880+AdrianGHUB15@users.noreply.github.com> Date: Mon, 6 Jul 2026 11:33:03 +0200 Subject: [PATCH] Simplify futility multiplier this patch simplifies the Value futility multiplier and changes pruning behaviour passed stc: https://tests.stockfishchess.org/tests/view/6a462265f97ff95f78795600 LLR: 2.93 (-2.94,2.94) <0.00,2.00> Total: 38112 W: 10071 L: 9758 D: 18283 Ptnml(0-2): 88, 4341, 9903, 4618, 106 passed ltc: https://tests.stockfishchess.org/tests/view/6a470bc5f97ff95f7879576a LLR: 2.94 (-2.94,2.94) <0.50,2.50> Total: 67482 W: 17738 L: 17363 D: 32381 Ptnml(0-2): 36, 7061, 19164, 7452, 28 patch rebased to latest master closes https://github.com/official-stockfish/Stockfish/pull/6946 Bench: 2353997 --- src/search.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/search.cpp b/src/search.cpp index 2d39d578d..0af3c10ff 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -976,7 +976,7 @@ Value Search::Worker::search( if (!ss->ttPv && depth < 17 && eval >= beta && (!ttData.move || ttCapture) && !is_loss(beta) && !is_win(eval)) { - Value futilityMult = interpolate(std::min(int(depth), 10), 1, 10, 40, 80); + Value futilityMult = std::min(40 + depth * 4, 80); futilityMult -= 20 * !ss->ttHit; Value futilityMargin = futilityMult * depth