Files
openairinterface5g/openair1/PHY/CODING/nrLDPC_encoder/ldpc_BG2_Zc256_byte.c
T
Raymond Knopp a7bc282302 First-level of support for new aarch64 machines
Testing on Neoverse N1 (Ampere 3GHz). Tested only on a subset of phy-simulators.

- Changes:
- use SIMDE consistently
- adaptations of LDPC decoder generator for ARMv8 performance
- SIMDe modifications of Intel CRC to allow for aarch64 build.
  optimizations for 128-bit to improve performance of LDPC encode/decode
  on aarch64 (Neoverse 1)
- added BG2 files for 128-bit ldpc encoder (aarch64)
- testing on Xeon
- testing on x86
- minor changes to build/run on x86
- change in crc.h after returning to aarch64
- removed some warning in ldpc decoder generator for x86_64
- char
- Delete irrelevant constants
- Correctly declare variables
- Define stdbool for all architectures
- Remove definition of _MM_SHUFFLE and use SIMDE_MM_SHUFFLE
- Remove commented code
- Fix CMakeLists.txt
- Include SIMDE avx2 functions in tools_defs.h
2023-09-13 17:19:20 +02:00

142 lines
46 KiB
C

#ifdef __AVX2__
#include "PHY/sse_intrin.h"
// generated code for Zc=256, byte encoding
static inline __attribute__ ((no_sanitize("address", "undefined"))) void ldpc_BG2_Zc256_byte(uint8_t *c,uint8_t *d) {
simde__m256i *csimd=(simde__m256i *)c,*dsimd=(simde__m256i *)d;
simde__m256i *c2,*d2;
int i2;
for (i2=0; i2<8; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=simde_mm256_xor_si256(c2[1280],simde_mm256_xor_si256(c2[965],simde_mm256_xor_si256(c2[2562],simde_mm256_xor_si256(c2[3219],simde_mm256_xor_si256(c2[2739],simde_mm256_xor_si256(c2[1136],simde_mm256_xor_si256(c2[1798],simde_mm256_xor_si256(c2[4033],simde_mm256_xor_si256(c2[4048],simde_mm256_xor_si256(c2[853],simde_mm256_xor_si256(c2[1809],simde_mm256_xor_si256(c2[4551],simde_mm256_xor_si256(c2[3105],simde_mm256_xor_si256(c2[4708],simde_mm256_xor_si256(c2[4563],simde_mm256_xor_si256(c2[1203],simde_mm256_xor_si256(c2[4581],simde_mm256_xor_si256(c2[263],simde_mm256_xor_si256(c2[2662],simde_mm256_xor_si256(c2[4436],simde_mm256_xor_si256(c2[3473],simde_mm256_xor_si256(c2[5094],simde_mm256_xor_si256(c2[2535],simde_mm256_xor_si256(c2[2848],simde_mm256_xor_si256(c2[2070],simde_mm256_xor_si256(c2[4471],c2[5107]))))))))))))))))))))))))));
//row: 1
d2[8]=simde_mm256_xor_si256(c2[1440],simde_mm256_xor_si256(c2[1280],simde_mm256_xor_si256(c2[965],simde_mm256_xor_si256(c2[2562],simde_mm256_xor_si256(c2[3379],simde_mm256_xor_si256(c2[3219],simde_mm256_xor_si256(c2[2739],simde_mm256_xor_si256(c2[1136],simde_mm256_xor_si256(c2[1958],simde_mm256_xor_si256(c2[1798],simde_mm256_xor_si256(c2[4033],simde_mm256_xor_si256(c2[4208],simde_mm256_xor_si256(c2[4048],simde_mm256_xor_si256(c2[853],simde_mm256_xor_si256(c2[1809],simde_mm256_xor_si256(c2[4551],simde_mm256_xor_si256(c2[3105],simde_mm256_xor_si256(c2[4708],simde_mm256_xor_si256(c2[4563],simde_mm256_xor_si256(c2[1203],simde_mm256_xor_si256(c2[4741],simde_mm256_xor_si256(c2[4581],simde_mm256_xor_si256(c2[263],simde_mm256_xor_si256(c2[2662],simde_mm256_xor_si256(c2[4436],simde_mm256_xor_si256(c2[3473],simde_mm256_xor_si256(c2[5094],simde_mm256_xor_si256(c2[2535],simde_mm256_xor_si256(c2[2848],simde_mm256_xor_si256(c2[2230],simde_mm256_xor_si256(c2[2070],simde_mm256_xor_si256(c2[4471],c2[5107]))))))))))))))))))))))))))))))));
//row: 2
d2[16]=simde_mm256_xor_si256(c2[1440],simde_mm256_xor_si256(c2[1280],simde_mm256_xor_si256(c2[1125],simde_mm256_xor_si256(c2[965],simde_mm256_xor_si256(c2[2562],simde_mm256_xor_si256(c2[3379],simde_mm256_xor_si256(c2[3219],simde_mm256_xor_si256(c2[2739],simde_mm256_xor_si256(c2[1136],simde_mm256_xor_si256(c2[1958],simde_mm256_xor_si256(c2[1798],simde_mm256_xor_si256(c2[4033],simde_mm256_xor_si256(c2[4208],simde_mm256_xor_si256(c2[4048],simde_mm256_xor_si256(c2[1013],simde_mm256_xor_si256(c2[853],simde_mm256_xor_si256(c2[1809],simde_mm256_xor_si256(c2[4711],simde_mm256_xor_si256(c2[4551],simde_mm256_xor_si256(c2[3105],simde_mm256_xor_si256(c2[4708],simde_mm256_xor_si256(c2[4723],simde_mm256_xor_si256(c2[4563],simde_mm256_xor_si256(c2[1203],simde_mm256_xor_si256(c2[4741],simde_mm256_xor_si256(c2[4581],simde_mm256_xor_si256(c2[423],simde_mm256_xor_si256(c2[263],simde_mm256_xor_si256(c2[2662],simde_mm256_xor_si256(c2[4596],simde_mm256_xor_si256(c2[4436],simde_mm256_xor_si256(c2[3473],simde_mm256_xor_si256(c2[135],simde_mm256_xor_si256(c2[5094],simde_mm256_xor_si256(c2[2535],simde_mm256_xor_si256(c2[2848],simde_mm256_xor_si256(c2[2230],simde_mm256_xor_si256(c2[2070],simde_mm256_xor_si256(c2[4631],simde_mm256_xor_si256(c2[4471],c2[5107]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[24]=simde_mm256_xor_si256(c2[1280],simde_mm256_xor_si256(c2[965],simde_mm256_xor_si256(c2[2562],simde_mm256_xor_si256(c2[3219],simde_mm256_xor_si256(c2[2739],simde_mm256_xor_si256(c2[1296],simde_mm256_xor_si256(c2[1136],simde_mm256_xor_si256(c2[1798],simde_mm256_xor_si256(c2[4193],simde_mm256_xor_si256(c2[4033],simde_mm256_xor_si256(c2[4048],simde_mm256_xor_si256(c2[853],simde_mm256_xor_si256(c2[1809],simde_mm256_xor_si256(c2[4551],simde_mm256_xor_si256(c2[3105],simde_mm256_xor_si256(c2[4868],simde_mm256_xor_si256(c2[4708],simde_mm256_xor_si256(c2[4563],simde_mm256_xor_si256(c2[1363],simde_mm256_xor_si256(c2[1203],simde_mm256_xor_si256(c2[4581],simde_mm256_xor_si256(c2[263],simde_mm256_xor_si256(c2[2822],simde_mm256_xor_si256(c2[2662],simde_mm256_xor_si256(c2[4436],simde_mm256_xor_si256(c2[3633],simde_mm256_xor_si256(c2[3473],simde_mm256_xor_si256(c2[5094],simde_mm256_xor_si256(c2[2535],simde_mm256_xor_si256(c2[3008],simde_mm256_xor_si256(c2[2848],simde_mm256_xor_si256(c2[2070],simde_mm256_xor_si256(c2[4471],simde_mm256_xor_si256(c2[148],c2[5107]))))))))))))))))))))))))))))))))));
//row: 4
d2[32]=simde_mm256_xor_si256(c2[2562],simde_mm256_xor_si256(c2[2402],simde_mm256_xor_si256(c2[2087],simde_mm256_xor_si256(c2[3684],simde_mm256_xor_si256(c2[3045],simde_mm256_xor_si256(c2[4501],simde_mm256_xor_si256(c2[4341],simde_mm256_xor_si256(c2[3861],simde_mm256_xor_si256(c2[2258],simde_mm256_xor_si256(c2[3542],simde_mm256_xor_si256(c2[3072],simde_mm256_xor_si256(c2[2912],simde_mm256_xor_si256(c2[36],simde_mm256_xor_si256(c2[211],simde_mm256_xor_si256(c2[51],simde_mm256_xor_si256(c2[1975],simde_mm256_xor_si256(c2[2931],simde_mm256_xor_si256(c2[546],simde_mm256_xor_si256(c2[4227],simde_mm256_xor_si256(c2[711],simde_mm256_xor_si256(c2[566],simde_mm256_xor_si256(c2[2325],simde_mm256_xor_si256(c2[736],simde_mm256_xor_si256(c2[576],simde_mm256_xor_si256(c2[1377],simde_mm256_xor_si256(c2[3776],simde_mm256_xor_si256(c2[439],simde_mm256_xor_si256(c2[4595],simde_mm256_xor_si256(c2[1089],simde_mm256_xor_si256(c2[3649],simde_mm256_xor_si256(c2[3970],simde_mm256_xor_si256(c2[3344],simde_mm256_xor_si256(c2[3184],simde_mm256_xor_si256(c2[466],c2[1110]))))))))))))))))))))))))))))))))));
//row: 5
d2[40]=simde_mm256_xor_si256(c2[2563],simde_mm256_xor_si256(c2[2403],simde_mm256_xor_si256(c2[2080],simde_mm256_xor_si256(c2[3685],simde_mm256_xor_si256(c2[1127],simde_mm256_xor_si256(c2[4502],simde_mm256_xor_si256(c2[4342],simde_mm256_xor_si256(c2[3862],simde_mm256_xor_si256(c2[2259],simde_mm256_xor_si256(c2[1457],simde_mm256_xor_si256(c2[3073],simde_mm256_xor_si256(c2[2913],simde_mm256_xor_si256(c2[37],simde_mm256_xor_si256(c2[212],simde_mm256_xor_si256(c2[52],simde_mm256_xor_si256(c2[1968],simde_mm256_xor_si256(c2[2932],simde_mm256_xor_si256(c2[547],simde_mm256_xor_si256(c2[4228],simde_mm256_xor_si256(c2[704],simde_mm256_xor_si256(c2[567],simde_mm256_xor_si256(c2[2326],simde_mm256_xor_si256(c2[406],simde_mm256_xor_si256(c2[737],simde_mm256_xor_si256(c2[577],simde_mm256_xor_si256(c2[1378],simde_mm256_xor_si256(c2[3777],simde_mm256_xor_si256(c2[432],simde_mm256_xor_si256(c2[4596],simde_mm256_xor_si256(c2[5076],simde_mm256_xor_si256(c2[1090],simde_mm256_xor_si256(c2[3650],simde_mm256_xor_si256(c2[3971],simde_mm256_xor_si256(c2[3345],simde_mm256_xor_si256(c2[3185],simde_mm256_xor_si256(c2[467],c2[1111]))))))))))))))))))))))))))))))))))));
//row: 6
d2[48]=simde_mm256_xor_si256(c2[1125],simde_mm256_xor_si256(c2[965],simde_mm256_xor_si256(c2[642],simde_mm256_xor_si256(c2[2247],simde_mm256_xor_si256(c2[4324],simde_mm256_xor_si256(c2[3056],simde_mm256_xor_si256(c2[2896],simde_mm256_xor_si256(c2[2416],simde_mm256_xor_si256(c2[821],simde_mm256_xor_si256(c2[1635],simde_mm256_xor_si256(c2[1475],simde_mm256_xor_si256(c2[3718],simde_mm256_xor_si256(c2[3893],simde_mm256_xor_si256(c2[3733],simde_mm256_xor_si256(c2[530],simde_mm256_xor_si256(c2[1494],simde_mm256_xor_si256(c2[4228],simde_mm256_xor_si256(c2[2790],simde_mm256_xor_si256(c2[4385],simde_mm256_xor_si256(c2[4240],simde_mm256_xor_si256(c2[880],simde_mm256_xor_si256(c2[727],simde_mm256_xor_si256(c2[4418],simde_mm256_xor_si256(c2[4258],simde_mm256_xor_si256(c2[5059],simde_mm256_xor_si256(c2[2339],simde_mm256_xor_si256(c2[4113],simde_mm256_xor_si256(c2[3158],simde_mm256_xor_si256(c2[2193],simde_mm256_xor_si256(c2[4771],simde_mm256_xor_si256(c2[2212],simde_mm256_xor_si256(c2[2533],simde_mm256_xor_si256(c2[1907],simde_mm256_xor_si256(c2[1747],simde_mm256_xor_si256(c2[4148],simde_mm256_xor_si256(c2[4784],c2[4624]))))))))))))))))))))))))))))))))))));
//row: 7
d2[56]=simde_mm256_xor_si256(c2[1920],simde_mm256_xor_si256(c2[1760],simde_mm256_xor_si256(c2[4483],simde_mm256_xor_si256(c2[1445],simde_mm256_xor_si256(c2[4160],simde_mm256_xor_si256(c2[3042],simde_mm256_xor_si256(c2[646],simde_mm256_xor_si256(c2[3859],simde_mm256_xor_si256(c2[3699],simde_mm256_xor_si256(c2[1303],simde_mm256_xor_si256(c2[3219],simde_mm256_xor_si256(c2[823],simde_mm256_xor_si256(c2[4499],simde_mm256_xor_si256(c2[1616],simde_mm256_xor_si256(c2[4339],simde_mm256_xor_si256(c2[180],simde_mm256_xor_si256(c2[2438],simde_mm256_xor_si256(c2[2278],simde_mm256_xor_si256(c2[4993],simde_mm256_xor_si256(c2[2277],simde_mm256_xor_si256(c2[4513],simde_mm256_xor_si256(c2[2117],simde_mm256_xor_si256(c2[4688],simde_mm256_xor_si256(c2[4528],simde_mm256_xor_si256(c2[2132],simde_mm256_xor_si256(c2[1333],simde_mm256_xor_si256(c2[4048],simde_mm256_xor_si256(c2[2289],simde_mm256_xor_si256(c2[5012],simde_mm256_xor_si256(c2[5031],simde_mm256_xor_si256(c2[2627],simde_mm256_xor_si256(c2[3585],simde_mm256_xor_si256(c2[1189],simde_mm256_xor_si256(c2[2944],simde_mm256_xor_si256(c2[69],simde_mm256_xor_si256(c2[2784],simde_mm256_xor_si256(c2[5043],simde_mm256_xor_si256(c2[2647],simde_mm256_xor_si256(c2[4566],simde_mm256_xor_si256(c2[1683],simde_mm256_xor_si256(c2[4406],simde_mm256_xor_si256(c2[3124],simde_mm256_xor_si256(c2[102],simde_mm256_xor_si256(c2[5061],simde_mm256_xor_si256(c2[2657],simde_mm256_xor_si256(c2[743],simde_mm256_xor_si256(c2[3458],simde_mm256_xor_si256(c2[898],simde_mm256_xor_si256(c2[3142],simde_mm256_xor_si256(c2[738],simde_mm256_xor_si256(c2[4916],simde_mm256_xor_si256(c2[2512],simde_mm256_xor_si256(c2[1717],simde_mm256_xor_si256(c2[3953],simde_mm256_xor_si256(c2[1557],simde_mm256_xor_si256(c2[2036],simde_mm256_xor_si256(c2[455],simde_mm256_xor_si256(c2[3170],simde_mm256_xor_si256(c2[3015],simde_mm256_xor_si256(c2[611],simde_mm256_xor_si256(c2[1092],simde_mm256_xor_si256(c2[3328],simde_mm256_xor_si256(c2[932],simde_mm256_xor_si256(c2[2710],simde_mm256_xor_si256(c2[2550],simde_mm256_xor_si256(c2[146],simde_mm256_xor_si256(c2[4951],simde_mm256_xor_si256(c2[2547],simde_mm256_xor_si256(c2[3351],simde_mm256_xor_si256(c2[468],c2[3191]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[64]=simde_mm256_xor_si256(c2[2407],simde_mm256_xor_si256(c2[2247],simde_mm256_xor_si256(c2[2084],simde_mm256_xor_si256(c2[1924],simde_mm256_xor_si256(c2[3521],simde_mm256_xor_si256(c2[2244],simde_mm256_xor_si256(c2[4338],simde_mm256_xor_si256(c2[4178],simde_mm256_xor_si256(c2[3698],simde_mm256_xor_si256(c2[2103],simde_mm256_xor_si256(c2[4818],simde_mm256_xor_si256(c2[2917],simde_mm256_xor_si256(c2[2757],simde_mm256_xor_si256(c2[4992],simde_mm256_xor_si256(c2[48],simde_mm256_xor_si256(c2[5015],simde_mm256_xor_si256(c2[1972],simde_mm256_xor_si256(c2[1812],simde_mm256_xor_si256(c2[2768],simde_mm256_xor_si256(c2[551],simde_mm256_xor_si256(c2[391],simde_mm256_xor_si256(c2[4064],simde_mm256_xor_si256(c2[548],simde_mm256_xor_si256(c2[563],simde_mm256_xor_si256(c2[403],simde_mm256_xor_si256(c2[2162],simde_mm256_xor_si256(c2[581],simde_mm256_xor_si256(c2[421],simde_mm256_xor_si256(c2[1382],simde_mm256_xor_si256(c2[1222],simde_mm256_xor_si256(c2[3621],simde_mm256_xor_si256(c2[436],simde_mm256_xor_si256(c2[276],simde_mm256_xor_si256(c2[4432],simde_mm256_xor_si256(c2[1094],simde_mm256_xor_si256(c2[934],simde_mm256_xor_si256(c2[3494],simde_mm256_xor_si256(c2[3815],simde_mm256_xor_si256(c2[3189],simde_mm256_xor_si256(c2[3029],simde_mm256_xor_si256(c2[471],simde_mm256_xor_si256(c2[311],c2[947]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[72]=simde_mm256_xor_si256(c2[0],simde_mm256_xor_si256(c2[802],simde_mm256_xor_si256(c2[4967],simde_mm256_xor_si256(c2[487],simde_mm256_xor_si256(c2[4644],simde_mm256_xor_si256(c2[2084],simde_mm256_xor_si256(c2[1122],simde_mm256_xor_si256(c2[1939],simde_mm256_xor_si256(c2[2741],simde_mm256_xor_si256(c2[1779],simde_mm256_xor_si256(c2[2261],simde_mm256_xor_si256(c2[1299],simde_mm256_xor_si256(c2[658],simde_mm256_xor_si256(c2[4823],simde_mm256_xor_si256(c2[1782],simde_mm256_xor_si256(c2[518],simde_mm256_xor_si256(c2[1312],simde_mm256_xor_si256(c2[358],simde_mm256_xor_si256(c2[3555],simde_mm256_xor_si256(c2[2593],simde_mm256_xor_si256(c2[2768],simde_mm256_xor_si256(c2[3570],simde_mm256_xor_si256(c2[2608],simde_mm256_xor_si256(c2[375],simde_mm256_xor_si256(c2[4532],simde_mm256_xor_si256(c2[1331],simde_mm256_xor_si256(c2[369],simde_mm256_xor_si256(c2[4065],simde_mm256_xor_si256(c2[3111],simde_mm256_xor_si256(c2[2627],simde_mm256_xor_si256(c2[1665],simde_mm256_xor_si256(c2[4230],simde_mm256_xor_si256(c2[3268],simde_mm256_xor_si256(c2[4085],simde_mm256_xor_si256(c2[3123],simde_mm256_xor_si256(c2[725],simde_mm256_xor_si256(c2[4882],simde_mm256_xor_si256(c2[3301],simde_mm256_xor_si256(c2[4103],simde_mm256_xor_si256(c2[3141],simde_mm256_xor_si256(c2[4896],simde_mm256_xor_si256(c2[3942],simde_mm256_xor_si256(c2[2176],simde_mm256_xor_si256(c2[1222],simde_mm256_xor_si256(c2[3958],simde_mm256_xor_si256(c2[2996],simde_mm256_xor_si256(c2[2995],simde_mm256_xor_si256(c2[2033],simde_mm256_xor_si256(c2[4608],simde_mm256_xor_si256(c2[3654],simde_mm256_xor_si256(c2[2049],simde_mm256_xor_si256(c2[1095],simde_mm256_xor_si256(c2[2370],simde_mm256_xor_si256(c2[1408],simde_mm256_xor_si256(c2[2214],simde_mm256_xor_si256(c2[790],simde_mm256_xor_si256(c2[1584],simde_mm256_xor_si256(c2[630],simde_mm256_xor_si256(c2[3985],simde_mm256_xor_si256(c2[3031],simde_mm256_xor_si256(c2[4629],c2[3667])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[80]=simde_mm256_xor_si256(c2[1760],simde_mm256_xor_si256(c2[4021],simde_mm256_xor_si256(c2[96],c2[3475])));
//row: 11
d2[88]=simde_mm256_xor_si256(c2[2],simde_mm256_xor_si256(c2[4806],simde_mm256_xor_si256(c2[1284],simde_mm256_xor_si256(c2[1760],simde_mm256_xor_si256(c2[1941],simde_mm256_xor_si256(c2[1461],simde_mm256_xor_si256(c2[18],simde_mm256_xor_si256(c2[4977],simde_mm256_xor_si256(c2[512],simde_mm256_xor_si256(c2[2915],simde_mm256_xor_si256(c2[2755],simde_mm256_xor_si256(c2[2770],simde_mm256_xor_si256(c2[4694],simde_mm256_xor_si256(c2[531],simde_mm256_xor_si256(c2[3265],simde_mm256_xor_si256(c2[1827],simde_mm256_xor_si256(c2[3590],simde_mm256_xor_si256(c2[3430],simde_mm256_xor_si256(c2[3285],simde_mm256_xor_si256(c2[85],simde_mm256_xor_si256(c2[5044],simde_mm256_xor_si256(c2[3303],simde_mm256_xor_si256(c2[4096],simde_mm256_xor_si256(c2[1536],simde_mm256_xor_si256(c2[1376],simde_mm256_xor_si256(c2[3158],simde_mm256_xor_si256(c2[2355],simde_mm256_xor_si256(c2[2195],simde_mm256_xor_si256(c2[2039],simde_mm256_xor_si256(c2[3808],simde_mm256_xor_si256(c2[1249],simde_mm256_xor_si256(c2[1730],simde_mm256_xor_si256(c2[1570],simde_mm256_xor_si256(c2[784],simde_mm256_xor_si256(c2[3185],simde_mm256_xor_si256(c2[3989],simde_mm256_xor_si256(c2[3829],c2[3030])))))))))))))))))))))))))))))))))))));
//row: 12
d2[96]=simde_mm256_xor_si256(c2[3680],simde_mm256_xor_si256(c2[3520],simde_mm256_xor_si256(c2[3205],simde_mm256_xor_si256(c2[4802],simde_mm256_xor_si256(c2[500],simde_mm256_xor_si256(c2[340],simde_mm256_xor_si256(c2[4979],simde_mm256_xor_si256(c2[3376],simde_mm256_xor_si256(c2[4977],simde_mm256_xor_si256(c2[4198],simde_mm256_xor_si256(c2[4038],simde_mm256_xor_si256(c2[1154],simde_mm256_xor_si256(c2[1329],simde_mm256_xor_si256(c2[1169],simde_mm256_xor_si256(c2[3093],simde_mm256_xor_si256(c2[4049],simde_mm256_xor_si256(c2[2451],simde_mm256_xor_si256(c2[1664],simde_mm256_xor_si256(c2[226],simde_mm256_xor_si256(c2[1829],simde_mm256_xor_si256(c2[1684],simde_mm256_xor_si256(c2[3443],simde_mm256_xor_si256(c2[1862],simde_mm256_xor_si256(c2[1702],simde_mm256_xor_si256(c2[2503],simde_mm256_xor_si256(c2[4902],simde_mm256_xor_si256(c2[1557],simde_mm256_xor_si256(c2[594],simde_mm256_xor_si256(c2[2215],simde_mm256_xor_si256(c2[4775],simde_mm256_xor_si256(c2[5088],simde_mm256_xor_si256(c2[4470],simde_mm256_xor_si256(c2[4310],simde_mm256_xor_si256(c2[1584],c2[2228]))))))))))))))))))))))))))))))))));
//row: 13
d2[104]=simde_mm256_xor_si256(c2[967],simde_mm256_xor_si256(c2[644],simde_mm256_xor_si256(c2[2241],simde_mm256_xor_si256(c2[3042],simde_mm256_xor_si256(c2[2898],simde_mm256_xor_si256(c2[2418],simde_mm256_xor_si256(c2[983],simde_mm256_xor_si256(c2[823],simde_mm256_xor_si256(c2[336],simde_mm256_xor_si256(c2[1477],simde_mm256_xor_si256(c2[3872],simde_mm256_xor_si256(c2[3712],simde_mm256_xor_si256(c2[3735],simde_mm256_xor_si256(c2[532],simde_mm256_xor_si256(c2[1488],simde_mm256_xor_si256(c2[4230],simde_mm256_xor_si256(c2[2784],simde_mm256_xor_si256(c2[4547],simde_mm256_xor_si256(c2[4387],simde_mm256_xor_si256(c2[4242],simde_mm256_xor_si256(c2[1042],simde_mm256_xor_si256(c2[882],simde_mm256_xor_si256(c2[4260],simde_mm256_xor_si256(c2[5061],simde_mm256_xor_si256(c2[2501],simde_mm256_xor_si256(c2[2341],simde_mm256_xor_si256(c2[4115],simde_mm256_xor_si256(c2[3312],simde_mm256_xor_si256(c2[3152],simde_mm256_xor_si256(c2[4773],simde_mm256_xor_si256(c2[2214],simde_mm256_xor_si256(c2[2695],simde_mm256_xor_si256(c2[2535],simde_mm256_xor_si256(c2[1089],simde_mm256_xor_si256(c2[1749],simde_mm256_xor_si256(c2[4150],simde_mm256_xor_si256(c2[4946],c2[4786])))))))))))))))))))))))))))))))))))));
//row: 14
d2[112]=simde_mm256_xor_si256(c2[1920],simde_mm256_xor_si256(c2[1760],simde_mm256_xor_si256(c2[2567],simde_mm256_xor_si256(c2[1445],simde_mm256_xor_si256(c2[2244],simde_mm256_xor_si256(c2[3042],simde_mm256_xor_si256(c2[3841],simde_mm256_xor_si256(c2[3859],simde_mm256_xor_si256(c2[3699],simde_mm256_xor_si256(c2[4498],simde_mm256_xor_si256(c2[3219],simde_mm256_xor_si256(c2[4018],simde_mm256_xor_si256(c2[2583],simde_mm256_xor_si256(c2[1616],simde_mm256_xor_si256(c2[2423],simde_mm256_xor_si256(c2[3059],simde_mm256_xor_si256(c2[2438],simde_mm256_xor_si256(c2[2278],simde_mm256_xor_si256(c2[3077],simde_mm256_xor_si256(c2[353],simde_mm256_xor_si256(c2[4513],simde_mm256_xor_si256(c2[193],simde_mm256_xor_si256(c2[4688],simde_mm256_xor_si256(c2[4528],simde_mm256_xor_si256(c2[208],simde_mm256_xor_si256(c2[1333],simde_mm256_xor_si256(c2[2132],simde_mm256_xor_si256(c2[2289],simde_mm256_xor_si256(c2[3088],simde_mm256_xor_si256(c2[5031],simde_mm256_xor_si256(c2[711],simde_mm256_xor_si256(c2[3585],simde_mm256_xor_si256(c2[4384],simde_mm256_xor_si256(c2[1028],simde_mm256_xor_si256(c2[69],simde_mm256_xor_si256(c2[868],simde_mm256_xor_si256(c2[5043],simde_mm256_xor_si256(c2[723],simde_mm256_xor_si256(c2[2642],simde_mm256_xor_si256(c2[1683],simde_mm256_xor_si256(c2[2482],simde_mm256_xor_si256(c2[102],simde_mm256_xor_si256(c2[5061],simde_mm256_xor_si256(c2[741],simde_mm256_xor_si256(c2[743],simde_mm256_xor_si256(c2[1542],simde_mm256_xor_si256(c2[4101],simde_mm256_xor_si256(c2[3142],simde_mm256_xor_si256(c2[3941],simde_mm256_xor_si256(c2[2820],simde_mm256_xor_si256(c2[4916],simde_mm256_xor_si256(c2[596],simde_mm256_xor_si256(c2[4912],simde_mm256_xor_si256(c2[3953],simde_mm256_xor_si256(c2[4752],simde_mm256_xor_si256(c2[455],simde_mm256_xor_si256(c2[1254],simde_mm256_xor_si256(c2[3015],simde_mm256_xor_si256(c2[3814],simde_mm256_xor_si256(c2[4295],simde_mm256_xor_si256(c2[3328],simde_mm256_xor_si256(c2[4135],simde_mm256_xor_si256(c2[2710],simde_mm256_xor_si256(c2[2550],simde_mm256_xor_si256(c2[3349],simde_mm256_xor_si256(c2[4951],simde_mm256_xor_si256(c2[631],simde_mm256_xor_si256(c2[1427],simde_mm256_xor_si256(c2[468],c2[1267])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[120]=simde_mm256_xor_si256(c2[4806],simde_mm256_xor_si256(c2[3685],simde_mm256_xor_si256(c2[4646],simde_mm256_xor_si256(c2[3362],simde_mm256_xor_si256(c2[4323],simde_mm256_xor_si256(c2[4967],simde_mm256_xor_si256(c2[801],simde_mm256_xor_si256(c2[3041],simde_mm256_xor_si256(c2[1618],simde_mm256_xor_si256(c2[497],simde_mm256_xor_si256(c2[1458],simde_mm256_xor_si256(c2[17],simde_mm256_xor_si256(c2[978],simde_mm256_xor_si256(c2[3541],simde_mm256_xor_si256(c2[4502],simde_mm256_xor_si256(c2[197],simde_mm256_xor_si256(c2[4195],simde_mm256_xor_si256(c2[37],simde_mm256_xor_si256(c2[1319],simde_mm256_xor_si256(c2[2272],simde_mm256_xor_si256(c2[2455],simde_mm256_xor_si256(c2[1334],simde_mm256_xor_si256(c2[2295],simde_mm256_xor_si256(c2[3250],simde_mm256_xor_si256(c2[4211],simde_mm256_xor_si256(c2[4214],simde_mm256_xor_si256(c2[48],simde_mm256_xor_si256(c2[1829],simde_mm256_xor_si256(c2[2790],simde_mm256_xor_si256(c2[391],simde_mm256_xor_si256(c2[1344],simde_mm256_xor_si256(c2[1986],simde_mm256_xor_si256(c2[2947],simde_mm256_xor_si256(c2[1841],simde_mm256_xor_si256(c2[2802],simde_mm256_xor_si256(c2[3600],simde_mm256_xor_si256(c2[4561],simde_mm256_xor_si256(c2[2980],simde_mm256_xor_si256(c2[1859],simde_mm256_xor_si256(c2[2820],simde_mm256_xor_si256(c2[2660],simde_mm256_xor_si256(c2[3621],simde_mm256_xor_si256(c2[5059],simde_mm256_xor_si256(c2[901],simde_mm256_xor_si256(c2[1714],simde_mm256_xor_si256(c2[2675],simde_mm256_xor_si256(c2[759],simde_mm256_xor_si256(c2[1712],simde_mm256_xor_si256(c2[2372],simde_mm256_xor_si256(c2[3333],simde_mm256_xor_si256(c2[4932],simde_mm256_xor_si256(c2[774],simde_mm256_xor_si256(c2[134],simde_mm256_xor_si256(c2[1095],simde_mm256_xor_si256(c2[469],simde_mm256_xor_si256(c2[4467],simde_mm256_xor_si256(c2[309],simde_mm256_xor_si256(c2[1749],simde_mm256_xor_si256(c2[2710],simde_mm256_xor_si256(c2[2385],c2[3346]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[128]=simde_mm256_xor_si256(c2[2720],simde_mm256_xor_si256(c2[4327],simde_mm256_xor_si256(c2[2560],simde_mm256_xor_si256(c2[4167],simde_mm256_xor_si256(c2[4004],simde_mm256_xor_si256(c2[2245],simde_mm256_xor_si256(c2[3844],simde_mm256_xor_si256(c2[3842],simde_mm256_xor_si256(c2[322],simde_mm256_xor_si256(c2[4659],simde_mm256_xor_si256(c2[1139],simde_mm256_xor_si256(c2[4499],simde_mm256_xor_si256(c2[979],simde_mm256_xor_si256(c2[4019],simde_mm256_xor_si256(c2[499],simde_mm256_xor_si256(c2[2416],simde_mm256_xor_si256(c2[4023],simde_mm256_xor_si256(c2[1782],simde_mm256_xor_si256(c2[3238],simde_mm256_xor_si256(c2[4837],simde_mm256_xor_si256(c2[3078],simde_mm256_xor_si256(c2[4677],simde_mm256_xor_si256(c2[194],simde_mm256_xor_si256(c2[1793],simde_mm256_xor_si256(c2[369],simde_mm256_xor_si256(c2[1968],simde_mm256_xor_si256(c2[209],simde_mm256_xor_si256(c2[1808],simde_mm256_xor_si256(c2[3892],simde_mm256_xor_si256(c2[2133],simde_mm256_xor_si256(c2[3732],simde_mm256_xor_si256(c2[3089],simde_mm256_xor_si256(c2[4688],simde_mm256_xor_si256(c2[2471],simde_mm256_xor_si256(c2[704],simde_mm256_xor_si256(c2[2311],simde_mm256_xor_si256(c2[4385],simde_mm256_xor_si256(c2[865],simde_mm256_xor_si256(c2[869],simde_mm256_xor_si256(c2[2468],simde_mm256_xor_si256(c2[2483],simde_mm256_xor_si256(c2[724],simde_mm256_xor_si256(c2[2323],simde_mm256_xor_si256(c2[2483],simde_mm256_xor_si256(c2[4082],simde_mm256_xor_si256(c2[902],simde_mm256_xor_si256(c2[2501],simde_mm256_xor_si256(c2[742],simde_mm256_xor_si256(c2[2341],simde_mm256_xor_si256(c2[3302],simde_mm256_xor_si256(c2[1543],simde_mm256_xor_si256(c2[3142],simde_mm256_xor_si256(c2[3942],simde_mm256_xor_si256(c2[422],simde_mm256_xor_si256(c2[2356],simde_mm256_xor_si256(c2[597],simde_mm256_xor_si256(c2[2196],simde_mm256_xor_si256(c2[4753],simde_mm256_xor_si256(c2[1233],simde_mm256_xor_si256(c2[3014],simde_mm256_xor_si256(c2[1255],simde_mm256_xor_si256(c2[2854],simde_mm256_xor_si256(c2[3815],simde_mm256_xor_si256(c2[295],simde_mm256_xor_si256(c2[4128],simde_mm256_xor_si256(c2[608],simde_mm256_xor_si256(c2[3510],simde_mm256_xor_si256(c2[5109],simde_mm256_xor_si256(c2[3350],simde_mm256_xor_si256(c2[4949],simde_mm256_xor_si256(c2[2391],simde_mm256_xor_si256(c2[624],simde_mm256_xor_si256(c2[2231],simde_mm256_xor_si256(c2[1268],simde_mm256_xor_si256(c2[2867],c2[2388])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[136]=simde_mm256_xor_si256(c2[4323],simde_mm256_xor_si256(c2[1442],simde_mm256_xor_si256(c2[4163],simde_mm256_xor_si256(c2[1282],simde_mm256_xor_si256(c2[1127],simde_mm256_xor_si256(c2[3840],simde_mm256_xor_si256(c2[967],simde_mm256_xor_si256(c2[326],simde_mm256_xor_si256(c2[2564],simde_mm256_xor_si256(c2[1143],simde_mm256_xor_si256(c2[3381],simde_mm256_xor_si256(c2[983],simde_mm256_xor_si256(c2[3221],simde_mm256_xor_si256(c2[503],simde_mm256_xor_si256(c2[2741],simde_mm256_xor_si256(c2[4019],simde_mm256_xor_si256(c2[1138],simde_mm256_xor_si256(c2[4823],simde_mm256_xor_si256(c2[4833],simde_mm256_xor_si256(c2[1952],simde_mm256_xor_si256(c2[4673],simde_mm256_xor_si256(c2[1792],simde_mm256_xor_si256(c2[1797],simde_mm256_xor_si256(c2[4035],simde_mm256_xor_si256(c2[1972],simde_mm256_xor_si256(c2[4210],simde_mm256_xor_si256(c2[1812],simde_mm256_xor_si256(c2[4050],simde_mm256_xor_si256(c2[1015],simde_mm256_xor_si256(c2[3728],simde_mm256_xor_si256(c2[855],simde_mm256_xor_si256(c2[4692],simde_mm256_xor_si256(c2[1811],simde_mm256_xor_si256(c2[4705],simde_mm256_xor_si256(c2[2307],simde_mm256_xor_si256(c2[4545],simde_mm256_xor_si256(c2[869],simde_mm256_xor_si256(c2[3107],simde_mm256_xor_si256(c2[2464],simde_mm256_xor_si256(c2[4710],simde_mm256_xor_si256(c2[4725],simde_mm256_xor_si256(c2[2327],simde_mm256_xor_si256(c2[4565],simde_mm256_xor_si256(c2[4086],simde_mm256_xor_si256(c2[1205],simde_mm256_xor_si256(c2[4563],simde_mm256_xor_si256(c2[2497],simde_mm256_xor_si256(c2[4743],simde_mm256_xor_si256(c2[2337],simde_mm256_xor_si256(c2[4583],simde_mm256_xor_si256(c2[417],simde_mm256_xor_si256(c2[3138],simde_mm256_xor_si256(c2[257],simde_mm256_xor_si256(c2[418],simde_mm256_xor_si256(c2[2656],simde_mm256_xor_si256(c2[4598],simde_mm256_xor_si256(c2[2192],simde_mm256_xor_si256(c2[4438],simde_mm256_xor_si256(c2[1237],simde_mm256_xor_si256(c2[3475],simde_mm256_xor_si256(c2[129],simde_mm256_xor_si256(c2[2850],simde_mm256_xor_si256(c2[5088],simde_mm256_xor_si256(c2[291],simde_mm256_xor_si256(c2[2529],simde_mm256_xor_si256(c2[612],simde_mm256_xor_si256(c2[2850],simde_mm256_xor_si256(c2[5105],simde_mm256_xor_si256(c2[2224],simde_mm256_xor_si256(c2[4945],simde_mm256_xor_si256(c2[2064],simde_mm256_xor_si256(c2[4625],simde_mm256_xor_si256(c2[2227],simde_mm256_xor_si256(c2[4465],simde_mm256_xor_si256(c2[2871],c2[5109])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[144]=simde_mm256_xor_si256(c2[4486],simde_mm256_xor_si256(c2[422],c2[2993]));
//row: 19
d2[152]=simde_mm256_xor_si256(c2[166],simde_mm256_xor_si256(c2[4962],simde_mm256_xor_si256(c2[1440],simde_mm256_xor_si256(c2[3682],simde_mm256_xor_si256(c2[2097],simde_mm256_xor_si256(c2[1617],simde_mm256_xor_si256(c2[22],simde_mm256_xor_si256(c2[3216],simde_mm256_xor_si256(c2[676],simde_mm256_xor_si256(c2[2919],simde_mm256_xor_si256(c2[2934],simde_mm256_xor_si256(c2[4850],simde_mm256_xor_si256(c2[695],simde_mm256_xor_si256(c2[3429],simde_mm256_xor_si256(c2[1991],simde_mm256_xor_si256(c2[3586],simde_mm256_xor_si256(c2[3441],simde_mm256_xor_si256(c2[81],simde_mm256_xor_si256(c2[3459],simde_mm256_xor_si256(c2[4260],simde_mm256_xor_si256(c2[1540],simde_mm256_xor_si256(c2[3314],simde_mm256_xor_si256(c2[2359],simde_mm256_xor_si256(c2[3972],simde_mm256_xor_si256(c2[1413],simde_mm256_xor_si256(c2[1734],simde_mm256_xor_si256(c2[948],simde_mm256_xor_si256(c2[3349],c2[3985]))))))))))))))))))))))))))));
//row: 20
d2[160]=simde_mm256_xor_si256(c2[961],simde_mm256_xor_si256(c2[801],simde_mm256_xor_si256(c2[486],simde_mm256_xor_si256(c2[2083],simde_mm256_xor_si256(c2[2900],simde_mm256_xor_si256(c2[2740],simde_mm256_xor_si256(c2[2260],simde_mm256_xor_si256(c2[657],simde_mm256_xor_si256(c2[4176],simde_mm256_xor_si256(c2[1479],simde_mm256_xor_si256(c2[1319],simde_mm256_xor_si256(c2[3554],simde_mm256_xor_si256(c2[3729],simde_mm256_xor_si256(c2[3569],simde_mm256_xor_si256(c2[374],simde_mm256_xor_si256(c2[1330],simde_mm256_xor_si256(c2[4064],simde_mm256_xor_si256(c2[2626],simde_mm256_xor_si256(c2[4229],simde_mm256_xor_si256(c2[1507],simde_mm256_xor_si256(c2[4084],simde_mm256_xor_si256(c2[724],simde_mm256_xor_si256(c2[4262],simde_mm256_xor_si256(c2[4102],simde_mm256_xor_si256(c2[4903],simde_mm256_xor_si256(c2[2183],simde_mm256_xor_si256(c2[3957],simde_mm256_xor_si256(c2[2994],simde_mm256_xor_si256(c2[4615],simde_mm256_xor_si256(c2[2048],simde_mm256_xor_si256(c2[2369],simde_mm256_xor_si256(c2[1751],simde_mm256_xor_si256(c2[1591],simde_mm256_xor_si256(c2[3984],c2[4628]))))))))))))))))))))))))))))))))));
//row: 21
d2[168]=simde_mm256_xor_si256(c2[4166],simde_mm256_xor_si256(c2[3843],simde_mm256_xor_si256(c2[321],simde_mm256_xor_si256(c2[1922],simde_mm256_xor_si256(c2[978],simde_mm256_xor_si256(c2[498],simde_mm256_xor_si256(c2[4182],simde_mm256_xor_si256(c2[4022],simde_mm256_xor_si256(c2[4676],simde_mm256_xor_si256(c2[1952],simde_mm256_xor_si256(c2[1792],simde_mm256_xor_si256(c2[1815],simde_mm256_xor_si256(c2[3731],simde_mm256_xor_si256(c2[4695],simde_mm256_xor_si256(c2[2310],simde_mm256_xor_si256(c2[864],simde_mm256_xor_si256(c2[2627],simde_mm256_xor_si256(c2[2467],simde_mm256_xor_si256(c2[2322],simde_mm256_xor_si256(c2[4241],simde_mm256_xor_si256(c2[4081],simde_mm256_xor_si256(c2[2340],simde_mm256_xor_si256(c2[3141],simde_mm256_xor_si256(c2[581],simde_mm256_xor_si256(c2[421],simde_mm256_xor_si256(c2[2195],simde_mm256_xor_si256(c2[1392],simde_mm256_xor_si256(c2[1232],simde_mm256_xor_si256(c2[2853],simde_mm256_xor_si256(c2[294],simde_mm256_xor_si256(c2[775],simde_mm256_xor_si256(c2[615],simde_mm256_xor_si256(c2[1729],simde_mm256_xor_si256(c2[4948],simde_mm256_xor_si256(c2[2230],simde_mm256_xor_si256(c2[3026],c2[2866]))))))))))))))))))))))))))))))))))));
//row: 22
d2[176]=simde_mm256_xor_si256(c2[4822],c2[4993]);
//row: 23
d2[184]=simde_mm256_xor_si256(c2[3680],simde_mm256_xor_si256(c2[1815],c2[2327]));
//row: 24
d2[192]=simde_mm256_xor_si256(c2[2257],simde_mm256_xor_si256(c2[1796],c2[1424]));
//row: 25
d2[200]=simde_mm256_xor_si256(c2[647],c2[4564]);
//row: 26
d2[208]=simde_mm256_xor_si256(c2[1445],simde_mm256_xor_si256(c2[1285],simde_mm256_xor_si256(c2[324],simde_mm256_xor_si256(c2[1122],simde_mm256_xor_si256(c2[962],simde_mm256_xor_si256(c2[1],simde_mm256_xor_si256(c2[2567],simde_mm256_xor_si256(c2[1606],simde_mm256_xor_si256(c2[3376],simde_mm256_xor_si256(c2[3216],simde_mm256_xor_si256(c2[2263],simde_mm256_xor_si256(c2[2736],simde_mm256_xor_si256(c2[1783],simde_mm256_xor_si256(c2[340],simde_mm256_xor_si256(c2[1141],simde_mm256_xor_si256(c2[180],simde_mm256_xor_si256(c2[1955],simde_mm256_xor_si256(c2[1795],simde_mm256_xor_si256(c2[834],simde_mm256_xor_si256(c2[3237],simde_mm256_xor_si256(c2[4038],simde_mm256_xor_si256(c2[3077],simde_mm256_xor_si256(c2[4672],simde_mm256_xor_si256(c2[4213],simde_mm256_xor_si256(c2[4053],simde_mm256_xor_si256(c2[3092],simde_mm256_xor_si256(c2[1010],simde_mm256_xor_si256(c2[850],simde_mm256_xor_si256(c2[5008],simde_mm256_xor_si256(c2[1814],simde_mm256_xor_si256(c2[853],simde_mm256_xor_si256(c2[4708],simde_mm256_xor_si256(c2[4548],simde_mm256_xor_si256(c2[3587],simde_mm256_xor_si256(c2[3110],simde_mm256_xor_si256(c2[2149],simde_mm256_xor_si256(c2[3904],simde_mm256_xor_si256(c2[4705],simde_mm256_xor_si256(c2[3744],simde_mm256_xor_si256(c2[4720],simde_mm256_xor_si256(c2[4560],simde_mm256_xor_si256(c2[3607],simde_mm256_xor_si256(c2[407],simde_mm256_xor_si256(c2[1200],simde_mm256_xor_si256(c2[247],simde_mm256_xor_si256(c2[4738],simde_mm256_xor_si256(c2[4578],simde_mm256_xor_si256(c2[3617],simde_mm256_xor_si256(c2[420],simde_mm256_xor_si256(c2[260],simde_mm256_xor_si256(c2[4418],simde_mm256_xor_si256(c2[1858],simde_mm256_xor_si256(c2[2659],simde_mm256_xor_si256(c2[1698],simde_mm256_xor_si256(c2[4593],simde_mm256_xor_si256(c2[4433],simde_mm256_xor_si256(c2[3472],simde_mm256_xor_si256(c2[2677],simde_mm256_xor_si256(c2[3478],simde_mm256_xor_si256(c2[2517],simde_mm256_xor_si256(c2[2516],simde_mm256_xor_si256(c2[132],simde_mm256_xor_si256(c2[5091],simde_mm256_xor_si256(c2[4130],simde_mm256_xor_si256(c2[2532],simde_mm256_xor_si256(c2[1571],simde_mm256_xor_si256(c2[2052],simde_mm256_xor_si256(c2[2853],simde_mm256_xor_si256(c2[1892],simde_mm256_xor_si256(c2[2227],simde_mm256_xor_si256(c2[2067],simde_mm256_xor_si256(c2[1106],simde_mm256_xor_si256(c2[4628],simde_mm256_xor_si256(c2[4468],simde_mm256_xor_si256(c2[3507],simde_mm256_xor_si256(c2[4311],simde_mm256_xor_si256(c2[5104],c2[4151])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[216]=simde_mm256_xor_si256(c2[1280],c2[3780]);
//row: 28
d2[224]=simde_mm256_xor_si256(c2[339],simde_mm256_xor_si256(c2[835],c2[1204]));
//row: 29
d2[232]=simde_mm256_xor_si256(c2[2880],c2[4544]);
//row: 30
d2[240]=simde_mm256_xor_si256(c2[1154],simde_mm256_xor_si256(c2[2647],simde_mm256_xor_si256(c2[1552],c2[3346])));
//row: 31
d2[248]=simde_mm256_xor_si256(c2[1440],simde_mm256_xor_si256(c2[1125],simde_mm256_xor_si256(c2[2722],simde_mm256_xor_si256(c2[3379],simde_mm256_xor_si256(c2[2899],simde_mm256_xor_si256(c2[1456],simde_mm256_xor_si256(c2[1296],simde_mm256_xor_si256(c2[1619],simde_mm256_xor_si256(c2[1958],simde_mm256_xor_si256(c2[4353],simde_mm256_xor_si256(c2[4193],simde_mm256_xor_si256(c2[4208],simde_mm256_xor_si256(c2[1013],simde_mm256_xor_si256(c2[1969],simde_mm256_xor_si256(c2[4711],simde_mm256_xor_si256(c2[3265],simde_mm256_xor_si256(c2[5028],simde_mm256_xor_si256(c2[4868],simde_mm256_xor_si256(c2[4723],simde_mm256_xor_si256(c2[1523],simde_mm256_xor_si256(c2[1363],simde_mm256_xor_si256(c2[4741],simde_mm256_xor_si256(c2[423],simde_mm256_xor_si256(c2[2982],simde_mm256_xor_si256(c2[2822],simde_mm256_xor_si256(c2[4596],simde_mm256_xor_si256(c2[3793],simde_mm256_xor_si256(c2[3633],simde_mm256_xor_si256(c2[135],simde_mm256_xor_si256(c2[2695],simde_mm256_xor_si256(c2[3168],simde_mm256_xor_si256(c2[3008],simde_mm256_xor_si256(c2[2230],simde_mm256_xor_si256(c2[4631],simde_mm256_xor_si256(c2[308],c2[148])))))))))))))))))))))))))))))))))));
//row: 32
d2[256]=simde_mm256_xor_si256(c2[2405],simde_mm256_xor_si256(c2[2245],simde_mm256_xor_si256(c2[2082],simde_mm256_xor_si256(c2[1922],simde_mm256_xor_si256(c2[3527],simde_mm256_xor_si256(c2[2887],simde_mm256_xor_si256(c2[4336],simde_mm256_xor_si256(c2[4176],simde_mm256_xor_si256(c2[3696],simde_mm256_xor_si256(c2[2101],simde_mm256_xor_si256(c2[2915],simde_mm256_xor_si256(c2[2755],simde_mm256_xor_si256(c2[4998],simde_mm256_xor_si256(c2[54],simde_mm256_xor_si256(c2[5013],simde_mm256_xor_si256(c2[1970],simde_mm256_xor_si256(c2[1810],simde_mm256_xor_si256(c2[2774],simde_mm256_xor_si256(c2[549],simde_mm256_xor_si256(c2[389],simde_mm256_xor_si256(c2[4070],simde_mm256_xor_si256(c2[546],simde_mm256_xor_si256(c2[561],simde_mm256_xor_si256(c2[401],simde_mm256_xor_si256(c2[2160],simde_mm256_xor_si256(c2[2001],simde_mm256_xor_si256(c2[579],simde_mm256_xor_si256(c2[419],simde_mm256_xor_si256(c2[1380],simde_mm256_xor_si256(c2[1220],simde_mm256_xor_si256(c2[3619],simde_mm256_xor_si256(c2[434],simde_mm256_xor_si256(c2[274],simde_mm256_xor_si256(c2[4438],simde_mm256_xor_si256(c2[1092],simde_mm256_xor_si256(c2[932],simde_mm256_xor_si256(c2[3492],simde_mm256_xor_si256(c2[3813],simde_mm256_xor_si256(c2[3187],simde_mm256_xor_si256(c2[3027],simde_mm256_xor_si256(c2[469],simde_mm256_xor_si256(c2[309],c2[945]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[264]=simde_mm256_xor_si256(c2[3047],simde_mm256_xor_si256(c2[2724],simde_mm256_xor_si256(c2[4321],simde_mm256_xor_si256(c2[4978],simde_mm256_xor_si256(c2[4498],simde_mm256_xor_si256(c2[2903],simde_mm256_xor_si256(c2[3557],simde_mm256_xor_si256(c2[673],simde_mm256_xor_si256(c2[676],simde_mm256_xor_si256(c2[688],simde_mm256_xor_si256(c2[2612],simde_mm256_xor_si256(c2[3568],simde_mm256_xor_si256(c2[1191],simde_mm256_xor_si256(c2[4864],simde_mm256_xor_si256(c2[1348],simde_mm256_xor_si256(c2[1203],simde_mm256_xor_si256(c2[2962],simde_mm256_xor_si256(c2[1221],simde_mm256_xor_si256(c2[2022],simde_mm256_xor_si256(c2[4421],simde_mm256_xor_si256(c2[1076],simde_mm256_xor_si256(c2[113],simde_mm256_xor_si256(c2[757],simde_mm256_xor_si256(c2[1734],simde_mm256_xor_si256(c2[4294],simde_mm256_xor_si256(c2[4615],simde_mm256_xor_si256(c2[3829],simde_mm256_xor_si256(c2[1111],c2[1747]))))))))))))))))))))))))))));
//row: 34
d2[272]=simde_mm256_xor_si256(c2[4802],simde_mm256_xor_si256(c2[4642],simde_mm256_xor_si256(c2[1921],simde_mm256_xor_si256(c2[4487],simde_mm256_xor_si256(c2[4327],simde_mm256_xor_si256(c2[1606],simde_mm256_xor_si256(c2[805],simde_mm256_xor_si256(c2[3203],simde_mm256_xor_si256(c2[3044],simde_mm256_xor_si256(c2[1622],simde_mm256_xor_si256(c2[1462],simde_mm256_xor_si256(c2[3860],simde_mm256_xor_si256(c2[982],simde_mm256_xor_si256(c2[3380],simde_mm256_xor_si256(c2[1937],simde_mm256_xor_si256(c2[4498],simde_mm256_xor_si256(c2[1777],simde_mm256_xor_si256(c2[193],simde_mm256_xor_si256(c2[33],simde_mm256_xor_si256(c2[2439],simde_mm256_xor_si256(c2[4834],simde_mm256_xor_si256(c2[2276],simde_mm256_xor_si256(c2[4674],simde_mm256_xor_si256(c2[2451],simde_mm256_xor_si256(c2[2291],simde_mm256_xor_si256(c2[4689],simde_mm256_xor_si256(c2[4375],simde_mm256_xor_si256(c2[4215],simde_mm256_xor_si256(c2[1494],simde_mm256_xor_si256(c2[52],simde_mm256_xor_si256(c2[2450],simde_mm256_xor_si256(c2[2946],simde_mm256_xor_si256(c2[2786],simde_mm256_xor_si256(c2[65],simde_mm256_xor_si256(c2[1348],simde_mm256_xor_si256(c2[3746],simde_mm256_xor_si256(c2[390],simde_mm256_xor_si256(c2[2951],simde_mm256_xor_si256(c2[230],simde_mm256_xor_si256(c2[2966],simde_mm256_xor_si256(c2[2806],simde_mm256_xor_si256(c2[85],simde_mm256_xor_si256(c2[2004],simde_mm256_xor_si256(c2[4565],simde_mm256_xor_si256(c2[1844],simde_mm256_xor_si256(c2[2976],simde_mm256_xor_si256(c2[2816],simde_mm256_xor_si256(c2[103],simde_mm256_xor_si256(c2[3777],simde_mm256_xor_si256(c2[3617],simde_mm256_xor_si256(c2[896],simde_mm256_xor_si256(c2[3463],simde_mm256_xor_si256(c2[897],simde_mm256_xor_si256(c2[3303],simde_mm256_xor_si256(c2[2839],simde_mm256_xor_si256(c2[2679],simde_mm256_xor_si256(c2[5077],simde_mm256_xor_si256(c2[4274],simde_mm256_xor_si256(c2[1716],simde_mm256_xor_si256(c2[4114],simde_mm256_xor_si256(c2[3489],simde_mm256_xor_si256(c2[3329],simde_mm256_xor_si256(c2[608],simde_mm256_xor_si256(c2[770],simde_mm256_xor_si256(c2[3168],simde_mm256_xor_si256(c2[3649],simde_mm256_xor_si256(c2[1091],simde_mm256_xor_si256(c2[3489],simde_mm256_xor_si256(c2[465],simde_mm256_xor_si256(c2[305],simde_mm256_xor_si256(c2[2711],simde_mm256_xor_si256(c2[2866],simde_mm256_xor_si256(c2[2706],simde_mm256_xor_si256(c2[5104],simde_mm256_xor_si256(c2[789],simde_mm256_xor_si256(c2[3350],c2[629]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[280]=simde_mm256_xor_si256(c2[1282],simde_mm256_xor_si256(c2[1122],simde_mm256_xor_si256(c2[807],simde_mm256_xor_si256(c2[2404],simde_mm256_xor_si256(c2[3221],simde_mm256_xor_si256(c2[3061],simde_mm256_xor_si256(c2[2581],simde_mm256_xor_si256(c2[978],simde_mm256_xor_si256(c2[4017],simde_mm256_xor_si256(c2[1792],simde_mm256_xor_si256(c2[1632],simde_mm256_xor_si256(c2[3875],simde_mm256_xor_si256(c2[4050],simde_mm256_xor_si256(c2[3890],simde_mm256_xor_si256(c2[695],simde_mm256_xor_si256(c2[1651],simde_mm256_xor_si256(c2[4385],simde_mm256_xor_si256(c2[2947],simde_mm256_xor_si256(c2[4550],simde_mm256_xor_si256(c2[4405],simde_mm256_xor_si256(c2[1045],simde_mm256_xor_si256(c2[1361],simde_mm256_xor_si256(c2[4583],simde_mm256_xor_si256(c2[4423],simde_mm256_xor_si256(c2[97],simde_mm256_xor_si256(c2[2496],simde_mm256_xor_si256(c2[4278],simde_mm256_xor_si256(c2[3315],simde_mm256_xor_si256(c2[4928],simde_mm256_xor_si256(c2[2369],simde_mm256_xor_si256(c2[2690],simde_mm256_xor_si256(c2[2064],simde_mm256_xor_si256(c2[1904],simde_mm256_xor_si256(c2[4305],c2[4949]))))))))))))))))))))))))))))))))));
//row: 36
d2[288]=simde_mm256_xor_si256(c2[1924],simde_mm256_xor_si256(c2[993],c2[4276]));
//row: 37
d2[296]=simde_mm256_xor_si256(c2[487],simde_mm256_xor_si256(c2[4964],simde_mm256_xor_si256(c2[164],simde_mm256_xor_si256(c2[4641],simde_mm256_xor_si256(c2[1761],simde_mm256_xor_si256(c2[1127],simde_mm256_xor_si256(c2[2418],simde_mm256_xor_si256(c2[1776],simde_mm256_xor_si256(c2[1938],simde_mm256_xor_si256(c2[1296],simde_mm256_xor_si256(c2[4980],simde_mm256_xor_si256(c2[343],simde_mm256_xor_si256(c2[4820],simde_mm256_xor_si256(c2[997],simde_mm256_xor_si256(c2[355],simde_mm256_xor_si256(c2[2758],simde_mm256_xor_si256(c2[3232],simde_mm256_xor_si256(c2[2598],simde_mm256_xor_si256(c2[3255],simde_mm256_xor_si256(c2[2613],simde_mm256_xor_si256(c2[52],simde_mm256_xor_si256(c2[4529],simde_mm256_xor_si256(c2[1008],simde_mm256_xor_si256(c2[374],simde_mm256_xor_si256(c2[3750],simde_mm256_xor_si256(c2[3108],simde_mm256_xor_si256(c2[2304],simde_mm256_xor_si256(c2[1670],simde_mm256_xor_si256(c2[3425],simde_mm256_xor_si256(c2[3907],simde_mm256_xor_si256(c2[3265],simde_mm256_xor_si256(c2[3762],simde_mm256_xor_si256(c2[3120],simde_mm256_xor_si256(c2[5047],simde_mm256_xor_si256(c2[402],simde_mm256_xor_si256(c2[4887],simde_mm256_xor_si256(c2[3780],simde_mm256_xor_si256(c2[3138],simde_mm256_xor_si256(c2[4581],simde_mm256_xor_si256(c2[3939],simde_mm256_xor_si256(c2[1379],simde_mm256_xor_si256(c2[1861],simde_mm256_xor_si256(c2[1219],simde_mm256_xor_si256(c2[3635],simde_mm256_xor_si256(c2[2993],simde_mm256_xor_si256(c2[2198],simde_mm256_xor_si256(c2[2672],simde_mm256_xor_si256(c2[2038],simde_mm256_xor_si256(c2[4293],simde_mm256_xor_si256(c2[3651],simde_mm256_xor_si256(c2[1734],simde_mm256_xor_si256(c2[1092],simde_mm256_xor_si256(c2[1573],simde_mm256_xor_si256(c2[2055],simde_mm256_xor_si256(c2[1413],simde_mm256_xor_si256(c2[1269],simde_mm256_xor_si256(c2[627],simde_mm256_xor_si256(c2[3670],simde_mm256_xor_si256(c2[3028],simde_mm256_xor_si256(c2[3824],simde_mm256_xor_si256(c2[4306],c2[3664])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[304]=simde_mm256_xor_si256(c2[2401],simde_mm256_xor_si256(c2[2241],simde_mm256_xor_si256(c2[1926],simde_mm256_xor_si256(c2[3523],simde_mm256_xor_si256(c2[4340],simde_mm256_xor_si256(c2[4180],simde_mm256_xor_si256(c2[3700],simde_mm256_xor_si256(c2[2097],simde_mm256_xor_si256(c2[4976],simde_mm256_xor_si256(c2[2919],simde_mm256_xor_si256(c2[2759],simde_mm256_xor_si256(c2[4994],simde_mm256_xor_si256(c2[50],simde_mm256_xor_si256(c2[5009],simde_mm256_xor_si256(c2[1814],simde_mm256_xor_si256(c2[2770],simde_mm256_xor_si256(c2[385],simde_mm256_xor_si256(c2[4066],simde_mm256_xor_si256(c2[550],simde_mm256_xor_si256(c2[405],simde_mm256_xor_si256(c2[2164],simde_mm256_xor_si256(c2[402],simde_mm256_xor_si256(c2[583],simde_mm256_xor_si256(c2[423],simde_mm256_xor_si256(c2[1216],simde_mm256_xor_si256(c2[3623],simde_mm256_xor_si256(c2[278],simde_mm256_xor_si256(c2[4434],simde_mm256_xor_si256(c2[928],simde_mm256_xor_si256(c2[3488],simde_mm256_xor_si256(c2[3809],simde_mm256_xor_si256(c2[3191],simde_mm256_xor_si256(c2[3031],simde_mm256_xor_si256(c2[305],c2[949]))))))))))))))))))))))))))))))))));
//row: 39
d2[312]=simde_mm256_xor_si256(c2[1761],simde_mm256_xor_si256(c2[1601],simde_mm256_xor_si256(c2[1446],simde_mm256_xor_si256(c2[1286],simde_mm256_xor_si256(c2[2883],simde_mm256_xor_si256(c2[2407],simde_mm256_xor_si256(c2[3700],simde_mm256_xor_si256(c2[3540],simde_mm256_xor_si256(c2[3060],simde_mm256_xor_si256(c2[1457],simde_mm256_xor_si256(c2[2279],simde_mm256_xor_si256(c2[2119],simde_mm256_xor_si256(c2[4354],simde_mm256_xor_si256(c2[4529],simde_mm256_xor_si256(c2[4369],simde_mm256_xor_si256(c2[1334],simde_mm256_xor_si256(c2[1174],simde_mm256_xor_si256(c2[2130],simde_mm256_xor_si256(c2[5024],simde_mm256_xor_si256(c2[4864],simde_mm256_xor_si256(c2[3426],simde_mm256_xor_si256(c2[5029],simde_mm256_xor_si256(c2[5044],simde_mm256_xor_si256(c2[4884],simde_mm256_xor_si256(c2[1524],simde_mm256_xor_si256(c2[5062],simde_mm256_xor_si256(c2[4902],simde_mm256_xor_si256(c2[736],simde_mm256_xor_si256(c2[576],simde_mm256_xor_si256(c2[2983],simde_mm256_xor_si256(c2[4917],simde_mm256_xor_si256(c2[4757],simde_mm256_xor_si256(c2[3794],simde_mm256_xor_si256(c2[2037],simde_mm256_xor_si256(c2[448],simde_mm256_xor_si256(c2[288],simde_mm256_xor_si256(c2[2848],simde_mm256_xor_si256(c2[3169],simde_mm256_xor_si256(c2[2551],simde_mm256_xor_si256(c2[2391],simde_mm256_xor_si256(c2[4944],simde_mm256_xor_si256(c2[4784],c2[309]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[320]=simde_mm256_xor_si256(c2[3042],simde_mm256_xor_si256(c2[4],simde_mm256_xor_si256(c2[2727],simde_mm256_xor_si256(c2[4800],simde_mm256_xor_si256(c2[4324],simde_mm256_xor_si256(c2[1286],simde_mm256_xor_si256(c2[4981],simde_mm256_xor_si256(c2[1943],simde_mm256_xor_si256(c2[4501],simde_mm256_xor_si256(c2[1463],simde_mm256_xor_si256(c2[20],simde_mm256_xor_si256(c2[2898],simde_mm256_xor_si256(c2[4979],simde_mm256_xor_si256(c2[3552],simde_mm256_xor_si256(c2[514],simde_mm256_xor_si256(c2[2917],simde_mm256_xor_si256(c2[676],simde_mm256_xor_si256(c2[2757],simde_mm256_xor_si256(c2[32],simde_mm256_xor_si256(c2[691],simde_mm256_xor_si256(c2[2772],simde_mm256_xor_si256(c2[2615],simde_mm256_xor_si256(c2[4688],simde_mm256_xor_si256(c2[3571],simde_mm256_xor_si256(c2[533],simde_mm256_xor_si256(c2[1186],simde_mm256_xor_si256(c2[3267],simde_mm256_xor_si256(c2[4867],simde_mm256_xor_si256(c2[1829],simde_mm256_xor_si256(c2[3584],simde_mm256_xor_si256(c2[1351],simde_mm256_xor_si256(c2[3424],simde_mm256_xor_si256(c2[1206],simde_mm256_xor_si256(c2[3287],simde_mm256_xor_si256(c2[87],simde_mm256_xor_si256(c2[2965],simde_mm256_xor_si256(c2[5046],simde_mm256_xor_si256(c2[1216],simde_mm256_xor_si256(c2[3297],simde_mm256_xor_si256(c2[2017],simde_mm256_xor_si256(c2[4098],simde_mm256_xor_si256(c2[1538],simde_mm256_xor_si256(c2[4416],simde_mm256_xor_si256(c2[1378],simde_mm256_xor_si256(c2[1079],simde_mm256_xor_si256(c2[3152],simde_mm256_xor_si256(c2[2357],simde_mm256_xor_si256(c2[116],simde_mm256_xor_si256(c2[2197],simde_mm256_xor_si256(c2[1729],simde_mm256_xor_si256(c2[3810],simde_mm256_xor_si256(c2[4289],simde_mm256_xor_si256(c2[1251],simde_mm256_xor_si256(c2[1732],simde_mm256_xor_si256(c2[4610],simde_mm256_xor_si256(c2[1572],simde_mm256_xor_si256(c2[3824],simde_mm256_xor_si256(c2[786],simde_mm256_xor_si256(c2[1106],simde_mm256_xor_si256(c2[3187],simde_mm256_xor_si256(c2[3991],simde_mm256_xor_si256(c2[1750],c2[3831]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[328]=simde_mm256_xor_si256(c2[4963],simde_mm256_xor_si256(c2[4803],simde_mm256_xor_si256(c2[4480],simde_mm256_xor_si256(c2[966],simde_mm256_xor_si256(c2[1783],simde_mm256_xor_si256(c2[1623],simde_mm256_xor_si256(c2[1143],simde_mm256_xor_si256(c2[4659],simde_mm256_xor_si256(c2[180],simde_mm256_xor_si256(c2[354],simde_mm256_xor_si256(c2[194],simde_mm256_xor_si256(c2[2437],simde_mm256_xor_si256(c2[2612],simde_mm256_xor_si256(c2[2452],simde_mm256_xor_si256(c2[4368],simde_mm256_xor_si256(c2[213],simde_mm256_xor_si256(c2[2947],simde_mm256_xor_si256(c2[1509],simde_mm256_xor_si256(c2[3104],simde_mm256_xor_si256(c2[2967],simde_mm256_xor_si256(c2[4726],simde_mm256_xor_si256(c2[887],simde_mm256_xor_si256(c2[3137],simde_mm256_xor_si256(c2[2977],simde_mm256_xor_si256(c2[3778],simde_mm256_xor_si256(c2[1058],simde_mm256_xor_si256(c2[2832],simde_mm256_xor_si256(c2[1877],simde_mm256_xor_si256(c2[3490],simde_mm256_xor_si256(c2[931],simde_mm256_xor_si256(c2[1252],simde_mm256_xor_si256(c2[626],simde_mm256_xor_si256(c2[466],simde_mm256_xor_si256(c2[2867],c2[3511]))))))))))))))))))))))))))))))))));
}
}
#endif