]> git.sesse.net Git - stockfish/blobdiff - src/search.cpp
Don't attempt probcut if ttMove is not good enough.
[stockfish] / src / search.cpp
index 76011840ba5c33fc297545a22020a04eab3a45ef..dae1e23c0339b6daa0b1fff438d4079b25ee21ff 100644 (file)
@@ -906,8 +906,12 @@ namespace {
         MovePicker mp(pos, ttMove, raisedBeta - ss->staticEval, &captureHistory);
         int probCutCount = 0;
 
-        while (  (move = mp.next_move()) != MOVE_NONE
-               && probCutCount < 2 + 2 * cutNode)
+        while (   (move = mp.next_move()) != MOVE_NONE
+               && probCutCount < 2 + 2 * cutNode
+               && !(   move == ttMove
+                    && (tte->bound() & BOUND_LOWER)
+                    && tte->depth() >= depth - 4
+                    && ttValue < raisedBeta))
             if (move != excludedMove && pos.legal(move))
             {
                 assert(pos.capture_or_promotion(move));