diff --git a/src/search.cpp b/src/search.cpp index 70b852f35a8..c12b60e6815 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1300,7 +1300,18 @@ namespace { update_pv(ss->pv, move, (ss+1)->pv); if (PvNode && value < beta) // Update alpha! Always alpha < beta + { alpha = value; + + // Reduce other moves if we have found at least one score improvement + if ( depth > 2 + && depth < 7 + && beta < VALUE_KNOWN_WIN + && alpha > -VALUE_KNOWN_WIN) + depth -= 1; + + assert(depth > 0); + } else { ss->cutoffCnt++;