OpenCores
URL https://opencores.org/ocsvn/reed_solomon_codec_generator/reed_solomon_codec_generator/trunk

Subversion Repositories reed_solomon_codec_generator

[/] [reed_solomon_codec_generator/] [trunk/] [source/] [RsDecodeMul.cpp] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 issei
//===================================================================
2
// Module Name : RsDecodeMul
3
// File Name   : RsDecodeMul.cpp
4
// Function    : RTL Decoder multiplier Module generation
5
// 
6
// Revision History:
7
// Date          By           Version    Change Description
8
//===================================================================
9
// 2009/02/03  Gael Sapience     1.0       Original
10
//
11
//===================================================================
12
// (C) COPYRIGHT 2009 SYSTEM LSI CO., Ltd.
13
//
14
#include <stdio.h>
15
#include <stdlib.h>
16
#include <iostream>
17
#include<windows.h>
18
#include<fstream>
19
#include <string.h>
20
using namespace std;
21
FILE  *OutFileMul;
22
 
23
 
24
void RsDecodeMul(int DataSize, int TotalSize, int PrimPoly, int bitSymbol, int pathFlag, int lengthPath, char *rootFolderPath) {
25
 
26
 
27
   //---------------------------------------------------------------
28
   // C++ variables
29
   //---------------------------------------------------------------
30
   int syndromeLength;
31
   int ii;
32
   syndromeLength = TotalSize - DataSize;
33
   char *strRsDecodeMult;
34
 
35
   //---------------------------------------------------------------
36
   // open file
37
   //---------------------------------------------------------------
38
   strRsDecodeMult = (char *)calloc(lengthPath + 20,  sizeof(char));
39
   if (pathFlag == 0) {
40
        strRsDecodeMult[0] = '.';
41
   }else{
42
      for(ii=0; ii<lengthPath; ii++){
43
         strRsDecodeMult[ii] = rootFolderPath[ii];
44
      }
45
   }
46
   strcat(strRsDecodeMult, "/rtl/RsDecodeMult.v");
47
 
48
   OutFileMul = fopen(strRsDecodeMult,"w");
49
 
50
 
51
   //---------------------------------------------------------------
52
   // Ports Declaration
53
   //---------------------------------------------------------------
54
   fprintf(OutFileMul, "//===================================================================\n");
55
   fprintf(OutFileMul, "// Module Name : RsDecodeMult\n");
56
   fprintf(OutFileMul, "// File Name   : RsDecodeMult.v\n");
57
   fprintf(OutFileMul, "// Function    : Rs Decoder Multiplier Module\n");
58
   fprintf(OutFileMul, "// \n");
59
   fprintf(OutFileMul, "// Revision History:\n");
60
   fprintf(OutFileMul, "// Date          By           Version    Change Description\n");
61
   fprintf(OutFileMul, "//===================================================================\n");
62
   fprintf(OutFileMul, "// 2009/02/03  Gael Sapience     1.0       Original\n");
63
   fprintf(OutFileMul, "//\n");
64
   fprintf(OutFileMul, "//===================================================================\n");
65
   fprintf(OutFileMul, "// (C) COPYRIGHT 2009 SYSTEM LSI CO., Ltd.\n");
66
   fprintf(OutFileMul, "//\n\n\n");
67
   fprintf(OutFileMul, "module RsDecodeMult(\n");
68
   fprintf(OutFileMul, "   A, // input A\n");
69
   fprintf(OutFileMul, "   B, // input B\n");
70
   fprintf(OutFileMul, "   P  // output P = A*B in Galois Field\n");
71
   fprintf(OutFileMul, ");\n\n\n");
72
 
73
   fprintf(OutFileMul, "   input  [%d:0]   A; // input A\n", bitSymbol-1);
74
   fprintf(OutFileMul, "   input  [%d:0]   B; // input B\n", bitSymbol-1);
75
   fprintf(OutFileMul, "   output [%d:0]   P; // output P = A*B in Galois Field\n", bitSymbol-1);
76
   fprintf(OutFileMul, "\n\n\n");
77
 
78
 
79
   //------------------------------------------------------------------------
80
   // + instance M register
81
   //- 
82
   //------------------------------------------------------------------------
83
   fprintf(OutFileMul, "   //------------------------------------------------------------------------\n");
84
   fprintf(OutFileMul, "   // + M\n");
85
   fprintf(OutFileMul, "   //- \n");
86
   fprintf(OutFileMul, "   //------------------------------------------------------------------------\n");
87
 
88
   switch(bitSymbol){
89
      case (3):
90
         fprintf(OutFileMul, "   wire [4:0]   M;\n");
91
      break;
92
      case (4):
93
         fprintf(OutFileMul, "   wire [6:0]   M;\n");
94
      break;
95
      case (5):
96
         fprintf(OutFileMul, "   wire [8:0]   M;\n");
97
      break;
98
      case (6):
99
         fprintf(OutFileMul, "   wire [10:0]   M;\n");
100
      break;
101
      case (7):
102
         fprintf(OutFileMul, "   wire [12:0]   M;\n");
103
      break;
104
      case (8):
105
         fprintf(OutFileMul, "   wire [14:0]   M;\n");
106
      break;
107
      case (9):
108
         fprintf(OutFileMul, "   wire [16:0]   M;\n");
109
      break;
110
      case (10):
111
         fprintf(OutFileMul, "   wire [18:0]   M;\n");
112
      break;
113
      case (11):
114
         fprintf(OutFileMul, "   wire [20:0]   M;\n");
115
      break;
116
      case (12):
117
         fprintf(OutFileMul, "   wire [22:0]   M;\n");
118
      break;
119
      default:
120
         fprintf(OutFileMul, "   wire          M;\n");
121
      break;
122
   }
123
 
124
   fprintf(OutFileMul, "\n\n\n");
125
 
126
   //------------------------------------------------------------------------
127
   // + assign M for GF multiplication
128
   //- 
129
   //------------------------------------------------------------------------
130
   switch(bitSymbol){
131
      case (3):
132
         fprintf(OutFileMul, "   assign M[0]  = (A[0] & B[0]);\n");
133
         fprintf(OutFileMul, "   assign M[1]  = (A[0] & B[1]) ^ (A[1] & B[0]);\n");
134
         fprintf(OutFileMul, "   assign M[2]  = (A[0] & B[2]) ^ (A[1] & B[1]) ^ (A[2] & B[0]);\n");
135
         fprintf(OutFileMul, "   assign M[3]  = (A[1] & B[2]) ^ (A[2] & B[1]);\n");
136
         fprintf(OutFileMul, "   assign M[4]  = (A[2] & B[2]);\n");
137
      break;
138
      case (4):
139
         fprintf(OutFileMul, "   assign M[0]  = (A[0] & B[0]);\n");
140
         fprintf(OutFileMul, "   assign M[1]  = (A[0] & B[1]) ^ (A[1] & B[0]);\n");
141
         fprintf(OutFileMul, "   assign M[2]  = (A[0] & B[2]) ^ (A[1] & B[1]) ^ (A[2] & B[0]);\n");
142
         fprintf(OutFileMul, "   assign M[3]  = (A[0] & B[3]) ^ (A[1] & B[2]) ^ (A[2] & B[1]) ^ (A[3] & B[0]);\n");
143
         fprintf(OutFileMul, "   assign M[4]  = (A[1] & B[3]) ^ (A[2] & B[2]) ^ (A[3] & B[1]);\n");
144
         fprintf(OutFileMul, "   assign M[5]  = (A[2] & B[3]) ^ (A[3] & B[2]);\n");
145
         fprintf(OutFileMul, "   assign M[6]  = (A[3] & B[3]);\n");
146
      break;
147
      case (5):
148
         fprintf(OutFileMul, "   assign M[0]  = (A[0] & B[0]);\n");
149
         fprintf(OutFileMul, "   assign M[1]  = (A[0] & B[1]) ^ (A[1] & B[0]);\n");
150
         fprintf(OutFileMul, "   assign M[2]  = (A[0] & B[2]) ^ (A[1] & B[1]) ^ (A[2] & B[0]);\n");
151
         fprintf(OutFileMul, "   assign M[3]  = (A[0] & B[3]) ^ (A[1] & B[2]) ^ (A[2] & B[1]) ^ (A[3] & B[0]);\n");
152
         fprintf(OutFileMul, "   assign M[4]  = (A[0] & B[4]) ^ (A[1] & B[3]) ^ (A[2] & B[2]) ^ (A[3] & B[1]) ^ (A[4] & B[0]);\n");
153
         fprintf(OutFileMul, "   assign M[5]  = (A[1] & B[4]) ^ (A[2] & B[3]) ^ (A[3] & B[2]) ^ (A[4] & B[1]);\n");
154
         fprintf(OutFileMul, "   assign M[6]  = (A[2] & B[4]) ^ (A[3] & B[3]) ^ (A[4] & B[2]);\n");
155
         fprintf(OutFileMul, "   assign M[7]  = (A[3] & B[4]) ^ (A[4] & B[3]);\n");
156
         fprintf(OutFileMul, "   assign M[8]  = (A[4] & B[4]);\n");
157
      break;
158
      case (6):
159
         fprintf(OutFileMul, "   assign M[0]  = (A[0] & B[0]);\n");
160
         fprintf(OutFileMul, "   assign M[1]  = (A[0] & B[1]) ^ (A[1] & B[0]);\n");
161
         fprintf(OutFileMul, "   assign M[2]  = (A[0] & B[2]) ^ (A[1] & B[1]) ^ (A[2] & B[0]);\n");
162
         fprintf(OutFileMul, "   assign M[3]  = (A[0] & B[3]) ^ (A[1] & B[2]) ^ (A[2] & B[1]) ^ (A[3] & B[0]);\n");
163
         fprintf(OutFileMul, "   assign M[4]  = (A[0] & B[4]) ^ (A[1] & B[3]) ^ (A[2] & B[2]) ^ (A[3] & B[1]) ^ (A[4] & B[0]);\n");
164
         fprintf(OutFileMul, "   assign M[5]  = (A[0] & B[5]) ^ (A[1] & B[4]) ^ (A[2] & B[3]) ^ (A[3] & B[2]) ^ (A[4] & B[1]) ^ (A[5] & B[0]);\n");
165
         fprintf(OutFileMul, "   assign M[6]  = (A[1] & B[5]) ^ (A[2] & B[4]) ^ (A[3] & B[3]) ^ (A[4] & B[2]) ^ (A[5] & B[1]);\n");
166
         fprintf(OutFileMul, "   assign M[7]  = (A[2] & B[5]) ^ (A[3] & B[4]) ^ (A[4] & B[3]) ^ (A[5] & B[2]);\n");
167
         fprintf(OutFileMul, "   assign M[8]  = (A[3] & B[5]) ^ (A[4] & B[4]) ^ (A[5] & B[3]);\n");
168
         fprintf(OutFileMul, "   assign M[9]  = (A[4] & B[5]) ^ (A[5] & B[4]);\n");
169
         fprintf(OutFileMul, "   assign M[10] = (A[5] & B[5]);\n");
170
      break;
171
      case (7):
172
         fprintf(OutFileMul, "   assign M[0]  = (A[0] & B[0]);\n");
173
         fprintf(OutFileMul, "   assign M[1]  = (A[0] & B[1]) ^ (A[1] & B[0]);\n");
174
         fprintf(OutFileMul, "   assign M[2]  = (A[0] & B[2]) ^ (A[1] & B[1]) ^ (A[2] & B[0]);\n");
175
         fprintf(OutFileMul, "   assign M[3]  = (A[0] & B[3]) ^ (A[1] & B[2]) ^ (A[2] & B[1]) ^ (A[3] & B[0]);\n");
176
         fprintf(OutFileMul, "   assign M[4]  = (A[0] & B[4]) ^ (A[1] & B[3]) ^ (A[2] & B[2]) ^ (A[3] & B[1]) ^ (A[4] & B[0]);\n");
177
         fprintf(OutFileMul, "   assign M[5]  = (A[0] & B[5]) ^ (A[1] & B[4]) ^ (A[2] & B[3]) ^ (A[3] & B[2]) ^ (A[4] & B[1]) ^ (A[5] & B[0]);\n");
178
         fprintf(OutFileMul, "   assign M[6]  = (A[0] & B[6]) ^ (A[1] & B[5]) ^ (A[2] & B[4]) ^ (A[3] & B[3]) ^ (A[4] & B[2]) ^ (A[5] & B[1]) ^ (A[6] & B[0]);\n");
179
         fprintf(OutFileMul, "   assign M[7]  = (A[1] & B[6]) ^ (A[2] & B[5]) ^ (A[3] & B[4]) ^ (A[4] & B[3]) ^ (A[5] & B[2]) ^ (A[6] & B[1]);\n");
180
         fprintf(OutFileMul, "   assign M[8]  = (A[2] & B[6]) ^ (A[3] & B[5]) ^ (A[4] & B[4]) ^ (A[5] & B[3]) ^ (A[6] & B[2]);\n");
181
         fprintf(OutFileMul, "   assign M[9]  = (A[3] & B[6]) ^ (A[4] & B[5]) ^ (A[5] & B[4]) ^ (A[6] & B[3]);\n");
182
         fprintf(OutFileMul, "   assign M[10] = (A[4] & B[6]) ^ (A[5] & B[5]) ^ (A[6] & B[4]);\n");
183
         fprintf(OutFileMul, "   assign M[11] = (A[5] & B[6]) ^ (A[6] & B[5]);\n");
184
         fprintf(OutFileMul, "   assign M[12] = (A[6] & B[6]);\n");
185
      break;
186
      case (8):
187
         fprintf(OutFileMul, "   assign M[0]  = (A[0] & B[0]);\n");
188
         fprintf(OutFileMul, "   assign M[1]  = (A[0] & B[1]) ^ (A[1] & B[0]);\n");
189
         fprintf(OutFileMul, "   assign M[2]  = (A[0] & B[2]) ^ (A[1] & B[1]) ^ (A[2] & B[0]);\n");
190
         fprintf(OutFileMul, "   assign M[3]  = (A[0] & B[3]) ^ (A[1] & B[2]) ^ (A[2] & B[1]) ^ (A[3] & B[0]);\n");
191
         fprintf(OutFileMul, "   assign M[4]  = (A[0] & B[4]) ^ (A[1] & B[3]) ^ (A[2] & B[2]) ^ (A[3] & B[1]) ^ (A[4] & B[0]);\n");
192
         fprintf(OutFileMul, "   assign M[5]  = (A[0] & B[5]) ^ (A[1] & B[4]) ^ (A[2] & B[3]) ^ (A[3] & B[2]) ^ (A[4] & B[1]) ^ (A[5] & B[0]);\n");
193
         fprintf(OutFileMul, "   assign M[6]  = (A[0] & B[6]) ^ (A[1] & B[5]) ^ (A[2] & B[4]) ^ (A[3] & B[3]) ^ (A[4] & B[2]) ^ (A[5] & B[1]) ^ (A[6] & B[0]);\n");
194
         fprintf(OutFileMul, "   assign M[7]  = (A[0] & B[7]) ^ (A[1] & B[6]) ^ (A[2] & B[5]) ^ (A[3] & B[4]) ^ (A[4] & B[3]) ^ (A[5] & B[2]) ^ (A[6] & B[1]) ^ (A[7] & B[0]);\n");
195
         fprintf(OutFileMul, "   assign M[8]  = (A[1] & B[7]) ^ (A[2] & B[6]) ^ (A[3] & B[5]) ^ (A[4] & B[4]) ^ (A[5] & B[3]) ^ (A[6] & B[2]) ^ (A[7] & B[1]);\n");
196
         fprintf(OutFileMul, "   assign M[9]  = (A[2] & B[7]) ^ (A[3] & B[6]) ^ (A[4] & B[5]) ^ (A[5] & B[4]) ^ (A[6] & B[3]) ^ (A[7] & B[2]);\n");
197
         fprintf(OutFileMul, "   assign M[10] = (A[3] & B[7]) ^ (A[4] & B[6]) ^ (A[5] & B[5]) ^ (A[6] & B[4]) ^ (A[7] & B[3]);\n");
198
         fprintf(OutFileMul, "   assign M[11] = (A[4] & B[7]) ^ (A[5] & B[6]) ^ (A[6] & B[5]) ^ (A[7] & B[4]);\n");
199
         fprintf(OutFileMul, "   assign M[12] = (A[5] & B[7]) ^ (A[6] & B[6]) ^ (A[7] & B[5]);\n");
200
         fprintf(OutFileMul, "   assign M[13] = (A[6] & B[7]) ^ (A[7] & B[6]);\n");
201
         fprintf(OutFileMul, "   assign M[14] = (A[7] & B[7]);\n");
202
      break;
203
      case (9):
204
         fprintf(OutFileMul, "   assign M[0]  = (A[0] & B[0]);\n");
205
         fprintf(OutFileMul, "   assign M[1]  = (A[0] & B[1]) ^ (A[1] & B[0]);\n");
206
         fprintf(OutFileMul, "   assign M[2]  = (A[0] & B[2]) ^ (A[1] & B[1]) ^ (A[2] & B[0]);\n");
207
         fprintf(OutFileMul, "   assign M[3]  = (A[0] & B[3]) ^ (A[1] & B[2]) ^ (A[2] & B[1]) ^ (A[3] & B[0]);\n");
208
         fprintf(OutFileMul, "   assign M[4]  = (A[0] & B[4]) ^ (A[1] & B[3]) ^ (A[2] & B[2]) ^ (A[3] & B[1]) ^ (A[4] & B[0]);\n");
209
         fprintf(OutFileMul, "   assign M[5]  = (A[0] & B[5]) ^ (A[1] & B[4]) ^ (A[2] & B[3]) ^ (A[3] & B[2]) ^ (A[4] & B[1]) ^ (A[5] & B[0]);\n");
210
         fprintf(OutFileMul, "   assign M[6]  = (A[0] & B[6]) ^ (A[1] & B[5]) ^ (A[2] & B[4]) ^ (A[3] & B[3]) ^ (A[4] & B[2]) ^ (A[5] & B[1]) ^ (A[6] & B[0]);\n");
211
         fprintf(OutFileMul, "   assign M[7]  = (A[0] & B[7]) ^ (A[1] & B[6]) ^ (A[2] & B[5]) ^ (A[3] & B[4]) ^ (A[4] & B[3]) ^ (A[5] & B[2]) ^ (A[6] & B[1]) ^ (A[7] & B[0]);\n");
212
         fprintf(OutFileMul, "   assign M[8]  = (A[1] & B[7]) ^ (A[2] & B[6]) ^ (A[3] & B[5]) ^ (A[4] & B[4]) ^ (A[5] & B[3]) ^ (A[6] & B[2]) ^ (A[7] & B[1]) ^ (A[0] & B[8]) ^ (A[8] & B[0]);\n");
213
         fprintf(OutFileMul, "   assign M[9]  = (A[2] & B[7]) ^ (A[3] & B[6]) ^ (A[4] & B[5]) ^ (A[5] & B[4]) ^ (A[6] & B[3]) ^ (A[7] & B[2]) ^ (A[1] & B[8]) ^ (A[8] & B[1]);\n");
214
         fprintf(OutFileMul, "   assign M[10] = (A[3] & B[7]) ^ (A[4] & B[6]) ^ (A[5] & B[5]) ^ (A[6] & B[4]) ^ (A[7] & B[3]) ^ (A[2] & B[8]) ^ (A[8] & B[2]);\n");
215
         fprintf(OutFileMul, "   assign M[11] = (A[4] & B[7]) ^ (A[5] & B[6]) ^ (A[6] & B[5]) ^ (A[7] & B[4]) ^ (A[3] & B[8]) ^ (A[8] & B[3]);\n");
216
         fprintf(OutFileMul, "   assign M[12] = (A[5] & B[7]) ^ (A[6] & B[6]) ^ (A[7] & B[5]) ^ (A[4] & B[8]) ^ (A[8] & B[4]);\n");
217
         fprintf(OutFileMul, "   assign M[13] = (A[6] & B[7]) ^ (A[7] & B[6]) ^ (A[5] & B[8]) ^ (A[8] & B[5]);\n");
218
         fprintf(OutFileMul, "   assign M[14] = (A[7] & B[7]) ^ (A[6] & B[8]) ^ (A[8] & B[6]);\n");
219
         fprintf(OutFileMul, "   assign M[15] = (A[8] & B[7]) ^ (A[7] & B[8]);\n");
220
         fprintf(OutFileMul, "   assign M[16] = (A[8] & B[8]);\n");
221
      break;
222
      case (10):
223
         fprintf(OutFileMul, "   assign M[0]  = (A[0] & B[0]);\n");
224
         fprintf(OutFileMul, "   assign M[1]  = (A[0] & B[1]) ^ (A[1] & B[0]);\n");
225
         fprintf(OutFileMul, "   assign M[2]  = (A[0] & B[2]) ^ (A[1] & B[1]) ^ (A[2] & B[0]);\n");
226
         fprintf(OutFileMul, "   assign M[3]  = (A[0] & B[3]) ^ (A[1] & B[2]) ^ (A[2] & B[1]) ^ (A[3] & B[0]);\n");
227
         fprintf(OutFileMul, "   assign M[4]  = (A[0] & B[4]) ^ (A[1] & B[3]) ^ (A[2] & B[2]) ^ (A[3] & B[1]) ^ (A[4] & B[0]);\n");
228
         fprintf(OutFileMul, "   assign M[5]  = (A[0] & B[5]) ^ (A[1] & B[4]) ^ (A[2] & B[3]) ^ (A[3] & B[2]) ^ (A[4] & B[1]) ^ (A[5] & B[0]);\n");
229
         fprintf(OutFileMul, "   assign M[6]  = (A[0] & B[6]) ^ (A[1] & B[5]) ^ (A[2] & B[4]) ^ (A[3] & B[3]) ^ (A[4] & B[2]) ^ (A[5] & B[1]) ^ (A[6] & B[0]);\n");
230
         fprintf(OutFileMul, "   assign M[7]  = (A[0] & B[7]) ^ (A[1] & B[6]) ^ (A[2] & B[5]) ^ (A[3] & B[4]) ^ (A[4] & B[3]) ^ (A[5] & B[2]) ^ (A[6] & B[1]) ^ (A[7] & B[0]);\n");
231
         fprintf(OutFileMul, "   assign M[8]  = (A[1] & B[7]) ^ (A[2] & B[6]) ^ (A[3] & B[5]) ^ (A[4] & B[4]) ^ (A[5] & B[3]) ^ (A[6] & B[2]) ^ (A[7] & B[1]) ^ (A[0] & B[8]) ^ (A[8] & B[0]);\n");
232
         fprintf(OutFileMul, "   assign M[9]  = (A[2] & B[7]) ^ (A[3] & B[6]) ^ (A[4] & B[5]) ^ (A[5] & B[4]) ^ (A[6] & B[3]) ^ (A[7] & B[2]) ^ (A[1] & B[8]) ^ (A[8] & B[1]) ^ (A[0] & B[9]) ^ (A[9] & B[0]);\n");
233
         fprintf(OutFileMul, "   assign M[10] = (A[3] & B[7]) ^ (A[4] & B[6]) ^ (A[5] & B[5]) ^ (A[6] & B[4]) ^ (A[7] & B[3]) ^ (A[2] & B[8]) ^ (A[8] & B[2]) ^ (A[1] & B[9]) ^ (A[9] & B[1]);\n");
234
         fprintf(OutFileMul, "   assign M[11] = (A[4] & B[7]) ^ (A[5] & B[6]) ^ (A[6] & B[5]) ^ (A[7] & B[4]) ^ (A[3] & B[8]) ^ (A[8] & B[3]) ^ (A[2] & B[9]) ^ (A[9] & B[2]);\n");
235
         fprintf(OutFileMul, "   assign M[12] = (A[5] & B[7]) ^ (A[6] & B[6]) ^ (A[7] & B[5]) ^ (A[4] & B[8]) ^ (A[8] & B[4]) ^ (A[3] & B[9]) ^ (A[9] & B[3]);\n");
236
         fprintf(OutFileMul, "   assign M[13] = (A[6] & B[7]) ^ (A[7] & B[6]) ^ (A[5] & B[8]) ^ (A[8] & B[5]) ^ (A[4] & B[9]) ^ (A[9] & B[4]);\n");
237
         fprintf(OutFileMul, "   assign M[14] = (A[7] & B[7]) ^ (A[6] & B[8]) ^ (A[8] & B[6]) ^ (A[5] & B[9]) ^ (A[9] & B[5]);\n");
238
         fprintf(OutFileMul, "   assign M[15] = (A[8] & B[7]) ^ (A[7] & B[8]) ^ (A[6] & B[9]) ^ (A[9] & B[6]);\n");
239
         fprintf(OutFileMul, "   assign M[16] = (A[8] & B[8]) ^ (A[7] & B[9]) ^ (A[9] & B[7]);\n");
240
         fprintf(OutFileMul, "   assign M[17] = (A[8] & B[9]) ^ (A[9] & B[8]);\n");
241
         fprintf(OutFileMul, "   assign M[18] = (A[9] & B[9]);\n");
242
      break;
243
      case (11):
244
         fprintf(OutFileMul, "   assign M[0]  = (A[0] & B[0]);\n");
245
         fprintf(OutFileMul, "   assign M[1]  = (A[0] & B[1])  ^ (A[1] & B[0]);\n");
246
         fprintf(OutFileMul, "   assign M[2]  = (A[0] & B[2])  ^ (A[1] & B[1])  ^ (A[2] & B[0]);\n");
247
         fprintf(OutFileMul, "   assign M[3]  = (A[0] & B[3])  ^ (A[1] & B[2])  ^ (A[2] & B[1])  ^ (A[3] & B[0]);\n");
248
         fprintf(OutFileMul, "   assign M[4]  = (A[0] & B[4])  ^ (A[1] & B[3])  ^ (A[2] & B[2])  ^ (A[3] & B[1])  ^ (A[4] & B[0]);\n");
249
         fprintf(OutFileMul, "   assign M[5]  = (A[0] & B[5])  ^ (A[1] & B[4])  ^ (A[2] & B[3])  ^ (A[3] & B[2])  ^ (A[4] & B[1])  ^ (A[5] & B[0]);\n");
250
         fprintf(OutFileMul, "   assign M[6]  = (A[0] & B[6])  ^ (A[1] & B[5])  ^ (A[2] & B[4])  ^ (A[3] & B[3])  ^ (A[4] & B[2])  ^ (A[5] & B[1])  ^ (A[6] & B[0]);\n");
251
         fprintf(OutFileMul, "   assign M[7]  = (A[0] & B[7])  ^ (A[1] & B[6])  ^ (A[2] & B[5])  ^ (A[3] & B[4])  ^ (A[4] & B[3])  ^ (A[5] & B[2])  ^ (A[6] & B[1])  ^ (A[7] & B[0]);\n");
252
         fprintf(OutFileMul, "   assign M[8]  = (A[1] & B[7])  ^ (A[2] & B[6])  ^ (A[3] & B[5])  ^ (A[4] & B[4])  ^ (A[5] & B[3])  ^ (A[6] & B[2])  ^ (A[7] & B[1])  ^ (A[0] & B[8])  ^ (A[8] & B[0]);\n");
253
         fprintf(OutFileMul, "   assign M[9]  = (A[2] & B[7])  ^ (A[3] & B[6])  ^ (A[4] & B[5])  ^ (A[5] & B[4])  ^ (A[6] & B[3])  ^ (A[7] & B[2])  ^ (A[1] & B[8])  ^ (A[8] & B[1])  ^ (A[0] & B[9])  ^ (A[9] & B[0]);\n");
254
         fprintf(OutFileMul, "   assign M[10] = (A[3] & B[7])  ^ (A[4] & B[6])  ^ (A[5] & B[5])  ^ (A[6] & B[4])  ^ (A[7] & B[3])  ^ (A[2] & B[8])  ^ (A[8] & B[2])  ^ (A[1] & B[9])  ^ (A[9] & B[1])  ^ (A[0] & B[10]) ^ (A[10] & B[0]);\n");
255
         fprintf(OutFileMul, "   assign M[11] = (A[4] & B[7])  ^ (A[5] & B[6])  ^ (A[6] & B[5])  ^ (A[7] & B[4])  ^ (A[3] & B[8])  ^ (A[8] & B[3])  ^ (A[2] & B[9])  ^ (A[9] & B[2])  ^ (A[1] & B[10]) ^ (A[10] & B[1]);\n");
256
         fprintf(OutFileMul, "   assign M[12] = (A[5] & B[7])  ^ (A[6] & B[6])  ^ (A[7] & B[5])  ^ (A[4] & B[8])  ^ (A[8] & B[4])  ^ (A[3] & B[9])  ^ (A[9] & B[3])  ^ (A[2] & B[10]) ^ (A[10] & B[2]);\n");
257
         fprintf(OutFileMul, "   assign M[13] = (A[6] & B[7])  ^ (A[7] & B[6])  ^ (A[5] & B[8])  ^ (A[8] & B[5])  ^ (A[4] & B[9])  ^ (A[9] & B[4])  ^ (A[3] & B[10]) ^ (A[10] & B[3]);\n");
258
         fprintf(OutFileMul, "   assign M[14] = (A[7] & B[7])  ^ (A[6] & B[8])  ^ (A[8] & B[6])  ^ (A[5] & B[9])  ^ (A[9] & B[5])  ^ (A[4] & B[10]) ^ (A[10] & B[4]);\n");
259
         fprintf(OutFileMul, "   assign M[15] = (A[8] & B[7])  ^ (A[7] & B[8])  ^ (A[6] & B[9])  ^ (A[9] & B[6])  ^ (A[5] & B[10]) ^ (A[10] & B[5]);\n");
260
         fprintf(OutFileMul, "   assign M[16] = (A[8] & B[8])  ^ (A[7] & B[9])  ^ (A[9] & B[7])  ^ (A[6] & B[10]) ^ (A[10] & B[6]);\n");
261
         fprintf(OutFileMul, "   assign M[17] = (A[8] & B[9])  ^ (A[9] & B[8])  ^ (A[7] & B[10]) ^ (A[10] & B[7]);\n");
262
         fprintf(OutFileMul, "   assign M[18] = (A[9] & B[9])  ^ (A[8] & B[10]) ^ (A[10] & B[8]);\n");
263
         fprintf(OutFileMul, "   assign M[19] = (A[9] & B[10]) ^ (A[10] & B[9]);\n");
264
         fprintf(OutFileMul, "   assign M[20] = (A[10] & B[10]);\n");
265
      break;
266
      case (12):
267
         fprintf(OutFileMul, "   assign M[0]  = (A[0] & B[0]);\n");
268
         fprintf(OutFileMul, "   assign M[1]  = (A[0] & B[1])   ^ (A[1] & B[0]);\n");
269
         fprintf(OutFileMul, "   assign M[2]  = (A[0] & B[2])   ^ (A[1] & B[1])  ^ (A[2] & B[0]);\n");
270
         fprintf(OutFileMul, "   assign M[3]  = (A[0] & B[3])   ^ (A[1] & B[2])  ^ (A[2] & B[1])  ^ (A[3] & B[0]);\n");
271
         fprintf(OutFileMul, "   assign M[4]  = (A[0] & B[4])   ^ (A[1] & B[3])  ^ (A[2] & B[2])  ^ (A[3] & B[1])  ^ (A[4] & B[0]);\n");
272
         fprintf(OutFileMul, "   assign M[5]  = (A[0] & B[5])   ^ (A[1] & B[4])  ^ (A[2] & B[3])  ^ (A[3] & B[2])  ^ (A[4] & B[1])  ^ (A[5] & B[0]);\n");
273
         fprintf(OutFileMul, "   assign M[6]  = (A[0] & B[6])   ^ (A[1] & B[5])  ^ (A[2] & B[4])  ^ (A[3] & B[3])  ^ (A[4] & B[2])  ^ (A[5] & B[1])  ^ (A[6] & B[0]);\n");
274
         fprintf(OutFileMul, "   assign M[7]  = (A[0] & B[7])   ^ (A[1] & B[6])  ^ (A[2] & B[5])  ^ (A[3] & B[4])  ^ (A[4] & B[3])  ^ (A[5] & B[2])  ^ (A[6] & B[1])  ^ (A[7] & B[0]);\n");
275
         fprintf(OutFileMul, "   assign M[8]  = (A[1] & B[7])   ^ (A[2] & B[6])  ^ (A[3] & B[5])  ^ (A[4] & B[4])  ^ (A[5] & B[3])  ^ (A[6] & B[2])  ^ (A[7] & B[1])  ^ (A[0] & B[8])  ^ (A[8] & B[0]);\n");
276
         fprintf(OutFileMul, "   assign M[9]  = (A[2] & B[7])   ^ (A[3] & B[6])  ^ (A[4] & B[5])  ^ (A[5] & B[4])  ^ (A[6] & B[3])  ^ (A[7] & B[2])  ^ (A[1] & B[8])  ^ (A[8] & B[1])  ^ (A[0] & B[9])  ^ (A[9] & B[0]);\n");
277
         fprintf(OutFileMul, "   assign M[10] = (A[3] & B[7])   ^ (A[4] & B[6])  ^ (A[5] & B[5])  ^ (A[6] & B[4])  ^ (A[7] & B[3])  ^ (A[2] & B[8])  ^ (A[8] & B[2])  ^ (A[1] & B[9])  ^ (A[9] & B[1])  ^ (A[0] & B[10]) ^ (A[10] & B[0]);\n");
278
         fprintf(OutFileMul, "   assign M[11] = (A[4] & B[7])   ^ (A[5] & B[6])  ^ (A[6] & B[5])  ^ (A[7] & B[4])  ^ (A[3] & B[8])  ^ (A[8] & B[3])  ^ (A[2] & B[9])  ^ (A[9] & B[2])  ^ (A[1] & B[10]) ^ (A[10] & B[1]) ^ (A[0] & B[11]) ^ (A[11] & B[0]);\n");
279
         fprintf(OutFileMul, "   assign M[12] = (A[5] & B[7])   ^ (A[6] & B[6])  ^ (A[7] & B[5])  ^ (A[4] & B[8])  ^ (A[8] & B[4])  ^ (A[3] & B[9])  ^ (A[9] & B[3])  ^ (A[2] & B[10]) ^ (A[10] & B[2]) ^ (A[1] & B[11]) ^ (A[11] & B[1]);\n");
280
         fprintf(OutFileMul, "   assign M[13] = (A[6] & B[7])   ^ (A[7] & B[6])  ^ (A[5] & B[8])  ^ (A[8] & B[5])  ^ (A[4] & B[9])  ^ (A[9] & B[4])  ^ (A[3] & B[10]) ^ (A[10] & B[3]) ^ (A[2] & B[11]) ^ (A[11] & B[2]);\n");
281
         fprintf(OutFileMul, "   assign M[14] = (A[7] & B[7])   ^ (A[6] & B[8])  ^ (A[8] & B[6])  ^ (A[5] & B[9])  ^ (A[9] & B[5])  ^ (A[4] & B[10]) ^ (A[10] & B[4]) ^ (A[3] & B[11]) ^ (A[11] & B[3]);\n");
282
         fprintf(OutFileMul, "   assign M[15] = (A[8] & B[7])   ^ (A[7] & B[8])  ^ (A[6] & B[9])  ^ (A[9] & B[6])  ^ (A[5] & B[10]) ^ (A[10] & B[5]) ^ (A[4] & B[11]) ^ (A[11] & B[4]);\n");
283
         fprintf(OutFileMul, "   assign M[16] = (A[8] & B[8])   ^ (A[7] & B[9])  ^ (A[9] & B[7])  ^ (A[6] & B[10]) ^ (A[10] & B[6]) ^ (A[5] & B[11]) ^ (A[11] & B[5]);\n");
284
         fprintf(OutFileMul, "   assign M[17] = (A[8] & B[9])   ^ (A[9] & B[8])  ^ (A[7] & B[10]) ^ (A[10] & B[7]) ^ (A[6] & B[11]) ^ (A[11] & B[6]);\n");
285
         fprintf(OutFileMul, "   assign M[18] = (A[9] & B[9])   ^ (A[8] & B[10]) ^ (A[10] & B[8]) ^ (A[7] & B[11]) ^ (A[11] & B[7]);\n");
286
         fprintf(OutFileMul, "   assign M[19] = (A[9] & B[10])  ^ (A[10] & B[9]) ^ (A[8] & B[11]) ^ (A[11] & B[8]);\n");
287
         fprintf(OutFileMul, "   assign M[20] = (A[10] & B[10]) ^ (A[9] & B[11]) ^ (A[11] & B[9]);\n");
288
         fprintf(OutFileMul, "   assign M[21] = (A[10] & B[11]) ^ (A[11] & B[10]);\n");
289
         fprintf(OutFileMul, "   assign M[22] = A[11] & B[11];\n");
290
      break;
291
      default:
292
         fprintf(OutFileMul, "   assign M[0] = 0;\n");
293
      break;
294
   }
295
 
296
 
297
   //------------------------------------------------------------------------
298
   // + P
299
   //- 
300
   //------------------------------------------------------------------------
301
   fprintf(OutFileMul, "   //------------------------------------------------------------------------\n");
302
   fprintf(OutFileMul, "   // + P\n");
303
   fprintf(OutFileMul, "   //- \n");
304
   fprintf(OutFileMul, "   //------------------------------------------------------------------------\n");
305
 
306
 
307
switch(bitSymbol){
308
   case (3):
309
      //------------------------------------------------------------------------
310
      // bitSymbol = 3, Primpoly = 11
311
      //------------------------------------------------------------------------
312
      if (PrimPoly == 11) {
313
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[3] ;\n");
314
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[3] ^ M[4] ;\n");
315
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[4] ;\n");
316
      }
317
      //------------------------------------------------------------------------
318
      // bitSymbol = 3, Primpoly = 13
319
      //------------------------------------------------------------------------
320
      if (PrimPoly == 13) {
321
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[3] ^ M[4] ;\n");
322
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[4] ;\n");
323
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[3] ^ M[4] ;\n");
324
      }
325
   break;
326
   case (4):
327
      //------------------------------------------------------------------------
328
      // bitSymbol = 4, Primpoly = 19
329
      //------------------------------------------------------------------------
330
      if (PrimPoly == 19) {
331
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[4] ;\n");
332
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[4] ^ M[5] ;\n");
333
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[5] ^ M[6] ;\n");
334
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[6] ;\n");
335
      }
336
      //------------------------------------------------------------------------
337
      // bitSymbol = 4, Primpoly = 25
338
      //------------------------------------------------------------------------
339
      if (PrimPoly == 25) {
340
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[4] ^ M[5] ^ M[6] ;\n");
341
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[5] ^ M[6] ;\n");
342
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[6] ;\n");
343
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[4] ^ M[5] ^ M[6] ;\n");
344
      }
345
   break;
346
 
347
   case (5):
348
      //------------------------------------------------------------------------
349
      // bitSymbol = 5, Primpoly = 37
350
      //------------------------------------------------------------------------
351
      if (PrimPoly == 37) {
352
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[5] ^ M[8] ;\n");
353
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[6] ;\n");
354
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[5] ^ M[7] ^ M[8] ;\n");
355
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[6] ^ M[8] ;\n");
356
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[7] ;\n");
357
      }
358
      //------------------------------------------------------------------------
359
      // bitSymbol = 5, Primpoly = 41
360
      //------------------------------------------------------------------------
361
      if (PrimPoly == 41) {
362
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[5] ^ M[7] ;\n");
363
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[6] ^ M[8] ;\n");
364
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[7] ;\n");
365
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[5] ^ M[7] ^ M[8] ;\n");
366
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[6] ^ M[8] ;\n");
367
      }
368
      //------------------------------------------------------------------------
369
      // bitSymbol = 5, Primpoly = 47
370
      //------------------------------------------------------------------------
371
      if (PrimPoly == 47) {
372
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[5] ^ M[7] ^ M[8] ;\n");
373
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[5] ^ M[6] ^ M[7] ;\n");
374
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[5] ^ M[6] ;\n");
375
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[5] ^ M[6] ^ M[8] ;\n");
376
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[6] ^ M[7] ;\n");
377
      }
378
      //------------------------------------------------------------------------
379
      // bitSymbol = 5, Primpoly = 55
380
      //------------------------------------------------------------------------
381
      if (PrimPoly == 55) {
382
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[5] ^ M[6] ^ M[7] ;\n");
383
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[5] ^ M[8] ;\n");
384
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[5] ^ M[7] ;\n");
385
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[6] ^ M[8] ;\n");
386
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[5] ^ M[6] ;\n");
387
      }
388
      //------------------------------------------------------------------------
389
      // bitSymbol = 5, Primpoly = 59
390
      //------------------------------------------------------------------------
391
      if (PrimPoly == 59) {
392
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[5] ^ M[6] ^ M[8] ;\n");
393
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[5] ^ M[7] ^ M[8] ;\n");
394
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[6] ^ M[8] ;\n");
395
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[5] ^ M[6] ^ M[7] ^ M[8] ;\n");
396
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[5] ^ M[7] ;\n");
397
      }
398
      //------------------------------------------------------------------------
399
      // bitSymbol = 5, Primpoly = 61
400
      //------------------------------------------------------------------------
401
      if (PrimPoly == 61) {
402
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[5] ^ M[6] ;\n");
403
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[6] ^ M[7] ;\n");
404
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[5] ^ M[6] ^ M[7] ^ M[8] ;\n");
405
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[5] ^ M[7] ^ M[8] ;\n");
406
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[5] ^ M[8] ;\n");
407
      }
408
   break;
409
 
410
   case (6):
411
      //------------------------------------------------------------------------
412
      // bitSymbol = 6, Primpoly = 67
413
      //------------------------------------------------------------------------
414
      if (PrimPoly == 67) {
415
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[6] ;\n");
416
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[6] ^ M[7] ;\n");
417
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[7] ^ M[8] ;\n");
418
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[8] ^ M[9] ;\n");
419
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9] ^ M[10] ;\n");
420
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ;\n");
421
      }
422
      //------------------------------------------------------------------------
423
      // bitSymbol = 6, Primpoly = 91
424
      //------------------------------------------------------------------------
425
      if (PrimPoly == 91) {
426
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[6] ^ M[8] ^ M[9] ^ M[10] ;\n");
427
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[6] ^ M[7] ^ M[8] ;\n");
428
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[7] ^ M[8] ^ M[9] ;\n");
429
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[6] ;\n");
430
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[6] ^ M[7] ^ M[8] ^ M[9] ^ M[10] ;\n");
431
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[7] ^ M[8] ^ M[9] ^ M[10] ;\n");
432
      }
433
      //------------------------------------------------------------------------
434
      // bitSymbol = 6, Primpoly = 97
435
      //------------------------------------------------------------------------
436
      if (PrimPoly == 97) {
437
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[6] ^ M[7] ^ M[8] ^ M[9] ^ M[10] ;\n");
438
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[7] ^ M[8] ^ M[9] ^ M[10] ;\n");
439
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[8] ^ M[9] ^ M[10] ;\n");
440
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9] ^ M[10] ;\n");
441
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ;\n");
442
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[6] ^ M[7] ^ M[8] ^ M[9] ^ M[10] ;\n");
443
      }
