NN-512

Back

Index

Files

Top || Input graph file

Config Prefix=Example3 Platform=AVX512Float32 L1DataCachePerThread=32KiB L2CachePerThreadExL1=960KiB L3CachePerThreadExL1L2=1408KiB
Input ToTensor=in Channels=1677 Height=77 Width=114
Conv FromTensor=in ToTensor=out ToChannels=2370 FilterH=8 FilterW=6 StrideH=4 StrideW=1 PaddingH=0 PaddingW=2 DilationH=1 DilationW=1 Groups=3
Output FromTensor=out

Top || Output Example3.h file

#pragma once

// NN-512 (https://NN-512.com)
//
// Copyright (C) 2019 [
// 37ef ced3 3727 60b4
// 3c29 f9c6 dc30 d518
// f4f3 4106 6964 cab4
// a06f c1a3 83fd 090e
// ]
//
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in
// the documentation and/or other materials provided with the
// distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#include <pthread.h>
#include <stddef.h>

#ifdef __cplusplus
extern "C" { /**/
#endif

// All weights, biases, and other trained parameters are passed into
// the initialization code through the Params struct that is declared
// just below this comment. The corresponding struct definition can be
// found near the end of this header file.
//
// Each field of the Params struct is an array of float that holds a
// parameter tensor in NCHW format with no padding. The struct fields
// are ordered by name, lexically bytewise. If you concatenate all the
// trained parameter tensors to a file in this same format and order
// you can load the struct as follows (error checking omitted here):
//
// size_t size = sizeof(Example3Params);
// Example3Params* to = malloc(size);
// FILE* from = fopen("ParamsFile", "r");
// fread(to, size, 1, from);
// fclose(from);
//
// Be careful to match endianness (and floating point format).

typedef struct Example3Params Example3Params;

// The Net contains weights, biases, and other trained parameters in a
// form that enables efficient inference. It is created from the input
// parameter struct without modifying that struct. The input parameter
// struct is no longer needed once the Net has been created. Threads
// that are used to create the Net are temporary (in particular, those
// threads are not used for inference).
//
// Example3Params* params = malloc(sizeof(Example3Params));
//
// ... Load params (read from a file, perhaps) ...
//
// Example3Net* net; // For example, 4 threads:
// char* err = Example3NetCreate(&net, params, 4);
// free(params);
//
// if (err) { // Nonzero err indicates failure; net is unmodified.
// printf("%s\n", err); // Explain the failure, add a newline.
// free(err); // Free the error string to avoid a memory leak.
// exit(1); // Exit, or propagate the failure some other way.
// }
//
// ... Perform all inference that depends on net ...
//
// Example3NetDestroy(net);
//
// The Net can be shared and reused without restriction because it is
// never modified (not even temporarily) after being created. The Net
// should be destroyed (to free memory) once all dependent inference
// is complete.

typedef struct Example3Net Example3Net;

char* Example3NetCreate(
Example3Net**,
Example3Params*,
ptrdiff_t threads
);

void Example3NetDestroy(Example3Net*);

// An Engine performs inference. It contains inference threads, scratch
// memory, and a pointer to the Net. Any number of Engines can share the
// same Net (and perform inference in parallel) because the Net is never
// modified. For best performance the number of inference threads should
// not exceed the number of CPU cores.
//
// Example3Net* net;
//
// ... Create net ...
//
// Example3Engine* engine; // For example, 4 inference threads:
// char* err = Example3EngineCreate(&engine, net, 4);
//
// if (err) { // Nonzero err means failure; engine is unmodified.
// printf("%s\n", err); // Explain the failure, add a newline.
// free(err); // Free the error string to avoid a memory leak.
//
// ... Destroy net ...
//
// exit(1); // Exit, or propagate the failure some other way.
// }
//
// ... Use the POSIX threads API to adjust engine's threads ...
// ... Use engine to perform inference (dependent on net) ...
//
// Example3EngineDestroy(engine); // Terminate threads, free memory.
//
// ... Destroy net ...
//
// The POSIX threads API can be used to adjust an Engine's threads. If
// an Engine has N threads, those threads are indexed 0, 1, 2, ..., N-1
// and a pthread_t identifier is associated with each index. To set the
// CPU affinity mask for the first inference thread, for example:
//
// pthread_t thread; // The first thread has index 0:
// char* err = Example3EnginePthreadT(engine, 0, &thread);
//
// assert(!err); // Can only fail if the thread index is invalid.
//
// pthread_setaffinity_np(thread, ...); // Details omitted.
//
// The inference function reads floats from (one or more) input tensors
// and writes floats to (one or more) output tensors. All the input and
// output tensors are owned (allocated and freed) by the caller and are
// in CHW format, 32-bit floating point, fully packed (in other words,
// C has the largest pitch, W has the smallest pitch, and there is no
// padding anywhere).
//
// float* inData = malloc(sizeof(float)*1677*77*114);
// float* outData = malloc(sizeof(float)*2370*18*113);
//
// for (...) { // Reuse the input and output tensors.
//
// ... Write the input floats ...
//
// Example3EngineInference( // This function cannot fail.
// engine, // Pass an Engine as the first argument.
// inData, // The tensor arguments are sorted by name.
// outData
// );
//
// ... Read the output floats ...
//
// }
//
// free(inData);
// free(outData);
//
// The tensor parameters of the inference function are ordered by name,
// lexically bytewise. In other words, the function parameters have been
// sorted by name using Go's "<" string comparison operator (a bytewise
// lexical string sort).

typedef struct Example3Engine Example3Engine;

char* Example3EngineCreate(
Example3Engine**,
Example3Net*,
ptrdiff_t threads
);

char* Example3EnginePthreadT(
Example3Engine*,
ptrdiff_t threadIdx,
pthread_t* to
);

void Example3EngineInference(
Example3Engine*,
float* inData,
float* outData
);

void Example3EngineDestroy(Example3Engine*);

// The fields of the following struct have been sorted by name using
// Go's "<" string comparison operator (bytewise lexical string sort).
// Tensor dimensions are NxCxHxW where N is the outermost/slowest and
// W is the innermost/fastest. There is no padding anywhere.

struct Example3Params {
float outBiases[2370]; // 1x2370x1x1
float outWeights[63591840]; // 2370x559x8x6
} __attribute__((packed));

#ifdef __cplusplus
/**/ }
#endif

// End of file.

Top || Output Example3.c file

// To build an object file:
// gcc -c -w -std=c99 -pthread -Ofast -mavx512f Example3.c

// NN-512 (https://NN-512.com)
//
// Copyright (C) 2019 [
// 37ef ced3 3727 60b4
// 3c29 f9c6 dc30 d518
// f4f3 4106 6964 cab4
// a06f c1a3 83fd 090e
// ]
//
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in
// the documentation and/or other materials provided with the
// distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#include <errno.h>
#include <stdarg.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include <immintrin.h>

#include "Example3.h"

static char* Example3Errmsg1(ptrdiff_t lineNum1, char* format1, ...) {
char* msg1 = malloc(276);
int step1 = sprintf(msg1, "Example3: line %td: ", lineNum1);
va_list ap1;
va_start(ap1, format1);
vsnprintf(msg1+step1, 276-step1, format1, ap1);
va_end(ap1);
return msg1;
}

typedef struct Example3ThreaderTask1 Example3ThreaderTask1;
typedef void (*Example3ThreaderCallee1)(Example3ThreaderTask1*, int64_t*);
typedef struct Example3ThreaderHub1 Example3ThreaderHub1;
typedef struct Example3ThreaderNode1 Example3ThreaderNode1;
typedef struct Example3ThreaderUnwind1 Example3ThreaderUnwind1;
typedef struct Example3ThreaderTeam1 Example3ThreaderTeam1;

struct Example3ThreaderTask1 {
Example3ThreaderCallee1 callee1;
void* any1;
ptrdiff_t nd1;
int64_t hull1[4];
};

struct Example3ThreaderHub1 {
pthread_mutex_t mut1;
pthread_cond_t cond1;
ptrdiff_t pending1;
ptrdiff_t offset1;
long mask1;
long status1[];
};

struct Example3ThreaderNode1 {
pthread_mutex_t mut2;
int64_t np1;
int64_t pt1[4];
Example3ThreaderTask1* task1;
pthread_cond_t cond2;
Example3ThreaderTeam1* team1;
pthread_t thr1;
} __attribute__((aligned(64)));

struct Example3ThreaderUnwind1 {
ptrdiff_t join1;
ptrdiff_t nodeConds1;
ptrdiff_t nodeMuts1;
ptrdiff_t hubCond1;
ptrdiff_t hubMut1;
void* nodes1;
void* hub1;
};

struct Example3ThreaderTeam1 {
ptrdiff_t nt1;
Example3ThreaderHub1* hub2;
Example3ThreaderNode1* nodes2;
Example3ThreaderUnwind1 unwind1;
};

static void Example3ThreaderInc1(
ptrdiff_t nd2,
int64_t*restrict hull2,
int64_t*restrict pt2
) {
for (ptrdiff_t i1 = 0; i1 < nd2; ++i1) {
int64_t elem1 = pt2[i1];
if (++elem1 == hull2[i1]) {
pt2[i1] = 0;
} else {
pt2[i1] = elem1;
break;
}
}
}

static void Example3ThreaderPut1(
ptrdiff_t nd3,
int64_t*restrict hull3,
int64_t*restrict pt3,
int64_t val1
) {
ptrdiff_t i2 = 0;
for (; i2 < nd3 && val1; ) {
int64_t wrap1 = hull3[i2];
int64_t carry1 = val1/wrap1;
pt3[i2++] = val1-carry1*wrap1;
val1 = carry1;
}
for (; i2 < nd3; pt3[i2++] = 0);
}

static void Example3ThreaderAdd1(
ptrdiff_t nd4,
int64_t*restrict hull4,
int64_t*restrict pt4,
int64_t*restrict plus1,
int64_t carry2
) {
for (ptrdiff_t i3 = 0; i3 < nd4; ++i3) {
int64_t wrap2 = hull4[i3];
int64_t sum1 = pt4[i3]+plus1[i3]+carry2;
if (sum1 < wrap2) {
pt4[i3] = sum1;
carry2 = 0;
} else {
pt4[i3] = sum1-wrap2;
carry2 = 1;
}
}
}

static void* Example3ThreaderMain1(void* arg1) {
Example3ThreaderNode1* node1 = arg1;
Example3ThreaderTeam1* team2 = node1->team1;
ptrdiff_t nt2 = team2->nt1;
Example3ThreaderHub1* hub3 = team2->hub2;
Example3ThreaderNode1* nodes3 = team2->nodes2;
size_t role1 = node1-nodes3;
for (; __builtin_expect(pthread_mutex_lock(&node1->mut2), 0); );
for (; ; ) {
Example3ThreaderTask1* task2 = node1->task1;
if (!task2) {
for (; __builtin_expect(pthread_cond_wait(&node1->cond2, &node1->mut2), 0); );
continue;
}
int64_t np2 = node1->np1;
if (np2 < 0) {
for (; __builtin_expect(pthread_mutex_unlock(&node1->mut2), 0); );
return 0;
}
node1->task1 = 0;
Example3ThreaderCallee1 callee2 = task2->callee1;
ptrdiff_t nd5 = task2->nd1;
int64_t pt5[4];
for (; np2; np2 = node1->np1) {
memcpy(pt5, node1->pt1, sizeof(pt5));
node1->np1 = np2-1;
Example3ThreaderInc1(nd5, task2->hull1, node1->pt1);
for (; __builtin_expect(pthread_mutex_unlock(&node1->mut2), 0); );
callee2(task2, pt5);
for (; __builtin_expect(pthread_mutex_lock(&node1->mut2), 0); );
}
for (; __builtin_expect(pthread_mutex_unlock(&node1->mut2), 0); );
for (; __builtin_expect(pthread_mutex_lock(&hub3->mut1), 0); );
hub3->status1[role1/(sizeof(long)*8)] &= ~((long)1<<role1%(sizeof(long)*8));
ptrdiff_t offset2 = hub3->offset1;
long mask2 = hub3->mask1;
ptrdiff_t wrapped1 = 0;
for (; ; ) {
long hand1 = hub3->status1[offset2]&mask2;
if (!hand1) {
++offset2;
mask2 = -1;
continue;
}
ptrdiff_t target1 = offset2*(sizeof(long)*8)+__builtin_ctzl(hand1);
if (target1 == nt2) {
if (wrapped1) break;
offset2 = 0;
mask2 = -1;
wrapped1 = 1;
continue;
}
hand1 &= -hand1;
hub3->offset1 = offset2;
hub3->mask1 = mask2-hand1;
for (; __builtin_expect(pthread_mutex_unlock(&hub3->mut1), 0); );
Example3ThreaderNode1* node2 = nodes3+target1;
for (; __builtin_expect(pthread_mutex_lock(&node2->mut2), 0); );
for (np2 = node2->np1; np2; np2 = node2->np1) {
memcpy(pt5, node2->pt1, sizeof(pt5));
node2->np1 = np2-1;
Example3ThreaderInc1(nd5, task2->hull1, node2->pt1);
for (; __builtin_expect(pthread_mutex_unlock(&node2->mut2), 0); );
callee2(task2, pt5);
for (; __builtin_expect(pthread_mutex_lock(&node2->mut2), 0); );
}
for (; __builtin_expect(pthread_mutex_unlock(&node2->mut2), 0); );
for (; __builtin_expect(pthread_mutex_lock(&hub3->mut1), 0); );
hub3->status1[offset2] &= ~hand1;
offset2 = hub3->offset1;
mask2 = hub3->mask1;
wrapped1 = 0;
}
ptrdiff_t pending2 = --hub3->pending1;
for (; __builtin_expect(pthread_mutex_unlock(&hub3->mut1), 0); );
if (!pending2) for (; __builtin_expect(pthread_cond_signal(&hub3->cond1), 0); );
for (; __builtin_expect(pthread_mutex_lock(&node1->mut2), 0); );
}
}

static void Example3ThreaderDestroy1(Example3ThreaderTeam1* team3) {
if (!team3) return;
Example3ThreaderNode1* nodes4 = team3->nodes2;
Example3ThreaderNode1* stop1 = nodes4+team3->unwind1.join1;
for (Example3ThreaderNode1* node3 = nodes4; node3 != stop1; ++node3) {
for (; __builtin_expect(pthread_mutex_lock(&node3->mut2), 0); );
node3->np1 = -1;
node3->task1 = (Example3ThreaderTask1*)1;
for (; __builtin_expect(pthread_mutex_unlock(&node3->mut2), 0); );
for (; __builtin_expect(pthread_cond_signal(&node3->cond2), 0); );
}
for (Example3ThreaderNode1* node3 = nodes4; node3 != stop1; ++node3) {
for (; __builtin_expect(pthread_join(node3->thr1, 0), 0); );
}
stop1 = nodes4+team3->unwind1.nodeConds1;
for (Example3ThreaderNode1* node3 = nodes4; node3 != stop1; ++node3) {
for (; __builtin_expect(pthread_cond_destroy(&node3->cond2), 0); );
}
stop1 = nodes4+team3->unwind1.nodeMuts1;
for (Example3ThreaderNode1* node3 = nodes4; node3 != stop1; ++node3) {
for (; __builtin_expect(pthread_mutex_destroy(&node3->mut2), 0); );
}
Example3ThreaderHub1* hub4 = team3->hub2;
if (team3->unwind1.hubCond1) {
for (; __builtin_expect(pthread_cond_destroy(&hub4->cond1), 0); );
}
if (team3->unwind1.hubMut1) {
for (; __builtin_expect(pthread_mutex_destroy(&hub4->mut1), 0); );
}
free(team3->unwind1.nodes1);
free(team3->unwind1.hub1);
free(team3);
}

static char* Example3ThreaderCreate1Up4(Example3ThreaderTeam1* team8, ptrdiff_t nt7) {
Example3ThreaderNode1* nodes5 = team8->nodes2;
for (Example3ThreaderNode1* node4 = nodes5; node4 != nodes5+nt7; ++node4) {
int err2 = pthread_mutex_init(&node4->mut2, 0);
if (__builtin_expect(err2, 0)) {
char* msg2 = Example3Errmsg1(__LINE__, "errno %d", err2);
team8->unwind1.nodeMuts1 = node4-nodes5;
team8->unwind1.nodeConds1 = node4-nodes5;
team8->unwind1.join1 = node4-nodes5;
return msg2;
}
node4->task1 = 0;
int err3 = pthread_cond_init(&node4->cond2, 0);
if (__builtin_expect(err3, 0)) {
char* msg3 = Example3Errmsg1(__LINE__, "errno %d", err3);
team8->unwind1.nodeMuts1 = node4-nodes5+1;
team8->unwind1.nodeConds1 = node4-nodes5;
team8->unwind1.join1 = node4-nodes5;
return msg3;
}
node4->team1 = team8;
int err4 = pthread_create(&node4->thr1, 0, Example3ThreaderMain1, node4);
if (__builtin_expect(err4, 0)) {
char* msg4 = Example3Errmsg1(__LINE__, "errno %d", err4);
team8->unwind1.nodeMuts1 = node4-nodes5+1;
team8->unwind1.nodeConds1 = node4-nodes5+1;
team8->unwind1.join1 = node4-nodes5;
return msg4;
}
}
team8->unwind1.nodeMuts1 = nt7;
team8->unwind1.nodeConds1 = nt7;
team8->unwind1.join1 = nt7;
return 0;
}

static char* Example3ThreaderCreate1Up3(Example3ThreaderTeam1* team7, ptrdiff_t nt6) {
Example3ThreaderHub1* hub5 = team7->hub2;
int err5 = pthread_mutex_init(&hub5->mut1, 0);
if (__builtin_expect(err5, 0)) {
return Example3Errmsg1(__LINE__, "errno %d", err5);
}
team7->unwind1.hubMut1 = 1;
int err6 = pthread_cond_init(&hub5->cond1, 0);
if (__builtin_expect(err6, 0)) {
return Example3Errmsg1(__LINE__, "errno %d", err6);
}
team7->unwind1.hubCond1 = 1;
return Example3ThreaderCreate1Up4(team7, nt6);
}

static char* Example3ThreaderCreate1Up2(Example3ThreaderTeam1* team6, ptrdiff_t nt5) {
size_t size2 = nt5*sizeof(Example3ThreaderNode1);
if (__builtin_expect(size2/sizeof(Example3ThreaderNode1) != (size_t)nt5, 0)) {
return Example3Errmsg1(__LINE__, "too many threads");
}
void* addr3 = malloc(size2+63);
if (__builtin_expect(!addr3, 0)) {
return Example3Errmsg1(__LINE__, "errno %d", errno);
}
team6->unwind1.nodes1 = addr3;
team6->nodes2 = (void*)(((size_t)addr3+63)&-64);
return Example3ThreaderCreate1Up3(team6, nt5);
}

static char* Example3ThreaderCreate1Up1(Example3ThreaderTeam1* team5, ptrdiff_t nt4) {
team5->nt1 = nt4;
size_t size1 = sizeof(Example3ThreaderHub1);
size1 += sizeof(long)*((size_t)nt4/(sizeof(long)*8)+1);
size1 = (size1+63)&-64;
void* addr2 = malloc(size1+63);
if (__builtin_expect(!addr2, 0)) {
return Example3Errmsg1(__LINE__, "errno %d", errno);
}
team5->unwind1.hub1 = addr2;
team5->hub2 = (void*)(((size_t)addr2+63)&-64);
return Example3ThreaderCreate1Up2(team5, nt4);
}

static char* Example3ThreaderCreate1(Example3ThreaderTeam1** team4, ptrdiff_t nt3) {
if (__builtin_expect(nt3 < 1, 0)) {
return Example3Errmsg1(__LINE__, "too few threads");
}
void* addr1 = calloc(1, sizeof(Example3ThreaderTeam1));
if (__builtin_expect(!addr1, 0)) {
return Example3Errmsg1(__LINE__, "errno %d", errno);
}
char* err1 = Example3ThreaderCreate1Up1(addr1, nt3);
if (__builtin_expect(!!err1, 0)) {
Example3ThreaderDestroy1(addr1);
} else {
*team4 = addr1;
}
return err1;
}

static char* Example3ThreaderPthreadT1(
pthread_t* thr2,
Example3ThreaderTeam1* team9,
ptrdiff_t idx1
) {
if (__builtin_expect(idx1 < 0 || idx1 >= team9->nt1, 0)) {
return Example3Errmsg1(__LINE__, "bad thread idx");
}
*thr2 = team9->nodes2[idx1].thr1;
return 0;
}

static void Example3ThreaderDo1(Example3ThreaderTeam1* team10, Example3ThreaderTask1* task3) {
ptrdiff_t nd6 = task3->nd1;
if (nd6 < 1) return;
int64_t tot1 = task3->hull1[0];
for (ptrdiff_t i4 = 1; i4 < nd6; tot1 *= task3->hull1[i4++]);
ptrdiff_t nt8 = team10->nt1;
int64_t each1 = tot1/nt8;
ptrdiff_t more1 = tot1%nt8;
int64_t plus2[4];
Example3ThreaderPut1(nd6, task3->hull1, plus2, each1);
int64_t pt6[4] = {0};
Example3ThreaderHub1* hub6 = team10->hub2;
for (; __builtin_expect(pthread_mutex_lock(&hub6->mut1), 0); );
Example3ThreaderNode1* node5 = team10->nodes2;
for (ptrdiff_t i4 = 0; ; ++node5) {
for (; __builtin_expect(pthread_mutex_lock(&node5->mut2), 0); );
int64_t carry3 = i4 < more1;
node5->np1 = each1+carry3;
memcpy(node5->pt1, pt6, sizeof(pt6));
node5->task1 = task3;
for (; __builtin_expect(pthread_mutex_unlock(&node5->mut2), 0); );
for (; __builtin_expect(pthread_cond_signal(&node5->cond2), 0); );
if (++i4 == nt8) break;
Example3ThreaderAdd1(nd6, task3->hull1, pt6, plus2, carry3);
}
hub6->offset1 = 0;
hub6->mask1 = -1;
for (ptrdiff_t i4 = (size_t)nt8/(sizeof(long)*8); i4 >= 0; ) {
hub6->status1[i4--] = -1;
}
for (hub6->pending1 = nt8; hub6->pending1; ) {
for (; __builtin_expect(pthread_cond_wait(&hub6->cond1, &hub6->mut1), 0); );
}
for (; __builtin_expect(pthread_mutex_unlock(&hub6->mut1), 0); );
}

static __m512 Example3Exp1(__m512 x1) {
x1 = _mm512_max_ps(x1, _mm512_set1_ps(-8.733654e+01f));
x1 = _mm512_min_ps(x1, _mm512_set1_ps(8.872284e+01f));
__m512 t1 = _mm512_mul_ps(x1, _mm512_set1_ps(1.442695e+00f));
__m512 r1 = _mm512_roundscale_ps(t1, _MM_FROUND_TO_NEAREST_INT|_MM_FROUND_NO_EXC);
__m512 f1 = _mm512_fmadd_ps(r1, _mm512_set1_ps(-6.9314575e-01f), x1);
f1 = _mm512_fmadd_ps(r1, _mm512_set1_ps(-1.4286068e-06f), f1);
__m512 g1 = _mm512_set1_ps(4.194439e-02f);
g1 = _mm512_fmadd_ps(g1, f1, _mm512_set1_ps(1.6800667e-01f));
g1 = _mm512_fmadd_ps(g1, f1, _mm512_set1_ps(4.9999994e-01f));
g1 = _mm512_fmadd_ps(g1, f1, _mm512_set1_ps(9.999569e-01f));
g1 = _mm512_fmadd_ps(g1, f1, _mm512_set1_ps(9.9999964e-01f));
__m512i y1 = _mm512_slli_epi32(_mm512_cvtps_epi32(t1), 23);
return _mm512_castsi512_ps(_mm512_add_epi32(y1, _mm512_castps_si512(g1)));
}

static __m512 Example3Rsqrt1(__m512 x2) {
__m512 y2 = _mm512_rsqrt14_ps(x2);
__m512 z1 = _mm512_mul_ps(x2, y2);
__m512 a1 = _mm512_mul_ps(y2, _mm512_set1_ps(5e-01f));
__m512 b1 = _mm512_fnmadd_ps(y2, z1, _mm512_set1_ps(3e+00f));
return _mm512_mul_ps(a1, b1);
}

static void Example3LoomArrangeFilts1Callee1(Example3ThreaderTask1* task4, int64_t* pt7) {
char** tensors2 = task4->any1;
ptrdiff_t b2 = pt7[0];
ptrdiff_t g2 = pt7[1];
ptrdiff_t e1 = 0;
char*restrict arrangedB1 = tensors2[2]+9480*e1;
char*restrict arrangedW1 = tensors2[2]+9480+379958400*e1;
char*restrict wtPtr1 = tensors2[0]+160320*e1;
char*restrict biasPtr1 = tensors2[1];
ptrdiff_t i5 = 1*g2;
ptrdiff_t j1 = 1*b2;
ptrdiff_t jj1 = j1+0;
if (j1 < 49) {
for (; j1 != 49; ++j1) {
__m512 bias1 = _mm512_setzero_ps();
if (!e1) {
bias1 = _mm512_maskz_loadu_ps(65535, biasPtr1-0+3160*i5+64*j1);
}
_mm512_mask_storeu_ps(arrangedB1-0+3160*i5+64*j1, 65535, bias1);
ptrdiff_t c1 = (size_t)(0+16*j1)/6;
switch ((size_t)(0+16*j1)%6) {
case 0: {
ptrdiff_t k1 = 0;
for (; k1 != 559; ++k1) {
__m512 wt1 = _mm512_maskz_loadu_ps(65535, wtPtr1+0+84789120*i5+1717248*j1+192*k1);
__m512 wt2 = _mm512_maskz_loadu_ps(65535, wtPtr1+107328+84789120*i5+1717248*j1+192*k1);
__m512 wt3 = _mm512_maskz_loadu_ps(65535, wtPtr1+214656+84789120*i5+1717248*j1+192*k1);
__m512 wt4 = _mm512_maskz_loadu_ps(65535, wtPtr1+321984+84789120*i5+1717248*j1+192*k1);
__m512 wt5 = _mm512_maskz_loadu_ps(65535, wtPtr1+429312+84789120*i5+1717248*j1+192*k1);
__m512 wt6 = _mm512_maskz_loadu_ps(65535, wtPtr1+536640+84789120*i5+1717248*j1+192*k1);
__m512 wt7 = _mm512_maskz_loadu_ps(65535, wtPtr1+643968+84789120*i5+1717248*j1+192*k1);
__m512 wt8 = _mm512_maskz_loadu_ps(65535, wtPtr1+751296+84789120*i5+1717248*j1+192*k1);
__m512 wt9 = _mm512_maskz_loadu_ps(65535, wtPtr1+858624+84789120*i5+1717248*j1+192*k1);
__m512 wt10 = _mm512_maskz_loadu_ps(65535, wtPtr1+965952+84789120*i5+1717248*j1+192*k1);
__m512 wt11 = _mm512_maskz_loadu_ps(65535, wtPtr1+1073280+84789120*i5+1717248*j1+192*k1);
__m512 wt12 = _mm512_maskz_loadu_ps(65535, wtPtr1+1180608+84789120*i5+1717248*j1+192*k1);
__m512 wt13 = _mm512_maskz_loadu_ps(65535, wtPtr1+1287936+84789120*i5+1717248*j1+192*k1);
__m512 wt14 = _mm512_maskz_loadu_ps(65535, wtPtr1+1395264+84789120*i5+1717248*j1+192*k1);
__m512 wt15 = _mm512_maskz_loadu_ps(65535, wtPtr1+1502592+84789120*i5+1717248*j1+192*k1);
__m512 wt16 = _mm512_maskz_loadu_ps(65535, wtPtr1+1609920+84789120*i5+1717248*j1+192*k1);
__m512 tmp1 = _mm512_unpacklo_ps(wt1, wt2);
__m512 tmp2 = _mm512_unpackhi_ps(wt1, wt2);
__m512 tmp3 = _mm512_unpacklo_ps(wt3, wt4);
__m512 tmp4 = _mm512_unpackhi_ps(wt3, wt4);
__m512 tmp5 = _mm512_unpacklo_ps(wt5, wt6);
__m512 tmp6 = _mm512_unpackhi_ps(wt5, wt6);
__m512 tmp7 = _mm512_unpacklo_ps(wt7, wt8);
__m512 tmp8 = _mm512_unpackhi_ps(wt7, wt8);
__m512 tmp9 = _mm512_unpacklo_ps(wt9, wt10);
__m512 tmp10 = _mm512_unpackhi_ps(wt9, wt10);
__m512 tmp11 = _mm512_unpacklo_ps(wt11, wt12);
__m512 tmp12 = _mm512_unpackhi_ps(wt11, wt12);
__m512 tmp13 = _mm512_unpacklo_ps(wt13, wt14);
__m512 tmp14 = _mm512_unpackhi_ps(wt13, wt14);
__m512 tmp15 = _mm512_unpacklo_ps(wt15, wt16);
__m512 tmp16 = _mm512_unpackhi_ps(wt15, wt16);
__m512 tmp17 = _mm512_shuffle_ps(tmp1, tmp3, 68);
__m512 tmp18 = _mm512_shuffle_ps(tmp1, tmp3, 238);
__m512 tmp19 = _mm512_shuffle_ps(tmp2, tmp4, 68);
__m512 tmp20 = _mm512_shuffle_ps(tmp2, tmp4, 238);
__m512 tmp21 = _mm512_shuffle_ps(tmp5, tmp7, 68);
__m512 tmp22 = _mm512_shuffle_ps(tmp5, tmp7, 238);
__m512 tmp23 = _mm512_shuffle_ps(tmp6, tmp8, 68);
__m512 tmp24 = _mm512_shuffle_ps(tmp6, tmp8, 238);
__m512 tmp25 = _mm512_shuffle_ps(tmp9, tmp11, 68);
__m512 tmp26 = _mm512_shuffle_ps(tmp9, tmp11, 238);
__m512 tmp27 = _mm512_shuffle_ps(tmp10, tmp12, 68);
__m512 tmp28 = _mm512_shuffle_ps(tmp10, tmp12, 238);
__m512 tmp29 = _mm512_shuffle_ps(tmp13, tmp15, 68);
__m512 tmp30 = _mm512_shuffle_ps(tmp13, tmp15, 238);
__m512 tmp31 = _mm512_shuffle_ps(tmp14, tmp16, 68);
__m512 tmp32 = _mm512_shuffle_ps(tmp14, tmp16, 238);
__m512 tmp33 = _mm512_shuffle_f32x4(tmp17, tmp21, 136);
__m512 tmp34 = _mm512_shuffle_f32x4(tmp17, tmp21, 221);
__m512 tmp35 = _mm512_shuffle_f32x4(tmp18, tmp22, 136);
__m512 tmp36 = _mm512_shuffle_f32x4(tmp18, tmp22, 221);
__m512 tmp37 = _mm512_shuffle_f32x4(tmp19, tmp23, 136);
__m512 tmp38 = _mm512_shuffle_f32x4(tmp19, tmp23, 221);
__m512 tmp39 = _mm512_shuffle_f32x4(tmp20, tmp24, 136);
__m512 tmp40 = _mm512_shuffle_f32x4(tmp20, tmp24, 221);
__m512 tmp41 = _mm512_shuffle_f32x4(tmp25, tmp29, 136);
__m512 tmp42 = _mm512_shuffle_f32x4(tmp25, tmp29, 221);
__m512 tmp43 = _mm512_shuffle_f32x4(tmp26, tmp30, 136);
__m512 tmp44 = _mm512_shuffle_f32x4(tmp26, tmp30, 221);
__m512 tmp45 = _mm512_shuffle_f32x4(tmp27, tmp31, 136);
__m512 tmp46 = _mm512_shuffle_f32x4(tmp27, tmp31, 221);
__m512 tmp47 = _mm512_shuffle_f32x4(tmp28, tmp32, 136);
__m512 tmp48 = _mm512_shuffle_f32x4(tmp28, tmp32, 221);
wt1 = _mm512_shuffle_f32x4(tmp33, tmp41, 136);
wt9 = _mm512_shuffle_f32x4(tmp33, tmp41, 221);
wt2 = _mm512_shuffle_f32x4(tmp35, tmp43, 136);
wt10 = _mm512_shuffle_f32x4(tmp35, tmp43, 221);
wt3 = _mm512_shuffle_f32x4(tmp37, tmp45, 136);
wt11 = _mm512_shuffle_f32x4(tmp37, tmp45, 221);
wt4 = _mm512_shuffle_f32x4(tmp39, tmp47, 136);
wt12 = _mm512_shuffle_f32x4(tmp39, tmp47, 221);
wt5 = _mm512_shuffle_f32x4(tmp34, tmp42, 136);
wt13 = _mm512_shuffle_f32x4(tmp34, tmp42, 221);
wt6 = _mm512_shuffle_f32x4(tmp36, tmp44, 136);
wt14 = _mm512_shuffle_f32x4(tmp36, tmp44, 221);
wt7 = _mm512_shuffle_f32x4(tmp38, tmp46, 136);
wt15 = _mm512_shuffle_f32x4(tmp38, tmp46, 221);
wt8 = _mm512_shuffle_f32x4(tmp40, tmp48, 136);
wt16 = _mm512_shuffle_f32x4(tmp40, tmp48, 221);
_mm512_mask_storeu_ps(arrangedW1+0+84789120*i5+13416*c1+24*k1, 63, wt1);
_mm512_mask_storeu_ps(arrangedW1+13392+84789120*i5+13416*c1+24*k1, 4032, wt1);
_mm512_mask_storeu_ps(arrangedW1+26784+84789120*i5+13416*c1+24*k1, 61440, wt1);
_mm512_mask_storeu_ps(arrangedW1+1766440+84789120*i5+13416*c1+24*k1, 63, wt2);
_mm512_mask_storeu_ps(arrangedW1+1779832+84789120*i5+13416*c1+24*k1, 4032, wt2);
_mm512_mask_storeu_ps(arrangedW1+1793224+84789120*i5+13416*c1+24*k1, 61440, wt2);
_mm512_mask_storeu_ps(arrangedW1+3532880+84789120*i5+13416*c1+24*k1, 63, wt3);
_mm512_mask_storeu_ps(arrangedW1+3546272+84789120*i5+13416*c1+24*k1, 4032, wt3);
_mm512_mask_storeu_ps(arrangedW1+3559664+84789120*i5+13416*c1+24*k1, 61440, wt3);
_mm512_mask_storeu_ps(arrangedW1+5299320+84789120*i5+13416*c1+24*k1, 63, wt4);
_mm512_mask_storeu_ps(arrangedW1+5312712+84789120*i5+13416*c1+24*k1, 4032, wt4);
_mm512_mask_storeu_ps(arrangedW1+5326104+84789120*i5+13416*c1+24*k1, 61440, wt4);
_mm512_mask_storeu_ps(arrangedW1+7065760+84789120*i5+13416*c1+24*k1, 63, wt5);
_mm512_mask_storeu_ps(arrangedW1+7079152+84789120*i5+13416*c1+24*k1, 4032, wt5);
_mm512_mask_storeu_ps(arrangedW1+7092544+84789120*i5+13416*c1+24*k1, 61440, wt5);
_mm512_mask_storeu_ps(arrangedW1+8832200+84789120*i5+13416*c1+24*k1, 63, wt6);
_mm512_mask_storeu_ps(arrangedW1+8845592+84789120*i5+13416*c1+24*k1, 4032, wt6);
_mm512_mask_storeu_ps(arrangedW1+8858984+84789120*i5+13416*c1+24*k1, 61440, wt6);
_mm512_mask_storeu_ps(arrangedW1+21197280+84789120*i5+13416*c1+24*k1, 63, wt7);
_mm512_mask_storeu_ps(arrangedW1+21210672+84789120*i5+13416*c1+24*k1, 4032, wt7);
_mm512_mask_storeu_ps(arrangedW1+21224064+84789120*i5+13416*c1+24*k1, 61440, wt7);
_mm512_mask_storeu_ps(arrangedW1+22963720+84789120*i5+13416*c1+24*k1, 63, wt8);
_mm512_mask_storeu_ps(arrangedW1+22977112+84789120*i5+13416*c1+24*k1, 4032, wt8);
_mm512_mask_storeu_ps(arrangedW1+22990504+84789120*i5+13416*c1+24*k1, 61440, wt8);
_mm512_mask_storeu_ps(arrangedW1+24730160+84789120*i5+13416*c1+24*k1, 63, wt9);
_mm512_mask_storeu_ps(arrangedW1+24743552+84789120*i5+13416*c1+24*k1, 4032, wt9);
_mm512_mask_storeu_ps(arrangedW1+24756944+84789120*i5+13416*c1+24*k1, 61440, wt9);
_mm512_mask_storeu_ps(arrangedW1+26496600+84789120*i5+13416*c1+24*k1, 63, wt10);
_mm512_mask_storeu_ps(arrangedW1+26509992+84789120*i5+13416*c1+24*k1, 4032, wt10);
_mm512_mask_storeu_ps(arrangedW1+26523384+84789120*i5+13416*c1+24*k1, 61440, wt10);
_mm512_mask_storeu_ps(arrangedW1+28263040+84789120*i5+13416*c1+24*k1, 63, wt11);
_mm512_mask_storeu_ps(arrangedW1+28276432+84789120*i5+13416*c1+24*k1, 4032, wt11);
_mm512_mask_storeu_ps(arrangedW1+28289824+84789120*i5+13416*c1+24*k1, 61440, wt11);
_mm512_mask_storeu_ps(arrangedW1+30029480+84789120*i5+13416*c1+24*k1, 63, wt12);
_mm512_mask_storeu_ps(arrangedW1+30042872+84789120*i5+13416*c1+24*k1, 4032, wt12);
_mm512_mask_storeu_ps(arrangedW1+30056264+84789120*i5+13416*c1+24*k1, 61440, wt12);
_mm512_mask_storeu_ps(arrangedW1+42394560+84789120*i5+13416*c1+24*k1, 63, wt13);
_mm512_mask_storeu_ps(arrangedW1+42407952+84789120*i5+13416*c1+24*k1, 4032, wt13);
_mm512_mask_storeu_ps(arrangedW1+42421344+84789120*i5+13416*c1+24*k1, 61440, wt13);
_mm512_mask_storeu_ps(arrangedW1+44161000+84789120*i5+13416*c1+24*k1, 63, wt14);
_mm512_mask_storeu_ps(arrangedW1+44174392+84789120*i5+13416*c1+24*k1, 4032, wt14);
_mm512_mask_storeu_ps(arrangedW1+44187784+84789120*i5+13416*c1+24*k1, 61440, wt14);
_mm512_mask_storeu_ps(arrangedW1+45927440+84789120*i5+13416*c1+24*k1, 63, wt15);
_mm512_mask_storeu_ps(arrangedW1+45940832+84789120*i5+13416*c1+24*k1, 4032, wt15);
_mm512_mask_storeu_ps(arrangedW1+45954224+84789120*i5+13416*c1+24*k1, 61440, wt15);
_mm512_mask_storeu_ps(arrangedW1+47693880+84789120*i5+13416*c1+24*k1, 63, wt16);
_mm512_mask_storeu_ps(arrangedW1+47707272+84789120*i5+13416*c1+24*k1, 4032, wt16);
_mm512_mask_storeu_ps(arrangedW1+47720664+84789120*i5+13416*c1+24*k1, 61440, wt16);
__m512 wt17 = _mm512_maskz_loadu_ps(65535, wtPtr1+64+84789120*i5+1717248*j1+192*k1);
__m512 wt18 = _mm512_maskz_loadu_ps(65535, wtPtr1+107392+84789120*i5+1717248*j1+192*k1);
__m512 wt19 = _mm512_maskz_loadu_ps(65535, wtPtr1+214720+84789120*i5+1717248*j1+192*k1);
__m512 wt20 = _mm512_maskz_loadu_ps(65535, wtPtr1+322048+84789120*i5+1717248*j1+192*k1);
__m512 wt21 = _mm512_maskz_loadu_ps(65535, wtPtr1+429376+84789120*i5+1717248*j1+192*k1);
__m512 wt22 = _mm512_maskz_loadu_ps(65535, wtPtr1+536704+84789120*i5+1717248*j1+192*k1);
__m512 wt23 = _mm512_maskz_loadu_ps(65535, wtPtr1+644032+84789120*i5+1717248*j1+192*k1);
__m512 wt24 = _mm512_maskz_loadu_ps(65535, wtPtr1+751360+84789120*i5+1717248*j1+192*k1);
__m512 wt25 = _mm512_maskz_loadu_ps(65535, wtPtr1+858688+84789120*i5+1717248*j1+192*k1);
__m512 wt26 = _mm512_maskz_loadu_ps(65535, wtPtr1+966016+84789120*i5+1717248*j1+192*k1);
__m512 wt27 = _mm512_maskz_loadu_ps(65535, wtPtr1+1073344+84789120*i5+1717248*j1+192*k1);
__m512 wt28 = _mm512_maskz_loadu_ps(65535, wtPtr1+1180672+84789120*i5+1717248*j1+192*k1);
__m512 wt29 = _mm512_maskz_loadu_ps(65535, wtPtr1+1288000+84789120*i5+1717248*j1+192*k1);
__m512 wt30 = _mm512_maskz_loadu_ps(65535, wtPtr1+1395328+84789120*i5+1717248*j1+192*k1);
__m512 wt31 = _mm512_maskz_loadu_ps(65535, wtPtr1+1502656+84789120*i5+1717248*j1+192*k1);
__m512 wt32 = _mm512_maskz_loadu_ps(65535, wtPtr1+1609984+84789120*i5+1717248*j1+192*k1);
__m512 tmp49 = _mm512_unpacklo_ps(wt17, wt18);
__m512 tmp50 = _mm512_unpackhi_ps(wt17, wt18);
__m512 tmp51 = _mm512_unpacklo_ps(wt19, wt20);
__m512 tmp52 = _mm512_unpackhi_ps(wt19, wt20);
__m512 tmp53 = _mm512_unpacklo_ps(wt21, wt22);
__m512 tmp54 = _mm512_unpackhi_ps(wt21, wt22);
__m512 tmp55 = _mm512_unpacklo_ps(wt23, wt24);
__m512 tmp56 = _mm512_unpackhi_ps(wt23, wt24);
__m512 tmp57 = _mm512_unpacklo_ps(wt25, wt26);
__m512 tmp58 = _mm512_unpackhi_ps(wt25, wt26);
__m512 tmp59 = _mm512_unpacklo_ps(wt27, wt28);
__m512 tmp60 = _mm512_unpackhi_ps(wt27, wt28);
__m512 tmp61 = _mm512_unpacklo_ps(wt29, wt30);
__m512 tmp62 = _mm512_unpackhi_ps(wt29, wt30);
__m512 tmp63 = _mm512_unpacklo_ps(wt31, wt32);
__m512 tmp64 = _mm512_unpackhi_ps(wt31, wt32);
__m512 tmp65 = _mm512_shuffle_ps(tmp49, tmp51, 68);
__m512 tmp66 = _mm512_shuffle_ps(tmp49, tmp51, 238);
__m512 tmp67 = _mm512_shuffle_ps(tmp50, tmp52, 68);
__m512 tmp68 = _mm512_shuffle_ps(tmp50, tmp52, 238);
__m512 tmp69 = _mm512_shuffle_ps(tmp53, tmp55, 68);
__m512 tmp70 = _mm512_shuffle_ps(tmp53, tmp55, 238);
__m512 tmp71 = _mm512_shuffle_ps(tmp54, tmp56, 68);
__m512 tmp72 = _mm512_shuffle_ps(tmp54, tmp56, 238);
__m512 tmp73 = _mm512_shuffle_ps(tmp57, tmp59, 68);
__m512 tmp74 = _mm512_shuffle_ps(tmp57, tmp59, 238);
__m512 tmp75 = _mm512_shuffle_ps(tmp58, tmp60, 68);
__m512 tmp76 = _mm512_shuffle_ps(tmp58, tmp60, 238);
__m512 tmp77 = _mm512_shuffle_ps(tmp61, tmp63, 68);
__m512 tmp78 = _mm512_shuffle_ps(tmp61, tmp63, 238);
__m512 tmp79 = _mm512_shuffle_ps(tmp62, tmp64, 68);
__m512 tmp80 = _mm512_shuffle_ps(tmp62, tmp64, 238);
__m512 tmp81 = _mm512_shuffle_f32x4(tmp65, tmp69, 136);
__m512 tmp82 = _mm512_shuffle_f32x4(tmp65, tmp69, 221);
__m512 tmp83 = _mm512_shuffle_f32x4(tmp66, tmp70, 136);
__m512 tmp84 = _mm512_shuffle_f32x4(tmp66, tmp70, 221);
__m512 tmp85 = _mm512_shuffle_f32x4(tmp67, tmp71, 136);
__m512 tmp86 = _mm512_shuffle_f32x4(tmp67, tmp71, 221);
__m512 tmp87 = _mm512_shuffle_f32x4(tmp68, tmp72, 136);
__m512 tmp88 = _mm512_shuffle_f32x4(tmp68, tmp72, 221);
__m512 tmp89 = _mm512_shuffle_f32x4(tmp73, tmp77, 136);
__m512 tmp90 = _mm512_shuffle_f32x4(tmp73, tmp77, 221);
__m512 tmp91 = _mm512_shuffle_f32x4(tmp74, tmp78, 136);
__m512 tmp92 = _mm512_shuffle_f32x4(tmp74, tmp78, 221);
__m512 tmp93 = _mm512_shuffle_f32x4(tmp75, tmp79, 136);
__m512 tmp94 = _mm512_shuffle_f32x4(tmp75, tmp79, 221);
__m512 tmp95 = _mm512_shuffle_f32x4(tmp76, tmp80, 136);
__m512 tmp96 = _mm512_shuffle_f32x4(tmp76, tmp80, 221);
wt17 = _mm512_shuffle_f32x4(tmp81, tmp89, 136);
wt25 = _mm512_shuffle_f32x4(tmp81, tmp89, 221);
wt18 = _mm512_shuffle_f32x4(tmp83, tmp91, 136);
wt26 = _mm512_shuffle_f32x4(tmp83, tmp91, 221);
wt19 = _mm512_shuffle_f32x4(tmp85, tmp93, 136);
wt27 = _mm512_shuffle_f32x4(tmp85, tmp93, 221);
wt20 = _mm512_shuffle_f32x4(tmp87, tmp95, 136);
wt28 = _mm512_shuffle_f32x4(tmp87, tmp95, 221);
wt21 = _mm512_shuffle_f32x4(tmp82, tmp90, 136);
wt29 = _mm512_shuffle_f32x4(tmp82, tmp90, 221);
wt22 = _mm512_shuffle_f32x4(tmp84, tmp92, 136);
wt30 = _mm512_shuffle_f32x4(tmp84, tmp92, 221);
wt23 = _mm512_shuffle_f32x4(tmp86, tmp94, 136);
wt31 = _mm512_shuffle_f32x4(tmp86, tmp94, 221);
wt24 = _mm512_shuffle_f32x4(tmp88, tmp96, 136);
wt32 = _mm512_shuffle_f32x4(tmp88, tmp96, 221);
_mm512_mask_storeu_ps(arrangedW1+49460320+84789120*i5+13416*c1+24*k1, 63, wt17);
_mm512_mask_storeu_ps(arrangedW1+49473712+84789120*i5+13416*c1+24*k1, 4032, wt17);
_mm512_mask_storeu_ps(arrangedW1+49487104+84789120*i5+13416*c1+24*k1, 61440, wt17);
_mm512_mask_storeu_ps(arrangedW1+51226760+84789120*i5+13416*c1+24*k1, 63, wt18);
_mm512_mask_storeu_ps(arrangedW1+51240152+84789120*i5+13416*c1+24*k1, 4032, wt18);
_mm512_mask_storeu_ps(arrangedW1+51253544+84789120*i5+13416*c1+24*k1, 61440, wt18);
_mm512_mask_storeu_ps(arrangedW1+63591840+84789120*i5+13416*c1+24*k1, 63, wt19);
_mm512_mask_storeu_ps(arrangedW1+63605232+84789120*i5+13416*c1+24*k1, 4032, wt19);
_mm512_mask_storeu_ps(arrangedW1+63618624+84789120*i5+13416*c1+24*k1, 61440, wt19);
_mm512_mask_storeu_ps(arrangedW1+65358280+84789120*i5+13416*c1+24*k1, 63, wt20);
_mm512_mask_storeu_ps(arrangedW1+65371672+84789120*i5+13416*c1+24*k1, 4032, wt20);
_mm512_mask_storeu_ps(arrangedW1+65385064+84789120*i5+13416*c1+24*k1, 61440, wt20);
_mm512_mask_storeu_ps(arrangedW1+67124720+84789120*i5+13416*c1+24*k1, 63, wt21);
_mm512_mask_storeu_ps(arrangedW1+67138112+84789120*i5+13416*c1+24*k1, 4032, wt21);
_mm512_mask_storeu_ps(arrangedW1+67151504+84789120*i5+13416*c1+24*k1, 61440, wt21);
_mm512_mask_storeu_ps(arrangedW1+68891160+84789120*i5+13416*c1+24*k1, 63, wt22);
_mm512_mask_storeu_ps(arrangedW1+68904552+84789120*i5+13416*c1+24*k1, 4032, wt22);
_mm512_mask_storeu_ps(arrangedW1+68917944+84789120*i5+13416*c1+24*k1, 61440, wt22);
_mm512_mask_storeu_ps(arrangedW1+70657600+84789120*i5+13416*c1+24*k1, 63, wt23);
_mm512_mask_storeu_ps(arrangedW1+70670992+84789120*i5+13416*c1+24*k1, 4032, wt23);
_mm512_mask_storeu_ps(arrangedW1+70684384+84789120*i5+13416*c1+24*k1, 61440, wt23);
_mm512_mask_storeu_ps(arrangedW1+72424040+84789120*i5+13416*c1+24*k1, 63, wt24);
_mm512_mask_storeu_ps(arrangedW1+72437432+84789120*i5+13416*c1+24*k1, 4032, wt24);
_mm512_mask_storeu_ps(arrangedW1+72450824+84789120*i5+13416*c1+24*k1, 61440, wt24);
_mm512_mask_storeu_ps(arrangedW1+10598640+84789120*i5+13416*c1+24*k1, 63, wt25);
_mm512_mask_storeu_ps(arrangedW1+10612032+84789120*i5+13416*c1+24*k1, 4032, wt25);
_mm512_mask_storeu_ps(arrangedW1+10625424+84789120*i5+13416*c1+24*k1, 61440, wt25);
_mm512_mask_storeu_ps(arrangedW1+12365080+84789120*i5+13416*c1+24*k1, 63, wt26);
_mm512_mask_storeu_ps(arrangedW1+12378472+84789120*i5+13416*c1+24*k1, 4032, wt26);
_mm512_mask_storeu_ps(arrangedW1+12391864+84789120*i5+13416*c1+24*k1, 61440, wt26);
_mm512_mask_storeu_ps(arrangedW1+14131520+84789120*i5+13416*c1+24*k1, 63, wt27);
_mm512_mask_storeu_ps(arrangedW1+14144912+84789120*i5+13416*c1+24*k1, 4032, wt27);
_mm512_mask_storeu_ps(arrangedW1+14158304+84789120*i5+13416*c1+24*k1, 61440, wt27);
_mm512_mask_storeu_ps(arrangedW1+15897960+84789120*i5+13416*c1+24*k1, 63, wt28);
_mm512_mask_storeu_ps(arrangedW1+15911352+84789120*i5+13416*c1+24*k1, 4032, wt28);
_mm512_mask_storeu_ps(arrangedW1+15924744+84789120*i5+13416*c1+24*k1, 61440, wt28);
_mm512_mask_storeu_ps(arrangedW1+17664400+84789120*i5+13416*c1+24*k1, 63, wt29);
_mm512_mask_storeu_ps(arrangedW1+17677792+84789120*i5+13416*c1+24*k1, 4032, wt29);
_mm512_mask_storeu_ps(arrangedW1+17691184+84789120*i5+13416*c1+24*k1, 61440, wt29);
_mm512_mask_storeu_ps(arrangedW1+19430840+84789120*i5+13416*c1+24*k1, 63, wt30);
_mm512_mask_storeu_ps(arrangedW1+19444232+84789120*i5+13416*c1+24*k1, 4032, wt30);
_mm512_mask_storeu_ps(arrangedW1+19457624+84789120*i5+13416*c1+24*k1, 61440, wt30);
_mm512_mask_storeu_ps(arrangedW1+31795920+84789120*i5+13416*c1+24*k1, 63, wt31);
_mm512_mask_storeu_ps(arrangedW1+31809312+84789120*i5+13416*c1+24*k1, 4032, wt31);
_mm512_mask_storeu_ps(arrangedW1+31822704+84789120*i5+13416*c1+24*k1, 61440, wt31);
_mm512_mask_storeu_ps(arrangedW1+33562360+84789120*i5+13416*c1+24*k1, 63, wt32);
_mm512_mask_storeu_ps(arrangedW1+33575752+84789120*i5+13416*c1+24*k1, 4032, wt32);
_mm512_mask_storeu_ps(arrangedW1+33589144+84789120*i5+13416*c1+24*k1, 61440, wt32);
__m512 wt33 = _mm512_maskz_loadu_ps(65535, wtPtr1+128+84789120*i5+1717248*j1+192*k1);
__m512 wt34 = _mm512_maskz_loadu_ps(65535, wtPtr1+107456+84789120*i5+1717248*j1+192*k1);
__m512 wt35 = _mm512_maskz_loadu_ps(65535, wtPtr1+214784+84789120*i5+1717248*j1+192*k1);
__m512 wt36 = _mm512_maskz_loadu_ps(65535, wtPtr1+322112+84789120*i5+1717248*j1+192*k1);
__m512 wt37 = _mm512_maskz_loadu_ps(65535, wtPtr1+429440+84789120*i5+1717248*j1+192*k1);
__m512 wt38 = _mm512_maskz_loadu_ps(65535, wtPtr1+536768+84789120*i5+1717248*j1+192*k1);
__m512 wt39 = _mm512_maskz_loadu_ps(65535, wtPtr1+644096+84789120*i5+1717248*j1+192*k1);
__m512 wt40 = _mm512_maskz_loadu_ps(65535, wtPtr1+751424+84789120*i5+1717248*j1+192*k1);
__m512 wt41 = _mm512_maskz_loadu_ps(65535, wtPtr1+858752+84789120*i5+1717248*j1+192*k1);
__m512 wt42 = _mm512_maskz_loadu_ps(65535, wtPtr1+966080+84789120*i5+1717248*j1+192*k1);
__m512 wt43 = _mm512_maskz_loadu_ps(65535, wtPtr1+1073408+84789120*i5+1717248*j1+192*k1);
__m512 wt44 = _mm512_maskz_loadu_ps(65535, wtPtr1+1180736+84789120*i5+1717248*j1+192*k1);
__m512 wt45 = _mm512_maskz_loadu_ps(65535, wtPtr1+1288064+84789120*i5+1717248*j1+192*k1);
__m512 wt46 = _mm512_maskz_loadu_ps(65535, wtPtr1+1395392+84789120*i5+1717248*j1+192*k1);
__m512 wt47 = _mm512_maskz_loadu_ps(65535, wtPtr1+1502720+84789120*i5+1717248*j1+192*k1);
__m512 wt48 = _mm512_maskz_loadu_ps(65535, wtPtr1+1610048+84789120*i5+1717248*j1+192*k1);
__m512 tmp97 = _mm512_unpacklo_ps(wt33, wt34);
__m512 tmp98 = _mm512_unpackhi_ps(wt33, wt34);
__m512 tmp99 = _mm512_unpacklo_ps(wt35, wt36);
__m512 tmp100 = _mm512_unpackhi_ps(wt35, wt36);
__m512 tmp101 = _mm512_unpacklo_ps(wt37, wt38);
__m512 tmp102 = _mm512_unpackhi_ps(wt37, wt38);
__m512 tmp103 = _mm512_unpacklo_ps(wt39, wt40);
__m512 tmp104 = _mm512_unpackhi_ps(wt39, wt40);
__m512 tmp105 = _mm512_unpacklo_ps(wt41, wt42);
__m512 tmp106 = _mm512_unpackhi_ps(wt41, wt42);
__m512 tmp107 = _mm512_unpacklo_ps(wt43, wt44);
__m512 tmp108 = _mm512_unpackhi_ps(wt43, wt44);
__m512 tmp109 = _mm512_unpacklo_ps(wt45, wt46);
__m512 tmp110 = _mm512_unpackhi_ps(wt45, wt46);
__m512 tmp111 = _mm512_unpacklo_ps(wt47, wt48);
__m512 tmp112 = _mm512_unpackhi_ps(wt47, wt48);
__m512 tmp113 = _mm512_shuffle_ps(tmp97, tmp99, 68);
__m512 tmp114 = _mm512_shuffle_ps(tmp97, tmp99, 238);
__m512 tmp115 = _mm512_shuffle_ps(tmp98, tmp100, 68);
__m512 tmp116 = _mm512_shuffle_ps(tmp98, tmp100, 238);
__m512 tmp117 = _mm512_shuffle_ps(tmp101, tmp103, 68);
__m512 tmp118 = _mm512_shuffle_ps(tmp101, tmp103, 238);
__m512 tmp119 = _mm512_shuffle_ps(tmp102, tmp104, 68);
__m512 tmp120 = _mm512_shuffle_ps(tmp102, tmp104, 238);
__m512 tmp121 = _mm512_shuffle_ps(tmp105, tmp107, 68);
__m512 tmp122 = _mm512_shuffle_ps(tmp105, tmp107, 238);
__m512 tmp123 = _mm512_shuffle_ps(tmp106, tmp108, 68);
__m512 tmp124 = _mm512_shuffle_ps(tmp106, tmp108, 238);
__m512 tmp125 = _mm512_shuffle_ps(tmp109, tmp111, 68);
__m512 tmp126 = _mm512_shuffle_ps(tmp109, tmp111, 238);
__m512 tmp127 = _mm512_shuffle_ps(tmp110, tmp112, 68);
__m512 tmp128 = _mm512_shuffle_ps(tmp110, tmp112, 238);
__m512 tmp129 = _mm512_shuffle_f32x4(tmp113, tmp117, 136);
__m512 tmp130 = _mm512_shuffle_f32x4(tmp113, tmp117, 221);
__m512 tmp131 = _mm512_shuffle_f32x4(tmp114, tmp118, 136);
__m512 tmp132 = _mm512_shuffle_f32x4(tmp114, tmp118, 221);
__m512 tmp133 = _mm512_shuffle_f32x4(tmp115, tmp119, 136);
__m512 tmp134 = _mm512_shuffle_f32x4(tmp115, tmp119, 221);
__m512 tmp135 = _mm512_shuffle_f32x4(tmp116, tmp120, 136);
__m512 tmp136 = _mm512_shuffle_f32x4(tmp116, tmp120, 221);
__m512 tmp137 = _mm512_shuffle_f32x4(tmp121, tmp125, 136);
__m512 tmp138 = _mm512_shuffle_f32x4(tmp121, tmp125, 221);
__m512 tmp139 = _mm512_shuffle_f32x4(tmp122, tmp126, 136);
__m512 tmp140 = _mm512_shuffle_f32x4(tmp122, tmp126, 221);
__m512 tmp141 = _mm512_shuffle_f32x4(tmp123, tmp127, 136);
__m512 tmp142 = _mm512_shuffle_f32x4(tmp123, tmp127, 221);
__m512 tmp143 = _mm512_shuffle_f32x4(tmp124, tmp128, 136);
__m512 tmp144 = _mm512_shuffle_f32x4(tmp124, tmp128, 221);
wt33 = _mm512_shuffle_f32x4(tmp129, tmp137, 136);
wt41 = _mm512_shuffle_f32x4(tmp129, tmp137, 221);
wt34 = _mm512_shuffle_f32x4(tmp131, tmp139, 136);
wt42 = _mm512_shuffle_f32x4(tmp131, tmp139, 221);
wt35 = _mm512_shuffle_f32x4(tmp133, tmp141, 136);
wt43 = _mm512_shuffle_f32x4(tmp133, tmp141, 221);
wt36 = _mm512_shuffle_f32x4(tmp135, tmp143, 136);
wt44 = _mm512_shuffle_f32x4(tmp135, tmp143, 221);
wt37 = _mm512_shuffle_f32x4(tmp130, tmp138, 136);
wt45 = _mm512_shuffle_f32x4(tmp130, tmp138, 221);
wt38 = _mm512_shuffle_f32x4(tmp132, tmp140, 136);
wt46 = _mm512_shuffle_f32x4(tmp132, tmp140, 221);
wt39 = _mm512_shuffle_f32x4(tmp134, tmp142, 136);
wt47 = _mm512_shuffle_f32x4(tmp134, tmp142, 221);
wt40 = _mm512_shuffle_f32x4(tmp136, tmp144, 136);
wt48 = _mm512_shuffle_f32x4(tmp136, tmp144, 221);
_mm512_mask_storeu_ps(arrangedW1+35328800+84789120*i5+13416*c1+24*k1, 63, wt33);
_mm512_mask_storeu_ps(arrangedW1+35342192+84789120*i5+13416*c1+24*k1, 4032, wt33);
_mm512_mask_storeu_ps(arrangedW1+35355584+84789120*i5+13416*c1+24*k1, 61440, wt33);
_mm512_mask_storeu_ps(arrangedW1+37095240+84789120*i5+13416*c1+24*k1, 63, wt34);
_mm512_mask_storeu_ps(arrangedW1+37108632+84789120*i5+13416*c1+24*k1, 4032, wt34);
_mm512_mask_storeu_ps(arrangedW1+37122024+84789120*i5+13416*c1+24*k1, 61440, wt34);
_mm512_mask_storeu_ps(arrangedW1+38861680+84789120*i5+13416*c1+24*k1, 63, wt35);
_mm512_mask_storeu_ps(arrangedW1+38875072+84789120*i5+13416*c1+24*k1, 4032, wt35);
_mm512_mask_storeu_ps(arrangedW1+38888464+84789120*i5+13416*c1+24*k1, 61440, wt35);
_mm512_mask_storeu_ps(arrangedW1+40628120+84789120*i5+13416*c1+24*k1, 63, wt36);
_mm512_mask_storeu_ps(arrangedW1+40641512+84789120*i5+13416*c1+24*k1, 4032, wt36);
_mm512_mask_storeu_ps(arrangedW1+40654904+84789120*i5+13416*c1+24*k1, 61440, wt36);
_mm512_mask_storeu_ps(arrangedW1+52993200+84789120*i5+13416*c1+24*k1, 63, wt37);
_mm512_mask_storeu_ps(arrangedW1+53006592+84789120*i5+13416*c1+24*k1, 4032, wt37);
_mm512_mask_storeu_ps(arrangedW1+53019984+84789120*i5+13416*c1+24*k1, 61440, wt37);
_mm512_mask_storeu_ps(arrangedW1+54759640+84789120*i5+13416*c1+24*k1, 63, wt38);
_mm512_mask_storeu_ps(arrangedW1+54773032+84789120*i5+13416*c1+24*k1, 4032, wt38);
_mm512_mask_storeu_ps(arrangedW1+54786424+84789120*i5+13416*c1+24*k1, 61440, wt38);
_mm512_mask_storeu_ps(arrangedW1+56526080+84789120*i5+13416*c1+24*k1, 63, wt39);
_mm512_mask_storeu_ps(arrangedW1+56539472+84789120*i5+13416*c1+24*k1, 4032, wt39);
_mm512_mask_storeu_ps(arrangedW1+56552864+84789120*i5+13416*c1+24*k1, 61440, wt39);
_mm512_mask_storeu_ps(arrangedW1+58292520+84789120*i5+13416*c1+24*k1, 63, wt40);
_mm512_mask_storeu_ps(arrangedW1+58305912+84789120*i5+13416*c1+24*k1, 4032, wt40);
_mm512_mask_storeu_ps(arrangedW1+58319304+84789120*i5+13416*c1+24*k1, 61440, wt40);
_mm512_mask_storeu_ps(arrangedW1+60058960+84789120*i5+13416*c1+24*k1, 63, wt41);
_mm512_mask_storeu_ps(arrangedW1+60072352+84789120*i5+13416*c1+24*k1, 4032, wt41);
_mm512_mask_storeu_ps(arrangedW1+60085744+84789120*i5+13416*c1+24*k1, 61440, wt41);
_mm512_mask_storeu_ps(arrangedW1+61825400+84789120*i5+13416*c1+24*k1, 63, wt42);
_mm512_mask_storeu_ps(arrangedW1+61838792+84789120*i5+13416*c1+24*k1, 4032, wt42);
_mm512_mask_storeu_ps(arrangedW1+61852184+84789120*i5+13416*c1+24*k1, 61440, wt42);
_mm512_mask_storeu_ps(arrangedW1+74190480+84789120*i5+13416*c1+24*k1, 63, wt43);
_mm512_mask_storeu_ps(arrangedW1+74203872+84789120*i5+13416*c1+24*k1, 4032, wt43);
_mm512_mask_storeu_ps(arrangedW1+74217264+84789120*i5+13416*c1+24*k1, 61440, wt43);
_mm512_mask_storeu_ps(arrangedW1+75956920+84789120*i5+13416*c1+24*k1, 63, wt44);
_mm512_mask_storeu_ps(arrangedW1+75970312+84789120*i5+13416*c1+24*k1, 4032, wt44);
_mm512_mask_storeu_ps(arrangedW1+75983704+84789120*i5+13416*c1+24*k1, 61440, wt44);
_mm512_mask_storeu_ps(arrangedW1+77723360+84789120*i5+13416*c1+24*k1, 63, wt45);
_mm512_mask_storeu_ps(arrangedW1+77736752+84789120*i5+13416*c1+24*k1, 4032, wt45);
_mm512_mask_storeu_ps(arrangedW1+77750144+84789120*i5+13416*c1+24*k1, 61440, wt45);
_mm512_mask_storeu_ps(arrangedW1+79489800+84789120*i5+13416*c1+24*k1, 63, wt46);
_mm512_mask_storeu_ps(arrangedW1+79503192+84789120*i5+13416*c1+24*k1, 4032, wt46);
_mm512_mask_storeu_ps(arrangedW1+79516584+84789120*i5+13416*c1+24*k1, 61440, wt46);
_mm512_mask_storeu_ps(arrangedW1+81256240+84789120*i5+13416*c1+24*k1, 63, wt47);
_mm512_mask_storeu_ps(arrangedW1+81269632+84789120*i5+13416*c1+24*k1, 4032, wt47);
_mm512_mask_storeu_ps(arrangedW1+81283024+84789120*i5+13416*c1+24*k1, 61440, wt47);
_mm512_mask_storeu_ps(arrangedW1+83022680+84789120*i5+13416*c1+24*k1, 63, wt48);
_mm512_mask_storeu_ps(arrangedW1+83036072+84789120*i5+13416*c1+24*k1, 4032, wt48);
_mm512_mask_storeu_ps(arrangedW1+83049464+84789120*i5+13416*c1+24*k1, 61440, wt48);
}
break;
}
case 2: {
ptrdiff_t k2 = 0;
for (; k2 != 559; ++k2) {
__m512 wt49 = _mm512_maskz_loadu_ps(65535, wtPtr1+0+84789120*i5+1717248*j1+192*k2);
__m512 wt50 = _mm512_maskz_loadu_ps(65535, wtPtr1+107328+84789120*i5+1717248*j1+192*k2);
__m512 wt51 = _mm512_maskz_loadu_ps(65535, wtPtr1+214656+84789120*i5+1717248*j1+192*k2);
__m512 wt52 = _mm512_maskz_loadu_ps(65535, wtPtr1+321984+84789120*i5+1717248*j1+192*k2);
__m512 wt53 = _mm512_maskz_loadu_ps(65535, wtPtr1+429312+84789120*i5+1717248*j1+192*k2);
__m512 wt54 = _mm512_maskz_loadu_ps(65535, wtPtr1+536640+84789120*i5+1717248*j1+192*k2);
__m512 wt55 = _mm512_maskz_loadu_ps(65535, wtPtr1+643968+84789120*i5+1717248*j1+192*k2);
__m512 wt56 = _mm512_maskz_loadu_ps(65535, wtPtr1+751296+84789120*i5+1717248*j1+192*k2);
__m512 wt57 = _mm512_maskz_loadu_ps(65535, wtPtr1+858624+84789120*i5+1717248*j1+192*k2);
__m512 wt58 = _mm512_maskz_loadu_ps(65535, wtPtr1+965952+84789120*i5+1717248*j1+192*k2);
__m512 wt59 = _mm512_maskz_loadu_ps(65535, wtPtr1+1073280+84789120*i5+1717248*j1+192*k2);
__m512 wt60 = _mm512_maskz_loadu_ps(65535, wtPtr1+1180608+84789120*i5+1717248*j1+192*k2);
__m512 wt61 = _mm512_maskz_loadu_ps(65535, wtPtr1+1287936+84789120*i5+1717248*j1+192*k2);
__m512 wt62 = _mm512_maskz_loadu_ps(65535, wtPtr1+1395264+84789120*i5+1717248*j1+192*k2);
__m512 wt63 = _mm512_maskz_loadu_ps(65535, wtPtr1+1502592+84789120*i5+1717248*j1+192*k2);
__m512 wt64 = _mm512_maskz_loadu_ps(65535, wtPtr1+1609920+84789120*i5+1717248*j1+192*k2);
__m512 tmp145 = _mm512_unpacklo_ps(wt49, wt50);
__m512 tmp146 = _mm512_unpackhi_ps(wt49, wt50);
__m512 tmp147 = _mm512_unpacklo_ps(wt51, wt52);
__m512 tmp148 = _mm512_unpackhi_ps(wt51, wt52);
__m512 tmp149 = _mm512_unpacklo_ps(wt53, wt54);
__m512 tmp150 = _mm512_unpackhi_ps(wt53, wt54);
__m512 tmp151 = _mm512_unpacklo_ps(wt55, wt56);
__m512 tmp152 = _mm512_unpackhi_ps(wt55, wt56);
__m512 tmp153 = _mm512_unpacklo_ps(wt57, wt58);
__m512 tmp154 = _mm512_unpackhi_ps(wt57, wt58);
__m512 tmp155 = _mm512_unpacklo_ps(wt59, wt60);
__m512 tmp156 = _mm512_unpackhi_ps(wt59, wt60);
__m512 tmp157 = _mm512_unpacklo_ps(wt61, wt62);
__m512 tmp158 = _mm512_unpackhi_ps(wt61, wt62);
__m512 tmp159 = _mm512_unpacklo_ps(wt63, wt64);
__m512 tmp160 = _mm512_unpackhi_ps(wt63, wt64);
__m512 tmp161 = _mm512_shuffle_ps(tmp145, tmp147, 68);
__m512 tmp162 = _mm512_shuffle_ps(tmp145, tmp147, 238);
__m512 tmp163 = _mm512_shuffle_ps(tmp146, tmp148, 68);
__m512 tmp164 = _mm512_shuffle_ps(tmp146, tmp148, 238);
__m512 tmp165 = _mm512_shuffle_ps(tmp149, tmp151, 68);
__m512 tmp166 = _mm512_shuffle_ps(tmp149, tmp151, 238);
__m512 tmp167 = _mm512_shuffle_ps(tmp150, tmp152, 68);
__m512 tmp168 = _mm512_shuffle_ps(tmp150, tmp152, 238);
__m512 tmp169 = _mm512_shuffle_ps(tmp153, tmp155, 68);
__m512 tmp170 = _mm512_shuffle_ps(tmp153, tmp155, 238);
__m512 tmp171 = _mm512_shuffle_ps(tmp154, tmp156, 68);
__m512 tmp172 = _mm512_shuffle_ps(tmp154, tmp156, 238);
__m512 tmp173 = _mm512_shuffle_ps(tmp157, tmp159, 68);
__m512 tmp174 = _mm512_shuffle_ps(tmp157, tmp159, 238);
__m512 tmp175 = _mm512_shuffle_ps(tmp158, tmp160, 68);
__m512 tmp176 = _mm512_shuffle_ps(tmp158, tmp160, 238);
__m512 tmp177 = _mm512_shuffle_f32x4(tmp161, tmp165, 136);
__m512 tmp178 = _mm512_shuffle_f32x4(tmp161, tmp165, 221);
__m512 tmp179 = _mm512_shuffle_f32x4(tmp162, tmp166, 136);
__m512 tmp180 = _mm512_shuffle_f32x4(tmp162, tmp166, 221);
__m512 tmp181 = _mm512_shuffle_f32x4(tmp163, tmp167, 136);
__m512 tmp182 = _mm512_shuffle_f32x4(tmp163, tmp167, 221);
__m512 tmp183 = _mm512_shuffle_f32x4(tmp164, tmp168, 136);
__m512 tmp184 = _mm512_shuffle_f32x4(tmp164, tmp168, 221);
__m512 tmp185 = _mm512_shuffle_f32x4(tmp169, tmp173, 136);
__m512 tmp186 = _mm512_shuffle_f32x4(tmp169, tmp173, 221);
__m512 tmp187 = _mm512_shuffle_f32x4(tmp170, tmp174, 136);
__m512 tmp188 = _mm512_shuffle_f32x4(tmp170, tmp174, 221);
__m512 tmp189 = _mm512_shuffle_f32x4(tmp171, tmp175, 136);
__m512 tmp190 = _mm512_shuffle_f32x4(tmp171, tmp175, 221);
__m512 tmp191 = _mm512_shuffle_f32x4(tmp172, tmp176, 136);
__m512 tmp192 = _mm512_shuffle_f32x4(tmp172, tmp176, 221);
wt49 = _mm512_shuffle_f32x4(tmp177, tmp185, 136);
wt57 = _mm512_shuffle_f32x4(tmp177, tmp185, 221);
wt50 = _mm512_shuffle_f32x4(tmp179, tmp187, 136);
wt58 = _mm512_shuffle_f32x4(tmp179, tmp187, 221);
wt51 = _mm512_shuffle_f32x4(tmp181, tmp189, 136);
wt59 = _mm512_shuffle_f32x4(tmp181, tmp189, 221);
wt52 = _mm512_shuffle_f32x4(tmp183, tmp191, 136);
wt60 = _mm512_shuffle_f32x4(tmp183, tmp191, 221);
wt53 = _mm512_shuffle_f32x4(tmp178, tmp186, 136);
wt61 = _mm512_shuffle_f32x4(tmp178, tmp186, 221);
wt54 = _mm512_shuffle_f32x4(tmp180, tmp188, 136);
wt62 = _mm512_shuffle_f32x4(tmp180, tmp188, 221);
wt55 = _mm512_shuffle_f32x4(tmp182, tmp190, 136);
wt63 = _mm512_shuffle_f32x4(tmp182, tmp190, 221);
wt56 = _mm512_shuffle_f32x4(tmp184, tmp192, 136);
wt64 = _mm512_shuffle_f32x4(tmp184, tmp192, 221);
_mm512_mask_storeu_ps(arrangedW1+8+84789120*i5+13416*c1+24*k2, 15, wt49);
_mm512_mask_storeu_ps(arrangedW1+13400+84789120*i5+13416*c1+24*k2, 1008, wt49);
_mm512_mask_storeu_ps(arrangedW1+26792+84789120*i5+13416*c1+24*k2, 64512, wt49);
_mm512_mask_storeu_ps(arrangedW1+1766448+84789120*i5+13416*c1+24*k2, 15, wt50);
_mm512_mask_storeu_ps(arrangedW1+1779840+84789120*i5+13416*c1+24*k2, 1008, wt50);
_mm512_mask_storeu_ps(arrangedW1+1793232+84789120*i5+13416*c1+24*k2, 64512, wt50);
_mm512_mask_storeu_ps(arrangedW1+3532888+84789120*i5+13416*c1+24*k2, 15, wt51);
_mm512_mask_storeu_ps(arrangedW1+3546280+84789120*i5+13416*c1+24*k2, 1008, wt51);
_mm512_mask_storeu_ps(arrangedW1+3559672+84789120*i5+13416*c1+24*k2, 64512, wt51);
_mm512_mask_storeu_ps(arrangedW1+5299328+84789120*i5+13416*c1+24*k2, 15, wt52);
_mm512_mask_storeu_ps(arrangedW1+5312720+84789120*i5+13416*c1+24*k2, 1008, wt52);
_mm512_mask_storeu_ps(arrangedW1+5326112+84789120*i5+13416*c1+24*k2, 64512, wt52);
_mm512_mask_storeu_ps(arrangedW1+7065768+84789120*i5+13416*c1+24*k2, 15, wt53);
_mm512_mask_storeu_ps(arrangedW1+7079160+84789120*i5+13416*c1+24*k2, 1008, wt53);
_mm512_mask_storeu_ps(arrangedW1+7092552+84789120*i5+13416*c1+24*k2, 64512, wt53);
_mm512_mask_storeu_ps(arrangedW1+8832208+84789120*i5+13416*c1+24*k2, 15, wt54);
_mm512_mask_storeu_ps(arrangedW1+8845600+84789120*i5+13416*c1+24*k2, 1008, wt54);
_mm512_mask_storeu_ps(arrangedW1+8858992+84789120*i5+13416*c1+24*k2, 64512, wt54);
_mm512_mask_storeu_ps(arrangedW1+21197288+84789120*i5+13416*c1+24*k2, 15, wt55);
_mm512_mask_storeu_ps(arrangedW1+21210680+84789120*i5+13416*c1+24*k2, 1008, wt55);
_mm512_mask_storeu_ps(arrangedW1+21224072+84789120*i5+13416*c1+24*k2, 64512, wt55);
_mm512_mask_storeu_ps(arrangedW1+22963728+84789120*i5+13416*c1+24*k2, 15, wt56);
_mm512_mask_storeu_ps(arrangedW1+22977120+84789120*i5+13416*c1+24*k2, 1008, wt56);
_mm512_mask_storeu_ps(arrangedW1+22990512+84789120*i5+13416*c1+24*k2, 64512, wt56);
_mm512_mask_storeu_ps(arrangedW1+24730168+84789120*i5+13416*c1+24*k2, 15, wt57);
_mm512_mask_storeu_ps(arrangedW1+24743560+84789120*i5+13416*c1+24*k2, 1008, wt57);
_mm512_mask_storeu_ps(arrangedW1+24756952+84789120*i5+13416*c1+24*k2, 64512, wt57);
_mm512_mask_storeu_ps(arrangedW1+26496608+84789120*i5+13416*c1+24*k2, 15, wt58);
_mm512_mask_storeu_ps(arrangedW1+26510000+84789120*i5+13416*c1+24*k2, 1008, wt58);
_mm512_mask_storeu_ps(arrangedW1+26523392+84789120*i5+13416*c1+24*k2, 64512, wt58);
_mm512_mask_storeu_ps(arrangedW1+28263048+84789120*i5+13416*c1+24*k2, 15, wt59);
_mm512_mask_storeu_ps(arrangedW1+28276440+84789120*i5+13416*c1+24*k2, 1008, wt59);
_mm512_mask_storeu_ps(arrangedW1+28289832+84789120*i5+13416*c1+24*k2, 64512, wt59);
_mm512_mask_storeu_ps(arrangedW1+30029488+84789120*i5+13416*c1+24*k2, 15, wt60);
_mm512_mask_storeu_ps(arrangedW1+30042880+84789120*i5+13416*c1+24*k2, 1008, wt60);
_mm512_mask_storeu_ps(arrangedW1+30056272+84789120*i5+13416*c1+24*k2, 64512, wt60);
_mm512_mask_storeu_ps(arrangedW1+42394568+84789120*i5+13416*c1+24*k2, 15, wt61);
_mm512_mask_storeu_ps(arrangedW1+42407960+84789120*i5+13416*c1+24*k2, 1008, wt61);
_mm512_mask_storeu_ps(arrangedW1+42421352+84789120*i5+13416*c1+24*k2, 64512, wt61);
_mm512_mask_storeu_ps(arrangedW1+44161008+84789120*i5+13416*c1+24*k2, 15, wt62);
_mm512_mask_storeu_ps(arrangedW1+44174400+84789120*i5+13416*c1+24*k2, 1008, wt62);
_mm512_mask_storeu_ps(arrangedW1+44187792+84789120*i5+13416*c1+24*k2, 64512, wt62);
_mm512_mask_storeu_ps(arrangedW1+45927448+84789120*i5+13416*c1+24*k2, 15, wt63);
_mm512_mask_storeu_ps(arrangedW1+45940840+84789120*i5+13416*c1+24*k2, 1008, wt63);
_mm512_mask_storeu_ps(arrangedW1+45954232+84789120*i5+13416*c1+24*k2, 64512, wt63);
_mm512_mask_storeu_ps(arrangedW1+47693888+84789120*i5+13416*c1+24*k2, 15, wt64);
_mm512_mask_storeu_ps(arrangedW1+47707280+84789120*i5+13416*c1+24*k2, 1008, wt64);
_mm512_mask_storeu_ps(arrangedW1+47720672+84789120*i5+13416*c1+24*k2, 64512, wt64);
__m512 wt65 = _mm512_maskz_loadu_ps(65535, wtPtr1+64+84789120*i5+1717248*j1+192*k2);
__m512 wt66 = _mm512_maskz_loadu_ps(65535, wtPtr1+107392+84789120*i5+1717248*j1+192*k2);
__m512 wt67 = _mm512_maskz_loadu_ps(65535, wtPtr1+214720+84789120*i5+1717248*j1+192*k2);
__m512 wt68 = _mm512_maskz_loadu_ps(65535, wtPtr1+322048+84789120*i5+1717248*j1+192*k2);
__m512 wt69 = _mm512_maskz_loadu_ps(65535, wtPtr1+429376+84789120*i5+1717248*j1+192*k2);
__m512 wt70 = _mm512_maskz_loadu_ps(65535, wtPtr1+536704+84789120*i5+1717248*j1+192*k2);
__m512 wt71 = _mm512_maskz_loadu_ps(65535, wtPtr1+644032+84789120*i5+1717248*j1+192*k2);
__m512 wt72 = _mm512_maskz_loadu_ps(65535, wtPtr1+751360+84789120*i5+1717248*j1+192*k2);
__m512 wt73 = _mm512_maskz_loadu_ps(65535, wtPtr1+858688+84789120*i5+1717248*j1+192*k2);
__m512 wt74 = _mm512_maskz_loadu_ps(65535, wtPtr1+966016+84789120*i5+1717248*j1+192*k2);
__m512 wt75 = _mm512_maskz_loadu_ps(65535, wtPtr1+1073344+84789120*i5+1717248*j1+192*k2);
__m512 wt76 = _mm512_maskz_loadu_ps(65535, wtPtr1+1180672+84789120*i5+1717248*j1+192*k2);
__m512 wt77 = _mm512_maskz_loadu_ps(65535, wtPtr1+1288000+84789120*i5+1717248*j1+192*k2);
__m512 wt78 = _mm512_maskz_loadu_ps(65535, wtPtr1+1395328+84789120*i5+1717248*j1+192*k2);
__m512 wt79 = _mm512_maskz_loadu_ps(65535, wtPtr1+1502656+84789120*i5+1717248*j1+192*k2);
__m512 wt80 = _mm512_maskz_loadu_ps(65535, wtPtr1+1609984+84789120*i5+1717248*j1+192*k2);
__m512 tmp193 = _mm512_unpacklo_ps(wt65, wt66);
__m512 tmp194 = _mm512_unpackhi_ps(wt65, wt66);
__m512 tmp195 = _mm512_unpacklo_ps(wt67, wt68);
__m512 tmp196 = _mm512_unpackhi_ps(wt67, wt68);
__m512 tmp197 = _mm512_unpacklo_ps(wt69, wt70);
__m512 tmp198 = _mm512_unpackhi_ps(wt69, wt70);
__m512 tmp199 = _mm512_unpacklo_ps(wt71, wt72);
__m512 tmp200 = _mm512_unpackhi_ps(wt71, wt72);
__m512 tmp201 = _mm512_unpacklo_ps(wt73, wt74);
__m512 tmp202 = _mm512_unpackhi_ps(wt73, wt74);
__m512 tmp203 = _mm512_unpacklo_ps(wt75, wt76);
__m512 tmp204 = _mm512_unpackhi_ps(wt75, wt76);
__m512 tmp205 = _mm512_unpacklo_ps(wt77, wt78);
__m512 tmp206 = _mm512_unpackhi_ps(wt77, wt78);
__m512 tmp207 = _mm512_unpacklo_ps(wt79, wt80);
__m512 tmp208 = _mm512_unpackhi_ps(wt79, wt80);
__m512 tmp209 = _mm512_shuffle_ps(tmp193, tmp195, 68);
__m512 tmp210 = _mm512_shuffle_ps(tmp193, tmp195, 238);
__m512 tmp211 = _mm512_shuffle_ps(tmp194, tmp196, 68);
__m512 tmp212 = _mm512_shuffle_ps(tmp194, tmp196, 238);
__m512 tmp213 = _mm512_shuffle_ps(tmp197, tmp199, 68);
__m512 tmp214 = _mm512_shuffle_ps(tmp197, tmp199, 238);
__m512 tmp215 = _mm512_shuffle_ps(tmp198, tmp200, 68);
__m512 tmp216 = _mm512_shuffle_ps(tmp198, tmp200, 238);
__m512 tmp217 = _mm512_shuffle_ps(tmp201, tmp203, 68);
__m512 tmp218 = _mm512_shuffle_ps(tmp201, tmp203, 238);
__m512 tmp219 = _mm512_shuffle_ps(tmp202, tmp204, 68);
__m512 tmp220 = _mm512_shuffle_ps(tmp202, tmp204, 238);
__m512 tmp221 = _mm512_shuffle_ps(tmp205, tmp207, 68);
__m512 tmp222 = _mm512_shuffle_ps(tmp205, tmp207, 238);
__m512 tmp223 = _mm512_shuffle_ps(tmp206, tmp208, 68);
__m512 tmp224 = _mm512_shuffle_ps(tmp206, tmp208, 238);
__m512 tmp225 = _mm512_shuffle_f32x4(tmp209, tmp213, 136);
__m512 tmp226 = _mm512_shuffle_f32x4(tmp209, tmp213, 221);
__m512 tmp227 = _mm512_shuffle_f32x4(tmp210, tmp214, 136);
__m512 tmp228 = _mm512_shuffle_f32x4(tmp210, tmp214, 221);
__m512 tmp229 = _mm512_shuffle_f32x4(tmp211, tmp215, 136);
__m512 tmp230 = _mm512_shuffle_f32x4(tmp211, tmp215, 221);
__m512 tmp231 = _mm512_shuffle_f32x4(tmp212, tmp216, 136);
__m512 tmp232 = _mm512_shuffle_f32x4(tmp212, tmp216, 221);
__m512 tmp233 = _mm512_shuffle_f32x4(tmp217, tmp221, 136);
__m512 tmp234 = _mm512_shuffle_f32x4(tmp217, tmp221, 221);
__m512 tmp235 = _mm512_shuffle_f32x4(tmp218, tmp222, 136);
__m512 tmp236 = _mm512_shuffle_f32x4(tmp218, tmp222, 221);
__m512 tmp237 = _mm512_shuffle_f32x4(tmp219, tmp223, 136);
__m512 tmp238 = _mm512_shuffle_f32x4(tmp219, tmp223, 221);
__m512 tmp239 = _mm512_shuffle_f32x4(tmp220, tmp224, 136);
__m512 tmp240 = _mm512_shuffle_f32x4(tmp220, tmp224, 221);
wt65 = _mm512_shuffle_f32x4(tmp225, tmp233, 136);
wt73 = _mm512_shuffle_f32x4(tmp225, tmp233, 221);
wt66 = _mm512_shuffle_f32x4(tmp227, tmp235, 136);
wt74 = _mm512_shuffle_f32x4(tmp227, tmp235, 221);
wt67 = _mm512_shuffle_f32x4(tmp229, tmp237, 136);
wt75 = _mm512_shuffle_f32x4(tmp229, tmp237, 221);
wt68 = _mm512_shuffle_f32x4(tmp231, tmp239, 136);
wt76 = _mm512_shuffle_f32x4(tmp231, tmp239, 221);
wt69 = _mm512_shuffle_f32x4(tmp226, tmp234, 136);
wt77 = _mm512_shuffle_f32x4(tmp226, tmp234, 221);
wt70 = _mm512_shuffle_f32x4(tmp228, tmp236, 136);
wt78 = _mm512_shuffle_f32x4(tmp228, tmp236, 221);
wt71 = _mm512_shuffle_f32x4(tmp230, tmp238, 136);
wt79 = _mm512_shuffle_f32x4(tmp230, tmp238, 221);
wt72 = _mm512_shuffle_f32x4(tmp232, tmp240, 136);
wt80 = _mm512_shuffle_f32x4(tmp232, tmp240, 221);
_mm512_mask_storeu_ps(arrangedW1+49460328+84789120*i5+13416*c1+24*k2, 15, wt65);
_mm512_mask_storeu_ps(arrangedW1+49473720+84789120*i5+13416*c1+24*k2, 1008, wt65);
_mm512_mask_storeu_ps(arrangedW1+49487112+84789120*i5+13416*c1+24*k2, 64512, wt65);
_mm512_mask_storeu_ps(arrangedW1+51226768+84789120*i5+13416*c1+24*k2, 15, wt66);
_mm512_mask_storeu_ps(arrangedW1+51240160+84789120*i5+13416*c1+24*k2, 1008, wt66);
_mm512_mask_storeu_ps(arrangedW1+51253552+84789120*i5+13416*c1+24*k2, 64512, wt66);
_mm512_mask_storeu_ps(arrangedW1+63591848+84789120*i5+13416*c1+24*k2, 15, wt67);
_mm512_mask_storeu_ps(arrangedW1+63605240+84789120*i5+13416*c1+24*k2, 1008, wt67);
_mm512_mask_storeu_ps(arrangedW1+63618632+84789120*i5+13416*c1+24*k2, 64512, wt67);
_mm512_mask_storeu_ps(arrangedW1+65358288+84789120*i5+13416*c1+24*k2, 15, wt68);
_mm512_mask_storeu_ps(arrangedW1+65371680+84789120*i5+13416*c1+24*k2, 1008, wt68);
_mm512_mask_storeu_ps(arrangedW1+65385072+84789120*i5+13416*c1+24*k2, 64512, wt68);
_mm512_mask_storeu_ps(arrangedW1+67124728+84789120*i5+13416*c1+24*k2, 15, wt69);
_mm512_mask_storeu_ps(arrangedW1+67138120+84789120*i5+13416*c1+24*k2, 1008, wt69);
_mm512_mask_storeu_ps(arrangedW1+67151512+84789120*i5+13416*c1+24*k2, 64512, wt69);
_mm512_mask_storeu_ps(arrangedW1+68891168+84789120*i5+13416*c1+24*k2, 15, wt70);
_mm512_mask_storeu_ps(arrangedW1+68904560+84789120*i5+13416*c1+24*k2, 1008, wt70);
_mm512_mask_storeu_ps(arrangedW1+68917952+84789120*i5+13416*c1+24*k2, 64512, wt70);
_mm512_mask_storeu_ps(arrangedW1+70657608+84789120*i5+13416*c1+24*k2, 15, wt71);
_mm512_mask_storeu_ps(arrangedW1+70671000+84789120*i5+13416*c1+24*k2, 1008, wt71);
_mm512_mask_storeu_ps(arrangedW1+70684392+84789120*i5+13416*c1+24*k2, 64512, wt71);
_mm512_mask_storeu_ps(arrangedW1+72424048+84789120*i5+13416*c1+24*k2, 15, wt72);
_mm512_mask_storeu_ps(arrangedW1+72437440+84789120*i5+13416*c1+24*k2, 1008, wt72);
_mm512_mask_storeu_ps(arrangedW1+72450832+84789120*i5+13416*c1+24*k2, 64512, wt72);
_mm512_mask_storeu_ps(arrangedW1+10598648+84789120*i5+13416*c1+24*k2, 15, wt73);
_mm512_mask_storeu_ps(arrangedW1+10612040+84789120*i5+13416*c1+24*k2, 1008, wt73);
_mm512_mask_storeu_ps(arrangedW1+10625432+84789120*i5+13416*c1+24*k2, 64512, wt73);
_mm512_mask_storeu_ps(arrangedW1+12365088+84789120*i5+13416*c1+24*k2, 15, wt74);
_mm512_mask_storeu_ps(arrangedW1+12378480+84789120*i5+13416*c1+24*k2, 1008, wt74);
_mm512_mask_storeu_ps(arrangedW1+12391872+84789120*i5+13416*c1+24*k2, 64512, wt74);
_mm512_mask_storeu_ps(arrangedW1+14131528+84789120*i5+13416*c1+24*k2, 15, wt75);
_mm512_mask_storeu_ps(arrangedW1+14144920+84789120*i5+13416*c1+24*k2, 1008, wt75);
_mm512_mask_storeu_ps(arrangedW1+14158312+84789120*i5+13416*c1+24*k2, 64512, wt75);
_mm512_mask_storeu_ps(arrangedW1+15897968+84789120*i5+13416*c1+24*k2, 15, wt76);
_mm512_mask_storeu_ps(arrangedW1+15911360+84789120*i5+13416*c1+24*k2, 1008, wt76);
_mm512_mask_storeu_ps(arrangedW1+15924752+84789120*i5+13416*c1+24*k2, 64512, wt76);
_mm512_mask_storeu_ps(arrangedW1+17664408+84789120*i5+13416*c1+24*k2, 15, wt77);
_mm512_mask_storeu_ps(arrangedW1+17677800+84789120*i5+13416*c1+24*k2, 1008, wt77);
_mm512_mask_storeu_ps(arrangedW1+17691192+84789120*i5+13416*c1+24*k2, 64512, wt77);
_mm512_mask_storeu_ps(arrangedW1+19430848+84789120*i5+13416*c1+24*k2, 15, wt78);
_mm512_mask_storeu_ps(arrangedW1+19444240+84789120*i5+13416*c1+24*k2, 1008, wt78);
_mm512_mask_storeu_ps(arrangedW1+19457632+84789120*i5+13416*c1+24*k2, 64512, wt78);
_mm512_mask_storeu_ps(arrangedW1+31795928+84789120*i5+13416*c1+24*k2, 15, wt79);
_mm512_mask_storeu_ps(arrangedW1+31809320+84789120*i5+13416*c1+24*k2, 1008, wt79);
_mm512_mask_storeu_ps(arrangedW1+31822712+84789120*i5+13416*c1+24*k2, 64512, wt79);
_mm512_mask_storeu_ps(arrangedW1+33562368+84789120*i5+13416*c1+24*k2, 15, wt80);
_mm512_mask_storeu_ps(arrangedW1+33575760+84789120*i5+13416*c1+24*k2, 1008, wt80);
_mm512_mask_storeu_ps(arrangedW1+33589152+84789120*i5+13416*c1+24*k2, 64512, wt80);
__m512 wt81 = _mm512_maskz_loadu_ps(65535, wtPtr1+128+84789120*i5+1717248*j1+192*k2);
__m512 wt82 = _mm512_maskz_loadu_ps(65535, wtPtr1+107456+84789120*i5+1717248*j1+192*k2);
__m512 wt83 = _mm512_maskz_loadu_ps(65535, wtPtr1+214784+84789120*i5+1717248*j1+192*k2);
__m512 wt84 = _mm512_maskz_loadu_ps(65535, wtPtr1+322112+84789120*i5+1717248*j1+192*k2);
__m512 wt85 = _mm512_maskz_loadu_ps(65535, wtPtr1+429440+84789120*i5+1717248*j1+192*k2);
__m512 wt86 = _mm512_maskz_loadu_ps(65535, wtPtr1+536768+84789120*i5+1717248*j1+192*k2);
__m512 wt87 = _mm512_maskz_loadu_ps(65535, wtPtr1+644096+84789120*i5+1717248*j1+192*k2);
__m512 wt88 = _mm512_maskz_loadu_ps(65535, wtPtr1+751424+84789120*i5+1717248*j1+192*k2);
__m512 wt89 = _mm512_maskz_loadu_ps(65535, wtPtr1+858752+84789120*i5+1717248*j1+192*k2);
__m512 wt90 = _mm512_maskz_loadu_ps(65535, wtPtr1+966080+84789120*i5+1717248*j1+192*k2);
__m512 wt91 = _mm512_maskz_loadu_ps(65535, wtPtr1+1073408+84789120*i5+1717248*j1+192*k2);
__m512 wt92 = _mm512_maskz_loadu_ps(65535, wtPtr1+1180736+84789120*i5+1717248*j1+192*k2);
__m512 wt93 = _mm512_maskz_loadu_ps(65535, wtPtr1+1288064+84789120*i5+1717248*j1+192*k2);
__m512 wt94 = _mm512_maskz_loadu_ps(65535, wtPtr1+1395392+84789120*i5+1717248*j1+192*k2);
__m512 wt95 = _mm512_maskz_loadu_ps(65535, wtPtr1+1502720+84789120*i5+1717248*j1+192*k2);
__m512 wt96 = _mm512_maskz_loadu_ps(65535, wtPtr1+1610048+84789120*i5+1717248*j1+192*k2);
__m512 tmp241 = _mm512_unpacklo_ps(wt81, wt82);
__m512 tmp242 = _mm512_unpackhi_ps(wt81, wt82);
__m512 tmp243 = _mm512_unpacklo_ps(wt83, wt84);
__m512 tmp244 = _mm512_unpackhi_ps(wt83, wt84);
__m512 tmp245 = _mm512_unpacklo_ps(wt85, wt86);
__m512 tmp246 = _mm512_unpackhi_ps(wt85, wt86);
__m512 tmp247 = _mm512_unpacklo_ps(wt87, wt88);
__m512 tmp248 = _mm512_unpackhi_ps(wt87, wt88);
__m512 tmp249 = _mm512_unpacklo_ps(wt89, wt90);
__m512 tmp250 = _mm512_unpackhi_ps(wt89, wt90);
__m512 tmp251 = _mm512_unpacklo_ps(wt91, wt92);
__m512 tmp252 = _mm512_unpackhi_ps(wt91, wt92);
__m512 tmp253 = _mm512_unpacklo_ps(wt93, wt94);
__m512 tmp254 = _mm512_unpackhi_ps(wt93, wt94);
__m512 tmp255 = _mm512_unpacklo_ps(wt95, wt96);
__m512 tmp256 = _mm512_unpackhi_ps(wt95, wt96);
__m512 tmp257 = _mm512_shuffle_ps(tmp241, tmp243, 68);
__m512 tmp258 = _mm512_shuffle_ps(tmp241, tmp243, 238);
__m512 tmp259 = _mm512_shuffle_ps(tmp242, tmp244, 68);
__m512 tmp260 = _mm512_shuffle_ps(tmp242, tmp244, 238);
__m512 tmp261 = _mm512_shuffle_ps(tmp245, tmp247, 68);
__m512 tmp262 = _mm512_shuffle_ps(tmp245, tmp247, 238);
__m512 tmp263 = _mm512_shuffle_ps(tmp246, tmp248, 68);
__m512 tmp264 = _mm512_shuffle_ps(tmp246, tmp248, 238);
__m512 tmp265 = _mm512_shuffle_ps(tmp249, tmp251, 68);
__m512 tmp266 = _mm512_shuffle_ps(tmp249, tmp251, 238);
__m512 tmp267 = _mm512_shuffle_ps(tmp250, tmp252, 68);
__m512 tmp268 = _mm512_shuffle_ps(tmp250, tmp252, 238);
__m512 tmp269 = _mm512_shuffle_ps(tmp253, tmp255, 68);
__m512 tmp270 = _mm512_shuffle_ps(tmp253, tmp255, 238);
__m512 tmp271 = _mm512_shuffle_ps(tmp254, tmp256, 68);
__m512 tmp272 = _mm512_shuffle_ps(tmp254, tmp256, 238);
__m512 tmp273 = _mm512_shuffle_f32x4(tmp257, tmp261, 136);
__m512 tmp274 = _mm512_shuffle_f32x4(tmp257, tmp261, 221);
__m512 tmp275 = _mm512_shuffle_f32x4(tmp258, tmp262, 136);
__m512 tmp276 = _mm512_shuffle_f32x4(tmp258, tmp262, 221);
__m512 tmp277 = _mm512_shuffle_f32x4(tmp259, tmp263, 136);
__m512 tmp278 = _mm512_shuffle_f32x4(tmp259, tmp263, 221);
__m512 tmp279 = _mm512_shuffle_f32x4(tmp260, tmp264, 136);
__m512 tmp280 = _mm512_shuffle_f32x4(tmp260, tmp264, 221);
__m512 tmp281 = _mm512_shuffle_f32x4(tmp265, tmp269, 136);
__m512 tmp282 = _mm512_shuffle_f32x4(tmp265, tmp269, 221);
__m512 tmp283 = _mm512_shuffle_f32x4(tmp266, tmp270, 136);
__m512 tmp284 = _mm512_shuffle_f32x4(tmp266, tmp270, 221);
__m512 tmp285 = _mm512_shuffle_f32x4(tmp267, tmp271, 136);
__m512 tmp286 = _mm512_shuffle_f32x4(tmp267, tmp271, 221);
__m512 tmp287 = _mm512_shuffle_f32x4(tmp268, tmp272, 136);
__m512 tmp288 = _mm512_shuffle_f32x4(tmp268, tmp272, 221);
wt81 = _mm512_shuffle_f32x4(tmp273, tmp281, 136);
wt89 = _mm512_shuffle_f32x4(tmp273, tmp281, 221);
wt82 = _mm512_shuffle_f32x4(tmp275, tmp283, 136);
wt90 = _mm512_shuffle_f32x4(tmp275, tmp283, 221);
wt83 = _mm512_shuffle_f32x4(tmp277, tmp285, 136);
wt91 = _mm512_shuffle_f32x4(tmp277, tmp285, 221);
wt84 = _mm512_shuffle_f32x4(tmp279, tmp287, 136);
wt92 = _mm512_shuffle_f32x4(tmp279, tmp287, 221);
wt85 = _mm512_shuffle_f32x4(tmp274, tmp282, 136);
wt93 = _mm512_shuffle_f32x4(tmp274, tmp282, 221);
wt86 = _mm512_shuffle_f32x4(tmp276, tmp284, 136);
wt94 = _mm512_shuffle_f32x4(tmp276, tmp284, 221);
wt87 = _mm512_shuffle_f32x4(tmp278, tmp286, 136);
wt95 = _mm512_shuffle_f32x4(tmp278, tmp286, 221);
wt88 = _mm512_shuffle_f32x4(tmp280, tmp288, 136);
wt96 = _mm512_shuffle_f32x4(tmp280, tmp288, 221);
_mm512_mask_storeu_ps(arrangedW1+35328808+84789120*i5+13416*c1+24*k2, 15, wt81);
_mm512_mask_storeu_ps(arrangedW1+35342200+84789120*i5+13416*c1+24*k2, 1008, wt81);
_mm512_mask_storeu_ps(arrangedW1+35355592+84789120*i5+13416*c1+24*k2, 64512, wt81);
_mm512_mask_storeu_ps(arrangedW1+37095248+84789120*i5+13416*c1+24*k2, 15, wt82);
_mm512_mask_storeu_ps(arrangedW1+37108640+84789120*i5+13416*c1+24*k2, 1008, wt82);
_mm512_mask_storeu_ps(arrangedW1+37122032+84789120*i5+13416*c1+24*k2, 64512, wt82);
_mm512_mask_storeu_ps(arrangedW1+38861688+84789120*i5+13416*c1+24*k2, 15, wt83);
_mm512_mask_storeu_ps(arrangedW1+38875080+84789120*i5+13416*c1+24*k2, 1008, wt83);
_mm512_mask_storeu_ps(arrangedW1+38888472+84789120*i5+13416*c1+24*k2, 64512, wt83);
_mm512_mask_storeu_ps(arrangedW1+40628128+84789120*i5+13416*c1+24*k2, 15, wt84);
_mm512_mask_storeu_ps(arrangedW1+40641520+84789120*i5+13416*c1+24*k2, 1008, wt84);
_mm512_mask_storeu_ps(arrangedW1+40654912+84789120*i5+13416*c1+24*k2, 64512, wt84);
_mm512_mask_storeu_ps(arrangedW1+52993208+84789120*i5+13416*c1+24*k2, 15, wt85);
_mm512_mask_storeu_ps(arrangedW1+53006600+84789120*i5+13416*c1+24*k2, 1008, wt85);
_mm512_mask_storeu_ps(arrangedW1+53019992+84789120*i5+13416*c1+24*k2, 64512, wt85);
_mm512_mask_storeu_ps(arrangedW1+54759648+84789120*i5+13416*c1+24*k2, 15, wt86);
_mm512_mask_storeu_ps(arrangedW1+54773040+84789120*i5+13416*c1+24*k2, 1008, wt86);
_mm512_mask_storeu_ps(arrangedW1+54786432+84789120*i5+13416*c1+24*k2, 64512, wt86);
_mm512_mask_storeu_ps(arrangedW1+56526088+84789120*i5+13416*c1+24*k2, 15, wt87);
_mm512_mask_storeu_ps(arrangedW1+56539480+84789120*i5+13416*c1+24*k2, 1008, wt87);
_mm512_mask_storeu_ps(arrangedW1+56552872+84789120*i5+13416*c1+24*k2, 64512, wt87);
_mm512_mask_storeu_ps(arrangedW1+58292528+84789120*i5+13416*c1+24*k2, 15, wt88);
_mm512_mask_storeu_ps(arrangedW1+58305920+84789120*i5+13416*c1+24*k2, 1008, wt88);
_mm512_mask_storeu_ps(arrangedW1+58319312+84789120*i5+13416*c1+24*k2, 64512, wt88);
_mm512_mask_storeu_ps(arrangedW1+60058968+84789120*i5+13416*c1+24*k2, 15, wt89);
_mm512_mask_storeu_ps(arrangedW1+60072360+84789120*i5+13416*c1+24*k2, 1008, wt89);
_mm512_mask_storeu_ps(arrangedW1+60085752+84789120*i5+13416*c1+24*k2, 64512, wt89);
_mm512_mask_storeu_ps(arrangedW1+61825408+84789120*i5+13416*c1+24*k2, 15, wt90);
_mm512_mask_storeu_ps(arrangedW1+61838800+84789120*i5+13416*c1+24*k2, 1008, wt90);
_mm512_mask_storeu_ps(arrangedW1+61852192+84789120*i5+13416*c1+24*k2, 64512, wt90);
_mm512_mask_storeu_ps(arrangedW1+74190488+84789120*i5+13416*c1+24*k2, 15, wt91);
_mm512_mask_storeu_ps(arrangedW1+74203880+84789120*i5+13416*c1+24*k2, 1008, wt91);
_mm512_mask_storeu_ps(arrangedW1+74217272+84789120*i5+13416*c1+24*k2, 64512, wt91);
_mm512_mask_storeu_ps(arrangedW1+75956928+84789120*i5+13416*c1+24*k2, 15, wt92);
_mm512_mask_storeu_ps(arrangedW1+75970320+84789120*i5+13416*c1+24*k2, 1008, wt92);
_mm512_mask_storeu_ps(arrangedW1+75983712+84789120*i5+13416*c1+24*k2, 64512, wt92);
_mm512_mask_storeu_ps(arrangedW1+77723368+84789120*i5+13416*c1+24*k2, 15, wt93);
_mm512_mask_storeu_ps(arrangedW1+77736760+84789120*i5+13416*c1+24*k2, 1008, wt93);
_mm512_mask_storeu_ps(arrangedW1+77750152+84789120*i5+13416*c1+24*k2, 64512, wt93);
_mm512_mask_storeu_ps(arrangedW1+79489808+84789120*i5+13416*c1+24*k2, 15, wt94);
_mm512_mask_storeu_ps(arrangedW1+79503200+84789120*i5+13416*c1+24*k2, 1008, wt94);
_mm512_mask_storeu_ps(arrangedW1+79516592+84789120*i5+13416*c1+24*k2, 64512, wt94);
_mm512_mask_storeu_ps(arrangedW1+81256248+84789120*i5+13416*c1+24*k2, 15, wt95);
_mm512_mask_storeu_ps(arrangedW1+81269640+84789120*i5+13416*c1+24*k2, 1008, wt95);
_mm512_mask_storeu_ps(arrangedW1+81283032+84789120*i5+13416*c1+24*k2, 64512, wt95);
_mm512_mask_storeu_ps(arrangedW1+83022688+84789120*i5+13416*c1+24*k2, 15, wt96);
_mm512_mask_storeu_ps(arrangedW1+83036080+84789120*i5+13416*c1+24*k2, 1008, wt96);
_mm512_mask_storeu_ps(arrangedW1+83049472+84789120*i5+13416*c1+24*k2, 64512, wt96);
}
break;
}
default: {
ptrdiff_t k3 = 0;
for (; k3 != 559; ++k3) {
__m512 wt97 = _mm512_maskz_loadu_ps(65535, wtPtr1+0+84789120*i5+1717248*j1+192*k3);
__m512 wt98 = _mm512_maskz_loadu_ps(65535, wtPtr1+107328+84789120*i5+1717248*j1+192*k3);
__m512 wt99 = _mm512_maskz_loadu_ps(65535, wtPtr1+214656+84789120*i5+1717248*j1+192*k3);
__m512 wt100 = _mm512_maskz_loadu_ps(65535, wtPtr1+321984+84789120*i5+1717248*j1+192*k3);
__m512 wt101 = _mm512_maskz_loadu_ps(65535, wtPtr1+429312+84789120*i5+1717248*j1+192*k3);
__m512 wt102 = _mm512_maskz_loadu_ps(65535, wtPtr1+536640+84789120*i5+1717248*j1+192*k3);
__m512 wt103 = _mm512_maskz_loadu_ps(65535, wtPtr1+643968+84789120*i5+1717248*j1+192*k3);
__m512 wt104 = _mm512_maskz_loadu_ps(65535, wtPtr1+751296+84789120*i5+1717248*j1+192*k3);
__m512 wt105 = _mm512_maskz_loadu_ps(65535, wtPtr1+858624+84789120*i5+1717248*j1+192*k3);
__m512 wt106 = _mm512_maskz_loadu_ps(65535, wtPtr1+965952+84789120*i5+1717248*j1+192*k3);
__m512 wt107 = _mm512_maskz_loadu_ps(65535, wtPtr1+1073280+84789120*i5+1717248*j1+192*k3);
__m512 wt108 = _mm512_maskz_loadu_ps(65535, wtPtr1+1180608+84789120*i5+1717248*j1+192*k3);
__m512 wt109 = _mm512_maskz_loadu_ps(65535, wtPtr1+1287936+84789120*i5+1717248*j1+192*k3);
__m512 wt110 = _mm512_maskz_loadu_ps(65535, wtPtr1+1395264+84789120*i5+1717248*j1+192*k3);
__m512 wt111 = _mm512_maskz_loadu_ps(65535, wtPtr1+1502592+84789120*i5+1717248*j1+192*k3);
__m512 wt112 = _mm512_maskz_loadu_ps(65535, wtPtr1+1609920+84789120*i5+1717248*j1+192*k3);
__m512 tmp289 = _mm512_unpacklo_ps(wt97, wt98);
__m512 tmp290 = _mm512_unpackhi_ps(wt97, wt98);
__m512 tmp291 = _mm512_unpacklo_ps(wt99, wt100);
__m512 tmp292 = _mm512_unpackhi_ps(wt99, wt100);
__m512 tmp293 = _mm512_unpacklo_ps(wt101, wt102);
__m512 tmp294 = _mm512_unpackhi_ps(wt101, wt102);
__m512 tmp295 = _mm512_unpacklo_ps(wt103, wt104);
__m512 tmp296 = _mm512_unpackhi_ps(wt103, wt104);
__m512 tmp297 = _mm512_unpacklo_ps(wt105, wt106);
__m512 tmp298 = _mm512_unpackhi_ps(wt105, wt106);
__m512 tmp299 = _mm512_unpacklo_ps(wt107, wt108);
__m512 tmp300 = _mm512_unpackhi_ps(wt107, wt108);
__m512 tmp301 = _mm512_unpacklo_ps(wt109, wt110);
__m512 tmp302 = _mm512_unpackhi_ps(wt109, wt110);
__m512 tmp303 = _mm512_unpacklo_ps(wt111, wt112);
__m512 tmp304 = _mm512_unpackhi_ps(wt111, wt112);
__m512 tmp305 = _mm512_shuffle_ps(tmp289, tmp291, 68);
__m512 tmp306 = _mm512_shuffle_ps(tmp289, tmp291, 238);
__m512 tmp307 = _mm512_shuffle_ps(tmp290, tmp292, 68);
__m512 tmp308 = _mm512_shuffle_ps(tmp290, tmp292, 238);
__m512 tmp309 = _mm512_shuffle_ps(tmp293, tmp295, 68);
__m512 tmp310 = _mm512_shuffle_ps(tmp293, tmp295, 238);
__m512 tmp311 = _mm512_shuffle_ps(tmp294, tmp296, 68);
__m512 tmp312 = _mm512_shuffle_ps(tmp294, tmp296, 238);
__m512 tmp313 = _mm512_shuffle_ps(tmp297, tmp299, 68);
__m512 tmp314 = _mm512_shuffle_ps(tmp297, tmp299, 238);
__m512 tmp315 = _mm512_shuffle_ps(tmp298, tmp300, 68);
__m512 tmp316 = _mm512_shuffle_ps(tmp298, tmp300, 238);
__m512 tmp317 = _mm512_shuffle_ps(tmp301, tmp303, 68);
__m512 tmp318 = _mm512_shuffle_ps(tmp301, tmp303, 238);
__m512 tmp319 = _mm512_shuffle_ps(tmp302, tmp304, 68);
__m512 tmp320 = _mm512_shuffle_ps(tmp302, tmp304, 238);
__m512 tmp321 = _mm512_shuffle_f32x4(tmp305, tmp309, 136);
__m512 tmp322 = _mm512_shuffle_f32x4(tmp305, tmp309, 221);
__m512 tmp323 = _mm512_shuffle_f32x4(tmp306, tmp310, 136);
__m512 tmp324 = _mm512_shuffle_f32x4(tmp306, tmp310, 221);
__m512 tmp325 = _mm512_shuffle_f32x4(tmp307, tmp311, 136);
__m512 tmp326 = _mm512_shuffle_f32x4(tmp307, tmp311, 221);
__m512 tmp327 = _mm512_shuffle_f32x4(tmp308, tmp312, 136);
__m512 tmp328 = _mm512_shuffle_f32x4(tmp308, tmp312, 221);
__m512 tmp329 = _mm512_shuffle_f32x4(tmp313, tmp317, 136);
__m512 tmp330 = _mm512_shuffle_f32x4(tmp313, tmp317, 221);
__m512 tmp331 = _mm512_shuffle_f32x4(tmp314, tmp318, 136);
__m512 tmp332 = _mm512_shuffle_f32x4(tmp314, tmp318, 221);
__m512 tmp333 = _mm512_shuffle_f32x4(tmp315, tmp319, 136);
__m512 tmp334 = _mm512_shuffle_f32x4(tmp315, tmp319, 221);
__m512 tmp335 = _mm512_shuffle_f32x4(tmp316, tmp320, 136);
__m512 tmp336 = _mm512_shuffle_f32x4(tmp316, tmp320, 221);
wt97 = _mm512_shuffle_f32x4(tmp321, tmp329, 136);
wt105 = _mm512_shuffle_f32x4(tmp321, tmp329, 221);
wt98 = _mm512_shuffle_f32x4(tmp323, tmp331, 136);
wt106 = _mm512_shuffle_f32x4(tmp323, tmp331, 221);
wt99 = _mm512_shuffle_f32x4(tmp325, tmp333, 136);
wt107 = _mm512_shuffle_f32x4(tmp325, tmp333, 221);
wt100 = _mm512_shuffle_f32x4(tmp327, tmp335, 136);
wt108 = _mm512_shuffle_f32x4(tmp327, tmp335, 221);
wt101 = _mm512_shuffle_f32x4(tmp322, tmp330, 136);
wt109 = _mm512_shuffle_f32x4(tmp322, tmp330, 221);
wt102 = _mm512_shuffle_f32x4(tmp324, tmp332, 136);
wt110 = _mm512_shuffle_f32x4(tmp324, tmp332, 221);
wt103 = _mm512_shuffle_f32x4(tmp326, tmp334, 136);
wt111 = _mm512_shuffle_f32x4(tmp326, tmp334, 221);
wt104 = _mm512_shuffle_f32x4(tmp328, tmp336, 136);
wt112 = _mm512_shuffle_f32x4(tmp328, tmp336, 221);
_mm512_mask_storeu_ps(arrangedW1+16+84789120*i5+13416*c1+24*k3, 3, wt97);
_mm512_mask_storeu_ps(arrangedW1+13408+84789120*i5+13416*c1+24*k3, 252, wt97);
_mm512_mask_storeu_ps(arrangedW1+26800+84789120*i5+13416*c1+24*k3, 16128, wt97);
_mm512_mask_storeu_ps(arrangedW1+40192+84789120*i5+13416*c1+24*k3, 49152, wt97);
_mm512_mask_storeu_ps(arrangedW1+1766456+84789120*i5+13416*c1+24*k3, 3, wt98);
_mm512_mask_storeu_ps(arrangedW1+1779848+84789120*i5+13416*c1+24*k3, 252, wt98);
_mm512_mask_storeu_ps(arrangedW1+1793240+84789120*i5+13416*c1+24*k3, 16128, wt98);
_mm512_mask_storeu_ps(arrangedW1+1806632+84789120*i5+13416*c1+24*k3, 49152, wt98);
_mm512_mask_storeu_ps(arrangedW1+3532896+84789120*i5+13416*c1+24*k3, 3, wt99);
_mm512_mask_storeu_ps(arrangedW1+3546288+84789120*i5+13416*c1+24*k3, 252, wt99);
_mm512_mask_storeu_ps(arrangedW1+3559680+84789120*i5+13416*c1+24*k3, 16128, wt99);
_mm512_mask_storeu_ps(arrangedW1+3573072+84789120*i5+13416*c1+24*k3, 49152, wt99);
_mm512_mask_storeu_ps(arrangedW1+5299336+84789120*i5+13416*c1+24*k3, 3, wt100);
_mm512_mask_storeu_ps(arrangedW1+5312728+84789120*i5+13416*c1+24*k3, 252, wt100);
_mm512_mask_storeu_ps(arrangedW1+5326120+84789120*i5+13416*c1+24*k3, 16128, wt100);
_mm512_mask_storeu_ps(arrangedW1+5339512+84789120*i5+13416*c1+24*k3, 49152, wt100);
_mm512_mask_storeu_ps(arrangedW1+7065776+84789120*i5+13416*c1+24*k3, 3, wt101);
_mm512_mask_storeu_ps(arrangedW1+7079168+84789120*i5+13416*c1+24*k3, 252, wt101);
_mm512_mask_storeu_ps(arrangedW1+7092560+84789120*i5+13416*c1+24*k3, 16128, wt101);
_mm512_mask_storeu_ps(arrangedW1+7105952+84789120*i5+13416*c1+24*k3, 49152, wt101);
_mm512_mask_storeu_ps(arrangedW1+8832216+84789120*i5+13416*c1+24*k3, 3, wt102);
_mm512_mask_storeu_ps(arrangedW1+8845608+84789120*i5+13416*c1+24*k3, 252, wt102);
_mm512_mask_storeu_ps(arrangedW1+8859000+84789120*i5+13416*c1+24*k3, 16128, wt102);
_mm512_mask_storeu_ps(arrangedW1+8872392+84789120*i5+13416*c1+24*k3, 49152, wt102);
_mm512_mask_storeu_ps(arrangedW1+21197296+84789120*i5+13416*c1+24*k3, 3, wt103);
_mm512_mask_storeu_ps(arrangedW1+21210688+84789120*i5+13416*c1+24*k3, 252, wt103);
_mm512_mask_storeu_ps(arrangedW1+21224080+84789120*i5+13416*c1+24*k3, 16128, wt103);
_mm512_mask_storeu_ps(arrangedW1+21237472+84789120*i5+13416*c1+24*k3, 49152, wt103);
_mm512_mask_storeu_ps(arrangedW1+22963736+84789120*i5+13416*c1+24*k3, 3, wt104);
_mm512_mask_storeu_ps(arrangedW1+22977128+84789120*i5+13416*c1+24*k3, 252, wt104);
_mm512_mask_storeu_ps(arrangedW1+22990520+84789120*i5+13416*c1+24*k3, 16128, wt104);
_mm512_mask_storeu_ps(arrangedW1+23003912+84789120*i5+13416*c1+24*k3, 49152, wt104);
_mm512_mask_storeu_ps(arrangedW1+24730176+84789120*i5+13416*c1+24*k3, 3, wt105);
_mm512_mask_storeu_ps(arrangedW1+24743568+84789120*i5+13416*c1+24*k3, 252, wt105);
_mm512_mask_storeu_ps(arrangedW1+24756960+84789120*i5+13416*c1+24*k3, 16128, wt105);
_mm512_mask_storeu_ps(arrangedW1+24770352+84789120*i5+13416*c1+24*k3, 49152, wt105);
_mm512_mask_storeu_ps(arrangedW1+26496616+84789120*i5+13416*c1+24*k3, 3, wt106);
_mm512_mask_storeu_ps(arrangedW1+26510008+84789120*i5+13416*c1+24*k3, 252, wt106);
_mm512_mask_storeu_ps(arrangedW1+26523400+84789120*i5+13416*c1+24*k3, 16128, wt106);
_mm512_mask_storeu_ps(arrangedW1+26536792+84789120*i5+13416*c1+24*k3, 49152, wt106);
_mm512_mask_storeu_ps(arrangedW1+28263056+84789120*i5+13416*c1+24*k3, 3, wt107);
_mm512_mask_storeu_ps(arrangedW1+28276448+84789120*i5+13416*c1+24*k3, 252, wt107);
_mm512_mask_storeu_ps(arrangedW1+28289840+84789120*i5+13416*c1+24*k3, 16128, wt107);
_mm512_mask_storeu_ps(arrangedW1+28303232+84789120*i5+13416*c1+24*k3, 49152, wt107);
_mm512_mask_storeu_ps(arrangedW1+30029496+84789120*i5+13416*c1+24*k3, 3, wt108);
_mm512_mask_storeu_ps(arrangedW1+30042888+84789120*i5+13416*c1+24*k3, 252, wt108);
_mm512_mask_storeu_ps(arrangedW1+30056280+84789120*i5+13416*c1+24*k3, 16128, wt108);
_mm512_mask_storeu_ps(arrangedW1+30069672+84789120*i5+13416*c1+24*k3, 49152, wt108);
_mm512_mask_storeu_ps(arrangedW1+42394576+84789120*i5+13416*c1+24*k3, 3, wt109);
_mm512_mask_storeu_ps(arrangedW1+42407968+84789120*i5+13416*c1+24*k3, 252, wt109);
_mm512_mask_storeu_ps(arrangedW1+42421360+84789120*i5+13416*c1+24*k3, 16128, wt109);
_mm512_mask_storeu_ps(arrangedW1+42434752+84789120*i5+13416*c1+24*k3, 49152, wt109);
_mm512_mask_storeu_ps(arrangedW1+44161016+84789120*i5+13416*c1+24*k3, 3, wt110);
_mm512_mask_storeu_ps(arrangedW1+44174408+84789120*i5+13416*c1+24*k3, 252, wt110);
_mm512_mask_storeu_ps(arrangedW1+44187800+84789120*i5+13416*c1+24*k3, 16128, wt110);
_mm512_mask_storeu_ps(arrangedW1+44201192+84789120*i5+13416*c1+24*k3, 49152, wt110);
_mm512_mask_storeu_ps(arrangedW1+45927456+84789120*i5+13416*c1+24*k3, 3, wt111);
_mm512_mask_storeu_ps(arrangedW1+45940848+84789120*i5+13416*c1+24*k3, 252, wt111);
_mm512_mask_storeu_ps(arrangedW1+45954240+84789120*i5+13416*c1+24*k3, 16128, wt111);
_mm512_mask_storeu_ps(arrangedW1+45967632+84789120*i5+13416*c1+24*k3, 49152, wt111);
_mm512_mask_storeu_ps(arrangedW1+47693896+84789120*i5+13416*c1+24*k3, 3, wt112);
_mm512_mask_storeu_ps(arrangedW1+47707288+84789120*i5+13416*c1+24*k3, 252, wt112);
_mm512_mask_storeu_ps(arrangedW1+47720680+84789120*i5+13416*c1+24*k3, 16128, wt112);
_mm512_mask_storeu_ps(arrangedW1+47734072+84789120*i5+13416*c1+24*k3, 49152, wt112);
__m512 wt113 = _mm512_maskz_loadu_ps(65535, wtPtr1+64+84789120*i5+1717248*j1+192*k3);
__m512 wt114 = _mm512_maskz_loadu_ps(65535, wtPtr1+107392+84789120*i5+1717248*j1+192*k3);
__m512 wt115 = _mm512_maskz_loadu_ps(65535, wtPtr1+214720+84789120*i5+1717248*j1+192*k3);
__m512 wt116 = _mm512_maskz_loadu_ps(65535, wtPtr1+322048+84789120*i5+1717248*j1+192*k3);
__m512 wt117 = _mm512_maskz_loadu_ps(65535, wtPtr1+429376+84789120*i5+1717248*j1+192*k3);
__m512 wt118 = _mm512_maskz_loadu_ps(65535, wtPtr1+536704+84789120*i5+1717248*j1+192*k3);
__m512 wt119 = _mm512_maskz_loadu_ps(65535, wtPtr1+644032+84789120*i5+1717248*j1+192*k3);
__m512 wt120 = _mm512_maskz_loadu_ps(65535, wtPtr1+751360+84789120*i5+1717248*j1+192*k3);
__m512 wt121 = _mm512_maskz_loadu_ps(65535, wtPtr1+858688+84789120*i5+1717248*j1+192*k3);
__m512 wt122 = _mm512_maskz_loadu_ps(65535, wtPtr1+966016+84789120*i5+1717248*j1+192*k3);
__m512 wt123 = _mm512_maskz_loadu_ps(65535, wtPtr1+1073344+84789120*i5+1717248*j1+192*k3);
__m512 wt124 = _mm512_maskz_loadu_ps(65535, wtPtr1+1180672+84789120*i5+1717248*j1+192*k3);
__m512 wt125 = _mm512_maskz_loadu_ps(65535, wtPtr1+1288000+84789120*i5+1717248*j1+192*k3);
__m512 wt126 = _mm512_maskz_loadu_ps(65535, wtPtr1+1395328+84789120*i5+1717248*j1+192*k3);
__m512 wt127 = _mm512_maskz_loadu_ps(65535, wtPtr1+1502656+84789120*i5+1717248*j1+192*k3);
__m512 wt128 = _mm512_maskz_loadu_ps(65535, wtPtr1+1609984+84789120*i5+1717248*j1+192*k3);
__m512 tmp337 = _mm512_unpacklo_ps(wt113, wt114);
__m512 tmp338 = _mm512_unpackhi_ps(wt113, wt114);
__m512 tmp339 = _mm512_unpacklo_ps(wt115, wt116);
__m512 tmp340 = _mm512_unpackhi_ps(wt115, wt116);
__m512 tmp341 = _mm512_unpacklo_ps(wt117, wt118);
__m512 tmp342 = _mm512_unpackhi_ps(wt117, wt118);
__m512 tmp343 = _mm512_unpacklo_ps(wt119, wt120);
__m512 tmp344 = _mm512_unpackhi_ps(wt119, wt120);
__m512 tmp345 = _mm512_unpacklo_ps(wt121, wt122);
__m512 tmp346 = _mm512_unpackhi_ps(wt121, wt122);
__m512 tmp347 = _mm512_unpacklo_ps(wt123, wt124);
__m512 tmp348 = _mm512_unpackhi_ps(wt123, wt124);
__m512 tmp349 = _mm512_unpacklo_ps(wt125, wt126);
__m512 tmp350 = _mm512_unpackhi_ps(wt125, wt126);
__m512 tmp351 = _mm512_unpacklo_ps(wt127, wt128);
__m512 tmp352 = _mm512_unpackhi_ps(wt127, wt128);
__m512 tmp353 = _mm512_shuffle_ps(tmp337, tmp339, 68);
__m512 tmp354 = _mm512_shuffle_ps(tmp337, tmp339, 238);
__m512 tmp355 = _mm512_shuffle_ps(tmp338, tmp340, 68);
__m512 tmp356 = _mm512_shuffle_ps(tmp338, tmp340, 238);
__m512 tmp357 = _mm512_shuffle_ps(tmp341, tmp343, 68);
__m512 tmp358 = _mm512_shuffle_ps(tmp341, tmp343, 238);
__m512 tmp359 = _mm512_shuffle_ps(tmp342, tmp344, 68);
__m512 tmp360 = _mm512_shuffle_ps(tmp342, tmp344, 238);
__m512 tmp361 = _mm512_shuffle_ps(tmp345, tmp347, 68);
__m512 tmp362 = _mm512_shuffle_ps(tmp345, tmp347, 238);
__m512 tmp363 = _mm512_shuffle_ps(tmp346, tmp348, 68);
__m512 tmp364 = _mm512_shuffle_ps(tmp346, tmp348, 238);
__m512 tmp365 = _mm512_shuffle_ps(tmp349, tmp351, 68);
__m512 tmp366 = _mm512_shuffle_ps(tmp349, tmp351, 238);
__m512 tmp367 = _mm512_shuffle_ps(tmp350, tmp352, 68);
__m512 tmp368 = _mm512_shuffle_ps(tmp350, tmp352, 238);
__m512 tmp369 = _mm512_shuffle_f32x4(tmp353, tmp357, 136);
__m512 tmp370 = _mm512_shuffle_f32x4(tmp353, tmp357, 221);
__m512 tmp371 = _mm512_shuffle_f32x4(tmp354, tmp358, 136);
__m512 tmp372 = _mm512_shuffle_f32x4(tmp354, tmp358, 221);
__m512 tmp373 = _mm512_shuffle_f32x4(tmp355, tmp359, 136);
__m512 tmp374 = _mm512_shuffle_f32x4(tmp355, tmp359, 221);
__m512 tmp375 = _mm512_shuffle_f32x4(tmp356, tmp360, 136);
__m512 tmp376 = _mm512_shuffle_f32x4(tmp356, tmp360, 221);
__m512 tmp377 = _mm512_shuffle_f32x4(tmp361, tmp365, 136);
__m512 tmp378 = _mm512_shuffle_f32x4(tmp361, tmp365, 221);
__m512 tmp379 = _mm512_shuffle_f32x4(tmp362, tmp366, 136);
__m512 tmp380 = _mm512_shuffle_f32x4(tmp362, tmp366, 221);
__m512 tmp381 = _mm512_shuffle_f32x4(tmp363, tmp367, 136);
__m512 tmp382 = _mm512_shuffle_f32x4(tmp363, tmp367, 221);
__m512 tmp383 = _mm512_shuffle_f32x4(tmp364, tmp368, 136);
__m512 tmp384 = _mm512_shuffle_f32x4(tmp364, tmp368, 221);
wt113 = _mm512_shuffle_f32x4(tmp369, tmp377, 136);
wt121 = _mm512_shuffle_f32x4(tmp369, tmp377, 221);
wt114 = _mm512_shuffle_f32x4(tmp371, tmp379, 136);
wt122 = _mm512_shuffle_f32x4(tmp371, tmp379, 221);
wt115 = _mm512_shuffle_f32x4(tmp373, tmp381, 136);
wt123 = _mm512_shuffle_f32x4(tmp373, tmp381, 221);
wt116 = _mm512_shuffle_f32x4(tmp375, tmp383, 136);
wt124 = _mm512_shuffle_f32x4(tmp375, tmp383, 221);
wt117 = _mm512_shuffle_f32x4(tmp370, tmp378, 136);
wt125 = _mm512_shuffle_f32x4(tmp370, tmp378, 221);
wt118 = _mm512_shuffle_f32x4(tmp372, tmp380, 136);
wt126 = _mm512_shuffle_f32x4(tmp372, tmp380, 221);
wt119 = _mm512_shuffle_f32x4(tmp374, tmp382, 136);
wt127 = _mm512_shuffle_f32x4(tmp374, tmp382, 221);
wt120 = _mm512_shuffle_f32x4(tmp376, tmp384, 136);
wt128 = _mm512_shuffle_f32x4(tmp376, tmp384, 221);
_mm512_mask_storeu_ps(arrangedW1+49460336+84789120*i5+13416*c1+24*k3, 3, wt113);
_mm512_mask_storeu_ps(arrangedW1+49473728+84789120*i5+13416*c1+24*k3, 252, wt113);
_mm512_mask_storeu_ps(arrangedW1+49487120+84789120*i5+13416*c1+24*k3, 16128, wt113);
_mm512_mask_storeu_ps(arrangedW1+49500512+84789120*i5+13416*c1+24*k3, 49152, wt113);
_mm512_mask_storeu_ps(arrangedW1+51226776+84789120*i5+13416*c1+24*k3, 3, wt114);
_mm512_mask_storeu_ps(arrangedW1+51240168+84789120*i5+13416*c1+24*k3, 252, wt114);
_mm512_mask_storeu_ps(arrangedW1+51253560+84789120*i5+13416*c1+24*k3, 16128, wt114);
_mm512_mask_storeu_ps(arrangedW1+51266952+84789120*i5+13416*c1+24*k3, 49152, wt114);
_mm512_mask_storeu_ps(arrangedW1+63591856+84789120*i5+13416*c1+24*k3, 3, wt115);
_mm512_mask_storeu_ps(arrangedW1+63605248+84789120*i5+13416*c1+24*k3, 252, wt115);
_mm512_mask_storeu_ps(arrangedW1+63618640+84789120*i5+13416*c1+24*k3, 16128, wt115);
_mm512_mask_storeu_ps(arrangedW1+63632032+84789120*i5+13416*c1+24*k3, 49152, wt115);
_mm512_mask_storeu_ps(arrangedW1+65358296+84789120*i5+13416*c1+24*k3, 3, wt116);
_mm512_mask_storeu_ps(arrangedW1+65371688+84789120*i5+13416*c1+24*k3, 252, wt116);
_mm512_mask_storeu_ps(arrangedW1+65385080+84789120*i5+13416*c1+24*k3, 16128, wt116);
_mm512_mask_storeu_ps(arrangedW1+65398472+84789120*i5+13416*c1+24*k3, 49152, wt116);
_mm512_mask_storeu_ps(arrangedW1+67124736+84789120*i5+13416*c1+24*k3, 3, wt117);
_mm512_mask_storeu_ps(arrangedW1+67138128+84789120*i5+13416*c1+24*k3, 252, wt117);
_mm512_mask_storeu_ps(arrangedW1+67151520+84789120*i5+13416*c1+24*k3, 16128, wt117);
_mm512_mask_storeu_ps(arrangedW1+67164912+84789120*i5+13416*c1+24*k3, 49152, wt117);
_mm512_mask_storeu_ps(arrangedW1+68891176+84789120*i5+13416*c1+24*k3, 3, wt118);
_mm512_mask_storeu_ps(arrangedW1+68904568+84789120*i5+13416*c1+24*k3, 252, wt118);
_mm512_mask_storeu_ps(arrangedW1+68917960+84789120*i5+13416*c1+24*k3, 16128, wt118);
_mm512_mask_storeu_ps(arrangedW1+68931352+84789120*i5+13416*c1+24*k3, 49152, wt118);
_mm512_mask_storeu_ps(arrangedW1+70657616+84789120*i5+13416*c1+24*k3, 3, wt119);
_mm512_mask_storeu_ps(arrangedW1+70671008+84789120*i5+13416*c1+24*k3, 252, wt119);
_mm512_mask_storeu_ps(arrangedW1+70684400+84789120*i5+13416*c1+24*k3, 16128, wt119);
_mm512_mask_storeu_ps(arrangedW1+70697792+84789120*i5+13416*c1+24*k3, 49152, wt119);
_mm512_mask_storeu_ps(arrangedW1+72424056+84789120*i5+13416*c1+24*k3, 3, wt120);
_mm512_mask_storeu_ps(arrangedW1+72437448+84789120*i5+13416*c1+24*k3, 252, wt120);
_mm512_mask_storeu_ps(arrangedW1+72450840+84789120*i5+13416*c1+24*k3, 16128, wt120);
_mm512_mask_storeu_ps(arrangedW1+72464232+84789120*i5+13416*c1+24*k3, 49152, wt120);
_mm512_mask_storeu_ps(arrangedW1+10598656+84789120*i5+13416*c1+24*k3, 3, wt121);
_mm512_mask_storeu_ps(arrangedW1+10612048+84789120*i5+13416*c1+24*k3, 252, wt121);
_mm512_mask_storeu_ps(arrangedW1+10625440+84789120*i5+13416*c1+24*k3, 16128, wt121);
_mm512_mask_storeu_ps(arrangedW1+10638832+84789120*i5+13416*c1+24*k3, 49152, wt121);
_mm512_mask_storeu_ps(arrangedW1+12365096+84789120*i5+13416*c1+24*k3, 3, wt122);
_mm512_mask_storeu_ps(arrangedW1+12378488+84789120*i5+13416*c1+24*k3, 252, wt122);
_mm512_mask_storeu_ps(arrangedW1+12391880+84789120*i5+13416*c1+24*k3, 16128, wt122);
_mm512_mask_storeu_ps(arrangedW1+12405272+84789120*i5+13416*c1+24*k3, 49152, wt122);
_mm512_mask_storeu_ps(arrangedW1+14131536+84789120*i5+13416*c1+24*k3, 3, wt123);
_mm512_mask_storeu_ps(arrangedW1+14144928+84789120*i5+13416*c1+24*k3, 252, wt123);
_mm512_mask_storeu_ps(arrangedW1+14158320+84789120*i5+13416*c1+24*k3, 16128, wt123);
_mm512_mask_storeu_ps(arrangedW1+14171712+84789120*i5+13416*c1+24*k3, 49152, wt123);
_mm512_mask_storeu_ps(arrangedW1+15897976+84789120*i5+13416*c1+24*k3, 3, wt124);
_mm512_mask_storeu_ps(arrangedW1+15911368+84789120*i5+13416*c1+24*k3, 252, wt124);
_mm512_mask_storeu_ps(arrangedW1+15924760+84789120*i5+13416*c1+24*k3, 16128, wt124);
_mm512_mask_storeu_ps(arrangedW1+15938152+84789120*i5+13416*c1+24*k3, 49152, wt124);
_mm512_mask_storeu_ps(arrangedW1+17664416+84789120*i5+13416*c1+24*k3, 3, wt125);
_mm512_mask_storeu_ps(arrangedW1+17677808+84789120*i5+13416*c1+24*k3, 252, wt125);
_mm512_mask_storeu_ps(arrangedW1+17691200+84789120*i5+13416*c1+24*k3, 16128, wt125);
_mm512_mask_storeu_ps(arrangedW1+17704592+84789120*i5+13416*c1+24*k3, 49152, wt125);
_mm512_mask_storeu_ps(arrangedW1+19430856+84789120*i5+13416*c1+24*k3, 3, wt126);
_mm512_mask_storeu_ps(arrangedW1+19444248+84789120*i5+13416*c1+24*k3, 252, wt126);
_mm512_mask_storeu_ps(arrangedW1+19457640+84789120*i5+13416*c1+24*k3, 16128, wt126);
_mm512_mask_storeu_ps(arrangedW1+19471032+84789120*i5+13416*c1+24*k3, 49152, wt126);
_mm512_mask_storeu_ps(arrangedW1+31795936+84789120*i5+13416*c1+24*k3, 3, wt127);
_mm512_mask_storeu_ps(arrangedW1+31809328+84789120*i5+13416*c1+24*k3, 252, wt127);
_mm512_mask_storeu_ps(arrangedW1+31822720+84789120*i5+13416*c1+24*k3, 16128, wt127);
_mm512_mask_storeu_ps(arrangedW1+31836112+84789120*i5+13416*c1+24*k3, 49152, wt127);
_mm512_mask_storeu_ps(arrangedW1+33562376+84789120*i5+13416*c1+24*k3, 3, wt128);
_mm512_mask_storeu_ps(arrangedW1+33575768+84789120*i5+13416*c1+24*k3, 252, wt128);
_mm512_mask_storeu_ps(arrangedW1+33589160+84789120*i5+13416*c1+24*k3, 16128, wt128);
_mm512_mask_storeu_ps(arrangedW1+33602552+84789120*i5+13416*c1+24*k3, 49152, wt128);
__m512 wt129 = _mm512_maskz_loadu_ps(65535, wtPtr1+128+84789120*i5+1717248*j1+192*k3);
__m512 wt130 = _mm512_maskz_loadu_ps(65535, wtPtr1+107456+84789120*i5+1717248*j1+192*k3);
__m512 wt131 = _mm512_maskz_loadu_ps(65535, wtPtr1+214784+84789120*i5+1717248*j1+192*k3);
__m512 wt132 = _mm512_maskz_loadu_ps(65535, wtPtr1+322112+84789120*i5+1717248*j1+192*k3);
__m512 wt133 = _mm512_maskz_loadu_ps(65535, wtPtr1+429440+84789120*i5+1717248*j1+192*k3);
__m512 wt134 = _mm512_maskz_loadu_ps(65535, wtPtr1+536768+84789120*i5+1717248*j1+192*k3);
__m512 wt135 = _mm512_maskz_loadu_ps(65535, wtPtr1+644096+84789120*i5+1717248*j1+192*k3);
__m512 wt136 = _mm512_maskz_loadu_ps(65535, wtPtr1+751424+84789120*i5+1717248*j1+192*k3);
__m512 wt137 = _mm512_maskz_loadu_ps(65535, wtPtr1+858752+84789120*i5+1717248*j1+192*k3);
__m512 wt138 = _mm512_maskz_loadu_ps(65535, wtPtr1+966080+84789120*i5+1717248*j1+192*k3);
__m512 wt139 = _mm512_maskz_loadu_ps(65535, wtPtr1+1073408+84789120*i5+1717248*j1+192*k3);
__m512 wt140 = _mm512_maskz_loadu_ps(65535, wtPtr1+1180736+84789120*i5+1717248*j1+192*k3);
__m512 wt141 = _mm512_maskz_loadu_ps(65535, wtPtr1+1288064+84789120*i5+1717248*j1+192*k3);
__m512 wt142 = _mm512_maskz_loadu_ps(65535, wtPtr1+1395392+84789120*i5+1717248*j1+192*k3);
__m512 wt143 = _mm512_maskz_loadu_ps(65535, wtPtr1+1502720+84789120*i5+1717248*j1+192*k3);
__m512 wt144 = _mm512_maskz_loadu_ps(65535, wtPtr1+1610048+84789120*i5+1717248*j1+192*k3);
__m512 tmp385 = _mm512_unpacklo_ps(wt129, wt130);
__m512 tmp386 = _mm512_unpackhi_ps(wt129, wt130);
__m512 tmp387 = _mm512_unpacklo_ps(wt131, wt132);
__m512 tmp388 = _mm512_unpackhi_ps(wt131, wt132);
__m512 tmp389 = _mm512_unpacklo_ps(wt133, wt134);
__m512 tmp390 = _mm512_unpackhi_ps(wt133, wt134);
__m512 tmp391 = _mm512_unpacklo_ps(wt135, wt136);
__m512 tmp392 = _mm512_unpackhi_ps(wt135, wt136);
__m512 tmp393 = _mm512_unpacklo_ps(wt137, wt138);
__m512 tmp394 = _mm512_unpackhi_ps(wt137, wt138);
__m512 tmp395 = _mm512_unpacklo_ps(wt139, wt140);
__m512 tmp396 = _mm512_unpackhi_ps(wt139, wt140);
__m512 tmp397 = _mm512_unpacklo_ps(wt141, wt142);
__m512 tmp398 = _mm512_unpackhi_ps(wt141, wt142);
__m512 tmp399 = _mm512_unpacklo_ps(wt143, wt144);
__m512 tmp400 = _mm512_unpackhi_ps(wt143, wt144);
__m512 tmp401 = _mm512_shuffle_ps(tmp385, tmp387, 68);
__m512 tmp402 = _mm512_shuffle_ps(tmp385, tmp387, 238);
__m512 tmp403 = _mm512_shuffle_ps(tmp386, tmp388, 68);
__m512 tmp404 = _mm512_shuffle_ps(tmp386, tmp388, 238);
__m512 tmp405 = _mm512_shuffle_ps(tmp389, tmp391, 68);
__m512 tmp406 = _mm512_shuffle_ps(tmp389, tmp391, 238);
__m512 tmp407 = _mm512_shuffle_ps(tmp390, tmp392, 68);
__m512 tmp408 = _mm512_shuffle_ps(tmp390, tmp392, 238);
__m512 tmp409 = _mm512_shuffle_ps(tmp393, tmp395, 68);
__m512 tmp410 = _mm512_shuffle_ps(tmp393, tmp395, 238);
__m512 tmp411 = _mm512_shuffle_ps(tmp394, tmp396, 68);
__m512 tmp412 = _mm512_shuffle_ps(tmp394, tmp396, 238);
__m512 tmp413 = _mm512_shuffle_ps(tmp397, tmp399, 68);
__m512 tmp414 = _mm512_shuffle_ps(tmp397, tmp399, 238);
__m512 tmp415 = _mm512_shuffle_ps(tmp398, tmp400, 68);
__m512 tmp416 = _mm512_shuffle_ps(tmp398, tmp400, 238);
__m512 tmp417 = _mm512_shuffle_f32x4(tmp401, tmp405, 136);
__m512 tmp418 = _mm512_shuffle_f32x4(tmp401, tmp405, 221);
__m512 tmp419 = _mm512_shuffle_f32x4(tmp402, tmp406, 136);
__m512 tmp420 = _mm512_shuffle_f32x4(tmp402, tmp406, 221);
__m512 tmp421 = _mm512_shuffle_f32x4(tmp403, tmp407, 136);
__m512 tmp422 = _mm512_shuffle_f32x4(tmp403, tmp407, 221);
__m512 tmp423 = _mm512_shuffle_f32x4(tmp404, tmp408, 136);
__m512 tmp424 = _mm512_shuffle_f32x4(tmp404, tmp408, 221);
__m512 tmp425 = _mm512_shuffle_f32x4(tmp409, tmp413, 136);
__m512 tmp426 = _mm512_shuffle_f32x4(tmp409, tmp413, 221);
__m512 tmp427 = _mm512_shuffle_f32x4(tmp410, tmp414, 136);
__m512 tmp428 = _mm512_shuffle_f32x4(tmp410, tmp414, 221);
__m512 tmp429 = _mm512_shuffle_f32x4(tmp411, tmp415, 136);
__m512 tmp430 = _mm512_shuffle_f32x4(tmp411, tmp415, 221);
__m512 tmp431 = _mm512_shuffle_f32x4(tmp412, tmp416, 136);
__m512 tmp432 = _mm512_shuffle_f32x4(tmp412, tmp416, 221);
wt129 = _mm512_shuffle_f32x4(tmp417, tmp425, 136);
wt137 = _mm512_shuffle_f32x4(tmp417, tmp425, 221);
wt130 = _mm512_shuffle_f32x4(tmp419, tmp427, 136);
wt138 = _mm512_shuffle_f32x4(tmp419, tmp427, 221);
wt131 = _mm512_shuffle_f32x4(tmp421, tmp429, 136);
wt139 = _mm512_shuffle_f32x4(tmp421, tmp429, 221);
wt132 = _mm512_shuffle_f32x4(tmp423, tmp431, 136);
wt140 = _mm512_shuffle_f32x4(tmp423, tmp431, 221);
wt133 = _mm512_shuffle_f32x4(tmp418, tmp426, 136);
wt141 = _mm512_shuffle_f32x4(tmp418, tmp426, 221);
wt134 = _mm512_shuffle_f32x4(tmp420, tmp428, 136);
wt142 = _mm512_shuffle_f32x4(tmp420, tmp428, 221);
wt135 = _mm512_shuffle_f32x4(tmp422, tmp430, 136);
wt143 = _mm512_shuffle_f32x4(tmp422, tmp430, 221);
wt136 = _mm512_shuffle_f32x4(tmp424, tmp432, 136);
wt144 = _mm512_shuffle_f32x4(tmp424, tmp432, 221);
_mm512_mask_storeu_ps(arrangedW1+35328816+84789120*i5+13416*c1+24*k3, 3, wt129);
_mm512_mask_storeu_ps(arrangedW1+35342208+84789120*i5+13416*c1+24*k3, 252, wt129);
_mm512_mask_storeu_ps(arrangedW1+35355600+84789120*i5+13416*c1+24*k3, 16128, wt129);
_mm512_mask_storeu_ps(arrangedW1+35368992+84789120*i5+13416*c1+24*k3, 49152, wt129);
_mm512_mask_storeu_ps(arrangedW1+37095256+84789120*i5+13416*c1+24*k3, 3, wt130);
_mm512_mask_storeu_ps(arrangedW1+37108648+84789120*i5+13416*c1+24*k3, 252, wt130);
_mm512_mask_storeu_ps(arrangedW1+37122040+84789120*i5+13416*c1+24*k3, 16128, wt130);
_mm512_mask_storeu_ps(arrangedW1+37135432+84789120*i5+13416*c1+24*k3, 49152, wt130);
_mm512_mask_storeu_ps(arrangedW1+38861696+84789120*i5+13416*c1+24*k3, 3, wt131);
_mm512_mask_storeu_ps(arrangedW1+38875088+84789120*i5+13416*c1+24*k3, 252, wt131);
_mm512_mask_storeu_ps(arrangedW1+38888480+84789120*i5+13416*c1+24*k3, 16128, wt131);
_mm512_mask_storeu_ps(arrangedW1+38901872+84789120*i5+13416*c1+24*k3, 49152, wt131);
_mm512_mask_storeu_ps(arrangedW1+40628136+84789120*i5+13416*c1+24*k3, 3, wt132);
_mm512_mask_storeu_ps(arrangedW1+40641528+84789120*i5+13416*c1+24*k3, 252, wt132);
_mm512_mask_storeu_ps(arrangedW1+40654920+84789120*i5+13416*c1+24*k3, 16128, wt132);
_mm512_mask_storeu_ps(arrangedW1+40668312+84789120*i5+13416*c1+24*k3, 49152, wt132);
_mm512_mask_storeu_ps(arrangedW1+52993216+84789120*i5+13416*c1+24*k3, 3, wt133);
_mm512_mask_storeu_ps(arrangedW1+53006608+84789120*i5+13416*c1+24*k3, 252, wt133);
_mm512_mask_storeu_ps(arrangedW1+53020000+84789120*i5+13416*c1+24*k3, 16128, wt133);
_mm512_mask_storeu_ps(arrangedW1+53033392+84789120*i5+13416*c1+24*k3, 49152, wt133);
_mm512_mask_storeu_ps(arrangedW1+54759656+84789120*i5+13416*c1+24*k3, 3, wt134);
_mm512_mask_storeu_ps(arrangedW1+54773048+84789120*i5+13416*c1+24*k3, 252, wt134);
_mm512_mask_storeu_ps(arrangedW1+54786440+84789120*i5+13416*c1+24*k3, 16128, wt134);
_mm512_mask_storeu_ps(arrangedW1+54799832+84789120*i5+13416*c1+24*k3, 49152, wt134);
_mm512_mask_storeu_ps(arrangedW1+56526096+84789120*i5+13416*c1+24*k3, 3, wt135);
_mm512_mask_storeu_ps(arrangedW1+56539488+84789120*i5+13416*c1+24*k3, 252, wt135);
_mm512_mask_storeu_ps(arrangedW1+56552880+84789120*i5+13416*c1+24*k3, 16128, wt135);
_mm512_mask_storeu_ps(arrangedW1+56566272+84789120*i5+13416*c1+24*k3, 49152, wt135);
_mm512_mask_storeu_ps(arrangedW1+58292536+84789120*i5+13416*c1+24*k3, 3, wt136);
_mm512_mask_storeu_ps(arrangedW1+58305928+84789120*i5+13416*c1+24*k3, 252, wt136);
_mm512_mask_storeu_ps(arrangedW1+58319320+84789120*i5+13416*c1+24*k3, 16128, wt136);
_mm512_mask_storeu_ps(arrangedW1+58332712+84789120*i5+13416*c1+24*k3, 49152, wt136);
_mm512_mask_storeu_ps(arrangedW1+60058976+84789120*i5+13416*c1+24*k3, 3, wt137);
_mm512_mask_storeu_ps(arrangedW1+60072368+84789120*i5+13416*c1+24*k3, 252, wt137);
_mm512_mask_storeu_ps(arrangedW1+60085760+84789120*i5+13416*c1+24*k3, 16128, wt137);
_mm512_mask_storeu_ps(arrangedW1+60099152+84789120*i5+13416*c1+24*k3, 49152, wt137);
_mm512_mask_storeu_ps(arrangedW1+61825416+84789120*i5+13416*c1+24*k3, 3, wt138);
_mm512_mask_storeu_ps(arrangedW1+61838808+84789120*i5+13416*c1+24*k3, 252, wt138);
_mm512_mask_storeu_ps(arrangedW1+61852200+84789120*i5+13416*c1+24*k3, 16128, wt138);
_mm512_mask_storeu_ps(arrangedW1+61865592+84789120*i5+13416*c1+24*k3, 49152, wt138);
_mm512_mask_storeu_ps(arrangedW1+74190496+84789120*i5+13416*c1+24*k3, 3, wt139);
_mm512_mask_storeu_ps(arrangedW1+74203888+84789120*i5+13416*c1+24*k3, 252, wt139);
_mm512_mask_storeu_ps(arrangedW1+74217280+84789120*i5+13416*c1+24*k3, 16128, wt139);
_mm512_mask_storeu_ps(arrangedW1+74230672+84789120*i5+13416*c1+24*k3, 49152, wt139);
_mm512_mask_storeu_ps(arrangedW1+75956936+84789120*i5+13416*c1+24*k3, 3, wt140);
_mm512_mask_storeu_ps(arrangedW1+75970328+84789120*i5+13416*c1+24*k3, 252, wt140);
_mm512_mask_storeu_ps(arrangedW1+75983720+84789120*i5+13416*c1+24*k3, 16128, wt140);
_mm512_mask_storeu_ps(arrangedW1+75997112+84789120*i5+13416*c1+24*k3, 49152, wt140);
_mm512_mask_storeu_ps(arrangedW1+77723376+84789120*i5+13416*c1+24*k3, 3, wt141);
_mm512_mask_storeu_ps(arrangedW1+77736768+84789120*i5+13416*c1+24*k3, 252, wt141);
_mm512_mask_storeu_ps(arrangedW1+77750160+84789120*i5+13416*c1+24*k3, 16128, wt141);
_mm512_mask_storeu_ps(arrangedW1+77763552+84789120*i5+13416*c1+24*k3, 49152, wt141);
_mm512_mask_storeu_ps(arrangedW1+79489816+84789120*i5+13416*c1+24*k3, 3, wt142);
_mm512_mask_storeu_ps(arrangedW1+79503208+84789120*i5+13416*c1+24*k3, 252, wt142);
_mm512_mask_storeu_ps(arrangedW1+79516600+84789120*i5+13416*c1+24*k3, 16128, wt142);
_mm512_mask_storeu_ps(arrangedW1+79529992+84789120*i5+13416*c1+24*k3, 49152, wt142);
_mm512_mask_storeu_ps(arrangedW1+81256256+84789120*i5+13416*c1+24*k3, 3, wt143);
_mm512_mask_storeu_ps(arrangedW1+81269648+84789120*i5+13416*c1+24*k3, 252, wt143);
_mm512_mask_storeu_ps(arrangedW1+81283040+84789120*i5+13416*c1+24*k3, 16128, wt143);
_mm512_mask_storeu_ps(arrangedW1+81296432+84789120*i5+13416*c1+24*k3, 49152, wt143);
_mm512_mask_storeu_ps(arrangedW1+83022696+84789120*i5+13416*c1+24*k3, 3, wt144);
_mm512_mask_storeu_ps(arrangedW1+83036088+84789120*i5+13416*c1+24*k3, 252, wt144);
_mm512_mask_storeu_ps(arrangedW1+83049480+84789120*i5+13416*c1+24*k3, 16128, wt144);
_mm512_mask_storeu_ps(arrangedW1+83062872+84789120*i5+13416*c1+24*k3, 49152, wt144);
}
break;
}
}
if (j1 >= jj1) return;
}
}
if (j1 == 49) {
__m512 bias2 = _mm512_setzero_ps();
if (!e1) {
bias2 = _mm512_maskz_loadu_ps(63, biasPtr1-0+3160*i5+64*j1);
}
_mm512_mask_storeu_ps(arrangedB1-0+3160*i5+64*j1, 63, bias2);
ptrdiff_t c2 = (size_t)(0+16*j1)/6;
ptrdiff_t k4 = 0;
for (; k4 != 559; ++k4) {
__m512 wt145 = _mm512_maskz_loadu_ps(65535, wtPtr1+0+84789120*i5+1717248*j1+192*k4);
__m512 wt146 = _mm512_maskz_loadu_ps(65535, wtPtr1+107328+84789120*i5+1717248*j1+192*k4);
__m512 wt147 = _mm512_maskz_loadu_ps(65535, wtPtr1+214656+84789120*i5+1717248*j1+192*k4);
__m512 wt148 = _mm512_maskz_loadu_ps(65535, wtPtr1+321984+84789120*i5+1717248*j1+192*k4);
__m512 wt149 = _mm512_maskz_loadu_ps(65535, wtPtr1+429312+84789120*i5+1717248*j1+192*k4);
__m512 wt150 = _mm512_maskz_loadu_ps(65535, wtPtr1+536640+84789120*i5+1717248*j1+192*k4);
__m512 tmp433 = _mm512_unpacklo_ps(wt145, wt146);
__m512 tmp434 = _mm512_unpackhi_ps(wt145, wt146);
__m512 tmp435 = _mm512_unpacklo_ps(wt147, wt148);
__m512 tmp436 = _mm512_unpackhi_ps(wt147, wt148);
__m512 tmp437 = _mm512_unpacklo_ps(wt149, wt150);
__m512 tmp438 = _mm512_unpackhi_ps(wt149, wt150);
__m512 tmp439 = _mm512_shuffle_ps(tmp433, tmp435, 68);
__m512 tmp440 = _mm512_shuffle_ps(tmp433, tmp435, 238);
__m512 tmp441 = _mm512_shuffle_ps(tmp434, tmp436, 68);
__m512 tmp442 = _mm512_shuffle_ps(tmp434, tmp436, 238);
__m512 tmp443 = _mm512_shuffle_ps(tmp437, tmp437, 238);
__m512 tmp444 = _mm512_shuffle_ps(tmp438, tmp438, 238);
__m512 tmp445 = _mm512_shuffle_f32x4(tmp439, tmp437, 136);
__m512 tmp446 = _mm512_shuffle_f32x4(tmp439, tmp437, 221);
__m512 tmp447 = _mm512_shuffle_f32x4(tmp440, tmp443, 136);
__m512 tmp448 = _mm512_shuffle_f32x4(tmp440, tmp443, 221);
__m512 tmp449 = _mm512_shuffle_f32x4(tmp441, tmp438, 136);
__m512 tmp450 = _mm512_shuffle_f32x4(tmp441, tmp438, 221);
__m512 tmp451 = _mm512_shuffle_f32x4(tmp442, tmp444, 136);
__m512 tmp452 = _mm512_shuffle_f32x4(tmp442, tmp444, 221);
wt145 = _mm512_shuffle_f32x4(tmp445, tmp445, 136);
__m512 wt153 = _mm512_shuffle_f32x4(tmp445, tmp445, 221);
wt146 = _mm512_shuffle_f32x4(tmp447, tmp447, 136);
__m512 wt154 = _mm512_shuffle_f32x4(tmp447, tmp447, 221);
wt147 = _mm512_shuffle_f32x4(tmp449, tmp449, 136);
__m512 wt155 = _mm512_shuffle_f32x4(tmp449, tmp449, 221);
wt148 = _mm512_shuffle_f32x4(tmp451, tmp451, 136);
__m512 wt156 = _mm512_shuffle_f32x4(tmp451, tmp451, 221);
wt149 = _mm512_shuffle_f32x4(tmp446, tmp446, 136);
__m512 wt157 = _mm512_shuffle_f32x4(tmp446, tmp446, 221);
wt150 = _mm512_shuffle_f32x4(tmp448, tmp448, 136);
__m512 wt158 = _mm512_shuffle_f32x4(tmp448, tmp448, 221);
__m512 wt151 = _mm512_shuffle_f32x4(tmp450, tmp450, 136);
__m512 wt159 = _mm512_shuffle_f32x4(tmp450, tmp450, 221);
__m512 wt152 = _mm512_shuffle_f32x4(tmp452, tmp452, 136);
__m512 wt160 = _mm512_shuffle_f32x4(tmp452, tmp452, 221);
_mm512_mask_storeu_ps(arrangedW1+16+84789120*i5+13416*c2+24*k4, 3, wt145);
_mm512_mask_storeu_ps(arrangedW1+13408+84789120*i5+13416*c2+16*k4, 60, wt145);
_mm512_mask_storeu_ps(arrangedW1+1766456+84789120*i5+13416*c2+24*k4, 3, wt146);
_mm512_mask_storeu_ps(arrangedW1+1779848+84789120*i5+13416*c2+16*k4, 60, wt146);
_mm512_mask_storeu_ps(arrangedW1+3532896+84789120*i5+13416*c2+24*k4, 3, wt147);
_mm512_mask_storeu_ps(arrangedW1+3546288+84789120*i5+13416*c2+16*k4, 60, wt147);
_mm512_mask_storeu_ps(arrangedW1+5299336+84789120*i5+13416*c2+24*k4, 3, wt148);
_mm512_mask_storeu_ps(arrangedW1+5312728+84789120*i5+13416*c2+16*k4, 60, wt148);
_mm512_mask_storeu_ps(arrangedW1+7065776+84789120*i5+13416*c2+24*k4, 3, wt149);
_mm512_mask_storeu_ps(arrangedW1+7079168+84789120*i5+13416*c2+16*k4, 60, wt149);
_mm512_mask_storeu_ps(arrangedW1+8832216+84789120*i5+13416*c2+24*k4, 3, wt150);
_mm512_mask_storeu_ps(arrangedW1+8845608+84789120*i5+13416*c2+16*k4, 60, wt150);
_mm512_mask_storeu_ps(arrangedW1+21197296+84789120*i5+13416*c2+24*k4, 3, wt151);
_mm512_mask_storeu_ps(arrangedW1+21210688+84789120*i5+13416*c2+16*k4, 60, wt151);
_mm512_mask_storeu_ps(arrangedW1+22963736+84789120*i5+13416*c2+24*k4, 3, wt152);
_mm512_mask_storeu_ps(arrangedW1+22977128+84789120*i5+13416*c2+16*k4, 60, wt152);
_mm512_mask_storeu_ps(arrangedW1+24730176+84789120*i5+13416*c2+24*k4, 3, wt153);
_mm512_mask_storeu_ps(arrangedW1+24743568+84789120*i5+13416*c2+16*k4, 60, wt153);
_mm512_mask_storeu_ps(arrangedW1+26496616+84789120*i5+13416*c2+24*k4, 3, wt154);
_mm512_mask_storeu_ps(arrangedW1+26510008+84789120*i5+13416*c2+16*k4, 60, wt154);
_mm512_mask_storeu_ps(arrangedW1+28263056+84789120*i5+13416*c2+24*k4, 3, wt155);
_mm512_mask_storeu_ps(arrangedW1+28276448+84789120*i5+13416*c2+16*k4, 60, wt155);
_mm512_mask_storeu_ps(arrangedW1+30029496+84789120*i5+13416*c2+24*k4, 3, wt156);
_mm512_mask_storeu_ps(arrangedW1+30042888+84789120*i5+13416*c2+16*k4, 60, wt156);
_mm512_mask_storeu_ps(arrangedW1+42394576+84789120*i5+13416*c2+24*k4, 3, wt157);
_mm512_mask_storeu_ps(arrangedW1+42407968+84789120*i5+13416*c2+16*k4, 60, wt157);
_mm512_mask_storeu_ps(arrangedW1+44161016+84789120*i5+13416*c2+24*k4, 3, wt158);
_mm512_mask_storeu_ps(arrangedW1+44174408+84789120*i5+13416*c2+16*k4, 60, wt158);
_mm512_mask_storeu_ps(arrangedW1+45927456+84789120*i5+13416*c2+24*k4, 3, wt159);
_mm512_mask_storeu_ps(arrangedW1+45940848+84789120*i5+13416*c2+16*k4, 60, wt159);
_mm512_mask_storeu_ps(arrangedW1+47693896+84789120*i5+13416*c2+24*k4, 3, wt160);
_mm512_mask_storeu_ps(arrangedW1+47707288+84789120*i5+13416*c2+16*k4, 60, wt160);
__m512 wt161 = _mm512_maskz_loadu_ps(65535, wtPtr1+64+84789120*i5+1717248*j1+192*k4);
__m512 wt162 = _mm512_maskz_loadu_ps(65535, wtPtr1+107392+84789120*i5+1717248*j1+192*k4);
__m512 wt163 = _mm512_maskz_loadu_ps(65535, wtPtr1+214720+84789120*i5+1717248*j1+192*k4);
__m512 wt164 = _mm512_maskz_loadu_ps(65535, wtPtr1+322048+84789120*i5+1717248*j1+192*k4);
__m512 wt165 = _mm512_maskz_loadu_ps(65535, wtPtr1+429376+84789120*i5+1717248*j1+192*k4);
__m512 wt166 = _mm512_maskz_loadu_ps(65535, wtPtr1+536704+84789120*i5+1717248*j1+192*k4);
__m512 tmp453 = _mm512_unpacklo_ps(wt161, wt162);
__m512 tmp454 = _mm512_unpackhi_ps(wt161, wt162);
__m512 tmp455 = _mm512_unpacklo_ps(wt163, wt164);
__m512 tmp456 = _mm512_unpackhi_ps(wt163, wt164);
__m512 tmp457 = _mm512_unpacklo_ps(wt165, wt166);
__m512 tmp458 = _mm512_unpackhi_ps(wt165, wt166);
__m512 tmp459 = _mm512_shuffle_ps(tmp453, tmp455, 68);
__m512 tmp460 = _mm512_shuffle_ps(tmp453, tmp455, 238);
__m512 tmp461 = _mm512_shuffle_ps(tmp454, tmp456, 68);
__m512 tmp462 = _mm512_shuffle_ps(tmp454, tmp456, 238);
__m512 tmp463 = _mm512_shuffle_ps(tmp457, tmp457, 238);
__m512 tmp464 = _mm512_shuffle_ps(tmp458, tmp458, 238);
__m512 tmp465 = _mm512_shuffle_f32x4(tmp459, tmp457, 136);
__m512 tmp466 = _mm512_shuffle_f32x4(tmp459, tmp457, 221);
__m512 tmp467 = _mm512_shuffle_f32x4(tmp460, tmp463, 136);
__m512 tmp468 = _mm512_shuffle_f32x4(tmp460, tmp463, 221);
__m512 tmp469 = _mm512_shuffle_f32x4(tmp461, tmp458, 136);
__m512 tmp470 = _mm512_shuffle_f32x4(tmp461, tmp458, 221);
__m512 tmp471 = _mm512_shuffle_f32x4(tmp462, tmp464, 136);
__m512 tmp472 = _mm512_shuffle_f32x4(tmp462, tmp464, 221);
wt161 = _mm512_shuffle_f32x4(tmp465, tmp465, 136);
__m512 wt169 = _mm512_shuffle_f32x4(tmp465, tmp465, 221);
wt162 = _mm512_shuffle_f32x4(tmp467, tmp467, 136);
__m512 wt170 = _mm512_shuffle_f32x4(tmp467, tmp467, 221);
wt163 = _mm512_shuffle_f32x4(tmp469, tmp469, 136);
__m512 wt171 = _mm512_shuffle_f32x4(tmp469, tmp469, 221);
wt164 = _mm512_shuffle_f32x4(tmp471, tmp471, 136);
__m512 wt172 = _mm512_shuffle_f32x4(tmp471, tmp471, 221);
wt165 = _mm512_shuffle_f32x4(tmp466, tmp466, 136);
__m512 wt173 = _mm512_shuffle_f32x4(tmp466, tmp466, 221);
wt166 = _mm512_shuffle_f32x4(tmp468, tmp468, 136);
__m512 wt174 = _mm512_shuffle_f32x4(tmp468, tmp468, 221);
__m512 wt167 = _mm512_shuffle_f32x4(tmp470, tmp470, 136);
__m512 wt175 = _mm512_shuffle_f32x4(tmp470, tmp470, 221);
__m512 wt168 = _mm512_shuffle_f32x4(tmp472, tmp472, 136);
__m512 wt176 = _mm512_shuffle_f32x4(tmp472, tmp472, 221);
_mm512_mask_storeu_ps(arrangedW1+49460336+84789120*i5+13416*c2+24*k4, 3, wt161);
_mm512_mask_storeu_ps(arrangedW1+49473728+84789120*i5+13416*c2+16*k4, 60, wt161);
_mm512_mask_storeu_ps(arrangedW1+51226776+84789120*i5+13416*c2+24*k4, 3, wt162);
_mm512_mask_storeu_ps(arrangedW1+51240168+84789120*i5+13416*c2+16*k4, 60, wt162);
_mm512_mask_storeu_ps(arrangedW1+63591856+84789120*i5+13416*c2+24*k4, 3, wt163);
_mm512_mask_storeu_ps(arrangedW1+63605248+84789120*i5+13416*c2+16*k4, 60, wt163);
_mm512_mask_storeu_ps(arrangedW1+65358296+84789120*i5+13416*c2+24*k4, 3, wt164);
_mm512_mask_storeu_ps(arrangedW1+65371688+84789120*i5+13416*c2+16*k4, 60, wt164);
_mm512_mask_storeu_ps(arrangedW1+67124736+84789120*i5+13416*c2+24*k4, 3, wt165);
_mm512_mask_storeu_ps(arrangedW1+67138128+84789120*i5+13416*c2+16*k4, 60, wt165);
_mm512_mask_storeu_ps(arrangedW1+68891176+84789120*i5+13416*c2+24*k4, 3, wt166);
_mm512_mask_storeu_ps(arrangedW1+68904568+84789120*i5+13416*c2+16*k4, 60, wt166);
_mm512_mask_storeu_ps(arrangedW1+70657616+84789120*i5+13416*c2+24*k4, 3, wt167);
_mm512_mask_storeu_ps(arrangedW1+70671008+84789120*i5+13416*c2+16*k4, 60, wt167);
_mm512_mask_storeu_ps(arrangedW1+72424056+84789120*i5+13416*c2+24*k4, 3, wt168);
_mm512_mask_storeu_ps(arrangedW1+72437448+84789120*i5+13416*c2+16*k4, 60, wt168);
_mm512_mask_storeu_ps(arrangedW1+10598656+84789120*i5+13416*c2+24*k4, 3, wt169);
_mm512_mask_storeu_ps(arrangedW1+10612048+84789120*i5+13416*c2+16*k4, 60, wt169);
_mm512_mask_storeu_ps(arrangedW1+12365096+84789120*i5+13416*c2+24*k4, 3, wt170);
_mm512_mask_storeu_ps(arrangedW1+12378488+84789120*i5+13416*c2+16*k4, 60, wt170);
_mm512_mask_storeu_ps(arrangedW1+14131536+84789120*i5+13416*c2+24*k4, 3, wt171);
_mm512_mask_storeu_ps(arrangedW1+14144928+84789120*i5+13416*c2+16*k4, 60, wt171);
_mm512_mask_storeu_ps(arrangedW1+15897976+84789120*i5+13416*c2+24*k4, 3, wt172);
_mm512_mask_storeu_ps(arrangedW1+15911368+84789120*i5+13416*c2+16*k4, 60, wt172);
_mm512_mask_storeu_ps(arrangedW1+17664416+84789120*i5+13416*c2+24*k4, 3, wt173);
_mm512_mask_storeu_ps(arrangedW1+17677808+84789120*i5+13416*c2+16*k4, 60, wt173);
_mm512_mask_storeu_ps(arrangedW1+19430856+84789120*i5+13416*c2+24*k4, 3, wt174);
_mm512_mask_storeu_ps(arrangedW1+19444248+84789120*i5+13416*c2+16*k4, 60, wt174);
_mm512_mask_storeu_ps(arrangedW1+31795936+84789120*i5+13416*c2+24*k4, 3, wt175);
_mm512_mask_storeu_ps(arrangedW1+31809328+84789120*i5+13416*c2+16*k4, 60, wt175);
_mm512_mask_storeu_ps(arrangedW1+33562376+84789120*i5+13416*c2+24*k4, 3, wt176);
_mm512_mask_storeu_ps(arrangedW1+33575768+84789120*i5+13416*c2+16*k4, 60, wt176);
__m512 wt177 = _mm512_maskz_loadu_ps(65535, wtPtr1+128+84789120*i5+1717248*j1+192*k4);
__m512 wt178 = _mm512_maskz_loadu_ps(65535, wtPtr1+107456+84789120*i5+1717248*j1+192*k4);
__m512 wt179 = _mm512_maskz_loadu_ps(65535, wtPtr1+214784+84789120*i5+1717248*j1+192*k4);
__m512 wt180 = _mm512_maskz_loadu_ps(65535, wtPtr1+322112+84789120*i5+1717248*j1+192*k4);
__m512 wt181 = _mm512_maskz_loadu_ps(65535, wtPtr1+429440+84789120*i5+1717248*j1+192*k4);
__m512 wt182 = _mm512_maskz_loadu_ps(65535, wtPtr1+536768+84789120*i5+1717248*j1+192*k4);
__m512 tmp473 = _mm512_unpacklo_ps(wt177, wt178);
__m512 tmp474 = _mm512_unpackhi_ps(wt177, wt178);
__m512 tmp475 = _mm512_unpacklo_ps(wt179, wt180);
__m512 tmp476 = _mm512_unpackhi_ps(wt179, wt180);
__m512 tmp477 = _mm512_unpacklo_ps(wt181, wt182);
__m512 tmp478 = _mm512_unpackhi_ps(wt181, wt182);
__m512 tmp479 = _mm512_shuffle_ps(tmp473, tmp475, 68);
__m512 tmp480 = _mm512_shuffle_ps(tmp473, tmp475, 238);
__m512 tmp481 = _mm512_shuffle_ps(tmp474, tmp476, 68);
__m512 tmp482 = _mm512_shuffle_ps(tmp474, tmp476, 238);
__m512 tmp483 = _mm512_shuffle_ps(tmp477, tmp477, 238);
__m512 tmp484 = _mm512_shuffle_ps(tmp478, tmp478, 238);
__m512 tmp485 = _mm512_shuffle_f32x4(tmp479, tmp477, 136);
__m512 tmp486 = _mm512_shuffle_f32x4(tmp479, tmp477, 221);
__m512 tmp487 = _mm512_shuffle_f32x4(tmp480, tmp483, 136);
__m512 tmp488 = _mm512_shuffle_f32x4(tmp480, tmp483, 221);
__m512 tmp489 = _mm512_shuffle_f32x4(tmp481, tmp478, 136);
__m512 tmp490 = _mm512_shuffle_f32x4(tmp481, tmp478, 221);
__m512 tmp491 = _mm512_shuffle_f32x4(tmp482, tmp484, 136);
__m512 tmp492 = _mm512_shuffle_f32x4(tmp482, tmp484, 221);
wt177 = _mm512_shuffle_f32x4(tmp485, tmp485, 136);
__m512 wt185 = _mm512_shuffle_f32x4(tmp485, tmp485, 221);
wt178 = _mm512_shuffle_f32x4(tmp487, tmp487, 136);
__m512 wt186 = _mm512_shuffle_f32x4(tmp487, tmp487, 221);
wt179 = _mm512_shuffle_f32x4(tmp489, tmp489, 136);
__m512 wt187 = _mm512_shuffle_f32x4(tmp489, tmp489, 221);
wt180 = _mm512_shuffle_f32x4(tmp491, tmp491, 136);
__m512 wt188 = _mm512_shuffle_f32x4(tmp491, tmp491, 221);
wt181 = _mm512_shuffle_f32x4(tmp486, tmp486, 136);
__m512 wt189 = _mm512_shuffle_f32x4(tmp486, tmp486, 221);
wt182 = _mm512_shuffle_f32x4(tmp488, tmp488, 136);
__m512 wt190 = _mm512_shuffle_f32x4(tmp488, tmp488, 221);
__m512 wt183 = _mm512_shuffle_f32x4(tmp490, tmp490, 136);
__m512 wt191 = _mm512_shuffle_f32x4(tmp490, tmp490, 221);
__m512 wt184 = _mm512_shuffle_f32x4(tmp492, tmp492, 136);
__m512 wt192 = _mm512_shuffle_f32x4(tmp492, tmp492, 221);
_mm512_mask_storeu_ps(arrangedW1+35328816+84789120*i5+13416*c2+24*k4, 3, wt177);
_mm512_mask_storeu_ps(arrangedW1+35342208+84789120*i5+13416*c2+16*k4, 60, wt177);
_mm512_mask_storeu_ps(arrangedW1+37095256+84789120*i5+13416*c2+24*k4, 3, wt178);
_mm512_mask_storeu_ps(arrangedW1+37108648+84789120*i5+13416*c2+16*k4, 60, wt178);
_mm512_mask_storeu_ps(arrangedW1+38861696+84789120*i5+13416*c2+24*k4, 3, wt179);
_mm512_mask_storeu_ps(arrangedW1+38875088+84789120*i5+13416*c2+16*k4, 60, wt179);
_mm512_mask_storeu_ps(arrangedW1+40628136+84789120*i5+13416*c2+24*k4, 3, wt180);
_mm512_mask_storeu_ps(arrangedW1+40641528+84789120*i5+13416*c2+16*k4, 60, wt180);
_mm512_mask_storeu_ps(arrangedW1+52993216+84789120*i5+13416*c2+24*k4, 3, wt181);
_mm512_mask_storeu_ps(arrangedW1+53006608+84789120*i5+13416*c2+16*k4, 60, wt181);
_mm512_mask_storeu_ps(arrangedW1+54759656+84789120*i5+13416*c2+24*k4, 3, wt182);
_mm512_mask_storeu_ps(arrangedW1+54773048+84789120*i5+13416*c2+16*k4, 60, wt182);
_mm512_mask_storeu_ps(arrangedW1+56526096+84789120*i5+13416*c2+24*k4, 3, wt183);
_mm512_mask_storeu_ps(arrangedW1+56539488+84789120*i5+13416*c2+16*k4, 60, wt183);
_mm512_mask_storeu_ps(arrangedW1+58292536+84789120*i5+13416*c2+24*k4, 3, wt184);
_mm512_mask_storeu_ps(arrangedW1+58305928+84789120*i5+13416*c2+16*k4, 60, wt184);
_mm512_mask_storeu_ps(arrangedW1+60058976+84789120*i5+13416*c2+24*k4, 3, wt185);
_mm512_mask_storeu_ps(arrangedW1+60072368+84789120*i5+13416*c2+16*k4, 60, wt185);
_mm512_mask_storeu_ps(arrangedW1+61825416+84789120*i5+13416*c2+24*k4, 3, wt186);
_mm512_mask_storeu_ps(arrangedW1+61838808+84789120*i5+13416*c2+16*k4, 60, wt186);
_mm512_mask_storeu_ps(arrangedW1+74190496+84789120*i5+13416*c2+24*k4, 3, wt187);
_mm512_mask_storeu_ps(arrangedW1+74203888+84789120*i5+13416*c2+16*k4, 60, wt187);
_mm512_mask_storeu_ps(arrangedW1+75956936+84789120*i5+13416*c2+24*k4, 3, wt188);
_mm512_mask_storeu_ps(arrangedW1+75970328+84789120*i5+13416*c2+16*k4, 60, wt188);
_mm512_mask_storeu_ps(arrangedW1+77723376+84789120*i5+13416*c2+24*k4, 3, wt189);
_mm512_mask_storeu_ps(arrangedW1+77736768+84789120*i5+13416*c2+16*k4, 60, wt189);
_mm512_mask_storeu_ps(arrangedW1+79489816+84789120*i5+13416*c2+24*k4, 3, wt190);
_mm512_mask_storeu_ps(arrangedW1+79503208+84789120*i5+13416*c2+16*k4, 60, wt190);
_mm512_mask_storeu_ps(arrangedW1+81256256+84789120*i5+13416*c2+24*k4, 3, wt191);
_mm512_mask_storeu_ps(arrangedW1+81269648+84789120*i5+13416*c2+16*k4, 60, wt191);
_mm512_mask_storeu_ps(arrangedW1+83022696+84789120*i5+13416*c2+24*k4, 3, wt192);
_mm512_mask_storeu_ps(arrangedW1+83036088+84789120*i5+13416*c2+16*k4, 60, wt192);
}
if (j1 >= jj1) return;
j1 = 50;
}
}

static void Example3LoomArrangeFilts1(Example3ThreaderTeam1* team13, char** tensors1) {
Example3ThreaderTask1 task5;
task5.callee1 = Example3LoomArrangeFilts1Callee1;
task5.any1 = tensors1;
task5.nd1 = 3;
task5.hull1[0] = 50;
task5.hull1[1] = 3;
task5.hull1[2] = 1;
Example3ThreaderDo1(team13, &task5);
}

static void Example3LoomArrangeDats1Callee1(Example3ThreaderTask1* task6, int64_t* pt8) {
char** tensors4 = task6->any1;
ptrdiff_t s1 = pt8[0];
ptrdiff_t c3 = pt8[1];
ptrdiff_t g3 = pt8[2];
ptrdiff_t e2 = 0;
char*restrict datPtr1 = tensors4[0]-8+29318520*e2;
char*restrict arranged1 = tensors4[1]+102604800*e2;
ptrdiff_t i6 = 1*g3;
ptrdiff_t j2 = 1*c3;
ptrdiff_t last1 = j2+0;
if (j2 < 32) {
ptrdiff_t rel1 = (size_t)(j2-0)%8;
ptrdiff_t h1 = 0+(size_t)(j2-0)/8*16;
for (; j2 < 32; rel1 = 0, h1 += 16) {
if (rel1 < 1) {
ptrdiff_t w1 = 0;
ptrdiff_t k5 = 32*s1;
ptrdiff_t kk1 = k5+(s1 < 16 ? 31 : 46);
for (; k5 <= kk1; ++k5) {
__m512 dat1 = _mm512_maskz_loadu_ps(65532, datPtr1+0+19627608*i6+35112*k5+456*h1+4*w1);
_mm512_mask_storeu_ps(arranged1+0+5724160*i6+143104*j2+256*k5, 65535, dat1);
__m512 dat2 = _mm512_maskz_loadu_ps(65532, datPtr1+1824+19627608*i6+35112*k5+456*h1+4*w1);
_mm512_mask_storeu_ps(arranged1+64+5724160*i6+143104*j2+256*k5, 65535, dat2);
__m512 dat3 = _mm512_maskz_loadu_ps(65532, datPtr1+3648+19627608*i6+35112*k5+456*h1+4*w1);
_mm512_mask_storeu_ps(arranged1+128+5724160*i6+143104*j2+256*k5, 65535, dat3);
__m512 dat4 = _mm512_maskz_loadu_ps(65532, datPtr1+5472+19627608*i6+35112*k5+456*h1+4*w1);
_mm512_mask_storeu_ps(arranged1+192+5724160*i6+143104*j2+256*k5, 65535, dat4);
__m512 dat5 = _mm512_maskz_loadu_ps(65532, datPtr1+456+19627608*i6+35112*k5+456*h1+4*w1);
_mm512_mask_storeu_ps(arranged1+17172480+5724160*i6+143104*j2+256*k5, 65535, dat5);
__m512 dat6 = _mm512_maskz_loadu_ps(65532, datPtr1+2280+19627608*i6+35112*k5+456*h1+4*w1);
_mm512_mask_storeu_ps(arranged1+17172544+5724160*i6+143104*j2+256*k5, 65535, dat6);
__m512 dat7 = _mm512_maskz_loadu_ps(65532, datPtr1+4104+19627608*i6+35112*k5+456*h1+4*w1);
_mm512_mask_storeu_ps(arranged1+17172608+5724160*i6+143104*j2+256*k5, 65535, dat7);
__m512 dat8 = _mm512_maskz_loadu_ps(65532, datPtr1+5928+19627608*i6+35112*k5+456*h1+4*w1);
_mm512_mask_storeu_ps(arranged1+17172672+5724160*i6+143104*j2+256*k5, 65535, dat8);
__m512 dat9 = _mm512_maskz_loadu_ps(65532, datPtr1+912+19627608*i6+35112*k5+456*h1+4*w1);
_mm512_mask_storeu_ps(arranged1+34344960+5724160*i6+143104*j2+256*k5, 65535, dat9);
__m512 dat10 = _mm512_maskz_loadu_ps(65532, datPtr1+2736+19627608*i6+35112*k5+456*h1+4*w1);
_mm512_mask_storeu_ps(arranged1+34345024+5724160*i6+143104*j2+256*k5, 65535, dat10);
__m512 dat11 = _mm512_maskz_loadu_ps(65532, datPtr1+4560+19627608*i6+35112*k5+456*h1+4*w1);
_mm512_mask_storeu_ps(arranged1+34345088+5724160*i6+143104*j2+256*k5, 65535, dat11);
__m512 dat12 = _mm512_maskz_loadu_ps(65532, datPtr1+6384+19627608*i6+35112*k5+456*h1+4*w1);
_mm512_mask_storeu_ps(arranged1+34345152+5724160*i6+143104*j2+256*k5, 65535, dat12);
__m512 dat13 = _mm512_maskz_loadu_ps(65532, datPtr1+1368+19627608*i6+35112*k5+456*h1+4*w1);
_mm512_mask_storeu_ps(arranged1+51517440+5724160*i6+143104*j2+256*k5, 65535, dat13);
__m512 dat14 = _mm512_maskz_loadu_ps(65532, datPtr1+3192+19627608*i6+35112*k5+456*h1+4*w1);
_mm512_mask_storeu_ps(arranged1+51517504+5724160*i6+143104*j2+256*k5, 65535, dat14);
__m512 dat15 = _mm512_maskz_loadu_ps(65532, datPtr1+5016+19627608*i6+35112*k5+456*h1+4*w1);
_mm512_mask_storeu_ps(arranged1+51517568+5724160*i6+143104*j2+256*k5, 65535, dat15);
__m512 dat16 = _mm512_maskz_loadu_ps(65532, datPtr1+6840+19627608*i6+35112*k5+456*h1+4*w1);
_mm512_mask_storeu_ps(arranged1+51517632+5724160*i6+143104*j2+256*k5, 65535, dat16);
}
if (j2 >= last1) return;
++j2;
rel1 = 1;
}
if (rel1 < 7) {
ptrdiff_t w2 = 0+16*rel1;
ptrdiff_t jj2 = 6-rel1+j2;
for (; j2 <= jj2; w2 += 16) {
ptrdiff_t k6 = 32*s1;
ptrdiff_t kk2 = k6+(s1 < 16 ? 31 : 46);
for (; k6 <= kk2; ++k6) {
__m512 dat17 = _mm512_maskz_loadu_ps(65535, datPtr1+0+19627608*i6+35112*k6+456*h1+4*w2);
_mm512_mask_storeu_ps(arranged1+0+5724160*i6+143104*j2+256*k6, 65535, dat17);
__m512 dat18 = _mm512_maskz_loadu_ps(65535, datPtr1+1824+19627608*i6+35112*k6+456*h1+4*w2);
_mm512_mask_storeu_ps(arranged1+64+5724160*i6+143104*j2+256*k6, 65535, dat18);
__m512 dat19 = _mm512_maskz_loadu_ps(65535, datPtr1+3648+19627608*i6+35112*k6+456*h1+4*w2);
_mm512_mask_storeu_ps(arranged1+128+5724160*i6+143104*j2+256*k6, 65535, dat19);
__m512 dat20 = _mm512_maskz_loadu_ps(65535, datPtr1+5472+19627608*i6+35112*k6+456*h1+4*w2);
_mm512_mask_storeu_ps(arranged1+192+5724160*i6+143104*j2+256*k6, 65535, dat20);
__m512 dat21 = _mm512_maskz_loadu_ps(65535, datPtr1+456+19627608*i6+35112*k6+456*h1+4*w2);
_mm512_mask_storeu_ps(arranged1+17172480+5724160*i6+143104*j2+256*k6, 65535, dat21);
__m512 dat22 = _mm512_maskz_loadu_ps(65535, datPtr1+2280+19627608*i6+35112*k6+456*h1+4*w2);
_mm512_mask_storeu_ps(arranged1+17172544+5724160*i6+143104*j2+256*k6, 65535, dat22);
__m512 dat23 = _mm512_maskz_loadu_ps(65535, datPtr1+4104+19627608*i6+35112*k6+456*h1+4*w2);
_mm512_mask_storeu_ps(arranged1+17172608+5724160*i6+143104*j2+256*k6, 65535, dat23);
__m512 dat24 = _mm512_maskz_loadu_ps(65535, datPtr1+5928+19627608*i6+35112*k6+456*h1+4*w2);
_mm512_mask_storeu_ps(arranged1+17172672+5724160*i6+143104*j2+256*k6, 65535, dat24);
__m512 dat25 = _mm512_maskz_loadu_ps(65535, datPtr1+912+19627608*i6+35112*k6+456*h1+4*w2);
_mm512_mask_storeu_ps(arranged1+34344960+5724160*i6+143104*j2+256*k6, 65535, dat25);
__m512 dat26 = _mm512_maskz_loadu_ps(65535, datPtr1+2736+19627608*i6+35112*k6+456*h1+4*w2);
_mm512_mask_storeu_ps(arranged1+34345024+5724160*i6+143104*j2+256*k6, 65535, dat26);
__m512 dat27 = _mm512_maskz_loadu_ps(65535, datPtr1+4560+19627608*i6+35112*k6+456*h1+4*w2);
_mm512_mask_storeu_ps(arranged1+34345088+5724160*i6+143104*j2+256*k6, 65535, dat27);
__m512 dat28 = _mm512_maskz_loadu_ps(65535, datPtr1+6384+19627608*i6+35112*k6+456*h1+4*w2);
_mm512_mask_storeu_ps(arranged1+34345152+5724160*i6+143104*j2+256*k6, 65535, dat28);
__m512 dat29 = _mm512_maskz_loadu_ps(65535, datPtr1+1368+19627608*i6+35112*k6+456*h1+4*w2);
_mm512_mask_storeu_ps(arranged1+51517440+5724160*i6+143104*j2+256*k6, 65535, dat29);
__m512 dat30 = _mm512_maskz_loadu_ps(65535, datPtr1+3192+19627608*i6+35112*k6+456*h1+4*w2);
_mm512_mask_storeu_ps(arranged1+51517504+5724160*i6+143104*j2+256*k6, 65535, dat30);
__m512 dat31 = _mm512_maskz_loadu_ps(65535, datPtr1+5016+19627608*i6+35112*k6+456*h1+4*w2);
_mm512_mask_storeu_ps(arranged1+51517568+5724160*i6+143104*j2+256*k6, 65535, dat31);
__m512 dat32 = _mm512_maskz_loadu_ps(65535, datPtr1+6840+19627608*i6+35112*k6+456*h1+4*w2);
_mm512_mask_storeu_ps(arranged1+51517632+5724160*i6+143104*j2+256*k6, 65535, dat32);
}
if (j2 >= last1) return;
++j2;
}
rel1 = 7;
}
ptrdiff_t w3 = 112;
ptrdiff_t k7 = 32*s1;
ptrdiff_t kk3 = k7+(s1 < 16 ? 31 : 46);
for (; k7 <= kk3; ++k7) {
__m512 dat33 = _mm512_maskz_loadu_ps(15, datPtr1+0+19627608*i6+35112*k7+456*h1+4*w3);
_mm512_mask_storeu_ps(arranged1+0+5724160*i6+143104*j2+256*k7, 65535, dat33);
__m512 dat34 = _mm512_maskz_loadu_ps(15, datPtr1+1824+19627608*i6+35112*k7+456*h1+4*w3);
_mm512_mask_storeu_ps(arranged1+64+5724160*i6+143104*j2+256*k7, 65535, dat34);
__m512 dat35 = _mm512_maskz_loadu_ps(15, datPtr1+3648+19627608*i6+35112*k7+456*h1+4*w3);
_mm512_mask_storeu_ps(arranged1+128+5724160*i6+143104*j2+256*k7, 65535, dat35);
__m512 dat36 = _mm512_maskz_loadu_ps(15, datPtr1+5472+19627608*i6+35112*k7+456*h1+4*w3);
_mm512_mask_storeu_ps(arranged1+192+5724160*i6+143104*j2+256*k7, 65535, dat36);
__m512 dat37 = _mm512_maskz_loadu_ps(15, datPtr1+456+19627608*i6+35112*k7+456*h1+4*w3);
_mm512_mask_storeu_ps(arranged1+17172480+5724160*i6+143104*j2+256*k7, 65535, dat37);
__m512 dat38 = _mm512_maskz_loadu_ps(15, datPtr1+2280+19627608*i6+35112*k7+456*h1+4*w3);
_mm512_mask_storeu_ps(arranged1+17172544+5724160*i6+143104*j2+256*k7, 65535, dat38);
__m512 dat39 = _mm512_maskz_loadu_ps(15, datPtr1+4104+19627608*i6+35112*k7+456*h1+4*w3);
_mm512_mask_storeu_ps(arranged1+17172608+5724160*i6+143104*j2+256*k7, 65535, dat39);
__m512 dat40 = _mm512_maskz_loadu_ps(15, datPtr1+5928+19627608*i6+35112*k7+456*h1+4*w3);
_mm512_mask_storeu_ps(arranged1+17172672+5724160*i6+143104*j2+256*k7, 65535, dat40);
__m512 dat41 = _mm512_maskz_loadu_ps(15, datPtr1+912+19627608*i6+35112*k7+456*h1+4*w3);
_mm512_mask_storeu_ps(arranged1+34344960+5724160*i6+143104*j2+256*k7, 65535, dat41);
__m512 dat42 = _mm512_maskz_loadu_ps(15, datPtr1+2736+19627608*i6+35112*k7+456*h1+4*w3);
_mm512_mask_storeu_ps(arranged1+34345024+5724160*i6+143104*j2+256*k7, 65535, dat42);
__m512 dat43 = _mm512_maskz_loadu_ps(15, datPtr1+4560+19627608*i6+35112*k7+456*h1+4*w3);
_mm512_mask_storeu_ps(arranged1+34345088+5724160*i6+143104*j2+256*k7, 65535, dat43);
__m512 dat44 = _mm512_maskz_loadu_ps(15, datPtr1+6384+19627608*i6+35112*k7+456*h1+4*w3);
_mm512_mask_storeu_ps(arranged1+34345152+5724160*i6+143104*j2+256*k7, 65535, dat44);
__m512 dat45 = _mm512_maskz_loadu_ps(15, datPtr1+1368+19627608*i6+35112*k7+456*h1+4*w3);
_mm512_mask_storeu_ps(arranged1+51517440+5724160*i6+143104*j2+256*k7, 65535, dat45);
__m512 dat46 = _mm512_maskz_loadu_ps(15, datPtr1+3192+19627608*i6+35112*k7+456*h1+4*w3);
_mm512_mask_storeu_ps(arranged1+51517504+5724160*i6+143104*j2+256*k7, 65535, dat46);
__m512 dat47 = _mm512_maskz_loadu_ps(15, datPtr1+5016+19627608*i6+35112*k7+456*h1+4*w3);
_mm512_mask_storeu_ps(arranged1+51517568+5724160*i6+143104*j2+256*k7, 65535, dat47);
__m512 dat48 = _mm512_maskz_loadu_ps(15, datPtr1+6840+19627608*i6+35112*k7+456*h1+4*w3);
_mm512_mask_storeu_ps(arranged1+51517632+5724160*i6+143104*j2+256*k7, 65535, dat48);
}
if (j2 >= last1) return;
++j2;
}
j2 = 32;
}
ptrdiff_t rel2 = j2-32;
ptrdiff_t h2 = 64;
if (rel2 < 1) {
ptrdiff_t w4 = 0;
ptrdiff_t k8 = 32*s1;
ptrdiff_t kk4 = k8+(s1 < 16 ? 31 : 46);
for (; k8 <= kk4; ++k8) {
__m512 dat49 = _mm512_maskz_loadu_ps(65532, datPtr1+0+19627608*i6+35112*k8+456*h2+4*w4);
_mm512_mask_storeu_ps(arranged1+0+5724160*i6+143104*j2+256*k8, 65535, dat49);
__m512 dat50 = _mm512_maskz_loadu_ps(65532, datPtr1+1824+19627608*i6+35112*k8+456*h2+4*w4);
_mm512_mask_storeu_ps(arranged1+64+5724160*i6+143104*j2+256*k8, 65535, dat50);
__m512 dat51 = _mm512_maskz_loadu_ps(65532, datPtr1+3648+19627608*i6+35112*k8+456*h2+4*w4);
_mm512_mask_storeu_ps(arranged1+128+5724160*i6+143104*j2+256*k8, 65535, dat51);
__m512 dat52 = _mm512_maskz_loadu_ps(65532, datPtr1+5472+19627608*i6+35112*k8+456*h2+4*w4);
_mm512_mask_storeu_ps(arranged1+192+5724160*i6+143104*j2+256*k8, 65535, dat52);
__m512 dat53 = _mm512_maskz_loadu_ps(65532, datPtr1+456+19627608*i6+35112*k8+456*h2+4*w4);
_mm512_mask_storeu_ps(arranged1+17172480+5724160*i6+143104*j2+256*k8, 65535, dat53);
__m512 dat54 = _mm512_maskz_loadu_ps(65532, datPtr1+2280+19627608*i6+35112*k8+456*h2+4*w4);
_mm512_mask_storeu_ps(arranged1+17172544+5724160*i6+143104*j2+256*k8, 65535, dat54);
__m512 dat55 = _mm512_maskz_loadu_ps(65532, datPtr1+4104+19627608*i6+35112*k8+456*h2+4*w4);
_mm512_mask_storeu_ps(arranged1+17172608+5724160*i6+143104*j2+256*k8, 65535, dat55);
_mm512_mask_storeu_ps(arranged1+17172672+5724160*i6+143104*j2+256*k8, 65535, _mm512_setzero_ps());
__m512 dat56 = _mm512_maskz_loadu_ps(65532, datPtr1+912+19627608*i6+35112*k8+456*h2+4*w4);
_mm512_mask_storeu_ps(arranged1+34344960+5724160*i6+143104*j2+256*k8, 65535, dat56);
__m512 dat57 = _mm512_maskz_loadu_ps(65532, datPtr1+2736+19627608*i6+35112*k8+456*h2+4*w4);
_mm512_mask_storeu_ps(arranged1+34345024+5724160*i6+143104*j2+256*k8, 65535, dat57);
__m512 dat58 = _mm512_maskz_loadu_ps(65532, datPtr1+4560+19627608*i6+35112*k8+456*h2+4*w4);
_mm512_mask_storeu_ps(arranged1+34345088+5724160*i6+143104*j2+256*k8, 65535, dat58);
_mm512_mask_storeu_ps(arranged1+34345152+5724160*i6+143104*j2+256*k8, 65535, _mm512_setzero_ps());
__m512 dat59 = _mm512_maskz_loadu_ps(65532, datPtr1+1368+19627608*i6+35112*k8+456*h2+4*w4);
_mm512_mask_storeu_ps(arranged1+51517440+5724160*i6+143104*j2+256*k8, 65535, dat59);
__m512 dat60 = _mm512_maskz_loadu_ps(65532, datPtr1+3192+19627608*i6+35112*k8+456*h2+4*w4);
_mm512_mask_storeu_ps(arranged1+51517504+5724160*i6+143104*j2+256*k8, 65535, dat60);
__m512 dat61 = _mm512_maskz_loadu_ps(65532, datPtr1+5016+19627608*i6+35112*k8+456*h2+4*w4);
_mm512_mask_storeu_ps(arranged1+51517568+5724160*i6+143104*j2+256*k8, 65535, dat61);
_mm512_mask_storeu_ps(arranged1+51517632+5724160*i6+143104*j2+256*k8, 65535, _mm512_setzero_ps());
}
if (j2 >= last1) return;
++j2;
rel2 = 1;
}
if (rel2 < 7) {
ptrdiff_t w5 = 0+16*rel2;
ptrdiff_t jj3 = 6-rel2+j2;
for (; j2 <= jj3; w5 += 16) {
ptrdiff_t k9 = 32*s1;
ptrdiff_t kk5 = k9+(s1 < 16 ? 31 : 46);
for (; k9 <= kk5; ++k9) {
__m512 dat62 = _mm512_maskz_loadu_ps(65535, datPtr1+0+19627608*i6+35112*k9+456*h2+4*w5);
_mm512_mask_storeu_ps(arranged1+0+5724160*i6+143104*j2+256*k9, 65535, dat62);
__m512 dat63 = _mm512_maskz_loadu_ps(65535, datPtr1+1824+19627608*i6+35112*k9+456*h2+4*w5);
_mm512_mask_storeu_ps(arranged1+64+5724160*i6+143104*j2+256*k9, 65535, dat63);
__m512 dat64 = _mm512_maskz_loadu_ps(65535, datPtr1+3648+19627608*i6+35112*k9+456*h2+4*w5);
_mm512_mask_storeu_ps(arranged1+128+5724160*i6+143104*j2+256*k9, 65535, dat64);
__m512 dat65 = _mm512_maskz_loadu_ps(65535, datPtr1+5472+19627608*i6+35112*k9+456*h2+4*w5);
_mm512_mask_storeu_ps(arranged1+192+5724160*i6+143104*j2+256*k9, 65535, dat65);
__m512 dat66 = _mm512_maskz_loadu_ps(65535, datPtr1+456+19627608*i6+35112*k9+456*h2+4*w5);
_mm512_mask_storeu_ps(arranged1+17172480+5724160*i6+143104*j2+256*k9, 65535, dat66);
__m512 dat67 = _mm512_maskz_loadu_ps(65535, datPtr1+2280+19627608*i6+35112*k9+456*h2+4*w5);
_mm512_mask_storeu_ps(arranged1+17172544+5724160*i6+143104*j2+256*k9, 65535, dat67);
__m512 dat68 = _mm512_maskz_loadu_ps(65535, datPtr1+4104+19627608*i6+35112*k9+456*h2+4*w5);
_mm512_mask_storeu_ps(arranged1+17172608+5724160*i6+143104*j2+256*k9, 65535, dat68);
_mm512_mask_storeu_ps(arranged1+17172672+5724160*i6+143104*j2+256*k9, 65535, _mm512_setzero_ps());
__m512 dat69 = _mm512_maskz_loadu_ps(65535, datPtr1+912+19627608*i6+35112*k9+456*h2+4*w5);
_mm512_mask_storeu_ps(arranged1+34344960+5724160*i6+143104*j2+256*k9, 65535, dat69);
__m512 dat70 = _mm512_maskz_loadu_ps(65535, datPtr1+2736+19627608*i6+35112*k9+456*h2+4*w5);
_mm512_mask_storeu_ps(arranged1+34345024+5724160*i6+143104*j2+256*k9, 65535, dat70);
__m512 dat71 = _mm512_maskz_loadu_ps(65535, datPtr1+4560+19627608*i6+35112*k9+456*h2+4*w5);
_mm512_mask_storeu_ps(arranged1+34345088+5724160*i6+143104*j2+256*k9, 65535, dat71);
_mm512_mask_storeu_ps(arranged1+34345152+5724160*i6+143104*j2+256*k9, 65535, _mm512_setzero_ps());
__m512 dat72 = _mm512_maskz_loadu_ps(65535, datPtr1+1368+19627608*i6+35112*k9+456*h2+4*w5);
_mm512_mask_storeu_ps(arranged1+51517440+5724160*i6+143104*j2+256*k9, 65535, dat72);
__m512 dat73 = _mm512_maskz_loadu_ps(65535, datPtr1+3192+19627608*i6+35112*k9+456*h2+4*w5);
_mm512_mask_storeu_ps(arranged1+51517504+5724160*i6+143104*j2+256*k9, 65535, dat73);
__m512 dat74 = _mm512_maskz_loadu_ps(65535, datPtr1+5016+19627608*i6+35112*k9+456*h2+4*w5);
_mm512_mask_storeu_ps(arranged1+51517568+5724160*i6+143104*j2+256*k9, 65535, dat74);
_mm512_mask_storeu_ps(arranged1+51517632+5724160*i6+143104*j2+256*k9, 65535, _mm512_setzero_ps());
}
if (j2 >= last1) return;
++j2;
}
rel2 = 7;
}
ptrdiff_t w6 = 112;
ptrdiff_t k10 = 32*s1;
ptrdiff_t kk6 = k10+(s1 < 16 ? 31 : 46);
for (; k10 <= kk6; ++k10) {
__m512 dat75 = _mm512_maskz_loadu_ps(15, datPtr1+0+19627608*i6+35112*k10+456*h2+4*w6);
_mm512_mask_storeu_ps(arranged1+0+5724160*i6+143104*j2+256*k10, 65535, dat75);
__m512 dat76 = _mm512_maskz_loadu_ps(15, datPtr1+1824+19627608*i6+35112*k10+456*h2+4*w6);
_mm512_mask_storeu_ps(arranged1+64+5724160*i6+143104*j2+256*k10, 65535, dat76);
__m512 dat77 = _mm512_maskz_loadu_ps(15, datPtr1+3648+19627608*i6+35112*k10+456*h2+4*w6);
_mm512_mask_storeu_ps(arranged1+128+5724160*i6+143104*j2+256*k10, 65535, dat77);
__m512 dat78 = _mm512_maskz_loadu_ps(15, datPtr1+5472+19627608*i6+35112*k10+456*h2+4*w6);
_mm512_mask_storeu_ps(arranged1+192+5724160*i6+143104*j2+256*k10, 65535, dat78);
__m512 dat79 = _mm512_maskz_loadu_ps(15, datPtr1+456+19627608*i6+35112*k10+456*h2+4*w6);
_mm512_mask_storeu_ps(arranged1+17172480+5724160*i6+143104*j2+256*k10, 65535, dat79);
__m512 dat80 = _mm512_maskz_loadu_ps(15, datPtr1+2280+19627608*i6+35112*k10+456*h2+4*w6);
_mm512_mask_storeu_ps(arranged1+17172544+5724160*i6+143104*j2+256*k10, 65535, dat80);
__m512 dat81 = _mm512_maskz_loadu_ps(15, datPtr1+4104+19627608*i6+35112*k10+456*h2+4*w6);
_mm512_mask_storeu_ps(arranged1+17172608+5724160*i6+143104*j2+256*k10, 65535, dat81);
_mm512_mask_storeu_ps(arranged1+17172672+5724160*i6+143104*j2+256*k10, 65535, _mm512_setzero_ps());
__m512 dat82 = _mm512_maskz_loadu_ps(15, datPtr1+912+19627608*i6+35112*k10+456*h2+4*w6);
_mm512_mask_storeu_ps(arranged1+34344960+5724160*i6+143104*j2+256*k10, 65535, dat82);
__m512 dat83 = _mm512_maskz_loadu_ps(15, datPtr1+2736+19627608*i6+35112*k10+456*h2+4*w6);
_mm512_mask_storeu_ps(arranged1+34345024+5724160*i6+143104*j2+256*k10, 65535, dat83);
__m512 dat84 = _mm512_maskz_loadu_ps(15, datPtr1+4560+19627608*i6+35112*k10+456*h2+4*w6);
_mm512_mask_storeu_ps(arranged1+34345088+5724160*i6+143104*j2+256*k10, 65535, dat84);
_mm512_mask_storeu_ps(arranged1+34345152+5724160*i6+143104*j2+256*k10, 65535, _mm512_setzero_ps());
__m512 dat85 = _mm512_maskz_loadu_ps(15, datPtr1+1368+19627608*i6+35112*k10+456*h2+4*w6);
_mm512_mask_storeu_ps(arranged1+51517440+5724160*i6+143104*j2+256*k10, 65535, dat85);
__m512 dat86 = _mm512_maskz_loadu_ps(15, datPtr1+3192+19627608*i6+35112*k10+456*h2+4*w6);
_mm512_mask_storeu_ps(arranged1+51517504+5724160*i6+143104*j2+256*k10, 65535, dat86);
__m512 dat87 = _mm512_maskz_loadu_ps(15, datPtr1+5016+19627608*i6+35112*k10+456*h2+4*w6);
_mm512_mask_storeu_ps(arranged1+51517568+5724160*i6+143104*j2+256*k10, 65535, dat87);
_mm512_mask_storeu_ps(arranged1+51517632+5724160*i6+143104*j2+256*k10, 65535, _mm512_setzero_ps());
}
if (j2 >= last1) return;
++j2;
}

static void Example3LoomArrangeDats1(Example3ThreaderTeam1* team15, char** tensors3) {
Example3ThreaderTask1 task7;
task7.callee1 = Example3LoomArrangeDats1Callee1;
task7.any1 = tensors3;
task7.nd1 = 4;
task7.hull1[0] = 17;
task7.hull1[1] = 40;
task7.hull1[2] = 3;
task7.hull1[3] = 1;
Example3ThreaderDo1(team15, &task7);
}

static ptrdiff_t Example3LoomProduceSums1FieldTbl1[] = {
0, 6,
12, 6,
24, 6,
36, 6, 48
};

static ptrdiff_t Example3LoomProduceSums1NodeTbl1[] = {
0, 0, 1,
0, 1, 1,
0, 2, 1,
0, 3, 1,
0, 4, 1,
0, 5, 1,
1, 0, 0,
1, 1, 0,
1, 2, 0,
1, 3, 0,
1, 4, 0,
1, 5, 0,
0, 0, 0,
0, 1, 0,
0, 2, 0,
0, 3, 0,
0, 4, 0,
0, 5, 0,
1, 0, 0,
1, 1, 0,
1, 2, 0,
1, 3, 0,
1, 4, 0,
1, 5, 0,
0, 0, 0,
0, 1, 0,
0, 2, 0,
0, 3, 0,
0, 4, 0,
0, 5, 0,
1, 0, 0,
1, 1, 0,
1, 2, 0,
1, 3, 0,
1, 4, 0,
1, 5, 0,
0, 0, 0,
0, 1, 0,
0, 2, 0,
0, 3, 0,
0, 4, 0,
0, 5, 0,
1, 0, 0,
1, 1, 0,
1, 2, 0,
1, 3, 0,
1, 4, 0,
1, 5, 0
};

static void Example3LoomProduceSums1Callee1(Example3ThreaderTask1* task8, int64_t* pt9) {
void** tuple2 = task8->any1;
char** tensors6 = tuple2[0];
ptrdiff_t epoch1 = 0;
ptrdiff_t field1 = (ptrdiff_t)tuple2[2];
ptrdiff_t nodeFirst1 = (ptrdiff_t)tuple2[3];
ptrdiff_t group1 = pt9[3];
ptrdiff_t to2 = pt9[2];
ptrdiff_t nodeOff1 = pt9[1];
ptrdiff_t w7 = pt9[0];
ptrdiff_t node6 = nodeFirst1+nodeOff1;
ptrdiff_t lift1 = Example3LoomProduceSums1NodeTbl1[0+3*node6];
ptrdiff_t pile1 = Example3LoomProduceSums1NodeTbl1[1+3*node6];
ptrdiff_t base1 = Example3LoomProduceSums1NodeTbl1[2+3*node6];
ptrdiff_t from1 = to2+(size_t)lift1/4*8;
if (from1 >= 40) return;
char*restrict biasPtr2 = tensors6[0]+9480*epoch1+3160*group1;
char*restrict wtPtr2 = tensors6[0]+9480+379958400*epoch1+84789120*group1+1766440*node6;
char*restrict datPtr2 = tensors6[1]+102604800*epoch1+17172480*field1+5724160*group1+143104*from1;
char*restrict sumPtr1 = tensors6[2]+48537600*group1+1213440*to2+202240*pile1;
switch ((size_t)lift1%4*2+(to2 >= 8)) {
default: {
if (epoch1|node6) {
if (!epoch1 && base1) {
ptrdiff_t i7 = 1*w7;
ptrdiff_t ii1 = i7+0;
for (; i7 != 131; ++i7) {
__m512 sum2 = _mm512_setzero_ps();
__m512 sum6 = _mm512_setzero_ps();
__m512 sum10 = _mm512_setzero_ps();
__m512 sum14 = _mm512_setzero_ps();
__m512 sum18 = _mm512_setzero_ps();
__m512 sum22 = _mm512_setzero_ps();
(void)biasPtr2;
__m512 sum3 = sum2;
__m512 sum4 = sum2;
__m512 sum5 = sum2;
__m512 sum7 = sum6;
__m512 sum8 = sum6;
__m512 sum9 = sum6;
__m512 sum11 = sum10;
__m512 sum12 = sum10;
__m512 sum13 = sum10;
__m512 sum15 = sum14;
__m512 sum16 = sum14;
__m512 sum17 = sum14;
__m512 sum19 = sum18;
__m512 sum20 = sum18;
__m512 sum21 = sum18;
__m512 sum23 = sum22;
__m512 sum24 = sum22;
__m512 sum25 = sum22;
for (ptrdiff_t j3 = 0; j3 < 559; ++j3) {
__m512 dat88 = _mm512_loadu_ps(datPtr2+0+256*j3);
__m512 dat89 = _mm512_loadu_ps(datPtr2+64+256*j3);
__m512 dat90 = _mm512_loadu_ps(datPtr2+128+256*j3);
__m512 dat91 = _mm512_loadu_ps(datPtr2+192+256*j3);
__m512 wt193 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i7+24*j3));
sum2 = _mm512_fmadd_ps(wt193, dat88, sum2);
sum3 = _mm512_fmadd_ps(wt193, dat89, sum3);
sum4 = _mm512_fmadd_ps(wt193, dat90, sum4);
sum5 = _mm512_fmadd_ps(wt193, dat91, sum5);
__m512 wt194 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i7+24*j3));
sum6 = _mm512_fmadd_ps(wt194, dat88, sum6);
sum7 = _mm512_fmadd_ps(wt194, dat89, sum7);
sum8 = _mm512_fmadd_ps(wt194, dat90, sum8);
sum9 = _mm512_fmadd_ps(wt194, dat91, sum9);
__m512 wt195 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i7+24*j3));
sum10 = _mm512_fmadd_ps(wt195, dat88, sum10);
sum11 = _mm512_fmadd_ps(wt195, dat89, sum11);
sum12 = _mm512_fmadd_ps(wt195, dat90, sum12);
sum13 = _mm512_fmadd_ps(wt195, dat91, sum13);
__m512 wt196 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i7+24*j3));
sum14 = _mm512_fmadd_ps(wt196, dat88, sum14);
sum15 = _mm512_fmadd_ps(wt196, dat89, sum15);
sum16 = _mm512_fmadd_ps(wt196, dat90, sum16);
sum17 = _mm512_fmadd_ps(wt196, dat91, sum17);
__m512 wt197 = _mm512_set1_ps(*(float*)(wtPtr2+16+13416*i7+24*j3));
sum18 = _mm512_fmadd_ps(wt197, dat88, sum18);
sum19 = _mm512_fmadd_ps(wt197, dat89, sum19);
sum20 = _mm512_fmadd_ps(wt197, dat90, sum20);
sum21 = _mm512_fmadd_ps(wt197, dat91, sum21);
__m512 wt198 = _mm512_set1_ps(*(float*)(wtPtr2+20+13416*i7+24*j3));
sum22 = _mm512_fmadd_ps(wt198, dat88, sum22);
sum23 = _mm512_fmadd_ps(wt198, dat89, sum23);
sum24 = _mm512_fmadd_ps(wt198, dat90, sum24);
sum25 = _mm512_fmadd_ps(wt198, dat91, sum25);
}
_mm512_storeu_ps(sumPtr1+0+1536*i7, sum2);
_mm512_storeu_ps(sumPtr1+64+1536*i7, sum3);
_mm512_storeu_ps(sumPtr1+128+1536*i7, sum4);
_mm512_storeu_ps(sumPtr1+192+1536*i7, sum5);
_mm512_storeu_ps(sumPtr1+256+1536*i7, sum6);
_mm512_storeu_ps(sumPtr1+320+1536*i7, sum7);
_mm512_storeu_ps(sumPtr1+384+1536*i7, sum8);
_mm512_storeu_ps(sumPtr1+448+1536*i7, sum9);
_mm512_storeu_ps(sumPtr1+512+1536*i7, sum10);
_mm512_storeu_ps(sumPtr1+576+1536*i7, sum11);
_mm512_storeu_ps(sumPtr1+640+1536*i7, sum12);
_mm512_storeu_ps(sumPtr1+704+1536*i7, sum13);
_mm512_storeu_ps(sumPtr1+768+1536*i7, sum14);
_mm512_storeu_ps(sumPtr1+832+1536*i7, sum15);
_mm512_storeu_ps(sumPtr1+896+1536*i7, sum16);
_mm512_storeu_ps(sumPtr1+960+1536*i7, sum17);
_mm512_storeu_ps(sumPtr1+1024+1536*i7, sum18);
_mm512_storeu_ps(sumPtr1+1088+1536*i7, sum19);
_mm512_storeu_ps(sumPtr1+1152+1536*i7, sum20);
_mm512_storeu_ps(sumPtr1+1216+1536*i7, sum21);
_mm512_storeu_ps(sumPtr1+1280+1536*i7, sum22);
_mm512_storeu_ps(sumPtr1+1344+1536*i7, sum23);
_mm512_storeu_ps(sumPtr1+1408+1536*i7, sum24);
_mm512_storeu_ps(sumPtr1+1472+1536*i7, sum25);
if (i7 >= ii1) return;
}
__m512 sum26 = _mm512_setzero_ps();
__m512 sum30 = _mm512_setzero_ps();
__m512 sum34 = _mm512_setzero_ps();
__m512 sum38 = _mm512_setzero_ps();
(void)biasPtr2;
__m512 sum27 = sum26;
__m512 sum28 = sum26;
__m512 sum29 = sum26;
__m512 sum31 = sum30;
__m512 sum32 = sum30;
__m512 sum33 = sum30;
__m512 sum35 = sum34;
__m512 sum36 = sum34;
__m512 sum37 = sum34;
__m512 sum39 = sum38;
__m512 sum40 = sum38;
__m512 sum41 = sum38;
for (ptrdiff_t j4 = 0; j4 < 559; ++j4) {
__m512 dat92 = _mm512_loadu_ps(datPtr2+0+256*j4);
__m512 dat93 = _mm512_loadu_ps(datPtr2+64+256*j4);
__m512 dat94 = _mm512_loadu_ps(datPtr2+128+256*j4);
__m512 dat95 = _mm512_loadu_ps(datPtr2+192+256*j4);
__m512 wt199 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i7+16*j4));
sum26 = _mm512_fmadd_ps(wt199, dat92, sum26);
sum27 = _mm512_fmadd_ps(wt199, dat93, sum27);
sum28 = _mm512_fmadd_ps(wt199, dat94, sum28);
sum29 = _mm512_fmadd_ps(wt199, dat95, sum29);
__m512 wt200 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i7+16*j4));
sum30 = _mm512_fmadd_ps(wt200, dat92, sum30);
sum31 = _mm512_fmadd_ps(wt200, dat93, sum31);
sum32 = _mm512_fmadd_ps(wt200, dat94, sum32);
sum33 = _mm512_fmadd_ps(wt200, dat95, sum33);
__m512 wt201 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i7+16*j4));
sum34 = _mm512_fmadd_ps(wt201, dat92, sum34);
sum35 = _mm512_fmadd_ps(wt201, dat93, sum35);
sum36 = _mm512_fmadd_ps(wt201, dat94, sum36);
sum37 = _mm512_fmadd_ps(wt201, dat95, sum37);
__m512 wt202 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i7+16*j4));
sum38 = _mm512_fmadd_ps(wt202, dat92, sum38);
sum39 = _mm512_fmadd_ps(wt202, dat93, sum39);
sum40 = _mm512_fmadd_ps(wt202, dat94, sum40);
sum41 = _mm512_fmadd_ps(wt202, dat95, sum41);
}
_mm512_storeu_ps(sumPtr1+0+1536*i7, sum26);
_mm512_storeu_ps(sumPtr1+64+1536*i7, sum27);
_mm512_storeu_ps(sumPtr1+128+1536*i7, sum28);
_mm512_storeu_ps(sumPtr1+192+1536*i7, sum29);
_mm512_storeu_ps(sumPtr1+256+1536*i7, sum30);
_mm512_storeu_ps(sumPtr1+320+1536*i7, sum31);
_mm512_storeu_ps(sumPtr1+384+1536*i7, sum32);
_mm512_storeu_ps(sumPtr1+448+1536*i7, sum33);
_mm512_storeu_ps(sumPtr1+512+1536*i7, sum34);
_mm512_storeu_ps(sumPtr1+576+1536*i7, sum35);
_mm512_storeu_ps(sumPtr1+640+1536*i7, sum36);
_mm512_storeu_ps(sumPtr1+704+1536*i7, sum37);
_mm512_storeu_ps(sumPtr1+768+1536*i7, sum38);
_mm512_storeu_ps(sumPtr1+832+1536*i7, sum39);
_mm512_storeu_ps(sumPtr1+896+1536*i7, sum40);
_mm512_storeu_ps(sumPtr1+960+1536*i7, sum41);
return;
}
ptrdiff_t i8 = 1*w7;
ptrdiff_t ii2 = i8+0;
for (; i8 != 131; ++i8) {
__m512 sum42 = _mm512_setzero_ps();
__m512 sum46 = _mm512_setzero_ps();
__m512 sum50 = _mm512_setzero_ps();
__m512 sum54 = _mm512_setzero_ps();
__m512 sum58 = _mm512_setzero_ps();
__m512 sum62 = _mm512_setzero_ps();
(void)biasPtr2;
__m512 sum43 = sum42;
__m512 sum44 = sum42;
__m512 sum45 = sum42;
__m512 sum47 = sum46;
__m512 sum48 = sum46;
__m512 sum49 = sum46;
__m512 sum51 = sum50;
__m512 sum52 = sum50;
__m512 sum53 = sum50;
__m512 sum55 = sum54;
__m512 sum56 = sum54;
__m512 sum57 = sum54;
__m512 sum59 = sum58;
__m512 sum60 = sum58;
__m512 sum61 = sum58;
__m512 sum63 = sum62;
__m512 sum64 = sum62;
__m512 sum65 = sum62;
for (ptrdiff_t j5 = 0; j5 < 559; ++j5) {
__m512 dat96 = _mm512_loadu_ps(datPtr2+0+256*j5);
__m512 dat97 = _mm512_loadu_ps(datPtr2+64+256*j5);
__m512 dat98 = _mm512_loadu_ps(datPtr2+128+256*j5);
__m512 dat99 = _mm512_loadu_ps(datPtr2+192+256*j5);
__m512 wt203 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i8+24*j5));
sum42 = _mm512_fmadd_ps(wt203, dat96, sum42);
sum43 = _mm512_fmadd_ps(wt203, dat97, sum43);
sum44 = _mm512_fmadd_ps(wt203, dat98, sum44);
sum45 = _mm512_fmadd_ps(wt203, dat99, sum45);
__m512 wt204 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i8+24*j5));
sum46 = _mm512_fmadd_ps(wt204, dat96, sum46);
sum47 = _mm512_fmadd_ps(wt204, dat97, sum47);
sum48 = _mm512_fmadd_ps(wt204, dat98, sum48);
sum49 = _mm512_fmadd_ps(wt204, dat99, sum49);
__m512 wt205 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i8+24*j5));
sum50 = _mm512_fmadd_ps(wt205, dat96, sum50);
sum51 = _mm512_fmadd_ps(wt205, dat97, sum51);
sum52 = _mm512_fmadd_ps(wt205, dat98, sum52);
sum53 = _mm512_fmadd_ps(wt205, dat99, sum53);
__m512 wt206 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i8+24*j5));
sum54 = _mm512_fmadd_ps(wt206, dat96, sum54);
sum55 = _mm512_fmadd_ps(wt206, dat97, sum55);
sum56 = _mm512_fmadd_ps(wt206, dat98, sum56);
sum57 = _mm512_fmadd_ps(wt206, dat99, sum57);
__m512 wt207 = _mm512_set1_ps(*(float*)(wtPtr2+16+13416*i8+24*j5));
sum58 = _mm512_fmadd_ps(wt207, dat96, sum58);
sum59 = _mm512_fmadd_ps(wt207, dat97, sum59);
sum60 = _mm512_fmadd_ps(wt207, dat98, sum60);
sum61 = _mm512_fmadd_ps(wt207, dat99, sum61);
__m512 wt208 = _mm512_set1_ps(*(float*)(wtPtr2+20+13416*i8+24*j5));
sum62 = _mm512_fmadd_ps(wt208, dat96, sum62);
sum63 = _mm512_fmadd_ps(wt208, dat97, sum63);
sum64 = _mm512_fmadd_ps(wt208, dat98, sum64);
sum65 = _mm512_fmadd_ps(wt208, dat99, sum65);
}
_mm512_storeu_ps(sumPtr1+0+1536*i8, _mm512_add_ps(sum42, _mm512_loadu_ps(sumPtr1+0+1536*i8)));
_mm512_storeu_ps(sumPtr1+64+1536*i8, _mm512_add_ps(sum43, _mm512_loadu_ps(sumPtr1+64+1536*i8)));
_mm512_storeu_ps(sumPtr1+128+1536*i8, _mm512_add_ps(sum44, _mm512_loadu_ps(sumPtr1+128+1536*i8)));
_mm512_storeu_ps(sumPtr1+192+1536*i8, _mm512_add_ps(sum45, _mm512_loadu_ps(sumPtr1+192+1536*i8)));
_mm512_storeu_ps(sumPtr1+256+1536*i8, _mm512_add_ps(sum46, _mm512_loadu_ps(sumPtr1+256+1536*i8)));
_mm512_storeu_ps(sumPtr1+320+1536*i8, _mm512_add_ps(sum47, _mm512_loadu_ps(sumPtr1+320+1536*i8)));
_mm512_storeu_ps(sumPtr1+384+1536*i8, _mm512_add_ps(sum48, _mm512_loadu_ps(sumPtr1+384+1536*i8)));
_mm512_storeu_ps(sumPtr1+448+1536*i8, _mm512_add_ps(sum49, _mm512_loadu_ps(sumPtr1+448+1536*i8)));
_mm512_storeu_ps(sumPtr1+512+1536*i8, _mm512_add_ps(sum50, _mm512_loadu_ps(sumPtr1+512+1536*i8)));
_mm512_storeu_ps(sumPtr1+576+1536*i8, _mm512_add_ps(sum51, _mm512_loadu_ps(sumPtr1+576+1536*i8)));
_mm512_storeu_ps(sumPtr1+640+1536*i8, _mm512_add_ps(sum52, _mm512_loadu_ps(sumPtr1+640+1536*i8)));
_mm512_storeu_ps(sumPtr1+704+1536*i8, _mm512_add_ps(sum53, _mm512_loadu_ps(sumPtr1+704+1536*i8)));
_mm512_storeu_ps(sumPtr1+768+1536*i8, _mm512_add_ps(sum54, _mm512_loadu_ps(sumPtr1+768+1536*i8)));
_mm512_storeu_ps(sumPtr1+832+1536*i8, _mm512_add_ps(sum55, _mm512_loadu_ps(sumPtr1+832+1536*i8)));
_mm512_storeu_ps(sumPtr1+896+1536*i8, _mm512_add_ps(sum56, _mm512_loadu_ps(sumPtr1+896+1536*i8)));
_mm512_storeu_ps(sumPtr1+960+1536*i8, _mm512_add_ps(sum57, _mm512_loadu_ps(sumPtr1+960+1536*i8)));
_mm512_storeu_ps(sumPtr1+1024+1536*i8, _mm512_add_ps(sum58, _mm512_loadu_ps(sumPtr1+1024+1536*i8)));
_mm512_storeu_ps(sumPtr1+1088+1536*i8, _mm512_add_ps(sum59, _mm512_loadu_ps(sumPtr1+1088+1536*i8)));
_mm512_storeu_ps(sumPtr1+1152+1536*i8, _mm512_add_ps(sum60, _mm512_loadu_ps(sumPtr1+1152+1536*i8)));
_mm512_storeu_ps(sumPtr1+1216+1536*i8, _mm512_add_ps(sum61, _mm512_loadu_ps(sumPtr1+1216+1536*i8)));
_mm512_storeu_ps(sumPtr1+1280+1536*i8, _mm512_add_ps(sum62, _mm512_loadu_ps(sumPtr1+1280+1536*i8)));
_mm512_storeu_ps(sumPtr1+1344+1536*i8, _mm512_add_ps(sum63, _mm512_loadu_ps(sumPtr1+1344+1536*i8)));
_mm512_storeu_ps(sumPtr1+1408+1536*i8, _mm512_add_ps(sum64, _mm512_loadu_ps(sumPtr1+1408+1536*i8)));
_mm512_storeu_ps(sumPtr1+1472+1536*i8, _mm512_add_ps(sum65, _mm512_loadu_ps(sumPtr1+1472+1536*i8)));
if (i8 >= ii2) return;
}
__m512 sum66 = _mm512_setzero_ps();
__m512 sum70 = _mm512_setzero_ps();
__m512 sum74 = _mm512_setzero_ps();
__m512 sum78 = _mm512_setzero_ps();
(void)biasPtr2;
__m512 sum67 = sum66;
__m512 sum68 = sum66;
__m512 sum69 = sum66;
__m512 sum71 = sum70;
__m512 sum72 = sum70;
__m512 sum73 = sum70;
__m512 sum75 = sum74;
__m512 sum76 = sum74;
__m512 sum77 = sum74;
__m512 sum79 = sum78;
__m512 sum80 = sum78;
__m512 sum81 = sum78;
for (ptrdiff_t j6 = 0; j6 < 559; ++j6) {
__m512 dat100 = _mm512_loadu_ps(datPtr2+0+256*j6);
__m512 dat101 = _mm512_loadu_ps(datPtr2+64+256*j6);
__m512 dat102 = _mm512_loadu_ps(datPtr2+128+256*j6);
__m512 dat103 = _mm512_loadu_ps(datPtr2+192+256*j6);
__m512 wt209 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i8+16*j6));
sum66 = _mm512_fmadd_ps(wt209, dat100, sum66);
sum67 = _mm512_fmadd_ps(wt209, dat101, sum67);
sum68 = _mm512_fmadd_ps(wt209, dat102, sum68);
sum69 = _mm512_fmadd_ps(wt209, dat103, sum69);
__m512 wt210 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i8+16*j6));
sum70 = _mm512_fmadd_ps(wt210, dat100, sum70);
sum71 = _mm512_fmadd_ps(wt210, dat101, sum71);
sum72 = _mm512_fmadd_ps(wt210, dat102, sum72);
sum73 = _mm512_fmadd_ps(wt210, dat103, sum73);
__m512 wt211 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i8+16*j6));
sum74 = _mm512_fmadd_ps(wt211, dat100, sum74);
sum75 = _mm512_fmadd_ps(wt211, dat101, sum75);
sum76 = _mm512_fmadd_ps(wt211, dat102, sum76);
sum77 = _mm512_fmadd_ps(wt211, dat103, sum77);
__m512 wt212 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i8+16*j6));
sum78 = _mm512_fmadd_ps(wt212, dat100, sum78);
sum79 = _mm512_fmadd_ps(wt212, dat101, sum79);
sum80 = _mm512_fmadd_ps(wt212, dat102, sum80);
sum81 = _mm512_fmadd_ps(wt212, dat103, sum81);
}
_mm512_storeu_ps(sumPtr1+0+1536*i8, _mm512_add_ps(sum66, _mm512_loadu_ps(sumPtr1+0+1536*i8)));
_mm512_storeu_ps(sumPtr1+64+1536*i8, _mm512_add_ps(sum67, _mm512_loadu_ps(sumPtr1+64+1536*i8)));
_mm512_storeu_ps(sumPtr1+128+1536*i8, _mm512_add_ps(sum68, _mm512_loadu_ps(sumPtr1+128+1536*i8)));
_mm512_storeu_ps(sumPtr1+192+1536*i8, _mm512_add_ps(sum69, _mm512_loadu_ps(sumPtr1+192+1536*i8)));
_mm512_storeu_ps(sumPtr1+256+1536*i8, _mm512_add_ps(sum70, _mm512_loadu_ps(sumPtr1+256+1536*i8)));
_mm512_storeu_ps(sumPtr1+320+1536*i8, _mm512_add_ps(sum71, _mm512_loadu_ps(sumPtr1+320+1536*i8)));
_mm512_storeu_ps(sumPtr1+384+1536*i8, _mm512_add_ps(sum72, _mm512_loadu_ps(sumPtr1+384+1536*i8)));
_mm512_storeu_ps(sumPtr1+448+1536*i8, _mm512_add_ps(sum73, _mm512_loadu_ps(sumPtr1+448+1536*i8)));
_mm512_storeu_ps(sumPtr1+512+1536*i8, _mm512_add_ps(sum74, _mm512_loadu_ps(sumPtr1+512+1536*i8)));
_mm512_storeu_ps(sumPtr1+576+1536*i8, _mm512_add_ps(sum75, _mm512_loadu_ps(sumPtr1+576+1536*i8)));
_mm512_storeu_ps(sumPtr1+640+1536*i8, _mm512_add_ps(sum76, _mm512_loadu_ps(sumPtr1+640+1536*i8)));
_mm512_storeu_ps(sumPtr1+704+1536*i8, _mm512_add_ps(sum77, _mm512_loadu_ps(sumPtr1+704+1536*i8)));
_mm512_storeu_ps(sumPtr1+768+1536*i8, _mm512_add_ps(sum78, _mm512_loadu_ps(sumPtr1+768+1536*i8)));
_mm512_storeu_ps(sumPtr1+832+1536*i8, _mm512_add_ps(sum79, _mm512_loadu_ps(sumPtr1+832+1536*i8)));
_mm512_storeu_ps(sumPtr1+896+1536*i8, _mm512_add_ps(sum80, _mm512_loadu_ps(sumPtr1+896+1536*i8)));
_mm512_storeu_ps(sumPtr1+960+1536*i8, _mm512_add_ps(sum81, _mm512_loadu_ps(sumPtr1+960+1536*i8)));
return;
}
(void)base1;
ptrdiff_t i9 = 1*w7;
ptrdiff_t ii3 = i9+0;
for (; i9 != 131; ++i9) {
__m512 sum82 = _mm512_set1_ps(*(float*)(biasPtr2+0+24*i9));
__m512 sum86 = _mm512_set1_ps(*(float*)(biasPtr2+4+24*i9));
__m512 sum90 = _mm512_set1_ps(*(float*)(biasPtr2+8+24*i9));
__m512 sum94 = _mm512_set1_ps(*(float*)(biasPtr2+12+24*i9));
__m512 sum98 = _mm512_set1_ps(*(float*)(biasPtr2+16+24*i9));
__m512 sum102 = _mm512_set1_ps(*(float*)(biasPtr2+20+24*i9));
__m512 sum83 = sum82;
__m512 sum84 = sum82;
__m512 sum85 = sum82;
__m512 sum87 = sum86;
__m512 sum88 = sum86;
__m512 sum89 = sum86;
__m512 sum91 = sum90;
__m512 sum92 = sum90;
__m512 sum93 = sum90;
__m512 sum95 = sum94;
__m512 sum96 = sum94;
__m512 sum97 = sum94;
__m512 sum99 = sum98;
__m512 sum100 = sum98;
__m512 sum101 = sum98;
__m512 sum103 = sum102;
__m512 sum104 = sum102;
__m512 sum105 = sum102;
for (ptrdiff_t j7 = 0; j7 < 559; ++j7) {
__m512 dat104 = _mm512_loadu_ps(datPtr2+0+256*j7);
__m512 dat105 = _mm512_loadu_ps(datPtr2+64+256*j7);
__m512 dat106 = _mm512_loadu_ps(datPtr2+128+256*j7);
__m512 dat107 = _mm512_loadu_ps(datPtr2+192+256*j7);
__m512 wt213 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i9+24*j7));
sum82 = _mm512_fmadd_ps(wt213, dat104, sum82);
sum83 = _mm512_fmadd_ps(wt213, dat105, sum83);
sum84 = _mm512_fmadd_ps(wt213, dat106, sum84);
sum85 = _mm512_fmadd_ps(wt213, dat107, sum85);
__m512 wt214 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i9+24*j7));
sum86 = _mm512_fmadd_ps(wt214, dat104, sum86);
sum87 = _mm512_fmadd_ps(wt214, dat105, sum87);
sum88 = _mm512_fmadd_ps(wt214, dat106, sum88);
sum89 = _mm512_fmadd_ps(wt214, dat107, sum89);
__m512 wt215 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i9+24*j7));
sum90 = _mm512_fmadd_ps(wt215, dat104, sum90);
sum91 = _mm512_fmadd_ps(wt215, dat105, sum91);
sum92 = _mm512_fmadd_ps(wt215, dat106, sum92);
sum93 = _mm512_fmadd_ps(wt215, dat107, sum93);
__m512 wt216 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i9+24*j7));
sum94 = _mm512_fmadd_ps(wt216, dat104, sum94);
sum95 = _mm512_fmadd_ps(wt216, dat105, sum95);
sum96 = _mm512_fmadd_ps(wt216, dat106, sum96);
sum97 = _mm512_fmadd_ps(wt216, dat107, sum97);
__m512 wt217 = _mm512_set1_ps(*(float*)(wtPtr2+16+13416*i9+24*j7));
sum98 = _mm512_fmadd_ps(wt217, dat104, sum98);
sum99 = _mm512_fmadd_ps(wt217, dat105, sum99);
sum100 = _mm512_fmadd_ps(wt217, dat106, sum100);
sum101 = _mm512_fmadd_ps(wt217, dat107, sum101);
__m512 wt218 = _mm512_set1_ps(*(float*)(wtPtr2+20+13416*i9+24*j7));
sum102 = _mm512_fmadd_ps(wt218, dat104, sum102);
sum103 = _mm512_fmadd_ps(wt218, dat105, sum103);
sum104 = _mm512_fmadd_ps(wt218, dat106, sum104);
sum105 = _mm512_fmadd_ps(wt218, dat107, sum105);
}
_mm512_storeu_ps(sumPtr1+0+1536*i9, sum82);
_mm512_storeu_ps(sumPtr1+64+1536*i9, sum83);
_mm512_storeu_ps(sumPtr1+128+1536*i9, sum84);
_mm512_storeu_ps(sumPtr1+192+1536*i9, sum85);
_mm512_storeu_ps(sumPtr1+256+1536*i9, sum86);
_mm512_storeu_ps(sumPtr1+320+1536*i9, sum87);
_mm512_storeu_ps(sumPtr1+384+1536*i9, sum88);
_mm512_storeu_ps(sumPtr1+448+1536*i9, sum89);
_mm512_storeu_ps(sumPtr1+512+1536*i9, sum90);
_mm512_storeu_ps(sumPtr1+576+1536*i9, sum91);
_mm512_storeu_ps(sumPtr1+640+1536*i9, sum92);
_mm512_storeu_ps(sumPtr1+704+1536*i9, sum93);
_mm512_storeu_ps(sumPtr1+768+1536*i9, sum94);
_mm512_storeu_ps(sumPtr1+832+1536*i9, sum95);
_mm512_storeu_ps(sumPtr1+896+1536*i9, sum96);
_mm512_storeu_ps(sumPtr1+960+1536*i9, sum97);
_mm512_storeu_ps(sumPtr1+1024+1536*i9, sum98);
_mm512_storeu_ps(sumPtr1+1088+1536*i9, sum99);
_mm512_storeu_ps(sumPtr1+1152+1536*i9, sum100);
_mm512_storeu_ps(sumPtr1+1216+1536*i9, sum101);
_mm512_storeu_ps(sumPtr1+1280+1536*i9, sum102);
_mm512_storeu_ps(sumPtr1+1344+1536*i9, sum103);
_mm512_storeu_ps(sumPtr1+1408+1536*i9, sum104);
_mm512_storeu_ps(sumPtr1+1472+1536*i9, sum105);
if (i9 >= ii3) return;
}
__m512 sum106 = _mm512_set1_ps(*(float*)(biasPtr2+0+24*i9));
__m512 sum110 = _mm512_set1_ps(*(float*)(biasPtr2+4+24*i9));
__m512 sum114 = _mm512_set1_ps(*(float*)(biasPtr2+8+24*i9));
__m512 sum118 = _mm512_set1_ps(*(float*)(biasPtr2+12+24*i9));
__m512 sum107 = sum106;
__m512 sum108 = sum106;
__m512 sum109 = sum106;
__m512 sum111 = sum110;
__m512 sum112 = sum110;
__m512 sum113 = sum110;
__m512 sum115 = sum114;
__m512 sum116 = sum114;
__m512 sum117 = sum114;
__m512 sum119 = sum118;
__m512 sum120 = sum118;
__m512 sum121 = sum118;
for (ptrdiff_t j8 = 0; j8 < 559; ++j8) {
__m512 dat108 = _mm512_loadu_ps(datPtr2+0+256*j8);
__m512 dat109 = _mm512_loadu_ps(datPtr2+64+256*j8);
__m512 dat110 = _mm512_loadu_ps(datPtr2+128+256*j8);
__m512 dat111 = _mm512_loadu_ps(datPtr2+192+256*j8);
__m512 wt219 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i9+16*j8));
sum106 = _mm512_fmadd_ps(wt219, dat108, sum106);
sum107 = _mm512_fmadd_ps(wt219, dat109, sum107);
sum108 = _mm512_fmadd_ps(wt219, dat110, sum108);
sum109 = _mm512_fmadd_ps(wt219, dat111, sum109);
__m512 wt220 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i9+16*j8));
sum110 = _mm512_fmadd_ps(wt220, dat108, sum110);
sum111 = _mm512_fmadd_ps(wt220, dat109, sum111);
sum112 = _mm512_fmadd_ps(wt220, dat110, sum112);
sum113 = _mm512_fmadd_ps(wt220, dat111, sum113);
__m512 wt221 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i9+16*j8));
sum114 = _mm512_fmadd_ps(wt221, dat108, sum114);
sum115 = _mm512_fmadd_ps(wt221, dat109, sum115);
sum116 = _mm512_fmadd_ps(wt221, dat110, sum116);
sum117 = _mm512_fmadd_ps(wt221, dat111, sum117);
__m512 wt222 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i9+16*j8));
sum118 = _mm512_fmadd_ps(wt222, dat108, sum118);
sum119 = _mm512_fmadd_ps(wt222, dat109, sum119);
sum120 = _mm512_fmadd_ps(wt222, dat110, sum120);
sum121 = _mm512_fmadd_ps(wt222, dat111, sum121);
}
_mm512_storeu_ps(sumPtr1+0+1536*i9, sum106);
_mm512_storeu_ps(sumPtr1+64+1536*i9, sum107);
_mm512_storeu_ps(sumPtr1+128+1536*i9, sum108);
_mm512_storeu_ps(sumPtr1+192+1536*i9, sum109);
_mm512_storeu_ps(sumPtr1+256+1536*i9, sum110);
_mm512_storeu_ps(sumPtr1+320+1536*i9, sum111);
_mm512_storeu_ps(sumPtr1+384+1536*i9, sum112);
_mm512_storeu_ps(sumPtr1+448+1536*i9, sum113);
_mm512_storeu_ps(sumPtr1+512+1536*i9, sum114);
_mm512_storeu_ps(sumPtr1+576+1536*i9, sum115);
_mm512_storeu_ps(sumPtr1+640+1536*i9, sum116);
_mm512_storeu_ps(sumPtr1+704+1536*i9, sum117);
_mm512_storeu_ps(sumPtr1+768+1536*i9, sum118);
_mm512_storeu_ps(sumPtr1+832+1536*i9, sum119);
_mm512_storeu_ps(sumPtr1+896+1536*i9, sum120);
_mm512_storeu_ps(sumPtr1+960+1536*i9, sum121);
break;
}
case 2: {
if (epoch1|node6) {
if (!epoch1 && base1) {
ptrdiff_t i10 = 1*w7;
ptrdiff_t ii4 = i10+0;
for (; i10 != 131; ++i10) {
__m512 sum122 = _mm512_setzero_ps();
__m512 sum125 = _mm512_setzero_ps();
__m512 sum128 = _mm512_setzero_ps();
__m512 sum131 = _mm512_setzero_ps();
__m512 sum134 = _mm512_setzero_ps();
__m512 sum137 = _mm512_setzero_ps();
(void)biasPtr2;
__m512 sum123 = sum122;
__m512 sum124 = sum122;
__m512 sum126 = sum125;
__m512 sum127 = sum125;
__m512 sum129 = sum128;
__m512 sum130 = sum128;
__m512 sum132 = sum131;
__m512 sum133 = sum131;
__m512 sum135 = sum134;
__m512 sum136 = sum134;
__m512 sum138 = sum137;
__m512 sum139 = sum137;
for (ptrdiff_t j9 = 0; j9 < 559; ++j9) {
__m512 dat112 = _mm512_loadu_ps(datPtr2+64+256*j9);
__m512 dat113 = _mm512_loadu_ps(datPtr2+128+256*j9);
__m512 dat114 = _mm512_loadu_ps(datPtr2+192+256*j9);
__m512 wt223 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i10+24*j9));
sum122 = _mm512_fmadd_ps(wt223, dat112, sum122);
sum123 = _mm512_fmadd_ps(wt223, dat113, sum123);
sum124 = _mm512_fmadd_ps(wt223, dat114, sum124);
__m512 wt224 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i10+24*j9));
sum125 = _mm512_fmadd_ps(wt224, dat112, sum125);
sum126 = _mm512_fmadd_ps(wt224, dat113, sum126);
sum127 = _mm512_fmadd_ps(wt224, dat114, sum127);
__m512 wt225 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i10+24*j9));
sum128 = _mm512_fmadd_ps(wt225, dat112, sum128);
sum129 = _mm512_fmadd_ps(wt225, dat113, sum129);
sum130 = _mm512_fmadd_ps(wt225, dat114, sum130);
__m512 wt226 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i10+24*j9));
sum131 = _mm512_fmadd_ps(wt226, dat112, sum131);
sum132 = _mm512_fmadd_ps(wt226, dat113, sum132);
sum133 = _mm512_fmadd_ps(wt226, dat114, sum133);
__m512 wt227 = _mm512_set1_ps(*(float*)(wtPtr2+16+13416*i10+24*j9));
sum134 = _mm512_fmadd_ps(wt227, dat112, sum134);
sum135 = _mm512_fmadd_ps(wt227, dat113, sum135);
sum136 = _mm512_fmadd_ps(wt227, dat114, sum136);
__m512 wt228 = _mm512_set1_ps(*(float*)(wtPtr2+20+13416*i10+24*j9));
sum137 = _mm512_fmadd_ps(wt228, dat112, sum137);
sum138 = _mm512_fmadd_ps(wt228, dat113, sum138);
sum139 = _mm512_fmadd_ps(wt228, dat114, sum139);
}
_mm512_storeu_ps(sumPtr1+0+1536*i10, sum122);
_mm512_storeu_ps(sumPtr1+64+1536*i10, sum123);
_mm512_storeu_ps(sumPtr1+128+1536*i10, sum124);
_mm512_storeu_ps(sumPtr1+256+1536*i10, sum125);
_mm512_storeu_ps(sumPtr1+320+1536*i10, sum126);
_mm512_storeu_ps(sumPtr1+384+1536*i10, sum127);
_mm512_storeu_ps(sumPtr1+512+1536*i10, sum128);
_mm512_storeu_ps(sumPtr1+576+1536*i10, sum129);
_mm512_storeu_ps(sumPtr1+640+1536*i10, sum130);
_mm512_storeu_ps(sumPtr1+768+1536*i10, sum131);
_mm512_storeu_ps(sumPtr1+832+1536*i10, sum132);
_mm512_storeu_ps(sumPtr1+896+1536*i10, sum133);
_mm512_storeu_ps(sumPtr1+1024+1536*i10, sum134);
_mm512_storeu_ps(sumPtr1+1088+1536*i10, sum135);
_mm512_storeu_ps(sumPtr1+1152+1536*i10, sum136);
_mm512_storeu_ps(sumPtr1+1280+1536*i10, sum137);
_mm512_storeu_ps(sumPtr1+1344+1536*i10, sum138);
_mm512_storeu_ps(sumPtr1+1408+1536*i10, sum139);
if (i10 >= ii4) return;
}
__m512 sum140 = _mm512_setzero_ps();
__m512 sum143 = _mm512_setzero_ps();
__m512 sum146 = _mm512_setzero_ps();
__m512 sum149 = _mm512_setzero_ps();
(void)biasPtr2;
__m512 sum141 = sum140;
__m512 sum142 = sum140;
__m512 sum144 = sum143;
__m512 sum145 = sum143;
__m512 sum147 = sum146;
__m512 sum148 = sum146;
__m512 sum150 = sum149;
__m512 sum151 = sum149;
for (ptrdiff_t j10 = 0; j10 < 559; ++j10) {
__m512 dat115 = _mm512_loadu_ps(datPtr2+64+256*j10);
__m512 dat116 = _mm512_loadu_ps(datPtr2+128+256*j10);
__m512 dat117 = _mm512_loadu_ps(datPtr2+192+256*j10);
__m512 wt229 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i10+16*j10));
sum140 = _mm512_fmadd_ps(wt229, dat115, sum140);
sum141 = _mm512_fmadd_ps(wt229, dat116, sum141);
sum142 = _mm512_fmadd_ps(wt229, dat117, sum142);
__m512 wt230 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i10+16*j10));
sum143 = _mm512_fmadd_ps(wt230, dat115, sum143);
sum144 = _mm512_fmadd_ps(wt230, dat116, sum144);
sum145 = _mm512_fmadd_ps(wt230, dat117, sum145);
__m512 wt231 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i10+16*j10));
sum146 = _mm512_fmadd_ps(wt231, dat115, sum146);
sum147 = _mm512_fmadd_ps(wt231, dat116, sum147);
sum148 = _mm512_fmadd_ps(wt231, dat117, sum148);
__m512 wt232 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i10+16*j10));
sum149 = _mm512_fmadd_ps(wt232, dat115, sum149);
sum150 = _mm512_fmadd_ps(wt232, dat116, sum150);
sum151 = _mm512_fmadd_ps(wt232, dat117, sum151);
}
_mm512_storeu_ps(sumPtr1+0+1536*i10, sum140);
_mm512_storeu_ps(sumPtr1+64+1536*i10, sum141);
_mm512_storeu_ps(sumPtr1+128+1536*i10, sum142);
_mm512_storeu_ps(sumPtr1+256+1536*i10, sum143);
_mm512_storeu_ps(sumPtr1+320+1536*i10, sum144);
_mm512_storeu_ps(sumPtr1+384+1536*i10, sum145);
_mm512_storeu_ps(sumPtr1+512+1536*i10, sum146);
_mm512_storeu_ps(sumPtr1+576+1536*i10, sum147);
_mm512_storeu_ps(sumPtr1+640+1536*i10, sum148);
_mm512_storeu_ps(sumPtr1+768+1536*i10, sum149);
_mm512_storeu_ps(sumPtr1+832+1536*i10, sum150);
_mm512_storeu_ps(sumPtr1+896+1536*i10, sum151);
return;
}
ptrdiff_t i11 = 1*w7;
ptrdiff_t ii5 = i11+0;
for (; i11 != 131; ++i11) {
__m512 sum152 = _mm512_setzero_ps();
__m512 sum155 = _mm512_setzero_ps();
__m512 sum158 = _mm512_setzero_ps();
__m512 sum161 = _mm512_setzero_ps();
__m512 sum164 = _mm512_setzero_ps();
__m512 sum167 = _mm512_setzero_ps();
(void)biasPtr2;
__m512 sum153 = sum152;
__m512 sum154 = sum152;
__m512 sum156 = sum155;
__m512 sum157 = sum155;
__m512 sum159 = sum158;
__m512 sum160 = sum158;
__m512 sum162 = sum161;
__m512 sum163 = sum161;
__m512 sum165 = sum164;
__m512 sum166 = sum164;
__m512 sum168 = sum167;
__m512 sum169 = sum167;
for (ptrdiff_t j11 = 0; j11 < 559; ++j11) {
__m512 dat118 = _mm512_loadu_ps(datPtr2+64+256*j11);
__m512 dat119 = _mm512_loadu_ps(datPtr2+128+256*j11);
__m512 dat120 = _mm512_loadu_ps(datPtr2+192+256*j11);
__m512 wt233 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i11+24*j11));
sum152 = _mm512_fmadd_ps(wt233, dat118, sum152);
sum153 = _mm512_fmadd_ps(wt233, dat119, sum153);
sum154 = _mm512_fmadd_ps(wt233, dat120, sum154);
__m512 wt234 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i11+24*j11));
sum155 = _mm512_fmadd_ps(wt234, dat118, sum155);
sum156 = _mm512_fmadd_ps(wt234, dat119, sum156);
sum157 = _mm512_fmadd_ps(wt234, dat120, sum157);
__m512 wt235 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i11+24*j11));
sum158 = _mm512_fmadd_ps(wt235, dat118, sum158);
sum159 = _mm512_fmadd_ps(wt235, dat119, sum159);
sum160 = _mm512_fmadd_ps(wt235, dat120, sum160);
__m512 wt236 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i11+24*j11));
sum161 = _mm512_fmadd_ps(wt236, dat118, sum161);
sum162 = _mm512_fmadd_ps(wt236, dat119, sum162);
sum163 = _mm512_fmadd_ps(wt236, dat120, sum163);
__m512 wt237 = _mm512_set1_ps(*(float*)(wtPtr2+16+13416*i11+24*j11));
sum164 = _mm512_fmadd_ps(wt237, dat118, sum164);
sum165 = _mm512_fmadd_ps(wt237, dat119, sum165);
sum166 = _mm512_fmadd_ps(wt237, dat120, sum166);
__m512 wt238 = _mm512_set1_ps(*(float*)(wtPtr2+20+13416*i11+24*j11));
sum167 = _mm512_fmadd_ps(wt238, dat118, sum167);
sum168 = _mm512_fmadd_ps(wt238, dat119, sum168);
sum169 = _mm512_fmadd_ps(wt238, dat120, sum169);
}
_mm512_storeu_ps(sumPtr1+0+1536*i11, _mm512_add_ps(sum152, _mm512_loadu_ps(sumPtr1+0+1536*i11)));
_mm512_storeu_ps(sumPtr1+64+1536*i11, _mm512_add_ps(sum153, _mm512_loadu_ps(sumPtr1+64+1536*i11)));
_mm512_storeu_ps(sumPtr1+128+1536*i11, _mm512_add_ps(sum154, _mm512_loadu_ps(sumPtr1+128+1536*i11)));
_mm512_storeu_ps(sumPtr1+256+1536*i11, _mm512_add_ps(sum155, _mm512_loadu_ps(sumPtr1+256+1536*i11)));
_mm512_storeu_ps(sumPtr1+320+1536*i11, _mm512_add_ps(sum156, _mm512_loadu_ps(sumPtr1+320+1536*i11)));
_mm512_storeu_ps(sumPtr1+384+1536*i11, _mm512_add_ps(sum157, _mm512_loadu_ps(sumPtr1+384+1536*i11)));
_mm512_storeu_ps(sumPtr1+512+1536*i11, _mm512_add_ps(sum158, _mm512_loadu_ps(sumPtr1+512+1536*i11)));
_mm512_storeu_ps(sumPtr1+576+1536*i11, _mm512_add_ps(sum159, _mm512_loadu_ps(sumPtr1+576+1536*i11)));
_mm512_storeu_ps(sumPtr1+640+1536*i11, _mm512_add_ps(sum160, _mm512_loadu_ps(sumPtr1+640+1536*i11)));
_mm512_storeu_ps(sumPtr1+768+1536*i11, _mm512_add_ps(sum161, _mm512_loadu_ps(sumPtr1+768+1536*i11)));
_mm512_storeu_ps(sumPtr1+832+1536*i11, _mm512_add_ps(sum162, _mm512_loadu_ps(sumPtr1+832+1536*i11)));
_mm512_storeu_ps(sumPtr1+896+1536*i11, _mm512_add_ps(sum163, _mm512_loadu_ps(sumPtr1+896+1536*i11)));
_mm512_storeu_ps(sumPtr1+1024+1536*i11, _mm512_add_ps(sum164, _mm512_loadu_ps(sumPtr1+1024+1536*i11)));
_mm512_storeu_ps(sumPtr1+1088+1536*i11, _mm512_add_ps(sum165, _mm512_loadu_ps(sumPtr1+1088+1536*i11)));
_mm512_storeu_ps(sumPtr1+1152+1536*i11, _mm512_add_ps(sum166, _mm512_loadu_ps(sumPtr1+1152+1536*i11)));
_mm512_storeu_ps(sumPtr1+1280+1536*i11, _mm512_add_ps(sum167, _mm512_loadu_ps(sumPtr1+1280+1536*i11)));
_mm512_storeu_ps(sumPtr1+1344+1536*i11, _mm512_add_ps(sum168, _mm512_loadu_ps(sumPtr1+1344+1536*i11)));
_mm512_storeu_ps(sumPtr1+1408+1536*i11, _mm512_add_ps(sum169, _mm512_loadu_ps(sumPtr1+1408+1536*i11)));
if (i11 >= ii5) return;
}
__m512 sum170 = _mm512_setzero_ps();
__m512 sum173 = _mm512_setzero_ps();
__m512 sum176 = _mm512_setzero_ps();
__m512 sum179 = _mm512_setzero_ps();
(void)biasPtr2;
__m512 sum171 = sum170;
__m512 sum172 = sum170;
__m512 sum174 = sum173;
__m512 sum175 = sum173;
__m512 sum177 = sum176;
__m512 sum178 = sum176;
__m512 sum180 = sum179;
__m512 sum181 = sum179;
for (ptrdiff_t j12 = 0; j12 < 559; ++j12) {
__m512 dat121 = _mm512_loadu_ps(datPtr2+64+256*j12);
__m512 dat122 = _mm512_loadu_ps(datPtr2+128+256*j12);
__m512 dat123 = _mm512_loadu_ps(datPtr2+192+256*j12);
__m512 wt239 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i11+16*j12));
sum170 = _mm512_fmadd_ps(wt239, dat121, sum170);
sum171 = _mm512_fmadd_ps(wt239, dat122, sum171);
sum172 = _mm512_fmadd_ps(wt239, dat123, sum172);
__m512 wt240 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i11+16*j12));
sum173 = _mm512_fmadd_ps(wt240, dat121, sum173);
sum174 = _mm512_fmadd_ps(wt240, dat122, sum174);
sum175 = _mm512_fmadd_ps(wt240, dat123, sum175);
__m512 wt241 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i11+16*j12));
sum176 = _mm512_fmadd_ps(wt241, dat121, sum176);
sum177 = _mm512_fmadd_ps(wt241, dat122, sum177);
sum178 = _mm512_fmadd_ps(wt241, dat123, sum178);
__m512 wt242 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i11+16*j12));
sum179 = _mm512_fmadd_ps(wt242, dat121, sum179);
sum180 = _mm512_fmadd_ps(wt242, dat122, sum180);
sum181 = _mm512_fmadd_ps(wt242, dat123, sum181);
}
_mm512_storeu_ps(sumPtr1+0+1536*i11, _mm512_add_ps(sum170, _mm512_loadu_ps(sumPtr1+0+1536*i11)));
_mm512_storeu_ps(sumPtr1+64+1536*i11, _mm512_add_ps(sum171, _mm512_loadu_ps(sumPtr1+64+1536*i11)));
_mm512_storeu_ps(sumPtr1+128+1536*i11, _mm512_add_ps(sum172, _mm512_loadu_ps(sumPtr1+128+1536*i11)));
_mm512_storeu_ps(sumPtr1+256+1536*i11, _mm512_add_ps(sum173, _mm512_loadu_ps(sumPtr1+256+1536*i11)));
_mm512_storeu_ps(sumPtr1+320+1536*i11, _mm512_add_ps(sum174, _mm512_loadu_ps(sumPtr1+320+1536*i11)));
_mm512_storeu_ps(sumPtr1+384+1536*i11, _mm512_add_ps(sum175, _mm512_loadu_ps(sumPtr1+384+1536*i11)));
_mm512_storeu_ps(sumPtr1+512+1536*i11, _mm512_add_ps(sum176, _mm512_loadu_ps(sumPtr1+512+1536*i11)));
_mm512_storeu_ps(sumPtr1+576+1536*i11, _mm512_add_ps(sum177, _mm512_loadu_ps(sumPtr1+576+1536*i11)));
_mm512_storeu_ps(sumPtr1+640+1536*i11, _mm512_add_ps(sum178, _mm512_loadu_ps(sumPtr1+640+1536*i11)));
_mm512_storeu_ps(sumPtr1+768+1536*i11, _mm512_add_ps(sum179, _mm512_loadu_ps(sumPtr1+768+1536*i11)));
_mm512_storeu_ps(sumPtr1+832+1536*i11, _mm512_add_ps(sum180, _mm512_loadu_ps(sumPtr1+832+1536*i11)));
_mm512_storeu_ps(sumPtr1+896+1536*i11, _mm512_add_ps(sum181, _mm512_loadu_ps(sumPtr1+896+1536*i11)));
return;
}
(void)base1;
ptrdiff_t i12 = 1*w7;
ptrdiff_t ii6 = i12+0;
for (; i12 != 131; ++i12) {
__m512 sum182 = _mm512_set1_ps(*(float*)(biasPtr2+0+24*i12));
__m512 sum185 = _mm512_set1_ps(*(float*)(biasPtr2+4+24*i12));
__m512 sum188 = _mm512_set1_ps(*(float*)(biasPtr2+8+24*i12));
__m512 sum191 = _mm512_set1_ps(*(float*)(biasPtr2+12+24*i12));
__m512 sum194 = _mm512_set1_ps(*(float*)(biasPtr2+16+24*i12));
__m512 sum197 = _mm512_set1_ps(*(float*)(biasPtr2+20+24*i12));
__m512 sum183 = sum182;
__m512 sum184 = sum182;
__m512 sum186 = sum185;
__m512 sum187 = sum185;
__m512 sum189 = sum188;
__m512 sum190 = sum188;
__m512 sum192 = sum191;
__m512 sum193 = sum191;
__m512 sum195 = sum194;
__m512 sum196 = sum194;
__m512 sum198 = sum197;
__m512 sum199 = sum197;
for (ptrdiff_t j13 = 0; j13 < 559; ++j13) {
__m512 dat124 = _mm512_loadu_ps(datPtr2+64+256*j13);
__m512 dat125 = _mm512_loadu_ps(datPtr2+128+256*j13);
__m512 dat126 = _mm512_loadu_ps(datPtr2+192+256*j13);
__m512 wt243 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i12+24*j13));
sum182 = _mm512_fmadd_ps(wt243, dat124, sum182);
sum183 = _mm512_fmadd_ps(wt243, dat125, sum183);
sum184 = _mm512_fmadd_ps(wt243, dat126, sum184);
__m512 wt244 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i12+24*j13));
sum185 = _mm512_fmadd_ps(wt244, dat124, sum185);
sum186 = _mm512_fmadd_ps(wt244, dat125, sum186);
sum187 = _mm512_fmadd_ps(wt244, dat126, sum187);
__m512 wt245 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i12+24*j13));
sum188 = _mm512_fmadd_ps(wt245, dat124, sum188);
sum189 = _mm512_fmadd_ps(wt245, dat125, sum189);
sum190 = _mm512_fmadd_ps(wt245, dat126, sum190);
__m512 wt246 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i12+24*j13));
sum191 = _mm512_fmadd_ps(wt246, dat124, sum191);
sum192 = _mm512_fmadd_ps(wt246, dat125, sum192);
sum193 = _mm512_fmadd_ps(wt246, dat126, sum193);
__m512 wt247 = _mm512_set1_ps(*(float*)(wtPtr2+16+13416*i12+24*j13));
sum194 = _mm512_fmadd_ps(wt247, dat124, sum194);
sum195 = _mm512_fmadd_ps(wt247, dat125, sum195);
sum196 = _mm512_fmadd_ps(wt247, dat126, sum196);
__m512 wt248 = _mm512_set1_ps(*(float*)(wtPtr2+20+13416*i12+24*j13));
sum197 = _mm512_fmadd_ps(wt248, dat124, sum197);
sum198 = _mm512_fmadd_ps(wt248, dat125, sum198);
sum199 = _mm512_fmadd_ps(wt248, dat126, sum199);
}
_mm512_storeu_ps(sumPtr1+0+1536*i12, sum182);
_mm512_storeu_ps(sumPtr1+64+1536*i12, sum183);
_mm512_storeu_ps(sumPtr1+128+1536*i12, sum184);
_mm512_storeu_ps(sumPtr1+256+1536*i12, sum185);
_mm512_storeu_ps(sumPtr1+320+1536*i12, sum186);
_mm512_storeu_ps(sumPtr1+384+1536*i12, sum187);
_mm512_storeu_ps(sumPtr1+512+1536*i12, sum188);
_mm512_storeu_ps(sumPtr1+576+1536*i12, sum189);
_mm512_storeu_ps(sumPtr1+640+1536*i12, sum190);
_mm512_storeu_ps(sumPtr1+768+1536*i12, sum191);
_mm512_storeu_ps(sumPtr1+832+1536*i12, sum192);
_mm512_storeu_ps(sumPtr1+896+1536*i12, sum193);
_mm512_storeu_ps(sumPtr1+1024+1536*i12, sum194);
_mm512_storeu_ps(sumPtr1+1088+1536*i12, sum195);
_mm512_storeu_ps(sumPtr1+1152+1536*i12, sum196);
_mm512_storeu_ps(sumPtr1+1280+1536*i12, sum197);
_mm512_storeu_ps(sumPtr1+1344+1536*i12, sum198);
_mm512_storeu_ps(sumPtr1+1408+1536*i12, sum199);
if (i12 >= ii6) return;
}
__m512 sum200 = _mm512_set1_ps(*(float*)(biasPtr2+0+24*i12));
__m512 sum203 = _mm512_set1_ps(*(float*)(biasPtr2+4+24*i12));
__m512 sum206 = _mm512_set1_ps(*(float*)(biasPtr2+8+24*i12));
__m512 sum209 = _mm512_set1_ps(*(float*)(biasPtr2+12+24*i12));
__m512 sum201 = sum200;
__m512 sum202 = sum200;
__m512 sum204 = sum203;
__m512 sum205 = sum203;
__m512 sum207 = sum206;
__m512 sum208 = sum206;
__m512 sum210 = sum209;
__m512 sum211 = sum209;
for (ptrdiff_t j14 = 0; j14 < 559; ++j14) {
__m512 dat127 = _mm512_loadu_ps(datPtr2+64+256*j14);
__m512 dat128 = _mm512_loadu_ps(datPtr2+128+256*j14);
__m512 dat129 = _mm512_loadu_ps(datPtr2+192+256*j14);
__m512 wt249 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i12+16*j14));
sum200 = _mm512_fmadd_ps(wt249, dat127, sum200);
sum201 = _mm512_fmadd_ps(wt249, dat128, sum201);
sum202 = _mm512_fmadd_ps(wt249, dat129, sum202);
__m512 wt250 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i12+16*j14));
sum203 = _mm512_fmadd_ps(wt250, dat127, sum203);
sum204 = _mm512_fmadd_ps(wt250, dat128, sum204);
sum205 = _mm512_fmadd_ps(wt250, dat129, sum205);
__m512 wt251 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i12+16*j14));
sum206 = _mm512_fmadd_ps(wt251, dat127, sum206);
sum207 = _mm512_fmadd_ps(wt251, dat128, sum207);
sum208 = _mm512_fmadd_ps(wt251, dat129, sum208);
__m512 wt252 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i12+16*j14));
sum209 = _mm512_fmadd_ps(wt252, dat127, sum209);
sum210 = _mm512_fmadd_ps(wt252, dat128, sum210);
sum211 = _mm512_fmadd_ps(wt252, dat129, sum211);
}
_mm512_storeu_ps(sumPtr1+0+1536*i12, sum200);
_mm512_storeu_ps(sumPtr1+64+1536*i12, sum201);
_mm512_storeu_ps(sumPtr1+128+1536*i12, sum202);
_mm512_storeu_ps(sumPtr1+256+1536*i12, sum203);
_mm512_storeu_ps(sumPtr1+320+1536*i12, sum204);
_mm512_storeu_ps(sumPtr1+384+1536*i12, sum205);
_mm512_storeu_ps(sumPtr1+512+1536*i12, sum206);
_mm512_storeu_ps(sumPtr1+576+1536*i12, sum207);
_mm512_storeu_ps(sumPtr1+640+1536*i12, sum208);
_mm512_storeu_ps(sumPtr1+768+1536*i12, sum209);
_mm512_storeu_ps(sumPtr1+832+1536*i12, sum210);
_mm512_storeu_ps(sumPtr1+896+1536*i12, sum211);
break;
}
case 3: {
if (epoch1|node6) {
if (!epoch1 && base1) {
ptrdiff_t i13 = 1*w7;
ptrdiff_t ii7 = i13+0;
for (; i13 != 131; ++i13) {
__m512 sum212 = _mm512_setzero_ps();
__m512 sum216 = _mm512_setzero_ps();
__m512 sum220 = _mm512_setzero_ps();
__m512 sum224 = _mm512_setzero_ps();
__m512 sum228 = _mm512_setzero_ps();
__m512 sum232 = _mm512_setzero_ps();
(void)biasPtr2;
__m512 sum213 = sum212;
__m512 sum214 = sum212;
__m512 sum215 = sum212;
__m512 sum217 = sum216;
__m512 sum218 = sum216;
__m512 sum219 = sum216;
__m512 sum221 = sum220;
__m512 sum222 = sum220;
__m512 sum223 = sum220;
__m512 sum225 = sum224;
__m512 sum226 = sum224;
__m512 sum227 = sum224;
__m512 sum229 = sum228;
__m512 sum230 = sum228;
__m512 sum231 = sum228;
__m512 sum233 = sum232;
__m512 sum234 = sum232;
__m512 sum235 = sum232;
for (ptrdiff_t j15 = 0; j15 < 559; ++j15) {
__m512 dat130 = _mm512_loadu_ps(datPtr2+0+256*j15);
__m512 dat131 = _mm512_loadu_ps(datPtr2+64+256*j15);
__m512 dat132 = _mm512_loadu_ps(datPtr2+128+256*j15);
__m512 dat133 = _mm512_loadu_ps(datPtr2+192+256*j15);
__m512 wt253 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i13+24*j15));
sum212 = _mm512_fmadd_ps(wt253, dat130, sum212);
sum213 = _mm512_fmadd_ps(wt253, dat131, sum213);
sum214 = _mm512_fmadd_ps(wt253, dat132, sum214);
sum215 = _mm512_fmadd_ps(wt253, dat133, sum215);
__m512 wt254 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i13+24*j15));
sum216 = _mm512_fmadd_ps(wt254, dat130, sum216);
sum217 = _mm512_fmadd_ps(wt254, dat131, sum217);
sum218 = _mm512_fmadd_ps(wt254, dat132, sum218);
sum219 = _mm512_fmadd_ps(wt254, dat133, sum219);
__m512 wt255 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i13+24*j15));
sum220 = _mm512_fmadd_ps(wt255, dat130, sum220);
sum221 = _mm512_fmadd_ps(wt255, dat131, sum221);
sum222 = _mm512_fmadd_ps(wt255, dat132, sum222);
sum223 = _mm512_fmadd_ps(wt255, dat133, sum223);
__m512 wt256 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i13+24*j15));
sum224 = _mm512_fmadd_ps(wt256, dat130, sum224);
sum225 = _mm512_fmadd_ps(wt256, dat131, sum225);
sum226 = _mm512_fmadd_ps(wt256, dat132, sum226);
sum227 = _mm512_fmadd_ps(wt256, dat133, sum227);
__m512 wt257 = _mm512_set1_ps(*(float*)(wtPtr2+16+13416*i13+24*j15));
sum228 = _mm512_fmadd_ps(wt257, dat130, sum228);
sum229 = _mm512_fmadd_ps(wt257, dat131, sum229);
sum230 = _mm512_fmadd_ps(wt257, dat132, sum230);
sum231 = _mm512_fmadd_ps(wt257, dat133, sum231);
__m512 wt258 = _mm512_set1_ps(*(float*)(wtPtr2+20+13416*i13+24*j15));
sum232 = _mm512_fmadd_ps(wt258, dat130, sum232);
sum233 = _mm512_fmadd_ps(wt258, dat131, sum233);
sum234 = _mm512_fmadd_ps(wt258, dat132, sum234);
sum235 = _mm512_fmadd_ps(wt258, dat133, sum235);
}
_mm512_storeu_ps(sumPtr1+-9707328+1536*i13, sum212);
_mm512_storeu_ps(sumPtr1+0+1536*i13, sum213);
_mm512_storeu_ps(sumPtr1+64+1536*i13, sum214);
_mm512_storeu_ps(sumPtr1+128+1536*i13, sum215);
_mm512_storeu_ps(sumPtr1+-9707072+1536*i13, sum216);
_mm512_storeu_ps(sumPtr1+256+1536*i13, sum217);
_mm512_storeu_ps(sumPtr1+320+1536*i13, sum218);
_mm512_storeu_ps(sumPtr1+384+1536*i13, sum219);
_mm512_storeu_ps(sumPtr1+-9706816+1536*i13, sum220);
_mm512_storeu_ps(sumPtr1+512+1536*i13, sum221);
_mm512_storeu_ps(sumPtr1+576+1536*i13, sum222);
_mm512_storeu_ps(sumPtr1+640+1536*i13, sum223);
_mm512_storeu_ps(sumPtr1+-9706560+1536*i13, sum224);
_mm512_storeu_ps(sumPtr1+768+1536*i13, sum225);
_mm512_storeu_ps(sumPtr1+832+1536*i13, sum226);
_mm512_storeu_ps(sumPtr1+896+1536*i13, sum227);
_mm512_storeu_ps(sumPtr1+-9706304+1536*i13, sum228);
_mm512_storeu_ps(sumPtr1+1024+1536*i13, sum229);
_mm512_storeu_ps(sumPtr1+1088+1536*i13, sum230);
_mm512_storeu_ps(sumPtr1+1152+1536*i13, sum231);
_mm512_storeu_ps(sumPtr1+-9706048+1536*i13, sum232);
_mm512_storeu_ps(sumPtr1+1280+1536*i13, sum233);
_mm512_storeu_ps(sumPtr1+1344+1536*i13, sum234);
_mm512_storeu_ps(sumPtr1+1408+1536*i13, sum235);
if (i13 >= ii7) return;
}
__m512 sum236 = _mm512_setzero_ps();
__m512 sum240 = _mm512_setzero_ps();
__m512 sum244 = _mm512_setzero_ps();
__m512 sum248 = _mm512_setzero_ps();
(void)biasPtr2;
__m512 sum237 = sum236;
__m512 sum238 = sum236;
__m512 sum239 = sum236;
__m512 sum241 = sum240;
__m512 sum242 = sum240;
__m512 sum243 = sum240;
__m512 sum245 = sum244;
__m512 sum246 = sum244;
__m512 sum247 = sum244;
__m512 sum249 = sum248;
__m512 sum250 = sum248;
__m512 sum251 = sum248;
for (ptrdiff_t j16 = 0; j16 < 559; ++j16) {
__m512 dat134 = _mm512_loadu_ps(datPtr2+0+256*j16);
__m512 dat135 = _mm512_loadu_ps(datPtr2+64+256*j16);
__m512 dat136 = _mm512_loadu_ps(datPtr2+128+256*j16);
__m512 dat137 = _mm512_loadu_ps(datPtr2+192+256*j16);
__m512 wt259 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i13+16*j16));
sum236 = _mm512_fmadd_ps(wt259, dat134, sum236);
sum237 = _mm512_fmadd_ps(wt259, dat135, sum237);
sum238 = _mm512_fmadd_ps(wt259, dat136, sum238);
sum239 = _mm512_fmadd_ps(wt259, dat137, sum239);
__m512 wt260 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i13+16*j16));
sum240 = _mm512_fmadd_ps(wt260, dat134, sum240);
sum241 = _mm512_fmadd_ps(wt260, dat135, sum241);
sum242 = _mm512_fmadd_ps(wt260, dat136, sum242);
sum243 = _mm512_fmadd_ps(wt260, dat137, sum243);
__m512 wt261 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i13+16*j16));
sum244 = _mm512_fmadd_ps(wt261, dat134, sum244);
sum245 = _mm512_fmadd_ps(wt261, dat135, sum245);
sum246 = _mm512_fmadd_ps(wt261, dat136, sum246);
sum247 = _mm512_fmadd_ps(wt261, dat137, sum247);
__m512 wt262 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i13+16*j16));
sum248 = _mm512_fmadd_ps(wt262, dat134, sum248);
sum249 = _mm512_fmadd_ps(wt262, dat135, sum249);
sum250 = _mm512_fmadd_ps(wt262, dat136, sum250);
sum251 = _mm512_fmadd_ps(wt262, dat137, sum251);
}
_mm512_storeu_ps(sumPtr1+-9707328+1536*i13, sum236);
_mm512_storeu_ps(sumPtr1+0+1536*i13, sum237);
_mm512_storeu_ps(sumPtr1+64+1536*i13, sum238);
_mm512_storeu_ps(sumPtr1+128+1536*i13, sum239);
_mm512_storeu_ps(sumPtr1+-9707072+1536*i13, sum240);
_mm512_storeu_ps(sumPtr1+256+1536*i13, sum241);
_mm512_storeu_ps(sumPtr1+320+1536*i13, sum242);
_mm512_storeu_ps(sumPtr1+384+1536*i13, sum243);
_mm512_storeu_ps(sumPtr1+-9706816+1536*i13, sum244);
_mm512_storeu_ps(sumPtr1+512+1536*i13, sum245);
_mm512_storeu_ps(sumPtr1+576+1536*i13, sum246);
_mm512_storeu_ps(sumPtr1+640+1536*i13, sum247);
_mm512_storeu_ps(sumPtr1+-9706560+1536*i13, sum248);
_mm512_storeu_ps(sumPtr1+768+1536*i13, sum249);
_mm512_storeu_ps(sumPtr1+832+1536*i13, sum250);
_mm512_storeu_ps(sumPtr1+896+1536*i13, sum251);
return;
}
ptrdiff_t i14 = 1*w7;
ptrdiff_t ii8 = i14+0;
for (; i14 != 131; ++i14) {
__m512 sum252 = _mm512_setzero_ps();
__m512 sum256 = _mm512_setzero_ps();
__m512 sum260 = _mm512_setzero_ps();
__m512 sum264 = _mm512_setzero_ps();
__m512 sum268 = _mm512_setzero_ps();
__m512 sum272 = _mm512_setzero_ps();
(void)biasPtr2;
__m512 sum253 = sum252;
__m512 sum254 = sum252;
__m512 sum255 = sum252;
__m512 sum257 = sum256;
__m512 sum258 = sum256;
__m512 sum259 = sum256;
__m512 sum261 = sum260;
__m512 sum262 = sum260;
__m512 sum263 = sum260;
__m512 sum265 = sum264;
__m512 sum266 = sum264;
__m512 sum267 = sum264;
__m512 sum269 = sum268;
__m512 sum270 = sum268;
__m512 sum271 = sum268;
__m512 sum273 = sum272;
__m512 sum274 = sum272;
__m512 sum275 = sum272;
for (ptrdiff_t j17 = 0; j17 < 559; ++j17) {
__m512 dat138 = _mm512_loadu_ps(datPtr2+0+256*j17);
__m512 dat139 = _mm512_loadu_ps(datPtr2+64+256*j17);
__m512 dat140 = _mm512_loadu_ps(datPtr2+128+256*j17);
__m512 dat141 = _mm512_loadu_ps(datPtr2+192+256*j17);
__m512 wt263 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i14+24*j17));
sum252 = _mm512_fmadd_ps(wt263, dat138, sum252);
sum253 = _mm512_fmadd_ps(wt263, dat139, sum253);
sum254 = _mm512_fmadd_ps(wt263, dat140, sum254);
sum255 = _mm512_fmadd_ps(wt263, dat141, sum255);
__m512 wt264 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i14+24*j17));
sum256 = _mm512_fmadd_ps(wt264, dat138, sum256);
sum257 = _mm512_fmadd_ps(wt264, dat139, sum257);
sum258 = _mm512_fmadd_ps(wt264, dat140, sum258);
sum259 = _mm512_fmadd_ps(wt264, dat141, sum259);
__m512 wt265 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i14+24*j17));
sum260 = _mm512_fmadd_ps(wt265, dat138, sum260);
sum261 = _mm512_fmadd_ps(wt265, dat139, sum261);
sum262 = _mm512_fmadd_ps(wt265, dat140, sum262);
sum263 = _mm512_fmadd_ps(wt265, dat141, sum263);
__m512 wt266 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i14+24*j17));
sum264 = _mm512_fmadd_ps(wt266, dat138, sum264);
sum265 = _mm512_fmadd_ps(wt266, dat139, sum265);
sum266 = _mm512_fmadd_ps(wt266, dat140, sum266);
sum267 = _mm512_fmadd_ps(wt266, dat141, sum267);
__m512 wt267 = _mm512_set1_ps(*(float*)(wtPtr2+16+13416*i14+24*j17));
sum268 = _mm512_fmadd_ps(wt267, dat138, sum268);
sum269 = _mm512_fmadd_ps(wt267, dat139, sum269);
sum270 = _mm512_fmadd_ps(wt267, dat140, sum270);
sum271 = _mm512_fmadd_ps(wt267, dat141, sum271);
__m512 wt268 = _mm512_set1_ps(*(float*)(wtPtr2+20+13416*i14+24*j17));
sum272 = _mm512_fmadd_ps(wt268, dat138, sum272);
sum273 = _mm512_fmadd_ps(wt268, dat139, sum273);
sum274 = _mm512_fmadd_ps(wt268, dat140, sum274);
sum275 = _mm512_fmadd_ps(wt268, dat141, sum275);
}
_mm512_storeu_ps(sumPtr1+-9707328+1536*i14, _mm512_add_ps(sum252, _mm512_loadu_ps(sumPtr1+-9707328+1536*i14)));
_mm512_storeu_ps(sumPtr1+0+1536*i14, _mm512_add_ps(sum253, _mm512_loadu_ps(sumPtr1+0+1536*i14)));
_mm512_storeu_ps(sumPtr1+64+1536*i14, _mm512_add_ps(sum254, _mm512_loadu_ps(sumPtr1+64+1536*i14)));
_mm512_storeu_ps(sumPtr1+128+1536*i14, _mm512_add_ps(sum255, _mm512_loadu_ps(sumPtr1+128+1536*i14)));
_mm512_storeu_ps(sumPtr1+-9707072+1536*i14, _mm512_add_ps(sum256, _mm512_loadu_ps(sumPtr1+-9707072+1536*i14)));
_mm512_storeu_ps(sumPtr1+256+1536*i14, _mm512_add_ps(sum257, _mm512_loadu_ps(sumPtr1+256+1536*i14)));
_mm512_storeu_ps(sumPtr1+320+1536*i14, _mm512_add_ps(sum258, _mm512_loadu_ps(sumPtr1+320+1536*i14)));
_mm512_storeu_ps(sumPtr1+384+1536*i14, _mm512_add_ps(sum259, _mm512_loadu_ps(sumPtr1+384+1536*i14)));
_mm512_storeu_ps(sumPtr1+-9706816+1536*i14, _mm512_add_ps(sum260, _mm512_loadu_ps(sumPtr1+-9706816+1536*i14)));
_mm512_storeu_ps(sumPtr1+512+1536*i14, _mm512_add_ps(sum261, _mm512_loadu_ps(sumPtr1+512+1536*i14)));
_mm512_storeu_ps(sumPtr1+576+1536*i14, _mm512_add_ps(sum262, _mm512_loadu_ps(sumPtr1+576+1536*i14)));
_mm512_storeu_ps(sumPtr1+640+1536*i14, _mm512_add_ps(sum263, _mm512_loadu_ps(sumPtr1+640+1536*i14)));
_mm512_storeu_ps(sumPtr1+-9706560+1536*i14, _mm512_add_ps(sum264, _mm512_loadu_ps(sumPtr1+-9706560+1536*i14)));
_mm512_storeu_ps(sumPtr1+768+1536*i14, _mm512_add_ps(sum265, _mm512_loadu_ps(sumPtr1+768+1536*i14)));
_mm512_storeu_ps(sumPtr1+832+1536*i14, _mm512_add_ps(sum266, _mm512_loadu_ps(sumPtr1+832+1536*i14)));
_mm512_storeu_ps(sumPtr1+896+1536*i14, _mm512_add_ps(sum267, _mm512_loadu_ps(sumPtr1+896+1536*i14)));
_mm512_storeu_ps(sumPtr1+-9706304+1536*i14, _mm512_add_ps(sum268, _mm512_loadu_ps(sumPtr1+-9706304+1536*i14)));
_mm512_storeu_ps(sumPtr1+1024+1536*i14, _mm512_add_ps(sum269, _mm512_loadu_ps(sumPtr1+1024+1536*i14)));
_mm512_storeu_ps(sumPtr1+1088+1536*i14, _mm512_add_ps(sum270, _mm512_loadu_ps(sumPtr1+1088+1536*i14)));
_mm512_storeu_ps(sumPtr1+1152+1536*i14, _mm512_add_ps(sum271, _mm512_loadu_ps(sumPtr1+1152+1536*i14)));
_mm512_storeu_ps(sumPtr1+-9706048+1536*i14, _mm512_add_ps(sum272, _mm512_loadu_ps(sumPtr1+-9706048+1536*i14)));
_mm512_storeu_ps(sumPtr1+1280+1536*i14, _mm512_add_ps(sum273, _mm512_loadu_ps(sumPtr1+1280+1536*i14)));
_mm512_storeu_ps(sumPtr1+1344+1536*i14, _mm512_add_ps(sum274, _mm512_loadu_ps(sumPtr1+1344+1536*i14)));
_mm512_storeu_ps(sumPtr1+1408+1536*i14, _mm512_add_ps(sum275, _mm512_loadu_ps(sumPtr1+1408+1536*i14)));
if (i14 >= ii8) return;
}
__m512 sum276 = _mm512_setzero_ps();
__m512 sum280 = _mm512_setzero_ps();
__m512 sum284 = _mm512_setzero_ps();
__m512 sum288 = _mm512_setzero_ps();
(void)biasPtr2;
__m512 sum277 = sum276;
__m512 sum278 = sum276;
__m512 sum279 = sum276;
__m512 sum281 = sum280;
__m512 sum282 = sum280;
__m512 sum283 = sum280;
__m512 sum285 = sum284;
__m512 sum286 = sum284;
__m512 sum287 = sum284;
__m512 sum289 = sum288;
__m512 sum290 = sum288;
__m512 sum291 = sum288;
for (ptrdiff_t j18 = 0; j18 < 559; ++j18) {
__m512 dat142 = _mm512_loadu_ps(datPtr2+0+256*j18);
__m512 dat143 = _mm512_loadu_ps(datPtr2+64+256*j18);
__m512 dat144 = _mm512_loadu_ps(datPtr2+128+256*j18);
__m512 dat145 = _mm512_loadu_ps(datPtr2+192+256*j18);
__m512 wt269 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i14+16*j18));
sum276 = _mm512_fmadd_ps(wt269, dat142, sum276);
sum277 = _mm512_fmadd_ps(wt269, dat143, sum277);
sum278 = _mm512_fmadd_ps(wt269, dat144, sum278);
sum279 = _mm512_fmadd_ps(wt269, dat145, sum279);
__m512 wt270 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i14+16*j18));
sum280 = _mm512_fmadd_ps(wt270, dat142, sum280);
sum281 = _mm512_fmadd_ps(wt270, dat143, sum281);
sum282 = _mm512_fmadd_ps(wt270, dat144, sum282);
sum283 = _mm512_fmadd_ps(wt270, dat145, sum283);
__m512 wt271 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i14+16*j18));
sum284 = _mm512_fmadd_ps(wt271, dat142, sum284);
sum285 = _mm512_fmadd_ps(wt271, dat143, sum285);
sum286 = _mm512_fmadd_ps(wt271, dat144, sum286);
sum287 = _mm512_fmadd_ps(wt271, dat145, sum287);
__m512 wt272 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i14+16*j18));
sum288 = _mm512_fmadd_ps(wt272, dat142, sum288);
sum289 = _mm512_fmadd_ps(wt272, dat143, sum289);
sum290 = _mm512_fmadd_ps(wt272, dat144, sum290);
sum291 = _mm512_fmadd_ps(wt272, dat145, sum291);
}
_mm512_storeu_ps(sumPtr1+-9707328+1536*i14, _mm512_add_ps(sum276, _mm512_loadu_ps(sumPtr1+-9707328+1536*i14)));
_mm512_storeu_ps(sumPtr1+0+1536*i14, _mm512_add_ps(sum277, _mm512_loadu_ps(sumPtr1+0+1536*i14)));
_mm512_storeu_ps(sumPtr1+64+1536*i14, _mm512_add_ps(sum278, _mm512_loadu_ps(sumPtr1+64+1536*i14)));
_mm512_storeu_ps(sumPtr1+128+1536*i14, _mm512_add_ps(sum279, _mm512_loadu_ps(sumPtr1+128+1536*i14)));
_mm512_storeu_ps(sumPtr1+-9707072+1536*i14, _mm512_add_ps(sum280, _mm512_loadu_ps(sumPtr1+-9707072+1536*i14)));
_mm512_storeu_ps(sumPtr1+256+1536*i14, _mm512_add_ps(sum281, _mm512_loadu_ps(sumPtr1+256+1536*i14)));
_mm512_storeu_ps(sumPtr1+320+1536*i14, _mm512_add_ps(sum282, _mm512_loadu_ps(sumPtr1+320+1536*i14)));
_mm512_storeu_ps(sumPtr1+384+1536*i14, _mm512_add_ps(sum283, _mm512_loadu_ps(sumPtr1+384+1536*i14)));
_mm512_storeu_ps(sumPtr1+-9706816+1536*i14, _mm512_add_ps(sum284, _mm512_loadu_ps(sumPtr1+-9706816+1536*i14)));
_mm512_storeu_ps(sumPtr1+512+1536*i14, _mm512_add_ps(sum285, _mm512_loadu_ps(sumPtr1+512+1536*i14)));
_mm512_storeu_ps(sumPtr1+576+1536*i14, _mm512_add_ps(sum286, _mm512_loadu_ps(sumPtr1+576+1536*i14)));
_mm512_storeu_ps(sumPtr1+640+1536*i14, _mm512_add_ps(sum287, _mm512_loadu_ps(sumPtr1+640+1536*i14)));
_mm512_storeu_ps(sumPtr1+-9706560+1536*i14, _mm512_add_ps(sum288, _mm512_loadu_ps(sumPtr1+-9706560+1536*i14)));
_mm512_storeu_ps(sumPtr1+768+1536*i14, _mm512_add_ps(sum289, _mm512_loadu_ps(sumPtr1+768+1536*i14)));
_mm512_storeu_ps(sumPtr1+832+1536*i14, _mm512_add_ps(sum290, _mm512_loadu_ps(sumPtr1+832+1536*i14)));
_mm512_storeu_ps(sumPtr1+896+1536*i14, _mm512_add_ps(sum291, _mm512_loadu_ps(sumPtr1+896+1536*i14)));
return;
}
(void)base1;
ptrdiff_t i15 = 1*w7;
ptrdiff_t ii9 = i15+0;
for (; i15 != 131; ++i15) {
__m512 sum292 = _mm512_set1_ps(*(float*)(biasPtr2+0+24*i15));
__m512 sum296 = _mm512_set1_ps(*(float*)(biasPtr2+4+24*i15));
__m512 sum300 = _mm512_set1_ps(*(float*)(biasPtr2+8+24*i15));
__m512 sum304 = _mm512_set1_ps(*(float*)(biasPtr2+12+24*i15));
__m512 sum308 = _mm512_set1_ps(*(float*)(biasPtr2+16+24*i15));
__m512 sum312 = _mm512_set1_ps(*(float*)(biasPtr2+20+24*i15));
__m512 sum293 = sum292;
__m512 sum294 = sum292;
__m512 sum295 = sum292;
__m512 sum297 = sum296;
__m512 sum298 = sum296;
__m512 sum299 = sum296;
__m512 sum301 = sum300;
__m512 sum302 = sum300;
__m512 sum303 = sum300;
__m512 sum305 = sum304;
__m512 sum306 = sum304;
__m512 sum307 = sum304;
__m512 sum309 = sum308;
__m512 sum310 = sum308;
__m512 sum311 = sum308;
__m512 sum313 = sum312;
__m512 sum314 = sum312;
__m512 sum315 = sum312;
for (ptrdiff_t j19 = 0; j19 < 559; ++j19) {
__m512 dat146 = _mm512_loadu_ps(datPtr2+0+256*j19);
__m512 dat147 = _mm512_loadu_ps(datPtr2+64+256*j19);
__m512 dat148 = _mm512_loadu_ps(datPtr2+128+256*j19);
__m512 dat149 = _mm512_loadu_ps(datPtr2+192+256*j19);
__m512 wt273 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i15+24*j19));
sum292 = _mm512_fmadd_ps(wt273, dat146, sum292);
sum293 = _mm512_fmadd_ps(wt273, dat147, sum293);
sum294 = _mm512_fmadd_ps(wt273, dat148, sum294);
sum295 = _mm512_fmadd_ps(wt273, dat149, sum295);
__m512 wt274 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i15+24*j19));
sum296 = _mm512_fmadd_ps(wt274, dat146, sum296);
sum297 = _mm512_fmadd_ps(wt274, dat147, sum297);
sum298 = _mm512_fmadd_ps(wt274, dat148, sum298);
sum299 = _mm512_fmadd_ps(wt274, dat149, sum299);
__m512 wt275 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i15+24*j19));
sum300 = _mm512_fmadd_ps(wt275, dat146, sum300);
sum301 = _mm512_fmadd_ps(wt275, dat147, sum301);
sum302 = _mm512_fmadd_ps(wt275, dat148, sum302);
sum303 = _mm512_fmadd_ps(wt275, dat149, sum303);
__m512 wt276 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i15+24*j19));
sum304 = _mm512_fmadd_ps(wt276, dat146, sum304);
sum305 = _mm512_fmadd_ps(wt276, dat147, sum305);
sum306 = _mm512_fmadd_ps(wt276, dat148, sum306);
sum307 = _mm512_fmadd_ps(wt276, dat149, sum307);
__m512 wt277 = _mm512_set1_ps(*(float*)(wtPtr2+16+13416*i15+24*j19));
sum308 = _mm512_fmadd_ps(wt277, dat146, sum308);
sum309 = _mm512_fmadd_ps(wt277, dat147, sum309);
sum310 = _mm512_fmadd_ps(wt277, dat148, sum310);
sum311 = _mm512_fmadd_ps(wt277, dat149, sum311);
__m512 wt278 = _mm512_set1_ps(*(float*)(wtPtr2+20+13416*i15+24*j19));
sum312 = _mm512_fmadd_ps(wt278, dat146, sum312);
sum313 = _mm512_fmadd_ps(wt278, dat147, sum313);
sum314 = _mm512_fmadd_ps(wt278, dat148, sum314);
sum315 = _mm512_fmadd_ps(wt278, dat149, sum315);
}
_mm512_storeu_ps(sumPtr1+-9707328+1536*i15, sum292);
_mm512_storeu_ps(sumPtr1+0+1536*i15, sum293);
_mm512_storeu_ps(sumPtr1+64+1536*i15, sum294);
_mm512_storeu_ps(sumPtr1+128+1536*i15, sum295);
_mm512_storeu_ps(sumPtr1+-9707072+1536*i15, sum296);
_mm512_storeu_ps(sumPtr1+256+1536*i15, sum297);
_mm512_storeu_ps(sumPtr1+320+1536*i15, sum298);
_mm512_storeu_ps(sumPtr1+384+1536*i15, sum299);
_mm512_storeu_ps(sumPtr1+-9706816+1536*i15, sum300);
_mm512_storeu_ps(sumPtr1+512+1536*i15, sum301);
_mm512_storeu_ps(sumPtr1+576+1536*i15, sum302);
_mm512_storeu_ps(sumPtr1+640+1536*i15, sum303);
_mm512_storeu_ps(sumPtr1+-9706560+1536*i15, sum304);
_mm512_storeu_ps(sumPtr1+768+1536*i15, sum305);
_mm512_storeu_ps(sumPtr1+832+1536*i15, sum306);
_mm512_storeu_ps(sumPtr1+896+1536*i15, sum307);
_mm512_storeu_ps(sumPtr1+-9706304+1536*i15, sum308);
_mm512_storeu_ps(sumPtr1+1024+1536*i15, sum309);
_mm512_storeu_ps(sumPtr1+1088+1536*i15, sum310);
_mm512_storeu_ps(sumPtr1+1152+1536*i15, sum311);
_mm512_storeu_ps(sumPtr1+-9706048+1536*i15, sum312);
_mm512_storeu_ps(sumPtr1+1280+1536*i15, sum313);
_mm512_storeu_ps(sumPtr1+1344+1536*i15, sum314);
_mm512_storeu_ps(sumPtr1+1408+1536*i15, sum315);
if (i15 >= ii9) return;
}
__m512 sum316 = _mm512_set1_ps(*(float*)(biasPtr2+0+24*i15));
__m512 sum320 = _mm512_set1_ps(*(float*)(biasPtr2+4+24*i15));
__m512 sum324 = _mm512_set1_ps(*(float*)(biasPtr2+8+24*i15));
__m512 sum328 = _mm512_set1_ps(*(float*)(biasPtr2+12+24*i15));
__m512 sum317 = sum316;
__m512 sum318 = sum316;
__m512 sum319 = sum316;
__m512 sum321 = sum320;
__m512 sum322 = sum320;
__m512 sum323 = sum320;
__m512 sum325 = sum324;
__m512 sum326 = sum324;
__m512 sum327 = sum324;
__m512 sum329 = sum328;
__m512 sum330 = sum328;
__m512 sum331 = sum328;
for (ptrdiff_t j20 = 0; j20 < 559; ++j20) {
__m512 dat150 = _mm512_loadu_ps(datPtr2+0+256*j20);
__m512 dat151 = _mm512_loadu_ps(datPtr2+64+256*j20);
__m512 dat152 = _mm512_loadu_ps(datPtr2+128+256*j20);
__m512 dat153 = _mm512_loadu_ps(datPtr2+192+256*j20);
__m512 wt279 = _mm512_set1_ps(*(float*)(wtPtr2+0+13416*i15+16*j20));
sum316 = _mm512_fmadd_ps(wt279, dat150, sum316);
sum317 = _mm512_fmadd_ps(wt279, dat151, sum317);
sum318 = _mm512_fmadd_ps(wt279, dat152, sum318);
sum319 = _mm512_fmadd_ps(wt279, dat153, sum319);
__m512 wt280 = _mm512_set1_ps(*(float*)(wtPtr2+4+13416*i15+16*j20));
sum320 = _mm512_fmadd_ps(wt280, dat150, sum320);
sum321 = _mm512_fmadd_ps(wt280, dat151, sum321);
sum322 = _mm512_fmadd_ps(wt280, dat152, sum322);
sum323 = _mm512_fmadd_ps(wt280, dat153, sum323);
__m512 wt281 = _mm512_set1_ps(*(float*)(wtPtr2+8+13416*i15+16*j20));
sum324 = _mm512_fmadd_ps(wt281, dat150, sum324);
sum325 = _mm512_fmadd_ps(wt281, dat151, sum325);
sum326 = _mm512_fmadd_ps(wt281, dat152, sum326);
sum327 = _mm512_fmadd_ps(wt281, dat153, sum327);
__m512 wt282 = _mm512_set1_ps(*(float*)(wtPtr2+12+13416*i15+16*j20));
sum328 = _mm512_fmadd_ps(wt282, dat150, sum328);
sum329 = _mm512_fmadd_ps(wt282, dat151, sum329);
sum330 = _mm512_fmadd_ps(wt282, dat152, sum330);
sum331 = _mm512_fmadd_ps(wt282, dat153, sum331);
}
_mm512_storeu_ps(sumPtr1+-9707328+1536*i15, sum316);
_mm512_storeu_ps(sumPtr1+0+1536*i15, sum317);
_mm512_storeu_ps(sumPtr1+64+1536*i15, sum318);
_mm512_storeu_ps(sumPtr1+128+1536*i15, sum319);
_mm512_storeu_ps(sumPtr1+-9707072+1536*i15, sum320);
_mm512_storeu_ps(sumPtr1+256+1536*i15, sum321);
_mm512_storeu_ps(sumPtr1+320+1536*i15, sum322);
_mm512_storeu_ps(sumPtr1+384+1536*i15, sum323);
_mm512_storeu_ps(sumPtr1+-9706816+1536*i15, sum324);
_mm512_storeu_ps(sumPtr1+512+1536*i15, sum325);
_mm512_storeu_ps(sumPtr1+576+1536*i15, sum326);
_mm512_storeu_ps(sumPtr1+640+1536*i15, sum327);
_mm512_storeu_ps(sumPtr1+-9706560+1536*i15, sum328);
_mm512_storeu_ps(sumPtr1+768+1536*i15, sum329);
_mm512_storeu_ps(sumPtr1+832+1536*i15, sum330);
_mm512_storeu_ps(sumPtr1+896+1536*i15, sum331);
break;
}
}
}

static void Example3LoomProduceSums1(Example3ThreaderTeam1* team16, char** tensors5) {
void* tuple1[4];
tuple1[0] = tensors5;
for (ptrdiff_t epoch2 = 0; epoch2 < 1; ++epoch2) {
tuple1[1] = (void*)epoch2;
for (ptrdiff_t field2 = 0; field2 < 4; ++field2) {
tuple1[2] = (void*)field2;
ptrdiff_t node7 = Example3LoomProduceSums1FieldTbl1[0+2*field2];
ptrdiff_t step2 = Example3LoomProduceSums1FieldTbl1[1+2*field2];
ptrdiff_t past1 = Example3LoomProduceSums1FieldTbl1[2+2*field2];
for (; node7 < past1; node7 += step2) {
tuple1[3] = (void*)node7;
Example3ThreaderTask1 task9;
task9.callee1 = Example3LoomProduceSums1Callee1;
task9.any1 = tuple1;
task9.nd1 = 4;
task9.hull1[0] = 132;
task9.hull1[1] = step2;
task9.hull1[2] = 40;
task9.hull1[3] = 3;
Example3ThreaderDo1(team16, &task9);
}
}
}
}

static void Example3LoomConsumeSums1Callee1(Example3ThreaderTask1* task10, int64_t* pt10) {
char** tensors8 = task10->any1;
ptrdiff_t cell1 = 0;
ptrdiff_t strip1 = 0;
ptrdiff_t chan1 = pt10[2];
ptrdiff_t group2 = pt10[3];
char*restrict sumPtr2 = tensors8[0];
char*restrict datPtr3 = tensors8[1];
ptrdiff_t i16 = 1*group2;
ptrdiff_t j21 = 3*chan1;
ptrdiff_t jj4 = j21+(chan1 < 262 ? 2 : 3);
for (; j21 <= jj4; ++j21) {
ptrdiff_t k11 = 5*strip1;
for (; k11 != 4; ++k11) {
ptrdiff_t l1 = 8*cell1;
for (; l1 != 7; ++l1) {
__m512 load1 = _mm512_loadu_ps(sumPtr2+0+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load12 = _mm512_loadu_ps(sumPtr2+64+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load23 = _mm512_loadu_ps(sumPtr2+128+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load34 = _mm512_loadu_ps(sumPtr2+192+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load2 = _mm512_loadu_ps(sumPtr2+202240+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load13 = _mm512_loadu_ps(sumPtr2+202304+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load24 = _mm512_loadu_ps(sumPtr2+202368+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load35 = _mm512_loadu_ps(sumPtr2+202432+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load3 = _mm512_loadu_ps(sumPtr2+1415680+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load14 = _mm512_loadu_ps(sumPtr2+1415744+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load25 = _mm512_loadu_ps(sumPtr2+1415808+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load36 = _mm512_loadu_ps(sumPtr2+1415872+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512i cast1 = _mm512_castps_si512(load2);
__m512i cast11 = _mm512_castps_si512(load13);
__m512i cast21 = _mm512_castps_si512(load24);
__m512i cast31 = _mm512_castps_si512(load35);
__m512i cast2 = _mm512_castps_si512(load3);
__m512i cast12 = _mm512_castps_si512(load14);
__m512i cast22 = _mm512_castps_si512(load25);
__m512i cast32 = _mm512_castps_si512(load36);
__m512 join2 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast2, cast1, 1));
__m512 join7 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast12, cast11, 1));
__m512 join12 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast22, cast21, 1));
__m512 join17 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast32, cast31, 1));
__m512 add1 = _mm512_add_ps(load1, join2);
__m512 add6 = _mm512_add_ps(load12, join7);
__m512 add11 = _mm512_add_ps(load23, join12);
__m512 add16 = _mm512_add_ps(load34, join17);
__m512 load4 = _mm512_loadu_ps(sumPtr2+404480+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load15 = _mm512_loadu_ps(sumPtr2+404544+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load26 = _mm512_loadu_ps(sumPtr2+404608+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load37 = _mm512_loadu_ps(sumPtr2+404672+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load5 = _mm512_loadu_ps(sumPtr2+1617920+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load16 = _mm512_loadu_ps(sumPtr2+1617984+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load27 = _mm512_loadu_ps(sumPtr2+1618048+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load38 = _mm512_loadu_ps(sumPtr2+1618112+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512i cast3 = _mm512_castps_si512(load4);
__m512i cast13 = _mm512_castps_si512(load15);
__m512i cast23 = _mm512_castps_si512(load26);
__m512i cast33 = _mm512_castps_si512(load37);
__m512i cast4 = _mm512_castps_si512(load5);
__m512i cast14 = _mm512_castps_si512(load16);
__m512i cast24 = _mm512_castps_si512(load27);
__m512i cast34 = _mm512_castps_si512(load38);
__m512 join3 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast4, cast3, 2));
__m512 join8 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast14, cast13, 2));
__m512 join13 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast24, cast23, 2));
__m512 join18 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast34, cast33, 2));
__m512 load6 = _mm512_loadu_ps(sumPtr2+606720+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load17 = _mm512_loadu_ps(sumPtr2+606784+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load28 = _mm512_loadu_ps(sumPtr2+606848+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load39 = _mm512_loadu_ps(sumPtr2+606912+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load7 = _mm512_loadu_ps(sumPtr2+1820160+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load18 = _mm512_loadu_ps(sumPtr2+1820224+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load29 = _mm512_loadu_ps(sumPtr2+1820288+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load40 = _mm512_loadu_ps(sumPtr2+1820352+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512i cast5 = _mm512_castps_si512(load6);
__m512i cast15 = _mm512_castps_si512(load17);
__m512i cast25 = _mm512_castps_si512(load28);
__m512i cast35 = _mm512_castps_si512(load39);
__m512i cast6 = _mm512_castps_si512(load7);
__m512i cast16 = _mm512_castps_si512(load18);
__m512i cast26 = _mm512_castps_si512(load29);
__m512i cast36 = _mm512_castps_si512(load40);
__m512 join4 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast6, cast5, 3));
__m512 join9 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast16, cast15, 3));
__m512 join14 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast26, cast25, 3));
__m512 join19 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast36, cast35, 3));
__m512 add2 = _mm512_add_ps(join3, join4);
__m512 add7 = _mm512_add_ps(join8, join9);
__m512 add12 = _mm512_add_ps(join13, join14);
__m512 add17 = _mm512_add_ps(join18, join19);
__m512 add3 = _mm512_add_ps(add1, add2);
__m512 add8 = _mm512_add_ps(add6, add7);
__m512 add13 = _mm512_add_ps(add11, add12);
__m512 add18 = _mm512_add_ps(add16, add17);
__m512 load8 = _mm512_loadu_ps(sumPtr2+808960+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load19 = _mm512_loadu_ps(sumPtr2+809024+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load30 = _mm512_loadu_ps(sumPtr2+809088+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load41 = _mm512_loadu_ps(sumPtr2+809152+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load9 = _mm512_loadu_ps(sumPtr2+2022400+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load20 = _mm512_loadu_ps(sumPtr2+2022464+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load31 = _mm512_loadu_ps(sumPtr2+2022528+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load42 = _mm512_loadu_ps(sumPtr2+2022592+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512i cast7 = _mm512_castps_si512(load8);
__m512i cast17 = _mm512_castps_si512(load19);
__m512i cast27 = _mm512_castps_si512(load30);
__m512i cast37 = _mm512_castps_si512(load41);
__m512i cast8 = _mm512_castps_si512(load9);
__m512i cast18 = _mm512_castps_si512(load20);
__m512i cast28 = _mm512_castps_si512(load31);
__m512i cast38 = _mm512_castps_si512(load42);
__m512 join5 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast8, cast7, 4));
__m512 join10 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast18, cast17, 4));
__m512 join15 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast28, cast27, 4));
__m512 join20 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast38, cast37, 4));
__m512 load10 = _mm512_loadu_ps(sumPtr2+1011200+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load21 = _mm512_loadu_ps(sumPtr2+1011264+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load32 = _mm512_loadu_ps(sumPtr2+1011328+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load43 = _mm512_loadu_ps(sumPtr2+1011392+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load11 = _mm512_loadu_ps(sumPtr2+2224640+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load22 = _mm512_loadu_ps(sumPtr2+2224704+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load33 = _mm512_loadu_ps(sumPtr2+2224768+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load44 = _mm512_loadu_ps(sumPtr2+2224832+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512i cast9 = _mm512_castps_si512(load10);
__m512i cast19 = _mm512_castps_si512(load21);
__m512i cast29 = _mm512_castps_si512(load32);
__m512i cast39 = _mm512_castps_si512(load43);
__m512i cast10 = _mm512_castps_si512(load11);
__m512i cast20 = _mm512_castps_si512(load22);
__m512i cast30 = _mm512_castps_si512(load33);
__m512i cast40 = _mm512_castps_si512(load44);
__m512 join6 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast10, cast9, 5));
__m512 join11 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast20, cast19, 5));
__m512 join16 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast30, cast29, 5));
__m512 join21 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast40, cast39, 5));
__m512 add4 = _mm512_add_ps(join5, join6);
__m512 add9 = _mm512_add_ps(join10, join11);
__m512 add14 = _mm512_add_ps(join15, join16);
__m512 add19 = _mm512_add_ps(join20, join21);
__m512 add5 = _mm512_add_ps(add3, add4);
__m512 add10 = _mm512_add_ps(add8, add9);
__m512 add15 = _mm512_add_ps(add13, add14);
__m512 add20 = _mm512_add_ps(add18, add19);
_mm512_mask_storeu_ps(datPtr3+0+6427440*i16+8136*j21+1808*k11+64*l1, 65535, add5);
_mm512_mask_storeu_ps(datPtr3+452+6427440*i16+8136*j21+1808*k11+64*l1, 65535, add10);
_mm512_mask_storeu_ps(datPtr3+904+6427440*i16+8136*j21+1808*k11+64*l1, 65535, add15);
_mm512_mask_storeu_ps(datPtr3+1356+6427440*i16+8136*j21+1808*k11+64*l1, 65535, add20);
}
__m512 load45 = _mm512_loadu_ps(sumPtr2+0+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load51 = _mm512_loadu_ps(sumPtr2+64+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load57 = _mm512_loadu_ps(sumPtr2+128+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load63 = _mm512_loadu_ps(sumPtr2+192+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load46 = _mm512_loadu_ps(sumPtr2+202240+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load52 = _mm512_loadu_ps(sumPtr2+202304+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load58 = _mm512_loadu_ps(sumPtr2+202368+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load64 = _mm512_loadu_ps(sumPtr2+202432+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512i cast41 = _mm512_castps_si512(load46);
__m512i cast46 = _mm512_castps_si512(load52);
__m512i cast51 = _mm512_castps_si512(load58);
__m512i cast56 = _mm512_castps_si512(load64);
__m512 join22 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast41, cast41, 1));
__m512 join27 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast46, cast46, 1));
__m512 join32 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast51, cast51, 1));
__m512 join37 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast56, cast56, 1));
__m512 add21 = _mm512_add_ps(load45, join22);
__m512 add26 = _mm512_add_ps(load51, join27);
__m512 add31 = _mm512_add_ps(load57, join32);
__m512 add36 = _mm512_add_ps(load63, join37);
__m512 load47 = _mm512_loadu_ps(sumPtr2+404480+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load53 = _mm512_loadu_ps(sumPtr2+404544+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load59 = _mm512_loadu_ps(sumPtr2+404608+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load65 = _mm512_loadu_ps(sumPtr2+404672+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512i cast42 = _mm512_castps_si512(load47);
__m512i cast47 = _mm512_castps_si512(load53);
__m512i cast52 = _mm512_castps_si512(load59);
__m512i cast57 = _mm512_castps_si512(load65);
__m512 join23 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast42, cast42, 2));
__m512 join28 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast47, cast47, 2));
__m512 join33 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast52, cast52, 2));
__m512 join38 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast57, cast57, 2));
__m512 load48 = _mm512_loadu_ps(sumPtr2+606720+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load54 = _mm512_loadu_ps(sumPtr2+606784+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load60 = _mm512_loadu_ps(sumPtr2+606848+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load66 = _mm512_loadu_ps(sumPtr2+606912+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512i cast43 = _mm512_castps_si512(load48);
__m512i cast48 = _mm512_castps_si512(load54);
__m512i cast53 = _mm512_castps_si512(load60);
__m512i cast58 = _mm512_castps_si512(load66);
__m512 join24 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast43, cast43, 3));
__m512 join29 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast48, cast48, 3));
__m512 join34 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast53, cast53, 3));
__m512 join39 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast58, cast58, 3));
__m512 add22 = _mm512_add_ps(join23, join24);
__m512 add27 = _mm512_add_ps(join28, join29);
__m512 add32 = _mm512_add_ps(join33, join34);
__m512 add37 = _mm512_add_ps(join38, join39);
__m512 add23 = _mm512_add_ps(add21, add22);
__m512 add28 = _mm512_add_ps(add26, add27);
__m512 add33 = _mm512_add_ps(add31, add32);
__m512 add38 = _mm512_add_ps(add36, add37);
__m512 load49 = _mm512_loadu_ps(sumPtr2+808960+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load55 = _mm512_loadu_ps(sumPtr2+809024+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load61 = _mm512_loadu_ps(sumPtr2+809088+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load67 = _mm512_loadu_ps(sumPtr2+809152+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512i cast44 = _mm512_castps_si512(load49);
__m512i cast49 = _mm512_castps_si512(load55);
__m512i cast54 = _mm512_castps_si512(load61);
__m512i cast59 = _mm512_castps_si512(load67);
__m512 join25 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast44, cast44, 4));
__m512 join30 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast49, cast49, 4));
__m512 join35 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast54, cast54, 4));
__m512 join40 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast59, cast59, 4));
__m512 load50 = _mm512_loadu_ps(sumPtr2+1011200+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load56 = _mm512_loadu_ps(sumPtr2+1011264+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load62 = _mm512_loadu_ps(sumPtr2+1011328+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512 load68 = _mm512_loadu_ps(sumPtr2+1011392+48537600*i16+9707520*k11+1213440*l1+256*j21);
__m512i cast45 = _mm512_castps_si512(load50);
__m512i cast50 = _mm512_castps_si512(load56);
__m512i cast55 = _mm512_castps_si512(load62);
__m512i cast60 = _mm512_castps_si512(load68);
__m512 join26 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast45, cast45, 5));
__m512 join31 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast50, cast50, 5));
__m512 join36 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast55, cast55, 5));
__m512 join41 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast60, cast60, 5));
__m512 add24 = _mm512_add_ps(join25, join26);
__m512 add29 = _mm512_add_ps(join30, join31);
__m512 add34 = _mm512_add_ps(join35, join36);
__m512 add39 = _mm512_add_ps(join40, join41);
__m512 add25 = _mm512_add_ps(add23, add24);
__m512 add30 = _mm512_add_ps(add28, add29);
__m512 add35 = _mm512_add_ps(add33, add34);
__m512 add40 = _mm512_add_ps(add38, add39);
_mm512_mask_storeu_ps(datPtr3+0+6427440*i16+8136*j21+1808*k11+64*l1, 1, add25);
_mm512_mask_storeu_ps(datPtr3+452+6427440*i16+8136*j21+1808*k11+64*l1, 1, add30);
_mm512_mask_storeu_ps(datPtr3+904+6427440*i16+8136*j21+1808*k11+64*l1, 1, add35);
_mm512_mask_storeu_ps(datPtr3+1356+6427440*i16+8136*j21+1808*k11+64*l1, 1, add40);
}
ptrdiff_t l2 = 8*cell1;
for (; l2 != 7; ++l2) {
__m512 load69 = _mm512_loadu_ps(sumPtr2+0+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load80 = _mm512_loadu_ps(sumPtr2+64+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load70 = _mm512_loadu_ps(sumPtr2+202240+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load81 = _mm512_loadu_ps(sumPtr2+202304+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load71 = _mm512_loadu_ps(sumPtr2+1415680+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load82 = _mm512_loadu_ps(sumPtr2+1415744+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512i cast61 = _mm512_castps_si512(load70);
__m512i cast71 = _mm512_castps_si512(load81);
__m512i cast62 = _mm512_castps_si512(load71);
__m512i cast72 = _mm512_castps_si512(load82);
__m512 join42 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast62, cast61, 1));
__m512 join47 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast72, cast71, 1));
__m512 add41 = _mm512_add_ps(load69, join42);
__m512 add46 = _mm512_add_ps(load80, join47);
__m512 load72 = _mm512_loadu_ps(sumPtr2+404480+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load83 = _mm512_loadu_ps(sumPtr2+404544+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load73 = _mm512_loadu_ps(sumPtr2+1617920+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load84 = _mm512_loadu_ps(sumPtr2+1617984+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512i cast63 = _mm512_castps_si512(load72);
__m512i cast73 = _mm512_castps_si512(load83);
__m512i cast64 = _mm512_castps_si512(load73);
__m512i cast74 = _mm512_castps_si512(load84);
__m512 join43 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast64, cast63, 2));
__m512 join48 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast74, cast73, 2));
__m512 load74 = _mm512_loadu_ps(sumPtr2+606720+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load85 = _mm512_loadu_ps(sumPtr2+606784+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load75 = _mm512_loadu_ps(sumPtr2+1820160+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load86 = _mm512_loadu_ps(sumPtr2+1820224+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512i cast65 = _mm512_castps_si512(load74);
__m512i cast75 = _mm512_castps_si512(load85);
__m512i cast66 = _mm512_castps_si512(load75);
__m512i cast76 = _mm512_castps_si512(load86);
__m512 join44 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast66, cast65, 3));
__m512 join49 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast76, cast75, 3));
__m512 add42 = _mm512_add_ps(join43, join44);
__m512 add47 = _mm512_add_ps(join48, join49);
__m512 add43 = _mm512_add_ps(add41, add42);
__m512 add48 = _mm512_add_ps(add46, add47);
__m512 load76 = _mm512_loadu_ps(sumPtr2+808960+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load87 = _mm512_loadu_ps(sumPtr2+809024+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load77 = _mm512_loadu_ps(sumPtr2+2022400+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load88 = _mm512_loadu_ps(sumPtr2+2022464+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512i cast67 = _mm512_castps_si512(load76);
__m512i cast77 = _mm512_castps_si512(load87);
__m512i cast68 = _mm512_castps_si512(load77);
__m512i cast78 = _mm512_castps_si512(load88);
__m512 join45 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast68, cast67, 4));
__m512 join50 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast78, cast77, 4));
__m512 load78 = _mm512_loadu_ps(sumPtr2+1011200+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load89 = _mm512_loadu_ps(sumPtr2+1011264+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load79 = _mm512_loadu_ps(sumPtr2+2224640+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load90 = _mm512_loadu_ps(sumPtr2+2224704+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512i cast69 = _mm512_castps_si512(load78);
__m512i cast79 = _mm512_castps_si512(load89);
__m512i cast70 = _mm512_castps_si512(load79);
__m512i cast80 = _mm512_castps_si512(load90);
__m512 join46 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast70, cast69, 5));
__m512 join51 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast80, cast79, 5));
__m512 add44 = _mm512_add_ps(join45, join46);
__m512 add49 = _mm512_add_ps(join50, join51);
__m512 add45 = _mm512_add_ps(add43, add44);
__m512 add50 = _mm512_add_ps(add48, add49);
_mm512_mask_storeu_ps(datPtr3+0+6427440*i16+8136*j21+1808*k11+64*l2, 65535, add45);
_mm512_mask_storeu_ps(datPtr3+452+6427440*i16+8136*j21+1808*k11+64*l2, 65535, add50);
}
__m512 load91 = _mm512_loadu_ps(sumPtr2+0+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load97 = _mm512_loadu_ps(sumPtr2+64+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load92 = _mm512_loadu_ps(sumPtr2+202240+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load98 = _mm512_loadu_ps(sumPtr2+202304+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512i cast81 = _mm512_castps_si512(load92);
__m512i cast86 = _mm512_castps_si512(load98);
__m512 join52 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast81, cast81, 1));
__m512 join57 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast86, cast86, 1));
__m512 add51 = _mm512_add_ps(load91, join52);
__m512 add56 = _mm512_add_ps(load97, join57);
__m512 load93 = _mm512_loadu_ps(sumPtr2+404480+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load99 = _mm512_loadu_ps(sumPtr2+404544+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512i cast82 = _mm512_castps_si512(load93);
__m512i cast87 = _mm512_castps_si512(load99);
__m512 join53 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast82, cast82, 2));
__m512 join58 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast87, cast87, 2));
__m512 load94 = _mm512_loadu_ps(sumPtr2+606720+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load100 = _mm512_loadu_ps(sumPtr2+606784+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512i cast83 = _mm512_castps_si512(load94);
__m512i cast88 = _mm512_castps_si512(load100);
__m512 join54 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast83, cast83, 3));
__m512 join59 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast88, cast88, 3));
__m512 add52 = _mm512_add_ps(join53, join54);
__m512 add57 = _mm512_add_ps(join58, join59);
__m512 add53 = _mm512_add_ps(add51, add52);
__m512 add58 = _mm512_add_ps(add56, add57);
__m512 load95 = _mm512_loadu_ps(sumPtr2+808960+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load101 = _mm512_loadu_ps(sumPtr2+809024+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512i cast84 = _mm512_castps_si512(load95);
__m512i cast89 = _mm512_castps_si512(load101);
__m512 join55 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast84, cast84, 4));
__m512 join60 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast89, cast89, 4));
__m512 load96 = _mm512_loadu_ps(sumPtr2+1011200+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512 load102 = _mm512_loadu_ps(sumPtr2+1011264+48537600*i16+9707520*k11+1213440*l2+256*j21);
__m512i cast85 = _mm512_castps_si512(load96);
__m512i cast90 = _mm512_castps_si512(load102);
__m512 join56 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast85, cast85, 5));
__m512 join61 = _mm512_castsi512_ps(_mm512_alignr_epi32(cast90, cast90, 5));
__m512 add54 = _mm512_add_ps(join55, join56);
__m512 add59 = _mm512_add_ps(join60, join61);
__m512 add55 = _mm512_add_ps(add53, add54);
__m512 add60 = _mm512_add_ps(add58, add59);
_mm512_mask_storeu_ps(datPtr3+0+6427440*i16+8136*j21+1808*k11+64*l2, 1, add55);
_mm512_mask_storeu_ps(datPtr3+452+6427440*i16+8136*j21+1808*k11+64*l2, 1, add60);
}
}

static void Example3LoomConsumeSums1(Example3ThreaderTeam1* team17, char** tensors7) {
Example3ThreaderTask1 task11;
task11.callee1 = Example3LoomConsumeSums1Callee1;
task11.any1 = tensors7;
task11.nd1 = 4;
task11.hull1[0] = 1;
task11.hull1[1] = 1;
task11.hull1[2] = 263;
task11.hull1[3] = 3;
Example3ThreaderDo1(team17, &task11);
}

struct Example3Net {
char* alloc1;
char* align1;
};

void Example3NetDestroy(Example3Net* net2) {
free(net2->alloc1);
free(net2);
}

char* Example3NetCreate(
Example3Net** net1,
Example3Params* params1,
ptrdiff_t threads1
) {
if (__builtin_expect(!__builtin_cpu_supports("avx512f"), 0)) {
return Example3Errmsg1(__LINE__, "CPU does not support AVX512F");
}
char* alloc3 = malloc(254376903);
if (__builtin_expect(!alloc3, 0)) {
return Example3Errmsg1(__LINE__, "errno %d", errno);
}
char* align3 = (void*)(((size_t)alloc3+63)&-64);
Example3ThreaderTeam1* team12 = 0;
char* err8 = Example3ThreaderCreate1(&team12, threads1);
if (__builtin_expect(!!err8, 0)) {
free(alloc3);
return err8;
}
{
char* tensors12[] = {
(char*)params1->outWeights,
(char*)params1->outBiases,
align3+0
};
Example3LoomArrangeFilts1(team12, tensors12);
}
Example3ThreaderDestroy1(team12);
Example3Net* net5 = malloc(sizeof(Example3Net));
if (__builtin_expect(!net5, 0)) {
char* msg6 = Example3Errmsg1(__LINE__, "errno %d", errno);
free(alloc3);
return msg6;
}
net5->alloc1 = alloc3;
net5->align1 = align3;
*net1 = net5;
return 0;
}

struct Example3Engine {
Example3Net* net3;
Example3ThreaderTeam1* team11;
char* alloc2;
char* align2;
};

char* Example3EnginePthreadT(
Example3Engine* eng2,
ptrdiff_t idx2,
pthread_t* to1
) {
return Example3ThreaderPthreadT1(to1, eng2->team11, idx2);
}

void Example3EngineDestroy(Example3Engine* eng3) {
Example3ThreaderDestroy1(eng3->team11);
free(eng3->alloc2);
free(eng3);
}

char* Example3EngineCreate(
Example3Engine** eng4,
Example3Net* net4,
ptrdiff_t threads2
) {
Example3Engine* eng5 = malloc(sizeof(Example3Engine));
if (__builtin_expect(!eng5, 0)) {
return Example3Errmsg1(__LINE__, "errno %d", errno);
}
char* alloc4 = malloc(214302783);
if (__builtin_expect(!alloc4, 0)) {
char* msg5 = Example3Errmsg1(__LINE__, "errno %d", errno);
free(eng5);
return msg5;
}
eng5->alloc2 = alloc4;
eng5->align2 = (void*)(((size_t)alloc4+63)&-64);
char* err7 = Example3ThreaderCreate1(&eng5->team11, threads2);
if (__builtin_expect(!!err7, 0)) {
free(eng5);
free(alloc4);
return err7;
}
eng5->net3 = net4;
*eng4 = eng5;
return 0;
}

void Example3EngineInference(
Example3Engine* eng1,
float* inData,
float* outData
) {
char* netAlign1 = eng1->net3->align1;
Example3ThreaderTeam1* team14 = eng1->team11;
char* align4 = eng1->align2;
{
char* tensors9[] = {
(char*)inData,
align4+0
};
Example3LoomArrangeDats1(team14, tensors9);
char* tensors10[] = {
netAlign1+0,
align4+0,
align4+68689920
};
Example3LoomProduceSums1(team14, tensors10);
char* tensors11[] = {
align4+68689920,
(char*)outData
};
Example3LoomConsumeSums1(team14, tensors11);
}
}

// End of file.

Top