1 typedef union 2 { 3 double value; 4 struct 5 { 6 unsigned long msw; 7 unsigned long lsw; 8 } parts; 9 } ieee_double_shape_type; 10 f(int iy)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