// File: /workspace/github_cpp_makefile_star2_O3/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 0x19f46e5(%rip), %rax   # 0x19f7b30
movq %rax, -0x18(%rsp)
testq %rax, %rax
jle 0x3bdf
vbroadcastsd 0x1be6(%rip), %ymm0 # 0x5048
vbroadcastsd 0x1be5(%rip), %ymm1 # 0x5050
vbroadcastsd 0x1bcc(%rip), %ymm2 # 0x5040
vmovsd 0x1bc4(%rip), %xmm4     # 0x5040
vmovsd 0x1ba4(%rip), %xmm5     # 0x5028
vmovsd 0x1ba2(%rip), %xmm17    # 0x5030
vmovsd 0x1ba0(%rip), %xmm28    # 0x5038
leaq 0x18a691(%rip), %rdx    # 0x18db30
leaq 0x7a15c9a(%rip), %r10   # 0x7a19140
leaq 0xdbf683(%rip), %r9     # 0xdc2b30
vxorpd %xmm3, %xmm3, %xmm3
xorl %ecx, %ecx
leaq 0x19f4686(%rip), %rax   # 0x19f7b40
vbroadcastsd 0x30d400(%rdx,%rcx,8), %ymm9
vbroadcastsd (%rdx,%rcx,8), %ymm8
vbroadcastsd 0x61a800(%rdx,%rcx,8), %ymm10
movslq (%rax,%rcx,4), %r14
leaq 0x7708861(%rip), %rax   # 0x770bd40
movslq (%rax,%rcx,4), %r15
movl 0x4(%r10,%r15,4), %r11d
movl 0xc(%r10,%r15,4), %eax
movl (%r10,%r15,4), %r8d
movl 0x8(%r10,%r15,4), %ebx
movslq %eax, %r13
movslq %r11d, %rsi
movslq %r8d, %rdi
movslq %ebx, %rbp
vmovsd (%rdx,%rsi,8), %xmm6
vmovsd (%rdx,%r13,8), %xmm11
vmovsd 0x30d400(%rdx,%r13,8), %xmm12
vmovsd 0x61a800(%rdx,%r13,8), %xmm13
vmovhpd (%rdx,%rdi,8), %xmm6, %xmm6 # xmm6 = xmm6[0],mem[0]
vmovhpd (%rdx,%rbp,8), %xmm11, %xmm11 # xmm11 = xmm11[0],mem[0]
vmovhpd 0x30d400(%rdx,%rbp,8), %xmm12, %xmm12 # xmm12 = xmm12[0],mem[0]
vmovhpd 0x61a800(%rdx,%rbp,8), %xmm13, %xmm13 # xmm13 = xmm13[0],mem[0]
vinsertf128 $0x1, %xmm6, %ymm11, %ymm6
vmovsd 0x30d400(%rdx,%rsi,8), %xmm11
vmovhpd 0x30d400(%rdx,%rdi,8), %xmm11, %xmm11 # xmm11 = xmm11[0],mem[0]
vsubpd %ymm8, %ymm6, %ymm16
vinsertf128 $0x1, %xmm11, %ymm12, %ymm11
vmovsd 0x61a800(%rdx,%rsi,8), %xmm12
vmovhpd 0x61a800(%rdx,%rdi,8), %xmm12, %xmm12 # xmm12 = xmm12[0],mem[0]
vsubpd %ymm9, %ymm11, %ymm15
vmulpd %ymm15, %ymm15, %ymm11
vfmadd231pd %ymm16, %ymm16, %ymm11 # ymm11 = (ymm16 * ymm16) + ymm11
vinsertf128 $0x1, %xmm12, %ymm13, %ymm12
vsubpd %ymm10, %ymm12, %ymm14
vmovapd %ymm0, %ymm12
vfmadd231pd %ymm14, %ymm14, %ymm11 # ymm11 = (ymm14 * ymm14) + ymm11
vmulpd %ymm11, %ymm11, %ymm6
vmulpd %ymm6, %ymm11, %ymm13
vxorpd %xmm6, %xmm6, %xmm6
vfmadd213pd %ymm1, %ymm13, %ymm12 # ymm12 = (ymm13 * ymm12) + ymm1
cmpq $0x4, %r14
jl 0x35c7
vmulpd %ymm13, %ymm13, %ymm6
vmulpd %ymm6, %ymm11, %ymm6
vsubpd %ymm11, %ymm2, %ymm11
vdivpd %ymm6, %ymm12, %ymm6
vblendvpd %ymm11, %ymm3, %ymm6, %ymm6
leal 0x3(%r14), %r12d
testq %r14, %r14
vxorpd %xmm11, %xmm11, %xmm11
movq %r14, -0x8(%rsp)
movq %r15, -0x10(%rsp)
cmovnsl %r14d, %r12d
andl $-0x4, %r12d
movl %r12d, -0x1c(%rsp)
cmpq $0x8, %r14
jl 0x38d3
leaq (%r10,%r15,4), %r15
movl %r12d, %r14d
vxorpd %xmm13, %xmm13, %xmm13
movl $0x4, %r12d
vxorpd %xmm12, %xmm12, %xmm12
movslq %r8d, %rsi
vmulpd %ymm16, %ymm6, %ymm16
vmulpd %ymm6, %ymm15, %ymm15
vmulpd %ymm6, %ymm14, %ymm6
movslq %r11d, %r13
movslq %ebx, %rbp
movslq %eax, %r10
movl 0x4(%r15,%r12,4), %r11d
movl 0xc(%r15,%r12,4), %eax
movl (%r15,%r12,4), %r8d
movl 0x8(%r15,%r12,4), %ebx
addq $0x4, %r12
vmovsd (%r9,%rsi,8), %xmm23
vextractf32x4 $0x1, %ymm16, %xmm14
vextractf32x4 $0x1, %ymm15, %xmm19
vextractf32x4 $0x1, %ymm6, %xmm21
vshufpd $0x1, %xmm15, %xmm15, %xmm24 # xmm24 = xmm15[1,0]
vshufpd $0x1, %xmm6, %xmm6, %xmm25 # xmm25 = xmm6[1,0]
vshufpd $0x1, %xmm14, %xmm14, %xmm18 # xmm18 = xmm14[1,0]
vshufpd $0x1, %xmm19, %xmm19, %xmm20 # xmm20 = xmm19[1,0]
vshufpd $0x1, %xmm21, %xmm21, %xmm22 # xmm22 = xmm21[1,0]
movslq %r8d, %rdi
vaddsd %xmm11, %xmm22, %xmm11
vaddsd %xmm13, %xmm18, %xmm13
vaddsd %xmm12, %xmm20, %xmm12
vsubsd %xmm18, %xmm23, %xmm23
vaddsd %xmm11, %xmm21, %xmm11
vaddsd %xmm13, %xmm14, %xmm13
vaddsd %xmm12, %xmm19, %xmm12
vmovsd %xmm23, (%r9,%rsi,8)
vaddsd %xmm11, %xmm25, %xmm11
vaddsd %xmm12, %xmm24, %xmm12
vmovsd 0x30d400(%r9,%rsi,8), %xmm23
vaddsd %xmm6, %xmm11, %xmm11
vaddsd %xmm12, %xmm15, %xmm12
vsubsd %xmm20, %xmm23, %xmm23
vmovsd %xmm23, 0x30d400(%r9,%rsi,8)
vmovsd 0x61a800(%r9,%rsi,8), %xmm23
vsubsd %xmm22, %xmm23, %xmm23
vmovsd %xmm23, 0x61a800(%r9,%rsi,8)
movslq %r11d, %rsi
vmovsd (%r9,%r13,8), %xmm23
vsubsd %xmm14, %xmm23, %xmm23
vmovsd %xmm23, (%r9,%r13,8)
vmovsd 0x30d400(%r9,%r13,8), %xmm23
vsubsd %xmm19, %xmm23, %xmm23
vmovapd %ymm0, %ymm19
vmovsd %xmm23, 0x30d400(%r9,%r13,8)
vmovsd 0x61a800(%r9,%r13,8), %xmm23
vsubsd %xmm21, %xmm23, %xmm23
vmovsd %xmm23, 0x61a800(%r9,%r13,8)
vshufpd $0x1, %xmm16, %xmm16, %xmm23 # xmm23 = xmm16[1,0]
movslq %eax, %r13
vmovsd (%r9,%rbp,8), %xmm26
vmovsd 0x30d400(%rdx,%r13,8), %xmm14
vmovsd (%rdx,%r13,8), %xmm27
vaddsd %xmm13, %xmm23, %xmm13
vaddsd %xmm13, %xmm16, %xmm13
vsubsd %xmm23, %xmm26, %xmm26
vmovsd %xmm26, (%r9,%rbp,8)
vmovsd 0x30d400(%r9,%rbp,8), %xmm26
vsubsd %xmm24, %xmm26, %xmm26
vmovsd %xmm26, 0x30d400(%r9,%rbp,8)
vmovsd 0x61a800(%r9,%rbp,8), %xmm26
vsubsd %xmm25, %xmm26, %xmm26
vmovsd %xmm26, 0x61a800(%r9,%rbp,8)
movslq %ebx, %rbp
vmovsd (%r9,%r10,8), %xmm26
vmovhpd 0x30d400(%rdx,%rbp,8), %xmm14, %xmm14 # xmm14 = xmm14[0],mem[0]
vmovhpd (%rdx,%rbp,8), %xmm27, %xmm27 # xmm27 = xmm27[0],mem[0]
vsubsd %xmm16, %xmm26, %xmm26
vmovsd %xmm26, (%r9,%r10,8)
vmovsd 0x30d400(%r9,%r10,8), %xmm26
vsubsd %xmm15, %xmm26, %xmm26
vmovsd 0x61a800(%rdx,%r13,8), %xmm15
vmovhpd 0x61a800(%rdx,%rbp,8), %xmm15, %xmm15 # xmm15 = xmm15[0],mem[0]
vmovsd %xmm26, 0x30d400(%r9,%r10,8)
vmovsd 0x61a800(%r9,%r10,8), %xmm26
vsubsd %xmm6, %xmm26, %xmm26
vmovsd 0x30d400(%rdx,%rsi,8), %xmm6
vmovhpd 0x30d400(%rdx,%rdi,8), %xmm6, %xmm6 # xmm6 = xmm6[0],mem[0]
vmovsd %xmm26, 0x61a800(%r9,%r10,8)
vmovsd (%rdx,%rsi,8), %xmm26
vmovhpd (%rdx,%rdi,8), %xmm26, %xmm26 # xmm26 = xmm26[0],mem[0]
vinsertf128 $0x1, %xmm6, %ymm14, %ymm6
vmovsd 0x61a800(%rdx,%rsi,8), %xmm14
vmovhpd 0x61a800(%rdx,%rdi,8), %xmm14, %xmm14 # xmm14 = xmm14[0],mem[0]
vinsertf32x4 $0x1, %xmm26, %ymm27, %ymm26
vsubpd %ymm8, %ymm26, %ymm16
vinsertf128 $0x1, %xmm14, %ymm15, %ymm14
vsubpd %ymm9, %ymm6, %ymm15
vsubpd %ymm10, %ymm14, %ymm14
vmulpd %ymm15, %ymm15, %ymm6
vfmadd231pd %ymm16, %ymm16, %ymm6 # ymm6 = (ymm16 * ymm16) + ymm6
vfmadd231pd %ymm14, %ymm14, %ymm6 # ymm6 = (ymm14 * ymm14) + ymm6
vmulpd %ymm6, %ymm6, %ymm18
vmulpd %ymm18, %ymm6, %ymm18
vfmadd213pd %ymm1, %ymm18, %ymm19 # ymm19 = (ymm18 * ymm19) + ymm1
vmulpd %ymm18, %ymm18, %ymm18
vmulpd %ymm18, %ymm6, %ymm18
vsubpd %ymm6, %ymm2, %ymm6
vdivpd %ymm18, %ymm19, %ymm7
vblendvpd %ymm6, %ymm3, %ymm7, %ymm6
cmpq %r14, %r12
jb 0x360b
jmp 0x38dd
vxorpd %xmm12, %xmm12, %xmm12
vxorpd %xmm13, %xmm13, %xmm13
vmovsd (%r9,%rdi,8), %xmm22
vmulpd %ymm16, %ymm6, %ymm7
vmulpd %ymm6, %ymm15, %ymm15
vmulpd %ymm6, %ymm14, %ymm6
movl -0x1c(%rsp), %eax
movq -0x10(%rsp), %r8
leaq 0x7a1583e(%rip), %r10   # 0x7a19140
vextractf128 $0x1, %ymm7, %xmm14
vextractf32x4 $0x1, %ymm15, %xmm18
vextractf32x4 $0x1, %ymm6, %xmm20
vshufpd $0x1, %xmm14, %xmm14, %xmm16 # xmm16 = xmm14[1,0]
vshufpd $0x1, %xmm18, %xmm18, %xmm19 # xmm19 = xmm18[1,0]
vshufpd $0x1, %xmm20, %xmm20, %xmm21 # xmm21 = xmm20[1,0]
vaddsd %xmm13, %xmm16, %xmm13
vaddsd %xmm12, %xmm19, %xmm12
vaddsd %xmm11, %xmm21, %xmm11
vsubsd %xmm16, %xmm22, %xmm16
vaddsd %xmm13, %xmm14, %xmm13
vaddsd %xmm12, %xmm18, %xmm12
vaddsd %xmm11, %xmm20, %xmm11
vmovsd %xmm16, (%r9,%rdi,8)
vmovsd 0x30d400(%r9,%rdi,8), %xmm16
vsubsd %xmm19, %xmm16, %xmm16
vmovsd %xmm16, 0x30d400(%r9,%rdi,8)
vmovsd 0x61a800(%r9,%rdi,8), %xmm16
vsubsd %xmm21, %xmm16, %xmm16
vmovsd %xmm16, 0x61a800(%r9,%rdi,8)
movq -0x8(%rsp), %rdi
vmovsd (%r9,%rsi,8), %xmm16
vsubsd %xmm14, %xmm16, %xmm14
vshufpd $0x1, %xmm15, %xmm15, %xmm16 # xmm16 = xmm15[1,0]
vaddsd %xmm12, %xmm16, %xmm12
vmovsd %xmm14, (%r9,%rsi,8)
vmovsd 0x30d400(%r9,%rsi,8), %xmm14
vaddsd %xmm12, %xmm15, %xmm12
vsubsd %xmm18, %xmm14, %xmm14
vshufpd $0x1, %xmm6, %xmm6, %xmm18 # xmm18 = xmm6[1,0]
vaddsd %xmm11, %xmm18, %xmm11
vmovsd %xmm14, 0x30d400(%r9,%rsi,8)
vmovsd 0x61a800(%r9,%rsi,8), %xmm14
vaddsd %xmm6, %xmm11, %xmm11
vsubsd %xmm20, %xmm14, %xmm14
vmovsd %xmm14, 0x61a800(%r9,%rsi,8)
vshufpd $0x1, %xmm7, %xmm7, %xmm14 # xmm14 = xmm7[1,0]
vmovsd (%r9,%rbp,8), %xmm19
vaddsd %xmm13, %xmm14, %xmm13
vaddsd %xmm7, %xmm13, %xmm13
vsubsd %xmm14, %xmm19, %xmm14
vmovsd %xmm14, (%r9,%rbp,8)
vmovsd 0x30d400(%r9,%rbp,8), %xmm14
vsubsd %xmm16, %xmm14, %xmm14
vmovsd %xmm14, 0x30d400(%r9,%rbp,8)
vmovsd 0x61a800(%r9,%rbp,8), %xmm14
vsubsd %xmm18, %xmm14, %xmm14
vmovsd %xmm14, 0x61a800(%r9,%rbp,8)
vmovsd (%r9,%r13,8), %xmm14
vsubsd %xmm7, %xmm14, %xmm7
vmovsd %xmm7, (%r9,%r13,8)
vmovsd 0x30d400(%r9,%r13,8), %xmm7
vsubsd %xmm15, %xmm7, %xmm7
vmovsd %xmm7, 0x30d400(%r9,%r13,8)
vmovsd 0x61a800(%r9,%r13,8), %xmm7
vsubsd %xmm6, %xmm7, %xmm6
vmovsd %xmm6, 0x61a800(%r9,%r13,8)
vaddsd (%r9,%rcx,8), %xmm13, %xmm6
vmovsd %xmm6, (%r9,%rcx,8)
vaddsd 0x30d400(%r9,%rcx,8), %xmm12, %xmm6
vmovsd %xmm6, 0x30d400(%r9,%rcx,8)
vaddsd 0x61a800(%r9,%rcx,8), %xmm11, %xmm6
vmovsd %xmm6, 0x61a800(%r9,%rcx,8)
cmpl %edi, %eax
jge 0x3bd1
cltq
addq %rax, %r8
subq %rax, %rdi
xorl %eax, %eax
shlq $0x2, %r8
leaq (%r8,%rax,4), %rsi
movslq (%r10,%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
vmulsd %xmm11, %xmm11, %xmm13
vfmadd231sd %xmm12, %xmm12, %xmm13 # xmm13 = (xmm12 * xmm12) + xmm13
vsubsd %xmm10, %xmm6, %xmm6
vfmadd231sd %xmm6, %xmm6, %xmm13 # xmm13 = (xmm6 * xmm6) + xmm13
vucomisd %xmm4, %xmm13
ja 0x3bc5
vmulsd %xmm13, %xmm13, %xmm7
vmovapd %xmm5, %xmm14
vmulsd %xmm7, %xmm13, %xmm7
vfmadd213sd %xmm17, %xmm7, %xmm14 # xmm14 = (xmm7 * xmm14) + xmm17
vmulsd %xmm7, %xmm7, %xmm7
vmulsd %xmm7, %xmm13, %xmm7
vmovsd (%r9,%rcx,8), %xmm13
vdivsd %xmm7, %xmm14, %xmm7
vmulsd %xmm28, %xmm7, %xmm7
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, %rdi
jne 0x3ae2
incq %rcx
cmpq -0x18(%rsp), %rcx
jne 0x34b3
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
vzeroupper
retq