@@ -63,7 +63,7 @@ namespace {
6363
6464 // Futility margin
6565 Value futility_margin (Depth d, bool improving) {
66- return Value (168 * (d - improving));
66+ return Value (174 * (d - improving));
6767 }
6868
6969 // Reductions lookup table, initialized at startup
@@ -362,7 +362,7 @@ void Thread::search() {
362362 trend = (us == WHITE ? make_score (tr, tr / 2 )
363363 : -make_score (tr, tr / 2 ));
364364
365- int opt = sigmoid (prev, 8 , 17 , 144 , 13966 , 183 );
365+ int opt = sigmoid (prev, 8 , 17 , 144 , 15012 , 183 );
366366 optimism[ us] = Value (opt);
367367 optimism[~us] = -optimism[us];
368368 }
@@ -778,7 +778,7 @@ namespace {
778778 // return a fail low.
779779 if ( !PvNode
780780 && depth <= 7
781- && eval < alpha - 348 - 258 * depth * depth)
781+ && eval < alpha - 341 - 267 * depth * depth)
782782 {
783783 value = qsearch<NonPV>(pos, ss, alpha - 1 , alpha);
784784 if (value < alpha)
@@ -797,7 +797,7 @@ namespace {
797797 // Step 9. Null move search with verification search (~22 Elo)
798798 if ( !PvNode
799799 && (ss-1 )->currentMove != MOVE_NULL
800- && (ss-1 )->statScore < 14695
800+ && (ss-1 )->statScore < 15344
801801 && eval >= beta
802802 && eval >= ss->staticEval
803803 && ss->staticEval >= beta - 15 * depth - improvement / 15 + 201 + complexity / 24
@@ -808,7 +808,7 @@ namespace {
808808 assert (eval - beta >= 0 );
809809
810810 // Null move dynamic reduction based on depth, eval and complexity of position
811- Depth R = std::min (int (eval - beta) / 147 , 5 ) + depth / 3 + 4 - (complexity > 650 );
811+ Depth R = std::min (int (eval - beta) / 152 , 5 ) + depth / 3 + 4 - (complexity > 650 );
812812
813813 ss->currentMove = MOVE_NULL;
814814 ss->continuationHistory = &thisThread->continuationHistory [0 ][0 ][NO_PIECE][0 ];
@@ -844,7 +844,7 @@ namespace {
844844 }
845845 }
846846
847- probCutBeta = beta + 179 - 46 * improving;
847+ probCutBeta = beta + 173 - 46 * improving;
848848
849849 // Step 10. ProbCut (~4 Elo)
850850 // If we have a good enough capture and a reduced search returns a value
@@ -906,9 +906,9 @@ namespace {
906906 return qsearch<PV>(pos, ss, alpha, beta);
907907
908908 if ( cutNode
909- && depth >= 8
909+ && depth >= 9
910910 && !ttMove)
911- depth-- ;
911+ depth -= 2 ;
912912
913913moves_loop: // When in check, search starts here
914914
@@ -1009,7 +1009,7 @@ namespace {
10091009 && !PvNode
10101010 && lmrDepth < 6
10111011 && !ss->inCheck
1012- && ss->staticEval + 281 + 179 * lmrDepth + PieceValue[EG][pos.piece_on (to_sq (move))]
1012+ && ss->staticEval + 277 + 187 * lmrDepth + PieceValue[EG][pos.piece_on (to_sq (move))]
10131013 + captureHistory[movedPiece][to_sq (move)][type_of (pos.piece_on (to_sq (move)))] / 6 < alpha)
10141014 continue ;
10151015
@@ -1173,7 +1173,7 @@ namespace {
11731173 + (*contHist[0 ])[movedPiece][to_sq (move)]
11741174 + (*contHist[1 ])[movedPiece][to_sq (move)]
11751175 + (*contHist[3 ])[movedPiece][to_sq (move)]
1176- - 4334 ;
1176+ - 4560 ;
11771177
11781178 // Decrease/increase reduction for moves with a good/bad history (~30 Elo)
11791179 r -= ss->statScore / 15914 ;
@@ -1188,7 +1188,7 @@ namespace {
11881188 // Do full depth search when reduced LMR search fails high
11891189 if (value > alpha && d < newDepth)
11901190 {
1191- const bool doDeeperSearch = value > (alpha + 78 + 11 * (newDepth - d));
1191+ const bool doDeeperSearch = value > (alpha + 73 + 12 * (newDepth - d));
11921192 value = -search<NonPV>(pos, ss+1 , -(alpha+1 ), -alpha, newDepth + doDeeperSearch, !cutNode);
11931193
11941194 int bonus = value > alpha ? stat_bonus (newDepth)
@@ -1337,14 +1337,14 @@ namespace {
13371337 quietsSearched, quietCount, capturesSearched, captureCount, depth);
13381338
13391339 // Bonus for prior countermove that caused the fail low
1340- else if ( (depth >= 4 || PvNode)
1340+ else if ( (depth >= 5 || PvNode)
13411341 && !priorCapture)
13421342 {
13431343 // Assign extra bonus if current node is PvNode or cutNode
13441344 // or fail low was really bad
13451345 bool extraBonus = PvNode
13461346 || cutNode
1347- || bestValue < alpha - 70 * depth;
1347+ || bestValue < alpha - 66 * depth;
13481348
13491349 update_continuation_histories (ss-1 , pos.piece_on (prevSq), prevSq, stat_bonus (depth) * (1 + extraBonus));
13501350 }
0 commit comments