totBestMoveChanges += th->bestMoveChanges;
th->bestMoveChanges = 0;
}
- double bestMoveInstability = 1 + 2 * totBestMoveChanges / Threads.size();
-
+ double bestMoveInstability = 1.073 + std::max(1.0, 2.25 - 9.9 / rootDepth)
+ * totBestMoveChanges / Threads.size();
double totalTime = Time.optimum() * fallingEval * reduction * bestMoveInstability;
// Cap used time in case of a single legal move for a better viewer experience in tournaments