void VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd(
    const int nPoints, const int killNonlinearDrag, const double eps_rho,
    const double eps_mu, const double sigma, const double rho_0,
    const double nu_0, const double rho_1, const double nu_1,
    const double *meanGrainSize, const double *g, const double *phi,
    const double *n, const double *kappa, const double *p, const double *grad_p,
    const double *u, const double *v, const double *w, const double *porosity,
    double *mom_u_acc, double *dmom_u_acc_u, double *mom_v_acc,
    double *dmom_v_acc_v, double *mom_w_acc, double *dmom_w_acc_w,
    double *mass_adv, double *dmass_adv_u, double *dmass_adv_v,
    double *dmass_adv_w, double *mom_u_adv, double *dmom_u_adv_u,
    double *dmom_u_adv_v, double *dmom_u_adv_w, double *mom_v_adv,
    double *dmom_v_adv_u, double *dmom_v_adv_v, double *dmom_v_adv_w,
    double *mom_w_adv, double *dmom_w_adv_u, double *dmom_w_adv_v,
    double *dmom_w_adv_w, double *mom_u_diff_ten, double *mom_v_diff_ten,
    double *mom_w_diff_ten, double *mom_uv_diff_ten, double *mom_uw_diff_ten,
    double *mom_vu_diff_ten, double *mom_vw_diff_ten, double *mom_wu_diff_ten,
    double *mom_wv_diff_ten, double *mom_u_source, double *mom_v_source,
    double *mom_w_source, double *dmom_u_source_u, double *dmom_u_source_v,
    double *dmom_u_source_w, double *dmom_v_source_u, double *dmom_v_source_v,
    double *dmom_v_source_w, double *dmom_w_source_u, double *dmom_w_source_v,
    double *dmom_w_source_w, double *mom_u_ham, double *dmom_u_ham_grad_p,
    double *mom_v_ham, double *dmom_v_ham_grad_p, double *mom_w_ham,
    double *dmom_w_ham_grad_p) {
  int k;
  double rho, nu, mu, H_rho, d_rho, H_mu, d_mu, norm_n, uc, Ftilde, Kinv;
  double nonlinearDragFactor = 1.0;
  if (killNonlinearDrag)
    nonlinearDragFactor = 0.0;
  for (k = 0; k < nPoints; k++) {
    H_rho = smoothedHeaviside(eps_rho, phi[k]);
    d_rho = smoothedDirac(eps_rho, phi[k]);
    H_mu = smoothedHeaviside(eps_mu, phi[k]);
    d_mu = smoothedDirac(eps_mu, phi[k]);
    rho = rho_0 * (1.0 - H_rho) + rho_1 * H_rho;
    nu = nu_0 * (1.0 - H_mu) + nu_1 * H_mu;
    mu = rho_0 * nu_0 * (1.0 - H_mu) + rho_1 * nu_1 * H_mu;
    mom_u_acc[k] = porosity[k] * u[k];
    dmom_u_acc_u[k] = porosity[k];
    mom_v_acc[k] = porosity[k] * v[k];
    dmom_v_acc_v[k] = porosity[k];
    mom_w_acc[k] = porosity[k] * w[k];
    dmom_w_acc_w[k] = porosity[k];
    mass_adv[k * 3 + 0] = porosity[k] * u[k];
    mass_adv[k * 3 + 1] = porosity[k] * v[k];
    mass_adv[k * 3 + 2] = porosity[k] * w[k];
    dmass_adv_u[k * 3 + 0] = porosity[k];
    dmass_adv_v[k * 3 + 1] = porosity[k];
    dmass_adv_w[k * 3 + 2] = porosity[k];
    mom_u_adv[k * 3 + 0] = porosity[k] * u[k] * u[k];
    mom_u_adv[k * 3 + 1] = porosity[k] * u[k] * v[k];
    mom_u_adv[k * 3 + 2] = porosity[k] * u[k] * w[k];
    dmom_u_adv_u[k * 3 + 0] = 2.0 * porosity[k] * u[k];
    dmom_u_adv_u[k * 3 + 1] = porosity[k] * v[k];
    dmom_u_adv_u[k * 3 + 2] = porosity[k] * w[k];
    dmom_u_adv_v[k * 3 + 1] = porosity[k] * u[k];
    dmom_u_adv_w[k * 3 + 2] = porosity[k] * u[k];
    mom_v_adv[k * 3 + 0] = porosity[k] * v[k] * u[k];
    mom_v_adv[k * 3 + 1] = porosity[k] * v[k] * v[k];
    mom_v_adv[k * 3 + 2] = porosity[k] * v[k] * w[k];
    dmom_v_adv_u[k * 3 + 0] = porosity[k] * v[k];
    dmom_v_adv_w[k * 3 + 2] = porosity[k] * v[k];
    dmom_v_adv_v[k * 3 + 0] = porosity[k] * u[k];
    dmom_v_adv_v[k * 3 + 1] = 2.0 * porosity[k] * v[k];
    dmom_v_adv_v[k * 3 + 2] = porosity[k] * w[k];
    mom_w_adv[k * 3 + 0] = porosity[k] * w[k] * u[k];
    mom_w_adv[k * 3 + 1] = porosity[k] * w[k] * v[k];
    mom_w_adv[k * 3 + 2] = porosity[k] * w[k] * w[k];
    dmom_w_adv_u[k * 3 + 0] = porosity[k] * w[k];
    dmom_w_adv_v[k * 3 + 1] = porosity[k] * w[k];
    dmom_w_adv_w[k * 3 + 0] = porosity[k] * u[k];
    dmom_w_adv_w[k * 3 + 1] = porosity[k] * v[k];
    dmom_w_adv_w[k * 3 + 2] = 2.0 * porosity[k] * w[k];
    mom_u_diff_ten[k * 3 + 0] = 2.0 * porosity[k] * nu;
    mom_u_diff_ten[k * 3 + 1] = porosity[k] * nu;
    mom_u_diff_ten[k * 3 + 2] = porosity[k] * nu;
    mom_uv_diff_ten[k] = porosity[k] * nu;
    mom_uw_diff_ten[k] = porosity[k] * nu;
    mom_v_diff_ten[k * 3 + 0] = porosity[k] * nu;
    mom_v_diff_ten[k * 3 + 1] = 2.0 * porosity[k] * nu;
    mom_v_diff_ten[k * 3 + 2] = porosity[k] * nu;
    mom_vu_diff_ten[k] = porosity[k] * nu;
    mom_vw_diff_ten[k] = porosity[k] * nu;
    mom_w_diff_ten[k * 3 + 0] = porosity[k] * nu;
    mom_w_diff_ten[k * 3 + 1] = porosity[k] * nu;
    mom_w_diff_ten[k * 3 + 2] = 2.0 * porosity[k] * nu;
    mom_wu_diff_ten[k] = porosity[k] * nu;
    mom_wv_diff_ten[k] = porosity[k] * nu;
    norm_n = sqrt(n[k * 3 + 0] * n[k * 3 + 0] + n[k * 3 + 1] * n[k * 3 + 1] +
                  n[k * 3 + 2] * n[k * 3 + 2]);
    uc = sqrt(u[k] * u[k] + v[k] * v[k] + w[k] * w[k]);
    if (fabs(1.0 - porosity[k]) < 1.0e-7)
      Ftilde = 0.0;
    else
      Ftilde =
          porosity[k] * meanGrainSize[k] * 1.0e-2 / (1.0 - porosity[k]) / nu;
    Ftilde *= nonlinearDragFactor;
    if (fabs(porosity[k]) < 1.0e-7)
      Kinv = 0.0;
    else
      Kinv = 180.0 * (1.0 - porosity[k]) * (1.0 - porosity[k]) /
             (meanGrainSize[k] * meanGrainSize[k] * porosity[k] * porosity[k] *
              porosity[k]);
    mom_u_source[k] =
        -porosity[k] * g[0] -
        porosity[k] * d_mu * sigma * kappa[k] * n[k * 3 + 0] /
            (rho * (norm_n + 1.0e-8)) +
        porosity[k] * porosity[k] * nu * Kinv * (1.0 + Ftilde * uc) * u[k];
    mom_v_source[k] =
        -porosity[k] * g[1] -
        porosity[k] * d_mu * sigma * kappa[k] * n[k * 3 + 1] /
            (rho * (norm_n + 1.0e-8)) +
        porosity[k] * porosity[k] * nu * Kinv * (1.0 + Ftilde * uc) * v[k];
    mom_w_source[k] =
        -porosity[k] * g[2] -
        porosity[k] * d_mu * sigma * kappa[k] * n[k * 3 + 2] /
            (rho * (norm_n + 1.0e-8)) +
        porosity[k] * porosity[k] * nu * Kinv * (1.0 + Ftilde * uc) * w[k];
    dmom_u_source_u[k] = porosity[k] * porosity[k] * nu * Kinv *
                         (1.0 + Ftilde * (uc + u[k] * u[k] / (uc + 1.0e-12)));
    dmom_u_source_v[k] = porosity[k] * porosity[k] * nu * Kinv *
                         (0.0 + Ftilde * (u[k] * v[k] / (uc + 1.0e-12)));
    dmom_u_source_w[k] = porosity[k] * porosity[k] * nu * Kinv *
                         (0.0 + Ftilde * (u[k] * w[k] / (uc + 1.0e-12)));
    dmom_v_source_u[k] = porosity[k] * porosity[k] * nu * Kinv *
                         (0.0 + Ftilde * (u[k] * v[k] / (uc + 1.0e-12)));
    dmom_v_source_v[k] = porosity[k] * porosity[k] * nu * Kinv *
                         (1.0 + Ftilde * (uc + v[k] * v[k] / (uc + 1.0e-12)));
    dmom_v_source_w[k] = porosity[k] * porosity[k] * nu * Kinv *
                         (0.0 + Ftilde * (w[k] * v[k] / (uc + 1.0e-12)));
    dmom_w_source_u[k] = porosity[k] * porosity[k] * nu * Kinv *
                         (0.0 + Ftilde * (w[k] * u[k] / (uc + 1.0e-12)));
    dmom_w_source_v[k] = porosity[k] * porosity[k] * nu * Kinv *
                         (0.0 + Ftilde * (w[k] * v[k] / (uc + 1.0e-12)));
    dmom_w_source_w[k] = porosity[k] * porosity[k] * nu * Kinv *
                         (1.0 + Ftilde * (uc + w[k] * w[k] / (uc + 1.0e-12)));
    mom_u_ham[k] = porosity[k] * grad_p[k * 3 + 0] / rho;
    dmom_u_ham_grad_p[k * 3 + 0] = porosity[k] / rho;
    mom_v_ham[k] = porosity[k] * grad_p[k * 3 + 1] / rho;
    dmom_v_ham_grad_p[k * 3 + 1] = porosity[k] / rho;
    mom_w_ham[k] = porosity[k] * grad_p[k * 3 + 2] / rho;
    dmom_w_ham_grad_p[k * 3 + 2] = porosity[k] / rho;
  }
}


