--- erand48.c.orig 2009-11-07 14:51:37.000000000 -0800 +++ erand48.c 2009-11-07 14:51:39.000000000 -0800 @@ -19,8 +19,8 @@ __FBSDID("$FreeBSD: src/lib/libc/gen/era double erand48(unsigned short xseed[3]) { - _dorand48(xseed); - return ldexp((double) xseed[0], -48) + - ldexp((double) xseed[1], -32) + - ldexp((double) xseed[2], -16); + uint48 tmp; + ERAND48_BEGIN; + DORAND48(tmp, xseed); + ERAND48_END(tmp); }