From: Marco Costalba Date: Sat, 22 Feb 2014 09:34:48 +0000 (+0100) Subject: Fix an assert in Probcut X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=012f20d66ec08db7c4c908b2ae7ca44553616d25 Fix an assert in Probcut When running the following position: 8/kPp5/2P3p1/p1P1p1P1/2PpPp2/3p1p2/3P1P2/5K2 w - - 0 1 An assert is raised at depth 92: assert(-VALUE_INFINITE <= alpha && alpha < beta && beta <= VALUE_INFINITE); This is because it happens that beta = 29832, so rbeta = 30032 that is > VALUE_INFINITE Bug spotted and analyzed by Uri, fix suggested by Joerg. Other fixes where possible but this one is pointed exactly at the source of the bug, so it is the best from a code documentation point of view. bench: 8430785 --- diff --git a/src/search.cpp b/src/search.cpp index da22c5cf..c84ad24b 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -668,7 +668,7 @@ namespace { && !ss->skipNullMove && abs(beta) < VALUE_MATE_IN_MAX_PLY) { - Value rbeta = beta + 200; + Value rbeta = std::min(beta + 200, VALUE_INFINITE); Depth rdepth = depth - ONE_PLY - 3 * ONE_PLY; assert(rdepth >= ONE_PLY);