In 32 bits sqrt(val) + 1 can overflow, so some big primes still aren't recognized as such, for example 18446744073709551577 given in the commit message of factor.c r1.7 from NetBSD. Move the return type of usqrt() from u_int32_t to u_int64_t.
ok guenther, tom, otto