}
// Step 10. Internal iterative deepening (skipped when in check)
- if ( depth >= (PvNode ? 5 * ONE_PLY : 8 * ONE_PLY)
+ if ( depth >= 6 * ONE_PLY
&& !ttMove
&& (PvNode || ss->staticEval + 256 >= beta))
{
- Depth d = depth - 2 * ONE_PLY - (PvNode ? DEPTH_ZERO : depth / 4);
ss->skipEarlyPruning = true;
- search<NT>(pos, ss, alpha, beta, d, cutNode);
+ search<NT>(pos, ss, alpha, beta, 3 * depth / 4 - 2 * ONE_PLY, cutNode);
ss->skipEarlyPruning = false;
tte = TT.probe(posKey, ttHit);