The mDn value for powers of 2 >= floatDigits x - 1 was typo'ed, leading to longer than necessary show results in a few cases (e.g. 2.0^852).
Corrected in accordance with Burger and Dybvig's paper.
if e >= 0 then
let be = expt b e in
if f == expt b (p-1) then
if e >= 0 then
let be = expt b e in
if f == expt b (p-1) then
- (f*be*b*2, 2*b, be*b, b)
+ (f*be*b*2, 2*b, be*b, be) -- according to Burger and Dybvig
else
(f*be*2, 2, be, be)
else
else
(f*be*2, 2, be, be)
else