444
      //------------------------------------------------------------------------
445
      // bitSymbol = 6, Primpoly = 103
446
      //------------------------------------------------------------------------
447
      if (PrimPoly == 103) {
448
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[6] ^ M[7] ^ M[8] ^ M[9] ;\n");
449
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[6] ^ M[10] ;\n");
450
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[6] ^ M[8] ^ M[9] ;\n");
451
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[7] ^ M[9] ^ M[10] ;\n");
452
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[8] ^ M[10] ;\n");
453
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[6] ^ M[7] ^ M[8] ;\n");
454
      }
455
      //------------------------------------------------------------------------
456
      // bitSymbol = 6, Primpoly = 109
457
      //------------------------------------------------------------------------
458
      if (PrimPoly == 109) {
459
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[6] ^ M[7] ^ M[8] ;\n");
460
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[7] ^ M[8] ^ M[9] ;\n");
461
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[6] ^ M[7] ^ M[9] ^ M[10] ;\n");
462
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[6] ^ M[10] ;\n");
463
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[7] ;\n");
464
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[6] ^ M[7] ;\n");
465
      }
466
      //------------------------------------------------------------------------
467
      // bitSymbol = 6, Primpoly = 115
468
      //------------------------------------------------------------------------
469
      if (PrimPoly == 115) {
470
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[6] ^ M[7] ^ M[9] ^ M[10] ;\n");
471
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[6] ^ M[8] ^ M[9] ;\n");
472
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[7] ^ M[9] ^ M[10] ;\n");
473
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[8] ^ M[10] ;\n");
474
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[6] ^ M[7] ^ M[10] ;\n");
475
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[6] ^ M[8] ^ M[9] ^ M[10] ;\n");
476
      }
477
   break;
478
 
479
 
480
   case (7):
481
      //------------------------------------------------------------------------
482
      // bitSymbol = 7, Primpoly = 131
483
      //------------------------------------------------------------------------
484
      if (PrimPoly == 131) {
485
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ;\n");
486
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[7] ^ M[8] ;\n");
487
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[8] ^ M[9] ;\n");
488
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9] ^ M[10] ;\n");
489
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ;\n");
490
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ;\n");
491
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ;\n");
492
      }
493
      //------------------------------------------------------------------------
494
      // bitSymbol = 7, Primpoly = 137
495
      //------------------------------------------------------------------------
496
      if (PrimPoly == 137) {
497
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ^ M[11] ;\n");
498
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[8] ^ M[12] ;\n");
499
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9] ;\n");
500
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[7] ^ M[10] ^ M[11] ;\n");
501
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[8] ^ M[11] ^ M[12] ;\n");
502
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9] ^ M[12] ;\n");
503
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ;\n");
504
      }
505
      //------------------------------------------------------------------------
506
      // bitSymbol = 7, Primpoly = 143
507
      //------------------------------------------------------------------------
508
      if (PrimPoly == 143) {
509
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ^ M[11] ^ M[12] ;\n");
510
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[7] ^ M[8] ^ M[11] ;\n");
511
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[7] ^ M[8] ^ M[9] ^ M[11] ;\n");
512
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[7] ^ M[8] ^ M[9] ^ M[10] ^ M[11] ;\n");
513
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[8] ^ M[9] ^ M[10] ^ M[11] ^ M[12] ;\n");
514
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9] ^ M[10] ^ M[11] ^ M[12] ;\n");
515
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[12] ;\n");
516
      }
517
      //------------------------------------------------------------------------
518
      // bitSymbol = 7, Primpoly = 145
519
      //------------------------------------------------------------------------
520
      if (PrimPoly == 145) {
521
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ^ M[10] ;\n");
522
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[8] ^ M[11] ;\n");
523
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9] ^ M[12] ;\n");
524
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ;\n");
525
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[7] ^ M[10] ^ M[11] ;\n");
526
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[8] ^ M[11] ^ M[12] ;\n");
527
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9] ^ M[12] ;\n");
528
      }
529
      //------------------------------------------------------------------------
530
      // bitSymbol = 7, Primpoly = 157
531
      //------------------------------------------------------------------------
532
      if (PrimPoly == 157) {
533
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ^ M[10] ^ M[11] ^ M[12] ;\n");
534
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[8] ^ M[11] ^ M[12] ;\n");
535
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[7] ^ M[9] ^ M[10] ^ M[11] ;\n");
536
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[7] ^ M[8] ;\n");
537
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[7] ^ M[8] ^ M[9] ^ M[10] ^ M[11] ^ M[12] ;\n");
538
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[8] ^ M[9] ^ M[10] ^ M[11] ^ M[12] ;\n");
539
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9] ^ M[10] ^ M[11] ^ M[12] ;\n");
540
      }
541
      //------------------------------------------------------------------------
542
      // bitSymbol = 7, Primpoly = 167
543
      //------------------------------------------------------------------------
544
      if (PrimPoly == 167) {
545
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ^ M[9] ^ M[11] ^ M[12] ;\n");
546
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[7] ^ M[8] ^ M[9] ^ M[10] ^ M[11] ;\n");
547
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[7] ^ M[8] ^ M[10] ;\n");
548
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[8] ^ M[9] ^ M[11] ;\n");
549
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9] ^ M[10] ^ M[12] ;\n");
550
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[7] ^ M[9] ^ M[10] ^ M[12] ;\n");
551
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[8] ^ M[10] ^ M[11] ;\n");
552
      }
553
      //------------------------------------------------------------------------
554
      // bitSymbol = 7, Primpoly = 171
555
      //------------------------------------------------------------------------
556
      if (PrimPoly == 171) {
557
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ^ M[9] ;\n");
558
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[7] ^ M[8] ^ M[9] ^ M[10] ;\n");
559
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[8] ^ M[9] ^ M[10] ^ M[11] ;\n");
560
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[7] ^ M[10] ^ M[11] ^ M[12] ;\n");
561
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[8] ^ M[11] ^ M[12] ;\n");
562
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[7] ^ M[12] ;\n");
563
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[8] ;\n");
564
      }
565
      //------------------------------------------------------------------------
566
      // bitSymbol = 7, Primpoly = 185
567
      //------------------------------------------------------------------------
568
      if (PrimPoly == 185) {
569
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ^ M[9] ^ M[10] ;\n");
570
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[8] ^ M[10] ^ M[11] ;\n");
571
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9] ^ M[11] ^ M[12] ;\n");
572
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[7] ^ M[9] ^ M[12] ;\n");
573
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[7] ^ M[8] ^ M[9] ;\n");
574
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[7] ^ M[8] ;\n");
575
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[8] ^ M[9] ;\n");
576
      }
577
      //------------------------------------------------------------------------
578
      // bitSymbol = 7, Primpoly = 191
579
      //------------------------------------------------------------------------
580
      if (PrimPoly == 191) {
581
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ^ M[9] ^ M[10] ^ M[12] ;\n");
582
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[7] ^ M[8] ^ M[9] ^ M[11] ^ M[12] ;\n");
583
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[7] ^ M[8] ;\n");
584
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[7] ^ M[8] ^ M[10] ^ M[12] ;\n");
585
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[7] ^ M[8] ^ M[10] ^ M[11] ^ M[12] ;\n");
586
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[7] ^ M[8] ^ M[10] ^ M[11] ;\n");
587
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[8] ^ M[9] ^ M[11] ^ M[12] ;\n");
588
      }
589
      //------------------------------------------------------------------------
590
      // bitSymbol = 7, Primpoly = 193
591
      //------------------------------------------------------------------------
592
      if (PrimPoly == 193) {
593
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ^ M[8] ^ M[9] ^ M[10] ^ M[11] ^ M[12] ;\n");
594
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[8] ^ M[9] ^ M[10] ^ M[11] ^ M[12] ;\n");
595
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9] ^ M[10] ^ M[11] ^ M[12] ;\n");
596
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[12] ;\n");
597
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ;\n");
598
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ;\n");
599
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[7] ^ M[8] ^ M[9] ^ M[10] ^ M[11] ^ M[12] ;\n");
600
      }
601
      //------------------------------------------------------------------------
602
      // bitSymbol = 7, Primpoly = 203
603
      //------------------------------------------------------------------------
604
      if (PrimPoly == 203) {
605
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ^ M[8] ^ M[9] ^ M[10] ^ M[12] ;\n");
606
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[7] ^ M[11] ^ M[12] ;\n");
607
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[8] ^ M[12] ;\n");
608
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[7] ^ M[8] ^ M[10] ^ M[12] ;\n");
609
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[8] ^ M[9] ^ M[11] ;\n");
610
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9] ^ M[10] ^ M[12] ;\n");
611
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[7] ^ M[8] ^ M[9] ^ M[11] ^ M[12] ;\n");
612
      }
613
      //------------------------------------------------------------------------
614
      // bitSymbol = 7, Primpoly = 211
615
      //------------------------------------------------------------------------
616
      if (PrimPoly == 211) {
617
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ^ M[8] ^ M[9] ^ M[11] ;\n");
618
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[7] ^ M[10] ^ M[11] ^ M[12] ;\n");
619
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[8] ^ M[11] ^ M[12] ;\n");
620
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9] ^ M[12] ;\n");
621
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[7] ^ M[8] ^ M[9] ^ M[10] ^ M[11] ;\n");
622
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[8] ^ M[9] ^ M[10] ^ M[11] ^ M[12] ;\n");
623
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[7] ^ M[8] ^ M[10] ^ M[12] ;\n");
624
      }
625
      //------------------------------------------------------------------------
626
      // bitSymbol = 7, Primpoly = 213
627
      //------------------------------------------------------------------------
628
      if (PrimPoly == 213) {
629
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ^ M[8] ^ M[9] ^ M[11] ^ M[12] ;\n");
630
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[8] ^ M[9] ^ M[10] ^ M[12] ;\n");
631
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[7] ^ M[8] ^ M[10] ^ M[12] ;\n");
632
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[8] ^ M[9] ^ M[11] ;\n");
633
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[7] ^ M[8] ^ M[10] ^ M[11] ;\n");
634
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[8] ^ M[9] ^ M[11] ^ M[12] ;\n");
635
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[7] ^ M[8] ^ M[10] ^ M[11] ;\n");
636
      }
637
      //------------------------------------------------------------------------
638
      // bitSymbol = 7, Primpoly = 229
639
      //------------------------------------------------------------------------
640
      if (PrimPoly == 229) {
641
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ^ M[8] ^ M[10] ^ M[11] ^ M[12] ;\n");
642
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[8] ^ M[9] ^ M[11] ^ M[12] ;\n");
643
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[7] ^ M[8] ^ M[9] ^ M[11] ;\n");
644
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[8] ^ M[9] ^ M[10] ^ M[12] ;\n");
645
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9] ^ M[10] ^ M[11] ;\n");
646
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[7] ^ M[8] ;\n");
647
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[7] ^ M[9] ^ M[10] ^ M[11] ^ M[12] ;\n");
648
      }
649
      //------------------------------------------------------------------------
650
      // bitSymbol = 7, Primpoly = 239
651
      //------------------------------------------------------------------------
652
      if (PrimPoly == 239) {
653
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ^ M[8] ^ M[10] ^ M[12] ;\n");
654
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[7] ^ M[9] ^ M[10] ^ M[11] ^ M[12] ;\n");
655
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[7] ^ M[11] ;\n");
656
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[7] ^ M[10] ;\n");
657
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[8] ^ M[11] ;\n");
658
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[7] ^ M[8] ^ M[9] ^ M[10] ;\n");
659
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[7] ^ M[9] ^ M[11] ^ M[12] ;\n");
660
      }
661
      //------------------------------------------------------------------------
662
      // bitSymbol = 7, Primpoly = 241
663
      //------------------------------------------------------------------------
664
      if (PrimPoly == 241) {
665
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ^ M[8] ^ M[11] ^ M[12] ;\n");
666
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[8] ^ M[9] ^ M[12] ;\n");
667
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9] ^ M[10] ;\n");
668
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ;\n");
669
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[7] ^ M[8] ;\n");
670
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[7] ^ M[9] ^ M[11] ^ M[12] ;\n");
671
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[7] ^ M[10] ^ M[11] ;\n");
672
      }
673
      //------------------------------------------------------------------------
674
      // bitSymbol = 7, Primpoly = 247
675
      //------------------------------------------------------------------------
676
      if (PrimPoly == 247) {
677
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ^ M[8] ^ M[11] ;\n");
678
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[7] ^ M[9] ^ M[11] ^ M[12] ;\n");
679
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[7] ^ M[10] ^ M[11] ^ M[12] ;\n");
680
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[8] ^ M[11] ^ M[12] ;\n");
681
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[7] ^ M[8] ^ M[9] ^ M[11] ^ M[12] ;\n");
682
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[7] ^ M[9] ^ M[10] ^ M[11] ^ M[12] ;\n");
683
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[7] ^ M[10] ^ M[12] ;\n");
684
      }
685
      //------------------------------------------------------------------------
686
      // bitSymbol = 7, Primpoly = 253
687
      //------------------------------------------------------------------------
688
      if (PrimPoly == 253) {
689
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[7] ^ M[8] ;\n");
690
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[8] ^ M[9] ;\n");
691
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[7] ^ M[8] ^ M[9] ^ M[10] ;\n");
692
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[7] ^ M[9] ^ M[10] ^ M[11] ;\n");
693
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[7] ^ M[10] ^ M[11] ^ M[12] ;\n");
694
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[7] ^ M[11] ^ M[12] ;\n");
695
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[7] ^ M[12] ;\n");
696
      }
697
   break;
698
 
699
 
700
   case (8):
701
      if (PrimPoly == 285) {
702
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[8] ^ M[12] ^ M[13] ^ M[14];\n");
703
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[9] ^ M[13] ^ M[14];\n");
704
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[8] ^ M[10] ^ M[12] ^ M[13];\n");
705
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[8] ^ M[9] ^ M[11] ^ M[12];\n");
706
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[8] ^ M[9] ^ M[10] ^ M[14];\n");
707
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[9] ^ M[10] ^ M[11];\n");
708
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[10] ^ M[11] ^ M[12];\n");
709
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[11] ^ M[12] ^ M[13];\n");
710
      }
711
      if (PrimPoly == 299) {
712
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[8] ^ M[11] ^ M[13] ^ M[14];\n");
713
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[8] ^ M[9] ^ M[11] ^ M[12] ^ M[13];\n");
714
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[9] ^ M[10] ^ M[12] ^ M[13] ^ M[14];\n");
715
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[8] ^ M[10];\n");
716
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[9] ^ M[11];\n");
717
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[8] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14];\n");
718
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[14];\n");
719
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[10] ^ M[12] ^ M[13] ^ M[14];\n");
720
      }
721
      if (PrimPoly == 301) {
722
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[8] ^ M[11] ^ M[13];\n");
723
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[9] ^ M[12] ^ M[14];\n");
724
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[8] ^ M[10] ^ M[11];\n");
725
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[8] ^ M[9]  ^ M[12] ^ M[13];\n");
726
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[9] ^ M[10] ^ M[13] ^ M[14];\n");
727
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[8] ^ M[10] ^ M[13] ^ M[14];\n");
728
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[9] ^ M[11] ^ M[14];\n");
729
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[10] ^ M[12];\n");
730
      }
731
      if (PrimPoly == 333) {
732
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[8]  ^ M[10] ^ M[12] ^ M[13];\n");
733
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[9]  ^ M[11] ^ M[13] ^ M[14];\n");
734
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[8]  ^ M[13] ^ M[14];\n");
735
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[8]  ^ M[9]  ^ M[10] ^ M[12] ^ M[13] ^ M[14];\n");
736
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[9]  ^ M[10] ^ M[11] ^ M[13] ^ M[14];\n");
737
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[10] ^ M[11] ^ M[12] ^ M[14];\n");
738
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[8]  ^ M[10] ^ M[11];\n");
739
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[9]  ^ M[11] ^ M[12];\n");
740
      }
741
      if (PrimPoly == 351) {
742
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[8] ^ M[10] ^ M[13];\n");
743
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[8] ^ M[9]  ^ M[10] ^ M[11] ^ M[13] ^ M[14];\n");
744
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[8] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ^ M[14];\n");
745
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[8] ^ M[9]  ^ M[12] ^ M[14];\n");
746
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[8] ^ M[9];\n");
747
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[9] ^ M[10];\n");
748
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[8] ^ M[11] ^ M[13];\n");
749
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[9] ^ M[12] ^ M[14];\n");
750
      }
751
      if (PrimPoly == 355) {
752
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[8]  ^ M[10] ^ M[11] ^ M[12];\n");
753
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[8]  ^ M[9]  ^ M[10] ^ M[13];\n");
754
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[9]  ^ M[10] ^ M[11] ^ M[14];\n");
755
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[10] ^ M[11] ^ M[12];\n");
756
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[11] ^ M[12] ^ M[13];\n");
757
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[8]  ^ M[10] ^ M[11] ^ M[13] ^ M[14];\n");
758
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[8]  ^ M[9]  ^ M[10] ^ M[14];\n");
759
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[9]  ^ M[10] ^ M[11];\n");
760
      }
761
      if (PrimPoly == 357) {
762
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[8]  ^ M[10] ^ M[11] ^ M[12] ^ M[14];\n");
763
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[9]  ^ M[11] ^ M[12] ^ M[13];\n");
764
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[8]  ^ M[11] ^ M[13];\n");
765
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[9]  ^ M[12] ^ M[14];\n");
766
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[10] ^ M[13];\n");
767
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[8]  ^ M[10] ^ M[12];\n");
768
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[8]  ^ M[9]  ^ M[10] ^ M[12] ^ M[13] ^ M[14];\n");
769
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[9]  ^ M[10] ^ M[11] ^ M[13] ^ M[14];\n");
770
      }
771
      if (PrimPoly == 361) {
772
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[8]  ^ M[10] ^ M[11] ^ M[12] ^ M[13];\n");
773
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ^ M[14];\n");
774
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[10] ^ M[12] ^ M[13] ^ M[14];\n");
775
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[8]  ^ M[10] ^ M[12] ^ M[14];\n");
776
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[9]  ^ M[11] ^ M[13];\n");
777
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[8]  ^ M[11] ^ M[13] ^ M[14];\n");
778
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[8]  ^ M[9]  ^ M[10] ^ M[11] ^ M[13] ^ M[14];\n");
779
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[14];\n");
780
      }
781
      if (PrimPoly == 369) {
782
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[8] ^ M[10] ^ M[11];\n");
783
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[9]  ^ M[11] ^ M[12];\n");
784
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[10] ^ M[12] ^ M[13];\n");
785
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[11] ^ M[13] ^ M[14];\n");
786
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[8]  ^ M[10] ^ M[11] ^ M[12] ^ M[14];\n");
787
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[8]  ^ M[9]  ^ M[10] ^ M[12] ^ M[13];\n");
788
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[8]  ^ M[9]  ^ M[13] ^ M[14];\n");
789
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[9]  ^ M[10] ^ M[14];\n");
790
      }
791
      if (PrimPoly == 391) {
792
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[8]  ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13];\n");
793
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[8]  ^ M[14];\n");
794
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[8]  ^ M[10] ^ M[11] ^ M[12] ^ M[13];\n");
795
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ^ M[14];\n");
796
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[10] ^ M[12] ^ M[13] ^ M[14];\n");
797
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[11] ^ M[13] ^ M[14];\n");
798
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[12] ^ M[14];\n");
799
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[8]  ^ M[9]  ^ M[10] ^ M[11] ^ M[12];\n");
800
      }
801
      if (PrimPoly == 397) {
802
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[8]  ^ M[9]  ^ M[10] ^ M[11] ^ M[12];\n");
803
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13];\n");
804
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[8]  ^ M[9]  ^ M[13] ^ M[14];\n");
805
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[8]  ^ M[11] ^ M[12] ^ M[14];\n");
806
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[9]  ^ M[12] ^ M[13];\n");
807
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[10] ^ M[13] ^ M[14];\n");
808
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[11] ^ M[14];\n");
809
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[8]  ^ M[9]  ^ M[10] ^ M[11];\n");
810
      }
811
      if (PrimPoly == 425) {
812
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[8]  ^ M[9]  ^ M[10] ^ M[12] ^ M[13];\n");
813
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[9]  ^ M[10] ^ M[11] ^ M[13] ^ M[14];\n");
814
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[10] ^ M[11] ^ M[12] ^ M[14];\n");
815
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[8]  ^ M[9]  ^ M[10] ^ M[11];\n");
816
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[9]  ^ M[10] ^ M[11] ^ M[12];\n");
817
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[8]  ^ M[9]  ^ M[11];\n");
818
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[9]  ^ M[10] ^ M[12];\n");
819
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[8]  ^ M[9]  ^ M[11] ^ M[12];\n");
820
      }
821
      if (PrimPoly == 451) {
822
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[8]  ^ M[9]  ^ M[11] ^ M[12] ^ M[14];\n");
823
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[8]  ^ M[10] ^ M[11] ^ M[13] ^ M[14];\n");
824
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[9]  ^ M[11] ^ M[12] ^ M[14];\n");
825
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[10] ^ M[12] ^ M[13];\n");
826
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[11] ^ M[13] ^ M[14];\n");
827
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[12] ^ M[14];\n");
828
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[8]  ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ^ M[14];\n");
829
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[8]  ^ M[10] ^ M[11] ^ M[13];\n");
830
      }
831
      if (PrimPoly == 463) {
832
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[8]  ^ M[9]  ^ M[11] ^ M[12] ^ M[13];\n");
833
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[8]  ^ M[10] ^ M[11] ^ M[14];\n");
834
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[8]  ^ M[13];\n");
835
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[8]  ^ M[11] ^ M[12] ^ M[13] ^ M[14];\n");
836
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[9]  ^ M[12] ^ M[13] ^ M[14];\n");
837
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[10] ^ M[13] ^ M[14];\n");
838
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[8]  ^ M[9]  ^ M[12] ^ M[13] ^ M[14];\n");
839
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[8]  ^ M[10] ^ M[11] ^ M[12] ^ M[14];\n");
840
      }
841
      if (PrimPoly == 487) {
842
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[8]  ^ M[9]  ^ M[12] ^ M[13] ^ M[14];\n");
843
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[8]  ^ M[10] ^ M[12];\n");
844
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[8]  ^ M[11] ^ M[12] ^ M[14];\n");
845
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[9]  ^ M[12] ^ M[13];\n");
846
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[10] ^ M[13] ^ M[14];\n");
847
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[8]  ^ M[9]  ^ M[11] ^ M[12] ^ M[13];\n");
848
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[8]  ^ M[10];\n");
849
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[8]  ^ M[11] ^ M[12] ^ M[13] ^ M[14];\n");
850
      }
851
      if (PrimPoly == 501) {
852
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[8]  ^ M[9]  ^ M[13];\n");
853
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[9]  ^ M[10] ^ M[14];\n");
854
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[8]  ^ M[9]  ^ M[10] ^ M[11] ^ M[13];\n");
855
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[14];\n");
856
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[8]  ^ M[9]  ^ M[10] ^ M[11] ^ M[12];\n");
857
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[8]  ^ M[10] ^ M[11] ^ M[12];\n");
858
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[8]  ^ M[11] ^ M[12];\n");
859
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[8]  ^ M[12];\n");
860
      }
861
   break;
862
 
863
 
864
   case (9):
865
      //------------------------------------------------------------------------
866
      // bitSymbol = 9, Primpoly = 529
867
      //------------------------------------------------------------------------
868
      if (PrimPoly == 529) {
869
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[9]  ^ M[14];\n");
870
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[10] ^ M[15];\n");
871
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[11] ^ M[16];\n");
872
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[12];\n");
873
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[9]  ^ M[13] ^ M[14];\n");
874
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[10] ^ M[14] ^ M[15];\n");
875
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[11] ^ M[15] ^ M[16];\n");
876
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[12] ^ M[16];\n");
877
         fprintf(OutFileMul, "   assign P[8] = M[8] ^ M[13];\n");
878
      }
879
      //------------------------------------------------------------------------
880
      // bitSymbol = 9, Primpoly = 539
881
      //------------------------------------------------------------------------
882
      if (PrimPoly == 539) {
883
         fprintf(OutFileMul, "   assign P[0] = M[0] ^ M[9]  ^ M[14] ^ M[15];\n");
884
         fprintf(OutFileMul, "   assign P[1] = M[1] ^ M[9]  ^ M[10] ^ M[14] ^ M[16];\n");
885
         fprintf(OutFileMul, "   assign P[2] = M[2] ^ M[10] ^ M[11] ^ M[15];\n");
886
         fprintf(OutFileMul, "   assign P[3] = M[3] ^ M[9]  ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16];\n");
887
         fprintf(OutFileMul, "   assign P[4] = M[4] ^ M[9]  ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16];\n");
888
         fprintf(OutFileMul, "   assign P[5] = M[5] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15];\n");
889
         fprintf(OutFileMul, "   assign P[6] = M[6] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16];\n");
890
         fprintf(OutFileMul, "   assign P[7] = M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[16];\n");
891
         fprintf(OutFileMul, "   assign P[8] = M[8] ^ M[13] ^ M[14] ^ M[16];\n");
892
      }
893
      //------------------------------------------------------------------------
894
      // bitSymbol = 9, Primpoly = 545
895
      //------------------------------------------------------------------------
896
      if (PrimPoly == 545) {
897
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[13] ;\n");
898
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[14] ;\n");
899
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[15] ;\n");
900
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[16] ;\n");
901
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ;\n");
902
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[13]  ^ M[14] ;\n");
903
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[14] ^ M[15] ;\n");
904
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[15] ^ M[16] ;\n");
905
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[16] ;\n");
906
      }
907
      //------------------------------------------------------------------------
908
      // bitSymbol = 9, Primpoly = 557
909
      //------------------------------------------------------------------------
910
      if (PrimPoly == 557) {
911
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[13] ^ M[15] ^ M[16] ;\n");
912
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[14] ^ M[16] ;\n");
913
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[11] ^ M[13] ^ M[16] ;\n");
914
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
915
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
916
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ^ M[14] ;\n");
917
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
918
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
919
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ;\n");
920
      }
921
      //------------------------------------------------------------------------
922
      // bitSymbol = 9, Primpoly = 563
923
      //------------------------------------------------------------------------
924
      if (PrimPoly == 563) {
925
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[13] ^ M[14] ;\n");
926
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[10] ^ M[13] ^ M[15] ;\n");
927
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[14] ^ M[16] ;\n");
928
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[15] ;\n");
929
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[12] ^ M[14] ^ M[16] ;\n");
930
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[10] ^ M[14] ^ M[15] ;\n");
931
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[15] ^ M[16] ;\n");
932
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[16] ;\n");
933
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ;\n");
934
      }
935
      //------------------------------------------------------------------------
936
      // bitSymbol = 9, Primpoly = 601
937
      //------------------------------------------------------------------------
938
      if (PrimPoly == 601) {
939
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[12] ^ M[14] ;\n");
940
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[13] ^ M[15] ;\n");
941
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[14] ^ M[16] ;\n");
942
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[14] ^ M[15] ;\n");
943
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ;\n");
944
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ;\n");
945
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[11] ^ M[16] ;\n");
946
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[12] ;\n");
947
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ;\n");
948
      }
949
 
950
      //------------------------------------------------------------------------
951
      // bitSymbol = 9, Primpoly = 607
952
      //------------------------------------------------------------------------
953
      if (PrimPoly == 607) {
954
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[12] ^ M[14] ^ M[16] ;\n");
955
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
956
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ;\n");
957
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[10] ^ M[11] ^ M[13] ;\n");
958
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[10] ^ M[11] ^ M[16] ;\n");
959
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[11] ^ M[12] ;\n");
960
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[11] ^ M[13] ^ M[14] ^ M[16] ;\n");
961
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[12] ^ M[14] ^ M[15] ;\n");
962
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ;\n");
963
      }
964
      //------------------------------------------------------------------------
965
      // bitSymbol = 9, Primpoly = 617
966
      //------------------------------------------------------------------------
967
      if (PrimPoly == 617) {
968
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[12] ^ M[13] ;\n");
969
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[13] ^ M[14] ;\n");
970
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[14] ^ M[15] ;\n");
971
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[13] ^ M[15] ^ M[16] ;\n");
972
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[14] ^ M[16] ;\n");
973
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ^ M[15] ;\n");
974
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[10] ^ M[14] ^ M[16] ;\n");
975
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[15] ;\n");
976
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[16] ;\n");
977
      }
978
      //------------------------------------------------------------------------
979
      // bitSymbol = 9, Primpoly = 623
980
      //------------------------------------------------------------------------
981
      if (PrimPoly == 623) {
982
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[12] ^ M[13] ^ M[16] ;\n");
983
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[10] ^ M[12] ^ M[14] ^ M[16] ;\n");
984
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ;\n");
985
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[10] ^ M[11] ;\n");
986
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[12] ;\n");
987
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[11] ^ M[16] ;\n");
988
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[10] ^ M[13] ^ M[16] ;\n");
989
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[14] ;\n");
990
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[15] ;\n");
991
      }
992
      //------------------------------------------------------------------------
993
      // bitSymbol = 9, Primpoly = 631
994
      //------------------------------------------------------------------------
995
      if (PrimPoly == 631) {
996
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
997
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[10] ^ M[12] ;\n");
998
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ;\n");
999
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
1000
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[11] ^ M[15] ;\n");
1001
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[10] ^ M[13] ^ M[14] ^ M[15] ;\n");
1002
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13] ;\n");
1003
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ;\n");
1004
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
1005
      }
1006
      //------------------------------------------------------------------------
1007
      // bitSymbol = 9, Primpoly = 637
1008
      //------------------------------------------------------------------------
1009
      if (PrimPoly == 637) {
1010
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1011
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[13] ^ M[14] ^ M[15] ;\n");
1012
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ^ M[15] ;\n");
1013
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[10] ;\n");
1014
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1015
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[10] ^ M[11] ^ M[15] ^ M[16] ;\n");
1016
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[10] ^ M[11] ^ M[13] ^ M[14] ;\n");
1017
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ;\n");
1018
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
1019
      }
1020
      //------------------------------------------------------------------------
1021
      // bitSymbol = 9, Primpoly = 647
1022
      //------------------------------------------------------------------------
1023
      if (PrimPoly == 647) {
1024
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[11] ^ M[13] ^ M[15] ^ M[16] ;\n");
1025
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
1026
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[10] ^ M[12] ^ M[14] ;\n");
1027
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[13] ^ M[15] ;\n");
1028
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ;\n");
1029
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ;\n");
1030
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[16] ;\n");
1031
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[11] ^ M[13] ^ M[14] ^ M[16] ;\n");
1032
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[12] ^ M[14] ^ M[15] ;\n");
1033
      }
1034
      //------------------------------------------------------------------------
1035
      // bitSymbol = 9, Primpoly = 661
1036
      //------------------------------------------------------------------------
1037
      if (PrimPoly == 661) {
1038
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1039
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ;\n");
1040
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[14] ;\n");
1041
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[15] ;\n");
1042
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[13] ^ M[14] ^ M[15] ;\n");
1043
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[14] ^ M[15] ^ M[16] ;\n");
1044
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[15] ^ M[16] ;\n");
1045
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
1046
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1047
      }
