From: Marco Costalba Date: Thu, 8 Dec 2011 18:25:52 +0000 (+0100) Subject: Allow to prune also first move X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=f3728e66f856a8916a12eada7b18049034c864ca Allow to prune also first move Tested togheter with previous patch; shows no regression and is a semplification. After 5817 games: Mod vs Orig 939 - 892 - 3986 ELO +2 (+- 5.1) Signed-off-by: Marco Costalba --- diff --git a/src/search.cpp b/src/search.cpp index 4c69a052..ba31bd02 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1045,12 +1045,12 @@ split_point_start: // At split points actual search starts from here && !inCheck && !dangerous && move != ttMove - && !is_castle(move)) + && !is_castle(move) + && (bestValue > VALUE_MATED_IN_PLY_MAX || bestValue == -VALUE_INFINITE)) { // Move count based pruning if ( moveCount >= futility_move_count(depth) - && (!threatMove || !connected_threat(pos, move, threatMove)) - && bestValue > VALUE_MATED_IN_PLY_MAX) // FIXME bestValue is racy + && (!threatMove || !connected_threat(pos, move, threatMove))) { if (SpNode) lock_grab(&(sp->lock)); @@ -1075,7 +1075,6 @@ split_point_start: // At split points actual search starts from here // Prune moves with negative SEE at low depths if ( predictedDepth < 2 * ONE_PLY - && bestValue > VALUE_MATED_IN_PLY_MAX && pos.see_sign(move) < 0) { if (SpNode)