For those people using 5c, I found a bug recently in the conversion of ulong to float64. The bug is that it's not implemented at all; instead 5c uses the long to float64 code, so converting 0x80000000 produces -2^31 not 2^31. This matters in _v2d, which uses it to convert vlong to float64. If the low 32 bits of the vlong have the high bit set, the conversion ends up off by 2^32.
http://codereview.appspot.com/2726041 has a straightforward but perhaps inefficient fix. Russ