How to generate a double-precision floating-point number in [0, 1] uniformly | Hacker News Reader