X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fsearch.cpp;h=39bb1fdb94867728840b0653658da19645bb1de7;hp=9f005587aa4c5845a0a1fcf0b9031be23f59bbc2;hb=6847be2c752b3f41906be87af7f3cde4e31be5d5;hpb=4231d99ab408674115623f42f7ff89f3f189ca23 diff --git a/src/search.cpp b/src/search.cpp index 9f005587..39bb1fdb 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1219,13 +1219,13 @@ moves_loop: // When in check, search starts here // In general we want to cap the LMR depth search at newDepth. But if reductions // are really negative and movecount is low, we allow this move to be searched - // deeper than the first move (this may lead to hidden double extensions if - // newDepth got its own extension before). - int deeper = r >= -1 ? 0 - : noLMRExtension ? 0 - : moveCount <= 5 ? 1 - : (depth > 6 && PvNode) ? 1 - : 0; + // deeper than the first move (this may lead to hidden double extensions). + int deeper = r >= -1 ? 0 + : noLMRExtension ? 0 + : moveCount <= 3 && r <= -3 ? 2 + : moveCount <= 5 ? 1 + : PvNode && depth > 6 ? 1 + : 0; Depth d = std::clamp(newDepth - r, 1, newDepth + deeper);