#include "PHY/sse_intrin.h"
// generated code for Zc=240, byte encoding
static inline void ldpc240_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[4628],_mm_xor_si128(c2[6],_mm_xor_si128(c2[8591],_mm_xor_si128(c2[8],_mm_xor_si128(c2[2024],_mm_xor_si128(c2[2670],_mm_xor_si128(c2[4651],_mm_xor_si128(c2[9307],_mm_xor_si128(c2[7994],_mm_xor_si128(c2[734],_mm_xor_si128(c2[4058],_mm_xor_si128(c2[5378],_mm_xor_si128(c2[1420],_mm_xor_si128(c2[8713],_mm_xor_si128(c2[4749],_mm_xor_si128(c2[8053],_mm_xor_si128(c2[2795],_mm_xor_si128(c2[158],_mm_xor_si128(c2[8084],_mm_xor_si128(c2[2165],_mm_xor_si128(c2[3487],_mm_xor_si128(c2[7442],_mm_xor_si128(c2[8135],_mm_xor_si128(c2[2201],_mm_xor_si128(c2[6821],_mm_xor_si128(c2[8170],_mm_xor_si128(c2[8165],_mm_xor_si128(c2[246],_mm_xor_si128(c2[3573],_mm_xor_si128(c2[5553],_mm_xor_si128(c2[5551],_mm_xor_si128(c2[974],_mm_xor_si128(c2[2944],_mm_xor_si128(c2[960],_mm_xor_si128(c2[8922],_mm_xor_si128(c2[7590],_mm_xor_si128(c2[5623],_mm_xor_si128(c2[368],_mm_xor_si128(c2[8951],_mm_xor_si128(c2[4321],_mm_xor_si128(c2[7654],_mm_xor_si128(c2[4350],_mm_xor_si128(c2[5671],_mm_xor_si128(c2[10325],_mm_xor_si128(c2[3726],_mm_xor_si128(c2[5050],_mm_xor_si128(c2[5078],_mm_xor_si128(c2[3755],_mm_xor_si128(c2[1112],_mm_xor_si128(c2[6433],_mm_xor_si128(c2[6429],_mm_xor_si128(c2[5772],_mm_xor_si128(c2[5135],_mm_xor_si128(c2[516],_mm_xor_si128(c2[512],_mm_xor_si128(c2[8473],_mm_xor_si128(c2[9127],_mm_xor_si128(c2[7814],_mm_xor_si128(c2[7175],_mm_xor_si128(c2[2560],_mm_xor_si128(c2[2554],_mm_xor_si128(c2[6546],_mm_xor_si128(c2[4574],_mm_xor_si128(c2[8530],_mm_xor_si128(c2[6578],_mm_xor_si128(c2[5923],c2[7903]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 1
     d2[15]=_mm_xor_si128(c2[4628],_mm_xor_si128(c2[5288],_mm_xor_si128(c2[666],_mm_xor_si128(c2[9251],_mm_xor_si128(c2[668],_mm_xor_si128(c2[2024],_mm_xor_si128(c2[2684],_mm_xor_si128(c2[3330],_mm_xor_si128(c2[5311],_mm_xor_si128(c2[9307],_mm_xor_si128(c2[9967],_mm_xor_si128(c2[8654],_mm_xor_si128(c2[1394],_mm_xor_si128(c2[4058],_mm_xor_si128(c2[4718],_mm_xor_si128(c2[6038],_mm_xor_si128(c2[2080],_mm_xor_si128(c2[9373],_mm_xor_si128(c2[5409],_mm_xor_si128(c2[8713],_mm_xor_si128(c2[2795],_mm_xor_si128(c2[3455],_mm_xor_si128(c2[818],_mm_xor_si128(c2[8744],_mm_xor_si128(c2[2165],_mm_xor_si128(c2[2825],_mm_xor_si128(c2[4147],_mm_xor_si128(c2[8102],_mm_xor_si128(c2[8795],_mm_xor_si128(c2[2861],_mm_xor_si128(c2[7481],_mm_xor_si128(c2[8830],_mm_xor_si128(c2[8825],_mm_xor_si128(c2[906],_mm_xor_si128(c2[3573],_mm_xor_si128(c2[4233],_mm_xor_si128(c2[6213],_mm_xor_si128(c2[6211],_mm_xor_si128(c2[974],_mm_xor_si128(c2[1634],_mm_xor_si128(c2[3604],_mm_xor_si128(c2[1620],_mm_xor_si128(c2[8922],_mm_xor_si128(c2[9582],_mm_xor_si128(c2[8250],_mm_xor_si128(c2[6283],_mm_xor_si128(c2[368],_mm_xor_si128(c2[1028],_mm_xor_si128(c2[9611],_mm_xor_si128(c2[4981],_mm_xor_si128(c2[7654],_mm_xor_si128(c2[8314],_mm_xor_si128(c2[5010],_mm_xor_si128(c2[6331],_mm_xor_si128(c2[426],_mm_xor_si128(c2[4386],_mm_xor_si128(c2[5710],_mm_xor_si128(c2[5078],_mm_xor_si128(c2[5738],_mm_xor_si128(c2[4415],_mm_xor_si128(c2[1772],_mm_xor_si128(c2[6433],_mm_xor_si128(c2[7093],_mm_xor_si128(c2[7089],_mm_xor_si128(c2[6432],_mm_xor_si128(c2[5795],_mm_xor_si128(c2[1176],_mm_xor_si128(c2[1172],_mm_xor_si128(c2[8473],_mm_xor_si128(c2[9133],_mm_xor_si128(c2[9787],_mm_xor_si128(c2[8474],_mm_xor_si128(c2[7175],_mm_xor_si128(c2[7835],_mm_xor_si128(c2[3220],_mm_xor_si128(c2[3214],_mm_xor_si128(c2[6546],_mm_xor_si128(c2[7206],_mm_xor_si128(c2[5234],_mm_xor_si128(c2[9190],_mm_xor_si128(c2[6578],_mm_xor_si128(c2[7238],_mm_xor_si128(c2[6583],c2[8563])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 2
     d2[30]=_mm_xor_si128(c2[5288],_mm_xor_si128(c2[666],_mm_xor_si128(c2[8591],_mm_xor_si128(c2[9251],_mm_xor_si128(c2[8],_mm_xor_si128(c2[668],_mm_xor_si128(c2[2684],_mm_xor_si128(c2[2670],_mm_xor_si128(c2[3330],_mm_xor_si128(c2[4651],_mm_xor_si128(c2[5311],_mm_xor_si128(c2[9967],_mm_xor_si128(c2[8654],_mm_xor_si128(c2[734],_mm_xor_si128(c2[1394],_mm_xor_si128(c2[4718],_mm_xor_si128(c2[6038],_mm_xor_si128(c2[1420],_mm_xor_si128(c2[2080],_mm_xor_si128(c2[9373],_mm_xor_si128(c2[4749],_mm_xor_si128(c2[5409],_mm_xor_si128(c2[8053],_mm_xor_si128(c2[8713],_mm_xor_si128(c2[3455],_mm_xor_si128(c2[818],_mm_xor_si128(c2[8084],_mm_xor_si128(c2[8744],_mm_xor_si128(c2[2825],_mm_xor_si128(c2[3487],_mm_xor_si128(c2[4147],_mm_xor_si128(c2[7442],_mm_xor_si128(c2[8102],_mm_xor_si128(c2[8795],_mm_xor_si128(c2[2201],_mm_xor_si128(c2[2861],_mm_xor_si128(c2[6821],_mm_xor_si128(c2[7481],_mm_xor_si128(c2[8830],_mm_xor_si128(c2[8165],_mm_xor_si128(c2[8825],_mm_xor_si128(c2[246],_mm_xor_si128(c2[906],_mm_xor_si128(c2[4233],_mm_xor_si128(c2[6213],_mm_xor_si128(c2[5551],_mm_xor_si128(c2[6211],_mm_xor_si128(c2[1634],_mm_xor_si128(c2[2944],_mm_xor_si128(c2[3604],_mm_xor_si128(c2[960],_mm_xor_si128(c2[1620],_mm_xor_si128(c2[9582],_mm_xor_si128(c2[8250],_mm_xor_si128(c2[5623],_mm_xor_si128(c2[6283],_mm_xor_si128(c2[1028],_mm_xor_si128(c2[9611],_mm_xor_si128(c2[4321],_mm_xor_si128(c2[4981],_mm_xor_si128(c2[8314],_mm_xor_si128(c2[4350],_mm_xor_si128(c2[5010],_mm_xor_si128(c2[5671],_mm_xor_si128(c2[6331],_mm_xor_si128(c2[426],_mm_xor_si128(c2[3726],_mm_xor_si128(c2[4386],_mm_xor_si128(c2[5050],_mm_xor_si128(c2[5710],_mm_xor_si128(c2[5738],_mm_xor_si128(c2[4415],_mm_xor_si128(c2[1112],_mm_xor_si128(c2[1772],_mm_xor_si128(c2[7093],_mm_xor_si128(c2[7089],_mm_xor_si128(c2[5772],_mm_xor_si128(c2[6432],_mm_xor_si128(c2[5795],_mm_xor_si128(c2[516],_mm_xor_si128(c2[1176],_mm_xor_si128(c2[512],_mm_xor_si128(c2[1172],_mm_xor_si128(c2[9133],_mm_xor_si128(c2[9127],_mm_xor_si128(c2[9787],_mm_xor_si128(c2[7814],_mm_xor_si128(c2[8474],_mm_xor_si128(c2[7835],_mm_xor_si128(c2[3220],_mm_xor_si128(c2[2554],_mm_xor_si128(c2[3214],_mm_xor_si128(c2[7206],_mm_xor_si128(c2[4574],_mm_xor_si128(c2[5234],_mm_xor_si128(c2[8530],_mm_xor_si128(c2[9190],_mm_xor_si128(c2[7238],_mm_xor_si128(c2[6583],_mm_xor_si128(c2[7903],c2[8563]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 3
     d2[45]=_mm_xor_si128(c2[5288],_mm_xor_si128(c2[666],_mm_xor_si128(c2[9251],_mm_xor_si128(c2[8],_mm_xor_si128(c2[668],_mm_xor_si128(c2[2684],_mm_xor_si128(c2[3330],_mm_xor_si128(c2[4651],_mm_xor_si128(c2[5311],_mm_xor_si128(c2[9967],_mm_xor_si128(c2[8654],_mm_xor_si128(c2[1394],_mm_xor_si128(c2[4718],_mm_xor_si128(c2[6038],_mm_xor_si128(c2[1420],_mm_xor_si128(c2[2080],_mm_xor_si128(c2[9373],_mm_xor_si128(c2[5409],_mm_xor_si128(c2[8053],_mm_xor_si128(c2[8713],_mm_xor_si128(c2[3455],_mm_xor_si128(c2[818],_mm_xor_si128(c2[8744],_mm_xor_si128(c2[2825],_mm_xor_si128(c2[4147],_mm_xor_si128(c2[7442],_mm_xor_si128(c2[8102],_mm_xor_si128(c2[8795],_mm_xor_si128(c2[2861],_mm_xor_si128(c2[6821],_mm_xor_si128(c2[7481],_mm_xor_si128(c2[8830],_mm_xor_si128(c2[8825],_mm_xor_si128(c2[246],_mm_xor_si128(c2[906],_mm_xor_si128(c2[4233],_mm_xor_si128(c2[6213],_mm_xor_si128(c2[6211],_mm_xor_si128(c2[1634],_mm_xor_si128(c2[3604],_mm_xor_si128(c2[960],_mm_xor_si128(c2[1620],_mm_xor_si128(c2[9582],_mm_xor_si128(c2[8250],_mm_xor_si128(c2[5623],_mm_xor_si128(c2[6283],_mm_xor_si128(c2[1028],_mm_xor_si128(c2[9611],_mm_xor_si128(c2[4321],_mm_xor_si128(c2[4981],_mm_xor_si128(c2[8314],_mm_xor_si128(c2[5010],_mm_xor_si128(c2[5671],_mm_xor_si128(c2[6331],_mm_xor_si128(c2[426],_mm_xor_si128(c2[4386],_mm_xor_si128(c2[5050],_mm_xor_si128(c2[5710],_mm_xor_si128(c2[5738],_mm_xor_si128(c2[4415],_mm_xor_si128(c2[1772],_mm_xor_si128(c2[7093],_mm_xor_si128(c2[7089],_mm_xor_si128(c2[5772],_mm_xor_si128(c2[6432],_mm_xor_si128(c2[5795],_mm_xor_si128(c2[1176],_mm_xor_si128(c2[512],_mm_xor_si128(c2[1172],_mm_xor_si128(c2[9133],_mm_xor_si128(c2[9787],_mm_xor_si128(c2[7814],_mm_xor_si128(c2[8474],_mm_xor_si128(c2[7835],_mm_xor_si128(c2[3220],_mm_xor_si128(c2[3214],_mm_xor_si128(c2[7206],_mm_xor_si128(c2[5234],_mm_xor_si128(c2[8530],_mm_xor_si128(c2[9190],_mm_xor_si128(c2[7238],_mm_xor_si128(c2[6583],_mm_xor_si128(c2[7903],c2[8563])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 4
     d2[60]=_mm_xor_si128(c2[4],c2[2023]);

//row: 5
     d2[75]=_mm_xor_si128(c2[7264],_mm_xor_si128(c2[2642],_mm_xor_si128(c2[668],_mm_xor_si128(c2[2644],_mm_xor_si128(c2[1320],_mm_xor_si128(c2[4660],_mm_xor_si128(c2[5321],_mm_xor_si128(c2[7302],_mm_xor_si128(c2[7300],_mm_xor_si128(c2[1384],_mm_xor_si128(c2[71],_mm_xor_si128(c2[3370],_mm_xor_si128(c2[6694],_mm_xor_si128(c2[8014],_mm_xor_si128(c2[4056],_mm_xor_si128(c2[9992],_mm_xor_si128(c2[790],_mm_xor_si128(c2[7385],_mm_xor_si128(c2[130],_mm_xor_si128(c2[5431],_mm_xor_si128(c2[2794],_mm_xor_si128(c2[161],_mm_xor_si128(c2[4801],_mm_xor_si128(c2[6123],_mm_xor_si128(c2[10093],_mm_xor_si128(c2[212],_mm_xor_si128(c2[4837],_mm_xor_si128(c2[9457],_mm_xor_si128(c2[247],_mm_xor_si128(c2[242],_mm_xor_si128(c2[2882],_mm_xor_si128(c2[6224],_mm_xor_si128(c2[8204],_mm_xor_si128(c2[8202],_mm_xor_si128(c2[3610],_mm_xor_si128(c2[5580],_mm_xor_si128(c2[3611],_mm_xor_si128(c2[999],_mm_xor_si128(c2[10241],_mm_xor_si128(c2[8259],_mm_xor_si128(c2[3004],_mm_xor_si128(c2[1028],_mm_xor_si128(c2[6972],_mm_xor_si128(c2[10268],_mm_xor_si128(c2[10290],_mm_xor_si128(c2[7001],_mm_xor_si128(c2[8322],_mm_xor_si128(c2[2402],_mm_xor_si128(c2[6362],_mm_xor_si128(c2[7686],_mm_xor_si128(c2[7714],_mm_xor_si128(c2[6391],_mm_xor_si128(c2[3763],_mm_xor_si128(c2[9069],_mm_xor_si128(c2[9065],_mm_xor_si128(c2[8408],_mm_xor_si128(c2[1813],_mm_xor_si128(c2[7771],_mm_xor_si128(c2[3152],_mm_xor_si128(c2[3163],_mm_xor_si128(c2[550],_mm_xor_si128(c2[1204],_mm_xor_si128(c2[10450],_mm_xor_si128(c2[9811],_mm_xor_si128(c2[5196],_mm_xor_si128(c2[5190],_mm_xor_si128(c2[9182],_mm_xor_si128(c2[7210],_mm_xor_si128(c2[607],_mm_xor_si128(c2[9214],_mm_xor_si128(c2[8559],_mm_xor_si128(c2[10539],c2[3281]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 6
     d2[90]=_mm_xor_si128(c2[4632],_mm_xor_si128(c2[4141],_mm_xor_si128(c2[4921],_mm_xor_si128(c2[2976],_mm_xor_si128(c2[8315],_mm_xor_si128(c2[10422],_mm_xor_si128(c2[3183],c2[9180])))))));

//row: 7
     d2[105]=_mm_xor_si128(c2[8584],_mm_xor_si128(c2[1359],_mm_xor_si128(c2[793],_mm_xor_si128(c2[212],_mm_xor_si128(c2[4210],c2[1741])))));

//row: 8
     d2[120]=_mm_xor_si128(c2[3],_mm_xor_si128(c2[9250],_mm_xor_si128(c2[5940],_mm_xor_si128(c2[4628],_mm_xor_si128(c2[3966],_mm_xor_si128(c2[1994],_mm_xor_si128(c2[2654],_mm_xor_si128(c2[5942],_mm_xor_si128(c2[3970],_mm_xor_si128(c2[4630],_mm_xor_si128(c2[3311],_mm_xor_si128(c2[7958],_mm_xor_si128(c2[6631],_mm_xor_si128(c2[8619],_mm_xor_si128(c2[6632],_mm_xor_si128(c2[7292],_mm_xor_si128(c2[41],_mm_xor_si128(c2[8613],_mm_xor_si128(c2[9273],_mm_xor_si128(c2[5976],_mm_xor_si128(c2[4682],_mm_xor_si128(c2[3370],_mm_xor_si128(c2[3369],_mm_xor_si128(c2[2042],_mm_xor_si128(c2[6668],_mm_xor_si128(c2[4681],_mm_xor_si128(c2[5341],_mm_xor_si128(c2[9992],_mm_xor_si128(c2[8680],_mm_xor_si128(c2[753],_mm_xor_si128(c2[10000],_mm_xor_si128(c2[7354],_mm_xor_si128(c2[5382],_mm_xor_si128(c2[6042],_mm_xor_si128(c2[8678],_mm_xor_si128(c2[4088],_mm_xor_si128(c2[2761],_mm_xor_si128(c2[124],_mm_xor_si128(c2[8711],_mm_xor_si128(c2[9371],_mm_xor_si128(c2[3428],_mm_xor_si128(c2[1441],_mm_xor_si128(c2[2101],_mm_xor_si128(c2[8744],_mm_xor_si128(c2[7417],_mm_xor_si128(c2[6092],_mm_xor_si128(c2[4780],_mm_xor_si128(c2[3459],_mm_xor_si128(c2[1472],_mm_xor_si128(c2[2132],_mm_xor_si128(c2[8114],_mm_xor_si128(c2[6787],_mm_xor_si128(c2[9421],_mm_xor_si128(c2[7449],_mm_xor_si128(c2[8109],_mm_xor_si128(c2[2832],_mm_xor_si128(c2[845],_mm_xor_si128(c2[1505],_mm_xor_si128(c2[3510],_mm_xor_si128(c2[2198],_mm_xor_si128(c2[8135],_mm_xor_si128(c2[6163],_mm_xor_si128(c2[6823],_mm_xor_si128(c2[2196],_mm_xor_si128(c2[224],_mm_xor_si128(c2[884],_mm_xor_si128(c2[3545],_mm_xor_si128(c2[2233],_mm_xor_si128(c2[3540],_mm_xor_si128(c2[1568],_mm_xor_si128(c2[2228],_mm_xor_si128(c2[6180],_mm_xor_si128(c2[4208],_mm_xor_si128(c2[4868],_mm_xor_si128(c2[9522],_mm_xor_si128(c2[8195],_mm_xor_si128(c2[943],_mm_xor_si128(c2[10175],_mm_xor_si128(c2[941],_mm_xor_si128(c2[9513],_mm_xor_si128(c2[10173],_mm_xor_si128(c2[6908],_mm_xor_si128(c2[5581],_mm_xor_si128(c2[8893],_mm_xor_si128(c2[6906],_mm_xor_si128(c2[7566],_mm_xor_si128(c2[6909],_mm_xor_si128(c2[4922],_mm_xor_si128(c2[5582],_mm_xor_si128(c2[4297],_mm_xor_si128(c2[2970],_mm_xor_si128(c2[2980],_mm_xor_si128(c2[1653],_mm_xor_si128(c2[998],_mm_xor_si128(c2[9570],_mm_xor_si128(c2[10230],_mm_xor_si128(c2[6302],_mm_xor_si128(c2[4990],_mm_xor_si128(c2[4326],_mm_xor_si128(c2[3014],_mm_xor_si128(c2[10270],_mm_xor_si128(c2[8283],_mm_xor_si128(c2[8943],_mm_xor_si128(c2[10273],_mm_xor_si128(c2[3044],_mm_xor_si128(c2[1717],_mm_xor_si128(c2[10299],_mm_xor_si128(c2[8312],_mm_xor_si128(c2[8972],_mm_xor_si128(c2[1061],_mm_xor_si128(c2[9633],_mm_xor_si128(c2[10293],_mm_xor_si128(c2[5700],_mm_xor_si128(c2[4388],_mm_xor_si128(c2[9660],_mm_xor_si128(c2[7688],_mm_xor_si128(c2[8348],_mm_xor_si128(c2[425],_mm_xor_si128(c2[9012],_mm_xor_si128(c2[9672],_mm_xor_si128(c2[453],_mm_xor_si128(c2[9700],_mm_xor_si128(c2[9704],_mm_xor_si128(c2[8377],_mm_xor_si128(c2[7061],_mm_xor_si128(c2[5074],_mm_xor_si128(c2[5734],_mm_xor_si128(c2[1808],_mm_xor_si128(c2[481],_mm_xor_si128(c2[1804],_mm_xor_si128(c2[492],_mm_xor_si128(c2[1147],_mm_xor_si128(c2[9734],_mm_xor_si128(c2[10394],_mm_xor_si128(c2[1151],_mm_xor_si128(c2[510],_mm_xor_si128(c2[9757],_mm_xor_si128(c2[6450],_mm_xor_si128(c2[4478],_mm_xor_si128(c2[5138],_mm_xor_si128(c2[6461],_mm_xor_si128(c2[4474],_mm_xor_si128(c2[5134],_mm_xor_si128(c2[3848],_mm_xor_si128(c2[2521],_mm_xor_si128(c2[4502],_mm_xor_si128(c2[2530],_mm_xor_si128(c2[3190],_mm_xor_si128(c2[3189],_mm_xor_si128(c2[1202],_mm_xor_si128(c2[1862],_mm_xor_si128(c2[2550],_mm_xor_si128(c2[1238],_mm_xor_si128(c2[8494],_mm_xor_si128(c2[7182],_mm_xor_si128(c2[8503],_mm_xor_si128(c2[6516],_mm_xor_si128(c2[7176],_mm_xor_si128(c2[1239],_mm_xor_si128(c2[1921],_mm_xor_si128(c2[609],_mm_xor_si128(c2[10508],_mm_xor_si128(c2[8521],_mm_xor_si128(c2[9181],_mm_xor_si128(c2[3905],_mm_xor_si128(c2[1933],_mm_xor_si128(c2[2593],_mm_xor_si128(c2[1953],_mm_xor_si128(c2[641],_mm_xor_si128(c2[1298],_mm_xor_si128(c2[10530],_mm_xor_si128(c2[3278],_mm_xor_si128(c2[1291],_mm_xor_si128(c2[1951],c2[5262]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 9
     d2[135]=_mm_xor_si128(c2[5950],_mm_xor_si128(c2[7950],_mm_xor_si128(c2[9552],_mm_xor_si128(c2[8923],_mm_xor_si128(c2[1051],_mm_xor_si128(c2[3163],_mm_xor_si128(c2[8465],c2[9192])))))));

//row: 10
     d2[150]=_mm_xor_si128(c2[2677],_mm_xor_si128(c2[4689],_mm_xor_si128(c2[4084],_mm_xor_si128(c2[4184],_mm_xor_si128(c2[2227],c2[3065])))));

//row: 11
     d2[165]=_mm_xor_si128(c2[7923],_mm_xor_si128(c2[1320],_mm_xor_si128(c2[1980],_mm_xor_si128(c2[3301],_mm_xor_si128(c2[7932],_mm_xor_si128(c2[1327],_mm_xor_si128(c2[5943],_mm_xor_si128(c2[3303],_mm_xor_si128(c2[7934],_mm_xor_si128(c2[8582],_mm_xor_si128(c2[5319],_mm_xor_si128(c2[9275],_mm_xor_si128(c2[9935],_mm_xor_si128(c2[5980],_mm_xor_si128(c2[37],_mm_xor_si128(c2[7961],_mm_xor_si128(c2[2018],_mm_xor_si128(c2[2017],_mm_xor_si128(c2[2043],_mm_xor_si128(c2[6014],_mm_xor_si128(c2[6674],_mm_xor_si128(c2[730],_mm_xor_si128(c2[5346],_mm_xor_si128(c2[4029],_mm_xor_si128(c2[8645],_mm_xor_si128(c2[7353],_mm_xor_si128(c2[750],_mm_xor_si128(c2[1410],_mm_xor_si128(c2[8673],_mm_xor_si128(c2[2730],_mm_xor_si128(c2[4715],_mm_xor_si128(c2[9331],_mm_xor_si128(c2[1449],_mm_xor_si128(c2[6065],_mm_xor_si128(c2[8044],_mm_xor_si128(c2[2101],_mm_xor_si128(c2[789],_mm_xor_si128(c2[5405],_mm_xor_si128(c2[6090],_mm_xor_si128(c2[10061],_mm_xor_si128(c2[162],_mm_xor_si128(c2[3453],_mm_xor_si128(c2[8084],_mm_xor_si128(c2[820],_mm_xor_si128(c2[5436],_mm_xor_si128(c2[5460],_mm_xor_si128(c2[9431],_mm_xor_si128(c2[10091],_mm_xor_si128(c2[6782],_mm_xor_si128(c2[854],_mm_xor_si128(c2[193],_mm_xor_si128(c2[4809],_mm_xor_si128(c2[871],_mm_xor_si128(c2[5502],_mm_xor_si128(c2[5496],_mm_xor_si128(c2[10112],_mm_xor_si128(c2[10116],_mm_xor_si128(c2[4173],_mm_xor_si128(c2[906],_mm_xor_si128(c2[5522],_mm_xor_si128(c2[901],_mm_xor_si128(c2[5532],_mm_xor_si128(c2[3541],_mm_xor_si128(c2[8172],_mm_xor_si128(c2[6883],_mm_xor_si128(c2[280],_mm_xor_si128(c2[940],_mm_xor_si128(c2[8863],_mm_xor_si128(c2[2920],_mm_xor_si128(c2[8861],_mm_xor_si128(c2[2918],_mm_xor_si128(c2[4269],_mm_xor_si128(c2[8225],_mm_xor_si128(c2[8885],_mm_xor_si128(c2[6254],_mm_xor_si128(c2[311],_mm_xor_si128(c2[4270],_mm_xor_si128(c2[8886],_mm_xor_si128(c2[1658],_mm_xor_si128(c2[5614],_mm_xor_si128(c2[6274],_mm_xor_si128(c2[341],_mm_xor_si128(c2[4957],_mm_xor_si128(c2[8918],_mm_xor_si128(c2[2975],_mm_xor_si128(c2[3663],_mm_xor_si128(c2[7634],_mm_xor_si128(c2[8294],_mm_xor_si128(c2[1687],_mm_xor_si128(c2[6303],_mm_xor_si128(c2[7631],_mm_xor_si128(c2[1688],_mm_xor_si128(c2[4328],_mm_xor_si128(c2[390],_mm_xor_si128(c2[4361],_mm_xor_si128(c2[5021],_mm_xor_si128(c2[7660],_mm_xor_si128(c2[1717],_mm_xor_si128(c2[8981],_mm_xor_si128(c2[3038],_mm_xor_si128(c2[3061],_mm_xor_si128(c2[7692],_mm_xor_si128(c2[7021],_mm_xor_si128(c2[1093],_mm_xor_si128(c2[8345],_mm_xor_si128(c2[2402],_mm_xor_si128(c2[8373],_mm_xor_si128(c2[1770],_mm_xor_si128(c2[2430],_mm_xor_si128(c2[7050],_mm_xor_si128(c2[1122],_mm_xor_si128(c2[4422],_mm_xor_si128(c2[9038],_mm_xor_si128(c2[9728],_mm_xor_si128(c2[3125],_mm_xor_si128(c2[3785],_mm_xor_si128(c2[9724],_mm_xor_si128(c2[3781],_mm_xor_si128(c2[9067],_mm_xor_si128(c2[3124],_mm_xor_si128(c2[1140],_mm_xor_si128(c2[8430],_mm_xor_si128(c2[2502],_mm_xor_si128(c2[3811],_mm_xor_si128(c2[8442],_mm_xor_si128(c2[3822],_mm_xor_si128(c2[8438],_mm_xor_si128(c2[1209],_mm_xor_si128(c2[5165],_mm_xor_si128(c2[5825],_mm_xor_si128(c2[1863],_mm_xor_si128(c2[6494],_mm_xor_si128(c2[550],_mm_xor_si128(c2[5166],_mm_xor_si128(c2[10470],_mm_xor_si128(c2[3882],_mm_xor_si128(c2[4542],_mm_xor_si128(c2[5855],_mm_xor_si128(c2[10471],_mm_xor_si128(c2[5864],_mm_xor_si128(c2[10480],_mm_xor_si128(c2[9841],_mm_xor_si128(c2[3253],_mm_xor_si128(c2[3913],_mm_xor_si128(c2[7869],_mm_xor_si128(c2[1926],_mm_xor_si128(c2[1266],_mm_xor_si128(c2[5882],_mm_xor_si128(c2[9873],_mm_xor_si128(c2[3270],_mm_xor_si128(c2[3930],_mm_xor_si128(c2[9218],_mm_xor_si128(c2[3275],_mm_xor_si128(c2[639],_mm_xor_si128(c2[5255],c2[5919])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 12
     d2[180]=_mm_xor_si128(c2[6611],_mm_xor_si128(c2[4663],_mm_xor_si128(c2[8227],_mm_xor_si128(c2[2981],_mm_xor_si128(c2[1716],c2[545])))));

//row: 13
     d2[195]=_mm_xor_si128(c2[8582],_mm_xor_si128(c2[9242],_mm_xor_si128(c2[4620],_mm_xor_si128(c2[2646],_mm_xor_si128(c2[4622],_mm_xor_si128(c2[7933],_mm_xor_si128(c2[5978],_mm_xor_si128(c2[6638],_mm_xor_si128(c2[7299],_mm_xor_si128(c2[9280],_mm_xor_si128(c2[2702],_mm_xor_si128(c2[3362],_mm_xor_si128(c2[2049],_mm_xor_si128(c2[5348],_mm_xor_si128(c2[8012],_mm_xor_si128(c2[8672],_mm_xor_si128(c2[9992],_mm_xor_si128(c2[6034],_mm_xor_si128(c2[6041],_mm_xor_si128(c2[2768],_mm_xor_si128(c2[9363],_mm_xor_si128(c2[2108],_mm_xor_si128(c2[6764],_mm_xor_si128(c2[7424],_mm_xor_si128(c2[4772],_mm_xor_si128(c2[2139],_mm_xor_si128(c2[6134],_mm_xor_si128(c2[6794],_mm_xor_si128(c2[8101],_mm_xor_si128(c2[1512],_mm_xor_si128(c2[2190],_mm_xor_si128(c2[6815],_mm_xor_si128(c2[876],_mm_xor_si128(c2[6819],_mm_xor_si128(c2[2225],_mm_xor_si128(c2[2220],_mm_xor_si128(c2[4860],_mm_xor_si128(c2[7542],_mm_xor_si128(c2[8202],_mm_xor_si128(c2[10182],_mm_xor_si128(c2[10180],_mm_xor_si128(c2[4928],_mm_xor_si128(c2[5588],_mm_xor_si128(c2[7573],_mm_xor_si128(c2[5589],_mm_xor_si128(c2[2317],_mm_xor_si128(c2[2977],_mm_xor_si128(c2[1660],_mm_xor_si128(c2[10237],_mm_xor_si128(c2[4322],_mm_xor_si128(c2[4982],_mm_xor_si128(c2[3006],_mm_xor_si128(c2[8950],_mm_xor_si128(c2[1064],_mm_xor_si128(c2[1724],_mm_xor_si128(c2[8979],_mm_xor_si128(c2[10300],_mm_xor_si128(c2[4380],_mm_xor_si128(c2[8340],_mm_xor_si128(c2[9664],_mm_xor_si128(c2[9032],_mm_xor_si128(c2[9692],_mm_xor_si128(c2[8384],_mm_xor_si128(c2[5741],_mm_xor_si128(c2[10387],_mm_xor_si128(c2[488],_mm_xor_si128(c2[484],_mm_xor_si128(c2[10386],_mm_xor_si128(c2[9764],_mm_xor_si128(c2[5130],_mm_xor_si128(c2[5141],_mm_xor_si128(c2[1868],_mm_xor_si128(c2[2528],_mm_xor_si128(c2[3182],_mm_xor_si128(c2[1869],_mm_xor_si128(c2[570],_mm_xor_si128(c2[1230],_mm_xor_si128(c2[7174],_mm_xor_si128(c2[7183],_mm_xor_si128(c2[10500],_mm_xor_si128(c2[601],_mm_xor_si128(c2[9188],_mm_xor_si128(c2[2585],_mm_xor_si128(c2[1931],_mm_xor_si128(c2[10532],_mm_xor_si128(c2[633],_mm_xor_si128(c2[10537],c2[1958])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 14
     d2[210]=_mm_xor_si128(c2[7927],_mm_xor_si128(c2[369],_mm_xor_si128(c2[4421],_mm_xor_si128(c2[10385],_mm_xor_si128(c2[5794],c2[8554])))));

//row: 15
     d2[225]=_mm_xor_si128(c2[5951],_mm_xor_si128(c2[1329],_mm_xor_si128(c2[9914],_mm_xor_si128(c2[671],_mm_xor_si128(c2[1331],_mm_xor_si128(c2[4622],_mm_xor_si128(c2[3332],_mm_xor_si128(c2[3993],_mm_xor_si128(c2[5314],_mm_xor_si128(c2[5974],_mm_xor_si128(c2[6638],_mm_xor_si128(c2[71],_mm_xor_si128(c2[9302],_mm_xor_si128(c2[2042],_mm_xor_si128(c2[5381],_mm_xor_si128(c2[6701],_mm_xor_si128(c2[2083],_mm_xor_si128(c2[2743],_mm_xor_si128(c2[10021],_mm_xor_si128(c2[6072],_mm_xor_si128(c2[8701],_mm_xor_si128(c2[9361],_mm_xor_si128(c2[4118],_mm_xor_si128(c2[1481],_mm_xor_si128(c2[9392],_mm_xor_si128(c2[3488],_mm_xor_si128(c2[4810],_mm_xor_si128(c2[8105],_mm_xor_si128(c2[8765],_mm_xor_si128(c2[9458],_mm_xor_si128(c2[3524],_mm_xor_si128(c2[7484],_mm_xor_si128(c2[8144],_mm_xor_si128(c2[9493],_mm_xor_si128(c2[9488],_mm_xor_si128(c2[909],_mm_xor_si128(c2[1569],_mm_xor_si128(c2[4896],_mm_xor_si128(c2[6876],_mm_xor_si128(c2[6874],_mm_xor_si128(c2[2282],_mm_xor_si128(c2[4267],_mm_xor_si128(c2[1623],_mm_xor_si128(c2[2283],_mm_xor_si128(c2[8233],_mm_xor_si128(c2[10230],_mm_xor_si128(c2[8913],_mm_xor_si128(c2[6271],_mm_xor_si128(c2[6931],_mm_xor_si128(c2[1691],_mm_xor_si128(c2[10274],_mm_xor_si128(c2[4984],_mm_xor_si128(c2[5644],_mm_xor_si128(c2[8977],_mm_xor_si128(c2[5673],_mm_xor_si128(c2[6334],_mm_xor_si128(c2[6994],_mm_xor_si128(c2[8980],_mm_xor_si128(c2[1089],_mm_xor_si128(c2[5049],_mm_xor_si128(c2[5713],_mm_xor_si128(c2[6373],_mm_xor_si128(c2[6401],_mm_xor_si128(c2[5078],_mm_xor_si128(c2[2435],_mm_xor_si128(c2[7741],_mm_xor_si128(c2[7752],_mm_xor_si128(c2[6420],_mm_xor_si128(c2[7080],_mm_xor_si128(c2[6458],_mm_xor_si128(c2[1839],_mm_xor_si128(c2[1175],_mm_xor_si128(c2[1835],_mm_xor_si128(c2[9781],_mm_xor_si128(c2[10450],_mm_xor_si128(c2[8462],_mm_xor_si128(c2[9122],_mm_xor_si128(c2[9788],_mm_xor_si128(c2[8498],_mm_xor_si128(c2[3883],_mm_xor_si128(c2[3877],_mm_xor_si128(c2[7869],_mm_xor_si128(c2[5882],_mm_xor_si128(c2[9193],_mm_xor_si128(c2[9853],_mm_xor_si128(c2[7901],_mm_xor_si128(c2[7231],_mm_xor_si128(c2[8551],c2[9211]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 16
     d2[240]=_mm_xor_si128(c2[2646],_mm_xor_si128(c2[8583],_mm_xor_si128(c2[6609],_mm_xor_si128(c2[8585],_mm_xor_si128(c2[42],_mm_xor_si128(c2[703],_mm_xor_si128(c2[2684],_mm_xor_si128(c2[9274],_mm_xor_si128(c2[7325],_mm_xor_si128(c2[6012],_mm_xor_si128(c2[9311],_mm_xor_si128(c2[2076],_mm_xor_si128(c2[3396],_mm_xor_si128(c2[9997],_mm_xor_si128(c2[5379],_mm_xor_si128(c2[6731],_mm_xor_si128(c2[2767],_mm_xor_si128(c2[6071],_mm_xor_si128(c2[813],_mm_xor_si128(c2[8735],_mm_xor_si128(c2[6102],_mm_xor_si128(c2[183],_mm_xor_si128(c2[1505],_mm_xor_si128(c2[5460],_mm_xor_si128(c2[6153],_mm_xor_si128(c2[219],_mm_xor_si128(c2[4839],_mm_xor_si128(c2[6188],_mm_xor_si128(c2[6183],_mm_xor_si128(c2[8823],_mm_xor_si128(c2[1591],_mm_xor_si128(c2[3571],_mm_xor_si128(c2[3584],_mm_xor_si128(c2[9551],_mm_xor_si128(c2[962],_mm_xor_si128(c2[9552],_mm_xor_si128(c2[6940],_mm_xor_si128(c2[5623],_mm_xor_si128(c2[3641],_mm_xor_si128(c2[2975],_mm_xor_si128(c2[8945],_mm_xor_si128(c2[6969],_mm_xor_si128(c2[2354],_mm_xor_si128(c2[5672],_mm_xor_si128(c2[2383],_mm_xor_si128(c2[3704],_mm_xor_si128(c2[8343],_mm_xor_si128(c2[1744],_mm_xor_si128(c2[3068],_mm_xor_si128(c2[3096],_mm_xor_si128(c2[1773],_mm_xor_si128(c2[9704],_mm_xor_si128(c2[4451],_mm_xor_si128(c2[4447],_mm_xor_si128(c2[3790],_mm_xor_si128(c2[3153],_mm_xor_si128(c2[9093],_mm_xor_si128(c2[9104],_mm_xor_si128(c2[6491],_mm_xor_si128(c2[7145],_mm_xor_si128(c2[5832],_mm_xor_si128(c2[5193],_mm_xor_si128(c2[578],_mm_xor_si128(c2[572],_mm_xor_si128(c2[4564],_mm_xor_si128(c2[2592],_mm_xor_si128(c2[6548],_mm_xor_si128(c2[3900],_mm_xor_si128(c2[4596],_mm_xor_si128(c2[3941],c2[5921]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 17
     d2[255]=_mm_xor_si128(c2[4631],_mm_xor_si128(c2[427],_mm_xor_si128(c2[7086],_mm_xor_si128(c2[7783],c2[1298]))));

//row: 18
     d2[270]=_mm_xor_si128(c2[4661],_mm_xor_si128(c2[4993],_mm_xor_si128(c2[3041],_mm_xor_si128(c2[10448],c2[9810]))));

//row: 19
     d2[285]=_mm_xor_si128(c2[1991],_mm_xor_si128(c2[7956],_mm_xor_si128(c2[10119],_mm_xor_si128(c2[6848],c2[2952]))));

//row: 20
     d2[300]=_mm_xor_si128(c2[5941],_mm_xor_si128(c2[1334],_mm_xor_si128(c2[9904],_mm_xor_si128(c2[1321],_mm_xor_si128(c2[8584],_mm_xor_si128(c2[3337],_mm_xor_si128(c2[3998],_mm_xor_si128(c2[5979],_mm_xor_si128(c2[61],_mm_xor_si128(c2[9307],_mm_xor_si128(c2[2047],_mm_xor_si128(c2[5371],_mm_xor_si128(c2[6691],_mm_xor_si128(c2[2733],_mm_xor_si128(c2[7361],_mm_xor_si128(c2[10026],_mm_xor_si128(c2[6062],_mm_xor_si128(c2[9366],_mm_xor_si128(c2[4123],_mm_xor_si128(c2[1471],_mm_xor_si128(c2[9397],_mm_xor_si128(c2[3493],_mm_xor_si128(c2[4800],_mm_xor_si128(c2[8770],_mm_xor_si128(c2[9463],_mm_xor_si128(c2[3514],_mm_xor_si128(c2[8134],_mm_xor_si128(c2[9483],_mm_xor_si128(c2[9493],_mm_xor_si128(c2[1574],_mm_xor_si128(c2[4901],_mm_xor_si128(c2[6881],_mm_xor_si128(c2[6879],_mm_xor_si128(c2[7542],_mm_xor_si128(c2[2287],_mm_xor_si128(c2[4272],_mm_xor_si128(c2[2288],_mm_xor_si128(c2[10235],_mm_xor_si128(c2[8918],_mm_xor_si128(c2[6936],_mm_xor_si128(c2[4960],_mm_xor_si128(c2[1681],_mm_xor_si128(c2[10264],_mm_xor_si128(c2[5649],_mm_xor_si128(c2[8982],_mm_xor_si128(c2[5678],_mm_xor_si128(c2[6999],_mm_xor_si128(c2[1094],_mm_xor_si128(c2[5054],_mm_xor_si128(c2[6363],_mm_xor_si128(c2[6391],_mm_xor_si128(c2[5083],_mm_xor_si128(c2[2440],_mm_xor_si128(c2[7746],_mm_xor_si128(c2[7742],_mm_xor_si128(c2[7085],_mm_xor_si128(c2[6463],_mm_xor_si128(c2[1844],_mm_xor_si128(c2[1840],_mm_xor_si128(c2[9786],_mm_xor_si128(c2[10440],_mm_xor_si128(c2[9127],_mm_xor_si128(c2[8503],_mm_xor_si128(c2[3873],_mm_xor_si128(c2[3882],_mm_xor_si128(c2[7874],_mm_xor_si128(c2[5887],_mm_xor_si128(c2[9843],_mm_xor_si128(c2[7891],_mm_xor_si128(c2[7236],c2[9216]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 21
     d2[315]=_mm_xor_si128(c2[3342],_mm_xor_si128(c2[6757],_mm_xor_si128(c2[5113],_mm_xor_si128(c2[1264],c2[5923]))));

//row: 22
     d2[330]=_mm_xor_si128(c2[5941],_mm_xor_si128(c2[10262],_mm_xor_si128(c2[9637],c2[1841])));

//row: 23
     d2[345]=_mm_xor_si128(c2[5981],_mm_xor_si128(c2[9967],_mm_xor_si128(c2[3607],c2[5172])));

//row: 24
     d2[360]=_mm_xor_si128(c2[672],_mm_xor_si128(c2[6609],_mm_xor_si128(c2[4620],_mm_xor_si128(c2[6611],_mm_xor_si128(c2[2],_mm_xor_si128(c2[8612],_mm_xor_si128(c2[9273],_mm_xor_si128(c2[695],_mm_xor_si128(c2[5351],_mm_xor_si128(c2[4023],_mm_xor_si128(c2[7322],_mm_xor_si128(c2[102],_mm_xor_si128(c2[1422],_mm_xor_si128(c2[8023],_mm_xor_si128(c2[1421],_mm_xor_si128(c2[4742],_mm_xor_si128(c2[793],_mm_xor_si128(c2[4082],_mm_xor_si128(c2[1440],_mm_xor_si128(c2[9398],_mm_xor_si128(c2[6761],_mm_xor_si128(c2[4113],_mm_xor_si128(c2[8768],_mm_xor_si128(c2[10090],_mm_xor_si128(c2[3486],_mm_xor_si128(c2[4179],_mm_xor_si128(c2[8804],_mm_xor_si128(c2[2850],_mm_xor_si128(c2[4214],_mm_xor_si128(c2[4209],_mm_xor_si128(c2[6849],_mm_xor_si128(c2[10176],_mm_xor_si128(c2[1597],_mm_xor_si128(c2[1595],_mm_xor_si128(c2[7562],_mm_xor_si128(c2[9547],_mm_xor_si128(c2[7563],_mm_xor_si128(c2[4951],_mm_xor_si128(c2[3634],_mm_xor_si128(c2[1652],_mm_xor_si128(c2[8259],_mm_xor_si128(c2[6971],_mm_xor_si128(c2[4980],_mm_xor_si128(c2[365],_mm_xor_si128(c2[3698],_mm_xor_si128(c2[394],_mm_xor_si128(c2[1715],_mm_xor_si128(c2[6369],_mm_xor_si128(c2[10329],_mm_xor_si128(c2[1094],_mm_xor_si128(c2[1122],_mm_xor_si128(c2[10358],_mm_xor_si128(c2[7715],_mm_xor_si128(c2[2462],_mm_xor_si128(c2[2473],_mm_xor_si128(c2[1801],_mm_xor_si128(c2[1179],_mm_xor_si128(c2[7119],_mm_xor_si128(c2[7115],_mm_xor_si128(c2[4502],_mm_xor_si128(c2[5171],_mm_xor_si128(c2[3843],_mm_xor_si128(c2[3219],_mm_xor_si128(c2[9163],_mm_xor_si128(c2[9157],_mm_xor_si128(c2[2590],_mm_xor_si128(c2[603],_mm_xor_si128(c2[4574],_mm_xor_si128(c2[2622],_mm_xor_si128(c2[1952],c2[3932]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 25
     d2[375]=_mm_xor_si128(c2[7291],_mm_xor_si128(c2[8768],_mm_xor_si128(c2[7470],c2[3731])));

//row: 26
     d2[390]=_mm_xor_si128(c2[1990],_mm_xor_si128(c2[2048],_mm_xor_si128(c2[6070],c2[1776])));

//row: 27
     d2[405]=_mm_xor_si128(c2[3340],_mm_xor_si128(c2[5474],c2[6180]));

//row: 28
     d2[420]=_mm_xor_si128(c2[2],_mm_xor_si128(c2[7382],_mm_xor_si128(c2[5862],c2[9222])));

//row: 29
     d2[435]=_mm_xor_si128(c2[9914],_mm_xor_si128(c2[5292],_mm_xor_si128(c2[3303],_mm_xor_si128(c2[4634],_mm_xor_si128(c2[5294],_mm_xor_si128(c2[7295],_mm_xor_si128(c2[7956],_mm_xor_si128(c2[9277],_mm_xor_si128(c2[9937],_mm_xor_si128(c2[5324],_mm_xor_si128(c2[4034],_mm_xor_si128(c2[2706],_mm_xor_si128(c2[6005],_mm_xor_si128(c2[9344],_mm_xor_si128(c2[90],_mm_xor_si128(c2[6031],_mm_xor_si128(c2[6691],_mm_xor_si128(c2[3425],_mm_xor_si128(c2[10020],_mm_xor_si128(c2[2105],_mm_xor_si128(c2[2765],_mm_xor_si128(c2[8081],_mm_xor_si128(c2[5444],_mm_xor_si128(c2[2796],_mm_xor_si128(c2[7451],_mm_xor_si128(c2[8773],_mm_xor_si128(c2[1509],_mm_xor_si128(c2[2169],_mm_xor_si128(c2[2862],_mm_xor_si128(c2[7472],_mm_xor_si128(c2[873],_mm_xor_si128(c2[1533],_mm_xor_si128(c2[2882],_mm_xor_si128(c2[2892],_mm_xor_si128(c2[4872],_mm_xor_si128(c2[5532],_mm_xor_si128(c2[8859],_mm_xor_si128(c2[280],_mm_xor_si128(c2[278],_mm_xor_si128(c2[6245],_mm_xor_si128(c2[8230],_mm_xor_si128(c2[5586],_mm_xor_si128(c2[6246],_mm_xor_si128(c2[3634],_mm_xor_si128(c2[2317],_mm_xor_si128(c2[10234],_mm_xor_si128(c2[335],_mm_xor_si128(c2[5654],_mm_xor_si128(c2[3663],_mm_xor_si128(c2[8947],_mm_xor_si128(c2[9607],_mm_xor_si128(c2[2381],_mm_xor_si128(c2[9636],_mm_xor_si128(c2[10297],_mm_xor_si128(c2[398],_mm_xor_si128(c2[5052],_mm_xor_si128(c2[9012],_mm_xor_si128(c2[9661],_mm_xor_si128(c2[10321],_mm_xor_si128(c2[422],_mm_xor_si128(c2[10364],_mm_xor_si128(c2[9041],_mm_xor_si128(c2[6398],_mm_xor_si128(c2[1145],_mm_xor_si128(c2[1141],_mm_xor_si128(c2[10383],_mm_xor_si128(c2[484],_mm_xor_si128(c2[10421],_mm_xor_si128(c2[5802],_mm_xor_si128(c2[5138],_mm_xor_si128(c2[5798],_mm_xor_si128(c2[3185],_mm_xor_si128(c2[3854],_mm_xor_si128(c2[1866],_mm_xor_si128(c2[2526],_mm_xor_si128(c2[4507],_mm_xor_si128(c2[1902],_mm_xor_si128(c2[7831],_mm_xor_si128(c2[7840],_mm_xor_si128(c2[1273],_mm_xor_si128(c2[9845],_mm_xor_si128(c2[2582],_mm_xor_si128(c2[3242],_mm_xor_si128(c2[1290],_mm_xor_si128(c2[635],_mm_xor_si128(c2[1955],c2[2615]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 30
     d2[450]=_mm_xor_si128(c2[660],_mm_xor_si128(c2[6612],_mm_xor_si128(c2[3963],_mm_xor_si128(c2[4623],_mm_xor_si128(c2[5954],_mm_xor_si128(c2[6614],_mm_xor_si128(c2[6610],_mm_xor_si128(c2[8615],_mm_xor_si128(c2[8616],_mm_xor_si128(c2[9276],_mm_xor_si128(c2[38],_mm_xor_si128(c2[698],_mm_xor_si128(c2[5354],_mm_xor_si128(c2[4026],_mm_xor_si128(c2[6665],_mm_xor_si128(c2[7325],_mm_xor_si128(c2[90],_mm_xor_si128(c2[1410],_mm_xor_si128(c2[7351],_mm_xor_si128(c2[8011],_mm_xor_si128(c2[4745],_mm_xor_si128(c2[121],_mm_xor_si128(c2[781],_mm_xor_si128(c2[3425],_mm_xor_si128(c2[4085],_mm_xor_si128(c2[9401],_mm_xor_si128(c2[6764],_mm_xor_si128(c2[3456],_mm_xor_si128(c2[4116],_mm_xor_si128(c2[8771],_mm_xor_si128(c2[9433],_mm_xor_si128(c2[10093],_mm_xor_si128(c2[2829],_mm_xor_si128(c2[3489],_mm_xor_si128(c2[4182],_mm_xor_si128(c2[8132],_mm_xor_si128(c2[8792],_mm_xor_si128(c2[2193],_mm_xor_si128(c2[2853],_mm_xor_si128(c2[4202],_mm_xor_si128(c2[3552],_mm_xor_si128(c2[4212],_mm_xor_si128(c2[6192],_mm_xor_si128(c2[6852],_mm_xor_si128(c2[10179],_mm_xor_si128(c2[1600],_mm_xor_si128(c2[938],_mm_xor_si128(c2[1598],_mm_xor_si128(c2[7565],_mm_xor_si128(c2[8890],_mm_xor_si128(c2[9550],_mm_xor_si128(c2[6906],_mm_xor_si128(c2[7566],_mm_xor_si128(c2[4932],_mm_xor_si128(c2[4954],_mm_xor_si128(c2[3637],_mm_xor_si128(c2[995],_mm_xor_si128(c2[1655],_mm_xor_si128(c2[6974],_mm_xor_si128(c2[4983],_mm_xor_si128(c2[10267],_mm_xor_si128(c2[368],_mm_xor_si128(c2[3701],_mm_xor_si128(c2[10296],_mm_xor_si128(c2[397],_mm_xor_si128(c2[1058],_mm_xor_si128(c2[1718],_mm_xor_si128(c2[6991],_mm_xor_si128(c2[6372],_mm_xor_si128(c2[9672],_mm_xor_si128(c2[10332],_mm_xor_si128(c2[422],_mm_xor_si128(c2[1082],_mm_xor_si128(c2[1110],_mm_xor_si128(c2[10361],_mm_xor_si128(c2[7058],_mm_xor_si128(c2[7718],_mm_xor_si128(c2[2465],_mm_xor_si128(c2[2461],_mm_xor_si128(c2[1144],_mm_xor_si128(c2[1804],_mm_xor_si128(c2[1182],_mm_xor_si128(c2[6462],_mm_xor_si128(c2[7122],_mm_xor_si128(c2[6458],_mm_xor_si128(c2[7118],_mm_xor_si128(c2[4505],_mm_xor_si128(c2[4514],_mm_xor_si128(c2[5174],_mm_xor_si128(c2[3186],_mm_xor_si128(c2[3846],_mm_xor_si128(c2[3222],_mm_xor_si128(c2[9151],_mm_xor_si128(c2[8500],_mm_xor_si128(c2[9160],_mm_xor_si128(c2[2593],_mm_xor_si128(c2[10505],_mm_xor_si128(c2[606],_mm_xor_si128(c2[3902],_mm_xor_si128(c2[4562],_mm_xor_si128(c2[2610],_mm_xor_si128(c2[1955],_mm_xor_si128(c2[3275],c2[3935])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 31
     d2[465]=_mm_xor_si128(c2[3964],_mm_xor_si128(c2[2640],_mm_xor_si128(c2[9901],_mm_xor_si128(c2[8592],_mm_xor_si128(c2[7927],_mm_xor_si128(c2[6603],_mm_xor_si128(c2[9903],_mm_xor_si128(c2[7934],_mm_xor_si128(c2[8594],_mm_xor_si128(c2[1360],_mm_xor_si128(c2[36],_mm_xor_si128(c2[2021],_mm_xor_si128(c2[697],_mm_xor_si128(c2[4002],_mm_xor_si128(c2[2018],_mm_xor_si128(c2[2678],_mm_xor_si128(c2[5974],_mm_xor_si128(c2[8643],_mm_xor_si128(c2[7334],_mm_xor_si128(c2[7330],_mm_xor_si128(c2[6006],_mm_xor_si128(c2[70],_mm_xor_si128(c2[9305],_mm_xor_si128(c2[3394],_mm_xor_si128(c2[2070],_mm_xor_si128(c2[4714],_mm_xor_si128(c2[3390],_mm_xor_si128(c2[756],_mm_xor_si128(c2[9331],_mm_xor_si128(c2[9991],_mm_xor_si128(c2[8049],_mm_xor_si128(c2[6725],_mm_xor_si128(c2[4085],_mm_xor_si128(c2[2761],_mm_xor_si128(c2[7389],_mm_xor_si128(c2[5405],_mm_xor_si128(c2[6065],_mm_xor_si128(c2[2131],_mm_xor_si128(c2[822],_mm_xor_si128(c2[10053],_mm_xor_si128(c2[8744],_mm_xor_si128(c2[7420],_mm_xor_si128(c2[6096],_mm_xor_si128(c2[1501],_mm_xor_si128(c2[192],_mm_xor_si128(c2[2823],_mm_xor_si128(c2[1514],_mm_xor_si128(c2[6793],_mm_xor_si128(c2[4809],_mm_xor_si128(c2[5469],_mm_xor_si128(c2[7471],_mm_xor_si128(c2[6162],_mm_xor_si128(c2[1537],_mm_xor_si128(c2[213],_mm_xor_si128(c2[6157],_mm_xor_si128(c2[4173],_mm_xor_si128(c2[4833],_mm_xor_si128(c2[3519],_mm_xor_si128(c2[7506],_mm_xor_si128(c2[6182],_mm_xor_si128(c2[7501],_mm_xor_si128(c2[6192],_mm_xor_si128(c2[10141],_mm_xor_si128(c2[8172],_mm_xor_si128(c2[8832],_mm_xor_si128(c2[2924],_mm_xor_si128(c2[1600],_mm_xor_si128(c2[4904],_mm_xor_si128(c2[3580],_mm_xor_si128(c2[4902],_mm_xor_si128(c2[3578],_mm_xor_si128(c2[310],_mm_xor_si128(c2[9545],_mm_xor_si128(c2[2280],_mm_xor_si128(c2[971],_mm_xor_si128(c2[311],_mm_xor_si128(c2[8886],_mm_xor_si128(c2[9546],_mm_xor_si128(c2[8258],_mm_xor_si128(c2[6934],_mm_xor_si128(c2[6941],_mm_xor_si128(c2[5617],_mm_xor_si128(c2[4959],_mm_xor_si128(c2[2975],_mm_xor_si128(c2[3635],_mm_xor_si128(c2[10263],_mm_xor_si128(c2[8954],_mm_xor_si128(c2[8287],_mm_xor_si128(c2[6963],_mm_xor_si128(c2[3672],_mm_xor_si128(c2[1688],_mm_xor_si128(c2[2348],_mm_xor_si128(c2[6990],_mm_xor_si128(c2[5681],_mm_xor_si128(c2[3701],_mm_xor_si128(c2[2377],_mm_xor_si128(c2[5022],_mm_xor_si128(c2[3038],_mm_xor_si128(c2[3698],_mm_xor_si128(c2[9661],_mm_xor_si128(c2[8352],_mm_xor_si128(c2[3062],_mm_xor_si128(c2[1753],_mm_xor_si128(c2[4386],_mm_xor_si128(c2[2402],_mm_xor_si128(c2[3062],_mm_xor_si128(c2[4414],_mm_xor_si128(c2[3090],_mm_xor_si128(c2[3091],_mm_xor_si128(c2[1782],_mm_xor_si128(c2[463],_mm_xor_si128(c2[9698],_mm_xor_si128(c2[5769],_mm_xor_si128(c2[4445],_mm_xor_si128(c2[5765],_mm_xor_si128(c2[4441],_mm_xor_si128(c2[5108],_mm_xor_si128(c2[3124],_mm_xor_si128(c2[3784],_mm_xor_si128(c2[4471],_mm_xor_si128(c2[3162],_mm_xor_si128(c2[10411],_mm_xor_si128(c2[9102],_mm_xor_si128(c2[10422],_mm_xor_si128(c2[8438],_mm_xor_si128(c2[9098],_mm_xor_si128(c2[7809],_mm_xor_si128(c2[6485],_mm_xor_si128(c2[8463],_mm_xor_si128(c2[7154],_mm_xor_si128(c2[7150],_mm_xor_si128(c2[5166],_mm_xor_si128(c2[5826],_mm_xor_si128(c2[6511],_mm_xor_si128(c2[5202],_mm_xor_si128(c2[1896],_mm_xor_si128(c2[572],_mm_xor_si128(c2[1890],_mm_xor_si128(c2[581],_mm_xor_si128(c2[5882],_mm_xor_si128(c2[4573],_mm_xor_si128(c2[3910],_mm_xor_si128(c2[2586],_mm_xor_si128(c2[7866],_mm_xor_si128(c2[5882],_mm_xor_si128(c2[6542],_mm_xor_si128(c2[5914],_mm_xor_si128(c2[4590],_mm_xor_si128(c2[5259],_mm_xor_si128(c2[3935],_mm_xor_si128(c2[7239],_mm_xor_si128(c2[5255],c2[5915]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 32
     d2[480]=_mm_xor_si128(c2[7266],_mm_xor_si128(c2[2644],_mm_xor_si128(c2[10],_mm_xor_si128(c2[670],_mm_xor_si128(c2[1986],_mm_xor_si128(c2[2646],_mm_xor_si128(c2[4626],_mm_xor_si128(c2[4662],_mm_xor_si128(c2[4663],_mm_xor_si128(c2[5323],_mm_xor_si128(c2[6644],_mm_xor_si128(c2[7304],_mm_xor_si128(c2[1386],_mm_xor_si128(c2[73],_mm_xor_si128(c2[2712],_mm_xor_si128(c2[3372],_mm_xor_si128(c2[6696],_mm_xor_si128(c2[8016],_mm_xor_si128(c2[3398],_mm_xor_si128(c2[4058],_mm_xor_si128(c2[792],_mm_xor_si128(c2[6727],_mm_xor_si128(c2[7387],_mm_xor_si128(c2[10031],_mm_xor_si128(c2[132],_mm_xor_si128(c2[5433],_mm_xor_si128(c2[2796],_mm_xor_si128(c2[10062],_mm_xor_si128(c2[163],_mm_xor_si128(c2[4803],_mm_xor_si128(c2[5465],_mm_xor_si128(c2[6125],_mm_xor_si128(c2[9420],_mm_xor_si128(c2[10080],_mm_xor_si128(c2[214],_mm_xor_si128(c2[4179],_mm_xor_si128(c2[4839],_mm_xor_si128(c2[8799],_mm_xor_si128(c2[9459],_mm_xor_si128(c2[249],_mm_xor_si128(c2[10143],_mm_xor_si128(c2[244],_mm_xor_si128(c2[2224],_mm_xor_si128(c2[2884],_mm_xor_si128(c2[6211],_mm_xor_si128(c2[8191],_mm_xor_si128(c2[7544],_mm_xor_si128(c2[8204],_mm_xor_si128(c2[3612],_mm_xor_si128(c2[4922],_mm_xor_si128(c2[5582],_mm_xor_si128(c2[2953],_mm_xor_si128(c2[3613],_mm_xor_si128(c2[1001],_mm_xor_si128(c2[10243],_mm_xor_si128(c2[7601],_mm_xor_si128(c2[8261],_mm_xor_si128(c2[3006],_mm_xor_si128(c2[1030],_mm_xor_si128(c2[6314],_mm_xor_si128(c2[6974],_mm_xor_si128(c2[9606],_mm_xor_si128(c2[10292],_mm_xor_si128(c2[6343],_mm_xor_si128(c2[7003],_mm_xor_si128(c2[7664],_mm_xor_si128(c2[8324],_mm_xor_si128(c2[2404],_mm_xor_si128(c2[5704],_mm_xor_si128(c2[6364],_mm_xor_si128(c2[7028],_mm_xor_si128(c2[7688],_mm_xor_si128(c2[5049],_mm_xor_si128(c2[7716],_mm_xor_si128(c2[6393],_mm_xor_si128(c2[3090],_mm_xor_si128(c2[3750],_mm_xor_si128(c2[9071],_mm_xor_si128(c2[9067],_mm_xor_si128(c2[7750],_mm_xor_si128(c2[8410],_mm_xor_si128(c2[7773],_mm_xor_si128(c2[2494],_mm_xor_si128(c2[3154],_mm_xor_si128(c2[2490],_mm_xor_si128(c2[3150],_mm_xor_si128(c2[552],_mm_xor_si128(c2[546],_mm_xor_si128(c2[1206],_mm_xor_si128(c2[9792],_mm_xor_si128(c2[10452],_mm_xor_si128(c2[9813],_mm_xor_si128(c2[5198],_mm_xor_si128(c2[4532],_mm_xor_si128(c2[5192],_mm_xor_si128(c2[9184],_mm_xor_si128(c2[6552],_mm_xor_si128(c2[7212],_mm_xor_si128(c2[10508],_mm_xor_si128(c2[609],_mm_xor_si128(c2[9216],_mm_xor_si128(c2[8561],_mm_xor_si128(c2[9881],c2[10541])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 33
     d2[495]=_mm_xor_si128(c2[4662],_mm_xor_si128(c2[2708],_mm_xor_si128(c2[8260],c2[1294])));

//row: 34
     d2[510]=_mm_xor_si128(c2[670],_mm_xor_si128(c2[8804],_mm_xor_si128(c2[9698],c2[3161])));

//row: 35
     d2[525]=_mm_xor_si128(c2[7274],_mm_xor_si128(c2[2652],_mm_xor_si128(c2[663],_mm_xor_si128(c2[2654],_mm_xor_si128(c2[4655],_mm_xor_si128(c2[5316],_mm_xor_si128(c2[7297],_mm_xor_si128(c2[4664],_mm_xor_si128(c2[1394],_mm_xor_si128(c2[66],_mm_xor_si128(c2[3365],_mm_xor_si128(c2[6704],_mm_xor_si128(c2[8024],_mm_xor_si128(c2[4051],_mm_xor_si128(c2[785],_mm_xor_si128(c2[7380],_mm_xor_si128(c2[125],_mm_xor_si128(c2[5441],_mm_xor_si128(c2[2804],_mm_xor_si128(c2[156],_mm_xor_si128(c2[4811],_mm_xor_si128(c2[6133],_mm_xor_si128(c2[10088],_mm_xor_si128(c2[9430],_mm_xor_si128(c2[222],_mm_xor_si128(c2[4832],_mm_xor_si128(c2[9452],_mm_xor_si128(c2[242],_mm_xor_si128(c2[252],_mm_xor_si128(c2[2892],_mm_xor_si128(c2[6219],_mm_xor_si128(c2[8199],_mm_xor_si128(c2[8197],_mm_xor_si128(c2[3605],_mm_xor_si128(c2[5590],_mm_xor_si128(c2[3606],_mm_xor_si128(c2[994],_mm_xor_si128(c2[10236],_mm_xor_si128(c2[8254],_mm_xor_si128(c2[3014],_mm_xor_si128(c2[1023],_mm_xor_si128(c2[6967],_mm_xor_si128(c2[1029],_mm_xor_si128(c2[10300],_mm_xor_si128(c2[6996],_mm_xor_si128(c2[8317],_mm_xor_si128(c2[2412],_mm_xor_si128(c2[6372],_mm_xor_si128(c2[7681],_mm_xor_si128(c2[7724],_mm_xor_si128(c2[6401],_mm_xor_si128(c2[3758],_mm_xor_si128(c2[9064],_mm_xor_si128(c2[9060],_mm_xor_si128(c2[8403],_mm_xor_si128(c2[7781],_mm_xor_si128(c2[3162],_mm_xor_si128(c2[3158],_mm_xor_si128(c2[545],_mm_xor_si128(c2[1214],_mm_xor_si128(c2[10445],_mm_xor_si128(c2[9821],_mm_xor_si128(c2[5191],_mm_xor_si128(c2[5200],_mm_xor_si128(c2[9192],_mm_xor_si128(c2[7205],_mm_xor_si128(c2[602],_mm_xor_si128(c2[9224],_mm_xor_si128(c2[8554],c2[10534])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 36
     d2[540]=_mm_xor_si128(c2[7260],_mm_xor_si128(c2[10332],_mm_xor_si128(c2[7052],c2[3186])));

//row: 37
     d2[555]=_mm_xor_si128(c2[5283],_mm_xor_si128(c2[5943],_mm_xor_si128(c2[1321],_mm_xor_si128(c2[9906],_mm_xor_si128(c2[1323],_mm_xor_si128(c2[2679],_mm_xor_si128(c2[3339],_mm_xor_si128(c2[4000],_mm_xor_si128(c2[5981],_mm_xor_si128(c2[7293],_mm_xor_si128(c2[9962],_mm_xor_si128(c2[63],_mm_xor_si128(c2[9309],_mm_xor_si128(c2[2049],_mm_xor_si128(c2[4713],_mm_xor_si128(c2[5373],_mm_xor_si128(c2[6693],_mm_xor_si128(c2[2735],_mm_xor_si128(c2[10028],_mm_xor_si128(c2[6064],_mm_xor_si128(c2[9368],_mm_xor_si128(c2[3450],_mm_xor_si128(c2[4110],_mm_xor_si128(c2[1473],_mm_xor_si128(c2[9399],_mm_xor_si128(c2[2820],_mm_xor_si128(c2[3480],_mm_xor_si128(c2[4802],_mm_xor_si128(c2[8772],_mm_xor_si128(c2[9450],_mm_xor_si128(c2[3516],_mm_xor_si128(c2[8136],_mm_xor_si128(c2[9485],_mm_xor_si128(c2[9480],_mm_xor_si128(c2[1561],_mm_xor_si128(c2[4243],_mm_xor_si128(c2[4903],_mm_xor_si128(c2[6883],_mm_xor_si128(c2[6881],_mm_xor_si128(c2[1629],_mm_xor_si128(c2[2289],_mm_xor_si128(c2[4274],_mm_xor_si128(c2[2290],_mm_xor_si128(c2[9577],_mm_xor_si128(c2[10237],_mm_xor_si128(c2[8920],_mm_xor_si128(c2[6938],_mm_xor_si128(c2[1023],_mm_xor_si128(c2[1683],_mm_xor_si128(c2[10266],_mm_xor_si128(c2[5651],_mm_xor_si128(c2[8324],_mm_xor_si128(c2[8984],_mm_xor_si128(c2[5680],_mm_xor_si128(c2[7001],_mm_xor_si128(c2[8322],_mm_xor_si128(c2[1081],_mm_xor_si128(c2[5041],_mm_xor_si128(c2[6365],_mm_xor_si128(c2[5733],_mm_xor_si128(c2[6393],_mm_xor_si128(c2[5070],_mm_xor_si128(c2[2442],_mm_xor_si128(c2[7088],_mm_xor_si128(c2[7748],_mm_xor_si128(c2[7744],_mm_xor_si128(c2[7087],_mm_xor_si128(c2[6450],_mm_xor_si128(c2[1831],_mm_xor_si128(c2[1842],_mm_xor_si128(c2[9128],_mm_xor_si128(c2[9788],_mm_xor_si128(c2[10442],_mm_xor_si128(c2[9129],_mm_xor_si128(c2[7830],_mm_xor_si128(c2[8490],_mm_xor_si128(c2[3875],_mm_xor_si128(c2[3884],_mm_xor_si128(c2[7201],_mm_xor_si128(c2[7861],_mm_xor_si128(c2[5889],_mm_xor_si128(c2[9845],_mm_xor_si128(c2[7233],_mm_xor_si128(c2[7893],_mm_xor_si128(c2[7238],c2[9218])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 38
     d2[570]=_mm_xor_si128(c2[5947],_mm_xor_si128(c2[6875],_mm_xor_si128(c2[6901],c2[8288])));

//row: 39
     d2[585]=_mm_xor_si128(c2[2017],_mm_xor_si128(c2[8021],_mm_xor_si128(c2[5500],c2[3213])));

//row: 40
     d2[600]=_mm_xor_si128(c2[2640],_mm_xor_si128(c2[4866],c2[9751]));

//row: 41
     d2[615]=_mm_xor_si128(c2[3333],_mm_xor_si128(c2[8681],_mm_xor_si128(c2[4903],c2[5821])));

//row: 42
     d2[630]=_mm_xor_si128(c2[9912],_mm_xor_si128(c2[5290],_mm_xor_si128(c2[2641],_mm_xor_si128(c2[3301],_mm_xor_si128(c2[4632],_mm_xor_si128(c2[5292],_mm_xor_si128(c2[9253],_mm_xor_si128(c2[7293],_mm_xor_si128(c2[7294],_mm_xor_si128(c2[7954],_mm_xor_si128(c2[9275],_mm_xor_si128(c2[9935],_mm_xor_si128(c2[4032],_mm_xor_si128(c2[2704],_mm_xor_si128(c2[5343],_mm_xor_si128(c2[6003],_mm_xor_si128(c2[9342],_mm_xor_si128(c2[103],_mm_xor_si128(c2[6044],_mm_xor_si128(c2[6704],_mm_xor_si128(c2[3423],_mm_xor_si128(c2[9373],_mm_xor_si128(c2[10033],_mm_xor_si128(c2[2103],_mm_xor_si128(c2[2763],_mm_xor_si128(c2[6730],_mm_xor_si128(c2[8079],_mm_xor_si128(c2[5442],_mm_xor_si128(c2[2134],_mm_xor_si128(c2[2794],_mm_xor_si128(c2[7449],_mm_xor_si128(c2[8111],_mm_xor_si128(c2[8771],_mm_xor_si128(c2[1507],_mm_xor_si128(c2[2167],_mm_xor_si128(c2[2860],_mm_xor_si128(c2[6810],_mm_xor_si128(c2[7470],_mm_xor_si128(c2[871],_mm_xor_si128(c2[1531],_mm_xor_si128(c2[2880],_mm_xor_si128(c2[2230],_mm_xor_si128(c2[2890],_mm_xor_si128(c2[4870],_mm_xor_si128(c2[5530],_mm_xor_si128(c2[8857],_mm_xor_si128(c2[278],_mm_xor_si128(c2[10175],_mm_xor_si128(c2[276],_mm_xor_si128(c2[6243],_mm_xor_si128(c2[7568],_mm_xor_si128(c2[8228],_mm_xor_si128(c2[5584],_mm_xor_si128(c2[6244],_mm_xor_si128(c2[3632],_mm_xor_si128(c2[2315],_mm_xor_si128(c2[10232],_mm_xor_si128(c2[333],_mm_xor_si128(c2[5652],_mm_xor_si128(c2[3661],_mm_xor_si128(c2[8945],_mm_xor_si128(c2[9605],_mm_xor_si128(c2[2379],_mm_xor_si128(c2[8974],_mm_xor_si128(c2[9634],_mm_xor_si128(c2[10295],_mm_xor_si128(c2[396],_mm_xor_si128(c2[5050],_mm_xor_si128(c2[8350],_mm_xor_si128(c2[9010],_mm_xor_si128(c2[9674],_mm_xor_si128(c2[10334],_mm_xor_si128(c2[10362],_mm_xor_si128(c2[9039],_mm_xor_si128(c2[5736],_mm_xor_si128(c2[6396],_mm_xor_si128(c2[1143],_mm_xor_si128(c2[1154],_mm_xor_si128(c2[10381],_mm_xor_si128(c2[482],_mm_xor_si128(c2[10419],_mm_xor_si128(c2[5140],_mm_xor_si128(c2[5800],_mm_xor_si128(c2[5136],_mm_xor_si128(c2[5796],_mm_xor_si128(c2[3183],_mm_xor_si128(c2[3192],_mm_xor_si128(c2[3852],_mm_xor_si128(c2[1864],_mm_xor_si128(c2[2524],_mm_xor_si128(c2[1900],_mm_xor_si128(c2[7844],_mm_xor_si128(c2[7178],_mm_xor_si128(c2[7838],_mm_xor_si128(c2[1271],_mm_xor_si128(c2[9183],_mm_xor_si128(c2[9843],_mm_xor_si128(c2[2580],_mm_xor_si128(c2[3240],_mm_xor_si128(c2[1303],_mm_xor_si128(c2[633],_mm_xor_si128(c2[1953],c2[2613]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 43
     d2[645]=_mm_xor_si128(c2[3301],_mm_xor_si128(c2[9253],_mm_xor_si128(c2[7264],_mm_xor_si128(c2[8580],_mm_xor_si128(c2[9240],_mm_xor_si128(c2[697],_mm_xor_si128(c2[1358],_mm_xor_si128(c2[2679],_mm_xor_si128(c2[3339],_mm_xor_si128(c2[3991],_mm_xor_si128(c2[7980],_mm_xor_si128(c2[6667],_mm_xor_si128(c2[9966],_mm_xor_si128(c2[2731],_mm_xor_si128(c2[4051],_mm_xor_si128(c2[9992],_mm_xor_si128(c2[93],_mm_xor_si128(c2[7386],_mm_xor_si128(c2[3422],_mm_xor_si128(c2[6066],_mm_xor_si128(c2[6726],_mm_xor_si128(c2[1483],_mm_xor_si128(c2[9390],_mm_xor_si128(c2[6757],_mm_xor_si128(c2[853],_mm_xor_si128(c2[2160],_mm_xor_si128(c2[5470],_mm_xor_si128(c2[6130],_mm_xor_si128(c2[6823],_mm_xor_si128(c2[874],_mm_xor_si128(c2[4834],_mm_xor_si128(c2[5494],_mm_xor_si128(c2[6843],_mm_xor_si128(c2[6853],_mm_xor_si128(c2[8833],_mm_xor_si128(c2[9493],_mm_xor_si128(c2[2261],_mm_xor_si128(c2[4241],_mm_xor_si128(c2[4239],_mm_xor_si128(c2[10206],_mm_xor_si128(c2[1632],_mm_xor_si128(c2[9547],_mm_xor_si128(c2[10207],_mm_xor_si128(c2[7595],_mm_xor_si128(c2[6278],_mm_xor_si128(c2[3636],_mm_xor_si128(c2[4296],_mm_xor_si128(c2[9600],_mm_xor_si128(c2[7624],_mm_xor_si128(c2[2349],_mm_xor_si128(c2[3009],_mm_xor_si128(c2[6342],_mm_xor_si128(c2[3038],_mm_xor_si128(c2[3699],_mm_xor_si128(c2[4359],_mm_xor_si128(c2[9013],_mm_xor_si128(c2[2414],_mm_xor_si128(c2[3063],_mm_xor_si128(c2[3723],_mm_xor_si128(c2[3751],_mm_xor_si128(c2[2443],_mm_xor_si128(c2[10359],_mm_xor_si128(c2[5106],_mm_xor_si128(c2[5102],_mm_xor_si128(c2[3785],_mm_xor_si128(c2[4445],_mm_xor_si128(c2[10387],_mm_xor_si128(c2[3823],_mm_xor_si128(c2[9763],_mm_xor_si128(c2[9099],_mm_xor_si128(c2[9759],_mm_xor_si128(c2[7146],_mm_xor_si128(c2[7800],_mm_xor_si128(c2[5827],_mm_xor_si128(c2[6487],_mm_xor_si128(c2[1203],_mm_xor_si128(c2[5863],_mm_xor_si128(c2[1233],_mm_xor_si128(c2[1242],_mm_xor_si128(c2[5234],_mm_xor_si128(c2[3247],_mm_xor_si128(c2[6543],_mm_xor_si128(c2[7203],_mm_xor_si128(c2[5251],_mm_xor_si128(c2[4596],_mm_xor_si128(c2[5916],c2[6576]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 44
     d2[660]=_mm_xor_si128(c2[7262],_mm_xor_si128(c2[2640],_mm_xor_si128(c2[666],_mm_xor_si128(c2[2642],_mm_xor_si128(c2[9911],_mm_xor_si128(c2[4658],_mm_xor_si128(c2[5319],_mm_xor_si128(c2[7300],_mm_xor_si128(c2[1382],_mm_xor_si128(c2[69],_mm_xor_si128(c2[3368],_mm_xor_si128(c2[6692],_mm_xor_si128(c2[8012],_mm_xor_si128(c2[4054],_mm_xor_si128(c2[788],_mm_xor_si128(c2[7383],_mm_xor_si128(c2[128],_mm_xor_si128(c2[5444],_mm_xor_si128(c2[2792],_mm_xor_si128(c2[159],_mm_xor_si128(c2[4814],_mm_xor_si128(c2[6121],_mm_xor_si128(c2[10091],_mm_xor_si128(c2[210],_mm_xor_si128(c2[4835],_mm_xor_si128(c2[9455],_mm_xor_si128(c2[2203],_mm_xor_si128(c2[245],_mm_xor_si128(c2[240],_mm_xor_si128(c2[2880],_mm_xor_si128(c2[6222],_mm_xor_si128(c2[8202],_mm_xor_si128(c2[8200],_mm_xor_si128(c2[7541],_mm_xor_si128(c2[3608],_mm_xor_si128(c2[5593],_mm_xor_si128(c2[3609],_mm_xor_si128(c2[997],_mm_xor_si128(c2[10239],_mm_xor_si128(c2[8257],_mm_xor_si128(c2[3002],_mm_xor_si128(c2[1026],_mm_xor_si128(c2[6970],_mm_xor_si128(c2[10303],_mm_xor_si128(c2[6999],_mm_xor_si128(c2[8320],_mm_xor_si128(c2[2400],_mm_xor_si128(c2[6360],_mm_xor_si128(c2[7684],_mm_xor_si128(c2[7712],_mm_xor_si128(c2[6404],_mm_xor_si128(c2[3761],_mm_xor_si128(c2[9067],_mm_xor_si128(c2[9063],_mm_xor_si128(c2[8406],_mm_xor_si128(c2[7784],_mm_xor_si128(c2[3150],_mm_xor_si128(c2[3161],_mm_xor_si128(c2[548],_mm_xor_si128(c2[1202],_mm_xor_si128(c2[10448],_mm_xor_si128(c2[9824],_mm_xor_si128(c2[5194],_mm_xor_si128(c2[5203],_mm_xor_si128(c2[9180],_mm_xor_si128(c2[7208],_mm_xor_si128(c2[605],_mm_xor_si128(c2[9212],_mm_xor_si128(c2[8557],c2[10537])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));

//row: 45
     d2[675]=_mm_xor_si128(c2[701],_mm_xor_si128(c2[1507],c2[8885]));
  }
}