potential error in fdlibm asin

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


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