Depth extension, newDepth, predictedDepth;
Value bestValue, value, ttValue, eval, nullValue, futilityValue;
bool ttHit, inCheck, givesCheck, singularExtensionNode, improving;
- bool captureOrPromotion, dangerous, doFullDepthSearch;
+ bool captureOrPromotion, doFullDepthSearch;
int moveCount, quietCount;
// Step 1. Initialize node
? ci.checkSquares[type_of(pos.piece_on(from_sq(move)))] & to_sq(move)
: pos.gives_check(move, ci);
- dangerous = givesCheck
- || type_of(move) != NORMAL
- || pos.advanced_pawn_push(move);
-
// Step 12. Extend checks
if (givesCheck && pos.see_sign(move) >= VALUE_ZERO)
extension = ONE_PLY;
if ( !RootNode
&& !captureOrPromotion
&& !inCheck
- && !dangerous
+ && !givesCheck
+ && type_of(move) == NORMAL
+ && !pos.advanced_pawn_push(move)
&& bestValue > VALUE_MATED_IN_MAX_PLY)
{
// Move count based pruning