In non-PV IID don't call evaluate when in check
[stockfish] / src / search.cpp
index f7a39943740d2021854de3a1788e86b70dcce058..4481cfc727e436b8888825c94ec4bc99d261b21e 100644 (file)
@@ -1435,7 +1435,7 @@ namespace {
 
     // Go with internal iterative deepening if we don't have a TT move
     if (UseIIDAtNonPVNodes && ttMove == MOVE_NONE && depth >= 8*OnePly &&
-        evaluate(pos, ei, threadID) >= beta - IIDMargin)
+        !isCheck && evaluate(pos, ei, threadID) >= beta - IIDMargin)
     {
         search(pos, ss, beta, Min(depth/2, depth-2*OnePly), ply, false, threadID);
         ttMove = ss[ply].pv[ply];