double a,hz,z,r,qx;
double qx = 0; double a,hz,z,r;
	double __kernel_cos(double x, double y)#else	double __kernel_cos(x, y)	double x,y;#endif{        fd_twoints u;	double a,hz,z,r,qx;	int ix;        u.d = x;	ix = __HI(u)&0x7fffffff;	/* ix = |x|'s high word*/	if(ix<0x3e400000) {			/* if x < 2**27 */	    if(((int)x)==0) return one;		/* generate inexact */	}	z  = x*x;	r  = z*(C1+z*(C2+z*(C3+z*(C4+z*(C5+z*C6)))));	if(ix < 0x3FD33333) 			/* if |x| < 0.3 */ 	    return one - (0.5*z - (z*r - x*y));	else {	    if(ix > 0x3fe90000) {		/* x > 0.78125 */		qx = 0.28125;	    } else {                u.d = qx;	        __HI(u) = ix-0x00200000;	/* x/4 */	        __LO(u) = 0;                qx = u.d;	    }	    hz = 0.5*z-qx;	    a  = one-qx;	    return a - (hz - (z*r-x*y));	}}