// At non-PV nodes we check for an early TT cutoff
if ( !PvNode
&& !excludedMove
- && tte->depth() > depth - (tte->bound() == BOUND_EXACT)
+ && tte->depth() > depth
&& ttValue != VALUE_NONE // Possible in case of TT access race or if !ttHit
&& (tte->bound() & (ttValue >= beta ? BOUND_LOWER : BOUND_UPPER)))
{
return bestValue;
}
- if (PvNode && bestValue > alpha)
+ if (bestValue > alpha)
alpha = bestValue;
futilityBase = bestValue + 200;
if (PvNode) // Update pv even in fail-high case
update_pv(ss->pv, move, (ss+1)->pv);
- if (PvNode && value < beta) // Update alpha here!
+ if (value < beta) // Update alpha here!
alpha = value;
else
break; // Fail high