// File: /workspace/github_cpp_makefile_star2_O1/kaityo256[P]lj_simd/force_soa.cpp
// Function: force_avx2_swp()
void
force_avx2_swp(void) {
  const int pn = particle_number;
  const v4df vzero = _mm256_set_pd(0, 0, 0, 0);
  const v4df vcl2 = _mm256_set_pd(CL2, CL2, CL2, CL2);
  const v4df vc24 = _mm256_set_pd(24 * dt, 24 * dt, 24 * dt, 24 * dt);
  const v4df vc48 = _mm256_set_pd(48 * dt, 48 * dt, 48 * dt, 48 * dt);
  for (int i = 0; i < pn; i++) {
    const double qix = q[X][i];
    const double qiy = q[Y][i];
    const double qiz = q[Z][i];
    const int np = number_of_partners[i];
    double pfx = 0;
    double pfy = 0;
    double pfz = 0;
    const int kp = pointer[i];
    const v4df vqix = _mm256_set_pd(q[X][i], q[X][i], q[X][i], q[X][i]);
    const v4df vqiy = _mm256_set_pd(q[Y][i], q[Y][i], q[Y][i], q[Y][i]);
    const v4df vqiz = _mm256_set_pd(q[Z][i], q[Z][i], q[Z][i], q[Z][i]);
    int k = 0;
    int j_1 = sorted_list[kp + k];
    int j_2 = sorted_list[kp + k + 1];
    int j_3 = sorted_list[kp + k + 2];
    int j_4 = sorted_list[kp + k + 3];

    v4df vqjx = _mm256_set_pd(q[X][j_1], q[X][j_2], q[X][j_3], q[X][j_4]);
    v4df vqjy = _mm256_set_pd(q[Y][j_1], q[Y][j_2], q[Y][j_3], q[Y][j_4]);
    v4df vqjz = _mm256_set_pd(q[Z][j_1], q[Z][j_2], q[Z][j_3], q[Z][j_4]);

    v4df vdx = vqjx - vqix;
    v4df vdy = vqjy - vqiy;
    v4df vdz = vqjz - vqiz;
    v4df vr2 = vdx * vdx + vdy * vdy + vdz * vdz;
    v4df vr6 = vr2 * vr2 * vr2;
    v4df vdf = (vc24 * vr6 - vc48) / (vr6 * vr6 * vr2);
    v4df mask = vcl2 - vr2;
    vdf = _mm256_blendv_pd(vdf, vzero, mask);

    if (np < 4) {
      vdf =  _mm256_setzero_pd();
    }

    for (k = 4; k < (np / 4) * 4; k += 4) {
      int j_1_b = sorted_list[kp + k];
      int j_2_b = sorted_list[kp + k + 1];
      int j_3_b = sorted_list[kp + k + 2];
      int j_4_b = sorted_list[kp + k + 3];
      // We found that it was fastest to calculate only vqjx_b here.
      // If we calculate vqjy_b or vqjz_b here, it becomes very slow.
      v4df vqjx_b = _mm256_set_pd(q[X][j_1_b], q[X][j_2_b], q[X][j_3_b], q[X][j_4_b]);
      // --- 8< ---
      v4df vdfx = vdf * vdx;
      v4df vdfy = vdf * vdy;
      v4df vdfz = vdf * vdz;
      double *dfx = (double *)(&vdfx);
      double *dfy = (double *)(&vdfy);
      double *dfz = (double *)(&vdfz);

      pfx += dfx[3];
      pfy += dfy[3];
      pfz += dfz[3];

      p[X][j_1] -= dfx[3];
      p[Y][j_1] -= dfy[3];
      p[Z][j_1] -= dfz[3];

      pfx += dfx[2];
      pfy += dfy[2];
      pfz += dfz[2];
      p[X][j_2] -= dfx[2];
      p[Y][j_2] -= dfy[2];
      p[Z][j_2] -= dfz[2];

      pfx += dfx[1];
      pfy += dfy[1];
      pfz += dfz[1];
      p[X][j_3] -= dfx[1];
      p[Y][j_3] -= dfy[1];
      p[Z][j_3] -= dfz[1];

      pfx += dfx[0];
      pfy += dfy[0];
      pfz += dfz[0];
      p[X][j_4] -= dfx[0];
      p[Y][j_4] -= dfy[0];
      p[Z][j_4] -= dfz[0];

      // --- 8< ---
      v4df vqjy_b = _mm256_set_pd(q[Y][j_1_b], q[Y][j_2_b], q[Y][j_3_b], q[Y][j_4_b]);
      v4df vqjz_b = _mm256_set_pd(q[Z][j_1_b], q[Z][j_2_b], q[Z][j_3_b], q[Z][j_4_b]);

      j_1 = j_1_b;
      j_2 = j_2_b;
      j_3 = j_3_b;
      j_4 = j_4_b;

      vqjx = vqjx_b;
      vqjy = vqjy_b;
      vqjz = vqjz_b;

      vdx = vqjx - vqix;
      vdy = vqjy - vqiy;
      vdz = vqjz - vqiz;
      vr2 = vdx * vdx + vdy * vdy + vdz * vdz;
      vr6 = vr2 * vr2 * vr2;
      vdf = (vc24 * vr6 - vc48) / (vr6 * vr6 * vr2);
      mask = vcl2 - vr2;
      vdf = _mm256_blendv_pd(vdf, vzero, mask);
    }
    v4df vdfx = vdf * vdx;
    v4df vdfy = vdf * vdy;
    v4df vdfz = vdf * vdz;
    double *dfx = (double *)(&vdfx);
    double *dfy = (double *)(&vdfy);
    double *dfz = (double *)(&vdfz);

    pfx += dfx[3];
    pfy += dfy[3];
    pfz += dfz[3];

    p[X][j_1] -= dfx[3];
    p[Y][j_1] -= dfy[3];
    p[Z][j_1] -= dfz[3];

    pfx += dfx[2];
    pfy += dfy[2];
    pfz += dfz[2];
    p[X][j_2] -= dfx[2];
    p[Y][j_2] -= dfy[2];
    p[Z][j_2] -= dfz[2];

    pfx += dfx[1];
    pfy += dfy[1];
    pfz += dfz[1];
    p[X][j_3] -= dfx[1];
    p[Y][j_3] -= dfy[1];
    p[Z][j_3] -= dfz[1];

    pfx += dfx[0];
    pfy += dfy[0];
    pfz += dfz[0];
    p[X][j_4] -= dfx[0];
    p[Y][j_4] -= dfy[0];
    p[Z][j_4] -= dfz[0];



    p[X][i] += pfx;
    p[Y][i] += pfy;
    p[Z][i] += pfz;
    for (int k = (np / 4) * 4; k < np; k++) {
      const int j = sorted_list[kp + k];
      double dx = q[X][j] - qix;
      double dy = q[Y][j] - qiy;
      double dz = q[Z][j] - qiz;
      double r2 = (dx * dx + dy * dy + dz * dz);
      if (r2 > CL2) continue;
      double r6 = r2 * r2 * r2;
      double df = ((24.0 * r6 - 48.0) / (r6 * r6 * r2)) * dt;
      p[X][i] += df * dx;
      p[Y][i] += df * dy;
      p[Z][i] += df * dz;
      p[X][j] -= df * dx;
      p[Y][j] -= df * dy;
      p[Z][j] -= df * dz;
    }
  }

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movslq 0x19f46e8(%rip), %rax   # 0x19f7b30
movq %rax, -0x10(%rsp)
testq %rax, %rax
jle 0x3bca
xorl %ecx, %ecx
leaq 0x18a6d1(%rip), %rdx    # 0x18db30
leaq 0x7a15cda(%rip), %rdi   # 0x7a19140
vbroadcastsd 0x1bd9(%rip), %ymm0 # 0x5048
vbroadcastsd 0x1bd8(%rip), %ymm1 # 0x5050
vbroadcastsd 0x1bbf(%rip), %ymm2 # 0x5040
leaq 0xdbf6a8(%rip), %r9     # 0xdc2b30
vxorpd %xmm3, %xmm3, %xmm3
vmovsd 0x1bac(%rip), %xmm4     # 0x5040
vmovsd 0x1b8c(%rip), %xmm5     # 0x5028
vmovsd 0x1b8a(%rip), %xmm17    # 0x5030
vmovsd 0x1b88(%rip), %xmm25    # 0x5038
vbroadcastsd (%rdx,%rcx,8), %ymm8
vbroadcastsd 0x30d400(%rdx,%rcx,8), %ymm9
vbroadcastsd 0x61a800(%rdx,%rcx,8), %ymm10
leaq 0x19f466f(%rip), %rax   # 0x19f7b40
movslq (%rax,%rcx,4), %r10
leaq 0x7708864(%rip), %rax   # 0x770bd40
movslq (%rax,%rcx,4), %rax
movslq (%rdi,%rax,4), %r11
movslq 0x4(%rdi,%rax,4), %r8
movslq 0x8(%rdi,%rax,4), %rbp
movslq 0xc(%rdi,%rax,4), %r12
vmovsd (%rdx,%r8,8), %xmm6
vmovhpd (%rdx,%r11,8), %xmm6, %xmm6 # xmm6 = xmm6[0],mem[0]
vmovsd (%rdx,%r12,8), %xmm11
vmovhpd (%rdx,%rbp,8), %xmm11, %xmm11 # xmm11 = xmm11[0],mem[0]
vinsertf128 $0x1, %xmm6, %ymm11, %ymm6
vmovsd 0x30d400(%rdx,%r8,8), %xmm11
vmovhpd 0x30d400(%rdx,%r11,8), %xmm11, %xmm11 # xmm11 = xmm11[0],mem[0]
vmovsd 0x30d400(%rdx,%r12,8), %xmm12
vmovhpd 0x30d400(%rdx,%rbp,8), %xmm12, %xmm12 # xmm12 = xmm12[0],mem[0]
vinsertf128 $0x1, %xmm11, %ymm12, %ymm11
vmovsd 0x61a800(%rdx,%r8,8), %xmm12
vmovhpd 0x61a800(%rdx,%r11,8), %xmm12, %xmm12 # xmm12 = xmm12[0],mem[0]
vmovsd 0x61a800(%rdx,%r12,8), %xmm13
vmovhpd 0x61a800(%rdx,%rbp,8), %xmm13, %xmm13 # xmm13 = xmm13[0],mem[0]
vinsertf128 $0x1, %xmm12, %ymm13, %ymm14
vsubpd %ymm8, %ymm6, %ymm13
vsubpd %ymm9, %ymm11, %ymm12
vsubpd %ymm10, %ymm14, %ymm11
vmulpd %ymm12, %ymm12, %ymm14
vfmadd231pd %ymm13, %ymm13, %ymm14 # ymm14 = (ymm13 * ymm13) + ymm14
vfmadd231pd %ymm11, %ymm11, %ymm14 # ymm14 = (ymm11 * ymm11) + ymm14
vmulpd %ymm14, %ymm14, %ymm6
vmulpd %ymm6, %ymm14, %ymm16
vmovapd %ymm0, %ymm15
vfmadd213pd %ymm1, %ymm16, %ymm15 # ymm15 = (ymm16 * ymm15) + ymm1
vxorpd %xmm6, %xmm6, %xmm6
cmpq $0x4, %r10
jl 0x35c0
vmulpd %ymm16, %ymm16, %ymm6
vmulpd %ymm6, %ymm14, %ymm6
vdivpd %ymm6, %ymm15, %ymm6
vsubpd %ymm14, %ymm2, %ymm14
vblendvpd %ymm14, %ymm3, %ymm6, %ymm6
leal 0x3(%r10), %esi
testq %r10, %r10
cmovnsl %r10d, %esi
andl $-0x4, %esi
vxorpd %xmm14, %xmm14, %xmm14
cmpq $0x8, %r10
movq %rax, -0x8(%rsp)
movl %esi, -0x14(%rsp)
jl 0x38b0
movl %esi, %esi
leaq (%rdi,%rax,4), %rax
vxorpd %xmm16, %xmm16, %xmm16
movl $0x4, %ebx
vxorpd %xmm15, %xmm15, %xmm15
movslq (%rax,%rbx,4), %rdi
movslq 0x4(%rax,%rbx,4), %r13
movslq 0x8(%rax,%rbx,4), %r15
movslq 0xc(%rax,%rbx,4), %r14
vmovsd (%rdx,%r13,8), %xmm18
vmovhpd (%rdx,%rdi,8), %xmm18, %xmm18 # xmm18 = xmm18[0],mem[0]
vmovsd (%rdx,%r14,8), %xmm19
vmovhpd (%rdx,%r15,8), %xmm19, %xmm19 # xmm19 = xmm19[0],mem[0]
vinsertf32x4 $0x1, %xmm18, %ymm19, %ymm18
vmulpd %ymm6, %ymm13, %ymm13
vmulpd %ymm6, %ymm12, %ymm12
vmulpd %ymm6, %ymm11, %ymm6
vextractf128 $0x1, %ymm13, %xmm11
vshufpd $0x1, %xmm11, %xmm11, %xmm19 # xmm19 = xmm11[1,0]
vaddsd %xmm16, %xmm19, %xmm16
vextractf32x4 $0x1, %ymm12, %xmm20
vshufpd $0x1, %xmm20, %xmm20, %xmm21 # xmm21 = xmm20[1,0]
vaddsd %xmm15, %xmm21, %xmm15
vextractf32x4 $0x1, %ymm6, %xmm22
vshufpd $0x1, %xmm22, %xmm22, %xmm23 # xmm23 = xmm22[1,0]
vaddsd %xmm14, %xmm23, %xmm14
movslq %r11d, %r11
vmovsd (%r9,%r11,8), %xmm24
vsubsd %xmm19, %xmm24, %xmm19
vmovsd %xmm19, (%r9,%r11,8)
vmovsd 0x30d400(%r9,%r11,8), %xmm19
vsubsd %xmm21, %xmm19, %xmm19
vmovsd %xmm19, 0x30d400(%r9,%r11,8)
vmovsd 0x61a800(%r9,%r11,8), %xmm19
vsubsd %xmm23, %xmm19, %xmm19
vmovsd %xmm19, 0x61a800(%r9,%r11,8)
vaddsd %xmm16, %xmm11, %xmm16
vaddsd %xmm15, %xmm20, %xmm15
vaddsd %xmm14, %xmm22, %xmm14
movslq %r8d, %r8
vmovsd (%r9,%r8,8), %xmm19
vsubsd %xmm11, %xmm19, %xmm11
vmovsd %xmm11, (%r9,%r8,8)
vmovsd 0x30d400(%r9,%r8,8), %xmm11
vsubsd %xmm20, %xmm11, %xmm11
vmovsd %xmm11, 0x30d400(%r9,%r8,8)
vmovsd 0x61a800(%r9,%r8,8), %xmm11
vsubsd %xmm22, %xmm11, %xmm11
vmovsd %xmm11, 0x61a800(%r9,%r8,8)
vshufpd $0x1, %xmm13, %xmm13, %xmm11 # xmm11 = xmm13[1,0]
vaddsd %xmm16, %xmm11, %xmm16
vshufpd $0x1, %xmm12, %xmm12, %xmm19 # xmm19 = xmm12[1,0]
vaddsd %xmm15, %xmm19, %xmm15
vshufpd $0x1, %xmm6, %xmm6, %xmm20 # xmm20 = xmm6[1,0]
vaddsd %xmm14, %xmm20, %xmm14
movslq %ebp, %r8
vmovsd (%r9,%r8,8), %xmm21
vsubsd %xmm11, %xmm21, %xmm11
vmovsd %xmm11, (%r9,%r8,8)
vmovsd 0x30d400(%r9,%r8,8), %xmm11
vsubsd %xmm19, %xmm11, %xmm11
vmovsd %xmm11, 0x30d400(%r9,%r8,8)
vmovsd 0x61a800(%r9,%r8,8), %xmm11
vsubsd %xmm20, %xmm11, %xmm11
vmovsd %xmm11, 0x61a800(%r9,%r8,8)
vaddsd %xmm16, %xmm13, %xmm16
vaddsd %xmm15, %xmm12, %xmm15
vaddsd %xmm6, %xmm14, %xmm14
movslq %r12d, %r8
vmovsd (%r9,%r8,8), %xmm11
vsubsd %xmm13, %xmm11, %xmm11
vmovsd %xmm11, (%r9,%r8,8)
vmovsd 0x30d400(%r9,%r8,8), %xmm11
vsubsd %xmm12, %xmm11, %xmm11
vmovsd %xmm11, 0x30d400(%r9,%r8,8)
vmovsd 0x61a800(%r9,%r8,8), %xmm11
vsubsd %xmm6, %xmm11, %xmm6
vmovsd %xmm6, 0x61a800(%r9,%r8,8)
vmovsd 0x30d400(%rdx,%r13,8), %xmm6
vmovhpd 0x30d400(%rdx,%rdi,8), %xmm6, %xmm6 # xmm6 = xmm6[0],mem[0]
vmovsd 0x30d400(%rdx,%r14,8), %xmm11
vmovhpd 0x30d400(%rdx,%r15,8), %xmm11, %xmm11 # xmm11 = xmm11[0],mem[0]
vinsertf128 $0x1, %xmm6, %ymm11, %ymm6
vmovsd 0x61a800(%rdx,%r13,8), %xmm11
vmovhpd 0x61a800(%rdx,%rdi,8), %xmm11, %xmm11 # xmm11 = xmm11[0],mem[0]
vmovsd 0x61a800(%rdx,%r14,8), %xmm12
vmovhpd 0x61a800(%rdx,%r15,8), %xmm12, %xmm12 # xmm12 = xmm12[0],mem[0]
vinsertf128 $0x1, %xmm11, %ymm12, %ymm11
vsubpd %ymm8, %ymm18, %ymm13
vsubpd %ymm9, %ymm6, %ymm12
vsubpd %ymm10, %ymm11, %ymm11
vmulpd %ymm12, %ymm12, %ymm6
vfmadd231pd %ymm13, %ymm13, %ymm6 # ymm6 = (ymm13 * ymm13) + ymm6
vfmadd231pd %ymm11, %ymm11, %ymm6 # ymm6 = (ymm11 * ymm11) + ymm6
vmulpd %ymm6, %ymm6, %ymm18
vmulpd %ymm18, %ymm6, %ymm18
vmovapd %ymm0, %ymm19
vfmadd213pd %ymm1, %ymm18, %ymm19 # ymm19 = (ymm18 * ymm19) + ymm1
vmulpd %ymm18, %ymm18, %ymm18
vmulpd %ymm18, %ymm6, %ymm18
vdivpd %ymm18, %ymm19, %ymm7
vsubpd %ymm6, %ymm2, %ymm6
vblendvpd %ymm6, %ymm3, %ymm7, %ymm6
addq $0x4, %rbx
movl %edi, %r11d
movl %r13d, %r8d
movl %r15d, %ebp
movl %r14d, %r12d
cmpq %rsi, %rbx
jb 0x35fc
jmp 0x38c7
movl %r12d, %r14d
movl %ebp, %r15d
movl %r8d, %r13d
movl %r11d, %edi
vxorpd %xmm15, %xmm15, %xmm15
vxorpd %xmm16, %xmm16, %xmm16
vmulpd %ymm6, %ymm13, %ymm7
vmulpd %ymm6, %ymm12, %ymm12
vmulpd %ymm6, %ymm11, %ymm6
vextractf128 $0x1, %ymm7, %xmm11
vshufpd $0x1, %xmm11, %xmm11, %xmm13 # xmm13 = xmm11[1,0]
vaddsd %xmm16, %xmm13, %xmm16
vextractf32x4 $0x1, %ymm12, %xmm18
vshufpd $0x1, %xmm18, %xmm18, %xmm19 # xmm19 = xmm18[1,0]
vaddsd %xmm15, %xmm19, %xmm15
vextractf32x4 $0x1, %ymm6, %xmm20
vshufpd $0x1, %xmm20, %xmm20, %xmm21 # xmm21 = xmm20[1,0]
vaddsd %xmm14, %xmm21, %xmm14
movslq %edi, %rax
vmovsd (%r9,%rax,8), %xmm22
vsubsd %xmm13, %xmm22, %xmm13
vmovsd %xmm13, (%r9,%rax,8)
vmovsd 0x30d400(%r9,%rax,8), %xmm13
vsubsd %xmm19, %xmm13, %xmm13
vmovsd %xmm13, 0x30d400(%r9,%rax,8)
vmovsd 0x61a800(%r9,%rax,8), %xmm13
vsubsd %xmm21, %xmm13, %xmm13
vmovsd %xmm13, 0x61a800(%r9,%rax,8)
vaddsd %xmm16, %xmm11, %xmm13
vaddsd %xmm15, %xmm18, %xmm15
vaddsd %xmm14, %xmm20, %xmm14
movslq %r13d, %rax
vmovsd (%r9,%rax,8), %xmm16
vsubsd %xmm11, %xmm16, %xmm11
vmovsd %xmm11, (%r9,%rax,8)
vmovsd 0x30d400(%r9,%rax,8), %xmm11
vsubsd %xmm18, %xmm11, %xmm11
vmovsd %xmm11, 0x30d400(%r9,%rax,8)
vmovsd 0x61a800(%r9,%rax,8), %xmm11
vsubsd %xmm20, %xmm11, %xmm11
vmovsd %xmm11, 0x61a800(%r9,%rax,8)
vshufpd $0x1, %xmm7, %xmm7, %xmm11 # xmm11 = xmm7[1,0]
vaddsd %xmm13, %xmm11, %xmm13
vshufpd $0x1, %xmm12, %xmm12, %xmm16 # xmm16 = xmm12[1,0]
vaddsd %xmm15, %xmm16, %xmm15
vshufpd $0x1, %xmm6, %xmm6, %xmm18 # xmm18 = xmm6[1,0]
vaddsd %xmm14, %xmm18, %xmm14
movslq %r15d, %rax
vmovsd (%r9,%rax,8), %xmm19
vsubsd %xmm11, %xmm19, %xmm11
vmovsd %xmm11, (%r9,%rax,8)
vmovsd 0x30d400(%r9,%rax,8), %xmm11
vsubsd %xmm16, %xmm11, %xmm11
vmovsd %xmm11, 0x30d400(%r9,%rax,8)
vmovsd 0x61a800(%r9,%rax,8), %xmm11
vsubsd %xmm18, %xmm11, %xmm11
vmovsd %xmm11, 0x61a800(%r9,%rax,8)
vaddsd %xmm7, %xmm13, %xmm11
vaddsd %xmm15, %xmm12, %xmm13
vaddsd %xmm6, %xmm14, %xmm14
movslq %r14d, %rax
vmovsd (%r9,%rax,8), %xmm15
vsubsd %xmm7, %xmm15, %xmm7
vmovsd %xmm7, (%r9,%rax,8)
vmovsd 0x30d400(%r9,%rax,8), %xmm7
vsubsd %xmm12, %xmm7, %xmm7
vmovsd %xmm7, 0x30d400(%r9,%rax,8)
vmovsd 0x61a800(%r9,%rax,8), %xmm7
vsubsd %xmm6, %xmm7, %xmm6
vmovsd %xmm6, 0x61a800(%r9,%rax,8)
vaddsd (%r9,%rcx,8), %xmm11, %xmm6
vmovsd %xmm6, (%r9,%rcx,8)
vaddsd 0x30d400(%r9,%rcx,8), %xmm13, %xmm6
vmovsd %xmm6, 0x30d400(%r9,%rcx,8)
vaddsd 0x61a800(%r9,%rcx,8), %xmm14, %xmm6
vmovsd %xmm6, 0x61a800(%r9,%rcx,8)
movl -0x14(%rsp), %eax
cmpl %r10d, %eax
leaq 0x7a1568c(%rip), %rdi   # 0x7a19140
movq -0x8(%rsp), %r8
jge 0x3bbc
cltq
addq %rax, %r8
shlq $0x2, %r8
subq %rax, %r10
xorl %eax, %eax
leaq (%r8,%rax,4), %rsi
movslq (%rdi,%rsi), %rsi
vmovsd (%rdx,%rsi,8), %xmm6
vsubsd %xmm8, %xmm6, %xmm12
vmovsd 0x30d400(%rdx,%rsi,8), %xmm6
vsubsd %xmm9, %xmm6, %xmm11
vmovsd 0x61a800(%rdx,%rsi,8), %xmm6
vsubsd %xmm10, %xmm6, %xmm6
vmulsd %xmm11, %xmm11, %xmm13
vfmadd231sd %xmm12, %xmm12, %xmm13 # xmm13 = (xmm12 * xmm12) + xmm13
vfmadd231sd %xmm6, %xmm6, %xmm13 # xmm13 = (xmm6 * xmm6) + xmm13
vucomisd %xmm4, %xmm13
ja 0x3bb0
vmulsd %xmm13, %xmm13, %xmm7
vmulsd %xmm7, %xmm13, %xmm7
vmovapd %xmm5, %xmm14
vfmadd213sd %xmm17, %xmm7, %xmm14 # xmm14 = (xmm7 * xmm14) + xmm17
vmulsd %xmm7, %xmm7, %xmm7
vmulsd %xmm7, %xmm13, %xmm7
vdivsd %xmm7, %xmm14, %xmm7
vmulsd %xmm25, %xmm7, %xmm7
vmovsd (%r9,%rcx,8), %xmm13
vfmadd231sd %xmm12, %xmm7, %xmm13 # xmm13 = (xmm7 * xmm12) + xmm13
vmovsd %xmm13, (%r9,%rcx,8)
vmovsd 0x30d400(%r9,%rcx,8), %xmm13
vfmadd231sd %xmm11, %xmm7, %xmm13 # xmm13 = (xmm7 * xmm11) + xmm13
vmovsd %xmm13, 0x30d400(%r9,%rcx,8)
vmovsd 0x61a800(%r9,%rcx,8), %xmm13
vfmadd231sd %xmm6, %xmm7, %xmm13 # xmm13 = (xmm7 * xmm6) + xmm13
vmovsd %xmm13, 0x61a800(%r9,%rcx,8)
vfnmadd213sd (%r9,%rsi,8), %xmm7, %xmm12 # xmm12 = -(xmm7 * xmm12) + mem
vmovsd %xmm12, (%r9,%rsi,8)
vfnmadd213sd 0x30d400(%r9,%rsi,8), %xmm7, %xmm11 # xmm11 = -(xmm7 * xmm11) + mem
vmovsd %xmm11, 0x30d400(%r9,%rsi,8)
vfnmadd213sd 0x61a800(%r9,%rsi,8), %xmm7, %xmm6 # xmm6 = -(xmm7 * xmm6) + mem
vmovsd %xmm6, 0x61a800(%r9,%rsi,8)
incq %rax
cmpq %rax, %r10
jne 0x3acd
incq %rcx
cmpq -0x10(%rsp), %rcx
jne 0x34b0
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
vzeroupper
retq