void TwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd(
    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 * 3 + 0] = 2.0 * nu;
    mom_u_diff_ten[k * 3 + 1] = nu;
    mom_u_diff_ten[k * 3 + 2] = nu;
    mom_uv_diff_ten[k] = nu;
    mom_uw_diff_ten[k] = nu;
    mom_v_diff_ten[k * 3 + 0] = nu;
    mom_v_diff_ten[k * 3 + 1] = 2.0 * nu;
    mom_v_diff_ten[k * 3 + 2] = nu;
    mom_vu_diff_ten[k] = nu;
    mom_vw_diff_ten[k] = nu;
    mom_w_diff_ten[k * 3 + 0] = nu;
    mom_w_diff_ten[k * 3 + 1] = nu;
    mom_w_diff_ten[k * 3 + 2] = 2.0 * nu;
    mom_wu_diff_ten[k] = nu;
    mom_wv_diff_ten[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]);
    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_sd>:
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    1d53 <TwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0xc23>
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   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0xe0(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0xe0(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0xf8(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0x100(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0xe8(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  0x697(%rip),%xmm0
mulsd  -0x80(%rbp),%xmm0
mov    0xe8(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0xe8(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0x108(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0x110(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0xf0(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0xf0(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  0x5f9(%rip),%xmm0
mulsd  -0x80(%rbp),%xmm0
mov    0xf0(%rbp),%rax
imul   $0x3,-0x6c(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0x118(%rbp),%rax
movslq -0x6c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x80(%rbp),%xmm0
mov    0x120(%rbp),%rax
movslq -0x6c(%rbp),%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  0x4c4(%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  0x446(%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  0x3c8(%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  0x36c(%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  0x321(%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  0x2d6(%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_sd+0x156>
add    $0xb0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<TwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd>:
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    1726 <TwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0x5f6>
mov    %edi,%eax
shl    $0x3,%rax
mov    %rax,0x30(%rsp)
mov    0xc0(%rsp),%r13
mov    0xb8(%rsp),%r14
xor    %r12d,%r12d
xor    %r15d,%r15d
mov    %rcx,0x10(%rsp)
jmp    1327 <TwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0x1f7>
nopw   0x0(%rax,%rax,1)
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
mulsd  0x38(%rsp),%xmm6
mov    0x70(%rsp),%rax
movsd  (%rax,%r12,1),%xmm3
mulsd  %xmm6,%xmm3
mulsd  (%rcx,%rbx,8),%xmm3
movapd 0xe09(%rip),%xmm5
xorpd  %xmm5,%xmm2
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,%rbp,8),%xmm3
divsd  %xmm0,%xmm3
subsd  %xmm3,%xmm2
mov    0x1d0(%rsp),%rsi
movsd  %xmm2,(%rsi,%r12,1)
movsd  0x10(%rdx),%xmm2
mulsd  (%rax,%r12,1),%xmm6
mulsd  (%rcx,%r15,8),%xmm6
xorpd  %xmm5,%xmm2
divsd  %xmm0,%xmm6
subsd  %xmm6,%xmm2
mov    0x1d8(%rsp),%rax
movsd  %xmm2,(%rax,%r12,1)
mov    0xb0(%rsp),%rdx
movsd  (%rdx,%rbx,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,%rbx,8)
movsd  (%rdx,%rbp,8),%xmm2
divsd  %xmm1,%xmm2
mov    0x1f0(%rsp),%rax
movsd  %xmm2,(%rax,%r12,1)
mov    0x1f8(%rsp),%rax
movsd  %xmm0,(%rax,%rbp,8)
movsd  (%rdx,%r15,8),%xmm2
divsd  %xmm1,%xmm2
mov    0x200(%rsp),%rax
movsd  %xmm2,(%rax,%r12,1)
mov    0x208(%rsp),%rax
movsd  %xmm0,(%rax,%r15,8)
lea    0x3(%rbx),%r15d
add    $0x8,%r12
cmp    %r12,0x30(%rsp)
je     1726 <TwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0x5f6>
mov    0x68(%rsp),%rbx
movsd  (%rbx,%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  (%rbx,%r12,1),%xmm1
movsd  0x20(%rsp),%xmm0
mov    $0x2,%al
call   1040 <smoothedDirac@plt>
movsd  (%rbx,%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  (%rbx,%r12,1),%xmm1
movsd  0x28(%rsp),%xmm0
mov    $0x2,%al
call   1040 <smoothedDirac@plt>
movsd  0xc66(%rip),%xmm4
mov    0x10(%rsp),%rcx
xorps  %xmm6,%xmm6
cvtsi2sd %eax,%xmm6
movapd %xmm4,%xmm0
movsd  0x8(%rsp),%xmm2
subsd  %xmm2,%xmm0
mulsd  0x58(%rsp),%xmm2
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)
movsd  0x0(%r13,%r12,1),%xmm1
mov    0xe0(%rsp),%rax
movsd  %xmm1,(%rax,%r12,1)
mov    0xe8(%rsp),%rax
mov    %rsi,(%rax,%r12,1)
mov    0xc8(%rsp),%rdx
movsd  (%rdx,%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    %r15d,%ebx
mov    0x100(%rsp),%rax
movsd  %xmm1,(%rax,%rbx,8)
movsd  0x0(%r13,%r12,1),%xmm1
lea    0x1(%r15),%ebp
movsd  %xmm1,(%rax,%rbp,8)
movsd  (%rdx,%r12,1),%xmm1
add    $0x2,%r15d
movsd  %xmm1,(%rax,%r15,8)
mov    0x108(%rsp),%rax
mov    %rsi,(%rax,%rbx,8)
mov    0x110(%rsp),%rax
mov    %rsi,(%rax,%rbp,8)
mov    0x118(%rsp),%rax
mov    %rsi,(%rax,%r15,8)
movsd  (%r14,%r12,1),%xmm1
mulsd  %xmm1,%xmm1
mov    0x120(%rsp),%rax
movsd  %xmm1,(%rax,%rbx,8)
movsd  (%r14,%r12,1),%xmm1
mulsd  0x0(%r13,%r12,1),%xmm1
movsd  %xmm1,(%rax,%rbp,8)
movsd  (%r14,%r12,1),%xmm1
mulsd  (%rdx,%r12,1),%xmm1
mulsd  0x48(%rsp),%xmm0
movsd  %xmm1,(%rax,%r15,8)
movsd  (%r14,%r12,1),%xmm1
addsd  %xmm1,%xmm1
mov    0x128(%rsp),%rax
movsd  %xmm1,(%rax,%rbx,8)
movsd  0x0(%r13,%r12,1),%xmm1
movsd  %xmm1,(%rax,%rbp,8)
movsd  (%rdx,%r12,1),%xmm1
movsd  %xmm1,(%rax,%r15,8)
movsd  (%r14,%r12,1),%xmm1
mov    0x130(%rsp),%rax
movsd  %xmm1,(%rax,%rbp,8)
movsd  (%r14,%r12,1),%xmm1
mov    0x138(%rsp),%rax
movsd  %xmm1,(%rax,%r15,8)
movsd  0x0(%r13,%r12,1),%xmm1
mulsd  (%r14,%r12,1),%xmm1
addsd  %xmm2,%xmm0
mov    0x140(%rsp),%rax
movsd  %xmm1,(%rax,%rbx,8)
movsd  0x0(%r13,%r12,1),%xmm1
mulsd  %xmm1,%xmm1
movsd  %xmm1,(%rax,%rbp,8)
movsd  0x0(%r13,%r12,1),%xmm1
mulsd  (%rdx,%r12,1),%xmm1
movsd  %xmm1,(%rax,%r15,8)
movsd  0x0(%r13,%r12,1),%xmm1
mov    0x148(%rsp),%rax
movsd  %xmm1,(%rax,%rbx,8)
movsd  0x0(%r13,%r12,1),%xmm1
mov    0x158(%rsp),%rax
movsd  %xmm1,(%rax,%r15,8)
movsd  (%r14,%r12,1),%xmm1
mov    0x150(%rsp),%rax
movsd  %xmm1,(%rax,%rbx,8)
movsd  0x0(%r13,%r12,1),%xmm1
addsd  %xmm1,%xmm1
movsd  %xmm1,(%rax,%rbp,8)
movsd  (%rdx,%r12,1),%xmm1
movsd  %xmm1,(%rax,%r15,8)
movsd  (%rdx,%r12,1),%xmm1
mulsd  (%r14,%r12,1),%xmm1
mov    0x160(%rsp),%rax
movsd  %xmm1,(%rax,%rbx,8)
movsd  (%rdx,%r12,1),%xmm1
mulsd  0x0(%r13,%r12,1),%xmm1
movsd  %xmm1,(%rax,%rbp,8)
movsd  (%rdx,%r12,1),%xmm1
mulsd  %xmm1,%xmm1
movsd  %xmm1,(%rax,%r15,8)
movsd  (%rdx,%r12,1),%xmm1
mov    0x168(%rsp),%rax
movsd  %xmm1,(%rax,%rbx,8)
movsd  (%rdx,%r12,1),%xmm1
mov    0x170(%rsp),%rax
movsd  %xmm1,(%rax,%rbp,8)
movsd  (%r14,%r12,1),%xmm1
mov    0x178(%rsp),%rax
movsd  %xmm1,(%rax,%rbx,8)
movsd  0x0(%r13,%r12,1),%xmm1
movsd  %xmm1,(%rax,%rbp,8)
movsd  (%rdx,%r12,1),%xmm1
addsd  %xmm1,%xmm1
movsd  %xmm1,(%rax,%r15,8)
movapd %xmm0,%xmm1
addsd  %xmm0,%xmm1
mov    0x180(%rsp),%rax
movsd  %xmm1,(%rax,%rbx,8)
movsd  %xmm0,(%rax,%rbp,8)
movsd  %xmm0,(%rax,%r15,8)
mov    0x198(%rsp),%rax
movsd  %xmm0,(%rax,%r12,1)
mov    0x1a0(%rsp),%rax
movsd  %xmm0,(%rax,%r12,1)
mov    0x188(%rsp),%rax
movsd  %xmm0,(%rax,%rbx,8)
movsd  %xmm1,(%rax,%rbp,8)
movsd  %xmm0,(%rax,%r15,8)
mov    0x1a8(%rsp),%rax
movsd  %xmm0,(%rax,%r12,1)
mov    0x1b0(%rsp),%rax
movsd  %xmm0,(%rax,%r12,1)
mov    0x190(%rsp),%rax
movsd  %xmm0,(%rax,%rbx,8)
movsd  %xmm0,(%rax,%rbp,8)
movsd  %xmm1,(%rax,%r15,8)
mov    0x1b8(%rsp),%rax
movsd  %xmm0,(%rax,%r12,1)
mov    0x1c0(%rsp),%rax
movsd  %xmm0,(%rax,%r12,1)
movsd  (%rcx,%rbx,8),%xmm1
movsd  (%rcx,%rbp,8),%xmm0
mulsd  %xmm0,%xmm0
mulsd  %xmm1,%xmm1
addsd  %xmm0,%xmm1
movsd  (%rcx,%r15,8),%xmm0
mulsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
ucomisd 0x8f9(%rip),%xmm0
jb     11b0 <TwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+0x80>
sqrtsd %xmm0,%xmm0
jmp    11ce <TwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd+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_sd(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 = %895, %57
%125 = load i32, i32* %115
%126 = load i32, i32* %58
%127 = icmp slt i32 %125, %126
br i1 %127, label %128, label %898
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, 3
%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, 3
%609 = add nsw i32 %608, 1
%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, 3
%616 = add nsw i32 %615, 2
%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 = sext i32 %621 to i64
%623 = getelementptr inbounds double, double* %620, i64 %622
store double %619, double* %623
%624 = load double, double* %117
%625 = load double*, double** %101
%626 = load i32, i32* %115
%627 = sext i32 %626 to i64
%628 = getelementptr inbounds double, double* %625, i64 %627
store double %624, double* %628
%629 = load double, double* %117
%630 = load double*, double** %98
%631 = load i32, i32* %115
%632 = mul nsw i32 %631, 3
%633 = add nsw i32 %632, 0
%634 = sext i32 %633 to i64
%635 = getelementptr inbounds double, double* %630, i64 %634
store double %629, double* %635
%636 = load double, double* %117
%637 = fmul double 2.000000e+00, %636
%638 = load double*, double** %98
%639 = load i32, i32* %115
%640 = mul nsw i32 %639, 3
%641 = add nsw i32 %640, 1
%642 = sext i32 %641 to i64
%643 = getelementptr inbounds double, double* %638, i64 %642
store double %637, double* %643
%644 = load double, double* %117
%645 = load double*, double** %98
%646 = load i32, i32* %115
%647 = mul nsw i32 %646, 3
%648 = add nsw i32 %647, 2
%649 = sext i32 %648 to i64
%650 = getelementptr inbounds double, double* %645, i64 %649
store double %644, double* %650
%651 = load double, double* %117
%652 = load double*, double** %102
%653 = load i32, i32* %115
%654 = sext i32 %653 to i64
%655 = getelementptr inbounds double, double* %652, i64 %654
store double %651, double* %655
%656 = load double, double* %117
%657 = load double*, double** %103
%658 = load i32, i32* %115
%659 = sext i32 %658 to i64
%660 = getelementptr inbounds double, double* %657, i64 %659
store double %656, double* %660
%661 = load double, double* %117
%662 = load double*, double** %99
%663 = load i32, i32* %115
%664 = mul nsw i32 %663, 3
%665 = add nsw i32 %664, 0
%666 = sext i32 %665 to i64
%667 = getelementptr inbounds double, double* %662, i64 %666
store double %661, double* %667
%668 = load double, double* %117
%669 = load double*, double** %99
%670 = load i32, i32* %115
%671 = mul nsw i32 %670, 3
%672 = add nsw i32 %671, 1
%673 = sext i32 %672 to i64
%674 = getelementptr inbounds double, double* %669, i64 %673
store double %668, double* %674
%675 = load double, double* %117
%676 = fmul double 2.000000e+00, %675
%677 = load double*, double** %99
%678 = load i32, i32* %115
%679 = mul nsw i32 %678, 3
%680 = add nsw i32 %679, 2
%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 = load double*, double** %104
%685 = load i32, i32* %115
%686 = sext i32 %685 to i64
%687 = getelementptr inbounds double, double* %684, i64 %686
store double %683, double* %687
%688 = load double, double* %117
%689 = load double*, double** %105
%690 = load i32, i32* %115
%691 = sext i32 %690 to i64
%692 = getelementptr inbounds double, double* %689, i64 %691
store double %688, double* %692
%693 = load double*, double** %68
%694 = load i32, i32* %115
%695 = mul nsw i32 %694, 3
%696 = add nsw i32 %695, 0
%697 = sext i32 %696 to i64
%698 = getelementptr inbounds double, double* %693, i64 %697
%699 = load double, double* %698
%700 = load double*, double** %68
%701 = load i32, i32* %115
%702 = mul nsw i32 %701, 3
%703 = add nsw i32 %702, 0
%704 = sext i32 %703 to i64
%705 = getelementptr inbounds double, double* %700, i64 %704
%706 = load double, double* %705
%707 = load double*, double** %68
%708 = load i32, i32* %115
%709 = mul nsw i32 %708, 3
%710 = add nsw i32 %709, 1
%711 = sext i32 %710 to i64
%712 = getelementptr inbounds double, double* %707, i64 %711
%713 = load double, double* %712
%714 = load double*, double** %68
%715 = load i32, i32* %115
%716 = mul nsw i32 %715, 3
%717 = add nsw i32 %716, 1
%718 = sext i32 %717 to i64
%719 = getelementptr inbounds double, double* %714, i64 %718
%720 = load double, double* %719
%721 = fmul double %713, %720
%722 = call double @llvm.fmuladd.f64(double %699, double %706, double %721)
%723 = load double*, double** %68
%724 = load i32, i32* %115
%725 = mul nsw i32 %724, 3
%726 = add nsw i32 %725, 2
%727 = sext i32 %726 to i64
%728 = getelementptr inbounds double, double* %723, i64 %727
%729 = load double, double* %728
%730 = load double*, double** %68
%731 = load i32, i32* %115
%732 = mul nsw i32 %731, 3
%733 = add nsw i32 %732, 2
%734 = sext i32 %733 to i64
%735 = getelementptr inbounds double, double* %730, i64 %734
%736 = load double, double* %735
%737 = call double @llvm.fmuladd.f64(double %729, double %736, double %722)
%738 = call double @sqrt(double %737)
store double %738, double* %123
%739 = load double*, double** %66
%740 = getelementptr inbounds double, double* %739, i64 0
%741 = load double, double* %740
%742 = fneg double %741
%743 = load double, double* %122
%744 = load double, double* %61
%745 = fmul double %743, %744
%746 = load double*, double** %69
%747 = load i32, i32* %115
%748 = sext i32 %747 to i64
%749 = getelementptr inbounds double, double* %746, i64 %748
%750 = load double, double* %749
%751 = fmul double %745, %750
%752 = load double*, double** %68
%753 = load i32, i32* %115
%754 = mul nsw i32 %753, 3
%755 = add nsw i32 %754, 0
%756 = sext i32 %755 to i64
%757 = getelementptr inbounds double, double* %752, i64 %756
%758 = load double, double* %757
%759 = fmul double %751, %758
%760 = load double, double* %116
%761 = load double, double* %123
%762 = fadd double %761, 1.000000e-08
%763 = fmul double %760, %762
%764 = fdiv double %759, %763
%765 = fsub double %742, %764
%766 = load double*, double** %106
%767 = load i32, i32* %115
%768 = sext i32 %767 to i64
%769 = getelementptr inbounds double, double* %766, i64 %768
store double %765, double* %769
%770 = load double*, double** %66
%771 = getelementptr inbounds double, double* %770, i64 1
%772 = load double, double* %771
%773 = fneg double %772
%774 = load double, double* %122
%775 = load double, double* %61
%776 = fmul double %774, %775
%777 = load double*, double** %69
%778 = load i32, i32* %115
%779 = sext i32 %778 to i64
%780 = getelementptr inbounds double, double* %777, i64 %779
%781 = load double, double* %780
%782 = fmul double %776, %781
%783 = load double*, double** %68
%784 = load i32, i32* %115
%785 = mul nsw i32 %784, 3
%786 = add nsw i32 %785, 1
%787 = sext i32 %786 to i64
%788 = getelementptr inbounds double, double* %783, i64 %787
%789 = load double, double* %788
%790 = fmul double %782, %789
%791 = load double, double* %116
%792 = load double, double* %123
%793 = fadd double %792, 1.000000e-08
%794 = fmul double %791, %793
%795 = fdiv double %790, %794
%796 = fsub double %773, %795
%797 = load double*, double** %107
%798 = load i32, i32* %115
%799 = sext i32 %798 to i64
%800 = getelementptr inbounds double, double* %797, i64 %799
store double %796, double* %800
%801 = load double*, double** %66
%802 = getelementptr inbounds double, double* %801, i64 2
%803 = load double, double* %802
%804 = fneg double %803
%805 = load double, double* %122
%806 = load double, double* %61
%807 = fmul double %805, %806
%808 = load double*, double** %69
%809 = load i32, i32* %115
%810 = sext i32 %809 to i64
%811 = getelementptr inbounds double, double* %808, i64 %810
%812 = load double, double* %811
%813 = fmul double %807, %812
%814 = load double*, double** %68
%815 = load i32, i32* %115
%816 = mul nsw i32 %815, 3
%817 = add nsw i32 %816, 2
%818 = sext i32 %817 to i64
%819 = getelementptr inbounds double, double* %814, i64 %818
%820 = load double, double* %819
%821 = fmul double %813, %820
%822 = load double, double* %116
%823 = load double, double* %123
%824 = fadd double %823, 1.000000e-08
%825 = fmul double %822, %824
%826 = fdiv double %821, %825
%827 = fsub double %804, %826
%828 = load double*, double** %108
%829 = load i32, i32* %115
%830 = sext i32 %829 to i64
%831 = getelementptr inbounds double, double* %828, i64 %830
store double %827, double* %831
%832 = load double*, double** %71
%833 = load i32, i32* %115
%834 = mul nsw i32 %833, 3
%835 = add nsw i32 %834, 0
%836 = sext i32 %835 to i64
%837 = getelementptr inbounds double, double* %832, i64 %836
%838 = load double, double* %837
%839 = load double, double* %116
%840 = fdiv double %838, %839
%841 = load double*, double** %109
%842 = load i32, i32* %115
%843 = sext i32 %842 to i64
%844 = getelementptr inbounds double, double* %841, i64 %843
store double %840, double* %844
%845 = load double, double* %116
%846 = fdiv double 1.000000e+00, %845
%847 = load double*, double** %110
%848 = load i32, i32* %115
%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** %71
%854 = load i32, i32* %115
%855 = mul nsw i32 %854, 3
%856 = add nsw i32 %855, 1
%857 = sext i32 %856 to i64
%858 = getelementptr inbounds double, double* %853, i64 %857
%859 = load double, double* %858
%860 = load double, double* %116
%861 = fdiv double %859, %860
%862 = load double*, double** %111
%863 = load i32, i32* %115
%864 = sext i32 %863 to i64
%865 = getelementptr inbounds double, double* %862, i64 %864
store double %861, double* %865
%866 = load double, double* %116
%867 = fdiv double 1.000000e+00, %866
%868 = load double*, double** %112
%869 = load i32, i32* %115
%870 = mul nsw i32 %869, 3
%871 = add nsw i32 %870, 1
%872 = sext i32 %871 to i64
%873 = getelementptr inbounds double, double* %868, i64 %872
store double %867, double* %873
%874 = load double*, double** %71
%875 = load i32, i32* %115
%876 = mul nsw i32 %875, 3
%877 = add nsw i32 %876, 2
%878 = sext i32 %877 to i64
%879 = getelementptr inbounds double, double* %874, i64 %878
%880 = load double, double* %879
%881 = load double, double* %116
%882 = fdiv double %880, %881
%883 = load double*, double** %113
%884 = load i32, i32* %115
%885 = sext i32 %884 to i64
%886 = getelementptr inbounds double, double* %883, i64 %885
store double %882, double* %886
%887 = load double, double* %116
%888 = fdiv double 1.000000e+00, %887
%889 = load double*, double** %114
%890 = load i32, i32* %115
%891 = mul nsw i32 %890, 3
%892 = add nsw i32 %891, 2
%893 = sext i32 %892 to i64
%894 = getelementptr inbounds double, double* %889, i64 %893
store double %888, double* %894
br label %895
895: ; preds = %128
%896 = load i32, i32* %115
%897 = add nsw i32 %896, 1
store i32 %897, i32* %115
br label %124
898: ; preds = %124
ret void
}

LLVM IR (-O2):
define void @TwophaseNavierStokes_ST_LS_SO_3D_Evaluate_sd(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 %252
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 ], [ %250, %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 = getelementptr inbounds double, double* %39, i64 %98
store double %177, double* %178
%179 = getelementptr inbounds double, double* %39, i64 %102
store double %82, double* %179
%180 = getelementptr inbounds double, double* %39, i64 %106
store double %82, double* %180
%181 = getelementptr inbounds double, double* %42, i64 %64
store double %82, double* %181
%182 = getelementptr inbounds double, double* %43, i64 %64
store double %82, double* %182
%183 = getelementptr inbounds double, double* %40, i64 %98
store double %82, double* %183
%184 = getelementptr inbounds double, double* %40, i64 %102
store double %177, double* %184
%185 = getelementptr inbounds double, double* %40, i64 %106
store double %82, double* %185
%186 = getelementptr inbounds double, double* %44, i64 %64
store double %82, double* %186
%187 = getelementptr inbounds double, double* %45, i64 %64
store double %82, double* %187
%188 = getelementptr inbounds double, double* %41, i64 %98
store double %82, double* %188
%189 = getelementptr inbounds double, double* %41, i64 %102
store double %82, double* %189
%190 = getelementptr inbounds double, double* %41, i64 %106
store double %177, double* %190
%191 = getelementptr inbounds double, double* %46, i64 %64
store double %82, double* %191
%192 = getelementptr inbounds double, double* %47, i64 %64
store double %82, double* %192
%193 = getelementptr inbounds double, double* %10, i64 %98
%194 = load double, double* %193
%195 = getelementptr inbounds double, double* %10, i64 %102
%196 = load double, double* %195
%197 = fmul double %196, %196
%198 = tail call double @llvm.fmuladd.f64(double %194, double %194, double %197)
%199 = getelementptr inbounds double, double* %10, i64 %106
%200 = load double, double* %199
%201 = tail call double @llvm.fmuladd.f64(double %200, double %200, double %198)
%202 = tail call double @sqrt(double %201)
%203 = load double, double* %8
%204 = fneg double %203
%205 = fmul double %76, %3
%206 = getelementptr inbounds double, double* %11, i64 %64
%207 = load double, double* %206
%208 = fmul double %205, %207
%209 = load double, double* %193
%210 = fmul double %208, %209
%211 = fadd double %202, 1.000000e-08
%212 = fmul double %79, %211
%213 = fdiv double %210, %212
%214 = fsub double %204, %213
%215 = getelementptr inbounds double, double* %48, i64 %64
store double %214, double* %215
%216 = load double, double* %60
%217 = fneg double %216
%218 = load double, double* %206
%219 = fmul double %205, %218
%220 = load double, double* %195
%221 = fmul double %219, %220
%222 = fdiv double %221, %212
%223 = fsub double %217, %222
%224 = getelementptr inbounds double, double* %49, i64 %64
store double %223, double* %224
%225 = load double, double* %61
%226 = fneg double %225
%227 = load double, double* %206
%228 = fmul double %205, %227
%229 = load double, double* %199
%230 = fmul double %228, %229
%231 = fdiv double %230, %212
%232 = fsub double %226, %231
%233 = getelementptr inbounds double, double* %50, i64 %64
store double %232, double* %233
%234 = getelementptr inbounds double, double* %13, i64 %98
%235 = load double, double* %234
%236 = fdiv double %235, %79
%237 = getelementptr inbounds double, double* %51, i64 %64
store double %236, double* %237
%238 = fdiv double 1.000000e+00, %79
%239 = getelementptr inbounds double, double* %52, i64 %98
store double %238, double* %239
%240 = getelementptr inbounds double, double* %13, i64 %102
%241 = load double, double* %240
%242 = fdiv double %241, %79
%243 = getelementptr inbounds double, double* %53, i64 %64
store double %242, double* %243
%244 = getelementptr inbounds double, double* %54, i64 %102
store double %238, double* %244
%245 = getelementptr inbounds double, double* %13, i64 %106
%246 = load double, double* %245
%247 = fdiv double %246, %79
%248 = getelementptr inbounds double, double* %55, i64 %64
store double %247, double* %248
%249 = getelementptr inbounds double, double* %56, i64 %106
store double %238, double* %249
%250 = add nuw nsw i64 %64, 1
%251 = icmp eq i64 %250, %62
br i1 %251, label %252, label %63
252: ; preds = %63, %57
ret void
}