Ansor Transform Steps 示例 MatMul 1
Compute DAG
p0 = PLACEHOLDER [1, 196, 512]
p1 = PLACEHOLDER [1, 512, 2048]
C(b, i, j) += (p0[0, i, k]*p1[0, k, j])
Ansor Log
{"i": [["[\"3ed6b8b696d74a428d188b1a05553246\", [1, 196, 512], [1, 512, 2048], [1, 196, 2048]]", "cuda -keys=cuda,gpu -arch=sm_75 -max_num_threads=1024 -thread_warp_size=32", [-1, 16, 64, 49152, 2147483647, 1024, 8, 32], "", 0, []], [[], [["CHW", 2, "local"], ["SP", 2, 0, 1, [1, 1, 1, 1], 1], ["SP", 2, 5, 196, [1, 4, 1, 7], 1], ["SP", 2, 10, 2048, [1, 16, 1, 4], 1], ["SP", 2, 15, 512, [4, 8], 1], ["RE", 2, [0, 5, 10, 1, 6, 11, 2, 7, 12, 15, 16, 3, 8, 13, 17, 4, 9, 14]], ["FSP", 3, 0, 1, 3], ["FSP", 3, 4, 2, 3], ["FSP", 3, 8, 3, 3], ["RE", 3, [0, 4, 8, 1, 5, 9, 2, 6, 10, 3, 7, 11]], ["CA", 2, 3, 8], ["CHR", 1, "shared", [2]], ["CA", 2, 3, 9], ["CHR", 0, "shared", [3]], ["CA", 1, 4, 9], ["FU", 5, [0, 1, 2]], ["AN", 5, 0, 5], ["FU", 5, [1, 2, 3]], ["AN", 5, 1, 4], ["FU", 5, [2, 3, 4]], ["AN", 5, 2, 6], ["FU", 3, [0, 1, 2]], ["SP", 3, 0, 8, [2], 1], ["AN", 3, 1, 2], ["FFSP", 3, 0, [3, 2, 1], 1, 1], ["AN", 3, 1, 6], ["FU", 1, [0, 1, 2]], ["SP", 1, 0, 56, [2], 1], ["AN", 1, 1, 2], ["FFSP", 1, 0, [3, 2, 1], 1, 1], ["AN", 1, 1, 6], ["PR", 4, 0, "auto_unroll_max_step$1024"]]]], "r": [[7.10212e-05], 0, 3.37947, 1714528154], "v": "v0.6"}
Python Code
C_b, C_i, C_j, C_k = tuple(C.op.axis) + tuple(C.op.reduce_axis)
# ["CHW", 2, "local"],
C_local, = s.cache_write([C], "local")
C_local_b, C_local_i, C_local_j, C_local_k = tuple(C_local.op.axis) + tuple(C_local.op.reduce_axis)
# ["SP", 2, 0, 1, [1, 1, 1, 1], 1],
C_local_b1, C_local_b0 = s[C_local].split(C_local_b, factor=1)
C_local_b2, C_local_b1 = s[C_local].split(C_local_b1, factor=1)
C_local_b3, C_local_b2 = s[C_local].split(C_local_b2, factor=1)
C_local_b4, C_local_b3 = s[C_local].split(C_local_b3, factor=1)
# ["SP", 2, 5, 196, [1, 4, 1, 7], 1],
C_local_i1, C_local_i0 = s[C_local].split(C_local_i, factor=7)
C_local_i2, C_local_i1 = s[C_local].split(C_local_i1, factor=1)
C_local_i3, C_local_i2 = s[C_local].split(C_local_i2, factor=4)
C_local_i4, C_local_i3 = s[C_local].split(C_local_i3, factor=1)
# ["SP", 2, 10, 2048, [1, 16, 1, 4], 1],
C_local_j1, C_local_j0 = s[C_local].split(C_local_j, factor=4)
C_local_j2, C_local_j1 = s[C_local].split(C_local_j1, factor=1)
C_local_j3, C_local_j2 = s[C_local].split(C_local_j2, factor=16)
C_local_j4, C_local_j3 = s[C_local].split(C_local_j3, factor=1)
# ["SP", 2, 15, 512, [4, 8], 1],
C_local_k1, C_local_k0 = s[C_local].split(C_local_k, factor=8)
C_local_k2, C_local_k1 = s[C_local].split(C_local_k1, factor=4)
# ["RE", 2, [0, 5, 10, 1, 6, 11, 2, 7, 12, 15, 16, 3, 8, 13, 17, 4, 9, 14]],
s[C_local].reorder(C_local_b4, C_local_i4, C_local_j4, C_local_b3, C_local_i3, C_local_j3, C_local_b2, C_local_i2, C_local_j2, C_local_k2, C_local_k1, C_local_b1, C_local_i1, C_local_j1, C_local_k0, C_local_b0, C_local_i0, C_local_j0)
# ["FSP", 3, 0, 1, 3],
C_b1, C_b0 = s[C].split(C_b, factor=1)
C_b2, C_b1 = s[C].split(C_b1, factor=1)
C_b3, C_b2 = s[C].split(C_b2, factor=1)
# ["FSP", 3, 4, 2, 3],
C_i1, C_i0 = s[C].split(C_i, factor=7)
C_i2, C_i1 = s[C].split(C_i1, factor=4)
C_i3, C_i2 = s[C].split(C_i2, factor=1)
# ["FSP", 3, 8, 3, 3],
C_j1, C_j0 = s[C].split(C_j, factor=4)
C_j2, C_j1 = s[C].split(C_j1, factor=16)
C_j3, C_j2 = s[C].split(C_j2, factor=1)
# ["RE", 3, [0, 4, 8, 1, 5, 9, 2, 6, 10, 3, 7, 11]],
s[C].reorder(C_b3, C_i3, C_j3, C_b2, C_i2, C_j2, C_b1, C_i1, C_j1, C_b0, C_i0, C_j0)
# ["CA", 2, 3, 8],
s[C_local].compute_at(s[C], C_j1)
# ["CHR", 1, "shared", [2]],
B_shared = s.cache_read(B, "shared", [C_local])
B_shared_ax0, B_shared_ax1, B_shared_ax2 = tuple(B_shared.op.axis)
# ["CA", 2, 3, 9],
s[B_shared].compute_at(s[C_local], C_local_k2)
# ["CHR", 0, "shared", [3]],
A_shared = s.cache_read(A, "shared", [C_local])
A_shared_ax0, A_shared_ax1, A_shared_ax2 = tuple(A_shared.op.axis)
# ["CA", 1, 4, 9],
s[A_shared].compute_at(s[C_local], C_local_k2)
# ["FU", 5, [0, 1, 2]],
C_fused_b3_i3_j3 = s[C].fuse(C_b3, C_i3, C_j3)
# ["AN", 5, 0, 5],
s[C].bind(C_fused_b3_i3_j3, te.thread_axis("blockIdx.x"))
# ["FU", 5, [1, 2, 3]],
C_fused_b2_i2_j2 = s[C].fuse(C_b2, C_i2, C_j2)
# ["AN", 5, 1, 4],
s[C].bind(C_fused_b2_i2_j2, te.thread_axis("vthread"))
# ["FU", 5, [2, 3, 4]],
C_fused_b1_i1_j1 = s[C].fuse(C_b1, C_i1, C_j1)
# ["AN", 5, 2, 6],
s[C].bind(C_fused_b1_i1_j1, te.thread_axis("threadIdx.x"))
# ["FU", 3, [0, 1, 2]],
B_fused_shared_ax0_ax1_ax2 = s[B_shared].fuse(B_shared_ax0, B_shared_ax1, B_shared_ax2)
# ["SP", 3, 0, 8, [2], 1],
B_fused_shared_ax0_ax1_ax2_o, B_fused_shared_ax0_ax1_ax2_i = s[B_shared].split(B_fused_shared_ax0_ax1_ax2, factor=2)
# ["AN", 3, 1, 2],
s[B_shared].vectorize(B_fused_shared_ax0_ax1_ax2_i)
# ["FFSP", 3, 0, [3, 2, 1], 1, 1],
B_fused_shared_ax0_ax1_ax2_o_o, B_fused_shared_ax0_ax1_ax2_o_i = s[B_shared].split(B_fused_shared_ax0_ax1_ax2_o, factor=64)
# ["AN", 3, 1, 6],
s[B_shared].bind(B_fused_shared_ax0_ax1_ax2_o_i, te.thread_axis("threadIdx.x"))
# ["FU", 1, [0, 1, 2]],
A_fused_shared_ax0_ax1_ax2 = s[A_shared].fuse(A_shared_ax0, A_shared_ax1, A_shared_ax2)
# ["SP", 1, 0, 56, [2], 1],
A_fused_shared_ax0_ax1_ax2_o, A_fused_shared_ax0_ax1_ax2_i = s[A_shared].split(A_fused_shared_ax0_ax1_ax2, factor=2)
# ["AN", 1, 1, 2],
s[A_shared].vectorize(A_fused_shared_ax0_ax1_ax2_i)
# ["FFSP", 1, 0, [3, 2, 1], 1, 1],
A_fused_shared_ax0_ax1_ax2_o_o, A_fused_shared_ax0_ax1_ax2_o_i = s[A_shared].split(A_fused_shared_ax0_ax1_ax2_o, factor=64)
# ["AN", 1, 1, 6],
s[A_shared].bind(A_fused_shared_ax0_ax1_ax2_o_i, te.thread_axis("threadIdx.x"))
# ["PR", 4, 0, "auto_unroll_max_step$1024"]
s[C_local].pragma(C_local_b4, "auto_unroll_max_step", 1024)
s[C_local].pragma(C_local_b4, "unroll_explicit", True)
CUDA
#if (((__CUDACC_VER_MAJOR__ == 11) && (__CUDACC_VER_MINOR__ >= 4)) || \
(__CUDACC_VER_MAJOR__ > 11))
#define TVM_ENABLE_L2_PREFETCH 1
#else
#define TVM_ENABLE_L2_PREFETCH 0
#endif
#ifdef _WIN32
using uint = unsigned int;
using uchar = unsigned char;
using ushort = unsigned short;
using int64_t = long long;
using uint64_t = unsigned long long;
#else
#define uint unsigned int
#define uchar unsigned char
#define ushort unsigned short
#define int64_t long long
#define uint64_t unsigned long long
#endif
extern "C" __global__ void __launch_bounds__(64) default_function_kernel(float* __restrict__ C, float* __restrict__ A, float* __restrict__ B) {
float C_local[28];
__shared__ float A_shared[896];
__shared__ float B_shared[2048];
C_local[0] = 0.000000e+00f;
C_local[1] = 0.000000e+00f;
C_local[2] = 0.000000e+00f;
C_local[3] = 0.000000e+00f;
C_local[4] = 0.000000e+00f;
C_local[5] = 0.000000e+00f;
C_local[6] = 0.000000e+00f;
C_local[7] = 0.000000e+00f;
C_local[8] = 0.000000e+00f;
C_local[9] = 0.000000e+00f;
C_local[10] = 0.000000e+00f;
C_local[11] = 0.000000e+00f;
C_local[12] = 0.000000e+00f;
C_local[13] = 0.000000e+00f;
C_local[14] = 0.000000e+00f;
C_local[15] = 0.000000e+00f;
C_local[16] = 0.000000e+00f;
C_local[17] = 0.000000e+00f;
C_local[18] = 0.000000e+00f;
C_local[19] = 0.000000e+00f;
C_local[20] = 0.000000e+00f;
C_local[21] = 0.000000e+00f;
C_local[22] = 0.000000e+00f;
C_local[23] = 0.000000e+00f;
C_local[24] = 0.000000e+00f;
C_local[25] = 0.000000e+00f;
C_local[26] = 0.000000e+00f;
C_local[27] = 0.000000e+00f;
for (int k_outer_outer = 0; k_outer_outer < 16; ++k_outer_outer) {
__syncthreads();
*(float2*)(A_shared + (((int)threadIdx.x) * 2)) = *(float2*)(A + (((((((int)blockIdx.x) >> 5) * 14336) + ((((int)threadIdx.x) >> 4) * 512)) + (k_outer_outer * 32)) + ((((int)threadIdx.x) & 15) * 2)));
*(float2*)(A_shared + ((((int)threadIdx.x) * 2) + 128)) = *(float2*)(A + ((((((((int)blockIdx.x) >> 5) * 14336) + ((((int)threadIdx.x) >> 4) * 512)) + (k_outer_outer * 32)) + ((((int)threadIdx.x) & 15) * 2)) + 2048));
*(float2*)(A_shared + ((((int)threadIdx.x) * 2) + 256)) = *(float2*)(A + ((((((((int)blockIdx.x) >> 5) * 14336) + ((((int)threadIdx.x) >> 4) * 512)) + (k_outer_outer * 32)) + ((((int)threadIdx.x) & 15) * 2)) + 4096));
*(float2*)(A_shared + ((((int)threadIdx.x) * 2) + 384)) = *(float2*)(A + ((((((((int)blockIdx.x) >> 5) * 14336) + ((((int)threadIdx.x) >> 4) * 512)) + (k_outer_outer * 32)) + ((((int)threadIdx.x) & 15) * 2)) + 6144));
*(float2*)(A_shared + ((((int)threadIdx.x) * 2) + 512)) = *(float2*)(A + ((((((((int)blockIdx.x) >> 5) * 14336) + ((((int)threadIdx.x) >> 4) * 512)) + (k_outer_outer * 32)) + ((((int)threadIdx.x) & 15) * 2)) + 8192));
*(float2*)(A_shared + ((((int)threadIdx.x) * 2) + 640)) = *(float2*)(A + ((((((((int)blockIdx.x) >> 5) * 14336) + ((((int)threadIdx.x) >> 4) * 512)) + (k_outer_outer * 32)) + ((((int)threadIdx.x) & 15) * 2)) + 10240));
*(float2*)(A_shared + ((((int)threadIdx.x) * 2) + 768)) = *(float2*)(A + ((((((((int)blockIdx.x) >> 5) * 14336) + ((((int)threadIdx.x) >> 4) * 512)) + (k_outer_outer * 32)) + ((((int)threadIdx.x) & 15) * 2)) + 12288));
*(float2*)(B_shared + (((int)threadIdx.x) * 2)) = *(float2*)(B + ((((k_outer_outer * 65536) + ((((int)threadIdx.x) >> 5) * 2048)) + ((((int)blockIdx.x) & 31) * 64)) + ((((int)threadIdx.x) & 31) * 2)));
*(float2*)(B_shared + ((((int)threadIdx.x) * 2) + 128)) = *(float2*)(B + (((((k_outer_outer * 65536) + ((((int)threadIdx.x) >> 5) * 2048)) + ((((int)blockIdx.x) & 31) * 64)) + ((((int)threadIdx.x) & 31) * 2)) + 4096));
*(float2*)(B_shared + ((((int)threadIdx.x) * 2) + 256)) = *(float2*)(B + (((((k_outer_outer * 65536) + ((((int)threadIdx.x) >> 5) * 2048)) + ((((int)blockIdx.x) & 31) * 64)) + ((((int)threadIdx.x) & 31) * 2)) + 8192));
*(float2*)(B_shared + ((((int)threadIdx.x) * 2) + 384)) = *(float2*)(B + (((((k_outer_outer * 65536) + ((((int)threadIdx.x) >> 5) * 2048)) + ((((int)blockIdx.x) & 31) * 64)) + ((((int)threadIdx.x) & 31) * 2)) + 12288));
*(float2*)(B_shared + ((((int)threadIdx.x) * 2) + 512)) = *(float2*)(B + (((((k_outer_outer * 65536) + ((((int)threadIdx.x) >> 5) * 2048)) + ((((int)blockIdx.x) & 31) * 64)) + ((((int)threadIdx.x) & 31) * 2)) + 16384));
*(float2*)(B_shared + ((((int)threadIdx.x) * 2) + 640)) = *(float2*)(B + (((((k_outer_outer * 65536) + ((((int)threadIdx.x) >> 5) * 2048)) + ((((int)blockIdx.x) & 31) * 64)) + ((((int)threadIdx.x) & 31) * 2)) + 20480));
*(float2*)(B_shared + ((((int)threadIdx.x) * 2) + 768)) = *(float2*)(B + (((((k_outer_outer * 65536) + ((((int)threadIdx.x) >> 5) * 2048)) + ((((int)blockIdx.x) & 31) * 64)) + ((((int)threadIdx.x) & 31) * 2)) + 24576));
*(float2*)(B_shared + ((((int)threadIdx.x) * 2) + 896)) = *(float2*)(B + (((((k_outer_outer * 65536) + ((((int)threadIdx.x) >> 5) * 2048)) + ((((int)blockIdx.x) & 31) * 64)) + ((((int)threadIdx.x) & 31) * 2)) + 28672));
*(float2*)(B_shared + ((((int)threadIdx.x) * 2) + 1024)) = *(float2*)(B + (((((k_outer_outer * 65536) + ((((int)threadIdx.x) >> 5) * 2048)) + ((((int)blockIdx.x) & 31) * 64)) + ((((int)threadIdx.x) & 31) * 2)) + 32768));
*(float2*)(B_shared + ((((int)threadIdx.x) * 2) + 1152)) = *(float2*)(B + (((((k_outer_outer * 65536) + ((((int)threadIdx.x) >> 5) * 2048)) + ((((int)blockIdx.x) & 31) * 64)) + ((((int)threadIdx.x) & 31) * 2)) + 36864));
*(float2*)(B_shared + ((((int)threadIdx.x) * 2) + 1280)) = *(float2*)(B + (((((k_outer_outer * 65536) + ((((int)threadIdx.x) >> 5) * 2048)) + ((((int)blockIdx.x) & 31) * 64)) + ((((int)threadIdx.x) & 31) * 2)) + 40960));
*(float2*)(B_shared + ((((int)threadIdx.x) * 2) + 1408)) = *(float2*)(B + (((((k_outer_outer * 65536) + ((((int)threadIdx.x) >> 5) * 2048)) + ((((int)blockIdx.x) & 31) * 64)) + ((((int)threadIdx.x) & 31) * 2)) + 45056));
*(float2*)(B_shared + ((((int)threadIdx.x) * 2) + 1536)) = *(float2*)(B + (((((k_outer_outer * 65536) + ((((int)threadIdx.x) >> 5) * 2048)) + ((((int)blockIdx.x) & 31) * 64)) + ((((int)threadIdx.x) & 31) * 2)) + 49152));
*(float2*)(B_shared + ((((int)threadIdx.x) * 2) + 1664)) = *(float2*)(B + (((((k_outer_outer * 65536) + ((((int)threadIdx.x) >> 5) * 2048)) + ((((int)blockIdx.x) & 31) * 64)) + ((((int)threadIdx.x) & 31) * 2)) + 53248));
*(float2*)(B_shared + ((((int)threadIdx.x) * 2) + 1792)) = *(float2*)(B + (((((k_outer_outer * 65536) + ((((int)threadIdx.x) >> 5) * 2048)) + ((((int)blockIdx.x) & 31) * 64)) + ((((int)threadIdx.x) & 31) * 2)) + 57344));
*(float2*)(B_shared + ((((int)threadIdx.x) * 2) + 1920)) = *(float2*)(B + (((((k_outer_outer * 65536) + ((((int)threadIdx.x) >> 5) * 2048)) + ((((int)blockIdx.x) & 31) * 64)) + ((((int)threadIdx.x) & 31) * 2)) + 61440));
__syncthreads();
C_local[0] = (C_local[0] + (A_shared[((((int)threadIdx.x) >> 4) * 224)] * B_shared[((((int)threadIdx.x) & 15) * 4)]));
C_local[1] = (C_local[1] + (A_shared[((((int)threadIdx.x) >> 4) * 224)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1)]));
C_local[2] = (C_local[2] + (A_shared[((((int)threadIdx.x) >> 4) * 224)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 2)]));
C_local[3] = (C_local[3] + (A_shared[((((int)threadIdx.x) >> 4) * 224)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 3)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 32)] * B_shared[((((int)threadIdx.x) & 15) * 4)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 32)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 32)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 2)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 32)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 3)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 64)] * B_shared[((((int)threadIdx.x) & 15) * 4)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 64)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 64)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 2)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 64)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 3)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 96)] * B_shared[((((int)threadIdx.x) & 15) * 4)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 96)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 96)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 2)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 96)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 3)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 128)] * B_shared[((((int)threadIdx.x) & 15) * 4)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 128)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 128)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 2)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 128)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 3)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 160)] * B_shared[((((int)threadIdx.x) & 15) * 4)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 160)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 160)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 2)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 160)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 3)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 192)] * B_shared[((((int)threadIdx.x) & 15) * 4)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 192)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 192)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 2)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 192)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 3)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 1)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 64)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 1)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 65)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 1)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 66)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 1)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 67)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 33)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 64)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 33)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 65)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 33)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 66)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 33)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 67)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 65)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 64)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 65)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 65)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 65)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 66)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 65)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 67)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 97)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 64)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 97)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 65)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 97)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 66)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 97)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 67)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 129)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 64)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 129)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 65)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 129)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 66)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 129)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 67)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 161)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 64)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 161)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 65)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 161)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 66)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 161)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 67)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 193)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 64)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 193)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 65)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 193)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 66)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 193)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 67)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 2)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 128)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 2)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 129)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 2)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 130)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 2)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 131)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 34)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 128)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 34)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 129)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 34)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 130)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 34)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 131)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 66)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 128)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 66)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 129)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 66)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 130)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 66)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 131)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 98)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 128)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 98)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 129)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 98)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 130)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 98)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 131)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 130)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 128)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 130)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 129)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 130)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 130)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 130)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 131)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 162)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 128)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 162)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 129)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 162)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 130)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 162)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 131)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 194)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 128)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 194)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 129)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 194)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 130)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 194)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 131)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 3)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 192)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 3)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 193)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 3)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 194)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 3)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 195)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 35)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 192)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 35)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 193)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 35)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 194)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 35)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 195)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 67)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 192)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 67)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 193)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 67)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 194)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 67)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 195)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 99)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 192)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 99)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 193)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 99)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 194)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 99)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 195)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 131)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 192)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 131)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 193)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 131)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 194)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 131)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 195)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 163)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 192)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 163)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 193)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 163)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 194)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 163)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 195)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 195)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 192)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 195)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 193)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 195)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 194)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 195)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 195)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 4)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 256)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 4)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 257)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 4)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 258)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 4)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 259)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 36)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 256)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 36)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 257)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 36)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 258)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 36)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 259)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 68)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 256)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 68)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 257)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 68)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 258)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 68)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 259)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 100)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 256)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 100)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 257)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 100)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 258)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 100)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 259)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 132)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 256)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 132)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 257)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 132)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 258)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 132)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 259)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 164)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 256)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 164)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 257)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 164)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 258)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 164)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 259)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 196)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 256)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 196)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 257)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 196)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 258)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 196)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 259)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 5)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 320)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 5)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 321)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 5)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 322)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 5)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 323)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 37)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 320)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 37)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 321)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 37)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 322)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 37)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 323)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 69)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 320)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 69)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 321)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 69)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 322)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 69)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 323)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 101)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 320)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 101)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 321)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 101)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 322)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 101)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 323)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 133)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 320)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 133)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 321)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 133)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 322)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 133)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 323)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 165)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 320)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 165)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 321)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 165)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 322)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 165)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 323)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 197)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 320)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 197)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 321)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 197)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 322)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 197)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 323)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 6)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 384)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 6)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 385)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 6)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 386)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 6)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 387)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 38)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 384)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 38)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 385)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 38)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 386)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 38)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 387)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 70)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 384)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 70)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 385)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 70)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 386)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 70)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 387)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 102)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 384)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 102)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 385)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 102)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 386)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 102)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 387)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 134)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 384)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 134)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 385)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 134)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 386)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 134)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 387)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 166)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 384)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 166)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 385)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 166)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 386)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 166)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 387)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 198)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 384)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 198)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 385)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 198)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 386)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 198)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 387)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 7)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 448)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 7)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 449)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 7)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 450)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 7)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 451)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 39)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 448)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 39)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 449)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 39)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 450)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 39)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 451)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 71)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 448)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 71)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 449)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 71)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 450)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 71)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 451)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 103)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 448)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 103)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 449)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 103)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 450)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 103)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 451)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 135)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 448)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 135)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 449)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 135)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 450)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 135)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 451)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 167)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 448)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 167)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 449)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 167)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 450)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 167)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 451)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 199)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 448)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 199)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 449)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 199)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 450)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 199)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 451)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 8)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 512)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 8)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 513)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 8)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 514)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 8)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 515)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 40)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 512)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 40)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 513)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 40)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 514)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 40)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 515)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 72)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 512)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 72)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 513)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 72)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 514)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 72)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 515)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 104)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 512)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 104)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 513)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 104)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 514)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 104)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 515)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 136)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 512)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 136)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 513)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 136)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 514)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 136)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 515)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 168)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 512)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 168)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 513)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 168)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 514)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 168)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 515)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 200)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 512)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 200)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 513)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 200)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 514)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 200)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 515)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 9)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 576)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 9)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 577)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 9)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 578)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 9)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 579)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 41)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 576)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 41)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 577)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 41)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 578)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 41)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 579)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 73)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 576)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 73)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 577)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 73)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 578)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 73)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 579)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 105)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 576)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 105)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 577)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 105)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 578)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 105)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 579)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 137)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 576)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 137)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 577)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 137)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 578)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 137)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 579)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 169)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 576)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 169)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 577)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 169)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 578)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 169)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 579)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 201)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 576)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 201)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 577)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 201)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 578)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 201)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 579)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 10)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 640)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 10)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 641)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 10)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 642)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 10)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 643)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 42)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 640)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 42)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 641)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 42)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 642)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 42)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 643)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 74)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 640)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 74)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 641)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 74)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 642)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 74)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 643)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 106)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 640)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 106)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 641)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 106)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 642)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 106)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 643)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 138)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 640)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 138)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 641)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 138)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 642)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 138)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 643)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 170)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 640)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 170)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 641)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 170)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 642)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 170)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 643)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 202)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 640)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 202)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 641)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 202)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 642)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 202)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 643)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 11)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 704)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 11)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 705)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 11)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 706)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 11)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 707)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 43)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 704)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 43)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 705)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 43)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 706)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 43)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 707)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 75)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 704)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 75)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 705)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 75)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 706)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 75)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 707)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 107)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 704)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 107)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 705)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 107)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 706)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 107)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 707)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 139)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 704)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 139)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 705)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 139)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 706)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 139)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 707)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 171)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 704)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 171)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 705)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 171)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 706)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 171)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 707)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 203)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 704)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 203)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 705)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 203)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 706)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 203)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 707)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 12)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 768)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 12)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 769)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 12)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 770)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 12)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 771)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 44)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 768)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 44)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 769)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 44)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 770)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 44)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 771)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 76)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 768)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 76)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 769)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 76)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 770)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 76)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 771)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 108)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 768)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 108)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 769)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 108)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 770)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 108)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 771)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 140)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 768)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 140)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 769)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 140)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 770)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 140)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 771)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 172)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 768)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 172)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 769)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 172)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 770)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 172)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 771)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 204)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 768)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 204)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 769)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 204)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 770)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 204)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 771)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 13)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 832)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 13)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 833)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 13)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 834)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 13)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 835)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 45)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 832)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 45)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 833)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 45)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 834)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 45)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 835)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 77)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 832)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 77)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 833)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 77)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 834)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 77)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 835)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 109)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 832)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 109)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 833)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 109)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 834)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 109)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 835)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 141)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 832)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 141)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 833)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 141)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 834)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 141)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 835)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 173)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 832)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 173)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 833)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 173)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 834)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 173)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 835)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 205)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 832)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 205)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 833)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 205)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 834)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 205)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 835)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 14)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 896)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 14)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 897)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 14)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 898)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 14)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 899)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 46)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 896)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 46)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 897)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 46)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 898)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 46)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 899)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 78)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 896)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 78)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 897)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 78)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 898)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 78)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 899)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 110)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 896)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 110)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 897)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 110)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 898)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 110)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 899)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 142)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 896)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 142)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 897)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 142)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 898)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 142)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 899)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 174)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 896)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 174)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 897)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 174)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 898)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 174)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 899)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 206)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 896)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 206)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 897)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 206)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 898)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 206)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 899)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 15)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 960)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 15)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 961)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 15)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 962)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 15)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 963)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 47)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 960)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 47)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 961)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 47)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 962)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 47)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 963)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 79)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 960)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 79)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 961)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 79)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 962)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 79)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 963)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 111)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 960)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 111)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 961)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 111)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 962)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 111)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 963)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 143)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 960)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 143)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 961)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 143)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 962)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 143)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 963)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 175)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 960)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 175)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 961)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 175)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 962)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 175)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 963)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 207)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 960)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 207)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 961)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 207)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 962)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 207)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 963)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 16)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1024)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 16)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1025)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 16)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1026)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 16)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1027)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 48)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1024)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 48)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1025)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 48)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1026)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 48)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1027)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 80)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1024)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 80)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1025)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 80)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1026)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 80)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1027)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 112)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1024)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 112)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1025)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 112)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1026)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 112)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1027)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 144)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1024)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 144)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1025)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 144)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1026)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 144)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1027)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 176)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1024)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 176)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1025)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 176)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1026)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 176)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1027)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 208)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1024)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 208)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1025)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 208)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1026)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 208)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1027)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 17)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1088)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 17)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1089)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 17)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1090)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 17)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1091)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 49)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1088)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 49)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1089)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 49)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1090)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 49)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1091)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 81)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1088)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 81)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1089)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 81)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1090)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 81)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1091)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 113)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1088)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 113)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1089)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 113)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1090)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 113)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1091)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 145)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1088)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 145)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1089)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 145)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1090)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 145)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1091)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 177)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1088)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 177)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1089)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 177)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1090)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 177)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1091)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 209)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1088)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 209)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1089)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 209)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1090)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 209)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1091)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 18)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1152)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 18)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1153)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 18)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1154)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 18)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1155)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 50)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1152)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 50)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1153)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 50)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1154)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 50)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1155)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 82)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1152)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 82)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1153)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 82)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1154)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 82)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1155)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 114)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1152)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 114)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1153)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 114)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1154)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 114)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1155)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 146)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1152)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 146)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1153)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 146)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1154)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 146)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1155)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 178)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1152)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 178)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1153)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 178)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1154)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 178)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1155)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 210)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1152)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 210)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1153)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 210)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1154)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 210)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1155)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 19)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1216)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 19)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1217)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 19)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1218)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 19)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1219)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 51)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1216)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 51)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1217)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 51)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1218)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 51)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1219)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 83)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1216)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 83)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1217)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 83)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1218)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 83)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1219)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 115)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1216)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 115)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1217)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 115)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1218)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 115)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1219)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 147)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1216)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 147)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1217)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 147)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1218)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 147)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1219)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 179)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1216)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 179)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1217)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 179)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1218)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 179)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1219)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 211)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1216)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 211)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1217)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 211)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1218)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 211)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1219)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 20)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1280)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 20)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1281)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 20)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1282)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 20)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1283)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 52)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1280)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 52)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1281)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 52)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1282)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 52)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1283)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 84)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1280)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 84)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1281)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 84)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1282)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 84)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1283)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 116)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1280)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 116)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1281)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 116)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1282)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 116)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1283)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 148)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1280)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 148)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1281)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 148)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1282)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 148)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1283)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 180)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1280)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 180)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1281)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 180)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1282)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 180)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1283)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 212)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1280)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 212)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1281)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 212)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1282)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 212)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1283)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 21)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1344)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 21)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1345)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 21)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1346)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 21)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1347)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 53)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1344)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 53)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1345)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 53)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1346)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 53)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1347)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 85)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1344)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 85)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1345)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 85)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1346)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 85)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1347)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 117)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1344)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 117)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1345)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 117)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1346)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 117)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1347)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 149)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1344)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 149)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1345)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 149)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1346)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 149)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1347)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 181)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1344)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 181)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1345)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 181)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1346)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 181)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1347)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 213)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1344)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 213)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1345)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 213)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1346)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 213)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1347)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 22)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1408)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 22)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1409)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 22)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1410)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 22)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1411)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 54)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1408)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 54)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1409)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 54)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1410)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 54)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1411)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 86)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1408)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 86)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1409)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 86)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1410)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 86)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1411)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 118)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1408)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 118)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1409)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 118)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1410)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 118)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1411)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 150)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1408)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 150)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1409)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 150)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1410)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 150)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1411)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 182)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1408)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 182)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1409)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 182)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1410)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 182)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1411)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 214)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1408)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 214)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1409)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 214)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1410)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 214)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1411)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 23)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1472)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 23)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1473)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 23)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1474)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 23)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1475)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 55)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1472)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 55)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1473)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 55)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1474)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 55)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1475)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 87)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1472)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 87)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1473)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 87)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1474)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 87)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1475)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 119)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1472)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 119)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1473)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 119)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1474)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 119)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1475)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 151)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1472)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 151)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1473)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 151)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1474)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 151)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1475)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 183)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1472)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 183)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1473)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 183)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1474)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 183)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1475)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 215)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1472)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 215)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1473)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 215)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1474)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 215)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1475)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 24)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1536)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 24)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1537)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 24)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1538)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 24)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1539)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 56)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1536)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 56)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1537)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 56)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1538)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 56)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1539)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 88)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1536)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 88)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1537)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 88)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1538)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 88)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1539)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 120)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1536)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 120)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1537)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 120)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1538)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 120)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1539)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 152)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1536)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 152)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1537)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 152)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1538)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 152)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1539)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 184)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1536)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 184)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1537)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 184)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1538)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 184)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1539)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 216)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1536)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 216)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1537)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 216)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1538)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 216)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1539)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 25)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1600)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 25)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1601)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 25)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1602)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 25)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1603)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 57)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1600)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 57)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1601)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 57)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1602)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 57)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1603)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 89)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1600)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 89)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1601)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 89)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1602)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 89)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1603)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 121)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1600)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 121)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1601)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 121)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1602)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 121)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1603)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 153)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1600)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 153)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1601)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 153)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1602)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 153)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1603)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 185)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1600)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 185)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1601)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 185)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1602)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 185)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1603)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 217)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1600)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 217)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1601)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 217)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1602)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 217)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1603)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 26)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1664)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 26)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1665)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 26)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1666)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 26)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1667)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 58)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1664)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 58)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1665)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 58)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1666)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 58)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1667)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 90)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1664)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 90)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1665)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 90)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1666)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 90)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1667)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 122)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1664)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 122)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1665)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 122)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1666)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 122)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1667)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 154)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1664)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 154)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1665)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 154)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1666)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 154)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1667)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 186)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1664)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 186)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1665)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 186)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1666)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 186)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1667)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 218)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1664)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 218)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1665)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 218)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1666)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 218)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1667)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 27)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1728)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 27)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1729)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 27)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1730)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 27)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1731)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 59)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1728)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 59)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1729)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 59)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1730)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 59)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1731)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 91)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1728)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 91)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1729)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 91)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1730)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 91)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1731)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 123)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1728)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 123)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1729)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 123)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1730)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 123)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1731)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 155)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1728)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 155)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1729)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 155)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1730)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 155)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1731)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 187)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1728)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 187)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1729)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 187)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1730)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 187)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1731)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 219)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1728)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 219)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1729)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 219)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1730)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 219)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1731)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 28)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1792)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 28)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1793)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 28)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1794)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 28)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1795)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 60)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1792)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 60)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1793)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 60)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1794)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 60)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1795)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 92)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1792)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 92)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1793)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 92)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1794)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 92)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1795)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 124)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1792)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 124)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1793)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 124)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1794)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 124)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1795)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 156)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1792)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 156)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1793)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 156)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1794)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 156)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1795)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 188)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1792)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 188)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1793)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 188)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1794)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 188)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1795)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 220)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1792)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 220)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1793)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 220)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1794)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 220)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1795)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 29)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1856)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 29)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1857)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 29)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1858)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 29)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1859)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 61)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1856)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 61)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1857)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 61)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1858)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 61)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1859)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 93)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1856)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 93)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1857)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 93)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1858)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 93)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1859)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 125)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1856)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 125)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1857)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 125)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1858)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 125)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1859)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 157)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1856)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 157)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1857)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 157)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1858)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 157)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1859)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 189)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1856)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 189)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1857)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 189)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1858)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 189)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1859)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 221)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1856)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 221)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1857)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 221)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1858)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 221)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1859)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 30)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1920)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 30)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1921)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 30)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1922)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 30)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1923)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 62)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1920)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 62)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1921)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 62)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1922)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 62)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1923)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 94)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1920)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 94)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1921)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 94)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1922)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 94)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1923)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 126)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1920)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 126)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1921)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 126)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1922)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 126)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1923)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 158)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1920)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 158)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1921)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 158)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1922)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 158)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1923)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 190)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1920)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 190)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1921)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 190)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1922)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 190)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1923)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 222)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1920)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 222)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1921)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 222)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1922)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 222)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1923)]));
C_local[0] = (C_local[0] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 31)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1984)]));
C_local[1] = (C_local[1] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 31)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1985)]));
C_local[2] = (C_local[2] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 31)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1986)]));
C_local[3] = (C_local[3] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 31)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1987)]));
C_local[4] = (C_local[4] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 63)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1984)]));
C_local[5] = (C_local[5] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 63)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1985)]));
C_local[6] = (C_local[6] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 63)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1986)]));
C_local[7] = (C_local[7] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 63)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1987)]));
C_local[8] = (C_local[8] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 95)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1984)]));
C_local[9] = (C_local[9] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 95)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1985)]));
C_local[10] = (C_local[10] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 95)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1986)]));
C_local[11] = (C_local[11] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 95)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1987)]));
C_local[12] = (C_local[12] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 127)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1984)]));
C_local[13] = (C_local[13] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 127)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1985)]));
C_local[14] = (C_local[14] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 127)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1986)]));
C_local[15] = (C_local[15] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 127)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1987)]));
C_local[16] = (C_local[16] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 159)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1984)]));
C_local[17] = (C_local[17] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 159)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1985)]));
C_local[18] = (C_local[18] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 159)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1986)]));
C_local[19] = (C_local[19] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 159)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1987)]));
C_local[20] = (C_local[20] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 191)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1984)]));
C_local[21] = (C_local[21] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 191)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1985)]));
C_local[22] = (C_local[22] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 191)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1986)]));
C_local[23] = (C_local[23] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 191)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1987)]));
C_local[24] = (C_local[24] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 223)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1984)]));
C_local[25] = (C_local[25] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 223)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1985)]));
C_local[26] = (C_local[26] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 223)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1986)]));
C_local[27] = (C_local[27] + (A_shared[(((((int)threadIdx.x) >> 4) * 224) + 223)] * B_shared[(((((int)threadIdx.x) & 15) * 4) + 1987)]));
}
for (int i_inner = 0; i_inner < 7; ++i_inner) {
for (int j_inner = 0; j_inner < 4; ++j_inner) {
C[(((((((((int)blockIdx.x) >> 5) * 57344) + ((((int)threadIdx.x) >> 4) * 14336)) + (i_inner * 2048)) + ((((int)blockIdx.x) & 31) * 64)) + ((((int)threadIdx.x) & 15) * 4)) + j_inner)] = C_local[((i_inner * 4) + j_inner)];
}
}
}