double __cos(double x, double y)
{
- double hz,z,r,w;
+ double_t hz,z,r,w;
z = x*x;
w = z*z;
float __cosdf(double x)
{
- double r, w, z;
+ double_t r, w, z;
/* Try to optimize for parallel evaluation as in __tandf.c. */
z = x*x;
*/
static inline double __log1p(double f)
{
- double hfsq,s,z,R,w,t1,t2;
+ double_t hfsq,s,z,R,w,t1,t2;
s = f/(2.0+f);
z = s*s;
static inline float __log1pf(float f)
{
- float hfsq,s,z,R,w,t1,t2;
+ float_t hfsq,s,z,R,w,t1,t2;
s = f/(2.0f + f);
z = s*s;
double __sin(double x, double y, int iy)
{
- double z,r,v,w;
+ double_t z,r,v,w;
z = x*x;
w = z*z;
float __sindf(double x)
{
- double r, s, w, z;
+ double_t r, s, w, z;
/* Try to optimize for parallel evaluation as in __tandf.c. */
z = x*x;
double __tan(double x, double y, int iy)
{
- double z, r, v, w, s, sign;
+ double_t z, r, v, w, s, sign;
int32_t ix, hx;
GET_HIGH_WORD(hx,x);
* -1.0 / (x+r) here
*/
/* compute -1.0 / (x+r) accurately */
- double a, t;
+ double_t a;
+ double z, t;
z = w;
SET_LOW_WORD(z,0);
v = r - (z - x); /* z+v = r+x */
float __tandf(double x, int iy)
{
- double z,r,w,s,t,u;
+ double_t z,r,w,s,t,u;
z = x*x;
/*
static double R(double z)
{
- double p, q;
+ double_t p, q;
p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
q = 1.0+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
return p/q;
static float R(float z)
{
- float p, q;
+ float_t p, q;
p = z*(pS0+z*(pS1+z*pS2));
q = 1.0f+z*qS1;
return p/q;
static double R(double z)
{
- double p, q;
+ double_t p, q;
p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
q = 1.0+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
return p/q;
static float R(float z)
{
- float p, q;
+ float_t p, q;
p = z*(pS0+z*(pS1+z*pS2));
q = 1.0f+z*qS1;
return p/q;
double atan(double x)
{
- double w,s1,s2,z;
+ double_t w,s1,s2,z;
uint32_t ix,sign;
int id;
float atanf(float x)
{
- float w,s1,s2,z;
+ float_t w,s1,s2,z;
uint32_t ix,sign;
int id;
static double erfc1(double x)
{
- double s,P,Q;
+ double_t s,P,Q;
s = fabs(x) - 1;
P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
static double erfc2(uint32_t ix, double x)
{
- double s,z,R,S;
+ double_t s,R,S;
+ double z;
if (ix < 0x3ff40000) /* |x| < 1.25 */
return erfc1(x);
static float erfc1(float x)
{
- float s,P,Q;
+ float_t s,P,Q;
s = fabsf(x) - 1;
P = pa0+s*(pa1+s*(pa2+s*(pa3+s*(pa4+s*(pa5+s*pa6)))));
static float erfc2(uint32_t ix, float x)
{
- float s,z,R,S;
+ float_t s,R,S;
+ float z;
if (ix < 0x3fa00000) /* |x| < 1.25 */
return erfc1(x);
static double pzero(double x)
{
const double *p,*q;
- double z,r,s;
+ double_t z,r,s;
uint32_t ix;
GET_HIGH_WORD(ix, x);
static double qzero(double x)
{
const double *p,*q;
- double s,r,z;
+ double_t s,r,z;
uint32_t ix;
GET_HIGH_WORD(ix, x);
static float pzerof(float x)
{
const float *p,*q;
- float z,r,s;
+ float_t z,r,s;
uint32_t ix;
GET_FLOAT_WORD(ix, x);
static float qzerof(float x)
{
const float *p,*q;
- float s,r,z;
+ float_t s,r,z;
uint32_t ix;
GET_FLOAT_WORD(ix, x);
static double pone(double x)
{
const double *p,*q;
- double z,r,s;
+ double_t z,r,s;
uint32_t ix;
GET_HIGH_WORD(ix, x);
static double qone(double x)
{
const double *p,*q;
- double s,r,z;
+ double_t s,r,z;
uint32_t ix;
GET_HIGH_WORD(ix, x);
static float ponef(float x)
{
const float *p,*q;
- float z,r,s;
+ float_t z,r,s;
uint32_t ix;
GET_FLOAT_WORD(ix, x);
static float qonef(float x)
{
const float *p,*q;
- float s,r,z;
+ float_t s,r,z;
uint32_t ix;
GET_FLOAT_WORD(ix, x);
/* S(x) rational function for positive x */
static double S(double x)
{
- double num = 0, den = 0;
+ double_t num = 0, den = 0;
int i;
/* to avoid overflow handle large x differently */