Skip to content

Commit 9da0155

Browse files
joergosterlucasart
authored andcommitted
Remove insufficient material rule
The eval already returns zero in KK, KBK, KNK (see material.cpp). The difference is: - we lose the "TB pruning" benefit of the draw rule (ie. search goes on even if eval is zero) - we gain some speed by removing a useless test from the hot path STC: LLR: 0.05 (-2.94,2.94) [-3.00,1.00] Total: 128000 W: 21357 L: 21560 D: 85083 LTC: LLR: 2.96 (-2.94,2.94) [-3.00,1.00] Total: 33023 W: 4613 L: 4509 D: 23901 bench 7461881
1 parent 888a1d3 commit 9da0155

File tree

1 file changed

+0
-4
lines changed

1 file changed

+0
-4
lines changed

src/position.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1116,10 +1116,6 @@ Value Position::see(Move m) const {
11161116

11171117
bool Position::is_draw() const {
11181118

1119-
if ( !pieces(PAWN)
1120-
&& (non_pawn_material(WHITE) + non_pawn_material(BLACK) <= BishopValueMg))
1121-
return true;
1122-
11231119
if (st->rule50 > 99 && (!checkers() || MoveList<LEGAL>(*this).size()))
11241120
return true;
11251121

0 commit comments

Comments
 (0)