From 037ef3e18dc7f5455cc671995ae38d5b4d1fce4a Mon Sep 17 00:00:00 2001 From: Dubslow Date: Tue, 14 Feb 2023 18:04:17 -0600 Subject: [PATCH] Remove one `reduction` call even though bench is unchanged to depth 28, due to adjusting depth in singular extensions this might be functional. STC: https://tests.stockfishchess.org/tests/view/63ec21affe833123fef34153 LLR: 2.96 (-2.94,2.94) <-1.75,0.25> Total: 195712 W: 51625 L: 51581 D: 92506 Ptnml(0-2): 504, 20527, 55779, 20513, 533 LTC: https://tests.stockfishchess.org/tests/view/63ed3487fe833123fef375ed LLR: 2.96 (-2.94,2.94) <-1.75,0.25> Total: 32176 W: 8631 L: 8442 D: 15103 Ptnml(0-2): 5, 2794, 10309, 2967, 13 closes https://github.com/official-stockfish/Stockfish/pull/4395 Bench 4283297 --- src/search.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/search.cpp b/src/search.cpp index eccb97fd12c..6ca2cfa5adb 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -987,6 +987,8 @@ namespace { Value delta = beta - alpha; + Depth r = reduction(improving, depth, moveCount, delta, thisThread->rootDelta); + // Step 14. Pruning at shallow depth (~120 Elo). Depth conditions are important for mate finding. if ( !rootNode && pos.non_pawn_material(us) @@ -996,7 +998,7 @@ namespace { moveCountPruning = moveCount >= futility_move_count(improving, depth); // Reduced depth of the next LMR search - int lmrDepth = std::max(newDepth - reduction(improving, depth, moveCount, delta, thisThread->rootDelta), 0); + int lmrDepth = std::max(newDepth - r, 0); if ( capture || givesCheck) @@ -1133,8 +1135,6 @@ namespace { // Step 16. Make the move pos.do_move(move, st, givesCheck); - Depth r = reduction(improving, depth, moveCount, delta, thisThread->rootDelta); - // Decrease reduction if position is or has been on the PV // and node is not likely to fail low. (~3 Elo) if ( ss->ttPv