&& (ss-1)->statScore < 23767
&& eval >= beta
&& eval >= ss->staticEval
- && ss->staticEval >= beta - 20 * depth - 22 * improving + 168 * ss->ttPv + 159
+ && ss->staticEval >= beta - 20 * depth - 22 * improving + 168 * ss->ttPv + 177
&& !excludedMove
&& pos.non_pawn_material(us)
&& (ss->ply >= thisThread->nmpMinPly || us != thisThread->nmpColor))
// Futility pruning: parent node (~5 Elo)
if ( !ss->inCheck
- && lmrDepth < 7
- && ss->staticEval + 174 + 157 * lmrDepth <= alpha)
+ && lmrDepth < 8
+ && ss->staticEval + 172 + 145 * lmrDepth <= alpha)
continue;
// Prune moves with negative SEE (~20 Elo)
&& (tte->bound() & BOUND_LOWER)
&& tte->depth() >= depth - 3)
{
- Value singularBeta = ttValue - 2 * depth;
+ Value singularBeta = ttValue - 3 * depth;
Depth singularDepth = (depth - 1) / 2;
ss->excludedMove = move;
}
// Capture extensions for PvNodes and cutNodes
- else if ( (PvNode || cutNode)
- && captureOrPromotion
+ else if ( (PvNode || cutNode)
+ && captureOrPromotion
&& moveCount != 1)
extension = 1;