This simplification patch removes the noLMRExtension flag. It was introduced in June
(see following link for that commit), but does not seem to be necessary anymore.
Link: https://github.com/official-stockfish/Stockfish/commit/e1f181ee643dcaa92c606b74b3abd23dede136cd
STC:
LLR: 2.94 (-2.94,2.94) <-2.50,0.50>
Total: 21200 W: 5369 L: 5228 D: 10603
Ptnml(0-2): 67, 2355, 5616, 2494, 68
https://tests.stockfishchess.org/tests/view/
616c03d299b580bf37797dcb
LTC:
LLR: 2.94 (-2.94,2.94) <-2.50,0.50>
Total: 37536 W: 9387 L: 9278 D: 18871
Ptnml(0-2): 23, 3988, 10643, 4085, 29
https://tests.stockfishchess.org/tests/view/
616c10f499b580bf37797ddd
closes https://github.com/official-stockfish/Stockfish/pull/3743
Bench:
4792969
Value bestValue, value, ttValue, eval, maxValue, probCutBeta;
bool givesCheck, improving, didLMR, priorCapture;
bool captureOrPromotion, doFullDepthSearch, moveCountPruning,
Value bestValue, value, ttValue, eval, maxValue, probCutBeta;
bool givesCheck, improving, didLMR, priorCapture;
bool captureOrPromotion, doFullDepthSearch, moveCountPruning,
- ttCapture, singularQuietLMR, noLMRExtension;
+ ttCapture, singularQuietLMR;
Piece movedPiece;
int moveCount, captureCount, quietCount, bestMoveCount, improvement;
Piece movedPiece;
int moveCount, captureCount, quietCount, bestMoveCount, improvement;
ss->ply);
value = bestValue;
ss->ply);
value = bestValue;
- singularQuietLMR = moveCountPruning = noLMRExtension = false;
+ singularQuietLMR = moveCountPruning = false;
// Indicate PvNodes that will probably fail low if the node was searched
// at a depth equal or greater than the current depth, and the result of this search was a fail low.
// Indicate PvNodes that will probably fail low if the node was searched
// at a depth equal or greater than the current depth, and the result of this search was a fail low.
if ( !PvNode
&& value < singularBeta - 75
&& ss->doubleExtensions <= 6)
if ( !PvNode
&& value < singularBeta - 75
&& ss->doubleExtensions <= 6)
- noLMRExtension = true;
- }
// are really negative and movecount is low, we allow this move to be searched
// deeper than the first move (this may lead to hidden double extensions).
int deeper = r >= -1 ? 0
// are really negative and movecount is low, we allow this move to be searched
// deeper than the first move (this may lead to hidden double extensions).
int deeper = r >= -1 ? 0
: moveCount <= 3 && r <= -3 ? 2
: moveCount <= 5 ? 1
: PvNode && depth > 6 ? 1
: moveCount <= 3 && r <= -3 ? 2
: moveCount <= 5 ? 1
: PvNode && depth > 6 ? 1