Files
openairinterface5g/openair1/PHY/CODING/nrLDPC_encoder/ldpc_BG2_Zc128_byte.c
T

140 lines
39 KiB
C

#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]))))))))))))))))))))))))))))))))));
}
}