/***
* This code is a part of EvoApproxLib library (ehw.fit.vutbr.cz/approxlib) distributed under The MIT License.
* When used, please cite the following article(s): V. Mrazek, Z. Vasicek, L. Sekanina, H. Jiang and J. Han, "Scalable Construction of Approximate Multipliers With Formally Guaranteed Worst Case Error" in IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 26, no. 11, pp. 2572-2576, Nov. 2018. doi: 10.1109/TVLSI.2018.2856362 
* This file contains a circuit from a sub-set of pareto optimal circuits with respect to the pwr and wce parameters
***/
// MAE% = 0.00089 %
// MAE = 38343 
// WCE% = 0.0046 %
// WCE = 196599 
// WCRE% = 1500.00 %
// EP% = 93.75 %
// MRE% = 0.098 %
// MSE = 25053.976e5 
// PDK45_PWR = 1.775 mW
// PDK45_AREA = 2031.1 um2
// PDK45_DELAY = 2.67 ns
#include <stdint.h>
#include <stdlib.h>

uint32_t mul16s_HG8(uint16_t A, uint16_t B)
{
 uint32_t Z;
 uint8_t n1040,n91,n1051,n714,n1000,n1050,n789,n97,n1307,n1306,n1305,n1304,n1303,n94,n538,n539,n536,n537,n534,n95,n532,n533,n530,n531,n1041,n158,n1195,n715,n629,n159,n1028,n442,n788,n443,n1048,n440,n679,n628,n441,n950,n878,n1198,n1339,n262,n900,n1043,n951,n1132,n1013,n84,n87,n86,n81,n1016,n1015,n1014,n1152,n1153,n1150,n1151,n89,n1154,n1155,n156,n1026,n1044,n157,n1299,n1302,n392,n393,n390,n391,n397,n394,n395,n398,n1300,n1351,n555,n1147,n953,Z24,n711,n1146,n240,n767,n242,n535,n244,n245,n246,n766,n248,n249,n941,n718,n719,n406,n764,n499,n498,n329,n328,n327,n326,n325,n324,n491,n490,n493,n320,n811,n810,n813,n812,n815,n945,n817,n816,n819,n818,n1275,n944,n1273,n1271,n407,n1025,n632,n771,n579,n730,n602,Z11,n948,n463,n1141,n893,n404,n627,n925,n663,n927,n148,n921,n920,n664,n665,n143,n142,n141,n140,n147,n146,n145,n144,n74,n75,n76,n77,n70,n71,n73,n78,n79,Z8,n864,n865,n866,n867,n860,n861,n862,n863,n868,n869,n1019,n1143,n800,n895,n845,n955,n958,n229,n1310,n701,Z29,n885,n894,n700,n1021,n801,n703,n1270,n1057,n1056,n1055,n1054,n1053,n1052,n448,n449,n446,n447,n444,n445,n569,n568,n1059,n1058,n1295,n1294,n1297,n733,n1291,n1290,n1293,n1292,n1091,n226,n706,n1350,n1298,n227,n731,n224,n708,n225,n468,n1144,n279,n343,n1209,n352,n693,n692,n691,n690,n697,n696,n695,n694,n699,n698,n848,n363,n362,n361,n360,n1127,n1126,n365,n364,n1093,n1129,n570,n746,n598,n599,n1018,n590,n591,n592,n593,n594,n595,n596,n597,n1123,n510,n918,n919,n1122,n914,n915,n916,n917,n910,n911,n912,n913,n415,n367,n882,n366,n511,n954,n337,n622,n623,n620,n621,n187,n185,n184,n183,n182,n181,n180,n968,n749,n748,n219,n218,n217,n216,n215,n214,n213,n740,n211,n210,n1224,n1225,n1226,n1227,n1220,n1221,n1222,n1223,n844,n351,n1197,n1228,n987,n829,n985,n984,n983,n982,n981,n980,n820,n821,n822,n823,n824,n825,n826,n988,n1097,n963,n546,Z23,n1148,n549,Z12,n132,n133,n130,n131,n136,n137,n134,n135,n1157,n1029,n138,n139,n1096,n962,n85,n1120,n976,n1012,Z16,Z9,n283,n1158,n1311,n1312,n1313,n1314,n1315,n1316,n1317,n1318,n520,n523,n522,n525,n524,n527,n526,n83,n472,n660,n82,n402,n470,Z2,n403,n1189,n964,n899,n400,n1188,n1102,n401,n960,n661,n1156,n88,n1167,n1166,n1165,n1164,n1163,n1162,n1161,n1160,n796,n967,n794,n405,n419,n418,n1169,n1168,n1082,n98,n344,n1008,n1009,n92,n93,n90,n1007,n96,n1001,n1002,n1003,n647,n742,n1349,n128,n548,n1199,n389,n388,n515,n385,n384,n387,n386,n381,n380,n383,n382,n519,n977,n1138,n253,n252,n251,n250,n257,n256,n255,n254,n709,n121,n259,n258,n338,n572,n318,n319,n123,n573,n312,n313,n310,n311,n316,n317,n314,n315,n1268,n1269,n571,Z28,n747,n926,n1260,n1261,n1262,n1263,n1264,Z6,n1266,n577,n898,n574,Z26,n414,n1065,n1194,n886,n176,n177,n174,n175,n172,n173,n170,n171,n1112,n178,n179,n774,n775,n776,n777,n770,n678,n772,n773,n675,n674,n677,n676,n671,n670,n673,n672,n626,n399,n956,Z5,n1145,n802,n957,n799,n877,n891,n875,n625,n1219,n1218,n871,n870,n1215,n1214,n1217,n1211,n1210,n1213,n1212,n892,n189,n778,n188,n779,n1135,n897,n1193,n669,n896,n966,n961,n1038,n959,n741,n702,n459,n458,n512,n513,n514,n1045,n1046,n1047,n451,n450,n453,n452,n455,n454,n457,n456,n1286,n1287,n1284,n1285,n1282,n1283,n1280,n1281,n1321,n1301,n1323,n1322,n1325,n798,n1288,n1289,n1191,n883,n1032,n104,n716,n1237,n795,n241,n1192,n745,n243,n744,n292,n712,n368,n713,n1035,n1034,n1037,n1036,n428,n429,n358,n359,n356,n357,n354,n427,n1130,n421,n422,n423,n589,n588,n743,n583,n582,n581,n580,n587,n586,n585,n584,n952,n909,n908,n907,n906,n905,n904,n903,n902,n901,n611,n578,Z7,n929,n978,n545,n790,n631,n630,n633,n1216,n635,n634,n637,n636,n639,n487,n610,n1027,n738,n739,n228,n928,n879,n222,n223,n220,n221,n734,n735,n736,n737,n1251,n1250,n1253,n1252,n1255,n1254,n1257,n1256,n1259,n1258,n1039,n1231,n495,n839,n838,n494,n833,n832,n831,n830,n837,n836,n835,n1113,n828,n496,n1232,n1110,n986,n323,n1111,n1230,n322,n644,n645,n646,Z1,n129,n641,n642,n643,n125,n124,n127,n492,n648,n649,n212,n122,n1084,n1085,n1086,n1087,n1080,n1081,n554,n1083,Z22,n1088,n1089,n974,n541,n1118,n1119,n247,n943,n814,n1279,n1236,n1278,n965,n975,n1348,n1277,Z31,n989,n1276,n827,n732,n1149,n1274,n560,n1006,n972,n1272,n460,n1171,n1172,n1173,n1174,n1175,n1176,n1177,n781,n780,n783,n782,n785,n784,n787,n786,n1170,n563,n1020,n1098,n461,n1071,n1070,n1073,n1072,n1075,n1074,n1077,n1076,n341,n369,n340,n464,n1324,Z18,n640,n465,n370,n562,n342,n298,n466,n1010,n970,n345,Z14,n1121,n1178,n294,n424,n1179,n1139,n346,n371,n1105,n1104,n307,n306,n301,n300,n303,n302,n266,n267,n264,n265,n309,n263,n260,n261,n973,n638,n851,n308,Z4,n372,n969,n285,n286,n287,n280,n721,n282,n1078,n1309,n288,n289,n707,n409,n413,n576,n373,n849,n161,n160,n163,n162,n165,n164,n167,n166,n169,n168,n126,n1042,n608,n609,n765,n940,n763,n762,n761,n760,n600,n601,n603,n604,n605,n606,n607,n1308,n544,n516,n1125,n543,n1187,n517,n542,n842,n518,n840,n841,n846,n847,n1208,n1049,n1206,n1207,n1204,n1205,n1202,n1203,n1200,n1201,n662,n1196,n1124,Z30,n924,n149,Z25,n114,n115,n116,n117,n110,n111,n112,n113,n666,n118,n119,n667,n1329,n931,n497,n923,n1328,n922,Z17,n503,n502,n501,n500,n507,n506,n505,n504,n509,n508,n668,n1186,n529,n1338,n1159,n1134,n528,n1332,n1333,n1330,n1331,n1336,n1099,n1334,n1335,n378,n704,n880,n1320,n559,n881,n750,n274,n791,n379,n521,n1327,n1092,n1326,n1128,n720,n349,n348,n1024,n1090,n1022,n1023,n439,n438,n437,n436,n435,n434,n433,n432,n431,n430,n284,n751,Z0,n1095,n803,n756,n1094,n757,n938,n939,n1011,n1031,n1142,n932,n933,n930,n755,n936,n937,n934,n935,n613,n462,n888,n612,n682,n758,n971,n235,n234,n237,n759,n230,n233,n946,n617,n792,n232,n239,n238,n201,n482,n483,n729,n728,n486,n202,n485,n334,n335,n488,n203,n330,n331,n332,n333,n1242,n1243,n1240,n1241,n1246,n1247,n1244,n1245,n834,n1249,n808,n809,n236,Z10,n556,n1137,n876,Z19,n557,n480,Z15,Z20,n657,n656,n655,n654,n653,n652,n651,n650,n150,n151,n153,n154,n155,n659,n658,n67,n305,n550,n469,n484,n304,n1107,n69,n68,n723,n1106,n722,n1101,n874,n481,n1100,n1267,n551,n489,n1103,Z13,n995,n727,n269,n889,n1239,n726,Z27,n1238,n725,n873,n990,n724,n949,n991,n806,n807,n1109,n339,n804,n1108,n473,n1233,n471,n805,n477,n476,n475,n474,n1184,n843,n575,n1181,n1180,n1183,n1182,n1343,n1342,n1068,n1069,n1346,n1345,n1344,n1062,n1063,n1060,n1061,n1066,n1067,n1064,n850,n552,n547,n1235,n1190,n1234,n1248,n887,n1140,n479,n680,n681,n558,n683,n684,n685,n686,n687,n688,n689,Z21,n347,n1030,n1116,n1117,n1114,n1115,n374,n375,n376,n377,n271,n270,n273,n272,n275,n417,n277,n276,n1033,n416,n769,n425,n411,n890,n1341,n426,n410,n297,n296,n295,n355,n293,n408,n291,n290,n420,n412,n942,n299,n353,n768,n350,n797,n1340,n478,n1133,n884,n281,n705,n268,n198,n199,n106,n194,n195,n196,n197,n190,n191,n192,n193,n752,n753,n619,n618,n208,n209,n754,n979,n204,n205,n206,n207,n200,n616,n615,n614,n553,n1131,n100,n321,n994,n996,n997,n859,n858,n992,n993,n855,n854,n857,n856,n998,n999,n853,n852,n565,n564,n717,n567,n107,n1004,n105,n566,n103,n102,n101,n1005,n561,Z3,n109,n108;
 Z0=0;
 Z1=0;
 Z2=0;
 Z3=0;
 n117=((B >> 5)&1)&((A >> 2)&1);
 n118=((B >> 4)&1)&~((A >> 2)&1);
 n138=((A >> 6)&1)&((A >> 5)&1);
 n140=((A >> 6)&1)^((A >> 5)&1);
 n143=~(((A >> 6)&1)|((A >> 5)&1));
 n148=((B >> 6)&1)&((A >> 2)&1);
 n149=((B >> 5)&1)&~((A >> 2)&1);
 n170=((B >> 7)&1)&((A >> 2)&1);
 n171=((B >> 6)&1)&~((A >> 2)&1);
 n206=((A >> 8)&1)&((A >> 7)&1);
 n208=((A >> 8)&1)^((A >> 7)&1);
 n211=~(((A >> 8)&1)|((A >> 7)&1));
 n216=((B >> 8)&1)&((A >> 2)&1);
 n217=((B >> 7)&1)&~((A >> 2)&1);
 n250=((B >> 9)&1)&((A >> 2)&1);
 n251=((B >> 8)&1)&~((A >> 2)&1);
 n308=((A >> 10)&1)&((A >> 9)&1);
 n310=((A >> 10)&1)^((A >> 9)&1);
 n313=~(((A >> 10)&1)|((A >> 9)&1));
 n318=((B >> 10)&1)&((A >> 2)&1);
 n319=((B >> 9)&1)&~((A >> 2)&1);
 n363=((B >> 11)&1)&((A >> 2)&1);
 n364=((B >> 10)&1)&~((A >> 2)&1);
 n428=((A >> 12)&1)&((A >> 11)&1);
 n430=((A >> 12)&1)^((A >> 11)&1);
 n433=~(((A >> 12)&1)|((A >> 11)&1));
 n438=((B >> 12)&1)&((A >> 2)&1);
 n439=((B >> 11)&1)&~((A >> 2)&1);
 n492=((B >> 13)&1)&((A >> 2)&1);
 n493=((B >> 12)&1)&~((A >> 2)&1);
 n591=((A >> 14)&1)&((A >> 13)&1);
 n593=((A >> 14)&1)^((A >> 13)&1);
 n596=~(((A >> 14)&1)|((A >> 13)&1));
 n601=((B >> 14)&1)&((A >> 2)&1);
 n602=((B >> 13)&1)&~((A >> 2)&1);
 n69=((B >> 2)&1)&((A >> 2)&1);
 n697=((B >> 15)&1)&((A >> 2)&1);
 n698=((B >> 14)&1)&~((A >> 2)&1);
 n71=~((A >> 3)&1)&((A >> 2)&1);
 n740=~((B >> 15)&1)&((A >> 3)&1);
 n77=((B >> 3)&1)&((A >> 2)&1);
 n78=((B >> 2)&1)&~((A >> 2)&1);
 n86=((B >> 4)&1)&((A >> 2)&1);
 n87=((B >> 3)&1)&~((A >> 2)&1);
 n90=((A >> 4)&1)&((A >> 3)&1);
 n94=((A >> 4)&1)^((A >> 3)&1);
 n97=~(((A >> 4)&1)|((A >> 3)&1));
 n1002=((B >> 13)&1)&n208;
 n1003=((B >> 12)&1)&~n208;
 n1008=((B >> 9)&1)&n430;
 n1009=((B >> 8)&1)&~n430;
 n1014=((B >> 15)&1)&n140;
 n1015=((B >> 14)&1)&~n140;
 n1053=((B >> 14)&1)&n208;
 n1054=((B >> 13)&1)&~n208;
 n1059=((B >> 8)&1)&n593;
 n1060=((B >> 7)&1)&~n593;
 n1070=((B >> 12)&1)&n310;
 n1071=((B >> 11)&1)&~n310;
 n1076=((B >> 10)&1)&n430;
 n1077=((B >> 9)&1)&~n430;
 n109=((B >> 3)&1)&n94;
 n110=((B >> 2)&1)&~n94;
 n1103=((B >> 11)&1)&n430;
 n1104=((B >> 10)&1)&~n430;
 n1109=((B >> 9)&1)&n593;
 n1110=((B >> 8)&1)&~n593;
 n1115=((B >> 15)&1)&n208;
 n1116=((B >> 14)&1)&~n208;
 n1128=((B >> 13)&1)&n310;
 n1129=((B >> 12)&1)&~n310;
 n116=~(n118|n117);
 n1160=((B >> 14)&1)&n310;
 n1161=((B >> 13)&1)&~n310;
 n1166=((B >> 10)&1)&n593;
 n1167=((B >> 9)&1)&~n593;
 n1182=((B >> 12)&1)&n430;
 n1183=((B >> 11)&1)&~n430;
 n1214=((B >> 11)&1)&n593;
 n1215=((B >> 10)&1)&~n593;
 n1220=((B >> 13)&1)&n430;
 n1221=((B >> 12)&1)&~n430;
 n1226=((B >> 15)&1)&n310;
 n1227=((B >> 14)&1)&~n310;
 n1253=((B >> 12)&1)&n593;
 n1254=((B >> 11)&1)&~n593;
 n1259=((B >> 14)&1)&n430;
 n1260=((B >> 13)&1)&~n430;
 n1287=((B >> 13)&1)&n593;
 n1288=((B >> 12)&1)&~n593;
 n1293=((B >> 15)&1)&n430;
 n1294=((B >> 14)&1)&~n430;
 n1313=((B >> 14)&1)&n593;
 n1314=((B >> 13)&1)&~n593;
 n132=((B >> 4)&1)&n94;
 n133=((B >> 3)&1)&~n94;
 n1334=((B >> 15)&1)&n593;
 n1335=((B >> 14)&1)&~n593;
 n137=((A >> 7)&1)&~n138;
 n139=((B >> 2)&1)&n140;
 n142=~(((A >> 7)&1)|n143);
 n147=~(n149|n148);
 n169=~(n171|n170);
 n177=((B >> 3)&1)&n140;
 n178=((B >> 2)&1)&~n140;
 n183=((B >> 5)&1)&n94;
 n184=((B >> 4)&1)&~n94;
 n200=((B >> 4)&1)&n140;
 n201=((B >> 3)&1)&~n140;
 n205=((A >> 9)&1)&~n206;
 n207=((B >> 2)&1)&n208;
 n210=~(((A >> 9)&1)|n211);
 n215=~(n217|n216);
 n222=((B >> 6)&1)&n94;
 n223=((B >> 5)&1)&~n94;
 n249=~(n251|n250);
 n258=((B >> 5)&1)&n140;
 n259=((B >> 4)&1)&~n140;
 n264=((B >> 3)&1)&n208;
 n265=((B >> 2)&1)&~n208;
 n270=((B >> 7)&1)&n94;
 n271=((B >> 6)&1)&~n94;
 n302=((B >> 4)&1)&n208;
 n303=((B >> 3)&1)&~n208;
 n307=((A >> 11)&1)&~n308;
 n309=((B >> 2)&1)&n310;
 n312=~(((A >> 11)&1)|n313);
 n317=~(n319|n318);
 n327=((B >> 6)&1)&n140;
 n328=((B >> 5)&1)&~n140;
 n333=((B >> 8)&1)&n94;
 n334=((B >> 7)&1)&~n94;
 n355=((B >> 9)&1)&n94;
 n356=((B >> 8)&1)&~n94;
 n362=~(n364|n363);
 n376=((B >> 7)&1)&n140;
 n377=((B >> 6)&1)&~n140;
 n382=((B >> 3)&1)&n310;
 n383=((B >> 2)&1)&~n310;
 n388=((B >> 5)&1)&n208;
 n389=((B >> 4)&1)&~n208;
 n422=((B >> 4)&1)&n310;
 n423=((B >> 3)&1)&~n310;
 n427=((A >> 13)&1)&~n428;
 n429=((B >> 2)&1)&n430;
 n432=~(((A >> 13)&1)|n433);
 n437=~(n439|n438);
 n447=((B >> 8)&1)&n140;
 n448=((B >> 7)&1)&~n140;
 n453=((B >> 6)&1)&n208;
 n454=((B >> 5)&1)&~n208;
 n459=((B >> 10)&1)&n94;
 n460=((B >> 9)&1)&~n94;
 n491=~(n493|n492);
 n499=((B >> 5)&1)&n310;
 n500=((B >> 4)&1)&~n310;
 n505=((B >> 9)&1)&n140;
 n506=((B >> 8)&1)&~n140;
 n525=((B >> 11)&1)&n94;
 n526=((B >> 10)&1)&~n94;
 n531=((B >> 3)&1)&n430;
 n532=((B >> 2)&1)&~n430;
 n537=((B >> 7)&1)&n208;
 n538=((B >> 6)&1)&~n208;
 n569=((B >> 8)&1)&n208;
 n570=((B >> 7)&1)&~n208;
 n585=((B >> 12)&1)&n94;
 n586=((B >> 11)&1)&~n94;
 n590=((A >> 15)&1)&~n591;
 n592=((B >> 2)&1)&n593;
 n595=~(((A >> 15)&1)|n596);
 n600=~(n602|n601);
 n609=((B >> 6)&1)&n310;
 n610=((B >> 5)&1)&~n310;
 n615=((B >> 4)&1)&n430;
 n616=((B >> 3)&1)&~n430;
 n621=((B >> 10)&1)&n140;
 n622=((B >> 9)&1)&~n140;
 n644=((B >> 5)&1)&n430;
 n645=((B >> 4)&1)&~n430;
 n650=((B >> 3)&1)&n593;
 n651=((B >> 2)&1)&~n593;
 n656=((B >> 9)&1)&n208;
 n657=((B >> 8)&1)&~n208;
 n664=((B >> 11)&1)&n140;
 n665=((B >> 10)&1)&~n140;
 n670=((B >> 13)&1)&n94;
 n671=((B >> 12)&1)&~n94;
 n676=((B >> 7)&1)&n310;
 n677=((B >> 6)&1)&~n310;
 n68=~(((A >> 3)&1)|n69);
 n696=~(n698|n697);
 n70=~n71&n69;
 n735=((B >> 14)&1)&n94;
 n736=((B >> 13)&1)&~n94;
 n739=((B >> 15)&1)&n71;
 n759=((B >> 8)&1)&n310;
 n76=~(n78|n77);
 n760=((B >> 7)&1)&~n310;
 n765=((B >> 10)&1)&n208;
 n766=((B >> 9)&1)&~n208;
 n773=((B >> 12)&1)&n140;
 n774=((B >> 11)&1)&~n140;
 n779=((B >> 4)&1)&n593;
 n780=((B >> 3)&1)&~n593;
 n785=((B >> 6)&1)&n430;
 n786=((B >> 5)&1)&~n430;
 n825=((B >> 11)&1)&n208;
 n826=((B >> 10)&1)&~n208;
 n831=((B >> 9)&1)&n310;
 n832=((B >> 8)&1)&~n310;
 n837=((B >> 5)&1)&n593;
 n838=((B >> 4)&1)&~n593;
 n85=~(n87|n86);
 n857=((B >> 13)&1)&n140;
 n858=((B >> 12)&1)&~n140;
 n863=((B >> 7)&1)&n430;
 n864=((B >> 6)&1)&~n430;
 n869=((B >> 15)&1)&n94;
 n870=((B >> 14)&1)&~n94;
 n89=((A >> 5)&1)&~n90;
 n903=((B >> 14)&1)&n140;
 n904=((B >> 13)&1)&~n140;
 n909=((B >> 6)&1)&n593;
 n910=((B >> 5)&1)&~n593;
 n920=((B >> 8)&1)&n430;
 n921=((B >> 7)&1)&~n430;
 n926=((B >> 12)&1)&n208;
 n927=((B >> 11)&1)&~n208;
 n93=((B >> 2)&1)&n94;
 n939=((B >> 10)&1)&n310;
 n940=((B >> 9)&1)&~n310;
 n96=~(((A >> 5)&1)|n97);
 n982=((B >> 7)&1)&n593;
 n983=((B >> 6)&1)&~n593;
 n988=((B >> 11)&1)&n310;
 n989=((B >> 10)&1)&~n310;
 n1001=~(n1003|n1002);
 n1007=~(n1009|n1008);
 n1013=~(n1015|n1014);
 n1052=~(n1054|n1053);
 n1058=~(n1060|n1059);
 n1063=((B >> 15)&1)&n142;
 n1064=~((B >> 15)&1)&n137;
 n1069=~(n1071|n1070);
 n1075=~(n1077|n1076);
 n108=~(n110|n109);
 n1102=~(n1104|n1103);
 n1108=~(n1110|n1109);
 n1114=~(n1116|n1115);
 n1127=~(n1129|n1128);
 n115=~((A >> 3)&1)&n116;
 n1159=~(n1161|n1160);
 n1165=~(n1167|n1166);
 n1170=((B >> 15)&1)&n210;
 n1171=~((B >> 15)&1)&n205;
 n1181=~(n1183|n1182);
 n119=~(n71|n116);
 n1213=~(n1215|n1214);
 n1219=~(n1221|n1220);
 n1225=~(n1227|n1226);
 n1252=~(n1254|n1253);
 n1258=~(n1260|n1259);
 n1263=((B >> 15)&1)&n312;
 n1264=~((B >> 15)&1)&n307;
 n1286=~(n1288|n1287);
 n1292=~(n1294|n1293);
 n131=~(n133|n132);
 n1312=~(n1314|n1313);
 n1317=((B >> 15)&1)&n432;
 n1318=~((B >> 15)&1)&n427;
 n1333=~(n1335|n1334);
 n1345=((B >> 15)&1)&n595;
 n1346=~((B >> 15)&1)&n590;
 n136=~(n139|n137);
 n141=~n142&n139;
 n146=~((A >> 3)&1)&n147;
 n150=~(n71|n147);
 n168=~((A >> 3)&1)&n169;
 n172=~(n71|n169);
 n176=~(n178|n177);
 n182=~(n184|n183);
 n199=~(n201|n200);
 n204=~(n207|n205);
 n209=~n210&n207;
 n214=~((A >> 3)&1)&n215;
 n218=~(n71|n215);
 n221=~(n223|n222);
 n248=~((A >> 3)&1)&n249;
 n252=~(n71|n249);
 n257=~(n259|n258);
 n263=~(n265|n264);
 n269=~(n271|n270);
 n301=~(n303|n302);
 n306=~(n309|n307);
 n311=~n312&n309;
 n316=~((A >> 3)&1)&n317;
 n320=~(n71|n317);
 n326=~(n328|n327);
 n332=~(n334|n333);
 n354=~(n356|n355);
 n361=~((A >> 3)&1)&n362;
 n365=~(n71|n362);
 n375=~(n377|n376);
 n381=~(n383|n382);
 n387=~(n389|n388);
 n421=~(n423|n422);
 n426=~(n429|n427);
 n431=~n432&n429;
 n436=~((A >> 3)&1)&n437;
 n440=~(n71|n437);
 n446=~(n448|n447);
 n452=~(n454|n453);
 n458=~(n460|n459);
 n490=~((A >> 3)&1)&n491;
 n494=~(n71|n491);
 n498=~(n500|n499);
 n504=~(n506|n505);
 n524=~(n526|n525);
 n530=~(n532|n531);
 n536=~(n538|n537);
 n568=~(n570|n569);
 n584=~(n586|n585);
 n589=~(n592|n590);
 n594=~n595&n592;
 n599=~((A >> 3)&1)&n600;
 n603=~(n71|n600);
 n608=~(n610|n609);
 n614=~(n616|n615);
 n620=~(n622|n621);
 n643=~(n645|n644);
 n649=~(n651|n650);
 n655=~(n657|n656);
 n663=~(n665|n664);
 n669=~(n671|n670);
 n67=~(n70|n68);
 n675=~(n677|n676);
 n695=~((A >> 3)&1)&n696;
 n699=~(n71|n696);
 n734=~(n736|n735);
 n738=~(n740|n739);
 n75=~((A >> 3)&1)&n76;
 n758=~(n760|n759);
 n764=~(n766|n765);
 n772=~(n774|n773);
 n778=~(n780|n779);
 n784=~(n786|n785);
 n79=~(n71|n76);
 n824=~(n826|n825);
 n830=~(n832|n831);
 n836=~(n838|n837);
 n84=~((A >> 3)&1)&n85;
 n856=~(n858|n857);
 n862=~(n864|n863);
 n868=~(n870|n869);
 n88=~(n71|n85);
 n902=~(n904|n903);
 n908=~(n910|n909);
 n913=((B >> 15)&1)&n96;
 n914=~((B >> 15)&1)&n89;
 n919=~(n921|n920);
 n92=~(n89|n93);
 n925=~(n927|n926);
 n938=~(n940|n939);
 n95=~n96&n93;
 n981=~(n983|n982);
 n987=~(n989|n988);
 Z4=((A >> 3)&1)^n67;
 n1000=~n205&n1001;
 n1004=~(n210|n1001);
 n1006=~n427&n1007;
 n1010=~(n432|n1007);
 n1012=~n137&n1013;
 n1016=~(n142|n1013);
 n1051=~n205&n1052;
 n1055=~(n210|n1052);
 n1057=~n590&n1058;
 n1061=~(n595|n1058);
 n1062=~(n1064|n1063);
 n1068=~n307&n1069;
 n107=~n89&n108;
 n1072=~(n312|n1069);
 n1074=~n427&n1075;
 n1078=~(n432|n1075);
 n1101=~n427&n1102;
 n1105=~(n432|n1102);
 n1107=~n590&n1108;
 n111=~(n96|n108);
 n1111=~(n595|n1108);
 n1113=~n205&n1114;
 n1117=~(n210|n1114);
 n1126=~n307&n1127;
 n1130=~(n312|n1127);
 n114=~(n119|n115);
 n1158=~n307&n1159;
 n1162=~(n312|n1159);
 n1164=~n590&n1165;
 n1168=~(n595|n1165);
 n1169=~(n1171|n1170);
 n1180=~n427&n1181;
 n1184=~(n432|n1181);
 n1212=~n590&n1213;
 n1216=~(n595|n1213);
 n1218=~n427&n1219;
 n1222=~(n432|n1219);
 n1224=~n307&n1225;
 n1228=~(n312|n1225);
 n1251=~n590&n1252;
 n1255=~(n595|n1252);
 n1257=~n427&n1258;
 n1261=~(n432|n1258);
 n1262=~(n1264|n1263);
 n1285=~n590&n1286;
 n1289=~(n595|n1286);
 n1291=~n427&n1292;
 n1295=~(n432|n1292);
 n130=~n89&n131;
 n1311=~n590&n1312;
 n1315=~(n595|n1312);
 n1316=~(n1318|n1317);
 n1332=~n590&n1333;
 n1336=~(n595|n1333);
 n134=~(n96|n131);
 n1344=~(n1346|n1345);
 n135=~(n141|n136);
 n145=~(n150|n146);
 n167=~(n172|n168);
 n175=~n137&n176;
 n179=~(n142|n176);
 n181=~n89&n182;
 n185=~(n96|n182);
 n198=~n137&n199;
 n202=~(n142|n199);
 n203=~(n209|n204);
 n213=~(n218|n214);
 n220=~n89&n221;
 n224=~(n96|n221);
 n247=~(n252|n248);
 n256=~n137&n257;
 n260=~(n142|n257);
 n262=~n205&n263;
 n266=~(n210|n263);
 n268=~n89&n269;
 n272=~(n96|n269);
 n300=~n205&n301;
 n304=~(n210|n301);
 n305=~(n311|n306);
 n315=~(n320|n316);
 n325=~n137&n326;
 n329=~(n142|n326);
 n331=~n89&n332;
 n335=~(n96|n332);
 n353=~n89&n354;
 n357=~(n96|n354);
 n360=~(n365|n361);
 n374=~n137&n375;
 n378=~(n142|n375);
 n380=~n307&n381;
 n384=~(n312|n381);
 n386=~n205&n387;
 n390=~(n210|n387);
 n420=~n307&n421;
 n424=~(n312|n421);
 n425=~(n431|n426);
 n435=~(n440|n436);
 n445=~n137&n446;
 n449=~(n142|n446);
 n451=~n205&n452;
 n455=~(n210|n452);
 n457=~n89&n458;
 n461=~(n96|n458);
 n489=~(n494|n490);
 n497=~n307&n498;
 n501=~(n312|n498);
 n503=~n137&n504;
 n507=~(n142|n504);
 n523=~n89&n524;
 n527=~(n96|n524);
 n529=~n427&n530;
 n533=~(n432|n530);
 n535=~n205&n536;
 n539=~(n210|n536);
 n567=~n205&n568;
 n571=~(n210|n568);
 n583=~n89&n584;
 n587=~(n96|n584);
 n588=~(n594|n589);
 n598=~(n603|n599);
 n607=~n307&n608;
 n611=~(n312|n608);
 n613=~n427&n614;
 n617=~(n432|n614);
 n619=~n137&n620;
 n623=~(n142|n620);
 n642=~n427&n643;
 n646=~(n432|n643);
 n648=~n590&n649;
 n652=~(n595|n649);
 n654=~n205&n655;
 n658=~(n210|n655);
 n662=~n137&n663;
 n666=~(n142|n663);
 n668=~n89&n669;
 n672=~(n96|n669);
 n674=~n307&n675;
 n678=~(n312|n675);
 n694=~(n699|n695);
 n73=((A >> 3)&1)&n67;
 n733=~n89&n734;
 n737=~(n96|n734);
 n74=~(n79|n75);
 n757=~n307&n758;
 n761=~(n312|n758);
 n763=~n205&n764;
 n767=~(n210|n764);
 n771=~n137&n772;
 n775=~(n142|n772);
 n777=~n590&n778;
 n781=~(n595|n778);
 n783=~n427&n784;
 n787=~(n432|n784);
 n823=~n205&n824;
 n827=~(n210|n824);
 n829=~n307&n830;
 n83=~(n88|n84);
 n833=~(n312|n830);
 n835=~n590&n836;
 n839=~(n595|n836);
 n855=~n137&n856;
 n859=~(n142|n856);
 n861=~n427&n862;
 n865=~(n432|n862);
 n867=~n89&n868;
 n871=~(n96|n868);
 n901=~n137&n902;
 n905=~(n142|n902);
 n907=~n590&n908;
 n91=~(n95|n92);
 n911=~(n595|n908);
 n912=~(n914|n913);
 n918=~n427&n919;
 n922=~(n432|n919);
 n924=~n205&n925;
 n928=~(n210|n925);
 n937=~n307&n938;
 n941=~(n312|n938);
 n980=~n590&n981;
 n984=~(n595|n981);
 n986=~n307&n987;
 n990=~(n312|n987);
 Z5=n74^n73;
 n1005=~(n1010|n1006);
 n1011=~(n1016|n1012);
 n1050=~(n1055|n1051);
 n1056=~(n1061|n1057);
 n106=~(n111|n107);
 n1067=~(n1072|n1068);
 n1073=~(n1078|n1074);
 n1100=~(n1105|n1101);
 n1106=~(n1111|n1107);
 n1112=~(n1117|n1113);
 n1125=~(n1130|n1126);
 n113=n89&n83;
 n1157=~(n1162|n1158);
 n1163=~(n1168|n1164);
 n1179=~(n1184|n1180);
 n1211=~(n1216|n1212);
 n1217=~(n1222|n1218);
 n1223=~(n1228|n1224);
 n1250=~(n1255|n1251);
 n1256=~(n1261|n1257);
 n1284=~(n1289|n1285);
 n129=~(n134|n130);
 n1290=~(n1295|n1291);
 n1310=~(n1315|n1311);
 n1331=~(n1336|n1332);
 n144=n137^n145;
 n166=n137&n145;
 n174=~(n179|n175);
 n180=~(n185|n181);
 n197=~(n202|n198);
 n212=n205^n213;
 n219=~(n224|n220);
 n246=n205&n213;
 n255=~(n260|n256);
 n261=~(n266|n262);
 n267=~(n272|n268);
 n299=~(n304|n300);
 n314=n307^n315;
 n324=~(n329|n325);
 n330=~(n335|n331);
 n352=~(n357|n353);
 n359=n307&n315;
 n373=~(n378|n374);
 n379=~(n384|n380);
 n385=~(n390|n386);
 n419=~(n424|n420);
 n434=n427^n435;
 n444=~(n449|n445);
 n450=~(n455|n451);
 n456=~(n461|n457);
 n488=n427&n435;
 n496=~(n501|n497);
 n502=~(n507|n503);
 n522=~(n527|n523);
 n528=~(n533|n529);
 n534=~(n539|n535);
 n566=~(n571|n567);
 n582=~(n587|n583);
 n597=n590^n598;
 n606=~(n611|n607);
 n612=~(n617|n613);
 n618=~(n623|n619);
 n641=~(n646|n642);
 n647=~(n652|n648);
 n653=~(n658|n654);
 n661=~(n666|n662);
 n667=~(n672|n668);
 n673=~(n678|n674);
 n693=n590&n598;
 n732=~(n737|n733);
 n756=~(n761|n757);
 n762=~(n767|n763);
 n770=~(n775|n771);
 n776=~(n781|n777);
 n782=~(n787|n783);
 n82=n89^n83;
 n822=~(n827|n823);
 n828=~(n833|n829);
 n834=~(n839|n835);
 n854=~(n859|n855);
 n860=~(n865|n861);
 n866=~(n871|n867);
 n900=~(n905|n901);
 n906=~(n911|n907);
 n917=~(n922|n918);
 n923=~(n928|n924);
 n936=~(n941|n937);
 n979=~(n984|n980);
 n98=n74&n73;
 n985=~(n990|n986);
 n999=~(n1004|n1000);
 n103=n91&n82;
 n1039=n985&n979;
 n104=n91&n98;
 n1045=n1005&n999;
 n1046=n1005&~n1011;
 n1047=n999&~n1011;
 n1049=~(n1056^n1050);
 n105=n82&n98;
 n1066=~(n1073^n1067);
 n1099=~(n1106^n1100);
 n112=n114^n113;
 n1122=n1056&n1050;
 n1123=n1062&n1056;
 n1124=n1062&n1050;
 n1133=n1073&n1067;
 n1134=n1073&n1011;
 n1135=n1067&n1011;
 n1156=~(n1163^n1157);
 n1175=n1106&n1100;
 n1176=n1106&~n1112;
 n1177=n1100&~n1112;
 n1178=~(n1179^n1112);
 n1201=n1179&n1112;
 n1206=n1163&n1157;
 n1207=n1169&n1163;
 n1208=n1169&n1157;
 n1210=~(n1217^n1211);
 n1245=n1217&n1211;
 n1246=n1217&~n1223;
 n1247=n1211&~n1223;
 n1249=~(n1256^n1250);
 n128=~(n135^n129);
 n1280=n1256&n1250;
 n1281=n1262&n1256;
 n1282=n1262&n1250;
 n1283=n1290^n1284;
 n1306=~n1290&n1284;
 n1309=~(n1310^n1290);
 n1328=n1310&n1290;
 n1329=n1316&n1310;
 n1330=n1316&n1290;
 n1350=n1344&n1331;
 n151=n114&n113;
 n161=n135&n129;
 n162=n135&n144;
 n163=n129&n144;
 n165=n167^n166;
 n173=~(n180^n174);
 n196=~(n203^n197);
 n225=n167&n166;
 n229=n180&n174;
 n242=n203&n197;
 n243=n203&n212;
 n244=n197&n212;
 n245=n247^n246;
 n254=~(n261^n255);
 n294=n261&n255;
 n295=n261&n267;
 n296=n255&n267;
 n298=~(n305^n299);
 n322=n247&n246;
 n323=~(n330^n324);
 n349=n305&n299;
 n350=n305&n314;
 n351=n299&n314;
 n358=n360^n359;
 n369=n330&n324;
 n372=~(n379^n373);
 n414=n379&n373;
 n415=n379&n385;
 n416=n373&n385;
 n418=~(n425^n419);
 n441=n360&n359;
 n443=~(n450^n444);
 n487=n489^n488;
 n495=~(n502^n496);
 n512=n425&n419;
 n513=n425&n434;
 n514=n419&n434;
 n517=n450&n444;
 n518=n450&n456;
 n519=n444&n456;
 n521=~(n528^n522);
 n563=n528&n522;
 n564=n528&n534;
 n565=n522&n534;
 n572=n489&n488;
 n578=n502&n496;
 n581=~(n588^n582);
 n605=~(n612^n606);
 n640=~(n647^n641);
 n660=~(n667^n661);
 n689=n588&n582;
 n690=n588&n597;
 n691=n582&n597;
 n692=n694^n693;
 n702=n612&n606;
 n703=n612&n618;
 n704=n606&n618;
 n728=n667&n661;
 n729=n667&n673;
 n730=n661&n673;
 n731=n738^n732;
 n743=n647&n641;
 n744=n647&n653;
 n745=n641&n653;
 n754=n694&n693;
 n755=~(n762^n756);
 n769=~(n776^n770);
 n81=~(n91^n82);
 n816=n776&n770;
 n817=n776&n782;
 n818=n770&n782;
 n819=~(n738|n732);
 n821=~(n828^n822);
 n850=n762&n756;
 n853=~(n860^n854);
 n899=~(n906^n900);
 n916=~(n917^n866);
 n933=n860&n854;
 n934=n860&~n866;
 n935=n854&~n866;
 n944=n828&n822;
 n945=n828&n834;
 n946=n822&n834;
 n975=n906&n900;
 n976=n912&n906;
 n977=n912&n900;
 n978=~(n985^n979);
 n994=n917&n866;
 n995=n923&n866;
 n996=n917&n923;
 n998=~(n1005^n999);
 Z6=~(n98^n81);
 n102=~(n104|n103);
 n1044=~(n1046|n1045);
 n1048=n1062^n1049;
 n1065=n1011^n1066;
 n1098=~(n1112^n1099);
 n1121=~(n1123|n1122);
 n1132=~(n1134|n1133);
 n1155=n1169^n1156;
 n1174=~(n1176|n1175);
 n1205=~(n1207|n1206);
 n1209=~(n1223^n1210);
 n1244=~(n1246|n1245);
 n1248=n1262^n1249;
 n125=n106&n112;
 n127=n144^n128;
 n1279=~(n1281|n1280);
 n1308=n1316^n1309;
 n1327=~(n1329|n1328);
 n160=~(n162|n161);
 n164=n173^n165;
 n195=n212^n196;
 n228=n180&n165;
 n230=n174&n165;
 n241=~(n243|n242);
 n253=n267^n254;
 n276=n219&n225;
 n293=~(n295|n294);
 n297=n314^n298;
 n321=n323^n322;
 n348=~(n350|n349);
 n368=n330&n322;
 n370=n324&n322;
 n371=n385^n372;
 n408=n352&n358;
 n413=~(n415|n414);
 n417=n434^n418;
 n442=n456^n443;
 n486=n495^n487;
 n511=~(n513|n512);
 n516=~(n518|n517);
 n520=n534^n521;
 n562=~(n564|n563);
 n577=n502&n487;
 n579=n496&n487;
 n580=n597^n581;
 n604=n618^n605;
 n637=n566&n572;
 n639=n653^n640;
 n659=n673^n660;
 n688=~(n690|n689);
 n701=~(n703|n702);
 n727=~(n729|n728);
 n742=~(n744|n743);
 n753=n755^n754;
 n768=n782^n769;
 n815=~(n817|n816);
 n820=n834^n821;
 n849=n762&n754;
 n851=n756&n754;
 n852=~(n866^n853);
 n898=n912^n899;
 n915=n923^n916;
 n932=~(n934|n933);
 n943=~(n945|n944);
 n974=~(n976|n975);
 n993=~(n995|n994);
 n997=~(n1011^n998);
 n101=~n105&n102;
 n1043=~n1047&n1044;
 n1097=~(n1048|n1065);
 n1120=~n1124&n1121;
 n1131=~n1135&n1132;
 n1173=~n1177&n1174;
 n1204=~n1208&n1205;
 n1243=~n1247&n1244;
 n1276=n1223&~n1248;
 n1278=~n1282&n1279;
 n1326=~n1330&n1327;
 n156=n151&~n127;
 n159=~n163&n160;
 n194=n219^n195;
 n227=~(n229|n228);
 n240=~n244&n241;
 n275=n219&~n195;
 n277=n225&~n195;
 n289=n245&~n253;
 n292=~n296&n293;
 n347=~n351&n348;
 n367=~(n369|n368);
 n395=~(n297|n321);
 n412=~n416&n413;
 n485=n441&~n417;
 n510=~n514&n511;
 n515=~n519&n516;
 n561=~n565&n562;
 n576=~(n578|n577);
 n684=~(n580|n604);
 n687=~n691&n688;
 n700=~n704&n701;
 n722=~(n639|n659);
 n726=~n730&n727;
 n741=~n745&n742;
 n810=~(n753|n768);
 n814=~n818&n815;
 n848=~(n850|n849);
 n897=~(n819|n820);
 n931=~n935&n932;
 n942=~n946&n943;
 n963=~(n898|n915);
 n973=~n977&n974;
 n992=~n996&n993;
 n100=n106^n101;
 n1033=~(n997|n992);
 n1038=n985&~n973;
 n1040=n979&~n973;
 n1042=~(n1048^n1043);
 n1095=~(n1048|n1043);
 n1096=~(n1065|n1043);
 n1119=n1125^n1120;
 n1152=n1125&~n1120;
 n1153=~(n1120|n1131);
 n1154=n1125&~n1131;
 n1172=~(n1178^n1173);
 n1200=n1179&~n1173;
 n1202=n1112&~n1173;
 n1203=~(n1209^n1204);
 n1239=~(n1209|n1204);
 n124=n106&~n101;
 n1242=n1223^n1243;
 n126=n112&~n101;
 n1274=n1223&~n1243;
 n1275=~(n1248|n1243);
 n1277=~(n1283^n1278);
 n1305=~(n1290|n1278);
 n1307=n1284&~n1278;
 n1325=~(n1331^n1326);
 n1342=~(n1331|n1326);
 n158=~(n164^n159);
 n190=~(n164|n159);
 n193=n225^n194;
 n226=~n230&n227;
 n239=n245^n240;
 n274=~(n276|n275);
 n287=n245&~n240;
 n288=~(n253|n240);
 n291=~(n297^n292);
 n346=n352^n347;
 n366=~n370&n367;
 n393=~(n297|n292);
 n394=~(n321|n292);
 n407=n352&~n347;
 n409=n358&~n347;
 n411=~(n417^n412);
 n483=~(n417|n412);
 n484=n441&~n412;
 n509=~(n515^n510);
 n556=~(n515|n510);
 n557=~(n520|n515);
 n558=~(n520|n510);
 n560=n566^n561;
 n575=~n579&n576;
 n636=n566&~n561;
 n638=n572&~n561;
 n686=n692^n687;
 n725=~(n731^n726);
 n750=n692&~n687;
 n751=~(n687|n700);
 n752=n692&~n700;
 n813=~(n819^n814);
 n843=~(n731|n726);
 n844=~(n726|n741);
 n845=~(n731|n741);
 n847=~n851&n848;
 n895=~(n819|n814);
 n896=~(n820|n814);
 n930=n936^n931;
 n968=n936&~n931;
 n969=~(n931|n942);
 n970=n936&~n942;
 n972=~(n978^n973);
 n991=~(n997^n992);
 Z7=~(n112^n100);
 n1032=~(n992|n972);
 n1034=~(n997|n972);
 n1037=~(n1039|n1038);
 n1041=~(n1065^n1042);
 n1094=~(n1096|n1095);
 n1118=~(n1131^n1119);
 n1151=~(n1153|n1152);
 n1195=~(n1155|n1172);
 n1199=~(n1201|n1200);
 n123=~(n125|n124);
 n1241=~(n1248^n1242);
 n1273=~(n1275|n1274);
 n1304=~(n1306|n1305);
 n192=~(n226^n193);
 n235=~(n226|n193);
 n238=~(n253^n239);
 n273=~n277&n274;
 n286=~(n288|n287);
 n290=~(n321^n291);
 n345=n358^n346;
 n392=~(n394|n393);
 n406=~(n408|n407);
 n410=n441^n411;
 n465=~(n371|n366);
 n482=~(n484|n483);
 n508=~(n520^n509);
 n555=~(n557|n556);
 n559=n572^n560;
 n574=~(n580^n575);
 n635=~(n637|n636);
 n682=~(n580|n575);
 n683=~(n604|n575);
 n685=~(n700^n686);
 n724=~(n741^n725);
 n749=~(n751|n750);
 n812=~(n820^n813);
 n842=~(n844|n843);
 n846=~(n852^n847);
 n889=~(n852|n847);
 n894=~(n896|n895);
 n929=~(n942^n930);
 n967=~(n969|n968);
 n971=~(n991^n972);
 n1031=~(n1033|n1032);
 n1036=~n1040&n1037;
 n1093=~n1097&n1094;
 n1147=~(n1098|n1118);
 n1150=~n1154&n1151;
 n1198=~n1202&n1199;
 n122=~n126&n123;
 n1272=~n1276&n1273;
 n1303=~n1307&n1304;
 n237=~(n273^n238);
 n282=~(n273|n238);
 n285=~n289&n286;
 n344=~(n366^n345);
 n391=~n395&n392;
 n405=~n409&n406;
 n464=~(n366|n345);
 n466=~(n371|n345);
 n478=~(n442|n410);
 n481=~n485&n482;
 n551=~(n486|n508);
 n554=~n558&n555;
 n573=~(n604^n574);
 n634=~n638&n635;
 n681=~(n683|n682);
 n748=~n752&n749;
 n841=~n845&n842;
 n893=~n897&n894;
 n966=~n970&n967;
 n1027=~(n971|n966);
 n1030=~n1034&n1031;
 n1035=~(n1041^n1036);
 n1089=~(n1041|n1036);
 n1092=~(n1098^n1093);
 n1145=~(n1098|n1093);
 n1146=~(n1118|n1093);
 n1149=~(n1155^n1150);
 n1194=~(n1155|n1150);
 n1196=~(n1172|n1150);
 n1197=~(n1203^n1198);
 n121=~(n127^n122);
 n1238=~(n1204|n1198);
 n1240=~(n1209|n1198);
 n1300=~(n1277|n1272);
 n1302=~(n1308^n1303);
 n1323=~(n1308|n1303);
 n155=~(n127|n122);
 n157=n151&~n122;
 n284=~(n290^n285);
 n340=~(n290|n285);
 n343=~(n371^n344);
 n404=~(n410^n405);
 n463=~(n465|n464);
 n476=~(n410|n405);
 n477=~(n442|n405);
 n480=~(n486^n481);
 n549=~(n486|n481);
 n550=~(n508|n481);
 n553=~(n559^n554);
 n633=~(n639^n634);
 n680=~n684&n681;
 n707=~(n559|n554);
 n708=~(n554|n573);
 n709=~(n559|n573);
 n721=~(n639|n634);
 n723=~(n659|n634);
 n747=~(n753^n748);
 n809=~(n753|n748);
 n811=~(n768|n748);
 n840=~(n846^n841);
 n888=~(n847|n841);
 n890=~(n852|n841);
 n892=~(n898^n893);
 n962=~(n898|n893);
 n964=~(n915|n893);
 n965=~(n971^n966);
 Z8=~(n151^n121);
 n1029=~(n1035^n1030);
 n1088=~(n1036|n1030);
 n1090=~(n1041|n1030);
 n1091=~(n1118^n1092);
 n1144=~(n1146|n1145);
 n1148=~(n1172^n1149);
 n1193=~(n1195|n1194);
 n1237=~(n1239|n1238);
 n154=~(n156|n155);
 n342=~(n391^n343);
 n400=~(n391|n343);
 n403=~(n442^n404);
 n462=~n466&n463;
 n475=~(n477|n476);
 n479=~(n508^n480);
 n548=~(n550|n549);
 n552=~(n573^n553);
 n632=~(n659^n633);
 n679=~(n685^n680);
 n706=~(n708|n707);
 n720=~(n722|n721);
 n746=~(n768^n747);
 n791=~(n685|n680);
 n808=~(n810|n809);
 n882=~(n812|n840);
 n887=~(n889|n888);
 n891=~(n915^n892);
 n961=~(n963|n962);
 n1087=~(n1089|n1088);
 n1143=~n1147&n1144;
 n1192=~n1196&n1193;
 n1236=~n1240&n1237;
 n153=~n157&n154;
 n402=~(n462^n403);
 n471=~(n462|n403);
 n474=~n478&n475;
 n547=~n551&n548;
 n631=~(n679^n632);
 n705=~n709&n706;
 n719=~n723&n720;
 n790=~(n680|n632);
 n792=~(n685|n632);
 n804=~(n724|n746);
 n807=~n811&n808;
 n886=~n890&n887;
 n958=~(n929|n891);
 n960=~n964&n961;
 Z9=n158^n153;
 n1026=~(n966|n960);
 n1028=~(n971|n960);
 n1086=~n1090&n1087;
 n1142=~(n1148^n1143);
 n1189=~(n1148|n1143);
 n1191=~(n1197^n1192);
 n1233=~(n1197|n1192);
 n1235=~(n1241^n1236);
 n1270=~(n1241|n1236);
 n189=~(n159|n153);
 n191=~(n164|n153);
 n473=~(n479^n474);
 n544=~(n479|n474);
 n546=~(n552^n547);
 n628=~(n552|n547);
 n630=~(n705^n631);
 n714=~(n705|n631);
 n718=~(n724^n719);
 n789=~(n791|n790);
 n802=~(n724|n719);
 n803=~(n746|n719);
 n806=~(n812^n807);
 n881=~(n812|n807);
 n883=~(n840|n807);
 n885=~(n891^n886);
 n956=~(n891|n886);
 n957=~(n929|n886);
 n959=~(n965^n960);
 n1025=~(n1027|n1026);
 n1085=~(n1091^n1086);
 n1140=~(n1091|n1086);
 n188=~(n190|n189);
 n717=~(n746^n718);
 n788=~n792&n789;
 n801=~(n803|n802);
 n805=~(n840^n806);
 n880=~(n882|n881);
 n884=~(n929^n885);
 n955=~(n957|n956);
 n1024=~n1028&n1025;
 n187=~n191&n188;
 n716=~(n788^n717);
 n797=~(n788|n717);
 n800=~n804&n801;
 n879=~n883&n880;
 n954=~n958&n955;
 Z10=n192^n187;
 n1021=~(n959|n954);
 n1023=~(n1029^n1024);
 n1083=~(n1029|n1024);
 n234=~(n226|n187);
 n236=~(n193|n187);
 n799=~(n805^n800);
 n876=~(n805|n800);
 n878=~(n884^n879);
 n951=~(n884|n879);
 n953=~(n959^n954);
 n233=~(n235|n234);
 n232=~n236&n233;
 Z11=n237^n232;
 n281=~(n273|n232);
 n283=~(n238|n232);
 n280=~(n282|n281);
 n279=~n283&n280;
 Z12=n284^n279;
 n339=~(n285|n279);
 n341=~(n290|n279);
 n338=~(n340|n339);
 n337=~n341&n338;
 Z13=n342^n337;
 n399=~(n391|n337);
 n401=~(n343|n337);
 n398=~(n400|n399);
 n397=~n401&n398;
 Z14=n402^n397;
 n470=~(n462|n397);
 n472=~(n403|n397);
 n469=~(n471|n470);
 n468=~n472&n469;
 Z15=n473^n468;
 n543=~(n474|n468);
 n545=~(n479|n468);
 n542=~(n544|n543);
 n541=~n545&n542;
 Z16=n546^n541;
 n627=~(n547|n541);
 n629=~(n552|n541);
 n626=~(n628|n627);
 n625=~n629&n626;
 Z17=n630^n625;
 n713=~(n705|n625);
 n715=~(n631|n625);
 n712=~(n714|n713);
 n711=~n715&n712;
 Z18=n716^n711;
 n796=~(n788|n711);
 n798=~(n717|n711);
 n795=~(n797|n796);
 n794=~n798&n795;
 Z19=n799^n794;
 n875=~(n800|n794);
 n877=~(n805|n794);
 n874=~(n876|n875);
 n873=~n877&n874;
 Z20=n878^n873;
 n950=~(n879|n873);
 n952=~(n884|n873);
 n949=~(n951|n950);
 n948=~n952&n949;
 Z21=n953^n948;
 n1020=~(n954|n948);
 n1022=~(n959|n948);
 n1019=~(n1021|n1020);
 n1018=~n1022&n1019;
 Z22=n1023^n1018;
 n1082=~(n1024|n1018);
 n1084=~(n1029|n1018);
 n1081=~(n1083|n1082);
 n1080=~n1084&n1081;
 Z23=n1085^n1080;
 n1139=~(n1086|n1080);
 n1141=~(n1091|n1080);
 n1138=~(n1140|n1139);
 n1137=~n1141&n1138;
 Z24=n1142^n1137;
 n1188=~(n1143|n1137);
 n1190=~(n1148|n1137);
 n1187=~(n1189|n1188);
 n1186=~n1190&n1187;
 Z25=n1191^n1186;
 n1232=~(n1192|n1186);
 n1234=~(n1197|n1186);
 n1231=~(n1233|n1232);
 n1230=~n1234&n1231;
 Z26=n1235^n1230;
 n1269=~(n1236|n1230);
 n1271=~(n1241|n1230);
 n1268=~(n1270|n1269);
 n1267=~n1271&n1268;
 n1266=~(n1272^n1267);
 n1299=~(n1272|n1267);
 n1301=~(n1277|n1267);
 Z27=n1277^n1266;
 n1298=~(n1300|n1299);
 n1297=~n1301&n1298;
 Z28=n1302^n1297;
 n1322=~(n1303|n1297);
 n1324=~(n1308|n1297);
 n1321=~(n1323|n1322);
 n1320=~n1324&n1321;
 Z29=n1325^n1320;
 n1341=~(n1326|n1320);
 n1343=~(n1331|n1320);
 n1340=~(n1342|n1341);
 n1339=~n1343&n1340;
 n1338=n1331^n1339;
 n1349=n1331&~n1339;
 n1351=n1344&~n1339;
 Z30=~(n1344^n1338);
 n1348=~(n1350|n1349);
 Z31=~n1351&n1348;
 Z = (Z0 << 0)|(Z1 << 1)|(Z2 << 2)|(Z3 << 3)|(Z4 << 4)|(Z5 << 5)|(Z6 << 6)|(Z7 << 7)|(Z8 << 8)|(Z9 << 9)|(Z10 << 10)|(Z11 << 11)|(Z12 << 12)|(Z13 << 13)|(Z14 << 14)|(Z15 << 15)|(Z16 << 16)|(Z17 << 17)|(Z18 << 18)|(Z19 << 19)|(Z20 << 20)|(Z21 << 21)|(Z22 << 22)|(Z23 << 23)|(Z24 << 24)|(Z25 << 25)|(Z26 << 26)|(Z27 << 27)|(Z28 << 28)|(Z29 << 29)|(Z30 << 30)|(Z31 << 31);
 return Z;
}