]> git.sesse.net Git - stockfish/blobdiff - src/search.cpp
Add Tord's polynomial material balance
[stockfish] / src / search.cpp
index 695d4ae540ee432412de71c7791b564c0b717459..75b6bd0caefd42ebf5f4c2c7bced970b88d66074 100644 (file)
@@ -1080,7 +1080,7 @@ namespace {
       {
         // Try to reduce non-pv search depth by one ply if move seems not problematic,
         // if the move fails high will be re-searched at full depth.
-        if (    depth >= 2*OnePly
+        if (    depth >= 3*OnePly
             &&  moveCount >= LMRPVMoves
             && !dangerous
             && !moveIsCapture
@@ -1251,6 +1251,9 @@ namespace {
 
         if (value_is_mate(nullValue))
         {
+            if (nullValue == value_mated_in(ply + 2))
+                mateThreat = true;
+
             /* Do not return unproven mates */
         }
         else if (nullValue >= beta)
@@ -1269,9 +1272,6 @@ namespace {
             // move which was reduced. If a connection is found, return a fail
             // low score (which will cause the reduced move to fail high in the
             // parent node, which will trigger a re-search with full depth).
-            if (nullValue == value_mated_in(ply + 2))
-                mateThreat = true;
-
             ss[ply].threatMove = ss[ply + 1].currentMove;
             if (   depth < ThreatDepth
                 && ss[ply - 1].reduction
@@ -1364,7 +1364,7 @@ namespace {
 
       // Try to reduce non-pv search depth by one ply if move seems not problematic,
       // if the move fails high will be re-searched at full depth.
-      if (    depth >= 2*OnePly
+      if (    depth >= 3*OnePly
           &&  moveCount >= LMRNonPVMoves
           && !dangerous
           && !moveIsCapture
@@ -1492,7 +1492,6 @@ namespace {
     else if (tte && tte->type() == VALUE_TYPE_EVAL)
     {
         // Use the cached evaluation score if possible
-        assert(tte->value() == evaluate(pos, ei, threadID));
         assert(ei.futilityMargin == Value(0));
 
         staticValue = tte->value();