1/* The bit-field below would have a problem if __INT_MAX__ is too 2 small. */ 3#if __INT_MAX__ < 2147483647 4int a; 5#else 6double g (); 7typedef union { 8 struct { 9 unsigned s:1, e:8, f:23; 10 } u; 11 float f; 12} s; 13 14f(x, n) 15 float x; 16{ 17 ((s *)&x)->u.e -= n; 18 x = g((double)x, -n); 19} 20#endif 21