diff --git a/src/search.cpp b/src/search.cpp index 768a22a4..54ff467c 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1239,10 +1239,13 @@ namespace { // Null move search not allowed, try razoring else if ( !value_is_mate(beta) && approximateEval < beta - RazorMargin - && depth < RazorDepth) + && depth < RazorDepth + && depth > OnePly + && ttMove == MOVE_NONE + && !pos.has_pawn_on_7th(pos.side_to_move())) { Value v = qsearch(pos, ss, beta-1, beta, Depth(0), ply, threadID); - if (v < beta - RazorMargin / 2) + if (v < beta - RazorMargin / 2 - int(depth - OnePly) * RazorMargin / 8) return v; }