1 module wallace(a, b, product);
   2    // Unsigned nonrecoded Wallace multiplier.
   3    // John Bryan, v.02 2017.
   4    input [32:0] a;
   5    input [12:0] b;
   6    output [45:0] product;
   7    assign b12a32 = b[12] & a[32];
   8    assign b12a31 = b[12] & a[31];
   9    assign b12a30 = b[12] & a[30];
  10    assign b12a29 = b[12] & a[29];
  11    assign b12a28 = b[12] & a[28];
  12    assign b12a27 = b[12] & a[27];
  13    assign b12a26 = b[12] & a[26];
  14    assign b12a25 = b[12] & a[25];
  15    assign b12a24 = b[12] & a[24];
  16    assign b12a23 = b[12] & a[23];
  17    assign b12a22 = b[12] & a[22];
  18    assign b12a21 = b[12] & a[21];
  19    assign b12a20 = b[12] & a[20];
  20    assign b12a19 = b[12] & a[19];
  21    assign b12a18 = b[12] & a[18];
  22    assign b12a17 = b[12] & a[17];
  23    assign b12a16 = b[12] & a[16];
  24    assign b12a15 = b[12] & a[15];
  25    assign b12a14 = b[12] & a[14];
  26    assign b12a13 = b[12] & a[13];
  27    assign b12a12 = b[12] & a[12];
  28    assign b12a11 = b[12] & a[11];
  29    assign b12a10 = b[12] & a[10];
  30    assign b12a9 = b[12] & a[9];
  31    assign b12a8 = b[12] & a[8];
  32    assign b12a7 = b[12] & a[7];
  33    assign b12a6 = b[12] & a[6];
  34    assign b12a5 = b[12] & a[5];
  35    assign b12a4 = b[12] & a[4];
  36    assign b12a3 = b[12] & a[3];
  37    assign b12a2 = b[12] & a[2];
  38    assign b12a1 = b[12] & a[1];
  39    assign b12a0 = b[12] & a[0];
  40    assign b11a32 = b[11] & a[32];
  41    assign b11a31 = b[11] & a[31];
  42    assign b11a30 = b[11] & a[30];
  43    assign b11a29 = b[11] & a[29];
  44    assign b11a28 = b[11] & a[28];
  45    assign b11a27 = b[11] & a[27];
  46    assign b11a26 = b[11] & a[26];
  47    assign b11a25 = b[11] & a[25];
  48    assign b11a24 = b[11] & a[24];
  49    assign b11a23 = b[11] & a[23];
  50    assign b11a22 = b[11] & a[22];
  51    assign b11a21 = b[11] & a[21];
  52    assign b11a20 = b[11] & a[20];
  53    assign b11a19 = b[11] & a[19];
  54    assign b11a18 = b[11] & a[18];
  55    assign b11a17 = b[11] & a[17];
  56    assign b11a16 = b[11] & a[16];
  57    assign b11a15 = b[11] & a[15];
  58    assign b11a14 = b[11] & a[14];
  59    assign b11a13 = b[11] & a[13];
  60    assign b11a12 = b[11] & a[12];
  61    assign b11a11 = b[11] & a[11];
  62    assign b11a10 = b[11] & a[10];
  63    assign b11a9 = b[11] & a[9];
  64    assign b11a8 = b[11] & a[8];
  65    assign b11a7 = b[11] & a[7];
  66    assign b11a6 = b[11] & a[6];
  67    assign b11a5 = b[11] & a[5];
  68    assign b11a4 = b[11] & a[4];
  69    assign b11a3 = b[11] & a[3];
  70    assign b11a2 = b[11] & a[2];
  71    assign b11a1 = b[11] & a[1];
  72    assign b11a0 = b[11] & a[0];
  73    assign b10a32 = b[10] & a[32];
  74    assign b10a31 = b[10] & a[31];
  75    assign b10a30 = b[10] & a[30];
  76    assign b10a29 = b[10] & a[29];
  77    assign b10a28 = b[10] & a[28];
  78    assign b10a27 = b[10] & a[27];
  79    assign b10a26 = b[10] & a[26];
  80    assign b10a25 = b[10] & a[25];
  81    assign b10a24 = b[10] & a[24];
  82    assign b10a23 = b[10] & a[23];
  83    assign b10a22 = b[10] & a[22];
  84    assign b10a21 = b[10] & a[21];
  85    assign b10a20 = b[10] & a[20];
  86    assign b10a19 = b[10] & a[19];
  87    assign b10a18 = b[10] & a[18];
  88    assign b10a17 = b[10] & a[17];
  89    assign b10a16 = b[10] & a[16];
  90    assign b10a15 = b[10] & a[15];
  91    assign b10a14 = b[10] & a[14];
  92    assign b10a13 = b[10] & a[13];
  93    assign b10a12 = b[10] & a[12];
  94    assign b10a11 = b[10] & a[11];
  95    assign b10a10 = b[10] & a[10];
  96    assign b10a9 = b[10] & a[9];
  97    assign b10a8 = b[10] & a[8];
  98    assign b10a7 = b[10] & a[7];
  99    assign b10a6 = b[10] & a[6];
 100    assign b10a5 = b[10] & a[5];
 101    assign b10a4 = b[10] & a[4];
 102    assign b10a3 = b[10] & a[3];
 103    assign b10a2 = b[10] & a[2];
 104    assign b10a1 = b[10] & a[1];
 105    assign b10a0 = b[10] & a[0];
 106    assign b9a32 = b[9] & a[32];
 107    assign b9a31 = b[9] & a[31];
 108    assign b9a30 = b[9] & a[30];
 109    assign b9a29 = b[9] & a[29];
 110    assign b9a28 = b[9] & a[28];
 111    assign b9a27 = b[9] & a[27];
 112    assign b9a26 = b[9] & a[26];
 113    assign b9a25 = b[9] & a[25];
 114    assign b9a24 = b[9] & a[24];
 115    assign b9a23 = b[9] & a[23];
 116    assign b9a22 = b[9] & a[22];
 117    assign b9a21 = b[9] & a[21];
 118    assign b9a20 = b[9] & a[20];
 119    assign b9a19 = b[9] & a[19];
 120    assign b9a18 = b[9] & a[18];
 121    assign b9a17 = b[9] & a[17];
 122    assign b9a16 = b[9] & a[16];
 123    assign b9a15 = b[9] & a[15];
 124    assign b9a14 = b[9] & a[14];
 125    assign b9a13 = b[9] & a[13];
 126    assign b9a12 = b[9] & a[12];
 127    assign b9a11 = b[9] & a[11];
 128    assign b9a10 = b[9] & a[10];
 129    assign b9a9 = b[9] & a[9];
 130    assign b9a8 = b[9] & a[8];
 131    assign b9a7 = b[9] & a[7];
 132    assign b9a6 = b[9] & a[6];
 133    assign b9a5 = b[9] & a[5];
 134    assign b9a4 = b[9] & a[4];
 135    assign b9a3 = b[9] & a[3];
 136    assign b9a2 = b[9] & a[2];
 137    assign b9a1 = b[9] & a[1];
 138    assign b9a0 = b[9] & a[0];
 139    assign b8a32 = b[8] & a[32];
 140    assign b8a31 = b[8] & a[31];
 141    assign b8a30 = b[8] & a[30];
 142    assign b8a29 = b[8] & a[29];
 143    assign b8a28 = b[8] & a[28];
 144    assign b8a27 = b[8] & a[27];
 145    assign b8a26 = b[8] & a[26];
 146    assign b8a25 = b[8] & a[25];
 147    assign b8a24 = b[8] & a[24];
 148    assign b8a23 = b[8] & a[23];
 149    assign b8a22 = b[8] & a[22];
 150    assign b8a21 = b[8] & a[21];
 151    assign b8a20 = b[8] & a[20];
 152    assign b8a19 = b[8] & a[19];
 153    assign b8a18 = b[8] & a[18];
 154    assign b8a17 = b[8] & a[17];
 155    assign b8a16 = b[8] & a[16];
 156    assign b8a15 = b[8] & a[15];
 157    assign b8a14 = b[8] & a[14];
 158    assign b8a13 = b[8] & a[13];
 159    assign b8a12 = b[8] & a[12];
 160    assign b8a11 = b[8] & a[11];
 161    assign b8a10 = b[8] & a[10];
 162    assign b8a9 = b[8] & a[9];
 163    assign b8a8 = b[8] & a[8];
 164    assign b8a7 = b[8] & a[7];
 165    assign b8a6 = b[8] & a[6];
 166    assign b8a5 = b[8] & a[5];
 167    assign b8a4 = b[8] & a[4];
 168    assign b8a3 = b[8] & a[3];
 169    assign b8a2 = b[8] & a[2];
 170    assign b8a1 = b[8] & a[1];
 171    assign b8a0 = b[8] & a[0];
 172    assign b7a32 = b[7] & a[32];
 173    assign b7a31 = b[7] & a[31];
 174    assign b7a30 = b[7] & a[30];
 175    assign b7a29 = b[7] & a[29];
 176    assign b7a28 = b[7] & a[28];
 177    assign b7a27 = b[7] & a[27];
 178    assign b7a26 = b[7] & a[26];
 179    assign b7a25 = b[7] & a[25];
 180    assign b7a24 = b[7] & a[24];
 181    assign b7a23 = b[7] & a[23];
 182    assign b7a22 = b[7] & a[22];
 183    assign b7a21 = b[7] & a[21];
 184    assign b7a20 = b[7] & a[20];
 185    assign b7a19 = b[7] & a[19];
 186    assign b7a18 = b[7] & a[18];
 187    assign b7a17 = b[7] & a[17];
 188    assign b7a16 = b[7] & a[16];
 189    assign b7a15 = b[7] & a[15];
 190    assign b7a14 = b[7] & a[14];
 191    assign b7a13 = b[7] & a[13];
 192    assign b7a12 = b[7] & a[12];
 193    assign b7a11 = b[7] & a[11];
 194    assign b7a10 = b[7] & a[10];
 195    assign b7a9 = b[7] & a[9];
 196    assign b7a8 = b[7] & a[8];
 197    assign b7a7 = b[7] & a[7];
 198    assign b7a6 = b[7] & a[6];
 199    assign b7a5 = b[7] & a[5];
 200    assign b7a4 = b[7] & a[4];
 201    assign b7a3 = b[7] & a[3];
 202    assign b7a2 = b[7] & a[2];
 203    assign b7a1 = b[7] & a[1];
 204    assign b7a0 = b[7] & a[0];
 205    assign b6a32 = b[6] & a[32];
 206    assign b6a31 = b[6] & a[31];
 207    assign b6a30 = b[6] & a[30];
 208    assign b6a29 = b[6] & a[29];
 209    assign b6a28 = b[6] & a[28];
 210    assign b6a27 = b[6] & a[27];
 211    assign b6a26 = b[6] & a[26];
 212    assign b6a25 = b[6] & a[25];
 213    assign b6a24 = b[6] & a[24];
 214    assign b6a23 = b[6] & a[23];
 215    assign b6a22 = b[6] & a[22];
 216    assign b6a21 = b[6] & a[21];
 217    assign b6a20 = b[6] & a[20];
 218    assign b6a19 = b[6] & a[19];
 219    assign b6a18 = b[6] & a[18];
 220    assign b6a17 = b[6] & a[17];
 221    assign b6a16 = b[6] & a[16];
 222    assign b6a15 = b[6] & a[15];
 223    assign b6a14 = b[6] & a[14];
 224    assign b6a13 = b[6] & a[13];
 225    assign b6a12 = b[6] & a[12];
 226    assign b6a11 = b[6] & a[11];
 227    assign b6a10 = b[6] & a[10];
 228    assign b6a9 = b[6] & a[9];
 229    assign b6a8 = b[6] & a[8];
 230    assign b6a7 = b[6] & a[7];
 231    assign b6a6 = b[6] & a[6];
 232    assign b6a5 = b[6] & a[5];
 233    assign b6a4 = b[6] & a[4];
 234    assign b6a3 = b[6] & a[3];
 235    assign b6a2 = b[6] & a[2];
 236    assign b6a1 = b[6] & a[1];
 237    assign b6a0 = b[6] & a[0];
 238    assign b5a32 = b[5] & a[32];
 239    assign b5a31 = b[5] & a[31];
 240    assign b5a30 = b[5] & a[30];
 241    assign b5a29 = b[5] & a[29];
 242    assign b5a28 = b[5] & a[28];
 243    assign b5a27 = b[5] & a[27];
 244    assign b5a26 = b[5] & a[26];
 245    assign b5a25 = b[5] & a[25];
 246    assign b5a24 = b[5] & a[24];
 247    assign b5a23 = b[5] & a[23];
 248    assign b5a22 = b[5] & a[22];
 249    assign b5a21 = b[5] & a[21];
 250    assign b5a20 = b[5] & a[20];
 251    assign b5a19 = b[5] & a[19];
 252    assign b5a18 = b[5] & a[18];
 253    assign b5a17 = b[5] & a[17];
 254    assign b5a16 = b[5] & a[16];
 255    assign b5a15 = b[5] & a[15];
 256    assign b5a14 = b[5] & a[14];
 257    assign b5a13 = b[5] & a[13];
 258    assign b5a12 = b[5] & a[12];
 259    assign b5a11 = b[5] & a[11];
 260    assign b5a10 = b[5] & a[10];
 261    assign b5a9 = b[5] & a[9];
 262    assign b5a8 = b[5] & a[8];
 263    assign b5a7 = b[5] & a[7];
 264    assign b5a6 = b[5] & a[6];
 265    assign b5a5 = b[5] & a[5];
 266    assign b5a4 = b[5] & a[4];
 267    assign b5a3 = b[5] & a[3];
 268    assign b5a2 = b[5] & a[2];
 269    assign b5a1 = b[5] & a[1];
 270    assign b5a0 = b[5] & a[0];
 271    assign b4a32 = b[4] & a[32];
 272    assign b4a31 = b[4] & a[31];
 273    assign b4a30 = b[4] & a[30];
 274    assign b4a29 = b[4] & a[29];
 275    assign b4a28 = b[4] & a[28];
 276    assign b4a27 = b[4] & a[27];
 277    assign b4a26 = b[4] & a[26];
 278    assign b4a25 = b[4] & a[25];
 279    assign b4a24 = b[4] & a[24];
 280    assign b4a23 = b[4] & a[23];
 281    assign b4a22 = b[4] & a[22];
 282    assign b4a21 = b[4] & a[21];
 283    assign b4a20 = b[4] & a[20];
 284    assign b4a19 = b[4] & a[19];
 285    assign b4a18 = b[4] & a[18];
 286    assign b4a17 = b[4] & a[17];
 287    assign b4a16 = b[4] & a[16];
 288    assign b4a15 = b[4] & a[15];
 289    assign b4a14 = b[4] & a[14];
 290    assign b4a13 = b[4] & a[13];
 291    assign b4a12 = b[4] & a[12];
 292    assign b4a11 = b[4] & a[11];
 293    assign b4a10 = b[4] & a[10];
 294    assign b4a9 = b[4] & a[9];
 295    assign b4a8 = b[4] & a[8];
 296    assign b4a7 = b[4] & a[7];
 297    assign b4a6 = b[4] & a[6];
 298    assign b4a5 = b[4] & a[5];
 299    assign b4a4 = b[4] & a[4];
 300    assign b4a3 = b[4] & a[3];
 301    assign b4a2 = b[4] & a[2];
 302    assign b4a1 = b[4] & a[1];
 303    assign b4a0 = b[4] & a[0];
 304    assign b3a32 = b[3] & a[32];
 305    assign b3a31 = b[3] & a[31];
 306    assign b3a30 = b[3] & a[30];
 307    assign b3a29 = b[3] & a[29];
 308    assign b3a28 = b[3] & a[28];
 309    assign b3a27 = b[3] & a[27];
 310    assign b3a26 = b[3] & a[26];
 311    assign b3a25 = b[3] & a[25];
 312    assign b3a24 = b[3] & a[24];
 313    assign b3a23 = b[3] & a[23];
 314    assign b3a22 = b[3] & a[22];
 315    assign b3a21 = b[3] & a[21];
 316    assign b3a20 = b[3] & a[20];
 317    assign b3a19 = b[3] & a[19];
 318    assign b3a18 = b[3] & a[18];
 319    assign b3a17 = b[3] & a[17];
 320    assign b3a16 = b[3] & a[16];
 321    assign b3a15 = b[3] & a[15];
 322    assign b3a14 = b[3] & a[14];
 323    assign b3a13 = b[3] & a[13];
 324    assign b3a12 = b[3] & a[12];
 325    assign b3a11 = b[3] & a[11];
 326    assign b3a10 = b[3] & a[10];
 327    assign b3a9 = b[3] & a[9];
 328    assign b3a8 = b[3] & a[8];
 329    assign b3a7 = b[3] & a[7];
 330    assign b3a6 = b[3] & a[6];
 331    assign b3a5 = b[3] & a[5];
 332    assign b3a4 = b[3] & a[4];
 333    assign b3a3 = b[3] & a[3];
 334    assign b3a2 = b[3] & a[2];
 335    assign b3a1 = b[3] & a[1];
 336    assign b3a0 = b[3] & a[0];
 337    assign b2a32 = b[2] & a[32];
 338    assign b2a31 = b[2] & a[31];
 339    assign b2a30 = b[2] & a[30];
 340    assign b2a29 = b[2] & a[29];
 341    assign b2a28 = b[2] & a[28];
 342    assign b2a27 = b[2] & a[27];
 343    assign b2a26 = b[2] & a[26];
 344    assign b2a25 = b[2] & a[25];
 345    assign b2a24 = b[2] & a[24];
 346    assign b2a23 = b[2] & a[23];
 347    assign b2a22 = b[2] & a[22];
 348    assign b2a21 = b[2] & a[21];
 349    assign b2a20 = b[2] & a[20];
 350    assign b2a19 = b[2] & a[19];
 351    assign b2a18 = b[2] & a[18];
 352    assign b2a17 = b[2] & a[17];
 353    assign b2a16 = b[2] & a[16];
 354    assign b2a15 = b[2] & a[15];
 355    assign b2a14 = b[2] & a[14];
 356    assign b2a13 = b[2] & a[13];
 357    assign b2a12 = b[2] & a[12];
 358    assign b2a11 = b[2] & a[11];
 359    assign b2a10 = b[2] & a[10];
 360    assign b2a9 = b[2] & a[9];
 361    assign b2a8 = b[2] & a[8];
 362    assign b2a7 = b[2] & a[7];
 363    assign b2a6 = b[2] & a[6];
 364    assign b2a5 = b[2] & a[5];
 365    assign b2a4 = b[2] & a[4];
 366    assign b2a3 = b[2] & a[3];
 367    assign b2a2 = b[2] & a[2];
 368    assign b2a1 = b[2] & a[1];
 369    assign b2a0 = b[2] & a[0];
 370    assign b1a32 = b[1] & a[32];
 371    assign b1a31 = b[1] & a[31];
 372    assign b1a30 = b[1] & a[30];
 373    assign b1a29 = b[1] & a[29];
 374    assign b1a28 = b[1] & a[28];
 375    assign b1a27 = b[1] & a[27];
 376    assign b1a26 = b[1] & a[26];
 377    assign b1a25 = b[1] & a[25];
 378    assign b1a24 = b[1] & a[24];
 379    assign b1a23 = b[1] & a[23];
 380    assign b1a22 = b[1] & a[22];
 381    assign b1a21 = b[1] & a[21];
 382    assign b1a20 = b[1] & a[20];
 383    assign b1a19 = b[1] & a[19];
 384    assign b1a18 = b[1] & a[18];
 385    assign b1a17 = b[1] & a[17];
 386    assign b1a16 = b[1] & a[16];
 387    assign b1a15 = b[1] & a[15];
 388    assign b1a14 = b[1] & a[14];
 389    assign b1a13 = b[1] & a[13];
 390    assign b1a12 = b[1] & a[12];
 391    assign b1a11 = b[1] & a[11];
 392    assign b1a10 = b[1] & a[10];
 393    assign b1a9 = b[1] & a[9];
 394    assign b1a8 = b[1] & a[8];
 395    assign b1a7 = b[1] & a[7];
 396    assign b1a6 = b[1] & a[6];
 397    assign b1a5 = b[1] & a[5];
 398    assign b1a4 = b[1] & a[4];
 399    assign b1a3 = b[1] & a[3];
 400    assign b1a2 = b[1] & a[2];
 401    assign b1a1 = b[1] & a[1];
 402    assign b1a0 = b[1] & a[0];
 403    assign b0a32 = b[0] & a[32];
 404    assign b0a31 = b[0] & a[31];
 405    assign b0a30 = b[0] & a[30];
 406    assign b0a29 = b[0] & a[29];
 407    assign b0a28 = b[0] & a[28];
 408    assign b0a27 = b[0] & a[27];
 409    assign b0a26 = b[0] & a[26];
 410    assign b0a25 = b[0] & a[25];
 411    assign b0a24 = b[0] & a[24];
 412    assign b0a23 = b[0] & a[23];
 413    assign b0a22 = b[0] & a[22];
 414    assign b0a21 = b[0] & a[21];
 415    assign b0a20 = b[0] & a[20];
 416    assign b0a19 = b[0] & a[19];
 417    assign b0a18 = b[0] & a[18];
 418    assign b0a17 = b[0] & a[17];
 419    assign b0a16 = b[0] & a[16];
 420    assign b0a15 = b[0] & a[15];
 421    assign b0a14 = b[0] & a[14];
 422    assign b0a13 = b[0] & a[13];
 423    assign b0a12 = b[0] & a[12];
 424    assign b0a11 = b[0] & a[11];
 425    assign b0a10 = b[0] & a[10];
 426    assign b0a9 = b[0] & a[9];
 427    assign b0a8 = b[0] & a[8];
 428    assign b0a7 = b[0] & a[7];
 429    assign b0a6 = b[0] & a[6];
 430    assign b0a5 = b[0] & a[5];
 431    assign b0a4 = b[0] & a[4];
 432    assign b0a3 = b[0] & a[3];
 433    assign b0a2 = b[0] & a[2];
 434    assign b0a1 = b[0] & a[1];
 435    assign b0a0 = b[0] & a[0];
 436    assign aaaa = b11a32 ^ b12a31;
 437    assign aaab = b11a32 & b12a31;
 438    assign aaac = b10a32 ^ b12a30 ^ b11a31;
 439    assign aaad = (b10a32 & b12a30) | (b11a31 & (b10a32 ^ b12a30));
 440    assign aaae = b12a29 ^ b11a30 ^ b10a31;
 441    assign aaaf = (b12a29 & b11a30) | (b10a31 & (b12a29 ^ b11a30));
 442    assign aaag = b12a28 ^ b10a30 ^ b8a32;
 443    assign aaah = (b12a28 & b10a30) | (b8a32 & (b12a28 ^ b10a30));
 444    assign aaai = b11a29 ^ b9a31;
 445    assign aaaj = b11a29 & b9a31;
 446    assign aaak = b11a28 ^ b10a29 ^ b9a30;
 447    assign aaal = (b11a28 & b10a29) | (b9a30 & (b11a28 ^ b10a29));
 448    assign aaam = b8a31 ^ b12a27 ^ b7a32;
 449    assign aaan = (b8a31 & b12a27) | (b7a32 & (b8a31 ^ b12a27));
 450    assign aaao = b9a29 ^ b10a28 ^ b6a32;
 451    assign aaap = (b9a29 & b10a28) | (b6a32 & (b9a29 ^ b10a28));
 452    assign aaaq = b12a26 ^ b11a27 ^ b8a30;
 453    assign aaar = (b12a26 & b11a27) | (b8a30 & (b12a26 ^ b11a27));
 454    assign aaas = b8a29 ^ b10a27 ^ b7a30;
 455    assign aaat = (b8a29 & b10a27) | (b7a30 & (b8a29 ^ b10a27));
 456    assign aaau = b6a31 ^ b12a25 ^ b11a26;
 457    assign aaav = (b6a31 & b12a25) | (b11a26 & (b6a31 ^ b12a25));
 458    assign aaaw = b9a28 ^ b5a32;
 459    assign aaax = b9a28 & b5a32;
 460    assign aaay = b5a31 ^ b12a24 ^ b8a28;
 461    assign aaaz = (b5a31 & b12a24) | (b8a28 & (b5a31 ^ b12a24));
 462    assign aaba = b6a30 ^ b7a29 ^ b10a26;
 463    assign aabb = (b6a30 & b7a29) | (b10a26 & (b6a30 ^ b7a29));
 464    assign aabc = b9a27 ^ b4a32 ^ b11a25;
 465    assign aabd = (b9a27 & b4a32) | (b11a25 & (b9a27 ^ b4a32));
 466    assign aabe = b11a24 ^ b7a28 ^ b3a32;
 467    assign aabf = (b11a24 & b7a28) | (b3a32 & (b11a24 ^ b7a28));
 468    assign aabg = b6a29 ^ b9a26 ^ b5a30;
 469    assign aabh = (b6a29 & b9a26) | (b5a30 & (b6a29 ^ b9a26));
 470    assign aabi = b8a27 ^ b10a25 ^ b4a31;
 471    assign aabj = (b8a27 & b10a25) | (b4a31 & (b8a27 ^ b10a25));
 472    assign aabk = b10a24 ^ b3a31 ^ b8a26;
 473    assign aabl = (b10a24 & b3a31) | (b8a26 & (b10a24 ^ b3a31));
 474    assign aabm = b9a25 ^ b5a29 ^ b6a28;
 475    assign aabn = (b9a25 & b5a29) | (b6a28 & (b9a25 ^ b5a29));
 476    assign aabo = b4a30 ^ b12a22 ^ b7a27;
 477    assign aabp = (b4a30 & b12a22) | (b7a27 & (b4a30 ^ b12a22));
 478    assign aabq = b11a23 ^ b2a32;
 479    assign aabr = b11a23 & b2a32;
 480    assign aabs = b5a28 ^ b10a23 ^ b4a29;
 481    assign aabt = (b5a28 & b10a23) | (b4a29 & (b5a28 ^ b10a23));
 482    assign aabu = b7a26 ^ b1a32 ^ b12a21;
 483    assign aabv = (b7a26 & b1a32) | (b12a21 & (b7a26 ^ b1a32));
 484    assign aabw = b9a24 ^ b8a25 ^ b3a30;
 485    assign aabx = (b9a24 & b8a25) | (b3a30 & (b9a24 ^ b8a25));
 486    assign aaby = b6a27 ^ b2a31 ^ b11a22;
 487    assign aabz = (b6a27 & b2a31) | (b11a22 & (b6a27 ^ b2a31));
 488    assign aaca = b7a25 ^ b2a30 ^ b12a20;
 489    assign aacb = (b7a25 & b2a30) | (b12a20 & (b7a25 ^ b2a30));
 490    assign aacc = b1a31 ^ b5a27 ^ b0a32;
 491    assign aacd = (b1a31 & b5a27) | (b0a32 & (b1a31 ^ b5a27));
 492    assign aace = b10a22 ^ b9a23 ^ b11a21;
 493    assign aacf = (b10a22 & b9a23) | (b11a21 & (b10a22 ^ b9a23));
 494    assign aacg = b6a26 ^ b4a28 ^ b3a29;
 495    assign aach = (b6a26 & b4a28) | (b3a29 & (b6a26 ^ b4a28));
 496    assign aaci = b11a20 ^ b4a27 ^ b9a22;
 497    assign aacj = (b11a20 & b4a27) | (b9a22 & (b11a20 ^ b4a27));
 498    assign aack = b2a29 ^ b6a25 ^ b3a28;
 499    assign aacl = (b2a29 & b6a25) | (b3a28 & (b2a29 ^ b6a25));
 500    assign aacm = b5a26 ^ b12a19 ^ b10a21;
 501    assign aacn = (b5a26 & b12a19) | (b10a21 & (b5a26 ^ b12a19));
 502    assign aaco = b0a31 ^ b7a24 ^ b1a30;
 503    assign aacp = (b0a31 & b7a24) | (b1a30 & (b0a31 ^ b7a24));
 504    assign aacq = b10a20 ^ b8a22 ^ b12a18;
 505    assign aacr = (b10a20 & b8a22) | (b12a18 & (b10a20 ^ b8a22));
 506    assign aacs = b9a21 ^ b4a26 ^ b3a27;
 507    assign aact = (b9a21 & b4a26) | (b3a27 & (b9a21 ^ b4a26));
 508    assign aacu = b0a30 ^ b5a25 ^ b11a19;
 509    assign aacv = (b0a30 & b5a25) | (b11a19 & (b0a30 ^ b5a25));
 510    assign aacw = b2a28 ^ b7a23 ^ b1a29;
 511    assign aacx = (b2a28 & b7a23) | (b1a29 & (b2a28 ^ b7a23));
 512    assign aacy = b2a27 ^ b1a28 ^ b4a25;
 513    assign aacz = (b2a27 & b1a28) | (b4a25 & (b2a27 ^ b1a28));
 514    assign aada = b8a21 ^ b3a26 ^ b6a23;
 515    assign aadb = (b8a21 & b3a26) | (b6a23 & (b8a21 ^ b3a26));
 516    assign aadc = b9a20 ^ b10a19 ^ b12a17;
 517    assign aadd = (b9a20 & b10a19) | (b12a17 & (b9a20 ^ b10a19));
 518    assign aade = b11a18 ^ b7a22 ^ b5a24;
 519    assign aadf = (b11a18 & b7a22) | (b5a24 & (b11a18 ^ b7a22));
 520    assign aadg = b7a21 ^ b2a26 ^ b9a19;
 521    assign aadh = (b7a21 & b2a26) | (b9a19 & (b7a21 ^ b2a26));
 522    assign aadi = b1a27 ^ b0a28 ^ b5a23;
 523    assign aadj = (b1a27 & b0a28) | (b5a23 & (b1a27 ^ b0a28));
 524    assign aadk = b8a20 ^ b12a16 ^ b4a24;
 525    assign aadl = (b8a20 & b12a16) | (b4a24 & (b8a20 ^ b12a16));
 526    assign aadm = b11a17 ^ b6a22 ^ b10a18;
 527    assign aadn = (b11a17 & b6a22) | (b10a18 & (b11a17 ^ b6a22));
 528    assign aado = b4a23 ^ b8a19 ^ b6a21;
 529    assign aadp = (b4a23 & b8a19) | (b6a21 & (b4a23 ^ b8a19));
 530    assign aadq = b10a17 ^ b5a22 ^ b1a26;
 531    assign aadr = (b10a17 & b5a22) | (b1a26 & (b10a17 ^ b5a22));
 532    assign aads = b3a24 ^ b11a16 ^ b12a15;
 533    assign aadt = (b3a24 & b11a16) | (b12a15 & (b3a24 ^ b11a16));
 534    assign aadu = b7a20 ^ b9a18 ^ b2a25;
 535    assign aadv = (b7a20 & b9a18) | (b2a25 & (b7a20 ^ b9a18));
 536    assign aadw = b12a14 ^ b4a22 ^ b5a21;
 537    assign aadx = (b12a14 & b4a22) | (b5a21 & (b12a14 ^ b4a22));
 538    assign aady = b2a24 ^ b7a19 ^ b6a20;
 539    assign aadz = (b2a24 & b7a19) | (b6a20 & (b2a24 ^ b7a19));
 540    assign aaea = b3a23 ^ b11a15 ^ b10a16;
 541    assign aaeb = (b3a23 & b11a15) | (b10a16 & (b3a23 ^ b11a15));
 542    assign aaec = b8a18 ^ b0a26 ^ b9a17;
 543    assign aaed = (b8a18 & b0a26) | (b9a17 & (b8a18 ^ b0a26));
 544    assign aaee = b7a18 ^ b6a19 ^ b9a16;
 545    assign aaef = (b7a18 & b6a19) | (b9a16 & (b7a18 ^ b6a19));
 546    assign aaeg = b12a13 ^ b2a23 ^ b4a21;
 547    assign aaeh = (b12a13 & b2a23) | (b4a21 & (b12a13 ^ b2a23));
 548    assign aaei = b0a25 ^ b3a22 ^ b11a14;
 549    assign aaej = (b0a25 & b3a22) | (b11a14 & (b0a25 ^ b3a22));
 550    assign aaek = b8a17 ^ b10a15 ^ b1a24;
 551    assign aael = (b8a17 & b10a15) | (b1a24 & (b8a17 ^ b10a15));
 552    assign aaem = b3a21 ^ b7a17 ^ b0a24;
 553    assign aaen = (b3a21 & b7a17) | (b0a24 & (b3a21 ^ b7a17));
 554    assign aaeo = b6a18 ^ b4a20 ^ b8a16;
 555    assign aaep = (b6a18 & b4a20) | (b8a16 & (b6a18 ^ b4a20));
 556    assign aaeq = b5a19 ^ b1a23 ^ b9a15;
 557    assign aaer = (b5a19 & b1a23) | (b9a15 & (b5a19 ^ b1a23));
 558    assign aaes = b2a22 ^ b11a13 ^ b10a14;
 559    assign aaet = (b2a22 & b11a13) | (b10a14 & (b2a22 ^ b11a13));
 560    assign aaeu = b9a14 ^ b12a11 ^ b11a12;
 561    assign aaev = (b9a14 & b12a11) | (b11a12 & (b9a14 ^ b12a11));
 562    assign aaew = b1a22 ^ b6a17 ^ b7a16;
 563    assign aaex = (b1a22 & b6a17) | (b7a16 & (b1a22 ^ b6a17));
 564    assign aaey = b4a19 ^ b0a23 ^ b2a21;
 565    assign aaez = (b4a19 & b0a23) | (b2a21 & (b4a19 ^ b0a23));
 566    assign aafa = b3a20 ^ b10a13 ^ b8a15;
 567    assign aafb = (b3a20 & b10a13) | (b8a15 & (b3a20 ^ b10a13));
 568    assign aafc = b11a11 ^ b7a15 ^ b4a18;
 569    assign aafd = (b11a11 & b7a15) | (b4a18 & (b11a11 ^ b7a15));
 570    assign aafe = b2a20 ^ b3a19 ^ b6a16;
 571    assign aaff = (b2a20 & b3a19) | (b6a16 & (b2a20 ^ b3a19));
 572    assign aafg = b12a10 ^ b9a13 ^ b1a21;
 573    assign aafh = (b12a10 & b9a13) | (b1a21 & (b12a10 ^ b9a13));
 574    assign aafi = b10a12 ^ b8a14 ^ b5a17;
 575    assign aafj = (b10a12 & b8a14) | (b5a17 & (b10a12 ^ b8a14));
 576    assign aafk = b5a16 ^ b10a11 ^ b4a17;
 577    assign aafl = (b5a16 & b10a11) | (b4a17 & (b5a16 ^ b10a11));
 578    assign aafm = b0a21 ^ b8a13 ^ b12a9;
 579    assign aafn = (b0a21 & b8a13) | (b12a9 & (b0a21 ^ b8a13));
 580    assign aafo = b3a18 ^ b2a19 ^ b11a10;
 581    assign aafp = (b3a18 & b2a19) | (b11a10 & (b3a18 ^ b2a19));
 582    assign aafq = b9a12 ^ b1a20 ^ b6a15;
 583    assign aafr = (b9a12 & b1a20) | (b6a15 & (b9a12 ^ b1a20));
 584    assign aafs = b12a8 ^ b6a14 ^ b2a18;
 585    assign aaft = (b12a8 & b6a14) | (b2a18 & (b12a8 ^ b6a14));
 586    assign aafu = b9a11 ^ b11a9 ^ b3a17;
 587    assign aafv = (b9a11 & b11a9) | (b3a17 & (b9a11 ^ b11a9));
 588    assign aafw = b0a20 ^ b10a10 ^ b5a15;
 589    assign aafx = (b0a20 & b10a10) | (b5a15 & (b0a20 ^ b10a10));
 590    assign aafy = b8a12 ^ b4a16 ^ b7a13;
 591    assign aafz = (b8a12 & b4a16) | (b7a13 & (b8a12 ^ b4a16));
 592    assign aaga = b7a12 ^ b9a10 ^ b10a9;
 593    assign aagb = (b7a12 & b9a10) | (b10a9 & (b7a12 ^ b9a10));
 594    assign aagc = b6a13 ^ b5a14 ^ b2a17;
 595    assign aagd = (b6a13 & b5a14) | (b2a17 & (b6a13 ^ b5a14));
 596    assign aage = b8a11 ^ b0a19 ^ b12a7;
 597    assign aagf = (b8a11 & b0a19) | (b12a7 & (b8a11 ^ b0a19));
 598    assign aagg = b4a15 ^ b1a18 ^ b11a8;
 599    assign aagh = (b4a15 & b1a18) | (b11a8 & (b4a15 ^ b1a18));
 600    assign aagi = b8a10 ^ b10a8 ^ b6a12;
 601    assign aagj = (b8a10 & b10a8) | (b6a12 & (b8a10 ^ b10a8));
 602    assign aagk = b12a6 ^ b7a11 ^ b2a16;
 603    assign aagl = (b12a6 & b7a11) | (b2a16 & (b12a6 ^ b7a11));
 604    assign aagm = b1a17 ^ b9a9 ^ b3a15;
 605    assign aagn = (b1a17 & b9a9) | (b3a15 & (b1a17 ^ b9a9));
 606    assign aago = b0a18 ^ b11a7 ^ b5a13;
 607    assign aagp = (b0a18 & b11a7) | (b5a13 & (b0a18 ^ b11a7));
 608    assign aagq = b12a5 ^ b3a14 ^ b11a6;
 609    assign aagr = (b12a5 & b3a14) | (b11a6 & (b12a5 ^ b3a14));
 610    assign aags = b2a15 ^ b0a17 ^ b7a10;
 611    assign aagt = (b2a15 & b0a17) | (b7a10 & (b2a15 ^ b0a17));
 612    assign aagu = b9a8 ^ b1a16 ^ b6a11;
 613    assign aagv = (b9a8 & b1a16) | (b6a11 & (b9a8 ^ b1a16));
 614    assign aagw = b10a7 ^ b5a12 ^ b4a13;
 615    assign aagx = (b10a7 & b5a12) | (b4a13 & (b10a7 ^ b5a12));
 616    assign aagy = b4a12 ^ b1a15 ^ b5a11;
 617    assign aagz = (b4a12 & b1a15) | (b5a11 & (b4a12 ^ b1a15));
 618    assign aaha = b0a16 ^ b2a14 ^ b11a5;
 619    assign aahb = (b0a16 & b2a14) | (b11a5 & (b0a16 ^ b2a14));
 620    assign aahc = b10a6 ^ b3a13 ^ b6a10;
 621    assign aahd = (b10a6 & b3a13) | (b6a10 & (b10a6 ^ b3a13));
 622    assign aahe = b7a9 ^ b8a8 ^ b12a4;
 623    assign aahf = (b7a9 & b8a8) | (b12a4 & (b7a9 ^ b8a8));
 624    assign aahg = b11a4 ^ b9a6 ^ b1a14;
 625    assign aahh = (b11a4 & b9a6) | (b1a14 & (b11a4 ^ b9a6));
 626    assign aahi = b5a10 ^ b7a8 ^ b8a7;
 627    assign aahj = (b5a10 & b7a8) | (b8a7 & (b5a10 ^ b7a8));
 628    assign aahk = b4a11 ^ b10a5 ^ b2a13;
 629    assign aahl = (b4a11 & b10a5) | (b2a13 & (b4a11 ^ b10a5));
 630    assign aahm = b12a3 ^ b6a9 ^ b3a12;
 631    assign aahn = (b12a3 & b6a9) | (b3a12 & (b12a3 ^ b6a9));
 632    assign aaho = b7a7 ^ b11a3 ^ b8a6;
 633    assign aahp = (b7a7 & b11a3) | (b8a6 & (b7a7 ^ b11a3));
 634    assign aahq = b1a13 ^ b5a9 ^ b9a5;
 635    assign aahr = (b1a13 & b5a9) | (b9a5 & (b1a13 ^ b5a9));
 636    assign aahs = b0a14 ^ b12a2 ^ b10a4;
 637    assign aaht = (b0a14 & b12a2) | (b10a4 & (b0a14 ^ b12a2));
 638    assign aahu = b4a10 ^ b6a8 ^ b2a12;
 639    assign aahv = (b4a10 & b6a8) | (b2a12 & (b4a10 ^ b6a8));
 640    assign aahw = b9a4 ^ b6a7 ^ b4a9;
 641    assign aahx = (b9a4 & b6a7) | (b4a9 & (b9a4 ^ b6a7));
 642    assign aahy = b3a10 ^ b0a13 ^ b2a11;
 643    assign aahz = (b3a10 & b0a13) | (b2a11 & (b3a10 ^ b0a13));
 644    assign aaia = b5a8 ^ b10a3 ^ b12a1;
 645    assign aaib = (b5a8 & b10a3) | (b12a1 & (b5a8 ^ b10a3));
 646    assign aaic = b1a12 ^ b8a5 ^ b7a6;
 647    assign aaid = (b1a12 & b8a5) | (b7a6 & (b1a12 ^ b8a5));
 648    assign aaie = b10a2 ^ b12a0 ^ b4a8;
 649    assign aaif = (b10a2 & b12a0) | (b4a8 & (b10a2 ^ b12a0));
 650    assign aaig = b2a10 ^ b11a1 ^ b6a6;
 651    assign aaih = (b2a10 & b11a1) | (b6a6 & (b2a10 ^ b11a1));
 652    assign aaii = b5a7 ^ b0a12 ^ b3a9;
 653    assign aaij = (b5a7 & b0a12) | (b3a9 & (b5a7 ^ b0a12));
 654    assign aaik = b1a11 ^ b8a4 ^ b7a5;
 655    assign aail = (b1a11 & b8a4) | (b7a5 & (b1a11 ^ b8a4));
 656    assign aaim = b10a1 ^ b5a6 ^ b3a8;
 657    assign aain = (b10a1 & b5a6) | (b3a8 & (b10a1 ^ b5a6));
 658    assign aaio = b2a9 ^ b7a4 ^ b0a11;
 659    assign aaip = (b2a9 & b7a4) | (b0a11 & (b2a9 ^ b7a4));
 660    assign aaiq = b1a10 ^ b9a2 ^ b6a5;
 661    assign aair = (b1a10 & b9a2) | (b6a5 & (b1a10 ^ b9a2));
 662    assign aais = b11a0 ^ b4a7 ^ b8a3;
 663    assign aait = (b11a0 & b4a7) | (b8a3 & (b11a0 ^ b4a7));
 664    assign aaiu = b8a2 ^ b2a8 ^ b0a10;
 665    assign aaiv = (b8a2 & b2a8) | (b0a10 & (b8a2 ^ b2a8));
 666    assign aaiw = b6a4 ^ b9a1 ^ b7a3;
 667    assign aaix = (b6a4 & b9a1) | (b7a3 & (b6a4 ^ b9a1));
 668    assign aaiy = b4a6 ^ b10a0 ^ b3a7;
 669    assign aaiz = (b4a6 & b10a0) | (b3a7 & (b4a6 ^ b10a0));
 670    assign aaja = b5a5 ^ b1a9;
 671    assign aajb = b5a5 & b1a9;
 672    assign aajc = b9a0 ^ b1a8 ^ b2a7;
 673    assign aajd = (b9a0 & b1a8) | (b2a7 & (b9a0 ^ b1a8));
 674    assign aaje = b3a6 ^ b4a5 ^ b8a1;
 675    assign aajf = (b3a6 & b4a5) | (b8a1 & (b3a6 ^ b4a5));
 676    assign aajg = b5a4 ^ b6a3 ^ b7a2;
 677    assign aajh = (b5a4 & b6a3) | (b7a2 & (b5a4 ^ b6a3));
 678    assign aaji = b4a4 ^ b8a0 ^ b3a5;
 679    assign aajj = (b4a4 & b8a0) | (b3a5 & (b4a4 ^ b8a0));
 680    assign aajk = b1a7 ^ b0a8 ^ b5a3;
 681    assign aajl = (b1a7 & b0a8) | (b5a3 & (b1a7 ^ b0a8));
 682    assign aajm = b2a6 ^ b6a2 ^ b7a1;
 683    assign aajn = (b2a6 & b6a2) | (b7a1 & (b2a6 ^ b6a2));
 684    assign aajo = b6a1 ^ b0a7 ^ b7a0;
 685    assign aajp = (b6a1 & b0a7) | (b7a0 & (b6a1 ^ b0a7));
 686    assign aajq = b4a3 ^ b5a2 ^ b3a4;
 687    assign aajr = (b4a3 & b5a2) | (b3a4 & (b4a3 ^ b5a2));
 688    assign aajs = b1a6 ^ b2a5;
 689    assign aajt = b1a6 & b2a5;
 690    assign aaju = b4a2 ^ b0a6 ^ b6a0;
 691    assign aajv = (b4a2 & b0a6) | (b6a0 & (b4a2 ^ b0a6));
 692    assign aajw = b2a4 ^ b3a3 ^ b1a5;
 693    assign aajx = (b2a4 & b3a3) | (b1a5 & (b2a4 ^ b3a3));
 694    assign aajy = b3a2 ^ b4a1 ^ b1a4;
 695    assign aajz = (b3a2 & b4a1) | (b1a4 & (b3a2 ^ b4a1));
 696    assign aaka = b2a3 ^ b0a5 ^ b5a0;
 697    assign aakb = (b2a3 & b0a5) | (b5a0 & (b2a3 ^ b0a5));
 698    assign aakc = b4a0 ^ b3a1 ^ b0a4;
 699    assign aakd = (b4a0 & b3a1) | (b0a4 & (b4a0 ^ b3a1));
 700    assign aake = b1a3 ^ b2a2;
 701    assign aakf = b1a3 & b2a2;
 702    assign aakg = b0a3 ^ b3a0 ^ b2a1;
 703    assign aakh = (b0a3 & b3a0) | (b2a1 & (b0a3 ^ b3a0));
 704    assign aaki = b2a0 ^ b0a2 ^ b1a1;
 705    assign aakj = (b2a0 & b0a2) | (b1a1 & (b2a0 ^ b0a2));
 706    assign aakk = b0a1 ^ b1a0;
 707    assign aakl = b0a1 & b1a0;
 708    assign aakm = aaab ^ b12a32;
 709    assign aakn = aaab & b12a32;
 710    assign aako = aaaa ^ aaad;
 711    assign aakp = aaaa & aaad;
 712    assign aakq = aaac ^ aaaf;
 713    assign aakr = aaac & aaaf;
 714    assign aaks = aaae ^ aaah ^ aaaj;
 715    assign aakt = (aaae & aaah) | (aaaj & (aaae ^ aaah));
 716    assign aaku = aaai ^ aaal ^ aaan;
 717    assign aakv = (aaai & aaal) | (aaan & (aaai ^ aaal));
 718    assign aakw = aaar ^ aaam ^ aaak;
 719    assign aakx = (aaar & aaam) | (aaak & (aaar ^ aaam));
 720    assign aaky = aaaq ^ aaav ^ aaao;
 721    assign aakz = (aaaq & aaav) | (aaao & (aaaq ^ aaav));
 722    assign aala = b7a31 ^ aaax ^ aaat;
 723    assign aalb = (b7a31 & aaax) | (aaat & (b7a31 ^ aaax));
 724    assign aalc = aaaz ^ aabb ^ aaaw;
 725    assign aald = (aaaz & aabb) | (aaaw & (aaaz ^ aabb));
 726    assign aale = aaas ^ aabd ^ aaau;
 727    assign aalf = (aaas & aabd) | (aaau & (aaas ^ aabd));
 728    assign aalg = aabf ^ aabj ^ aabh;
 729    assign aalh = (aabf & aabj) | (aabh & (aabf ^ aabj));
 730    assign aali = aaay ^ aabc ^ aaba;
 731    assign aalj = (aaay & aabc) | (aaba & (aaay ^ aabc));
 732    assign aalk = aabn ^ aabi ^ aabg;
 733    assign aall = (aabn & aabi) | (aabg & (aabn ^ aabi));
 734    assign aalm = aabr ^ b12a23 ^ aabe;
 735    assign aaln = (aabr & b12a23) | (aabe & (aabr ^ b12a23));
 736    assign aalo = aabl ^ aabp;
 737    assign aalp = aabl & aabp;
 738    assign aalq = aabq ^ aabt ^ aabm;
 739    assign aalr = (aabq & aabt) | (aabm & (aabq ^ aabt));
 740    assign aals = aabx ^ aabv ^ aabo;
 741    assign aalt = (aabx & aabv) | (aabo & (aabx ^ aabv));
 742    assign aalu = aabz ^ aabk;
 743    assign aalv = aabz & aabk;
 744    assign aalw = aacf ^ aacb ^ aabu;
 745    assign aalx = (aacf & aacb) | (aabu & (aacf ^ aacb));
 746    assign aaly = aacd ^ aach ^ aabs;
 747    assign aalz = (aacd & aach) | (aabs & (aacd ^ aach));
 748    assign aama = aaby ^ aabw;
 749    assign aamb = aaby & aabw;
 750    assign aamc = aacj ^ aacn ^ aace;
 751    assign aamd = (aacj & aacn) | (aace & (aacj ^ aacn));
 752    assign aame = aacg ^ aacl ^ aacc;
 753    assign aamf = (aacg & aacl) | (aacc & (aacg ^ aacl));
 754    assign aamg = aacp ^ aaca ^ b8a24;
 755    assign aamh = (aacp & aaca) | (b8a24 & (aacp ^ aaca));
 756    assign aami = aacv ^ aaci ^ aacr;
 757    assign aamj = (aacv & aaci) | (aacr & (aacv ^ aaci));
 758    assign aamk = aack ^ aaco ^ aacx;
 759    assign aaml = (aack & aaco) | (aacx & (aack ^ aaco));
 760    assign aamm = aact ^ aacm ^ b8a23;
 761    assign aamn = (aact & aacm) | (b8a23 & (aact ^ aacm));
 762    assign aamo = aacs ^ aadf ^ aacz;
 763    assign aamp = (aacs & aadf) | (aacz & (aacs ^ aadf));
 764    assign aamq = aacw ^ aacu ^ aacq;
 765    assign aamr = (aacw & aacu) | (aacq & (aacw ^ aacu));
 766    assign aams = aadd ^ b6a24 ^ aadb;
 767    assign aamt = (aadd & b6a24) | (aadb & (aadd ^ b6a24));
 768    assign aamu = aada ^ aadl ^ aadc;
 769    assign aamv = (aada & aadl) | (aadc & (aada ^ aadl));
 770    assign aamw = aade ^ aacy ^ aadj;
 771    assign aamx = (aade & aacy) | (aadj & (aade ^ aacy));
 772    assign aamy = b0a29 ^ aadn ^ aadh;
 773    assign aamz = (b0a29 & aadn) | (aadh & (b0a29 ^ aadn));
 774    assign aana = aadk ^ aadg ^ aadr;
 775    assign aanb = (aadk & aadg) | (aadr & (aadk ^ aadg));
 776    assign aanc = aadv ^ aadp ^ aadm;
 777    assign aand = (aadv & aadp) | (aadm & (aadv ^ aadp));
 778    assign aane = aadi ^ aadt ^ b3a25;
 779    assign aanf = (aadi & aadt) | (b3a25 & (aadi ^ aadt));
 780    assign aang = aaeb ^ aado ^ aadu;
 781    assign aanh = (aaeb & aado) | (aadu & (aaeb ^ aado));
 782    assign aani = aads ^ aaed ^ aadx;
 783    assign aanj = (aads & aaed) | (aadx & (aads ^ aaed));
 784    assign aank = aadq ^ aadz ^ b0a27;
 785    assign aanl = (aadq & aadz) | (b0a27 & (aadq ^ aadz));
 786    assign aanm = aaef ^ aael ^ aaeh;
 787    assign aann = (aaef & aael) | (aaeh & (aaef ^ aael));
 788    assign aano = aady ^ aaej ^ aaec;
 789    assign aanp = (aady & aaej) | (aaec & (aady ^ aaej));
 790    assign aanq = aadw ^ aaea ^ b1a25;
 791    assign aanr = (aadw & aaea) | (b1a25 & (aadw ^ aaea));
 792    assign aans = aaer ^ aaee ^ aaei;
 793    assign aant = (aaer & aaee) | (aaei & (aaer ^ aaee));
 794    assign aanu = aaet ^ aaek ^ aaen;
 795    assign aanv = (aaet & aaek) | (aaen & (aaet ^ aaek));
 796    assign aanw = aaeg ^ aaep ^ b5a20;
 797    assign aanx = (aaeg & aaep) | (b5a20 & (aaeg ^ aaep));
 798    assign aany = aaem ^ aaez ^ aaes;
 799    assign aanz = (aaem & aaez) | (aaes & (aaem ^ aaez));
 800    assign aaoa = aaev ^ aaeq ^ aaex;
 801    assign aaob = (aaev & aaeq) | (aaex & (aaev ^ aaeq));
 802    assign aaoc = b12a12 ^ aafb ^ aaeo;
 803    assign aaod = (b12a12 & aafb) | (aaeo & (b12a12 ^ aafb));
 804    assign aaoe = aafa ^ aaeu ^ aaew;
 805    assign aaof = (aafa & aaeu) | (aaew & (aafa ^ aaeu));
 806    assign aaog = aaey ^ aafj ^ aafd;
 807    assign aaoh = (aaey & aafj) | (aafd & (aaey ^ aafj));
 808    assign aaoi = aaff ^ b5a18 ^ aafh;
 809    assign aaoj = (aaff & b5a18) | (aafh & (aaff ^ b5a18));
 810    assign aaok = aafr ^ aafp ^ aafn;
 811    assign aaol = (aafr & aafp) | (aafn & (aafr ^ aafp));
 812    assign aaom = aafe ^ aafg ^ aafi;
 813    assign aaon = (aafe & aafg) | (aafi & (aafe ^ aafg));
 814    assign aaoo = aafc ^ aafl ^ b0a22;
 815    assign aaop = (aafc & aafl) | (b0a22 & (aafc ^ aafl));
 816    assign aaoq = aafz ^ aafq ^ aafo;
 817    assign aaor = (aafz & aafq) | (aafo & (aafz ^ aafq));
 818    assign aaos = aafv ^ aafk ^ aafm;
 819    assign aaot = (aafv & aafk) | (aafm & (aafv ^ aafk));
 820    assign aaou = aaft ^ b7a14 ^ aafx;
 821    assign aaov = (aaft & b7a14) | (aafx & (aaft ^ b7a14));
 822    assign aaow = aafu ^ aagf ^ aagb;
 823    assign aaox = (aafu & aagf) | (aagb & (aafu ^ aagf));
 824    assign aaoy = aafy ^ aagh ^ aafs;
 825    assign aaoz = (aafy & aagh) | (aafs & (aafy ^ aagh));
 826    assign aapa = aagd ^ aafw ^ b1a19;
 827    assign aapb = (aagd & aafw) | (b1a19 & (aagd ^ aafw));
 828    assign aapc = aagl ^ aagp ^ aagc;
 829    assign aapd = (aagl & aagp) | (aagc & (aagl ^ aagp));
 830    assign aape = aagg ^ aagn ^ aage;
 831    assign aapf = (aagg & aagn) | (aage & (aagg ^ aagn));
 832    assign aapg = aaga ^ b3a16 ^ aagj;
 833    assign aaph = (aaga & b3a16) | (aagj & (aaga ^ b3a16));
 834    assign aapi = aagr ^ aagi ^ aago;
 835    assign aapj = (aagr & aagi) | (aago & (aagr ^ aagi));
 836    assign aapk = aagv ^ aagk ^ b4a14;
 837    assign aapl = (aagv & aagk) | (b4a14 & (aagv ^ aagk));
 838    assign aapm = aagx ^ aagt ^ aagm;
 839    assign aapn = (aagx & aagt) | (aagm & (aagx ^ aagt));
 840    assign aapo = aagu ^ aahf ^ aagz;
 841    assign aapp = (aagu & aahf) | (aagz & (aagu ^ aahf));
 842    assign aapq = aagw ^ aags ^ aagq;
 843    assign aapr = (aagw & aags) | (aagq & (aagw ^ aags));
 844    assign aaps = aahd ^ aahb ^ b8a9;
 845    assign aapt = (aahd & aahb) | (b8a9 & (aahd ^ aahb));
 846    assign aapu = aahe ^ aaha ^ aahn;
 847    assign aapv = (aahe & aaha) | (aahn & (aahe ^ aaha));
 848    assign aapw = aahc ^ aahj ^ aagy;
 849    assign aapx = (aahc & aahj) | (aagy & (aahc ^ aahj));
 850    assign aapy = aahl ^ aahh ^ b9a7;
 851    assign aapz = (aahl & aahh) | (b9a7 & (aahl ^ aahh));
 852    assign aaqa = aahg ^ aahm ^ aahr;
 853    assign aaqb = (aahg & aahm) | (aahr & (aahg ^ aahm));
 854    assign aaqc = aahi ^ aaht ^ aahp;
 855    assign aaqd = (aahi & aaht) | (aahp & (aahi ^ aaht));
 856    assign aaqe = aahk ^ aahv ^ b0a15;
 857    assign aaqf = (aahk & aahv) | (b0a15 & (aahk ^ aahv));
 858    assign aaqg = aahx ^ aaib ^ aahs;
 859    assign aaqh = (aahx & aaib) | (aahs & (aahx ^ aaib));
 860    assign aaqi = aaho ^ aahz ^ aaid;
 861    assign aaqj = (aaho & aahz) | (aaid & (aaho ^ aahz));
 862    assign aaqk = aahq ^ aahu ^ b3a11;
 863    assign aaql = (aahq & aahu) | (b3a11 & (aahq ^ aahu));
 864    assign aaqm = aaij ^ aahw ^ aahy;
 865    assign aaqn = (aaij & aahw) | (aahy & (aaij ^ aahw));
 866    assign aaqo = aaia ^ aaif ^ aail;
 867    assign aaqp = (aaia & aaif) | (aail & (aaia ^ aaif));
 868    assign aaqq = aaih ^ b11a2 ^ aaic;
 869    assign aaqr = (aaih & b11a2) | (aaic & (aaih ^ b11a2));
 870    assign aaqs = aaig ^ aaie ^ aair;
 871    assign aaqt = (aaig & aaie) | (aair & (aaig ^ aaie));
 872    assign aaqu = aaii ^ aaip ^ aait;
 873    assign aaqv = (aaii & aaip) | (aait & (aaii ^ aaip));
 874    assign aaqw = aaik ^ b9a3 ^ aain;
 875    assign aaqx = (aaik & b9a3) | (aain & (aaik ^ b9a3));
 876    assign aaqy = aaim ^ aais ^ aaiq;
 877    assign aaqz = (aaim & aais) | (aaiq & (aaim ^ aais));
 878    assign aara = aaiz ^ aaio ^ aajb;
 879    assign aarb = (aaiz & aaio) | (aajb & (aaiz ^ aaio));
 880    assign aarc = aaix ^ aaiv;
 881    assign aard = aaix & aaiv;
 882    assign aare = aajf ^ aaiy ^ aaiw;
 883    assign aarf = (aajf & aaiy) | (aaiw & (aajf ^ aaiy));
 884    assign aarg = aaja ^ aajd ^ aaiu;
 885    assign aarh = (aaja & aajd) | (aaiu & (aaja ^ aajd));
 886    assign aari = aajn ^ aajc ^ aaje;
 887    assign aarj = (aajn & aajc) | (aaje & (aajn ^ aajc));
 888    assign aark = aajj ^ aajl ^ aajg;
 889    assign aarl = (aajj & aajl) | (aajg & (aajj ^ aajl));
 890    assign aarm = aaji ^ aajp ^ aajr;
 891    assign aarn = (aaji & aajp) | (aajr & (aaji ^ aajp));
 892    assign aaro = aajk ^ aajt ^ aajm;
 893    assign aarp = (aajk & aajt) | (aajm & (aajk ^ aajt));
 894    assign aarq = aajo ^ aajv ^ aajq;
 895    assign aarr = (aajo & aajv) | (aajq & (aajo ^ aajv));
 896    assign aars = aajs ^ aajx;
 897    assign aart = aajs & aajx;
 898    assign aaru = aajw ^ aakb ^ aaju;
 899    assign aarv = (aajw & aakb) | (aaju & (aajw ^ aakb));
 900    assign aarw = aajz ^ b5a1;
 901    assign aarx = aajz & b5a1;
 902    assign aary = aajy ^ aakd ^ aakf;
 903    assign aarz = (aajy & aakd) | (aakf & (aajy ^ aakd));
 904    assign aasa = aakh ^ aakc ^ aake;
 905    assign aasb = (aakh & aakc) | (aake & (aakh ^ aakc));
 906    assign aasc = aakg ^ aakj ^ b1a2;
 907    assign aasd = (aakg & aakj) | (b1a2 & (aakg ^ aakj));
 908    assign aase = aakl ^ aaki;
 909    assign aasf = aakl & aaki;
 910    assign aasg = aakm ^ aakp;
 911    assign aash = aakm & aakp;
 912    assign aasi = aakr ^ aako;
 913    assign aasj = aakr & aako;
 914    assign aask = aakq ^ aakt;
 915    assign aasl = aakq & aakt;
 916    assign aasm = aakv ^ aaks ^ b9a32;
 917    assign aasn = (aakv & aaks) | (b9a32 & (aakv ^ aaks));
 918    assign aaso = aaku ^ aaag ^ aakx;
 919    assign aasp = (aaku & aaag) | (aakx & (aaku ^ aaag));
 920    assign aasq = aakz ^ aalb ^ aakw;
 921    assign aasr = (aakz & aalb) | (aakw & (aakz ^ aalb));
 922    assign aass = aalf ^ aald ^ aala;
 923    assign aast = (aalf & aald) | (aala & (aalf ^ aald));
 924    assign aasu = aalc ^ aalh ^ aale;
 925    assign aasv = (aalc & aalh) | (aale & (aalc ^ aalh));
 926    assign aasw = aall ^ aalp ^ aalg;
 927    assign aasx = (aall & aalp) | (aalg & (aall ^ aalp));
 928    assign aasy = aaln ^ aali;
 929    assign aasz = aaln & aali;
 930    assign aata = aalm ^ aalk ^ aalv;
 931    assign aatb = (aalm & aalk) | (aalv & (aalm ^ aalk));
 932    assign aatc = aalr ^ aalt ^ aalo;
 933    assign aatd = (aalr & aalt) | (aalo & (aalr ^ aalt));
 934    assign aate = aalu ^ aals ^ aamb;
 935    assign aatf = (aalu & aals) | (aamb & (aalu ^ aals));
 936    assign aatg = aalq ^ aalx ^ aalz;
 937    assign aath = (aalq & aalx) | (aalz & (aalq ^ aalx));
 938    assign aati = aama ^ aamf ^ aaly;
 939    assign aatj = (aama & aamf) | (aaly & (aama ^ aamf));
 940    assign aatk = aalw ^ aamh ^ aamd;
 941    assign aatl = (aalw & aamh) | (aamd & (aalw ^ aamh));
 942    assign aatm = aamg ^ aamn ^ aamc;
 943    assign aatn = (aamg & aamn) | (aamc & (aamg ^ aamn));
 944    assign aato = aaml ^ aame ^ aamj;
 945    assign aatp = (aaml & aame) | (aamj & (aaml ^ aame));
 946    assign aatq = aami ^ aamm ^ aamt;
 947    assign aatr = (aami & aamm) | (aamt & (aami ^ aamm));
 948    assign aats = aamk ^ aamp ^ aamr;
 949    assign aatt = (aamk & aamp) | (aamr & (aamk ^ aamp));
 950    assign aatu = aamx ^ aams ^ aamq;
 951    assign aatv = (aamx & aams) | (aamq & (aamx ^ aams));
 952    assign aatw = aamo ^ aamv ^ aamz;
 953    assign aatx = (aamo & aamv) | (aamz & (aamo ^ aamv));
 954    assign aaty = aamu ^ aamy ^ aand;
 955    assign aatz = (aamu & aamy) | (aand & (aamu ^ aamy));
 956    assign aaua = aamw ^ aanf ^ aanb;
 957    assign aaub = (aamw & aanf) | (aanb & (aamw ^ aanf));
 958    assign aauc = aanc ^ aanj ^ aanl;
 959    assign aaud = (aanc & aanj) | (aanl & (aanc ^ aanj));
 960    assign aaue = aane ^ aana ^ aanh;
 961    assign aauf = (aane & aana) | (aanh & (aane ^ aana));
 962    assign aaug = aanr ^ aani ^ aank;
 963    assign aauh = (aanr & aani) | (aank & (aanr ^ aani));
 964    assign aaui = aanp ^ aann ^ aang;
 965    assign aauj = (aanp & aann) | (aang & (aanp ^ aann));
 966    assign aauk = aanq ^ aano ^ aant;
 967    assign aaul = (aanq & aano) | (aant & (aanq ^ aano));
 968    assign aaum = aanx ^ aanm ^ aanv;
 969    assign aaun = (aanx & aanm) | (aanv & (aanx ^ aanm));
 970    assign aauo = aanu ^ aanz ^ aaob;
 971    assign aaup = (aanu & aanz) | (aaob & (aanu ^ aanz));
 972    assign aauq = aaod ^ aanw ^ aans;
 973    assign aaur = (aaod & aanw) | (aans & (aaod ^ aanw));
 974    assign aaus = aaoc ^ aaof ^ aaoj;
 975    assign aaut = (aaoc & aaof) | (aaoj & (aaoc ^ aaof));
 976    assign aauu = aany ^ aaoh ^ aaoa;
 977    assign aauv = (aany & aaoh) | (aaoa & (aany ^ aaoh));
 978    assign aauw = aaoe ^ aaoi ^ aaol;
 979    assign aaux = (aaoe & aaoi) | (aaol & (aaoe ^ aaoi));
 980    assign aauy = aaon ^ aaog ^ aaop;
 981    assign aauz = (aaon & aaog) | (aaop & (aaon ^ aaog));
 982    assign aava = aaom ^ aaot ^ aaok;
 983    assign aavb = (aaom & aaot) | (aaok & (aaom ^ aaot));
 984    assign aavc = aaor ^ aaov ^ aaoo;
 985    assign aavd = (aaor & aaov) | (aaoo & (aaor ^ aaov));
 986    assign aave = aaos ^ aaox ^ aaoz;
 987    assign aavf = (aaos & aaox) | (aaoz & (aaos ^ aaox));
 988    assign aavg = aapb ^ aaoq ^ aaou;
 989    assign aavh = (aapb & aaoq) | (aaou & (aapb ^ aaoq));
 990    assign aavi = aaph ^ aapd ^ aaow;
 991    assign aavj = (aaph & aapd) | (aaow & (aaph ^ aapd));
 992    assign aavk = aapf ^ aapa ^ aaoy;
 993    assign aavl = (aapf & aapa) | (aaoy & (aapf ^ aapa));
 994    assign aavm = aapn ^ aapj ^ aapl;
 995    assign aavn = (aapn & aapj) | (aapl & (aapn ^ aapj));
 996    assign aavo = aapg ^ aapc ^ aape;
 997    assign aavp = (aapg & aapc) | (aape & (aapg ^ aapc));
 998    assign aavq = aapm ^ aapp ^ aapt;
 999    assign aavr = (aapm & aapp) | (aapt & (aapm ^ aapp));
