diff --git a/src/search.cpp b/src/search.cpp index 62788faa..e63d72e8 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1190,6 +1190,12 @@ moves_loop: // When in check, search starts from here // Extra penalty for a quiet TT move in previous ply when it gets refuted if ((ss-1)->moveCount == 1 && !pos.captured_piece()) update_continuation_histories(ss-1, pos.piece_on(prevSq), prevSq, -stat_bonus(depth + ONE_PLY)); + + // Extra penalty for killer move in previous ply when it gets refuted + else if ( (ss-1)->killers[0] + && (ss-1)->currentMove == (ss-1)->killers[0] + && !pos.captured_piece()) + update_continuation_histories(ss-1, pos.piece_on(prevSq), prevSq, -stat_bonus(depth)); } // Bonus for prior countermove that caused the fail low else if ( (depth >= 3 * ONE_PLY || PvNode)