There is no point searching a move that is forced.
It wastes time while allowing computer opponents to
fill hash with 100% accuracy.
[edit: Condition moved together with "easy move" ones]
Bench identical:
4922272
&& !stop
&& PVSize == 1
&& ( (bestMoveNeverChanged && recapture)
&& !stop
&& PVSize == 1
&& ( (bestMoveNeverChanged && recapture)
+ || RootMoves.size() == 1
|| Time::now() - SearchTime > (TimeMgr.available_time() * 40) / 100))
{
Value rBeta = bestValue - 2 * PawnValueMg;
|| Time::now() - SearchTime > (TimeMgr.available_time() * 40) / 100))
{
Value rBeta = bestValue - 2 * PawnValueMg;