Use staticEval in null prune condition
authorajithcj <achajo@yahoo.co.in>
Fri, 24 Jun 2016 17:10:25 +0000 (17:10 +0000)
committerMarco Costalba <mcostalba@gmail.com>
Sat, 2 Jul 2016 14:43:49 +0000 (16:43 +0200)
Don't null prune at depth < 12 if staticEval < beta

STC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 62858 W: 12035 L: 11632 D: 39191

LTC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 49784 W: 7009 L: 6720 D: 36055

bench: 8054611

src/search.cpp

index 064df0c..97ab591 100644 (file)
@@ -731,6 +731,7 @@ namespace {
     if (   !PvNode
         &&  depth >= 2 * ONE_PLY
         &&  eval >= beta
+        && (ss->staticEval >= beta || depth >= 12 * ONE_PLY)
         &&  pos.non_pawn_material(pos.side_to_move()))
     {
         ss->currentMove = MOVE_NULL;