Extra penalty for TT move in previous ply when it gets refuted
STC:
LLR: 2.94 (-2.94,2.94) [-1.50,4.50]
Total: 31303 W: 6216 L: 6025 D: 19062
LTC:
LLR: 2.97 (-2.94,2.94) [0.00,6.00]
Total: 6950 W: 1189 L: 1054 D: 4707
Bench:
8191926
Resolves #309
if (is_ok((ss-2)->currentMove) && (ss-1)->currentMove == (ss-1)->ttMove)
{
+ Value bonus2 = Value(((depth+1) / ONE_PLY) * ((depth+1) / ONE_PLY));
+
Square prevPrevSq = to_sq((ss-2)->currentMove);
Followupmoves.update(pos.piece_on(prevPrevSq), prevPrevSq, move);
+
+ Square prevMoveSq = to_sq((ss-1)->currentMove);
+ Piece prevMovePiece = pos.piece_on(prevMoveSq);
+
+ HistoryStats& cmh2 = CounterMovesHistory[pos.piece_on(prevPrevSq)][prevPrevSq];
+ cmh2.update(prevMovePiece, prevMoveSq, -bonus2);
}
}