Now that the multi-cut condition is safer, we can avoid the cost of the sub-search.
STC:
https://tests.stockfishchess.org/tests/view/
6165fd9283dd501a05b0b2fe
LLR: 2.93 (-2.94,2.94) <-2.50,0.50>
Total: 18648 W: 4745 L: 4600 D: 9303
Ptnml(0-2): 47, 2111, 4887, 2208, 71
LTC:
https://tests.stockfishchess.org/tests/view/
616629ea83dd501a05b0b320
LLR: 2.96 (-2.94,2.94) <-2.50,0.50>
Total: 41704 W: 10407 L: 10302 D: 20995
Ptnml(0-2): 35, 4425, 11823, 4538, 31
closes https://github.com/official-stockfish/Stockfish/pull/3738
Bench:
5905086
else if (singularBeta >= beta)
return singularBeta;
- // If the eval of ttMove is greater than beta we try also if there is another
- // move that pushes it over beta, if so the position also has probably multiple
- // moves giving fail highs. We will then reduce the ttMove (negative extension).
+ // If the eval of ttMove is greater than beta, we reduce it (negative extension)
else if (ttValue >= beta)
- {
- ss->excludedMove = move;
- value = search<NonPV>(pos, ss, beta - 1, beta, (depth + 3) / 2, cutNode);
- ss->excludedMove = MOVE_NONE;
-
- if (value >= beta)
- extension = -2;
- }
+ extension = -2;
}
// Capture extensions for PvNodes and cutNodes