1typedef union
2{
3  double value;
4  struct
5  {
6    unsigned long msw;
7    unsigned long lsw;
8  } parts;
9} ieee_double_shape_type;
10
11double f (int iy)
12{
13  double z, t;
14  ieee_double_shape_type u, v;
15
16  if (iy == 1)
17    return 0;
18
19  u.parts.msw = iy;
20  u.parts.lsw = 0;
21  z = u.value;
22  v.parts.msw = iy;
23  v.parts.lsw = 0;
24  t = v.value;
25  return 1.0+z+t+t;
26}
27