1000    assign aavs = aapr ^ aapi ^ aapk;
1001    assign aavt = (aapr & aapi) | (aapk & (aapr ^ aapi));
1002    assign aavu = aapo ^ aapx ^ aaps;
1003    assign aavv = (aapo & aapx) | (aaps & (aapo ^ aapx));
1004    assign aavw = aapv ^ aapz ^ aapq;
1005    assign aavx = (aapv & aapz) | (aapq & (aapv ^ aapz));
1006    assign aavy = aaqd ^ aapy ^ aapu;
1007    assign aavz = (aaqd & aapy) | (aapu & (aaqd ^ aapy));
1008    assign aawa = aaqb ^ aaqf ^ aapw;
1009    assign aawb = (aaqb & aaqf) | (aapw & (aaqb ^ aaqf));
1010    assign aawc = aaql ^ aaqh ^ aaqe;
1011    assign aawd = (aaql & aaqh) | (aaqe & (aaql ^ aaqh));
1012    assign aawe = aaqj ^ aaqa ^ aaqc;
1013    assign aawf = (aaqj & aaqa) | (aaqc & (aaqj ^ aaqa));
1014    assign aawg = aaqg ^ aaqn ^ aaqi;
1015    assign aawh = (aaqg & aaqn) | (aaqi & (aaqg ^ aaqn));
1016    assign aawi = aaqp ^ aaqk ^ aaqr;
1017    assign aawj = (aaqp & aaqk) | (aaqr & (aaqp ^ aaqk));
1018    assign aawk = aaqx ^ aaqo ^ aaqm;
1019    assign aawl = (aaqx & aaqo) | (aaqm & (aaqx ^ aaqo));
1020    assign aawm = aaqt ^ aaqq ^ aaqv;
1021    assign aawn = (aaqt & aaqq) | (aaqv & (aaqt ^ aaqq));
1022    assign aawo = aard ^ aaqw ^ aaqs;
1023    assign aawp = (aard & aaqw) | (aaqs & (aard ^ aaqw));
1024    assign aawq = aarb ^ aaqz ^ aaqu;
1025    assign aawr = (aarb & aaqz) | (aaqu & (aarb ^ aaqz));
1026    assign aaws = aarc ^ aarh ^ aaqy;
1027    assign aawt = (aarc & aarh) | (aaqy & (aarc ^ aarh));
1028    assign aawu = aarf ^ aara;
1029    assign aawv = aarf & aara;
1030    assign aaww = aarg ^ aarj ^ aarl;
1031    assign aawx = (aarg & aarj) | (aarl & (aarg ^ aarj));
1032    assign aawy = aajh ^ aare;
1033    assign aawz = aajh & aare;
1034    assign aaxa = aari ^ aarn ^ aark;
1035    assign aaxb = (aari & aarn) | (aark & (aari ^ aarn));
1036    assign aaxc = b0a9 ^ aarp;
1037    assign aaxd = b0a9 & aarp;
1038    assign aaxe = aarm ^ aarr ^ aaro;
1039    assign aaxf = (aarm & aarr) | (aaro & (aarm ^ aarr));
1040    assign aaxg = aarv ^ aarq ^ aars;
1041    assign aaxh = (aarv & aarq) | (aars & (aarv ^ aarq));
1042    assign aaxi = aaru ^ aarz ^ aarw;
1043    assign aaxj = (aaru & aarz) | (aarw & (aaru ^ aarz));
1044    assign aaxk = aasb ^ aary ^ aaka;
1045    assign aaxl = (aasb & aary) | (aaka & (aasb ^ aary));
1046    assign aaxm = aasd ^ aasa;
1047    assign aaxn = aasd & aasa;
1048    assign aaxo = aasf ^ aasc;
1049    assign aaxp = aasf & aasc;
1050    assign aaxq = aakn ^ aash;
1051    assign aaxr = aakn & aash;
1052    assign aaxs = aasg ^ aasj;
1053    assign aaxt = aasg & aasj;
1054    assign aaxu = aasi ^ aasl;
1055    assign aaxv = aasi & aasl;
1056    assign aaxw = aask ^ aasn;
1057    assign aaxx = aask & aasn;
1058    assign aaxy = aasm ^ aasp;
1059    assign aaxz = aasm & aasp;
1060    assign aaya = aaso ^ aasr;
1061    assign aayb = aaso & aasr;
1062    assign aayc = aasq ^ aast ^ aaap;
1063    assign aayd = (aasq & aast) | (aaap & (aasq ^ aast));
1064    assign aaye = aass ^ aasv ^ aaky;
1065    assign aayf = (aass & aasv) | (aaky & (aass ^ aasv));
1066    assign aayg = aasz ^ aasu ^ aasx;
1067    assign aayh = (aasz & aasu) | (aasx & (aasz ^ aasu));
1068    assign aayi = aasw ^ aasy ^ aatb;
1069    assign aayj = (aasw & aasy) | (aatb & (aasw ^ aasy));
1070    assign aayk = aatc ^ aatf ^ aath;
1071    assign aayl = (aatc & aatf) | (aath & (aatc ^ aatf));
1072    assign aaym = aatj ^ aatg ^ aate;
1073    assign aayn = (aatj & aatg) | (aate & (aatj ^ aatg));
1074    assign aayo = aatp ^ aatk ^ aatn;
1075    assign aayp = (aatp & aatk) | (aatn & (aatp ^ aatk));
1076    assign aayq = aatm ^ aatr ^ aatt;
1077    assign aayr = (aatm & aatr) | (aatt & (aatm ^ aatr));
1078    assign aays = aatq ^ aatx ^ aatv;
1079    assign aayt = (aatq & aatx) | (aatv & (aatq ^ aatx));
1080    assign aayu = aatu ^ aatz ^ aatw;
1081    assign aayv = (aatu & aatz) | (aatw & (aatu ^ aatz));
1082    assign aayw = aaud ^ aaua ^ aauf;
1083    assign aayx = (aaud & aaua) | (aauf & (aaud ^ aaua));
1084    assign aayy = aauc ^ aauj ^ aaue;
1085    assign aayz = (aauc & aauj) | (aaue & (aauc ^ aauj));
1086    assign aaza = aaug ^ aaul ^ aaun;
1087    assign aazb = (aaug & aaul) | (aaun & (aaug ^ aaul));
1088    assign aazc = aaum ^ aaup ^ aaur;
1089    assign aazd = (aaum & aaup) | (aaur & (aaum ^ aaup));
1090    assign aaze = aaut ^ aauq ^ aauv;
1091    assign aazf = (aaut & aauq) | (aauv & (aaut ^ aauq));
1092    assign aazg = aaus ^ aaux ^ aauu;
1093    assign aazh = (aaus & aaux) | (aauu & (aaus ^ aaux));
1094    assign aazi = aauw ^ aauy ^ aavb;
1095    assign aazj = (aauw & aauy) | (aavb & (aauw ^ aauy));
1096    assign aazk = aavc ^ aavf ^ aava;
1097    assign aazl = (aavc & aavf) | (aava & (aavc ^ aavf));
1098    assign aazm = aavl ^ aave ^ aavj;
1099    assign aazn = (aavl & aave) | (aavj & (aavl ^ aave));
1100    assign aazo = aavp ^ aavi ^ aavk;
1101    assign aazp = (aavp & aavi) | (aavk & (aavp ^ aavi));
1102    assign aazq = aavm ^ aavt ^ aavo;
1103    assign aazr = (aavm & aavt) | (aavo & (aavm ^ aavt));
1104    assign aazs = aavq ^ aavv ^ aavs;
1105    assign aazt = (aavq & aavv) | (aavs & (aavq ^ aavv));
1106    assign aazu = aawb ^ aavz ^ aavu;
1107    assign aazv = (aawb & aavz) | (aavu & (aawb ^ aavz));
1108    assign aazw = aawf ^ aavy ^ aawd;
1109    assign aazx = (aawf & aavy) | (aawd & (aawf ^ aavy));
1110    assign aazy = aawe ^ aawj ^ aawc;
1111    assign aazz = (aawe & aawj) | (aawc & (aawe ^ aawj));
1112    assign abaa = aawn ^ aawi ^ aawg;
1113    assign abab = (aawn & aawi) | (aawg & (aawn ^ aawi));
1114    assign abac = aawk ^ aawr ^ aawm;
1115    assign abad = (aawk & aawr) | (aawm & (aawk ^ aawr));
1116    assign abae = aawt ^ aawo ^ aawq;
1117    assign abaf = (aawt & aawo) | (aawq & (aawt ^ aawo));
1118    assign abag = aaws ^ aawu ^ aawx;
1119    assign abah = (aaws & aawu) | (aawx & (aaws ^ aawu));
1120    assign abai = aawy ^ aaww ^ aaxb;
1121    assign abaj = (aawy & aaww) | (aaxb & (aawy ^ aaww));
1122    assign abak = aaxa ^ aaxc ^ aaxf;
1123    assign abal = (aaxa & aaxc) | (aaxf & (aaxa ^ aaxc));
1124    assign abam = aaxe ^ aart ^ aaxh;
1125    assign aban = (aaxe & aart) | (aaxh & (aaxe ^ aart));
1126    assign abao = aaxg ^ aaxj ^ aarx;
1127    assign abap = (aaxg & aaxj) | (aarx & (aaxg ^ aaxj));
1128    assign abaq = aaxl ^ aaxi;
1129    assign abar = aaxl & aaxi;
1130    assign abas = aaxn ^ aaxk;
1131    assign abat = aaxn & aaxk;
1132    assign abau = aaxm ^ aaxp;
1133    assign abav = aaxm & aaxp;
1134    assign abaw = aaxq ^ aaxt;
1135    assign abax = aaxq & aaxt;
1136    assign abay = aaxv ^ aaxs;
1137    assign abaz = aaxv & aaxs;
1138    assign abba = aaxu ^ aaxx;
1139    assign abbb = aaxu & aaxx;
1140    assign abbc = aaxz ^ aaxw;
1141    assign abbd = aaxz & aaxw;
1142    assign abbe = aaxy ^ aayb;
1143    assign abbf = aaxy & aayb;
1144    assign abbg = aayd ^ aaya;
1145    assign abbh = aayd & aaya;
1146    assign abbi = aayf ^ aayc;
1147    assign abbj = aayf & aayc;
1148    assign abbk = aayh ^ aaye;
1149    assign abbl = aayh & aaye;
1150    assign abbm = aayj ^ aayg ^ aalj;
1151    assign abbn = (aayj & aayg) | (aalj & (aayj ^ aayg));
1152    assign abbo = aayl ^ aayi ^ aatd;
1153    assign abbp = (aayl & aayi) | (aatd & (aayl ^ aayi));
1154    assign abbq = aayn ^ aata ^ aayk;
1155    assign abbr = (aayn & aata) | (aayk & (aayn ^ aata));
1156    assign abbs = aaym ^ aayp ^ aatl;
1157    assign abbt = (aaym & aayp) | (aatl & (aaym ^ aayp));
1158    assign abbu = aayr ^ aayo ^ aati;
1159    assign abbv = (aayr & aayo) | (aati & (aayr ^ aayo));
1160    assign abbw = aayt ^ aayq ^ aato;
1161    assign abbx = (aayt & aayq) | (aato & (aayt ^ aayq));
1162    assign abby = aays ^ aayv ^ aats;
1163    assign abbz = (aays & aayv) | (aats & (aays ^ aayv));
1164    assign abca = aayx ^ aayu ^ aaub;
1165    assign abcb = (aayx & aayu) | (aaub & (aayx ^ aayu));
1166    assign abcc = aayw ^ aayz ^ aaty;
1167    assign abcd = (aayw & aayz) | (aaty & (aayw ^ aayz));
1168    assign abce = aayy ^ aazb ^ aauh;
1169    assign abcf = (aayy & aazb) | (aauh & (aayy ^ aazb));
1170    assign abcg = aazd ^ aaza ^ aaui;
1171    assign abch = (aazd & aaza) | (aaui & (aazd ^ aaza));
1172    assign abci = aazc ^ aazf ^ aauk;
1173    assign abcj = (aazc & aazf) | (aauk & (aazc ^ aazf));
1174    assign abck = aaze ^ aazh ^ aauo;
1175    assign abcl = (aaze & aazh) | (aauo & (aaze ^ aazh));
1176    assign abcm = aazj ^ aazg ^ aauz;
1177    assign abcn = (aazj & aazg) | (aauz & (aazj ^ aazg));
1178    assign abco = aazi ^ aazl ^ aavd;
1179    assign abcp = (aazi & aazl) | (aavd & (aazi ^ aazl));
1180    assign abcq = aazn ^ aazk ^ aavh;
1181    assign abcr = (aazn & aazk) | (aavh & (aazn ^ aazk));
1182    assign abcs = aazp ^ aazm ^ aavg;
1183    assign abct = (aazp & aazm) | (aavg & (aazp ^ aazm));
1184    assign abcu = aazr ^ aazo ^ aavn;
1185    assign abcv = (aazr & aazo) | (aavn & (aazr ^ aazo));
1186    assign abcw = aazt ^ aavr ^ aazq;
1187    assign abcx = (aazt & aavr) | (aazq & (aazt ^ aavr));
1188    assign abcy = aazv ^ aazs ^ aavx;
1189    assign abcz = (aazv & aazs) | (aavx & (aazv ^ aazs));
1190    assign abda = aazu ^ aavw ^ aazx;
1191    assign abdb = (aazu & aavw) | (aazx & (aazu ^ aavw));
1192    assign abdc = aazw ^ aazz ^ aawa;
1193    assign abdd = (aazw & aazz) | (aawa & (aazw ^ aazz));
1194    assign abde = aazy ^ abab ^ aawh;
1195    assign abdf = (aazy & abab) | (aawh & (aazy ^ abab));
1196    assign abdg = abaa ^ aawl ^ abad;
1197    assign abdh = (abaa & aawl) | (abad & (abaa ^ aawl));
1198    assign abdi = abac ^ abaf ^ aawp;
1199    assign abdj = (abac & abaf) | (aawp & (abac ^ abaf));
1200    assign abdk = abae ^ abah ^ aawv;
1201    assign abdl = (abae & abah) | (aawv & (abae ^ abah));
1202    assign abdm = abag ^ aawz ^ abaj;
1203    assign abdn = (abag & aawz) | (abaj & (abag ^ aawz));
1204    assign abdo = abal ^ abai ^ aaxd;
1205    assign abdp = (abal & abai) | (aaxd & (abal ^ abai));
1206    assign abdq = abak ^ aban;
1207    assign abdr = abak & aban;
1208    assign abds = abam ^ abap;
1209    assign abdt = abam & abap;
1210    assign abdu = abao ^ abar;
1211    assign abdv = abao & abar;
1212    assign abdw = abat ^ abaq;
1213    assign abdx = abat & abaq;
1214    assign abdy = abas ^ abav;
1215    assign abdz = abas & abav;
1216    assign product[0] = b0a0;
1217    assign product[1] = aakk;
1218    assign product[2] = aase;
1219    assign product[3] = aaxo;
1220    assign product[4] = abau;
1221    assign product[5] = abdy;
1222    assign p000 = abdz ^ abdw;
1223    assign product[6] = p000;
1224    assign g000 = abdz & abdw;
1225    buf(pa000,p000);
1226    buf(ga000,g000);
1227    buf(pb000,pa000);
1228    buf(gb000,ga000);
1229    buf(pc000,pb000);
1230    buf(gc000,gb000);
1231    buf(pd000,pc000);
1232    buf(gd000,gc000);
1233    buf(pe000,pd000);
1234    buf(ge000,gd000);
1235    buf(pf000,pe000);
1236    buf(gf000,ge000);
1237    assign p001 = abdx ^ abdu;
1238    assign g001 = abdx & abdu;
1239    assign product[7] = p001 ^ gf000;
1240    assign pa001 = p001 & p000;
1241    assign ga001 = g001 | (p001 & g000);
1242    buf(pb001,pa001);
1243    buf(gb001,ga001);
1244    buf(pc001,pb001);
1245    buf(gc001,gb001);
1246    buf(pd001,pc001);
1247    buf(gd001,gc001);
1248    buf(pe001,pd001);
1249    buf(ge001,gd001);
1250    buf(pf001,pe001);
1251    buf(gf001,ge001);
1252    assign p002 = abdv ^ abds;
1253    assign g002 = abdv & abds;
1254    assign product[8] = p002 ^ gf001;
1255    assign pa002 = p002 & p001;
1256    assign ga002 = g002 | (p002 & g001);
1257    assign pb002 = pa002 & pa000;
1258    assign gb002 = ga002 | (pa002 & ga000);
1259    buf(pc002,pb002);
1260    buf(gc002,gb002);
1261    buf(pd002,pc002);
1262    buf(gd002,gc002);
1263    buf(pe002,pd002);
1264    buf(ge002,gd002);
1265    buf(pf002,pe002);
1266    buf(gf002,ge002);
1267    assign p003 = abdq ^ abdt;
1268    assign g003 = abdq & abdt;
1269    assign product[9] = p003 ^ gf002;
1270    assign pa003 = p003 & p002;
1271    assign ga003 = g003 | (p003 & g002);
1272    assign pb003 = pa003 & pa001;
1273    assign gb003 = ga003 | (pa003 & ga001);
1274    buf(pc003,pb003);
1275    buf(gc003,gb003);
1276    buf(pd003,pc003);
1277    buf(gd003,gc003);
1278    buf(pe003,pd003);
1279    buf(ge003,gd003);
1280    buf(pf003,pe003);
1281    buf(gf003,ge003);
1282    assign p004 = abdo ^ abdr;
1283    assign g004 = abdo & abdr;
1284    assign product[10] = p004 ^ gf003;
1285    assign pa004 = p004 & p003;
1286    assign ga004 = g004 | (p004 & g003);
1287    assign pb004 = pa004 & pa002;
1288    assign gb004 = ga004 | (pa004 & ga002);
1289    assign pc004 = pb004 & pb000;
1290    assign gc004 = gb004 | (pb004 & gb000);
1291    buf(pd004,pc004);
1292    buf(gd004,gc004);
1293    buf(pe004,pd004);
1294    buf(ge004,gd004);
1295    buf(pf004,pe004);
1296    buf(gf004,ge004);
1297    assign p005 = abdp ^ abdm;
1298    assign g005 = abdp & abdm;
1299    assign product[11] = p005 ^ gf004;
1300    assign pa005 = p005 & p004;
1301    assign ga005 = g005 | (p005 & g004);
1302    assign pb005 = pa005 & pa003;
1303    assign gb005 = ga005 | (pa005 & ga003);
1304    assign pc005 = pb005 & pb001;
1305    assign gc005 = gb005 | (pb005 & gb001);
1306    buf(pd005,pc005);
1307    buf(gd005,gc005);
1308    buf(pe005,pd005);
1309    buf(ge005,gd005);
1310    buf(pf005,pe005);
1311    buf(gf005,ge005);
1312    assign p006 = abdn ^ abdk;
1313    assign g006 = abdn & abdk;
1314    assign product[12] = p006 ^ gf005;
1315    assign pa006 = p006 & p005;
1316    assign ga006 = g006 | (p006 & g005);
1317    assign pb006 = pa006 & pa004;
1318    assign gb006 = ga006 | (pa006 & ga004);
1319    assign pc006 = pb006 & pb002;
1320    assign gc006 = gb006 | (pb006 & gb002);
1321    buf(pd006,pc006);
1322    buf(gd006,gc006);
1323    buf(pe006,pd006);
1324    buf(ge006,gd006);
1325    buf(pf006,pe006);
1326    buf(gf006,ge006);
1327    assign p007 = abdi ^ abdl;
1328    assign g007 = abdi & abdl;
1329    assign product[13] = p007 ^ gf006;
1330    assign pa007 = p007 & p006;
1331    assign ga007 = g007 | (p007 & g006);
1332    assign pb007 = pa007 & pa005;
1333    assign gb007 = ga007 | (pa007 & ga005);
1334    assign pc007 = pb007 & pb003;
1335    assign gc007 = gb007 | (pb007 & gb003);
1336    buf(pd007,pc007);
1337    buf(gd007,gc007);
1338    buf(pe007,pd007);
1339    buf(ge007,gd007);
1340    buf(pf007,pe007);
1341    buf(gf007,ge007);
1342    assign p008 = abdj ^ abdg;
1343    assign g008 = abdj & abdg;
1344    assign product[14] = p008 ^ gf007;
1345    assign pa008 = p008 & p007;
1346    assign ga008 = g008 | (p008 & g007);
1347    assign pb008 = pa008 & pa006;
1348    assign gb008 = ga008 | (pa008 & ga006);
1349    assign pc008 = pb008 & pb004;
1350    assign gc008 = gb008 | (pb008 & gb004);
1351    assign pd008 = pc008 & pc000;
1352    assign gd008 = gc008 | (pc008 & gc000);
1353    buf(pe008,pd008);
1354    buf(ge008,gd008);
1355    buf(pf008,pe008);
1356    buf(gf008,ge008);
1357    assign p009 = abdh ^ abde;
1358    assign g009 = abdh & abde;
1359    assign product[15] = p009 ^ gf008;
1360    assign pa009 = p009 & p008;
1361    assign ga009 = g009 | (p009 & g008);
1362    assign pb009 = pa009 & pa007;
1363    assign gb009 = ga009 | (pa009 & ga007);
1364    assign pc009 = pb009 & pb005;
1365    assign gc009 = gb009 | (pb009 & gb005);
1366    assign pd009 = pc009 & pc001;
1367    assign gd009 = gc009 | (pc009 & gc001);
1368    buf(pe009,pd009);
1369    buf(ge009,gd009);
1370    buf(pf009,pe009);
1371    buf(gf009,ge009);
1372    assign p010 = abdc ^ abdf;
1373    assign g010 = abdc & abdf;
1374    assign product[16] = p010 ^ gf009;
1375    assign pa010 = p010 & p009;
1376    assign ga010 = g010 | (p010 & g009);
1377    assign pb010 = pa010 & pa008;
1378    assign gb010 = ga010 | (pa010 & ga008);
1379    assign pc010 = pb010 & pb006;
1380    assign gc010 = gb010 | (pb010 & gb006);
1381    assign pd010 = pc010 & pc002;
1382    assign gd010 = gc010 | (pc010 & gc002);
1383    buf(pe010,pd010);
1384    buf(ge010,gd010);
1385    buf(pf010,pe010);
1386    buf(gf010,ge010);
1387    assign p011 = abdd ^ abda;
1388    assign g011 = abdd & abda;
1389    assign product[17] = p011 ^ gf010;
1390    assign pa011 = p011 & p010;
1391    assign ga011 = g011 | (p011 & g010);
1392    assign pb011 = pa011 & pa009;
1393    assign gb011 = ga011 | (pa011 & ga009);
1394    assign pc011 = pb011 & pb007;
1395    assign gc011 = gb011 | (pb011 & gb007);
1396    assign pd011 = pc011 & pc003;
1397    assign gd011 = gc011 | (pc011 & gc003);
1398    buf(pe011,pd011);
1399    buf(ge011,gd011);
1400    buf(pf011,pe011);
1401    buf(gf011,ge011);
1402    assign p012 = abcy ^ abdb;
1403    assign g012 = abcy & abdb;
1404    assign product[18] = p012 ^ gf011;
1405    assign pa012 = p012 & p011;
1406    assign ga012 = g012 | (p012 & g011);
1407    assign pb012 = pa012 & pa010;
1408    assign gb012 = ga012 | (pa012 & ga010);
1409    assign pc012 = pb012 & pb008;
1410    assign gc012 = gb012 | (pb012 & gb008);
1411    assign pd012 = pc012 & pc004;
1412    assign gd012 = gc012 | (pc012 & gc004);
1413    buf(pe012,pd012);
1414    buf(ge012,gd012);
1415    buf(pf012,pe012);
1416    buf(gf012,ge012);
1417    assign p013 = abcw ^ abcz;
1418    assign g013 = abcw & abcz;
1419    assign product[19] = p013 ^ gf012;
1420    assign pa013 = p013 & p012;
1421    assign ga013 = g013 | (p013 & g012);
1422    assign pb013 = pa013 & pa011;
1423    assign gb013 = ga013 | (pa013 & ga011);
1424    assign pc013 = pb013 & pb009;
1425    assign gc013 = gb013 | (pb013 & gb009);
1426    assign pd013 = pc013 & pc005;
1427    assign gd013 = gc013 | (pc013 & gc005);
1428    buf(pe013,pd013);
1429    buf(ge013,gd013);
1430    buf(pf013,pe013);
1431    buf(gf013,ge013);
1432    assign p014 = abcx ^ abcu;
1433    assign g014 = abcx & abcu;
1434    assign product[20] = p014 ^ gf013;
1435    assign pa014 = p014 & p013;
1436    assign ga014 = g014 | (p014 & g013);
1437    assign pb014 = pa014 & pa012;
1438    assign gb014 = ga014 | (pa014 & ga012);
1439    assign pc014 = pb014 & pb010;
1440    assign gc014 = gb014 | (pb014 & gb010);
1441    assign pd014 = pc014 & pc006;
1442    assign gd014 = gc014 | (pc014 & gc006);
1443    buf(pe014,pd014);
1444    buf(ge014,gd014);
1445    buf(pf014,pe014);
1446    buf(gf014,ge014);
1447    assign p015 = abcs ^ abcv;
1448    assign g015 = abcs & abcv;
1449    assign product[21] = p015 ^ gf014;
1450    assign pa015 = p015 & p014;
1451    assign ga015 = g015 | (p015 & g014);
1452    assign pb015 = pa015 & pa013;
1453    assign gb015 = ga015 | (pa015 & ga013);
1454    assign pc015 = pb015 & pb011;
1455    assign gc015 = gb015 | (pb015 & gb011);
1456    assign pd015 = pc015 & pc007;
1457    assign gd015 = gc015 | (pc015 & gc007);
1458    buf(pe015,pd015);
1459    buf(ge015,gd015);
1460    buf(pf015,pe015);
1461    buf(gf015,ge015);
1462    assign p016 = abct ^ abcq;
1463    assign g016 = abct & abcq;
1464    assign product[22] = p016 ^ gf015;
1465    assign pa016 = p016 & p015;
1466    assign ga016 = g016 | (p016 & g015);
1467    assign pb016 = pa016 & pa014;
1468    assign gb016 = ga016 | (pa016 & ga014);
1469    assign pc016 = pb016 & pb012;
1470    assign gc016 = gb016 | (pb016 & gb012);
1471    assign pd016 = pc016 & pc008;
1472    assign gd016 = gc016 | (pc016 & gc008);
1473    assign pe016 = pd016 & pd000;
1474    assign ge016 = gd016 | (pd016 & gd000);
1475    buf(pf016,pe016);
1476    buf(gf016,ge016);
1477    assign p017 = abco ^ abcr;
1478    assign g017 = abco & abcr;
1479    assign product[23] = p017 ^ gf016;
1480    assign pa017 = p017 & p016;
1481    assign ga017 = g017 | (p017 & g016);
1482    assign pb017 = pa017 & pa015;
1483    assign gb017 = ga017 | (pa017 & ga015);
1484    assign pc017 = pb017 & pb013;
1485    assign gc017 = gb017 | (pb017 & gb013);
1486    assign pd017 = pc017 & pc009;
1487    assign gd017 = gc017 | (pc017 & gc009);
1488    assign pe017 = pd017 & pd001;
1489    assign ge017 = gd017 | (pd017 & gd001);
1490    buf(pf017,pe017);
1491    buf(gf017,ge017);
1492    assign p018 = abcm ^ abcp;
1493    assign g018 = abcm & abcp;
1494    assign product[24] = p018 ^ gf017;
1495    assign pa018 = p018 & p017;
1496    assign ga018 = g018 | (p018 & g017);
1497    assign pb018 = pa018 & pa016;
1498    assign gb018 = ga018 | (pa018 & ga016);
1499    assign pc018 = pb018 & pb014;
1500    assign gc018 = gb018 | (pb018 & gb014);
1501    assign pd018 = pc018 & pc010;
1502    assign gd018 = gc018 | (pc018 & gc010);
1503    assign pe018 = pd018 & pd002;
1504    assign ge018 = gd018 | (pd018 & gd002);
1505    buf(pf018,pe018);
1506    buf(gf018,ge018);
1507    assign p019 = abcn ^ abck;
1508    assign g019 = abcn & abck;
1509    assign product[25] = p019 ^ gf018;
1510    assign pa019 = p019 & p018;
1511    assign ga019 = g019 | (p019 & g018);
1512    assign pb019 = pa019 & pa017;
1513    assign gb019 = ga019 | (pa019 & ga017);
1514    assign pc019 = pb019 & pb015;
1515    assign gc019 = gb019 | (pb019 & gb015);
1516    assign pd019 = pc019 & pc011;
1517    assign gd019 = gc019 | (pc019 & gc011);
1518    assign pe019 = pd019 & pd003;
1519    assign ge019 = gd019 | (pd019 & gd003);
1520    buf(pf019,pe019);
1521    buf(gf019,ge019);
1522    assign p020 = abcl ^ abci;
1523    assign g020 = abcl & abci;
1524    assign product[26] = p020 ^ gf019;
1525    assign pa020 = p020 & p019;
1526    assign ga020 = g020 | (p020 & g019);
1527    assign pb020 = pa020 & pa018;
1528    assign gb020 = ga020 | (pa020 & ga018);
1529    assign pc020 = pb020 & pb016;
1530    assign gc020 = gb020 | (pb020 & gb016);
1531    assign pd020 = pc020 & pc012;
1532    assign gd020 = gc020 | (pc020 & gc012);
1533    assign pe020 = pd020 & pd004;
1534    assign ge020 = gd020 | (pd020 & gd004);
1535    buf(pf020,pe020);
1536    buf(gf020,ge020);
1537    assign p021 = abcg ^ abcj;
1538    assign g021 = abcg & abcj;
1539    assign product[27] = p021 ^ gf020;
1540    assign pa021 = p021 & p020;
1541    assign ga021 = g021 | (p021 & g020);
1542    assign pb021 = pa021 & pa019;
1543    assign gb021 = ga021 | (pa021 & ga019);
1544    assign pc021 = pb021 & pb017;
1545    assign gc021 = gb021 | (pb021 & gb017);
1546    assign pd021 = pc021 & pc013;
1547    assign gd021 = gc021 | (pc021 & gc013);
1548    assign pe021 = pd021 & pd005;
1549    assign ge021 = gd021 | (pd021 & gd005);
1550    buf(pf021,pe021);
1551    buf(gf021,ge021);
1552    assign p022 = abce ^ abch;
1553    assign g022 = abce & abch;
1554    assign product[28] = p022 ^ gf021;
1555    assign pa022 = p022 & p021;
1556    assign ga022 = g022 | (p022 & g021);
1557    assign pb022 = pa022 & pa020;
1558    assign gb022 = ga022 | (pa022 & ga020);
1559    assign pc022 = pb022 & pb018;
1560    assign gc022 = gb022 | (pb022 & gb018);
1561    assign pd022 = pc022 & pc014;
1562    assign gd022 = gc022 | (pc022 & gc014);
1563    assign pe022 = pd022 & pd006;
1564    assign ge022 = gd022 | (pd022 & gd006);
1565    buf(pf022,pe022);
1566    buf(gf022,ge022);
1567    assign p023 = abcc ^ abcf;
1568    assign g023 = abcc & abcf;
1569    assign product[29] = p023 ^ gf022;
1570    assign pa023 = p023 & p022;
1571    assign ga023 = g023 | (p023 & g022);
1572    assign pb023 = pa023 & pa021;
1573    assign gb023 = ga023 | (pa023 & ga021);
1574    assign pc023 = pb023 & pb019;
1575    assign gc023 = gb023 | (pb023 & gb019);
1576    assign pd023 = pc023 & pc015;
1577    assign gd023 = gc023 | (pc023 & gc015);
1578    assign pe023 = pd023 & pd007;
1579    assign ge023 = gd023 | (pd023 & gd007);
1580    buf(pf023,pe023);
1581    buf(gf023,ge023);
1582    assign p024 = abcd ^ abca;
1583    assign g024 = abcd & abca;
1584    assign product[30] = p024 ^ gf023;
1585    assign pa024 = p024 & p023;
1586    assign ga024 = g024 | (p024 & g023);
1587    assign pb024 = pa024 & pa022;
1588    assign gb024 = ga024 | (pa024 & ga022);
1589    assign pc024 = pb024 & pb020;
1590    assign gc024 = gb024 | (pb024 & gb020);
1591    assign pd024 = pc024 & pc016;
1592    assign gd024 = gc024 | (pc024 & gc016);
1593    assign pe024 = pd024 & pd008;
1594    assign ge024 = gd024 | (pd024 & gd008);
1595    buf(pf024,pe024);
1596    buf(gf024,ge024);
1597    assign p025 = abby ^ abcb;
1598    assign g025 = abby & abcb;
1599    assign product[31] = p025 ^ gf024;
1600    assign pa025 = p025 & p024;
1601    assign ga025 = g025 | (p025 & g024);
1602    assign pb025 = pa025 & pa023;
1603    assign gb025 = ga025 | (pa025 & ga023);
1604    assign pc025 = pb025 & pb021;
1605    assign gc025 = gb025 | (pb025 & gb021);
1606    assign pd025 = pc025 & pc017;
1607    assign gd025 = gc025 | (pc025 & gc017);
1608    assign pe025 = pd025 & pd009;
1609    assign ge025 = gd025 | (pd025 & gd009);
1610    buf(pf025,pe025);
1611    buf(gf025,ge025);
1612    assign p026 = abbw ^ abbz;
1613    assign g026 = abbw & abbz;
1614    assign product[32] = p026 ^ gf025;
1615    assign pa026 = p026 & p025;
1616    assign ga026 = g026 | (p026 & g025);
1617    assign pb026 = pa026 & pa024;
1618    assign gb026 = ga026 | (pa026 & ga024);
1619    assign pc026 = pb026 & pb022;
1620    assign gc026 = gb026 | (pb026 & gb022);
1621    assign pd026 = pc026 & pc018;
1622    assign gd026 = gc026 | (pc026 & gc018);
1623    assign pe026 = pd026 & pd010;
1624    assign ge026 = gd026 | (pd026 & gd010);
1625    buf(pf026,pe026);
1626    buf(gf026,ge026);
1627    assign p027 = abbu ^ abbx;
1628    assign g027 = abbu & abbx;
1629    assign product[33] = p027 ^ gf026;
1630    assign pa027 = p027 & p026;
1631    assign ga027 = g027 | (p027 & g026);
1632    assign pb027 = pa027 & pa025;
1633    assign gb027 = ga027 | (pa027 & ga025);
1634    assign pc027 = pb027 & pb023;
1635    assign gc027 = gb027 | (pb027 & gb023);
1636    assign pd027 = pc027 & pc019;
1637    assign gd027 = gc027 | (pc027 & gc019);
1638    assign pe027 = pd027 & pd011;
1639    assign ge027 = gd027 | (pd027 & gd011);
1640    buf(pf027,pe027);
1641    buf(gf027,ge027);
1642    assign p028 = abbv ^ abbs;
1643    assign g028 = abbv & abbs;
1644    assign product[34] = p028 ^ gf027;
1645    assign pa028 = p028 & p027;
1646    assign ga028 = g028 | (p028 & g027);
1647    assign pb028 = pa028 & pa026;
1648    assign gb028 = ga028 | (pa028 & ga026);
1649    assign pc028 = pb028 & pb024;
1650    assign gc028 = gb028 | (pb028 & gb024);
1651    assign pd028 = pc028 & pc020;
1652    assign gd028 = gc028 | (pc028 & gc020);
1653    assign pe028 = pd028 & pd012;
1654    assign ge028 = gd028 | (pd028 & gd012);
1655    buf(pf028,pe028);
1656    buf(gf028,ge028);
1657    assign p029 = abbt ^ abbq;
1658    assign g029 = abbt & abbq;
1659    assign product[35] = p029 ^ gf028;
1660    assign pa029 = p029 & p028;
1661    assign ga029 = g029 | (p029 & g028);
1662    assign pb029 = pa029 & pa027;
1663    assign gb029 = ga029 | (pa029 & ga027);
1664    assign pc029 = pb029 & pb025;
1665    assign gc029 = gb029 | (pb029 & gb025);
1666    assign pd029 = pc029 & pc021;
1667    assign gd029 = gc029 | (pc029 & gc021);
1668    assign pe029 = pd029 & pd013;
1669    assign ge029 = gd029 | (pd029 & gd013);
1670    buf(pf029,pe029);
1671    buf(gf029,ge029);
1672    assign p030 = abbo ^ abbr;
1673    assign g030 = abbo & abbr;
1674    assign product[36] = p030 ^ gf029;
1675    assign pa030 = p030 & p029;
1676    assign ga030 = g030 | (p030 & g029);
1677    assign pb030 = pa030 & pa028;
1678    assign gb030 = ga030 | (pa030 & ga028);
1679    assign pc030 = pb030 & pb026;
1680    assign gc030 = gb030 | (pb030 & gb026);
1681    assign pd030 = pc030 & pc022;
1682    assign gd030 = gc030 | (pc030 & gc022);
1683    assign pe030 = pd030 & pd014;
1684    assign ge030 = gd030 | (pd030 & gd014);
1685    buf(pf030,pe030);
1686    buf(gf030,ge030);
1687    assign p031 = abbm ^ abbp;
1688    assign g031 = abbm & abbp;
1689    assign product[37] = p031 ^ gf030;
1690    assign pa031 = p031 & p030;
1691    assign ga031 = g031 | (p031 & g030);
1692    assign pb031 = pa031 & pa029;
1693    assign gb031 = ga031 | (pa031 & ga029);
1694    assign pc031 = pb031 & pb027;
1695    assign gc031 = gb031 | (pb031 & gb027);
1696    assign pd031 = pc031 & pc023;
1697    assign gd031 = gc031 | (pc031 & gc023);
1698    assign pe031 = pd031 & pd015;
1699    assign ge031 = gd031 | (pd031 & gd015);
1700    buf(pf031,pe031);
1701    buf(gf031,ge031);
1702    assign p032 = abbk ^ abbn;
1703    assign g032 = abbk & abbn;
1704    assign product[38] = p032 ^ gf031;
1705    assign pa032 = p032 & p031;
1706    assign ga032 = g032 | (p032 & g031);
1707    assign pb032 = pa032 & pa030;
1708    assign gb032 = ga032 | (pa032 & ga030);
1709    assign pc032 = pb032 & pb028;
1710    assign gc032 = gb032 | (pb032 & gb028);
1711    assign pd032 = pc032 & pc024;
1712    assign gd032 = gc032 | (pc032 & gc024);
1713    assign pe032 = pd032 & pd016;
1714    assign ge032 = gd032 | (pd032 & gd016);
1715    assign pf032 = pe032 & pe000;
1716    assign gf032 = ge032 | (pe032 & ge000);
1717    assign p033 = abbi ^ abbl;
1718    assign g033 = abbi & abbl;
1719    assign product[39] = p033 ^ gf032;
1720    assign pa033 = p033 & p032;
1721    assign ga033 = g033 | (p033 & g032);
1722    assign pb033 = pa033 & pa031;
1723    assign gb033 = ga033 | (pa033 & ga031);
1724    assign pc033 = pb033 & pb029;
1725    assign gc033 = gb033 | (pb033 & gb029);
1726    assign pd033 = pc033 & pc025;
1727    assign gd033 = gc033 | (pc033 & gc025);
1728    assign pe033 = pd033 & pd017;
1729    assign ge033 = gd033 | (pd033 & gd017);
1730    assign pf033 = pe033 & pe001;
1731    assign gf033 = ge033 | (pe033 & ge001);
1732    assign p034 = abbj ^ abbg;
1733    assign g034 = abbj & abbg;
1734    assign product[40] = p034 ^ gf033;
1735    assign pa034 = p034 & p033;
1736    assign ga034 = g034 | (p034 & g033);
1737    assign pb034 = pa034 & pa032;
1738    assign gb034 = ga034 | (pa034 & ga032);
1739    assign pc034 = pb034 & pb030;
1740    assign gc034 = gb034 | (pb034 & gb030);
1741    assign pd034 = pc034 & pc026;
1742    assign gd034 = gc034 | (pc034 & gc026);
1743    assign pe034 = pd034 & pd018;
1744    assign ge034 = gd034 | (pd034 & gd018);
1745    assign pf034 = pe034 & pe002;
1746    assign gf034 = ge034 | (pe034 & ge002);
1747    assign p035 = abbe ^ abbh;
1748    assign g035 = abbe & abbh;
1749    assign product[41] = p035 ^ gf034;
1750    assign pa035 = p035 & p034;
1751    assign ga035 = g035 | (p035 & g034);
1752    assign pb035 = pa035 & pa033;
1753    assign gb035 = ga035 | (pa035 & ga033);
1754    assign pc035 = pb035 & pb031;
1755    assign gc035 = gb035 | (pb035 & gb031);
1756    assign pd035 = pc035 & pc027;
1757    assign gd035 = gc035 | (pc035 & gc027);
1758    assign pe035 = pd035 & pd019;
1759    assign ge035 = gd035 | (pd035 & gd019);
1760    assign pf035 = pe035 & pe003;
1761    assign gf035 = ge035 | (pe035 & ge003);
1762    assign p036 = abbf ^ abbc;
1763    assign g036 = abbf & abbc;
1764    assign product[42] = p036 ^ gf035;
1765    assign pa036 = p036 & p035;
1766    assign ga036 = g036 | (p036 & g035);
1767    assign pb036 = pa036 & pa034;
1768    assign gb036 = ga036 | (pa036 & ga034);
1769    assign pc036 = pb036 & pb032;
1770    assign gc036 = gb036 | (pb036 & gb032);
1771    assign pd036 = pc036 & pc028;
1772    assign gd036 = gc036 | (pc036 & gc028);
1773    assign pe036 = pd036 & pd020;
1774    assign ge036 = gd036 | (pd036 & gd020);
1775    assign pf036 = pe036 & pe004;
1776    assign gf036 = ge036 | (pe036 & ge004);
1777    assign p037 = abba ^ abbd;
1778    assign g037 = abba & abbd;
1779    assign product[43] = p037 ^ gf036;
1780    assign pa037 = p037 & p036;
1781    assign ga037 = g037 | (p037 & g036);
1782    assign pb037 = pa037 & pa035;
1783    assign gb037 = ga037 | (pa037 & ga035);
1784    assign pc037 = pb037 & pb033;
1785    assign gc037 = gb037 | (pb037 & gb033);
1786    assign pd037 = pc037 & pc029;
1787    assign gd037 = gc037 | (pc037 & gc029);
1788    assign pe037 = pd037 & pd021;
1789    assign ge037 = gd037 | (pd037 & gd021);
1790    assign pf037 = pe037 & pe005;
1791    assign gf037 = ge037 | (pe037 & ge005);
1792    assign p038 = abay ^ abbb;
1793    assign g038 = abay & abbb;
1794    assign product[44] = p038 ^ gf037;
1795    assign pa038 = p038 & p037;
1796    assign ga038 = g038 | (p038 & g037);
1797    assign pb038 = pa038 & pa036;
1798    assign gb038 = ga038 | (pa038 & ga036);
1799    assign pc038 = pb038 & pb034;
1800    assign gc038 = gb038 | (pb038 & gb034);
1801    assign pd038 = pc038 & pc030;
1802    assign gd038 = gc038 | (pc038 & gc030);
1803    assign pe038 = pd038 & pd022;
1804    assign ge038 = gd038 | (pd038 & gd022);
1805    assign pf038 = pe038 & pe006;
1806    assign gf038 = ge038 | (pe038 & ge006);
1807    assign p039 = abaz ^ abaw;
1808    assign product[45] = p039 ^ gf038;
1809 endmodule