1int def(void);
2int r0(void);
3int r1(void);
4int r2(void);
5int r3(void);
6int r4(void);
7int r5(void);
8int r6(void);
9int r7(void);
10int r8(void);
11int r9(void);
12
13int small(int a)
14{
15	switch (a) {
16	case 0: return r0();
17	case 1: return r1();
18	case 2: return r2();
19	}
20
21	return def();
22}
23
24int densefull(int a)
25{
26	switch (a) {
27	case 0: return r0();
28	case 1: return r1();
29	case 2: return r2();
30	case 3: return r3();
31	case 4: return r4();
32	case 5: return r5();
33	case 6: return r6();
34	case 7: return r7();
35	case 8: return r8();
36	case 9: return r9();
37	}
38
39	return def();
40}
41
42int densepart(int a)
43{
44	switch (a) {
45	case 0: return r0();
46	case 1: return r1();
47	case 2: return r2();
48	case 3: return r3();
49	case 4: return r4();
50
51	case 6: return r6();
52	case 7: return r7();
53	case 8: return r8();
54	case 9: return r9();
55	}
56
57	return def();
58}
59
60int dense_dense_20(int a)
61{
62	switch (a) {
63	case 0: return r0();
64	case 1: return r1();
65	case 2: return r2();
66	case 3: return r3();
67	case 4: return r4();
68	case 5: return r5();
69	case 6: return r6();
70	case 7: return r7();
71	case 8: return r8();
72	case 9: return r9();
73
74	case 20: return r0();
75	case 21: return r1();
76	case 22: return r2();
77	case 23: return r3();
78	case 24: return r4();
79	case 25: return r5();
80	case 26: return r6();
81	case 27: return r7();
82	case 28: return r8();
83	case 29: return r9();
84	}
85
86	return def();
87}
88
89int dense_dense_100(int a)
90{
91	switch (a) {
92	case 0: return r0();
93	case 1: return r1();
94	case 2: return r2();
95	case 3: return r3();
96	case 4: return r4();
97	case 5: return r5();
98	case 6: return r6();
99	case 7: return r7();
100	case 8: return r8();
101	case 9: return r9();
102
103	case 100: return r0();
104	case 101: return r1();
105	case 102: return r2();
106	case 103: return r3();
107	case 104: return r4();
108	case 105: return r5();
109	case 106: return r6();
110	case 107: return r7();
111	case 108: return r8();
112	case 109: return r9();
113	}
114
115	return def();
116}
117
118int dense_dense_1000(int a)
119{
120	switch (a) {
121	case 0: return r0();
122	case 1: return r1();
123	case 2: return r2();
124	case 3: return r3();
125	case 4: return r4();
126	case 5: return r5();
127	case 6: return r6();
128	case 7: return r7();
129	case 8: return r8();
130	case 9: return r9();
131
132	case 1000: return r0();
133	case 1001: return r1();
134	case 1002: return r2();
135	case 1003: return r3();
136	case 1004: return r4();
137	case 1005: return r5();
138	case 1006: return r6();
139	case 1007: return r7();
140	case 1008: return r8();
141	case 1009: return r9();
142	}
143
144	return def();
145}
146
147int sparse(int a)
148{
149	switch (a) {
150	case 0: return r0();
151	case 3: return r1();
152	case 12: return r2();
153	case 31: return r3();
154	case 54: return r4();
155	case 75: return r5();
156	case 96: return r6();
157	case 107: return r7();
158	case 189: return r8();
159	case 999: return r9();
160	}
161
162	return def();
163}
164
165int range_simple(int a)
166{
167	switch (a) {
168	case 1 ... 9: return r0();
169	}
170
171	return def();
172}
173
174int range_complex(int a)
175{
176	switch (a) {
177	case -1: return r0();
178	case 1 ... 9: return r0();
179	case 10 ... 19: return r1();
180	case 200 ... 202: return r2();
181	case 300 ... 303: return r3();
182	}
183
184	return def();
185}
186
187void switch_call(int a)
188{
189	int r;
190
191	switch (a) {
192	case 0: r0(); break;
193	case 1: r1(); break;
194	case 2: r2(); break;
195	case 3: r3(); break;
196	case 4: r4(); break;
197	case 5: r5(); break;
198	case 6: r6(); break;
199	case 7: r7(); break;
200	case 8: r8(); break;
201	case 9: r9(); break;
202	}
203}
204
205int switch_retcall(int a)
206{
207	int r = 0;
208
209	switch (a) {
210	case 0: r = r0(); break;
211	case 1: r = r1(); break;
212	case 2: r = r2(); break;
213	case 3: r = r3(); break;
214	case 4: r = r4(); break;
215	case 5: r = r5(); break;
216	case 6: r = r6(); break;
217	case 7: r = r7(); break;
218	case 8: r = r8(); break;
219	case 9: r = r9(); break;
220	}
221
222	return r;
223}
224
225int switch_cmov(int a)
226{
227	int r;
228
229	switch (a) {
230	case 0: r = 3; break;
231	case 1: r = 1; break;
232	case 2: r = 7; break;
233	case 3: r = 2; break;
234	case 4: r = 9; break;
235
236	case 6: r = 5; break;
237	case 7: r = 8; break;
238	case 8: r = 6; break;
239	case 9: r = 4; break;
240	}
241
242	return r;
243}
244
245/*
246 * check-name: llvm-switch
247 * check-command: sparsec -Wno-decl -c $file -o tmp.o
248 */
249