> There is a missed optimization in > > + if (x < 12) > + { > + /* Compute directly as ERFC_SCALED(x) = ERFC(x) * EXP(X**2). > + This is not perfect, but much better than netlib. */ > + return erfcq(x) * expq(x*x); > + } > > If x is less than approximately -8192, then erfc(x)*exp(x*x) > overflows.
Hum, I get roughly -106 where you have -8192, so I’ll not commit immediately with the value I have, and let you check it first. OK to commit? FX
erfc_scaled.diff
Description: Binary data