diff --git a/src/search.cpp b/src/search.cpp index 33ab6b5f..b3dc2775 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -894,6 +894,13 @@ moves_loop: // When in check search starts from here && moveCount >= FutilityMoveCounts[improving][depth]) continue; + // History Score Pruning + if ( depth <= 3 * ONE_PLY + && thisThread->History[pos.moved_piece(move)][to_sq(move)] < VALUE_ZERO + && CounterMovesHistory[pos.piece_on(prevMoveSq)][prevMoveSq] + [pos.moved_piece(move)][to_sq(move)] < VALUE_ZERO) + continue; + predictedDepth = newDepth - reduction(improving, depth, moveCount); // Futility pruning: parent node