ref: 8d0d2ec80f06f3d7d8ba44313cd08eaef5d9b5d1
dir: /sys/src/libc/port/frand.c/
#include <u.h>
#include <libc.h>
#define MASK 0x7fffffffL
#define NORM (1.0/(1.0+MASK))
double
frand(void)
{
double x;
do {
x = lrand() * NORM;
x = (x + lrand()) * NORM;
} while(x >= 1);
return x;
}