Remove intermediate re-search in LMR
authorVince Negri <vince.negri@gmail.com>
Sun, 31 May 2015 09:52:41 +0000 (10:52 +0100)
committerJoona Kiiski <joona.kiiski@gmail.com>
Fri, 5 Jun 2015 20:03:10 +0000 (21:03 +0100)
STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 20149 W: 3830 L: 3707 D: 12612

LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 45384 W: 7089 L: 7006 D: 31289

Bench: 8110365

Resolves #361

src/search.cpp

index 814a96d98cb66abed49d617566001b350d349798..4aecad1cca7981096828d15b3217d6564330f611 100644 (file)
@@ -975,13 +975,6 @@ moves_loop: // When in check and at SpNode search starts from here
 
           value = -search<NonPV, false>(pos, ss+1, -(alpha+1), -alpha, d, true);
 
-          // Re-search at intermediate depth if reduction is very high
-          if (value > alpha && ss->reduction >= 4 * ONE_PLY)
-          {
-              Depth d2 = std::max(newDepth - 2 * ONE_PLY, ONE_PLY);
-              value = -search<NonPV, false>(pos, ss+1, -(alpha+1), -alpha, d2, true);
-          }
-
           doFullDepthSearch = (value > alpha && ss->reduction != DEPTH_ZERO);
           ss->reduction = DEPTH_ZERO;
       }