]> git.sesse.net Git - stockfish/blobdiff - src/search.cpp
Decrease depth for cutnodes with no tt move
[stockfish] / src / search.cpp
index 0d7575aa5248433ae0d6e788ea40d8267b288cb8..a4b17d9de6ea565439d08fb87bbae1a7516acb87 100644 (file)
@@ -903,12 +903,17 @@ namespace {
          ss->ttPv = ttPv;
     }
 
-    // Step 10. If the position is not in TT, decrease depth by 2
+    // Step 10. If the position is not in TT, decrease depth by 2 or 1 depending on node type
     if (   PvNode
         && depth >= 6
         && !ttMove)
         depth -= 2;
 
+    if (   cutNode
+        && depth >= 9
+        && !ttMove)
+        depth--;
+
 moves_loop: // When in check, search starts here
 
     ttCapture = ttMove && pos.capture_or_promotion(ttMove);
@@ -1325,7 +1330,7 @@ moves_loop: // When in check, search starts here
     // Bonus for prior countermove that caused the fail low
     else if (   (depth >= 3 || PvNode)
              && !priorCapture)
-        update_continuation_histories(ss-1, pos.piece_on(prevSq), prevSq, stat_bonus(depth));
+        update_continuation_histories(ss-1, pos.piece_on(prevSq), prevSq, stat_bonus(depth) * (1 + (PvNode || cutNode)));
 
     if (PvNode)
         bestValue = std::min(bestValue, maxValue);