Commit 2e47f7be authored by root's avatar root

Merge branch 'gNB_mwc18_integration' of...

Merge branch 'gNB_mwc18_integration' of https://gitlab.eurecom.fr/oai-nr/openairinterface5g into gNB_mwc18_integration
parents 19038bf9 79f69589
......@@ -142,12 +142,12 @@ int test_ldpc(short No_iteration,
if (lift_size[i1] >= (double) block_length/Kb)
{
Zc = lift_size[i1];
// printf("%d\n",Zc);
//printf("%d\n",Zc);
break;
}
}
printf("BG %d, Zc %d, Kb %d\n",BG, Zc, Kb);
printf("ldpc_test: BG %d, Zc %d, Kb %d\n",BG, Zc, Kb);
no_punctured_columns=(int)((nrows-2)*Zc+block_length-block_length*(1/((float)nom_rate/(float)denom_rate)))/Zc;
// printf("puncture:%d\n",no_punctured_columns);
removed_bit=(nrows-no_punctured_columns-2) * Zc+block_length-(int)(block_length/((float)nom_rate/(float)denom_rate));
......@@ -160,28 +160,25 @@ int test_ldpc(short No_iteration,
//// encoder
start_meas(&time);
if (BG==1)
ldpc_encoder(test_input, channel_input,block_length,nom_rate,denom_rate);
else
//if (BG==1)
//ldpc_encoder(test_input, channel_input,block_length,nom_rate,denom_rate);
//else
ldpc_encoder_orig(test_input, channel_input,block_length,nom_rate,denom_rate,0);
stop_meas(&time);
start_meas(&time_optim);
if (BG==1) {
ldpc_encoder_optim(test_input, channel_input_optim,block_length,nom_rate,denom_rate,&tinput,&tprep,&tparity,&toutput);
}
ldpc_encoder_optim(test_input,channel_input_optim,block_length,nom_rate,denom_rate,&tinput,&tprep,&tparity,&toutput);
stop_meas(&time_optim);
if (ntrials==1)
for (i = 0; i < block_length+(nrows-no_punctured_columns) * Zc - removed_bit; i++)
if (channel_input[i]!=channel_input_optim[i]) printf("differ in pos %d (%d,%d)\n",i,
channel_input[i],
channel_input_optim[i]);
//print_meas_now(&time, "", stdout);
//for (i=0;i<25344;i++)
// for (i=0;i<6400;i++)
//printf("channel_input[%d]=%d\n",i,channel_input[i]);
//printf("%d ",channel_input[i]);
if ((BG==2) && (Zc==128||Zc==256))
......@@ -253,7 +250,7 @@ int test_ldpc(short No_iteration,
int main(int argc, char *argv[])
{
unsigned int errors,crc_misses;
short block_length=22*384; // decoder supports length: 1201 -> 1280, 2401 -> 2560
short block_length=576; // decoder supports length: 1201 -> 1280, 2401 -> 2560
short No_iteration=25;
//double rate=0.333;
int nom_rate=1;
......@@ -262,7 +259,9 @@ int main(int argc, char *argv[])
unsigned char qbits=4;
unsigned int decoded_errors[100]; // initiate the size of matrix equivalent to size of SNR
int c,i=0;
int n_trials = 1;
randominit(0);
while ((c = getopt (argc, argv, "q:r:s:l:n:")) != -1)
......
#include "PHY/sse_intrin.h"
// generated code for Zc=104, byte encoding
static inline void ldpc_BG2_Zc104_byte(uint8_t *c,uint8_t *d) {
__m64 *csimd=(__m64 *)c,*dsimd=(__m64 *)d;
__m64 *c2,*d2;
int i2;
for (i2=0; i2<13; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm_xor_si64(c2[1564],_mm_xor_si64(c2[262],_mm_xor_si64(c2[1302],_mm_xor_si64(c2[548],_mm_xor_si64(c2[553],_mm_xor_si64(c2[810],_mm_xor_si64(c2[1880],_mm_xor_si64(c2[1877],_mm_xor_si64(c2[1125],_mm_xor_si64(c2[601],_mm_xor_si64(c2[1643],_mm_xor_si64(c2[624],_mm_xor_si64(c2[1673],_mm_xor_si64(c2[366],_mm_xor_si64(c2[1442],_mm_xor_si64(c2[1690],_mm_xor_si64(c2[947],_mm_xor_si64(c2[166],_mm_xor_si64(c2[688],_mm_xor_si64(c2[184],_mm_xor_si64(c2[702],_mm_xor_si64(c2[1509],_mm_xor_si64(c2[991],_mm_xor_si64(c2[1778],_mm_xor_si64(c2[1275],_mm_xor_si64(c2[1023],c2[2060]))))))))))))))))))))))))));
//row: 1
d2[13]=_mm_xor_si64(c2[1824],_mm_xor_si64(c2[1564],_mm_xor_si64(c2[262],_mm_xor_si64(c2[1302],_mm_xor_si64(c2[808],_mm_xor_si64(c2[548],_mm_xor_si64(c2[553],_mm_xor_si64(c2[810],_mm_xor_si64(c2[61],_mm_xor_si64(c2[1880],_mm_xor_si64(c2[1877],_mm_xor_si64(c2[1385],_mm_xor_si64(c2[1125],_mm_xor_si64(c2[601],_mm_xor_si64(c2[1643],_mm_xor_si64(c2[624],_mm_xor_si64(c2[1673],_mm_xor_si64(c2[366],_mm_xor_si64(c2[1442],_mm_xor_si64(c2[1690],_mm_xor_si64(c2[1207],_mm_xor_si64(c2[947],_mm_xor_si64(c2[166],_mm_xor_si64(c2[688],_mm_xor_si64(c2[184],_mm_xor_si64(c2[702],_mm_xor_si64(c2[1509],_mm_xor_si64(c2[991],_mm_xor_si64(c2[1778],_mm_xor_si64(c2[1535],_mm_xor_si64(c2[1275],_mm_xor_si64(c2[1023],c2[2060]))))))))))))))))))))))))))))))));
//row: 2
d2[26]=_mm_xor_si64(c2[1824],_mm_xor_si64(c2[1564],_mm_xor_si64(c2[522],_mm_xor_si64(c2[262],_mm_xor_si64(c2[1302],_mm_xor_si64(c2[808],_mm_xor_si64(c2[548],_mm_xor_si64(c2[553],_mm_xor_si64(c2[810],_mm_xor_si64(c2[61],_mm_xor_si64(c2[1880],_mm_xor_si64(c2[1877],_mm_xor_si64(c2[1385],_mm_xor_si64(c2[1125],_mm_xor_si64(c2[861],_mm_xor_si64(c2[601],_mm_xor_si64(c2[1643],_mm_xor_si64(c2[884],_mm_xor_si64(c2[624],_mm_xor_si64(c2[1673],_mm_xor_si64(c2[366],_mm_xor_si64(c2[1702],_mm_xor_si64(c2[1442],_mm_xor_si64(c2[1690],_mm_xor_si64(c2[1207],_mm_xor_si64(c2[947],_mm_xor_si64(c2[426],_mm_xor_si64(c2[166],_mm_xor_si64(c2[688],_mm_xor_si64(c2[444],_mm_xor_si64(c2[184],_mm_xor_si64(c2[702],_mm_xor_si64(c2[1769],_mm_xor_si64(c2[1509],_mm_xor_si64(c2[991],_mm_xor_si64(c2[1778],_mm_xor_si64(c2[1535],_mm_xor_si64(c2[1275],_mm_xor_si64(c2[1283],_mm_xor_si64(c2[1023],c2[2060]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[39]=_mm_xor_si64(c2[1564],_mm_xor_si64(c2[262],_mm_xor_si64(c2[1302],_mm_xor_si64(c2[548],_mm_xor_si64(c2[553],_mm_xor_si64(c2[1070],_mm_xor_si64(c2[810],_mm_xor_si64(c2[1880],_mm_xor_si64(c2[58],_mm_xor_si64(c2[1877],_mm_xor_si64(c2[1125],_mm_xor_si64(c2[601],_mm_xor_si64(c2[1643],_mm_xor_si64(c2[624],_mm_xor_si64(c2[1673],_mm_xor_si64(c2[626],_mm_xor_si64(c2[366],_mm_xor_si64(c2[1442],_mm_xor_si64(c2[1950],_mm_xor_si64(c2[1690],_mm_xor_si64(c2[947],_mm_xor_si64(c2[166],_mm_xor_si64(c2[948],_mm_xor_si64(c2[688],_mm_xor_si64(c2[184],_mm_xor_si64(c2[962],_mm_xor_si64(c2[702],_mm_xor_si64(c2[1509],_mm_xor_si64(c2[991],_mm_xor_si64(c2[2038],_mm_xor_si64(c2[1778],_mm_xor_si64(c2[1275],_mm_xor_si64(c2[1023],_mm_xor_si64(c2[241],c2[2060]))))))))))))))))))))))))))))))))));
//row: 4
d2[52]=_mm_xor_si64(c2[1046],_mm_xor_si64(c2[786],_mm_xor_si64(c2[1563],_mm_xor_si64(c2[524],_mm_xor_si64(c2[785],_mm_xor_si64(c2[30],_mm_xor_si64(c2[1849],_mm_xor_si64(c2[1854],_mm_xor_si64(c2[32],_mm_xor_si64(c2[809],_mm_xor_si64(c2[1362],_mm_xor_si64(c2[1102],_mm_xor_si64(c2[1099],_mm_xor_si64(c2[607],_mm_xor_si64(c2[347],_mm_xor_si64(c2[1902],_mm_xor_si64(c2[865],_mm_xor_si64(c2[1925],_mm_xor_si64(c2[895],_mm_xor_si64(c2[1667],_mm_xor_si64(c2[651],_mm_xor_si64(c2[912],_mm_xor_si64(c2[416],_mm_xor_si64(c2[156],_mm_xor_si64(c2[1467],_mm_xor_si64(c2[1976],_mm_xor_si64(c2[1485],_mm_xor_si64(c2[2003],_mm_xor_si64(c2[731],_mm_xor_si64(c2[213],_mm_xor_si64(c2[1000],_mm_xor_si64(c2[757],_mm_xor_si64(c2[497],_mm_xor_si64(c2[245],c2[1282]))))))))))))))))))))))))))))))))));
//row: 5
d2[65]=_mm_xor_si64(c2[1312],_mm_xor_si64(c2[1052],_mm_xor_si64(c2[1829],_mm_xor_si64(c2[790],_mm_xor_si64(c2[4],_mm_xor_si64(c2[296],_mm_xor_si64(c2[36],_mm_xor_si64(c2[28],_mm_xor_si64(c2[298],_mm_xor_si64(c2[292],_mm_xor_si64(c2[1615],_mm_xor_si64(c2[1355],_mm_xor_si64(c2[1352],_mm_xor_si64(c2[860],_mm_xor_si64(c2[600],_mm_xor_si64(c2[89],_mm_xor_si64(c2[1118],_mm_xor_si64(c2[112],_mm_xor_si64(c2[1148],_mm_xor_si64(c2[1933],_mm_xor_si64(c2[917],_mm_xor_si64(c2[1178],_mm_xor_si64(c2[1174],_mm_xor_si64(c2[682],_mm_xor_si64(c2[422],_mm_xor_si64(c2[1720],_mm_xor_si64(c2[163],_mm_xor_si64(c2[1751],_mm_xor_si64(c2[190],_mm_xor_si64(c2[1225],_mm_xor_si64(c2[997],_mm_xor_si64(c2[479],_mm_xor_si64(c2[1253],_mm_xor_si64(c2[1023],_mm_xor_si64(c2[763],_mm_xor_si64(c2[498],c2[1535]))))))))))))))))))))))))))))))))))));
//row: 6
d2[78]=_mm_xor_si64(c2[786],_mm_xor_si64(c2[526],_mm_xor_si64(c2[1303],_mm_xor_si64(c2[264],_mm_xor_si64(c2[1820],_mm_xor_si64(c2[1849],_mm_xor_si64(c2[1589],_mm_xor_si64(c2[1594],_mm_xor_si64(c2[1851],_mm_xor_si64(c2[1102],_mm_xor_si64(c2[842],_mm_xor_si64(c2[839],_mm_xor_si64(c2[347],_mm_xor_si64(c2[87],_mm_xor_si64(c2[1642],_mm_xor_si64(c2[605],_mm_xor_si64(c2[1665],_mm_xor_si64(c2[635],_mm_xor_si64(c2[1407],_mm_xor_si64(c2[391],_mm_xor_si64(c2[652],_mm_xor_si64(c2[654],_mm_xor_si64(c2[156],_mm_xor_si64(c2[1988],_mm_xor_si64(c2[1207],_mm_xor_si64(c2[1716],_mm_xor_si64(c2[1225],_mm_xor_si64(c2[1743],_mm_xor_si64(c2[1753],_mm_xor_si64(c2[471],_mm_xor_si64(c2[2032],_mm_xor_si64(c2[740],_mm_xor_si64(c2[497],_mm_xor_si64(c2[237],_mm_xor_si64(c2[2064],_mm_xor_si64(c2[1022],c2[242]))))))))))))))))))))))))))))))))))));
//row: 7
d2[91]=_mm_xor_si64(c2[525],_mm_xor_si64(c2[265],_mm_xor_si64(c2[12],_mm_xor_si64(c2[1042],_mm_xor_si64(c2[789],_mm_xor_si64(c2[3],_mm_xor_si64(c2[1829],_mm_xor_si64(c2[1588],_mm_xor_si64(c2[1328],_mm_xor_si64(c2[1075],_mm_xor_si64(c2[1333],_mm_xor_si64(c2[1067],_mm_xor_si64(c2[1590],_mm_xor_si64(c2[1597],_mm_xor_si64(c2[1337],_mm_xor_si64(c2[813],_mm_xor_si64(c2[841],_mm_xor_si64(c2[581],_mm_xor_si64(c2[315],_mm_xor_si64(c2[578],_mm_xor_si64(c2[572],_mm_xor_si64(c2[312],_mm_xor_si64(c2[86],_mm_xor_si64(c2[1905],_mm_xor_si64(c2[1639],_mm_xor_si64(c2[1381],_mm_xor_si64(c2[1128],_mm_xor_si64(c2[344],_mm_xor_si64(c2[78],_mm_xor_si64(c2[1404],_mm_xor_si64(c2[1151],_mm_xor_si64(c2[374],_mm_xor_si64(c2[108],_mm_xor_si64(c2[1146],_mm_xor_si64(c2[1153],_mm_xor_si64(c2[893],_mm_xor_si64(c2[130],_mm_xor_si64(c2[1956],_mm_xor_si64(c2[391],_mm_xor_si64(c2[398],_mm_xor_si64(c2[138],_mm_xor_si64(c2[1699],_mm_xor_si64(c2[1987],_mm_xor_si64(c2[1727],_mm_xor_si64(c2[1461],_mm_xor_si64(c2[946],_mm_xor_si64(c2[680],_mm_xor_si64(c2[1468],_mm_xor_si64(c2[1462],_mm_xor_si64(c2[1202],_mm_xor_si64(c2[964],_mm_xor_si64(c2[711],_mm_xor_si64(c2[1482],_mm_xor_si64(c2[1489],_mm_xor_si64(c2[1229],_mm_xor_si64(c2[2006],_mm_xor_si64(c2[210],_mm_xor_si64(c2[2036],_mm_xor_si64(c2[1771],_mm_xor_si64(c2[1518],_mm_xor_si64(c2[479],_mm_xor_si64(c2[473],_mm_xor_si64(c2[213],_mm_xor_si64(c2[236],_mm_xor_si64(c2[2055],_mm_xor_si64(c2[1802],_mm_xor_si64(c2[1803],_mm_xor_si64(c2[1537],_mm_xor_si64(c2[761],_mm_xor_si64(c2[755],c2[495]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[104]=_mm_xor_si64(c2[1307],_mm_xor_si64(c2[1047],_mm_xor_si64(c2[5],_mm_xor_si64(c2[1824],_mm_xor_si64(c2[785],_mm_xor_si64(c2[1312],_mm_xor_si64(c2[291],_mm_xor_si64(c2[31],_mm_xor_si64(c2[36],_mm_xor_si64(c2[293],_mm_xor_si64(c2[295],_mm_xor_si64(c2[1623],_mm_xor_si64(c2[1363],_mm_xor_si64(c2[1360],_mm_xor_si64(c2[868],_mm_xor_si64(c2[608],_mm_xor_si64(c2[344],_mm_xor_si64(c2[84],_mm_xor_si64(c2[1126],_mm_xor_si64(c2[367],_mm_xor_si64(c2[107],_mm_xor_si64(c2[1156],_mm_xor_si64(c2[1928],_mm_xor_si64(c2[1172],_mm_xor_si64(c2[912],_mm_xor_si64(c2[1173],_mm_xor_si64(c2[677],_mm_xor_si64(c2[417],_mm_xor_si64(c2[1988],_mm_xor_si64(c2[1728],_mm_xor_si64(c2[158],_mm_xor_si64(c2[2006],_mm_xor_si64(c2[1746],_mm_xor_si64(c2[185],_mm_xor_si64(c2[1252],_mm_xor_si64(c2[992],_mm_xor_si64(c2[474],_mm_xor_si64(c2[1248],_mm_xor_si64(c2[1018],_mm_xor_si64(c2[758],_mm_xor_si64(c2[766],_mm_xor_si64(c2[506],c2[1543]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[117]=_mm_xor_si64(c2[784],_mm_xor_si64(c2[2],_mm_xor_si64(c2[1821],_mm_xor_si64(c2[1561],_mm_xor_si64(c2[532],_mm_xor_si64(c2[522],_mm_xor_si64(c2[1572],_mm_xor_si64(c2[1847],_mm_xor_si64(c2[1078],_mm_xor_si64(c2[818],_mm_xor_si64(c2[1852],_mm_xor_si64(c2[810],_mm_xor_si64(c2[30],_mm_xor_si64(c2[1067],_mm_xor_si64(c2[556],_mm_xor_si64(c2[1100],_mm_xor_si64(c2[318],_mm_xor_si64(c2[58],_mm_xor_si64(c2[1097],_mm_xor_si64(c2[55],_mm_xor_si64(c2[345],_mm_xor_si64(c2[1642],_mm_xor_si64(c2[1382],_mm_xor_si64(c2[1900],_mm_xor_si64(c2[858],_mm_xor_si64(c2[863],_mm_xor_si64(c2[1900],_mm_xor_si64(c2[1936],_mm_xor_si64(c2[894],_mm_xor_si64(c2[893],_mm_xor_si64(c2[1930],_mm_xor_si64(c2[1665],_mm_xor_si64(c2[636],_mm_xor_si64(c2[662],_mm_xor_si64(c2[1699],_mm_xor_si64(c2[910],_mm_xor_si64(c2[1960],_mm_xor_si64(c2[167],_mm_xor_si64(c2[1464],_mm_xor_si64(c2[1204],_mm_xor_si64(c2[1465],_mm_xor_si64(c2[423],_mm_xor_si64(c2[1987],_mm_xor_si64(c2[945],_mm_xor_si64(c2[1483],_mm_xor_si64(c2[454],_mm_xor_si64(c2[2014],_mm_xor_si64(c2[972],_mm_xor_si64(c2[729],_mm_xor_si64(c2[1779],_mm_xor_si64(c2[211],_mm_xor_si64(c2[1248],_mm_xor_si64(c2[998],_mm_xor_si64(c2[2035],_mm_xor_si64(c2[991],_mm_xor_si64(c2[495],_mm_xor_si64(c2[1805],_mm_xor_si64(c2[1545],_mm_xor_si64(c2[243],_mm_xor_si64(c2[1280],_mm_xor_si64(c2[1280],c2[238])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[130]=_mm_xor_si64(c2[1302],_mm_xor_si64(c2[1073],_mm_xor_si64(c2[425],c2[968])));
//row: 11
d2[143]=_mm_xor_si64(c2[1565],_mm_xor_si64(c2[263],_mm_xor_si64(c2[1303],_mm_xor_si64(c2[1824],_mm_xor_si64(c2[549],_mm_xor_si64(c2[554],_mm_xor_si64(c2[1071],_mm_xor_si64(c2[811],_mm_xor_si64(c2[1881],_mm_xor_si64(c2[59],_mm_xor_si64(c2[1878],_mm_xor_si64(c2[1126],_mm_xor_si64(c2[602],_mm_xor_si64(c2[1644],_mm_xor_si64(c2[625],_mm_xor_si64(c2[1674],_mm_xor_si64(c2[627],_mm_xor_si64(c2[367],_mm_xor_si64(c2[1430],_mm_xor_si64(c2[1951],_mm_xor_si64(c2[1691],_mm_xor_si64(c2[948],_mm_xor_si64(c2[167],_mm_xor_si64(c2[936],_mm_xor_si64(c2[676],_mm_xor_si64(c2[185],_mm_xor_si64(c2[963],_mm_xor_si64(c2[703],_mm_xor_si64(c2[1485],_mm_xor_si64(c2[1510],_mm_xor_si64(c2[992],_mm_xor_si64(c2[2039],_mm_xor_si64(c2[1779],_mm_xor_si64(c2[1276],_mm_xor_si64(c2[1024],_mm_xor_si64(c2[242],_mm_xor_si64(c2[2061],c2[1018])))))))))))))))))))))))))))))))))))));
//row: 12
d2[156]=_mm_xor_si64(c2[11],_mm_xor_si64(c2[1830],_mm_xor_si64(c2[528],_mm_xor_si64(c2[1568],_mm_xor_si64(c2[1074],_mm_xor_si64(c2[814],_mm_xor_si64(c2[806],_mm_xor_si64(c2[1076],_mm_xor_si64(c2[548],_mm_xor_si64(c2[314],_mm_xor_si64(c2[54],_mm_xor_si64(c2[64],_mm_xor_si64(c2[1638],_mm_xor_si64(c2[1378],_mm_xor_si64(c2[867],_mm_xor_si64(c2[1909],_mm_xor_si64(c2[864],_mm_xor_si64(c2[890],_mm_xor_si64(c2[1926],_mm_xor_si64(c2[632],_mm_xor_si64(c2[1695],_mm_xor_si64(c2[1956],_mm_xor_si64(c2[1460],_mm_xor_si64(c2[1200],_mm_xor_si64(c2[419],_mm_xor_si64(c2[941],_mm_xor_si64(c2[450],_mm_xor_si64(c2[968],_mm_xor_si64(c2[1775],_mm_xor_si64(c2[1257],_mm_xor_si64(c2[2031],_mm_xor_si64(c2[1801],_mm_xor_si64(c2[1541],_mm_xor_si64(c2[1276],c2[234]))))))))))))))))))))))))))))))))));
//row: 13
d2[169]=_mm_xor_si64(c2[2],_mm_xor_si64(c2[792],_mm_xor_si64(c2[1832],_mm_xor_si64(c2[4],_mm_xor_si64(c2[1078],_mm_xor_si64(c2[1070],_mm_xor_si64(c2[1587],_mm_xor_si64(c2[1327],_mm_xor_si64(c2[1332],_mm_xor_si64(c2[318],_mm_xor_si64(c2[575],_mm_xor_si64(c2[315],_mm_xor_si64(c2[1642],_mm_xor_si64(c2[1118],_mm_xor_si64(c2[81],_mm_xor_si64(c2[1154],_mm_xor_si64(c2[111],_mm_xor_si64(c2[1156],_mm_xor_si64(c2[896],_mm_xor_si64(c2[1959],_mm_xor_si64(c2[401],_mm_xor_si64(c2[141],_mm_xor_si64(c2[1464],_mm_xor_si64(c2[683],_mm_xor_si64(c2[1465],_mm_xor_si64(c2[1205],_mm_xor_si64(c2[714],_mm_xor_si64(c2[1492],_mm_xor_si64(c2[1232],_mm_xor_si64(c2[2039],_mm_xor_si64(c2[1508],_mm_xor_si64(c2[476],_mm_xor_si64(c2[216],_mm_xor_si64(c2[2039],_mm_xor_si64(c2[1805],_mm_xor_si64(c2[1540],_mm_xor_si64(c2[758],c2[498])))))))))))))))))))))))))))))))))))));
//row: 14
d2[182]=_mm_xor_si64(c2[791],_mm_xor_si64(c2[531],_mm_xor_si64(c2[785],_mm_xor_si64(c2[1308],_mm_xor_si64(c2[1562],_mm_xor_si64(c2[269],_mm_xor_si64(c2[523],_mm_xor_si64(c2[1854],_mm_xor_si64(c2[1594],_mm_xor_si64(c2[1848],_mm_xor_si64(c2[1586],_mm_xor_si64(c2[1853],_mm_xor_si64(c2[1856],_mm_xor_si64(c2[291],_mm_xor_si64(c2[31],_mm_xor_si64(c2[817],_mm_xor_si64(c2[1094],_mm_xor_si64(c2[834],_mm_xor_si64(c2[1101],_mm_xor_si64(c2[844],_mm_xor_si64(c2[1358],_mm_xor_si64(c2[1098],_mm_xor_si64(c2[339],_mm_xor_si64(c2[79],_mm_xor_si64(c2[346],_mm_xor_si64(c2[1647],_mm_xor_si64(c2[1901],_mm_xor_si64(c2[610],_mm_xor_si64(c2[864],_mm_xor_si64(c2[1670],_mm_xor_si64(c2[1924],_mm_xor_si64(c2[627],_mm_xor_si64(c2[894],_mm_xor_si64(c2[1412],_mm_xor_si64(c2[1926],_mm_xor_si64(c2[1666],_mm_xor_si64(c2[396],_mm_xor_si64(c2[650],_mm_xor_si64(c2[657],_mm_xor_si64(c2[1171],_mm_xor_si64(c2[911],_mm_xor_si64(c2[161],_mm_xor_si64(c2[1980],_mm_xor_si64(c2[168],_mm_xor_si64(c2[1199],_mm_xor_si64(c2[1466],_mm_xor_si64(c2[1721],_mm_xor_si64(c2[156],_mm_xor_si64(c2[1988],_mm_xor_si64(c2[1198],_mm_xor_si64(c2[1230],_mm_xor_si64(c2[1484],_mm_xor_si64(c2[1748],_mm_xor_si64(c2[183],_mm_xor_si64(c2[2002],_mm_xor_si64(c2[476],_mm_xor_si64(c2[730],_mm_xor_si64(c2[2037],_mm_xor_si64(c2[212],_mm_xor_si64(c2[732],_mm_xor_si64(c2[1259],_mm_xor_si64(c2[999],_mm_xor_si64(c2[502],_mm_xor_si64(c2[242],_mm_xor_si64(c2[496],_mm_xor_si64(c2[2056],_mm_xor_si64(c2[244],_mm_xor_si64(c2[1014],_mm_xor_si64(c2[1541],c2[1281])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[195]=_mm_xor_si64(c2[525],_mm_xor_si64(c2[1304],_mm_xor_si64(c2[1044],_mm_xor_si64(c2[1302],_mm_xor_si64(c2[1821],_mm_xor_si64(c2[263],_mm_xor_si64(c2[782],_mm_xor_si64(c2[1568],_mm_xor_si64(c2[1588],_mm_xor_si64(c2[288],_mm_xor_si64(c2[28],_mm_xor_si64(c2[1593],_mm_xor_si64(c2[33],_mm_xor_si64(c2[1850],_mm_xor_si64(c2[290],_mm_xor_si64(c2[841],_mm_xor_si64(c2[1620],_mm_xor_si64(c2[1360],_mm_xor_si64(c2[838],_mm_xor_si64(c2[1357],_mm_xor_si64(c2[86],_mm_xor_si64(c2[865],_mm_xor_si64(c2[605],_mm_xor_si64(c2[1641],_mm_xor_si64(c2[81],_mm_xor_si64(c2[604],_mm_xor_si64(c2[1123],_mm_xor_si64(c2[1664],_mm_xor_si64(c2[104],_mm_xor_si64(c2[634],_mm_xor_si64(c2[1153],_mm_xor_si64(c2[1406],_mm_xor_si64(c2[1925],_mm_xor_si64(c2[390],_mm_xor_si64(c2[922],_mm_xor_si64(c2[651],_mm_xor_si64(c2[1170],_mm_xor_si64(c2[1987],_mm_xor_si64(c2[687],_mm_xor_si64(c2[427],_mm_xor_si64(c2[1206],_mm_xor_si64(c2[1725],_mm_xor_si64(c2[1728],_mm_xor_si64(c2[168],_mm_xor_si64(c2[1224],_mm_xor_si64(c2[1743],_mm_xor_si64(c2[1742],_mm_xor_si64(c2[182],_mm_xor_si64(c2[470],_mm_xor_si64(c2[989],_mm_xor_si64(c2[2031],_mm_xor_si64(c2[471],_mm_xor_si64(c2[739],_mm_xor_si64(c2[1258],_mm_xor_si64(c2[236],_mm_xor_si64(c2[1015],_mm_xor_si64(c2[755],_mm_xor_si64(c2[2063],_mm_xor_si64(c2[503],_mm_xor_si64(c2[1021],c2[1540]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[208]=_mm_xor_si64(c2[1311],_mm_xor_si64(c2[1051],_mm_xor_si64(c2[1820],_mm_xor_si64(c2[1560],_mm_xor_si64(c2[1828],_mm_xor_si64(c2[531],_mm_xor_si64(c2[271],_mm_xor_si64(c2[789],_mm_xor_si64(c2[1311],_mm_xor_si64(c2[295],_mm_xor_si64(c2[35],_mm_xor_si64(c2[817],_mm_xor_si64(c2[557],_mm_xor_si64(c2[27],_mm_xor_si64(c2[549],_mm_xor_si64(c2[297],_mm_xor_si64(c2[806],_mm_xor_si64(c2[1328],_mm_xor_si64(c2[1614],_mm_xor_si64(c2[1354],_mm_xor_si64(c2[57],_mm_xor_si64(c2[1876],_mm_xor_si64(c2[1364],_mm_xor_si64(c2[1873],_mm_xor_si64(c2[859],_mm_xor_si64(c2[599],_mm_xor_si64(c2[1381],_mm_xor_si64(c2[1121],_mm_xor_si64(c2[88],_mm_xor_si64(c2[870],_mm_xor_si64(c2[610],_mm_xor_si64(c2[1130],_mm_xor_si64(c2[1639],_mm_xor_si64(c2[111],_mm_xor_si64(c2[893],_mm_xor_si64(c2[633],_mm_xor_si64(c2[1147],_mm_xor_si64(c2[1669],_mm_xor_si64(c2[1932],_mm_xor_si64(c2[375],_mm_xor_si64(c2[916],_mm_xor_si64(c2[1698],_mm_xor_si64(c2[1438],_mm_xor_si64(c2[1177],_mm_xor_si64(c2[1699],_mm_xor_si64(c2[681],_mm_xor_si64(c2[421],_mm_xor_si64(c2[1203],_mm_xor_si64(c2[943],_mm_xor_si64(c2[1719],_mm_xor_si64(c2[422],_mm_xor_si64(c2[162],_mm_xor_si64(c2[162],_mm_xor_si64(c2[684],_mm_xor_si64(c2[1750],_mm_xor_si64(c2[453],_mm_xor_si64(c2[193],_mm_xor_si64(c2[189],_mm_xor_si64(c2[711],_mm_xor_si64(c2[996],_mm_xor_si64(c2[1778],_mm_xor_si64(c2[1518],_mm_xor_si64(c2[478],_mm_xor_si64(c2[1000],_mm_xor_si64(c2[1252],_mm_xor_si64(c2[1774],_mm_xor_si64(c2[1022],_mm_xor_si64(c2[762],_mm_xor_si64(c2[1544],_mm_xor_si64(c2[1284],_mm_xor_si64(c2[497],_mm_xor_si64(c2[1279],_mm_xor_si64(c2[1019],_mm_xor_si64(c2[1534],_mm_xor_si64(c2[2056],c2[2057])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[221]=_mm_xor_si64(c2[1309],_mm_xor_si64(c2[1049],_mm_xor_si64(c2[529],_mm_xor_si64(c2[269],_mm_xor_si64(c2[1826],_mm_xor_si64(c2[1306],_mm_xor_si64(c2[1046],_mm_xor_si64(c2[787],_mm_xor_si64(c2[7],_mm_xor_si64(c2[293],_mm_xor_si64(c2[33],_mm_xor_si64(c2[1592],_mm_xor_si64(c2[1332],_mm_xor_si64(c2[38],_mm_xor_si64(c2[1337],_mm_xor_si64(c2[295],_mm_xor_si64(c2[1594],_mm_xor_si64(c2[293],_mm_xor_si64(c2[1612],_mm_xor_si64(c2[1352],_mm_xor_si64(c2[832],_mm_xor_si64(c2[572],_mm_xor_si64(c2[1362],_mm_xor_si64(c2[582],_mm_xor_si64(c2[870],_mm_xor_si64(c2[610],_mm_xor_si64(c2[90],_mm_xor_si64(c2[1909],_mm_xor_si64(c2[86],_mm_xor_si64(c2[1645],_mm_xor_si64(c2[1385],_mm_xor_si64(c2[1128],_mm_xor_si64(c2[348],_mm_xor_si64(c2[109],_mm_xor_si64(c2[1668],_mm_xor_si64(c2[1408],_mm_xor_si64(c2[1145],_mm_xor_si64(c2[365],_mm_xor_si64(c2[1930],_mm_xor_si64(c2[1150],_mm_xor_si64(c2[914],_mm_xor_si64(c2[394],_mm_xor_si64(c2[134],_mm_xor_si64(c2[1175],_mm_xor_si64(c2[395],_mm_xor_si64(c2[402],_mm_xor_si64(c2[679],_mm_xor_si64(c2[419],_mm_xor_si64(c2[1978],_mm_xor_si64(c2[1718],_mm_xor_si64(c2[1717],_mm_xor_si64(c2[1197],_mm_xor_si64(c2[937],_mm_xor_si64(c2[160],_mm_xor_si64(c2[1459],_mm_xor_si64(c2[1748],_mm_xor_si64(c2[1228],_mm_xor_si64(c2[968],_mm_xor_si64(c2[187],_mm_xor_si64(c2[1486],_mm_xor_si64(c2[994],_mm_xor_si64(c2[474],_mm_xor_si64(c2[214],_mm_xor_si64(c2[476],_mm_xor_si64(c2[1775],_mm_xor_si64(c2[1250],_mm_xor_si64(c2[470],_mm_xor_si64(c2[1020],_mm_xor_si64(c2[760],_mm_xor_si64(c2[240],_mm_xor_si64(c2[2059],_mm_xor_si64(c2[495],_mm_xor_si64(c2[2054],_mm_xor_si64(c2[1794],_mm_xor_si64(c2[1545],c2[765])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[234]=_mm_xor_si64(c2[263],_mm_xor_si64(c2[948],c2[1226]));
//row: 19
d2[247]=_mm_xor_si64(c2[531],_mm_xor_si64(c2[1308],_mm_xor_si64(c2[269],_mm_xor_si64(c2[1560],_mm_xor_si64(c2[1594],_mm_xor_si64(c2[1586],_mm_xor_si64(c2[1856],_mm_xor_si64(c2[1068],_mm_xor_si64(c2[834],_mm_xor_si64(c2[844],_mm_xor_si64(c2[79],_mm_xor_si64(c2[1647],_mm_xor_si64(c2[610],_mm_xor_si64(c2[1670],_mm_xor_si64(c2[627],_mm_xor_si64(c2[1412],_mm_xor_si64(c2[396],_mm_xor_si64(c2[657],_mm_xor_si64(c2[1980],_mm_xor_si64(c2[1199],_mm_xor_si64(c2[1721],_mm_xor_si64(c2[1230],_mm_xor_si64(c2[1748],_mm_xor_si64(c2[476],_mm_xor_si64(c2[2037],_mm_xor_si64(c2[732],_mm_xor_si64(c2[242],_mm_xor_si64(c2[2056],c2[1014]))))))))))))))))))))))))))));
//row: 20
d2[260]=_mm_xor_si64(c2[266],_mm_xor_si64(c2[6],_mm_xor_si64(c2[783],_mm_xor_si64(c2[1823],_mm_xor_si64(c2[1329],_mm_xor_si64(c2[1069],_mm_xor_si64(c2[1074],_mm_xor_si64(c2[1331],_mm_xor_si64(c2[1077],_mm_xor_si64(c2[582],_mm_xor_si64(c2[322],_mm_xor_si64(c2[319],_mm_xor_si64(c2[1906],_mm_xor_si64(c2[1646],_mm_xor_si64(c2[1122],_mm_xor_si64(c2[85],_mm_xor_si64(c2[1145],_mm_xor_si64(c2[115],_mm_xor_si64(c2[887],_mm_xor_si64(c2[888],_mm_xor_si64(c2[1950],_mm_xor_si64(c2[132],_mm_xor_si64(c2[1728],_mm_xor_si64(c2[1468],_mm_xor_si64(c2[687],_mm_xor_si64(c2[1196],_mm_xor_si64(c2[705],_mm_xor_si64(c2[1223],_mm_xor_si64(c2[2030],_mm_xor_si64(c2[1512],_mm_xor_si64(c2[220],_mm_xor_si64(c2[2056],_mm_xor_si64(c2[1796],_mm_xor_si64(c2[1544],c2[502]))))))))))))))))))))))))))))))))));
//row: 21
d2[273]=_mm_xor_si64(c2[1307],_mm_xor_si64(c2[5],_mm_xor_si64(c2[1045],_mm_xor_si64(c2[521],_mm_xor_si64(c2[291],_mm_xor_si64(c2[296],_mm_xor_si64(c2[813],_mm_xor_si64(c2[553],_mm_xor_si64(c2[1623],_mm_xor_si64(c2[1880],_mm_xor_si64(c2[1620],_mm_xor_si64(c2[868],_mm_xor_si64(c2[344],_mm_xor_si64(c2[1386],_mm_xor_si64(c2[367],_mm_xor_si64(c2[1416],_mm_xor_si64(c2[369],_mm_xor_si64(c2[109],_mm_xor_si64(c2[1172],_mm_xor_si64(c2[1693],_mm_xor_si64(c2[1433],_mm_xor_si64(c2[677],_mm_xor_si64(c2[1988],_mm_xor_si64(c2[678],_mm_xor_si64(c2[418],_mm_xor_si64(c2[2006],_mm_xor_si64(c2[705],_mm_xor_si64(c2[445],_mm_xor_si64(c2[1252],_mm_xor_si64(c2[734],_mm_xor_si64(c2[1768],_mm_xor_si64(c2[1508],_mm_xor_si64(c2[730],_mm_xor_si64(c2[1018],_mm_xor_si64(c2[766],_mm_xor_si64(c2[2063],c2[1803]))))))))))))))))))))))))))))))))))));
//row: 22
d2[286]=_mm_xor_si64(c2[558],c2[1614]);
//row: 23
d2[299]=_mm_xor_si64(c2[1046],_mm_xor_si64(c2[606],c2[1431]));
//row: 24
d2[312]=_mm_xor_si64(c2[287],_mm_xor_si64(c2[319],c2[245]));
//row: 25
d2[325]=_mm_xor_si64(c2[1311],c2[661]);
//row: 26
d2[338]=_mm_xor_si64(c2[11],_mm_xor_si64(c2[1830],_mm_xor_si64(c2[1831],_mm_xor_si64(c2[788],_mm_xor_si64(c2[528],_mm_xor_si64(c2[529],_mm_xor_si64(c2[1568],_mm_xor_si64(c2[1569],_mm_xor_si64(c2[1074],_mm_xor_si64(c2[814],_mm_xor_si64(c2[815],_mm_xor_si64(c2[806],_mm_xor_si64(c2[807],_mm_xor_si64(c2[1076],_mm_xor_si64(c2[1337],_mm_xor_si64(c2[1077],_mm_xor_si64(c2[314],_mm_xor_si64(c2[54],_mm_xor_si64(c2[55],_mm_xor_si64(c2[64],_mm_xor_si64(c2[312],_mm_xor_si64(c2[52],_mm_xor_si64(c2[1099],_mm_xor_si64(c2[1638],_mm_xor_si64(c2[1378],_mm_xor_si64(c2[1379],_mm_xor_si64(c2[1127],_mm_xor_si64(c2[867],_mm_xor_si64(c2[868],_mm_xor_si64(c2[1909],_mm_xor_si64(c2[1910],_mm_xor_si64(c2[1150],_mm_xor_si64(c2[890],_mm_xor_si64(c2[891],_mm_xor_si64(c2[1926],_mm_xor_si64(c2[1927],_mm_xor_si64(c2[632],_mm_xor_si64(c2[893],_mm_xor_si64(c2[633],_mm_xor_si64(c2[1955],_mm_xor_si64(c2[1695],_mm_xor_si64(c2[1696],_mm_xor_si64(c2[1956],_mm_xor_si64(c2[138],_mm_xor_si64(c2[1957],_mm_xor_si64(c2[1460],_mm_xor_si64(c2[1200],_mm_xor_si64(c2[1201],_mm_xor_si64(c2[679],_mm_xor_si64(c2[419],_mm_xor_si64(c2[420],_mm_xor_si64(c2[941],_mm_xor_si64(c2[1202],_mm_xor_si64(c2[942],_mm_xor_si64(c2[710],_mm_xor_si64(c2[450],_mm_xor_si64(c2[451],_mm_xor_si64(c2[968],_mm_xor_si64(c2[1229],_mm_xor_si64(c2[969],_mm_xor_si64(c2[1230],_mm_xor_si64(c2[2035],_mm_xor_si64(c2[1775],_mm_xor_si64(c2[1776],_mm_xor_si64(c2[1257],_mm_xor_si64(c2[1258],_mm_xor_si64(c2[2031],_mm_xor_si64(c2[213],_mm_xor_si64(c2[2032],_mm_xor_si64(c2[1801],_mm_xor_si64(c2[1541],_mm_xor_si64(c2[1542],_mm_xor_si64(c2[1536],_mm_xor_si64(c2[1276],_mm_xor_si64(c2[1277],_mm_xor_si64(c2[234],_mm_xor_si64(c2[495],c2[235])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[351]=_mm_xor_si64(c2[8],c2[427]);
//row: 28
d2[364]=_mm_xor_si64(c2[1587],_mm_xor_si64(c2[582],c2[1695]));
//row: 29
d2[377]=_mm_xor_si64(c2[526],c2[887]);
//row: 30
d2[390]=_mm_xor_si64(c2[1620],_mm_xor_si64(c2[392],_mm_xor_si64(c2[708],c2[1794])));
//row: 31
d2[403]=_mm_xor_si64(c2[782],_mm_xor_si64(c2[1572],_mm_xor_si64(c2[520],_mm_xor_si64(c2[1858],_mm_xor_si64(c2[1850],_mm_xor_si64(c2[288],_mm_xor_si64(c2[28],_mm_xor_si64(c2[807],_mm_xor_si64(c2[1098],_mm_xor_si64(c2[1355],_mm_xor_si64(c2[1095],_mm_xor_si64(c2[343],_mm_xor_si64(c2[1898],_mm_xor_si64(c2[861],_mm_xor_si64(c2[1934],_mm_xor_si64(c2[891],_mm_xor_si64(c2[1936],_mm_xor_si64(c2[1676],_mm_xor_si64(c2[660],_mm_xor_si64(c2[1181],_mm_xor_si64(c2[921],_mm_xor_si64(c2[165],_mm_xor_si64(c2[1463],_mm_xor_si64(c2[166],_mm_xor_si64(c2[1985],_mm_xor_si64(c2[1494],_mm_xor_si64(c2[193],_mm_xor_si64(c2[2012],_mm_xor_si64(c2[740],_mm_xor_si64(c2[209],_mm_xor_si64(c2[1256],_mm_xor_si64(c2[996],_mm_xor_si64(c2[506],_mm_xor_si64(c2[241],_mm_xor_si64(c2[1538],c2[1278])))))))))))))))))))))))))))))))))));
//row: 32
d2[416]=_mm_xor_si64(c2[532],_mm_xor_si64(c2[272],_mm_xor_si64(c2[1309],_mm_xor_si64(c2[1049],_mm_xor_si64(c2[10],_mm_xor_si64(c2[1560],_mm_xor_si64(c2[1595],_mm_xor_si64(c2[1335],_mm_xor_si64(c2[1327],_mm_xor_si64(c2[1597],_mm_xor_si64(c2[835],_mm_xor_si64(c2[575],_mm_xor_si64(c2[572],_mm_xor_si64(c2[80],_mm_xor_si64(c2[1899],_mm_xor_si64(c2[1648],_mm_xor_si64(c2[1388],_mm_xor_si64(c2[338],_mm_xor_si64(c2[1671],_mm_xor_si64(c2[1411],_mm_xor_si64(c2[368],_mm_xor_si64(c2[1153],_mm_xor_si64(c2[397],_mm_xor_si64(c2[137],_mm_xor_si64(c2[398],_mm_xor_si64(c2[130],_mm_xor_si64(c2[1981],_mm_xor_si64(c2[1721],_mm_xor_si64(c2[1200],_mm_xor_si64(c2[940],_mm_xor_si64(c2[1462],_mm_xor_si64(c2[1231],_mm_xor_si64(c2[971],_mm_xor_si64(c2[1489],_mm_xor_si64(c2[477],_mm_xor_si64(c2[217],_mm_xor_si64(c2[1778],_mm_xor_si64(c2[473],_mm_xor_si64(c2[243],_mm_xor_si64(c2[2062],_mm_xor_si64(c2[2057],_mm_xor_si64(c2[1797],c2[755]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[429]=_mm_xor_si64(c2[261],_mm_xor_si64(c2[1051],_mm_xor_si64(c2[12],_mm_xor_si64(c2[1337],_mm_xor_si64(c2[1329],_mm_xor_si64(c2[1586],_mm_xor_si64(c2[577],_mm_xor_si64(c2[574],_mm_xor_si64(c2[839],_mm_xor_si64(c2[1901],_mm_xor_si64(c2[1390],_mm_xor_si64(c2[340],_mm_xor_si64(c2[1413],_mm_xor_si64(c2[370],_mm_xor_si64(c2[1155],_mm_xor_si64(c2[139],_mm_xor_si64(c2[400],_mm_xor_si64(c2[1723],_mm_xor_si64(c2[942],_mm_xor_si64(c2[1464],_mm_xor_si64(c2[973],_mm_xor_si64(c2[1491],_mm_xor_si64(c2[1490],_mm_xor_si64(c2[219],_mm_xor_si64(c2[1780],_mm_xor_si64(c2[475],_mm_xor_si64(c2[2064],_mm_xor_si64(c2[1799],c2[757]))))))))))))))))))))))))))));
//row: 34
d2[442]=_mm_xor_si64(c2[1562],_mm_xor_si64(c2[1302],_mm_xor_si64(c2[1822],_mm_xor_si64(c2[260],_mm_xor_si64(c2[0],_mm_xor_si64(c2[520],_mm_xor_si64(c2[1040],_mm_xor_si64(c2[1560],_mm_xor_si64(c2[1311],_mm_xor_si64(c2[546],_mm_xor_si64(c2[286],_mm_xor_si64(c2[806],_mm_xor_si64(c2[291],_mm_xor_si64(c2[811],_mm_xor_si64(c2[548],_mm_xor_si64(c2[1328],_mm_xor_si64(c2[1068],_mm_xor_si64(c2[1878],_mm_xor_si64(c2[1618],_mm_xor_si64(c2[59],_mm_xor_si64(c2[1615],_mm_xor_si64(c2[316],_mm_xor_si64(c2[56],_mm_xor_si64(c2[1123],_mm_xor_si64(c2[863],_mm_xor_si64(c2[1383],_mm_xor_si64(c2[599],_mm_xor_si64(c2[339],_mm_xor_si64(c2[859],_mm_xor_si64(c2[1381],_mm_xor_si64(c2[1901],_mm_xor_si64(c2[635],_mm_xor_si64(c2[375],_mm_xor_si64(c2[895],_mm_xor_si64(c2[1411],_mm_xor_si64(c2[1931],_mm_xor_si64(c2[104],_mm_xor_si64(c2[884],_mm_xor_si64(c2[624],_mm_xor_si64(c2[1440],_mm_xor_si64(c2[1180],_mm_xor_si64(c2[1700],_mm_xor_si64(c2[1441],_mm_xor_si64(c2[142],_mm_xor_si64(c2[1961],_mm_xor_si64(c2[945],_mm_xor_si64(c2[685],_mm_xor_si64(c2[1205],_mm_xor_si64(c2[164],_mm_xor_si64(c2[1983],_mm_xor_si64(c2[424],_mm_xor_si64(c2[426],_mm_xor_si64(c2[1206],_mm_xor_si64(c2[946],_mm_xor_si64(c2[182],_mm_xor_si64(c2[2014],_mm_xor_si64(c2[442],_mm_xor_si64(c2[453],_mm_xor_si64(c2[1233],_mm_xor_si64(c2[973],_mm_xor_si64(c2[1520],_mm_xor_si64(c2[1260],_mm_xor_si64(c2[1780],_mm_xor_si64(c2[729],_mm_xor_si64(c2[1249],_mm_xor_si64(c2[1516],_mm_xor_si64(c2[217],_mm_xor_si64(c2[2036],_mm_xor_si64(c2[1286],_mm_xor_si64(c2[1026],_mm_xor_si64(c2[1546],_mm_xor_si64(c2[1021],_mm_xor_si64(c2[761],_mm_xor_si64(c2[1281],_mm_xor_si64(c2[1798],_mm_xor_si64(c2[499],c2[239]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[455]=_mm_xor_si64(c2[1041],_mm_xor_si64(c2[781],_mm_xor_si64(c2[1571],_mm_xor_si64(c2[532],_mm_xor_si64(c2[38],_mm_xor_si64(c2[1857],_mm_xor_si64(c2[1849],_mm_xor_si64(c2[27],_mm_xor_si64(c2[1332],_mm_xor_si64(c2[1357],_mm_xor_si64(c2[1097],_mm_xor_si64(c2[1094],_mm_xor_si64(c2[602],_mm_xor_si64(c2[342],_mm_xor_si64(c2[1910],_mm_xor_si64(c2[860],_mm_xor_si64(c2[1933],_mm_xor_si64(c2[890],_mm_xor_si64(c2[1675],_mm_xor_si64(c2[659],_mm_xor_si64(c2[920],_mm_xor_si64(c2[1957],_mm_xor_si64(c2[424],_mm_xor_si64(c2[164],_mm_xor_si64(c2[1462],_mm_xor_si64(c2[1984],_mm_xor_si64(c2[1493],_mm_xor_si64(c2[2011],_mm_xor_si64(c2[739],_mm_xor_si64(c2[208],_mm_xor_si64(c2[995],_mm_xor_si64(c2[765],_mm_xor_si64(c2[505],_mm_xor_si64(c2[240],c2[1277]))))))))))))))))))))))))))))))))));
//row: 36
d2[468]=_mm_xor_si64(c2[1311],_mm_xor_si64(c2[1879],c2[971]));
//row: 37
d2[481]=_mm_xor_si64(c2[781],_mm_xor_si64(c2[1822],_mm_xor_si64(c2[1571],_mm_xor_si64(c2[520],_mm_xor_si64(c2[532],_mm_xor_si64(c2[1560],_mm_xor_si64(c2[1857],_mm_xor_si64(c2[806],_mm_xor_si64(c2[1849],_mm_xor_si64(c2[811],_mm_xor_si64(c2[27],_mm_xor_si64(c2[1328],_mm_xor_si64(c2[1068],_mm_xor_si64(c2[1097],_mm_xor_si64(c2[59],_mm_xor_si64(c2[1094],_mm_xor_si64(c2[316],_mm_xor_si64(c2[56],_mm_xor_si64(c2[342],_mm_xor_si64(c2[1383],_mm_xor_si64(c2[1910],_mm_xor_si64(c2[859],_mm_xor_si64(c2[860],_mm_xor_si64(c2[1901],_mm_xor_si64(c2[1933],_mm_xor_si64(c2[895],_mm_xor_si64(c2[890],_mm_xor_si64(c2[1931],_mm_xor_si64(c2[1675],_mm_xor_si64(c2[884],_mm_xor_si64(c2[624],_mm_xor_si64(c2[659],_mm_xor_si64(c2[1700],_mm_xor_si64(c2[920],_mm_xor_si64(c2[142],_mm_xor_si64(c2[1961],_mm_xor_si64(c2[164],_mm_xor_si64(c2[1205],_mm_xor_si64(c2[1462],_mm_xor_si64(c2[424],_mm_xor_si64(c2[1984],_mm_xor_si64(c2[1206],_mm_xor_si64(c2[946],_mm_xor_si64(c2[1493],_mm_xor_si64(c2[442],_mm_xor_si64(c2[2011],_mm_xor_si64(c2[1233],_mm_xor_si64(c2[973],_mm_xor_si64(c2[739],_mm_xor_si64(c2[1780],_mm_xor_si64(c2[208],_mm_xor_si64(c2[1249],_mm_xor_si64(c2[995],_mm_xor_si64(c2[217],_mm_xor_si64(c2[2036],_mm_xor_si64(c2[505],_mm_xor_si64(c2[1546],_mm_xor_si64(c2[240],_mm_xor_si64(c2[1281],_mm_xor_si64(c2[1277],_mm_xor_si64(c2[499],c2[239])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[494]=_mm_xor_si64(c2[1562],_mm_xor_si64(c2[1302],_mm_xor_si64(c2[0],_mm_xor_si64(c2[1040],_mm_xor_si64(c2[546],_mm_xor_si64(c2[286],_mm_xor_si64(c2[291],_mm_xor_si64(c2[548],_mm_xor_si64(c2[1332],_mm_xor_si64(c2[1878],_mm_xor_si64(c2[1618],_mm_xor_si64(c2[1615],_mm_xor_si64(c2[1123],_mm_xor_si64(c2[863],_mm_xor_si64(c2[339],_mm_xor_si64(c2[1381],_mm_xor_si64(c2[375],_mm_xor_si64(c2[1411],_mm_xor_si64(c2[104],_mm_xor_si64(c2[1180],_mm_xor_si64(c2[1441],_mm_xor_si64(c2[1438],_mm_xor_si64(c2[945],_mm_xor_si64(c2[685],_mm_xor_si64(c2[1983],_mm_xor_si64(c2[426],_mm_xor_si64(c2[2014],_mm_xor_si64(c2[453],_mm_xor_si64(c2[1260],_mm_xor_si64(c2[729],_mm_xor_si64(c2[1516],_mm_xor_si64(c2[1286],_mm_xor_si64(c2[1026],_mm_xor_si64(c2[761],c2[1798]))))))))))))))))))))))))))))))))));
//row: 39
d2[507]=_mm_xor_si64(c2[1040],_mm_xor_si64(c2[780],_mm_xor_si64(c2[1830],_mm_xor_si64(c2[1570],_mm_xor_si64(c2[531],_mm_xor_si64(c2[1309],_mm_xor_si64(c2[37],_mm_xor_si64(c2[1856],_mm_xor_si64(c2[1848],_mm_xor_si64(c2[26],_mm_xor_si64(c2[1356],_mm_xor_si64(c2[1096],_mm_xor_si64(c2[1093],_mm_xor_si64(c2[601],_mm_xor_si64(c2[341],_mm_xor_si64(c2[90],_mm_xor_si64(c2[1909],_mm_xor_si64(c2[859],_mm_xor_si64(c2[113],_mm_xor_si64(c2[1932],_mm_xor_si64(c2[889],_mm_xor_si64(c2[1674],_mm_xor_si64(c2[918],_mm_xor_si64(c2[658],_mm_xor_si64(c2[919],_mm_xor_si64(c2[423],_mm_xor_si64(c2[163],_mm_xor_si64(c2[1721],_mm_xor_si64(c2[1461],_mm_xor_si64(c2[1983],_mm_xor_si64(c2[1752],_mm_xor_si64(c2[1492],_mm_xor_si64(c2[2010],_mm_xor_si64(c2[1488],_mm_xor_si64(c2[998],_mm_xor_si64(c2[738],_mm_xor_si64(c2[220],_mm_xor_si64(c2[994],_mm_xor_si64(c2[764],_mm_xor_si64(c2[504],_mm_xor_si64(c2[499],_mm_xor_si64(c2[239],c2[1276]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[520]=_mm_xor_si64(c2[272],_mm_xor_si64(c2[261],_mm_xor_si64(c2[1049],_mm_xor_si64(c2[1051],_mm_xor_si64(c2[10],_mm_xor_si64(c2[12],_mm_xor_si64(c2[1335],_mm_xor_si64(c2[1337],_mm_xor_si64(c2[1327],_mm_xor_si64(c2[1329],_mm_xor_si64(c2[1597],_mm_xor_si64(c2[1846],_mm_xor_si64(c2[1586],_mm_xor_si64(c2[575],_mm_xor_si64(c2[577],_mm_xor_si64(c2[572],_mm_xor_si64(c2[834],_mm_xor_si64(c2[574],_mm_xor_si64(c2[323],_mm_xor_si64(c2[1899],_mm_xor_si64(c2[1901],_mm_xor_si64(c2[1388],_mm_xor_si64(c2[1390],_mm_xor_si64(c2[338],_mm_xor_si64(c2[340],_mm_xor_si64(c2[1411],_mm_xor_si64(c2[1413],_mm_xor_si64(c2[368],_mm_xor_si64(c2[370],_mm_xor_si64(c2[1153],_mm_xor_si64(c2[1415],_mm_xor_si64(c2[1155],_mm_xor_si64(c2[137],_mm_xor_si64(c2[139],_mm_xor_si64(c2[398],_mm_xor_si64(c2[660],_mm_xor_si64(c2[400],_mm_xor_si64(c2[1721],_mm_xor_si64(c2[1723],_mm_xor_si64(c2[940],_mm_xor_si64(c2[942],_mm_xor_si64(c2[1462],_mm_xor_si64(c2[1724],_mm_xor_si64(c2[1464],_mm_xor_si64(c2[971],_mm_xor_si64(c2[973],_mm_xor_si64(c2[1489],_mm_xor_si64(c2[1751],_mm_xor_si64(c2[1491],_mm_xor_si64(c2[217],_mm_xor_si64(c2[219],_mm_xor_si64(c2[1778],_mm_xor_si64(c2[1780],_mm_xor_si64(c2[473],_mm_xor_si64(c2[735],_mm_xor_si64(c2[475],_mm_xor_si64(c2[2062],_mm_xor_si64(c2[2064],_mm_xor_si64(c2[1797],_mm_xor_si64(c2[1799],_mm_xor_si64(c2[755],_mm_xor_si64(c2[1017],c2[757]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[533]=_mm_xor_si64(c2[1572],_mm_xor_si64(c2[1312],_mm_xor_si64(c2[10],_mm_xor_si64(c2[1050],_mm_xor_si64(c2[556],_mm_xor_si64(c2[296],_mm_xor_si64(c2[288],_mm_xor_si64(c2[558],_mm_xor_si64(c2[1856],_mm_xor_si64(c2[1875],_mm_xor_si64(c2[1615],_mm_xor_si64(c2[1612],_mm_xor_si64(c2[1120],_mm_xor_si64(c2[860],_mm_xor_si64(c2[349],_mm_xor_si64(c2[1378],_mm_xor_si64(c2[372],_mm_xor_si64(c2[1408],_mm_xor_si64(c2[114],_mm_xor_si64(c2[1177],_mm_xor_si64(c2[1438],_mm_xor_si64(c2[1441],_mm_xor_si64(c2[942],_mm_xor_si64(c2[682],_mm_xor_si64(c2[1980],_mm_xor_si64(c2[423],_mm_xor_si64(c2[2011],_mm_xor_si64(c2[450],_mm_xor_si64(c2[1257],_mm_xor_si64(c2[739],_mm_xor_si64(c2[1513],_mm_xor_si64(c2[1283],_mm_xor_si64(c2[1023],_mm_xor_si64(c2[758],c2[1795]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=112, byte encoding
static inline void ldpc_BG2_Zc112_byte(uint8_t *c,uint8_t *d) {
__m128i *csimd=(__m128i *)c,*dsimd=(__m128i *)d;
__m128i *c2,*d2;
int i2;
for (i2=0; i2<7; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm_xor_si128(c2[1124],_mm_xor_si128(c2[703],_mm_xor_si128(c2[1122],_mm_xor_si128(c2[1980],_mm_xor_si128(c2[435],_mm_xor_si128(c2[1278],_mm_xor_si128(c2[1009],_mm_xor_si128(c2[868],_mm_xor_si128(c2[746],_mm_xor_si128(c2[1724],_mm_xor_si128(c2[2004],_mm_xor_si128(c2[476],_mm_xor_si128(c2[2160],_mm_xor_si128(c2[618],_mm_xor_si128(c2[1752],_mm_xor_si128(c2[1750],_mm_xor_si128(c2[2189],_mm_xor_si128(c2[504],_mm_xor_si128(c2[1764],_mm_xor_si128(c2[1223],_mm_xor_si128(c2[2064],_mm_xor_si128(c2[1933],_mm_xor_si128(c2[1657],_mm_xor_si128(c2[1794],_mm_xor_si128(c2[1246],_mm_xor_si128(c2[2227],c2[827]))))))))))))))))))))))))));
//row: 1
d2[7]=_mm_xor_si128(c2[1124],_mm_xor_si128(c2[1264],_mm_xor_si128(c2[843],_mm_xor_si128(c2[1262],_mm_xor_si128(c2[1980],_mm_xor_si128(c2[2120],_mm_xor_si128(c2[575],_mm_xor_si128(c2[1418],_mm_xor_si128(c2[1009],_mm_xor_si128(c2[1149],_mm_xor_si128(c2[1008],_mm_xor_si128(c2[746],_mm_xor_si128(c2[886],_mm_xor_si128(c2[1864],_mm_xor_si128(c2[2144],_mm_xor_si128(c2[616],_mm_xor_si128(c2[61],_mm_xor_si128(c2[758],_mm_xor_si128(c2[1892],_mm_xor_si128(c2[1890],_mm_xor_si128(c2[2189],_mm_xor_si128(c2[90],_mm_xor_si128(c2[644],_mm_xor_si128(c2[1904],_mm_xor_si128(c2[1363],_mm_xor_si128(c2[2204],_mm_xor_si128(c2[2073],_mm_xor_si128(c2[1797],_mm_xor_si128(c2[1934],_mm_xor_si128(c2[1246],_mm_xor_si128(c2[1386],_mm_xor_si128(c2[128],c2[967]))))))))))))))))))))))))))))))));
//row: 2
d2[14]=_mm_xor_si128(c2[1124],_mm_xor_si128(c2[1264],_mm_xor_si128(c2[703],_mm_xor_si128(c2[843],_mm_xor_si128(c2[1262],_mm_xor_si128(c2[1980],_mm_xor_si128(c2[2120],_mm_xor_si128(c2[575],_mm_xor_si128(c2[1418],_mm_xor_si128(c2[1009],_mm_xor_si128(c2[1149],_mm_xor_si128(c2[1008],_mm_xor_si128(c2[746],_mm_xor_si128(c2[886],_mm_xor_si128(c2[1724],_mm_xor_si128(c2[1864],_mm_xor_si128(c2[2144],_mm_xor_si128(c2[476],_mm_xor_si128(c2[616],_mm_xor_si128(c2[61],_mm_xor_si128(c2[758],_mm_xor_si128(c2[1752],_mm_xor_si128(c2[1892],_mm_xor_si128(c2[1890],_mm_xor_si128(c2[2189],_mm_xor_si128(c2[90],_mm_xor_si128(c2[504],_mm_xor_si128(c2[644],_mm_xor_si128(c2[1904],_mm_xor_si128(c2[1223],_mm_xor_si128(c2[1363],_mm_xor_si128(c2[2204],_mm_xor_si128(c2[1933],_mm_xor_si128(c2[2073],_mm_xor_si128(c2[1797],_mm_xor_si128(c2[1934],_mm_xor_si128(c2[1246],_mm_xor_si128(c2[1386],_mm_xor_si128(c2[2227],_mm_xor_si128(c2[128],c2[967]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[21]=_mm_xor_si128(c2[1264],_mm_xor_si128(c2[843],_mm_xor_si128(c2[1262],_mm_xor_si128(c2[2120],_mm_xor_si128(c2[575],_mm_xor_si128(c2[1278],_mm_xor_si128(c2[1418],_mm_xor_si128(c2[1149],_mm_xor_si128(c2[868],_mm_xor_si128(c2[1008],_mm_xor_si128(c2[886],_mm_xor_si128(c2[1864],_mm_xor_si128(c2[2144],_mm_xor_si128(c2[616],_mm_xor_si128(c2[61],_mm_xor_si128(c2[618],_mm_xor_si128(c2[758],_mm_xor_si128(c2[1892],_mm_xor_si128(c2[1750],_mm_xor_si128(c2[1890],_mm_xor_si128(c2[90],_mm_xor_si128(c2[644],_mm_xor_si128(c2[1764],_mm_xor_si128(c2[1904],_mm_xor_si128(c2[1363],_mm_xor_si128(c2[2064],_mm_xor_si128(c2[2204],_mm_xor_si128(c2[2073],_mm_xor_si128(c2[1797],_mm_xor_si128(c2[1794],_mm_xor_si128(c2[1934],_mm_xor_si128(c2[1386],_mm_xor_si128(c2[128],_mm_xor_si128(c2[827],c2[967]))))))))))))))))))))))))))))))))));
//row: 4
d2[28]=_mm_xor_si128(c2[1823],_mm_xor_si128(c2[1963],_mm_xor_si128(c2[1542],_mm_xor_si128(c2[1961],_mm_xor_si128(c2[1125],_mm_xor_si128(c2[440],_mm_xor_si128(c2[580],_mm_xor_si128(c2[1274],_mm_xor_si128(c2[2117],_mm_xor_si128(c2[15],_mm_xor_si128(c2[1708],_mm_xor_si128(c2[1848],_mm_xor_si128(c2[1714],_mm_xor_si128(c2[1445],_mm_xor_si128(c2[1585],_mm_xor_si128(c2[324],_mm_xor_si128(c2[604],_mm_xor_si128(c2[1322],_mm_xor_si128(c2[760],_mm_xor_si128(c2[1457],_mm_xor_si128(c2[352],_mm_xor_si128(c2[350],_mm_xor_si128(c2[649],_mm_xor_si128(c2[789],_mm_xor_si128(c2[1350],_mm_xor_si128(c2[364],_mm_xor_si128(c2[2062],_mm_xor_si128(c2[664],_mm_xor_si128(c2[533],_mm_xor_si128(c2[257],_mm_xor_si128(c2[394],_mm_xor_si128(c2[1952],_mm_xor_si128(c2[2092],_mm_xor_si128(c2[827],c2[1666]))))))))))))))))))))))))))))))))));
//row: 5
d2[35]=_mm_xor_si128(c2[1262],_mm_xor_si128(c2[1402],_mm_xor_si128(c2[981],_mm_xor_si128(c2[1400],_mm_xor_si128(c2[1264],_mm_xor_si128(c2[2118],_mm_xor_si128(c2[19],_mm_xor_si128(c2[720],_mm_xor_si128(c2[1556],_mm_xor_si128(c2[1415],_mm_xor_si128(c2[1154],_mm_xor_si128(c2[1294],_mm_xor_si128(c2[1153],_mm_xor_si128(c2[884],_mm_xor_si128(c2[1024],_mm_xor_si128(c2[2002],_mm_xor_si128(c2[43],_mm_xor_si128(c2[761],_mm_xor_si128(c2[199],_mm_xor_si128(c2[896],_mm_xor_si128(c2[2030],_mm_xor_si128(c2[2035],_mm_xor_si128(c2[1473],_mm_xor_si128(c2[88],_mm_xor_si128(c2[228],_mm_xor_si128(c2[789],_mm_xor_si128(c2[2049],_mm_xor_si128(c2[1501],_mm_xor_si128(c2[103],_mm_xor_si128(c2[1644],_mm_xor_si128(c2[2218],_mm_xor_si128(c2[1935],_mm_xor_si128(c2[2072],_mm_xor_si128(c2[1391],_mm_xor_si128(c2[1531],_mm_xor_si128(c2[266],c2[1112]))))))))))))))))))))))))))))))))))));
//row: 6
d2[42]=_mm_xor_si128(c2[1263],_mm_xor_si128(c2[1403],_mm_xor_si128(c2[982],_mm_xor_si128(c2[1401],_mm_xor_si128(c2[1540],_mm_xor_si128(c2[2119],_mm_xor_si128(c2[20],_mm_xor_si128(c2[714],_mm_xor_si128(c2[1557],_mm_xor_si128(c2[1148],_mm_xor_si128(c2[1288],_mm_xor_si128(c2[1154],_mm_xor_si128(c2[885],_mm_xor_si128(c2[1025],_mm_xor_si128(c2[2003],_mm_xor_si128(c2[44],_mm_xor_si128(c2[762],_mm_xor_si128(c2[200],_mm_xor_si128(c2[897],_mm_xor_si128(c2[2031],_mm_xor_si128(c2[2036],_mm_xor_si128(c2[1053],_mm_xor_si128(c2[89],_mm_xor_si128(c2[229],_mm_xor_si128(c2[790],_mm_xor_si128(c2[2050],_mm_xor_si128(c2[1502],_mm_xor_si128(c2[104],_mm_xor_si128(c2[2199],_mm_xor_si128(c2[2212],_mm_xor_si128(c2[1936],_mm_xor_si128(c2[2073],_mm_xor_si128(c2[1392],_mm_xor_si128(c2[1532],_mm_xor_si128(c2[267],_mm_xor_si128(c2[1106],c2[2092]))))))))))))))))))))))))))))))))))));
//row: 7
d2[49]=_mm_xor_si128(c2[1966],_mm_xor_si128(c2[2106],_mm_xor_si128(c2[1961],_mm_xor_si128(c2[1685],_mm_xor_si128(c2[1540],_mm_xor_si128(c2[2104],_mm_xor_si128(c2[1966],_mm_xor_si128(c2[576],_mm_xor_si128(c2[716],_mm_xor_si128(c2[578],_mm_xor_si128(c2[1417],_mm_xor_si128(c2[1279],_mm_xor_si128(c2[14],_mm_xor_si128(c2[1975],_mm_xor_si128(c2[2115],_mm_xor_si128(c2[1000],_mm_xor_si128(c2[1851],_mm_xor_si128(c2[1991],_mm_xor_si128(c2[1853],_mm_xor_si128(c2[1850],_mm_xor_si128(c2[1572],_mm_xor_si128(c2[1712],_mm_xor_si128(c2[1588],_mm_xor_si128(c2[1728],_mm_xor_si128(c2[1583],_mm_xor_si128(c2[467],_mm_xor_si128(c2[322],_mm_xor_si128(c2[747],_mm_xor_si128(c2[602],_mm_xor_si128(c2[1458],_mm_xor_si128(c2[1320],_mm_xor_si128(c2[896],_mm_xor_si128(c2[758],_mm_xor_si128(c2[1600],_mm_xor_si128(c2[1322],_mm_xor_si128(c2[1462],_mm_xor_si128(c2[495],_mm_xor_si128(c2[350],_mm_xor_si128(c2[493],_mm_xor_si128(c2[215],_mm_xor_si128(c2[355],_mm_xor_si128(c2[1890],_mm_xor_si128(c2[785],_mm_xor_si128(c2[925],_mm_xor_si128(c2[787],_mm_xor_si128(c2[1486],_mm_xor_si128(c2[1348],_mm_xor_si128(c2[507],_mm_xor_si128(c2[229],_mm_xor_si128(c2[369],_mm_xor_si128(c2[2198],_mm_xor_si128(c2[2060],_mm_xor_si128(c2[800],_mm_xor_si128(c2[522],_mm_xor_si128(c2[662],_mm_xor_si128(c2[1364],_mm_xor_si128(c2[676],_mm_xor_si128(c2[538],_mm_xor_si128(c2[393],_mm_xor_si128(c2[255],_mm_xor_si128(c2[537],_mm_xor_si128(c2[252],_mm_xor_si128(c2[392],_mm_xor_si128(c2[2088],_mm_xor_si128(c2[2228],_mm_xor_si128(c2[2090],_mm_xor_si128(c2[970],_mm_xor_si128(c2[832],_mm_xor_si128(c2[1809],_mm_xor_si128(c2[1531],c2[1671]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[56]=_mm_xor_si128(c2[0],_mm_xor_si128(c2[140],_mm_xor_si128(c2[1825],_mm_xor_si128(c2[1965],_mm_xor_si128(c2[145],_mm_xor_si128(c2[422],_mm_xor_si128(c2[856],_mm_xor_si128(c2[996],_mm_xor_si128(c2[1697],_mm_xor_si128(c2[294],_mm_xor_si128(c2[1556],_mm_xor_si128(c2[2131],_mm_xor_si128(c2[32],_mm_xor_si128(c2[2130],_mm_xor_si128(c2[1868],_mm_xor_si128(c2[2008],_mm_xor_si128(c2[607],_mm_xor_si128(c2[747],_mm_xor_si128(c2[1027],_mm_xor_si128(c2[1598],_mm_xor_si128(c2[1738],_mm_xor_si128(c2[1176],_mm_xor_si128(c2[1880],_mm_xor_si128(c2[635],_mm_xor_si128(c2[775],_mm_xor_si128(c2[773],_mm_xor_si128(c2[1065],_mm_xor_si128(c2[1205],_mm_xor_si128(c2[1626],_mm_xor_si128(c2[1766],_mm_xor_si128(c2[787],_mm_xor_si128(c2[99],_mm_xor_si128(c2[239],_mm_xor_si128(c2[1080],_mm_xor_si128(c2[816],_mm_xor_si128(c2[956],_mm_xor_si128(c2[673],_mm_xor_si128(c2[817],_mm_xor_si128(c2[129],_mm_xor_si128(c2[269],_mm_xor_si128(c2[1110],_mm_xor_si128(c2[1250],c2[2089]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[63]=_mm_xor_si128(c2[2],_mm_xor_si128(c2[1542],_mm_xor_si128(c2[1682],_mm_xor_si128(c2[1820],_mm_xor_si128(c2[1261],_mm_xor_si128(c2[0],_mm_xor_si128(c2[1680],_mm_xor_si128(c2[858],_mm_xor_si128(c2[159],_mm_xor_si128(c2[299],_mm_xor_si128(c2[1559],_mm_xor_si128(c2[1000],_mm_xor_si128(c2[156],_mm_xor_si128(c2[1836],_mm_xor_si128(c2[294],_mm_xor_si128(c2[2133],_mm_xor_si128(c2[1434],_mm_xor_si128(c2[1574],_mm_xor_si128(c2[1992],_mm_xor_si128(c2[1433],_mm_xor_si128(c2[1863],_mm_xor_si128(c2[1164],_mm_xor_si128(c2[1304],_mm_xor_si128(c2[602],_mm_xor_si128(c2[43],_mm_xor_si128(c2[882],_mm_xor_si128(c2[323],_mm_xor_si128(c2[1600],_mm_xor_si128(c2[1041],_mm_xor_si128(c2[1038],_mm_xor_si128(c2[479],_mm_xor_si128(c2[1742],_mm_xor_si128(c2[1176],_mm_xor_si128(c2[630],_mm_xor_si128(c2[71],_mm_xor_si128(c2[635],_mm_xor_si128(c2[76],_mm_xor_si128(c2[1067],_mm_xor_si128(c2[368],_mm_xor_si128(c2[508],_mm_xor_si128(c2[1628],_mm_xor_si128(c2[1069],_mm_xor_si128(c2[649],_mm_xor_si128(c2[90],_mm_xor_si128(c2[101],_mm_xor_si128(c2[1781],_mm_xor_si128(c2[942],_mm_xor_si128(c2[383],_mm_xor_si128(c2[818],_mm_xor_si128(c2[252],_mm_xor_si128(c2[535],_mm_xor_si128(c2[2215],_mm_xor_si128(c2[672],_mm_xor_si128(c2[113],_mm_xor_si128(c2[2073],_mm_xor_si128(c2[131],_mm_xor_si128(c2[1671],_mm_xor_si128(c2[1811],_mm_xor_si128(c2[1112],_mm_xor_si128(c2[546],_mm_xor_si128(c2[1951],c2[1392])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[70]=_mm_xor_si128(c2[1963],_mm_xor_si128(c2[856],_mm_xor_si128(c2[1204],c2[1221])));
//row: 11
d2[77]=_mm_xor_si128(c2[1683],_mm_xor_si128(c2[1262],_mm_xor_si128(c2[1681],_mm_xor_si128(c2[426],_mm_xor_si128(c2[300],_mm_xor_si128(c2[994],_mm_xor_si128(c2[1697],_mm_xor_si128(c2[1837],_mm_xor_si128(c2[1568],_mm_xor_si128(c2[1294],_mm_xor_si128(c2[1434],_mm_xor_si128(c2[1305],_mm_xor_si128(c2[44],_mm_xor_si128(c2[324],_mm_xor_si128(c2[1042],_mm_xor_si128(c2[480],_mm_xor_si128(c2[1037],_mm_xor_si128(c2[1177],_mm_xor_si128(c2[72],_mm_xor_si128(c2[2176],_mm_xor_si128(c2[70],_mm_xor_si128(c2[509],_mm_xor_si128(c2[1070],_mm_xor_si128(c2[2190],_mm_xor_si128(c2[84],_mm_xor_si128(c2[1782],_mm_xor_si128(c2[244],_mm_xor_si128(c2[384],_mm_xor_si128(c2[1499],_mm_xor_si128(c2[253],_mm_xor_si128(c2[2216],_mm_xor_si128(c2[2213],_mm_xor_si128(c2[114],_mm_xor_si128(c2[1812],_mm_xor_si128(c2[547],_mm_xor_si128(c2[1246],_mm_xor_si128(c2[1386],c2[2092])))))))))))))))))))))))))))))))))))));
//row: 12
d2[84]=_mm_xor_si128(c2[704],_mm_xor_si128(c2[844],_mm_xor_si128(c2[423],_mm_xor_si128(c2[842],_mm_xor_si128(c2[1560],_mm_xor_si128(c2[1700],_mm_xor_si128(c2[155],_mm_xor_si128(c2[998],_mm_xor_si128(c2[1976],_mm_xor_si128(c2[589],_mm_xor_si128(c2[729],_mm_xor_si128(c2[588],_mm_xor_si128(c2[326],_mm_xor_si128(c2[466],_mm_xor_si128(c2[1444],_mm_xor_si128(c2[1724],_mm_xor_si128(c2[1308],_mm_xor_si128(c2[196],_mm_xor_si128(c2[1880],_mm_xor_si128(c2[338],_mm_xor_si128(c2[1472],_mm_xor_si128(c2[1470],_mm_xor_si128(c2[1769],_mm_xor_si128(c2[1909],_mm_xor_si128(c2[224],_mm_xor_si128(c2[1484],_mm_xor_si128(c2[943],_mm_xor_si128(c2[1784],_mm_xor_si128(c2[1653],_mm_xor_si128(c2[1377],_mm_xor_si128(c2[1514],_mm_xor_si128(c2[826],_mm_xor_si128(c2[966],_mm_xor_si128(c2[1947],c2[547]))))))))))))))))))))))))))))))))));
//row: 13
d2[91]=_mm_xor_si128(c2[706],_mm_xor_si128(c2[285],_mm_xor_si128(c2[704],_mm_xor_si128(c2[702],_mm_xor_si128(c2[1555],_mm_xor_si128(c2[17],_mm_xor_si128(c2[720],_mm_xor_si128(c2[860],_mm_xor_si128(c2[154],_mm_xor_si128(c2[591],_mm_xor_si128(c2[310],_mm_xor_si128(c2[450],_mm_xor_si128(c2[328],_mm_xor_si128(c2[1306],_mm_xor_si128(c2[1586],_mm_xor_si128(c2[58],_mm_xor_si128(c2[1742],_mm_xor_si128(c2[60],_mm_xor_si128(c2[200],_mm_xor_si128(c2[1334],_mm_xor_si128(c2[1192],_mm_xor_si128(c2[1332],_mm_xor_si128(c2[1764],_mm_xor_si128(c2[86],_mm_xor_si128(c2[1206],_mm_xor_si128(c2[1346],_mm_xor_si128(c2[798],_mm_xor_si128(c2[1499],_mm_xor_si128(c2[1639],_mm_xor_si128(c2[1515],_mm_xor_si128(c2[1232],_mm_xor_si128(c2[1236],_mm_xor_si128(c2[1376],_mm_xor_si128(c2[2213],_mm_xor_si128(c2[828],_mm_xor_si128(c2[1809],_mm_xor_si128(c2[269],c2[409])))))))))))))))))))))))))))))))))))));
//row: 14
d2[98]=_mm_xor_si128(c2[0],_mm_xor_si128(c2[140],_mm_xor_si128(c2[1824],_mm_xor_si128(c2[1965],_mm_xor_si128(c2[1403],_mm_xor_si128(c2[145],_mm_xor_si128(c2[1822],_mm_xor_si128(c2[856],_mm_xor_si128(c2[996],_mm_xor_si128(c2[434],_mm_xor_si128(c2[1697],_mm_xor_si128(c2[1135],_mm_xor_si128(c2[294],_mm_xor_si128(c2[1838],_mm_xor_si128(c2[1978],_mm_xor_si128(c2[576],_mm_xor_si128(c2[2131],_mm_xor_si128(c2[32],_mm_xor_si128(c2[1709],_mm_xor_si128(c2[2130],_mm_xor_si128(c2[1428],_mm_xor_si128(c2[1568],_mm_xor_si128(c2[1868],_mm_xor_si128(c2[2008],_mm_xor_si128(c2[1446],_mm_xor_si128(c2[747],_mm_xor_si128(c2[185],_mm_xor_si128(c2[1027],_mm_xor_si128(c2[465],_mm_xor_si128(c2[1738],_mm_xor_si128(c2[1176],_mm_xor_si128(c2[1176],_mm_xor_si128(c2[621],_mm_xor_si128(c2[1880],_mm_xor_si128(c2[1178],_mm_xor_si128(c2[1318],_mm_xor_si128(c2[775],_mm_xor_si128(c2[213],_mm_xor_si128(c2[773],_mm_xor_si128(c2[71],_mm_xor_si128(c2[211],_mm_xor_si128(c2[1065],_mm_xor_si128(c2[1205],_mm_xor_si128(c2[650],_mm_xor_si128(c2[1766],_mm_xor_si128(c2[1204],_mm_xor_si128(c2[787],_mm_xor_si128(c2[85],_mm_xor_si128(c2[225],_mm_xor_si128(c2[2189],_mm_xor_si128(c2[239],_mm_xor_si128(c2[1923],_mm_xor_si128(c2[1080],_mm_xor_si128(c2[378],_mm_xor_si128(c2[518],_mm_xor_si128(c2[956],_mm_xor_si128(c2[394],_mm_xor_si128(c2[673],_mm_xor_si128(c2[118],_mm_xor_si128(c2[817],_mm_xor_si128(c2[115],_mm_xor_si128(c2[255],_mm_xor_si128(c2[129],_mm_xor_si128(c2[269],_mm_xor_si128(c2[1946],_mm_xor_si128(c2[1250],_mm_xor_si128(c2[688],_mm_xor_si128(c2[2089],_mm_xor_si128(c2[1387],c2[1527])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[105]=_mm_xor_si128(c2[3],_mm_xor_si128(c2[844],_mm_xor_si128(c2[984],_mm_xor_si128(c2[1821],_mm_xor_si128(c2[563],_mm_xor_si128(c2[1],_mm_xor_si128(c2[982],_mm_xor_si128(c2[560],_mm_xor_si128(c2[859],_mm_xor_si128(c2[1700],_mm_xor_si128(c2[1840],_mm_xor_si128(c2[1560],_mm_xor_si128(c2[295],_mm_xor_si128(c2[157],_mm_xor_si128(c2[1138],_mm_xor_si128(c2[2134],_mm_xor_si128(c2[729],_mm_xor_si128(c2[869],_mm_xor_si128(c2[1993],_mm_xor_si128(c2[728],_mm_xor_si128(c2[1864],_mm_xor_si128(c2[466],_mm_xor_si128(c2[606],_mm_xor_si128(c2[603],_mm_xor_si128(c2[1584],_mm_xor_si128(c2[883],_mm_xor_si128(c2[1864],_mm_xor_si128(c2[1601],_mm_xor_si128(c2[336],_mm_xor_si128(c2[1039],_mm_xor_si128(c2[2020],_mm_xor_si128(c2[1736],_mm_xor_si128(c2[478],_mm_xor_si128(c2[631],_mm_xor_si128(c2[1612],_mm_xor_si128(c2[636],_mm_xor_si128(c2[1610],_mm_xor_si128(c2[1068],_mm_xor_si128(c2[1909],_mm_xor_si128(c2[2049],_mm_xor_si128(c2[1629],_mm_xor_si128(c2[364],_mm_xor_si128(c2[650],_mm_xor_si128(c2[1624],_mm_xor_si128(c2[102],_mm_xor_si128(c2[1083],_mm_xor_si128(c2[943],_mm_xor_si128(c2[1924],_mm_xor_si128(c2[812],_mm_xor_si128(c2[1793],_mm_xor_si128(c2[536],_mm_xor_si128(c2[1517],_mm_xor_si128(c2[673],_mm_xor_si128(c2[1654],_mm_xor_si128(c2[132],_mm_xor_si128(c2[966],_mm_xor_si128(c2[1106],_mm_xor_si128(c2[1106],_mm_xor_si128(c2[2087],_mm_xor_si128(c2[1952],c2[687]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[112]=_mm_xor_si128(c2[1965],_mm_xor_si128(c2[2105],_mm_xor_si128(c2[1263],_mm_xor_si128(c2[1403],_mm_xor_si128(c2[1684],_mm_xor_si128(c2[842],_mm_xor_si128(c2[982],_mm_xor_si128(c2[2103],_mm_xor_si128(c2[1401],_mm_xor_si128(c2[575],_mm_xor_si128(c2[715],_mm_xor_si128(c2[2119],_mm_xor_si128(c2[20],_mm_xor_si128(c2[1416],_mm_xor_si128(c2[714],_mm_xor_si128(c2[20],_mm_xor_si128(c2[1557],_mm_xor_si128(c2[1558],_mm_xor_si128(c2[1850],_mm_xor_si128(c2[1990],_mm_xor_si128(c2[1148],_mm_xor_si128(c2[1288],_mm_xor_si128(c2[1849],_mm_xor_si128(c2[1154],_mm_xor_si128(c2[1587],_mm_xor_si128(c2[1727],_mm_xor_si128(c2[885],_mm_xor_si128(c2[1025],_mm_xor_si128(c2[466],_mm_xor_si128(c2[1863],_mm_xor_si128(c2[2003],_mm_xor_si128(c2[746],_mm_xor_si128(c2[44],_mm_xor_si128(c2[1457],_mm_xor_si128(c2[622],_mm_xor_si128(c2[762],_mm_xor_si128(c2[902],_mm_xor_si128(c2[200],_mm_xor_si128(c2[1599],_mm_xor_si128(c2[897],_mm_xor_si128(c2[494],_mm_xor_si128(c2[1891],_mm_xor_si128(c2[2031],_mm_xor_si128(c2[492],_mm_xor_si128(c2[2036],_mm_xor_si128(c2[784],_mm_xor_si128(c2[924],_mm_xor_si128(c2[89],_mm_xor_si128(c2[229],_mm_xor_si128(c2[1485],_mm_xor_si128(c2[650],_mm_xor_si128(c2[790],_mm_xor_si128(c2[506],_mm_xor_si128(c2[2050],_mm_xor_si128(c2[2204],_mm_xor_si128(c2[1362],_mm_xor_si128(c2[1502],_mm_xor_si128(c2[799],_mm_xor_si128(c2[104],_mm_xor_si128(c2[675],_mm_xor_si128(c2[2072],_mm_xor_si128(c2[2212],_mm_xor_si128(c2[392],_mm_xor_si128(c2[1936],_mm_xor_si128(c2[536],_mm_xor_si128(c2[2073],_mm_xor_si128(c2[2087],_mm_xor_si128(c2[2227],_mm_xor_si128(c2[1392],_mm_xor_si128(c2[1532],_mm_xor_si128(c2[969],_mm_xor_si128(c2[127],_mm_xor_si128(c2[267],_mm_xor_si128(c2[1808],_mm_xor_si128(c2[1106],c2[2088])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[119]=_mm_xor_si128(c2[843],_mm_xor_si128(c2[983],_mm_xor_si128(c2[1404],_mm_xor_si128(c2[1544],_mm_xor_si128(c2[562],_mm_xor_si128(c2[983],_mm_xor_si128(c2[1123],_mm_xor_si128(c2[981],_mm_xor_si128(c2[1542],_mm_xor_si128(c2[1699],_mm_xor_si128(c2[1839],_mm_xor_si128(c2[14],_mm_xor_si128(c2[154],_mm_xor_si128(c2[294],_mm_xor_si128(c2[855],_mm_xor_si128(c2[1137],_mm_xor_si128(c2[1698],_mm_xor_si128(c2[17],_mm_xor_si128(c2[728],_mm_xor_si128(c2[868],_mm_xor_si128(c2[1289],_mm_xor_si128(c2[1429],_mm_xor_si128(c2[734],_mm_xor_si128(c2[1288],_mm_xor_si128(c2[465],_mm_xor_si128(c2[605],_mm_xor_si128(c2[1026],_mm_xor_si128(c2[1166],_mm_xor_si128(c2[1583],_mm_xor_si128(c2[2004],_mm_xor_si128(c2[2144],_mm_xor_si128(c2[1863],_mm_xor_si128(c2[185],_mm_xor_si128(c2[342],_mm_xor_si128(c2[756],_mm_xor_si128(c2[896],_mm_xor_si128(c2[2019],_mm_xor_si128(c2[341],_mm_xor_si128(c2[477],_mm_xor_si128(c2[1038],_mm_xor_si128(c2[1611],_mm_xor_si128(c2[2032],_mm_xor_si128(c2[2172],_mm_xor_si128(c2[1616],_mm_xor_si128(c2[2170],_mm_xor_si128(c2[631],_mm_xor_si128(c2[1908],_mm_xor_si128(c2[2048],_mm_xor_si128(c2[230],_mm_xor_si128(c2[370],_mm_xor_si128(c2[370],_mm_xor_si128(c2[784],_mm_xor_si128(c2[924],_mm_xor_si128(c2[1630],_mm_xor_si128(c2[2184],_mm_xor_si128(c2[1082],_mm_xor_si128(c2[1503],_mm_xor_si128(c2[1643],_mm_xor_si128(c2[1923],_mm_xor_si128(c2[238],_mm_xor_si128(c2[1792],_mm_xor_si128(c2[2213],_mm_xor_si128(c2[114],_mm_xor_si128(c2[1516],_mm_xor_si128(c2[2077],_mm_xor_si128(c2[1653],_mm_xor_si128(c2[2214],_mm_xor_si128(c2[972],_mm_xor_si128(c2[1112],_mm_xor_si128(c2[1526],_mm_xor_si128(c2[1666],_mm_xor_si128(c2[2086],_mm_xor_si128(c2[268],_mm_xor_si128(c2[408],_mm_xor_si128(c2[686],c2[1247])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[126]=_mm_xor_si128(c2[564],_mm_xor_si128(c2[85],c2[1780]));
//row: 19
d2[133]=_mm_xor_si128(c2[1962],_mm_xor_si128(c2[1541],_mm_xor_si128(c2[1960],_mm_xor_si128(c2[422],_mm_xor_si128(c2[579],_mm_xor_si128(c2[1280],_mm_xor_si128(c2[2116],_mm_xor_si128(c2[1415],_mm_xor_si128(c2[1854],_mm_xor_si128(c2[1713],_mm_xor_si128(c2[1584],_mm_xor_si128(c2[323],_mm_xor_si128(c2[603],_mm_xor_si128(c2[1321],_mm_xor_si128(c2[759],_mm_xor_si128(c2[1456],_mm_xor_si128(c2[351],_mm_xor_si128(c2[356],_mm_xor_si128(c2[788],_mm_xor_si128(c2[1349],_mm_xor_si128(c2[370],_mm_xor_si128(c2[2061],_mm_xor_si128(c2[663],_mm_xor_si128(c2[532],_mm_xor_si128(c2[256],_mm_xor_si128(c2[393],_mm_xor_si128(c2[2091],_mm_xor_si128(c2[826],c2[1672]))))))))))))))))))))))))))));
//row: 20
d2[140]=_mm_xor_si128(c2[706],_mm_xor_si128(c2[846],_mm_xor_si128(c2[425],_mm_xor_si128(c2[844],_mm_xor_si128(c2[1555],_mm_xor_si128(c2[1695],_mm_xor_si128(c2[157],_mm_xor_si128(c2[1000],_mm_xor_si128(c2[854],_mm_xor_si128(c2[591],_mm_xor_si128(c2[731],_mm_xor_si128(c2[590],_mm_xor_si128(c2[328],_mm_xor_si128(c2[468],_mm_xor_si128(c2[1446],_mm_xor_si128(c2[1726],_mm_xor_si128(c2[198],_mm_xor_si128(c2[1882],_mm_xor_si128(c2[340],_mm_xor_si128(c2[617],_mm_xor_si128(c2[1474],_mm_xor_si128(c2[1472],_mm_xor_si128(c2[1764],_mm_xor_si128(c2[1904],_mm_xor_si128(c2[226],_mm_xor_si128(c2[1486],_mm_xor_si128(c2[938],_mm_xor_si128(c2[1779],_mm_xor_si128(c2[1655],_mm_xor_si128(c2[1372],_mm_xor_si128(c2[1516],_mm_xor_si128(c2[828],_mm_xor_si128(c2[968],_mm_xor_si128(c2[1949],c2[549]))))))))))))))))))))))))))))))))));
//row: 21
d2[147]=_mm_xor_si128(c2[1402],_mm_xor_si128(c2[981],_mm_xor_si128(c2[1400],_mm_xor_si128(c2[5],_mm_xor_si128(c2[19],_mm_xor_si128(c2[720],_mm_xor_si128(c2[1416],_mm_xor_si128(c2[1556],_mm_xor_si128(c2[1294],_mm_xor_si128(c2[1013],_mm_xor_si128(c2[1153],_mm_xor_si128(c2[1024],_mm_xor_si128(c2[2002],_mm_xor_si128(c2[43],_mm_xor_si128(c2[761],_mm_xor_si128(c2[199],_mm_xor_si128(c2[756],_mm_xor_si128(c2[896],_mm_xor_si128(c2[2030],_mm_xor_si128(c2[1895],_mm_xor_si128(c2[2035],_mm_xor_si128(c2[228],_mm_xor_si128(c2[789],_mm_xor_si128(c2[1909],_mm_xor_si128(c2[2049],_mm_xor_si128(c2[1501],_mm_xor_si128(c2[2202],_mm_xor_si128(c2[103],_mm_xor_si128(c2[2218],_mm_xor_si128(c2[1935],_mm_xor_si128(c2[1932],_mm_xor_si128(c2[2072],_mm_xor_si128(c2[1654],_mm_xor_si128(c2[1531],_mm_xor_si128(c2[266],_mm_xor_si128(c2[972],c2[1112]))))))))))))))))))))))))))))))))))));
//row: 22
d2[154]=_mm_xor_si128(c2[157],c2[168]);
//row: 23
d2[161]=_mm_xor_si128(c2[1682],_mm_xor_si128(c2[885],c2[911]));
//row: 24
d2[168]=_mm_xor_si128(c2[1276],_mm_xor_si128(c2[1153],c2[2229]));
//row: 25
d2[175]=_mm_xor_si128(c2[426],c2[2035]);
//row: 26
d2[182]=_mm_xor_si128(c2[704],_mm_xor_si128(c2[844],_mm_xor_si128(c2[2104],_mm_xor_si128(c2[283],_mm_xor_si128(c2[423],_mm_xor_si128(c2[1683],_mm_xor_si128(c2[842],_mm_xor_si128(c2[2102],_mm_xor_si128(c2[1560],_mm_xor_si128(c2[1700],_mm_xor_si128(c2[714],_mm_xor_si128(c2[155],_mm_xor_si128(c2[1415],_mm_xor_si128(c2[998],_mm_xor_si128(c2[2118],_mm_xor_si128(c2[19],_mm_xor_si128(c2[589],_mm_xor_si128(c2[729],_mm_xor_si128(c2[1989],_mm_xor_si128(c2[588],_mm_xor_si128(c2[1708],_mm_xor_si128(c2[1848],_mm_xor_si128(c2[1433],_mm_xor_si128(c2[326],_mm_xor_si128(c2[466],_mm_xor_si128(c2[1726],_mm_xor_si128(c2[1304],_mm_xor_si128(c2[1444],_mm_xor_si128(c2[465],_mm_xor_si128(c2[1724],_mm_xor_si128(c2[745],_mm_xor_si128(c2[56],_mm_xor_si128(c2[196],_mm_xor_si128(c2[1456],_mm_xor_si128(c2[1880],_mm_xor_si128(c2[901],_mm_xor_si128(c2[338],_mm_xor_si128(c2[1458],_mm_xor_si128(c2[1598],_mm_xor_si128(c2[1332],_mm_xor_si128(c2[1472],_mm_xor_si128(c2[493],_mm_xor_si128(c2[1470],_mm_xor_si128(c2[351],_mm_xor_si128(c2[491],_mm_xor_si128(c2[1769],_mm_xor_si128(c2[1909],_mm_xor_si128(c2[930],_mm_xor_si128(c2[84],_mm_xor_si128(c2[224],_mm_xor_si128(c2[1484],_mm_xor_si128(c2[1484],_mm_xor_si128(c2[365],_mm_xor_si128(c2[505],_mm_xor_si128(c2[803],_mm_xor_si128(c2[943],_mm_xor_si128(c2[2203],_mm_xor_si128(c2[1784],_mm_xor_si128(c2[658],_mm_xor_si128(c2[798],_mm_xor_si128(c2[938],_mm_xor_si128(c2[1513],_mm_xor_si128(c2[1653],_mm_xor_si128(c2[674],_mm_xor_si128(c2[1377],_mm_xor_si128(c2[398],_mm_xor_si128(c2[1514],_mm_xor_si128(c2[395],_mm_xor_si128(c2[535],_mm_xor_si128(c2[826],_mm_xor_si128(c2[966],_mm_xor_si128(c2[2226],_mm_xor_si128(c2[1807],_mm_xor_si128(c2[1947],_mm_xor_si128(c2[968],_mm_xor_si128(c2[547],_mm_xor_si128(c2[1667],c2[1807])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[189]=_mm_xor_si128(c2[1541],c2[924]);
//row: 28
d2[196]=_mm_xor_si128(c2[1140],_mm_xor_si128(c2[594],c2[215]));
//row: 29
d2[203]=_mm_xor_si128(c2[1686],c2[1879]);
//row: 30
d2[210]=_mm_xor_si128(c2[1434],_mm_xor_si128(c2[1752],_mm_xor_si128(c2[1362],c2[130])));
//row: 31
d2[217]=_mm_xor_si128(c2[2101],_mm_xor_si128(c2[1680],_mm_xor_si128(c2[2106],_mm_xor_si128(c2[718],_mm_xor_si128(c2[1419],_mm_xor_si128(c2[2115],_mm_xor_si128(c2[16],_mm_xor_si128(c2[436],_mm_xor_si128(c2[1993],_mm_xor_si128(c2[1712],_mm_xor_si128(c2[1852],_mm_xor_si128(c2[1723],_mm_xor_si128(c2[462],_mm_xor_si128(c2[742],_mm_xor_si128(c2[1460],_mm_xor_si128(c2[898],_mm_xor_si128(c2[1462],_mm_xor_si128(c2[1602],_mm_xor_si128(c2[490],_mm_xor_si128(c2[355],_mm_xor_si128(c2[495],_mm_xor_si128(c2[927],_mm_xor_si128(c2[1488],_mm_xor_si128(c2[369],_mm_xor_si128(c2[509],_mm_xor_si128(c2[2200],_mm_xor_si128(c2[662],_mm_xor_si128(c2[802],_mm_xor_si128(c2[678],_mm_xor_si128(c2[395],_mm_xor_si128(c2[392],_mm_xor_si128(c2[532],_mm_xor_si128(c2[2230],_mm_xor_si128(c2[972],_mm_xor_si128(c2[1671],c2[1811])))))))))))))))))))))))))))))))))));
//row: 32
d2[224]=_mm_xor_si128(c2[844],_mm_xor_si128(c2[984],_mm_xor_si128(c2[423],_mm_xor_si128(c2[563],_mm_xor_si128(c2[982],_mm_xor_si128(c2[1686],_mm_xor_si128(c2[1700],_mm_xor_si128(c2[1840],_mm_xor_si128(c2[295],_mm_xor_si128(c2[1138],_mm_xor_si128(c2[729],_mm_xor_si128(c2[869],_mm_xor_si128(c2[728],_mm_xor_si128(c2[466],_mm_xor_si128(c2[606],_mm_xor_si128(c2[1444],_mm_xor_si128(c2[1584],_mm_xor_si128(c2[1864],_mm_xor_si128(c2[196],_mm_xor_si128(c2[336],_mm_xor_si128(c2[2020],_mm_xor_si128(c2[478],_mm_xor_si128(c2[1472],_mm_xor_si128(c2[1612],_mm_xor_si128(c2[1610],_mm_xor_si128(c2[771],_mm_xor_si128(c2[1909],_mm_xor_si128(c2[2049],_mm_xor_si128(c2[224],_mm_xor_si128(c2[364],_mm_xor_si128(c2[1624],_mm_xor_si128(c2[943],_mm_xor_si128(c2[1083],_mm_xor_si128(c2[1924],_mm_xor_si128(c2[1653],_mm_xor_si128(c2[1793],_mm_xor_si128(c2[1517],_mm_xor_si128(c2[1654],_mm_xor_si128(c2[966],_mm_xor_si128(c2[1106],_mm_xor_si128(c2[1947],_mm_xor_si128(c2[2087],c2[687]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[231]=_mm_xor_si128(c2[704],_mm_xor_si128(c2[283],_mm_xor_si128(c2[702],_mm_xor_si128(c2[1560],_mm_xor_si128(c2[15],_mm_xor_si128(c2[858],_mm_xor_si128(c2[589],_mm_xor_si128(c2[448],_mm_xor_si128(c2[1012],_mm_xor_si128(c2[326],_mm_xor_si128(c2[1304],_mm_xor_si128(c2[1584],_mm_xor_si128(c2[56],_mm_xor_si128(c2[1740],_mm_xor_si128(c2[198],_mm_xor_si128(c2[1332],_mm_xor_si128(c2[1330],_mm_xor_si128(c2[1769],_mm_xor_si128(c2[84],_mm_xor_si128(c2[1344],_mm_xor_si128(c2[803],_mm_xor_si128(c2[1644],_mm_xor_si128(c2[1778],_mm_xor_si128(c2[1513],_mm_xor_si128(c2[1237],_mm_xor_si128(c2[1374],_mm_xor_si128(c2[826],_mm_xor_si128(c2[1807],c2[407]))))))))))))))))))))))))))));
//row: 34
d2[238]=_mm_xor_si128(c2[143],_mm_xor_si128(c2[283],_mm_xor_si128(c2[1961],_mm_xor_si128(c2[1961],_mm_xor_si128(c2[2101],_mm_xor_si128(c2[1540],_mm_xor_si128(c2[281],_mm_xor_si128(c2[1966],_mm_xor_si128(c2[1821],_mm_xor_si128(c2[999],_mm_xor_si128(c2[1139],_mm_xor_si128(c2[578],_mm_xor_si128(c2[1840],_mm_xor_si128(c2[1279],_mm_xor_si128(c2[437],_mm_xor_si128(c2[1975],_mm_xor_si128(c2[2115],_mm_xor_si128(c2[28],_mm_xor_si128(c2[168],_mm_xor_si128(c2[1853],_mm_xor_si128(c2[34],_mm_xor_si128(c2[1572],_mm_xor_si128(c2[1712],_mm_xor_si128(c2[2004],_mm_xor_si128(c2[2144],_mm_xor_si128(c2[1583],_mm_xor_si128(c2[743],_mm_xor_si128(c2[883],_mm_xor_si128(c2[322],_mm_xor_si128(c2[1163],_mm_xor_si128(c2[602],_mm_xor_si128(c2[1741],_mm_xor_si128(c2[1881],_mm_xor_si128(c2[1320],_mm_xor_si128(c2[1319],_mm_xor_si128(c2[758],_mm_xor_si128(c2[2016],_mm_xor_si128(c2[1322],_mm_xor_si128(c2[1462],_mm_xor_si128(c2[771],_mm_xor_si128(c2[911],_mm_xor_si128(c2[350],_mm_xor_si128(c2[916],_mm_xor_si128(c2[215],_mm_xor_si128(c2[355],_mm_xor_si128(c2[1208],_mm_xor_si128(c2[1348],_mm_xor_si128(c2[787],_mm_xor_si128(c2[1769],_mm_xor_si128(c2[1909],_mm_xor_si128(c2[1348],_mm_xor_si128(c2[930],_mm_xor_si128(c2[229],_mm_xor_si128(c2[369],_mm_xor_si128(c2[242],_mm_xor_si128(c2[382],_mm_xor_si128(c2[2060],_mm_xor_si128(c2[1223],_mm_xor_si128(c2[522],_mm_xor_si128(c2[662],_mm_xor_si128(c2[952],_mm_xor_si128(c2[1092],_mm_xor_si128(c2[538],_mm_xor_si128(c2[816],_mm_xor_si128(c2[255],_mm_xor_si128(c2[953],_mm_xor_si128(c2[252],_mm_xor_si128(c2[392],_mm_xor_si128(c2[272],_mm_xor_si128(c2[412],_mm_xor_si128(c2[2090],_mm_xor_si128(c2[1246],_mm_xor_si128(c2[1386],_mm_xor_si128(c2[832],_mm_xor_si128(c2[2232],_mm_xor_si128(c2[1531],c2[1671]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[245]=_mm_xor_si128(c2[2100],_mm_xor_si128(c2[1],_mm_xor_si128(c2[1826],_mm_xor_si128(c2[6],_mm_xor_si128(c2[717],_mm_xor_si128(c2[857],_mm_xor_si128(c2[1558],_mm_xor_si128(c2[155],_mm_xor_si128(c2[1559],_mm_xor_si128(c2[1992],_mm_xor_si128(c2[2132],_mm_xor_si128(c2[1991],_mm_xor_si128(c2[1722],_mm_xor_si128(c2[1862],_mm_xor_si128(c2[608],_mm_xor_si128(c2[888],_mm_xor_si128(c2[1599],_mm_xor_si128(c2[1037],_mm_xor_si128(c2[1741],_mm_xor_si128(c2[636],_mm_xor_si128(c2[634],_mm_xor_si128(c2[773],_mm_xor_si128(c2[926],_mm_xor_si128(c2[1066],_mm_xor_si128(c2[1627],_mm_xor_si128(c2[648],_mm_xor_si128(c2[100],_mm_xor_si128(c2[941],_mm_xor_si128(c2[817],_mm_xor_si128(c2[534],_mm_xor_si128(c2[678],_mm_xor_si128(c2[2229],_mm_xor_si128(c2[130],_mm_xor_si128(c2[1111],c2[1950]))))))))))))))))))))))))))))))))));
//row: 36
d2[252]=_mm_xor_si128(c2[140],_mm_xor_si128(c2[2131],c2[523]));
//row: 37
d2[259]=_mm_xor_si128(c2[0],_mm_xor_si128(c2[705],_mm_xor_si128(c2[1825],_mm_xor_si128(c2[284],_mm_xor_si128(c2[5],_mm_xor_si128(c2[703],_mm_xor_si128(c2[856],_mm_xor_si128(c2[1554],_mm_xor_si128(c2[1557],_mm_xor_si128(c2[16],_mm_xor_si128(c2[154],_mm_xor_si128(c2[719],_mm_xor_si128(c2[859],_mm_xor_si128(c2[2131],_mm_xor_si128(c2[590],_mm_xor_si128(c2[1990],_mm_xor_si128(c2[309],_mm_xor_si128(c2[449],_mm_xor_si128(c2[1868],_mm_xor_si128(c2[327],_mm_xor_si128(c2[607],_mm_xor_si128(c2[1305],_mm_xor_si128(c2[887],_mm_xor_si128(c2[1585],_mm_xor_si128(c2[1598],_mm_xor_si128(c2[57],_mm_xor_si128(c2[1036],_mm_xor_si128(c2[1741],_mm_xor_si128(c2[1740],_mm_xor_si128(c2[59],_mm_xor_si128(c2[199],_mm_xor_si128(c2[635],_mm_xor_si128(c2[1333],_mm_xor_si128(c2[633],_mm_xor_si128(c2[1191],_mm_xor_si128(c2[1331],_mm_xor_si128(c2[1065],_mm_xor_si128(c2[1770],_mm_xor_si128(c2[1626],_mm_xor_si128(c2[85],_mm_xor_si128(c2[647],_mm_xor_si128(c2[1205],_mm_xor_si128(c2[1345],_mm_xor_si128(c2[99],_mm_xor_si128(c2[804],_mm_xor_si128(c2[940],_mm_xor_si128(c2[1498],_mm_xor_si128(c2[1638],_mm_xor_si128(c2[816],_mm_xor_si128(c2[1514],_mm_xor_si128(c2[533],_mm_xor_si128(c2[1238],_mm_xor_si128(c2[677],_mm_xor_si128(c2[1235],_mm_xor_si128(c2[1375],_mm_xor_si128(c2[129],_mm_xor_si128(c2[827],_mm_xor_si128(c2[1110],_mm_xor_si128(c2[1808],_mm_xor_si128(c2[1949],_mm_xor_si128(c2[268],c2[408])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[266]=_mm_xor_si128(c2[840],_mm_xor_si128(c2[980],_mm_xor_si128(c2[566],_mm_xor_si128(c2[985],_mm_xor_si128(c2[1696],_mm_xor_si128(c2[1836],_mm_xor_si128(c2[298],_mm_xor_si128(c2[1134],_mm_xor_si128(c2[716],_mm_xor_si128(c2[732],_mm_xor_si128(c2[872],_mm_xor_si128(c2[731],_mm_xor_si128(c2[462],_mm_xor_si128(c2[602],_mm_xor_si128(c2[1587],_mm_xor_si128(c2[1867],_mm_xor_si128(c2[339],_mm_xor_si128(c2[2016],_mm_xor_si128(c2[481],_mm_xor_si128(c2[1615],_mm_xor_si128(c2[1613],_mm_xor_si128(c2[216],_mm_xor_si128(c2[1905],_mm_xor_si128(c2[2045],_mm_xor_si128(c2[367],_mm_xor_si128(c2[1627],_mm_xor_si128(c2[1079],_mm_xor_si128(c2[1920],_mm_xor_si128(c2[1796],_mm_xor_si128(c2[1513],_mm_xor_si128(c2[1657],_mm_xor_si128(c2[969],_mm_xor_si128(c2[1109],_mm_xor_si128(c2[2090],c2[690]))))))))))))))))))))))))))))))))));
//row: 39
d2[273]=_mm_xor_si128(c2[280],_mm_xor_si128(c2[420],_mm_xor_si128(c2[2105],_mm_xor_si128(c2[6],_mm_xor_si128(c2[425],_mm_xor_si128(c2[1406],_mm_xor_si128(c2[1136],_mm_xor_si128(c2[1276],_mm_xor_si128(c2[1977],_mm_xor_si128(c2[574],_mm_xor_si128(c2[172],_mm_xor_si128(c2[312],_mm_xor_si128(c2[171],_mm_xor_si128(c2[2148],_mm_xor_si128(c2[42],_mm_xor_si128(c2[887],_mm_xor_si128(c2[1027],_mm_xor_si128(c2[1307],_mm_xor_si128(c2[1878],_mm_xor_si128(c2[2018],_mm_xor_si128(c2[1456],_mm_xor_si128(c2[2160],_mm_xor_si128(c2[915],_mm_xor_si128(c2[1055],_mm_xor_si128(c2[1053],_mm_xor_si128(c2[1345],_mm_xor_si128(c2[1485],_mm_xor_si128(c2[1906],_mm_xor_si128(c2[2046],_mm_xor_si128(c2[1067],_mm_xor_si128(c2[379],_mm_xor_si128(c2[519],_mm_xor_si128(c2[1360],_mm_xor_si128(c2[802],_mm_xor_si128(c2[1096],_mm_xor_si128(c2[1236],_mm_xor_si128(c2[953],_mm_xor_si128(c2[1097],_mm_xor_si128(c2[409],_mm_xor_si128(c2[549],_mm_xor_si128(c2[1390],_mm_xor_si128(c2[1530],c2[130]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[280]=_mm_xor_si128(c2[1546],_mm_xor_si128(c2[1826],_mm_xor_si128(c2[1125],_mm_xor_si128(c2[1405],_mm_xor_si128(c2[1544],_mm_xor_si128(c2[1824],_mm_xor_si128(c2[156],_mm_xor_si128(c2[436],_mm_xor_si128(c2[857],_mm_xor_si128(c2[1137],_mm_xor_si128(c2[1700],_mm_xor_si128(c2[1840],_mm_xor_si128(c2[1980],_mm_xor_si128(c2[1431],_mm_xor_si128(c2[1711],_mm_xor_si128(c2[1290],_mm_xor_si128(c2[1430],_mm_xor_si128(c2[1570],_mm_xor_si128(c2[314],_mm_xor_si128(c2[1168],_mm_xor_si128(c2[1448],_mm_xor_si128(c2[2146],_mm_xor_si128(c2[187],_mm_xor_si128(c2[187],_mm_xor_si128(c2[467],_mm_xor_si128(c2[898],_mm_xor_si128(c2[1178],_mm_xor_si128(c2[336],_mm_xor_si128(c2[616],_mm_xor_si128(c2[1040],_mm_xor_si128(c2[1180],_mm_xor_si128(c2[1320],_mm_xor_si128(c2[2174],_mm_xor_si128(c2[215],_mm_xor_si128(c2[2172],_mm_xor_si128(c2[73],_mm_xor_si128(c2[213],_mm_xor_si128(c2[365],_mm_xor_si128(c2[645],_mm_xor_si128(c2[926],_mm_xor_si128(c2[1206],_mm_xor_si128(c2[2186],_mm_xor_si128(c2[87],_mm_xor_si128(c2[227],_mm_xor_si128(c2[1638],_mm_xor_si128(c2[1918],_mm_xor_si128(c2[240],_mm_xor_si128(c2[380],_mm_xor_si128(c2[520],_mm_xor_si128(c2[116],_mm_xor_si128(c2[396],_mm_xor_si128(c2[2072],_mm_xor_si128(c2[113],_mm_xor_si128(c2[2216],_mm_xor_si128(c2[117],_mm_xor_si128(c2[257],_mm_xor_si128(c2[1668],_mm_xor_si128(c2[1948],_mm_xor_si128(c2[410],_mm_xor_si128(c2[690],_mm_xor_si128(c2[1249],_mm_xor_si128(c2[1389],c2[1529]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[287]=_mm_xor_si128(c2[1262],_mm_xor_si128(c2[1402],_mm_xor_si128(c2[981],_mm_xor_si128(c2[1400],_mm_xor_si128(c2[2118],_mm_xor_si128(c2[19],_mm_xor_si128(c2[720],_mm_xor_si128(c2[1556],_mm_xor_si128(c2[1134],_mm_xor_si128(c2[1154],_mm_xor_si128(c2[1294],_mm_xor_si128(c2[1153],_mm_xor_si128(c2[884],_mm_xor_si128(c2[1024],_mm_xor_si128(c2[2002],_mm_xor_si128(c2[43],_mm_xor_si128(c2[761],_mm_xor_si128(c2[199],_mm_xor_si128(c2[896],_mm_xor_si128(c2[2030],_mm_xor_si128(c2[2035],_mm_xor_si128(c2[776],_mm_xor_si128(c2[88],_mm_xor_si128(c2[228],_mm_xor_si128(c2[789],_mm_xor_si128(c2[2049],_mm_xor_si128(c2[1501],_mm_xor_si128(c2[103],_mm_xor_si128(c2[2218],_mm_xor_si128(c2[1935],_mm_xor_si128(c2[2072],_mm_xor_si128(c2[1391],_mm_xor_si128(c2[1531],_mm_xor_si128(c2[266],c2[1112]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=120, byte encoding
static inline void ldpc_BG2_Zc120_byte(uint8_t *c,uint8_t *d) {
__m64 *csimd=(__m64 *)c,*dsimd=(__m64 *)d;
__m64 *c2,*d2;
int i2;
for (i2=0; i2<15; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm_xor_si64(c2[303],_mm_xor_si64(c2[1802],_mm_xor_si64(c2[609],_mm_xor_si64(c2[931],_mm_xor_si64(c2[2133],_mm_xor_si64(c2[2144],_mm_xor_si64(c2[2168],_mm_xor_si64(c2[966],_mm_xor_si64(c2[1592],_mm_xor_si64(c2[1896],_mm_xor_si64(c2[990],_mm_xor_si64(c2[2227],_mm_xor_si64(c2[1626],_mm_xor_si64(c2[2231],_mm_xor_si64(c2[1053],_mm_xor_si64(c2[1963],_mm_xor_si64(c2[2282],_mm_xor_si64(c2[192],_mm_xor_si64(c2[2284],_mm_xor_si64(c2[2312],_mm_xor_si64(c2[2319],_mm_xor_si64(c2[541],_mm_xor_si64(c2[1144],_mm_xor_si64(c2[1145],_mm_xor_si64(c2[284],_mm_xor_si64(c2[2375],c2[1179]))))))))))))))))))))))))));
//row: 1
d2[15]=_mm_xor_si64(c2[303],_mm_xor_si64(c2[603],_mm_xor_si64(c2[2102],_mm_xor_si64(c2[909],_mm_xor_si64(c2[931],_mm_xor_si64(c2[1231],_mm_xor_si64(c2[34],_mm_xor_si64(c2[30],_mm_xor_si64(c2[2168],_mm_xor_si64(c2[69],_mm_xor_si64(c2[1266],_mm_xor_si64(c2[1592],_mm_xor_si64(c2[1892],_mm_xor_si64(c2[2196],_mm_xor_si64(c2[1290],_mm_xor_si64(c2[128],_mm_xor_si64(c2[1926],_mm_xor_si64(c2[132],_mm_xor_si64(c2[1353],_mm_xor_si64(c2[2263],_mm_xor_si64(c2[2282],_mm_xor_si64(c2[183],_mm_xor_si64(c2[492],_mm_xor_si64(c2[185],_mm_xor_si64(c2[213],_mm_xor_si64(c2[220],_mm_xor_si64(c2[841],_mm_xor_si64(c2[1444],_mm_xor_si64(c2[1445],_mm_xor_si64(c2[284],_mm_xor_si64(c2[584],_mm_xor_si64(c2[276],c2[1479]))))))))))))))))))))))))))))))));
//row: 2
d2[30]=_mm_xor_si64(c2[303],_mm_xor_si64(c2[603],_mm_xor_si64(c2[1802],_mm_xor_si64(c2[2102],_mm_xor_si64(c2[909],_mm_xor_si64(c2[931],_mm_xor_si64(c2[1231],_mm_xor_si64(c2[34],_mm_xor_si64(c2[30],_mm_xor_si64(c2[2168],_mm_xor_si64(c2[69],_mm_xor_si64(c2[1266],_mm_xor_si64(c2[1592],_mm_xor_si64(c2[1892],_mm_xor_si64(c2[1896],_mm_xor_si64(c2[2196],_mm_xor_si64(c2[1290],_mm_xor_si64(c2[2227],_mm_xor_si64(c2[128],_mm_xor_si64(c2[1926],_mm_xor_si64(c2[132],_mm_xor_si64(c2[1053],_mm_xor_si64(c2[1353],_mm_xor_si64(c2[2263],_mm_xor_si64(c2[2282],_mm_xor_si64(c2[183],_mm_xor_si64(c2[192],_mm_xor_si64(c2[492],_mm_xor_si64(c2[185],_mm_xor_si64(c2[2312],_mm_xor_si64(c2[213],_mm_xor_si64(c2[220],_mm_xor_si64(c2[541],_mm_xor_si64(c2[841],_mm_xor_si64(c2[1444],_mm_xor_si64(c2[1445],_mm_xor_si64(c2[284],_mm_xor_si64(c2[584],_mm_xor_si64(c2[2375],_mm_xor_si64(c2[276],c2[1479]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[45]=_mm_xor_si64(c2[603],_mm_xor_si64(c2[2102],_mm_xor_si64(c2[909],_mm_xor_si64(c2[1231],_mm_xor_si64(c2[34],_mm_xor_si64(c2[2144],_mm_xor_si64(c2[30],_mm_xor_si64(c2[69],_mm_xor_si64(c2[966],_mm_xor_si64(c2[1266],_mm_xor_si64(c2[1892],_mm_xor_si64(c2[2196],_mm_xor_si64(c2[1290],_mm_xor_si64(c2[128],_mm_xor_si64(c2[1926],_mm_xor_si64(c2[2231],_mm_xor_si64(c2[132],_mm_xor_si64(c2[1353],_mm_xor_si64(c2[1963],_mm_xor_si64(c2[2263],_mm_xor_si64(c2[183],_mm_xor_si64(c2[492],_mm_xor_si64(c2[2284],_mm_xor_si64(c2[185],_mm_xor_si64(c2[213],_mm_xor_si64(c2[2319],_mm_xor_si64(c2[220],_mm_xor_si64(c2[841],_mm_xor_si64(c2[1444],_mm_xor_si64(c2[1145],_mm_xor_si64(c2[1445],_mm_xor_si64(c2[584],_mm_xor_si64(c2[276],_mm_xor_si64(c2[1179],c2[1479]))))))))))))))))))))))))))))))))));
//row: 4
d2[60]=_mm_xor_si64(c2[1510],_mm_xor_si64(c2[1810],_mm_xor_si64(c2[910],_mm_xor_si64(c2[2101],_mm_xor_si64(c2[1503],_mm_xor_si64(c2[2138],_mm_xor_si64(c2[39],_mm_xor_si64(c2[1241],_mm_xor_si64(c2[1237],_mm_xor_si64(c2[1232],_mm_xor_si64(c2[961],_mm_xor_si64(c2[1261],_mm_xor_si64(c2[74],_mm_xor_si64(c2[400],_mm_xor_si64(c2[700],_mm_xor_si64(c2[1004],_mm_xor_si64(c2[98],_mm_xor_si64(c2[1320],_mm_xor_si64(c2[734],_mm_xor_si64(c2[1324],_mm_xor_si64(c2[161],_mm_xor_si64(c2[1056],_mm_xor_si64(c2[1090],_mm_xor_si64(c2[1390],_mm_xor_si64(c2[1684],_mm_xor_si64(c2[1392],_mm_xor_si64(c2[1420],_mm_xor_si64(c2[1412],_mm_xor_si64(c2[2048],_mm_xor_si64(c2[252],_mm_xor_si64(c2[253],_mm_xor_si64(c2[1476],_mm_xor_si64(c2[1776],_mm_xor_si64(c2[1483],c2[272]))))))))))))))))))))))))))))))))));
//row: 5
d2[75]=_mm_xor_si64(c2[14],_mm_xor_si64(c2[314],_mm_xor_si64(c2[1813],_mm_xor_si64(c2[605],_mm_xor_si64(c2[300],_mm_xor_si64(c2[642],_mm_xor_si64(c2[942],_mm_xor_si64(c2[2144],_mm_xor_si64(c2[2140],_mm_xor_si64(c2[335],_mm_xor_si64(c2[1864],_mm_xor_si64(c2[2164],_mm_xor_si64(c2[962],_mm_xor_si64(c2[1303],_mm_xor_si64(c2[1603],_mm_xor_si64(c2[1892],_mm_xor_si64(c2[1001],_mm_xor_si64(c2[2223],_mm_xor_si64(c2[1622],_mm_xor_si64(c2[2227],_mm_xor_si64(c2[1064],_mm_xor_si64(c2[1959],_mm_xor_si64(c2[456],_mm_xor_si64(c2[1993],_mm_xor_si64(c2[2293],_mm_xor_si64(c2[188],_mm_xor_si64(c2[2280],_mm_xor_si64(c2[2323],_mm_xor_si64(c2[2315],_mm_xor_si64(c2[221],_mm_xor_si64(c2[552],_mm_xor_si64(c2[1140],_mm_xor_si64(c2[1141],_mm_xor_si64(c2[2379],_mm_xor_si64(c2[280],_mm_xor_si64(c2[2371],c2[1175]))))))))))))))))))))))))))))))))))));
//row: 6
d2[90]=_mm_xor_si64(c2[310],_mm_xor_si64(c2[610],_mm_xor_si64(c2[2109],_mm_xor_si64(c2[901],_mm_xor_si64(c2[302],_mm_xor_si64(c2[938],_mm_xor_si64(c2[1238],_mm_xor_si64(c2[41],_mm_xor_si64(c2[37],_mm_xor_si64(c2[2160],_mm_xor_si64(c2[61],_mm_xor_si64(c2[1273],_mm_xor_si64(c2[1599],_mm_xor_si64(c2[1899],_mm_xor_si64(c2[2203],_mm_xor_si64(c2[1297],_mm_xor_si64(c2[120],_mm_xor_si64(c2[1933],_mm_xor_si64(c2[124],_mm_xor_si64(c2[1360],_mm_xor_si64(c2[2255],_mm_xor_si64(c2[159],_mm_xor_si64(c2[2289],_mm_xor_si64(c2[190],_mm_xor_si64(c2[484],_mm_xor_si64(c2[192],_mm_xor_si64(c2[220],_mm_xor_si64(c2[212],_mm_xor_si64(c2[1416],_mm_xor_si64(c2[848],_mm_xor_si64(c2[1451],_mm_xor_si64(c2[1452],_mm_xor_si64(c2[276],_mm_xor_si64(c2[576],_mm_xor_si64(c2[283],_mm_xor_si64(c2[1471],c2[1470]))))))))))))))))))))))))))))))))))));
//row: 7
d2[105]=_mm_xor_si64(c2[1509],_mm_xor_si64(c2[1809],_mm_xor_si64(c2[1207],_mm_xor_si64(c2[909],_mm_xor_si64(c2[307],_mm_xor_si64(c2[2100],_mm_xor_si64(c2[1513],_mm_xor_si64(c2[2137],_mm_xor_si64(c2[38],_mm_xor_si64(c2[1835],_mm_xor_si64(c2[1240],_mm_xor_si64(c2[638],_mm_xor_si64(c2[1236],_mm_xor_si64(c2[334],_mm_xor_si64(c2[634],_mm_xor_si64(c2[1840],_mm_xor_si64(c2[960],_mm_xor_si64(c2[1260],_mm_xor_si64(c2[673],_mm_xor_si64(c2[73],_mm_xor_si64(c2[1570],_mm_xor_si64(c2[1870],_mm_xor_si64(c2[399],_mm_xor_si64(c2[699],_mm_xor_si64(c2[97],_mm_xor_si64(c2[1003],_mm_xor_si64(c2[401],_mm_xor_si64(c2[97],_mm_xor_si64(c2[1894],_mm_xor_si64(c2[1334],_mm_xor_si64(c2[732],_mm_xor_si64(c2[733],_mm_xor_si64(c2[131],_mm_xor_si64(c2[1323],_mm_xor_si64(c2[421],_mm_xor_si64(c2[721],_mm_xor_si64(c2[160],_mm_xor_si64(c2[1957],_mm_xor_si64(c2[1055],_mm_xor_si64(c2[153],_mm_xor_si64(c2[453],_mm_xor_si64(c2[758],_mm_xor_si64(c2[1089],_mm_xor_si64(c2[1389],_mm_xor_si64(c2[787],_mm_xor_si64(c2[1683],_mm_xor_si64(c2[1081],_mm_xor_si64(c2[1391],_mm_xor_si64(c2[489],_mm_xor_si64(c2[789],_mm_xor_si64(c2[1419],_mm_xor_si64(c2[817],_mm_xor_si64(c2[1411],_mm_xor_si64(c2[524],_mm_xor_si64(c2[824],_mm_xor_si64(c2[2320],_mm_xor_si64(c2[2047],_mm_xor_si64(c2[1445],_mm_xor_si64(c2[251],_mm_xor_si64(c2[2048],_mm_xor_si64(c2[252],_mm_xor_si64(c2[1749],_mm_xor_si64(c2[2049],_mm_xor_si64(c2[1475],_mm_xor_si64(c2[1775],_mm_xor_si64(c2[1173],_mm_xor_si64(c2[1482],_mm_xor_si64(c2[880],_mm_xor_si64(c2[271],_mm_xor_si64(c2[1783],c2[2083]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[120]=_mm_xor_si64(c2[601],_mm_xor_si64(c2[901],_mm_xor_si64(c2[2100],_mm_xor_si64(c2[1],_mm_xor_si64(c2[1207],_mm_xor_si64(c2[7],_mm_xor_si64(c2[1244],_mm_xor_si64(c2[1544],_mm_xor_si64(c2[332],_mm_xor_si64(c2[343],_mm_xor_si64(c2[336],_mm_xor_si64(c2[67],_mm_xor_si64(c2[367],_mm_xor_si64(c2[1564],_mm_xor_si64(c2[1890],_mm_xor_si64(c2[2190],_mm_xor_si64(c2[2194],_mm_xor_si64(c2[95],_mm_xor_si64(c2[1603],_mm_xor_si64(c2[126],_mm_xor_si64(c2[426],_mm_xor_si64(c2[2224],_mm_xor_si64(c2[430],_mm_xor_si64(c2[1351],_mm_xor_si64(c2[1651],_mm_xor_si64(c2[162],_mm_xor_si64(c2[181],_mm_xor_si64(c2[481],_mm_xor_si64(c2[490],_mm_xor_si64(c2[790],_mm_xor_si64(c2[483],_mm_xor_si64(c2[211],_mm_xor_si64(c2[511],_mm_xor_si64(c2[518],_mm_xor_si64(c2[854],_mm_xor_si64(c2[1154],_mm_xor_si64(c2[1742],_mm_xor_si64(c2[1743],_mm_xor_si64(c2[582],_mm_xor_si64(c2[882],_mm_xor_si64(c2[274],_mm_xor_si64(c2[574],c2[1777]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[135]=_mm_xor_si64(c2[309],_mm_xor_si64(c2[1511],_mm_xor_si64(c2[1811],_mm_xor_si64(c2[1808],_mm_xor_si64(c2[911],_mm_xor_si64(c2[600],_mm_xor_si64(c2[2102],_mm_xor_si64(c2[937],_mm_xor_si64(c2[2139],_mm_xor_si64(c2[40],_mm_xor_si64(c2[2139],_mm_xor_si64(c2[1242],_mm_xor_si64(c2[2135],_mm_xor_si64(c2[1238],_mm_xor_si64(c2[2135],_mm_xor_si64(c2[2174],_mm_xor_si64(c2[962],_mm_xor_si64(c2[1262],_mm_xor_si64(c2[972],_mm_xor_si64(c2[60],_mm_xor_si64(c2[1598],_mm_xor_si64(c2[401],_mm_xor_si64(c2[701],_mm_xor_si64(c2[1902],_mm_xor_si64(c2[990],_mm_xor_si64(c2[996],_mm_xor_si64(c2[99],_mm_xor_si64(c2[2233],_mm_xor_si64(c2[1321],_mm_xor_si64(c2[1632],_mm_xor_si64(c2[720],_mm_xor_si64(c2[2222],_mm_xor_si64(c2[1325],_mm_xor_si64(c2[1059],_mm_xor_si64(c2[162],_mm_xor_si64(c2[1954],_mm_xor_si64(c2[1057],_mm_xor_si64(c2[2288],_mm_xor_si64(c2[1091],_mm_xor_si64(c2[1391],_mm_xor_si64(c2[183],_mm_xor_si64(c2[1685],_mm_xor_si64(c2[2290],_mm_xor_si64(c2[1393],_mm_xor_si64(c2[2318],_mm_xor_si64(c2[1421],_mm_xor_si64(c2[2310],_mm_xor_si64(c2[1413],_mm_xor_si64(c2[547],_mm_xor_si64(c2[2049],_mm_xor_si64(c2[1150],_mm_xor_si64(c2[253],_mm_xor_si64(c2[1151],_mm_xor_si64(c2[254],_mm_xor_si64(c2[2054],_mm_xor_si64(c2[275],_mm_xor_si64(c2[1477],_mm_xor_si64(c2[1777],_mm_xor_si64(c2[2381],_mm_xor_si64(c2[1484],_mm_xor_si64(c2[1170],c2[273])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[150]=_mm_xor_si64(c2[1804],_mm_xor_si64(c2[342],_mm_xor_si64(c2[191],c2[224])));
//row: 11
d2[165]=_mm_xor_si64(c2[1509],_mm_xor_si64(c2[609],_mm_xor_si64(c2[1800],_mm_xor_si64(c2[607],_mm_xor_si64(c2[2137],_mm_xor_si64(c2[940],_mm_xor_si64(c2[636],_mm_xor_si64(c2[936],_mm_xor_si64(c2[960],_mm_xor_si64(c2[1872],_mm_xor_si64(c2[2172],_mm_xor_si64(c2[399],_mm_xor_si64(c2[703],_mm_xor_si64(c2[2196],_mm_xor_si64(c2[1034],_mm_xor_si64(c2[433],_mm_xor_si64(c2[723],_mm_xor_si64(c2[1023],_mm_xor_si64(c2[2259],_mm_xor_si64(c2[455],_mm_xor_si64(c2[755],_mm_xor_si64(c2[1089],_mm_xor_si64(c2[1383],_mm_xor_si64(c2[791],_mm_xor_si64(c2[1091],_mm_xor_si64(c2[1119],_mm_xor_si64(c2[811],_mm_xor_si64(c2[1111],_mm_xor_si64(c2[2021],_mm_xor_si64(c2[1747],_mm_xor_si64(c2[2350],_mm_xor_si64(c2[2051],_mm_xor_si64(c2[2351],_mm_xor_si64(c2[1475],_mm_xor_si64(c2[1182],_mm_xor_si64(c2[2070],_mm_xor_si64(c2[2370],c2[276])))))))))))))))))))))))))))))))))))));
//row: 12
d2[180]=_mm_xor_si64(c2[312],_mm_xor_si64(c2[612],_mm_xor_si64(c2[2111],_mm_xor_si64(c2[903],_mm_xor_si64(c2[940],_mm_xor_si64(c2[1240],_mm_xor_si64(c2[43],_mm_xor_si64(c2[39],_mm_xor_si64(c2[1230],_mm_xor_si64(c2[2162],_mm_xor_si64(c2[63],_mm_xor_si64(c2[1260],_mm_xor_si64(c2[1601],_mm_xor_si64(c2[1901],_mm_xor_si64(c2[2190],_mm_xor_si64(c2[1299],_mm_xor_si64(c2[690],_mm_xor_si64(c2[122],_mm_xor_si64(c2[1920],_mm_xor_si64(c2[126],_mm_xor_si64(c2[1362],_mm_xor_si64(c2[2257],_mm_xor_si64(c2[2291],_mm_xor_si64(c2[192],_mm_xor_si64(c2[486],_mm_xor_si64(c2[194],_mm_xor_si64(c2[222],_mm_xor_si64(c2[214],_mm_xor_si64(c2[850],_mm_xor_si64(c2[1453],_mm_xor_si64(c2[1454],_mm_xor_si64(c2[278],_mm_xor_si64(c2[578],_mm_xor_si64(c2[270],c2[1473]))))))))))))))))))))))))))))))))));
//row: 13
d2[195]=_mm_xor_si64(c2[1500],_mm_xor_si64(c2[600],_mm_xor_si64(c2[1806],_mm_xor_si64(c2[6],_mm_xor_si64(c2[2143],_mm_xor_si64(c2[931],_mm_xor_si64(c2[642],_mm_xor_si64(c2[942],_mm_xor_si64(c2[337],_mm_xor_si64(c2[966],_mm_xor_si64(c2[1863],_mm_xor_si64(c2[2163],_mm_xor_si64(c2[390],_mm_xor_si64(c2[694],_mm_xor_si64(c2[2202],_mm_xor_si64(c2[1025],_mm_xor_si64(c2[424],_mm_xor_si64(c2[729],_mm_xor_si64(c2[1029],_mm_xor_si64(c2[2250],_mm_xor_si64(c2[461],_mm_xor_si64(c2[761],_mm_xor_si64(c2[1080],_mm_xor_si64(c2[1389],_mm_xor_si64(c2[782],_mm_xor_si64(c2[1082],_mm_xor_si64(c2[1110],_mm_xor_si64(c2[817],_mm_xor_si64(c2[1117],_mm_xor_si64(c2[1753],_mm_xor_si64(c2[2341],_mm_xor_si64(c2[2042],_mm_xor_si64(c2[2342],_mm_xor_si64(c2[2345],_mm_xor_si64(c2[1481],_mm_xor_si64(c2[1173],_mm_xor_si64(c2[2076],c2[2376])))))))))))))))))))))))))))))))))))));
//row: 14
d2[210]=_mm_xor_si64(c2[1513],_mm_xor_si64(c2[1813],_mm_xor_si64(c2[1208],_mm_xor_si64(c2[913],_mm_xor_si64(c2[308],_mm_xor_si64(c2[2104],_mm_xor_si64(c2[1514],_mm_xor_si64(c2[2141],_mm_xor_si64(c2[42],_mm_xor_si64(c2[1836],_mm_xor_si64(c2[1244],_mm_xor_si64(c2[639],_mm_xor_si64(c2[1240],_mm_xor_si64(c2[335],_mm_xor_si64(c2[635],_mm_xor_si64(c2[640],_mm_xor_si64(c2[964],_mm_xor_si64(c2[1264],_mm_xor_si64(c2[674],_mm_xor_si64(c2[62],_mm_xor_si64(c2[1571],_mm_xor_si64(c2[1871],_mm_xor_si64(c2[403],_mm_xor_si64(c2[703],_mm_xor_si64(c2[98],_mm_xor_si64(c2[992],_mm_xor_si64(c2[402],_mm_xor_si64(c2[101],_mm_xor_si64(c2[1895],_mm_xor_si64(c2[1323],_mm_xor_si64(c2[733],_mm_xor_si64(c2[722],_mm_xor_si64(c2[132],_mm_xor_si64(c2[1327],_mm_xor_si64(c2[422],_mm_xor_si64(c2[722],_mm_xor_si64(c2[164],_mm_xor_si64(c2[1958],_mm_xor_si64(c2[1059],_mm_xor_si64(c2[154],_mm_xor_si64(c2[454],_mm_xor_si64(c2[1093],_mm_xor_si64(c2[1393],_mm_xor_si64(c2[788],_mm_xor_si64(c2[1687],_mm_xor_si64(c2[1082],_mm_xor_si64(c2[1380],_mm_xor_si64(c2[490],_mm_xor_si64(c2[790],_mm_xor_si64(c2[194],_mm_xor_si64(c2[1423],_mm_xor_si64(c2[818],_mm_xor_si64(c2[1415],_mm_xor_si64(c2[510],_mm_xor_si64(c2[810],_mm_xor_si64(c2[2051],_mm_xor_si64(c2[1446],_mm_xor_si64(c2[240],_mm_xor_si64(c2[2049],_mm_xor_si64(c2[241],_mm_xor_si64(c2[1750],_mm_xor_si64(c2[2050],_mm_xor_si64(c2[1479],_mm_xor_si64(c2[1779],_mm_xor_si64(c2[1174],_mm_xor_si64(c2[1471],_mm_xor_si64(c2[881],_mm_xor_si64(c2[275],_mm_xor_si64(c2[1784],c2[2084])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[225]=_mm_xor_si64(c2[600],_mm_xor_si64(c2[1807],_mm_xor_si64(c2[2107],_mm_xor_si64(c2[2114],_mm_xor_si64(c2[1207],_mm_xor_si64(c2[906],_mm_xor_si64(c2[14],_mm_xor_si64(c2[1804],_mm_xor_si64(c2[1243],_mm_xor_si64(c2[36],_mm_xor_si64(c2[336],_mm_xor_si64(c2[31],_mm_xor_si64(c2[1538],_mm_xor_si64(c2[42],_mm_xor_si64(c2[1534],_mm_xor_si64(c2[66],_mm_xor_si64(c2[1273],_mm_xor_si64(c2[1573],_mm_xor_si64(c2[1263],_mm_xor_si64(c2[371],_mm_xor_si64(c2[1904],_mm_xor_si64(c2[697],_mm_xor_si64(c2[997],_mm_xor_si64(c2[2193],_mm_xor_si64(c2[1301],_mm_xor_si64(c2[1302],_mm_xor_si64(c2[395],_mm_xor_si64(c2[125],_mm_xor_si64(c2[1632],_mm_xor_si64(c2[1923],_mm_xor_si64(c2[1031],_mm_xor_si64(c2[129],_mm_xor_si64(c2[1621],_mm_xor_si64(c2[1350],_mm_xor_si64(c2[458],_mm_xor_si64(c2[2260],_mm_xor_si64(c2[1353],_mm_xor_si64(c2[180],_mm_xor_si64(c2[1387],_mm_xor_si64(c2[1687],_mm_xor_si64(c2[489],_mm_xor_si64(c2[1981],_mm_xor_si64(c2[182],_mm_xor_si64(c2[1689],_mm_xor_si64(c2[210],_mm_xor_si64(c2[1717],_mm_xor_si64(c2[217],_mm_xor_si64(c2[1724],_mm_xor_si64(c2[853],_mm_xor_si64(c2[2345],_mm_xor_si64(c2[1441],_mm_xor_si64(c2[549],_mm_xor_si64(c2[1442],_mm_xor_si64(c2[550],_mm_xor_si64(c2[581],_mm_xor_si64(c2[1773],_mm_xor_si64(c2[2073],_mm_xor_si64(c2[273],_mm_xor_si64(c2[1780],_mm_xor_si64(c2[1476],c2[584]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[240]=_mm_xor_si64(c2[10],_mm_xor_si64(c2[310],_mm_xor_si64(c2[913],_mm_xor_si64(c2[1213],_mm_xor_si64(c2[1809],_mm_xor_si64(c2[13],_mm_xor_si64(c2[313],_mm_xor_si64(c2[601],_mm_xor_si64(c2[1504],_mm_xor_si64(c2[638],_mm_xor_si64(c2[938],_mm_xor_si64(c2[1541],_mm_xor_si64(c2[1841],_mm_xor_si64(c2[2140],_mm_xor_si64(c2[644],_mm_xor_si64(c2[2136],_mm_xor_si64(c2[640],_mm_xor_si64(c2[636],_mm_xor_si64(c2[1860],_mm_xor_si64(c2[2160],_mm_xor_si64(c2[364],_mm_xor_si64(c2[664],_mm_xor_si64(c2[973],_mm_xor_si64(c2[1861],_mm_xor_si64(c2[1299],_mm_xor_si64(c2[1599],_mm_xor_si64(c2[2202],_mm_xor_si64(c2[103],_mm_xor_si64(c2[1903],_mm_xor_si64(c2[92],_mm_xor_si64(c2[392],_mm_xor_si64(c2[997],_mm_xor_si64(c2[1900],_mm_xor_si64(c2[2234],_mm_xor_si64(c2[423],_mm_xor_si64(c2[723],_mm_xor_si64(c2[1633],_mm_xor_si64(c2[122],_mm_xor_si64(c2[2223],_mm_xor_si64(c2[727],_mm_xor_si64(c2[1060],_mm_xor_si64(c2[1663],_mm_xor_si64(c2[1963],_mm_xor_si64(c2[1955],_mm_xor_si64(c2[459],_mm_xor_si64(c2[1989],_mm_xor_si64(c2[2289],_mm_xor_si64(c2[493],_mm_xor_si64(c2[793],_mm_xor_si64(c2[184],_mm_xor_si64(c2[787],_mm_xor_si64(c2[1087],_mm_xor_si64(c2[2291],_mm_xor_si64(c2[780],_mm_xor_si64(c2[2319],_mm_xor_si64(c2[523],_mm_xor_si64(c2[823],_mm_xor_si64(c2[2311],_mm_xor_si64(c2[815],_mm_xor_si64(c2[548],_mm_xor_si64(c2[1151],_mm_xor_si64(c2[1451],_mm_xor_si64(c2[1151],_mm_xor_si64(c2[2054],_mm_xor_si64(c2[1152],_mm_xor_si64(c2[2040],_mm_xor_si64(c2[2375],_mm_xor_si64(c2[276],_mm_xor_si64(c2[879],_mm_xor_si64(c2[1179],_mm_xor_si64(c2[2382],_mm_xor_si64(c2[571],_mm_xor_si64(c2[871],_mm_xor_si64(c2[1171],_mm_xor_si64(c2[2074],c2[2372])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[255]=_mm_xor_si64(c2[1212],_mm_xor_si64(c2[1512],_mm_xor_si64(c2[900],_mm_xor_si64(c2[1200],_mm_xor_si64(c2[612],_mm_xor_si64(c2[0],_mm_xor_si64(c2[300],_mm_xor_si64(c2[1803],_mm_xor_si64(c2[1506],_mm_xor_si64(c2[1840],_mm_xor_si64(c2[2140],_mm_xor_si64(c2[1543],_mm_xor_si64(c2[1843],_mm_xor_si64(c2[943],_mm_xor_si64(c2[631],_mm_xor_si64(c2[939],_mm_xor_si64(c2[642],_mm_xor_si64(c2[1239],_mm_xor_si64(c2[663],_mm_xor_si64(c2[963],_mm_xor_si64(c2[366],_mm_xor_si64(c2[666],_mm_xor_si64(c2[2160],_mm_xor_si64(c2[1863],_mm_xor_si64(c2[102],_mm_xor_si64(c2[402],_mm_xor_si64(c2[2204],_mm_xor_si64(c2[90],_mm_xor_si64(c2[691],_mm_xor_si64(c2[94],_mm_xor_si64(c2[394],_mm_xor_si64(c2[2199],_mm_xor_si64(c2[1902],_mm_xor_si64(c2[1022],_mm_xor_si64(c2[425],_mm_xor_si64(c2[725],_mm_xor_si64(c2[421],_mm_xor_si64(c2[124],_mm_xor_si64(c2[1026],_mm_xor_si64(c2[729],_mm_xor_si64(c2[2262],_mm_xor_si64(c2[1650],_mm_xor_si64(c2[1950],_mm_xor_si64(c2[758],_mm_xor_si64(c2[461],_mm_xor_si64(c2[1656],_mm_xor_si64(c2[792],_mm_xor_si64(c2[1092],_mm_xor_si64(c2[480],_mm_xor_si64(c2[780],_mm_xor_si64(c2[1386],_mm_xor_si64(c2[789],_mm_xor_si64(c2[1089],_mm_xor_si64(c2[1094],_mm_xor_si64(c2[782],_mm_xor_si64(c2[1122],_mm_xor_si64(c2[510],_mm_xor_si64(c2[810],_mm_xor_si64(c2[1114],_mm_xor_si64(c2[817],_mm_xor_si64(c2[1750],_mm_xor_si64(c2[1153],_mm_xor_si64(c2[1453],_mm_xor_si64(c2[2353],_mm_xor_si64(c2[2041],_mm_xor_si64(c2[2354],_mm_xor_si64(c2[2042],_mm_xor_si64(c2[1178],_mm_xor_si64(c2[1478],_mm_xor_si64(c2[881],_mm_xor_si64(c2[1181],_mm_xor_si64(c2[1170],_mm_xor_si64(c2[573],_mm_xor_si64(c2[873],_mm_xor_si64(c2[2373],c2[2076])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[270]=_mm_xor_si64(c2[1],_mm_xor_si64(c2[1091],c2[821]));
//row: 19
d2[285]=_mm_xor_si64(c2[314],_mm_xor_si64(c2[1813],_mm_xor_si64(c2[605],_mm_xor_si64(c2[2104],_mm_xor_si64(c2[942],_mm_xor_si64(c2[2144],_mm_xor_si64(c2[2140],_mm_xor_si64(c2[1240],_mm_xor_si64(c2[2164],_mm_xor_si64(c2[962],_mm_xor_si64(c2[1603],_mm_xor_si64(c2[1892],_mm_xor_si64(c2[1001],_mm_xor_si64(c2[2223],_mm_xor_si64(c2[1622],_mm_xor_si64(c2[2227],_mm_xor_si64(c2[1064],_mm_xor_si64(c2[1959],_mm_xor_si64(c2[2293],_mm_xor_si64(c2[188],_mm_xor_si64(c2[2280],_mm_xor_si64(c2[2323],_mm_xor_si64(c2[2315],_mm_xor_si64(c2[552],_mm_xor_si64(c2[1140],_mm_xor_si64(c2[1141],_mm_xor_si64(c2[280],_mm_xor_si64(c2[2371],c2[1175]))))))))))))))))))))))))))));
//row: 20
d2[300]=_mm_xor_si64(c2[2103],_mm_xor_si64(c2[4],_mm_xor_si64(c2[1503],_mm_xor_si64(c2[310],_mm_xor_si64(c2[332],_mm_xor_si64(c2[632],_mm_xor_si64(c2[1834],_mm_xor_si64(c2[1830],_mm_xor_si64(c2[1544],_mm_xor_si64(c2[1569],_mm_xor_si64(c2[1869],_mm_xor_si64(c2[667],_mm_xor_si64(c2[993],_mm_xor_si64(c2[1293],_mm_xor_si64(c2[1597],_mm_xor_si64(c2[691],_mm_xor_si64(c2[1928],_mm_xor_si64(c2[1327],_mm_xor_si64(c2[1932],_mm_xor_si64(c2[1033],_mm_xor_si64(c2[754],_mm_xor_si64(c2[1664],_mm_xor_si64(c2[1683],_mm_xor_si64(c2[1983],_mm_xor_si64(c2[2292],_mm_xor_si64(c2[1985],_mm_xor_si64(c2[2013],_mm_xor_si64(c2[2020],_mm_xor_si64(c2[242],_mm_xor_si64(c2[845],_mm_xor_si64(c2[846],_mm_xor_si64(c2[2084],_mm_xor_si64(c2[2384],_mm_xor_si64(c2[2076],c2[880]))))))))))))))))))))))))))))))))));
//row: 21
d2[315]=_mm_xor_si64(c2[1504],_mm_xor_si64(c2[604],_mm_xor_si64(c2[1810],_mm_xor_si64(c2[1814],_mm_xor_si64(c2[2132],_mm_xor_si64(c2[935],_mm_xor_si64(c2[631],_mm_xor_si64(c2[931],_mm_xor_si64(c2[970],_mm_xor_si64(c2[1867],_mm_xor_si64(c2[2167],_mm_xor_si64(c2[394],_mm_xor_si64(c2[698],_mm_xor_si64(c2[2191],_mm_xor_si64(c2[1029],_mm_xor_si64(c2[428],_mm_xor_si64(c2[733],_mm_xor_si64(c2[1033],_mm_xor_si64(c2[2254],_mm_xor_si64(c2[450],_mm_xor_si64(c2[750],_mm_xor_si64(c2[1084],_mm_xor_si64(c2[1393],_mm_xor_si64(c2[786],_mm_xor_si64(c2[1086],_mm_xor_si64(c2[1114],_mm_xor_si64(c2[821],_mm_xor_si64(c2[1121],_mm_xor_si64(c2[1742],_mm_xor_si64(c2[2345],_mm_xor_si64(c2[2046],_mm_xor_si64(c2[2346],_mm_xor_si64(c2[1741],_mm_xor_si64(c2[1470],_mm_xor_si64(c2[1177],_mm_xor_si64(c2[2080],c2[2380]))))))))))))))))))))))))))))))))))));
//row: 22
d2[330]=_mm_xor_si64(c2[939],c2[1265]);
//row: 23
d2[345]=_mm_xor_si64(c2[1500],_mm_xor_si64(c2[1901],c2[2263]));
//row: 24
d2[360]=_mm_xor_si64(c2[340],_mm_xor_si64(c2[962],c2[871]));
//row: 25
d2[375]=_mm_xor_si64(c2[608],c2[2261]);
//row: 26
d2[390]=_mm_xor_si64(c2[2111],_mm_xor_si64(c2[12],_mm_xor_si64(c2[14],_mm_xor_si64(c2[1211],_mm_xor_si64(c2[1511],_mm_xor_si64(c2[1513],_mm_xor_si64(c2[303],_mm_xor_si64(c2[305],_mm_xor_si64(c2[340],_mm_xor_si64(c2[640],_mm_xor_si64(c2[642],_mm_xor_si64(c2[1842],_mm_xor_si64(c2[1844],_mm_xor_si64(c2[1838],_mm_xor_si64(c2[1540],_mm_xor_si64(c2[1840],_mm_xor_si64(c2[1562],_mm_xor_si64(c2[1862],_mm_xor_si64(c2[1864],_mm_xor_si64(c2[660],_mm_xor_si64(c2[362],_mm_xor_si64(c2[662],_mm_xor_si64(c2[663],_mm_xor_si64(c2[1001],_mm_xor_si64(c2[1301],_mm_xor_si64(c2[1303],_mm_xor_si64(c2[1290],_mm_xor_si64(c2[1590],_mm_xor_si64(c2[1592],_mm_xor_si64(c2[699],_mm_xor_si64(c2[701],_mm_xor_si64(c2[1621],_mm_xor_si64(c2[1921],_mm_xor_si64(c2[1923],_mm_xor_si64(c2[1320],_mm_xor_si64(c2[1322],_mm_xor_si64(c2[1925],_mm_xor_si64(c2[1627],_mm_xor_si64(c2[1927],_mm_xor_si64(c2[462],_mm_xor_si64(c2[762],_mm_xor_si64(c2[764],_mm_xor_si64(c2[1657],_mm_xor_si64(c2[1359],_mm_xor_si64(c2[1659],_mm_xor_si64(c2[1691],_mm_xor_si64(c2[1991],_mm_xor_si64(c2[1993],_mm_xor_si64(c2[1985],_mm_xor_si64(c2[2285],_mm_xor_si64(c2[2287],_mm_xor_si64(c2[1993],_mm_xor_si64(c2[1680],_mm_xor_si64(c2[1980],_mm_xor_si64(c2[1721],_mm_xor_si64(c2[2021],_mm_xor_si64(c2[2023],_mm_xor_si64(c2[2013],_mm_xor_si64(c2[1715],_mm_xor_si64(c2[2015],_mm_xor_si64(c2[818],_mm_xor_si64(c2[2349],_mm_xor_si64(c2[250],_mm_xor_si64(c2[252],_mm_xor_si64(c2[853],_mm_xor_si64(c2[840],_mm_xor_si64(c2[854],_mm_xor_si64(c2[541],_mm_xor_si64(c2[841],_mm_xor_si64(c2[2077],_mm_xor_si64(c2[2377],_mm_xor_si64(c2[2379],_mm_xor_si64(c2[1784],_mm_xor_si64(c2[2084],_mm_xor_si64(c2[2071],_mm_xor_si64(c2[873],_mm_xor_si64(c2[575],c2[875])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[405]=_mm_xor_si64(c2[8],c2[1687]);
//row: 28
d2[420]=_mm_xor_si64(c2[2130],_mm_xor_si64(c2[63],c2[152]));
//row: 29
d2[435]=_mm_xor_si64(c2[303],c2[427]);
//row: 30
d2[450]=_mm_xor_si64(c2[1564],_mm_xor_si64(c2[1052],_mm_xor_si64(c2[1722],c2[572])));
//row: 31
d2[465]=_mm_xor_si64(c2[9],_mm_xor_si64(c2[1508],_mm_xor_si64(c2[300],_mm_xor_si64(c2[637],_mm_xor_si64(c2[1839],_mm_xor_si64(c2[1535],_mm_xor_si64(c2[1835],_mm_xor_si64(c2[340],_mm_xor_si64(c2[1874],_mm_xor_si64(c2[372],_mm_xor_si64(c2[672],_mm_xor_si64(c2[1298],_mm_xor_si64(c2[1602],_mm_xor_si64(c2[696],_mm_xor_si64(c2[1933],_mm_xor_si64(c2[1332],_mm_xor_si64(c2[1622],_mm_xor_si64(c2[1922],_mm_xor_si64(c2[759],_mm_xor_si64(c2[1354],_mm_xor_si64(c2[1654],_mm_xor_si64(c2[1988],_mm_xor_si64(c2[2282],_mm_xor_si64(c2[1690],_mm_xor_si64(c2[1990],_mm_xor_si64(c2[2018],_mm_xor_si64(c2[1710],_mm_xor_si64(c2[2010],_mm_xor_si64(c2[247],_mm_xor_si64(c2[850],_mm_xor_si64(c2[551],_mm_xor_si64(c2[851],_mm_xor_si64(c2[2374],_mm_xor_si64(c2[2081],_mm_xor_si64(c2[570],c2[870])))))))))))))))))))))))))))))))))));
//row: 32
d2[480]=_mm_xor_si64(c2[1502],_mm_xor_si64(c2[1802],_mm_xor_si64(c2[602],_mm_xor_si64(c2[902],_mm_xor_si64(c2[2108],_mm_xor_si64(c2[907],_mm_xor_si64(c2[2130],_mm_xor_si64(c2[31],_mm_xor_si64(c2[1233],_mm_xor_si64(c2[1244],_mm_xor_si64(c2[968],_mm_xor_si64(c2[1268],_mm_xor_si64(c2[66],_mm_xor_si64(c2[392],_mm_xor_si64(c2[692],_mm_xor_si64(c2[696],_mm_xor_si64(c2[996],_mm_xor_si64(c2[90],_mm_xor_si64(c2[1027],_mm_xor_si64(c2[1327],_mm_xor_si64(c2[726],_mm_xor_si64(c2[1331],_mm_xor_si64(c2[2252],_mm_xor_si64(c2[153],_mm_xor_si64(c2[1063],_mm_xor_si64(c2[1951],_mm_xor_si64(c2[1082],_mm_xor_si64(c2[1382],_mm_xor_si64(c2[1391],_mm_xor_si64(c2[1691],_mm_xor_si64(c2[1384],_mm_xor_si64(c2[1112],_mm_xor_si64(c2[1412],_mm_xor_si64(c2[1419],_mm_xor_si64(c2[1740],_mm_xor_si64(c2[2040],_mm_xor_si64(c2[244],_mm_xor_si64(c2[245],_mm_xor_si64(c2[1483],_mm_xor_si64(c2[1783],_mm_xor_si64(c2[1175],_mm_xor_si64(c2[1475],c2[279]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[495]=_mm_xor_si64(c2[901],_mm_xor_si64(c2[1],_mm_xor_si64(c2[1207],_mm_xor_si64(c2[1544],_mm_xor_si64(c2[332],_mm_xor_si64(c2[343],_mm_xor_si64(c2[367],_mm_xor_si64(c2[1564],_mm_xor_si64(c2[1865],_mm_xor_si64(c2[2190],_mm_xor_si64(c2[95],_mm_xor_si64(c2[1603],_mm_xor_si64(c2[426],_mm_xor_si64(c2[2224],_mm_xor_si64(c2[430],_mm_xor_si64(c2[1651],_mm_xor_si64(c2[162],_mm_xor_si64(c2[481],_mm_xor_si64(c2[790],_mm_xor_si64(c2[483],_mm_xor_si64(c2[511],_mm_xor_si64(c2[518],_mm_xor_si64(c2[810],_mm_xor_si64(c2[1154],_mm_xor_si64(c2[1742],_mm_xor_si64(c2[1743],_mm_xor_si64(c2[882],_mm_xor_si64(c2[574],c2[1777]))))))))))))))))))))))))))));
//row: 34
d2[510]=_mm_xor_si64(c2[5],_mm_xor_si64(c2[305],_mm_xor_si64(c2[2105],_mm_xor_si64(c2[1504],_mm_xor_si64(c2[1804],_mm_xor_si64(c2[1205],_mm_xor_si64(c2[611],_mm_xor_si64(c2[12],_mm_xor_si64(c2[8],_mm_xor_si64(c2[633],_mm_xor_si64(c2[933],_mm_xor_si64(c2[334],_mm_xor_si64(c2[2135],_mm_xor_si64(c2[1536],_mm_xor_si64(c2[2131],_mm_xor_si64(c2[1232],_mm_xor_si64(c2[1532],_mm_xor_si64(c2[1870],_mm_xor_si64(c2[2170],_mm_xor_si64(c2[1571],_mm_xor_si64(c2[968],_mm_xor_si64(c2[69],_mm_xor_si64(c2[369],_mm_xor_si64(c2[1294],_mm_xor_si64(c2[1594],_mm_xor_si64(c2[995],_mm_xor_si64(c2[1598],_mm_xor_si64(c2[1898],_mm_xor_si64(c2[1299],_mm_xor_si64(c2[992],_mm_xor_si64(c2[393],_mm_xor_si64(c2[1929],_mm_xor_si64(c2[2229],_mm_xor_si64(c2[1630],_mm_xor_si64(c2[1628],_mm_xor_si64(c2[1029],_mm_xor_si64(c2[2233],_mm_xor_si64(c2[1334],_mm_xor_si64(c2[1634],_mm_xor_si64(c2[755],_mm_xor_si64(c2[1055],_mm_xor_si64(c2[456],_mm_xor_si64(c2[1950],_mm_xor_si64(c2[1051],_mm_xor_si64(c2[1351],_mm_xor_si64(c2[1984],_mm_xor_si64(c2[2284],_mm_xor_si64(c2[1685],_mm_xor_si64(c2[2293],_mm_xor_si64(c2[194],_mm_xor_si64(c2[1994],_mm_xor_si64(c2[2286],_mm_xor_si64(c2[1387],_mm_xor_si64(c2[1687],_mm_xor_si64(c2[2014],_mm_xor_si64(c2[2314],_mm_xor_si64(c2[1715],_mm_xor_si64(c2[2321],_mm_xor_si64(c2[1422],_mm_xor_si64(c2[1722],_mm_xor_si64(c2[243],_mm_xor_si64(c2[543],_mm_xor_si64(c2[2343],_mm_xor_si64(c2[1146],_mm_xor_si64(c2[547],_mm_xor_si64(c2[1147],_mm_xor_si64(c2[248],_mm_xor_si64(c2[548],_mm_xor_si64(c2[2370],_mm_xor_si64(c2[271],_mm_xor_si64(c2[2071],_mm_xor_si64(c2[2077],_mm_xor_si64(c2[2377],_mm_xor_si64(c2[1778],_mm_xor_si64(c2[1181],_mm_xor_si64(c2[282],c2[582]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[525]=_mm_xor_si64(c2[10],_mm_xor_si64(c2[310],_mm_xor_si64(c2[1809],_mm_xor_si64(c2[601],_mm_xor_si64(c2[638],_mm_xor_si64(c2[938],_mm_xor_si64(c2[2140],_mm_xor_si64(c2[2136],_mm_xor_si64(c2[1540],_mm_xor_si64(c2[1860],_mm_xor_si64(c2[2160],_mm_xor_si64(c2[973],_mm_xor_si64(c2[1299],_mm_xor_si64(c2[1599],_mm_xor_si64(c2[1903],_mm_xor_si64(c2[997],_mm_xor_si64(c2[2234],_mm_xor_si64(c2[1633],_mm_xor_si64(c2[2223],_mm_xor_si64(c2[1060],_mm_xor_si64(c2[1955],_mm_xor_si64(c2[463],_mm_xor_si64(c2[1989],_mm_xor_si64(c2[2289],_mm_xor_si64(c2[184],_mm_xor_si64(c2[2291],_mm_xor_si64(c2[2319],_mm_xor_si64(c2[2311],_mm_xor_si64(c2[548],_mm_xor_si64(c2[1151],_mm_xor_si64(c2[1152],_mm_xor_si64(c2[2375],_mm_xor_si64(c2[276],_mm_xor_si64(c2[2382],c2[1171]))))))))))))))))))))))))))))))))));
//row: 36
d2[540]=_mm_xor_si64(c2[607],_mm_xor_si64(c2[74],c2[823]));
//row: 37
d2[555]=_mm_xor_si64(c2[907],_mm_xor_si64(c2[1202],_mm_xor_si64(c2[7],_mm_xor_si64(c2[302],_mm_xor_si64(c2[1213],_mm_xor_si64(c2[1508],_mm_xor_si64(c2[1535],_mm_xor_si64(c2[1830],_mm_xor_si64(c2[338],_mm_xor_si64(c2[633],_mm_xor_si64(c2[334],_mm_xor_si64(c2[344],_mm_xor_si64(c2[644],_mm_xor_si64(c2[373],_mm_xor_si64(c2[668],_mm_xor_si64(c2[1570],_mm_xor_si64(c2[1565],_mm_xor_si64(c2[1865],_mm_xor_si64(c2[2196],_mm_xor_si64(c2[92],_mm_xor_si64(c2[101],_mm_xor_si64(c2[396],_mm_xor_si64(c2[1594],_mm_xor_si64(c2[1904],_mm_xor_si64(c2[432],_mm_xor_si64(c2[727],_mm_xor_si64(c2[2230],_mm_xor_si64(c2[126],_mm_xor_si64(c2[421],_mm_xor_si64(c2[431],_mm_xor_si64(c2[731],_mm_xor_si64(c2[1657],_mm_xor_si64(c2[1952],_mm_xor_si64(c2[153],_mm_xor_si64(c2[163],_mm_xor_si64(c2[463],_mm_xor_si64(c2[487],_mm_xor_si64(c2[782],_mm_xor_si64(c2[781],_mm_xor_si64(c2[1091],_mm_xor_si64(c2[489],_mm_xor_si64(c2[484],_mm_xor_si64(c2[784],_mm_xor_si64(c2[517],_mm_xor_si64(c2[812],_mm_xor_si64(c2[524],_mm_xor_si64(c2[519],_mm_xor_si64(c2[819],_mm_xor_si64(c2[1145],_mm_xor_si64(c2[1440],_mm_xor_si64(c2[1748],_mm_xor_si64(c2[2043],_mm_xor_si64(c2[1749],_mm_xor_si64(c2[1744],_mm_xor_si64(c2[2044],_mm_xor_si64(c2[873],_mm_xor_si64(c2[1183],_mm_xor_si64(c2[580],_mm_xor_si64(c2[875],_mm_xor_si64(c2[1783],_mm_xor_si64(c2[1778],c2[2078])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[570]=_mm_xor_si64(c2[601],_mm_xor_si64(c2[901],_mm_xor_si64(c2[1],_mm_xor_si64(c2[1207],_mm_xor_si64(c2[1244],_mm_xor_si64(c2[1544],_mm_xor_si64(c2[332],_mm_xor_si64(c2[343],_mm_xor_si64(c2[635],_mm_xor_si64(c2[67],_mm_xor_si64(c2[367],_mm_xor_si64(c2[1564],_mm_xor_si64(c2[1890],_mm_xor_si64(c2[2190],_mm_xor_si64(c2[95],_mm_xor_si64(c2[1603],_mm_xor_si64(c2[426],_mm_xor_si64(c2[2224],_mm_xor_si64(c2[430],_mm_xor_si64(c2[1651],_mm_xor_si64(c2[162],_mm_xor_si64(c2[455],_mm_xor_si64(c2[181],_mm_xor_si64(c2[481],_mm_xor_si64(c2[790],_mm_xor_si64(c2[483],_mm_xor_si64(c2[511],_mm_xor_si64(c2[518],_mm_xor_si64(c2[1154],_mm_xor_si64(c2[1742],_mm_xor_si64(c2[1743],_mm_xor_si64(c2[582],_mm_xor_si64(c2[882],_mm_xor_si64(c2[574],c2[1777]))))))))))))))))))))))))))))))))));
//row: 39
d2[585]=_mm_xor_si64(c2[1811],_mm_xor_si64(c2[2111],_mm_xor_si64(c2[911],_mm_xor_si64(c2[1211],_mm_xor_si64(c2[3],_mm_xor_si64(c2[2105],_mm_xor_si64(c2[40],_mm_xor_si64(c2[340],_mm_xor_si64(c2[1542],_mm_xor_si64(c2[1538],_mm_xor_si64(c2[1262],_mm_xor_si64(c2[1562],_mm_xor_si64(c2[360],_mm_xor_si64(c2[701],_mm_xor_si64(c2[1001],_mm_xor_si64(c2[990],_mm_xor_si64(c2[1290],_mm_xor_si64(c2[399],_mm_xor_si64(c2[1321],_mm_xor_si64(c2[1621],_mm_xor_si64(c2[1020],_mm_xor_si64(c2[1625],_mm_xor_si64(c2[162],_mm_xor_si64(c2[462],_mm_xor_si64(c2[1357],_mm_xor_si64(c2[1391],_mm_xor_si64(c2[1691],_mm_xor_si64(c2[1685],_mm_xor_si64(c2[1985],_mm_xor_si64(c2[1693],_mm_xor_si64(c2[1421],_mm_xor_si64(c2[1721],_mm_xor_si64(c2[1713],_mm_xor_si64(c2[1715],_mm_xor_si64(c2[2049],_mm_xor_si64(c2[2349],_mm_xor_si64(c2[553],_mm_xor_si64(c2[554],_mm_xor_si64(c2[1777],_mm_xor_si64(c2[2077],_mm_xor_si64(c2[1484],_mm_xor_si64(c2[1784],c2[573]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[600]=_mm_xor_si64(c2[1211],_mm_xor_si64(c2[1810],_mm_xor_si64(c2[311],_mm_xor_si64(c2[910],_mm_xor_si64(c2[1502],_mm_xor_si64(c2[2101],_mm_xor_si64(c2[1839],_mm_xor_si64(c2[39],_mm_xor_si64(c2[642],_mm_xor_si64(c2[1241],_mm_xor_si64(c2[638],_mm_xor_si64(c2[937],_mm_xor_si64(c2[1237],_mm_xor_si64(c2[662],_mm_xor_si64(c2[1261],_mm_xor_si64(c2[1874],_mm_xor_si64(c2[2173],_mm_xor_si64(c2[74],_mm_xor_si64(c2[1869],_mm_xor_si64(c2[101],_mm_xor_si64(c2[700],_mm_xor_si64(c2[390],_mm_xor_si64(c2[1004],_mm_xor_si64(c2[1898],_mm_xor_si64(c2[98],_mm_xor_si64(c2[721],_mm_xor_si64(c2[1320],_mm_xor_si64(c2[120],_mm_xor_si64(c2[734],_mm_xor_si64(c2[725],_mm_xor_si64(c2[1024],_mm_xor_si64(c2[1324],_mm_xor_si64(c2[1961],_mm_xor_si64(c2[161],_mm_xor_si64(c2[457],_mm_xor_si64(c2[756],_mm_xor_si64(c2[1056],_mm_xor_si64(c2[791],_mm_xor_si64(c2[1390],_mm_xor_si64(c2[1085],_mm_xor_si64(c2[1684],_mm_xor_si64(c2[793],_mm_xor_si64(c2[1092],_mm_xor_si64(c2[1392],_mm_xor_si64(c2[821],_mm_xor_si64(c2[1420],_mm_xor_si64(c2[813],_mm_xor_si64(c2[1112],_mm_xor_si64(c2[1412],_mm_xor_si64(c2[1449],_mm_xor_si64(c2[2048],_mm_xor_si64(c2[2052],_mm_xor_si64(c2[252],_mm_xor_si64(c2[2053],_mm_xor_si64(c2[2352],_mm_xor_si64(c2[253],_mm_xor_si64(c2[1177],_mm_xor_si64(c2[1776],_mm_xor_si64(c2[884],_mm_xor_si64(c2[1483],_mm_xor_si64(c2[2072],_mm_xor_si64(c2[2371],c2[272]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[615]=_mm_xor_si64(c2[2101],_mm_xor_si64(c2[2],_mm_xor_si64(c2[1501],_mm_xor_si64(c2[308],_mm_xor_si64(c2[330],_mm_xor_si64(c2[630],_mm_xor_si64(c2[1832],_mm_xor_si64(c2[1843],_mm_xor_si64(c2[1536],_mm_xor_si64(c2[1567],_mm_xor_si64(c2[1867],_mm_xor_si64(c2[665],_mm_xor_si64(c2[991],_mm_xor_si64(c2[1291],_mm_xor_si64(c2[1595],_mm_xor_si64(c2[704],_mm_xor_si64(c2[1926],_mm_xor_si64(c2[1325],_mm_xor_si64(c2[1930],_mm_xor_si64(c2[752],_mm_xor_si64(c2[1662],_mm_xor_si64(c2[2261],_mm_xor_si64(c2[1681],_mm_xor_si64(c2[1981],_mm_xor_si64(c2[2290],_mm_xor_si64(c2[1983],_mm_xor_si64(c2[2011],_mm_xor_si64(c2[2018],_mm_xor_si64(c2[240],_mm_xor_si64(c2[843],_mm_xor_si64(c2[844],_mm_xor_si64(c2[2082],_mm_xor_si64(c2[2382],_mm_xor_si64(c2[2074],c2[878]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=128, byte encoding
static inline void ldpc_BG2_Zc128_byte(uint8_t *c,uint8_t *d) {
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
__m256i *c2,*d2;
int i2;
for (i2=0; i2<4; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm256_xor_si256(c2[640],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[1282],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[1371],_mm256_xor_si256(c2[568],_mm256_xor_si256(c2[898],_mm256_xor_si256(c2[2017],_mm256_xor_si256(c2[2024],_mm256_xor_si256(c2[425],_mm256_xor_si256(c2[905],_mm256_xor_si256(c2[2275],_mm256_xor_si256(c2[1553],_mm256_xor_si256(c2[2352],_mm256_xor_si256(c2[2283],_mm256_xor_si256(c2[603],_mm256_xor_si256(c2[2289],_mm256_xor_si256(c2[131],_mm256_xor_si256(c2[1330],_mm256_xor_si256(c2[2216],_mm256_xor_si256(c2[1737],_mm256_xor_si256(c2[2546],_mm256_xor_si256(c2[1267],_mm256_xor_si256(c2[1424],_mm256_xor_si256(c2[1034],_mm256_xor_si256(c2[2235],c2[2555]))))))))))))))))))))))))));
//row: 1
d2[4]=_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[640],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[1282],_mm256_xor_si256(c2[1691],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[1371],_mm256_xor_si256(c2[568],_mm256_xor_si256(c2[978],_mm256_xor_si256(c2[898],_mm256_xor_si256(c2[2017],_mm256_xor_si256(c2[2104],_mm256_xor_si256(c2[2024],_mm256_xor_si256(c2[425],_mm256_xor_si256(c2[905],_mm256_xor_si256(c2[2275],_mm256_xor_si256(c2[1553],_mm256_xor_si256(c2[2352],_mm256_xor_si256(c2[2283],_mm256_xor_si256(c2[603],_mm256_xor_si256(c2[2369],_mm256_xor_si256(c2[2289],_mm256_xor_si256(c2[131],_mm256_xor_si256(c2[1330],_mm256_xor_si256(c2[2216],_mm256_xor_si256(c2[1737],_mm256_xor_si256(c2[2546],_mm256_xor_si256(c2[1267],_mm256_xor_si256(c2[1424],_mm256_xor_si256(c2[1114],_mm256_xor_si256(c2[1034],_mm256_xor_si256(c2[2235],c2[2555]))))))))))))))))))))))))))))))));
//row: 2
d2[8]=_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[640],_mm256_xor_si256(c2[561],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[1282],_mm256_xor_si256(c2[1691],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[1371],_mm256_xor_si256(c2[568],_mm256_xor_si256(c2[978],_mm256_xor_si256(c2[898],_mm256_xor_si256(c2[2017],_mm256_xor_si256(c2[2104],_mm256_xor_si256(c2[2024],_mm256_xor_si256(c2[505],_mm256_xor_si256(c2[425],_mm256_xor_si256(c2[905],_mm256_xor_si256(c2[2355],_mm256_xor_si256(c2[2275],_mm256_xor_si256(c2[1553],_mm256_xor_si256(c2[2352],_mm256_xor_si256(c2[2363],_mm256_xor_si256(c2[2283],_mm256_xor_si256(c2[603],_mm256_xor_si256(c2[2369],_mm256_xor_si256(c2[2289],_mm256_xor_si256(c2[211],_mm256_xor_si256(c2[131],_mm256_xor_si256(c2[1330],_mm256_xor_si256(c2[2296],_mm256_xor_si256(c2[2216],_mm256_xor_si256(c2[1737],_mm256_xor_si256(c2[67],_mm256_xor_si256(c2[2546],_mm256_xor_si256(c2[1267],_mm256_xor_si256(c2[1424],_mm256_xor_si256(c2[1114],_mm256_xor_si256(c2[1034],_mm256_xor_si256(c2[2315],_mm256_xor_si256(c2[2235],c2[2555]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[12]=_mm256_xor_si256(c2[640],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[1282],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[1371],_mm256_xor_si256(c2[648],_mm256_xor_si256(c2[568],_mm256_xor_si256(c2[898],_mm256_xor_si256(c2[2097],_mm256_xor_si256(c2[2017],_mm256_xor_si256(c2[2024],_mm256_xor_si256(c2[425],_mm256_xor_si256(c2[905],_mm256_xor_si256(c2[2275],_mm256_xor_si256(c2[1553],_mm256_xor_si256(c2[2432],_mm256_xor_si256(c2[2352],_mm256_xor_si256(c2[2283],_mm256_xor_si256(c2[683],_mm256_xor_si256(c2[603],_mm256_xor_si256(c2[2289],_mm256_xor_si256(c2[131],_mm256_xor_si256(c2[1410],_mm256_xor_si256(c2[1330],_mm256_xor_si256(c2[2216],_mm256_xor_si256(c2[1817],_mm256_xor_si256(c2[1737],_mm256_xor_si256(c2[2546],_mm256_xor_si256(c2[1267],_mm256_xor_si256(c2[1504],_mm256_xor_si256(c2[1424],_mm256_xor_si256(c2[1034],_mm256_xor_si256(c2[2235],_mm256_xor_si256(c2[72],c2[2555]))))))))))))))))))))))))))))))))));
//row: 4
d2[16]=_mm256_xor_si256(c2[1282],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1043],_mm256_xor_si256(c2[1840],_mm256_xor_si256(c2[1521],_mm256_xor_si256(c2[2249],_mm256_xor_si256(c2[2169],_mm256_xor_si256(c2[1929],_mm256_xor_si256(c2[1130],_mm256_xor_si256(c2[1770],_mm256_xor_si256(c2[1536],_mm256_xor_si256(c2[1456],_mm256_xor_si256(c2[16],_mm256_xor_si256(c2[107],_mm256_xor_si256(c2[27],_mm256_xor_si256(c2[987],_mm256_xor_si256(c2[1467],_mm256_xor_si256(c2[274],_mm256_xor_si256(c2[2115],_mm256_xor_si256(c2[355],_mm256_xor_si256(c2[282],_mm256_xor_si256(c2[1161],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[689],_mm256_xor_si256(c2[1888],_mm256_xor_si256(c2[219],_mm256_xor_si256(c2[2299],_mm256_xor_si256(c2[545],_mm256_xor_si256(c2[1825],_mm256_xor_si256(c2[1986],_mm256_xor_si256(c2[1672],_mm256_xor_si256(c2[1592],_mm256_xor_si256(c2[234],c2[554]))))))))))))))))))))))))))))))))));
//row: 5
d2[20]=_mm256_xor_si256(c2[1283],_mm256_xor_si256(c2[1203],_mm256_xor_si256(c2[1040],_mm256_xor_si256(c2[1841],_mm256_xor_si256(c2[563],_mm256_xor_si256(c2[2250],_mm256_xor_si256(c2[2170],_mm256_xor_si256(c2[1930],_mm256_xor_si256(c2[1131],_mm256_xor_si256(c2[729],_mm256_xor_si256(c2[1537],_mm256_xor_si256(c2[1457],_mm256_xor_si256(c2[17],_mm256_xor_si256(c2[104],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[1464],_mm256_xor_si256(c2[275],_mm256_xor_si256(c2[2112],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[283],_mm256_xor_si256(c2[1162],_mm256_xor_si256(c2[202],_mm256_xor_si256(c2[369],_mm256_xor_si256(c2[289],_mm256_xor_si256(c2[690],_mm256_xor_si256(c2[1889],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[2296],_mm256_xor_si256(c2[2536],_mm256_xor_si256(c2[546],_mm256_xor_si256(c2[1826],_mm256_xor_si256(c2[1987],_mm256_xor_si256(c2[1673],_mm256_xor_si256(c2[1593],_mm256_xor_si256(c2[235],c2[555]))))))))))))))))))))))))))))))))))));
//row: 6
d2[24]=_mm256_xor_si256(c2[561],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[322],_mm256_xor_si256(c2[1123],_mm256_xor_si256(c2[2160],_mm256_xor_si256(c2[1528],_mm256_xor_si256(c2[1448],_mm256_xor_si256(c2[1208],_mm256_xor_si256(c2[409],_mm256_xor_si256(c2[819],_mm256_xor_si256(c2[739],_mm256_xor_si256(c2[1858],_mm256_xor_si256(c2[1945],_mm256_xor_si256(c2[1865],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[746],_mm256_xor_si256(c2[2112],_mm256_xor_si256(c2[1394],_mm256_xor_si256(c2[2193],_mm256_xor_si256(c2[2120],_mm256_xor_si256(c2[440],_mm256_xor_si256(c2[363],_mm256_xor_si256(c2[2210],_mm256_xor_si256(c2[2130],_mm256_xor_si256(c2[2531],_mm256_xor_si256(c2[1171],_mm256_xor_si256(c2[2057],_mm256_xor_si256(c2[1578],_mm256_xor_si256(c2[1097],_mm256_xor_si256(c2[2387],_mm256_xor_si256(c2[1104],_mm256_xor_si256(c2[1265],_mm256_xor_si256(c2[955],_mm256_xor_si256(c2[875],_mm256_xor_si256(c2[2072],_mm256_xor_si256(c2[2392],c2[2312]))))))))))))))))))))))))))))))))))));
//row: 7
d2[28]=_mm256_xor_si256(c2[960],_mm256_xor_si256(c2[880],_mm256_xor_si256(c2[2243],_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[2080],_mm256_xor_si256(c2[1522],_mm256_xor_si256(c2[322],_mm256_xor_si256(c2[1931],_mm256_xor_si256(c2[1851],_mm256_xor_si256(c2[651],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[411],_mm256_xor_si256(c2[2251],_mm256_xor_si256(c2[808],_mm256_xor_si256(c2[2171],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[1218],_mm256_xor_si256(c2[1138],_mm256_xor_si256(c2[2497],_mm256_xor_si256(c2[1137],_mm256_xor_si256(c2[2257],_mm256_xor_si256(c2[1057],_mm256_xor_si256(c2[2344],_mm256_xor_si256(c2[2264],_mm256_xor_si256(c2[1064],_mm256_xor_si256(c2[665],_mm256_xor_si256(c2[2024],_mm256_xor_si256(c2[1145],_mm256_xor_si256(c2[2504],_mm256_xor_si256(c2[2515],_mm256_xor_si256(c2[1315],_mm256_xor_si256(c2[1793],_mm256_xor_si256(c2[593],_mm256_xor_si256(c2[1472],_mm256_xor_si256(c2[33],_mm256_xor_si256(c2[1392],_mm256_xor_si256(c2[2523],_mm256_xor_si256(c2[1323],_mm256_xor_si256(c2[2282],_mm256_xor_si256(c2[843],_mm256_xor_si256(c2[2202],_mm256_xor_si256(c2[1560],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[2529],_mm256_xor_si256(c2[1329],_mm256_xor_si256(c2[371],_mm256_xor_si256(c2[1730],_mm256_xor_si256(c2[450],_mm256_xor_si256(c2[1570],_mm256_xor_si256(c2[370],_mm256_xor_si256(c2[2456],_mm256_xor_si256(c2[1256],_mm256_xor_si256(c2[857],_mm256_xor_si256(c2[1977],_mm256_xor_si256(c2[777],_mm256_xor_si256(c2[1016],_mm256_xor_si256(c2[227],_mm256_xor_si256(c2[1586],_mm256_xor_si256(c2[1507],_mm256_xor_si256(c2[307],_mm256_xor_si256(c2[544],_mm256_xor_si256(c2[1664],_mm256_xor_si256(c2[464],_mm256_xor_si256(c2[1354],_mm256_xor_si256(c2[1274],_mm256_xor_si256(c2[74],_mm256_xor_si256(c2[2475],_mm256_xor_si256(c2[1275],_mm256_xor_si256(c2[1675],_mm256_xor_si256(c2[232],c2[1595]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[32]=_mm256_xor_si256(c2[1203],_mm256_xor_si256(c2[1123],_mm256_xor_si256(c2[1040],_mm256_xor_si256(c2[960],_mm256_xor_si256(c2[1761],_mm256_xor_si256(c2[1120],_mm256_xor_si256(c2[2170],_mm256_xor_si256(c2[2090],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[1051],_mm256_xor_si256(c2[2410],_mm256_xor_si256(c2[1457],_mm256_xor_si256(c2[1377],_mm256_xor_si256(c2[2496],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[2507],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[904],_mm256_xor_si256(c2[1384],_mm256_xor_si256(c2[275],_mm256_xor_si256(c2[195],_mm256_xor_si256(c2[2032],_mm256_xor_si256(c2[272],_mm256_xor_si256(c2[283],_mm256_xor_si256(c2[203],_mm256_xor_si256(c2[1082],_mm256_xor_si256(c2[289],_mm256_xor_si256(c2[209],_mm256_xor_si256(c2[690],_mm256_xor_si256(c2[610],_mm256_xor_si256(c2[1809],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[2216],_mm256_xor_si256(c2[546],_mm256_xor_si256(c2[466],_mm256_xor_si256(c2[1746],_mm256_xor_si256(c2[1907],_mm256_xor_si256(c2[1593],_mm256_xor_si256(c2[1513],_mm256_xor_si256(c2[235],_mm256_xor_si256(c2[155],c2[475]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[36]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[402],_mm256_xor_si256(c2[2483],_mm256_xor_si256(c2[243],_mm256_xor_si256(c2[2320],_mm256_xor_si256(c2[1040],_mm256_xor_si256(c2[562],_mm256_xor_si256(c2[971],_mm256_xor_si256(c2[1369],_mm256_xor_si256(c2[891],_mm256_xor_si256(c2[1129],_mm256_xor_si256(c2[651],_mm256_xor_si256(c2[330],_mm256_xor_si256(c2[2411],_mm256_xor_si256(c2[890],_mm256_xor_si256(c2[258],_mm256_xor_si256(c2[656],_mm256_xor_si256(c2[178],_mm256_xor_si256(c2[1779],_mm256_xor_si256(c2[1297],_mm256_xor_si256(c2[1384],_mm256_xor_si256(c2[1786],_mm256_xor_si256(c2[1304],_mm256_xor_si256(c2[187],_mm256_xor_si256(c2[2264],_mm256_xor_si256(c2[667],_mm256_xor_si256(c2[185],_mm256_xor_si256(c2[2033],_mm256_xor_si256(c2[1555],_mm256_xor_si256(c2[1315],_mm256_xor_si256(c2[833],_mm256_xor_si256(c2[2114],_mm256_xor_si256(c2[1632],_mm256_xor_si256(c2[2041],_mm256_xor_si256(c2[1563],_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[2442],_mm256_xor_si256(c2[1649],_mm256_xor_si256(c2[2051],_mm256_xor_si256(c2[1569],_mm256_xor_si256(c2[2448],_mm256_xor_si256(c2[1970],_mm256_xor_si256(c2[1088],_mm256_xor_si256(c2[610],_mm256_xor_si256(c2[1978],_mm256_xor_si256(c2[1496],_mm256_xor_si256(c2[1499],_mm256_xor_si256(c2[1017],_mm256_xor_si256(c2[2304],_mm256_xor_si256(c2[1826],_mm256_xor_si256(c2[1025],_mm256_xor_si256(c2[547],_mm256_xor_si256(c2[1186],_mm256_xor_si256(c2[704],_mm256_xor_si256(c2[1106],_mm256_xor_si256(c2[394],_mm256_xor_si256(c2[792],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[1993],_mm256_xor_si256(c2[1515],_mm256_xor_si256(c2[2313],c2[1835])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[40]=_mm256_xor_si256(c2[880],_mm256_xor_si256(c2[2009],_mm256_xor_si256(c2[48],c2[1739])));
//row: 11
d2[44]=_mm256_xor_si256(c2[2],_mm256_xor_si256(c2[2402],_mm256_xor_si256(c2[640],_mm256_xor_si256(c2[880],_mm256_xor_si256(c2[969],_mm256_xor_si256(c2[729],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[2489],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[1459],_mm256_xor_si256(c2[1379],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[2346],_mm256_xor_si256(c2[267],_mm256_xor_si256(c2[1633],_mm256_xor_si256(c2[915],_mm256_xor_si256(c2[1794],_mm256_xor_si256(c2[1714],_mm256_xor_si256(c2[1641],_mm256_xor_si256(c2[41],_mm256_xor_si256(c2[2520],_mm256_xor_si256(c2[1651],_mm256_xor_si256(c2[2048],_mm256_xor_si256(c2[768],_mm256_xor_si256(c2[688],_mm256_xor_si256(c2[1578],_mm256_xor_si256(c2[1179],_mm256_xor_si256(c2[1099],_mm256_xor_si256(c2[1019],_mm256_xor_si256(c2[1904],_mm256_xor_si256(c2[625],_mm256_xor_si256(c2[866],_mm256_xor_si256(c2[786],_mm256_xor_si256(c2[392],_mm256_xor_si256(c2[1593],_mm256_xor_si256(c2[1993],_mm256_xor_si256(c2[1913],c2[1514])))))))))))))))))))))))))))))))))))));
//row: 12
d2[48]=_mm256_xor_si256(c2[1840],_mm256_xor_si256(c2[1760],_mm256_xor_si256(c2[1601],_mm256_xor_si256(c2[2402],_mm256_xor_si256(c2[248],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[2491],_mm256_xor_si256(c2[1688],_mm256_xor_si256(c2[2489],_mm256_xor_si256(c2[2098],_mm256_xor_si256(c2[2018],_mm256_xor_si256(c2[578],_mm256_xor_si256(c2[665],_mm256_xor_si256(c2[585],_mm256_xor_si256(c2[1545],_mm256_xor_si256(c2[2025],_mm256_xor_si256(c2[1227],_mm256_xor_si256(c2[832],_mm256_xor_si256(c2[114],_mm256_xor_si256(c2[913],_mm256_xor_si256(c2[840],_mm256_xor_si256(c2[1723],_mm256_xor_si256(c2[930],_mm256_xor_si256(c2[850],_mm256_xor_si256(c2[1251],_mm256_xor_si256(c2[2450],_mm256_xor_si256(c2[777],_mm256_xor_si256(c2[298],_mm256_xor_si256(c2[1107],_mm256_xor_si256(c2[2387],_mm256_xor_si256(c2[2544],_mm256_xor_si256(c2[2234],_mm256_xor_si256(c2[2154],_mm256_xor_si256(c2[792],c2[1112]))))))))))))))))))))))))))))))))));
//row: 13
d2[52]=_mm256_xor_si256(c2[483],_mm256_xor_si256(c2[320],_mm256_xor_si256(c2[1121],_mm256_xor_si256(c2[1522],_mm256_xor_si256(c2[1450],_mm256_xor_si256(c2[1210],_mm256_xor_si256(c2[491],_mm256_xor_si256(c2[411],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[737],_mm256_xor_si256(c2[1936],_mm256_xor_si256(c2[1856],_mm256_xor_si256(c2[1867],_mm256_xor_si256(c2[264],_mm256_xor_si256(c2[744],_mm256_xor_si256(c2[2114],_mm256_xor_si256(c2[1392],_mm256_xor_si256(c2[2275],_mm256_xor_si256(c2[2195],_mm256_xor_si256(c2[2122],_mm256_xor_si256(c2[522],_mm256_xor_si256(c2[442],_mm256_xor_si256(c2[2128],_mm256_xor_si256(c2[2529],_mm256_xor_si256(c2[1249],_mm256_xor_si256(c2[1169],_mm256_xor_si256(c2[2059],_mm256_xor_si256(c2[1656],_mm256_xor_si256(c2[1576],_mm256_xor_si256(c2[2385],_mm256_xor_si256(c2[1106],_mm256_xor_si256(c2[1347],_mm256_xor_si256(c2[1267],_mm256_xor_si256(c2[545],_mm256_xor_si256(c2[873],_mm256_xor_si256(c2[2074],_mm256_xor_si256(c2[2474],c2[2394])))))))))))))))))))))))))))))))))))));
//row: 14
d2[56]=_mm256_xor_si256(c2[960],_mm256_xor_si256(c2[880],_mm256_xor_si256(c2[1283],_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[1120],_mm256_xor_si256(c2[1522],_mm256_xor_si256(c2[1921],_mm256_xor_si256(c2[1931],_mm256_xor_si256(c2[1851],_mm256_xor_si256(c2[2250],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[2010],_mm256_xor_si256(c2[1291],_mm256_xor_si256(c2[808],_mm256_xor_si256(c2[1211],_mm256_xor_si256(c2[1531],_mm256_xor_si256(c2[1218],_mm256_xor_si256(c2[1138],_mm256_xor_si256(c2[1537],_mm256_xor_si256(c2[177],_mm256_xor_si256(c2[2257],_mm256_xor_si256(c2[97],_mm256_xor_si256(c2[2344],_mm256_xor_si256(c2[2264],_mm256_xor_si256(c2[104],_mm256_xor_si256(c2[665],_mm256_xor_si256(c2[1064],_mm256_xor_si256(c2[1145],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[2515],_mm256_xor_si256(c2[355],_mm256_xor_si256(c2[1793],_mm256_xor_si256(c2[2192],_mm256_xor_si256(c2[512],_mm256_xor_si256(c2[33],_mm256_xor_si256(c2[432],_mm256_xor_si256(c2[2523],_mm256_xor_si256(c2[363],_mm256_xor_si256(c2[1322],_mm256_xor_si256(c2[843],_mm256_xor_si256(c2[1242],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[2529],_mm256_xor_si256(c2[369],_mm256_xor_si256(c2[371],_mm256_xor_si256(c2[770],_mm256_xor_si256(c2[2049],_mm256_xor_si256(c2[1570],_mm256_xor_si256(c2[1969],_mm256_xor_si256(c2[1408],_mm256_xor_si256(c2[2456],_mm256_xor_si256(c2[296],_mm256_xor_si256(c2[2456],_mm256_xor_si256(c2[1977],_mm256_xor_si256(c2[2376],_mm256_xor_si256(c2[227],_mm256_xor_si256(c2[626],_mm256_xor_si256(c2[1507],_mm256_xor_si256(c2[1906],_mm256_xor_si256(c2[2147],_mm256_xor_si256(c2[1664],_mm256_xor_si256(c2[2067],_mm256_xor_si256(c2[1354],_mm256_xor_si256(c2[1274],_mm256_xor_si256(c2[1673],_mm256_xor_si256(c2[2475],_mm256_xor_si256(c2[315],_mm256_xor_si256(c2[715],_mm256_xor_si256(c2[232],c2[635])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[60]=_mm256_xor_si256(c2[2402],_mm256_xor_si256(c2[1841],_mm256_xor_si256(c2[2322],_mm256_xor_si256(c2[1682],_mm256_xor_si256(c2[2163],_mm256_xor_si256(c2[2483],_mm256_xor_si256(c2[401],_mm256_xor_si256(c2[1521],_mm256_xor_si256(c2[810],_mm256_xor_si256(c2[249],_mm256_xor_si256(c2[730],_mm256_xor_si256(c2[9],_mm256_xor_si256(c2[490],_mm256_xor_si256(c2[1769],_mm256_xor_si256(c2[2250],_mm256_xor_si256(c2[97],_mm256_xor_si256(c2[2099],_mm256_xor_si256(c2[17],_mm256_xor_si256(c2[659],_mm256_xor_si256(c2[1136],_mm256_xor_si256(c2[1227],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[1147],_mm256_xor_si256(c2[1626],_mm256_xor_si256(c2[2107],_mm256_xor_si256(c2[2106],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[913],_mm256_xor_si256(c2[1394],_mm256_xor_si256(c2[195],_mm256_xor_si256(c2[672],_mm256_xor_si256(c2[994],_mm256_xor_si256(c2[1475],_mm256_xor_si256(c2[921],_mm256_xor_si256(c2[1402],_mm256_xor_si256(c2[1800],_mm256_xor_si256(c2[2281],_mm256_xor_si256(c2[1488],_mm256_xor_si256(c2[931],_mm256_xor_si256(c2[1408],_mm256_xor_si256(c2[1328],_mm256_xor_si256(c2[1809],_mm256_xor_si256(c2[2531],_mm256_xor_si256(c2[449],_mm256_xor_si256(c2[858],_mm256_xor_si256(c2[1339],_mm256_xor_si256(c2[379],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[1184],_mm256_xor_si256(c2[1665],_mm256_xor_si256(c2[2464],_mm256_xor_si256(c2[386],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[547],_mm256_xor_si256(c2[233],_mm256_xor_si256(c2[2235],_mm256_xor_si256(c2[153],_mm256_xor_si256(c2[873],_mm256_xor_si256(c2[1354],_mm256_xor_si256(c2[1193],c2[1674]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[64]=_mm256_xor_si256(c2[1360],_mm256_xor_si256(c2[2163],_mm256_xor_si256(c2[1280],_mm256_xor_si256(c2[2083],_mm256_xor_si256(c2[2000],_mm256_xor_si256(c2[1121],_mm256_xor_si256(c2[1920],_mm256_xor_si256(c2[1922],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[2331],_mm256_xor_si256(c2[571],_mm256_xor_si256(c2[2251],_mm256_xor_si256(c2[491],_mm256_xor_si256(c2[2011],_mm256_xor_si256(c2[251],_mm256_xor_si256(c2[1208],_mm256_xor_si256(c2[2011],_mm256_xor_si256(c2[890],_mm256_xor_si256(c2[1618],_mm256_xor_si256(c2[2417],_mm256_xor_si256(c2[1538],_mm256_xor_si256(c2[2337],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[897],_mm256_xor_si256(c2[185],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[105],_mm256_xor_si256(c2[904],_mm256_xor_si256(c2[1944],_mm256_xor_si256(c2[1065],_mm256_xor_si256(c2[1864],_mm256_xor_si256(c2[1545],_mm256_xor_si256(c2[2344],_mm256_xor_si256(c2[1235],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[1155],_mm256_xor_si256(c2[2193],_mm256_xor_si256(c2[433],_mm256_xor_si256(c2[433],_mm256_xor_si256(c2[1232],_mm256_xor_si256(c2[1243],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[1163],_mm256_xor_si256(c2[1243],_mm256_xor_si256(c2[2042],_mm256_xor_si256(c2[450],_mm256_xor_si256(c2[1249],_mm256_xor_si256(c2[370],_mm256_xor_si256(c2[1169],_mm256_xor_si256(c2[1650],_mm256_xor_si256(c2[771],_mm256_xor_si256(c2[1570],_mm256_xor_si256(c2[1970],_mm256_xor_si256(c2[210],_mm256_xor_si256(c2[1176],_mm256_xor_si256(c2[297],_mm256_xor_si256(c2[1096],_mm256_xor_si256(c2[2377],_mm256_xor_si256(c2[617],_mm256_xor_si256(c2[1506],_mm256_xor_si256(c2[627],_mm256_xor_si256(c2[1426],_mm256_xor_si256(c2[1907],_mm256_xor_si256(c2[147],_mm256_xor_si256(c2[2064],_mm256_xor_si256(c2[304],_mm256_xor_si256(c2[1754],_mm256_xor_si256(c2[2553],_mm256_xor_si256(c2[1674],_mm256_xor_si256(c2[2473],_mm256_xor_si256(c2[1195],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[1115],_mm256_xor_si256(c2[632],_mm256_xor_si256(c2[1435],c2[1192])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[68]=_mm256_xor_si256(c2[2163],_mm256_xor_si256(c2[722],_mm256_xor_si256(c2[2083],_mm256_xor_si256(c2[642],_mm256_xor_si256(c2[563],_mm256_xor_si256(c2[1920],_mm256_xor_si256(c2[483],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[1280],_mm256_xor_si256(c2[571],_mm256_xor_si256(c2[1689],_mm256_xor_si256(c2[491],_mm256_xor_si256(c2[1609],_mm256_xor_si256(c2[251],_mm256_xor_si256(c2[1369],_mm256_xor_si256(c2[2011],_mm256_xor_si256(c2[570],_mm256_xor_si256(c2[2411],_mm256_xor_si256(c2[2417],_mm256_xor_si256(c2[976],_mm256_xor_si256(c2[2337],_mm256_xor_si256(c2[896],_mm256_xor_si256(c2[897],_mm256_xor_si256(c2[2019],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[2106],_mm256_xor_si256(c2[904],_mm256_xor_si256(c2[2026],_mm256_xor_si256(c2[507],_mm256_xor_si256(c2[1864],_mm256_xor_si256(c2[427],_mm256_xor_si256(c2[2344],_mm256_xor_si256(c2[907],_mm256_xor_si256(c2[2353],_mm256_xor_si256(c2[1155],_mm256_xor_si256(c2[2273],_mm256_xor_si256(c2[433],_mm256_xor_si256(c2[1555],_mm256_xor_si256(c2[1232],_mm256_xor_si256(c2[2354],_mm256_xor_si256(c2[2361],_mm256_xor_si256(c2[1163],_mm256_xor_si256(c2[2281],_mm256_xor_si256(c2[2042],_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[2283],_mm256_xor_si256(c2[1249],_mm256_xor_si256(c2[2371],_mm256_xor_si256(c2[1169],_mm256_xor_si256(c2[2291],_mm256_xor_si256(c2[209],_mm256_xor_si256(c2[1570],_mm256_xor_si256(c2[129],_mm256_xor_si256(c2[210],_mm256_xor_si256(c2[1328],_mm256_xor_si256(c2[2298],_mm256_xor_si256(c2[1096],_mm256_xor_si256(c2[2218],_mm256_xor_si256(c2[617],_mm256_xor_si256(c2[1739],_mm256_xor_si256(c2[65],_mm256_xor_si256(c2[1426],_mm256_xor_si256(c2[2544],_mm256_xor_si256(c2[147],_mm256_xor_si256(c2[1265],_mm256_xor_si256(c2[304],_mm256_xor_si256(c2[1426],_mm256_xor_si256(c2[2553],_mm256_xor_si256(c2[1112],_mm256_xor_si256(c2[2473],_mm256_xor_si256(c2[1032],_mm256_xor_si256(c2[2313],_mm256_xor_si256(c2[1115],_mm256_xor_si256(c2[2233],_mm256_xor_si256(c2[1435],c2[2553])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[72]=_mm256_xor_si256(c2[2242],_mm256_xor_si256(c2[210],c2[1497]));
//row: 19
d2[76]=_mm256_xor_si256(c2[82],_mm256_xor_si256(c2[2482],_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[1842],_mm256_xor_si256(c2[1049],_mm256_xor_si256(c2[809],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[1608],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[1459],_mm256_xor_si256(c2[1466],_mm256_xor_si256(c2[2426],_mm256_xor_si256(c2[347],_mm256_xor_si256(c2[1713],_mm256_xor_si256(c2[995],_mm256_xor_si256(c2[1794],_mm256_xor_si256(c2[1721],_mm256_xor_si256(c2[41],_mm256_xor_si256(c2[1731],_mm256_xor_si256(c2[2128],_mm256_xor_si256(c2[768],_mm256_xor_si256(c2[1658],_mm256_xor_si256(c2[1179],_mm256_xor_si256(c2[1984],_mm256_xor_si256(c2[705],_mm256_xor_si256(c2[866],_mm256_xor_si256(c2[472],_mm256_xor_si256(c2[1673],c2[1993]))))))))))))))))))))))))))));
//row: 20
d2[80]=_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[401],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[1043],_mm256_xor_si256(c2[1448],_mm256_xor_si256(c2[1368],_mm256_xor_si256(c2[1128],_mm256_xor_si256(c2[329],_mm256_xor_si256(c2[2088],_mm256_xor_si256(c2[739],_mm256_xor_si256(c2[659],_mm256_xor_si256(c2[1778],_mm256_xor_si256(c2[1865],_mm256_xor_si256(c2[1785],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[2032],_mm256_xor_si256(c2[1314],_mm256_xor_si256(c2[2113],_mm256_xor_si256(c2[755],_mm256_xor_si256(c2[2040],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[2130],_mm256_xor_si256(c2[2050],_mm256_xor_si256(c2[2451],_mm256_xor_si256(c2[1091],_mm256_xor_si256(c2[1977],_mm256_xor_si256(c2[1498],_mm256_xor_si256(c2[2307],_mm256_xor_si256(c2[1024],_mm256_xor_si256(c2[1185],_mm256_xor_si256(c2[875],_mm256_xor_si256(c2[795],_mm256_xor_si256(c2[1992],c2[2312]))))))))))))))))))))))))))))))))));
//row: 21
d2[84]=_mm256_xor_si256(c2[2082],_mm256_xor_si256(c2[1923],_mm256_xor_si256(c2[161],_mm256_xor_si256(c2[962],_mm256_xor_si256(c2[490],_mm256_xor_si256(c2[250],_mm256_xor_si256(c2[2090],_mm256_xor_si256(c2[2010],_mm256_xor_si256(c2[2336],_mm256_xor_si256(c2[976],_mm256_xor_si256(c2[896],_mm256_xor_si256(c2[907],_mm256_xor_si256(c2[1867],_mm256_xor_si256(c2[2347],_mm256_xor_si256(c2[1154],_mm256_xor_si256(c2[432],_mm256_xor_si256(c2[1315],_mm256_xor_si256(c2[1235],_mm256_xor_si256(c2[1162],_mm256_xor_si256(c2[2121],_mm256_xor_si256(c2[2041],_mm256_xor_si256(c2[1168],_mm256_xor_si256(c2[1569],_mm256_xor_si256(c2[289],_mm256_xor_si256(c2[209],_mm256_xor_si256(c2[1099],_mm256_xor_si256(c2[696],_mm256_xor_si256(c2[616],_mm256_xor_si256(c2[1425],_mm256_xor_si256(c2[146],_mm256_xor_si256(c2[387],_mm256_xor_si256(c2[307],_mm256_xor_si256(c2[865],_mm256_xor_si256(c2[2472],_mm256_xor_si256(c2[1114],_mm256_xor_si256(c2[1514],c2[1434]))))))))))))))))))))))))))))))))))));
//row: 22
d2[88]=_mm256_xor_si256(c2[2410],c2[2497]);
//row: 23
d2[92]=_mm256_xor_si256(c2[1840],_mm256_xor_si256(c2[907],c2[1163]));
//row: 24
d2[96]=_mm256_xor_si256(c2[1129],_mm256_xor_si256(c2[896],c2[712]));
//row: 25
d2[100]=_mm256_xor_si256(c2[323],c2[2280]);
//row: 26
d2[104]=_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[641],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[562],_mm256_xor_si256(c2[482],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[1283],_mm256_xor_si256(c2[802],_mm256_xor_si256(c2[1688],_mm256_xor_si256(c2[1608],_mm256_xor_si256(c2[1131],_mm256_xor_si256(c2[1368],_mm256_xor_si256(c2[891],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[569],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[979],_mm256_xor_si256(c2[899],_mm256_xor_si256(c2[418],_mm256_xor_si256(c2[1617],_mm256_xor_si256(c2[2018],_mm256_xor_si256(c2[1537],_mm256_xor_si256(c2[2336],_mm256_xor_si256(c2[2105],_mm256_xor_si256(c2[2025],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[506],_mm256_xor_si256(c2[426],_mm256_xor_si256(c2[2504],_mm256_xor_si256(c2[906],_mm256_xor_si256(c2[425],_mm256_xor_si256(c2[2352],_mm256_xor_si256(c2[2272],_mm256_xor_si256(c2[1795],_mm256_xor_si256(c2[1554],_mm256_xor_si256(c2[1073],_mm256_xor_si256(c2[1952],_mm256_xor_si256(c2[2353],_mm256_xor_si256(c2[1872],_mm256_xor_si256(c2[2360],_mm256_xor_si256(c2[2280],_mm256_xor_si256(c2[1803],_mm256_xor_si256(c2[203],_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[123],_mm256_xor_si256(c2[2370],_mm256_xor_si256(c2[2290],_mm256_xor_si256(c2[1809],_mm256_xor_si256(c2[208],_mm256_xor_si256(c2[128],_mm256_xor_si256(c2[2210],_mm256_xor_si256(c2[930],_mm256_xor_si256(c2[1331],_mm256_xor_si256(c2[850],_mm256_xor_si256(c2[2297],_mm256_xor_si256(c2[2217],_mm256_xor_si256(c2[1736],_mm256_xor_si256(c2[1337],_mm256_xor_si256(c2[1738],_mm256_xor_si256(c2[1257],_mm256_xor_si256(c2[1256],_mm256_xor_si256(c2[64],_mm256_xor_si256(c2[2547],_mm256_xor_si256(c2[2066],_mm256_xor_si256(c2[1264],_mm256_xor_si256(c2[787],_mm256_xor_si256(c2[1024],_mm256_xor_si256(c2[1425],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[1115],_mm256_xor_si256(c2[1035],_mm256_xor_si256(c2[554],_mm256_xor_si256(c2[2312],_mm256_xor_si256(c2[2232],_mm256_xor_si256(c2[1755],_mm256_xor_si256(c2[2155],_mm256_xor_si256(c2[2552],c2[2075])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[108]=_mm256_xor_si256(c2[640],c2[1888]);
//row: 28
d2[112]=_mm256_xor_si256(c2[171],_mm256_xor_si256(c2[419],c2[600]));
//row: 29
d2[116]=_mm256_xor_si256(c2[1440],c2[2272]);
//row: 30
d2[120]=_mm256_xor_si256(c2[578],_mm256_xor_si256(c2[1323],_mm256_xor_si256(c2[776],c2[1674])));
//row: 31
d2[124]=_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[561],_mm256_xor_si256(c2[1362],_mm256_xor_si256(c2[1691],_mm256_xor_si256(c2[1451],_mm256_xor_si256(c2[728],_mm256_xor_si256(c2[648],_mm256_xor_si256(c2[811],_mm256_xor_si256(c2[978],_mm256_xor_si256(c2[2177],_mm256_xor_si256(c2[2097],_mm256_xor_si256(c2[2104],_mm256_xor_si256(c2[505],_mm256_xor_si256(c2[985],_mm256_xor_si256(c2[2355],_mm256_xor_si256(c2[1633],_mm256_xor_si256(c2[2512],_mm256_xor_si256(c2[2432],_mm256_xor_si256(c2[2363],_mm256_xor_si256(c2[763],_mm256_xor_si256(c2[683],_mm256_xor_si256(c2[2369],_mm256_xor_si256(c2[211],_mm256_xor_si256(c2[1490],_mm256_xor_si256(c2[1410],_mm256_xor_si256(c2[2296],_mm256_xor_si256(c2[1897],_mm256_xor_si256(c2[1817],_mm256_xor_si256(c2[67],_mm256_xor_si256(c2[1347],_mm256_xor_si256(c2[1584],_mm256_xor_si256(c2[1504],_mm256_xor_si256(c2[1114],_mm256_xor_si256(c2[2315],_mm256_xor_si256(c2[152],c2[72])))))))))))))))))))))))))))))))))));
//row: 32
d2[128]=_mm256_xor_si256(c2[1201],_mm256_xor_si256(c2[1121],_mm256_xor_si256(c2[1042],_mm256_xor_si256(c2[962],_mm256_xor_si256(c2[1763],_mm256_xor_si256(c2[1443],_mm256_xor_si256(c2[2168],_mm256_xor_si256(c2[2088],_mm256_xor_si256(c2[1848],_mm256_xor_si256(c2[1049],_mm256_xor_si256(c2[1459],_mm256_xor_si256(c2[1379],_mm256_xor_si256(c2[2498],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[2505],_mm256_xor_si256(c2[986],_mm256_xor_si256(c2[906],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[273],_mm256_xor_si256(c2[193],_mm256_xor_si256(c2[2034],_mm256_xor_si256(c2[274],_mm256_xor_si256(c2[281],_mm256_xor_si256(c2[201],_mm256_xor_si256(c2[1080],_mm256_xor_si256(c2[1001],_mm256_xor_si256(c2[291],_mm256_xor_si256(c2[211],_mm256_xor_si256(c2[688],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[1811],_mm256_xor_si256(c2[218],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[2218],_mm256_xor_si256(c2[544],_mm256_xor_si256(c2[464],_mm256_xor_si256(c2[1744],_mm256_xor_si256(c2[1905],_mm256_xor_si256(c2[1595],_mm256_xor_si256(c2[1515],_mm256_xor_si256(c2[233],_mm256_xor_si256(c2[153],c2[473]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[132]=_mm256_xor_si256(c2[1523],_mm256_xor_si256(c2[1360],_mm256_xor_si256(c2[2161],_mm256_xor_si256(c2[2490],_mm256_xor_si256(c2[2250],_mm256_xor_si256(c2[1451],_mm256_xor_si256(c2[1777],_mm256_xor_si256(c2[337],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[344],_mm256_xor_si256(c2[1304],_mm256_xor_si256(c2[1784],_mm256_xor_si256(c2[595],_mm256_xor_si256(c2[2432],_mm256_xor_si256(c2[672],_mm256_xor_si256(c2[603],_mm256_xor_si256(c2[1482],_mm256_xor_si256(c2[609],_mm256_xor_si256(c2[1010],_mm256_xor_si256(c2[2209],_mm256_xor_si256(c2[536],_mm256_xor_si256(c2[57],_mm256_xor_si256(c2[377],_mm256_xor_si256(c2[866],_mm256_xor_si256(c2[2146],_mm256_xor_si256(c2[2307],_mm256_xor_si256(c2[1913],_mm256_xor_si256(c2[555],c2[875]))))))))))))))))))))))))))));
//row: 34
d2[136]=_mm256_xor_si256(c2[2402],_mm256_xor_si256(c2[2322],_mm256_xor_si256(c2[961],_mm256_xor_si256(c2[2243],_mm256_xor_si256(c2[2163],_mm256_xor_si256(c2[802],_mm256_xor_si256(c2[401],_mm256_xor_si256(c2[1603],_mm256_xor_si256(c2[1520],_mm256_xor_si256(c2[810],_mm256_xor_si256(c2[730],_mm256_xor_si256(c2[1928],_mm256_xor_si256(c2[490],_mm256_xor_si256(c2[1688],_mm256_xor_si256(c2[969],_mm256_xor_si256(c2[2250],_mm256_xor_si256(c2[889],_mm256_xor_si256(c2[97],_mm256_xor_si256(c2[17],_mm256_xor_si256(c2[1219],_mm256_xor_si256(c2[2418],_mm256_xor_si256(c2[1136],_mm256_xor_si256(c2[2338],_mm256_xor_si256(c2[1227],_mm256_xor_si256(c2[1147],_mm256_xor_si256(c2[2345],_mm256_xor_si256(c2[2187],_mm256_xor_si256(c2[2107],_mm256_xor_si256(c2[746],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[1226],_mm256_xor_si256(c2[1474],_mm256_xor_si256(c2[1394],_mm256_xor_si256(c2[33],_mm256_xor_si256(c2[672],_mm256_xor_si256(c2[1874],_mm256_xor_si256(c2[194],_mm256_xor_si256(c2[1475],_mm256_xor_si256(c2[114],_mm256_xor_si256(c2[1482],_mm256_xor_si256(c2[1402],_mm256_xor_si256(c2[41],_mm256_xor_si256(c2[1000],_mm256_xor_si256(c2[2281],_mm256_xor_si256(c2[920],_mm256_xor_si256(c2[1488],_mm256_xor_si256(c2[1408],_mm256_xor_si256(c2[51],_mm256_xor_si256(c2[1889],_mm256_xor_si256(c2[1809],_mm256_xor_si256(c2[448],_mm256_xor_si256(c2[1731],_mm256_xor_si256(c2[449],_mm256_xor_si256(c2[1651],_mm256_xor_si256(c2[1419],_mm256_xor_si256(c2[1339],_mm256_xor_si256(c2[2537],_mm256_xor_si256(c2[2138],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[2058],_mm256_xor_si256(c2[1745],_mm256_xor_si256(c2[1665],_mm256_xor_si256(c2[304],_mm256_xor_si256(c2[386],_mm256_xor_si256(c2[1584],_mm256_xor_si256(c2[1825],_mm256_xor_si256(c2[547],_mm256_xor_si256(c2[1745],_mm256_xor_si256(c2[233],_mm256_xor_si256(c2[153],_mm256_xor_si256(c2[1355],_mm256_xor_si256(c2[1434],_mm256_xor_si256(c2[1354],_mm256_xor_si256(c2[2552],_mm256_xor_si256(c2[393],_mm256_xor_si256(c2[1674],c2[313]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[140]=_mm256_xor_si256(c2[642],_mm256_xor_si256(c2[562],_mm256_xor_si256(c2[403],_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[1609],_mm256_xor_si256(c2[1529],_mm256_xor_si256(c2[1289],_mm256_xor_si256(c2[490],_mm256_xor_si256(c2[2009],_mm256_xor_si256(c2[896],_mm256_xor_si256(c2[816],_mm256_xor_si256(c2[1939],_mm256_xor_si256(c2[2026],_mm256_xor_si256(c2[1946],_mm256_xor_si256(c2[347],_mm256_xor_si256(c2[827],_mm256_xor_si256(c2[2193],_mm256_xor_si256(c2[1475],_mm256_xor_si256(c2[2274],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[521],_mm256_xor_si256(c2[681],_mm256_xor_si256(c2[2291],_mm256_xor_si256(c2[2211],_mm256_xor_si256(c2[49],_mm256_xor_si256(c2[1248],_mm256_xor_si256(c2[2138],_mm256_xor_si256(c2[1659],_mm256_xor_si256(c2[2464],_mm256_xor_si256(c2[1185],_mm256_xor_si256(c2[1346],_mm256_xor_si256(c2[1032],_mm256_xor_si256(c2[952],_mm256_xor_si256(c2[2153],c2[2473]))))))))))))))))))))))))))))))))));
//row: 36
d2[144]=_mm256_xor_si256(c2[960],_mm256_xor_si256(c2[497],c2[2136]));
//row: 37
d2[148]=_mm256_xor_si256(c2[243],_mm256_xor_si256(c2[2480],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[2321],_mm256_xor_si256(c2[881],_mm256_xor_si256(c2[563],_mm256_xor_si256(c2[1210],_mm256_xor_si256(c2[888],_mm256_xor_si256(c2[970],_mm256_xor_si256(c2[648],_mm256_xor_si256(c2[2488],_mm256_xor_si256(c2[171],_mm256_xor_si256(c2[2408],_mm256_xor_si256(c2[497],_mm256_xor_si256(c2[179],_mm256_xor_si256(c2[1378],_mm256_xor_si256(c2[1616],_mm256_xor_si256(c2[1298],_mm256_xor_si256(c2[1627],_mm256_xor_si256(c2[1305],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[2265],_mm256_xor_si256(c2[504],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[1874],_mm256_xor_si256(c2[1552],_mm256_xor_si256(c2[1152],_mm256_xor_si256(c2[834],_mm256_xor_si256(c2[1713],_mm256_xor_si256(c2[1955],_mm256_xor_si256(c2[1633],_mm256_xor_si256(c2[1882],_mm256_xor_si256(c2[1560],_mm256_xor_si256(c2[2523],_mm256_xor_si256(c2[202],_mm256_xor_si256(c2[2443],_mm256_xor_si256(c2[1888],_mm256_xor_si256(c2[1570],_mm256_xor_si256(c2[2289],_mm256_xor_si256(c2[1971],_mm256_xor_si256(c2[691],_mm256_xor_si256(c2[929],_mm256_xor_si256(c2[611],_mm256_xor_si256(c2[1819],_mm256_xor_si256(c2[1497],_mm256_xor_si256(c2[1098],_mm256_xor_si256(c2[1336],_mm256_xor_si256(c2[1018],_mm256_xor_si256(c2[2145],_mm256_xor_si256(c2[1827],_mm256_xor_si256(c2[866],_mm256_xor_si256(c2[544],_mm256_xor_si256(c2[785],_mm256_xor_si256(c2[1027],_mm256_xor_si256(c2[705],_mm256_xor_si256(c2[633],_mm256_xor_si256(c2[315],_mm256_xor_si256(c2[1834],_mm256_xor_si256(c2[1512],_mm256_xor_si256(c2[1912],_mm256_xor_si256(c2[2154],c2[1832])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[152]=_mm256_xor_si256(c2[1201],_mm256_xor_si256(c2[1121],_mm256_xor_si256(c2[962],_mm256_xor_si256(c2[1763],_mm256_xor_si256(c2[2168],_mm256_xor_si256(c2[2088],_mm256_xor_si256(c2[1848],_mm256_xor_si256(c2[1049],_mm256_xor_si256(c2[2488],_mm256_xor_si256(c2[1459],_mm256_xor_si256(c2[1379],_mm256_xor_si256(c2[2498],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[2505],_mm256_xor_si256(c2[906],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[193],_mm256_xor_si256(c2[2034],_mm256_xor_si256(c2[274],_mm256_xor_si256(c2[201],_mm256_xor_si256(c2[1080],_mm256_xor_si256(c2[202],_mm256_xor_si256(c2[291],_mm256_xor_si256(c2[211],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[1811],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[2218],_mm256_xor_si256(c2[464],_mm256_xor_si256(c2[1744],_mm256_xor_si256(c2[1905],_mm256_xor_si256(c2[1595],_mm256_xor_si256(c2[1515],_mm256_xor_si256(c2[153],c2[473]))))))))))))))))))))))))))))))))));
//row: 39
d2[156]=_mm256_xor_si256(c2[881],_mm256_xor_si256(c2[801],_mm256_xor_si256(c2[722],_mm256_xor_si256(c2[642],_mm256_xor_si256(c2[1443],_mm256_xor_si256(c2[1203],_mm256_xor_si256(c2[1848],_mm256_xor_si256(c2[1768],_mm256_xor_si256(c2[1528],_mm256_xor_si256(c2[729],_mm256_xor_si256(c2[1139],_mm256_xor_si256(c2[1059],_mm256_xor_si256(c2[2178],_mm256_xor_si256(c2[2265],_mm256_xor_si256(c2[2185],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[586],_mm256_xor_si256(c2[1066],_mm256_xor_si256(c2[2512],_mm256_xor_si256(c2[2432],_mm256_xor_si256(c2[1714],_mm256_xor_si256(c2[2513],_mm256_xor_si256(c2[2520],_mm256_xor_si256(c2[2440],_mm256_xor_si256(c2[760],_mm256_xor_si256(c2[2530],_mm256_xor_si256(c2[2450],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[1491],_mm256_xor_si256(c2[2457],_mm256_xor_si256(c2[2377],_mm256_xor_si256(c2[1898],_mm256_xor_si256(c2[1017],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[1424],_mm256_xor_si256(c2[1585],_mm256_xor_si256(c2[1275],_mm256_xor_si256(c2[1195],_mm256_xor_si256(c2[2472],_mm256_xor_si256(c2[2392],c2[153]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[160]=_mm256_xor_si256(c2[1522],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[1363],_mm256_xor_si256(c2[2400],_mm256_xor_si256(c2[2160],_mm256_xor_si256(c2[642],_mm256_xor_si256(c2[2489],_mm256_xor_si256(c2[971],_mm256_xor_si256(c2[2249],_mm256_xor_si256(c2[731],_mm256_xor_si256(c2[8],_mm256_xor_si256(c2[1450],_mm256_xor_si256(c2[2491],_mm256_xor_si256(c2[1776],_mm256_xor_si256(c2[258],_mm256_xor_si256(c2[1457],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[1377],_mm256_xor_si256(c2[16],_mm256_xor_si256(c2[347],_mm256_xor_si256(c2[1384],_mm256_xor_si256(c2[1307],_mm256_xor_si256(c2[2344],_mm256_xor_si256(c2[1787],_mm256_xor_si256(c2[265],_mm256_xor_si256(c2[594],_mm256_xor_si256(c2[1635],_mm256_xor_si256(c2[2435],_mm256_xor_si256(c2[913],_mm256_xor_si256(c2[1792],_mm256_xor_si256(c2[675],_mm256_xor_si256(c2[1712],_mm256_xor_si256(c2[602],_mm256_xor_si256(c2[1643],_mm256_xor_si256(c2[43],_mm256_xor_si256(c2[1481],_mm256_xor_si256(c2[2522],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[1649],_mm256_xor_si256(c2[1009],_mm256_xor_si256(c2[2050],_mm256_xor_si256(c2[770],_mm256_xor_si256(c2[2208],_mm256_xor_si256(c2[690],_mm256_xor_si256(c2[539],_mm256_xor_si256(c2[1576],_mm256_xor_si256(c2[1177],_mm256_xor_si256(c2[56],_mm256_xor_si256(c2[1097],_mm256_xor_si256(c2[865],_mm256_xor_si256(c2[1906],_mm256_xor_si256(c2[2145],_mm256_xor_si256(c2[627],_mm256_xor_si256(c2[864],_mm256_xor_si256(c2[2306],_mm256_xor_si256(c2[784],_mm256_xor_si256(c2[1912],_mm256_xor_si256(c2[394],_mm256_xor_si256(c2[554],_mm256_xor_si256(c2[1595],_mm256_xor_si256(c2[1995],_mm256_xor_si256(c2[874],c2[1915]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[164]=_mm256_xor_si256(c2[2483],_mm256_xor_si256(c2[2403],_mm256_xor_si256(c2[2240],_mm256_xor_si256(c2[482],_mm256_xor_si256(c2[891],_mm256_xor_si256(c2[811],_mm256_xor_si256(c2[571],_mm256_xor_si256(c2[2331],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[178],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[1217],_mm256_xor_si256(c2[1304],_mm256_xor_si256(c2[1224],_mm256_xor_si256(c2[2184],_mm256_xor_si256(c2[105],_mm256_xor_si256(c2[1475],_mm256_xor_si256(c2[753],_mm256_xor_si256(c2[1552],_mm256_xor_si256(c2[1483],_mm256_xor_si256(c2[2362],_mm256_xor_si256(c2[443],_mm256_xor_si256(c2[1569],_mm256_xor_si256(c2[1489],_mm256_xor_si256(c2[1890],_mm256_xor_si256(c2[530],_mm256_xor_si256(c2[1416],_mm256_xor_si256(c2[937],_mm256_xor_si256(c2[1746],_mm256_xor_si256(c2[467],_mm256_xor_si256(c2[624],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[234],_mm256_xor_si256(c2[1435],c2[1755]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=144, byte encoding
static inline void ldpc_BG2_Zc144_byte(uint8_t *c,uint8_t *d) {
__m128i *csimd=(__m128i *)c,*dsimd=(__m128i *)d;
__m128i *c2,*d2;
int i2;
for (i2=0; i2<9; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm_xor_si128(c2[360],_mm_xor_si128(c2[361],_mm_xor_si128(c2[2525],_mm_xor_si128(c2[1639],_mm_xor_si128(c2[1644],_mm_xor_si128(c2[1285],_mm_xor_si128(c2[759],_mm_xor_si128(c2[1483],_mm_xor_si128(c2[416],_mm_xor_si128(c2[2399],_mm_xor_si128(c2[2039],_mm_xor_si128(c2[1338],_mm_xor_si128(c2[2418],_mm_xor_si128(c2[973],_mm_xor_si128(c2[274],_mm_xor_si128(c2[630],_mm_xor_si128(c2[475],_mm_xor_si128(c2[653],_mm_xor_si128(c2[1552],_mm_xor_si128(c2[312],_mm_xor_si128(c2[129],_mm_xor_si128(c2[868],_mm_xor_si128(c2[2670],_mm_xor_si128(c2[2851],_mm_xor_si128(c2[2689],_mm_xor_si128(c2[345],c2[2686]))))))))))))))))))))))))));
//row: 1
d2[9]=_mm_xor_si128(c2[540],_mm_xor_si128(c2[360],_mm_xor_si128(c2[361],_mm_xor_si128(c2[2525],_mm_xor_si128(c2[1819],_mm_xor_si128(c2[1639],_mm_xor_si128(c2[1644],_mm_xor_si128(c2[1285],_mm_xor_si128(c2[939],_mm_xor_si128(c2[759],_mm_xor_si128(c2[1483],_mm_xor_si128(c2[596],_mm_xor_si128(c2[416],_mm_xor_si128(c2[2399],_mm_xor_si128(c2[2039],_mm_xor_si128(c2[1338],_mm_xor_si128(c2[2418],_mm_xor_si128(c2[973],_mm_xor_si128(c2[274],_mm_xor_si128(c2[630],_mm_xor_si128(c2[655],_mm_xor_si128(c2[475],_mm_xor_si128(c2[653],_mm_xor_si128(c2[1552],_mm_xor_si128(c2[312],_mm_xor_si128(c2[129],_mm_xor_si128(c2[868],_mm_xor_si128(c2[2670],_mm_xor_si128(c2[2851],_mm_xor_si128(c2[2869],_mm_xor_si128(c2[2689],_mm_xor_si128(c2[345],c2[2686]))))))))))))))))))))))))))))))));
//row: 2
d2[18]=_mm_xor_si128(c2[540],_mm_xor_si128(c2[360],_mm_xor_si128(c2[541],_mm_xor_si128(c2[361],_mm_xor_si128(c2[2525],_mm_xor_si128(c2[1819],_mm_xor_si128(c2[1639],_mm_xor_si128(c2[1644],_mm_xor_si128(c2[1285],_mm_xor_si128(c2[939],_mm_xor_si128(c2[759],_mm_xor_si128(c2[1483],_mm_xor_si128(c2[596],_mm_xor_si128(c2[416],_mm_xor_si128(c2[2579],_mm_xor_si128(c2[2399],_mm_xor_si128(c2[2039],_mm_xor_si128(c2[1518],_mm_xor_si128(c2[1338],_mm_xor_si128(c2[2418],_mm_xor_si128(c2[973],_mm_xor_si128(c2[454],_mm_xor_si128(c2[274],_mm_xor_si128(c2[630],_mm_xor_si128(c2[655],_mm_xor_si128(c2[475],_mm_xor_si128(c2[833],_mm_xor_si128(c2[653],_mm_xor_si128(c2[1552],_mm_xor_si128(c2[492],_mm_xor_si128(c2[312],_mm_xor_si128(c2[129],_mm_xor_si128(c2[1048],_mm_xor_si128(c2[868],_mm_xor_si128(c2[2670],_mm_xor_si128(c2[2851],_mm_xor_si128(c2[2869],_mm_xor_si128(c2[2689],_mm_xor_si128(c2[525],_mm_xor_si128(c2[345],c2[2686]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[27]=_mm_xor_si128(c2[360],_mm_xor_si128(c2[361],_mm_xor_si128(c2[2525],_mm_xor_si128(c2[1639],_mm_xor_si128(c2[1644],_mm_xor_si128(c2[1465],_mm_xor_si128(c2[1285],_mm_xor_si128(c2[759],_mm_xor_si128(c2[1663],_mm_xor_si128(c2[1483],_mm_xor_si128(c2[416],_mm_xor_si128(c2[2399],_mm_xor_si128(c2[2039],_mm_xor_si128(c2[1338],_mm_xor_si128(c2[2418],_mm_xor_si128(c2[1153],_mm_xor_si128(c2[973],_mm_xor_si128(c2[274],_mm_xor_si128(c2[810],_mm_xor_si128(c2[630],_mm_xor_si128(c2[475],_mm_xor_si128(c2[653],_mm_xor_si128(c2[1732],_mm_xor_si128(c2[1552],_mm_xor_si128(c2[312],_mm_xor_si128(c2[309],_mm_xor_si128(c2[129],_mm_xor_si128(c2[868],_mm_xor_si128(c2[2670],_mm_xor_si128(c2[152],_mm_xor_si128(c2[2851],_mm_xor_si128(c2[2689],_mm_xor_si128(c2[345],_mm_xor_si128(c2[2866],c2[2686]))))))))))))))))))))))))))))))))));
//row: 4
d2[36]=_mm_xor_si128(c2[1083],_mm_xor_si128(c2[903],_mm_xor_si128(c2[904],_mm_xor_si128(c2[180],_mm_xor_si128(c2[1802],_mm_xor_si128(c2[2362],_mm_xor_si128(c2[2182],_mm_xor_si128(c2[2178],_mm_xor_si128(c2[1819],_mm_xor_si128(c2[1459],_mm_xor_si128(c2[1482],_mm_xor_si128(c2[1302],_mm_xor_si128(c2[2017],_mm_xor_si128(c2[1139],_mm_xor_si128(c2[959],_mm_xor_si128(c2[54],_mm_xor_si128(c2[2582],_mm_xor_si128(c2[1872],_mm_xor_si128(c2[73],_mm_xor_si128(c2[1516],_mm_xor_si128(c2[817],_mm_xor_si128(c2[1173],_mm_xor_si128(c2[1189],_mm_xor_si128(c2[1009],_mm_xor_si128(c2[1196],_mm_xor_si128(c2[2095],_mm_xor_si128(c2[846],_mm_xor_si128(c2[672],_mm_xor_si128(c2[1411],_mm_xor_si128(c2[325],_mm_xor_si128(c2[506],_mm_xor_si128(c2[524],_mm_xor_si128(c2[344],_mm_xor_si128(c2[888],c2[350]))))))))))))))))))))))))))))))))));
//row: 5
d2[45]=_mm_xor_si128(c2[1804],_mm_xor_si128(c2[1624],_mm_xor_si128(c2[1625],_mm_xor_si128(c2[901],_mm_xor_si128(c2[1442],_mm_xor_si128(c2[204],_mm_xor_si128(c2[24],_mm_xor_si128(c2[20],_mm_xor_si128(c2[2540],_mm_xor_si128(c2[2186],_mm_xor_si128(c2[2203],_mm_xor_si128(c2[2023],_mm_xor_si128(c2[2738],_mm_xor_si128(c2[1860],_mm_xor_si128(c2[1680],_mm_xor_si128(c2[775],_mm_xor_si128(c2[415],_mm_xor_si128(c2[2593],_mm_xor_si128(c2[794],_mm_xor_si128(c2[2237],_mm_xor_si128(c2[1538],_mm_xor_si128(c2[1894],_mm_xor_si128(c2[815],_mm_xor_si128(c2[1910],_mm_xor_si128(c2[1730],_mm_xor_si128(c2[1908],_mm_xor_si128(c2[2816],_mm_xor_si128(c2[1567],_mm_xor_si128(c2[1393],_mm_xor_si128(c2[1754],_mm_xor_si128(c2[2132],_mm_xor_si128(c2[1046],_mm_xor_si128(c2[1227],_mm_xor_si128(c2[1245],_mm_xor_si128(c2[1065],_mm_xor_si128(c2[1609],c2[1062]))))))))))))))))))))))))))))))))))));
//row: 6
d2[54]=_mm_xor_si128(c2[2528],_mm_xor_si128(c2[2348],_mm_xor_si128(c2[2340],_mm_xor_si128(c2[1625],_mm_xor_si128(c2[2346],_mm_xor_si128(c2[919],_mm_xor_si128(c2[739],_mm_xor_si128(c2[744],_mm_xor_si128(c2[385],_mm_xor_si128(c2[39],_mm_xor_si128(c2[2738],_mm_xor_si128(c2[583],_mm_xor_si128(c2[2575],_mm_xor_si128(c2[2395],_mm_xor_si128(c2[1499],_mm_xor_si128(c2[1139],_mm_xor_si128(c2[438],_mm_xor_si128(c2[1518],_mm_xor_si128(c2[73],_mm_xor_si128(c2[2253],_mm_xor_si128(c2[2618],_mm_xor_si128(c2[1355],_mm_xor_si128(c2[2634],_mm_xor_si128(c2[2454],_mm_xor_si128(c2[2632],_mm_xor_si128(c2[652],_mm_xor_si128(c2[2291],_mm_xor_si128(c2[2108],_mm_xor_si128(c2[2112],_mm_xor_si128(c2[2847],_mm_xor_si128(c2[1770],_mm_xor_si128(c2[1951],_mm_xor_si128(c2[1969],_mm_xor_si128(c2[1789],_mm_xor_si128(c2[2324],_mm_xor_si128(c2[1786],c2[1070]))))))))))))))))))))))))))))))))))));
//row: 7
d2[63]=_mm_xor_si128(c2[2706],_mm_xor_si128(c2[2526],_mm_xor_si128(c2[544],_mm_xor_si128(c2[2527],_mm_xor_si128(c2[545],_mm_xor_si128(c2[1803],_mm_xor_si128(c2[2700],_mm_xor_si128(c2[1106],_mm_xor_si128(c2[926],_mm_xor_si128(c2[1823],_mm_xor_si128(c2[922],_mm_xor_si128(c2[1819],_mm_xor_si128(c2[563],_mm_xor_si128(c2[1640],_mm_xor_si128(c2[1460],_mm_xor_si128(c2[204],_mm_xor_si128(c2[217],_mm_xor_si128(c2[37],_mm_xor_si128(c2[943],_mm_xor_si128(c2[761],_mm_xor_si128(c2[1838],_mm_xor_si128(c2[1658],_mm_xor_si128(c2[2762],_mm_xor_si128(c2[2582],_mm_xor_si128(c2[600],_mm_xor_si128(c2[1677],_mm_xor_si128(c2[2574],_mm_xor_si128(c2[1317],_mm_xor_si128(c2[2214],_mm_xor_si128(c2[616],_mm_xor_si128(c2[1513],_mm_xor_si128(c2[1696],_mm_xor_si128(c2[2593],_mm_xor_si128(c2[260],_mm_xor_si128(c2[1337],_mm_xor_si128(c2[1157],_mm_xor_si128(c2[2431],_mm_xor_si128(c2[458],_mm_xor_si128(c2[2796],_mm_xor_si128(c2[994],_mm_xor_si128(c2[814],_mm_xor_si128(c2[1358],_mm_xor_si128(c2[2812],_mm_xor_si128(c2[2632],_mm_xor_si128(c2[650],_mm_xor_si128(c2[2810],_mm_xor_si128(c2[828],_mm_xor_si128(c2[830],_mm_xor_si128(c2[1916],_mm_xor_si128(c2[1736],_mm_xor_si128(c2[2469],_mm_xor_si128(c2[487],_mm_xor_si128(c2[2286],_mm_xor_si128(c2[493],_mm_xor_si128(c2[313],_mm_xor_si128(c2[668],_mm_xor_si128(c2[146],_mm_xor_si128(c2[1052],_mm_xor_si128(c2[1948],_mm_xor_si128(c2[2845],_mm_xor_si128(c2[2129],_mm_xor_si128(c2[327],_mm_xor_si128(c2[147],_mm_xor_si128(c2[2147],_mm_xor_si128(c2[1967],_mm_xor_si128(c2[2864],_mm_xor_si128(c2[2502],_mm_xor_si128(c2[529],_mm_xor_si128(c2[1964],_mm_xor_si128(c2[162],c2[2870]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[72]=_mm_xor_si128(c2[1985],_mm_xor_si128(c2[1805],_mm_xor_si128(c2[1986],_mm_xor_si128(c2[1806],_mm_xor_si128(c2[1082],_mm_xor_si128(c2[1084],_mm_xor_si128(c2[385],_mm_xor_si128(c2[205],_mm_xor_si128(c2[201],_mm_xor_si128(c2[2721],_mm_xor_si128(c2[922],_mm_xor_si128(c2[2384],_mm_xor_si128(c2[2204],_mm_xor_si128(c2[40],_mm_xor_si128(c2[2041],_mm_xor_si128(c2[1861],_mm_xor_si128(c2[1136],_mm_xor_si128(c2[956],_mm_xor_si128(c2[596],_mm_xor_si128(c2[75],_mm_xor_si128(c2[2774],_mm_xor_si128(c2[975],_mm_xor_si128(c2[2418],_mm_xor_si128(c2[1890],_mm_xor_si128(c2[1710],_mm_xor_si128(c2[2075],_mm_xor_si128(c2[2091],_mm_xor_si128(c2[1911],_mm_xor_si128(c2[2269],_mm_xor_si128(c2[2089],_mm_xor_si128(c2[109],_mm_xor_si128(c2[1928],_mm_xor_si128(c2[1748],_mm_xor_si128(c2[1574],_mm_xor_si128(c2[2484],_mm_xor_si128(c2[2304],_mm_xor_si128(c2[1227],_mm_xor_si128(c2[1408],_mm_xor_si128(c2[1426],_mm_xor_si128(c2[1246],_mm_xor_si128(c2[1970],_mm_xor_si128(c2[1790],c2[1243]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[81]=_mm_xor_si128(c2[1801],_mm_xor_si128(c2[723],_mm_xor_si128(c2[543],_mm_xor_si128(c2[1802],_mm_xor_si128(c2[544],_mm_xor_si128(c2[1087],_mm_xor_si128(c2[2708],_mm_xor_si128(c2[201],_mm_xor_si128(c2[2002],_mm_xor_si128(c2[1822],_mm_xor_si128(c2[206],_mm_xor_si128(c2[1818],_mm_xor_si128(c2[2726],_mm_xor_si128(c2[1459],_mm_xor_si128(c2[204],_mm_xor_si128(c2[2200],_mm_xor_si128(c2[1122],_mm_xor_si128(c2[942],_mm_xor_si128(c2[36],_mm_xor_si128(c2[1657],_mm_xor_si128(c2[1857],_mm_xor_si128(c2[779],_mm_xor_si128(c2[599],_mm_xor_si128(c2[961],_mm_xor_si128(c2[2582],_mm_xor_si128(c2[601],_mm_xor_si128(c2[2222],_mm_xor_si128(c2[2779],_mm_xor_si128(c2[1512],_mm_xor_si128(c2[980],_mm_xor_si128(c2[2592],_mm_xor_si128(c2[2414],_mm_xor_si128(c2[1156],_mm_xor_si128(c2[1715],_mm_xor_si128(c2[457],_mm_xor_si128(c2[2071],_mm_xor_si128(c2[813],_mm_xor_si128(c2[1916],_mm_xor_si128(c2[829],_mm_xor_si128(c2[649],_mm_xor_si128(c2[2094],_mm_xor_si128(c2[836],_mm_xor_si128(c2[114],_mm_xor_si128(c2[1735],_mm_xor_si128(c2[1753],_mm_xor_si128(c2[486],_mm_xor_si128(c2[1570],_mm_xor_si128(c2[312],_mm_xor_si128(c2[2309],_mm_xor_si128(c2[1051],_mm_xor_si128(c2[1232],_mm_xor_si128(c2[2844],_mm_xor_si128(c2[1404],_mm_xor_si128(c2[146],_mm_xor_si128(c2[1586],_mm_xor_si128(c2[1242],_mm_xor_si128(c2[164],_mm_xor_si128(c2[2863],_mm_xor_si128(c2[1786],_mm_xor_si128(c2[528],_mm_xor_si128(c2[1248],c2[2869])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[90]=_mm_xor_si128(c2[2522],_mm_xor_si128(c2[1640],_mm_xor_si128(c2[1014],c2[132])));
//row: 11
d2[99]=_mm_xor_si128(c2[364],_mm_xor_si128(c2[365],_mm_xor_si128(c2[2520],_mm_xor_si128(c2[2161],_mm_xor_si128(c2[1643],_mm_xor_si128(c2[1639],_mm_xor_si128(c2[1460],_mm_xor_si128(c2[1280],_mm_xor_si128(c2[763],_mm_xor_si128(c2[1658],_mm_xor_si128(c2[1478],_mm_xor_si128(c2[420],_mm_xor_si128(c2[2394],_mm_xor_si128(c2[2034],_mm_xor_si128(c2[1333],_mm_xor_si128(c2[2413],_mm_xor_si128(c2[1157],_mm_xor_si128(c2[977],_mm_xor_si128(c2[278],_mm_xor_si128(c2[814],_mm_xor_si128(c2[634],_mm_xor_si128(c2[470],_mm_xor_si128(c2[648],_mm_xor_si128(c2[1736],_mm_xor_si128(c2[1556],_mm_xor_si128(c2[307],_mm_xor_si128(c2[313],_mm_xor_si128(c2[133],_mm_xor_si128(c2[2647],_mm_xor_si128(c2[872],_mm_xor_si128(c2[2665],_mm_xor_si128(c2[147],_mm_xor_si128(c2[2846],_mm_xor_si128(c2[2684],_mm_xor_si128(c2[349],_mm_xor_si128(c2[2870],_mm_xor_si128(c2[2690],c2[889])))))))))))))))))))))))))))))))))))));
//row: 12
d2[108]=_mm_xor_si128(c2[1088],_mm_xor_si128(c2[908],_mm_xor_si128(c2[900],_mm_xor_si128(c2[185],_mm_xor_si128(c2[2358],_mm_xor_si128(c2[2178],_mm_xor_si128(c2[2183],_mm_xor_si128(c2[1824],_mm_xor_si128(c2[200],_mm_xor_si128(c2[1478],_mm_xor_si128(c2[1298],_mm_xor_si128(c2[2022],_mm_xor_si128(c2[1135],_mm_xor_si128(c2[955],_mm_xor_si128(c2[59],_mm_xor_si128(c2[2578],_mm_xor_si128(c2[1861],_mm_xor_si128(c2[1877],_mm_xor_si128(c2[78],_mm_xor_si128(c2[1512],_mm_xor_si128(c2[813],_mm_xor_si128(c2[1178],_mm_xor_si128(c2[1194],_mm_xor_si128(c2[1014],_mm_xor_si128(c2[1192],_mm_xor_si128(c2[2091],_mm_xor_si128(c2[851],_mm_xor_si128(c2[668],_mm_xor_si128(c2[1407],_mm_xor_si128(c2[330],_mm_xor_si128(c2[511],_mm_xor_si128(c2[529],_mm_xor_si128(c2[349],_mm_xor_si128(c2[884],c2[346]))))))))))))))))))))))))))))))))));
//row: 13
d2[117]=_mm_xor_si128(c2[183],_mm_xor_si128(c2[184],_mm_xor_si128(c2[2348],_mm_xor_si128(c2[2164],_mm_xor_si128(c2[1462],_mm_xor_si128(c2[1458],_mm_xor_si128(c2[1279],_mm_xor_si128(c2[1099],_mm_xor_si128(c2[920],_mm_xor_si128(c2[582],_mm_xor_si128(c2[1477],_mm_xor_si128(c2[1297],_mm_xor_si128(c2[239],_mm_xor_si128(c2[2222],_mm_xor_si128(c2[1862],_mm_xor_si128(c2[1152],_mm_xor_si128(c2[2232],_mm_xor_si128(c2[976],_mm_xor_si128(c2[796],_mm_xor_si128(c2[97],_mm_xor_si128(c2[633],_mm_xor_si128(c2[453],_mm_xor_si128(c2[289],_mm_xor_si128(c2[476],_mm_xor_si128(c2[1555],_mm_xor_si128(c2[1375],_mm_xor_si128(c2[126],_mm_xor_si128(c2[132],_mm_xor_si128(c2[2831],_mm_xor_si128(c2[691],_mm_xor_si128(c2[2484],_mm_xor_si128(c2[2845],_mm_xor_si128(c2[2665],_mm_xor_si128(c2[2667],_mm_xor_si128(c2[2503],_mm_xor_si128(c2[168],_mm_xor_si128(c2[2689],c2[2509])))))))))))))))))))))))))))))))))))));
//row: 14
d2[126]=_mm_xor_si128(c2[908],_mm_xor_si128(c2[728],_mm_xor_si128(c2[546],_mm_xor_si128(c2[720],_mm_xor_si128(c2[547],_mm_xor_si128(c2[5],_mm_xor_si128(c2[2702],_mm_xor_si128(c2[2178],_mm_xor_si128(c2[1998],_mm_xor_si128(c2[1825],_mm_xor_si128(c2[2003],_mm_xor_si128(c2[1821],_mm_xor_si128(c2[1644],_mm_xor_si128(c2[1642],_mm_xor_si128(c2[1462],_mm_xor_si128(c2[2726],_mm_xor_si128(c2[1298],_mm_xor_si128(c2[1118],_mm_xor_si128(c2[936],_mm_xor_si128(c2[1842],_mm_xor_si128(c2[1840],_mm_xor_si128(c2[1660],_mm_xor_si128(c2[955],_mm_xor_si128(c2[775],_mm_xor_si128(c2[602],_mm_xor_si128(c2[2758],_mm_xor_si128(c2[2576],_mm_xor_si128(c2[2398],_mm_xor_si128(c2[2216],_mm_xor_si128(c2[1697],_mm_xor_si128(c2[1515],_mm_xor_si128(c2[2777],_mm_xor_si128(c2[2595],_mm_xor_si128(c2[1332],_mm_xor_si128(c2[1339],_mm_xor_si128(c2[1159],_mm_xor_si128(c2[633],_mm_xor_si128(c2[451],_mm_xor_si128(c2[998],_mm_xor_si128(c2[996],_mm_xor_si128(c2[816],_mm_xor_si128(c2[1014],_mm_xor_si128(c2[834],_mm_xor_si128(c2[652],_mm_xor_si128(c2[1012],_mm_xor_si128(c2[830],_mm_xor_si128(c2[1911],_mm_xor_si128(c2[1909],_mm_xor_si128(c2[1729],_mm_xor_si128(c2[651],_mm_xor_si128(c2[671],_mm_xor_si128(c2[489],_mm_xor_si128(c2[488],_mm_xor_si128(c2[486],_mm_xor_si128(c2[306],_mm_xor_si128(c2[1227],_mm_xor_si128(c2[1045],_mm_xor_si128(c2[150],_mm_xor_si128(c2[2847],_mm_xor_si128(c2[331],_mm_xor_si128(c2[329],_mm_xor_si128(c2[149],_mm_xor_si128(c2[349],_mm_xor_si128(c2[169],_mm_xor_si128(c2[2866],_mm_xor_si128(c2[704],_mm_xor_si128(c2[522],_mm_xor_si128(c2[166],_mm_xor_si128(c2[164],c2[2863])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[135]=_mm_xor_si128(c2[366],_mm_xor_si128(c2[548],_mm_xor_si128(c2[368],_mm_xor_si128(c2[367],_mm_xor_si128(c2[360],_mm_xor_si128(c2[2522],_mm_xor_si128(c2[2524],_mm_xor_si128(c2[1988],_mm_xor_si128(c2[1645],_mm_xor_si128(c2[1818],_mm_xor_si128(c2[1638],_mm_xor_si128(c2[1641],_mm_xor_si128(c2[1643],_mm_xor_si128(c2[1282],_mm_xor_si128(c2[1284],_mm_xor_si128(c2[756],_mm_xor_si128(c2[938],_mm_xor_si128(c2[758],_mm_xor_si128(c2[1480],_mm_xor_si128(c2[1482],_mm_xor_si128(c2[422],_mm_xor_si128(c2[595],_mm_xor_si128(c2[415],_mm_xor_si128(c2[2396],_mm_xor_si128(c2[2398],_mm_xor_si128(c2[2036],_mm_xor_si128(c2[2038],_mm_xor_si128(c2[1335],_mm_xor_si128(c2[1337],_mm_xor_si128(c2[2415],_mm_xor_si128(c2[2417],_mm_xor_si128(c2[979],_mm_xor_si128(c2[972],_mm_xor_si128(c2[271],_mm_xor_si128(c2[273],_mm_xor_si128(c2[636],_mm_xor_si128(c2[638],_mm_xor_si128(c2[472],_mm_xor_si128(c2[654],_mm_xor_si128(c2[474],_mm_xor_si128(c2[650],_mm_xor_si128(c2[652],_mm_xor_si128(c2[1549],_mm_xor_si128(c2[1551],_mm_xor_si128(c2[309],_mm_xor_si128(c2[311],_mm_xor_si128(c2[126],_mm_xor_si128(c2[128],_mm_xor_si128(c2[865],_mm_xor_si128(c2[867],_mm_xor_si128(c2[2667],_mm_xor_si128(c2[2669],_mm_xor_si128(c2[2848],_mm_xor_si128(c2[2850],_mm_xor_si128(c2[2686],_mm_xor_si128(c2[2868],_mm_xor_si128(c2[2688],_mm_xor_si128(c2[342],_mm_xor_si128(c2[344],_mm_xor_si128(c2[2683],c2[2685]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[144]=_mm_xor_si128(c2[2701],_mm_xor_si128(c2[2521],_mm_xor_si128(c2[1980],_mm_xor_si128(c2[1800],_mm_xor_si128(c2[2522],_mm_xor_si128(c2[1981],_mm_xor_si128(c2[1801],_mm_xor_si128(c2[1807],_mm_xor_si128(c2[1086],_mm_xor_si128(c2[1101],_mm_xor_si128(c2[921],_mm_xor_si128(c2[380],_mm_xor_si128(c2[200],_mm_xor_si128(c2[926],_mm_xor_si128(c2[205],_mm_xor_si128(c2[558],_mm_xor_si128(c2[2725],_mm_xor_si128(c2[21],_mm_xor_si128(c2[221],_mm_xor_si128(c2[41],_mm_xor_si128(c2[2379],_mm_xor_si128(c2[2199],_mm_xor_si128(c2[756],_mm_xor_si128(c2[44],_mm_xor_si128(c2[2757],_mm_xor_si128(c2[2577],_mm_xor_si128(c2[2036],_mm_xor_si128(c2[1856],_mm_xor_si128(c2[1681],_mm_xor_si128(c2[1140],_mm_xor_si128(c2[960],_mm_xor_si128(c2[1321],_mm_xor_si128(c2[600],_mm_xor_si128(c2[620],_mm_xor_si128(c2[79],_mm_xor_si128(c2[2778],_mm_xor_si128(c2[1700],_mm_xor_si128(c2[979],_mm_xor_si128(c2[255],_mm_xor_si128(c2[2413],_mm_xor_si128(c2[2435],_mm_xor_si128(c2[1894],_mm_xor_si128(c2[1714],_mm_xor_si128(c2[2791],_mm_xor_si128(c2[2070],_mm_xor_si128(c2[2816],_mm_xor_si128(c2[2636],_mm_xor_si128(c2[2095],_mm_xor_si128(c2[1915],_mm_xor_si128(c2[2814],_mm_xor_si128(c2[2273],_mm_xor_si128(c2[2093],_mm_xor_si128(c2[834],_mm_xor_si128(c2[113],_mm_xor_si128(c2[2473],_mm_xor_si128(c2[1932],_mm_xor_si128(c2[1752],_mm_xor_si128(c2[2290],_mm_xor_si128(c2[1569],_mm_xor_si128(c2[150],_mm_xor_si128(c2[2488],_mm_xor_si128(c2[2308],_mm_xor_si128(c2[1952],_mm_xor_si128(c2[1231],_mm_xor_si128(c2[2124],_mm_xor_si128(c2[1412],_mm_xor_si128(c2[2142],_mm_xor_si128(c2[1962],_mm_xor_si128(c2[1430],_mm_xor_si128(c2[1250],_mm_xor_si128(c2[2506],_mm_xor_si128(c2[1965],_mm_xor_si128(c2[1785],_mm_xor_si128(c2[1968],_mm_xor_si128(c2[1247],c2[1782])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[153]=_mm_xor_si128(c2[724],_mm_xor_si128(c2[544],_mm_xor_si128(c2[2342],_mm_xor_si128(c2[2162],_mm_xor_si128(c2[545],_mm_xor_si128(c2[2343],_mm_xor_si128(c2[2163],_mm_xor_si128(c2[2700],_mm_xor_si128(c2[1448],_mm_xor_si128(c2[2003],_mm_xor_si128(c2[1823],_mm_xor_si128(c2[742],_mm_xor_si128(c2[562],_mm_xor_si128(c2[1819],_mm_xor_si128(c2[558],_mm_xor_si128(c2[1460],_mm_xor_si128(c2[199],_mm_xor_si128(c2[1465],_mm_xor_si128(c2[1123],_mm_xor_si128(c2[943],_mm_xor_si128(c2[2741],_mm_xor_si128(c2[2561],_mm_xor_si128(c2[1658],_mm_xor_si128(c2[397],_mm_xor_si128(c2[780],_mm_xor_si128(c2[600],_mm_xor_si128(c2[2398],_mm_xor_si128(c2[2218],_mm_xor_si128(c2[2574],_mm_xor_si128(c2[1502],_mm_xor_si128(c2[1322],_mm_xor_si128(c2[2214],_mm_xor_si128(c2[962],_mm_xor_si128(c2[1513],_mm_xor_si128(c2[432],_mm_xor_si128(c2[252],_mm_xor_si128(c2[2593],_mm_xor_si128(c2[1332],_mm_xor_si128(c2[1157],_mm_xor_si128(c2[2775],_mm_xor_si128(c2[458],_mm_xor_si128(c2[2256],_mm_xor_si128(c2[2076],_mm_xor_si128(c2[814],_mm_xor_si128(c2[2432],_mm_xor_si128(c2[2072],_mm_xor_si128(c2[830],_mm_xor_si128(c2[650],_mm_xor_si128(c2[2448],_mm_xor_si128(c2[2268],_mm_xor_si128(c2[828],_mm_xor_si128(c2[2635],_mm_xor_si128(c2[2455],_mm_xor_si128(c2[1736],_mm_xor_si128(c2[475],_mm_xor_si128(c2[487],_mm_xor_si128(c2[2294],_mm_xor_si128(c2[2114],_mm_xor_si128(c2[313],_mm_xor_si128(c2[1931],_mm_xor_si128(c2[1052],_mm_xor_si128(c2[2850],_mm_xor_si128(c2[2670],_mm_xor_si128(c2[2845],_mm_xor_si128(c2[1584],_mm_xor_si128(c2[147],_mm_xor_si128(c2[1765],_mm_xor_si128(c2[165],_mm_xor_si128(c2[2864],_mm_xor_si128(c2[1783],_mm_xor_si128(c2[1603],_mm_xor_si128(c2[529],_mm_xor_si128(c2[2327],_mm_xor_si128(c2[2147],_mm_xor_si128(c2[2870],c2[1609])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[162]=_mm_xor_si128(c2[181],_mm_xor_si128(c2[1914],c2[2654]));
//row: 19
d2[171]=_mm_xor_si128(c2[1982],_mm_xor_si128(c2[1983],_mm_xor_si128(c2[1268],_mm_xor_si128(c2[2704],_mm_xor_si128(c2[382],_mm_xor_si128(c2[378],_mm_xor_si128(c2[19],_mm_xor_si128(c2[2179],_mm_xor_si128(c2[2381],_mm_xor_si128(c2[217],_mm_xor_si128(c2[2038],_mm_xor_si128(c2[1142],_mm_xor_si128(c2[782],_mm_xor_si128(c2[72],_mm_xor_si128(c2[1152],_mm_xor_si128(c2[2595],_mm_xor_si128(c2[1896],_mm_xor_si128(c2[2252],_mm_xor_si128(c2[2088],_mm_xor_si128(c2[2275],_mm_xor_si128(c2[295],_mm_xor_si128(c2[1934],_mm_xor_si128(c2[1751],_mm_xor_si128(c2[2490],_mm_xor_si128(c2[1404],_mm_xor_si128(c2[1585],_mm_xor_si128(c2[1423],_mm_xor_si128(c2[1967],c2[1429]))))))))))))))))))))))))))));
//row: 20
d2[180]=_mm_xor_si128(c2[185],_mm_xor_si128(c2[5],_mm_xor_si128(c2[6],_mm_xor_si128(c2[2161],_mm_xor_si128(c2[1464],_mm_xor_si128(c2[1284],_mm_xor_si128(c2[1280],_mm_xor_si128(c2[921],_mm_xor_si128(c2[378],_mm_xor_si128(c2[584],_mm_xor_si128(c2[404],_mm_xor_si128(c2[1119],_mm_xor_si128(c2[241],_mm_xor_si128(c2[61],_mm_xor_si128(c2[2035],_mm_xor_si128(c2[1675],_mm_xor_si128(c2[974],_mm_xor_si128(c2[2054],_mm_xor_si128(c2[618],_mm_xor_si128(c2[1338],_mm_xor_si128(c2[2798],_mm_xor_si128(c2[275],_mm_xor_si128(c2[291],_mm_xor_si128(c2[111],_mm_xor_si128(c2[289],_mm_xor_si128(c2[1188],_mm_xor_si128(c2[2827],_mm_xor_si128(c2[2653],_mm_xor_si128(c2[504],_mm_xor_si128(c2[2306],_mm_xor_si128(c2[2487],_mm_xor_si128(c2[2505],_mm_xor_si128(c2[2325],_mm_xor_si128(c2[2869],c2[2322]))))))))))))))))))))))))))))))))));
//row: 21
d2[189]=_mm_xor_si128(c2[545],_mm_xor_si128(c2[546],_mm_xor_si128(c2[2701],_mm_xor_si128(c2[1985],_mm_xor_si128(c2[1824],_mm_xor_si128(c2[1820],_mm_xor_si128(c2[1641],_mm_xor_si128(c2[1461],_mm_xor_si128(c2[944],_mm_xor_si128(c2[1839],_mm_xor_si128(c2[1659],_mm_xor_si128(c2[601],_mm_xor_si128(c2[2575],_mm_xor_si128(c2[2215],_mm_xor_si128(c2[1514],_mm_xor_si128(c2[2594],_mm_xor_si128(c2[1338],_mm_xor_si128(c2[1158],_mm_xor_si128(c2[450],_mm_xor_si128(c2[995],_mm_xor_si128(c2[815],_mm_xor_si128(c2[651],_mm_xor_si128(c2[829],_mm_xor_si128(c2[1908],_mm_xor_si128(c2[1728],_mm_xor_si128(c2[488],_mm_xor_si128(c2[494],_mm_xor_si128(c2[314],_mm_xor_si128(c2[1044],_mm_xor_si128(c2[2846],_mm_xor_si128(c2[328],_mm_xor_si128(c2[148],_mm_xor_si128(c2[2128],_mm_xor_si128(c2[2865],_mm_xor_si128(c2[530],_mm_xor_si128(c2[163],c2[2862]))))))))))))))))))))))))))))))))))));
//row: 22
d2[198]=_mm_xor_si128(c2[1101],c2[764]);
//row: 23
d2[207]=_mm_xor_si128(c2[724],_mm_xor_si128(c2[601],c2[1533]));
//row: 24
d2[216]=_mm_xor_si128(c2[2539],_mm_xor_si128(c2[1838],c2[1068]));
//row: 25
d2[225]=_mm_xor_si128(c2[8],c2[2793]);
//row: 26
d2[234]=_mm_xor_si128(c2[1266],_mm_xor_si128(c2[1086],_mm_xor_si128(c2[1268],_mm_xor_si128(c2[1267],_mm_xor_si128(c2[1087],_mm_xor_si128(c2[1260],_mm_xor_si128(c2[363],_mm_xor_si128(c2[545],_mm_xor_si128(c2[2545],_mm_xor_si128(c2[2365],_mm_xor_si128(c2[2538],_mm_xor_si128(c2[2361],_mm_xor_si128(c2[2543],_mm_xor_si128(c2[2002],_mm_xor_si128(c2[2364],_mm_xor_si128(c2[2184],_mm_xor_si128(c2[1656],_mm_xor_si128(c2[1476],_mm_xor_si128(c2[1658],_mm_xor_si128(c2[2200],_mm_xor_si128(c2[2562],_mm_xor_si128(c2[2382],_mm_xor_si128(c2[2564],_mm_xor_si128(c2[1322],_mm_xor_si128(c2[1142],_mm_xor_si128(c2[1315],_mm_xor_si128(c2[417],_mm_xor_si128(c2[237],_mm_xor_si128(c2[419],_mm_xor_si128(c2[2756],_mm_xor_si128(c2[59],_mm_xor_si128(c2[2235],_mm_xor_si128(c2[2055],_mm_xor_si128(c2[2237],_mm_xor_si128(c2[256],_mm_xor_si128(c2[438],_mm_xor_si128(c2[1699],_mm_xor_si128(c2[2052],_mm_xor_si128(c2[1872],_mm_xor_si128(c2[1171],_mm_xor_si128(c2[991],_mm_xor_si128(c2[1173],_mm_xor_si128(c2[1356],_mm_xor_si128(c2[1718],_mm_xor_si128(c2[1538],_mm_xor_si128(c2[1372],_mm_xor_si128(c2[1192],_mm_xor_si128(c2[1374],_mm_xor_si128(c2[1550],_mm_xor_si128(c2[1370],_mm_xor_si128(c2[1552],_mm_xor_si128(c2[2269],_mm_xor_si128(c2[2631],_mm_xor_si128(c2[2451],_mm_xor_si128(c2[1209],_mm_xor_si128(c2[1029],_mm_xor_si128(c2[1211],_mm_xor_si128(c2[846],_mm_xor_si128(c2[1208],_mm_xor_si128(c2[1028],_mm_xor_si128(c2[2287],_mm_xor_si128(c2[1765],_mm_xor_si128(c2[1585],_mm_xor_si128(c2[1767],_mm_xor_si128(c2[508],_mm_xor_si128(c2[690],_mm_xor_si128(c2[689],_mm_xor_si128(c2[1051],_mm_xor_si128(c2[871],_mm_xor_si128(c2[707],_mm_xor_si128(c2[527],_mm_xor_si128(c2[709],_mm_xor_si128(c2[1242],_mm_xor_si128(c2[1062],_mm_xor_si128(c2[1244],_mm_xor_si128(c2[524],_mm_xor_si128(c2[886],c2[706])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[243]=_mm_xor_si128(c2[2340],c2[1908]);
//row: 28
d2[252]=_mm_xor_si128(c2[1824],_mm_xor_si128(c2[2380],c2[2072]));
//row: 29
d2[261]=_mm_xor_si128(c2[908],c2[1693]);
//row: 30
d2[270]=_mm_xor_si128(c2[1301],_mm_xor_si128(c2[1533],_mm_xor_si128(c2[1572],c2[1246])));
//row: 31
d2[279]=_mm_xor_si128(c2[2348],_mm_xor_si128(c2[2340],_mm_xor_si128(c2[1625],_mm_xor_si128(c2[739],_mm_xor_si128(c2[744],_mm_xor_si128(c2[565],_mm_xor_si128(c2[385],_mm_xor_si128(c2[23],_mm_xor_si128(c2[2738],_mm_xor_si128(c2[763],_mm_xor_si128(c2[583],_mm_xor_si128(c2[2395],_mm_xor_si128(c2[1499],_mm_xor_si128(c2[1139],_mm_xor_si128(c2[438],_mm_xor_si128(c2[1518],_mm_xor_si128(c2[253],_mm_xor_si128(c2[73],_mm_xor_si128(c2[2253],_mm_xor_si128(c2[2798],_mm_xor_si128(c2[2618],_mm_xor_si128(c2[2454],_mm_xor_si128(c2[2632],_mm_xor_si128(c2[832],_mm_xor_si128(c2[652],_mm_xor_si128(c2[2291],_mm_xor_si128(c2[2288],_mm_xor_si128(c2[2108],_mm_xor_si128(c2[2847],_mm_xor_si128(c2[1770],_mm_xor_si128(c2[2131],_mm_xor_si128(c2[1951],_mm_xor_si128(c2[1789],_mm_xor_si128(c2[2324],_mm_xor_si128(c2[1966],c2[1786])))))))))))))))))))))))))))))))))));
//row: 32
d2[288]=_mm_xor_si128(c2[1804],_mm_xor_si128(c2[1624],_mm_xor_si128(c2[1805],_mm_xor_si128(c2[1625],_mm_xor_si128(c2[901],_mm_xor_si128(c2[2],_mm_xor_si128(c2[204],_mm_xor_si128(c2[24],_mm_xor_si128(c2[20],_mm_xor_si128(c2[2540],_mm_xor_si128(c2[2203],_mm_xor_si128(c2[2023],_mm_xor_si128(c2[2738],_mm_xor_si128(c2[1860],_mm_xor_si128(c2[1680],_mm_xor_si128(c2[955],_mm_xor_si128(c2[775],_mm_xor_si128(c2[415],_mm_xor_si128(c2[2773],_mm_xor_si128(c2[2593],_mm_xor_si128(c2[794],_mm_xor_si128(c2[2237],_mm_xor_si128(c2[1718],_mm_xor_si128(c2[1538],_mm_xor_si128(c2[1894],_mm_xor_si128(c2[1715],_mm_xor_si128(c2[1910],_mm_xor_si128(c2[1730],_mm_xor_si128(c2[2088],_mm_xor_si128(c2[1908],_mm_xor_si128(c2[2816],_mm_xor_si128(c2[1747],_mm_xor_si128(c2[1567],_mm_xor_si128(c2[1393],_mm_xor_si128(c2[2312],_mm_xor_si128(c2[2132],_mm_xor_si128(c2[1046],_mm_xor_si128(c2[1227],_mm_xor_si128(c2[1245],_mm_xor_si128(c2[1065],_mm_xor_si128(c2[1789],_mm_xor_si128(c2[1609],c2[1062]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[297]=_mm_xor_si128(c2[720],_mm_xor_si128(c2[721],_mm_xor_si128(c2[6],_mm_xor_si128(c2[1999],_mm_xor_si128(c2[2004],_mm_xor_si128(c2[1645],_mm_xor_si128(c2[1119],_mm_xor_si128(c2[1843],_mm_xor_si128(c2[1304],_mm_xor_si128(c2[776],_mm_xor_si128(c2[2759],_mm_xor_si128(c2[2399],_mm_xor_si128(c2[1698],_mm_xor_si128(c2[2778],_mm_xor_si128(c2[1333],_mm_xor_si128(c2[634],_mm_xor_si128(c2[990],_mm_xor_si128(c2[835],_mm_xor_si128(c2[1013],_mm_xor_si128(c2[1912],_mm_xor_si128(c2[672],_mm_xor_si128(c2[489],_mm_xor_si128(c2[1206],_mm_xor_si128(c2[1228],_mm_xor_si128(c2[151],_mm_xor_si128(c2[332],_mm_xor_si128(c2[170],_mm_xor_si128(c2[705],c2[167]))))))))))))))))))))))))))));
//row: 34
d2[306]=_mm_xor_si128(c2[2161],_mm_xor_si128(c2[1981],_mm_xor_si128(c2[727],_mm_xor_si128(c2[2162],_mm_xor_si128(c2[1982],_mm_xor_si128(c2[728],_mm_xor_si128(c2[1267],_mm_xor_si128(c2[4],_mm_xor_si128(c2[902],_mm_xor_si128(c2[561],_mm_xor_si128(c2[381],_mm_xor_si128(c2[2006],_mm_xor_si128(c2[386],_mm_xor_si128(c2[2002],_mm_xor_si128(c2[18],_mm_xor_si128(c2[1823],_mm_xor_si128(c2[1643],_mm_xor_si128(c2[2560],_mm_xor_si128(c2[2380],_mm_xor_si128(c2[1117],_mm_xor_si128(c2[216],_mm_xor_si128(c2[2021],_mm_xor_si128(c2[1841],_mm_xor_si128(c2[2217],_mm_xor_si128(c2[2037],_mm_xor_si128(c2[774],_mm_xor_si128(c2[1321],_mm_xor_si128(c2[1141],_mm_xor_si128(c2[2757],_mm_xor_si128(c2[781],_mm_xor_si128(c2[2397],_mm_xor_si128(c2[260],_mm_xor_si128(c2[80],_mm_xor_si128(c2[1696],_mm_xor_si128(c2[1160],_mm_xor_si128(c2[2776],_mm_xor_si128(c2[2594],_mm_xor_si128(c2[1520],_mm_xor_si128(c2[1340],_mm_xor_si128(c2[2075],_mm_xor_si128(c2[1895],_mm_xor_si128(c2[632],_mm_xor_si128(c2[2251],_mm_xor_si128(c2[1177],_mm_xor_si128(c2[997],_mm_xor_si128(c2[2276],_mm_xor_si128(c2[2096],_mm_xor_si128(c2[833],_mm_xor_si128(c2[2454],_mm_xor_si128(c2[2274],_mm_xor_si128(c2[1011],_mm_xor_si128(c2[294],_mm_xor_si128(c2[2090],_mm_xor_si128(c2[1910],_mm_xor_si128(c2[2113],_mm_xor_si128(c2[1933],_mm_xor_si128(c2[670],_mm_xor_si128(c2[1750],_mm_xor_si128(c2[667],_mm_xor_si128(c2[487],_mm_xor_si128(c2[2669],_mm_xor_si128(c2[2489],_mm_xor_si128(c2[1226],_mm_xor_si128(c2[1412],_mm_xor_si128(c2[149],_mm_xor_si128(c2[1584],_mm_xor_si128(c2[510],_mm_xor_si128(c2[330],_mm_xor_si128(c2[1602],_mm_xor_si128(c2[1422],_mm_xor_si128(c2[168],_mm_xor_si128(c2[2146],_mm_xor_si128(c2[1966],_mm_xor_si128(c2[703],_mm_xor_si128(c2[1428],_mm_xor_si128(c2[345],c2[165]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[315]=_mm_xor_si128(c2[6],_mm_xor_si128(c2[2705],_mm_xor_si128(c2[2706],_mm_xor_si128(c2[1982],_mm_xor_si128(c2[1285],_mm_xor_si128(c2[1105],_mm_xor_si128(c2[1101],_mm_xor_si128(c2[742],_mm_xor_si128(c2[2181],_mm_xor_si128(c2[396],_mm_xor_si128(c2[216],_mm_xor_si128(c2[940],_mm_xor_si128(c2[62],_mm_xor_si128(c2[2761],_mm_xor_si128(c2[1856],_mm_xor_si128(c2[1496],_mm_xor_si128(c2[795],_mm_xor_si128(c2[1875],_mm_xor_si128(c2[439],_mm_xor_si128(c2[2610],_mm_xor_si128(c2[96],_mm_xor_si128(c2[1718],_mm_xor_si128(c2[112],_mm_xor_si128(c2[2811],_mm_xor_si128(c2[110],_mm_xor_si128(c2[1009],_mm_xor_si128(c2[2648],_mm_xor_si128(c2[2474],_mm_xor_si128(c2[325],_mm_xor_si128(c2[2127],_mm_xor_si128(c2[2308],_mm_xor_si128(c2[2326],_mm_xor_si128(c2[2146],_mm_xor_si128(c2[2690],c2[2143]))))))))))))))))))))))))))))))))));
//row: 36
d2[324]=_mm_xor_si128(c2[1627],_mm_xor_si128(c2[224],c2[1927]));
//row: 37
d2[333]=_mm_xor_si128(c2[546],_mm_xor_si128(c2[1803],_mm_xor_si128(c2[547],_mm_xor_si128(c2[1804],_mm_xor_si128(c2[2702],_mm_xor_si128(c2[1080],_mm_xor_si128(c2[1825],_mm_xor_si128(c2[203],_mm_xor_si128(c2[1821],_mm_xor_si128(c2[199],_mm_xor_si128(c2[1462],_mm_xor_si128(c2[20],_mm_xor_si128(c2[2719],_mm_xor_si128(c2[936],_mm_xor_si128(c2[2202],_mm_xor_si128(c2[1660],_mm_xor_si128(c2[218],_mm_xor_si128(c2[38],_mm_xor_si128(c2[602],_mm_xor_si128(c2[1859],_mm_xor_si128(c2[2576],_mm_xor_si128(c2[954],_mm_xor_si128(c2[2216],_mm_xor_si128(c2[594],_mm_xor_si128(c2[1515],_mm_xor_si128(c2[2772],_mm_xor_si128(c2[2595],_mm_xor_si128(c2[973],_mm_xor_si128(c2[1159],_mm_xor_si128(c2[2596],_mm_xor_si128(c2[2416],_mm_xor_si128(c2[451],_mm_xor_si128(c2[1717],_mm_xor_si128(c2[816],_mm_xor_si128(c2[2253],_mm_xor_si128(c2[2073],_mm_xor_si128(c2[652],_mm_xor_si128(c2[1909],_mm_xor_si128(c2[830],_mm_xor_si128(c2[2096],_mm_xor_si128(c2[1729],_mm_xor_si128(c2[296],_mm_xor_si128(c2[116],_mm_xor_si128(c2[489],_mm_xor_si128(c2[1746],_mm_xor_si128(c2[306],_mm_xor_si128(c2[1752],_mm_xor_si128(c2[1572],_mm_xor_si128(c2[1045],_mm_xor_si128(c2[2311],_mm_xor_si128(c2[2847],_mm_xor_si128(c2[1225],_mm_xor_si128(c2[149],_mm_xor_si128(c2[1586],_mm_xor_si128(c2[1406],_mm_xor_si128(c2[2866],_mm_xor_si128(c2[1244],_mm_xor_si128(c2[522],_mm_xor_si128(c2[1788],_mm_xor_si128(c2[2863],_mm_xor_si128(c2[1430],c2[1250])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[342]=_mm_xor_si128(c2[720],_mm_xor_si128(c2[540],_mm_xor_si128(c2[541],_mm_xor_si128(c2[2705],_mm_xor_si128(c2[1999],_mm_xor_si128(c2[1819],_mm_xor_si128(c2[1824],_mm_xor_si128(c2[1465],_mm_xor_si128(c2[198],_mm_xor_si128(c2[1119],_mm_xor_si128(c2[939],_mm_xor_si128(c2[1663],_mm_xor_si128(c2[776],_mm_xor_si128(c2[596],_mm_xor_si128(c2[2579],_mm_xor_si128(c2[2219],_mm_xor_si128(c2[1518],_mm_xor_si128(c2[2598],_mm_xor_si128(c2[1153],_mm_xor_si128(c2[454],_mm_xor_si128(c2[810],_mm_xor_si128(c2[1174],_mm_xor_si128(c2[835],_mm_xor_si128(c2[655],_mm_xor_si128(c2[833],_mm_xor_si128(c2[1732],_mm_xor_si128(c2[492],_mm_xor_si128(c2[309],_mm_xor_si128(c2[1048],_mm_xor_si128(c2[2850],_mm_xor_si128(c2[152],_mm_xor_si128(c2[170],_mm_xor_si128(c2[2869],_mm_xor_si128(c2[525],c2[2866]))))))))))))))))))))))))))))))))));
//row: 39
d2[351]=_mm_xor_si128(c2[180],_mm_xor_si128(c2[0],_mm_xor_si128(c2[181],_mm_xor_si128(c2[1],_mm_xor_si128(c2[2165],_mm_xor_si128(c2[1267],_mm_xor_si128(c2[1459],_mm_xor_si128(c2[1279],_mm_xor_si128(c2[1284],_mm_xor_si128(c2[925],_mm_xor_si128(c2[579],_mm_xor_si128(c2[399],_mm_xor_si128(c2[1123],_mm_xor_si128(c2[236],_mm_xor_si128(c2[56],_mm_xor_si128(c2[2219],_mm_xor_si128(c2[2039],_mm_xor_si128(c2[1679],_mm_xor_si128(c2[1158],_mm_xor_si128(c2[978],_mm_xor_si128(c2[2058],_mm_xor_si128(c2[613],_mm_xor_si128(c2[94],_mm_xor_si128(c2[2793],_mm_xor_si128(c2[270],_mm_xor_si128(c2[295],_mm_xor_si128(c2[115],_mm_xor_si128(c2[473],_mm_xor_si128(c2[293],_mm_xor_si128(c2[1192],_mm_xor_si128(c2[132],_mm_xor_si128(c2[2831],_mm_xor_si128(c2[2648],_mm_xor_si128(c2[128],_mm_xor_si128(c2[688],_mm_xor_si128(c2[508],_mm_xor_si128(c2[2310],_mm_xor_si128(c2[2491],_mm_xor_si128(c2[2509],_mm_xor_si128(c2[2329],_mm_xor_si128(c2[165],_mm_xor_si128(c2[2864],c2[2326]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[360]=_mm_xor_si128(c2[1984],_mm_xor_si128(c2[1446],_mm_xor_si128(c2[1985],_mm_xor_si128(c2[1447],_mm_xor_si128(c2[1261],_mm_xor_si128(c2[723],_mm_xor_si128(c2[384],_mm_xor_si128(c2[2725],_mm_xor_si128(c2[380],_mm_xor_si128(c2[2721],_mm_xor_si128(c2[21],_mm_xor_si128(c2[2542],_mm_xor_si128(c2[2362],_mm_xor_si128(c2[2383],_mm_xor_si128(c2[1836],_mm_xor_si128(c2[219],_mm_xor_si128(c2[2740],_mm_xor_si128(c2[2560],_mm_xor_si128(c2[1116],_mm_xor_si128(c2[2040],_mm_xor_si128(c2[1502],_mm_xor_si128(c2[1135],_mm_xor_si128(c2[597],_mm_xor_si128(c2[775],_mm_xor_si128(c2[237],_mm_xor_si128(c2[74],_mm_xor_si128(c2[2415],_mm_xor_si128(c2[1154],_mm_xor_si128(c2[616],_mm_xor_si128(c2[2597],_mm_xor_si128(c2[2239],_mm_xor_si128(c2[2059],_mm_xor_si128(c2[1898],_mm_xor_si128(c2[1351],_mm_xor_si128(c2[2254],_mm_xor_si128(c2[1896],_mm_xor_si128(c2[1716],_mm_xor_si128(c2[2090],_mm_xor_si128(c2[1552],_mm_xor_si128(c2[2268],_mm_xor_si128(c2[1730],_mm_xor_si128(c2[288],_mm_xor_si128(c2[2809],_mm_xor_si128(c2[2629],_mm_xor_si128(c2[1927],_mm_xor_si128(c2[1389],_mm_xor_si128(c2[1753],_mm_xor_si128(c2[1386],_mm_xor_si128(c2[1206],_mm_xor_si128(c2[2492],_mm_xor_si128(c2[1945],_mm_xor_si128(c2[1406],_mm_xor_si128(c2[868],_mm_xor_si128(c2[1587],_mm_xor_si128(c2[1229],_mm_xor_si128(c2[1049],_mm_xor_si128(c2[1425],_mm_xor_si128(c2[887],_mm_xor_si128(c2[1969],_mm_xor_si128(c2[1422],_mm_xor_si128(c2[1422],_mm_xor_si128(c2[1064],c2[884]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[369]=_mm_xor_si128(c2[1081],_mm_xor_si128(c2[901],_mm_xor_si128(c2[902],_mm_xor_si128(c2[187],_mm_xor_si128(c2[2360],_mm_xor_si128(c2[2180],_mm_xor_si128(c2[2185],_mm_xor_si128(c2[1826],_mm_xor_si128(c2[21],_mm_xor_si128(c2[1480],_mm_xor_si128(c2[1300],_mm_xor_si128(c2[2024],_mm_xor_si128(c2[1137],_mm_xor_si128(c2[957],_mm_xor_si128(c2[61],_mm_xor_si128(c2[2580],_mm_xor_si128(c2[1879],_mm_xor_si128(c2[80],_mm_xor_si128(c2[1514],_mm_xor_si128(c2[815],_mm_xor_si128(c2[1171],_mm_xor_si128(c2[2792],_mm_xor_si128(c2[1196],_mm_xor_si128(c2[1016],_mm_xor_si128(c2[1194],_mm_xor_si128(c2[2093],_mm_xor_si128(c2[853],_mm_xor_si128(c2[670],_mm_xor_si128(c2[1409],_mm_xor_si128(c2[332],_mm_xor_si128(c2[504],_mm_xor_si128(c2[522],_mm_xor_si128(c2[342],_mm_xor_si128(c2[886],c2[348]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=160, byte encoding
static inline void ldpc_BG2_Zc160_byte(uint8_t *c,uint8_t *d) {
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
__m256i *c2,*d2;
int i2;
for (i2=0; i2<5; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm256_xor_si256(c2[3104],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[1900],_mm256_xor_si256(c2[3114],_mm256_xor_si256(c2[2912],_mm256_xor_si256(c2[511],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[1420],_mm256_xor_si256(c2[3134],_mm256_xor_si256(c2[2733],_mm256_xor_si256(c2[233],_mm256_xor_si256(c2[3144],_mm256_xor_si256(c2[840],_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[3154],_mm256_xor_si256(c2[1754],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[2362],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[3174],_mm256_xor_si256(c2[2471],_mm256_xor_si256(c2[3184],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[2081],_mm256_xor_si256(c2[3194],_mm256_xor_si256(c2[2291],c2[1391]))))))))))))))))))))))))));
//row: 1
d2[5]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[3104],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[1900],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[3114],_mm256_xor_si256(c2[2912],_mm256_xor_si256(c2[511],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[1420],_mm256_xor_si256(c2[30],_mm256_xor_si256(c2[3134],_mm256_xor_si256(c2[2733],_mm256_xor_si256(c2[233],_mm256_xor_si256(c2[3144],_mm256_xor_si256(c2[840],_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[3154],_mm256_xor_si256(c2[1754],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[2362],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[3174],_mm256_xor_si256(c2[2471],_mm256_xor_si256(c2[3184],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[2081],_mm256_xor_si256(c2[90],_mm256_xor_si256(c2[3194],_mm256_xor_si256(c2[2291],c2[1391]))))))))))))))))))))))))))))))));
//row: 2
d2[10]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[3104],_mm256_xor_si256(c2[904],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[1900],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[3114],_mm256_xor_si256(c2[2912],_mm256_xor_si256(c2[511],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[1420],_mm256_xor_si256(c2[30],_mm256_xor_si256(c2[3134],_mm256_xor_si256(c2[2833],_mm256_xor_si256(c2[2733],_mm256_xor_si256(c2[233],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[3144],_mm256_xor_si256(c2[840],_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[3154],_mm256_xor_si256(c2[1754],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[2462],_mm256_xor_si256(c2[2362],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[70],_mm256_xor_si256(c2[3174],_mm256_xor_si256(c2[2471],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[3184],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[2081],_mm256_xor_si256(c2[90],_mm256_xor_si256(c2[3194],_mm256_xor_si256(c2[2391],_mm256_xor_si256(c2[2291],c2[1391]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[15]=_mm256_xor_si256(c2[3104],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[1900],_mm256_xor_si256(c2[3114],_mm256_xor_si256(c2[2912],_mm256_xor_si256(c2[611],_mm256_xor_si256(c2[511],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[1520],_mm256_xor_si256(c2[1420],_mm256_xor_si256(c2[3134],_mm256_xor_si256(c2[2733],_mm256_xor_si256(c2[233],_mm256_xor_si256(c2[3144],_mm256_xor_si256(c2[840],_mm256_xor_si256(c2[643],_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[3154],_mm256_xor_si256(c2[1854],_mm256_xor_si256(c2[1754],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[2362],_mm256_xor_si256(c2[1260],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[3174],_mm256_xor_si256(c2[2571],_mm256_xor_si256(c2[2471],_mm256_xor_si256(c2[3184],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[2181],_mm256_xor_si256(c2[2081],_mm256_xor_si256(c2[3194],_mm256_xor_si256(c2[2291],_mm256_xor_si256(c2[1491],c2[1391]))))))))))))))))))))))))))))))))));
//row: 4
d2[20]=_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[2804],_mm256_xor_si256(c2[504],_mm256_xor_si256(c2[1600],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[2914],_mm256_xor_si256(c2[2814],_mm256_xor_si256(c2[2612],_mm256_xor_si256(c2[211],_mm256_xor_si256(c2[814],_mm256_xor_si256(c2[2924],_mm256_xor_si256(c2[2824],_mm256_xor_si256(c2[1120],_mm256_xor_si256(c2[2934],_mm256_xor_si256(c2[2834],_mm256_xor_si256(c2[2433],_mm256_xor_si256(c2[3132],_mm256_xor_si256(c2[2844],_mm256_xor_si256(c2[540],_mm256_xor_si256(c2[243],_mm256_xor_si256(c2[2854],_mm256_xor_si256(c2[1454],_mm256_xor_si256(c2[2964],_mm256_xor_si256(c2[2864],_mm256_xor_si256(c2[2062],_mm256_xor_si256(c2[860],_mm256_xor_si256(c2[2874],_mm256_xor_si256(c2[2171],_mm256_xor_si256(c2[2884],_mm256_xor_si256(c2[883],_mm256_xor_si256(c2[1781],_mm256_xor_si256(c2[2994],_mm256_xor_si256(c2[2894],_mm256_xor_si256(c2[1991],c2[1091]))))))))))))))))))))))))))))))))));
//row: 5
d2[25]=_mm256_xor_si256(c2[2],_mm256_xor_si256(c2[3101],_mm256_xor_si256(c2[801],_mm256_xor_si256(c2[1902],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[3111],_mm256_xor_si256(c2[2914],_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[22],_mm256_xor_si256(c2[3121],_mm256_xor_si256(c2[1422],_mm256_xor_si256(c2[32],_mm256_xor_si256(c2[3131],_mm256_xor_si256(c2[2730],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[3141],_mm256_xor_si256(c2[842],_mm256_xor_si256(c2[540],_mm256_xor_si256(c2[3151],_mm256_xor_si256(c2[1751],_mm256_xor_si256(c2[1454],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[3161],_mm256_xor_si256(c2[2364],_mm256_xor_si256(c2[1162],_mm256_xor_si256(c2[3171],_mm256_xor_si256(c2[2473],_mm256_xor_si256(c2[1374],_mm256_xor_si256(c2[3181],_mm256_xor_si256(c2[1180],_mm256_xor_si256(c2[2083],_mm256_xor_si256(c2[92],_mm256_xor_si256(c2[3191],_mm256_xor_si256(c2[2293],c2[1393]))))))))))))))))))))))))))))))))))));
//row: 6
d2[30]=_mm256_xor_si256(c2[2004],_mm256_xor_si256(c2[1904],_mm256_xor_si256(c2[2803],_mm256_xor_si256(c2[700],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[2014],_mm256_xor_si256(c2[1914],_mm256_xor_si256(c2[1712],_mm256_xor_si256(c2[2510],_mm256_xor_si256(c2[2024],_mm256_xor_si256(c2[1924],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[2034],_mm256_xor_si256(c2[1934],_mm256_xor_si256(c2[1533],_mm256_xor_si256(c2[2232],_mm256_xor_si256(c2[1944],_mm256_xor_si256(c2[2844],_mm256_xor_si256(c2[2542],_mm256_xor_si256(c2[1954],_mm256_xor_si256(c2[554],_mm256_xor_si256(c2[2853],_mm256_xor_si256(c2[2064],_mm256_xor_si256(c2[1964],_mm256_xor_si256(c2[1162],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[1974],_mm256_xor_si256(c2[1271],_mm256_xor_si256(c2[373],_mm256_xor_si256(c2[1984],_mm256_xor_si256(c2[3182],_mm256_xor_si256(c2[881],_mm256_xor_si256(c2[2094],_mm256_xor_si256(c2[1994],_mm256_xor_si256(c2[1091],_mm256_xor_si256(c2[191],c2[1391]))))))))))))))))))))))))))))))))))));
//row: 7
d2[35]=_mm256_xor_si256(c2[3],_mm256_xor_si256(c2[3102],_mm256_xor_si256(c2[1302],_mm256_xor_si256(c2[802],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[1903],_mm256_xor_si256(c2[103],_mm256_xor_si256(c2[13],_mm256_xor_si256(c2[3112],_mm256_xor_si256(c2[1312],_mm256_xor_si256(c2[2910],_mm256_xor_si256(c2[1110],_mm256_xor_si256(c2[514],_mm256_xor_si256(c2[2013],_mm256_xor_si256(c2[1913],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[23],_mm256_xor_si256(c2[3122],_mm256_xor_si256(c2[1322],_mm256_xor_si256(c2[1423],_mm256_xor_si256(c2[2922],_mm256_xor_si256(c2[2822],_mm256_xor_si256(c2[33],_mm256_xor_si256(c2[3132],_mm256_xor_si256(c2[1332],_mm256_xor_si256(c2[2731],_mm256_xor_si256(c2[931],_mm256_xor_si256(c2[231],_mm256_xor_si256(c2[1630],_mm256_xor_si256(c2[3142],_mm256_xor_si256(c2[1342],_mm256_xor_si256(c2[843],_mm256_xor_si256(c2[2242],_mm256_xor_si256(c2[541],_mm256_xor_si256(c2[2040],_mm256_xor_si256(c2[1940],_mm256_xor_si256(c2[3152],_mm256_xor_si256(c2[1352],_mm256_xor_si256(c2[1752],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[3151],_mm256_xor_si256(c2[1351],_mm256_xor_si256(c2[63],_mm256_xor_si256(c2[3162],_mm256_xor_si256(c2[1362],_mm256_xor_si256(c2[2360],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[1163],_mm256_xor_si256(c2[2662],_mm256_xor_si256(c2[2562],_mm256_xor_si256(c2[3172],_mm256_xor_si256(c2[1372],_mm256_xor_si256(c2[2474],_mm256_xor_si256(c2[774],_mm256_xor_si256(c2[674],_mm256_xor_si256(c2[2074],_mm256_xor_si256(c2[3182],_mm256_xor_si256(c2[1382],_mm256_xor_si256(c2[1181],_mm256_xor_si256(c2[2580],_mm256_xor_si256(c2[2084],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[284],_mm256_xor_si256(c2[93],_mm256_xor_si256(c2[3192],_mm256_xor_si256(c2[1392],_mm256_xor_si256(c2[2294],_mm256_xor_si256(c2[494],_mm256_xor_si256(c2[1394],_mm256_xor_si256(c2[2893],c2[2793]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[40]=_mm256_xor_si256(c2[2302],_mm256_xor_si256(c2[2202],_mm256_xor_si256(c2[2],_mm256_xor_si256(c2[3101],_mm256_xor_si256(c2[1003],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[2312],_mm256_xor_si256(c2[2212],_mm256_xor_si256(c2[2010],_mm256_xor_si256(c2[2813],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[2322],_mm256_xor_si256(c2[2222],_mm256_xor_si256(c2[523],_mm256_xor_si256(c2[2332],_mm256_xor_si256(c2[2232],_mm256_xor_si256(c2[1931],_mm256_xor_si256(c2[1831],_mm256_xor_si256(c2[2530],_mm256_xor_si256(c2[2342],_mm256_xor_si256(c2[2242],_mm256_xor_si256(c2[3142],_mm256_xor_si256(c2[2840],_mm256_xor_si256(c2[2352],_mm256_xor_si256(c2[2252],_mm256_xor_si256(c2[852],_mm256_xor_si256(c2[2362],_mm256_xor_si256(c2[2262],_mm256_xor_si256(c2[1560],_mm256_xor_si256(c2[1460],_mm256_xor_si256(c2[263],_mm256_xor_si256(c2[2372],_mm256_xor_si256(c2[2272],_mm256_xor_si256(c2[1574],_mm256_xor_si256(c2[2382],_mm256_xor_si256(c2[2282],_mm256_xor_si256(c2[281],_mm256_xor_si256(c2[1184],_mm256_xor_si256(c2[2392],_mm256_xor_si256(c2[2292],_mm256_xor_si256(c2[1494],_mm256_xor_si256(c2[1394],c2[494]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[45]=_mm256_xor_si256(c2[1801],_mm256_xor_si256(c2[2102],_mm256_xor_si256(c2[2002],_mm256_xor_si256(c2[2700],_mm256_xor_si256(c2[2901],_mm256_xor_si256(c2[602],_mm256_xor_si256(c2[803],_mm256_xor_si256(c2[1811],_mm256_xor_si256(c2[2112],_mm256_xor_si256(c2[2012],_mm256_xor_si256(c2[1614],_mm256_xor_si256(c2[1810],_mm256_xor_si256(c2[2412],_mm256_xor_si256(c2[2613],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[1821],_mm256_xor_si256(c2[2122],_mm256_xor_si256(c2[2022],_mm256_xor_si256(c2[122],_mm256_xor_si256(c2[323],_mm256_xor_si256(c2[1831],_mm256_xor_si256(c2[2132],_mm256_xor_si256(c2[2032],_mm256_xor_si256(c2[1430],_mm256_xor_si256(c2[1631],_mm256_xor_si256(c2[2134],_mm256_xor_si256(c2[2330],_mm256_xor_si256(c2[1841],_mm256_xor_si256(c2[2042],_mm256_xor_si256(c2[2741],_mm256_xor_si256(c2[2942],_mm256_xor_si256(c2[2444],_mm256_xor_si256(c2[2640],_mm256_xor_si256(c2[1851],_mm256_xor_si256(c2[2052],_mm256_xor_si256(c2[451],_mm256_xor_si256(c2[652],_mm256_xor_si256(c2[1861],_mm256_xor_si256(c2[2162],_mm256_xor_si256(c2[2062],_mm256_xor_si256(c2[1064],_mm256_xor_si256(c2[1260],_mm256_xor_si256(c2[3061],_mm256_xor_si256(c2[63],_mm256_xor_si256(c2[1871],_mm256_xor_si256(c2[2072],_mm256_xor_si256(c2[1173],_mm256_xor_si256(c2[1374],_mm256_xor_si256(c2[1881],_mm256_xor_si256(c2[2082],_mm256_xor_si256(c2[3084],_mm256_xor_si256(c2[81],_mm256_xor_si256(c2[783],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[183],_mm256_xor_si256(c2[1891],_mm256_xor_si256(c2[2192],_mm256_xor_si256(c2[2092],_mm256_xor_si256(c2[993],_mm256_xor_si256(c2[1194],_mm256_xor_si256(c2[93],c2[294])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[50]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[1710],_mm256_xor_si256(c2[2864],c2[2070])));
//row: 11
d2[55]=_mm256_xor_si256(c2[100],_mm256_xor_si256(c2[1004],_mm256_xor_si256(c2[2100],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[3112],_mm256_xor_si256(c2[811],_mm256_xor_si256(c2[711],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[1720],_mm256_xor_si256(c2[1620],_mm256_xor_si256(c2[130],_mm256_xor_si256(c2[2933],_mm256_xor_si256(c2[433],_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[1040],_mm256_xor_si256(c2[843],_mm256_xor_si256(c2[743],_mm256_xor_si256(c2[150],_mm256_xor_si256(c2[2054],_mm256_xor_si256(c2[1954],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[2562],_mm256_xor_si256(c2[1460],_mm256_xor_si256(c2[1360],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[2771],_mm256_xor_si256(c2[2671],_mm256_xor_si256(c2[770],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[1383],_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[2281],_mm256_xor_si256(c2[190],_mm256_xor_si256(c2[2491],_mm256_xor_si256(c2[1691],_mm256_xor_si256(c2[1591],c2[490])))))))))))))))))))))))))))))))))))));
//row: 12
d2[60]=_mm256_xor_si256(c2[1601],_mm256_xor_si256(c2[1501],_mm256_xor_si256(c2[2400],_mm256_xor_si256(c2[302],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[1511],_mm256_xor_si256(c2[1314],_mm256_xor_si256(c2[2112],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[1621],_mm256_xor_si256(c2[1521],_mm256_xor_si256(c2[3021],_mm256_xor_si256(c2[1631],_mm256_xor_si256(c2[1531],_mm256_xor_si256(c2[1130],_mm256_xor_si256(c2[1834],_mm256_xor_si256(c2[1733],_mm256_xor_si256(c2[1541],_mm256_xor_si256(c2[2441],_mm256_xor_si256(c2[2144],_mm256_xor_si256(c2[1551],_mm256_xor_si256(c2[151],_mm256_xor_si256(c2[1661],_mm256_xor_si256(c2[1561],_mm256_xor_si256(c2[764],_mm256_xor_si256(c2[2761],_mm256_xor_si256(c2[1571],_mm256_xor_si256(c2[873],_mm256_xor_si256(c2[1581],_mm256_xor_si256(c2[2784],_mm256_xor_si256(c2[483],_mm256_xor_si256(c2[1691],_mm256_xor_si256(c2[1591],_mm256_xor_si256(c2[693],c2[2992]))))))))))))))))))))))))))))))))));
//row: 13
d2[65]=_mm256_xor_si256(c2[2500],_mm256_xor_si256(c2[200],_mm256_xor_si256(c2[1301],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[2510],_mm256_xor_si256(c2[2313],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[3111],_mm256_xor_si256(c2[1613],_mm256_xor_si256(c2[2520],_mm256_xor_si256(c2[921],_mm256_xor_si256(c2[821],_mm256_xor_si256(c2[2530],_mm256_xor_si256(c2[2134],_mm256_xor_si256(c2[2833],_mm256_xor_si256(c2[2540],_mm256_xor_si256(c2[241],_mm256_xor_si256(c2[44],_mm256_xor_si256(c2[3143],_mm256_xor_si256(c2[2550],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[1150],_mm256_xor_si256(c2[2560],_mm256_xor_si256(c2[1763],_mm256_xor_si256(c2[661],_mm256_xor_si256(c2[561],_mm256_xor_si256(c2[2570],_mm256_xor_si256(c2[1972],_mm256_xor_si256(c2[1872],_mm256_xor_si256(c2[2580],_mm256_xor_si256(c2[584],_mm256_xor_si256(c2[1582],_mm256_xor_si256(c2[1482],_mm256_xor_si256(c2[683],_mm256_xor_si256(c2[2590],_mm256_xor_si256(c2[1692],_mm256_xor_si256(c2[892],c2[792])))))))))))))))))))))))))))))))))))));
//row: 14
d2[70]=_mm256_xor_si256(c2[2501],_mm256_xor_si256(c2[2401],_mm256_xor_si256(c2[2600],_mm256_xor_si256(c2[101],_mm256_xor_si256(c2[300],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1401],_mm256_xor_si256(c2[2511],_mm256_xor_si256(c2[2411],_mm256_xor_si256(c2[2610],_mm256_xor_si256(c2[2214],_mm256_xor_si256(c2[2413],_mm256_xor_si256(c2[3012],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[2521],_mm256_xor_si256(c2[2421],_mm256_xor_si256(c2[2620],_mm256_xor_si256(c2[722],_mm256_xor_si256(c2[1021],_mm256_xor_si256(c2[921],_mm256_xor_si256(c2[2531],_mm256_xor_si256(c2[2431],_mm256_xor_si256(c2[2630],_mm256_xor_si256(c2[2030],_mm256_xor_si256(c2[2234],_mm256_xor_si256(c2[2734],_mm256_xor_si256(c2[2933],_mm256_xor_si256(c2[2441],_mm256_xor_si256(c2[2640],_mm256_xor_si256(c2[142],_mm256_xor_si256(c2[341],_mm256_xor_si256(c2[3044],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[44],_mm256_xor_si256(c2[2451],_mm256_xor_si256(c2[2650],_mm256_xor_si256(c2[1051],_mm256_xor_si256(c2[1350],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[2561],_mm256_xor_si256(c2[2461],_mm256_xor_si256(c2[2660],_mm256_xor_si256(c2[1664],_mm256_xor_si256(c2[1863],_mm256_xor_si256(c2[462],_mm256_xor_si256(c2[761],_mm256_xor_si256(c2[661],_mm256_xor_si256(c2[1064],_mm256_xor_si256(c2[2471],_mm256_xor_si256(c2[2670],_mm256_xor_si256(c2[1773],_mm256_xor_si256(c2[2072],_mm256_xor_si256(c2[1972],_mm256_xor_si256(c2[2481],_mm256_xor_si256(c2[2680],_mm256_xor_si256(c2[480],_mm256_xor_si256(c2[684],_mm256_xor_si256(c2[1383],_mm256_xor_si256(c2[1682],_mm256_xor_si256(c2[1582],_mm256_xor_si256(c2[2591],_mm256_xor_si256(c2[2491],_mm256_xor_si256(c2[2690],_mm256_xor_si256(c2[1593],_mm256_xor_si256(c2[1792],_mm256_xor_si256(c2[693],_mm256_xor_si256(c2[992],c2[892])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[75]=_mm256_xor_si256(c2[802],_mm256_xor_si256(c2[303],_mm256_xor_si256(c2[203],_mm256_xor_si256(c2[1701],_mm256_xor_si256(c2[1102],_mm256_xor_si256(c2[2802],_mm256_xor_si256(c2[2203],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[313],_mm256_xor_si256(c2[213],_mm256_xor_si256(c2[610],_mm256_xor_si256(c2[11],_mm256_xor_si256(c2[1413],_mm256_xor_si256(c2[814],_mm256_xor_si256(c2[822],_mm256_xor_si256(c2[323],_mm256_xor_si256(c2[223],_mm256_xor_si256(c2[2322],_mm256_xor_si256(c2[1723],_mm256_xor_si256(c2[832],_mm256_xor_si256(c2[333],_mm256_xor_si256(c2[233],_mm256_xor_si256(c2[431],_mm256_xor_si256(c2[3031],_mm256_xor_si256(c2[1130],_mm256_xor_si256(c2[531],_mm256_xor_si256(c2[842],_mm256_xor_si256(c2[243],_mm256_xor_si256(c2[1742],_mm256_xor_si256(c2[1143],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[841],_mm256_xor_si256(c2[852],_mm256_xor_si256(c2[253],_mm256_xor_si256(c2[2651],_mm256_xor_si256(c2[2052],_mm256_xor_si256(c2[862],_mm256_xor_si256(c2[363],_mm256_xor_si256(c2[263],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[2660],_mm256_xor_si256(c2[2062],_mm256_xor_si256(c2[1463],_mm256_xor_si256(c2[872],_mm256_xor_si256(c2[273],_mm256_xor_si256(c2[174],_mm256_xor_si256(c2[2774],_mm256_xor_si256(c2[882],_mm256_xor_si256(c2[283],_mm256_xor_si256(c2[2080],_mm256_xor_si256(c2[1481],_mm256_xor_si256(c2[2983],_mm256_xor_si256(c2[2384],_mm256_xor_si256(c2[892],_mm256_xor_si256(c2[393],_mm256_xor_si256(c2[293],_mm256_xor_si256(c2[3193],_mm256_xor_si256(c2[2594],_mm256_xor_si256(c2[2293],c2[1694]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[80]=_mm256_xor_si256(c2[1503],_mm256_xor_si256(c2[1403],_mm256_xor_si256(c2[1504],_mm256_xor_si256(c2[1404],_mm256_xor_si256(c2[2302],_mm256_xor_si256(c2[2403],_mm256_xor_si256(c2[2303],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[200],_mm256_xor_si256(c2[1513],_mm256_xor_si256(c2[1413],_mm256_xor_si256(c2[1514],_mm256_xor_si256(c2[1414],_mm256_xor_si256(c2[1211],_mm256_xor_si256(c2[1212],_mm256_xor_si256(c2[2014],_mm256_xor_si256(c2[2010],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[1523],_mm256_xor_si256(c2[1423],_mm256_xor_si256(c2[1524],_mm256_xor_si256(c2[1424],_mm256_xor_si256(c2[2923],_mm256_xor_si256(c2[2924],_mm256_xor_si256(c2[1533],_mm256_xor_si256(c2[1433],_mm256_xor_si256(c2[1534],_mm256_xor_si256(c2[1434],_mm256_xor_si256(c2[1032],_mm256_xor_si256(c2[1133],_mm256_xor_si256(c2[1033],_mm256_xor_si256(c2[1731],_mm256_xor_si256(c2[1732],_mm256_xor_si256(c2[1443],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[1444],_mm256_xor_si256(c2[2343],_mm256_xor_si256(c2[2344],_mm256_xor_si256(c2[2041],_mm256_xor_si256(c2[2042],_mm256_xor_si256(c2[1453],_mm256_xor_si256(c2[1554],_mm256_xor_si256(c2[1454],_mm256_xor_si256(c2[53],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[1563],_mm256_xor_si256(c2[1463],_mm256_xor_si256(c2[1564],_mm256_xor_si256(c2[1464],_mm256_xor_si256(c2[661],_mm256_xor_si256(c2[762],_mm256_xor_si256(c2[662],_mm256_xor_si256(c2[2663],_mm256_xor_si256(c2[2664],_mm256_xor_si256(c2[1473],_mm256_xor_si256(c2[1574],_mm256_xor_si256(c2[1474],_mm256_xor_si256(c2[770],_mm256_xor_si256(c2[771],_mm256_xor_si256(c2[1483],_mm256_xor_si256(c2[1584],_mm256_xor_si256(c2[1484],_mm256_xor_si256(c2[2681],_mm256_xor_si256(c2[2682],_mm256_xor_si256(c2[380],_mm256_xor_si256(c2[381],_mm256_xor_si256(c2[1593],_mm256_xor_si256(c2[1493],_mm256_xor_si256(c2[1594],_mm256_xor_si256(c2[1494],_mm256_xor_si256(c2[590],_mm256_xor_si256(c2[691],_mm256_xor_si256(c2[591],_mm256_xor_si256(c2[2894],_mm256_xor_si256(c2[2890],c2[1592])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[85]=_mm256_xor_si256(c2[1303],_mm256_xor_si256(c2[1203],_mm256_xor_si256(c2[1800],_mm256_xor_si256(c2[1700],_mm256_xor_si256(c2[2102],_mm256_xor_si256(c2[2704],_mm256_xor_si256(c2[2604],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[501],_mm256_xor_si256(c2[1313],_mm256_xor_si256(c2[1213],_mm256_xor_si256(c2[1810],_mm256_xor_si256(c2[1710],_mm256_xor_si256(c2[1011],_mm256_xor_si256(c2[1513],_mm256_xor_si256(c2[1814],_mm256_xor_si256(c2[2311],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[1323],_mm256_xor_si256(c2[1223],_mm256_xor_si256(c2[1820],_mm256_xor_si256(c2[1720],_mm256_xor_si256(c2[2723],_mm256_xor_si256(c2[21],_mm256_xor_si256(c2[1333],_mm256_xor_si256(c2[1233],_mm256_xor_si256(c2[1830],_mm256_xor_si256(c2[1730],_mm256_xor_si256(c2[832],_mm256_xor_si256(c2[1434],_mm256_xor_si256(c2[1334],_mm256_xor_si256(c2[1531],_mm256_xor_si256(c2[2033],_mm256_xor_si256(c2[1243],_mm256_xor_si256(c2[1840],_mm256_xor_si256(c2[1740],_mm256_xor_si256(c2[2143],_mm256_xor_si256(c2[2640],_mm256_xor_si256(c2[1841],_mm256_xor_si256(c2[2343],_mm256_xor_si256(c2[1253],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[1750],_mm256_xor_si256(c2[3052],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[2450],_mm256_xor_si256(c2[1363],_mm256_xor_si256(c2[1263],_mm256_xor_si256(c2[1860],_mm256_xor_si256(c2[1760],_mm256_xor_si256(c2[461],_mm256_xor_si256(c2[1063],_mm256_xor_si256(c2[963],_mm256_xor_si256(c2[2463],_mm256_xor_si256(c2[2960],_mm256_xor_si256(c2[1273],_mm256_xor_si256(c2[1870],_mm256_xor_si256(c2[1770],_mm256_xor_si256(c2[570],_mm256_xor_si256(c2[1072],_mm256_xor_si256(c2[1283],_mm256_xor_si256(c2[1880],_mm256_xor_si256(c2[1780],_mm256_xor_si256(c2[2481],_mm256_xor_si256(c2[2983],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[682],_mm256_xor_si256(c2[1393],_mm256_xor_si256(c2[1293],_mm256_xor_si256(c2[1890],_mm256_xor_si256(c2[1790],_mm256_xor_si256(c2[390],_mm256_xor_si256(c2[992],_mm256_xor_si256(c2[892],_mm256_xor_si256(c2[2694],c2[3191])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[90]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[1860],c2[2272]));
//row: 19
d2[95]=_mm256_xor_si256(c2[2504],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[1300],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[2514],_mm256_xor_si256(c2[2312],_mm256_xor_si256(c2[3110],_mm256_xor_si256(c2[3014],_mm256_xor_si256(c2[2524],_mm256_xor_si256(c2[820],_mm256_xor_si256(c2[2534],_mm256_xor_si256(c2[2133],_mm256_xor_si256(c2[2832],_mm256_xor_si256(c2[2544],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[3142],_mm256_xor_si256(c2[2554],_mm256_xor_si256(c2[1154],_mm256_xor_si256(c2[2564],_mm256_xor_si256(c2[1762],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[2574],_mm256_xor_si256(c2[1871],_mm256_xor_si256(c2[2584],_mm256_xor_si256(c2[583],_mm256_xor_si256(c2[1481],_mm256_xor_si256(c2[2594],_mm256_xor_si256(c2[1691],c2[791]))))))))))))))))))))))))))));
//row: 20
d2[100]=_mm256_xor_si256(c2[803],_mm256_xor_si256(c2[703],_mm256_xor_si256(c2[1602],_mm256_xor_si256(c2[2703],_mm256_xor_si256(c2[813],_mm256_xor_si256(c2[713],_mm256_xor_si256(c2[511],_mm256_xor_si256(c2[1314],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[823],_mm256_xor_si256(c2[723],_mm256_xor_si256(c2[2223],_mm256_xor_si256(c2[833],_mm256_xor_si256(c2[733],_mm256_xor_si256(c2[332],_mm256_xor_si256(c2[1031],_mm256_xor_si256(c2[743],_mm256_xor_si256(c2[1643],_mm256_xor_si256(c2[1341],_mm256_xor_si256(c2[2044],_mm256_xor_si256(c2[753],_mm256_xor_si256(c2[2552],_mm256_xor_si256(c2[863],_mm256_xor_si256(c2[763],_mm256_xor_si256(c2[3160],_mm256_xor_si256(c2[1963],_mm256_xor_si256(c2[773],_mm256_xor_si256(c2[70],_mm256_xor_si256(c2[783],_mm256_xor_si256(c2[1981],_mm256_xor_si256(c2[2884],_mm256_xor_si256(c2[893],_mm256_xor_si256(c2[793],_mm256_xor_si256(c2[3094],c2[2194]))))))))))))))))))))))))))))))))));
//row: 21
d2[105]=_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[900],_mm256_xor_si256(c2[2001],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[11],_mm256_xor_si256(c2[3013],_mm256_xor_si256(c2[712],_mm256_xor_si256(c2[612],_mm256_xor_si256(c2[21],_mm256_xor_si256(c2[1621],_mm256_xor_si256(c2[1521],_mm256_xor_si256(c2[31],_mm256_xor_si256(c2[2834],_mm256_xor_si256(c2[334],_mm256_xor_si256(c2[41],_mm256_xor_si256(c2[941],_mm256_xor_si256(c2[744],_mm256_xor_si256(c2[644],_mm256_xor_si256(c2[51],_mm256_xor_si256(c2[1950],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[2463],_mm256_xor_si256(c2[1361],_mm256_xor_si256(c2[1261],_mm256_xor_si256(c2[71],_mm256_xor_si256(c2[2672],_mm256_xor_si256(c2[2572],_mm256_xor_si256(c2[81],_mm256_xor_si256(c2[1284],_mm256_xor_si256(c2[2282],_mm256_xor_si256(c2[2182],_mm256_xor_si256(c2[1780],_mm256_xor_si256(c2[91],_mm256_xor_si256(c2[2392],_mm256_xor_si256(c2[1592],c2[1492]))))))))))))))))))))))))))))))))))));
//row: 22
d2[110]=_mm256_xor_si256(c2[10],c2[420]);
//row: 23
d2[115]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[1132],c2[3054]));
//row: 24
d2[120]=_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[522],c2[2392]));
//row: 25
d2[125]=_mm256_xor_si256(c2[0],c2[152]);
//row: 26
d2[130]=_mm256_xor_si256(c2[1300],_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[2204],_mm256_xor_si256(c2[2104],_mm256_xor_si256(c2[1504],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[2600],_mm256_xor_si256(c2[1310],_mm256_xor_si256(c2[1210],_mm256_xor_si256(c2[610],_mm256_xor_si256(c2[1013],_mm256_xor_si256(c2[413],_mm256_xor_si256(c2[1811],_mm256_xor_si256(c2[1311],_mm256_xor_si256(c2[1211],_mm256_xor_si256(c2[1320],_mm256_xor_si256(c2[1220],_mm256_xor_si256(c2[620],_mm256_xor_si256(c2[2720],_mm256_xor_si256(c2[2220],_mm256_xor_si256(c2[2120],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[1330],_mm256_xor_si256(c2[1230],_mm256_xor_si256(c2[630],_mm256_xor_si256(c2[934],_mm256_xor_si256(c2[834],_mm256_xor_si256(c2[234],_mm256_xor_si256(c2[1533],_mm256_xor_si256(c2[933],_mm256_xor_si256(c2[1340],_mm256_xor_si256(c2[1240],_mm256_xor_si256(c2[640],_mm256_xor_si256(c2[2140],_mm256_xor_si256(c2[1540],_mm256_xor_si256(c2[1843],_mm256_xor_si256(c2[1343],_mm256_xor_si256(c2[1243],_mm256_xor_si256(c2[1350],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[3054],_mm256_xor_si256(c2[2554],_mm256_xor_si256(c2[2454],_mm256_xor_si256(c2[1360],_mm256_xor_si256(c2[1260],_mm256_xor_si256(c2[660],_mm256_xor_si256(c2[563],_mm256_xor_si256(c2[463],_mm256_xor_si256(c2[3062],_mm256_xor_si256(c2[2460],_mm256_xor_si256(c2[1960],_mm256_xor_si256(c2[1860],_mm256_xor_si256(c2[1370],_mm256_xor_si256(c2[1270],_mm256_xor_si256(c2[670],_mm256_xor_si256(c2[572],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[3171],_mm256_xor_si256(c2[473],_mm256_xor_si256(c2[1380],_mm256_xor_si256(c2[1280],_mm256_xor_si256(c2[680],_mm256_xor_si256(c2[2483],_mm256_xor_si256(c2[1883],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[2881],_mm256_xor_si256(c2[2781],_mm256_xor_si256(c2[1390],_mm256_xor_si256(c2[1290],_mm256_xor_si256(c2[690],_mm256_xor_si256(c2[492],_mm256_xor_si256(c2[392],_mm256_xor_si256(c2[2991],_mm256_xor_si256(c2[2691],_mm256_xor_si256(c2[2191],c2[2091])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[135]=_mm256_xor_si256(c2[0],c2[61]);
//row: 28
d2[140]=_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[3023],c2[1453]));
//row: 29
d2[145]=_mm256_xor_si256(c2[0],c2[2644]);
//row: 30
d2[150]=_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[351],_mm256_xor_si256(c2[1971],c2[694])));
//row: 31
d2[155]=_mm256_xor_si256(c2[1900],_mm256_xor_si256(c2[2804],_mm256_xor_si256(c2[701],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[1713],_mm256_xor_si256(c2[2611],_mm256_xor_si256(c2[2511],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[1920],_mm256_xor_si256(c2[321],_mm256_xor_si256(c2[221],_mm256_xor_si256(c2[1930],_mm256_xor_si256(c2[1534],_mm256_xor_si256(c2[2233],_mm256_xor_si256(c2[1940],_mm256_xor_si256(c2[2840],_mm256_xor_si256(c2[2643],_mm256_xor_si256(c2[2543],_mm256_xor_si256(c2[1950],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[550],_mm256_xor_si256(c2[1960],_mm256_xor_si256(c2[1163],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[3160],_mm256_xor_si256(c2[1970],_mm256_xor_si256(c2[1372],_mm256_xor_si256(c2[1272],_mm256_xor_si256(c2[1980],_mm256_xor_si256(c2[3183],_mm256_xor_si256(c2[982],_mm256_xor_si256(c2[882],_mm256_xor_si256(c2[1990],_mm256_xor_si256(c2[1092],_mm256_xor_si256(c2[292],c2[192])))))))))))))))))))))))))))))))))));
//row: 32
d2[160]=_mm256_xor_si256(c2[2603],_mm256_xor_si256(c2[2503],_mm256_xor_si256(c2[303],_mm256_xor_si256(c2[203],_mm256_xor_si256(c2[1304],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[2613],_mm256_xor_si256(c2[2513],_mm256_xor_si256(c2[2311],_mm256_xor_si256(c2[3114],_mm256_xor_si256(c2[2623],_mm256_xor_si256(c2[2523],_mm256_xor_si256(c2[824],_mm256_xor_si256(c2[2633],_mm256_xor_si256(c2[2533],_mm256_xor_si256(c2[2232],_mm256_xor_si256(c2[2132],_mm256_xor_si256(c2[2831],_mm256_xor_si256(c2[2643],_mm256_xor_si256(c2[2543],_mm256_xor_si256(c2[244],_mm256_xor_si256(c2[3141],_mm256_xor_si256(c2[2653],_mm256_xor_si256(c2[2553],_mm256_xor_si256(c2[1153],_mm256_xor_si256(c2[2050],_mm256_xor_si256(c2[2663],_mm256_xor_si256(c2[2563],_mm256_xor_si256(c2[1861],_mm256_xor_si256(c2[1761],_mm256_xor_si256(c2[564],_mm256_xor_si256(c2[2673],_mm256_xor_si256(c2[2573],_mm256_xor_si256(c2[1870],_mm256_xor_si256(c2[2683],_mm256_xor_si256(c2[2583],_mm256_xor_si256(c2[582],_mm256_xor_si256(c2[1480],_mm256_xor_si256(c2[2693],_mm256_xor_si256(c2[2593],_mm256_xor_si256(c2[1790],_mm256_xor_si256(c2[1690],c2[790]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[165]=_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[2104],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[1210],_mm256_xor_si256(c2[1013],_mm256_xor_si256(c2[1811],_mm256_xor_si256(c2[1220],_mm256_xor_si256(c2[2720],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[1230],_mm256_xor_si256(c2[834],_mm256_xor_si256(c2[1533],_mm256_xor_si256(c2[1240],_mm256_xor_si256(c2[2140],_mm256_xor_si256(c2[1843],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[3054],_mm256_xor_si256(c2[1260],_mm256_xor_si256(c2[463],_mm256_xor_si256(c2[2460],_mm256_xor_si256(c2[1270],_mm256_xor_si256(c2[572],_mm256_xor_si256(c2[2472],_mm256_xor_si256(c2[1280],_mm256_xor_si256(c2[2483],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[1290],_mm256_xor_si256(c2[392],c2[2691]))))))))))))))))))))))))))));
//row: 34
d2[170]=_mm256_xor_si256(c2[1900],_mm256_xor_si256(c2[1800],_mm256_xor_si256(c2[1302],_mm256_xor_si256(c2[2804],_mm256_xor_si256(c2[2704],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[103],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[1810],_mm256_xor_si256(c2[1312],_mm256_xor_si256(c2[1613],_mm256_xor_si256(c2[1110],_mm256_xor_si256(c2[2411],_mm256_xor_si256(c2[2013],_mm256_xor_si256(c2[1913],_mm256_xor_si256(c2[1920],_mm256_xor_si256(c2[1820],_mm256_xor_si256(c2[1322],_mm256_xor_si256(c2[121],_mm256_xor_si256(c2[2922],_mm256_xor_si256(c2[2822],_mm256_xor_si256(c2[1930],_mm256_xor_si256(c2[1830],_mm256_xor_si256(c2[1332],_mm256_xor_si256(c2[1534],_mm256_xor_si256(c2[1434],_mm256_xor_si256(c2[931],_mm256_xor_si256(c2[2133],_mm256_xor_si256(c2[1630],_mm256_xor_si256(c2[1940],_mm256_xor_si256(c2[1840],_mm256_xor_si256(c2[1342],_mm256_xor_si256(c2[2740],_mm256_xor_si256(c2[2242],_mm256_xor_si256(c2[2443],_mm256_xor_si256(c2[2040],_mm256_xor_si256(c2[1940],_mm256_xor_si256(c2[1950],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[1352],_mm256_xor_si256(c2[450],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[3151],_mm256_xor_si256(c2[1960],_mm256_xor_si256(c2[1860],_mm256_xor_si256(c2[1362],_mm256_xor_si256(c2[1163],_mm256_xor_si256(c2[1063],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[3060],_mm256_xor_si256(c2[2662],_mm256_xor_si256(c2[2562],_mm256_xor_si256(c2[1970],_mm256_xor_si256(c2[1870],_mm256_xor_si256(c2[1372],_mm256_xor_si256(c2[1172],_mm256_xor_si256(c2[774],_mm256_xor_si256(c2[674],_mm256_xor_si256(c2[1980],_mm256_xor_si256(c2[1880],_mm256_xor_si256(c2[1382],_mm256_xor_si256(c2[3083],_mm256_xor_si256(c2[2580],_mm256_xor_si256(c2[782],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[284],_mm256_xor_si256(c2[1990],_mm256_xor_si256(c2[1890],_mm256_xor_si256(c2[1392],_mm256_xor_si256(c2[1092],_mm256_xor_si256(c2[992],_mm256_xor_si256(c2[494],_mm256_xor_si256(c2[92],_mm256_xor_si256(c2[2893],c2[2793]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[175]=_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[500],_mm256_xor_si256(c2[1404],_mm256_xor_si256(c2[2500],_mm256_xor_si256(c2[610],_mm256_xor_si256(c2[510],_mm256_xor_si256(c2[313],_mm256_xor_si256(c2[1111],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[620],_mm256_xor_si256(c2[520],_mm256_xor_si256(c2[2020],_mm256_xor_si256(c2[630],_mm256_xor_si256(c2[530],_mm256_xor_si256(c2[134],_mm256_xor_si256(c2[833],_mm256_xor_si256(c2[540],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[1143],_mm256_xor_si256(c2[550],_mm256_xor_si256(c2[2354],_mm256_xor_si256(c2[2954],_mm256_xor_si256(c2[660],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[2962],_mm256_xor_si256(c2[1760],_mm256_xor_si256(c2[570],_mm256_xor_si256(c2[3071],_mm256_xor_si256(c2[580],_mm256_xor_si256(c2[1783],_mm256_xor_si256(c2[2681],_mm256_xor_si256(c2[690],_mm256_xor_si256(c2[590],_mm256_xor_si256(c2[2891],c2[1991]))))))))))))))))))))))))))))))))));
//row: 36
d2[180]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[3121],c2[1872]));
//row: 37
d2[185]=_mm256_xor_si256(c2[3104],_mm256_xor_si256(c2[1504],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[2403],_mm256_xor_si256(c2[1900],_mm256_xor_si256(c2[300],_mm256_xor_si256(c2[3114],_mm256_xor_si256(c2[1514],_mm256_xor_si256(c2[2912],_mm256_xor_si256(c2[1312],_mm256_xor_si256(c2[511],_mm256_xor_si256(c2[2210],_mm256_xor_si256(c2[2110],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[1524],_mm256_xor_si256(c2[1420],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[3024],_mm256_xor_si256(c2[3134],_mm256_xor_si256(c2[1534],_mm256_xor_si256(c2[2733],_mm256_xor_si256(c2[1133],_mm256_xor_si256(c2[233],_mm256_xor_si256(c2[1832],_mm256_xor_si256(c2[3144],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[840],_mm256_xor_si256(c2[2444],_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[2242],_mm256_xor_si256(c2[2142],_mm256_xor_si256(c2[3154],_mm256_xor_si256(c2[1554],_mm256_xor_si256(c2[1754],_mm256_xor_si256(c2[254],_mm256_xor_si256(c2[154],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[1564],_mm256_xor_si256(c2[2362],_mm256_xor_si256(c2[762],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[2864],_mm256_xor_si256(c2[2764],_mm256_xor_si256(c2[3174],_mm256_xor_si256(c2[1574],_mm256_xor_si256(c2[2471],_mm256_xor_si256(c2[971],_mm256_xor_si256(c2[871],_mm256_xor_si256(c2[3184],_mm256_xor_si256(c2[1584],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[2782],_mm256_xor_si256(c2[2081],_mm256_xor_si256(c2[581],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[3194],_mm256_xor_si256(c2[1594],_mm256_xor_si256(c2[2291],_mm256_xor_si256(c2[691],_mm256_xor_si256(c2[1391],_mm256_xor_si256(c2[3090],c2[2990])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[190]=_mm256_xor_si256(c2[1900],_mm256_xor_si256(c2[1800],_mm256_xor_si256(c2[2704],_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[1810],_mm256_xor_si256(c2[1613],_mm256_xor_si256(c2[2411],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[1920],_mm256_xor_si256(c2[1820],_mm256_xor_si256(c2[121],_mm256_xor_si256(c2[1930],_mm256_xor_si256(c2[1830],_mm256_xor_si256(c2[1434],_mm256_xor_si256(c2[2133],_mm256_xor_si256(c2[1840],_mm256_xor_si256(c2[2740],_mm256_xor_si256(c2[2443],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[450],_mm256_xor_si256(c2[2952],_mm256_xor_si256(c2[1960],_mm256_xor_si256(c2[1860],_mm256_xor_si256(c2[1063],_mm256_xor_si256(c2[3060],_mm256_xor_si256(c2[1870],_mm256_xor_si256(c2[1172],_mm256_xor_si256(c2[1880],_mm256_xor_si256(c2[3083],_mm256_xor_si256(c2[782],_mm256_xor_si256(c2[1990],_mm256_xor_si256(c2[1890],_mm256_xor_si256(c2[992],c2[92]))))))))))))))))))))))))))))))))));
//row: 39
d2[195]=_mm256_xor_si256(c2[1004],_mm256_xor_si256(c2[904],_mm256_xor_si256(c2[1903],_mm256_xor_si256(c2[1803],_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[1014],_mm256_xor_si256(c2[914],_mm256_xor_si256(c2[712],_mm256_xor_si256(c2[1510],_mm256_xor_si256(c2[1024],_mm256_xor_si256(c2[924],_mm256_xor_si256(c2[2424],_mm256_xor_si256(c2[1034],_mm256_xor_si256(c2[934],_mm256_xor_si256(c2[633],_mm256_xor_si256(c2[533],_mm256_xor_si256(c2[1232],_mm256_xor_si256(c2[1044],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[1844],_mm256_xor_si256(c2[1542],_mm256_xor_si256(c2[1054],_mm256_xor_si256(c2[954],_mm256_xor_si256(c2[2753],_mm256_xor_si256(c2[1064],_mm256_xor_si256(c2[964],_mm256_xor_si256(c2[262],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[2164],_mm256_xor_si256(c2[1074],_mm256_xor_si256(c2[974],_mm256_xor_si256(c2[271],_mm256_xor_si256(c2[2470],_mm256_xor_si256(c2[1084],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[2182],_mm256_xor_si256(c2[3080],_mm256_xor_si256(c2[1094],_mm256_xor_si256(c2[994],_mm256_xor_si256(c2[191],_mm256_xor_si256(c2[91],c2[2390]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[200]=_mm256_xor_si256(c2[301],_mm256_xor_si256(c2[1404],_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[2303],_mm256_xor_si256(c2[2301],_mm256_xor_si256(c2[200],_mm256_xor_si256(c2[311],_mm256_xor_si256(c2[1414],_mm256_xor_si256(c2[114],_mm256_xor_si256(c2[1212],_mm256_xor_si256(c2[912],_mm256_xor_si256(c2[2110],_mm256_xor_si256(c2[2010],_mm256_xor_si256(c2[321],_mm256_xor_si256(c2[1424],_mm256_xor_si256(c2[1821],_mm256_xor_si256(c2[3024],_mm256_xor_si256(c2[2924],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[331],_mm256_xor_si256(c2[1434],_mm256_xor_si256(c2[3134],_mm256_xor_si256(c2[1033],_mm256_xor_si256(c2[634],_mm256_xor_si256(c2[1732],_mm256_xor_si256(c2[341],_mm256_xor_si256(c2[1444],_mm256_xor_si256(c2[1241],_mm256_xor_si256(c2[2344],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[2142],_mm256_xor_si256(c2[2042],_mm256_xor_si256(c2[351],_mm256_xor_si256(c2[1454],_mm256_xor_si256(c2[2150],_mm256_xor_si256(c2[154],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[1464],_mm256_xor_si256(c2[2763],_mm256_xor_si256(c2[662],_mm256_xor_si256(c2[1561],_mm256_xor_si256(c2[2764],_mm256_xor_si256(c2[2664],_mm256_xor_si256(c2[371],_mm256_xor_si256(c2[1474],_mm256_xor_si256(c2[2872],_mm256_xor_si256(c2[871],_mm256_xor_si256(c2[771],_mm256_xor_si256(c2[381],_mm256_xor_si256(c2[1484],_mm256_xor_si256(c2[1584],_mm256_xor_si256(c2[2682],_mm256_xor_si256(c2[2482],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[381],_mm256_xor_si256(c2[391],_mm256_xor_si256(c2[1494],_mm256_xor_si256(c2[2692],_mm256_xor_si256(c2[591],_mm256_xor_si256(c2[1792],_mm256_xor_si256(c2[2990],c2[2890]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[205]=_mm256_xor_si256(c2[2301],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[3100],_mm256_xor_si256(c2[1002],_mm256_xor_si256(c2[2311],_mm256_xor_si256(c2[2211],_mm256_xor_si256(c2[2014],_mm256_xor_si256(c2[2812],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[2321],_mm256_xor_si256(c2[2221],_mm256_xor_si256(c2[522],_mm256_xor_si256(c2[2331],_mm256_xor_si256(c2[2231],_mm256_xor_si256(c2[1830],_mm256_xor_si256(c2[2534],_mm256_xor_si256(c2[2241],_mm256_xor_si256(c2[3141],_mm256_xor_si256(c2[2844],_mm256_xor_si256(c2[2251],_mm256_xor_si256(c2[851],_mm256_xor_si256(c2[250],_mm256_xor_si256(c2[2361],_mm256_xor_si256(c2[2261],_mm256_xor_si256(c2[1464],_mm256_xor_si256(c2[262],_mm256_xor_si256(c2[2271],_mm256_xor_si256(c2[1573],_mm256_xor_si256(c2[2281],_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[2391],_mm256_xor_si256(c2[2291],_mm256_xor_si256(c2[1393],c2[493]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=16, byte encoding
static inline void ldpc_BG2_Zc16_byte(uint8_t *c,uint8_t *d) {
__m128i *csimd=(__m128i *)c,*dsimd=(__m128i *)d;
__m128i *c2,*d2;
int i2;
for (i2=0; i2<1; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm_xor_si128(c2[96],_mm_xor_si128(c2[72],_mm_xor_si128(c2[0],_mm_xor_si128(c2[50],_mm_xor_si128(c2[14],_mm_xor_si128(c2[86],_mm_xor_si128(c2[136],_mm_xor_si128(c2[112],_mm_xor_si128(c2[114],_mm_xor_si128(c2[66],_mm_xor_si128(c2[138],_mm_xor_si128(c2[152],_mm_xor_si128(c2[44],_mm_xor_si128(c2[164],_mm_xor_si128(c2[154],_mm_xor_si128(c2[94],_mm_xor_si128(c2[156],_mm_xor_si128(c2[24],_mm_xor_si128(c2[12],_mm_xor_si128(c2[146],_mm_xor_si128(c2[74],_mm_xor_si128(c2[196],_mm_xor_si128(c2[196],_mm_xor_si128(c2[28],_mm_xor_si128(c2[162],_mm_xor_si128(c2[150],c2[198]))))))))))))))))))))))))));
//row: 1
d2[1]=_mm_xor_si128(c2[108],_mm_xor_si128(c2[96],_mm_xor_si128(c2[72],_mm_xor_si128(c2[0],_mm_xor_si128(c2[62],_mm_xor_si128(c2[50],_mm_xor_si128(c2[14],_mm_xor_si128(c2[86],_mm_xor_si128(c2[148],_mm_xor_si128(c2[136],_mm_xor_si128(c2[112],_mm_xor_si128(c2[126],_mm_xor_si128(c2[114],_mm_xor_si128(c2[66],_mm_xor_si128(c2[138],_mm_xor_si128(c2[152],_mm_xor_si128(c2[44],_mm_xor_si128(c2[164],_mm_xor_si128(c2[154],_mm_xor_si128(c2[94],_mm_xor_si128(c2[168],_mm_xor_si128(c2[156],_mm_xor_si128(c2[24],_mm_xor_si128(c2[12],_mm_xor_si128(c2[146],_mm_xor_si128(c2[74],_mm_xor_si128(c2[196],_mm_xor_si128(c2[196],_mm_xor_si128(c2[28],_mm_xor_si128(c2[174],_mm_xor_si128(c2[162],_mm_xor_si128(c2[150],c2[198]))))))))))))))))))))))))))))))));
//row: 2
d2[2]=_mm_xor_si128(c2[108],_mm_xor_si128(c2[96],_mm_xor_si128(c2[84],_mm_xor_si128(c2[72],_mm_xor_si128(c2[0],_mm_xor_si128(c2[62],_mm_xor_si128(c2[50],_mm_xor_si128(c2[14],_mm_xor_si128(c2[86],_mm_xor_si128(c2[148],_mm_xor_si128(c2[136],_mm_xor_si128(c2[112],_mm_xor_si128(c2[126],_mm_xor_si128(c2[114],_mm_xor_si128(c2[78],_mm_xor_si128(c2[66],_mm_xor_si128(c2[138],_mm_xor_si128(c2[164],_mm_xor_si128(c2[152],_mm_xor_si128(c2[44],_mm_xor_si128(c2[164],_mm_xor_si128(c2[166],_mm_xor_si128(c2[154],_mm_xor_si128(c2[94],_mm_xor_si128(c2[168],_mm_xor_si128(c2[156],_mm_xor_si128(c2[36],_mm_xor_si128(c2[24],_mm_xor_si128(c2[12],_mm_xor_si128(c2[158],_mm_xor_si128(c2[146],_mm_xor_si128(c2[74],_mm_xor_si128(c2[16],_mm_xor_si128(c2[196],_mm_xor_si128(c2[196],_mm_xor_si128(c2[28],_mm_xor_si128(c2[174],_mm_xor_si128(c2[162],_mm_xor_si128(c2[162],_mm_xor_si128(c2[150],c2[198]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[3]=_mm_xor_si128(c2[96],_mm_xor_si128(c2[72],_mm_xor_si128(c2[0],_mm_xor_si128(c2[50],_mm_xor_si128(c2[14],_mm_xor_si128(c2[98],_mm_xor_si128(c2[86],_mm_xor_si128(c2[136],_mm_xor_si128(c2[124],_mm_xor_si128(c2[112],_mm_xor_si128(c2[114],_mm_xor_si128(c2[66],_mm_xor_si128(c2[138],_mm_xor_si128(c2[152],_mm_xor_si128(c2[44],_mm_xor_si128(c2[176],_mm_xor_si128(c2[164],_mm_xor_si128(c2[154],_mm_xor_si128(c2[106],_mm_xor_si128(c2[94],_mm_xor_si128(c2[156],_mm_xor_si128(c2[24],_mm_xor_si128(c2[24],_mm_xor_si128(c2[12],_mm_xor_si128(c2[146],_mm_xor_si128(c2[86],_mm_xor_si128(c2[74],_mm_xor_si128(c2[196],_mm_xor_si128(c2[196],_mm_xor_si128(c2[40],_mm_xor_si128(c2[28],_mm_xor_si128(c2[162],_mm_xor_si128(c2[150],_mm_xor_si128(c2[18],c2[198]))))))))))))))))))))))))))))))))));
//row: 4
d2[4]=_mm_xor_si128(c2[0],_mm_xor_si128(c2[180],_mm_xor_si128(c2[156],_mm_xor_si128(c2[84],_mm_xor_si128(c2[36],_mm_xor_si128(c2[146],_mm_xor_si128(c2[134],_mm_xor_si128(c2[98],_mm_xor_si128(c2[170],_mm_xor_si128(c2[74],_mm_xor_si128(c2[40],_mm_xor_si128(c2[28],_mm_xor_si128(c2[4],_mm_xor_si128(c2[18],_mm_xor_si128(c2[6],_mm_xor_si128(c2[150],_mm_xor_si128(c2[30],_mm_xor_si128(c2[44],_mm_xor_si128(c2[128],_mm_xor_si128(c2[56],_mm_xor_si128(c2[46],_mm_xor_si128(c2[178],_mm_xor_si128(c2[60],_mm_xor_si128(c2[48],_mm_xor_si128(c2[108],_mm_xor_si128(c2[96],_mm_xor_si128(c2[38],_mm_xor_si128(c2[158],_mm_xor_si128(c2[88],_mm_xor_si128(c2[88],_mm_xor_si128(c2[112],_mm_xor_si128(c2[66],_mm_xor_si128(c2[54],_mm_xor_si128(c2[42],c2[90]))))))))))))))))))))))))))))))))));
//row: 5
d2[5]=_mm_xor_si128(c2[0],_mm_xor_si128(c2[180],_mm_xor_si128(c2[156],_mm_xor_si128(c2[84],_mm_xor_si128(c2[84],_mm_xor_si128(c2[146],_mm_xor_si128(c2[134],_mm_xor_si128(c2[98],_mm_xor_si128(c2[170],_mm_xor_si128(c2[110],_mm_xor_si128(c2[40],_mm_xor_si128(c2[28],_mm_xor_si128(c2[4],_mm_xor_si128(c2[18],_mm_xor_si128(c2[6],_mm_xor_si128(c2[150],_mm_xor_si128(c2[30],_mm_xor_si128(c2[44],_mm_xor_si128(c2[128],_mm_xor_si128(c2[56],_mm_xor_si128(c2[46],_mm_xor_si128(c2[178],_mm_xor_si128(c2[34],_mm_xor_si128(c2[60],_mm_xor_si128(c2[48],_mm_xor_si128(c2[108],_mm_xor_si128(c2[96],_mm_xor_si128(c2[38],_mm_xor_si128(c2[158],_mm_xor_si128(c2[194],_mm_xor_si128(c2[88],_mm_xor_si128(c2[88],_mm_xor_si128(c2[112],_mm_xor_si128(c2[66],_mm_xor_si128(c2[54],_mm_xor_si128(c2[42],c2[90]))))))))))))))))))))))))))))))))))));
//row: 6
d2[6]=_mm_xor_si128(c2[84],_mm_xor_si128(c2[72],_mm_xor_si128(c2[48],_mm_xor_si128(c2[168],_mm_xor_si128(c2[132],_mm_xor_si128(c2[38],_mm_xor_si128(c2[26],_mm_xor_si128(c2[182],_mm_xor_si128(c2[62],_mm_xor_si128(c2[124],_mm_xor_si128(c2[112],_mm_xor_si128(c2[88],_mm_xor_si128(c2[102],_mm_xor_si128(c2[90],_mm_xor_si128(c2[42],_mm_xor_si128(c2[114],_mm_xor_si128(c2[128],_mm_xor_si128(c2[20],_mm_xor_si128(c2[140],_mm_xor_si128(c2[130],_mm_xor_si128(c2[70],_mm_xor_si128(c2[58],_mm_xor_si128(c2[144],_mm_xor_si128(c2[132],_mm_xor_si128(c2[192],_mm_xor_si128(c2[180],_mm_xor_si128(c2[122],_mm_xor_si128(c2[50],_mm_xor_si128(c2[170],_mm_xor_si128(c2[172],_mm_xor_si128(c2[172],_mm_xor_si128(c2[196],_mm_xor_si128(c2[150],_mm_xor_si128(c2[138],_mm_xor_si128(c2[126],_mm_xor_si128(c2[174],c2[162]))))))))))))))))))))))))))))))))))));
//row: 7
d2[7]=_mm_xor_si128(c2[144],_mm_xor_si128(c2[132],_mm_xor_si128(c2[144],_mm_xor_si128(c2[108],_mm_xor_si128(c2[120],_mm_xor_si128(c2[36],_mm_xor_si128(c2[48],_mm_xor_si128(c2[98],_mm_xor_si128(c2[86],_mm_xor_si128(c2[98],_mm_xor_si128(c2[50],_mm_xor_si128(c2[62],_mm_xor_si128(c2[146],_mm_xor_si128(c2[122],_mm_xor_si128(c2[134],_mm_xor_si128(c2[14],_mm_xor_si128(c2[184],_mm_xor_si128(c2[172],_mm_xor_si128(c2[184],_mm_xor_si128(c2[172],_mm_xor_si128(c2[148],_mm_xor_si128(c2[160],_mm_xor_si128(c2[162],_mm_xor_si128(c2[150],_mm_xor_si128(c2[162],_mm_xor_si128(c2[102],_mm_xor_si128(c2[114],_mm_xor_si128(c2[174],_mm_xor_si128(c2[186],_mm_xor_si128(c2[188],_mm_xor_si128(c2[8],_mm_xor_si128(c2[80],_mm_xor_si128(c2[92],_mm_xor_si128(c2[32],_mm_xor_si128(c2[8],_mm_xor_si128(c2[20],_mm_xor_si128(c2[190],_mm_xor_si128(c2[10],_mm_xor_si128(c2[154],_mm_xor_si128(c2[130],_mm_xor_si128(c2[142],_mm_xor_si128(c2[46],_mm_xor_si128(c2[12],_mm_xor_si128(c2[192],_mm_xor_si128(c2[12],_mm_xor_si128(c2[60],_mm_xor_si128(c2[72],_mm_xor_si128(c2[72],_mm_xor_si128(c2[48],_mm_xor_si128(c2[60],_mm_xor_si128(c2[182],_mm_xor_si128(c2[194],_mm_xor_si128(c2[134],_mm_xor_si128(c2[110],_mm_xor_si128(c2[122],_mm_xor_si128(c2[158],_mm_xor_si128(c2[40],_mm_xor_si128(c2[52],_mm_xor_si128(c2[40],_mm_xor_si128(c2[52],_mm_xor_si128(c2[88],_mm_xor_si128(c2[64],_mm_xor_si128(c2[76],_mm_xor_si128(c2[18],_mm_xor_si128(c2[198],_mm_xor_si128(c2[18],_mm_xor_si128(c2[186],_mm_xor_si128(c2[198],_mm_xor_si128(c2[66],_mm_xor_si128(c2[42],c2[54]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[8]=_mm_xor_si128(c2[180],_mm_xor_si128(c2[168],_mm_xor_si128(c2[156],_mm_xor_si128(c2[144],_mm_xor_si128(c2[72],_mm_xor_si128(c2[168],_mm_xor_si128(c2[134],_mm_xor_si128(c2[122],_mm_xor_si128(c2[86],_mm_xor_si128(c2[158],_mm_xor_si128(c2[170],_mm_xor_si128(c2[28],_mm_xor_si128(c2[16],_mm_xor_si128(c2[184],_mm_xor_si128(c2[6],_mm_xor_si128(c2[186],_mm_xor_si128(c2[150],_mm_xor_si128(c2[138],_mm_xor_si128(c2[18],_mm_xor_si128(c2[44],_mm_xor_si128(c2[32],_mm_xor_si128(c2[116],_mm_xor_si128(c2[44],_mm_xor_si128(c2[46],_mm_xor_si128(c2[34],_mm_xor_si128(c2[166],_mm_xor_si128(c2[48],_mm_xor_si128(c2[36],_mm_xor_si128(c2[108],_mm_xor_si128(c2[96],_mm_xor_si128(c2[84],_mm_xor_si128(c2[38],_mm_xor_si128(c2[26],_mm_xor_si128(c2[146],_mm_xor_si128(c2[88],_mm_xor_si128(c2[76],_mm_xor_si128(c2[76],_mm_xor_si128(c2[100],_mm_xor_si128(c2[54],_mm_xor_si128(c2[42],_mm_xor_si128(c2[42],_mm_xor_si128(c2[30],c2[78]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[9]=_mm_xor_si128(c2[0],_mm_xor_si128(c2[60],_mm_xor_si128(c2[180],_mm_xor_si128(c2[36],_mm_xor_si128(c2[156],_mm_xor_si128(c2[156],_mm_xor_si128(c2[84],_mm_xor_si128(c2[146],_mm_xor_si128(c2[14],_mm_xor_si128(c2[134],_mm_xor_si128(c2[170],_mm_xor_si128(c2[98],_mm_xor_si128(c2[50],_mm_xor_si128(c2[170],_mm_xor_si128(c2[134],_mm_xor_si128(c2[40],_mm_xor_si128(c2[100],_mm_xor_si128(c2[28],_mm_xor_si128(c2[76],_mm_xor_si128(c2[4],_mm_xor_si128(c2[18],_mm_xor_si128(c2[78],_mm_xor_si128(c2[6],_mm_xor_si128(c2[30],_mm_xor_si128(c2[150],_mm_xor_si128(c2[102],_mm_xor_si128(c2[30],_mm_xor_si128(c2[116],_mm_xor_si128(c2[44],_mm_xor_si128(c2[8],_mm_xor_si128(c2[128],_mm_xor_si128(c2[128],_mm_xor_si128(c2[56],_mm_xor_si128(c2[118],_mm_xor_si128(c2[46],_mm_xor_si128(c2[58],_mm_xor_si128(c2[178],_mm_xor_si128(c2[60],_mm_xor_si128(c2[120],_mm_xor_si128(c2[48],_mm_xor_si128(c2[180],_mm_xor_si128(c2[108],_mm_xor_si128(c2[168],_mm_xor_si128(c2[96],_mm_xor_si128(c2[110],_mm_xor_si128(c2[38],_mm_xor_si128(c2[38],_mm_xor_si128(c2[158],_mm_xor_si128(c2[160],_mm_xor_si128(c2[88],_mm_xor_si128(c2[160],_mm_xor_si128(c2[88],_mm_xor_si128(c2[184],_mm_xor_si128(c2[112],_mm_xor_si128(c2[172],_mm_xor_si128(c2[66],_mm_xor_si128(c2[126],_mm_xor_si128(c2[54],_mm_xor_si128(c2[114],_mm_xor_si128(c2[42],_mm_xor_si128(c2[162],c2[90])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[10]=_mm_xor_si128(c2[132],_mm_xor_si128(c2[110],_mm_xor_si128(c2[12],c2[74])));
//row: 11
d2[11]=_mm_xor_si128(c2[0],_mm_xor_si128(c2[168],_mm_xor_si128(c2[96],_mm_xor_si128(c2[132],_mm_xor_si128(c2[146],_mm_xor_si128(c2[110],_mm_xor_si128(c2[2],_mm_xor_si128(c2[182],_mm_xor_si128(c2[40],_mm_xor_si128(c2[28],_mm_xor_si128(c2[16],_mm_xor_si128(c2[18],_mm_xor_si128(c2[162],_mm_xor_si128(c2[42],_mm_xor_si128(c2[56],_mm_xor_si128(c2[140],_mm_xor_si128(c2[80],_mm_xor_si128(c2[68],_mm_xor_si128(c2[58],_mm_xor_si128(c2[10],_mm_xor_si128(c2[190],_mm_xor_si128(c2[60],_mm_xor_si128(c2[120],_mm_xor_si128(c2[120],_mm_xor_si128(c2[108],_mm_xor_si128(c2[50],_mm_xor_si128(c2[182],_mm_xor_si128(c2[170],_mm_xor_si128(c2[158],_mm_xor_si128(c2[100],_mm_xor_si128(c2[100],_mm_xor_si128(c2[136],_mm_xor_si128(c2[124],_mm_xor_si128(c2[66],_mm_xor_si128(c2[54],_mm_xor_si128(c2[114],_mm_xor_si128(c2[102],c2[42])))))))))))))))))))))))))))))))))))));
//row: 12
d2[12]=_mm_xor_si128(c2[84],_mm_xor_si128(c2[72],_mm_xor_si128(c2[48],_mm_xor_si128(c2[168],_mm_xor_si128(c2[38],_mm_xor_si128(c2[26],_mm_xor_si128(c2[182],_mm_xor_si128(c2[62],_mm_xor_si128(c2[182],_mm_xor_si128(c2[124],_mm_xor_si128(c2[112],_mm_xor_si128(c2[88],_mm_xor_si128(c2[102],_mm_xor_si128(c2[90],_mm_xor_si128(c2[42],_mm_xor_si128(c2[114],_mm_xor_si128(c2[186],_mm_xor_si128(c2[128],_mm_xor_si128(c2[20],_mm_xor_si128(c2[140],_mm_xor_si128(c2[130],_mm_xor_si128(c2[70],_mm_xor_si128(c2[144],_mm_xor_si128(c2[132],_mm_xor_si128(c2[192],_mm_xor_si128(c2[180],_mm_xor_si128(c2[122],_mm_xor_si128(c2[50],_mm_xor_si128(c2[172],_mm_xor_si128(c2[172],_mm_xor_si128(c2[196],_mm_xor_si128(c2[150],_mm_xor_si128(c2[138],_mm_xor_si128(c2[126],c2[174]))))))))))))))))))))))))))))))))));
//row: 13
d2[13]=_mm_xor_si128(c2[72],_mm_xor_si128(c2[48],_mm_xor_si128(c2[168],_mm_xor_si128(c2[36],_mm_xor_si128(c2[26],_mm_xor_si128(c2[182],_mm_xor_si128(c2[74],_mm_xor_si128(c2[62],_mm_xor_si128(c2[26],_mm_xor_si128(c2[112],_mm_xor_si128(c2[100],_mm_xor_si128(c2[88],_mm_xor_si128(c2[90],_mm_xor_si128(c2[42],_mm_xor_si128(c2[114],_mm_xor_si128(c2[128],_mm_xor_si128(c2[20],_mm_xor_si128(c2[152],_mm_xor_si128(c2[140],_mm_xor_si128(c2[130],_mm_xor_si128(c2[82],_mm_xor_si128(c2[70],_mm_xor_si128(c2[132],_mm_xor_si128(c2[192],_mm_xor_si128(c2[192],_mm_xor_si128(c2[180],_mm_xor_si128(c2[122],_mm_xor_si128(c2[62],_mm_xor_si128(c2[50],_mm_xor_si128(c2[172],_mm_xor_si128(c2[172],_mm_xor_si128(c2[16],_mm_xor_si128(c2[196],_mm_xor_si128(c2[88],_mm_xor_si128(c2[138],_mm_xor_si128(c2[126],_mm_xor_si128(c2[186],c2[174])))))))))))))))))))))))))))))))))))));
//row: 14
d2[14]=_mm_xor_si128(c2[144],_mm_xor_si128(c2[132],_mm_xor_si128(c2[0],_mm_xor_si128(c2[108],_mm_xor_si128(c2[168],_mm_xor_si128(c2[36],_mm_xor_si128(c2[96],_mm_xor_si128(c2[98],_mm_xor_si128(c2[86],_mm_xor_si128(c2[146],_mm_xor_si128(c2[50],_mm_xor_si128(c2[110],_mm_xor_si128(c2[2],_mm_xor_si128(c2[122],_mm_xor_si128(c2[182],_mm_xor_si128(c2[38],_mm_xor_si128(c2[184],_mm_xor_si128(c2[172],_mm_xor_si128(c2[40],_mm_xor_si128(c2[28],_mm_xor_si128(c2[148],_mm_xor_si128(c2[16],_mm_xor_si128(c2[162],_mm_xor_si128(c2[150],_mm_xor_si128(c2[18],_mm_xor_si128(c2[102],_mm_xor_si128(c2[162],_mm_xor_si128(c2[174],_mm_xor_si128(c2[42],_mm_xor_si128(c2[188],_mm_xor_si128(c2[56],_mm_xor_si128(c2[80],_mm_xor_si128(c2[140],_mm_xor_si128(c2[80],_mm_xor_si128(c2[8],_mm_xor_si128(c2[68],_mm_xor_si128(c2[190],_mm_xor_si128(c2[58],_mm_xor_si128(c2[10],_mm_xor_si128(c2[130],_mm_xor_si128(c2[190],_mm_xor_si128(c2[12],_mm_xor_si128(c2[192],_mm_xor_si128(c2[60],_mm_xor_si128(c2[60],_mm_xor_si128(c2[120],_mm_xor_si128(c2[120],_mm_xor_si128(c2[48],_mm_xor_si128(c2[108],_mm_xor_si128(c2[24],_mm_xor_si128(c2[182],_mm_xor_si128(c2[50],_mm_xor_si128(c2[182],_mm_xor_si128(c2[110],_mm_xor_si128(c2[170],_mm_xor_si128(c2[40],_mm_xor_si128(c2[100],_mm_xor_si128(c2[40],_mm_xor_si128(c2[100],_mm_xor_si128(c2[136],_mm_xor_si128(c2[64],_mm_xor_si128(c2[124],_mm_xor_si128(c2[18],_mm_xor_si128(c2[198],_mm_xor_si128(c2[66],_mm_xor_si128(c2[186],_mm_xor_si128(c2[54],_mm_xor_si128(c2[114],_mm_xor_si128(c2[42],c2[102])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[15]=_mm_xor_si128(c2[168],_mm_xor_si128(c2[84],_mm_xor_si128(c2[156],_mm_xor_si128(c2[60],_mm_xor_si128(c2[132],_mm_xor_si128(c2[180],_mm_xor_si128(c2[60],_mm_xor_si128(c2[36],_mm_xor_si128(c2[122],_mm_xor_si128(c2[38],_mm_xor_si128(c2[110],_mm_xor_si128(c2[2],_mm_xor_si128(c2[74],_mm_xor_si128(c2[74],_mm_xor_si128(c2[146],_mm_xor_si128(c2[16],_mm_xor_si128(c2[124],_mm_xor_si128(c2[4],_mm_xor_si128(c2[100],_mm_xor_si128(c2[172],_mm_xor_si128(c2[186],_mm_xor_si128(c2[102],_mm_xor_si128(c2[174],_mm_xor_si128(c2[54],_mm_xor_si128(c2[126],_mm_xor_si128(c2[126],_mm_xor_si128(c2[6],_mm_xor_si128(c2[140],_mm_xor_si128(c2[20],_mm_xor_si128(c2[32],_mm_xor_si128(c2[104],_mm_xor_si128(c2[152],_mm_xor_si128(c2[32],_mm_xor_si128(c2[142],_mm_xor_si128(c2[22],_mm_xor_si128(c2[82],_mm_xor_si128(c2[154],_mm_xor_si128(c2[36],_mm_xor_si128(c2[144],_mm_xor_si128(c2[24],_mm_xor_si128(c2[12],_mm_xor_si128(c2[84],_mm_xor_si128(c2[192],_mm_xor_si128(c2[72],_mm_xor_si128(c2[134],_mm_xor_si128(c2[14],_mm_xor_si128(c2[62],_mm_xor_si128(c2[134],_mm_xor_si128(c2[184],_mm_xor_si128(c2[64],_mm_xor_si128(c2[184],_mm_xor_si128(c2[64],_mm_xor_si128(c2[16],_mm_xor_si128(c2[88],_mm_xor_si128(c2[42],_mm_xor_si128(c2[150],_mm_xor_si128(c2[30],_mm_xor_si128(c2[138],_mm_xor_si128(c2[18],_mm_xor_si128(c2[186],c2[66]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[16]=_mm_xor_si128(c2[12],_mm_xor_si128(c2[132],_mm_xor_si128(c2[0],_mm_xor_si128(c2[120],_mm_xor_si128(c2[108],_mm_xor_si128(c2[168],_mm_xor_si128(c2[96],_mm_xor_si128(c2[96],_mm_xor_si128(c2[24],_mm_xor_si128(c2[158],_mm_xor_si128(c2[86],_mm_xor_si128(c2[146],_mm_xor_si128(c2[74],_mm_xor_si128(c2[110],_mm_xor_si128(c2[38],_mm_xor_si128(c2[182],_mm_xor_si128(c2[110],_mm_xor_si128(c2[134],_mm_xor_si128(c2[52],_mm_xor_si128(c2[172],_mm_xor_si128(c2[40],_mm_xor_si128(c2[160],_mm_xor_si128(c2[16],_mm_xor_si128(c2[136],_mm_xor_si128(c2[30],_mm_xor_si128(c2[150],_mm_xor_si128(c2[18],_mm_xor_si128(c2[138],_mm_xor_si128(c2[102],_mm_xor_si128(c2[162],_mm_xor_si128(c2[90],_mm_xor_si128(c2[42],_mm_xor_si128(c2[162],_mm_xor_si128(c2[188],_mm_xor_si128(c2[56],_mm_xor_si128(c2[176],_mm_xor_si128(c2[140],_mm_xor_si128(c2[68],_mm_xor_si128(c2[68],_mm_xor_si128(c2[188],_mm_xor_si128(c2[190],_mm_xor_si128(c2[58],_mm_xor_si128(c2[178],_mm_xor_si128(c2[190],_mm_xor_si128(c2[118],_mm_xor_si128(c2[72],_mm_xor_si128(c2[192],_mm_xor_si128(c2[60],_mm_xor_si128(c2[180],_mm_xor_si128(c2[60],_mm_xor_si128(c2[120],_mm_xor_si128(c2[48],_mm_xor_si128(c2[108],_mm_xor_si128(c2[36],_mm_xor_si128(c2[182],_mm_xor_si128(c2[50],_mm_xor_si128(c2[170],_mm_xor_si128(c2[170],_mm_xor_si128(c2[98],_mm_xor_si128(c2[40],_mm_xor_si128(c2[100],_mm_xor_si128(c2[28],_mm_xor_si128(c2[100],_mm_xor_si128(c2[28],_mm_xor_si128(c2[124],_mm_xor_si128(c2[52],_mm_xor_si128(c2[78],_mm_xor_si128(c2[198],_mm_xor_si128(c2[66],_mm_xor_si128(c2[186],_mm_xor_si128(c2[186],_mm_xor_si128(c2[54],_mm_xor_si128(c2[174],_mm_xor_si128(c2[102],_mm_xor_si128(c2[30],c2[186])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[17]=_mm_xor_si128(c2[132],_mm_xor_si128(c2[108],_mm_xor_si128(c2[120],_mm_xor_si128(c2[96],_mm_xor_si128(c2[84],_mm_xor_si128(c2[96],_mm_xor_si128(c2[72],_mm_xor_si128(c2[24],_mm_xor_si128(c2[0],_mm_xor_si128(c2[86],_mm_xor_si128(c2[62],_mm_xor_si128(c2[74],_mm_xor_si128(c2[50],_mm_xor_si128(c2[38],_mm_xor_si128(c2[14],_mm_xor_si128(c2[110],_mm_xor_si128(c2[86],_mm_xor_si128(c2[170],_mm_xor_si128(c2[172],_mm_xor_si128(c2[148],_mm_xor_si128(c2[160],_mm_xor_si128(c2[136],_mm_xor_si128(c2[136],_mm_xor_si128(c2[112],_mm_xor_si128(c2[150],_mm_xor_si128(c2[126],_mm_xor_si128(c2[138],_mm_xor_si128(c2[114],_mm_xor_si128(c2[78],_mm_xor_si128(c2[90],_mm_xor_si128(c2[66],_mm_xor_si128(c2[162],_mm_xor_si128(c2[138],_mm_xor_si128(c2[164],_mm_xor_si128(c2[176],_mm_xor_si128(c2[152],_mm_xor_si128(c2[68],_mm_xor_si128(c2[44],_mm_xor_si128(c2[188],_mm_xor_si128(c2[164],_mm_xor_si128(c2[166],_mm_xor_si128(c2[178],_mm_xor_si128(c2[154],_mm_xor_si128(c2[118],_mm_xor_si128(c2[94],_mm_xor_si128(c2[154],_mm_xor_si128(c2[192],_mm_xor_si128(c2[168],_mm_xor_si128(c2[180],_mm_xor_si128(c2[156],_mm_xor_si128(c2[36],_mm_xor_si128(c2[48],_mm_xor_si128(c2[24],_mm_xor_si128(c2[36],_mm_xor_si128(c2[12],_mm_xor_si128(c2[158],_mm_xor_si128(c2[170],_mm_xor_si128(c2[146],_mm_xor_si128(c2[98],_mm_xor_si128(c2[74],_mm_xor_si128(c2[16],_mm_xor_si128(c2[28],_mm_xor_si128(c2[196],_mm_xor_si128(c2[28],_mm_xor_si128(c2[196],_mm_xor_si128(c2[52],_mm_xor_si128(c2[28],_mm_xor_si128(c2[198],_mm_xor_si128(c2[174],_mm_xor_si128(c2[186],_mm_xor_si128(c2[162],_mm_xor_si128(c2[162],_mm_xor_si128(c2[174],_mm_xor_si128(c2[150],_mm_xor_si128(c2[30],c2[198])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[18]=_mm_xor_si128(c2[144],_mm_xor_si128(c2[36],c2[38]));
//row: 19
d2[19]=_mm_xor_si128(c2[12],_mm_xor_si128(c2[180],_mm_xor_si128(c2[108],_mm_xor_si128(c2[84],_mm_xor_si128(c2[158],_mm_xor_si128(c2[122],_mm_xor_si128(c2[2],_mm_xor_si128(c2[50],_mm_xor_si128(c2[52],_mm_xor_si128(c2[28],_mm_xor_si128(c2[30],_mm_xor_si128(c2[174],_mm_xor_si128(c2[54],_mm_xor_si128(c2[68],_mm_xor_si128(c2[152],_mm_xor_si128(c2[80],_mm_xor_si128(c2[70],_mm_xor_si128(c2[10],_mm_xor_si128(c2[72],_mm_xor_si128(c2[132],_mm_xor_si128(c2[120],_mm_xor_si128(c2[62],_mm_xor_si128(c2[182],_mm_xor_si128(c2[112],_mm_xor_si128(c2[112],_mm_xor_si128(c2[136],_mm_xor_si128(c2[78],_mm_xor_si128(c2[66],c2[114]))))))))))))))))))))))))))));
//row: 20
d2[20]=_mm_xor_si128(c2[72],_mm_xor_si128(c2[60],_mm_xor_si128(c2[36],_mm_xor_si128(c2[156],_mm_xor_si128(c2[26],_mm_xor_si128(c2[14],_mm_xor_si128(c2[170],_mm_xor_si128(c2[50],_mm_xor_si128(c2[122],_mm_xor_si128(c2[112],_mm_xor_si128(c2[100],_mm_xor_si128(c2[76],_mm_xor_si128(c2[90],_mm_xor_si128(c2[78],_mm_xor_si128(c2[30],_mm_xor_si128(c2[102],_mm_xor_si128(c2[116],_mm_xor_si128(c2[8],_mm_xor_si128(c2[128],_mm_xor_si128(c2[116],_mm_xor_si128(c2[118],_mm_xor_si128(c2[58],_mm_xor_si128(c2[132],_mm_xor_si128(c2[120],_mm_xor_si128(c2[180],_mm_xor_si128(c2[168],_mm_xor_si128(c2[110],_mm_xor_si128(c2[38],_mm_xor_si128(c2[160],_mm_xor_si128(c2[160],_mm_xor_si128(c2[184],_mm_xor_si128(c2[138],_mm_xor_si128(c2[126],_mm_xor_si128(c2[114],c2[162]))))))))))))))))))))))))))))))))));
//row: 21
d2[21]=_mm_xor_si128(c2[120],_mm_xor_si128(c2[96],_mm_xor_si128(c2[24],_mm_xor_si128(c2[144],_mm_xor_si128(c2[74],_mm_xor_si128(c2[38],_mm_xor_si128(c2[122],_mm_xor_si128(c2[110],_mm_xor_si128(c2[160],_mm_xor_si128(c2[148],_mm_xor_si128(c2[136],_mm_xor_si128(c2[138],_mm_xor_si128(c2[90],_mm_xor_si128(c2[162],_mm_xor_si128(c2[176],_mm_xor_si128(c2[68],_mm_xor_si128(c2[8],_mm_xor_si128(c2[188],_mm_xor_si128(c2[178],_mm_xor_si128(c2[130],_mm_xor_si128(c2[118],_mm_xor_si128(c2[180],_mm_xor_si128(c2[48],_mm_xor_si128(c2[48],_mm_xor_si128(c2[36],_mm_xor_si128(c2[170],_mm_xor_si128(c2[110],_mm_xor_si128(c2[98],_mm_xor_si128(c2[28],_mm_xor_si128(c2[28],_mm_xor_si128(c2[64],_mm_xor_si128(c2[52],_mm_xor_si128(c2[136],_mm_xor_si128(c2[186],_mm_xor_si128(c2[174],_mm_xor_si128(c2[42],c2[30]))))))))))))))))))))))))))))))))))));
//row: 22
d2[22]=_mm_xor_si128(c2[170],c2[184]);
//row: 23
d2[23]=_mm_xor_si128(c2[84],_mm_xor_si128(c2[138],c2[178]));
//row: 24
d2[24]=_mm_xor_si128(c2[170],_mm_xor_si128(c2[136],c2[114]));
//row: 25
d2[25]=_mm_xor_si128(c2[48],c2[154]);
//row: 26
d2[26]=_mm_xor_si128(c2[108],_mm_xor_si128(c2[96],_mm_xor_si128(c2[24],_mm_xor_si128(c2[84],_mm_xor_si128(c2[72],_mm_xor_si128(c2[0],_mm_xor_si128(c2[0],_mm_xor_si128(c2[120],_mm_xor_si128(c2[62],_mm_xor_si128(c2[50],_mm_xor_si128(c2[170],_mm_xor_si128(c2[14],_mm_xor_si128(c2[134],_mm_xor_si128(c2[26],_mm_xor_si128(c2[86],_mm_xor_si128(c2[14],_mm_xor_si128(c2[148],_mm_xor_si128(c2[136],_mm_xor_si128(c2[64],_mm_xor_si128(c2[52],_mm_xor_si128(c2[112],_mm_xor_si128(c2[40],_mm_xor_si128(c2[160],_mm_xor_si128(c2[126],_mm_xor_si128(c2[114],_mm_xor_si128(c2[42],_mm_xor_si128(c2[78],_mm_xor_si128(c2[66],_mm_xor_si128(c2[186],_mm_xor_si128(c2[138],_mm_xor_si128(c2[66],_mm_xor_si128(c2[164],_mm_xor_si128(c2[152],_mm_xor_si128(c2[80],_mm_xor_si128(c2[44],_mm_xor_si128(c2[164],_mm_xor_si128(c2[104],_mm_xor_si128(c2[164],_mm_xor_si128(c2[92],_mm_xor_si128(c2[166],_mm_xor_si128(c2[154],_mm_xor_si128(c2[82],_mm_xor_si128(c2[34],_mm_xor_si128(c2[94],_mm_xor_si128(c2[22],_mm_xor_si128(c2[168],_mm_xor_si128(c2[156],_mm_xor_si128(c2[84],_mm_xor_si128(c2[36],_mm_xor_si128(c2[24],_mm_xor_si128(c2[144],_mm_xor_si128(c2[144],_mm_xor_si128(c2[12],_mm_xor_si128(c2[132],_mm_xor_si128(c2[158],_mm_xor_si128(c2[146],_mm_xor_si128(c2[74],_mm_xor_si128(c2[14],_mm_xor_si128(c2[74],_mm_xor_si128(c2[194],_mm_xor_si128(c2[194],_mm_xor_si128(c2[16],_mm_xor_si128(c2[196],_mm_xor_si128(c2[124],_mm_xor_si128(c2[196],_mm_xor_si128(c2[124],_mm_xor_si128(c2[160],_mm_xor_si128(c2[28],_mm_xor_si128(c2[148],_mm_xor_si128(c2[174],_mm_xor_si128(c2[162],_mm_xor_si128(c2[90],_mm_xor_si128(c2[162],_mm_xor_si128(c2[150],_mm_xor_si128(c2[78],_mm_xor_si128(c2[138],_mm_xor_si128(c2[198],c2[126])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[27]=_mm_xor_si128(c2[96],c2[96]);
//row: 28
d2[28]=_mm_xor_si128(c2[26],_mm_xor_si128(c2[64],c2[94]));
//row: 29
d2[29]=_mm_xor_si128(c2[24],c2[152]);
//row: 30
d2[30]=_mm_xor_si128(c2[88],_mm_xor_si128(c2[10],_mm_xor_si128(c2[122],c2[66])));
//row: 31
d2[31]=_mm_xor_si128(c2[108],_mm_xor_si128(c2[84],_mm_xor_si128(c2[12],_mm_xor_si128(c2[62],_mm_xor_si128(c2[26],_mm_xor_si128(c2[110],_mm_xor_si128(c2[98],_mm_xor_si128(c2[122],_mm_xor_si128(c2[148],_mm_xor_si128(c2[136],_mm_xor_si128(c2[124],_mm_xor_si128(c2[126],_mm_xor_si128(c2[78],_mm_xor_si128(c2[150],_mm_xor_si128(c2[164],_mm_xor_si128(c2[56],_mm_xor_si128(c2[188],_mm_xor_si128(c2[176],_mm_xor_si128(c2[166],_mm_xor_si128(c2[118],_mm_xor_si128(c2[106],_mm_xor_si128(c2[168],_mm_xor_si128(c2[36],_mm_xor_si128(c2[36],_mm_xor_si128(c2[24],_mm_xor_si128(c2[158],_mm_xor_si128(c2[98],_mm_xor_si128(c2[86],_mm_xor_si128(c2[16],_mm_xor_si128(c2[16],_mm_xor_si128(c2[52],_mm_xor_si128(c2[40],_mm_xor_si128(c2[174],_mm_xor_si128(c2[162],_mm_xor_si128(c2[30],c2[18])))))))))))))))))))))))))))))))))));
//row: 32
d2[32]=_mm_xor_si128(c2[180],_mm_xor_si128(c2[168],_mm_xor_si128(c2[156],_mm_xor_si128(c2[144],_mm_xor_si128(c2[72],_mm_xor_si128(c2[24],_mm_xor_si128(c2[134],_mm_xor_si128(c2[122],_mm_xor_si128(c2[86],_mm_xor_si128(c2[158],_mm_xor_si128(c2[28],_mm_xor_si128(c2[16],_mm_xor_si128(c2[184],_mm_xor_si128(c2[6],_mm_xor_si128(c2[186],_mm_xor_si128(c2[150],_mm_xor_si128(c2[138],_mm_xor_si128(c2[18],_mm_xor_si128(c2[44],_mm_xor_si128(c2[32],_mm_xor_si128(c2[116],_mm_xor_si128(c2[44],_mm_xor_si128(c2[46],_mm_xor_si128(c2[34],_mm_xor_si128(c2[166],_mm_xor_si128(c2[154],_mm_xor_si128(c2[48],_mm_xor_si128(c2[36],_mm_xor_si128(c2[108],_mm_xor_si128(c2[96],_mm_xor_si128(c2[84],_mm_xor_si128(c2[38],_mm_xor_si128(c2[26],_mm_xor_si128(c2[146],_mm_xor_si128(c2[88],_mm_xor_si128(c2[76],_mm_xor_si128(c2[76],_mm_xor_si128(c2[100],_mm_xor_si128(c2[54],_mm_xor_si128(c2[42],_mm_xor_si128(c2[42],_mm_xor_si128(c2[30],c2[78]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[33]=_mm_xor_si128(c2[36],_mm_xor_si128(c2[12],_mm_xor_si128(c2[132],_mm_xor_si128(c2[182],_mm_xor_si128(c2[146],_mm_xor_si128(c2[26],_mm_xor_si128(c2[76],_mm_xor_si128(c2[52],_mm_xor_si128(c2[52],_mm_xor_si128(c2[54],_mm_xor_si128(c2[6],_mm_xor_si128(c2[78],_mm_xor_si128(c2[92],_mm_xor_si128(c2[176],_mm_xor_si128(c2[104],_mm_xor_si128(c2[94],_mm_xor_si128(c2[34],_mm_xor_si128(c2[96],_mm_xor_si128(c2[156],_mm_xor_si128(c2[144],_mm_xor_si128(c2[86],_mm_xor_si128(c2[14],_mm_xor_si128(c2[62],_mm_xor_si128(c2[136],_mm_xor_si128(c2[136],_mm_xor_si128(c2[160],_mm_xor_si128(c2[102],_mm_xor_si128(c2[90],c2[138]))))))))))))))))))))))))))));
//row: 34
d2[34]=_mm_xor_si128(c2[168],_mm_xor_si128(c2[156],_mm_xor_si128(c2[144],_mm_xor_si128(c2[144],_mm_xor_si128(c2[132],_mm_xor_si128(c2[120],_mm_xor_si128(c2[60],_mm_xor_si128(c2[48],_mm_xor_si128(c2[36],_mm_xor_si128(c2[122],_mm_xor_si128(c2[110],_mm_xor_si128(c2[98],_mm_xor_si128(c2[74],_mm_xor_si128(c2[62],_mm_xor_si128(c2[146],_mm_xor_si128(c2[146],_mm_xor_si128(c2[134],_mm_xor_si128(c2[16],_mm_xor_si128(c2[4],_mm_xor_si128(c2[184],_mm_xor_si128(c2[172],_mm_xor_si128(c2[172],_mm_xor_si128(c2[160],_mm_xor_si128(c2[186],_mm_xor_si128(c2[174],_mm_xor_si128(c2[162],_mm_xor_si128(c2[138],_mm_xor_si128(c2[126],_mm_xor_si128(c2[114],_mm_xor_si128(c2[6],_mm_xor_si128(c2[186],_mm_xor_si128(c2[32],_mm_xor_si128(c2[20],_mm_xor_si128(c2[8],_mm_xor_si128(c2[104],_mm_xor_si128(c2[92],_mm_xor_si128(c2[32],_mm_xor_si128(c2[32],_mm_xor_si128(c2[20],_mm_xor_si128(c2[34],_mm_xor_si128(c2[22],_mm_xor_si128(c2[10],_mm_xor_si128(c2[154],_mm_xor_si128(c2[154],_mm_xor_si128(c2[142],_mm_xor_si128(c2[36],_mm_xor_si128(c2[24],_mm_xor_si128(c2[12],_mm_xor_si128(c2[96],_mm_xor_si128(c2[84],_mm_xor_si128(c2[72],_mm_xor_si128(c2[72],_mm_xor_si128(c2[72],_mm_xor_si128(c2[60],_mm_xor_si128(c2[26],_mm_xor_si128(c2[14],_mm_xor_si128(c2[194],_mm_xor_si128(c2[134],_mm_xor_si128(c2[134],_mm_xor_si128(c2[122],_mm_xor_si128(c2[76],_mm_xor_si128(c2[64],_mm_xor_si128(c2[52],_mm_xor_si128(c2[64],_mm_xor_si128(c2[52],_mm_xor_si128(c2[88],_mm_xor_si128(c2[88],_mm_xor_si128(c2[76],_mm_xor_si128(c2[42],_mm_xor_si128(c2[30],_mm_xor_si128(c2[18],_mm_xor_si128(c2[30],_mm_xor_si128(c2[18],_mm_xor_si128(c2[198],_mm_xor_si128(c2[66],_mm_xor_si128(c2[66],c2[54]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[35]=_mm_xor_si128(c2[96],_mm_xor_si128(c2[84],_mm_xor_si128(c2[60],_mm_xor_si128(c2[180],_mm_xor_si128(c2[50],_mm_xor_si128(c2[38],_mm_xor_si128(c2[2],_mm_xor_si128(c2[74],_mm_xor_si128(c2[110],_mm_xor_si128(c2[136],_mm_xor_si128(c2[124],_mm_xor_si128(c2[100],_mm_xor_si128(c2[114],_mm_xor_si128(c2[102],_mm_xor_si128(c2[54],_mm_xor_si128(c2[126],_mm_xor_si128(c2[140],_mm_xor_si128(c2[32],_mm_xor_si128(c2[152],_mm_xor_si128(c2[142],_mm_xor_si128(c2[82],_mm_xor_si128(c2[106],_mm_xor_si128(c2[156],_mm_xor_si128(c2[144],_mm_xor_si128(c2[12],_mm_xor_si128(c2[192],_mm_xor_si128(c2[134],_mm_xor_si128(c2[62],_mm_xor_si128(c2[184],_mm_xor_si128(c2[184],_mm_xor_si128(c2[16],_mm_xor_si128(c2[162],_mm_xor_si128(c2[150],_mm_xor_si128(c2[138],c2[186]))))))))))))))))))))))))))))))))));
//row: 36
d2[36]=_mm_xor_si128(c2[144],_mm_xor_si128(c2[76],c2[134]));
//row: 37
d2[37]=_mm_xor_si128(c2[36],_mm_xor_si128(c2[180],_mm_xor_si128(c2[12],_mm_xor_si128(c2[156],_mm_xor_si128(c2[132],_mm_xor_si128(c2[84],_mm_xor_si128(c2[182],_mm_xor_si128(c2[134],_mm_xor_si128(c2[146],_mm_xor_si128(c2[98],_mm_xor_si128(c2[182],_mm_xor_si128(c2[26],_mm_xor_si128(c2[170],_mm_xor_si128(c2[76],_mm_xor_si128(c2[28],_mm_xor_si128(c2[16],_mm_xor_si128(c2[52],_mm_xor_si128(c2[4],_mm_xor_si128(c2[54],_mm_xor_si128(c2[6],_mm_xor_si128(c2[6],_mm_xor_si128(c2[150],_mm_xor_si128(c2[78],_mm_xor_si128(c2[30],_mm_xor_si128(c2[92],_mm_xor_si128(c2[44],_mm_xor_si128(c2[176],_mm_xor_si128(c2[128],_mm_xor_si128(c2[68],_mm_xor_si128(c2[104],_mm_xor_si128(c2[56],_mm_xor_si128(c2[94],_mm_xor_si128(c2[46],_mm_xor_si128(c2[190],_mm_xor_si128(c2[34],_mm_xor_si128(c2[178],_mm_xor_si128(c2[96],_mm_xor_si128(c2[48],_mm_xor_si128(c2[156],_mm_xor_si128(c2[108],_mm_xor_si128(c2[108],_mm_xor_si128(c2[144],_mm_xor_si128(c2[96],_mm_xor_si128(c2[86],_mm_xor_si128(c2[38],_mm_xor_si128(c2[170],_mm_xor_si128(c2[14],_mm_xor_si128(c2[158],_mm_xor_si128(c2[136],_mm_xor_si128(c2[88],_mm_xor_si128(c2[136],_mm_xor_si128(c2[88],_mm_xor_si128(c2[124],_mm_xor_si128(c2[160],_mm_xor_si128(c2[112],_mm_xor_si128(c2[102],_mm_xor_si128(c2[54],_mm_xor_si128(c2[90],_mm_xor_si128(c2[42],_mm_xor_si128(c2[102],_mm_xor_si128(c2[138],c2[90])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[38]=_mm_xor_si128(c2[180],_mm_xor_si128(c2[168],_mm_xor_si128(c2[144],_mm_xor_si128(c2[72],_mm_xor_si128(c2[134],_mm_xor_si128(c2[122],_mm_xor_si128(c2[86],_mm_xor_si128(c2[158],_mm_xor_si128(c2[182],_mm_xor_si128(c2[28],_mm_xor_si128(c2[16],_mm_xor_si128(c2[184],_mm_xor_si128(c2[6],_mm_xor_si128(c2[186],_mm_xor_si128(c2[138],_mm_xor_si128(c2[18],_mm_xor_si128(c2[32],_mm_xor_si128(c2[116],_mm_xor_si128(c2[44],_mm_xor_si128(c2[34],_mm_xor_si128(c2[166],_mm_xor_si128(c2[34],_mm_xor_si128(c2[48],_mm_xor_si128(c2[36],_mm_xor_si128(c2[96],_mm_xor_si128(c2[84],_mm_xor_si128(c2[26],_mm_xor_si128(c2[146],_mm_xor_si128(c2[76],_mm_xor_si128(c2[76],_mm_xor_si128(c2[100],_mm_xor_si128(c2[54],_mm_xor_si128(c2[42],_mm_xor_si128(c2[30],c2[78]))))))))))))))))))))))))))))))))));
//row: 39
d2[39]=_mm_xor_si128(c2[132],_mm_xor_si128(c2[120],_mm_xor_si128(c2[108],_mm_xor_si128(c2[96],_mm_xor_si128(c2[24],_mm_xor_si128(c2[180],_mm_xor_si128(c2[86],_mm_xor_si128(c2[74],_mm_xor_si128(c2[38],_mm_xor_si128(c2[110],_mm_xor_si128(c2[172],_mm_xor_si128(c2[160],_mm_xor_si128(c2[136],_mm_xor_si128(c2[150],_mm_xor_si128(c2[138],_mm_xor_si128(c2[102],_mm_xor_si128(c2[90],_mm_xor_si128(c2[162],_mm_xor_si128(c2[188],_mm_xor_si128(c2[176],_mm_xor_si128(c2[68],_mm_xor_si128(c2[188],_mm_xor_si128(c2[190],_mm_xor_si128(c2[178],_mm_xor_si128(c2[118],_mm_xor_si128(c2[192],_mm_xor_si128(c2[180],_mm_xor_si128(c2[60],_mm_xor_si128(c2[48],_mm_xor_si128(c2[36],_mm_xor_si128(c2[182],_mm_xor_si128(c2[170],_mm_xor_si128(c2[98],_mm_xor_si128(c2[158],_mm_xor_si128(c2[40],_mm_xor_si128(c2[28],_mm_xor_si128(c2[28],_mm_xor_si128(c2[52],_mm_xor_si128(c2[198],_mm_xor_si128(c2[186],_mm_xor_si128(c2[186],_mm_xor_si128(c2[174],c2[30]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[40]=_mm_xor_si128(c2[36],_mm_xor_si128(c2[0],_mm_xor_si128(c2[12],_mm_xor_si128(c2[168],_mm_xor_si128(c2[132],_mm_xor_si128(c2[96],_mm_xor_si128(c2[182],_mm_xor_si128(c2[146],_mm_xor_si128(c2[146],_mm_xor_si128(c2[110],_mm_xor_si128(c2[2],_mm_xor_si128(c2[26],_mm_xor_si128(c2[182],_mm_xor_si128(c2[76],_mm_xor_si128(c2[40],_mm_xor_si128(c2[28],_mm_xor_si128(c2[52],_mm_xor_si128(c2[16],_mm_xor_si128(c2[4],_mm_xor_si128(c2[54],_mm_xor_si128(c2[18],_mm_xor_si128(c2[6],_mm_xor_si128(c2[162],_mm_xor_si128(c2[78],_mm_xor_si128(c2[42],_mm_xor_si128(c2[92],_mm_xor_si128(c2[56],_mm_xor_si128(c2[176],_mm_xor_si128(c2[140],_mm_xor_si128(c2[80],_mm_xor_si128(c2[104],_mm_xor_si128(c2[68],_mm_xor_si128(c2[94],_mm_xor_si128(c2[58],_mm_xor_si128(c2[10],_mm_xor_si128(c2[34],_mm_xor_si128(c2[190],_mm_xor_si128(c2[96],_mm_xor_si128(c2[60],_mm_xor_si128(c2[156],_mm_xor_si128(c2[120],_mm_xor_si128(c2[120],_mm_xor_si128(c2[144],_mm_xor_si128(c2[108],_mm_xor_si128(c2[86],_mm_xor_si128(c2[50],_mm_xor_si128(c2[182],_mm_xor_si128(c2[14],_mm_xor_si128(c2[170],_mm_xor_si128(c2[136],_mm_xor_si128(c2[100],_mm_xor_si128(c2[136],_mm_xor_si128(c2[100],_mm_xor_si128(c2[136],_mm_xor_si128(c2[160],_mm_xor_si128(c2[124],_mm_xor_si128(c2[102],_mm_xor_si128(c2[66],_mm_xor_si128(c2[90],_mm_xor_si128(c2[54],_mm_xor_si128(c2[114],_mm_xor_si128(c2[138],c2[102]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[41]=_mm_xor_si128(c2[180],_mm_xor_si128(c2[168],_mm_xor_si128(c2[144],_mm_xor_si128(c2[72],_mm_xor_si128(c2[134],_mm_xor_si128(c2[122],_mm_xor_si128(c2[86],_mm_xor_si128(c2[158],_mm_xor_si128(c2[14],_mm_xor_si128(c2[28],_mm_xor_si128(c2[16],_mm_xor_si128(c2[184],_mm_xor_si128(c2[6],_mm_xor_si128(c2[186],_mm_xor_si128(c2[138],_mm_xor_si128(c2[18],_mm_xor_si128(c2[32],_mm_xor_si128(c2[116],_mm_xor_si128(c2[44],_mm_xor_si128(c2[34],_mm_xor_si128(c2[166],_mm_xor_si128(c2[70],_mm_xor_si128(c2[48],_mm_xor_si128(c2[36],_mm_xor_si128(c2[96],_mm_xor_si128(c2[84],_mm_xor_si128(c2[26],_mm_xor_si128(c2[146],_mm_xor_si128(c2[76],_mm_xor_si128(c2[76],_mm_xor_si128(c2[100],_mm_xor_si128(c2[54],_mm_xor_si128(c2[42],_mm_xor_si128(c2[30],c2[78]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=176, byte encoding
static inline void ldpc_BG2_Zc176_byte(uint8_t *c,uint8_t *d) {
__m128i *csimd=(__m128i *)c,*dsimd=(__m128i *)d;
__m128i *c2,*d2;
int i2;
for (i2=0; i2<11; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm_xor_si128(c2[2429],_mm_xor_si128(c2[1],_mm_xor_si128(c2[226],_mm_xor_si128(c2[3110],_mm_xor_si128(c2[1572],_mm_xor_si128(c2[905],_mm_xor_si128(c2[2904],_mm_xor_si128(c2[2914],_mm_xor_si128(c2[506],_mm_xor_si128(c2[70],_mm_xor_si128(c2[2272],_mm_xor_si128(c2[3171],_mm_xor_si128(c2[313],_mm_xor_si128(c2[2958],_mm_xor_si128(c2[110],_mm_xor_si128(c2[3197],_mm_xor_si128(c2[1674],_mm_xor_si128(c2[1455],_mm_xor_si128(c2[133],_mm_xor_si128(c2[1036],_mm_xor_si128(c2[1919],_mm_xor_si128(c2[2386],_mm_xor_si128(c2[3044],_mm_xor_si128(c2[177],_mm_xor_si128(c2[2405],_mm_xor_si128(c2[1086],c2[1964]))))))))))))))))))))))))));
//row: 1
d2[11]=_mm_xor_si128(c2[2649],_mm_xor_si128(c2[2429],_mm_xor_si128(c2[1],_mm_xor_si128(c2[226],_mm_xor_si128(c2[3330],_mm_xor_si128(c2[3110],_mm_xor_si128(c2[1572],_mm_xor_si128(c2[905],_mm_xor_si128(c2[3124],_mm_xor_si128(c2[2904],_mm_xor_si128(c2[2914],_mm_xor_si128(c2[726],_mm_xor_si128(c2[506],_mm_xor_si128(c2[70],_mm_xor_si128(c2[2272],_mm_xor_si128(c2[3171],_mm_xor_si128(c2[313],_mm_xor_si128(c2[2958],_mm_xor_si128(c2[110],_mm_xor_si128(c2[3197],_mm_xor_si128(c2[1894],_mm_xor_si128(c2[1674],_mm_xor_si128(c2[1455],_mm_xor_si128(c2[133],_mm_xor_si128(c2[1036],_mm_xor_si128(c2[1919],_mm_xor_si128(c2[2386],_mm_xor_si128(c2[3044],_mm_xor_si128(c2[177],_mm_xor_si128(c2[2625],_mm_xor_si128(c2[2405],_mm_xor_si128(c2[1086],c2[1964]))))))))))))))))))))))))))))))));
//row: 2
d2[22]=_mm_xor_si128(c2[2649],_mm_xor_si128(c2[2429],_mm_xor_si128(c2[221],_mm_xor_si128(c2[1],_mm_xor_si128(c2[226],_mm_xor_si128(c2[3330],_mm_xor_si128(c2[3110],_mm_xor_si128(c2[1572],_mm_xor_si128(c2[905],_mm_xor_si128(c2[3124],_mm_xor_si128(c2[2904],_mm_xor_si128(c2[2914],_mm_xor_si128(c2[726],_mm_xor_si128(c2[506],_mm_xor_si128(c2[290],_mm_xor_si128(c2[70],_mm_xor_si128(c2[2272],_mm_xor_si128(c2[3391],_mm_xor_si128(c2[3171],_mm_xor_si128(c2[313],_mm_xor_si128(c2[2958],_mm_xor_si128(c2[330],_mm_xor_si128(c2[110],_mm_xor_si128(c2[3197],_mm_xor_si128(c2[1894],_mm_xor_si128(c2[1674],_mm_xor_si128(c2[1675],_mm_xor_si128(c2[1455],_mm_xor_si128(c2[133],_mm_xor_si128(c2[1256],_mm_xor_si128(c2[1036],_mm_xor_si128(c2[1919],_mm_xor_si128(c2[2606],_mm_xor_si128(c2[2386],_mm_xor_si128(c2[3044],_mm_xor_si128(c2[177],_mm_xor_si128(c2[2625],_mm_xor_si128(c2[2405],_mm_xor_si128(c2[1306],_mm_xor_si128(c2[1086],c2[1964]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[33]=_mm_xor_si128(c2[2429],_mm_xor_si128(c2[1],_mm_xor_si128(c2[226],_mm_xor_si128(c2[3110],_mm_xor_si128(c2[1572],_mm_xor_si128(c2[1125],_mm_xor_si128(c2[905],_mm_xor_si128(c2[2904],_mm_xor_si128(c2[3134],_mm_xor_si128(c2[2914],_mm_xor_si128(c2[506],_mm_xor_si128(c2[70],_mm_xor_si128(c2[2272],_mm_xor_si128(c2[3171],_mm_xor_si128(c2[313],_mm_xor_si128(c2[3178],_mm_xor_si128(c2[2958],_mm_xor_si128(c2[110],_mm_xor_si128(c2[3417],_mm_xor_si128(c2[3197],_mm_xor_si128(c2[1674],_mm_xor_si128(c2[1455],_mm_xor_si128(c2[353],_mm_xor_si128(c2[133],_mm_xor_si128(c2[1036],_mm_xor_si128(c2[2139],_mm_xor_si128(c2[1919],_mm_xor_si128(c2[2386],_mm_xor_si128(c2[3044],_mm_xor_si128(c2[397],_mm_xor_si128(c2[177],_mm_xor_si128(c2[2405],_mm_xor_si128(c2[1086],_mm_xor_si128(c2[2184],c2[1964]))))))))))))))))))))))))))))))))));
//row: 4
d2[44]=_mm_xor_si128(c2[3303],_mm_xor_si128(c2[3083],_mm_xor_si128(c2[666],_mm_xor_si128(c2[880],_mm_xor_si128(c2[1325],_mm_xor_si128(c2[465],_mm_xor_si128(c2[245],_mm_xor_si128(c2[2226],_mm_xor_si128(c2[1570],_mm_xor_si128(c2[686],_mm_xor_si128(c2[270],_mm_xor_si128(c2[50],_mm_xor_si128(c2[49],_mm_xor_si128(c2[1391],_mm_xor_si128(c2[1171],_mm_xor_si128(c2[735],_mm_xor_si128(c2[2926],_mm_xor_si128(c2[317],_mm_xor_si128(c2[978],_mm_xor_si128(c2[93],_mm_xor_si128(c2[775],_mm_xor_si128(c2[332],_mm_xor_si128(c2[2559],_mm_xor_si128(c2[2339],_mm_xor_si128(c2[2120],_mm_xor_si128(c2[798],_mm_xor_si128(c2[1701],_mm_xor_si128(c2[2584],_mm_xor_si128(c2[3040],_mm_xor_si128(c2[179],_mm_xor_si128(c2[842],_mm_xor_si128(c2[3279],_mm_xor_si128(c2[3059],_mm_xor_si128(c2[1740],c2[2618]))))))))))))))))))))))))))))))))));
//row: 5
d2[55]=_mm_xor_si128(c2[1762],_mm_xor_si128(c2[1542],_mm_xor_si128(c2[2644],_mm_xor_si128(c2[2869],_mm_xor_si128(c2[3304],_mm_xor_si128(c2[2443],_mm_xor_si128(c2[2223],_mm_xor_si128(c2[685],_mm_xor_si128(c2[29],_mm_xor_si128(c2[907],_mm_xor_si128(c2[2248],_mm_xor_si128(c2[2028],_mm_xor_si128(c2[2027],_mm_xor_si128(c2[3369],_mm_xor_si128(c2[3149],_mm_xor_si128(c2[2713],_mm_xor_si128(c2[1396],_mm_xor_si128(c2[2295],_mm_xor_si128(c2[2956],_mm_xor_si128(c2[2071],_mm_xor_si128(c2[2753],_mm_xor_si128(c2[2310],_mm_xor_si128(c2[772],_mm_xor_si128(c2[1018],_mm_xor_si128(c2[798],_mm_xor_si128(c2[579],_mm_xor_si128(c2[2776],_mm_xor_si128(c2[160],_mm_xor_si128(c2[1043],_mm_xor_si128(c2[1700],_mm_xor_si128(c2[1499],_mm_xor_si128(c2[2157],_mm_xor_si128(c2[2820],_mm_xor_si128(c2[1738],_mm_xor_si128(c2[1518],_mm_xor_si128(c2[199],c2[1088]))))))))))))))))))))))))))))))))))));
//row: 6
d2[66]=_mm_xor_si128(c2[1980],_mm_xor_si128(c2[1760],_mm_xor_si128(c2[2862],_mm_xor_si128(c2[3087],_mm_xor_si128(c2[3302],_mm_xor_si128(c2[2672],_mm_xor_si128(c2[2452],_mm_xor_si128(c2[903],_mm_xor_si128(c2[247],_mm_xor_si128(c2[2466],_mm_xor_si128(c2[2246],_mm_xor_si128(c2[2245],_mm_xor_si128(c2[68],_mm_xor_si128(c2[3367],_mm_xor_si128(c2[2931],_mm_xor_si128(c2[1614],_mm_xor_si128(c2[2513],_mm_xor_si128(c2[3174],_mm_xor_si128(c2[2289],_mm_xor_si128(c2[2971],_mm_xor_si128(c2[2539],_mm_xor_si128(c2[2319],_mm_xor_si128(c2[1236],_mm_xor_si128(c2[1016],_mm_xor_si128(c2[797],_mm_xor_si128(c2[2994],_mm_xor_si128(c2[378],_mm_xor_si128(c2[1261],_mm_xor_si128(c2[2354],_mm_xor_si128(c2[1717],_mm_xor_si128(c2[2386],_mm_xor_si128(c2[3038],_mm_xor_si128(c2[1967],_mm_xor_si128(c2[1747],_mm_xor_si128(c2[428],_mm_xor_si128(c2[1306],c2[2627]))))))))))))))))))))))))))))))))))));
//row: 7
d2[77]=_mm_xor_si128(c2[2421],_mm_xor_si128(c2[2201],_mm_xor_si128(c2[442],_mm_xor_si128(c2[3303],_mm_xor_si128(c2[1544],_mm_xor_si128(c2[9],_mm_xor_si128(c2[1769],_mm_xor_si128(c2[3102],_mm_xor_si128(c2[2882],_mm_xor_si128(c2[1123],_mm_xor_si128(c2[1344],_mm_xor_si128(c2[3104],_mm_xor_si128(c2[688],_mm_xor_si128(c2[2668],_mm_xor_si128(c2[2448],_mm_xor_si128(c2[25],_mm_xor_si128(c2[2907],_mm_xor_si128(c2[2687],_mm_xor_si128(c2[928],_mm_xor_si128(c2[2686],_mm_xor_si128(c2[1147],_mm_xor_si128(c2[927],_mm_xor_si128(c2[509],_mm_xor_si128(c2[289],_mm_xor_si128(c2[2049],_mm_xor_si128(c2[3372],_mm_xor_si128(c2[1613],_mm_xor_si128(c2[2055],_mm_xor_si128(c2[296],_mm_xor_si128(c2[2954],_mm_xor_si128(c2[1195],_mm_xor_si128(c2[96],_mm_xor_si128(c2[1856],_mm_xor_si128(c2[2730],_mm_xor_si128(c2[1191],_mm_xor_si128(c2[971],_mm_xor_si128(c2[3412],_mm_xor_si128(c2[1653],_mm_xor_si128(c2[2980],_mm_xor_si128(c2[1430],_mm_xor_si128(c2[1210],_mm_xor_si128(c2[2977],_mm_xor_si128(c2[1677],_mm_xor_si128(c2[1457],_mm_xor_si128(c2[3217],_mm_xor_si128(c2[1238],_mm_xor_si128(c2[2998],_mm_xor_si128(c2[3435],_mm_xor_si128(c2[1896],_mm_xor_si128(c2[1676],_mm_xor_si128(c2[819],_mm_xor_si128(c2[2579],_mm_xor_si128(c2[1702],_mm_xor_si128(c2[163],_mm_xor_si128(c2[3462],_mm_xor_si128(c2[1915],_mm_xor_si128(c2[2158],_mm_xor_si128(c2[399],_mm_xor_si128(c2[2816],_mm_xor_si128(c2[1057],_mm_xor_si128(c2[3479],_mm_xor_si128(c2[1940],_mm_xor_si128(c2[1720],_mm_xor_si128(c2[2408],_mm_xor_si128(c2[2188],_mm_xor_si128(c2[418],_mm_xor_si128(c2[858],_mm_xor_si128(c2[2618],_mm_xor_si128(c2[1747],_mm_xor_si128(c2[208],c2[3507]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[88]=_mm_xor_si128(c2[2868],_mm_xor_si128(c2[2648],_mm_xor_si128(c2[440],_mm_xor_si128(c2[220],_mm_xor_si128(c2[445],_mm_xor_si128(c2[1103],_mm_xor_si128(c2[30],_mm_xor_si128(c2[3329],_mm_xor_si128(c2[1791],_mm_xor_si128(c2[1124],_mm_xor_si128(c2[3323],_mm_xor_si128(c2[3354],_mm_xor_si128(c2[3134],_mm_xor_si128(c2[3133],_mm_xor_si128(c2[956],_mm_xor_si128(c2[736],_mm_xor_si128(c2[509],_mm_xor_si128(c2[289],_mm_xor_si128(c2[2491],_mm_xor_si128(c2[91],_mm_xor_si128(c2[3390],_mm_xor_si128(c2[532],_mm_xor_si128(c2[3177],_mm_xor_si128(c2[560],_mm_xor_si128(c2[340],_mm_xor_si128(c2[3416],_mm_xor_si128(c2[2113],_mm_xor_si128(c2[1893],_mm_xor_si128(c2[1894],_mm_xor_si128(c2[1674],_mm_xor_si128(c2[352],_mm_xor_si128(c2[1475],_mm_xor_si128(c2[1255],_mm_xor_si128(c2[2138],_mm_xor_si128(c2[2825],_mm_xor_si128(c2[2605],_mm_xor_si128(c2[3263],_mm_xor_si128(c2[396],_mm_xor_si128(c2[2844],_mm_xor_si128(c2[2624],_mm_xor_si128(c2[1525],_mm_xor_si128(c2[1305],c2[2183]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[99]=_mm_xor_si128(c2[3084],_mm_xor_si128(c2[2642],_mm_xor_si128(c2[2422],_mm_xor_si128(c2[667],_mm_xor_si128(c2[5],_mm_xor_si128(c2[881],_mm_xor_si128(c2[230],_mm_xor_si128(c2[246],_mm_xor_si128(c2[3323],_mm_xor_si128(c2[3103],_mm_xor_si128(c2[2227],_mm_xor_si128(c2[1565],_mm_xor_si128(c2[1571],_mm_xor_si128(c2[909],_mm_xor_si128(c2[1788],_mm_xor_si128(c2[51],_mm_xor_si128(c2[3128],_mm_xor_si128(c2[2908],_mm_xor_si128(c2[50],_mm_xor_si128(c2[2907],_mm_xor_si128(c2[1172],_mm_xor_si128(c2[730],_mm_xor_si128(c2[510],_mm_xor_si128(c2[736],_mm_xor_si128(c2[74],_mm_xor_si128(c2[2927],_mm_xor_si128(c2[2276],_mm_xor_si128(c2[318],_mm_xor_si128(c2[3175],_mm_xor_si128(c2[968],_mm_xor_si128(c2[317],_mm_xor_si128(c2[94],_mm_xor_si128(c2[2951],_mm_xor_si128(c2[776],_mm_xor_si128(c2[114],_mm_xor_si128(c2[333],_mm_xor_si128(c2[3190],_mm_xor_si128(c2[2340],_mm_xor_si128(c2[1898],_mm_xor_si128(c2[1678],_mm_xor_si128(c2[2121],_mm_xor_si128(c2[1459],_mm_xor_si128(c2[799],_mm_xor_si128(c2[137],_mm_xor_si128(c2[1702],_mm_xor_si128(c2[1040],_mm_xor_si128(c2[2574],_mm_xor_si128(c2[1923],_mm_xor_si128(c2[3041],_mm_xor_si128(c2[2379],_mm_xor_si128(c2[180],_mm_xor_si128(c2[3037],_mm_xor_si128(c2[843],_mm_xor_si128(c2[181],_mm_xor_si128(c2[3264],_mm_xor_si128(c2[3060],_mm_xor_si128(c2[2618],_mm_xor_si128(c2[2398],_mm_xor_si128(c2[1741],_mm_xor_si128(c2[1079],_mm_xor_si128(c2[2619],c2[1968])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[110]=_mm_xor_si128(c2[3306],_mm_xor_si128(c2[2003],_mm_xor_si128(c2[3222],c2[1695])));
//row: 11
d2[121]=_mm_xor_si128(c2[1767],_mm_xor_si128(c2[2869],_mm_xor_si128(c2[3083],_mm_xor_si128(c2[2425],_mm_xor_si128(c2[2448],_mm_xor_si128(c2[910],_mm_xor_si128(c2[463],_mm_xor_si128(c2[243],_mm_xor_si128(c2[2253],_mm_xor_si128(c2[2472],_mm_xor_si128(c2[2252],_mm_xor_si128(c2[3374],_mm_xor_si128(c2[2927],_mm_xor_si128(c2[1610],_mm_xor_si128(c2[2509],_mm_xor_si128(c2[3170],_mm_xor_si128(c2[2516],_mm_xor_si128(c2[2296],_mm_xor_si128(c2[2978],_mm_xor_si128(c2[2755],_mm_xor_si128(c2[2535],_mm_xor_si128(c2[1012],_mm_xor_si128(c2[793],_mm_xor_si128(c2[3221],_mm_xor_si128(c2[3001],_mm_xor_si128(c2[374],_mm_xor_si128(c2[1477],_mm_xor_si128(c2[1257],_mm_xor_si128(c2[3464],_mm_xor_si128(c2[1724],_mm_xor_si128(c2[2382],_mm_xor_si128(c2[3265],_mm_xor_si128(c2[3045],_mm_xor_si128(c2[1743],_mm_xor_si128(c2[424],_mm_xor_si128(c2[1522],_mm_xor_si128(c2[1302],c2[1959])))))))))))))))))))))))))))))))))))));
//row: 12
d2[132]=_mm_xor_si128(c2[10],_mm_xor_si128(c2[3309],_mm_xor_si128(c2[881],_mm_xor_si128(c2[1106],_mm_xor_si128(c2[691],_mm_xor_si128(c2[471],_mm_xor_si128(c2[2452],_mm_xor_si128(c2[1785],_mm_xor_si128(c2[2229],_mm_xor_si128(c2[485],_mm_xor_si128(c2[265],_mm_xor_si128(c2[264],_mm_xor_si128(c2[1606],_mm_xor_si128(c2[1386],_mm_xor_si128(c2[950],_mm_xor_si128(c2[3152],_mm_xor_si128(c2[2486],_mm_xor_si128(c2[532],_mm_xor_si128(c2[1193],_mm_xor_si128(c2[308],_mm_xor_si128(c2[990],_mm_xor_si128(c2[558],_mm_xor_si128(c2[2774],_mm_xor_si128(c2[2554],_mm_xor_si128(c2[2335],_mm_xor_si128(c2[1013],_mm_xor_si128(c2[1916],_mm_xor_si128(c2[2799],_mm_xor_si128(c2[3266],_mm_xor_si128(c2[405],_mm_xor_si128(c2[1057],_mm_xor_si128(c2[3505],_mm_xor_si128(c2[3285],_mm_xor_si128(c2[1966],c2[2844]))))))))))))))))))))))))))))))))));
//row: 13
d2[143]=_mm_xor_si128(c2[2206],_mm_xor_si128(c2[3308],_mm_xor_si128(c2[3],_mm_xor_si128(c2[2861],_mm_xor_si128(c2[2887],_mm_xor_si128(c2[1349],_mm_xor_si128(c2[902],_mm_xor_si128(c2[682],_mm_xor_si128(c2[2447],_mm_xor_si128(c2[2692],_mm_xor_si128(c2[2911],_mm_xor_si128(c2[2691],_mm_xor_si128(c2[294],_mm_xor_si128(c2[3366],_mm_xor_si128(c2[2049],_mm_xor_si128(c2[2948],_mm_xor_si128(c2[90],_mm_xor_si128(c2[2955],_mm_xor_si128(c2[2735],_mm_xor_si128(c2[3417],_mm_xor_si128(c2[3194],_mm_xor_si128(c2[2974],_mm_xor_si128(c2[1462],_mm_xor_si128(c2[1232],_mm_xor_si128(c2[141],_mm_xor_si128(c2[3440],_mm_xor_si128(c2[824],_mm_xor_si128(c2[1916],_mm_xor_si128(c2[1696],_mm_xor_si128(c2[2163],_mm_xor_si128(c2[2821],_mm_xor_si128(c2[185],_mm_xor_si128(c2[3484],_mm_xor_si128(c2[2597],_mm_xor_si128(c2[2182],_mm_xor_si128(c2[863],_mm_xor_si128(c2[1961],c2[1741])))))))))))))))))))))))))))))))))))));
//row: 14
d2[154]=_mm_xor_si128(c2[890],_mm_xor_si128(c2[670],_mm_xor_si128(c2[229],_mm_xor_si128(c2[1761],_mm_xor_si128(c2[1320],_mm_xor_si128(c2[1986],_mm_xor_si128(c2[1545],_mm_xor_si128(c2[1571],_mm_xor_si128(c2[1351],_mm_xor_si128(c2[910],_mm_xor_si128(c2[3332],_mm_xor_si128(c2[2891],_mm_xor_si128(c2[2665],_mm_xor_si128(c2[2444],_mm_xor_si128(c2[2224],_mm_xor_si128(c2[2442],_mm_xor_si128(c2[1365],_mm_xor_si128(c2[1145],_mm_xor_si128(c2[704],_mm_xor_si128(c2[1144],_mm_xor_si128(c2[934],_mm_xor_si128(c2[714],_mm_xor_si128(c2[2486],_mm_xor_si128(c2[2266],_mm_xor_si128(c2[1836],_mm_xor_si128(c2[1830],_mm_xor_si128(c2[1389],_mm_xor_si128(c2[513],_mm_xor_si128(c2[72],_mm_xor_si128(c2[1412],_mm_xor_si128(c2[971],_mm_xor_si128(c2[2073],_mm_xor_si128(c2[1632],_mm_xor_si128(c2[1188],_mm_xor_si128(c2[978],_mm_xor_si128(c2[758],_mm_xor_si128(c2[1870],_mm_xor_si128(c2[1440],_mm_xor_si128(c2[1438],_mm_xor_si128(c2[1217],_mm_xor_si128(c2[997],_mm_xor_si128(c2[135],_mm_xor_si128(c2[3434],_mm_xor_si128(c2[2993],_mm_xor_si128(c2[3215],_mm_xor_si128(c2[2774],_mm_xor_si128(c2[1893],_mm_xor_si128(c2[1672],_mm_xor_si128(c2[1452],_mm_xor_si128(c2[361],_mm_xor_si128(c2[2796],_mm_xor_si128(c2[2355],_mm_xor_si128(c2[160],_mm_xor_si128(c2[3458],_mm_xor_si128(c2[3238],_mm_xor_si128(c2[616],_mm_xor_si128(c2[186],_mm_xor_si128(c2[1285],_mm_xor_si128(c2[844],_mm_xor_si128(c2[1937],_mm_xor_si128(c2[1716],_mm_xor_si128(c2[1496],_mm_xor_si128(c2[866],_mm_xor_si128(c2[646],_mm_xor_si128(c2[205],_mm_xor_si128(c2[2846],_mm_xor_si128(c2[2405],_mm_xor_si128(c2[205],_mm_xor_si128(c2[3503],c2[3283])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[165]=_mm_xor_si128(c2[445],_mm_xor_si128(c2[881],_mm_xor_si128(c2[661],_mm_xor_si128(c2[1547],_mm_xor_si128(c2[1763],_mm_xor_si128(c2[1761],_mm_xor_si128(c2[1988],_mm_xor_si128(c2[1988],_mm_xor_si128(c2[1126],_mm_xor_si128(c2[1562],_mm_xor_si128(c2[1342],_mm_xor_si128(c2[3107],_mm_xor_si128(c2[3323],_mm_xor_si128(c2[2451],_mm_xor_si128(c2[2667],_mm_xor_si128(c2[931],_mm_xor_si128(c2[1367],_mm_xor_si128(c2[1147],_mm_xor_si128(c2[930],_mm_xor_si128(c2[1146],_mm_xor_si128(c2[2052],_mm_xor_si128(c2[2488],_mm_xor_si128(c2[2268],_mm_xor_si128(c2[1616],_mm_xor_si128(c2[1832],_mm_xor_si128(c2[288],_mm_xor_si128(c2[515],_mm_xor_si128(c2[1198],_mm_xor_si128(c2[1414],_mm_xor_si128(c2[1848],_mm_xor_si128(c2[2075],_mm_xor_si128(c2[974],_mm_xor_si128(c2[1190],_mm_xor_si128(c2[1656],_mm_xor_si128(c2[1872],_mm_xor_si128(c2[1213],_mm_xor_si128(c2[1440],_mm_xor_si128(c2[3220],_mm_xor_si128(c2[137],_mm_xor_si128(c2[3436],_mm_xor_si128(c2[3001],_mm_xor_si128(c2[3217],_mm_xor_si128(c2[1679],_mm_xor_si128(c2[1895],_mm_xor_si128(c2[2582],_mm_xor_si128(c2[2798],_mm_xor_si128(c2[3454],_mm_xor_si128(c2[162],_mm_xor_si128(c2[402],_mm_xor_si128(c2[618],_mm_xor_si128(c2[1060],_mm_xor_si128(c2[1276],_mm_xor_si128(c2[1723],_mm_xor_si128(c2[1939],_mm_xor_si128(c2[421],_mm_xor_si128(c2[868],_mm_xor_si128(c2[648],_mm_xor_si128(c2[2621],_mm_xor_si128(c2[2848],_mm_xor_si128(c2[3499],c2[207]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[176]=_mm_xor_si128(c2[2870],_mm_xor_si128(c2[2650],_mm_xor_si128(c2[229],_mm_xor_si128(c2[9],_mm_xor_si128(c2[222],_mm_xor_si128(c2[1320],_mm_xor_si128(c2[1100],_mm_xor_si128(c2[447],_mm_xor_si128(c2[1325],_mm_xor_si128(c2[32],_mm_xor_si128(c2[3331],_mm_xor_si128(c2[910],_mm_xor_si128(c2[690],_mm_xor_si128(c2[1782],_mm_xor_si128(c2[2671],_mm_xor_si128(c2[1126],_mm_xor_si128(c2[2004],_mm_xor_si128(c2[3106],_mm_xor_si128(c2[3345],_mm_xor_si128(c2[3125],_mm_xor_si128(c2[704],_mm_xor_si128(c2[484],_mm_xor_si128(c2[3124],_mm_xor_si128(c2[494],_mm_xor_si128(c2[947],_mm_xor_si128(c2[727],_mm_xor_si128(c2[1836],_mm_xor_si128(c2[1616],_mm_xor_si128(c2[291],_mm_xor_si128(c2[1389],_mm_xor_si128(c2[1169],_mm_xor_si128(c2[2493],_mm_xor_si128(c2[3371],_mm_xor_si128(c2[3392],_mm_xor_si128(c2[971],_mm_xor_si128(c2[751],_mm_xor_si128(c2[534],_mm_xor_si128(c2[1412],_mm_xor_si128(c2[3168],_mm_xor_si128(c2[538],_mm_xor_si128(c2[331],_mm_xor_si128(c2[1440],_mm_xor_si128(c2[1220],_mm_xor_si128(c2[3418],_mm_xor_si128(c2[777],_mm_xor_si128(c2[2115],_mm_xor_si128(c2[1895],_mm_xor_si128(c2[2993],_mm_xor_si128(c2[2773],_mm_xor_si128(c2[1676],_mm_xor_si128(c2[2774],_mm_xor_si128(c2[2554],_mm_xor_si128(c2[354],_mm_xor_si128(c2[1232],_mm_xor_si128(c2[1257],_mm_xor_si128(c2[2355],_mm_xor_si128(c2[2135],_mm_xor_si128(c2[2140],_mm_xor_si128(c2[3018],_mm_xor_si128(c2[2596],_mm_xor_si128(c2[186],_mm_xor_si128(c2[3485],_mm_xor_si128(c2[3265],_mm_xor_si128(c2[624],_mm_xor_si128(c2[398],_mm_xor_si128(c2[1276],_mm_xor_si128(c2[2846],_mm_xor_si128(c2[2626],_mm_xor_si128(c2[205],_mm_xor_si128(c2[3504],_mm_xor_si128(c2[1307],_mm_xor_si128(c2[2405],_mm_xor_si128(c2[2185],_mm_xor_si128(c2[2185],_mm_xor_si128(c2[3063],c2[3287])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[187]=_mm_xor_si128(c2[2202],_mm_xor_si128(c2[1982],_mm_xor_si128(c2[3308],_mm_xor_si128(c2[3088],_mm_xor_si128(c2[3084],_mm_xor_si128(c2[880],_mm_xor_si128(c2[660],_mm_xor_si128(c2[3309],_mm_xor_si128(c2[885],_mm_xor_si128(c2[2883],_mm_xor_si128(c2[2663],_mm_xor_si128(c2[470],_mm_xor_si128(c2[250],_mm_xor_si128(c2[1125],_mm_xor_si128(c2[2231],_mm_xor_si128(c2[469],_mm_xor_si128(c2[1564],_mm_xor_si128(c2[1350],_mm_xor_si128(c2[2688],_mm_xor_si128(c2[2468],_mm_xor_si128(c2[264],_mm_xor_si128(c2[44],_mm_xor_si128(c2[2467],_mm_xor_si128(c2[54],_mm_xor_si128(c2[290],_mm_xor_si128(c2[70],_mm_xor_si128(c2[1396],_mm_xor_si128(c2[1176],_mm_xor_si128(c2[3153],_mm_xor_si128(c2[949],_mm_xor_si128(c2[729],_mm_xor_si128(c2[1836],_mm_xor_si128(c2[2931],_mm_xor_si128(c2[2735],_mm_xor_si128(c2[531],_mm_xor_si128(c2[311],_mm_xor_si128(c2[3396],_mm_xor_si128(c2[972],_mm_xor_si128(c2[2511],_mm_xor_si128(c2[98],_mm_xor_si128(c2[3193],_mm_xor_si128(c2[1000],_mm_xor_si128(c2[780],_mm_xor_si128(c2[2750],_mm_xor_si128(c2[337],_mm_xor_si128(c2[1651],_mm_xor_si128(c2[1458],_mm_xor_si128(c2[1238],_mm_xor_si128(c2[2553],_mm_xor_si128(c2[2333],_mm_xor_si128(c2[1019],_mm_xor_si128(c2[2334],_mm_xor_si128(c2[2114],_mm_xor_si128(c2[3216],_mm_xor_si128(c2[792],_mm_xor_si128(c2[600],_mm_xor_si128(c2[1915],_mm_xor_si128(c2[1695],_mm_xor_si128(c2[1483],_mm_xor_si128(c2[2578],_mm_xor_si128(c2[1939],_mm_xor_si128(c2[3265],_mm_xor_si128(c2[3045],_mm_xor_si128(c2[2597],_mm_xor_si128(c2[184],_mm_xor_si128(c2[3260],_mm_xor_si128(c2[836],_mm_xor_si128(c2[2178],_mm_xor_si128(c2[1958],_mm_xor_si128(c2[3284],_mm_xor_si128(c2[3064],_mm_xor_si128(c2[639],_mm_xor_si128(c2[1965],_mm_xor_si128(c2[1745],_mm_xor_si128(c2[1528],c2[2623])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[198]=_mm_xor_si128(c2[2870],_mm_xor_si128(c2[3433],c2[1475]));
//row: 19
d2[209]=_mm_xor_si128(c2[2647],_mm_xor_si128(c2[230],_mm_xor_si128(c2[444],_mm_xor_si128(c2[2860],_mm_xor_si128(c2[3328],_mm_xor_si128(c2[1790],_mm_xor_si128(c2[1123],_mm_xor_si128(c2[1570],_mm_xor_si128(c2[3133],_mm_xor_si128(c2[3132],_mm_xor_si128(c2[735],_mm_xor_si128(c2[288],_mm_xor_si128(c2[2490],_mm_xor_si128(c2[3389],_mm_xor_si128(c2[531],_mm_xor_si128(c2[3176],_mm_xor_si128(c2[339],_mm_xor_si128(c2[3415],_mm_xor_si128(c2[1892],_mm_xor_si128(c2[1673],_mm_xor_si128(c2[362],_mm_xor_si128(c2[1254],_mm_xor_si128(c2[2137],_mm_xor_si128(c2[2604],_mm_xor_si128(c2[3262],_mm_xor_si128(c2[406],_mm_xor_si128(c2[2623],_mm_xor_si128(c2[1304],c2[2182]))))))))))))))))))))))))))));
//row: 20
d2[220]=_mm_xor_si128(c2[1989],_mm_xor_si128(c2[1769],_mm_xor_si128(c2[2860],_mm_xor_si128(c2[3085],_mm_xor_si128(c2[2670],_mm_xor_si128(c2[2450],_mm_xor_si128(c2[912],_mm_xor_si128(c2[245],_mm_xor_si128(c2[30],_mm_xor_si128(c2[2464],_mm_xor_si128(c2[2244],_mm_xor_si128(c2[2254],_mm_xor_si128(c2[66],_mm_xor_si128(c2[3376],_mm_xor_si128(c2[2929],_mm_xor_si128(c2[1612],_mm_xor_si128(c2[2511],_mm_xor_si128(c2[3172],_mm_xor_si128(c2[2298],_mm_xor_si128(c2[971],_mm_xor_si128(c2[2980],_mm_xor_si128(c2[2537],_mm_xor_si128(c2[1234],_mm_xor_si128(c2[1014],_mm_xor_si128(c2[795],_mm_xor_si128(c2[2992],_mm_xor_si128(c2[376],_mm_xor_si128(c2[1259],_mm_xor_si128(c2[1726],_mm_xor_si128(c2[2384],_mm_xor_si128(c2[3036],_mm_xor_si128(c2[1965],_mm_xor_si128(c2[1745],_mm_xor_si128(c2[426],c2[1304]))))))))))))))))))))))))))))))))));
//row: 21
d2[231]=_mm_xor_si128(c2[661],_mm_xor_si128(c2[1763],_mm_xor_si128(c2[1988],_mm_xor_si128(c2[2649],_mm_xor_si128(c2[1342],_mm_xor_si128(c2[3323],_mm_xor_si128(c2[2887],_mm_xor_si128(c2[2667],_mm_xor_si128(c2[1147],_mm_xor_si128(c2[1366],_mm_xor_si128(c2[1146],_mm_xor_si128(c2[2268],_mm_xor_si128(c2[1832],_mm_xor_si128(c2[515],_mm_xor_si128(c2[1414],_mm_xor_si128(c2[2075],_mm_xor_si128(c2[1410],_mm_xor_si128(c2[1190],_mm_xor_si128(c2[1872],_mm_xor_si128(c2[1660],_mm_xor_si128(c2[1440],_mm_xor_si128(c2[3436],_mm_xor_si128(c2[3217],_mm_xor_si128(c2[2115],_mm_xor_si128(c2[1895],_mm_xor_si128(c2[2798],_mm_xor_si128(c2[382],_mm_xor_si128(c2[162],_mm_xor_si128(c2[618],_mm_xor_si128(c2[1276],_mm_xor_si128(c2[2159],_mm_xor_si128(c2[1939],_mm_xor_si128(c2[1506],_mm_xor_si128(c2[648],_mm_xor_si128(c2[2848],_mm_xor_si128(c2[427],c2[207]))))))))))))))))))))))))))))))))))));
//row: 22
d2[242]=_mm_xor_si128(c2[463],c2[714]);
//row: 23
d2[253]=_mm_xor_si128(c2[3086],_mm_xor_si128(c2[954],c2[1439]));
//row: 24
d2[264]=_mm_xor_si128(c2[249],_mm_xor_si128(c2[2690],c2[3061]));
//row: 25
d2[275]=_mm_xor_si128(c2[1764],c2[1878]);
//row: 26
d2[286]=_mm_xor_si128(c2[222],_mm_xor_si128(c2[2],_mm_xor_si128(c2[2647],_mm_xor_si128(c2[1324],_mm_xor_si128(c2[1104],_mm_xor_si128(c2[230],_mm_xor_si128(c2[1329],_mm_xor_si128(c2[444],_mm_xor_si128(c2[903],_mm_xor_si128(c2[683],_mm_xor_si128(c2[3328],_mm_xor_si128(c2[2664],_mm_xor_si128(c2[1790],_mm_xor_si128(c2[2008],_mm_xor_si128(c2[1343],_mm_xor_si128(c2[1123],_mm_xor_si128(c2[708],_mm_xor_si128(c2[488],_mm_xor_si128(c2[3133],_mm_xor_si128(c2[487],_mm_xor_si128(c2[3352],_mm_xor_si128(c2[3132],_mm_xor_si128(c2[926],_mm_xor_si128(c2[1829],_mm_xor_si128(c2[1609],_mm_xor_si128(c2[735],_mm_xor_si128(c2[1393],_mm_xor_si128(c2[1173],_mm_xor_si128(c2[288],_mm_xor_si128(c2[3375],_mm_xor_si128(c2[2490],_mm_xor_si128(c2[975],_mm_xor_si128(c2[755],_mm_xor_si128(c2[3389],_mm_xor_si128(c2[1416],_mm_xor_si128(c2[531],_mm_xor_si128(c2[531],_mm_xor_si128(c2[3396],_mm_xor_si128(c2[3176],_mm_xor_si128(c2[1433],_mm_xor_si128(c2[1213],_mm_xor_si128(c2[339],_mm_xor_si128(c2[770],_mm_xor_si128(c2[116],_mm_xor_si128(c2[3415],_mm_xor_si128(c2[2997],_mm_xor_si128(c2[2777],_mm_xor_si128(c2[1892],_mm_xor_si128(c2[2778],_mm_xor_si128(c2[2558],_mm_xor_si128(c2[1673],_mm_xor_si128(c2[1236],_mm_xor_si128(c2[582],_mm_xor_si128(c2[362],_mm_xor_si128(c2[2359],_mm_xor_si128(c2[2139],_mm_xor_si128(c2[1254],_mm_xor_si128(c2[3022],_mm_xor_si128(c2[2357],_mm_xor_si128(c2[2137],_mm_xor_si128(c2[1476],_mm_xor_si128(c2[179],_mm_xor_si128(c2[3478],_mm_xor_si128(c2[2604],_mm_xor_si128(c2[617],_mm_xor_si128(c2[3262],_mm_xor_si128(c2[1280],_mm_xor_si128(c2[626],_mm_xor_si128(c2[406],_mm_xor_si128(c2[198],_mm_xor_si128(c2[3508],_mm_xor_si128(c2[2623],_mm_xor_si128(c2[2398],_mm_xor_si128(c2[2178],_mm_xor_si128(c2[1304],_mm_xor_si128(c2[3067],_mm_xor_si128(c2[2402],c2[2182])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[297]=_mm_xor_si128(c2[2202],c2[1898]);
//row: 28
d2[308]=_mm_xor_si128(c2[26],_mm_xor_si128(c2[1805],c2[1219]));
//row: 29
d2[319]=_mm_xor_si128(c2[2428],c2[318]);
//row: 30
d2[330]=_mm_xor_si128(c2[929],_mm_xor_si128(c2[2980],_mm_xor_si128(c2[3019],c2[3059])));
//row: 31
d2[341]=_mm_xor_si128(c2[3307],_mm_xor_si128(c2[890],_mm_xor_si128(c2[1104],_mm_xor_si128(c2[469],_mm_xor_si128(c2[2450],_mm_xor_si128(c2[2003],_mm_xor_si128(c2[1783],_mm_xor_si128(c2[1129],_mm_xor_si128(c2[274],_mm_xor_si128(c2[493],_mm_xor_si128(c2[273],_mm_xor_si128(c2[1395],_mm_xor_si128(c2[948],_mm_xor_si128(c2[3150],_mm_xor_si128(c2[530],_mm_xor_si128(c2[1191],_mm_xor_si128(c2[537],_mm_xor_si128(c2[317],_mm_xor_si128(c2[999],_mm_xor_si128(c2[776],_mm_xor_si128(c2[556],_mm_xor_si128(c2[2552],_mm_xor_si128(c2[2333],_mm_xor_si128(c2[1242],_mm_xor_si128(c2[1022],_mm_xor_si128(c2[1914],_mm_xor_si128(c2[3017],_mm_xor_si128(c2[2797],_mm_xor_si128(c2[3264],_mm_xor_si128(c2[403],_mm_xor_si128(c2[1286],_mm_xor_si128(c2[1066],_mm_xor_si128(c2[3283],_mm_xor_si128(c2[1964],_mm_xor_si128(c2[3062],c2[2842])))))))))))))))))))))))))))))))))));
//row: 32
d2[352]=_mm_xor_si128(c2[2207],_mm_xor_si128(c2[1987],_mm_xor_si128(c2[3309],_mm_xor_si128(c2[3089],_mm_xor_si128(c2[3303],_mm_xor_si128(c2[887],_mm_xor_si128(c2[2888],_mm_xor_si128(c2[2668],_mm_xor_si128(c2[1130],_mm_xor_si128(c2[463],_mm_xor_si128(c2[2693],_mm_xor_si128(c2[2473],_mm_xor_si128(c2[2472],_mm_xor_si128(c2[295],_mm_xor_si128(c2[75],_mm_xor_si128(c2[3367],_mm_xor_si128(c2[3147],_mm_xor_si128(c2[1830],_mm_xor_si128(c2[2949],_mm_xor_si128(c2[2729],_mm_xor_si128(c2[3390],_mm_xor_si128(c2[2516],_mm_xor_si128(c2[3418],_mm_xor_si128(c2[3198],_mm_xor_si128(c2[2755],_mm_xor_si128(c2[2094],_mm_xor_si128(c2[1452],_mm_xor_si128(c2[1232],_mm_xor_si128(c2[1233],_mm_xor_si128(c2[1013],_mm_xor_si128(c2[3221],_mm_xor_si128(c2[814],_mm_xor_si128(c2[594],_mm_xor_si128(c2[1477],_mm_xor_si128(c2[2164],_mm_xor_si128(c2[1944],_mm_xor_si128(c2[2602],_mm_xor_si128(c2[3265],_mm_xor_si128(c2[2183],_mm_xor_si128(c2[1963],_mm_xor_si128(c2[864],_mm_xor_si128(c2[644],c2[1522]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[363]=_mm_xor_si128(c2[1760],_mm_xor_si128(c2[2862],_mm_xor_si128(c2[3087],_mm_xor_si128(c2[2452],_mm_xor_si128(c2[903],_mm_xor_si128(c2[247],_mm_xor_si128(c2[2246],_mm_xor_si128(c2[2245],_mm_xor_si128(c2[2030],_mm_xor_si128(c2[3367],_mm_xor_si128(c2[2931],_mm_xor_si128(c2[1614],_mm_xor_si128(c2[2513],_mm_xor_si128(c2[3174],_mm_xor_si128(c2[2289],_mm_xor_si128(c2[2971],_mm_xor_si128(c2[2539],_mm_xor_si128(c2[1016],_mm_xor_si128(c2[797],_mm_xor_si128(c2[2994],_mm_xor_si128(c2[378],_mm_xor_si128(c2[1261],_mm_xor_si128(c2[2142],_mm_xor_si128(c2[1717],_mm_xor_si128(c2[2386],_mm_xor_si128(c2[3038],_mm_xor_si128(c2[1747],_mm_xor_si128(c2[428],c2[1306]))))))))))))))))))))))))))));
//row: 34
d2[374]=_mm_xor_si128(c2[1101],_mm_xor_si128(c2[881],_mm_xor_si128(c2[2868],_mm_xor_si128(c2[2203],_mm_xor_si128(c2[1983],_mm_xor_si128(c2[440],_mm_xor_si128(c2[2208],_mm_xor_si128(c2[665],_mm_xor_si128(c2[2420],_mm_xor_si128(c2[1782],_mm_xor_si128(c2[1562],_mm_xor_si128(c2[30],_mm_xor_si128(c2[24],_mm_xor_si128(c2[2011],_mm_xor_si128(c2[2887],_mm_xor_si128(c2[1564],_mm_xor_si128(c2[1344],_mm_xor_si128(c2[1587],_mm_xor_si128(c2[1367],_mm_xor_si128(c2[3354],_mm_xor_si128(c2[1366],_mm_xor_si128(c2[54],_mm_xor_si128(c2[3353],_mm_xor_si128(c2[2708],_mm_xor_si128(c2[2488],_mm_xor_si128(c2[956],_mm_xor_si128(c2[2272],_mm_xor_si128(c2[2052],_mm_xor_si128(c2[509],_mm_xor_si128(c2[735],_mm_xor_si128(c2[2711],_mm_xor_si128(c2[1854],_mm_xor_si128(c2[1634],_mm_xor_si128(c2[91],_mm_xor_si128(c2[2295],_mm_xor_si128(c2[752],_mm_xor_si128(c2[1410],_mm_xor_si128(c2[98],_mm_xor_si128(c2[3397],_mm_xor_si128(c2[2312],_mm_xor_si128(c2[2092],_mm_xor_si128(c2[560],_mm_xor_si128(c2[1660],_mm_xor_si128(c2[337],_mm_xor_si128(c2[117],_mm_xor_si128(c2[357],_mm_xor_si128(c2[137],_mm_xor_si128(c2[2113],_mm_xor_si128(c2[138],_mm_xor_si128(c2[3437],_mm_xor_si128(c2[1894],_mm_xor_si128(c2[2115],_mm_xor_si128(c2[792],_mm_xor_si128(c2[572],_mm_xor_si128(c2[3238],_mm_xor_si128(c2[3018],_mm_xor_si128(c2[1475],_mm_xor_si128(c2[382],_mm_xor_si128(c2[2578],_mm_xor_si128(c2[2358],_mm_xor_si128(c2[1058],_mm_xor_si128(c2[838],_mm_xor_si128(c2[2825],_mm_xor_si128(c2[1496],_mm_xor_si128(c2[3483],_mm_xor_si128(c2[2159],_mm_xor_si128(c2[836],_mm_xor_si128(c2[616],_mm_xor_si128(c2[1088],_mm_xor_si128(c2[868],_mm_xor_si128(c2[2844],_mm_xor_si128(c2[3288],_mm_xor_si128(c2[3068],_mm_xor_si128(c2[1525],_mm_xor_si128(c2[427],_mm_xor_si128(c2[2623],c2[2403]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[385]=_mm_xor_si128(c2[1769],_mm_xor_si128(c2[1549],_mm_xor_si128(c2[2640],_mm_xor_si128(c2[2865],_mm_xor_si128(c2[2450],_mm_xor_si128(c2[2230],_mm_xor_si128(c2[692],_mm_xor_si128(c2[25],_mm_xor_si128(c2[3109],_mm_xor_si128(c2[2244],_mm_xor_si128(c2[2024],_mm_xor_si128(c2[2034],_mm_xor_si128(c2[3376],_mm_xor_si128(c2[3156],_mm_xor_si128(c2[2709],_mm_xor_si128(c2[1392],_mm_xor_si128(c2[2291],_mm_xor_si128(c2[2952],_mm_xor_si128(c2[2078],_mm_xor_si128(c2[2760],_mm_xor_si128(c2[2317],_mm_xor_si128(c2[1879],_mm_xor_si128(c2[1014],_mm_xor_si128(c2[794],_mm_xor_si128(c2[575],_mm_xor_si128(c2[2772],_mm_xor_si128(c2[156],_mm_xor_si128(c2[1039],_mm_xor_si128(c2[1506],_mm_xor_si128(c2[2164],_mm_xor_si128(c2[2816],_mm_xor_si128(c2[1745],_mm_xor_si128(c2[1525],_mm_xor_si128(c2[206],c2[1084]))))))))))))))))))))))))))))))))));
//row: 36
d2[396]=_mm_xor_si128(c2[1984],_mm_xor_si128(c2[2253],c2[382]));
//row: 37
d2[407]=_mm_xor_si128(c2[449],_mm_xor_si128(c2[221],_mm_xor_si128(c2[1540],_mm_xor_si128(c2[1323],_mm_xor_si128(c2[1765],_mm_xor_si128(c2[1548],_mm_xor_si128(c2[1130],_mm_xor_si128(c2[902],_mm_xor_si128(c2[3111],_mm_xor_si128(c2[2883],_mm_xor_si128(c2[2444],_mm_xor_si128(c2[2447],_mm_xor_si128(c2[2227],_mm_xor_si128(c2[924],_mm_xor_si128(c2[707],_mm_xor_si128(c2[934],_mm_xor_si128(c2[926],_mm_xor_si128(c2[706],_mm_xor_si128(c2[2056],_mm_xor_si128(c2[1828],_mm_xor_si128(c2[1609],_mm_xor_si128(c2[1392],_mm_xor_si128(c2[292],_mm_xor_si128(c2[75],_mm_xor_si128(c2[1191],_mm_xor_si128(c2[974],_mm_xor_si128(c2[1852],_mm_xor_si128(c2[1635],_mm_xor_si128(c2[978],_mm_xor_si128(c2[970],_mm_xor_si128(c2[750],_mm_xor_si128(c2[1660],_mm_xor_si128(c2[1432],_mm_xor_si128(c2[1217],_mm_xor_si128(c2[1220],_mm_xor_si128(c2[1000],_mm_xor_si128(c2[3213],_mm_xor_si128(c2[2996],_mm_xor_si128(c2[2994],_mm_xor_si128(c2[2777],_mm_xor_si128(c2[1672],_mm_xor_si128(c2[1675],_mm_xor_si128(c2[1455],_mm_xor_si128(c2[2575],_mm_xor_si128(c2[2358],_mm_xor_si128(c2[3458],_mm_xor_si128(c2[3461],_mm_xor_si128(c2[3241],_mm_xor_si128(c2[406],_mm_xor_si128(c2[178],_mm_xor_si128(c2[1064],_mm_xor_si128(c2[836],_mm_xor_si128(c2[1716],_mm_xor_si128(c2[1719],_mm_xor_si128(c2[1499],_mm_xor_si128(c2[425],_mm_xor_si128(c2[208],_mm_xor_si128(c2[2625],_mm_xor_si128(c2[2408],_mm_xor_si128(c2[3503],_mm_xor_si128(c2[3506],c2[3286])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[418]=_mm_xor_si128(c2[3310],_mm_xor_si128(c2[3090],_mm_xor_si128(c2[662],_mm_xor_si128(c2[887],_mm_xor_si128(c2[472],_mm_xor_si128(c2[252],_mm_xor_si128(c2[2222],_mm_xor_si128(c2[1566],_mm_xor_si128(c2[29],_mm_xor_si128(c2[266],_mm_xor_si128(c2[46],_mm_xor_si128(c2[45],_mm_xor_si128(c2[1387],_mm_xor_si128(c2[1167],_mm_xor_si128(c2[731],_mm_xor_si128(c2[2933],_mm_xor_si128(c2[313],_mm_xor_si128(c2[974],_mm_xor_si128(c2[89],_mm_xor_si128(c2[771],_mm_xor_si128(c2[339],_mm_xor_si128(c2[1650],_mm_xor_si128(c2[2555],_mm_xor_si128(c2[2335],_mm_xor_si128(c2[2116],_mm_xor_si128(c2[794],_mm_xor_si128(c2[1697],_mm_xor_si128(c2[2580],_mm_xor_si128(c2[3036],_mm_xor_si128(c2[186],_mm_xor_si128(c2[838],_mm_xor_si128(c2[3286],_mm_xor_si128(c2[3066],_mm_xor_si128(c2[1747],c2[2625]))))))))))))))))))))))))))))))))));
//row: 39
d2[429]=_mm_xor_si128(c2[1105],_mm_xor_si128(c2[885],_mm_xor_si128(c2[2207],_mm_xor_si128(c2[1987],_mm_xor_si128(c2[2201],_mm_xor_si128(c2[2866],_mm_xor_si128(c2[1786],_mm_xor_si128(c2[1566],_mm_xor_si128(c2[28],_mm_xor_si128(c2[2891],_mm_xor_si128(c2[1591],_mm_xor_si128(c2[1371],_mm_xor_si128(c2[1370],_mm_xor_si128(c2[2712],_mm_xor_si128(c2[2492],_mm_xor_si128(c2[2276],_mm_xor_si128(c2[2056],_mm_xor_si128(c2[728],_mm_xor_si128(c2[1858],_mm_xor_si128(c2[1638],_mm_xor_si128(c2[2288],_mm_xor_si128(c2[1414],_mm_xor_si128(c2[2316],_mm_xor_si128(c2[2096],_mm_xor_si128(c2[1653],_mm_xor_si128(c2[361],_mm_xor_si128(c2[141],_mm_xor_si128(c2[142],_mm_xor_si128(c2[3441],_mm_xor_si128(c2[2119],_mm_xor_si128(c2[3242],_mm_xor_si128(c2[3022],_mm_xor_si128(c2[375],_mm_xor_si128(c2[1474],_mm_xor_si128(c2[1062],_mm_xor_si128(c2[842],_mm_xor_si128(c2[1500],_mm_xor_si128(c2[2163],_mm_xor_si128(c2[1081],_mm_xor_si128(c2[861],_mm_xor_si128(c2[3281],_mm_xor_si128(c2[3061],c2[420]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[440]=_mm_xor_si128(c2[1548],_mm_xor_si128(c2[2863],_mm_xor_si128(c2[2650],_mm_xor_si128(c2[446],_mm_xor_si128(c2[2864],_mm_xor_si128(c2[660],_mm_xor_si128(c2[2229],_mm_xor_si128(c2[25],_mm_xor_si128(c2[691],_mm_xor_si128(c2[2006],_mm_xor_si128(c2[24],_mm_xor_si128(c2[1570],_mm_xor_si128(c2[1350],_mm_xor_si128(c2[2034],_mm_xor_si128(c2[3349],_mm_xor_si128(c2[2033],_mm_xor_si128(c2[49],_mm_xor_si128(c2[3348],_mm_xor_si128(c2[54],_mm_xor_si128(c2[3155],_mm_xor_si128(c2[951],_mm_xor_si128(c2[2708],_mm_xor_si128(c2[515],_mm_xor_si128(c2[1391],_mm_xor_si128(c2[2706],_mm_xor_si128(c2[2290],_mm_xor_si128(c2[97],_mm_xor_si128(c2[2951],_mm_xor_si128(c2[758],_mm_xor_si128(c2[2077],_mm_xor_si128(c2[93],_mm_xor_si128(c2[3392],_mm_xor_si128(c2[2759],_mm_xor_si128(c2[555],_mm_xor_si128(c2[2316],_mm_xor_si128(c2[332],_mm_xor_si128(c2[112],_mm_xor_si128(c2[793],_mm_xor_si128(c2[2119],_mm_xor_si128(c2[574],_mm_xor_si128(c2[1900],_mm_xor_si128(c2[2782],_mm_xor_si128(c2[798],_mm_xor_si128(c2[578],_mm_xor_si128(c2[155],_mm_xor_si128(c2[1481],_mm_xor_si128(c2[1038],_mm_xor_si128(c2[2584],_mm_xor_si128(c2[2364],_mm_xor_si128(c2[1505],_mm_xor_si128(c2[2820],_mm_xor_si128(c2[2163],_mm_xor_si128(c2[3478],_mm_xor_si128(c2[2826],_mm_xor_si128(c2[842],_mm_xor_si128(c2[622],_mm_xor_si128(c2[1524],_mm_xor_si128(c2[2839],_mm_xor_si128(c2[205],_mm_xor_si128(c2[1520],_mm_xor_si128(c2[1083],_mm_xor_si128(c2[2618],c2[2398]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[451]=_mm_xor_si128(c2[890],_mm_xor_si128(c2[670],_mm_xor_si128(c2[1761],_mm_xor_si128(c2[1986],_mm_xor_si128(c2[1571],_mm_xor_si128(c2[1351],_mm_xor_si128(c2[3332],_mm_xor_si128(c2[2665],_mm_xor_si128(c2[910],_mm_xor_si128(c2[1365],_mm_xor_si128(c2[1145],_mm_xor_si128(c2[1144],_mm_xor_si128(c2[2486],_mm_xor_si128(c2[2266],_mm_xor_si128(c2[1830],_mm_xor_si128(c2[513],_mm_xor_si128(c2[1412],_mm_xor_si128(c2[2073],_mm_xor_si128(c2[1188],_mm_xor_si128(c2[1870],_mm_xor_si128(c2[1438],_mm_xor_si128(c2[1430],_mm_xor_si128(c2[135],_mm_xor_si128(c2[3434],_mm_xor_si128(c2[3215],_mm_xor_si128(c2[1893],_mm_xor_si128(c2[2796],_mm_xor_si128(c2[160],_mm_xor_si128(c2[616],_mm_xor_si128(c2[1285],_mm_xor_si128(c2[1937],_mm_xor_si128(c2[866],_mm_xor_si128(c2[646],_mm_xor_si128(c2[2846],c2[205]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=192, byte encoding
static inline void ldpc_BG2_Zc192_byte(uint8_t *c,uint8_t *d) {
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
__m256i *c2,*d2;
int i2;
for (i2=0; i2<6; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm256_xor_si256(c2[1565],_mm256_xor_si256(c2[3120],_mm256_xor_si256(c2[2880],_mm256_xor_si256(c2[15],_mm256_xor_si256(c2[2055],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[629],_mm256_xor_si256(c2[1709],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[2439],_mm256_xor_si256(c2[1849],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[1971],_mm256_xor_si256(c2[3302],_mm256_xor_si256(c2[902],_mm256_xor_si256(c2[794],_mm256_xor_si256(c2[3672],_mm256_xor_si256(c2[3195],_mm256_xor_si256(c2[3209],_mm256_xor_si256(c2[2607],_mm256_xor_si256(c2[2981],_mm256_xor_si256(c2[2139],_mm256_xor_si256(c2[3336],_mm256_xor_si256(c2[1433],_mm256_xor_si256(c2[348],c2[3113]))))))))))))))))))))))))));
//row: 1
d2[6]=_mm256_xor_si256(c2[1685],_mm256_xor_si256(c2[1565],_mm256_xor_si256(c2[3120],_mm256_xor_si256(c2[2880],_mm256_xor_si256(c2[135],_mm256_xor_si256(c2[15],_mm256_xor_si256(c2[2055],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[749],_mm256_xor_si256(c2[629],_mm256_xor_si256(c2[1709],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[2439],_mm256_xor_si256(c2[1849],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[1971],_mm256_xor_si256(c2[3302],_mm256_xor_si256(c2[902],_mm256_xor_si256(c2[914],_mm256_xor_si256(c2[794],_mm256_xor_si256(c2[3672],_mm256_xor_si256(c2[3195],_mm256_xor_si256(c2[3209],_mm256_xor_si256(c2[2607],_mm256_xor_si256(c2[2981],_mm256_xor_si256(c2[2139],_mm256_xor_si256(c2[3336],_mm256_xor_si256(c2[1553],_mm256_xor_si256(c2[1433],_mm256_xor_si256(c2[348],c2[3113]))))))))))))))))))))))))))))))));
//row: 2
d2[12]=_mm256_xor_si256(c2[1685],_mm256_xor_si256(c2[1565],_mm256_xor_si256(c2[3240],_mm256_xor_si256(c2[3120],_mm256_xor_si256(c2[2880],_mm256_xor_si256(c2[135],_mm256_xor_si256(c2[15],_mm256_xor_si256(c2[2055],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[749],_mm256_xor_si256(c2[629],_mm256_xor_si256(c2[1709],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[517],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[2439],_mm256_xor_si256(c2[1969],_mm256_xor_si256(c2[1849],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[1971],_mm256_xor_si256(c2[3422],_mm256_xor_si256(c2[3302],_mm256_xor_si256(c2[902],_mm256_xor_si256(c2[914],_mm256_xor_si256(c2[794],_mm256_xor_si256(c2[3792],_mm256_xor_si256(c2[3672],_mm256_xor_si256(c2[3195],_mm256_xor_si256(c2[3329],_mm256_xor_si256(c2[3209],_mm256_xor_si256(c2[2607],_mm256_xor_si256(c2[3101],_mm256_xor_si256(c2[2981],_mm256_xor_si256(c2[2139],_mm256_xor_si256(c2[3336],_mm256_xor_si256(c2[1553],_mm256_xor_si256(c2[1433],_mm256_xor_si256(c2[468],_mm256_xor_si256(c2[348],c2[3113]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[18]=_mm256_xor_si256(c2[1565],_mm256_xor_si256(c2[3120],_mm256_xor_si256(c2[2880],_mm256_xor_si256(c2[15],_mm256_xor_si256(c2[2055],_mm256_xor_si256(c2[976],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[629],_mm256_xor_si256(c2[1829],_mm256_xor_si256(c2[1709],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[2439],_mm256_xor_si256(c2[1849],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[2091],_mm256_xor_si256(c2[1971],_mm256_xor_si256(c2[3302],_mm256_xor_si256(c2[1022],_mm256_xor_si256(c2[902],_mm256_xor_si256(c2[794],_mm256_xor_si256(c2[3672],_mm256_xor_si256(c2[3315],_mm256_xor_si256(c2[3195],_mm256_xor_si256(c2[3209],_mm256_xor_si256(c2[2727],_mm256_xor_si256(c2[2607],_mm256_xor_si256(c2[2981],_mm256_xor_si256(c2[2139],_mm256_xor_si256(c2[3456],_mm256_xor_si256(c2[3336],_mm256_xor_si256(c2[1433],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[3233],c2[3113]))))))))))))))))))))))))))))))))));
//row: 4
d2[24]=_mm256_xor_si256(c2[1320],_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[2761],_mm256_xor_si256(c2[2521],_mm256_xor_si256(c2[962],_mm256_xor_si256(c2[3615],_mm256_xor_si256(c2[3495],_mm256_xor_si256(c2[1696],_mm256_xor_si256(c2[497],_mm256_xor_si256(c2[1214],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[264],_mm256_xor_si256(c2[1344],_mm256_xor_si256(c2[3758],_mm256_xor_si256(c2[3638],_mm256_xor_si256(c2[38],_mm256_xor_si256(c2[2080],_mm256_xor_si256(c2[1490],_mm256_xor_si256(c2[1252],_mm256_xor_si256(c2[1612],_mm256_xor_si256(c2[2943],_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[555],_mm256_xor_si256(c2[435],_mm256_xor_si256(c2[3313],_mm256_xor_si256(c2[2836],_mm256_xor_si256(c2[2844],_mm256_xor_si256(c2[2248],_mm256_xor_si256(c2[2616],_mm256_xor_si256(c2[1780],_mm256_xor_si256(c2[2977],_mm256_xor_si256(c2[1188],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[3828],c2[2748]))))))))))))))))))))))))))))))))));
//row: 5
d2[30]=_mm256_xor_si256(c2[3600],_mm256_xor_si256(c2[3480],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[962],_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[2056],_mm256_xor_si256(c2[1936],_mm256_xor_si256(c2[137],_mm256_xor_si256(c2[2777],_mm256_xor_si256(c2[1453],_mm256_xor_si256(c2[2664],_mm256_xor_si256(c2[2544],_mm256_xor_si256(c2[3624],_mm256_xor_si256(c2[2199],_mm256_xor_si256(c2[2079],_mm256_xor_si256(c2[2318],_mm256_xor_si256(c2[521],_mm256_xor_si256(c2[3770],_mm256_xor_si256(c2[3532],_mm256_xor_si256(c2[53],_mm256_xor_si256(c2[1384],_mm256_xor_si256(c2[2823],_mm256_xor_si256(c2[3063],_mm256_xor_si256(c2[2835],_mm256_xor_si256(c2[2715],_mm256_xor_si256(c2[1754],_mm256_xor_si256(c2[1277],_mm256_xor_si256(c2[1285],_mm256_xor_si256(c2[689],_mm256_xor_si256(c2[2006],_mm256_xor_si256(c2[1057],_mm256_xor_si256(c2[221],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[3468],_mm256_xor_si256(c2[3348],_mm256_xor_si256(c2[2269],c2[1189]))))))))))))))))))))))))))))))))))));
//row: 6
d2[36]=_mm256_xor_si256(c2[725],_mm256_xor_si256(c2[605],_mm256_xor_si256(c2[2160],_mm256_xor_si256(c2[1920],_mm256_xor_si256(c2[124],_mm256_xor_si256(c2[3014],_mm256_xor_si256(c2[2894],_mm256_xor_si256(c2[1095],_mm256_xor_si256(c2[3735],_mm256_xor_si256(c2[3628],_mm256_xor_si256(c2[3508],_mm256_xor_si256(c2[749],_mm256_xor_si256(c2[3157],_mm256_xor_si256(c2[3037],_mm256_xor_si256(c2[3276],_mm256_xor_si256(c2[1479],_mm256_xor_si256(c2[889],_mm256_xor_si256(c2[651],_mm256_xor_si256(c2[1011],_mm256_xor_si256(c2[2342],_mm256_xor_si256(c2[3781],_mm256_xor_si256(c2[3422],_mm256_xor_si256(c2[3793],_mm256_xor_si256(c2[3673],_mm256_xor_si256(c2[2712],_mm256_xor_si256(c2[2235],_mm256_xor_si256(c2[2249],_mm256_xor_si256(c2[1647],_mm256_xor_si256(c2[567],_mm256_xor_si256(c2[2021],_mm256_xor_si256(c2[1179],_mm256_xor_si256(c2[2376],_mm256_xor_si256(c2[593],_mm256_xor_si256(c2[473],_mm256_xor_si256(c2[3233],_mm256_xor_si256(c2[2153],c2[2149]))))))))))))))))))))))))))))))))))));
//row: 7
d2[42]=_mm256_xor_si256(c2[2402],_mm256_xor_si256(c2[2282],_mm256_xor_si256(c2[3363],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[1085],_mm256_xor_si256(c2[3603],_mm256_xor_si256(c2[845],_mm256_xor_si256(c2[852],_mm256_xor_si256(c2[732],_mm256_xor_si256(c2[1813],_mm256_xor_si256(c2[2772],_mm256_xor_si256(c2[14],_mm256_xor_si256(c2[1573],_mm256_xor_si256(c2[2774],_mm256_xor_si256(c2[2654],_mm256_xor_si256(c2[1934],_mm256_xor_si256(c2[1466],_mm256_xor_si256(c2[1346],_mm256_xor_si256(c2[2427],_mm256_xor_si256(c2[2426],_mm256_xor_si256(c2[3627],_mm256_xor_si256(c2[3507],_mm256_xor_si256(c2[1001],_mm256_xor_si256(c2[881],_mm256_xor_si256(c2[1956],_mm256_xor_si256(c2[1120],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[3156],_mm256_xor_si256(c2[398],_mm256_xor_si256(c2[2572],_mm256_xor_si256(c2[3653],_mm256_xor_si256(c2[2328],_mm256_xor_si256(c2[3409],_mm256_xor_si256(c2[2688],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[3769],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[1261],_mm256_xor_si256(c2[1625],_mm256_xor_si256(c2[2820],_mm256_xor_si256(c2[2700],_mm256_xor_si256(c2[3185],_mm256_xor_si256(c2[1637],_mm256_xor_si256(c2[1517],_mm256_xor_si256(c2[2592],_mm256_xor_si256(c2[556],_mm256_xor_si256(c2[1637],_mm256_xor_si256(c2[73],_mm256_xor_si256(c2[1274],_mm256_xor_si256(c2[1154],_mm256_xor_si256(c2[87],_mm256_xor_si256(c2[1168],_mm256_xor_si256(c2[3324],_mm256_xor_si256(c2[686],_mm256_xor_si256(c2[566],_mm256_xor_si256(c2[2004],_mm256_xor_si256(c2[3698],_mm256_xor_si256(c2[940],_mm256_xor_si256(c2[2856],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[1421],_mm256_xor_si256(c2[1301],_mm256_xor_si256(c2[2270],_mm256_xor_si256(c2[2150],_mm256_xor_si256(c2[3231],_mm256_xor_si256(c2[1071],_mm256_xor_si256(c2[2152],_mm256_xor_si256(c2[3830],_mm256_xor_si256(c2[1192],c2[1072]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[48]=_mm256_xor_si256(c2[724],_mm256_xor_si256(c2[604],_mm256_xor_si256(c2[2285],_mm256_xor_si256(c2[2165],_mm256_xor_si256(c2[1925],_mm256_xor_si256(c2[2643],_mm256_xor_si256(c2[3013],_mm256_xor_si256(c2[2893],_mm256_xor_si256(c2[1094],_mm256_xor_si256(c2[3734],_mm256_xor_si256(c2[734],_mm256_xor_si256(c2[3627],_mm256_xor_si256(c2[3507],_mm256_xor_si256(c2[748],_mm256_xor_si256(c2[3156],_mm256_xor_si256(c2[3036],_mm256_xor_si256(c2[3401],_mm256_xor_si256(c2[3281],_mm256_xor_si256(c2[1478],_mm256_xor_si256(c2[1008],_mm256_xor_si256(c2[888],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[1010],_mm256_xor_si256(c2[2461],_mm256_xor_si256(c2[2341],_mm256_xor_si256(c2[3780],_mm256_xor_si256(c2[3792],_mm256_xor_si256(c2[3672],_mm256_xor_si256(c2[2837],_mm256_xor_si256(c2[2717],_mm256_xor_si256(c2[2234],_mm256_xor_si256(c2[2368],_mm256_xor_si256(c2[2248],_mm256_xor_si256(c2[1646],_mm256_xor_si256(c2[2140],_mm256_xor_si256(c2[2020],_mm256_xor_si256(c2[1178],_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[592],_mm256_xor_si256(c2[472],_mm256_xor_si256(c2[3352],_mm256_xor_si256(c2[3232],c2[2152]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[54]=_mm256_xor_si256(c2[725],_mm256_xor_si256(c2[5],_mm256_xor_si256(c2[3724],_mm256_xor_si256(c2[2280],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[2040],_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[3014],_mm256_xor_si256(c2[2294],_mm256_xor_si256(c2[2174],_mm256_xor_si256(c2[1215],_mm256_xor_si256(c2[375],_mm256_xor_si256(c2[16],_mm256_xor_si256(c2[3015],_mm256_xor_si256(c2[3372],_mm256_xor_si256(c2[3628],_mm256_xor_si256(c2[2908],_mm256_xor_si256(c2[2788],_mm256_xor_si256(c2[869],_mm256_xor_si256(c2[29],_mm256_xor_si256(c2[3157],_mm256_xor_si256(c2[2437],_mm256_xor_si256(c2[2317],_mm256_xor_si256(c2[3396],_mm256_xor_si256(c2[2556],_mm256_xor_si256(c2[1599],_mm256_xor_si256(c2[759],_mm256_xor_si256(c2[1009],_mm256_xor_si256(c2[169],_mm256_xor_si256(c2[771],_mm256_xor_si256(c2[3770],_mm256_xor_si256(c2[1131],_mm256_xor_si256(c2[291],_mm256_xor_si256(c2[2462],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[3061],_mm256_xor_si256(c2[3793],_mm256_xor_si256(c2[3073],_mm256_xor_si256(c2[2953],_mm256_xor_si256(c2[2832],_mm256_xor_si256(c2[1992],_mm256_xor_si256(c2[2355],_mm256_xor_si256(c2[1515],_mm256_xor_si256(c2[2369],_mm256_xor_si256(c2[1529],_mm256_xor_si256(c2[1767],_mm256_xor_si256(c2[927],_mm256_xor_si256(c2[2141],_mm256_xor_si256(c2[1301],_mm256_xor_si256(c2[1299],_mm256_xor_si256(c2[459],_mm256_xor_si256(c2[2496],_mm256_xor_si256(c2[1656],_mm256_xor_si256(c2[580],_mm256_xor_si256(c2[593],_mm256_xor_si256(c2[3712],_mm256_xor_si256(c2[3592],_mm256_xor_si256(c2[3353],_mm256_xor_si256(c2[2513],_mm256_xor_si256(c2[2273],c2[1433])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[60]=_mm256_xor_si256(c2[3241],_mm256_xor_si256(c2[975],_mm256_xor_si256(c2[2712],c2[2485])));
//row: 11
d2[66]=_mm256_xor_si256(c2[844],_mm256_xor_si256(c2[2405],_mm256_xor_si256(c2[2165],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[3133],_mm256_xor_si256(c2[1334],_mm256_xor_si256(c2[255],_mm256_xor_si256(c2[135],_mm256_xor_si256(c2[3747],_mm256_xor_si256(c2[1108],_mm256_xor_si256(c2[988],_mm256_xor_si256(c2[3276],_mm256_xor_si256(c2[3521],_mm256_xor_si256(c2[1718],_mm256_xor_si256(c2[1128],_mm256_xor_si256(c2[890],_mm256_xor_si256(c2[1370],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[2581],_mm256_xor_si256(c2[301],_mm256_xor_si256(c2[181],_mm256_xor_si256(c2[73],_mm256_xor_si256(c2[2957],_mm256_xor_si256(c2[2594],_mm256_xor_si256(c2[2474],_mm256_xor_si256(c2[2488],_mm256_xor_si256(c2[2006],_mm256_xor_si256(c2[1886],_mm256_xor_si256(c2[3446],_mm256_xor_si256(c2[2260],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[2741],_mm256_xor_si256(c2[2621],_mm256_xor_si256(c2[712],_mm256_xor_si256(c2[3472],_mm256_xor_si256(c2[2512],_mm256_xor_si256(c2[2392],c2[1793])))))))))))))))))))))))))))))))))))));
//row: 12
d2[72]=_mm256_xor_si256(c2[3005],_mm256_xor_si256(c2[2885],_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[1455],_mm256_xor_si256(c2[1335],_mm256_xor_si256(c2[3375],_mm256_xor_si256(c2[2176],_mm256_xor_si256(c2[853],_mm256_xor_si256(c2[2069],_mm256_xor_si256(c2[1949],_mm256_xor_si256(c2[3029],_mm256_xor_si256(c2[1598],_mm256_xor_si256(c2[1478],_mm256_xor_si256(c2[1717],_mm256_xor_si256(c2[3759],_mm256_xor_si256(c2[3518],_mm256_xor_si256(c2[3169],_mm256_xor_si256(c2[2931],_mm256_xor_si256(c2[3291],_mm256_xor_si256(c2[783],_mm256_xor_si256(c2[2222],_mm256_xor_si256(c2[2234],_mm256_xor_si256(c2[2114],_mm256_xor_si256(c2[1153],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[684],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[456],_mm256_xor_si256(c2[3459],_mm256_xor_si256(c2[817],_mm256_xor_si256(c2[2873],_mm256_xor_si256(c2[2753],_mm256_xor_si256(c2[1668],c2[588]))))))))))))))))))))))))))))))))));
//row: 13
d2[78]=_mm256_xor_si256(c2[2284],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[3605],_mm256_xor_si256(c2[2041],_mm256_xor_si256(c2[734],_mm256_xor_si256(c2[2774],_mm256_xor_si256(c2[1695],_mm256_xor_si256(c2[1575],_mm256_xor_si256(c2[3495],_mm256_xor_si256(c2[1348],_mm256_xor_si256(c2[2548],_mm256_xor_si256(c2[2428],_mm256_xor_si256(c2[877],_mm256_xor_si256(c2[1116],_mm256_xor_si256(c2[3158],_mm256_xor_si256(c2[2568],_mm256_xor_si256(c2[2330],_mm256_xor_si256(c2[2810],_mm256_xor_si256(c2[2690],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[1741],_mm256_xor_si256(c2[1621],_mm256_xor_si256(c2[1513],_mm256_xor_si256(c2[552],_mm256_xor_si256(c2[195],_mm256_xor_si256(c2[75],_mm256_xor_si256(c2[89],_mm256_xor_si256(c2[3446],_mm256_xor_si256(c2[3326],_mm256_xor_si256(c2[3700],_mm256_xor_si256(c2[2858],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[457],_mm256_xor_si256(c2[2152],_mm256_xor_si256(c2[1073],_mm256_xor_si256(c2[113],c2[3832])))))))))))))))))))))))))))))))))))));
//row: 14
d2[84]=_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[1924],_mm256_xor_si256(c2[1801],_mm256_xor_si256(c2[3485],_mm256_xor_si256(c2[1561],_mm256_xor_si256(c2[3245],_mm256_xor_si256(c2[2655],_mm256_xor_si256(c2[2535],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[736],_mm256_xor_si256(c2[2414],_mm256_xor_si256(c2[3376],_mm256_xor_si256(c2[1335],_mm256_xor_si256(c2[1215],_mm256_xor_si256(c2[2292],_mm256_xor_si256(c2[3269],_mm256_xor_si256(c2[3149],_mm256_xor_si256(c2[988],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[2188],_mm256_xor_si256(c2[2068],_mm256_xor_si256(c2[2798],_mm256_xor_si256(c2[2678],_mm256_xor_si256(c2[517],_mm256_xor_si256(c2[2917],_mm256_xor_si256(c2[756],_mm256_xor_si256(c2[1120],_mm256_xor_si256(c2[2798],_mm256_xor_si256(c2[530],_mm256_xor_si256(c2[2208],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[1970],_mm256_xor_si256(c2[652],_mm256_xor_si256(c2[2450],_mm256_xor_si256(c2[2330],_mm256_xor_si256(c2[1983],_mm256_xor_si256(c2[3661],_mm256_xor_si256(c2[3422],_mm256_xor_si256(c2[1381],_mm256_xor_si256(c2[1261],_mm256_xor_si256(c2[3434],_mm256_xor_si256(c2[3314],_mm256_xor_si256(c2[1153],_mm256_xor_si256(c2[2353],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[1876],_mm256_xor_si256(c2[3674],_mm256_xor_si256(c2[3554],_mm256_xor_si256(c2[2715],_mm256_xor_si256(c2[1884],_mm256_xor_si256(c2[3568],_mm256_xor_si256(c2[1288],_mm256_xor_si256(c2[3086],_mm256_xor_si256(c2[2966],_mm256_xor_si256(c2[1656],_mm256_xor_si256(c2[3340],_mm256_xor_si256(c2[820],_mm256_xor_si256(c2[2498],_mm256_xor_si256(c2[2017],_mm256_xor_si256(c2[3821],_mm256_xor_si256(c2[3701],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[1792],_mm256_xor_si256(c2[2868],_mm256_xor_si256(c2[713],_mm256_xor_si256(c2[1788],_mm256_xor_si256(c2[3592],c2[3472])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[90]=_mm256_xor_si256(c2[1441],_mm256_xor_si256(c2[3721],_mm256_xor_si256(c2[3601],_mm256_xor_si256(c2[3002],_mm256_xor_si256(c2[1323],_mm256_xor_si256(c2[2762],_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[482],_mm256_xor_si256(c2[3736],_mm256_xor_si256(c2[2177],_mm256_xor_si256(c2[2057],_mm256_xor_si256(c2[1937],_mm256_xor_si256(c2[252],_mm256_xor_si256(c2[732],_mm256_xor_si256(c2[2892],_mm256_xor_si256(c2[505],_mm256_xor_si256(c2[2785],_mm256_xor_si256(c2[2665],_mm256_xor_si256(c2[1585],_mm256_xor_si256(c2[3745],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[2320],_mm256_xor_si256(c2[2200],_mm256_xor_si256(c2[279],_mm256_xor_si256(c2[2439],_mm256_xor_si256(c2[2321],_mm256_xor_si256(c2[636],_mm256_xor_si256(c2[1731],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[1493],_mm256_xor_si256(c2[3653],_mm256_xor_si256(c2[1853],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[3184],_mm256_xor_si256(c2[1505],_mm256_xor_si256(c2[784],_mm256_xor_si256(c2[2944],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[2956],_mm256_xor_si256(c2[2836],_mm256_xor_si256(c2[3554],_mm256_xor_si256(c2[1875],_mm256_xor_si256(c2[3077],_mm256_xor_si256(c2[1392],_mm256_xor_si256(c2[3085],_mm256_xor_si256(c2[1406],_mm256_xor_si256(c2[2489],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[2857],_mm256_xor_si256(c2[1178],_mm256_xor_si256(c2[2021],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[3218],_mm256_xor_si256(c2[1539],_mm256_xor_si256(c2[1309],_mm256_xor_si256(c2[3589],_mm256_xor_si256(c2[3469],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[2390],_mm256_xor_si256(c2[2989],c2[1310]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[96]=_mm256_xor_si256(c2[2523],_mm256_xor_si256(c2[2403],_mm256_xor_si256(c2[1681],_mm256_xor_si256(c2[1561],_mm256_xor_si256(c2[125],_mm256_xor_si256(c2[3242],_mm256_xor_si256(c2[3122],_mm256_xor_si256(c2[3724],_mm256_xor_si256(c2[2882],_mm256_xor_si256(c2[973],_mm256_xor_si256(c2[853],_mm256_xor_si256(c2[137],_mm256_xor_si256(c2[17],_mm256_xor_si256(c2[2893],_mm256_xor_si256(c2[2057],_mm256_xor_si256(c2[1694],_mm256_xor_si256(c2[852],_mm256_xor_si256(c2[2774],_mm256_xor_si256(c2[1587],_mm256_xor_si256(c2[1467],_mm256_xor_si256(c2[745],_mm256_xor_si256(c2[625],_mm256_xor_si256(c2[2547],_mm256_xor_si256(c2[1705],_mm256_xor_si256(c2[1116],_mm256_xor_si256(c2[996],_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[1241],_mm256_xor_si256(c2[519],_mm256_xor_si256(c2[399],_mm256_xor_si256(c2[3277],_mm256_xor_si256(c2[2441],_mm256_xor_si256(c2[2693],_mm256_xor_si256(c2[1971],_mm256_xor_si256(c2[1851],_mm256_xor_si256(c2[2449],_mm256_xor_si256(c2[1613],_mm256_xor_si256(c2[2809],_mm256_xor_si256(c2[1973],_mm256_xor_si256(c2[301],_mm256_xor_si256(c2[3424],_mm256_xor_si256(c2[3304],_mm256_xor_si256(c2[1740],_mm256_xor_si256(c2[904],_mm256_xor_si256(c2[1752],_mm256_xor_si256(c2[1632],_mm256_xor_si256(c2[916],_mm256_xor_si256(c2[796],_mm256_xor_si256(c2[677],_mm256_xor_si256(c2[3794],_mm256_xor_si256(c2[3674],_mm256_xor_si256(c2[194],_mm256_xor_si256(c2[3197],_mm256_xor_si256(c2[208],_mm256_xor_si256(c2[3325],_mm256_xor_si256(c2[3205],_mm256_xor_si256(c2[3445],_mm256_xor_si256(c2[2609],_mm256_xor_si256(c2[3819],_mm256_xor_si256(c2[3097],_mm256_xor_si256(c2[2977],_mm256_xor_si256(c2[2977],_mm256_xor_si256(c2[2141],_mm256_xor_si256(c2[341],_mm256_xor_si256(c2[3338],_mm256_xor_si256(c2[2391],_mm256_xor_si256(c2[2271],_mm256_xor_si256(c2[1549],_mm256_xor_si256(c2[1429],_mm256_xor_si256(c2[1192],_mm256_xor_si256(c2[470],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[3109],c2[2153])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[102]=_mm256_xor_si256(c2[2765],_mm256_xor_si256(c2[2645],_mm256_xor_si256(c2[2405],_mm256_xor_si256(c2[2285],_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[121],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[121],_mm256_xor_si256(c2[3600],_mm256_xor_si256(c2[1215],_mm256_xor_si256(c2[1095],_mm256_xor_si256(c2[855],_mm256_xor_si256(c2[735],_mm256_xor_si256(c2[3135],_mm256_xor_si256(c2[2775],_mm256_xor_si256(c2[1936],_mm256_xor_si256(c2[1576],_mm256_xor_si256(c2[3616],_mm256_xor_si256(c2[1829],_mm256_xor_si256(c2[1709],_mm256_xor_si256(c2[1469],_mm256_xor_si256(c2[1349],_mm256_xor_si256(c2[2789],_mm256_xor_si256(c2[2429],_mm256_xor_si256(c2[1358],_mm256_xor_si256(c2[1238],_mm256_xor_si256(c2[998],_mm256_xor_si256(c2[878],_mm256_xor_si256(c2[1477],_mm256_xor_si256(c2[1237],_mm256_xor_si256(c2[1117],_mm256_xor_si256(c2[3519],_mm256_xor_si256(c2[3159],_mm256_xor_si256(c2[2929],_mm256_xor_si256(c2[2689],_mm256_xor_si256(c2[2569],_mm256_xor_si256(c2[2691],_mm256_xor_si256(c2[2331],_mm256_xor_si256(c2[3051],_mm256_xor_si256(c2[2691],_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[303],_mm256_xor_si256(c2[183],_mm256_xor_si256(c2[1982],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[2820],_mm256_xor_si256(c2[1994],_mm256_xor_si256(c2[1874],_mm256_xor_si256(c2[1634],_mm256_xor_si256(c2[1514],_mm256_xor_si256(c2[913],_mm256_xor_si256(c2[673],_mm256_xor_si256(c2[553],_mm256_xor_si256(c2[436],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[444],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[3687],_mm256_xor_si256(c2[3327],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[3821],_mm256_xor_si256(c2[3701],_mm256_xor_si256(c2[3219],_mm256_xor_si256(c2[2859],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[217],_mm256_xor_si256(c2[2633],_mm256_xor_si256(c2[2513],_mm256_xor_si256(c2[2273],_mm256_xor_si256(c2[2153],_mm256_xor_si256(c2[1428],_mm256_xor_si256(c2[1188],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[348],c2[3833])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[108]=_mm256_xor_si256(c2[3125],_mm256_xor_si256(c2[792],c2[1765]));
//row: 19
d2[114]=_mm256_xor_si256(c2[1084],_mm256_xor_si256(c2[2645],_mm256_xor_si256(c2[2405],_mm256_xor_si256(c2[3121],_mm256_xor_si256(c2[3373],_mm256_xor_si256(c2[1574],_mm256_xor_si256(c2[375],_mm256_xor_si256(c2[1213],_mm256_xor_si256(c2[148],_mm256_xor_si256(c2[1228],_mm256_xor_si256(c2[3516],_mm256_xor_si256(c2[3761],_mm256_xor_si256(c2[1958],_mm256_xor_si256(c2[1368],_mm256_xor_si256(c2[1130],_mm256_xor_si256(c2[1490],_mm256_xor_si256(c2[2821],_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[313],_mm256_xor_si256(c2[3197],_mm256_xor_si256(c2[2714],_mm256_xor_si256(c2[2728],_mm256_xor_si256(c2[2126],_mm256_xor_si256(c2[2500],_mm256_xor_si256(c2[1658],_mm256_xor_si256(c2[2861],_mm256_xor_si256(c2[952],_mm256_xor_si256(c2[3712],c2[2632]))))))))))))))))))))))))))));
//row: 20
d2[120]=_mm256_xor_si256(c2[844],_mm256_xor_si256(c2[724],_mm256_xor_si256(c2[2285],_mm256_xor_si256(c2[2045],_mm256_xor_si256(c2[3133],_mm256_xor_si256(c2[3013],_mm256_xor_si256(c2[1214],_mm256_xor_si256(c2[15],_mm256_xor_si256(c2[1454],_mm256_xor_si256(c2[3747],_mm256_xor_si256(c2[3627],_mm256_xor_si256(c2[868],_mm256_xor_si256(c2[3276],_mm256_xor_si256(c2[3156],_mm256_xor_si256(c2[3401],_mm256_xor_si256(c2[1598],_mm256_xor_si256(c2[1008],_mm256_xor_si256(c2[770],_mm256_xor_si256(c2[1130],_mm256_xor_si256(c2[3529],_mm256_xor_si256(c2[2461],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[73],_mm256_xor_si256(c2[3792],_mm256_xor_si256(c2[2837],_mm256_xor_si256(c2[2354],_mm256_xor_si256(c2[2368],_mm256_xor_si256(c2[1766],_mm256_xor_si256(c2[2140],_mm256_xor_si256(c2[1298],_mm256_xor_si256(c2[2501],_mm256_xor_si256(c2[712],_mm256_xor_si256(c2[592],_mm256_xor_si256(c2[3352],c2[2272]))))))))))))))))))))))))))))))))));
//row: 21
d2[126]=_mm256_xor_si256(c2[1921],_mm256_xor_si256(c2[3482],_mm256_xor_si256(c2[3242],_mm256_xor_si256(c2[3484],_mm256_xor_si256(c2[377],_mm256_xor_si256(c2[2417],_mm256_xor_si256(c2[1332],_mm256_xor_si256(c2[1212],_mm256_xor_si256(c2[985],_mm256_xor_si256(c2[2185],_mm256_xor_si256(c2[2065],_mm256_xor_si256(c2[520],_mm256_xor_si256(c2[759],_mm256_xor_si256(c2[2801],_mm256_xor_si256(c2[2211],_mm256_xor_si256(c2[1973],_mm256_xor_si256(c2[2453],_mm256_xor_si256(c2[2333],_mm256_xor_si256(c2[3664],_mm256_xor_si256(c2[1384],_mm256_xor_si256(c2[1264],_mm256_xor_si256(c2[1156],_mm256_xor_si256(c2[195],_mm256_xor_si256(c2[3677],_mm256_xor_si256(c2[3557],_mm256_xor_si256(c2[3565],_mm256_xor_si256(c2[3089],_mm256_xor_si256(c2[2969],_mm256_xor_si256(c2[3337],_mm256_xor_si256(c2[2501],_mm256_xor_si256(c2[3818],_mm256_xor_si256(c2[3698],_mm256_xor_si256(c2[1901],_mm256_xor_si256(c2[1789],_mm256_xor_si256(c2[710],_mm256_xor_si256(c2[3589],c2[3469]))))))))))))))))))))))))))))))))))));
//row: 22
d2[132]=_mm256_xor_si256(c2[2412],c2[2425]);
//row: 23
d2[138]=_mm256_xor_si256(c2[1203],_mm256_xor_si256(c2[2678],c2[3782]));
//row: 24
d2[144]=_mm256_xor_si256(c2[2657],_mm256_xor_si256(c2[3028],c2[110]));
//row: 25
d2[150]=_mm256_xor_si256(c2[1561],c2[2580]);
//row: 26
d2[156]=_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[2162],_mm256_xor_si256(c2[2042],_mm256_xor_si256(c2[1803],_mm256_xor_si256(c2[1802],_mm256_xor_si256(c2[1563],_mm256_xor_si256(c2[2896],_mm256_xor_si256(c2[2776],_mm256_xor_si256(c2[2537],_mm256_xor_si256(c2[977],_mm256_xor_si256(c2[732],_mm256_xor_si256(c2[3617],_mm256_xor_si256(c2[3492],_mm256_xor_si256(c2[3372],_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[3384],_mm256_xor_si256(c2[3145],_mm256_xor_si256(c2[625],_mm256_xor_si256(c2[506],_mm256_xor_si256(c2[386],_mm256_xor_si256(c2[386],_mm256_xor_si256(c2[3039],_mm256_xor_si256(c2[2919],_mm256_xor_si256(c2[2680],_mm256_xor_si256(c2[3278],_mm256_xor_si256(c2[3158],_mm256_xor_si256(c2[2919],_mm256_xor_si256(c2[1361],_mm256_xor_si256(c2[1116],_mm256_xor_si256(c2[891],_mm256_xor_si256(c2[771],_mm256_xor_si256(c2[532],_mm256_xor_si256(c2[533],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[893],_mm256_xor_si256(c2[768],_mm256_xor_si256(c2[648],_mm256_xor_si256(c2[2344],_mm256_xor_si256(c2[2224],_mm256_xor_si256(c2[1985],_mm256_xor_si256(c2[3663],_mm256_xor_si256(c2[3544],_mm256_xor_si256(c2[3424],_mm256_xor_si256(c2[3675],_mm256_xor_si256(c2[3555],_mm256_xor_si256(c2[3316],_mm256_xor_si256(c2[2714],_mm256_xor_si256(c2[2594],_mm256_xor_si256(c2[2355],_mm256_xor_si256(c2[2117],_mm256_xor_si256(c2[1992],_mm256_xor_si256(c2[1872],_mm256_xor_si256(c2[2245],_mm256_xor_si256(c2[2125],_mm256_xor_si256(c2[1886],_mm256_xor_si256(c2[1529],_mm256_xor_si256(c2[1404],_mm256_xor_si256(c2[1284],_mm256_xor_si256(c2[1168],_mm256_xor_si256(c2[2017],_mm256_xor_si256(c2[1897],_mm256_xor_si256(c2[1658],_mm256_xor_si256(c2[1061],_mm256_xor_si256(c2[816],_mm256_xor_si256(c2[2258],_mm256_xor_si256(c2[2139],_mm256_xor_si256(c2[2019],_mm256_xor_si256(c2[469],_mm256_xor_si256(c2[349],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[3229],_mm256_xor_si256(c2[3109],_mm256_xor_si256(c2[2870],_mm256_xor_si256(c2[2029],_mm256_xor_si256(c2[1910],c2[1790])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[162]=_mm256_xor_si256(c2[843],c2[2233]);
//row: 28
d2[168]=_mm256_xor_si256(c2[734],_mm256_xor_si256(c2[1827],c2[1025]));
//row: 29
d2[174]=_mm256_xor_si256(c2[1683],c2[2088]);
//row: 30
d2[180]=_mm256_xor_si256(c2[2907],_mm256_xor_si256(c2[3184],_mm256_xor_si256(c2[2485],c2[2989])));
//row: 31
d2[186]=_mm256_xor_si256(c2[2764],_mm256_xor_si256(c2[480],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[1214],_mm256_xor_si256(c2[3254],_mm256_xor_si256(c2[2175],_mm256_xor_si256(c2[2055],_mm256_xor_si256(c2[372],_mm256_xor_si256(c2[1828],_mm256_xor_si256(c2[3028],_mm256_xor_si256(c2[2908],_mm256_xor_si256(c2[1357],_mm256_xor_si256(c2[1596],_mm256_xor_si256(c2[3638],_mm256_xor_si256(c2[3048],_mm256_xor_si256(c2[2810],_mm256_xor_si256(c2[3290],_mm256_xor_si256(c2[3170],_mm256_xor_si256(c2[662],_mm256_xor_si256(c2[2221],_mm256_xor_si256(c2[2101],_mm256_xor_si256(c2[1993],_mm256_xor_si256(c2[1032],_mm256_xor_si256(c2[675],_mm256_xor_si256(c2[555],_mm256_xor_si256(c2[569],_mm256_xor_si256(c2[87],_mm256_xor_si256(c2[3806],_mm256_xor_si256(c2[341],_mm256_xor_si256(c2[3338],_mm256_xor_si256(c2[816],_mm256_xor_si256(c2[696],_mm256_xor_si256(c2[2632],_mm256_xor_si256(c2[1553],_mm256_xor_si256(c2[593],c2[473])))))))))))))))))))))))))))))))))));
//row: 32
d2[192]=_mm256_xor_si256(c2[3725],_mm256_xor_si256(c2[3605],_mm256_xor_si256(c2[1441],_mm256_xor_si256(c2[1321],_mm256_xor_si256(c2[1081],_mm256_xor_si256(c2[2402],_mm256_xor_si256(c2[2175],_mm256_xor_si256(c2[2055],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[2896],_mm256_xor_si256(c2[2789],_mm256_xor_si256(c2[2669],_mm256_xor_si256(c2[3749],_mm256_xor_si256(c2[2318],_mm256_xor_si256(c2[2198],_mm256_xor_si256(c2[2557],_mm256_xor_si256(c2[2437],_mm256_xor_si256(c2[640],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[3651],_mm256_xor_si256(c2[172],_mm256_xor_si256(c2[1623],_mm256_xor_si256(c2[1503],_mm256_xor_si256(c2[2942],_mm256_xor_si256(c2[1020],_mm256_xor_si256(c2[2954],_mm256_xor_si256(c2[2834],_mm256_xor_si256(c2[1993],_mm256_xor_si256(c2[1873],_mm256_xor_si256(c2[1396],_mm256_xor_si256(c2[1524],_mm256_xor_si256(c2[1404],_mm256_xor_si256(c2[808],_mm256_xor_si256(c2[1296],_mm256_xor_si256(c2[1176],_mm256_xor_si256(c2[340],_mm256_xor_si256(c2[1537],_mm256_xor_si256(c2[3593],_mm256_xor_si256(c2[3473],_mm256_xor_si256(c2[2508],_mm256_xor_si256(c2[2388],c2[1308]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[198]=_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[2644],_mm256_xor_si256(c2[2404],_mm256_xor_si256(c2[3372],_mm256_xor_si256(c2[1573],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[147],_mm256_xor_si256(c2[1227],_mm256_xor_si256(c2[629],_mm256_xor_si256(c2[3521],_mm256_xor_si256(c2[3760],_mm256_xor_si256(c2[1957],_mm256_xor_si256(c2[1373],_mm256_xor_si256(c2[1129],_mm256_xor_si256(c2[1489],_mm256_xor_si256(c2[2820],_mm256_xor_si256(c2[420],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[3196],_mm256_xor_si256(c2[2713],_mm256_xor_si256(c2[2727],_mm256_xor_si256(c2[2125],_mm256_xor_si256(c2[2369],_mm256_xor_si256(c2[2499],_mm256_xor_si256(c2[1657],_mm256_xor_si256(c2[2860],_mm256_xor_si256(c2[951],_mm256_xor_si256(c2[3711],c2[2631]))))))))))))))))))))))))))));
//row: 34
d2[204]=_mm256_xor_si256(c2[3724],_mm256_xor_si256(c2[3604],_mm256_xor_si256(c2[3005],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[1320],_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[1080],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[1565],_mm256_xor_si256(c2[2174],_mm256_xor_si256(c2[2054],_mm256_xor_si256(c2[1455],_mm256_xor_si256(c2[255],_mm256_xor_si256(c2[3495],_mm256_xor_si256(c2[2895],_mm256_xor_si256(c2[2416],_mm256_xor_si256(c2[2296],_mm256_xor_si256(c2[2788],_mm256_xor_si256(c2[2668],_mm256_xor_si256(c2[2069],_mm256_xor_si256(c2[3748],_mm256_xor_si256(c2[3269],_mm256_xor_si256(c2[3149],_mm256_xor_si256(c2[2317],_mm256_xor_si256(c2[2197],_mm256_xor_si256(c2[1598],_mm256_xor_si256(c2[2556],_mm256_xor_si256(c2[2436],_mm256_xor_si256(c2[1837],_mm256_xor_si256(c2[639],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[169],_mm256_xor_si256(c2[49],_mm256_xor_si256(c2[3289],_mm256_xor_si256(c2[3650],_mm256_xor_si256(c2[3051],_mm256_xor_si256(c2[171],_mm256_xor_si256(c2[3531],_mm256_xor_si256(c2[3411],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[1502],_mm256_xor_si256(c2[903],_mm256_xor_si256(c2[2941],_mm256_xor_si256(c2[2462],_mm256_xor_si256(c2[2342],_mm256_xor_si256(c2[2953],_mm256_xor_si256(c2[2833],_mm256_xor_si256(c2[2234],_mm256_xor_si256(c2[1992],_mm256_xor_si256(c2[1872],_mm256_xor_si256(c2[1273],_mm256_xor_si256(c2[1395],_mm256_xor_si256(c2[916],_mm256_xor_si256(c2[796],_mm256_xor_si256(c2[1529],_mm256_xor_si256(c2[1409],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[807],_mm256_xor_si256(c2[328],_mm256_xor_si256(c2[208],_mm256_xor_si256(c2[1301],_mm256_xor_si256(c2[1181],_mm256_xor_si256(c2[576],_mm256_xor_si256(c2[339],_mm256_xor_si256(c2[3579],_mm256_xor_si256(c2[1536],_mm256_xor_si256(c2[1057],_mm256_xor_si256(c2[937],_mm256_xor_si256(c2[3592],_mm256_xor_si256(c2[3472],_mm256_xor_si256(c2[2873],_mm256_xor_si256(c2[2513],_mm256_xor_si256(c2[2393],_mm256_xor_si256(c2[1788],_mm256_xor_si256(c2[1313],_mm256_xor_si256(c2[828],c2[708]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[210]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[3725],_mm256_xor_si256(c2[1441],_mm256_xor_si256(c2[1201],_mm256_xor_si256(c2[2295],_mm256_xor_si256(c2[2175],_mm256_xor_si256(c2[376],_mm256_xor_si256(c2[3016],_mm256_xor_si256(c2[1574],_mm256_xor_si256(c2[2909],_mm256_xor_si256(c2[2789],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[2438],_mm256_xor_si256(c2[2318],_mm256_xor_si256(c2[2557],_mm256_xor_si256(c2[760],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[3771],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[1623],_mm256_xor_si256(c2[3062],_mm256_xor_si256(c2[2945],_mm256_xor_si256(c2[3074],_mm256_xor_si256(c2[2954],_mm256_xor_si256(c2[1993],_mm256_xor_si256(c2[1516],_mm256_xor_si256(c2[1524],_mm256_xor_si256(c2[928],_mm256_xor_si256(c2[1296],_mm256_xor_si256(c2[460],_mm256_xor_si256(c2[1657],_mm256_xor_si256(c2[3713],_mm256_xor_si256(c2[3593],_mm256_xor_si256(c2[2508],c2[1428]))))))))))))))))))))))))))))))))));
//row: 36
d2[216]=_mm256_xor_si256(c2[3000],_mm256_xor_si256(c2[2788],c2[1289]));
//row: 37
d2[222]=_mm256_xor_si256(c2[2160],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[3721],_mm256_xor_si256(c2[3001],_mm256_xor_si256(c2[3481],_mm256_xor_si256(c2[2761],_mm256_xor_si256(c2[616],_mm256_xor_si256(c2[3735],_mm256_xor_si256(c2[2656],_mm256_xor_si256(c2[1936],_mm256_xor_si256(c2[1457],_mm256_xor_si256(c2[857],_mm256_xor_si256(c2[737],_mm256_xor_si256(c2[1224],_mm256_xor_si256(c2[504],_mm256_xor_si256(c2[2304],_mm256_xor_si256(c2[1704],_mm256_xor_si256(c2[1584],_mm256_xor_si256(c2[759],_mm256_xor_si256(c2[39],_mm256_xor_si256(c2[998],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[3040],_mm256_xor_si256(c2[2320],_mm256_xor_si256(c2[2450],_mm256_xor_si256(c2[1730],_mm256_xor_si256(c2[2212],_mm256_xor_si256(c2[1492],_mm256_xor_si256(c2[2572],_mm256_xor_si256(c2[1972],_mm256_xor_si256(c2[1852],_mm256_xor_si256(c2[64],_mm256_xor_si256(c2[3183],_mm256_xor_si256(c2[1503],_mm256_xor_si256(c2[903],_mm256_xor_si256(c2[783],_mm256_xor_si256(c2[1395],_mm256_xor_si256(c2[675],_mm256_xor_si256(c2[434],_mm256_xor_si256(c2[3553],_mm256_xor_si256(c2[3796],_mm256_xor_si256(c2[3196],_mm256_xor_si256(c2[3076],_mm256_xor_si256(c2[3804],_mm256_xor_si256(c2[3084],_mm256_xor_si256(c2[3208],_mm256_xor_si256(c2[2608],_mm256_xor_si256(c2[2488],_mm256_xor_si256(c2[3576],_mm256_xor_si256(c2[2856],_mm256_xor_si256(c2[2740],_mm256_xor_si256(c2[2020],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[3337],_mm256_xor_si256(c2[3217],_mm256_xor_si256(c2[2028],_mm256_xor_si256(c2[1308],_mm256_xor_si256(c2[949],_mm256_xor_si256(c2[229],_mm256_xor_si256(c2[3708],_mm256_xor_si256(c2[3108],c2[2988])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[228]=_mm256_xor_si256(c2[1445],_mm256_xor_si256(c2[1325],_mm256_xor_si256(c2[2880],_mm256_xor_si256(c2[2640],_mm256_xor_si256(c2[3734],_mm256_xor_si256(c2[3614],_mm256_xor_si256(c2[1815],_mm256_xor_si256(c2[616],_mm256_xor_si256(c2[2414],_mm256_xor_si256(c2[509],_mm256_xor_si256(c2[389],_mm256_xor_si256(c2[1469],_mm256_xor_si256(c2[38],_mm256_xor_si256(c2[3757],_mm256_xor_si256(c2[157],_mm256_xor_si256(c2[2199],_mm256_xor_si256(c2[1609],_mm256_xor_si256(c2[1371],_mm256_xor_si256(c2[1731],_mm256_xor_si256(c2[3062],_mm256_xor_si256(c2[662],_mm256_xor_si256(c2[2824],_mm256_xor_si256(c2[674],_mm256_xor_si256(c2[554],_mm256_xor_si256(c2[3432],_mm256_xor_si256(c2[2955],_mm256_xor_si256(c2[2969],_mm256_xor_si256(c2[2367],_mm256_xor_si256(c2[2741],_mm256_xor_si256(c2[1899],_mm256_xor_si256(c2[3096],_mm256_xor_si256(c2[1313],_mm256_xor_si256(c2[1193],_mm256_xor_si256(c2[108],c2[2873]))))))))))))))))))))))))))))))))));
//row: 39
d2[234]=_mm256_xor_si256(c2[841],_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[2402],_mm256_xor_si256(c2[2282],_mm256_xor_si256(c2[2042],_mm256_xor_si256(c2[3482],_mm256_xor_si256(c2[3136],_mm256_xor_si256(c2[3016],_mm256_xor_si256(c2[1217],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[3744],_mm256_xor_si256(c2[3624],_mm256_xor_si256(c2[865],_mm256_xor_si256(c2[3279],_mm256_xor_si256(c2[3159],_mm256_xor_si256(c2[3518],_mm256_xor_si256(c2[3398],_mm256_xor_si256(c2[1601],_mm256_xor_si256(c2[1131],_mm256_xor_si256(c2[1011],_mm256_xor_si256(c2[773],_mm256_xor_si256(c2[1133],_mm256_xor_si256(c2[2584],_mm256_xor_si256(c2[2464],_mm256_xor_si256(c2[64],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[3795],_mm256_xor_si256(c2[2954],_mm256_xor_si256(c2[2834],_mm256_xor_si256(c2[2357],_mm256_xor_si256(c2[2485],_mm256_xor_si256(c2[2365],_mm256_xor_si256(c2[1769],_mm256_xor_si256(c2[568],_mm256_xor_si256(c2[2257],_mm256_xor_si256(c2[2137],_mm256_xor_si256(c2[1301],_mm256_xor_si256(c2[2498],_mm256_xor_si256(c2[709],_mm256_xor_si256(c2[589],_mm256_xor_si256(c2[3469],_mm256_xor_si256(c2[3349],c2[2269]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[240]=_mm256_xor_si256(c2[2882],_mm256_xor_si256(c2[1924],_mm256_xor_si256(c2[604],_mm256_xor_si256(c2[3485],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[3245],_mm256_xor_si256(c2[1332],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[3372],_mm256_xor_si256(c2[2414],_mm256_xor_si256(c2[2173],_mm256_xor_si256(c2[1335],_mm256_xor_si256(c2[1215],_mm256_xor_si256(c2[1946],_mm256_xor_si256(c2[988],_mm256_xor_si256(c2[3026],_mm256_xor_si256(c2[2188],_mm256_xor_si256(c2[2068],_mm256_xor_si256(c2[867],_mm256_xor_si256(c2[1481],_mm256_xor_si256(c2[517],_mm256_xor_si256(c2[1720],_mm256_xor_si256(c2[756],_mm256_xor_si256(c2[3756],_mm256_xor_si256(c2[2798],_mm256_xor_si256(c2[3172],_mm256_xor_si256(c2[2208],_mm256_xor_si256(c2[2928],_mm256_xor_si256(c2[1970],_mm256_xor_si256(c2[3288],_mm256_xor_si256(c2[2450],_mm256_xor_si256(c2[2330],_mm256_xor_si256(c2[780],_mm256_xor_si256(c2[3661],_mm256_xor_si256(c2[2225],_mm256_xor_si256(c2[1381],_mm256_xor_si256(c2[1261],_mm256_xor_si256(c2[2117],_mm256_xor_si256(c2[1153],_mm256_xor_si256(c2[1156],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[673],_mm256_xor_si256(c2[3674],_mm256_xor_si256(c2[3554],_mm256_xor_si256(c2[687],_mm256_xor_si256(c2[3568],_mm256_xor_si256(c2[85],_mm256_xor_si256(c2[3086],_mm256_xor_si256(c2[2966],_mm256_xor_si256(c2[459],_mm256_xor_si256(c2[3340],_mm256_xor_si256(c2[3456],_mm256_xor_si256(c2[2498],_mm256_xor_si256(c2[820],_mm256_xor_si256(c2[3821],_mm256_xor_si256(c2[3701],_mm256_xor_si256(c2[2750],_mm256_xor_si256(c2[1792],_mm256_xor_si256(c2[1671],_mm256_xor_si256(c2[713],_mm256_xor_si256(c2[591],_mm256_xor_si256(c2[3592],c2[3472]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[246]=_mm256_xor_si256(c2[1201],_mm256_xor_si256(c2[1081],_mm256_xor_si256(c2[2642],_mm256_xor_si256(c2[2402],_mm256_xor_si256(c2[3496],_mm256_xor_si256(c2[3376],_mm256_xor_si256(c2[1577],_mm256_xor_si256(c2[372],_mm256_xor_si256(c2[2296],_mm256_xor_si256(c2[265],_mm256_xor_si256(c2[145],_mm256_xor_si256(c2[1225],_mm256_xor_si256(c2[3639],_mm256_xor_si256(c2[3519],_mm256_xor_si256(c2[3758],_mm256_xor_si256(c2[1961],_mm256_xor_si256(c2[1371],_mm256_xor_si256(c2[1133],_mm256_xor_si256(c2[1493],_mm256_xor_si256(c2[2824],_mm256_xor_si256(c2[424],_mm256_xor_si256(c2[900],_mm256_xor_si256(c2[436],_mm256_xor_si256(c2[316],_mm256_xor_si256(c2[3194],_mm256_xor_si256(c2[2717],_mm256_xor_si256(c2[2725],_mm256_xor_si256(c2[2129],_mm256_xor_si256(c2[2497],_mm256_xor_si256(c2[1661],_mm256_xor_si256(c2[2858],_mm256_xor_si256(c2[1069],_mm256_xor_si256(c2[949],_mm256_xor_si256(c2[3709],c2[2629]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=208, byte encoding
static inline void ldpc_BG2_Zc208_byte(uint8_t *c,uint8_t *d) {
__m128i *csimd=(__m128i *)c,*dsimd=(__m128i *)d;
__m128i *c2,*d2;
int i2;
for (i2=0; i2<13; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm_xor_si128(c2[3648],_mm_xor_si128(c2[261],_mm_xor_si128(c2[3387],_mm_xor_si128(c2[547],_mm_xor_si128(c2[556],_mm_xor_si128(c2[808],_mm_xor_si128(c2[3962],_mm_xor_si128(c2[3954],_mm_xor_si128(c2[1128],_mm_xor_si128(c2[2679],_mm_xor_si128(c2[3720],_mm_xor_si128(c2[624],_mm_xor_si128(c2[1675],_mm_xor_si128(c2[365],_mm_xor_si128(c2[1436],_mm_xor_si128(c2[3776],_mm_xor_si128(c2[948],_mm_xor_si128(c2[2247],_mm_xor_si128(c2[2768],_mm_xor_si128(c2[183],_mm_xor_si128(c2[702],_mm_xor_si128(c2[3588],_mm_xor_si128(c2[996],_mm_xor_si128(c2[3859],_mm_xor_si128(c2[3354],_mm_xor_si128(c2[1025],c2[4143]))))))))))))))))))))))))));
//row: 1
d2[13]=_mm_xor_si128(c2[3908],_mm_xor_si128(c2[3648],_mm_xor_si128(c2[261],_mm_xor_si128(c2[3387],_mm_xor_si128(c2[807],_mm_xor_si128(c2[547],_mm_xor_si128(c2[556],_mm_xor_si128(c2[808],_mm_xor_si128(c2[63],_mm_xor_si128(c2[3962],_mm_xor_si128(c2[3954],_mm_xor_si128(c2[1388],_mm_xor_si128(c2[1128],_mm_xor_si128(c2[2679],_mm_xor_si128(c2[3720],_mm_xor_si128(c2[624],_mm_xor_si128(c2[1675],_mm_xor_si128(c2[365],_mm_xor_si128(c2[1436],_mm_xor_si128(c2[3776],_mm_xor_si128(c2[1208],_mm_xor_si128(c2[948],_mm_xor_si128(c2[2247],_mm_xor_si128(c2[2768],_mm_xor_si128(c2[183],_mm_xor_si128(c2[702],_mm_xor_si128(c2[3588],_mm_xor_si128(c2[996],_mm_xor_si128(c2[3859],_mm_xor_si128(c2[3614],_mm_xor_si128(c2[3354],_mm_xor_si128(c2[1025],c2[4143]))))))))))))))))))))))))))))))));
//row: 2
d2[26]=_mm_xor_si128(c2[3908],_mm_xor_si128(c2[3648],_mm_xor_si128(c2[521],_mm_xor_si128(c2[261],_mm_xor_si128(c2[3387],_mm_xor_si128(c2[807],_mm_xor_si128(c2[547],_mm_xor_si128(c2[556],_mm_xor_si128(c2[808],_mm_xor_si128(c2[63],_mm_xor_si128(c2[3962],_mm_xor_si128(c2[3954],_mm_xor_si128(c2[1388],_mm_xor_si128(c2[1128],_mm_xor_si128(c2[2939],_mm_xor_si128(c2[2679],_mm_xor_si128(c2[3720],_mm_xor_si128(c2[884],_mm_xor_si128(c2[624],_mm_xor_si128(c2[1675],_mm_xor_si128(c2[365],_mm_xor_si128(c2[1696],_mm_xor_si128(c2[1436],_mm_xor_si128(c2[3776],_mm_xor_si128(c2[1208],_mm_xor_si128(c2[948],_mm_xor_si128(c2[2507],_mm_xor_si128(c2[2247],_mm_xor_si128(c2[2768],_mm_xor_si128(c2[443],_mm_xor_si128(c2[183],_mm_xor_si128(c2[702],_mm_xor_si128(c2[3848],_mm_xor_si128(c2[3588],_mm_xor_si128(c2[996],_mm_xor_si128(c2[3859],_mm_xor_si128(c2[3614],_mm_xor_si128(c2[3354],_mm_xor_si128(c2[1285],_mm_xor_si128(c2[1025],c2[4143]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[39]=_mm_xor_si128(c2[3648],_mm_xor_si128(c2[261],_mm_xor_si128(c2[3387],_mm_xor_si128(c2[547],_mm_xor_si128(c2[556],_mm_xor_si128(c2[1068],_mm_xor_si128(c2[808],_mm_xor_si128(c2[3962],_mm_xor_si128(c2[55],_mm_xor_si128(c2[3954],_mm_xor_si128(c2[1128],_mm_xor_si128(c2[2679],_mm_xor_si128(c2[3720],_mm_xor_si128(c2[624],_mm_xor_si128(c2[1675],_mm_xor_si128(c2[625],_mm_xor_si128(c2[365],_mm_xor_si128(c2[1436],_mm_xor_si128(c2[4036],_mm_xor_si128(c2[3776],_mm_xor_si128(c2[948],_mm_xor_si128(c2[2247],_mm_xor_si128(c2[3028],_mm_xor_si128(c2[2768],_mm_xor_si128(c2[183],_mm_xor_si128(c2[962],_mm_xor_si128(c2[702],_mm_xor_si128(c2[3588],_mm_xor_si128(c2[996],_mm_xor_si128(c2[4119],_mm_xor_si128(c2[3859],_mm_xor_si128(c2[3354],_mm_xor_si128(c2[1025],_mm_xor_si128(c2[244],c2[4143]))))))))))))))))))))))))))))))))));
//row: 4
d2[52]=_mm_xor_si128(c2[1043],_mm_xor_si128(c2[783],_mm_xor_si128(c2[1568],_mm_xor_si128(c2[522],_mm_xor_si128(c2[2862],_mm_xor_si128(c2[2114],_mm_xor_si128(c2[1854],_mm_xor_si128(c2[1850],_mm_xor_si128(c2[2115],_mm_xor_si128(c2[2887],_mm_xor_si128(c2[1357],_mm_xor_si128(c2[1097],_mm_xor_si128(c2[1102],_mm_xor_si128(c2[2682],_mm_xor_si128(c2[2422],_mm_xor_si128(c2[3986],_mm_xor_si128(c2[868],_mm_xor_si128(c2[1931],_mm_xor_si128(c2[2969],_mm_xor_si128(c2[1672],_mm_xor_si128(c2[2730],_mm_xor_si128(c2[911],_mm_xor_si128(c2[2502],_mm_xor_si128(c2[2242],_mm_xor_si128(c2[3541],_mm_xor_si128(c2[4062],_mm_xor_si128(c2[1490],_mm_xor_si128(c2[2009],_mm_xor_si128(c2[736],_mm_xor_si128(c2[2290],_mm_xor_si128(c2[994],_mm_xor_si128(c2[762],_mm_xor_si128(c2[502],_mm_xor_si128(c2[2319],c2[1278]))))))))))))))))))))))))))))))))));
//row: 5
d2[65]=_mm_xor_si128(c2[3392],_mm_xor_si128(c2[3132],_mm_xor_si128(c2[3904],_mm_xor_si128(c2[2871],_mm_xor_si128(c2[2088],_mm_xor_si128(c2[291],_mm_xor_si128(c2[31],_mm_xor_si128(c2[27],_mm_xor_si128(c2[292],_mm_xor_si128(c2[289],_mm_xor_si128(c2[3693],_mm_xor_si128(c2[3433],_mm_xor_si128(c2[3438],_mm_xor_si128(c2[859],_mm_xor_si128(c2[599],_mm_xor_si128(c2[2163],_mm_xor_si128(c2[3204],_mm_xor_si128(c2[108],_mm_xor_si128(c2[1146],_mm_xor_si128(c2[4008],_mm_xor_si128(c2[920],_mm_xor_si128(c2[3260],_mm_xor_si128(c2[1172],_mm_xor_si128(c2[679],_mm_xor_si128(c2[419],_mm_xor_si128(c2[1718],_mm_xor_si128(c2[2239],_mm_xor_si128(c2[3826],_mm_xor_si128(c2[186],_mm_xor_si128(c2[1230],_mm_xor_si128(c2[3072],_mm_xor_si128(c2[480],_mm_xor_si128(c2[3330],_mm_xor_si128(c2[3098],_mm_xor_si128(c2[2838],_mm_xor_si128(c2[496],c2[3614]))))))))))))))))))))))))))))))))))));
//row: 6
d2[78]=_mm_xor_si128(c2[2869],_mm_xor_si128(c2[2609],_mm_xor_si128(c2[3381],_mm_xor_si128(c2[2348],_mm_xor_si128(c2[1820],_mm_xor_si128(c2[3927],_mm_xor_si128(c2[3667],_mm_xor_si128(c2[3676],_mm_xor_si128(c2[3928],_mm_xor_si128(c2[3183],_mm_xor_si128(c2[2923],_mm_xor_si128(c2[2915],_mm_xor_si128(c2[349],_mm_xor_si128(c2[89],_mm_xor_si128(c2[1640],_mm_xor_si128(c2[2681],_mm_xor_si128(c2[3744],_mm_xor_si128(c2[636],_mm_xor_si128(c2[3485],_mm_xor_si128(c2[397],_mm_xor_si128(c2[2737],_mm_xor_si128(c2[652],_mm_xor_si128(c2[156],_mm_xor_si128(c2[4068],_mm_xor_si128(c2[1208],_mm_xor_si128(c2[1716],_mm_xor_si128(c2[3303],_mm_xor_si128(c2[3822],_mm_xor_si128(c2[1754],_mm_xor_si128(c2[2549],_mm_xor_si128(c2[4116],_mm_xor_si128(c2[2820],_mm_xor_si128(c2[2575],_mm_xor_si128(c2[2315],_mm_xor_si128(c2[4145],_mm_xor_si128(c2[3104],c2[2324]))))))))))))))))))))))))))))))))))));
//row: 7
d2[91]=_mm_xor_si128(c2[2602],_mm_xor_si128(c2[2342],_mm_xor_si128(c2[2092],_mm_xor_si128(c2[3127],_mm_xor_si128(c2[2864],_mm_xor_si128(c2[2081],_mm_xor_si128(c2[1831],_mm_xor_si128(c2[3673],_mm_xor_si128(c2[3413],_mm_xor_si128(c2[3150],_mm_xor_si128(c2[3409],_mm_xor_si128(c2[3146],_mm_xor_si128(c2[3674],_mm_xor_si128(c2[3671],_mm_xor_si128(c2[3411],_mm_xor_si128(c2[816],_mm_xor_si128(c2[2916],_mm_xor_si128(c2[2656],_mm_xor_si128(c2[2393],_mm_xor_si128(c2[2661],_mm_xor_si128(c2[2658],_mm_xor_si128(c2[2398],_mm_xor_si128(c2[82],_mm_xor_si128(c2[3981],_mm_xor_si128(c2[3718],_mm_xor_si128(c2[1386],_mm_xor_si128(c2[1123],_mm_xor_si128(c2[2427],_mm_xor_si128(c2[2164],_mm_xor_si128(c2[3490],_mm_xor_si128(c2[3227],_mm_xor_si128(c2[369],_mm_xor_si128(c2[106],_mm_xor_si128(c2[3231],_mm_xor_si128(c2[3228],_mm_xor_si128(c2[2968],_mm_xor_si128(c2[130],_mm_xor_si128(c2[4039],_mm_xor_si128(c2[2470],_mm_xor_si128(c2[2480],_mm_xor_si128(c2[2220],_mm_xor_si128(c2[3774],_mm_xor_si128(c2[4061],_mm_xor_si128(c2[3801],_mm_xor_si128(c2[3538],_mm_xor_si128(c2[941],_mm_xor_si128(c2[678],_mm_xor_si128(c2[1462],_mm_xor_si128(c2[1459],_mm_xor_si128(c2[1199],_mm_xor_si128(c2[3049],_mm_xor_si128(c2[2786],_mm_xor_si128(c2[3568],_mm_xor_si128(c2[3565],_mm_xor_si128(c2[3305],_mm_xor_si128(c2[4090],_mm_xor_si128(c2[2295],_mm_xor_si128(c2[2032],_mm_xor_si128(c2[3849],_mm_xor_si128(c2[3599],_mm_xor_si128(c2[2553],_mm_xor_si128(c2[2550],_mm_xor_si128(c2[2290],_mm_xor_si128(c2[2321],_mm_xor_si128(c2[2061],_mm_xor_si128(c2[1798],_mm_xor_si128(c2[3878],_mm_xor_si128(c2[3615],_mm_xor_si128(c2[2837],_mm_xor_si128(c2[2834],c2[2574]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[104]=_mm_xor_si128(c2[1310],_mm_xor_si128(c2[1050],_mm_xor_si128(c2[2082],_mm_xor_si128(c2[1822],_mm_xor_si128(c2[789],_mm_xor_si128(c2[1306],_mm_xor_si128(c2[2368],_mm_xor_si128(c2[2108],_mm_xor_si128(c2[2117],_mm_xor_si128(c2[2369],_mm_xor_si128(c2[297],_mm_xor_si128(c2[1624],_mm_xor_si128(c2[1364],_mm_xor_si128(c2[1356],_mm_xor_si128(c2[2949],_mm_xor_si128(c2[2689],_mm_xor_si128(c2[341],_mm_xor_si128(c2[81],_mm_xor_si128(c2[1122],_mm_xor_si128(c2[2445],_mm_xor_si128(c2[2185],_mm_xor_si128(c2[3236],_mm_xor_si128(c2[1926],_mm_xor_si128(c2[3257],_mm_xor_si128(c2[2997],_mm_xor_si128(c2[1178],_mm_xor_si128(c2[2756],_mm_xor_si128(c2[2496],_mm_xor_si128(c2[4068],_mm_xor_si128(c2[3808],_mm_xor_si128(c2[157],_mm_xor_si128(c2[2004],_mm_xor_si128(c2[1744],_mm_xor_si128(c2[2263],_mm_xor_si128(c2[1250],_mm_xor_si128(c2[990],_mm_xor_si128(c2[2557],_mm_xor_si128(c2[1248],_mm_xor_si128(c2[1016],_mm_xor_si128(c2[756],_mm_xor_si128(c2[2846],_mm_xor_si128(c2[2586],c2[1545]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[117]=_mm_xor_si128(c2[2868],_mm_xor_si128(c2[1],_mm_xor_si128(c2[3900],_mm_xor_si128(c2[3640],_mm_xor_si128(c2[526],_mm_xor_si128(c2[2607],_mm_xor_si128(c2[3652],_mm_xor_si128(c2[3926],_mm_xor_si128(c2[1072],_mm_xor_si128(c2[812],_mm_xor_si128(c2[3935],_mm_xor_si128(c2[808],_mm_xor_si128(c2[28],_mm_xor_si128(c2[1073],_mm_xor_si128(c2[2637],_mm_xor_si128(c2[3182],_mm_xor_si128(c2[315],_mm_xor_si128(c2[55],_mm_xor_si128(c2[3174],_mm_xor_si128(c2[60],_mm_xor_si128(c2[348],_mm_xor_si128(c2[1640],_mm_xor_si128(c2[1380],_mm_xor_si128(c2[1899],_mm_xor_si128(c2[2944],_mm_xor_si128(c2[2940],_mm_xor_si128(c2[3985],_mm_xor_si128(c2[4016],_mm_xor_si128(c2[889],_mm_xor_si128(c2[895],_mm_xor_si128(c2[1927],_mm_xor_si128(c2[3744],_mm_xor_si128(c2[630],_mm_xor_si128(c2[656],_mm_xor_si128(c2[1701],_mm_xor_si128(c2[2996],_mm_xor_si128(c2[4041],_mm_xor_si128(c2[168],_mm_xor_si128(c2[1460],_mm_xor_si128(c2[1200],_mm_xor_si128(c2[1467],_mm_xor_si128(c2[2499],_mm_xor_si128(c2[1988],_mm_xor_si128(c2[3020],_mm_xor_si128(c2[3562],_mm_xor_si128(c2[448],_mm_xor_si128(c2[4094],_mm_xor_si128(c2[967],_mm_xor_si128(c2[2808],_mm_xor_si128(c2[3853],_mm_xor_si128(c2[216],_mm_xor_si128(c2[1248],_mm_xor_si128(c2[3079],_mm_xor_si128(c2[4111],_mm_xor_si128(c2[3069],_mm_xor_si128(c2[2574],_mm_xor_si128(c2[3879],_mm_xor_si128(c2[3619],_mm_xor_si128(c2[245],_mm_xor_si128(c2[1277],_mm_xor_si128(c2[3363],c2[236])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[130]=_mm_xor_si128(c2[3387],_mm_xor_si128(c2[3149],_mm_xor_si128(c2[427],c2[965])));
//row: 11
d2[143]=_mm_xor_si128(c2[1569],_mm_xor_si128(c2[2341],_mm_xor_si128(c2[1308],_mm_xor_si128(c2[1822],_mm_xor_si128(c2[2627],_mm_xor_si128(c2[2636],_mm_xor_si128(c2[3148],_mm_xor_si128(c2[2888],_mm_xor_si128(c2[1883],_mm_xor_si128(c2[2135],_mm_xor_si128(c2[1875],_mm_xor_si128(c2[3208],_mm_xor_si128(c2[600],_mm_xor_si128(c2[1641],_mm_xor_si128(c2[2704],_mm_xor_si128(c2[3755],_mm_xor_si128(c2[2705],_mm_xor_si128(c2[2445],_mm_xor_si128(c2[3516],_mm_xor_si128(c2[1957],_mm_xor_si128(c2[1697],_mm_xor_si128(c2[3028],_mm_xor_si128(c2[168],_mm_xor_si128(c2[936],_mm_xor_si128(c2[676],_mm_xor_si128(c2[2263],_mm_xor_si128(c2[3042],_mm_xor_si128(c2[2782],_mm_xor_si128(c2[3563],_mm_xor_si128(c2[1509],_mm_xor_si128(c2[3076],_mm_xor_si128(c2[2040],_mm_xor_si128(c2[1780],_mm_xor_si128(c2[1275],_mm_xor_si128(c2[3105],_mm_xor_si128(c2[2324],_mm_xor_si128(c2[2064],c2[1016])))))))))))))))))))))))))))))))))))));
//row: 12
d2[156]=_mm_xor_si128(c2[12],_mm_xor_si128(c2[3911],_mm_xor_si128(c2[524],_mm_xor_si128(c2[3650],_mm_xor_si128(c2[1070],_mm_xor_si128(c2[810],_mm_xor_si128(c2[806],_mm_xor_si128(c2[1071],_mm_xor_si128(c2[547],_mm_xor_si128(c2[313],_mm_xor_si128(c2[53],_mm_xor_si128(c2[58],_mm_xor_si128(c2[1638],_mm_xor_si128(c2[1378],_mm_xor_si128(c2[2942],_mm_xor_si128(c2[3983],_mm_xor_si128(c2[2947],_mm_xor_si128(c2[887],_mm_xor_si128(c2[1925],_mm_xor_si128(c2[628],_mm_xor_si128(c2[1699],_mm_xor_si128(c2[4039],_mm_xor_si128(c2[1458],_mm_xor_si128(c2[1198],_mm_xor_si128(c2[2497],_mm_xor_si128(c2[3018],_mm_xor_si128(c2[446],_mm_xor_si128(c2[965],_mm_xor_si128(c2[3851],_mm_xor_si128(c2[1259],_mm_xor_si128(c2[4109],_mm_xor_si128(c2[3877],_mm_xor_si128(c2[3617],_mm_xor_si128(c2[1275],c2[234]))))))))))))))))))))))))))))))))));
//row: 13
d2[169]=_mm_xor_si128(c2[2087],_mm_xor_si128(c2[2872],_mm_xor_si128(c2[1826],_mm_xor_si128(c2[2],_mm_xor_si128(c2[3158],_mm_xor_si128(c2[3154],_mm_xor_si128(c2[3666],_mm_xor_si128(c2[3406],_mm_xor_si128(c2[1329],_mm_xor_si128(c2[2401],_mm_xor_si128(c2[2653],_mm_xor_si128(c2[2393],_mm_xor_si128(c2[3726],_mm_xor_si128(c2[1118],_mm_xor_si128(c2[2159],_mm_xor_si128(c2[3235],_mm_xor_si128(c2[114],_mm_xor_si128(c2[3236],_mm_xor_si128(c2[2976],_mm_xor_si128(c2[4034],_mm_xor_si128(c2[2475],_mm_xor_si128(c2[2215],_mm_xor_si128(c2[3546],_mm_xor_si128(c2[686],_mm_xor_si128(c2[1467],_mm_xor_si128(c2[1207],_mm_xor_si128(c2[2794],_mm_xor_si128(c2[3573],_mm_xor_si128(c2[3313],_mm_xor_si128(c2[2040],_mm_xor_si128(c2[3594],_mm_xor_si128(c2[2558],_mm_xor_si128(c2[2298],_mm_xor_si128(c2[4113],_mm_xor_si128(c2[1806],_mm_xor_si128(c2[3623],_mm_xor_si128(c2[2842],c2[2582])))))))))))))))))))))))))))))))))))));
//row: 14
d2[182]=_mm_xor_si128(c2[792],_mm_xor_si128(c2[532],_mm_xor_si128(c2[2862],_mm_xor_si128(c2[1304],_mm_xor_si128(c2[3647],_mm_xor_si128(c2[271],_mm_xor_si128(c2[2601],_mm_xor_si128(c2[1850],_mm_xor_si128(c2[1590],_mm_xor_si128(c2[3933],_mm_xor_si128(c2[1586],_mm_xor_si128(c2[3929],_mm_xor_si128(c2[1851],_mm_xor_si128(c2[295],_mm_xor_si128(c2[35],_mm_xor_si128(c2[2891],_mm_xor_si128(c2[1093],_mm_xor_si128(c2[833],_mm_xor_si128(c2[3176],_mm_xor_si128(c2[838],_mm_xor_si128(c2[3441],_mm_xor_si128(c2[3181],_mm_xor_si128(c2[2418],_mm_xor_si128(c2[2158],_mm_xor_si128(c2[342],_mm_xor_si128(c2[3722],_mm_xor_si128(c2[1906],_mm_xor_si128(c2[604],_mm_xor_si128(c2[2947],_mm_xor_si128(c2[1667],_mm_xor_si128(c2[4010],_mm_xor_si128(c2[2705],_mm_xor_si128(c2[889],_mm_xor_si128(c2[1408],_mm_xor_si128(c2[4011],_mm_xor_si128(c2[3751],_mm_xor_si128(c2[2479],_mm_xor_si128(c2[650],_mm_xor_si128(c2[660],_mm_xor_si128(c2[3250],_mm_xor_si128(c2[2990],_mm_xor_si128(c2[2238],_mm_xor_si128(c2[1978],_mm_xor_si128(c2[162],_mm_xor_si128(c2[3277],_mm_xor_si128(c2[1461],_mm_xor_si128(c2[3798],_mm_xor_si128(c2[2242],_mm_xor_si128(c2[1982],_mm_xor_si128(c2[1197],_mm_xor_si128(c2[1226],_mm_xor_si128(c2[3569],_mm_xor_si128(c2[1745],_mm_xor_si128(c2[189],_mm_xor_si128(c2[4088],_mm_xor_si128(c2[472],_mm_xor_si128(c2[2815],_mm_xor_si128(c2[2039],_mm_xor_si128(c2[210],_mm_xor_si128(c2[730],_mm_xor_si128(c2[3333],_mm_xor_si128(c2[3073],_mm_xor_si128(c2[498],_mm_xor_si128(c2[238],_mm_xor_si128(c2[2581],_mm_xor_si128(c2[2055],_mm_xor_si128(c2[239],_mm_xor_si128(c2[1014],_mm_xor_si128(c2[3617],c2[3357])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[195]=_mm_xor_si128(c2[2602],_mm_xor_si128(c2[1302],_mm_xor_si128(c2[1042],_mm_xor_si128(c2[3387],_mm_xor_si128(c2[1827],_mm_xor_si128(c2[2341],_mm_xor_si128(c2[781],_mm_xor_si128(c2[3650],_mm_xor_si128(c2[3673],_mm_xor_si128(c2[2373],_mm_xor_si128(c2[2113],_mm_xor_si128(c2[3669],_mm_xor_si128(c2[2109],_mm_xor_si128(c2[3934],_mm_xor_si128(c2[2374],_mm_xor_si128(c2[2916],_mm_xor_si128(c2[1616],_mm_xor_si128(c2[1356],_mm_xor_si128(c2[2921],_mm_xor_si128(c2[1361],_mm_xor_si128(c2[82],_mm_xor_si128(c2[2941],_mm_xor_si128(c2[2681],_mm_xor_si128(c2[1646],_mm_xor_si128(c2[86],_mm_xor_si128(c2[2687],_mm_xor_si128(c2[1127],_mm_xor_si128(c2[3750],_mm_xor_si128(c2[2190],_mm_xor_si128(c2[629],_mm_xor_si128(c2[3228],_mm_xor_si128(c2[3491],_mm_xor_si128(c2[1931],_mm_xor_si128(c2[390],_mm_xor_si128(c2[3002],_mm_xor_si128(c2[2730],_mm_xor_si128(c2[1170],_mm_xor_si128(c2[4061],_mm_xor_si128(c2[2761],_mm_xor_si128(c2[2501],_mm_xor_si128(c2[1201],_mm_xor_si128(c2[3800],_mm_xor_si128(c2[1722],_mm_xor_si128(c2[162],_mm_xor_si128(c2[3309],_mm_xor_si128(c2[1749],_mm_xor_si128(c2[3828],_mm_xor_si128(c2[2268],_mm_xor_si128(c2[2555],_mm_xor_si128(c2[995],_mm_xor_si128(c2[4109],_mm_xor_si128(c2[2549],_mm_xor_si128(c2[2813],_mm_xor_si128(c2[1253],_mm_xor_si128(c2[2321],_mm_xor_si128(c2[1021],_mm_xor_si128(c2[761],_mm_xor_si128(c2[4138],_mm_xor_si128(c2[2578],_mm_xor_si128(c2[3097],c2[1537]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[208]=_mm_xor_si128(c2[1312],_mm_xor_si128(c2[1052],_mm_xor_si128(c2[3906],_mm_xor_si128(c2[3646],_mm_xor_si128(c2[1824],_mm_xor_si128(c2[532],_mm_xor_si128(c2[272],_mm_xor_si128(c2[791],_mm_xor_si128(c2[3385],_mm_xor_si128(c2[2370],_mm_xor_si128(c2[2110],_mm_xor_si128(c2[818],_mm_xor_si128(c2[558],_mm_xor_si128(c2[2106],_mm_xor_si128(c2[554],_mm_xor_si128(c2[2371],_mm_xor_si128(c2[806],_mm_xor_si128(c2[3413],_mm_xor_si128(c2[1613],_mm_xor_si128(c2[1353],_mm_xor_si128(c2[61],_mm_xor_si128(c2[3960],_mm_xor_si128(c2[1358],_mm_xor_si128(c2[3952],_mm_xor_si128(c2[2938],_mm_xor_si128(c2[2678],_mm_xor_si128(c2[1386],_mm_xor_si128(c2[1126],_mm_xor_si128(c2[83],_mm_xor_si128(c2[2950],_mm_xor_si128(c2[2690],_mm_xor_si128(c2[1124],_mm_xor_si128(c2[3718],_mm_xor_si128(c2[2187],_mm_xor_si128(c2[895],_mm_xor_si128(c2[635],_mm_xor_si128(c2[3225],_mm_xor_si128(c2[1673],_mm_xor_si128(c2[1928],_mm_xor_si128(c2[376],_mm_xor_si128(c2[2999],_mm_xor_si128(c2[1694],_mm_xor_si128(c2[1434],_mm_xor_si128(c2[1180],_mm_xor_si128(c2[3774],_mm_xor_si128(c2[2758],_mm_xor_si128(c2[2498],_mm_xor_si128(c2[1206],_mm_xor_si128(c2[946],_mm_xor_si128(c2[3797],_mm_xor_si128(c2[2505],_mm_xor_si128(c2[2245],_mm_xor_si128(c2[159],_mm_xor_si128(c2[2766],_mm_xor_si128(c2[1746],_mm_xor_si128(c2[454],_mm_xor_si128(c2[194],_mm_xor_si128(c2[2265],_mm_xor_si128(c2[713],_mm_xor_si128(c2[992],_mm_xor_si128(c2[3859],_mm_xor_si128(c2[3599],_mm_xor_si128(c2[2559],_mm_xor_si128(c2[994],_mm_xor_si128(c2[1250],_mm_xor_si128(c2[3857],_mm_xor_si128(c2[1018],_mm_xor_si128(c2[758],_mm_xor_si128(c2[3625],_mm_xor_si128(c2[3365],_mm_xor_si128(c2[2575],_mm_xor_si128(c2[1283],_mm_xor_si128(c2[1023],_mm_xor_si128(c2[1534],_mm_xor_si128(c2[4141],c2[4135])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[221]=_mm_xor_si128(c2[3384],_mm_xor_si128(c2[3124],_mm_xor_si128(c2[531],_mm_xor_si128(c2[271],_mm_xor_si128(c2[3909],_mm_xor_si128(c2[1303],_mm_xor_si128(c2[1043],_mm_xor_si128(c2[2863],_mm_xor_si128(c2[10],_mm_xor_si128(c2[296],_mm_xor_si128(c2[36],_mm_xor_si128(c2[1589],_mm_xor_si128(c2[1329],_mm_xor_si128(c2[32],_mm_xor_si128(c2[1338],_mm_xor_si128(c2[297],_mm_xor_si128(c2[1590],_mm_xor_si128(c2[2369],_mm_xor_si128(c2[3698],_mm_xor_si128(c2[3438],_mm_xor_si128(c2[832],_mm_xor_si128(c2[572],_mm_xor_si128(c2[3443],_mm_xor_si128(c2[577],_mm_xor_si128(c2[864],_mm_xor_si128(c2[604],_mm_xor_si128(c2[2170],_mm_xor_si128(c2[1910],_mm_xor_si128(c2[2168],_mm_xor_si128(c2[3721],_mm_xor_si128(c2[3461],_mm_xor_si128(c2[3209],_mm_xor_si128(c2[343],_mm_xor_si128(c2[113],_mm_xor_si128(c2[1666],_mm_xor_si128(c2[1406],_mm_xor_si128(c2[1151],_mm_xor_si128(c2[2444],_mm_xor_si128(c2[4013],_mm_xor_si128(c2[1147],_mm_xor_si128(c2[912],_mm_xor_si128(c2[2478],_mm_xor_si128(c2[2218],_mm_xor_si128(c2[3252],_mm_xor_si128(c2[399],_mm_xor_si128(c2[2482],_mm_xor_si128(c2[684],_mm_xor_si128(c2[424],_mm_xor_si128(c2[1977],_mm_xor_si128(c2[1717],_mm_xor_si128(c2[1723],_mm_xor_si128(c2[3276],_mm_xor_si128(c2[3016],_mm_xor_si128(c2[2244],_mm_xor_si128(c2[3537],_mm_xor_si128(c2[3831],_mm_xor_si128(c2[1225],_mm_xor_si128(c2[965],_mm_xor_si128(c2[191],_mm_xor_si128(c2[1484],_mm_xor_si128(c2[3077],_mm_xor_si128(c2[471],_mm_xor_si128(c2[211],_mm_xor_si128(c2[472],_mm_xor_si128(c2[1778],_mm_xor_si128(c2[3335],_mm_xor_si128(c2[469],_mm_xor_si128(c2[3103],_mm_xor_si128(c2[2843],_mm_xor_si128(c2[237],_mm_xor_si128(c2[4136],_mm_xor_si128(c2[501],_mm_xor_si128(c2[2054],_mm_xor_si128(c2[1794],_mm_xor_si128(c2[3619],c2[766])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[234]=_mm_xor_si128(c2[268],_mm_xor_si128(c2[3028],c2[3310]));
//row: 19
d2[247]=_mm_xor_si128(c2[532],_mm_xor_si128(c2[1304],_mm_xor_si128(c2[271],_mm_xor_si128(c2[3646],_mm_xor_si128(c2[1590],_mm_xor_si128(c2[1586],_mm_xor_si128(c2[1851],_mm_xor_si128(c2[3153],_mm_xor_si128(c2[833],_mm_xor_si128(c2[838],_mm_xor_si128(c2[2158],_mm_xor_si128(c2[3722],_mm_xor_si128(c2[604],_mm_xor_si128(c2[1667],_mm_xor_si128(c2[2705],_mm_xor_si128(c2[1408],_mm_xor_si128(c2[2479],_mm_xor_si128(c2[660],_mm_xor_si128(c2[1978],_mm_xor_si128(c2[3277],_mm_xor_si128(c2[3798],_mm_xor_si128(c2[1226],_mm_xor_si128(c2[1745],_mm_xor_si128(c2[472],_mm_xor_si128(c2[2039],_mm_xor_si128(c2[730],_mm_xor_si128(c2[238],_mm_xor_si128(c2[2055],c2[1014]))))))))))))))))))))))))))));
//row: 20
d2[260]=_mm_xor_si128(c2[263],_mm_xor_si128(c2[3],_mm_xor_si128(c2[788],_mm_xor_si128(c2[3901],_mm_xor_si128(c2[1334],_mm_xor_si128(c2[1074],_mm_xor_si128(c2[1070],_mm_xor_si128(c2[1335],_mm_xor_si128(c2[1078],_mm_xor_si128(c2[577],_mm_xor_si128(c2[317],_mm_xor_si128(c2[322],_mm_xor_si128(c2[1902],_mm_xor_si128(c2[1642],_mm_xor_si128(c2[3206],_mm_xor_si128(c2[88],_mm_xor_si128(c2[1151],_mm_xor_si128(c2[2189],_mm_xor_si128(c2[892],_mm_xor_si128(c2[886],_mm_xor_si128(c2[1950],_mm_xor_si128(c2[131],_mm_xor_si128(c2[1722],_mm_xor_si128(c2[1462],_mm_xor_si128(c2[2761],_mm_xor_si128(c2[3282],_mm_xor_si128(c2[710],_mm_xor_si128(c2[1229],_mm_xor_si128(c2[4115],_mm_xor_si128(c2[1510],_mm_xor_si128(c2[214],_mm_xor_si128(c2[4141],_mm_xor_si128(c2[3881],_mm_xor_si128(c2[1539],c2[498]))))))))))))))))))))))))))))))))));
//row: 21
d2[273]=_mm_xor_si128(c2[1310],_mm_xor_si128(c2[2082],_mm_xor_si128(c2[1049],_mm_xor_si128(c2[2600],_mm_xor_si128(c2[2368],_mm_xor_si128(c2[2377],_mm_xor_si128(c2[2889],_mm_xor_si128(c2[2629],_mm_xor_si128(c2[1624],_mm_xor_si128(c2[1876],_mm_xor_si128(c2[1616],_mm_xor_si128(c2[2949],_mm_xor_si128(c2[341],_mm_xor_si128(c2[1382],_mm_xor_si128(c2[2445],_mm_xor_si128(c2[3496],_mm_xor_si128(c2[2446],_mm_xor_si128(c2[2186],_mm_xor_si128(c2[3257],_mm_xor_si128(c2[1698],_mm_xor_si128(c2[1438],_mm_xor_si128(c2[2756],_mm_xor_si128(c2[4068],_mm_xor_si128(c2[677],_mm_xor_si128(c2[417],_mm_xor_si128(c2[2004],_mm_xor_si128(c2[2783],_mm_xor_si128(c2[2523],_mm_xor_si128(c2[1250],_mm_xor_si128(c2[2817],_mm_xor_si128(c2[1768],_mm_xor_si128(c2[1508],_mm_xor_si128(c2[2815],_mm_xor_si128(c2[1016],_mm_xor_si128(c2[2846],_mm_xor_si128(c2[2065],c2[1805]))))))))))))))))))))))))))))))))))));
//row: 22
d2[286]=_mm_xor_si128(c2[2638],c2[3699]);
//row: 23
d2[299]=_mm_xor_si128(c2[1043],_mm_xor_si128(c2[2688],c2[3510]));
//row: 24
d2[312]=_mm_xor_si128(c2[293],_mm_xor_si128(c2[322],c2[2319]));
//row: 25
d2[325]=_mm_xor_si128(c2[1312],c2[662]);
//row: 26
d2[338]=_mm_xor_si128(c2[12],_mm_xor_si128(c2[3911],_mm_xor_si128(c2[3905],_mm_xor_si128(c2[784],_mm_xor_si128(c2[524],_mm_xor_si128(c2[531],_mm_xor_si128(c2[3650],_mm_xor_si128(c2[3644],_mm_xor_si128(c2[1070],_mm_xor_si128(c2[810],_mm_xor_si128(c2[817],_mm_xor_si128(c2[806],_mm_xor_si128(c2[813],_mm_xor_si128(c2[1071],_mm_xor_si128(c2[1338],_mm_xor_si128(c2[1078],_mm_xor_si128(c2[313],_mm_xor_si128(c2[53],_mm_xor_si128(c2[60],_mm_xor_si128(c2[58],_mm_xor_si128(c2[312],_mm_xor_si128(c2[52],_mm_xor_si128(c2[1102],_mm_xor_si128(c2[1638],_mm_xor_si128(c2[1378],_mm_xor_si128(c2[1385],_mm_xor_si128(c2[3202],_mm_xor_si128(c2[2942],_mm_xor_si128(c2[2949],_mm_xor_si128(c2[3983],_mm_xor_si128(c2[3990],_mm_xor_si128(c2[1147],_mm_xor_si128(c2[887],_mm_xor_si128(c2[894],_mm_xor_si128(c2[1925],_mm_xor_si128(c2[1932],_mm_xor_si128(c2[628],_mm_xor_si128(c2[895],_mm_xor_si128(c2[635],_mm_xor_si128(c2[1959],_mm_xor_si128(c2[1699],_mm_xor_si128(c2[1693],_mm_xor_si128(c2[4039],_mm_xor_si128(c2[134],_mm_xor_si128(c2[4033],_mm_xor_si128(c2[1458],_mm_xor_si128(c2[1198],_mm_xor_si128(c2[1205],_mm_xor_si128(c2[2757],_mm_xor_si128(c2[2497],_mm_xor_si128(c2[2504],_mm_xor_si128(c2[3018],_mm_xor_si128(c2[3285],_mm_xor_si128(c2[3025],_mm_xor_si128(c2[706],_mm_xor_si128(c2[446],_mm_xor_si128(c2[453],_mm_xor_si128(c2[965],_mm_xor_si128(c2[1232],_mm_xor_si128(c2[972],_mm_xor_si128(c2[3312],_mm_xor_si128(c2[4111],_mm_xor_si128(c2[3851],_mm_xor_si128(c2[3858],_mm_xor_si128(c2[1259],_mm_xor_si128(c2[1253],_mm_xor_si128(c2[4109],_mm_xor_si128(c2[217],_mm_xor_si128(c2[4116],_mm_xor_si128(c2[3877],_mm_xor_si128(c2[3617],_mm_xor_si128(c2[3624],_mm_xor_si128(c2[1535],_mm_xor_si128(c2[1275],_mm_xor_si128(c2[1282],_mm_xor_si128(c2[234],_mm_xor_si128(c2[501],c2[241])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[351]=_mm_xor_si128(c2[2090],c2[428]);
//row: 28
d2[364]=_mm_xor_si128(c2[3666],_mm_xor_si128(c2[2663],c2[3772]));
//row: 29
d2[377]=_mm_xor_si128(c2[523],c2[2965]);
//row: 30
d2[390]=_mm_xor_si128(c2[1616],_mm_xor_si128(c2[391],_mm_xor_si128(c2[705],c2[1794])));
//row: 31
d2[403]=_mm_xor_si128(c2[2867],_mm_xor_si128(c2[3652],_mm_xor_si128(c2[2606],_mm_xor_si128(c2[3938],_mm_xor_si128(c2[3934],_mm_xor_si128(c2[287],_mm_xor_si128(c2[27],_mm_xor_si128(c2[813],_mm_xor_si128(c2[3181],_mm_xor_si128(c2[3433],_mm_xor_si128(c2[3173],_mm_xor_si128(c2[347],_mm_xor_si128(c2[1898],_mm_xor_si128(c2[2939],_mm_xor_si128(c2[4015],_mm_xor_si128(c2[894],_mm_xor_si128(c2[4016],_mm_xor_si128(c2[3756],_mm_xor_si128(c2[655],_mm_xor_si128(c2[3255],_mm_xor_si128(c2[2995],_mm_xor_si128(c2[167],_mm_xor_si128(c2[1466],_mm_xor_si128(c2[2247],_mm_xor_si128(c2[1987],_mm_xor_si128(c2[3574],_mm_xor_si128(c2[194],_mm_xor_si128(c2[4093],_mm_xor_si128(c2[2820],_mm_xor_si128(c2[215],_mm_xor_si128(c2[3338],_mm_xor_si128(c2[3078],_mm_xor_si128(c2[2586],_mm_xor_si128(c2[244],_mm_xor_si128(c2[3622],c2[3362])))))))))))))))))))))))))))))))))));
//row: 32
d2[416]=_mm_xor_si128(c2[526],_mm_xor_si128(c2[266],_mm_xor_si128(c2[1311],_mm_xor_si128(c2[1051],_mm_xor_si128(c2[5],_mm_xor_si128(c2[3646],_mm_xor_si128(c2[1597],_mm_xor_si128(c2[1337],_mm_xor_si128(c2[1333],_mm_xor_si128(c2[1598],_mm_xor_si128(c2[840],_mm_xor_si128(c2[580],_mm_xor_si128(c2[572],_mm_xor_si128(c2[2165],_mm_xor_si128(c2[1905],_mm_xor_si128(c2[3729],_mm_xor_si128(c2[3469],_mm_xor_si128(c2[338],_mm_xor_si128(c2[1674],_mm_xor_si128(c2[1414],_mm_xor_si128(c2[2452],_mm_xor_si128(c2[1155],_mm_xor_si128(c2[2473],_mm_xor_si128(c2[2213],_mm_xor_si128(c2[394],_mm_xor_si128(c2[130],_mm_xor_si128(c2[1985],_mm_xor_si128(c2[1725],_mm_xor_si128(c2[3284],_mm_xor_si128(c2[3024],_mm_xor_si128(c2[3545],_mm_xor_si128(c2[1233],_mm_xor_si128(c2[973],_mm_xor_si128(c2[1492],_mm_xor_si128(c2[479],_mm_xor_si128(c2[219],_mm_xor_si128(c2[1773],_mm_xor_si128(c2[477],_mm_xor_si128(c2[245],_mm_xor_si128(c2[4144],_mm_xor_si128(c2[2062],_mm_xor_si128(c2[1802],c2[761]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[429]=_mm_xor_si128(c2[267],_mm_xor_si128(c2[1052],_mm_xor_si128(c2[6],_mm_xor_si128(c2[1338],_mm_xor_si128(c2[1334],_mm_xor_si128(c2[1586],_mm_xor_si128(c2[581],_mm_xor_si128(c2[573],_mm_xor_si128(c2[842],_mm_xor_si128(c2[1906],_mm_xor_si128(c2[3470],_mm_xor_si128(c2[339],_mm_xor_si128(c2[1415],_mm_xor_si128(c2[2453],_mm_xor_si128(c2[1156],_mm_xor_si128(c2[2214],_mm_xor_si128(c2[395],_mm_xor_si128(c2[1726],_mm_xor_si128(c2[3025],_mm_xor_si128(c2[3546],_mm_xor_si128(c2[974],_mm_xor_si128(c2[1493],_mm_xor_si128(c2[3572],_mm_xor_si128(c2[220],_mm_xor_si128(c2[1774],_mm_xor_si128(c2[478],_mm_xor_si128(c2[4145],_mm_xor_si128(c2[1803],c2[762]))))))))))))))))))))))))))));
//row: 34
d2[442]=_mm_xor_si128(c2[3647],_mm_xor_si128(c2[3387],_mm_xor_si128(c2[3907],_mm_xor_si128(c2[260],_mm_xor_si128(c2[0],_mm_xor_si128(c2[520],_mm_xor_si128(c2[3126],_mm_xor_si128(c2[3646],_mm_xor_si128(c2[1312],_mm_xor_si128(c2[546],_mm_xor_si128(c2[286],_mm_xor_si128(c2[806],_mm_xor_si128(c2[295],_mm_xor_si128(c2[815],_mm_xor_si128(c2[547],_mm_xor_si128(c2[1327],_mm_xor_si128(c2[1067],_mm_xor_si128(c2[3961],_mm_xor_si128(c2[3701],_mm_xor_si128(c2[62],_mm_xor_si128(c2[3693],_mm_xor_si128(c2[314],_mm_xor_si128(c2[54],_mm_xor_si128(c2[1127],_mm_xor_si128(c2[867],_mm_xor_si128(c2[1387],_mm_xor_si128(c2[2678],_mm_xor_si128(c2[2418],_mm_xor_si128(c2[2938],_mm_xor_si128(c2[3459],_mm_xor_si128(c2[3979],_mm_xor_si128(c2[636],_mm_xor_si128(c2[376],_mm_xor_si128(c2[896],_mm_xor_si128(c2[1414],_mm_xor_si128(c2[1934],_mm_xor_si128(c2[104],_mm_xor_si128(c2[884],_mm_xor_si128(c2[624],_mm_xor_si128(c2[1435],_mm_xor_si128(c2[1175],_mm_xor_si128(c2[1695],_mm_xor_si128(c2[3515],_mm_xor_si128(c2[136],_mm_xor_si128(c2[4035],_mm_xor_si128(c2[947],_mm_xor_si128(c2[687],_mm_xor_si128(c2[1207],_mm_xor_si128(c2[2246],_mm_xor_si128(c2[1986],_mm_xor_si128(c2[2506],_mm_xor_si128(c2[2507],_mm_xor_si128(c2[3287],_mm_xor_si128(c2[3027],_mm_xor_si128(c2[182],_mm_xor_si128(c2[4094],_mm_xor_si128(c2[442],_mm_xor_si128(c2[454],_mm_xor_si128(c2[1234],_mm_xor_si128(c2[974],_mm_xor_si128(c2[3600],_mm_xor_si128(c2[3340],_mm_xor_si128(c2[3860],_mm_xor_si128(c2[735],_mm_xor_si128(c2[1255],_mm_xor_si128(c2[3598],_mm_xor_si128(c2[219],_mm_xor_si128(c2[4118],_mm_xor_si128(c2[3366],_mm_xor_si128(c2[3106],_mm_xor_si128(c2[3626],_mm_xor_si128(c2[1024],_mm_xor_si128(c2[764],_mm_xor_si128(c2[1284],_mm_xor_si128(c2[3882],_mm_xor_si128(c2[503],c2[243]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[455]=_mm_xor_si128(c2[1047],_mm_xor_si128(c2[787],_mm_xor_si128(c2[1572],_mm_xor_si128(c2[526],_mm_xor_si128(c2[2118],_mm_xor_si128(c2[1858],_mm_xor_si128(c2[1854],_mm_xor_si128(c2[2106],_mm_xor_si128(c2[3415],_mm_xor_si128(c2[1361],_mm_xor_si128(c2[1101],_mm_xor_si128(c2[1093],_mm_xor_si128(c2[2686],_mm_xor_si128(c2[2426],_mm_xor_si128(c2[3990],_mm_xor_si128(c2[859],_mm_xor_si128(c2[1935],_mm_xor_si128(c2[2973],_mm_xor_si128(c2[1676],_mm_xor_si128(c2[2734],_mm_xor_si128(c2[915],_mm_xor_si128(c2[1960],_mm_xor_si128(c2[2506],_mm_xor_si128(c2[2246],_mm_xor_si128(c2[3545],_mm_xor_si128(c2[4066],_mm_xor_si128(c2[1494],_mm_xor_si128(c2[2013],_mm_xor_si128(c2[740],_mm_xor_si128(c2[2294],_mm_xor_si128(c2[998],_mm_xor_si128(c2[766],_mm_xor_si128(c2[506],_mm_xor_si128(c2[2323],c2[1282]))))))))))))))))))))))))))))))))));
//row: 36
d2[468]=_mm_xor_si128(c2[1312],_mm_xor_si128(c2[1882],c2[973]));
//row: 37
d2[481]=_mm_xor_si128(c2[787],_mm_xor_si128(c2[3907],_mm_xor_si128(c2[1572],_mm_xor_si128(c2[520],_mm_xor_si128(c2[526],_mm_xor_si128(c2[3646],_mm_xor_si128(c2[1858],_mm_xor_si128(c2[806],_mm_xor_si128(c2[1854],_mm_xor_si128(c2[815],_mm_xor_si128(c2[2106],_mm_xor_si128(c2[1327],_mm_xor_si128(c2[1067],_mm_xor_si128(c2[1101],_mm_xor_si128(c2[62],_mm_xor_si128(c2[1093],_mm_xor_si128(c2[314],_mm_xor_si128(c2[54],_mm_xor_si128(c2[2426],_mm_xor_si128(c2[1387],_mm_xor_si128(c2[3990],_mm_xor_si128(c2[2938],_mm_xor_si128(c2[859],_mm_xor_si128(c2[3979],_mm_xor_si128(c2[1935],_mm_xor_si128(c2[896],_mm_xor_si128(c2[2973],_mm_xor_si128(c2[1934],_mm_xor_si128(c2[1676],_mm_xor_si128(c2[884],_mm_xor_si128(c2[624],_mm_xor_si128(c2[2734],_mm_xor_si128(c2[1695],_mm_xor_si128(c2[915],_mm_xor_si128(c2[136],_mm_xor_si128(c2[4035],_mm_xor_si128(c2[2246],_mm_xor_si128(c2[1207],_mm_xor_si128(c2[3545],_mm_xor_si128(c2[2506],_mm_xor_si128(c2[4066],_mm_xor_si128(c2[3287],_mm_xor_si128(c2[3027],_mm_xor_si128(c2[1494],_mm_xor_si128(c2[442],_mm_xor_si128(c2[2013],_mm_xor_si128(c2[1234],_mm_xor_si128(c2[974],_mm_xor_si128(c2[740],_mm_xor_si128(c2[3860],_mm_xor_si128(c2[2294],_mm_xor_si128(c2[1255],_mm_xor_si128(c2[998],_mm_xor_si128(c2[219],_mm_xor_si128(c2[4118],_mm_xor_si128(c2[506],_mm_xor_si128(c2[3626],_mm_xor_si128(c2[2323],_mm_xor_si128(c2[1284],_mm_xor_si128(c2[1282],_mm_xor_si128(c2[503],c2[243])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[494]=_mm_xor_si128(c2[3647],_mm_xor_si128(c2[3387],_mm_xor_si128(c2[0],_mm_xor_si128(c2[3126],_mm_xor_si128(c2[546],_mm_xor_si128(c2[286],_mm_xor_si128(c2[295],_mm_xor_si128(c2[547],_mm_xor_si128(c2[3415],_mm_xor_si128(c2[3961],_mm_xor_si128(c2[3701],_mm_xor_si128(c2[3693],_mm_xor_si128(c2[1127],_mm_xor_si128(c2[867],_mm_xor_si128(c2[2418],_mm_xor_si128(c2[3459],_mm_xor_si128(c2[376],_mm_xor_si128(c2[1414],_mm_xor_si128(c2[104],_mm_xor_si128(c2[1175],_mm_xor_si128(c2[3515],_mm_xor_si128(c2[3520],_mm_xor_si128(c2[947],_mm_xor_si128(c2[687],_mm_xor_si128(c2[1986],_mm_xor_si128(c2[2507],_mm_xor_si128(c2[4094],_mm_xor_si128(c2[454],_mm_xor_si128(c2[3340],_mm_xor_si128(c2[735],_mm_xor_si128(c2[3598],_mm_xor_si128(c2[3366],_mm_xor_si128(c2[3106],_mm_xor_si128(c2[764],c2[3882]))))))))))))))))))))))))))))))))));
//row: 39
d2[507]=_mm_xor_si128(c2[3126],_mm_xor_si128(c2[2866],_mm_xor_si128(c2[3911],_mm_xor_si128(c2[3651],_mm_xor_si128(c2[2605],_mm_xor_si128(c2[1311],_mm_xor_si128(c2[38],_mm_xor_si128(c2[3937],_mm_xor_si128(c2[3933],_mm_xor_si128(c2[26],_mm_xor_si128(c2[3440],_mm_xor_si128(c2[3180],_mm_xor_si128(c2[3172],_mm_xor_si128(c2[606],_mm_xor_si128(c2[346],_mm_xor_si128(c2[2170],_mm_xor_si128(c2[1910],_mm_xor_si128(c2[2938],_mm_xor_si128(c2[115],_mm_xor_si128(c2[4014],_mm_xor_si128(c2[893],_mm_xor_si128(c2[3755],_mm_xor_si128(c2[914],_mm_xor_si128(c2[654],_mm_xor_si128(c2[2994],_mm_xor_si128(c2[426],_mm_xor_si128(c2[166],_mm_xor_si128(c2[1725],_mm_xor_si128(c2[1465],_mm_xor_si128(c2[1986],_mm_xor_si128(c2[3833],_mm_xor_si128(c2[3573],_mm_xor_si128(c2[4092],_mm_xor_si128(c2[3571],_mm_xor_si128(c2[3079],_mm_xor_si128(c2[2819],_mm_xor_si128(c2[214],_mm_xor_si128(c2[3077],_mm_xor_si128(c2[2845],_mm_xor_si128(c2[2585],_mm_xor_si128(c2[503],_mm_xor_si128(c2[243],c2[3361]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[520]=_mm_xor_si128(c2[266],_mm_xor_si128(c2[267],_mm_xor_si128(c2[1051],_mm_xor_si128(c2[1052],_mm_xor_si128(c2[5],_mm_xor_si128(c2[6],_mm_xor_si128(c2[1337],_mm_xor_si128(c2[1338],_mm_xor_si128(c2[1333],_mm_xor_si128(c2[1334],_mm_xor_si128(c2[1598],_mm_xor_si128(c2[1846],_mm_xor_si128(c2[1586],_mm_xor_si128(c2[580],_mm_xor_si128(c2[581],_mm_xor_si128(c2[572],_mm_xor_si128(c2[833],_mm_xor_si128(c2[573],_mm_xor_si128(c2[324],_mm_xor_si128(c2[1905],_mm_xor_si128(c2[1906],_mm_xor_si128(c2[3469],_mm_xor_si128(c2[3470],_mm_xor_si128(c2[338],_mm_xor_si128(c2[339],_mm_xor_si128(c2[1414],_mm_xor_si128(c2[1415],_mm_xor_si128(c2[2452],_mm_xor_si128(c2[2453],_mm_xor_si128(c2[1155],_mm_xor_si128(c2[1416],_mm_xor_si128(c2[1156],_mm_xor_si128(c2[2213],_mm_xor_si128(c2[2214],_mm_xor_si128(c2[394],_mm_xor_si128(c2[655],_mm_xor_si128(c2[395],_mm_xor_si128(c2[1725],_mm_xor_si128(c2[1726],_mm_xor_si128(c2[3024],_mm_xor_si128(c2[3025],_mm_xor_si128(c2[3545],_mm_xor_si128(c2[3806],_mm_xor_si128(c2[3546],_mm_xor_si128(c2[973],_mm_xor_si128(c2[974],_mm_xor_si128(c2[1492],_mm_xor_si128(c2[1753],_mm_xor_si128(c2[1493],_mm_xor_si128(c2[219],_mm_xor_si128(c2[220],_mm_xor_si128(c2[1773],_mm_xor_si128(c2[1774],_mm_xor_si128(c2[477],_mm_xor_si128(c2[738],_mm_xor_si128(c2[478],_mm_xor_si128(c2[4144],_mm_xor_si128(c2[4145],_mm_xor_si128(c2[1802],_mm_xor_si128(c2[1803],_mm_xor_si128(c2[761],_mm_xor_si128(c2[1022],c2[762]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[533]=_mm_xor_si128(c2[1566],_mm_xor_si128(c2[1306],_mm_xor_si128(c2[2091],_mm_xor_si128(c2[1045],_mm_xor_si128(c2[2637],_mm_xor_si128(c2[2377],_mm_xor_si128(c2[2373],_mm_xor_si128(c2[2638],_mm_xor_si128(c2[3937],_mm_xor_si128(c2[1880],_mm_xor_si128(c2[1620],_mm_xor_si128(c2[1612],_mm_xor_si128(c2[3205],_mm_xor_si128(c2[2945],_mm_xor_si128(c2[350],_mm_xor_si128(c2[1378],_mm_xor_si128(c2[2454],_mm_xor_si128(c2[3492],_mm_xor_si128(c2[2195],_mm_xor_si128(c2[3253],_mm_xor_si128(c2[1434],_mm_xor_si128(c2[1442],_mm_xor_si128(c2[3025],_mm_xor_si128(c2[2765],_mm_xor_si128(c2[4064],_mm_xor_si128(c2[426],_mm_xor_si128(c2[2013],_mm_xor_si128(c2[2532],_mm_xor_si128(c2[1259],_mm_xor_si128(c2[2813],_mm_xor_si128(c2[1517],_mm_xor_si128(c2[1285],_mm_xor_si128(c2[1025],_mm_xor_si128(c2[2842],c2[1801]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=224, byte encoding
static inline void ldpc_BG2_Zc224_byte(uint8_t *c,uint8_t *d) {
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
__m256i *c2,*d2;
int i2;
for (i2=0; i2<7; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm256_xor_si256(c2[1122],_mm256_xor_si256(c2[2941],_mm256_xor_si256(c2[3364],_mm256_xor_si256(c2[1977],_mm256_xor_si256(c2[438],_mm256_xor_si256(c2[3519],_mm256_xor_si256(c2[3248],_mm256_xor_si256(c2[868],_mm256_xor_si256(c2[2987],_mm256_xor_si256(c2[3966],_mm256_xor_si256(c2[2003],_mm256_xor_si256(c2[2719],_mm256_xor_si256(c2[4401],_mm256_xor_si256(c2[617],_mm256_xor_si256(c2[3994],_mm256_xor_si256(c2[3993],_mm256_xor_si256(c2[4426],_mm256_xor_si256(c2[2747],_mm256_xor_si256(c2[4007],_mm256_xor_si256(c2[1224],_mm256_xor_si256(c2[2061],_mm256_xor_si256(c2[4172],_mm256_xor_si256(c2[3894],_mm256_xor_si256(c2[4036],_mm256_xor_si256(c2[1246],_mm256_xor_si256(c2[4466],c2[830]))))))))))))))))))))))))));
//row: 1
d2[7]=_mm256_xor_si256(c2[1122],_mm256_xor_si256(c2[1262],_mm256_xor_si256(c2[3081],_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[1977],_mm256_xor_si256(c2[2117],_mm256_xor_si256(c2[578],_mm256_xor_si256(c2[3659],_mm256_xor_si256(c2[3248],_mm256_xor_si256(c2[3388],_mm256_xor_si256(c2[1008],_mm256_xor_si256(c2[2987],_mm256_xor_si256(c2[3127],_mm256_xor_si256(c2[4106],_mm256_xor_si256(c2[2143],_mm256_xor_si256(c2[2859],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[757],_mm256_xor_si256(c2[4134],_mm256_xor_si256(c2[4133],_mm256_xor_si256(c2[4426],_mm256_xor_si256(c2[87],_mm256_xor_si256(c2[2887],_mm256_xor_si256(c2[4147],_mm256_xor_si256(c2[1364],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[4312],_mm256_xor_si256(c2[4034],_mm256_xor_si256(c2[4176],_mm256_xor_si256(c2[1246],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[127],c2[970]))))))))))))))))))))))))))))))));
//row: 2
d2[14]=_mm256_xor_si256(c2[1122],_mm256_xor_si256(c2[1262],_mm256_xor_si256(c2[2941],_mm256_xor_si256(c2[3081],_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[1977],_mm256_xor_si256(c2[2117],_mm256_xor_si256(c2[578],_mm256_xor_si256(c2[3659],_mm256_xor_si256(c2[3248],_mm256_xor_si256(c2[3388],_mm256_xor_si256(c2[1008],_mm256_xor_si256(c2[2987],_mm256_xor_si256(c2[3127],_mm256_xor_si256(c2[3966],_mm256_xor_si256(c2[4106],_mm256_xor_si256(c2[2143],_mm256_xor_si256(c2[2719],_mm256_xor_si256(c2[2859],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[757],_mm256_xor_si256(c2[3994],_mm256_xor_si256(c2[4134],_mm256_xor_si256(c2[4133],_mm256_xor_si256(c2[4426],_mm256_xor_si256(c2[87],_mm256_xor_si256(c2[2747],_mm256_xor_si256(c2[2887],_mm256_xor_si256(c2[4147],_mm256_xor_si256(c2[1224],_mm256_xor_si256(c2[1364],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[4172],_mm256_xor_si256(c2[4312],_mm256_xor_si256(c2[4034],_mm256_xor_si256(c2[4176],_mm256_xor_si256(c2[1246],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[4466],_mm256_xor_si256(c2[127],c2[970]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[21]=_mm256_xor_si256(c2[1262],_mm256_xor_si256(c2[3081],_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[2117],_mm256_xor_si256(c2[578],_mm256_xor_si256(c2[3519],_mm256_xor_si256(c2[3659],_mm256_xor_si256(c2[3388],_mm256_xor_si256(c2[868],_mm256_xor_si256(c2[1008],_mm256_xor_si256(c2[3127],_mm256_xor_si256(c2[4106],_mm256_xor_si256(c2[2143],_mm256_xor_si256(c2[2859],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[617],_mm256_xor_si256(c2[757],_mm256_xor_si256(c2[4134],_mm256_xor_si256(c2[3993],_mm256_xor_si256(c2[4133],_mm256_xor_si256(c2[87],_mm256_xor_si256(c2[2887],_mm256_xor_si256(c2[4007],_mm256_xor_si256(c2[4147],_mm256_xor_si256(c2[1364],_mm256_xor_si256(c2[2061],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[4312],_mm256_xor_si256(c2[4034],_mm256_xor_si256(c2[4036],_mm256_xor_si256(c2[4176],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[127],_mm256_xor_si256(c2[830],c2[970]))))))))))))))))))))))))))))))))));
//row: 4
d2[28]=_mm256_xor_si256(c2[1825],_mm256_xor_si256(c2[1965],_mm256_xor_si256(c2[3784],_mm256_xor_si256(c2[4200],_mm256_xor_si256(c2[1126],_mm256_xor_si256(c2[2680],_mm256_xor_si256(c2[2820],_mm256_xor_si256(c2[1274],_mm256_xor_si256(c2[4355],_mm256_xor_si256(c2[2254],_mm256_xor_si256(c2[3951],_mm256_xor_si256(c2[4091],_mm256_xor_si256(c2[1711],_mm256_xor_si256(c2[3683],_mm256_xor_si256(c2[3823],_mm256_xor_si256(c2[323],_mm256_xor_si256(c2[2846],_mm256_xor_si256(c2[3562],_mm256_xor_si256(c2[758],_mm256_xor_si256(c2[1460],_mm256_xor_si256(c2[351],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[790],_mm256_xor_si256(c2[3590],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[2060],_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[536],_mm256_xor_si256(c2[258],_mm256_xor_si256(c2[393],_mm256_xor_si256(c2[1949],_mm256_xor_si256(c2[2089],_mm256_xor_si256(c2[830],c2[1666]))))))))))))))))))))))))))))))))));
//row: 5
d2[35]=_mm256_xor_si256(c2[1261],_mm256_xor_si256(c2[1401],_mm256_xor_si256(c2[3220],_mm256_xor_si256(c2[3643],_mm256_xor_si256(c2[3505],_mm256_xor_si256(c2[2116],_mm256_xor_si256(c2[2256],_mm256_xor_si256(c2[717],_mm256_xor_si256(c2[3798],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[3394],_mm256_xor_si256(c2[3534],_mm256_xor_si256(c2[1154],_mm256_xor_si256(c2[3126],_mm256_xor_si256(c2[3266],_mm256_xor_si256(c2[4245],_mm256_xor_si256(c2[2282],_mm256_xor_si256(c2[2998],_mm256_xor_si256(c2[201],_mm256_xor_si256(c2[896],_mm256_xor_si256(c2[4273],_mm256_xor_si256(c2[4272],_mm256_xor_si256(c2[1475],_mm256_xor_si256(c2[86],_mm256_xor_si256(c2[226],_mm256_xor_si256(c2[3026],_mm256_xor_si256(c2[4286],_mm256_xor_si256(c2[1503],_mm256_xor_si256(c2[2340],_mm256_xor_si256(c2[3884],_mm256_xor_si256(c2[4458],_mm256_xor_si256(c2[4173],_mm256_xor_si256(c2[4315],_mm256_xor_si256(c2[1392],_mm256_xor_si256(c2[1532],_mm256_xor_si256(c2[266],c2[1109]))))))))))))))))))))))))))))))))))));
//row: 6
d2[42]=_mm256_xor_si256(c2[3501],_mm256_xor_si256(c2[3641],_mm256_xor_si256(c2[981],_mm256_xor_si256(c2[1404],_mm256_xor_si256(c2[3783],_mm256_xor_si256(c2[4356],_mm256_xor_si256(c2[17],_mm256_xor_si256(c2[2957],_mm256_xor_si256(c2[1559],_mm256_xor_si256(c2[1148],_mm256_xor_si256(c2[1288],_mm256_xor_si256(c2[3394],_mm256_xor_si256(c2[887],_mm256_xor_si256(c2[1027],_mm256_xor_si256(c2[2006],_mm256_xor_si256(c2[43],_mm256_xor_si256(c2[759],_mm256_xor_si256(c2[2441],_mm256_xor_si256(c2[3136],_mm256_xor_si256(c2[2034],_mm256_xor_si256(c2[2033],_mm256_xor_si256(c2[3291],_mm256_xor_si256(c2[2326],_mm256_xor_si256(c2[2466],_mm256_xor_si256(c2[787],_mm256_xor_si256(c2[2047],_mm256_xor_si256(c2[3743],_mm256_xor_si256(c2[101],_mm256_xor_si256(c2[4438],_mm256_xor_si256(c2[2212],_mm256_xor_si256(c2[1934],_mm256_xor_si256(c2[2076],_mm256_xor_si256(c2[3632],_mm256_xor_si256(c2[3772],_mm256_xor_si256(c2[2506],_mm256_xor_si256(c2[3349],c2[4332]))))))))))))))))))))))))))))))))))));
//row: 7
d2[49]=_mm256_xor_si256(c2[4206],_mm256_xor_si256(c2[4346],_mm256_xor_si256(c2[4200],_mm256_xor_si256(c2[1686],_mm256_xor_si256(c2[1540],_mm256_xor_si256(c2[2102],_mm256_xor_si256(c2[1963],_mm256_xor_si256(c2[575],_mm256_xor_si256(c2[715],_mm256_xor_si256(c2[576],_mm256_xor_si256(c2[3655],_mm256_xor_si256(c2[3516],_mm256_xor_si256(c2[2257],_mm256_xor_si256(c2[1978],_mm256_xor_si256(c2[2118],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[1853],_mm256_xor_si256(c2[1993],_mm256_xor_si256(c2[1854],_mm256_xor_si256(c2[4092],_mm256_xor_si256(c2[3813],_mm256_xor_si256(c2[3953],_mm256_xor_si256(c2[1585],_mm256_xor_si256(c2[1725],_mm256_xor_si256(c2[1586],_mm256_xor_si256(c2[2704],_mm256_xor_si256(c2[2565],_mm256_xor_si256(c2[748],_mm256_xor_si256(c2[602],_mm256_xor_si256(c2[1457],_mm256_xor_si256(c2[1318],_mm256_xor_si256(c2[3139],_mm256_xor_si256(c2[3000],_mm256_xor_si256(c2[3841],_mm256_xor_si256(c2[3562],_mm256_xor_si256(c2[3702],_mm256_xor_si256(c2[2732],_mm256_xor_si256(c2[2593],_mm256_xor_si256(c2[2731],_mm256_xor_si256(c2[2452],_mm256_xor_si256(c2[2592],_mm256_xor_si256(c2[1890],_mm256_xor_si256(c2[3024],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[3025],_mm256_xor_si256(c2[1485],_mm256_xor_si256(c2[1346],_mm256_xor_si256(c2[2745],_mm256_xor_si256(c2[2466],_mm256_xor_si256(c2[2606],_mm256_xor_si256(c2[4441],_mm256_xor_si256(c2[4302],_mm256_xor_si256(c2[799],_mm256_xor_si256(c2[520],_mm256_xor_si256(c2[660],_mm256_xor_si256(c2[1361],_mm256_xor_si256(c2[2917],_mm256_xor_si256(c2[2778],_mm256_xor_si256(c2[2632],_mm256_xor_si256(c2[2493],_mm256_xor_si256(c2[2774],_mm256_xor_si256(c2[2495],_mm256_xor_si256(c2[2635],_mm256_xor_si256(c2[4330],_mm256_xor_si256(c2[4470],_mm256_xor_si256(c2[4331],_mm256_xor_si256(c2[3211],_mm256_xor_si256(c2[3072],_mm256_xor_si256(c2[4047],_mm256_xor_si256(c2[3768],c2[3908]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[56]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[1826],_mm256_xor_si256(c2[1966],_mm256_xor_si256(c2[2382],_mm256_xor_si256(c2[2664],_mm256_xor_si256(c2[855],_mm256_xor_si256(c2[995],_mm256_xor_si256(c2[3935],_mm256_xor_si256(c2[2537],_mm256_xor_si256(c2[1555],_mm256_xor_si256(c2[2133],_mm256_xor_si256(c2[2273],_mm256_xor_si256(c2[4372],_mm256_xor_si256(c2[1865],_mm256_xor_si256(c2[2005],_mm256_xor_si256(c2[2844],_mm256_xor_si256(c2[2984],_mm256_xor_si256(c2[1028],_mm256_xor_si256(c2[1597],_mm256_xor_si256(c2[1737],_mm256_xor_si256(c2[3419],_mm256_xor_si256(c2[4121],_mm256_xor_si256(c2[2872],_mm256_xor_si256(c2[3012],_mm256_xor_si256(c2[3011],_mm256_xor_si256(c2[3304],_mm256_xor_si256(c2[3444],_mm256_xor_si256(c2[1625],_mm256_xor_si256(c2[1765],_mm256_xor_si256(c2[3025],_mm256_xor_si256(c2[102],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[1079],_mm256_xor_si256(c2[3057],_mm256_xor_si256(c2[3197],_mm256_xor_si256(c2[2912],_mm256_xor_si256(c2[3054],_mm256_xor_si256(c2[131],_mm256_xor_si256(c2[271],_mm256_xor_si256(c2[3351],_mm256_xor_si256(c2[3491],c2[4327]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[63]=_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[3784],_mm256_xor_si256(c2[3924],_mm256_xor_si256(c2[1820],_mm256_xor_si256(c2[1264],_mm256_xor_si256(c2[2243],_mm256_xor_si256(c2[1680],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[300],_mm256_xor_si256(c2[3796],_mm256_xor_si256(c2[3240],_mm256_xor_si256(c2[2398],_mm256_xor_si256(c2[1835],_mm256_xor_si256(c2[294],_mm256_xor_si256(c2[2134],_mm256_xor_si256(c2[1431],_mm256_xor_si256(c2[1571],_mm256_xor_si256(c2[4233],_mm256_xor_si256(c2[3670],_mm256_xor_si256(c2[1866],_mm256_xor_si256(c2[1163],_mm256_xor_si256(c2[1303],_mm256_xor_si256(c2[2845],_mm256_xor_si256(c2[2282],_mm256_xor_si256(c2[882],_mm256_xor_si256(c2[326],_mm256_xor_si256(c2[1598],_mm256_xor_si256(c2[1042],_mm256_xor_si256(c2[3280],_mm256_xor_si256(c2[2717],_mm256_xor_si256(c2[3982],_mm256_xor_si256(c2[3419],_mm256_xor_si256(c2[2873],_mm256_xor_si256(c2[2310],_mm256_xor_si256(c2[2872],_mm256_xor_si256(c2[2316],_mm256_xor_si256(c2[3305],_mm256_xor_si256(c2[2609],_mm256_xor_si256(c2[2749],_mm256_xor_si256(c2[1626],_mm256_xor_si256(c2[1070],_mm256_xor_si256(c2[2886],_mm256_xor_si256(c2[2330],_mm256_xor_si256(c2[103],_mm256_xor_si256(c2[4019],_mm256_xor_si256(c2[940],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[3058],_mm256_xor_si256(c2[2495],_mm256_xor_si256(c2[2773],_mm256_xor_si256(c2[2217],_mm256_xor_si256(c2[2915],_mm256_xor_si256(c2[2352],_mm256_xor_si256(c2[4312],_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[3908],_mm256_xor_si256(c2[4048],_mm256_xor_si256(c2[3352],_mm256_xor_si256(c2[2789],_mm256_xor_si256(c2[4188],c2[3632])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[70]=_mm256_xor_si256(c2[1965],_mm256_xor_si256(c2[3098],_mm256_xor_si256(c2[1204],c2[3459])));
//row: 11
d2[77]=_mm256_xor_si256(c2[1685],_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[3920],_mm256_xor_si256(c2[423],_mm256_xor_si256(c2[2540],_mm256_xor_si256(c2[994],_mm256_xor_si256(c2[3935],_mm256_xor_si256(c2[4075],_mm256_xor_si256(c2[3811],_mm256_xor_si256(c2[1291],_mm256_xor_si256(c2[1431],_mm256_xor_si256(c2[3543],_mm256_xor_si256(c2[43],_mm256_xor_si256(c2[2566],_mm256_xor_si256(c2[3282],_mm256_xor_si256(c2[478],_mm256_xor_si256(c2[1040],_mm256_xor_si256(c2[1180],_mm256_xor_si256(c2[71],_mm256_xor_si256(c2[4416],_mm256_xor_si256(c2[70],_mm256_xor_si256(c2[510],_mm256_xor_si256(c2[3310],_mm256_xor_si256(c2[4430],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[1780],_mm256_xor_si256(c2[2484],_mm256_xor_si256(c2[2624],_mm256_xor_si256(c2[1502],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[4457],_mm256_xor_si256(c2[4452],_mm256_xor_si256(c2[113],_mm256_xor_si256(c2[1809],_mm256_xor_si256(c2[550],_mm256_xor_si256(c2[1246],_mm256_xor_si256(c2[1386],c2[2089])))))))))))))))))))))))))))))))))))));
//row: 12
d2[84]=_mm256_xor_si256(c2[2945],_mm256_xor_si256(c2[3085],_mm256_xor_si256(c2[425],_mm256_xor_si256(c2[841],_mm256_xor_si256(c2[3800],_mm256_xor_si256(c2[3940],_mm256_xor_si256(c2[2394],_mm256_xor_si256(c2[996],_mm256_xor_si256(c2[1975],_mm256_xor_si256(c2[592],_mm256_xor_si256(c2[732],_mm256_xor_si256(c2[2831],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[464],_mm256_xor_si256(c2[1443],_mm256_xor_si256(c2[3966],_mm256_xor_si256(c2[3548],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[1878],_mm256_xor_si256(c2[2580],_mm256_xor_si256(c2[1471],_mm256_xor_si256(c2[1470],_mm256_xor_si256(c2[1770],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[1484],_mm256_xor_si256(c2[3180],_mm256_xor_si256(c2[4024],_mm256_xor_si256(c2[1656],_mm256_xor_si256(c2[1378],_mm256_xor_si256(c2[1513],_mm256_xor_si256(c2[3069],_mm256_xor_si256(c2[3209],_mm256_xor_si256(c2[1950],c2[2786]))))))))))))))))))))))))))))))))));
//row: 13
d2[91]=_mm256_xor_si256(c2[2946],_mm256_xor_si256(c2[286],_mm256_xor_si256(c2[702],_mm256_xor_si256(c2[701],_mm256_xor_si256(c2[3794],_mm256_xor_si256(c2[2255],_mm256_xor_si256(c2[717],_mm256_xor_si256(c2[857],_mm256_xor_si256(c2[2397],_mm256_xor_si256(c2[593],_mm256_xor_si256(c2[2552],_mm256_xor_si256(c2[2692],_mm256_xor_si256(c2[325],_mm256_xor_si256(c2[1304],_mm256_xor_si256(c2[3827],_mm256_xor_si256(c2[57],_mm256_xor_si256(c2[1739],_mm256_xor_si256(c2[2301],_mm256_xor_si256(c2[2441],_mm256_xor_si256(c2[1332],_mm256_xor_si256(c2[1191],_mm256_xor_si256(c2[1331],_mm256_xor_si256(c2[1764],_mm256_xor_si256(c2[85],_mm256_xor_si256(c2[1205],_mm256_xor_si256(c2[1345],_mm256_xor_si256(c2[3041],_mm256_xor_si256(c2[3738],_mm256_xor_si256(c2[3878],_mm256_xor_si256(c2[1517],_mm256_xor_si256(c2[1232],_mm256_xor_si256(c2[1234],_mm256_xor_si256(c2[1374],_mm256_xor_si256(c2[2216],_mm256_xor_si256(c2[3070],_mm256_xor_si256(c2[1811],_mm256_xor_si256(c2[2507],c2[2647])))))))))))))))))))))))))))))))))))));
//row: 14
d2[98]=_mm256_xor_si256(c2[2243],_mm256_xor_si256(c2[2383],_mm256_xor_si256(c2[4065],_mm256_xor_si256(c2[4202],_mm256_xor_si256(c2[1405],_mm256_xor_si256(c2[146],_mm256_xor_si256(c2[1821],_mm256_xor_si256(c2[3098],_mm256_xor_si256(c2[3238],_mm256_xor_si256(c2[434],_mm256_xor_si256(c2[1699],_mm256_xor_si256(c2[3374],_mm256_xor_si256(c2[294],_mm256_xor_si256(c2[1836],_mm256_xor_si256(c2[1976],_mm256_xor_si256(c2[575],_mm256_xor_si256(c2[4369],_mm256_xor_si256(c2[30],_mm256_xor_si256(c2[1712],_mm256_xor_si256(c2[2129],_mm256_xor_si256(c2[3671],_mm256_xor_si256(c2[3811],_mm256_xor_si256(c2[4108],_mm256_xor_si256(c2[4248],_mm256_xor_si256(c2[1444],_mm256_xor_si256(c2[748],_mm256_xor_si256(c2[2423],_mm256_xor_si256(c2[3264],_mm256_xor_si256(c2[467],_mm256_xor_si256(c2[3980],_mm256_xor_si256(c2[1176],_mm256_xor_si256(c2[1176],_mm256_xor_si256(c2[2858],_mm256_xor_si256(c2[1878],_mm256_xor_si256(c2[3420],_mm256_xor_si256(c2[3560],_mm256_xor_si256(c2[776],_mm256_xor_si256(c2[2451],_mm256_xor_si256(c2[775],_mm256_xor_si256(c2[2310],_mm256_xor_si256(c2[2450],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[1208],_mm256_xor_si256(c2[2890],_mm256_xor_si256(c2[4008],_mm256_xor_si256(c2[1204],_mm256_xor_si256(c2[789],_mm256_xor_si256(c2[2324],_mm256_xor_si256(c2[2464],_mm256_xor_si256(c2[4426],_mm256_xor_si256(c2[2478],_mm256_xor_si256(c2[4160],_mm256_xor_si256(c2[3322],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[518],_mm256_xor_si256(c2[954],_mm256_xor_si256(c2[2636],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[2358],_mm256_xor_si256(c2[818],_mm256_xor_si256(c2[2353],_mm256_xor_si256(c2[2493],_mm256_xor_si256(c2[2367],_mm256_xor_si256(c2[2507],_mm256_xor_si256(c2[4189],_mm256_xor_si256(c2[1248],_mm256_xor_si256(c2[2930],_mm256_xor_si256(c2[2091],_mm256_xor_si256(c2[3626],c2[3766])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[105]=_mm256_xor_si256(c2[2241],_mm256_xor_si256(c2[3085],_mm256_xor_si256(c2[3225],_mm256_xor_si256(c2[4060],_mm256_xor_si256(c2[565],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[981],_mm256_xor_si256(c2[2803],_mm256_xor_si256(c2[3096],_mm256_xor_si256(c2[3940],_mm256_xor_si256(c2[4080],_mm256_xor_si256(c2[1557],_mm256_xor_si256(c2[2534],_mm256_xor_si256(c2[159],_mm256_xor_si256(c2[1136],_mm256_xor_si256(c2[4374],_mm256_xor_si256(c2[732],_mm256_xor_si256(c2[872],_mm256_xor_si256(c2[1994],_mm256_xor_si256(c2[2971],_mm256_xor_si256(c2[4106],_mm256_xor_si256(c2[464],_mm256_xor_si256(c2[604],_mm256_xor_si256(c2[606],_mm256_xor_si256(c2[1583],_mm256_xor_si256(c2[3122],_mm256_xor_si256(c2[4106],_mm256_xor_si256(c2[3838],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[1041],_mm256_xor_si256(c2[2018],_mm256_xor_si256(c2[1736],_mm256_xor_si256(c2[2720],_mm256_xor_si256(c2[634],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[633],_mm256_xor_si256(c2[1610],_mm256_xor_si256(c2[1066],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[2050],_mm256_xor_si256(c2[3866],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[647],_mm256_xor_si256(c2[1624],_mm256_xor_si256(c2[2343],_mm256_xor_si256(c2[3320],_mm256_xor_si256(c2[3180],_mm256_xor_si256(c2[4164],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[1796],_mm256_xor_si256(c2[534],_mm256_xor_si256(c2[1518],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[1653],_mm256_xor_si256(c2[2372],_mm256_xor_si256(c2[3209],_mm256_xor_si256(c2[3349],_mm256_xor_si256(c2[1106],_mm256_xor_si256(c2[2090],_mm256_xor_si256(c2[1949],c2[2926]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[112]=_mm256_xor_si256(c2[1966],_mm256_xor_si256(c2[2106],_mm256_xor_si256(c2[1265],_mm256_xor_si256(c2[1405],_mm256_xor_si256(c2[3925],_mm256_xor_si256(c2[3084],_mm256_xor_si256(c2[3224],_mm256_xor_si256(c2[4341],_mm256_xor_si256(c2[3640],_mm256_xor_si256(c2[2814],_mm256_xor_si256(c2[2954],_mm256_xor_si256(c2[2120],_mm256_xor_si256(c2[2260],_mm256_xor_si256(c2[1415],_mm256_xor_si256(c2[714],_mm256_xor_si256(c2[17],_mm256_xor_si256(c2[3795],_mm256_xor_si256(c2[1556],_mm256_xor_si256(c2[4092],_mm256_xor_si256(c2[4232],_mm256_xor_si256(c2[3391],_mm256_xor_si256(c2[3531],_mm256_xor_si256(c2[1852],_mm256_xor_si256(c2[1151],_mm256_xor_si256(c2[3824],_mm256_xor_si256(c2[3964],_mm256_xor_si256(c2[3123],_mm256_xor_si256(c2[3263],_mm256_xor_si256(c2[464],_mm256_xor_si256(c2[4102],_mm256_xor_si256(c2[4242],_mm256_xor_si256(c2[2987],_mm256_xor_si256(c2[2286],_mm256_xor_si256(c2[3696],_mm256_xor_si256(c2[2862],_mm256_xor_si256(c2[3002],_mm256_xor_si256(c2[899],_mm256_xor_si256(c2[198],_mm256_xor_si256(c2[1601],_mm256_xor_si256(c2[900],_mm256_xor_si256(c2[492],_mm256_xor_si256(c2[4130],_mm256_xor_si256(c2[4270],_mm256_xor_si256(c2[491],_mm256_xor_si256(c2[4276],_mm256_xor_si256(c2[784],_mm256_xor_si256(c2[924],_mm256_xor_si256(c2[90],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[3724],_mm256_xor_si256(c2[2890],_mm256_xor_si256(c2[3030],_mm256_xor_si256(c2[505],_mm256_xor_si256(c2[4290],_mm256_xor_si256(c2[2201],_mm256_xor_si256(c2[1360],_mm256_xor_si256(c2[1500],_mm256_xor_si256(c2[3038],_mm256_xor_si256(c2[2344],_mm256_xor_si256(c2[677],_mm256_xor_si256(c2[4315],_mm256_xor_si256(c2[4455],_mm256_xor_si256(c2[392],_mm256_xor_si256(c2[4177],_mm256_xor_si256(c2[534],_mm256_xor_si256(c2[4312],_mm256_xor_si256(c2[2090],_mm256_xor_si256(c2[2230],_mm256_xor_si256(c2[1389],_mm256_xor_si256(c2[1529],_mm256_xor_si256(c2[971],_mm256_xor_si256(c2[130],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[1807],_mm256_xor_si256(c2[1106],c2[4330])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[119]=_mm256_xor_si256(c2[3081],_mm256_xor_si256(c2[3221],_mm256_xor_si256(c2[1402],_mm256_xor_si256(c2[1542],_mm256_xor_si256(c2[561],_mm256_xor_si256(c2[3221],_mm256_xor_si256(c2[3361],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[3784],_mm256_xor_si256(c2[3936],_mm256_xor_si256(c2[4076],_mm256_xor_si256(c2[2257],_mm256_xor_si256(c2[2397],_mm256_xor_si256(c2[2537],_mm256_xor_si256(c2[858],_mm256_xor_si256(c2[1139],_mm256_xor_si256(c2[3939],_mm256_xor_si256(c2[2255],_mm256_xor_si256(c2[728],_mm256_xor_si256(c2[868],_mm256_xor_si256(c2[3528],_mm256_xor_si256(c2[3668],_mm256_xor_si256(c2[2974],_mm256_xor_si256(c2[1288],_mm256_xor_si256(c2[467],_mm256_xor_si256(c2[607],_mm256_xor_si256(c2[3267],_mm256_xor_si256(c2[3407],_mm256_xor_si256(c2[1586],_mm256_xor_si256(c2[4246],_mm256_xor_si256(c2[4386],_mm256_xor_si256(c2[4102],_mm256_xor_si256(c2[2423],_mm256_xor_si256(c2[339],_mm256_xor_si256(c2[2999],_mm256_xor_si256(c2[3139],_mm256_xor_si256(c2[2021],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[2716],_mm256_xor_si256(c2[1037],_mm256_xor_si256(c2[1614],_mm256_xor_si256(c2[4274],_mm256_xor_si256(c2[4414],_mm256_xor_si256(c2[1613],_mm256_xor_si256(c2[4413],_mm256_xor_si256(c2[634],_mm256_xor_si256(c2[1906],_mm256_xor_si256(c2[2046],_mm256_xor_si256(c2[227],_mm256_xor_si256(c2[367],_mm256_xor_si256(c2[367],_mm256_xor_si256(c2[3027],_mm256_xor_si256(c2[3167],_mm256_xor_si256(c2[1627],_mm256_xor_si256(c2[4427],_mm256_xor_si256(c2[3323],_mm256_xor_si256(c2[1504],_mm256_xor_si256(c2[1644],_mm256_xor_si256(c2[4160],_mm256_xor_si256(c2[2481],_mm256_xor_si256(c2[1792],_mm256_xor_si256(c2[4452],_mm256_xor_si256(c2[113],_mm256_xor_si256(c2[1514],_mm256_xor_si256(c2[4314],_mm256_xor_si256(c2[1656],_mm256_xor_si256(c2[4456],_mm256_xor_si256(c2[3212],_mm256_xor_si256(c2[3352],_mm256_xor_si256(c2[1526],_mm256_xor_si256(c2[1666],_mm256_xor_si256(c2[2086],_mm256_xor_si256(c2[267],_mm256_xor_si256(c2[407],_mm256_xor_si256(c2[2929],c2[1250])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[126]=_mm256_xor_si256(c2[562],_mm256_xor_si256(c2[2324],c2[4022]));
//row: 19
d2[133]=_mm256_xor_si256(c2[4204],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[1960],_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[580],_mm256_xor_si256(c2[3520],_mm256_xor_si256(c2[2115],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[1851],_mm256_xor_si256(c2[3950],_mm256_xor_si256(c2[1583],_mm256_xor_si256(c2[2562],_mm256_xor_si256(c2[606],_mm256_xor_si256(c2[1322],_mm256_xor_si256(c2[2997],_mm256_xor_si256(c2[3699],_mm256_xor_si256(c2[2590],_mm256_xor_si256(c2[2596],_mm256_xor_si256(c2[3029],_mm256_xor_si256(c2[1350],_mm256_xor_si256(c2[2610],_mm256_xor_si256(c2[4299],_mm256_xor_si256(c2[664],_mm256_xor_si256(c2[2775],_mm256_xor_si256(c2[2497],_mm256_xor_si256(c2[2632],_mm256_xor_si256(c2[4328],_mm256_xor_si256(c2[3069],c2[3912]))))))))))))))))))))))))))));
//row: 20
d2[140]=_mm256_xor_si256(c2[2946],_mm256_xor_si256(c2[3086],_mm256_xor_si256(c2[426],_mm256_xor_si256(c2[842],_mm256_xor_si256(c2[3794],_mm256_xor_si256(c2[3934],_mm256_xor_si256(c2[2395],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[854],_mm256_xor_si256(c2[593],_mm256_xor_si256(c2[733],_mm256_xor_si256(c2[2832],_mm256_xor_si256(c2[325],_mm256_xor_si256(c2[465],_mm256_xor_si256(c2[1444],_mm256_xor_si256(c2[3967],_mm256_xor_si256(c2[197],_mm256_xor_si256(c2[1879],_mm256_xor_si256(c2[2581],_mm256_xor_si256(c2[2856],_mm256_xor_si256(c2[1472],_mm256_xor_si256(c2[1471],_mm256_xor_si256(c2[1764],_mm256_xor_si256(c2[1904],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[1485],_mm256_xor_si256(c2[3181],_mm256_xor_si256(c2[4018],_mm256_xor_si256(c2[1657],_mm256_xor_si256(c2[1372],_mm256_xor_si256(c2[1514],_mm256_xor_si256(c2[3070],_mm256_xor_si256(c2[3210],_mm256_xor_si256(c2[1951],c2[2787]))))))))))))))))))))))))))))))))));
//row: 21
d2[147]=_mm256_xor_si256(c2[3644],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[1400],_mm256_xor_si256(c2[2242],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[2960],_mm256_xor_si256(c2[1415],_mm256_xor_si256(c2[1555],_mm256_xor_si256(c2[1291],_mm256_xor_si256(c2[3250],_mm256_xor_si256(c2[3390],_mm256_xor_si256(c2[1023],_mm256_xor_si256(c2[2002],_mm256_xor_si256(c2[46],_mm256_xor_si256(c2[762],_mm256_xor_si256(c2[2437],_mm256_xor_si256(c2[2999],_mm256_xor_si256(c2[3139],_mm256_xor_si256(c2[2030],_mm256_xor_si256(c2[1896],_mm256_xor_si256(c2[2036],_mm256_xor_si256(c2[2469],_mm256_xor_si256(c2[790],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[2050],_mm256_xor_si256(c2[3739],_mm256_xor_si256(c2[4443],_mm256_xor_si256(c2[104],_mm256_xor_si256(c2[2215],_mm256_xor_si256(c2[1937],_mm256_xor_si256(c2[1932],_mm256_xor_si256(c2[2072],_mm256_xor_si256(c2[1653],_mm256_xor_si256(c2[3768],_mm256_xor_si256(c2[2509],_mm256_xor_si256(c2[3212],c2[3352]))))))))))))))))))))))))))))))))))));
//row: 22
d2[154]=_mm256_xor_si256(c2[2395],c2[168]);
//row: 23
d2[161]=_mm256_xor_si256(c2[3924],_mm256_xor_si256(c2[3123],c2[914]));
//row: 24
d2[168]=_mm256_xor_si256(c2[3518],_mm256_xor_si256(c2[3390],c2[4467]));
//row: 25
d2[175]=_mm256_xor_si256(c2[2666],c2[4272]);
//row: 26
d2[182]=_mm256_xor_si256(c2[702],_mm256_xor_si256(c2[842],_mm256_xor_si256(c2[2102],_mm256_xor_si256(c2[2521],_mm256_xor_si256(c2[2661],_mm256_xor_si256(c2[3921],_mm256_xor_si256(c2[3084],_mm256_xor_si256(c2[4344],_mm256_xor_si256(c2[1557],_mm256_xor_si256(c2[1697],_mm256_xor_si256(c2[2957],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[3239],_mm256_xor_si256(c2[4359],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[2828],_mm256_xor_si256(c2[2968],_mm256_xor_si256(c2[4228],_mm256_xor_si256(c2[588],_mm256_xor_si256(c2[1708],_mm256_xor_si256(c2[1848],_mm256_xor_si256(c2[3670],_mm256_xor_si256(c2[2567],_mm256_xor_si256(c2[2707],_mm256_xor_si256(c2[3967],_mm256_xor_si256(c2[3546],_mm256_xor_si256(c2[3686],_mm256_xor_si256(c2[467],_mm256_xor_si256(c2[1723],_mm256_xor_si256(c2[2983],_mm256_xor_si256(c2[2299],_mm256_xor_si256(c2[2439],_mm256_xor_si256(c2[3699],_mm256_xor_si256(c2[4121],_mm256_xor_si256(c2[902],_mm256_xor_si256(c2[337],_mm256_xor_si256(c2[1457],_mm256_xor_si256(c2[1597],_mm256_xor_si256(c2[3574],_mm256_xor_si256(c2[3714],_mm256_xor_si256(c2[495],_mm256_xor_si256(c2[3713],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[494],_mm256_xor_si256(c2[4006],_mm256_xor_si256(c2[4146],_mm256_xor_si256(c2[927],_mm256_xor_si256(c2[2327],_mm256_xor_si256(c2[2467],_mm256_xor_si256(c2[3727],_mm256_xor_si256(c2[3727],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[508],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[2204],_mm256_xor_si256(c2[1781],_mm256_xor_si256(c2[2901],_mm256_xor_si256(c2[3041],_mm256_xor_si256(c2[938],_mm256_xor_si256(c2[3752],_mm256_xor_si256(c2[3892],_mm256_xor_si256(c2[673],_mm256_xor_si256(c2[3614],_mm256_xor_si256(c2[395],_mm256_xor_si256(c2[3756],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[537],_mm256_xor_si256(c2[826],_mm256_xor_si256(c2[966],_mm256_xor_si256(c2[2226],_mm256_xor_si256(c2[4046],_mm256_xor_si256(c2[4186],_mm256_xor_si256(c2[967],_mm256_xor_si256(c2[550],_mm256_xor_si256(c2[1670],c2[1810])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[189]=_mm256_xor_si256(c2[3780],c2[3167]);
//row: 28
d2[196]=_mm256_xor_si256(c2[3380],_mm256_xor_si256(c2[2834],c2[216]));
//row: 29
d2[203]=_mm256_xor_si256(c2[1683],c2[4117]);
//row: 30
d2[210]=_mm256_xor_si256(c2[1431],_mm256_xor_si256(c2[1751],_mm256_xor_si256(c2[3603],c2[2371])));
//row: 31
d2[217]=_mm256_xor_si256(c2[4340],_mm256_xor_si256(c2[1680],_mm256_xor_si256(c2[2103],_mm256_xor_si256(c2[716],_mm256_xor_si256(c2[3656],_mm256_xor_si256(c2[2118],_mm256_xor_si256(c2[2258],_mm256_xor_si256(c2[2678],_mm256_xor_si256(c2[1994],_mm256_xor_si256(c2[3953],_mm256_xor_si256(c2[4093],_mm256_xor_si256(c2[1726],_mm256_xor_si256(c2[2705],_mm256_xor_si256(c2[742],_mm256_xor_si256(c2[1458],_mm256_xor_si256(c2[3140],_mm256_xor_si256(c2[3702],_mm256_xor_si256(c2[3842],_mm256_xor_si256(c2[2733],_mm256_xor_si256(c2[2592],_mm256_xor_si256(c2[2732],_mm256_xor_si256(c2[3165],_mm256_xor_si256(c2[1486],_mm256_xor_si256(c2[2606],_mm256_xor_si256(c2[2746],_mm256_xor_si256(c2[4442],_mm256_xor_si256(c2[660],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[2918],_mm256_xor_si256(c2[2633],_mm256_xor_si256(c2[2635],_mm256_xor_si256(c2[2775],_mm256_xor_si256(c2[4471],_mm256_xor_si256(c2[3212],_mm256_xor_si256(c2[3908],c2[4048])))))))))))))))))))))))))))))))))));
//row: 32
d2[224]=_mm256_xor_si256(c2[3085],_mm256_xor_si256(c2[3225],_mm256_xor_si256(c2[425],_mm256_xor_si256(c2[565],_mm256_xor_si256(c2[981],_mm256_xor_si256(c2[1683],_mm256_xor_si256(c2[3940],_mm256_xor_si256(c2[4080],_mm256_xor_si256(c2[2534],_mm256_xor_si256(c2[1136],_mm256_xor_si256(c2[732],_mm256_xor_si256(c2[872],_mm256_xor_si256(c2[2971],_mm256_xor_si256(c2[464],_mm256_xor_si256(c2[604],_mm256_xor_si256(c2[1443],_mm256_xor_si256(c2[1583],_mm256_xor_si256(c2[4106],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[2018],_mm256_xor_si256(c2[2720],_mm256_xor_si256(c2[1471],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[1610],_mm256_xor_si256(c2[3010],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[2050],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[1624],_mm256_xor_si256(c2[3180],_mm256_xor_si256(c2[3320],_mm256_xor_si256(c2[4164],_mm256_xor_si256(c2[1656],_mm256_xor_si256(c2[1796],_mm256_xor_si256(c2[1518],_mm256_xor_si256(c2[1653],_mm256_xor_si256(c2[3209],_mm256_xor_si256(c2[3349],_mm256_xor_si256(c2[1950],_mm256_xor_si256(c2[2090],c2[2926]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[231]=_mm256_xor_si256(c2[2945],_mm256_xor_si256(c2[285],_mm256_xor_si256(c2[701],_mm256_xor_si256(c2[3800],_mm256_xor_si256(c2[2254],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[592],_mm256_xor_si256(c2[2691],_mm256_xor_si256(c2[1010],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[1303],_mm256_xor_si256(c2[3826],_mm256_xor_si256(c2[56],_mm256_xor_si256(c2[1738],_mm256_xor_si256(c2[2440],_mm256_xor_si256(c2[1331],_mm256_xor_si256(c2[1330],_mm256_xor_si256(c2[1770],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[1344],_mm256_xor_si256(c2[3040],_mm256_xor_si256(c2[3884],_mm256_xor_si256(c2[1778],_mm256_xor_si256(c2[1516],_mm256_xor_si256(c2[1238],_mm256_xor_si256(c2[1373],_mm256_xor_si256(c2[3069],_mm256_xor_si256(c2[1810],c2[2646]))))))))))))))))))))))))))));
//row: 34
d2[238]=_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[2521],_mm256_xor_si256(c2[1964],_mm256_xor_si256(c2[4200],_mm256_xor_si256(c2[4340],_mm256_xor_si256(c2[3783],_mm256_xor_si256(c2[284],_mm256_xor_si256(c2[4206],_mm256_xor_si256(c2[4060],_mm256_xor_si256(c2[3236],_mm256_xor_si256(c2[3376],_mm256_xor_si256(c2[2819],_mm256_xor_si256(c2[1837],_mm256_xor_si256(c2[1280],_mm256_xor_si256(c2[439],_mm256_xor_si256(c2[4214],_mm256_xor_si256(c2[4354],_mm256_xor_si256(c2[28],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[4090],_mm256_xor_si256(c2[2274],_mm256_xor_si256(c2[1570],_mm256_xor_si256(c2[1710],_mm256_xor_si256(c2[4246],_mm256_xor_si256(c2[4386],_mm256_xor_si256(c2[3822],_mm256_xor_si256(c2[746],_mm256_xor_si256(c2[886],_mm256_xor_si256(c2[322],_mm256_xor_si256(c2[3402],_mm256_xor_si256(c2[2845],_mm256_xor_si256(c2[3978],_mm256_xor_si256(c2[4118],_mm256_xor_si256(c2[3561],_mm256_xor_si256(c2[1321],_mm256_xor_si256(c2[757],_mm256_xor_si256(c2[2016],_mm256_xor_si256(c2[1319],_mm256_xor_si256(c2[1459],_mm256_xor_si256(c2[774],_mm256_xor_si256(c2[914],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[913],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[1206],_mm256_xor_si256(c2[1346],_mm256_xor_si256(c2[789],_mm256_xor_si256(c2[4006],_mm256_xor_si256(c2[4146],_mm256_xor_si256(c2[3589],_mm256_xor_si256(c2[927],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[370],_mm256_xor_si256(c2[2483],_mm256_xor_si256(c2[2623],_mm256_xor_si256(c2[2059],_mm256_xor_si256(c2[3460],_mm256_xor_si256(c2[2763],_mm256_xor_si256(c2[2903],_mm256_xor_si256(c2[952],_mm256_xor_si256(c2[1092],_mm256_xor_si256(c2[535],_mm256_xor_si256(c2[814],_mm256_xor_si256(c2[257],_mm256_xor_si256(c2[956],_mm256_xor_si256(c2[252],_mm256_xor_si256(c2[392],_mm256_xor_si256(c2[2512],_mm256_xor_si256(c2[2652],_mm256_xor_si256(c2[2088],_mm256_xor_si256(c2[1246],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[829],_mm256_xor_si256(c2[2229],_mm256_xor_si256(c2[1532],c2[1672]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[245]=_mm256_xor_si256(c2[4343],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[1823],_mm256_xor_si256(c2[2246],_mm256_xor_si256(c2[719],_mm256_xor_si256(c2[859],_mm256_xor_si256(c2[3799],_mm256_xor_si256(c2[2394],_mm256_xor_si256(c2[3796],_mm256_xor_si256(c2[1990],_mm256_xor_si256(c2[2130],_mm256_xor_si256(c2[4229],_mm256_xor_si256(c2[1722],_mm256_xor_si256(c2[1862],_mm256_xor_si256(c2[2848],_mm256_xor_si256(c2[885],_mm256_xor_si256(c2[1601],_mm256_xor_si256(c2[3276],_mm256_xor_si256(c2[3978],_mm256_xor_si256(c2[2876],_mm256_xor_si256(c2[2875],_mm256_xor_si256(c2[775],_mm256_xor_si256(c2[3168],_mm256_xor_si256(c2[3308],_mm256_xor_si256(c2[1629],_mm256_xor_si256(c2[2889],_mm256_xor_si256(c2[99],_mm256_xor_si256(c2[943],_mm256_xor_si256(c2[3054],_mm256_xor_si256(c2[2776],_mm256_xor_si256(c2[2918],_mm256_xor_si256(c2[4467],_mm256_xor_si256(c2[128],_mm256_xor_si256(c2[3348],c2[4191]))))))))))))))))))))))))))))))))));
//row: 36
d2[252]=_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[2133],c2[2760]));
//row: 37
d2[259]=_mm256_xor_si256(c2[2243],_mm256_xor_si256(c2[2942],_mm256_xor_si256(c2[4062],_mm256_xor_si256(c2[282],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[705],_mm256_xor_si256(c2[3098],_mm256_xor_si256(c2[3797],_mm256_xor_si256(c2[1559],_mm256_xor_si256(c2[2258],_mm256_xor_si256(c2[154],_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[860],_mm256_xor_si256(c2[4369],_mm256_xor_si256(c2[589],_mm256_xor_si256(c2[1989],_mm256_xor_si256(c2[2548],_mm256_xor_si256(c2[2688],_mm256_xor_si256(c2[4108],_mm256_xor_si256(c2[328],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[1307],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[3823],_mm256_xor_si256(c2[3840],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[1036],_mm256_xor_si256(c2[1742],_mm256_xor_si256(c2[1738],_mm256_xor_si256(c2[2297],_mm256_xor_si256(c2[2437],_mm256_xor_si256(c2[636],_mm256_xor_si256(c2[1335],_mm256_xor_si256(c2[635],_mm256_xor_si256(c2[1194],_mm256_xor_si256(c2[1334],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[1767],_mm256_xor_si256(c2[3868],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[649],_mm256_xor_si256(c2[1208],_mm256_xor_si256(c2[1348],_mm256_xor_si256(c2[2338],_mm256_xor_si256(c2[3044],_mm256_xor_si256(c2[3182],_mm256_xor_si256(c2[3741],_mm256_xor_si256(c2[3881],_mm256_xor_si256(c2[814],_mm256_xor_si256(c2[1513],_mm256_xor_si256(c2[536],_mm256_xor_si256(c2[1235],_mm256_xor_si256(c2[678],_mm256_xor_si256(c2[1237],_mm256_xor_si256(c2[1377],_mm256_xor_si256(c2[2367],_mm256_xor_si256(c2[3066],_mm256_xor_si256(c2[1108],_mm256_xor_si256(c2[1807],_mm256_xor_si256(c2[1951],_mm256_xor_si256(c2[2510],c2[2650])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[266]=_mm256_xor_si256(c2[3083],_mm256_xor_si256(c2[3223],_mm256_xor_si256(c2[563],_mm256_xor_si256(c2[986],_mm256_xor_si256(c2[3938],_mm256_xor_si256(c2[4078],_mm256_xor_si256(c2[2539],_mm256_xor_si256(c2[1134],_mm256_xor_si256(c2[715],_mm256_xor_si256(c2[730],_mm256_xor_si256(c2[870],_mm256_xor_si256(c2[2969],_mm256_xor_si256(c2[462],_mm256_xor_si256(c2[602],_mm256_xor_si256(c2[1588],_mm256_xor_si256(c2[4104],_mm256_xor_si256(c2[341],_mm256_xor_si256(c2[2016],_mm256_xor_si256(c2[2718],_mm256_xor_si256(c2[1616],_mm256_xor_si256(c2[1615],_mm256_xor_si256(c2[213],_mm256_xor_si256(c2[1908],_mm256_xor_si256(c2[2048],_mm256_xor_si256(c2[369],_mm256_xor_si256(c2[1629],_mm256_xor_si256(c2[3318],_mm256_xor_si256(c2[4162],_mm256_xor_si256(c2[1794],_mm256_xor_si256(c2[1516],_mm256_xor_si256(c2[1658],_mm256_xor_si256(c2[3207],_mm256_xor_si256(c2[3347],_mm256_xor_si256(c2[2088],c2[2931]))))))))))))))))))))))))))))))))));
//row: 39
d2[273]=_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[420],_mm256_xor_si256(c2[2106],_mm256_xor_si256(c2[2246],_mm256_xor_si256(c2[2662],_mm256_xor_si256(c2[1403],_mm256_xor_si256(c2[1135],_mm256_xor_si256(c2[1275],_mm256_xor_si256(c2[4215],_mm256_xor_si256(c2[2817],_mm256_xor_si256(c2[2413],_mm256_xor_si256(c2[2553],_mm256_xor_si256(c2[173],_mm256_xor_si256(c2[2145],_mm256_xor_si256(c2[2285],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[3264],_mm256_xor_si256(c2[1308],_mm256_xor_si256(c2[1877],_mm256_xor_si256(c2[2017],_mm256_xor_si256(c2[3699],_mm256_xor_si256(c2[4401],_mm256_xor_si256(c2[3152],_mm256_xor_si256(c2[3292],_mm256_xor_si256(c2[3291],_mm256_xor_si256(c2[3584],_mm256_xor_si256(c2[3724],_mm256_xor_si256(c2[1905],_mm256_xor_si256(c2[2045],_mm256_xor_si256(c2[3305],_mm256_xor_si256(c2[382],_mm256_xor_si256(c2[522],_mm256_xor_si256(c2[1359],_mm256_xor_si256(c2[3043],_mm256_xor_si256(c2[3337],_mm256_xor_si256(c2[3477],_mm256_xor_si256(c2[3192],_mm256_xor_si256(c2[3334],_mm256_xor_si256(c2[411],_mm256_xor_si256(c2[551],_mm256_xor_si256(c2[3631],_mm256_xor_si256(c2[3771],c2[128]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[280]=_mm256_xor_si256(c2[1543],_mm256_xor_si256(c2[1823],_mm256_xor_si256(c2[3362],_mm256_xor_si256(c2[3642],_mm256_xor_si256(c2[3785],_mm256_xor_si256(c2[4065],_mm256_xor_si256(c2[2398],_mm256_xor_si256(c2[2678],_mm256_xor_si256(c2[859],_mm256_xor_si256(c2[1139],_mm256_xor_si256(c2[3940],_mm256_xor_si256(c2[4080],_mm256_xor_si256(c2[4220],_mm256_xor_si256(c2[3669],_mm256_xor_si256(c2[3949],_mm256_xor_si256(c2[1289],_mm256_xor_si256(c2[1429],_mm256_xor_si256(c2[1569],_mm256_xor_si256(c2[311],_mm256_xor_si256(c2[3408],_mm256_xor_si256(c2[3688],_mm256_xor_si256(c2[4387],_mm256_xor_si256(c2[188],_mm256_xor_si256(c2[2424],_mm256_xor_si256(c2[2704],_mm256_xor_si256(c2[3140],_mm256_xor_si256(c2[3420],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[616],_mm256_xor_si256(c2[1038],_mm256_xor_si256(c2[1178],_mm256_xor_si256(c2[1318],_mm256_xor_si256(c2[4415],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[4414],_mm256_xor_si256(c2[75],_mm256_xor_si256(c2[215],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[648],_mm256_xor_si256(c2[3168],_mm256_xor_si256(c2[3448],_mm256_xor_si256(c2[4428],_mm256_xor_si256(c2[89],_mm256_xor_si256(c2[229],_mm256_xor_si256(c2[1638],_mm256_xor_si256(c2[1918],_mm256_xor_si256(c2[2482],_mm256_xor_si256(c2[2622],_mm256_xor_si256(c2[2762],_mm256_xor_si256(c2[114],_mm256_xor_si256(c2[394],_mm256_xor_si256(c2[4315],_mm256_xor_si256(c2[116],_mm256_xor_si256(c2[4457],_mm256_xor_si256(c2[118],_mm256_xor_si256(c2[258],_mm256_xor_si256(c2[1667],_mm256_xor_si256(c2[1947],_mm256_xor_si256(c2[408],_mm256_xor_si256(c2[688],_mm256_xor_si256(c2[1251],_mm256_xor_si256(c2[1391],c2[1531]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[287]=_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[3644],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[1400],_mm256_xor_si256(c2[4359],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[2960],_mm256_xor_si256(c2[1555],_mm256_xor_si256(c2[3377],_mm256_xor_si256(c2[1151],_mm256_xor_si256(c2[1291],_mm256_xor_si256(c2[3390],_mm256_xor_si256(c2[883],_mm256_xor_si256(c2[1023],_mm256_xor_si256(c2[2002],_mm256_xor_si256(c2[46],_mm256_xor_si256(c2[762],_mm256_xor_si256(c2[2437],_mm256_xor_si256(c2[3139],_mm256_xor_si256(c2[2030],_mm256_xor_si256(c2[2036],_mm256_xor_si256(c2[773],_mm256_xor_si256(c2[2329],_mm256_xor_si256(c2[2469],_mm256_xor_si256(c2[790],_mm256_xor_si256(c2[2050],_mm256_xor_si256(c2[3739],_mm256_xor_si256(c2[104],_mm256_xor_si256(c2[2215],_mm256_xor_si256(c2[1937],_mm256_xor_si256(c2[2072],_mm256_xor_si256(c2[3628],_mm256_xor_si256(c2[3768],_mm256_xor_si256(c2[2509],c2[3352]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=240, byte encoding
static inline void ldpc_BG2_Zc240_byte(uint8_t *c,uint8_t *d) {
__m128i *csimd=(__m128i *)c,*dsimd=(__m128i *)d;
__m128i *c2,*d2;
int i2;
for (i2=0; i2<15; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm_xor_si128(c2[309],_mm_xor_si128(c2[4208],_mm_xor_si128(c2[3004],_mm_xor_si128(c2[938],_mm_xor_si128(c2[4531],_mm_xor_si128(c2[4544],_mm_xor_si128(c2[2164],_mm_xor_si128(c2[3370],_mm_xor_si128(c2[1591],_mm_xor_si128(c2[4300],_mm_xor_si128(c2[990],_mm_xor_si128(c2[2231],_mm_xor_si128(c2[1623],_mm_xor_si128(c2[4625],_mm_xor_si128(c2[3451],_mm_xor_si128(c2[4356],_mm_xor_si128(c2[2281],_mm_xor_si128(c2[186],_mm_xor_si128(c2[4689],_mm_xor_si128(c2[2311],_mm_xor_si128(c2[2322],_mm_xor_si128(c2[2940],_mm_xor_si128(c2[3549],_mm_xor_si128(c2[3542],_mm_xor_si128(c2[277],_mm_xor_si128(c2[2380],c2[3574]))))))))))))))))))))))))));
//row: 1
d2[15]=_mm_xor_si128(c2[309],_mm_xor_si128(c2[609],_mm_xor_si128(c2[4508],_mm_xor_si128(c2[3304],_mm_xor_si128(c2[938],_mm_xor_si128(c2[1238],_mm_xor_si128(c2[32],_mm_xor_si128(c2[30],_mm_xor_si128(c2[2164],_mm_xor_si128(c2[2464],_mm_xor_si128(c2[3670],_mm_xor_si128(c2[1591],_mm_xor_si128(c2[1891],_mm_xor_si128(c2[4600],_mm_xor_si128(c2[1290],_mm_xor_si128(c2[2531],_mm_xor_si128(c2[1923],_mm_xor_si128(c2[126],_mm_xor_si128(c2[3751],_mm_xor_si128(c2[4656],_mm_xor_si128(c2[2281],_mm_xor_si128(c2[2581],_mm_xor_si128(c2[486],_mm_xor_si128(c2[190],_mm_xor_si128(c2[2611],_mm_xor_si128(c2[2622],_mm_xor_si128(c2[3240],_mm_xor_si128(c2[3849],_mm_xor_si128(c2[3842],_mm_xor_si128(c2[277],_mm_xor_si128(c2[577],_mm_xor_si128(c2[2680],c2[3874]))))))))))))))))))))))))))))))));
//row: 2
d2[30]=_mm_xor_si128(c2[309],_mm_xor_si128(c2[609],_mm_xor_si128(c2[4208],_mm_xor_si128(c2[4508],_mm_xor_si128(c2[3304],_mm_xor_si128(c2[938],_mm_xor_si128(c2[1238],_mm_xor_si128(c2[32],_mm_xor_si128(c2[30],_mm_xor_si128(c2[2164],_mm_xor_si128(c2[2464],_mm_xor_si128(c2[3670],_mm_xor_si128(c2[1591],_mm_xor_si128(c2[1891],_mm_xor_si128(c2[4300],_mm_xor_si128(c2[4600],_mm_xor_si128(c2[1290],_mm_xor_si128(c2[2231],_mm_xor_si128(c2[2531],_mm_xor_si128(c2[1923],_mm_xor_si128(c2[126],_mm_xor_si128(c2[3451],_mm_xor_si128(c2[3751],_mm_xor_si128(c2[4656],_mm_xor_si128(c2[2281],_mm_xor_si128(c2[2581],_mm_xor_si128(c2[186],_mm_xor_si128(c2[486],_mm_xor_si128(c2[190],_mm_xor_si128(c2[2311],_mm_xor_si128(c2[2611],_mm_xor_si128(c2[2622],_mm_xor_si128(c2[2940],_mm_xor_si128(c2[3240],_mm_xor_si128(c2[3849],_mm_xor_si128(c2[3842],_mm_xor_si128(c2[277],_mm_xor_si128(c2[577],_mm_xor_si128(c2[2380],_mm_xor_si128(c2[2680],c2[3874]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[45]=_mm_xor_si128(c2[609],_mm_xor_si128(c2[4508],_mm_xor_si128(c2[3304],_mm_xor_si128(c2[1238],_mm_xor_si128(c2[32],_mm_xor_si128(c2[4544],_mm_xor_si128(c2[30],_mm_xor_si128(c2[2464],_mm_xor_si128(c2[3370],_mm_xor_si128(c2[3670],_mm_xor_si128(c2[1891],_mm_xor_si128(c2[4600],_mm_xor_si128(c2[1290],_mm_xor_si128(c2[2531],_mm_xor_si128(c2[1923],_mm_xor_si128(c2[4625],_mm_xor_si128(c2[126],_mm_xor_si128(c2[3751],_mm_xor_si128(c2[4356],_mm_xor_si128(c2[4656],_mm_xor_si128(c2[2581],_mm_xor_si128(c2[486],_mm_xor_si128(c2[4689],_mm_xor_si128(c2[190],_mm_xor_si128(c2[2611],_mm_xor_si128(c2[2322],_mm_xor_si128(c2[2622],_mm_xor_si128(c2[3240],_mm_xor_si128(c2[3849],_mm_xor_si128(c2[3542],_mm_xor_si128(c2[3842],_mm_xor_si128(c2[577],_mm_xor_si128(c2[2680],_mm_xor_si128(c2[3574],c2[3874]))))))))))))))))))))))))))))))))));
//row: 4
d2[60]=_mm_xor_si128(c2[1505],_mm_xor_si128(c2[1805],_mm_xor_si128(c2[905],_mm_xor_si128(c2[4500],_mm_xor_si128(c2[3901],_mm_xor_si128(c2[2134],_mm_xor_si128(c2[2434],_mm_xor_si128(c2[1243],_mm_xor_si128(c2[1241],_mm_xor_si128(c2[3638],_mm_xor_si128(c2[3360],_mm_xor_si128(c2[3660],_mm_xor_si128(c2[67],_mm_xor_si128(c2[2802],_mm_xor_si128(c2[3102],_mm_xor_si128(c2[997],_mm_xor_si128(c2[2501],_mm_xor_si128(c2[3727],_mm_xor_si128(c2[3134],_mm_xor_si128(c2[1322],_mm_xor_si128(c2[163],_mm_xor_si128(c2[1053],_mm_xor_si128(c2[3492],_mm_xor_si128(c2[3792],_mm_xor_si128(c2[1682],_mm_xor_si128(c2[1386],_mm_xor_si128(c2[3822],_mm_xor_si128(c2[3818],_mm_xor_si128(c2[4451],_mm_xor_si128(c2[246],_mm_xor_si128(c2[254],_mm_xor_si128(c2[1473],_mm_xor_si128(c2[1773],_mm_xor_si128(c2[3876],c2[271]))))))))))))))))))))))))))))))))));
//row: 5
d2[75]=_mm_xor_si128(c2[7],_mm_xor_si128(c2[307],_mm_xor_si128(c2[4206],_mm_xor_si128(c2[3002],_mm_xor_si128(c2[2707],_mm_xor_si128(c2[636],_mm_xor_si128(c2[936],_mm_xor_si128(c2[4544],_mm_xor_si128(c2[4542],_mm_xor_si128(c2[2732],_mm_xor_si128(c2[1862],_mm_xor_si128(c2[2162],_mm_xor_si128(c2[3368],_mm_xor_si128(c2[1304],_mm_xor_si128(c2[1604],_mm_xor_si128(c2[4298],_mm_xor_si128(c2[1003],_mm_xor_si128(c2[2229],_mm_xor_si128(c2[1621],_mm_xor_si128(c2[4623],_mm_xor_si128(c2[3464],_mm_xor_si128(c2[4354],_mm_xor_si128(c2[2860],_mm_xor_si128(c2[1994],_mm_xor_si128(c2[2294],_mm_xor_si128(c2[184],_mm_xor_si128(c2[4687],_mm_xor_si128(c2[2324],_mm_xor_si128(c2[2320],_mm_xor_si128(c2[2615],_mm_xor_si128(c2[2953],_mm_xor_si128(c2[3547],_mm_xor_si128(c2[3540],_mm_xor_si128(c2[4774],_mm_xor_si128(c2[275],_mm_xor_si128(c2[2378],c2[3572]))))))))))))))))))))))))))))))))))));
//row: 6
d2[90]=_mm_xor_si128(c2[2712],_mm_xor_si128(c2[3012],_mm_xor_si128(c2[2112],_mm_xor_si128(c2[908],_mm_xor_si128(c2[2708],_mm_xor_si128(c2[3341],_mm_xor_si128(c2[3641],_mm_xor_si128(c2[2435],_mm_xor_si128(c2[2433],_mm_xor_si128(c2[4567],_mm_xor_si128(c2[68],_mm_xor_si128(c2[1274],_mm_xor_si128(c2[3994],_mm_xor_si128(c2[4294],_mm_xor_si128(c2[2204],_mm_xor_si128(c2[3693],_mm_xor_si128(c2[120],_mm_xor_si128(c2[4326],_mm_xor_si128(c2[2529],_mm_xor_si128(c2[1355],_mm_xor_si128(c2[2260],_mm_xor_si128(c2[2554],_mm_xor_si128(c2[4684],_mm_xor_si128(c2[185],_mm_xor_si128(c2[2889],_mm_xor_si128(c2[2593],_mm_xor_si128(c2[215],_mm_xor_si128(c2[211],_mm_xor_si128(c2[3820],_mm_xor_si128(c2[844],_mm_xor_si128(c2[1453],_mm_xor_si128(c2[1446],_mm_xor_si128(c2[2680],_mm_xor_si128(c2[2980],_mm_xor_si128(c2[284],_mm_xor_si128(c2[1478],c2[3877]))))))))))))))))))))))))))))))))))));
//row: 7
d2[105]=_mm_xor_si128(c2[3904],_mm_xor_si128(c2[4204],_mm_xor_si128(c2[3603],_mm_xor_si128(c2[3304],_mm_xor_si128(c2[2703],_mm_xor_si128(c2[2100],_mm_xor_si128(c2[1514],_mm_xor_si128(c2[4533],_mm_xor_si128(c2[34],_mm_xor_si128(c2[4232],_mm_xor_si128(c2[3642],_mm_xor_si128(c2[3041],_mm_xor_si128(c2[3640],_mm_xor_si128(c2[2739],_mm_xor_si128(c2[3039],_mm_xor_si128(c2[1835],_mm_xor_si128(c2[960],_mm_xor_si128(c2[1260],_mm_xor_si128(c2[674],_mm_xor_si128(c2[2466],_mm_xor_si128(c2[1565],_mm_xor_si128(c2[1865],_mm_xor_si128(c2[402],_mm_xor_si128(c2[702],_mm_xor_si128(c2[101],_mm_xor_si128(c2[3396],_mm_xor_si128(c2[2795],_mm_xor_si128(c2[101],_mm_xor_si128(c2[4299],_mm_xor_si128(c2[1327],_mm_xor_si128(c2[726],_mm_xor_si128(c2[734],_mm_xor_si128(c2[133],_mm_xor_si128(c2[3721],_mm_xor_si128(c2[2820],_mm_xor_si128(c2[3120],_mm_xor_si128(c2[2562],_mm_xor_si128(c2[1961],_mm_xor_si128(c2[3452],_mm_xor_si128(c2[2551],_mm_xor_si128(c2[2851],_mm_xor_si128(c2[3161],_mm_xor_si128(c2[1092],_mm_xor_si128(c2[1392],_mm_xor_si128(c2[791],_mm_xor_si128(c2[4081],_mm_xor_si128(c2[3480],_mm_xor_si128(c2[3785],_mm_xor_si128(c2[2884],_mm_xor_si128(c2[3184],_mm_xor_si128(c2[1422],_mm_xor_si128(c2[821],_mm_xor_si128(c2[1418],_mm_xor_si128(c2[517],_mm_xor_si128(c2[817],_mm_xor_si128(c2[2315],_mm_xor_si128(c2[2051],_mm_xor_si128(c2[1450],_mm_xor_si128(c2[2645],_mm_xor_si128(c2[2044],_mm_xor_si128(c2[2653],_mm_xor_si128(c2[1752],_mm_xor_si128(c2[2052],_mm_xor_si128(c2[3872],_mm_xor_si128(c2[4172],_mm_xor_si128(c2[3571],_mm_xor_si128(c2[1476],_mm_xor_si128(c2[875],_mm_xor_si128(c2[2670],_mm_xor_si128(c2[1784],c2[2084]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[120]=_mm_xor_si128(c2[608],_mm_xor_si128(c2[908],_mm_xor_si128(c2[4507],_mm_xor_si128(c2[8],_mm_xor_si128(c2[3603],_mm_xor_si128(c2[11],_mm_xor_si128(c2[1237],_mm_xor_si128(c2[1537],_mm_xor_si128(c2[331],_mm_xor_si128(c2[344],_mm_xor_si128(c2[2740],_mm_xor_si128(c2[2463],_mm_xor_si128(c2[2763],_mm_xor_si128(c2[3969],_mm_xor_si128(c2[1890],_mm_xor_si128(c2[2190],_mm_xor_si128(c2[4599],_mm_xor_si128(c2[100],_mm_xor_si128(c2[1604],_mm_xor_si128(c2[2530],_mm_xor_si128(c2[2830],_mm_xor_si128(c2[2222],_mm_xor_si128(c2[425],_mm_xor_si128(c2[3750],_mm_xor_si128(c2[4050],_mm_xor_si128(c2[156],_mm_xor_si128(c2[2580],_mm_xor_si128(c2[2880],_mm_xor_si128(c2[485],_mm_xor_si128(c2[785],_mm_xor_si128(c2[489],_mm_xor_si128(c2[2610],_mm_xor_si128(c2[2910],_mm_xor_si128(c2[2921],_mm_xor_si128(c2[3254],_mm_xor_si128(c2[3554],_mm_xor_si128(c2[4148],_mm_xor_si128(c2[4141],_mm_xor_si128(c2[576],_mm_xor_si128(c2[876],_mm_xor_si128(c2[2679],_mm_xor_si128(c2[2979],c2[4173]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[135]=_mm_xor_si128(c2[312],_mm_xor_si128(c2[1513],_mm_xor_si128(c2[1813],_mm_xor_si128(c2[4211],_mm_xor_si128(c2[913],_mm_xor_si128(c2[3007],_mm_xor_si128(c2[4508],_mm_xor_si128(c2[941],_mm_xor_si128(c2[2142],_mm_xor_si128(c2[2442],_mm_xor_si128(c2[4534],_mm_xor_si128(c2[1236],_mm_xor_si128(c2[4532],_mm_xor_si128(c2[1234],_mm_xor_si128(c2[2140],_mm_xor_si128(c2[2167],_mm_xor_si128(c2[3368],_mm_xor_si128(c2[3668],_mm_xor_si128(c2[3373],_mm_xor_si128(c2[60],_mm_xor_si128(c2[1594],_mm_xor_si128(c2[2795],_mm_xor_si128(c2[3095],_mm_xor_si128(c2[4303],_mm_xor_si128(c2[990],_mm_xor_si128(c2[993],_mm_xor_si128(c2[2494],_mm_xor_si128(c2[2234],_mm_xor_si128(c2[3720],_mm_xor_si128(c2[1626],_mm_xor_si128(c2[3127],_mm_xor_si128(c2[4628],_mm_xor_si128(c2[1330],_mm_xor_si128(c2[3454],_mm_xor_si128(c2[156],_mm_xor_si128(c2[4359],_mm_xor_si128(c2[1061],_mm_xor_si128(c2[2284],_mm_xor_si128(c2[3485],_mm_xor_si128(c2[3785],_mm_xor_si128(c2[189],_mm_xor_si128(c2[1690],_mm_xor_si128(c2[4692],_mm_xor_si128(c2[1394],_mm_xor_si128(c2[2314],_mm_xor_si128(c2[3815],_mm_xor_si128(c2[2310],_mm_xor_si128(c2[3811],_mm_xor_si128(c2[2943],_mm_xor_si128(c2[4444],_mm_xor_si128(c2[3552],_mm_xor_si128(c2[254],_mm_xor_si128(c2[3545],_mm_xor_si128(c2[247],_mm_xor_si128(c2[4454],_mm_xor_si128(c2[280],_mm_xor_si128(c2[1481],_mm_xor_si128(c2[1781],_mm_xor_si128(c2[2383],_mm_xor_si128(c2[3884],_mm_xor_si128(c2[3577],c2[279])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[150]=_mm_xor_si128(c2[1802],_mm_xor_si128(c2[2743],_mm_xor_si128(c2[193],c2[2624])));
//row: 11
d2[165]=_mm_xor_si128(c2[1512],_mm_xor_si128(c2[612],_mm_xor_si128(c2[4207],_mm_xor_si128(c2[611],_mm_xor_si128(c2[2141],_mm_xor_si128(c2[935],_mm_xor_si128(c2[633],_mm_xor_si128(c2[933],_mm_xor_si128(c2[3367],_mm_xor_si128(c2[4273],_mm_xor_si128(c2[4573],_mm_xor_si128(c2[2794],_mm_xor_si128(c2[704],_mm_xor_si128(c2[2193],_mm_xor_si128(c2[3434],_mm_xor_si128(c2[2826],_mm_xor_si128(c2[729],_mm_xor_si128(c2[1029],_mm_xor_si128(c2[4654],_mm_xor_si128(c2[460],_mm_xor_si128(c2[760],_mm_xor_si128(c2[3484],_mm_xor_si128(c2[1389],_mm_xor_si128(c2[793],_mm_xor_si128(c2[1093],_mm_xor_si128(c2[3514],_mm_xor_si128(c2[3210],_mm_xor_si128(c2[3510],_mm_xor_si128(c2[2023],_mm_xor_si128(c2[4143],_mm_xor_si128(c2[4752],_mm_xor_si128(c2[4445],_mm_xor_si128(c2[4745],_mm_xor_si128(c2[1480],_mm_xor_si128(c2[3583],_mm_xor_si128(c2[4477],_mm_xor_si128(c2[4777],c2[2680])))))))))))))))))))))))))))))))))))));
//row: 12
d2[180]=_mm_xor_si128(c2[2713],_mm_xor_si128(c2[3013],_mm_xor_si128(c2[2113],_mm_xor_si128(c2[909],_mm_xor_si128(c2[3342],_mm_xor_si128(c2[3642],_mm_xor_si128(c2[2436],_mm_xor_si128(c2[2434],_mm_xor_si128(c2[3637],_mm_xor_si128(c2[4568],_mm_xor_si128(c2[69],_mm_xor_si128(c2[1260],_mm_xor_si128(c2[3995],_mm_xor_si128(c2[4295],_mm_xor_si128(c2[2190],_mm_xor_si128(c2[3694],_mm_xor_si128(c2[3097],_mm_xor_si128(c2[121],_mm_xor_si128(c2[4327],_mm_xor_si128(c2[2530],_mm_xor_si128(c2[1356],_mm_xor_si128(c2[2261],_mm_xor_si128(c2[4685],_mm_xor_si128(c2[186],_mm_xor_si128(c2[2890],_mm_xor_si128(c2[2594],_mm_xor_si128(c2[216],_mm_xor_si128(c2[212],_mm_xor_si128(c2[845],_mm_xor_si128(c2[1454],_mm_xor_si128(c2[1447],_mm_xor_si128(c2[2681],_mm_xor_si128(c2[2981],_mm_xor_si128(c2[270],c2[1479]))))))))))))))))))))))))))))))))));
//row: 13
d2[195]=_mm_xor_si128(c2[3907],_mm_xor_si128(c2[3007],_mm_xor_si128(c2[1803],_mm_xor_si128(c2[3],_mm_xor_si128(c2[4536],_mm_xor_si128(c2[3330],_mm_xor_si128(c2[3043],_mm_xor_si128(c2[3343],_mm_xor_si128(c2[2733],_mm_xor_si128(c2[963],_mm_xor_si128(c2[1869],_mm_xor_si128(c2[2169],_mm_xor_si128(c2[390],_mm_xor_si128(c2[3099],_mm_xor_si128(c2[4603],_mm_xor_si128(c2[1030],_mm_xor_si128(c2[422],_mm_xor_si128(c2[3124],_mm_xor_si128(c2[3424],_mm_xor_si128(c2[2250],_mm_xor_si128(c2[2855],_mm_xor_si128(c2[3155],_mm_xor_si128(c2[1080],_mm_xor_si128(c2[3784],_mm_xor_si128(c2[3188],_mm_xor_si128(c2[3488],_mm_xor_si128(c2[1110],_mm_xor_si128(c2[821],_mm_xor_si128(c2[1121],_mm_xor_si128(c2[1754],_mm_xor_si128(c2[2348],_mm_xor_si128(c2[2041],_mm_xor_si128(c2[2341],_mm_xor_si128(c2[2350],_mm_xor_si128(c2[3875],_mm_xor_si128(c2[1179],_mm_xor_si128(c2[2073],c2[2373])))))))))))))))))))))))))))))))))))));
//row: 14
d2[210]=_mm_xor_si128(c2[3906],_mm_xor_si128(c2[4206],_mm_xor_si128(c2[1204],_mm_xor_si128(c2[3306],_mm_xor_si128(c2[304],_mm_xor_si128(c2[2102],_mm_xor_si128(c2[3914],_mm_xor_si128(c2[4535],_mm_xor_si128(c2[36],_mm_xor_si128(c2[1833],_mm_xor_si128(c2[3644],_mm_xor_si128(c2[642],_mm_xor_si128(c2[3642],_mm_xor_si128(c2[340],_mm_xor_si128(c2[640],_mm_xor_si128(c2[635],_mm_xor_si128(c2[962],_mm_xor_si128(c2[1262],_mm_xor_si128(c2[3074],_mm_xor_si128(c2[2468],_mm_xor_si128(c2[3965],_mm_xor_si128(c2[4265],_mm_xor_si128(c2[404],_mm_xor_si128(c2[704],_mm_xor_si128(c2[2501],_mm_xor_si128(c2[3398],_mm_xor_si128(c2[396],_mm_xor_si128(c2[103],_mm_xor_si128(c2[1900],_mm_xor_si128(c2[1329],_mm_xor_si128(c2[3126],_mm_xor_si128(c2[721],_mm_xor_si128(c2[2533],_mm_xor_si128(c2[3723],_mm_xor_si128(c2[421],_mm_xor_si128(c2[721],_mm_xor_si128(c2[2564],_mm_xor_si128(c2[4361],_mm_xor_si128(c2[3454],_mm_xor_si128(c2[152],_mm_xor_si128(c2[452],_mm_xor_si128(c2[1094],_mm_xor_si128(c2[1394],_mm_xor_si128(c2[3191],_mm_xor_si128(c2[4083],_mm_xor_si128(c2[1081],_mm_xor_si128(c2[3787],_mm_xor_si128(c2[485],_mm_xor_si128(c2[785],_mm_xor_si128(c2[2594],_mm_xor_si128(c2[1424],_mm_xor_si128(c2[3221],_mm_xor_si128(c2[1420],_mm_xor_si128(c2[2917],_mm_xor_si128(c2[3217],_mm_xor_si128(c2[2053],_mm_xor_si128(c2[3850],_mm_xor_si128(c2[2647],_mm_xor_si128(c2[4444],_mm_xor_si128(c2[2640],_mm_xor_si128(c2[4152],_mm_xor_si128(c2[4452],_mm_xor_si128(c2[3874],_mm_xor_si128(c2[4174],_mm_xor_si128(c2[1172],_mm_xor_si128(c2[1478],_mm_xor_si128(c2[3275],_mm_xor_si128(c2[2672],_mm_xor_si128(c2[4184],c2[4484])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[225]=_mm_xor_si128(c2[3007],_mm_xor_si128(c2[4203],_mm_xor_si128(c2[4503],_mm_xor_si128(c2[2107],_mm_xor_si128(c2[3603],_mm_xor_si128(c2[903],_mm_xor_si128(c2[2414],_mm_xor_si128(c2[1802],_mm_xor_si128(c2[3636],_mm_xor_si128(c2[33],_mm_xor_si128(c2[333],_mm_xor_si128(c2[2430],_mm_xor_si128(c2[3941],_mm_xor_si128(c2[2443],_mm_xor_si128(c2[3939],_mm_xor_si128(c2[63],_mm_xor_si128(c2[1274],_mm_xor_si128(c2[1574],_mm_xor_si128(c2[1269],_mm_xor_si128(c2[2765],_mm_xor_si128(c2[4304],_mm_xor_si128(c2[701],_mm_xor_si128(c2[1001],_mm_xor_si128(c2[2199],_mm_xor_si128(c2[3695],_mm_xor_si128(c2[3703],_mm_xor_si128(c2[400],_mm_xor_si128(c2[130],_mm_xor_si128(c2[1626],_mm_xor_si128(c2[4321],_mm_xor_si128(c2[1033],_mm_xor_si128(c2[2524],_mm_xor_si128(c2[4020],_mm_xor_si128(c2[1350],_mm_xor_si128(c2[2861],_mm_xor_si128(c2[2255],_mm_xor_si128(c2[3751],_mm_xor_si128(c2[180],_mm_xor_si128(c2[1391],_mm_xor_si128(c2[1691],_mm_xor_si128(c2[2884],_mm_xor_si128(c2[4380],_mm_xor_si128(c2[2588],_mm_xor_si128(c2[4084],_mm_xor_si128(c2[210],_mm_xor_si128(c2[1721],_mm_xor_si128(c2[221],_mm_xor_si128(c2[1717],_mm_xor_si128(c2[854],_mm_xor_si128(c2[2350],_mm_xor_si128(c2[1448],_mm_xor_si128(c2[2944],_mm_xor_si128(c2[1441],_mm_xor_si128(c2[2952],_mm_xor_si128(c2[2975],_mm_xor_si128(c2[4171],_mm_xor_si128(c2[4471],_mm_xor_si128(c2[279],_mm_xor_si128(c2[1775],_mm_xor_si128(c2[1473],c2[2984]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[240]=_mm_xor_si128(c2[5],_mm_xor_si128(c2[305],_mm_xor_si128(c2[3306],_mm_xor_si128(c2[3606],_mm_xor_si128(c2[4204],_mm_xor_si128(c2[2406],_mm_xor_si128(c2[2706],_mm_xor_si128(c2[3000],_mm_xor_si128(c2[1502],_mm_xor_si128(c2[634],_mm_xor_si128(c2[934],_mm_xor_si128(c2[3935],_mm_xor_si128(c2[4235],_mm_xor_si128(c2[4542],_mm_xor_si128(c2[3044],_mm_xor_si128(c2[4540],_mm_xor_si128(c2[3042],_mm_xor_si128(c2[3040],_mm_xor_si128(c2[1860],_mm_xor_si128(c2[2160],_mm_xor_si128(c2[362],_mm_xor_si128(c2[662],_mm_xor_si128(c2[3366],_mm_xor_si128(c2[1868],_mm_xor_si128(c2[1302],_mm_xor_si128(c2[1602],_mm_xor_si128(c2[4603],_mm_xor_si128(c2[104],_mm_xor_si128(c2[4296],_mm_xor_si128(c2[2498],_mm_xor_si128(c2[2798],_mm_xor_si128(c2[1001],_mm_xor_si128(c2[4302],_mm_xor_si128(c2[2227],_mm_xor_si128(c2[429],_mm_xor_si128(c2[729],_mm_xor_si128(c2[1634],_mm_xor_si128(c2[121],_mm_xor_si128(c2[4621],_mm_xor_si128(c2[3123],_mm_xor_si128(c2[3462],_mm_xor_si128(c2[1664],_mm_xor_si128(c2[1964],_mm_xor_si128(c2[4352],_mm_xor_si128(c2[2854],_mm_xor_si128(c2[1992],_mm_xor_si128(c2[2292],_mm_xor_si128(c2[494],_mm_xor_si128(c2[794],_mm_xor_si128(c2[182],_mm_xor_si128(c2[3183],_mm_xor_si128(c2[3483],_mm_xor_si128(c2[4685],_mm_xor_si128(c2[3187],_mm_xor_si128(c2[2322],_mm_xor_si128(c2[524],_mm_xor_si128(c2[824],_mm_xor_si128(c2[2318],_mm_xor_si128(c2[820],_mm_xor_si128(c2[2951],_mm_xor_si128(c2[1153],_mm_xor_si128(c2[1453],_mm_xor_si128(c2[3545],_mm_xor_si128(c2[2047],_mm_xor_si128(c2[3553],_mm_xor_si128(c2[2040],_mm_xor_si128(c2[4772],_mm_xor_si128(c2[273],_mm_xor_si128(c2[3274],_mm_xor_si128(c2[3574],_mm_xor_si128(c2[2376],_mm_xor_si128(c2[578],_mm_xor_si128(c2[878],_mm_xor_si128(c2[3570],_mm_xor_si128(c2[2072],c2[2371])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[255]=_mm_xor_si128(c2[1206],_mm_xor_si128(c2[1506],_mm_xor_si128(c2[3307],_mm_xor_si128(c2[3607],_mm_xor_si128(c2[606],_mm_xor_si128(c2[2407],_mm_xor_si128(c2[2707],_mm_xor_si128(c2[4201],_mm_xor_si128(c2[1503],_mm_xor_si128(c2[1835],_mm_xor_si128(c2[2135],_mm_xor_si128(c2[3936],_mm_xor_si128(c2[4236],_mm_xor_si128(c2[944],_mm_xor_si128(c2[3030],_mm_xor_si128(c2[942],_mm_xor_si128(c2[3043],_mm_xor_si128(c2[1242],_mm_xor_si128(c2[3061],_mm_xor_si128(c2[3361],_mm_xor_si128(c2[363],_mm_xor_si128(c2[663],_mm_xor_si128(c2[4567],_mm_xor_si128(c2[1869],_mm_xor_si128(c2[2503],_mm_xor_si128(c2[2803],_mm_xor_si128(c2[4604],_mm_xor_si128(c2[90],_mm_xor_si128(c2[698],_mm_xor_si128(c2[2499],_mm_xor_si128(c2[2799],_mm_xor_si128(c2[2202],_mm_xor_si128(c2[4303],_mm_xor_si128(c2[3428],_mm_xor_si128(c2[430],_mm_xor_si128(c2[730],_mm_xor_si128(c2[2820],_mm_xor_si128(c2[122],_mm_xor_si128(c2[1023],_mm_xor_si128(c2[3124],_mm_xor_si128(c2[4663],_mm_xor_si128(c2[1650],_mm_xor_si128(c2[1950],_mm_xor_si128(c2[754],_mm_xor_si128(c2[2855],_mm_xor_si128(c2[4060],_mm_xor_si128(c2[3193],_mm_xor_si128(c2[3493],_mm_xor_si128(c2[480],_mm_xor_si128(c2[780],_mm_xor_si128(c2[1383],_mm_xor_si128(c2[3184],_mm_xor_si128(c2[3484],_mm_xor_si128(c2[1087],_mm_xor_si128(c2[3188],_mm_xor_si128(c2[3523],_mm_xor_si128(c2[510],_mm_xor_si128(c2[810],_mm_xor_si128(c2[3519],_mm_xor_si128(c2[821],_mm_xor_si128(c2[4152],_mm_xor_si128(c2[1154],_mm_xor_si128(c2[1454],_mm_xor_si128(c2[4746],_mm_xor_si128(c2[2048],_mm_xor_si128(c2[4754],_mm_xor_si128(c2[2041],_mm_xor_si128(c2[1174],_mm_xor_si128(c2[1474],_mm_xor_si128(c2[3275],_mm_xor_si128(c2[3575],_mm_xor_si128(c2[3577],_mm_xor_si128(c2[579],_mm_xor_si128(c2[879],_mm_xor_si128(c2[4771],c2[2073])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[270]=_mm_xor_si128(c2[8],_mm_xor_si128(c2[1093],c2[823]));
//row: 19
d2[285]=_mm_xor_si128(c2[2714],_mm_xor_si128(c2[1814],_mm_xor_si128(c2[610],_mm_xor_si128(c2[2102],_mm_xor_si128(c2[3343],_mm_xor_si128(c2[2137],_mm_xor_si128(c2[2135],_mm_xor_si128(c2[1235],_mm_xor_si128(c2[4569],_mm_xor_si128(c2[961],_mm_xor_si128(c2[3996],_mm_xor_si128(c2[1891],_mm_xor_si128(c2[3395],_mm_xor_si128(c2[4621],_mm_xor_si128(c2[4028],_mm_xor_si128(c2[2231],_mm_xor_si128(c2[1057],_mm_xor_si128(c2[1962],_mm_xor_si128(c2[4686],_mm_xor_si128(c2[2591],_mm_xor_si128(c2[2280],_mm_xor_si128(c2[4716],_mm_xor_si128(c2[4712],_mm_xor_si128(c2[546],_mm_xor_si128(c2[1140],_mm_xor_si128(c2[1148],_mm_xor_si128(c2[2682],_mm_xor_si128(c2[4770],c2[1180]))))))))))))))))))))))))))));
//row: 20
d2[300]=_mm_xor_si128(c2[2109],_mm_xor_si128(c2[2409],_mm_xor_si128(c2[1509],_mm_xor_si128(c2[305],_mm_xor_si128(c2[2738],_mm_xor_si128(c2[3038],_mm_xor_si128(c2[1832],_mm_xor_si128(c2[1830],_mm_xor_si128(c2[1537],_mm_xor_si128(c2[3964],_mm_xor_si128(c2[4264],_mm_xor_si128(c2[671],_mm_xor_si128(c2[3391],_mm_xor_si128(c2[3691],_mm_xor_si128(c2[1601],_mm_xor_si128(c2[3090],_mm_xor_si128(c2[4331],_mm_xor_si128(c2[3723],_mm_xor_si128(c2[1926],_mm_xor_si128(c2[1034],_mm_xor_si128(c2[752],_mm_xor_si128(c2[1657],_mm_xor_si128(c2[4081],_mm_xor_si128(c2[4381],_mm_xor_si128(c2[2286],_mm_xor_si128(c2[1990],_mm_xor_si128(c2[4411],_mm_xor_si128(c2[4422],_mm_xor_si128(c2[241],_mm_xor_si128(c2[850],_mm_xor_si128(c2[843],_mm_xor_si128(c2[2077],_mm_xor_si128(c2[2377],_mm_xor_si128(c2[4480],c2[875]))))))))))))))))))))))))))))))))));
//row: 21
d2[315]=_mm_xor_si128(c2[3909],_mm_xor_si128(c2[3009],_mm_xor_si128(c2[1805],_mm_xor_si128(c2[4214],_mm_xor_si128(c2[4538],_mm_xor_si128(c2[3332],_mm_xor_si128(c2[3030],_mm_xor_si128(c2[3330],_mm_xor_si128(c2[965],_mm_xor_si128(c2[1871],_mm_xor_si128(c2[2171],_mm_xor_si128(c2[392],_mm_xor_si128(c2[3101],_mm_xor_si128(c2[4590],_mm_xor_si128(c2[1032],_mm_xor_si128(c2[424],_mm_xor_si128(c2[3126],_mm_xor_si128(c2[3426],_mm_xor_si128(c2[2252],_mm_xor_si128(c2[2857],_mm_xor_si128(c2[3157],_mm_xor_si128(c2[1082],_mm_xor_si128(c2[3786],_mm_xor_si128(c2[3190],_mm_xor_si128(c2[3490],_mm_xor_si128(c2[1112],_mm_xor_si128(c2[823],_mm_xor_si128(c2[1123],_mm_xor_si128(c2[1741],_mm_xor_si128(c2[2350],_mm_xor_si128(c2[2043],_mm_xor_si128(c2[2343],_mm_xor_si128(c2[4140],_mm_xor_si128(c2[3877],_mm_xor_si128(c2[1181],_mm_xor_si128(c2[2075],c2[2375]))))))))))))))))))))))))))))))))))));
//row: 22
d2[330]=_mm_xor_si128(c2[942],c2[3662]);
//row: 23
d2[345]=_mm_xor_si128(c2[1500],_mm_xor_si128(c2[4295],c2[4656]));
//row: 24
d2[360]=_mm_xor_si128(c2[335],_mm_xor_si128(c2[961],c2[878]));
//row: 25
d2[375]=_mm_xor_si128(c2[604],c2[4655]);
//row: 26
d2[390]=_mm_xor_si128(c2[4505],_mm_xor_si128(c2[6],_mm_xor_si128(c2[2414],_mm_xor_si128(c2[3605],_mm_xor_si128(c2[3905],_mm_xor_si128(c2[1514],_mm_xor_si128(c2[2701],_mm_xor_si128(c2[310],_mm_xor_si128(c2[335],_mm_xor_si128(c2[635],_mm_xor_si128(c2[3043],_mm_xor_si128(c2[4243],_mm_xor_si128(c2[1837],_mm_xor_si128(c2[4241],_mm_xor_si128(c2[1535],_mm_xor_si128(c2[1835],_mm_xor_si128(c2[1561],_mm_xor_si128(c2[1861],_mm_xor_si128(c2[4269],_mm_xor_si128(c2[3067],_mm_xor_si128(c2[361],_mm_xor_si128(c2[661],_mm_xor_si128(c2[669],_mm_xor_si128(c2[1003],_mm_xor_si128(c2[1303],_mm_xor_si128(c2[3696],_mm_xor_si128(c2[3697],_mm_xor_si128(c2[3997],_mm_xor_si128(c2[1591],_mm_xor_si128(c2[702],_mm_xor_si128(c2[3095],_mm_xor_si128(c2[1628],_mm_xor_si128(c2[1928],_mm_xor_si128(c2[4321],_mm_xor_si128(c2[1320],_mm_xor_si128(c2[3728],_mm_xor_si128(c2[4322],_mm_xor_si128(c2[1631],_mm_xor_si128(c2[1931],_mm_xor_si128(c2[2863],_mm_xor_si128(c2[3163],_mm_xor_si128(c2[757],_mm_xor_si128(c2[4053],_mm_xor_si128(c2[1362],_mm_xor_si128(c2[1662],_mm_xor_si128(c2[1693],_mm_xor_si128(c2[1993],_mm_xor_si128(c2[4386],_mm_xor_si128(c2[4382],_mm_xor_si128(c2[4682],_mm_xor_si128(c2[2291],_mm_xor_si128(c2[4386],_mm_xor_si128(c2[1680],_mm_xor_si128(c2[1980],_mm_xor_si128(c2[1723],_mm_xor_si128(c2[2023],_mm_xor_si128(c2[4416],_mm_xor_si128(c2[2019],_mm_xor_si128(c2[4112],_mm_xor_si128(c2[4412],_mm_xor_si128(c2[814],_mm_xor_si128(c2[2352],_mm_xor_si128(c2[2652],_mm_xor_si128(c2[246],_mm_xor_si128(c2[3246],_mm_xor_si128(c2[840],_mm_xor_si128(c2[3254],_mm_xor_si128(c2[548],_mm_xor_si128(c2[848],_mm_xor_si128(c2[4473],_mm_xor_si128(c2[4773],_mm_xor_si128(c2[2382],_mm_xor_si128(c2[1777],_mm_xor_si128(c2[2077],_mm_xor_si128(c2[4470],_mm_xor_si128(c2[3271],_mm_xor_si128(c2[580],c2[880])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[405]=_mm_xor_si128(c2[4],c2[1691]);
//row: 28
d2[420]=_mm_xor_si128(c2[2130],_mm_xor_si128(c2[69],c2[151]));
//row: 29
d2[435]=_mm_xor_si128(c2[2701],c2[2823]);
//row: 30
d2[450]=_mm_xor_si128(c2[1562],_mm_xor_si128(c2[3458],_mm_xor_si128(c2[4123],c2[571])));
//row: 31
d2[465]=_mm_xor_si128(c2[12],_mm_xor_si128(c2[3911],_mm_xor_si128(c2[2707],_mm_xor_si128(c2[641],_mm_xor_si128(c2[4234],_mm_xor_si128(c2[3932],_mm_xor_si128(c2[4232],_mm_xor_si128(c2[2742],_mm_xor_si128(c2[1867],_mm_xor_si128(c2[2773],_mm_xor_si128(c2[3073],_mm_xor_si128(c2[1294],_mm_xor_si128(c2[4003],_mm_xor_si128(c2[693],_mm_xor_si128(c2[1934],_mm_xor_si128(c2[1326],_mm_xor_si128(c2[4028],_mm_xor_si128(c2[4328],_mm_xor_si128(c2[3154],_mm_xor_si128(c2[3759],_mm_xor_si128(c2[4059],_mm_xor_si128(c2[1984],_mm_xor_si128(c2[4688],_mm_xor_si128(c2[4092],_mm_xor_si128(c2[4392],_mm_xor_si128(c2[2014],_mm_xor_si128(c2[1710],_mm_xor_si128(c2[2010],_mm_xor_si128(c2[2643],_mm_xor_si128(c2[3252],_mm_xor_si128(c2[2945],_mm_xor_si128(c2[3245],_mm_xor_si128(c2[4779],_mm_xor_si128(c2[2083],_mm_xor_si128(c2[2977],c2[3277])))))))))))))))))))))))))))))))))));
//row: 32
d2[480]=_mm_xor_si128(c2[1501],_mm_xor_si128(c2[1801],_mm_xor_si128(c2[601],_mm_xor_si128(c2[901],_mm_xor_si128(c2[4511],_mm_xor_si128(c2[911],_mm_xor_si128(c2[2130],_mm_xor_si128(c2[2430],_mm_xor_si128(c2[1239],_mm_xor_si128(c2[1237],_mm_xor_si128(c2[3371],_mm_xor_si128(c2[3671],_mm_xor_si128(c2[63],_mm_xor_si128(c2[2798],_mm_xor_si128(c2[3098],_mm_xor_si128(c2[693],_mm_xor_si128(c2[993],_mm_xor_si128(c2[2497],_mm_xor_si128(c2[3423],_mm_xor_si128(c2[3723],_mm_xor_si128(c2[3130],_mm_xor_si128(c2[1333],_mm_xor_si128(c2[4658],_mm_xor_si128(c2[159],_mm_xor_si128(c2[1064],_mm_xor_si128(c2[4350],_mm_xor_si128(c2[3488],_mm_xor_si128(c2[3788],_mm_xor_si128(c2[1393],_mm_xor_si128(c2[1693],_mm_xor_si128(c2[1382],_mm_xor_si128(c2[3518],_mm_xor_si128(c2[3818],_mm_xor_si128(c2[3814],_mm_xor_si128(c2[4147],_mm_xor_si128(c2[4447],_mm_xor_si128(c2[242],_mm_xor_si128(c2[250],_mm_xor_si128(c2[1484],_mm_xor_si128(c2[1784],_mm_xor_si128(c2[3572],_mm_xor_si128(c2[3872],c2[282]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[495]=_mm_xor_si128(c2[3300],_mm_xor_si128(c2[2400],_mm_xor_si128(c2[1211],_mm_xor_si128(c2[3944],_mm_xor_si128(c2[2738],_mm_xor_si128(c2[2736],_mm_xor_si128(c2[371],_mm_xor_si128(c2[1562],_mm_xor_si128(c2[4262],_mm_xor_si128(c2[4597],_mm_xor_si128(c2[2492],_mm_xor_si128(c2[3996],_mm_xor_si128(c2[423],_mm_xor_si128(c2[4629],_mm_xor_si128(c2[2832],_mm_xor_si128(c2[1658],_mm_xor_si128(c2[2563],_mm_xor_si128(c2[488],_mm_xor_si128(c2[3192],_mm_xor_si128(c2[2881],_mm_xor_si128(c2[518],_mm_xor_si128(c2[514],_mm_xor_si128(c2[810],_mm_xor_si128(c2[1147],_mm_xor_si128(c2[1741],_mm_xor_si128(c2[1749],_mm_xor_si128(c2[3283],_mm_xor_si128(c2[572],c2[1781]))))))))))))))))))))))))))));
//row: 34
d2[510]=_mm_xor_si128(c2[2402],_mm_xor_si128(c2[2702],_mm_xor_si128(c2[4502],_mm_xor_si128(c2[1502],_mm_xor_si128(c2[1802],_mm_xor_si128(c2[3602],_mm_xor_si128(c2[613],_mm_xor_si128(c2[2413],_mm_xor_si128(c2[2411],_mm_xor_si128(c2[3031],_mm_xor_si128(c2[3331],_mm_xor_si128(c2[332],_mm_xor_si128(c2[2140],_mm_xor_si128(c2[3940],_mm_xor_si128(c2[2138],_mm_xor_si128(c2[3638],_mm_xor_si128(c2[3938],_mm_xor_si128(c2[4272],_mm_xor_si128(c2[4572],_mm_xor_si128(c2[1573],_mm_xor_si128(c2[964],_mm_xor_si128(c2[2464],_mm_xor_si128(c2[2764],_mm_xor_si128(c2[3699],_mm_xor_si128(c2[3999],_mm_xor_si128(c2[1000],_mm_xor_si128(c2[1594],_mm_xor_si128(c2[1894],_mm_xor_si128(c2[3694],_mm_xor_si128(c2[3398],_mm_xor_si128(c2[399],_mm_xor_si128(c2[4324],_mm_xor_si128(c2[4624],_mm_xor_si128(c2[1625],_mm_xor_si128(c2[4031],_mm_xor_si128(c2[1032],_mm_xor_si128(c2[2234],_mm_xor_si128(c2[3734],_mm_xor_si128(c2[4034],_mm_xor_si128(c2[760],_mm_xor_si128(c2[1060],_mm_xor_si128(c2[2860],_mm_xor_si128(c2[1950],_mm_xor_si128(c2[3450],_mm_xor_si128(c2[3750],_mm_xor_si128(c2[4389],_mm_xor_si128(c2[4689],_mm_xor_si128(c2[1690],_mm_xor_si128(c2[2294],_mm_xor_si128(c2[2594],_mm_xor_si128(c2[4394],_mm_xor_si128(c2[2283],_mm_xor_si128(c2[3783],_mm_xor_si128(c2[4083],_mm_xor_si128(c2[4419],_mm_xor_si128(c2[4719],_mm_xor_si128(c2[1720],_mm_xor_si128(c2[4715],_mm_xor_si128(c2[1416],_mm_xor_si128(c2[1716],_mm_xor_si128(c2[249],_mm_xor_si128(c2[549],_mm_xor_si128(c2[2349],_mm_xor_si128(c2[1143],_mm_xor_si128(c2[2943],_mm_xor_si128(c2[1151],_mm_xor_si128(c2[2651],_mm_xor_si128(c2[2951],_mm_xor_si128(c2[2370],_mm_xor_si128(c2[2670],_mm_xor_si128(c2[4470],_mm_xor_si128(c2[4473],_mm_xor_si128(c2[4773],_mm_xor_si128(c2[1774],_mm_xor_si128(c2[1183],_mm_xor_si128(c2[2683],c2[2983]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[525]=_mm_xor_si128(c2[5],_mm_xor_si128(c2[305],_mm_xor_si128(c2[4204],_mm_xor_si128(c2[3000],_mm_xor_si128(c2[634],_mm_xor_si128(c2[934],_mm_xor_si128(c2[4542],_mm_xor_si128(c2[4540],_mm_xor_si128(c2[1535],_mm_xor_si128(c2[1860],_mm_xor_si128(c2[2160],_mm_xor_si128(c2[3366],_mm_xor_si128(c2[1302],_mm_xor_si128(c2[1602],_mm_xor_si128(c2[4296],_mm_xor_si128(c2[1001],_mm_xor_si128(c2[2227],_mm_xor_si128(c2[1634],_mm_xor_si128(c2[4621],_mm_xor_si128(c2[3462],_mm_xor_si128(c2[4352],_mm_xor_si128(c2[464],_mm_xor_si128(c2[1992],_mm_xor_si128(c2[2292],_mm_xor_si128(c2[182],_mm_xor_si128(c2[4685],_mm_xor_si128(c2[2322],_mm_xor_si128(c2[2318],_mm_xor_si128(c2[2951],_mm_xor_si128(c2[3545],_mm_xor_si128(c2[3553],_mm_xor_si128(c2[4772],_mm_xor_si128(c2[273],_mm_xor_si128(c2[2376],c2[3570]))))))))))))))))))))))))))))))))));
//row: 36
d2[540]=_mm_xor_si128(c2[611],_mm_xor_si128(c2[67],c2[3216]));
//row: 37
d2[555]=_mm_xor_si128(c2[3303],_mm_xor_si128(c2[1201],_mm_xor_si128(c2[2403],_mm_xor_si128(c2[301],_mm_xor_si128(c2[1214],_mm_xor_si128(c2[3911],_mm_xor_si128(c2[3932],_mm_xor_si128(c2[1830],_mm_xor_si128(c2[2741],_mm_xor_si128(c2[639],_mm_xor_si128(c2[2739],_mm_xor_si128(c2[337],_mm_xor_si128(c2[637],_mm_xor_si128(c2[374],_mm_xor_si128(c2[3071],_mm_xor_si128(c2[1565],_mm_xor_si128(c2[3962],_mm_xor_si128(c2[4262],_mm_xor_si128(c2[4600],_mm_xor_si128(c2[2498],_mm_xor_si128(c2[2495],_mm_xor_si128(c2[393],_mm_xor_si128(c2[3999],_mm_xor_si128(c2[1897],_mm_xor_si128(c2[426],_mm_xor_si128(c2[3123],_mm_xor_si128(c2[4632],_mm_xor_si128(c2[2530],_mm_xor_si128(c2[2820],_mm_xor_si128(c2[433],_mm_xor_si128(c2[733],_mm_xor_si128(c2[1661],_mm_xor_si128(c2[4358],_mm_xor_si128(c2[2551],_mm_xor_si128(c2[164],_mm_xor_si128(c2[464],_mm_xor_si128(c2[491],_mm_xor_si128(c2[3188],_mm_xor_si128(c2[3180],_mm_xor_si128(c2[1093],_mm_xor_si128(c2[2884],_mm_xor_si128(c2[482],_mm_xor_si128(c2[782],_mm_xor_si128(c2[521],_mm_xor_si128(c2[3218],_mm_xor_si128(c2[517],_mm_xor_si128(c2[2914],_mm_xor_si128(c2[3214],_mm_xor_si128(c2[1150],_mm_xor_si128(c2[3847],_mm_xor_si128(c2[1744],_mm_xor_si128(c2[4441],_mm_xor_si128(c2[1752],_mm_xor_si128(c2[4149],_mm_xor_si128(c2[4449],_mm_xor_si128(c2[3271],_mm_xor_si128(c2[1184],_mm_xor_si128(c2[575],_mm_xor_si128(c2[3272],_mm_xor_si128(c2[1784],_mm_xor_si128(c2[4181],c2[4481])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[570]=_mm_xor_si128(c2[3000],_mm_xor_si128(c2[3300],_mm_xor_si128(c2[2400],_mm_xor_si128(c2[1211],_mm_xor_si128(c2[3644],_mm_xor_si128(c2[3944],_mm_xor_si128(c2[2738],_mm_xor_si128(c2[2736],_mm_xor_si128(c2[3032],_mm_xor_si128(c2[71],_mm_xor_si128(c2[371],_mm_xor_si128(c2[1562],_mm_xor_si128(c2[4297],_mm_xor_si128(c2[4597],_mm_xor_si128(c2[2492],_mm_xor_si128(c2[3996],_mm_xor_si128(c2[423],_mm_xor_si128(c2[4629],_mm_xor_si128(c2[2832],_mm_xor_si128(c2[1658],_mm_xor_si128(c2[2563],_mm_xor_si128(c2[2852],_mm_xor_si128(c2[188],_mm_xor_si128(c2[488],_mm_xor_si128(c2[3192],_mm_xor_si128(c2[2881],_mm_xor_si128(c2[518],_mm_xor_si128(c2[514],_mm_xor_si128(c2[1147],_mm_xor_si128(c2[1741],_mm_xor_si128(c2[1749],_mm_xor_si128(c2[2983],_mm_xor_si128(c2[3283],_mm_xor_si128(c2[572],c2[1781]))))))))))))))))))))))))))))))))));
//row: 39
d2[585]=_mm_xor_si128(c2[4205],_mm_xor_si128(c2[4505],_mm_xor_si128(c2[3305],_mm_xor_si128(c2[3605],_mm_xor_si128(c2[2401],_mm_xor_si128(c2[2110],_mm_xor_si128(c2[35],_mm_xor_si128(c2[335],_mm_xor_si128(c2[3943],_mm_xor_si128(c2[3941],_mm_xor_si128(c2[1261],_mm_xor_si128(c2[1561],_mm_xor_si128(c2[2767],_mm_xor_si128(c2[703],_mm_xor_si128(c2[1003],_mm_xor_si128(c2[3397],_mm_xor_si128(c2[3697],_mm_xor_si128(c2[402],_mm_xor_si128(c2[1328],_mm_xor_si128(c2[1628],_mm_xor_si128(c2[1020],_mm_xor_si128(c2[4022],_mm_xor_si128(c2[2563],_mm_xor_si128(c2[2863],_mm_xor_si128(c2[3753],_mm_xor_si128(c2[1393],_mm_xor_si128(c2[1693],_mm_xor_si128(c2[4082],_mm_xor_si128(c2[4382],_mm_xor_si128(c2[4086],_mm_xor_si128(c2[1423],_mm_xor_si128(c2[1723],_mm_xor_si128(c2[1719],_mm_xor_si128(c2[4112],_mm_xor_si128(c2[2052],_mm_xor_si128(c2[2352],_mm_xor_si128(c2[2946],_mm_xor_si128(c2[2954],_mm_xor_si128(c2[4173],_mm_xor_si128(c2[4473],_mm_xor_si128(c2[1477],_mm_xor_si128(c2[1777],c2[2971]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[600]=_mm_xor_si128(c2[1213],_mm_xor_si128(c2[1805],_mm_xor_si128(c2[313],_mm_xor_si128(c2[905],_mm_xor_si128(c2[3908],_mm_xor_si128(c2[4500],_mm_xor_si128(c2[1842],_mm_xor_si128(c2[2434],_mm_xor_si128(c2[636],_mm_xor_si128(c2[1243],_mm_xor_si128(c2[634],_mm_xor_si128(c2[941],_mm_xor_si128(c2[1241],_mm_xor_si128(c2[3068],_mm_xor_si128(c2[3660],_mm_xor_si128(c2[4274],_mm_xor_si128(c2[4566],_mm_xor_si128(c2[67],_mm_xor_si128(c2[4264],_mm_xor_si128(c2[2495],_mm_xor_si128(c2[3102],_mm_xor_si128(c2[390],_mm_xor_si128(c2[997],_mm_xor_si128(c2[1894],_mm_xor_si128(c2[2501],_mm_xor_si128(c2[3120],_mm_xor_si128(c2[3727],_mm_xor_si128(c2[2527],_mm_xor_si128(c2[3134],_mm_xor_si128(c2[730],_mm_xor_si128(c2[1022],_mm_xor_si128(c2[1322],_mm_xor_si128(c2[4355],_mm_xor_si128(c2[163],_mm_xor_si128(c2[461],_mm_xor_si128(c2[753],_mm_xor_si128(c2[1053],_mm_xor_si128(c2[3185],_mm_xor_si128(c2[3792],_mm_xor_si128(c2[1090],_mm_xor_si128(c2[1682],_mm_xor_si128(c2[794],_mm_xor_si128(c2[1086],_mm_xor_si128(c2[1386],_mm_xor_si128(c2[3215],_mm_xor_si128(c2[3822],_mm_xor_si128(c2[3211],_mm_xor_si128(c2[3518],_mm_xor_si128(c2[3818],_mm_xor_si128(c2[3844],_mm_xor_si128(c2[4451],_mm_xor_si128(c2[4453],_mm_xor_si128(c2[246],_mm_xor_si128(c2[4446],_mm_xor_si128(c2[4753],_mm_xor_si128(c2[254],_mm_xor_si128(c2[1181],_mm_xor_si128(c2[1773],_mm_xor_si128(c2[3284],_mm_xor_si128(c2[3876],_mm_xor_si128(c2[4478],_mm_xor_si128(c2[4770],c2[271]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[615]=_mm_xor_si128(c2[2108],_mm_xor_si128(c2[2408],_mm_xor_si128(c2[1508],_mm_xor_si128(c2[304],_mm_xor_si128(c2[2737],_mm_xor_si128(c2[3037],_mm_xor_si128(c2[1831],_mm_xor_si128(c2[1844],_mm_xor_si128(c2[1533],_mm_xor_si128(c2[3963],_mm_xor_si128(c2[4263],_mm_xor_si128(c2[670],_mm_xor_si128(c2[3390],_mm_xor_si128(c2[3690],_mm_xor_si128(c2[1600],_mm_xor_si128(c2[3104],_mm_xor_si128(c2[4330],_mm_xor_si128(c2[3722],_mm_xor_si128(c2[1925],_mm_xor_si128(c2[751],_mm_xor_si128(c2[1656],_mm_xor_si128(c2[2263],_mm_xor_si128(c2[4080],_mm_xor_si128(c2[4380],_mm_xor_si128(c2[2285],_mm_xor_si128(c2[1989],_mm_xor_si128(c2[4410],_mm_xor_si128(c2[4421],_mm_xor_si128(c2[240],_mm_xor_si128(c2[849],_mm_xor_si128(c2[842],_mm_xor_si128(c2[2076],_mm_xor_si128(c2[2376],_mm_xor_si128(c2[4479],c2[874]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=256, byte encoding
static inline void ldpc_BG2_Zc256_byte(uint8_t *c,uint8_t *d) {
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
__m256i *c2,*d2;
int i2;
for (i2=0; i2<8; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm256_xor_si256(c2[1280],_mm256_xor_si256(c2[965],_mm256_xor_si256(c2[2562],_mm256_xor_si256(c2[3219],_mm256_xor_si256(c2[2739],_mm256_xor_si256(c2[1136],_mm256_xor_si256(c2[1798],_mm256_xor_si256(c2[4033],_mm256_xor_si256(c2[4048],_mm256_xor_si256(c2[853],_mm256_xor_si256(c2[1809],_mm256_xor_si256(c2[4551],_mm256_xor_si256(c2[3105],_mm256_xor_si256(c2[4708],_mm256_xor_si256(c2[4563],_mm256_xor_si256(c2[1203],_mm256_xor_si256(c2[4581],_mm256_xor_si256(c2[263],_mm256_xor_si256(c2[2662],_mm256_xor_si256(c2[4436],_mm256_xor_si256(c2[3473],_mm256_xor_si256(c2[5094],_mm256_xor_si256(c2[2535],_mm256_xor_si256(c2[2848],_mm256_xor_si256(c2[2070],_mm256_xor_si256(c2[4471],c2[5107]))))))))))))))))))))))))));
//row: 1
d2[8]=_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[1280],_mm256_xor_si256(c2[965],_mm256_xor_si256(c2[2562],_mm256_xor_si256(c2[3379],_mm256_xor_si256(c2[3219],_mm256_xor_si256(c2[2739],_mm256_xor_si256(c2[1136],_mm256_xor_si256(c2[1958],_mm256_xor_si256(c2[1798],_mm256_xor_si256(c2[4033],_mm256_xor_si256(c2[4208],_mm256_xor_si256(c2[4048],_mm256_xor_si256(c2[853],_mm256_xor_si256(c2[1809],_mm256_xor_si256(c2[4551],_mm256_xor_si256(c2[3105],_mm256_xor_si256(c2[4708],_mm256_xor_si256(c2[4563],_mm256_xor_si256(c2[1203],_mm256_xor_si256(c2[4741],_mm256_xor_si256(c2[4581],_mm256_xor_si256(c2[263],_mm256_xor_si256(c2[2662],_mm256_xor_si256(c2[4436],_mm256_xor_si256(c2[3473],_mm256_xor_si256(c2[5094],_mm256_xor_si256(c2[2535],_mm256_xor_si256(c2[2848],_mm256_xor_si256(c2[2230],_mm256_xor_si256(c2[2070],_mm256_xor_si256(c2[4471],c2[5107]))))))))))))))))))))))))))))))));
//row: 2
d2[16]=_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[1280],_mm256_xor_si256(c2[1125],_mm256_xor_si256(c2[965],_mm256_xor_si256(c2[2562],_mm256_xor_si256(c2[3379],_mm256_xor_si256(c2[3219],_mm256_xor_si256(c2[2739],_mm256_xor_si256(c2[1136],_mm256_xor_si256(c2[1958],_mm256_xor_si256(c2[1798],_mm256_xor_si256(c2[4033],_mm256_xor_si256(c2[4208],_mm256_xor_si256(c2[4048],_mm256_xor_si256(c2[1013],_mm256_xor_si256(c2[853],_mm256_xor_si256(c2[1809],_mm256_xor_si256(c2[4711],_mm256_xor_si256(c2[4551],_mm256_xor_si256(c2[3105],_mm256_xor_si256(c2[4708],_mm256_xor_si256(c2[4723],_mm256_xor_si256(c2[4563],_mm256_xor_si256(c2[1203],_mm256_xor_si256(c2[4741],_mm256_xor_si256(c2[4581],_mm256_xor_si256(c2[423],_mm256_xor_si256(c2[263],_mm256_xor_si256(c2[2662],_mm256_xor_si256(c2[4596],_mm256_xor_si256(c2[4436],_mm256_xor_si256(c2[3473],_mm256_xor_si256(c2[135],_mm256_xor_si256(c2[5094],_mm256_xor_si256(c2[2535],_mm256_xor_si256(c2[2848],_mm256_xor_si256(c2[2230],_mm256_xor_si256(c2[2070],_mm256_xor_si256(c2[4631],_mm256_xor_si256(c2[4471],c2[5107]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[24]=_mm256_xor_si256(c2[1280],_mm256_xor_si256(c2[965],_mm256_xor_si256(c2[2562],_mm256_xor_si256(c2[3219],_mm256_xor_si256(c2[2739],_mm256_xor_si256(c2[1296],_mm256_xor_si256(c2[1136],_mm256_xor_si256(c2[1798],_mm256_xor_si256(c2[4193],_mm256_xor_si256(c2[4033],_mm256_xor_si256(c2[4048],_mm256_xor_si256(c2[853],_mm256_xor_si256(c2[1809],_mm256_xor_si256(c2[4551],_mm256_xor_si256(c2[3105],_mm256_xor_si256(c2[4868],_mm256_xor_si256(c2[4708],_mm256_xor_si256(c2[4563],_mm256_xor_si256(c2[1363],_mm256_xor_si256(c2[1203],_mm256_xor_si256(c2[4581],_mm256_xor_si256(c2[263],_mm256_xor_si256(c2[2822],_mm256_xor_si256(c2[2662],_mm256_xor_si256(c2[4436],_mm256_xor_si256(c2[3633],_mm256_xor_si256(c2[3473],_mm256_xor_si256(c2[5094],_mm256_xor_si256(c2[2535],_mm256_xor_si256(c2[3008],_mm256_xor_si256(c2[2848],_mm256_xor_si256(c2[2070],_mm256_xor_si256(c2[4471],_mm256_xor_si256(c2[148],c2[5107]))))))))))))))))))))))))))))))))));
//row: 4
d2[32]=_mm256_xor_si256(c2[2562],_mm256_xor_si256(c2[2402],_mm256_xor_si256(c2[2087],_mm256_xor_si256(c2[3684],_mm256_xor_si256(c2[3045],_mm256_xor_si256(c2[4501],_mm256_xor_si256(c2[4341],_mm256_xor_si256(c2[3861],_mm256_xor_si256(c2[2258],_mm256_xor_si256(c2[3542],_mm256_xor_si256(c2[3072],_mm256_xor_si256(c2[2912],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[211],_mm256_xor_si256(c2[51],_mm256_xor_si256(c2[1975],_mm256_xor_si256(c2[2931],_mm256_xor_si256(c2[546],_mm256_xor_si256(c2[4227],_mm256_xor_si256(c2[711],_mm256_xor_si256(c2[566],_mm256_xor_si256(c2[2325],_mm256_xor_si256(c2[736],_mm256_xor_si256(c2[576],_mm256_xor_si256(c2[1377],_mm256_xor_si256(c2[3776],_mm256_xor_si256(c2[439],_mm256_xor_si256(c2[4595],_mm256_xor_si256(c2[1089],_mm256_xor_si256(c2[3649],_mm256_xor_si256(c2[3970],_mm256_xor_si256(c2[3344],_mm256_xor_si256(c2[3184],_mm256_xor_si256(c2[466],c2[1110]))))))))))))))))))))))))))))))))));
//row: 5
d2[40]=_mm256_xor_si256(c2[2563],_mm256_xor_si256(c2[2403],_mm256_xor_si256(c2[2080],_mm256_xor_si256(c2[3685],_mm256_xor_si256(c2[1127],_mm256_xor_si256(c2[4502],_mm256_xor_si256(c2[4342],_mm256_xor_si256(c2[3862],_mm256_xor_si256(c2[2259],_mm256_xor_si256(c2[1457],_mm256_xor_si256(c2[3073],_mm256_xor_si256(c2[2913],_mm256_xor_si256(c2[37],_mm256_xor_si256(c2[212],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[1968],_mm256_xor_si256(c2[2932],_mm256_xor_si256(c2[547],_mm256_xor_si256(c2[4228],_mm256_xor_si256(c2[704],_mm256_xor_si256(c2[567],_mm256_xor_si256(c2[2326],_mm256_xor_si256(c2[406],_mm256_xor_si256(c2[737],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[1378],_mm256_xor_si256(c2[3777],_mm256_xor_si256(c2[432],_mm256_xor_si256(c2[4596],_mm256_xor_si256(c2[5076],_mm256_xor_si256(c2[1090],_mm256_xor_si256(c2[3650],_mm256_xor_si256(c2[3971],_mm256_xor_si256(c2[3345],_mm256_xor_si256(c2[3185],_mm256_xor_si256(c2[467],c2[1111]))))))))))))))))))))))))))))))))))));
//row: 6
d2[48]=_mm256_xor_si256(c2[1125],_mm256_xor_si256(c2[965],_mm256_xor_si256(c2[642],_mm256_xor_si256(c2[2247],_mm256_xor_si256(c2[4324],_mm256_xor_si256(c2[3056],_mm256_xor_si256(c2[2896],_mm256_xor_si256(c2[2416],_mm256_xor_si256(c2[821],_mm256_xor_si256(c2[1635],_mm256_xor_si256(c2[1475],_mm256_xor_si256(c2[3718],_mm256_xor_si256(c2[3893],_mm256_xor_si256(c2[3733],_mm256_xor_si256(c2[530],_mm256_xor_si256(c2[1494],_mm256_xor_si256(c2[4228],_mm256_xor_si256(c2[2790],_mm256_xor_si256(c2[4385],_mm256_xor_si256(c2[4240],_mm256_xor_si256(c2[880],_mm256_xor_si256(c2[727],_mm256_xor_si256(c2[4418],_mm256_xor_si256(c2[4258],_mm256_xor_si256(c2[5059],_mm256_xor_si256(c2[2339],_mm256_xor_si256(c2[4113],_mm256_xor_si256(c2[3158],_mm256_xor_si256(c2[2193],_mm256_xor_si256(c2[4771],_mm256_xor_si256(c2[2212],_mm256_xor_si256(c2[2533],_mm256_xor_si256(c2[1907],_mm256_xor_si256(c2[1747],_mm256_xor_si256(c2[4148],_mm256_xor_si256(c2[4784],c2[4624]))))))))))))))))))))))))))))))))))));
//row: 7
d2[56]=_mm256_xor_si256(c2[1920],_mm256_xor_si256(c2[1760],_mm256_xor_si256(c2[4483],_mm256_xor_si256(c2[1445],_mm256_xor_si256(c2[4160],_mm256_xor_si256(c2[3042],_mm256_xor_si256(c2[646],_mm256_xor_si256(c2[3859],_mm256_xor_si256(c2[3699],_mm256_xor_si256(c2[1303],_mm256_xor_si256(c2[3219],_mm256_xor_si256(c2[823],_mm256_xor_si256(c2[4499],_mm256_xor_si256(c2[1616],_mm256_xor_si256(c2[4339],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[2438],_mm256_xor_si256(c2[2278],_mm256_xor_si256(c2[4993],_mm256_xor_si256(c2[2277],_mm256_xor_si256(c2[4513],_mm256_xor_si256(c2[2117],_mm256_xor_si256(c2[4688],_mm256_xor_si256(c2[4528],_mm256_xor_si256(c2[2132],_mm256_xor_si256(c2[1333],_mm256_xor_si256(c2[4048],_mm256_xor_si256(c2[2289],_mm256_xor_si256(c2[5012],_mm256_xor_si256(c2[5031],_mm256_xor_si256(c2[2627],_mm256_xor_si256(c2[3585],_mm256_xor_si256(c2[1189],_mm256_xor_si256(c2[2944],_mm256_xor_si256(c2[69],_mm256_xor_si256(c2[2784],_mm256_xor_si256(c2[5043],_mm256_xor_si256(c2[2647],_mm256_xor_si256(c2[4566],_mm256_xor_si256(c2[1683],_mm256_xor_si256(c2[4406],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[102],_mm256_xor_si256(c2[5061],_mm256_xor_si256(c2[2657],_mm256_xor_si256(c2[743],_mm256_xor_si256(c2[3458],_mm256_xor_si256(c2[898],_mm256_xor_si256(c2[3142],_mm256_xor_si256(c2[738],_mm256_xor_si256(c2[4916],_mm256_xor_si256(c2[2512],_mm256_xor_si256(c2[1717],_mm256_xor_si256(c2[3953],_mm256_xor_si256(c2[1557],_mm256_xor_si256(c2[2036],_mm256_xor_si256(c2[455],_mm256_xor_si256(c2[3170],_mm256_xor_si256(c2[3015],_mm256_xor_si256(c2[611],_mm256_xor_si256(c2[1092],_mm256_xor_si256(c2[3328],_mm256_xor_si256(c2[932],_mm256_xor_si256(c2[2710],_mm256_xor_si256(c2[2550],_mm256_xor_si256(c2[146],_mm256_xor_si256(c2[4951],_mm256_xor_si256(c2[2547],_mm256_xor_si256(c2[3351],_mm256_xor_si256(c2[468],c2[3191]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[64]=_mm256_xor_si256(c2[2407],_mm256_xor_si256(c2[2247],_mm256_xor_si256(c2[2084],_mm256_xor_si256(c2[1924],_mm256_xor_si256(c2[3521],_mm256_xor_si256(c2[2244],_mm256_xor_si256(c2[4338],_mm256_xor_si256(c2[4178],_mm256_xor_si256(c2[3698],_mm256_xor_si256(c2[2103],_mm256_xor_si256(c2[4818],_mm256_xor_si256(c2[2917],_mm256_xor_si256(c2[2757],_mm256_xor_si256(c2[4992],_mm256_xor_si256(c2[48],_mm256_xor_si256(c2[5015],_mm256_xor_si256(c2[1972],_mm256_xor_si256(c2[1812],_mm256_xor_si256(c2[2768],_mm256_xor_si256(c2[551],_mm256_xor_si256(c2[391],_mm256_xor_si256(c2[4064],_mm256_xor_si256(c2[548],_mm256_xor_si256(c2[563],_mm256_xor_si256(c2[403],_mm256_xor_si256(c2[2162],_mm256_xor_si256(c2[581],_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[1382],_mm256_xor_si256(c2[1222],_mm256_xor_si256(c2[3621],_mm256_xor_si256(c2[436],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[4432],_mm256_xor_si256(c2[1094],_mm256_xor_si256(c2[934],_mm256_xor_si256(c2[3494],_mm256_xor_si256(c2[3815],_mm256_xor_si256(c2[3189],_mm256_xor_si256(c2[3029],_mm256_xor_si256(c2[471],_mm256_xor_si256(c2[311],c2[947]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[72]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[802],_mm256_xor_si256(c2[4967],_mm256_xor_si256(c2[487],_mm256_xor_si256(c2[4644],_mm256_xor_si256(c2[2084],_mm256_xor_si256(c2[1122],_mm256_xor_si256(c2[1939],_mm256_xor_si256(c2[2741],_mm256_xor_si256(c2[1779],_mm256_xor_si256(c2[2261],_mm256_xor_si256(c2[1299],_mm256_xor_si256(c2[658],_mm256_xor_si256(c2[4823],_mm256_xor_si256(c2[1782],_mm256_xor_si256(c2[518],_mm256_xor_si256(c2[1312],_mm256_xor_si256(c2[358],_mm256_xor_si256(c2[3555],_mm256_xor_si256(c2[2593],_mm256_xor_si256(c2[2768],_mm256_xor_si256(c2[3570],_mm256_xor_si256(c2[2608],_mm256_xor_si256(c2[375],_mm256_xor_si256(c2[4532],_mm256_xor_si256(c2[1331],_mm256_xor_si256(c2[369],_mm256_xor_si256(c2[4065],_mm256_xor_si256(c2[3111],_mm256_xor_si256(c2[2627],_mm256_xor_si256(c2[1665],_mm256_xor_si256(c2[4230],_mm256_xor_si256(c2[3268],_mm256_xor_si256(c2[4085],_mm256_xor_si256(c2[3123],_mm256_xor_si256(c2[725],_mm256_xor_si256(c2[4882],_mm256_xor_si256(c2[3301],_mm256_xor_si256(c2[4103],_mm256_xor_si256(c2[3141],_mm256_xor_si256(c2[4896],_mm256_xor_si256(c2[3942],_mm256_xor_si256(c2[2176],_mm256_xor_si256(c2[1222],_mm256_xor_si256(c2[3958],_mm256_xor_si256(c2[2996],_mm256_xor_si256(c2[2995],_mm256_xor_si256(c2[2033],_mm256_xor_si256(c2[4608],_mm256_xor_si256(c2[3654],_mm256_xor_si256(c2[2049],_mm256_xor_si256(c2[1095],_mm256_xor_si256(c2[2370],_mm256_xor_si256(c2[1408],_mm256_xor_si256(c2[2214],_mm256_xor_si256(c2[790],_mm256_xor_si256(c2[1584],_mm256_xor_si256(c2[630],_mm256_xor_si256(c2[3985],_mm256_xor_si256(c2[3031],_mm256_xor_si256(c2[4629],c2[3667])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[80]=_mm256_xor_si256(c2[1760],_mm256_xor_si256(c2[4021],_mm256_xor_si256(c2[96],c2[3475])));
//row: 11
d2[88]=_mm256_xor_si256(c2[2],_mm256_xor_si256(c2[4806],_mm256_xor_si256(c2[1284],_mm256_xor_si256(c2[1760],_mm256_xor_si256(c2[1941],_mm256_xor_si256(c2[1461],_mm256_xor_si256(c2[18],_mm256_xor_si256(c2[4977],_mm256_xor_si256(c2[512],_mm256_xor_si256(c2[2915],_mm256_xor_si256(c2[2755],_mm256_xor_si256(c2[2770],_mm256_xor_si256(c2[4694],_mm256_xor_si256(c2[531],_mm256_xor_si256(c2[3265],_mm256_xor_si256(c2[1827],_mm256_xor_si256(c2[3590],_mm256_xor_si256(c2[3430],_mm256_xor_si256(c2[3285],_mm256_xor_si256(c2[85],_mm256_xor_si256(c2[5044],_mm256_xor_si256(c2[3303],_mm256_xor_si256(c2[4096],_mm256_xor_si256(c2[1536],_mm256_xor_si256(c2[1376],_mm256_xor_si256(c2[3158],_mm256_xor_si256(c2[2355],_mm256_xor_si256(c2[2195],_mm256_xor_si256(c2[2039],_mm256_xor_si256(c2[3808],_mm256_xor_si256(c2[1249],_mm256_xor_si256(c2[1730],_mm256_xor_si256(c2[1570],_mm256_xor_si256(c2[784],_mm256_xor_si256(c2[3185],_mm256_xor_si256(c2[3989],_mm256_xor_si256(c2[3829],c2[3030])))))))))))))))))))))))))))))))))))));
//row: 12
d2[96]=_mm256_xor_si256(c2[3680],_mm256_xor_si256(c2[3520],_mm256_xor_si256(c2[3205],_mm256_xor_si256(c2[4802],_mm256_xor_si256(c2[500],_mm256_xor_si256(c2[340],_mm256_xor_si256(c2[4979],_mm256_xor_si256(c2[3376],_mm256_xor_si256(c2[4977],_mm256_xor_si256(c2[4198],_mm256_xor_si256(c2[4038],_mm256_xor_si256(c2[1154],_mm256_xor_si256(c2[1329],_mm256_xor_si256(c2[1169],_mm256_xor_si256(c2[3093],_mm256_xor_si256(c2[4049],_mm256_xor_si256(c2[2451],_mm256_xor_si256(c2[1664],_mm256_xor_si256(c2[226],_mm256_xor_si256(c2[1829],_mm256_xor_si256(c2[1684],_mm256_xor_si256(c2[3443],_mm256_xor_si256(c2[1862],_mm256_xor_si256(c2[1702],_mm256_xor_si256(c2[2503],_mm256_xor_si256(c2[4902],_mm256_xor_si256(c2[1557],_mm256_xor_si256(c2[594],_mm256_xor_si256(c2[2215],_mm256_xor_si256(c2[4775],_mm256_xor_si256(c2[5088],_mm256_xor_si256(c2[4470],_mm256_xor_si256(c2[4310],_mm256_xor_si256(c2[1584],c2[2228]))))))))))))))))))))))))))))))))));
//row: 13
d2[104]=_mm256_xor_si256(c2[967],_mm256_xor_si256(c2[644],_mm256_xor_si256(c2[2241],_mm256_xor_si256(c2[3042],_mm256_xor_si256(c2[2898],_mm256_xor_si256(c2[2418],_mm256_xor_si256(c2[983],_mm256_xor_si256(c2[823],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[1477],_mm256_xor_si256(c2[3872],_mm256_xor_si256(c2[3712],_mm256_xor_si256(c2[3735],_mm256_xor_si256(c2[532],_mm256_xor_si256(c2[1488],_mm256_xor_si256(c2[4230],_mm256_xor_si256(c2[2784],_mm256_xor_si256(c2[4547],_mm256_xor_si256(c2[4387],_mm256_xor_si256(c2[4242],_mm256_xor_si256(c2[1042],_mm256_xor_si256(c2[882],_mm256_xor_si256(c2[4260],_mm256_xor_si256(c2[5061],_mm256_xor_si256(c2[2501],_mm256_xor_si256(c2[2341],_mm256_xor_si256(c2[4115],_mm256_xor_si256(c2[3312],_mm256_xor_si256(c2[3152],_mm256_xor_si256(c2[4773],_mm256_xor_si256(c2[2214],_mm256_xor_si256(c2[2695],_mm256_xor_si256(c2[2535],_mm256_xor_si256(c2[1089],_mm256_xor_si256(c2[1749],_mm256_xor_si256(c2[4150],_mm256_xor_si256(c2[4946],c2[4786])))))))))))))))))))))))))))))))))))));
//row: 14
d2[112]=_mm256_xor_si256(c2[1920],_mm256_xor_si256(c2[1760],_mm256_xor_si256(c2[2567],_mm256_xor_si256(c2[1445],_mm256_xor_si256(c2[2244],_mm256_xor_si256(c2[3042],_mm256_xor_si256(c2[3841],_mm256_xor_si256(c2[3859],_mm256_xor_si256(c2[3699],_mm256_xor_si256(c2[4498],_mm256_xor_si256(c2[3219],_mm256_xor_si256(c2[4018],_mm256_xor_si256(c2[2583],_mm256_xor_si256(c2[1616],_mm256_xor_si256(c2[2423],_mm256_xor_si256(c2[3059],_mm256_xor_si256(c2[2438],_mm256_xor_si256(c2[2278],_mm256_xor_si256(c2[3077],_mm256_xor_si256(c2[353],_mm256_xor_si256(c2[4513],_mm256_xor_si256(c2[193],_mm256_xor_si256(c2[4688],_mm256_xor_si256(c2[4528],_mm256_xor_si256(c2[208],_mm256_xor_si256(c2[1333],_mm256_xor_si256(c2[2132],_mm256_xor_si256(c2[2289],_mm256_xor_si256(c2[3088],_mm256_xor_si256(c2[5031],_mm256_xor_si256(c2[711],_mm256_xor_si256(c2[3585],_mm256_xor_si256(c2[4384],_mm256_xor_si256(c2[1028],_mm256_xor_si256(c2[69],_mm256_xor_si256(c2[868],_mm256_xor_si256(c2[5043],_mm256_xor_si256(c2[723],_mm256_xor_si256(c2[2642],_mm256_xor_si256(c2[1683],_mm256_xor_si256(c2[2482],_mm256_xor_si256(c2[102],_mm256_xor_si256(c2[5061],_mm256_xor_si256(c2[741],_mm256_xor_si256(c2[743],_mm256_xor_si256(c2[1542],_mm256_xor_si256(c2[4101],_mm256_xor_si256(c2[3142],_mm256_xor_si256(c2[3941],_mm256_xor_si256(c2[2820],_mm256_xor_si256(c2[4916],_mm256_xor_si256(c2[596],_mm256_xor_si256(c2[4912],_mm256_xor_si256(c2[3953],_mm256_xor_si256(c2[4752],_mm256_xor_si256(c2[455],_mm256_xor_si256(c2[1254],_mm256_xor_si256(c2[3015],_mm256_xor_si256(c2[3814],_mm256_xor_si256(c2[4295],_mm256_xor_si256(c2[3328],_mm256_xor_si256(c2[4135],_mm256_xor_si256(c2[2710],_mm256_xor_si256(c2[2550],_mm256_xor_si256(c2[3349],_mm256_xor_si256(c2[4951],_mm256_xor_si256(c2[631],_mm256_xor_si256(c2[1427],_mm256_xor_si256(c2[468],c2[1267])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[120]=_mm256_xor_si256(c2[4806],_mm256_xor_si256(c2[3685],_mm256_xor_si256(c2[4646],_mm256_xor_si256(c2[3362],_mm256_xor_si256(c2[4323],_mm256_xor_si256(c2[4967],_mm256_xor_si256(c2[801],_mm256_xor_si256(c2[3041],_mm256_xor_si256(c2[1618],_mm256_xor_si256(c2[497],_mm256_xor_si256(c2[1458],_mm256_xor_si256(c2[17],_mm256_xor_si256(c2[978],_mm256_xor_si256(c2[3541],_mm256_xor_si256(c2[4502],_mm256_xor_si256(c2[197],_mm256_xor_si256(c2[4195],_mm256_xor_si256(c2[37],_mm256_xor_si256(c2[1319],_mm256_xor_si256(c2[2272],_mm256_xor_si256(c2[2455],_mm256_xor_si256(c2[1334],_mm256_xor_si256(c2[2295],_mm256_xor_si256(c2[3250],_mm256_xor_si256(c2[4211],_mm256_xor_si256(c2[4214],_mm256_xor_si256(c2[48],_mm256_xor_si256(c2[1829],_mm256_xor_si256(c2[2790],_mm256_xor_si256(c2[391],_mm256_xor_si256(c2[1344],_mm256_xor_si256(c2[1986],_mm256_xor_si256(c2[2947],_mm256_xor_si256(c2[1841],_mm256_xor_si256(c2[2802],_mm256_xor_si256(c2[3600],_mm256_xor_si256(c2[4561],_mm256_xor_si256(c2[2980],_mm256_xor_si256(c2[1859],_mm256_xor_si256(c2[2820],_mm256_xor_si256(c2[2660],_mm256_xor_si256(c2[3621],_mm256_xor_si256(c2[5059],_mm256_xor_si256(c2[901],_mm256_xor_si256(c2[1714],_mm256_xor_si256(c2[2675],_mm256_xor_si256(c2[759],_mm256_xor_si256(c2[1712],_mm256_xor_si256(c2[2372],_mm256_xor_si256(c2[3333],_mm256_xor_si256(c2[4932],_mm256_xor_si256(c2[774],_mm256_xor_si256(c2[134],_mm256_xor_si256(c2[1095],_mm256_xor_si256(c2[469],_mm256_xor_si256(c2[4467],_mm256_xor_si256(c2[309],_mm256_xor_si256(c2[1749],_mm256_xor_si256(c2[2710],_mm256_xor_si256(c2[2385],c2[3346]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[128]=_mm256_xor_si256(c2[2720],_mm256_xor_si256(c2[4327],_mm256_xor_si256(c2[2560],_mm256_xor_si256(c2[4167],_mm256_xor_si256(c2[4004],_mm256_xor_si256(c2[2245],_mm256_xor_si256(c2[3844],_mm256_xor_si256(c2[3842],_mm256_xor_si256(c2[322],_mm256_xor_si256(c2[4659],_mm256_xor_si256(c2[1139],_mm256_xor_si256(c2[4499],_mm256_xor_si256(c2[979],_mm256_xor_si256(c2[4019],_mm256_xor_si256(c2[499],_mm256_xor_si256(c2[2416],_mm256_xor_si256(c2[4023],_mm256_xor_si256(c2[1782],_mm256_xor_si256(c2[3238],_mm256_xor_si256(c2[4837],_mm256_xor_si256(c2[3078],_mm256_xor_si256(c2[4677],_mm256_xor_si256(c2[194],_mm256_xor_si256(c2[1793],_mm256_xor_si256(c2[369],_mm256_xor_si256(c2[1968],_mm256_xor_si256(c2[209],_mm256_xor_si256(c2[1808],_mm256_xor_si256(c2[3892],_mm256_xor_si256(c2[2133],_mm256_xor_si256(c2[3732],_mm256_xor_si256(c2[3089],_mm256_xor_si256(c2[4688],_mm256_xor_si256(c2[2471],_mm256_xor_si256(c2[704],_mm256_xor_si256(c2[2311],_mm256_xor_si256(c2[4385],_mm256_xor_si256(c2[865],_mm256_xor_si256(c2[869],_mm256_xor_si256(c2[2468],_mm256_xor_si256(c2[2483],_mm256_xor_si256(c2[724],_mm256_xor_si256(c2[2323],_mm256_xor_si256(c2[2483],_mm256_xor_si256(c2[4082],_mm256_xor_si256(c2[902],_mm256_xor_si256(c2[2501],_mm256_xor_si256(c2[742],_mm256_xor_si256(c2[2341],_mm256_xor_si256(c2[3302],_mm256_xor_si256(c2[1543],_mm256_xor_si256(c2[3142],_mm256_xor_si256(c2[3942],_mm256_xor_si256(c2[422],_mm256_xor_si256(c2[2356],_mm256_xor_si256(c2[597],_mm256_xor_si256(c2[2196],_mm256_xor_si256(c2[4753],_mm256_xor_si256(c2[1233],_mm256_xor_si256(c2[3014],_mm256_xor_si256(c2[1255],_mm256_xor_si256(c2[2854],_mm256_xor_si256(c2[3815],_mm256_xor_si256(c2[295],_mm256_xor_si256(c2[4128],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[3510],_mm256_xor_si256(c2[5109],_mm256_xor_si256(c2[3350],_mm256_xor_si256(c2[4949],_mm256_xor_si256(c2[2391],_mm256_xor_si256(c2[624],_mm256_xor_si256(c2[2231],_mm256_xor_si256(c2[1268],_mm256_xor_si256(c2[2867],c2[2388])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[136]=_mm256_xor_si256(c2[4323],_mm256_xor_si256(c2[1442],_mm256_xor_si256(c2[4163],_mm256_xor_si256(c2[1282],_mm256_xor_si256(c2[1127],_mm256_xor_si256(c2[3840],_mm256_xor_si256(c2[967],_mm256_xor_si256(c2[326],_mm256_xor_si256(c2[2564],_mm256_xor_si256(c2[1143],_mm256_xor_si256(c2[3381],_mm256_xor_si256(c2[983],_mm256_xor_si256(c2[3221],_mm256_xor_si256(c2[503],_mm256_xor_si256(c2[2741],_mm256_xor_si256(c2[4019],_mm256_xor_si256(c2[1138],_mm256_xor_si256(c2[4823],_mm256_xor_si256(c2[4833],_mm256_xor_si256(c2[1952],_mm256_xor_si256(c2[4673],_mm256_xor_si256(c2[1792],_mm256_xor_si256(c2[1797],_mm256_xor_si256(c2[4035],_mm256_xor_si256(c2[1972],_mm256_xor_si256(c2[4210],_mm256_xor_si256(c2[1812],_mm256_xor_si256(c2[4050],_mm256_xor_si256(c2[1015],_mm256_xor_si256(c2[3728],_mm256_xor_si256(c2[855],_mm256_xor_si256(c2[4692],_mm256_xor_si256(c2[1811],_mm256_xor_si256(c2[4705],_mm256_xor_si256(c2[2307],_mm256_xor_si256(c2[4545],_mm256_xor_si256(c2[869],_mm256_xor_si256(c2[3107],_mm256_xor_si256(c2[2464],_mm256_xor_si256(c2[4710],_mm256_xor_si256(c2[4725],_mm256_xor_si256(c2[2327],_mm256_xor_si256(c2[4565],_mm256_xor_si256(c2[4086],_mm256_xor_si256(c2[1205],_mm256_xor_si256(c2[4563],_mm256_xor_si256(c2[2497],_mm256_xor_si256(c2[4743],_mm256_xor_si256(c2[2337],_mm256_xor_si256(c2[4583],_mm256_xor_si256(c2[417],_mm256_xor_si256(c2[3138],_mm256_xor_si256(c2[257],_mm256_xor_si256(c2[418],_mm256_xor_si256(c2[2656],_mm256_xor_si256(c2[4598],_mm256_xor_si256(c2[2192],_mm256_xor_si256(c2[4438],_mm256_xor_si256(c2[1237],_mm256_xor_si256(c2[3475],_mm256_xor_si256(c2[129],_mm256_xor_si256(c2[2850],_mm256_xor_si256(c2[5088],_mm256_xor_si256(c2[291],_mm256_xor_si256(c2[2529],_mm256_xor_si256(c2[612],_mm256_xor_si256(c2[2850],_mm256_xor_si256(c2[5105],_mm256_xor_si256(c2[2224],_mm256_xor_si256(c2[4945],_mm256_xor_si256(c2[2064],_mm256_xor_si256(c2[4625],_mm256_xor_si256(c2[2227],_mm256_xor_si256(c2[4465],_mm256_xor_si256(c2[2871],c2[5109])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[144]=_mm256_xor_si256(c2[4486],_mm256_xor_si256(c2[422],c2[2993]));
//row: 19
d2[152]=_mm256_xor_si256(c2[166],_mm256_xor_si256(c2[4962],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[3682],_mm256_xor_si256(c2[2097],_mm256_xor_si256(c2[1617],_mm256_xor_si256(c2[22],_mm256_xor_si256(c2[3216],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[2919],_mm256_xor_si256(c2[2934],_mm256_xor_si256(c2[4850],_mm256_xor_si256(c2[695],_mm256_xor_si256(c2[3429],_mm256_xor_si256(c2[1991],_mm256_xor_si256(c2[3586],_mm256_xor_si256(c2[3441],_mm256_xor_si256(c2[81],_mm256_xor_si256(c2[3459],_mm256_xor_si256(c2[4260],_mm256_xor_si256(c2[1540],_mm256_xor_si256(c2[3314],_mm256_xor_si256(c2[2359],_mm256_xor_si256(c2[3972],_mm256_xor_si256(c2[1413],_mm256_xor_si256(c2[1734],_mm256_xor_si256(c2[948],_mm256_xor_si256(c2[3349],c2[3985]))))))))))))))))))))))))))));
//row: 20
d2[160]=_mm256_xor_si256(c2[961],_mm256_xor_si256(c2[801],_mm256_xor_si256(c2[486],_mm256_xor_si256(c2[2083],_mm256_xor_si256(c2[2900],_mm256_xor_si256(c2[2740],_mm256_xor_si256(c2[2260],_mm256_xor_si256(c2[657],_mm256_xor_si256(c2[4176],_mm256_xor_si256(c2[1479],_mm256_xor_si256(c2[1319],_mm256_xor_si256(c2[3554],_mm256_xor_si256(c2[3729],_mm256_xor_si256(c2[3569],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[1330],_mm256_xor_si256(c2[4064],_mm256_xor_si256(c2[2626],_mm256_xor_si256(c2[4229],_mm256_xor_si256(c2[1507],_mm256_xor_si256(c2[4084],_mm256_xor_si256(c2[724],_mm256_xor_si256(c2[4262],_mm256_xor_si256(c2[4102],_mm256_xor_si256(c2[4903],_mm256_xor_si256(c2[2183],_mm256_xor_si256(c2[3957],_mm256_xor_si256(c2[2994],_mm256_xor_si256(c2[4615],_mm256_xor_si256(c2[2048],_mm256_xor_si256(c2[2369],_mm256_xor_si256(c2[1751],_mm256_xor_si256(c2[1591],_mm256_xor_si256(c2[3984],c2[4628]))))))))))))))))))))))))))))))))));
//row: 21
d2[168]=_mm256_xor_si256(c2[4166],_mm256_xor_si256(c2[3843],_mm256_xor_si256(c2[321],_mm256_xor_si256(c2[1922],_mm256_xor_si256(c2[978],_mm256_xor_si256(c2[498],_mm256_xor_si256(c2[4182],_mm256_xor_si256(c2[4022],_mm256_xor_si256(c2[4676],_mm256_xor_si256(c2[1952],_mm256_xor_si256(c2[1792],_mm256_xor_si256(c2[1815],_mm256_xor_si256(c2[3731],_mm256_xor_si256(c2[4695],_mm256_xor_si256(c2[2310],_mm256_xor_si256(c2[864],_mm256_xor_si256(c2[2627],_mm256_xor_si256(c2[2467],_mm256_xor_si256(c2[2322],_mm256_xor_si256(c2[4241],_mm256_xor_si256(c2[4081],_mm256_xor_si256(c2[2340],_mm256_xor_si256(c2[3141],_mm256_xor_si256(c2[581],_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[2195],_mm256_xor_si256(c2[1392],_mm256_xor_si256(c2[1232],_mm256_xor_si256(c2[2853],_mm256_xor_si256(c2[294],_mm256_xor_si256(c2[775],_mm256_xor_si256(c2[615],_mm256_xor_si256(c2[1729],_mm256_xor_si256(c2[4948],_mm256_xor_si256(c2[2230],_mm256_xor_si256(c2[3026],c2[2866]))))))))))))))))))))))))))))))))))));
//row: 22
d2[176]=_mm256_xor_si256(c2[4822],c2[4993]);
//row: 23
d2[184]=_mm256_xor_si256(c2[3680],_mm256_xor_si256(c2[1815],c2[2327]));
//row: 24
d2[192]=_mm256_xor_si256(c2[2257],_mm256_xor_si256(c2[1796],c2[1424]));
//row: 25
d2[200]=_mm256_xor_si256(c2[647],c2[4564]);
//row: 26
d2[208]=_mm256_xor_si256(c2[1445],_mm256_xor_si256(c2[1285],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[1122],_mm256_xor_si256(c2[962],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[2567],_mm256_xor_si256(c2[1606],_mm256_xor_si256(c2[3376],_mm256_xor_si256(c2[3216],_mm256_xor_si256(c2[2263],_mm256_xor_si256(c2[2736],_mm256_xor_si256(c2[1783],_mm256_xor_si256(c2[340],_mm256_xor_si256(c2[1141],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[1955],_mm256_xor_si256(c2[1795],_mm256_xor_si256(c2[834],_mm256_xor_si256(c2[3237],_mm256_xor_si256(c2[4038],_mm256_xor_si256(c2[3077],_mm256_xor_si256(c2[4672],_mm256_xor_si256(c2[4213],_mm256_xor_si256(c2[4053],_mm256_xor_si256(c2[3092],_mm256_xor_si256(c2[1010],_mm256_xor_si256(c2[850],_mm256_xor_si256(c2[5008],_mm256_xor_si256(c2[1814],_mm256_xor_si256(c2[853],_mm256_xor_si256(c2[4708],_mm256_xor_si256(c2[4548],_mm256_xor_si256(c2[3587],_mm256_xor_si256(c2[3110],_mm256_xor_si256(c2[2149],_mm256_xor_si256(c2[3904],_mm256_xor_si256(c2[4705],_mm256_xor_si256(c2[3744],_mm256_xor_si256(c2[4720],_mm256_xor_si256(c2[4560],_mm256_xor_si256(c2[3607],_mm256_xor_si256(c2[407],_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[247],_mm256_xor_si256(c2[4738],_mm256_xor_si256(c2[4578],_mm256_xor_si256(c2[3617],_mm256_xor_si256(c2[420],_mm256_xor_si256(c2[260],_mm256_xor_si256(c2[4418],_mm256_xor_si256(c2[1858],_mm256_xor_si256(c2[2659],_mm256_xor_si256(c2[1698],_mm256_xor_si256(c2[4593],_mm256_xor_si256(c2[4433],_mm256_xor_si256(c2[3472],_mm256_xor_si256(c2[2677],_mm256_xor_si256(c2[3478],_mm256_xor_si256(c2[2517],_mm256_xor_si256(c2[2516],_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[5091],_mm256_xor_si256(c2[4130],_mm256_xor_si256(c2[2532],_mm256_xor_si256(c2[1571],_mm256_xor_si256(c2[2052],_mm256_xor_si256(c2[2853],_mm256_xor_si256(c2[1892],_mm256_xor_si256(c2[2227],_mm256_xor_si256(c2[2067],_mm256_xor_si256(c2[1106],_mm256_xor_si256(c2[4628],_mm256_xor_si256(c2[4468],_mm256_xor_si256(c2[3507],_mm256_xor_si256(c2[4311],_mm256_xor_si256(c2[5104],c2[4151])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[216]=_mm256_xor_si256(c2[1280],c2[3780]);
//row: 28
d2[224]=_mm256_xor_si256(c2[339],_mm256_xor_si256(c2[835],c2[1204]));
//row: 29
d2[232]=_mm256_xor_si256(c2[2880],c2[4544]);
//row: 30
d2[240]=_mm256_xor_si256(c2[1154],_mm256_xor_si256(c2[2647],_mm256_xor_si256(c2[1552],c2[3346])));
//row: 31
d2[248]=_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[1125],_mm256_xor_si256(c2[2722],_mm256_xor_si256(c2[3379],_mm256_xor_si256(c2[2899],_mm256_xor_si256(c2[1456],_mm256_xor_si256(c2[1296],_mm256_xor_si256(c2[1619],_mm256_xor_si256(c2[1958],_mm256_xor_si256(c2[4353],_mm256_xor_si256(c2[4193],_mm256_xor_si256(c2[4208],_mm256_xor_si256(c2[1013],_mm256_xor_si256(c2[1969],_mm256_xor_si256(c2[4711],_mm256_xor_si256(c2[3265],_mm256_xor_si256(c2[5028],_mm256_xor_si256(c2[4868],_mm256_xor_si256(c2[4723],_mm256_xor_si256(c2[1523],_mm256_xor_si256(c2[1363],_mm256_xor_si256(c2[4741],_mm256_xor_si256(c2[423],_mm256_xor_si256(c2[2982],_mm256_xor_si256(c2[2822],_mm256_xor_si256(c2[4596],_mm256_xor_si256(c2[3793],_mm256_xor_si256(c2[3633],_mm256_xor_si256(c2[135],_mm256_xor_si256(c2[2695],_mm256_xor_si256(c2[3168],_mm256_xor_si256(c2[3008],_mm256_xor_si256(c2[2230],_mm256_xor_si256(c2[4631],_mm256_xor_si256(c2[308],c2[148])))))))))))))))))))))))))))))))))));
//row: 32
d2[256]=_mm256_xor_si256(c2[2405],_mm256_xor_si256(c2[2245],_mm256_xor_si256(c2[2082],_mm256_xor_si256(c2[1922],_mm256_xor_si256(c2[3527],_mm256_xor_si256(c2[2887],_mm256_xor_si256(c2[4336],_mm256_xor_si256(c2[4176],_mm256_xor_si256(c2[3696],_mm256_xor_si256(c2[2101],_mm256_xor_si256(c2[2915],_mm256_xor_si256(c2[2755],_mm256_xor_si256(c2[4998],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[5013],_mm256_xor_si256(c2[1970],_mm256_xor_si256(c2[1810],_mm256_xor_si256(c2[2774],_mm256_xor_si256(c2[549],_mm256_xor_si256(c2[389],_mm256_xor_si256(c2[4070],_mm256_xor_si256(c2[546],_mm256_xor_si256(c2[561],_mm256_xor_si256(c2[401],_mm256_xor_si256(c2[2160],_mm256_xor_si256(c2[2001],_mm256_xor_si256(c2[579],_mm256_xor_si256(c2[419],_mm256_xor_si256(c2[1380],_mm256_xor_si256(c2[1220],_mm256_xor_si256(c2[3619],_mm256_xor_si256(c2[434],_mm256_xor_si256(c2[274],_mm256_xor_si256(c2[4438],_mm256_xor_si256(c2[1092],_mm256_xor_si256(c2[932],_mm256_xor_si256(c2[3492],_mm256_xor_si256(c2[3813],_mm256_xor_si256(c2[3187],_mm256_xor_si256(c2[3027],_mm256_xor_si256(c2[469],_mm256_xor_si256(c2[309],c2[945]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[264]=_mm256_xor_si256(c2[3047],_mm256_xor_si256(c2[2724],_mm256_xor_si256(c2[4321],_mm256_xor_si256(c2[4978],_mm256_xor_si256(c2[4498],_mm256_xor_si256(c2[2903],_mm256_xor_si256(c2[3557],_mm256_xor_si256(c2[673],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[688],_mm256_xor_si256(c2[2612],_mm256_xor_si256(c2[3568],_mm256_xor_si256(c2[1191],_mm256_xor_si256(c2[4864],_mm256_xor_si256(c2[1348],_mm256_xor_si256(c2[1203],_mm256_xor_si256(c2[2962],_mm256_xor_si256(c2[1221],_mm256_xor_si256(c2[2022],_mm256_xor_si256(c2[4421],_mm256_xor_si256(c2[1076],_mm256_xor_si256(c2[113],_mm256_xor_si256(c2[757],_mm256_xor_si256(c2[1734],_mm256_xor_si256(c2[4294],_mm256_xor_si256(c2[4615],_mm256_xor_si256(c2[3829],_mm256_xor_si256(c2[1111],c2[1747]))))))))))))))))))))))))))));
//row: 34
d2[272]=_mm256_xor_si256(c2[4802],_mm256_xor_si256(c2[4642],_mm256_xor_si256(c2[1921],_mm256_xor_si256(c2[4487],_mm256_xor_si256(c2[4327],_mm256_xor_si256(c2[1606],_mm256_xor_si256(c2[805],_mm256_xor_si256(c2[3203],_mm256_xor_si256(c2[3044],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[1462],_mm256_xor_si256(c2[3860],_mm256_xor_si256(c2[982],_mm256_xor_si256(c2[3380],_mm256_xor_si256(c2[1937],_mm256_xor_si256(c2[4498],_mm256_xor_si256(c2[1777],_mm256_xor_si256(c2[193],_mm256_xor_si256(c2[33],_mm256_xor_si256(c2[2439],_mm256_xor_si256(c2[4834],_mm256_xor_si256(c2[2276],_mm256_xor_si256(c2[4674],_mm256_xor_si256(c2[2451],_mm256_xor_si256(c2[2291],_mm256_xor_si256(c2[4689],_mm256_xor_si256(c2[4375],_mm256_xor_si256(c2[4215],_mm256_xor_si256(c2[1494],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[2450],_mm256_xor_si256(c2[2946],_mm256_xor_si256(c2[2786],_mm256_xor_si256(c2[65],_mm256_xor_si256(c2[1348],_mm256_xor_si256(c2[3746],_mm256_xor_si256(c2[390],_mm256_xor_si256(c2[2951],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[2966],_mm256_xor_si256(c2[2806],_mm256_xor_si256(c2[85],_mm256_xor_si256(c2[2004],_mm256_xor_si256(c2[4565],_mm256_xor_si256(c2[1844],_mm256_xor_si256(c2[2976],_mm256_xor_si256(c2[2816],_mm256_xor_si256(c2[103],_mm256_xor_si256(c2[3777],_mm256_xor_si256(c2[3617],_mm256_xor_si256(c2[896],_mm256_xor_si256(c2[3463],_mm256_xor_si256(c2[897],_mm256_xor_si256(c2[3303],_mm256_xor_si256(c2[2839],_mm256_xor_si256(c2[2679],_mm256_xor_si256(c2[5077],_mm256_xor_si256(c2[4274],_mm256_xor_si256(c2[1716],_mm256_xor_si256(c2[4114],_mm256_xor_si256(c2[3489],_mm256_xor_si256(c2[3329],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[770],_mm256_xor_si256(c2[3168],_mm256_xor_si256(c2[3649],_mm256_xor_si256(c2[1091],_mm256_xor_si256(c2[3489],_mm256_xor_si256(c2[465],_mm256_xor_si256(c2[305],_mm256_xor_si256(c2[2711],_mm256_xor_si256(c2[2866],_mm256_xor_si256(c2[2706],_mm256_xor_si256(c2[5104],_mm256_xor_si256(c2[789],_mm256_xor_si256(c2[3350],c2[629]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[280]=_mm256_xor_si256(c2[1282],_mm256_xor_si256(c2[1122],_mm256_xor_si256(c2[807],_mm256_xor_si256(c2[2404],_mm256_xor_si256(c2[3221],_mm256_xor_si256(c2[3061],_mm256_xor_si256(c2[2581],_mm256_xor_si256(c2[978],_mm256_xor_si256(c2[4017],_mm256_xor_si256(c2[1792],_mm256_xor_si256(c2[1632],_mm256_xor_si256(c2[3875],_mm256_xor_si256(c2[4050],_mm256_xor_si256(c2[3890],_mm256_xor_si256(c2[695],_mm256_xor_si256(c2[1651],_mm256_xor_si256(c2[4385],_mm256_xor_si256(c2[2947],_mm256_xor_si256(c2[4550],_mm256_xor_si256(c2[4405],_mm256_xor_si256(c2[1045],_mm256_xor_si256(c2[1361],_mm256_xor_si256(c2[4583],_mm256_xor_si256(c2[4423],_mm256_xor_si256(c2[97],_mm256_xor_si256(c2[2496],_mm256_xor_si256(c2[4278],_mm256_xor_si256(c2[3315],_mm256_xor_si256(c2[4928],_mm256_xor_si256(c2[2369],_mm256_xor_si256(c2[2690],_mm256_xor_si256(c2[2064],_mm256_xor_si256(c2[1904],_mm256_xor_si256(c2[4305],c2[4949]))))))))))))))))))))))))))))))))));
//row: 36
d2[288]=_mm256_xor_si256(c2[1924],_mm256_xor_si256(c2[993],c2[4276]));
//row: 37
d2[296]=_mm256_xor_si256(c2[487],_mm256_xor_si256(c2[4964],_mm256_xor_si256(c2[164],_mm256_xor_si256(c2[4641],_mm256_xor_si256(c2[1761],_mm256_xor_si256(c2[1127],_mm256_xor_si256(c2[2418],_mm256_xor_si256(c2[1776],_mm256_xor_si256(c2[1938],_mm256_xor_si256(c2[1296],_mm256_xor_si256(c2[4980],_mm256_xor_si256(c2[343],_mm256_xor_si256(c2[4820],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[355],_mm256_xor_si256(c2[2758],_mm256_xor_si256(c2[3232],_mm256_xor_si256(c2[2598],_mm256_xor_si256(c2[3255],_mm256_xor_si256(c2[2613],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[4529],_mm256_xor_si256(c2[1008],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[3750],_mm256_xor_si256(c2[3108],_mm256_xor_si256(c2[2304],_mm256_xor_si256(c2[1670],_mm256_xor_si256(c2[3425],_mm256_xor_si256(c2[3907],_mm256_xor_si256(c2[3265],_mm256_xor_si256(c2[3762],_mm256_xor_si256(c2[3120],_mm256_xor_si256(c2[5047],_mm256_xor_si256(c2[402],_mm256_xor_si256(c2[4887],_mm256_xor_si256(c2[3780],_mm256_xor_si256(c2[3138],_mm256_xor_si256(c2[4581],_mm256_xor_si256(c2[3939],_mm256_xor_si256(c2[1379],_mm256_xor_si256(c2[1861],_mm256_xor_si256(c2[1219],_mm256_xor_si256(c2[3635],_mm256_xor_si256(c2[2993],_mm256_xor_si256(c2[2198],_mm256_xor_si256(c2[2672],_mm256_xor_si256(c2[2038],_mm256_xor_si256(c2[4293],_mm256_xor_si256(c2[3651],_mm256_xor_si256(c2[1734],_mm256_xor_si256(c2[1092],_mm256_xor_si256(c2[1573],_mm256_xor_si256(c2[2055],_mm256_xor_si256(c2[1413],_mm256_xor_si256(c2[1269],_mm256_xor_si256(c2[627],_mm256_xor_si256(c2[3670],_mm256_xor_si256(c2[3028],_mm256_xor_si256(c2[3824],_mm256_xor_si256(c2[4306],c2[3664])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[304]=_mm256_xor_si256(c2[2401],_mm256_xor_si256(c2[2241],_mm256_xor_si256(c2[1926],_mm256_xor_si256(c2[3523],_mm256_xor_si256(c2[4340],_mm256_xor_si256(c2[4180],_mm256_xor_si256(c2[3700],_mm256_xor_si256(c2[2097],_mm256_xor_si256(c2[4976],_mm256_xor_si256(c2[2919],_mm256_xor_si256(c2[2759],_mm256_xor_si256(c2[4994],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[5009],_mm256_xor_si256(c2[1814],_mm256_xor_si256(c2[2770],_mm256_xor_si256(c2[385],_mm256_xor_si256(c2[4066],_mm256_xor_si256(c2[550],_mm256_xor_si256(c2[405],_mm256_xor_si256(c2[2164],_mm256_xor_si256(c2[402],_mm256_xor_si256(c2[583],_mm256_xor_si256(c2[423],_mm256_xor_si256(c2[1216],_mm256_xor_si256(c2[3623],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[4434],_mm256_xor_si256(c2[928],_mm256_xor_si256(c2[3488],_mm256_xor_si256(c2[3809],_mm256_xor_si256(c2[3191],_mm256_xor_si256(c2[3031],_mm256_xor_si256(c2[305],c2[949]))))))))))))))))))))))))))))))))));
//row: 39
d2[312]=_mm256_xor_si256(c2[1761],_mm256_xor_si256(c2[1601],_mm256_xor_si256(c2[1446],_mm256_xor_si256(c2[1286],_mm256_xor_si256(c2[2883],_mm256_xor_si256(c2[2407],_mm256_xor_si256(c2[3700],_mm256_xor_si256(c2[3540],_mm256_xor_si256(c2[3060],_mm256_xor_si256(c2[1457],_mm256_xor_si256(c2[2279],_mm256_xor_si256(c2[2119],_mm256_xor_si256(c2[4354],_mm256_xor_si256(c2[4529],_mm256_xor_si256(c2[4369],_mm256_xor_si256(c2[1334],_mm256_xor_si256(c2[1174],_mm256_xor_si256(c2[2130],_mm256_xor_si256(c2[5024],_mm256_xor_si256(c2[4864],_mm256_xor_si256(c2[3426],_mm256_xor_si256(c2[5029],_mm256_xor_si256(c2[5044],_mm256_xor_si256(c2[4884],_mm256_xor_si256(c2[1524],_mm256_xor_si256(c2[5062],_mm256_xor_si256(c2[4902],_mm256_xor_si256(c2[736],_mm256_xor_si256(c2[576],_mm256_xor_si256(c2[2983],_mm256_xor_si256(c2[4917],_mm256_xor_si256(c2[4757],_mm256_xor_si256(c2[3794],_mm256_xor_si256(c2[2037],_mm256_xor_si256(c2[448],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[2848],_mm256_xor_si256(c2[3169],_mm256_xor_si256(c2[2551],_mm256_xor_si256(c2[2391],_mm256_xor_si256(c2[4944],_mm256_xor_si256(c2[4784],c2[309]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[320]=_mm256_xor_si256(c2[3042],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[2727],_mm256_xor_si256(c2[4800],_mm256_xor_si256(c2[4324],_mm256_xor_si256(c2[1286],_mm256_xor_si256(c2[4981],_mm256_xor_si256(c2[1943],_mm256_xor_si256(c2[4501],_mm256_xor_si256(c2[1463],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[2898],_mm256_xor_si256(c2[4979],_mm256_xor_si256(c2[3552],_mm256_xor_si256(c2[514],_mm256_xor_si256(c2[2917],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[2757],_mm256_xor_si256(c2[32],_mm256_xor_si256(c2[691],_mm256_xor_si256(c2[2772],_mm256_xor_si256(c2[2615],_mm256_xor_si256(c2[4688],_mm256_xor_si256(c2[3571],_mm256_xor_si256(c2[533],_mm256_xor_si256(c2[1186],_mm256_xor_si256(c2[3267],_mm256_xor_si256(c2[4867],_mm256_xor_si256(c2[1829],_mm256_xor_si256(c2[3584],_mm256_xor_si256(c2[1351],_mm256_xor_si256(c2[3424],_mm256_xor_si256(c2[1206],_mm256_xor_si256(c2[3287],_mm256_xor_si256(c2[87],_mm256_xor_si256(c2[2965],_mm256_xor_si256(c2[5046],_mm256_xor_si256(c2[1216],_mm256_xor_si256(c2[3297],_mm256_xor_si256(c2[2017],_mm256_xor_si256(c2[4098],_mm256_xor_si256(c2[1538],_mm256_xor_si256(c2[4416],_mm256_xor_si256(c2[1378],_mm256_xor_si256(c2[1079],_mm256_xor_si256(c2[3152],_mm256_xor_si256(c2[2357],_mm256_xor_si256(c2[116],_mm256_xor_si256(c2[2197],_mm256_xor_si256(c2[1729],_mm256_xor_si256(c2[3810],_mm256_xor_si256(c2[4289],_mm256_xor_si256(c2[1251],_mm256_xor_si256(c2[1732],_mm256_xor_si256(c2[4610],_mm256_xor_si256(c2[1572],_mm256_xor_si256(c2[3824],_mm256_xor_si256(c2[786],_mm256_xor_si256(c2[1106],_mm256_xor_si256(c2[3187],_mm256_xor_si256(c2[3991],_mm256_xor_si256(c2[1750],c2[3831]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[328]=_mm256_xor_si256(c2[4963],_mm256_xor_si256(c2[4803],_mm256_xor_si256(c2[4480],_mm256_xor_si256(c2[966],_mm256_xor_si256(c2[1783],_mm256_xor_si256(c2[1623],_mm256_xor_si256(c2[1143],_mm256_xor_si256(c2[4659],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[194],_mm256_xor_si256(c2[2437],_mm256_xor_si256(c2[2612],_mm256_xor_si256(c2[2452],_mm256_xor_si256(c2[4368],_mm256_xor_si256(c2[213],_mm256_xor_si256(c2[2947],_mm256_xor_si256(c2[1509],_mm256_xor_si256(c2[3104],_mm256_xor_si256(c2[2967],_mm256_xor_si256(c2[4726],_mm256_xor_si256(c2[887],_mm256_xor_si256(c2[3137],_mm256_xor_si256(c2[2977],_mm256_xor_si256(c2[3778],_mm256_xor_si256(c2[1058],_mm256_xor_si256(c2[2832],_mm256_xor_si256(c2[1877],_mm256_xor_si256(c2[3490],_mm256_xor_si256(c2[931],_mm256_xor_si256(c2[1252],_mm256_xor_si256(c2[626],_mm256_xor_si256(c2[466],_mm256_xor_si256(c2[2867],c2[3511]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=288, byte encoding
static inline void ldpc_BG2_Zc288_byte(uint8_t *c,uint8_t *d) {
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
__m256i *c2,*d2;
int i2;
for (i2=0; i2<9; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[3240],_mm256_xor_si256(c2[5402],_mm256_xor_si256(c2[4518],_mm256_xor_si256(c2[1641],_mm256_xor_si256(c2[4161],_mm256_xor_si256(c2[3637],_mm256_xor_si256(c2[4359],_mm256_xor_si256(c2[415],_mm256_xor_si256(c2[5276],_mm256_xor_si256(c2[4916],_mm256_xor_si256(c2[1335],_mm256_xor_si256(c2[2415],_mm256_xor_si256(c2[3852],_mm256_xor_si256(c2[272],_mm256_xor_si256(c2[630],_mm256_xor_si256(c2[3351],_mm256_xor_si256(c2[3530],_mm256_xor_si256(c2[1550],_mm256_xor_si256(c2[309],_mm256_xor_si256(c2[3007],_mm256_xor_si256(c2[866],_mm256_xor_si256(c2[2667],_mm256_xor_si256(c2[5727],_mm256_xor_si256(c2[5565],_mm256_xor_si256(c2[3223],c2[2684]))))))))))))))))))))))))));
//row: 1
d2[9]=_mm256_xor_si256(c2[540],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[3240],_mm256_xor_si256(c2[5402],_mm256_xor_si256(c2[4698],_mm256_xor_si256(c2[4518],_mm256_xor_si256(c2[1641],_mm256_xor_si256(c2[4161],_mm256_xor_si256(c2[3817],_mm256_xor_si256(c2[3637],_mm256_xor_si256(c2[4359],_mm256_xor_si256(c2[595],_mm256_xor_si256(c2[415],_mm256_xor_si256(c2[5276],_mm256_xor_si256(c2[4916],_mm256_xor_si256(c2[1335],_mm256_xor_si256(c2[2415],_mm256_xor_si256(c2[3852],_mm256_xor_si256(c2[272],_mm256_xor_si256(c2[630],_mm256_xor_si256(c2[3531],_mm256_xor_si256(c2[3351],_mm256_xor_si256(c2[3530],_mm256_xor_si256(c2[1550],_mm256_xor_si256(c2[309],_mm256_xor_si256(c2[3007],_mm256_xor_si256(c2[866],_mm256_xor_si256(c2[2667],_mm256_xor_si256(c2[5727],_mm256_xor_si256(c2[5745],_mm256_xor_si256(c2[5565],_mm256_xor_si256(c2[3223],c2[2684]))))))))))))))))))))))))))))))));
//row: 2
d2[18]=_mm256_xor_si256(c2[540],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[3420],_mm256_xor_si256(c2[3240],_mm256_xor_si256(c2[5402],_mm256_xor_si256(c2[4698],_mm256_xor_si256(c2[4518],_mm256_xor_si256(c2[1641],_mm256_xor_si256(c2[4161],_mm256_xor_si256(c2[3817],_mm256_xor_si256(c2[3637],_mm256_xor_si256(c2[4359],_mm256_xor_si256(c2[595],_mm256_xor_si256(c2[415],_mm256_xor_si256(c2[5456],_mm256_xor_si256(c2[5276],_mm256_xor_si256(c2[4916],_mm256_xor_si256(c2[1515],_mm256_xor_si256(c2[1335],_mm256_xor_si256(c2[2415],_mm256_xor_si256(c2[3852],_mm256_xor_si256(c2[452],_mm256_xor_si256(c2[272],_mm256_xor_si256(c2[630],_mm256_xor_si256(c2[3531],_mm256_xor_si256(c2[3351],_mm256_xor_si256(c2[3710],_mm256_xor_si256(c2[3530],_mm256_xor_si256(c2[1550],_mm256_xor_si256(c2[489],_mm256_xor_si256(c2[309],_mm256_xor_si256(c2[3007],_mm256_xor_si256(c2[1046],_mm256_xor_si256(c2[866],_mm256_xor_si256(c2[2667],_mm256_xor_si256(c2[5727],_mm256_xor_si256(c2[5745],_mm256_xor_si256(c2[5565],_mm256_xor_si256(c2[3403],_mm256_xor_si256(c2[3223],c2[2684]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[27]=_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[3240],_mm256_xor_si256(c2[5402],_mm256_xor_si256(c2[4518],_mm256_xor_si256(c2[1641],_mm256_xor_si256(c2[4341],_mm256_xor_si256(c2[4161],_mm256_xor_si256(c2[3637],_mm256_xor_si256(c2[4539],_mm256_xor_si256(c2[4359],_mm256_xor_si256(c2[415],_mm256_xor_si256(c2[5276],_mm256_xor_si256(c2[4916],_mm256_xor_si256(c2[1335],_mm256_xor_si256(c2[2415],_mm256_xor_si256(c2[4032],_mm256_xor_si256(c2[3852],_mm256_xor_si256(c2[272],_mm256_xor_si256(c2[810],_mm256_xor_si256(c2[630],_mm256_xor_si256(c2[3351],_mm256_xor_si256(c2[3530],_mm256_xor_si256(c2[1730],_mm256_xor_si256(c2[1550],_mm256_xor_si256(c2[309],_mm256_xor_si256(c2[3187],_mm256_xor_si256(c2[3007],_mm256_xor_si256(c2[866],_mm256_xor_si256(c2[2667],_mm256_xor_si256(c2[148],_mm256_xor_si256(c2[5727],_mm256_xor_si256(c2[5565],_mm256_xor_si256(c2[3223],_mm256_xor_si256(c2[2864],c2[2684]))))))))))))))))))))))))))))))))));
//row: 4
d2[36]=_mm256_xor_si256(c2[3961],_mm256_xor_si256(c2[3781],_mm256_xor_si256(c2[902],_mm256_xor_si256(c2[3064],_mm256_xor_si256(c2[1801],_mm256_xor_si256(c2[2360],_mm256_xor_si256(c2[2180],_mm256_xor_si256(c2[5062],_mm256_xor_si256(c2[1823],_mm256_xor_si256(c2[4338],_mm256_xor_si256(c2[1479],_mm256_xor_si256(c2[1299],_mm256_xor_si256(c2[2021],_mm256_xor_si256(c2[4016],_mm256_xor_si256(c2[3836],_mm256_xor_si256(c2[2938],_mm256_xor_si256(c2[2578],_mm256_xor_si256(c2[4756],_mm256_xor_si256(c2[77],_mm256_xor_si256(c2[1514],_mm256_xor_si256(c2[3693],_mm256_xor_si256(c2[4051],_mm256_xor_si256(c2[1193],_mm256_xor_si256(c2[1013],_mm256_xor_si256(c2[1192],_mm256_xor_si256(c2[4971],_mm256_xor_si256(c2[3730],_mm256_xor_si256(c2[669],_mm256_xor_si256(c2[4287],_mm256_xor_si256(c2[329],_mm256_xor_si256(c2[3389],_mm256_xor_si256(c2[3407],_mm256_xor_si256(c2[3227],_mm256_xor_si256(c2[885],c2[346]))))))))))))))))))))))))))))))))));
//row: 5
d2[45]=_mm256_xor_si256(c2[1802],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[4502],_mm256_xor_si256(c2[905],_mm256_xor_si256(c2[1441],_mm256_xor_si256(c2[201],_mm256_xor_si256(c2[21],_mm256_xor_si256(c2[2903],_mm256_xor_si256(c2[5423],_mm256_xor_si256(c2[2182],_mm256_xor_si256(c2[5079],_mm256_xor_si256(c2[4899],_mm256_xor_si256(c2[5621],_mm256_xor_si256(c2[1857],_mm256_xor_si256(c2[1677],_mm256_xor_si256(c2[779],_mm256_xor_si256(c2[419],_mm256_xor_si256(c2[2597],_mm256_xor_si256(c2[3677],_mm256_xor_si256(c2[5114],_mm256_xor_si256(c2[1534],_mm256_xor_si256(c2[1892],_mm256_xor_si256(c2[3692],_mm256_xor_si256(c2[4793],_mm256_xor_si256(c2[4613],_mm256_xor_si256(c2[4792],_mm256_xor_si256(c2[2812],_mm256_xor_si256(c2[1571],_mm256_xor_si256(c2[4269],_mm256_xor_si256(c2[1750],_mm256_xor_si256(c2[2128],_mm256_xor_si256(c2[3929],_mm256_xor_si256(c2[1230],_mm256_xor_si256(c2[1248],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[4485],c2[3946]))))))))))))))))))))))))))))))))))));
//row: 6
d2[54]=_mm256_xor_si256(c2[2524],_mm256_xor_si256(c2[2344],_mm256_xor_si256(c2[5224],_mm256_xor_si256(c2[1627],_mm256_xor_si256(c2[2343],_mm256_xor_si256(c2[923],_mm256_xor_si256(c2[743],_mm256_xor_si256(c2[3625],_mm256_xor_si256(c2[386],_mm256_xor_si256(c2[42],_mm256_xor_si256(c2[5621],_mm256_xor_si256(c2[584],_mm256_xor_si256(c2[2579],_mm256_xor_si256(c2[2399],_mm256_xor_si256(c2[1501],_mm256_xor_si256(c2[1141],_mm256_xor_si256(c2[3319],_mm256_xor_si256(c2[4399],_mm256_xor_si256(c2[77],_mm256_xor_si256(c2[2256],_mm256_xor_si256(c2[2614],_mm256_xor_si256(c2[4232],_mm256_xor_si256(c2[5515],_mm256_xor_si256(c2[5335],_mm256_xor_si256(c2[5514],_mm256_xor_si256(c2[3534],_mm256_xor_si256(c2[2293],_mm256_xor_si256(c2[4991],_mm256_xor_si256(c2[2109],_mm256_xor_si256(c2[2850],_mm256_xor_si256(c2[4651],_mm256_xor_si256(c2[1952],_mm256_xor_si256(c2[1970],_mm256_xor_si256(c2[1790],_mm256_xor_si256(c2[5207],_mm256_xor_si256(c2[4668],c2[1066]))))))))))))))))))))))))))))))))))));
//row: 7
d2[63]=_mm256_xor_si256(c2[2703],_mm256_xor_si256(c2[2523],_mm256_xor_si256(c2[542],_mm256_xor_si256(c2[5403],_mm256_xor_si256(c2[3422],_mm256_xor_si256(c2[1806],_mm256_xor_si256(c2[5584],_mm256_xor_si256(c2[1102],_mm256_xor_si256(c2[922],_mm256_xor_si256(c2[4700],_mm256_xor_si256(c2[3804],_mm256_xor_si256(c2[1823],_mm256_xor_si256(c2[565],_mm256_xor_si256(c2[4523],_mm256_xor_si256(c2[4343],_mm256_xor_si256(c2[201],_mm256_xor_si256(c2[221],_mm256_xor_si256(c2[41],_mm256_xor_si256(c2[3819],_mm256_xor_si256(c2[763],_mm256_xor_si256(c2[4721],_mm256_xor_si256(c2[4541],_mm256_xor_si256(c2[2758],_mm256_xor_si256(c2[2578],_mm256_xor_si256(c2[597],_mm256_xor_si256(c2[1680],_mm256_xor_si256(c2[5458],_mm256_xor_si256(c2[1320],_mm256_xor_si256(c2[5098],_mm256_xor_si256(c2[3498],_mm256_xor_si256(c2[1517],_mm256_xor_si256(c2[4578],_mm256_xor_si256(c2[2597],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[4214],_mm256_xor_si256(c2[4034],_mm256_xor_si256(c2[2435],_mm256_xor_si256(c2[454],_mm256_xor_si256(c2[2793],_mm256_xor_si256(c2[992],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[1354],_mm256_xor_si256(c2[5694],_mm256_xor_si256(c2[5514],_mm256_xor_si256(c2[3533],_mm256_xor_si256(c2[5693],_mm256_xor_si256(c2[3712],_mm256_xor_si256(c2[3713],_mm256_xor_si256(c2[1912],_mm256_xor_si256(c2[1732],_mm256_xor_si256(c2[2472],_mm256_xor_si256(c2[491],_mm256_xor_si256(c2[5170],_mm256_xor_si256(c2[3369],_mm256_xor_si256(c2[3189],_mm256_xor_si256(c2[667],_mm256_xor_si256(c2[3029],_mm256_xor_si256(c2[1048],_mm256_xor_si256(c2[4830],_mm256_xor_si256(c2[2849],_mm256_xor_si256(c2[2131],_mm256_xor_si256(c2[330],_mm256_xor_si256(c2[150],_mm256_xor_si256(c2[2149],_mm256_xor_si256(c2[1969],_mm256_xor_si256(c2[5747],_mm256_xor_si256(c2[5386],_mm256_xor_si256(c2[3405],_mm256_xor_si256(c2[4847],_mm256_xor_si256(c2[3046],c2[2866]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[72]=_mm256_xor_si256(c2[4862],_mm256_xor_si256(c2[4682],_mm256_xor_si256(c2[1983],_mm256_xor_si256(c2[1803],_mm256_xor_si256(c2[3965],_mm256_xor_si256(c2[1082],_mm256_xor_si256(c2[3261],_mm256_xor_si256(c2[3081],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[2724],_mm256_xor_si256(c2[920],_mm256_xor_si256(c2[2380],_mm256_xor_si256(c2[2200],_mm256_xor_si256(c2[2922],_mm256_xor_si256(c2[4917],_mm256_xor_si256(c2[4737],_mm256_xor_si256(c2[4019],_mm256_xor_si256(c2[3839],_mm256_xor_si256(c2[3479],_mm256_xor_si256(c2[78],_mm256_xor_si256(c2[5657],_mm256_xor_si256(c2[978],_mm256_xor_si256(c2[2415],_mm256_xor_si256(c2[4774],_mm256_xor_si256(c2[4594],_mm256_xor_si256(c2[4952],_mm256_xor_si256(c2[2094],_mm256_xor_si256(c2[1914],_mm256_xor_si256(c2[2273],_mm256_xor_si256(c2[2093],_mm256_xor_si256(c2[113],_mm256_xor_si256(c2[4811],_mm256_xor_si256(c2[4631],_mm256_xor_si256(c2[1570],_mm256_xor_si256(c2[5368],_mm256_xor_si256(c2[5188],_mm256_xor_si256(c2[1230],_mm256_xor_si256(c2[4290],_mm256_xor_si256(c2[4308],_mm256_xor_si256(c2[4128],_mm256_xor_si256(c2[1966],_mm256_xor_si256(c2[1786],c2[1247]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[81]=_mm256_xor_si256(c2[4680],_mm256_xor_si256(c2[3601],_mm256_xor_si256(c2[3421],_mm256_xor_si256(c2[1801],_mm256_xor_si256(c2[542],_mm256_xor_si256(c2[3963],_mm256_xor_si256(c2[2704],_mm256_xor_si256(c2[3079],_mm256_xor_si256(c2[2000],_mm256_xor_si256(c2[1820],_mm256_xor_si256(c2[202],_mm256_xor_si256(c2[4702],_mm256_xor_si256(c2[2722],_mm256_xor_si256(c2[1463],_mm256_xor_si256(c2[201],_mm256_xor_si256(c2[2198],_mm256_xor_si256(c2[1119],_mm256_xor_si256(c2[939],_mm256_xor_si256(c2[2920],_mm256_xor_si256(c2[1661],_mm256_xor_si256(c2[4735],_mm256_xor_si256(c2[3656],_mm256_xor_si256(c2[3476],_mm256_xor_si256(c2[3837],_mm256_xor_si256(c2[2578],_mm256_xor_si256(c2[3477],_mm256_xor_si256(c2[2218],_mm256_xor_si256(c2[5655],_mm256_xor_si256(c2[4396],_mm256_xor_si256(c2[976],_mm256_xor_si256(c2[5476],_mm256_xor_si256(c2[2413],_mm256_xor_si256(c2[1154],_mm256_xor_si256(c2[4592],_mm256_xor_si256(c2[3333],_mm256_xor_si256(c2[4950],_mm256_xor_si256(c2[3691],_mm256_xor_si256(c2[1912],_mm256_xor_si256(c2[833],_mm256_xor_si256(c2[653],_mm256_xor_si256(c2[2091],_mm256_xor_si256(c2[832],_mm256_xor_si256(c2[111],_mm256_xor_si256(c2[4611],_mm256_xor_si256(c2[4629],_mm256_xor_si256(c2[3370],_mm256_xor_si256(c2[1568],_mm256_xor_si256(c2[309],_mm256_xor_si256(c2[5186],_mm256_xor_si256(c2[3927],_mm256_xor_si256(c2[1228],_mm256_xor_si256(c2[5728],_mm256_xor_si256(c2[4288],_mm256_xor_si256(c2[3029],_mm256_xor_si256(c2[1585],_mm256_xor_si256(c2[4126],_mm256_xor_si256(c2[3047],_mm256_xor_si256(c2[2867],_mm256_xor_si256(c2[1784],_mm256_xor_si256(c2[525],_mm256_xor_si256(c2[1245],c2[5745])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[90]=_mm256_xor_si256(c2[2521],_mm256_xor_si256(c2[1639],_mm256_xor_si256(c2[1011],c2[129])));
//row: 11
d2[99]=_mm256_xor_si256(c2[362],_mm256_xor_si256(c2[3242],_mm256_xor_si256(c2[5404],_mm256_xor_si256(c2[5040],_mm256_xor_si256(c2[4520],_mm256_xor_si256(c2[1643],_mm256_xor_si256(c2[4343],_mm256_xor_si256(c2[4163],_mm256_xor_si256(c2[3639],_mm256_xor_si256(c2[4541],_mm256_xor_si256(c2[4361],_mm256_xor_si256(c2[417],_mm256_xor_si256(c2[5278],_mm256_xor_si256(c2[4918],_mm256_xor_si256(c2[1337],_mm256_xor_si256(c2[2417],_mm256_xor_si256(c2[4034],_mm256_xor_si256(c2[3854],_mm256_xor_si256(c2[274],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[632],_mm256_xor_si256(c2[3353],_mm256_xor_si256(c2[3532],_mm256_xor_si256(c2[1732],_mm256_xor_si256(c2[1552],_mm256_xor_si256(c2[311],_mm256_xor_si256(c2[3189],_mm256_xor_si256(c2[3009],_mm256_xor_si256(c2[5526],_mm256_xor_si256(c2[868],_mm256_xor_si256(c2[2669],_mm256_xor_si256(c2[150],_mm256_xor_si256(c2[5729],_mm256_xor_si256(c2[5567],_mm256_xor_si256(c2[3225],_mm256_xor_si256(c2[2866],_mm256_xor_si256(c2[2686],c2[3765])))))))))))))))))))))))))))))))))))));
//row: 12
d2[108]=_mm256_xor_si256(c2[1084],_mm256_xor_si256(c2[904],_mm256_xor_si256(c2[3784],_mm256_xor_si256(c2[187],_mm256_xor_si256(c2[5242],_mm256_xor_si256(c2[5062],_mm256_xor_si256(c2[2185],_mm256_xor_si256(c2[4705],_mm256_xor_si256(c2[199],_mm256_xor_si256(c2[4361],_mm256_xor_si256(c2[4181],_mm256_xor_si256(c2[4903],_mm256_xor_si256(c2[1139],_mm256_xor_si256(c2[959],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[5460],_mm256_xor_si256(c2[4737],_mm256_xor_si256(c2[1879],_mm256_xor_si256(c2[2959],_mm256_xor_si256(c2[4396],_mm256_xor_si256(c2[816],_mm256_xor_si256(c2[1174],_mm256_xor_si256(c2[4075],_mm256_xor_si256(c2[3895],_mm256_xor_si256(c2[4074],_mm256_xor_si256(c2[2094],_mm256_xor_si256(c2[853],_mm256_xor_si256(c2[3551],_mm256_xor_si256(c2[1410],_mm256_xor_si256(c2[3211],_mm256_xor_si256(c2[512],_mm256_xor_si256(c2[530],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[3767],c2[3228]))))))))))))))))))))))))))))))))));
//row: 13
d2[117]=_mm256_xor_si256(c2[3061],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[2344],_mm256_xor_si256(c2[2162],_mm256_xor_si256(c2[1460],_mm256_xor_si256(c2[4342],_mm256_xor_si256(c2[1283],_mm256_xor_si256(c2[1103],_mm256_xor_si256(c2[919],_mm256_xor_si256(c2[579],_mm256_xor_si256(c2[1481],_mm256_xor_si256(c2[1301],_mm256_xor_si256(c2[3116],_mm256_xor_si256(c2[2218],_mm256_xor_si256(c2[1858],_mm256_xor_si256(c2[4036],_mm256_xor_si256(c2[5116],_mm256_xor_si256(c2[974],_mm256_xor_si256(c2[794],_mm256_xor_si256(c2[2973],_mm256_xor_si256(c2[3511],_mm256_xor_si256(c2[3331],_mm256_xor_si256(c2[293],_mm256_xor_si256(c2[472],_mm256_xor_si256(c2[4431],_mm256_xor_si256(c2[4251],_mm256_xor_si256(c2[3010],_mm256_xor_si256(c2[129],_mm256_xor_si256(c2[5708],_mm256_xor_si256(c2[3567],_mm256_xor_si256(c2[5368],_mm256_xor_si256(c2[2849],_mm256_xor_si256(c2[2669],_mm256_xor_si256(c2[5545],_mm256_xor_si256(c2[2507],_mm256_xor_si256(c2[165],_mm256_xor_si256(c2[5565],c2[5385])))))))))))))))))))))))))))))))))))));
//row: 14
d2[126]=_mm256_xor_si256(c2[904],_mm256_xor_si256(c2[724],_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[3604],_mm256_xor_si256(c2[3423],_mm256_xor_si256(c2[7],_mm256_xor_si256(c2[5585],_mm256_xor_si256(c2[5062],_mm256_xor_si256(c2[4882],_mm256_xor_si256(c2[4701],_mm256_xor_si256(c2[2005],_mm256_xor_si256(c2[1824],_mm256_xor_si256(c2[4525],_mm256_xor_si256(c2[4524],_mm256_xor_si256(c2[4344],_mm256_xor_si256(c2[2722],_mm256_xor_si256(c2[4181],_mm256_xor_si256(c2[4001],_mm256_xor_si256(c2[3820],_mm256_xor_si256(c2[4723],_mm256_xor_si256(c2[4722],_mm256_xor_si256(c2[4542],_mm256_xor_si256(c2[959],_mm256_xor_si256(c2[779],_mm256_xor_si256(c2[598],_mm256_xor_si256(c2[5640],_mm256_xor_si256(c2[5459],_mm256_xor_si256(c2[5280],_mm256_xor_si256(c2[5099],_mm256_xor_si256(c2[1699],_mm256_xor_si256(c2[1518],_mm256_xor_si256(c2[2779],_mm256_xor_si256(c2[2598],_mm256_xor_si256(c2[4216],_mm256_xor_si256(c2[4215],_mm256_xor_si256(c2[4035],_mm256_xor_si256(c2[636],_mm256_xor_si256(c2[455],_mm256_xor_si256(c2[994],_mm256_xor_si256(c2[993],_mm256_xor_si256(c2[813],_mm256_xor_si256(c2[3895],_mm256_xor_si256(c2[3715],_mm256_xor_si256(c2[3534],_mm256_xor_si256(c2[3894],_mm256_xor_si256(c2[3713],_mm256_xor_si256(c2[1914],_mm256_xor_si256(c2[1913],_mm256_xor_si256(c2[1733],_mm256_xor_si256(c2[3529],_mm256_xor_si256(c2[673],_mm256_xor_si256(c2[492],_mm256_xor_si256(c2[3371],_mm256_xor_si256(c2[3370],_mm256_xor_si256(c2[3190],_mm256_xor_si256(c2[1230],_mm256_xor_si256(c2[1049],_mm256_xor_si256(c2[3031],_mm256_xor_si256(c2[2850],_mm256_xor_si256(c2[332],_mm256_xor_si256(c2[331],_mm256_xor_si256(c2[151],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[5748],_mm256_xor_si256(c2[3587],_mm256_xor_si256(c2[3406],_mm256_xor_si256(c2[3048],_mm256_xor_si256(c2[3047],c2[2867])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[135]=_mm256_xor_si256(c2[363],_mm256_xor_si256(c2[544],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[3243],_mm256_xor_si256(c2[3244],_mm256_xor_si256(c2[5405],_mm256_xor_si256(c2[5406],_mm256_xor_si256(c2[1984],_mm256_xor_si256(c2[4521],_mm256_xor_si256(c2[4702],_mm256_xor_si256(c2[4522],_mm256_xor_si256(c2[1644],_mm256_xor_si256(c2[1645],_mm256_xor_si256(c2[4164],_mm256_xor_si256(c2[4165],_mm256_xor_si256(c2[3640],_mm256_xor_si256(c2[3821],_mm256_xor_si256(c2[3641],_mm256_xor_si256(c2[4362],_mm256_xor_si256(c2[4363],_mm256_xor_si256(c2[418],_mm256_xor_si256(c2[599],_mm256_xor_si256(c2[419],_mm256_xor_si256(c2[5279],_mm256_xor_si256(c2[5280],_mm256_xor_si256(c2[4919],_mm256_xor_si256(c2[4920],_mm256_xor_si256(c2[1338],_mm256_xor_si256(c2[1339],_mm256_xor_si256(c2[2418],_mm256_xor_si256(c2[2419],_mm256_xor_si256(c2[3855],_mm256_xor_si256(c2[3856],_mm256_xor_si256(c2[275],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[633],_mm256_xor_si256(c2[634],_mm256_xor_si256(c2[3354],_mm256_xor_si256(c2[3535],_mm256_xor_si256(c2[3355],_mm256_xor_si256(c2[3533],_mm256_xor_si256(c2[3534],_mm256_xor_si256(c2[1553],_mm256_xor_si256(c2[1554],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[313],_mm256_xor_si256(c2[3010],_mm256_xor_si256(c2[3011],_mm256_xor_si256(c2[869],_mm256_xor_si256(c2[870],_mm256_xor_si256(c2[2670],_mm256_xor_si256(c2[2671],_mm256_xor_si256(c2[5730],_mm256_xor_si256(c2[5731],_mm256_xor_si256(c2[5568],_mm256_xor_si256(c2[5749],_mm256_xor_si256(c2[5569],_mm256_xor_si256(c2[3226],_mm256_xor_si256(c2[3227],_mm256_xor_si256(c2[2687],c2[2688]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[144]=_mm256_xor_si256(c2[5580],_mm256_xor_si256(c2[5400],_mm256_xor_si256(c2[1980],_mm256_xor_si256(c2[1800],_mm256_xor_si256(c2[2521],_mm256_xor_si256(c2[4860],_mm256_xor_si256(c2[4680],_mm256_xor_si256(c2[4683],_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[3979],_mm256_xor_si256(c2[3799],_mm256_xor_si256(c2[379],_mm256_xor_si256(c2[199],_mm256_xor_si256(c2[922],_mm256_xor_si256(c2[3081],_mm256_xor_si256(c2[3442],_mm256_xor_si256(c2[5601],_mm256_xor_si256(c2[2899],_mm256_xor_si256(c2[3098],_mm256_xor_si256(c2[2918],_mm256_xor_si256(c2[5257],_mm256_xor_si256(c2[5077],_mm256_xor_si256(c2[3640],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[5635],_mm256_xor_si256(c2[5455],_mm256_xor_si256(c2[2035],_mm256_xor_si256(c2[1855],_mm256_xor_si256(c2[4557],_mm256_xor_si256(c2[1137],_mm256_xor_si256(c2[957],_mm256_xor_si256(c2[4197],_mm256_xor_si256(c2[597],_mm256_xor_si256(c2[616],_mm256_xor_si256(c2[2955],_mm256_xor_si256(c2[2775],_mm256_xor_si256(c2[1696],_mm256_xor_si256(c2[3855],_mm256_xor_si256(c2[3133],_mm256_xor_si256(c2[5292],_mm256_xor_si256(c2[5312],_mm256_xor_si256(c2[1892],_mm256_xor_si256(c2[1712],_mm256_xor_si256(c2[5670],_mm256_xor_si256(c2[2070],_mm256_xor_si256(c2[2812],_mm256_xor_si256(c2[2632],_mm256_xor_si256(c2[4971],_mm256_xor_si256(c2[4791],_mm256_xor_si256(c2[2811],_mm256_xor_si256(c2[5150],_mm256_xor_si256(c2[4970],_mm256_xor_si256(c2[831],_mm256_xor_si256(c2[2990],_mm256_xor_si256(c2[5349],_mm256_xor_si256(c2[1929],_mm256_xor_si256(c2[1749],_mm256_xor_si256(c2[2288],_mm256_xor_si256(c2[4447],_mm256_xor_si256(c2[147],_mm256_xor_si256(c2[2486],_mm256_xor_si256(c2[2306],_mm256_xor_si256(c2[1948],_mm256_xor_si256(c2[4107],_mm256_xor_si256(c2[5008],_mm256_xor_si256(c2[1408],_mm256_xor_si256(c2[5026],_mm256_xor_si256(c2[4846],_mm256_xor_si256(c2[1426],_mm256_xor_si256(c2[1246],_mm256_xor_si256(c2[2504],_mm256_xor_si256(c2[4843],_mm256_xor_si256(c2[4663],_mm256_xor_si256(c2[1965],_mm256_xor_si256(c2[4124],c2[1782])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[153]=_mm256_xor_si256(c2[722],_mm256_xor_si256(c2[542],_mm256_xor_si256(c2[2341],_mm256_xor_si256(c2[2161],_mm256_xor_si256(c2[3422],_mm256_xor_si256(c2[5221],_mm256_xor_si256(c2[5041],_mm256_xor_si256(c2[5584],_mm256_xor_si256(c2[1444],_mm256_xor_si256(c2[4880],_mm256_xor_si256(c2[4700],_mm256_xor_si256(c2[740],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[1823],_mm256_xor_si256(c2[3442],_mm256_xor_si256(c2[4343],_mm256_xor_si256(c2[203],_mm256_xor_si256(c2[4341],_mm256_xor_si256(c2[3999],_mm256_xor_si256(c2[3819],_mm256_xor_si256(c2[5618],_mm256_xor_si256(c2[5438],_mm256_xor_si256(c2[4541],_mm256_xor_si256(c2[401],_mm256_xor_si256(c2[777],_mm256_xor_si256(c2[597],_mm256_xor_si256(c2[2396],_mm256_xor_si256(c2[2216],_mm256_xor_si256(c2[5458],_mm256_xor_si256(c2[1498],_mm256_xor_si256(c2[1318],_mm256_xor_si256(c2[5098],_mm256_xor_si256(c2[958],_mm256_xor_si256(c2[1517],_mm256_xor_si256(c2[3316],_mm256_xor_si256(c2[3136],_mm256_xor_si256(c2[2597],_mm256_xor_si256(c2[4216],_mm256_xor_si256(c2[4034],_mm256_xor_si256(c2[5653],_mm256_xor_si256(c2[454],_mm256_xor_si256(c2[2253],_mm256_xor_si256(c2[2073],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[2431],_mm256_xor_si256(c2[2071],_mm256_xor_si256(c2[3713],_mm256_xor_si256(c2[3533],_mm256_xor_si256(c2[5332],_mm256_xor_si256(c2[5152],_mm256_xor_si256(c2[3712],_mm256_xor_si256(c2[5511],_mm256_xor_si256(c2[5331],_mm256_xor_si256(c2[1732],_mm256_xor_si256(c2[3351],_mm256_xor_si256(c2[491],_mm256_xor_si256(c2[2290],_mm256_xor_si256(c2[2110],_mm256_xor_si256(c2[3189],_mm256_xor_si256(c2[4808],_mm256_xor_si256(c2[1048],_mm256_xor_si256(c2[2847],_mm256_xor_si256(c2[2667],_mm256_xor_si256(c2[2849],_mm256_xor_si256(c2[4468],_mm256_xor_si256(c2[150],_mm256_xor_si256(c2[1769],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[5747],_mm256_xor_si256(c2[1787],_mm256_xor_si256(c2[1607],_mm256_xor_si256(c2[3405],_mm256_xor_si256(c2[5204],_mm256_xor_si256(c2[5024],_mm256_xor_si256(c2[2866],c2[4485])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[162]=_mm256_xor_si256(c2[3060],_mm256_xor_si256(c2[1911],c2[2650]));
//row: 19
d2[171]=_mm256_xor_si256(c2[1981],_mm256_xor_si256(c2[4861],_mm256_xor_si256(c2[1264],_mm256_xor_si256(c2[2702],_mm256_xor_si256(c2[380],_mm256_xor_si256(c2[3262],_mm256_xor_si256(c2[23],_mm256_xor_si256(c2[5058],_mm256_xor_si256(c2[5258],_mm256_xor_si256(c2[221],_mm256_xor_si256(c2[2036],_mm256_xor_si256(c2[1138],_mm256_xor_si256(c2[778],_mm256_xor_si256(c2[2956],_mm256_xor_si256(c2[4036],_mm256_xor_si256(c2[5473],_mm256_xor_si256(c2[1893],_mm256_xor_si256(c2[2251],_mm256_xor_si256(c2[4972],_mm256_xor_si256(c2[5151],_mm256_xor_si256(c2[3171],_mm256_xor_si256(c2[1930],_mm256_xor_si256(c2[4628],_mm256_xor_si256(c2[2487],_mm256_xor_si256(c2[4288],_mm256_xor_si256(c2[1589],_mm256_xor_si256(c2[1427],_mm256_xor_si256(c2[4844],c2[4305]))))))))))))))))))))))))))));
//row: 20
d2[180]=_mm256_xor_si256(c2[3062],_mm256_xor_si256(c2[2882],_mm256_xor_si256(c2[3],_mm256_xor_si256(c2[2165],_mm256_xor_si256(c2[1461],_mm256_xor_si256(c2[1281],_mm256_xor_si256(c2[4163],_mm256_xor_si256(c2[924],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[580],_mm256_xor_si256(c2[400],_mm256_xor_si256(c2[1122],_mm256_xor_si256(c2[3117],_mm256_xor_si256(c2[2937],_mm256_xor_si256(c2[2039],_mm256_xor_si256(c2[1679],_mm256_xor_si256(c2[3857],_mm256_xor_si256(c2[4937],_mm256_xor_si256(c2[615],_mm256_xor_si256(c2[1335],_mm256_xor_si256(c2[2794],_mm256_xor_si256(c2[3152],_mm256_xor_si256(c2[294],_mm256_xor_si256(c2[114],_mm256_xor_si256(c2[293],_mm256_xor_si256(c2[4072],_mm256_xor_si256(c2[2831],_mm256_xor_si256(c2[5529],_mm256_xor_si256(c2[3388],_mm256_xor_si256(c2[5189],_mm256_xor_si256(c2[2490],_mm256_xor_si256(c2[2508],_mm256_xor_si256(c2[2328],_mm256_xor_si256(c2[5745],c2[5206]))))))))))))))))))))))))))))))))));
//row: 21
d2[189]=_mm256_xor_si256(c2[3422],_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[2705],_mm256_xor_si256(c2[4862],_mm256_xor_si256(c2[1821],_mm256_xor_si256(c2[4703],_mm256_xor_si256(c2[1644],_mm256_xor_si256(c2[1464],_mm256_xor_si256(c2[940],_mm256_xor_si256(c2[1842],_mm256_xor_si256(c2[1662],_mm256_xor_si256(c2[3477],_mm256_xor_si256(c2[2579],_mm256_xor_si256(c2[2219],_mm256_xor_si256(c2[4397],_mm256_xor_si256(c2[5477],_mm256_xor_si256(c2[1335],_mm256_xor_si256(c2[1155],_mm256_xor_si256(c2[3334],_mm256_xor_si256(c2[3872],_mm256_xor_si256(c2[3692],_mm256_xor_si256(c2[654],_mm256_xor_si256(c2[833],_mm256_xor_si256(c2[4792],_mm256_xor_si256(c2[4612],_mm256_xor_si256(c2[3371],_mm256_xor_si256(c2[490],_mm256_xor_si256(c2[310],_mm256_xor_si256(c2[3928],_mm256_xor_si256(c2[5729],_mm256_xor_si256(c2[3210],_mm256_xor_si256(c2[3030],_mm256_xor_si256(c2[2126],_mm256_xor_si256(c2[2868],_mm256_xor_si256(c2[526],_mm256_xor_si256(c2[167],c2[5746]))))))))))))))))))))))))))))))))))));
//row: 22
d2[198]=_mm256_xor_si256(c2[3979],c2[760]);
//row: 23
d2[207]=_mm256_xor_si256(c2[722],_mm256_xor_si256(c2[3477],c2[4411]));
//row: 24
d2[216]=_mm256_xor_si256(c2[5418],_mm256_xor_si256(c2[1837],c2[1065]));
//row: 25
d2[225]=_mm256_xor_si256(c2[4],c2[5671]);
//row: 26
d2[234]=_mm256_xor_si256(c2[1263],_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[1264],_mm256_xor_si256(c2[4143],_mm256_xor_si256(c2[3963],_mm256_xor_si256(c2[4144],_mm256_xor_si256(c2[366],_mm256_xor_si256(c2[547],_mm256_xor_si256(c2[5421],_mm256_xor_si256(c2[5241],_mm256_xor_si256(c2[5422],_mm256_xor_si256(c2[2364],_mm256_xor_si256(c2[2545],_mm256_xor_si256(c2[4884],_mm256_xor_si256(c2[5245],_mm256_xor_si256(c2[5065],_mm256_xor_si256(c2[4540],_mm256_xor_si256(c2[4360],_mm256_xor_si256(c2[4541],_mm256_xor_si256(c2[5082],_mm256_xor_si256(c2[5443],_mm256_xor_si256(c2[5263],_mm256_xor_si256(c2[2560],_mm256_xor_si256(c2[1318],_mm256_xor_si256(c2[1138],_mm256_xor_si256(c2[1319],_mm256_xor_si256(c2[420],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[5639],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[2238],_mm256_xor_si256(c2[2058],_mm256_xor_si256(c2[2239],_mm256_xor_si256(c2[3138],_mm256_xor_si256(c2[3319],_mm256_xor_si256(c2[4575],_mm256_xor_si256(c2[4936],_mm256_xor_si256(c2[4756],_mm256_xor_si256(c2[1175],_mm256_xor_si256(c2[995],_mm256_xor_si256(c2[1176],_mm256_xor_si256(c2[1353],_mm256_xor_si256(c2[1714],_mm256_xor_si256(c2[1534],_mm256_xor_si256(c2[4254],_mm256_xor_si256(c2[4074],_mm256_xor_si256(c2[4255],_mm256_xor_si256(c2[4433],_mm256_xor_si256(c2[4253],_mm256_xor_si256(c2[4434],_mm256_xor_si256(c2[2273],_mm256_xor_si256(c2[2634],_mm256_xor_si256(c2[2454],_mm256_xor_si256(c2[1212],_mm256_xor_si256(c2[1032],_mm256_xor_si256(c2[1213],_mm256_xor_si256(c2[3730],_mm256_xor_si256(c2[4091],_mm256_xor_si256(c2[3911],_mm256_xor_si256(c2[5166],_mm256_xor_si256(c2[1769],_mm256_xor_si256(c2[1589],_mm256_xor_si256(c2[1770],_mm256_xor_si256(c2[3390],_mm256_xor_si256(c2[3571],_mm256_xor_si256(c2[691],_mm256_xor_si256(c2[1052],_mm256_xor_si256(c2[872],_mm256_xor_si256(c2[709],_mm256_xor_si256(c2[529],_mm256_xor_si256(c2[710],_mm256_xor_si256(c2[4126],_mm256_xor_si256(c2[3946],_mm256_xor_si256(c2[4127],_mm256_xor_si256(c2[3407],_mm256_xor_si256(c2[3768],c2[3588])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[243]=_mm256_xor_si256(c2[2340],c2[1908]);
//row: 28
d2[252]=_mm256_xor_si256(c2[1821],_mm256_xor_si256(c2[2378],c2[2071]));
//row: 29
d2[261]=_mm256_xor_si256(c2[904],c2[4572]);
//row: 30
d2[270]=_mm256_xor_si256(c2[4178],_mm256_xor_si256(c2[4411],_mm256_xor_si256(c2[1569],c2[1244])));
//row: 31
d2[279]=_mm256_xor_si256(c2[2344],_mm256_xor_si256(c2[5224],_mm256_xor_si256(c2[1627],_mm256_xor_si256(c2[743],_mm256_xor_si256(c2[3625],_mm256_xor_si256(c2[566],_mm256_xor_si256(c2[386],_mm256_xor_si256(c2[2900],_mm256_xor_si256(c2[5621],_mm256_xor_si256(c2[764],_mm256_xor_si256(c2[584],_mm256_xor_si256(c2[2399],_mm256_xor_si256(c2[1501],_mm256_xor_si256(c2[1141],_mm256_xor_si256(c2[3319],_mm256_xor_si256(c2[4399],_mm256_xor_si256(c2[257],_mm256_xor_si256(c2[77],_mm256_xor_si256(c2[2256],_mm256_xor_si256(c2[2794],_mm256_xor_si256(c2[2614],_mm256_xor_si256(c2[5335],_mm256_xor_si256(c2[5514],_mm256_xor_si256(c2[3714],_mm256_xor_si256(c2[3534],_mm256_xor_si256(c2[2293],_mm256_xor_si256(c2[5171],_mm256_xor_si256(c2[4991],_mm256_xor_si256(c2[2850],_mm256_xor_si256(c2[4651],_mm256_xor_si256(c2[2132],_mm256_xor_si256(c2[1952],_mm256_xor_si256(c2[1790],_mm256_xor_si256(c2[5207],_mm256_xor_si256(c2[4848],c2[4668])))))))))))))))))))))))))))))))))));
//row: 32
d2[288]=_mm256_xor_si256(c2[1802],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[4682],_mm256_xor_si256(c2[4502],_mm256_xor_si256(c2[905],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[201],_mm256_xor_si256(c2[21],_mm256_xor_si256(c2[2903],_mm256_xor_si256(c2[5423],_mm256_xor_si256(c2[5079],_mm256_xor_si256(c2[4899],_mm256_xor_si256(c2[5621],_mm256_xor_si256(c2[1857],_mm256_xor_si256(c2[1677],_mm256_xor_si256(c2[959],_mm256_xor_si256(c2[779],_mm256_xor_si256(c2[419],_mm256_xor_si256(c2[2777],_mm256_xor_si256(c2[2597],_mm256_xor_si256(c2[3677],_mm256_xor_si256(c2[5114],_mm256_xor_si256(c2[1714],_mm256_xor_si256(c2[1534],_mm256_xor_si256(c2[1892],_mm256_xor_si256(c2[4592],_mm256_xor_si256(c2[4793],_mm256_xor_si256(c2[4613],_mm256_xor_si256(c2[4972],_mm256_xor_si256(c2[4792],_mm256_xor_si256(c2[2812],_mm256_xor_si256(c2[1751],_mm256_xor_si256(c2[1571],_mm256_xor_si256(c2[4269],_mm256_xor_si256(c2[2308],_mm256_xor_si256(c2[2128],_mm256_xor_si256(c2[3929],_mm256_xor_si256(c2[1230],_mm256_xor_si256(c2[1248],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[4665],_mm256_xor_si256(c2[4485],c2[3946]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[297]=_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[3600],_mm256_xor_si256(c2[3],_mm256_xor_si256(c2[4878],_mm256_xor_si256(c2[2001],_mm256_xor_si256(c2[4521],_mm256_xor_si256(c2[3997],_mm256_xor_si256(c2[4719],_mm256_xor_si256(c2[1300],_mm256_xor_si256(c2[775],_mm256_xor_si256(c2[5636],_mm256_xor_si256(c2[5276],_mm256_xor_si256(c2[1695],_mm256_xor_si256(c2[2775],_mm256_xor_si256(c2[4212],_mm256_xor_si256(c2[632],_mm256_xor_si256(c2[990],_mm256_xor_si256(c2[3711],_mm256_xor_si256(c2[3890],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[669],_mm256_xor_si256(c2[3367],_mm256_xor_si256(c2[1206],_mm256_xor_si256(c2[1226],_mm256_xor_si256(c2[3027],_mm256_xor_si256(c2[328],_mm256_xor_si256(c2[166],_mm256_xor_si256(c2[3583],c2[3044]))))))))))))))))))))))))))));
//row: 34
d2[306]=_mm256_xor_si256(c2[5040],_mm256_xor_si256(c2[4860],_mm256_xor_si256(c2[3603],_mm256_xor_si256(c2[2161],_mm256_xor_si256(c2[1981],_mm256_xor_si256(c2[724],_mm256_xor_si256(c2[4143],_mm256_xor_si256(c2[2886],_mm256_xor_si256(c2[901],_mm256_xor_si256(c2[3439],_mm256_xor_si256(c2[3259],_mm256_xor_si256(c2[2002],_mm256_xor_si256(c2[382],_mm256_xor_si256(c2[4884],_mm256_xor_si256(c2[2902],_mm256_xor_si256(c2[1825],_mm256_xor_si256(c2[1645],_mm256_xor_si256(c2[2558],_mm256_xor_si256(c2[2378],_mm256_xor_si256(c2[1121],_mm256_xor_si256(c2[3100],_mm256_xor_si256(c2[2023],_mm256_xor_si256(c2[1843],_mm256_xor_si256(c2[5095],_mm256_xor_si256(c2[4915],_mm256_xor_si256(c2[3658],_mm256_xor_si256(c2[4197],_mm256_xor_si256(c2[4017],_mm256_xor_si256(c2[2760],_mm256_xor_si256(c2[3657],_mm256_xor_si256(c2[2400],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[4578],_mm256_xor_si256(c2[1156],_mm256_xor_si256(c2[5658],_mm256_xor_si256(c2[2593],_mm256_xor_si256(c2[1516],_mm256_xor_si256(c2[1336],_mm256_xor_si256(c2[4952],_mm256_xor_si256(c2[4772],_mm256_xor_si256(c2[3515],_mm256_xor_si256(c2[5130],_mm256_xor_si256(c2[4053],_mm256_xor_si256(c2[3873],_mm256_xor_si256(c2[2272],_mm256_xor_si256(c2[2092],_mm256_xor_si256(c2[835],_mm256_xor_si256(c2[2451],_mm256_xor_si256(c2[2271],_mm256_xor_si256(c2[1014],_mm256_xor_si256(c2[291],_mm256_xor_si256(c2[4973],_mm256_xor_si256(c2[4793],_mm256_xor_si256(c2[4989],_mm256_xor_si256(c2[4809],_mm256_xor_si256(c2[3552],_mm256_xor_si256(c2[1748],_mm256_xor_si256(c2[671],_mm256_xor_si256(c2[491],_mm256_xor_si256(c2[5546],_mm256_xor_si256(c2[5366],_mm256_xor_si256(c2[4109],_mm256_xor_si256(c2[1408],_mm256_xor_si256(c2[151],_mm256_xor_si256(c2[4468],_mm256_xor_si256(c2[3391],_mm256_xor_si256(c2[3211],_mm256_xor_si256(c2[4486],_mm256_xor_si256(c2[4306],_mm256_xor_si256(c2[3049],_mm256_xor_si256(c2[2144],_mm256_xor_si256(c2[1964],_mm256_xor_si256(c2[707],_mm256_xor_si256(c2[1425],_mm256_xor_si256(c2[348],c2[168]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[315]=_mm256_xor_si256(c2[3],_mm256_xor_si256(c2[5582],_mm256_xor_si256(c2[2703],_mm256_xor_si256(c2[4865],_mm256_xor_si256(c2[4161],_mm256_xor_si256(c2[3981],_mm256_xor_si256(c2[1104],_mm256_xor_si256(c2[3624],_mm256_xor_si256(c2[5059],_mm256_xor_si256(c2[3280],_mm256_xor_si256(c2[3100],_mm256_xor_si256(c2[3822],_mm256_xor_si256(c2[58],_mm256_xor_si256(c2[5637],_mm256_xor_si256(c2[4739],_mm256_xor_si256(c2[4379],_mm256_xor_si256(c2[798],_mm256_xor_si256(c2[1878],_mm256_xor_si256(c2[3315],_mm256_xor_si256(c2[5494],_mm256_xor_si256(c2[93],_mm256_xor_si256(c2[1714],_mm256_xor_si256(c2[2994],_mm256_xor_si256(c2[2814],_mm256_xor_si256(c2[2993],_mm256_xor_si256(c2[1013],_mm256_xor_si256(c2[5531],_mm256_xor_si256(c2[2470],_mm256_xor_si256(c2[329],_mm256_xor_si256(c2[2130],_mm256_xor_si256(c2[5190],_mm256_xor_si256(c2[5208],_mm256_xor_si256(c2[5028],_mm256_xor_si256(c2[2686],c2[2147]))))))))))))))))))))))))))))))))));
//row: 36
d2[324]=_mm256_xor_si256(c2[4503],_mm256_xor_si256(c2[220],c2[4806]));
//row: 37
d2[333]=_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[4681],_mm256_xor_si256(c2[3423],_mm256_xor_si256(c2[1802],_mm256_xor_si256(c2[5585],_mm256_xor_si256(c2[3964],_mm256_xor_si256(c2[4701],_mm256_xor_si256(c2[3080],_mm256_xor_si256(c2[1824],_mm256_xor_si256(c2[203],_mm256_xor_si256(c2[4344],_mm256_xor_si256(c2[2903],_mm256_xor_si256(c2[2723],_mm256_xor_si256(c2[3820],_mm256_xor_si256(c2[2199],_mm256_xor_si256(c2[4542],_mm256_xor_si256(c2[3101],_mm256_xor_si256(c2[2921],_mm256_xor_si256(c2[598],_mm256_xor_si256(c2[4736],_mm256_xor_si256(c2[5459],_mm256_xor_si256(c2[3838],_mm256_xor_si256(c2[5099],_mm256_xor_si256(c2[3478],_mm256_xor_si256(c2[1518],_mm256_xor_si256(c2[5656],_mm256_xor_si256(c2[2598],_mm256_xor_si256(c2[977],_mm256_xor_si256(c2[4035],_mm256_xor_si256(c2[2594],_mm256_xor_si256(c2[2414],_mm256_xor_si256(c2[455],_mm256_xor_si256(c2[4593],_mm256_xor_si256(c2[813],_mm256_xor_si256(c2[5131],_mm256_xor_si256(c2[4951],_mm256_xor_si256(c2[3534],_mm256_xor_si256(c2[1913],_mm256_xor_si256(c2[3713],_mm256_xor_si256(c2[2092],_mm256_xor_si256(c2[1733],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[492],_mm256_xor_si256(c2[4630],_mm256_xor_si256(c2[3190],_mm256_xor_si256(c2[1749],_mm256_xor_si256(c2[1569],_mm256_xor_si256(c2[1049],_mm256_xor_si256(c2[5187],_mm256_xor_si256(c2[2850],_mm256_xor_si256(c2[1229],_mm256_xor_si256(c2[151],_mm256_xor_si256(c2[4469],_mm256_xor_si256(c2[4289],_mm256_xor_si256(c2[5748],_mm256_xor_si256(c2[4127],_mm256_xor_si256(c2[3406],_mm256_xor_si256(c2[1785],_mm256_xor_si256(c2[2867],_mm256_xor_si256(c2[1426],c2[1246])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[342]=_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[540],_mm256_xor_si256(c2[3420],_mm256_xor_si256(c2[5582],_mm256_xor_si256(c2[4878],_mm256_xor_si256(c2[4698],_mm256_xor_si256(c2[1821],_mm256_xor_si256(c2[4341],_mm256_xor_si256(c2[198],_mm256_xor_si256(c2[3997],_mm256_xor_si256(c2[3817],_mm256_xor_si256(c2[4539],_mm256_xor_si256(c2[775],_mm256_xor_si256(c2[595],_mm256_xor_si256(c2[5456],_mm256_xor_si256(c2[5096],_mm256_xor_si256(c2[1515],_mm256_xor_si256(c2[2595],_mm256_xor_si256(c2[4032],_mm256_xor_si256(c2[452],_mm256_xor_si256(c2[810],_mm256_xor_si256(c2[1172],_mm256_xor_si256(c2[3711],_mm256_xor_si256(c2[3531],_mm256_xor_si256(c2[3710],_mm256_xor_si256(c2[1730],_mm256_xor_si256(c2[489],_mm256_xor_si256(c2[3187],_mm256_xor_si256(c2[1046],_mm256_xor_si256(c2[2847],_mm256_xor_si256(c2[148],_mm256_xor_si256(c2[166],_mm256_xor_si256(c2[5745],_mm256_xor_si256(c2[3403],c2[2864]))))))))))))))))))))))))))))))))));
//row: 39
d2[351]=_mm256_xor_si256(c2[3064],_mm256_xor_si256(c2[2884],_mm256_xor_si256(c2[185],_mm256_xor_si256(c2[5],_mm256_xor_si256(c2[2167],_mm256_xor_si256(c2[4143],_mm256_xor_si256(c2[1463],_mm256_xor_si256(c2[1283],_mm256_xor_si256(c2[4165],_mm256_xor_si256(c2[926],_mm256_xor_si256(c2[582],_mm256_xor_si256(c2[402],_mm256_xor_si256(c2[1124],_mm256_xor_si256(c2[3119],_mm256_xor_si256(c2[2939],_mm256_xor_si256(c2[2221],_mm256_xor_si256(c2[2041],_mm256_xor_si256(c2[1681],_mm256_xor_si256(c2[4039],_mm256_xor_si256(c2[3859],_mm256_xor_si256(c2[4939],_mm256_xor_si256(c2[617],_mm256_xor_si256(c2[2976],_mm256_xor_si256(c2[2796],_mm256_xor_si256(c2[3154],_mm256_xor_si256(c2[296],_mm256_xor_si256(c2[116],_mm256_xor_si256(c2[475],_mm256_xor_si256(c2[295],_mm256_xor_si256(c2[4074],_mm256_xor_si256(c2[3013],_mm256_xor_si256(c2[2833],_mm256_xor_si256(c2[5531],_mm256_xor_si256(c2[127],_mm256_xor_si256(c2[3570],_mm256_xor_si256(c2[3390],_mm256_xor_si256(c2[5191],_mm256_xor_si256(c2[2492],_mm256_xor_si256(c2[2510],_mm256_xor_si256(c2[2330],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[5747],c2[5208]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[360]=_mm256_xor_si256(c2[1982],_mm256_xor_si256(c2[1443],_mm256_xor_si256(c2[4862],_mm256_xor_si256(c2[4323],_mm256_xor_si256(c2[1265],_mm256_xor_si256(c2[726],_mm256_xor_si256(c2[381],_mm256_xor_si256(c2[5601],_mm256_xor_si256(c2[3263],_mm256_xor_si256(c2[2724],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[5424],_mm256_xor_si256(c2[5244],_mm256_xor_si256(c2[5259],_mm256_xor_si256(c2[4720],_mm256_xor_si256(c2[222],_mm256_xor_si256(c2[5622],_mm256_xor_si256(c2[5442],_mm256_xor_si256(c2[1116],_mm256_xor_si256(c2[2037],_mm256_xor_si256(c2[1498],_mm256_xor_si256(c2[1139],_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[779],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[2957],_mm256_xor_si256(c2[2418],_mm256_xor_si256(c2[4037],_mm256_xor_si256(c2[3498],_mm256_xor_si256(c2[5474],_mm256_xor_si256(c2[5115],_mm256_xor_si256(c2[4935],_mm256_xor_si256(c2[1894],_mm256_xor_si256(c2[1355],_mm256_xor_si256(c2[2252],_mm256_xor_si256(c2[1893],_mm256_xor_si256(c2[1713],_mm256_xor_si256(c2[4973],_mm256_xor_si256(c2[4434],_mm256_xor_si256(c2[5152],_mm256_xor_si256(c2[4613],_mm256_xor_si256(c2[3172],_mm256_xor_si256(c2[2813],_mm256_xor_si256(c2[2633],_mm256_xor_si256(c2[1931],_mm256_xor_si256(c2[1392],_mm256_xor_si256(c2[4629],_mm256_xor_si256(c2[4270],_mm256_xor_si256(c2[4090],_mm256_xor_si256(c2[2488],_mm256_xor_si256(c2[1949],_mm256_xor_si256(c2[4289],_mm256_xor_si256(c2[3750],_mm256_xor_si256(c2[1590],_mm256_xor_si256(c2[1231],_mm256_xor_si256(c2[1051],_mm256_xor_si256(c2[1428],_mm256_xor_si256(c2[889],_mm256_xor_si256(c2[4845],_mm256_xor_si256(c2[4306],_mm256_xor_si256(c2[4306],_mm256_xor_si256(c2[3947],c2[3767]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[369]=_mm256_xor_si256(c2[3960],_mm256_xor_si256(c2[3780],_mm256_xor_si256(c2[901],_mm256_xor_si256(c2[3063],_mm256_xor_si256(c2[2359],_mm256_xor_si256(c2[2179],_mm256_xor_si256(c2[5061],_mm256_xor_si256(c2[1822],_mm256_xor_si256(c2[2899],_mm256_xor_si256(c2[1478],_mm256_xor_si256(c2[1298],_mm256_xor_si256(c2[2020],_mm256_xor_si256(c2[4015],_mm256_xor_si256(c2[3835],_mm256_xor_si256(c2[2937],_mm256_xor_si256(c2[2577],_mm256_xor_si256(c2[4755],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[1513],_mm256_xor_si256(c2[3692],_mm256_xor_si256(c2[4050],_mm256_xor_si256(c2[2791],_mm256_xor_si256(c2[1192],_mm256_xor_si256(c2[1012],_mm256_xor_si256(c2[1191],_mm256_xor_si256(c2[4970],_mm256_xor_si256(c2[3729],_mm256_xor_si256(c2[668],_mm256_xor_si256(c2[4286],_mm256_xor_si256(c2[328],_mm256_xor_si256(c2[3388],_mm256_xor_si256(c2[3406],_mm256_xor_si256(c2[3226],_mm256_xor_si256(c2[884],c2[345]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
#define scalar_xor(a,b) ((a)^(b))
// generated code for Zc=2, byte encoding
static inline void ldpc_BG2_Zc2_byte(uint8_t *c,uint8_t *d) {
uint8_t *csimd=(uint8_t *)c,*dsimd=(uint8_t *)d;
uint8_t *c2,*d2;
int i2;
for (i2=0; i2<2; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))));
//row: 1
d2[2]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))))))))));
//row: 2
d2[4]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[6]=scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],c2[37]))))))))))))))))))))))))))))))))));
//row: 4
d2[8]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],c2[36]))))))))))))))))))))))))))))))))));
//row: 5
d2[10]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],c2[36]))))))))))))))))))))))))))))))))))));
//row: 6
d2[12]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[37],c2[36]))))))))))))))))))))))))))))))))))));
//row: 7
d2[14]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],c2[37]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[16]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[18]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[36],c2[36])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[20]=scalar_xor(c2[1],scalar_xor(c2[5],scalar_xor(c2[24],c2[29])));
//row: 11
d2[22]=scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],c2[36])))))))))))))))))))))))))))))))))))));
//row: 12
d2[24]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))))))))))));
//row: 13
d2[26]=scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],c2[37])))))))))))))))))))))))))))))))))))));
//row: 14
d2[28]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],c2[37])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[30]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[36],c2[36]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[32]=scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[37],c2[36])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[34]=scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[37],c2[37])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[36]=scalar_xor(c2[0],scalar_xor(c2[24],c2[28]));
//row: 19
d2[38]=scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[37],scalar_xor(c2[36],c2[36]))))))))))))))))))))))))))));
//row: 20
d2[40]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],c2[36]))))))))))))))))))))))))))))))))));
//row: 21
d2[42]=scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],c2[37]))))))))))))))))))))))))))))))))))));
//row: 22
d2[44]=scalar_xor(c2[4],c2[9]);
//row: 23
d2[46]=scalar_xor(c2[1],scalar_xor(c2[13],c2[20]));
//row: 24
d2[48]=scalar_xor(c2[4],scalar_xor(c2[9],c2[36]));
//row: 25
d2[50]=scalar_xor(c2[0],c2[20]);
//row: 26
d2[52]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],c2[37])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[54]=scalar_xor(c2[0],c2[25]);
//row: 28
d2[56]=scalar_xor(c2[4],scalar_xor(c2[9],c2[21]));
//row: 29
d2[58]=scalar_xor(c2[0],c2[16]);
//row: 30
d2[60]=scalar_xor(c2[9],scalar_xor(c2[20],scalar_xor(c2[29],c2[36])));
//row: 31
d2[62]=scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],c2[36])))))))))))))))))))))))))))))))))));
//row: 32
d2[64]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[66]=scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[37],scalar_xor(c2[36],c2[36]))))))))))))))))))))))))))));
//row: 34
d2[68]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],c2[37]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[70]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],c2[36]))))))))))))))))))))))))))))))))));
//row: 36
d2[72]=scalar_xor(c2[0],scalar_xor(c2[8],c2[28]));
//row: 37
d2[74]=scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],c2[36])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[76]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))))))))))));
//row: 39
d2[78]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[80]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],c2[37]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[82]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=320, byte encoding
static inline void ldpc_BG2_Zc320_byte(uint8_t *c,uint8_t *d) {
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
__m256i *c2,*d2;
int i2;
for (i2=0; i2<10; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm256_xor_si256(c2[6209],_mm256_xor_si256(c2[1604],_mm256_xor_si256(c2[3800],_mm256_xor_si256(c2[6229],_mm256_xor_si256(c2[5822],_mm256_xor_si256(c2[1021],_mm256_xor_si256(c2[6249],_mm256_xor_si256(c2[2840],_mm256_xor_si256(c2[6269],_mm256_xor_si256(c2[5463],_mm256_xor_si256(c2[463],_mm256_xor_si256(c2[6289],_mm256_xor_si256(c2[1680],_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[6309],_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[6329],_mm256_xor_si256(c2[4722],_mm256_xor_si256(c2[2320],_mm256_xor_si256(c2[6349],_mm256_xor_si256(c2[4941],_mm256_xor_si256(c2[6369],_mm256_xor_si256(c2[2363],_mm256_xor_si256(c2[4161],_mm256_xor_si256(c2[6389],_mm256_xor_si256(c2[4581],c2[2781]))))))))))))))))))))))))));
//row: 1
d2[10]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[6209],_mm256_xor_si256(c2[1604],_mm256_xor_si256(c2[3800],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[6229],_mm256_xor_si256(c2[5822],_mm256_xor_si256(c2[1021],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[6249],_mm256_xor_si256(c2[2840],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[6269],_mm256_xor_si256(c2[5463],_mm256_xor_si256(c2[463],_mm256_xor_si256(c2[6289],_mm256_xor_si256(c2[1680],_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[6309],_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[6329],_mm256_xor_si256(c2[4722],_mm256_xor_si256(c2[2320],_mm256_xor_si256(c2[6349],_mm256_xor_si256(c2[4941],_mm256_xor_si256(c2[6369],_mm256_xor_si256(c2[2363],_mm256_xor_si256(c2[4161],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[6389],_mm256_xor_si256(c2[4581],c2[2781]))))))))))))))))))))))))))))))));
//row: 2
d2[20]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[6209],_mm256_xor_si256(c2[1804],_mm256_xor_si256(c2[1604],_mm256_xor_si256(c2[3800],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[6229],_mm256_xor_si256(c2[5822],_mm256_xor_si256(c2[1021],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[6249],_mm256_xor_si256(c2[2840],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[6269],_mm256_xor_si256(c2[5663],_mm256_xor_si256(c2[5463],_mm256_xor_si256(c2[463],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[6289],_mm256_xor_si256(c2[1680],_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[100],_mm256_xor_si256(c2[6309],_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[6329],_mm256_xor_si256(c2[4922],_mm256_xor_si256(c2[4722],_mm256_xor_si256(c2[2320],_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[6349],_mm256_xor_si256(c2[4941],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[6369],_mm256_xor_si256(c2[2363],_mm256_xor_si256(c2[4161],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[6389],_mm256_xor_si256(c2[4781],_mm256_xor_si256(c2[4581],c2[2781]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[30]=_mm256_xor_si256(c2[6209],_mm256_xor_si256(c2[1604],_mm256_xor_si256(c2[3800],_mm256_xor_si256(c2[6229],_mm256_xor_si256(c2[5822],_mm256_xor_si256(c2[1221],_mm256_xor_si256(c2[1021],_mm256_xor_si256(c2[6249],_mm256_xor_si256(c2[3040],_mm256_xor_si256(c2[2840],_mm256_xor_si256(c2[6269],_mm256_xor_si256(c2[5463],_mm256_xor_si256(c2[463],_mm256_xor_si256(c2[6289],_mm256_xor_si256(c2[1680],_mm256_xor_si256(c2[1283],_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[6309],_mm256_xor_si256(c2[3704],_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[6329],_mm256_xor_si256(c2[4722],_mm256_xor_si256(c2[2520],_mm256_xor_si256(c2[2320],_mm256_xor_si256(c2[6349],_mm256_xor_si256(c2[5141],_mm256_xor_si256(c2[4941],_mm256_xor_si256(c2[6369],_mm256_xor_si256(c2[2363],_mm256_xor_si256(c2[4361],_mm256_xor_si256(c2[4161],_mm256_xor_si256(c2[6389],_mm256_xor_si256(c2[4581],_mm256_xor_si256(c2[2981],c2[2781]))))))))))))))))))))))))))))))))));
//row: 4
d2[40]=_mm256_xor_si256(c2[5804],_mm256_xor_si256(c2[5604],_mm256_xor_si256(c2[1009],_mm256_xor_si256(c2[3205],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[5824],_mm256_xor_si256(c2[5624],_mm256_xor_si256(c2[5227],_mm256_xor_si256(c2[426],_mm256_xor_si256(c2[1624],_mm256_xor_si256(c2[5844],_mm256_xor_si256(c2[5644],_mm256_xor_si256(c2[2245],_mm256_xor_si256(c2[5864],_mm256_xor_si256(c2[5664],_mm256_xor_si256(c2[4868],_mm256_xor_si256(c2[6267],_mm256_xor_si256(c2[5684],_mm256_xor_si256(c2[1085],_mm256_xor_si256(c2[488],_mm256_xor_si256(c2[5704],_mm256_xor_si256(c2[2909],_mm256_xor_si256(c2[5924],_mm256_xor_si256(c2[5724],_mm256_xor_si256(c2[4127],_mm256_xor_si256(c2[1725],_mm256_xor_si256(c2[5744],_mm256_xor_si256(c2[4346],_mm256_xor_si256(c2[5764],_mm256_xor_si256(c2[1768],_mm256_xor_si256(c2[3566],_mm256_xor_si256(c2[5984],_mm256_xor_si256(c2[5784],_mm256_xor_si256(c2[3986],c2[2186]))))))))))))))))))))))))))))))))));
//row: 5
d2[50]=_mm256_xor_si256(c2[2],_mm256_xor_si256(c2[6201],_mm256_xor_si256(c2[1606],_mm256_xor_si256(c2[3802],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[22],_mm256_xor_si256(c2[6221],_mm256_xor_si256(c2[5824],_mm256_xor_si256(c2[1023],_mm256_xor_si256(c2[624],_mm256_xor_si256(c2[42],_mm256_xor_si256(c2[6241],_mm256_xor_si256(c2[2842],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[6261],_mm256_xor_si256(c2[5465],_mm256_xor_si256(c2[465],_mm256_xor_si256(c2[6281],_mm256_xor_si256(c2[1682],_mm256_xor_si256(c2[1085],_mm256_xor_si256(c2[6301],_mm256_xor_si256(c2[3506],_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[122],_mm256_xor_si256(c2[6321],_mm256_xor_si256(c2[4724],_mm256_xor_si256(c2[2322],_mm256_xor_si256(c2[6341],_mm256_xor_si256(c2[4943],_mm256_xor_si256(c2[2744],_mm256_xor_si256(c2[6361],_mm256_xor_si256(c2[2365],_mm256_xor_si256(c2[4163],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[6381],_mm256_xor_si256(c2[4583],c2[2783]))))))))))))))))))))))))))))))))))));
//row: 6
d2[60]=_mm256_xor_si256(c2[4004],_mm256_xor_si256(c2[3804],_mm256_xor_si256(c2[5608],_mm256_xor_si256(c2[1405],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[4024],_mm256_xor_si256(c2[3824],_mm256_xor_si256(c2[3427],_mm256_xor_si256(c2[5025],_mm256_xor_si256(c2[4044],_mm256_xor_si256(c2[3844],_mm256_xor_si256(c2[445],_mm256_xor_si256(c2[4064],_mm256_xor_si256(c2[3864],_mm256_xor_si256(c2[3068],_mm256_xor_si256(c2[4467],_mm256_xor_si256(c2[3884],_mm256_xor_si256(c2[5684],_mm256_xor_si256(c2[5087],_mm256_xor_si256(c2[3904],_mm256_xor_si256(c2[1109],_mm256_xor_si256(c2[5703],_mm256_xor_si256(c2[4124],_mm256_xor_si256(c2[3924],_mm256_xor_si256(c2[2327],_mm256_xor_si256(c2[6324],_mm256_xor_si256(c2[3944],_mm256_xor_si256(c2[2546],_mm256_xor_si256(c2[743],_mm256_xor_si256(c2[3964],_mm256_xor_si256(c2[6367],_mm256_xor_si256(c2[1766],_mm256_xor_si256(c2[4184],_mm256_xor_si256(c2[3984],_mm256_xor_si256(c2[2186],_mm256_xor_si256(c2[386],c2[2781]))))))))))))))))))))))))))))))))))));
//row: 7
d2[70]=_mm256_xor_si256(c2[3],_mm256_xor_si256(c2[6202],_mm256_xor_si256(c2[2602],_mm256_xor_si256(c2[1607],_mm256_xor_si256(c2[4406],_mm256_xor_si256(c2[3803],_mm256_xor_si256(c2[203],_mm256_xor_si256(c2[23],_mm256_xor_si256(c2[6222],_mm256_xor_si256(c2[2622],_mm256_xor_si256(c2[5825],_mm256_xor_si256(c2[2225],_mm256_xor_si256(c2[1024],_mm256_xor_si256(c2[4023],_mm256_xor_si256(c2[3823],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[43],_mm256_xor_si256(c2[6242],_mm256_xor_si256(c2[2642],_mm256_xor_si256(c2[2843],_mm256_xor_si256(c2[5842],_mm256_xor_si256(c2[5642],_mm256_xor_si256(c2[63],_mm256_xor_si256(c2[6262],_mm256_xor_si256(c2[2662],_mm256_xor_si256(c2[5466],_mm256_xor_si256(c2[1866],_mm256_xor_si256(c2[466],_mm256_xor_si256(c2[3265],_mm256_xor_si256(c2[6282],_mm256_xor_si256(c2[2682],_mm256_xor_si256(c2[1683],_mm256_xor_si256(c2[4482],_mm256_xor_si256(c2[1086],_mm256_xor_si256(c2[4085],_mm256_xor_si256(c2[3885],_mm256_xor_si256(c2[6302],_mm256_xor_si256(c2[2702],_mm256_xor_si256(c2[3507],_mm256_xor_si256(c2[107],_mm256_xor_si256(c2[6306],_mm256_xor_si256(c2[2701],_mm256_xor_si256(c2[123],_mm256_xor_si256(c2[6322],_mm256_xor_si256(c2[2722],_mm256_xor_si256(c2[4725],_mm256_xor_si256(c2[1125],_mm256_xor_si256(c2[2323],_mm256_xor_si256(c2[5322],_mm256_xor_si256(c2[5122],_mm256_xor_si256(c2[6342],_mm256_xor_si256(c2[2742],_mm256_xor_si256(c2[4944],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[1344],_mm256_xor_si256(c2[4144],_mm256_xor_si256(c2[6362],_mm256_xor_si256(c2[2762],_mm256_xor_si256(c2[2366],_mm256_xor_si256(c2[5165],_mm256_xor_si256(c2[4164],_mm256_xor_si256(c2[764],_mm256_xor_si256(c2[564],_mm256_xor_si256(c2[183],_mm256_xor_si256(c2[6382],_mm256_xor_si256(c2[2782],_mm256_xor_si256(c2[4584],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[2784],_mm256_xor_si256(c2[5783],c2[5583]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[80]=_mm256_xor_si256(c2[4602],_mm256_xor_si256(c2[4402],_mm256_xor_si256(c2[7],_mm256_xor_si256(c2[6206],_mm256_xor_si256(c2[2003],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[4622],_mm256_xor_si256(c2[4422],_mm256_xor_si256(c2[4025],_mm256_xor_si256(c2[5623],_mm256_xor_si256(c2[222],_mm256_xor_si256(c2[4642],_mm256_xor_si256(c2[4442],_mm256_xor_si256(c2[1043],_mm256_xor_si256(c2[4662],_mm256_xor_si256(c2[4462],_mm256_xor_si256(c2[3866],_mm256_xor_si256(c2[3666],_mm256_xor_si256(c2[5065],_mm256_xor_si256(c2[4682],_mm256_xor_si256(c2[4482],_mm256_xor_si256(c2[6282],_mm256_xor_si256(c2[5685],_mm256_xor_si256(c2[4702],_mm256_xor_si256(c2[4502],_mm256_xor_si256(c2[1707],_mm256_xor_si256(c2[4722],_mm256_xor_si256(c2[4522],_mm256_xor_si256(c2[3125],_mm256_xor_si256(c2[2925],_mm256_xor_si256(c2[523],_mm256_xor_si256(c2[4742],_mm256_xor_si256(c2[4542],_mm256_xor_si256(c2[3144],_mm256_xor_si256(c2[4762],_mm256_xor_si256(c2[4562],_mm256_xor_si256(c2[566],_mm256_xor_si256(c2[2364],_mm256_xor_si256(c2[4782],_mm256_xor_si256(c2[4582],_mm256_xor_si256(c2[2984],_mm256_xor_si256(c2[2784],c2[984]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[90]=_mm256_xor_si256(c2[3601],_mm256_xor_si256(c2[4202],_mm256_xor_si256(c2[4002],_mm256_xor_si256(c2[5405],_mm256_xor_si256(c2[5806],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1603],_mm256_xor_si256(c2[3621],_mm256_xor_si256(c2[4222],_mm256_xor_si256(c2[4022],_mm256_xor_si256(c2[3224],_mm256_xor_si256(c2[3625],_mm256_xor_si256(c2[4822],_mm256_xor_si256(c2[5223],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[3641],_mm256_xor_si256(c2[4242],_mm256_xor_si256(c2[4042],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[643],_mm256_xor_si256(c2[3661],_mm256_xor_si256(c2[4262],_mm256_xor_si256(c2[4062],_mm256_xor_si256(c2[2865],_mm256_xor_si256(c2[3266],_mm256_xor_si256(c2[4264],_mm256_xor_si256(c2[4665],_mm256_xor_si256(c2[3681],_mm256_xor_si256(c2[4082],_mm256_xor_si256(c2[5481],_mm256_xor_si256(c2[5882],_mm256_xor_si256(c2[4884],_mm256_xor_si256(c2[5285],_mm256_xor_si256(c2[3701],_mm256_xor_si256(c2[4102],_mm256_xor_si256(c2[906],_mm256_xor_si256(c2[1307],_mm256_xor_si256(c2[3721],_mm256_xor_si256(c2[4322],_mm256_xor_si256(c2[4122],_mm256_xor_si256(c2[2124],_mm256_xor_si256(c2[2525],_mm256_xor_si256(c2[6121],_mm256_xor_si256(c2[123],_mm256_xor_si256(c2[3741],_mm256_xor_si256(c2[4142],_mm256_xor_si256(c2[2343],_mm256_xor_si256(c2[2744],_mm256_xor_si256(c2[3761],_mm256_xor_si256(c2[4162],_mm256_xor_si256(c2[6164],_mm256_xor_si256(c2[166],_mm256_xor_si256(c2[1563],_mm256_xor_si256(c2[1964],_mm256_xor_si256(c2[363],_mm256_xor_si256(c2[3781],_mm256_xor_si256(c2[4382],_mm256_xor_si256(c2[4182],_mm256_xor_si256(c2[1983],_mm256_xor_si256(c2[2384],_mm256_xor_si256(c2[183],c2[584])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[100]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[3420],_mm256_xor_si256(c2[5724],c2[4140])));
//row: 11
d2[110]=_mm256_xor_si256(c2[200],_mm256_xor_si256(c2[2004],_mm256_xor_si256(c2[4200],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[6222],_mm256_xor_si256(c2[1621],_mm256_xor_si256(c2[1421],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[3440],_mm256_xor_si256(c2[3240],_mm256_xor_si256(c2[260],_mm256_xor_si256(c2[5863],_mm256_xor_si256(c2[863],_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[2080],_mm256_xor_si256(c2[1683],_mm256_xor_si256(c2[1483],_mm256_xor_si256(c2[300],_mm256_xor_si256(c2[4104],_mm256_xor_si256(c2[3904],_mm256_xor_si256(c2[320],_mm256_xor_si256(c2[5122],_mm256_xor_si256(c2[2920],_mm256_xor_si256(c2[2720],_mm256_xor_si256(c2[340],_mm256_xor_si256(c2[5541],_mm256_xor_si256(c2[5341],_mm256_xor_si256(c2[1540],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[2763],_mm256_xor_si256(c2[4761],_mm256_xor_si256(c2[4561],_mm256_xor_si256(c2[380],_mm256_xor_si256(c2[4981],_mm256_xor_si256(c2[3381],_mm256_xor_si256(c2[3181],c2[980])))))))))))))))))))))))))))))))))))));
//row: 12
d2[120]=_mm256_xor_si256(c2[3201],_mm256_xor_si256(c2[3001],_mm256_xor_si256(c2[4805],_mm256_xor_si256(c2[602],_mm256_xor_si256(c2[3221],_mm256_xor_si256(c2[3021],_mm256_xor_si256(c2[2624],_mm256_xor_si256(c2[4222],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[3241],_mm256_xor_si256(c2[3041],_mm256_xor_si256(c2[6041],_mm256_xor_si256(c2[3261],_mm256_xor_si256(c2[3061],_mm256_xor_si256(c2[2265],_mm256_xor_si256(c2[3664],_mm256_xor_si256(c2[3463],_mm256_xor_si256(c2[3081],_mm256_xor_si256(c2[4881],_mm256_xor_si256(c2[4284],_mm256_xor_si256(c2[3101],_mm256_xor_si256(c2[306],_mm256_xor_si256(c2[3321],_mm256_xor_si256(c2[3121],_mm256_xor_si256(c2[1524],_mm256_xor_si256(c2[5521],_mm256_xor_si256(c2[3141],_mm256_xor_si256(c2[1743],_mm256_xor_si256(c2[3161],_mm256_xor_si256(c2[5564],_mm256_xor_si256(c2[963],_mm256_xor_si256(c2[3381],_mm256_xor_si256(c2[3181],_mm256_xor_si256(c2[1383],c2[5982]))))))))))))))))))))))))))))))))));
//row: 13
d2[130]=_mm256_xor_si256(c2[5000],_mm256_xor_si256(c2[405],_mm256_xor_si256(c2[2601],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[5020],_mm256_xor_si256(c2[4623],_mm256_xor_si256(c2[22],_mm256_xor_si256(c2[6221],_mm256_xor_si256(c2[3223],_mm256_xor_si256(c2[5040],_mm256_xor_si256(c2[1841],_mm256_xor_si256(c2[1641],_mm256_xor_si256(c2[5060],_mm256_xor_si256(c2[4264],_mm256_xor_si256(c2[5663],_mm256_xor_si256(c2[5080],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[6283],_mm256_xor_si256(c2[5100],_mm256_xor_si256(c2[2505],_mm256_xor_si256(c2[2305],_mm256_xor_si256(c2[5120],_mm256_xor_si256(c2[3523],_mm256_xor_si256(c2[1321],_mm256_xor_si256(c2[1121],_mm256_xor_si256(c2[5140],_mm256_xor_si256(c2[3942],_mm256_xor_si256(c2[3742],_mm256_xor_si256(c2[5160],_mm256_xor_si256(c2[1164],_mm256_xor_si256(c2[3162],_mm256_xor_si256(c2[2962],_mm256_xor_si256(c2[1363],_mm256_xor_si256(c2[5180],_mm256_xor_si256(c2[3382],_mm256_xor_si256(c2[1782],c2[1582])))))))))))))))))))))))))))))))))))));
//row: 14
d2[140]=_mm256_xor_si256(c2[5001],_mm256_xor_si256(c2[4801],_mm256_xor_si256(c2[5200],_mm256_xor_si256(c2[206],_mm256_xor_si256(c2[605],_mm256_xor_si256(c2[2402],_mm256_xor_si256(c2[2801],_mm256_xor_si256(c2[5021],_mm256_xor_si256(c2[4821],_mm256_xor_si256(c2[5220],_mm256_xor_si256(c2[4424],_mm256_xor_si256(c2[4823],_mm256_xor_si256(c2[6022],_mm256_xor_si256(c2[222],_mm256_xor_si256(c2[22],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[5041],_mm256_xor_si256(c2[4841],_mm256_xor_si256(c2[5240],_mm256_xor_si256(c2[1442],_mm256_xor_si256(c2[2041],_mm256_xor_si256(c2[1841],_mm256_xor_si256(c2[5061],_mm256_xor_si256(c2[4861],_mm256_xor_si256(c2[5260],_mm256_xor_si256(c2[4065],_mm256_xor_si256(c2[4464],_mm256_xor_si256(c2[5464],_mm256_xor_si256(c2[5863],_mm256_xor_si256(c2[4881],_mm256_xor_si256(c2[5280],_mm256_xor_si256(c2[282],_mm256_xor_si256(c2[681],_mm256_xor_si256(c2[6084],_mm256_xor_si256(c2[284],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[4901],_mm256_xor_si256(c2[5300],_mm256_xor_si256(c2[2106],_mm256_xor_si256(c2[2705],_mm256_xor_si256(c2[2505],_mm256_xor_si256(c2[5121],_mm256_xor_si256(c2[4921],_mm256_xor_si256(c2[5320],_mm256_xor_si256(c2[3324],_mm256_xor_si256(c2[3723],_mm256_xor_si256(c2[922],_mm256_xor_si256(c2[1521],_mm256_xor_si256(c2[1321],_mm256_xor_si256(c2[2124],_mm256_xor_si256(c2[4941],_mm256_xor_si256(c2[5340],_mm256_xor_si256(c2[3543],_mm256_xor_si256(c2[4142],_mm256_xor_si256(c2[3942],_mm256_xor_si256(c2[4961],_mm256_xor_si256(c2[5360],_mm256_xor_si256(c2[965],_mm256_xor_si256(c2[1364],_mm256_xor_si256(c2[2763],_mm256_xor_si256(c2[3362],_mm256_xor_si256(c2[3162],_mm256_xor_si256(c2[5181],_mm256_xor_si256(c2[4981],_mm256_xor_si256(c2[5380],_mm256_xor_si256(c2[3183],_mm256_xor_si256(c2[3582],_mm256_xor_si256(c2[1383],_mm256_xor_si256(c2[1982],c2[1782])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[150]=_mm256_xor_si256(c2[1602],_mm256_xor_si256(c2[603],_mm256_xor_si256(c2[403],_mm256_xor_si256(c2[3406],_mm256_xor_si256(c2[2207],_mm256_xor_si256(c2[5602],_mm256_xor_si256(c2[4403],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[623],_mm256_xor_si256(c2[423],_mm256_xor_si256(c2[1225],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[2823],_mm256_xor_si256(c2[1624],_mm256_xor_si256(c2[1642],_mm256_xor_si256(c2[643],_mm256_xor_si256(c2[443],_mm256_xor_si256(c2[4642],_mm256_xor_si256(c2[3443],_mm256_xor_si256(c2[1662],_mm256_xor_si256(c2[663],_mm256_xor_si256(c2[463],_mm256_xor_si256(c2[866],_mm256_xor_si256(c2[6066],_mm256_xor_si256(c2[2265],_mm256_xor_si256(c2[1066],_mm256_xor_si256(c2[1682],_mm256_xor_si256(c2[483],_mm256_xor_si256(c2[3482],_mm256_xor_si256(c2[2283],_mm256_xor_si256(c2[2885],_mm256_xor_si256(c2[1686],_mm256_xor_si256(c2[1702],_mm256_xor_si256(c2[503],_mm256_xor_si256(c2[5306],_mm256_xor_si256(c2[4107],_mm256_xor_si256(c2[1722],_mm256_xor_si256(c2[723],_mm256_xor_si256(c2[523],_mm256_xor_si256(c2[125],_mm256_xor_si256(c2[5325],_mm256_xor_si256(c2[4122],_mm256_xor_si256(c2[2923],_mm256_xor_si256(c2[1742],_mm256_xor_si256(c2[543],_mm256_xor_si256(c2[344],_mm256_xor_si256(c2[5544],_mm256_xor_si256(c2[1762],_mm256_xor_si256(c2[563],_mm256_xor_si256(c2[4165],_mm256_xor_si256(c2[2966],_mm256_xor_si256(c2[5963],_mm256_xor_si256(c2[4764],_mm256_xor_si256(c2[1782],_mm256_xor_si256(c2[783],_mm256_xor_si256(c2[583],_mm256_xor_si256(c2[6383],_mm256_xor_si256(c2[5184],_mm256_xor_si256(c2[4583],c2[3384]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[160]=_mm256_xor_si256(c2[3003],_mm256_xor_si256(c2[2803],_mm256_xor_si256(c2[3004],_mm256_xor_si256(c2[2804],_mm256_xor_si256(c2[4607],_mm256_xor_si256(c2[4808],_mm256_xor_si256(c2[4608],_mm256_xor_si256(c2[404],_mm256_xor_si256(c2[405],_mm256_xor_si256(c2[3023],_mm256_xor_si256(c2[2823],_mm256_xor_si256(c2[3024],_mm256_xor_si256(c2[2824],_mm256_xor_si256(c2[2426],_mm256_xor_si256(c2[2427],_mm256_xor_si256(c2[4024],_mm256_xor_si256(c2[4025],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[3043],_mm256_xor_si256(c2[2843],_mm256_xor_si256(c2[3044],_mm256_xor_si256(c2[2844],_mm256_xor_si256(c2[5843],_mm256_xor_si256(c2[5844],_mm256_xor_si256(c2[3063],_mm256_xor_si256(c2[2863],_mm256_xor_si256(c2[3064],_mm256_xor_si256(c2[2864],_mm256_xor_si256(c2[2067],_mm256_xor_si256(c2[2268],_mm256_xor_si256(c2[2068],_mm256_xor_si256(c2[3466],_mm256_xor_si256(c2[3467],_mm256_xor_si256(c2[2883],_mm256_xor_si256(c2[3084],_mm256_xor_si256(c2[2884],_mm256_xor_si256(c2[4683],_mm256_xor_si256(c2[4684],_mm256_xor_si256(c2[4086],_mm256_xor_si256(c2[4087],_mm256_xor_si256(c2[2903],_mm256_xor_si256(c2[3104],_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[109],_mm256_xor_si256(c2[3123],_mm256_xor_si256(c2[2923],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[2924],_mm256_xor_si256(c2[1326],_mm256_xor_si256(c2[1527],_mm256_xor_si256(c2[1327],_mm256_xor_si256(c2[5323],_mm256_xor_si256(c2[5324],_mm256_xor_si256(c2[2943],_mm256_xor_si256(c2[3144],_mm256_xor_si256(c2[2944],_mm256_xor_si256(c2[1545],_mm256_xor_si256(c2[1546],_mm256_xor_si256(c2[2963],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[2964],_mm256_xor_si256(c2[5366],_mm256_xor_si256(c2[5367],_mm256_xor_si256(c2[765],_mm256_xor_si256(c2[766],_mm256_xor_si256(c2[3183],_mm256_xor_si256(c2[2983],_mm256_xor_si256(c2[3184],_mm256_xor_si256(c2[2984],_mm256_xor_si256(c2[1185],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[1186],_mm256_xor_si256(c2[5784],_mm256_xor_si256(c2[5785],c2[3182])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[170]=_mm256_xor_si256(c2[2603],_mm256_xor_si256(c2[2403],_mm256_xor_si256(c2[3600],_mm256_xor_si256(c2[3400],_mm256_xor_si256(c2[4207],_mm256_xor_si256(c2[5404],_mm256_xor_si256(c2[5204],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[1001],_mm256_xor_si256(c2[2623],_mm256_xor_si256(c2[2423],_mm256_xor_si256(c2[3620],_mm256_xor_si256(c2[3420],_mm256_xor_si256(c2[2026],_mm256_xor_si256(c2[3023],_mm256_xor_si256(c2[3624],_mm256_xor_si256(c2[4621],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[2643],_mm256_xor_si256(c2[2443],_mm256_xor_si256(c2[3640],_mm256_xor_si256(c2[3440],_mm256_xor_si256(c2[5443],_mm256_xor_si256(c2[41],_mm256_xor_si256(c2[2663],_mm256_xor_si256(c2[2463],_mm256_xor_si256(c2[3660],_mm256_xor_si256(c2[3460],_mm256_xor_si256(c2[1667],_mm256_xor_si256(c2[2864],_mm256_xor_si256(c2[2664],_mm256_xor_si256(c2[3066],_mm256_xor_si256(c2[4063],_mm256_xor_si256(c2[2483],_mm256_xor_si256(c2[3680],_mm256_xor_si256(c2[3480],_mm256_xor_si256(c2[4283],_mm256_xor_si256(c2[5280],_mm256_xor_si256(c2[3686],_mm256_xor_si256(c2[4683],_mm256_xor_si256(c2[2503],_mm256_xor_si256(c2[3700],_mm256_xor_si256(c2[3500],_mm256_xor_si256(c2[6107],_mm256_xor_si256(c2[705],_mm256_xor_si256(c2[4900],_mm256_xor_si256(c2[2723],_mm256_xor_si256(c2[2523],_mm256_xor_si256(c2[3720],_mm256_xor_si256(c2[3520],_mm256_xor_si256(c2[926],_mm256_xor_si256(c2[2123],_mm256_xor_si256(c2[1923],_mm256_xor_si256(c2[4923],_mm256_xor_si256(c2[5920],_mm256_xor_si256(c2[2543],_mm256_xor_si256(c2[3740],_mm256_xor_si256(c2[3540],_mm256_xor_si256(c2[1145],_mm256_xor_si256(c2[2142],_mm256_xor_si256(c2[2563],_mm256_xor_si256(c2[3760],_mm256_xor_si256(c2[3560],_mm256_xor_si256(c2[4966],_mm256_xor_si256(c2[5963],_mm256_xor_si256(c2[365],_mm256_xor_si256(c2[1362],_mm256_xor_si256(c2[2783],_mm256_xor_si256(c2[2583],_mm256_xor_si256(c2[3780],_mm256_xor_si256(c2[3580],_mm256_xor_si256(c2[785],_mm256_xor_si256(c2[1982],_mm256_xor_si256(c2[1782],_mm256_xor_si256(c2[5384],c2[6381])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[180]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[3720],c2[4542]));
//row: 19
d2[190]=_mm256_xor_si256(c2[5004],_mm256_xor_si256(c2[409],_mm256_xor_si256(c2[2605],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[5024],_mm256_xor_si256(c2[4627],_mm256_xor_si256(c2[6225],_mm256_xor_si256(c2[6024],_mm256_xor_si256(c2[5044],_mm256_xor_si256(c2[1645],_mm256_xor_si256(c2[5064],_mm256_xor_si256(c2[4268],_mm256_xor_si256(c2[5667],_mm256_xor_si256(c2[5084],_mm256_xor_si256(c2[485],_mm256_xor_si256(c2[6287],_mm256_xor_si256(c2[5104],_mm256_xor_si256(c2[2309],_mm256_xor_si256(c2[5124],_mm256_xor_si256(c2[3527],_mm256_xor_si256(c2[1125],_mm256_xor_si256(c2[5144],_mm256_xor_si256(c2[3746],_mm256_xor_si256(c2[5164],_mm256_xor_si256(c2[1168],_mm256_xor_si256(c2[2966],_mm256_xor_si256(c2[5184],_mm256_xor_si256(c2[3386],c2[1586]))))))))))))))))))))))))))));
//row: 20
d2[200]=_mm256_xor_si256(c2[1603],_mm256_xor_si256(c2[1403],_mm256_xor_si256(c2[3207],_mm256_xor_si256(c2[5403],_mm256_xor_si256(c2[1623],_mm256_xor_si256(c2[1423],_mm256_xor_si256(c2[1026],_mm256_xor_si256(c2[2624],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[1643],_mm256_xor_si256(c2[1443],_mm256_xor_si256(c2[4443],_mm256_xor_si256(c2[1663],_mm256_xor_si256(c2[1463],_mm256_xor_si256(c2[667],_mm256_xor_si256(c2[2066],_mm256_xor_si256(c2[1483],_mm256_xor_si256(c2[3283],_mm256_xor_si256(c2[2686],_mm256_xor_si256(c2[4084],_mm256_xor_si256(c2[1503],_mm256_xor_si256(c2[5107],_mm256_xor_si256(c2[1723],_mm256_xor_si256(c2[1523],_mm256_xor_si256(c2[6325],_mm256_xor_si256(c2[3923],_mm256_xor_si256(c2[1543],_mm256_xor_si256(c2[145],_mm256_xor_si256(c2[1563],_mm256_xor_si256(c2[3966],_mm256_xor_si256(c2[5764],_mm256_xor_si256(c2[1783],_mm256_xor_si256(c2[1583],_mm256_xor_si256(c2[6184],c2[4384]))))))))))))))))))))))))))))))))));
//row: 21
d2[210]=_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[1805],_mm256_xor_si256(c2[4001],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[21],_mm256_xor_si256(c2[6023],_mm256_xor_si256(c2[1422],_mm256_xor_si256(c2[1222],_mm256_xor_si256(c2[41],_mm256_xor_si256(c2[3241],_mm256_xor_si256(c2[3041],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[5664],_mm256_xor_si256(c2[664],_mm256_xor_si256(c2[81],_mm256_xor_si256(c2[1881],_mm256_xor_si256(c2[1484],_mm256_xor_si256(c2[1284],_mm256_xor_si256(c2[101],_mm256_xor_si256(c2[3905],_mm256_xor_si256(c2[3705],_mm256_xor_si256(c2[121],_mm256_xor_si256(c2[4923],_mm256_xor_si256(c2[2721],_mm256_xor_si256(c2[2521],_mm256_xor_si256(c2[141],_mm256_xor_si256(c2[5342],_mm256_xor_si256(c2[5142],_mm256_xor_si256(c2[161],_mm256_xor_si256(c2[2564],_mm256_xor_si256(c2[4562],_mm256_xor_si256(c2[4362],_mm256_xor_si256(c2[3560],_mm256_xor_si256(c2[181],_mm256_xor_si256(c2[4782],_mm256_xor_si256(c2[3182],c2[2982]))))))))))))))))))))))))))))))))))));
//row: 22
d2[220]=_mm256_xor_si256(c2[20],c2[840]);
//row: 23
d2[230]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[2262],c2[6104]));
//row: 24
d2[240]=_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[1042],c2[4782]));
//row: 25
d2[250]=_mm256_xor_si256(c2[0],c2[302]);
//row: 26
d2[260]=_mm256_xor_si256(c2[2600],_mm256_xor_si256(c2[2400],_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[4404],_mm256_xor_si256(c2[4204],_mm256_xor_si256(c2[3004],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[5200],_mm256_xor_si256(c2[2620],_mm256_xor_si256(c2[2420],_mm256_xor_si256(c2[1220],_mm256_xor_si256(c2[2023],_mm256_xor_si256(c2[823],_mm256_xor_si256(c2[3621],_mm256_xor_si256(c2[2621],_mm256_xor_si256(c2[2421],_mm256_xor_si256(c2[2640],_mm256_xor_si256(c2[2440],_mm256_xor_si256(c2[1240],_mm256_xor_si256(c2[5440],_mm256_xor_si256(c2[4440],_mm256_xor_si256(c2[4240],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[2660],_mm256_xor_si256(c2[2460],_mm256_xor_si256(c2[1260],_mm256_xor_si256(c2[1864],_mm256_xor_si256(c2[1664],_mm256_xor_si256(c2[464],_mm256_xor_si256(c2[3063],_mm256_xor_si256(c2[1863],_mm256_xor_si256(c2[2680],_mm256_xor_si256(c2[2480],_mm256_xor_si256(c2[1280],_mm256_xor_si256(c2[4280],_mm256_xor_si256(c2[3080],_mm256_xor_si256(c2[3683],_mm256_xor_si256(c2[2683],_mm256_xor_si256(c2[2483],_mm256_xor_si256(c2[2700],_mm256_xor_si256(c2[2500],_mm256_xor_si256(c2[1300],_mm256_xor_si256(c2[6104],_mm256_xor_si256(c2[5104],_mm256_xor_si256(c2[4904],_mm256_xor_si256(c2[2720],_mm256_xor_si256(c2[2520],_mm256_xor_si256(c2[1320],_mm256_xor_si256(c2[1123],_mm256_xor_si256(c2[923],_mm256_xor_si256(c2[6122],_mm256_xor_si256(c2[4920],_mm256_xor_si256(c2[3920],_mm256_xor_si256(c2[3720],_mm256_xor_si256(c2[2740],_mm256_xor_si256(c2[2540],_mm256_xor_si256(c2[1340],_mm256_xor_si256(c2[1142],_mm256_xor_si256(c2[142],_mm256_xor_si256(c2[6341],_mm256_xor_si256(c2[943],_mm256_xor_si256(c2[2760],_mm256_xor_si256(c2[2560],_mm256_xor_si256(c2[1360],_mm256_xor_si256(c2[4963],_mm256_xor_si256(c2[3763],_mm256_xor_si256(c2[362],_mm256_xor_si256(c2[5761],_mm256_xor_si256(c2[5561],_mm256_xor_si256(c2[2780],_mm256_xor_si256(c2[2580],_mm256_xor_si256(c2[1380],_mm256_xor_si256(c2[982],_mm256_xor_si256(c2[782],_mm256_xor_si256(c2[5981],_mm256_xor_si256(c2[5381],_mm256_xor_si256(c2[4381],c2[4181])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[270]=_mm256_xor_si256(c2[0],c2[121]);
//row: 28
d2[280]=_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[6043],c2[2903]));
//row: 29
d2[290]=_mm256_xor_si256(c2[0],c2[5284]);
//row: 30
d2[300]=_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[701],_mm256_xor_si256(c2[3941],c2[1384])));
//row: 31
d2[310]=_mm256_xor_si256(c2[3800],_mm256_xor_si256(c2[5604],_mm256_xor_si256(c2[1401],_mm256_xor_si256(c2[3820],_mm256_xor_si256(c2[3423],_mm256_xor_si256(c2[5221],_mm256_xor_si256(c2[5021],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[3840],_mm256_xor_si256(c2[641],_mm256_xor_si256(c2[441],_mm256_xor_si256(c2[3860],_mm256_xor_si256(c2[3064],_mm256_xor_si256(c2[4463],_mm256_xor_si256(c2[3880],_mm256_xor_si256(c2[5680],_mm256_xor_si256(c2[5283],_mm256_xor_si256(c2[5083],_mm256_xor_si256(c2[3900],_mm256_xor_si256(c2[1305],_mm256_xor_si256(c2[1105],_mm256_xor_si256(c2[3920],_mm256_xor_si256(c2[2323],_mm256_xor_si256(c2[121],_mm256_xor_si256(c2[6320],_mm256_xor_si256(c2[3940],_mm256_xor_si256(c2[2742],_mm256_xor_si256(c2[2542],_mm256_xor_si256(c2[3960],_mm256_xor_si256(c2[6363],_mm256_xor_si256(c2[1962],_mm256_xor_si256(c2[1762],_mm256_xor_si256(c2[3980],_mm256_xor_si256(c2[2182],_mm256_xor_si256(c2[582],c2[382])))))))))))))))))))))))))))))))))));
//row: 32
d2[320]=_mm256_xor_si256(c2[5203],_mm256_xor_si256(c2[5003],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[408],_mm256_xor_si256(c2[2604],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[5223],_mm256_xor_si256(c2[5023],_mm256_xor_si256(c2[4626],_mm256_xor_si256(c2[6224],_mm256_xor_si256(c2[5243],_mm256_xor_si256(c2[5043],_mm256_xor_si256(c2[1644],_mm256_xor_si256(c2[5263],_mm256_xor_si256(c2[5063],_mm256_xor_si256(c2[4467],_mm256_xor_si256(c2[4267],_mm256_xor_si256(c2[5666],_mm256_xor_si256(c2[5283],_mm256_xor_si256(c2[5083],_mm256_xor_si256(c2[484],_mm256_xor_si256(c2[6286],_mm256_xor_si256(c2[5303],_mm256_xor_si256(c2[5103],_mm256_xor_si256(c2[2308],_mm256_xor_si256(c2[4100],_mm256_xor_si256(c2[5323],_mm256_xor_si256(c2[5123],_mm256_xor_si256(c2[3726],_mm256_xor_si256(c2[3526],_mm256_xor_si256(c2[1124],_mm256_xor_si256(c2[5343],_mm256_xor_si256(c2[5143],_mm256_xor_si256(c2[3745],_mm256_xor_si256(c2[5363],_mm256_xor_si256(c2[5163],_mm256_xor_si256(c2[1167],_mm256_xor_si256(c2[2965],_mm256_xor_si256(c2[5383],_mm256_xor_si256(c2[5183],_mm256_xor_si256(c2[3585],_mm256_xor_si256(c2[3385],c2[1585]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[330]=_mm256_xor_si256(c2[2400],_mm256_xor_si256(c2[4204],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[2420],_mm256_xor_si256(c2[2023],_mm256_xor_si256(c2[3621],_mm256_xor_si256(c2[2440],_mm256_xor_si256(c2[5440],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[2460],_mm256_xor_si256(c2[1664],_mm256_xor_si256(c2[3063],_mm256_xor_si256(c2[2480],_mm256_xor_si256(c2[4280],_mm256_xor_si256(c2[3683],_mm256_xor_si256(c2[2500],_mm256_xor_si256(c2[6104],_mm256_xor_si256(c2[2520],_mm256_xor_si256(c2[923],_mm256_xor_si256(c2[4920],_mm256_xor_si256(c2[2540],_mm256_xor_si256(c2[1142],_mm256_xor_si256(c2[4942],_mm256_xor_si256(c2[2560],_mm256_xor_si256(c2[4963],_mm256_xor_si256(c2[362],_mm256_xor_si256(c2[2580],_mm256_xor_si256(c2[782],c2[5381]))))))))))))))))))))))))))));
//row: 34
d2[340]=_mm256_xor_si256(c2[3800],_mm256_xor_si256(c2[3600],_mm256_xor_si256(c2[2602],_mm256_xor_si256(c2[5604],_mm256_xor_si256(c2[5404],_mm256_xor_si256(c2[4406],_mm256_xor_si256(c2[1201],_mm256_xor_si256(c2[203],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[3820],_mm256_xor_si256(c2[3620],_mm256_xor_si256(c2[2622],_mm256_xor_si256(c2[3223],_mm256_xor_si256(c2[2225],_mm256_xor_si256(c2[4821],_mm256_xor_si256(c2[4023],_mm256_xor_si256(c2[3823],_mm256_xor_si256(c2[3840],_mm256_xor_si256(c2[3640],_mm256_xor_si256(c2[2642],_mm256_xor_si256(c2[241],_mm256_xor_si256(c2[5842],_mm256_xor_si256(c2[5642],_mm256_xor_si256(c2[3860],_mm256_xor_si256(c2[3660],_mm256_xor_si256(c2[2662],_mm256_xor_si256(c2[3064],_mm256_xor_si256(c2[2864],_mm256_xor_si256(c2[1866],_mm256_xor_si256(c2[4263],_mm256_xor_si256(c2[3265],_mm256_xor_si256(c2[3880],_mm256_xor_si256(c2[3680],_mm256_xor_si256(c2[2682],_mm256_xor_si256(c2[5480],_mm256_xor_si256(c2[4482],_mm256_xor_si256(c2[4883],_mm256_xor_si256(c2[4085],_mm256_xor_si256(c2[3885],_mm256_xor_si256(c2[3900],_mm256_xor_si256(c2[3700],_mm256_xor_si256(c2[2702],_mm256_xor_si256(c2[905],_mm256_xor_si256(c2[107],_mm256_xor_si256(c2[6306],_mm256_xor_si256(c2[3920],_mm256_xor_si256(c2[3720],_mm256_xor_si256(c2[2722],_mm256_xor_si256(c2[2323],_mm256_xor_si256(c2[2123],_mm256_xor_si256(c2[1125],_mm256_xor_si256(c2[6120],_mm256_xor_si256(c2[5322],_mm256_xor_si256(c2[5122],_mm256_xor_si256(c2[3940],_mm256_xor_si256(c2[3740],_mm256_xor_si256(c2[2742],_mm256_xor_si256(c2[2342],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[1344],_mm256_xor_si256(c2[3960],_mm256_xor_si256(c2[3760],_mm256_xor_si256(c2[2762],_mm256_xor_si256(c2[6163],_mm256_xor_si256(c2[5165],_mm256_xor_si256(c2[1562],_mm256_xor_si256(c2[764],_mm256_xor_si256(c2[564],_mm256_xor_si256(c2[3980],_mm256_xor_si256(c2[3780],_mm256_xor_si256(c2[2782],_mm256_xor_si256(c2[2182],_mm256_xor_si256(c2[1982],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[5783],c2[5583]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[350]=_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[1000],_mm256_xor_si256(c2[2804],_mm256_xor_si256(c2[5000],_mm256_xor_si256(c2[1220],_mm256_xor_si256(c2[1020],_mm256_xor_si256(c2[623],_mm256_xor_si256(c2[2221],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[1240],_mm256_xor_si256(c2[1040],_mm256_xor_si256(c2[4040],_mm256_xor_si256(c2[1260],_mm256_xor_si256(c2[1060],_mm256_xor_si256(c2[264],_mm256_xor_si256(c2[1663],_mm256_xor_si256(c2[1080],_mm256_xor_si256(c2[2880],_mm256_xor_si256(c2[2283],_mm256_xor_si256(c2[1100],_mm256_xor_si256(c2[4704],_mm256_xor_si256(c2[5904],_mm256_xor_si256(c2[1320],_mm256_xor_si256(c2[1120],_mm256_xor_si256(c2[5922],_mm256_xor_si256(c2[3520],_mm256_xor_si256(c2[1140],_mm256_xor_si256(c2[6141],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[3563],_mm256_xor_si256(c2[5361],_mm256_xor_si256(c2[1380],_mm256_xor_si256(c2[1180],_mm256_xor_si256(c2[5781],c2[3981]))))))))))))))))))))))))))))))))));
//row: 36
d2[360]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[6241],c2[3742]));
//row: 37
d2[370]=_mm256_xor_si256(c2[6209],_mm256_xor_si256(c2[3004],_mm256_xor_si256(c2[1604],_mm256_xor_si256(c2[4808],_mm256_xor_si256(c2[3800],_mm256_xor_si256(c2[605],_mm256_xor_si256(c2[6229],_mm256_xor_si256(c2[3024],_mm256_xor_si256(c2[5822],_mm256_xor_si256(c2[2627],_mm256_xor_si256(c2[1021],_mm256_xor_si256(c2[4425],_mm256_xor_si256(c2[4225],_mm256_xor_si256(c2[6249],_mm256_xor_si256(c2[3044],_mm256_xor_si256(c2[2840],_mm256_xor_si256(c2[6244],_mm256_xor_si256(c2[6044],_mm256_xor_si256(c2[6269],_mm256_xor_si256(c2[3064],_mm256_xor_si256(c2[5463],_mm256_xor_si256(c2[2268],_mm256_xor_si256(c2[463],_mm256_xor_si256(c2[3667],_mm256_xor_si256(c2[6289],_mm256_xor_si256(c2[3084],_mm256_xor_si256(c2[1680],_mm256_xor_si256(c2[4884],_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[4487],_mm256_xor_si256(c2[4287],_mm256_xor_si256(c2[6309],_mm256_xor_si256(c2[3104],_mm256_xor_si256(c2[3504],_mm256_xor_si256(c2[509],_mm256_xor_si256(c2[309],_mm256_xor_si256(c2[6329],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[4722],_mm256_xor_si256(c2[1527],_mm256_xor_si256(c2[2320],_mm256_xor_si256(c2[5724],_mm256_xor_si256(c2[5524],_mm256_xor_si256(c2[6349],_mm256_xor_si256(c2[3144],_mm256_xor_si256(c2[4941],_mm256_xor_si256(c2[1946],_mm256_xor_si256(c2[1746],_mm256_xor_si256(c2[6369],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[2363],_mm256_xor_si256(c2[5567],_mm256_xor_si256(c2[4161],_mm256_xor_si256(c2[1166],_mm256_xor_si256(c2[966],_mm256_xor_si256(c2[6389],_mm256_xor_si256(c2[3184],_mm256_xor_si256(c2[4581],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[2781],_mm256_xor_si256(c2[6185],c2[5985])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[380]=_mm256_xor_si256(c2[3800],_mm256_xor_si256(c2[3600],_mm256_xor_si256(c2[5404],_mm256_xor_si256(c2[1201],_mm256_xor_si256(c2[3820],_mm256_xor_si256(c2[3620],_mm256_xor_si256(c2[3223],_mm256_xor_si256(c2[4821],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[3840],_mm256_xor_si256(c2[3640],_mm256_xor_si256(c2[241],_mm256_xor_si256(c2[3860],_mm256_xor_si256(c2[3660],_mm256_xor_si256(c2[2864],_mm256_xor_si256(c2[4263],_mm256_xor_si256(c2[3680],_mm256_xor_si256(c2[5480],_mm256_xor_si256(c2[4883],_mm256_xor_si256(c2[3700],_mm256_xor_si256(c2[905],_mm256_xor_si256(c2[5902],_mm256_xor_si256(c2[3920],_mm256_xor_si256(c2[3720],_mm256_xor_si256(c2[2123],_mm256_xor_si256(c2[6120],_mm256_xor_si256(c2[3740],_mm256_xor_si256(c2[2342],_mm256_xor_si256(c2[3760],_mm256_xor_si256(c2[6163],_mm256_xor_si256(c2[1562],_mm256_xor_si256(c2[3980],_mm256_xor_si256(c2[3780],_mm256_xor_si256(c2[1982],c2[182]))))))))))))))))))))))))))))))))));
//row: 39
d2[390]=_mm256_xor_si256(c2[2004],_mm256_xor_si256(c2[1804],_mm256_xor_si256(c2[3808],_mm256_xor_si256(c2[3608],_mm256_xor_si256(c2[5804],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[2024],_mm256_xor_si256(c2[1824],_mm256_xor_si256(c2[1427],_mm256_xor_si256(c2[3025],_mm256_xor_si256(c2[2044],_mm256_xor_si256(c2[1844],_mm256_xor_si256(c2[4844],_mm256_xor_si256(c2[2064],_mm256_xor_si256(c2[1864],_mm256_xor_si256(c2[1268],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[2467],_mm256_xor_si256(c2[2084],_mm256_xor_si256(c2[1884],_mm256_xor_si256(c2[3684],_mm256_xor_si256(c2[3087],_mm256_xor_si256(c2[2104],_mm256_xor_si256(c2[1904],_mm256_xor_si256(c2[5508],_mm256_xor_si256(c2[2124],_mm256_xor_si256(c2[1924],_mm256_xor_si256(c2[527],_mm256_xor_si256(c2[327],_mm256_xor_si256(c2[4324],_mm256_xor_si256(c2[2144],_mm256_xor_si256(c2[1944],_mm256_xor_si256(c2[546],_mm256_xor_si256(c2[4940],_mm256_xor_si256(c2[2164],_mm256_xor_si256(c2[1964],_mm256_xor_si256(c2[4367],_mm256_xor_si256(c2[6165],_mm256_xor_si256(c2[2184],_mm256_xor_si256(c2[1984],_mm256_xor_si256(c2[386],_mm256_xor_si256(c2[186],c2[4785]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[400]=_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[2804],_mm256_xor_si256(c2[2405],_mm256_xor_si256(c2[4608],_mm256_xor_si256(c2[4601],_mm256_xor_si256(c2[405],_mm256_xor_si256(c2[621],_mm256_xor_si256(c2[2824],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[2427],_mm256_xor_si256(c2[1822],_mm256_xor_si256(c2[4225],_mm256_xor_si256(c2[4025],_mm256_xor_si256(c2[641],_mm256_xor_si256(c2[2844],_mm256_xor_si256(c2[3641],_mm256_xor_si256(c2[6044],_mm256_xor_si256(c2[5844],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[661],_mm256_xor_si256(c2[2864],_mm256_xor_si256(c2[6264],_mm256_xor_si256(c2[2068],_mm256_xor_si256(c2[1264],_mm256_xor_si256(c2[3467],_mm256_xor_si256(c2[681],_mm256_xor_si256(c2[2884],_mm256_xor_si256(c2[2481],_mm256_xor_si256(c2[4684],_mm256_xor_si256(c2[1884],_mm256_xor_si256(c2[4287],_mm256_xor_si256(c2[4087],_mm256_xor_si256(c2[701],_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[4305],_mm256_xor_si256(c2[309],_mm256_xor_si256(c2[109],_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[2924],_mm256_xor_si256(c2[5523],_mm256_xor_si256(c2[1327],_mm256_xor_si256(c2[3121],_mm256_xor_si256(c2[5524],_mm256_xor_si256(c2[5324],_mm256_xor_si256(c2[741],_mm256_xor_si256(c2[2944],_mm256_xor_si256(c2[5742],_mm256_xor_si256(c2[1746],_mm256_xor_si256(c2[1546],_mm256_xor_si256(c2[761],_mm256_xor_si256(c2[2964],_mm256_xor_si256(c2[3164],_mm256_xor_si256(c2[5367],_mm256_xor_si256(c2[4962],_mm256_xor_si256(c2[966],_mm256_xor_si256(c2[766],_mm256_xor_si256(c2[781],_mm256_xor_si256(c2[2984],_mm256_xor_si256(c2[5382],_mm256_xor_si256(c2[1186],_mm256_xor_si256(c2[3582],_mm256_xor_si256(c2[5985],c2[5785]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[410]=_mm256_xor_si256(c2[4601],_mm256_xor_si256(c2[4401],_mm256_xor_si256(c2[6205],_mm256_xor_si256(c2[2002],_mm256_xor_si256(c2[4621],_mm256_xor_si256(c2[4421],_mm256_xor_si256(c2[4024],_mm256_xor_si256(c2[5622],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[4641],_mm256_xor_si256(c2[4441],_mm256_xor_si256(c2[1042],_mm256_xor_si256(c2[4661],_mm256_xor_si256(c2[4461],_mm256_xor_si256(c2[3665],_mm256_xor_si256(c2[5064],_mm256_xor_si256(c2[4481],_mm256_xor_si256(c2[6281],_mm256_xor_si256(c2[5684],_mm256_xor_si256(c2[4501],_mm256_xor_si256(c2[1706],_mm256_xor_si256(c2[500],_mm256_xor_si256(c2[4721],_mm256_xor_si256(c2[4521],_mm256_xor_si256(c2[2924],_mm256_xor_si256(c2[522],_mm256_xor_si256(c2[4541],_mm256_xor_si256(c2[3143],_mm256_xor_si256(c2[4561],_mm256_xor_si256(c2[565],_mm256_xor_si256(c2[2363],_mm256_xor_si256(c2[4781],_mm256_xor_si256(c2[4581],_mm256_xor_si256(c2[2783],c2[983]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=32, byte encoding
static inline void ldpc_BG2_Zc32_byte(uint8_t *c,uint8_t *d) {
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
__m256i *c2,*d2;
int i2;
for (i2=0; i2<1; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[206],_mm256_xor_si256(c2[86],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[304],_mm256_xor_si256(c2[306],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[344],_mm256_xor_si256(c2[236],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[346],_mm256_xor_si256(c2[94],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[388],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[342],c2[390]))))))))))))))))))))))))));
//row: 1
d2[1]=_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[254],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[206],_mm256_xor_si256(c2[86],_mm256_xor_si256(c2[148],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[304],_mm256_xor_si256(c2[318],_mm256_xor_si256(c2[306],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[344],_mm256_xor_si256(c2[236],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[346],_mm256_xor_si256(c2[94],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[388],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[174],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[342],c2[390]))))))))))))))))))))))))))))))));
//row: 2
d2[2]=_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[254],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[206],_mm256_xor_si256(c2[86],_mm256_xor_si256(c2[148],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[304],_mm256_xor_si256(c2[318],_mm256_xor_si256(c2[306],_mm256_xor_si256(c2[78],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[344],_mm256_xor_si256(c2[236],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[358],_mm256_xor_si256(c2[346],_mm256_xor_si256(c2[94],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[16],_mm256_xor_si256(c2[388],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[174],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[342],c2[390]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[3]=_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[206],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[86],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[316],_mm256_xor_si256(c2[304],_mm256_xor_si256(c2[306],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[344],_mm256_xor_si256(c2[236],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[346],_mm256_xor_si256(c2[106],_mm256_xor_si256(c2[94],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[388],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[232],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[18],c2[390]))))))))))))))))))))))))))))))))));
//row: 4
d2[4]=_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[156],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[326],_mm256_xor_si256(c2[290],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[232],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[18],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[150],_mm256_xor_si256(c2[222],_mm256_xor_si256(c2[44],_mm256_xor_si256(c2[320],_mm256_xor_si256(c2[56],_mm256_xor_si256(c2[46],_mm256_xor_si256(c2[178],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[48],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[38],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[304],_mm256_xor_si256(c2[258],_mm256_xor_si256(c2[246],_mm256_xor_si256(c2[42],c2[90]))))))))))))))))))))))))))))))))));
//row: 5
d2[5]=_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[156],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[326],_mm256_xor_si256(c2[290],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[232],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[18],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[150],_mm256_xor_si256(c2[222],_mm256_xor_si256(c2[44],_mm256_xor_si256(c2[320],_mm256_xor_si256(c2[56],_mm256_xor_si256(c2[46],_mm256_xor_si256(c2[178],_mm256_xor_si256(c2[34],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[48],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[38],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[386],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[304],_mm256_xor_si256(c2[258],_mm256_xor_si256(c2[246],_mm256_xor_si256(c2[42],c2[90]))))))))))))))))))))))))))))))))))));
//row: 6
d2[6]=_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[48],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[218],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[124],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[294],_mm256_xor_si256(c2[282],_mm256_xor_si256(c2[42],_mm256_xor_si256(c2[114],_mm256_xor_si256(c2[320],_mm256_xor_si256(c2[212],_mm256_xor_si256(c2[332],_mm256_xor_si256(c2[322],_mm256_xor_si256(c2[70],_mm256_xor_si256(c2[58],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[172],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[150],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[318],_mm256_xor_si256(c2[366],c2[354]))))))))))))))))))))))))))))))))))));
//row: 7
d2[7]=_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[48],_mm256_xor_si256(c2[290],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[122],_mm256_xor_si256(c2[326],_mm256_xor_si256(c2[14],_mm256_xor_si256(c2[184],_mm256_xor_si256(c2[172],_mm256_xor_si256(c2[376],_mm256_xor_si256(c2[172],_mm256_xor_si256(c2[340],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[102],_mm256_xor_si256(c2[306],_mm256_xor_si256(c2[174],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[380],_mm256_xor_si256(c2[200],_mm256_xor_si256(c2[272],_mm256_xor_si256(c2[92],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[8],_mm256_xor_si256(c2[212],_mm256_xor_si256(c2[382],_mm256_xor_si256(c2[202],_mm256_xor_si256(c2[346],_mm256_xor_si256(c2[130],_mm256_xor_si256(c2[334],_mm256_xor_si256(c2[238],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[264],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[194],_mm256_xor_si256(c2[134],_mm256_xor_si256(c2[302],_mm256_xor_si256(c2[122],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[244],_mm256_xor_si256(c2[232],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[210],_mm256_xor_si256(c2[198],_mm256_xor_si256(c2[18],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[198],_mm256_xor_si256(c2[258],_mm256_xor_si256(c2[42],c2[246]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[8]=_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[156],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[264],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[326],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[362],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[208],_mm256_xor_si256(c2[376],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[150],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[210],_mm256_xor_si256(c2[44],_mm256_xor_si256(c2[32],_mm256_xor_si256(c2[308],_mm256_xor_si256(c2[44],_mm256_xor_si256(c2[46],_mm256_xor_si256(c2[34],_mm256_xor_si256(c2[166],_mm256_xor_si256(c2[48],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[38],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[268],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[246],_mm256_xor_si256(c2[234],_mm256_xor_si256(c2[42],_mm256_xor_si256(c2[30],c2[78]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[9]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[372],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[156],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[146],_mm256_xor_si256(c2[206],_mm256_xor_si256(c2[134],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[362],_mm256_xor_si256(c2[134],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[100],_mm256_xor_si256(c2[28],_mm256_xor_si256(c2[268],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[210],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[198],_mm256_xor_si256(c2[30],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[102],_mm256_xor_si256(c2[30],_mm256_xor_si256(c2[308],_mm256_xor_si256(c2[236],_mm256_xor_si256(c2[200],_mm256_xor_si256(c2[128],_mm256_xor_si256(c2[320],_mm256_xor_si256(c2[248],_mm256_xor_si256(c2[310],_mm256_xor_si256(c2[238],_mm256_xor_si256(c2[58],_mm256_xor_si256(c2[370],_mm256_xor_si256(c2[252],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[372],_mm256_xor_si256(c2[300],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[302],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[184],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[172],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[126],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[306],_mm256_xor_si256(c2[234],_mm256_xor_si256(c2[354],c2[282])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[10]=_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[302],_mm256_xor_si256(c2[12],c2[266])));
//row: 11
d2[11]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[146],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[2],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[208],_mm256_xor_si256(c2[210],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[42],_mm256_xor_si256(c2[248],_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[272],_mm256_xor_si256(c2[260],_mm256_xor_si256(c2[250],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[382],_mm256_xor_si256(c2[252],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[100],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[124],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[246],_mm256_xor_si256(c2[306],_mm256_xor_si256(c2[294],c2[234])))))))))))))))))))))))))))))))))))));
//row: 12
d2[12]=_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[264],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[38],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[254],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[316],_mm256_xor_si256(c2[304],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[102],_mm256_xor_si256(c2[90],_mm256_xor_si256(c2[234],_mm256_xor_si256(c2[306],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[128],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[130],_mm256_xor_si256(c2[262],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[372],_mm256_xor_si256(c2[122],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[172],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[388],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[330],_mm256_xor_si256(c2[126],c2[174]))))))))))))))))))))))))))))))))));
//row: 13
d2[13]=_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[48],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[218],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[74],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[282],_mm256_xor_si256(c2[42],_mm256_xor_si256(c2[114],_mm256_xor_si256(c2[320],_mm256_xor_si256(c2[212],_mm256_xor_si256(c2[344],_mm256_xor_si256(c2[332],_mm256_xor_si256(c2[322],_mm256_xor_si256(c2[82],_mm256_xor_si256(c2[70],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[254],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[172],_mm256_xor_si256(c2[208],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[318],_mm256_xor_si256(c2[378],c2[366])))))))))))))))))))))))))))))))))))));
//row: 14
d2[14]=_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[290],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[302],_mm256_xor_si256(c2[194],_mm256_xor_si256(c2[122],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[184],_mm256_xor_si256(c2[172],_mm256_xor_si256(c2[232],_mm256_xor_si256(c2[28],_mm256_xor_si256(c2[340],_mm256_xor_si256(c2[16],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[18],_mm256_xor_si256(c2[102],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[174],_mm256_xor_si256(c2[234],_mm256_xor_si256(c2[380],_mm256_xor_si256(c2[56],_mm256_xor_si256(c2[272],_mm256_xor_si256(c2[332],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[8],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[382],_mm256_xor_si256(c2[58],_mm256_xor_si256(c2[202],_mm256_xor_si256(c2[130],_mm256_xor_si256(c2[190],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[300],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[302],_mm256_xor_si256(c2[362],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[100],_mm256_xor_si256(c2[232],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[328],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[316],_mm256_xor_si256(c2[210],_mm256_xor_si256(c2[198],_mm256_xor_si256(c2[258],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[114],_mm256_xor_si256(c2[42],c2[102])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[15]=_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[252],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[372],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[122],_mm256_xor_si256(c2[38],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[2],_mm256_xor_si256(c2[74],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[16],_mm256_xor_si256(c2[316],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[100],_mm256_xor_si256(c2[172],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[102],_mm256_xor_si256(c2[174],_mm256_xor_si256(c2[246],_mm256_xor_si256(c2[318],_mm256_xor_si256(c2[318],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[212],_mm256_xor_si256(c2[32],_mm256_xor_si256(c2[104],_mm256_xor_si256(c2[152],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[142],_mm256_xor_si256(c2[214],_mm256_xor_si256(c2[274],_mm256_xor_si256(c2[346],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[134],_mm256_xor_si256(c2[206],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[134],_mm256_xor_si256(c2[184],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[376],_mm256_xor_si256(c2[64],_mm256_xor_si256(c2[16],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[42],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[30],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[210],_mm256_xor_si256(c2[186],c2[258]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[16]=_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[300],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[86],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[74],_mm256_xor_si256(c2[302],_mm256_xor_si256(c2[38],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[302],_mm256_xor_si256(c2[134],_mm256_xor_si256(c2[244],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[232],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[16],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[30],_mm256_xor_si256(c2[150],_mm256_xor_si256(c2[18],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[294],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[282],_mm256_xor_si256(c2[234],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[188],_mm256_xor_si256(c2[56],_mm256_xor_si256(c2[176],_mm256_xor_si256(c2[332],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[188],_mm256_xor_si256(c2[190],_mm256_xor_si256(c2[58],_mm256_xor_si256(c2[178],_mm256_xor_si256(c2[190],_mm256_xor_si256(c2[310],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[252],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[300],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[362],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[232],_mm256_xor_si256(c2[100],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[28],_mm256_xor_si256(c2[316],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[390],_mm256_xor_si256(c2[258],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[174],_mm256_xor_si256(c2[102],_mm256_xor_si256(c2[222],c2[186])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[17]=_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[86],_mm256_xor_si256(c2[254],_mm256_xor_si256(c2[74],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[38],_mm256_xor_si256(c2[206],_mm256_xor_si256(c2[302],_mm256_xor_si256(c2[86],_mm256_xor_si256(c2[362],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[148],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[304],_mm256_xor_si256(c2[150],_mm256_xor_si256(c2[318],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[306],_mm256_xor_si256(c2[78],_mm256_xor_si256(c2[282],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[176],_mm256_xor_si256(c2[344],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[236],_mm256_xor_si256(c2[188],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[358],_mm256_xor_si256(c2[178],_mm256_xor_si256(c2[346],_mm256_xor_si256(c2[310],_mm256_xor_si256(c2[94],_mm256_xor_si256(c2[346],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[16],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[388],_mm256_xor_si256(c2[28],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[390],_mm256_xor_si256(c2[174],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[174],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[222],c2[390])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[18]=_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[36],c2[230]));
//row: 19
d2[19]=_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[372],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[122],_mm256_xor_si256(c2[2],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[222],_mm256_xor_si256(c2[366],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[260],_mm256_xor_si256(c2[152],_mm256_xor_si256(c2[272],_mm256_xor_si256(c2[262],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[264],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[254],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[304],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[78],_mm256_xor_si256(c2[258],c2[306]))))))))))))))))))))))))))));
//row: 20
d2[20]=_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[156],_mm256_xor_si256(c2[218],_mm256_xor_si256(c2[206],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[100],_mm256_xor_si256(c2[268],_mm256_xor_si256(c2[282],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[30],_mm256_xor_si256(c2[102],_mm256_xor_si256(c2[308],_mm256_xor_si256(c2[200],_mm256_xor_si256(c2[320],_mm256_xor_si256(c2[116],_mm256_xor_si256(c2[310],_mm256_xor_si256(c2[58],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[372],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[302],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[184],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[126],_mm256_xor_si256(c2[306],c2[354]))))))))))))))))))))))))))))))))));
//row: 21
d2[21]=_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[74],_mm256_xor_si256(c2[38],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[302],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[148],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[282],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[176],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[200],_mm256_xor_si256(c2[188],_mm256_xor_si256(c2[178],_mm256_xor_si256(c2[322],_mm256_xor_si256(c2[310],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[48],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[28],_mm256_xor_si256(c2[64],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[174],_mm256_xor_si256(c2[234],c2[222]))))))))))))))))))))))))))))))))))));
//row: 22
d2[22]=_mm256_xor_si256(c2[362],c2[376]);
//row: 23
d2[23]=_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[138],c2[178]));
//row: 24
d2[24]=_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[136],c2[114]));
//row: 25
d2[25]=_mm256_xor_si256(c2[48],c2[346]);
//row: 26
d2[26]=_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[254],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[206],_mm256_xor_si256(c2[134],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[86],_mm256_xor_si256(c2[14],_mm256_xor_si256(c2[148],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[64],_mm256_xor_si256(c2[244],_mm256_xor_si256(c2[304],_mm256_xor_si256(c2[232],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[318],_mm256_xor_si256(c2[306],_mm256_xor_si256(c2[234],_mm256_xor_si256(c2[78],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[344],_mm256_xor_si256(c2[272],_mm256_xor_si256(c2[236],_mm256_xor_si256(c2[164],_mm256_xor_si256(c2[296],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[284],_mm256_xor_si256(c2[358],_mm256_xor_si256(c2[346],_mm256_xor_si256(c2[274],_mm256_xor_si256(c2[34],_mm256_xor_si256(c2[94],_mm256_xor_si256(c2[22],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[206],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[194],_mm256_xor_si256(c2[194],_mm256_xor_si256(c2[16],_mm256_xor_si256(c2[388],_mm256_xor_si256(c2[316],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[124],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[148],_mm256_xor_si256(c2[174],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[90],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[330],_mm256_xor_si256(c2[390],c2[318])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[27]=_mm256_xor_si256(c2[96],c2[288]);
//row: 28
d2[28]=_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[64],c2[94]));
//row: 29
d2[29]=_mm256_xor_si256(c2[216],c2[344]);
//row: 30
d2[30]=_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[202],_mm256_xor_si256(c2[122],c2[258])));
//row: 31
d2[31]=_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[254],_mm256_xor_si256(c2[218],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[122],_mm256_xor_si256(c2[148],_mm256_xor_si256(c2[328],_mm256_xor_si256(c2[316],_mm256_xor_si256(c2[318],_mm256_xor_si256(c2[78],_mm256_xor_si256(c2[150],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[248],_mm256_xor_si256(c2[380],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[358],_mm256_xor_si256(c2[118],_mm256_xor_si256(c2[106],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[290],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[16],_mm256_xor_si256(c2[208],_mm256_xor_si256(c2[244],_mm256_xor_si256(c2[232],_mm256_xor_si256(c2[174],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[30],c2[18])))))))))))))))))))))))))))))))))));
//row: 32
d2[32]=_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[156],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[264],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[326],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[208],_mm256_xor_si256(c2[376],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[150],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[210],_mm256_xor_si256(c2[44],_mm256_xor_si256(c2[32],_mm256_xor_si256(c2[308],_mm256_xor_si256(c2[44],_mm256_xor_si256(c2[46],_mm256_xor_si256(c2[34],_mm256_xor_si256(c2[166],_mm256_xor_si256(c2[154],_mm256_xor_si256(c2[48],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[38],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[268],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[246],_mm256_xor_si256(c2[234],_mm256_xor_si256(c2[42],_mm256_xor_si256(c2[30],c2[78]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[33]=_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[218],_mm256_xor_si256(c2[268],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[198],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[92],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[104],_mm256_xor_si256(c2[94],_mm256_xor_si256(c2[226],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[156],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[86],_mm256_xor_si256(c2[14],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[328],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[294],_mm256_xor_si256(c2[90],c2[138]))))))))))))))))))))))))))));
//row: 34
d2[34]=_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[122],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[290],_mm256_xor_si256(c2[74],_mm256_xor_si256(c2[254],_mm256_xor_si256(c2[146],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[134],_mm256_xor_si256(c2[16],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[184],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[172],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[174],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[330],_mm256_xor_si256(c2[318],_mm256_xor_si256(c2[114],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[212],_mm256_xor_si256(c2[8],_mm256_xor_si256(c2[104],_mm256_xor_si256(c2[284],_mm256_xor_si256(c2[32],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[226],_mm256_xor_si256(c2[214],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[154],_mm256_xor_si256(c2[346],_mm256_xor_si256(c2[142],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[264],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[252],_mm256_xor_si256(c2[218],_mm256_xor_si256(c2[206],_mm256_xor_si256(c2[386],_mm256_xor_si256(c2[326],_mm256_xor_si256(c2[134],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[268],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[64],_mm256_xor_si256(c2[244],_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[268],_mm256_xor_si256(c2[42],_mm256_xor_si256(c2[30],_mm256_xor_si256(c2[210],_mm256_xor_si256(c2[222],_mm256_xor_si256(c2[210],_mm256_xor_si256(c2[390],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[258],c2[54]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[35]=_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[194],_mm256_xor_si256(c2[74],_mm256_xor_si256(c2[302],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[124],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[306],_mm256_xor_si256(c2[294],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[126],_mm256_xor_si256(c2[332],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[344],_mm256_xor_si256(c2[334],_mm256_xor_si256(c2[82],_mm256_xor_si256(c2[106],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[326],_mm256_xor_si256(c2[254],_mm256_xor_si256(c2[376],_mm256_xor_si256(c2[184],_mm256_xor_si256(c2[208],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[150],_mm256_xor_si256(c2[330],c2[378]))))))))))))))))))))))))))))))))));
//row: 36
d2[36]=_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[76],c2[326]));
//row: 37
d2[37]=_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[372],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[134],_mm256_xor_si256(c2[146],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[362],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[28],_mm256_xor_si256(c2[208],_mm256_xor_si256(c2[244],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[246],_mm256_xor_si256(c2[198],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[78],_mm256_xor_si256(c2[30],_mm256_xor_si256(c2[284],_mm256_xor_si256(c2[236],_mm256_xor_si256(c2[176],_mm256_xor_si256(c2[128],_mm256_xor_si256(c2[260],_mm256_xor_si256(c2[296],_mm256_xor_si256(c2[248],_mm256_xor_si256(c2[286],_mm256_xor_si256(c2[238],_mm256_xor_si256(c2[382],_mm256_xor_si256(c2[34],_mm256_xor_si256(c2[370],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[300],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[206],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[328],_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[124],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[102],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[282],_mm256_xor_si256(c2[234],_mm256_xor_si256(c2[294],_mm256_xor_si256(c2[330],c2[282])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[38]=_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[264],_mm256_xor_si256(c2[326],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[208],_mm256_xor_si256(c2[376],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[210],_mm256_xor_si256(c2[32],_mm256_xor_si256(c2[308],_mm256_xor_si256(c2[44],_mm256_xor_si256(c2[34],_mm256_xor_si256(c2[166],_mm256_xor_si256(c2[34],_mm256_xor_si256(c2[48],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[268],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[246],_mm256_xor_si256(c2[234],_mm256_xor_si256(c2[30],c2[78]))))))))))))))))))))))))))))))))));
//row: 39
d2[39]=_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[172],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[328],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[330],_mm256_xor_si256(c2[102],_mm256_xor_si256(c2[90],_mm256_xor_si256(c2[162],_mm256_xor_si256(c2[380],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[260],_mm256_xor_si256(c2[380],_mm256_xor_si256(c2[382],_mm256_xor_si256(c2[370],_mm256_xor_si256(c2[118],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[372],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[48],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[362],_mm256_xor_si256(c2[290],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[28],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[244],_mm256_xor_si256(c2[198],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[366],c2[30]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[40]=_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[146],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[2],_mm256_xor_si256(c2[218],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[268],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[208],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[210],_mm256_xor_si256(c2[198],_mm256_xor_si256(c2[354],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[42],_mm256_xor_si256(c2[92],_mm256_xor_si256(c2[248],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[272],_mm256_xor_si256(c2[104],_mm256_xor_si256(c2[260],_mm256_xor_si256(c2[94],_mm256_xor_si256(c2[250],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[226],_mm256_xor_si256(c2[382],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[252],_mm256_xor_si256(c2[156],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[86],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[182],_mm256_xor_si256(c2[14],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[328],_mm256_xor_si256(c2[100],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[124],_mm256_xor_si256(c2[294],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[90],_mm256_xor_si256(c2[246],_mm256_xor_si256(c2[306],_mm256_xor_si256(c2[138],c2[294]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[41]=_mm256_xor_si256(c2[372],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[134],_mm256_xor_si256(c2[122],_mm256_xor_si256(c2[86],_mm256_xor_si256(c2[350],_mm256_xor_si256(c2[14],_mm256_xor_si256(c2[28],_mm256_xor_si256(c2[16],_mm256_xor_si256(c2[184],_mm256_xor_si256(c2[198],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[330],_mm256_xor_si256(c2[18],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[116],_mm256_xor_si256(c2[236],_mm256_xor_si256(c2[226],_mm256_xor_si256(c2[358],_mm256_xor_si256(c2[70],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[218],_mm256_xor_si256(c2[146],_mm256_xor_si256(c2[268],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[100],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[42],_mm256_xor_si256(c2[222],c2[270]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=352, byte encoding
static inline void ldpc_BG2_Zc352_byte(uint8_t *c,uint8_t *d) {
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
__m256i *c2,*d2;
int i2;
for (i2=0; i2<11; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm256_xor_si256(c2[5944],_mm256_xor_si256(c2[3520],_mm256_xor_si256(c2[223],_mm256_xor_si256(c2[3106],_mm256_xor_si256(c2[1567],_mm256_xor_si256(c2[4423],_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[2909],_mm256_xor_si256(c2[506],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[2269],_mm256_xor_si256(c2[6689],_mm256_xor_si256(c2[3830],_mm256_xor_si256(c2[2953],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[6713],_mm256_xor_si256(c2[1673],_mm256_xor_si256(c2[4973],_mm256_xor_si256(c2[3652],_mm256_xor_si256(c2[1035],_mm256_xor_si256(c2[5436],_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[3040],_mm256_xor_si256(c2[3696],_mm256_xor_si256(c2[5921],_mm256_xor_si256(c2[1082],c2[1961]))))))))))))))))))))))))));
//row: 1
d2[11]=_mm256_xor_si256(c2[6164],_mm256_xor_si256(c2[5944],_mm256_xor_si256(c2[3520],_mm256_xor_si256(c2[223],_mm256_xor_si256(c2[3326],_mm256_xor_si256(c2[3106],_mm256_xor_si256(c2[1567],_mm256_xor_si256(c2[4423],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[2909],_mm256_xor_si256(c2[726],_mm256_xor_si256(c2[506],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[2269],_mm256_xor_si256(c2[6689],_mm256_xor_si256(c2[3830],_mm256_xor_si256(c2[2953],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[6713],_mm256_xor_si256(c2[1893],_mm256_xor_si256(c2[1673],_mm256_xor_si256(c2[4973],_mm256_xor_si256(c2[3652],_mm256_xor_si256(c2[1035],_mm256_xor_si256(c2[5436],_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[3040],_mm256_xor_si256(c2[3696],_mm256_xor_si256(c2[6141],_mm256_xor_si256(c2[5921],_mm256_xor_si256(c2[1082],c2[1961]))))))))))))))))))))))))))))))));
//row: 2
d2[22]=_mm256_xor_si256(c2[6164],_mm256_xor_si256(c2[5944],_mm256_xor_si256(c2[3740],_mm256_xor_si256(c2[3520],_mm256_xor_si256(c2[223],_mm256_xor_si256(c2[3326],_mm256_xor_si256(c2[3106],_mm256_xor_si256(c2[1567],_mm256_xor_si256(c2[4423],_mm256_xor_si256(c2[3124],_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[2909],_mm256_xor_si256(c2[726],_mm256_xor_si256(c2[506],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[2269],_mm256_xor_si256(c2[6909],_mm256_xor_si256(c2[6689],_mm256_xor_si256(c2[3830],_mm256_xor_si256(c2[2953],_mm256_xor_si256(c2[330],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[6713],_mm256_xor_si256(c2[1893],_mm256_xor_si256(c2[1673],_mm256_xor_si256(c2[5193],_mm256_xor_si256(c2[4973],_mm256_xor_si256(c2[3652],_mm256_xor_si256(c2[1255],_mm256_xor_si256(c2[1035],_mm256_xor_si256(c2[5436],_mm256_xor_si256(c2[2601],_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[3040],_mm256_xor_si256(c2[3696],_mm256_xor_si256(c2[6141],_mm256_xor_si256(c2[5921],_mm256_xor_si256(c2[1302],_mm256_xor_si256(c2[1082],c2[1961]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[33]=_mm256_xor_si256(c2[5944],_mm256_xor_si256(c2[3520],_mm256_xor_si256(c2[223],_mm256_xor_si256(c2[3106],_mm256_xor_si256(c2[1567],_mm256_xor_si256(c2[4643],_mm256_xor_si256(c2[4423],_mm256_xor_si256(c2[2904],_mm256_xor_si256(c2[3129],_mm256_xor_si256(c2[2909],_mm256_xor_si256(c2[506],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[2269],_mm256_xor_si256(c2[6689],_mm256_xor_si256(c2[3830],_mm256_xor_si256(c2[3173],_mm256_xor_si256(c2[2953],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[6933],_mm256_xor_si256(c2[6713],_mm256_xor_si256(c2[1673],_mm256_xor_si256(c2[4973],_mm256_xor_si256(c2[3872],_mm256_xor_si256(c2[3652],_mm256_xor_si256(c2[1035],_mm256_xor_si256(c2[5656],_mm256_xor_si256(c2[5436],_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[3040],_mm256_xor_si256(c2[3916],_mm256_xor_si256(c2[3696],_mm256_xor_si256(c2[5921],_mm256_xor_si256(c2[1082],_mm256_xor_si256(c2[2181],c2[1961]))))))))))))))))))))))))))))))))));
//row: 4
d2[44]=_mm256_xor_si256(c2[3307],_mm256_xor_si256(c2[3087],_mm256_xor_si256(c2[663],_mm256_xor_si256(c2[4405],_mm256_xor_si256(c2[4842],_mm256_xor_si256(c2[469],_mm256_xor_si256(c2[249],_mm256_xor_si256(c2[5749],_mm256_xor_si256(c2[1566],_mm256_xor_si256(c2[684],_mm256_xor_si256(c2[267],_mm256_xor_si256(c2[47],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[4908],_mm256_xor_si256(c2[4688],_mm256_xor_si256(c2[4250],_mm256_xor_si256(c2[6451],_mm256_xor_si256(c2[3832],_mm256_xor_si256(c2[973],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[4292],_mm256_xor_si256(c2[3856],_mm256_xor_si256(c2[6075],_mm256_xor_si256(c2[5855],_mm256_xor_si256(c2[2116],_mm256_xor_si256(c2[795],_mm256_xor_si256(c2[5217],_mm256_xor_si256(c2[2579],_mm256_xor_si256(c2[6563],_mm256_xor_si256(c2[183],_mm256_xor_si256(c2[839],_mm256_xor_si256(c2[3284],_mm256_xor_si256(c2[3064],_mm256_xor_si256(c2[5264],c2[6143]))))))))))))))))))))))))))))))))));
//row: 5
d2[55]=_mm256_xor_si256(c2[5286],_mm256_xor_si256(c2[5066],_mm256_xor_si256(c2[2642],_mm256_xor_si256(c2[6384],_mm256_xor_si256(c2[3302],_mm256_xor_si256(c2[2448],_mm256_xor_si256(c2[2228],_mm256_xor_si256(c2[689],_mm256_xor_si256(c2[3545],_mm256_xor_si256(c2[4424],_mm256_xor_si256(c2[2246],_mm256_xor_si256(c2[2026],_mm256_xor_si256(c2[2031],_mm256_xor_si256(c2[6887],_mm256_xor_si256(c2[6667],_mm256_xor_si256(c2[6229],_mm256_xor_si256(c2[1391],_mm256_xor_si256(c2[5811],_mm256_xor_si256(c2[2952],_mm256_xor_si256(c2[2075],_mm256_xor_si256(c2[6271],_mm256_xor_si256(c2[5835],_mm256_xor_si256(c2[771],_mm256_xor_si256(c2[1015],_mm256_xor_si256(c2[795],_mm256_xor_si256(c2[4095],_mm256_xor_si256(c2[2774],_mm256_xor_si256(c2[157],_mm256_xor_si256(c2[4558],_mm256_xor_si256(c2[1697],_mm256_xor_si256(c2[1503],_mm256_xor_si256(c2[2162],_mm256_xor_si256(c2[2818],_mm256_xor_si256(c2[5263],_mm256_xor_si256(c2[5043],_mm256_xor_si256(c2[204],c2[1083]))))))))))))))))))))))))))))))))))));
//row: 6
d2[66]=_mm256_xor_si256(c2[5505],_mm256_xor_si256(c2[5285],_mm256_xor_si256(c2[2861],_mm256_xor_si256(c2[6603],_mm256_xor_si256(c2[3301],_mm256_xor_si256(c2[2667],_mm256_xor_si256(c2[2447],_mm256_xor_si256(c2[908],_mm256_xor_si256(c2[3764],_mm256_xor_si256(c2[2465],_mm256_xor_si256(c2[2245],_mm256_xor_si256(c2[2250],_mm256_xor_si256(c2[67],_mm256_xor_si256(c2[6886],_mm256_xor_si256(c2[6448],_mm256_xor_si256(c2[1610],_mm256_xor_si256(c2[6030],_mm256_xor_si256(c2[3171],_mm256_xor_si256(c2[2294],_mm256_xor_si256(c2[6490],_mm256_xor_si256(c2[6054],_mm256_xor_si256(c2[5834],_mm256_xor_si256(c2[1234],_mm256_xor_si256(c2[1014],_mm256_xor_si256(c2[4314],_mm256_xor_si256(c2[2993],_mm256_xor_si256(c2[376],_mm256_xor_si256(c2[4777],_mm256_xor_si256(c2[2354],_mm256_xor_si256(c2[1722],_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[3037],_mm256_xor_si256(c2[5482],_mm256_xor_si256(c2[5262],_mm256_xor_si256(c2[423],_mm256_xor_si256(c2[1302],c2[6142]))))))))))))))))))))))))))))))))))));
//row: 7
d2[77]=_mm256_xor_si256(c2[2426],_mm256_xor_si256(c2[2206],_mm256_xor_si256(c2[3966],_mm256_xor_si256(c2[6821],_mm256_xor_si256(c2[1542],_mm256_xor_si256(c2[3524],_mm256_xor_si256(c2[5284],_mm256_xor_si256(c2[6627],_mm256_xor_si256(c2[6407],_mm256_xor_si256(c2[1128],_mm256_xor_si256(c2[4868],_mm256_xor_si256(c2[6628],_mm256_xor_si256(c2[685],_mm256_xor_si256(c2[2665],_mm256_xor_si256(c2[2445],_mm256_xor_si256(c2[3543],_mm256_xor_si256(c2[6425],_mm256_xor_si256(c2[6205],_mm256_xor_si256(c2[926],_mm256_xor_si256(c2[6210],_mm256_xor_si256(c2[1151],_mm256_xor_si256(c2[931],_mm256_xor_si256(c2[4027],_mm256_xor_si256(c2[3807],_mm256_xor_si256(c2[5567],_mm256_xor_si256(c2[3369],_mm256_xor_si256(c2[5129],_mm256_xor_si256(c2[5570],_mm256_xor_si256(c2[291],_mm256_xor_si256(c2[2951],_mm256_xor_si256(c2[4711],_mm256_xor_si256(c2[92],_mm256_xor_si256(c2[1852],_mm256_xor_si256(c2[6254],_mm256_xor_si256(c2[1195],_mm256_xor_si256(c2[975],_mm256_xor_si256(c2[3411],_mm256_xor_si256(c2[5171],_mm256_xor_si256(c2[2975],_mm256_xor_si256(c2[4955],_mm256_xor_si256(c2[4735],_mm256_xor_si256(c2[6493],_mm256_xor_si256(c2[5194],_mm256_xor_si256(c2[4974],_mm256_xor_si256(c2[6734],_mm256_xor_si256(c2[1235],_mm256_xor_si256(c2[2995],_mm256_xor_si256(c2[6953],_mm256_xor_si256(c2[1894],_mm256_xor_si256(c2[1674],_mm256_xor_si256(c2[4336],_mm256_xor_si256(c2[6096],_mm256_xor_si256(c2[1698],_mm256_xor_si256(c2[3678],_mm256_xor_si256(c2[3458],_mm256_xor_si256(c2[5434],_mm256_xor_si256(c2[5682],_mm256_xor_si256(c2[403],_mm256_xor_si256(c2[6341],_mm256_xor_si256(c2[1062],_mm256_xor_si256(c2[6997],_mm256_xor_si256(c2[1938],_mm256_xor_si256(c2[1718],_mm256_xor_si256(c2[2403],_mm256_xor_si256(c2[2183],_mm256_xor_si256(c2[3943],_mm256_xor_si256(c2[4383],_mm256_xor_si256(c2[6143],_mm256_xor_si256(c2[5262],_mm256_xor_si256(c2[203],c2[7022]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[88]=_mm256_xor_si256(c2[6389],_mm256_xor_si256(c2[6169],_mm256_xor_si256(c2[3965],_mm256_xor_si256(c2[3745],_mm256_xor_si256(c2[448],_mm256_xor_si256(c2[4621],_mm256_xor_si256(c2[3551],_mm256_xor_si256(c2[3331],_mm256_xor_si256(c2[1792],_mm256_xor_si256(c2[4648],_mm256_xor_si256(c2[6842],_mm256_xor_si256(c2[3349],_mm256_xor_si256(c2[3129],_mm256_xor_si256(c2[3134],_mm256_xor_si256(c2[951],_mm256_xor_si256(c2[731],_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[293],_mm256_xor_si256(c2[2494],_mm256_xor_si256(c2[95],_mm256_xor_si256(c2[6914],_mm256_xor_si256(c2[4055],_mm256_xor_si256(c2[3178],_mm256_xor_si256(c2[555],_mm256_xor_si256(c2[335],_mm256_xor_si256(c2[6938],_mm256_xor_si256(c2[2118],_mm256_xor_si256(c2[1898],_mm256_xor_si256(c2[5418],_mm256_xor_si256(c2[5198],_mm256_xor_si256(c2[3877],_mm256_xor_si256(c2[1480],_mm256_xor_si256(c2[1260],_mm256_xor_si256(c2[5661],_mm256_xor_si256(c2[2826],_mm256_xor_si256(c2[2606],_mm256_xor_si256(c2[3265],_mm256_xor_si256(c2[3921],_mm256_xor_si256(c2[6366],_mm256_xor_si256(c2[6146],_mm256_xor_si256(c2[1527],_mm256_xor_si256(c2[1307],c2[2186]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[99]=_mm256_xor_si256(c2[6607],_mm256_xor_si256(c2[6166],_mm256_xor_si256(c2[5946],_mm256_xor_si256(c2[4183],_mm256_xor_si256(c2[3522],_mm256_xor_si256(c2[886],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[3769],_mm256_xor_si256(c2[3328],_mm256_xor_si256(c2[3108],_mm256_xor_si256(c2[2230],_mm256_xor_si256(c2[1569],_mm256_xor_si256(c2[5086],_mm256_xor_si256(c2[4425],_mm256_xor_si256(c2[1785],_mm256_xor_si256(c2[3567],_mm256_xor_si256(c2[3126],_mm256_xor_si256(c2[2906],_mm256_xor_si256(c2[3572],_mm256_xor_si256(c2[2911],_mm256_xor_si256(c2[1169],_mm256_xor_si256(c2[728],_mm256_xor_si256(c2[508],_mm256_xor_si256(c2[731],_mm256_xor_si256(c2[70],_mm256_xor_si256(c2[2932],_mm256_xor_si256(c2[2271],_mm256_xor_si256(c2[313],_mm256_xor_si256(c2[6691],_mm256_xor_si256(c2[4493],_mm256_xor_si256(c2[3832],_mm256_xor_si256(c2[3616],_mm256_xor_si256(c2[2955],_mm256_xor_si256(c2[773],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[337],_mm256_xor_si256(c2[6715],_mm256_xor_si256(c2[2336],_mm256_xor_si256(c2[1895],_mm256_xor_si256(c2[1675],_mm256_xor_si256(c2[5636],_mm256_xor_si256(c2[4975],_mm256_xor_si256(c2[4315],_mm256_xor_si256(c2[3654],_mm256_xor_si256(c2[1698],_mm256_xor_si256(c2[1037],_mm256_xor_si256(c2[6099],_mm256_xor_si256(c2[5438],_mm256_xor_si256(c2[3044],_mm256_xor_si256(c2[2383],_mm256_xor_si256(c2[3703],_mm256_xor_si256(c2[3042],_mm256_xor_si256(c2[4359],_mm256_xor_si256(c2[3698],_mm256_xor_si256(c2[3260],_mm256_xor_si256(c2[6584],_mm256_xor_si256(c2[6143],_mm256_xor_si256(c2[5923],_mm256_xor_si256(c2[1745],_mm256_xor_si256(c2[1084],_mm256_xor_si256(c2[2624],c2[1963])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[110]=_mm256_xor_si256(c2[3303],_mm256_xor_si256(c2[5522],_mm256_xor_si256(c2[3217],c2[5214])));
//row: 11
d2[121]=_mm256_xor_si256(c2[1769],_mm256_xor_si256(c2[6384],_mm256_xor_si256(c2[3087],_mm256_xor_si256(c2[5942],_mm256_xor_si256(c2[5970],_mm256_xor_si256(c2[4431],_mm256_xor_si256(c2[468],_mm256_xor_si256(c2[248],_mm256_xor_si256(c2[5768],_mm256_xor_si256(c2[5993],_mm256_xor_si256(c2[5773],_mm256_xor_si256(c2[3370],_mm256_xor_si256(c2[2932],_mm256_xor_si256(c2[5133],_mm256_xor_si256(c2[2514],_mm256_xor_si256(c2[6694],_mm256_xor_si256(c2[6037],_mm256_xor_si256(c2[5817],_mm256_xor_si256(c2[2974],_mm256_xor_si256(c2[2758],_mm256_xor_si256(c2[2538],_mm256_xor_si256(c2[4537],_mm256_xor_si256(c2[798],_mm256_xor_si256(c2[6736],_mm256_xor_si256(c2[6516],_mm256_xor_si256(c2[3899],_mm256_xor_si256(c2[1481],_mm256_xor_si256(c2[1261],_mm256_xor_si256(c2[3459],_mm256_xor_si256(c2[5245],_mm256_xor_si256(c2[5904],_mm256_xor_si256(c2[6780],_mm256_xor_si256(c2[6560],_mm256_xor_si256(c2[1746],_mm256_xor_si256(c2[3946],_mm256_xor_si256(c2[5045],_mm256_xor_si256(c2[4825],c2[5478])))))))))))))))))))))))))))))))))))));
//row: 12
d2[132]=_mm256_xor_si256(c2[5],_mm256_xor_si256(c2[6824],_mm256_xor_si256(c2[4400],_mm256_xor_si256(c2[1103],_mm256_xor_si256(c2[4206],_mm256_xor_si256(c2[3986],_mm256_xor_si256(c2[2447],_mm256_xor_si256(c2[5303],_mm256_xor_si256(c2[5745],_mm256_xor_si256(c2[4004],_mm256_xor_si256(c2[3784],_mm256_xor_si256(c2[3789],_mm256_xor_si256(c2[1606],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[948],_mm256_xor_si256(c2[3149],_mm256_xor_si256(c2[2486],_mm256_xor_si256(c2[530],_mm256_xor_si256(c2[4710],_mm256_xor_si256(c2[3833],_mm256_xor_si256(c2[990],_mm256_xor_si256(c2[554],_mm256_xor_si256(c2[2773],_mm256_xor_si256(c2[2553],_mm256_xor_si256(c2[5853],_mm256_xor_si256(c2[4532],_mm256_xor_si256(c2[1915],_mm256_xor_si256(c2[6316],_mm256_xor_si256(c2[3261],_mm256_xor_si256(c2[3920],_mm256_xor_si256(c2[4576],_mm256_xor_si256(c2[7021],_mm256_xor_si256(c2[6801],_mm256_xor_si256(c2[1962],c2[2841]))))))))))))))))))))))))))))))))));
//row: 13
d2[143]=_mm256_xor_si256(c2[5728],_mm256_xor_si256(c2[3304],_mm256_xor_si256(c2[7],_mm256_xor_si256(c2[6380],_mm256_xor_si256(c2[2890],_mm256_xor_si256(c2[1351],_mm256_xor_si256(c2[4427],_mm256_xor_si256(c2[4207],_mm256_xor_si256(c2[5964],_mm256_xor_si256(c2[2688],_mm256_xor_si256(c2[2913],_mm256_xor_si256(c2[2693],_mm256_xor_si256(c2[290],_mm256_xor_si256(c2[6891],_mm256_xor_si256(c2[2053],_mm256_xor_si256(c2[6473],_mm256_xor_si256(c2[3614],_mm256_xor_si256(c2[2957],_mm256_xor_si256(c2[2737],_mm256_xor_si256(c2[6933],_mm256_xor_si256(c2[6717],_mm256_xor_si256(c2[6497],_mm256_xor_si256(c2[1457],_mm256_xor_si256(c2[4757],_mm256_xor_si256(c2[3656],_mm256_xor_si256(c2[3436],_mm256_xor_si256(c2[819],_mm256_xor_si256(c2[5440],_mm256_xor_si256(c2[5220],_mm256_xor_si256(c2[2165],_mm256_xor_si256(c2[2824],_mm256_xor_si256(c2[3700],_mm256_xor_si256(c2[3480],_mm256_xor_si256(c2[6116],_mm256_xor_si256(c2[5705],_mm256_xor_si256(c2[866],_mm256_xor_si256(c2[1965],c2[1745])))))))))))))))))))))))))))))))))))));
//row: 14
d2[154]=_mm256_xor_si256(c2[885],_mm256_xor_si256(c2[665],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[5280],_mm256_xor_si256(c2[4845],_mm256_xor_si256(c2[1983],_mm256_xor_si256(c2[1548],_mm256_xor_si256(c2[5086],_mm256_xor_si256(c2[4866],_mm256_xor_si256(c2[4431],_mm256_xor_si256(c2[3327],_mm256_xor_si256(c2[2892],_mm256_xor_si256(c2[6183],_mm256_xor_si256(c2[5968],_mm256_xor_si256(c2[5748],_mm256_xor_si256(c2[2442],_mm256_xor_si256(c2[4884],_mm256_xor_si256(c2[4664],_mm256_xor_si256(c2[4229],_mm256_xor_si256(c2[4669],_mm256_xor_si256(c2[4454],_mm256_xor_si256(c2[4234],_mm256_xor_si256(c2[2486],_mm256_xor_si256(c2[2266],_mm256_xor_si256(c2[1831],_mm256_xor_si256(c2[1828],_mm256_xor_si256(c2[1393],_mm256_xor_si256(c2[4029],_mm256_xor_si256(c2[3594],_mm256_xor_si256(c2[1410],_mm256_xor_si256(c2[975],_mm256_xor_si256(c2[5590],_mm256_xor_si256(c2[5155],_mm256_xor_si256(c2[4713],_mm256_xor_si256(c2[4498],_mm256_xor_si256(c2[4278],_mm256_xor_si256(c2[1870],_mm256_xor_si256(c2[1435],_mm256_xor_si256(c2[1434],_mm256_xor_si256(c2[1219],_mm256_xor_si256(c2[999],_mm256_xor_si256(c2[3653],_mm256_xor_si256(c2[3433],_mm256_xor_si256(c2[2998],_mm256_xor_si256(c2[6733],_mm256_xor_si256(c2[6298],_mm256_xor_si256(c2[5412],_mm256_xor_si256(c2[5197],_mm256_xor_si256(c2[4977],_mm256_xor_si256(c2[3876],_mm256_xor_si256(c2[2795],_mm256_xor_si256(c2[2360],_mm256_xor_si256(c2[157],_mm256_xor_si256(c2[6981],_mm256_xor_si256(c2[6761],_mm256_xor_si256(c2[4141],_mm256_xor_si256(c2[3706],_mm256_xor_si256(c2[4800],_mm256_xor_si256(c2[4365],_mm256_xor_si256(c2[5456],_mm256_xor_si256(c2[5241],_mm256_xor_si256(c2[5021],_mm256_xor_si256(c2[862],_mm256_xor_si256(c2[642],_mm256_xor_si256(c2[207],_mm256_xor_si256(c2[2842],_mm256_xor_si256(c2[2407],_mm256_xor_si256(c2[3721],_mm256_xor_si256(c2[3506],c2[3286])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[165]=_mm256_xor_si256(c2[448],_mm256_xor_si256(c2[886],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[5063],_mm256_xor_si256(c2[5281],_mm256_xor_si256(c2[1766],_mm256_xor_si256(c2[1984],_mm256_xor_si256(c2[1984],_mm256_xor_si256(c2[4649],_mm256_xor_si256(c2[5087],_mm256_xor_si256(c2[4867],_mm256_xor_si256(c2[3110],_mm256_xor_si256(c2[3328],_mm256_xor_si256(c2[5966],_mm256_xor_si256(c2[6184],_mm256_xor_si256(c2[4447],_mm256_xor_si256(c2[4885],_mm256_xor_si256(c2[4665],_mm256_xor_si256(c2[4452],_mm256_xor_si256(c2[4670],_mm256_xor_si256(c2[2049],_mm256_xor_si256(c2[2487],_mm256_xor_si256(c2[2267],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[1829],_mm256_xor_si256(c2[3812],_mm256_xor_si256(c2[4030],_mm256_xor_si256(c2[1193],_mm256_xor_si256(c2[1411],_mm256_xor_si256(c2[5373],_mm256_xor_si256(c2[5591],_mm256_xor_si256(c2[4496],_mm256_xor_si256(c2[4714],_mm256_xor_si256(c2[1653],_mm256_xor_si256(c2[1871],_mm256_xor_si256(c2[1217],_mm256_xor_si256(c2[1435],_mm256_xor_si256(c2[3216],_mm256_xor_si256(c2[3654],_mm256_xor_si256(c2[3434],_mm256_xor_si256(c2[6516],_mm256_xor_si256(c2[6734],_mm256_xor_si256(c2[5195],_mm256_xor_si256(c2[5413],_mm256_xor_si256(c2[2578],_mm256_xor_si256(c2[2796],_mm256_xor_si256(c2[6979],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[3924],_mm256_xor_si256(c2[4142],_mm256_xor_si256(c2[4583],_mm256_xor_si256(c2[4801],_mm256_xor_si256(c2[5239],_mm256_xor_si256(c2[5457],_mm256_xor_si256(c2[425],_mm256_xor_si256(c2[863],_mm256_xor_si256(c2[643],_mm256_xor_si256(c2[2625],_mm256_xor_si256(c2[2843],_mm256_xor_si256(c2[3504],c2[3722]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[176]=_mm256_xor_si256(c2[2865],_mm256_xor_si256(c2[2645],_mm256_xor_si256(c2[230],_mm256_xor_si256(c2[10],_mm256_xor_si256(c2[221],_mm256_xor_si256(c2[4845],_mm256_xor_si256(c2[4625],_mm256_xor_si256(c2[3963],_mm256_xor_si256(c2[1328],_mm256_xor_si256(c2[27],_mm256_xor_si256(c2[6846],_mm256_xor_si256(c2[4431],_mm256_xor_si256(c2[4211],_mm256_xor_si256(c2[5307],_mm256_xor_si256(c2[2672],_mm256_xor_si256(c2[1124],_mm256_xor_si256(c2[5528],_mm256_xor_si256(c2[3104],_mm256_xor_si256(c2[6864],_mm256_xor_si256(c2[6644],_mm256_xor_si256(c2[4229],_mm256_xor_si256(c2[4009],_mm256_xor_si256(c2[6649],_mm256_xor_si256(c2[4014],_mm256_xor_si256(c2[4466],_mm256_xor_si256(c2[4246],_mm256_xor_si256(c2[1831],_mm256_xor_si256(c2[1611],_mm256_xor_si256(c2[3808],_mm256_xor_si256(c2[1393],_mm256_xor_si256(c2[1173],_mm256_xor_si256(c2[6009],_mm256_xor_si256(c2[3374],_mm256_xor_si256(c2[3390],_mm256_xor_si256(c2[975],_mm256_xor_si256(c2[755],_mm256_xor_si256(c2[531],_mm256_xor_si256(c2[4935],_mm256_xor_si256(c2[6693],_mm256_xor_si256(c2[4058],_mm256_xor_si256(c2[3850],_mm256_xor_si256(c2[1435],_mm256_xor_si256(c2[1215],_mm256_xor_si256(c2[3414],_mm256_xor_si256(c2[779],_mm256_xor_si256(c2[5633],_mm256_xor_si256(c2[5413],_mm256_xor_si256(c2[2998],_mm256_xor_si256(c2[2778],_mm256_xor_si256(c2[1674],_mm256_xor_si256(c2[6298],_mm256_xor_si256(c2[6078],_mm256_xor_si256(c2[353],_mm256_xor_si256(c2[4757],_mm256_xor_si256(c2[4775],_mm256_xor_si256(c2[2360],_mm256_xor_si256(c2[2140],_mm256_xor_si256(c2[2137],_mm256_xor_si256(c2[6541],_mm256_xor_si256(c2[6121],_mm256_xor_si256(c2[3706],_mm256_xor_si256(c2[3486],_mm256_xor_si256(c2[6780],_mm256_xor_si256(c2[4145],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[4801],_mm256_xor_si256(c2[2842],_mm256_xor_si256(c2[2622],_mm256_xor_si256(c2[207],_mm256_xor_si256(c2[7026],_mm256_xor_si256(c2[4822],_mm256_xor_si256(c2[2407],_mm256_xor_si256(c2[2187],_mm256_xor_si256(c2[5701],_mm256_xor_si256(c2[3066],c2[6802])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[187]=_mm256_xor_si256(c2[5726],_mm256_xor_si256(c2[5506],_mm256_xor_si256(c2[6829],_mm256_xor_si256(c2[6609],_mm256_xor_si256(c2[3082],_mm256_xor_si256(c2[4405],_mm256_xor_si256(c2[4185],_mm256_xor_si256(c2[6824],_mm256_xor_si256(c2[888],_mm256_xor_si256(c2[2888],_mm256_xor_si256(c2[2668],_mm256_xor_si256(c2[3991],_mm256_xor_si256(c2[3771],_mm256_xor_si256(c2[1129],_mm256_xor_si256(c2[2232],_mm256_xor_si256(c2[3985],_mm256_xor_si256(c2[5088],_mm256_xor_si256(c2[1346],_mm256_xor_si256(c2[2686],_mm256_xor_si256(c2[2466],_mm256_xor_si256(c2[3789],_mm256_xor_si256(c2[3569],_mm256_xor_si256(c2[2471],_mm256_xor_si256(c2[3574],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[1391],_mm256_xor_si256(c2[1171],_mm256_xor_si256(c2[6669],_mm256_xor_si256(c2[953],_mm256_xor_si256(c2[733],_mm256_xor_si256(c2[1831],_mm256_xor_si256(c2[2934],_mm256_xor_si256(c2[6251],_mm256_xor_si256(c2[535],_mm256_xor_si256(c2[315],_mm256_xor_si256(c2[3392],_mm256_xor_si256(c2[4495],_mm256_xor_si256(c2[2515],_mm256_xor_si256(c2[3618],_mm256_xor_si256(c2[6711],_mm256_xor_si256(c2[995],_mm256_xor_si256(c2[775],_mm256_xor_si256(c2[6275],_mm256_xor_si256(c2[339],_mm256_xor_si256(c2[5170],_mm256_xor_si256(c2[1455],_mm256_xor_si256(c2[1235],_mm256_xor_si256(c2[2558],_mm256_xor_si256(c2[2338],_mm256_xor_si256(c2[4535],_mm256_xor_si256(c2[5858],_mm256_xor_si256(c2[5638],_mm256_xor_si256(c2[3214],_mm256_xor_si256(c2[4317],_mm256_xor_si256(c2[597],_mm256_xor_si256(c2[1920],_mm256_xor_si256(c2[1700],_mm256_xor_si256(c2[4998],_mm256_xor_si256(c2[6101],_mm256_xor_si256(c2[1943],_mm256_xor_si256(c2[3266],_mm256_xor_si256(c2[3046],_mm256_xor_si256(c2[2602],_mm256_xor_si256(c2[3705],_mm256_xor_si256(c2[3258],_mm256_xor_si256(c2[4361],_mm256_xor_si256(c2[5703],_mm256_xor_si256(c2[5483],_mm256_xor_si256(c2[6806],_mm256_xor_si256(c2[6586],_mm256_xor_si256(c2[644],_mm256_xor_si256(c2[1967],_mm256_xor_si256(c2[1747],_mm256_xor_si256(c2[1523],c2[2626])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[198]=_mm256_xor_si256(c2[2865],_mm256_xor_si256(c2[6952],c2[4994]));
//row: 19
d2[209]=_mm256_xor_si256(c2[2649],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[3967],_mm256_xor_si256(c2[2860],_mm256_xor_si256(c2[6850],_mm256_xor_si256(c2[5311],_mm256_xor_si256(c2[1128],_mm256_xor_si256(c2[1566],_mm256_xor_si256(c2[6648],_mm256_xor_si256(c2[6653],_mm256_xor_si256(c2[4250],_mm256_xor_si256(c2[3812],_mm256_xor_si256(c2[6013],_mm256_xor_si256(c2[3394],_mm256_xor_si256(c2[535],_mm256_xor_si256(c2[6697],_mm256_xor_si256(c2[3854],_mm256_xor_si256(c2[3418],_mm256_xor_si256(c2[5417],_mm256_xor_si256(c2[1678],_mm256_xor_si256(c2[357],_mm256_xor_si256(c2[4779],_mm256_xor_si256(c2[2141],_mm256_xor_si256(c2[6125],_mm256_xor_si256(c2[6784],_mm256_xor_si256(c2[401],_mm256_xor_si256(c2[2626],_mm256_xor_si256(c2[4826],c2[5705]))))))))))))))))))))))))))));
//row: 20
d2[220]=_mm256_xor_si256(c2[1990],_mm256_xor_si256(c2[1770],_mm256_xor_si256(c2[6385],_mm256_xor_si256(c2[3088],_mm256_xor_si256(c2[6191],_mm256_xor_si256(c2[5971],_mm256_xor_si256(c2[4432],_mm256_xor_si256(c2[249],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[5989],_mm256_xor_si256(c2[5769],_mm256_xor_si256(c2[5774],_mm256_xor_si256(c2[3591],_mm256_xor_si256(c2[3371],_mm256_xor_si256(c2[2933],_mm256_xor_si256(c2[5134],_mm256_xor_si256(c2[2515],_mm256_xor_si256(c2[6695],_mm256_xor_si256(c2[5818],_mm256_xor_si256(c2[4489],_mm256_xor_si256(c2[2975],_mm256_xor_si256(c2[2539],_mm256_xor_si256(c2[4758],_mm256_xor_si256(c2[4538],_mm256_xor_si256(c2[799],_mm256_xor_si256(c2[6517],_mm256_xor_si256(c2[3900],_mm256_xor_si256(c2[1262],_mm256_xor_si256(c2[5246],_mm256_xor_si256(c2[5905],_mm256_xor_si256(c2[6561],_mm256_xor_si256(c2[1967],_mm256_xor_si256(c2[1747],_mm256_xor_si256(c2[3947],c2[4826]))))))))))))))))))))))))))))))))));
//row: 21
d2[231]=_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[5281],_mm256_xor_si256(c2[1984],_mm256_xor_si256(c2[6164],_mm256_xor_si256(c2[4867],_mm256_xor_si256(c2[3328],_mm256_xor_si256(c2[6404],_mm256_xor_si256(c2[6184],_mm256_xor_si256(c2[4665],_mm256_xor_si256(c2[4890],_mm256_xor_si256(c2[4670],_mm256_xor_si256(c2[2267],_mm256_xor_si256(c2[1829],_mm256_xor_si256(c2[4030],_mm256_xor_si256(c2[1411],_mm256_xor_si256(c2[5591],_mm256_xor_si256(c2[4934],_mm256_xor_si256(c2[4714],_mm256_xor_si256(c2[1871],_mm256_xor_si256(c2[1655],_mm256_xor_si256(c2[1435],_mm256_xor_si256(c2[3434],_mm256_xor_si256(c2[6734],_mm256_xor_si256(c2[5633],_mm256_xor_si256(c2[5413],_mm256_xor_si256(c2[2796],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[158],_mm256_xor_si256(c2[4142],_mm256_xor_si256(c2[4801],_mm256_xor_si256(c2[5677],_mm256_xor_si256(c2[5457],_mm256_xor_si256(c2[1501],_mm256_xor_si256(c2[643],_mm256_xor_si256(c2[2843],_mm256_xor_si256(c2[3942],c2[3722]))))))))))))))))))))))))))))))))))));
//row: 22
d2[242]=_mm256_xor_si256(c2[3982],c2[709]);
//row: 23
d2[253]=_mm256_xor_si256(c2[3083],_mm256_xor_si256(c2[950],c2[4954]));
//row: 24
d2[264]=_mm256_xor_si256(c2[3765],_mm256_xor_si256(c2[2687],c2[6579]));
//row: 25
d2[275]=_mm256_xor_si256(c2[1762],c2[1874]);
//row: 26
d2[286]=_mm256_xor_si256(c2[3746],_mm256_xor_si256(c2[3526],_mm256_xor_si256(c2[2649],_mm256_xor_si256(c2[1322],_mm256_xor_si256(c2[1102],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[4844],_mm256_xor_si256(c2[3967],_mm256_xor_si256(c2[908],_mm256_xor_si256(c2[688],_mm256_xor_si256(c2[6850],_mm256_xor_si256(c2[6188],_mm256_xor_si256(c2[5311],_mm256_xor_si256(c2[2005],_mm256_xor_si256(c2[1348],_mm256_xor_si256(c2[1128],_mm256_xor_si256(c2[706],_mm256_xor_si256(c2[486],_mm256_xor_si256(c2[6648],_mm256_xor_si256(c2[491],_mm256_xor_si256(c2[6873],_mm256_xor_si256(c2[6653],_mm256_xor_si256(c2[925],_mm256_xor_si256(c2[5347],_mm256_xor_si256(c2[5127],_mm256_xor_si256(c2[4250],_mm256_xor_si256(c2[4909],_mm256_xor_si256(c2[4689],_mm256_xor_si256(c2[3812],_mm256_xor_si256(c2[6890],_mm256_xor_si256(c2[6013],_mm256_xor_si256(c2[4491],_mm256_xor_si256(c2[4271],_mm256_xor_si256(c2[3394],_mm256_xor_si256(c2[1412],_mm256_xor_si256(c2[535],_mm256_xor_si256(c2[535],_mm256_xor_si256(c2[6917],_mm256_xor_si256(c2[6697],_mm256_xor_si256(c2[4951],_mm256_xor_si256(c2[4731],_mm256_xor_si256(c2[3854],_mm256_xor_si256(c2[4295],_mm256_xor_si256(c2[3638],_mm256_xor_si256(c2[3418],_mm256_xor_si256(c2[6514],_mm256_xor_si256(c2[6294],_mm256_xor_si256(c2[5417],_mm256_xor_si256(c2[2775],_mm256_xor_si256(c2[2555],_mm256_xor_si256(c2[1678],_mm256_xor_si256(c2[1234],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[357],_mm256_xor_si256(c2[5876],_mm256_xor_si256(c2[5656],_mm256_xor_si256(c2[4779],_mm256_xor_si256(c2[3018],_mm256_xor_si256(c2[2361],_mm256_xor_si256(c2[2141],_mm256_xor_si256(c2[1475],_mm256_xor_si256(c2[183],_mm256_xor_si256(c2[7002],_mm256_xor_si256(c2[6125],_mm256_xor_si256(c2[622],_mm256_xor_si256(c2[6784],_mm256_xor_si256(c2[1278],_mm256_xor_si256(c2[621],_mm256_xor_si256(c2[401],_mm256_xor_si256(c2[3723],_mm256_xor_si256(c2[3503],_mm256_xor_si256(c2[2626],_mm256_xor_si256(c2[5923],_mm256_xor_si256(c2[5703],_mm256_xor_si256(c2[4826],_mm256_xor_si256(c2[6582],_mm256_xor_si256(c2[5925],c2[5705])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[297]=_mm256_xor_si256(c2[2201],c2[1895]);
//row: 28
d2[308]=_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[5324],c2[4734]));
//row: 29
d2[319]=_mm256_xor_si256(c2[2424],c2[313]);
//row: 30
d2[330]=_mm256_xor_si256(c2[4446],_mm256_xor_si256(c2[2975],_mm256_xor_si256(c2[6536],c2[6578])));
//row: 31
d2[341]=_mm256_xor_si256(c2[3309],_mm256_xor_si256(c2[885],_mm256_xor_si256(c2[4627],_mm256_xor_si256(c2[471],_mm256_xor_si256(c2[5971],_mm256_xor_si256(c2[2008],_mm256_xor_si256(c2[1788],_mm256_xor_si256(c2[4645],_mm256_xor_si256(c2[269],_mm256_xor_si256(c2[494],_mm256_xor_si256(c2[274],_mm256_xor_si256(c2[4910],_mm256_xor_si256(c2[4472],_mm256_xor_si256(c2[6673],_mm256_xor_si256(c2[4054],_mm256_xor_si256(c2[1195],_mm256_xor_si256(c2[538],_mm256_xor_si256(c2[318],_mm256_xor_si256(c2[4514],_mm256_xor_si256(c2[4298],_mm256_xor_si256(c2[4078],_mm256_xor_si256(c2[6077],_mm256_xor_si256(c2[2338],_mm256_xor_si256(c2[1237],_mm256_xor_si256(c2[1017],_mm256_xor_si256(c2[5439],_mm256_xor_si256(c2[3021],_mm256_xor_si256(c2[2801],_mm256_xor_si256(c2[6785],_mm256_xor_si256(c2[405],_mm256_xor_si256(c2[1281],_mm256_xor_si256(c2[1061],_mm256_xor_si256(c2[3286],_mm256_xor_si256(c2[5486],_mm256_xor_si256(c2[6585],c2[6365])))))))))))))))))))))))))))))))))));
//row: 32
d2[352]=_mm256_xor_si256(c2[2209],_mm256_xor_si256(c2[1989],_mm256_xor_si256(c2[6824],_mm256_xor_si256(c2[6604],_mm256_xor_si256(c2[3307],_mm256_xor_si256(c2[4403],_mm256_xor_si256(c2[6410],_mm256_xor_si256(c2[6190],_mm256_xor_si256(c2[4651],_mm256_xor_si256(c2[468],_mm256_xor_si256(c2[6208],_mm256_xor_si256(c2[5988],_mm256_xor_si256(c2[5993],_mm256_xor_si256(c2[3810],_mm256_xor_si256(c2[3590],_mm256_xor_si256(c2[3372],_mm256_xor_si256(c2[3152],_mm256_xor_si256(c2[5353],_mm256_xor_si256(c2[2954],_mm256_xor_si256(c2[2734],_mm256_xor_si256(c2[6914],_mm256_xor_si256(c2[6037],_mm256_xor_si256(c2[3414],_mm256_xor_si256(c2[3194],_mm256_xor_si256(c2[2758],_mm256_xor_si256(c2[2092],_mm256_xor_si256(c2[4977],_mm256_xor_si256(c2[4757],_mm256_xor_si256(c2[1238],_mm256_xor_si256(c2[1018],_mm256_xor_si256(c2[6736],_mm256_xor_si256(c2[4339],_mm256_xor_si256(c2[4119],_mm256_xor_si256(c2[1481],_mm256_xor_si256(c2[5685],_mm256_xor_si256(c2[5465],_mm256_xor_si256(c2[6124],_mm256_xor_si256(c2[6780],_mm256_xor_si256(c2[2186],_mm256_xor_si256(c2[1966],_mm256_xor_si256(c2[4386],_mm256_xor_si256(c2[4166],c2[5045]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[363]=_mm256_xor_si256(c2[5285],_mm256_xor_si256(c2[2861],_mm256_xor_si256(c2[6603],_mm256_xor_si256(c2[2447],_mm256_xor_si256(c2[908],_mm256_xor_si256(c2[3764],_mm256_xor_si256(c2[2245],_mm256_xor_si256(c2[2250],_mm256_xor_si256(c2[2027],_mm256_xor_si256(c2[6886],_mm256_xor_si256(c2[6448],_mm256_xor_si256(c2[1610],_mm256_xor_si256(c2[6030],_mm256_xor_si256(c2[3171],_mm256_xor_si256(c2[2294],_mm256_xor_si256(c2[6490],_mm256_xor_si256(c2[6054],_mm256_xor_si256(c2[1014],_mm256_xor_si256(c2[4314],_mm256_xor_si256(c2[2993],_mm256_xor_si256(c2[376],_mm256_xor_si256(c2[4777],_mm256_xor_si256(c2[2138],_mm256_xor_si256(c2[1722],_mm256_xor_si256(c2[2381],_mm256_xor_si256(c2[3037],_mm256_xor_si256(c2[5262],_mm256_xor_si256(c2[423],c2[1302]))))))))))))))))))))))))))));
//row: 34
d2[374]=_mm256_xor_si256(c2[1106],_mm256_xor_si256(c2[886],_mm256_xor_si256(c2[6389],_mm256_xor_si256(c2[5721],_mm256_xor_si256(c2[5501],_mm256_xor_si256(c2[3965],_mm256_xor_si256(c2[2204],_mm256_xor_si256(c2[668],_mm256_xor_si256(c2[2420],_mm256_xor_si256(c2[5307],_mm256_xor_si256(c2[5087],_mm256_xor_si256(c2[3551],_mm256_xor_si256(c2[3548],_mm256_xor_si256(c2[2012],_mm256_xor_si256(c2[6404],_mm256_xor_si256(c2[5088],_mm256_xor_si256(c2[4868],_mm256_xor_si256(c2[5105],_mm256_xor_si256(c2[4885],_mm256_xor_si256(c2[3349],_mm256_xor_si256(c2[4890],_mm256_xor_si256(c2[3574],_mm256_xor_si256(c2[3354],_mm256_xor_si256(c2[2707],_mm256_xor_si256(c2[2487],_mm256_xor_si256(c2[951],_mm256_xor_si256(c2[2269],_mm256_xor_si256(c2[2049],_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[4250],_mm256_xor_si256(c2[2714],_mm256_xor_si256(c2[1851],_mm256_xor_si256(c2[1631],_mm256_xor_si256(c2[95],_mm256_xor_si256(c2[5811],_mm256_xor_si256(c2[4275],_mm256_xor_si256(c2[4934],_mm256_xor_si256(c2[3618],_mm256_xor_si256(c2[3398],_mm256_xor_si256(c2[2311],_mm256_xor_si256(c2[2091],_mm256_xor_si256(c2[555],_mm256_xor_si256(c2[1655],_mm256_xor_si256(c2[339],_mm256_xor_si256(c2[119],_mm256_xor_si256(c2[3874],_mm256_xor_si256(c2[3654],_mm256_xor_si256(c2[2118],_mm256_xor_si256(c2[135],_mm256_xor_si256(c2[6954],_mm256_xor_si256(c2[5418],_mm256_xor_si256(c2[5633],_mm256_xor_si256(c2[4317],_mm256_xor_si256(c2[4097],_mm256_xor_si256(c2[3236],_mm256_xor_si256(c2[3016],_mm256_xor_si256(c2[1480],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[6101],_mm256_xor_si256(c2[5881],_mm256_xor_si256(c2[4582],_mm256_xor_si256(c2[4362],_mm256_xor_si256(c2[2826],_mm256_xor_si256(c2[5021],_mm256_xor_si256(c2[3485],_mm256_xor_si256(c2[5677],_mm256_xor_si256(c2[4361],_mm256_xor_si256(c2[4141],_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[863],_mm256_xor_si256(c2[6366],_mm256_xor_si256(c2[3283],_mm256_xor_si256(c2[3063],_mm256_xor_si256(c2[1527],_mm256_xor_si256(c2[3942],_mm256_xor_si256(c2[2626],c2[2406]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[385]=_mm256_xor_si256(c2[1770],_mm256_xor_si256(c2[1550],_mm256_xor_si256(c2[6165],_mm256_xor_si256(c2[2868],_mm256_xor_si256(c2[5971],_mm256_xor_si256(c2[5751],_mm256_xor_si256(c2[4212],_mm256_xor_si256(c2[29],_mm256_xor_si256(c2[6625],_mm256_xor_si256(c2[5769],_mm256_xor_si256(c2[5549],_mm256_xor_si256(c2[5554],_mm256_xor_si256(c2[3371],_mm256_xor_si256(c2[3151],_mm256_xor_si256(c2[2713],_mm256_xor_si256(c2[4914],_mm256_xor_si256(c2[2295],_mm256_xor_si256(c2[6475],_mm256_xor_si256(c2[5598],_mm256_xor_si256(c2[2755],_mm256_xor_si256(c2[2319],_mm256_xor_si256(c2[5394],_mm256_xor_si256(c2[4538],_mm256_xor_si256(c2[4318],_mm256_xor_si256(c2[579],_mm256_xor_si256(c2[6297],_mm256_xor_si256(c2[3680],_mm256_xor_si256(c2[1042],_mm256_xor_si256(c2[5026],_mm256_xor_si256(c2[5685],_mm256_xor_si256(c2[6341],_mm256_xor_si256(c2[1747],_mm256_xor_si256(c2[1527],_mm256_xor_si256(c2[3727],c2[4606]))))))))))))))))))))))))))))))))));
//row: 36
d2[396]=_mm256_xor_si256(c2[1982],_mm256_xor_si256(c2[5768],c2[378]));
//row: 37
d2[407]=_mm256_xor_si256(c2[450],_mm256_xor_si256(c2[226],_mm256_xor_si256(c2[5065],_mm256_xor_si256(c2[4841],_mm256_xor_si256(c2[1768],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[4651],_mm256_xor_si256(c2[4427],_mm256_xor_si256(c2[3112],_mm256_xor_si256(c2[2888],_mm256_xor_si256(c2[5968],_mm256_xor_si256(c2[5964],_mm256_xor_si256(c2[5744],_mm256_xor_si256(c2[4449],_mm256_xor_si256(c2[4225],_mm256_xor_si256(c2[4454],_mm256_xor_si256(c2[4450],_mm256_xor_si256(c2[4230],_mm256_xor_si256(c2[2051],_mm256_xor_si256(c2[1827],_mm256_xor_si256(c2[1613],_mm256_xor_si256(c2[1389],_mm256_xor_si256(c2[3814],_mm256_xor_si256(c2[3590],_mm256_xor_si256(c2[1195],_mm256_xor_si256(c2[971],_mm256_xor_si256(c2[5375],_mm256_xor_si256(c2[5151],_mm256_xor_si256(c2[4498],_mm256_xor_si256(c2[4494],_mm256_xor_si256(c2[4274],_mm256_xor_si256(c2[1655],_mm256_xor_si256(c2[1431],_mm256_xor_si256(c2[1219],_mm256_xor_si256(c2[1215],_mm256_xor_si256(c2[995],_mm256_xor_si256(c2[3218],_mm256_xor_si256(c2[2994],_mm256_xor_si256(c2[6518],_mm256_xor_si256(c2[6294],_mm256_xor_si256(c2[5197],_mm256_xor_si256(c2[5193],_mm256_xor_si256(c2[4973],_mm256_xor_si256(c2[2580],_mm256_xor_si256(c2[2356],_mm256_xor_si256(c2[6981],_mm256_xor_si256(c2[6977],_mm256_xor_si256(c2[6757],_mm256_xor_si256(c2[3926],_mm256_xor_si256(c2[3702],_mm256_xor_si256(c2[4585],_mm256_xor_si256(c2[4361],_mm256_xor_si256(c2[5241],_mm256_xor_si256(c2[5237],_mm256_xor_si256(c2[5017],_mm256_xor_si256(c2[427],_mm256_xor_si256(c2[203],_mm256_xor_si256(c2[2627],_mm256_xor_si256(c2[2403],_mm256_xor_si256(c2[3506],_mm256_xor_si256(c2[3502],c2[3282])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[418]=_mm256_xor_si256(c2[3305],_mm256_xor_si256(c2[3085],_mm256_xor_si256(c2[661],_mm256_xor_si256(c2[4403],_mm256_xor_si256(c2[467],_mm256_xor_si256(c2[247],_mm256_xor_si256(c2[5747],_mm256_xor_si256(c2[1564],_mm256_xor_si256(c2[3545],_mm256_xor_si256(c2[265],_mm256_xor_si256(c2[45],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[4906],_mm256_xor_si256(c2[4686],_mm256_xor_si256(c2[4248],_mm256_xor_si256(c2[6449],_mm256_xor_si256(c2[3830],_mm256_xor_si256(c2[971],_mm256_xor_si256(c2[94],_mm256_xor_si256(c2[4290],_mm256_xor_si256(c2[3854],_mm256_xor_si256(c2[1650],_mm256_xor_si256(c2[6073],_mm256_xor_si256(c2[5853],_mm256_xor_si256(c2[2114],_mm256_xor_si256(c2[793],_mm256_xor_si256(c2[5215],_mm256_xor_si256(c2[2577],_mm256_xor_si256(c2[6561],_mm256_xor_si256(c2[181],_mm256_xor_si256(c2[837],_mm256_xor_si256(c2[3282],_mm256_xor_si256(c2[3062],_mm256_xor_si256(c2[5262],c2[6141]))))))))))))))))))))))))))))))))));
//row: 39
d2[429]=_mm256_xor_si256(c2[1108],_mm256_xor_si256(c2[888],_mm256_xor_si256(c2[5723],_mm256_xor_si256(c2[5503],_mm256_xor_si256(c2[2206],_mm256_xor_si256(c2[2863],_mm256_xor_si256(c2[5309],_mm256_xor_si256(c2[5089],_mm256_xor_si256(c2[3550],_mm256_xor_si256(c2[6406],_mm256_xor_si256(c2[5107],_mm256_xor_si256(c2[4887],_mm256_xor_si256(c2[4892],_mm256_xor_si256(c2[2709],_mm256_xor_si256(c2[2489],_mm256_xor_si256(c2[2271],_mm256_xor_si256(c2[2051],_mm256_xor_si256(c2[4252],_mm256_xor_si256(c2[1853],_mm256_xor_si256(c2[1633],_mm256_xor_si256(c2[5813],_mm256_xor_si256(c2[4936],_mm256_xor_si256(c2[2313],_mm256_xor_si256(c2[2093],_mm256_xor_si256(c2[1657],_mm256_xor_si256(c2[3876],_mm256_xor_si256(c2[3656],_mm256_xor_si256(c2[137],_mm256_xor_si256(c2[6956],_mm256_xor_si256(c2[5635],_mm256_xor_si256(c2[3238],_mm256_xor_si256(c2[3018],_mm256_xor_si256(c2[380],_mm256_xor_si256(c2[1474],_mm256_xor_si256(c2[4584],_mm256_xor_si256(c2[4364],_mm256_xor_si256(c2[5023],_mm256_xor_si256(c2[5679],_mm256_xor_si256(c2[1085],_mm256_xor_si256(c2[865],_mm256_xor_si256(c2[3285],_mm256_xor_si256(c2[3065],c2[3944]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[440]=_mm256_xor_si256(c2[5069],_mm256_xor_si256(c2[2867],_mm256_xor_si256(c2[2645],_mm256_xor_si256(c2[443],_mm256_xor_si256(c2[6387],_mm256_xor_si256(c2[4185],_mm256_xor_si256(c2[2231],_mm256_xor_si256(c2[29],_mm256_xor_si256(c2[692],_mm256_xor_si256(c2[5529],_mm256_xor_si256(c2[3548],_mm256_xor_si256(c2[1566],_mm256_xor_si256(c2[1346],_mm256_xor_si256(c2[2029],_mm256_xor_si256(c2[6866],_mm256_xor_si256(c2[2034],_mm256_xor_si256(c2[52],_mm256_xor_si256(c2[6871],_mm256_xor_si256(c2[49],_mm256_xor_si256(c2[6670],_mm256_xor_si256(c2[4468],_mm256_xor_si256(c2[6232],_mm256_xor_si256(c2[4030],_mm256_xor_si256(c2[1394],_mm256_xor_si256(c2[6231],_mm256_xor_si256(c2[5814],_mm256_xor_si256(c2[3612],_mm256_xor_si256(c2[2955],_mm256_xor_si256(c2[753],_mm256_xor_si256(c2[2078],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[6915],_mm256_xor_si256(c2[6274],_mm256_xor_si256(c2[4072],_mm256_xor_si256(c2[5838],_mm256_xor_si256(c2[3856],_mm256_xor_si256(c2[3636],_mm256_xor_si256(c2[798],_mm256_xor_si256(c2[5635],_mm256_xor_si256(c2[4098],_mm256_xor_si256(c2[1896],_mm256_xor_si256(c2[2777],_mm256_xor_si256(c2[795],_mm256_xor_si256(c2[575],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[4997],_mm256_xor_si256(c2[4561],_mm256_xor_si256(c2[2579],_mm256_xor_si256(c2[2359],_mm256_xor_si256(c2[1506],_mm256_xor_si256(c2[6343],_mm256_xor_si256(c2[2165],_mm256_xor_si256(c2[7002],_mm256_xor_si256(c2[2821],_mm256_xor_si256(c2[839],_mm256_xor_si256(c2[619],_mm256_xor_si256(c2[5046],_mm256_xor_si256(c2[2844],_mm256_xor_si256(c2[207],_mm256_xor_si256(c2[5044],_mm256_xor_si256(c2[1086],_mm256_xor_si256(c2[6143],c2[5923]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[451]=_mm256_xor_si256(c2[885],_mm256_xor_si256(c2[665],_mm256_xor_si256(c2[5280],_mm256_xor_si256(c2[1983],_mm256_xor_si256(c2[5086],_mm256_xor_si256(c2[4866],_mm256_xor_si256(c2[3327],_mm256_xor_si256(c2[6183],_mm256_xor_si256(c2[906],_mm256_xor_si256(c2[4884],_mm256_xor_si256(c2[4664],_mm256_xor_si256(c2[4669],_mm256_xor_si256(c2[2486],_mm256_xor_si256(c2[2266],_mm256_xor_si256(c2[1828],_mm256_xor_si256(c2[4029],_mm256_xor_si256(c2[1410],_mm256_xor_si256(c2[5590],_mm256_xor_si256(c2[4713],_mm256_xor_si256(c2[1870],_mm256_xor_si256(c2[1434],_mm256_xor_si256(c2[1430],_mm256_xor_si256(c2[3653],_mm256_xor_si256(c2[3433],_mm256_xor_si256(c2[6733],_mm256_xor_si256(c2[5412],_mm256_xor_si256(c2[2795],_mm256_xor_si256(c2[157],_mm256_xor_si256(c2[4141],_mm256_xor_si256(c2[4800],_mm256_xor_si256(c2[5456],_mm256_xor_si256(c2[862],_mm256_xor_si256(c2[642],_mm256_xor_si256(c2[2842],c2[3721]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=384, byte encoding
static inline void ldpc_BG2_Zc384_byte(uint8_t *c,uint8_t *d) {
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
__m256i *c2,*d2;
int i2;
for (i2=0; i2<12; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm256_xor_si256(c2[3125],_mm256_xor_si256(c2[6240],_mm256_xor_si256(c2[5760],_mm256_xor_si256(c2[27],_mm256_xor_si256(c2[4107],_mm256_xor_si256(c2[1708],_mm256_xor_si256(c2[1253],_mm256_xor_si256(c2[3413],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[793],_mm256_xor_si256(c2[4875],_mm256_xor_si256(c2[3697],_mm256_xor_si256(c2[3219],_mm256_xor_si256(c2[3939],_mm256_xor_si256(c2[6602],_mm256_xor_si256(c2[1802],_mm256_xor_si256(c2[1586],_mm256_xor_si256(c2[7344],_mm256_xor_si256(c2[6387],_mm256_xor_si256(c2[6413],_mm256_xor_si256(c2[5211],_mm256_xor_si256(c2[5957],_mm256_xor_si256(c2[4275],_mm256_xor_si256(c2[6672],_mm256_xor_si256(c2[2861],_mm256_xor_si256(c2[696],c2[6221]))))))))))))))))))))))))));
//row: 1
d2[12]=_mm256_xor_si256(c2[3365],_mm256_xor_si256(c2[3125],_mm256_xor_si256(c2[6240],_mm256_xor_si256(c2[5760],_mm256_xor_si256(c2[267],_mm256_xor_si256(c2[27],_mm256_xor_si256(c2[4107],_mm256_xor_si256(c2[1708],_mm256_xor_si256(c2[1493],_mm256_xor_si256(c2[1253],_mm256_xor_si256(c2[3413],_mm256_xor_si256(c2[554],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[793],_mm256_xor_si256(c2[4875],_mm256_xor_si256(c2[3697],_mm256_xor_si256(c2[3219],_mm256_xor_si256(c2[3939],_mm256_xor_si256(c2[6602],_mm256_xor_si256(c2[1802],_mm256_xor_si256(c2[1826],_mm256_xor_si256(c2[1586],_mm256_xor_si256(c2[7344],_mm256_xor_si256(c2[6387],_mm256_xor_si256(c2[6413],_mm256_xor_si256(c2[5211],_mm256_xor_si256(c2[5957],_mm256_xor_si256(c2[4275],_mm256_xor_si256(c2[6672],_mm256_xor_si256(c2[3101],_mm256_xor_si256(c2[2861],_mm256_xor_si256(c2[696],c2[6221]))))))))))))))))))))))))))))))));
//row: 2
d2[24]=_mm256_xor_si256(c2[3365],_mm256_xor_si256(c2[3125],_mm256_xor_si256(c2[6480],_mm256_xor_si256(c2[6240],_mm256_xor_si256(c2[5760],_mm256_xor_si256(c2[267],_mm256_xor_si256(c2[27],_mm256_xor_si256(c2[4107],_mm256_xor_si256(c2[1708],_mm256_xor_si256(c2[1493],_mm256_xor_si256(c2[1253],_mm256_xor_si256(c2[3413],_mm256_xor_si256(c2[554],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[1033],_mm256_xor_si256(c2[793],_mm256_xor_si256(c2[4875],_mm256_xor_si256(c2[3937],_mm256_xor_si256(c2[3697],_mm256_xor_si256(c2[3219],_mm256_xor_si256(c2[3939],_mm256_xor_si256(c2[6842],_mm256_xor_si256(c2[6602],_mm256_xor_si256(c2[1802],_mm256_xor_si256(c2[1826],_mm256_xor_si256(c2[1586],_mm256_xor_si256(c2[7584],_mm256_xor_si256(c2[7344],_mm256_xor_si256(c2[6387],_mm256_xor_si256(c2[6653],_mm256_xor_si256(c2[6413],_mm256_xor_si256(c2[5211],_mm256_xor_si256(c2[6197],_mm256_xor_si256(c2[5957],_mm256_xor_si256(c2[4275],_mm256_xor_si256(c2[6672],_mm256_xor_si256(c2[3101],_mm256_xor_si256(c2[2861],_mm256_xor_si256(c2[936],_mm256_xor_si256(c2[696],c2[6221]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[36]=_mm256_xor_si256(c2[3125],_mm256_xor_si256(c2[6240],_mm256_xor_si256(c2[5760],_mm256_xor_si256(c2[27],_mm256_xor_si256(c2[4107],_mm256_xor_si256(c2[1948],_mm256_xor_si256(c2[1708],_mm256_xor_si256(c2[1253],_mm256_xor_si256(c2[3653],_mm256_xor_si256(c2[3413],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[793],_mm256_xor_si256(c2[4875],_mm256_xor_si256(c2[3697],_mm256_xor_si256(c2[3219],_mm256_xor_si256(c2[4179],_mm256_xor_si256(c2[3939],_mm256_xor_si256(c2[6602],_mm256_xor_si256(c2[2042],_mm256_xor_si256(c2[1802],_mm256_xor_si256(c2[1586],_mm256_xor_si256(c2[7344],_mm256_xor_si256(c2[6627],_mm256_xor_si256(c2[6387],_mm256_xor_si256(c2[6413],_mm256_xor_si256(c2[5451],_mm256_xor_si256(c2[5211],_mm256_xor_si256(c2[5957],_mm256_xor_si256(c2[4275],_mm256_xor_si256(c2[6912],_mm256_xor_si256(c2[6672],_mm256_xor_si256(c2[2861],_mm256_xor_si256(c2[696],_mm256_xor_si256(c2[6461],c2[6221]))))))))))))))))))))))))))))))))));
//row: 4
d2[48]=_mm256_xor_si256(c2[2646],_mm256_xor_si256(c2[2406],_mm256_xor_si256(c2[5521],_mm256_xor_si256(c2[5041],_mm256_xor_si256(c2[1922],_mm256_xor_si256(c2[7227],_mm256_xor_si256(c2[6987],_mm256_xor_si256(c2[3388],_mm256_xor_si256(c2[989],_mm256_xor_si256(c2[2426],_mm256_xor_si256(c2[774],_mm256_xor_si256(c2[534],_mm256_xor_si256(c2[2694],_mm256_xor_si256(c2[7514],_mm256_xor_si256(c2[7274],_mm256_xor_si256(c2[74],_mm256_xor_si256(c2[4156],_mm256_xor_si256(c2[2978],_mm256_xor_si256(c2[2500],_mm256_xor_si256(c2[3220],_mm256_xor_si256(c2[5883],_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[1107],_mm256_xor_si256(c2[867],_mm256_xor_si256(c2[6625],_mm256_xor_si256(c2[5668],_mm256_xor_si256(c2[5694],_mm256_xor_si256(c2[4492],_mm256_xor_si256(c2[5238],_mm256_xor_si256(c2[3556],_mm256_xor_si256(c2[5953],_mm256_xor_si256(c2[2382],_mm256_xor_si256(c2[2142],_mm256_xor_si256(c2[7656],c2[5502]))))))))))))))))))))))))))))))))));
//row: 5
d2[60]=_mm256_xor_si256(c2[7206],_mm256_xor_si256(c2[6966],_mm256_xor_si256(c2[2402],_mm256_xor_si256(c2[1922],_mm256_xor_si256(c2[2400],_mm256_xor_si256(c2[4108],_mm256_xor_si256(c2[3868],_mm256_xor_si256(c2[269],_mm256_xor_si256(c2[5549],_mm256_xor_si256(c2[2905],_mm256_xor_si256(c2[5334],_mm256_xor_si256(c2[5094],_mm256_xor_si256(c2[7254],_mm256_xor_si256(c2[4395],_mm256_xor_si256(c2[4155],_mm256_xor_si256(c2[4634],_mm256_xor_si256(c2[1037],_mm256_xor_si256(c2[7538],_mm256_xor_si256(c2[7060],_mm256_xor_si256(c2[101],_mm256_xor_si256(c2[2764],_mm256_xor_si256(c2[5643],_mm256_xor_si256(c2[6123],_mm256_xor_si256(c2[5667],_mm256_xor_si256(c2[5427],_mm256_xor_si256(c2[3506],_mm256_xor_si256(c2[2549],_mm256_xor_si256(c2[2575],_mm256_xor_si256(c2[1373],_mm256_xor_si256(c2[4010],_mm256_xor_si256(c2[2119],_mm256_xor_si256(c2[437],_mm256_xor_si256(c2[2834],_mm256_xor_si256(c2[6942],_mm256_xor_si256(c2[6702],_mm256_xor_si256(c2[4537],c2[2383]))))))))))))))))))))))))))))))))))));
//row: 6
d2[72]=_mm256_xor_si256(c2[1451],_mm256_xor_si256(c2[1211],_mm256_xor_si256(c2[4326],_mm256_xor_si256(c2[3846],_mm256_xor_si256(c2[244],_mm256_xor_si256(c2[6032],_mm256_xor_si256(c2[5792],_mm256_xor_si256(c2[2193],_mm256_xor_si256(c2[7473],_mm256_xor_si256(c2[7258],_mm256_xor_si256(c2[7018],_mm256_xor_si256(c2[1499],_mm256_xor_si256(c2[6319],_mm256_xor_si256(c2[6079],_mm256_xor_si256(c2[6558],_mm256_xor_si256(c2[2961],_mm256_xor_si256(c2[1783],_mm256_xor_si256(c2[1305],_mm256_xor_si256(c2[2025],_mm256_xor_si256(c2[4688],_mm256_xor_si256(c2[7567],_mm256_xor_si256(c2[6842],_mm256_xor_si256(c2[7591],_mm256_xor_si256(c2[7351],_mm256_xor_si256(c2[5430],_mm256_xor_si256(c2[4473],_mm256_xor_si256(c2[4499],_mm256_xor_si256(c2[3297],_mm256_xor_si256(c2[1131],_mm256_xor_si256(c2[4043],_mm256_xor_si256(c2[2361],_mm256_xor_si256(c2[4758],_mm256_xor_si256(c2[1187],_mm256_xor_si256(c2[947],_mm256_xor_si256(c2[6461],_mm256_xor_si256(c2[4307],c2[4297]))))))))))))))))))))))))))))))))))));
//row: 7
d2[84]=_mm256_xor_si256(c2[4808],_mm256_xor_si256(c2[4568],_mm256_xor_si256(c2[6729],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[2165],_mm256_xor_si256(c2[7203],_mm256_xor_si256(c2[1685],_mm256_xor_si256(c2[1710],_mm256_xor_si256(c2[1470],_mm256_xor_si256(c2[3631],_mm256_xor_si256(c2[5550],_mm256_xor_si256(c2[32],_mm256_xor_si256(c2[3151],_mm256_xor_si256(c2[5552],_mm256_xor_si256(c2[5312],_mm256_xor_si256(c2[3866],_mm256_xor_si256(c2[2936],_mm256_xor_si256(c2[2696],_mm256_xor_si256(c2[4857],_mm256_xor_si256(c2[4856],_mm256_xor_si256(c2[7257],_mm256_xor_si256(c2[7017],_mm256_xor_si256(c2[1997],_mm256_xor_si256(c2[1757],_mm256_xor_si256(c2[3918],_mm256_xor_si256(c2[2236],_mm256_xor_si256(c2[4397],_mm256_xor_si256(c2[6318],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[5140],_mm256_xor_si256(c2[7301],_mm256_xor_si256(c2[4662],_mm256_xor_si256(c2[6823],_mm256_xor_si256(c2[5382],_mm256_xor_si256(c2[104],_mm256_xor_si256(c2[7543],_mm256_xor_si256(c2[366],_mm256_xor_si256(c2[2527],_mm256_xor_si256(c2[3245],_mm256_xor_si256(c2[5646],_mm256_xor_si256(c2[5406],_mm256_xor_si256(c2[6365],_mm256_xor_si256(c2[3269],_mm256_xor_si256(c2[3029],_mm256_xor_si256(c2[5190],_mm256_xor_si256(c2[1108],_mm256_xor_si256(c2[3269],_mm256_xor_si256(c2[151],_mm256_xor_si256(c2[2552],_mm256_xor_si256(c2[2312],_mm256_xor_si256(c2[177],_mm256_xor_si256(c2[2338],_mm256_xor_si256(c2[6654],_mm256_xor_si256(c2[1376],_mm256_xor_si256(c2[1136],_mm256_xor_si256(c2[4008],_mm256_xor_si256(c2[7400],_mm256_xor_si256(c2[1882],_mm256_xor_si256(c2[5718],_mm256_xor_si256(c2[200],_mm256_xor_si256(c2[436],_mm256_xor_si256(c2[2837],_mm256_xor_si256(c2[2597],_mm256_xor_si256(c2[4544],_mm256_xor_si256(c2[4304],_mm256_xor_si256(c2[6465],_mm256_xor_si256(c2[2139],_mm256_xor_si256(c2[4300],_mm256_xor_si256(c2[7664],_mm256_xor_si256(c2[2386],c2[2146]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[96]=_mm256_xor_si256(c2[1450],_mm256_xor_si256(c2[1210],_mm256_xor_si256(c2[4565],_mm256_xor_si256(c2[4325],_mm256_xor_si256(c2[3845],_mm256_xor_si256(c2[5283],_mm256_xor_si256(c2[6031],_mm256_xor_si256(c2[5791],_mm256_xor_si256(c2[2192],_mm256_xor_si256(c2[7472],_mm256_xor_si256(c2[1466],_mm256_xor_si256(c2[7257],_mm256_xor_si256(c2[7017],_mm256_xor_si256(c2[1498],_mm256_xor_si256(c2[6318],_mm256_xor_si256(c2[6078],_mm256_xor_si256(c2[6797],_mm256_xor_si256(c2[6557],_mm256_xor_si256(c2[2960],_mm256_xor_si256(c2[2022],_mm256_xor_si256(c2[1782],_mm256_xor_si256(c2[1304],_mm256_xor_si256(c2[2024],_mm256_xor_si256(c2[4927],_mm256_xor_si256(c2[4687],_mm256_xor_si256(c2[7566],_mm256_xor_si256(c2[7590],_mm256_xor_si256(c2[7350],_mm256_xor_si256(c2[5669],_mm256_xor_si256(c2[5429],_mm256_xor_si256(c2[4472],_mm256_xor_si256(c2[4738],_mm256_xor_si256(c2[4498],_mm256_xor_si256(c2[3296],_mm256_xor_si256(c2[4282],_mm256_xor_si256(c2[4042],_mm256_xor_si256(c2[2360],_mm256_xor_si256(c2[4757],_mm256_xor_si256(c2[1186],_mm256_xor_si256(c2[946],_mm256_xor_si256(c2[6700],_mm256_xor_si256(c2[6460],c2[4306]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[108]=_mm256_xor_si256(c2[1451],_mm256_xor_si256(c2[11],_mm256_xor_si256(c2[7450],_mm256_xor_si256(c2[4566],_mm256_xor_si256(c2[2886],_mm256_xor_si256(c2[4086],_mm256_xor_si256(c2[2406],_mm256_xor_si256(c2[6032],_mm256_xor_si256(c2[4592],_mm256_xor_si256(c2[4352],_mm256_xor_si256(c2[2433],_mm256_xor_si256(c2[753],_mm256_xor_si256(c2[34],_mm256_xor_si256(c2[6033],_mm256_xor_si256(c2[6744],_mm256_xor_si256(c2[7258],_mm256_xor_si256(c2[5818],_mm256_xor_si256(c2[5578],_mm256_xor_si256(c2[1739],_mm256_xor_si256(c2[59],_mm256_xor_si256(c2[6319],_mm256_xor_si256(c2[4879],_mm256_xor_si256(c2[4639],_mm256_xor_si256(c2[6798],_mm256_xor_si256(c2[5118],_mm256_xor_si256(c2[3201],_mm256_xor_si256(c2[1521],_mm256_xor_si256(c2[2023],_mm256_xor_si256(c2[343],_mm256_xor_si256(c2[1545],_mm256_xor_si256(c2[7544],_mm256_xor_si256(c2[2265],_mm256_xor_si256(c2[585],_mm256_xor_si256(c2[4928],_mm256_xor_si256(c2[3248],_mm256_xor_si256(c2[128],_mm256_xor_si256(c2[6127],_mm256_xor_si256(c2[7591],_mm256_xor_si256(c2[6151],_mm256_xor_si256(c2[5911],_mm256_xor_si256(c2[5670],_mm256_xor_si256(c2[3990],_mm256_xor_si256(c2[4713],_mm256_xor_si256(c2[3033],_mm256_xor_si256(c2[4739],_mm256_xor_si256(c2[3059],_mm256_xor_si256(c2[3537],_mm256_xor_si256(c2[1857],_mm256_xor_si256(c2[4283],_mm256_xor_si256(c2[2603],_mm256_xor_si256(c2[2601],_mm256_xor_si256(c2[921],_mm256_xor_si256(c2[4998],_mm256_xor_si256(c2[3318],_mm256_xor_si256(c2[1156],_mm256_xor_si256(c2[1187],_mm256_xor_si256(c2[7426],_mm256_xor_si256(c2[7186],_mm256_xor_si256(c2[6701],_mm256_xor_si256(c2[5021],_mm256_xor_si256(c2[4547],c2[2867])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[120]=_mm256_xor_si256(c2[6481],_mm256_xor_si256(c2[1947],_mm256_xor_si256(c2[5424],c2[4969])));
//row: 11
d2[132]=_mm256_xor_si256(c2[1690],_mm256_xor_si256(c2[4805],_mm256_xor_si256(c2[4325],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[6271],_mm256_xor_si256(c2[2672],_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[273],_mm256_xor_si256(c2[7497],_mm256_xor_si256(c2[2218],_mm256_xor_si256(c2[1978],_mm256_xor_si256(c2[6558],_mm256_xor_si256(c2[7037],_mm256_xor_si256(c2[3440],_mm256_xor_si256(c2[2262],_mm256_xor_si256(c2[1784],_mm256_xor_si256(c2[2744],_mm256_xor_si256(c2[2504],_mm256_xor_si256(c2[5167],_mm256_xor_si256(c2[607],_mm256_xor_si256(c2[367],_mm256_xor_si256(c2[151],_mm256_xor_si256(c2[5909],_mm256_xor_si256(c2[5192],_mm256_xor_si256(c2[4952],_mm256_xor_si256(c2[4978],_mm256_xor_si256(c2[4016],_mm256_xor_si256(c2[3776],_mm256_xor_si256(c2[6890],_mm256_xor_si256(c2[4522],_mm256_xor_si256(c2[2840],_mm256_xor_si256(c2[5477],_mm256_xor_si256(c2[5237],_mm256_xor_si256(c2[1426],_mm256_xor_si256(c2[6940],_mm256_xor_si256(c2[5026],_mm256_xor_si256(c2[4786],c2[3581])))))))))))))))))))))))))))))))))))));
//row: 12
d2[144]=_mm256_xor_si256(c2[6005],_mm256_xor_si256(c2[5765],_mm256_xor_si256(c2[1201],_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[2907],_mm256_xor_si256(c2[2667],_mm256_xor_si256(c2[6747],_mm256_xor_si256(c2[4348],_mm256_xor_si256(c2[1705],_mm256_xor_si256(c2[4133],_mm256_xor_si256(c2[3893],_mm256_xor_si256(c2[6053],_mm256_xor_si256(c2[3194],_mm256_xor_si256(c2[2954],_mm256_xor_si256(c2[3433],_mm256_xor_si256(c2[7515],_mm256_xor_si256(c2[7034],_mm256_xor_si256(c2[6337],_mm256_xor_si256(c2[5859],_mm256_xor_si256(c2[6579],_mm256_xor_si256(c2[1563],_mm256_xor_si256(c2[4442],_mm256_xor_si256(c2[4466],_mm256_xor_si256(c2[4226],_mm256_xor_si256(c2[2305],_mm256_xor_si256(c2[1348],_mm256_xor_si256(c2[1374],_mm256_xor_si256(c2[172],_mm256_xor_si256(c2[918],_mm256_xor_si256(c2[6915],_mm256_xor_si256(c2[1633],_mm256_xor_si256(c2[5741],_mm256_xor_si256(c2[5501],_mm256_xor_si256(c2[3336],c2[1182]))))))))))))))))))))))))))))))))));
//row: 13
d2[156]=_mm256_xor_si256(c2[4570],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[7205],_mm256_xor_si256(c2[4081],_mm256_xor_si256(c2[1472],_mm256_xor_si256(c2[5552],_mm256_xor_si256(c2[3393],_mm256_xor_si256(c2[3153],_mm256_xor_si256(c2[6987],_mm256_xor_si256(c2[2698],_mm256_xor_si256(c2[5098],_mm256_xor_si256(c2[4858],_mm256_xor_si256(c2[1759],_mm256_xor_si256(c2[2238],_mm256_xor_si256(c2[6320],_mm256_xor_si256(c2[5142],_mm256_xor_si256(c2[4664],_mm256_xor_si256(c2[5624],_mm256_xor_si256(c2[5384],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[3487],_mm256_xor_si256(c2[3247],_mm256_xor_si256(c2[3031],_mm256_xor_si256(c2[1110],_mm256_xor_si256(c2[393],_mm256_xor_si256(c2[153],_mm256_xor_si256(c2[179],_mm256_xor_si256(c2[6896],_mm256_xor_si256(c2[6656],_mm256_xor_si256(c2[7402],_mm256_xor_si256(c2[5720],_mm256_xor_si256(c2[678],_mm256_xor_si256(c2[438],_mm256_xor_si256(c2[913],_mm256_xor_si256(c2[4306],_mm256_xor_si256(c2[2141],_mm256_xor_si256(c2[227],c2[7666])))))))))))))))))))))))))))))))))))));
//row: 14
d2[168]=_mm256_xor_si256(c2[726],_mm256_xor_si256(c2[486],_mm256_xor_si256(c2[3850],_mm256_xor_si256(c2[3601],_mm256_xor_si256(c2[6965],_mm256_xor_si256(c2[3121],_mm256_xor_si256(c2[6485],_mm256_xor_si256(c2[5307],_mm256_xor_si256(c2[5067],_mm256_xor_si256(c2[752],_mm256_xor_si256(c2[1468],_mm256_xor_si256(c2[4832],_mm256_xor_si256(c2[6748],_mm256_xor_si256(c2[2673],_mm256_xor_si256(c2[2433],_mm256_xor_si256(c2[4584],_mm256_xor_si256(c2[6533],_mm256_xor_si256(c2[6293],_mm256_xor_si256(c2[1978],_mm256_xor_si256(c2[774],_mm256_xor_si256(c2[4378],_mm256_xor_si256(c2[4138],_mm256_xor_si256(c2[5594],_mm256_xor_si256(c2[5354],_mm256_xor_si256(c2[1039],_mm256_xor_si256(c2[5833],_mm256_xor_si256(c2[1518],_mm256_xor_si256(c2[2236],_mm256_xor_si256(c2[5600],_mm256_xor_si256(c2[1058],_mm256_xor_si256(c2[4422],_mm256_xor_si256(c2[580],_mm256_xor_si256(c2[3944],_mm256_xor_si256(c2[1300],_mm256_xor_si256(c2[4904],_mm256_xor_si256(c2[4664],_mm256_xor_si256(c2[3963],_mm256_xor_si256(c2[7327],_mm256_xor_si256(c2[6842],_mm256_xor_si256(c2[2767],_mm256_xor_si256(c2[2527],_mm256_xor_si256(c2[6866],_mm256_xor_si256(c2[6626],_mm256_xor_si256(c2[2311],_mm256_xor_si256(c2[4705],_mm256_xor_si256(c2[390],_mm256_xor_si256(c2[3748],_mm256_xor_si256(c2[7352],_mm256_xor_si256(c2[7112],_mm256_xor_si256(c2[5427],_mm256_xor_si256(c2[3774],_mm256_xor_si256(c2[7138],_mm256_xor_si256(c2[2572],_mm256_xor_si256(c2[6176],_mm256_xor_si256(c2[5936],_mm256_xor_si256(c2[3318],_mm256_xor_si256(c2[6682],_mm256_xor_si256(c2[1636],_mm256_xor_si256(c2[5000],_mm256_xor_si256(c2[4033],_mm256_xor_si256(c2[7637],_mm256_xor_si256(c2[7397],_mm256_xor_si256(c2[462],_mm256_xor_si256(c2[222],_mm256_xor_si256(c2[3586],_mm256_xor_si256(c2[5736],_mm256_xor_si256(c2[1421],_mm256_xor_si256(c2[3582],_mm256_xor_si256(c2[7186],c2[6946])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[180]=_mm256_xor_si256(c2[2887],_mm256_xor_si256(c2[7447],_mm256_xor_si256(c2[7207],_mm256_xor_si256(c2[6002],_mm256_xor_si256(c2[2643],_mm256_xor_si256(c2[5522],_mm256_xor_si256(c2[2163],_mm256_xor_si256(c2[962],_mm256_xor_si256(c2[7468],_mm256_xor_si256(c2[4349],_mm256_xor_si256(c2[4109],_mm256_xor_si256(c2[3869],_mm256_xor_si256(c2[510],_mm256_xor_si256(c2[1470],_mm256_xor_si256(c2[5790],_mm256_xor_si256(c2[1015],_mm256_xor_si256(c2[5575],_mm256_xor_si256(c2[5335],_mm256_xor_si256(c2[3175],_mm256_xor_si256(c2[7495],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[4636],_mm256_xor_si256(c2[4396],_mm256_xor_si256(c2[555],_mm256_xor_si256(c2[4875],_mm256_xor_si256(c2[4637],_mm256_xor_si256(c2[1278],_mm256_xor_si256(c2[3459],_mm256_xor_si256(c2[100],_mm256_xor_si256(c2[2981],_mm256_xor_si256(c2[7301],_mm256_xor_si256(c2[3701],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[6364],_mm256_xor_si256(c2[3005],_mm256_xor_si256(c2[1564],_mm256_xor_si256(c2[5884],_mm256_xor_si256(c2[1348],_mm256_xor_si256(c2[5908],_mm256_xor_si256(c2[5668],_mm256_xor_si256(c2[7106],_mm256_xor_si256(c2[3747],_mm256_xor_si256(c2[6149],_mm256_xor_si256(c2[2790],_mm256_xor_si256(c2[6175],_mm256_xor_si256(c2[2816],_mm256_xor_si256(c2[4973],_mm256_xor_si256(c2[1614],_mm256_xor_si256(c2[5719],_mm256_xor_si256(c2[2360],_mm256_xor_si256(c2[4037],_mm256_xor_si256(c2[678],_mm256_xor_si256(c2[6434],_mm256_xor_si256(c2[3075],_mm256_xor_si256(c2[2623],_mm256_xor_si256(c2[7183],_mm256_xor_si256(c2[6943],_mm256_xor_si256(c2[458],_mm256_xor_si256(c2[4778],_mm256_xor_si256(c2[5983],c2[2624]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[192]=_mm256_xor_si256(c2[5049],_mm256_xor_si256(c2[4809],_mm256_xor_si256(c2[3367],_mm256_xor_si256(c2[3127],_mm256_xor_si256(c2[245],_mm256_xor_si256(c2[6482],_mm256_xor_si256(c2[6242],_mm256_xor_si256(c2[7444],_mm256_xor_si256(c2[5762],_mm256_xor_si256(c2[1951],_mm256_xor_si256(c2[1711],_mm256_xor_si256(c2[269],_mm256_xor_si256(c2[29],_mm256_xor_si256(c2[5791],_mm256_xor_si256(c2[4109],_mm256_xor_si256(c2[3392],_mm256_xor_si256(c2[1710],_mm256_xor_si256(c2[5546],_mm256_xor_si256(c2[3177],_mm256_xor_si256(c2[2937],_mm256_xor_si256(c2[1495],_mm256_xor_si256(c2[1255],_mm256_xor_si256(c2[5097],_mm256_xor_si256(c2[3415],_mm256_xor_si256(c2[2238],_mm256_xor_si256(c2[1998],_mm256_xor_si256(c2[556],_mm256_xor_si256(c2[316],_mm256_xor_si256(c2[2477],_mm256_xor_si256(c2[1035],_mm256_xor_si256(c2[795],_mm256_xor_si256(c2[6559],_mm256_xor_si256(c2[4877],_mm256_xor_si256(c2[5381],_mm256_xor_si256(c2[3939],_mm256_xor_si256(c2[3699],_mm256_xor_si256(c2[4903],_mm256_xor_si256(c2[3221],_mm256_xor_si256(c2[5623],_mm256_xor_si256(c2[3941],_mm256_xor_si256(c2[607],_mm256_xor_si256(c2[6844],_mm256_xor_si256(c2[6604],_mm256_xor_si256(c2[3486],_mm256_xor_si256(c2[1804],_mm256_xor_si256(c2[3510],_mm256_xor_si256(c2[3270],_mm256_xor_si256(c2[1828],_mm256_xor_si256(c2[1588],_mm256_xor_si256(c2[1349],_mm256_xor_si256(c2[7586],_mm256_xor_si256(c2[7346],_mm256_xor_si256(c2[392],_mm256_xor_si256(c2[6389],_mm256_xor_si256(c2[418],_mm256_xor_si256(c2[6655],_mm256_xor_si256(c2[6415],_mm256_xor_si256(c2[6895],_mm256_xor_si256(c2[5213],_mm256_xor_si256(c2[7641],_mm256_xor_si256(c2[6199],_mm256_xor_si256(c2[5959],_mm256_xor_si256(c2[5959],_mm256_xor_si256(c2[4277],_mm256_xor_si256(c2[677],_mm256_xor_si256(c2[6674],_mm256_xor_si256(c2[4785],_mm256_xor_si256(c2[4545],_mm256_xor_si256(c2[3103],_mm256_xor_si256(c2[2863],_mm256_xor_si256(c2[2380],_mm256_xor_si256(c2[938],_mm256_xor_si256(c2[698],_mm256_xor_si256(c2[226],_mm256_xor_si256(c2[6223],c2[4301])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[204]=_mm256_xor_si256(c2[5525],_mm256_xor_si256(c2[5285],_mm256_xor_si256(c2[4805],_mm256_xor_si256(c2[4565],_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[241],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[241],_mm256_xor_si256(c2[7200],_mm256_xor_si256(c2[2427],_mm256_xor_si256(c2[2187],_mm256_xor_si256(c2[1707],_mm256_xor_si256(c2[1467],_mm256_xor_si256(c2[6267],_mm256_xor_si256(c2[5547],_mm256_xor_si256(c2[3868],_mm256_xor_si256(c2[3148],_mm256_xor_si256(c2[7228],_mm256_xor_si256(c2[3653],_mm256_xor_si256(c2[3413],_mm256_xor_si256(c2[2933],_mm256_xor_si256(c2[2693],_mm256_xor_si256(c2[5573],_mm256_xor_si256(c2[4853],_mm256_xor_si256(c2[2714],_mm256_xor_si256(c2[2474],_mm256_xor_si256(c2[1994],_mm256_xor_si256(c2[1754],_mm256_xor_si256(c2[2953],_mm256_xor_si256(c2[2473],_mm256_xor_si256(c2[2233],_mm256_xor_si256(c2[7035],_mm256_xor_si256(c2[6315],_mm256_xor_si256(c2[5857],_mm256_xor_si256(c2[5377],_mm256_xor_si256(c2[5137],_mm256_xor_si256(c2[5379],_mm256_xor_si256(c2[4659],_mm256_xor_si256(c2[6099],_mm256_xor_si256(c2[5379],_mm256_xor_si256(c2[1083],_mm256_xor_si256(c2[603],_mm256_xor_si256(c2[363],_mm256_xor_si256(c2[3962],_mm256_xor_si256(c2[3242],_mm256_xor_si256(c2[5640],_mm256_xor_si256(c2[3986],_mm256_xor_si256(c2[3746],_mm256_xor_si256(c2[3266],_mm256_xor_si256(c2[3026],_mm256_xor_si256(c2[1825],_mm256_xor_si256(c2[1345],_mm256_xor_si256(c2[1105],_mm256_xor_si256(c2[868],_mm256_xor_si256(c2[148],_mm256_xor_si256(c2[894],_mm256_xor_si256(c2[414],_mm256_xor_si256(c2[174],_mm256_xor_si256(c2[7371],_mm256_xor_si256(c2[6651],_mm256_xor_si256(c2[438],_mm256_xor_si256(c2[7637],_mm256_xor_si256(c2[7397],_mm256_xor_si256(c2[6435],_mm256_xor_si256(c2[5715],_mm256_xor_si256(c2[1153],_mm256_xor_si256(c2[433],_mm256_xor_si256(c2[5261],_mm256_xor_si256(c2[5021],_mm256_xor_si256(c2[4541],_mm256_xor_si256(c2[4301],_mm256_xor_si256(c2[2856],_mm256_xor_si256(c2[2376],_mm256_xor_si256(c2[2136],_mm256_xor_si256(c2[702],c2[7661])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[216]=_mm256_xor_si256(c2[6245],_mm256_xor_si256(c2[1584],c2[3529]));
//row: 19
d2[228]=_mm256_xor_si256(c2[2170],_mm256_xor_si256(c2[5285],_mm256_xor_si256(c2[4805],_mm256_xor_si256(c2[6241],_mm256_xor_si256(c2[6751],_mm256_xor_si256(c2[3152],_mm256_xor_si256(c2[753],_mm256_xor_si256(c2[2425],_mm256_xor_si256(c2[298],_mm256_xor_si256(c2[2458],_mm256_xor_si256(c2[7038],_mm256_xor_si256(c2[7517],_mm256_xor_si256(c2[3920],_mm256_xor_si256(c2[2742],_mm256_xor_si256(c2[2264],_mm256_xor_si256(c2[2984],_mm256_xor_si256(c2[5647],_mm256_xor_si256(c2[847],_mm256_xor_si256(c2[631],_mm256_xor_si256(c2[6389],_mm256_xor_si256(c2[5432],_mm256_xor_si256(c2[5458],_mm256_xor_si256(c2[4256],_mm256_xor_si256(c2[5002],_mm256_xor_si256(c2[3320],_mm256_xor_si256(c2[5717],_mm256_xor_si256(c2[1906],_mm256_xor_si256(c2[7420],c2[5266]))))))))))))))))))))))))))));
//row: 20
d2[240]=_mm256_xor_si256(c2[1690],_mm256_xor_si256(c2[1450],_mm256_xor_si256(c2[4565],_mm256_xor_si256(c2[4085],_mm256_xor_si256(c2[6271],_mm256_xor_si256(c2[6031],_mm256_xor_si256(c2[2432],_mm256_xor_si256(c2[33],_mm256_xor_si256(c2[2906],_mm256_xor_si256(c2[7497],_mm256_xor_si256(c2[7257],_mm256_xor_si256(c2[1738],_mm256_xor_si256(c2[6558],_mm256_xor_si256(c2[6318],_mm256_xor_si256(c2[6797],_mm256_xor_si256(c2[3200],_mm256_xor_si256(c2[2022],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[2264],_mm256_xor_si256(c2[7057],_mm256_xor_si256(c2[4927],_mm256_xor_si256(c2[127],_mm256_xor_si256(c2[151],_mm256_xor_si256(c2[7590],_mm256_xor_si256(c2[5669],_mm256_xor_si256(c2[4712],_mm256_xor_si256(c2[4738],_mm256_xor_si256(c2[3536],_mm256_xor_si256(c2[4282],_mm256_xor_si256(c2[2600],_mm256_xor_si256(c2[4997],_mm256_xor_si256(c2[1426],_mm256_xor_si256(c2[1186],_mm256_xor_si256(c2[6700],c2[4546]))))))))))))))))))))))))))))))))));
//row: 21
d2[252]=_mm256_xor_si256(c2[3847],_mm256_xor_si256(c2[6962],_mm256_xor_si256(c2[6482],_mm256_xor_si256(c2[6964],_mm256_xor_si256(c2[749],_mm256_xor_si256(c2[4829],_mm256_xor_si256(c2[2670],_mm256_xor_si256(c2[2430],_mm256_xor_si256(c2[1975],_mm256_xor_si256(c2[4375],_mm256_xor_si256(c2[4135],_mm256_xor_si256(c2[1036],_mm256_xor_si256(c2[1515],_mm256_xor_si256(c2[5597],_mm256_xor_si256(c2[4419],_mm256_xor_si256(c2[3941],_mm256_xor_si256(c2[4901],_mm256_xor_si256(c2[4661],_mm256_xor_si256(c2[7324],_mm256_xor_si256(c2[2764],_mm256_xor_si256(c2[2524],_mm256_xor_si256(c2[2308],_mm256_xor_si256(c2[387],_mm256_xor_si256(c2[7349],_mm256_xor_si256(c2[7109],_mm256_xor_si256(c2[7135],_mm256_xor_si256(c2[6173],_mm256_xor_si256(c2[5933],_mm256_xor_si256(c2[6679],_mm256_xor_si256(c2[4997],_mm256_xor_si256(c2[7634],_mm256_xor_si256(c2[7394],_mm256_xor_si256(c2[3797],_mm256_xor_si256(c2[3583],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[7183],c2[6943]))))))))))))))))))))))))))))))))))));
//row: 22
d2[264]=_mm256_xor_si256(c2[4824],c2[4849]);
//row: 23
d2[276]=_mm256_xor_si256(c2[2403],_mm256_xor_si256(c2[5354],c2[7562]));
//row: 24
d2[288]=_mm256_xor_si256(c2[5309],_mm256_xor_si256(c2[6052],c2[218]));
//row: 25
d2[300]=_mm256_xor_si256(c2[3121],c2[5160]);
//row: 26
d2[312]=_mm256_xor_si256(c2[1207],_mm256_xor_si256(c2[967],_mm256_xor_si256(c2[488],_mm256_xor_si256(c2[4322],_mm256_xor_si256(c2[4082],_mm256_xor_si256(c2[3603],_mm256_xor_si256(c2[3602],_mm256_xor_si256(c2[3123],_mm256_xor_si256(c2[5788],_mm256_xor_si256(c2[5548],_mm256_xor_si256(c2[5069],_mm256_xor_si256(c2[1949],_mm256_xor_si256(c2[1470],_mm256_xor_si256(c2[7229],_mm256_xor_si256(c2[6990],_mm256_xor_si256(c2[6750],_mm256_xor_si256(c2[7014],_mm256_xor_si256(c2[6774],_mm256_xor_si256(c2[6295],_mm256_xor_si256(c2[1255],_mm256_xor_si256(c2[1016],_mm256_xor_si256(c2[776],_mm256_xor_si256(c2[770],_mm256_xor_si256(c2[6075],_mm256_xor_si256(c2[5835],_mm256_xor_si256(c2[5356],_mm256_xor_si256(c2[6554],_mm256_xor_si256(c2[6314],_mm256_xor_si256(c2[5835],_mm256_xor_si256(c2[2717],_mm256_xor_si256(c2[2238],_mm256_xor_si256(c2[1779],_mm256_xor_si256(c2[1539],_mm256_xor_si256(c2[1060],_mm256_xor_si256(c2[1061],_mm256_xor_si256(c2[582],_mm256_xor_si256(c2[1781],_mm256_xor_si256(c2[1542],_mm256_xor_si256(c2[1302],_mm256_xor_si256(c2[4684],_mm256_xor_si256(c2[4444],_mm256_xor_si256(c2[3965],_mm256_xor_si256(c2[7323],_mm256_xor_si256(c2[7084],_mm256_xor_si256(c2[6844],_mm256_xor_si256(c2[7347],_mm256_xor_si256(c2[7107],_mm256_xor_si256(c2[6628],_mm256_xor_si256(c2[5426],_mm256_xor_si256(c2[5186],_mm256_xor_si256(c2[4707],_mm256_xor_si256(c2[4229],_mm256_xor_si256(c2[3990],_mm256_xor_si256(c2[3750],_mm256_xor_si256(c2[4495],_mm256_xor_si256(c2[4255],_mm256_xor_si256(c2[3776],_mm256_xor_si256(c2[3053],_mm256_xor_si256(c2[2814],_mm256_xor_si256(c2[2574],_mm256_xor_si256(c2[2332],_mm256_xor_si256(c2[4039],_mm256_xor_si256(c2[3799],_mm256_xor_si256(c2[3320],_mm256_xor_si256(c2[2117],_mm256_xor_si256(c2[1638],_mm256_xor_si256(c2[4514],_mm256_xor_si256(c2[4275],_mm256_xor_si256(c2[4035],_mm256_xor_si256(c2[943],_mm256_xor_si256(c2[703],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[6457],_mm256_xor_si256(c2[6217],_mm256_xor_si256(c2[5738],_mm256_xor_si256(c2[4063],_mm256_xor_si256(c2[3824],c2[3584])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[324]=_mm256_xor_si256(c2[1683],c2[4465]);
//row: 28
d2[336]=_mm256_xor_si256(c2[1466],_mm256_xor_si256(c2[3651],c2[2045]));
//row: 29
d2[348]=_mm256_xor_si256(c2[3363],c2[4176]);
//row: 30
d2[360]=_mm256_xor_si256(c2[5811],_mm256_xor_si256(c2[6364],_mm256_xor_si256(c2[4969],c2[5977])));
//row: 31
d2[372]=_mm256_xor_si256(c2[5530],_mm256_xor_si256(c2[966],_mm256_xor_si256(c2[486],_mm256_xor_si256(c2[2432],_mm256_xor_si256(c2[6512],_mm256_xor_si256(c2[4353],_mm256_xor_si256(c2[4113],_mm256_xor_si256(c2[744],_mm256_xor_si256(c2[3658],_mm256_xor_si256(c2[6058],_mm256_xor_si256(c2[5818],_mm256_xor_si256(c2[2719],_mm256_xor_si256(c2[3198],_mm256_xor_si256(c2[7280],_mm256_xor_si256(c2[6102],_mm256_xor_si256(c2[5624],_mm256_xor_si256(c2[6584],_mm256_xor_si256(c2[6344],_mm256_xor_si256(c2[1328],_mm256_xor_si256(c2[4447],_mm256_xor_si256(c2[4207],_mm256_xor_si256(c2[3991],_mm256_xor_si256(c2[2070],_mm256_xor_si256(c2[1353],_mm256_xor_si256(c2[1113],_mm256_xor_si256(c2[1139],_mm256_xor_si256(c2[177],_mm256_xor_si256(c2[7616],_mm256_xor_si256(c2[683],_mm256_xor_si256(c2[6680],_mm256_xor_si256(c2[1638],_mm256_xor_si256(c2[1398],_mm256_xor_si256(c2[5266],_mm256_xor_si256(c2[3101],_mm256_xor_si256(c2[1187],c2[947])))))))))))))))))))))))))))))))))));
//row: 32
d2[384]=_mm256_xor_si256(c2[7445],_mm256_xor_si256(c2[7205],_mm256_xor_si256(c2[2881],_mm256_xor_si256(c2[2641],_mm256_xor_si256(c2[2161],_mm256_xor_si256(c2[4802],_mm256_xor_si256(c2[4347],_mm256_xor_si256(c2[4107],_mm256_xor_si256(c2[508],_mm256_xor_si256(c2[5788],_mm256_xor_si256(c2[5573],_mm256_xor_si256(c2[5333],_mm256_xor_si256(c2[7493],_mm256_xor_si256(c2[4634],_mm256_xor_si256(c2[4394],_mm256_xor_si256(c2[5113],_mm256_xor_si256(c2[4873],_mm256_xor_si256(c2[1276],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[7299],_mm256_xor_si256(c2[340],_mm256_xor_si256(c2[3243],_mm256_xor_si256(c2[3003],_mm256_xor_si256(c2[5882],_mm256_xor_si256(c2[2040],_mm256_xor_si256(c2[5906],_mm256_xor_si256(c2[5666],_mm256_xor_si256(c2[3985],_mm256_xor_si256(c2[3745],_mm256_xor_si256(c2[2788],_mm256_xor_si256(c2[3054],_mm256_xor_si256(c2[2814],_mm256_xor_si256(c2[1612],_mm256_xor_si256(c2[2598],_mm256_xor_si256(c2[2358],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[3073],_mm256_xor_si256(c2[7181],_mm256_xor_si256(c2[6941],_mm256_xor_si256(c2[5016],_mm256_xor_si256(c2[4776],c2[2622]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[396]=_mm256_xor_si256(c2[2169],_mm256_xor_si256(c2[5284],_mm256_xor_si256(c2[4804],_mm256_xor_si256(c2[6750],_mm256_xor_si256(c2[3151],_mm256_xor_si256(c2[752],_mm256_xor_si256(c2[297],_mm256_xor_si256(c2[2457],_mm256_xor_si256(c2[1253],_mm256_xor_si256(c2[7037],_mm256_xor_si256(c2[7516],_mm256_xor_si256(c2[3919],_mm256_xor_si256(c2[2741],_mm256_xor_si256(c2[2263],_mm256_xor_si256(c2[2983],_mm256_xor_si256(c2[5646],_mm256_xor_si256(c2[846],_mm256_xor_si256(c2[630],_mm256_xor_si256(c2[6388],_mm256_xor_si256(c2[5431],_mm256_xor_si256(c2[5457],_mm256_xor_si256(c2[4255],_mm256_xor_si256(c2[4733],_mm256_xor_si256(c2[5001],_mm256_xor_si256(c2[3319],_mm256_xor_si256(c2[5716],_mm256_xor_si256(c2[1905],_mm256_xor_si256(c2[7419],c2[5265]))))))))))))))))))))))))))));
//row: 34
d2[408]=_mm256_xor_si256(c2[7450],_mm256_xor_si256(c2[7210],_mm256_xor_si256(c2[6005],_mm256_xor_si256(c2[2886],_mm256_xor_si256(c2[2646],_mm256_xor_si256(c2[1441],_mm256_xor_si256(c2[2166],_mm256_xor_si256(c2[961],_mm256_xor_si256(c2[3125],_mm256_xor_si256(c2[4352],_mm256_xor_si256(c2[4112],_mm256_xor_si256(c2[2907],_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[6987],_mm256_xor_si256(c2[5793],_mm256_xor_si256(c2[4828],_mm256_xor_si256(c2[4588],_mm256_xor_si256(c2[5578],_mm256_xor_si256(c2[5338],_mm256_xor_si256(c2[4133],_mm256_xor_si256(c2[7498],_mm256_xor_si256(c2[6533],_mm256_xor_si256(c2[6293],_mm256_xor_si256(c2[4639],_mm256_xor_si256(c2[4399],_mm256_xor_si256(c2[3194],_mm256_xor_si256(c2[5118],_mm256_xor_si256(c2[4878],_mm256_xor_si256(c2[3673],_mm256_xor_si256(c2[1281],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[343],_mm256_xor_si256(c2[103],_mm256_xor_si256(c2[6577],_mm256_xor_si256(c2[7304],_mm256_xor_si256(c2[6099],_mm256_xor_si256(c2[345],_mm256_xor_si256(c2[7059],_mm256_xor_si256(c2[6819],_mm256_xor_si256(c2[3248],_mm256_xor_si256(c2[3008],_mm256_xor_si256(c2[1803],_mm256_xor_si256(c2[5887],_mm256_xor_si256(c2[4922],_mm256_xor_si256(c2[4682],_mm256_xor_si256(c2[5911],_mm256_xor_si256(c2[5671],_mm256_xor_si256(c2[4466],_mm256_xor_si256(c2[3990],_mm256_xor_si256(c2[3750],_mm256_xor_si256(c2[2545],_mm256_xor_si256(c2[2793],_mm256_xor_si256(c2[1828],_mm256_xor_si256(c2[1588],_mm256_xor_si256(c2[3059],_mm256_xor_si256(c2[2819],_mm256_xor_si256(c2[1614],_mm256_xor_si256(c2[1617],_mm256_xor_si256(c2[652],_mm256_xor_si256(c2[412],_mm256_xor_si256(c2[2603],_mm256_xor_si256(c2[2363],_mm256_xor_si256(c2[1158],_mm256_xor_si256(c2[681],_mm256_xor_si256(c2[7155],_mm256_xor_si256(c2[3078],_mm256_xor_si256(c2[2113],_mm256_xor_si256(c2[1873],_mm256_xor_si256(c2[7186],_mm256_xor_si256(c2[6946],_mm256_xor_si256(c2[5741],_mm256_xor_si256(c2[5021],_mm256_xor_si256(c2[4781],_mm256_xor_si256(c2[3576],_mm256_xor_si256(c2[2627],_mm256_xor_si256(c2[1662],c2[1422]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[420]=_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[7445],_mm256_xor_si256(c2[2881],_mm256_xor_si256(c2[2401],_mm256_xor_si256(c2[4587],_mm256_xor_si256(c2[4347],_mm256_xor_si256(c2[748],_mm256_xor_si256(c2[6028],_mm256_xor_si256(c2[3146],_mm256_xor_si256(c2[5813],_mm256_xor_si256(c2[5573],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[4874],_mm256_xor_si256(c2[4634],_mm256_xor_si256(c2[5113],_mm256_xor_si256(c2[1516],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[7539],_mm256_xor_si256(c2[580],_mm256_xor_si256(c2[3243],_mm256_xor_si256(c2[6122],_mm256_xor_si256(c2[5885],_mm256_xor_si256(c2[6146],_mm256_xor_si256(c2[5906],_mm256_xor_si256(c2[3985],_mm256_xor_si256(c2[3028],_mm256_xor_si256(c2[3054],_mm256_xor_si256(c2[1852],_mm256_xor_si256(c2[2598],_mm256_xor_si256(c2[916],_mm256_xor_si256(c2[3313],_mm256_xor_si256(c2[7421],_mm256_xor_si256(c2[7181],_mm256_xor_si256(c2[5016],c2[2862]))))))))))))))))))))))))))))))))));
//row: 36
d2[432]=_mm256_xor_si256(c2[6000],_mm256_xor_si256(c2[5572],c2[2573]));
//row: 37
d2[444]=_mm256_xor_si256(c2[4326],_mm256_xor_si256(c2[2886],_mm256_xor_si256(c2[7441],_mm256_xor_si256(c2[6001],_mm256_xor_si256(c2[6961],_mm256_xor_si256(c2[5521],_mm256_xor_si256(c2[1228],_mm256_xor_si256(c2[7467],_mm256_xor_si256(c2[5308],_mm256_xor_si256(c2[3868],_mm256_xor_si256(c2[2909],_mm256_xor_si256(c2[1709],_mm256_xor_si256(c2[1469],_mm256_xor_si256(c2[2454],_mm256_xor_si256(c2[1014],_mm256_xor_si256(c2[4614],_mm256_xor_si256(c2[3414],_mm256_xor_si256(c2[3174],_mm256_xor_si256(c2[1515],_mm256_xor_si256(c2[75],_mm256_xor_si256(c2[1994],_mm256_xor_si256(c2[554],_mm256_xor_si256(c2[6076],_mm256_xor_si256(c2[4636],_mm256_xor_si256(c2[4898],_mm256_xor_si256(c2[3458],_mm256_xor_si256(c2[4420],_mm256_xor_si256(c2[2980],_mm256_xor_si256(c2[5140],_mm256_xor_si256(c2[3940],_mm256_xor_si256(c2[3700],_mm256_xor_si256(c2[124],_mm256_xor_si256(c2[6363],_mm256_xor_si256(c2[3003],_mm256_xor_si256(c2[1803],_mm256_xor_si256(c2[1563],_mm256_xor_si256(c2[2787],_mm256_xor_si256(c2[1347],_mm256_xor_si256(c2[866],_mm256_xor_si256(c2[7105],_mm256_xor_si256(c2[7588],_mm256_xor_si256(c2[6388],_mm256_xor_si256(c2[6148],_mm256_xor_si256(c2[7614],_mm256_xor_si256(c2[6174],_mm256_xor_si256(c2[6412],_mm256_xor_si256(c2[5212],_mm256_xor_si256(c2[4972],_mm256_xor_si256(c2[7158],_mm256_xor_si256(c2[5718],_mm256_xor_si256(c2[5476],_mm256_xor_si256(c2[4036],_mm256_xor_si256(c2[194],_mm256_xor_si256(c2[6673],_mm256_xor_si256(c2[6433],_mm256_xor_si256(c2[4062],_mm256_xor_si256(c2[2622],_mm256_xor_si256(c2[1897],_mm256_xor_si256(c2[457],_mm256_xor_si256(c2[7422],_mm256_xor_si256(c2[6222],c2[5982])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[456]=_mm256_xor_si256(c2[2891],_mm256_xor_si256(c2[2651],_mm256_xor_si256(c2[5766],_mm256_xor_si256(c2[5286],_mm256_xor_si256(c2[7472],_mm256_xor_si256(c2[7232],_mm256_xor_si256(c2[3633],_mm256_xor_si256(c2[1234],_mm256_xor_si256(c2[4826],_mm256_xor_si256(c2[1019],_mm256_xor_si256(c2[779],_mm256_xor_si256(c2[2939],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[7519],_mm256_xor_si256(c2[319],_mm256_xor_si256(c2[4401],_mm256_xor_si256(c2[3223],_mm256_xor_si256(c2[2745],_mm256_xor_si256(c2[3465],_mm256_xor_si256(c2[6128],_mm256_xor_si256(c2[1328],_mm256_xor_si256(c2[5644],_mm256_xor_si256(c2[1352],_mm256_xor_si256(c2[1112],_mm256_xor_si256(c2[6870],_mm256_xor_si256(c2[5913],_mm256_xor_si256(c2[5939],_mm256_xor_si256(c2[4737],_mm256_xor_si256(c2[5483],_mm256_xor_si256(c2[3801],_mm256_xor_si256(c2[6198],_mm256_xor_si256(c2[2627],_mm256_xor_si256(c2[2387],_mm256_xor_si256(c2[222],c2[5747]))))))))))))))))))))))))))))))))));
//row: 39
d2[468]=_mm256_xor_si256(c2[1687],_mm256_xor_si256(c2[1447],_mm256_xor_si256(c2[4802],_mm256_xor_si256(c2[4562],_mm256_xor_si256(c2[4082],_mm256_xor_si256(c2[6962],_mm256_xor_si256(c2[6268],_mm256_xor_si256(c2[6028],_mm256_xor_si256(c2[2429],_mm256_xor_si256(c2[30],_mm256_xor_si256(c2[7494],_mm256_xor_si256(c2[7254],_mm256_xor_si256(c2[1735],_mm256_xor_si256(c2[6555],_mm256_xor_si256(c2[6315],_mm256_xor_si256(c2[7034],_mm256_xor_si256(c2[6794],_mm256_xor_si256(c2[3197],_mm256_xor_si256(c2[2259],_mm256_xor_si256(c2[2019],_mm256_xor_si256(c2[1541],_mm256_xor_si256(c2[2261],_mm256_xor_si256(c2[5164],_mm256_xor_si256(c2[4924],_mm256_xor_si256(c2[124],_mm256_xor_si256(c2[148],_mm256_xor_si256(c2[7587],_mm256_xor_si256(c2[5906],_mm256_xor_si256(c2[5666],_mm256_xor_si256(c2[4709],_mm256_xor_si256(c2[4975],_mm256_xor_si256(c2[4735],_mm256_xor_si256(c2[3533],_mm256_xor_si256(c2[1132],_mm256_xor_si256(c2[4519],_mm256_xor_si256(c2[4279],_mm256_xor_si256(c2[2597],_mm256_xor_si256(c2[4994],_mm256_xor_si256(c2[1423],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[6937],_mm256_xor_si256(c2[6697],c2[4543]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[480]=_mm256_xor_si256(c2[5768],_mm256_xor_si256(c2[3850],_mm256_xor_si256(c2[1204],_mm256_xor_si256(c2[6965],_mm256_xor_si256(c2[724],_mm256_xor_si256(c2[6485],_mm256_xor_si256(c2[2670],_mm256_xor_si256(c2[752],_mm256_xor_si256(c2[6750],_mm256_xor_si256(c2[4832],_mm256_xor_si256(c2[4351],_mm256_xor_si256(c2[2673],_mm256_xor_si256(c2[2433],_mm256_xor_si256(c2[3896],_mm256_xor_si256(c2[1978],_mm256_xor_si256(c2[6056],_mm256_xor_si256(c2[4378],_mm256_xor_si256(c2[4138],_mm256_xor_si256(c2[1731],_mm256_xor_si256(c2[2957],_mm256_xor_si256(c2[1039],_mm256_xor_si256(c2[3436],_mm256_xor_si256(c2[1518],_mm256_xor_si256(c2[7518],_mm256_xor_si256(c2[5600],_mm256_xor_si256(c2[6340],_mm256_xor_si256(c2[4422],_mm256_xor_si256(c2[5862],_mm256_xor_si256(c2[3944],_mm256_xor_si256(c2[6582],_mm256_xor_si256(c2[4904],_mm256_xor_si256(c2[4664],_mm256_xor_si256(c2[1566],_mm256_xor_si256(c2[7327],_mm256_xor_si256(c2[4445],_mm256_xor_si256(c2[2767],_mm256_xor_si256(c2[2527],_mm256_xor_si256(c2[4229],_mm256_xor_si256(c2[2311],_mm256_xor_si256(c2[2308],_mm256_xor_si256(c2[390],_mm256_xor_si256(c2[1351],_mm256_xor_si256(c2[7352],_mm256_xor_si256(c2[7112],_mm256_xor_si256(c2[1377],_mm256_xor_si256(c2[7138],_mm256_xor_si256(c2[175],_mm256_xor_si256(c2[6176],_mm256_xor_si256(c2[5936],_mm256_xor_si256(c2[921],_mm256_xor_si256(c2[6682],_mm256_xor_si256(c2[6918],_mm256_xor_si256(c2[5000],_mm256_xor_si256(c2[1636],_mm256_xor_si256(c2[7637],_mm256_xor_si256(c2[7397],_mm256_xor_si256(c2[5504],_mm256_xor_si256(c2[3586],_mm256_xor_si256(c2[3339],_mm256_xor_si256(c2[1421],_mm256_xor_si256(c2[1185],_mm256_xor_si256(c2[7186],c2[6946]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[492]=_mm256_xor_si256(c2[2407],_mm256_xor_si256(c2[2167],_mm256_xor_si256(c2[5282],_mm256_xor_si256(c2[4802],_mm256_xor_si256(c2[6988],_mm256_xor_si256(c2[6748],_mm256_xor_si256(c2[3149],_mm256_xor_si256(c2[750],_mm256_xor_si256(c2[4588],_mm256_xor_si256(c2[535],_mm256_xor_si256(c2[295],_mm256_xor_si256(c2[2455],_mm256_xor_si256(c2[7275],_mm256_xor_si256(c2[7035],_mm256_xor_si256(c2[7514],_mm256_xor_si256(c2[3917],_mm256_xor_si256(c2[2739],_mm256_xor_si256(c2[2261],_mm256_xor_si256(c2[2981],_mm256_xor_si256(c2[5644],_mm256_xor_si256(c2[844],_mm256_xor_si256(c2[1800],_mm256_xor_si256(c2[868],_mm256_xor_si256(c2[628],_mm256_xor_si256(c2[6386],_mm256_xor_si256(c2[5429],_mm256_xor_si256(c2[5455],_mm256_xor_si256(c2[4253],_mm256_xor_si256(c2[4999],_mm256_xor_si256(c2[3317],_mm256_xor_si256(c2[5714],_mm256_xor_si256(c2[2143],_mm256_xor_si256(c2[1903],_mm256_xor_si256(c2[7417],c2[5263]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
#define scalar_xor(a,b) ((a)^(b))
// generated code for Zc=4, byte encoding
static inline void ldpc_BG2_Zc4_byte(uint8_t *c,uint8_t *d) {
uint8_t *csimd=(uint8_t *)c,*dsimd=(uint8_t *)d;
uint8_t *c2,*d2;
int i2;
for (i2=0; i2<4; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[0],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[11],scalar_xor(c2[19],scalar_xor(c2[17],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[27],scalar_xor(c2[32],scalar_xor(c2[35],scalar_xor(c2[33],scalar_xor(c2[40],scalar_xor(c2[43],scalar_xor(c2[48],scalar_xor(c2[49],scalar_xor(c2[48],scalar_xor(c2[59],scalar_xor(c2[57],scalar_xor(c2[67],scalar_xor(c2[67],scalar_xor(c2[65],scalar_xor(c2[72],scalar_xor(c2[75],c2[75]))))))))))))))))))))))))));
//row: 1
d2[4]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[0],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[11],scalar_xor(c2[16],scalar_xor(c2[19],scalar_xor(c2[17],scalar_xor(c2[26],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[27],scalar_xor(c2[32],scalar_xor(c2[35],scalar_xor(c2[33],scalar_xor(c2[40],scalar_xor(c2[43],scalar_xor(c2[49],scalar_xor(c2[48],scalar_xor(c2[49],scalar_xor(c2[48],scalar_xor(c2[59],scalar_xor(c2[57],scalar_xor(c2[67],scalar_xor(c2[67],scalar_xor(c2[65],scalar_xor(c2[73],scalar_xor(c2[72],scalar_xor(c2[75],c2[75]))))))))))))))))))))))))))))))));
//row: 2
d2[8]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[3],scalar_xor(c2[2],scalar_xor(c2[0],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[11],scalar_xor(c2[16],scalar_xor(c2[19],scalar_xor(c2[17],scalar_xor(c2[26],scalar_xor(c2[25],scalar_xor(c2[26],scalar_xor(c2[25],scalar_xor(c2[27],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[35],scalar_xor(c2[33],scalar_xor(c2[41],scalar_xor(c2[40],scalar_xor(c2[43],scalar_xor(c2[49],scalar_xor(c2[48],scalar_xor(c2[50],scalar_xor(c2[49],scalar_xor(c2[48],scalar_xor(c2[56],scalar_xor(c2[59],scalar_xor(c2[57],scalar_xor(c2[64],scalar_xor(c2[67],scalar_xor(c2[67],scalar_xor(c2[65],scalar_xor(c2[73],scalar_xor(c2[72],scalar_xor(c2[72],scalar_xor(c2[75],c2[75]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[12]=scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[0],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[11],scalar_xor(c2[19],scalar_xor(c2[18],scalar_xor(c2[17],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[27],scalar_xor(c2[32],scalar_xor(c2[35],scalar_xor(c2[34],scalar_xor(c2[33],scalar_xor(c2[40],scalar_xor(c2[40],scalar_xor(c2[43],scalar_xor(c2[48],scalar_xor(c2[49],scalar_xor(c2[49],scalar_xor(c2[48],scalar_xor(c2[59],scalar_xor(c2[58],scalar_xor(c2[57],scalar_xor(c2[67],scalar_xor(c2[67],scalar_xor(c2[66],scalar_xor(c2[65],scalar_xor(c2[72],scalar_xor(c2[75],scalar_xor(c2[72],c2[75]))))))))))))))))))))))))))))))))));
//row: 4
d2[16]=scalar_xor(c2[0],scalar_xor(c2[3],scalar_xor(c2[1],scalar_xor(c2[3],scalar_xor(c2[3],scalar_xor(c2[8],scalar_xor(c2[11],scalar_xor(c2[8],scalar_xor(c2[10],scalar_xor(c2[10],scalar_xor(c2[19],scalar_xor(c2[18],scalar_xor(c2[16],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[26],scalar_xor(c2[35],scalar_xor(c2[34],scalar_xor(c2[32],scalar_xor(c2[43],scalar_xor(c2[42],scalar_xor(c2[48],scalar_xor(c2[51],scalar_xor(c2[48],scalar_xor(c2[51],scalar_xor(c2[58],scalar_xor(c2[56],scalar_xor(c2[66],scalar_xor(c2[66],scalar_xor(c2[64],scalar_xor(c2[72],scalar_xor(c2[75],scalar_xor(c2[74],c2[74]))))))))))))))))))))))))))))))))));
//row: 5
d2[20]=scalar_xor(c2[0],scalar_xor(c2[3],scalar_xor(c2[1],scalar_xor(c2[3],scalar_xor(c2[3],scalar_xor(c2[8],scalar_xor(c2[11],scalar_xor(c2[8],scalar_xor(c2[10],scalar_xor(c2[9],scalar_xor(c2[19],scalar_xor(c2[18],scalar_xor(c2[16],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[26],scalar_xor(c2[35],scalar_xor(c2[34],scalar_xor(c2[32],scalar_xor(c2[43],scalar_xor(c2[42],scalar_xor(c2[42],scalar_xor(c2[48],scalar_xor(c2[51],scalar_xor(c2[48],scalar_xor(c2[51],scalar_xor(c2[58],scalar_xor(c2[56],scalar_xor(c2[59],scalar_xor(c2[66],scalar_xor(c2[66],scalar_xor(c2[64],scalar_xor(c2[72],scalar_xor(c2[75],scalar_xor(c2[74],c2[74]))))))))))))))))))))))))))))))))))));
//row: 6
d2[24]=scalar_xor(c2[3],scalar_xor(c2[2],scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[3],scalar_xor(c2[11],scalar_xor(c2[10],scalar_xor(c2[11],scalar_xor(c2[9],scalar_xor(c2[18],scalar_xor(c2[17],scalar_xor(c2[19],scalar_xor(c2[24],scalar_xor(c2[27],scalar_xor(c2[27],scalar_xor(c2[25],scalar_xor(c2[34],scalar_xor(c2[33],scalar_xor(c2[35],scalar_xor(c2[42],scalar_xor(c2[41],scalar_xor(c2[40],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[57],scalar_xor(c2[59],scalar_xor(c2[57],scalar_xor(c2[65],scalar_xor(c2[65],scalar_xor(c2[67],scalar_xor(c2[75],scalar_xor(c2[74],scalar_xor(c2[73],scalar_xor(c2[73],c2[72]))))))))))))))))))))))))))))))))))));
//row: 7
d2[28]=scalar_xor(c2[0],scalar_xor(c2[3],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[2],scalar_xor(c2[3],scalar_xor(c2[0],scalar_xor(c2[8],scalar_xor(c2[11],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[10],scalar_xor(c2[11],scalar_xor(c2[9],scalar_xor(c2[19],scalar_xor(c2[18],scalar_xor(c2[19],scalar_xor(c2[18],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[26],scalar_xor(c2[27],scalar_xor(c2[35],scalar_xor(c2[32],scalar_xor(c2[34],scalar_xor(c2[35],scalar_xor(c2[34],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[43],scalar_xor(c2[40],scalar_xor(c2[40],scalar_xor(c2[42],scalar_xor(c2[43],scalar_xor(c2[43],scalar_xor(c2[48],scalar_xor(c2[51],scalar_xor(c2[48],scalar_xor(c2[48],scalar_xor(c2[49],scalar_xor(c2[49],scalar_xor(c2[51],scalar_xor(c2[48],scalar_xor(c2[58],scalar_xor(c2[59],scalar_xor(c2[58],scalar_xor(c2[56],scalar_xor(c2[57],scalar_xor(c2[56],scalar_xor(c2[66],scalar_xor(c2[67],scalar_xor(c2[66],scalar_xor(c2[67],scalar_xor(c2[66],scalar_xor(c2[64],scalar_xor(c2[65],scalar_xor(c2[72],scalar_xor(c2[75],scalar_xor(c2[72],scalar_xor(c2[74],scalar_xor(c2[75],scalar_xor(c2[72],scalar_xor(c2[74],c2[75]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[32]=scalar_xor(c2[3],scalar_xor(c2[2],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[2],scalar_xor(c2[11],scalar_xor(c2[10],scalar_xor(c2[11],scalar_xor(c2[9],scalar_xor(c2[10],scalar_xor(c2[18],scalar_xor(c2[17],scalar_xor(c2[19],scalar_xor(c2[24],scalar_xor(c2[27],scalar_xor(c2[24],scalar_xor(c2[27],scalar_xor(c2[25],scalar_xor(c2[35],scalar_xor(c2[34],scalar_xor(c2[33],scalar_xor(c2[35],scalar_xor(c2[43],scalar_xor(c2[42],scalar_xor(c2[41],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[48],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[58],scalar_xor(c2[57],scalar_xor(c2[59],scalar_xor(c2[66],scalar_xor(c2[65],scalar_xor(c2[65],scalar_xor(c2[67],scalar_xor(c2[75],scalar_xor(c2[74],scalar_xor(c2[74],scalar_xor(c2[73],c2[73]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[36]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[3],scalar_xor(c2[3],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[3],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[11],scalar_xor(c2[10],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[10],scalar_xor(c2[11],scalar_xor(c2[19],scalar_xor(c2[16],scalar_xor(c2[18],scalar_xor(c2[18],scalar_xor(c2[16],scalar_xor(c2[25],scalar_xor(c2[26],scalar_xor(c2[24],scalar_xor(c2[26],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[26],scalar_xor(c2[33],scalar_xor(c2[35],scalar_xor(c2[32],scalar_xor(c2[34],scalar_xor(c2[34],scalar_xor(c2[32],scalar_xor(c2[41],scalar_xor(c2[43],scalar_xor(c2[40],scalar_xor(c2[42],scalar_xor(c2[48],scalar_xor(c2[49],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[48],scalar_xor(c2[49],scalar_xor(c2[51],scalar_xor(c2[56],scalar_xor(c2[58],scalar_xor(c2[58],scalar_xor(c2[56],scalar_xor(c2[64],scalar_xor(c2[66],scalar_xor(c2[64],scalar_xor(c2[66],scalar_xor(c2[66],scalar_xor(c2[64],scalar_xor(c2[65],scalar_xor(c2[72],scalar_xor(c2[73],scalar_xor(c2[75],scalar_xor(c2[72],scalar_xor(c2[74],scalar_xor(c2[72],c2[74])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[40]=scalar_xor(c2[3],scalar_xor(c2[9],scalar_xor(c2[48],c2[57])));
//row: 11
d2[44]=scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[0],scalar_xor(c2[3],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[11],scalar_xor(c2[19],scalar_xor(c2[18],scalar_xor(c2[17],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[27],scalar_xor(c2[32],scalar_xor(c2[35],scalar_xor(c2[34],scalar_xor(c2[33],scalar_xor(c2[40],scalar_xor(c2[40],scalar_xor(c2[43],scalar_xor(c2[48],scalar_xor(c2[49],scalar_xor(c2[49],scalar_xor(c2[48],scalar_xor(c2[59],scalar_xor(c2[58],scalar_xor(c2[57],scalar_xor(c2[56],scalar_xor(c2[67],scalar_xor(c2[67],scalar_xor(c2[66],scalar_xor(c2[65],scalar_xor(c2[72],scalar_xor(c2[75],scalar_xor(c2[72],scalar_xor(c2[75],c2[74])))))))))))))))))))))))))))))))))))));
//row: 12
d2[48]=scalar_xor(c2[3],scalar_xor(c2[2],scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[11],scalar_xor(c2[10],scalar_xor(c2[11],scalar_xor(c2[9],scalar_xor(c2[11],scalar_xor(c2[18],scalar_xor(c2[17],scalar_xor(c2[19],scalar_xor(c2[24],scalar_xor(c2[27],scalar_xor(c2[27],scalar_xor(c2[25],scalar_xor(c2[27],scalar_xor(c2[34],scalar_xor(c2[33],scalar_xor(c2[35],scalar_xor(c2[42],scalar_xor(c2[41],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[57],scalar_xor(c2[59],scalar_xor(c2[65],scalar_xor(c2[65],scalar_xor(c2[67],scalar_xor(c2[75],scalar_xor(c2[74],scalar_xor(c2[73],c2[73]))))))))))))))))))))))))))))))))));
//row: 13
d2[52]=scalar_xor(c2[2],scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[3],scalar_xor(c2[10],scalar_xor(c2[11],scalar_xor(c2[10],scalar_xor(c2[9],scalar_xor(c2[10],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[19],scalar_xor(c2[27],scalar_xor(c2[27],scalar_xor(c2[25],scalar_xor(c2[34],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[35],scalar_xor(c2[42],scalar_xor(c2[42],scalar_xor(c2[41],scalar_xor(c2[50],scalar_xor(c2[51],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[57],scalar_xor(c2[56],scalar_xor(c2[59],scalar_xor(c2[65],scalar_xor(c2[65],scalar_xor(c2[64],scalar_xor(c2[67],scalar_xor(c2[66],scalar_xor(c2[74],scalar_xor(c2[73],scalar_xor(c2[74],c2[73])))))))))))))))))))))))))))))))))))));
//row: 14
d2[56]=scalar_xor(c2[0],scalar_xor(c2[3],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[2],scalar_xor(c2[3],scalar_xor(c2[0],scalar_xor(c2[8],scalar_xor(c2[11],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[10],scalar_xor(c2[11],scalar_xor(c2[11],scalar_xor(c2[19],scalar_xor(c2[18],scalar_xor(c2[19],scalar_xor(c2[18],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[26],scalar_xor(c2[27],scalar_xor(c2[35],scalar_xor(c2[32],scalar_xor(c2[34],scalar_xor(c2[35],scalar_xor(c2[34],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[43],scalar_xor(c2[40],scalar_xor(c2[40],scalar_xor(c2[42],scalar_xor(c2[43],scalar_xor(c2[48],scalar_xor(c2[51],scalar_xor(c2[48],scalar_xor(c2[48],scalar_xor(c2[49],scalar_xor(c2[49],scalar_xor(c2[51],scalar_xor(c2[48],scalar_xor(c2[49],scalar_xor(c2[58],scalar_xor(c2[59],scalar_xor(c2[58],scalar_xor(c2[56],scalar_xor(c2[57],scalar_xor(c2[66],scalar_xor(c2[67],scalar_xor(c2[66],scalar_xor(c2[67],scalar_xor(c2[66],scalar_xor(c2[64],scalar_xor(c2[65],scalar_xor(c2[72],scalar_xor(c2[75],scalar_xor(c2[72],scalar_xor(c2[74],scalar_xor(c2[75],scalar_xor(c2[72],scalar_xor(c2[74],c2[75])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[60]=scalar_xor(c2[2],scalar_xor(c2[3],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[3],scalar_xor(c2[3],scalar_xor(c2[1],scalar_xor(c2[3],scalar_xor(c2[10],scalar_xor(c2[11],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[10],scalar_xor(c2[10],scalar_xor(c2[8],scalar_xor(c2[17],scalar_xor(c2[18],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[18],scalar_xor(c2[27],scalar_xor(c2[24],scalar_xor(c2[26],scalar_xor(c2[24],scalar_xor(c2[26],scalar_xor(c2[26],scalar_xor(c2[24],scalar_xor(c2[35],scalar_xor(c2[33],scalar_xor(c2[34],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[34],scalar_xor(c2[43],scalar_xor(c2[41],scalar_xor(c2[42],scalar_xor(c2[40],scalar_xor(c2[50],scalar_xor(c2[51],scalar_xor(c2[49],scalar_xor(c2[48],scalar_xor(c2[50],scalar_xor(c2[51],scalar_xor(c2[49],scalar_xor(c2[58],scalar_xor(c2[56],scalar_xor(c2[56],scalar_xor(c2[58],scalar_xor(c2[66],scalar_xor(c2[64],scalar_xor(c2[66],scalar_xor(c2[64],scalar_xor(c2[64],scalar_xor(c2[66],scalar_xor(c2[74],scalar_xor(c2[75],scalar_xor(c2[73],scalar_xor(c2[74],scalar_xor(c2[72],scalar_xor(c2[74],c2[72]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[64]=scalar_xor(c2[1],scalar_xor(c2[3],scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[1],scalar_xor(c2[2],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[9],scalar_xor(c2[11],scalar_xor(c2[8],scalar_xor(c2[10],scalar_xor(c2[9],scalar_xor(c2[11],scalar_xor(c2[11],scalar_xor(c2[9],scalar_xor(c2[11],scalar_xor(c2[16],scalar_xor(c2[18],scalar_xor(c2[19],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[19],scalar_xor(c2[26],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[27],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[27],scalar_xor(c2[27],scalar_xor(c2[25],scalar_xor(c2[35],scalar_xor(c2[32],scalar_xor(c2[34],scalar_xor(c2[35],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[35],scalar_xor(c2[43],scalar_xor(c2[40],scalar_xor(c2[42],scalar_xor(c2[43],scalar_xor(c2[41],scalar_xor(c2[49],scalar_xor(c2[51],scalar_xor(c2[48],scalar_xor(c2[50],scalar_xor(c2[48],scalar_xor(c2[49],scalar_xor(c2[51],scalar_xor(c2[48],scalar_xor(c2[50],scalar_xor(c2[58],scalar_xor(c2[59],scalar_xor(c2[57],scalar_xor(c2[57],scalar_xor(c2[59],scalar_xor(c2[66],scalar_xor(c2[67],scalar_xor(c2[65],scalar_xor(c2[67],scalar_xor(c2[65],scalar_xor(c2[65],scalar_xor(c2[67],scalar_xor(c2[73],scalar_xor(c2[75],scalar_xor(c2[72],scalar_xor(c2[74],scalar_xor(c2[74],scalar_xor(c2[75],scalar_xor(c2[73],scalar_xor(c2[75],scalar_xor(c2[73],c2[74])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[68]=scalar_xor(c2[3],scalar_xor(c2[1],scalar_xor(c2[2],scalar_xor(c2[0],scalar_xor(c2[3],scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[2],scalar_xor(c2[0],scalar_xor(c2[11],scalar_xor(c2[9],scalar_xor(c2[10],scalar_xor(c2[8],scalar_xor(c2[11],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[11],scalar_xor(c2[10],scalar_xor(c2[18],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[19],scalar_xor(c2[19],scalar_xor(c2[17],scalar_xor(c2[24],scalar_xor(c2[26],scalar_xor(c2[27],scalar_xor(c2[25],scalar_xor(c2[26],scalar_xor(c2[27],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[27],scalar_xor(c2[33],scalar_xor(c2[34],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[35],scalar_xor(c2[35],scalar_xor(c2[33],scalar_xor(c2[41],scalar_xor(c2[42],scalar_xor(c2[40],scalar_xor(c2[41],scalar_xor(c2[43],scalar_xor(c2[40],scalar_xor(c2[51],scalar_xor(c2[49],scalar_xor(c2[50],scalar_xor(c2[48],scalar_xor(c2[50],scalar_xor(c2[51],scalar_xor(c2[49],scalar_xor(c2[50],scalar_xor(c2[48],scalar_xor(c2[56],scalar_xor(c2[57],scalar_xor(c2[59],scalar_xor(c2[59],scalar_xor(c2[57],scalar_xor(c2[64],scalar_xor(c2[65],scalar_xor(c2[67],scalar_xor(c2[65],scalar_xor(c2[67],scalar_xor(c2[67],scalar_xor(c2[65],scalar_xor(c2[75],scalar_xor(c2[73],scalar_xor(c2[74],scalar_xor(c2[72],scalar_xor(c2[72],scalar_xor(c2[73],scalar_xor(c2[75],scalar_xor(c2[73],c2[75])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[72]=scalar_xor(c2[0],scalar_xor(c2[50],c2[58]));
//row: 19
d2[76]=scalar_xor(c2[1],scalar_xor(c2[3],scalar_xor(c2[1],scalar_xor(c2[3],scalar_xor(c2[9],scalar_xor(c2[10],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[16],scalar_xor(c2[18],scalar_xor(c2[26],scalar_xor(c2[26],scalar_xor(c2[24],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[34],scalar_xor(c2[41],scalar_xor(c2[40],scalar_xor(c2[49],scalar_xor(c2[50],scalar_xor(c2[49],scalar_xor(c2[56],scalar_xor(c2[58],scalar_xor(c2[64],scalar_xor(c2[64],scalar_xor(c2[66],scalar_xor(c2[73],scalar_xor(c2[72],c2[72]))))))))))))))))))))))))))));
//row: 20
d2[80]=scalar_xor(c2[2],scalar_xor(c2[1],scalar_xor(c2[3],scalar_xor(c2[1],scalar_xor(c2[10],scalar_xor(c2[9],scalar_xor(c2[10],scalar_xor(c2[8],scalar_xor(c2[10],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[18],scalar_xor(c2[27],scalar_xor(c2[26],scalar_xor(c2[26],scalar_xor(c2[24],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[34],scalar_xor(c2[33],scalar_xor(c2[41],scalar_xor(c2[40],scalar_xor(c2[50],scalar_xor(c2[49],scalar_xor(c2[50],scalar_xor(c2[49],scalar_xor(c2[56],scalar_xor(c2[58],scalar_xor(c2[64],scalar_xor(c2[64],scalar_xor(c2[66],scalar_xor(c2[74],scalar_xor(c2[73],scalar_xor(c2[72],c2[72]))))))))))))))))))))))))))))))))));
//row: 21
d2[84]=scalar_xor(c2[2],scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[0],scalar_xor(c2[10],scalar_xor(c2[11],scalar_xor(c2[10],scalar_xor(c2[9],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[19],scalar_xor(c2[27],scalar_xor(c2[27],scalar_xor(c2[25],scalar_xor(c2[34],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[35],scalar_xor(c2[42],scalar_xor(c2[42],scalar_xor(c2[41],scalar_xor(c2[50],scalar_xor(c2[51],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[57],scalar_xor(c2[56],scalar_xor(c2[59],scalar_xor(c2[65],scalar_xor(c2[65],scalar_xor(c2[64],scalar_xor(c2[67],scalar_xor(c2[66],scalar_xor(c2[74],scalar_xor(c2[73],scalar_xor(c2[74],c2[73]))))))))))))))))))))))))))))))))))));
//row: 22
d2[88]=scalar_xor(c2[10],c2[19]);
//row: 23
d2[92]=scalar_xor(c2[3],scalar_xor(c2[27],c2[42]));
//row: 24
d2[96]=scalar_xor(c2[10],scalar_xor(c2[19],c2[72]));
//row: 25
d2[100]=scalar_xor(c2[0],c2[40]);
//row: 26
d2[104]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[3],scalar_xor(c2[2],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[10],scalar_xor(c2[9],scalar_xor(c2[11],scalar_xor(c2[10],scalar_xor(c2[11],scalar_xor(c2[9],scalar_xor(c2[16],scalar_xor(c2[19],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[19],scalar_xor(c2[17],scalar_xor(c2[26],scalar_xor(c2[25],scalar_xor(c2[27],scalar_xor(c2[26],scalar_xor(c2[25],scalar_xor(c2[27],scalar_xor(c2[27],scalar_xor(c2[25],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[34],scalar_xor(c2[35],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[35],scalar_xor(c2[41],scalar_xor(c2[40],scalar_xor(c2[42],scalar_xor(c2[42],scalar_xor(c2[43],scalar_xor(c2[41],scalar_xor(c2[49],scalar_xor(c2[48],scalar_xor(c2[50],scalar_xor(c2[50],scalar_xor(c2[49],scalar_xor(c2[51],scalar_xor(c2[51],scalar_xor(c2[48],scalar_xor(c2[50],scalar_xor(c2[56],scalar_xor(c2[59],scalar_xor(c2[57],scalar_xor(c2[56],scalar_xor(c2[57],scalar_xor(c2[59],scalar_xor(c2[59],scalar_xor(c2[64],scalar_xor(c2[67],scalar_xor(c2[65],scalar_xor(c2[67],scalar_xor(c2[65],scalar_xor(c2[64],scalar_xor(c2[65],scalar_xor(c2[67],scalar_xor(c2[73],scalar_xor(c2[72],scalar_xor(c2[74],scalar_xor(c2[72],scalar_xor(c2[75],scalar_xor(c2[73],scalar_xor(c2[74],scalar_xor(c2[75],c2[73])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[108]=scalar_xor(c2[0],c2[51]);
//row: 28
d2[112]=scalar_xor(c2[10],scalar_xor(c2[17],c2[43]));
//row: 29
d2[116]=scalar_xor(c2[2],c2[32]);
//row: 30
d2[120]=scalar_xor(c2[19],scalar_xor(c2[40],scalar_xor(c2[57],c2[72])));
//row: 31
d2[124]=scalar_xor(c2[1],scalar_xor(c2[3],scalar_xor(c2[1],scalar_xor(c2[9],scalar_xor(c2[10],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[10],scalar_xor(c2[16],scalar_xor(c2[19],scalar_xor(c2[18],scalar_xor(c2[26],scalar_xor(c2[26],scalar_xor(c2[24],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[35],scalar_xor(c2[34],scalar_xor(c2[41],scalar_xor(c2[41],scalar_xor(c2[40],scalar_xor(c2[49],scalar_xor(c2[50],scalar_xor(c2[50],scalar_xor(c2[49],scalar_xor(c2[56],scalar_xor(c2[59],scalar_xor(c2[58],scalar_xor(c2[64],scalar_xor(c2[64],scalar_xor(c2[67],scalar_xor(c2[66],scalar_xor(c2[73],scalar_xor(c2[72],scalar_xor(c2[73],c2[72])))))))))))))))))))))))))))))))))));
//row: 32
d2[128]=scalar_xor(c2[3],scalar_xor(c2[2],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[2],scalar_xor(c2[11],scalar_xor(c2[10],scalar_xor(c2[11],scalar_xor(c2[9],scalar_xor(c2[18],scalar_xor(c2[17],scalar_xor(c2[19],scalar_xor(c2[24],scalar_xor(c2[27],scalar_xor(c2[24],scalar_xor(c2[27],scalar_xor(c2[25],scalar_xor(c2[35],scalar_xor(c2[34],scalar_xor(c2[33],scalar_xor(c2[35],scalar_xor(c2[43],scalar_xor(c2[42],scalar_xor(c2[41],scalar_xor(c2[40],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[48],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[58],scalar_xor(c2[57],scalar_xor(c2[59],scalar_xor(c2[66],scalar_xor(c2[65],scalar_xor(c2[65],scalar_xor(c2[67],scalar_xor(c2[75],scalar_xor(c2[74],scalar_xor(c2[74],scalar_xor(c2[73],c2[73]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[132]=scalar_xor(c2[3],scalar_xor(c2[1],scalar_xor(c2[3],scalar_xor(c2[11],scalar_xor(c2[8],scalar_xor(c2[10],scalar_xor(c2[18],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[26],scalar_xor(c2[35],scalar_xor(c2[34],scalar_xor(c2[32],scalar_xor(c2[43],scalar_xor(c2[42],scalar_xor(c2[51],scalar_xor(c2[48],scalar_xor(c2[51],scalar_xor(c2[58],scalar_xor(c2[56],scalar_xor(c2[56],scalar_xor(c2[66],scalar_xor(c2[66],scalar_xor(c2[64],scalar_xor(c2[75],scalar_xor(c2[74],c2[74]))))))))))))))))))))))))))));
//row: 34
d2[136]=scalar_xor(c2[2],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[3],scalar_xor(c2[2],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[3],scalar_xor(c2[10],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[10],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[11],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[19],scalar_xor(c2[18],scalar_xor(c2[18],scalar_xor(c2[17],scalar_xor(c2[27],scalar_xor(c2[26],scalar_xor(c2[25],scalar_xor(c2[27],scalar_xor(c2[26],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[27],scalar_xor(c2[34],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[35],scalar_xor(c2[34],scalar_xor(c2[34],scalar_xor(c2[33],scalar_xor(c2[42],scalar_xor(c2[41],scalar_xor(c2[40],scalar_xor(c2[40],scalar_xor(c2[40],scalar_xor(c2[43],scalar_xor(c2[50],scalar_xor(c2[49],scalar_xor(c2[48],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[49],scalar_xor(c2[49],scalar_xor(c2[49],scalar_xor(c2[48],scalar_xor(c2[57],scalar_xor(c2[56],scalar_xor(c2[59],scalar_xor(c2[58],scalar_xor(c2[58],scalar_xor(c2[57],scalar_xor(c2[65],scalar_xor(c2[64],scalar_xor(c2[67],scalar_xor(c2[64],scalar_xor(c2[67],scalar_xor(c2[66],scalar_xor(c2[66],scalar_xor(c2[65],scalar_xor(c2[74],scalar_xor(c2[73],scalar_xor(c2[72],scalar_xor(c2[73],scalar_xor(c2[72],scalar_xor(c2[75],scalar_xor(c2[72],scalar_xor(c2[72],c2[75]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[140]=scalar_xor(c2[0],scalar_xor(c2[3],scalar_xor(c2[1],scalar_xor(c2[3],scalar_xor(c2[8],scalar_xor(c2[11],scalar_xor(c2[8],scalar_xor(c2[10],scalar_xor(c2[9],scalar_xor(c2[19],scalar_xor(c2[18],scalar_xor(c2[16],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[26],scalar_xor(c2[35],scalar_xor(c2[34],scalar_xor(c2[32],scalar_xor(c2[43],scalar_xor(c2[42],scalar_xor(c2[40],scalar_xor(c2[48],scalar_xor(c2[51],scalar_xor(c2[48],scalar_xor(c2[51],scalar_xor(c2[58],scalar_xor(c2[56],scalar_xor(c2[66],scalar_xor(c2[66],scalar_xor(c2[64],scalar_xor(c2[72],scalar_xor(c2[75],scalar_xor(c2[74],c2[74]))))))))))))))))))))))))))))))))));
//row: 36
d2[144]=scalar_xor(c2[0],scalar_xor(c2[18],c2[58]));
//row: 37
d2[148]=scalar_xor(c2[3],scalar_xor(c2[3],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[3],scalar_xor(c2[3],scalar_xor(c2[11],scalar_xor(c2[11],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[11],scalar_xor(c2[10],scalar_xor(c2[10],scalar_xor(c2[18],scalar_xor(c2[18],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[26],scalar_xor(c2[26],scalar_xor(c2[35],scalar_xor(c2[35],scalar_xor(c2[34],scalar_xor(c2[34],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[43],scalar_xor(c2[43],scalar_xor(c2[43],scalar_xor(c2[42],scalar_xor(c2[42],scalar_xor(c2[51],scalar_xor(c2[51],scalar_xor(c2[48],scalar_xor(c2[48],scalar_xor(c2[48],scalar_xor(c2[51],scalar_xor(c2[51],scalar_xor(c2[58],scalar_xor(c2[58],scalar_xor(c2[57],scalar_xor(c2[56],scalar_xor(c2[56],scalar_xor(c2[66],scalar_xor(c2[66],scalar_xor(c2[66],scalar_xor(c2[66],scalar_xor(c2[65],scalar_xor(c2[64],scalar_xor(c2[64],scalar_xor(c2[75],scalar_xor(c2[75],scalar_xor(c2[74],scalar_xor(c2[74],scalar_xor(c2[75],scalar_xor(c2[74],c2[74])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[152]=scalar_xor(c2[3],scalar_xor(c2[2],scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[11],scalar_xor(c2[10],scalar_xor(c2[11],scalar_xor(c2[9],scalar_xor(c2[11],scalar_xor(c2[18],scalar_xor(c2[17],scalar_xor(c2[19],scalar_xor(c2[24],scalar_xor(c2[27],scalar_xor(c2[27],scalar_xor(c2[25],scalar_xor(c2[34],scalar_xor(c2[33],scalar_xor(c2[35],scalar_xor(c2[42],scalar_xor(c2[41],scalar_xor(c2[42],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[57],scalar_xor(c2[59],scalar_xor(c2[65],scalar_xor(c2[65],scalar_xor(c2[67],scalar_xor(c2[75],scalar_xor(c2[74],scalar_xor(c2[73],c2[73]))))))))))))))))))))))))))))))))));
//row: 39
d2[156]=scalar_xor(c2[3],scalar_xor(c2[2],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[3],scalar_xor(c2[11],scalar_xor(c2[10],scalar_xor(c2[11],scalar_xor(c2[9],scalar_xor(c2[18],scalar_xor(c2[17],scalar_xor(c2[19],scalar_xor(c2[24],scalar_xor(c2[27],scalar_xor(c2[24],scalar_xor(c2[27],scalar_xor(c2[25],scalar_xor(c2[35],scalar_xor(c2[34],scalar_xor(c2[33],scalar_xor(c2[35],scalar_xor(c2[43],scalar_xor(c2[42],scalar_xor(c2[41],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[48],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[58],scalar_xor(c2[57],scalar_xor(c2[59],scalar_xor(c2[56],scalar_xor(c2[66],scalar_xor(c2[65],scalar_xor(c2[65],scalar_xor(c2[67],scalar_xor(c2[75],scalar_xor(c2[74],scalar_xor(c2[74],scalar_xor(c2[73],c2[73]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[160]=scalar_xor(c2[3],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[2],scalar_xor(c2[3],scalar_xor(c2[0],scalar_xor(c2[11],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[10],scalar_xor(c2[11],scalar_xor(c2[18],scalar_xor(c2[19],scalar_xor(c2[18],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[26],scalar_xor(c2[27],scalar_xor(c2[35],scalar_xor(c2[32],scalar_xor(c2[34],scalar_xor(c2[35],scalar_xor(c2[34],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[43],scalar_xor(c2[40],scalar_xor(c2[40],scalar_xor(c2[42],scalar_xor(c2[43],scalar_xor(c2[51],scalar_xor(c2[48],scalar_xor(c2[48],scalar_xor(c2[49],scalar_xor(c2[49],scalar_xor(c2[51],scalar_xor(c2[48],scalar_xor(c2[58],scalar_xor(c2[59],scalar_xor(c2[58],scalar_xor(c2[56],scalar_xor(c2[57],scalar_xor(c2[66],scalar_xor(c2[67],scalar_xor(c2[66],scalar_xor(c2[67],scalar_xor(c2[66],scalar_xor(c2[64],scalar_xor(c2[65],scalar_xor(c2[75],scalar_xor(c2[72],scalar_xor(c2[74],scalar_xor(c2[75],scalar_xor(c2[72],scalar_xor(c2[74],c2[75]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[164]=scalar_xor(c2[3],scalar_xor(c2[2],scalar_xor(c2[0],scalar_xor(c2[2],scalar_xor(c2[11],scalar_xor(c2[10],scalar_xor(c2[11],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[18],scalar_xor(c2[17],scalar_xor(c2[19],scalar_xor(c2[24],scalar_xor(c2[27],scalar_xor(c2[27],scalar_xor(c2[25],scalar_xor(c2[34],scalar_xor(c2[33],scalar_xor(c2[35],scalar_xor(c2[42],scalar_xor(c2[41],scalar_xor(c2[41],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[51],scalar_xor(c2[50],scalar_xor(c2[57],scalar_xor(c2[59],scalar_xor(c2[65],scalar_xor(c2[65],scalar_xor(c2[67],scalar_xor(c2[75],scalar_xor(c2[74],scalar_xor(c2[73],c2[73]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=64, byte encoding
static inline void ldpc_BG2_Zc64_byte(uint8_t *c,uint8_t *d) {
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
__m256i *c2,*d2;
int i2;
for (i2=0; i2<2; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[193],_mm256_xor_si256(c2[512],_mm256_xor_si256(c2[645],_mm256_xor_si256(c2[549],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[809],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[173],_mm256_xor_si256(c2[365],_mm256_xor_si256(c2[913],_mm256_xor_si256(c2[625],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[917],_mm256_xor_si256(c2[245],_mm256_xor_si256(c2[921],_mm256_xor_si256(c2[57],_mm256_xor_si256(c2[536],_mm256_xor_si256(c2[892],_mm256_xor_si256(c2[701],_mm256_xor_si256(c2[1024],_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[576],_mm256_xor_si256(c2[420],_mm256_xor_si256(c2[901],c2[1029]))))))))))))))))))))))))));
//row: 1
d2[2]=_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[193],_mm256_xor_si256(c2[512],_mm256_xor_si256(c2[677],_mm256_xor_si256(c2[645],_mm256_xor_si256(c2[549],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[392],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[809],_mm256_xor_si256(c2[844],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[173],_mm256_xor_si256(c2[365],_mm256_xor_si256(c2[913],_mm256_xor_si256(c2[625],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[917],_mm256_xor_si256(c2[245],_mm256_xor_si256(c2[953],_mm256_xor_si256(c2[921],_mm256_xor_si256(c2[57],_mm256_xor_si256(c2[536],_mm256_xor_si256(c2[892],_mm256_xor_si256(c2[701],_mm256_xor_si256(c2[1024],_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[576],_mm256_xor_si256(c2[452],_mm256_xor_si256(c2[420],_mm256_xor_si256(c2[901],c2[1029]))))))))))))))))))))))))))))))));
//row: 2
d2[4]=_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[193],_mm256_xor_si256(c2[512],_mm256_xor_si256(c2[677],_mm256_xor_si256(c2[645],_mm256_xor_si256(c2[549],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[392],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[809],_mm256_xor_si256(c2[844],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[205],_mm256_xor_si256(c2[173],_mm256_xor_si256(c2[365],_mm256_xor_si256(c2[945],_mm256_xor_si256(c2[913],_mm256_xor_si256(c2[625],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[949],_mm256_xor_si256(c2[917],_mm256_xor_si256(c2[245],_mm256_xor_si256(c2[953],_mm256_xor_si256(c2[921],_mm256_xor_si256(c2[89],_mm256_xor_si256(c2[57],_mm256_xor_si256(c2[536],_mm256_xor_si256(c2[924],_mm256_xor_si256(c2[892],_mm256_xor_si256(c2[701],_mm256_xor_si256(c2[33],_mm256_xor_si256(c2[1024],_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[576],_mm256_xor_si256(c2[452],_mm256_xor_si256(c2[420],_mm256_xor_si256(c2[933],_mm256_xor_si256(c2[901],c2[1029]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[6]=_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[193],_mm256_xor_si256(c2[512],_mm256_xor_si256(c2[645],_mm256_xor_si256(c2[549],_mm256_xor_si256(c2[260],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[841],_mm256_xor_si256(c2[809],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[173],_mm256_xor_si256(c2[365],_mm256_xor_si256(c2[913],_mm256_xor_si256(c2[625],_mm256_xor_si256(c2[976],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[917],_mm256_xor_si256(c2[277],_mm256_xor_si256(c2[245],_mm256_xor_si256(c2[921],_mm256_xor_si256(c2[57],_mm256_xor_si256(c2[568],_mm256_xor_si256(c2[536],_mm256_xor_si256(c2[892],_mm256_xor_si256(c2[733],_mm256_xor_si256(c2[701],_mm256_xor_si256(c2[1024],_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[576],_mm256_xor_si256(c2[420],_mm256_xor_si256(c2[901],_mm256_xor_si256(c2[36],c2[1029]))))))))))))))))))))))))))))))))));
//row: 4
d2[8]=_mm256_xor_si256(c2[512],_mm256_xor_si256(c2[480],_mm256_xor_si256(c2[417],_mm256_xor_si256(c2[736],_mm256_xor_si256(c2[609],_mm256_xor_si256(c2[901],_mm256_xor_si256(c2[869],_mm256_xor_si256(c2[773],_mm256_xor_si256(c2[452],_mm256_xor_si256(c2[708],_mm256_xor_si256(c2[616],_mm256_xor_si256(c2[584],_mm256_xor_si256(c2[8],_mm256_xor_si256(c2[45],_mm256_xor_si256(c2[13],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[589],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[849],_mm256_xor_si256(c2[145],_mm256_xor_si256(c2[116],_mm256_xor_si256(c2[469],_mm256_xor_si256(c2[152],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[281],_mm256_xor_si256(c2[760],_mm256_xor_si256(c2[93],_mm256_xor_si256(c2[925],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[737],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[644],_mm256_xor_si256(c2[100],c2[228]))))))))))))))))))))))))))))))))));
//row: 5
d2[10]=_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[416],_mm256_xor_si256(c2[737],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[900],_mm256_xor_si256(c2[868],_mm256_xor_si256(c2[772],_mm256_xor_si256(c2[453],_mm256_xor_si256(c2[293],_mm256_xor_si256(c2[617],_mm256_xor_si256(c2[585],_mm256_xor_si256(c2[9],_mm256_xor_si256(c2[44],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[396],_mm256_xor_si256(c2[588],_mm256_xor_si256(c2[113],_mm256_xor_si256(c2[848],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[117],_mm256_xor_si256(c2[468],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[153],_mm256_xor_si256(c2[121],_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[761],_mm256_xor_si256(c2[92],_mm256_xor_si256(c2[924],_mm256_xor_si256(c2[1020],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[736],_mm256_xor_si256(c2[801],_mm256_xor_si256(c2[677],_mm256_xor_si256(c2[645],_mm256_xor_si256(c2[101],c2[229]))))))))))))))))))))))))))))))))))));
//row: 6
d2[12]=_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[193],_mm256_xor_si256(c2[128],_mm256_xor_si256(c2[449],_mm256_xor_si256(c2[864],_mm256_xor_si256(c2[612],_mm256_xor_si256(c2[580],_mm256_xor_si256(c2[484],_mm256_xor_si256(c2[165],_mm256_xor_si256(c2[329],_mm256_xor_si256(c2[297],_mm256_xor_si256(c2[744],_mm256_xor_si256(c2[781],_mm256_xor_si256(c2[749],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[300],_mm256_xor_si256(c2[848],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[881],_mm256_xor_si256(c2[852],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[149],_mm256_xor_si256(c2[888],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[1017],_mm256_xor_si256(c2[473],_mm256_xor_si256(c2[829],_mm256_xor_si256(c2[636],_mm256_xor_si256(c2[445],_mm256_xor_si256(c2[961],_mm256_xor_si256(c2[448],_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[389],_mm256_xor_si256(c2[357],_mm256_xor_si256(c2[836],_mm256_xor_si256(c2[964],c2[932]))))))))))))))))))))))))))))))))))));
//row: 7
d2[14]=_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[897],_mm256_xor_si256(c2[289],_mm256_xor_si256(c2[832],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[128],_mm256_xor_si256(c2[773],_mm256_xor_si256(c2[741],_mm256_xor_si256(c2[261],_mm256_xor_si256(c2[645],_mm256_xor_si256(c2[165],_mm256_xor_si256(c2[901],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[869],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[488],_mm256_xor_si256(c2[456],_mm256_xor_si256(c2[1001],_mm256_xor_si256(c2[457],_mm256_xor_si256(c2[905],_mm256_xor_si256(c2[425],_mm256_xor_si256(c2[940],_mm256_xor_si256(c2[908],_mm256_xor_si256(c2[428],_mm256_xor_si256(c2[269],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[461],_mm256_xor_si256(c2[1004],_mm256_xor_si256(c2[1009],_mm256_xor_si256(c2[529],_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[241],_mm256_xor_si256(c2[592],_mm256_xor_si256(c2[17],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[1013],_mm256_xor_si256(c2[533],_mm256_xor_si256(c2[916],_mm256_xor_si256(c2[341],_mm256_xor_si256(c2[884],_mm256_xor_si256(c2[628],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[1017],_mm256_xor_si256(c2[537],_mm256_xor_si256(c2[153],_mm256_xor_si256(c2[696],_mm256_xor_si256(c2[184],_mm256_xor_si256(c2[632],_mm256_xor_si256(c2[152],_mm256_xor_si256(c2[988],_mm256_xor_si256(c2[508],_mm256_xor_si256(c2[349],_mm256_xor_si256(c2[797],_mm256_xor_si256(c2[317],_mm256_xor_si256(c2[412],_mm256_xor_si256(c2[97],_mm256_xor_si256(c2[640],_mm256_xor_si256(c2[609],_mm256_xor_si256(c2[129],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[672],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[548],_mm256_xor_si256(c2[516],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[517],_mm256_xor_si256(c2[677],_mm256_xor_si256(c2[100],c2[645]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[16]=_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[449],_mm256_xor_si256(c2[416],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[705],_mm256_xor_si256(c2[448],_mm256_xor_si256(c2[868],_mm256_xor_si256(c2[836],_mm256_xor_si256(c2[740],_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[964],_mm256_xor_si256(c2[585],_mm256_xor_si256(c2[553],_mm256_xor_si256(c2[1000],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[1005],_mm256_xor_si256(c2[396],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[556],_mm256_xor_si256(c2[113],_mm256_xor_si256(c2[81],_mm256_xor_si256(c2[816],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[117],_mm256_xor_si256(c2[85],_mm256_xor_si256(c2[436],_mm256_xor_si256(c2[121],_mm256_xor_si256(c2[89],_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[248],_mm256_xor_si256(c2[729],_mm256_xor_si256(c2[92],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[892],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[704],_mm256_xor_si256(c2[769],_mm256_xor_si256(c2[645],_mm256_xor_si256(c2[613],_mm256_xor_si256(c2[101],_mm256_xor_si256(c2[69],c2[197]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[18]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[993],_mm256_xor_si256(c2[97],_mm256_xor_si256(c2[928],_mm256_xor_si256(c2[416],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[389],_mm256_xor_si256(c2[549],_mm256_xor_si256(c2[357],_mm256_xor_si256(c2[453],_mm256_xor_si256(c2[261],_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[965],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[104],_mm256_xor_si256(c2[264],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[713],_mm256_xor_si256(c2[521],_mm256_xor_si256(c2[556],_mm256_xor_si256(c2[716],_mm256_xor_si256(c2[524],_mm256_xor_si256(c2[77],_mm256_xor_si256(c2[908],_mm256_xor_si256(c2[269],_mm256_xor_si256(c2[77],_mm256_xor_si256(c2[817],_mm256_xor_si256(c2[625],_mm256_xor_si256(c2[529],_mm256_xor_si256(c2[337],_mm256_xor_si256(c2[848],_mm256_xor_si256(c2[656],_mm256_xor_si256(c2[821],_mm256_xor_si256(c2[629],_mm256_xor_si256(c2[149],_mm256_xor_si256(c2[980],_mm256_xor_si256(c2[665],_mm256_xor_si256(c2[825],_mm256_xor_si256(c2[633],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[792],_mm256_xor_si256(c2[440],_mm256_xor_si256(c2[248],_mm256_xor_si256(c2[796],_mm256_xor_si256(c2[604],_mm256_xor_si256(c2[605],_mm256_xor_si256(c2[413],_mm256_xor_si256(c2[928],_mm256_xor_si256(c2[736],_mm256_xor_si256(c2[417],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[480],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[448],_mm256_xor_si256(c2[164],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[805],_mm256_xor_si256(c2[613],_mm256_xor_si256(c2[933],c2[741])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[20]=_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[805],_mm256_xor_si256(c2[24],c2[701])));
//row: 11
d2[22]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[960],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[389],_mm256_xor_si256(c2[293],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[104],_mm256_xor_si256(c2[585],_mm256_xor_si256(c2[553],_mm256_xor_si256(c2[556],_mm256_xor_si256(c2[940],_mm256_xor_si256(c2[109],_mm256_xor_si256(c2[657],_mm256_xor_si256(c2[369],_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[688],_mm256_xor_si256(c2[661],_mm256_xor_si256(c2[21],_mm256_xor_si256(c2[1012],_mm256_xor_si256(c2[665],_mm256_xor_si256(c2[824],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[636],_mm256_xor_si256(c2[477],_mm256_xor_si256(c2[445],_mm256_xor_si256(c2[413],_mm256_xor_si256(c2[768],_mm256_xor_si256(c2[257],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[320],_mm256_xor_si256(c2[164],_mm256_xor_si256(c2[645],_mm256_xor_si256(c2[805],_mm256_xor_si256(c2[773],c2[612])))))))))))))))))))))))))))))))))))));
//row: 12
d2[24]=_mm256_xor_si256(c2[736],_mm256_xor_si256(c2[704],_mm256_xor_si256(c2[641],_mm256_xor_si256(c2[960],_mm256_xor_si256(c2[100],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[840],_mm256_xor_si256(c2[808],_mm256_xor_si256(c2[232],_mm256_xor_si256(c2[269],_mm256_xor_si256(c2[237],_mm256_xor_si256(c2[621],_mm256_xor_si256(c2[813],_mm256_xor_si256(c2[493],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[48],_mm256_xor_si256(c2[369],_mm256_xor_si256(c2[340],_mm256_xor_si256(c2[693],_mm256_xor_si256(c2[376],_mm256_xor_si256(c2[344],_mm256_xor_si256(c2[505],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[317],_mm256_xor_si256(c2[124],_mm256_xor_si256(c2[449],_mm256_xor_si256(c2[961],_mm256_xor_si256(c2[1024],_mm256_xor_si256(c2[900],_mm256_xor_si256(c2[868],_mm256_xor_si256(c2[324],c2[452]))))))))))))))))))))))))))))))))));
//row: 13
d2[26]=_mm256_xor_si256(c2[193],_mm256_xor_si256(c2[128],_mm256_xor_si256(c2[449],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[580],_mm256_xor_si256(c2[484],_mm256_xor_si256(c2[197],_mm256_xor_si256(c2[165],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[297],_mm256_xor_si256(c2[776],_mm256_xor_si256(c2[744],_mm256_xor_si256(c2[749],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[300],_mm256_xor_si256(c2[848],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[913],_mm256_xor_si256(c2[881],_mm256_xor_si256(c2[852],_mm256_xor_si256(c2[212],_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[1017],_mm256_xor_si256(c2[505],_mm256_xor_si256(c2[473],_mm256_xor_si256(c2[829],_mm256_xor_si256(c2[668],_mm256_xor_si256(c2[636],_mm256_xor_si256(c2[961],_mm256_xor_si256(c2[448],_mm256_xor_si256(c2[545],_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[357],_mm256_xor_si256(c2[836],_mm256_xor_si256(c2[996],c2[964])))))))))))))))))))))))))))))))))))));
//row: 14
d2[28]=_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[289],_mm256_xor_si256(c2[448],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[769],_mm256_xor_si256(c2[773],_mm256_xor_si256(c2[741],_mm256_xor_si256(c2[900],_mm256_xor_si256(c2[645],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[517],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[485],_mm256_xor_si256(c2[613],_mm256_xor_si256(c2[488],_mm256_xor_si256(c2[456],_mm256_xor_si256(c2[617],_mm256_xor_si256(c2[73],_mm256_xor_si256(c2[905],_mm256_xor_si256(c2[41],_mm256_xor_si256(c2[940],_mm256_xor_si256(c2[908],_mm256_xor_si256(c2[44],_mm256_xor_si256(c2[269],_mm256_xor_si256(c2[428],_mm256_xor_si256(c2[461],_mm256_xor_si256(c2[620],_mm256_xor_si256(c2[1009],_mm256_xor_si256(c2[145],_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[880],_mm256_xor_si256(c2[208],_mm256_xor_si256(c2[17],_mm256_xor_si256(c2[176],_mm256_xor_si256(c2[1013],_mm256_xor_si256(c2[149],_mm256_xor_si256(c2[532],_mm256_xor_si256(c2[341],_mm256_xor_si256(c2[500],_mm256_xor_si256(c2[24],_mm256_xor_si256(c2[1017],_mm256_xor_si256(c2[153],_mm256_xor_si256(c2[153],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[825],_mm256_xor_si256(c2[632],_mm256_xor_si256(c2[793],_mm256_xor_si256(c2[568],_mm256_xor_si256(c2[988],_mm256_xor_si256(c2[124],_mm256_xor_si256(c2[988],_mm256_xor_si256(c2[797],_mm256_xor_si256(c2[956],_mm256_xor_si256(c2[97],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[609],_mm256_xor_si256(c2[768],_mm256_xor_si256(c2[865],_mm256_xor_si256(c2[672],_mm256_xor_si256(c2[833],_mm256_xor_si256(c2[548],_mm256_xor_si256(c2[516],_mm256_xor_si256(c2[677],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[133],_mm256_xor_si256(c2[293],_mm256_xor_si256(c2[100],c2[261])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[30]=_mm256_xor_si256(c2[960],_mm256_xor_si256(c2[737],_mm256_xor_si256(c2[928],_mm256_xor_si256(c2[672],_mm256_xor_si256(c2[865],_mm256_xor_si256(c2[993],_mm256_xor_si256(c2[161],_mm256_xor_si256(c2[609],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[101],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[5],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[709],_mm256_xor_si256(c2[900],_mm256_xor_si256(c2[41],_mm256_xor_si256(c2[841],_mm256_xor_si256(c2[9],_mm256_xor_si256(c2[265],_mm256_xor_si256(c2[456],_mm256_xor_si256(c2[493],_mm256_xor_si256(c2[268],_mm256_xor_si256(c2[461],_mm256_xor_si256(c2[652],_mm256_xor_si256(c2[845],_mm256_xor_si256(c2[844],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[369],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[81],_mm256_xor_si256(c2[272],_mm256_xor_si256(c2[400],_mm256_xor_si256(c2[593],_mm256_xor_si256(c2[373],_mm256_xor_si256(c2[564],_mm256_xor_si256(c2[724],_mm256_xor_si256(c2[917],_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[377],_mm256_xor_si256(c2[568],_mm256_xor_si256(c2[536],_mm256_xor_si256(c2[729],_mm256_xor_si256(c2[1017],_mm256_xor_si256(c2[185],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[541],_mm256_xor_si256(c2[157],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[480],_mm256_xor_si256(c2[673],_mm256_xor_si256(c2[992],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[32],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[101],_mm256_xor_si256(c2[901],_mm256_xor_si256(c2[69],_mm256_xor_si256(c2[357],_mm256_xor_si256(c2[548],_mm256_xor_si256(c2[485],c2[676]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[32]=_mm256_xor_si256(c2[544],_mm256_xor_si256(c2[865],_mm256_xor_si256(c2[512],_mm256_xor_si256(c2[833],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[449],_mm256_xor_si256(c2[768],_mm256_xor_si256(c2[768],_mm256_xor_si256(c2[64],_mm256_xor_si256(c2[933],_mm256_xor_si256(c2[229],_mm256_xor_si256(c2[901],_mm256_xor_si256(c2[197],_mm256_xor_si256(c2[805],_mm256_xor_si256(c2[101],_mm256_xor_si256(c2[484],_mm256_xor_si256(c2[805],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[648],_mm256_xor_si256(c2[969],_mm256_xor_si256(c2[616],_mm256_xor_si256(c2[937],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[77],_mm256_xor_si256(c2[396],_mm256_xor_si256(c2[45],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[780],_mm256_xor_si256(c2[429],_mm256_xor_si256(c2[748],_mm256_xor_si256(c2[621],_mm256_xor_si256(c2[940],_mm256_xor_si256(c2[497],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[465],_mm256_xor_si256(c2[881],_mm256_xor_si256(c2[177],_mm256_xor_si256(c2[177],_mm256_xor_si256(c2[496],_mm256_xor_si256(c2[501],_mm256_xor_si256(c2[148],_mm256_xor_si256(c2[469],_mm256_xor_si256(c2[501],_mm256_xor_si256(c2[820],_mm256_xor_si256(c2[184],_mm256_xor_si256(c2[505],_mm256_xor_si256(c2[152],_mm256_xor_si256(c2[473],_mm256_xor_si256(c2[664],_mm256_xor_si256(c2[313],_mm256_xor_si256(c2[632],_mm256_xor_si256(c2[792],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[476],_mm256_xor_si256(c2[125],_mm256_xor_si256(c2[444],_mm256_xor_si256(c2[957],_mm256_xor_si256(c2[253],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[257],_mm256_xor_si256(c2[576],_mm256_xor_si256(c2[769],_mm256_xor_si256(c2[65],_mm256_xor_si256(c2[832],_mm256_xor_si256(c2[128],_mm256_xor_si256(c2[708],_mm256_xor_si256(c2[1029],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[485],_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[453],_mm256_xor_si256(c2[260],_mm256_xor_si256(c2[581],c2[484])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[34]=_mm256_xor_si256(c2[865],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[833],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[768],_mm256_xor_si256(c2[193],_mm256_xor_si256(c2[64],_mm256_xor_si256(c2[512],_mm256_xor_si256(c2[229],_mm256_xor_si256(c2[677],_mm256_xor_si256(c2[197],_mm256_xor_si256(c2[645],_mm256_xor_si256(c2[101],_mm256_xor_si256(c2[549],_mm256_xor_si256(c2[805],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[965],_mm256_xor_si256(c2[969],_mm256_xor_si256(c2[392],_mm256_xor_si256(c2[937],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[809],_mm256_xor_si256(c2[396],_mm256_xor_si256(c2[844],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[205],_mm256_xor_si256(c2[748],_mm256_xor_si256(c2[173],_mm256_xor_si256(c2[940],_mm256_xor_si256(c2[365],_mm256_xor_si256(c2[945],_mm256_xor_si256(c2[465],_mm256_xor_si256(c2[913],_mm256_xor_si256(c2[177],_mm256_xor_si256(c2[625],_mm256_xor_si256(c2[496],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[949],_mm256_xor_si256(c2[469],_mm256_xor_si256(c2[917],_mm256_xor_si256(c2[820],_mm256_xor_si256(c2[245],_mm256_xor_si256(c2[917],_mm256_xor_si256(c2[505],_mm256_xor_si256(c2[953],_mm256_xor_si256(c2[473],_mm256_xor_si256(c2[921],_mm256_xor_si256(c2[89],_mm256_xor_si256(c2[632],_mm256_xor_si256(c2[57],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[536],_mm256_xor_si256(c2[924],_mm256_xor_si256(c2[444],_mm256_xor_si256(c2[892],_mm256_xor_si256(c2[253],_mm256_xor_si256(c2[701],_mm256_xor_si256(c2[33],_mm256_xor_si256(c2[576],_mm256_xor_si256(c2[1024],_mm256_xor_si256(c2[65],_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[128],_mm256_xor_si256(c2[576],_mm256_xor_si256(c2[1029],_mm256_xor_si256(c2[452],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[420],_mm256_xor_si256(c2[933],_mm256_xor_si256(c2[453],_mm256_xor_si256(c2[901],_mm256_xor_si256(c2[581],c2[1029])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[36]=_mm256_xor_si256(c2[896],_mm256_xor_si256(c2[88],c2[605]));
//row: 19
d2[38]=_mm256_xor_si256(c2[32],_mm256_xor_si256(c2[992],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[736],_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[325],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[644],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[585],_mm256_xor_si256(c2[588],_mm256_xor_si256(c2[972],_mm256_xor_si256(c2[141],_mm256_xor_si256(c2[689],_mm256_xor_si256(c2[401],_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[693],_mm256_xor_si256(c2[21],_mm256_xor_si256(c2[697],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[668],_mm256_xor_si256(c2[477],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[289],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[677],c2[805]))))))))))))))))))))))))))));
//row: 20
d2[40]=_mm256_xor_si256(c2[193],_mm256_xor_si256(c2[161],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[417],_mm256_xor_si256(c2[580],_mm256_xor_si256(c2[548],_mm256_xor_si256(c2[452],_mm256_xor_si256(c2[133],_mm256_xor_si256(c2[836],_mm256_xor_si256(c2[297],_mm256_xor_si256(c2[265],_mm256_xor_si256(c2[712],_mm256_xor_si256(c2[749],_mm256_xor_si256(c2[717],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[268],_mm256_xor_si256(c2[816],_mm256_xor_si256(c2[528],_mm256_xor_si256(c2[849],_mm256_xor_si256(c2[305],_mm256_xor_si256(c2[820],_mm256_xor_si256(c2[148],_mm256_xor_si256(c2[856],_mm256_xor_si256(c2[824],_mm256_xor_si256(c2[985],_mm256_xor_si256(c2[441],_mm256_xor_si256(c2[797],_mm256_xor_si256(c2[604],_mm256_xor_si256(c2[929],_mm256_xor_si256(c2[416],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[357],_mm256_xor_si256(c2[325],_mm256_xor_si256(c2[804],c2[932]))))))))))))))))))))))))))))))))));
//row: 21
d2[42]=_mm256_xor_si256(c2[832],_mm256_xor_si256(c2[769],_mm256_xor_si256(c2[65],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[100],_mm256_xor_si256(c2[836],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[936],_mm256_xor_si256(c2[392],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[365],_mm256_xor_si256(c2[749],_mm256_xor_si256(c2[941],_mm256_xor_si256(c2[464],_mm256_xor_si256(c2[176],_mm256_xor_si256(c2[529],_mm256_xor_si256(c2[497],_mm256_xor_si256(c2[468],_mm256_xor_si256(c2[853],_mm256_xor_si256(c2[821],_mm256_xor_si256(c2[472],_mm256_xor_si256(c2[633],_mm256_xor_si256(c2[121],_mm256_xor_si256(c2[89],_mm256_xor_si256(c2[445],_mm256_xor_si256(c2[284],_mm256_xor_si256(c2[252],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[64],_mm256_xor_si256(c2[161],_mm256_xor_si256(c2[129],_mm256_xor_si256(c2[353],_mm256_xor_si256(c2[996],_mm256_xor_si256(c2[452],_mm256_xor_si256(c2[612],c2[580]))))))))))))))))))))))))))))))))))));
//row: 22
d2[44]=_mm256_xor_si256(c2[964],c2[1001]);
//row: 23
d2[46]=_mm256_xor_si256(c2[736],_mm256_xor_si256(c2[365],c2[469]));
//row: 24
d2[48]=_mm256_xor_si256(c2[453],_mm256_xor_si256(c2[360],c2[292]));
//row: 25
d2[50]=_mm256_xor_si256(c2[129],c2[916]);
//row: 26
d2[52]=_mm256_xor_si256(c2[289],_mm256_xor_si256(c2[257],_mm256_xor_si256(c2[64],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[513],_mm256_xor_si256(c2[320],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[644],_mm256_xor_si256(c2[453],_mm256_xor_si256(c2[548],_mm256_xor_si256(c2[357],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[229],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[393],_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[649],_mm256_xor_si256(c2[808],_mm256_xor_si256(c2[617],_mm256_xor_si256(c2[936],_mm256_xor_si256(c2[845],_mm256_xor_si256(c2[813],_mm256_xor_si256(c2[620],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[172],_mm256_xor_si256(c2[1004],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[173],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[912],_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[624],_mm256_xor_si256(c2[433],_mm256_xor_si256(c2[784],_mm256_xor_si256(c2[945],_mm256_xor_si256(c2[752],_mm256_xor_si256(c2[948],_mm256_xor_si256(c2[916],_mm256_xor_si256(c2[725],_mm256_xor_si256(c2[85],_mm256_xor_si256(c2[244],_mm256_xor_si256(c2[53],_mm256_xor_si256(c2[952],_mm256_xor_si256(c2[920],_mm256_xor_si256(c2[729],_mm256_xor_si256(c2[88],_mm256_xor_si256(c2[56],_mm256_xor_si256(c2[888],_mm256_xor_si256(c2[376],_mm256_xor_si256(c2[537],_mm256_xor_si256(c2[344],_mm256_xor_si256(c2[925],_mm256_xor_si256(c2[893],_mm256_xor_si256(c2[700],_mm256_xor_si256(c2[541],_mm256_xor_si256(c2[700],_mm256_xor_si256(c2[509],_mm256_xor_si256(c2[508],_mm256_xor_si256(c2[32],_mm256_xor_si256(c2[1025],_mm256_xor_si256(c2[832],_mm256_xor_si256(c2[512],_mm256_xor_si256(c2[321],_mm256_xor_si256(c2[416],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[453],_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[932],_mm256_xor_si256(c2[900],_mm256_xor_si256(c2[709],_mm256_xor_si256(c2[869],_mm256_xor_si256(c2[1028],c2[837])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[54]=_mm256_xor_si256(c2[256],c2[760]);
//row: 28
d2[56]=_mm256_xor_si256(c2[69],_mm256_xor_si256(c2[169],c2[244]));
//row: 29
d2[58]=_mm256_xor_si256(c2[576],c2[912]);
//row: 30
d2[60]=_mm256_xor_si256(c2[232],_mm256_xor_si256(c2[533],_mm256_xor_si256(c2[316],c2[676])));
//row: 31
d2[62]=_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[544],_mm256_xor_si256(c2[677],_mm256_xor_si256(c2[581],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[260],_mm256_xor_si256(c2[325],_mm256_xor_si256(c2[392],_mm256_xor_si256(c2[873],_mm256_xor_si256(c2[841],_mm256_xor_si256(c2[844],_mm256_xor_si256(c2[205],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[945],_mm256_xor_si256(c2[657],_mm256_xor_si256(c2[1008],_mm256_xor_si256(c2[976],_mm256_xor_si256(c2[949],_mm256_xor_si256(c2[309],_mm256_xor_si256(c2[277],_mm256_xor_si256(c2[953],_mm256_xor_si256(c2[89],_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[568],_mm256_xor_si256(c2[924],_mm256_xor_si256(c2[765],_mm256_xor_si256(c2[733],_mm256_xor_si256(c2[33],_mm256_xor_si256(c2[545],_mm256_xor_si256(c2[640],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[452],_mm256_xor_si256(c2[933],_mm256_xor_si256(c2[68],c2[36])))))))))))))))))))))))))))))))))));
//row: 32
d2[64]=_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[449],_mm256_xor_si256(c2[416],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[705],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[868],_mm256_xor_si256(c2[836],_mm256_xor_si256(c2[740],_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[585],_mm256_xor_si256(c2[553],_mm256_xor_si256(c2[1000],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[1005],_mm256_xor_si256(c2[396],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[556],_mm256_xor_si256(c2[113],_mm256_xor_si256(c2[81],_mm256_xor_si256(c2[816],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[117],_mm256_xor_si256(c2[85],_mm256_xor_si256(c2[436],_mm256_xor_si256(c2[405],_mm256_xor_si256(c2[121],_mm256_xor_si256(c2[89],_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[248],_mm256_xor_si256(c2[729],_mm256_xor_si256(c2[92],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[892],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[704],_mm256_xor_si256(c2[769],_mm256_xor_si256(c2[645],_mm256_xor_si256(c2[613],_mm256_xor_si256(c2[101],_mm256_xor_si256(c2[69],c2[197]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[66]=_mm256_xor_si256(c2[609],_mm256_xor_si256(c2[544],_mm256_xor_si256(c2[865],_mm256_xor_si256(c2[996],_mm256_xor_si256(c2[900],_mm256_xor_si256(c2[581],_mm256_xor_si256(c2[713],_mm256_xor_si256(c2[137],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[524],_mm256_xor_si256(c2[716],_mm256_xor_si256(c2[241],_mm256_xor_si256(c2[976],_mm256_xor_si256(c2[272],_mm256_xor_si256(c2[245],_mm256_xor_si256(c2[596],_mm256_xor_si256(c2[249],_mm256_xor_si256(c2[408],_mm256_xor_si256(c2[889],_mm256_xor_si256(c2[220],_mm256_xor_si256(c2[29],_mm256_xor_si256(c2[157],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[864],_mm256_xor_si256(c2[929],_mm256_xor_si256(c2[773],_mm256_xor_si256(c2[229],c2[357]))))))))))))))))))))))))))));
//row: 34
d2[68]=_mm256_xor_si256(c2[960],_mm256_xor_si256(c2[928],_mm256_xor_si256(c2[385],_mm256_xor_si256(c2[897],_mm256_xor_si256(c2[865],_mm256_xor_si256(c2[320],_mm256_xor_si256(c2[161],_mm256_xor_si256(c2[641],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[292],_mm256_xor_si256(c2[772],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[676],_mm256_xor_si256(c2[389],_mm256_xor_si256(c2[900],_mm256_xor_si256(c2[357],_mm256_xor_si256(c2[41],_mm256_xor_si256(c2[9],_mm256_xor_si256(c2[489],_mm256_xor_si256(c2[968],_mm256_xor_si256(c2[456],_mm256_xor_si256(c2[936],_mm256_xor_si256(c2[493],_mm256_xor_si256(c2[461],_mm256_xor_si256(c2[941],_mm256_xor_si256(c2[877],_mm256_xor_si256(c2[845],_mm256_xor_si256(c2[300],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[492],_mm256_xor_si256(c2[592],_mm256_xor_si256(c2[560],_mm256_xor_si256(c2[17],_mm256_xor_si256(c2[272],_mm256_xor_si256(c2[752],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[593],_mm256_xor_si256(c2[48],_mm256_xor_si256(c2[596],_mm256_xor_si256(c2[564],_mm256_xor_si256(c2[21],_mm256_xor_si256(c2[404],_mm256_xor_si256(c2[917],_mm256_xor_si256(c2[372],_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[568],_mm256_xor_si256(c2[25],_mm256_xor_si256(c2[761],_mm256_xor_si256(c2[729],_mm256_xor_si256(c2[184],_mm256_xor_si256(c2[697],_mm256_xor_si256(c2[185],_mm256_xor_si256(c2[665],_mm256_xor_si256(c2[573],_mm256_xor_si256(c2[541],_mm256_xor_si256(c2[1021],_mm256_xor_si256(c2[860],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[828],_mm256_xor_si256(c2[705],_mm256_xor_si256(c2[673],_mm256_xor_si256(c2[128],_mm256_xor_si256(c2[160],_mm256_xor_si256(c2[640],_mm256_xor_si256(c2[737],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[705],_mm256_xor_si256(c2[101],_mm256_xor_si256(c2[69],_mm256_xor_si256(c2[549],_mm256_xor_si256(c2[580],_mm256_xor_si256(c2[548],_mm256_xor_si256(c2[1028],_mm256_xor_si256(c2[165],_mm256_xor_si256(c2[676],c2[133]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[70]=_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[161],_mm256_xor_si256(c2[480],_mm256_xor_si256(c2[645],_mm256_xor_si256(c2[613],_mm256_xor_si256(c2[517],_mm256_xor_si256(c2[196],_mm256_xor_si256(c2[805],_mm256_xor_si256(c2[360],_mm256_xor_si256(c2[328],_mm256_xor_si256(c2[777],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[780],_mm256_xor_si256(c2[141],_mm256_xor_si256(c2[333],_mm256_xor_si256(c2[881],_mm256_xor_si256(c2[593],_mm256_xor_si256(c2[912],_mm256_xor_si256(c2[885],_mm256_xor_si256(c2[213],_mm256_xor_si256(c2[277],_mm256_xor_si256(c2[921],_mm256_xor_si256(c2[889],_mm256_xor_si256(c2[25],_mm256_xor_si256(c2[504],_mm256_xor_si256(c2[860],_mm256_xor_si256(c2[669],_mm256_xor_si256(c2[992],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[544],_mm256_xor_si256(c2[420],_mm256_xor_si256(c2[388],_mm256_xor_si256(c2[869],c2[997]))))))))))))))))))))))))))))))))));
//row: 36
d2[72]=_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[201],c2[860]));
//row: 37
d2[74]=_mm256_xor_si256(c2[97],_mm256_xor_si256(c2[992],_mm256_xor_si256(c2[32],_mm256_xor_si256(c2[929],_mm256_xor_si256(c2[353],_mm256_xor_si256(c2[225],_mm256_xor_si256(c2[484],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[388],_mm256_xor_si256(c2[260],_mm256_xor_si256(c2[996],_mm256_xor_si256(c2[69],_mm256_xor_si256(c2[964],_mm256_xor_si256(c2[201],_mm256_xor_si256(c2[73],_mm256_xor_si256(c2[552],_mm256_xor_si256(c2[648],_mm256_xor_si256(c2[520],_mm256_xor_si256(c2[653],_mm256_xor_si256(c2[525],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[909],_mm256_xor_si256(c2[204],_mm256_xor_si256(c2[76],_mm256_xor_si256(c2[752],_mm256_xor_si256(c2[624],_mm256_xor_si256(c2[464],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[689],_mm256_xor_si256(c2[785],_mm256_xor_si256(c2[657],_mm256_xor_si256(c2[756],_mm256_xor_si256(c2[628],_mm256_xor_si256(c2[1013],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[981],_mm256_xor_si256(c2[760],_mm256_xor_si256(c2[632],_mm256_xor_si256(c2[921],_mm256_xor_si256(c2[793],_mm256_xor_si256(c2[281],_mm256_xor_si256(c2[377],_mm256_xor_si256(c2[249],_mm256_xor_si256(c2[733],_mm256_xor_si256(c2[605],_mm256_xor_si256(c2[444],_mm256_xor_si256(c2[540],_mm256_xor_si256(c2[412],_mm256_xor_si256(c2[865],_mm256_xor_si256(c2[737],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[224],_mm256_xor_si256(c2[321],_mm256_xor_si256(c2[417],_mm256_xor_si256(c2[289],_mm256_xor_si256(c2[261],_mm256_xor_si256(c2[133],_mm256_xor_si256(c2[740],_mm256_xor_si256(c2[612],_mm256_xor_si256(c2[772],_mm256_xor_si256(c2[868],c2[740])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[76]=_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[449],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[705],_mm256_xor_si256(c2[868],_mm256_xor_si256(c2[836],_mm256_xor_si256(c2[740],_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[996],_mm256_xor_si256(c2[585],_mm256_xor_si256(c2[553],_mm256_xor_si256(c2[1000],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[1005],_mm256_xor_si256(c2[364],_mm256_xor_si256(c2[556],_mm256_xor_si256(c2[81],_mm256_xor_si256(c2[816],_mm256_xor_si256(c2[112],_mm256_xor_si256(c2[85],_mm256_xor_si256(c2[436],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[121],_mm256_xor_si256(c2[89],_mm256_xor_si256(c2[248],_mm256_xor_si256(c2[729],_mm256_xor_si256(c2[60],_mm256_xor_si256(c2[892],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[704],_mm256_xor_si256(c2[769],_mm256_xor_si256(c2[645],_mm256_xor_si256(c2[613],_mm256_xor_si256(c2[69],c2[197]))))))))))))))))))))))))))))))))));
//row: 39
d2[78]=_mm256_xor_si256(c2[353],_mm256_xor_si256(c2[321],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[481],_mm256_xor_si256(c2[740],_mm256_xor_si256(c2[708],_mm256_xor_si256(c2[612],_mm256_xor_si256(c2[293],_mm256_xor_si256(c2[457],_mm256_xor_si256(c2[425],_mm256_xor_si256(c2[872],_mm256_xor_si256(c2[909],_mm256_xor_si256(c2[877],_mm256_xor_si256(c2[268],_mm256_xor_si256(c2[236],_mm256_xor_si256(c2[428],_mm256_xor_si256(c2[1008],_mm256_xor_si256(c2[976],_mm256_xor_si256(c2[688],_mm256_xor_si256(c2[1009],_mm256_xor_si256(c2[1012],_mm256_xor_si256(c2[980],_mm256_xor_si256(c2[308],_mm256_xor_si256(c2[1016],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[152],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[989],_mm256_xor_si256(c2[957],_mm256_xor_si256(c2[764],_mm256_xor_si256(c2[413],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[64],_mm256_xor_si256(c2[576],_mm256_xor_si256(c2[641],_mm256_xor_si256(c2[517],_mm256_xor_si256(c2[485],_mm256_xor_si256(c2[996],_mm256_xor_si256(c2[964],c2[69]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[80]=_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[545],_mm256_xor_si256(c2[960],_mm256_xor_si256(c2[864],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[389],_mm256_xor_si256(c2[901],_mm256_xor_si256(c2[293],_mm256_xor_si256(c2[4],_mm256_xor_si256(c2[580],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[712],_mm256_xor_si256(c2[104],_mm256_xor_si256(c2[585],_mm256_xor_si256(c2[136],_mm256_xor_si256(c2[553],_mm256_xor_si256(c2[8],_mm256_xor_si256(c2[141],_mm256_xor_si256(c2[556],_mm256_xor_si256(c2[525],_mm256_xor_si256(c2[940],_mm256_xor_si256(c2[717],_mm256_xor_si256(c2[109],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[657],_mm256_xor_si256(c2[977],_mm256_xor_si256(c2[369],_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[273],_mm256_xor_si256(c2[688],_mm256_xor_si256(c2[244],_mm256_xor_si256(c2[661],_mm256_xor_si256(c2[21],_mm256_xor_si256(c2[597],_mm256_xor_si256(c2[1012],_mm256_xor_si256(c2[248],_mm256_xor_si256(c2[665],_mm256_xor_si256(c2[409],_mm256_xor_si256(c2[824],_mm256_xor_si256(c2[312],_mm256_xor_si256(c2[888],_mm256_xor_si256(c2[280],_mm256_xor_si256(c2[221],_mm256_xor_si256(c2[636],_mm256_xor_si256(c2[477],_mm256_xor_si256(c2[28],_mm256_xor_si256(c2[445],_mm256_xor_si256(c2[353],_mm256_xor_si256(c2[768],_mm256_xor_si256(c2[865],_mm256_xor_si256(c2[257],_mm256_xor_si256(c2[352],_mm256_xor_si256(c2[928],_mm256_xor_si256(c2[320],_mm256_xor_si256(c2[772],_mm256_xor_si256(c2[164],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[645],_mm256_xor_si256(c2[805],_mm256_xor_si256(c2[356],c2[773]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[82]=_mm256_xor_si256(c2[993],_mm256_xor_si256(c2[961],_mm256_xor_si256(c2[896],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[357],_mm256_xor_si256(c2[325],_mm256_xor_si256(c2[229],_mm256_xor_si256(c2[933],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[40],_mm256_xor_si256(c2[489],_mm256_xor_si256(c2[524],_mm256_xor_si256(c2[492],_mm256_xor_si256(c2[876],_mm256_xor_si256(c2[45],_mm256_xor_si256(c2[593],_mm256_xor_si256(c2[305],_mm256_xor_si256(c2[624],_mm256_xor_si256(c2[597],_mm256_xor_si256(c2[948],_mm256_xor_si256(c2[181],_mm256_xor_si256(c2[633],_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[760],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[572],_mm256_xor_si256(c2[381],_mm256_xor_si256(c2[704],_mm256_xor_si256(c2[193],_mm256_xor_si256(c2[256],_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[100],_mm256_xor_si256(c2[581],c2[709]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=72, byte encoding
static inline void ldpc_BG2_Zc72_byte(uint8_t *c,uint8_t *d) {
__m64 *csimd=(__m64 *)c,*dsimd=(__m64 *)d;
__m64 *c2,*d2;
int i2;
for (i2=0; i2<9; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm_xor_si64(c2[360],_mm_xor_si64(c2[362],_mm_xor_si64(c2[1082],_mm_xor_si64(c2[201],_mm_xor_si64(c2[202],_mm_xor_si64(c2[1283],_mm_xor_si64(c2[762],_mm_xor_si64(c2[42],_mm_xor_si64(c2[418],_mm_xor_si64(c2[956],_mm_xor_si64(c2[596],_mm_xor_si64(c2[1335],_mm_xor_si64(c2[976],_mm_xor_si64(c2[974],_mm_xor_si64(c2[278],_mm_xor_si64(c2[630],_mm_xor_si64(c2[473],_mm_xor_si64(c2[649],_mm_xor_si64(c2[108],_mm_xor_si64(c2[309],_mm_xor_si64(c2[132],_mm_xor_si64(c2[872],_mm_xor_si64(c2[1228],_mm_xor_si64(c2[1410],_mm_xor_si64(c2[1248],_mm_xor_si64(c2[348],c2[1242]))))))))))))))))))))))))));
//row: 1
d2[9]=_mm_xor_si64(c2[540],_mm_xor_si64(c2[360],_mm_xor_si64(c2[362],_mm_xor_si64(c2[1082],_mm_xor_si64(c2[381],_mm_xor_si64(c2[201],_mm_xor_si64(c2[202],_mm_xor_si64(c2[1283],_mm_xor_si64(c2[942],_mm_xor_si64(c2[762],_mm_xor_si64(c2[42],_mm_xor_si64(c2[598],_mm_xor_si64(c2[418],_mm_xor_si64(c2[956],_mm_xor_si64(c2[596],_mm_xor_si64(c2[1335],_mm_xor_si64(c2[976],_mm_xor_si64(c2[974],_mm_xor_si64(c2[278],_mm_xor_si64(c2[630],_mm_xor_si64(c2[653],_mm_xor_si64(c2[473],_mm_xor_si64(c2[649],_mm_xor_si64(c2[108],_mm_xor_si64(c2[309],_mm_xor_si64(c2[132],_mm_xor_si64(c2[872],_mm_xor_si64(c2[1228],_mm_xor_si64(c2[1410],_mm_xor_si64(c2[1428],_mm_xor_si64(c2[1248],_mm_xor_si64(c2[348],c2[1242]))))))))))))))))))))))))))))))));
//row: 2
d2[18]=_mm_xor_si64(c2[540],_mm_xor_si64(c2[360],_mm_xor_si64(c2[542],_mm_xor_si64(c2[362],_mm_xor_si64(c2[1082],_mm_xor_si64(c2[381],_mm_xor_si64(c2[201],_mm_xor_si64(c2[202],_mm_xor_si64(c2[1283],_mm_xor_si64(c2[942],_mm_xor_si64(c2[762],_mm_xor_si64(c2[42],_mm_xor_si64(c2[598],_mm_xor_si64(c2[418],_mm_xor_si64(c2[1136],_mm_xor_si64(c2[956],_mm_xor_si64(c2[596],_mm_xor_si64(c2[76],_mm_xor_si64(c2[1335],_mm_xor_si64(c2[976],_mm_xor_si64(c2[974],_mm_xor_si64(c2[458],_mm_xor_si64(c2[278],_mm_xor_si64(c2[630],_mm_xor_si64(c2[653],_mm_xor_si64(c2[473],_mm_xor_si64(c2[829],_mm_xor_si64(c2[649],_mm_xor_si64(c2[108],_mm_xor_si64(c2[489],_mm_xor_si64(c2[309],_mm_xor_si64(c2[132],_mm_xor_si64(c2[1052],_mm_xor_si64(c2[872],_mm_xor_si64(c2[1228],_mm_xor_si64(c2[1410],_mm_xor_si64(c2[1428],_mm_xor_si64(c2[1248],_mm_xor_si64(c2[528],_mm_xor_si64(c2[348],c2[1242]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[27]=_mm_xor_si64(c2[360],_mm_xor_si64(c2[362],_mm_xor_si64(c2[1082],_mm_xor_si64(c2[201],_mm_xor_si64(c2[202],_mm_xor_si64(c2[24],_mm_xor_si64(c2[1283],_mm_xor_si64(c2[762],_mm_xor_si64(c2[222],_mm_xor_si64(c2[42],_mm_xor_si64(c2[418],_mm_xor_si64(c2[956],_mm_xor_si64(c2[596],_mm_xor_si64(c2[1335],_mm_xor_si64(c2[976],_mm_xor_si64(c2[1154],_mm_xor_si64(c2[974],_mm_xor_si64(c2[278],_mm_xor_si64(c2[810],_mm_xor_si64(c2[630],_mm_xor_si64(c2[473],_mm_xor_si64(c2[649],_mm_xor_si64(c2[288],_mm_xor_si64(c2[108],_mm_xor_si64(c2[309],_mm_xor_si64(c2[312],_mm_xor_si64(c2[132],_mm_xor_si64(c2[872],_mm_xor_si64(c2[1228],_mm_xor_si64(c2[151],_mm_xor_si64(c2[1410],_mm_xor_si64(c2[1248],_mm_xor_si64(c2[348],_mm_xor_si64(c2[1422],c2[1242]))))))))))))))))))))))))))))))))));
//row: 4
d2[36]=_mm_xor_si64(c2[1086],_mm_xor_si64(c2[906],_mm_xor_si64(c2[908],_mm_xor_si64(c2[180],_mm_xor_si64(c2[365],_mm_xor_si64(c2[918],_mm_xor_si64(c2[738],_mm_xor_si64(c2[739],_mm_xor_si64(c2[381],_mm_xor_si64(c2[21],_mm_xor_si64(c2[40],_mm_xor_si64(c2[1299],_mm_xor_si64(c2[579],_mm_xor_si64(c2[1135],_mm_xor_si64(c2[955],_mm_xor_si64(c2[54],_mm_xor_si64(c2[1142],_mm_xor_si64(c2[433],_mm_xor_si64(c2[74],_mm_xor_si64(c2[72],_mm_xor_si64(c2[815],_mm_xor_si64(c2[1176],_mm_xor_si64(c2[1190],_mm_xor_si64(c2[1010],_mm_xor_si64(c2[1195],_mm_xor_si64(c2[654],_mm_xor_si64(c2[846],_mm_xor_si64(c2[669],_mm_xor_si64(c2[1409],_mm_xor_si64(c2[326],_mm_xor_si64(c2[508],_mm_xor_si64(c2[526],_mm_xor_si64(c2[346],_mm_xor_si64(c2[885],c2[349]))))))))))))))))))))))))))))))))));
//row: 5
d2[45]=_mm_xor_si64(c2[360],_mm_xor_si64(c2[180],_mm_xor_si64(c2[182],_mm_xor_si64(c2[902],_mm_xor_si64(c2[5],_mm_xor_si64(c2[201],_mm_xor_si64(c2[21],_mm_xor_si64(c2[22],_mm_xor_si64(c2[1103],_mm_xor_si64(c2[746],_mm_xor_si64(c2[762],_mm_xor_si64(c2[582],_mm_xor_si64(c2[1301],_mm_xor_si64(c2[418],_mm_xor_si64(c2[238],_mm_xor_si64(c2[776],_mm_xor_si64(c2[416],_mm_xor_si64(c2[1155],_mm_xor_si64(c2[796],_mm_xor_si64(c2[794],_mm_xor_si64(c2[98],_mm_xor_si64(c2[450],_mm_xor_si64(c2[811],_mm_xor_si64(c2[473],_mm_xor_si64(c2[293],_mm_xor_si64(c2[469],_mm_xor_si64(c2[1376],_mm_xor_si64(c2[129],_mm_xor_si64(c2[1391],_mm_xor_si64(c2[314],_mm_xor_si64(c2[692],_mm_xor_si64(c2[1048],_mm_xor_si64(c2[1230],_mm_xor_si64(c2[1248],_mm_xor_si64(c2[1068],_mm_xor_si64(c2[168],c2[1062]))))))))))))))))))))))))))))))))))));
//row: 6
d2[54]=_mm_xor_si64(c2[1088],_mm_xor_si64(c2[908],_mm_xor_si64(c2[901],_mm_xor_si64(c2[182],_mm_xor_si64(c2[904],_mm_xor_si64(c2[920],_mm_xor_si64(c2[740],_mm_xor_si64(c2[741],_mm_xor_si64(c2[383],_mm_xor_si64(c2[42],_mm_xor_si64(c2[1301],_mm_xor_si64(c2[581],_mm_xor_si64(c2[1137],_mm_xor_si64(c2[957],_mm_xor_si64(c2[56],_mm_xor_si64(c2[1135],_mm_xor_si64(c2[435],_mm_xor_si64(c2[76],_mm_xor_si64(c2[74],_mm_xor_si64(c2[817],_mm_xor_si64(c2[1178],_mm_xor_si64(c2[1351],_mm_xor_si64(c2[1192],_mm_xor_si64(c2[1012],_mm_xor_si64(c2[1188],_mm_xor_si64(c2[656],_mm_xor_si64(c2[848],_mm_xor_si64(c2[671],_mm_xor_si64(c2[670],_mm_xor_si64(c2[1411],_mm_xor_si64(c2[328],_mm_xor_si64(c2[510],_mm_xor_si64(c2[528],_mm_xor_si64(c2[348],_mm_xor_si64(c2[887],_mm_xor_si64(c2[342],c2[1069]))))))))))))))))))))))))))))))))))));
//row: 7
d2[63]=_mm_xor_si64(c2[1264],_mm_xor_si64(c2[1084],_mm_xor_si64(c2[548],_mm_xor_si64(c2[1086],_mm_xor_si64(c2[541],_mm_xor_si64(c2[367],_mm_xor_si64(c2[1261],_mm_xor_si64(c2[1105],_mm_xor_si64(c2[925],_mm_xor_si64(c2[380],_mm_xor_si64(c2[926],_mm_xor_si64(c2[381],_mm_xor_si64(c2[559],_mm_xor_si64(c2[203],_mm_xor_si64(c2[23],_mm_xor_si64(c2[201],_mm_xor_si64(c2[218],_mm_xor_si64(c2[38],_mm_xor_si64(c2[941],_mm_xor_si64(c2[757],_mm_xor_si64(c2[401],_mm_xor_si64(c2[221],_mm_xor_si64(c2[1322],_mm_xor_si64(c2[1142],_mm_xor_si64(c2[597],_mm_xor_si64(c2[241],_mm_xor_si64(c2[1135],_mm_xor_si64(c2[1320],_mm_xor_si64(c2[775],_mm_xor_si64(c2[620],_mm_xor_si64(c2[75],_mm_xor_si64(c2[252],_mm_xor_si64(c2[1155],_mm_xor_si64(c2[259],_mm_xor_si64(c2[1333],_mm_xor_si64(c2[1153],_mm_xor_si64(c2[993],_mm_xor_si64(c2[457],_mm_xor_si64(c2[1354],_mm_xor_si64(c2[998],_mm_xor_si64(c2[818],_mm_xor_si64(c2[1357],_mm_xor_si64(c2[1368],_mm_xor_si64(c2[1188],_mm_xor_si64(c2[652],_mm_xor_si64(c2[1373],_mm_xor_si64(c2[828],_mm_xor_si64(c2[832],_mm_xor_si64(c2[476],_mm_xor_si64(c2[296],_mm_xor_si64(c2[1033],_mm_xor_si64(c2[488],_mm_xor_si64(c2[847],_mm_xor_si64(c2[491],_mm_xor_si64(c2[311],_mm_xor_si64(c2[670],_mm_xor_si64(c2[148],_mm_xor_si64(c2[1051],_mm_xor_si64(c2[504],_mm_xor_si64(c2[1407],_mm_xor_si64(c2[686],_mm_xor_si64(c2[330],_mm_xor_si64(c2[150],_mm_xor_si64(c2[704],_mm_xor_si64(c2[524],_mm_xor_si64(c2[1427],_mm_xor_si64(c2[1063],_mm_xor_si64(c2[527],_mm_xor_si64(c2[527],_mm_xor_si64(c2[162],c2[1430]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[72]=_mm_xor_si64(c2[542],_mm_xor_si64(c2[362],_mm_xor_si64(c2[544],_mm_xor_si64(c2[364],_mm_xor_si64(c2[1084],_mm_xor_si64(c2[1088],_mm_xor_si64(c2[383],_mm_xor_si64(c2[203],_mm_xor_si64(c2[204],_mm_xor_si64(c2[1285],_mm_xor_si64(c2[926],_mm_xor_si64(c2[944],_mm_xor_si64(c2[764],_mm_xor_si64(c2[44],_mm_xor_si64(c2[600],_mm_xor_si64(c2[420],_mm_xor_si64(c2[1138],_mm_xor_si64(c2[958],_mm_xor_si64(c2[598],_mm_xor_si64(c2[78],_mm_xor_si64(c2[1337],_mm_xor_si64(c2[978],_mm_xor_si64(c2[976],_mm_xor_si64(c2[451],_mm_xor_si64(c2[271],_mm_xor_si64(c2[632],_mm_xor_si64(c2[655],_mm_xor_si64(c2[475],_mm_xor_si64(c2[831],_mm_xor_si64(c2[651],_mm_xor_si64(c2[110],_mm_xor_si64(c2[491],_mm_xor_si64(c2[311],_mm_xor_si64(c2[134],_mm_xor_si64(c2[1045],_mm_xor_si64(c2[865],_mm_xor_si64(c2[1230],_mm_xor_si64(c2[1412],_mm_xor_si64(c2[1430],_mm_xor_si64(c2[1250],_mm_xor_si64(c2[530],_mm_xor_si64(c2[350],c2[1244]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[81]=_mm_xor_si64(c2[363],_mm_xor_si64(c2[726],_mm_xor_si64(c2[546],_mm_xor_si64(c2[365],_mm_xor_si64(c2[548],_mm_xor_si64(c2[1085],_mm_xor_si64(c2[1268],_mm_xor_si64(c2[204],_mm_xor_si64(c2[558],_mm_xor_si64(c2[378],_mm_xor_si64(c2[205],_mm_xor_si64(c2[379],_mm_xor_si64(c2[1286],_mm_xor_si64(c2[21],_mm_xor_si64(c2[201],_mm_xor_si64(c2[756],_mm_xor_si64(c2[1119],_mm_xor_si64(c2[939],_mm_xor_si64(c2[36],_mm_xor_si64(c2[219],_mm_xor_si64(c2[421],_mm_xor_si64(c2[775],_mm_xor_si64(c2[595],_mm_xor_si64(c2[959],_mm_xor_si64(c2[1142],_mm_xor_si64(c2[599],_mm_xor_si64(c2[782],_mm_xor_si64(c2[1338],_mm_xor_si64(c2[73],_mm_xor_si64(c2[979],_mm_xor_si64(c2[1153],_mm_xor_si64(c2[977],_mm_xor_si64(c2[1160],_mm_xor_si64(c2[272],_mm_xor_si64(c2[455],_mm_xor_si64(c2[633],_mm_xor_si64(c2[816],_mm_xor_si64(c2[476],_mm_xor_si64(c2[830],_mm_xor_si64(c2[650],_mm_xor_si64(c2[652],_mm_xor_si64(c2[835],_mm_xor_si64(c2[111],_mm_xor_si64(c2[294],_mm_xor_si64(c2[312],_mm_xor_si64(c2[486],_mm_xor_si64(c2[126],_mm_xor_si64(c2[309],_mm_xor_si64(c2[866],_mm_xor_si64(c2[1049],_mm_xor_si64(c2[1231],_mm_xor_si64(c2[1405],_mm_xor_si64(c2[1404],_mm_xor_si64(c2[148],_mm_xor_si64(c2[149],_mm_xor_si64(c2[1242],_mm_xor_si64(c2[166],_mm_xor_si64(c2[1425],_mm_xor_si64(c2[342],_mm_xor_si64(c2[525],_mm_xor_si64(c2[1245],c2[1428])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[90]=_mm_xor_si64(c2[1085],_mm_xor_si64(c2[203],_mm_xor_si64(c2[1011],c2[129])));
//row: 11
d2[99]=_mm_xor_si64(c2[368],_mm_xor_si64(c2[361],_mm_xor_si64(c2[1081],_mm_xor_si64(c2[723],_mm_xor_si64(c2[200],_mm_xor_si64(c2[201],_mm_xor_si64(c2[23],_mm_xor_si64(c2[1282],_mm_xor_si64(c2[761],_mm_xor_si64(c2[221],_mm_xor_si64(c2[41],_mm_xor_si64(c2[417],_mm_xor_si64(c2[955],_mm_xor_si64(c2[595],_mm_xor_si64(c2[1334],_mm_xor_si64(c2[975],_mm_xor_si64(c2[1153],_mm_xor_si64(c2[973],_mm_xor_si64(c2[277],_mm_xor_si64(c2[818],_mm_xor_si64(c2[638],_mm_xor_si64(c2[472],_mm_xor_si64(c2[648],_mm_xor_si64(c2[296],_mm_xor_si64(c2[116],_mm_xor_si64(c2[308],_mm_xor_si64(c2[311],_mm_xor_si64(c2[131],_mm_xor_si64(c2[1209],_mm_xor_si64(c2[871],_mm_xor_si64(c2[1227],_mm_xor_si64(c2[150],_mm_xor_si64(c2[1409],_mm_xor_si64(c2[1247],_mm_xor_si64(c2[347],_mm_xor_si64(c2[1430],_mm_xor_si64(c2[1250],c2[887])))))))))))))))))))))))))))))))))))));
//row: 12
d2[108]=_mm_xor_si64(c2[1087],_mm_xor_si64(c2[907],_mm_xor_si64(c2[900],_mm_xor_si64(c2[181],_mm_xor_si64(c2[919],_mm_xor_si64(c2[739],_mm_xor_si64(c2[740],_mm_xor_si64(c2[382],_mm_xor_si64(c2[202],_mm_xor_si64(c2[41],_mm_xor_si64(c2[1300],_mm_xor_si64(c2[580],_mm_xor_si64(c2[1136],_mm_xor_si64(c2[956],_mm_xor_si64(c2[55],_mm_xor_si64(c2[1134],_mm_xor_si64(c2[420],_mm_xor_si64(c2[434],_mm_xor_si64(c2[75],_mm_xor_si64(c2[73],_mm_xor_si64(c2[816],_mm_xor_si64(c2[1177],_mm_xor_si64(c2[1191],_mm_xor_si64(c2[1011],_mm_xor_si64(c2[1196],_mm_xor_si64(c2[655],_mm_xor_si64(c2[847],_mm_xor_si64(c2[670],_mm_xor_si64(c2[1410],_mm_xor_si64(c2[327],_mm_xor_si64(c2[509],_mm_xor_si64(c2[527],_mm_xor_si64(c2[347],_mm_xor_si64(c2[886],c2[350]))))))))))))))))))))))))))))))))));
//row: 13
d2[117]=_mm_xor_si64(c2[186],_mm_xor_si64(c2[188],_mm_xor_si64(c2[908],_mm_xor_si64(c2[720],_mm_xor_si64(c2[18],_mm_xor_si64(c2[19],_mm_xor_si64(c2[1280],_mm_xor_si64(c2[1100],_mm_xor_si64(c2[922],_mm_xor_si64(c2[579],_mm_xor_si64(c2[39],_mm_xor_si64(c2[1298],_mm_xor_si64(c2[235],_mm_xor_si64(c2[782],_mm_xor_si64(c2[422],_mm_xor_si64(c2[1152],_mm_xor_si64(c2[793],_mm_xor_si64(c2[980],_mm_xor_si64(c2[800],_mm_xor_si64(c2[95],_mm_xor_si64(c2[636],_mm_xor_si64(c2[456],_mm_xor_si64(c2[290],_mm_xor_si64(c2[475],_mm_xor_si64(c2[114],_mm_xor_si64(c2[1373],_mm_xor_si64(c2[126],_mm_xor_si64(c2[129],_mm_xor_si64(c2[1388],_mm_xor_si64(c2[689],_mm_xor_si64(c2[1045],_mm_xor_si64(c2[1407],_mm_xor_si64(c2[1227],_mm_xor_si64(c2[1231],_mm_xor_si64(c2[1065],_mm_xor_si64(c2[165],_mm_xor_si64(c2[1248],c2[1068])))))))))))))))))))))))))))))))))))));
//row: 14
d2[126]=_mm_xor_si64(c2[907],_mm_xor_si64(c2[727],_mm_xor_si64(c2[543],_mm_xor_si64(c2[720],_mm_xor_si64(c2[545],_mm_xor_si64(c2[1],_mm_xor_si64(c2[1265],_mm_xor_si64(c2[739],_mm_xor_si64(c2[559],_mm_xor_si64(c2[384],_mm_xor_si64(c2[560],_mm_xor_si64(c2[385],_mm_xor_si64(c2[202],_mm_xor_si64(c2[198],_mm_xor_si64(c2[18],_mm_xor_si64(c2[1286],_mm_xor_si64(c2[1300],_mm_xor_si64(c2[1120],_mm_xor_si64(c2[936],_mm_xor_si64(c2[400],_mm_xor_si64(c2[396],_mm_xor_si64(c2[216],_mm_xor_si64(c2[956],_mm_xor_si64(c2[776],_mm_xor_si64(c2[601],_mm_xor_si64(c2[1314],_mm_xor_si64(c2[1139],_mm_xor_si64(c2[954],_mm_xor_si64(c2[779],_mm_xor_si64(c2[254],_mm_xor_si64(c2[79],_mm_xor_si64(c2[1334],_mm_xor_si64(c2[1159],_mm_xor_si64(c2[1332],_mm_xor_si64(c2[1337],_mm_xor_si64(c2[1157],_mm_xor_si64(c2[636],_mm_xor_si64(c2[452],_mm_xor_si64(c2[997],_mm_xor_si64(c2[993],_mm_xor_si64(c2[813],_mm_xor_si64(c2[1011],_mm_xor_si64(c2[831],_mm_xor_si64(c2[656],_mm_xor_si64(c2[1016],_mm_xor_si64(c2[832],_mm_xor_si64(c2[475],_mm_xor_si64(c2[471],_mm_xor_si64(c2[291],_mm_xor_si64(c2[654],_mm_xor_si64(c2[667],_mm_xor_si64(c2[492],_mm_xor_si64(c2[490],_mm_xor_si64(c2[486],_mm_xor_si64(c2[306],_mm_xor_si64(c2[1230],_mm_xor_si64(c2[1046],_mm_xor_si64(c2[147],_mm_xor_si64(c2[1411],_mm_xor_si64(c2[329],_mm_xor_si64(c2[325],_mm_xor_si64(c2[145],_mm_xor_si64(c2[347],_mm_xor_si64(c2[167],_mm_xor_si64(c2[1422],_mm_xor_si64(c2[706],_mm_xor_si64(c2[522],_mm_xor_si64(c2[170],_mm_xor_si64(c2[166],c2[1425])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[135]=_mm_xor_si64(c2[363],_mm_xor_si64(c2[547],_mm_xor_si64(c2[367],_mm_xor_si64(c2[365],_mm_xor_si64(c2[360],_mm_xor_si64(c2[1085],_mm_xor_si64(c2[1080],_mm_xor_si64(c2[548],_mm_xor_si64(c2[204],_mm_xor_si64(c2[379],_mm_xor_si64(c2[199],_mm_xor_si64(c2[205],_mm_xor_si64(c2[200],_mm_xor_si64(c2[1286],_mm_xor_si64(c2[1281],_mm_xor_si64(c2[756],_mm_xor_si64(c2[940],_mm_xor_si64(c2[760],_mm_xor_si64(c2[36],_mm_xor_si64(c2[40],_mm_xor_si64(c2[421],_mm_xor_si64(c2[596],_mm_xor_si64(c2[416],_mm_xor_si64(c2[959],_mm_xor_si64(c2[954],_mm_xor_si64(c2[599],_mm_xor_si64(c2[594],_mm_xor_si64(c2[1338],_mm_xor_si64(c2[1333],_mm_xor_si64(c2[979],_mm_xor_si64(c2[974],_mm_xor_si64(c2[977],_mm_xor_si64(c2[972],_mm_xor_si64(c2[272],_mm_xor_si64(c2[276],_mm_xor_si64(c2[633],_mm_xor_si64(c2[637],_mm_xor_si64(c2[476],_mm_xor_si64(c2[651],_mm_xor_si64(c2[471],_mm_xor_si64(c2[652],_mm_xor_si64(c2[656],_mm_xor_si64(c2[111],_mm_xor_si64(c2[115],_mm_xor_si64(c2[312],_mm_xor_si64(c2[307],_mm_xor_si64(c2[126],_mm_xor_si64(c2[130],_mm_xor_si64(c2[866],_mm_xor_si64(c2[870],_mm_xor_si64(c2[1231],_mm_xor_si64(c2[1226],_mm_xor_si64(c2[1404],_mm_xor_si64(c2[1408],_mm_xor_si64(c2[1242],_mm_xor_si64(c2[1426],_mm_xor_si64(c2[1246],_mm_xor_si64(c2[342],_mm_xor_si64(c2[346],_mm_xor_si64(c2[1245],c2[1249]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[144]=_mm_xor_si64(c2[1263],_mm_xor_si64(c2[1083],_mm_xor_si64(c2[541],_mm_xor_si64(c2[361],_mm_xor_si64(c2[1085],_mm_xor_si64(c2[543],_mm_xor_si64(c2[363],_mm_xor_si64(c2[366],_mm_xor_si64(c2[1083],_mm_xor_si64(c2[1104],_mm_xor_si64(c2[924],_mm_xor_si64(c2[382],_mm_xor_si64(c2[202],_mm_xor_si64(c2[925],_mm_xor_si64(c2[203],_mm_xor_si64(c2[558],_mm_xor_si64(c2[1284],_mm_xor_si64(c2[24],_mm_xor_si64(c2[217],_mm_xor_si64(c2[37],_mm_xor_si64(c2[943],_mm_xor_si64(c2[763],_mm_xor_si64(c2[756],_mm_xor_si64(c2[43],_mm_xor_si64(c2[1321],_mm_xor_si64(c2[1141],_mm_xor_si64(c2[599],_mm_xor_si64(c2[419],_mm_xor_si64(c2[240],_mm_xor_si64(c2[1137],_mm_xor_si64(c2[957],_mm_xor_si64(c2[1319],_mm_xor_si64(c2[597],_mm_xor_si64(c2[619],_mm_xor_si64(c2[77],_mm_xor_si64(c2[1336],_mm_xor_si64(c2[260],_mm_xor_si64(c2[977],_mm_xor_si64(c2[258],_mm_xor_si64(c2[975],_mm_xor_si64(c2[992],_mm_xor_si64(c2[450],_mm_xor_si64(c2[270],_mm_xor_si64(c2[1353],_mm_xor_si64(c2[631],_mm_xor_si64(c2[1376],_mm_xor_si64(c2[1196],_mm_xor_si64(c2[654],_mm_xor_si64(c2[474],_mm_xor_si64(c2[1372],_mm_xor_si64(c2[830],_mm_xor_si64(c2[650],_mm_xor_si64(c2[831],_mm_xor_si64(c2[109],_mm_xor_si64(c2[1032],_mm_xor_si64(c2[490],_mm_xor_si64(c2[310],_mm_xor_si64(c2[846],_mm_xor_si64(c2[133],_mm_xor_si64(c2[147],_mm_xor_si64(c2[1044],_mm_xor_si64(c2[864],_mm_xor_si64(c2[512],_mm_xor_si64(c2[1229],_mm_xor_si64(c2[685],_mm_xor_si64(c2[1411],_mm_xor_si64(c2[703],_mm_xor_si64(c2[523],_mm_xor_si64(c2[1429],_mm_xor_si64(c2[1249],_mm_xor_si64(c2[1062],_mm_xor_si64(c2[529],_mm_xor_si64(c2[349],_mm_xor_si64(c2[526],_mm_xor_si64(c2[1243],c2[343])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[153]=_mm_xor_si64(c2[728],_mm_xor_si64(c2[548],_mm_xor_si64(c2[905],_mm_xor_si64(c2[725],_mm_xor_si64(c2[541],_mm_xor_si64(c2[907],_mm_xor_si64(c2[727],_mm_xor_si64(c2[1261],_mm_xor_si64(c2[8],_mm_xor_si64(c2[560],_mm_xor_si64(c2[380],_mm_xor_si64(c2[746],_mm_xor_si64(c2[566],_mm_xor_si64(c2[381],_mm_xor_si64(c2[558],_mm_xor_si64(c2[23],_mm_xor_si64(c2[200],_mm_xor_si64(c2[24],_mm_xor_si64(c2[1121],_mm_xor_si64(c2[941],_mm_xor_si64(c2[1298],_mm_xor_si64(c2[1118],_mm_xor_si64(c2[221],_mm_xor_si64(c2[398],_mm_xor_si64(c2[777],_mm_xor_si64(c2[597],_mm_xor_si64(c2[954],_mm_xor_si64(c2[774],_mm_xor_si64(c2[1135],_mm_xor_si64(c2[62],_mm_xor_si64(c2[1321],_mm_xor_si64(c2[775],_mm_xor_si64(c2[961],_mm_xor_si64(c2[75],_mm_xor_si64(c2[432],_mm_xor_si64(c2[252],_mm_xor_si64(c2[1155],_mm_xor_si64(c2[1332],_mm_xor_si64(c2[1153],_mm_xor_si64(c2[1339],_mm_xor_si64(c2[457],_mm_xor_si64(c2[814],_mm_xor_si64(c2[634],_mm_xor_si64(c2[818],_mm_xor_si64(c2[995],_mm_xor_si64(c2[635],_mm_xor_si64(c2[832],_mm_xor_si64(c2[652],_mm_xor_si64(c2[1009],_mm_xor_si64(c2[829],_mm_xor_si64(c2[828],_mm_xor_si64(c2[1194],_mm_xor_si64(c2[1014],_mm_xor_si64(c2[296],_mm_xor_si64(c2[473],_mm_xor_si64(c2[488],_mm_xor_si64(c2[854],_mm_xor_si64(c2[674],_mm_xor_si64(c2[311],_mm_xor_si64(c2[488],_mm_xor_si64(c2[1051],_mm_xor_si64(c2[1408],_mm_xor_si64(c2[1228],_mm_xor_si64(c2[1407],_mm_xor_si64(c2[145],_mm_xor_si64(c2[150],_mm_xor_si64(c2[327],_mm_xor_si64(c2[168],_mm_xor_si64(c2[1427],_mm_xor_si64(c2[345],_mm_xor_si64(c2[165],_mm_xor_si64(c2[527],_mm_xor_si64(c2[884],_mm_xor_si64(c2[704],_mm_xor_si64(c2[1430],c2[168])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[162]=_mm_xor_si64(c2[182],_mm_xor_si64(c2[472],c2[1214]));
//row: 19
d2[171]=_mm_xor_si64(c2[545],_mm_xor_si64(c2[547],_mm_xor_si64(c2[1267],_mm_xor_si64(c2[1260],_mm_xor_si64(c2[386],_mm_xor_si64(c2[378],_mm_xor_si64(c2[20],_mm_xor_si64(c2[741],_mm_xor_si64(c2[938],_mm_xor_si64(c2[218],_mm_xor_si64(c2[594],_mm_xor_si64(c2[1141],_mm_xor_si64(c2[781],_mm_xor_si64(c2[72],_mm_xor_si64(c2[1152],_mm_xor_si64(c2[1159],_mm_xor_si64(c2[454],_mm_xor_si64(c2[815],_mm_xor_si64(c2[649],_mm_xor_si64(c2[834],_mm_xor_si64(c2[293],_mm_xor_si64(c2[494],_mm_xor_si64(c2[308],_mm_xor_si64(c2[1048],_mm_xor_si64(c2[1404],_mm_xor_si64(c2[147],_mm_xor_si64(c2[1424],_mm_xor_si64(c2[524],c2[1427]))))))))))))))))))))))))))));
//row: 20
d2[180]=_mm_xor_si64(c2[181],_mm_xor_si64(c2[1],_mm_xor_si64(c2[3],_mm_xor_si64(c2[723],_mm_xor_si64(c2[22],_mm_xor_si64(c2[1281],_mm_xor_si64(c2[1282],_mm_xor_si64(c2[924],_mm_xor_si64(c2[378],_mm_xor_si64(c2[583],_mm_xor_si64(c2[403],_mm_xor_si64(c2[1122],_mm_xor_si64(c2[239],_mm_xor_si64(c2[59],_mm_xor_si64(c2[597],_mm_xor_si64(c2[237],_mm_xor_si64(c2[976],_mm_xor_si64(c2[617],_mm_xor_si64(c2[615],_mm_xor_si64(c2[1335],_mm_xor_si64(c2[1358],_mm_xor_si64(c2[271],_mm_xor_si64(c2[294],_mm_xor_si64(c2[114],_mm_xor_si64(c2[290],_mm_xor_si64(c2[1188],_mm_xor_si64(c2[1389],_mm_xor_si64(c2[1212],_mm_xor_si64(c2[504],_mm_xor_si64(c2[869],_mm_xor_si64(c2[1051],_mm_xor_si64(c2[1069],_mm_xor_si64(c2[889],_mm_xor_si64(c2[1428],c2[883]))))))))))))))))))))))))))))))))));
//row: 21
d2[189]=_mm_xor_si64(c2[541],_mm_xor_si64(c2[543],_mm_xor_si64(c2[1263],_mm_xor_si64(c2[542],_mm_xor_si64(c2[382],_mm_xor_si64(c2[383],_mm_xor_si64(c2[205],_mm_xor_si64(c2[25],_mm_xor_si64(c2[943],_mm_xor_si64(c2[403],_mm_xor_si64(c2[223],_mm_xor_si64(c2[599],_mm_xor_si64(c2[1137],_mm_xor_si64(c2[777],_mm_xor_si64(c2[77],_mm_xor_si64(c2[1157],_mm_xor_si64(c2[1335],_mm_xor_si64(c2[1155],_mm_xor_si64(c2[450],_mm_xor_si64(c2[991],_mm_xor_si64(c2[811],_mm_xor_si64(c2[654],_mm_xor_si64(c2[830],_mm_xor_si64(c2[469],_mm_xor_si64(c2[289],_mm_xor_si64(c2[490],_mm_xor_si64(c2[493],_mm_xor_si64(c2[313],_mm_xor_si64(c2[1044],_mm_xor_si64(c2[1409],_mm_xor_si64(c2[332],_mm_xor_si64(c2[152],_mm_xor_si64(c2[684],_mm_xor_si64(c2[1429],_mm_xor_si64(c2[529],_mm_xor_si64(c2[164],c2[1423]))))))))))))))))))))))))))))))))))));
//row: 22
d2[198]=_mm_xor_si64(c2[1104],c2[763]);
//row: 23
d2[207]=_mm_xor_si64(c2[728],_mm_xor_si64(c2[599],c2[97]));
//row: 24
d2[216]=_mm_xor_si64(c2[1101],_mm_xor_si64(c2[401],c2[1065]));
//row: 25
d2[225]=_mm_xor_si64(c2[7],c2[1357]);
//row: 26
d2[234]=_mm_xor_si64(c2[1263],_mm_xor_si64(c2[1083],_mm_xor_si64(c2[1267],_mm_xor_si64(c2[1265],_mm_xor_si64(c2[1085],_mm_xor_si64(c2[1260],_mm_xor_si64(c2[366],_mm_xor_si64(c2[541],_mm_xor_si64(c2[1104],_mm_xor_si64(c2[924],_mm_xor_si64(c2[1099],_mm_xor_si64(c2[925],_mm_xor_si64(c2[1100],_mm_xor_si64(c2[558],_mm_xor_si64(c2[922],_mm_xor_si64(c2[742],_mm_xor_si64(c2[217],_mm_xor_si64(c2[37],_mm_xor_si64(c2[221],_mm_xor_si64(c2[756],_mm_xor_si64(c2[1120],_mm_xor_si64(c2[940],_mm_xor_si64(c2[1124],_mm_xor_si64(c2[1321],_mm_xor_si64(c2[1141],_mm_xor_si64(c2[1316],_mm_xor_si64(c2[420],_mm_xor_si64(c2[240],_mm_xor_si64(c2[415],_mm_xor_si64(c2[1319],_mm_xor_si64(c2[55],_mm_xor_si64(c2[799],_mm_xor_si64(c2[619],_mm_xor_si64(c2[794],_mm_xor_si64(c2[260],_mm_xor_si64(c2[435],_mm_xor_si64(c2[258],_mm_xor_si64(c2[613],_mm_xor_si64(c2[433],_mm_xor_si64(c2[1172],_mm_xor_si64(c2[992],_mm_xor_si64(c2[1176],_mm_xor_si64(c2[1353],_mm_xor_si64(c2[278],_mm_xor_si64(c2[98],_mm_xor_si64(c2[1376],_mm_xor_si64(c2[1196],_mm_xor_si64(c2[1371],_mm_xor_si64(c2[113],_mm_xor_si64(c2[1372],_mm_xor_si64(c2[108],_mm_xor_si64(c2[831],_mm_xor_si64(c2[1195],_mm_xor_si64(c2[1015],_mm_xor_si64(c2[1212],_mm_xor_si64(c2[1032],_mm_xor_si64(c2[1207],_mm_xor_si64(c2[846],_mm_xor_si64(c2[1210],_mm_xor_si64(c2[1030],_mm_xor_si64(c2[849],_mm_xor_si64(c2[327],_mm_xor_si64(c2[147],_mm_xor_si64(c2[331],_mm_xor_si64(c2[512],_mm_xor_si64(c2[687],_mm_xor_si64(c2[685],_mm_xor_si64(c2[1049],_mm_xor_si64(c2[869],_mm_xor_si64(c2[703],_mm_xor_si64(c2[523],_mm_xor_si64(c2[707],_mm_xor_si64(c2[1242],_mm_xor_si64(c2[1062],_mm_xor_si64(c2[1246],_mm_xor_si64(c2[526],_mm_xor_si64(c2[890],c2[710])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[243]=_mm_xor_si64(c2[901],c2[469]);
//row: 28
d2[252]=_mm_xor_si64(c2[382],_mm_xor_si64(c2[936],c2[635]));
//row: 29
d2[261]=_mm_xor_si64(c2[907],c2[255]);
//row: 30
d2[270]=_mm_xor_si64(c2[1297],_mm_xor_si64(c2[97],_mm_xor_si64(c2[130],c2[1250])));
//row: 31
d2[279]=_mm_xor_si64(c2[908],_mm_xor_si64(c2[901],_mm_xor_si64(c2[182],_mm_xor_si64(c2[740],_mm_xor_si64(c2[741],_mm_xor_si64(c2[563],_mm_xor_si64(c2[383],_mm_xor_si64(c2[19],_mm_xor_si64(c2[1301],_mm_xor_si64(c2[761],_mm_xor_si64(c2[581],_mm_xor_si64(c2[957],_mm_xor_si64(c2[56],_mm_xor_si64(c2[1135],_mm_xor_si64(c2[435],_mm_xor_si64(c2[76],_mm_xor_si64(c2[254],_mm_xor_si64(c2[74],_mm_xor_si64(c2[817],_mm_xor_si64(c2[1358],_mm_xor_si64(c2[1178],_mm_xor_si64(c2[1012],_mm_xor_si64(c2[1188],_mm_xor_si64(c2[836],_mm_xor_si64(c2[656],_mm_xor_si64(c2[848],_mm_xor_si64(c2[851],_mm_xor_si64(c2[671],_mm_xor_si64(c2[1411],_mm_xor_si64(c2[328],_mm_xor_si64(c2[690],_mm_xor_si64(c2[510],_mm_xor_si64(c2[348],_mm_xor_si64(c2[887],_mm_xor_si64(c2[522],c2[342])))))))))))))))))))))))))))))))))));
//row: 32
d2[288]=_mm_xor_si64(c2[360],_mm_xor_si64(c2[180],_mm_xor_si64(c2[362],_mm_xor_si64(c2[182],_mm_xor_si64(c2[902],_mm_xor_si64(c2[4],_mm_xor_si64(c2[201],_mm_xor_si64(c2[21],_mm_xor_si64(c2[22],_mm_xor_si64(c2[1103],_mm_xor_si64(c2[762],_mm_xor_si64(c2[582],_mm_xor_si64(c2[1301],_mm_xor_si64(c2[418],_mm_xor_si64(c2[238],_mm_xor_si64(c2[956],_mm_xor_si64(c2[776],_mm_xor_si64(c2[416],_mm_xor_si64(c2[1335],_mm_xor_si64(c2[1155],_mm_xor_si64(c2[796],_mm_xor_si64(c2[794],_mm_xor_si64(c2[278],_mm_xor_si64(c2[98],_mm_xor_si64(c2[450],_mm_xor_si64(c2[272],_mm_xor_si64(c2[473],_mm_xor_si64(c2[293],_mm_xor_si64(c2[649],_mm_xor_si64(c2[469],_mm_xor_si64(c2[1376],_mm_xor_si64(c2[309],_mm_xor_si64(c2[129],_mm_xor_si64(c2[1391],_mm_xor_si64(c2[872],_mm_xor_si64(c2[692],_mm_xor_si64(c2[1048],_mm_xor_si64(c2[1230],_mm_xor_si64(c2[1248],_mm_xor_si64(c2[1068],_mm_xor_si64(c2[348],_mm_xor_si64(c2[168],c2[1062]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[297]=_mm_xor_si64(c2[720],_mm_xor_si64(c2[722],_mm_xor_si64(c2[3],_mm_xor_si64(c2[561],_mm_xor_si64(c2[562],_mm_xor_si64(c2[204],_mm_xor_si64(c2[1122],_mm_xor_si64(c2[402],_mm_xor_si64(c2[1303],_mm_xor_si64(c2[778],_mm_xor_si64(c2[1316],_mm_xor_si64(c2[956],_mm_xor_si64(c2[256],_mm_xor_si64(c2[1336],_mm_xor_si64(c2[1334],_mm_xor_si64(c2[638],_mm_xor_si64(c2[990],_mm_xor_si64(c2[833],_mm_xor_si64(c2[1009],_mm_xor_si64(c2[468],_mm_xor_si64(c2[669],_mm_xor_si64(c2[492],_mm_xor_si64(c2[1206],_mm_xor_si64(c2[1232],_mm_xor_si64(c2[149],_mm_xor_si64(c2[331],_mm_xor_si64(c2[169],_mm_xor_si64(c2[708],c2[163]))))))))))))))))))))))))))));
//row: 34
d2[306]=_mm_xor_si64(c2[723],_mm_xor_si64(c2[543],_mm_xor_si64(c2[725],_mm_xor_si64(c2[725],_mm_xor_si64(c2[545],_mm_xor_si64(c2[727],_mm_xor_si64(c2[1265],_mm_xor_si64(c2[8],_mm_xor_si64(c2[904],_mm_xor_si64(c2[564],_mm_xor_si64(c2[384],_mm_xor_si64(c2[566],_mm_xor_si64(c2[385],_mm_xor_si64(c2[558],_mm_xor_si64(c2[18],_mm_xor_si64(c2[380],_mm_xor_si64(c2[200],_mm_xor_si64(c2[1116],_mm_xor_si64(c2[936],_mm_xor_si64(c2[1118],_mm_xor_si64(c2[216],_mm_xor_si64(c2[578],_mm_xor_si64(c2[398],_mm_xor_si64(c2[781],_mm_xor_si64(c2[601],_mm_xor_si64(c2[774],_mm_xor_si64(c2[1319],_mm_xor_si64(c2[1139],_mm_xor_si64(c2[1321],_mm_xor_si64(c2[779],_mm_xor_si64(c2[961],_mm_xor_si64(c2[259],_mm_xor_si64(c2[79],_mm_xor_si64(c2[252],_mm_xor_si64(c2[1159],_mm_xor_si64(c2[1332],_mm_xor_si64(c2[1157],_mm_xor_si64(c2[80],_mm_xor_si64(c2[1339],_mm_xor_si64(c2[632],_mm_xor_si64(c2[452],_mm_xor_si64(c2[634],_mm_xor_si64(c2[813],_mm_xor_si64(c2[1175],_mm_xor_si64(c2[995],_mm_xor_si64(c2[836],_mm_xor_si64(c2[656],_mm_xor_si64(c2[829],_mm_xor_si64(c2[1012],_mm_xor_si64(c2[832],_mm_xor_si64(c2[1014],_mm_xor_si64(c2[291],_mm_xor_si64(c2[653],_mm_xor_si64(c2[473],_mm_xor_si64(c2[672],_mm_xor_si64(c2[492],_mm_xor_si64(c2[674],_mm_xor_si64(c2[306],_mm_xor_si64(c2[668],_mm_xor_si64(c2[488],_mm_xor_si64(c2[1226],_mm_xor_si64(c2[1046],_mm_xor_si64(c2[1228],_mm_xor_si64(c2[1411],_mm_xor_si64(c2[145],_mm_xor_si64(c2[145],_mm_xor_si64(c2[507],_mm_xor_si64(c2[327],_mm_xor_si64(c2[163],_mm_xor_si64(c2[1422],_mm_xor_si64(c2[165],_mm_xor_si64(c2[702],_mm_xor_si64(c2[522],_mm_xor_si64(c2[704],_mm_xor_si64(c2[1425],_mm_xor_si64(c2[348],c2[168]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[315]=_mm_xor_si64(c2[3],_mm_xor_si64(c2[1262],_mm_xor_si64(c2[1264],_mm_xor_si64(c2[545],_mm_xor_si64(c2[1283],_mm_xor_si64(c2[1103],_mm_xor_si64(c2[1104],_mm_xor_si64(c2[746],_mm_xor_si64(c2[745],_mm_xor_si64(c2[396],_mm_xor_si64(c2[216],_mm_xor_si64(c2[944],_mm_xor_si64(c2[61],_mm_xor_si64(c2[1320],_mm_xor_si64(c2[419],_mm_xor_si64(c2[59],_mm_xor_si64(c2[798],_mm_xor_si64(c2[439],_mm_xor_si64(c2[437],_mm_xor_si64(c2[1171],_mm_xor_si64(c2[93],_mm_xor_si64(c2[278],_mm_xor_si64(c2[116],_mm_xor_si64(c2[1375],_mm_xor_si64(c2[112],_mm_xor_si64(c2[1010],_mm_xor_si64(c2[1211],_mm_xor_si64(c2[1034],_mm_xor_si64(c2[326],_mm_xor_si64(c2[691],_mm_xor_si64(c2[864],_mm_xor_si64(c2[882],_mm_xor_si64(c2[702],_mm_xor_si64(c2[1250],c2[705]))))))))))))))))))))))))))))))))));
//row: 36
d2[324]=_mm_xor_si64(c2[186],_mm_xor_si64(c2[223],c2[489]));
//row: 37
d2[333]=_mm_xor_si64(c2[543],_mm_xor_si64(c2[367],_mm_xor_si64(c2[545],_mm_xor_si64(c2[360],_mm_xor_si64(c2[1265],_mm_xor_si64(c2[1080],_mm_xor_si64(c2[384],_mm_xor_si64(c2[199],_mm_xor_si64(c2[385],_mm_xor_si64(c2[200],_mm_xor_si64(c2[18],_mm_xor_si64(c2[22],_mm_xor_si64(c2[1281],_mm_xor_si64(c2[936],_mm_xor_si64(c2[760],_mm_xor_si64(c2[216],_mm_xor_si64(c2[220],_mm_xor_si64(c2[40],_mm_xor_si64(c2[601],_mm_xor_si64(c2[416],_mm_xor_si64(c2[1139],_mm_xor_si64(c2[954],_mm_xor_si64(c2[779],_mm_xor_si64(c2[594],_mm_xor_si64(c2[79],_mm_xor_si64(c2[1333],_mm_xor_si64(c2[1159],_mm_xor_si64(c2[974],_mm_xor_si64(c2[1157],_mm_xor_si64(c2[1152],_mm_xor_si64(c2[972],_mm_xor_si64(c2[452],_mm_xor_si64(c2[276],_mm_xor_si64(c2[813],_mm_xor_si64(c2[817],_mm_xor_si64(c2[637],_mm_xor_si64(c2[656],_mm_xor_si64(c2[471],_mm_xor_si64(c2[832],_mm_xor_si64(c2[656],_mm_xor_si64(c2[291],_mm_xor_si64(c2[295],_mm_xor_si64(c2[115],_mm_xor_si64(c2[492],_mm_xor_si64(c2[307],_mm_xor_si64(c2[306],_mm_xor_si64(c2[310],_mm_xor_si64(c2[130],_mm_xor_si64(c2[1046],_mm_xor_si64(c2[870],_mm_xor_si64(c2[1411],_mm_xor_si64(c2[1226],_mm_xor_si64(c2[145],_mm_xor_si64(c2[149],_mm_xor_si64(c2[1408],_mm_xor_si64(c2[1422],_mm_xor_si64(c2[1246],_mm_xor_si64(c2[522],_mm_xor_si64(c2[346],_mm_xor_si64(c2[1425],_mm_xor_si64(c2[1429],c2[1249])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[342]=_mm_xor_si64(c2[720],_mm_xor_si64(c2[540],_mm_xor_si64(c2[542],_mm_xor_si64(c2[1262],_mm_xor_si64(c2[561],_mm_xor_si64(c2[381],_mm_xor_si64(c2[382],_mm_xor_si64(c2[24],_mm_xor_si64(c2[198],_mm_xor_si64(c2[1122],_mm_xor_si64(c2[942],_mm_xor_si64(c2[222],_mm_xor_si64(c2[778],_mm_xor_si64(c2[598],_mm_xor_si64(c2[1136],_mm_xor_si64(c2[776],_mm_xor_si64(c2[76],_mm_xor_si64(c2[1156],_mm_xor_si64(c2[1154],_mm_xor_si64(c2[458],_mm_xor_si64(c2[810],_mm_xor_si64(c2[1178],_mm_xor_si64(c2[833],_mm_xor_si64(c2[653],_mm_xor_si64(c2[829],_mm_xor_si64(c2[288],_mm_xor_si64(c2[489],_mm_xor_si64(c2[312],_mm_xor_si64(c2[1052],_mm_xor_si64(c2[1408],_mm_xor_si64(c2[151],_mm_xor_si64(c2[169],_mm_xor_si64(c2[1428],_mm_xor_si64(c2[528],c2[1422]))))))))))))))))))))))))))))))))));
//row: 39
d2[351]=_mm_xor_si64(c2[180],_mm_xor_si64(c2[0],_mm_xor_si64(c2[182],_mm_xor_si64(c2[2],_mm_xor_si64(c2[722],_mm_xor_si64(c2[1265],_mm_xor_si64(c2[21],_mm_xor_si64(c2[1280],_mm_xor_si64(c2[1281],_mm_xor_si64(c2[923],_mm_xor_si64(c2[582],_mm_xor_si64(c2[402],_mm_xor_si64(c2[1121],_mm_xor_si64(c2[238],_mm_xor_si64(c2[58],_mm_xor_si64(c2[776],_mm_xor_si64(c2[596],_mm_xor_si64(c2[236],_mm_xor_si64(c2[1155],_mm_xor_si64(c2[975],_mm_xor_si64(c2[616],_mm_xor_si64(c2[614],_mm_xor_si64(c2[98],_mm_xor_si64(c2[1357],_mm_xor_si64(c2[270],_mm_xor_si64(c2[293],_mm_xor_si64(c2[113],_mm_xor_si64(c2[469],_mm_xor_si64(c2[289],_mm_xor_si64(c2[1196],_mm_xor_si64(c2[129],_mm_xor_si64(c2[1388],_mm_xor_si64(c2[1211],_mm_xor_si64(c2[130],_mm_xor_si64(c2[692],_mm_xor_si64(c2[512],_mm_xor_si64(c2[868],_mm_xor_si64(c2[1050],_mm_xor_si64(c2[1068],_mm_xor_si64(c2[888],_mm_xor_si64(c2[168],_mm_xor_si64(c2[1427],c2[882]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[360]=_mm_xor_si64(c2[540],_mm_xor_si64(c2[4],_mm_xor_si64(c2[542],_mm_xor_si64(c2[6],_mm_xor_si64(c2[1262],_mm_xor_si64(c2[726],_mm_xor_si64(c2[381],_mm_xor_si64(c2[1284],_mm_xor_si64(c2[382],_mm_xor_si64(c2[1285],_mm_xor_si64(c2[24],_mm_xor_si64(c2[1098],_mm_xor_si64(c2[918],_mm_xor_si64(c2[942],_mm_xor_si64(c2[397],_mm_xor_si64(c2[222],_mm_xor_si64(c2[1296],_mm_xor_si64(c2[1116],_mm_xor_si64(c2[1116],_mm_xor_si64(c2[598],_mm_xor_si64(c2[62],_mm_xor_si64(c2[1136],_mm_xor_si64(c2[600],_mm_xor_si64(c2[776],_mm_xor_si64(c2[240],_mm_xor_si64(c2[76],_mm_xor_si64(c2[979],_mm_xor_si64(c2[1156],_mm_xor_si64(c2[620],_mm_xor_si64(c2[1154],_mm_xor_si64(c2[798],_mm_xor_si64(c2[618],_mm_xor_si64(c2[458],_mm_xor_si64(c2[1352],_mm_xor_si64(c2[810],_mm_xor_si64(c2[454],_mm_xor_si64(c2[274],_mm_xor_si64(c2[653],_mm_xor_si64(c2[108],_mm_xor_si64(c2[829],_mm_xor_si64(c2[293],_mm_xor_si64(c2[288],_mm_xor_si64(c2[1371],_mm_xor_si64(c2[1191],_mm_xor_si64(c2[489],_mm_xor_si64(c2[1392],_mm_xor_si64(c2[312],_mm_xor_si64(c2[1386],_mm_xor_si64(c2[1206],_mm_xor_si64(c2[1052],_mm_xor_si64(c2[507],_mm_xor_si64(c2[1408],_mm_xor_si64(c2[872],_mm_xor_si64(c2[151],_mm_xor_si64(c2[1225],_mm_xor_si64(c2[1045],_mm_xor_si64(c2[1428],_mm_xor_si64(c2[883],_mm_xor_si64(c2[528],_mm_xor_si64(c2[1422],_mm_xor_si64(c2[1422],_mm_xor_si64(c2[1066],c2[886]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[369]=_mm_xor_si64(c2[1082],_mm_xor_si64(c2[902],_mm_xor_si64(c2[904],_mm_xor_si64(c2[185],_mm_xor_si64(c2[923],_mm_xor_si64(c2[743],_mm_xor_si64(c2[744],_mm_xor_si64(c2[386],_mm_xor_si64(c2[24],_mm_xor_si64(c2[36],_mm_xor_si64(c2[1304],_mm_xor_si64(c2[584],_mm_xor_si64(c2[1140],_mm_xor_si64(c2[960],_mm_xor_si64(c2[59],_mm_xor_si64(c2[1138],_mm_xor_si64(c2[438],_mm_xor_si64(c2[79],_mm_xor_si64(c2[77],_mm_xor_si64(c2[811],_mm_xor_si64(c2[1172],_mm_xor_si64(c2[1355],_mm_xor_si64(c2[1195],_mm_xor_si64(c2[1015],_mm_xor_si64(c2[1191],_mm_xor_si64(c2[650],_mm_xor_si64(c2[851],_mm_xor_si64(c2[674],_mm_xor_si64(c2[1405],_mm_xor_si64(c2[331],_mm_xor_si64(c2[504],_mm_xor_si64(c2[522],_mm_xor_si64(c2[342],_mm_xor_si64(c2[890],c2[345]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=80, byte encoding
static inline void ldpc_BG2_Zc80_byte(uint8_t *c,uint8_t *d) {
__m128i *csimd=(__m128i *)c,*dsimd=(__m128i *)d;
__m128i *c2,*d2;
int i2;
for (i2=0; i2<5; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm_xor_si128(c2[1504],_mm_xor_si128(c2[803],_mm_xor_si128(c2[301],_mm_xor_si128(c2[1514],_mm_xor_si128(c2[1310],_mm_xor_si128(c2[512],_mm_xor_si128(c2[1524],_mm_xor_si128(c2[1420],_mm_xor_si128(c2[1534],_mm_xor_si128(c2[1132],_mm_xor_si128(c2[231],_mm_xor_si128(c2[1544],_mm_xor_si128(c2[840],_mm_xor_si128(c2[541],_mm_xor_si128(c2[1554],_mm_xor_si128(c2[154],_mm_xor_si128(c2[1564],_mm_xor_si128(c2[760],_mm_xor_si128(c2[1160],_mm_xor_si128(c2[1574],_mm_xor_si128(c2[873],_mm_xor_si128(c2[1584],_mm_xor_si128(c2[1181],_mm_xor_si128(c2[483],_mm_xor_si128(c2[1594],_mm_xor_si128(c2[693],c2[1392]))))))))))))))))))))))))));
//row: 1
d2[5]=_mm_xor_si128(c2[0],_mm_xor_si128(c2[1504],_mm_xor_si128(c2[803],_mm_xor_si128(c2[301],_mm_xor_si128(c2[10],_mm_xor_si128(c2[1514],_mm_xor_si128(c2[1310],_mm_xor_si128(c2[512],_mm_xor_si128(c2[20],_mm_xor_si128(c2[1524],_mm_xor_si128(c2[1420],_mm_xor_si128(c2[30],_mm_xor_si128(c2[1534],_mm_xor_si128(c2[1132],_mm_xor_si128(c2[231],_mm_xor_si128(c2[1544],_mm_xor_si128(c2[840],_mm_xor_si128(c2[541],_mm_xor_si128(c2[1554],_mm_xor_si128(c2[154],_mm_xor_si128(c2[60],_mm_xor_si128(c2[1564],_mm_xor_si128(c2[760],_mm_xor_si128(c2[1160],_mm_xor_si128(c2[1574],_mm_xor_si128(c2[873],_mm_xor_si128(c2[1584],_mm_xor_si128(c2[1181],_mm_xor_si128(c2[483],_mm_xor_si128(c2[90],_mm_xor_si128(c2[1594],_mm_xor_si128(c2[693],c2[1392]))))))))))))))))))))))))))))))));
//row: 2
d2[10]=_mm_xor_si128(c2[0],_mm_xor_si128(c2[1504],_mm_xor_si128(c2[903],_mm_xor_si128(c2[803],_mm_xor_si128(c2[301],_mm_xor_si128(c2[10],_mm_xor_si128(c2[1514],_mm_xor_si128(c2[1310],_mm_xor_si128(c2[512],_mm_xor_si128(c2[20],_mm_xor_si128(c2[1524],_mm_xor_si128(c2[1420],_mm_xor_si128(c2[30],_mm_xor_si128(c2[1534],_mm_xor_si128(c2[1232],_mm_xor_si128(c2[1132],_mm_xor_si128(c2[231],_mm_xor_si128(c2[40],_mm_xor_si128(c2[1544],_mm_xor_si128(c2[840],_mm_xor_si128(c2[541],_mm_xor_si128(c2[50],_mm_xor_si128(c2[1554],_mm_xor_si128(c2[154],_mm_xor_si128(c2[60],_mm_xor_si128(c2[1564],_mm_xor_si128(c2[860],_mm_xor_si128(c2[760],_mm_xor_si128(c2[1160],_mm_xor_si128(c2[70],_mm_xor_si128(c2[1574],_mm_xor_si128(c2[873],_mm_xor_si128(c2[80],_mm_xor_si128(c2[1584],_mm_xor_si128(c2[1181],_mm_xor_si128(c2[483],_mm_xor_si128(c2[90],_mm_xor_si128(c2[1594],_mm_xor_si128(c2[793],_mm_xor_si128(c2[693],c2[1392]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[15]=_mm_xor_si128(c2[1504],_mm_xor_si128(c2[803],_mm_xor_si128(c2[301],_mm_xor_si128(c2[1514],_mm_xor_si128(c2[1310],_mm_xor_si128(c2[612],_mm_xor_si128(c2[512],_mm_xor_si128(c2[1524],_mm_xor_si128(c2[1520],_mm_xor_si128(c2[1420],_mm_xor_si128(c2[1534],_mm_xor_si128(c2[1132],_mm_xor_si128(c2[231],_mm_xor_si128(c2[1544],_mm_xor_si128(c2[840],_mm_xor_si128(c2[641],_mm_xor_si128(c2[541],_mm_xor_si128(c2[1554],_mm_xor_si128(c2[254],_mm_xor_si128(c2[154],_mm_xor_si128(c2[1564],_mm_xor_si128(c2[760],_mm_xor_si128(c2[1260],_mm_xor_si128(c2[1160],_mm_xor_si128(c2[1574],_mm_xor_si128(c2[973],_mm_xor_si128(c2[873],_mm_xor_si128(c2[1584],_mm_xor_si128(c2[1181],_mm_xor_si128(c2[583],_mm_xor_si128(c2[483],_mm_xor_si128(c2[1594],_mm_xor_si128(c2[693],_mm_xor_si128(c2[1492],c2[1392]))))))))))))))))))))))))))))))))));
//row: 4
d2[20]=_mm_xor_si128(c2[1304],_mm_xor_si128(c2[1204],_mm_xor_si128(c2[503],_mm_xor_si128(c2[1],_mm_xor_si128(c2[0],_mm_xor_si128(c2[1314],_mm_xor_si128(c2[1214],_mm_xor_si128(c2[1010],_mm_xor_si128(c2[212],_mm_xor_si128(c2[813],_mm_xor_si128(c2[1324],_mm_xor_si128(c2[1224],_mm_xor_si128(c2[1120],_mm_xor_si128(c2[1334],_mm_xor_si128(c2[1234],_mm_xor_si128(c2[832],_mm_xor_si128(c2[1530],_mm_xor_si128(c2[1244],_mm_xor_si128(c2[540],_mm_xor_si128(c2[241],_mm_xor_si128(c2[1254],_mm_xor_si128(c2[1453],_mm_xor_si128(c2[1364],_mm_xor_si128(c2[1264],_mm_xor_si128(c2[460],_mm_xor_si128(c2[860],_mm_xor_si128(c2[1274],_mm_xor_si128(c2[573],_mm_xor_si128(c2[1284],_mm_xor_si128(c2[881],_mm_xor_si128(c2[183],_mm_xor_si128(c2[1394],_mm_xor_si128(c2[1294],_mm_xor_si128(c2[393],c2[1092]))))))))))))))))))))))))))))))))));
//row: 5
d2[25]=_mm_xor_si128(c2[4],_mm_xor_si128(c2[1503],_mm_xor_si128(c2[802],_mm_xor_si128(c2[300],_mm_xor_si128(c2[0],_mm_xor_si128(c2[14],_mm_xor_si128(c2[1513],_mm_xor_si128(c2[1314],_mm_xor_si128(c2[511],_mm_xor_si128(c2[313],_mm_xor_si128(c2[24],_mm_xor_si128(c2[1523],_mm_xor_si128(c2[1424],_mm_xor_si128(c2[34],_mm_xor_si128(c2[1533],_mm_xor_si128(c2[1131],_mm_xor_si128(c2[230],_mm_xor_si128(c2[1543],_mm_xor_si128(c2[844],_mm_xor_si128(c2[540],_mm_xor_si128(c2[1553],_mm_xor_si128(c2[153],_mm_xor_si128(c2[1453],_mm_xor_si128(c2[64],_mm_xor_si128(c2[1563],_mm_xor_si128(c2[764],_mm_xor_si128(c2[1164],_mm_xor_si128(c2[1573],_mm_xor_si128(c2[872],_mm_xor_si128(c2[1373],_mm_xor_si128(c2[1583],_mm_xor_si128(c2[1180],_mm_xor_si128(c2[482],_mm_xor_si128(c2[94],_mm_xor_si128(c2[1593],_mm_xor_si128(c2[692],c2[1391]))))))))))))))))))))))))))))))))))));
//row: 6
d2[30]=_mm_xor_si128(c2[404],_mm_xor_si128(c2[304],_mm_xor_si128(c2[1202],_mm_xor_si128(c2[700],_mm_xor_si128(c2[0],_mm_xor_si128(c2[414],_mm_xor_si128(c2[314],_mm_xor_si128(c2[110],_mm_xor_si128(c2[911],_mm_xor_si128(c2[424],_mm_xor_si128(c2[324],_mm_xor_si128(c2[220],_mm_xor_si128(c2[434],_mm_xor_si128(c2[334],_mm_xor_si128(c2[1531],_mm_xor_si128(c2[630],_mm_xor_si128(c2[344],_mm_xor_si128(c2[1244],_mm_xor_si128(c2[940],_mm_xor_si128(c2[354],_mm_xor_si128(c2[553],_mm_xor_si128(c2[1252],_mm_xor_si128(c2[464],_mm_xor_si128(c2[364],_mm_xor_si128(c2[1164],_mm_xor_si128(c2[1564],_mm_xor_si128(c2[374],_mm_xor_si128(c2[1272],_mm_xor_si128(c2[371],_mm_xor_si128(c2[384],_mm_xor_si128(c2[1580],_mm_xor_si128(c2[882],_mm_xor_si128(c2[494],_mm_xor_si128(c2[394],_mm_xor_si128(c2[1092],_mm_xor_si128(c2[192],c2[1392]))))))))))))))))))))))))))))))))))));
//row: 7
d2[35]=_mm_xor_si128(c2[1],_mm_xor_si128(c2[1500],_mm_xor_si128(c2[1304],_mm_xor_si128(c2[804],_mm_xor_si128(c2[603],_mm_xor_si128(c2[302],_mm_xor_si128(c2[101],_mm_xor_si128(c2[11],_mm_xor_si128(c2[1510],_mm_xor_si128(c2[1314],_mm_xor_si128(c2[1311],_mm_xor_si128(c2[1110],_mm_xor_si128(c2[513],_mm_xor_si128(c2[412],_mm_xor_si128(c2[312],_mm_xor_si128(c2[10],_mm_xor_si128(c2[21],_mm_xor_si128(c2[1520],_mm_xor_si128(c2[1324],_mm_xor_si128(c2[1421],_mm_xor_si128(c2[1320],_mm_xor_si128(c2[1220],_mm_xor_si128(c2[31],_mm_xor_si128(c2[1530],_mm_xor_si128(c2[1334],_mm_xor_si128(c2[1133],_mm_xor_si128(c2[932],_mm_xor_si128(c2[232],_mm_xor_si128(c2[31],_mm_xor_si128(c2[1540],_mm_xor_si128(c2[1344],_mm_xor_si128(c2[841],_mm_xor_si128(c2[640],_mm_xor_si128(c2[542],_mm_xor_si128(c2[441],_mm_xor_si128(c2[341],_mm_xor_si128(c2[1550],_mm_xor_si128(c2[1354],_mm_xor_si128(c2[150],_mm_xor_si128(c2[54],_mm_xor_si128(c2[1553],_mm_xor_si128(c2[1352],_mm_xor_si128(c2[61],_mm_xor_si128(c2[1560],_mm_xor_si128(c2[1364],_mm_xor_si128(c2[761],_mm_xor_si128(c2[560],_mm_xor_si128(c2[1161],_mm_xor_si128(c2[1060],_mm_xor_si128(c2[960],_mm_xor_si128(c2[1570],_mm_xor_si128(c2[1374],_mm_xor_si128(c2[874],_mm_xor_si128(c2[773],_mm_xor_si128(c2[673],_mm_xor_si128(c2[474],_mm_xor_si128(c2[1580],_mm_xor_si128(c2[1384],_mm_xor_si128(c2[1182],_mm_xor_si128(c2[981],_mm_xor_si128(c2[484],_mm_xor_si128(c2[383],_mm_xor_si128(c2[283],_mm_xor_si128(c2[91],_mm_xor_si128(c2[1590],_mm_xor_si128(c2[1394],_mm_xor_si128(c2[694],_mm_xor_si128(c2[493],_mm_xor_si128(c2[1393],_mm_xor_si128(c2[1292],c2[1192]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[40]=_mm_xor_si128(c2[700],_mm_xor_si128(c2[600],_mm_xor_si128(c2[4],_mm_xor_si128(c2[1503],_mm_xor_si128(c2[1001],_mm_xor_si128(c2[0],_mm_xor_si128(c2[710],_mm_xor_si128(c2[610],_mm_xor_si128(c2[411],_mm_xor_si128(c2[1212],_mm_xor_si128(c2[114],_mm_xor_si128(c2[720],_mm_xor_si128(c2[620],_mm_xor_si128(c2[521],_mm_xor_si128(c2[730],_mm_xor_si128(c2[630],_mm_xor_si128(c2[333],_mm_xor_si128(c2[233],_mm_xor_si128(c2[931],_mm_xor_si128(c2[740],_mm_xor_si128(c2[640],_mm_xor_si128(c2[1540],_mm_xor_si128(c2[1241],_mm_xor_si128(c2[750],_mm_xor_si128(c2[650],_mm_xor_si128(c2[854],_mm_xor_si128(c2[760],_mm_xor_si128(c2[660],_mm_xor_si128(c2[1560],_mm_xor_si128(c2[1460],_mm_xor_si128(c2[261],_mm_xor_si128(c2[770],_mm_xor_si128(c2[670],_mm_xor_si128(c2[1573],_mm_xor_si128(c2[780],_mm_xor_si128(c2[680],_mm_xor_si128(c2[282],_mm_xor_si128(c2[1183],_mm_xor_si128(c2[790],_mm_xor_si128(c2[690],_mm_xor_si128(c2[1493],_mm_xor_si128(c2[1393],c2[493]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[45]=_mm_xor_si128(c2[203],_mm_xor_si128(c2[500],_mm_xor_si128(c2[400],_mm_xor_si128(c2[1101],_mm_xor_si128(c2[1303],_mm_xor_si128(c2[604],_mm_xor_si128(c2[801],_mm_xor_si128(c2[213],_mm_xor_si128(c2[510],_mm_xor_si128(c2[410],_mm_xor_si128(c2[14],_mm_xor_si128(c2[211],_mm_xor_si128(c2[810],_mm_xor_si128(c2[1012],_mm_xor_si128(c2[10],_mm_xor_si128(c2[223],_mm_xor_si128(c2[520],_mm_xor_si128(c2[420],_mm_xor_si128(c2[124],_mm_xor_si128(c2[321],_mm_xor_si128(c2[233],_mm_xor_si128(c2[530],_mm_xor_si128(c2[430],_mm_xor_si128(c2[1430],_mm_xor_si128(c2[33],_mm_xor_si128(c2[534],_mm_xor_si128(c2[731],_mm_xor_si128(c2[243],_mm_xor_si128(c2[440],_mm_xor_si128(c2[1143],_mm_xor_si128(c2[1340],_mm_xor_si128(c2[844],_mm_xor_si128(c2[1041],_mm_xor_si128(c2[253],_mm_xor_si128(c2[450],_mm_xor_si128(c2[452],_mm_xor_si128(c2[654],_mm_xor_si128(c2[263],_mm_xor_si128(c2[560],_mm_xor_si128(c2[460],_mm_xor_si128(c2[1063],_mm_xor_si128(c2[1260],_mm_xor_si128(c2[1463],_mm_xor_si128(c2[61],_mm_xor_si128(c2[273],_mm_xor_si128(c2[470],_mm_xor_si128(c2[1171],_mm_xor_si128(c2[1373],_mm_xor_si128(c2[283],_mm_xor_si128(c2[480],_mm_xor_si128(c2[1484],_mm_xor_si128(c2[82],_mm_xor_si128(c2[781],_mm_xor_si128(c2[983],_mm_xor_si128(c2[181],_mm_xor_si128(c2[293],_mm_xor_si128(c2[590],_mm_xor_si128(c2[490],_mm_xor_si128(c2[991],_mm_xor_si128(c2[1193],_mm_xor_si128(c2[91],c2[293])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[50]=_mm_xor_si128(c2[0],_mm_xor_si128(c2[111],_mm_xor_si128(c2[1264],c2[471])));
//row: 11
d2[55]=_mm_xor_si128(c2[100],_mm_xor_si128(c2[1003],_mm_xor_si128(c2[501],_mm_xor_si128(c2[0],_mm_xor_si128(c2[110],_mm_xor_si128(c2[1510],_mm_xor_si128(c2[812],_mm_xor_si128(c2[712],_mm_xor_si128(c2[120],_mm_xor_si128(c2[121],_mm_xor_si128(c2[21],_mm_xor_si128(c2[130],_mm_xor_si128(c2[1332],_mm_xor_si128(c2[431],_mm_xor_si128(c2[140],_mm_xor_si128(c2[1040],_mm_xor_si128(c2[841],_mm_xor_si128(c2[741],_mm_xor_si128(c2[150],_mm_xor_si128(c2[454],_mm_xor_si128(c2[354],_mm_xor_si128(c2[160],_mm_xor_si128(c2[960],_mm_xor_si128(c2[1460],_mm_xor_si128(c2[1360],_mm_xor_si128(c2[170],_mm_xor_si128(c2[1173],_mm_xor_si128(c2[1073],_mm_xor_si128(c2[770],_mm_xor_si128(c2[180],_mm_xor_si128(c2[1381],_mm_xor_si128(c2[783],_mm_xor_si128(c2[683],_mm_xor_si128(c2[190],_mm_xor_si128(c2[893],_mm_xor_si128(c2[93],_mm_xor_si128(c2[1592],c2[490])))))))))))))))))))))))))))))))))))));
//row: 12
d2[60]=_mm_xor_si128(c2[3],_mm_xor_si128(c2[1502],_mm_xor_si128(c2[801],_mm_xor_si128(c2[304],_mm_xor_si128(c2[13],_mm_xor_si128(c2[1512],_mm_xor_si128(c2[1313],_mm_xor_si128(c2[510],_mm_xor_si128(c2[10],_mm_xor_si128(c2[23],_mm_xor_si128(c2[1522],_mm_xor_si128(c2[1423],_mm_xor_si128(c2[33],_mm_xor_si128(c2[1532],_mm_xor_si128(c2[1130],_mm_xor_si128(c2[234],_mm_xor_si128(c2[132],_mm_xor_si128(c2[1542],_mm_xor_si128(c2[843],_mm_xor_si128(c2[544],_mm_xor_si128(c2[1552],_mm_xor_si128(c2[152],_mm_xor_si128(c2[63],_mm_xor_si128(c2[1562],_mm_xor_si128(c2[763],_mm_xor_si128(c2[1163],_mm_xor_si128(c2[1572],_mm_xor_si128(c2[871],_mm_xor_si128(c2[1582],_mm_xor_si128(c2[1184],_mm_xor_si128(c2[481],_mm_xor_si128(c2[93],_mm_xor_si128(c2[1592],_mm_xor_si128(c2[691],c2[1390]))))))))))))))))))))))))))))))))));
//row: 13
d2[65]=_mm_xor_si128(c2[901],_mm_xor_si128(c2[200],_mm_xor_si128(c2[1302],_mm_xor_si128(c2[0],_mm_xor_si128(c2[911],_mm_xor_si128(c2[712],_mm_xor_si128(c2[14],_mm_xor_si128(c2[1513],_mm_xor_si128(c2[12],_mm_xor_si128(c2[921],_mm_xor_si128(c2[922],_mm_xor_si128(c2[822],_mm_xor_si128(c2[931],_mm_xor_si128(c2[534],_mm_xor_si128(c2[1232],_mm_xor_si128(c2[941],_mm_xor_si128(c2[242],_mm_xor_si128(c2[43],_mm_xor_si128(c2[1542],_mm_xor_si128(c2[951],_mm_xor_si128(c2[1250],_mm_xor_si128(c2[1150],_mm_xor_si128(c2[961],_mm_xor_si128(c2[162],_mm_xor_si128(c2[662],_mm_xor_si128(c2[562],_mm_xor_si128(c2[971],_mm_xor_si128(c2[370],_mm_xor_si128(c2[270],_mm_xor_si128(c2[981],_mm_xor_si128(c2[583],_mm_xor_si128(c2[1584],_mm_xor_si128(c2[1484],_mm_xor_si128(c2[681],_mm_xor_si128(c2[991],_mm_xor_si128(c2[90],_mm_xor_si128(c2[894],c2[794])))))))))))))))))))))))))))))))))))));
//row: 14
d2[70]=_mm_xor_si128(c2[903],_mm_xor_si128(c2[803],_mm_xor_si128(c2[1001],_mm_xor_si128(c2[102],_mm_xor_si128(c2[300],_mm_xor_si128(c2[1204],_mm_xor_si128(c2[1402],_mm_xor_si128(c2[913],_mm_xor_si128(c2[813],_mm_xor_si128(c2[1011],_mm_xor_si128(c2[614],_mm_xor_si128(c2[812],_mm_xor_si128(c2[1410],_mm_xor_si128(c2[114],_mm_xor_si128(c2[14],_mm_xor_si128(c2[10],_mm_xor_si128(c2[923],_mm_xor_si128(c2[823],_mm_xor_si128(c2[1021],_mm_xor_si128(c2[724],_mm_xor_si128(c2[1022],_mm_xor_si128(c2[922],_mm_xor_si128(c2[933],_mm_xor_si128(c2[833],_mm_xor_si128(c2[1031],_mm_xor_si128(c2[431],_mm_xor_si128(c2[634],_mm_xor_si128(c2[1134],_mm_xor_si128(c2[1332],_mm_xor_si128(c2[843],_mm_xor_si128(c2[1041],_mm_xor_si128(c2[144],_mm_xor_si128(c2[342],_mm_xor_si128(c2[1444],_mm_xor_si128(c2[143],_mm_xor_si128(c2[43],_mm_xor_si128(c2[853],_mm_xor_si128(c2[1051],_mm_xor_si128(c2[1052],_mm_xor_si128(c2[1350],_mm_xor_si128(c2[1250],_mm_xor_si128(c2[963],_mm_xor_si128(c2[863],_mm_xor_si128(c2[1061],_mm_xor_si128(c2[64],_mm_xor_si128(c2[262],_mm_xor_si128(c2[464],_mm_xor_si128(c2[762],_mm_xor_si128(c2[662],_mm_xor_si128(c2[1063],_mm_xor_si128(c2[873],_mm_xor_si128(c2[1071],_mm_xor_si128(c2[172],_mm_xor_si128(c2[470],_mm_xor_si128(c2[370],_mm_xor_si128(c2[883],_mm_xor_si128(c2[1081],_mm_xor_si128(c2[480],_mm_xor_si128(c2[683],_mm_xor_si128(c2[1381],_mm_xor_si128(c2[80],_mm_xor_si128(c2[1584],_mm_xor_si128(c2[993],_mm_xor_si128(c2[893],_mm_xor_si128(c2[1091],_mm_xor_si128(c2[1591],_mm_xor_si128(c2[190],_mm_xor_si128(c2[691],_mm_xor_si128(c2[994],c2[894])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[75]=_mm_xor_si128(c2[804],_mm_xor_si128(c2[301],_mm_xor_si128(c2[201],_mm_xor_si128(c2[103],_mm_xor_si128(c2[1104],_mm_xor_si128(c2[1200],_mm_xor_si128(c2[602],_mm_xor_si128(c2[0],_mm_xor_si128(c2[814],_mm_xor_si128(c2[311],_mm_xor_si128(c2[211],_mm_xor_si128(c2[610],_mm_xor_si128(c2[12],_mm_xor_si128(c2[1411],_mm_xor_si128(c2[813],_mm_xor_si128(c2[824],_mm_xor_si128(c2[321],_mm_xor_si128(c2[221],_mm_xor_si128(c2[720],_mm_xor_si128(c2[122],_mm_xor_si128(c2[834],_mm_xor_si128(c2[331],_mm_xor_si128(c2[231],_mm_xor_si128(c2[432],_mm_xor_si128(c2[1433],_mm_xor_si128(c2[1130],_mm_xor_si128(c2[532],_mm_xor_si128(c2[844],_mm_xor_si128(c2[241],_mm_xor_si128(c2[140],_mm_xor_si128(c2[1141],_mm_xor_si128(c2[1440],_mm_xor_si128(c2[842],_mm_xor_si128(c2[854],_mm_xor_si128(c2[251],_mm_xor_si128(c2[1053],_mm_xor_si128(c2[450],_mm_xor_si128(c2[864],_mm_xor_si128(c2[361],_mm_xor_si128(c2[261],_mm_xor_si128(c2[60],_mm_xor_si128(c2[1061],_mm_xor_si128(c2[460],_mm_xor_si128(c2[1461],_mm_xor_si128(c2[874],_mm_xor_si128(c2[271],_mm_xor_si128(c2[173],_mm_xor_si128(c2[1174],_mm_xor_si128(c2[884],_mm_xor_si128(c2[281],_mm_xor_si128(c2[481],_mm_xor_si128(c2[1482],_mm_xor_si128(c2[1382],_mm_xor_si128(c2[784],_mm_xor_si128(c2[894],_mm_xor_si128(c2[391],_mm_xor_si128(c2[291],_mm_xor_si128(c2[1592],_mm_xor_si128(c2[994],_mm_xor_si128(c2[692],c2[94]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[80]=_mm_xor_si128(c2[1501],_mm_xor_si128(c2[1401],_mm_xor_si128(c2[1503],_mm_xor_si128(c2[1403],_mm_xor_si128(c2[700],_mm_xor_si128(c2[802],_mm_xor_si128(c2[702],_mm_xor_si128(c2[203],_mm_xor_si128(c2[200],_mm_xor_si128(c2[1511],_mm_xor_si128(c2[1411],_mm_xor_si128(c2[1513],_mm_xor_si128(c2[1413],_mm_xor_si128(c2[1212],_mm_xor_si128(c2[1214],_mm_xor_si128(c2[414],_mm_xor_si128(c2[411],_mm_xor_si128(c2[10],_mm_xor_si128(c2[1521],_mm_xor_si128(c2[1421],_mm_xor_si128(c2[1523],_mm_xor_si128(c2[1423],_mm_xor_si128(c2[1322],_mm_xor_si128(c2[1324],_mm_xor_si128(c2[1531],_mm_xor_si128(c2[1431],_mm_xor_si128(c2[1533],_mm_xor_si128(c2[1433],_mm_xor_si128(c2[1034],_mm_xor_si128(c2[1131],_mm_xor_si128(c2[1031],_mm_xor_si128(c2[133],_mm_xor_si128(c2[130],_mm_xor_si128(c2[1441],_mm_xor_si128(c2[1543],_mm_xor_si128(c2[1443],_mm_xor_si128(c2[742],_mm_xor_si128(c2[744],_mm_xor_si128(c2[443],_mm_xor_si128(c2[440],_mm_xor_si128(c2[1451],_mm_xor_si128(c2[1553],_mm_xor_si128(c2[1453],_mm_xor_si128(c2[51],_mm_xor_si128(c2[53],_mm_xor_si128(c2[1561],_mm_xor_si128(c2[1461],_mm_xor_si128(c2[1563],_mm_xor_si128(c2[1463],_mm_xor_si128(c2[662],_mm_xor_si128(c2[764],_mm_xor_si128(c2[664],_mm_xor_si128(c2[1062],_mm_xor_si128(c2[1064],_mm_xor_si128(c2[1471],_mm_xor_si128(c2[1573],_mm_xor_si128(c2[1473],_mm_xor_si128(c2[770],_mm_xor_si128(c2[772],_mm_xor_si128(c2[1481],_mm_xor_si128(c2[1583],_mm_xor_si128(c2[1483],_mm_xor_si128(c2[1083],_mm_xor_si128(c2[1080],_mm_xor_si128(c2[380],_mm_xor_si128(c2[382],_mm_xor_si128(c2[1591],_mm_xor_si128(c2[1491],_mm_xor_si128(c2[1593],_mm_xor_si128(c2[1493],_mm_xor_si128(c2[590],_mm_xor_si128(c2[692],_mm_xor_si128(c2[592],_mm_xor_si128(c2[1294],_mm_xor_si128(c2[1291],c2[1594])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[85]=_mm_xor_si128(c2[1301],_mm_xor_si128(c2[1201],_mm_xor_si128(c2[201],_mm_xor_si128(c2[101],_mm_xor_si128(c2[500],_mm_xor_si128(c2[1104],_mm_xor_si128(c2[1004],_mm_xor_si128(c2[3],_mm_xor_si128(c2[502],_mm_xor_si128(c2[1311],_mm_xor_si128(c2[1211],_mm_xor_si128(c2[211],_mm_xor_si128(c2[111],_mm_xor_si128(c2[1012],_mm_xor_si128(c2[1511],_mm_xor_si128(c2[214],_mm_xor_si128(c2[713],_mm_xor_si128(c2[10],_mm_xor_si128(c2[1321],_mm_xor_si128(c2[1221],_mm_xor_si128(c2[221],_mm_xor_si128(c2[121],_mm_xor_si128(c2[1122],_mm_xor_si128(c2[22],_mm_xor_si128(c2[1331],_mm_xor_si128(c2[1231],_mm_xor_si128(c2[231],_mm_xor_si128(c2[131],_mm_xor_si128(c2[834],_mm_xor_si128(c2[1433],_mm_xor_si128(c2[1333],_mm_xor_si128(c2[1532],_mm_xor_si128(c2[432],_mm_xor_si128(c2[1241],_mm_xor_si128(c2[241],_mm_xor_si128(c2[141],_mm_xor_si128(c2[542],_mm_xor_si128(c2[1041],_mm_xor_si128(c2[243],_mm_xor_si128(c2[742],_mm_xor_si128(c2[1251],_mm_xor_si128(c2[251],_mm_xor_si128(c2[151],_mm_xor_si128(c2[1450],_mm_xor_si128(c2[350],_mm_xor_si128(c2[851],_mm_xor_si128(c2[1361],_mm_xor_si128(c2[1261],_mm_xor_si128(c2[261],_mm_xor_si128(c2[161],_mm_xor_si128(c2[462],_mm_xor_si128(c2[1061],_mm_xor_si128(c2[961],_mm_xor_si128(c2[862],_mm_xor_si128(c2[1361],_mm_xor_si128(c2[1271],_mm_xor_si128(c2[271],_mm_xor_si128(c2[171],_mm_xor_si128(c2[570],_mm_xor_si128(c2[1074],_mm_xor_si128(c2[1281],_mm_xor_si128(c2[281],_mm_xor_si128(c2[181],_mm_xor_si128(c2[883],_mm_xor_si128(c2[1382],_mm_xor_si128(c2[180],_mm_xor_si128(c2[684],_mm_xor_si128(c2[1391],_mm_xor_si128(c2[1291],_mm_xor_si128(c2[291],_mm_xor_si128(c2[191],_mm_xor_si128(c2[390],_mm_xor_si128(c2[994],_mm_xor_si128(c2[894],_mm_xor_si128(c2[1094],c2[1593])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[90]=_mm_xor_si128(c2[0],_mm_xor_si128(c2[261],c2[670]));
//row: 19
d2[95]=_mm_xor_si128(c2[904],_mm_xor_si128(c2[203],_mm_xor_si128(c2[1300],_mm_xor_si128(c2[0],_mm_xor_si128(c2[914],_mm_xor_si128(c2[710],_mm_xor_si128(c2[1511],_mm_xor_si128(c2[1414],_mm_xor_si128(c2[924],_mm_xor_si128(c2[820],_mm_xor_si128(c2[934],_mm_xor_si128(c2[532],_mm_xor_si128(c2[1230],_mm_xor_si128(c2[944],_mm_xor_si128(c2[240],_mm_xor_si128(c2[1540],_mm_xor_si128(c2[954],_mm_xor_si128(c2[1153],_mm_xor_si128(c2[964],_mm_xor_si128(c2[160],_mm_xor_si128(c2[560],_mm_xor_si128(c2[974],_mm_xor_si128(c2[273],_mm_xor_si128(c2[984],_mm_xor_si128(c2[581],_mm_xor_si128(c2[1482],_mm_xor_si128(c2[994],_mm_xor_si128(c2[93],c2[792]))))))))))))))))))))))))))));
//row: 20
d2[100]=_mm_xor_si128(c2[801],_mm_xor_si128(c2[701],_mm_xor_si128(c2[0],_mm_xor_si128(c2[1102],_mm_xor_si128(c2[811],_mm_xor_si128(c2[711],_mm_xor_si128(c2[512],_mm_xor_si128(c2[1313],_mm_xor_si128(c2[10],_mm_xor_si128(c2[821],_mm_xor_si128(c2[721],_mm_xor_si128(c2[622],_mm_xor_si128(c2[831],_mm_xor_si128(c2[731],_mm_xor_si128(c2[334],_mm_xor_si128(c2[1032],_mm_xor_si128(c2[741],_mm_xor_si128(c2[42],_mm_xor_si128(c2[1342],_mm_xor_si128(c2[444],_mm_xor_si128(c2[751],_mm_xor_si128(c2[950],_mm_xor_si128(c2[861],_mm_xor_si128(c2[761],_mm_xor_si128(c2[1561],_mm_xor_si128(c2[362],_mm_xor_si128(c2[771],_mm_xor_si128(c2[70],_mm_xor_si128(c2[781],_mm_xor_si128(c2[383],_mm_xor_si128(c2[1284],_mm_xor_si128(c2[891],_mm_xor_si128(c2[791],_mm_xor_si128(c2[1494],c2[594]))))))))))))))))))))))))))))))))));
//row: 21
d2[105]=_mm_xor_si128(c2[2],_mm_xor_si128(c2[900],_mm_xor_si128(c2[403],_mm_xor_si128(c2[0],_mm_xor_si128(c2[12],_mm_xor_si128(c2[1412],_mm_xor_si128(c2[714],_mm_xor_si128(c2[614],_mm_xor_si128(c2[22],_mm_xor_si128(c2[23],_mm_xor_si128(c2[1522],_mm_xor_si128(c2[32],_mm_xor_si128(c2[1234],_mm_xor_si128(c2[333],_mm_xor_si128(c2[42],_mm_xor_si128(c2[942],_mm_xor_si128(c2[743],_mm_xor_si128(c2[643],_mm_xor_si128(c2[52],_mm_xor_si128(c2[351],_mm_xor_si128(c2[251],_mm_xor_si128(c2[62],_mm_xor_si128(c2[862],_mm_xor_si128(c2[1362],_mm_xor_si128(c2[1262],_mm_xor_si128(c2[72],_mm_xor_si128(c2[1070],_mm_xor_si128(c2[970],_mm_xor_si128(c2[82],_mm_xor_si128(c2[1283],_mm_xor_si128(c2[680],_mm_xor_si128(c2[580],_mm_xor_si128(c2[181],_mm_xor_si128(c2[92],_mm_xor_si128(c2[790],_mm_xor_si128(c2[1594],c2[1494]))))))))))))))))))))))))))))))))))));
//row: 22
d2[110]=_mm_xor_si128(c2[10],c2[420]);
//row: 23
d2[115]=_mm_xor_si128(c2[0],_mm_xor_si128(c2[1134],c2[1454]));
//row: 24
d2[120]=_mm_xor_si128(c2[10],_mm_xor_si128(c2[524],c2[790]));
//row: 25
d2[125]=_mm_xor_si128(c2[0],c2[154]);
//row: 26
d2[130]=_mm_xor_si128(c2[1300],_mm_xor_si128(c2[1200],_mm_xor_si128(c2[600],_mm_xor_si128(c2[604],_mm_xor_si128(c2[504],_mm_xor_si128(c2[1503],_mm_xor_si128(c2[2],_mm_xor_si128(c2[1001],_mm_xor_si128(c2[1310],_mm_xor_si128(c2[1210],_mm_xor_si128(c2[610],_mm_xor_si128(c2[1011],_mm_xor_si128(c2[411],_mm_xor_si128(c2[213],_mm_xor_si128(c2[1312],_mm_xor_si128(c2[1212],_mm_xor_si128(c2[1320],_mm_xor_si128(c2[1220],_mm_xor_si128(c2[620],_mm_xor_si128(c2[1121],_mm_xor_si128(c2[621],_mm_xor_si128(c2[521],_mm_xor_si128(c2[20],_mm_xor_si128(c2[1330],_mm_xor_si128(c2[1230],_mm_xor_si128(c2[630],_mm_xor_si128(c2[933],_mm_xor_si128(c2[833],_mm_xor_si128(c2[233],_mm_xor_si128(c2[1531],_mm_xor_si128(c2[931],_mm_xor_si128(c2[1340],_mm_xor_si128(c2[1240],_mm_xor_si128(c2[640],_mm_xor_si128(c2[541],_mm_xor_si128(c2[1540],_mm_xor_si128(c2[242],_mm_xor_si128(c2[1341],_mm_xor_si128(c2[1241],_mm_xor_si128(c2[1350],_mm_xor_si128(c2[1250],_mm_xor_si128(c2[650],_mm_xor_si128(c2[1454],_mm_xor_si128(c2[954],_mm_xor_si128(c2[854],_mm_xor_si128(c2[1360],_mm_xor_si128(c2[1260],_mm_xor_si128(c2[660],_mm_xor_si128(c2[561],_mm_xor_si128(c2[461],_mm_xor_si128(c2[1460],_mm_xor_si128(c2[861],_mm_xor_si128(c2[361],_mm_xor_si128(c2[261],_mm_xor_si128(c2[1370],_mm_xor_si128(c2[1270],_mm_xor_si128(c2[670],_mm_xor_si128(c2[574],_mm_xor_si128(c2[74],_mm_xor_si128(c2[1573],_mm_xor_si128(c2[471],_mm_xor_si128(c2[1380],_mm_xor_si128(c2[1280],_mm_xor_si128(c2[680],_mm_xor_si128(c2[882],_mm_xor_si128(c2[282],_mm_xor_si128(c2[184],_mm_xor_si128(c2[1283],_mm_xor_si128(c2[1183],_mm_xor_si128(c2[1390],_mm_xor_si128(c2[1290],_mm_xor_si128(c2[690],_mm_xor_si128(c2[494],_mm_xor_si128(c2[394],_mm_xor_si128(c2[1393],_mm_xor_si128(c2[1093],_mm_xor_si128(c2[593],c2[493])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[135]=_mm_xor_si128(c2[0],c2[62]);
//row: 28
d2[140]=_mm_xor_si128(c2[10],_mm_xor_si128(c2[1422],c2[1451]));
//row: 29
d2[145]=_mm_xor_si128(c2[0],c2[1044]);
//row: 30
d2[150]=_mm_xor_si128(c2[20],_mm_xor_si128(c2[352],_mm_xor_si128(c2[373],c2[693])));
//row: 31
d2[155]=_mm_xor_si128(c2[301],_mm_xor_si128(c2[1204],_mm_xor_si128(c2[702],_mm_xor_si128(c2[311],_mm_xor_si128(c2[112],_mm_xor_si128(c2[1013],_mm_xor_si128(c2[913],_mm_xor_si128(c2[10],_mm_xor_si128(c2[321],_mm_xor_si128(c2[322],_mm_xor_si128(c2[222],_mm_xor_si128(c2[331],_mm_xor_si128(c2[1533],_mm_xor_si128(c2[632],_mm_xor_si128(c2[341],_mm_xor_si128(c2[1241],_mm_xor_si128(c2[1042],_mm_xor_si128(c2[942],_mm_xor_si128(c2[351],_mm_xor_si128(c2[650],_mm_xor_si128(c2[550],_mm_xor_si128(c2[361],_mm_xor_si128(c2[1161],_mm_xor_si128(c2[62],_mm_xor_si128(c2[1561],_mm_xor_si128(c2[371],_mm_xor_si128(c2[1374],_mm_xor_si128(c2[1274],_mm_xor_si128(c2[381],_mm_xor_si128(c2[1582],_mm_xor_si128(c2[984],_mm_xor_si128(c2[884],_mm_xor_si128(c2[391],_mm_xor_si128(c2[1094],_mm_xor_si128(c2[294],c2[194])))))))))))))))))))))))))))))))))));
//row: 32
d2[160]=_mm_xor_si128(c2[1002],_mm_xor_si128(c2[902],_mm_xor_si128(c2[301],_mm_xor_si128(c2[201],_mm_xor_si128(c2[1303],_mm_xor_si128(c2[0],_mm_xor_si128(c2[1012],_mm_xor_si128(c2[912],_mm_xor_si128(c2[713],_mm_xor_si128(c2[1514],_mm_xor_si128(c2[1022],_mm_xor_si128(c2[922],_mm_xor_si128(c2[823],_mm_xor_si128(c2[1032],_mm_xor_si128(c2[932],_mm_xor_si128(c2[630],_mm_xor_si128(c2[530],_mm_xor_si128(c2[1233],_mm_xor_si128(c2[1042],_mm_xor_si128(c2[942],_mm_xor_si128(c2[243],_mm_xor_si128(c2[1543],_mm_xor_si128(c2[1052],_mm_xor_si128(c2[952],_mm_xor_si128(c2[1151],_mm_xor_si128(c2[451],_mm_xor_si128(c2[1062],_mm_xor_si128(c2[962],_mm_xor_si128(c2[263],_mm_xor_si128(c2[163],_mm_xor_si128(c2[563],_mm_xor_si128(c2[1072],_mm_xor_si128(c2[972],_mm_xor_si128(c2[271],_mm_xor_si128(c2[1082],_mm_xor_si128(c2[982],_mm_xor_si128(c2[584],_mm_xor_si128(c2[1480],_mm_xor_si128(c2[1092],_mm_xor_si128(c2[992],_mm_xor_si128(c2[191],_mm_xor_si128(c2[91],c2[790]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[165]=_mm_xor_si128(c2[1200],_mm_xor_si128(c2[504],_mm_xor_si128(c2[2],_mm_xor_si128(c2[1210],_mm_xor_si128(c2[1011],_mm_xor_si128(c2[213],_mm_xor_si128(c2[1220],_mm_xor_si128(c2[1121],_mm_xor_si128(c2[20],_mm_xor_si128(c2[1230],_mm_xor_si128(c2[833],_mm_xor_si128(c2[1531],_mm_xor_si128(c2[1240],_mm_xor_si128(c2[541],_mm_xor_si128(c2[242],_mm_xor_si128(c2[1250],_mm_xor_si128(c2[1454],_mm_xor_si128(c2[1260],_mm_xor_si128(c2[461],_mm_xor_si128(c2[861],_mm_xor_si128(c2[1270],_mm_xor_si128(c2[574],_mm_xor_si128(c2[870],_mm_xor_si128(c2[1280],_mm_xor_si128(c2[882],_mm_xor_si128(c2[184],_mm_xor_si128(c2[1290],_mm_xor_si128(c2[394],c2[1093]))))))))))))))))))))))))))));
//row: 34
d2[170]=_mm_xor_si128(c2[301],_mm_xor_si128(c2[201],_mm_xor_si128(c2[1304],_mm_xor_si128(c2[1204],_mm_xor_si128(c2[1104],_mm_xor_si128(c2[603],_mm_xor_si128(c2[602],_mm_xor_si128(c2[101],_mm_xor_si128(c2[0],_mm_xor_si128(c2[311],_mm_xor_si128(c2[211],_mm_xor_si128(c2[1314],_mm_xor_si128(c2[12],_mm_xor_si128(c2[1110],_mm_xor_si128(c2[813],_mm_xor_si128(c2[412],_mm_xor_si128(c2[312],_mm_xor_si128(c2[321],_mm_xor_si128(c2[221],_mm_xor_si128(c2[1324],_mm_xor_si128(c2[122],_mm_xor_si128(c2[1320],_mm_xor_si128(c2[1220],_mm_xor_si128(c2[331],_mm_xor_si128(c2[231],_mm_xor_si128(c2[1334],_mm_xor_si128(c2[1533],_mm_xor_si128(c2[1433],_mm_xor_si128(c2[932],_mm_xor_si128(c2[532],_mm_xor_si128(c2[31],_mm_xor_si128(c2[341],_mm_xor_si128(c2[241],_mm_xor_si128(c2[1344],_mm_xor_si128(c2[1141],_mm_xor_si128(c2[640],_mm_xor_si128(c2[842],_mm_xor_si128(c2[441],_mm_xor_si128(c2[341],_mm_xor_si128(c2[351],_mm_xor_si128(c2[251],_mm_xor_si128(c2[1354],_mm_xor_si128(c2[450],_mm_xor_si128(c2[54],_mm_xor_si128(c2[1553],_mm_xor_si128(c2[361],_mm_xor_si128(c2[261],_mm_xor_si128(c2[1364],_mm_xor_si128(c2[1161],_mm_xor_si128(c2[1061],_mm_xor_si128(c2[560],_mm_xor_si128(c2[1461],_mm_xor_si128(c2[1060],_mm_xor_si128(c2[960],_mm_xor_si128(c2[371],_mm_xor_si128(c2[271],_mm_xor_si128(c2[1374],_mm_xor_si128(c2[1174],_mm_xor_si128(c2[773],_mm_xor_si128(c2[673],_mm_xor_si128(c2[381],_mm_xor_si128(c2[281],_mm_xor_si128(c2[1384],_mm_xor_si128(c2[1482],_mm_xor_si128(c2[981],_mm_xor_si128(c2[784],_mm_xor_si128(c2[383],_mm_xor_si128(c2[283],_mm_xor_si128(c2[391],_mm_xor_si128(c2[291],_mm_xor_si128(c2[1394],_mm_xor_si128(c2[1094],_mm_xor_si128(c2[994],_mm_xor_si128(c2[493],_mm_xor_si128(c2[94],_mm_xor_si128(c2[1292],c2[1192]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[175]=_mm_xor_si128(c2[600],_mm_xor_si128(c2[500],_mm_xor_si128(c2[1403],_mm_xor_si128(c2[901],_mm_xor_si128(c2[610],_mm_xor_si128(c2[510],_mm_xor_si128(c2[311],_mm_xor_si128(c2[1112],_mm_xor_si128(c2[10],_mm_xor_si128(c2[620],_mm_xor_si128(c2[520],_mm_xor_si128(c2[421],_mm_xor_si128(c2[630],_mm_xor_si128(c2[530],_mm_xor_si128(c2[133],_mm_xor_si128(c2[831],_mm_xor_si128(c2[540],_mm_xor_si128(c2[1440],_mm_xor_si128(c2[1141],_mm_xor_si128(c2[550],_mm_xor_si128(c2[754],_mm_xor_si128(c2[1354],_mm_xor_si128(c2[660],_mm_xor_si128(c2[560],_mm_xor_si128(c2[1360],_mm_xor_si128(c2[161],_mm_xor_si128(c2[570],_mm_xor_si128(c2[1473],_mm_xor_si128(c2[580],_mm_xor_si128(c2[182],_mm_xor_si128(c2[1083],_mm_xor_si128(c2[690],_mm_xor_si128(c2[590],_mm_xor_si128(c2[1293],c2[393]))))))))))))))))))))))))))))))))));
//row: 36
d2[180]=_mm_xor_si128(c2[0],_mm_xor_si128(c2[1523],c2[270]));
//row: 37
d2[185]=_mm_xor_si128(c2[1504],_mm_xor_si128(c2[1503],_mm_xor_si128(c2[803],_mm_xor_si128(c2[802],_mm_xor_si128(c2[301],_mm_xor_si128(c2[300],_mm_xor_si128(c2[1514],_mm_xor_si128(c2[1513],_mm_xor_si128(c2[1310],_mm_xor_si128(c2[1314],_mm_xor_si128(c2[512],_mm_xor_si128(c2[611],_mm_xor_si128(c2[511],_mm_xor_si128(c2[1524],_mm_xor_si128(c2[1523],_mm_xor_si128(c2[1420],_mm_xor_si128(c2[1524],_mm_xor_si128(c2[1424],_mm_xor_si128(c2[1534],_mm_xor_si128(c2[1533],_mm_xor_si128(c2[1132],_mm_xor_si128(c2[1131],_mm_xor_si128(c2[231],_mm_xor_si128(c2[230],_mm_xor_si128(c2[1544],_mm_xor_si128(c2[1543],_mm_xor_si128(c2[840],_mm_xor_si128(c2[844],_mm_xor_si128(c2[541],_mm_xor_si128(c2[640],_mm_xor_si128(c2[540],_mm_xor_si128(c2[1554],_mm_xor_si128(c2[1553],_mm_xor_si128(c2[154],_mm_xor_si128(c2[253],_mm_xor_si128(c2[153],_mm_xor_si128(c2[1564],_mm_xor_si128(c2[1563],_mm_xor_si128(c2[760],_mm_xor_si128(c2[764],_mm_xor_si128(c2[1160],_mm_xor_si128(c2[1264],_mm_xor_si128(c2[1164],_mm_xor_si128(c2[1574],_mm_xor_si128(c2[1573],_mm_xor_si128(c2[873],_mm_xor_si128(c2[972],_mm_xor_si128(c2[872],_mm_xor_si128(c2[1584],_mm_xor_si128(c2[1583],_mm_xor_si128(c2[1181],_mm_xor_si128(c2[1180],_mm_xor_si128(c2[483],_mm_xor_si128(c2[582],_mm_xor_si128(c2[482],_mm_xor_si128(c2[1594],_mm_xor_si128(c2[1593],_mm_xor_si128(c2[693],_mm_xor_si128(c2[692],_mm_xor_si128(c2[1392],_mm_xor_si128(c2[1491],c2[1391])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[190]=_mm_xor_si128(c2[301],_mm_xor_si128(c2[201],_mm_xor_si128(c2[1104],_mm_xor_si128(c2[602],_mm_xor_si128(c2[311],_mm_xor_si128(c2[211],_mm_xor_si128(c2[12],_mm_xor_si128(c2[813],_mm_xor_si128(c2[10],_mm_xor_si128(c2[321],_mm_xor_si128(c2[221],_mm_xor_si128(c2[122],_mm_xor_si128(c2[331],_mm_xor_si128(c2[231],_mm_xor_si128(c2[1433],_mm_xor_si128(c2[532],_mm_xor_si128(c2[241],_mm_xor_si128(c2[1141],_mm_xor_si128(c2[842],_mm_xor_si128(c2[251],_mm_xor_si128(c2[450],_mm_xor_si128(c2[1350],_mm_xor_si128(c2[361],_mm_xor_si128(c2[261],_mm_xor_si128(c2[1061],_mm_xor_si128(c2[1461],_mm_xor_si128(c2[271],_mm_xor_si128(c2[1174],_mm_xor_si128(c2[281],_mm_xor_si128(c2[1482],_mm_xor_si128(c2[784],_mm_xor_si128(c2[391],_mm_xor_si128(c2[291],_mm_xor_si128(c2[994],c2[94]))))))))))))))))))))))))))))))))));
//row: 39
d2[195]=_mm_xor_si128(c2[1003],_mm_xor_si128(c2[903],_mm_xor_si128(c2[302],_mm_xor_si128(c2[202],_mm_xor_si128(c2[1304],_mm_xor_si128(c2[0],_mm_xor_si128(c2[1013],_mm_xor_si128(c2[913],_mm_xor_si128(c2[714],_mm_xor_si128(c2[1510],_mm_xor_si128(c2[1023],_mm_xor_si128(c2[923],_mm_xor_si128(c2[824],_mm_xor_si128(c2[1033],_mm_xor_si128(c2[933],_mm_xor_si128(c2[631],_mm_xor_si128(c2[531],_mm_xor_si128(c2[1234],_mm_xor_si128(c2[1043],_mm_xor_si128(c2[943],_mm_xor_si128(c2[244],_mm_xor_si128(c2[1544],_mm_xor_si128(c2[1053],_mm_xor_si128(c2[953],_mm_xor_si128(c2[1152],_mm_xor_si128(c2[1063],_mm_xor_si128(c2[963],_mm_xor_si128(c2[264],_mm_xor_si128(c2[164],_mm_xor_si128(c2[564],_mm_xor_si128(c2[1073],_mm_xor_si128(c2[973],_mm_xor_si128(c2[272],_mm_xor_si128(c2[871],_mm_xor_si128(c2[1083],_mm_xor_si128(c2[983],_mm_xor_si128(c2[580],_mm_xor_si128(c2[1481],_mm_xor_si128(c2[1093],_mm_xor_si128(c2[993],_mm_xor_si128(c2[192],_mm_xor_si128(c2[92],c2[791]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[200]=_mm_xor_si128(c2[302],_mm_xor_si128(c2[1403],_mm_xor_si128(c2[1200],_mm_xor_si128(c2[702],_mm_xor_si128(c2[703],_mm_xor_si128(c2[200],_mm_xor_si128(c2[312],_mm_xor_si128(c2[1413],_mm_xor_si128(c2[113],_mm_xor_si128(c2[1214],_mm_xor_si128(c2[914],_mm_xor_si128(c2[511],_mm_xor_si128(c2[411],_mm_xor_si128(c2[322],_mm_xor_si128(c2[1423],_mm_xor_si128(c2[223],_mm_xor_si128(c2[1424],_mm_xor_si128(c2[1324],_mm_xor_si128(c2[20],_mm_xor_si128(c2[332],_mm_xor_si128(c2[1433],_mm_xor_si128(c2[1534],_mm_xor_si128(c2[1031],_mm_xor_si128(c2[633],_mm_xor_si128(c2[130],_mm_xor_si128(c2[342],_mm_xor_si128(c2[1443],_mm_xor_si128(c2[1242],_mm_xor_si128(c2[744],_mm_xor_si128(c2[943],_mm_xor_si128(c2[540],_mm_xor_si128(c2[440],_mm_xor_si128(c2[352],_mm_xor_si128(c2[1453],_mm_xor_si128(c2[551],_mm_xor_si128(c2[153],_mm_xor_si128(c2[53],_mm_xor_si128(c2[362],_mm_xor_si128(c2[1463],_mm_xor_si128(c2[1162],_mm_xor_si128(c2[664],_mm_xor_si128(c2[1562],_mm_xor_si128(c2[1164],_mm_xor_si128(c2[1064],_mm_xor_si128(c2[372],_mm_xor_si128(c2[1473],_mm_xor_si128(c2[1270],_mm_xor_si128(c2[872],_mm_xor_si128(c2[772],_mm_xor_si128(c2[382],_mm_xor_si128(c2[1483],_mm_xor_si128(c2[1583],_mm_xor_si128(c2[1080],_mm_xor_si128(c2[880],_mm_xor_si128(c2[482],_mm_xor_si128(c2[382],_mm_xor_si128(c2[392],_mm_xor_si128(c2[1493],_mm_xor_si128(c2[1090],_mm_xor_si128(c2[592],_mm_xor_si128(c2[190],_mm_xor_si128(c2[1391],c2[1291]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[205]=_mm_xor_si128(c2[703],_mm_xor_si128(c2[603],_mm_xor_si128(c2[1501],_mm_xor_si128(c2[1004],_mm_xor_si128(c2[713],_mm_xor_si128(c2[613],_mm_xor_si128(c2[414],_mm_xor_si128(c2[1210],_mm_xor_si128(c2[10],_mm_xor_si128(c2[723],_mm_xor_si128(c2[623],_mm_xor_si128(c2[524],_mm_xor_si128(c2[733],_mm_xor_si128(c2[633],_mm_xor_si128(c2[231],_mm_xor_si128(c2[934],_mm_xor_si128(c2[643],_mm_xor_si128(c2[1543],_mm_xor_si128(c2[1244],_mm_xor_si128(c2[653],_mm_xor_si128(c2[852],_mm_xor_si128(c2[250],_mm_xor_si128(c2[763],_mm_xor_si128(c2[663],_mm_xor_si128(c2[1463],_mm_xor_si128(c2[264],_mm_xor_si128(c2[673],_mm_xor_si128(c2[1571],_mm_xor_si128(c2[683],_mm_xor_si128(c2[280],_mm_xor_si128(c2[1181],_mm_xor_si128(c2[793],_mm_xor_si128(c2[693],_mm_xor_si128(c2[1391],c2[491]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=88, byte encoding
static inline void ldpc_BG2_Zc88_byte(uint8_t *c,uint8_t *d) {
__m64 *csimd=(__m64 *)c,*dsimd=(__m64 *)d;
__m64 *c2,*d2;
int i2;
for (i2=0; i2<11; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm_xor_si64(c2[668],_mm_xor_si64(c2[2],_mm_xor_si64(c2[221],_mm_xor_si64(c2[1348],_mm_xor_si64(c2[1571],_mm_xor_si64(c2[908],_mm_xor_si64(c2[1145],_mm_xor_si64(c2[1154],_mm_xor_si64(c2[506],_mm_xor_si64(c2[74],_mm_xor_si64(c2[508],_mm_xor_si64(c2[1415],_mm_xor_si64(c2[318],_mm_xor_si64(c2[1198],_mm_xor_si64(c2[110],_mm_xor_si64(c2[1434],_mm_xor_si64(c2[1676],_mm_xor_si64(c2[1458],_mm_xor_si64(c2[134],_mm_xor_si64(c2[1038],_mm_xor_si64(c2[154],_mm_xor_si64(c2[626],_mm_xor_si64(c2[1282],_mm_xor_si64(c2[178],_mm_xor_si64(c2[642],_mm_xor_si64(c2[1083],c2[200]))))))))))))))))))))))))));
//row: 1
d2[11]=_mm_xor_si64(c2[888],_mm_xor_si64(c2[668],_mm_xor_si64(c2[2],_mm_xor_si64(c2[221],_mm_xor_si64(c2[1568],_mm_xor_si64(c2[1348],_mm_xor_si64(c2[1571],_mm_xor_si64(c2[908],_mm_xor_si64(c2[1365],_mm_xor_si64(c2[1145],_mm_xor_si64(c2[1154],_mm_xor_si64(c2[726],_mm_xor_si64(c2[506],_mm_xor_si64(c2[74],_mm_xor_si64(c2[508],_mm_xor_si64(c2[1415],_mm_xor_si64(c2[318],_mm_xor_si64(c2[1198],_mm_xor_si64(c2[110],_mm_xor_si64(c2[1434],_mm_xor_si64(c2[137],_mm_xor_si64(c2[1676],_mm_xor_si64(c2[1458],_mm_xor_si64(c2[134],_mm_xor_si64(c2[1038],_mm_xor_si64(c2[154],_mm_xor_si64(c2[626],_mm_xor_si64(c2[1282],_mm_xor_si64(c2[178],_mm_xor_si64(c2[862],_mm_xor_si64(c2[642],_mm_xor_si64(c2[1083],c2[200]))))))))))))))))))))))))))))))));
//row: 2
d2[22]=_mm_xor_si64(c2[888],_mm_xor_si64(c2[668],_mm_xor_si64(c2[222],_mm_xor_si64(c2[2],_mm_xor_si64(c2[221],_mm_xor_si64(c2[1568],_mm_xor_si64(c2[1348],_mm_xor_si64(c2[1571],_mm_xor_si64(c2[908],_mm_xor_si64(c2[1365],_mm_xor_si64(c2[1145],_mm_xor_si64(c2[1154],_mm_xor_si64(c2[726],_mm_xor_si64(c2[506],_mm_xor_si64(c2[294],_mm_xor_si64(c2[74],_mm_xor_si64(c2[508],_mm_xor_si64(c2[1635],_mm_xor_si64(c2[1415],_mm_xor_si64(c2[318],_mm_xor_si64(c2[1198],_mm_xor_si64(c2[330],_mm_xor_si64(c2[110],_mm_xor_si64(c2[1434],_mm_xor_si64(c2[137],_mm_xor_si64(c2[1676],_mm_xor_si64(c2[1678],_mm_xor_si64(c2[1458],_mm_xor_si64(c2[134],_mm_xor_si64(c2[1258],_mm_xor_si64(c2[1038],_mm_xor_si64(c2[154],_mm_xor_si64(c2[846],_mm_xor_si64(c2[626],_mm_xor_si64(c2[1282],_mm_xor_si64(c2[178],_mm_xor_si64(c2[862],_mm_xor_si64(c2[642],_mm_xor_si64(c2[1303],_mm_xor_si64(c2[1083],c2[200]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[33]=_mm_xor_si64(c2[668],_mm_xor_si64(c2[2],_mm_xor_si64(c2[221],_mm_xor_si64(c2[1348],_mm_xor_si64(c2[1571],_mm_xor_si64(c2[1128],_mm_xor_si64(c2[908],_mm_xor_si64(c2[1145],_mm_xor_si64(c2[1374],_mm_xor_si64(c2[1154],_mm_xor_si64(c2[506],_mm_xor_si64(c2[74],_mm_xor_si64(c2[508],_mm_xor_si64(c2[1415],_mm_xor_si64(c2[318],_mm_xor_si64(c2[1418],_mm_xor_si64(c2[1198],_mm_xor_si64(c2[110],_mm_xor_si64(c2[1654],_mm_xor_si64(c2[1434],_mm_xor_si64(c2[1676],_mm_xor_si64(c2[1458],_mm_xor_si64(c2[354],_mm_xor_si64(c2[134],_mm_xor_si64(c2[1038],_mm_xor_si64(c2[374],_mm_xor_si64(c2[154],_mm_xor_si64(c2[626],_mm_xor_si64(c2[1282],_mm_xor_si64(c2[398],_mm_xor_si64(c2[178],_mm_xor_si64(c2[642],_mm_xor_si64(c2[1083],_mm_xor_si64(c2[420],c2[200]))))))))))))))))))))))))))))))))));
//row: 4
d2[44]=_mm_xor_si64(c2[1547],_mm_xor_si64(c2[1327],_mm_xor_si64(c2[661],_mm_xor_si64(c2[880],_mm_xor_si64(c2[1330],_mm_xor_si64(c2[468],_mm_xor_si64(c2[248],_mm_xor_si64(c2[471],_mm_xor_si64(c2[1567],_mm_xor_si64(c2[690],_mm_xor_si64(c2[265],_mm_xor_si64(c2[45],_mm_xor_si64(c2[54],_mm_xor_si64(c2[1396],_mm_xor_si64(c2[1176],_mm_xor_si64(c2[733],_mm_xor_si64(c2[1167],_mm_xor_si64(c2[315],_mm_xor_si64(c2[977],_mm_xor_si64(c2[98],_mm_xor_si64(c2[780],_mm_xor_si64(c2[334],_mm_xor_si64(c2[796],_mm_xor_si64(c2[576],_mm_xor_si64(c2[358],_mm_xor_si64(c2[793],_mm_xor_si64(c2[1697],_mm_xor_si64(c2[824],_mm_xor_si64(c2[1285],_mm_xor_si64(c2[182],_mm_xor_si64(c2[837],_mm_xor_si64(c2[1521],_mm_xor_si64(c2[1301],_mm_xor_si64(c2[1742],c2[859]))))))))))))))))))))))))))))))))));
//row: 5
d2[55]=_mm_xor_si64(c2[5],_mm_xor_si64(c2[1544],_mm_xor_si64(c2[889],_mm_xor_si64(c2[1108],_mm_xor_si64(c2[1549],_mm_xor_si64(c2[685],_mm_xor_si64(c2[465],_mm_xor_si64(c2[688],_mm_xor_si64(c2[25],_mm_xor_si64(c2[912],_mm_xor_si64(c2[493],_mm_xor_si64(c2[273],_mm_xor_si64(c2[271],_mm_xor_si64(c2[1613],_mm_xor_si64(c2[1393],_mm_xor_si64(c2[950],_mm_xor_si64(c2[1395],_mm_xor_si64(c2[532],_mm_xor_si64(c2[1194],_mm_xor_si64(c2[315],_mm_xor_si64(c2[997],_mm_xor_si64(c2[551],_mm_xor_si64(c2[774],_mm_xor_si64(c2[1013],_mm_xor_si64(c2[793],_mm_xor_si64(c2[575],_mm_xor_si64(c2[1021],_mm_xor_si64(c2[155],_mm_xor_si64(c2[1041],_mm_xor_si64(c2[1695],_mm_xor_si64(c2[1502],_mm_xor_si64(c2[399],_mm_xor_si64(c2[1065],_mm_xor_si64(c2[1738],_mm_xor_si64(c2[1518],_mm_xor_si64(c2[200],c2[1087]))))))))))))))))))))))))))))))))))));
//row: 6
d2[66]=_mm_xor_si64(c2[221],_mm_xor_si64(c2[1],_mm_xor_si64(c2[1105],_mm_xor_si64(c2[1324],_mm_xor_si64(c2[1545],_mm_xor_si64(c2[912],_mm_xor_si64(c2[692],_mm_xor_si64(c2[904],_mm_xor_si64(c2[252],_mm_xor_si64(c2[709],_mm_xor_si64(c2[489],_mm_xor_si64(c2[487],_mm_xor_si64(c2[70],_mm_xor_si64(c2[1609],_mm_xor_si64(c2[1166],_mm_xor_si64(c2[1611],_mm_xor_si64(c2[748],_mm_xor_si64(c2[1410],_mm_xor_si64(c2[531],_mm_xor_si64(c2[1213],_mm_xor_si64(c2[778],_mm_xor_si64(c2[558],_mm_xor_si64(c2[1240],_mm_xor_si64(c2[1020],_mm_xor_si64(c2[802],_mm_xor_si64(c2[1237],_mm_xor_si64(c2[382],_mm_xor_si64(c2[1257],_mm_xor_si64(c2[595],_mm_xor_si64(c2[1718],_mm_xor_si64(c2[626],_mm_xor_si64(c2[1281],_mm_xor_si64(c2[206],_mm_xor_si64(c2[1745],_mm_xor_si64(c2[427],_mm_xor_si64(c2[1303],c2[866]))))))))))))))))))))))))))))))))))));
//row: 7
d2[77]=_mm_xor_si64(c2[663],_mm_xor_si64(c2[443],_mm_xor_si64(c2[444],_mm_xor_si64(c2[1547],_mm_xor_si64(c2[1548],_mm_xor_si64(c2[7],_mm_xor_si64(c2[8],_mm_xor_si64(c2[1343],_mm_xor_si64(c2[1123],_mm_xor_si64(c2[1124],_mm_xor_si64(c2[1346],_mm_xor_si64(c2[1347],_mm_xor_si64(c2[683],_mm_xor_si64(c2[904],_mm_xor_si64(c2[684],_mm_xor_si64(c2[28],_mm_xor_si64(c2[1151],_mm_xor_si64(c2[931],_mm_xor_si64(c2[932],_mm_xor_si64(c2[929],_mm_xor_si64(c2[1150],_mm_xor_si64(c2[930],_mm_xor_si64(c2[512],_mm_xor_si64(c2[292],_mm_xor_si64(c2[293],_mm_xor_si64(c2[1608],_mm_xor_si64(c2[1609],_mm_xor_si64(c2[294],_mm_xor_si64(c2[295],_mm_xor_si64(c2[1190],_mm_xor_si64(c2[1191],_mm_xor_si64(c2[93],_mm_xor_si64(c2[94],_mm_xor_si64(c2[973],_mm_xor_si64(c2[1194],_mm_xor_si64(c2[974],_mm_xor_si64(c2[1655],_mm_xor_si64(c2[1656],_mm_xor_si64(c2[1220],_mm_xor_si64(c2[1430],_mm_xor_si64(c2[1210],_mm_xor_si64(c2[1214],_mm_xor_si64(c2[1682],_mm_xor_si64(c2[1462],_mm_xor_si64(c2[1452],_mm_xor_si64(c2[1233],_mm_xor_si64(c2[1234],_mm_xor_si64(c2[1679],_mm_xor_si64(c2[141],_mm_xor_si64(c2[1680],_mm_xor_si64(c2[824],_mm_xor_si64(c2[814],_mm_xor_si64(c2[1699],_mm_xor_si64(c2[161],_mm_xor_si64(c2[1700],_mm_xor_si64(c2[157],_mm_xor_si64(c2[401],_mm_xor_si64(c2[402],_mm_xor_si64(c2[1057],_mm_xor_si64(c2[1058],_mm_xor_si64(c2[1723],_mm_xor_si64(c2[185],_mm_xor_si64(c2[1724],_mm_xor_si64(c2[648],_mm_xor_si64(c2[428],_mm_xor_si64(c2[418],_mm_xor_si64(c2[858],_mm_xor_si64(c2[859],_mm_xor_si64(c2[1745],_mm_xor_si64(c2[207],c2[1746]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[88]=_mm_xor_si64(c2[1106],_mm_xor_si64(c2[886],_mm_xor_si64(c2[440],_mm_xor_si64(c2[220],_mm_xor_si64(c2[450],_mm_xor_si64(c2[1106],_mm_xor_si64(c2[27],_mm_xor_si64(c2[1566],_mm_xor_si64(c2[30],_mm_xor_si64(c2[1126],_mm_xor_si64(c2[1565],_mm_xor_si64(c2[1594],_mm_xor_si64(c2[1374],_mm_xor_si64(c2[1372],_mm_xor_si64(c2[955],_mm_xor_si64(c2[735],_mm_xor_si64(c2[512],_mm_xor_si64(c2[292],_mm_xor_si64(c2[726],_mm_xor_si64(c2[94],_mm_xor_si64(c2[1633],_mm_xor_si64(c2[536],_mm_xor_si64(c2[1416],_mm_xor_si64(c2[559],_mm_xor_si64(c2[339],_mm_xor_si64(c2[1652],_mm_xor_si64(c2[355],_mm_xor_si64(c2[135],_mm_xor_si64(c2[137],_mm_xor_si64(c2[1676],_mm_xor_si64(c2[352],_mm_xor_si64(c2[1476],_mm_xor_si64(c2[1256],_mm_xor_si64(c2[383],_mm_xor_si64(c2[1064],_mm_xor_si64(c2[844],_mm_xor_si64(c2[1500],_mm_xor_si64(c2[396],_mm_xor_si64(c2[1080],_mm_xor_si64(c2[860],_mm_xor_si64(c2[1521],_mm_xor_si64(c2[1301],c2[418]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[99]=_mm_xor_si64(c2[1329],_mm_xor_si64(c2[885],_mm_xor_si64(c2[665],_mm_xor_si64(c2[663],_mm_xor_si64(c2[10],_mm_xor_si64(c2[882],_mm_xor_si64(c2[229],_mm_xor_si64(c2[250],_mm_xor_si64(c2[1565],_mm_xor_si64(c2[1345],_mm_xor_si64(c2[462],_mm_xor_si64(c2[1568],_mm_xor_si64(c2[1569],_mm_xor_si64(c2[905],_mm_xor_si64(c2[24],_mm_xor_si64(c2[47],_mm_xor_si64(c2[1373],_mm_xor_si64(c2[1153],_mm_xor_si64(c2[45],_mm_xor_si64(c2[1151],_mm_xor_si64(c2[1167],_mm_xor_si64(c2[734],_mm_xor_si64(c2[514],_mm_xor_si64(c2[735],_mm_xor_si64(c2[71],_mm_xor_si64(c2[1169],_mm_xor_si64(c2[516],_mm_xor_si64(c2[317],_mm_xor_si64(c2[1412],_mm_xor_si64(c2[968],_mm_xor_si64(c2[315],_mm_xor_si64(c2[89],_mm_xor_si64(c2[1195],_mm_xor_si64(c2[771],_mm_xor_si64(c2[118],_mm_xor_si64(c2[336],_mm_xor_si64(c2[1431],_mm_xor_si64(c2[578],_mm_xor_si64(c2[134],_mm_xor_si64(c2[1673],_mm_xor_si64(c2[360],_mm_xor_si64(c2[1455],_mm_xor_si64(c2[795],_mm_xor_si64(c2[142],_mm_xor_si64(c2[1699],_mm_xor_si64(c2[1035],_mm_xor_si64(c2[815],_mm_xor_si64(c2[162],_mm_xor_si64(c2[1276],_mm_xor_si64(c2[623],_mm_xor_si64(c2[184],_mm_xor_si64(c2[1279],_mm_xor_si64(c2[839],_mm_xor_si64(c2[186],_mm_xor_si64(c2[1502],_mm_xor_si64(c2[1303],_mm_xor_si64(c2[859],_mm_xor_si64(c2[639],_mm_xor_si64(c2[1744],_mm_xor_si64(c2[1080],_mm_xor_si64(c2[861],c2[208])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[110]=_mm_xor_si64(c2[1542],_mm_xor_si64(c2[245],_mm_xor_si64(c2[1462],c2[1696])));
//row: 11
d2[121]=_mm_xor_si64(c2[4],_mm_xor_si64(c2[1108],_mm_xor_si64(c2[1327],_mm_xor_si64(c2[660],_mm_xor_si64(c2[684],_mm_xor_si64(c2[907],_mm_xor_si64(c2[464],_mm_xor_si64(c2[244],_mm_xor_si64(c2[492],_mm_xor_si64(c2[710],_mm_xor_si64(c2[490],_mm_xor_si64(c2[1612],_mm_xor_si64(c2[1169],_mm_xor_si64(c2[1614],_mm_xor_si64(c2[751],_mm_xor_si64(c2[1413],_mm_xor_si64(c2[754],_mm_xor_si64(c2[534],_mm_xor_si64(c2[1216],_mm_xor_si64(c2[990],_mm_xor_si64(c2[770],_mm_xor_si64(c2[1012],_mm_xor_si64(c2[794],_mm_xor_si64(c2[1460],_mm_xor_si64(c2[1240],_mm_xor_si64(c2[374],_mm_xor_si64(c2[1480],_mm_xor_si64(c2[1260],_mm_xor_si64(c2[1704],_mm_xor_si64(c2[1721],_mm_xor_si64(c2[618],_mm_xor_si64(c2[1504],_mm_xor_si64(c2[1284],_mm_xor_si64(c2[1748],_mm_xor_si64(c2[419],_mm_xor_si64(c2[1526],_mm_xor_si64(c2[1306],c2[201])))))))))))))))))))))))))))))))))))));
//row: 12
d2[132]=_mm_xor_si64(c2[9],_mm_xor_si64(c2[1548],_mm_xor_si64(c2[882],_mm_xor_si64(c2[1101],_mm_xor_si64(c2[689],_mm_xor_si64(c2[469],_mm_xor_si64(c2[692],_mm_xor_si64(c2[29],_mm_xor_si64(c2[466],_mm_xor_si64(c2[486],_mm_xor_si64(c2[266],_mm_xor_si64(c2[264],_mm_xor_si64(c2[1606],_mm_xor_si64(c2[1386],_mm_xor_si64(c2[954],_mm_xor_si64(c2[1388],_mm_xor_si64(c2[727],_mm_xor_si64(c2[536],_mm_xor_si64(c2[1198],_mm_xor_si64(c2[308],_mm_xor_si64(c2[990],_mm_xor_si64(c2[555],_mm_xor_si64(c2[1017],_mm_xor_si64(c2[797],_mm_xor_si64(c2[579],_mm_xor_si64(c2[1014],_mm_xor_si64(c2[159],_mm_xor_si64(c2[1034],_mm_xor_si64(c2[1506],_mm_xor_si64(c2[403],_mm_xor_si64(c2[1058],_mm_xor_si64(c2[1742],_mm_xor_si64(c2[1522],_mm_xor_si64(c2[204],c2[1080]))))))))))))))))))))))))))))))))));
//row: 13
d2[143]=_mm_xor_si64(c2[442],_mm_xor_si64(c2[1546],_mm_xor_si64(c2[6],_mm_xor_si64(c2[1103],_mm_xor_si64(c2[1122],_mm_xor_si64(c2[1345],_mm_xor_si64(c2[902],_mm_xor_si64(c2[682],_mm_xor_si64(c2[682],_mm_xor_si64(c2[930],_mm_xor_si64(c2[1148],_mm_xor_si64(c2[928],_mm_xor_si64(c2[291],_mm_xor_si64(c2[1607],_mm_xor_si64(c2[293],_mm_xor_si64(c2[1189],_mm_xor_si64(c2[92],_mm_xor_si64(c2[1192],_mm_xor_si64(c2[972],_mm_xor_si64(c2[1654],_mm_xor_si64(c2[1439],_mm_xor_si64(c2[1219],_mm_xor_si64(c2[1461],_mm_xor_si64(c2[1232],_mm_xor_si64(c2[139],_mm_xor_si64(c2[1678],_mm_xor_si64(c2[823],_mm_xor_si64(c2[159],_mm_xor_si64(c2[1698],_mm_xor_si64(c2[400],_mm_xor_si64(c2[1056],_mm_xor_si64(c2[183],_mm_xor_si64(c2[1722],_mm_xor_si64(c2[839],_mm_xor_si64(c2[427],_mm_xor_si64(c2[868],_mm_xor_si64(c2[205],c2[1744])))))))))))))))))))))))))))))))))))));
//row: 14
d2[154]=_mm_xor_si64(c2[889],_mm_xor_si64(c2[669],_mm_xor_si64(c2[227],_mm_xor_si64(c2[3],_mm_xor_si64(c2[1320],_mm_xor_si64(c2[222],_mm_xor_si64(c2[1550],_mm_xor_si64(c2[1569],_mm_xor_si64(c2[1349],_mm_xor_si64(c2[907],_mm_xor_si64(c2[1572],_mm_xor_si64(c2[1130],_mm_xor_si64(c2[909],_mm_xor_si64(c2[687],_mm_xor_si64(c2[467],_mm_xor_si64(c2[683],_mm_xor_si64(c2[1366],_mm_xor_si64(c2[1146],_mm_xor_si64(c2[704],_mm_xor_si64(c2[1144],_mm_xor_si64(c2[933],_mm_xor_si64(c2[713],_mm_xor_si64(c2[727],_mm_xor_si64(c2[507],_mm_xor_si64(c2[76],_mm_xor_si64(c2[75],_mm_xor_si64(c2[1392],_mm_xor_si64(c2[509],_mm_xor_si64(c2[67],_mm_xor_si64(c2[1416],_mm_xor_si64(c2[974],_mm_xor_si64(c2[308],_mm_xor_si64(c2[1636],_mm_xor_si64(c2[1188],_mm_xor_si64(c2[977],_mm_xor_si64(c2[757],_mm_xor_si64(c2[111],_mm_xor_si64(c2[1439],_mm_xor_si64(c2[1435],_mm_xor_si64(c2[1213],_mm_xor_si64(c2[993],_mm_xor_si64(c2[138],_mm_xor_si64(c2[1677],_mm_xor_si64(c2[1235],_mm_xor_si64(c2[1459],_mm_xor_si64(c2[1017],_mm_xor_si64(c2[135],_mm_xor_si64(c2[1672],_mm_xor_si64(c2[1452],_mm_xor_si64(c2[359],_mm_xor_si64(c2[1039],_mm_xor_si64(c2[597],_mm_xor_si64(c2[155],_mm_xor_si64(c2[1703],_mm_xor_si64(c2[1483],_mm_xor_si64(c2[616],_mm_xor_si64(c2[185],_mm_xor_si64(c2[1283],_mm_xor_si64(c2[841],_mm_xor_si64(c2[179],_mm_xor_si64(c2[1716],_mm_xor_si64(c2[1496],_mm_xor_si64(c2[863],_mm_xor_si64(c2[643],_mm_xor_si64(c2[201],_mm_xor_si64(c2[1084],_mm_xor_si64(c2[642],_mm_xor_si64(c2[201],_mm_xor_si64(c2[1738],c2[1518])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[165]=_mm_xor_si64(c2[450],_mm_xor_si64(c2[882],_mm_xor_si64(c2[662],_mm_xor_si64(c2[1543],_mm_xor_si64(c2[7],_mm_xor_si64(c2[3],_mm_xor_si64(c2[226],_mm_xor_si64(c2[226],_mm_xor_si64(c2[1130],_mm_xor_si64(c2[1562],_mm_xor_si64(c2[1342],_mm_xor_si64(c2[1342],_mm_xor_si64(c2[1565],_mm_xor_si64(c2[690],_mm_xor_si64(c2[902],_mm_xor_si64(c2[927],_mm_xor_si64(c2[1370],_mm_xor_si64(c2[1150],_mm_xor_si64(c2[925],_mm_xor_si64(c2[1148],_mm_xor_si64(c2[288],_mm_xor_si64(c2[731],_mm_xor_si64(c2[511],_mm_xor_si64(c2[1615],_mm_xor_si64(c2[68],_mm_xor_si64(c2[290],_mm_xor_si64(c2[513],_mm_xor_si64(c2[1197],_mm_xor_si64(c2[1409],_mm_xor_si64(c2[89],_mm_xor_si64(c2[312],_mm_xor_si64(c2[969],_mm_xor_si64(c2[1192],_mm_xor_si64(c2[1651],_mm_xor_si64(c2[115],_mm_xor_si64(c2[1216],_mm_xor_si64(c2[1439],_mm_xor_si64(c2[1458],_mm_xor_si64(c2[142],_mm_xor_si64(c2[1681],_mm_xor_si64(c2[1240],_mm_xor_si64(c2[1452],_mm_xor_si64(c2[1675],_mm_xor_si64(c2[139],_mm_xor_si64(c2[820],_mm_xor_si64(c2[1043],_mm_xor_si64(c2[1695],_mm_xor_si64(c2[159],_mm_xor_si64(c2[397],_mm_xor_si64(c2[620],_mm_xor_si64(c2[1064],_mm_xor_si64(c2[1276],_mm_xor_si64(c2[1719],_mm_xor_si64(c2[183],_mm_xor_si64(c2[424],_mm_xor_si64(c2[867],_mm_xor_si64(c2[647],_mm_xor_si64(c2[865],_mm_xor_si64(c2[1088],_mm_xor_si64(c2[1741],c2[205]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[176]=_mm_xor_si64(c2[1110],_mm_xor_si64(c2[890],_mm_xor_si64(c2[227],_mm_xor_si64(c2[7],_mm_xor_si64(c2[224],_mm_xor_si64(c2[1320],_mm_xor_si64(c2[1100],_mm_xor_si64(c2[443],_mm_xor_si64(c2[1330],_mm_xor_si64(c2[31],_mm_xor_si64(c2[1570],_mm_xor_si64(c2[907],_mm_xor_si64(c2[687],_mm_xor_si64(c2[23],_mm_xor_si64(c2[910],_mm_xor_si64(c2[1130],_mm_xor_si64(c2[247],_mm_xor_si64(c2[1351],_mm_xor_si64(c2[1587],_mm_xor_si64(c2[1367],_mm_xor_si64(c2[704],_mm_xor_si64(c2[484],_mm_xor_si64(c2[1365],_mm_xor_si64(c2[493],_mm_xor_si64(c2[948],_mm_xor_si64(c2[728],_mm_xor_si64(c2[76],_mm_xor_si64(c2[1615],_mm_xor_si64(c2[296],_mm_xor_si64(c2[1392],_mm_xor_si64(c2[1172],_mm_xor_si64(c2[730],_mm_xor_si64(c2[1606],_mm_xor_si64(c2[1637],_mm_xor_si64(c2[974],_mm_xor_si64(c2[754],_mm_xor_si64(c2[529],_mm_xor_si64(c2[1416],_mm_xor_si64(c2[1409],_mm_xor_si64(c2[537],_mm_xor_si64(c2[332],_mm_xor_si64(c2[1439],_mm_xor_si64(c2[1219],_mm_xor_si64(c2[1656],_mm_xor_si64(c2[773],_mm_xor_si64(c2[359],_mm_xor_si64(c2[139],_mm_xor_si64(c2[1235],_mm_xor_si64(c2[1015],_mm_xor_si64(c2[1680],_mm_xor_si64(c2[1017],_mm_xor_si64(c2[797],_mm_xor_si64(c2[356],_mm_xor_si64(c2[1232],_mm_xor_si64(c2[1260],_mm_xor_si64(c2[597],_mm_xor_si64(c2[377],_mm_xor_si64(c2[376],_mm_xor_si64(c2[1263],_mm_xor_si64(c2[837],_mm_xor_si64(c2[185],_mm_xor_si64(c2[1724],_mm_xor_si64(c2[1504],_mm_xor_si64(c2[621],_mm_xor_si64(c2[400],_mm_xor_si64(c2[1276],_mm_xor_si64(c2[1084],_mm_xor_si64(c2[864],_mm_xor_si64(c2[201],_mm_xor_si64(c2[1740],_mm_xor_si64(c2[1305],_mm_xor_si64(c2[642],_mm_xor_si64(c2[422],_mm_xor_si64(c2[422],_mm_xor_si64(c2[1298],c2[1526])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[187]=_mm_xor_si64(c2[445],_mm_xor_si64(c2[225],_mm_xor_si64(c2[1546],_mm_xor_si64(c2[1326],_mm_xor_si64(c2[1329],_mm_xor_si64(c2[880],_mm_xor_si64(c2[660],_mm_xor_si64(c2[1548],_mm_xor_si64(c2[890],_mm_xor_si64(c2[1125],_mm_xor_si64(c2[905],_mm_xor_si64(c2[467],_mm_xor_si64(c2[247],_mm_xor_si64(c2[1128],_mm_xor_si64(c2[470],_mm_xor_si64(c2[465],_mm_xor_si64(c2[1566],_mm_xor_si64(c2[1347],_mm_xor_si64(c2[933],_mm_xor_si64(c2[713],_mm_xor_si64(c2[264],_mm_xor_si64(c2[44],_mm_xor_si64(c2[711],_mm_xor_si64(c2[53],_mm_xor_si64(c2[294],_mm_xor_si64(c2[74],_mm_xor_si64(c2[1395],_mm_xor_si64(c2[1175],_mm_xor_si64(c2[1390],_mm_xor_si64(c2[952],_mm_xor_si64(c2[732],_mm_xor_si64(c2[76],_mm_xor_si64(c2[1166],_mm_xor_si64(c2[972],_mm_xor_si64(c2[534],_mm_xor_si64(c2[314],_mm_xor_si64(c2[1634],_mm_xor_si64(c2[976],_mm_xor_si64(c2[755],_mm_xor_si64(c2[97],_mm_xor_si64(c2[1437],_mm_xor_si64(c2[999],_mm_xor_si64(c2[779],_mm_xor_si64(c2[991],_mm_xor_si64(c2[333],_mm_xor_si64(c2[1652],_mm_xor_si64(c2[1453],_mm_xor_si64(c2[1233],_mm_xor_si64(c2[795],_mm_xor_si64(c2[575],_mm_xor_si64(c2[1015],_mm_xor_si64(c2[577],_mm_xor_si64(c2[357],_mm_xor_si64(c2[1461],_mm_xor_si64(c2[792],_mm_xor_si64(c2[595],_mm_xor_si64(c2[157],_mm_xor_si64(c2[1696],_mm_xor_si64(c2[1481],_mm_xor_si64(c2[823],_mm_xor_si64(c2[183],_mm_xor_si64(c2[1504],_mm_xor_si64(c2[1284],_mm_xor_si64(c2[839],_mm_xor_si64(c2[181],_mm_xor_si64(c2[1505],_mm_xor_si64(c2[836],_mm_xor_si64(c2[419],_mm_xor_si64(c2[199],_mm_xor_si64(c2[1520],_mm_xor_si64(c2[1300],_mm_xor_si64(c2[640],_mm_xor_si64(c2[202],_mm_xor_si64(c2[1741],_mm_xor_si64(c2[1527],c2[858])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[198]=_mm_xor_si64(c2[1110],_mm_xor_si64(c2[1675],c2[1476]));
//row: 19
d2[209]=_mm_xor_si64(c2[884],_mm_xor_si64(c2[229],_mm_xor_si64(c2[448],_mm_xor_si64(c2[1101],_mm_xor_si64(c2[1564],_mm_xor_si64(c2[28],_mm_xor_si64(c2[1124],_mm_xor_si64(c2[1567],_mm_xor_si64(c2[1372],_mm_xor_si64(c2[1370],_mm_xor_si64(c2[733],_mm_xor_si64(c2[290],_mm_xor_si64(c2[735],_mm_xor_si64(c2[1631],_mm_xor_si64(c2[534],_mm_xor_si64(c2[1414],_mm_xor_si64(c2[337],_mm_xor_si64(c2[1650],_mm_xor_si64(c2[133],_mm_xor_si64(c2[1674],_mm_xor_si64(c2[361],_mm_xor_si64(c2[1254],_mm_xor_si64(c2[381],_mm_xor_si64(c2[842],_mm_xor_si64(c2[1498],_mm_xor_si64(c2[405],_mm_xor_si64(c2[858],_mm_xor_si64(c2[1299],c2[427]))))))))))))))))))))))))))));
//row: 20
d2[220]=_mm_xor_si64(c2[228],_mm_xor_si64(c2[8],_mm_xor_si64(c2[1101],_mm_xor_si64(c2[1320],_mm_xor_si64(c2[908],_mm_xor_si64(c2[688],_mm_xor_si64(c2[911],_mm_xor_si64(c2[248],_mm_xor_si64(c2[27],_mm_xor_si64(c2[705],_mm_xor_si64(c2[485],_mm_xor_si64(c2[494],_mm_xor_si64(c2[66],_mm_xor_si64(c2[1616],_mm_xor_si64(c2[1173],_mm_xor_si64(c2[1607],_mm_xor_si64(c2[755],_mm_xor_si64(c2[1417],_mm_xor_si64(c2[538],_mm_xor_si64(c2[974],_mm_xor_si64(c2[1220],_mm_xor_si64(c2[774],_mm_xor_si64(c2[1236],_mm_xor_si64(c2[1016],_mm_xor_si64(c2[798],_mm_xor_si64(c2[1233],_mm_xor_si64(c2[378],_mm_xor_si64(c2[1264],_mm_xor_si64(c2[1725],_mm_xor_si64(c2[622],_mm_xor_si64(c2[1277],_mm_xor_si64(c2[202],_mm_xor_si64(c2[1741],_mm_xor_si64(c2[423],c2[1299]))))))))))))))))))))))))))))))))));
//row: 21
d2[231]=_mm_xor_si64(c2[662],_mm_xor_si64(c2[7],_mm_xor_si64(c2[226],_mm_xor_si64(c2[888],_mm_xor_si64(c2[1342],_mm_xor_si64(c2[1565],_mm_xor_si64(c2[1122],_mm_xor_si64(c2[902],_mm_xor_si64(c2[1150],_mm_xor_si64(c2[1368],_mm_xor_si64(c2[1148],_mm_xor_si64(c2[511],_mm_xor_si64(c2[68],_mm_xor_si64(c2[513],_mm_xor_si64(c2[1409],_mm_xor_si64(c2[312],_mm_xor_si64(c2[1412],_mm_xor_si64(c2[1192],_mm_xor_si64(c2[115],_mm_xor_si64(c2[1659],_mm_xor_si64(c2[1439],_mm_xor_si64(c2[1681],_mm_xor_si64(c2[1452],_mm_xor_si64(c2[359],_mm_xor_si64(c2[139],_mm_xor_si64(c2[1043],_mm_xor_si64(c2[379],_mm_xor_si64(c2[159],_mm_xor_si64(c2[620],_mm_xor_si64(c2[1276],_mm_xor_si64(c2[403],_mm_xor_si64(c2[183],_mm_xor_si64(c2[1505],_mm_xor_si64(c2[647],_mm_xor_si64(c2[1088],_mm_xor_si64(c2[425],c2[205]))))))))))))))))))))))))))))))))))));
//row: 22
d2[242]=_mm_xor_si64(c2[464],c2[713]);
//row: 23
d2[253]=_mm_xor_si64(c2[1322],_mm_xor_si64(c2[951],c2[1437]));
//row: 24
d2[264]=_mm_xor_si64(c2[245],_mm_xor_si64(c2[926],c2[1305]));
//row: 25
d2[275]=_mm_xor_si64(c2[9],c2[116]);
//row: 26
d2[286]=_mm_xor_si64(c2[224],_mm_xor_si64(c2[4],_mm_xor_si64(c2[884],_mm_xor_si64(c2[1328],_mm_xor_si64(c2[1108],_mm_xor_si64(c2[229],_mm_xor_si64(c2[1327],_mm_xor_si64(c2[448],_mm_xor_si64(c2[904],_mm_xor_si64(c2[684],_mm_xor_si64(c2[1564],_mm_xor_si64(c2[907],_mm_xor_si64(c2[28],_mm_xor_si64(c2[244],_mm_xor_si64(c2[1344],_mm_xor_si64(c2[1124],_mm_xor_si64(c2[712],_mm_xor_si64(c2[492],_mm_xor_si64(c2[1372],_mm_xor_si64(c2[490],_mm_xor_si64(c2[1590],_mm_xor_si64(c2[1370],_mm_xor_si64(c2[928],_mm_xor_si64(c2[73],_mm_xor_si64(c2[1612],_mm_xor_si64(c2[733],_mm_xor_si64(c2[1389],_mm_xor_si64(c2[1169],_mm_xor_si64(c2[290],_mm_xor_si64(c2[1614],_mm_xor_si64(c2[735],_mm_xor_si64(c2[971],_mm_xor_si64(c2[751],_mm_xor_si64(c2[1631],_mm_xor_si64(c2[1413],_mm_xor_si64(c2[534],_mm_xor_si64(c2[534],_mm_xor_si64(c2[1634],_mm_xor_si64(c2[1414],_mm_xor_si64(c2[1436],_mm_xor_si64(c2[1216],_mm_xor_si64(c2[337],_mm_xor_si64(c2[770],_mm_xor_si64(c2[111],_mm_xor_si64(c2[1650],_mm_xor_si64(c2[1232],_mm_xor_si64(c2[1012],_mm_xor_si64(c2[133],_mm_xor_si64(c2[1014],_mm_xor_si64(c2[794],_mm_xor_si64(c2[1674],_mm_xor_si64(c2[1240],_mm_xor_si64(c2[581],_mm_xor_si64(c2[361],_mm_xor_si64(c2[594],_mm_xor_si64(c2[374],_mm_xor_si64(c2[1254],_mm_xor_si64(c2[1260],_mm_xor_si64(c2[601],_mm_xor_si64(c2[381],_mm_xor_si64(c2[1478],_mm_xor_si64(c2[182],_mm_xor_si64(c2[1721],_mm_xor_si64(c2[842],_mm_xor_si64(c2[618],_mm_xor_si64(c2[1498],_mm_xor_si64(c2[1284],_mm_xor_si64(c2[625],_mm_xor_si64(c2[405],_mm_xor_si64(c2[198],_mm_xor_si64(c2[1748],_mm_xor_si64(c2[858],_mm_xor_si64(c2[639],_mm_xor_si64(c2[419],_mm_xor_si64(c2[1299],_mm_xor_si64(c2[1306],_mm_xor_si64(c2[647],c2[427])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[297]=_mm_xor_si64(c2[445],c2[134]);
//row: 28
d2[308]=_mm_xor_si64(c2[30],_mm_xor_si64(c2[47],c2[1217]));
//row: 29
d2[319]=_mm_xor_si64(c2[666],c2[317]);
//row: 30
d2[330]=_mm_xor_si64(c2[934],_mm_xor_si64(c2[1220],_mm_xor_si64(c2[1254],c2[1301])));
//row: 31
d2[341]=_mm_xor_si64(c2[1544],_mm_xor_si64(c2[889],_mm_xor_si64(c2[1108],_mm_xor_si64(c2[465],_mm_xor_si64(c2[688],_mm_xor_si64(c2[245],_mm_xor_si64(c2[25],_mm_xor_si64(c2[1125],_mm_xor_si64(c2[273],_mm_xor_si64(c2[491],_mm_xor_si64(c2[271],_mm_xor_si64(c2[1393],_mm_xor_si64(c2[950],_mm_xor_si64(c2[1395],_mm_xor_si64(c2[532],_mm_xor_si64(c2[1194],_mm_xor_si64(c2[535],_mm_xor_si64(c2[315],_mm_xor_si64(c2[997],_mm_xor_si64(c2[771],_mm_xor_si64(c2[551],_mm_xor_si64(c2[793],_mm_xor_si64(c2[575],_mm_xor_si64(c2[1241],_mm_xor_si64(c2[1021],_mm_xor_si64(c2[155],_mm_xor_si64(c2[1261],_mm_xor_si64(c2[1041],_mm_xor_si64(c2[1502],_mm_xor_si64(c2[399],_mm_xor_si64(c2[1285],_mm_xor_si64(c2[1065],_mm_xor_si64(c2[1518],_mm_xor_si64(c2[200],_mm_xor_si64(c2[1307],c2[1087])))))))))))))))))))))))))))))))))));
//row: 32
d2[352]=_mm_xor_si64(c2[444],_mm_xor_si64(c2[224],_mm_xor_si64(c2[1548],_mm_xor_si64(c2[1328],_mm_xor_si64(c2[1547],_mm_xor_si64(c2[883],_mm_xor_si64(c2[1124],_mm_xor_si64(c2[904],_mm_xor_si64(c2[1127],_mm_xor_si64(c2[464],_mm_xor_si64(c2[932],_mm_xor_si64(c2[712],_mm_xor_si64(c2[710],_mm_xor_si64(c2[293],_mm_xor_si64(c2[73],_mm_xor_si64(c2[1609],_mm_xor_si64(c2[1389],_mm_xor_si64(c2[75],_mm_xor_si64(c2[1191],_mm_xor_si64(c2[971],_mm_xor_si64(c2[1633],_mm_xor_si64(c2[754],_mm_xor_si64(c2[1656],_mm_xor_si64(c2[1436],_mm_xor_si64(c2[990],_mm_xor_si64(c2[339],_mm_xor_si64(c2[1452],_mm_xor_si64(c2[1232],_mm_xor_si64(c2[1234],_mm_xor_si64(c2[1014],_mm_xor_si64(c2[1460],_mm_xor_si64(c2[814],_mm_xor_si64(c2[594],_mm_xor_si64(c2[1480],_mm_xor_si64(c2[402],_mm_xor_si64(c2[182],_mm_xor_si64(c2[838],_mm_xor_si64(c2[1504],_mm_xor_si64(c2[418],_mm_xor_si64(c2[198],_mm_xor_si64(c2[859],_mm_xor_si64(c2[639],c2[1526]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[363]=_mm_xor_si64(c2[1],_mm_xor_si64(c2[1105],_mm_xor_si64(c2[1324],_mm_xor_si64(c2[692],_mm_xor_si64(c2[904],_mm_xor_si64(c2[252],_mm_xor_si64(c2[489],_mm_xor_si64(c2[487],_mm_xor_si64(c2[266],_mm_xor_si64(c2[1609],_mm_xor_si64(c2[1166],_mm_xor_si64(c2[1611],_mm_xor_si64(c2[748],_mm_xor_si64(c2[1410],_mm_xor_si64(c2[531],_mm_xor_si64(c2[1213],_mm_xor_si64(c2[778],_mm_xor_si64(c2[1020],_mm_xor_si64(c2[802],_mm_xor_si64(c2[1237],_mm_xor_si64(c2[382],_mm_xor_si64(c2[1257],_mm_xor_si64(c2[380],_mm_xor_si64(c2[1718],_mm_xor_si64(c2[626],_mm_xor_si64(c2[1281],_mm_xor_si64(c2[1745],_mm_xor_si64(c2[427],c2[1303]))))))))))))))))))))))))))));
//row: 34
d2[374]=_mm_xor_si64(c2[1102],_mm_xor_si64(c2[882],_mm_xor_si64(c2[1106],_mm_xor_si64(c2[447],_mm_xor_si64(c2[227],_mm_xor_si64(c2[440],_mm_xor_si64(c2[446],_mm_xor_si64(c2[670],_mm_xor_si64(c2[661],_mm_xor_si64(c2[23],_mm_xor_si64(c2[1562],_mm_xor_si64(c2[27],_mm_xor_si64(c2[26],_mm_xor_si64(c2[250],_mm_xor_si64(c2[1122],_mm_xor_si64(c2[1566],_mm_xor_si64(c2[1346],_mm_xor_si64(c2[1590],_mm_xor_si64(c2[1370],_mm_xor_si64(c2[1594],_mm_xor_si64(c2[1368],_mm_xor_si64(c2[53],_mm_xor_si64(c2[1592],_mm_xor_si64(c2[951],_mm_xor_si64(c2[731],_mm_xor_si64(c2[955],_mm_xor_si64(c2[508],_mm_xor_si64(c2[288],_mm_xor_si64(c2[512],_mm_xor_si64(c2[733],_mm_xor_si64(c2[946],_mm_xor_si64(c2[90],_mm_xor_si64(c2[1629],_mm_xor_si64(c2[94],_mm_xor_si64(c2[532],_mm_xor_si64(c2[756],_mm_xor_si64(c2[1412],_mm_xor_si64(c2[97],_mm_xor_si64(c2[1636],_mm_xor_si64(c2[555],_mm_xor_si64(c2[335],_mm_xor_si64(c2[559],_mm_xor_si64(c2[1659],_mm_xor_si64(c2[333],_mm_xor_si64(c2[113],_mm_xor_si64(c2[362],_mm_xor_si64(c2[142],_mm_xor_si64(c2[355],_mm_xor_si64(c2[133],_mm_xor_si64(c2[1672],_mm_xor_si64(c2[137],_mm_xor_si64(c2[359],_mm_xor_si64(c2[792],_mm_xor_si64(c2[572],_mm_xor_si64(c2[1483],_mm_xor_si64(c2[1263],_mm_xor_si64(c2[1476],_mm_xor_si64(c2[379],_mm_xor_si64(c2[823],_mm_xor_si64(c2[603],_mm_xor_si64(c2[1060],_mm_xor_si64(c2[840],_mm_xor_si64(c2[1064],_mm_xor_si64(c2[1496],_mm_xor_si64(c2[1720],_mm_xor_si64(c2[403],_mm_xor_si64(c2[836],_mm_xor_si64(c2[616],_mm_xor_si64(c2[1087],_mm_xor_si64(c2[867],_mm_xor_si64(c2[1080],_mm_xor_si64(c2[1528],_mm_xor_si64(c2[1308],_mm_xor_si64(c2[1521],_mm_xor_si64(c2[425],_mm_xor_si64(c2[858],c2[638]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[385]=_mm_xor_si64(c2[8],_mm_xor_si64(c2[1547],_mm_xor_si64(c2[881],_mm_xor_si64(c2[1100],_mm_xor_si64(c2[688],_mm_xor_si64(c2[468],_mm_xor_si64(c2[691],_mm_xor_si64(c2[28],_mm_xor_si64(c2[1346],_mm_xor_si64(c2[485],_mm_xor_si64(c2[265],_mm_xor_si64(c2[274],_mm_xor_si64(c2[1616],_mm_xor_si64(c2[1396],_mm_xor_si64(c2[953],_mm_xor_si64(c2[1387],_mm_xor_si64(c2[535],_mm_xor_si64(c2[1197],_mm_xor_si64(c2[318],_mm_xor_si64(c2[1000],_mm_xor_si64(c2[554],_mm_xor_si64(c2[118],_mm_xor_si64(c2[1016],_mm_xor_si64(c2[796],_mm_xor_si64(c2[578],_mm_xor_si64(c2[1013],_mm_xor_si64(c2[158],_mm_xor_si64(c2[1044],_mm_xor_si64(c2[1505],_mm_xor_si64(c2[402],_mm_xor_si64(c2[1057],_mm_xor_si64(c2[1741],_mm_xor_si64(c2[1521],_mm_xor_si64(c2[203],c2[1079]))))))))))))))))))))))))))))))))));
//row: 36
d2[396]=_mm_xor_si64(c2[229],_mm_xor_si64(c2[492],c2[379]));
//row: 37
d2[407]=_mm_xor_si64(c2[447],_mm_xor_si64(c2[222],_mm_xor_si64(c2[1540],_mm_xor_si64(c2[1326],_mm_xor_si64(c2[0],_mm_xor_si64(c2[1545],_mm_xor_si64(c2[1127],_mm_xor_si64(c2[902],_mm_xor_si64(c2[1350],_mm_xor_si64(c2[1125],_mm_xor_si64(c2[687],_mm_xor_si64(c2[682],_mm_xor_si64(c2[462],_mm_xor_si64(c2[924],_mm_xor_si64(c2[710],_mm_xor_si64(c2[933],_mm_xor_si64(c2[928],_mm_xor_si64(c2[708],_mm_xor_si64(c2[296],_mm_xor_si64(c2[71],_mm_xor_si64(c2[1612],_mm_xor_si64(c2[1387],_mm_xor_si64(c2[287],_mm_xor_si64(c2[73],_mm_xor_si64(c2[1194],_mm_xor_si64(c2[969],_mm_xor_si64(c2[97],_mm_xor_si64(c2[1631],_mm_xor_si64(c2[977],_mm_xor_si64(c2[972],_mm_xor_si64(c2[752],_mm_xor_si64(c2[1659],_mm_xor_si64(c2[1434],_mm_xor_si64(c2[1213],_mm_xor_si64(c2[1219],_mm_xor_si64(c2[999],_mm_xor_si64(c2[1455],_mm_xor_si64(c2[1241],_mm_xor_si64(c2[1237],_mm_xor_si64(c2[1012],_mm_xor_si64(c2[1672],_mm_xor_si64(c2[1678],_mm_xor_si64(c2[1458],_mm_xor_si64(c2[817],_mm_xor_si64(c2[603],_mm_xor_si64(c2[1703],_mm_xor_si64(c2[1698],_mm_xor_si64(c2[1478],_mm_xor_si64(c2[405],_mm_xor_si64(c2[180],_mm_xor_si64(c2[1061],_mm_xor_si64(c2[836],_mm_xor_si64(c2[1716],_mm_xor_si64(c2[1722],_mm_xor_si64(c2[1502],_mm_xor_si64(c2[421],_mm_xor_si64(c2[207],_mm_xor_si64(c2[862],_mm_xor_si64(c2[648],_mm_xor_si64(c2[1738],_mm_xor_si64(c2[1744],c2[1524])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[418]=_mm_xor_si64(c2[1550],_mm_xor_si64(c2[1330],_mm_xor_si64(c2[664],_mm_xor_si64(c2[883],_mm_xor_si64(c2[471],_mm_xor_si64(c2[251],_mm_xor_si64(c2[463],_mm_xor_si64(c2[1570],_mm_xor_si64(c2[25],_mm_xor_si64(c2[268],_mm_xor_si64(c2[48],_mm_xor_si64(c2[46],_mm_xor_si64(c2[1388],_mm_xor_si64(c2[1168],_mm_xor_si64(c2[736],_mm_xor_si64(c2[1170],_mm_xor_si64(c2[318],_mm_xor_si64(c2[969],_mm_xor_si64(c2[90],_mm_xor_si64(c2[772],_mm_xor_si64(c2[337],_mm_xor_si64(c2[1650],_mm_xor_si64(c2[799],_mm_xor_si64(c2[579],_mm_xor_si64(c2[361],_mm_xor_si64(c2[796],_mm_xor_si64(c2[1700],_mm_xor_si64(c2[816],_mm_xor_si64(c2[1277],_mm_xor_si64(c2[185],_mm_xor_si64(c2[840],_mm_xor_si64(c2[1524],_mm_xor_si64(c2[1304],_mm_xor_si64(c2[1745],c2[862]))))))))))))))))))))))))))))))))));
//row: 39
d2[429]=_mm_xor_si64(c2[1110],_mm_xor_si64(c2[890],_mm_xor_si64(c2[444],_mm_xor_si64(c2[224],_mm_xor_si64(c2[443],_mm_xor_si64(c2[1102],_mm_xor_si64(c2[31],_mm_xor_si64(c2[1570],_mm_xor_si64(c2[23],_mm_xor_si64(c2[1130],_mm_xor_si64(c2[1587],_mm_xor_si64(c2[1367],_mm_xor_si64(c2[1365],_mm_xor_si64(c2[948],_mm_xor_si64(c2[728],_mm_xor_si64(c2[516],_mm_xor_si64(c2[296],_mm_xor_si64(c2[730],_mm_xor_si64(c2[98],_mm_xor_si64(c2[1637],_mm_xor_si64(c2[529],_mm_xor_si64(c2[1409],_mm_xor_si64(c2[552],_mm_xor_si64(c2[332],_mm_xor_si64(c2[1656],_mm_xor_si64(c2[359],_mm_xor_si64(c2[139],_mm_xor_si64(c2[141],_mm_xor_si64(c2[1680],_mm_xor_si64(c2[356],_mm_xor_si64(c2[1480],_mm_xor_si64(c2[1260],_mm_xor_si64(c2[376],_mm_xor_si64(c2[1474],_mm_xor_si64(c2[1057],_mm_xor_si64(c2[837],_mm_xor_si64(c2[1504],_mm_xor_si64(c2[400],_mm_xor_si64(c2[1084],_mm_xor_si64(c2[864],_mm_xor_si64(c2[1525],_mm_xor_si64(c2[1305],c2[422]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[440]=_mm_xor_si64(c2[1545],_mm_xor_si64(c2[1107],_mm_xor_si64(c2[890],_mm_xor_si64(c2[441],_mm_xor_si64(c2[1109],_mm_xor_si64(c2[660],_mm_xor_si64(c2[466],_mm_xor_si64(c2[28],_mm_xor_si64(c2[689],_mm_xor_si64(c2[251],_mm_xor_si64(c2[26],_mm_xor_si64(c2[1567],_mm_xor_si64(c2[1347],_mm_xor_si64(c2[274],_mm_xor_si64(c2[1584],_mm_xor_si64(c2[272],_mm_xor_si64(c2[54],_mm_xor_si64(c2[1593],_mm_xor_si64(c2[53],_mm_xor_si64(c2[1394],_mm_xor_si64(c2[956],_mm_xor_si64(c2[951],_mm_xor_si64(c2[513],_mm_xor_si64(c2[1396],_mm_xor_si64(c2[947],_mm_xor_si64(c2[533],_mm_xor_si64(c2[95],_mm_xor_si64(c2[1195],_mm_xor_si64(c2[757],_mm_xor_si64(c2[316],_mm_xor_si64(c2[98],_mm_xor_si64(c2[1637],_mm_xor_si64(c2[998],_mm_xor_si64(c2[560],_mm_xor_si64(c2[552],_mm_xor_si64(c2[334],_mm_xor_si64(c2[114],_mm_xor_si64(c2[794],_mm_xor_si64(c2[356],_mm_xor_si64(c2[576],_mm_xor_si64(c2[138],_mm_xor_si64(c2[1022],_mm_xor_si64(c2[793],_mm_xor_si64(c2[573],_mm_xor_si64(c2[156],_mm_xor_si64(c2[1477],_mm_xor_si64(c2[1042],_mm_xor_si64(c2[824],_mm_xor_si64(c2[604],_mm_xor_si64(c2[1503],_mm_xor_si64(c2[1065],_mm_xor_si64(c2[400],_mm_xor_si64(c2[1721],_mm_xor_si64(c2[1066],_mm_xor_si64(c2[837],_mm_xor_si64(c2[617],_mm_xor_si64(c2[1519],_mm_xor_si64(c2[1081],_mm_xor_si64(c2[201],_mm_xor_si64(c2[1522],_mm_xor_si64(c2[1088],_mm_xor_si64(c2[859],c2[639]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[451]=_mm_xor_si64(c2[889],_mm_xor_si64(c2[669],_mm_xor_si64(c2[3],_mm_xor_si64(c2[222],_mm_xor_si64(c2[1569],_mm_xor_si64(c2[1349],_mm_xor_si64(c2[1572],_mm_xor_si64(c2[909],_mm_xor_si64(c2[907],_mm_xor_si64(c2[1366],_mm_xor_si64(c2[1146],_mm_xor_si64(c2[1144],_mm_xor_si64(c2[727],_mm_xor_si64(c2[507],_mm_xor_si64(c2[75],_mm_xor_si64(c2[509],_mm_xor_si64(c2[1416],_mm_xor_si64(c2[308],_mm_xor_si64(c2[1188],_mm_xor_si64(c2[111],_mm_xor_si64(c2[1435],_mm_xor_si64(c2[1430],_mm_xor_si64(c2[138],_mm_xor_si64(c2[1677],_mm_xor_si64(c2[1459],_mm_xor_si64(c2[135],_mm_xor_si64(c2[1039],_mm_xor_si64(c2[155],_mm_xor_si64(c2[616],_mm_xor_si64(c2[1283],_mm_xor_si64(c2[179],_mm_xor_si64(c2[863],_mm_xor_si64(c2[643],_mm_xor_si64(c2[1084],c2[201]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=8, byte encoding
static inline void ldpc_BG2_Zc8_byte(uint8_t *c,uint8_t *d) {
__m64i *csimd=(__m64i *)c,*dsimd=(__m64i *)d;
__m64i *c2,*d2;
int i2;
for (i2=0; i2<1; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm_xor_si64(c2[0],_mm_xor_si64(c2[72],_mm_xor_si64(c2[0],_mm_xor_si64(c2[50],_mm_xor_si64(c2[14],_mm_xor_si64(c2[86],_mm_xor_si64(c2[40],_mm_xor_si64(c2[16],_mm_xor_si64(c2[18],_mm_xor_si64(c2[66],_mm_xor_si64(c2[42],_mm_xor_si64(c2[56],_mm_xor_si64(c2[44],_mm_xor_si64(c2[68],_mm_xor_si64(c2[58],_mm_xor_si64(c2[94],_mm_xor_si64(c2[60],_mm_xor_si64(c2[24],_mm_xor_si64(c2[12],_mm_xor_si64(c2[50],_mm_xor_si64(c2[74],_mm_xor_si64(c2[100],_mm_xor_si64(c2[100],_mm_xor_si64(c2[28],_mm_xor_si64(c2[66],_mm_xor_si64(c2[54],c2[102]))))))))))))))))))))))))));
//row: 1
d2[1]=_mm_xor_si64(c2[12],_mm_xor_si64(c2[0],_mm_xor_si64(c2[72],_mm_xor_si64(c2[0],_mm_xor_si64(c2[62],_mm_xor_si64(c2[50],_mm_xor_si64(c2[14],_mm_xor_si64(c2[86],_mm_xor_si64(c2[52],_mm_xor_si64(c2[40],_mm_xor_si64(c2[16],_mm_xor_si64(c2[30],_mm_xor_si64(c2[18],_mm_xor_si64(c2[66],_mm_xor_si64(c2[42],_mm_xor_si64(c2[56],_mm_xor_si64(c2[44],_mm_xor_si64(c2[68],_mm_xor_si64(c2[58],_mm_xor_si64(c2[94],_mm_xor_si64(c2[72],_mm_xor_si64(c2[60],_mm_xor_si64(c2[24],_mm_xor_si64(c2[12],_mm_xor_si64(c2[50],_mm_xor_si64(c2[74],_mm_xor_si64(c2[100],_mm_xor_si64(c2[100],_mm_xor_si64(c2[28],_mm_xor_si64(c2[78],_mm_xor_si64(c2[66],_mm_xor_si64(c2[54],c2[102]))))))))))))))))))))))))))))))));
//row: 2
d2[2]=_mm_xor_si64(c2[12],_mm_xor_si64(c2[0],_mm_xor_si64(c2[84],_mm_xor_si64(c2[72],_mm_xor_si64(c2[0],_mm_xor_si64(c2[62],_mm_xor_si64(c2[50],_mm_xor_si64(c2[14],_mm_xor_si64(c2[86],_mm_xor_si64(c2[52],_mm_xor_si64(c2[40],_mm_xor_si64(c2[16],_mm_xor_si64(c2[30],_mm_xor_si64(c2[18],_mm_xor_si64(c2[78],_mm_xor_si64(c2[66],_mm_xor_si64(c2[42],_mm_xor_si64(c2[68],_mm_xor_si64(c2[56],_mm_xor_si64(c2[44],_mm_xor_si64(c2[68],_mm_xor_si64(c2[70],_mm_xor_si64(c2[58],_mm_xor_si64(c2[94],_mm_xor_si64(c2[72],_mm_xor_si64(c2[60],_mm_xor_si64(c2[36],_mm_xor_si64(c2[24],_mm_xor_si64(c2[12],_mm_xor_si64(c2[62],_mm_xor_si64(c2[50],_mm_xor_si64(c2[74],_mm_xor_si64(c2[16],_mm_xor_si64(c2[100],_mm_xor_si64(c2[100],_mm_xor_si64(c2[28],_mm_xor_si64(c2[78],_mm_xor_si64(c2[66],_mm_xor_si64(c2[66],_mm_xor_si64(c2[54],c2[102]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[3]=_mm_xor_si64(c2[0],_mm_xor_si64(c2[72],_mm_xor_si64(c2[0],_mm_xor_si64(c2[50],_mm_xor_si64(c2[14],_mm_xor_si64(c2[2],_mm_xor_si64(c2[86],_mm_xor_si64(c2[40],_mm_xor_si64(c2[28],_mm_xor_si64(c2[16],_mm_xor_si64(c2[18],_mm_xor_si64(c2[66],_mm_xor_si64(c2[42],_mm_xor_si64(c2[56],_mm_xor_si64(c2[44],_mm_xor_si64(c2[80],_mm_xor_si64(c2[68],_mm_xor_si64(c2[58],_mm_xor_si64(c2[10],_mm_xor_si64(c2[94],_mm_xor_si64(c2[60],_mm_xor_si64(c2[24],_mm_xor_si64(c2[24],_mm_xor_si64(c2[12],_mm_xor_si64(c2[50],_mm_xor_si64(c2[86],_mm_xor_si64(c2[74],_mm_xor_si64(c2[100],_mm_xor_si64(c2[100],_mm_xor_si64(c2[40],_mm_xor_si64(c2[28],_mm_xor_si64(c2[66],_mm_xor_si64(c2[54],_mm_xor_si64(c2[18],c2[102]))))))))))))))))))))))))))))))))));
//row: 4
d2[4]=_mm_xor_si64(c2[0],_mm_xor_si64(c2[84],_mm_xor_si64(c2[60],_mm_xor_si64(c2[84],_mm_xor_si64(c2[36],_mm_xor_si64(c2[50],_mm_xor_si64(c2[38],_mm_xor_si64(c2[2],_mm_xor_si64(c2[74],_mm_xor_si64(c2[74],_mm_xor_si64(c2[40],_mm_xor_si64(c2[28],_mm_xor_si64(c2[4],_mm_xor_si64(c2[18],_mm_xor_si64(c2[6],_mm_xor_si64(c2[54],_mm_xor_si64(c2[30],_mm_xor_si64(c2[44],_mm_xor_si64(c2[32],_mm_xor_si64(c2[56],_mm_xor_si64(c2[46],_mm_xor_si64(c2[82],_mm_xor_si64(c2[60],_mm_xor_si64(c2[48],_mm_xor_si64(c2[12],_mm_xor_si64(c2[96],_mm_xor_si64(c2[38],_mm_xor_si64(c2[62],_mm_xor_si64(c2[88],_mm_xor_si64(c2[88],_mm_xor_si64(c2[16],_mm_xor_si64(c2[66],_mm_xor_si64(c2[54],_mm_xor_si64(c2[42],c2[90]))))))))))))))))))))))))))))))))));
//row: 5
d2[5]=_mm_xor_si64(c2[0],_mm_xor_si64(c2[84],_mm_xor_si64(c2[60],_mm_xor_si64(c2[84],_mm_xor_si64(c2[84],_mm_xor_si64(c2[50],_mm_xor_si64(c2[38],_mm_xor_si64(c2[2],_mm_xor_si64(c2[74],_mm_xor_si64(c2[14],_mm_xor_si64(c2[40],_mm_xor_si64(c2[28],_mm_xor_si64(c2[4],_mm_xor_si64(c2[18],_mm_xor_si64(c2[6],_mm_xor_si64(c2[54],_mm_xor_si64(c2[30],_mm_xor_si64(c2[44],_mm_xor_si64(c2[32],_mm_xor_si64(c2[56],_mm_xor_si64(c2[46],_mm_xor_si64(c2[82],_mm_xor_si64(c2[34],_mm_xor_si64(c2[60],_mm_xor_si64(c2[48],_mm_xor_si64(c2[12],_mm_xor_si64(c2[96],_mm_xor_si64(c2[38],_mm_xor_si64(c2[62],_mm_xor_si64(c2[98],_mm_xor_si64(c2[88],_mm_xor_si64(c2[88],_mm_xor_si64(c2[16],_mm_xor_si64(c2[66],_mm_xor_si64(c2[54],_mm_xor_si64(c2[42],c2[90]))))))))))))))))))))))))))))))))))));
//row: 6
d2[6]=_mm_xor_si64(c2[84],_mm_xor_si64(c2[72],_mm_xor_si64(c2[48],_mm_xor_si64(c2[72],_mm_xor_si64(c2[36],_mm_xor_si64(c2[38],_mm_xor_si64(c2[26],_mm_xor_si64(c2[86],_mm_xor_si64(c2[62],_mm_xor_si64(c2[28],_mm_xor_si64(c2[16],_mm_xor_si64(c2[88],_mm_xor_si64(c2[6],_mm_xor_si64(c2[90],_mm_xor_si64(c2[42],_mm_xor_si64(c2[18],_mm_xor_si64(c2[32],_mm_xor_si64(c2[20],_mm_xor_si64(c2[44],_mm_xor_si64(c2[34],_mm_xor_si64(c2[70],_mm_xor_si64(c2[58],_mm_xor_si64(c2[48],_mm_xor_si64(c2[36],_mm_xor_si64(c2[96],_mm_xor_si64(c2[84],_mm_xor_si64(c2[26],_mm_xor_si64(c2[50],_mm_xor_si64(c2[74],_mm_xor_si64(c2[76],_mm_xor_si64(c2[76],_mm_xor_si64(c2[100],_mm_xor_si64(c2[54],_mm_xor_si64(c2[42],_mm_xor_si64(c2[30],_mm_xor_si64(c2[78],c2[66]))))))))))))))))))))))))))))))))))));
//row: 7
d2[7]=_mm_xor_si64(c2[48],_mm_xor_si64(c2[36],_mm_xor_si64(c2[48],_mm_xor_si64(c2[12],_mm_xor_si64(c2[24],_mm_xor_si64(c2[36],_mm_xor_si64(c2[48],_mm_xor_si64(c2[2],_mm_xor_si64(c2[86],_mm_xor_si64(c2[2],_mm_xor_si64(c2[50],_mm_xor_si64(c2[62],_mm_xor_si64(c2[50],_mm_xor_si64(c2[26],_mm_xor_si64(c2[38],_mm_xor_si64(c2[14],_mm_xor_si64(c2[88],_mm_xor_si64(c2[76],_mm_xor_si64(c2[88],_mm_xor_si64(c2[76],_mm_xor_si64(c2[52],_mm_xor_si64(c2[64],_mm_xor_si64(c2[66],_mm_xor_si64(c2[54],_mm_xor_si64(c2[66],_mm_xor_si64(c2[6],_mm_xor_si64(c2[18],_mm_xor_si64(c2[78],_mm_xor_si64(c2[90],_mm_xor_si64(c2[92],_mm_xor_si64(c2[8],_mm_xor_si64(c2[80],_mm_xor_si64(c2[92],_mm_xor_si64(c2[32],_mm_xor_si64(c2[8],_mm_xor_si64(c2[20],_mm_xor_si64(c2[94],_mm_xor_si64(c2[10],_mm_xor_si64(c2[58],_mm_xor_si64(c2[34],_mm_xor_si64(c2[46],_mm_xor_si64(c2[46],_mm_xor_si64(c2[12],_mm_xor_si64(c2[96],_mm_xor_si64(c2[12],_mm_xor_si64(c2[60],_mm_xor_si64(c2[72],_mm_xor_si64(c2[72],_mm_xor_si64(c2[48],_mm_xor_si64(c2[60],_mm_xor_si64(c2[86],_mm_xor_si64(c2[98],_mm_xor_si64(c2[38],_mm_xor_si64(c2[14],_mm_xor_si64(c2[26],_mm_xor_si64(c2[62],_mm_xor_si64(c2[40],_mm_xor_si64(c2[52],_mm_xor_si64(c2[40],_mm_xor_si64(c2[52],_mm_xor_si64(c2[88],_mm_xor_si64(c2[64],_mm_xor_si64(c2[76],_mm_xor_si64(c2[18],_mm_xor_si64(c2[102],_mm_xor_si64(c2[18],_mm_xor_si64(c2[90],_mm_xor_si64(c2[102],_mm_xor_si64(c2[66],_mm_xor_si64(c2[42],c2[54]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[8]=_mm_xor_si64(c2[84],_mm_xor_si64(c2[72],_mm_xor_si64(c2[60],_mm_xor_si64(c2[48],_mm_xor_si64(c2[72],_mm_xor_si64(c2[72],_mm_xor_si64(c2[38],_mm_xor_si64(c2[26],_mm_xor_si64(c2[86],_mm_xor_si64(c2[62],_mm_xor_si64(c2[74],_mm_xor_si64(c2[28],_mm_xor_si64(c2[16],_mm_xor_si64(c2[88],_mm_xor_si64(c2[6],_mm_xor_si64(c2[90],_mm_xor_si64(c2[54],_mm_xor_si64(c2[42],_mm_xor_si64(c2[18],_mm_xor_si64(c2[44],_mm_xor_si64(c2[32],_mm_xor_si64(c2[20],_mm_xor_si64(c2[44],_mm_xor_si64(c2[46],_mm_xor_si64(c2[34],_mm_xor_si64(c2[70],_mm_xor_si64(c2[48],_mm_xor_si64(c2[36],_mm_xor_si64(c2[12],_mm_xor_si64(c2[96],_mm_xor_si64(c2[84],_mm_xor_si64(c2[38],_mm_xor_si64(c2[26],_mm_xor_si64(c2[50],_mm_xor_si64(c2[88],_mm_xor_si64(c2[76],_mm_xor_si64(c2[76],_mm_xor_si64(c2[100],_mm_xor_si64(c2[54],_mm_xor_si64(c2[42],_mm_xor_si64(c2[42],_mm_xor_si64(c2[30],c2[78]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[9]=_mm_xor_si64(c2[0],_mm_xor_si64(c2[60],_mm_xor_si64(c2[84],_mm_xor_si64(c2[36],_mm_xor_si64(c2[60],_mm_xor_si64(c2[60],_mm_xor_si64(c2[84],_mm_xor_si64(c2[50],_mm_xor_si64(c2[14],_mm_xor_si64(c2[38],_mm_xor_si64(c2[74],_mm_xor_si64(c2[2],_mm_xor_si64(c2[50],_mm_xor_si64(c2[74],_mm_xor_si64(c2[38],_mm_xor_si64(c2[40],_mm_xor_si64(c2[4],_mm_xor_si64(c2[28],_mm_xor_si64(c2[76],_mm_xor_si64(c2[4],_mm_xor_si64(c2[18],_mm_xor_si64(c2[78],_mm_xor_si64(c2[6],_mm_xor_si64(c2[30],_mm_xor_si64(c2[54],_mm_xor_si64(c2[6],_mm_xor_si64(c2[30],_mm_xor_si64(c2[20],_mm_xor_si64(c2[44],_mm_xor_si64(c2[8],_mm_xor_si64(c2[32],_mm_xor_si64(c2[32],_mm_xor_si64(c2[56],_mm_xor_si64(c2[22],_mm_xor_si64(c2[46],_mm_xor_si64(c2[58],_mm_xor_si64(c2[82],_mm_xor_si64(c2[60],_mm_xor_si64(c2[24],_mm_xor_si64(c2[48],_mm_xor_si64(c2[84],_mm_xor_si64(c2[12],_mm_xor_si64(c2[72],_mm_xor_si64(c2[96],_mm_xor_si64(c2[14],_mm_xor_si64(c2[38],_mm_xor_si64(c2[38],_mm_xor_si64(c2[62],_mm_xor_si64(c2[64],_mm_xor_si64(c2[88],_mm_xor_si64(c2[64],_mm_xor_si64(c2[88],_mm_xor_si64(c2[88],_mm_xor_si64(c2[16],_mm_xor_si64(c2[76],_mm_xor_si64(c2[66],_mm_xor_si64(c2[30],_mm_xor_si64(c2[54],_mm_xor_si64(c2[18],_mm_xor_si64(c2[42],_mm_xor_si64(c2[66],c2[90])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[10]=_mm_xor_si64(c2[36],_mm_xor_si64(c2[14],_mm_xor_si64(c2[12],c2[74])));
//row: 11
d2[11]=_mm_xor_si64(c2[0],_mm_xor_si64(c2[72],_mm_xor_si64(c2[0],_mm_xor_si64(c2[36],_mm_xor_si64(c2[50],_mm_xor_si64(c2[14],_mm_xor_si64(c2[2],_mm_xor_si64(c2[86],_mm_xor_si64(c2[40],_mm_xor_si64(c2[28],_mm_xor_si64(c2[16],_mm_xor_si64(c2[18],_mm_xor_si64(c2[66],_mm_xor_si64(c2[42],_mm_xor_si64(c2[56],_mm_xor_si64(c2[44],_mm_xor_si64(c2[80],_mm_xor_si64(c2[68],_mm_xor_si64(c2[58],_mm_xor_si64(c2[10],_mm_xor_si64(c2[94],_mm_xor_si64(c2[60],_mm_xor_si64(c2[24],_mm_xor_si64(c2[24],_mm_xor_si64(c2[12],_mm_xor_si64(c2[50],_mm_xor_si64(c2[86],_mm_xor_si64(c2[74],_mm_xor_si64(c2[62],_mm_xor_si64(c2[100],_mm_xor_si64(c2[100],_mm_xor_si64(c2[40],_mm_xor_si64(c2[28],_mm_xor_si64(c2[66],_mm_xor_si64(c2[54],_mm_xor_si64(c2[18],_mm_xor_si64(c2[102],c2[42])))))))))))))))))))))))))))))))))))));
//row: 12
d2[12]=_mm_xor_si64(c2[84],_mm_xor_si64(c2[72],_mm_xor_si64(c2[48],_mm_xor_si64(c2[72],_mm_xor_si64(c2[38],_mm_xor_si64(c2[26],_mm_xor_si64(c2[86],_mm_xor_si64(c2[62],_mm_xor_si64(c2[86],_mm_xor_si64(c2[28],_mm_xor_si64(c2[16],_mm_xor_si64(c2[88],_mm_xor_si64(c2[6],_mm_xor_si64(c2[90],_mm_xor_si64(c2[42],_mm_xor_si64(c2[18],_mm_xor_si64(c2[90],_mm_xor_si64(c2[32],_mm_xor_si64(c2[20],_mm_xor_si64(c2[44],_mm_xor_si64(c2[34],_mm_xor_si64(c2[70],_mm_xor_si64(c2[48],_mm_xor_si64(c2[36],_mm_xor_si64(c2[96],_mm_xor_si64(c2[84],_mm_xor_si64(c2[26],_mm_xor_si64(c2[50],_mm_xor_si64(c2[76],_mm_xor_si64(c2[76],_mm_xor_si64(c2[100],_mm_xor_si64(c2[54],_mm_xor_si64(c2[42],_mm_xor_si64(c2[30],c2[78]))))))))))))))))))))))))))))))))));
//row: 13
d2[13]=_mm_xor_si64(c2[72],_mm_xor_si64(c2[48],_mm_xor_si64(c2[72],_mm_xor_si64(c2[36],_mm_xor_si64(c2[26],_mm_xor_si64(c2[86],_mm_xor_si64(c2[74],_mm_xor_si64(c2[62],_mm_xor_si64(c2[26],_mm_xor_si64(c2[16],_mm_xor_si64(c2[4],_mm_xor_si64(c2[88],_mm_xor_si64(c2[90],_mm_xor_si64(c2[42],_mm_xor_si64(c2[18],_mm_xor_si64(c2[32],_mm_xor_si64(c2[20],_mm_xor_si64(c2[56],_mm_xor_si64(c2[44],_mm_xor_si64(c2[34],_mm_xor_si64(c2[82],_mm_xor_si64(c2[70],_mm_xor_si64(c2[36],_mm_xor_si64(c2[96],_mm_xor_si64(c2[96],_mm_xor_si64(c2[84],_mm_xor_si64(c2[26],_mm_xor_si64(c2[62],_mm_xor_si64(c2[50],_mm_xor_si64(c2[76],_mm_xor_si64(c2[76],_mm_xor_si64(c2[16],_mm_xor_si64(c2[100],_mm_xor_si64(c2[88],_mm_xor_si64(c2[42],_mm_xor_si64(c2[30],_mm_xor_si64(c2[90],c2[78])))))))))))))))))))))))))))))))))))));
//row: 14
d2[14]=_mm_xor_si64(c2[48],_mm_xor_si64(c2[36],_mm_xor_si64(c2[0],_mm_xor_si64(c2[12],_mm_xor_si64(c2[72],_mm_xor_si64(c2[36],_mm_xor_si64(c2[0],_mm_xor_si64(c2[2],_mm_xor_si64(c2[86],_mm_xor_si64(c2[50],_mm_xor_si64(c2[50],_mm_xor_si64(c2[14],_mm_xor_si64(c2[2],_mm_xor_si64(c2[26],_mm_xor_si64(c2[86],_mm_xor_si64(c2[38],_mm_xor_si64(c2[88],_mm_xor_si64(c2[76],_mm_xor_si64(c2[40],_mm_xor_si64(c2[28],_mm_xor_si64(c2[52],_mm_xor_si64(c2[16],_mm_xor_si64(c2[66],_mm_xor_si64(c2[54],_mm_xor_si64(c2[18],_mm_xor_si64(c2[6],_mm_xor_si64(c2[66],_mm_xor_si64(c2[78],_mm_xor_si64(c2[42],_mm_xor_si64(c2[92],_mm_xor_si64(c2[56],_mm_xor_si64(c2[80],_mm_xor_si64(c2[44],_mm_xor_si64(c2[80],_mm_xor_si64(c2[8],_mm_xor_si64(c2[68],_mm_xor_si64(c2[94],_mm_xor_si64(c2[58],_mm_xor_si64(c2[10],_mm_xor_si64(c2[34],_mm_xor_si64(c2[94],_mm_xor_si64(c2[12],_mm_xor_si64(c2[96],_mm_xor_si64(c2[60],_mm_xor_si64(c2[60],_mm_xor_si64(c2[24],_mm_xor_si64(c2[24],_mm_xor_si64(c2[48],_mm_xor_si64(c2[12],_mm_xor_si64(c2[24],_mm_xor_si64(c2[86],_mm_xor_si64(c2[50],_mm_xor_si64(c2[86],_mm_xor_si64(c2[14],_mm_xor_si64(c2[74],_mm_xor_si64(c2[40],_mm_xor_si64(c2[100],_mm_xor_si64(c2[40],_mm_xor_si64(c2[100],_mm_xor_si64(c2[40],_mm_xor_si64(c2[64],_mm_xor_si64(c2[28],_mm_xor_si64(c2[18],_mm_xor_si64(c2[102],_mm_xor_si64(c2[66],_mm_xor_si64(c2[90],_mm_xor_si64(c2[54],_mm_xor_si64(c2[18],_mm_xor_si64(c2[42],c2[102])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[15]=_mm_xor_si64(c2[72],_mm_xor_si64(c2[84],_mm_xor_si64(c2[60],_mm_xor_si64(c2[60],_mm_xor_si64(c2[36],_mm_xor_si64(c2[84],_mm_xor_si64(c2[60],_mm_xor_si64(c2[36],_mm_xor_si64(c2[26],_mm_xor_si64(c2[38],_mm_xor_si64(c2[14],_mm_xor_si64(c2[2],_mm_xor_si64(c2[74],_mm_xor_si64(c2[74],_mm_xor_si64(c2[50],_mm_xor_si64(c2[16],_mm_xor_si64(c2[28],_mm_xor_si64(c2[4],_mm_xor_si64(c2[4],_mm_xor_si64(c2[76],_mm_xor_si64(c2[90],_mm_xor_si64(c2[6],_mm_xor_si64(c2[78],_mm_xor_si64(c2[54],_mm_xor_si64(c2[30],_mm_xor_si64(c2[30],_mm_xor_si64(c2[6],_mm_xor_si64(c2[44],_mm_xor_si64(c2[20],_mm_xor_si64(c2[32],_mm_xor_si64(c2[8],_mm_xor_si64(c2[56],_mm_xor_si64(c2[32],_mm_xor_si64(c2[46],_mm_xor_si64(c2[22],_mm_xor_si64(c2[82],_mm_xor_si64(c2[58],_mm_xor_si64(c2[36],_mm_xor_si64(c2[48],_mm_xor_si64(c2[24],_mm_xor_si64(c2[12],_mm_xor_si64(c2[84],_mm_xor_si64(c2[96],_mm_xor_si64(c2[72],_mm_xor_si64(c2[38],_mm_xor_si64(c2[14],_mm_xor_si64(c2[62],_mm_xor_si64(c2[38],_mm_xor_si64(c2[88],_mm_xor_si64(c2[64],_mm_xor_si64(c2[88],_mm_xor_si64(c2[64],_mm_xor_si64(c2[16],_mm_xor_si64(c2[88],_mm_xor_si64(c2[42],_mm_xor_si64(c2[54],_mm_xor_si64(c2[30],_mm_xor_si64(c2[42],_mm_xor_si64(c2[18],_mm_xor_si64(c2[90],c2[66]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[16]=_mm_xor_si64(c2[12],_mm_xor_si64(c2[36],_mm_xor_si64(c2[0],_mm_xor_si64(c2[24],_mm_xor_si64(c2[12],_mm_xor_si64(c2[72],_mm_xor_si64(c2[0],_mm_xor_si64(c2[0],_mm_xor_si64(c2[24],_mm_xor_si64(c2[62],_mm_xor_si64(c2[86],_mm_xor_si64(c2[50],_mm_xor_si64(c2[74],_mm_xor_si64(c2[14],_mm_xor_si64(c2[38],_mm_xor_si64(c2[86],_mm_xor_si64(c2[14],_mm_xor_si64(c2[38],_mm_xor_si64(c2[52],_mm_xor_si64(c2[76],_mm_xor_si64(c2[40],_mm_xor_si64(c2[64],_mm_xor_si64(c2[16],_mm_xor_si64(c2[40],_mm_xor_si64(c2[30],_mm_xor_si64(c2[54],_mm_xor_si64(c2[18],_mm_xor_si64(c2[42],_mm_xor_si64(c2[6],_mm_xor_si64(c2[66],_mm_xor_si64(c2[90],_mm_xor_si64(c2[42],_mm_xor_si64(c2[66],_mm_xor_si64(c2[92],_mm_xor_si64(c2[56],_mm_xor_si64(c2[80],_mm_xor_si64(c2[44],_mm_xor_si64(c2[68],_mm_xor_si64(c2[68],_mm_xor_si64(c2[92],_mm_xor_si64(c2[94],_mm_xor_si64(c2[58],_mm_xor_si64(c2[82],_mm_xor_si64(c2[94],_mm_xor_si64(c2[22],_mm_xor_si64(c2[72],_mm_xor_si64(c2[96],_mm_xor_si64(c2[60],_mm_xor_si64(c2[84],_mm_xor_si64(c2[60],_mm_xor_si64(c2[24],_mm_xor_si64(c2[48],_mm_xor_si64(c2[12],_mm_xor_si64(c2[36],_mm_xor_si64(c2[86],_mm_xor_si64(c2[50],_mm_xor_si64(c2[74],_mm_xor_si64(c2[74],_mm_xor_si64(c2[98],_mm_xor_si64(c2[40],_mm_xor_si64(c2[100],_mm_xor_si64(c2[28],_mm_xor_si64(c2[100],_mm_xor_si64(c2[28],_mm_xor_si64(c2[28],_mm_xor_si64(c2[52],_mm_xor_si64(c2[78],_mm_xor_si64(c2[102],_mm_xor_si64(c2[66],_mm_xor_si64(c2[90],_mm_xor_si64(c2[90],_mm_xor_si64(c2[54],_mm_xor_si64(c2[78],_mm_xor_si64(c2[102],_mm_xor_si64(c2[30],c2[90])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[17]=_mm_xor_si64(c2[36],_mm_xor_si64(c2[12],_mm_xor_si64(c2[24],_mm_xor_si64(c2[0],_mm_xor_si64(c2[84],_mm_xor_si64(c2[0],_mm_xor_si64(c2[72],_mm_xor_si64(c2[24],_mm_xor_si64(c2[0],_mm_xor_si64(c2[86],_mm_xor_si64(c2[62],_mm_xor_si64(c2[74],_mm_xor_si64(c2[50],_mm_xor_si64(c2[38],_mm_xor_si64(c2[14],_mm_xor_si64(c2[14],_mm_xor_si64(c2[86],_mm_xor_si64(c2[74],_mm_xor_si64(c2[76],_mm_xor_si64(c2[52],_mm_xor_si64(c2[64],_mm_xor_si64(c2[40],_mm_xor_si64(c2[40],_mm_xor_si64(c2[16],_mm_xor_si64(c2[54],_mm_xor_si64(c2[30],_mm_xor_si64(c2[42],_mm_xor_si64(c2[18],_mm_xor_si64(c2[78],_mm_xor_si64(c2[90],_mm_xor_si64(c2[66],_mm_xor_si64(c2[66],_mm_xor_si64(c2[42],_mm_xor_si64(c2[68],_mm_xor_si64(c2[80],_mm_xor_si64(c2[56],_mm_xor_si64(c2[68],_mm_xor_si64(c2[44],_mm_xor_si64(c2[92],_mm_xor_si64(c2[68],_mm_xor_si64(c2[70],_mm_xor_si64(c2[82],_mm_xor_si64(c2[58],_mm_xor_si64(c2[22],_mm_xor_si64(c2[94],_mm_xor_si64(c2[58],_mm_xor_si64(c2[96],_mm_xor_si64(c2[72],_mm_xor_si64(c2[84],_mm_xor_si64(c2[60],_mm_xor_si64(c2[36],_mm_xor_si64(c2[48],_mm_xor_si64(c2[24],_mm_xor_si64(c2[36],_mm_xor_si64(c2[12],_mm_xor_si64(c2[62],_mm_xor_si64(c2[74],_mm_xor_si64(c2[50],_mm_xor_si64(c2[98],_mm_xor_si64(c2[74],_mm_xor_si64(c2[16],_mm_xor_si64(c2[28],_mm_xor_si64(c2[100],_mm_xor_si64(c2[28],_mm_xor_si64(c2[100],_mm_xor_si64(c2[52],_mm_xor_si64(c2[28],_mm_xor_si64(c2[102],_mm_xor_si64(c2[78],_mm_xor_si64(c2[90],_mm_xor_si64(c2[66],_mm_xor_si64(c2[66],_mm_xor_si64(c2[78],_mm_xor_si64(c2[54],_mm_xor_si64(c2[30],c2[102])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[18]=_mm_xor_si64(c2[48],_mm_xor_si64(c2[36],c2[38]));
//row: 19
d2[19]=_mm_xor_si64(c2[12],_mm_xor_si64(c2[84],_mm_xor_si64(c2[12],_mm_xor_si64(c2[84],_mm_xor_si64(c2[62],_mm_xor_si64(c2[26],_mm_xor_si64(c2[2],_mm_xor_si64(c2[50],_mm_xor_si64(c2[52],_mm_xor_si64(c2[28],_mm_xor_si64(c2[30],_mm_xor_si64(c2[78],_mm_xor_si64(c2[54],_mm_xor_si64(c2[68],_mm_xor_si64(c2[56],_mm_xor_si64(c2[80],_mm_xor_si64(c2[70],_mm_xor_si64(c2[10],_mm_xor_si64(c2[72],_mm_xor_si64(c2[36],_mm_xor_si64(c2[24],_mm_xor_si64(c2[62],_mm_xor_si64(c2[86],_mm_xor_si64(c2[16],_mm_xor_si64(c2[16],_mm_xor_si64(c2[40],_mm_xor_si64(c2[78],_mm_xor_si64(c2[66],c2[18]))))))))))))))))))))))))))));
//row: 20
d2[20]=_mm_xor_si64(c2[72],_mm_xor_si64(c2[60],_mm_xor_si64(c2[36],_mm_xor_si64(c2[60],_mm_xor_si64(c2[26],_mm_xor_si64(c2[14],_mm_xor_si64(c2[74],_mm_xor_si64(c2[50],_mm_xor_si64(c2[26],_mm_xor_si64(c2[16],_mm_xor_si64(c2[4],_mm_xor_si64(c2[76],_mm_xor_si64(c2[90],_mm_xor_si64(c2[78],_mm_xor_si64(c2[30],_mm_xor_si64(c2[6],_mm_xor_si64(c2[20],_mm_xor_si64(c2[8],_mm_xor_si64(c2[32],_mm_xor_si64(c2[20],_mm_xor_si64(c2[22],_mm_xor_si64(c2[58],_mm_xor_si64(c2[36],_mm_xor_si64(c2[24],_mm_xor_si64(c2[84],_mm_xor_si64(c2[72],_mm_xor_si64(c2[14],_mm_xor_si64(c2[38],_mm_xor_si64(c2[64],_mm_xor_si64(c2[64],_mm_xor_si64(c2[88],_mm_xor_si64(c2[42],_mm_xor_si64(c2[30],_mm_xor_si64(c2[18],c2[66]))))))))))))))))))))))))))))))))));
//row: 21
d2[21]=_mm_xor_si64(c2[24],_mm_xor_si64(c2[0],_mm_xor_si64(c2[24],_mm_xor_si64(c2[48],_mm_xor_si64(c2[74],_mm_xor_si64(c2[38],_mm_xor_si64(c2[26],_mm_xor_si64(c2[14],_mm_xor_si64(c2[64],_mm_xor_si64(c2[52],_mm_xor_si64(c2[40],_mm_xor_si64(c2[42],_mm_xor_si64(c2[90],_mm_xor_si64(c2[66],_mm_xor_si64(c2[80],_mm_xor_si64(c2[68],_mm_xor_si64(c2[8],_mm_xor_si64(c2[92],_mm_xor_si64(c2[82],_mm_xor_si64(c2[34],_mm_xor_si64(c2[22],_mm_xor_si64(c2[84],_mm_xor_si64(c2[48],_mm_xor_si64(c2[48],_mm_xor_si64(c2[36],_mm_xor_si64(c2[74],_mm_xor_si64(c2[14],_mm_xor_si64(c2[98],_mm_xor_si64(c2[28],_mm_xor_si64(c2[28],_mm_xor_si64(c2[64],_mm_xor_si64(c2[52],_mm_xor_si64(c2[40],_mm_xor_si64(c2[90],_mm_xor_si64(c2[78],_mm_xor_si64(c2[42],c2[30]))))))))))))))))))))))))))))))))))));
//row: 22
d2[22]=_mm_xor_si64(c2[74],c2[88]);
//row: 23
d2[23]=_mm_xor_si64(c2[84],_mm_xor_si64(c2[42],c2[82]));
//row: 24
d2[24]=_mm_xor_si64(c2[74],_mm_xor_si64(c2[40],c2[18]));
//row: 25
d2[25]=_mm_xor_si64(c2[48],c2[58]);
//row: 26
d2[26]=_mm_xor_si64(c2[12],_mm_xor_si64(c2[0],_mm_xor_si64(c2[24],_mm_xor_si64(c2[84],_mm_xor_si64(c2[72],_mm_xor_si64(c2[0],_mm_xor_si64(c2[0],_mm_xor_si64(c2[24],_mm_xor_si64(c2[62],_mm_xor_si64(c2[50],_mm_xor_si64(c2[74],_mm_xor_si64(c2[14],_mm_xor_si64(c2[38],_mm_xor_si64(c2[26],_mm_xor_si64(c2[86],_mm_xor_si64(c2[14],_mm_xor_si64(c2[52],_mm_xor_si64(c2[40],_mm_xor_si64(c2[64],_mm_xor_si64(c2[52],_mm_xor_si64(c2[16],_mm_xor_si64(c2[40],_mm_xor_si64(c2[64],_mm_xor_si64(c2[30],_mm_xor_si64(c2[18],_mm_xor_si64(c2[42],_mm_xor_si64(c2[78],_mm_xor_si64(c2[66],_mm_xor_si64(c2[90],_mm_xor_si64(c2[42],_mm_xor_si64(c2[66],_mm_xor_si64(c2[68],_mm_xor_si64(c2[56],_mm_xor_si64(c2[80],_mm_xor_si64(c2[44],_mm_xor_si64(c2[68],_mm_xor_si64(c2[8],_mm_xor_si64(c2[68],_mm_xor_si64(c2[92],_mm_xor_si64(c2[70],_mm_xor_si64(c2[58],_mm_xor_si64(c2[82],_mm_xor_si64(c2[34],_mm_xor_si64(c2[94],_mm_xor_si64(c2[22],_mm_xor_si64(c2[72],_mm_xor_si64(c2[60],_mm_xor_si64(c2[84],_mm_xor_si64(c2[36],_mm_xor_si64(c2[24],_mm_xor_si64(c2[48],_mm_xor_si64(c2[48],_mm_xor_si64(c2[12],_mm_xor_si64(c2[36],_mm_xor_si64(c2[62],_mm_xor_si64(c2[50],_mm_xor_si64(c2[74],_mm_xor_si64(c2[14],_mm_xor_si64(c2[74],_mm_xor_si64(c2[98],_mm_xor_si64(c2[98],_mm_xor_si64(c2[16],_mm_xor_si64(c2[100],_mm_xor_si64(c2[28],_mm_xor_si64(c2[100],_mm_xor_si64(c2[28],_mm_xor_si64(c2[64],_mm_xor_si64(c2[28],_mm_xor_si64(c2[52],_mm_xor_si64(c2[78],_mm_xor_si64(c2[66],_mm_xor_si64(c2[90],_mm_xor_si64(c2[66],_mm_xor_si64(c2[54],_mm_xor_si64(c2[78],_mm_xor_si64(c2[42],_mm_xor_si64(c2[102],c2[30])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[27]=_mm_xor_si64(c2[0],c2[96]);
//row: 28
d2[28]=_mm_xor_si64(c2[26],_mm_xor_si64(c2[64],c2[94]));
//row: 29
d2[29]=_mm_xor_si64(c2[24],c2[56]);
//row: 30
d2[30]=_mm_xor_si64(c2[88],_mm_xor_si64(c2[10],_mm_xor_si64(c2[26],c2[66])));
//row: 31
d2[31]=_mm_xor_si64(c2[12],_mm_xor_si64(c2[84],_mm_xor_si64(c2[12],_mm_xor_si64(c2[62],_mm_xor_si64(c2[26],_mm_xor_si64(c2[14],_mm_xor_si64(c2[2],_mm_xor_si64(c2[26],_mm_xor_si64(c2[52],_mm_xor_si64(c2[40],_mm_xor_si64(c2[28],_mm_xor_si64(c2[30],_mm_xor_si64(c2[78],_mm_xor_si64(c2[54],_mm_xor_si64(c2[68],_mm_xor_si64(c2[56],_mm_xor_si64(c2[92],_mm_xor_si64(c2[80],_mm_xor_si64(c2[70],_mm_xor_si64(c2[22],_mm_xor_si64(c2[10],_mm_xor_si64(c2[72],_mm_xor_si64(c2[36],_mm_xor_si64(c2[36],_mm_xor_si64(c2[24],_mm_xor_si64(c2[62],_mm_xor_si64(c2[98],_mm_xor_si64(c2[86],_mm_xor_si64(c2[16],_mm_xor_si64(c2[16],_mm_xor_si64(c2[52],_mm_xor_si64(c2[40],_mm_xor_si64(c2[78],_mm_xor_si64(c2[66],_mm_xor_si64(c2[30],c2[18])))))))))))))))))))))))))))))))))));
//row: 32
d2[32]=_mm_xor_si64(c2[84],_mm_xor_si64(c2[72],_mm_xor_si64(c2[60],_mm_xor_si64(c2[48],_mm_xor_si64(c2[72],_mm_xor_si64(c2[24],_mm_xor_si64(c2[38],_mm_xor_si64(c2[26],_mm_xor_si64(c2[86],_mm_xor_si64(c2[62],_mm_xor_si64(c2[28],_mm_xor_si64(c2[16],_mm_xor_si64(c2[88],_mm_xor_si64(c2[6],_mm_xor_si64(c2[90],_mm_xor_si64(c2[54],_mm_xor_si64(c2[42],_mm_xor_si64(c2[18],_mm_xor_si64(c2[44],_mm_xor_si64(c2[32],_mm_xor_si64(c2[20],_mm_xor_si64(c2[44],_mm_xor_si64(c2[46],_mm_xor_si64(c2[34],_mm_xor_si64(c2[70],_mm_xor_si64(c2[58],_mm_xor_si64(c2[48],_mm_xor_si64(c2[36],_mm_xor_si64(c2[12],_mm_xor_si64(c2[96],_mm_xor_si64(c2[84],_mm_xor_si64(c2[38],_mm_xor_si64(c2[26],_mm_xor_si64(c2[50],_mm_xor_si64(c2[88],_mm_xor_si64(c2[76],_mm_xor_si64(c2[76],_mm_xor_si64(c2[100],_mm_xor_si64(c2[54],_mm_xor_si64(c2[42],_mm_xor_si64(c2[42],_mm_xor_si64(c2[30],c2[78]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[33]=_mm_xor_si64(c2[36],_mm_xor_si64(c2[12],_mm_xor_si64(c2[36],_mm_xor_si64(c2[86],_mm_xor_si64(c2[50],_mm_xor_si64(c2[26],_mm_xor_si64(c2[76],_mm_xor_si64(c2[52],_mm_xor_si64(c2[52],_mm_xor_si64(c2[54],_mm_xor_si64(c2[6],_mm_xor_si64(c2[78],_mm_xor_si64(c2[92],_mm_xor_si64(c2[80],_mm_xor_si64(c2[8],_mm_xor_si64(c2[94],_mm_xor_si64(c2[34],_mm_xor_si64(c2[96],_mm_xor_si64(c2[60],_mm_xor_si64(c2[48],_mm_xor_si64(c2[86],_mm_xor_si64(c2[14],_mm_xor_si64(c2[62],_mm_xor_si64(c2[40],_mm_xor_si64(c2[40],_mm_xor_si64(c2[64],_mm_xor_si64(c2[102],_mm_xor_si64(c2[90],c2[42]))))))))))))))))))))))))))));
//row: 34
d2[34]=_mm_xor_si64(c2[72],_mm_xor_si64(c2[60],_mm_xor_si64(c2[48],_mm_xor_si64(c2[48],_mm_xor_si64(c2[36],_mm_xor_si64(c2[24],_mm_xor_si64(c2[60],_mm_xor_si64(c2[48],_mm_xor_si64(c2[36],_mm_xor_si64(c2[26],_mm_xor_si64(c2[14],_mm_xor_si64(c2[2],_mm_xor_si64(c2[74],_mm_xor_si64(c2[62],_mm_xor_si64(c2[50],_mm_xor_si64(c2[50],_mm_xor_si64(c2[38],_mm_xor_si64(c2[16],_mm_xor_si64(c2[4],_mm_xor_si64(c2[88],_mm_xor_si64(c2[76],_mm_xor_si64(c2[76],_mm_xor_si64(c2[64],_mm_xor_si64(c2[90],_mm_xor_si64(c2[78],_mm_xor_si64(c2[66],_mm_xor_si64(c2[42],_mm_xor_si64(c2[30],_mm_xor_si64(c2[18],_mm_xor_si64(c2[6],_mm_xor_si64(c2[90],_mm_xor_si64(c2[32],_mm_xor_si64(c2[20],_mm_xor_si64(c2[8],_mm_xor_si64(c2[8],_mm_xor_si64(c2[92],_mm_xor_si64(c2[32],_mm_xor_si64(c2[32],_mm_xor_si64(c2[20],_mm_xor_si64(c2[34],_mm_xor_si64(c2[22],_mm_xor_si64(c2[10],_mm_xor_si64(c2[58],_mm_xor_si64(c2[58],_mm_xor_si64(c2[46],_mm_xor_si64(c2[36],_mm_xor_si64(c2[24],_mm_xor_si64(c2[12],_mm_xor_si64(c2[96],_mm_xor_si64(c2[84],_mm_xor_si64(c2[72],_mm_xor_si64(c2[72],_mm_xor_si64(c2[72],_mm_xor_si64(c2[60],_mm_xor_si64(c2[26],_mm_xor_si64(c2[14],_mm_xor_si64(c2[98],_mm_xor_si64(c2[38],_mm_xor_si64(c2[38],_mm_xor_si64(c2[26],_mm_xor_si64(c2[76],_mm_xor_si64(c2[64],_mm_xor_si64(c2[52],_mm_xor_si64(c2[64],_mm_xor_si64(c2[52],_mm_xor_si64(c2[88],_mm_xor_si64(c2[88],_mm_xor_si64(c2[76],_mm_xor_si64(c2[42],_mm_xor_si64(c2[30],_mm_xor_si64(c2[18],_mm_xor_si64(c2[30],_mm_xor_si64(c2[18],_mm_xor_si64(c2[102],_mm_xor_si64(c2[66],_mm_xor_si64(c2[66],c2[54]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[35]=_mm_xor_si64(c2[0],_mm_xor_si64(c2[84],_mm_xor_si64(c2[60],_mm_xor_si64(c2[84],_mm_xor_si64(c2[50],_mm_xor_si64(c2[38],_mm_xor_si64(c2[2],_mm_xor_si64(c2[74],_mm_xor_si64(c2[14],_mm_xor_si64(c2[40],_mm_xor_si64(c2[28],_mm_xor_si64(c2[4],_mm_xor_si64(c2[18],_mm_xor_si64(c2[6],_mm_xor_si64(c2[54],_mm_xor_si64(c2[30],_mm_xor_si64(c2[44],_mm_xor_si64(c2[32],_mm_xor_si64(c2[56],_mm_xor_si64(c2[46],_mm_xor_si64(c2[82],_mm_xor_si64(c2[10],_mm_xor_si64(c2[60],_mm_xor_si64(c2[48],_mm_xor_si64(c2[12],_mm_xor_si64(c2[96],_mm_xor_si64(c2[38],_mm_xor_si64(c2[62],_mm_xor_si64(c2[88],_mm_xor_si64(c2[88],_mm_xor_si64(c2[16],_mm_xor_si64(c2[66],_mm_xor_si64(c2[54],_mm_xor_si64(c2[42],c2[90]))))))))))))))))))))))))))))))))));
//row: 36
d2[36]=_mm_xor_si64(c2[48],_mm_xor_si64(c2[76],c2[38]));
//row: 37
d2[37]=_mm_xor_si64(c2[36],_mm_xor_si64(c2[84],_mm_xor_si64(c2[12],_mm_xor_si64(c2[60],_mm_xor_si64(c2[36],_mm_xor_si64(c2[84],_mm_xor_si64(c2[86],_mm_xor_si64(c2[38],_mm_xor_si64(c2[50],_mm_xor_si64(c2[2],_mm_xor_si64(c2[86],_mm_xor_si64(c2[26],_mm_xor_si64(c2[74],_mm_xor_si64(c2[76],_mm_xor_si64(c2[28],_mm_xor_si64(c2[16],_mm_xor_si64(c2[52],_mm_xor_si64(c2[4],_mm_xor_si64(c2[54],_mm_xor_si64(c2[6],_mm_xor_si64(c2[6],_mm_xor_si64(c2[54],_mm_xor_si64(c2[78],_mm_xor_si64(c2[30],_mm_xor_si64(c2[92],_mm_xor_si64(c2[44],_mm_xor_si64(c2[80],_mm_xor_si64(c2[32],_mm_xor_si64(c2[68],_mm_xor_si64(c2[8],_mm_xor_si64(c2[56],_mm_xor_si64(c2[94],_mm_xor_si64(c2[46],_mm_xor_si64(c2[94],_mm_xor_si64(c2[34],_mm_xor_si64(c2[82],_mm_xor_si64(c2[96],_mm_xor_si64(c2[48],_mm_xor_si64(c2[60],_mm_xor_si64(c2[12],_mm_xor_si64(c2[12],_mm_xor_si64(c2[48],_mm_xor_si64(c2[96],_mm_xor_si64(c2[86],_mm_xor_si64(c2[38],_mm_xor_si64(c2[74],_mm_xor_si64(c2[14],_mm_xor_si64(c2[62],_mm_xor_si64(c2[40],_mm_xor_si64(c2[88],_mm_xor_si64(c2[40],_mm_xor_si64(c2[88],_mm_xor_si64(c2[28],_mm_xor_si64(c2[64],_mm_xor_si64(c2[16],_mm_xor_si64(c2[102],_mm_xor_si64(c2[54],_mm_xor_si64(c2[90],_mm_xor_si64(c2[42],_mm_xor_si64(c2[102],_mm_xor_si64(c2[42],c2[90])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[38]=_mm_xor_si64(c2[84],_mm_xor_si64(c2[72],_mm_xor_si64(c2[48],_mm_xor_si64(c2[72],_mm_xor_si64(c2[38],_mm_xor_si64(c2[26],_mm_xor_si64(c2[86],_mm_xor_si64(c2[62],_mm_xor_si64(c2[86],_mm_xor_si64(c2[28],_mm_xor_si64(c2[16],_mm_xor_si64(c2[88],_mm_xor_si64(c2[6],_mm_xor_si64(c2[90],_mm_xor_si64(c2[42],_mm_xor_si64(c2[18],_mm_xor_si64(c2[32],_mm_xor_si64(c2[20],_mm_xor_si64(c2[44],_mm_xor_si64(c2[34],_mm_xor_si64(c2[70],_mm_xor_si64(c2[34],_mm_xor_si64(c2[48],_mm_xor_si64(c2[36],_mm_xor_si64(c2[96],_mm_xor_si64(c2[84],_mm_xor_si64(c2[26],_mm_xor_si64(c2[50],_mm_xor_si64(c2[76],_mm_xor_si64(c2[76],_mm_xor_si64(c2[100],_mm_xor_si64(c2[54],_mm_xor_si64(c2[42],_mm_xor_si64(c2[30],c2[78]))))))))))))))))))))))))))))))))));
//row: 39
d2[39]=_mm_xor_si64(c2[36],_mm_xor_si64(c2[24],_mm_xor_si64(c2[12],_mm_xor_si64(c2[0],_mm_xor_si64(c2[24],_mm_xor_si64(c2[84],_mm_xor_si64(c2[86],_mm_xor_si64(c2[74],_mm_xor_si64(c2[38],_mm_xor_si64(c2[14],_mm_xor_si64(c2[76],_mm_xor_si64(c2[64],_mm_xor_si64(c2[40],_mm_xor_si64(c2[54],_mm_xor_si64(c2[42],_mm_xor_si64(c2[6],_mm_xor_si64(c2[90],_mm_xor_si64(c2[66],_mm_xor_si64(c2[92],_mm_xor_si64(c2[80],_mm_xor_si64(c2[68],_mm_xor_si64(c2[92],_mm_xor_si64(c2[94],_mm_xor_si64(c2[82],_mm_xor_si64(c2[22],_mm_xor_si64(c2[96],_mm_xor_si64(c2[84],_mm_xor_si64(c2[60],_mm_xor_si64(c2[48],_mm_xor_si64(c2[36],_mm_xor_si64(c2[86],_mm_xor_si64(c2[74],_mm_xor_si64(c2[98],_mm_xor_si64(c2[62],_mm_xor_si64(c2[40],_mm_xor_si64(c2[28],_mm_xor_si64(c2[28],_mm_xor_si64(c2[52],_mm_xor_si64(c2[102],_mm_xor_si64(c2[90],_mm_xor_si64(c2[90],_mm_xor_si64(c2[78],c2[30]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[40]=_mm_xor_si64(c2[36],_mm_xor_si64(c2[0],_mm_xor_si64(c2[12],_mm_xor_si64(c2[72],_mm_xor_si64(c2[36],_mm_xor_si64(c2[0],_mm_xor_si64(c2[86],_mm_xor_si64(c2[50],_mm_xor_si64(c2[50],_mm_xor_si64(c2[14],_mm_xor_si64(c2[2],_mm_xor_si64(c2[26],_mm_xor_si64(c2[86],_mm_xor_si64(c2[76],_mm_xor_si64(c2[40],_mm_xor_si64(c2[28],_mm_xor_si64(c2[52],_mm_xor_si64(c2[16],_mm_xor_si64(c2[4],_mm_xor_si64(c2[54],_mm_xor_si64(c2[18],_mm_xor_si64(c2[6],_mm_xor_si64(c2[66],_mm_xor_si64(c2[78],_mm_xor_si64(c2[42],_mm_xor_si64(c2[92],_mm_xor_si64(c2[56],_mm_xor_si64(c2[80],_mm_xor_si64(c2[44],_mm_xor_si64(c2[80],_mm_xor_si64(c2[8],_mm_xor_si64(c2[68],_mm_xor_si64(c2[94],_mm_xor_si64(c2[58],_mm_xor_si64(c2[10],_mm_xor_si64(c2[34],_mm_xor_si64(c2[94],_mm_xor_si64(c2[96],_mm_xor_si64(c2[60],_mm_xor_si64(c2[60],_mm_xor_si64(c2[24],_mm_xor_si64(c2[24],_mm_xor_si64(c2[48],_mm_xor_si64(c2[12],_mm_xor_si64(c2[86],_mm_xor_si64(c2[50],_mm_xor_si64(c2[86],_mm_xor_si64(c2[14],_mm_xor_si64(c2[74],_mm_xor_si64(c2[40],_mm_xor_si64(c2[100],_mm_xor_si64(c2[40],_mm_xor_si64(c2[100],_mm_xor_si64(c2[40],_mm_xor_si64(c2[64],_mm_xor_si64(c2[28],_mm_xor_si64(c2[102],_mm_xor_si64(c2[66],_mm_xor_si64(c2[90],_mm_xor_si64(c2[54],_mm_xor_si64(c2[18],_mm_xor_si64(c2[42],c2[102]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[41]=_mm_xor_si64(c2[84],_mm_xor_si64(c2[72],_mm_xor_si64(c2[48],_mm_xor_si64(c2[72],_mm_xor_si64(c2[38],_mm_xor_si64(c2[26],_mm_xor_si64(c2[86],_mm_xor_si64(c2[62],_mm_xor_si64(c2[14],_mm_xor_si64(c2[28],_mm_xor_si64(c2[16],_mm_xor_si64(c2[88],_mm_xor_si64(c2[6],_mm_xor_si64(c2[90],_mm_xor_si64(c2[42],_mm_xor_si64(c2[18],_mm_xor_si64(c2[32],_mm_xor_si64(c2[20],_mm_xor_si64(c2[44],_mm_xor_si64(c2[34],_mm_xor_si64(c2[70],_mm_xor_si64(c2[70],_mm_xor_si64(c2[48],_mm_xor_si64(c2[36],_mm_xor_si64(c2[96],_mm_xor_si64(c2[84],_mm_xor_si64(c2[26],_mm_xor_si64(c2[50],_mm_xor_si64(c2[76],_mm_xor_si64(c2[76],_mm_xor_si64(c2[100],_mm_xor_si64(c2[54],_mm_xor_si64(c2[42],_mm_xor_si64(c2[30],c2[78]))))))))))))))))))))))))))))))))));
}
}
#include "PHY/sse_intrin.h"
// generated code for Zc=96, byte encoding
static inline void ldpc_BG2_Zc96_byte(uint8_t *c,uint8_t *d) {
__m256i *csimd=(__m256i *)c,*dsimd=(__m256i *)d;
__m256i *c2,*d2;
int i2;
for (i2=0; i2<3; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=_mm256_xor_si256(c2[782],_mm256_xor_si256(c2[1560],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[1026],_mm256_xor_si256(c2[427],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[854],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[199],_mm256_xor_si256(c2[1218],_mm256_xor_si256(c2[925],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[1652],_mm256_xor_si256(c2[452],_mm256_xor_si256(c2[398],_mm256_xor_si256(c2[1836],_mm256_xor_si256(c2[1596],_mm256_xor_si256(c2[1604],_mm256_xor_si256(c2[1302],_mm256_xor_si256(c2[1490],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[1668],_mm256_xor_si256(c2[716],_mm256_xor_si256(c2[174],c2[1556]))))))))))))))))))))))))));
//row: 1
d2[3]=_mm256_xor_si256(c2[842],_mm256_xor_si256(c2[782],_mm256_xor_si256(c2[1560],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[1026],_mm256_xor_si256(c2[427],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[854],_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[199],_mm256_xor_si256(c2[1218],_mm256_xor_si256(c2[925],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[1652],_mm256_xor_si256(c2[452],_mm256_xor_si256(c2[458],_mm256_xor_si256(c2[398],_mm256_xor_si256(c2[1836],_mm256_xor_si256(c2[1596],_mm256_xor_si256(c2[1604],_mm256_xor_si256(c2[1302],_mm256_xor_si256(c2[1490],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[1668],_mm256_xor_si256(c2[776],_mm256_xor_si256(c2[716],_mm256_xor_si256(c2[174],c2[1556]))))))))))))))))))))))))))))))));
//row: 2
d2[6]=_mm256_xor_si256(c2[842],_mm256_xor_si256(c2[782],_mm256_xor_si256(c2[1620],_mm256_xor_si256(c2[1560],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[1026],_mm256_xor_si256(c2[427],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[854],_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[259],_mm256_xor_si256(c2[199],_mm256_xor_si256(c2[1218],_mm256_xor_si256(c2[985],_mm256_xor_si256(c2[925],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[1712],_mm256_xor_si256(c2[1652],_mm256_xor_si256(c2[452],_mm256_xor_si256(c2[458],_mm256_xor_si256(c2[398],_mm256_xor_si256(c2[1896],_mm256_xor_si256(c2[1836],_mm256_xor_si256(c2[1596],_mm256_xor_si256(c2[1664],_mm256_xor_si256(c2[1604],_mm256_xor_si256(c2[1302],_mm256_xor_si256(c2[1550],_mm256_xor_si256(c2[1490],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[1668],_mm256_xor_si256(c2[776],_mm256_xor_si256(c2[716],_mm256_xor_si256(c2[234],_mm256_xor_si256(c2[174],c2[1556]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[9]=_mm256_xor_si256(c2[782],_mm256_xor_si256(c2[1560],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[1026],_mm256_xor_si256(c2[487],_mm256_xor_si256(c2[427],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[914],_mm256_xor_si256(c2[854],_mm256_xor_si256(c2[80],_mm256_xor_si256(c2[199],_mm256_xor_si256(c2[1218],_mm256_xor_si256(c2[925],_mm256_xor_si256(c2[804],_mm256_xor_si256(c2[1044],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[1652],_mm256_xor_si256(c2[512],_mm256_xor_si256(c2[452],_mm256_xor_si256(c2[398],_mm256_xor_si256(c2[1836],_mm256_xor_si256(c2[1656],_mm256_xor_si256(c2[1596],_mm256_xor_si256(c2[1604],_mm256_xor_si256(c2[1362],_mm256_xor_si256(c2[1302],_mm256_xor_si256(c2[1490],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[1728],_mm256_xor_si256(c2[1668],_mm256_xor_si256(c2[716],_mm256_xor_si256(c2[174],_mm256_xor_si256(c2[1616],c2[1556]))))))))))))))))))))))))))))))))));
//row: 4
d2[12]=_mm256_xor_si256(c2[660],_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[1381],_mm256_xor_si256(c2[1261],_mm256_xor_si256(c2[482],_mm256_xor_si256(c2[1806],_mm256_xor_si256(c2[1746],_mm256_xor_si256(c2[847],_mm256_xor_si256(c2[248],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[132],_mm256_xor_si256(c2[672],_mm256_xor_si256(c2[1880],_mm256_xor_si256(c2[1820],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[1039],_mm256_xor_si256(c2[746],_mm256_xor_si256(c2[625],_mm256_xor_si256(c2[805],_mm256_xor_si256(c2[1470],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[216],_mm256_xor_si256(c2[1657],_mm256_xor_si256(c2[1417],_mm256_xor_si256(c2[1422],_mm256_xor_si256(c2[1123],_mm256_xor_si256(c2[1308],_mm256_xor_si256(c2[889],_mm256_xor_si256(c2[1489],_mm256_xor_si256(c2[594],_mm256_xor_si256(c2[534],_mm256_xor_si256(c2[1914],c2[1374]))))))))))))))))))))))))))))))))));
//row: 5
d2[15]=_mm256_xor_si256(c2[1800],_mm256_xor_si256(c2[1740],_mm256_xor_si256(c2[602],_mm256_xor_si256(c2[482],_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[1027],_mm256_xor_si256(c2[967],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[1388],_mm256_xor_si256(c2[727],_mm256_xor_si256(c2[1332],_mm256_xor_si256(c2[1272],_mm256_xor_si256(c2[1812],_mm256_xor_si256(c2[1098],_mm256_xor_si256(c2[1038],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[260],_mm256_xor_si256(c2[1886],_mm256_xor_si256(c2[1765],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[691],_mm256_xor_si256(c2[1410],_mm256_xor_si256(c2[1530],_mm256_xor_si256(c2[1416],_mm256_xor_si256(c2[1356],_mm256_xor_si256(c2[878],_mm256_xor_si256(c2[638],_mm256_xor_si256(c2[643],_mm256_xor_si256(c2[344],_mm256_xor_si256(c2[1004],_mm256_xor_si256(c2[529],_mm256_xor_si256(c2[110],_mm256_xor_si256(c2[710],_mm256_xor_si256(c2[1734],_mm256_xor_si256(c2[1674],_mm256_xor_si256(c2[1135],c2[595]))))))))))))))))))))))))))))))))))));
//row: 6
d2[18]=_mm256_xor_si256(c2[362],_mm256_xor_si256(c2[302],_mm256_xor_si256(c2[1080],_mm256_xor_si256(c2[960],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[1508],_mm256_xor_si256(c2[1448],_mm256_xor_si256(c2[546],_mm256_xor_si256(c2[1866],_mm256_xor_si256(c2[1813],_mm256_xor_si256(c2[1753],_mm256_xor_si256(c2[374],_mm256_xor_si256(c2[1579],_mm256_xor_si256(c2[1519],_mm256_xor_si256(c2[1638],_mm256_xor_si256(c2[738],_mm256_xor_si256(c2[445],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[504],_mm256_xor_si256(c2[1172],_mm256_xor_si256(c2[1891],_mm256_xor_si256(c2[1712],_mm256_xor_si256(c2[1897],_mm256_xor_si256(c2[1837],_mm256_xor_si256(c2[1356],_mm256_xor_si256(c2[1116],_mm256_xor_si256(c2[1124],_mm256_xor_si256(c2[822],_mm256_xor_si256(c2[282],_mm256_xor_si256(c2[1010],_mm256_xor_si256(c2[588],_mm256_xor_si256(c2[1188],_mm256_xor_si256(c2[296],_mm256_xor_si256(c2[236],_mm256_xor_si256(c2[1616],_mm256_xor_si256(c2[1076],c2[1075]))))))))))))))))))))))))))))))))))));
//row: 7
d2[21]=_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1142],_mm256_xor_si256(c2[1680],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[542],_mm256_xor_si256(c2[1800],_mm256_xor_si256(c2[422],_mm256_xor_si256(c2[426],_mm256_xor_si256(c2[366],_mm256_xor_si256(c2[907],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[8],_mm256_xor_si256(c2[787],_mm256_xor_si256(c2[1388],_mm256_xor_si256(c2[1328],_mm256_xor_si256(c2[968],_mm256_xor_si256(c2[734],_mm256_xor_si256(c2[674],_mm256_xor_si256(c2[1212],_mm256_xor_si256(c2[1214],_mm256_xor_si256(c2[1812],_mm256_xor_si256(c2[1752],_mm256_xor_si256(c2[500],_mm256_xor_si256(c2[440],_mm256_xor_si256(c2[978],_mm256_xor_si256(c2[559],_mm256_xor_si256(c2[1100],_mm256_xor_si256(c2[1578],_mm256_xor_si256(c2[200],_mm256_xor_si256(c2[1285],_mm256_xor_si256(c2[1826],_mm256_xor_si256(c2[1164],_mm256_xor_si256(c2[1705],_mm256_xor_si256(c2[1344],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[1885],_mm256_xor_si256(c2[90],_mm256_xor_si256(c2[631],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[1410],_mm256_xor_si256(c2[1350],_mm256_xor_si256(c2[1592],_mm256_xor_si256(c2[818],_mm256_xor_si256(c2[758],_mm256_xor_si256(c2[1296],_mm256_xor_si256(c2[277],_mm256_xor_si256(c2[818],_mm256_xor_si256(c2[37],_mm256_xor_si256(c2[638],_mm256_xor_si256(c2[578],_mm256_xor_si256(c2[42],_mm256_xor_si256(c2[583],_mm256_xor_si256(c2[1662],_mm256_xor_si256(c2[344],_mm256_xor_si256(c2[284],_mm256_xor_si256(c2[1002],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[469],_mm256_xor_si256(c2[1428],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[109],_mm256_xor_si256(c2[710],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[1136],_mm256_xor_si256(c2[1076],_mm256_xor_si256(c2[1614],_mm256_xor_si256(c2[534],_mm256_xor_si256(c2[1075],_mm256_xor_si256(c2[1916],_mm256_xor_si256(c2[595],c2[535]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[24]=_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[301],_mm256_xor_si256(c2[1142],_mm256_xor_si256(c2[1082],_mm256_xor_si256(c2[962],_mm256_xor_si256(c2[1320],_mm256_xor_si256(c2[1507],_mm256_xor_si256(c2[1447],_mm256_xor_si256(c2[548],_mm256_xor_si256(c2[1868],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[1812],_mm256_xor_si256(c2[1752],_mm256_xor_si256(c2[373],_mm256_xor_si256(c2[1578],_mm256_xor_si256(c2[1518],_mm256_xor_si256(c2[1700],_mm256_xor_si256(c2[1640],_mm256_xor_si256(c2[740],_mm256_xor_si256(c2[504],_mm256_xor_si256(c2[444],_mm256_xor_si256(c2[326],_mm256_xor_si256(c2[506],_mm256_xor_si256(c2[1231],_mm256_xor_si256(c2[1171],_mm256_xor_si256(c2[1890],_mm256_xor_si256(c2[1896],_mm256_xor_si256(c2[1836],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[1358],_mm256_xor_si256(c2[1118],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[1123],_mm256_xor_si256(c2[824],_mm256_xor_si256(c2[1069],_mm256_xor_si256(c2[1009],_mm256_xor_si256(c2[590],_mm256_xor_si256(c2[1190],_mm256_xor_si256(c2[295],_mm256_xor_si256(c2[235],_mm256_xor_si256(c2[1675],_mm256_xor_si256(c2[1615],c2[1075]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[27]=_mm256_xor_si256(c2[362],_mm256_xor_si256(c2[2],_mm256_xor_si256(c2[1861],_mm256_xor_si256(c2[1140],_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[1020],_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[1508],_mm256_xor_si256(c2[1148],_mm256_xor_si256(c2[1088],_mm256_xor_si256(c2[606],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[7],_mm256_xor_si256(c2[1506],_mm256_xor_si256(c2[1686],_mm256_xor_si256(c2[1813],_mm256_xor_si256(c2[1453],_mm256_xor_si256(c2[1393],_mm256_xor_si256(c2[434],_mm256_xor_si256(c2[14],_mm256_xor_si256(c2[1579],_mm256_xor_si256(c2[1219],_mm256_xor_si256(c2[1159],_mm256_xor_si256(c2[1698],_mm256_xor_si256(c2[1278],_mm256_xor_si256(c2[798],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[505],_mm256_xor_si256(c2[85],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[1886],_mm256_xor_si256(c2[564],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[1232],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[32],_mm256_xor_si256(c2[1531],_mm256_xor_si256(c2[1897],_mm256_xor_si256(c2[1537],_mm256_xor_si256(c2[1477],_mm256_xor_si256(c2[1416],_mm256_xor_si256(c2[996],_mm256_xor_si256(c2[1176],_mm256_xor_si256(c2[756],_mm256_xor_si256(c2[1184],_mm256_xor_si256(c2[764],_mm256_xor_si256(c2[882],_mm256_xor_si256(c2[462],_mm256_xor_si256(c2[1070],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[648],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[1248],_mm256_xor_si256(c2[828],_mm256_xor_si256(c2[289],_mm256_xor_si256(c2[296],_mm256_xor_si256(c2[1855],_mm256_xor_si256(c2[1795],_mm256_xor_si256(c2[1676],_mm256_xor_si256(c2[1256],_mm256_xor_si256(c2[1136],c2[716])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[30]=_mm256_xor_si256(c2[1621],_mm256_xor_si256(c2[486],_mm256_xor_si256(c2[1356],c2[1243])));
//row: 11
d2[33]=_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1082],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[1567],_mm256_xor_si256(c2[668],_mm256_xor_si256(c2[126],_mm256_xor_si256(c2[66],_mm256_xor_si256(c2[1872],_mm256_xor_si256(c2[553],_mm256_xor_si256(c2[493],_mm256_xor_si256(c2[1638],_mm256_xor_si256(c2[1760],_mm256_xor_si256(c2[860],_mm256_xor_si256(c2[564],_mm256_xor_si256(c2[446],_mm256_xor_si256(c2[686],_mm256_xor_si256(c2[626],_mm256_xor_si256(c2[1291],_mm256_xor_si256(c2[151],_mm256_xor_si256(c2[91],_mm256_xor_si256(c2[37],_mm256_xor_si256(c2[1478],_mm256_xor_si256(c2[1298],_mm256_xor_si256(c2[1238],_mm256_xor_si256(c2[1243],_mm256_xor_si256(c2[1004],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[1724],_mm256_xor_si256(c2[1129],_mm256_xor_si256(c2[710],_mm256_xor_si256(c2[1370],_mm256_xor_si256(c2[1310],_mm256_xor_si256(c2[355],_mm256_xor_si256(c2[1735],_mm256_xor_si256(c2[1255],_mm256_xor_si256(c2[1195],c2[896])))))))))))))))))))))))))))))))))))));
//row: 12
d2[36]=_mm256_xor_si256(c2[1502],_mm256_xor_si256(c2[1442],_mm256_xor_si256(c2[301],_mm256_xor_si256(c2[181],_mm256_xor_si256(c2[726],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[1686],_mm256_xor_si256(c2[1087],_mm256_xor_si256(c2[427],_mm256_xor_si256(c2[1034],_mm256_xor_si256(c2[974],_mm256_xor_si256(c2[1514],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[740],_mm256_xor_si256(c2[859],_mm256_xor_si256(c2[1878],_mm256_xor_si256(c2[1760],_mm256_xor_si256(c2[1585],_mm256_xor_si256(c2[1464],_mm256_xor_si256(c2[1644],_mm256_xor_si256(c2[390],_mm256_xor_si256(c2[1112],_mm256_xor_si256(c2[1118],_mm256_xor_si256(c2[1058],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[337],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[43],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[1728],_mm256_xor_si256(c2[409],_mm256_xor_si256(c2[1436],_mm256_xor_si256(c2[1376],_mm256_xor_si256(c2[834],c2[294]))))))))))))))))))))))))))))))))));
//row: 13
d2[39]=_mm256_xor_si256(c2[1141],_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[1802],_mm256_xor_si256(c2[1021],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[1388],_mm256_xor_si256(c2[846],_mm256_xor_si256(c2[786],_mm256_xor_si256(c2[1746],_mm256_xor_si256(c2[673],_mm256_xor_si256(c2[1273],_mm256_xor_si256(c2[1213],_mm256_xor_si256(c2[439],_mm256_xor_si256(c2[558],_mm256_xor_si256(c2[1580],_mm256_xor_si256(c2[1284],_mm256_xor_si256(c2[1166],_mm256_xor_si256(c2[1406],_mm256_xor_si256(c2[1346],_mm256_xor_si256(c2[92],_mm256_xor_si256(c2[871],_mm256_xor_si256(c2[811],_mm256_xor_si256(c2[757],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[36],_mm256_xor_si256(c2[44],_mm256_xor_si256(c2[1724],_mm256_xor_si256(c2[1664],_mm256_xor_si256(c2[1849],_mm256_xor_si256(c2[1430],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[229],_mm256_xor_si256(c2[1075],_mm256_xor_si256(c2[536],_mm256_xor_si256(c2[56],c2[1915])))))))))))))))))))))))))))))))))))));
//row: 14
d2[42]=_mm256_xor_si256(c2[180],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[961],_mm256_xor_si256(c2[901],_mm256_xor_si256(c2[1742],_mm256_xor_si256(c2[781],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[1326],_mm256_xor_si256(c2[1266],_mm256_xor_si256(c2[188],_mm256_xor_si256(c2[367],_mm256_xor_si256(c2[1208],_mm256_xor_si256(c2[1687],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[606],_mm256_xor_si256(c2[1146],_mm256_xor_si256(c2[1634],_mm256_xor_si256(c2[1574],_mm256_xor_si256(c2[493],_mm256_xor_si256(c2[192],_mm256_xor_si256(c2[1093],_mm256_xor_si256(c2[1033],_mm256_xor_si256(c2[1400],_mm256_xor_si256(c2[1340],_mm256_xor_si256(c2[259],_mm256_xor_si256(c2[1459],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[559],_mm256_xor_si256(c2[1400],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[1104],_mm256_xor_si256(c2[145],_mm256_xor_si256(c2[986],_mm256_xor_si256(c2[325],_mm256_xor_si256(c2[1226],_mm256_xor_si256(c2[1166],_mm256_xor_si256(c2[990],_mm256_xor_si256(c2[1831],_mm256_xor_si256(c2[1712],_mm256_xor_si256(c2[691],_mm256_xor_si256(c2[631],_mm256_xor_si256(c2[1718],_mm256_xor_si256(c2[1658],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[1177],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[937],_mm256_xor_si256(c2[1838],_mm256_xor_si256(c2[1778],_mm256_xor_si256(c2[1356],_mm256_xor_si256(c2[942],_mm256_xor_si256(c2[1783],_mm256_xor_si256(c2[643],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[1484],_mm256_xor_si256(c2[828],_mm256_xor_si256(c2[1669],_mm256_xor_si256(c2[409],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[1009],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[114],_mm256_xor_si256(c2[54],_mm256_xor_si256(c2[895],_mm256_xor_si256(c2[1434],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[894],_mm256_xor_si256(c2[1795],c2[1735])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[45]=_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[1861],_mm256_xor_si256(c2[1801],_mm256_xor_si256(c2[1502],_mm256_xor_si256(c2[660],_mm256_xor_si256(c2[1382],_mm256_xor_si256(c2[540],_mm256_xor_si256(c2[242],_mm256_xor_si256(c2[1867],_mm256_xor_si256(c2[1088],_mm256_xor_si256(c2[1028],_mm256_xor_si256(c2[968],_mm256_xor_si256(c2[126],_mm256_xor_si256(c2[366],_mm256_xor_si256(c2[1446],_mm256_xor_si256(c2[253],_mm256_xor_si256(c2[1393],_mm256_xor_si256(c2[1333],_mm256_xor_si256(c2[793],_mm256_xor_si256(c2[1873],_mm256_xor_si256(c2[19],_mm256_xor_si256(c2[1159],_mm256_xor_si256(c2[1099],_mm256_xor_si256(c2[138],_mm256_xor_si256(c2[1218],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[318],_mm256_xor_si256(c2[864],_mm256_xor_si256(c2[25],_mm256_xor_si256(c2[746],_mm256_xor_si256(c2[1826],_mm256_xor_si256(c2[926],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[1591],_mm256_xor_si256(c2[752],_mm256_xor_si256(c2[391],_mm256_xor_si256(c2[1471],_mm256_xor_si256(c2[337],_mm256_xor_si256(c2[1477],_mm256_xor_si256(c2[1417],_mm256_xor_si256(c2[1778],_mm256_xor_si256(c2[936],_mm256_xor_si256(c2[1538],_mm256_xor_si256(c2[696],_mm256_xor_si256(c2[1543],_mm256_xor_si256(c2[704],_mm256_xor_si256(c2[1244],_mm256_xor_si256(c2[402],_mm256_xor_si256(c2[1429],_mm256_xor_si256(c2[590],_mm256_xor_si256(c2[1010],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[1610],_mm256_xor_si256(c2[768],_mm256_xor_si256(c2[655],_mm256_xor_si256(c2[1795],_mm256_xor_si256(c2[1735],_mm256_xor_si256(c2[116],_mm256_xor_si256(c2[1196],_mm256_xor_si256(c2[1495],c2[656]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[48]=_mm256_xor_si256(c2[1260],_mm256_xor_si256(c2[1200],_mm256_xor_si256(c2[841],_mm256_xor_si256(c2[781],_mm256_xor_si256(c2[62],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[1562],_mm256_xor_si256(c2[1861],_mm256_xor_si256(c2[1442],_mm256_xor_si256(c2[487],_mm256_xor_si256(c2[427],_mm256_xor_si256(c2[68],_mm256_xor_si256(c2[8],_mm256_xor_si256(c2[1447],_mm256_xor_si256(c2[1028],_mm256_xor_si256(c2[848],_mm256_xor_si256(c2[426],_mm256_xor_si256(c2[1388],_mm256_xor_si256(c2[792],_mm256_xor_si256(c2[732],_mm256_xor_si256(c2[373],_mm256_xor_si256(c2[313],_mm256_xor_si256(c2[1272],_mm256_xor_si256(c2[853],_mm256_xor_si256(c2[558],_mm256_xor_si256(c2[498],_mm256_xor_si256(c2[139],_mm256_xor_si256(c2[79],_mm256_xor_si256(c2[620],_mm256_xor_si256(c2[258],_mm256_xor_si256(c2[198],_mm256_xor_si256(c2[1639],_mm256_xor_si256(c2[1220],_mm256_xor_si256(c2[1346],_mm256_xor_si256(c2[984],_mm256_xor_si256(c2[924],_mm256_xor_si256(c2[1225],_mm256_xor_si256(c2[806],_mm256_xor_si256(c2[1405],_mm256_xor_si256(c2[986],_mm256_xor_si256(c2[151],_mm256_xor_si256(c2[1711],_mm256_xor_si256(c2[1651],_mm256_xor_si256(c2[870],_mm256_xor_si256(c2[451],_mm256_xor_si256(c2[876],_mm256_xor_si256(c2[816],_mm256_xor_si256(c2[457],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[1898],_mm256_xor_si256(c2[1838],_mm256_xor_si256(c2[98],_mm256_xor_si256(c2[1598],_mm256_xor_si256(c2[103],_mm256_xor_si256(c2[1663],_mm256_xor_si256(c2[1603],_mm256_xor_si256(c2[1723],_mm256_xor_si256(c2[1304],_mm256_xor_si256(c2[1908],_mm256_xor_si256(c2[1549],_mm256_xor_si256(c2[1489],_mm256_xor_si256(c2[1489],_mm256_xor_si256(c2[1070],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[1670],_mm256_xor_si256(c2[1194],_mm256_xor_si256(c2[1134],_mm256_xor_si256(c2[775],_mm256_xor_si256(c2[715],_mm256_xor_si256(c2[595],_mm256_xor_si256(c2[236],_mm256_xor_si256(c2[176],_mm256_xor_si256(c2[55],_mm256_xor_si256(c2[1555],c2[1076])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[51]=_mm256_xor_si256(c2[1382],_mm256_xor_si256(c2[1322],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1142],_mm256_xor_si256(c2[181],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[1],_mm256_xor_si256(c2[61],_mm256_xor_si256(c2[1800],_mm256_xor_si256(c2[606],_mm256_xor_si256(c2[546],_mm256_xor_si256(c2[426],_mm256_xor_si256(c2[366],_mm256_xor_si256(c2[1566],_mm256_xor_si256(c2[1386],_mm256_xor_si256(c2[967],_mm256_xor_si256(c2[787],_mm256_xor_si256(c2[1807],_mm256_xor_si256(c2[914],_mm256_xor_si256(c2[854],_mm256_xor_si256(c2[734],_mm256_xor_si256(c2[674],_mm256_xor_si256(c2[1394],_mm256_xor_si256(c2[1214],_mm256_xor_si256(c2[680],_mm256_xor_si256(c2[620],_mm256_xor_si256(c2[500],_mm256_xor_si256(c2[440],_mm256_xor_si256(c2[739],_mm256_xor_si256(c2[619],_mm256_xor_si256(c2[559],_mm256_xor_si256(c2[1758],_mm256_xor_si256(c2[1578],_mm256_xor_si256(c2[1465],_mm256_xor_si256(c2[1345],_mm256_xor_si256(c2[1285],_mm256_xor_si256(c2[1344],_mm256_xor_si256(c2[1164],_mm256_xor_si256(c2[1524],_mm256_xor_si256(c2[1344],_mm256_xor_si256(c2[270],_mm256_xor_si256(c2[150],_mm256_xor_si256(c2[90],_mm256_xor_si256(c2[992],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[1410],_mm256_xor_si256(c2[998],_mm256_xor_si256(c2[938],_mm256_xor_si256(c2[818],_mm256_xor_si256(c2[758],_mm256_xor_si256(c2[457],_mm256_xor_si256(c2[337],_mm256_xor_si256(c2[277],_mm256_xor_si256(c2[217],_mm256_xor_si256(c2[37],_mm256_xor_si256(c2[222],_mm256_xor_si256(c2[102],_mm256_xor_si256(c2[42],_mm256_xor_si256(c2[1842],_mm256_xor_si256(c2[1662],_mm256_xor_si256(c2[108],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[1608],_mm256_xor_si256(c2[1428],_mm256_xor_si256(c2[289],_mm256_xor_si256(c2[109],_mm256_xor_si256(c2[1316],_mm256_xor_si256(c2[1256],_mm256_xor_si256(c2[1136],_mm256_xor_si256(c2[1076],_mm256_xor_si256(c2[714],_mm256_xor_si256(c2[594],_mm256_xor_si256(c2[534],_mm256_xor_si256(c2[174],c2[1916])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[54]=_mm256_xor_si256(c2[1562],_mm256_xor_si256(c2[396],c2[883]));
//row: 19
d2[57]=_mm256_xor_si256(c2[541],_mm256_xor_si256(c2[1322],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1561],_mm256_xor_si256(c2[1687],_mm256_xor_si256(c2[788],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[607],_mm256_xor_si256(c2[73],_mm256_xor_si256(c2[613],_mm256_xor_si256(c2[1758],_mm256_xor_si256(c2[1880],_mm256_xor_si256(c2[980],_mm256_xor_si256(c2[684],_mm256_xor_si256(c2[566],_mm256_xor_si256(c2[746],_mm256_xor_si256(c2[1411],_mm256_xor_si256(c2[211],_mm256_xor_si256(c2[157],_mm256_xor_si256(c2[1598],_mm256_xor_si256(c2[1358],_mm256_xor_si256(c2[1363],_mm256_xor_si256(c2[1064],_mm256_xor_si256(c2[1249],_mm256_xor_si256(c2[830],_mm256_xor_si256(c2[1430],_mm256_xor_si256(c2[475],_mm256_xor_si256(c2[1855],c2[1315]))))))))))))))))))))))))))));
//row: 20
d2[60]=_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[1142],_mm256_xor_si256(c2[1022],_mm256_xor_si256(c2[1567],_mm256_xor_si256(c2[1507],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[728],_mm256_xor_si256(c2[1872],_mm256_xor_si256(c2[1812],_mm256_xor_si256(c2[433],_mm256_xor_si256(c2[1638],_mm256_xor_si256(c2[1578],_mm256_xor_si256(c2[1700],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[504],_mm256_xor_si256(c2[386],_mm256_xor_si256(c2[566],_mm256_xor_si256(c2[1765],_mm256_xor_si256(c2[1231],_mm256_xor_si256(c2[31],_mm256_xor_si256(c2[37],_mm256_xor_si256(c2[1896],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[1178],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[884],_mm256_xor_si256(c2[1069],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[355],_mm256_xor_si256(c2[295],_mm256_xor_si256(c2[1675],c2[1135]))))))))))))))))))))))))))))))))));
//row: 21
d2[63]=_mm256_xor_si256(c2[961],_mm256_xor_si256(c2[1742],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[1741],_mm256_xor_si256(c2[188],_mm256_xor_si256(c2[1208],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[606],_mm256_xor_si256(c2[493],_mm256_xor_si256(c2[1093],_mm256_xor_si256(c2[1033],_mm256_xor_si256(c2[259],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[1400],_mm256_xor_si256(c2[1104],_mm256_xor_si256(c2[986],_mm256_xor_si256(c2[1226],_mm256_xor_si256(c2[1166],_mm256_xor_si256(c2[1831],_mm256_xor_si256(c2[691],_mm256_xor_si256(c2[631],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[1838],_mm256_xor_si256(c2[1778],_mm256_xor_si256(c2[1783],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[1484],_mm256_xor_si256(c2[1669],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[950],_mm256_xor_si256(c2[895],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[1795],c2[1735]))))))))))))))))))))))))))))))))))));
//row: 22
d2[66]=_mm256_xor_si256(c2[1206],c2[1213]);
//row: 23
d2[69]=_mm256_xor_si256(c2[600],_mm256_xor_si256(c2[1340],c2[1892]));
//row: 24
d2[72]=_mm256_xor_si256(c2[1328],_mm256_xor_si256(c2[1513],c2[56]));
//row: 25
d2[75]=_mm256_xor_si256(c2[781],c2[1290]);
//row: 26
d2[78]=_mm256_xor_si256(c2[301],_mm256_xor_si256(c2[241],_mm256_xor_si256(c2[122],_mm256_xor_si256(c2[1082],_mm256_xor_si256(c2[1022],_mm256_xor_si256(c2[900],_mm256_xor_si256(c2[902],_mm256_xor_si256(c2[780],_mm256_xor_si256(c2[1447],_mm256_xor_si256(c2[1387],_mm256_xor_si256(c2[1268],_mm256_xor_si256(c2[488],_mm256_xor_si256(c2[366],_mm256_xor_si256(c2[1808],_mm256_xor_si256(c2[1746],_mm256_xor_si256(c2[1686],_mm256_xor_si256(c2[1752],_mm256_xor_si256(c2[1692],_mm256_xor_si256(c2[1573],_mm256_xor_si256(c2[313],_mm256_xor_si256(c2[254],_mm256_xor_si256(c2[194],_mm256_xor_si256(c2[194],_mm256_xor_si256(c2[1518],_mm256_xor_si256(c2[1458],_mm256_xor_si256(c2[1339],_mm256_xor_si256(c2[1640],_mm256_xor_si256(c2[1580],_mm256_xor_si256(c2[1458],_mm256_xor_si256(c2[680],_mm256_xor_si256(c2[558],_mm256_xor_si256(c2[444],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[265],_mm256_xor_si256(c2[266],_mm256_xor_si256(c2[144],_mm256_xor_si256(c2[446],_mm256_xor_si256(c2[384],_mm256_xor_si256(c2[324],_mm256_xor_si256(c2[1171],_mm256_xor_si256(c2[1111],_mm256_xor_si256(c2[992],_mm256_xor_si256(c2[1830],_mm256_xor_si256(c2[1771],_mm256_xor_si256(c2[1711],_mm256_xor_si256(c2[1836],_mm256_xor_si256(c2[1776],_mm256_xor_si256(c2[1657],_mm256_xor_si256(c2[1358],_mm256_xor_si256(c2[1298],_mm256_xor_si256(c2[1176],_mm256_xor_si256(c2[1058],_mm256_xor_si256(c2[996],_mm256_xor_si256(c2[936],_mm256_xor_si256(c2[1123],_mm256_xor_si256(c2[1063],_mm256_xor_si256(c2[944],_mm256_xor_si256(c2[764],_mm256_xor_si256(c2[702],_mm256_xor_si256(c2[642],_mm256_xor_si256(c2[583],_mm256_xor_si256(c2[1009],_mm256_xor_si256(c2[949],_mm256_xor_si256(c2[830],_mm256_xor_si256(c2[530],_mm256_xor_si256(c2[408],_mm256_xor_si256(c2[1130],_mm256_xor_si256(c2[1068],_mm256_xor_si256(c2[1008],_mm256_xor_si256(c2[235],_mm256_xor_si256(c2[175],_mm256_xor_si256(c2[56],_mm256_xor_si256(c2[1615],_mm256_xor_si256(c2[1555],_mm256_xor_si256(c2[1436],_mm256_xor_si256(c2[1015],_mm256_xor_si256(c2[956],c2[896])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[81]=_mm256_xor_si256(c2[420],c2[1117]);
//row: 28
d2[84]=_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[912],c2[512]));
//row: 29
d2[87]=_mm256_xor_si256(c2[840],c2[1044]);
//row: 30
d2[90]=_mm256_xor_si256(c2[1452],_mm256_xor_si256(c2[1591],_mm256_xor_si256(c2[1243],c2[1495])));
//row: 31
d2[93]=_mm256_xor_si256(c2[1381],_mm256_xor_si256(c2[240],_mm256_xor_si256(c2[120],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[1628],_mm256_xor_si256(c2[1086],_mm256_xor_si256(c2[1026],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[913],_mm256_xor_si256(c2[1513],_mm256_xor_si256(c2[1453],_mm256_xor_si256(c2[679],_mm256_xor_si256(c2[798],_mm256_xor_si256(c2[1820],_mm256_xor_si256(c2[1524],_mm256_xor_si256(c2[1406],_mm256_xor_si256(c2[1646],_mm256_xor_si256(c2[1586],_mm256_xor_si256(c2[332],_mm256_xor_si256(c2[1111],_mm256_xor_si256(c2[1051],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[516],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[276],_mm256_xor_si256(c2[284],_mm256_xor_si256(c2[42],_mm256_xor_si256(c2[1904],_mm256_xor_si256(c2[170],_mm256_xor_si256(c2[1670],_mm256_xor_si256(c2[408],_mm256_xor_si256(c2[348],_mm256_xor_si256(c2[1315],_mm256_xor_si256(c2[776],_mm256_xor_si256(c2[296],c2[236])))))))))))))))))))))))))))))))))));
//row: 32
d2[96]=_mm256_xor_si256(c2[1862],_mm256_xor_si256(c2[1802],_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[661],_mm256_xor_si256(c2[541],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1086],_mm256_xor_si256(c2[1026],_mm256_xor_si256(c2[127],_mm256_xor_si256(c2[1447],_mm256_xor_si256(c2[1394],_mm256_xor_si256(c2[1334],_mm256_xor_si256(c2[1874],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[1100],_mm256_xor_si256(c2[1279],_mm256_xor_si256(c2[1219],_mm256_xor_si256(c2[319],_mm256_xor_si256(c2[86],_mm256_xor_si256(c2[26],_mm256_xor_si256(c2[1824],_mm256_xor_si256(c2[85],_mm256_xor_si256(c2[810],_mm256_xor_si256(c2[750],_mm256_xor_si256(c2[1472],_mm256_xor_si256(c2[510],_mm256_xor_si256(c2[1478],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[937],_mm256_xor_si256(c2[697],_mm256_xor_si256(c2[762],_mm256_xor_si256(c2[702],_mm256_xor_si256(c2[403],_mm256_xor_si256(c2[648],_mm256_xor_si256(c2[588],_mm256_xor_si256(c2[169],_mm256_xor_si256(c2[769],_mm256_xor_si256(c2[1796],_mm256_xor_si256(c2[1736],_mm256_xor_si256(c2[1254],_mm256_xor_si256(c2[1194],c2[654]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[99]=_mm256_xor_si256(c2[540],_mm256_xor_si256(c2[1321],_mm256_xor_si256(c2[1201],_mm256_xor_si256(c2[1686],_mm256_xor_si256(c2[787],_mm256_xor_si256(c2[188],_mm256_xor_si256(c2[72],_mm256_xor_si256(c2[612],_mm256_xor_si256(c2[314],_mm256_xor_si256(c2[1760],_mm256_xor_si256(c2[1879],_mm256_xor_si256(c2[979],_mm256_xor_si256(c2[686],_mm256_xor_si256(c2[565],_mm256_xor_si256(c2[745],_mm256_xor_si256(c2[1410],_mm256_xor_si256(c2[210],_mm256_xor_si256(c2[156],_mm256_xor_si256(c2[1597],_mm256_xor_si256(c2[1357],_mm256_xor_si256(c2[1362],_mm256_xor_si256(c2[1063],_mm256_xor_si256(c2[1184],_mm256_xor_si256(c2[1248],_mm256_xor_si256(c2[829],_mm256_xor_si256(c2[1429],_mm256_xor_si256(c2[474],_mm256_xor_si256(c2[1854],c2[1314]))))))))))))))))))))))))))));
//row: 34
d2[102]=_mm256_xor_si256(c2[1861],_mm256_xor_si256(c2[1801],_mm256_xor_si256(c2[1502],_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[660],_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[540],_mm256_xor_si256(c2[241],_mm256_xor_si256(c2[782],_mm256_xor_si256(c2[1088],_mm256_xor_si256(c2[1028],_mm256_xor_si256(c2[726],_mm256_xor_si256(c2[126],_mm256_xor_si256(c2[1746],_mm256_xor_si256(c2[1446],_mm256_xor_si256(c2[1207],_mm256_xor_si256(c2[1147],_mm256_xor_si256(c2[1393],_mm256_xor_si256(c2[1333],_mm256_xor_si256(c2[1034],_mm256_xor_si256(c2[1873],_mm256_xor_si256(c2[1634],_mm256_xor_si256(c2[1574],_mm256_xor_si256(c2[1159],_mm256_xor_si256(c2[1099],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[1278],_mm256_xor_si256(c2[1218],_mm256_xor_si256(c2[919],_mm256_xor_si256(c2[318],_mm256_xor_si256(c2[19],_mm256_xor_si256(c2[85],_mm256_xor_si256(c2[25],_mm256_xor_si256(c2[1645],_mm256_xor_si256(c2[1826],_mm256_xor_si256(c2[1524],_mm256_xor_si256(c2[84],_mm256_xor_si256(c2[1764],_mm256_xor_si256(c2[1704],_mm256_xor_si256(c2[812],_mm256_xor_si256(c2[752],_mm256_xor_si256(c2[450],_mm256_xor_si256(c2[1471],_mm256_xor_si256(c2[1232],_mm256_xor_si256(c2[1172],_mm256_xor_si256(c2[1477],_mm256_xor_si256(c2[1417],_mm256_xor_si256(c2[1118],_mm256_xor_si256(c2[996],_mm256_xor_si256(c2[936],_mm256_xor_si256(c2[637],_mm256_xor_si256(c2[696],_mm256_xor_si256(c2[457],_mm256_xor_si256(c2[397],_mm256_xor_si256(c2[764],_mm256_xor_si256(c2[704],_mm256_xor_si256(c2[402],_mm256_xor_si256(c2[402],_mm256_xor_si256(c2[163],_mm256_xor_si256(c2[103],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[590],_mm256_xor_si256(c2[288],_mm256_xor_si256(c2[168],_mm256_xor_si256(c2[1788],_mm256_xor_si256(c2[768],_mm256_xor_si256(c2[529],_mm256_xor_si256(c2[469],_mm256_xor_si256(c2[1795],_mm256_xor_si256(c2[1735],_mm256_xor_si256(c2[1436],_mm256_xor_si256(c2[1256],_mm256_xor_si256(c2[1196],_mm256_xor_si256(c2[894],_mm256_xor_si256(c2[656],_mm256_xor_si256(c2[414],c2[354]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[105]=_mm256_xor_si256(c2[0],_mm256_xor_si256(c2[1862],_mm256_xor_si256(c2[721],_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[1146],_mm256_xor_si256(c2[1086],_mm256_xor_si256(c2[187],_mm256_xor_si256(c2[1507],_mm256_xor_si256(c2[788],_mm256_xor_si256(c2[1454],_mm256_xor_si256(c2[1394],_mm256_xor_si256(c2[12],_mm256_xor_si256(c2[1220],_mm256_xor_si256(c2[1160],_mm256_xor_si256(c2[1279],_mm256_xor_si256(c2[379],_mm256_xor_si256(c2[86],_mm256_xor_si256(c2[1884],_mm256_xor_si256(c2[145],_mm256_xor_si256(c2[810],_mm256_xor_si256(c2[1532],_mm256_xor_si256(c2[1472],_mm256_xor_si256(c2[1538],_mm256_xor_si256(c2[1478],_mm256_xor_si256(c2[997],_mm256_xor_si256(c2[757],_mm256_xor_si256(c2[762],_mm256_xor_si256(c2[463],_mm256_xor_si256(c2[648],_mm256_xor_si256(c2[229],_mm256_xor_si256(c2[829],_mm256_xor_si256(c2[1856],_mm256_xor_si256(c2[1796],_mm256_xor_si256(c2[1254],c2[714]))))))))))))))))))))))))))))))))));
//row: 36
d2[108]=_mm256_xor_si256(c2[1500],_mm256_xor_si256(c2[1393],c2[644]));
//row: 37
d2[111]=_mm256_xor_si256(c2[1080],_mm256_xor_si256(c2[720],_mm256_xor_si256(c2[1861],_mm256_xor_si256(c2[1501],_mm256_xor_si256(c2[1741],_mm256_xor_si256(c2[1381],_mm256_xor_si256(c2[307],_mm256_xor_si256(c2[1866],_mm256_xor_si256(c2[1327],_mm256_xor_si256(c2[967],_mm256_xor_si256(c2[728],_mm256_xor_si256(c2[428],_mm256_xor_si256(c2[368],_mm256_xor_si256(c2[612],_mm256_xor_si256(c2[252],_mm256_xor_si256(c2[1152],_mm256_xor_si256(c2[852],_mm256_xor_si256(c2[792],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[18],_mm256_xor_si256(c2[500],_mm256_xor_si256(c2[140],_mm256_xor_si256(c2[1519],_mm256_xor_si256(c2[1159],_mm256_xor_si256(c2[1226],_mm256_xor_si256(c2[866],_mm256_xor_si256(c2[1105],_mm256_xor_si256(c2[745],_mm256_xor_si256(c2[1285],_mm256_xor_si256(c2[985],_mm256_xor_si256(c2[925],_mm256_xor_si256(c2[31],_mm256_xor_si256(c2[1590],_mm256_xor_si256(c2[750],_mm256_xor_si256(c2[450],_mm256_xor_si256(c2[390],_mm256_xor_si256(c2[696],_mm256_xor_si256(c2[336],_mm256_xor_si256(c2[218],_mm256_xor_si256(c2[1777],_mm256_xor_si256(c2[1897],_mm256_xor_si256(c2[1597],_mm256_xor_si256(c2[1537],_mm256_xor_si256(c2[1902],_mm256_xor_si256(c2[1542],_mm256_xor_si256(c2[1603],_mm256_xor_si256(c2[1303],_mm256_xor_si256(c2[1243],_mm256_xor_si256(c2[1788],_mm256_xor_si256(c2[1428],_mm256_xor_si256(c2[1369],_mm256_xor_si256(c2[1009],_mm256_xor_si256(c2[50],_mm256_xor_si256(c2[1669],_mm256_xor_si256(c2[1609],_mm256_xor_si256(c2[1014],_mm256_xor_si256(c2[654],_mm256_xor_si256(c2[475],_mm256_xor_si256(c2[115],_mm256_xor_si256(c2[1854],_mm256_xor_si256(c2[1554],c2[1494])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[114]=_mm256_xor_si256(c2[722],_mm256_xor_si256(c2[662],_mm256_xor_si256(c2[1440],_mm256_xor_si256(c2[1320],_mm256_xor_si256(c2[1868],_mm256_xor_si256(c2[1808],_mm256_xor_si256(c2[906],_mm256_xor_si256(c2[307],_mm256_xor_si256(c2[1208],_mm256_xor_si256(c2[254],_mm256_xor_si256(c2[194],_mm256_xor_si256(c2[734],_mm256_xor_si256(c2[20],_mm256_xor_si256(c2[1879],_mm256_xor_si256(c2[79],_mm256_xor_si256(c2[1098],_mm256_xor_si256(c2[805],_mm256_xor_si256(c2[684],_mm256_xor_si256(c2[864],_mm256_xor_si256(c2[1532],_mm256_xor_si256(c2[332],_mm256_xor_si256(c2[1411],_mm256_xor_si256(c2[338],_mm256_xor_si256(c2[278],_mm256_xor_si256(c2[1716],_mm256_xor_si256(c2[1476],_mm256_xor_si256(c2[1484],_mm256_xor_si256(c2[1182],_mm256_xor_si256(c2[1370],_mm256_xor_si256(c2[948],_mm256_xor_si256(c2[1548],_mm256_xor_si256(c2[656],_mm256_xor_si256(c2[596],_mm256_xor_si256(c2[54],c2[1436]))))))))))))))))))))))))))))))))));
//row: 39
d2[117]=_mm256_xor_si256(c2[421],_mm256_xor_si256(c2[361],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1142],_mm256_xor_si256(c2[1022],_mm256_xor_si256(c2[1742],_mm256_xor_si256(c2[1567],_mm256_xor_si256(c2[1507],_mm256_xor_si256(c2[608],_mm256_xor_si256(c2[6],_mm256_xor_si256(c2[1872],_mm256_xor_si256(c2[1812],_mm256_xor_si256(c2[433],_mm256_xor_si256(c2[1638],_mm256_xor_si256(c2[1578],_mm256_xor_si256(c2[1760],_mm256_xor_si256(c2[1700],_mm256_xor_si256(c2[800],_mm256_xor_si256(c2[564],_mm256_xor_si256(c2[504],_mm256_xor_si256(c2[386],_mm256_xor_si256(c2[566],_mm256_xor_si256(c2[1291],_mm256_xor_si256(c2[1231],_mm256_xor_si256(c2[31],_mm256_xor_si256(c2[37],_mm256_xor_si256(c2[1896],_mm256_xor_si256(c2[1478],_mm256_xor_si256(c2[1418],_mm256_xor_si256(c2[1178],_mm256_xor_si256(c2[1243],_mm256_xor_si256(c2[1183],_mm256_xor_si256(c2[884],_mm256_xor_si256(c2[283],_mm256_xor_si256(c2[1129],_mm256_xor_si256(c2[1069],_mm256_xor_si256(c2[650],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[355],_mm256_xor_si256(c2[295],_mm256_xor_si256(c2[1735],_mm256_xor_si256(c2[1675],c2[1135]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[120]=_mm256_xor_si256(c2[1442],_mm256_xor_si256(c2[961],_mm256_xor_si256(c2[301],_mm256_xor_si256(c2[1742],_mm256_xor_si256(c2[181],_mm256_xor_si256(c2[1622],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[188],_mm256_xor_si256(c2[1686],_mm256_xor_si256(c2[1208],_mm256_xor_si256(c2[1087],_mm256_xor_si256(c2[666],_mm256_xor_si256(c2[606],_mm256_xor_si256(c2[974],_mm256_xor_si256(c2[493],_mm256_xor_si256(c2[1514],_mm256_xor_si256(c2[1093],_mm256_xor_si256(c2[1033],_mm256_xor_si256(c2[432],_mm256_xor_si256(c2[740],_mm256_xor_si256(c2[259],_mm256_xor_si256(c2[859],_mm256_xor_si256(c2[378],_mm256_xor_si256(c2[1878],_mm256_xor_si256(c2[1400],_mm256_xor_si256(c2[1585],_mm256_xor_si256(c2[1104],_mm256_xor_si256(c2[1464],_mm256_xor_si256(c2[986],_mm256_xor_si256(c2[1644],_mm256_xor_si256(c2[1226],_mm256_xor_si256(c2[1166],_mm256_xor_si256(c2[390],_mm256_xor_si256(c2[1831],_mm256_xor_si256(c2[1112],_mm256_xor_si256(c2[691],_mm256_xor_si256(c2[631],_mm256_xor_si256(c2[1058],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[577],_mm256_xor_si256(c2[96],_mm256_xor_si256(c2[337],_mm256_xor_si256(c2[1838],_mm256_xor_si256(c2[1778],_mm256_xor_si256(c2[342],_mm256_xor_si256(c2[1783],_mm256_xor_si256(c2[43],_mm256_xor_si256(c2[1544],_mm256_xor_si256(c2[1484],_mm256_xor_si256(c2[228],_mm256_xor_si256(c2[1669],_mm256_xor_si256(c2[1728],_mm256_xor_si256(c2[1250],_mm256_xor_si256(c2[409],_mm256_xor_si256(c2[1910],_mm256_xor_si256(c2[1850],_mm256_xor_si256(c2[1376],_mm256_xor_si256(c2[895],_mm256_xor_si256(c2[834],_mm256_xor_si256(c2[356],_mm256_xor_si256(c2[294],_mm256_xor_si256(c2[1795],c2[1735]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[123]=_mm256_xor_si256(c2[601],_mm256_xor_si256(c2[541],_mm256_xor_si256(c2[1322],_mm256_xor_si256(c2[1202],_mm256_xor_si256(c2[1747],_mm256_xor_si256(c2[1687],_mm256_xor_si256(c2[788],_mm256_xor_si256(c2[186],_mm256_xor_si256(c2[1147],_mm256_xor_si256(c2[133],_mm256_xor_si256(c2[73],_mm256_xor_si256(c2[613],_mm256_xor_si256(c2[1818],_mm256_xor_si256(c2[1758],_mm256_xor_si256(c2[1880],_mm256_xor_si256(c2[980],_mm256_xor_si256(c2[684],_mm256_xor_si256(c2[566],_mm256_xor_si256(c2[746],_mm256_xor_si256(c2[1411],_mm256_xor_si256(c2[211],_mm256_xor_si256(c2[450],_mm256_xor_si256(c2[217],_mm256_xor_si256(c2[157],_mm256_xor_si256(c2[1598],_mm256_xor_si256(c2[1358],_mm256_xor_si256(c2[1363],_mm256_xor_si256(c2[1064],_mm256_xor_si256(c2[1249],_mm256_xor_si256(c2[830],_mm256_xor_si256(c2[1430],_mm256_xor_si256(c2[535],_mm256_xor_si256(c2[475],_mm256_xor_si256(c2[1855],c2[1315]))))))))))))))))))))))))))))))))));
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -5,6 +5,7 @@
#include <types.h>
#include "assertions.h"
#include "PHY/TOOLS/time_meas.h"
#include "defs.h"
#include "ldpc384_byte.c"
#include "ldpc352_byte.c"
......@@ -15,12 +16,32 @@
#include "ldpc224_byte.c"
#include "ldpc208_byte.c"
#include "ldpc192_byte.c"
#include "ldpc176_byte.c"
#include "ldpc_BG2_Zc384_byte.c"
#include "ldpc_BG2_Zc352_byte.c"
#include "ldpc_BG2_Zc320_byte.c"
#include "ldpc_BG2_Zc288_byte.c"
#include "ldpc_BG2_Zc256_byte.c"
#include "ldpc_BG2_Zc240_byte.c"
#include "ldpc_BG2_Zc224_byte.c"
#include "ldpc_BG2_Zc208_byte.c"
#include "ldpc_BG2_Zc192_byte.c"
#include "ldpc_BG2_Zc176_byte.c"
#include "ldpc_BG2_Zc160_byte.c"
#include "ldpc_BG2_Zc144_byte.c"
#include "ldpc_BG2_Zc128_byte.c"
#include "ldpc_BG2_Zc120_byte.c"
#include "ldpc_BG2_Zc112_byte.c"
#include "ldpc_BG2_Zc104_byte.c"
#include "ldpc_BG2_Zc96_byte.c"
#include "ldpc_BG2_Zc88_byte.c"
#include "ldpc_BG2_Zc80_byte.c"
#include "ldpc_BG2_Zc72_byte.c"
void encode_parity_check_part_optim(unsigned char *c,unsigned char *d, short BG,short Zc,short Kb)
{
AssertFatal(BG==1,"BG %d is not supported yet\n",BG);
void encode_parity_check_part_optim(uint8_t *c,uint8_t *d, short BG,short Zc,short Kb)
{
if (BG==1)
{
......@@ -67,7 +88,7 @@ void encode_parity_check_part_optim(unsigned char *c,unsigned char *d, short BG,
case 128: break;
case 144: break;
case 160: break;
// case 176: ldpc176_byte(c,d); break;
case 176: ldpc176_byte(c,d); break;
case 192: ldpc192_byte(c,d); break;
case 208: ldpc208_byte(c,d); break;
case 224: ldpc224_byte(c,d); break;
......@@ -77,8 +98,69 @@ void encode_parity_check_part_optim(unsigned char *c,unsigned char *d, short BG,
case 320: ldpc320_byte(c,d); break;
case 352: ldpc352_byte(c,d); break;
case 384: ldpc384_byte(c,d); break;
default: AssertFatal(0,"BG %d Zc %d is not supported yet\n",BG,Zc); break;
}
}
else if (BG==2) {
switch (Zc)
{
case 2: break;
case 3: break;
case 4: break;
case 5: break;
case 6: break;
case 7: break;
case 8: break;
case 9: break;
case 10: break;
case 11: break;
case 12: break;
case 13: break;
case 14: break;
case 15: break;
case 16: break;
case 18: break;
case 20: break;
case 22: break;
case 24: break;
case 26: break;
case 28: break;
case 30: break;
case 32: break;
case 36: break;
case 40: break;
case 44: break;
case 48: break;
case 52: break;
case 56: break;
case 60: break;
case 64: break;
case 72: ldpc_BG2_Zc72_byte(c,d); break;
case 80: ldpc_BG2_Zc80_byte(c,d); break;
case 88: ldpc_BG2_Zc88_byte(c,d); break;
case 96: ldpc_BG2_Zc96_byte(c,d); break;
case 104: ldpc_BG2_Zc104_byte(c,d); break;
case 112: ldpc_BG2_Zc112_byte(c,d); break;
case 120: ldpc_BG2_Zc120_byte(c,d); break;
case 128: ldpc_BG2_Zc128_byte(c,d); break;
case 144: ldpc_BG2_Zc144_byte(c,d); break;
case 160: ldpc_BG2_Zc160_byte(c,d); break;
case 176: ldpc_BG2_Zc176_byte(c,d); break;
case 192: ldpc_BG2_Zc192_byte(c,d); break;
case 208: ldpc_BG2_Zc208_byte(c,d); break;
case 224: ldpc_BG2_Zc224_byte(c,d); break;
case 240: ldpc_BG2_Zc240_byte(c,d); break;
case 256: ldpc_BG2_Zc256_byte(c,d); break;
case 288: ldpc_BG2_Zc288_byte(c,d); break;
case 320: ldpc_BG2_Zc320_byte(c,d); break;
case 352: ldpc_BG2_Zc352_byte(c,d); break;
case 384: ldpc_BG2_Zc384_byte(c,d); break;
default: AssertFatal(0,"BG %d Zc %d is not supported yet\n",BG,Zc); break;
}
}
else {
AssertFatal(0,"BG %d is not supported yet\n",BG);
}
}
......@@ -155,7 +237,7 @@ int ldpc_encoder_optim(unsigned char *test_input,unsigned char *channel_input,sh
}
stop_meas(tinput);
if (BG==1) {
if ((BG==1) || (BG==2 && Zc>64)) {
// extend matrix
start_meas(tprep);
for (i1=0; i1 < ncols; i1++)
......@@ -178,17 +260,12 @@ int ldpc_encoder_optim(unsigned char *test_input,unsigned char *channel_input,sh
encode_parity_check_part_optim(c_extension, d, BG, Zc, Kb);
stop_meas(tparity);
}
else if (BG==2) {
else {
if (encode_parity_check_part_orig(c, d, BG, Zc, Kb, block_length)!=0) {
printf("Problem with encoder\n");
return(-1);
}
}
else {
printf("Problem with encoder\n");
return(-1);
}
start_meas(toutput);
// information part and puncture columns
memcpy(&channel_input[0], &c[2*Zc], (block_length-2*Zc)*sizeof(unsigned char));
......
......@@ -4,10 +4,11 @@
#include <string.h>
#include "Gen_shift_value.h"
#include "assertions.h"
#include "defs.h"
short *choose_generator_matrix(short BG,short Zc)
{
short *Gen_shift_values;
short *Gen_shift_values = NULL;
if (BG==1)
{
......@@ -329,17 +330,22 @@ short *choose_generator_matrix(short BG,short Zc)
return Gen_shift_values;
}
int ldpc_encoder_orig(unsigned char *test_input,unsigned char *channel_input,short block_length,double rate,unsigned char gen_code)
int ldpc_encoder_orig(unsigned char *test_input,unsigned char *channel_input,short block_length,int nom_rate,int denom_rate,unsigned char gen_code)
{
unsigned char c[22*384]; //padded input, unpacked, max size
unsigned char d[68*384]; //coded output, unpacked, max size
unsigned char channel_temp,temp;
short *Gen_shift_values, *no_shift_values, *pointer_shift_values;
short BG,Zc,Kb,nrows,ncols;
int i,i1,i2,i3,i4,i5,t,var,temp_prime;
int i,i1,i2,i3,i4,i5,temp_prime,var;
int no_punctured_columns,removed_bit;
//Table of possible lifting sizes
short lift_size[51]= {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,20,22,24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384};
int nind=0;
int indlist[1000];
int indlist2[1000];
//determine number of bits in codeword
if (block_length>3840)
{
......@@ -353,6 +359,7 @@ int ldpc_encoder_orig(unsigned char *test_input,unsigned char *channel_input,sho
BG=2;
nrows=42; //parity check bits
ncols=10; // info bits
if (block_length>640)
Kb = 10;
else if (block_length>560)
......@@ -364,6 +371,7 @@ int ldpc_encoder_orig(unsigned char *test_input,unsigned char *channel_input,sho
}
//find minimum value in all sets of lifting size
Zc=0;
for (i1=0; i1 < 51; i1++)
{
if (lift_size[i1] >= (double) block_length/Kb)
......@@ -373,9 +381,18 @@ int ldpc_encoder_orig(unsigned char *test_input,unsigned char *channel_input,sho
break;
}
}
if (Zc==0) {
printf("ldpc_encoder_orig: could not determine lifting size\n");
return(-1);
}
int nind=0;
int indlist[1000];
Gen_shift_values=choose_generator_matrix(BG,Zc);
if (Gen_shift_values==NULL) {
printf("ldpc_encoder_orig: could not find generator matrix\n");
return(-1);
}
//printf("ldpc_encoder_orig: BG %d, Zc %d, Kb %d\n",BG, Zc, Kb);
// load base graph of generator matrix
if (BG==1)
......@@ -389,19 +406,19 @@ int ldpc_encoder_orig(unsigned char *test_input,unsigned char *channel_input,sho
pointer_shift_values=(short *) pointer_shift_values_BG2;
}
Gen_shift_values=choose_generator_matrix(BG,Zc);
// calculate number of punctured bits
no_punctured_columns=(int)((nrows-2)*Zc+block_length-block_length*3)/Zc;
removed_bit=(nrows-no_punctured_columns-2) * Zc+block_length-(int)(block_length*3);
removed_bit=(nrows-no_punctured_columns-2) * Zc+block_length-(block_length*3);
//printf("%d\n",no_punctured_columns);
//printf("%d\n",removed_bit);
// unpack input
memset(c,0,sizeof(unsigned char) * Kb * Zc);
memset(c,0,sizeof(unsigned char) * ncols * Zc);
memset(d,0,sizeof(unsigned char) * nrows * Zc);
for (i=0; i<block_length; i++)
{
c[i] = test_input[i/8]<<(i%8);
c[i]=c[i]>>7&1;
//c[i] = test_input[i/8]<<(i%8);
//c[i]=c[i]>>7&1;
c[i]=(test_input[i/8]&(1<<(i&7)))>>(i&7);
}
// parity check part
......@@ -409,16 +426,23 @@ int ldpc_encoder_orig(unsigned char *test_input,unsigned char *channel_input,sho
if (gen_code==1)
{
char fname[100];
sprintf(fname,"ldpc%d_byte.c",Zc);
sprintf(fname,"ldpc_BG%d_Zc%d_byte.c",BG,Zc);
FILE *fd=fopen(fname,"w");
AssertFatal(fd!=NULL,"cannot open %s\n",fname);
sprintf(fname,"ldpc_BG%d_Zc%d_16bit.c",BG,Zc);
FILE *fd2=fopen(fname,"w");
AssertFatal(fd2!=NULL,"cannot open %s\n",fname);
int shift;
char data_type[100];
char xor_command[100];
int mask;
AssertFatal(fd!=NULL,"cannot open %s\n",fname);
fprintf(fd,"#include \"PHY/sse_intrin.h\"\n");
fprintf(fd2,"#include \"PHY/sse_intrin.h\"\n");
if ((Zc&31)==0) {
shift=5; // AVX2 - 256-bit SIMD
......@@ -436,7 +460,7 @@ int ldpc_encoder_orig(unsigned char *test_input,unsigned char *channel_input,sho
else if ((Zc&7)==0) {
shift=3; // MMX - 64-bit SIMD
mask=7;
strcpy(data_type,"__m64i");
strcpy(data_type,"__m64");
strcpy(xor_command,"_mm_xor_si64");
}
else {
......@@ -445,49 +469,56 @@ int ldpc_encoder_orig(unsigned char *test_input,unsigned char *channel_input,sho
strcpy(data_type,"uint8_t");
strcpy(xor_command,"scalar_xor");
fprintf(fd,"#define scalar_xor(a,b) ((a)^(b))\n");
fprintf(fd2,"#define scalar_xor(a,b) ((a)^(b))\n");
}
fprintf(fd,"// generated code for Zc=%d, byte encoding\n",Zc);
fprintf(fd,"static inline void ldpc%d_byte(uint8_t *c,uint8_t *d) {\n",Zc);
fprintf(fd2,"// generated code for Zc=%d, 16bit encoding\n",Zc);
fprintf(fd,"static inline void ldpc_BG%d_Zc%d_byte(uint8_t *c,uint8_t *d) {\n",BG,Zc);
fprintf(fd2,"static inline void ldpc_BG%d_Zc%d_16bit(uint16_t *c,uint16_t *d) {\n",BG,Zc);
fprintf(fd," %s *csimd=(%s *)c,*dsimd=(%s *)d;\n\n",data_type,data_type,data_type);
fprintf(fd2," %s *csimd=(%s *)c,*dsimd=(%s *)d;\n\n",data_type,data_type,data_type);
fprintf(fd," %s *c2,*d2;\n\n",data_type);
fprintf(fd2," %s *c2,*d2;\n\n",data_type);
fprintf(fd," int i2;\n");
fprintf(fd2," int i2;\n");
fprintf(fd," for (i2=0; i2<%d; i2++) {\n",Zc>>shift);
fprintf(fd2," for (i2=0; i2<%d; i2++) {\n",Zc>>(shift-1));
for (i2=0; i2 < 1; i2++)
{
t=Kb*Zc+i2;
//rotate matrix here
for (i5=0; i5 < Kb; i5++)
{
temp = c[i5*Zc];
memmove(&c[i5*Zc], &c[i5*Zc+1], (Zc-1)*sizeof(unsigned char));
c[i5*Zc+Zc-1] = temp;
}
//t=Kb*Zc+i2;
// calculate each row in base graph
fprintf(fd," c2=&csimd[i2];\n");
fprintf(fd," d2=&dsimd[i2];\n");
fprintf(fd2," c2=&csimd[i2];\n");
fprintf(fd2," d2=&dsimd[i2];\n");
for (i1=0; i1 < nrows; i1++)
for (i1=0; i1 < nrows-no_punctured_columns; i1++)
{
channel_temp=0;
fprintf(fd,"\n//row: %d\n",i1);
fprintf(fd2,"\n//row: %d\n",i1);
fprintf(fd," d2[%d]=",(Zc*i1)>>shift);
fprintf(fd2," d2[%d]=",(Zc*i1)>>(shift-1));
nind=0;
for (i3=0; i3 < Kb; i3++)
for (i3=0; i3 < ncols; i3++)
{
temp_prime=i1 * ncols + i3;
for (i4=0; i4 < no_shift_values[temp_prime]; i4++)
{
var=(int)((i3*Zc + (Gen_shift_values[ pointer_shift_values[temp_prime]+i4 ]+1)%Zc)/Zc);
int index =var*2*Zc + (i3*Zc + (Gen_shift_values[ pointer_shift_values[temp_prime]+i4 ]+1)%Zc) % Zc;
indlist[nind++] = ((index&mask)*((2*Zc)>>shift)*Kb)+(index>>shift);
indlist[nind] = ((index&mask)*((2*Zc)>>shift)*Kb)+(index>>shift);
indlist2[nind++] = ((index&(mask>>1))*((2*Zc)>>(shift-1))*Kb)+(index>>(shift-1));
}
......@@ -495,20 +526,25 @@ int ldpc_encoder_orig(unsigned char *test_input,unsigned char *channel_input,sho
}
for (i4=0;i4<nind-1;i4++) {
fprintf(fd,"%s(c2[%d],",xor_command,indlist[i4]);
fprintf(fd2,"%s(c2[%d],",xor_command,indlist2[i4]);
}
fprintf(fd,"c2[%d]",indlist[i4]);
for (i4=0;i4<nind-1;i4++) fprintf(fd,")");
fprintf(fd2,"c2[%d]",indlist2[i4]);
for (i4=0;i4<nind-1;i4++) { fprintf(fd,")"); fprintf(fd2,")"); }
fprintf(fd,";\n");
d[t+i1*Zc]=channel_temp;
//channel_input[t+i1*Zc]=channel_temp;
fprintf(fd2,";\n");
}
fprintf(fd," }\n}\n");
fprintf(fd2," }\n}\n");
}
fclose(fd);
fclose(fd2);
}
else if(gen_code==0)
{
for (i2=0; i2 < Zc; i2++) {
for (i2=0; i2 < Zc; i2++)
{
//t=Kb*Zc+i2;
//rotate matrix here
......@@ -523,10 +559,7 @@ int ldpc_encoder_orig(unsigned char *test_input,unsigned char *channel_input,sho
for (i1=0; i1 < nrows-no_punctured_columns; i1++)
{
channel_temp=0;
if (gen_code) {
printf("//row: %d\n",i1);
printf("d[i2+%d*Zc]=",i1);
}
for (i3=0; i3 < Kb; i3++)
{
temp_prime=i1 * ncols + i3;
......@@ -534,12 +567,9 @@ int ldpc_encoder_orig(unsigned char *test_input,unsigned char *channel_input,sho
for (i4=0; i4 < no_shift_values[temp_prime]; i4++)
{
channel_temp = channel_temp ^ c[ i3*Zc + Gen_shift_values[ pointer_shift_values[temp_prime]+i4 ] ];
if (gen_code)
printf("c[%d]^", i3*Zc + Gen_shift_values[ pointer_shift_values[temp_prime]+i4 ] );
}
}
if (gen_code)
printf("\n");
d[i2+i1*Zc]=channel_temp;
//channel_input[t+i1*Zc]=channel_temp;
}
......@@ -548,7 +578,7 @@ int ldpc_encoder_orig(unsigned char *test_input,unsigned char *channel_input,sho
// information part and puncture columns
memcpy(&channel_input[0], &c[2*Zc], (block_length-2*Zc)*sizeof(unsigned char));
memcpy(&channel_input[block_length-2*Zc], &d[Kb*Zc], ((nrows-no_punctured_columns) * Zc-removed_bit)*sizeof(unsigned char));
memcpy(&channel_input[block_length-2*Zc], &d[0], ((nrows-no_punctured_columns) * Zc-removed_bit)*sizeof(unsigned char));
//memcpy(channel_input,c,Kb*Zc*sizeof(unsigned char));
return 0;
}
......@@ -382,12 +382,15 @@ int wakeup_tx(PHY_VARS_eNB *eNB,RU_proc_t *ru_proc) {
LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms;
static int num_busy=0;
struct timespec wait;
wait.tv_sec=0;
wait.tv_nsec=5000000L;
if (proc_rxtx1->instance_cnt_rxtx == 0) {
LOG_E(PHY,"Frame %d, subframe %d: TX1 thread busy, dropping\n",proc_rxtx1->frame_rx,proc_rxtx1->subframe_rx);
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_DAQ_MBOX,++num_busy);
return(-1);
}
......
......@@ -775,8 +775,6 @@ void rx_rf(RU_t *ru,int *frame,int *subframe) {
if (ru == RC.ru[0]) {
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_RX0_RU, proc->frame_rx );
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_RX0_RU, proc->subframe_rx );
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX0_RU, proc->frame_tx );
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_TX0_RU, proc->subframe_tx );
}
if (proc->first_rx == 0) {
......@@ -846,6 +844,8 @@ void tx_rf(RU_t *ru) {
flags = 4; // start of burst and end of burst (only one DL SF between two UL)
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX0_RU, proc->frame_tx );
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_SUBFRAME_NUMBER_TX0_RU, proc->subframe_tx );
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_TRX_TST, (proc->timestamp_tx-ru->openair0_cfg.tx_sample_advance)&0xffffffff );
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE, 1 );
// prepare tx buffer pointers
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment