beta = VALUE_INFINITE;
TT.new_search();
- History.clear();
- CounterMovesHistory.clear();
- Gains.clear();
- Countermoves.clear();
size_t multiPV = Options["MultiPV"];
Skill skill(Options["Skill Level"]);
ss->reduction = reduction<PvNode>(improving, depth, moveCount);
if ( (!PvNode && cutNode)
- || ( History[pos.piece_on(to_sq(move))][to_sq(move)]
- + CounterMovesHistory[pos.piece_on(prevMoveSq)][prevMoveSq]
- [pos.piece_on(to_sq(move))][to_sq(move)] < VALUE_ZERO))
+ || ( History[pos.piece_on(to_sq(move))][to_sq(move)] < VALUE_ZERO
+ && CounterMovesHistory[pos.piece_on(prevMoveSq)][prevMoveSq]
+ [pos.piece_on(to_sq(move))][to_sq(move)] <= VALUE_ZERO))
ss->reduction += ONE_PLY;
if (move == countermove)