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).