1048
      //------------------------------------------------------------------------
1049
      // bitSymbol = 9, Primpoly = 675
1050
      //------------------------------------------------------------------------
1051
      if (PrimPoly == 675) {
1052
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[11] ^ M[15] ;\n");
1053
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ;\n");
1054
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ;\n");
1055
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ;\n");
1056
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
1057
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[11] ^ M[13] ^ M[14] ^ M[16] ;\n");
1058
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[12] ^ M[14] ^ M[15] ;\n");
1059
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[13] ^ M[16] ;\n");
1060
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[14] ;\n");
1061
      }
1062
      //------------------------------------------------------------------------
1063
      // bitSymbol = 9, Primpoly = 677
1064
      //------------------------------------------------------------------------
1065
      if (PrimPoly == 677) {
1066
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[11] ^ M[15] ^ M[16] ;\n");
1067
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[12] ^ M[16] ;\n");
1068
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[13] ^ M[15] ^ M[16] ;\n");
1069
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[14] ^ M[16] ;\n");
1070
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[15] ;\n");
1071
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[11] ^ M[12] ^ M[15] ;\n");
1072
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[12] ^ M[13] ^ M[16] ;\n");
1073
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1074
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[14] ^ M[15] ^ M[16] ;\n");
1075
      }
1076
      //------------------------------------------------------------------------
1077
      // bitSymbol = 9, Primpoly = 687
1078
      //------------------------------------------------------------------------
1079
      if (PrimPoly == 687) {
1080
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[11] ^ M[16] ;\n");
1081
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[16] ;\n");
1082
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[10] ^ M[12] ^ M[13] ^ M[16] ;\n");
1083
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[10] ^ M[13] ^ M[14] ^ M[16] ;\n");
1084
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[14] ^ M[15] ;\n");
1085
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[12] ^ M[15] ;\n");
1086
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[13] ^ M[16] ;\n");
1087
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[14] ^ M[16] ;\n");
1088
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[15] ;\n");
1089
      }
1090
      //------------------------------------------------------------------------
1091
      // bitSymbol = 9, Primpoly = 695
1092
      //------------------------------------------------------------------------
1093
      if (PrimPoly == 695) {
1094
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[11] ^ M[14] ^ M[15] ^ M[16] ;\n");
1095
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[14] ;\n");
1096
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1097
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ;\n");
1098
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[12] ;\n");
1099
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1100
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ;\n");
1101
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[12] ^ M[13] ^ M[14] ;\n");
1102
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[13] ^ M[14] ^ M[15] ;\n");
1103
      }
1104
      //------------------------------------------------------------------------
1105
      // bitSymbol = 9, Primpoly = 701
1106
      //------------------------------------------------------------------------
1107
      if (PrimPoly == 701) {
1108
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[11] ^ M[14] ^ M[16] ;\n");
1109
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[12] ^ M[15] ;\n");
1110
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[13] ^ M[14] ;\n");
1111
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[10] ^ M[11] ^ M[15] ^ M[16] ;\n");
1112
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[10] ^ M[12] ^ M[14] ;\n");
1113
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1114
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ;\n");
1115
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[12] ^ M[14] ^ M[15] ;\n");
1116
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[13] ^ M[15] ^ M[16] ;\n");
1117
      }
1118
      //------------------------------------------------------------------------
1119
      // bitSymbol = 9, Primpoly = 719
1120
      //------------------------------------------------------------------------
1121
      if (PrimPoly == 719) {
1122
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ^ M[15] ;\n");
1123
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[10] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ;\n");
1124
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[10] ^ M[13] ^ M[16] ;\n");
1125
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
1126
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1127
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ;\n");
1128
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[11] ^ M[16] ;\n");
1129
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[10] ^ M[11] ^ M[13] ^ M[15] ;\n");
1130
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ;\n");
1131
      }
1132
      //------------------------------------------------------------------------
1133
      // bitSymbol = 9, Primpoly = 721
1134
      //------------------------------------------------------------------------
1135
      if (PrimPoly == 721) {
1136
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1137
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
1138
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1139
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ;\n");
1140
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[11] ^ M[12] ^ M[14] ^ M[15] ;\n");
1141
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
1142
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[12] ;\n");
1143
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ;\n");
1144
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ;\n");
1145
      }
1146
      //------------------------------------------------------------------------
1147
      // bitSymbol = 9, Primpoly = 731
1148
      //------------------------------------------------------------------------
1149
      if (PrimPoly == 731) {
1150
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1151
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[10] ^ M[11] ;\n");
1152
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[12] ;\n");
1153
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[14] ^ M[15] ^ M[16] ;\n");
1154
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ;\n");
1155
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
1156
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9] ;\n");
1157
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1158
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1159
      }
1160
      //------------------------------------------------------------------------
1161
      // bitSymbol = 9, Primpoly = 757
1162
      //------------------------------------------------------------------------
1163
      if (PrimPoly == 757) {
1164
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[11] ^ M[12] ^ M[14] ;\n");
1165
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[12] ^ M[13] ^ M[15] ;\n");
1166
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[12] ^ M[13] ^ M[16] ;\n");
1167
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[13] ^ M[14] ;\n");
1168
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[12] ^ M[15] ;\n");
1169
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1170
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[10] ^ M[13] ^ M[15] ;\n");
1171
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[10] ^ M[12] ^ M[16] ;\n");
1172
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[13] ;\n");
1173
      }
1174
      //------------------------------------------------------------------------
1175
      // bitSymbol = 9, Primpoly = 761
1176
      //------------------------------------------------------------------------
1177
      if (PrimPoly == 761) {
1178
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ;\n");
1179
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
1180
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ;\n");
1181
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[11] ^ M[16] ;\n");
1182
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[10] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ;\n");
1183
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[10] ^ M[14] ;\n");
1184
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[10] ^ M[12] ^ M[14] ^ M[16] ;\n");
1185
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1186
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ;\n");
1187
      }
1188
 
1189
      //------------------------------------------------------------------------
1190
      // bitSymbol = 9, Primpoly = 787
1191
      //------------------------------------------------------------------------
1192
      if (PrimPoly == 787) {
1193
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ;\n");
1194
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[14] ^ M[15] ^ M[16] ;\n");
1195
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[15] ^ M[16] ;\n");
1196
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[16] ;\n");
1197
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[10] ^ M[11] ^ M[13] ^ M[15] ;\n");
1198
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ;\n");
1199
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ;\n");
1200
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1201
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[14] ;\n");
1202
      }
1203
 
1204
 
1205
      //------------------------------------------------------------------------
1206
      // bitSymbol = 9, Primpoly = 789
1207
      //------------------------------------------------------------------------
1208
      if (PrimPoly == 789) {
1209
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
1210
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1211
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[10] ^ M[14] ^ M[16] ;\n");
1212
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[15] ;\n");
1213
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[10] ^ M[13] ^ M[15] ;\n");
1214
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[11] ^ M[14] ^ M[16] ;\n");
1215
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[15] ;\n");
1216
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[16] ;\n");
1217
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ;\n");
1218
      }
1219
 
1220
 
1221
      //------------------------------------------------------------------------
1222
      // bitSymbol = 9, Primpoly = 799
1223
      //------------------------------------------------------------------------
1224
      if (PrimPoly == 799) {
1225
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ;\n");
1226
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[14] ^ M[16] ;\n");
1227
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
1228
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[11] ^ M[14] ;\n");
1229
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[11] ^ M[13] ^ M[15] ^ M[16] ;\n");
1230
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[12] ^ M[14] ^ M[16] ;\n");
1231
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[15] ;\n");
1232
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[16] ;\n");
1233
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ;\n");
1234
      }
1235
 
1236
 
1237
      //------------------------------------------------------------------------
1238
      // bitSymbol = 9, Primpoly = 803
1239
      //------------------------------------------------------------------------
1240
      if (PrimPoly == 803) {
1241
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ;\n");
1242
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1243
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[14] ^ M[15] ^ M[16] ;\n");
1244
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[15] ^ M[16] ;\n");
1245
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[16] ;\n");
1246
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1247
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
1248
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1249
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[10] ^ M[11] ^ M[13] ^ M[15] ;\n");
1250
      }
1251
 
1252
      //------------------------------------------------------------------------
1253
      // bitSymbol = 9, Primpoly = 817
1254
      //------------------------------------------------------------------------
1255
      if (PrimPoly == 817) {
1256
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ;\n");
1257
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ;\n");
1258
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ;\n");
1259
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
1260
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1261
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1262
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[14] ^ M[15] ^ M[16] ;\n");
1263
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[15] ^ M[16] ;\n");
1264
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[10] ^ M[11] ^ M[16] ;\n");
1265
      }
1266
 
1267
      //------------------------------------------------------------------------
1268
      // bitSymbol = 9, Primpoly = 827
1269
      //------------------------------------------------------------------------
1270
      if (PrimPoly == 827) {
1271
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[15] ;\n");
1272
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[13] ^ M[15] ^ M[16] ;\n");
1273
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[14] ^ M[16] ;\n");
1274
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[10] ^ M[12] ;\n");
1275
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[12] ^ M[13] ^ M[15] ;\n");
1276
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1277
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1278
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1279
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[10] ^ M[11] ^ M[14] ^ M[16] ;\n");
1280
      }
1281
 
1282
      //------------------------------------------------------------------------
1283
      // bitSymbol = 9, Primpoly = 847
1284
      //------------------------------------------------------------------------
1285
      if (PrimPoly == 847) {
1286
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[11] ^ M[13] ^ M[15] ;\n");
1287
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1288
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[11] ^ M[14] ^ M[16] ;\n");
1289
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ;\n");
1290
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ;\n");
1291
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ;\n");
1292
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1293
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
1294
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[10] ^ M[12] ^ M[14] ^ M[16] ;\n");
1295
      }
1296
 
1297
      //------------------------------------------------------------------------
1298
      // bitSymbol = 9, Primpoly = 859
1299
      //------------------------------------------------------------------------
1300
      if (PrimPoly == 859) {
1301
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ;\n");
1302
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[12] ^ M[13] ^ M[16] ;\n");
1303
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[13] ^ M[14] ;\n");
1304
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[10] ^ M[13] ;\n");
1305
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[13] ^ M[15] ;\n");
1306
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[14] ^ M[16] ;\n");
1307
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[10] ^ M[13] ^ M[14] ;\n");
1308
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[14] ^ M[15] ;\n");
1309
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1310
      }
1311
 
1312
      //------------------------------------------------------------------------
1313
      // bitSymbol = 9, Primpoly = 865
1314
      //------------------------------------------------------------------------
1315
      if (PrimPoly == 865) {
1316
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[11] ^ M[15] ^ M[16] ;\n");
1317
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[12] ^ M[16] ;\n");
1318
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ;\n");
1319
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ;\n");
1320
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[15] ;\n");
1321
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[10] ^ M[11] ^ M[14] ;\n");
1322
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[12] ^ M[16] ;\n");
1323
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[13] ;\n");
1324
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[10] ^ M[14] ^ M[15] ^ M[16] ;\n");
1325
      }
1326
 
1327
      //------------------------------------------------------------------------
1328
      // bitSymbol = 9, Primpoly = 875
1329
      //------------------------------------------------------------------------
1330
      if (PrimPoly == 875) {
1331
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[11] ^ M[16] ;\n");
1332
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[12] ^ M[16] ;\n");
1333
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[13] ;\n");
1334
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[10] ^ M[14] ^ M[16] ;\n");
1335
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[15] ;\n");
1336
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[10] ^ M[12] ;\n");
1337
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[13] ^ M[16] ;\n");
1338
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[14] ;\n");
1339
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[10] ^ M[15] ^ M[16] ;\n");
1340
      }
1341
 
1342
      //------------------------------------------------------------------------
1343
      // bitSymbol = 9, Primpoly = 877
1344
      //------------------------------------------------------------------------
1345
      if (PrimPoly == 877) {
1346
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[11] ;\n");
1347
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[12] ;\n");
1348
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[10] ^ M[12] ^ M[13] ;\n");
1349
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[13] ^ M[14] ;\n");
1350
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[14] ^ M[15] ;\n");
1351
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[10] ^ M[15] ^ M[16] ;\n");
1352
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[16] ;\n");
1353
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ;\n");
1354
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[10] ;\n");
1355
      }
1356
 
1357
      //------------------------------------------------------------------------
1358
      // bitSymbol = 9, Primpoly = 883
1359
      //------------------------------------------------------------------------
1360
      if (PrimPoly == 883) {
1361
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[11] ^ M[14] ^ M[15] ;\n");
1362
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[12] ^ M[14] ^ M[16] ;\n");
1363
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[13] ^ M[15] ;\n");
1364
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[14] ^ M[16] ;\n");
1365
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[14] ;\n");
1366
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[12] ^ M[13] ^ M[14] ;\n");
1367
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[11] ^ M[13] ;\n");
1368
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[12] ^ M[14] ;\n");
1369
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[10] ^ M[13] ^ M[14] ;\n");
1370
      }
1371
 
1372
      //------------------------------------------------------------------------
1373
      // bitSymbol = 9, Primpoly = 895
1374
      //------------------------------------------------------------------------
1375
      if (PrimPoly == 895) {
1376
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[11] ^ M[14] ^ M[16] ;\n");
1377
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[12] ^ M[14] ^ M[15] ^ M[16] ;\n");
1378
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[11] ^ M[13] ^ M[14] ^ M[15] ;\n");
1379
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[11] ^ M[12] ^ M[15] ;\n");
1380
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ^ M[14] ;\n");
1381
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
1382
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ;\n");
1383
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ;\n");
1384
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[10] ^ M[13] ^ M[15] ^ M[16] ;\n");
1385
      }
1386
 
1387
      //------------------------------------------------------------------------
1388
      // bitSymbol = 9, Primpoly = 901
1389
      //------------------------------------------------------------------------
1390
      if (PrimPoly == 901) {
1391
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[12] ^ M[13] ^ M[15] ;\n");
1392
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ;\n");
1393
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[10] ^ M[11] ^ M[13] ^ M[14] ;\n");
1394
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ;\n");
1395
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
1396
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1397
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[15] ;\n");
1398
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1399
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[11] ^ M[12] ^ M[14] ;\n");
1400
      }
1401
 
1402
      //------------------------------------------------------------------------
1403
      // bitSymbol = 9, Primpoly = 911
1404
      //------------------------------------------------------------------------
1405
      if (PrimPoly == 911) {
1406
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[12] ^ M[13] ;\n");
1407
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[11] ^ M[12] ^ M[14] ;\n");
1408
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[15] ;\n");
1409
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[12] ^ M[13] ^ M[16] ;\n");
1410
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[13] ^ M[14] ;\n");
1411
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[14] ^ M[15] ;\n");
1412
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[15] ^ M[16] ;\n");
1413
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[10] ^ M[12] ^ M[16] ;\n");
1414
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[11] ^ M[12] ;\n");
1415
      }
1416
 
1417
      //------------------------------------------------------------------------
1418
      // bitSymbol = 9, Primpoly = 949
1419
      //------------------------------------------------------------------------
1420
      if (PrimPoly == 949) {
1421
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[12] ^ M[14] ^ M[16] ;\n");
1422
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[13] ^ M[15] ;\n");
1423
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[10] ^ M[11] ;\n");
1424
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[12] ;\n");
1425
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ;\n");
1426
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[11] ^ M[15] ^ M[16] ;\n");
1427
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[12] ^ M[16] ;\n");
1428
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1429
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[11] ^ M[13] ^ M[15] ^ M[16] ;\n");
1430
      }
1431
 
1432
 
1433
      //------------------------------------------------------------------------
1434
      // bitSymbol = 9, Primpoly = 953
1435
      //------------------------------------------------------------------------
1436
      if (PrimPoly == 953) {
1437
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[12] ^ M[14] ^ M[15] ;\n");
1438
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ;\n");
1439
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ;\n");
1440
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[10] ^ M[13] ^ M[14] ;\n");
1441
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[11] ^ M[12] ;\n");
1442
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[13] ^ M[14] ^ M[15] ;\n");
1443
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[14] ^ M[15] ^ M[16] ;\n");
1444
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ;\n");
1445
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[11] ^ M[13] ^ M[14] ;\n");
1446
      }
1447
 
1448
 
1449
      //------------------------------------------------------------------------
1450
      // bitSymbol = 9, Primpoly = 967
1451
      //------------------------------------------------------------------------
1452
      if (PrimPoly == 967) {
1453
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[13] ^ M[14] ^ M[16] ;\n");
1454
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[11] ^ M[13] ^ M[15] ^ M[16] ;\n");
1455
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[12] ^ M[13] ;\n");
1456
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[13] ^ M[14] ;\n");
1457
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[14] ^ M[15] ;\n");
1458
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[15] ^ M[16] ;\n");
1459
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[10] ^ M[14] ;\n");
1460
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1461
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[12] ^ M[13] ^ M[15] ;\n");
1462
      }
1463
 
1464
 
1465
      //------------------------------------------------------------------------
1466
      // bitSymbol = 9, Primpoly = 971
1467
      //------------------------------------------------------------------------
1468
      if (PrimPoly == 971) {
1469
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[13] ^ M[14] ^ M[15] ;\n");
1470
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[11] ^ M[13] ^ M[16] ;\n");
1471
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[12] ^ M[14] ;\n");
1472
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[10] ^ M[11] ^ M[14] ;\n");
1473
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[12] ^ M[15] ;\n");
1474
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ;\n");
1475
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[10] ^ M[12] ^ M[15] ;\n");
1476
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[11] ^ M[14] ^ M[15] ^ M[16] ;\n");
1477
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1478
      }
1479
 
1480
 
1481
      //------------------------------------------------------------------------
1482
      // bitSymbol = 9, Primpoly = 973
1483
      //------------------------------------------------------------------------
1484
      if (PrimPoly == 973) {
1485
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1486
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ;\n");
1487
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ;\n");
1488
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[11] ^ M[12] ^ M[16] ;\n");
1489
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[12] ^ M[13] ;\n");
1490
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[14] ;\n");
1491
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[10] ^ M[12] ^ M[13] ^ M[16] ;\n");
1492
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[11] ^ M[15] ^ M[16] ;\n");
1493
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
1494
      }
1495
 
1496
 
1497
      //------------------------------------------------------------------------
1498
      // bitSymbol = 9, Primpoly = 981
1499
      //------------------------------------------------------------------------
1500
      if (PrimPoly == 981) {
1501
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[13] ;\n");
1502
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[14] ;\n");
1503
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ;\n");
1504
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1505
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ;\n");
1506
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
1507
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ;\n");
1508
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[11] ^ M[12] ^ M[15] ;\n");
1509
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[12] ^ M[16] ;\n");
1510
      }
1511
 
1512
 
1513
      //------------------------------------------------------------------------
1514
      // bitSymbol = 9, Primpoly = 985
1515
      //------------------------------------------------------------------------
1516
      if (PrimPoly == 985) {
1517
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[13] ^ M[15] ^ M[16] ;\n");
1518
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[14] ^ M[16] ;\n");
1519
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[15] ;\n");
1520
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[10] ^ M[12] ^ M[15] ;\n");
1521
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[11] ^ M[15] ;\n");
1522
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[12] ^ M[16] ;\n");
1523
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[10] ^ M[11] ^ M[15] ^ M[16] ;\n");
1524
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ^ M[15] ;\n");
1525
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[12] ^ M[14] ^ M[15] ;\n");
1526
      }
1527
 
1528
      //------------------------------------------------------------------------
1529
      // bitSymbol = 9, Primpoly = 995
1530
      //------------------------------------------------------------------------
1531
      if (PrimPoly == 995) {
1532
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[14] ^ M[15] ;\n");
1533
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[11] ^ M[14] ^ M[16] ;\n");
1534
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[12] ^ M[15] ;\n");
1535
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[16] ;\n");
1536
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ;\n");
1537
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[10] ^ M[13] ^ M[14] ;\n");
1538
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[11] ;\n");
1539
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[12] ^ M[14] ^ M[15] ;\n");
1540
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[13] ^ M[14] ^ M[16] ;\n");
1541
      }
1542
 
1543
      //------------------------------------------------------------------------
1544
      // bitSymbol = 9, Primpoly = 1001
1545
      //------------------------------------------------------------------------
1546
      if (PrimPoly == 1001) {
1547
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[14] ;\n");
1548
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[15] ;\n");
1549
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[16] ;\n");
1550
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[10] ^ M[12] ^ M[13] ^ M[14] ;\n");
1551
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ;\n");
1552
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ;\n");
1553
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1554
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[12] ^ M[13] ^ M[15] ;\n");
1555
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[13] ^ M[16] ;\n");
1556
      }
1557
 
1558
      //------------------------------------------------------------------------
1559
      // bitSymbol = 9, Primpoly = 1019
1560
      //------------------------------------------------------------------------
1561
      if (PrimPoly == 1019) {
1562
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[9]  ^ M[10] ^ M[16] ;\n");
1563
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[9]  ^ M[11] ^ M[16] ;\n");
1564
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[12] ;\n");
1565
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[9]  ^ M[10] ^ M[11] ^ M[13] ^ M[16] ;\n");
1566
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[9]  ^ M[11] ^ M[12] ^ M[14] ^ M[16] ;\n");
1567
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[9]  ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
1568
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[9]  ^ M[13] ^ M[14] ;\n");
1569
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[9]  ^ M[14] ^ M[15] ^ M[16] ;\n");
1570
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[9]  ^ M[15] ;\n");
1571
      }
1572
   break;
1573
 
1574
 
1575
  //------------------------------------------------------------------------
1576
   // bitSymbol = 10
1577
   //------------------------------------------------------------------------
1578
   case (10):
1579
      //------------------------------------------------------------------------
1580
      // bitSymbol = 10, Primpoly = 1033
1581
      //------------------------------------------------------------------------
1582
      if (PrimPoly == 1033) {
1583
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[17] ;\n");
1584
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[18] ;\n");
1585
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ;\n");
1586
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[13] ^ M[17] ;\n");
1587
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[14] ^ M[18] ;\n");
1588
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[15] ;\n");
1589
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[16] ;\n");
1590
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[17] ;\n");
1591
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[15] ^ M[18] ;\n");
1592
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[16] ;\n");
1593
      }
1594
      //------------------------------------------------------------------------
1595
      // bitSymbol = 10, Primpoly = 1051
1596
      //------------------------------------------------------------------------
1597
      if (PrimPoly == 1051) {
1598
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[16] ^ M[17] ;\n");
1599
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[16] ^ M[18] ;\n");
1600
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[17] ;\n");
1601
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ;\n");
1602
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ;\n");
1603
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ;\n");
1604
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
1605
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ;\n");
1606
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
1607
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[15] ^ M[16] ^ M[18] ;\n");
1608
      }
1609
 
1610
 
1611
      //------------------------------------------------------------------------
1612
      // bitSymbol = 10, Primpoly = 1063
1613
      //------------------------------------------------------------------------
1614
      if (PrimPoly == 1063) {
1615
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[15] ^ M[18] ;\n");
1616
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[15] ^ M[16] ^ M[18] ;\n");
1617
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
1618
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ;\n");
1619
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
1620
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[13] ^ M[14] ;\n");
1621
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[14] ^ M[15] ;\n");
1622
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[15] ^ M[16] ;\n");
1623
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[16] ^ M[17] ;\n");
1624
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[17] ^ M[18] ;\n");
1625
      }
1626
      //------------------------------------------------------------------------
1627
      // bitSymbol = 10, Primpoly = 1069
1628
      //------------------------------------------------------------------------
1629
      if (PrimPoly == 1069) {
1630
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[15] ^ M[17] ^ M[18] ;\n");
1631
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[16] ^ M[18] ;\n");
1632
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[12] ^ M[15] ^ M[18] ;\n");
1633
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
1634
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
1635
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[12] ^ M[13] ;\n");
1636
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[14] ;\n");
1637
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ;\n");
1638
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[15] ^ M[16] ;\n");
1639
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[16] ^ M[17] ;\n");
1640
      }
1641
      //------------------------------------------------------------------------
1642
      // bitSymbol = 10, Primpoly = 1125
1643
      //------------------------------------------------------------------------
1644
      if (PrimPoly == 1125) {
1645
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[14] ^ M[15] ;\n");
1646
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[15] ^ M[16] ;\n");
1647
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
1648
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
1649
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
1650
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
1651
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[18] ;\n");
1652
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ;\n");
1653
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ;\n");
1654
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ;\n");
1655
      }
1656
      //------------------------------------------------------------------------
1657
      // bitSymbol = 10, Primpoly = 1135
1658
      //------------------------------------------------------------------------
1659
      if (PrimPoly == 1135) {
1660
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[14] ^ M[15] ^ M[17] ;\n");
1661
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
1662
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[18] ;\n");
1663
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ;\n");
1664
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
1665
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ;\n");
1666
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[13] ^ M[15] ^ M[18] ;\n");
1667
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ;\n");
1668
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ;\n");
1669
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ;\n");
1670
      }
1671
      //------------------------------------------------------------------------
1672
      // bitSymbol = 10, Primpoly = 1153
1673
      //------------------------------------------------------------------------
1674
      if (PrimPoly == 1153) {
1675
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[13] ^ M[16] ;\n");
1676
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[14] ^ M[17] ;\n");
1677
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[15] ^ M[18] ;\n");
1678
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[16] ;\n");
1679
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[17] ;\n");
1680
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[18] ;\n");
1681
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[16] ;\n");
1682
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[13] ^ M[16] ^ M[17] ;\n");
1683
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[14] ^ M[17] ^ M[18] ;\n");
1684
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[15] ^ M[18] ;\n");
1685
      }
1686
      //------------------------------------------------------------------------
1687
      // bitSymbol = 10, Primpoly = 1163
1688
      //------------------------------------------------------------------------
1689
      if (PrimPoly == 1163) {
1690
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[13] ^ M[16] ^ M[17] ;\n");
1691
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ;\n");
1692
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ;\n");
1693
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ;\n");
1694
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[16] ^ M[18] ;\n");
1695
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[17] ;\n");
1696
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[18] ;\n");
1697
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[13] ^ M[14] ^ M[17] ;\n");
1698
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[14] ^ M[15] ^ M[18] ;\n");
1699
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[15] ^ M[16] ;\n");
1700
      }
1701
      //------------------------------------------------------------------------
1702
      // bitSymbol = 10, Primpoly = 1221
1703
      //------------------------------------------------------------------------
1704
      if (PrimPoly == 1221) {
1705
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[13] ^ M[14] ^ M[16] ;\n");
1706
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ;\n");
1707
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
1708
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1709
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
1710
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
1711
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[13] ^ M[17] ^ M[18] ;\n");
1712
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[13] ^ M[16] ^ M[18] ;\n");
1713
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ;\n");
1714
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ;\n");
1715
      }
1716
      //------------------------------------------------------------------------
1717
      // bitSymbol = 10, Primpoly = 1239
1718
      //------------------------------------------------------------------------
1719
      if (PrimPoly == 1239) {
1720
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[13] ^ M[14] ;\n");
1721
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[13] ^ M[15] ;\n");
1722
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ;\n");
1723
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ;\n");
1724
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[12] ^ M[15] ^ M[18] ;\n");
1725
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[16] ;\n");
1726
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[12] ^ M[13] ^ M[17] ;\n");
1727
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[18] ;\n");
1728
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ;\n");
1729
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ;\n");
1730
      }
1731
      //------------------------------------------------------------------------
1732
      // bitSymbol = 10, Primpoly = 1255
1733
      //------------------------------------------------------------------------
1734
      if (PrimPoly == 1255) {
1735
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1736
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[13] ^ M[17] ;\n");
1737
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
1738
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ;\n");
1739
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
1740
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[18] ;\n");
1741
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1742
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ;\n");
1743
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ;\n");
1744
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
1745
      }
1746
      //------------------------------------------------------------------------
1747
      // bitSymbol = 10, Primpoly = 1267
1748
      //------------------------------------------------------------------------
1749
      if (PrimPoly == 1267) {
1750
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
1751
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[13] ^ M[16] ^ M[18] ;\n");
1752
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ;\n");
1753
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ;\n");
1754
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[15] ^ M[16] ^ M[18] ;\n");
1755
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
1756
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ;\n");
1757
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ;\n");
1758
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ;\n");
1759
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ;\n");
1760
      }
1761
      //------------------------------------------------------------------------
1762
      // bitSymbol = 10, Primpoly = 1279
1763
      //------------------------------------------------------------------------
1764
      if (PrimPoly == 1279) {
1765
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
1766
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ;\n");
1767
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ;\n");
1768
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ;\n");
1769
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
1770
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ;\n");
1771
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ;\n");
1772
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ;\n");
1773
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ;\n");
1774
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1775
      }
1776
      //------------------------------------------------------------------------
1777
      // bitSymbol = 10, Primpoly = 1293
1778
      //------------------------------------------------------------------------
1779
      if (PrimPoly == 1293) {
1780
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ;\n");
1781
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
1782
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[17] ^ M[18] ;\n");
1783
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
1784
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
1785
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ;\n");
1786
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
1787
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
1788
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[12] ^ M[14] ^ M[15] ;\n");
1789
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ;\n");
1790
      }
1791
      //------------------------------------------------------------------------
1792
      // bitSymbol = 10, Primpoly = 1305
1793
      //------------------------------------------------------------------------
1794
      if (PrimPoly == 1305) {
1795
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ;\n");
1796
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[15] ^ M[18] ;\n");
1797
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[16] ;\n");
1798
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
1799
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
1800
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
1801
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
1802
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
1803
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ;\n");
1804
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ;\n");
1805
      }
1806
      //------------------------------------------------------------------------
1807
      // bitSymbol = 10, Primpoly = 1315
1808
      //------------------------------------------------------------------------
1809
      if (PrimPoly == 1315) {
1810
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
1811
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
1812
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
1813
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1814
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
1815
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[12] ^ M[17] ;\n");
1816
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[18] ;\n");
1817
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ;\n");
1818
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ;\n");
1819
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
1820
      }
1821
      //------------------------------------------------------------------------
1822
      // bitSymbol = 10, Primpoly = 1329
1823
      //------------------------------------------------------------------------
1824
      if (PrimPoly == 1329) {
1825
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ;\n");
1826
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ;\n");
1827
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ;\n");
1828
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
1829
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[12] ^ M[15] ^ M[16] ;\n");
1830
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
1831
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
1832
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
1833
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ;\n");
1834
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
1835
      }
1836
      //------------------------------------------------------------------------
1837
      // bitSymbol = 10, Primpoly = 1341
1838
      //------------------------------------------------------------------------
1839
      if (PrimPoly == 1341) {
1840
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ;\n");
1841
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
1842
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[15] ^ M[16] ;\n");
1843
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ;\n");
1844
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ;\n");
1845
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[11] ;\n");
1846
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ;\n");
1847
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ;\n");
1848
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ;\n");
1849
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ;\n");
1850
      }
1851
      //------------------------------------------------------------------------
1852
      // bitSymbol = 10, Primpoly = 1347
1853
      //------------------------------------------------------------------------
1854
      if (PrimPoly == 1347) {
1855
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[12] ^ M[16] ^ M[18] ;\n");
1856
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ;\n");
1857
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
1858
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
1859
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1860
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
1861
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[12] ^ M[15] ^ M[17] ;\n");
1862
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[16] ^ M[18] ;\n");
1863
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
1864
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[15] ^ M[17] ^ M[18] ;\n");
1865
      }
1866
      //------------------------------------------------------------------------
1867
      // bitSymbol = 10, Primpoly = 1367
1868
      //------------------------------------------------------------------------
1869
      if (PrimPoly == 1367) {
1870
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[12] ;\n");
1871
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ;\n");
1872
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ;\n");
1873
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ;\n");
1874
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[13] ^ M[15] ^ M[16] ;\n");
1875
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ;\n");
1876
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[15] ^ M[17] ^ M[18] ;\n");
1877
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[16] ^ M[18] ;\n");
1878
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[17] ;\n");
1879
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[18] ;\n");
1880
      }
1881
      //------------------------------------------------------------------------
1882
      // bitSymbol = 10, Primpoly = 1387
1883
      //------------------------------------------------------------------------
1884
      if (PrimPoly == 1387) {
1885
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
1886
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ;\n");
1887
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1888
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ;\n");
1889
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ;\n");
1890
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[17] ;\n");
1891
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ;\n");
1892
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ;\n");
1893
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
1894
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
1895
      }
1896
      //------------------------------------------------------------------------
1897
      // bitSymbol = 10, Primpoly = 1413
1898
      //------------------------------------------------------------------------
1899
      if (PrimPoly == 1413) {
1900
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
1901
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
1902
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
1903
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
1904
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ;\n");
1905
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[16] ^ M[18] ;\n");
1906
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[17] ;\n");
1907
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
1908
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ;\n");
1909
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ;\n");
1910
      }
1911
      //------------------------------------------------------------------------
1912
      // bitSymbol = 10, Primpoly = 1423
1913
      //------------------------------------------------------------------------
1914
      if (PrimPoly == 1423) {
1915
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ;\n");
1916
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[18] ;\n");
1917
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[14] ^ M[16] ^ M[18] ;\n");
1918
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
1919
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
1920
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ;\n");
1921
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
1922
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ;\n");
1923
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[12] ^ M[16] ;\n");
1924
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ;\n");
1925
      }
1926
      //------------------------------------------------------------------------
1927
      // bitSymbol = 10, Primpoly = 1431
1928
      //------------------------------------------------------------------------
1929
      if (PrimPoly == 1431) {
1930
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
1931
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ;\n");
1932
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[14] ^ M[18] ;\n");
1933
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[15] ;\n");
1934
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[14] ^ M[17] ^ M[18] ;\n");
1935
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[15] ^ M[18] ;\n");
1936
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[16] ;\n");
1937
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ;\n");
1938
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
1939
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ;\n");
1940
      }
1941
      //------------------------------------------------------------------------
1942
      // bitSymbol = 10, Primpoly = 1441
1943
      //------------------------------------------------------------------------
1944
      if (PrimPoly == 1441) {
1945
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
1946
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
1947
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
1948
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
1949
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
1950
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ;\n");
1951
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ;\n");
1952
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[13] ^ M[16] ^ M[17] ;\n");
1953
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ;\n");
1954
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
1955
      }
1956
      //------------------------------------------------------------------------
1957
      // bitSymbol = 10, Primpoly = 1479
1958
      //------------------------------------------------------------------------
1959
      if (PrimPoly == 1479) {
1960
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ;\n");
1961
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ;\n");
1962
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[15] ^ M[17] ;\n");
1963
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[16] ^ M[18] ;\n");
1964
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[17] ;\n");
1965
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[18] ;\n");
1966
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
1967
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
1968
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[15] ^ M[16] ;\n");
1969
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ;\n");
1970
      }
1971
      //------------------------------------------------------------------------
1972
      // bitSymbol = 10, Primpoly = 1509
1973
      //------------------------------------------------------------------------
1974
      if (PrimPoly == 1509) {
1975
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
1976
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ;\n");
1977
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[13] ^ M[14] ^ M[18] ;\n");
1978
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[14] ^ M[15] ;\n");
1979
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[16] ;\n");
1980
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ;\n");
1981
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ;\n");
1982
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[15] ^ M[16] ^ M[18] ;\n");
1983
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
1984
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ;\n");
1985
      }
1986
      //------------------------------------------------------------------------
1987
      // bitSymbol = 10, Primpoly = 1527
1988
      //------------------------------------------------------------------------
1989
      if (PrimPoly == 1527) {
1990
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
1991
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ;\n");
1992
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[17] ^ M[18] ;\n");
1993
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[18] ;\n");
1994
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
1995
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ;\n");
1996
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
1997
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[13] ^ M[17] ;\n");
1998
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
1999
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2000
      }
2001
      //------------------------------------------------------------------------
2002
      // bitSymbol = 10, Primpoly = 1531
2003
      //------------------------------------------------------------------------
2004
      if (PrimPoly == 1531) {
2005
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
2006
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ;\n");
2007
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
2008
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[14] ^ M[15] ^ M[17] ;\n");
2009
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[18] ;\n");
2010
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ;\n");
2011
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[13] ^ M[17] ;\n");
2012
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
2013
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ;\n");
2014
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ;\n");
2015
      }
2016
      //------------------------------------------------------------------------
2017
      // bitSymbol = 10, Primpoly = 1555
2018
      //------------------------------------------------------------------------
2019
      if (PrimPoly == 1555) {
2020
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
2021
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[16] ^ M[17] ^ M[18] ;\n");
2022
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[17] ^ M[18] ;\n");
2023
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[18] ;\n");
2024
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ;\n");
2025
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
2026
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ;\n");
2027
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
2028
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
2029
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
2030
      }
2031
      //------------------------------------------------------------------------
2032
      // bitSymbol = 10, Primpoly = 1557
2033
      //------------------------------------------------------------------------
2034
      if (PrimPoly == 1557) {
2035
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
2036
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
2037
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[16] ^ M[18] ;\n");
2038
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[17] ;\n");
2039
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ;\n");
2040
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ;\n");
2041
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ;\n");
2042
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
2043
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[18] ;\n");
2044
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
2045
      }
2046
      //------------------------------------------------------------------------
2047
      // bitSymbol = 10, Primpoly = 1573
2048
      //------------------------------------------------------------------------
