improve event handling (still has problems though)
[pcsx_rearmed.git] / plugins / dfxvideo / hq2x.h
1 #define P0 dst0[0]
2 #define P1 dst0[1]
3 #define P2 dst1[0]
4 #define P3 dst1[1]
5 #define MUR interp_32_diff(c[1], c[5])
6 #define MDR interp_32_diff(c[5], c[7])
7 #define MDL interp_32_diff(c[7], c[3])
8 #define MUL interp_32_diff(c[3], c[1])
9 #define IC(p0) c[p0]
10 #define I11(p0,p1) interp_32_11(c[p0], c[p1])
11 #define I211(p0,p1,p2) interp_32_211(c[p0], c[p1], c[p2])
12 #define I31(p0,p1) interp_32_31(c[p0], c[p1])
13 #define I332(p0,p1,p2) interp_32_332(c[p0], c[p1], c[p2])
14 #define I431(p0,p1,p2) interp_32_431(c[p0], c[p1], c[p2])
15 #define I521(p0,p1,p2) interp_32_521(c[p0], c[p1], c[p2])
16 #define I53(p0,p1) interp_32_53(c[p0], c[p1])
17 #define I611(p0,p1,p2) interp_32_611(c[p0], c[p1], c[p2])
18 #define I71(p0,p1) interp_32_71(c[p0], c[p1])
19 #define I772(p0,p1,p2) interp_32_772(c[p0], c[p1], c[p2])
20 #define I97(p0,p1) interp_32_97(c[p0], c[p1])
21 #define I1411(p0,p1,p2) interp_32_1411(c[p0], c[p1], c[p2])
22 #define I151(p0,p1) interp_32_151(c[p0], c[p1])
23
24 case 0 : 
25 case 1 : 
26 case 4 : 
27 case 5 : 
28 case 32 : 
29 case 33 : 
30 case 36 : 
31 case 37 : 
32 case 128 : 
33 case 129 : 
34 case 132 : 
35 case 133 : 
36 case 160 : 
37 case 161 : 
38 case 164 : 
39 case 165 : 
40 {
41   P0 = I211(4, 1, 3);
42   P1 = I211(4, 1, 5);
43   P2 = I211(4, 3, 7);
44   P3 = I211(4, 5, 7);
45 } break;
46 case 2 : 
47 case 34 : 
48 case 130 : 
49 case 162 : 
50 {
51   P0 = I31(4, 0);
52   P1 = I31(4, 2);
53   P2 = I211(4, 3, 7);
54   P3 = I211(4, 5, 7);
55 } break;
56 case 3 : 
57 case 35 : 
58 case 131 : 
59 case 163 : 
60 {
61   P0 = I31(4, 3);
62   P1 = I31(4, 2);
63   P2 = I211(4, 3, 7);
64   P3 = I211(4, 5, 7);
65 } break;
66 case 6 : 
67 case 38 : 
68 case 134 : 
69 case 166 : 
70 {
71   P0 = I31(4, 0);
72   P1 = I31(4, 5);
73   P2 = I211(4, 3, 7);
74   P3 = I211(4, 5, 7);
75 } break;
76 case 7 : 
77 case 39 : 
78 case 135 : 
79 case 167 : 
80 {
81   P0 = I31(4, 3);
82   P1 = I31(4, 5);
83   P2 = I211(4, 3, 7);
84   P3 = I211(4, 5, 7);
85 } break;
86 case 8 : 
87 case 12 : 
88 case 136 : 
89 case 140 : 
90 {
91   P0 = I31(4, 0);
92   P1 = I211(4, 1, 5);
93   P2 = I31(4, 6);
94   P3 = I211(4, 5, 7);
95 } break;
96 case 9 : 
97 case 13 : 
98 case 137 : 
99 case 141 : 
100 {
101   P0 = I31(4, 1);
102   P1 = I211(4, 1, 5);
103   P2 = I31(4, 6);
104   P3 = I211(4, 5, 7);
105 } break;
106 case 10 : 
107 case 138 : 
108 {
109   P1 = I31(4, 2);
110   P2 = I31(4, 6);
111   P3 = I211(4, 5, 7);
112   if (MUL) {
113     P0 = I31(4, 0);
114   } else {
115     P0 = I211(4, 1, 3);
116   }
117 } break;
118 case 11 : 
119 case 139 : 
120 {
121   P1 = I31(4, 2);
122   P2 = I31(4, 6);
123   P3 = I211(4, 5, 7);
124   if (MUL) {
125     P0 = IC(4);
126   } else {
127     P0 = I211(4, 1, 3);
128   }
129 } break;
130 case 14 : 
131 case 142 : 
132 {
133   P2 = I31(4, 6);
134   P3 = I211(4, 5, 7);
135   if (MUL) {
136     P0 = I31(4, 0);
137     P1 = I31(4, 5);
138   } else {
139     P0 = I332(1, 3, 4);
140     P1 = I521(4, 1, 5);
141   }
142 } break;
143 case 15 : 
144 case 143 : 
145 {
146   P2 = I31(4, 6);
147   P3 = I211(4, 5, 7);
148   if (MUL) {
149     P0 = IC(4);
150     P1 = I31(4, 5);
151   } else {
152     P0 = I332(1, 3, 4);
153     P1 = I521(4, 1, 5);
154   }
155 } break;
156 case 16 : 
157 case 17 : 
158 case 48 : 
159 case 49 : 
160 {
161   P0 = I211(4, 1, 3);
162   P1 = I31(4, 2);
163   P2 = I211(4, 3, 7);
164   P3 = I31(4, 8);
165 } break;
166 case 18 : 
167 case 50 : 
168 {
169   P0 = I31(4, 0);
170   P2 = I211(4, 3, 7);
171   P3 = I31(4, 8);
172   if (MUR) {
173     P1 = I31(4, 2);
174   } else {
175     P1 = I211(4, 1, 5);
176   }
177 } break;
178 case 19 : 
179 case 51 : 
180 {
181   P2 = I211(4, 3, 7);
182   P3 = I31(4, 8);
183   if (MUR) {
184     P0 = I31(4, 3);
185     P1 = I31(4, 2);
186   } else {
187     P0 = I521(4, 1, 3);
188     P1 = I332(1, 5, 4);
189   }
190 } break;
191 case 20 : 
192 case 21 : 
193 case 52 : 
194 case 53 : 
195 {
196   P0 = I211(4, 1, 3);
197   P1 = I31(4, 1);
198   P2 = I211(4, 3, 7);
199   P3 = I31(4, 8);
200 } break;
201 case 22 : 
202 case 54 : 
203 {
204   P0 = I31(4, 0);
205   P2 = I211(4, 3, 7);
206   P3 = I31(4, 8);
207   if (MUR) {
208     P1 = IC(4);
209   } else {
210     P1 = I211(4, 1, 5);
211   }
212 } break;
213 case 23 : 
214 case 55 : 
215 {
216   P2 = I211(4, 3, 7);
217   P3 = I31(4, 8);
218   if (MUR) {
219     P0 = I31(4, 3);
220     P1 = IC(4);
221   } else {
222     P0 = I521(4, 1, 3);
223     P1 = I332(1, 5, 4);
224   }
225 } break;
226 case 24 : 
227 case 66 : 
228 {
229   P0 = I31(4, 0);
230   P1 = I31(4, 2);
231   P2 = I31(4, 6);
232   P3 = I31(4, 8);
233 } break;
234 case 25 : 
235 {
236   P0 = I31(4, 1);
237   P1 = I31(4, 2);
238   P2 = I31(4, 6);
239   P3 = I31(4, 8);
240 } break;
241 case 26 : 
242 case 31 : 
243 case 95 : 
244 {
245   P2 = I31(4, 6);
246   P3 = I31(4, 8);
247   if (MUL) {
248     P0 = IC(4);
249   } else {
250     P0 = I211(4, 1, 3);
251   }
252   if (MUR) {
253     P1 = IC(4);
254   } else {
255     P1 = I211(4, 1, 5);
256   }
257 } break;
258 case 27 : 
259 case 75 : 
260 {
261   P1 = I31(4, 2);
262   P2 = I31(4, 6);
263   P3 = I31(4, 8);
264   if (MUL) {
265     P0 = IC(4);
266   } else {
267     P0 = I211(4, 1, 3);
268   }
269 } break;
270 case 28 : 
271 {
272   P0 = I31(4, 0);
273   P1 = I31(4, 1);
274   P2 = I31(4, 6);
275   P3 = I31(4, 8);
276 } break;
277 case 29 : 
278 {
279   P0 = I31(4, 1);
280   P1 = I31(4, 1);
281   P2 = I31(4, 6);
282   P3 = I31(4, 8);
283 } break;
284 case 30 : 
285 case 86 : 
286 {
287   P0 = I31(4, 0);
288   P2 = I31(4, 6);
289   P3 = I31(4, 8);
290   if (MUR) {
291     P1 = IC(4);
292   } else {
293     P1 = I211(4, 1, 5);
294   }
295 } break;
296 case 40 : 
297 case 44 : 
298 case 168 : 
299 case 172 : 
300 {
301   P0 = I31(4, 0);
302   P1 = I211(4, 1, 5);
303   P2 = I31(4, 7);
304   P3 = I211(4, 5, 7);
305 } break;
306 case 41 : 
307 case 45 : 
308 case 169 : 
309 case 173 : 
310 {
311   P0 = I31(4, 1);
312   P1 = I211(4, 1, 5);
313   P2 = I31(4, 7);
314   P3 = I211(4, 5, 7);
315 } break;
316 case 42 : 
317 case 170 : 
318 {
319   P1 = I31(4, 2);
320   P3 = I211(4, 5, 7);
321   if (MUL) {
322     P0 = I31(4, 0);
323     P2 = I31(4, 7);
324   } else {
325     P0 = I332(1, 3, 4);
326     P2 = I521(4, 3, 7);
327   }
328 } break;
329 case 43 : 
330 case 171 : 
331 {
332   P1 = I31(4, 2);
333   P3 = I211(4, 5, 7);
334   if (MUL) {
335     P0 = IC(4);
336     P2 = I31(4, 7);
337   } else {
338     P0 = I332(1, 3, 4);
339     P2 = I521(4, 3, 7);
340   }
341 } break;
342 case 46 : 
343 case 174 : 
344 {
345   P1 = I31(4, 5);
346   P2 = I31(4, 7);
347   P3 = I211(4, 5, 7);
348   if (MUL) {
349     P0 = I31(4, 0);
350   } else {
351     P0 = I611(4, 1, 3);
352   }
353 } break;
354 case 47 : 
355 case 175 : 
356 {
357   P1 = I31(4, 5);
358   P2 = I31(4, 7);
359   P3 = I211(4, 5, 7);
360   if (MUL) {
361     P0 = IC(4);
362   } else {
363     P0 = I1411(4, 1, 3);
364   }
365 } break;
366 case 56 : 
367 {
368   P0 = I31(4, 0);
369   P1 = I31(4, 2);
370   P2 = I31(4, 7);
371   P3 = I31(4, 8);
372 } break;
373 case 57 : 
374 {
375   P0 = I31(4, 1);
376   P1 = I31(4, 2);
377   P2 = I31(4, 7);
378   P3 = I31(4, 8);
379 } break;
380 case 58 : 
381 {
382   P2 = I31(4, 7);
383   P3 = I31(4, 8);
384   if (MUL) {
385     P0 = I31(4, 0);
386   } else {
387     P0 = I611(4, 1, 3);
388   }
389   if (MUR) {
390     P1 = I31(4, 2);
391   } else {
392     P1 = I611(4, 1, 5);
393   }
394 } break;
395 case 59 : 
396 {
397   P2 = I31(4, 7);
398   P3 = I31(4, 8);
399   if (MUL) {
400     P0 = IC(4);
401   } else {
402     P0 = I211(4, 1, 3);
403   }
404   if (MUR) {
405     P1 = I31(4, 2);
406   } else {
407     P1 = I611(4, 1, 5);
408   }
409 } break;
410 case 60 : 
411 {
412   P0 = I31(4, 0);
413   P1 = I31(4, 1);
414   P2 = I31(4, 7);
415   P3 = I31(4, 8);
416 } break;
417 case 61 : 
418 {
419   P0 = I31(4, 1);
420   P1 = I31(4, 1);
421   P2 = I31(4, 7);
422   P3 = I31(4, 8);
423 } break;
424 case 62 : 
425 {
426   P0 = I31(4, 0);
427   P2 = I31(4, 7);
428   P3 = I31(4, 8);
429   if (MUR) {
430     P1 = IC(4);
431   } else {
432     P1 = I211(4, 1, 5);
433   }
434 } break;
435 case 63 : 
436 {
437   P2 = I31(4, 7);
438   P3 = I31(4, 8);
439   if (MUL) {
440     P0 = IC(4);
441   } else {
442     P0 = I1411(4, 1, 3);
443   }
444   if (MUR) {
445     P1 = IC(4);
446   } else {
447     P1 = I211(4, 1, 5);
448   }
449 } break;
450 case 64 : 
451 case 65 : 
452 case 68 : 
453 case 69 : 
454 {
455   P0 = I211(4, 1, 3);
456   P1 = I211(4, 1, 5);
457   P2 = I31(4, 6);
458   P3 = I31(4, 8);
459 } break;
460 case 67 : 
461 {
462   P0 = I31(4, 3);
463   P1 = I31(4, 2);
464   P2 = I31(4, 6);
465   P3 = I31(4, 8);
466 } break;
467 case 70 : 
468 {
469   P0 = I31(4, 0);
470   P1 = I31(4, 5);
471   P2 = I31(4, 6);
472   P3 = I31(4, 8);
473 } break;
474 case 71 : 
475 {
476   P0 = I31(4, 3);
477   P1 = I31(4, 5);
478   P2 = I31(4, 6);
479   P3 = I31(4, 8);
480 } break;
481 case 72 : 
482 case 76 : 
483 {
484   P0 = I31(4, 0);
485   P1 = I211(4, 1, 5);
486   P3 = I31(4, 8);
487   if (MDL) {
488     P2 = I31(4, 6);
489   } else {
490     P2 = I211(4, 3, 7);
491   }
492 } break;
493 case 73 : 
494 case 77 : 
495 {
496   P1 = I211(4, 1, 5);
497   P3 = I31(4, 8);
498   if (MDL) {
499     P0 = I31(4, 1);
500     P2 = I31(4, 6);
501   } else {
502     P0 = I521(4, 3, 1);
503     P2 = I332(3, 7, 4);
504   }
505 } break;
506 case 74 : 
507 case 107 : 
508 case 123 : 
509 {
510   P1 = I31(4, 2);
511   P3 = I31(4, 8);
512   if (MDL) {
513     P2 = IC(4);
514   } else {
515     P2 = I211(4, 3, 7);
516   }
517   if (MUL) {
518     P0 = IC(4);
519   } else {
520     P0 = I211(4, 1, 3);
521   }
522 } break;
523 case 78 : 
524 {
525   P1 = I31(4, 5);
526   P3 = I31(4, 8);
527   if (MDL) {
528     P2 = I31(4, 6);
529   } else {
530     P2 = I611(4, 3, 7);
531   }
532   if (MUL) {
533     P0 = I31(4, 0);
534   } else {
535     P0 = I611(4, 1, 3);
536   }
537 } break;
538 case 79 : 
539 {
540   P1 = I31(4, 5);
541   P3 = I31(4, 8);
542   if (MDL) {
543     P2 = I31(4, 6);
544   } else {
545     P2 = I611(4, 3, 7);
546   }
547   if (MUL) {
548     P0 = IC(4);
549   } else {
550     P0 = I211(4, 1, 3);
551   }
552 } break;
553 case 80 : 
554 case 81 : 
555 {
556   P0 = I211(4, 1, 3);
557   P1 = I31(4, 2);
558   P2 = I31(4, 6);
559   if (MDR) {
560     P3 = I31(4, 8);
561   } else {
562     P3 = I211(4, 5, 7);
563   }
564 } break;
565 case 82 : 
566 case 214 : 
567 case 222 : 
568 {
569   P0 = I31(4, 0);
570   P2 = I31(4, 6);
571   if (MDR) {
572     P3 = IC(4);
573   } else {
574     P3 = I211(4, 5, 7);
575   }
576   if (MUR) {
577     P1 = IC(4);
578   } else {
579     P1 = I211(4, 1, 5);
580   }
581 } break;
582 case 83 : 
583 {
584   P0 = I31(4, 3);
585   P2 = I31(4, 6);
586   if (MDR) {
587     P3 = I31(4, 8);
588   } else {
589     P3 = I611(4, 5, 7);
590   }
591   if (MUR) {
592     P1 = I31(4, 2);
593   } else {
594     P1 = I611(4, 1, 5);
595   }
596 } break;
597 case 84 : 
598 case 85 : 
599 {
600   P0 = I211(4, 1, 3);
601   P2 = I31(4, 6);
602   if (MDR) {
603     P1 = I31(4, 1);
604     P3 = I31(4, 8);
605   } else {
606     P1 = I521(4, 5, 1);
607     P3 = I332(5, 7, 4);
608   }
609 } break;
610 case 87 : 
611 {
612   P0 = I31(4, 3);
613   P2 = I31(4, 6);
614   if (MDR) {
615     P3 = I31(4, 8);
616   } else {
617     P3 = I611(4, 5, 7);
618   }
619   if (MUR) {
620     P1 = IC(4);
621   } else {
622     P1 = I211(4, 1, 5);
623   }
624 } break;
625 case 88 : 
626 case 248 : 
627 case 250 : 
628 {
629   P0 = I31(4, 0);
630   P1 = I31(4, 2);
631   if (MDL) {
632     P2 = IC(4);
633   } else {
634     P2 = I211(4, 3, 7);
635   }
636   if (MDR) {
637     P3 = IC(4);
638   } else {
639     P3 = I211(4, 5, 7);
640   }
641 } break;
642 case 89 : 
643 {
644   P0 = I31(4, 1);
645   P1 = I31(4, 2);
646   if (MDL) {
647     P2 = I31(4, 6);
648   } else {
649     P2 = I611(4, 3, 7);
650   }
651   if (MDR) {
652     P3 = I31(4, 8);
653   } else {
654     P3 = I611(4, 5, 7);
655   }
656 } break;
657 case 90 : 
658 {
659   if (MDL) {
660     P2 = I31(4, 6);
661   } else {
662     P2 = I611(4, 3, 7);
663   }
664   if (MDR) {
665     P3 = I31(4, 8);
666   } else {
667     P3 = I611(4, 5, 7);
668   }
669   if (MUL) {
670     P0 = I31(4, 0);
671   } else {
672     P0 = I611(4, 1, 3);
673   }
674   if (MUR) {
675     P1 = I31(4, 2);
676   } else {
677     P1 = I611(4, 1, 5);
678   }
679 } break;
680 case 91 : 
681 {
682   if (MDL) {
683     P2 = I31(4, 6);
684   } else {
685     P2 = I611(4, 3, 7);
686   }
687   if (MDR) {
688     P3 = I31(4, 8);
689   } else {
690     P3 = I611(4, 5, 7);
691   }
692   if (MUL) {
693     P0 = IC(4);
694   } else {
695     P0 = I211(4, 1, 3);
696   }
697   if (MUR) {
698     P1 = I31(4, 2);
699   } else {
700     P1 = I611(4, 1, 5);
701   }
702 } break;
703 case 92 : 
704 {
705   P0 = I31(4, 0);
706   P1 = I31(4, 1);
707   if (MDL) {
708     P2 = I31(4, 6);
709   } else {
710     P2 = I611(4, 3, 7);
711   }
712   if (MDR) {
713     P3 = I31(4, 8);
714   } else {
715     P3 = I611(4, 5, 7);
716   }
717 } break;
718 case 93 : 
719 {
720   P0 = I31(4, 1);
721   P1 = I31(4, 1);
722   if (MDL) {
723     P2 = I31(4, 6);
724   } else {
725     P2 = I611(4, 3, 7);
726   }
727   if (MDR) {
728     P3 = I31(4, 8);
729   } else {
730     P3 = I611(4, 5, 7);
731   }
732 } break;
733 case 94 : 
734 {
735   if (MDL) {
736     P2 = I31(4, 6);
737   } else {
738     P2 = I611(4, 3, 7);
739   }
740   if (MDR) {
741     P3 = I31(4, 8);
742   } else {
743     P3 = I611(4, 5, 7);
744   }
745   if (MUL) {
746     P0 = I31(4, 0);
747   } else {
748     P0 = I611(4, 1, 3);
749   }
750   if (MUR) {
751     P1 = IC(4);
752   } else {
753     P1 = I211(4, 1, 5);
754   }
755 } break;
756 case 96 : 
757 case 97 : 
758 case 100 : 
759 case 101 : 
760 {
761   P0 = I211(4, 1, 3);
762   P1 = I211(4, 1, 5);
763   P2 = I31(4, 3);
764   P3 = I31(4, 8);
765 } break;
766 case 98 : 
767 {
768   P0 = I31(4, 0);
769   P1 = I31(4, 2);
770   P2 = I31(4, 3);
771   P3 = I31(4, 8);
772 } break;
773 case 99 : 
774 {
775   P0 = I31(4, 3);
776   P1 = I31(4, 2);
777   P2 = I31(4, 3);
778   P3 = I31(4, 8);
779 } break;
780 case 102 : 
781 {
782   P0 = I31(4, 0);
783   P1 = I31(4, 5);
784   P2 = I31(4, 3);
785   P3 = I31(4, 8);
786 } break;
787 case 103 : 
788 {
789   P0 = I31(4, 3);
790   P1 = I31(4, 5);
791   P2 = I31(4, 3);
792   P3 = I31(4, 8);
793 } break;
794 case 104 : 
795 case 108 : 
796 {
797   P0 = I31(4, 0);
798   P1 = I211(4, 1, 5);
799   P3 = I31(4, 8);
800   if (MDL) {
801     P2 = IC(4);
802   } else {
803     P2 = I211(4, 3, 7);
804   }
805 } break;
806 case 105 : 
807 case 109 : 
808 {
809   P1 = I211(4, 1, 5);
810   P3 = I31(4, 8);
811   if (MDL) {
812     P0 = I31(4, 1);
813     P2 = IC(4);
814   } else {
815     P0 = I521(4, 3, 1);
816     P2 = I332(3, 7, 4);
817   }
818 } break;
819 case 106 : 
820 case 120 : 
821 {
822   P0 = I31(4, 0);
823   P1 = I31(4, 2);
824   P3 = I31(4, 8);
825   if (MDL) {
826     P2 = IC(4);
827   } else {
828     P2 = I211(4, 3, 7);
829   }
830 } break;
831 case 110 : 
832 {
833   P0 = I31(4, 0);
834   P1 = I31(4, 5);
835   P3 = I31(4, 8);
836   if (MDL) {
837     P2 = IC(4);
838   } else {
839     P2 = I211(4, 3, 7);
840   }
841 } break;
842 case 111 : 
843 {
844   P1 = I31(4, 5);
845   P3 = I31(4, 8);
846   if (MDL) {
847     P2 = IC(4);
848   } else {
849     P2 = I211(4, 3, 7);
850   }
851   if (MUL) {
852     P0 = IC(4);
853   } else {
854     P0 = I1411(4, 1, 3);
855   }
856 } break;
857 case 112 : 
858 case 113 : 
859 {
860   P0 = I211(4, 1, 3);
861   P1 = I31(4, 2);
862   if (MDR) {
863     P2 = I31(4, 3);
864     P3 = I31(4, 8);
865   } else {
866     P2 = I521(4, 7, 3);
867     P3 = I332(5, 7, 4);
868   }
869 } break;
870 case 114 : 
871 {
872   P0 = I31(4, 0);
873   P2 = I31(4, 3);
874   if (MDR) {
875     P3 = I31(4, 8);
876   } else {
877     P3 = I611(4, 5, 7);
878   }
879   if (MUR) {
880     P1 = I31(4, 2);
881   } else {
882     P1 = I611(4, 1, 5);
883   }
884 } break;
885 case 115 : 
886 {
887   P0 = I31(4, 3);
888   P2 = I31(4, 3);
889   if (MDR) {
890     P3 = I31(4, 8);
891   } else {
892     P3 = I611(4, 5, 7);
893   }
894   if (MUR) {
895     P1 = I31(4, 2);
896   } else {
897     P1 = I611(4, 1, 5);
898   }
899 } break;
900 case 116 : 
901 case 117 : 
902 {
903   P0 = I211(4, 1, 3);
904   P1 = I31(4, 1);
905   P2 = I31(4, 3);
906   if (MDR) {
907     P3 = I31(4, 8);
908   } else {
909     P3 = I611(4, 5, 7);
910   }
911 } break;
912 case 118 : 
913 {
914   P0 = I31(4, 0);
915   P2 = I31(4, 3);
916   P3 = I31(4, 8);
917   if (MUR) {
918     P1 = IC(4);
919   } else {
920     P1 = I211(4, 1, 5);
921   }
922 } break;
923 case 119 : 
924 {
925   P2 = I31(4, 3);
926   P3 = I31(4, 8);
927   if (MUR) {
928     P0 = I31(4, 3);
929     P1 = IC(4);
930   } else {
931     P0 = I521(4, 1, 3);
932     P1 = I332(1, 5, 4);
933   }
934 } break;
935 case 121 : 
936 {
937   P0 = I31(4, 1);
938   P1 = I31(4, 2);
939   if (MDL) {
940     P2 = IC(4);
941   } else {
942     P2 = I211(4, 3, 7);
943   }
944   if (MDR) {
945     P3 = I31(4, 8);
946   } else {
947     P3 = I611(4, 5, 7);
948   }
949 } break;
950 case 122 : 
951 {
952   if (MDL) {
953     P2 = IC(4);
954   } else {
955     P2 = I211(4, 3, 7);
956   }
957   if (MDR) {
958     P3 = I31(4, 8);
959   } else {
960     P3 = I611(4, 5, 7);
961   }
962   if (MUL) {
963     P0 = I31(4, 0);
964   } else {
965     P0 = I611(4, 1, 3);
966   }
967   if (MUR) {
968     P1 = I31(4, 2);
969   } else {
970     P1 = I611(4, 1, 5);
971   }
972 } break;
973 case 124 : 
974 {
975   P0 = I31(4, 0);
976   P1 = I31(4, 1);
977   P3 = I31(4, 8);
978   if (MDL) {
979     P2 = IC(4);
980   } else {
981     P2 = I211(4, 3, 7);
982   }
983 } break;
984 case 125 : 
985 {
986   P1 = I31(4, 1);
987   P3 = I31(4, 8);
988   if (MDL) {
989     P0 = I31(4, 1);
990     P2 = IC(4);
991   } else {
992     P0 = I521(4, 3, 1);
993     P2 = I332(3, 7, 4);
994   }
995 } break;
996 case 126 : 
997 {
998   P0 = I31(4, 0);
999   P3 = I31(4, 8);
1000   if (MDL) {
1001     P2 = IC(4);
1002   } else {
1003     P2 = I211(4, 3, 7);
1004   }
1005   if (MUR) {
1006     P1 = IC(4);
1007   } else {
1008     P1 = I211(4, 1, 5);
1009   }
1010 } break;
1011 case 127 : 
1012 {
1013   P3 = I31(4, 8);
1014   if (MDL) {
1015     P2 = IC(4);
1016   } else {
1017     P2 = I211(4, 3, 7);
1018   }
1019   if (MUL) {
1020     P0 = IC(4);
1021   } else {
1022     P0 = I1411(4, 1, 3);
1023   }
1024   if (MUR) {
1025     P1 = IC(4);
1026   } else {
1027     P1 = I211(4, 1, 5);
1028   }
1029 } break;
1030 case 144 : 
1031 case 145 : 
1032 case 176 : 
1033 case 177 : 
1034 {
1035   P0 = I211(4, 1, 3);
1036   P1 = I31(4, 2);
1037   P2 = I211(4, 3, 7);
1038   P3 = I31(4, 7);
1039 } break;
1040 case 146 : 
1041 case 178 : 
1042 {
1043   P0 = I31(4, 0);
1044   P2 = I211(4, 3, 7);
1045   if (MUR) {
1046     P1 = I31(4, 2);
1047     P3 = I31(4, 7);
1048   } else {
1049     P1 = I332(1, 5, 4);
1050     P3 = I521(4, 5, 7);
1051   }
1052 } break;
1053 case 147 : 
1054 case 179 : 
1055 {
1056   P0 = I31(4, 3);
1057   P2 = I211(4, 3, 7);
1058   P3 = I31(4, 7);
1059   if (MUR) {
1060     P1 = I31(4, 2);
1061   } else {
1062     P1 = I611(4, 1, 5);
1063   }
1064 } break;
1065 case 148 : 
1066 case 149 : 
1067 case 180 : 
1068 case 181 : 
1069 {
1070   P0 = I211(4, 1, 3);
1071   P1 = I31(4, 1);
1072   P2 = I211(4, 3, 7);
1073   P3 = I31(4, 7);
1074 } break;
1075 case 150 : 
1076 case 182 : 
1077 {
1078   P0 = I31(4, 0);
1079   P2 = I211(4, 3, 7);
1080   if (MUR) {
1081     P1 = IC(4);
1082     P3 = I31(4, 7);
1083   } else {
1084     P1 = I332(1, 5, 4);
1085     P3 = I521(4, 5, 7);
1086   }
1087 } break;
1088 case 151 : 
1089 case 183 : 
1090 {
1091   P0 = I31(4, 3);
1092   P2 = I211(4, 3, 7);
1093   P3 = I31(4, 7);
1094   if (MUR) {
1095     P1 = IC(4);
1096   } else {
1097     P1 = I1411(4, 1, 5);
1098   }
1099 } break;
1100 case 152 : 
1101 {
1102   P0 = I31(4, 0);
1103   P1 = I31(4, 2);
1104   P2 = I31(4, 6);
1105   P3 = I31(4, 7);
1106 } break;
1107 case 153 : 
1108 {
1109   P0 = I31(4, 1);
1110   P1 = I31(4, 2);
1111   P2 = I31(4, 6);
1112   P3 = I31(4, 7);
1113 } break;
1114 case 154 : 
1115 {
1116   P2 = I31(4, 6);
1117   P3 = I31(4, 7);
1118   if (MUL) {
1119     P0 = I31(4, 0);
1120   } else {
1121     P0 = I611(4, 1, 3);
1122   }
1123   if (MUR) {
1124     P1 = I31(4, 2);
1125   } else {
1126     P1 = I611(4, 1, 5);
1127   }
1128 } break;
1129 case 155 : 
1130 {
1131   P1 = I31(4, 2);
1132   P2 = I31(4, 6);
1133   P3 = I31(4, 7);
1134   if (MUL) {
1135     P0 = IC(4);
1136   } else {
1137     P0 = I211(4, 1, 3);
1138   }
1139 } break;
1140 case 156 : 
1141 {
1142   P0 = I31(4, 0);
1143   P1 = I31(4, 1);
1144   P2 = I31(4, 6);
1145   P3 = I31(4, 7);
1146 } break;
1147 case 157 : 
1148 {
1149   P0 = I31(4, 1);
1150   P1 = I31(4, 1);
1151   P2 = I31(4, 6);
1152   P3 = I31(4, 7);
1153 } break;
1154 case 158 : 
1155 {
1156   P2 = I31(4, 6);
1157   P3 = I31(4, 7);
1158   if (MUL) {
1159     P0 = I31(4, 0);
1160   } else {
1161     P0 = I611(4, 1, 3);
1162   }
1163   if (MUR) {
1164     P1 = IC(4);
1165   } else {
1166     P1 = I211(4, 1, 5);
1167   }
1168 } break;
1169 case 159 : 
1170 {
1171   P2 = I31(4, 6);
1172   P3 = I31(4, 7);
1173   if (MUL) {
1174     P0 = IC(4);
1175   } else {
1176     P0 = I211(4, 1, 3);
1177   }
1178   if (MUR) {
1179     P1 = IC(4);
1180   } else {
1181     P1 = I1411(4, 1, 5);
1182   }
1183 } break;
1184 case 184 : 
1185 {
1186   P0 = I31(4, 0);
1187   P1 = I31(4, 2);
1188   P2 = I31(4, 7);
1189   P3 = I31(4, 7);
1190 } break;
1191 case 185 : 
1192 {
1193   P0 = I31(4, 1);
1194   P1 = I31(4, 2);
1195   P2 = I31(4, 7);
1196   P3 = I31(4, 7);
1197 } break;
1198 case 186 : 
1199 {
1200   P2 = I31(4, 7);
1201   P3 = I31(4, 7);
1202   if (MUL) {
1203     P0 = I31(4, 0);
1204   } else {
1205     P0 = I611(4, 1, 3);
1206   }
1207   if (MUR) {
1208     P1 = I31(4, 2);
1209   } else {
1210     P1 = I611(4, 1, 5);
1211   }
1212 } break;
1213 case 187 : 
1214 {
1215   P1 = I31(4, 2);
1216   P3 = I31(4, 7);
1217   if (MUL) {
1218     P0 = IC(4);
1219     P2 = I31(4, 7);
1220   } else {
1221     P0 = I332(1, 3, 4);
1222     P2 = I521(4, 3, 7);
1223   }
1224 } break;
1225 case 188 : 
1226 {
1227   P0 = I31(4, 0);
1228   P1 = I31(4, 1);
1229   P2 = I31(4, 7);
1230   P3 = I31(4, 7);
1231 } break;
1232 case 189 : 
1233 {
1234   P0 = I31(4, 1);
1235   P1 = I31(4, 1);
1236   P2 = I31(4, 7);
1237   P3 = I31(4, 7);
1238 } break;
1239 case 190 : 
1240 {
1241   P0 = I31(4, 0);
1242   P2 = I31(4, 7);
1243   if (MUR) {
1244     P1 = IC(4);
1245     P3 = I31(4, 7);
1246   } else {
1247     P1 = I332(1, 5, 4);
1248     P3 = I521(4, 5, 7);
1249   }
1250 } break;
1251 case 191 : 
1252 {
1253   P2 = I31(4, 7);
1254   P3 = I31(4, 7);
1255   if (MUL) {
1256     P0 = IC(4);
1257   } else {
1258     P0 = I1411(4, 1, 3);
1259   }
1260   if (MUR) {
1261     P1 = IC(4);
1262   } else {
1263     P1 = I1411(4, 1, 5);
1264   }
1265 } break;
1266 case 192 : 
1267 case 193 : 
1268 case 196 : 
1269 case 197 : 
1270 {
1271   P0 = I211(4, 1, 3);
1272   P1 = I211(4, 1, 5);
1273   P2 = I31(4, 6);
1274   P3 = I31(4, 5);
1275 } break;
1276 case 194 : 
1277 {
1278   P0 = I31(4, 0);
1279   P1 = I31(4, 2);
1280   P2 = I31(4, 6);
1281   P3 = I31(4, 5);
1282 } break;
1283 case 195 : 
1284 {
1285   P0 = I31(4, 3);
1286   P1 = I31(4, 2);
1287   P2 = I31(4, 6);
1288   P3 = I31(4, 5);
1289 } break;
1290 case 198 : 
1291 {
1292   P0 = I31(4, 0);
1293   P1 = I31(4, 5);
1294   P2 = I31(4, 6);
1295   P3 = I31(4, 5);
1296 } break;
1297 case 199 : 
1298 {
1299   P0 = I31(4, 3);
1300   P1 = I31(4, 5);
1301   P2 = I31(4, 6);
1302   P3 = I31(4, 5);
1303 } break;
1304 case 200 : 
1305 case 204 : 
1306 {
1307   P0 = I31(4, 0);
1308   P1 = I211(4, 1, 5);
1309   if (MDL) {
1310     P2 = I31(4, 6);
1311     P3 = I31(4, 5);
1312   } else {
1313     P2 = I332(3, 7, 4);
1314     P3 = I521(4, 7, 5);
1315   }
1316 } break;
1317 case 201 : 
1318 case 205 : 
1319 {
1320   P0 = I31(4, 1);
1321   P1 = I211(4, 1, 5);
1322   P3 = I31(4, 5);
1323   if (MDL) {
1324     P2 = I31(4, 6);
1325   } else {
1326     P2 = I611(4, 3, 7);
1327   }
1328 } break;
1329 case 202 : 
1330 {
1331   P1 = I31(4, 2);
1332   P3 = I31(4, 5);
1333   if (MDL) {
1334     P2 = I31(4, 6);
1335   } else {
1336     P2 = I611(4, 3, 7);
1337   }
1338   if (MUL) {
1339     P0 = I31(4, 0);
1340   } else {
1341     P0 = I611(4, 1, 3);
1342   }
1343 } break;
1344 case 203 : 
1345 {
1346   P1 = I31(4, 2);
1347   P2 = I31(4, 6);
1348   P3 = I31(4, 5);
1349   if (MUL) {
1350     P0 = IC(4);
1351   } else {
1352     P0 = I211(4, 1, 3);
1353   }
1354 } break;
1355 case 206 : 
1356 {
1357   P1 = I31(4, 5);
1358   P3 = I31(4, 5);
1359   if (MDL) {
1360     P2 = I31(4, 6);
1361   } else {
1362     P2 = I611(4, 3, 7);
1363   }
1364   if (MUL) {
1365     P0 = I31(4, 0);
1366   } else {
1367     P0 = I611(4, 1, 3);
1368   }
1369 } break;
1370 case 207 : 
1371 {
1372   P2 = I31(4, 6);
1373   P3 = I31(4, 5);
1374   if (MUL) {
1375     P0 = IC(4);
1376     P1 = I31(4, 5);
1377   } else {
1378     P0 = I332(1, 3, 4);
1379     P1 = I521(4, 1, 5);
1380   }
1381 } break;
1382 case 208 : 
1383 case 209 : 
1384 {
1385   P0 = I211(4, 1, 3);
1386   P1 = I31(4, 2);
1387   P2 = I31(4, 6);
1388   if (MDR) {
1389     P3 = IC(4);
1390   } else {
1391     P3 = I211(4, 5, 7);
1392   }
1393 } break;
1394 case 210 : 
1395 case 216 : 
1396 {
1397   P0 = I31(4, 0);
1398   P1 = I31(4, 2);
1399   P2 = I31(4, 6);
1400   if (MDR) {
1401     P3 = IC(4);
1402   } else {
1403     P3 = I211(4, 5, 7);
1404   }
1405 } break;
1406 case 211 : 
1407 {
1408   P0 = I31(4, 3);
1409   P1 = I31(4, 2);
1410   P2 = I31(4, 6);
1411   if (MDR) {
1412     P3 = IC(4);
1413   } else {
1414     P3 = I211(4, 5, 7);
1415   }
1416 } break;
1417 case 212 : 
1418 case 213 : 
1419 {
1420   P0 = I211(4, 1, 3);
1421   P2 = I31(4, 6);
1422   if (MDR) {
1423     P1 = I31(4, 1);
1424     P3 = IC(4);
1425   } else {
1426     P1 = I521(4, 5, 1);
1427     P3 = I332(5, 7, 4);
1428   }
1429 } break;
1430 case 215 : 
1431 {
1432   P0 = I31(4, 3);
1433   P2 = I31(4, 6);
1434   if (MDR) {
1435     P3 = IC(4);
1436   } else {
1437     P3 = I211(4, 5, 7);
1438   }
1439   if (MUR) {
1440     P1 = IC(4);
1441   } else {
1442     P1 = I1411(4, 1, 5);
1443   }
1444 } break;
1445 case 217 : 
1446 {
1447   P0 = I31(4, 1);
1448   P1 = I31(4, 2);
1449   P2 = I31(4, 6);
1450   if (MDR) {
1451     P3 = IC(4);
1452   } else {
1453     P3 = I211(4, 5, 7);
1454   }
1455 } break;
1456 case 218 : 
1457 {
1458   if (MDL) {
1459     P2 = I31(4, 6);
1460   } else {
1461     P2 = I611(4, 3, 7);
1462   }
1463   if (MDR) {
1464     P3 = IC(4);
1465   } else {
1466     P3 = I211(4, 5, 7);
1467   }
1468   if (MUL) {
1469     P0 = I31(4, 0);
1470   } else {
1471     P0 = I611(4, 1, 3);
1472   }
1473   if (MUR) {
1474     P1 = I31(4, 2);
1475   } else {
1476     P1 = I611(4, 1, 5);
1477   }
1478 } break;
1479 case 219 : 
1480 {
1481   P1 = I31(4, 2);
1482   P2 = I31(4, 6);
1483   if (MDR) {
1484     P3 = IC(4);
1485   } else {
1486     P3 = I211(4, 5, 7);
1487   }
1488   if (MUL) {
1489     P0 = IC(4);
1490   } else {
1491     P0 = I211(4, 1, 3);
1492   }
1493 } break;
1494 case 220 : 
1495 {
1496   P0 = I31(4, 0);
1497   P1 = I31(4, 1);
1498   if (MDL) {
1499     P2 = I31(4, 6);
1500   } else {
1501     P2 = I611(4, 3, 7);
1502   }
1503   if (MDR) {
1504     P3 = IC(4);
1505   } else {
1506     P3 = I211(4, 5, 7);
1507   }
1508 } break;
1509 case 221 : 
1510 {
1511   P0 = I31(4, 1);
1512   P2 = I31(4, 6);
1513   if (MDR) {
1514     P1 = I31(4, 1);
1515     P3 = IC(4);
1516   } else {
1517     P1 = I521(4, 5, 1);
1518     P3 = I332(5, 7, 4);
1519   }
1520 } break;
1521 case 223 : 
1522 {
1523   P2 = I31(4, 6);
1524   if (MDR) {
1525     P3 = IC(4);
1526   } else {
1527     P3 = I211(4, 5, 7);
1528   }
1529   if (MUL) {
1530     P0 = IC(4);
1531   } else {
1532     P0 = I211(4, 1, 3);
1533   }
1534   if (MUR) {
1535     P1 = IC(4);
1536   } else {
1537     P1 = I1411(4, 1, 5);
1538   }
1539 } break;
1540 case 224 : 
1541 case 225 : 
1542 case 228 : 
1543 case 229 : 
1544 {
1545   P0 = I211(4, 1, 3);
1546   P1 = I211(4, 1, 5);
1547   P2 = I31(4, 3);
1548   P3 = I31(4, 5);
1549 } break;
1550 case 226 : 
1551 {
1552   P0 = I31(4, 0);
1553   P1 = I31(4, 2);
1554   P2 = I31(4, 3);
1555   P3 = I31(4, 5);
1556 } break;
1557 case 227 : 
1558 {
1559   P0 = I31(4, 3);
1560   P1 = I31(4, 2);
1561   P2 = I31(4, 3);
1562   P3 = I31(4, 5);
1563 } break;
1564 case 230 : 
1565 {
1566   P0 = I31(4, 0);
1567   P1 = I31(4, 5);
1568   P2 = I31(4, 3);
1569   P3 = I31(4, 5);
1570 } break;
1571 case 231 : 
1572 {
1573   P0 = I31(4, 3);
1574   P1 = I31(4, 5);
1575   P2 = I31(4, 3);
1576   P3 = I31(4, 5);
1577 } break;
1578 case 232 : 
1579 case 236 : 
1580 {
1581   P0 = I31(4, 0);
1582   P1 = I211(4, 1, 5);
1583   if (MDL) {
1584     P2 = IC(4);
1585     P3 = I31(4, 5);
1586   } else {
1587     P2 = I332(3, 7, 4);
1588     P3 = I521(4, 7, 5);
1589   }
1590 } break;
1591 case 233 : 
1592 case 237 : 
1593 {
1594   P0 = I31(4, 1);
1595   P1 = I211(4, 1, 5);
1596   P3 = I31(4, 5);
1597   if (MDL) {
1598     P2 = IC(4);
1599   } else {
1600     P2 = I1411(4, 3, 7);
1601   }
1602 } break;
1603 case 234 : 
1604 {
1605   P1 = I31(4, 2);
1606   P3 = I31(4, 5);
1607   if (MDL) {
1608     P2 = IC(4);
1609   } else {
1610     P2 = I211(4, 3, 7);
1611   }
1612   if (MUL) {
1613     P0 = I31(4, 0);
1614   } else {
1615     P0 = I611(4, 1, 3);
1616   }
1617 } break;
1618 case 235 : 
1619 {
1620   P1 = I31(4, 2);
1621   P3 = I31(4, 5);
1622   if (MDL) {
1623     P2 = IC(4);
1624   } else {
1625     P2 = I1411(4, 3, 7);
1626   }
1627   if (MUL) {
1628     P0 = IC(4);
1629   } else {
1630     P0 = I211(4, 1, 3);
1631   }
1632 } break;
1633 case 238 : 
1634 {
1635   P0 = I31(4, 0);
1636   P1 = I31(4, 5);
1637   if (MDL) {
1638     P2 = IC(4);
1639     P3 = I31(4, 5);
1640   } else {
1641     P2 = I332(3, 7, 4);
1642     P3 = I521(4, 7, 5);
1643   }
1644 } break;
1645 case 239 : 
1646 {
1647   P1 = I31(4, 5);
1648   P3 = I31(4, 5);
1649   if (MDL) {
1650     P2 = IC(4);
1651   } else {
1652     P2 = I1411(4, 3, 7);
1653   }
1654   if (MUL) {
1655     P0 = IC(4);
1656   } else {
1657     P0 = I1411(4, 1, 3);
1658   }
1659 } break;
1660 case 240 : 
1661 case 241 : 
1662 {
1663   P0 = I211(4, 1, 3);
1664   P1 = I31(4, 2);
1665   if (MDR) {
1666     P2 = I31(4, 3);
1667     P3 = IC(4);
1668   } else {
1669     P2 = I521(4, 7, 3);
1670     P3 = I332(5, 7, 4);
1671   }
1672 } break;
1673 case 242 : 
1674 {
1675   P0 = I31(4, 0);
1676   P2 = I31(4, 3);
1677   if (MDR) {
1678     P3 = IC(4);
1679   } else {
1680     P3 = I211(4, 5, 7);
1681   }
1682   if (MUR) {
1683     P1 = I31(4, 2);
1684   } else {
1685     P1 = I611(4, 1, 5);
1686   }
1687 } break;
1688 case 243 : 
1689 {
1690   P0 = I31(4, 3);
1691   P1 = I31(4, 2);
1692   if (MDR) {
1693     P2 = I31(4, 3);
1694     P3 = IC(4);
1695   } else {
1696     P2 = I521(4, 7, 3);
1697     P3 = I332(5, 7, 4);
1698   }
1699 } break;
1700 case 244 : 
1701 case 245 : 
1702 {
1703   P0 = I211(4, 1, 3);
1704   P1 = I31(4, 1);
1705   P2 = I31(4, 3);
1706   if (MDR) {
1707     P3 = IC(4);
1708   } else {
1709     P3 = I1411(4, 5, 7);
1710   }
1711 } break;
1712 case 246 : 
1713 {
1714   P0 = I31(4, 0);
1715   P2 = I31(4, 3);
1716   if (MDR) {
1717     P3 = IC(4);
1718   } else {
1719     P3 = I1411(4, 5, 7);
1720   }
1721   if (MUR) {
1722     P1 = IC(4);
1723   } else {
1724     P1 = I211(4, 1, 5);
1725   }
1726 } break;
1727 case 247 : 
1728 {
1729   P0 = I31(4, 3);
1730   P2 = I31(4, 3);
1731   if (MDR) {
1732     P3 = IC(4);
1733   } else {
1734     P3 = I1411(4, 5, 7);
1735   }
1736   if (MUR) {
1737     P1 = IC(4);
1738   } else {
1739     P1 = I1411(4, 1, 5);
1740   }
1741 } break;
1742 case 249 : 
1743 {
1744   P0 = I31(4, 1);
1745   P1 = I31(4, 2);
1746   if (MDL) {
1747     P2 = IC(4);
1748   } else {
1749     P2 = I1411(4, 3, 7);
1750   }
1751   if (MDR) {
1752     P3 = IC(4);
1753   } else {
1754     P3 = I211(4, 5, 7);
1755   }
1756 } break;
1757 case 251 : 
1758 {
1759   P1 = I31(4, 2);
1760   if (MDL) {
1761     P2 = IC(4);
1762   } else {
1763     P2 = I1411(4, 3, 7);
1764   }
1765   if (MDR) {
1766     P3 = IC(4);
1767   } else {
1768     P3 = I211(4, 5, 7);
1769   }
1770   if (MUL) {
1771     P0 = IC(4);
1772   } else {
1773     P0 = I211(4, 1, 3);
1774   }
1775 } break;
1776 case 252 : 
1777 {
1778   P0 = I31(4, 0);
1779   P1 = I31(4, 1);
1780   if (MDL) {
1781     P2 = IC(4);
1782   } else {
1783     P2 = I211(4, 3, 7);
1784   }
1785   if (MDR) {
1786     P3 = IC(4);
1787   } else {
1788     P3 = I1411(4, 5, 7);
1789   }
1790 } break;
1791 case 253 : 
1792 {
1793   P0 = I31(4, 1);
1794   P1 = I31(4, 1);
1795   if (MDL) {
1796     P2 = IC(4);
1797   } else {
1798     P2 = I1411(4, 3, 7);
1799   }
1800   if (MDR) {
1801     P3 = IC(4);
1802   } else {
1803     P3 = I1411(4, 5, 7);
1804   }
1805 } break;
1806 case 254 : 
1807 {
1808   P0 = I31(4, 0);
1809   if (MDL) {
1810     P2 = IC(4);
1811   } else {
1812     P2 = I211(4, 3, 7);
1813   }
1814   if (MDR) {
1815     P3 = IC(4);
1816   } else {
1817     P3 = I1411(4, 5, 7);
1818   }
1819   if (MUR) {
1820     P1 = IC(4);
1821   } else {
1822     P1 = I211(4, 1, 5);
1823   }
1824 } break;
1825 case 255 : 
1826 {
1827   if (MDL) {
1828     P2 = IC(4);
1829   } else {
1830     P2 = I1411(4, 3, 7);
1831   }
1832   if (MDR) {
1833     P3 = IC(4);
1834   } else {
1835     P3 = I1411(4, 5, 7);
1836   }
1837   if (MUL) {
1838     P0 = IC(4);
1839   } else {
1840     P0 = I1411(4, 1, 3);
1841   }
1842   if (MUR) {
1843     P1 = IC(4);
1844   } else {
1845     P1 = I1411(4, 1, 5);
1846   }
1847 } break;
1848
1849 #undef P0
1850 #undef P1
1851 #undef P2
1852 #undef P3
1853 #undef MUR
1854 #undef MDR
1855 #undef MDL
1856 #undef MUL
1857 #undef IC
1858 #undef I11
1859 #undef I211
1860 #undef I31
1861 #undef I332
1862 #undef I431
1863 #undef I521
1864 #undef I53
1865 #undef I611
1866 #undef I71
1867 #undef I772
1868 #undef I97
1869 #undef I1411
1870 #undef I151