This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch,libgfortran] Fix binary128 ERFC_SCALED


> 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


Attachment: erfc_scaled.diff
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]