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 
  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 
  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 
  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 
  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 
  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 
 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 
 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 
 165 int range_simple(int a)
 166 {
 167         switch (a) {
 168         case 1 ... 9: return r0();
 169         }
 170 
 171         return def();
 172 }
 173 
 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 
 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 
 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 
 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  */