1 #define MASK(N) ((1UL << (N)) - 1)
2 #define BITS(N) ((1UL << ((N) - 1)) + 2)
3 
4 #define FUNC(N) void f##N(long j) { if ((j & MASK(N)) >= BITS(N)) abort();}
5 
6 FUNC(3)
7 FUNC(4)
8 FUNC(5)
9 FUNC(6)
10 FUNC(7)
11 FUNC(8)
12 FUNC(9)
13 FUNC(10)
14 FUNC(11)
15 FUNC(12)
16 FUNC(13)
17 FUNC(14)
18 FUNC(15)
19 FUNC(16)
20 FUNC(17)
21 FUNC(18)
22 FUNC(19)
23 FUNC(20)
24 FUNC(21)
25 FUNC(22)
26 FUNC(23)
27 FUNC(24)
28 FUNC(25)
29 FUNC(26)
30 FUNC(27)
31 FUNC(28)
32 FUNC(29)
33 FUNC(30)
34 FUNC(31)
35 
main()36 int main ()
37 {
38   f3(0);
39   f4(0);
40   f5(0);
41   f6(0);
42   f7(0);
43   f8(0);
44   f9(0);
45   f10(0);
46   f11(0);
47   f12(0);
48   f13(0);
49   f14(0);
50   f15(0);
51   f16(0);
52   f17(0);
53   f18(0);
54   f19(0);
55   f20(0);
56   f21(0);
57   f22(0);
58   f23(0);
59   f24(0);
60   f25(0);
61   f26(0);
62   f27(0);
63   f28(0);
64   f29(0);
65   f30(0);
66   f31(0);
67 
68   exit(0);
69 }
70