Depth r = reduction<PvNode>(improving, depth, moveCount);
if (captureOrPromotion) // (~5 Elo)
+ {
+ //Increase reduction by comparing opponent's stat score
+ if ( (ss-1)->statScore >= 0
+ && thisThread->captureHistory[movedPiece][to_sq(move)][type_of(pos.captured_piece())] < 0)
+ r += ONE_PLY;
+
r -= r ? ONE_PLY : DEPTH_ZERO;
+ }
else
{
// Decrease reduction if opponent's move count is high (~5 Elo)