diff --git a/src/search.cpp b/src/search.cpp index 9eeafbda..3dfd5d6d 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -801,13 +801,12 @@ namespace { } // Step 10. Internal iterative deepening (skipped when in check) - if ( depth >= (PvNode ? 5 * ONE_PLY : 8 * ONE_PLY) + if ( depth >= 6 * ONE_PLY && !ttMove && (PvNode || ss->staticEval + 256 >= beta)) { - Depth d = depth - 2 * ONE_PLY - (PvNode ? DEPTH_ZERO : depth / 4); ss->skipEarlyPruning = true; - search(pos, ss, alpha, beta, d, cutNode); + search(pos, ss, alpha, beta, 3 * depth / 4 - 2 * ONE_PLY, cutNode); ss->skipEarlyPruning = false; tte = TT.probe(posKey, ttHit);