}
max /= sum; sum *= s[i]; // if everything works as is expected, sum == 1.0
if (state) state[i-1] = max_k;
- if (q) k = -4.343 * log(1. - max), q[i-1] = k > 100? 99 : k;
+ if (q) k = (int)(-4.343 * log(1. - max) + .499), q[i-1] = k > 100? 99 : k;
#ifdef _MAIN
fprintf(stderr, "(%.10lg,%.10lg) (%d,%d:%d)~%lg\n", pb, sum, i-1, max_k>>2, max_k&3, max); // DEBUG
#endif