void TwophaseNavierStokes_ST_LS_SO_3D_Evaluate(
    const int nPoints, 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 *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, 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 *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;
  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] = u[k];
    dmom_u_acc_u[k] = 1.0;
    mom_v_acc[k] = v[k];
    dmom_v_acc_v[k] = 1.0;
    mom_w_acc[k] = w[k];
    dmom_w_acc_w[k] = 1.0;
    mass_adv[k * 3 + 0] = u[k];
    mass_adv[k * 3 + 1] = v[k];
    mass_adv[k * 3 + 2] = w[k];
    dmass_adv_u[k * 3 + 0] = 1.0;
    dmass_adv_v[k * 3 + 1] = 1.0;
    dmass_adv_w[k * 3 + 2] = 1.0;
    mom_u_adv[k * 3 + 0] = u[k] * u[k];
    mom_u_adv[k * 3 + 1] = u[k] * v[k];
    mom_u_adv[k * 3 + 2] = u[k] * w[k];
    dmom_u_adv_u[k * 3 + 0] = 2.0 * u[k];
    dmom_u_adv_u[k * 3 + 1] = v[k];
    dmom_u_adv_u[k * 3 + 2] = w[k];
    dmom_u_adv_v[k * 3 + 1] = u[k];
    dmom_u_adv_w[k * 3 + 2] = u[k];
    mom_v_adv[k * 3 + 0] = v[k] * u[k];
    mom_v_adv[k * 3 + 1] = v[k] * v[k];
    mom_v_adv[k * 3 + 2] = v[k] * w[k];
    dmom_v_adv_u[k * 3 + 0] = v[k];
    dmom_v_adv_w[k * 3 + 2] = v[k];
    dmom_v_adv_v[k * 3 + 0] = u[k];
    dmom_v_adv_v[k * 3 + 1] = 2.0 * v[k];
    dmom_v_adv_v[k * 3 + 2] = w[k];
    mom_w_adv[k * 3 + 0] = w[k] * u[k];
    mom_w_adv[k * 3 + 1] = w[k] * v[k];
    mom_w_adv[k * 3 + 2] = w[k] * w[k];
    dmom_w_adv_u[k * 3 + 0] = w[k];
    dmom_w_adv_v[k * 3 + 1] = w[k];
    dmom_w_adv_w[k * 3 + 0] = u[k];
    dmom_w_adv_w[k * 3 + 1] = v[k];
    dmom_w_adv_w[k * 3 + 2] = 2.0 * w[k];
    mom_u_diff_ten[k * 9 + 0] = 2.0 * nu;
    mom_u_diff_ten[k * 9 + 4] = nu;
    mom_u_diff_ten[k * 9 + 8] = nu;
    mom_uv_diff_ten[k * 9 + 3] = nu;
    mom_uw_diff_ten[k * 9 + 6] = nu;
    mom_v_diff_ten[k * 9 + 0] = nu;
    mom_v_diff_ten[k * 9 + 4] = 2.0 * nu;
    mom_v_diff_ten[k * 9 + 8] = nu;
    mom_vu_diff_ten[k * 9 + 1] = nu;
    mom_vw_diff_ten[k * 9 + 7] = nu;
    mom_w_diff_ten[k * 9 + 0] = nu;
    mom_w_diff_ten[k * 9 + 4] = nu;
    mom_w_diff_ten[k * 9 + 8] = 2.0 * nu;
    mom_wu_diff_ten[k * 9 + 2] = nu;
    mom_wv_diff_ten[k * 9 + 5] = 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]);
    mom_u_source[k] = -g[0] - d_mu * sigma * kappa[k] * n[k * 3 + 0] /
                                  (rho * (norm_n + 1.0e-8));
    mom_v_source[k] = -g[1] - d_mu * sigma * kappa[k] * n[k * 3 + 1] /
                                  (rho * (norm_n + 1.0e-8));
    mom_w_source[k] = -g[2] - d_mu * sigma * kappa[k] * n[k * 3 + 2] /
                                  (rho * (norm_n + 1.0e-8));
    mom_u_ham[k] = grad_p[k * 3 + 0] / rho;
    dmom_u_ham_grad_p[k * 3 + 0] = 1.0 / rho;
    mom_v_ham[k] = grad_p[k * 3 + 1] / rho;
    dmom_v_ham_grad_p[k * 3 + 1] = 1.0 / rho;
    mom_w_ham[k] = grad_p[k * 3 + 2] / rho;
    dmom_w_ham_grad_p[k * 3 + 2] = 1.0 / rho;
  }
}


