- // Value based pruning
- // We illogically ignore reduction condition depth >= 3*ONE_PLY for predicted depth,
- // but fixing this made program slightly weaker.
- Depth predictedDepth = newDepth - reduction<PvNode>(improving, depth, moveCount);
- futilityValue = ss->staticEval + ss->evalMargin + futility_margin(predictedDepth, moveCount)
- + Gains[pos.moved_piece(move)][to_sq(move)];