x86 assembly (clang, -O0):
<VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd>:
push   %rbp
mov    %rsp,%rbp
sub    $0xd0,%rsp
mov    0x1c8(%rbp),%rax
mov    0x1c0(%rbp),%rax
mov    0x1b8(%rbp),%rax
mov    0x1b0(%rbp),%rax
mov    0x1a8(%rbp),%rax
mov    0x1a0(%rbp),%rax
mov    0x198(%rbp),%rax
mov    0x190(%rbp),%rax
mov    0x188(%rbp),%rax
mov    0x180(%rbp),%rax
mov    0x178(%rbp),%rax
mov    0x170(%rbp),%rax
mov    0x168(%rbp),%rax
mov    0x160(%rbp),%rax
mov    0x158(%rbp),%rax
mov    0x150(%rbp),%rax
mov    0x148(%rbp),%rax
mov    0x140(%rbp),%rax
mov    0x138(%rbp),%rax
mov    0x130(%rbp),%rax
mov    0x128(%rbp),%rax
mov    0x120(%rbp),%rax
mov    0x118(%rbp),%rax
mov    0x110(%rbp),%rax
mov    0x108(%rbp),%rax
mov    0x100(%rbp),%rax
mov    0xf8(%rbp),%rax
mov    0xf0(%rbp),%rax
mov    0xe8(%rbp),%rax
mov    0xe0(%rbp),%rax
mov    0xd8(%rbp),%rax
mov    0xd0(%rbp),%rax
mov    0xc8(%rbp),%rax
mov    0xc0(%rbp),%rax
mov    0xb8(%rbp),%rax
mov    0xb0(%rbp),%rax
mov    0xa8(%rbp),%rax
mov    0xa0(%rbp),%rax
mov    0x98(%rbp),%rax
mov    0x90(%rbp),%rax
mov    0x88(%rbp),%rax
mov    0x80(%rbp),%rax
mov    0x78(%rbp),%rax
mov    0x70(%rbp),%rax
mov    0x68(%rbp),%rax
mov    0x60(%rbp),%rax
mov    0x58(%rbp),%rax
mov    0x50(%rbp),%rax
mov    0x48(%rbp),%rax
mov    0x40(%rbp),%rax
mov    0x38(%rbp),%rax
mov    0x30(%rbp),%rax
mov    0x28(%rbp),%rax
mov    0x20(%rbp),%rax
mov    0x18(%rbp),%rax
mov    0x10(%rbp),%rax
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
movsd  %xmm0,-0x10(%rbp)
movsd  %xmm1,-0x18(%rbp)
movsd  %xmm2,-0x20(%rbp)
movsd  %xmm3,-0x28(%rbp)
movsd  %xmm4,-0x30(%rbp)
movsd  %xmm5,-0x38(%rbp)
movsd  %xmm6,-0x40(%rbp)
mov    %rdx,-0x48(%rbp)
mov    %rcx,-0x50(%rbp)
mov    %r8,-0x58(%rbp)
mov    %r9,-0x60(%rbp)
movsd  0x1d26(%rip),%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
cmpl   $0x0,-0x8(%rbp)
je     12f7 <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0x1c7>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xc8(%rbp)
ff
movl   $0x0,-0x64(%rbp)
mov    -0x64(%rbp),%eax
cmp    -0x4(%rbp),%eax
jge    288e <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0x175e>
movsd  -0x10(%rbp),%xmm0
mov    -0x58(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    $0x2,%al
call   1050 <smoothedHeaviside@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
mov    -0x58(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    $0x2,%al
call   1040 <smoothedDirac@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
mov    -0x58(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    $0x2,%al
call   1050 <smoothedHeaviside@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
mov    -0x58(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    $0x2,%al
call   1040 <smoothedDirac@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0xa0(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
movsd  0x1c55(%rip),%xmm2
subsd  -0x88(%rbp),%xmm2
ff
movsd  -0x38(%rbp),%xmm1
mulsd  -0x88(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x70(%rbp)
movsd  -0x30(%rbp),%xmm0
movsd  0x1c26(%rip),%xmm2
subsd  -0x98(%rbp),%xmm2
ff
movsd  -0x40(%rbp),%xmm1
mulsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x28(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
movsd  0x1bf2(%rip),%xmm2
subsd  -0x98(%rbp),%xmm2
ff
movsd  -0x38(%rbp),%xmm1
mulsd  -0x40(%rbp),%xmm1
mulsd  -0x98(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x48(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x50(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x58(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x60(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x68(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x70(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x78(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x78(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x78(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x80(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x88(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x90(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x98(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x98(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x98(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  0x1961(%rip),%xmm0
mulsd  (%rax,%rcx,8),%xmm0
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xa0(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xa0(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xa0(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xa8(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xb0(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xb8(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xb8(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xb8(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xc0(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xd0(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xc8(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  0x1722(%rip),%xmm0
mulsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xc8(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xc8(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xd8(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xd8(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xd8(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xe0(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xe8(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xf0(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xf0(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  0x1543(%rip),%xmm0
mulsd  (%rax,%rcx,8),%xmm0
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xf0(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  0x150b(%rip),%xmm0
mulsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mov    0xf8(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mov    0xf8(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mov    0xf8(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mov    0x110(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mov    0x118(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mov    0x100(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  0x141f(%rip),%xmm0
mulsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mov    0x100(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mov    0x100(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mov    0x120(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mov    0x128(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mov    0x108(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mov    0x108(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  0x1333(%rip),%xmm0
mulsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mov    0x108(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mov    0x130(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mov    0x138(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x60(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x60(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    -0x60(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x60(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x60(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x60(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sqrt@plt>
movsd  %xmm0,-0xa8(%rbp)
ff
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
call   1030 <sqrt@plt>
movsd  %xmm0,-0xb0(%rbp)
ff
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  0x11b5(%rip),%xmm1
subsd  (%rax,%rcx,8),%xmm1
movaps 0x11e9(%rip),%xmm0
pand   %xmm0,%xmm1
movsd  0x11a5(%rip),%xmm0
ucomisd %xmm1,%xmm0
jbe    1e7d <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0xd4d>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
jmp    1ec9 <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0xd99>
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x48(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
movsd  0x1179(%rip),%xmm1
mulsd  %xmm1,%xmm0
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  0x114d(%rip),%xmm1
subsd  (%rax,%rcx,8),%xmm1
divsd  %xmm1,%xmm0
divsd  -0x78(%rbp),%xmm0
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xc8(%rbp),%xmm0
ff
mulsd  -0xb8(%rbp),%xmm0
ff
movsd  %xmm0,-0xb8(%rbp)
ff
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
movaps 0x114b(%rip),%xmm0
pand   %xmm0,%xmm1
movsd  0x1107(%rip),%xmm0
ucomisd %xmm1,%xmm0
jbe    1f1b <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0xdeb>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
jmp    1fa2 <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0xe72>
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  0x10d5(%rip),%xmm1
subsd  (%rax,%rcx,8),%xmm1
movsd  0x10e8(%rip),%xmm0
mulsd  %xmm1,%xmm0
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  0x10b4(%rip),%xmm1
subsd  (%rax,%rcx,8),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x48(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x48(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xc0(%rbp)
ff
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mov    -0x50(%rbp),%rax
movsd  (%rax),%xmm2
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mulsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x20(%rbp),%xmm0
mov    0x10(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    -0x60(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
mulsd  (%rax,%rcx,8),%xmm0
movsd  -0x70(%rbp),%xmm3
movsd  0x101b(%rip),%xmm4
addsd  -0xa8(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm3
divsd  %xmm3,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mulsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm2
ff
movsd  -0xb0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
movsd  0xf79(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x140(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mov    -0x50(%rbp),%rax
movsd  0x8(%rax),%xmm2
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mulsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x20(%rbp),%xmm0
mov    0x10(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    -0x60(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mulsd  (%rax,%rcx,8),%xmm0
movsd  -0x70(%rbp),%xmm3
movsd  0xf08(%rip),%xmm4
addsd  -0xa8(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm3
divsd  %xmm3,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mulsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm2
ff
movsd  -0xb0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
movsd  0xe66(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x148(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mov    -0x50(%rbp),%rax
movsd  0x10(%rax),%xmm2
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mulsd  -0xa0(%rbp),%xmm0
ff
mulsd  -0x20(%rbp),%xmm0
mov    0x10(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    -0x60(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
mulsd  (%rax,%rcx,8),%xmm0
movsd  -0x70(%rbp),%xmm3
movsd  0xdf5(%rip),%xmm4
addsd  -0xa8(%rbp),%xmm4
ff
mulsd  %xmm4,%xmm3
divsd  %xmm3,%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mulsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm2
ff
movsd  -0xb0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
movsd  0xd53(%rip),%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm0
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
mov    0x150(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mulsd  -0xc0(%rbp),%xmm0
movsd  -0xb8(%rbp),%xmm1
ff
movsd  -0xb0(%rbp),%xmm2
ff
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm3
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm3
movsd  0xcf5(%rip),%xmm4
addsd  -0xb0(%rbp),%xmm4
ff
divsd  %xmm4,%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  0xcb1(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    0x158(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mulsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm1
ff
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm2
movsd  0xc70(%rip),%xmm3
addsd  -0xb0(%rbp),%xmm3
ff
divsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    0x160(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mulsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm1
ff
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm2
movsd  0xbf4(%rip),%xmm3
addsd  -0xb0(%rbp),%xmm3
ff
divsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    0x168(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mulsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm1
ff
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm2
movsd  0xb78(%rip),%xmm3
addsd  -0xb0(%rbp),%xmm3
ff
divsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    0x170(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mulsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm1
ff
movsd  -0xb0(%rbp),%xmm2
ff
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm3
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm3
movsd  0xaf4(%rip),%xmm4
addsd  -0xb0(%rbp),%xmm4
ff
divsd  %xmm4,%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  0xab0(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    0x178(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mulsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm1
ff
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm2
movsd  0xa6f(%rip),%xmm3
addsd  -0xb0(%rbp),%xmm3
ff
divsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    0x180(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mulsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm1
ff
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x28(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm2
movsd  0x9f3(%rip),%xmm3
addsd  -0xb0(%rbp),%xmm3
ff
divsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    0x188(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mulsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm1
ff
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    0x30(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm2
movsd  0x977(%rip),%xmm3
addsd  -0xb0(%rbp),%xmm3
ff
divsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
xorps  %xmm2,%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    0x190(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  -0x78(%rbp),%xmm0
mulsd  -0xc0(%rbp),%xmm0
ff
movsd  -0xb8(%rbp),%xmm1
ff
movsd  -0xb0(%rbp),%xmm2
ff
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm3
mov    0x38(%rbp),%rax
movslq -0x64(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm3
movsd  0x8f3(%rip),%xmm4
addsd  -0xb0(%rbp),%xmm4
ff
divsd  %xmm4,%xmm3
addsd  %xmm3,%xmm2
mulsd  %xmm2,%xmm1
movsd  0x8af(%rip),%xmm2
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    0x198(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
mulsd  (%rax,%rcx,8),%xmm0
divsd  -0x70(%rbp),%xmm0
mov    0x1a0(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
divsd  -0x70(%rbp),%xmm0
mov    0x1a8(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mulsd  (%rax,%rcx,8),%xmm0
divsd  -0x70(%rbp),%xmm0
mov    0x1b0(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
divsd  -0x70(%rbp),%xmm0
mov    0x1b8(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
mulsd  (%rax,%rcx,8),%xmm0
divsd  -0x70(%rbp),%xmm0
mov    0x1c0(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x40(%rbp),%rax
movslq -0x64(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
divsd  -0x70(%rbp),%xmm0
mov    0x1c8(%rbp),%rax
imul   $0x3,-0x64(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x64(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x64(%rbp)
jmp    12fe <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0x1ce>
add    $0xd0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x88,%rsp
mov    %r8,0x80(%rsp)
mov    %rcx,0x78(%rsp)
mov    %rdx,0x18(%rsp)
movsd  %xmm6,0x70(%rsp)
movsd  %xmm5,0x68(%rsp)
movsd  %xmm4,0x60(%rsp)
movsd  %xmm3,0x58(%rsp)
movsd  %xmm2,0x50(%rsp)
movsd  %xmm1,0x38(%rsp)
movsd  %xmm0,0x30(%rsp)
test   %esi,%esi
je     1187 <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0x57>
xorpd  %xmm0,%xmm0
jmp    118f <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0x5f>
movsd  0xe71(%rip),%xmm0
movsd  %xmm0,0x20(%rsp)
test   %edi,%edi
jle    1ce2 <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0xbb2>
mov    %edi,%eax
shl    $0x3,%rax
mov    %rax,0x48(%rsp)
mov    0xf0(%rsp),%r12
xor    %ebx,%ebx
xor    %r14d,%r14d
mov    %r9,0x10(%rsp)
jmp    15ef <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0x4bf>
nop
movapd %xmm5,%xmm7
movapd 0xe83(%rip),%xmm12
xorpd  %xmm12,%xmm7
addsd  0xe3d(%rip),%xmm14
movapd %xmm1,%xmm4
mulsd  %xmm5,%xmm4
movsd  0x50(%rsp),%xmm9
mulsd  %xmm9,%xmm4
mov    0xc0(%rsp),%rdx
mulsd  (%rdx,%rbx,1),%xmm4
mulsd  (%r9,%r15,8),%xmm4
mulsd  %xmm8,%xmm14
divsd  %xmm14,%xmm4
mov    0x78(%rsp),%rax
mulsd  (%rax),%xmm7
mulsd  %xmm5,%xmm5
mulsd  %xmm13,%xmm5
mulsd  %xmm3,%xmm5
movapd %xmm2,%xmm6
mulsd  %xmm0,%xmm6
addsd  %xmm10,%xmm6
mulsd  %xmm6,%xmm5
mulsd  0x0(%rbp,%rbx,1),%xmm5
subsd  %xmm4,%xmm7
addsd  %xmm7,%xmm5
mov    0x1f0(%rsp),%rcx
movsd  %xmm5,(%rcx,%rbx,1)
movsd  0x0(%r13),%xmm4
movapd %xmm4,%xmm5
movapd %xmm1,%xmm7
mulsd  %xmm4,%xmm7
mulsd  %xmm9,%xmm7
mulsd  (%rdx,%rbx,1),%xmm7
xorpd  %xmm12,%xmm5
mulsd  (%r9,%r8,8),%xmm7
divsd  %xmm14,%xmm7
mulsd  0x8(%rax),%xmm5
mulsd  %xmm4,%xmm4
mulsd  %xmm13,%xmm4
mulsd  %xmm3,%xmm4
mulsd  %xmm6,%xmm4
mulsd  (%rdi,%rbx,1),%xmm4
subsd  %xmm7,%xmm5
addsd  %xmm5,%xmm4
mov    0x1f8(%rsp),%rcx
movsd  %xmm4,(%rcx,%rbx,1)
movsd  0x0(%r13),%xmm4
mulsd  %xmm4,%xmm1
mulsd  %xmm9,%xmm1
mulsd  (%rdx,%rbx,1),%xmm1
mulsd  (%r9,%r14,8),%xmm1
divsd  %xmm14,%xmm1
movapd %xmm4,%xmm5
xorpd  %xmm12,%xmm5
mulsd  0x10(%rax),%xmm5
subsd  %xmm1,%xmm5
mulsd  %xmm4,%xmm4
mulsd  %xmm13,%xmm4
mulsd  %xmm3,%xmm4
mulsd  %xmm6,%xmm4
mulsd  (%rsi,%rbx,1),%xmm4
addsd  %xmm5,%xmm4
mov    0x200(%rsp),%rax
movsd  %xmm4,(%rax,%rbx,1)
movsd  0x0(%r13),%xmm1
mulsd  %xmm1,%xmm1
mulsd  %xmm13,%xmm1
mulsd  %xmm3,%xmm1
movsd  0x0(%rbp,%rbx,1),%xmm5
mulsd  %xmm5,%xmm5
movapd %xmm0,%xmm4
addsd  0xcf5(%rip),%xmm4
divsd  %xmm4,%xmm5
addsd  %xmm0,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm10,%xmm5
mulsd  %xmm1,%xmm5
mov    0x208(%rsp),%rax
movsd  %xmm5,(%rax,%rbx,1)
movsd  0x0(%r13),%xmm1
mulsd  %xmm1,%xmm1
mulsd  %xmm13,%xmm1
mulsd  %xmm3,%xmm1
movsd  0x0(%rbp,%rbx,1),%xmm5
mulsd  (%rdi,%rbx,1),%xmm5
divsd  %xmm4,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm11,%xmm5
mulsd  %xmm1,%xmm5
mov    0x210(%rsp),%rax
movsd  %xmm5,(%rax,%rbx,1)
movsd  0x0(%r13),%xmm1
mulsd  %xmm1,%xmm1
mulsd  %xmm13,%xmm1
mulsd  %xmm3,%xmm1
movsd  0x0(%rbp,%rbx,1),%xmm5
mulsd  (%rsi,%rbx,1),%xmm5
divsd  %xmm4,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm11,%xmm5
mulsd  %xmm1,%xmm5
mov    0x218(%rsp),%rax
movsd  %xmm5,(%rax,%rbx,1)
movsd  0x0(%r13),%xmm1
mulsd  %xmm1,%xmm1
mulsd  %xmm13,%xmm1
mulsd  %xmm3,%xmm1
movsd  0x0(%rbp,%rbx,1),%xmm5
mulsd  (%rdi,%rbx,1),%xmm5
divsd  %xmm4,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm11,%xmm5
mulsd  %xmm1,%xmm5
mov    0x220(%rsp),%rax
movsd  %xmm5,(%rax,%rbx,1)
movsd  0x0(%r13),%xmm1
mulsd  %xmm1,%xmm1
mulsd  %xmm13,%xmm1
mulsd  %xmm3,%xmm1
movsd  (%rdi,%rbx,1),%xmm5
mulsd  %xmm5,%xmm5
divsd  %xmm4,%xmm5
addsd  %xmm0,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm10,%xmm5
mulsd  %xmm1,%xmm5
mov    0x228(%rsp),%rax
movsd  %xmm5,(%rax,%rbx,1)
movsd  0x0(%r13),%xmm1
mulsd  %xmm1,%xmm1
mulsd  %xmm13,%xmm1
mulsd  %xmm3,%xmm1
movsd  (%rsi,%rbx,1),%xmm5
mulsd  (%rdi,%rbx,1),%xmm5
divsd  %xmm4,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm11,%xmm5
mulsd  %xmm1,%xmm5
mov    0x230(%rsp),%rax
movsd  %xmm5,(%rax,%rbx,1)
movsd  0x0(%r13),%xmm1
mulsd  %xmm1,%xmm1
mulsd  %xmm13,%xmm1
mulsd  %xmm3,%xmm1
movsd  (%rsi,%rbx,1),%xmm5
mulsd  0x0(%rbp,%rbx,1),%xmm5
divsd  %xmm4,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm11,%xmm5
mulsd  %xmm1,%xmm5
mov    0x238(%rsp),%rax
movsd  %xmm5,(%rax,%rbx,1)
movsd  0x0(%r13),%xmm1
mulsd  %xmm1,%xmm1
mulsd  %xmm13,%xmm1
mulsd  %xmm3,%xmm1
movsd  (%rsi,%rbx,1),%xmm5
mulsd  (%rdi,%rbx,1),%xmm5
divsd  %xmm4,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm11,%xmm5
mulsd  %xmm1,%xmm5
mov    0x240(%rsp),%rax
movsd  %xmm5,(%rax,%rbx,1)
movsd  0x0(%r13),%xmm1
mulsd  %xmm1,%xmm1
mulsd  %xmm13,%xmm1
mulsd  %xmm3,%xmm1
movsd  (%rsi,%rbx,1),%xmm3
mulsd  %xmm3,%xmm3
divsd  %xmm4,%xmm3
addsd  %xmm0,%xmm3
mulsd  %xmm2,%xmm3
addsd  %xmm10,%xmm3
mulsd  %xmm1,%xmm3
mov    0x248(%rsp),%rax
movsd  %xmm3,(%rax,%rbx,1)
movsd  0x0(%r13),%xmm0
mov    0xd0(%rsp),%rcx
mulsd  (%rcx,%r15,8),%xmm0
divsd  %xmm8,%xmm0
mov    0x250(%rsp),%rax
movsd  %xmm0,(%rax,%rbx,1)
movsd  0x0(%r13),%xmm0
divsd  %xmm8,%xmm0
mov    0x258(%rsp),%rax
movsd  %xmm0,(%rax,%r15,8)
movsd  0x0(%r13),%xmm0
mulsd  (%rcx,%r8,8),%xmm0
divsd  %xmm8,%xmm0
mov    0x260(%rsp),%rax
movsd  %xmm0,(%rax,%rbx,1)
movsd  0x0(%r13),%xmm0
divsd  %xmm8,%xmm0
mov    0x268(%rsp),%rax
movsd  %xmm0,(%rax,%r8,8)
movsd  0x0(%r13),%xmm0
mulsd  (%rcx,%r14,8),%xmm0
divsd  %xmm8,%xmm0
mov    0x270(%rsp),%rax
movsd  %xmm0,(%rax,%rbx,1)
movsd  0x0(%r13),%xmm0
divsd  %xmm8,%xmm0
mov    0x278(%rsp),%rax
movsd  %xmm0,(%rax,%r14,8)
lea    0x3(%r15),%r14d
add    $0x8,%rbx
cmp    %rbx,0x48(%rsp)
je     1ce2 <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0xbb2>
mov    0x80(%rsp),%rbp
movsd  0x0(%rbp,%rbx,1),%xmm1
movsd  0x30(%rsp),%xmm0
mov    $0x2,%al
call   1050 <smoothedHeaviside@plt>
mov    %eax,0x4(%rsp)
movsd  0x0(%rbp,%rbx,1),%xmm1
movsd  0x30(%rsp),%xmm0
mov    $0x2,%al
call   1040 <smoothedDirac@plt>
movsd  0x0(%rbp,%rbx,1),%xmm1
movsd  0x38(%rsp),%xmm0
mov    $0x2,%al
call   1050 <smoothedHeaviside@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  0x0(%rbp,%rbx,1),%xmm1
movsd  0x38(%rsp),%xmm0
mov    $0x2,%al
call   1040 <smoothedDirac@plt>
mov    0xd8(%rsp),%rbp
mov    0xe0(%rsp),%rdi
mov    0xe8(%rsp),%rsi
xorpd  %xmm11,%xmm11
mov    0x10(%rsp),%r8
movsd  (%r12,%rbx,1),%xmm0
mulsd  0x0(%rbp,%rbx,1),%xmm0
mov    0xf8(%rsp),%rdx
movsd  %xmm0,(%rdx,%rbx,1)
movsd  (%r12,%rbx,1),%xmm0
mov    0x100(%rsp),%rdx
movsd  %xmm0,(%rdx,%rbx,1)
movsd  (%r12,%rbx,1),%xmm0
mulsd  (%rdi,%rbx,1),%xmm0
mov    0x108(%rsp),%rdx
movsd  %xmm0,(%rdx,%rbx,1)
movsd  (%r12,%rbx,1),%xmm0
mov    0x110(%rsp),%rdx
movsd  %xmm0,(%rdx,%rbx,1)
movsd  (%r12,%rbx,1),%xmm0
mulsd  (%rsi,%rbx,1),%xmm0
mov    0x118(%rsp),%rdx
movsd  %xmm0,(%rdx,%rbx,1)
movsd  (%r12,%rbx,1),%xmm0
mov    0x120(%rsp),%rdx
movsd  %xmm0,(%rdx,%rbx,1)
movsd  (%r12,%rbx,1),%xmm0
mulsd  0x0(%rbp,%rbx,1),%xmm0
mov    %r14d,%r15d
mov    0x128(%rsp),%rdx
movsd  %xmm0,(%rdx,%r15,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  (%rdi,%rbx,1),%xmm0
lea    0x1(%r14),%ecx
movsd  %xmm0,(%rdx,%rcx,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  (%rsi,%rbx,1),%xmm0
add    $0x2,%r14d
movsd  %xmm0,(%rdx,%r14,8)
movsd  (%r12,%rbx,1),%xmm0
mov    0x130(%rsp),%rdx
movsd  %xmm0,(%rdx,%r15,8)
movsd  (%r12,%rbx,1),%xmm0
mov    0x138(%rsp),%rdx
movsd  %xmm0,(%rdx,%rcx,8)
movsd  (%r12,%rbx,1),%xmm0
mov    0x140(%rsp),%rdx
movsd  %xmm0,(%rdx,%r14,8)
movsd  0x0(%rbp,%rbx,1),%xmm0
movsd  (%r12,%rbx,1),%xmm1
mulsd  %xmm0,%xmm1
mulsd  %xmm0,%xmm1
mov    0x148(%rsp),%rdx
movsd  %xmm1,(%rdx,%r15,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  0x0(%rbp,%rbx,1),%xmm0
mulsd  (%rdi,%rbx,1),%xmm0
movsd  %xmm0,(%rdx,%rcx,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  0x0(%rbp,%rbx,1),%xmm0
mulsd  (%rsi,%rbx,1),%xmm0
movsd  %xmm0,(%rdx,%r14,8)
movsd  (%r12,%rbx,1),%xmm0
addsd  %xmm0,%xmm0
mulsd  0x0(%rbp,%rbx,1),%xmm0
mov    0x150(%rsp),%rdx
movsd  %xmm0,(%rdx,%r15,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  (%rdi,%rbx,1),%xmm0
movsd  %xmm0,(%rdx,%rcx,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  (%rsi,%rbx,1),%xmm0
movsd  %xmm0,(%rdx,%r14,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  0x0(%rbp,%rbx,1),%xmm0
mov    0x158(%rsp),%rdx
movsd  %xmm0,(%rdx,%rcx,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  0x0(%rbp,%rbx,1),%xmm0
mov    0x160(%rsp),%rdx
movsd  %xmm0,(%rdx,%r14,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  (%rdi,%rbx,1),%xmm0
mulsd  0x0(%rbp,%rbx,1),%xmm0
mov    0x168(%rsp),%rdx
movsd  %xmm0,(%rdx,%r15,8)
movsd  (%rdi,%rbx,1),%xmm0
movsd  (%r12,%rbx,1),%xmm1
mulsd  %xmm0,%xmm1
mulsd  %xmm0,%xmm1
movsd  %xmm1,(%rdx,%rcx,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  (%rdi,%rbx,1),%xmm0
mulsd  (%rsi,%rbx,1),%xmm0
movsd  %xmm0,(%rdx,%r14,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  (%rdi,%rbx,1),%xmm0
mov    0x170(%rsp),%rdx
movsd  %xmm0,(%rdx,%r15,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  (%rdi,%rbx,1),%xmm0
mov    0x180(%rsp),%rdx
movsd  %xmm0,(%rdx,%r14,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  0x0(%rbp,%rbx,1),%xmm0
mov    0x178(%rsp),%rdx
movsd  %xmm0,(%rdx,%r15,8)
movsd  (%r12,%rbx,1),%xmm0
addsd  %xmm0,%xmm0
mulsd  (%rdi,%rbx,1),%xmm0
movsd  %xmm0,(%rdx,%rcx,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  (%rsi,%rbx,1),%xmm0
movsd  %xmm0,(%rdx,%r14,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  (%rsi,%rbx,1),%xmm0
mulsd  0x0(%rbp,%rbx,1),%xmm0
mov    0x188(%rsp),%rdx
movsd  %xmm0,(%rdx,%r15,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  (%rsi,%rbx,1),%xmm0
mov    %eax,%r9d
mulsd  (%rdi,%rbx,1),%xmm0
movsd  %xmm0,(%rdx,%rcx,8)
movsd  (%rsi,%rbx,1),%xmm0
movsd  (%r12,%rbx,1),%xmm1
mulsd  %xmm0,%xmm1
mulsd  %xmm0,%xmm1
movsd  0x6b6(%rip),%xmm2
movsd  0x8(%rsp),%xmm0
subsd  %xmm0,%xmm2
mulsd  0x70(%rsp),%xmm0
movapd %xmm0,%xmm3
mulsd  0x60(%rsp),%xmm2
movsd  %xmm1,(%rdx,%r14,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  (%rsi,%rbx,1),%xmm0
mov    0x190(%rsp),%rax
movsd  %xmm0,(%rax,%r15,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  (%rsi,%rbx,1),%xmm0
mov    0x198(%rsp),%rax
movsd  %xmm0,(%rax,%rcx,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  0x0(%rbp,%rbx,1),%xmm0
mov    0x1a0(%rsp),%rax
movsd  %xmm0,(%rax,%r15,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  (%rdi,%rbx,1),%xmm0
movsd  %xmm0,(%rax,%rcx,8)
movsd  (%r12,%rbx,1),%xmm0
addsd  %xmm0,%xmm0
mulsd  (%rsi,%rbx,1),%xmm0
addsd  %xmm3,%xmm2
movsd  %xmm0,(%rax,%r14,8)
movsd  (%r12,%rbx,1),%xmm0
addsd  %xmm0,%xmm0
mulsd  %xmm2,%xmm0
mov    0x1a8(%rsp),%rax
movsd  %xmm0,(%rax,%r15,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  %xmm2,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  %xmm2,%xmm0
movsd  %xmm0,(%rax,%r14,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  %xmm2,%xmm0
mov    0x1c0(%rsp),%rax
movsd  %xmm0,(%rax,%rbx,1)
movsd  (%r12,%rbx,1),%xmm0
mulsd  %xmm2,%xmm0
mov    0x1c8(%rsp),%rax
movsd  %xmm0,(%rax,%rbx,1)
movsd  (%r12,%rbx,1),%xmm0
mulsd  %xmm2,%xmm0
mov    0x1b0(%rsp),%rax
movsd  %xmm0,(%rax,%r15,8)
movsd  (%r12,%rbx,1),%xmm0
addsd  %xmm0,%xmm0
mulsd  %xmm2,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  %xmm2,%xmm0
movsd  %xmm0,(%rax,%r14,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  %xmm2,%xmm0
mov    0x1d0(%rsp),%rax
movsd  %xmm0,(%rax,%rbx,1)
movsd  (%r12,%rbx,1),%xmm0
mulsd  %xmm2,%xmm0
mov    0x1d8(%rsp),%rax
movsd  %xmm0,(%rax,%rbx,1)
movsd  (%r12,%rbx,1),%xmm0
mulsd  %xmm2,%xmm0
mov    0x1b8(%rsp),%rax
movsd  %xmm0,(%rax,%r15,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  %xmm2,%xmm0
movsd  %xmm0,(%rax,%rcx,8)
movsd  (%r12,%rbx,1),%xmm0
addsd  %xmm0,%xmm0
mulsd  %xmm2,%xmm0
movsd  %xmm0,(%rax,%r14,8)
movsd  (%r12,%rbx,1),%xmm0
mulsd  %xmm2,%xmm0
mov    0x1e0(%rsp),%rax
movsd  %xmm0,(%rax,%rbx,1)
movsd  (%r12,%rbx,1),%xmm0
mulsd  %xmm2,%xmm0
mov    0x1e8(%rsp),%rax
movsd  %xmm0,(%rax,%rbx,1)
movsd  (%r8,%r15,8),%xmm1
movsd  (%r8,%rcx,8),%xmm0
mulsd  %xmm0,%xmm0
mulsd  %xmm1,%xmm1
addsd  %xmm0,%xmm1
movsd  (%r8,%r14,8),%xmm0
mulsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
ucomisd %xmm11,%xmm0
mov    %rcx,0x28(%rsp)
movsd  %xmm2,0x8(%rsp)
mov    %r9d,(%rsp)
jb     1b60 <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0xa30>
sqrtsd %xmm0,%xmm14
jmp    1b87 <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0xa57>
nopl   0x0(%rax)
call   1030 <sqrt@plt>
mov    0xd8(%rsp),%rbp
mov    0xe0(%rsp),%rdi
mov    0xe8(%rsp),%rsi
xorpd  %xmm11,%xmm11
movapd %xmm0,%xmm14
lea    (%r12,%rbx,1),%r13
movsd  0x0(%rbp,%rbx,1),%xmm1
movsd  (%rdi,%rbx,1),%xmm0
mulsd  %xmm0,%xmm0
mulsd  %xmm1,%xmm1
addsd  %xmm0,%xmm1
movsd  (%rsi,%rbx,1),%xmm0
mulsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
ucomisd %xmm11,%xmm0
jb     1bc0 <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0xa90>
sqrtsd %xmm0,%xmm0
jmp    1bf0 <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0xac0>
nopl   0x0(%rax)
movsd  %xmm14,0x40(%rsp)
call   1030 <sqrt@plt>
movsd  0x40(%rsp),%xmm14
mov    0xd8(%rsp),%rbp
mov    0xe0(%rsp),%rdi
mov    0xe8(%rsp),%rsi
xorpd  %xmm11,%xmm11
mov    0x10(%rsp),%r9
movsd  0x402(%rip),%xmm10
movapd 0x42a(%rip),%xmm4
movsd  0x3f9(%rip),%xmm9
mov    0x28(%rsp),%r8
movsd  0x8(%rsp),%xmm13
mov    0x4(%rsp),%ecx
mov    (%rsp),%edx
movsd  0x0(%r13),%xmm5
movapd %xmm10,%xmm6
subsd  %xmm5,%xmm6
movapd %xmm6,%xmm1
andpd  %xmm4,%xmm1
xorpd  %xmm3,%xmm3
ucomisd %xmm1,%xmm9
xorpd  %xmm2,%xmm2
ja     1c67 <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0xb37>
mov    0x18(%rsp),%rax
movsd  (%rax,%rbx,1),%xmm2
mulsd  %xmm5,%xmm2
mulsd  0x3b2(%rip),%xmm2
divsd  %xmm6,%xmm2
divsd  %xmm13,%xmm2
cvtsi2sd %ecx,%xmm7
xorps  %xmm1,%xmm1
cvtsi2sd %edx,%xmm1
mulsd  0x20(%rsp),%xmm2
movapd %xmm10,%xmm8
subsd  %xmm7,%xmm8
mulsd  0x68(%rsp),%xmm7
mulsd  0x58(%rsp),%xmm8
addsd  %xmm7,%xmm8
movapd %xmm5,%xmm7
andpd  %xmm4,%xmm7
ucomisd %xmm7,%xmm9
ja     11c0 <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0x90>
mov    0x18(%rsp),%rax
movsd  (%rax,%rbx,1),%xmm7
mulsd  %xmm7,%xmm7
mulsd  %xmm5,%xmm7
movapd 0x37f(%rip),%xmm3
unpcklpd %xmm7,%xmm3
unpcklpd %xmm5,%xmm6
mulpd  %xmm6,%xmm3
mulpd  %xmm6,%xmm3
movapd %xmm3,%xmm6
unpckhpd %xmm3,%xmm6
divsd  %xmm6,%xmm3
jmp    11c0 <VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0x90>
add    $0x88,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define void @VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd(i32 %0, i32 %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8, double* %9, double* %10, double* %11, double* %12, double* %13, double* %14, double* %15, double* %16, double* %17, double* %18, double* %19, double* %20, double* %21, double* %22, double* %23, double* %24, double* %25, double* %26, double* %27, double* %28, double* %29, double* %30, double* %31, double* %32, double* %33, double* %34, double* %35, double* %36, double* %37, double* %38, double* %39, double* %40, double* %41, double* %42, double* %43, double* %44, double* %45, double* %46, double* %47, double* %48, double* %49, double* %50, double* %51, double* %52, double* %53, double* %54, double* %55, double* %56, double* %57, double* %58, double* %59, double* %60, double* %61, double* %62, double* %63, double* %64, double* %65, double* %66, double* %67, double* %68) {
%70 = alloca i32
%71 = alloca i32
%72 = alloca double
%73 = alloca double
%74 = alloca double
%75 = alloca double
%76 = alloca double
%77 = alloca double
%78 = alloca double
%79 = alloca double*
%80 = alloca double*
%81 = alloca double*
%82 = alloca double*
%83 = alloca double*
%84 = alloca double*
%85 = alloca double*
%86 = alloca double*
%87 = alloca double*
%88 = alloca double*
%89 = alloca double*
%90 = alloca double*
%91 = alloca double*
%92 = alloca double*
%93 = alloca double*
%94 = alloca double*
%95 = alloca double*
%96 = alloca double*
%97 = alloca double*
%98 = alloca double*
%99 = alloca double*
%100 = alloca double*
%101 = alloca double*
%102 = alloca double*
%103 = alloca double*
%104 = alloca double*
%105 = alloca double*
%106 = alloca double*
%107 = alloca double*
%108 = alloca double*
%109 = alloca double*
%110 = alloca double*
%111 = alloca double*
%112 = alloca double*
%113 = alloca double*
%114 = alloca double*
%115 = alloca double*
%116 = alloca double*
%117 = alloca double*
%118 = alloca double*
%119 = alloca double*
%120 = alloca double*
%121 = alloca double*
%122 = alloca double*
%123 = alloca double*
%124 = alloca double*
%125 = alloca double*
%126 = alloca double*
%127 = alloca double*
%128 = alloca double*
%129 = alloca double*
%130 = alloca double*
%131 = alloca double*
%132 = alloca double*
%133 = alloca double*
%134 = alloca double*
%135 = alloca double*
%136 = alloca double*
%137 = alloca double*
%138 = alloca double*
%139 = alloca i32
%140 = alloca double
%141 = alloca double
%142 = alloca double
%143 = alloca double
%144 = alloca double
%145 = alloca double
%146 = alloca double
%147 = alloca double
%148 = alloca double
%149 = alloca double
%150 = alloca double
%151 = alloca double
store i32 %0, i32* %70
store i32 %1, i32* %71
store double %2, double* %72
store double %3, double* %73
store double %4, double* %74
store double %5, double* %75
store double %6, double* %76
store double %7, double* %77
store double %8, double* %78
store double* %9, double** %79
store double* %10, double** %80
store double* %11, double** %81
store double* %12, double** %82
store double* %13, double** %83
store double* %14, double** %84
store double* %15, double** %85
store double* %16, double** %86
store double* %17, double** %87
store double* %18, double** %88
store double* %19, double** %89
store double* %20, double** %90
store double* %21, double** %91
store double* %22, double** %92
store double* %23, double** %93
store double* %24, double** %94
store double* %25, double** %95
store double* %26, double** %96
store double* %27, double** %97
store double* %28, double** %98
store double* %29, double** %99
store double* %30, double** %100
store double* %31, double** %101
store double* %32, double** %102
store double* %33, double** %103
store double* %34, double** %104
store double* %35, double** %105
store double* %36, double** %106
store double* %37, double** %107
store double* %38, double** %108
store double* %39, double** %109
store double* %40, double** %110
store double* %41, double** %111
store double* %42, double** %112
store double* %43, double** %113
store double* %44, double** %114
store double* %45, double** %115
store double* %46, double** %116
store double* %47, double** %117
store double* %48, double** %118
store double* %49, double** %119
store double* %50, double** %120
store double* %51, double** %121
store double* %52, double** %122
store double* %53, double** %123
store double* %54, double** %124
store double* %55, double** %125
store double* %56, double** %126
store double* %57, double** %127
store double* %58, double** %128
store double* %59, double** %129
store double* %60, double** %130
store double* %61, double** %131
store double* %62, double** %132
store double* %63, double** %133
store double* %64, double** %134
store double* %65, double** %135
store double* %66, double** %136
store double* %67, double** %137
store double* %68, double** %138
store double 1.000000e+00, double* %151
%152 = load i32, i32* %71
%153 = icmp ne i32 %152, 0
br i1 %153, label %154, label %155
154: ; preds = %69
store double 0.000000e+00, double* %151
br label %155
155: ; preds = %154, %69
store i32 0, i32* %139
br label %156
156: ; preds = %1824, %155
%157 = load i32, i32* %139
%158 = load i32, i32* %70
%159 = icmp slt i32 %157, %158
br i1 %159, label %160, label %1827
160: ; preds = %156
%161 = load double, double* %72
%162 = load double*, double** %81
%163 = load i32, i32* %139
%164 = sext i32 %163 to i64
%165 = getelementptr inbounds double, double* %162, i64 %164
%166 = load double, double* %165
%167 = call i32 (double, double, ...) bitcast (i32 (...)* @smoothedHeaviside to i32 (double, double, ...)*)(double %161, double %166)
%168 = sitofp i32 %167 to double
store double %168, double* %143
%169 = load double, double* %72
%170 = load double*, double** %81
%171 = load i32, i32* %139
%172 = sext i32 %171 to i64
%173 = getelementptr inbounds double, double* %170, i64 %172
%174 = load double, double* %173
%175 = call i32 (double, double, ...) bitcast (i32 (...)* @smoothedDirac to i32 (double, double, ...)*)(double %169, double %174)
%176 = sitofp i32 %175 to double
store double %176, double* %144
%177 = load double, double* %73
%178 = load double*, double** %81
%179 = load i32, i32* %139
%180 = sext i32 %179 to i64
%181 = getelementptr inbounds double, double* %178, i64 %180
%182 = load double, double* %181
%183 = call i32 (double, double, ...) bitcast (i32 (...)* @smoothedHeaviside to i32 (double, double, ...)*)(double %177, double %182)
%184 = sitofp i32 %183 to double
store double %184, double* %145
%185 = load double, double* %73
%186 = load double*, double** %81
%187 = load i32, i32* %139
%188 = sext i32 %187 to i64
%189 = getelementptr inbounds double, double* %186, i64 %188
%190 = load double, double* %189
%191 = call i32 (double, double, ...) bitcast (i32 (...)* @smoothedDirac to i32 (double, double, ...)*)(double %185, double %190)
%192 = sitofp i32 %191 to double
store double %192, double* %146
%193 = load double, double* %75
%194 = load double, double* %143
%195 = fsub double 1.000000e+00, %194
%196 = load double, double* %77
%197 = load double, double* %143
%198 = fmul double %196, %197
%199 = call double @llvm.fmuladd.f64(double %193, double %195, double %198)
store double %199, double* %140
%200 = load double, double* %76
%201 = load double, double* %145
%202 = fsub double 1.000000e+00, %201
%203 = load double, double* %78
%204 = load double, double* %145
%205 = fmul double %203, %204
%206 = call double @llvm.fmuladd.f64(double %200, double %202, double %205)
store double %206, double* %141
%207 = load double, double* %75
%208 = load double, double* %76
%209 = fmul double %207, %208
%210 = load double, double* %145
%211 = fsub double 1.000000e+00, %210
%212 = load double, double* %77
%213 = load double, double* %78
%214 = fmul double %212, %213
%215 = load double, double* %145
%216 = fmul double %214, %215
%217 = call double @llvm.fmuladd.f64(double %209, double %211, double %216)
store double %217, double* %142
%218 = load double*, double** %89
%219 = load i32, i32* %139
%220 = sext i32 %219 to i64
%221 = getelementptr inbounds double, double* %218, i64 %220
%222 = load double, double* %221
%223 = load double*, double** %86
%224 = load i32, i32* %139
%225 = sext i32 %224 to i64
%226 = getelementptr inbounds double, double* %223, i64 %225
%227 = load double, double* %226
%228 = fmul double %222, %227
%229 = load double*, double** %90
%230 = load i32, i32* %139
%231 = sext i32 %230 to i64
%232 = getelementptr inbounds double, double* %229, i64 %231
store double %228, double* %232
%233 = load double*, double** %89
%234 = load i32, i32* %139
%235 = sext i32 %234 to i64
%236 = getelementptr inbounds double, double* %233, i64 %235
%237 = load double, double* %236
%238 = load double*, double** %91
%239 = load i32, i32* %139
%240 = sext i32 %239 to i64
%241 = getelementptr inbounds double, double* %238, i64 %240
store double %237, double* %241
%242 = load double*, double** %89
%243 = load i32, i32* %139
%244 = sext i32 %243 to i64
%245 = getelementptr inbounds double, double* %242, i64 %244
%246 = load double, double* %245
%247 = load double*, double** %87
%248 = load i32, i32* %139
%249 = sext i32 %248 to i64
%250 = getelementptr inbounds double, double* %247, i64 %249
%251 = load double, double* %250
%252 = fmul double %246, %251
%253 = load double*, double** %92
%254 = load i32, i32* %139
%255 = sext i32 %254 to i64
%256 = getelementptr inbounds double, double* %253, i64 %255
store double %252, double* %256
%257 = load double*, double** %89
%258 = load i32, i32* %139
%259 = sext i32 %258 to i64
%260 = getelementptr inbounds double, double* %257, i64 %259
%261 = load double, double* %260
%262 = load double*, double** %93
%263 = load i32, i32* %139
%264 = sext i32 %263 to i64
%265 = getelementptr inbounds double, double* %262, i64 %264
store double %261, double* %265
%266 = load double*, double** %89
%267 = load i32, i32* %139
%268 = sext i32 %267 to i64
%269 = getelementptr inbounds double, double* %266, i64 %268
%270 = load double, double* %269
%271 = load double*, double** %88
%272 = load i32, i32* %139
%273 = sext i32 %272 to i64
%274 = getelementptr inbounds double, double* %271, i64 %273
%275 = load double, double* %274
%276 = fmul double %270, %275
%277 = load double*, double** %94
%278 = load i32, i32* %139
%279 = sext i32 %278 to i64
%280 = getelementptr inbounds double, double* %277, i64 %279
store double %276, double* %280
%281 = load double*, double** %89
%282 = load i32, i32* %139
%283 = sext i32 %282 to i64
%284 = getelementptr inbounds double, double* %281, i64 %283
%285 = load double, double* %284
%286 = load double*, double** %95
%287 = load i32, i32* %139
%288 = sext i32 %287 to i64
%289 = getelementptr inbounds double, double* %286, i64 %288
store double %285, double* %289
%290 = load double*, double** %89
%291 = load i32, i32* %139
%292 = sext i32 %291 to i64
%293 = getelementptr inbounds double, double* %290, i64 %292
%294 = load double, double* %293
%295 = load double*, double** %86
%296 = load i32, i32* %139
%297 = sext i32 %296 to i64
%298 = getelementptr inbounds double, double* %295, i64 %297
%299 = load double, double* %298
%300 = fmul double %294, %299
%301 = load double*, double** %96
%302 = load i32, i32* %139
%303 = mul nsw i32 %302, 3
%304 = add nsw i32 %303, 0
%305 = sext i32 %304 to i64
%306 = getelementptr inbounds double, double* %301, i64 %305
store double %300, double* %306
%307 = load double*, double** %89
%308 = load i32, i32* %139
%309 = sext i32 %308 to i64
%310 = getelementptr inbounds double, double* %307, i64 %309
%311 = load double, double* %310
%312 = load double*, double** %87
%313 = load i32, i32* %139
%314 = sext i32 %313 to i64
%315 = getelementptr inbounds double, double* %312, i64 %314
%316 = load double, double* %315
%317 = fmul double %311, %316
%318 = load double*, double** %96
%319 = load i32, i32* %139
%320 = mul nsw i32 %319, 3
%321 = add nsw i32 %320, 1
%322 = sext i32 %321 to i64
%323 = getelementptr inbounds double, double* %318, i64 %322
store double %317, double* %323
%324 = load double*, double** %89
%325 = load i32, i32* %139
%326 = sext i32 %325 to i64
%327 = getelementptr inbounds double, double* %324, i64 %326
%328 = load double, double* %327
%329 = load double*, double** %88
%330 = load i32, i32* %139
%331 = sext i32 %330 to i64
%332 = getelementptr inbounds double, double* %329, i64 %331
%333 = load double, double* %332
%334 = fmul double %328, %333
%335 = load double*, double** %96
%336 = load i32, i32* %139
%337 = mul nsw i32 %336, 3
%338 = add nsw i32 %337, 2
%339 = sext i32 %338 to i64
%340 = getelementptr inbounds double, double* %335, i64 %339
store double %334, double* %340
%341 = load double*, double** %89
%342 = load i32, i32* %139
%343 = sext i32 %342 to i64
%344 = getelementptr inbounds double, double* %341, i64 %343
%345 = load double, double* %344
%346 = load double*, double** %97
%347 = load i32, i32* %139
%348 = mul nsw i32 %347, 3
%349 = add nsw i32 %348, 0
%350 = sext i32 %349 to i64
%351 = getelementptr inbounds double, double* %346, i64 %350
store double %345, double* %351
%352 = load double*, double** %89
%353 = load i32, i32* %139
%354 = sext i32 %353 to i64
%355 = getelementptr inbounds double, double* %352, i64 %354
%356 = load double, double* %355
%357 = load double*, double** %98
%358 = load i32, i32* %139
%359 = mul nsw i32 %358, 3
%360 = add nsw i32 %359, 1
%361 = sext i32 %360 to i64
%362 = getelementptr inbounds double, double* %357, i64 %361
store double %356, double* %362
%363 = load double*, double** %89
%364 = load i32, i32* %139
%365 = sext i32 %364 to i64
%366 = getelementptr inbounds double, double* %363, i64 %365
%367 = load double, double* %366
%368 = load double*, double** %99
%369 = load i32, i32* %139
%370 = mul nsw i32 %369, 3
%371 = add nsw i32 %370, 2
%372 = sext i32 %371 to i64
%373 = getelementptr inbounds double, double* %368, i64 %372
store double %367, double* %373
%374 = load double*, double** %89
%375 = load i32, i32* %139
%376 = sext i32 %375 to i64
%377 = getelementptr inbounds double, double* %374, i64 %376
%378 = load double, double* %377
%379 = load double*, double** %86
%380 = load i32, i32* %139
%381 = sext i32 %380 to i64
%382 = getelementptr inbounds double, double* %379, i64 %381
%383 = load double, double* %382
%384 = fmul double %378, %383
%385 = load double*, double** %86
%386 = load i32, i32* %139
%387 = sext i32 %386 to i64
%388 = getelementptr inbounds double, double* %385, i64 %387
%389 = load double, double* %388
%390 = fmul double %384, %389
%391 = load double*, double** %100
%392 = load i32, i32* %139
%393 = mul nsw i32 %392, 3
%394 = add nsw i32 %393, 0
%395 = sext i32 %394 to i64
%396 = getelementptr inbounds double, double* %391, i64 %395
store double %390, double* %396
%397 = load double*, double** %89
%398 = load i32, i32* %139
%399 = sext i32 %398 to i64
%400 = getelementptr inbounds double, double* %397, i64 %399
%401 = load double, double* %400
%402 = load double*, double** %86
%403 = load i32, i32* %139
%404 = sext i32 %403 to i64
%405 = getelementptr inbounds double, double* %402, i64 %404
%406 = load double, double* %405
%407 = fmul double %401, %406
%408 = load double*, double** %87
%409 = load i32, i32* %139
%410 = sext i32 %409 to i64
%411 = getelementptr inbounds double, double* %408, i64 %410
%412 = load double, double* %411
%413 = fmul double %407, %412
%414 = load double*, double** %100
%415 = load i32, i32* %139
%416 = mul nsw i32 %415, 3
%417 = add nsw i32 %416, 1
%418 = sext i32 %417 to i64
%419 = getelementptr inbounds double, double* %414, i64 %418
store double %413, double* %419
%420 = load double*, double** %89
%421 = load i32, i32* %139
%422 = sext i32 %421 to i64
%423 = getelementptr inbounds double, double* %420, i64 %422
%424 = load double, double* %423
%425 = load double*, double** %86
%426 = load i32, i32* %139
%427 = sext i32 %426 to i64
%428 = getelementptr inbounds double, double* %425, i64 %427
%429 = load double, double* %428
%430 = fmul double %424, %429
%431 = load double*, double** %88
%432 = load i32, i32* %139
%433 = sext i32 %432 to i64
%434 = getelementptr inbounds double, double* %431, i64 %433
%435 = load double, double* %434
%436 = fmul double %430, %435
%437 = load double*, double** %100
%438 = load i32, i32* %139
%439 = mul nsw i32 %438, 3
%440 = add nsw i32 %439, 2
%441 = sext i32 %440 to i64
%442 = getelementptr inbounds double, double* %437, i64 %441
store double %436, double* %442
%443 = load double*, double** %89
%444 = load i32, i32* %139
%445 = sext i32 %444 to i64
%446 = getelementptr inbounds double, double* %443, i64 %445
%447 = load double, double* %446
%448 = fmul double 2.000000e+00, %447
%449 = load double*, double** %86
%450 = load i32, i32* %139
%451 = sext i32 %450 to i64
%452 = getelementptr inbounds double, double* %449, i64 %451
%453 = load double, double* %452
%454 = fmul double %448, %453
%455 = load double*, double** %101
%456 = load i32, i32* %139
%457 = mul nsw i32 %456, 3
%458 = add nsw i32 %457, 0
%459 = sext i32 %458 to i64
%460 = getelementptr inbounds double, double* %455, i64 %459
store double %454, double* %460
%461 = load double*, double** %89
%462 = load i32, i32* %139
%463 = sext i32 %462 to i64
%464 = getelementptr inbounds double, double* %461, i64 %463
%465 = load double, double* %464
%466 = load double*, double** %87
%467 = load i32, i32* %139
%468 = sext i32 %467 to i64
%469 = getelementptr inbounds double, double* %466, i64 %468
%470 = load double, double* %469
%471 = fmul double %465, %470
%472 = load double*, double** %101
%473 = load i32, i32* %139
%474 = mul nsw i32 %473, 3
%475 = add nsw i32 %474, 1
%476 = sext i32 %475 to i64
%477 = getelementptr inbounds double, double* %472, i64 %476
store double %471, double* %477
%478 = load double*, double** %89
%479 = load i32, i32* %139
%480 = sext i32 %479 to i64
%481 = getelementptr inbounds double, double* %478, i64 %480
%482 = load double, double* %481
%483 = load double*, double** %88
%484 = load i32, i32* %139
%485 = sext i32 %484 to i64
%486 = getelementptr inbounds double, double* %483, i64 %485
%487 = load double, double* %486
%488 = fmul double %482, %487
%489 = load double*, double** %101
%490 = load i32, i32* %139
%491 = mul nsw i32 %490, 3
%492 = add nsw i32 %491, 2
%493 = sext i32 %492 to i64
%494 = getelementptr inbounds double, double* %489, i64 %493
store double %488, double* %494
%495 = load double*, double** %89
%496 = load i32, i32* %139
%497 = sext i32 %496 to i64
%498 = getelementptr inbounds double, double* %495, i64 %497
%499 = load double, double* %498
%500 = load double*, double** %86
%501 = load i32, i32* %139
%502 = sext i32 %501 to i64
%503 = getelementptr inbounds double, double* %500, i64 %502
%504 = load double, double* %503
%505 = fmul double %499, %504
%506 = load double*, double** %102
%507 = load i32, i32* %139
%508 = mul nsw i32 %507, 3
%509 = add nsw i32 %508, 1
%510 = sext i32 %509 to i64
%511 = getelementptr inbounds double, double* %506, i64 %510
store double %505, double* %511
%512 = load double*, double** %89
%513 = load i32, i32* %139
%514 = sext i32 %513 to i64
%515 = getelementptr inbounds double, double* %512, i64 %514
%516 = load double, double* %515
%517 = load double*, double** %86
%518 = load i32, i32* %139
%519 = sext i32 %518 to i64
%520 = getelementptr inbounds double, double* %517, i64 %519
%521 = load double, double* %520
%522 = fmul double %516, %521
%523 = load double*, double** %103
%524 = load i32, i32* %139
%525 = mul nsw i32 %524, 3
%526 = add nsw i32 %525, 2
%527 = sext i32 %526 to i64
%528 = getelementptr inbounds double, double* %523, i64 %527
store double %522, double* %528
%529 = load double*, double** %89
%530 = load i32, i32* %139
%531 = sext i32 %530 to i64
%532 = getelementptr inbounds double, double* %529, i64 %531
%533 = load double, double* %532
%534 = load double*, double** %87
%535 = load i32, i32* %139
%536 = sext i32 %535 to i64
%537 = getelementptr inbounds double, double* %534, i64 %536
%538 = load double, double* %537
%539 = fmul double %533, %538
%540 = load double*, double** %86
%541 = load i32, i32* %139
%542 = sext i32 %541 to i64
%543 = getelementptr inbounds double, double* %540, i64 %542
%544 = load double, double* %543
%545 = fmul double %539, %544
%546 = load double*, double** %104
%547 = load i32, i32* %139
%548 = mul nsw i32 %547, 3
%549 = add nsw i32 %548, 0
%550 = sext i32 %549 to i64
%551 = getelementptr inbounds double, double* %546, i64 %550
store double %545, double* %551
%552 = load double*, double** %89
%553 = load i32, i32* %139
%554 = sext i32 %553 to i64
%555 = getelementptr inbounds double, double* %552, i64 %554
%556 = load double, double* %555
%557 = load double*, double** %87
%558 = load i32, i32* %139
%559 = sext i32 %558 to i64
%560 = getelementptr inbounds double, double* %557, i64 %559
%561 = load double, double* %560
%562 = fmul double %556, %561
%563 = load double*, double** %87
%564 = load i32, i32* %139
%565 = sext i32 %564 to i64
%566 = getelementptr inbounds double, double* %563, i64 %565
%567 = load double, double* %566
%568 = fmul double %562, %567
%569 = load double*, double** %104
%570 = load i32, i32* %139
%571 = mul nsw i32 %570, 3
%572 = add nsw i32 %571, 1
%573 = sext i32 %572 to i64
%574 = getelementptr inbounds double, double* %569, i64 %573
store double %568, double* %574
%575 = load double*, double** %89
%576 = load i32, i32* %139
%577 = sext i32 %576 to i64
%578 = getelementptr inbounds double, double* %575, i64 %577
%579 = load double, double* %578
%580 = load double*, double** %87
%581 = load i32, i32* %139
%582 = sext i32 %581 to i64
%583 = getelementptr inbounds double, double* %580, i64 %582
%584 = load double, double* %583
%585 = fmul double %579, %584
%586 = load double*, double** %88
%587 = load i32, i32* %139
%588 = sext i32 %587 to i64
%589 = getelementptr inbounds double, double* %586, i64 %588
%590 = load double, double* %589
%591 = fmul double %585, %590
%592 = load double*, double** %104
%593 = load i32, i32* %139
%594 = mul nsw i32 %593, 3
%595 = add nsw i32 %594, 2
%596 = sext i32 %595 to i64
%597 = getelementptr inbounds double, double* %592, i64 %596
store double %591, double* %597
%598 = load double*, double** %89
%599 = load i32, i32* %139
%600 = sext i32 %599 to i64
%601 = getelementptr inbounds double, double* %598, i64 %600
%602 = load double, double* %601
%603 = load double*, double** %87
%604 = load i32, i32* %139
%605 = sext i32 %604 to i64
%606 = getelementptr inbounds double, double* %603, i64 %605
%607 = load double, double* %606
%608 = fmul double %602, %607
%609 = load double*, double** %105
%610 = load i32, i32* %139
%611 = mul nsw i32 %610, 3
%612 = add nsw i32 %611, 0
%613 = sext i32 %612 to i64
%614 = getelementptr inbounds double, double* %609, i64 %613
store double %608, double* %614
%615 = load double*, double** %89
%616 = load i32, i32* %139
%617 = sext i32 %616 to i64
%618 = getelementptr inbounds double, double* %615, i64 %617
%619 = load double, double* %618
%620 = load double*, double** %87
%621 = load i32, i32* %139
%622 = sext i32 %621 to i64
%623 = getelementptr inbounds double, double* %620, i64 %622
%624 = load double, double* %623
%625 = fmul double %619, %624
%626 = load double*, double** %107
%627 = load i32, i32* %139
%628 = mul nsw i32 %627, 3
%629 = add nsw i32 %628, 2
%630 = sext i32 %629 to i64
%631 = getelementptr inbounds double, double* %626, i64 %630
store double %625, double* %631
%632 = load double*, double** %89
%633 = load i32, i32* %139
%634 = sext i32 %633 to i64
%635 = getelementptr inbounds double, double* %632, i64 %634
%636 = load double, double* %635
%637 = load double*, double** %86
%638 = load i32, i32* %139
%639 = sext i32 %638 to i64
%640 = getelementptr inbounds double, double* %637, i64 %639
%641 = load double, double* %640
%642 = fmul double %636, %641
%643 = load double*, double** %106
%644 = load i32, i32* %139
%645 = mul nsw i32 %644, 3
%646 = add nsw i32 %645, 0
%647 = sext i32 %646 to i64
%648 = getelementptr inbounds double, double* %643, i64 %647
store double %642, double* %648
%649 = load double*, double** %89
%650 = load i32, i32* %139
%651 = sext i32 %650 to i64
%652 = getelementptr inbounds double, double* %649, i64 %651
%653 = load double, double* %652
%654 = fmul double 2.000000e+00, %653
%655 = load double*, double** %87
%656 = load i32, i32* %139
%657 = sext i32 %656 to i64
%658 = getelementptr inbounds double, double* %655, i64 %657
%659 = load double, double* %658
%660 = fmul double %654, %659
%661 = load double*, double** %106
%662 = load i32, i32* %139
%663 = mul nsw i32 %662, 3
%664 = add nsw i32 %663, 1
%665 = sext i32 %664 to i64
%666 = getelementptr inbounds double, double* %661, i64 %665
store double %660, double* %666
%667 = load double*, double** %89
%668 = load i32, i32* %139
%669 = sext i32 %668 to i64
%670 = getelementptr inbounds double, double* %667, i64 %669
%671 = load double, double* %670
%672 = load double*, double** %88
%673 = load i32, i32* %139
%674 = sext i32 %673 to i64
%675 = getelementptr inbounds double, double* %672, i64 %674
%676 = load double, double* %675
%677 = fmul double %671, %676
%678 = load double*, double** %106
%679 = load i32, i32* %139
%680 = mul nsw i32 %679, 3
%681 = add nsw i32 %680, 2
%682 = sext i32 %681 to i64
%683 = getelementptr inbounds double, double* %678, i64 %682
store double %677, double* %683
%684 = load double*, double** %89
%685 = load i32, i32* %139
%686 = sext i32 %685 to i64
%687 = getelementptr inbounds double, double* %684, i64 %686
%688 = load double, double* %687
%689 = load double*, double** %88
%690 = load i32, i32* %139
%691 = sext i32 %690 to i64
%692 = getelementptr inbounds double, double* %689, i64 %691
%693 = load double, double* %692
%694 = fmul double %688, %693
%695 = load double*, double** %86
%696 = load i32, i32* %139
%697 = sext i32 %696 to i64
%698 = getelementptr inbounds double, double* %695, i64 %697
%699 = load double, double* %698
%700 = fmul double %694, %699
%701 = load double*, double** %108
%702 = load i32, i32* %139
%703 = mul nsw i32 %702, 3
%704 = add nsw i32 %703, 0
%705 = sext i32 %704 to i64
%706 = getelementptr inbounds double, double* %701, i64 %705
store double %700, double* %706
%707 = load double*, double** %89
%708 = load i32, i32* %139
%709 = sext i32 %708 to i64
%710 = getelementptr inbounds double, double* %707, i64 %709
%711 = load double, double* %710
%712 = load double*, double** %88
%713 = load i32, i32* %139
%714 = sext i32 %713 to i64
%715 = getelementptr inbounds double, double* %712, i64 %714
%716 = load double, double* %715
%717 = fmul double %711, %716
%718 = load double*, double** %87
%719 = load i32, i32* %139
%720 = sext i32 %719 to i64
%721 = getelementptr inbounds double, double* %718, i64 %720
%722 = load double, double* %721
%723 = fmul double %717, %722
%724 = load double*, double** %108
%725 = load i32, i32* %139
%726 = mul nsw i32 %725, 3
%727 = add nsw i32 %726, 1
%728 = sext i32 %727 to i64
%729 = getelementptr inbounds double, double* %724, i64 %728
store double %723, double* %729
%730 = load double*, double** %89
%731 = load i32, i32* %139
%732 = sext i32 %731 to i64
%733 = getelementptr inbounds double, double* %730, i64 %732
%734 = load double, double* %733
%735 = load double*, double** %88
%736 = load i32, i32* %139
%737 = sext i32 %736 to i64
%738 = getelementptr inbounds double, double* %735, i64 %737
%739 = load double, double* %738
%740 = fmul double %734, %739
%741 = load double*, double** %88
%742 = load i32, i32* %139
%743 = sext i32 %742 to i64
%744 = getelementptr inbounds double, double* %741, i64 %743
%745 = load double, double* %744
%746 = fmul double %740, %745
%747 = load double*, double** %108
%748 = load i32, i32* %139
%749 = mul nsw i32 %748, 3
%750 = add nsw i32 %749, 2
%751 = sext i32 %750 to i64
%752 = getelementptr inbounds double, double* %747, i64 %751
store double %746, double* %752
%753 = load double*, double** %89
%754 = load i32, i32* %139
%755 = sext i32 %754 to i64
%756 = getelementptr inbounds double, double* %753, i64 %755
%757 = load double, double* %756
%758 = load double*, double** %88
%759 = load i32, i32* %139
%760 = sext i32 %759 to i64
%761 = getelementptr inbounds double, double* %758, i64 %760
%762 = load double, double* %761
%763 = fmul double %757, %762
%764 = load double*, double** %109
%765 = load i32, i32* %139
%766 = mul nsw i32 %765, 3
%767 = add nsw i32 %766, 0
%768 = sext i32 %767 to i64
%769 = getelementptr inbounds double, double* %764, i64 %768
store double %763, double* %769
%770 = load double*, double** %89
%771 = load i32, i32* %139
%772 = sext i32 %771 to i64
%773 = getelementptr inbounds double, double* %770, i64 %772
%774 = load double, double* %773
%775 = load double*, double** %88
%776 = load i32, i32* %139
%777 = sext i32 %776 to i64
%778 = getelementptr inbounds double, double* %775, i64 %777
%779 = load double, double* %778
%780 = fmul double %774, %779
%781 = load double*, double** %110
%782 = load i32, i32* %139
%783 = mul nsw i32 %782, 3
%784 = add nsw i32 %783, 1
%785 = sext i32 %784 to i64
%786 = getelementptr inbounds double, double* %781, i64 %785
store double %780, double* %786
%787 = load double*, double** %89
%788 = load i32, i32* %139
%789 = sext i32 %788 to i64
%790 = getelementptr inbounds double, double* %787, i64 %789
%791 = load double, double* %790
%792 = load double*, double** %86
%793 = load i32, i32* %139
%794 = sext i32 %793 to i64
%795 = getelementptr inbounds double, double* %792, i64 %794
%796 = load double, double* %795
%797 = fmul double %791, %796
%798 = load double*, double** %111
%799 = load i32, i32* %139
%800 = mul nsw i32 %799, 3
%801 = add nsw i32 %800, 0
%802 = sext i32 %801 to i64
%803 = getelementptr inbounds double, double* %798, i64 %802
store double %797, double* %803
%804 = load double*, double** %89
%805 = load i32, i32* %139
%806 = sext i32 %805 to i64
%807 = getelementptr inbounds double, double* %804, i64 %806
%808 = load double, double* %807
%809 = load double*, double** %87
%810 = load i32, i32* %139
%811 = sext i32 %810 to i64
%812 = getelementptr inbounds double, double* %809, i64 %811
%813 = load double, double* %812
%814 = fmul double %808, %813
%815 = load double*, double** %111
%816 = load i32, i32* %139
%817 = mul nsw i32 %816, 3
%818 = add nsw i32 %817, 1
%819 = sext i32 %818 to i64
%820 = getelementptr inbounds double, double* %815, i64 %819
store double %814, double* %820
%821 = load double*, double** %89
%822 = load i32, i32* %139
%823 = sext i32 %822 to i64
%824 = getelementptr inbounds double, double* %821, i64 %823
%825 = load double, double* %824
%826 = fmul double 2.000000e+00, %825
%827 = load double*, double** %88
%828 = load i32, i32* %139
%829 = sext i32 %828 to i64
%830 = getelementptr inbounds double, double* %827, i64 %829
%831 = load double, double* %830
%832 = fmul double %826, %831
%833 = load double*, double** %111
%834 = load i32, i32* %139
%835 = mul nsw i32 %834, 3
%836 = add nsw i32 %835, 2
%837 = sext i32 %836 to i64
%838 = getelementptr inbounds double, double* %833, i64 %837
store double %832, double* %838
%839 = load double*, double** %89
%840 = load i32, i32* %139
%841 = sext i32 %840 to i64
%842 = getelementptr inbounds double, double* %839, i64 %841
%843 = load double, double* %842
%844 = fmul double 2.000000e+00, %843
%845 = load double, double* %141
%846 = fmul double %844, %845
%847 = load double*, double** %112
%848 = load i32, i32* %139
%849 = mul nsw i32 %848, 3
%850 = add nsw i32 %849, 0
%851 = sext i32 %850 to i64
%852 = getelementptr inbounds double, double* %847, i64 %851
store double %846, double* %852
%853 = load double*, double** %89
%854 = load i32, i32* %139
%855 = sext i32 %854 to i64
%856 = getelementptr inbounds double, double* %853, i64 %855
%857 = load double, double* %856
%858 = load double, double* %141
%859 = fmul double %857, %858
%860 = load double*, double** %112
%861 = load i32, i32* %139
%862 = mul nsw i32 %861, 3
%863 = add nsw i32 %862, 1
%864 = sext i32 %863 to i64
%865 = getelementptr inbounds double, double* %860, i64 %864
store double %859, double* %865
%866 = load double*, double** %89
%867 = load i32, i32* %139
%868 = sext i32 %867 to i64
%869 = getelementptr inbounds double, double* %866, i64 %868
%870 = load double, double* %869
%871 = load double, double* %141
%872 = fmul double %870, %871
%873 = load double*, double** %112
%874 = load i32, i32* %139
%875 = mul nsw i32 %874, 3
%876 = add nsw i32 %875, 2
%877 = sext i32 %876 to i64
%878 = getelementptr inbounds double, double* %873, i64 %877
store double %872, double* %878
%879 = load double*, double** %89
%880 = load i32, i32* %139
%881 = sext i32 %880 to i64
%882 = getelementptr inbounds double, double* %879, i64 %881
%883 = load double, double* %882
%884 = load double, double* %141
%885 = fmul double %883, %884
%886 = load double*, double** %115
%887 = load i32, i32* %139
%888 = sext i32 %887 to i64
%889 = getelementptr inbounds double, double* %886, i64 %888
store double %885, double* %889
%890 = load double*, double** %89
%891 = load i32, i32* %139
%892 = sext i32 %891 to i64
%893 = getelementptr inbounds double, double* %890, i64 %892
%894 = load double, double* %893
%895 = load double, double* %141
%896 = fmul double %894, %895
%897 = load double*, double** %116
%898 = load i32, i32* %139
%899 = sext i32 %898 to i64
%900 = getelementptr inbounds double, double* %897, i64 %899
store double %896, double* %900
%901 = load double*, double** %89
%902 = load i32, i32* %139
%903 = sext i32 %902 to i64
%904 = getelementptr inbounds double, double* %901, i64 %903
%905 = load double, double* %904
%906 = load double, double* %141
%907 = fmul double %905, %906
%908 = load double*, double** %113
%909 = load i32, i32* %139
%910 = mul nsw i32 %909, 3
%911 = add nsw i32 %910, 0
%912 = sext i32 %911 to i64
%913 = getelementptr inbounds double, double* %908, i64 %912
store double %907, double* %913
%914 = load double*, double** %89
%915 = load i32, i32* %139
%916 = sext i32 %915 to i64
%917 = getelementptr inbounds double, double* %914, i64 %916
%918 = load double, double* %917
%919 = fmul double 2.000000e+00, %918
%920 = load double, double* %141
%921 = fmul double %919, %920
%922 = load double*, double** %113
%923 = load i32, i32* %139
%924 = mul nsw i32 %923, 3
%925 = add nsw i32 %924, 1
%926 = sext i32 %925 to i64
%927 = getelementptr inbounds double, double* %922, i64 %926
store double %921, double* %927
%928 = load double*, double** %89
%929 = load i32, i32* %139
%930 = sext i32 %929 to i64
%931 = getelementptr inbounds double, double* %928, i64 %930
%932 = load double, double* %931
%933 = load double, double* %141
%934 = fmul double %932, %933
%935 = load double*, double** %113
%936 = load i32, i32* %139
%937 = mul nsw i32 %936, 3
%938 = add nsw i32 %937, 2
%939 = sext i32 %938 to i64
%940 = getelementptr inbounds double, double* %935, i64 %939
store double %934, double* %940
%941 = load double*, double** %89
%942 = load i32, i32* %139
%943 = sext i32 %942 to i64
%944 = getelementptr inbounds double, double* %941, i64 %943
%945 = load double, double* %944
%946 = load double, double* %141
%947 = fmul double %945, %946
%948 = load double*, double** %117
%949 = load i32, i32* %139
%950 = sext i32 %949 to i64
%951 = getelementptr inbounds double, double* %948, i64 %950
store double %947, double* %951
%952 = load double*, double** %89
%953 = load i32, i32* %139
%954 = sext i32 %953 to i64
%955 = getelementptr inbounds double, double* %952, i64 %954
%956 = load double, double* %955
%957 = load double, double* %141
%958 = fmul double %956, %957
%959 = load double*, double** %118
%960 = load i32, i32* %139
%961 = sext i32 %960 to i64
%962 = getelementptr inbounds double, double* %959, i64 %961
store double %958, double* %962
%963 = load double*, double** %89
%964 = load i32, i32* %139
%965 = sext i32 %964 to i64
%966 = getelementptr inbounds double, double* %963, i64 %965
%967 = load double, double* %966
%968 = load double, double* %141
%969 = fmul double %967, %968
%970 = load double*, double** %114
%971 = load i32, i32* %139
%972 = mul nsw i32 %971, 3
%973 = add nsw i32 %972, 0
%974 = sext i32 %973 to i64
%975 = getelementptr inbounds double, double* %970, i64 %974
store double %969, double* %975
%976 = load double*, double** %89
%977 = load i32, i32* %139
%978 = sext i32 %977 to i64
%979 = getelementptr inbounds double, double* %976, i64 %978
%980 = load double, double* %979
%981 = load double, double* %141
%982 = fmul double %980, %981
%983 = load double*, double** %114
%984 = load i32, i32* %139
%985 = mul nsw i32 %984, 3
%986 = add nsw i32 %985, 1
%987 = sext i32 %986 to i64
%988 = getelementptr inbounds double, double* %983, i64 %987
store double %982, double* %988
%989 = load double*, double** %89
%990 = load i32, i32* %139
%991 = sext i32 %990 to i64
%992 = getelementptr inbounds double, double* %989, i64 %991
%993 = load double, double* %992
%994 = fmul double 2.000000e+00, %993
%995 = load double, double* %141
%996 = fmul double %994, %995
%997 = load double*, double** %114
%998 = load i32, i32* %139
%999 = mul nsw i32 %998, 3
%1000 = add nsw i32 %999, 2
%1001 = sext i32 %1000 to i64
%1002 = getelementptr inbounds double, double* %997, i64 %1001
store double %996, double* %1002
%1003 = load double*, double** %89
%1004 = load i32, i32* %139
%1005 = sext i32 %1004 to i64
%1006 = getelementptr inbounds double, double* %1003, i64 %1005
%1007 = load double, double* %1006
%1008 = load double, double* %141
%1009 = fmul double %1007, %1008
%1010 = load double*, double** %119
%1011 = load i32, i32* %139
%1012 = sext i32 %1011 to i64
%1013 = getelementptr inbounds double, double* %1010, i64 %1012
store double %1009, double* %1013
%1014 = load double*, double** %89
%1015 = load i32, i32* %139
%1016 = sext i32 %1015 to i64
%1017 = getelementptr inbounds double, double* %1014, i64 %1016
%1018 = load double, double* %1017
%1019 = load double, double* %141
%1020 = fmul double %1018, %1019
%1021 = load double*, double** %120
%1022 = load i32, i32* %139
%1023 = sext i32 %1022 to i64
%1024 = getelementptr inbounds double, double* %1021, i64 %1023
store double %1020, double* %1024
%1025 = load double*, double** %82
%1026 = load i32, i32* %139
%1027 = mul nsw i32 %1026, 3
%1028 = add nsw i32 %1027, 0
%1029 = sext i32 %1028 to i64
%1030 = getelementptr inbounds double, double* %1025, i64 %1029
%1031 = load double, double* %1030
%1032 = load double*, double** %82
%1033 = load i32, i32* %139
%1034 = mul nsw i32 %1033, 3
%1035 = add nsw i32 %1034, 0
%1036 = sext i32 %1035 to i64
%1037 = getelementptr inbounds double, double* %1032, i64 %1036
%1038 = load double, double* %1037
%1039 = load double*, double** %82
%1040 = load i32, i32* %139
%1041 = mul nsw i32 %1040, 3
%1042 = add nsw i32 %1041, 1
%1043 = sext i32 %1042 to i64
%1044 = getelementptr inbounds double, double* %1039, i64 %1043
%1045 = load double, double* %1044
%1046 = load double*, double** %82
%1047 = load i32, i32* %139
%1048 = mul nsw i32 %1047, 3
%1049 = add nsw i32 %1048, 1
%1050 = sext i32 %1049 to i64
%1051 = getelementptr inbounds double, double* %1046, i64 %1050
%1052 = load double, double* %1051
%1053 = fmul double %1045, %1052
%1054 = call double @llvm.fmuladd.f64(double %1031, double %1038, double %1053)
%1055 = load double*, double** %82
%1056 = load i32, i32* %139
%1057 = mul nsw i32 %1056, 3
%1058 = add nsw i32 %1057, 2
%1059 = sext i32 %1058 to i64
%1060 = getelementptr inbounds double, double* %1055, i64 %1059
%1061 = load double, double* %1060
%1062 = load double*, double** %82
%1063 = load i32, i32* %139
%1064 = mul nsw i32 %1063, 3
%1065 = add nsw i32 %1064, 2
%1066 = sext i32 %1065 to i64
%1067 = getelementptr inbounds double, double* %1062, i64 %1066
%1068 = load double, double* %1067
%1069 = call double @llvm.fmuladd.f64(double %1061, double %1068, double %1054)
%1070 = call double @sqrt(double %1069)
store double %1070, double* %147
%1071 = load double*, double** %86
%1072 = load i32, i32* %139
%1073 = sext i32 %1072 to i64
%1074 = getelementptr inbounds double, double* %1071, i64 %1073
%1075 = load double, double* %1074
%1076 = load double*, double** %86
%1077 = load i32, i32* %139
%1078 = sext i32 %1077 to i64
%1079 = getelementptr inbounds double, double* %1076, i64 %1078
%1080 = load double, double* %1079
%1081 = load double*, double** %87
%1082 = load i32, i32* %139
%1083 = sext i32 %1082 to i64
%1084 = getelementptr inbounds double, double* %1081, i64 %1083
%1085 = load double, double* %1084
%1086 = load double*, double** %87
%1087 = load i32, i32* %139
%1088 = sext i32 %1087 to i64
%1089 = getelementptr inbounds double, double* %1086, i64 %1088
%1090 = load double, double* %1089
%1091 = fmul double %1085, %1090
%1092 = call double @llvm.fmuladd.f64(double %1075, double %1080, double %1091)
%1093 = load double*, double** %88
%1094 = load i32, i32* %139
%1095 = sext i32 %1094 to i64
%1096 = getelementptr inbounds double, double* %1093, i64 %1095
%1097 = load double, double* %1096
%1098 = load double*, double** %88
%1099 = load i32, i32* %139
%1100 = sext i32 %1099 to i64
%1101 = getelementptr inbounds double, double* %1098, i64 %1100
%1102 = load double, double* %1101
%1103 = call double @llvm.fmuladd.f64(double %1097, double %1102, double %1092)
%1104 = call double @sqrt(double %1103)
store double %1104, double* %148
%1105 = load double*, double** %89
%1106 = load i32, i32* %139
%1107 = sext i32 %1106 to i64
%1108 = getelementptr inbounds double, double* %1105, i64 %1107
%1109 = load double, double* %1108
%1110 = fsub double 1.000000e+00, %1109
%1111 = call double @llvm.fabs.f64(double %1110)
%1112 = fcmp olt double %1111, 0x3E7AD7F29ABCAF48
br i1 %1112, label %1113, label %1114
1113: ; preds = %160
store double 0.000000e+00, double* %149
br label %1136
1114: ; preds = %160
%1115 = load double*, double** %89
%1116 = load i32, i32* %139
%1117 = sext i32 %1116 to i64
%1118 = getelementptr inbounds double, double* %1115, i64 %1117
%1119 = load double, double* %1118
%1120 = load double*, double** %79
%1121 = load i32, i32* %139
%1122 = sext i32 %1121 to i64
%1123 = getelementptr inbounds double, double* %1120, i64 %1122
%1124 = load double, double* %1123
%1125 = fmul double %1119, %1124
%1126 = fmul double %1125, 1.000000e-02
%1127 = load double*, double** %89
%1128 = load i32, i32* %139
%1129 = sext i32 %1128 to i64
%1130 = getelementptr inbounds double, double* %1127, i64 %1129
%1131 = load double, double* %1130
%1132 = fsub double 1.000000e+00, %1131
%1133 = fdiv double %1126, %1132
%1134 = load double, double* %141
%1135 = fdiv double %1133, %1134
store double %1135, double* %149
br label %1136
1136: ; preds = %1114, %1113
%1137 = load double, double* %151
%1138 = load double, double* %149
%1139 = fmul double %1138, %1137
store double %1139, double* %149
%1140 = load double*, double** %89
%1141 = load i32, i32* %139
%1142 = sext i32 %1141 to i64
%1143 = getelementptr inbounds double, double* %1140, i64 %1142
%1144 = load double, double* %1143
%1145 = call double @llvm.fabs.f64(double %1144)
%1146 = fcmp olt double %1145, 0x3E7AD7F29ABCAF48
br i1 %1146, label %1147, label %1148
1147: ; preds = %1136
store double 0.000000e+00, double* %150
br label %1193
1148: ; preds = %1136
%1149 = load double*, double** %89
%1150 = load i32, i32* %139
%1151 = sext i32 %1150 to i64
%1152 = getelementptr inbounds double, double* %1149, i64 %1151
%1153 = load double, double* %1152
%1154 = fsub double 1.000000e+00, %1153
%1155 = fmul double 1.800000e+02, %1154
%1156 = load double*, double** %89
%1157 = load i32, i32* %139
%1158 = sext i32 %1157 to i64
%1159 = getelementptr inbounds double, double* %1156, i64 %1158
%1160 = load double, double* %1159
%1161 = fsub double 1.000000e+00, %1160
%1162 = fmul double %1155, %1161
%1163 = load double*, double** %79
%1164 = load i32, i32* %139
%1165 = sext i32 %1164 to i64
%1166 = getelementptr inbounds double, double* %1163, i64 %1165
%1167 = load double, double* %1166
%1168 = load double*, double** %79
%1169 = load i32, i32* %139
%1170 = sext i32 %1169 to i64
%1171 = getelementptr inbounds double, double* %1168, i64 %1170
%1172 = load double, double* %1171
%1173 = fmul double %1167, %1172
%1174 = load double*, double** %89
%1175 = load i32, i32* %139
%1176 = sext i32 %1175 to i64
%1177 = getelementptr inbounds double, double* %1174, i64 %1176
%1178 = load double, double* %1177
%1179 = fmul double %1173, %1178
%1180 = load double*, double** %89
%1181 = load i32, i32* %139
%1182 = sext i32 %1181 to i64
%1183 = getelementptr inbounds double, double* %1180, i64 %1182
%1184 = load double, double* %1183
%1185 = fmul double %1179, %1184
%1186 = load double*, double** %89
%1187 = load i32, i32* %139
%1188 = sext i32 %1187 to i64
%1189 = getelementptr inbounds double, double* %1186, i64 %1188
%1190 = load double, double* %1189
%1191 = fmul double %1185, %1190
%1192 = fdiv double %1162, %1191
store double %1192, double* %150
br label %1193
1193: ; preds = %1148, %1147
%1194 = load double*, double** %89
%1195 = load i32, i32* %139
%1196 = sext i32 %1195 to i64
%1197 = getelementptr inbounds double, double* %1194, i64 %1196
%1198 = load double, double* %1197
%1199 = fneg double %1198
%1200 = load double*, double** %80
%1201 = getelementptr inbounds double, double* %1200, i64 0
%1202 = load double, double* %1201
%1203 = load double*, double** %89
%1204 = load i32, i32* %139
%1205 = sext i32 %1204 to i64
%1206 = getelementptr inbounds double, double* %1203, i64 %1205
%1207 = load double, double* %1206
%1208 = load double, double* %146
%1209 = fmul double %1207, %1208
%1210 = load double, double* %74
%1211 = fmul double %1209, %1210
%1212 = load double*, double** %83
%1213 = load i32, i32* %139
%1214 = sext i32 %1213 to i64
%1215 = getelementptr inbounds double, double* %1212, i64 %1214
%1216 = load double, double* %1215
%1217 = fmul double %1211, %1216
%1218 = load double*, double** %82
%1219 = load i32, i32* %139
%1220 = mul nsw i32 %1219, 3
%1221 = add nsw i32 %1220, 0
%1222 = sext i32 %1221 to i64
%1223 = getelementptr inbounds double, double* %1218, i64 %1222
%1224 = load double, double* %1223
%1225 = fmul double %1217, %1224
%1226 = load double, double* %140
%1227 = load double, double* %147
%1228 = fadd double %1227, 1.000000e-08
%1229 = fmul double %1226, %1228
%1230 = fdiv double %1225, %1229
%1231 = fneg double %1230
%1232 = call double @llvm.fmuladd.f64(double %1199, double %1202, double %1231)
%1233 = load double*, double** %89
%1234 = load i32, i32* %139
%1235 = sext i32 %1234 to i64
%1236 = getelementptr inbounds double, double* %1233, i64 %1235
%1237 = load double, double* %1236
%1238 = load double*, double** %89
%1239 = load i32, i32* %139
%1240 = sext i32 %1239 to i64
%1241 = getelementptr inbounds double, double* %1238, i64 %1240
%1242 = load double, double* %1241
%1243 = fmul double %1237, %1242
%1244 = load double, double* %141
%1245 = fmul double %1243, %1244
%1246 = load double, double* %150
%1247 = fmul double %1245, %1246
%1248 = load double, double* %149
%1249 = load double, double* %148
%1250 = call double @llvm.fmuladd.f64(double %1248, double %1249, double 1.000000e+00)
%1251 = fmul double %1247, %1250
%1252 = load double*, double** %86
%1253 = load i32, i32* %139
%1254 = sext i32 %1253 to i64
%1255 = getelementptr inbounds double, double* %1252, i64 %1254
%1256 = load double, double* %1255
%1257 = call double @llvm.fmuladd.f64(double %1251, double %1256, double %1232)
%1258 = load double*, double** %121
%1259 = load i32, i32* %139
%1260 = sext i32 %1259 to i64
%1261 = getelementptr inbounds double, double* %1258, i64 %1260
store double %1257, double* %1261
%1262 = load double*, double** %89
%1263 = load i32, i32* %139
%1264 = sext i32 %1263 to i64
%1265 = getelementptr inbounds double, double* %1262, i64 %1264
%1266 = load double, double* %1265
%1267 = fneg double %1266
%1268 = load double*, double** %80
%1269 = getelementptr inbounds double, double* %1268, i64 1
%1270 = load double, double* %1269
%1271 = load double*, double** %89
%1272 = load i32, i32* %139
%1273 = sext i32 %1272 to i64
%1274 = getelementptr inbounds double, double* %1271, i64 %1273
%1275 = load double, double* %1274
%1276 = load double, double* %146
%1277 = fmul double %1275, %1276
%1278 = load double, double* %74
%1279 = fmul double %1277, %1278
%1280 = load double*, double** %83
%1281 = load i32, i32* %139
%1282 = sext i32 %1281 to i64
%1283 = getelementptr inbounds double, double* %1280, i64 %1282
%1284 = load double, double* %1283
%1285 = fmul double %1279, %1284
%1286 = load double*, double** %82
%1287 = load i32, i32* %139
%1288 = mul nsw i32 %1287, 3
%1289 = add nsw i32 %1288, 1
%1290 = sext i32 %1289 to i64
%1291 = getelementptr inbounds double, double* %1286, i64 %1290
%1292 = load double, double* %1291
%1293 = fmul double %1285, %1292
%1294 = load double, double* %140
%1295 = load double, double* %147
%1296 = fadd double %1295, 1.000000e-08
%1297 = fmul double %1294, %1296
%1298 = fdiv double %1293, %1297
%1299 = fneg double %1298
%1300 = call double @llvm.fmuladd.f64(double %1267, double %1270, double %1299)
%1301 = load double*, double** %89
%1302 = load i32, i32* %139
%1303 = sext i32 %1302 to i64
%1304 = getelementptr inbounds double, double* %1301, i64 %1303
%1305 = load double, double* %1304
%1306 = load double*, double** %89
%1307 = load i32, i32* %139
%1308 = sext i32 %1307 to i64
%1309 = getelementptr inbounds double, double* %1306, i64 %1308
%1310 = load double, double* %1309
%1311 = fmul double %1305, %1310
%1312 = load double, double* %141
%1313 = fmul double %1311, %1312
%1314 = load double, double* %150
%1315 = fmul double %1313, %1314
%1316 = load double, double* %149
%1317 = load double, double* %148
%1318 = call double @llvm.fmuladd.f64(double %1316, double %1317, double 1.000000e+00)
%1319 = fmul double %1315, %1318
%1320 = load double*, double** %87
%1321 = load i32, i32* %139
%1322 = sext i32 %1321 to i64
%1323 = getelementptr inbounds double, double* %1320, i64 %1322
%1324 = load double, double* %1323
%1325 = call double @llvm.fmuladd.f64(double %1319, double %1324, double %1300)
%1326 = load double*, double** %122
%1327 = load i32, i32* %139
%1328 = sext i32 %1327 to i64
%1329 = getelementptr inbounds double, double* %1326, i64 %1328
store double %1325, double* %1329
%1330 = load double*, double** %89
%1331 = load i32, i32* %139
%1332 = sext i32 %1331 to i64
%1333 = getelementptr inbounds double, double* %1330, i64 %1332
%1334 = load double, double* %1333
%1335 = fneg double %1334
%1336 = load double*, double** %80
%1337 = getelementptr inbounds double, double* %1336, i64 2
%1338 = load double, double* %1337
%1339 = load double*, double** %89
%1340 = load i32, i32* %139
%1341 = sext i32 %1340 to i64
%1342 = getelementptr inbounds double, double* %1339, i64 %1341
%1343 = load double, double* %1342
%1344 = load double, double* %146
%1345 = fmul double %1343, %1344
%1346 = load double, double* %74
%1347 = fmul double %1345, %1346
%1348 = load double*, double** %83
%1349 = load i32, i32* %139
%1350 = sext i32 %1349 to i64
%1351 = getelementptr inbounds double, double* %1348, i64 %1350
%1352 = load double, double* %1351
%1353 = fmul double %1347, %1352
%1354 = load double*, double** %82
%1355 = load i32, i32* %139
%1356 = mul nsw i32 %1355, 3
%1357 = add nsw i32 %1356, 2
%1358 = sext i32 %1357 to i64
%1359 = getelementptr inbounds double, double* %1354, i64 %1358
%1360 = load double, double* %1359
%1361 = fmul double %1353, %1360
%1362 = load double, double* %140
%1363 = load double, double* %147
%1364 = fadd double %1363, 1.000000e-08
%1365 = fmul double %1362, %1364
%1366 = fdiv double %1361, %1365
%1367 = fneg double %1366
%1368 = call double @llvm.fmuladd.f64(double %1335, double %1338, double %1367)
%1369 = load double*, double** %89
%1370 = load i32, i32* %139
%1371 = sext i32 %1370 to i64
%1372 = getelementptr inbounds double, double* %1369, i64 %1371
%1373 = load double, double* %1372
%1374 = load double*, double** %89
%1375 = load i32, i32* %139
%1376 = sext i32 %1375 to i64
%1377 = getelementptr inbounds double, double* %1374, i64 %1376
%1378 = load double, double* %1377
%1379 = fmul double %1373, %1378
%1380 = load double, double* %141
%1381 = fmul double %1379, %1380
%1382 = load double, double* %150
%1383 = fmul double %1381, %1382
%1384 = load double, double* %149
%1385 = load double, double* %148
%1386 = call double @llvm.fmuladd.f64(double %1384, double %1385, double 1.000000e+00)
%1387 = fmul double %1383, %1386
%1388 = load double*, double** %88
%1389 = load i32, i32* %139
%1390 = sext i32 %1389 to i64
%1391 = getelementptr inbounds double, double* %1388, i64 %1390
%1392 = load double, double* %1391
%1393 = call double @llvm.fmuladd.f64(double %1387, double %1392, double %1368)
%1394 = load double*, double** %123
%1395 = load i32, i32* %139
%1396 = sext i32 %1395 to i64
%1397 = getelementptr inbounds double, double* %1394, i64 %1396
store double %1393, double* %1397
%1398 = load double*, double** %89
%1399 = load i32, i32* %139
%1400 = sext i32 %1399 to i64
%1401 = getelementptr inbounds double, double* %1398, i64 %1400
%1402 = load double, double* %1401
%1403 = load double*, double** %89
%1404 = load i32, i32* %139
%1405 = sext i32 %1404 to i64
%1406 = getelementptr inbounds double, double* %1403, i64 %1405
%1407 = load double, double* %1406
%1408 = fmul double %1402, %1407
%1409 = load double, double* %141
%1410 = fmul double %1408, %1409
%1411 = load double, double* %150
%1412 = fmul double %1410, %1411
%1413 = load double, double* %149
%1414 = load double, double* %148
%1415 = load double*, double** %86
%1416 = load i32, i32* %139
%1417 = sext i32 %1416 to i64
%1418 = getelementptr inbounds double, double* %1415, i64 %1417
%1419 = load double, double* %1418
%1420 = load double*, double** %86
%1421 = load i32, i32* %139
%1422 = sext i32 %1421 to i64
%1423 = getelementptr inbounds double, double* %1420, i64 %1422
%1424 = load double, double* %1423
%1425 = fmul double %1419, %1424
%1426 = load double, double* %148
%1427 = fadd double %1426, 0x3D719799812DEA11
%1428 = fdiv double %1425, %1427
%1429 = fadd double %1414, %1428
%1430 = call double @llvm.fmuladd.f64(double %1413, double %1429, double 1.000000e+00)
%1431 = fmul double %1412, %1430
%1432 = load double*, double** %124
%1433 = load i32, i32* %139
%1434 = sext i32 %1433 to i64
%1435 = getelementptr inbounds double, double* %1432, i64 %1434
store double %1431, double* %1435
%1436 = load double*, double** %89
%1437 = load i32, i32* %139
%1438 = sext i32 %1437 to i64
%1439 = getelementptr inbounds double, double* %1436, i64 %1438
%1440 = load double, double* %1439
%1441 = load double*, double** %89
%1442 = load i32, i32* %139
%1443 = sext i32 %1442 to i64
%1444 = getelementptr inbounds double, double* %1441, i64 %1443
%1445 = load double, double* %1444
%1446 = fmul double %1440, %1445
%1447 = load double, double* %141
%1448 = fmul double %1446, %1447
%1449 = load double, double* %150
%1450 = fmul double %1448, %1449
%1451 = load double, double* %149
%1452 = load double*, double** %86
%1453 = load i32, i32* %139
%1454 = sext i32 %1453 to i64
%1455 = getelementptr inbounds double, double* %1452, i64 %1454
%1456 = load double, double* %1455
%1457 = load double*, double** %87
%1458 = load i32, i32* %139
%1459 = sext i32 %1458 to i64
%1460 = getelementptr inbounds double, double* %1457, i64 %1459
%1461 = load double, double* %1460
%1462 = fmul double %1456, %1461
%1463 = load double, double* %148
%1464 = fadd double %1463, 0x3D719799812DEA11
%1465 = fdiv double %1462, %1464
%1466 = call double @llvm.fmuladd.f64(double %1451, double %1465, double 0.000000e+00)
%1467 = fmul double %1450, %1466
%1468 = load double*, double** %125
%1469 = load i32, i32* %139
%1470 = sext i32 %1469 to i64
%1471 = getelementptr inbounds double, double* %1468, i64 %1470
store double %1467, double* %1471
%1472 = load double*, double** %89
%1473 = load i32, i32* %139
%1474 = sext i32 %1473 to i64
%1475 = getelementptr inbounds double, double* %1472, i64 %1474
%1476 = load double, double* %1475
%1477 = load double*, double** %89
%1478 = load i32, i32* %139
%1479 = sext i32 %1478 to i64
%1480 = getelementptr inbounds double, double* %1477, i64 %1479
%1481 = load double, double* %1480
%1482 = fmul double %1476, %1481
%1483 = load double, double* %141
%1484 = fmul double %1482, %1483
%1485 = load double, double* %150
%1486 = fmul double %1484, %1485
%1487 = load double, double* %149
%1488 = load double*, double** %86
%1489 = load i32, i32* %139
%1490 = sext i32 %1489 to i64
%1491 = getelementptr inbounds double, double* %1488, i64 %1490
%1492 = load double, double* %1491
%1493 = load double*, double** %88
%1494 = load i32, i32* %139
%1495 = sext i32 %1494 to i64
%1496 = getelementptr inbounds double, double* %1493, i64 %1495
%1497 = load double, double* %1496
%1498 = fmul double %1492, %1497
%1499 = load double, double* %148
%1500 = fadd double %1499, 0x3D719799812DEA11
%1501 = fdiv double %1498, %1500
%1502 = call double @llvm.fmuladd.f64(double %1487, double %1501, double 0.000000e+00)
%1503 = fmul double %1486, %1502
%1504 = load double*, double** %126
%1505 = load i32, i32* %139
%1506 = sext i32 %1505 to i64
%1507 = getelementptr inbounds double, double* %1504, i64 %1506
store double %1503, double* %1507
%1508 = load double*, double** %89
%1509 = load i32, i32* %139
%1510 = sext i32 %1509 to i64
%1511 = getelementptr inbounds double, double* %1508, i64 %1510
%1512 = load double, double* %1511
%1513 = load double*, double** %89
%1514 = load i32, i32* %139
%1515 = sext i32 %1514 to i64
%1516 = getelementptr inbounds double, double* %1513, i64 %1515
%1517 = load double, double* %1516
%1518 = fmul double %1512, %1517
%1519 = load double, double* %141
%1520 = fmul double %1518, %1519
%1521 = load double, double* %150
%1522 = fmul double %1520, %1521
%1523 = load double, double* %149
%1524 = load double*, double** %86
%1525 = load i32, i32* %139
%1526 = sext i32 %1525 to i64
%1527 = getelementptr inbounds double, double* %1524, i64 %1526
%1528 = load double, double* %1527
%1529 = load double*, double** %87
%1530 = load i32, i32* %139
%1531 = sext i32 %1530 to i64
%1532 = getelementptr inbounds double, double* %1529, i64 %1531
%1533 = load double, double* %1532
%1534 = fmul double %1528, %1533
%1535 = load double, double* %148
%1536 = fadd double %1535, 0x3D719799812DEA11
%1537 = fdiv double %1534, %1536
%1538 = call double @llvm.fmuladd.f64(double %1523, double %1537, double 0.000000e+00)
%1539 = fmul double %1522, %1538
%1540 = load double*, double** %127
%1541 = load i32, i32* %139
%1542 = sext i32 %1541 to i64
%1543 = getelementptr inbounds double, double* %1540, i64 %1542
store double %1539, double* %1543
%1544 = load double*, double** %89
%1545 = load i32, i32* %139
%1546 = sext i32 %1545 to i64
%1547 = getelementptr inbounds double, double* %1544, i64 %1546
%1548 = load double, double* %1547
%1549 = load double*, double** %89
%1550 = load i32, i32* %139
%1551 = sext i32 %1550 to i64
%1552 = getelementptr inbounds double, double* %1549, i64 %1551
%1553 = load double, double* %1552
%1554 = fmul double %1548, %1553
%1555 = load double, double* %141
%1556 = fmul double %1554, %1555
%1557 = load double, double* %150
%1558 = fmul double %1556, %1557
%1559 = load double, double* %149
%1560 = load double, double* %148
%1561 = load double*, double** %87
%1562 = load i32, i32* %139
%1563 = sext i32 %1562 to i64
%1564 = getelementptr inbounds double, double* %1561, i64 %1563
%1565 = load double, double* %1564
%1566 = load double*, double** %87
%1567 = load i32, i32* %139
%1568 = sext i32 %1567 to i64
%1569 = getelementptr inbounds double, double* %1566, i64 %1568
%1570 = load double, double* %1569
%1571 = fmul double %1565, %1570
%1572 = load double, double* %148
%1573 = fadd double %1572, 0x3D719799812DEA11
%1574 = fdiv double %1571, %1573
%1575 = fadd double %1560, %1574
%1576 = call double @llvm.fmuladd.f64(double %1559, double %1575, double 1.000000e+00)
%1577 = fmul double %1558, %1576
%1578 = load double*, double** %128
%1579 = load i32, i32* %139
%1580 = sext i32 %1579 to i64
%1581 = getelementptr inbounds double, double* %1578, i64 %1580
store double %1577, double* %1581
%1582 = load double*, double** %89
%1583 = load i32, i32* %139
%1584 = sext i32 %1583 to i64
%1585 = getelementptr inbounds double, double* %1582, i64 %1584
%1586 = load double, double* %1585
%1587 = load double*, double** %89
%1588 = load i32, i32* %139
%1589 = sext i32 %1588 to i64
%1590 = getelementptr inbounds double, double* %1587, i64 %1589
%1591 = load double, double* %1590
%1592 = fmul double %1586, %1591
%1593 = load double, double* %141
%1594 = fmul double %1592, %1593
%1595 = load double, double* %150
%1596 = fmul double %1594, %1595
%1597 = load double, double* %149
%1598 = load double*, double** %88
%1599 = load i32, i32* %139
%1600 = sext i32 %1599 to i64
%1601 = getelementptr inbounds double, double* %1598, i64 %1600
%1602 = load double, double* %1601
%1603 = load double*, double** %87
%1604 = load i32, i32* %139
%1605 = sext i32 %1604 to i64
%1606 = getelementptr inbounds double, double* %1603, i64 %1605
%1607 = load double, double* %1606
%1608 = fmul double %1602, %1607
%1609 = load double, double* %148
%1610 = fadd double %1609, 0x3D719799812DEA11
%1611 = fdiv double %1608, %1610
%1612 = call double @llvm.fmuladd.f64(double %1597, double %1611, double 0.000000e+00)
%1613 = fmul double %1596, %1612
%1614 = load double*, double** %129
%1615 = load i32, i32* %139
%1616 = sext i32 %1615 to i64
%1617 = getelementptr inbounds double, double* %1614, i64 %1616
store double %1613, double* %1617
%1618 = load double*, double** %89
%1619 = load i32, i32* %139
%1620 = sext i32 %1619 to i64
%1621 = getelementptr inbounds double, double* %1618, i64 %1620
%1622 = load double, double* %1621
%1623 = load double*, double** %89
%1624 = load i32, i32* %139
%1625 = sext i32 %1624 to i64
%1626 = getelementptr inbounds double, double* %1623, i64 %1625
%1627 = load double, double* %1626
%1628 = fmul double %1622, %1627
%1629 = load double, double* %141
%1630 = fmul double %1628, %1629
%1631 = load double, double* %150
%1632 = fmul double %1630, %1631
%1633 = load double, double* %149
%1634 = load double*, double** %88
%1635 = load i32, i32* %139
%1636 = sext i32 %1635 to i64
%1637 = getelementptr inbounds double, double* %1634, i64 %1636
%1638 = load double, double* %1637
%1639 = load double*, double** %86
%1640 = load i32, i32* %139
%1641 = sext i32 %1640 to i64
%1642 = getelementptr inbounds double, double* %1639, i64 %1641
%1643 = load double, double* %1642
%1644 = fmul double %1638, %1643
%1645 = load double, double* %148
%1646 = fadd double %1645, 0x3D719799812DEA11
%1647 = fdiv double %1644, %1646
%1648 = call double @llvm.fmuladd.f64(double %1633, double %1647, double 0.000000e+00)
%1649 = fmul double %1632, %1648
%1650 = load double*, double** %130
%1651 = load i32, i32* %139
%1652 = sext i32 %1651 to i64
%1653 = getelementptr inbounds double, double* %1650, i64 %1652
store double %1649, double* %1653
%1654 = load double*, double** %89
%1655 = load i32, i32* %139
%1656 = sext i32 %1655 to i64
%1657 = getelementptr inbounds double, double* %1654, i64 %1656
%1658 = load double, double* %1657
%1659 = load double*, double** %89
%1660 = load i32, i32* %139
%1661 = sext i32 %1660 to i64
%1662 = getelementptr inbounds double, double* %1659, i64 %1661
%1663 = load double, double* %1662
%1664 = fmul double %1658, %1663
%1665 = load double, double* %141
%1666 = fmul double %1664, %1665
%1667 = load double, double* %150
%1668 = fmul double %1666, %1667
%1669 = load double, double* %149
%1670 = load double*, double** %88
%1671 = load i32, i32* %139
%1672 = sext i32 %1671 to i64
%1673 = getelementptr inbounds double, double* %1670, i64 %1672
%1674 = load double, double* %1673
%1675 = load double*, double** %87
%1676 = load i32, i32* %139
%1677 = sext i32 %1676 to i64
%1678 = getelementptr inbounds double, double* %1675, i64 %1677
%1679 = load double, double* %1678
%1680 = fmul double %1674, %1679
%1681 = load double, double* %148
%1682 = fadd double %1681, 0x3D719799812DEA11
%1683 = fdiv double %1680, %1682
%1684 = call double @llvm.fmuladd.f64(double %1669, double %1683, double 0.000000e+00)
%1685 = fmul double %1668, %1684
%1686 = load double*, double** %131
%1687 = load i32, i32* %139
%1688 = sext i32 %1687 to i64
%1689 = getelementptr inbounds double, double* %1686, i64 %1688
store double %1685, double* %1689
%1690 = load double*, double** %89
%1691 = load i32, i32* %139
%1692 = sext i32 %1691 to i64
%1693 = getelementptr inbounds double, double* %1690, i64 %1692
%1694 = load double, double* %1693
%1695 = load double*, double** %89
%1696 = load i32, i32* %139
%1697 = sext i32 %1696 to i64
%1698 = getelementptr inbounds double, double* %1695, i64 %1697
%1699 = load double, double* %1698
%1700 = fmul double %1694, %1699
%1701 = load double, double* %141
%1702 = fmul double %1700, %1701
%1703 = load double, double* %150
%1704 = fmul double %1702, %1703
%1705 = load double, double* %149
%1706 = load double, double* %148
%1707 = load double*, double** %88
%1708 = load i32, i32* %139
%1709 = sext i32 %1708 to i64
%1710 = getelementptr inbounds double, double* %1707, i64 %1709
%1711 = load double, double* %1710
%1712 = load double*, double** %88
%1713 = load i32, i32* %139
%1714 = sext i32 %1713 to i64
%1715 = getelementptr inbounds double, double* %1712, i64 %1714
%1716 = load double, double* %1715
%1717 = fmul double %1711, %1716
%1718 = load double, double* %148
%1719 = fadd double %1718, 0x3D719799812DEA11
%1720 = fdiv double %1717, %1719
%1721 = fadd double %1706, %1720
%1722 = call double @llvm.fmuladd.f64(double %1705, double %1721, double 1.000000e+00)
%1723 = fmul double %1704, %1722
%1724 = load double*, double** %132
%1725 = load i32, i32* %139
%1726 = sext i32 %1725 to i64
%1727 = getelementptr inbounds double, double* %1724, i64 %1726
store double %1723, double* %1727
%1728 = load double*, double** %89
%1729 = load i32, i32* %139
%1730 = sext i32 %1729 to i64
%1731 = getelementptr inbounds double, double* %1728, i64 %1730
%1732 = load double, double* %1731
%1733 = load double*, double** %85
%1734 = load i32, i32* %139
%1735 = mul nsw i32 %1734, 3
%1736 = add nsw i32 %1735, 0
%1737 = sext i32 %1736 to i64
%1738 = getelementptr inbounds double, double* %1733, i64 %1737
%1739 = load double, double* %1738
%1740 = fmul double %1732, %1739
%1741 = load double, double* %140
%1742 = fdiv double %1740, %1741
%1743 = load double*, double** %133
%1744 = load i32, i32* %139
%1745 = sext i32 %1744 to i64
%1746 = getelementptr inbounds double, double* %1743, i64 %1745
store double %1742, double* %1746
%1747 = load double*, double** %89
%1748 = load i32, i32* %139
%1749 = sext i32 %1748 to i64
%1750 = getelementptr inbounds double, double* %1747, i64 %1749
%1751 = load double, double* %1750
%1752 = load double, double* %140
%1753 = fdiv double %1751, %1752
%1754 = load double*, double** %134
%1755 = load i32, i32* %139
%1756 = mul nsw i32 %1755, 3
%1757 = add nsw i32 %1756, 0
%1758 = sext i32 %1757 to i64
%1759 = getelementptr inbounds double, double* %1754, i64 %1758
store double %1753, double* %1759
%1760 = load double*, double** %89
%1761 = load i32, i32* %139
%1762 = sext i32 %1761 to i64
%1763 = getelementptr inbounds double, double* %1760, i64 %1762
%1764 = load double, double* %1763
%1765 = load double*, double** %85
%1766 = load i32, i32* %139
%1767 = mul nsw i32 %1766, 3
%1768 = add nsw i32 %1767, 1
%1769 = sext i32 %1768 to i64
%1770 = getelementptr inbounds double, double* %1765, i64 %1769
%1771 = load double, double* %1770
%1772 = fmul double %1764, %1771
%1773 = load double, double* %140
%1774 = fdiv double %1772, %1773
%1775 = load double*, double** %135
%1776 = load i32, i32* %139
%1777 = sext i32 %1776 to i64
%1778 = getelementptr inbounds double, double* %1775, i64 %1777
store double %1774, double* %1778
%1779 = load double*, double** %89
%1780 = load i32, i32* %139
%1781 = sext i32 %1780 to i64
%1782 = getelementptr inbounds double, double* %1779, i64 %1781
%1783 = load double, double* %1782
%1784 = load double, double* %140
%1785 = fdiv double %1783, %1784
%1786 = load double*, double** %136
%1787 = load i32, i32* %139
%1788 = mul nsw i32 %1787, 3
%1789 = add nsw i32 %1788, 1
%1790 = sext i32 %1789 to i64
%1791 = getelementptr inbounds double, double* %1786, i64 %1790
store double %1785, double* %1791
%1792 = load double*, double** %89
%1793 = load i32, i32* %139
%1794 = sext i32 %1793 to i64
%1795 = getelementptr inbounds double, double* %1792, i64 %1794
%1796 = load double, double* %1795
%1797 = load double*, double** %85
%1798 = load i32, i32* %139
%1799 = mul nsw i32 %1798, 3
%1800 = add nsw i32 %1799, 2
%1801 = sext i32 %1800 to i64
%1802 = getelementptr inbounds double, double* %1797, i64 %1801
%1803 = load double, double* %1802
%1804 = fmul double %1796, %1803
%1805 = load double, double* %140
%1806 = fdiv double %1804, %1805
%1807 = load double*, double** %137
%1808 = load i32, i32* %139
%1809 = sext i32 %1808 to i64
%1810 = getelementptr inbounds double, double* %1807, i64 %1809
store double %1806, double* %1810
%1811 = load double*, double** %89
%1812 = load i32, i32* %139
%1813 = sext i32 %1812 to i64
%1814 = getelementptr inbounds double, double* %1811, i64 %1813
%1815 = load double, double* %1814
%1816 = load double, double* %140
%1817 = fdiv double %1815, %1816
%1818 = load double*, double** %138
%1819 = load i32, i32* %139
%1820 = mul nsw i32 %1819, 3
%1821 = add nsw i32 %1820, 2
%1822 = sext i32 %1821 to i64
%1823 = getelementptr inbounds double, double* %1818, i64 %1822
store double %1817, double* %1823
br label %1824
1824: ; preds = %1193
%1825 = load i32, i32* %139
%1826 = add nsw i32 %1825, 1
store i32 %1826, i32* %139
br label %156
1827: ; preds = %156
ret void
}

LLVM IR (-O2):
define void @VolumeAveragedTwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd(i32 %0, i32 %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8, double* nocapture %9, double* nocapture %10, double* nocapture %11, double* nocapture %12, double* nocapture %13, double* nocapture readnone %14, double* nocapture %15, double* nocapture %16, double* nocapture %17, double* nocapture %18, double* %19, double* nocapture writeonly %20, double* nocapture writeonly %21, double* nocapture writeonly %22, double* nocapture writeonly %23, double* nocapture writeonly %24, double* nocapture writeonly %25, double* nocapture writeonly %26, double* nocapture writeonly %27, double* nocapture writeonly %28, double* nocapture writeonly %29, double* nocapture writeonly %30, double* nocapture writeonly %31, double* nocapture writeonly %32, double* nocapture writeonly %33, double* nocapture writeonly %34, double* nocapture writeonly %35, double* nocapture writeonly %36, double* nocapture writeonly %37, double* nocapture writeonly %38, double* nocapture writeonly %39, double* nocapture writeonly %40, double* nocapture writeonly %41, double* nocapture writeonly %42, double* nocapture writeonly %43, double* nocapture writeonly %44, double* nocapture writeonly %45, double* nocapture writeonly %46, double* nocapture writeonly %47, double* nocapture writeonly %48, double* nocapture writeonly %49, double* nocapture writeonly %50, double* nocapture writeonly %51, double* nocapture writeonly %52, double* nocapture writeonly %53, double* nocapture writeonly %54, double* nocapture writeonly %55, double* nocapture writeonly %56, double* nocapture writeonly %57, double* nocapture writeonly %58, double* nocapture writeonly %59, double* nocapture writeonly %60, double* nocapture writeonly %61, double* nocapture writeonly %62, double* nocapture writeonly %63, double* nocapture writeonly %64, double* nocapture writeonly %65, double* nocapture writeonly %66, double* nocapture writeonly %67, double* nocapture writeonly %68) {
%70 = icmp eq i32 %1, 0
%71 = select i1 %70, double 1.000000e+00, double 0.000000e+00
%72 = icmp sgt i32 %0, 0
br i1 %72, label %73, label %540
73: ; preds = %69
%74 = getelementptr inbounds double, double* %10, i64 1
%75 = getelementptr inbounds double, double* %10, i64 2
%76 = zext i32 %0 to i64
br label %77
77: ; preds = %73, %352
%78 = phi i64 [ 0, %73 ], [ %538, %352 ]
%79 = getelementptr inbounds double, double* %11, i64 %78
%80 = load double, double* %79
%81 = tail call i32 (double, double, ...) bitcast (i32 (...)* @smoothedHeaviside to i32 (double, double, ...)*)(double %2, double %80)
%82 = sitofp i32 %81 to double
%83 = load double, double* %79
%84 = tail call i32 (double, double, ...) bitcast (i32 (...)* @smoothedDirac to i32 (double, double, ...)*)(double %2, double %83)
%85 = load double, double* %79
%86 = tail call i32 (double, double, ...) bitcast (i32 (...)* @smoothedHeaviside to i32 (double, double, ...)*)(double %3, double %85)
%87 = sitofp i32 %86 to double
%88 = load double, double* %79
%89 = tail call i32 (double, double, ...) bitcast (i32 (...)* @smoothedDirac to i32 (double, double, ...)*)(double %3, double %88)
%90 = sitofp i32 %89 to double
%91 = fsub double 1.000000e+00, %82
%92 = fmul double %82, %7
%93 = tail call double @llvm.fmuladd.f64(double %5, double %91, double %92)
%94 = fsub double 1.000000e+00, %87
%95 = fmul double %87, %8
%96 = tail call double @llvm.fmuladd.f64(double %6, double %94, double %95)
%97 = getelementptr inbounds double, double* %19, i64 %78
%98 = load double, double* %97
%99 = getelementptr inbounds double, double* %16, i64 %78
%100 = load double, double* %99
%101 = fmul double %98, %100
%102 = getelementptr inbounds double, double* %20, i64 %78
store double %101, double* %102
%103 = load double, double* %97
%104 = getelementptr inbounds double, double* %21, i64 %78
store double %103, double* %104
%105 = load double, double* %97
%106 = getelementptr inbounds double, double* %17, i64 %78
%107 = load double, double* %106
%108 = fmul double %105, %107
%109 = getelementptr inbounds double, double* %22, i64 %78
store double %108, double* %109
%110 = load double, double* %97
%111 = getelementptr inbounds double, double* %23, i64 %78
store double %110, double* %111
%112 = load double, double* %97
%113 = getelementptr inbounds double, double* %18, i64 %78
%114 = load double, double* %113
%115 = fmul double %112, %114
%116 = getelementptr inbounds double, double* %24, i64 %78
store double %115, double* %116
%117 = load double, double* %97
%118 = getelementptr inbounds double, double* %25, i64 %78
store double %117, double* %118
%119 = load double, double* %97
%120 = load double, double* %99
%121 = fmul double %119, %120
%122 = trunc i64 %78 to i32
%123 = mul nsw i32 %122, 3
%124 = zext i32 %123 to i64
%125 = getelementptr inbounds double, double* %26, i64 %124
store double %121, double* %125
%126 = load double, double* %97
%127 = load double, double* %106
%128 = fmul double %126, %127
%129 = add nuw nsw i32 %123, 1
%130 = zext i32 %129 to i64
%131 = getelementptr inbounds double, double* %26, i64 %130
store double %128, double* %131
%132 = load double, double* %97
%133 = load double, double* %113
%134 = fmul double %132, %133
%135 = add nuw nsw i32 %123, 2
%136 = zext i32 %135 to i64
%137 = getelementptr inbounds double, double* %26, i64 %136
store double %134, double* %137
%138 = load double, double* %97
%139 = getelementptr inbounds double, double* %27, i64 %124
store double %138, double* %139
%140 = load double, double* %97
%141 = getelementptr inbounds double, double* %28, i64 %130
store double %140, double* %141
%142 = load double, double* %97
%143 = getelementptr inbounds double, double* %29, i64 %136
store double %142, double* %143
%144 = load double, double* %97
%145 = load double, double* %99
%146 = fmul double %144, %145
%147 = fmul double %145, %146
%148 = getelementptr inbounds double, double* %30, i64 %124
store double %147, double* %148
%149 = load double, double* %97
%150 = load double, double* %99
%151 = fmul double %149, %150
%152 = load double, double* %106
%153 = fmul double %151, %152
%154 = getelementptr inbounds double, double* %30, i64 %130
store double %153, double* %154
%155 = load double, double* %97
%156 = load double, double* %99
%157 = fmul double %155, %156
%158 = load double, double* %113
%159 = fmul double %157, %158
%160 = getelementptr inbounds double, double* %30, i64 %136
store double %159, double* %160
%161 = load double, double* %97
%162 = fmul double %161, 2.000000e+00
%163 = load double, double* %99
%164 = fmul double %162, %163
%165 = getelementptr inbounds double, double* %31, i64 %124
store double %164, double* %165
%166 = load double, double* %97
%167 = load double, double* %106
%168 = fmul double %166, %167
%169 = getelementptr inbounds double, double* %31, i64 %130
store double %168, double* %169
%170 = load double, double* %97
%171 = load double, double* %113
%172 = fmul double %170, %171
%173 = getelementptr inbounds double, double* %31, i64 %136
store double %172, double* %173
%174 = load double, double* %97
%175 = load double, double* %99
%176 = fmul double %174, %175
%177 = getelementptr inbounds double, double* %32, i64 %130
store double %176, double* %177
%178 = load double, double* %97
%179 = load double, double* %99
%180 = fmul double %178, %179
%181 = getelementptr inbounds double, double* %33, i64 %136
store double %180, double* %181
%182 = load double, double* %97
%183 = load double, double* %106
%184 = fmul double %182, %183
%185 = load double, double* %99
%186 = fmul double %184, %185
%187 = getelementptr inbounds double, double* %34, i64 %124
store double %186, double* %187
%188 = load double, double* %97
%189 = load double, double* %106
%190 = fmul double %188, %189
%191 = fmul double %189, %190
%192 = getelementptr inbounds double, double* %34, i64 %130
store double %191, double* %192
%193 = load double, double* %97
%194 = load double, double* %106
%195 = fmul double %193, %194
%196 = load double, double* %113
%197 = fmul double %195, %196
%198 = getelementptr inbounds double, double* %34, i64 %136
store double %197, double* %198
%199 = load double, double* %97
%200 = load double, double* %106
%201 = fmul double %199, %200
%202 = getelementptr inbounds double, double* %35, i64 %124
store double %201, double* %202
%203 = load double, double* %97
%204 = load double, double* %106
%205 = fmul double %203, %204
%206 = getelementptr inbounds double, double* %37, i64 %136
store double %205, double* %206
%207 = load double, double* %97
%208 = load double, double* %99
%209 = fmul double %207, %208
%210 = getelementptr inbounds double, double* %36, i64 %124
store double %209, double* %210
%211 = load double, double* %97
%212 = fmul double %211, 2.000000e+00
%213 = load double, double* %106
%214 = fmul double %212, %213
%215 = getelementptr inbounds double, double* %36, i64 %130
store double %214, double* %215
%216 = load double, double* %97
%217 = load double, double* %113
%218 = fmul double %216, %217
%219 = getelementptr inbounds double, double* %36, i64 %136
store double %218, double* %219
%220 = load double, double* %97
%221 = load double, double* %113
%222 = fmul double %220, %221
%223 = load double, double* %99
%224 = fmul double %222, %223
%225 = getelementptr inbounds double, double* %38, i64 %124
store double %224, double* %225
%226 = load double, double* %97
%227 = load double, double* %113
%228 = fmul double %226, %227
%229 = load double, double* %106
%230 = fmul double %228, %229
%231 = getelementptr inbounds double, double* %38, i64 %130
store double %230, double* %231
%232 = load double, double* %97
%233 = load double, double* %113
%234 = fmul double %232, %233
%235 = fmul double %233, %234
%236 = getelementptr inbounds double, double* %38, i64 %136
store double %235, double* %236
%237 = load double, double* %97
%238 = load double, double* %113
%239 = fmul double %237, %238
%240 = getelementptr inbounds double, double* %39, i64 %124
store double %239, double* %240
%241 = load double, double* %97
%242 = load double, double* %113
%243 = fmul double %241, %242
%244 = getelementptr inbounds double, double* %40, i64 %130
store double %243, double* %244
%245 = load double, double* %97
%246 = load double, double* %99
%247 = fmul double %245, %246
%248 = getelementptr inbounds double, double* %41, i64 %124
store double %247, double* %248
%249 = load double, double* %97
%250 = load double, double* %106
%251 = fmul double %249, %250
%252 = getelementptr inbounds double, double* %41, i64 %130
store double %251, double* %252
%253 = load double, double* %97
%254 = fmul double %253, 2.000000e+00
%255 = load double, double* %113
%256 = fmul double %254, %255
%257 = getelementptr inbounds double, double* %41, i64 %136
store double %256, double* %257
%258 = load double, double* %97
%259 = fmul double %258, 2.000000e+00
%260 = fmul double %96, %259
%261 = getelementptr inbounds double, double* %42, i64 %124
store double %260, double* %261
%262 = load double, double* %97
%263 = fmul double %96, %262
%264 = getelementptr inbounds double, double* %42, i64 %130
store double %263, double* %264
%265 = load double, double* %97
%266 = fmul double %96, %265
%267 = getelementptr inbounds double, double* %42, i64 %136
store double %266, double* %267
%268 = load double, double* %97
%269 = fmul double %96, %268
%270 = getelementptr inbounds double, double* %45, i64 %78
store double %269, double* %270
%271 = load double, double* %97
%272 = fmul double %96, %271
%273 = getelementptr inbounds double, double* %46, i64 %78
store double %272, double* %273
%274 = load double, double* %97
%275 = fmul double %96, %274
%276 = getelementptr inbounds double, double* %43, i64 %124
store double %275, double* %276
%277 = load double, double* %97
%278 = fmul double %277, 2.000000e+00
%279 = fmul double %96, %278
%280 = getelementptr inbounds double, double* %43, i64 %130
store double %279, double* %280
%281 = load double, double* %97
%282 = fmul double %96, %281
%283 = getelementptr inbounds double, double* %43, i64 %136
store double %282, double* %283
%284 = load double, double* %97
%285 = fmul double %96, %284
%286 = getelementptr inbounds double, double* %47, i64 %78
store double %285, double* %286
%287 = load double, double* %97
%288 = fmul double %96, %287
%289 = getelementptr inbounds double, double* %48, i64 %78
store double %288, double* %289
%290 = load double, double* %97
%291 = fmul double %96, %290
%292 = getelementptr inbounds double, double* %44, i64 %124
store double %291, double* %292
%293 = load double, double* %97
%294 = fmul double %96, %293
%295 = getelementptr inbounds double, double* %44, i64 %130
store double %294, double* %295
%296 = load double, double* %97
%297 = fmul double %296, 2.000000e+00
%298 = fmul double %96, %297
%299 = getelementptr inbounds double, double* %44, i64 %136
store double %298, double* %299
%300 = load double, double* %97
%301 = fmul double %96, %300
%302 = getelementptr inbounds double, double* %49, i64 %78
store double %301, double* %302
%303 = load double, double* %97
%304 = fmul double %96, %303
%305 = getelementptr inbounds double, double* %50, i64 %78
store double %304, double* %305
%306 = getelementptr inbounds double, double* %12, i64 %124
%307 = load double, double* %306
%308 = getelementptr inbounds double, double* %12, i64 %130
%309 = load double, double* %308
%310 = fmul double %309, %309
%311 = tail call double @llvm.fmuladd.f64(double %307, double %307, double %310)
%312 = getelementptr inbounds double, double* %12, i64 %136
%313 = load double, double* %312
%314 = tail call double @llvm.fmuladd.f64(double %313, double %313, double %311)
%315 = tail call double @sqrt(double %314)
%316 = load double, double* %99
%317 = load double, double* %106
%318 = fmul double %317, %317
%319 = tail call double @llvm.fmuladd.f64(double %316, double %316, double %318)
%320 = load double, double* %113
%321 = tail call double @llvm.fmuladd.f64(double %320, double %320, double %319)
%322 = tail call double @sqrt(double %321)
%323 = load double, double* %97
%324 = fsub double 1.000000e+00, %323
%325 = tail call double @llvm.fabs.f64(double %324)
%326 = fcmp olt double %325, 0x3E7AD7F29ABCAF48
br i1 %326, label %334, label %327
327: ; preds = %77
%328 = getelementptr inbounds double, double* %9, i64 %78
%329 = load double, double* %328
%330 = fmul double %323, %329
%331 = fmul double %330, 1.000000e-02
%332 = fdiv double %331, %324
%333 = fdiv double %332, %96
br label %334
334: ; preds = %77, %327
%335 = phi double [ %333, %327 ], [ 0.000000e+00, %77 ]
%336 = fmul double %71, %335
%337 = tail call double @llvm.fabs.f64(double %323)
%338 = fcmp olt double %337, 0x3E7AD7F29ABCAF48
br i1 %338, label %352, label %339
339: ; preds = %334
%340 = getelementptr inbounds double, double* %9, i64 %78
%341 = load double, double* %340
%342 = fmul double %341, %341
%343 = fmul double %323, %342
%344 = insertelement <2 x double> poison, double %324, i64 0
%345 = insertelement <2 x double> %344, double %323, i64 1
%346 = insertelement <2 x double> <double 1.800000e+02, double poison>, double %343, i64 1
%347 = fmul <2 x double> %345, %346
%348 = fmul <2 x double> %345, %347
%349 = extractelement <2 x double> %348, i64 0
%350 = extractelement <2 x double> %348, i64 1
%351 = fdiv double %349, %350
br label %352
352: ; preds = %334, %339
%353 = phi double [ %351, %339 ], [ 0.000000e+00, %334 ]
%354 = fneg double %323
%355 = load double, double* %10
%356 = getelementptr inbounds double, double* %13, i64 %78
%357 = load double, double* %356
%358 = load double, double* %306
%359 = fadd double %315, 1.000000e-08
%360 = fmul double %93, %359
%361 = fmul double %90, %354
%362 = fmul double %361, %4
%363 = fmul double %362, %357
%364 = fmul double %363, %358
%365 = fdiv double %364, %360
%366 = tail call double @llvm.fmuladd.f64(double %354, double %355, double %365)
%367 = fmul double %323, %323
%368 = fmul double %96, %367
%369 = fmul double %368, %353
%370 = tail call double @llvm.fmuladd.f64(double %336, double %322, double 1.000000e+00)
%371 = fmul double %370, %369
%372 = load double, double* %99
%373 = tail call double @llvm.fmuladd.f64(double %371, double %372, double %366)
%374 = getelementptr inbounds double, double* %51, i64 %78
store double %373, double* %374
%375 = load double, double* %97
%376 = fneg double %375
%377 = load double, double* %74
%378 = load double, double* %356
%379 = load double, double* %308
%380 = fmul double %90, %376
%381 = fmul double %380, %4
%382 = fmul double %381, %378
%383 = fmul double %382, %379
%384 = fdiv double %383, %360
%385 = tail call double @llvm.fmuladd.f64(double %376, double %377, double %384)
%386 = fmul double %375, %375
%387 = fmul double %96, %386
%388 = fmul double %353, %387
%389 = fmul double %370, %388
%390 = load double, double* %106
%391 = tail call double @llvm.fmuladd.f64(double %389, double %390, double %385)
%392 = getelementptr inbounds double, double* %52, i64 %78
store double %391, double* %392
%393 = load double, double* %97
%394 = fneg double %393
%395 = load double, double* %75
%396 = load double, double* %356
%397 = load double, double* %312
%398 = fmul double %90, %394
%399 = fmul double %398, %4
%400 = fmul double %399, %396
%401 = fmul double %400, %397
%402 = fdiv double %401, %360
%403 = tail call double @llvm.fmuladd.f64(double %394, double %395, double %402)
%404 = fmul double %393, %393
%405 = fmul double %96, %404
%406 = fmul double %353, %405
%407 = fmul double %370, %406
%408 = load double, double* %113
%409 = tail call double @llvm.fmuladd.f64(double %407, double %408, double %403)
%410 = getelementptr inbounds double, double* %53, i64 %78
store double %409, double* %410
%411 = load double, double* %97
%412 = fmul double %411, %411
%413 = fmul double %96, %412
%414 = fmul double %353, %413
%415 = load double, double* %99
%416 = fmul double %415, %415
%417 = fadd double %322, 0x3D719799812DEA11
%418 = fdiv double %416, %417
%419 = fadd double %322, %418
%420 = tail call double @llvm.fmuladd.f64(double %336, double %419, double 1.000000e+00)
%421 = fmul double %414, %420
%422 = getelementptr inbounds double, double* %54, i64 %78
store double %421, double* %422
%423 = load double, double* %97
%424 = fmul double %423, %423
%425 = fmul double %96, %424
%426 = fmul double %353, %425
%427 = load double, double* %99
%428 = load double, double* %106
%429 = fmul double %427, %428
%430 = fdiv double %429, %417
%431 = tail call double @llvm.fmuladd.f64(double %336, double %430, double 0.000000e+00)
%432 = fmul double %426, %431
%433 = getelementptr inbounds double, double* %55, i64 %78
store double %432, double* %433
%434 = load double, double* %97
%435 = fmul double %434, %434
%436 = fmul double %96, %435
%437 = fmul double %353, %436
%438 = load double, double* %99
%439 = load double, double* %113
%440 = fmul double %438, %439
%441 = fdiv double %440, %417
%442 = tail call double @llvm.fmuladd.f64(double %336, double %441, double 0.000000e+00)
%443 = fmul double %437, %442
%444 = getelementptr inbounds double, double* %56, i64 %78
store double %443, double* %444
%445 = load double, double* %97
%446 = fmul double %445, %445
%447 = fmul double %96, %446
%448 = fmul double %353, %447
%449 = load double, double* %99
%450 = load double, double* %106
%451 = fmul double %449, %450
%452 = fdiv double %451, %417
%453 = tail call double @llvm.fmuladd.f64(double %336, double %452, double 0.000000e+00)
%454 = fmul double %448, %453
%455 = getelementptr inbounds double, double* %57, i64 %78
store double %454, double* %455
%456 = load double, double* %97
%457 = fmul double %456, %456
%458 = fmul double %96, %457
%459 = fmul double %353, %458
%460 = load double, double* %106
%461 = fmul double %460, %460
%462 = fdiv double %461, %417
%463 = fadd double %322, %462
%464 = tail call double @llvm.fmuladd.f64(double %336, double %463, double 1.000000e+00)
%465 = fmul double %459, %464
%466 = getelementptr inbounds double, double* %58, i64 %78
store double %465, double* %466
%467 = load double, double* %97
%468 = fmul double %467, %467
%469 = fmul double %96, %468
%470 = fmul double %353, %469
%471 = load double, double* %113
%472 = load double, double* %106
%473 = fmul double %471, %472
%474 = fdiv double %473, %417
%475 = tail call double @llvm.fmuladd.f64(double %336, double %474, double 0.000000e+00)
%476 = fmul double %470, %475
%477 = getelementptr inbounds double, double* %59, i64 %78
store double %476, double* %477
%478 = load double, double* %97
%479 = fmul double %478, %478
%480 = fmul double %96, %479
%481 = fmul double %353, %480
%482 = load double, double* %113
%483 = load double, double* %99
%484 = fmul double %482, %483
%485 = fdiv double %484, %417
%486 = tail call double @llvm.fmuladd.f64(double %336, double %485, double 0.000000e+00)
%487 = fmul double %481, %486
%488 = getelementptr inbounds double, double* %60, i64 %78
store double %487, double* %488
%489 = load double, double* %97
%490 = fmul double %489, %489
%491 = fmul double %96, %490
%492 = fmul double %353, %491
%493 = load double, double* %113
%494 = load double, double* %106
%495 = fmul double %493, %494
%496 = fdiv double %495, %417
%497 = tail call double @llvm.fmuladd.f64(double %336, double %496, double 0.000000e+00)
%498 = fmul double %492, %497
%499 = getelementptr inbounds double, double* %61, i64 %78
store double %498, double* %499
%500 = load double, double* %97
%501 = fmul double %500, %500
%502 = fmul double %96, %501
%503 = fmul double %353, %502
%504 = load double, double* %113
%505 = fmul double %504, %504
%506 = fdiv double %505, %417
%507 = fadd double %322, %506
%508 = tail call double @llvm.fmuladd.f64(double %336, double %507, double 1.000000e+00)
%509 = fmul double %503, %508
%510 = getelementptr inbounds double, double* %62, i64 %78
store double %509, double* %510
%511 = load double, double* %97
%512 = getelementptr inbounds double, double* %15, i64 %124
%513 = load double, double* %512
%514 = fmul double %511, %513
%515 = fdiv double %514, %93
%516 = getelementptr inbounds double, double* %63, i64 %78
store double %515, double* %516
%517 = load double, double* %97
%518 = fdiv double %517, %93
%519 = getelementptr inbounds double, double* %64, i64 %124
store double %518, double* %519
%520 = load double, double* %97
%521 = getelementptr inbounds double, double* %15, i64 %130
%522 = load double, double* %521
%523 = fmul double %520, %522
%524 = fdiv double %523, %93
%525 = getelementptr inbounds double, double* %65, i64 %78
store double %524, double* %525
%526 = load double, double* %97
%527 = fdiv double %526, %93
%528 = getelementptr inbounds double, double* %66, i64 %130
store double %527, double* %528
%529 = load double, double* %97
%530 = getelementptr inbounds double, double* %15, i64 %136
%531 = load double, double* %530
%532 = fmul double %529, %531
%533 = fdiv double %532, %93
%534 = getelementptr inbounds double, double* %67, i64 %78
store double %533, double* %534
%535 = load double, double* %97
%536 = fdiv double %535, %93
%537 = getelementptr inbounds double, double* %68, i64 %136
store double %536, double* %537
%538 = add nuw nsw i64 %78, 1
%539 = icmp eq i64 %538, %76
br i1 %539, label %540, label %77
540: ; preds = %352, %69
ret void
}