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)
+ if ((ss-1)->statScore >= 0)
r += ONE_PLY;
r -= r ? ONE_PLY : DEPTH_ZERO;
if (!pos.capture_or_promotion(bestMove))
update_quiet_stats(pos, ss, bestMove, quietsSearched, quietCount, stat_bonus(depth));
else
- update_capture_stats(pos, bestMove, capturesSearched, captureCount, stat_bonus(depth));
+ update_capture_stats(pos, bestMove, capturesSearched, captureCount,
+ stat_bonus(depth + (bestValue > beta + KnightValueMg ? ONE_PLY : DEPTH_ZERO)));
// Extra penalty for a quiet TT move in previous ply when it gets refuted
if ((ss-1)->moveCount == 1 && !pos.captured_piece())