- phasePtr = MainSearchPhaseTable + !searchTT;
- else if (d == Depth(0))
- phasePtr = QsearchWithChecksPhaseTable + !searchTT;
+ {
+ // Consider sligtly negative captures as good if at low
+ // depth and far from beta.
+ if (ss && ss->eval < beta - PawnValueMidgame && d < 3 * OnePly)
+ badCaptureThreshold = -PawnValueMidgame;
+
+ phasePtr = MainSearchPhaseTable;
+ } else if (d == Depth(0))
+ phasePtr = QsearchWithChecksPhaseTable;