1 typedef signed int __int32_t;
2 typedef unsigned int __uint32_t;
3 typedef union
4 {
5   double value;
6   struct
7   {
8     __uint32_t msw;
9     __uint32_t lsw;
10   } parts;
11 } ieee_double_shape_type;
12 two52= 4.50359962737049600000e+15,
13 w6 = -1.63092934096575273989e-03;
sin_pi(double x)14 double sin_pi(double x)
15 {
16  double y,z;
17  __int32_t n,ix;
18 ieee_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