- double red = 0.5 + ln(moveCount) * ln(depth / 2) / 6.0;
- if (red >= 1.0)
- {
- ss[ply].reduction = Depth(int(floor(red * int(OnePly))));
- value = -search(pos, ss, -alpha, newDepth-ss[ply].reduction, ply+1, true, threadID);
- doFullDepthSearch = (value > alpha);
- }
+ ss[ply].reduction = calculate_reduction(0.5, moveCount, depth, 6.0);
+ if (ss[ply].reduction)
+ {
+ value = -search(pos, ss, -alpha, newDepth-ss[ply].reduction, ply+1, true, threadID);
+ doFullDepthSearch = (value > alpha);
+ }