potential error in fdlibm asin

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Fri Dec 2 14:24:04 UTC 2016

[resent after subscribing core-libs-dev]

I'm looking at some strange code in the asin implementation:

Basically the code in
after line 101 is indented wrong.

But I think in truth the "else" statement should be deleted.

"t = x*x" is only executed if "if (ix<0x3e400000)" is wrong.
If "if (ix<0x3e400000)" is true and "if(huge+x>one)" is wrong, 
t=0 is used for statement "p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5))))"
resulting in p=0.
In fdlibm of netlib the initialization t=0 is missing, but it has the same strange
I found one copy of this code in the internet where the "else" is removed,
but it's not completely the same:
Does anybody have the knowledge to tell me what's wrong?  
Does anybody know how to contribute a fix to netlib fdlibm?
Thanks for your help,

More information about the core-libs-dev mailing list