2049
      if (PrimPoly == 1573) {
2050
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
2051
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
2052
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[15] ^ M[18] ;\n");
2053
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[16] ;\n");
2054
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[17] ;\n");
2055
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[11] ^ M[12] ^ M[16] ^ M[18] ;\n");
2056
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ;\n");
2057
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ;\n");
2058
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[15] ;\n");
2059
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ;\n");
2060
      }
2061
      //------------------------------------------------------------------------
2062
      // bitSymbol = 10, Primpoly = 1591
2063
      //------------------------------------------------------------------------
2064
      if (PrimPoly == 1591) {
2065
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ;\n");
2066
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[15] ^ M[18] ;\n");
2067
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ;\n");
2068
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
2069
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ;\n");
2070
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ;\n");
2071
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[14] ^ M[17] ^ M[18] ;\n");
2072
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[15] ^ M[18] ;\n");
2073
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[16] ;\n");
2074
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ;\n");
2075
      }
2076
      //------------------------------------------------------------------------
2077
      // bitSymbol = 10, Primpoly = 1603
2078
      //------------------------------------------------------------------------
2079
      if (PrimPoly == 1603) {
2080
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
2081
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
2082
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2083
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ;\n");
2084
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[17] ^ M[18] ;\n");
2085
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[18] ;\n");
2086
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ;\n");
2087
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ;\n");
2088
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
2089
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
2090
      }
2091
      //------------------------------------------------------------------------
2092
      // bitSymbol = 10, Primpoly = 1615
2093
      //------------------------------------------------------------------------
2094
      if (PrimPoly == 1615) {
2095
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ;\n");
2096
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[14] ^ M[15] ^ M[16] ;\n");
2097
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ;\n");
2098
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
2099
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
2100
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ;\n");
2101
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[12] ^ M[17] ^ M[18] ;\n");
2102
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[18] ;\n");
2103
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ;\n");
2104
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ;\n");
2105
      }
2106
      //------------------------------------------------------------------------
2107
      // bitSymbol = 10, Primpoly = 1627
2108
      //------------------------------------------------------------------------
2109
      if (PrimPoly == 1627) {
2110
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
2111
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[14] ^ M[15] ^ M[17] ;\n");
2112
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[15] ^ M[16] ^ M[18] ;\n");
2113
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ;\n");
2114
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
2115
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ;\n");
2116
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[13] ^ M[17] ;\n");
2117
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[14] ^ M[18] ;\n");
2118
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ;\n");
2119
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ;\n");
2120
      }
2121
      //------------------------------------------------------------------------
2122
      // bitSymbol = 10, Primpoly = 1657
2123
      //------------------------------------------------------------------------
2124
      if (PrimPoly == 1657) {
2125
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ;\n");
2126
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
2127
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
2128
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ;\n");
2129
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[15] ^ M[17] ^ M[18] ;\n");
2130
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ;\n");
2131
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
2132
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
2133
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ;\n");
2134
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ;\n");
2135
      }
2136
      //------------------------------------------------------------------------
2137
      // bitSymbol = 10, Primpoly = 1663
2138
      //------------------------------------------------------------------------
2139
      if (PrimPoly == 1663) {
2140
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ;\n");
2141
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[14] ^ M[16] ;\n");
2142
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
2143
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[12] ^ M[14] ^ M[18] ;\n");
2144
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2145
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[12] ;\n");
2146
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ;\n");
2147
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[17] ^ M[18] ;\n");
2148
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[18] ;\n");
2149
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2150
      }
2151
      //------------------------------------------------------------------------
2152
      // bitSymbol = 10, Primpoly = 1673
2153
      //------------------------------------------------------------------------
2154
      if (PrimPoly == 1673) {
2155
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[18] ;\n");
2156
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ;\n");
2157
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
2158
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
2159
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ;\n");
2160
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
2161
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
2162
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2163
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ;\n");
2164
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[11] ^ M[13] ^ M[17] ;\n");
2165
      }
2166
      //------------------------------------------------------------------------
2167
      // bitSymbol = 10, Primpoly = 1717
2168
      //------------------------------------------------------------------------
2169
      if (PrimPoly == 1717) {
2170
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
2171
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ;\n");
2172
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ;\n");
2173
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ;\n");
2174
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
2175
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[16] ^ M[17] ;\n");
2176
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[17] ^ M[18] ;\n");
2177
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ;\n");
2178
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ;\n");
2179
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
2180
      }
2181
      //------------------------------------------------------------------------
2182
      // bitSymbol = 10, Primpoly = 1729
2183
      //------------------------------------------------------------------------
2184
      if (PrimPoly == 1729) {
2185
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ;\n");
2186
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ;\n");
2187
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ;\n");
2188
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[15] ;\n");
2189
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[15] ^ M[16] ;\n");
2190
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[16] ^ M[17] ;\n");
2191
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[12] ;\n");
2192
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ;\n");
2193
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[14] ^ M[17] ^ M[18] ;\n");
2194
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ;\n");
2195
      }
2196
      //------------------------------------------------------------------------
2197
      // bitSymbol = 10, Primpoly = 1747
2198
      //------------------------------------------------------------------------
2199
      if (PrimPoly == 1747) {
2200
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[12] ^ M[17] ;\n");
2201
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[13] ^ M[17] ^ M[18] ;\n");
2202
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[14] ^ M[18] ;\n");
2203
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[15] ;\n");
2204
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ;\n");
2205
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
2206
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
2207
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2208
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2209
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[11] ^ M[16] ^ M[18] ;\n");
2210
      }
2211
      //------------------------------------------------------------------------
2212
      // bitSymbol = 10, Primpoly = 1759
2213
      //------------------------------------------------------------------------
2214
      if (PrimPoly == 1759) {
2215
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[12] ^ M[18] ;\n");
2216
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[13] ^ M[18] ;\n");
2217
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[12] ^ M[14] ^ M[18] ;\n");
2218
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ;\n");
2219
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ;\n");
2220
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
2221
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ;\n");
2222
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2223
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[16] ^ M[17] ^ M[18] ;\n");
2224
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[11] ^ M[17] ;\n");
2225
      }
2226
      //------------------------------------------------------------------------
2227
      // bitSymbol = 10, Primpoly = 1789
2228
      //------------------------------------------------------------------------
2229
      if (PrimPoly == 1789) {
2230
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ;\n");
2231
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ;\n");
2232
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
2233
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
2234
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[12] ;\n");
2235
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
2236
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
2237
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
2238
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
2239
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ;\n");
2240
      }
2241
      //------------------------------------------------------------------------
2242
      // bitSymbol = 10, Primpoly = 1815
2243
      //------------------------------------------------------------------------
2244
      if (PrimPoly == 1815) {
2245
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ;\n");
2246
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
2247
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[16] ^ M[17] ^ M[18] ;\n");
2248
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[17] ^ M[18] ;\n");
2249
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
2250
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
2251
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
2252
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
2253
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
2254
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[12] ^ M[13] ^ M[16] ;\n");
2255
      }
2256
      //------------------------------------------------------------------------
2257
      // bitSymbol = 10, Primpoly = 1821
2258
      //------------------------------------------------------------------------
2259
      if (PrimPoly == 1821) {
2260
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ;\n");
2261
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ;\n");
2262
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ;\n");
2263
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
2264
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2265
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2266
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ;\n");
2267
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[17] ^ M[18] ;\n");
2268
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[13] ^ M[18] ;\n");
2269
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[12] ^ M[13] ;\n");
2270
      }
2271
      //------------------------------------------------------------------------
2272
      // bitSymbol = 10, Primpoly = 1825
2273
      //------------------------------------------------------------------------
2274
      if (PrimPoly == 1825) {
2275
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
2276
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
2277
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2278
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
2279
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
2280
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[18] ;\n");
2281
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ;\n");
2282
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
2283
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[15] ^ M[17] ;\n");
2284
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
2285
      }
2286
      //------------------------------------------------------------------------
2287
      // bitSymbol = 10, Primpoly = 1849
2288
      //------------------------------------------------------------------------
2289
      if (PrimPoly == 1849) {
2290
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
2291
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
2292
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ;\n");
2293
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[15] ^ M[16] ;\n");
2294
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
2295
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[16] ^ M[18] ;\n");
2296
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[17] ;\n");
2297
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[18] ;\n");
2298
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
2299
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ;\n");
2300
      }
2301
      //------------------------------------------------------------------------
2302
      // bitSymbol = 10, Primpoly = 1863
2303
      //------------------------------------------------------------------------
2304
      if (PrimPoly == 1863) {
2305
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[13] ^ M[17] ;\n");
2306
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
2307
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
2308
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[15] ^ M[16] ^ M[18] ;\n");
2309
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[16] ^ M[17] ;\n");
2310
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[17] ^ M[18] ;\n");
2311
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
2312
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ;\n");
2313
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ;\n");
2314
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[12] ^ M[16] ^ M[18] ;\n");
2315
      }
2316
      //------------------------------------------------------------------------
2317
      // bitSymbol = 10, Primpoly = 1869
2318
      //------------------------------------------------------------------------
2319
      if (PrimPoly == 1869) {
2320
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[13] ;\n");
2321
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[14] ;\n");
2322
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[12] ^ M[15] ;\n");
2323
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[12] ^ M[16] ;\n");
2324
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[17] ;\n");
2325
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[18] ;\n");
2326
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[15] ;\n");
2327
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[16] ;\n");
2328
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[12] ^ M[17] ;\n");
2329
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[12] ^ M[18] ;\n");
2330
      }
2331
      //------------------------------------------------------------------------
2332
      // bitSymbol = 10, Primpoly = 1877
2333
      //------------------------------------------------------------------------
2334
      if (PrimPoly == 1877) {
2335
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ;\n");
2336
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ;\n");
2337
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ;\n");
2338
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ;\n");
2339
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ;\n");
2340
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ;\n");
2341
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ;\n");
2342
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ;\n");
2343
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ;\n");
2344
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ;\n");
2345
      }
2346
      //------------------------------------------------------------------------
2347
      // bitSymbol = 10, Primpoly = 1881
2348
      //------------------------------------------------------------------------
2349
      if (PrimPoly == 1881) {
2350
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[13] ^ M[16] ;\n");
2351
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ;\n");
2352
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ;\n");
2353
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[14] ;\n");
2354
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
2355
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ;\n");
2356
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2357
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2358
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
2359
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[12] ^ M[15] ^ M[18] ;\n");
2360
      }
2361
      //------------------------------------------------------------------------
2362
      // bitSymbol = 10, Primpoly = 1891
2363
      //------------------------------------------------------------------------
2364
      if (PrimPoly == 1891) {
2365
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[13] ^ M[15] ^ M[18] ;\n");
2366
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
2367
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
2368
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2369
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2370
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
2371
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ;\n");
2372
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
2373
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
2374
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ;\n");
2375
      }
2376
      //------------------------------------------------------------------------
2377
      // bitSymbol = 10, Primpoly = 1917
2378
      //------------------------------------------------------------------------
2379
      if (PrimPoly == 1917) {
2380
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2381
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
2382
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[12] ^ M[16] ;\n");
2383
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ;\n");
2384
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[15] ^ M[18] ;\n");
2385
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
2386
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
2387
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
2388
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[18] ;\n");
2389
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2390
      }
2391
      //------------------------------------------------------------------------
2392
      // bitSymbol = 10, Primpoly = 1933
2393
      //------------------------------------------------------------------------
2394
      if (PrimPoly == 1933) {
2395
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ;\n");
2396
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ;\n");
2397
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
2398
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[12] ^ M[13] ^ M[16] ;\n");
2399
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ;\n");
2400
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ;\n");
2401
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[16] ;\n");
2402
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[15] ^ M[16] ;\n");
2403
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ;\n");
2404
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[13] ^ M[14] ^ M[16] ;\n");
2405
      }
2406
      //------------------------------------------------------------------------
2407
      // bitSymbol = 10, Primpoly = 1939
2408
      //------------------------------------------------------------------------
2409
      if (PrimPoly == 1939) {
2410
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ;\n");
2411
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[12] ^ M[14] ^ M[17] ;\n");
2412
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[15] ^ M[18] ;\n");
2413
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[16] ;\n");
2414
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ;\n");
2415
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
2416
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
2417
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ;\n");
2418
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[12] ^ M[15] ^ M[18] ;\n");
2419
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[13] ^ M[14] ^ M[15] ;\n");
2420
      }
2421
      //------------------------------------------------------------------------
2422
      // bitSymbol = 10, Primpoly = 1969
2423
      //------------------------------------------------------------------------
2424
      if (PrimPoly == 1969) {
2425
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ;\n");
2426
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ;\n");
2427
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ;\n");
2428
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[17] ;\n");
2429
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2430
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[12] ^ M[14] ^ M[18] ;\n");
2431
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[15] ;\n");
2432
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[11] ^ M[12] ^ M[17] ;\n");
2433
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
2434
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
2435
      }
2436
      //------------------------------------------------------------------------
2437
      // bitSymbol = 10, Primpoly = 2011
2438
      //------------------------------------------------------------------------
2439
      if (PrimPoly == 2011) {
2440
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[15] ^ M[17] ^ M[18] ;\n");
2441
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ;\n");
2442
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ;\n");
2443
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ;\n");
2444
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ;\n");
2445
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
2446
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ;\n");
2447
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[12] ^ M[13] ^ M[17] ;\n");
2448
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
2449
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[14] ^ M[16] ^ M[17] ;\n");
2450
      }
2451
      //------------------------------------------------------------------------
2452
      // bitSymbol = 10, Primpoly = 2035
2453
      //------------------------------------------------------------------------
2454
      if (PrimPoly == 2035) {
2455
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[17] ^ M[18] ;\n");
2456
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[10] ^ M[12] ^ M[17] ;\n");
2457
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[18] ;\n");
2458
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ;\n");
2459
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
2460
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ;\n");
2461
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[13] ^ M[15] ;\n");
2462
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
2463
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[15] ;\n");
2464
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[16] ^ M[17] ^ M[18] ;\n");
2465
      }
2466
      //------------------------------------------------------------------------
2467
      // bitSymbol = 10, Primpoly = 2041
2468
      //------------------------------------------------------------------------
2469
      if (PrimPoly == 2041) {
2470
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[10] ^ M[11] ^ M[18] ;\n");
2471
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ;\n");
2472
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ;\n");
2473
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[18] ;\n");
2474
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ;\n");
2475
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[10] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
2476
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[10] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
2477
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[10] ^ M[15] ^ M[17] ;\n");
2478
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[10] ^ M[16] ;\n");
2479
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[10] ^ M[17] ^ M[18] ;\n");
2480
      }
2481
   break;
2482
 
2483
 
2484
   case(11):
2485
      //------------------------------------------------------------------------
2486
      // bitSymbol = 11, Primpoly = 2053
2487
      //------------------------------------------------------------------------
2488
      if (PrimPoly == 2053) {
2489
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[20] ;\n");
2490
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ;\n");
2491
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[20] ;\n");
2492
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ;\n");
2493
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ;\n");
2494
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[16] ;\n");
2495
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[15] ^ M[17] ;\n");
2496
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[16] ^ M[18] ;\n");
2497
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[17] ^ M[19] ;\n");
2498
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[18] ^ M[20] ;\n");
2499
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[19] ;\n");
2500
      }
2501
      //------------------------------------------------------------------------
2502
      // bitSymbol = 11, Primpoly = 2071
2503
      //------------------------------------------------------------------------
2504
      if (PrimPoly == 2071) {
2505
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[18] ^ M[20] ;\n");
2506
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[18] ^ M[19] ^ M[20] ;\n");
2507
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ;\n");
2508
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[19] ^ M[20] ;\n");
2509
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
2510
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ;\n");
2511
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
2512
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
2513
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
2514
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
2515
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[17] ^ M[19] ^ M[20] ;\n");
2516
      }
2517
      //------------------------------------------------------------------------
2518
      // bitSymbol = 11, Primpoly = 2091
2519
      //------------------------------------------------------------------------
2520
      if (PrimPoly == 2091) {
2521
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[17] ^ M[19] ;\n");
2522
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2523
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ;\n");
2524
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[20] ;\n");
2525
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ;\n");
2526
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ;\n");
2527
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
2528
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
2529
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
2530
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
2531
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[16] ^ M[18] ^ M[20] ;\n");
2532
      }
2533
      //------------------------------------------------------------------------
2534
      // bitSymbol = 11, Primpoly = 2093
2535
      //------------------------------------------------------------------------
2536
      if (PrimPoly == 2093) {
2537
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[17] ^ M[19] ^ M[20] ;\n");
2538
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[18] ^ M[20] ;\n");
2539
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[17] ^ M[20] ;\n");
2540
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2541
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
2542
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ;\n");
2543
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
2544
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
2545
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
2546
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
2547
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[16] ^ M[18] ^ M[19] ;\n");
2548
      }
2549
      //------------------------------------------------------------------------
2550
      // bitSymbol = 11, Primpoly = 2119
2551
      //------------------------------------------------------------------------
2552
      if (PrimPoly == 2119) {
2553
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[16] ^ M[20] ;\n");
2554
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[20] ;\n");
2555
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
2556
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ;\n");
2557
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
2558
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
2559
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[15] ^ M[17] ;\n");
2560
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[16] ^ M[18] ;\n");
2561
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[17] ^ M[19] ;\n");
2562
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[18] ^ M[20] ;\n");
2563
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[15] ^ M[19] ;\n");
2564
      }
2565
      //------------------------------------------------------------------------
2566
      // bitSymbol = 11, Primpoly = 2147
2567
      //------------------------------------------------------------------------
2568
      if (PrimPoly == 2147) {
2569
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[16] ^ M[17] ;\n");
2570
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[16] ^ M[18] ;\n");
2571
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[17] ^ M[19] ;\n");
2572
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[18] ^ M[20] ;\n");
2573
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[15] ^ M[19] ;\n");
2574
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[15] ^ M[17] ^ M[20] ;\n");
2575
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[17] ^ M[18] ;\n");
2576
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ;\n");
2577
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[19] ^ M[20] ;\n");
2578
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[15] ^ M[20] ;\n");
2579
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[15] ^ M[16] ;\n");
2580
      }
2581
      //------------------------------------------------------------------------
2582
      // bitSymbol = 11, Primpoly = 2149
2583
      //------------------------------------------------------------------------
2584
      if (PrimPoly == 2149) {
2585
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[16] ^ M[17] ^ M[20] ;\n");
2586
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[17] ^ M[18] ;\n");
2587
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2588
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2589
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
2590
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[14] ^ M[17] ^ M[19] ;\n");
2591
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2592
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
2593
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2594
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
2595
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
2596
      }
2597
      //------------------------------------------------------------------------
2598
      // bitSymbol = 11, Primpoly = 2161
2599
      //------------------------------------------------------------------------
2600
      if (PrimPoly == 2161) {
2601
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[16] ^ M[17] ^ M[18] ;\n");
2602
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ;\n");
2603
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ;\n");
2604
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[19] ^ M[20] ;\n");
2605
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
2606
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[19] ;\n");
2607
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
2608
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ;\n");
2609
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
2610
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
2611
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
2612
      }
2613
      //------------------------------------------------------------------------
2614
      // bitSymbol = 11, Primpoly = 2171
2615
      //------------------------------------------------------------------------
2616
      if (PrimPoly == 2171) {
2617
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
2618
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[16] ^ M[20] ;\n");
2619
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[17] ;\n");
2620
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ;\n");
2621
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
2622
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
2623
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ;\n");
2624
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ;\n");
2625
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
2626
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
2627
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2628
      }
2629
      //------------------------------------------------------------------------
2630
      // bitSymbol = 11, Primpoly = 2189
2631
      //------------------------------------------------------------------------
2632
      if (PrimPoly == 2189) {
2633
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[15] ^ M[20] ;\n");
2634
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[16] ;\n");
2635
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ;\n");
2636
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
2637
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
2638
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
2639
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
2640
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[16] ^ M[18] ^ M[19] ;\n");
2641
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[17] ^ M[19] ^ M[20] ;\n");
2642
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[18] ^ M[20] ;\n");
2643
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[19] ;\n");
2644
      }
2645
      //------------------------------------------------------------------------
2646
      // bitSymbol = 11, Primpoly = 2197
2647
      //------------------------------------------------------------------------
2648
      if (PrimPoly == 2197) {
2649
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
2650
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[16] ^ M[19] ^ M[20] ;\n");
2651
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
2652
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
2653
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[17] ^ M[18] ;\n");
2654
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ;\n");
2655
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ;\n");
2656
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
2657
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
2658
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
2659
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ;\n");
2660
      }
2661
      //------------------------------------------------------------------------
2662
      // bitSymbol = 11, Primpoly = 2207
2663
      //------------------------------------------------------------------------
2664
      if (PrimPoly == 2207) {
2665
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[15] ^ M[18] ^ M[20] ;\n");
2666
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
2667
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
2668
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
2669
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ;\n");
2670
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
2671
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
2672
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
2673
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2674
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
2675
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ;\n");
2676
      }
2677
      //------------------------------------------------------------------------
2678
      // bitSymbol = 11, Primpoly = 2217
2679
      //------------------------------------------------------------------------
2680
      if (PrimPoly == 2217) {
2681
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[15] ^ M[17] ;\n");
2682
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[16] ^ M[18] ;\n");
2683
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[17] ^ M[19] ;\n");
2684
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
2685
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
2686
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
2687
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ;\n");
2688
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[18] ;\n");
2689
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[19] ;\n");
2690
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[15] ^ M[20] ;\n");
2691
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[16] ;\n");
2692
      }
2693
      //------------------------------------------------------------------------
2694
      // bitSymbol = 11, Primpoly = 2225
2695
      //------------------------------------------------------------------------
2696
      if (PrimPoly == 2225) {
2697
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
2698
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
2699
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ;\n");
2700
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[18] ^ M[20] ;\n");
2701
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[17] ^ M[18] ;\n");
2702
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ;\n");
2703
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ;\n");
2704
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
2705
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ;\n");
2706
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
2707
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
2708
      }
2709
      //------------------------------------------------------------------------
2710
      // bitSymbol = 11, Primpoly = 2255
2711
      //------------------------------------------------------------------------
2712
      if (PrimPoly == 2255) {
2713
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[15] ^ M[16] ^ M[20] ;\n");
2714
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[20] ;\n");
2715
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[20] ;\n");
2716
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ;\n");
2717
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ;\n");
2718
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
2719
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ;\n");
2720
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
2721
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ;\n");
2722
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[18] ^ M[20] ;\n");
2723
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[15] ^ M[19] ;\n");
2724
      }
2725
      //------------------------------------------------------------------------
2726
      // bitSymbol = 11, Primpoly = 2257
2727
      //------------------------------------------------------------------------
2728
      if (PrimPoly == 2257) {
2729
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
2730
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
2731
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ;\n");
2732
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[18] ^ M[19] ;\n");
2733
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[16] ^ M[18] ^ M[20] ;\n");
2734
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[17] ^ M[19] ;\n");
2735
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
2736
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2737
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
2738
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
2739
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
2740
      }
2741
      //------------------------------------------------------------------------
2742
      // bitSymbol = 11, Primpoly = 2273
2743
      //------------------------------------------------------------------------
2744
      if (PrimPoly == 2273) {
2745
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
2746
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
2747
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ;\n");
2748
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
2749
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[15] ^ M[19] ^ M[20] ;\n");
2750
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
2751
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2752
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
2753
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ;\n");
2754
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
2755
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
2756
      }
2757
      //------------------------------------------------------------------------
2758
      // bitSymbol = 11, Primpoly = 2279
2759
      //------------------------------------------------------------------------
2760
      if (PrimPoly == 2279) {
2761
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
2762
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[15] ^ M[18] ^ M[19] ;\n");
2763
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ;\n");
2764
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ;\n");
2765
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ;\n");
2766
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ;\n");
2767
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ;\n");
2768
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
2769
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ;\n");
2770
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
2771
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
2772
      }
2773
      //------------------------------------------------------------------------
2774
      // bitSymbol = 11, Primpoly = 2283
2775
      //------------------------------------------------------------------------
2776
      if (PrimPoly == 2283) {
2777
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ;\n");
2778
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[15] ^ M[18] ;\n");
2779
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[16] ^ M[19] ;\n");
2780
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ;\n");
2781
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
2782
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[18] ;\n");
2783
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
2784
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[18] ^ M[20] ;\n");
2785
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[19] ;\n");
2786
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[20] ;\n");
2787
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[15] ^ M[16] ;\n");
2788
      }
2789
      //------------------------------------------------------------------------
2790
      // bitSymbol = 11, Primpoly = 2293
2791
      //------------------------------------------------------------------------
2792
      if (PrimPoly == 2293) {
2793
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2794
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2795
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ;\n");
2796
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ;\n");
2797
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[16] ^ M[19] ^ M[20] ;\n");
2798
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
2799
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[18] ;\n");
2800
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
2801
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
2802
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2803
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2804
      }
2805
      //------------------------------------------------------------------------
2806
      // bitSymbol = 11, Primpoly = 2317
2807
      //------------------------------------------------------------------------
2808
      if (PrimPoly == 2317) {
2809
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[17] ^ M[19] ;\n");
2810
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[18] ^ M[20] ;\n");
2811
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ;\n");
2812
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[15] ^ M[18] ^ M[19] ;\n");
2813
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[16] ^ M[19] ^ M[20] ;\n");
2814
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[17] ^ M[20] ;\n");
2815
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[18] ;\n");
2816
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[16] ^ M[19] ;\n");
2817
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ;\n");
2818
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[15] ^ M[17] ^ M[20] ;\n");
2819
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[16] ^ M[18] ;\n");
2820
      }
2821
      //------------------------------------------------------------------------
2822
      // bitSymbol = 11, Primpoly = 2323
2823
      //------------------------------------------------------------------------
2824
      if (PrimPoly == 2323) {
2825
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ;\n");
2826
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
2827
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
2828
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ;\n");
2829
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[15] ;\n");
2830
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[16] ;\n");
2831
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[17] ;\n");
2832
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[18] ;\n");
2833
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2834
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
2835
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
2836
      }
2837
      //------------------------------------------------------------------------
2838
      // bitSymbol = 11, Primpoly = 2341
2839
      //------------------------------------------------------------------------
2840
      if (PrimPoly == 2341) {
2841
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ;\n");
2842
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ;\n");
2843
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ;\n");
2844
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ;\n");
2845
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
2846
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[16] ^ M[17] ^ M[19] ;\n");
2847
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[17] ^ M[18] ^ M[20] ;\n");
2848
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[18] ^ M[19] ;\n");
2849
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[19] ^ M[20] ;\n");
2850
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[20] ;\n");
2851
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ;\n");
2852
      }
2853
      //------------------------------------------------------------------------
2854
      // bitSymbol = 11, Primpoly = 2345
2855
      //------------------------------------------------------------------------
2856
      if (PrimPoly == 2345) {
2857
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[19] ^ M[20] ;\n");
2858
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[20] ;\n");
2859
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[16] ;\n");
2860
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[17] ^ M[19] ^ M[20] ;\n");
2861
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[18] ^ M[20] ;\n");
2862
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[14] ^ M[20] ;\n");
2863
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[15] ;\n");
2864
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[15] ^ M[16] ;\n");
2865
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
2866
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[17] ^ M[18] ^ M[20] ;\n");
2867
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[18] ^ M[19] ;\n");
2868
      }
2869
      //------------------------------------------------------------------------
2870
      // bitSymbol = 11, Primpoly = 2363
2871
      //------------------------------------------------------------------------
2872
      if (PrimPoly == 2363) {
2873
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
2874
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ;\n");
2875
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ;\n");
2876
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
2877
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[17] ;\n");
2878
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[19] ^ M[20] ;\n");
2879
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[20] ;\n");
2880
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
2881
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2882
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2883
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2884
      }
2885
      //------------------------------------------------------------------------
2886
      // bitSymbol = 11, Primpoly = 2365
2887
      //------------------------------------------------------------------------
2888
      if (PrimPoly == 2365) {
2889
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[18] ^ M[19] ;\n");
2890
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[19] ^ M[20] ;\n");
2891
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
2892
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
2893
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
2894
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
2895
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
2896
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
2897
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
2898
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[16] ^ M[17] ^ M[20] ;\n");
2899
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[17] ^ M[18] ;\n");
2900
      }
2901
      //------------------------------------------------------------------------
2902
      // bitSymbol = 11, Primpoly = 2373
2903
      //------------------------------------------------------------------------
2904
      if (PrimPoly == 2373) {
2905
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ;\n");
2906
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ;\n");
2907
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ;\n");
2908
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
2909
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
2910
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ;\n");
2911
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
2912
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
2913
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[14] ^ M[18] ^ M[20] ;\n");
2914
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[15] ^ M[19] ;\n");
2915
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[15] ^ M[16] ^ M[20] ;\n");
2916
      }
2917
      //------------------------------------------------------------------------
2918
      // bitSymbol = 11, Primpoly = 2377
2919
      //------------------------------------------------------------------------
2920
      if (PrimPoly == 2377) {
2921
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
2922
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
2923
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ;\n");
2924
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[16] ;\n");
2925
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[17] ;\n");
2926
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[18] ;\n");
2927
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[16] ^ M[17] ^ M[20] ;\n");
2928
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[17] ^ M[18] ;\n");
2929
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
2930
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
2931
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
2932
      }
2933
      //------------------------------------------------------------------------
2934
      // bitSymbol = 11, Primpoly = 2385
2935
      //------------------------------------------------------------------------
2936
      if (PrimPoly == 2385) {
2937
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
2938
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
2939
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
2940
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ;\n");
2941
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
2942
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2943
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[14] ^ M[19] ^ M[20] ;\n");
2944
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ^ M[20] ;\n");
2945
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
2946
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
2947
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
2948
      }
2949
      //------------------------------------------------------------------------
2950
      // bitSymbol = 11, Primpoly = 2395
2951
      //------------------------------------------------------------------------
2952
      if (PrimPoly == 2395) {
2953
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2954
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ;\n");
2955
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ;\n");
2956
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[19] ^ M[20] ;\n");
2957
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
2958
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2959
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ;\n");
2960
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ;\n");
2961
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
2962
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
2963
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
2964
      }
2965
      //------------------------------------------------------------------------
2966
      // bitSymbol = 11, Primpoly = 2419
2967
      //------------------------------------------------------------------------
2968
      if (PrimPoly == 2419) {
2969
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ;\n");
2970
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2971
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2972
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
2973
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
2974
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ;\n");
2975
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ;\n");
2976
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
2977
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ;\n");
2978
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ;\n");
2979
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ;\n");
2980
      }
2981
      //------------------------------------------------------------------------
2982
      // bitSymbol = 11, Primpoly = 2421
2983
      //------------------------------------------------------------------------
2984
      if (PrimPoly == 2421) {
2985
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[16] ^ M[18] ;\n");
2986
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[17] ^ M[19] ;\n");
2987
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[14] ^ M[20] ;\n");
2988
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[15] ;\n");
2989
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
2990
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[15] ^ M[18] ^ M[19] ;\n");
2991
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
2992
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ;\n");
2993
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[15] ^ M[18] ^ M[20] ;\n");
2994
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[16] ^ M[19] ;\n");
2995
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ;\n");
2996
      }
2997
      //------------------------------------------------------------------------
2998
      // bitSymbol = 11, Primpoly = 2431
2999
      //------------------------------------------------------------------------
3000
      if (PrimPoly == 2431) {
3001
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ;\n");
3002
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3003
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
3004
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[19] ;\n");
3005
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ;\n");
3006
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[20] ;\n");
3007
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ;\n");
3008
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ;\n");
3009
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[20] ;\n");
3010
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ;\n");
3011
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
3012
      }
3013
      //------------------------------------------------------------------------
3014
      // bitSymbol = 11, Primpoly = 2435
3015
      //------------------------------------------------------------------------
3016
      if (PrimPoly == 2435) {
3017
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
3018
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3019
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3020
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3021
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
3022
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
3023
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[16] ^ M[17] ^ M[19] ;\n");
3024
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ;\n");
3025
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ;\n");
3026
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
3027
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ;\n");
3028
      }
3029
      //------------------------------------------------------------------------
3030
      // bitSymbol = 11, Primpoly = 2447
3031
      //------------------------------------------------------------------------
3032
      if (PrimPoly == 2447) {
3033
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ;\n");
3034
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
3035
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ;\n");
3036
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ;\n");
3037
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[20] ;\n");
3038
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ;\n");
3039
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ;\n");
3040
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[14] ^ M[16] ;\n");
3041
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[14] ;\n");
3042
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ;\n");
3043
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[16] ;\n");
3044
      }
3045
      //------------------------------------------------------------------------
3046
      // bitSymbol = 11, Primpoly = 2475
3047
      //------------------------------------------------------------------------
3048
      if (PrimPoly == 2475) {
3049
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[15] ^ M[20] ;\n");
3050
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[20] ;\n");
3051
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ;\n");
3052
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
3053
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ;\n");
3054
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
3055
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ;\n");
3056
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ;\n");
3057
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[17] ;\n");
3058
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[18] ;\n");
3059
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[19] ;\n");
3060
      }
3061
      //------------------------------------------------------------------------
3062
      // bitSymbol = 11, Primpoly = 2477
3063
      //------------------------------------------------------------------------
3064
      if (PrimPoly == 2477) {
3065
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[15] ;\n");
3066
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[16] ;\n");
3067
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
3068
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ;\n");
3069
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ;\n");
3070
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
3071
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ;\n");
3072
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[20] ;\n");
3073
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[18] ;\n");
3074
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[19] ;\n");
3075
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[20] ;\n");
3076
      }
3077
      //------------------------------------------------------------------------
3078
      // bitSymbol = 11, Primpoly = 2489
3079
      //------------------------------------------------------------------------
3080
      if (PrimPoly == 2489) {
3081
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ;\n");
3082
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[16] ^ M[19] ;\n");
3083
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[16] ^ M[17] ^ M[20] ;\n");
3084
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[15] ^ M[17] ^ M[20] ;\n");
3085
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ;\n");
3086
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3087
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
3088
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[16] ^ M[19] ;\n");
3089
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ;\n");
3090
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ;\n");
3091
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ;\n");
3092
      }
3093
      //------------------------------------------------------------------------
3094
      // bitSymbol = 11, Primpoly = 2503
3095
      //------------------------------------------------------------------------
3096
      if (PrimPoly == 2503) {
3097
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
3098
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
3099
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ;\n");
3100
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
3101
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
3102
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3103
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
3104
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ;\n");
3105
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ;\n");
3106
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
3107
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
3108
      }
3109
      //------------------------------------------------------------------------
3110
      // bitSymbol = 11, Primpoly = 2521
3111
      //------------------------------------------------------------------------
3112
      if (PrimPoly == 2521) {
3113
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3114
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3115
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3116
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[15] ^ M[16] ^ M[19] ;\n");
3117
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ;\n");
3118
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ;\n");
3119
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[15] ^ M[18] ;\n");
3120
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3121
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ;\n");
3122
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
3123
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
3124
      }
3125
      //------------------------------------------------------------------------
3126
      // bitSymbol = 11, Primpoly = 2533
3127
      //------------------------------------------------------------------------
3128
      if (PrimPoly == 2533) {
3129
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ;\n");
3130
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
3131
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
3132
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3133
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3134
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3135
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ;\n");
3136
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ;\n");
3137
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[19] ;\n");
3138
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[20] ;\n");
3139
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
3140
      }
3141
      //------------------------------------------------------------------------
3142
      // bitSymbol = 11, Primpoly = 2551
3143
      //------------------------------------------------------------------------
3144
      if (PrimPoly == 2551) {
3145
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
3146
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ;\n");
3147
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
3148
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
3149
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[19] ;\n");
3150
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3151
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
3152
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ;\n");
3153
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
3154
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3155
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
3156
      }
3157
      //------------------------------------------------------------------------
3158
      // bitSymbol = 11, Primpoly = 2561
3159
      //------------------------------------------------------------------------
3160
      if (PrimPoly == 2561) {
3161
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ;\n");
3162
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ;\n");
3163
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ;\n");
3164
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ;\n");
3165
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[15] ^ M[17] ^ M[19] ;\n");
3166
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[16] ^ M[18] ^ M[20] ;\n");
3167
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[17] ^ M[19] ;\n");
3168
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[18] ^ M[20] ;\n");
3169
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[19] ;\n");
3170
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
3171
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ;\n");
3172
      }
3173
      //------------------------------------------------------------------------
3174
      // bitSymbol = 11, Primpoly = 2567
3175
      //------------------------------------------------------------------------
3176
      if (PrimPoly == 2567) {
3177
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
3178
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3179
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ;\n");
3180
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ;\n");
3181
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ;\n");
3182
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ;\n");
3183
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
3184
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[16] ^ M[17] ^ M[19] ;\n");
3185
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[17] ^ M[18] ^ M[20] ;\n");
3186
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
3187
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ;\n");
3188
      }
3189
      //------------------------------------------------------------------------
3190
      // bitSymbol = 11, Primpoly = 2579
3191
      //------------------------------------------------------------------------
3192
      if (PrimPoly == 2579) {
3193
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
3194
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
3195
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
3196
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3197
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[20] ;\n");
3198
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ;\n");
3199
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
3200
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ;\n");
3201
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
3202
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ;\n");
3203
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
3204
      }
3205
      //------------------------------------------------------------------------
3206
      // bitSymbol = 11, Primpoly = 2581
3207
      //------------------------------------------------------------------------
