diff --git a/src/search.cpp b/src/search.cpp index 282b379b6..4716e332e 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -916,7 +916,9 @@ Value Search::Worker::search( if (!ss->ttPv && depth < 15 && eval >= beta && (!ttData.move || ttCapture) && !is_loss(beta) && !is_win(eval)) { - Value futilityMult = 76 - 21 * !ss->ttHit; + Value futilityMult = interpolate(std::min(int(depth), 10), 1, 10, 40, 76); + futilityMult -= 21 * !ss->ttHit; + Value futilityMargin = futilityMult * depth - (2686 * improving + 362 * opponentWorsening) * futilityMult / 1024 + std::abs(correctionValue) / 180600;