X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=src%2Fmath%2F__sinl.c;h=068adffb11356a64819f4f2ccc34e62a4c54ef48;hp=71851d81c3131504ac1efa300cf53e8347662527;hb=fcfba99503746e44585d7e318562dd425e8ff390;hpb=b69f695acedd4ce2798ef9ea28d834ceccc789bd diff --git a/src/math/__sinl.c b/src/math/__sinl.c index 71851d81..068adffb 100644 --- a/src/math/__sinl.c +++ b/src/math/__sinl.c @@ -24,19 +24,8 @@ * See __cosl.c for more details about the polynomial. */ -static const double half = 0.5; - -// FIXME -/* Long double constants are slow on these arches, and broken on i386. */ -static const volatile double -S1hi = -0.16666666666666666, /* -0x15555555555555.0p-55 */ -S1lo = -9.2563760475949941e-18; /* -0x15580000000000.0p-109 */ -#define S1 ((long double)S1hi + S1lo) - -#if 0 static const long double S1 = -0.166666666666666666671L; /* -0xaaaaaaaaaaaaaaab.0p-66 */ -#endif static const double S2 = 0.0083333333333333332, /* 0x11111111111111.0p-59 */ @@ -56,6 +45,6 @@ long double __sinl(long double x, long double y, int iy) r = S2+z*(S3+z*(S4+z*(S5+z*(S6+z*(S7+z*S8))))); if (iy == 0) return x+v*(S1+z*r); - return x-((z*(half*y-v*r)-y)-v*S1); + return x-((z*(0.5*y-v*r)-y)-v*S1); } #endif