3208
      if (PrimPoly == 2581) {
3209
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3210
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3211
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[18] ;\n");
3212
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[19] ;\n");
3213
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
3214
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3215
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ;\n");
3216
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[18] ^ M[20] ;\n");
3217
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[15] ^ M[19] ;\n");
3218
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3219
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3220
      }
3221
      //------------------------------------------------------------------------
3222
      // bitSymbol = 11, Primpoly = 2601
3223
      //------------------------------------------------------------------------
3224
      if (PrimPoly == 2601) {
3225
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[15] ;\n");
3226
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[16] ;\n");
3227
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[17] ;\n");
3228
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
3229
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
3230
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3231
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ;\n");
3232
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ;\n");
3233
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[19] ^ M[20] ;\n");
3234
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[20] ;\n");
3235
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ;\n");
3236
      }
3237
      //------------------------------------------------------------------------
3238
      // bitSymbol = 11, Primpoly = 2633
3239
      //------------------------------------------------------------------------
3240
      if (PrimPoly == 2633) {
3241
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
3242
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
3243
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
3244
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
3245
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3246
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3247
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
3248
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ;\n");
3249
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
3250
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ;\n");
3251
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ;\n");
3252
      }
3253
      //------------------------------------------------------------------------
3254
      // bitSymbol = 11, Primpoly = 2657
3255
      //------------------------------------------------------------------------
3256
      if (PrimPoly == 2657) {
3257
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
3258
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ;\n");
3259
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
3260
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ;\n");
3261
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
3262
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ;\n");
3263
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
3264
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
3265
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
3266
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3267
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
3268
      }
3269
      //------------------------------------------------------------------------
3270
      // bitSymbol = 11, Primpoly = 2669
3271
      //------------------------------------------------------------------------
3272
      if (PrimPoly == 2669) {
3273
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ;\n");
3274
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ;\n");
3275
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[16] ^ M[17] ^ M[18] ;\n");
3276
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3277
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3278
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3279
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3280
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3281
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
3282
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[14] ^ M[19] ^ M[20] ;\n");
3283
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[20] ;\n");
3284
      }
3285
      //------------------------------------------------------------------------
3286
      // bitSymbol = 11, Primpoly = 2681
3287
      //------------------------------------------------------------------------
3288
      if (PrimPoly == 2681) {
3289
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
3290
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ;\n");
3291
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
3292
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ;\n");
3293
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ;\n");
3294
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3295
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3296
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3297
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
3298
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ;\n");
3299
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
3300
      }
3301
      //------------------------------------------------------------------------
3302
      // bitSymbol = 11, Primpoly = 2687
3303
      //------------------------------------------------------------------------
3304
      if (PrimPoly == 2687) {
3305
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
3306
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
3307
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[14] ^ M[19] ^ M[20] ;\n");
3308
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[16] ^ M[18] ^ M[20] ;\n");
3309
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3310
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
3311
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[15] ^ M[20] ;\n");
3312
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[16] ;\n");
3313
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[17] ;\n");
3314
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ;\n");
3315
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ;\n");
3316
      }
3317
      //------------------------------------------------------------------------
3318
      // bitSymbol = 11, Primpoly = 2693
3319
      //------------------------------------------------------------------------
3320
      if (PrimPoly == 2693) {
3321
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ;\n");
3322
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[18] ^ M[20] ;\n");
3323
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[15] ^ M[17] ^ M[20] ;\n");
3324
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[16] ^ M[18] ;\n");
3325
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[17] ^ M[19] ;\n");
3326
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[18] ^ M[20] ;\n");
3327
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[15] ^ M[19] ;\n");
3328
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ;\n");
3329
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ;\n");
3330
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
3331
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ;\n");
3332
      }
3333
      //------------------------------------------------------------------------
3334
      // bitSymbol = 11, Primpoly = 2705
3335
      //------------------------------------------------------------------------
3336
      if (PrimPoly == 2705) {
3337
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ;\n");
3338
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
3339
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ;\n");
3340
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[16] ^ M[20] ;\n");
3341
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ;\n");
3342
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ;\n");
3343
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ;\n");
3344
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ;\n");
3345
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
3346
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ;\n");
3347
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ;\n");
3348
      }
3349
      //------------------------------------------------------------------------
3350
      // bitSymbol = 11, Primpoly = 2717
3351
      //------------------------------------------------------------------------
3352
      if (PrimPoly == 2717) {
3353
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ;\n");
3354
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ;\n");
3355
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
3356
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ;\n");
3357
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[14] ;\n");
3358
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ;\n");
3359
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[16] ;\n");
3360
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ;\n");
3361
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ;\n");
3362
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[15] ^ M[16] ^ M[18] ;\n");
3363
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[16] ^ M[17] ^ M[19] ;\n");
3364
      }
3365
      //------------------------------------------------------------------------
3366
      // bitSymbol = 11, Primpoly = 2727
3367
      //------------------------------------------------------------------------
3368
      if (PrimPoly == 2727) {
3369
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[19] ^ M[20] ;\n");
3370
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[19] ;\n");
3371
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[19] ;\n");
3372
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[20] ;\n");
3373
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ;\n");
3374
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3375
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3376
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ;\n");
3377
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ;\n");
3378
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[17] ^ M[18] ^ M[20] ;\n");
3379
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[18] ^ M[19] ;\n");
3380
      }
3381
      //------------------------------------------------------------------------
3382
      // bitSymbol = 11, Primpoly = 2731
3383
      //------------------------------------------------------------------------
3384
      if (PrimPoly == 2731) {
3385
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ;\n");
3386
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ;\n");
3387
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
3388
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ;\n");
3389
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ;\n");
3390
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[16] ^ M[17] ^ M[18] ;\n");
3391
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ;\n");
3392
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[18] ^ M[19] ^ M[20] ;\n");
3393
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[19] ^ M[20] ;\n");
3394
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[20] ;\n");
3395
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ;\n");
3396
      }
3397
      //------------------------------------------------------------------------
3398
      // bitSymbol = 11, Primpoly = 2739
3399
      //------------------------------------------------------------------------
3400
      if (PrimPoly == 2739) {
3401
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[18] ^ M[19] ;\n");
3402
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[20] ;\n");
3403
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ;\n");
3404
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ;\n");
3405
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3406
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
3407
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
3408
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
3409
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
3410
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[16] ^ M[17] ;\n");
3411
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[17] ^ M[18] ;\n");
3412
      }
3413
      //------------------------------------------------------------------------
3414
      // bitSymbol = 11, Primpoly = 2741
3415
      //------------------------------------------------------------------------
3416
      if (PrimPoly == 2741) {
3417
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ;\n");
3418
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[19] ^ M[20] ;\n");
3419
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[15] ^ M[18] ^ M[19] ;\n");
3420
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[16] ^ M[19] ^ M[20] ;\n");
3421
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[17] ^ M[18] ^ M[19] ;\n");
3422
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ;\n");
3423
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ;\n");
3424
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
3425
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
3426
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3427
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3428
      }
3429
      //------------------------------------------------------------------------
3430
      // bitSymbol = 11, Primpoly = 2773
3431
      //------------------------------------------------------------------------
3432
      if (PrimPoly == 2773) {
3433
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3434
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3435
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
3436
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ;\n");
3437
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[16] ;\n");
3438
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[17] ;\n");
3439
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[16] ^ M[17] ^ M[19] ;\n");
3440
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[19] ^ M[20] ;\n");
3441
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[20] ;\n");
3442
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
3443
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3444
      }
3445
      //------------------------------------------------------------------------
3446
      // bitSymbol = 11, Primpoly = 2783
3447
      //------------------------------------------------------------------------
3448
      if (PrimPoly == 2783) {
3449
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ;\n");
3450
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ;\n");
3451
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
3452
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[15] ^ M[18] ^ M[19] ;\n");
3453
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3454
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ;\n");
3455
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3456
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
3457
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ;\n");
3458
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ;\n");
3459
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ;\n");
3460
      }
3461
      //------------------------------------------------------------------------
3462
      // bitSymbol = 11, Primpoly = 2793
3463
      //------------------------------------------------------------------------
3464
      if (PrimPoly == 2793) {
3465
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[16] ^ M[20] ;\n");
3466
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[17] ;\n");
3467
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[18] ;\n");
3468
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[14] ^ M[19] ^ M[20] ;\n");
3469
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[20] ;\n");
3470
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[15] ^ M[20] ;\n");
3471
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[20] ;\n");
3472
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[20] ;\n");
3473
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ;\n");
3474
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[14] ^ M[18] ^ M[20] ;\n");
3475
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[15] ^ M[19] ;\n");
3476
      }
3477
      //------------------------------------------------------------------------
3478
      // bitSymbol = 11, Primpoly = 2799
3479
      //------------------------------------------------------------------------
3480
      if (PrimPoly == 2799) {
3481
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[16] ;\n");
3482
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ;\n");
3483
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
3484
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
3485
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3486
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3487
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3488
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ;\n");
3489
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
3490
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[14] ^ M[19] ^ M[20] ;\n");
3491
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[15] ^ M[20] ;\n");
3492
      }
3493
      //------------------------------------------------------------------------
3494
      // bitSymbol = 11, Primpoly = 2801
3495
      //------------------------------------------------------------------------
3496
      if (PrimPoly == 2801) {
3497
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3498
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ;\n");
3499
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[18] ^ M[20] ;\n");
3500
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[16] ^ M[19] ;\n");
3501
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3502
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ;\n");
3503
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
3504
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
3505
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3506
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
3507
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
3508
      }
3509
      //------------------------------------------------------------------------
3510
      // bitSymbol = 11, Primpoly = 2811
3511
      //------------------------------------------------------------------------
3512
      if (PrimPoly == 2811) {
3513
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[16] ^ M[18] ^ M[20] ;\n");
3514
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3515
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3516
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[14] ^ M[15] ^ M[19] ;\n");
3517
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ;\n");
3518
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
3519
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
3520
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ;\n");
3521
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ;\n");
3522
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ;\n");
3523
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
3524
      }
3525
      //------------------------------------------------------------------------
3526
      // bitSymbol = 11, Primpoly = 2819
3527
      //------------------------------------------------------------------------
3528
      if (PrimPoly == 2819) {
3529
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ;\n");
3530
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3531
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ;\n");
3532
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ;\n");
3533
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ;\n");
3534
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
3535
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[16] ^ M[17] ^ M[18] ;\n");
3536
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[17] ^ M[18] ^ M[19] ;\n");
3537
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ;\n");
3538
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ;\n");
3539
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ;\n");
3540
      }
3541
      //------------------------------------------------------------------------
3542
      // bitSymbol = 11, Primpoly = 2825
3543
      //------------------------------------------------------------------------
3544
      if (PrimPoly == 2825) {
3545
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
3546
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
3547
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
3548
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3549
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3550
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
3551
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3552
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
3553
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ;\n");
3554
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3555
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3556
      }
3557
      //------------------------------------------------------------------------
3558
      // bitSymbol = 11, Primpoly = 2833
3559
      //------------------------------------------------------------------------
3560
      if (PrimPoly == 2833) {
3561
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[20] ;\n");
3562
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ;\n");
3563
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ;\n");
3564
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
3565
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3566
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
3567
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
3568
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ;\n");
3569
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ;\n");
3570
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ;\n");
3571
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[19] ^ M[20] ;\n");
3572
      }
3573
      //------------------------------------------------------------------------
3574
      // bitSymbol = 11, Primpoly = 2867
3575
      //------------------------------------------------------------------------
3576
      if (PrimPoly == 2867) {
3577
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ;\n");
3578
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3579
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ;\n");
3580
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
3581
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ;\n");
3582
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ;\n");
3583
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ;\n");
3584
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ;\n");
3585
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3586
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
3587
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ;\n");
3588
      }
3589
      //------------------------------------------------------------------------
3590
      // bitSymbol = 11, Primpoly = 2879
3591
      //------------------------------------------------------------------------
3592
      if (PrimPoly == 2879) {
3593
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ;\n");
3594
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3595
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[15] ^ M[18] ^ M[20] ;\n");
3596
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
3597
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ;\n");
3598
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[14] ^ M[20] ;\n");
3599
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ;\n");
3600
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[16] ;\n");
3601
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[19] ;\n");
3602
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
3603
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ;\n");
3604
      }
3605
      //------------------------------------------------------------------------
3606
      // bitSymbol = 11, Primpoly = 2881
3607
      //------------------------------------------------------------------------
3608
      if (PrimPoly == 2881) {
3609
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
3610
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
3611
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3612
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3613
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3614
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3615
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3616
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3617
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ;\n");
3618
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[20] ;\n");
3619
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
3620
      }
3621
      //------------------------------------------------------------------------
3622
      // bitSymbol = 11, Primpoly = 2891
3623
      //------------------------------------------------------------------------
3624
      if (PrimPoly == 2891) {
3625
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
3626
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ;\n");
3627
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ;\n");
3628
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[16] ^ M[18] ^ M[20] ;\n");
3629
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[17] ^ M[19] ;\n");
3630
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[18] ^ M[20] ;\n");
3631
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
3632
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ;\n");
3633
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3634
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3635
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
3636
      }
3637
      //------------------------------------------------------------------------
3638
      // bitSymbol = 11, Primpoly = 2905
3639
      //------------------------------------------------------------------------
3640
      if (PrimPoly == 2905) {
3641
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ;\n");
3642
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
3643
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
3644
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
3645
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ;\n");
3646
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ;\n");
3647
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3648
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[17] ^ M[18] ^ M[20] ;\n");
3649
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
3650
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ;\n");
3651
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
3652
      }
3653
      //------------------------------------------------------------------------
3654
      // bitSymbol = 11, Primpoly = 2911
3655
      //------------------------------------------------------------------------
3656
      if (PrimPoly == 2911) {
3657
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
3658
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[19] ;\n");
3659
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
3660
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ;\n");
3661
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
3662
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ;\n");
3663
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[15] ^ M[19] ;\n");
3664
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[16] ^ M[20] ;\n");
3665
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3666
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ;\n");
3667
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
3668
      }
3669
      //------------------------------------------------------------------------
3670
      // bitSymbol = 11, Primpoly = 2917
3671
      //------------------------------------------------------------------------
3672
      if (PrimPoly == 2917) {
3673
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3674
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3675
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[14] ^ M[19] ;\n");
3676
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[15] ^ M[20] ;\n");
3677
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[16] ;\n");
3678
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
3679
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
3680
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ;\n");
3681
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[16] ^ M[18] ;\n");
3682
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3683
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3684
      }
3685
      //------------------------------------------------------------------------
3686
      // bitSymbol = 11, Primpoly = 2927
3687
      //------------------------------------------------------------------------
3688
      if (PrimPoly == 2927) {
3689
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3690
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ;\n");
3691
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3692
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ;\n");
3693
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
3694
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
3695
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
3696
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
3697
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[18] ;\n");
3698
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3699
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3700
      }
3701
      //------------------------------------------------------------------------
3702
      // bitSymbol = 11, Primpoly = 2941
3703
      //------------------------------------------------------------------------
3704
      if (PrimPoly == 2941) {
3705
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3706
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3707
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[14] ^ M[18] ^ M[20] ;\n");
3708
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ;\n");
3709
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3710
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ;\n");
3711
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[14] ^ M[19] ^ M[20] ;\n");
3712
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[20] ;\n");
3713
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
3714
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
3715
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3716
      }
3717
      //------------------------------------------------------------------------
3718
      // bitSymbol = 11, Primpoly = 2951
3719
      //------------------------------------------------------------------------
3720
      if (PrimPoly == 2951) {
3721
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[18] ;\n");
3722
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ;\n");
3723
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3724
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ;\n");
3725
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[18] ^ M[20] ;\n");
3726
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[19] ;\n");
3727
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[15] ^ M[16] ^ M[20] ;\n");
3728
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
3729
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ;\n");
3730
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[16] ^ M[20] ;\n");
3731
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[17] ;\n");
3732
      }
3733
      //------------------------------------------------------------------------
3734
      // bitSymbol = 11, Primpoly = 2955
3735
      //------------------------------------------------------------------------
3736
      if (PrimPoly == 2955) {
3737
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
3738
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ;\n");
3739
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ;\n");
3740
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
3741
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3742
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ;\n");
3743
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[18] ^ M[20] ;\n");
3744
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ;\n");
3745
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
3746
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3747
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ;\n");
3748
      }
3749
      //------------------------------------------------------------------------
3750
      // bitSymbol = 11, Primpoly = 2963
3751
      //------------------------------------------------------------------------
3752
      if (PrimPoly == 2963) {
3753
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[20] ;\n");
3754
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[20] ;\n");
3755
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
3756
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
3757
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
3758
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ;\n");
3759
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
3760
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3761
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[19] ;\n");
3762
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[18] ;\n");
3763
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[19] ;\n");
3764
      }
3765
      //------------------------------------------------------------------------
3766
      // bitSymbol = 11, Primpoly = 2965
3767
      //------------------------------------------------------------------------
3768
      if (PrimPoly == 2965) {
3769
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ;\n");
3770
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ;\n");
3771
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ;\n");
3772
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ;\n");
3773
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
3774
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
3775
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3776
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ;\n");
3777
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[18] ^ M[20] ;\n");
3778
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[19] ;\n");
3779
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[20] ;\n");
3780
      }
3781
      //------------------------------------------------------------------------
3782
      // bitSymbol = 11, Primpoly = 2991
3783
      //------------------------------------------------------------------------
3784
      if (PrimPoly == 2991) {
3785
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ;\n");
3786
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ;\n");
3787
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[19] ;\n");
3788
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[14] ^ M[19] ^ M[20] ;\n");
3789
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[20] ;\n");
3790
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3791
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3792
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[14] ^ M[17] ^ M[20] ;\n");
3793
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ;\n");
3794
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3795
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3796
      }
3797
      //------------------------------------------------------------------------
3798
      // bitSymbol = 11, Primpoly = 2999
3799
      //------------------------------------------------------------------------
3800
      if (PrimPoly == 2999) {
3801
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ;\n");
3802
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
3803
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3804
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3805
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3806
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3807
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
3808
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3809
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ;\n");
3810
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[15] ^ M[19] ;\n");
3811
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[16] ^ M[20] ;\n");
3812
      }
3813
      //------------------------------------------------------------------------
3814
      // bitSymbol = 11, Primpoly = 3005
3815
      //------------------------------------------------------------------------
3816
      if (PrimPoly == 3005) {
3817
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ;\n");
3818
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ;\n");
3819
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
3820
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
3821
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[20] ;\n");
3822
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[19] ;\n");
3823
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ;\n");
3824
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3825
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[20] ;\n");
3826
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ;\n");
3827
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ;\n");
3828
      }
3829
      //------------------------------------------------------------------------
3830
      // bitSymbol = 11, Primpoly = 3017
3831
      //------------------------------------------------------------------------
3832
      if (PrimPoly == 3017) {
3833
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ;\n");
3834
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
3835
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
3836
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[17] ^ M[18] ;\n");
3837
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ;\n");
3838
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ;\n");
3839
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ;\n");
3840
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[20] ;\n");
3841
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ;\n");
3842
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ;\n");
3843
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
3844
      }
3845
      //------------------------------------------------------------------------
3846
      // bitSymbol = 11, Primpoly = 3035
3847
      //------------------------------------------------------------------------
3848
      if (PrimPoly == 3035) {
3849
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ;\n");
3850
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3851
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3852
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
3853
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
3854
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ;\n");
3855
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[15] ^ M[20] ;\n");
3856
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[19] ;\n");
3857
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
3858
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ;\n");
3859
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[20] ;\n");
3860
      }
3861
      //------------------------------------------------------------------------
3862
      // bitSymbol = 11, Primpoly = 3037
3863
      //------------------------------------------------------------------------
3864
      if (PrimPoly == 3037) {
3865
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ;\n");
3866
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ;\n");
3867
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
3868
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
3869
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[15] ^ M[19] ^ M[20] ;\n");
3870
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[16] ^ M[20] ;\n");
3871
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3872
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3873
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
3874
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ;\n");
3875
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ;\n");
3876
      }
3877
      //------------------------------------------------------------------------
3878
      // bitSymbol = 11, Primpoly = 3047
3879
      //------------------------------------------------------------------------
3880
      if (PrimPoly == 3047) {
3881
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3882
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
3883
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[18] ;\n");
3884
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[19] ;\n");
3885
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[20] ;\n");
3886
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3887
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[19] ^ M[20] ;\n");
3888
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ;\n");
3889
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ;\n");
3890
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
3891
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
3892
      }
3893
      //------------------------------------------------------------------------
3894
      // bitSymbol = 11, Primpoly = 3053
3895
      //------------------------------------------------------------------------
3896
      if (PrimPoly == 3053) {
3897
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3898
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3899
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ;\n");
3900
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
3901
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
3902
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[15] ^ M[18] ^ M[20] ;\n");
3903
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ;\n");
3904
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
3905
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[14] ^ M[19] ^ M[20] ;\n");
3906
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3907
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3908
      }
3909
      //------------------------------------------------------------------------
3910
      // bitSymbol = 11, Primpoly = 3083
3911
      //------------------------------------------------------------------------
3912
      if (PrimPoly == 3083) {
3913
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3914
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[19] ^ M[20] ;\n");
3915
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[20] ;\n");
3916
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3917
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3918
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3919
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3920
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3921
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3922
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[17] ^ M[18] ^ M[20] ;\n");
3923
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3924
      }
3925
      //------------------------------------------------------------------------
3926
      // bitSymbol = 11, Primpoly = 3085
3927
      //------------------------------------------------------------------------
3928
      if (PrimPoly == 3085) {
3929
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
3930
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3931
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[19] ^ M[20] ;\n");
3932
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3933
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3934
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3935
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3936
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
3937
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[16] ^ M[19] ^ M[20] ;\n");
3938
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[17] ^ M[20] ;\n");
3939
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
3940
      }
3941
      //------------------------------------------------------------------------
3942
      // bitSymbol = 11, Primpoly = 3097
3943
      //------------------------------------------------------------------------
3944
      if (PrimPoly == 3097) {
3945
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
3946
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
3947
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3948
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ;\n");
3949
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3950
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3951
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ;\n");
3952
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
3953
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[15] ^ M[19] ^ M[20] ;\n");
3954
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[16] ^ M[20] ;\n");
3955
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
3956
      }
3957
      //------------------------------------------------------------------------
3958
      // bitSymbol = 11, Primpoly = 3103
3959
      //------------------------------------------------------------------------
3960
      if (PrimPoly == 3103) {
3961
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
3962
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[18] ^ M[20] ;\n");
3963
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3964
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[18] ;\n");
3965
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3966
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3967
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
3968
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
3969
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
3970
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[16] ^ M[18] ^ M[20] ;\n");
3971
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
3972
      }
3973
      //------------------------------------------------------------------------
3974
      // bitSymbol = 11, Primpoly = 3159
3975
      //------------------------------------------------------------------------
3976
      if (PrimPoly == 3159) {
3977
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
3978
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[16] ^ M[17] ^ M[20] ;\n");
3979
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ;\n");
3980
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ;\n");
3981
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ;\n");
3982
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
3983
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
3984
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3985
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ;\n");
3986
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
3987
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
3988
      }
3989
      //------------------------------------------------------------------------
3990
      // bitSymbol = 11, Primpoly = 3169
3991
      //------------------------------------------------------------------------
3992
      if (PrimPoly == 3169) {
3993
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
3994
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
3995
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
3996
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
3997
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
3998
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
3999
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4000
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4001
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ;\n");
4002
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[19] ^ M[20] ;\n");
4003
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[20] ;\n");
4004
      }
4005
      //------------------------------------------------------------------------
4006
      // bitSymbol = 11, Primpoly = 3179
4007
      //------------------------------------------------------------------------
4008
      if (PrimPoly == 3179) {
4009
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ;\n");
4010
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[16] ^ M[19] ^ M[20] ;\n");
4011
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[17] ^ M[20] ;\n");
4012
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ;\n");
4013
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
4014
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4015
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4016
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4017
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4018
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4019
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[20] ;\n");
4020
      }
4021
      //------------------------------------------------------------------------
4022
      // bitSymbol = 11, Primpoly = 3187
4023
      //------------------------------------------------------------------------
4024
      if (PrimPoly == 3187) {
4025
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ;\n");
4026
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4027
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[17] ^ M[19] ^ M[20] ;\n");
4028
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[18] ^ M[20] ;\n");
4029
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
4030
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
4031
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4032
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4033
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4034
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4035
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ;\n");
4036
      }
4037
      //------------------------------------------------------------------------
4038
      // bitSymbol = 11, Primpoly = 3205
4039
      //------------------------------------------------------------------------
4040
      if (PrimPoly == 3205) {
4041
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4042
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
4043
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[15] ^ M[19] ;\n");
4044
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[16] ^ M[20] ;\n");
4045
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[17] ;\n");
4046
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[18] ;\n");
4047
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[15] ^ M[16] ^ M[19] ;\n");
4048
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ;\n");
4049
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
4050
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
4051
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
4052
      }
4053
      //------------------------------------------------------------------------
4054
      // bitSymbol = 11, Primpoly = 3209
4055
      //------------------------------------------------------------------------
4056
      if (PrimPoly == 3209) {
4057
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ;\n");
4058
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ;\n");
4059
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
4060
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
4061
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4062
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
4063
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
4064
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
4065
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4066
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4067
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ;\n");
4068
      }
4069
      //------------------------------------------------------------------------
4070
      // bitSymbol = 11, Primpoly = 3223
4071
      //------------------------------------------------------------------------
4072
      if (PrimPoly == 3223) {
4073
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ;\n");
4074
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4075
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4076
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
4077
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[20] ;\n");
4078
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
4079
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ;\n");
4080
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4081
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4082
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4083
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[20] ;\n");
4084
      }
4085
      //------------------------------------------------------------------------
4086
      // bitSymbol = 11, Primpoly = 3227
4087
      //------------------------------------------------------------------------
4088
      if (PrimPoly == 3227) {
4089
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[20] ;\n");
4090
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
4091
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ;\n");
4092
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4093
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4094
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4095
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4096
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4097
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4098
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
4099
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[19] ;\n");
4100
      }
4101
      //------------------------------------------------------------------------
4102
      // bitSymbol = 11, Primpoly = 3229
4103
      //------------------------------------------------------------------------
4104
      if (PrimPoly == 3229) {
4105
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
4106
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
4107
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[15] ^ M[18] ;\n");
4108
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[14] ^ M[19] ;\n");
4109
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ;\n");
4110
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
4111
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
4112
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ;\n");
4113
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
4114
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ;\n");
4115
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[20] ;\n");
4116
      }
4117
      //------------------------------------------------------------------------
4118
      // bitSymbol = 11, Primpoly = 3251
4119
      //------------------------------------------------------------------------
4120
      if (PrimPoly == 3251) {
4121
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ;\n");
4122
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
4123
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[16] ^ M[17] ^ M[19] ;\n");
4124
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ;\n");
4125
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4126
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[16] ^ M[18] ^ M[19] ;\n");
4127
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[17] ^ M[19] ^ M[20] ;\n");
4128
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
4129
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
4130
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4131
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ;\n");
4132
      }
4133
      //------------------------------------------------------------------------
4134
      // bitSymbol = 11, Primpoly = 3263
4135
      //------------------------------------------------------------------------
4136
      if (PrimPoly == 3263) {
4137
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ;\n");
4138
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4139
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[14] ^ M[20] ;\n");
4140
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
4141
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ;\n");
4142
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ^ M[20] ;\n");
4143
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ;\n");
4144
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
4145
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4146
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4147
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
4148
      }
4149
      //------------------------------------------------------------------------
4150
      // bitSymbol = 11, Primpoly = 3271
4151
      //------------------------------------------------------------------------
4152
      if (PrimPoly == 3271) {
4153
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[19] ;\n");
4154
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[15] ^ M[19] ^ M[20] ;\n");
4155
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ;\n");
4156
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ;\n");
4157
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
4158
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ;\n");
4159
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4160
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
4161
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[16] ^ M[17] ^ M[19] ;\n");
4162
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ;\n");
4163
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[18] ;\n");
4164
      }
4165
      //------------------------------------------------------------------------
4166
      // bitSymbol = 11, Primpoly = 3277
4167
      //------------------------------------------------------------------------
4168
      if (PrimPoly == 3277) {
4169
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ;\n");
4170
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ;\n");
4171
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ;\n");
4172
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ;\n");
4173
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ;\n");
4174
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ;\n");
4175
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ;\n");
4176
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[18] ^ M[20] ;\n");
4177
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[19] ;\n");
4178
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[20] ;\n");
4179
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ;\n");
4180
      }
4181
      //------------------------------------------------------------------------
4182
      // bitSymbol = 11, Primpoly = 3283
4183
      //------------------------------------------------------------------------
4184
      if (PrimPoly == 3283) {
4185
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ;\n");
4186
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[15] ^ M[18] ^ M[20] ;\n");
4187
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[16] ^ M[19] ;\n");
4188
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[17] ^ M[20] ;\n");
4189
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[19] ;\n");
4190
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[20] ;\n");
4191
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[15] ^ M[18] ^ M[19] ;\n");
4192
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ;\n");
4193
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[17] ^ M[19] ;\n");
4194
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[16] ^ M[18] ^ M[20] ;\n");
4195
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ;\n");
4196
      }
4197
      //------------------------------------------------------------------------
4198
      // bitSymbol = 11, Primpoly = 3285
4199
      //------------------------------------------------------------------------
4200
      if (PrimPoly == 3285) {
4201
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
4202
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ;\n");
4203
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
4204
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4205
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[17] ^ M[19] ;\n");
4206
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[18] ^ M[20] ;\n");
4207
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[18] ^ M[20] ;\n");
4208
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[14] ^ M[18] ^ M[20] ;\n");
4209
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[19] ;\n");
4210
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[16] ^ M[20] ;\n");
4211
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4212
      }
4213
      //------------------------------------------------------------------------
4214
      // bitSymbol = 11, Primpoly = 3299
4215
      //------------------------------------------------------------------------
4216
      if (PrimPoly == 3299) {
4217
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[20] ;\n");
4218
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
4219
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ;\n");
4220
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ;\n");
4221
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[18] ^ M[20] ;\n");
4222
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
4223
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
4224
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4225
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
4226
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
4227
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[19] ^ M[20] ;\n");
4228
      }
4229
      //------------------------------------------------------------------------
4230
      // bitSymbol = 11, Primpoly = 3305
4231
      //------------------------------------------------------------------------
4232
      if (PrimPoly == 3305) {
4233
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ;\n");
4234
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ;\n");
4235
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ;\n");
4236
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ;\n");
4237
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ;\n");
4238
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
4239
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ;\n");
4240
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
4241
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
4242
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
4243
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4244
      }
4245
      //------------------------------------------------------------------------
4246
      // bitSymbol = 11, Primpoly = 3319
4247
      //------------------------------------------------------------------------
4248
      if (PrimPoly == 3319) {
4249
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ;\n");
4250
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
4251
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ;\n");
4252
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
4253
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4254
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ;\n");
4255
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
4256
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4257
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4258
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
4259
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4260
      }
4261
      //------------------------------------------------------------------------
4262
      // bitSymbol = 11, Primpoly = 3331
4263
      //------------------------------------------------------------------------
4264
      if (PrimPoly == 3331) {
4265
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
4266
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
4267
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
4268
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4269
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ;\n");
4270
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
4271
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[16] ^ M[19] ^ M[20] ;\n");
4272
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[17] ^ M[20] ;\n");
4273
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ;\n");
4274
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[20] ;\n");
4275
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4276
      }
4277
      //------------------------------------------------------------------------
4278
      // bitSymbol = 11, Primpoly = 3343
4279
      //------------------------------------------------------------------------
4280
      if (PrimPoly == 3343) {
4281
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ;\n");
4282
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
4283
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4284
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
4285
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
4286
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
4287
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4288
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
4289
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
4290
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ;\n");
4291
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ;\n");
4292
      }
4293
      //------------------------------------------------------------------------
4294
      // bitSymbol = 11, Primpoly = 3357
4295
      //------------------------------------------------------------------------
4296
      if (PrimPoly == 3357) {
4297
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[20] ;\n");
4298
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
4299
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ^ M[20] ;\n");
4300
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[18] ^ M[20] ;\n");
4301
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ;\n");
4302
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[16] ^ M[20] ;\n");
4303
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[17] ;\n");
4304
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[16] ^ M[18] ;\n");
4305
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ;\n");
4306
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[20] ;\n");
4307
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[19] ^ M[20] ;\n");
4308
      }
4309
      //------------------------------------------------------------------------
4310
      // bitSymbol = 11, Primpoly = 3367
4311
      //------------------------------------------------------------------------
4312
      if (PrimPoly == 3367) {
4313
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
4314
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
4315
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[16] ^ M[20] ;\n");
4316
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[17] ;\n");
4317
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ^ M[18] ;\n");
4318
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4319
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4320
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4321
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ;\n");
4322
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ;\n");
4323
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ;\n");
4324
      }
4325
      //------------------------------------------------------------------------
4326
      // bitSymbol = 11, Primpoly = 3373
4327
      //------------------------------------------------------------------------
4328
      if (PrimPoly == 3373) {
4329
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
4330
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4331
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[14] ^ M[18] ^ M[20] ;\n");
4332
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[17] ^ M[18] ;\n");
4333
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[18] ^ M[19] ;\n");
4334
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
4335
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ;\n");
4336
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ;\n");
4337
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ;\n");
4338
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ;\n");
4339
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
4340
      }
4341
      //------------------------------------------------------------------------
4342
      // bitSymbol = 11, Primpoly = 3393
4343
      //------------------------------------------------------------------------
4344
      if (PrimPoly == 3393) {
4345
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ;\n");
4346
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ;\n");
4347
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
4348
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
4349
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4350
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4351
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
4352
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4353
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4354
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
4355
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ;\n");
4356
      }
4357
      //------------------------------------------------------------------------
4358
      // bitSymbol = 11, Primpoly = 3399
4359
      //------------------------------------------------------------------------
4360
      if (PrimPoly == 3399) {
4361
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
4362
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ;\n");
4363
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[18] ^ M[19] ;\n");
4364
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[19] ^ M[20] ;\n");
4365
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ^ M[20] ;\n");
4366
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[16] ;\n");
4367
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4368
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ;\n");
4369
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ;\n");
4370
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ;\n");
4371
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ;\n");
4372
      }
4373
      //------------------------------------------------------------------------
4374
      // bitSymbol = 11, Primpoly = 3413
4375
      //------------------------------------------------------------------------
4376
      if (PrimPoly == 3413) {
4377
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
4378
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4379
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4380
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
4381
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ;\n");
4382
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
4383
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
4384
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4385
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
4386
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
4387
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
4388
      }
4389
      //------------------------------------------------------------------------
4390
      // bitSymbol = 11, Primpoly = 3417
4391
      //------------------------------------------------------------------------
4392
      if (PrimPoly == 3417) {
4393
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
4394
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ;\n");
4395
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
4396
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[19] ^ M[20] ;\n");
4397
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[14] ^ M[16] ^ M[18] ;\n");
4398
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[15] ^ M[17] ^ M[19] ;\n");
4399
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[15] ;\n");
4400
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[16] ;\n");
4401
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4402
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4403
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ;\n");
4404
      }
4405
      //------------------------------------------------------------------------
4406
      // bitSymbol = 11, Primpoly = 3427
4407
      //------------------------------------------------------------------------
4408
      if (PrimPoly == 3427) {
4409
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ;\n");
4410
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[14] ^ M[15] ^ M[18] ;\n");
4411
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[15] ^ M[16] ^ M[19] ;\n");
4412
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[16] ^ M[17] ^ M[20] ;\n");
4413
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[17] ^ M[18] ;\n");
4414
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4415
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4416
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4417
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[15] ^ M[18] ^ M[20] ;\n");
4418
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[16] ^ M[19] ;\n");
4419
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ;\n");
4420
      }
4421
      //------------------------------------------------------------------------
4422
      // bitSymbol = 11, Primpoly = 3439
4423
      //------------------------------------------------------------------------
4424
      if (PrimPoly == 3439) {
4425
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4426
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ;\n");
4427
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[17] ;\n");
4428
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4429
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4430
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[18] ;\n");
4431
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
4432
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ;\n");
4433
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
4434
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ;\n");
4435
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
4436
      }
4437
      //------------------------------------------------------------------------
4438
      // bitSymbol = 11, Primpoly = 3441
4439
      //------------------------------------------------------------------------
4440
      if (PrimPoly == 3441) {
4441
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4442
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4443
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4444
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4445
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ;\n");
4446
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4447
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[19] ;\n");
4448
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[20] ;\n");
4449
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4450
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ;\n");
4451
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
4452
      }
4453
      //------------------------------------------------------------------------
4454
      // bitSymbol = 11, Primpoly = 3475
4455
      //------------------------------------------------------------------------
4456
      if (PrimPoly == 3475) {
4457
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ;\n");
4458
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ;\n");
4459
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
4460
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[16] ^ M[19] ^ M[20] ;\n");
4461
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[19] ;\n");
4462
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[20] ;\n");
4463
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
4464
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
4465
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ;\n");
4466
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
4467
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4468
      }
4469
      //------------------------------------------------------------------------
4470
      // bitSymbol = 11, Primpoly = 3487
4471
      //------------------------------------------------------------------------
4472
      if (PrimPoly == 3487) {
4473
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ;\n");
4474
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[14] ^ M[17] ^ M[18] ;\n");
4475
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
4476
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4477
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
4478
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
4479
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
4480
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ;\n");
4481
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[14] ^ M[15] ^ M[19] ;\n");
4482
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[15] ^ M[16] ^ M[20] ;\n");
4483
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[16] ;\n");
4484
      }
4485
      //------------------------------------------------------------------------
