int_sqrt(9380489) returns 3062 with the old code and 146574 with the new
code. I wonder which one is closer to right. It seems as soon as the
input is 2^22 or higher, the new code goes all to hell and starts
returning 2^16-1 or similarly silly values rather than 2^11-1 or
similar.