Files

141 lines
28 KiB
C

#include "PHY/sse_intrin.h"
#define scalar_xor(a,b) ((a)^(b))
// generated code for Zc=2, byte encoding
static inline __attribute__ ((no_sanitize("address", "undefined"))) void ldpc_BG2_Zc2_byte(uint8_t *c,uint8_t *d) {
uint8_t *csimd=(uint8_t *)c,*dsimd=(uint8_t *)d;
uint8_t *c2,*d2;
int i2;
for (i2=0; i2<2; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))));
//row: 1
d2[2]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))))))))));
//row: 2
d2[4]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[6]=scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],c2[37]))))))))))))))))))))))))))))))))));
//row: 4
d2[8]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],c2[36]))))))))))))))))))))))))))))))))));
//row: 5
d2[10]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],c2[36]))))))))))))))))))))))))))))))))))));
//row: 6
d2[12]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[37],c2[36]))))))))))))))))))))))))))))))))))));
//row: 7
d2[14]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],c2[37]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[16]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[18]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[36],c2[36])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[20]=scalar_xor(c2[1],scalar_xor(c2[5],scalar_xor(c2[24],c2[29])));
//row: 11
d2[22]=scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],c2[36])))))))))))))))))))))))))))))))))))));
//row: 12
d2[24]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))))))))))));
//row: 13
d2[26]=scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],c2[37])))))))))))))))))))))))))))))))))))));
//row: 14
d2[28]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],c2[37])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[30]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[36],c2[36]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[32]=scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[37],c2[36])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[34]=scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[37],c2[37])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[36]=scalar_xor(c2[0],scalar_xor(c2[24],c2[28]));
//row: 19
d2[38]=scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[37],scalar_xor(c2[36],c2[36]))))))))))))))))))))))))))));
//row: 20
d2[40]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],c2[36]))))))))))))))))))))))))))))))))));
//row: 21
d2[42]=scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],c2[37]))))))))))))))))))))))))))))))))))));
//row: 22
d2[44]=scalar_xor(c2[4],c2[9]);
//row: 23
d2[46]=scalar_xor(c2[1],scalar_xor(c2[13],c2[20]));
//row: 24
d2[48]=scalar_xor(c2[4],scalar_xor(c2[9],c2[36]));
//row: 25
d2[50]=scalar_xor(c2[0],c2[20]);
//row: 26
d2[52]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],c2[37])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[54]=scalar_xor(c2[0],c2[25]);
//row: 28
d2[56]=scalar_xor(c2[4],scalar_xor(c2[9],c2[21]));
//row: 29
d2[58]=scalar_xor(c2[0],c2[16]);
//row: 30
d2[60]=scalar_xor(c2[9],scalar_xor(c2[20],scalar_xor(c2[29],c2[36])));
//row: 31
d2[62]=scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],c2[36])))))))))))))))))))))))))))))))))));
//row: 32
d2[64]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[66]=scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[37],scalar_xor(c2[36],c2[36]))))))))))))))))))))))))))));
//row: 34
d2[68]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],c2[37]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[70]=scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],c2[36]))))))))))))))))))))))))))))))))));
//row: 36
d2[72]=scalar_xor(c2[0],scalar_xor(c2[8],c2[28]));
//row: 37
d2[74]=scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[1],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[12],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[37],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],c2[36])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[76]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))))))))))));
//row: 39
d2[78]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[80]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[8],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[16],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[21],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[28],scalar_xor(c2[28],scalar_xor(c2[29],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[32],scalar_xor(c2[32],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[36],c2[37]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[82]=scalar_xor(c2[1],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[0],scalar_xor(c2[5],scalar_xor(c2[4],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[5],scalar_xor(c2[8],scalar_xor(c2[9],scalar_xor(c2[9],scalar_xor(c2[12],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[13],scalar_xor(c2[16],scalar_xor(c2[17],scalar_xor(c2[17],scalar_xor(c2[20],scalar_xor(c2[21],scalar_xor(c2[21],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[25],scalar_xor(c2[24],scalar_xor(c2[29],scalar_xor(c2[29],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[33],scalar_xor(c2[37],scalar_xor(c2[36],scalar_xor(c2[37],c2[37]))))))))))))))))))))))))))))))))));
}
}