4486
      // bitSymbol = 11, Primpoly = 3497
4487
      //------------------------------------------------------------------------
4488
      if (PrimPoly == 3497) {
4489
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ;\n");
4490
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[19] ^ M[20] ;\n");
4491
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[15] ^ M[20] ;\n");
4492
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
4493
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4494
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4495
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4496
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ;\n");
4497
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[15] ^ M[17] ^ M[19] ;\n");
4498
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[16] ^ M[18] ^ M[20] ;\n");
4499
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[17] ^ M[18] ;\n");
4500
      }
4501
      //------------------------------------------------------------------------
4502
      // bitSymbol = 11, Primpoly = 3515
4503
      //------------------------------------------------------------------------
4504
      if (PrimPoly == 3515) {
4505
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[19] ^ M[20] ;\n");
4506
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[14] ^ M[19] ;\n");
4507
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[15] ^ M[20] ;\n");
4508
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[16] ^ M[19] ^ M[20] ;\n");
4509
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[17] ^ M[19] ;\n");
4510
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[18] ^ M[19] ;\n");
4511
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[19] ^ M[20] ;\n");
4512
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[15] ^ M[19] ;\n");
4513
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[16] ^ M[19] ;\n");
4514
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[17] ^ M[20] ;\n");
4515
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[18] ^ M[19] ^ M[20] ;\n");
4516
      }
4517
      //------------------------------------------------------------------------
4518
      // bitSymbol = 11, Primpoly = 3517
4519
      //------------------------------------------------------------------------
4520
      if (PrimPoly == 3517) {
4521
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[19] ;\n");
4522
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[20] ;\n");
4523
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[19] ;\n");
4524
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
4525
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4526
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4527
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
4528
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[20] ;\n");
4529
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[16] ^ M[17] ^ M[19] ;\n");
4530
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[17] ^ M[18] ^ M[20] ;\n");
4531
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[18] ;\n");
4532
      }
4533
      //------------------------------------------------------------------------
4534
      // bitSymbol = 11, Primpoly = 3529
4535
      //------------------------------------------------------------------------
4536
      if (PrimPoly == 3529) {
4537
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[20] ;\n");
4538
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
4539
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ;\n");
4540
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ;\n");
4541
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
4542
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
4543
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
4544
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
4545
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
4546
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ;\n");
4547
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[19] ;\n");
4548
      }
4549
      //------------------------------------------------------------------------
4550
      // bitSymbol = 11, Primpoly = 3543
4551
      //------------------------------------------------------------------------
4552
      if (PrimPoly == 3543) {
4553
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4554
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[14] ^ M[16] ;\n");
4555
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4556
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4557
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[19] ;\n");
4558
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[20] ;\n");
4559
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ;\n");
4560
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
4561
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[18] ;\n");
4562
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[19] ;\n");
4563
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4564
      }
4565
      //------------------------------------------------------------------------
4566
      // bitSymbol = 11, Primpoly = 3547
4567
      //------------------------------------------------------------------------
4568
      if (PrimPoly == 3547) {
4569
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ;\n");
4570
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[14] ^ M[16] ^ M[19] ;\n");
4571
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[15] ^ M[17] ^ M[20] ;\n");
4572
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[17] ;\n");
4573
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[16] ^ M[17] ;\n");
4574
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[17] ^ M[18] ;\n");
4575
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[19] ;\n");
4576
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[16] ^ M[20] ;\n");
4577
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[16] ^ M[18] ;\n");
4578
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[17] ^ M[19] ;\n");
4579
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
4580
      }
4581
      //------------------------------------------------------------------------
4582
      // bitSymbol = 11, Primpoly = 3553
4583
      //------------------------------------------------------------------------
4584
      if (PrimPoly == 3553) {
4585
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[20] ;\n");
4586
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ;\n");
4587
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
4588
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ;\n");
4589
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
4590
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ;\n");
4591
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4592
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
4593
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
4594
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ;\n");
4595
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[19] ;\n");
4596
      }
4597
      //------------------------------------------------------------------------
4598
      // bitSymbol = 11, Primpoly = 3559
4599
      //------------------------------------------------------------------------
4600
      if (PrimPoly == 3559) {
4601
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ;\n");
4602
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ;\n");
4603
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
4604
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4605
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4606
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
4607
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
4608
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ;\n");
4609
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[14] ^ M[18] ;\n");
4610
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[15] ^ M[19] ;\n");
4611
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[20] ;\n");
4612
      }
4613
      //------------------------------------------------------------------------
4614
      // bitSymbol = 11, Primpoly = 3573
4615
      //------------------------------------------------------------------------
4616
      if (PrimPoly == 3573) {
4617
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[20] ;\n");
4618
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ;\n");
4619
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ;\n");
4620
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ;\n");
4621
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ^ M[20] ;\n");
4622
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[15] ^ M[16] ^ M[20] ;\n");
4623
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ;\n");
4624
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ;\n");
4625
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
4626
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4627
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[19] ;\n");
4628
      }
4629
      //------------------------------------------------------------------------
4630
      // bitSymbol = 11, Primpoly = 3589
4631
      //------------------------------------------------------------------------
4632
      if (PrimPoly == 3589) {
4633
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
4634
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
4635
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4636
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4637
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
4638
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
4639
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4640
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4641
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[17] ^ M[18] ^ M[19] ;\n");
4642
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
4643
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ;\n");
4644
      }
4645
      //------------------------------------------------------------------------
4646
      // bitSymbol = 11, Primpoly = 3613
4647
      //------------------------------------------------------------------------
4648
      if (PrimPoly == 3613) {
4649
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
4650
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
4651
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[20] ;\n");
4652
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
4653
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[15] ^ M[16] ^ M[19] ;\n");
4654
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[16] ^ M[17] ^ M[20] ;\n");
4655
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[17] ^ M[18] ;\n");
4656
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[18] ^ M[19] ;\n");
4657
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[15] ^ M[19] ^ M[20] ;\n");
4658
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
4659
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ;\n");
4660
      }
4661
      //------------------------------------------------------------------------
4662
      // bitSymbol = 11, Primpoly = 3617
4663
      //------------------------------------------------------------------------
4664
      if (PrimPoly == 3617) {
4665
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
4666
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
4667
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ;\n");
4668
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
4669
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
4670
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
4671
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4672
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4673
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4674
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ;\n");
4675
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4676
      }
4677
      //------------------------------------------------------------------------
4678
      // bitSymbol = 11, Primpoly = 3623
4679
      //------------------------------------------------------------------------
4680
      if (PrimPoly == 3623) {
4681
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ;\n");
4682
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ;\n");
4683
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[17] ^ M[18] ;\n");
4684
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[18] ^ M[19] ;\n");
4685
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[19] ^ M[20] ;\n");
4686
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
4687
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[16] ^ M[19] ^ M[20] ;\n");
4688
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[17] ^ M[20] ;\n");
4689
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[18] ;\n");
4690
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ;\n");
4691
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
4692
      }
4693
      //------------------------------------------------------------------------
4694
      // bitSymbol = 11, Primpoly = 3627
4695
      //------------------------------------------------------------------------
4696
      if (PrimPoly == 3627) {
4697
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ;\n");
4698
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4699
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
4700
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ;\n");
4701
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
4702
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[20] ;\n");
4703
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ;\n");
4704
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ;\n");
4705
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ;\n");
4706
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
4707
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ;\n");
4708
      }
4709
      //------------------------------------------------------------------------
4710
      // bitSymbol = 11, Primpoly = 3635
4711
      //------------------------------------------------------------------------
4712
      if (PrimPoly == 3635) {
4713
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[19] ;\n");
4714
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ;\n");
4715
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ;\n");
4716
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ;\n");
4717
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ;\n");
4718
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4719
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4720
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4721
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4722
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ;\n");
4723
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[18] ;\n");
4724
      }
4725
      //------------------------------------------------------------------------
4726
      // bitSymbol = 11, Primpoly = 3641
4727
      //------------------------------------------------------------------------
4728
      if (PrimPoly == 3641) {
4729
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ;\n");
4730
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ;\n");
4731
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ;\n");
4732
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[17] ^ M[18] ;\n");
4733
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ;\n");
4734
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[16] ^ M[19] ^ M[20] ;\n");
4735
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[17] ^ M[20] ;\n");
4736
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[18] ;\n");
4737
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[19] ;\n");
4738
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[14] ^ M[20] ;\n");
4739
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[14] ;\n");
4740
      }
4741
      //------------------------------------------------------------------------
4742
      // bitSymbol = 11, Primpoly = 3655
4743
      //------------------------------------------------------------------------
4744
      if (PrimPoly == 3655) {
4745
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
4746
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[14] ^ M[18] ;\n");
4747
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[16] ^ M[17] ^ M[19] ;\n");
4748
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[17] ^ M[18] ^ M[20] ;\n");
4749
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[18] ^ M[19] ;\n");
4750
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[19] ^ M[20] ;\n");
4751
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ;\n");
4752
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
4753
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ;\n");
4754
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[16] ^ M[19] ^ M[20] ;\n");
4755
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ;\n");
4756
      }
4757
      //------------------------------------------------------------------------
4758
      // bitSymbol = 11, Primpoly = 3659
4759
      //------------------------------------------------------------------------
4760
      if (PrimPoly == 3659) {
4761
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4762
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ;\n");
4763
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ;\n");
4764
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ;\n");
4765
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ;\n");
4766
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ;\n");
4767
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[19] ;\n");
4768
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[20] ;\n");
4769
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ;\n");
4770
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4771
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
4772
      }
4773
      //------------------------------------------------------------------------
4774
      // bitSymbol = 11, Primpoly = 3669
4775
      //------------------------------------------------------------------------
4776
      if (PrimPoly == 3669) {
4777
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4778
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4779
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[19] ;\n");
4780
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[20] ;\n");
4781
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[20] ;\n");
4782
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ;\n");
4783
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ;\n");
4784
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
4785
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ;\n");
4786
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ;\n");
4787
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
4788
      }
4789
      //------------------------------------------------------------------------
4790
      // bitSymbol = 11, Primpoly = 3679
4791
      //------------------------------------------------------------------------
4792
      if (PrimPoly == 3679) {
4793
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4794
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[14] ;\n");
4795
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4796
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ;\n");
4797
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
4798
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[15] ^ M[19] ^ M[20] ;\n");
4799
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
4800
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4801
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4802
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[19] ;\n");
4803
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4804
      }
4805
      //------------------------------------------------------------------------
4806
      // bitSymbol = 11, Primpoly = 3697
4807
      //------------------------------------------------------------------------
4808
      if (PrimPoly == 3697) {
4809
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
4810
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4811
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4812
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
4813
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[14] ^ M[20] ;\n");
4814
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ;\n");
4815
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4816
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ;\n");
4817
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ;\n");
4818
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
4819
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
4820
      }
4821
      //------------------------------------------------------------------------
4822
      // bitSymbol = 11, Primpoly = 3707
4823
      //------------------------------------------------------------------------
4824
      if (PrimPoly == 3707) {
4825
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
4826
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ;\n");
4827
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
4828
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
4829
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4830
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4831
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
4832
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
4833
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ;\n");
4834
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
4835
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ;\n");
4836
      }
4837
      //------------------------------------------------------------------------
4838
      // bitSymbol = 11, Primpoly = 3709
4839
      //------------------------------------------------------------------------
4840
      if (PrimPoly == 3709) {
4841
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
4842
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
4843
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ;\n");
4844
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[15] ^ M[20] ;\n");
4845
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[15] ^ M[18] ^ M[20] ;\n");
4846
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
4847
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[14] ^ M[18] ^ M[19] ;\n");
4848
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[15] ^ M[19] ^ M[20] ;\n");
4849
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[16] ^ M[20] ;\n");
4850
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4851
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
4852
      }
4853
      //------------------------------------------------------------------------
4854
      // bitSymbol = 11, Primpoly = 3713
4855
      //------------------------------------------------------------------------
4856
      if (PrimPoly == 3713) {
4857
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ;\n");
4858
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ;\n");
4859
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[16] ^ M[20] ;\n");
4860
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[17] ;\n");
4861
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[15] ^ M[16] ^ M[18] ;\n");
4862
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[16] ^ M[17] ^ M[19] ;\n");
4863
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[17] ^ M[18] ^ M[20] ;\n");
4864
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[14] ;\n");
4865
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ;\n");
4866
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ;\n");
4867
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ;\n");
4868
      }
4869
      //------------------------------------------------------------------------
4870
      // bitSymbol = 11, Primpoly = 3731
4871
      //------------------------------------------------------------------------
4872
      if (PrimPoly == 3731) {
4873
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[19] ^ M[20] ;\n");
4874
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ;\n");
4875
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ;\n");
4876
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ;\n");
4877
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4878
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4879
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
4880
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[15] ;\n");
4881
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[16] ;\n");
4882
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ;\n");
4883
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[18] ^ M[19] ;\n");
4884
      }
4885
      //------------------------------------------------------------------------
4886
      // bitSymbol = 11, Primpoly = 3743
4887
      //------------------------------------------------------------------------
4888
      if (PrimPoly == 3743) {
4889
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ;\n");
4890
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ;\n");
4891
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[15] ^ M[16] ;\n");
4892
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ;\n");
4893
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
4894
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
4895
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4896
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[17] ^ M[18] ^ M[20] ;\n");
4897
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ;\n");
4898
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[19] ^ M[20] ;\n");
4899
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[20] ;\n");
4900
      }
4901
      //------------------------------------------------------------------------
4902
      // bitSymbol = 11, Primpoly = 3747
4903
      //------------------------------------------------------------------------
4904
      if (PrimPoly == 3747) {
4905
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ;\n");
4906
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ;\n");
4907
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ;\n");
4908
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
4909
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4910
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[19] ;\n");
4911
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[20] ;\n");
4912
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ;\n");
4913
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ;\n");
4914
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ;\n");
4915
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ;\n");
4916
      }
4917
      //------------------------------------------------------------------------
4918
      // bitSymbol = 11, Primpoly = 3771
4919
      //------------------------------------------------------------------------
4920
      if (PrimPoly == 3771) {
4921
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ;\n");
4922
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
4923
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4924
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ;\n");
4925
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
4926
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[16] ^ M[19] ;\n");
4927
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[17] ^ M[20] ;\n");
4928
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4929
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
4930
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ;\n");
4931
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4932
      }
4933
      //------------------------------------------------------------------------
4934
      // bitSymbol = 11, Primpoly = 3791
4935
      //------------------------------------------------------------------------
4936
      if (PrimPoly == 3791) {
4937
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[20] ;\n");
4938
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
4939
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
4940
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
4941
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[19] ^ M[20] ;\n");
4942
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[16] ^ M[20] ;\n");
4943
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[20] ;\n");
4944
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4945
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
4946
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ;\n");
4947
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[15] ^ M[19] ;\n");
4948
      }
4949
      //------------------------------------------------------------------------
4950
      // bitSymbol = 11, Primpoly = 3805
4951
      //------------------------------------------------------------------------
4952
      if (PrimPoly == 3805) {
4953
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ;\n");
4954
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ;\n");
4955
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[20] ;\n");
4956
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[16] ^ M[18] ;\n");
4957
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4958
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4959
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ;\n");
4960
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4961
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
4962
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4963
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ;\n");
4964
      }
4965
      //------------------------------------------------------------------------
4966
      // bitSymbol = 11, Primpoly = 3827
4967
      //------------------------------------------------------------------------
4968
      if (PrimPoly == 3827) {
4969
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4970
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
4971
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
4972
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
4973
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[19] ^ M[20] ;\n");
4974
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
4975
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
4976
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[14] ^ M[18] ;\n");
4977
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[19] ;\n");
4978
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
4979
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
4980
      }
4981
      //------------------------------------------------------------------------
4982
      // bitSymbol = 11, Primpoly = 3833
4983
      //------------------------------------------------------------------------
4984
      if (PrimPoly == 3833) {
4985
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4986
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4987
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
4988
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ;\n");
4989
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[14] ^ M[18] ^ M[20] ;\n");
4990
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
4991
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[14] ^ M[20] ;\n");
4992
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4993
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4994
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ;\n");
4995
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
4996
      }
4997
      //------------------------------------------------------------------------
4998
      // bitSymbol = 11, Primpoly = 3851
4999
      //------------------------------------------------------------------------
5000
      if (PrimPoly == 3851) {
5001
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[20] ;\n");
5002
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ;\n");
5003
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ;\n");
5004
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
5005
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ;\n");
5006
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ;\n");
5007
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
5008
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ;\n");
5009
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
5010
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
5011
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[14] ^ M[15] ^ M[19] ;\n");
5012
      }
5013
      //------------------------------------------------------------------------
5014
      // bitSymbol = 11, Primpoly = 3865
5015
      //------------------------------------------------------------------------
5016
      if (PrimPoly == 3865) {
5017
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ;\n");
5018
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ;\n");
5019
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ;\n");
5020
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[19] ;\n");
5021
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
5022
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ;\n");
5023
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
5024
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ;\n");
5025
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
5026
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
5027
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ;\n");
5028
      }
5029
      //------------------------------------------------------------------------
5030
      // bitSymbol = 11, Primpoly = 3889
5031
      //------------------------------------------------------------------------
5032
      if (PrimPoly == 3889) {
5033
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
5034
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
5035
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
5036
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
5037
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
5038
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
5039
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
5040
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
5041
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
5042
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[17] ^ M[20] ;\n");
5043
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
5044
      }
5045
      //------------------------------------------------------------------------
5046
      // bitSymbol = 11, Primpoly = 3895
5047
      //------------------------------------------------------------------------
5048
      if (PrimPoly == 3895) {
5049
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
5050
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ;\n");
5051
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
5052
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
5053
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ;\n");
5054
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
5055
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
5056
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
5057
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ;\n");
5058
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ;\n");
5059
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
5060
      }
5061
      //------------------------------------------------------------------------
5062
      // bitSymbol = 11, Primpoly = 3933
5063
      //------------------------------------------------------------------------
5064
      if (PrimPoly == 3933) {
5065
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[15] ^ M[20] ;\n");
5066
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[16] ;\n");
5067
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ;\n");
5068
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ;\n");
5069
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ;\n");
5070
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[15] ^ M[18] ^ M[20] ;\n");
5071
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
5072
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ;\n");
5073
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ;\n");
5074
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
5075
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[14] ^ M[19] ;\n");
5076
      }
5077
      //------------------------------------------------------------------------
5078
      // bitSymbol = 11, Primpoly = 3947
5079
      //------------------------------------------------------------------------
5080
      if (PrimPoly == 3947) {
5081
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
5082
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ;\n");
5083
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
5084
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[20] ;\n");
5085
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ;\n");
5086
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
5087
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[14] ^ M[17] ;\n");
5088
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ;\n");
5089
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
5090
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[20] ;\n");
5091
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
5092
      }
5093
      //------------------------------------------------------------------------
5094
      // bitSymbol = 11, Primpoly = 3949
5095
      //------------------------------------------------------------------------
5096
      if (PrimPoly == 3949) {
5097
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
5098
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
5099
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ;\n");
5100
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
5101
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ;\n");
5102
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[20] ;\n");
5103
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ;\n");
5104
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ;\n");
5105
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ;\n");
5106
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ;\n");
5107
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
5108
      }
5109
      //------------------------------------------------------------------------
5110
      // bitSymbol = 11, Primpoly = 3957
5111
      //------------------------------------------------------------------------
5112
      if (PrimPoly == 3957) {
5113
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[20] ;\n");
5114
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ;\n");
5115
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ;\n");
5116
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ;\n");
5117
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[20] ;\n");
5118
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[14] ^ M[20] ;\n");
5119
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[14] ^ M[17] ^ M[20] ;\n");
5120
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[15] ^ M[18] ;\n");
5121
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
5122
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
5123
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ;\n");
5124
      }
5125
      //------------------------------------------------------------------------
5126
      // bitSymbol = 11, Primpoly = 3971
5127
      //------------------------------------------------------------------------
5128
      if (PrimPoly == 3971) {
5129
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ;\n");
5130
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[16] ^ M[18] ;\n");
5131
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[17] ^ M[19] ;\n");
5132
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[15] ^ M[18] ^ M[20] ;\n");
5133
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[16] ^ M[19] ;\n");
5134
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[17] ^ M[20] ;\n");
5135
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[16] ^ M[18] ;\n");
5136
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[16] ^ M[19] ;\n");
5137
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[16] ^ M[20] ;\n");
5138
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[14] ^ M[16] ;\n");
5139
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[15] ^ M[16] ;\n");
5140
      }
5141
      //------------------------------------------------------------------------
5142
      // bitSymbol = 11, Primpoly = 3985
5143
      //------------------------------------------------------------------------
5144
      if (PrimPoly == 3985) {
5145
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
5146
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ;\n");
5147
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
5148
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ;\n");
5149
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ;\n");
5150
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ;\n");
5151
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ;\n");
5152
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ;\n");
5153
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[15] ^ M[20] ;\n");
5154
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ;\n");
5155
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
5156
      }
5157
      //------------------------------------------------------------------------
5158
      // bitSymbol = 11, Primpoly = 3991
5159
      //------------------------------------------------------------------------
5160
      if (PrimPoly == 3991) {
5161
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ;\n");
5162
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[16] ^ M[19] ;\n");
5163
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ;\n");
5164
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[15] ^ M[17] ^ M[19] ;\n");
5165
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[20] ;\n");
5166
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ;\n");
5167
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ;\n");
5168
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
5169
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ;\n");
5170
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[14] ^ M[17] ^ M[20] ;\n");
5171
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ;\n");
5172
      }
5173
      //------------------------------------------------------------------------
5174
      // bitSymbol = 11, Primpoly = 3995
5175
      //------------------------------------------------------------------------
5176
      if (PrimPoly == 3995) {
5177
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
5178
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[16] ;\n");
5179
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[17] ;\n");
5180
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
5181
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[13] ^ M[14] ^ M[19] ;\n");
5182
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[15] ^ M[20] ;\n");
5183
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[16] ;\n");
5184
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ;\n");
5185
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
5186
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[14] ^ M[20] ;\n");
5187
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
5188
      }
5189
      //------------------------------------------------------------------------
5190
      // bitSymbol = 11, Primpoly = 4007
5191
      //------------------------------------------------------------------------
5192
      if (PrimPoly == 4007) {
5193
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[16] ^ M[19] ^ M[20] ;\n");
5194
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ;\n");
5195
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ;\n");
5196
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
5197
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
5198
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ;\n");
5199
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
5200
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[20] ;\n");
5201
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ;\n");
5202
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ;\n");
5203
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[15] ^ M[18] ^ M[19] ;\n");
5204
      }
5205
      //------------------------------------------------------------------------
5206
      // bitSymbol = 11, Primpoly = 4013
5207
      //------------------------------------------------------------------------
5208
      if (PrimPoly == 4013) {
5209
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[16] ^ M[20] ;\n");
5210
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[17] ;\n");
5211
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ;\n");
5212
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
5213
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
5214
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
5215
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ;\n");
5216
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
5217
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ;\n");
5218
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
5219
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[15] ^ M[19] ;\n");
5220
      }
5221
      //------------------------------------------------------------------------
5222
      // bitSymbol = 11, Primpoly = 4021
5223
      //------------------------------------------------------------------------
5224
      if (PrimPoly == 4021) {
5225
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ;\n");
5226
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ;\n");
5227
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ;\n");
5228
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ;\n");
5229
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ;\n");
5230
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ;\n");
5231
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ;\n");
5232
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
5233
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[13] ^ M[14] ^ M[20] ;\n");
5234
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ;\n");
5235
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ;\n");
5236
      }
5237
      //------------------------------------------------------------------------
5238
      // bitSymbol = 11, Primpoly = 4045
5239
      //------------------------------------------------------------------------
5240
      if (PrimPoly == 4045) {
5241
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
5242
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ;\n");
5243
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ;\n");
5244
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ;\n");
5245
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ;\n");
5246
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
5247
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[19] ;\n");
5248
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ;\n");
5249
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ;\n");
5250
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[15] ^ M[20] ;\n");
5251
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
5252
      }
5253
      //------------------------------------------------------------------------
5254
      // bitSymbol = 11, Primpoly = 4051
5255
      //------------------------------------------------------------------------
5256
      if (PrimPoly == 4051) {
5257
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[17] ^ M[20] ;\n");
5258
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[11] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ;\n");
5259
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ;\n");
5260
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ;\n");
5261
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ;\n");
5262
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ;\n");
5263
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
5264
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ;\n");
5265
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ;\n");
5266
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[15] ^ M[16] ^ M[18] ;\n");
5267
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[16] ^ M[19] ^ M[20] ;\n");
5268
      }
5269
      //------------------------------------------------------------------------
5270
      // bitSymbol = 11, Primpoly = 4069
5271
      //------------------------------------------------------------------------
5272
      if (PrimPoly == 4069) {
5273
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[18] ^ M[19] ^ M[20] ;\n");
5274
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[19] ^ M[20] ;\n");
5275
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ;\n");
5276
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ;\n");
5277
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ;\n");
5278
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ;\n");
5279
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ;\n");
5280
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ;\n");
5281
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[15] ^ M[17] ^ M[19] ;\n");
5282
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[16] ^ M[19] ;\n");
5283
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[17] ^ M[18] ^ M[19] ;\n");
5284
      }
5285
      //------------------------------------------------------------------------
5286
      // bitSymbol = 11, Primpoly = 4073
5287
      //------------------------------------------------------------------------
5288
      if (PrimPoly == 4073) {
5289
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[11] ^ M[12] ^ M[18] ;\n");
5290
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[19] ;\n");
5291
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[20] ;\n");
5292
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ;\n");
5293
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ;\n");
5294
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ;\n");
5295
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ;\n");
5296
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ;\n");
5297
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ;\n");
5298
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[11] ^ M[16] ^ M[17] ^ M[19] ;\n");
5299
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[11] ^ M[17] ^ M[20] ;\n");
5300
      }
5301
   break;
5302
 
5303
 
5304
   case(12):
5305
/*      //------------------------------------------------------------------------
5306
      // bitSymbol = 12, Primpoly = 4179
5307
      //------------------------------------------------------------------------
5308
      if (PrimPoly == 4179) {
5309
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[18] ^ M[20] ;\n");
5310
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ;\n");
5311
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ;\n");
5312
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[20] ^ M[21] ^ M[22] ;\n");
5313
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ;\n");
5314
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ;\n");
5315
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[17] ^ M[22] ;\n");
5316
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[15] ^ M[18] ;\n");
5317
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[16] ^ M[19] ;\n");
5318
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[15] ^ M[17] ^ M[20] ;\n");
5319
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[16] ^ M[18] ^ M[21] ;\n");
5320
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[17] ^ M[19] ^ M[22] ;\n");
5321
      }*/
5322
      //------------------------------------------------------------------------
5323
      // bitSymbol = 12, Primpoly = 4179
5324
      //------------------------------------------------------------------------
5325
      if (PrimPoly == 4179) {
5326
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[18] ^ M[20] ; \n");
5327
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5328
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5329
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[20] ^ M[21] ^ M[22] ; \n");
5330
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5331
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
5332
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[17] ^ M[22] ; \n");
5333
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[15] ^ M[18] ; \n");
5334
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[16] ^ M[19] ; \n");
5335
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[15] ^ M[17] ^ M[20] ; \n");
5336
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[16] ^ M[18] ^ M[21] ; \n");
5337
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[17] ^ M[19] ^ M[22] ; \n");
5338
      }
5339
      //------------------------------------------------------------------------
5340
      // bitSymbol = 12, Primpoly = 4201
5341
      //------------------------------------------------------------------------
5342
      if (PrimPoly == 4201) {
5343
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[18] ^ M[19] ^ M[21] ; \n");
5344
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[19] ^ M[20] ^ M[22] ; \n");
5345
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[20] ^ M[21] ; \n");
5346
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[15] ^ M[18] ^ M[19] ^ M[22] ; \n");
5347
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[16] ^ M[19] ^ M[20] ; \n");
5348
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
5349
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[20] ; \n");
5350
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[16] ^ M[21] ; \n");
5351
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[17] ^ M[22] ; \n");
5352
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[15] ^ M[16] ^ M[18] ; \n");
5353
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[16] ^ M[17] ^ M[19] ; \n");
5354
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[17] ^ M[18] ^ M[20] ; \n");
5355
      }
5356
      //------------------------------------------------------------------------
5357
      // bitSymbol = 12, Primpoly = 4219
5358
      //------------------------------------------------------------------------
5359
      if (PrimPoly == 4219) {
5360
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5361
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[18] ^ M[22] ; \n");
5362
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[19] ; \n");
5363
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[21] ; \n");
5364
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[21] ^ M[22] ; \n");
5365
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5366
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ^ M[22] ; \n");
5367
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[21] ; \n");
5368
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[22] ; \n");
5369
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ; \n");
5370
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
5371
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5372
      }
5373
      //------------------------------------------------------------------------
5374
      // bitSymbol = 12, Primpoly = 4221
5375
      //------------------------------------------------------------------------
5376
      if (PrimPoly == 4221) {
5377
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5378
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5379
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ; \n");
5380
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[21] ^ M[22] ; \n");
5381
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ; \n");
5382
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ; \n");
5383
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ^ M[22] ; \n");
5384
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ; \n");
5385
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
5386
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ; \n");
5387
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
5388
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5389
      }
5390
      //------------------------------------------------------------------------
5391
      // bitSymbol = 12, Primpoly = 4249
5392
      //------------------------------------------------------------------------
5393
      if (PrimPoly == 4249) {
5394
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
5395
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[18] ^ M[21] ^ M[22] ; \n");
5396
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[19] ^ M[22] ; \n");
5397
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[15] ^ M[17] ^ M[21] ^ M[22] ; \n");
5398
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
5399
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
5400
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5401
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[22] ; \n");
5402
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ; \n");
5403
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
5404
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5405
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ; \n");
5406
      }
5407
      //------------------------------------------------------------------------
5408
      // bitSymbol = 12, Primpoly = 4305
5409
      //------------------------------------------------------------------------
5410
      if (PrimPoly == 4305) {
5411
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
5412
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[18] ^ M[19] ^ M[21] ; \n");
5413
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[19] ^ M[20] ^ M[22] ; \n");
5414
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[20] ^ M[21] ; \n");
5415
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
5416
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
5417
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[17] ^ M[19] ; \n");
5418
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[22] ; \n");
5419
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ; \n");
5420
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ; \n");
5421
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ; \n");
5422
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ; \n");
5423
      }
5424
      //------------------------------------------------------------------------
5425
      // bitSymbol = 12, Primpoly = 4331
5426
      //------------------------------------------------------------------------
5427
      if (PrimPoly == 4331) {
5428
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
5429
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[17] ^ M[20] ^ M[21] ; \n");
5430
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[18] ^ M[21] ^ M[22] ; \n");
5431
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[21] ; \n");
5432
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[22] ; \n");
5433
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5434
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ; \n");
5435
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
5436
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
5437
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
5438
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
5439
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5440
      }
5441
      //------------------------------------------------------------------------
5442
      // bitSymbol = 12, Primpoly = 4359
5443
      //------------------------------------------------------------------------
5444
      if (PrimPoly == 4359) {
5445
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[16] ^ M[20] ^ M[22] ; \n");
5446
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
5447
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
5448
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
5449
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5450
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
5451
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5452
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
5453
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ; \n");
5454
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ; \n");
5455
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[18] ^ M[20] ^ M[21] ; \n");
5456
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[15] ^ M[19] ^ M[21] ^ M[22] ; \n");
5457
      }
5458
      //------------------------------------------------------------------------
5459
      // bitSymbol = 12, Primpoly = 4383
5460
      //------------------------------------------------------------------------
5461
      if (PrimPoly == 4383) {
5462
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[16] ^ M[21] ^ M[22] ; \n");
5463
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[21] ; \n");
5464
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
5465
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
5466
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5467
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5468
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5469
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5470
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ; \n");
5471
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ; \n");
5472
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[19] ^ M[20] ^ M[21] ; \n");
5473
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[15] ^ M[20] ^ M[21] ^ M[22] ; \n");
5474
      }
5475
      //------------------------------------------------------------------------
5476
      // bitSymbol = 12, Primpoly = 4387
5477
      //------------------------------------------------------------------------
5478
      if (PrimPoly == 4387) {
5479
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[16] ^ M[19] ^ M[20] ; \n");
5480
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ; \n");
5481
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
5482
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[21] ; \n");
5483
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[22] ; \n");
5484
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[17] ^ M[19] ^ M[21] ; \n");
5485
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[18] ^ M[20] ^ M[22] ; \n");
5486
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[19] ^ M[21] ; \n");
5487
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[16] ^ M[19] ^ M[22] ; \n");
5488
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[16] ^ M[17] ^ M[20] ; \n");
5489
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[17] ^ M[18] ^ M[21] ; \n");
5490
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[15] ^ M[18] ^ M[19] ^ M[22] ; \n");
5491
      }
5492
      //------------------------------------------------------------------------
5493
      // bitSymbol = 12, Primpoly = 4411
5494
      //------------------------------------------------------------------------
5495
      if (PrimPoly == 4411) {
5496
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[16] ^ M[19] ^ M[21] ; \n");
5497
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5498
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5499
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[22] ; \n");
5500
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[21] ; \n");
5501
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
5502
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ^ M[22] ; \n");
5503
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ^ M[21] ; \n");
5504
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[17] ^ M[19] ^ M[22] ; \n");
5505
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[16] ^ M[18] ^ M[20] ; \n");
5506
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[17] ^ M[19] ^ M[21] ; \n");
5507
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[15] ^ M[18] ^ M[20] ^ M[22] ; \n");
5508
      }
5509
      //------------------------------------------------------------------------
5510
      // bitSymbol = 12, Primpoly = 4431
5511
      //------------------------------------------------------------------------
5512
      if (PrimPoly == 4431) {
5513
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5514
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
5515
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[22] ; \n");
5516
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ^ M[22] ; \n");
5517
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
5518
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ; \n");
5519
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
5520
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[16] ^ M[18] ^ M[20] ^ M[22] ; \n");
5521
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5522
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5523
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5524
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5525
      }
5526
      //------------------------------------------------------------------------
5527
      // bitSymbol = 12, Primpoly = 4439
5528
      //------------------------------------------------------------------------
5529
      if (PrimPoly == 4439) {
5530
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[16] ^ M[18] ^ M[22] ; \n");
5531
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
5532
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
5533
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
5534
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[19] ^ M[21] ; \n");
5535
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[15] ^ M[16] ^ M[20] ^ M[22] ; \n");
5536
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
5537
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[22] ; \n");
5538
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5539
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ; \n");
5540
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
5541
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[15] ^ M[17] ^ M[21] ^ M[22] ; \n");
5542
      }
5543
      //------------------------------------------------------------------------
5544
      // bitSymbol = 12, Primpoly = 4449
5545
      //------------------------------------------------------------------------
5546
      if (PrimPoly == 4449) {
5547
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
5548
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
5549
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5550
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[19] ^ M[21] ^ M[22] ; \n");
5551
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[16] ^ M[20] ^ M[22] ; \n");
5552
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5553
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[21] ^ M[22] ; \n");
5554
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[22] ; \n");
5555
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ; \n");
5556
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ; \n");
5557
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
5558
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ; \n");
5559
      }
5560
      //------------------------------------------------------------------------
5561
      // bitSymbol = 12, Primpoly = 4459
5562
      //------------------------------------------------------------------------
5563
      if (PrimPoly == 4459) {
5564
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5565
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
5566
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ; \n");
5567
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[21] ; \n");
5568
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[22] ; \n");
5569
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
5570
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[22] ; \n");
5571
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ; \n");
5572
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
5573
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
5574
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
5575
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5576
      }
5577
      //------------------------------------------------------------------------
5578
      // bitSymbol = 12, Primpoly = 4485
5579
      //------------------------------------------------------------------------
5580
      if (PrimPoly == 4485) {
5581
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[16] ^ M[17] ^ M[20] ; \n");
5582
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[17] ^ M[18] ^ M[21] ; \n");
5583
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5584
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5585
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5586
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5587
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5588
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5589
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[16] ^ M[21] ^ M[22] ; \n");
5590
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[17] ^ M[22] ; \n");
5591
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[15] ^ M[18] ; \n");
5592
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[15] ^ M[16] ^ M[19] ; \n");
5593
      }
5594
      //------------------------------------------------------------------------
5595
      // bitSymbol = 12, Primpoly = 4531
5596
      //------------------------------------------------------------------------
5597
      if (PrimPoly == 4531) {
5598
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[16] ^ M[17] ^ M[19] ^ M[22] ; \n");
5599
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5600
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
5601
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5602
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[17] ^ M[21] ; \n");
5603
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ; \n");
5604
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ; \n");
5605
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
5606
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[21] ; \n");
5607
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ^ M[22] ; \n");
5608
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ^ M[21] ; \n");
5609
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[15] ^ M[16] ^ M[18] ^ M[21] ^ M[22] ; \n");
5610
      }
5611
      //------------------------------------------------------------------------
5612
      // bitSymbol = 12, Primpoly = 4569
5613
      //------------------------------------------------------------------------
5614
      if (PrimPoly == 4569) {
5615
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
5616
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
5617
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ; \n");
5618
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5619
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[19] ^ M[20] ^ M[22] ; \n");
5620
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[20] ^ M[21] ; \n");
5621
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ; \n");
5622
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[19] ^ M[21] ^ M[22] ; \n");
5623
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
5624
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
5625
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[22] ; \n");
5626
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ; \n");
5627
      }
5628
      //------------------------------------------------------------------------
5629
      // bitSymbol = 12, Primpoly = 4575
