1typedef signed int __int32_t; 2typedef unsigned int __uint32_t; 3typedef union 4{ 5 double value; 6 struct 7 { 8 __uint32_t msw; 9 __uint32_t lsw; 10 } parts; 11} ieee_double_shape_type; 12two52= 4.50359962737049600000e+15, 13w6 = -1.63092934096575273989e-03; 14double sin_pi(double x) 15{ 16 double y,z; 17 __int32_t n,ix; 18ieee_double_shape_type gh_u; 19 gh_u.value = (x); 20(ix) = gh_u.parts.msw; 21 if(ix<0x43300000) 22 z = y+two52; 23 ieee_double_shape_type gl_u; 24 gl_u.value = (z); 25 (n) = gl_u.parts.lsw; 26 n &= 1; 27 switch (n) 28 { 29 case 0: 30__kernel_sin(); 31 } 32} 33