with constant
4294967296.
exp2f is a C99-ism not availabl everywhere. Replace it
with its result. Helps building on OpenBSD>
ASSERT(sizeof(int ) == 4 );
r = (StgDouble)((unsigned int)j_high);
ASSERT(sizeof(int ) == 4 );
r = (StgDouble)((unsigned int)j_high);
+ r *= 4294967296; /* exp2f(32); */
r += (StgDouble)((unsigned int)j_low);
/* Now raise to the exponent */
r += (StgDouble)((unsigned int)j_low);
/* Now raise to the exponent */