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