Depth extension, newDepth;
Value bestValue, value, ttValue, eval, maxValue;
bool ttHit, ttPv, formerPv, givesCheck, improving, didLMR, priorCapture;
- bool captureOrPromotion, doFullDepthSearch, moveCountPruning, ttCapture, singularLMR;
+ bool captureOrPromotion, doFullDepthSearch, moveCountPruning,
+ ttCapture, singularQuietLMR;
Piece movedPiece;
int moveCount, captureCount, quietCount;
depth > 12 ? ss->ply : MAX_PLY);
value = bestValue;
- singularLMR = moveCountPruning = false;
+ singularQuietLMR = moveCountPruning = false;
ttCapture = ttMove && pos.capture_or_promotion(ttMove);
// Mark this node as being searched
if (value < singularBeta)
{
extension = 1;
- singularLMR = true;
+ singularQuietLMR = !ttCapture;
}
// Multi-cut pruning
r--;
// Decrease reduction if ttMove has been singularly extended (~3 Elo)
- if (singularLMR)
+ if (singularQuietLMR)
r -= 1 + formerPv;
if (!captureOrPromotion)