5630
      //------------------------------------------------------------------------
5631
      if (PrimPoly == 4575) {
5632
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
5633
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[16] ^ M[19] ^ M[21] ^ M[22] ; \n");
5634
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5635
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[22] ; \n");
5636
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5637
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5638
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ^ M[22] ; \n");
5639
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ; \n");
5640
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
5641
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5642
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[21] ^ M[22] ; \n");
5643
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ^ M[22] ; \n");
5644
      }
5645
      //------------------------------------------------------------------------
5646
      // bitSymbol = 12, Primpoly = 4621
5647
      //------------------------------------------------------------------------
5648
      if (PrimPoly == 4621) {
5649
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[18] ^ M[22] ; \n");
5650
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[16] ^ M[19] ; \n");
5651
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
5652
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[16] ^ M[19] ^ M[21] ^ M[22] ; \n");
5653
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[17] ^ M[20] ^ M[22] ; \n");
5654
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[18] ^ M[21] ; \n");
5655
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[15] ^ M[16] ^ M[19] ^ M[22] ; \n");
5656
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[16] ^ M[17] ^ M[20] ; \n");
5657
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[17] ^ M[18] ^ M[21] ; \n");
5658
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[15] ^ M[19] ; \n");
5659
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[16] ^ M[20] ; \n");
5660
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[17] ^ M[21] ; \n");
5661
      }
5662
      //------------------------------------------------------------------------
5663
      // bitSymbol = 12, Primpoly = 4663
5664
      //------------------------------------------------------------------------
5665
      if (PrimPoly == 4663) {
5666
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5667
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ; \n");
5668
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5669
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
5670
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[21] ; \n");
5671
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
5672
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5673
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[15] ^ M[19] ^ M[21] ^ M[22] ; \n");
5674
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[15] ^ M[16] ^ M[20] ^ M[22] ; \n");
5675
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5676
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5677
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5678
      }
5679
      //------------------------------------------------------------------------
5680
      // bitSymbol = 12, Primpoly = 4669
5681
      //------------------------------------------------------------------------
5682
      if (PrimPoly == 4669) {
5683
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5684
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ; \n");
5685
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
5686
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[16] ; \n");
5687
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5688
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[21] ^ M[22] ; \n");
5689
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[22] ; \n");
5690
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ; \n");
5691
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ; \n");
5692
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[22] ; \n");
5693
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ; \n");
5694
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
5695
      }
5696
      //------------------------------------------------------------------------
5697
      // bitSymbol = 12, Primpoly = 4711
5698
      //------------------------------------------------------------------------
5699
      if (PrimPoly == 4711) {
5700
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[19] ^ M[21] ^ M[22] ; \n");
5701
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ; \n");
5702
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
5703
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
5704
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
5705
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
5706
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ; \n");
5707
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ; \n");
5708
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ; \n");
5709
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5710
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
5711
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5712
      }
5713
      //------------------------------------------------------------------------
5714
      // bitSymbol = 12, Primpoly = 4723
5715
      //------------------------------------------------------------------------
5716
      if (PrimPoly == 4723) {
5717
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ; \n");
5718
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[22] ; \n");
5719
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ; \n");
5720
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[21] ; \n");
5721
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5722
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ^ M[22] ; \n");
5723
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
5724
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
5725
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5726
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
5727
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
5728
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5729
      }
5730
      //------------------------------------------------------------------------
5731
      // bitSymbol = 12, Primpoly = 4735
5732
      //------------------------------------------------------------------------
5733
      if (PrimPoly == 4735) {
5734
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[19] ^ M[20] ^ M[22] ; \n");
5735
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[21] ^ M[22] ; \n");
5736
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ; \n");
5737
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
5738
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[22] ; \n");
5739
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[20] ^ M[22] ; \n");
5740
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[20] ^ M[21] ^ M[22] ; \n");
5741
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[21] ^ M[22] ; \n");
5742
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[16] ^ M[22] ; \n");
5743
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
5744
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
5745
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
5746
      }
5747
      //------------------------------------------------------------------------
5748
      // bitSymbol = 12, Primpoly = 4793
5749
      //------------------------------------------------------------------------
5750
      if (PrimPoly == 4793) {
5751
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5752
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5753
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5754
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[17] ^ M[19] ^ M[21] ; \n");
5755
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ; \n");
5756
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[22] ; \n");
5757
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ; \n");
5758
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
5759
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[15] ^ M[17] ^ M[21] ^ M[22] ; \n");
5760
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
5761
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
5762
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
5763
      }
5764
      //------------------------------------------------------------------------
5765
      // bitSymbol = 12, Primpoly = 4801
5766
      //------------------------------------------------------------------------
5767
      if (PrimPoly == 4801) {
5768
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[17] ^ M[21] ^ M[22] ; \n");
5769
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[16] ^ M[18] ^ M[22] ; \n");
5770
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[17] ^ M[19] ; \n");
5771
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[18] ^ M[20] ; \n");
5772
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[16] ^ M[19] ^ M[21] ; \n");
5773
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[17] ^ M[20] ^ M[22] ; \n");
5774
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[22] ; \n");
5775
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
5776
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5777
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5778
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ; \n");
5779
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
5780
      }
5781
      //------------------------------------------------------------------------
5782
      // bitSymbol = 12, Primpoly = 4811
5783
      //------------------------------------------------------------------------
5784
      if (PrimPoly == 4811) {
5785
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[17] ^ M[22] ; \n");
5786
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
5787
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ; \n");
5788
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5789
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ; \n");
5790
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
5791
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[21] ; \n");
5792
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ; \n");
5793
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ; \n");
5794
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[19] ^ M[22] ; \n");
5795
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[15] ^ M[20] ; \n");
5796
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[16] ^ M[21] ; \n");
5797
      }
5798
      //------------------------------------------------------------------------
5799
      // bitSymbol = 12, Primpoly = 4879
5800
      //------------------------------------------------------------------------
5801
      if (PrimPoly == 4879) {
5802
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ; \n");
5803
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5804
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ^ M[21] ^ M[22] ; \n");
5805
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[22] ; \n");
5806
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ; \n");
5807
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ; \n");
5808
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ; \n");
5809
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
5810
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
5811
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[21] ; \n");
5812
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[22] ; \n");
5813
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ; \n");
5814
      }
5815
      //------------------------------------------------------------------------
5816
      // bitSymbol = 12, Primpoly = 4893
5817
      //------------------------------------------------------------------------
5818
      if (PrimPoly == 4893) {
5819
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ; \n");
5820
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ; \n");
5821
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ; \n");
5822
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[17] ^ M[21] ; \n");
5823
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[22] ; \n");
5824
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ; \n");
5825
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ; \n");
5826
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ; \n");
5827
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ; \n");
5828
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ^ M[20] ^ M[21] ; \n");
5829
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[16] ^ M[21] ^ M[22] ; \n");
5830
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[15] ^ M[17] ^ M[22] ; \n");
5831
      }
5832
      //------------------------------------------------------------------------
5833
      // bitSymbol = 12, Primpoly = 4897
5834
      //------------------------------------------------------------------------
5835
      if (PrimPoly == 4897) {
5836
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5837
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5838
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5839
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
5840
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[16] ^ M[19] ^ M[20] ^ M[22] ; \n");
5841
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
5842
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
5843
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5844
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[16] ; \n");
5845
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5846
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5847
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5848
      }
5849
      //------------------------------------------------------------------------
5850
      // bitSymbol = 12, Primpoly = 4921
5851
      //------------------------------------------------------------------------
5852
      if (PrimPoly == 4921) {
5853
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[22] ; \n");
5854
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
5855
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
5856
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[16] ^ M[21] ; \n");
5857
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ; \n");
5858
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ^ M[22] ; \n");
5859
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[21] ; \n");
5860
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[22] ; \n");
5861
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
5862
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5863
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
5864
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
5865
      }
5866
      //------------------------------------------------------------------------
5867
      // bitSymbol = 12, Primpoly = 4927
5868
      //------------------------------------------------------------------------
5869
      if (PrimPoly == 4927) {
5870
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ; \n");
5871
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ; \n");
5872
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[21] ; \n");
5873
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[22] ; \n");
5874
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ; \n");
5875
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
5876
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
5877
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
5878
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
5879
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[21] ^ M[22] ; \n");
5880
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[22] ; \n");
5881
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ; \n");
5882
      }
5883
      //------------------------------------------------------------------------
5884
      // bitSymbol = 12, Primpoly = 4941
5885
      //------------------------------------------------------------------------
5886
      if (PrimPoly == 4941) {
5887
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[16] ^ M[20] ; \n");
5888
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[16] ^ M[17] ^ M[21] ; \n");
5889
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
5890
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5891
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5892
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5893
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[21] ^ M[22] ; \n");
5894
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[22] ; \n");
5895
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ; \n");
5896
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[17] ^ M[20] ^ M[21] ; \n");
5897
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[18] ^ M[21] ^ M[22] ; \n");
5898
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[15] ^ M[19] ^ M[22] ; \n");
5899
      }
5900
      //------------------------------------------------------------------------
5901
      // bitSymbol = 12, Primpoly = 4977
5902
      //------------------------------------------------------------------------
5903
      if (PrimPoly == 4977) {
5904
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[16] ^ M[19] ^ M[21] ^ M[22] ; \n");
5905
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[16] ^ M[17] ^ M[20] ^ M[22] ; \n");
5906
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[17] ^ M[18] ^ M[21] ; \n");
5907
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[18] ^ M[19] ^ M[22] ; \n");
5908
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[20] ^ M[21] ^ M[22] ; \n");
5909
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ^ M[19] ; \n");
5910
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5911
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
5912
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[17] ^ M[19] ; \n");
5913
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5914
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5915
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5916
      }
5917
      //------------------------------------------------------------------------
5918
      // bitSymbol = 12, Primpoly = 5017
5919
      //------------------------------------------------------------------------
5920
      if (PrimPoly == 5017) {
5921
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ; \n");
5922
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ; \n");
5923
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
5924
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
5925
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
5926
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[21] ^ M[22] ; \n");
5927
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[22] ; \n");
5928
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[17] ^ M[19] ; \n");
5929
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ; \n");
5930
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[21] ; \n");
5931
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[22] ; \n");
5932
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ; \n");
5933
      }
5934
      //------------------------------------------------------------------------
5935
      // bitSymbol = 12, Primpoly = 5027
5936
      //------------------------------------------------------------------------
5937
      if (PrimPoly == 5027) {
5938
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5939
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[15] ^ M[22] ; \n");
5940
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[16] ; \n");
5941
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[17] ; \n");
5942
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[15] ^ M[16] ^ M[18] ; \n");
5943
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[15] ^ M[18] ^ M[20] ^ M[21] ; \n");
5944
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[16] ^ M[19] ^ M[21] ^ M[22] ; \n");
5945
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
5946
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[18] ^ M[21] ^ M[22] ; \n");
5947
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5948
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
5949
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5950
      }
5951
      //------------------------------------------------------------------------
5952
      // bitSymbol = 12, Primpoly = 5033
5953
      //------------------------------------------------------------------------
5954
      if (PrimPoly == 5033) {
5955
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
5956
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5957
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5958
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[16] ^ M[17] ^ M[21] ^ M[22] ; \n");
5959
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[17] ^ M[18] ^ M[22] ; \n");
5960
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ; \n");
5961
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
5962
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ^ M[20] ^ M[22] ; \n");
5963
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5964
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ^ M[22] ; \n");
5965
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
5966
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ; \n");
5967
      }
5968
      //------------------------------------------------------------------------
5969
      // bitSymbol = 12, Primpoly = 5127
5970
      //------------------------------------------------------------------------
5971
      if (PrimPoly == 5127) {
5972
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ; \n");
5973
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
5974
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
5975
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ^ M[22] ; \n");
5976
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ; \n");
5977
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ^ M[22] ; \n");
5978
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ; \n");
5979
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
5980
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[18] ^ M[19] ^ M[21] ; \n");
5981
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[19] ^ M[20] ^ M[22] ; \n");
5982
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[21] ; \n");
5983
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[22] ; \n");
5984
      }
5985
      //------------------------------------------------------------------------
5986
      // bitSymbol = 12, Primpoly = 5169
5987
      //------------------------------------------------------------------------
5988
      if (PrimPoly == 5169) {
5989
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[22] ; \n");
5990
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ; \n");
5991
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ; \n");
5992
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
5993
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[19] ^ M[20] ; \n");
5994
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5995
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
5996
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
5997
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
5998
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
5999
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
6000
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
6001
      }
6002
      //------------------------------------------------------------------------
6003
      // bitSymbol = 12, Primpoly = 5175
6004
      //------------------------------------------------------------------------
6005
      if (PrimPoly == 5175) {
6006
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ; \n");
6007
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ; \n");
6008
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[21] ; \n");
6009
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[22] ; \n");
6010
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ; \n");
6011
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ; \n");
6012
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ; \n");
6013
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ; \n");
6014
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ; \n");
6015
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
6016
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[22] ; \n");
6017
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ; \n");
6018
      }
6019
      //------------------------------------------------------------------------
6020
      // bitSymbol = 12, Primpoly = 5199
6021
      //------------------------------------------------------------------------
6022
      if (PrimPoly == 5199) {
6023
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
6024
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ; \n");
6025
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
6026
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6027
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[19] ^ M[20] ^ M[21] ; \n");
6028
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[20] ^ M[21] ^ M[22] ; \n");
6029
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[15] ^ M[20] ; \n");
6030
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[15] ^ M[16] ^ M[21] ; \n");
6031
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[16] ^ M[17] ^ M[22] ; \n");
6032
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[15] ^ M[17] ^ M[18] ; \n");
6033
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6034
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6035
      }
6036
      //------------------------------------------------------------------------
6037
      // bitSymbol = 12, Primpoly = 5213
6038
      //------------------------------------------------------------------------
6039
      if (PrimPoly == 5213) {
6040
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[16] ^ M[21] ^ M[22] ; \n");
6041
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[17] ^ M[22] ; \n");
6042
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[18] ^ M[21] ^ M[22] ; \n");
6043
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[21] ; \n");
6044
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ; \n");
6045
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
6046
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
6047
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6048
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6049
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6050
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[19] ^ M[20] ; \n");
6051
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[15] ^ M[20] ^ M[21] ; \n");
6052
      }
6053
      //------------------------------------------------------------------------
6054
      // bitSymbol = 12, Primpoly = 5223
6055
      //------------------------------------------------------------------------
6056
      if (PrimPoly == 5223) {
6057
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ^ M[22] ; \n");
6058
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
6059
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ; \n");
6060
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
6061
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
6062
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[21] ; \n");
6063
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ; \n");
6064
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ; \n");
6065
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ; \n");
6066
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ; \n");
6067
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
6068
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[21] ; \n");
6069
      }
6070
      //------------------------------------------------------------------------
6071
      // bitSymbol = 12, Primpoly = 5237
6072
      //------------------------------------------------------------------------
6073
      if (PrimPoly == 5237) {
6074
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[16] ^ M[19] ^ M[22] ; \n");
6075
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ; \n");
6076
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
6077
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[19] ^ M[20] ^ M[22] ; \n");
6078
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6079
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
6080
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6081
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6082
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6083
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6084
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[17] ^ M[20] ^ M[21] ; \n");
6085
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[15] ^ M[18] ^ M[21] ^ M[22] ; \n");
6086
      }
6087
      //------------------------------------------------------------------------
6088
      // bitSymbol = 12, Primpoly = 5287
6089
      //------------------------------------------------------------------------
6090
      if (PrimPoly == 5287) {
6091
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6092
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ; \n");
6093
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6094
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6095
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
6096
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ; \n");
6097
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ; \n");
6098
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[18] ^ M[20] ; \n");
6099
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[19] ^ M[21] ; \n");
6100
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[20] ^ M[22] ; \n");
6101
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6102
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6103
      }
6104
      //------------------------------------------------------------------------
6105
      // bitSymbol = 12, Primpoly = 5293
6106
      //------------------------------------------------------------------------
6107
      if (PrimPoly == 5293) {
6108
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6109
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6110
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[17] ^ M[21] ; \n");
6111
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
6112
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
6113
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[15] ^ M[17] ^ M[20] ^ M[21] ; \n");
6114
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[16] ^ M[18] ^ M[21] ^ M[22] ; \n");
6115
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[16] ^ M[18] ^ M[20] ; \n");
6116
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[17] ^ M[19] ^ M[21] ; \n");
6117
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[18] ^ M[20] ^ M[22] ; \n");
6118
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6119
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
6120
      }
6121
      //------------------------------------------------------------------------
6122
      // bitSymbol = 12, Primpoly = 5331
6123
      //------------------------------------------------------------------------
6124
      if (PrimPoly == 5331) {
6125
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[21] ^ M[22] ; \n");
6126
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[21] ; \n");
6127
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[22] ; \n");
6128
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ; \n");
6129
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[22] ; \n");
6130
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ; \n");
6131
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[20] ^ M[22] ; \n");
6132
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[22] ; \n");
6133
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ; \n");
6134
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ; \n");
6135
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6136
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[15] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
6137
      }
6138
      //------------------------------------------------------------------------
6139
      // bitSymbol = 12, Primpoly = 5391
6140
      //------------------------------------------------------------------------
6141
      if (PrimPoly == 5391) {
6142
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6143
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ; \n");
6144
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[22] ; \n");
6145
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
6146
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6147
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6148
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6149
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
6150
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[17] ^ M[20] ; \n");
6151
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[15] ^ M[18] ^ M[21] ; \n");
6152
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6153
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6154
      }
6155
      //------------------------------------------------------------------------
6156
      // bitSymbol = 12, Primpoly = 5405
6157
      //------------------------------------------------------------------------
6158
      if (PrimPoly == 5405) {
6159
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[18] ^ M[21] ^ M[22] ; \n");
6160
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[19] ^ M[22] ; \n");
6161
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6162
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ; \n");
6163
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6164
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
6165
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[17] ^ M[21] ^ M[22] ; \n");
6166
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[16] ^ M[18] ^ M[22] ; \n");
6167
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
6168
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6169
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[16] ^ M[19] ^ M[20] ^ M[22] ; \n");
6170
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[17] ^ M[20] ^ M[21] ; \n");
6171
      }
6172
      //------------------------------------------------------------------------
6173
      // bitSymbol = 12, Primpoly = 5453
6174
      //------------------------------------------------------------------------
6175
      if (PrimPoly == 5453) {
6176
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[20] ^ M[21] ; \n");
6177
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[21] ^ M[22] ; \n");
6178
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
6179
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[20] ^ M[22] ; \n");
6180
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[21] ; \n");
6181
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[22] ; \n");
6182
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ; \n");
6183
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
6184
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6185
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6186
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[18] ^ M[19] ^ M[22] ; \n");
6187
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[19] ^ M[20] ; \n");
6188
      }
6189
      //------------------------------------------------------------------------
6190
      // bitSymbol = 12, Primpoly = 5523
6191
      //------------------------------------------------------------------------
6192
      if (PrimPoly == 5523) {
6193
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
6194
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ; \n");
6195
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ^ M[22] ; \n");
6196
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ; \n");
6197
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ^ M[21] ; \n");
6198
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ^ M[22] ; \n");
6199
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
6200
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ^ M[19] ^ M[21] ^ M[22] ; \n");
6201
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
6202
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
6203
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ; \n");
6204
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
6205
      }
6206
      //------------------------------------------------------------------------
6207
      // bitSymbol = 12, Primpoly = 5573
6208
      //------------------------------------------------------------------------
6209
      if (PrimPoly == 5573) {
6210
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
6211
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[18] ^ M[21] ^ M[22] ; \n");
6212
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
6213
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6214
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
6215
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[19] ^ M[20] ^ M[22] ; \n");
6216
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[22] ; \n");
6217
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6218
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
6219
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
6220
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ; \n");
6221
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ; \n");
6222
      }
6223
      //------------------------------------------------------------------------
6224
      // bitSymbol = 12, Primpoly = 5591
6225
      //------------------------------------------------------------------------
6226
      if (PrimPoly == 5591) {
6227
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[17] ^ M[21] ^ M[22] ; \n");
6228
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[21] ; \n");
6229
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
6230
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6231
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6232
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ; \n");
6233
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[20] ; \n");
6234
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[22] ; \n");
6235
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
6236
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[22] ; \n");
6237
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6238
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
6239
      }
6240
      //------------------------------------------------------------------------
6241
      // bitSymbol = 12, Primpoly = 5597
6242
      //------------------------------------------------------------------------
6243
      if (PrimPoly == 5597) {
6244
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[17] ^ M[22] ; \n");
6245
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[18] ; \n");
6246
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[16] ^ M[17] ^ M[19] ^ M[22] ; \n");
6247
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[20] ^ M[22] ; \n");
6248
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
6249
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ^ M[22] ; \n");
6250
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[15] ^ M[19] ^ M[21] ^ M[22] ; \n");
6251
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ; \n");
6252
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[21] ^ M[22] ; \n");
6253
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[22] ; \n");
6254
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[15] ^ M[20] ^ M[22] ; \n");
6255
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[16] ^ M[21] ; \n");
6256
      }
6257
      //------------------------------------------------------------------------
6258
      // bitSymbol = 12, Primpoly = 5611
6259
      //------------------------------------------------------------------------
6260
      if (PrimPoly == 5611) {
6261
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ; \n");
6262
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
6263
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6264
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[15] ^ M[16] ^ M[21] ; \n");
6265
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[16] ^ M[17] ^ M[22] ; \n");
6266
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[18] ^ M[19] ^ M[20] ; \n");
6267
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[21] ; \n");
6268
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6269
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
6270
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
6271
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ; \n");
6272
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ; \n");
6273
      }
6274
      //------------------------------------------------------------------------
6275
      // bitSymbol = 12, Primpoly = 5641
6276
      //------------------------------------------------------------------------
6277
      if (PrimPoly == 5641) {
6278
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[22] ; \n");
6279
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ; \n");
6280
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
6281
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ; \n");
6282
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ; \n");
6283
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
6284
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
6285
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6286
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
6287
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
6288
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
6289
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[21] ^ M[22] ; \n");
6290
      }
6291
      //------------------------------------------------------------------------
6292
      // bitSymbol = 12, Primpoly = 5703
6293
      //------------------------------------------------------------------------
6294
      if (PrimPoly == 5703) {
6295
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
6296
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
6297
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[16] ; \n");
6298
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[17] ; \n");
6299
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[15] ^ M[18] ; \n");
6300
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[16] ^ M[19] ; \n");
6301
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6302
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6303
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6304
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
6305
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
6306
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
6307
      }
6308
      //------------------------------------------------------------------------
6309
      // bitSymbol = 12, Primpoly = 5717
6310
      //------------------------------------------------------------------------
6311
      if (PrimPoly == 5717) {
6312
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6313
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6314
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[15] ^ M[17] ^ M[19] ; \n");
6315
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[16] ^ M[18] ^ M[20] ; \n");
6316
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
6317
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
6318
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ; \n");
6319
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
6320
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ; \n");
6321
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[16] ^ M[21] ^ M[22] ; \n");
6322
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6323
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6324
      }
6325
      //------------------------------------------------------------------------
6326
      // bitSymbol = 12, Primpoly = 5721
6327
      //------------------------------------------------------------------------
6328
      if (PrimPoly == 5721) {
6329
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
6330
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
6331
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6332
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
6333
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6334
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6335
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[20] ^ M[21] ^ M[22] ; \n");
6336
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[21] ^ M[22] ; \n");
6337
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[22] ; \n");
6338
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
6339
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
6340
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
6341
      }
6342
      //------------------------------------------------------------------------
6343
      // bitSymbol = 12, Primpoly = 5797
6344
      //------------------------------------------------------------------------
6345
      if (PrimPoly == 5797) {
6346
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[22] ; \n");
6347
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ; \n");
6348
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[15] ^ M[18] ^ M[19] ^ M[22] ; \n");
6349
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[16] ^ M[19] ^ M[20] ; \n");
6350
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[17] ^ M[20] ^ M[21] ; \n");
6351
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
6352
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
6353
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6354
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6355
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ; \n");
6356
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[20] ^ M[21] ; \n");
6357
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[21] ^ M[22] ; \n");
6358
      }
6359
      //------------------------------------------------------------------------
6360
      // bitSymbol = 12, Primpoly = 5821
6361
      //------------------------------------------------------------------------
6362
      if (PrimPoly == 5821) {
6363
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
6364
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
6365
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6366
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ; \n");
6367
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
6368
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6369
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6370
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ; \n");
6371
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ; \n");
6372
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
6373
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6374
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6375
      }
6376
      //------------------------------------------------------------------------
6377
      // bitSymbol = 12, Primpoly = 5909
6378
      //------------------------------------------------------------------------
6379
      if (PrimPoly == 5909) {
6380
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ; \n");
6381
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
6382
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
6383
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
6384
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
6385
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ; \n");
6386
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
6387
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[18] ^ M[20] ^ M[21] ; \n");
6388
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ^ M[22] ; \n");
6389
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
6390
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ; \n");
6391
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ; \n");
6392
      }
6393
      //------------------------------------------------------------------------
6394
      // bitSymbol = 12, Primpoly = 5913
6395
      //------------------------------------------------------------------------
6396
      if (PrimPoly == 5913) {
6397
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ^ M[22] ; \n");
6398
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[16] ^ M[20] ^ M[21] ; \n");
6399
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[16] ^ M[17] ^ M[21] ^ M[22] ; \n");
6400
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
6401
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[21] ^ M[22] ; \n");
6402
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ^ M[22] ; \n");
6403
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ; \n");
6404
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ; \n");
6405
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
6406
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
6407
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ; \n");
6408
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[21] ; \n");
6409
      }
6410
      //------------------------------------------------------------------------
6411
      // bitSymbol = 12, Primpoly = 5955
6412
      //------------------------------------------------------------------------
6413
      if (PrimPoly == 5955) {
6414
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[21] ; \n");
6415
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6416
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
6417
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ^ M[22] ; \n");
6418
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ; \n");
6419
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
6420
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ; \n");
6421
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ; \n");
6422
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
6423
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ^ M[22] ; \n");
6424
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
6425
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
6426
      }
6427
      //------------------------------------------------------------------------
6428
      // bitSymbol = 12, Primpoly = 5957
6429
      //------------------------------------------------------------------------
6430
      if (PrimPoly == 5957) {
6431
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
6432
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[22] ; \n");
6433
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6434
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6435
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6436
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6437
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ; \n");
6438
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ; \n");
6439
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
6440
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
6441
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
6442
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
6443
      }
6444
      //------------------------------------------------------------------------
6445
      // bitSymbol = 12, Primpoly = 6005
6446
      //------------------------------------------------------------------------
6447
      if (PrimPoly == 6005) {
6448
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6449
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[21] ^ M[22] ; \n");
6450
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
6451
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
6452
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
6453
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[21] ; \n");
6454
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
6455
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
6456
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[19] ^ M[21] ; \n");
6457
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[21] ; \n");
6458
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6459
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6460
      }
6461
      //------------------------------------------------------------------------
6462
      // bitSymbol = 12, Primpoly = 6025
6463
      //------------------------------------------------------------------------
6464
      if (PrimPoly == 6025) {
6465
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ; \n");
6466
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ^ M[22] ; \n");
6467
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ; \n");
6468
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6469
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6470
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
6471
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[15] ^ M[17] ^ M[21] ^ M[22] ; \n");
6472
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
6473
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6474
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[22] ; \n");
6475
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ; \n");
6476
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ^ M[22] ; \n");
6477
      }
6478
      //------------------------------------------------------------------------
6479
      // bitSymbol = 12, Primpoly = 6061
6480
      //------------------------------------------------------------------------
6481
      if (PrimPoly == 6061) {
6482
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[21] ^ M[22] ; \n");
6483
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[22] ; \n");
6484
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[15] ^ M[16] ^ M[19] ^ M[21] ^ M[22] ; \n");
6485
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ^ M[21] ; \n");
6486
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ^ M[22] ; \n");
6487
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[16] ^ M[18] ^ M[21] ; \n");
6488
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[17] ^ M[19] ^ M[22] ; \n");
6489
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6490
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ; \n");
6491
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6492
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ; \n");
6493
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[20] ^ M[21] ; \n");
6494
      }
6495
      //------------------------------------------------------------------------
6496
      // bitSymbol = 12, Primpoly = 6067
6497
      //------------------------------------------------------------------------
6498
      if (PrimPoly == 6067) {
6499
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ; \n");
6500
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
6501
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
6502
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6503
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[16] ^ M[19] ^ M[21] ; \n");
6504
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[22] ; \n");
6505
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[15] ; \n");
6506
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[16] ^ M[17] ^ M[20] ; \n");
6507
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ^ M[21] ; \n");
6508
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6509
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[21] ^ M[22] ; \n");
6510
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[22] ; \n");
6511
      }
6512
      //------------------------------------------------------------------------
6513
      // bitSymbol = 12, Primpoly = 6079
6514
      //------------------------------------------------------------------------
6515
      if (PrimPoly == 6079) {
6516
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
6517
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ; \n");
6518
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6519
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[22] ; \n");
6520
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
6521
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6522
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6523
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[18] ; \n");
6524
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6525
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ; \n");
6526
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6527
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6528
      }
6529
      //------------------------------------------------------------------------
6530
      // bitSymbol = 12, Primpoly = 6081
6531
      //------------------------------------------------------------------------
6532
      if (PrimPoly == 6081) {
6533
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
6534
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
6535
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
6536
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6537
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
6538
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
6539
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6540
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
6541
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[19] ^ M[20] ^ M[21] ; \n");
6542
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6543
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ; \n");
6544
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
6545
      }
6546
      //------------------------------------------------------------------------
6547
      // bitSymbol = 12, Primpoly = 6231
6548
      //------------------------------------------------------------------------
6549
      if (PrimPoly == 6231) {
6550
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
6551
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[18] ^ M[19] ^ M[22] ; \n");
6552
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ; \n");
6553
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
6554
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[20] ^ M[21] ; \n");
6555
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[21] ^ M[22] ; \n");
6556
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[16] ^ M[19] ^ M[21] ^ M[22] ; \n");
6557
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[17] ^ M[20] ^ M[22] ; \n");
6558
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[18] ^ M[21] ; \n");
6559
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[15] ^ M[16] ^ M[19] ^ M[22] ; \n");
6560
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[16] ^ M[17] ^ M[20] ; \n");
6561
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
6562
      }
6563
      //------------------------------------------------------------------------
6564
      // bitSymbol = 12, Primpoly = 6237
6565
      //------------------------------------------------------------------------
6566
      if (PrimPoly == 6237) {
6567
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
6568
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
6569
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6570
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
6571
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6572
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6573
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[19] ^ M[21] ^ M[22] ; \n");
6574
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[16] ^ M[20] ^ M[22] ; \n");
6575
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[17] ^ M[21] ; \n");
6576
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[15] ^ M[16] ^ M[18] ^ M[22] ; \n");
6577
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[16] ^ M[17] ^ M[19] ; \n");
6578
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ; \n");
6579
      }
6580
      //------------------------------------------------------------------------
6581
      // bitSymbol = 12, Primpoly = 6289
6582
      //------------------------------------------------------------------------
6583
      if (PrimPoly == 6289) {
6584
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[22] ; \n");
6585
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ; \n");
6586
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ; \n");
6587
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
6588
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ; \n");
6589
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ; \n");
6590
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
6591
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[20] ; \n");
6592
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[21] ; \n");
6593
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[22] ; \n");
6594
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ; \n");
6595
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[21] ^ M[22] ; \n");
6596
      }
6597
      //------------------------------------------------------------------------
6598
      // bitSymbol = 12, Primpoly = 6295
6599
      //------------------------------------------------------------------------
6600
      if (PrimPoly == 6295) {
6601
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ; \n");
6602
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ; \n");
6603
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ; \n");
6604
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ; \n");
6605
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[21] ^ M[22] ; \n");
6606
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[22] ; \n");
6607
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ; \n");
6608
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[20] ; \n");
6609
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[15] ^ M[21] ; \n");
6610
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[15] ^ M[16] ^ M[22] ; \n");
6611
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[15] ^ M[16] ^ M[17] ; \n");
6612
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ; \n");
6613
      }
6614
      //------------------------------------------------------------------------
6615
      // bitSymbol = 12, Primpoly = 6329
6616
      //------------------------------------------------------------------------
6617
      if (PrimPoly == 6329) {
6618
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[22] ; \n");
6619
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
6620
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
6621
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[21] ; \n");
6622
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[16] ^ M[19] ; \n");
6623
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6624
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6625
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ^ M[21] ; \n");
6626
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[21] ^ M[22] ; \n");
6627
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[22] ; \n");
6628
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ; \n");
6629
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
6630
      }
6631
      //------------------------------------------------------------------------
6632
      // bitSymbol = 12, Primpoly = 6383
6633
      //------------------------------------------------------------------------
6634
      if (PrimPoly == 6383) {
6635
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ; \n");
6636
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[17] ^ M[19] ^ M[20] ; \n");
6637
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6638
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
6639
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ^ M[18] ^ M[21] ^ M[22] ; \n");
6640
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ^ M[22] ; \n");
6641
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[15] ^ M[19] ; \n");
6642
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ; \n");
6643
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[15] ^ M[16] ^ M[20] ^ M[21] ; \n");
6644
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[16] ^ M[17] ^ M[21] ^ M[22] ; \n");
6645
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[15] ^ M[17] ^ M[18] ^ M[22] ; \n");
6646
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ; \n");
6647
      }
6648
      //------------------------------------------------------------------------
6649
      // bitSymbol = 12, Primpoly = 6427
6650
      //------------------------------------------------------------------------
6651
      if (PrimPoly == 6427) {
6652
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
6653
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6654
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6655
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ; \n");
6656
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
6657
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ; \n");
6658
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
6659
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6660
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ; \n");
6661
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
6662
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
6663
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6664
      }
6665
      //------------------------------------------------------------------------
6666
      // bitSymbol = 12, Primpoly = 6453
6667
      //------------------------------------------------------------------------
6668
      if (PrimPoly == 6453) {
6669
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[21] ; \n");
6670
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[22] ; \n");
6671
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[16] ^ M[19] ^ M[21] ; \n");
6672
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[17] ^ M[20] ^ M[22] ; \n");
6673
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ; \n");
6674
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
6675
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6676
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
6677
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
6678
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[21] ; \n");
6679
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[22] ; \n");
6680
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[20] ; \n");
6681
      }
6682
      //------------------------------------------------------------------------
6683
      // bitSymbol = 12, Primpoly = 6465
6684
      //------------------------------------------------------------------------
6685
      if (PrimPoly == 6465) {
6686
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
6687
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
6688
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
6689
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6690
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
6691
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6692
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
6693
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[21] ^ M[22] ; \n");
6694
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ; \n");
6695
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ; \n");
6696
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ; \n");
6697
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
6698
      }
6699
      //------------------------------------------------------------------------
6700
      // bitSymbol = 12, Primpoly = 6501
6701
      //------------------------------------------------------------------------
6702
      if (PrimPoly == 6501) {
6703
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[21] ; \n");
6704
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[22] ; \n");
6705
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6706
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6707
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6708
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
6709
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[19] ^ M[20] ^ M[21] ; \n");
6710
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[20] ^ M[21] ^ M[22] ; \n");
6711
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[22] ; \n");
6712
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ; \n");
6713
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ; \n");
6714
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ; \n");
6715
      }
6716
      //------------------------------------------------------------------------
6717
      // bitSymbol = 12, Primpoly = 6523
6718
      //------------------------------------------------------------------------
6719
      if (PrimPoly == 6523) {
6720
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ; \n");
6721
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
6722
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6723
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6724
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ^ M[22] ; \n");
6725
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ^ M[22] ; \n");
6726
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ; \n");
6727
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
6728
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[22] ; \n");
6729
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ; \n");
6730
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ; \n");
6731
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ; \n");
6732
      }
6733
      //------------------------------------------------------------------------
6734
      // bitSymbol = 12, Primpoly = 6539
6735
      //------------------------------------------------------------------------
6736
      if (PrimPoly == 6539) {
6737
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[20] ^ M[22] ; \n");
6738
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
6739
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[17] ^ M[21] ^ M[22] ; \n");
6740
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[20] ; \n");
6741
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[21] ; \n");
6742
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ^ M[22] ; \n");
6743
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[15] ^ M[16] ^ M[18] ^ M[21] ; \n");
6744
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
6745
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
6746
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
6747
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ; \n");
6748
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[19] ^ M[21] ^ M[22] ; \n");
6749
      }
6750
      //------------------------------------------------------------------------
6751
      // bitSymbol = 12, Primpoly = 6577
6752
      //------------------------------------------------------------------------
6753
      if (PrimPoly == 6577) {
6754
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ; \n");
6755
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ; \n");
6756
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ; \n");
6757
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
6758
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ; \n");
6759
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ; \n");
6760
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ; \n");
6761
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[20] ; \n");
6762
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[16] ^ M[21] ; \n");
6763
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[16] ^ M[17] ^ M[22] ; \n");
6764
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[17] ^ M[18] ; \n");
6765
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ; \n");
6766
      }
6767
      //------------------------------------------------------------------------
6768
      // bitSymbol = 12, Primpoly = 6589
6769
      //------------------------------------------------------------------------
6770
      if (PrimPoly == 6589) {
6771
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ^ M[21] ^ M[22] ; \n");
6772
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ^ M[22] ; \n");
6773
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[22] ; \n");
6774
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6775
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ; \n");
6776
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[22] ; \n");
6777
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ; \n");
6778
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[21] ^ M[22] ; \n");
6779
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ; \n");
6780
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
6781
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ; \n");
6782
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6783
      }
