From: Szabolcs Nagy Date: Tue, 23 Aug 2016 19:47:53 +0000 (+0200) Subject: math: fix 128bit long double inverse trigonometric functions X-Git-Tag: v1.1.16~76 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=5b5db97f7e80bde2678aed72336a28375e800354;p=oweals%2Fmusl.git math: fix 128bit long double inverse trigonometric functions there was a copy paste error that could cause large ulp errors in atan2l, atanl, asinl and acosl on aarch64, mips64 and mipsn32. (the implementation is from freebsd fdlibm, but the tail end of the polynomial was wrong. 128 bit long double functions are not yet tested so this went undetected.) --- diff --git a/src/math/__invtrigl.c b/src/math/__invtrigl.c index ef7f4e1b..48f83aaf 100644 --- a/src/math/__invtrigl.c +++ b/src/math/__invtrigl.c @@ -57,7 +57,7 @@ long double __invtrigl_R(long double z) { long double p, q; p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*(pS5+z*(pS6+z*(pS7+z*(pS8+z*pS9))))))))); - q = 1.0+z*(qS1+z*(qS2+z*(qS3+z*(qS4+z*(qS5+z*(pS6+z*(pS7+z*(pS8+z*pS9)))))))); + q = 1.0+z*(qS1+z*(qS2+z*(qS3+z*(qS4+z*(qS5+z*(qS6+z*(qS7+z*(qS8+z*qS9)))))))); return p/q; } #endif