А... ишшо одна бага. В операторе сравнения, по спецификации Татарина (NaN==NaN) есть true, а я забыл-с.
Ладно, уже не буду править, как-то нечестно. Пущай...
PS Впрочем, это может быть необходимо для тестирования, потому как это единственный способ узнать, если другое число - NaN. В общем, у себя я поправил, по запросу вышлю фикс.