1 int def(void);
2 int r0(void);
3 int r1(void);
4 int r2(void);
5 int r3(void);
6 int r4(void);
7 int r5(void);
8 int r6(void);
9 int r7(void);
10 int r8(void);
11 int r9(void);
12 
small(int a)13 int 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 
densefull(int a)24 int 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 
densepart(int a)42 int 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 
dense_dense_20(int a)60 int 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 
dense_dense_100(int a)89 int 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 
dense_dense_1000(int a)118 int 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 
sparse(int a)147 int 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 
range_simple(int a)165 int range_simple(int a)
166 {
167 	switch (a) {
168 	case 1 ... 9: return r0();
169 	}
170 
171 	return def();
172 }
173 
range_complex(int a)174 int 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 
switch_call(int a)187 void 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 
switch_retcall(int a)205 int 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 
switch_cmov(int a)225 int 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