According to my interpretation of the D language specification, floating point arithmetic on x86 would use 80 bits of precision internally, instead of only 64 bits.
One would have to check however that that is enough to explain the result you observe.