1int alloc_float(f)
2 float f;
3{  union
4    {
5      float f;
6      int i;
7    }
8  u;
9  u.f=f;
10  return u.i&~1;
11}
12
13float c_float(int obj)
14{  union
15    {
16      float f;
17      int i;
18    } u;
19
20  u.i=obj;
21  return u.f;
22}
23
24main()
25{ int x=alloc_float(1.2);
26  int y=alloc_float(5.7);
27  int z=alloc_float(c_float(x)*c_float(y));
28
29  printf("%g\n",(double)c_float(z));
30}
31