diff --git a/src/search.cpp b/src/search.cpp index 519782f8471..ea5653601b6 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -578,7 +578,7 @@ namespace { Depth extension, newDepth; Value bestValue, value, ttValue, eval, maxValue, pureStaticEval; bool ttHit, pvHit, inCheck, givesCheck, improving; - bool captureOrPromotion, doFullDepthSearch, moveCountPruning, skipQuiets, ttCapture, pvExact; + bool captureOrPromotion, doFullDepthSearch, moveCountPruning, skipQuiets, ttCapture; Piece movedPiece; int moveCount, captureCount, quietCount; @@ -677,7 +677,7 @@ namespace { return ttValue; } - if ( depth > 6 * ONE_PLY + if ( depth > 4 * ONE_PLY && !excludedMove && PvNode) pvHit = true; @@ -898,7 +898,6 @@ namespace { skipQuiets = false; ttCapture = ttMove && pos.capture_or_promotion(ttMove); - pvExact = PvNode && ttHit && tte->bound() == BOUND_EXACT; // Step 12. Loop through all pseudo-legal moves until no moves remain // or a beta cutoff occurs. @@ -1043,7 +1042,7 @@ namespace { Depth r = reduction(improving, depth, moveCount); // Decrease reduction if position is or has been on the PV - if (pvHit && !PvNode) + if (pvHit) r -= ONE_PLY; // Decrease reduction if opponent's move count is high (~10 Elo) @@ -1052,10 +1051,6 @@ namespace { if (!captureOrPromotion) { - // Decrease reduction for exact PV nodes (~0 Elo) - if (pvExact) - r -= ONE_PLY; - // Increase reduction if ttMove is a capture (~0 Elo) if (ttCapture) r += ONE_PLY;