diff --git a/src/search.cpp b/src/search.cpp index e99d5d3fc9f..eb175d92a03 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -979,10 +979,6 @@ Value Search::Worker::search( Depth r = reduction(improving, depth, moveCount, delta); - // Decrease reduction if position is or has been on the PV (~7 Elo) - if (ss->ttPv) - r -= 1037 + (ttData.value > alpha) * 965 + (ttData.depth >= depth) * 960; - // Step 14. Pruning at shallow depth (~120 Elo). // Depth conditions are important for mate finding. if (!rootNode && pos.non_pawn_material(us) && !is_loss(bestValue)) @@ -1149,6 +1145,10 @@ Value Search::Worker::search( // so changing them or adding conditions that are similar requires // tests at these types of time controls. + // Decrease reduction if position is or has been on the PV (~7 Elo) + if (ss->ttPv) + r -= 1037 + (ttData.value > alpha) * 965 + (ttData.depth >= depth) * 960; + // Decrease reduction for PvNodes (~0 Elo on STC, ~2 Elo on LTC) if (PvNode) r -= 1018;