- if (Limits.use_time_management())
- {
- bool stillAtFirstMove = Signals.firstRootMove.load(std::memory_order_relaxed)
- && !Signals.failedLowAtRoot.load(std::memory_order_relaxed)
- && elapsed > Time.available() * 3 / 4;
-
- if (stillAtFirstMove || elapsed > Time.maximum() - 10)
- Signals.stop = true;
- }
- else if (Limits.movetime && elapsed >= Limits.movetime)
- Signals.stop = true;
-
- else if (Limits.nodes && Threads.nodes_searched() >= Limits.nodes)
+ if ( (Limits.use_time_management() && elapsed > Time.maximum() - 10)
+ || (Limits.movetime && elapsed >= Limits.movetime)
+ || (Limits.nodes && Threads.nodes_searched() >= Limits.nodes))