6784
      //------------------------------------------------------------------------
6785
      // bitSymbol = 12, Primpoly = 6601
6786
      //------------------------------------------------------------------------
6787
      if (PrimPoly == 6601) {
6788
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ; \n");
6789
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ; \n");
6790
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ; \n");
6791
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[21] ; \n");
6792
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[22] ; \n");
6793
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ; \n");
6794
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
6795
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
6796
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[20] ^ M[21] ^ M[22] ; \n");
6797
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[15] ^ M[16] ^ M[21] ^ M[22] ; \n");
6798
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[16] ^ M[17] ^ M[22] ; \n");
6799
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ; \n");
6800
      }
6801
      //------------------------------------------------------------------------
6802
      // bitSymbol = 12, Primpoly = 6607
6803
      //------------------------------------------------------------------------
6804
      if (PrimPoly == 6607) {
6805
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[22] ; \n");
6806
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ^ M[22] ; \n");
6807
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6808
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6809
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
6810
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[16] ^ M[18] ^ M[21] ^ M[22] ; \n");
6811
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ; \n");
6812
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[19] ^ M[20] ^ M[22] ; \n");
6813
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6814
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[21] ^ M[22] ; \n");
6815
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ^ M[22] ; \n");
6816
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[21] ^ M[22] ; \n");
6817
      }
6818
      //------------------------------------------------------------------------
6819
      // bitSymbol = 12, Primpoly = 6631
6820
      //------------------------------------------------------------------------
6821
      if (PrimPoly == 6631) {
6822
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[22] ; \n");
6823
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[16] ^ M[18] ^ M[20] ^ M[22] ; \n");
6824
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
6825
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[22] ; \n");
6826
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
6827
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6828
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[19] ^ M[20] ^ M[21] ; \n");
6829
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6830
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ; \n");
6831
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
6832
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ^ M[22] ; \n");
6833
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
6834
      }
6835
      //------------------------------------------------------------------------
6836
      // bitSymbol = 12, Primpoly = 6683
6837
      //------------------------------------------------------------------------
6838
      if (PrimPoly == 6683) {
6839
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[22] ; \n");
6840
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
6841
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
6842
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
6843
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ; \n");
6844
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ; \n");
6845
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ; \n");
6846
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ; \n");
6847
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
6848
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ; \n");
6849
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
6850
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[21] ^ M[22] ; \n");
6851
      }
6852
      //------------------------------------------------------------------------
6853
      // bitSymbol = 12, Primpoly = 6699
6854
      //------------------------------------------------------------------------
6855
      if (PrimPoly == 6699) {
6856
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[20] ^ M[21] ; \n");
6857
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ^ M[22] ; \n");
6858
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
6859
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6860
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6861
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[22] ; \n");
6862
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
6863
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
6864
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
6865
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
6866
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ^ M[22] ; \n");
6867
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ; \n");
6868
      }
6869
      //------------------------------------------------------------------------
6870
      // bitSymbol = 12, Primpoly = 6707
6871
      //------------------------------------------------------------------------
6872
      if (PrimPoly == 6707) {
6873
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[22] ; \n");
6874
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[22] ; \n");
6875
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ; \n");
6876
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ; \n");
6877
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6878
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6879
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6880
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
6881
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[15] ^ M[18] ^ M[20] ^ M[22] ; \n");
6882
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[19] ^ M[21] ^ M[22] ; \n");
6883
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[20] ^ M[22] ; \n");
6884
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[21] ^ M[22] ; \n");
6885
      }
6886
      //------------------------------------------------------------------------
6887
      // bitSymbol = 12, Primpoly = 6761
6888
      //------------------------------------------------------------------------
6889
      if (PrimPoly == 6761) {
6890
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[21] ^ M[22] ; \n");
6891
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[22] ; \n");
6892
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ; \n");
6893
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
6894
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
6895
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6896
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[19] ^ M[20] ^ M[22] ; \n");
6897
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[20] ^ M[21] ; \n");
6898
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[21] ^ M[22] ; \n");
6899
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[21] ; \n");
6900
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[22] ; \n");
6901
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
6902
      }
6903
      //------------------------------------------------------------------------
6904
      // bitSymbol = 12, Primpoly = 6795
6905
      //------------------------------------------------------------------------
6906
      if (PrimPoly == 6795) {
6907
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
6908
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ; \n");
6909
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ; \n");
6910
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[21] ; \n");
6911
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[22] ; \n");
6912
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ; \n");
6913
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[15] ^ M[16] ^ M[19] ^ M[21] ; \n");
6914
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[21] ; \n");
6915
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[15] ^ M[22] ; \n");
6916
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
6917
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[21] ^ M[22] ; \n");
6918
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ; \n");
6919
      }
6920
      //------------------------------------------------------------------------
6921
      // bitSymbol = 12, Primpoly = 6865
6922
      //------------------------------------------------------------------------
6923
      if (PrimPoly == 6865) {
6924
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
6925
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
6926
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6927
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
6928
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[21] ; \n");
6929
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[22] ; \n");
6930
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
6931
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6932
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6933
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6934
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6935
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ; \n");
6936
      }
6937
      //------------------------------------------------------------------------
6938
      // bitSymbol = 12, Primpoly = 6881
6939
      //------------------------------------------------------------------------
6940
      if (PrimPoly == 6881) {
6941
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
6942
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6943
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6944
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6945
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6946
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[22] ; \n");
6947
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ; \n");
6948
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
6949
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[15] ^ M[19] ^ M[21] ^ M[22] ; \n");
6950
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6951
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6952
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
6953
      }
6954
      //------------------------------------------------------------------------
6955
      // bitSymbol = 12, Primpoly = 6901
6956
      //------------------------------------------------------------------------
6957
      if (PrimPoly == 6901) {
6958
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6959
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6960
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[22] ; \n");
6961
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ; \n");
6962
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ; \n");
6963
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[18] ^ M[20] ^ M[22] ; \n");
6964
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ; \n");
6965
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ; \n");
6966
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ; \n");
6967
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6968
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[14] ^ M[20] ^ M[21] ^ M[22] ; \n");
6969
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6970
      }
6971
      //------------------------------------------------------------------------
6972
      // bitSymbol = 12, Primpoly = 6923
6973
      //------------------------------------------------------------------------
6974
      if (PrimPoly == 6923) {
6975
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
6976
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[18] ^ M[22] ; \n");
6977
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[16] ^ M[19] ; \n");
6978
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
6979
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
6980
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ; \n");
6981
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[15] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
6982
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[16] ^ M[17] ^ M[21] ^ M[22] ; \n");
6983
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
6984
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[15] ^ M[19] ^ M[22] ; \n");
6985
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[16] ^ M[20] ; \n");
6986
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
6987
      }
6988
      //------------------------------------------------------------------------
6989
      // bitSymbol = 12, Primpoly = 6931
6990
      //------------------------------------------------------------------------
6991
      if (PrimPoly == 6931) {
6992
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[22] ; \n");
6993
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[18] ^ M[20] ^ M[22] ; \n");
6994
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[16] ^ M[19] ^ M[21] ; \n");
6995
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[17] ^ M[20] ^ M[22] ; \n");
6996
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[19] ^ M[21] ^ M[22] ; \n");
6997
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ^ M[22] ; \n");
6998
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ; \n");
6999
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
7000
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[22] ; \n");
7001
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[15] ^ M[17] ^ M[19] ^ M[22] ; \n");
7002
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[16] ^ M[18] ^ M[20] ; \n");
7003
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
7004
      }
7005
      //------------------------------------------------------------------------
7006
      // bitSymbol = 12, Primpoly = 6943
7007
      //------------------------------------------------------------------------
7008
      if (PrimPoly == 6943) {
7009
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[21] ; \n");
7010
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
7011
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[22] ; \n");
7012
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[21] ; \n");
7013
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[21] ^ M[22] ; \n");
7014
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[22] ; \n");
7015
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ; \n");
7016
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ; \n");
7017
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[20] ^ M[21] ; \n");
7018
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
7019
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
7020
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ; \n");
7021
      }
7022
      //------------------------------------------------------------------------
7023
      // bitSymbol = 12, Primpoly = 6999
7024
      //------------------------------------------------------------------------
7025
      if (PrimPoly == 6999) {
7026
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[19] ^ M[20] ^ M[22] ; \n");
7027
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[19] ^ M[21] ^ M[22] ; \n");
7028
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[16] ^ M[19] ; \n");
7029
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ; \n");
7030
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7031
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7032
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[21] ; \n");
7033
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ^ M[22] ; \n");
7034
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
7035
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[16] ^ M[18] ^ M[19] ; \n");
7036
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[17] ^ M[19] ^ M[20] ; \n");
7037
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7038
      }
7039
      //------------------------------------------------------------------------
7040
      // bitSymbol = 12, Primpoly = 7057
7041
      //------------------------------------------------------------------------
7042
      if (PrimPoly == 7057) {
7043
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[21] ; \n");
7044
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[22] ; \n");
7045
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ; \n");
7046
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ; \n");
7047
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[22] ; \n");
7048
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ; \n");
7049
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ; \n");
7050
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ; \n");
7051
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7052
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7053
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
7054
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[20] ^ M[22] ; \n");
7055
      }
7056
      //------------------------------------------------------------------------
7057
      // bitSymbol = 12, Primpoly = 7079
7058
      //------------------------------------------------------------------------
7059
      if (PrimPoly == 7079) {
7060
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
7061
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[17] ^ M[21] ; \n");
7062
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
7063
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
7064
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7065
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[22] ; \n");
7066
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ; \n");
7067
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ; \n");
7068
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[16] ^ M[18] ; \n");
7069
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[18] ^ M[20] ; \n");
7070
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[15] ^ M[19] ^ M[21] ; \n");
7071
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
7072
      }
7073
      //------------------------------------------------------------------------
7074
      // bitSymbol = 12, Primpoly = 7103
7075
      //------------------------------------------------------------------------
7076
      if (PrimPoly == 7103) {
7077
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7078
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[17] ^ M[20] ^ M[21] ; \n");
7079
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ; \n");
7080
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7081
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
7082
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ^ M[22] ; \n");
7083
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ; \n");
7084
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[16] ^ M[19] ^ M[21] ; \n");
7085
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
7086
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ; \n");
7087
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[21] ; \n");
7088
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
7089
      }
7090
      //------------------------------------------------------------------------
7091
      // bitSymbol = 12, Primpoly = 7105
7092
      //------------------------------------------------------------------------
7093
      if (PrimPoly == 7105) {
7094
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[21] ; \n");
7095
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[22] ; \n");
7096
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ; \n");
7097
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ; \n");
7098
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
7099
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
7100
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
7101
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7102
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
7103
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ; \n");
7104
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ; \n");
7105
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[20] ^ M[22] ; \n");
7106
      }
7107
      //------------------------------------------------------------------------
7108
      // bitSymbol = 12, Primpoly = 7123
7109
      //------------------------------------------------------------------------
7110
      if (PrimPoly == 7123) {
7111
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
7112
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ; \n");
7113
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ; \n");
7114
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
7115
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[22] ; \n");
7116
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ; \n");
7117
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[21] ^ M[22] ; \n");
7118
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[16] ^ M[21] ; \n");
7119
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[20] ^ M[21] ; \n");
7120
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ; \n");
7121
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[21] ; \n");
7122
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[13] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ; \n");
7123
      }
7124
      //------------------------------------------------------------------------
7125
      // bitSymbol = 12, Primpoly = 7173
7126
      //------------------------------------------------------------------------
7127
      if (PrimPoly == 7173) {
7128
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ; \n");
7129
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
7130
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
7131
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
7132
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7133
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
7134
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
7135
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7136
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7137
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[19] ^ M[20] ^ M[21] ; \n");
7138
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7139
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ; \n");
7140
      }
7141
      //------------------------------------------------------------------------
7142
      // bitSymbol = 12, Primpoly = 7185
7143
      //------------------------------------------------------------------------
7144
      if (PrimPoly == 7185) {
7145
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
7146
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7147
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
7148
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7149
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
7150
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[22] ; \n");
7151
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ; \n");
7152
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ; \n");
7153
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
7154
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
7155
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[20] ; \n");
7156
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
7157
      }
7158
      //------------------------------------------------------------------------
7159
      // bitSymbol = 12, Primpoly = 7191
7160
      //------------------------------------------------------------------------
7161
      if (PrimPoly == 7191) {
7162
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7163
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ; \n");
7164
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[20] ^ M[21] ^ M[22] ; \n");
7165
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[21] ^ M[22] ; \n");
7166
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
7167
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7168
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
7169
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7170
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7171
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
7172
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ; \n");
7173
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7174
      }
7175
      //------------------------------------------------------------------------
7176
      // bitSymbol = 12, Primpoly = 7207
7177
      //------------------------------------------------------------------------
7178
      if (PrimPoly == 7207) {
7179
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ; \n");
7180
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ; \n");
7181
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[19] ^ M[20] ; \n");
7182
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[20] ^ M[21] ; \n");
7183
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[21] ^ M[22] ; \n");
7184
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[22] ; \n");
7185
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ; \n");
7186
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ; \n");
7187
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[15] ^ M[16] ^ M[19] ^ M[21] ; \n");
7188
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[16] ^ M[17] ^ M[20] ^ M[22] ; \n");
7189
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ; \n");
7190
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[22] ; \n");
7191
      }
7192
      //------------------------------------------------------------------------
7193
      // bitSymbol = 12, Primpoly = 7245
7194
      //------------------------------------------------------------------------
7195
      if (PrimPoly == 7245) {
7196
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ; \n");
7197
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ; \n");
7198
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7199
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
7200
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
7201
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
7202
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[21] ; \n");
7203
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[22] ; \n");
7204
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ; \n");
7205
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ; \n");
7206
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ; \n");
7207
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[22] ; \n");
7208
      }
7209
      //------------------------------------------------------------------------
7210
      // bitSymbol = 12, Primpoly = 7303
7211
      //------------------------------------------------------------------------
7212
      if (PrimPoly == 7303) {
7213
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
7214
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[19] ^ M[21] ; \n");
7215
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
7216
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7217
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[19] ^ M[20] ^ M[22] ; \n");
7218
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[20] ^ M[21] ; \n");
7219
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[16] ^ M[21] ^ M[22] ; \n");
7220
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[21] ; \n");
7221
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[22] ; \n");
7222
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ; \n");
7223
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[17] ^ M[19] ^ M[22] ; \n");
7224
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
7225
      }
7226
      //------------------------------------------------------------------------
7227
      // bitSymbol = 12, Primpoly = 7327
7228
      //------------------------------------------------------------------------
7229
      if (PrimPoly == 7327) {
7230
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ; \n");
7231
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ; \n");
7232
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
7233
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
7234
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[21] ; \n");
7235
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[16] ^ M[22] ; \n");
7236
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[17] ; \n");
7237
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[20] ; \n");
7238
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[21] ; \n");
7239
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[22] ; \n");
7240
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ; \n");
7241
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ; \n");
7242
      }
7243
      //------------------------------------------------------------------------
7244
      // bitSymbol = 12, Primpoly = 7333
7245
      //------------------------------------------------------------------------
7246
      if (PrimPoly == 7333) {
7247
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
7248
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
7249
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
7250
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[21] ^ M[22] ; \n");
7251
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[22] ; \n");
7252
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[18] ^ M[22] ; \n");
7253
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[19] ; \n");
7254
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7255
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
7256
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7257
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[18] ^ M[20] ^ M[21] ; \n");
7258
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
7259
      }
7260
      //------------------------------------------------------------------------
7261
      // bitSymbol = 12, Primpoly = 7355
7262
      //------------------------------------------------------------------------
7263
      if (PrimPoly == 7355) {
7264
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7265
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ; \n");
7266
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[16] ; \n");
7267
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7268
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ; \n");
7269
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
7270
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
7271
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ; \n");
7272
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
7273
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
7274
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[21] ^ M[22] ; \n");
7275
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
7276
      }
7277
      //------------------------------------------------------------------------
7278
      // bitSymbol = 12, Primpoly = 7365
7279
      //------------------------------------------------------------------------
7280
      if (PrimPoly == 7365) {
7281
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
7282
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
7283
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
7284
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7285
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
7286
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
7287
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[21] ; \n");
7288
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
7289
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
7290
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
7291
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[21] ; \n");
7292
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ; \n");
7293
      }
7294
      //------------------------------------------------------------------------
7295
      // bitSymbol = 12, Primpoly = 7369
7296
      //------------------------------------------------------------------------
7297
      if (PrimPoly == 7369) {
7298
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ; \n");
7299
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
7300
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
7301
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ; \n");
7302
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ; \n");
7303
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ; \n");
7304
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[17] ^ M[21] ^ M[22] ; \n");
7305
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
7306
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
7307
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7308
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ; \n");
7309
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[22] ; \n");
7310
      }
7311
      //------------------------------------------------------------------------
7312
      // bitSymbol = 12, Primpoly = 7375
7313
      //------------------------------------------------------------------------
7314
      if (PrimPoly == 7375) {
7315
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ^ M[22] ; \n");
7316
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
7317
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
7318
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
7319
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
7320
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
7321
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7322
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ; \n");
7323
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
7324
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
7325
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
7326
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[21] ; \n");
7327
      }
7328
      //------------------------------------------------------------------------
7329
      // bitSymbol = 12, Primpoly = 7411
7330
      //------------------------------------------------------------------------
7331
      if (PrimPoly == 7411) {
7332
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[22] ; \n");
7333
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7334
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ; \n");
7335
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
7336
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ; \n");
7337
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ; \n");
7338
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[19] ^ M[21] ^ M[22] ; \n");
7339
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
7340
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
7341
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7342
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ; \n");
7343
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[21] ^ M[22] ; \n");
7344
      }
7345
      //------------------------------------------------------------------------
7346
      // bitSymbol = 12, Primpoly = 7431
7347
      //------------------------------------------------------------------------
7348
      if (PrimPoly == 7431) {
7349
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ; \n");
7350
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[21] ; \n");
7351
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[16] ^ M[17] ^ M[19] ^ M[22] ; \n");
7352
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ; \n");
7353
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[18] ^ M[19] ^ M[21] ; \n");
7354
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[19] ^ M[20] ^ M[22] ; \n");
7355
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[16] ^ M[20] ^ M[21] ; \n");
7356
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[17] ^ M[21] ^ M[22] ; \n");
7357
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7358
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ; \n");
7359
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
7360
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ^ M[22] ; \n");
7361
      }
7362
      //------------------------------------------------------------------------
7363
      // bitSymbol = 12, Primpoly = 7459
7364
      //------------------------------------------------------------------------
7365
      if (PrimPoly == 7459) {
7366
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[20] ^ M[21] ^ M[22] ; \n");
7367
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ; \n");
7368
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ; \n");
7369
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
7370
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ; \n");
7371
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7372
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
7373
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
7374
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
7375
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
7376
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[18] ; \n");
7377
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7378
      }
7379
      //------------------------------------------------------------------------
7380
      // bitSymbol = 12, Primpoly = 7491
7381
      //------------------------------------------------------------------------
7382
      if (PrimPoly == 7491) {
7383
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[22] ; \n");
7384
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ^ M[22] ; \n");
7385
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ; \n");
7386
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
7387
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
7388
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7389
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
7390
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7391
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ; \n");
7392
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[21] ; \n");
7393
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ; \n");
7394
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
7395
      }
7396
      //------------------------------------------------------------------------
7397
      // bitSymbol = 12, Primpoly = 7505
7398
      //------------------------------------------------------------------------
7399
      if (PrimPoly == 7505) {
7400
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ; \n");
7401
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ; \n");
7402
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
7403
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[16] ^ M[18] ^ M[21] ^ M[22] ; \n");
7404
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
7405
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
7406
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[22] ; \n");
7407
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ; \n");
7408
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ; \n");
7409
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ; \n");
7410
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[22] ; \n");
7411
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ; \n");
7412
      }
7413
      //------------------------------------------------------------------------
7414
      // bitSymbol = 12, Primpoly = 7515
7415
      //------------------------------------------------------------------------
7416
      if (PrimPoly == 7515) {
7417
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
7418
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[22] ; \n");
7419
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ; \n");
7420
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ; \n");
7421
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
7422
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
7423
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ; \n");
7424
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ; \n");
7425
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7426
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
7427
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[20] ^ M[22] ; \n");
7428
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
7429
      }
7430
      //------------------------------------------------------------------------
7431
      // bitSymbol = 12, Primpoly = 7541
7432
      //------------------------------------------------------------------------
7433
      if (PrimPoly == 7541) {
7434
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
7435
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[16] ^ M[19] ^ M[21] ^ M[22] ; \n");
7436
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[21] ; \n");
7437
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[22] ; \n");
7438
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7439
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
7440
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[19] ^ M[21] ; \n");
7441
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[20] ^ M[22] ; \n");
7442
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ^ M[22] ; \n");
7443
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[21] ; \n");
7444
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
7445
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
7446
      }
7447
      //------------------------------------------------------------------------
7448
      // bitSymbol = 12, Primpoly = 7557
7449
      //------------------------------------------------------------------------
7450
      if (PrimPoly == 7557) {
7451
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ^ M[22] ; \n");
7452
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[21] ; \n");
7453
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[19] ^ M[20] ; \n");
7454
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[15] ^ M[20] ^ M[21] ; \n");
7455
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[15] ^ M[16] ^ M[21] ^ M[22] ; \n");
7456
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[16] ^ M[17] ^ M[22] ; \n");
7457
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[16] ^ M[17] ^ M[18] ; \n");
7458
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7459
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
7460
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[22] ; \n");
7461
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7462
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[19] ^ M[21] ; \n");
7463
      }
7464
      //------------------------------------------------------------------------
7465
      // bitSymbol = 12, Primpoly = 7561
7466
      //------------------------------------------------------------------------
7467
      if (PrimPoly == 7561) {
7468
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[20] ^ M[21] ; \n");
7469
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[21] ^ M[22] ; \n");
7470
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[22] ; \n");
7471
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ; \n");
7472
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
7473
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ; \n");
7474
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ; \n");
7475
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[22] ; \n");
7476
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[20] ^ M[21] ; \n");
7477
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ^ M[22] ; \n");
7478
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
7479
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ^ M[22] ; \n");
7480
      }
7481
      //------------------------------------------------------------------------
7482
      // bitSymbol = 12, Primpoly = 7701
7483
      //------------------------------------------------------------------------
7484
      if (PrimPoly == 7701) {
7485
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[21] ; \n");
7486
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[22] ; \n");
7487
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
7488
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7489
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ; \n");
7490
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ; \n");
7491
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
7492
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
7493
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
7494
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
7495
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ^ M[22] ; \n");
7496
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[20] ; \n");
7497
      }
7498
      //------------------------------------------------------------------------
7499
      // bitSymbol = 12, Primpoly = 7705
7500
      //------------------------------------------------------------------------
7501
      if (PrimPoly == 7705) {
7502
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[22] ; \n");
7503
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ; \n");
7504
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ; \n");
7505
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
7506
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
7507
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[15] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7508
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ^ M[22] ; \n");
7509
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[17] ^ M[20] ^ M[21] ; \n");
7510
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[16] ^ M[18] ^ M[21] ^ M[22] ; \n");
7511
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[16] ^ M[19] ; \n");
7512
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[16] ^ M[20] ^ M[22] ; \n");
7513
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[21] ^ M[22] ; \n");
7514
      }
7515
      //------------------------------------------------------------------------
7516
      // bitSymbol = 12, Primpoly = 7727
7517
      //------------------------------------------------------------------------
7518
      if (PrimPoly == 7727) {
7519
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7520
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ; \n");
7521
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[15] ^ M[16] ^ M[21] ^ M[22] ; \n");
7522
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[19] ^ M[20] ^ M[21] ; \n");
7523
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[20] ^ M[21] ^ M[22] ; \n");
7524
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ; \n");
7525
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
7526
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7527
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
7528
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ^ M[22] ; \n");
7529
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[21] ^ M[22] ; \n");
7530
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
7531
      }
7532
      //------------------------------------------------------------------------
7533
      // bitSymbol = 12, Primpoly = 7749
7534
      //------------------------------------------------------------------------
7535
      if (PrimPoly == 7749) {
7536
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
7537
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
7538
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7539
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
7540
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7541
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7542
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[19] ^ M[20] ^ M[22] ; \n");
7543
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[20] ^ M[21] ; \n");
7544
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[21] ^ M[22] ; \n");
7545
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[21] ; \n");
7546
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[17] ^ M[19] ^ M[21] ; \n");
7547
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ; \n");
7548
      }
7549
      //------------------------------------------------------------------------
7550
      // bitSymbol = 12, Primpoly = 7761
7551
      //------------------------------------------------------------------------
7552
      if (PrimPoly == 7761) {
7553
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
7554
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7555
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7556
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ; \n");
7557
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[18] ; \n");
7558
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[19] ; \n");
7559
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
7560
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
7561
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
7562
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ^ M[19] ^ M[22] ; \n");
7563
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
7564
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
7565
      }
7566
      //------------------------------------------------------------------------
7567
      // bitSymbol = 12, Primpoly = 7783
7568
      //------------------------------------------------------------------------
7569
      if (PrimPoly == 7783) {
7570
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
7571
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[16] ^ M[20] ^ M[22] ; \n");
7572
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7573
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
7574
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
7575
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ; \n");
7576
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[19] ; \n");
7577
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[15] ^ M[20] ; \n");
7578
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[16] ^ M[21] ; \n");
7579
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ; \n");
7580
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[18] ^ M[20] ^ M[22] ; \n");
7581
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
7582
      }
7583
      //------------------------------------------------------------------------
7584
      // bitSymbol = 12, Primpoly = 7795
7585
      //------------------------------------------------------------------------
7586
      if (PrimPoly == 7795) {
7587
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7588
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[16] ^ M[21] ^ M[22] ; \n");
7589
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[17] ^ M[22] ; \n");
7590
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[16] ^ M[18] ; \n");
7591
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ^ M[22] ; \n");
7592
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
7593
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
7594
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7595
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[14] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7596
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[21] ^ M[22] ; \n");
7597
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[19] ^ M[20] ; \n");
7598
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ^ M[22] ; \n");
7599
      }
7600
      //------------------------------------------------------------------------
7601
      // bitSymbol = 12, Primpoly = 7823
7602
      //------------------------------------------------------------------------
7603
      if (PrimPoly == 7823) {
7604
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[16] ^ M[19] ^ M[20] ; \n");
7605
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[21] ; \n");
7606
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
7607
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[17] ^ M[18] ; \n");
7608
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[18] ^ M[19] ; \n");
7609
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[19] ^ M[20] ; \n");
7610
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[15] ^ M[20] ^ M[21] ; \n");
7611
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7612
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[14] ^ M[20] ^ M[21] ^ M[22] ; \n");
7613
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7614
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
7615
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[15] ^ M[18] ^ M[19] ^ M[22] ; \n");
7616
      }
7617
      //------------------------------------------------------------------------
7618
      // bitSymbol = 12, Primpoly = 7907
7619
      //------------------------------------------------------------------------
7620
      if (PrimPoly == 7907) {
7621
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[22] ; \n");
7622
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[22] ; \n");
7623
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
7624
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
7625
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7626
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[20] ^ M[21] ; \n");
7627
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[14] ^ M[16] ^ M[18] ^ M[21] ; \n");
7628
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ; \n");
7629
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[13] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
7630
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7631
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ; \n");
7632
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[15] ^ M[17] ^ M[21] ; \n");
7633
      }
7634
      //------------------------------------------------------------------------
7635
      // bitSymbol = 12, Primpoly = 7953
7636
      //------------------------------------------------------------------------
7637
      if (PrimPoly == 7953) {
7638
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ; \n");
7639
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[18] ^ M[19] ^ M[21] ; \n");
7640
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[19] ^ M[20] ^ M[22] ; \n");
7641
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[16] ^ M[20] ^ M[21] ; \n");
7642
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
7643
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[14] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
7644
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[15] ^ M[18] ^ M[20] ^ M[22] ; \n");
7645
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[16] ^ M[19] ^ M[21] ; \n");
7646
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[16] ^ M[18] ^ M[22] ; \n");
7647
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ; \n");
7648
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
7649
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[19] ^ M[22] ; \n");
7650
      }
7651
      //------------------------------------------------------------------------
7652
      // bitSymbol = 12, Primpoly = 7963
7653
      //------------------------------------------------------------------------
7654
      if (PrimPoly == 7963) {
7655
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
7656
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
7657
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[18] ^ M[20] ^ M[21] ; \n");
7658
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7659
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[19] ; \n");
7660
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[15] ^ M[16] ^ M[20] ; \n");
7661
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[16] ^ M[17] ^ M[21] ; \n");
7662
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[15] ^ M[17] ^ M[18] ^ M[22] ; \n");
7663
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ; \n");
7664
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[22] ; \n");
7665
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[20] ^ M[21] ; \n");
7666
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
7667
      }
7668
      //------------------------------------------------------------------------
7669
      // bitSymbol = 12, Primpoly = 7975
7670
      //------------------------------------------------------------------------
7671
      if (PrimPoly == 7975) {
7672
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
7673
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
7674
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[15] ^ M[17] ^ M[19] ^ M[22] ; \n");
7675
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[13] ^ M[16] ^ M[18] ^ M[20] ; \n");
7676
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[14] ^ M[17] ^ M[19] ^ M[21] ; \n");
7677
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7678
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
7679
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ^ M[22] ; \n");
7680
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[17] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7681
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[16] ^ M[19] ^ M[20] ^ M[22] ; \n");
7682
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[15] ^ M[18] ^ M[19] ^ M[20] ; \n");
7683
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[20] ; \n");
7684
      }
7685
      //------------------------------------------------------------------------
7686
      // bitSymbol = 12, Primpoly = 8049
7687
      //------------------------------------------------------------------------
7688
      if (PrimPoly == 8049) {
7689
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[17] ^ M[19] ^ M[21] ; \n");
7690
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[18] ^ M[20] ^ M[22] ; \n");
7691
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[19] ^ M[21] ; \n");
7692
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[15] ^ M[16] ^ M[20] ^ M[22] ; \n");
7693
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[13] ^ M[16] ^ M[19] ; \n");
7694
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[14] ^ M[19] ^ M[20] ^ M[21] ; \n");
7695
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[15] ^ M[17] ^ M[19] ^ M[20] ^ M[22] ; \n");
7696
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[13] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ; \n");
7697
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[13] ^ M[14] ^ M[22] ; \n");
7698
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[19] ^ M[21] ; \n");
7699
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7700
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[16] ^ M[18] ^ M[20] ^ M[22] ; \n");
7701
      }
7702
      //------------------------------------------------------------------------
7703
      // bitSymbol = 12, Primpoly = 8089
7704
      //------------------------------------------------------------------------
7705
      if (PrimPoly == 8089) {
7706
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7707
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7708
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[20] ^ M[21] ^ M[22] ; \n");
7709
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
7710
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[18] ^ M[22] ; \n");
7711
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ; \n");
7712
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[14] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
7713
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[15] ^ M[17] ^ M[18] ^ M[22] ; \n");
7714
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[16] ^ M[20] ^ M[21] ^ M[22] ; \n");
7715
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
7716
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[16] ^ M[22] ; \n");
7717
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7718
      }
7719
      //------------------------------------------------------------------------
7720
      // bitSymbol = 12, Primpoly = 8123
7721
      //------------------------------------------------------------------------
7722
      if (PrimPoly == 8123) {
7723
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[18] ^ M[20] ^ M[22] ; \n");
7724
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[12] ^ M[14] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7725
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[13] ^ M[15] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7726
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[14] ^ M[16] ^ M[18] ^ M[21] ; \n");
7727
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
7728
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[15] ^ M[16] ^ M[19] ^ M[21] ^ M[22] ; \n");
7729
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[16] ^ M[17] ^ M[20] ^ M[22] ; \n");
7730
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
7731
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[20] ^ M[21] ; \n");
7732
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ; \n");
7733
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ^ M[21] ; \n");
7734
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[17] ^ M[19] ^ M[21] ; \n");
7735
      }
7736
      //------------------------------------------------------------------------
7737
      // bitSymbol = 12, Primpoly = 8125
7738
      //------------------------------------------------------------------------
7739
      if (PrimPoly == 8125) {
7740
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[18] ^ M[20] ; \n");
7741
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[19] ^ M[21] ; \n");
7742
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[12] ^ M[13] ^ M[14] ^ M[15] ^ M[18] ^ M[22] ; \n");
7743
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[14] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ; \n");
7744
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[12] ^ M[15] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
7745
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[12] ^ M[16] ^ M[17] ^ M[19] ^ M[22] ; \n");
7746
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[13] ^ M[17] ^ M[18] ^ M[20] ; \n");
7747
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[13] ^ M[14] ^ M[19] ^ M[20] ^ M[21] ; \n");
7748
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[14] ^ M[15] ^ M[18] ^ M[21] ^ M[22] ; \n");
7749
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[15] ^ M[16] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7750
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[16] ^ M[17] ^ M[18] ^ M[19] ^ M[21] ; \n");
7751
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[17] ^ M[19] ^ M[22] ; \n");
7752
      }
7753
      //------------------------------------------------------------------------
7754
      // bitSymbol = 12, Primpoly = 8137
7755
      //------------------------------------------------------------------------
7756
      if (PrimPoly == 8137) {
7757
         fprintf(OutFileMul, "   assign P[0] =  M[0] ^ M[12] ^ M[13] ^ M[19] ^ M[20] ^ M[21] ; \n");
7758
         fprintf(OutFileMul, "   assign P[1] =  M[1] ^ M[13] ^ M[14] ^ M[20] ^ M[21] ^ M[22] ; \n");
7759
         fprintf(OutFileMul, "   assign P[2] =  M[2] ^ M[14] ^ M[15] ^ M[21] ^ M[22] ; \n");
7760
         fprintf(OutFileMul, "   assign P[3] =  M[3] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[19] ^ M[20] ^ M[21] ^ M[22] ; \n");
7761
         fprintf(OutFileMul, "   assign P[4] =  M[4] ^ M[13] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ^ M[21] ^ M[22] ; \n");
7762
         fprintf(OutFileMul, "   assign P[5] =  M[5] ^ M[14] ^ M[15] ^ M[17] ^ M[18] ^ M[21] ^ M[22] ; \n");
7763
         fprintf(OutFileMul, "   assign P[6] =  M[6] ^ M[12] ^ M[13] ^ M[15] ^ M[16] ^ M[18] ^ M[20] ^ M[21] ^ M[22] ; \n");
7764
         fprintf(OutFileMul, "   assign P[7] =  M[7] ^ M[12] ^ M[14] ^ M[16] ^ M[17] ^ M[20] ^ M[22] ; \n");
7765
         fprintf(OutFileMul, "   assign P[8] =  M[8] ^ M[12] ^ M[15] ^ M[17] ^ M[18] ^ M[19] ^ M[20] ; \n");
7766
         fprintf(OutFileMul, "   assign P[9] =  M[9] ^ M[12] ^ M[16] ^ M[18] ; \n");
7767
         fprintf(OutFileMul, "   assign P[10] =  M[10] ^ M[12] ^ M[17] ^ M[20] ^ M[21] ; \n");
7768
         fprintf(OutFileMul, "   assign P[11] =  M[11] ^ M[12] ^ M[18] ^ M[19] ^ M[20] ^ M[22] ; \n");
7769
      }
7770
   break;
7771
   default:
7772
         fprintf(OutFileMul, "   assign P[0] =  0;\n");
7773
   break;
7774
}
7775
 
7776
 
7777
   fprintf(OutFileMul, "\n\n");
7778
   fprintf(OutFileMul, "endmodule\n");
7779
 
7780
  //---------------------------------------------------------------
7781
  // close file
7782
  //---------------------------------------------------------------
7783
   fclose(OutFileMul);
7784
 
7785
 
7786
 
7787
  //---------------------------------------------------------------
7788
  // automatically convert Dos mode To Unix mode
7789
  //---------------------------------------------------------------
7790
  char ch;
7791
  char temp[MAX_PATH]="\0";
7792
 
7793
  //Open the file for reading in binarymode.
7794
  ifstream fp_read(strRsDecodeMult, ios_base::in | ios_base::binary);
7795
  sprintf(temp, "%s.temp", strRsDecodeMult);
7796
  //Create a temporary file for writing in the binary mode. This
7797
  //file will be created in the same directory as the input file.
7798
  ofstream fp_write(temp, ios_base::out | ios_base::trunc | ios_base::binary);
7799
 
7800
  while(fp_read.eof() != true)
7801
  {
7802
     fp_read.get(ch);
7803
     //Check for CR (carriage return)
7804
     if((int)ch == 0x0D)
7805
        continue;
7806
     if (!fp_read.eof())fp_write.put(ch);
7807
  }
7808
 
7809
  fp_read.close();
7810
  fp_write.close();
7811
  //Delete the existing input file.
7812
  remove(strRsDecodeMult);
7813
  //Rename the temporary file to the input file.
7814
  rename(temp, strRsDecodeMult);
7815
  //Delete the temporary file.
7816
  remove(temp);
7817
 
7818
 
7819
  //---------------------------------------------------------------
7820
  // clean string
7821
  //---------------------------------------------------------------
7822
  free(strRsDecodeMult);
7823
 
7824
 
7825
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.