{
assert(move_is_ok(move));
+ bool fewMoves = (depth <= OnePly && mp.number_of_moves() < 4);
bool singleReply = (pos.is_check() && mp.number_of_moves() == 1);
bool moveIsCheck = pos.move_is_check(move, dcCandidates);
bool moveIsCapture = pos.move_is_capture(move);
PawnValueMidgame : pos.midgame_value_of_piece_on(move_to(move));
// Decide the new search depth
- Depth ext = extension(pos, move, true, moveIsCheck, singleReply, mateThreat);
+ Depth ext = extension(pos, move, true, moveIsCheck, singleReply || fewMoves, mateThreat);
Depth newDepth = depth - OnePly + ext;
// Make and search the move