]> git.sesse.net Git - stockfish/blobdiff - src/search.cpp
Prune all negative see moves at low depths
[stockfish] / src / search.cpp
index 4bacbef01b6c813a9cd2ec6b1354e3b20b32b909..f7718ce442d50136b9508405bc6f3bdb76e34654 100644 (file)
@@ -661,7 +661,7 @@ namespace {
              << " time " << current_search_time() << endl;
 
     // Print the best move and the ponder move to the standard output
-    if (pv[0] == MOVE_NONE)
+    if (pv[0] == MOVE_NONE || MultiPV > 1)
     {
         pv[0] = rml.move(0);
         pv[1] = MOVE_NONE;
@@ -1287,6 +1287,17 @@ split_point_start: // At split points actual search starts from here
 
               continue;
           }
+
+          // Prune neg. see moves at low depths
+          if (   predictedDepth < 2 * ONE_PLY
+              && bestValue > value_mated_in(PLY_MAX)
+              && pos.see_sign(move) < 0)
+          {
+              if (SpNode)
+                  lock_grab(&(sp->lock));
+
+              continue;
+          }
       }
 
       // Step 13. Make the move