X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fsearch.cpp;h=9165468ae0590e82740f53c7296f7aef9f7ce643;hp=31ae5377086cda0fa70a2514259e66037dd06303;hb=4d0981fef37c85edfd7a0e713d68a4542d7a6784;hpb=1aab5b4b055dffae5e2a2cf9958d3d0d79f66cb4 diff --git a/src/search.cpp b/src/search.cpp index 31ae5377..9165468a 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -914,12 +914,13 @@ moves_loop: // When in check, search starts from here && move == ttMove && !rootNode && !excludedMove // Avoid recursive singular search - && ttValue != VALUE_NONE + /* && ttValue != VALUE_NONE Already implicit in the next condition */ + && abs(ttValue) < VALUE_KNOWN_WIN && (tte->bound() & BOUND_LOWER) && tte->depth() >= depth - 3 * ONE_PLY && pos.legal(move)) { - Value singularBeta = std::max(ttValue - 2 * depth / ONE_PLY, -VALUE_MATE); + Value singularBeta = ttValue - 2 * depth / ONE_PLY; ss->excludedMove = move; value = search(pos, ss, singularBeta - 1, singularBeta, depth / 2, cutNode); ss->excludedMove = MOVE_NONE;