1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-01 10:06:57 +03:00

Fix inaccuracy of clog, clog10 near |z| = 1 (bug 13629).

This commit is contained in:
Joseph Myers
2012-09-25 19:43:49 +00:00
parent c8cb2a5224
commit d032e0d29b
19 changed files with 1003 additions and 10 deletions

View File

@ -364,6 +364,13 @@ extern double __slowexp (double __x);
extern double __slowpow (double __x, double __y, double __z);
extern void __docos (double __x, double __dx, double __v[]);
/* Return X^2 + Y^2 - 1, computed without large cancellation error.
It is given that 1 > X >= Y >= epsilon / 2, and that either X >=
0.75 or Y >= 0.5. */
extern float __x2y2m1f (float x, float y);
extern double __x2y2m1 (double x, double y);
extern long double __x2y2m1l (long double x, long double y);
#ifndef math_opt_barrier
# define math_opt_barrier(x) \
({ __typeof (x) __x = (x); __asm ("" : "+m" (__x)); __x; })