https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105384

--- Comment #6 from Zdenek Sojka <zsojka at seznam dot cz> ---
(In reply to Richard Biener from comment #5)
> The bessel functions are known to take a lot of time, there are (fixed?)
> older bugreports about those and we do take some measures to speed up the
> computation.
> We might want to give up the idea on producing correctly rounded results and
> simply invoke the host library routines here ...

$ cat testcase.c 
double
foo(double a, double b)
{
  return __builtin_yn(a, b);
}
double
bar(double a, double b)
{
  return __builtin_jn(a, b);
}
int main()
{
  foo(0x220f0985, 0xbc7bc234);
  bar(4292622104, 0xff00ff00ff00ff00);
  return 0;
}
$ gcc testcase.c -lm -O1
$ time ./a.out 

real    0m2.825s
user    0m2.815s
sys     0m0.010s

It takes quite some time at runtime, but the compilation time evaluation takes
several magnitudes more time (PR105384) and/or memory (PR105385).

Reply via email to