dfxvideo: massive cleanup
[pcsx_rearmed.git] / plugins / dfxvideo / hq3x.h
diff --git a/plugins/dfxvideo/hq3x.h b/plugins/dfxvideo/hq3x.h
deleted file mode 100644 (file)
index 4809b79..0000000
+++ /dev/null
@@ -1,2970 +0,0 @@
-/*
- * This file is part of the Advance project.
- *
- * Copyright (C) 2004 Andrea Mazzoleni
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * In addition, as a special exception, Andrea Mazzoleni
- * gives permission to link the code of this program with
- * the MAME library (or with modified versions of MAME that use the
- * same license as MAME), and distribute linked combinations including
- * the two.  You must obey the GNU General Public License in all
- * respects for all of the code used other than MAME.  If you modify
- * this file, you may extend this exception to your version of the
- * file, but you are not obligated to do so.  If you do not wish to
- * do so, delete this exception statement from your version.
- */
-
-/*
- * This effect is a rewritten implementation of the hq effect made by Maxim Stepin
- */
-
-#define P0 dst0[0]
-#define P1 dst0[1]
-#define P2 dst0[2]
-#define P3 dst1[0]
-#define P4 dst1[1]
-#define P5 dst1[2]
-#define P6 dst2[0]
-#define P7 dst2[1]
-#define P8 dst2[2]
-#define MUR interp_32_diff(c[1], c[5])
-#define MDR interp_32_diff(c[5], c[7])
-#define MDL interp_32_diff(c[7], c[3])
-#define MUL interp_32_diff(c[3], c[1])
-#define IC(p0) c[p0]
-#define I11(p0,p1) interp_32_11(c[p0], c[p1])
-#define I211(p0,p1,p2) interp_32_211(c[p0], c[p1], c[p2])
-#define I31(p0,p1) interp_32_31(c[p0], c[p1])
-#define I332(p0,p1,p2) interp_32_332(c[p0], c[p1], c[p2])
-#define I431(p0,p1,p2) interp_32_431(c[p0], c[p1], c[p2])
-#define I521(p0,p1,p2) interp_32_521(c[p0], c[p1], c[p2])
-#define I53(p0,p1) interp_32_53(c[p0], c[p1])
-#define I611(p0,p1,p2) interp_32_611(c[p0], c[p1], c[p2])
-#define I71(p0,p1) interp_32_71(c[p0], c[p1])
-#define I772(p0,p1,p2) interp_32_772(c[p0], c[p1], c[p2])
-#define I97(p0,p1) interp_32_97(c[p0], c[p1])
-#define I1411(p0,p1,p2) interp_32_1411(c[p0], c[p1], c[p2])
-#define I151(p0,p1) interp_32_151(c[p0], c[p1])
-
-case 0 :
-case 1 :
-case 4 :
-case 5 :
-case 32 :
-case 33 :
-case 36 :
-case 37 :
-case 128 :
-case 129 :
-case 132 :
-case 133 :
-case 160 :
-case 161 :
-case 164 :
-case 165 :
-{
-P0 = I211(4, 1, 3);
-P1 = I31(4,1);
-P2 = I211(4, 1, 5);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I211(4, 3, 7);
-P7 = I31(4, 7);
-P8 = I211(4, 5, 7);
-
-} break;
-case 2 :
-case 34 :
-case 130 :
-case 162 :
-{
-P0 = I31(4, 0);
-P1 = IC(4);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I211(4, 3, 7);
-P7 = I31(4, 7);
-P8 = I211(4, 5, 7);
-} break;
-case 3 :
-case 35 :
-case 131 :
-case 163 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I211(4, 3, 7);
-P7 = I31(4, 7);
-P8 = I211(4, 5, 7);
-} break;
-case 6 :
-case 38 :
-case 134 :
-case 166 :
-{
-P0 = I31(4, 0);
-P1 = IC(4);
-P2 = I31(4,5);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I211(4, 3, 7);
-P7 = I31(4, 7);
-P8 = I211(4, 5, 7);
-} break;
-case 7 :
-case 39 :
-case 135 :
-case 167 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P2 = I31(4,5);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I211(4, 3, 7);
-P7 = I31(4, 7);
-P8 = I211(4, 5, 7);
-} break;
-case 8 :
-case 12 :
-case 136 :
-case 140 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I211(4, 1, 5);
-P3 = IC(4);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I211(4, 5, 7);
-} break;
-case 9 :
-case 13 :
-case 137 :
-case 141 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I211(4, 1, 5);
-P3 = IC(4);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I211(4, 5, 7);
-} break;
-case 10 :
-case 138 :
-{
-P2 = I31(4, 2);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I211(4, 5, 7);
-if (MUL) {
-       P0 = I31(4, 0);
-       P1 = IC(4);
-       P3 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P1 = I71(4, 1);
-       P3 = I71(4, 3);
-}
-} break;
-case 11 :
-case 139 :
-{
-P2 = I31(4, 2);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I211(4, 5, 7);
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-       P3 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P1 = I71(4, 1);
-       P3 = I71(4, 3);
-}
-} break;
-case 14 :
-case 142 :
-{
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I211(4, 5, 7);
-if (MUL) {
-       P0 = I31(4, 0);
-       P1 = IC(4);
-       P2 = I31(4,5);
-       P3 = IC(4);
-} else {
-       P0 = I11(1, 3);
-       P1 = I31(1, 4);
-       P2 = I211(4, 1, 5);
-       P3 = I31(4, 3);
-}
-} break;
-case 15 :
-case 143 :
-{
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I211(4, 5, 7);
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-       P2 = I31(4,5);
-       P3 = IC(4);
-} else {
-       P0 = I11(1, 3);
-       P1 = I31(1, 4);
-       P2 = I211(4, 1, 5);
-       P3 = I31(4, 3);
-}
-} break;
-case 16 :
-case 17 :
-case 48 :
-case 49 :
-{
-P0 = I211(4, 1, 3);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I211(4, 3, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-} break;
-case 18 :
-case 50 :
-{
-P0 = I31(4, 0);
-P3 = I31(4, 3);
-P4 = IC(4);
-P6 = I211(4, 3, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-if (MUR) {
-       P1 = IC(4);
-       P2 = I31(4, 2);
-       P5 = IC(4);
-} else {
-       P1 = I71(4, 1);
-       P2 = I772(1, 5, 4);
-       P5 = I71(4, 5);
-}
-} break;
-case 19 :
-case 51 :
-{
-P3 = I31(4, 3);
-P4 = IC(4);
-P6 = I211(4, 3, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-if (MUR) {
-       P0 = I31(4, 3);
-       P1 = IC(4);
-       P2 = I31(4, 2);
-       P5 = IC(4);
-} else {
-       P0 = I211(4, 1, 3);
-       P1 = I31(1, 4);
-       P2 = I11(1, 5);
-       P5 = I31(4,5);
-}
-} break;
-case 20 :
-case 21 :
-case 52 :
-case 53 :
-{
-P0 = I211(4, 1, 3);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I211(4, 3, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-} break;
-case 22 :
-case 54 :
-{
-P0 = I31(4, 0);
-P3 = I31(4, 3);
-P4 = IC(4);
-P6 = I211(4, 3, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-if (MUR) {
-       P1 = IC(4);
-       P2 = IC(4);
-       P5 = IC(4);
-} else {
-       P1 = I71(4, 1);
-       P2 = I772(1, 5, 4);
-       P5 = I71(4, 5);
-}
-} break;
-case 23 :
-case 55 :
-{
-P3 = I31(4, 3);
-P4 = IC(4);
-P6 = I211(4, 3, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-if (MUR) {
-       P0 = I31(4, 3);
-       P1 = IC(4);
-       P2 = IC(4);
-       P5 = IC(4);
-} else {
-       P0 = I211(4, 1, 3);
-       P1 = I31(1, 4);
-       P2 = I11(1, 5);
-       P5 = I31(4,5);
-}
-} break;
-case 24 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-} break;
-case 25 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-} break;
-case 26 :
-case 31 :
-{
-P1 = IC(4);
-P4 = IC(4);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-if (MUL) {
-       P0 = IC(4);
-       P3 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P3 = I71(4, 3);
-}
-if (MUR) {
-       P2 = IC(4);
-       P5 = IC(4);
-} else {
-       P2 = I772(1, 5, 4);
-       P5 = I71(4, 5);
-}
-} break;
-case 27 :
-{
-P2 = I31(4, 2);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-       P3 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P1 = I71(4, 1);
-       P3 = I71(4, 3);
-}
-} break;
-case 28 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-} break;
-case 29 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-} break;
-case 30 :
-{
-P0 = I31(4, 0);
-P3 = IC(4);
-P4 = IC(4);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-if (MUR) {
-       P1 = IC(4);
-       P2 = IC(4);
-       P5 = IC(4);
-} else {
-       P1 = I71(4, 1);
-       P2 = I772(1, 5, 4);
-       P5 = I71(4, 5);
-}
-} break;
-case 40 :
-case 44 :
-case 168 :
-case 172 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I211(4, 1, 5);
-P3 = IC(4);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I211(4, 5, 7);
-} break;
-case 41 :
-case 45 :
-case 169 :
-case 173 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I211(4, 1, 5);
-P3 = IC(4);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I211(4, 5, 7);
-} break;
-case 42 :
-case 170 :
-{
-P2 = I31(4, 2);
-P4 = IC(4);
-P5 = I31(4,5);
-P7 = I31(4, 7);
-P8 = I211(4, 5, 7);
-if (MUL) {
-       P0 = I31(4, 0);
-       P1 = IC(4);
-       P3 = IC(4);
-       P6 = I31(4, 7);
-} else {
-       P0 = I11(1, 3);
-       P1 = I31(4,1);
-       P3 = I31(3, 4);
-       P6 = I211(4, 3, 7);
-}
-} break;
-case 43 :
-case 171 :
-{
-P2 = I31(4, 2);
-P4 = IC(4);
-P5 = I31(4,5);
-P7 = I31(4, 7);
-P8 = I211(4, 5, 7);
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-       P3 = IC(4);
-       P6 = I31(4, 7);
-} else {
-       P0 = I11(1, 3);
-       P1 = I31(4,1);
-       P3 = I31(3, 4);
-       P6 = I211(4, 3, 7);
-}
-} break;
-case 46 :
-case 174 :
-{
-P1 = IC(4);
-P2 = I31(4,5);
-P3 = IC(4);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I211(4, 5, 7);
-if (MUL) {
-       P0 = I31(4, 0);
-} else {
-       P0 = I211(4, 1, 3);
-}
-} break;
-case 47 :
-case 175 :
-{
-P1 = IC(4);
-P2 = I31(4,5);
-P3 = IC(4);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I211(4, 5, 7);
-if (MUL) {
-       P0 = IC(4);
-} else {
-       P0 = I211(4, 1, 3);
-}
-} break;
-case 56 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-} break;
-case 57 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-} break;
-case 58 :
-{
-P1 = IC(4);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-if (MUL) {
-       P0 = I31(4, 0);
-} else {
-       P0 = I211(4, 1, 3);
-}
-if (MUR) {
-       P2 = I31(4, 2);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 59 :
-{
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-       P3 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P1 = I71(4, 1);
-       P3 = I71(4, 3);
-}
-if (MUR) {
-       P2 = I31(4, 2);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 60 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-} break;
-case 61 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-} break;
-case 62 :
-{
-P0 = I31(4, 0);
-P3 = IC(4);
-P4 = IC(4);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-if (MUR) {
-       P1 = IC(4);
-       P2 = IC(4);
-       P5 = IC(4);
-} else {
-       P1 = I71(4, 1);
-       P2 = I772(1, 5, 4);
-       P5 = I71(4, 5);
-}
-} break;
-case 63 :
-{
-P1 = IC(4);
-P3 = IC(4);
-P4 = IC(4);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 8);
-if (MUL) {
-       P0 = IC(4);
-} else {
-       P0 = I211(4, 1, 3);
-}
-if (MUR) {
-       P2 = IC(4);
-       P5 = IC(4);
-} else {
-       P2 = I772(1, 5, 4);
-       P5 = I71(4, 5);
-}
-} break;
-case 64 :
-case 65 :
-case 68 :
-case 69 :
-{
-P0 = I211(4, 1, 3);
-P1 = I31(4,1);
-P2 = I211(4, 1, 5);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = IC(4);
-P8 = I31(4, 8);
-} break;
-case 66 :
-{
-P0 = I31(4, 0);
-P1 = IC(4);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = IC(4);
-P8 = I31(4, 8);
-} break;
-case 67 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = IC(4);
-P8 = I31(4, 8);
-} break;
-case 70 :
-{
-P0 = I31(4, 0);
-P1 = IC(4);
-P2 = I31(4,5);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = IC(4);
-P8 = I31(4, 8);
-} break;
-case 71 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P2 = I31(4,5);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = IC(4);
-P8 = I31(4, 8);
-} break;
-case 72 :
-case 76 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I211(4, 1, 5);
-P4 = IC(4);
-P5 = I31(4,5);
-P8 = I31(4, 8);
-if (MDL) {
-       P3 = IC(4);
-       P6 = I31(4, 6);
-       P7 = IC(4);
-} else {
-       P3 = I71(4, 3);
-       P6 = I772(3, 7, 4);
-       P7 = I71(4, 7);
-}
-} break;
-case 73 :
-case 77 :
-{
-P1 = I31(4,1);
-P2 = I211(4, 1, 5);
-P4 = IC(4);
-P5 = I31(4,5);
-P8 = I31(4, 8);
-if (MDL) {
-       P0 = I31(4,1);
-       P3 = IC(4);
-       P6 = I31(4, 6);
-       P7 = IC(4);
-} else {
-       P0 = I211(4, 1, 3);
-       P3 = I31(3, 4);
-       P6 = I11(3, 7);
-       P7 = I31(4, 7);
-}
-} break;
-case 74 :
-case 107 :
-{
-P2 = I31(4, 2);
-P3 = IC(4);
-P4 = IC(4);
-P5 = I31(4,5);
-P8 = I31(4, 8);
-if (MDL) {
-       P6 = IC(4);
-       P7 = IC(4);
-} else {
-       P6 = I772(3, 7, 4);
-       P7 = I71(4, 7);
-}
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P1 = I71(4, 1);
-}
-} break;
-case 75 :
-{
-P2 = I31(4, 2);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = IC(4);
-P8 = I31(4, 8);
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-       P3 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P1 = I71(4, 1);
-       P3 = I71(4, 3);
-}
-} break;
-case 78 :
-{
-P1 = IC(4);
-P2 = I31(4,5);
-P3 = IC(4);
-P4 = IC(4);
-P5 = I31(4,5);
-P7 = IC(4);
-P8 = I31(4, 8);
-if (MDL) {
-       P6 = I31(4, 6);
-} else {
-       P6 = I211(4, 3, 7);
-}
-if (MUL) {
-       P0 = I31(4, 0);
-} else {
-       P0 = I211(4, 1, 3);
-}
-} break;
-case 79 :
-{
-P2 = I31(4,5);
-P4 = IC(4);
-P5 = I31(4,5);
-P7 = IC(4);
-P8 = I31(4, 8);
-if (MDL) {
-       P6 = I31(4, 6);
-} else {
-       P6 = I211(4, 3, 7);
-}
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-       P3 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P1 = I71(4, 1);
-       P3 = I71(4, 3);
-}
-} break;
-case 80 :
-case 81 :
-{
-P0 = I211(4, 1, 3);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-P6 = I31(4, 6);
-if (MDR) {
-       P5 = IC(4);
-       P7 = IC(4);
-       P8 = I31(4, 8);
-} else {
-       P5 = I71(4, 5);
-       P7 = I71(4, 7);
-       P8 = I772(5, 7, 4);
-}
-} break;
-case 82 :
-case 214 :
-{
-P0 = I31(4, 0);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 6);
-if (MDR) {
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P7 = I71(4, 7);
-       P8 = I772(5, 7, 4);
-}
-if (MUR) {
-       P1 = IC(4);
-       P2 = IC(4);
-} else {
-       P1 = I71(4, 1);
-       P2 = I772(1, 5, 4);
-}
-} break;
-case 83 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 6);
-P7 = IC(4);
-if (MDR) {
-       P8 = I31(4, 8);
-} else {
-       P8 = I211(4, 5, 7);
-}
-if (MUR) {
-       P2 = I31(4, 2);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 84 :
-case 85 :
-{
-P0 = I211(4, 1, 3);
-P1 = I31(4,1);
-P3 = I31(4, 3);
-P4 = IC(4);
-P6 = I31(4, 6);
-if (MDR) {
-       P2 = I31(4,1);
-       P5 = IC(4);
-       P7 = IC(4);
-       P8 = I31(4, 8);
-} else {
-       P2 = I211(4, 1, 5);
-       P5 = I31(5, 4);
-       P7 = I31(4, 7);
-       P8 = I11(5, 7);
-}
-} break;
-case 86 :
-{
-P0 = I31(4, 0);
-P3 = I31(4, 3);
-P4 = IC(4);
-P6 = I31(4, 6);
-P7 = IC(4);
-P8 = I31(4, 8);
-if (MUR) {
-       P1 = IC(4);
-       P2 = IC(4);
-       P5 = IC(4);
-} else {
-       P1 = I71(4, 1);
-       P2 = I772(1, 5, 4);
-       P5 = I71(4, 5);
-}
-} break;
-case 87 :
-{
-P0 = I31(4, 3);
-P3 = I31(4, 3);
-P4 = IC(4);
-P6 = I31(4, 6);
-P7 = IC(4);
-if (MDR) {
-       P8 = I31(4, 8);
-} else {
-       P8 = I211(4, 5, 7);
-}
-if (MUR) {
-       P1 = IC(4);
-       P2 = IC(4);
-       P5 = IC(4);
-} else {
-       P1 = I71(4, 1);
-       P2 = I772(1, 5, 4);
-       P5 = I71(4, 5);
-}
-} break;
-case 88 :
-case 248 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P4 = IC(4);
-P7 = IC(4);
-if (MDL) {
-       P3 = IC(4);
-       P6 = IC(4);
-} else {
-       P3 = I71(4, 3);
-       P6 = I772(3, 7, 4);
-}
-if (MDR) {
-       P5 = IC(4);
-       P8 = IC(4);
-} else {
-       P5 = I71(4, 5);
-       P8 = I772(5, 7, 4);
-}
-} break;
-case 89 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P7 = IC(4);
-if (MDL) {
-       P6 = I31(4, 6);
-} else {
-       P6 = I211(4, 3, 7);
-}
-if (MDR) {
-       P8 = I31(4, 8);
-} else {
-       P8 = I211(4, 5, 7);
-}
-} break;
-case 90 :
-{
-P1 = IC(4);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P7 = IC(4);
-if (MDL) {
-       P6 = I31(4, 6);
-} else {
-       P6 = I211(4, 3, 7);
-}
-if (MDR) {
-       P8 = I31(4, 8);
-} else {
-       P8 = I211(4, 5, 7);
-}
-if (MUL) {
-       P0 = I31(4, 0);
-} else {
-       P0 = I211(4, 1, 3);
-}
-if (MUR) {
-       P2 = I31(4, 2);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 91 :
-{
-P4 = IC(4);
-P5 = IC(4);
-P7 = IC(4);
-if (MDL) {
-       P6 = I31(4, 6);
-} else {
-       P6 = I211(4, 3, 7);
-}
-if (MDR) {
-       P8 = I31(4, 8);
-} else {
-       P8 = I211(4, 5, 7);
-}
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-       P3 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P1 = I71(4, 1);
-       P3 = I71(4, 3);
-}
-if (MUR) {
-       P2 = I31(4, 2);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 92 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P7 = IC(4);
-if (MDL) {
-       P6 = I31(4, 6);
-} else {
-       P6 = I211(4, 3, 7);
-}
-if (MDR) {
-       P8 = I31(4, 8);
-} else {
-       P8 = I211(4, 5, 7);
-}
-} break;
-case 93 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P7 = IC(4);
-if (MDL) {
-       P6 = I31(4, 6);
-} else {
-       P6 = I211(4, 3, 7);
-}
-if (MDR) {
-       P8 = I31(4, 8);
-} else {
-       P8 = I211(4, 5, 7);
-}
-} break;
-case 94 :
-{
-P3 = IC(4);
-P4 = IC(4);
-P7 = IC(4);
-if (MDL) {
-       P6 = I31(4, 6);
-} else {
-       P6 = I211(4, 3, 7);
-}
-if (MDR) {
-       P8 = I31(4, 8);
-} else {
-       P8 = I211(4, 5, 7);
-}
-if (MUL) {
-       P0 = I31(4, 0);
-} else {
-       P0 = I211(4, 1, 3);
-}
-if (MUR) {
-       P1 = IC(4);
-       P2 = IC(4);
-       P5 = IC(4);
-} else {
-       P1 = I71(4, 1);
-       P2 = I772(1, 5, 4);
-       P5 = I71(4, 5);
-}
-} break;
-case 95 :
-{
-P1 = IC(4);
-P4 = IC(4);
-P6 = I31(4, 6);
-P7 = IC(4);
-P8 = I31(4, 8);
-if (MUL) {
-       P0 = IC(4);
-       P3 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P3 = I71(4, 3);
-}
-if (MUR) {
-       P2 = IC(4);
-       P5 = IC(4);
-} else {
-       P2 = I772(1, 5, 4);
-       P5 = I71(4, 5);
-}
-} break;
-case 96 :
-case 97 :
-case 100 :
-case 101 :
-{
-P0 = I211(4, 1, 3);
-P1 = I31(4,1);
-P2 = I211(4, 1, 5);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 3);
-P7 = IC(4);
-P8 = I31(4, 8);
-} break;
-case 98 :
-{
-P0 = I31(4, 0);
-P1 = IC(4);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 3);
-P7 = IC(4);
-P8 = I31(4, 8);
-} break;
-case 99 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 3);
-P7 = IC(4);
-P8 = I31(4, 8);
-} break;
-case 102 :
-{
-P0 = I31(4, 0);
-P1 = IC(4);
-P2 = I31(4,5);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 3);
-P7 = IC(4);
-P8 = I31(4, 8);
-} break;
-case 103 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P2 = I31(4,5);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 3);
-P7 = IC(4);
-P8 = I31(4, 8);
-} break;
-case 104 :
-case 108 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I211(4, 1, 5);
-P4 = IC(4);
-P5 = I31(4,5);
-P8 = I31(4, 8);
-if (MDL) {
-       P3 = IC(4);
-       P6 = IC(4);
-       P7 = IC(4);
-} else {
-       P3 = I71(4, 3);
-       P6 = I772(3, 7, 4);
-       P7 = I71(4, 7);
-}
-} break;
-case 105 :
-case 109 :
-{
-P1 = I31(4,1);
-P2 = I211(4, 1, 5);
-P4 = IC(4);
-P5 = I31(4,5);
-P8 = I31(4, 8);
-if (MDL) {
-       P0 = I31(4,1);
-       P3 = IC(4);
-       P6 = IC(4);
-       P7 = IC(4);
-} else {
-       P0 = I211(4, 1, 3);
-       P3 = I31(3, 4);
-       P6 = I11(3, 7);
-       P7 = I31(4, 7);
-}
-} break;
-case 106 :
-{
-P0 = I31(4, 0);
-P1 = IC(4);
-P2 = I31(4, 2);
-P4 = IC(4);
-P5 = I31(4,5);
-P8 = I31(4, 8);
-if (MDL) {
-       P3 = IC(4);
-       P6 = IC(4);
-       P7 = IC(4);
-} else {
-       P3 = I71(4, 3);
-       P6 = I772(3, 7, 4);
-       P7 = I71(4, 7);
-}
-} break;
-case 110 :
-{
-P0 = I31(4, 0);
-P1 = IC(4);
-P2 = I31(4,5);
-P4 = IC(4);
-P5 = I31(4,5);
-P8 = I31(4, 8);
-if (MDL) {
-       P3 = IC(4);
-       P6 = IC(4);
-       P7 = IC(4);
-} else {
-       P3 = I71(4, 3);
-       P6 = I772(3, 7, 4);
-       P7 = I71(4, 7);
-}
-} break;
-case 111 :
-{
-P1 = IC(4);
-P2 = I31(4,5);
-P3 = IC(4);
-P4 = IC(4);
-P5 = I31(4,5);
-P8 = I31(4, 8);
-if (MDL) {
-       P6 = IC(4);
-       P7 = IC(4);
-} else {
-       P6 = I772(3, 7, 4);
-       P7 = I71(4, 7);
-}
-if (MUL) {
-       P0 = IC(4);
-} else {
-       P0 = I211(4, 1, 3);
-}
-} break;
-case 112 :
-case 113 :
-{
-P0 = I211(4, 1, 3);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-if (MDR) {
-       P5 = IC(4);
-       P6 = I31(4, 3);
-       P7 = IC(4);
-       P8 = I31(4, 8);
-} else {
-       P5 = I31(4,5);
-       P6 = I211(4, 3, 7);
-       P7 = I31(7, 4);
-       P8 = I11(5, 7);
-}
-} break;
-case 114 :
-{
-P0 = I31(4, 0);
-P1 = IC(4);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 3);
-P7 = IC(4);
-if (MDR) {
-       P8 = I31(4, 8);
-} else {
-       P8 = I211(4, 5, 7);
-}
-if (MUR) {
-       P2 = I31(4, 2);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 115 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 3);
-P7 = IC(4);
-if (MDR) {
-       P8 = I31(4, 8);
-} else {
-       P8 = I211(4, 5, 7);
-}
-if (MUR) {
-       P2 = I31(4, 2);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 116 :
-case 117 :
-{
-P0 = I211(4, 1, 3);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 3);
-P7 = IC(4);
-if (MDR) {
-       P8 = I31(4, 8);
-} else {
-       P8 = I211(4, 5, 7);
-}
-} break;
-case 118 :
-{
-P0 = I31(4, 0);
-P3 = I31(4, 3);
-P4 = IC(4);
-P6 = I31(4, 3);
-P7 = IC(4);
-P8 = I31(4, 8);
-if (MUR) {
-       P1 = IC(4);
-       P2 = IC(4);
-       P5 = IC(4);
-} else {
-       P1 = I71(4, 1);
-       P2 = I772(1, 5, 4);
-       P5 = I71(4, 5);
-}
-} break;
-case 119 :
-{
-P3 = I31(4, 3);
-P4 = IC(4);
-P6 = I31(4, 3);
-P7 = IC(4);
-P8 = I31(4, 8);
-if (MUR) {
-       P0 = I31(4, 3);
-       P1 = IC(4);
-       P2 = IC(4);
-       P5 = IC(4);
-} else {
-       P0 = I211(4, 1, 3);
-       P1 = I31(1, 4);
-       P2 = I11(1, 5);
-       P5 = I31(4,5);
-}
-} break;
-case 120 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P4 = IC(4);
-P5 = IC(4);
-P8 = I31(4, 8);
-if (MDL) {
-       P3 = IC(4);
-       P6 = IC(4);
-       P7 = IC(4);
-} else {
-       P3 = I71(4, 3);
-       P6 = I772(3, 7, 4);
-       P7 = I71(4, 7);
-}
-} break;
-case 121 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P4 = IC(4);
-P5 = IC(4);
-if (MDL) {
-       P3 = IC(4);
-       P6 = IC(4);
-       P7 = IC(4);
-} else {
-       P3 = I71(4, 3);
-       P6 = I772(3, 7, 4);
-       P7 = I71(4, 7);
-}
-if (MDR) {
-       P8 = I31(4, 8);
-} else {
-       P8 = I211(4, 5, 7);
-}
-} break;
-case 122 :
-{
-P1 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-if (MDL) {
-       P3 = IC(4);
-       P6 = IC(4);
-       P7 = IC(4);
-} else {
-       P3 = I71(4, 3);
-       P6 = I772(3, 7, 4);
-       P7 = I71(4, 7);
-}
-if (MDR) {
-       P8 = I31(4, 8);
-} else {
-       P8 = I211(4, 5, 7);
-}
-if (MUL) {
-       P0 = I31(4, 0);
-} else {
-       P0 = I211(4, 1, 3);
-}
-if (MUR) {
-       P2 = I31(4, 2);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 123 :
-{
-P2 = I31(4, 2);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P8 = I31(4, 8);
-if (MDL) {
-       P6 = IC(4);
-       P7 = IC(4);
-} else {
-       P6 = I772(3, 7, 4);
-       P7 = I71(4, 7);
-}
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P1 = I71(4, 1);
-}
-} break;
-case 124 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P4 = IC(4);
-P5 = IC(4);
-P8 = I31(4, 8);
-if (MDL) {
-       P3 = IC(4);
-       P6 = IC(4);
-       P7 = IC(4);
-} else {
-       P3 = I71(4, 3);
-       P6 = I772(3, 7, 4);
-       P7 = I71(4, 7);
-}
-} break;
-case 125 :
-{
-P1 = I31(4,1);
-P2 = I31(4,1);
-P4 = IC(4);
-P5 = IC(4);
-P8 = I31(4, 8);
-if (MDL) {
-       P0 = I31(4,1);
-       P3 = IC(4);
-       P6 = IC(4);
-       P7 = IC(4);
-} else {
-       P0 = I211(4, 1, 3);
-       P3 = I31(3, 4);
-       P6 = I11(3, 7);
-       P7 = I31(4, 7);
-}
-} break;
-case 126 :
-{
-P0 = I31(4, 0);
-P4 = IC(4);
-P8 = I31(4, 8);
-if (MDL) {
-       P3 = IC(4);
-       P6 = IC(4);
-       P7 = IC(4);
-} else {
-       P3 = I71(4, 3);
-       P6 = I772(3, 7, 4);
-       P7 = I71(4, 7);
-}
-if (MUR) {
-       P1 = IC(4);
-       P2 = IC(4);
-       P5 = IC(4);
-} else {
-       P1 = I71(4, 1);
-       P2 = I772(1, 5, 4);
-       P5 = I71(4, 5);
-}
-} break;
-case 127 :
-{
-P4 = IC(4);
-P8 = I31(4, 8);
-if (MDL) {
-       P6 = IC(4);
-       P7 = IC(4);
-} else {
-       P6 = I772(3, 7, 4);
-       P7 = I71(4, 7);
-}
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-       P3 = IC(4);
-} else {
-       P0 = I211(4, 1, 3);
-       P1 = I71(4, 1);
-       P3 = I71(4, 3);
-}
-if (MUR) {
-       P2 = IC(4);
-       P5 = IC(4);
-} else {
-       P2 = I772(1, 5, 4);
-       P5 = I71(4, 5);
-}
-} break;
-case 144 :
-case 145 :
-case 176 :
-case 177 :
-{
-P0 = I211(4, 1, 3);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I211(4, 3, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-} break;
-case 146 :
-case 178 :
-{
-P0 = I31(4, 0);
-P3 = I31(4, 3);
-P4 = IC(4);
-P6 = I211(4, 3, 7);
-P7 = I31(4, 7);
-if (MUR) {
-       P1 = IC(4);
-       P2 = I31(4, 2);
-       P5 = IC(4);
-       P8 = I31(4, 7);
-} else {
-       P1 = I31(4,1);
-       P2 = I11(1, 5);
-       P5 = I31(5, 4);
-       P8 = I211(4, 5, 7);
-}
-} break;
-case 147 :
-case 179 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I211(4, 3, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-if (MUR) {
-       P2 = I31(4, 2);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 148 :
-case 149 :
-case 180 :
-case 181 :
-{
-P0 = I211(4, 1, 3);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I211(4, 3, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-} break;
-case 150 :
-case 182 :
-{
-P0 = I31(4, 0);
-P3 = I31(4, 3);
-P4 = IC(4);
-P6 = I211(4, 3, 7);
-P7 = I31(4, 7);
-if (MUR) {
-       P1 = IC(4);
-       P2 = IC(4);
-       P5 = IC(4);
-       P8 = I31(4, 7);
-} else {
-       P1 = I31(4,1);
-       P2 = I11(1, 5);
-       P5 = I31(5, 4);
-       P8 = I211(4, 5, 7);
-}
-} break;
-case 151 :
-case 183 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I211(4, 3, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-if (MUR) {
-       P2 = IC(4);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 152 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-} break;
-case 153 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-} break;
-case 154 :
-{
-P1 = IC(4);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-if (MUL) {
-       P0 = I31(4, 0);
-} else {
-       P0 = I211(4, 1, 3);
-}
-if (MUR) {
-       P2 = I31(4, 2);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 155 :
-{
-P2 = I31(4, 2);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-       P3 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P1 = I71(4, 1);
-       P3 = I71(4, 3);
-}
-} break;
-case 156 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-} break;
-case 157 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-} break;
-case 158 :
-{
-P3 = IC(4);
-P4 = IC(4);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-if (MUL) {
-       P0 = I31(4, 0);
-} else {
-       P0 = I211(4, 1, 3);
-}
-if (MUR) {
-       P1 = IC(4);
-       P2 = IC(4);
-       P5 = IC(4);
-} else {
-       P1 = I71(4, 1);
-       P2 = I772(1, 5, 4);
-       P5 = I71(4, 5);
-}
-} break;
-case 159 :
-{
-P1 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 6);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-if (MUL) {
-       P0 = IC(4);
-       P3 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P3 = I71(4, 3);
-}
-if (MUR) {
-       P2 = IC(4);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 184 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-} break;
-case 185 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-} break;
-case 186 :
-{
-P1 = IC(4);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-if (MUL) {
-       P0 = I31(4, 0);
-} else {
-       P0 = I211(4, 1, 3);
-}
-if (MUR) {
-       P2 = I31(4, 2);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 187 :
-{
-P2 = I31(4, 2);
-P4 = IC(4);
-P5 = IC(4);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-       P3 = IC(4);
-       P6 = I31(4, 7);
-} else {
-       P0 = I11(1, 3);
-       P1 = I31(4,1);
-       P3 = I31(3, 4);
-       P6 = I211(4, 3, 7);
-}
-} break;
-case 188 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-} break;
-case 189 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-} break;
-case 190 :
-{
-P0 = I31(4, 0);
-P3 = IC(4);
-P4 = IC(4);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-if (MUR) {
-       P1 = IC(4);
-       P2 = IC(4);
-       P5 = IC(4);
-       P8 = I31(4, 7);
-} else {
-       P1 = I31(4,1);
-       P2 = I11(1, 5);
-       P5 = I31(5, 4);
-       P8 = I211(4, 5, 7);
-}
-} break;
-case 191 :
-{
-P1 = IC(4);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 7);
-P7 = I31(4, 7);
-P8 = I31(4, 7);
-if (MUL) {
-       P0 = IC(4);
-} else {
-       P0 = I211(4, 1, 3);
-}
-if (MUR) {
-       P2 = IC(4);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 192 :
-case 193 :
-case 196 :
-case 197 :
-{
-P0 = I211(4, 1, 3);
-P1 = I31(4,1);
-P2 = I211(4, 1, 5);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = IC(4);
-P8 = I31(4,5);
-} break;
-case 194 :
-{
-P0 = I31(4, 0);
-P1 = IC(4);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = IC(4);
-P8 = I31(4,5);
-} break;
-case 195 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = IC(4);
-P8 = I31(4,5);
-} break;
-case 198 :
-{
-P0 = I31(4, 0);
-P1 = IC(4);
-P2 = I31(4,5);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = IC(4);
-P8 = I31(4,5);
-} break;
-case 199 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P2 = I31(4,5);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = IC(4);
-P8 = I31(4,5);
-} break;
-case 200 :
-case 204 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I211(4, 1, 5);
-P4 = IC(4);
-P5 = I31(4,5);
-if (MDL) {
-       P3 = IC(4);
-       P6 = I31(4, 6);
-       P7 = IC(4);
-       P8 = I31(4,5);
-} else {
-       P3 = I31(4, 3);
-       P6 = I11(3, 7);
-       P7 = I31(7, 4);
-       P8 = I211(4, 5, 7);
-}
-} break;
-case 201 :
-case 205 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I211(4, 1, 5);
-P3 = IC(4);
-P4 = IC(4);
-P5 = I31(4,5);
-P7 = IC(4);
-P8 = I31(4,5);
-if (MDL) {
-       P6 = I31(4, 6);
-} else {
-       P6 = I211(4, 3, 7);
-}
-} break;
-case 202 :
-{
-P1 = IC(4);
-P2 = I31(4, 2);
-P3 = IC(4);
-P4 = IC(4);
-P5 = I31(4,5);
-P7 = IC(4);
-P8 = I31(4,5);
-if (MDL) {
-       P6 = I31(4, 6);
-} else {
-       P6 = I211(4, 3, 7);
-}
-if (MUL) {
-       P0 = I31(4, 0);
-} else {
-       P0 = I211(4, 1, 3);
-}
-} break;
-case 203 :
-{
-P2 = I31(4, 2);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = IC(4);
-P8 = I31(4,5);
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-       P3 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P1 = I71(4, 1);
-       P3 = I71(4, 3);
-}
-} break;
-case 206 :
-{
-P1 = IC(4);
-P2 = I31(4,5);
-P3 = IC(4);
-P4 = IC(4);
-P5 = I31(4,5);
-P7 = IC(4);
-P8 = I31(4,5);
-if (MDL) {
-       P6 = I31(4, 6);
-} else {
-       P6 = I211(4, 3, 7);
-}
-if (MUL) {
-       P0 = I31(4, 0);
-} else {
-       P0 = I211(4, 1, 3);
-}
-} break;
-case 207 :
-{
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 6);
-P7 = IC(4);
-P8 = I31(4,5);
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-       P2 = I31(4,5);
-       P3 = IC(4);
-} else {
-       P0 = I11(1, 3);
-       P1 = I31(1, 4);
-       P2 = I211(4, 1, 5);
-       P3 = I31(4, 3);
-}
-} break;
-case 208 :
-case 209 :
-{
-P0 = I211(4, 1, 3);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-P6 = I31(4, 6);
-if (MDR) {
-       P5 = IC(4);
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P5 = I71(4, 5);
-       P7 = I71(4, 7);
-       P8 = I772(5, 7, 4);
-}
-} break;
-case 210 :
-{
-P0 = I31(4, 0);
-P1 = IC(4);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-P6 = I31(4, 6);
-if (MDR) {
-       P5 = IC(4);
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P5 = I71(4, 5);
-       P7 = I71(4, 7);
-       P8 = I772(5, 7, 4);
-}
-} break;
-case 211 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-P6 = I31(4, 6);
-if (MDR) {
-       P5 = IC(4);
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P5 = I71(4, 5);
-       P7 = I71(4, 7);
-       P8 = I772(5, 7, 4);
-}
-} break;
-case 212 :
-case 213 :
-{
-P0 = I211(4, 1, 3);
-P1 = I31(4,1);
-P3 = I31(4, 3);
-P4 = IC(4);
-P6 = I31(4, 6);
-if (MDR) {
-       P2 = I31(4,1);
-       P5 = IC(4);
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P2 = I211(4, 1, 5);
-       P5 = I31(5, 4);
-       P7 = I31(4, 7);
-       P8 = I11(5, 7);
-}
-} break;
-case 215 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 6);
-if (MDR) {
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P7 = I71(4, 7);
-       P8 = I772(5, 7, 4);
-}
-if (MUR) {
-       P2 = IC(4);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 216 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = IC(4);
-P4 = IC(4);
-P6 = I31(4, 6);
-if (MDR) {
-       P5 = IC(4);
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P5 = I71(4, 5);
-       P7 = I71(4, 7);
-       P8 = I772(5, 7, 4);
-}
-} break;
-case 217 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = IC(4);
-P4 = IC(4);
-P6 = I31(4, 6);
-if (MDR) {
-       P5 = IC(4);
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P5 = I71(4, 5);
-       P7 = I71(4, 7);
-       P8 = I772(5, 7, 4);
-}
-} break;
-case 218 :
-{
-P1 = IC(4);
-P3 = IC(4);
-P4 = IC(4);
-if (MDL) {
-       P6 = I31(4, 6);
-} else {
-       P6 = I211(4, 3, 7);
-}
-if (MDR) {
-       P5 = IC(4);
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P5 = I71(4, 5);
-       P7 = I71(4, 7);
-       P8 = I772(5, 7, 4);
-}
-if (MUL) {
-       P0 = I31(4, 0);
-} else {
-       P0 = I211(4, 1, 3);
-}
-if (MUR) {
-       P2 = I31(4, 2);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 219 :
-{
-P2 = I31(4, 2);
-P4 = IC(4);
-P6 = I31(4, 6);
-if (MDR) {
-       P5 = IC(4);
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P5 = I71(4, 5);
-       P7 = I71(4, 7);
-       P8 = I772(5, 7, 4);
-}
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-       P3 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P1 = I71(4, 1);
-       P3 = I71(4, 3);
-}
-} break;
-case 220 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P3 = IC(4);
-P4 = IC(4);
-if (MDL) {
-       P6 = I31(4, 6);
-} else {
-       P6 = I211(4, 3, 7);
-}
-if (MDR) {
-       P5 = IC(4);
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P5 = I71(4, 5);
-       P7 = I71(4, 7);
-       P8 = I772(5, 7, 4);
-}
-} break;
-case 221 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P3 = IC(4);
-P4 = IC(4);
-P6 = I31(4, 6);
-if (MDR) {
-       P2 = I31(4,1);
-       P5 = IC(4);
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P2 = I211(4, 1, 5);
-       P5 = I31(5, 4);
-       P7 = I31(4, 7);
-       P8 = I11(5, 7);
-}
-} break;
-case 222 :
-{
-P0 = I31(4, 0);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 6);
-if (MDR) {
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P7 = I71(4, 7);
-       P8 = I772(5, 7, 4);
-}
-if (MUR) {
-       P1 = IC(4);
-       P2 = IC(4);
-} else {
-       P1 = I71(4, 1);
-       P2 = I772(1, 5, 4);
-}
-} break;
-case 223 :
-{
-P4 = IC(4);
-P6 = I31(4, 6);
-if (MDR) {
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P7 = I71(4, 7);
-       P8 = I772(5, 7, 4);
-}
-if (MUL) {
-       P0 = IC(4);
-       P3 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P3 = I71(4, 3);
-}
-if (MUR) {
-       P1 = IC(4);
-       P2 = IC(4);
-       P5 = IC(4);
-} else {
-       P1 = I71(4, 1);
-       P2 = I211(4, 1, 5);
-       P5 = I71(4, 5);
-}
-} break;
-case 224 :
-case 225 :
-case 228 :
-case 229 :
-{
-P0 = I211(4, 1, 3);
-P1 = I31(4,1);
-P2 = I211(4, 1, 5);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 3);
-P7 = IC(4);
-P8 = I31(4,5);
-} break;
-case 226 :
-{
-P0 = I31(4, 0);
-P1 = IC(4);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 3);
-P7 = IC(4);
-P8 = I31(4,5);
-} break;
-case 227 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 3);
-P7 = IC(4);
-P8 = I31(4,5);
-} break;
-case 230 :
-{
-P0 = I31(4, 0);
-P1 = IC(4);
-P2 = I31(4,5);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 3);
-P7 = IC(4);
-P8 = I31(4,5);
-} break;
-case 231 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P2 = I31(4,5);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = I31(4,5);
-P6 = I31(4, 3);
-P7 = IC(4);
-P8 = I31(4,5);
-} break;
-case 232 :
-case 236 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I211(4, 1, 5);
-P4 = IC(4);
-P5 = I31(4,5);
-if (MDL) {
-       P3 = IC(4);
-       P6 = IC(4);
-       P7 = IC(4);
-       P8 = I31(4,5);
-} else {
-       P3 = I31(4, 3);
-       P6 = I11(3, 7);
-       P7 = I31(7, 4);
-       P8 = I211(4, 5, 7);
-}
-} break;
-case 233 :
-case 237 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I211(4, 1, 5);
-P3 = IC(4);
-P4 = IC(4);
-P5 = I31(4,5);
-P7 = IC(4);
-P8 = I31(4,5);
-if (MDL) {
-       P6 = IC(4);
-} else {
-       P6 = I211(4, 3, 7);
-}
-} break;
-case 234 :
-{
-P1 = IC(4);
-P2 = I31(4, 2);
-P4 = IC(4);
-P5 = I31(4,5);
-P8 = I31(4,5);
-if (MDL) {
-       P3 = IC(4);
-       P6 = IC(4);
-       P7 = IC(4);
-} else {
-       P3 = I71(4, 3);
-       P6 = I772(3, 7, 4);
-       P7 = I71(4, 7);
-}
-if (MUL) {
-       P0 = I31(4, 0);
-} else {
-       P0 = I211(4, 1, 3);
-}
-} break;
-case 235 :
-{
-P2 = I31(4, 2);
-P3 = IC(4);
-P4 = IC(4);
-P5 = I31(4,5);
-P7 = IC(4);
-P8 = I31(4,5);
-if (MDL) {
-       P6 = IC(4);
-} else {
-       P6 = I211(4, 3, 7);
-}
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P1 = I71(4, 1);
-}
-} break;
-case 238 :
-{
-P0 = I31(4, 0);
-P1 = IC(4);
-P2 = I31(4,5);
-P4 = IC(4);
-P5 = I31(4,5);
-if (MDL) {
-       P3 = IC(4);
-       P6 = IC(4);
-       P7 = IC(4);
-       P8 = I31(4,5);
-} else {
-       P3 = I31(4, 3);
-       P6 = I11(3, 7);
-       P7 = I31(7, 4);
-       P8 = I211(4, 5, 7);
-}
-} break;
-case 239 :
-{
-P1 = IC(4);
-P2 = I31(4,5);
-P3 = IC(4);
-P4 = IC(4);
-P5 = I31(4,5);
-P7 = IC(4);
-P8 = I31(4,5);
-if (MDL) {
-       P6 = IC(4);
-} else {
-       P6 = I211(4, 3, 7);
-}
-if (MUL) {
-       P0 = IC(4);
-} else {
-       P0 = I211(4, 1, 3);
-}
-} break;
-case 240 :
-case 241 :
-{
-P0 = I211(4, 1, 3);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-if (MDR) {
-       P5 = IC(4);
-       P6 = I31(4, 3);
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P5 = I31(4,5);
-       P6 = I211(4, 3, 7);
-       P7 = I31(7, 4);
-       P8 = I11(5, 7);
-}
-} break;
-case 242 :
-{
-P0 = I31(4, 0);
-P1 = IC(4);
-P3 = I31(4, 3);
-P4 = IC(4);
-P6 = I31(4, 3);
-if (MDR) {
-       P5 = IC(4);
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P5 = I71(4, 5);
-       P7 = I71(4, 7);
-       P8 = I772(5, 7, 4);
-}
-if (MUR) {
-       P2 = I31(4, 2);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 243 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P2 = I31(4, 2);
-P3 = I31(4, 3);
-P4 = IC(4);
-if (MDR) {
-       P5 = IC(4);
-       P6 = I31(4, 3);
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P5 = I31(4,5);
-       P6 = I211(4, 3, 7);
-       P7 = I31(7, 4);
-       P8 = I11(5, 7);
-}
-} break;
-case 244 :
-case 245 :
-{
-P0 = I211(4, 1, 3);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 3);
-P7 = IC(4);
-if (MDR) {
-       P8 = IC(4);
-} else {
-       P8 = I211(4, 5, 7);
-}
-} break;
-case 246 :
-{
-P0 = I31(4, 0);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 3);
-P7 = IC(4);
-if (MDR) {
-       P8 = IC(4);
-} else {
-       P8 = I211(4, 5, 7);
-}
-if (MUR) {
-       P1 = IC(4);
-       P2 = IC(4);
-} else {
-       P1 = I71(4, 1);
-       P2 = I772(1, 5, 4);
-}
-} break;
-case 247 :
-{
-P0 = I31(4, 3);
-P1 = IC(4);
-P3 = I31(4, 3);
-P4 = IC(4);
-P5 = IC(4);
-P6 = I31(4, 3);
-P7 = IC(4);
-if (MDR) {
-       P8 = IC(4);
-} else {
-       P8 = I211(4, 5, 7);
-}
-if (MUR) {
-       P2 = IC(4);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-case 249 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I31(4, 2);
-P3 = IC(4);
-P4 = IC(4);
-P7 = IC(4);
-if (MDL) {
-       P6 = IC(4);
-} else {
-       P6 = I211(4, 3, 7);
-}
-if (MDR) {
-       P5 = IC(4);
-       P8 = IC(4);
-} else {
-       P5 = I71(4, 5);
-       P8 = I772(5, 7, 4);
-}
-} break;
-case 250 :
-{
-P0 = I31(4, 0);
-P1 = IC(4);
-P2 = I31(4, 2);
-P4 = IC(4);
-P7 = IC(4);
-if (MDL) {
-       P3 = IC(4);
-       P6 = IC(4);
-} else {
-       P3 = I71(4, 3);
-       P6 = I772(3, 7, 4);
-}
-if (MDR) {
-       P5 = IC(4);
-       P8 = IC(4);
-} else {
-       P5 = I71(4, 5);
-       P8 = I772(5, 7, 4);
-}
-} break;
-case 251 :
-{
-P2 = I31(4, 2);
-P4 = IC(4);
-if (MDL) {
-       P3 = IC(4);
-       P6 = IC(4);
-       P7 = IC(4);
-} else {
-       P3 = I71(4, 3);
-       P6 = I211(4, 3, 7);
-       P7 = I71(4, 7);
-}
-if (MDR) {
-       P5 = IC(4);
-       P8 = IC(4);
-} else {
-       P5 = I71(4, 5);
-       P8 = I772(5, 7, 4);
-}
-if (MUL) {
-       P0 = IC(4);
-       P1 = IC(4);
-} else {
-       P0 = I772(1, 3, 4);
-       P1 = I71(4, 1);
-}
-} break;
-case 252 :
-{
-P0 = I31(4, 0);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P4 = IC(4);
-P5 = IC(4);
-P7 = IC(4);
-if (MDL) {
-       P3 = IC(4);
-       P6 = IC(4);
-} else {
-       P3 = I71(4, 3);
-       P6 = I772(3, 7, 4);
-}
-if (MDR) {
-       P8 = IC(4);
-} else {
-       P8 = I211(4, 5, 7);
-}
-} break;
-case 253 :
-{
-P0 = I31(4,1);
-P1 = I31(4,1);
-P2 = I31(4,1);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P7 = IC(4);
-if (MDL) {
-       P6 = IC(4);
-} else {
-       P6 = I211(4, 3, 7);
-}
-if (MDR) {
-       P8 = IC(4);
-} else {
-       P8 = I211(4, 5, 7);
-}
-} break;
-case 254 :
-{
-P0 = I31(4, 0);
-P4 = IC(4);
-if (MDL) {
-       P3 = IC(4);
-       P6 = IC(4);
-} else {
-       P3 = I71(4, 3);
-       P6 = I772(3, 7, 4);
-}
-if (MDR) {
-       P5 = IC(4);
-       P7 = IC(4);
-       P8 = IC(4);
-} else {
-       P5 = I71(4, 5);
-       P7 = I71(4, 7);
-       P8 = I211(4, 5, 7);
-}
-if (MUR) {
-       P1 = IC(4);
-       P2 = IC(4);
-} else {
-       P1 = I71(4, 1);
-       P2 = I772(1, 5, 4);
-}
-} break;
-case 255 :
-{
-P1 = IC(4);
-P3 = IC(4);
-P4 = IC(4);
-P5 = IC(4);
-P7 = IC(4);
-if (MDL) {
-       P6 = IC(4);
-} else {
-       P6 = I211(4, 3, 7);
-}
-if (MDR) {
-       P8 = IC(4);
-} else {
-       P8 = I211(4, 5, 7);
-}
-if (MUL) {
-       P0 = IC(4);
-} else {
-       P0 = I211(4, 1, 3);
-}
-if (MUR) {
-       P2 = IC(4);
-} else {
-       P2 = I211(4, 1, 5);
-}
-} break;
-
-#undef P0
-#undef P1
-#undef P2
-#undef P3
-#undef P4
-#undef P5
-#undef P6
-#undef P7
-#undef P8
-#undef MUR
-#undef MDR
-#undef MDL
-#undef MUL
-#undef IC
-#undef I11
-#undef I211
-#undef I31
-#undef I332
-#undef I431
-#undef I521
-#undef I53
-#undef I611
-#undef I71
-#undef I772
-#undef I97
-#undef I1411
-#undef I151