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

141 lines
28 KiB
C

#include "PHY/sse_intrin.h"
#define scalar_xor(a,b) ((a)^(b))
// generated code for Zc=4, byte encoding
static inline __attribute__ ((no_sanitize("address", "undefined"))) 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]))))))))))))))))))))))))))))))))));
}
}