x86 assembly (clang, -O0):
<TwophaseNavierStokes_ST_LS_SO_3D_Evaluate>:
push   %rbp
mov    %rsp,%rbp
sub    $0xb0,%rsp
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)
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    %rsi,-0x48(%rbp)
mov    %rdx,-0x50(%rbp)
mov    %rcx,-0x58(%rbp)
mov    %r8,-0x60(%rbp)
mov    %r9,-0x68(%rbp)
movl   $0x0,-0x6c(%rbp)
mov    -0x6c(%rbp),%eax
cmp    -0x4(%rbp),%eax
jge    1d77 <TwophaseNavierStokes_ST_LS_SO_3D_Evaluate+0xc47>
movsd  -0x10(%rbp),%xmm0
mov    -0x50(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    $0x2,%al
call   1050 <smoothedHeaviside@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x90(%rbp)
ff
movsd  -0x10(%rbp),%xmm0
mov    -0x50(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    $0x2,%al
call   1040 <smoothedDirac@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0x18(%rbp),%xmm0
mov    -0x50(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    $0x2,%al
call   1050 <smoothedHeaviside@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0xa0(%rbp)
movsd  -0x18(%rbp),%xmm0
mov    -0x50(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    $0x2,%al
call   1040 <smoothedDirac@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0x28(%rbp),%xmm0
movsd  0xccd(%rip),%xmm2
subsd  -0x90(%rbp),%xmm2
ff
movsd  -0x38(%rbp),%xmm1
mulsd  -0x90(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x30(%rbp),%xmm0
movsd  0xc9e(%rip),%xmm2
subsd  -0xa0(%rbp),%xmm2
ff
movsd  -0x40(%rbp),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x28(%rbp),%xmm0
mulsd  -0x30(%rbp),%xmm0
movsd  0xc6a(%rip),%xmm2
subsd  -0xa0(%rbp),%xmm2
ff
movsd  -0x38(%rbp),%xmm1
mulsd  -0x40(%rbp),%xmm1
mulsd  -0xa0(%rbp),%xmm1
ff
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x88(%rbp)
ff
mov    0x18(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x30(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x38(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  0xc16(%rip),%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    0x20(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x48(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  0xbe7(%rip),%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    0x28(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x50(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x58(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  0xbb8(%rip),%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x60(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x20(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x60(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x28(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x60(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x68(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  0xb3d(%rip),%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    0x70(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  0xb22(%rip),%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    0x78(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  0xb07(%rip),%xmm0
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x18(%rbp),%rax
movslq -0x6c(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x80(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
movslq -0x6c(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x80(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x28(%rbp),%rax
movslq -0x6c(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0x80(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  0xa72(%rip),%xmm0
mulsd  (%rax,%rcx,8),%xmm0
mov    0x88(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x20(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x88(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x28(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x88(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x90(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x98(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x20(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x18(%rbp),%rax
movslq -0x6c(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xa0(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x20(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
movslq -0x6c(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xa0(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x20(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x28(%rbp),%rax
movslq -0x6c(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xa0(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x20(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xa8(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x20(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xb8(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xb0(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x20(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  0x8c2(%rip),%xmm0
mulsd  (%rax,%rcx,8),%xmm0
mov    0xb0(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x28(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xb0(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x28(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x18(%rbp),%rax
movslq -0x6c(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xc0(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x28(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x20(%rbp),%rax
movslq -0x6c(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xc0(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x28(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x28(%rbp),%rax
movslq -0x6c(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
mov    0xc0(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x28(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xc8(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x28(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xd0(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x18(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xd8(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x20(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0xd8(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x28(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  0x758(%rip),%xmm0
mulsd  (%rax,%rcx,8),%xmm0
mov    0xd8(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  0x735(%rip),%xmm0
mulsd  -0x80(%rbp),%xmm0
mov    0xe0(%rbp),%rax
imul   $0x9,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0xe0(%rbp),%rax
imul   $0x9,-0x6c(%rbp),%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0xe0(%rbp),%rax
imul   $0x9,-0x6c(%rbp),%ecx
add    $0x8,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0xf8(%rbp),%rax
imul   $0x9,-0x6c(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0x100(%rbp),%rax
imul   $0x9,-0x6c(%rbp),%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0xe8(%rbp),%rax
imul   $0x9,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  0x68b(%rip),%xmm0
mulsd  -0x80(%rbp),%xmm0
mov    0xe8(%rbp),%rax
imul   $0x9,-0x6c(%rbp),%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0xe8(%rbp),%rax
imul   $0x9,-0x6c(%rbp),%ecx
add    $0x8,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0x108(%rbp),%rax
imul   $0x9,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0x110(%rbp),%rax
imul   $0x9,-0x6c(%rbp),%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0xf0(%rbp),%rax
imul   $0x9,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0xf0(%rbp),%rax
imul   $0x9,-0x6c(%rbp),%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  0x5e1(%rip),%xmm0
mulsd  -0x80(%rbp),%xmm0
mov    0xf0(%rbp),%rax
imul   $0x9,-0x6c(%rbp),%ecx
add    $0x8,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0x118(%rbp),%rax
imul   $0x9,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0x120(%rbp),%rax
imul   $0x9,-0x6c(%rbp),%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x58(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm1
mov    -0x58(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm2
mov    -0x58(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x58(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mulsd  (%rax,%rcx,8),%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x58(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x58(%rbp),%rax
imul   $0x3,-0x6c(%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,-0xb0(%rbp)
ff
mov    -0x48(%rbp),%rax
movsd  (%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  -0x20(%rbp),%xmm1
mov    -0x60(%rbp),%rax
movslq -0x6c(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mov    -0x58(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
mulsd  (%rax,%rcx,8),%xmm1
movsd  -0x78(%rbp),%xmm2
movsd  0x4a0(%rip),%xmm3
addsd  -0xb0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
divsd  %xmm2,%xmm1
subsd  %xmm1,%xmm0
mov    0x128(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x48(%rbp),%rax
movsd  0x8(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  -0x20(%rbp),%xmm1
mov    -0x60(%rbp),%rax
movslq -0x6c(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mov    -0x58(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mulsd  (%rax,%rcx,8),%xmm1
movsd  -0x78(%rbp),%xmm2
movsd  0x422(%rip),%xmm3
addsd  -0xb0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
divsd  %xmm2,%xmm1
subsd  %xmm1,%xmm0
mov    0x130(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x48(%rbp),%rax
movsd  0x10(%rax),%xmm0
movq   %xmm0,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm0
movsd  -0xa8(%rbp),%xmm1
ff
mulsd  -0x20(%rbp),%xmm1
mov    -0x60(%rbp),%rax
movslq -0x6c(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm1
mov    -0x58(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
mulsd  (%rax,%rcx,8),%xmm1
movsd  -0x78(%rbp),%xmm2
movsd  0x3a4(%rip),%xmm3
addsd  -0xb0(%rbp),%xmm3
ff
mulsd  %xmm3,%xmm2
divsd  %xmm2,%xmm1
subsd  %xmm1,%xmm0
mov    0x138(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x10(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
divsd  -0x78(%rbp),%xmm0
mov    0x140(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  0x348(%rip),%xmm0
divsd  -0x78(%rbp),%xmm0
mov    0x148(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x10(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
divsd  -0x78(%rbp),%xmm0
mov    0x150(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  0x2fd(%rip),%xmm0
divsd  -0x78(%rbp),%xmm0
mov    0x158(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    0x10(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
divsd  -0x78(%rbp),%xmm0
mov    0x160(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  0x2b2(%rip),%xmm0
divsd  -0x78(%rbp),%xmm0
mov    0x168(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x6c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x6c(%rbp)
jmp    1286 <TwophaseNavierStokes_ST_LS_SO_3D_Evaluate+0x156>
add    $0xb0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<TwophaseNavierStokes_ST_LS_SO_3D_Evaluate>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x78,%rsp
mov    %r8,0x70(%rsp)
mov    %rdx,0x68(%rsp)
mov    %rsi,0x60(%rsp)
movsd  %xmm6,0x58(%rsp)
movsd  %xmm5,0x50(%rsp)
movsd  %xmm4,0x48(%rsp)
movsd  %xmm3,0x40(%rsp)
movsd  %xmm2,0x38(%rsp)
movsd  %xmm1,0x28(%rsp)
movsd  %xmm0,0x20(%rsp)
test   %edi,%edi
jle    1741 <TwophaseNavierStokes_ST_LS_SO_3D_Evaluate+0x611>
mov    %edi,%eax
shl    $0x3,%rax
mov    %rax,0x30(%rsp)
mov    0xb8(%rsp),%r14
xor    %r12d,%r12d
xor    %ebx,%ebx
xor    %r15d,%r15d
mov    %rcx,0x10(%rsp)
jmp    132a <TwophaseNavierStokes_ST_LS_SO_3D_Evaluate+0x1fa>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movsd  %xmm6,0x8(%rsp)
call   1030 <sqrt@plt>
movsd  0x8(%rsp),%xmm6
movsd  0xe37(%rip),%xmm4
mov    0x10(%rsp),%rcx
movsd  0x18(%rsp),%xmm2
movapd %xmm4,%xmm1
subsd  %xmm2,%xmm1
mulsd  0x50(%rsp),%xmm2
mulsd  0x40(%rsp),%xmm1
addsd  %xmm2,%xmm1
mov    0x60(%rsp),%rdx
movsd  (%rdx),%xmm2
movapd 0xe23(%rip),%xmm5
xorpd  %xmm5,%xmm2
mulsd  0x38(%rsp),%xmm6
mov    0x70(%rsp),%rax
movsd  (%rax,%r12,1),%xmm3
mulsd  %xmm6,%xmm3
mulsd  (%rcx,%rbp,8),%xmm3
addsd  0xde5(%rip),%xmm0
mulsd  %xmm1,%xmm0
divsd  %xmm0,%xmm3
subsd  %xmm3,%xmm2
mov    0x1c8(%rsp),%rsi
movsd  %xmm2,(%rsi,%r12,1)
movsd  0x8(%rdx),%xmm2
xorpd  %xmm5,%xmm2
movsd  (%rax,%r12,1),%xmm3
mulsd  %xmm6,%xmm3
mulsd  (%rcx,%r13,8),%xmm3
divsd  %xmm0,%xmm3
subsd  %xmm3,%xmm2
mov    0x1d0(%rsp),%rsi
movsd  %xmm2,(%rsi,%r12,1)
movsd  0x10(%rdx),%xmm2
xorpd  %xmm5,%xmm2
mulsd  (%rax,%r12,1),%xmm6
mulsd  (%rcx,%rbx,8),%xmm6
divsd  %xmm0,%xmm6
subsd  %xmm6,%xmm2
mov    0x1d8(%rsp),%rax
movsd  %xmm2,(%rax,%r12,1)
mov    0xb0(%rsp),%rdx
movsd  (%rdx,%rbp,8),%xmm0
divsd  %xmm1,%xmm0
mov    0x1e0(%rsp),%rax
movsd  %xmm0,(%rax,%r12,1)
movapd %xmm4,%xmm0
divsd  %xmm1,%xmm0
mov    0x1e8(%rsp),%rax
movsd  %xmm0,(%rax,%rbp,8)
movsd  (%rdx,%r13,8),%xmm2
divsd  %xmm1,%xmm2
mov    0x1f0(%rsp),%rax
movsd  %xmm2,(%rax,%r12,1)
mov    0x1f8(%rsp),%rax
movsd  %xmm0,(%rax,%r13,8)
movsd  (%rdx,%rbx,8),%xmm2
divsd  %xmm1,%xmm2
mov    0x200(%rsp),%rax
movsd  %xmm2,(%rax,%r12,1)
mov    0x208(%rsp),%rax
movsd  %xmm0,(%rax,%rbx,8)
add    $0x9,%r15d
lea    0x3(%rbp),%ebx
add    $0x8,%r12
cmp    %r12,0x30(%rsp)
je     1741 <TwophaseNavierStokes_ST_LS_SO_3D_Evaluate+0x611>
mov    0x68(%rsp),%rbp
movsd  0x0(%rbp,%r12,1),%xmm1
movsd  0x20(%rsp),%xmm0
mov    $0x2,%al
call   1050 <smoothedHeaviside@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x18(%rsp)
movsd  0x0(%rbp,%r12,1),%xmm1
movsd  0x20(%rsp),%xmm0
mov    $0x2,%al
call   1040 <smoothedDirac@plt>
movsd  0x0(%rbp,%r12,1),%xmm1
movsd  0x28(%rsp),%xmm0
mov    $0x2,%al
call   1050 <smoothedHeaviside@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  0x0(%rbp,%r12,1),%xmm1
movsd  0x28(%rsp),%xmm0
mov    $0x2,%al
call   1040 <smoothedDirac@plt>
movsd  0xc5f(%rip),%xmm4
xorps  %xmm6,%xmm6
cvtsi2sd %eax,%xmm6
movapd %xmm4,%xmm0
movsd  0x8(%rsp),%xmm2
subsd  %xmm2,%xmm0
mulsd  0x58(%rsp),%xmm2
mulsd  0x48(%rsp),%xmm0
movsd  (%r14,%r12,1),%xmm1
mov    0xd0(%rsp),%rax
movsd  %xmm1,(%rax,%r12,1)
mov    0xd8(%rsp),%rax
movabs $0x3ff0000000000000,%rsi
mov    %rsi,(%rax,%r12,1)
mov    0xc0(%rsp),%rdx
movsd  (%rdx,%r12,1),%xmm1
mov    0xe0(%rsp),%rax
movsd  %xmm1,(%rax,%r12,1)
mov    0xe8(%rsp),%rax
mov    %rsi,(%rax,%r12,1)
mov    0xc8(%rsp),%rcx
movsd  (%rcx,%r12,1),%xmm1
mov    0xf0(%rsp),%rax
movsd  %xmm1,(%rax,%r12,1)
mov    0xf8(%rsp),%rax
mov    %rsi,(%rax,%r12,1)
movsd  (%r14,%r12,1),%xmm1
mov    %ebx,%ebp
mov    0x100(%rsp),%rax
movsd  %xmm1,(%rax,%rbp,8)
movsd  (%rdx,%r12,1),%xmm1
lea    0x1(%rbx),%r13d
movsd  %xmm1,(%rax,%r13,8)
movsd  (%rcx,%r12,1),%xmm1
add    $0x2,%ebx
movsd  %xmm1,(%rax,%rbx,8)
mov    0x108(%rsp),%rax
mov    %rsi,(%rax,%rbp,8)
mov    0x110(%rsp),%rax
mov    %rsi,(%rax,%r13,8)
mov    0x118(%rsp),%rax
mov    %rsi,(%rax,%rbx,8)
movsd  (%r14,%r12,1),%xmm1
mulsd  %xmm1,%xmm1
mov    0x120(%rsp),%rax
movsd  %xmm1,(%rax,%rbp,8)
movsd  (%r14,%r12,1),%xmm1
mulsd  (%rdx,%r12,1),%xmm1
movsd  %xmm1,(%rax,%r13,8)
movsd  (%r14,%r12,1),%xmm1
mulsd  (%rcx,%r12,1),%xmm1
addsd  %xmm2,%xmm0
movsd  %xmm1,(%rax,%rbx,8)
movsd  (%r14,%r12,1),%xmm1
addsd  %xmm1,%xmm1
mov    0x128(%rsp),%rax
movsd  %xmm1,(%rax,%rbp,8)
movsd  (%rdx,%r12,1),%xmm1
movsd  %xmm1,(%rax,%r13,8)
movsd  (%rcx,%r12,1),%xmm1
movsd  %xmm1,(%rax,%rbx,8)
movsd  (%r14,%r12,1),%xmm1
mov    0x130(%rsp),%rax
movsd  %xmm1,(%rax,%r13,8)
movsd  (%r14,%r12,1),%xmm1
mov    0x138(%rsp),%rax
movsd  %xmm1,(%rax,%rbx,8)
movsd  (%rdx,%r12,1),%xmm1
mulsd  (%r14,%r12,1),%xmm1
mov    0x140(%rsp),%rax
movsd  %xmm1,(%rax,%rbp,8)
movsd  (%rdx,%r12,1),%xmm1
mulsd  %xmm1,%xmm1
movsd  %xmm1,(%rax,%r13,8)
movsd  (%rdx,%r12,1),%xmm1
mulsd  (%rcx,%r12,1),%xmm1
movsd  %xmm1,(%rax,%rbx,8)
movsd  (%rdx,%r12,1),%xmm1
mov    0x148(%rsp),%rax
movsd  %xmm1,(%rax,%rbp,8)
movsd  (%rdx,%r12,1),%xmm1
mov    0x158(%rsp),%rax
movsd  %xmm1,(%rax,%rbx,8)
movsd  (%r14,%r12,1),%xmm1
mov    0x150(%rsp),%rax
movsd  %xmm1,(%rax,%rbp,8)
movsd  (%rdx,%r12,1),%xmm1
addsd  %xmm1,%xmm1
movsd  %xmm1,(%rax,%r13,8)
movsd  (%rcx,%r12,1),%xmm1
movsd  %xmm1,(%rax,%rbx,8)
movsd  (%rcx,%r12,1),%xmm1
mulsd  (%r14,%r12,1),%xmm1
mov    0x160(%rsp),%rax
movsd  %xmm1,(%rax,%rbp,8)
movsd  (%rcx,%r12,1),%xmm1
mulsd  (%rdx,%r12,1),%xmm1
movsd  %xmm1,(%rax,%r13,8)
movsd  (%rcx,%r12,1),%xmm1
mulsd  %xmm1,%xmm1
movsd  %xmm1,(%rax,%rbx,8)
movsd  (%rcx,%r12,1),%xmm1
mov    0x168(%rsp),%rax
movsd  %xmm1,(%rax,%rbp,8)
movsd  (%rcx,%r12,1),%xmm1
mov    0x170(%rsp),%rax
movsd  %xmm1,(%rax,%r13,8)
movsd  (%r14,%r12,1),%xmm1
mov    0x178(%rsp),%rax
movsd  %xmm1,(%rax,%rbp,8)
movsd  (%rdx,%r12,1),%xmm1
movsd  %xmm1,(%rax,%r13,8)
movsd  (%rcx,%r12,1),%xmm1
addsd  %xmm1,%xmm1
movsd  %xmm1,(%rax,%rbx,8)
movapd %xmm0,%xmm1
addsd  %xmm0,%xmm1
mov    %r15d,%eax
mov    0x180(%rsp),%rsi
movsd  %xmm1,(%rsi,%rax,8)
lea    0x4(%r15),%ecx
movsd  %xmm0,(%rsi,%rcx,8)
lea    0x8(%r15),%edx
movsd  %xmm0,(%rsi,%rdx,8)
lea    0x3(%r15),%esi
mov    0x198(%rsp),%rdi
movsd  %xmm0,(%rdi,%rsi,8)
lea    0x6(%r15),%esi
mov    0x1a0(%rsp),%rdi
movsd  %xmm0,(%rdi,%rsi,8)
mov    0x188(%rsp),%rsi
movsd  %xmm0,(%rsi,%rax,8)
movsd  %xmm1,(%rsi,%rcx,8)
movsd  %xmm0,(%rsi,%rdx,8)
lea    0x1(%r15),%esi
mov    0x1a8(%rsp),%rdi
movsd  %xmm0,(%rdi,%rsi,8)
lea    0x7(%r15),%esi
mov    0x1b0(%rsp),%rdi
movsd  %xmm0,(%rdi,%rsi,8)
mov    0x190(%rsp),%rsi
movsd  %xmm0,(%rsi,%rax,8)
movsd  %xmm0,(%rsi,%rcx,8)
mov    0x10(%rsp),%rcx
movsd  %xmm1,(%rsi,%rdx,8)
lea    0x2(%r15),%eax
mov    0x1b8(%rsp),%rdx
movsd  %xmm0,(%rdx,%rax,8)
lea    0x5(%r15),%eax
mov    0x1c0(%rsp),%rdx
movsd  %xmm0,(%rdx,%rax,8)
movsd  (%rcx,%rbp,8),%xmm1
movsd  (%rcx,%r13,8),%xmm0
mulsd  %xmm0,%xmm0
mulsd  %xmm1,%xmm1
addsd  %xmm0,%xmm1
movsd  (%rcx,%rbx,8),%xmm0
mulsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
ucomisd 0x8de(%rip),%xmm0
jb     11b0 <TwophaseNavierStokes_ST_LS_SO_3D_Evaluate+0x80>
sqrtsd %xmm0,%xmm0
jmp    11ce <TwophaseNavierStokes_ST_LS_SO_3D_Evaluate+0x9e>
add    $0x78,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define void @TwophaseNavierStokes_ST_LS_SO_3D_Evaluate(i32 %0, double %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) {
%58 = alloca i32
%59 = alloca double
%60 = alloca double
%61 = alloca double
%62 = alloca double
%63 = alloca double
%64 = alloca double
%65 = alloca double
%66 = alloca double*
%67 = alloca double*
%68 = alloca double*
%69 = alloca double*
%70 = alloca double*
%71 = alloca double*
%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 i32
%116 = alloca double
%117 = alloca double
%118 = alloca double
%119 = alloca double
%120 = alloca double
%121 = alloca double
%122 = alloca double
%123 = alloca double
store i32 %0, i32* %58
store double %1, double* %59
store double %2, double* %60
store double %3, double* %61
store double %4, double* %62
store double %5, double* %63
store double %6, double* %64
store double %7, double* %65
store double* %8, double** %66
store double* %9, double** %67
store double* %10, double** %68
store double* %11, double** %69
store double* %12, double** %70
store double* %13, double** %71
store double* %14, double** %72
store double* %15, double** %73
store double* %16, double** %74
store double* %17, double** %75
store double* %18, double** %76
store double* %19, double** %77
store double* %20, double** %78
store double* %21, double** %79
store double* %22, double** %80
store double* %23, double** %81
store double* %24, double** %82
store double* %25, double** %83
store double* %26, double** %84
store double* %27, double** %85
store double* %28, double** %86
store double* %29, double** %87
store double* %30, double** %88
store double* %31, double** %89
store double* %32, double** %90
store double* %33, double** %91
store double* %34, double** %92
store double* %35, double** %93
store double* %36, double** %94
store double* %37, double** %95
store double* %38, double** %96
store double* %39, double** %97
store double* %40, double** %98
store double* %41, double** %99
store double* %42, double** %100
store double* %43, double** %101
store double* %44, double** %102
store double* %45, double** %103
store double* %46, double** %104
store double* %47, double** %105
store double* %48, double** %106
store double* %49, double** %107
store double* %50, double** %108
store double* %51, double** %109
store double* %52, double** %110
store double* %53, double** %111
store double* %54, double** %112
store double* %55, double** %113
store double* %56, double** %114
store i32 0, i32* %115
br label %124
124: ; preds = %907, %57
%125 = load i32, i32* %115
%126 = load i32, i32* %58
%127 = icmp slt i32 %125, %126
br i1 %127, label %128, label %910
128: ; preds = %124
%129 = load double, double* %59
%130 = load double*, double** %67
%131 = load i32, i32* %115
%132 = sext i32 %131 to i64
%133 = getelementptr inbounds double, double* %130, i64 %132
%134 = load double, double* %133
%135 = call i32 (double, double, ...) bitcast (i32 (...)* @smoothedHeaviside to i32 (double, double, ...)*)(double %129, double %134)
%136 = sitofp i32 %135 to double
store double %136, double* %119
%137 = load double, double* %59
%138 = load double*, double** %67
%139 = load i32, i32* %115
%140 = sext i32 %139 to i64
%141 = getelementptr inbounds double, double* %138, i64 %140
%142 = load double, double* %141
%143 = call i32 (double, double, ...) bitcast (i32 (...)* @smoothedDirac to i32 (double, double, ...)*)(double %137, double %142)
%144 = sitofp i32 %143 to double
store double %144, double* %120
%145 = load double, double* %60
%146 = load double*, double** %67
%147 = load i32, i32* %115
%148 = sext i32 %147 to i64
%149 = getelementptr inbounds double, double* %146, i64 %148
%150 = load double, double* %149
%151 = call i32 (double, double, ...) bitcast (i32 (...)* @smoothedHeaviside to i32 (double, double, ...)*)(double %145, double %150)
%152 = sitofp i32 %151 to double
store double %152, double* %121
%153 = load double, double* %60
%154 = load double*, double** %67
%155 = load i32, i32* %115
%156 = sext i32 %155 to i64
%157 = getelementptr inbounds double, double* %154, i64 %156
%158 = load double, double* %157
%159 = call i32 (double, double, ...) bitcast (i32 (...)* @smoothedDirac to i32 (double, double, ...)*)(double %153, double %158)
%160 = sitofp i32 %159 to double
store double %160, double* %122
%161 = load double, double* %62
%162 = load double, double* %119
%163 = fsub double 1.000000e+00, %162
%164 = load double, double* %64
%165 = load double, double* %119
%166 = fmul double %164, %165
%167 = call double @llvm.fmuladd.f64(double %161, double %163, double %166)
store double %167, double* %116
%168 = load double, double* %63
%169 = load double, double* %121
%170 = fsub double 1.000000e+00, %169
%171 = load double, double* %65
%172 = load double, double* %121
%173 = fmul double %171, %172
%174 = call double @llvm.fmuladd.f64(double %168, double %170, double %173)
store double %174, double* %117
%175 = load double, double* %62
%176 = load double, double* %63
%177 = fmul double %175, %176
%178 = load double, double* %121
%179 = fsub double 1.000000e+00, %178
%180 = load double, double* %64
%181 = load double, double* %65
%182 = fmul double %180, %181
%183 = load double, double* %121
%184 = fmul double %182, %183
%185 = call double @llvm.fmuladd.f64(double %177, double %179, double %184)
store double %185, double* %118
%186 = load double*, double** %72
%187 = load i32, i32* %115
%188 = sext i32 %187 to i64
%189 = getelementptr inbounds double, double* %186, i64 %188
%190 = load double, double* %189
%191 = load double*, double** %75
%192 = load i32, i32* %115
%193 = sext i32 %192 to i64
%194 = getelementptr inbounds double, double* %191, i64 %193
store double %190, double* %194
%195 = load double*, double** %76
%196 = load i32, i32* %115
%197 = sext i32 %196 to i64
%198 = getelementptr inbounds double, double* %195, i64 %197
store double 1.000000e+00, double* %198
%199 = load double*, double** %73
%200 = load i32, i32* %115
%201 = sext i32 %200 to i64
%202 = getelementptr inbounds double, double* %199, i64 %201
%203 = load double, double* %202
%204 = load double*, double** %77
%205 = load i32, i32* %115
%206 = sext i32 %205 to i64
%207 = getelementptr inbounds double, double* %204, i64 %206
store double %203, double* %207
%208 = load double*, double** %78
%209 = load i32, i32* %115
%210 = sext i32 %209 to i64
%211 = getelementptr inbounds double, double* %208, i64 %210
store double 1.000000e+00, double* %211
%212 = load double*, double** %74
%213 = load i32, i32* %115
%214 = sext i32 %213 to i64
%215 = getelementptr inbounds double, double* %212, i64 %214
%216 = load double, double* %215
%217 = load double*, double** %79
%218 = load i32, i32* %115
%219 = sext i32 %218 to i64
%220 = getelementptr inbounds double, double* %217, i64 %219
store double %216, double* %220
%221 = load double*, double** %80
%222 = load i32, i32* %115
%223 = sext i32 %222 to i64
%224 = getelementptr inbounds double, double* %221, i64 %223
store double 1.000000e+00, double* %224
%225 = load double*, double** %72
%226 = load i32, i32* %115
%227 = sext i32 %226 to i64
%228 = getelementptr inbounds double, double* %225, i64 %227
%229 = load double, double* %228
%230 = load double*, double** %81
%231 = load i32, i32* %115
%232 = mul nsw i32 %231, 3
%233 = add nsw i32 %232, 0
%234 = sext i32 %233 to i64
%235 = getelementptr inbounds double, double* %230, i64 %234
store double %229, double* %235
%236 = load double*, double** %73
%237 = load i32, i32* %115
%238 = sext i32 %237 to i64
%239 = getelementptr inbounds double, double* %236, i64 %238
%240 = load double, double* %239
%241 = load double*, double** %81
%242 = load i32, i32* %115
%243 = mul nsw i32 %242, 3
%244 = add nsw i32 %243, 1
%245 = sext i32 %244 to i64
%246 = getelementptr inbounds double, double* %241, i64 %245
store double %240, double* %246
%247 = load double*, double** %74
%248 = load i32, i32* %115
%249 = sext i32 %248 to i64
%250 = getelementptr inbounds double, double* %247, i64 %249
%251 = load double, double* %250
%252 = load double*, double** %81
%253 = load i32, i32* %115
%254 = mul nsw i32 %253, 3
%255 = add nsw i32 %254, 2
%256 = sext i32 %255 to i64
%257 = getelementptr inbounds double, double* %252, i64 %256
store double %251, double* %257
%258 = load double*, double** %82
%259 = load i32, i32* %115
%260 = mul nsw i32 %259, 3
%261 = add nsw i32 %260, 0
%262 = sext i32 %261 to i64
%263 = getelementptr inbounds double, double* %258, i64 %262
store double 1.000000e+00, double* %263
%264 = load double*, double** %83
%265 = load i32, i32* %115
%266 = mul nsw i32 %265, 3
%267 = add nsw i32 %266, 1
%268 = sext i32 %267 to i64
%269 = getelementptr inbounds double, double* %264, i64 %268
store double 1.000000e+00, double* %269
%270 = load double*, double** %84
%271 = load i32, i32* %115
%272 = mul nsw i32 %271, 3
%273 = add nsw i32 %272, 2
%274 = sext i32 %273 to i64
%275 = getelementptr inbounds double, double* %270, i64 %274
store double 1.000000e+00, double* %275
%276 = load double*, double** %72
%277 = load i32, i32* %115
%278 = sext i32 %277 to i64
%279 = getelementptr inbounds double, double* %276, i64 %278
%280 = load double, double* %279
%281 = load double*, double** %72
%282 = load i32, i32* %115
%283 = sext i32 %282 to i64
%284 = getelementptr inbounds double, double* %281, i64 %283
%285 = load double, double* %284
%286 = fmul double %280, %285
%287 = load double*, double** %85
%288 = load i32, i32* %115
%289 = mul nsw i32 %288, 3
%290 = add nsw i32 %289, 0
%291 = sext i32 %290 to i64
%292 = getelementptr inbounds double, double* %287, i64 %291
store double %286, double* %292
%293 = load double*, double** %72
%294 = load i32, i32* %115
%295 = sext i32 %294 to i64
%296 = getelementptr inbounds double, double* %293, i64 %295
%297 = load double, double* %296
%298 = load double*, double** %73
%299 = load i32, i32* %115
%300 = sext i32 %299 to i64
%301 = getelementptr inbounds double, double* %298, i64 %300
%302 = load double, double* %301
%303 = fmul double %297, %302
%304 = load double*, double** %85
%305 = load i32, i32* %115
%306 = mul nsw i32 %305, 3
%307 = add nsw i32 %306, 1
%308 = sext i32 %307 to i64
%309 = getelementptr inbounds double, double* %304, i64 %308
store double %303, double* %309
%310 = load double*, double** %72
%311 = load i32, i32* %115
%312 = sext i32 %311 to i64
%313 = getelementptr inbounds double, double* %310, i64 %312
%314 = load double, double* %313
%315 = load double*, double** %74
%316 = load i32, i32* %115
%317 = sext i32 %316 to i64
%318 = getelementptr inbounds double, double* %315, i64 %317
%319 = load double, double* %318
%320 = fmul double %314, %319
%321 = load double*, double** %85
%322 = load i32, i32* %115
%323 = mul nsw i32 %322, 3
%324 = add nsw i32 %323, 2
%325 = sext i32 %324 to i64
%326 = getelementptr inbounds double, double* %321, i64 %325
store double %320, double* %326
%327 = load double*, double** %72
%328 = load i32, i32* %115
%329 = sext i32 %328 to i64
%330 = getelementptr inbounds double, double* %327, i64 %329
%331 = load double, double* %330
%332 = fmul double 2.000000e+00, %331
%333 = load double*, double** %86
%334 = load i32, i32* %115
%335 = mul nsw i32 %334, 3
%336 = add nsw i32 %335, 0
%337 = sext i32 %336 to i64
%338 = getelementptr inbounds double, double* %333, i64 %337
store double %332, double* %338
%339 = load double*, double** %73
%340 = load i32, i32* %115
%341 = sext i32 %340 to i64
%342 = getelementptr inbounds double, double* %339, i64 %341
%343 = load double, double* %342
%344 = load double*, double** %86
%345 = load i32, i32* %115
%346 = mul nsw i32 %345, 3
%347 = add nsw i32 %346, 1
%348 = sext i32 %347 to i64
%349 = getelementptr inbounds double, double* %344, i64 %348
store double %343, double* %349
%350 = load double*, double** %74
%351 = load i32, i32* %115
%352 = sext i32 %351 to i64
%353 = getelementptr inbounds double, double* %350, i64 %352
%354 = load double, double* %353
%355 = load double*, double** %86
%356 = load i32, i32* %115
%357 = mul nsw i32 %356, 3
%358 = add nsw i32 %357, 2
%359 = sext i32 %358 to i64
%360 = getelementptr inbounds double, double* %355, i64 %359
store double %354, double* %360
%361 = load double*, double** %72
%362 = load i32, i32* %115
%363 = sext i32 %362 to i64
%364 = getelementptr inbounds double, double* %361, i64 %363
%365 = load double, double* %364
%366 = load double*, double** %87
%367 = load i32, i32* %115
%368 = mul nsw i32 %367, 3
%369 = add nsw i32 %368, 1
%370 = sext i32 %369 to i64
%371 = getelementptr inbounds double, double* %366, i64 %370
store double %365, double* %371
%372 = load double*, double** %72
%373 = load i32, i32* %115
%374 = sext i32 %373 to i64
%375 = getelementptr inbounds double, double* %372, i64 %374
%376 = load double, double* %375
%377 = load double*, double** %88
%378 = load i32, i32* %115
%379 = mul nsw i32 %378, 3
%380 = add nsw i32 %379, 2
%381 = sext i32 %380 to i64
%382 = getelementptr inbounds double, double* %377, i64 %381
store double %376, double* %382
%383 = load double*, double** %73
%384 = load i32, i32* %115
%385 = sext i32 %384 to i64
%386 = getelementptr inbounds double, double* %383, i64 %385
%387 = load double, double* %386
%388 = load double*, double** %72
%389 = load i32, i32* %115
%390 = sext i32 %389 to i64
%391 = getelementptr inbounds double, double* %388, i64 %390
%392 = load double, double* %391
%393 = fmul double %387, %392
%394 = load double*, double** %89
%395 = load i32, i32* %115
%396 = mul nsw i32 %395, 3
%397 = add nsw i32 %396, 0
%398 = sext i32 %397 to i64
%399 = getelementptr inbounds double, double* %394, i64 %398
store double %393, double* %399
%400 = load double*, double** %73
%401 = load i32, i32* %115
%402 = sext i32 %401 to i64
%403 = getelementptr inbounds double, double* %400, i64 %402
%404 = load double, double* %403
%405 = load double*, double** %73
%406 = load i32, i32* %115
%407 = sext i32 %406 to i64
%408 = getelementptr inbounds double, double* %405, i64 %407
%409 = load double, double* %408
%410 = fmul double %404, %409
%411 = load double*, double** %89
%412 = load i32, i32* %115
%413 = mul nsw i32 %412, 3
%414 = add nsw i32 %413, 1
%415 = sext i32 %414 to i64
%416 = getelementptr inbounds double, double* %411, i64 %415
store double %410, double* %416
%417 = load double*, double** %73
%418 = load i32, i32* %115
%419 = sext i32 %418 to i64
%420 = getelementptr inbounds double, double* %417, i64 %419
%421 = load double, double* %420
%422 = load double*, double** %74
%423 = load i32, i32* %115
%424 = sext i32 %423 to i64
%425 = getelementptr inbounds double, double* %422, i64 %424
%426 = load double, double* %425
%427 = fmul double %421, %426
%428 = load double*, double** %89
%429 = load i32, i32* %115
%430 = mul nsw i32 %429, 3
%431 = add nsw i32 %430, 2
%432 = sext i32 %431 to i64
%433 = getelementptr inbounds double, double* %428, i64 %432
store double %427, double* %433
%434 = load double*, double** %73
%435 = load i32, i32* %115
%436 = sext i32 %435 to i64
%437 = getelementptr inbounds double, double* %434, i64 %436
%438 = load double, double* %437
%439 = load double*, double** %90
%440 = load i32, i32* %115
%441 = mul nsw i32 %440, 3
%442 = add nsw i32 %441, 0
%443 = sext i32 %442 to i64
%444 = getelementptr inbounds double, double* %439, i64 %443
store double %438, double* %444
%445 = load double*, double** %73
%446 = load i32, i32* %115
%447 = sext i32 %446 to i64
%448 = getelementptr inbounds double, double* %445, i64 %447
%449 = load double, double* %448
%450 = load double*, double** %92
%451 = load i32, i32* %115
%452 = mul nsw i32 %451, 3
%453 = add nsw i32 %452, 2
%454 = sext i32 %453 to i64
%455 = getelementptr inbounds double, double* %450, i64 %454
store double %449, double* %455
%456 = load double*, double** %72
%457 = load i32, i32* %115
%458 = sext i32 %457 to i64
%459 = getelementptr inbounds double, double* %456, i64 %458
%460 = load double, double* %459
%461 = load double*, double** %91
%462 = load i32, i32* %115
%463 = mul nsw i32 %462, 3
%464 = add nsw i32 %463, 0
%465 = sext i32 %464 to i64
%466 = getelementptr inbounds double, double* %461, i64 %465
store double %460, double* %466
%467 = load double*, double** %73
%468 = load i32, i32* %115
%469 = sext i32 %468 to i64
%470 = getelementptr inbounds double, double* %467, i64 %469
%471 = load double, double* %470
%472 = fmul double 2.000000e+00, %471
%473 = load double*, double** %91
%474 = load i32, i32* %115
%475 = mul nsw i32 %474, 3
%476 = add nsw i32 %475, 1
%477 = sext i32 %476 to i64
%478 = getelementptr inbounds double, double* %473, i64 %477
store double %472, double* %478
%479 = load double*, double** %74
%480 = load i32, i32* %115
%481 = sext i32 %480 to i64
%482 = getelementptr inbounds double, double* %479, i64 %481
%483 = load double, double* %482
%484 = load double*, double** %91
%485 = load i32, i32* %115
%486 = mul nsw i32 %485, 3
%487 = add nsw i32 %486, 2
%488 = sext i32 %487 to i64
%489 = getelementptr inbounds double, double* %484, i64 %488
store double %483, double* %489
%490 = load double*, double** %74
%491 = load i32, i32* %115
%492 = sext i32 %491 to i64
%493 = getelementptr inbounds double, double* %490, i64 %492
%494 = load double, double* %493
%495 = load double*, double** %72
%496 = load i32, i32* %115
%497 = sext i32 %496 to i64
%498 = getelementptr inbounds double, double* %495, i64 %497
%499 = load double, double* %498
%500 = fmul double %494, %499
%501 = load double*, double** %93
%502 = load i32, i32* %115
%503 = mul nsw i32 %502, 3
%504 = add nsw i32 %503, 0
%505 = sext i32 %504 to i64
%506 = getelementptr inbounds double, double* %501, i64 %505
store double %500, double* %506
%507 = load double*, double** %74
%508 = load i32, i32* %115
%509 = sext i32 %508 to i64
%510 = getelementptr inbounds double, double* %507, i64 %509
%511 = load double, double* %510
%512 = load double*, double** %73
%513 = load i32, i32* %115
%514 = sext i32 %513 to i64
%515 = getelementptr inbounds double, double* %512, i64 %514
%516 = load double, double* %515
%517 = fmul double %511, %516
%518 = load double*, double** %93
%519 = load i32, i32* %115
%520 = mul nsw i32 %519, 3
%521 = add nsw i32 %520, 1
%522 = sext i32 %521 to i64
%523 = getelementptr inbounds double, double* %518, i64 %522
store double %517, double* %523
%524 = load double*, double** %74
%525 = load i32, i32* %115
%526 = sext i32 %525 to i64
%527 = getelementptr inbounds double, double* %524, i64 %526
%528 = load double, double* %527
%529 = load double*, double** %74
%530 = load i32, i32* %115
%531 = sext i32 %530 to i64
%532 = getelementptr inbounds double, double* %529, i64 %531
%533 = load double, double* %532
%534 = fmul double %528, %533
%535 = load double*, double** %93
%536 = load i32, i32* %115
%537 = mul nsw i32 %536, 3
%538 = add nsw i32 %537, 2
%539 = sext i32 %538 to i64
%540 = getelementptr inbounds double, double* %535, i64 %539
store double %534, double* %540
%541 = load double*, double** %74
%542 = load i32, i32* %115
%543 = sext i32 %542 to i64
%544 = getelementptr inbounds double, double* %541, i64 %543
%545 = load double, double* %544
%546 = load double*, double** %94
%547 = load i32, i32* %115
%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** %74
%553 = load i32, i32* %115
%554 = sext i32 %553 to i64
%555 = getelementptr inbounds double, double* %552, i64 %554
%556 = load double, double* %555
%557 = load double*, double** %95
%558 = load i32, i32* %115
%559 = mul nsw i32 %558, 3
%560 = add nsw i32 %559, 1
%561 = sext i32 %560 to i64
%562 = getelementptr inbounds double, double* %557, i64 %561
store double %556, double* %562
%563 = load double*, double** %72
%564 = load i32, i32* %115
%565 = sext i32 %564 to i64
%566 = getelementptr inbounds double, double* %563, i64 %565
%567 = load double, double* %566
%568 = load double*, double** %96
%569 = load i32, i32* %115
%570 = mul nsw i32 %569, 3
%571 = add nsw i32 %570, 0
%572 = sext i32 %571 to i64
%573 = getelementptr inbounds double, double* %568, i64 %572
store double %567, double* %573
%574 = load double*, double** %73
%575 = load i32, i32* %115
%576 = sext i32 %575 to i64
%577 = getelementptr inbounds double, double* %574, i64 %576
%578 = load double, double* %577
%579 = load double*, double** %96
%580 = load i32, i32* %115
%581 = mul nsw i32 %580, 3
%582 = add nsw i32 %581, 1
%583 = sext i32 %582 to i64
%584 = getelementptr inbounds double, double* %579, i64 %583
store double %578, double* %584
%585 = load double*, double** %74
%586 = load i32, i32* %115
%587 = sext i32 %586 to i64
%588 = getelementptr inbounds double, double* %585, i64 %587
%589 = load double, double* %588
%590 = fmul double 2.000000e+00, %589
%591 = load double*, double** %96
%592 = load i32, i32* %115
%593 = mul nsw i32 %592, 3
%594 = add nsw i32 %593, 2
%595 = sext i32 %594 to i64
%596 = getelementptr inbounds double, double* %591, i64 %595
store double %590, double* %596
%597 = load double, double* %117
%598 = fmul double 2.000000e+00, %597
%599 = load double*, double** %97
%600 = load i32, i32* %115
%601 = mul nsw i32 %600, 9
%602 = add nsw i32 %601, 0
%603 = sext i32 %602 to i64
%604 = getelementptr inbounds double, double* %599, i64 %603
store double %598, double* %604
%605 = load double, double* %117
%606 = load double*, double** %97
%607 = load i32, i32* %115
%608 = mul nsw i32 %607, 9
%609 = add nsw i32 %608, 4
%610 = sext i32 %609 to i64
%611 = getelementptr inbounds double, double* %606, i64 %610
store double %605, double* %611
%612 = load double, double* %117
%613 = load double*, double** %97
%614 = load i32, i32* %115
%615 = mul nsw i32 %614, 9
%616 = add nsw i32 %615, 8
%617 = sext i32 %616 to i64
%618 = getelementptr inbounds double, double* %613, i64 %617
store double %612, double* %618
%619 = load double, double* %117
%620 = load double*, double** %100
%621 = load i32, i32* %115
%622 = mul nsw i32 %621, 9
%623 = add nsw i32 %622, 3
%624 = sext i32 %623 to i64
%625 = getelementptr inbounds double, double* %620, i64 %624
store double %619, double* %625
%626 = load double, double* %117
%627 = load double*, double** %101
%628 = load i32, i32* %115
%629 = mul nsw i32 %628, 9
%630 = add nsw i32 %629, 6
%631 = sext i32 %630 to i64
%632 = getelementptr inbounds double, double* %627, i64 %631
store double %626, double* %632
%633 = load double, double* %117
%634 = load double*, double** %98
%635 = load i32, i32* %115
%636 = mul nsw i32 %635, 9
%637 = add nsw i32 %636, 0
%638 = sext i32 %637 to i64
%639 = getelementptr inbounds double, double* %634, i64 %638
store double %633, double* %639
%640 = load double, double* %117
%641 = fmul double 2.000000e+00, %640
%642 = load double*, double** %98
%643 = load i32, i32* %115
%644 = mul nsw i32 %643, 9
%645 = add nsw i32 %644, 4
%646 = sext i32 %645 to i64
%647 = getelementptr inbounds double, double* %642, i64 %646
store double %641, double* %647
%648 = load double, double* %117
%649 = load double*, double** %98
%650 = load i32, i32* %115
%651 = mul nsw i32 %650, 9
%652 = add nsw i32 %651, 8
%653 = sext i32 %652 to i64
%654 = getelementptr inbounds double, double* %649, i64 %653
store double %648, double* %654
%655 = load double, double* %117
%656 = load double*, double** %102
%657 = load i32, i32* %115
%658 = mul nsw i32 %657, 9
%659 = add nsw i32 %658, 1
%660 = sext i32 %659 to i64
%661 = getelementptr inbounds double, double* %656, i64 %660
store double %655, double* %661
%662 = load double, double* %117
%663 = load double*, double** %103
%664 = load i32, i32* %115
%665 = mul nsw i32 %664, 9
%666 = add nsw i32 %665, 7
%667 = sext i32 %666 to i64
%668 = getelementptr inbounds double, double* %663, i64 %667
store double %662, double* %668
%669 = load double, double* %117
%670 = load double*, double** %99
%671 = load i32, i32* %115
%672 = mul nsw i32 %671, 9
%673 = add nsw i32 %672, 0
%674 = sext i32 %673 to i64
%675 = getelementptr inbounds double, double* %670, i64 %674
store double %669, double* %675
%676 = load double, double* %117
%677 = load double*, double** %99
%678 = load i32, i32* %115
%679 = mul nsw i32 %678, 9
%680 = add nsw i32 %679, 4
%681 = sext i32 %680 to i64
%682 = getelementptr inbounds double, double* %677, i64 %681
store double %676, double* %682
%683 = load double, double* %117
%684 = fmul double 2.000000e+00, %683
%685 = load double*, double** %99
%686 = load i32, i32* %115
%687 = mul nsw i32 %686, 9
%688 = add nsw i32 %687, 8
%689 = sext i32 %688 to i64
%690 = getelementptr inbounds double, double* %685, i64 %689
store double %684, double* %690
%691 = load double, double* %117
%692 = load double*, double** %104
%693 = load i32, i32* %115
%694 = mul nsw i32 %693, 9
%695 = add nsw i32 %694, 2
%696 = sext i32 %695 to i64
%697 = getelementptr inbounds double, double* %692, i64 %696
store double %691, double* %697
%698 = load double, double* %117
%699 = load double*, double** %105
%700 = load i32, i32* %115
%701 = mul nsw i32 %700, 9
%702 = add nsw i32 %701, 5
%703 = sext i32 %702 to i64
%704 = getelementptr inbounds double, double* %699, i64 %703
store double %698, double* %704
%705 = load double*, double** %68
%706 = load i32, i32* %115
%707 = mul nsw i32 %706, 3
%708 = add nsw i32 %707, 0
%709 = sext i32 %708 to i64
%710 = getelementptr inbounds double, double* %705, i64 %709
%711 = load double, double* %710
%712 = load double*, double** %68
%713 = load i32, i32* %115
%714 = mul nsw i32 %713, 3
%715 = add nsw i32 %714, 0
%716 = sext i32 %715 to i64
%717 = getelementptr inbounds double, double* %712, i64 %716
%718 = load double, double* %717
%719 = load double*, double** %68
%720 = load i32, i32* %115
%721 = mul nsw i32 %720, 3
%722 = add nsw i32 %721, 1
%723 = sext i32 %722 to i64
%724 = getelementptr inbounds double, double* %719, i64 %723
%725 = load double, double* %724
%726 = load double*, double** %68
%727 = load i32, i32* %115
%728 = mul nsw i32 %727, 3
%729 = add nsw i32 %728, 1
%730 = sext i32 %729 to i64
%731 = getelementptr inbounds double, double* %726, i64 %730
%732 = load double, double* %731
%733 = fmul double %725, %732
%734 = call double @llvm.fmuladd.f64(double %711, double %718, double %733)
%735 = load double*, double** %68
%736 = load i32, i32* %115
%737 = mul nsw i32 %736, 3
%738 = add nsw i32 %737, 2
%739 = sext i32 %738 to i64
%740 = getelementptr inbounds double, double* %735, i64 %739
%741 = load double, double* %740
%742 = load double*, double** %68
%743 = load i32, i32* %115
%744 = mul nsw i32 %743, 3
%745 = add nsw i32 %744, 2
%746 = sext i32 %745 to i64
%747 = getelementptr inbounds double, double* %742, i64 %746
%748 = load double, double* %747
%749 = call double @llvm.fmuladd.f64(double %741, double %748, double %734)
%750 = call double @sqrt(double %749)
store double %750, double* %123
%751 = load double*, double** %66
%752 = getelementptr inbounds double, double* %751, i64 0
%753 = load double, double* %752
%754 = fneg double %753
%755 = load double, double* %122
%756 = load double, double* %61
%757 = fmul double %755, %756
%758 = load double*, double** %69
%759 = load i32, i32* %115
%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** %68
%765 = load i32, i32* %115
%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
%770 = load double, double* %769
%771 = fmul double %763, %770
%772 = load double, double* %116
%773 = load double, double* %123
%774 = fadd double %773, 1.000000e-08
%775 = fmul double %772, %774
%776 = fdiv double %771, %775
%777 = fsub double %754, %776
%778 = load double*, double** %106
%779 = load i32, i32* %115
%780 = sext i32 %779 to i64
%781 = getelementptr inbounds double, double* %778, i64 %780
store double %777, double* %781
%782 = load double*, double** %66
%783 = getelementptr inbounds double, double* %782, i64 1
%784 = load double, double* %783
%785 = fneg double %784
%786 = load double, double* %122
%787 = load double, double* %61
%788 = fmul double %786, %787
%789 = load double*, double** %69
%790 = load i32, i32* %115
%791 = sext i32 %790 to i64
%792 = getelementptr inbounds double, double* %789, i64 %791
%793 = load double, double* %792
%794 = fmul double %788, %793
%795 = load double*, double** %68
%796 = load i32, i32* %115
%797 = mul nsw i32 %796, 3
%798 = add nsw i32 %797, 1
%799 = sext i32 %798 to i64
%800 = getelementptr inbounds double, double* %795, i64 %799
%801 = load double, double* %800
%802 = fmul double %794, %801
%803 = load double, double* %116
%804 = load double, double* %123
%805 = fadd double %804, 1.000000e-08
%806 = fmul double %803, %805
%807 = fdiv double %802, %806
%808 = fsub double %785, %807
%809 = load double*, double** %107
%810 = load i32, i32* %115
%811 = sext i32 %810 to i64
%812 = getelementptr inbounds double, double* %809, i64 %811
store double %808, double* %812
%813 = load double*, double** %66
%814 = getelementptr inbounds double, double* %813, i64 2
%815 = load double, double* %814
%816 = fneg double %815
%817 = load double, double* %122
%818 = load double, double* %61
%819 = fmul double %817, %818
%820 = load double*, double** %69
%821 = load i32, i32* %115
%822 = sext i32 %821 to i64
%823 = getelementptr inbounds double, double* %820, i64 %822
%824 = load double, double* %823
%825 = fmul double %819, %824
%826 = load double*, double** %68
%827 = load i32, i32* %115
%828 = mul nsw i32 %827, 3
%829 = add nsw i32 %828, 2
%830 = sext i32 %829 to i64
%831 = getelementptr inbounds double, double* %826, i64 %830
%832 = load double, double* %831
%833 = fmul double %825, %832
%834 = load double, double* %116
%835 = load double, double* %123
%836 = fadd double %835, 1.000000e-08
%837 = fmul double %834, %836
%838 = fdiv double %833, %837
%839 = fsub double %816, %838
%840 = load double*, double** %108
%841 = load i32, i32* %115
%842 = sext i32 %841 to i64
%843 = getelementptr inbounds double, double* %840, i64 %842
store double %839, double* %843
%844 = load double*, double** %71
%845 = load i32, i32* %115
%846 = mul nsw i32 %845, 3
%847 = add nsw i32 %846, 0
%848 = sext i32 %847 to i64
%849 = getelementptr inbounds double, double* %844, i64 %848
%850 = load double, double* %849
%851 = load double, double* %116
%852 = fdiv double %850, %851
%853 = load double*, double** %109
%854 = load i32, i32* %115
%855 = sext i32 %854 to i64
%856 = getelementptr inbounds double, double* %853, i64 %855
store double %852, double* %856
%857 = load double, double* %116
%858 = fdiv double 1.000000e+00, %857
%859 = load double*, double** %110
%860 = load i32, i32* %115
%861 = mul nsw i32 %860, 3
%862 = add nsw i32 %861, 0
%863 = sext i32 %862 to i64
%864 = getelementptr inbounds double, double* %859, i64 %863
store double %858, double* %864
%865 = load double*, double** %71
%866 = load i32, i32* %115
%867 = mul nsw i32 %866, 3
%868 = add nsw i32 %867, 1
%869 = sext i32 %868 to i64
%870 = getelementptr inbounds double, double* %865, i64 %869
%871 = load double, double* %870
%872 = load double, double* %116
%873 = fdiv double %871, %872
%874 = load double*, double** %111
%875 = load i32, i32* %115
%876 = sext i32 %875 to i64
%877 = getelementptr inbounds double, double* %874, i64 %876
store double %873, double* %877
%878 = load double, double* %116
%879 = fdiv double 1.000000e+00, %878
%880 = load double*, double** %112
%881 = load i32, i32* %115
%882 = mul nsw i32 %881, 3
%883 = add nsw i32 %882, 1
%884 = sext i32 %883 to i64
%885 = getelementptr inbounds double, double* %880, i64 %884
store double %879, double* %885
%886 = load double*, double** %71
%887 = load i32, i32* %115
%888 = mul nsw i32 %887, 3
%889 = add nsw i32 %888, 2
%890 = sext i32 %889 to i64
%891 = getelementptr inbounds double, double* %886, i64 %890
%892 = load double, double* %891
%893 = load double, double* %116
%894 = fdiv double %892, %893
%895 = load double*, double** %113
%896 = load i32, i32* %115
%897 = sext i32 %896 to i64
%898 = getelementptr inbounds double, double* %895, i64 %897
store double %894, double* %898
%899 = load double, double* %116
%900 = fdiv double 1.000000e+00, %899
%901 = load double*, double** %114
%902 = load i32, i32* %115
%903 = mul nsw i32 %902, 3
%904 = add nsw i32 %903, 2
%905 = sext i32 %904 to i64
%906 = getelementptr inbounds double, double* %901, i64 %905
store double %900, double* %906
br label %907
907: ; preds = %128
%908 = load i32, i32* %115
%909 = add nsw i32 %908, 1
store i32 %909, i32* %115
br label %124
910: ; preds = %124
ret void
}

LLVM IR (-O2):
define void @TwophaseNavierStokes_ST_LS_SO_3D_Evaluate(i32 %0, double %1, double %2, double %3, double %4, double %5, double %6, double %7, double* nocapture %8, double* nocapture %9, double* nocapture %10, double* nocapture %11, double* nocapture readnone %12, double* nocapture %13, double* nocapture %14, double* nocapture %15, double* nocapture %16, double* nocapture writeonly %17, double* nocapture writeonly %18, double* nocapture writeonly %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) {
%58 = icmp sgt i32 %0, 0
br i1 %58, label %59, label %270
59: ; preds = %57
%60 = getelementptr inbounds double, double* %8, i64 1
%61 = getelementptr inbounds double, double* %8, i64 2
%62 = zext i32 %0 to i64
br label %63
63: ; preds = %59, %63
%64 = phi i64 [ 0, %59 ], [ %268, %63 ]
%65 = getelementptr inbounds double, double* %9, i64 %64
%66 = load double, double* %65
%67 = tail call i32 (double, double, ...) bitcast (i32 (...)* @smoothedHeaviside to i32 (double, double, ...)*)(double %1, double %66)
%68 = sitofp i32 %67 to double
%69 = load double, double* %65
%70 = tail call i32 (double, double, ...) bitcast (i32 (...)* @smoothedDirac to i32 (double, double, ...)*)(double %1, double %69)
%71 = load double, double* %65
%72 = tail call i32 (double, double, ...) bitcast (i32 (...)* @smoothedHeaviside to i32 (double, double, ...)*)(double %2, double %71)
%73 = sitofp i32 %72 to double
%74 = load double, double* %65
%75 = tail call i32 (double, double, ...) bitcast (i32 (...)* @smoothedDirac to i32 (double, double, ...)*)(double %2, double %74)
%76 = sitofp i32 %75 to double
%77 = fsub double 1.000000e+00, %68
%78 = fmul double %68, %6
%79 = tail call double @llvm.fmuladd.f64(double %4, double %77, double %78)
%80 = fsub double 1.000000e+00, %73
%81 = fmul double %73, %7
%82 = tail call double @llvm.fmuladd.f64(double %5, double %80, double %81)
%83 = getelementptr inbounds double, double* %14, i64 %64
%84 = load double, double* %83
%85 = getelementptr inbounds double, double* %17, i64 %64
store double %84, double* %85
%86 = getelementptr inbounds double, double* %18, i64 %64
store double 1.000000e+00, double* %86
%87 = getelementptr inbounds double, double* %15, i64 %64
%88 = load double, double* %87
%89 = getelementptr inbounds double, double* %19, i64 %64
store double %88, double* %89
%90 = getelementptr inbounds double, double* %20, i64 %64
store double 1.000000e+00, double* %90
%91 = getelementptr inbounds double, double* %16, i64 %64
%92 = load double, double* %91
%93 = getelementptr inbounds double, double* %21, i64 %64
store double %92, double* %93
%94 = getelementptr inbounds double, double* %22, i64 %64
store double 1.000000e+00, double* %94
%95 = load double, double* %83
%96 = trunc i64 %64 to i32
%97 = mul nsw i32 %96, 3
%98 = zext i32 %97 to i64
%99 = getelementptr inbounds double, double* %23, i64 %98
store double %95, double* %99
%100 = load double, double* %87
%101 = add nuw nsw i32 %97, 1
%102 = zext i32 %101 to i64
%103 = getelementptr inbounds double, double* %23, i64 %102
store double %100, double* %103
%104 = load double, double* %91
%105 = add nuw nsw i32 %97, 2
%106 = zext i32 %105 to i64
%107 = getelementptr inbounds double, double* %23, i64 %106
store double %104, double* %107
%108 = getelementptr inbounds double, double* %24, i64 %98
store double 1.000000e+00, double* %108
%109 = getelementptr inbounds double, double* %25, i64 %102
store double 1.000000e+00, double* %109
%110 = getelementptr inbounds double, double* %26, i64 %106
store double 1.000000e+00, double* %110
%111 = load double, double* %83
%112 = fmul double %111, %111
%113 = getelementptr inbounds double, double* %27, i64 %98
store double %112, double* %113
%114 = load double, double* %83
%115 = load double, double* %87
%116 = fmul double %114, %115
%117 = getelementptr inbounds double, double* %27, i64 %102
store double %116, double* %117
%118 = load double, double* %83
%119 = load double, double* %91
%120 = fmul double %118, %119
%121 = getelementptr inbounds double, double* %27, i64 %106
store double %120, double* %121
%122 = load double, double* %83
%123 = fmul double %122, 2.000000e+00
%124 = getelementptr inbounds double, double* %28, i64 %98
store double %123, double* %124
%125 = load double, double* %87
%126 = getelementptr inbounds double, double* %28, i64 %102
store double %125, double* %126
%127 = load double, double* %91
%128 = getelementptr inbounds double, double* %28, i64 %106
store double %127, double* %128
%129 = load double, double* %83
%130 = getelementptr inbounds double, double* %29, i64 %102
store double %129, double* %130
%131 = load double, double* %83
%132 = getelementptr inbounds double, double* %30, i64 %106
store double %131, double* %132
%133 = load double, double* %87
%134 = load double, double* %83
%135 = fmul double %133, %134
%136 = getelementptr inbounds double, double* %31, i64 %98
store double %135, double* %136
%137 = load double, double* %87
%138 = fmul double %137, %137
%139 = getelementptr inbounds double, double* %31, i64 %102
store double %138, double* %139
%140 = load double, double* %87
%141 = load double, double* %91
%142 = fmul double %140, %141
%143 = getelementptr inbounds double, double* %31, i64 %106
store double %142, double* %143
%144 = load double, double* %87
%145 = getelementptr inbounds double, double* %32, i64 %98
store double %144, double* %145
%146 = load double, double* %87
%147 = getelementptr inbounds double, double* %34, i64 %106
store double %146, double* %147
%148 = load double, double* %83
%149 = getelementptr inbounds double, double* %33, i64 %98
store double %148, double* %149
%150 = load double, double* %87
%151 = fmul double %150, 2.000000e+00
%152 = getelementptr inbounds double, double* %33, i64 %102
store double %151, double* %152
%153 = load double, double* %91
%154 = getelementptr inbounds double, double* %33, i64 %106
store double %153, double* %154
%155 = load double, double* %91
%156 = load double, double* %83
%157 = fmul double %155, %156
%158 = getelementptr inbounds double, double* %35, i64 %98
store double %157, double* %158
%159 = load double, double* %91
%160 = load double, double* %87
%161 = fmul double %159, %160
%162 = getelementptr inbounds double, double* %35, i64 %102
store double %161, double* %162
%163 = load double, double* %91
%164 = fmul double %163, %163
%165 = getelementptr inbounds double, double* %35, i64 %106
store double %164, double* %165
%166 = load double, double* %91
%167 = getelementptr inbounds double, double* %36, i64 %98
store double %166, double* %167
%168 = load double, double* %91
%169 = getelementptr inbounds double, double* %37, i64 %102
store double %168, double* %169
%170 = load double, double* %83
%171 = getelementptr inbounds double, double* %38, i64 %98
store double %170, double* %171
%172 = load double, double* %87
%173 = getelementptr inbounds double, double* %38, i64 %102
store double %172, double* %173
%174 = load double, double* %91
%175 = fmul double %174, 2.000000e+00
%176 = getelementptr inbounds double, double* %38, i64 %106
store double %175, double* %176
%177 = fmul double %82, 2.000000e+00
%178 = mul nsw i32 %96, 9
%179 = zext i32 %178 to i64
%180 = getelementptr inbounds double, double* %39, i64 %179
store double %177, double* %180
%181 = add nuw nsw i32 %178, 4
%182 = zext i32 %181 to i64
%183 = getelementptr inbounds double, double* %39, i64 %182
store double %82, double* %183
%184 = add nuw nsw i32 %178, 8
%185 = zext i32 %184 to i64
%186 = getelementptr inbounds double, double* %39, i64 %185
store double %82, double* %186
%187 = add nuw nsw i32 %178, 3
%188 = zext i32 %187 to i64
%189 = getelementptr inbounds double, double* %42, i64 %188
store double %82, double* %189
%190 = add nuw nsw i32 %178, 6
%191 = zext i32 %190 to i64
%192 = getelementptr inbounds double, double* %43, i64 %191
store double %82, double* %192
%193 = getelementptr inbounds double, double* %40, i64 %179
store double %82, double* %193
%194 = getelementptr inbounds double, double* %40, i64 %182
store double %177, double* %194
%195 = getelementptr inbounds double, double* %40, i64 %185
store double %82, double* %195
%196 = add nuw nsw i32 %178, 1
%197 = zext i32 %196 to i64
%198 = getelementptr inbounds double, double* %44, i64 %197
store double %82, double* %198
%199 = add nuw nsw i32 %178, 7
%200 = zext i32 %199 to i64
%201 = getelementptr inbounds double, double* %45, i64 %200
store double %82, double* %201
%202 = getelementptr inbounds double, double* %41, i64 %179
store double %82, double* %202
%203 = getelementptr inbounds double, double* %41, i64 %182
store double %82, double* %203
%204 = getelementptr inbounds double, double* %41, i64 %185
store double %177, double* %204
%205 = add nuw nsw i32 %178, 2
%206 = zext i32 %205 to i64
%207 = getelementptr inbounds double, double* %46, i64 %206
store double %82, double* %207
%208 = add nuw nsw i32 %178, 5
%209 = zext i32 %208 to i64
%210 = getelementptr inbounds double, double* %47, i64 %209
store double %82, double* %210
%211 = getelementptr inbounds double, double* %10, i64 %98
%212 = load double, double* %211
%213 = getelementptr inbounds double, double* %10, i64 %102
%214 = load double, double* %213
%215 = fmul double %214, %214
%216 = tail call double @llvm.fmuladd.f64(double %212, double %212, double %215)
%217 = getelementptr inbounds double, double* %10, i64 %106
%218 = load double, double* %217
%219 = tail call double @llvm.fmuladd.f64(double %218, double %218, double %216)
%220 = tail call double @sqrt(double %219)
%221 = load double, double* %8
%222 = fneg double %221
%223 = fmul double %76, %3
%224 = getelementptr inbounds double, double* %11, i64 %64
%225 = load double, double* %224
%226 = fmul double %223, %225
%227 = load double, double* %211
%228 = fmul double %226, %227
%229 = fadd double %220, 1.000000e-08
%230 = fmul double %79, %229
%231 = fdiv double %228, %230
%232 = fsub double %222, %231
%233 = getelementptr inbounds double, double* %48, i64 %64
store double %232, double* %233
%234 = load double, double* %60
%235 = fneg double %234
%236 = load double, double* %224
%237 = fmul double %223, %236
%238 = load double, double* %213
%239 = fmul double %237, %238
%240 = fdiv double %239, %230
%241 = fsub double %235, %240
%242 = getelementptr inbounds double, double* %49, i64 %64
store double %241, double* %242
%243 = load double, double* %61
%244 = fneg double %243
%245 = load double, double* %224
%246 = fmul double %223, %245
%247 = load double, double* %217
%248 = fmul double %246, %247
%249 = fdiv double %248, %230
%250 = fsub double %244, %249
%251 = getelementptr inbounds double, double* %50, i64 %64
store double %250, double* %251
%252 = getelementptr inbounds double, double* %13, i64 %98
%253 = load double, double* %252
%254 = fdiv double %253, %79
%255 = getelementptr inbounds double, double* %51, i64 %64
store double %254, double* %255
%256 = fdiv double 1.000000e+00, %79
%257 = getelementptr inbounds double, double* %52, i64 %98
store double %256, double* %257
%258 = getelementptr inbounds double, double* %13, i64 %102
%259 = load double, double* %258
%260 = fdiv double %259, %79
%261 = getelementptr inbounds double, double* %53, i64 %64
store double %260, double* %261
%262 = getelementptr inbounds double, double* %54, i64 %102
store double %256, double* %262
%263 = getelementptr inbounds double, double* %13, i64 %106
%264 = load double, double* %263
%265 = fdiv double %264, %79
%266 = getelementptr inbounds double, double* %55, i64 %64
store double %265, double* %266
%267 = getelementptr inbounds double, double* %56, i64 %106
store double %256, double* %267
%268 = add nuw nsw i64 %64, 1
%269 = icmp eq i64 %268, %62
br i1 %269, label %270, label %63
270: ; preds = %63, %57
ret void
}