repKey[index] = (int)f.newKey & 0x1FFFFF | f.newEval << 21; repDep[index] = ply + moveNr; // remember position
// recursion
deprec[ply] = (f.checker != CK_NONE ? f.checker : 0)<<24 | maxDepth<<16 | depth<< 8 | iterDepth; path[ply++] = moveStack[curMove];
- score = ran - Search(stm, -beta, -alpha+ran, &f, iterDepth-1, lmr, highDepth);
+ score = -Search(stm, -beta, -alpha+ran, &f, iterDepth-1, lmr, highDepth);
+ if(ran && score < INF-100 && score > 100-INF) score += ran;
ply--;
repKey[index] = oldRepKey; repDep[index] = oldRepDep;