- ss[0].reduction = OnePly;
- value = -search(pos, ss, -alpha, newDepth-OnePly, 1, true, 0);
+ double red = ln(RootMoveNumber - MultiPV + 1) * ln(depth / 2) / 3.0;
+ if (red >= 1.0)
+ {
+ ss[0].reduction = Depth(int(floor(red * int(OnePly))));
+ value = -search(pos, ss, -alpha, newDepth-ss[0].reduction, 1, true, 0);
+ }
+ else
+ value = alpha + 1; // Just to trigger next condition