+ // Fail High
+ if ( (tte->type() & BOUND_LOWER)
+ && ttValue >= beta
+ && tte->depth() >= depth
+ && ttValue != VALUE_NONE) // Only in case of TT access race
+ {
+ // Update killers, we assume ttMove caused a cut-off
+ if ( ttMove
+ && !pos.is_capture_or_promotion(ttMove)
+ && ttMove != ss->killers[0])
+ {
+ ss->killers[1] = ss->killers[0];
+ ss->killers[0] = ttMove;
+ }
+ TT.refresh(tte);
+ ss->currentMove = ttMove; // Can be MOVE_NONE
+ return ttValue;
+ }