Так, теперь не понимаю что имеется ввиду под "ошибка никак не влияла на работу".
Каков у вас критерий?
На основе чего решаете "прошёл тест или нет"?
Неужели прямо на первой итерации при использовании xorshift значение freq оказывается меньше 1?
PS. В выложенном проекте по-прежнему ссылка на hill.res. Вы точно именно xorshift, а не hill тестировали после исправления ошибки?