Files
openairinterface5g/openair1/PHY/CODING/nrLDPC_encoder/ldpc_BG2_Zc240_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

140 lines
42 KiB
C

#include "PHY/sse_intrin.h"
// generated code for Zc=240, byte encoding
static inline __attribute__ ((no_sanitize("address", "undefined"))) void ldpc_BG2_Zc240_byte(uint8_t *c,uint8_t *d) {
simde__m128i *csimd=(simde__m128i *)c,*dsimd=(simde__m128i *)d;
simde__m128i *c2,*d2;
int i2;
for (i2=0; i2<15; i2++) {
c2=&csimd[i2];
d2=&dsimd[i2];
//row: 0
d2[0]=simde_mm_xor_si128(c2[309],simde_mm_xor_si128(c2[4208],simde_mm_xor_si128(c2[3004],simde_mm_xor_si128(c2[938],simde_mm_xor_si128(c2[4531],simde_mm_xor_si128(c2[4544],simde_mm_xor_si128(c2[2164],simde_mm_xor_si128(c2[3370],simde_mm_xor_si128(c2[1591],simde_mm_xor_si128(c2[4300],simde_mm_xor_si128(c2[990],simde_mm_xor_si128(c2[2231],simde_mm_xor_si128(c2[1623],simde_mm_xor_si128(c2[4625],simde_mm_xor_si128(c2[3451],simde_mm_xor_si128(c2[4356],simde_mm_xor_si128(c2[2281],simde_mm_xor_si128(c2[186],simde_mm_xor_si128(c2[4689],simde_mm_xor_si128(c2[2311],simde_mm_xor_si128(c2[2322],simde_mm_xor_si128(c2[2940],simde_mm_xor_si128(c2[3549],simde_mm_xor_si128(c2[3542],simde_mm_xor_si128(c2[277],simde_mm_xor_si128(c2[2380],c2[3574]))))))))))))))))))))))))));
//row: 1
d2[15]=simde_mm_xor_si128(c2[309],simde_mm_xor_si128(c2[609],simde_mm_xor_si128(c2[4508],simde_mm_xor_si128(c2[3304],simde_mm_xor_si128(c2[938],simde_mm_xor_si128(c2[1238],simde_mm_xor_si128(c2[32],simde_mm_xor_si128(c2[30],simde_mm_xor_si128(c2[2164],simde_mm_xor_si128(c2[2464],simde_mm_xor_si128(c2[3670],simde_mm_xor_si128(c2[1591],simde_mm_xor_si128(c2[1891],simde_mm_xor_si128(c2[4600],simde_mm_xor_si128(c2[1290],simde_mm_xor_si128(c2[2531],simde_mm_xor_si128(c2[1923],simde_mm_xor_si128(c2[126],simde_mm_xor_si128(c2[3751],simde_mm_xor_si128(c2[4656],simde_mm_xor_si128(c2[2281],simde_mm_xor_si128(c2[2581],simde_mm_xor_si128(c2[486],simde_mm_xor_si128(c2[190],simde_mm_xor_si128(c2[2611],simde_mm_xor_si128(c2[2622],simde_mm_xor_si128(c2[3240],simde_mm_xor_si128(c2[3849],simde_mm_xor_si128(c2[3842],simde_mm_xor_si128(c2[277],simde_mm_xor_si128(c2[577],simde_mm_xor_si128(c2[2680],c2[3874]))))))))))))))))))))))))))))))));
//row: 2
d2[30]=simde_mm_xor_si128(c2[309],simde_mm_xor_si128(c2[609],simde_mm_xor_si128(c2[4208],simde_mm_xor_si128(c2[4508],simde_mm_xor_si128(c2[3304],simde_mm_xor_si128(c2[938],simde_mm_xor_si128(c2[1238],simde_mm_xor_si128(c2[32],simde_mm_xor_si128(c2[30],simde_mm_xor_si128(c2[2164],simde_mm_xor_si128(c2[2464],simde_mm_xor_si128(c2[3670],simde_mm_xor_si128(c2[1591],simde_mm_xor_si128(c2[1891],simde_mm_xor_si128(c2[4300],simde_mm_xor_si128(c2[4600],simde_mm_xor_si128(c2[1290],simde_mm_xor_si128(c2[2231],simde_mm_xor_si128(c2[2531],simde_mm_xor_si128(c2[1923],simde_mm_xor_si128(c2[126],simde_mm_xor_si128(c2[3451],simde_mm_xor_si128(c2[3751],simde_mm_xor_si128(c2[4656],simde_mm_xor_si128(c2[2281],simde_mm_xor_si128(c2[2581],simde_mm_xor_si128(c2[186],simde_mm_xor_si128(c2[486],simde_mm_xor_si128(c2[190],simde_mm_xor_si128(c2[2311],simde_mm_xor_si128(c2[2611],simde_mm_xor_si128(c2[2622],simde_mm_xor_si128(c2[2940],simde_mm_xor_si128(c2[3240],simde_mm_xor_si128(c2[3849],simde_mm_xor_si128(c2[3842],simde_mm_xor_si128(c2[277],simde_mm_xor_si128(c2[577],simde_mm_xor_si128(c2[2380],simde_mm_xor_si128(c2[2680],c2[3874]))))))))))))))))))))))))))))))))))))))));
//row: 3
d2[45]=simde_mm_xor_si128(c2[609],simde_mm_xor_si128(c2[4508],simde_mm_xor_si128(c2[3304],simde_mm_xor_si128(c2[1238],simde_mm_xor_si128(c2[32],simde_mm_xor_si128(c2[4544],simde_mm_xor_si128(c2[30],simde_mm_xor_si128(c2[2464],simde_mm_xor_si128(c2[3370],simde_mm_xor_si128(c2[3670],simde_mm_xor_si128(c2[1891],simde_mm_xor_si128(c2[4600],simde_mm_xor_si128(c2[1290],simde_mm_xor_si128(c2[2531],simde_mm_xor_si128(c2[1923],simde_mm_xor_si128(c2[4625],simde_mm_xor_si128(c2[126],simde_mm_xor_si128(c2[3751],simde_mm_xor_si128(c2[4356],simde_mm_xor_si128(c2[4656],simde_mm_xor_si128(c2[2581],simde_mm_xor_si128(c2[486],simde_mm_xor_si128(c2[4689],simde_mm_xor_si128(c2[190],simde_mm_xor_si128(c2[2611],simde_mm_xor_si128(c2[2322],simde_mm_xor_si128(c2[2622],simde_mm_xor_si128(c2[3240],simde_mm_xor_si128(c2[3849],simde_mm_xor_si128(c2[3542],simde_mm_xor_si128(c2[3842],simde_mm_xor_si128(c2[577],simde_mm_xor_si128(c2[2680],simde_mm_xor_si128(c2[3574],c2[3874]))))))))))))))))))))))))))))))))));
//row: 4
d2[60]=simde_mm_xor_si128(c2[1505],simde_mm_xor_si128(c2[1805],simde_mm_xor_si128(c2[905],simde_mm_xor_si128(c2[4500],simde_mm_xor_si128(c2[3901],simde_mm_xor_si128(c2[2134],simde_mm_xor_si128(c2[2434],simde_mm_xor_si128(c2[1243],simde_mm_xor_si128(c2[1241],simde_mm_xor_si128(c2[3638],simde_mm_xor_si128(c2[3360],simde_mm_xor_si128(c2[3660],simde_mm_xor_si128(c2[67],simde_mm_xor_si128(c2[2802],simde_mm_xor_si128(c2[3102],simde_mm_xor_si128(c2[997],simde_mm_xor_si128(c2[2501],simde_mm_xor_si128(c2[3727],simde_mm_xor_si128(c2[3134],simde_mm_xor_si128(c2[1322],simde_mm_xor_si128(c2[163],simde_mm_xor_si128(c2[1053],simde_mm_xor_si128(c2[3492],simde_mm_xor_si128(c2[3792],simde_mm_xor_si128(c2[1682],simde_mm_xor_si128(c2[1386],simde_mm_xor_si128(c2[3822],simde_mm_xor_si128(c2[3818],simde_mm_xor_si128(c2[4451],simde_mm_xor_si128(c2[246],simde_mm_xor_si128(c2[254],simde_mm_xor_si128(c2[1473],simde_mm_xor_si128(c2[1773],simde_mm_xor_si128(c2[3876],c2[271]))))))))))))))))))))))))))))))))));
//row: 5
d2[75]=simde_mm_xor_si128(c2[7],simde_mm_xor_si128(c2[307],simde_mm_xor_si128(c2[4206],simde_mm_xor_si128(c2[3002],simde_mm_xor_si128(c2[2707],simde_mm_xor_si128(c2[636],simde_mm_xor_si128(c2[936],simde_mm_xor_si128(c2[4544],simde_mm_xor_si128(c2[4542],simde_mm_xor_si128(c2[2732],simde_mm_xor_si128(c2[1862],simde_mm_xor_si128(c2[2162],simde_mm_xor_si128(c2[3368],simde_mm_xor_si128(c2[1304],simde_mm_xor_si128(c2[1604],simde_mm_xor_si128(c2[4298],simde_mm_xor_si128(c2[1003],simde_mm_xor_si128(c2[2229],simde_mm_xor_si128(c2[1621],simde_mm_xor_si128(c2[4623],simde_mm_xor_si128(c2[3464],simde_mm_xor_si128(c2[4354],simde_mm_xor_si128(c2[2860],simde_mm_xor_si128(c2[1994],simde_mm_xor_si128(c2[2294],simde_mm_xor_si128(c2[184],simde_mm_xor_si128(c2[4687],simde_mm_xor_si128(c2[2324],simde_mm_xor_si128(c2[2320],simde_mm_xor_si128(c2[2615],simde_mm_xor_si128(c2[2953],simde_mm_xor_si128(c2[3547],simde_mm_xor_si128(c2[3540],simde_mm_xor_si128(c2[4774],simde_mm_xor_si128(c2[275],simde_mm_xor_si128(c2[2378],c2[3572]))))))))))))))))))))))))))))))))))));
//row: 6
d2[90]=simde_mm_xor_si128(c2[2712],simde_mm_xor_si128(c2[3012],simde_mm_xor_si128(c2[2112],simde_mm_xor_si128(c2[908],simde_mm_xor_si128(c2[2708],simde_mm_xor_si128(c2[3341],simde_mm_xor_si128(c2[3641],simde_mm_xor_si128(c2[2435],simde_mm_xor_si128(c2[2433],simde_mm_xor_si128(c2[4567],simde_mm_xor_si128(c2[68],simde_mm_xor_si128(c2[1274],simde_mm_xor_si128(c2[3994],simde_mm_xor_si128(c2[4294],simde_mm_xor_si128(c2[2204],simde_mm_xor_si128(c2[3693],simde_mm_xor_si128(c2[120],simde_mm_xor_si128(c2[4326],simde_mm_xor_si128(c2[2529],simde_mm_xor_si128(c2[1355],simde_mm_xor_si128(c2[2260],simde_mm_xor_si128(c2[2554],simde_mm_xor_si128(c2[4684],simde_mm_xor_si128(c2[185],simde_mm_xor_si128(c2[2889],simde_mm_xor_si128(c2[2593],simde_mm_xor_si128(c2[215],simde_mm_xor_si128(c2[211],simde_mm_xor_si128(c2[3820],simde_mm_xor_si128(c2[844],simde_mm_xor_si128(c2[1453],simde_mm_xor_si128(c2[1446],simde_mm_xor_si128(c2[2680],simde_mm_xor_si128(c2[2980],simde_mm_xor_si128(c2[284],simde_mm_xor_si128(c2[1478],c2[3877]))))))))))))))))))))))))))))))))))));
//row: 7
d2[105]=simde_mm_xor_si128(c2[3904],simde_mm_xor_si128(c2[4204],simde_mm_xor_si128(c2[3603],simde_mm_xor_si128(c2[3304],simde_mm_xor_si128(c2[2703],simde_mm_xor_si128(c2[2100],simde_mm_xor_si128(c2[1514],simde_mm_xor_si128(c2[4533],simde_mm_xor_si128(c2[34],simde_mm_xor_si128(c2[4232],simde_mm_xor_si128(c2[3642],simde_mm_xor_si128(c2[3041],simde_mm_xor_si128(c2[3640],simde_mm_xor_si128(c2[2739],simde_mm_xor_si128(c2[3039],simde_mm_xor_si128(c2[1835],simde_mm_xor_si128(c2[960],simde_mm_xor_si128(c2[1260],simde_mm_xor_si128(c2[674],simde_mm_xor_si128(c2[2466],simde_mm_xor_si128(c2[1565],simde_mm_xor_si128(c2[1865],simde_mm_xor_si128(c2[402],simde_mm_xor_si128(c2[702],simde_mm_xor_si128(c2[101],simde_mm_xor_si128(c2[3396],simde_mm_xor_si128(c2[2795],simde_mm_xor_si128(c2[101],simde_mm_xor_si128(c2[4299],simde_mm_xor_si128(c2[1327],simde_mm_xor_si128(c2[726],simde_mm_xor_si128(c2[734],simde_mm_xor_si128(c2[133],simde_mm_xor_si128(c2[3721],simde_mm_xor_si128(c2[2820],simde_mm_xor_si128(c2[3120],simde_mm_xor_si128(c2[2562],simde_mm_xor_si128(c2[1961],simde_mm_xor_si128(c2[3452],simde_mm_xor_si128(c2[2551],simde_mm_xor_si128(c2[2851],simde_mm_xor_si128(c2[3161],simde_mm_xor_si128(c2[1092],simde_mm_xor_si128(c2[1392],simde_mm_xor_si128(c2[791],simde_mm_xor_si128(c2[4081],simde_mm_xor_si128(c2[3480],simde_mm_xor_si128(c2[3785],simde_mm_xor_si128(c2[2884],simde_mm_xor_si128(c2[3184],simde_mm_xor_si128(c2[1422],simde_mm_xor_si128(c2[821],simde_mm_xor_si128(c2[1418],simde_mm_xor_si128(c2[517],simde_mm_xor_si128(c2[817],simde_mm_xor_si128(c2[2315],simde_mm_xor_si128(c2[2051],simde_mm_xor_si128(c2[1450],simde_mm_xor_si128(c2[2645],simde_mm_xor_si128(c2[2044],simde_mm_xor_si128(c2[2653],simde_mm_xor_si128(c2[1752],simde_mm_xor_si128(c2[2052],simde_mm_xor_si128(c2[3872],simde_mm_xor_si128(c2[4172],simde_mm_xor_si128(c2[3571],simde_mm_xor_si128(c2[1476],simde_mm_xor_si128(c2[875],simde_mm_xor_si128(c2[2670],simde_mm_xor_si128(c2[1784],c2[2084]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 8
d2[120]=simde_mm_xor_si128(c2[608],simde_mm_xor_si128(c2[908],simde_mm_xor_si128(c2[4507],simde_mm_xor_si128(c2[8],simde_mm_xor_si128(c2[3603],simde_mm_xor_si128(c2[11],simde_mm_xor_si128(c2[1237],simde_mm_xor_si128(c2[1537],simde_mm_xor_si128(c2[331],simde_mm_xor_si128(c2[344],simde_mm_xor_si128(c2[2740],simde_mm_xor_si128(c2[2463],simde_mm_xor_si128(c2[2763],simde_mm_xor_si128(c2[3969],simde_mm_xor_si128(c2[1890],simde_mm_xor_si128(c2[2190],simde_mm_xor_si128(c2[4599],simde_mm_xor_si128(c2[100],simde_mm_xor_si128(c2[1604],simde_mm_xor_si128(c2[2530],simde_mm_xor_si128(c2[2830],simde_mm_xor_si128(c2[2222],simde_mm_xor_si128(c2[425],simde_mm_xor_si128(c2[3750],simde_mm_xor_si128(c2[4050],simde_mm_xor_si128(c2[156],simde_mm_xor_si128(c2[2580],simde_mm_xor_si128(c2[2880],simde_mm_xor_si128(c2[485],simde_mm_xor_si128(c2[785],simde_mm_xor_si128(c2[489],simde_mm_xor_si128(c2[2610],simde_mm_xor_si128(c2[2910],simde_mm_xor_si128(c2[2921],simde_mm_xor_si128(c2[3254],simde_mm_xor_si128(c2[3554],simde_mm_xor_si128(c2[4148],simde_mm_xor_si128(c2[4141],simde_mm_xor_si128(c2[576],simde_mm_xor_si128(c2[876],simde_mm_xor_si128(c2[2679],simde_mm_xor_si128(c2[2979],c2[4173]))))))))))))))))))))))))))))))))))))))))));
//row: 9
d2[135]=simde_mm_xor_si128(c2[312],simde_mm_xor_si128(c2[1513],simde_mm_xor_si128(c2[1813],simde_mm_xor_si128(c2[4211],simde_mm_xor_si128(c2[913],simde_mm_xor_si128(c2[3007],simde_mm_xor_si128(c2[4508],simde_mm_xor_si128(c2[941],simde_mm_xor_si128(c2[2142],simde_mm_xor_si128(c2[2442],simde_mm_xor_si128(c2[4534],simde_mm_xor_si128(c2[1236],simde_mm_xor_si128(c2[4532],simde_mm_xor_si128(c2[1234],simde_mm_xor_si128(c2[2140],simde_mm_xor_si128(c2[2167],simde_mm_xor_si128(c2[3368],simde_mm_xor_si128(c2[3668],simde_mm_xor_si128(c2[3373],simde_mm_xor_si128(c2[60],simde_mm_xor_si128(c2[1594],simde_mm_xor_si128(c2[2795],simde_mm_xor_si128(c2[3095],simde_mm_xor_si128(c2[4303],simde_mm_xor_si128(c2[990],simde_mm_xor_si128(c2[993],simde_mm_xor_si128(c2[2494],simde_mm_xor_si128(c2[2234],simde_mm_xor_si128(c2[3720],simde_mm_xor_si128(c2[1626],simde_mm_xor_si128(c2[3127],simde_mm_xor_si128(c2[4628],simde_mm_xor_si128(c2[1330],simde_mm_xor_si128(c2[3454],simde_mm_xor_si128(c2[156],simde_mm_xor_si128(c2[4359],simde_mm_xor_si128(c2[1061],simde_mm_xor_si128(c2[2284],simde_mm_xor_si128(c2[3485],simde_mm_xor_si128(c2[3785],simde_mm_xor_si128(c2[189],simde_mm_xor_si128(c2[1690],simde_mm_xor_si128(c2[4692],simde_mm_xor_si128(c2[1394],simde_mm_xor_si128(c2[2314],simde_mm_xor_si128(c2[3815],simde_mm_xor_si128(c2[2310],simde_mm_xor_si128(c2[3811],simde_mm_xor_si128(c2[2943],simde_mm_xor_si128(c2[4444],simde_mm_xor_si128(c2[3552],simde_mm_xor_si128(c2[254],simde_mm_xor_si128(c2[3545],simde_mm_xor_si128(c2[247],simde_mm_xor_si128(c2[4454],simde_mm_xor_si128(c2[280],simde_mm_xor_si128(c2[1481],simde_mm_xor_si128(c2[1781],simde_mm_xor_si128(c2[2383],simde_mm_xor_si128(c2[3884],simde_mm_xor_si128(c2[3577],c2[279])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 10
d2[150]=simde_mm_xor_si128(c2[1802],simde_mm_xor_si128(c2[2743],simde_mm_xor_si128(c2[193],c2[2624])));
//row: 11
d2[165]=simde_mm_xor_si128(c2[1512],simde_mm_xor_si128(c2[612],simde_mm_xor_si128(c2[4207],simde_mm_xor_si128(c2[611],simde_mm_xor_si128(c2[2141],simde_mm_xor_si128(c2[935],simde_mm_xor_si128(c2[633],simde_mm_xor_si128(c2[933],simde_mm_xor_si128(c2[3367],simde_mm_xor_si128(c2[4273],simde_mm_xor_si128(c2[4573],simde_mm_xor_si128(c2[2794],simde_mm_xor_si128(c2[704],simde_mm_xor_si128(c2[2193],simde_mm_xor_si128(c2[3434],simde_mm_xor_si128(c2[2826],simde_mm_xor_si128(c2[729],simde_mm_xor_si128(c2[1029],simde_mm_xor_si128(c2[4654],simde_mm_xor_si128(c2[460],simde_mm_xor_si128(c2[760],simde_mm_xor_si128(c2[3484],simde_mm_xor_si128(c2[1389],simde_mm_xor_si128(c2[793],simde_mm_xor_si128(c2[1093],simde_mm_xor_si128(c2[3514],simde_mm_xor_si128(c2[3210],simde_mm_xor_si128(c2[3510],simde_mm_xor_si128(c2[2023],simde_mm_xor_si128(c2[4143],simde_mm_xor_si128(c2[4752],simde_mm_xor_si128(c2[4445],simde_mm_xor_si128(c2[4745],simde_mm_xor_si128(c2[1480],simde_mm_xor_si128(c2[3583],simde_mm_xor_si128(c2[4477],simde_mm_xor_si128(c2[4777],c2[2680])))))))))))))))))))))))))))))))))))));
//row: 12
d2[180]=simde_mm_xor_si128(c2[2713],simde_mm_xor_si128(c2[3013],simde_mm_xor_si128(c2[2113],simde_mm_xor_si128(c2[909],simde_mm_xor_si128(c2[3342],simde_mm_xor_si128(c2[3642],simde_mm_xor_si128(c2[2436],simde_mm_xor_si128(c2[2434],simde_mm_xor_si128(c2[3637],simde_mm_xor_si128(c2[4568],simde_mm_xor_si128(c2[69],simde_mm_xor_si128(c2[1260],simde_mm_xor_si128(c2[3995],simde_mm_xor_si128(c2[4295],simde_mm_xor_si128(c2[2190],simde_mm_xor_si128(c2[3694],simde_mm_xor_si128(c2[3097],simde_mm_xor_si128(c2[121],simde_mm_xor_si128(c2[4327],simde_mm_xor_si128(c2[2530],simde_mm_xor_si128(c2[1356],simde_mm_xor_si128(c2[2261],simde_mm_xor_si128(c2[4685],simde_mm_xor_si128(c2[186],simde_mm_xor_si128(c2[2890],simde_mm_xor_si128(c2[2594],simde_mm_xor_si128(c2[216],simde_mm_xor_si128(c2[212],simde_mm_xor_si128(c2[845],simde_mm_xor_si128(c2[1454],simde_mm_xor_si128(c2[1447],simde_mm_xor_si128(c2[2681],simde_mm_xor_si128(c2[2981],simde_mm_xor_si128(c2[270],c2[1479]))))))))))))))))))))))))))))))))));
//row: 13
d2[195]=simde_mm_xor_si128(c2[3907],simde_mm_xor_si128(c2[3007],simde_mm_xor_si128(c2[1803],simde_mm_xor_si128(c2[3],simde_mm_xor_si128(c2[4536],simde_mm_xor_si128(c2[3330],simde_mm_xor_si128(c2[3043],simde_mm_xor_si128(c2[3343],simde_mm_xor_si128(c2[2733],simde_mm_xor_si128(c2[963],simde_mm_xor_si128(c2[1869],simde_mm_xor_si128(c2[2169],simde_mm_xor_si128(c2[390],simde_mm_xor_si128(c2[3099],simde_mm_xor_si128(c2[4603],simde_mm_xor_si128(c2[1030],simde_mm_xor_si128(c2[422],simde_mm_xor_si128(c2[3124],simde_mm_xor_si128(c2[3424],simde_mm_xor_si128(c2[2250],simde_mm_xor_si128(c2[2855],simde_mm_xor_si128(c2[3155],simde_mm_xor_si128(c2[1080],simde_mm_xor_si128(c2[3784],simde_mm_xor_si128(c2[3188],simde_mm_xor_si128(c2[3488],simde_mm_xor_si128(c2[1110],simde_mm_xor_si128(c2[821],simde_mm_xor_si128(c2[1121],simde_mm_xor_si128(c2[1754],simde_mm_xor_si128(c2[2348],simde_mm_xor_si128(c2[2041],simde_mm_xor_si128(c2[2341],simde_mm_xor_si128(c2[2350],simde_mm_xor_si128(c2[3875],simde_mm_xor_si128(c2[1179],simde_mm_xor_si128(c2[2073],c2[2373])))))))))))))))))))))))))))))))))))));
//row: 14
d2[210]=simde_mm_xor_si128(c2[3906],simde_mm_xor_si128(c2[4206],simde_mm_xor_si128(c2[1204],simde_mm_xor_si128(c2[3306],simde_mm_xor_si128(c2[304],simde_mm_xor_si128(c2[2102],simde_mm_xor_si128(c2[3914],simde_mm_xor_si128(c2[4535],simde_mm_xor_si128(c2[36],simde_mm_xor_si128(c2[1833],simde_mm_xor_si128(c2[3644],simde_mm_xor_si128(c2[642],simde_mm_xor_si128(c2[3642],simde_mm_xor_si128(c2[340],simde_mm_xor_si128(c2[640],simde_mm_xor_si128(c2[635],simde_mm_xor_si128(c2[962],simde_mm_xor_si128(c2[1262],simde_mm_xor_si128(c2[3074],simde_mm_xor_si128(c2[2468],simde_mm_xor_si128(c2[3965],simde_mm_xor_si128(c2[4265],simde_mm_xor_si128(c2[404],simde_mm_xor_si128(c2[704],simde_mm_xor_si128(c2[2501],simde_mm_xor_si128(c2[3398],simde_mm_xor_si128(c2[396],simde_mm_xor_si128(c2[103],simde_mm_xor_si128(c2[1900],simde_mm_xor_si128(c2[1329],simde_mm_xor_si128(c2[3126],simde_mm_xor_si128(c2[721],simde_mm_xor_si128(c2[2533],simde_mm_xor_si128(c2[3723],simde_mm_xor_si128(c2[421],simde_mm_xor_si128(c2[721],simde_mm_xor_si128(c2[2564],simde_mm_xor_si128(c2[4361],simde_mm_xor_si128(c2[3454],simde_mm_xor_si128(c2[152],simde_mm_xor_si128(c2[452],simde_mm_xor_si128(c2[1094],simde_mm_xor_si128(c2[1394],simde_mm_xor_si128(c2[3191],simde_mm_xor_si128(c2[4083],simde_mm_xor_si128(c2[1081],simde_mm_xor_si128(c2[3787],simde_mm_xor_si128(c2[485],simde_mm_xor_si128(c2[785],simde_mm_xor_si128(c2[2594],simde_mm_xor_si128(c2[1424],simde_mm_xor_si128(c2[3221],simde_mm_xor_si128(c2[1420],simde_mm_xor_si128(c2[2917],simde_mm_xor_si128(c2[3217],simde_mm_xor_si128(c2[2053],simde_mm_xor_si128(c2[3850],simde_mm_xor_si128(c2[2647],simde_mm_xor_si128(c2[4444],simde_mm_xor_si128(c2[2640],simde_mm_xor_si128(c2[4152],simde_mm_xor_si128(c2[4452],simde_mm_xor_si128(c2[3874],simde_mm_xor_si128(c2[4174],simde_mm_xor_si128(c2[1172],simde_mm_xor_si128(c2[1478],simde_mm_xor_si128(c2[3275],simde_mm_xor_si128(c2[2672],simde_mm_xor_si128(c2[4184],c2[4484])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 15
d2[225]=simde_mm_xor_si128(c2[3007],simde_mm_xor_si128(c2[4203],simde_mm_xor_si128(c2[4503],simde_mm_xor_si128(c2[2107],simde_mm_xor_si128(c2[3603],simde_mm_xor_si128(c2[903],simde_mm_xor_si128(c2[2414],simde_mm_xor_si128(c2[1802],simde_mm_xor_si128(c2[3636],simde_mm_xor_si128(c2[33],simde_mm_xor_si128(c2[333],simde_mm_xor_si128(c2[2430],simde_mm_xor_si128(c2[3941],simde_mm_xor_si128(c2[2443],simde_mm_xor_si128(c2[3939],simde_mm_xor_si128(c2[63],simde_mm_xor_si128(c2[1274],simde_mm_xor_si128(c2[1574],simde_mm_xor_si128(c2[1269],simde_mm_xor_si128(c2[2765],simde_mm_xor_si128(c2[4304],simde_mm_xor_si128(c2[701],simde_mm_xor_si128(c2[1001],simde_mm_xor_si128(c2[2199],simde_mm_xor_si128(c2[3695],simde_mm_xor_si128(c2[3703],simde_mm_xor_si128(c2[400],simde_mm_xor_si128(c2[130],simde_mm_xor_si128(c2[1626],simde_mm_xor_si128(c2[4321],simde_mm_xor_si128(c2[1033],simde_mm_xor_si128(c2[2524],simde_mm_xor_si128(c2[4020],simde_mm_xor_si128(c2[1350],simde_mm_xor_si128(c2[2861],simde_mm_xor_si128(c2[2255],simde_mm_xor_si128(c2[3751],simde_mm_xor_si128(c2[180],simde_mm_xor_si128(c2[1391],simde_mm_xor_si128(c2[1691],simde_mm_xor_si128(c2[2884],simde_mm_xor_si128(c2[4380],simde_mm_xor_si128(c2[2588],simde_mm_xor_si128(c2[4084],simde_mm_xor_si128(c2[210],simde_mm_xor_si128(c2[1721],simde_mm_xor_si128(c2[221],simde_mm_xor_si128(c2[1717],simde_mm_xor_si128(c2[854],simde_mm_xor_si128(c2[2350],simde_mm_xor_si128(c2[1448],simde_mm_xor_si128(c2[2944],simde_mm_xor_si128(c2[1441],simde_mm_xor_si128(c2[2952],simde_mm_xor_si128(c2[2975],simde_mm_xor_si128(c2[4171],simde_mm_xor_si128(c2[4471],simde_mm_xor_si128(c2[279],simde_mm_xor_si128(c2[1775],simde_mm_xor_si128(c2[1473],c2[2984]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 16
d2[240]=simde_mm_xor_si128(c2[5],simde_mm_xor_si128(c2[305],simde_mm_xor_si128(c2[3306],simde_mm_xor_si128(c2[3606],simde_mm_xor_si128(c2[4204],simde_mm_xor_si128(c2[2406],simde_mm_xor_si128(c2[2706],simde_mm_xor_si128(c2[3000],simde_mm_xor_si128(c2[1502],simde_mm_xor_si128(c2[634],simde_mm_xor_si128(c2[934],simde_mm_xor_si128(c2[3935],simde_mm_xor_si128(c2[4235],simde_mm_xor_si128(c2[4542],simde_mm_xor_si128(c2[3044],simde_mm_xor_si128(c2[4540],simde_mm_xor_si128(c2[3042],simde_mm_xor_si128(c2[3040],simde_mm_xor_si128(c2[1860],simde_mm_xor_si128(c2[2160],simde_mm_xor_si128(c2[362],simde_mm_xor_si128(c2[662],simde_mm_xor_si128(c2[3366],simde_mm_xor_si128(c2[1868],simde_mm_xor_si128(c2[1302],simde_mm_xor_si128(c2[1602],simde_mm_xor_si128(c2[4603],simde_mm_xor_si128(c2[104],simde_mm_xor_si128(c2[4296],simde_mm_xor_si128(c2[2498],simde_mm_xor_si128(c2[2798],simde_mm_xor_si128(c2[1001],simde_mm_xor_si128(c2[4302],simde_mm_xor_si128(c2[2227],simde_mm_xor_si128(c2[429],simde_mm_xor_si128(c2[729],simde_mm_xor_si128(c2[1634],simde_mm_xor_si128(c2[121],simde_mm_xor_si128(c2[4621],simde_mm_xor_si128(c2[3123],simde_mm_xor_si128(c2[3462],simde_mm_xor_si128(c2[1664],simde_mm_xor_si128(c2[1964],simde_mm_xor_si128(c2[4352],simde_mm_xor_si128(c2[2854],simde_mm_xor_si128(c2[1992],simde_mm_xor_si128(c2[2292],simde_mm_xor_si128(c2[494],simde_mm_xor_si128(c2[794],simde_mm_xor_si128(c2[182],simde_mm_xor_si128(c2[3183],simde_mm_xor_si128(c2[3483],simde_mm_xor_si128(c2[4685],simde_mm_xor_si128(c2[3187],simde_mm_xor_si128(c2[2322],simde_mm_xor_si128(c2[524],simde_mm_xor_si128(c2[824],simde_mm_xor_si128(c2[2318],simde_mm_xor_si128(c2[820],simde_mm_xor_si128(c2[2951],simde_mm_xor_si128(c2[1153],simde_mm_xor_si128(c2[1453],simde_mm_xor_si128(c2[3545],simde_mm_xor_si128(c2[2047],simde_mm_xor_si128(c2[3553],simde_mm_xor_si128(c2[2040],simde_mm_xor_si128(c2[4772],simde_mm_xor_si128(c2[273],simde_mm_xor_si128(c2[3274],simde_mm_xor_si128(c2[3574],simde_mm_xor_si128(c2[2376],simde_mm_xor_si128(c2[578],simde_mm_xor_si128(c2[878],simde_mm_xor_si128(c2[3570],simde_mm_xor_si128(c2[2072],c2[2371])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 17
d2[255]=simde_mm_xor_si128(c2[1206],simde_mm_xor_si128(c2[1506],simde_mm_xor_si128(c2[3307],simde_mm_xor_si128(c2[3607],simde_mm_xor_si128(c2[606],simde_mm_xor_si128(c2[2407],simde_mm_xor_si128(c2[2707],simde_mm_xor_si128(c2[4201],simde_mm_xor_si128(c2[1503],simde_mm_xor_si128(c2[1835],simde_mm_xor_si128(c2[2135],simde_mm_xor_si128(c2[3936],simde_mm_xor_si128(c2[4236],simde_mm_xor_si128(c2[944],simde_mm_xor_si128(c2[3030],simde_mm_xor_si128(c2[942],simde_mm_xor_si128(c2[3043],simde_mm_xor_si128(c2[1242],simde_mm_xor_si128(c2[3061],simde_mm_xor_si128(c2[3361],simde_mm_xor_si128(c2[363],simde_mm_xor_si128(c2[663],simde_mm_xor_si128(c2[4567],simde_mm_xor_si128(c2[1869],simde_mm_xor_si128(c2[2503],simde_mm_xor_si128(c2[2803],simde_mm_xor_si128(c2[4604],simde_mm_xor_si128(c2[90],simde_mm_xor_si128(c2[698],simde_mm_xor_si128(c2[2499],simde_mm_xor_si128(c2[2799],simde_mm_xor_si128(c2[2202],simde_mm_xor_si128(c2[4303],simde_mm_xor_si128(c2[3428],simde_mm_xor_si128(c2[430],simde_mm_xor_si128(c2[730],simde_mm_xor_si128(c2[2820],simde_mm_xor_si128(c2[122],simde_mm_xor_si128(c2[1023],simde_mm_xor_si128(c2[3124],simde_mm_xor_si128(c2[4663],simde_mm_xor_si128(c2[1650],simde_mm_xor_si128(c2[1950],simde_mm_xor_si128(c2[754],simde_mm_xor_si128(c2[2855],simde_mm_xor_si128(c2[4060],simde_mm_xor_si128(c2[3193],simde_mm_xor_si128(c2[3493],simde_mm_xor_si128(c2[480],simde_mm_xor_si128(c2[780],simde_mm_xor_si128(c2[1383],simde_mm_xor_si128(c2[3184],simde_mm_xor_si128(c2[3484],simde_mm_xor_si128(c2[1087],simde_mm_xor_si128(c2[3188],simde_mm_xor_si128(c2[3523],simde_mm_xor_si128(c2[510],simde_mm_xor_si128(c2[810],simde_mm_xor_si128(c2[3519],simde_mm_xor_si128(c2[821],simde_mm_xor_si128(c2[4152],simde_mm_xor_si128(c2[1154],simde_mm_xor_si128(c2[1454],simde_mm_xor_si128(c2[4746],simde_mm_xor_si128(c2[2048],simde_mm_xor_si128(c2[4754],simde_mm_xor_si128(c2[2041],simde_mm_xor_si128(c2[1174],simde_mm_xor_si128(c2[1474],simde_mm_xor_si128(c2[3275],simde_mm_xor_si128(c2[3575],simde_mm_xor_si128(c2[3577],simde_mm_xor_si128(c2[579],simde_mm_xor_si128(c2[879],simde_mm_xor_si128(c2[4771],c2[2073])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 18
d2[270]=simde_mm_xor_si128(c2[8],simde_mm_xor_si128(c2[1093],c2[823]));
//row: 19
d2[285]=simde_mm_xor_si128(c2[2714],simde_mm_xor_si128(c2[1814],simde_mm_xor_si128(c2[610],simde_mm_xor_si128(c2[2102],simde_mm_xor_si128(c2[3343],simde_mm_xor_si128(c2[2137],simde_mm_xor_si128(c2[2135],simde_mm_xor_si128(c2[1235],simde_mm_xor_si128(c2[4569],simde_mm_xor_si128(c2[961],simde_mm_xor_si128(c2[3996],simde_mm_xor_si128(c2[1891],simde_mm_xor_si128(c2[3395],simde_mm_xor_si128(c2[4621],simde_mm_xor_si128(c2[4028],simde_mm_xor_si128(c2[2231],simde_mm_xor_si128(c2[1057],simde_mm_xor_si128(c2[1962],simde_mm_xor_si128(c2[4686],simde_mm_xor_si128(c2[2591],simde_mm_xor_si128(c2[2280],simde_mm_xor_si128(c2[4716],simde_mm_xor_si128(c2[4712],simde_mm_xor_si128(c2[546],simde_mm_xor_si128(c2[1140],simde_mm_xor_si128(c2[1148],simde_mm_xor_si128(c2[2682],simde_mm_xor_si128(c2[4770],c2[1180]))))))))))))))))))))))))))));
//row: 20
d2[300]=simde_mm_xor_si128(c2[2109],simde_mm_xor_si128(c2[2409],simde_mm_xor_si128(c2[1509],simde_mm_xor_si128(c2[305],simde_mm_xor_si128(c2[2738],simde_mm_xor_si128(c2[3038],simde_mm_xor_si128(c2[1832],simde_mm_xor_si128(c2[1830],simde_mm_xor_si128(c2[1537],simde_mm_xor_si128(c2[3964],simde_mm_xor_si128(c2[4264],simde_mm_xor_si128(c2[671],simde_mm_xor_si128(c2[3391],simde_mm_xor_si128(c2[3691],simde_mm_xor_si128(c2[1601],simde_mm_xor_si128(c2[3090],simde_mm_xor_si128(c2[4331],simde_mm_xor_si128(c2[3723],simde_mm_xor_si128(c2[1926],simde_mm_xor_si128(c2[1034],simde_mm_xor_si128(c2[752],simde_mm_xor_si128(c2[1657],simde_mm_xor_si128(c2[4081],simde_mm_xor_si128(c2[4381],simde_mm_xor_si128(c2[2286],simde_mm_xor_si128(c2[1990],simde_mm_xor_si128(c2[4411],simde_mm_xor_si128(c2[4422],simde_mm_xor_si128(c2[241],simde_mm_xor_si128(c2[850],simde_mm_xor_si128(c2[843],simde_mm_xor_si128(c2[2077],simde_mm_xor_si128(c2[2377],simde_mm_xor_si128(c2[4480],c2[875]))))))))))))))))))))))))))))))))));
//row: 21
d2[315]=simde_mm_xor_si128(c2[3909],simde_mm_xor_si128(c2[3009],simde_mm_xor_si128(c2[1805],simde_mm_xor_si128(c2[4214],simde_mm_xor_si128(c2[4538],simde_mm_xor_si128(c2[3332],simde_mm_xor_si128(c2[3030],simde_mm_xor_si128(c2[3330],simde_mm_xor_si128(c2[965],simde_mm_xor_si128(c2[1871],simde_mm_xor_si128(c2[2171],simde_mm_xor_si128(c2[392],simde_mm_xor_si128(c2[3101],simde_mm_xor_si128(c2[4590],simde_mm_xor_si128(c2[1032],simde_mm_xor_si128(c2[424],simde_mm_xor_si128(c2[3126],simde_mm_xor_si128(c2[3426],simde_mm_xor_si128(c2[2252],simde_mm_xor_si128(c2[2857],simde_mm_xor_si128(c2[3157],simde_mm_xor_si128(c2[1082],simde_mm_xor_si128(c2[3786],simde_mm_xor_si128(c2[3190],simde_mm_xor_si128(c2[3490],simde_mm_xor_si128(c2[1112],simde_mm_xor_si128(c2[823],simde_mm_xor_si128(c2[1123],simde_mm_xor_si128(c2[1741],simde_mm_xor_si128(c2[2350],simde_mm_xor_si128(c2[2043],simde_mm_xor_si128(c2[2343],simde_mm_xor_si128(c2[4140],simde_mm_xor_si128(c2[3877],simde_mm_xor_si128(c2[1181],simde_mm_xor_si128(c2[2075],c2[2375]))))))))))))))))))))))))))))))))))));
//row: 22
d2[330]=simde_mm_xor_si128(c2[942],c2[3662]);
//row: 23
d2[345]=simde_mm_xor_si128(c2[1500],simde_mm_xor_si128(c2[4295],c2[4656]));
//row: 24
d2[360]=simde_mm_xor_si128(c2[335],simde_mm_xor_si128(c2[961],c2[878]));
//row: 25
d2[375]=simde_mm_xor_si128(c2[604],c2[4655]);
//row: 26
d2[390]=simde_mm_xor_si128(c2[4505],simde_mm_xor_si128(c2[6],simde_mm_xor_si128(c2[2414],simde_mm_xor_si128(c2[3605],simde_mm_xor_si128(c2[3905],simde_mm_xor_si128(c2[1514],simde_mm_xor_si128(c2[2701],simde_mm_xor_si128(c2[310],simde_mm_xor_si128(c2[335],simde_mm_xor_si128(c2[635],simde_mm_xor_si128(c2[3043],simde_mm_xor_si128(c2[4243],simde_mm_xor_si128(c2[1837],simde_mm_xor_si128(c2[4241],simde_mm_xor_si128(c2[1535],simde_mm_xor_si128(c2[1835],simde_mm_xor_si128(c2[1561],simde_mm_xor_si128(c2[1861],simde_mm_xor_si128(c2[4269],simde_mm_xor_si128(c2[3067],simde_mm_xor_si128(c2[361],simde_mm_xor_si128(c2[661],simde_mm_xor_si128(c2[669],simde_mm_xor_si128(c2[1003],simde_mm_xor_si128(c2[1303],simde_mm_xor_si128(c2[3696],simde_mm_xor_si128(c2[3697],simde_mm_xor_si128(c2[3997],simde_mm_xor_si128(c2[1591],simde_mm_xor_si128(c2[702],simde_mm_xor_si128(c2[3095],simde_mm_xor_si128(c2[1628],simde_mm_xor_si128(c2[1928],simde_mm_xor_si128(c2[4321],simde_mm_xor_si128(c2[1320],simde_mm_xor_si128(c2[3728],simde_mm_xor_si128(c2[4322],simde_mm_xor_si128(c2[1631],simde_mm_xor_si128(c2[1931],simde_mm_xor_si128(c2[2863],simde_mm_xor_si128(c2[3163],simde_mm_xor_si128(c2[757],simde_mm_xor_si128(c2[4053],simde_mm_xor_si128(c2[1362],simde_mm_xor_si128(c2[1662],simde_mm_xor_si128(c2[1693],simde_mm_xor_si128(c2[1993],simde_mm_xor_si128(c2[4386],simde_mm_xor_si128(c2[4382],simde_mm_xor_si128(c2[4682],simde_mm_xor_si128(c2[2291],simde_mm_xor_si128(c2[4386],simde_mm_xor_si128(c2[1680],simde_mm_xor_si128(c2[1980],simde_mm_xor_si128(c2[1723],simde_mm_xor_si128(c2[2023],simde_mm_xor_si128(c2[4416],simde_mm_xor_si128(c2[2019],simde_mm_xor_si128(c2[4112],simde_mm_xor_si128(c2[4412],simde_mm_xor_si128(c2[814],simde_mm_xor_si128(c2[2352],simde_mm_xor_si128(c2[2652],simde_mm_xor_si128(c2[246],simde_mm_xor_si128(c2[3246],simde_mm_xor_si128(c2[840],simde_mm_xor_si128(c2[3254],simde_mm_xor_si128(c2[548],simde_mm_xor_si128(c2[848],simde_mm_xor_si128(c2[4473],simde_mm_xor_si128(c2[4773],simde_mm_xor_si128(c2[2382],simde_mm_xor_si128(c2[1777],simde_mm_xor_si128(c2[2077],simde_mm_xor_si128(c2[4470],simde_mm_xor_si128(c2[3271],simde_mm_xor_si128(c2[580],c2[880])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 27
d2[405]=simde_mm_xor_si128(c2[4],c2[1691]);
//row: 28
d2[420]=simde_mm_xor_si128(c2[2130],simde_mm_xor_si128(c2[69],c2[151]));
//row: 29
d2[435]=simde_mm_xor_si128(c2[2701],c2[2823]);
//row: 30
d2[450]=simde_mm_xor_si128(c2[1562],simde_mm_xor_si128(c2[3458],simde_mm_xor_si128(c2[4123],c2[571])));
//row: 31
d2[465]=simde_mm_xor_si128(c2[12],simde_mm_xor_si128(c2[3911],simde_mm_xor_si128(c2[2707],simde_mm_xor_si128(c2[641],simde_mm_xor_si128(c2[4234],simde_mm_xor_si128(c2[3932],simde_mm_xor_si128(c2[4232],simde_mm_xor_si128(c2[2742],simde_mm_xor_si128(c2[1867],simde_mm_xor_si128(c2[2773],simde_mm_xor_si128(c2[3073],simde_mm_xor_si128(c2[1294],simde_mm_xor_si128(c2[4003],simde_mm_xor_si128(c2[693],simde_mm_xor_si128(c2[1934],simde_mm_xor_si128(c2[1326],simde_mm_xor_si128(c2[4028],simde_mm_xor_si128(c2[4328],simde_mm_xor_si128(c2[3154],simde_mm_xor_si128(c2[3759],simde_mm_xor_si128(c2[4059],simde_mm_xor_si128(c2[1984],simde_mm_xor_si128(c2[4688],simde_mm_xor_si128(c2[4092],simde_mm_xor_si128(c2[4392],simde_mm_xor_si128(c2[2014],simde_mm_xor_si128(c2[1710],simde_mm_xor_si128(c2[2010],simde_mm_xor_si128(c2[2643],simde_mm_xor_si128(c2[3252],simde_mm_xor_si128(c2[2945],simde_mm_xor_si128(c2[3245],simde_mm_xor_si128(c2[4779],simde_mm_xor_si128(c2[2083],simde_mm_xor_si128(c2[2977],c2[3277])))))))))))))))))))))))))))))))))));
//row: 32
d2[480]=simde_mm_xor_si128(c2[1501],simde_mm_xor_si128(c2[1801],simde_mm_xor_si128(c2[601],simde_mm_xor_si128(c2[901],simde_mm_xor_si128(c2[4511],simde_mm_xor_si128(c2[911],simde_mm_xor_si128(c2[2130],simde_mm_xor_si128(c2[2430],simde_mm_xor_si128(c2[1239],simde_mm_xor_si128(c2[1237],simde_mm_xor_si128(c2[3371],simde_mm_xor_si128(c2[3671],simde_mm_xor_si128(c2[63],simde_mm_xor_si128(c2[2798],simde_mm_xor_si128(c2[3098],simde_mm_xor_si128(c2[693],simde_mm_xor_si128(c2[993],simde_mm_xor_si128(c2[2497],simde_mm_xor_si128(c2[3423],simde_mm_xor_si128(c2[3723],simde_mm_xor_si128(c2[3130],simde_mm_xor_si128(c2[1333],simde_mm_xor_si128(c2[4658],simde_mm_xor_si128(c2[159],simde_mm_xor_si128(c2[1064],simde_mm_xor_si128(c2[4350],simde_mm_xor_si128(c2[3488],simde_mm_xor_si128(c2[3788],simde_mm_xor_si128(c2[1393],simde_mm_xor_si128(c2[1693],simde_mm_xor_si128(c2[1382],simde_mm_xor_si128(c2[3518],simde_mm_xor_si128(c2[3818],simde_mm_xor_si128(c2[3814],simde_mm_xor_si128(c2[4147],simde_mm_xor_si128(c2[4447],simde_mm_xor_si128(c2[242],simde_mm_xor_si128(c2[250],simde_mm_xor_si128(c2[1484],simde_mm_xor_si128(c2[1784],simde_mm_xor_si128(c2[3572],simde_mm_xor_si128(c2[3872],c2[282]))))))))))))))))))))))))))))))))))))))))));
//row: 33
d2[495]=simde_mm_xor_si128(c2[3300],simde_mm_xor_si128(c2[2400],simde_mm_xor_si128(c2[1211],simde_mm_xor_si128(c2[3944],simde_mm_xor_si128(c2[2738],simde_mm_xor_si128(c2[2736],simde_mm_xor_si128(c2[371],simde_mm_xor_si128(c2[1562],simde_mm_xor_si128(c2[4262],simde_mm_xor_si128(c2[4597],simde_mm_xor_si128(c2[2492],simde_mm_xor_si128(c2[3996],simde_mm_xor_si128(c2[423],simde_mm_xor_si128(c2[4629],simde_mm_xor_si128(c2[2832],simde_mm_xor_si128(c2[1658],simde_mm_xor_si128(c2[2563],simde_mm_xor_si128(c2[488],simde_mm_xor_si128(c2[3192],simde_mm_xor_si128(c2[2881],simde_mm_xor_si128(c2[518],simde_mm_xor_si128(c2[514],simde_mm_xor_si128(c2[810],simde_mm_xor_si128(c2[1147],simde_mm_xor_si128(c2[1741],simde_mm_xor_si128(c2[1749],simde_mm_xor_si128(c2[3283],simde_mm_xor_si128(c2[572],c2[1781]))))))))))))))))))))))))))));
//row: 34
d2[510]=simde_mm_xor_si128(c2[2402],simde_mm_xor_si128(c2[2702],simde_mm_xor_si128(c2[4502],simde_mm_xor_si128(c2[1502],simde_mm_xor_si128(c2[1802],simde_mm_xor_si128(c2[3602],simde_mm_xor_si128(c2[613],simde_mm_xor_si128(c2[2413],simde_mm_xor_si128(c2[2411],simde_mm_xor_si128(c2[3031],simde_mm_xor_si128(c2[3331],simde_mm_xor_si128(c2[332],simde_mm_xor_si128(c2[2140],simde_mm_xor_si128(c2[3940],simde_mm_xor_si128(c2[2138],simde_mm_xor_si128(c2[3638],simde_mm_xor_si128(c2[3938],simde_mm_xor_si128(c2[4272],simde_mm_xor_si128(c2[4572],simde_mm_xor_si128(c2[1573],simde_mm_xor_si128(c2[964],simde_mm_xor_si128(c2[2464],simde_mm_xor_si128(c2[2764],simde_mm_xor_si128(c2[3699],simde_mm_xor_si128(c2[3999],simde_mm_xor_si128(c2[1000],simde_mm_xor_si128(c2[1594],simde_mm_xor_si128(c2[1894],simde_mm_xor_si128(c2[3694],simde_mm_xor_si128(c2[3398],simde_mm_xor_si128(c2[399],simde_mm_xor_si128(c2[4324],simde_mm_xor_si128(c2[4624],simde_mm_xor_si128(c2[1625],simde_mm_xor_si128(c2[4031],simde_mm_xor_si128(c2[1032],simde_mm_xor_si128(c2[2234],simde_mm_xor_si128(c2[3734],simde_mm_xor_si128(c2[4034],simde_mm_xor_si128(c2[760],simde_mm_xor_si128(c2[1060],simde_mm_xor_si128(c2[2860],simde_mm_xor_si128(c2[1950],simde_mm_xor_si128(c2[3450],simde_mm_xor_si128(c2[3750],simde_mm_xor_si128(c2[4389],simde_mm_xor_si128(c2[4689],simde_mm_xor_si128(c2[1690],simde_mm_xor_si128(c2[2294],simde_mm_xor_si128(c2[2594],simde_mm_xor_si128(c2[4394],simde_mm_xor_si128(c2[2283],simde_mm_xor_si128(c2[3783],simde_mm_xor_si128(c2[4083],simde_mm_xor_si128(c2[4419],simde_mm_xor_si128(c2[4719],simde_mm_xor_si128(c2[1720],simde_mm_xor_si128(c2[4715],simde_mm_xor_si128(c2[1416],simde_mm_xor_si128(c2[1716],simde_mm_xor_si128(c2[249],simde_mm_xor_si128(c2[549],simde_mm_xor_si128(c2[2349],simde_mm_xor_si128(c2[1143],simde_mm_xor_si128(c2[2943],simde_mm_xor_si128(c2[1151],simde_mm_xor_si128(c2[2651],simde_mm_xor_si128(c2[2951],simde_mm_xor_si128(c2[2370],simde_mm_xor_si128(c2[2670],simde_mm_xor_si128(c2[4470],simde_mm_xor_si128(c2[4473],simde_mm_xor_si128(c2[4773],simde_mm_xor_si128(c2[1774],simde_mm_xor_si128(c2[1183],simde_mm_xor_si128(c2[2683],c2[2983]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 35
d2[525]=simde_mm_xor_si128(c2[5],simde_mm_xor_si128(c2[305],simde_mm_xor_si128(c2[4204],simde_mm_xor_si128(c2[3000],simde_mm_xor_si128(c2[634],simde_mm_xor_si128(c2[934],simde_mm_xor_si128(c2[4542],simde_mm_xor_si128(c2[4540],simde_mm_xor_si128(c2[1535],simde_mm_xor_si128(c2[1860],simde_mm_xor_si128(c2[2160],simde_mm_xor_si128(c2[3366],simde_mm_xor_si128(c2[1302],simde_mm_xor_si128(c2[1602],simde_mm_xor_si128(c2[4296],simde_mm_xor_si128(c2[1001],simde_mm_xor_si128(c2[2227],simde_mm_xor_si128(c2[1634],simde_mm_xor_si128(c2[4621],simde_mm_xor_si128(c2[3462],simde_mm_xor_si128(c2[4352],simde_mm_xor_si128(c2[464],simde_mm_xor_si128(c2[1992],simde_mm_xor_si128(c2[2292],simde_mm_xor_si128(c2[182],simde_mm_xor_si128(c2[4685],simde_mm_xor_si128(c2[2322],simde_mm_xor_si128(c2[2318],simde_mm_xor_si128(c2[2951],simde_mm_xor_si128(c2[3545],simde_mm_xor_si128(c2[3553],simde_mm_xor_si128(c2[4772],simde_mm_xor_si128(c2[273],simde_mm_xor_si128(c2[2376],c2[3570]))))))))))))))))))))))))))))))))));
//row: 36
d2[540]=simde_mm_xor_si128(c2[611],simde_mm_xor_si128(c2[67],c2[3216]));
//row: 37
d2[555]=simde_mm_xor_si128(c2[3303],simde_mm_xor_si128(c2[1201],simde_mm_xor_si128(c2[2403],simde_mm_xor_si128(c2[301],simde_mm_xor_si128(c2[1214],simde_mm_xor_si128(c2[3911],simde_mm_xor_si128(c2[3932],simde_mm_xor_si128(c2[1830],simde_mm_xor_si128(c2[2741],simde_mm_xor_si128(c2[639],simde_mm_xor_si128(c2[2739],simde_mm_xor_si128(c2[337],simde_mm_xor_si128(c2[637],simde_mm_xor_si128(c2[374],simde_mm_xor_si128(c2[3071],simde_mm_xor_si128(c2[1565],simde_mm_xor_si128(c2[3962],simde_mm_xor_si128(c2[4262],simde_mm_xor_si128(c2[4600],simde_mm_xor_si128(c2[2498],simde_mm_xor_si128(c2[2495],simde_mm_xor_si128(c2[393],simde_mm_xor_si128(c2[3999],simde_mm_xor_si128(c2[1897],simde_mm_xor_si128(c2[426],simde_mm_xor_si128(c2[3123],simde_mm_xor_si128(c2[4632],simde_mm_xor_si128(c2[2530],simde_mm_xor_si128(c2[2820],simde_mm_xor_si128(c2[433],simde_mm_xor_si128(c2[733],simde_mm_xor_si128(c2[1661],simde_mm_xor_si128(c2[4358],simde_mm_xor_si128(c2[2551],simde_mm_xor_si128(c2[164],simde_mm_xor_si128(c2[464],simde_mm_xor_si128(c2[491],simde_mm_xor_si128(c2[3188],simde_mm_xor_si128(c2[3180],simde_mm_xor_si128(c2[1093],simde_mm_xor_si128(c2[2884],simde_mm_xor_si128(c2[482],simde_mm_xor_si128(c2[782],simde_mm_xor_si128(c2[521],simde_mm_xor_si128(c2[3218],simde_mm_xor_si128(c2[517],simde_mm_xor_si128(c2[2914],simde_mm_xor_si128(c2[3214],simde_mm_xor_si128(c2[1150],simde_mm_xor_si128(c2[3847],simde_mm_xor_si128(c2[1744],simde_mm_xor_si128(c2[4441],simde_mm_xor_si128(c2[1752],simde_mm_xor_si128(c2[4149],simde_mm_xor_si128(c2[4449],simde_mm_xor_si128(c2[3271],simde_mm_xor_si128(c2[1184],simde_mm_xor_si128(c2[575],simde_mm_xor_si128(c2[3272],simde_mm_xor_si128(c2[1784],simde_mm_xor_si128(c2[4181],c2[4481])))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 38
d2[570]=simde_mm_xor_si128(c2[3000],simde_mm_xor_si128(c2[3300],simde_mm_xor_si128(c2[2400],simde_mm_xor_si128(c2[1211],simde_mm_xor_si128(c2[3644],simde_mm_xor_si128(c2[3944],simde_mm_xor_si128(c2[2738],simde_mm_xor_si128(c2[2736],simde_mm_xor_si128(c2[3032],simde_mm_xor_si128(c2[71],simde_mm_xor_si128(c2[371],simde_mm_xor_si128(c2[1562],simde_mm_xor_si128(c2[4297],simde_mm_xor_si128(c2[4597],simde_mm_xor_si128(c2[2492],simde_mm_xor_si128(c2[3996],simde_mm_xor_si128(c2[423],simde_mm_xor_si128(c2[4629],simde_mm_xor_si128(c2[2832],simde_mm_xor_si128(c2[1658],simde_mm_xor_si128(c2[2563],simde_mm_xor_si128(c2[2852],simde_mm_xor_si128(c2[188],simde_mm_xor_si128(c2[488],simde_mm_xor_si128(c2[3192],simde_mm_xor_si128(c2[2881],simde_mm_xor_si128(c2[518],simde_mm_xor_si128(c2[514],simde_mm_xor_si128(c2[1147],simde_mm_xor_si128(c2[1741],simde_mm_xor_si128(c2[1749],simde_mm_xor_si128(c2[2983],simde_mm_xor_si128(c2[3283],simde_mm_xor_si128(c2[572],c2[1781]))))))))))))))))))))))))))))))))));
//row: 39
d2[585]=simde_mm_xor_si128(c2[4205],simde_mm_xor_si128(c2[4505],simde_mm_xor_si128(c2[3305],simde_mm_xor_si128(c2[3605],simde_mm_xor_si128(c2[2401],simde_mm_xor_si128(c2[2110],simde_mm_xor_si128(c2[35],simde_mm_xor_si128(c2[335],simde_mm_xor_si128(c2[3943],simde_mm_xor_si128(c2[3941],simde_mm_xor_si128(c2[1261],simde_mm_xor_si128(c2[1561],simde_mm_xor_si128(c2[2767],simde_mm_xor_si128(c2[703],simde_mm_xor_si128(c2[1003],simde_mm_xor_si128(c2[3397],simde_mm_xor_si128(c2[3697],simde_mm_xor_si128(c2[402],simde_mm_xor_si128(c2[1328],simde_mm_xor_si128(c2[1628],simde_mm_xor_si128(c2[1020],simde_mm_xor_si128(c2[4022],simde_mm_xor_si128(c2[2563],simde_mm_xor_si128(c2[2863],simde_mm_xor_si128(c2[3753],simde_mm_xor_si128(c2[1393],simde_mm_xor_si128(c2[1693],simde_mm_xor_si128(c2[4082],simde_mm_xor_si128(c2[4382],simde_mm_xor_si128(c2[4086],simde_mm_xor_si128(c2[1423],simde_mm_xor_si128(c2[1723],simde_mm_xor_si128(c2[1719],simde_mm_xor_si128(c2[4112],simde_mm_xor_si128(c2[2052],simde_mm_xor_si128(c2[2352],simde_mm_xor_si128(c2[2946],simde_mm_xor_si128(c2[2954],simde_mm_xor_si128(c2[4173],simde_mm_xor_si128(c2[4473],simde_mm_xor_si128(c2[1477],simde_mm_xor_si128(c2[1777],c2[2971]))))))))))))))))))))))))))))))))))))))))));
//row: 40
d2[600]=simde_mm_xor_si128(c2[1213],simde_mm_xor_si128(c2[1805],simde_mm_xor_si128(c2[313],simde_mm_xor_si128(c2[905],simde_mm_xor_si128(c2[3908],simde_mm_xor_si128(c2[4500],simde_mm_xor_si128(c2[1842],simde_mm_xor_si128(c2[2434],simde_mm_xor_si128(c2[636],simde_mm_xor_si128(c2[1243],simde_mm_xor_si128(c2[634],simde_mm_xor_si128(c2[941],simde_mm_xor_si128(c2[1241],simde_mm_xor_si128(c2[3068],simde_mm_xor_si128(c2[3660],simde_mm_xor_si128(c2[4274],simde_mm_xor_si128(c2[4566],simde_mm_xor_si128(c2[67],simde_mm_xor_si128(c2[4264],simde_mm_xor_si128(c2[2495],simde_mm_xor_si128(c2[3102],simde_mm_xor_si128(c2[390],simde_mm_xor_si128(c2[997],simde_mm_xor_si128(c2[1894],simde_mm_xor_si128(c2[2501],simde_mm_xor_si128(c2[3120],simde_mm_xor_si128(c2[3727],simde_mm_xor_si128(c2[2527],simde_mm_xor_si128(c2[3134],simde_mm_xor_si128(c2[730],simde_mm_xor_si128(c2[1022],simde_mm_xor_si128(c2[1322],simde_mm_xor_si128(c2[4355],simde_mm_xor_si128(c2[163],simde_mm_xor_si128(c2[461],simde_mm_xor_si128(c2[753],simde_mm_xor_si128(c2[1053],simde_mm_xor_si128(c2[3185],simde_mm_xor_si128(c2[3792],simde_mm_xor_si128(c2[1090],simde_mm_xor_si128(c2[1682],simde_mm_xor_si128(c2[794],simde_mm_xor_si128(c2[1086],simde_mm_xor_si128(c2[1386],simde_mm_xor_si128(c2[3215],simde_mm_xor_si128(c2[3822],simde_mm_xor_si128(c2[3211],simde_mm_xor_si128(c2[3518],simde_mm_xor_si128(c2[3818],simde_mm_xor_si128(c2[3844],simde_mm_xor_si128(c2[4451],simde_mm_xor_si128(c2[4453],simde_mm_xor_si128(c2[246],simde_mm_xor_si128(c2[4446],simde_mm_xor_si128(c2[4753],simde_mm_xor_si128(c2[254],simde_mm_xor_si128(c2[1181],simde_mm_xor_si128(c2[1773],simde_mm_xor_si128(c2[3284],simde_mm_xor_si128(c2[3876],simde_mm_xor_si128(c2[4478],simde_mm_xor_si128(c2[4770],c2[271]))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
//row: 41
d2[615]=simde_mm_xor_si128(c2[2108],simde_mm_xor_si128(c2[2408],simde_mm_xor_si128(c2[1508],simde_mm_xor_si128(c2[304],simde_mm_xor_si128(c2[2737],simde_mm_xor_si128(c2[3037],simde_mm_xor_si128(c2[1831],simde_mm_xor_si128(c2[1844],simde_mm_xor_si128(c2[1533],simde_mm_xor_si128(c2[3963],simde_mm_xor_si128(c2[4263],simde_mm_xor_si128(c2[670],simde_mm_xor_si128(c2[3390],simde_mm_xor_si128(c2[3690],simde_mm_xor_si128(c2[1600],simde_mm_xor_si128(c2[3104],simde_mm_xor_si128(c2[4330],simde_mm_xor_si128(c2[3722],simde_mm_xor_si128(c2[1925],simde_mm_xor_si128(c2[751],simde_mm_xor_si128(c2[1656],simde_mm_xor_si128(c2[2263],simde_mm_xor_si128(c2[4080],simde_mm_xor_si128(c2[4380],simde_mm_xor_si128(c2[2285],simde_mm_xor_si128(c2[1989],simde_mm_xor_si128(c2[4410],simde_mm_xor_si128(c2[4421],simde_mm_xor_si128(c2[240],simde_mm_xor_si128(c2[849],simde_mm_xor_si128(c2[842],simde_mm_xor_si128(c2[2076],simde_mm_xor_si128(c2[2376],simde_mm_xor_si128(c2[4479],c2[874]))))))))))))))))))))))))))))))))));
}
}