From: Stefan Geschwentner Date: Wed, 14 Jan 2015 20:11:33 +0000 (+0000) Subject: Enable Futility pruning in PV nodes X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=4abe333e1fdb2fbe09975690cdb1f52e3e4b835b Enable Futility pruning in PV nodes STC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 21553 W: 4342 L: 4221 D: 12990 LTC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 7675 W: 1351 L: 1209 D: 5115 Bench: 8668014 Resolves #205 --- diff --git a/src/search.cpp b/src/search.cpp index 092a4915..7e3f6ca5 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -632,7 +632,7 @@ namespace { } // Step 7. Futility pruning: child node (skipped when in check) - if ( !PvNode + if ( !RootNode && depth < 7 * ONE_PLY && eval - futility_margin(depth) >= beta && eval < VALUE_KNOWN_WIN // Do not return unproven wins @@ -829,9 +829,8 @@ moves_loop: // When in check and at SpNode search starts from here // Update the current move (this must be done after singular extension search) newDepth = depth - ONE_PLY + extension; - // Step 13. Pruning at shallow depth (exclude PV nodes) - if ( !PvNode - && !captureOrPromotion + // Step 13. Pruning at shallow depth + if ( !captureOrPromotion && !inCheck && !dangerous && bestValue > VALUE_MATED_IN_MAX_PLY)