void boundaryvalues_pressure(double ***P, int ***Flag, int imax, int jmax,
                             int kmax) {
  int i, j, k, temp;
  for (i = 0; i <= imax + 1; i++) {
    for (j = 0; j <= jmax + 1; j++) {
      for (k = 0; k <= kmax + 1; k++) {
        switch (getcelltype(Flag[i][j][k])) {
        case 32:
          P[i][j][k] = P[i + 1][j][k];
          break;
        case 16:
          P[i][j][k] = P[i - 1][j][k];
          break;
        case 8:
          P[i][j][k] = P[i][j + 1][k];
          break;
        case 4:
          P[i][j][k] = P[i][j - 1][k];
          break;
        case 1:
          P[i][j][k] = P[i][j][k + 1];
          break;
        case 2:
          P[i][j][k] = P[i][j][k - 1];
          break;
        case 40:
          P[i][j][k] = (P[i + 1][j][k] + P[i][j + 1][k]) * 0.5;
          break;
        case 24:
          P[i][j][k] = (P[i - 1][j][k] + P[i][j + 1][k]) * 0.5;
          break;
        case 36:
          P[i][j][k] = (P[i + 1][j][k] + P[i][j - 1][k]) * 0.5;
          break;
        case 20:
          P[i][j][k] = (P[i - 1][j][k] + P[i][j - 1][k]) * 0.5;
          break;
        case 9:
          P[i][j][k] = (P[i][j][k + 1] + P[i][j + 1][k]) * 0.5;
          break;
        case 10:
          P[i][j][k] = (P[i][j][k - 1] + P[i][j + 1][k]) * 0.5;
          break;
        case 5:
          P[i][j][k] = (P[i][j][k + 1] + P[i][j - 1][k]) * 0.5;
          break;
        case 6:
          P[i][j][k] = (P[i][j][k - 1] + P[i][j - 1][k]) * 0.5;
          break;
        case 33:
          P[i][j][k] = (P[i + 1][j][k] + P[i][j][k + 1]) * 0.5;
          break;
        case 17:
          P[i][j][k] = (P[i - 1][j][k] + P[i][j][k + 1]) * 0.5;
          break;
        case 34:
          P[i][j][k] = (P[i + 1][j][k] + P[i][j][k - 1]) * 0.5;
          break;
        case 18:
          P[i][j][k] = (P[i - 1][j][k] + P[i][j][k - 1]) * 0.5;
          break;
        case 41:
          P[i][j][k] =
              (P[i + 1][j][k] + P[i][j + 1][k] + P[i][j][k + 1]) * 1.0 / 3.0;
          break;
        case 25:
          P[i][j][k] =
              (P[i - 1][j][k] + P[i][j + 1][k] + P[i][j][k + 1]) * 1.0 / 3.0;
          break;
        case 37:
          P[i][j][k] =
              (P[i + 1][j][k] + P[i][j - 1][k] + P[i][j][k + 1]) * 1.0 / 3.0;
          break;
        case 21:
          P[i][j][k] =
              (P[i - 1][j][k] + P[i][j - 1][k] + P[i][j][k + 1]) * 1.0 / 3.0;
          break;
        case 42:
          P[i][j][k] =
              (P[i + 1][j][k] + P[i][j + 1][k] + P[i][j][k - 1]) * 1.0 / 3.0;
          break;
        case 26:
          P[i][j][k] =
              (P[i - 1][j][k] + P[i][j + 1][k] + P[i][j][k - 1]) * 1.0 / 3.0;
          break;
        case 38:
          P[i][j][k] =
              (P[i + 1][j][k] + P[i][j - 1][k] + P[i][j][k - 1]) * 1.0 / 3.0;
          break;
        case 22:
          P[i][j][k] =
              (P[i - 1][j][k] + P[i][j - 1][k] + P[i][j][k - 1]) * 1.0 / 3.0;
          break;
        default:
          break;
        }
      }
    }
  }
}


x86 assembly (clang, -O0):
<boundaryvalues_pressure>:
push   %rbp
mov    %rsp,%rbp
sub    $0x40,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %edx,-0x14(%rbp)
mov    %ecx,-0x18(%rbp)
mov    %r8d,-0x1c(%rbp)
movl   $0x0,-0x20(%rbp)
mov    -0x20(%rbp),%eax
mov    -0x14(%rbp),%ecx
add    $0x1,%ecx
cmp    %ecx,%eax
jg     1de8 <boundaryvalues_pressure+0xcd8>
movl   $0x0,-0x24(%rbp)
mov    -0x24(%rbp),%eax
mov    -0x18(%rbp),%ecx
add    $0x1,%ecx
cmp    %ecx,%eax
jg     1dd5 <boundaryvalues_pressure+0xcc5>
movl   $0x0,-0x28(%rbp)
mov    -0x28(%rbp),%eax
mov    -0x1c(%rbp),%ecx
add    $0x1,%ecx
cmp    %ecx,%eax
jg     1dc2 <boundaryvalues_pressure+0xcb2>
mov    -0x10(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
mov    (%rax,%rcx,4),%edi
xor    %eax,%eax
call   1030 <getcelltype@plt>
add    $0xffffffff,%eax
mov    %eax,%ecx
mov    %rcx,-0x38(%rbp)
sub    $0x29,%eax
ja     1daa <boundaryvalues_pressure+0xc9a>
mov    -0x38(%rbp),%rax
lea    0xe67(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0xc72(%rip),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0xc00(%rip),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0xb8e(%rip),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0xb1c(%rip),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0xaaa(%rip),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0xa38(%rip),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0x9c6(%rip),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0x954(%rip),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0x8e2(%rip),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0x870(%rip),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0x7fe(%rip),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0x78c(%rip),%xmm1
mulsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0x6f0(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x6dc(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0x650(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x63c(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0x5b0(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x59c(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0x510(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x4fc(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0x470(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x45c(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0x3d0(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x3bc(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0x330(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x31c(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
mov    -0x8(%rbp),%rax
mov    -0x20(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x24(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
addsd  (%rax,%rcx,8),%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
mov    -0x28(%rbp),%ecx
sub    $0x1,%ecx
movslq %ecx,%rcx
addsd  (%rax,%rcx,8),%xmm0
movsd  0x290(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x27c(%rip),%xmm1
divsd  %xmm1,%xmm0
mov    -0x8(%rbp),%rax
movslq -0x20(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x24(%rbp),%rcx
mov    (%rax,%rcx,8),%rax
movslq -0x28(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
jmp    1daf <boundaryvalues_pressure+0xc9f>
jmp    1daf <boundaryvalues_pressure+0xc9f>
jmp    1db4 <boundaryvalues_pressure+0xca4>
mov    -0x28(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x28(%rbp)
jmp    1161 <boundaryvalues_pressure+0x51>
jmp    1dc7 <boundaryvalues_pressure+0xcb7>
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x24(%rbp)
jmp    1149 <boundaryvalues_pressure+0x39>
jmp    1dda <boundaryvalues_pressure+0xcca>
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    1131 <boundaryvalues_pressure+0x21>
add    $0x40,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<boundaryvalues_pressure>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x48,%rsp
mov    %rsi,0x40(%rsp)
cmp    $0xffffffff,%edx
jl     15ff <boundaryvalues_pressure+0x4ef>
mov    %rdi,%rbx
lea    0x2(%r8),%ebp
lea    0x2(%rcx),%eax
add    $0x2,%edx
shl    $0x2,%rbp
lea    0xecc(%rip),%r15
xor    %r12d,%r12d
mov    %r8,0x30(%rsp)
mov    %rcx,0x18(%rsp)
mov    %rdx,0x10(%rsp)
mov    %rax,0x28(%rsp)
jmp    1170 <boundaryvalues_pressure+0x60>
nopl   (%rax)
add    $0x1,%r12
mov    %r12,%rsi
cmp    %rdx,%rsi
je     15ff <boundaryvalues_pressure+0x4ef>
cmp    $0xfffffffe,%ecx
jle    1160 <boundaryvalues_pressure+0x50>
lea    0x1(%r12),%rcx
mov    %rcx,0x20(%rsp)
mov    %ecx,%ecx
mov    %rcx,(%rsp)
xor    %r14d,%r14d
jmp    11a0 <boundaryvalues_pressure+0x90>
nopw   0x0(%rax,%rax,1)
add    $0x1,%r14
mov    %r14,%rcx
cmp    %rax,%rcx
je     15e4 <boundaryvalues_pressure+0x4d4>
cmp    $0xfffffffe,%r8d
jle    1190 <boundaryvalues_pressure+0x80>
lea    0x1(%r14),%rax
mov    %rax,0x38(%rsp)
mov    %eax,%eax
mov    %rax,0x8(%rsp)
xor    %r13d,%r13d
nopl   0x0(%rax)
mov    0x40(%rsp),%rax
mov    (%rax,%r12,8),%rax
mov    (%rax,%r14,8),%rax
mov    (%rax,%r13,1),%edi
xor    %eax,%eax
call   1030 <getcelltype@plt>
add    $0xffffffff,%eax
cmp    $0x29,%eax
ja     15bc <boundaryvalues_pressure+0x4ac>
movslq (%r15,%rax,4),%rax
add    %r15,%rax
jmp    *%rax
mov    (%rbx,%r12,8),%rax
mov    (%rax,%r14,8),%rax
movsd  0x8(%rax,%r13,2),%xmm0
jmp    15b6 <boundaryvalues_pressure+0x4a6>
mov    (%rbx,%r12,8),%rax
mov    (%rax,%r14,8),%rax
movsd  -0x8(%rax,%r13,2),%xmm0
jmp    15b6 <boundaryvalues_pressure+0x4a6>
mov    (%rbx,%r12,8),%rax
mov    -0x8(%rax,%r14,8),%rcx
mov    (%rax,%r14,8),%rax
movsd  (%rcx,%r13,2),%xmm0
jmp    15b6 <boundaryvalues_pressure+0x4a6>
mov    (%rbx,%r12,8),%rax
mov    -0x8(%rax,%r14,8),%rcx
mov    (%rax,%r14,8),%rax
movsd  0x8(%rax,%r13,2),%xmm0
jmp    14ab <boundaryvalues_pressure+0x39b>
mov    (%rbx,%r12,8),%rax
mov    -0x8(%rax,%r14,8),%rcx
mov    (%rax,%r14,8),%rax
movsd  -0x8(%rax,%r13,2),%xmm0
jmp    14ab <boundaryvalues_pressure+0x39b>
mov    (%rbx,%r12,8),%rax
mov    0x8(%rsp),%rcx
mov    (%rax,%rcx,8),%rcx
movsd  (%rcx,%r13,2),%xmm0
mov    (%rax,%r14,8),%rax
jmp    15b6 <boundaryvalues_pressure+0x4a6>
mov    (%rbx,%r12,8),%rcx
mov    (%rcx,%r14,8),%rax
movsd  0x8(%rax,%r13,2),%xmm0
jmp    129b <boundaryvalues_pressure+0x18b>
mov    (%rbx,%r12,8),%rcx
mov    (%rcx,%r14,8),%rax
movsd  -0x8(%rax,%r13,2),%xmm0
mov    0x8(%rsp),%rdx
mov    (%rcx,%rdx,8),%rcx
jmp    14ab <boundaryvalues_pressure+0x39b>
mov    -0x8(%rbx,%r12,8),%rax
mov    (%rbx,%r12,8),%rcx
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    (%rcx,%r14,8),%rax
jmp    15b6 <boundaryvalues_pressure+0x4a6>
mov    -0x8(%rbx,%r12,8),%rax
mov    (%rbx,%r12,8),%rcx
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    (%rcx,%r14,8),%rax
jmp    144a <boundaryvalues_pressure+0x33a>
mov    -0x8(%rbx,%r12,8),%rax
mov    (%rbx,%r12,8),%rcx
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    (%rcx,%r14,8),%rax
jmp    1478 <boundaryvalues_pressure+0x368>
mov    -0x8(%rbx,%r12,8),%rax
mov    (%rbx,%r12,8),%rcx
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    -0x8(%rcx,%r14,8),%rdx
mov    (%rcx,%r14,8),%rax
addsd  (%rdx,%r13,2),%xmm0
mulsd  0xce1(%rip),%xmm0
jmp    15b6 <boundaryvalues_pressure+0x4a6>
mov    -0x8(%rbx,%r12,8),%rax
mov    (%rbx,%r12,8),%rcx
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    -0x8(%rcx,%r14,8),%rdx
mov    (%rcx,%r14,8),%rax
addsd  (%rdx,%r13,2),%xmm0
addsd  0x8(%rax,%r13,2),%xmm0
jmp    15ae <boundaryvalues_pressure+0x49e>
mov    -0x8(%rbx,%r12,8),%rax
mov    (%rbx,%r12,8),%rcx
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    -0x8(%rcx,%r14,8),%rdx
mov    (%rcx,%r14,8),%rax
addsd  (%rdx,%r13,2),%xmm0
jmp    15a7 <boundaryvalues_pressure+0x497>
mov    -0x8(%rbx,%r12,8),%rax
mov    (%rbx,%r12,8),%rcx
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    0x8(%rsp),%rax
mov    (%rcx,%rax,8),%rax
addsd  (%rax,%r13,2),%xmm0
mulsd  0xc5d(%rip),%xmm0
mov    (%rcx,%r14,8),%rax
jmp    15b6 <boundaryvalues_pressure+0x4a6>
mov    -0x8(%rbx,%r12,8),%rax
mov    (%rbx,%r12,8),%rcx
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    0x8(%rsp),%rax
mov    (%rcx,%rax,8),%rax
addsd  (%rax,%r13,2),%xmm0
mov    (%rcx,%r14,8),%rax
addsd  0x8(%rax,%r13,2),%xmm0
jmp    15ae <boundaryvalues_pressure+0x49e>
mov    -0x8(%rbx,%r12,8),%rax
mov    (%rbx,%r12,8),%rcx
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    0x8(%rsp),%rax
mov    (%rcx,%rax,8),%rax
addsd  (%rax,%r13,2),%xmm0
mov    (%rcx,%r14,8),%rax
jmp    15a7 <boundaryvalues_pressure+0x497>
mov    (%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    (%rbx,%r12,8),%rax
mov    (%rax,%r14,8),%rax
jmp    15b6 <boundaryvalues_pressure+0x4a6>
mov    (%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    (%rbx,%r12,8),%rax
mov    (%rax,%r14,8),%rax
addsd  0x8(%rax,%r13,2),%xmm0
mulsd  0xbaf(%rip),%xmm0
jmp    15b6 <boundaryvalues_pressure+0x4a6>
mov    (%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    (%rbx,%r12,8),%rax
mov    (%rax,%r14,8),%rax
addsd  -0x8(%rax,%r13,2),%xmm0
mulsd  0xb81(%rip),%xmm0
jmp    15b6 <boundaryvalues_pressure+0x4a6>
mov    (%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    (%rbx,%r12,8),%rax
mov    -0x8(%rax,%r14,8),%rcx
mov    (%rax,%r14,8),%rax
addsd  (%rcx,%r13,2),%xmm0
mulsd  0xb4f(%rip),%xmm0
jmp    15b6 <boundaryvalues_pressure+0x4a6>
mov    (%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    (%rbx,%r12,8),%rax
mov    -0x8(%rax,%r14,8),%rcx
mov    (%rax,%r14,8),%rax
addsd  (%rcx,%r13,2),%xmm0
addsd  0x8(%rax,%r13,2),%xmm0
jmp    15ae <boundaryvalues_pressure+0x49e>
mov    (%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    (%rbx,%r12,8),%rax
mov    -0x8(%rax,%r14,8),%rcx
mov    (%rax,%r14,8),%rax
addsd  (%rcx,%r13,2),%xmm0
jmp    15a7 <boundaryvalues_pressure+0x497>
mov    (%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    (%rbx,%r12,8),%rax
mov    0x8(%rsp),%rcx
mov    (%rax,%rcx,8),%rcx
addsd  (%rcx,%r13,2),%xmm0
mulsd  0xac2(%rip),%xmm0
mov    (%rax,%r14,8),%rax
jmp    15b6 <boundaryvalues_pressure+0x4a6>
mov    (%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    (%rbx,%r12,8),%rax
mov    0x8(%rsp),%rcx
mov    (%rax,%rcx,8),%rcx
addsd  (%rcx,%r13,2),%xmm0
mov    (%rax,%r14,8),%rax
addsd  0x8(%rax,%r13,2),%xmm0
jmp    15ae <boundaryvalues_pressure+0x49e>
mov    (%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r14,8),%rax
movsd  (%rax,%r13,2),%xmm0
mov    (%rbx,%r12,8),%rax
mov    0x8(%rsp),%rcx
mov    (%rax,%rcx,8),%rcx
addsd  (%rcx,%r13,2),%xmm0
mov    (%rax,%r14,8),%rax
addsd  -0x8(%rax,%r13,2),%xmm0
divsd  0xa4a(%rip),%xmm0
movsd  %xmm0,(%rax,%r13,2)
add    $0x4,%r13
cmp    %r13,%rbp
jne    11c0 <boundaryvalues_pressure+0xb0>
mov    0x38(%rsp),%rcx
mov    %rcx,%r14
mov    0x30(%rsp),%r8
mov    0x28(%rsp),%rax
cmp    %rax,%rcx
jne    11a0 <boundaryvalues_pressure+0x90>
mov    0x20(%rsp),%rsi
mov    %rsi,%r12
mov    0x18(%rsp),%rcx
mov    0x10(%rsp),%rdx
cmp    %rdx,%rsi
jne    1170 <boundaryvalues_pressure+0x60>
add    $0x48,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define void @boundaryvalues_pressure(double*** %0, i32*** %1, i32 %2, i32 %3, i32 %4) {
%6 = alloca double***
%7 = alloca i32***
%8 = alloca i32
%9 = alloca i32
%10 = alloca i32
%11 = alloca i32
%12 = alloca i32
%13 = alloca i32
%14 = alloca i32
store double*** %0, double**** %6
store i32*** %1, i32**** %7
store i32 %2, i32* %8
store i32 %3, i32* %9
store i32 %4, i32* %10
store i32 0, i32* %11
br label %15
15: ; preds = %1207, %5
%16 = load i32, i32* %11
%17 = load i32, i32* %8
%18 = add nsw i32 %17, 1
%19 = icmp sle i32 %16, %18
br i1 %19, label %20, label %1210
20: ; preds = %15
store i32 0, i32* %12
br label %21
21: ; preds = %1203, %20
%22 = load i32, i32* %12
%23 = load i32, i32* %9
%24 = add nsw i32 %23, 1
%25 = icmp sle i32 %22, %24
br i1 %25, label %26, label %1206
26: ; preds = %21
store i32 0, i32* %13
br label %27
27: ; preds = %1199, %26
%28 = load i32, i32* %13
%29 = load i32, i32* %10
%30 = add nsw i32 %29, 1
%31 = icmp sle i32 %28, %30
br i1 %31, label %32, label %1202
32: ; preds = %27
%33 = load i32***, i32**** %7
%34 = load i32, i32* %11
%35 = sext i32 %34 to i64
%36 = getelementptr inbounds i32**, i32*** %33, i64 %35
%37 = load i32**, i32*** %36
%38 = load i32, i32* %12
%39 = sext i32 %38 to i64
%40 = getelementptr inbounds i32*, i32** %37, i64 %39
%41 = load i32*, i32** %40
%42 = load i32, i32* %13
%43 = sext i32 %42 to i64
%44 = getelementptr inbounds i32, i32* %41, i64 %43
%45 = load i32, i32* %44
%46 = call i32 (i32, ...) bitcast (i32 (...)* @getcelltype to i32 (i32, ...)*)(i32 %45)
switch i32 %46, label %1197 [
i32 32, label %47
i32 16, label %74
i32 8, label %101
i32 4, label %128
i32 1, label %155
i32 2, label %182
i32 40, label %209
i32 24, label %252
i32 36, label %295
i32 20, label %338
i32 9, label %381
i32 10, label %424
i32 5, label %467
i32 6, label %510
i32 33, label %553
i32 17, label %596
i32 34, label %639
i32 18, label %682
i32 41, label %725
i32 25, label %784
i32 37, label %843
i32 21, label %902
i32 42, label %961
i32 26, label %1020
i32 38, label %1079
i32 22, label %1138
]
47: ; preds = %32
%48 = load double***, double**** %6
%49 = load i32, i32* %11
%50 = add nsw i32 %49, 1
%51 = sext i32 %50 to i64
%52 = getelementptr inbounds double**, double*** %48, i64 %51
%53 = load double**, double*** %52
%54 = load i32, i32* %12
%55 = sext i32 %54 to i64
%56 = getelementptr inbounds double*, double** %53, i64 %55
%57 = load double*, double** %56
%58 = load i32, i32* %13
%59 = sext i32 %58 to i64
%60 = getelementptr inbounds double, double* %57, i64 %59
%61 = load double, double* %60
%62 = load double***, double**** %6
%63 = load i32, i32* %11
%64 = sext i32 %63 to i64
%65 = getelementptr inbounds double**, double*** %62, i64 %64
%66 = load double**, double*** %65
%67 = load i32, i32* %12
%68 = sext i32 %67 to i64
%69 = getelementptr inbounds double*, double** %66, i64 %68
%70 = load double*, double** %69
%71 = load i32, i32* %13
%72 = sext i32 %71 to i64
%73 = getelementptr inbounds double, double* %70, i64 %72
store double %61, double* %73
br label %1198
74: ; preds = %32
%75 = load double***, double**** %6
%76 = load i32, i32* %11
%77 = sub nsw i32 %76, 1
%78 = sext i32 %77 to i64
%79 = getelementptr inbounds double**, double*** %75, i64 %78
%80 = load double**, double*** %79
%81 = load i32, i32* %12
%82 = sext i32 %81 to i64
%83 = getelementptr inbounds double*, double** %80, i64 %82
%84 = load double*, double** %83
%85 = load i32, i32* %13
%86 = sext i32 %85 to i64
%87 = getelementptr inbounds double, double* %84, i64 %86
%88 = load double, double* %87
%89 = load double***, double**** %6
%90 = load i32, i32* %11
%91 = sext i32 %90 to i64
%92 = getelementptr inbounds double**, double*** %89, i64 %91
%93 = load double**, double*** %92
%94 = load i32, i32* %12
%95 = sext i32 %94 to i64
%96 = getelementptr inbounds double*, double** %93, i64 %95
%97 = load double*, double** %96
%98 = load i32, i32* %13
%99 = sext i32 %98 to i64
%100 = getelementptr inbounds double, double* %97, i64 %99
store double %88, double* %100
br label %1198
101: ; preds = %32
%102 = load double***, double**** %6
%103 = load i32, i32* %11
%104 = sext i32 %103 to i64
%105 = getelementptr inbounds double**, double*** %102, i64 %104
%106 = load double**, double*** %105
%107 = load i32, i32* %12
%108 = add nsw i32 %107, 1
%109 = sext i32 %108 to i64
%110 = getelementptr inbounds double*, double** %106, i64 %109
%111 = load double*, double** %110
%112 = load i32, i32* %13
%113 = sext i32 %112 to i64
%114 = getelementptr inbounds double, double* %111, i64 %113
%115 = load double, double* %114
%116 = load double***, double**** %6
%117 = load i32, i32* %11
%118 = sext i32 %117 to i64
%119 = getelementptr inbounds double**, double*** %116, i64 %118
%120 = load double**, double*** %119
%121 = load i32, i32* %12
%122 = sext i32 %121 to i64
%123 = getelementptr inbounds double*, double** %120, i64 %122
%124 = load double*, double** %123
%125 = load i32, i32* %13
%126 = sext i32 %125 to i64
%127 = getelementptr inbounds double, double* %124, i64 %126
store double %115, double* %127
br label %1198
128: ; preds = %32
%129 = load double***, double**** %6
%130 = load i32, i32* %11
%131 = sext i32 %130 to i64
%132 = getelementptr inbounds double**, double*** %129, i64 %131
%133 = load double**, double*** %132
%134 = load i32, i32* %12
%135 = sub nsw i32 %134, 1
%136 = sext i32 %135 to i64
%137 = getelementptr inbounds double*, double** %133, i64 %136
%138 = load double*, double** %137
%139 = load i32, i32* %13
%140 = sext i32 %139 to i64
%141 = getelementptr inbounds double, double* %138, i64 %140
%142 = load double, double* %141
%143 = load double***, double**** %6
%144 = load i32, i32* %11
%145 = sext i32 %144 to i64
%146 = getelementptr inbounds double**, double*** %143, i64 %145
%147 = load double**, double*** %146
%148 = load i32, i32* %12
%149 = sext i32 %148 to i64
%150 = getelementptr inbounds double*, double** %147, i64 %149
%151 = load double*, double** %150
%152 = load i32, i32* %13
%153 = sext i32 %152 to i64
%154 = getelementptr inbounds double, double* %151, i64 %153
store double %142, double* %154
br label %1198
155: ; preds = %32
%156 = load double***, double**** %6
%157 = load i32, i32* %11
%158 = sext i32 %157 to i64
%159 = getelementptr inbounds double**, double*** %156, i64 %158
%160 = load double**, double*** %159
%161 = load i32, i32* %12
%162 = sext i32 %161 to i64
%163 = getelementptr inbounds double*, double** %160, i64 %162
%164 = load double*, double** %163
%165 = load i32, i32* %13
%166 = add nsw i32 %165, 1
%167 = sext i32 %166 to i64
%168 = getelementptr inbounds double, double* %164, i64 %167
%169 = load double, double* %168
%170 = load double***, double**** %6
%171 = load i32, i32* %11
%172 = sext i32 %171 to i64
%173 = getelementptr inbounds double**, double*** %170, i64 %172
%174 = load double**, double*** %173
%175 = load i32, i32* %12
%176 = sext i32 %175 to i64
%177 = getelementptr inbounds double*, double** %174, i64 %176
%178 = load double*, double** %177
%179 = load i32, i32* %13
%180 = sext i32 %179 to i64
%181 = getelementptr inbounds double, double* %178, i64 %180
store double %169, double* %181
br label %1198
182: ; preds = %32
%183 = load double***, double**** %6
%184 = load i32, i32* %11
%185 = sext i32 %184 to i64
%186 = getelementptr inbounds double**, double*** %183, i64 %185
%187 = load double**, double*** %186
%188 = load i32, i32* %12
%189 = sext i32 %188 to i64
%190 = getelementptr inbounds double*, double** %187, i64 %189
%191 = load double*, double** %190
%192 = load i32, i32* %13
%193 = sub nsw i32 %192, 1
%194 = sext i32 %193 to i64
%195 = getelementptr inbounds double, double* %191, i64 %194
%196 = load double, double* %195
%197 = load double***, double**** %6
%198 = load i32, i32* %11
%199 = sext i32 %198 to i64
%200 = getelementptr inbounds double**, double*** %197, i64 %199
%201 = load double**, double*** %200
%202 = load i32, i32* %12
%203 = sext i32 %202 to i64
%204 = getelementptr inbounds double*, double** %201, i64 %203
%205 = load double*, double** %204
%206 = load i32, i32* %13
%207 = sext i32 %206 to i64
%208 = getelementptr inbounds double, double* %205, i64 %207
store double %196, double* %208
br label %1198
209: ; preds = %32
%210 = load double***, double**** %6
%211 = load i32, i32* %11
%212 = add nsw i32 %211, 1
%213 = sext i32 %212 to i64
%214 = getelementptr inbounds double**, double*** %210, i64 %213
%215 = load double**, double*** %214
%216 = load i32, i32* %12
%217 = sext i32 %216 to i64
%218 = getelementptr inbounds double*, double** %215, i64 %217
%219 = load double*, double** %218
%220 = load i32, i32* %13
%221 = sext i32 %220 to i64
%222 = getelementptr inbounds double, double* %219, i64 %221
%223 = load double, double* %222
%224 = load double***, double**** %6
%225 = load i32, i32* %11
%226 = sext i32 %225 to i64
%227 = getelementptr inbounds double**, double*** %224, i64 %226
%228 = load double**, double*** %227
%229 = load i32, i32* %12
%230 = add nsw i32 %229, 1
%231 = sext i32 %230 to i64
%232 = getelementptr inbounds double*, double** %228, i64 %231
%233 = load double*, double** %232
%234 = load i32, i32* %13
%235 = sext i32 %234 to i64
%236 = getelementptr inbounds double, double* %233, i64 %235
%237 = load double, double* %236
%238 = fadd double %223, %237
%239 = fmul double %238, 5.000000e-01
%240 = load double***, double**** %6
%241 = load i32, i32* %11
%242 = sext i32 %241 to i64
%243 = getelementptr inbounds double**, double*** %240, i64 %242
%244 = load double**, double*** %243
%245 = load i32, i32* %12
%246 = sext i32 %245 to i64
%247 = getelementptr inbounds double*, double** %244, i64 %246
%248 = load double*, double** %247
%249 = load i32, i32* %13
%250 = sext i32 %249 to i64
%251 = getelementptr inbounds double, double* %248, i64 %250
store double %239, double* %251
br label %1198
252: ; preds = %32
%253 = load double***, double**** %6
%254 = load i32, i32* %11
%255 = sub nsw i32 %254, 1
%256 = sext i32 %255 to i64
%257 = getelementptr inbounds double**, double*** %253, i64 %256
%258 = load double**, double*** %257
%259 = load i32, i32* %12
%260 = sext i32 %259 to i64
%261 = getelementptr inbounds double*, double** %258, i64 %260
%262 = load double*, double** %261
%263 = load i32, i32* %13
%264 = sext i32 %263 to i64
%265 = getelementptr inbounds double, double* %262, i64 %264
%266 = load double, double* %265
%267 = load double***, double**** %6
%268 = load i32, i32* %11
%269 = sext i32 %268 to i64
%270 = getelementptr inbounds double**, double*** %267, i64 %269
%271 = load double**, double*** %270
%272 = load i32, i32* %12
%273 = add nsw i32 %272, 1
%274 = sext i32 %273 to i64
%275 = getelementptr inbounds double*, double** %271, i64 %274
%276 = load double*, double** %275
%277 = load i32, i32* %13
%278 = sext i32 %277 to i64
%279 = getelementptr inbounds double, double* %276, i64 %278
%280 = load double, double* %279
%281 = fadd double %266, %280
%282 = fmul double %281, 5.000000e-01
%283 = load double***, double**** %6
%284 = load i32, i32* %11
%285 = sext i32 %284 to i64
%286 = getelementptr inbounds double**, double*** %283, i64 %285
%287 = load double**, double*** %286
%288 = load i32, i32* %12
%289 = sext i32 %288 to i64
%290 = getelementptr inbounds double*, double** %287, i64 %289
%291 = load double*, double** %290
%292 = load i32, i32* %13
%293 = sext i32 %292 to i64
%294 = getelementptr inbounds double, double* %291, i64 %293
store double %282, double* %294
br label %1198
295: ; preds = %32
%296 = load double***, double**** %6
%297 = load i32, i32* %11
%298 = add nsw i32 %297, 1
%299 = sext i32 %298 to i64
%300 = getelementptr inbounds double**, double*** %296, i64 %299
%301 = load double**, double*** %300
%302 = load i32, i32* %12
%303 = sext i32 %302 to i64
%304 = getelementptr inbounds double*, double** %301, i64 %303
%305 = load double*, double** %304
%306 = load i32, i32* %13
%307 = sext i32 %306 to i64
%308 = getelementptr inbounds double, double* %305, i64 %307
%309 = load double, double* %308
%310 = load double***, double**** %6
%311 = load i32, i32* %11
%312 = sext i32 %311 to i64
%313 = getelementptr inbounds double**, double*** %310, i64 %312
%314 = load double**, double*** %313
%315 = load i32, i32* %12
%316 = sub nsw i32 %315, 1
%317 = sext i32 %316 to i64
%318 = getelementptr inbounds double*, double** %314, i64 %317
%319 = load double*, double** %318
%320 = load i32, i32* %13
%321 = sext i32 %320 to i64
%322 = getelementptr inbounds double, double* %319, i64 %321
%323 = load double, double* %322
%324 = fadd double %309, %323
%325 = fmul double %324, 5.000000e-01
%326 = load double***, double**** %6
%327 = load i32, i32* %11
%328 = sext i32 %327 to i64
%329 = getelementptr inbounds double**, double*** %326, i64 %328
%330 = load double**, double*** %329
%331 = load i32, i32* %12
%332 = sext i32 %331 to i64
%333 = getelementptr inbounds double*, double** %330, i64 %332
%334 = load double*, double** %333
%335 = load i32, i32* %13
%336 = sext i32 %335 to i64
%337 = getelementptr inbounds double, double* %334, i64 %336
store double %325, double* %337
br label %1198
338: ; preds = %32
%339 = load double***, double**** %6
%340 = load i32, i32* %11
%341 = sub nsw i32 %340, 1
%342 = sext i32 %341 to i64
%343 = getelementptr inbounds double**, double*** %339, i64 %342
%344 = load double**, double*** %343
%345 = load i32, i32* %12
%346 = sext i32 %345 to i64
%347 = getelementptr inbounds double*, double** %344, i64 %346
%348 = load double*, double** %347
%349 = load i32, i32* %13
%350 = sext i32 %349 to i64
%351 = getelementptr inbounds double, double* %348, i64 %350
%352 = load double, double* %351
%353 = load double***, double**** %6
%354 = load i32, i32* %11
%355 = sext i32 %354 to i64
%356 = getelementptr inbounds double**, double*** %353, i64 %355
%357 = load double**, double*** %356
%358 = load i32, i32* %12
%359 = sub nsw i32 %358, 1
%360 = sext i32 %359 to i64
%361 = getelementptr inbounds double*, double** %357, i64 %360
%362 = load double*, double** %361
%363 = load i32, i32* %13
%364 = sext i32 %363 to i64
%365 = getelementptr inbounds double, double* %362, i64 %364
%366 = load double, double* %365
%367 = fadd double %352, %366
%368 = fmul double %367, 5.000000e-01
%369 = load double***, double**** %6
%370 = load i32, i32* %11
%371 = sext i32 %370 to i64
%372 = getelementptr inbounds double**, double*** %369, i64 %371
%373 = load double**, double*** %372
%374 = load i32, i32* %12
%375 = sext i32 %374 to i64
%376 = getelementptr inbounds double*, double** %373, i64 %375
%377 = load double*, double** %376
%378 = load i32, i32* %13
%379 = sext i32 %378 to i64
%380 = getelementptr inbounds double, double* %377, i64 %379
store double %368, double* %380
br label %1198
381: ; preds = %32
%382 = load double***, double**** %6
%383 = load i32, i32* %11
%384 = sext i32 %383 to i64
%385 = getelementptr inbounds double**, double*** %382, i64 %384
%386 = load double**, double*** %385
%387 = load i32, i32* %12
%388 = sext i32 %387 to i64
%389 = getelementptr inbounds double*, double** %386, i64 %388
%390 = load double*, double** %389
%391 = load i32, i32* %13
%392 = add nsw i32 %391, 1
%393 = sext i32 %392 to i64
%394 = getelementptr inbounds double, double* %390, i64 %393
%395 = load double, double* %394
%396 = load double***, double**** %6
%397 = load i32, i32* %11
%398 = sext i32 %397 to i64
%399 = getelementptr inbounds double**, double*** %396, i64 %398
%400 = load double**, double*** %399
%401 = load i32, i32* %12
%402 = add nsw i32 %401, 1
%403 = sext i32 %402 to i64
%404 = getelementptr inbounds double*, double** %400, i64 %403
%405 = load double*, double** %404
%406 = load i32, i32* %13
%407 = sext i32 %406 to i64
%408 = getelementptr inbounds double, double* %405, i64 %407
%409 = load double, double* %408
%410 = fadd double %395, %409
%411 = fmul double %410, 5.000000e-01
%412 = load double***, double**** %6
%413 = load i32, i32* %11
%414 = sext i32 %413 to i64
%415 = getelementptr inbounds double**, double*** %412, i64 %414
%416 = load double**, double*** %415
%417 = load i32, i32* %12
%418 = sext i32 %417 to i64
%419 = getelementptr inbounds double*, double** %416, i64 %418
%420 = load double*, double** %419
%421 = load i32, i32* %13
%422 = sext i32 %421 to i64
%423 = getelementptr inbounds double, double* %420, i64 %422
store double %411, double* %423
br label %1198
424: ; preds = %32
%425 = load double***, double**** %6
%426 = load i32, i32* %11
%427 = sext i32 %426 to i64
%428 = getelementptr inbounds double**, double*** %425, i64 %427
%429 = load double**, double*** %428
%430 = load i32, i32* %12
%431 = sext i32 %430 to i64
%432 = getelementptr inbounds double*, double** %429, i64 %431
%433 = load double*, double** %432
%434 = load i32, i32* %13
%435 = sub nsw i32 %434, 1
%436 = sext i32 %435 to i64
%437 = getelementptr inbounds double, double* %433, i64 %436
%438 = load double, double* %437
%439 = load double***, double**** %6
%440 = load i32, i32* %11
%441 = sext i32 %440 to i64
%442 = getelementptr inbounds double**, double*** %439, i64 %441
%443 = load double**, double*** %442
%444 = load i32, i32* %12
%445 = add nsw i32 %444, 1
%446 = sext i32 %445 to i64
%447 = getelementptr inbounds double*, double** %443, i64 %446
%448 = load double*, double** %447
%449 = load i32, i32* %13
%450 = sext i32 %449 to i64
%451 = getelementptr inbounds double, double* %448, i64 %450
%452 = load double, double* %451
%453 = fadd double %438, %452
%454 = fmul double %453, 5.000000e-01
%455 = load double***, double**** %6
%456 = load i32, i32* %11
%457 = sext i32 %456 to i64
%458 = getelementptr inbounds double**, double*** %455, i64 %457
%459 = load double**, double*** %458
%460 = load i32, i32* %12
%461 = sext i32 %460 to i64
%462 = getelementptr inbounds double*, double** %459, i64 %461
%463 = load double*, double** %462
%464 = load i32, i32* %13
%465 = sext i32 %464 to i64
%466 = getelementptr inbounds double, double* %463, i64 %465
store double %454, double* %466
br label %1198
467: ; preds = %32
%468 = load double***, double**** %6
%469 = load i32, i32* %11
%470 = sext i32 %469 to i64
%471 = getelementptr inbounds double**, double*** %468, i64 %470
%472 = load double**, double*** %471
%473 = load i32, i32* %12
%474 = sext i32 %473 to i64
%475 = getelementptr inbounds double*, double** %472, i64 %474
%476 = load double*, double** %475
%477 = load i32, i32* %13
%478 = add nsw i32 %477, 1
%479 = sext i32 %478 to i64
%480 = getelementptr inbounds double, double* %476, i64 %479
%481 = load double, double* %480
%482 = load double***, double**** %6
%483 = load i32, i32* %11
%484 = sext i32 %483 to i64
%485 = getelementptr inbounds double**, double*** %482, i64 %484
%486 = load double**, double*** %485
%487 = load i32, i32* %12
%488 = sub nsw i32 %487, 1
%489 = sext i32 %488 to i64
%490 = getelementptr inbounds double*, double** %486, i64 %489
%491 = load double*, double** %490
%492 = load i32, i32* %13
%493 = sext i32 %492 to i64
%494 = getelementptr inbounds double, double* %491, i64 %493
%495 = load double, double* %494
%496 = fadd double %481, %495
%497 = fmul double %496, 5.000000e-01
%498 = load double***, double**** %6
%499 = load i32, i32* %11
%500 = sext i32 %499 to i64
%501 = getelementptr inbounds double**, double*** %498, i64 %500
%502 = load double**, double*** %501
%503 = load i32, i32* %12
%504 = sext i32 %503 to i64
%505 = getelementptr inbounds double*, double** %502, i64 %504
%506 = load double*, double** %505
%507 = load i32, i32* %13
%508 = sext i32 %507 to i64
%509 = getelementptr inbounds double, double* %506, i64 %508
store double %497, double* %509
br label %1198
510: ; preds = %32
%511 = load double***, double**** %6
%512 = load i32, i32* %11
%513 = sext i32 %512 to i64
%514 = getelementptr inbounds double**, double*** %511, i64 %513
%515 = load double**, double*** %514
%516 = load i32, i32* %12
%517 = sext i32 %516 to i64
%518 = getelementptr inbounds double*, double** %515, i64 %517
%519 = load double*, double** %518
%520 = load i32, i32* %13
%521 = sub nsw i32 %520, 1
%522 = sext i32 %521 to i64
%523 = getelementptr inbounds double, double* %519, i64 %522
%524 = load double, double* %523
%525 = load double***, double**** %6
%526 = load i32, i32* %11
%527 = sext i32 %526 to i64
%528 = getelementptr inbounds double**, double*** %525, i64 %527
%529 = load double**, double*** %528
%530 = load i32, i32* %12
%531 = sub nsw i32 %530, 1
%532 = sext i32 %531 to i64
%533 = getelementptr inbounds double*, double** %529, i64 %532
%534 = load double*, double** %533
%535 = load i32, i32* %13
%536 = sext i32 %535 to i64
%537 = getelementptr inbounds double, double* %534, i64 %536
%538 = load double, double* %537
%539 = fadd double %524, %538
%540 = fmul double %539, 5.000000e-01
%541 = load double***, double**** %6
%542 = load i32, i32* %11
%543 = sext i32 %542 to i64
%544 = getelementptr inbounds double**, double*** %541, i64 %543
%545 = load double**, double*** %544
%546 = load i32, i32* %12
%547 = sext i32 %546 to i64
%548 = getelementptr inbounds double*, double** %545, i64 %547
%549 = load double*, double** %548
%550 = load i32, i32* %13
%551 = sext i32 %550 to i64
%552 = getelementptr inbounds double, double* %549, i64 %551
store double %540, double* %552
br label %1198
553: ; preds = %32
%554 = load double***, double**** %6
%555 = load i32, i32* %11
%556 = add nsw i32 %555, 1
%557 = sext i32 %556 to i64
%558 = getelementptr inbounds double**, double*** %554, i64 %557
%559 = load double**, double*** %558
%560 = load i32, i32* %12
%561 = sext i32 %560 to i64
%562 = getelementptr inbounds double*, double** %559, i64 %561
%563 = load double*, double** %562
%564 = load i32, i32* %13
%565 = sext i32 %564 to i64
%566 = getelementptr inbounds double, double* %563, i64 %565
%567 = load double, double* %566
%568 = load double***, double**** %6
%569 = load i32, i32* %11
%570 = sext i32 %569 to i64
%571 = getelementptr inbounds double**, double*** %568, i64 %570
%572 = load double**, double*** %571
%573 = load i32, i32* %12
%574 = sext i32 %573 to i64
%575 = getelementptr inbounds double*, double** %572, i64 %574
%576 = load double*, double** %575
%577 = load i32, i32* %13
%578 = add nsw i32 %577, 1
%579 = sext i32 %578 to i64
%580 = getelementptr inbounds double, double* %576, i64 %579
%581 = load double, double* %580
%582 = fadd double %567, %581
%583 = fmul double %582, 5.000000e-01
%584 = load double***, double**** %6
%585 = load i32, i32* %11
%586 = sext i32 %585 to i64
%587 = getelementptr inbounds double**, double*** %584, i64 %586
%588 = load double**, double*** %587
%589 = load i32, i32* %12
%590 = sext i32 %589 to i64
%591 = getelementptr inbounds double*, double** %588, i64 %590
%592 = load double*, double** %591
%593 = load i32, i32* %13
%594 = sext i32 %593 to i64
%595 = getelementptr inbounds double, double* %592, i64 %594
store double %583, double* %595
br label %1198
596: ; preds = %32
%597 = load double***, double**** %6
%598 = load i32, i32* %11
%599 = sub nsw i32 %598, 1
%600 = sext i32 %599 to i64
%601 = getelementptr inbounds double**, double*** %597, i64 %600
%602 = load double**, double*** %601
%603 = load i32, i32* %12
%604 = sext i32 %603 to i64
%605 = getelementptr inbounds double*, double** %602, i64 %604
%606 = load double*, double** %605
%607 = load i32, i32* %13
%608 = sext i32 %607 to i64
%609 = getelementptr inbounds double, double* %606, i64 %608
%610 = load double, double* %609
%611 = load double***, double**** %6
%612 = load i32, i32* %11
%613 = sext i32 %612 to i64
%614 = getelementptr inbounds double**, double*** %611, i64 %613
%615 = load double**, double*** %614
%616 = load i32, i32* %12
%617 = sext i32 %616 to i64
%618 = getelementptr inbounds double*, double** %615, i64 %617
%619 = load double*, double** %618
%620 = load i32, i32* %13
%621 = add nsw i32 %620, 1
%622 = sext i32 %621 to i64
%623 = getelementptr inbounds double, double* %619, i64 %622
%624 = load double, double* %623
%625 = fadd double %610, %624
%626 = fmul double %625, 5.000000e-01
%627 = load double***, double**** %6
%628 = load i32, i32* %11
%629 = sext i32 %628 to i64
%630 = getelementptr inbounds double**, double*** %627, i64 %629
%631 = load double**, double*** %630
%632 = load i32, i32* %12
%633 = sext i32 %632 to i64
%634 = getelementptr inbounds double*, double** %631, i64 %633
%635 = load double*, double** %634
%636 = load i32, i32* %13
%637 = sext i32 %636 to i64
%638 = getelementptr inbounds double, double* %635, i64 %637
store double %626, double* %638
br label %1198
639: ; preds = %32
%640 = load double***, double**** %6
%641 = load i32, i32* %11
%642 = add nsw i32 %641, 1
%643 = sext i32 %642 to i64
%644 = getelementptr inbounds double**, double*** %640, i64 %643
%645 = load double**, double*** %644
%646 = load i32, i32* %12
%647 = sext i32 %646 to i64
%648 = getelementptr inbounds double*, double** %645, i64 %647
%649 = load double*, double** %648
%650 = load i32, i32* %13
%651 = sext i32 %650 to i64
%652 = getelementptr inbounds double, double* %649, i64 %651
%653 = load double, double* %652
%654 = load double***, double**** %6
%655 = load i32, i32* %11
%656 = sext i32 %655 to i64
%657 = getelementptr inbounds double**, double*** %654, i64 %656
%658 = load double**, double*** %657
%659 = load i32, i32* %12
%660 = sext i32 %659 to i64
%661 = getelementptr inbounds double*, double** %658, i64 %660
%662 = load double*, double** %661
%663 = load i32, i32* %13
%664 = sub nsw i32 %663, 1
%665 = sext i32 %664 to i64
%666 = getelementptr inbounds double, double* %662, i64 %665
%667 = load double, double* %666
%668 = fadd double %653, %667
%669 = fmul double %668, 5.000000e-01
%670 = load double***, double**** %6
%671 = load i32, i32* %11
%672 = sext i32 %671 to i64
%673 = getelementptr inbounds double**, double*** %670, i64 %672
%674 = load double**, double*** %673
%675 = load i32, i32* %12
%676 = sext i32 %675 to i64
%677 = getelementptr inbounds double*, double** %674, i64 %676
%678 = load double*, double** %677
%679 = load i32, i32* %13
%680 = sext i32 %679 to i64
%681 = getelementptr inbounds double, double* %678, i64 %680
store double %669, double* %681
br label %1198
682: ; preds = %32
%683 = load double***, double**** %6
%684 = load i32, i32* %11
%685 = sub nsw i32 %684, 1
%686 = sext i32 %685 to i64
%687 = getelementptr inbounds double**, double*** %683, i64 %686
%688 = load double**, double*** %687
%689 = load i32, i32* %12
%690 = sext i32 %689 to i64
%691 = getelementptr inbounds double*, double** %688, i64 %690
%692 = load double*, double** %691
%693 = load i32, i32* %13
%694 = sext i32 %693 to i64
%695 = getelementptr inbounds double, double* %692, i64 %694
%696 = load double, double* %695
%697 = load double***, double**** %6
%698 = load i32, i32* %11
%699 = sext i32 %698 to i64
%700 = getelementptr inbounds double**, double*** %697, i64 %699
%701 = load double**, double*** %700
%702 = load i32, i32* %12
%703 = sext i32 %702 to i64
%704 = getelementptr inbounds double*, double** %701, i64 %703
%705 = load double*, double** %704
%706 = load i32, i32* %13
%707 = sub nsw i32 %706, 1
%708 = sext i32 %707 to i64
%709 = getelementptr inbounds double, double* %705, i64 %708
%710 = load double, double* %709
%711 = fadd double %696, %710
%712 = fmul double %711, 5.000000e-01
%713 = load double***, double**** %6
%714 = load i32, i32* %11
%715 = sext i32 %714 to i64
%716 = getelementptr inbounds double**, double*** %713, i64 %715
%717 = load double**, double*** %716
%718 = load i32, i32* %12
%719 = sext i32 %718 to i64
%720 = getelementptr inbounds double*, double** %717, i64 %719
%721 = load double*, double** %720
%722 = load i32, i32* %13
%723 = sext i32 %722 to i64
%724 = getelementptr inbounds double, double* %721, i64 %723
store double %712, double* %724
br label %1198
725: ; preds = %32
%726 = load double***, double**** %6
%727 = load i32, i32* %11
%728 = add nsw i32 %727, 1
%729 = sext i32 %728 to i64
%730 = getelementptr inbounds double**, double*** %726, i64 %729
%731 = load double**, double*** %730
%732 = load i32, i32* %12
%733 = sext i32 %732 to i64
%734 = getelementptr inbounds double*, double** %731, i64 %733
%735 = load double*, double** %734
%736 = load i32, i32* %13
%737 = sext i32 %736 to i64
%738 = getelementptr inbounds double, double* %735, i64 %737
%739 = load double, double* %738
%740 = load double***, double**** %6
%741 = load i32, i32* %11
%742 = sext i32 %741 to i64
%743 = getelementptr inbounds double**, double*** %740, i64 %742
%744 = load double**, double*** %743
%745 = load i32, i32* %12
%746 = add nsw i32 %745, 1
%747 = sext i32 %746 to i64
%748 = getelementptr inbounds double*, double** %744, i64 %747
%749 = load double*, double** %748
%750 = load i32, i32* %13
%751 = sext i32 %750 to i64
%752 = getelementptr inbounds double, double* %749, i64 %751
%753 = load double, double* %752
%754 = fadd double %739, %753
%755 = load double***, double**** %6
%756 = load i32, i32* %11
%757 = sext i32 %756 to i64
%758 = getelementptr inbounds double**, double*** %755, i64 %757
%759 = load double**, double*** %758
%760 = load i32, i32* %12
%761 = sext i32 %760 to i64
%762 = getelementptr inbounds double*, double** %759, i64 %761
%763 = load double*, double** %762
%764 = load i32, i32* %13
%765 = add nsw i32 %764, 1
%766 = sext i32 %765 to i64
%767 = getelementptr inbounds double, double* %763, i64 %766
%768 = load double, double* %767
%769 = fadd double %754, %768
%770 = fmul double %769, 1.000000e+00
%771 = fdiv double %770, 3.000000e+00
%772 = load double***, double**** %6
%773 = load i32, i32* %11
%774 = sext i32 %773 to i64
%775 = getelementptr inbounds double**, double*** %772, i64 %774
%776 = load double**, double*** %775
%777 = load i32, i32* %12
%778 = sext i32 %777 to i64
%779 = getelementptr inbounds double*, double** %776, i64 %778
%780 = load double*, double** %779
%781 = load i32, i32* %13
%782 = sext i32 %781 to i64
%783 = getelementptr inbounds double, double* %780, i64 %782
store double %771, double* %783
br label %1198
784: ; preds = %32
%785 = load double***, double**** %6
%786 = load i32, i32* %11
%787 = sub nsw i32 %786, 1
%788 = sext i32 %787 to i64
%789 = getelementptr inbounds double**, double*** %785, i64 %788
%790 = load double**, double*** %789
%791 = load i32, i32* %12
%792 = sext i32 %791 to i64
%793 = getelementptr inbounds double*, double** %790, i64 %792
%794 = load double*, double** %793
%795 = load i32, i32* %13
%796 = sext i32 %795 to i64
%797 = getelementptr inbounds double, double* %794, i64 %796
%798 = load double, double* %797
%799 = load double***, double**** %6
%800 = load i32, i32* %11
%801 = sext i32 %800 to i64
%802 = getelementptr inbounds double**, double*** %799, i64 %801
%803 = load double**, double*** %802
%804 = load i32, i32* %12
%805 = add nsw i32 %804, 1
%806 = sext i32 %805 to i64
%807 = getelementptr inbounds double*, double** %803, i64 %806
%808 = load double*, double** %807
%809 = load i32, i32* %13
%810 = sext i32 %809 to i64
%811 = getelementptr inbounds double, double* %808, i64 %810
%812 = load double, double* %811
%813 = fadd double %798, %812
%814 = load double***, double**** %6
%815 = load i32, i32* %11
%816 = sext i32 %815 to i64
%817 = getelementptr inbounds double**, double*** %814, i64 %816
%818 = load double**, double*** %817
%819 = load i32, i32* %12
%820 = sext i32 %819 to i64
%821 = getelementptr inbounds double*, double** %818, i64 %820
%822 = load double*, double** %821
%823 = load i32, i32* %13
%824 = add nsw i32 %823, 1
%825 = sext i32 %824 to i64
%826 = getelementptr inbounds double, double* %822, i64 %825
%827 = load double, double* %826
%828 = fadd double %813, %827
%829 = fmul double %828, 1.000000e+00
%830 = fdiv double %829, 3.000000e+00
%831 = load double***, double**** %6
%832 = load i32, i32* %11
%833 = sext i32 %832 to i64
%834 = getelementptr inbounds double**, double*** %831, i64 %833
%835 = load double**, double*** %834
%836 = load i32, i32* %12
%837 = sext i32 %836 to i64
%838 = getelementptr inbounds double*, double** %835, i64 %837
%839 = load double*, double** %838
%840 = load i32, i32* %13
%841 = sext i32 %840 to i64
%842 = getelementptr inbounds double, double* %839, i64 %841
store double %830, double* %842
br label %1198
843: ; preds = %32
%844 = load double***, double**** %6
%845 = load i32, i32* %11
%846 = add nsw i32 %845, 1
%847 = sext i32 %846 to i64
%848 = getelementptr inbounds double**, double*** %844, i64 %847
%849 = load double**, double*** %848
%850 = load i32, i32* %12
%851 = sext i32 %850 to i64
%852 = getelementptr inbounds double*, double** %849, i64 %851
%853 = load double*, double** %852
%854 = load i32, i32* %13
%855 = sext i32 %854 to i64
%856 = getelementptr inbounds double, double* %853, i64 %855
%857 = load double, double* %856
%858 = load double***, double**** %6
%859 = load i32, i32* %11
%860 = sext i32 %859 to i64
%861 = getelementptr inbounds double**, double*** %858, i64 %860
%862 = load double**, double*** %861
%863 = load i32, i32* %12
%864 = sub nsw i32 %863, 1
%865 = sext i32 %864 to i64
%866 = getelementptr inbounds double*, double** %862, i64 %865
%867 = load double*, double** %866
%868 = load i32, i32* %13
%869 = sext i32 %868 to i64
%870 = getelementptr inbounds double, double* %867, i64 %869
%871 = load double, double* %870
%872 = fadd double %857, %871
%873 = load double***, double**** %6
%874 = load i32, i32* %11
%875 = sext i32 %874 to i64
%876 = getelementptr inbounds double**, double*** %873, i64 %875
%877 = load double**, double*** %876
%878 = load i32, i32* %12
%879 = sext i32 %878 to i64
%880 = getelementptr inbounds double*, double** %877, i64 %879
%881 = load double*, double** %880
%882 = load i32, i32* %13
%883 = add nsw i32 %882, 1
%884 = sext i32 %883 to i64
%885 = getelementptr inbounds double, double* %881, i64 %884
%886 = load double, double* %885
%887 = fadd double %872, %886
%888 = fmul double %887, 1.000000e+00
%889 = fdiv double %888, 3.000000e+00
%890 = load double***, double**** %6
%891 = load i32, i32* %11
%892 = sext i32 %891 to i64
%893 = getelementptr inbounds double**, double*** %890, i64 %892
%894 = load double**, double*** %893
%895 = load i32, i32* %12
%896 = sext i32 %895 to i64
%897 = getelementptr inbounds double*, double** %894, i64 %896
%898 = load double*, double** %897
%899 = load i32, i32* %13
%900 = sext i32 %899 to i64
%901 = getelementptr inbounds double, double* %898, i64 %900
store double %889, double* %901
br label %1198
902: ; preds = %32
%903 = load double***, double**** %6
%904 = load i32, i32* %11
%905 = sub nsw i32 %904, 1
%906 = sext i32 %905 to i64
%907 = getelementptr inbounds double**, double*** %903, i64 %906
%908 = load double**, double*** %907
%909 = load i32, i32* %12
%910 = sext i32 %909 to i64
%911 = getelementptr inbounds double*, double** %908, i64 %910
%912 = load double*, double** %911
%913 = load i32, i32* %13
%914 = sext i32 %913 to i64
%915 = getelementptr inbounds double, double* %912, i64 %914
%916 = load double, double* %915
%917 = load double***, double**** %6
%918 = load i32, i32* %11
%919 = sext i32 %918 to i64
%920 = getelementptr inbounds double**, double*** %917, i64 %919
%921 = load double**, double*** %920
%922 = load i32, i32* %12
%923 = sub nsw i32 %922, 1
%924 = sext i32 %923 to i64
%925 = getelementptr inbounds double*, double** %921, i64 %924
%926 = load double*, double** %925
%927 = load i32, i32* %13
%928 = sext i32 %927 to i64
%929 = getelementptr inbounds double, double* %926, i64 %928
%930 = load double, double* %929
%931 = fadd double %916, %930
%932 = load double***, double**** %6
%933 = load i32, i32* %11
%934 = sext i32 %933 to i64
%935 = getelementptr inbounds double**, double*** %932, i64 %934
%936 = load double**, double*** %935
%937 = load i32, i32* %12
%938 = sext i32 %937 to i64
%939 = getelementptr inbounds double*, double** %936, i64 %938
%940 = load double*, double** %939
%941 = load i32, i32* %13
%942 = add nsw i32 %941, 1
%943 = sext i32 %942 to i64
%944 = getelementptr inbounds double, double* %940, i64 %943
%945 = load double, double* %944
%946 = fadd double %931, %945
%947 = fmul double %946, 1.000000e+00
%948 = fdiv double %947, 3.000000e+00
%949 = load double***, double**** %6
%950 = load i32, i32* %11
%951 = sext i32 %950 to i64
%952 = getelementptr inbounds double**, double*** %949, i64 %951
%953 = load double**, double*** %952
%954 = load i32, i32* %12
%955 = sext i32 %954 to i64
%956 = getelementptr inbounds double*, double** %953, i64 %955
%957 = load double*, double** %956
%958 = load i32, i32* %13
%959 = sext i32 %958 to i64
%960 = getelementptr inbounds double, double* %957, i64 %959
store double %948, double* %960
br label %1198
961: ; preds = %32
%962 = load double***, double**** %6
%963 = load i32, i32* %11
%964 = add nsw i32 %963, 1
%965 = sext i32 %964 to i64
%966 = getelementptr inbounds double**, double*** %962, i64 %965
%967 = load double**, double*** %966
%968 = load i32, i32* %12
%969 = sext i32 %968 to i64
%970 = getelementptr inbounds double*, double** %967, i64 %969
%971 = load double*, double** %970
%972 = load i32, i32* %13
%973 = sext i32 %972 to i64
%974 = getelementptr inbounds double, double* %971, i64 %973
%975 = load double, double* %974
%976 = load double***, double**** %6
%977 = load i32, i32* %11
%978 = sext i32 %977 to i64
%979 = getelementptr inbounds double**, double*** %976, i64 %978
%980 = load double**, double*** %979
%981 = load i32, i32* %12
%982 = add nsw i32 %981, 1
%983 = sext i32 %982 to i64
%984 = getelementptr inbounds double*, double** %980, i64 %983
%985 = load double*, double** %984
%986 = load i32, i32* %13
%987 = sext i32 %986 to i64
%988 = getelementptr inbounds double, double* %985, i64 %987
%989 = load double, double* %988
%990 = fadd double %975, %989
%991 = load double***, double**** %6
%992 = load i32, i32* %11
%993 = sext i32 %992 to i64
%994 = getelementptr inbounds double**, double*** %991, i64 %993
%995 = load double**, double*** %994
%996 = load i32, i32* %12
%997 = sext i32 %996 to i64
%998 = getelementptr inbounds double*, double** %995, i64 %997
%999 = load double*, double** %998
%1000 = load i32, i32* %13
%1001 = sub nsw i32 %1000, 1
%1002 = sext i32 %1001 to i64
%1003 = getelementptr inbounds double, double* %999, i64 %1002
%1004 = load double, double* %1003
%1005 = fadd double %990, %1004
%1006 = fmul double %1005, 1.000000e+00
%1007 = fdiv double %1006, 3.000000e+00
%1008 = load double***, double**** %6
%1009 = load i32, i32* %11
%1010 = sext i32 %1009 to i64
%1011 = getelementptr inbounds double**, double*** %1008, i64 %1010
%1012 = load double**, double*** %1011
%1013 = load i32, i32* %12
%1014 = sext i32 %1013 to i64
%1015 = getelementptr inbounds double*, double** %1012, i64 %1014
%1016 = load double*, double** %1015
%1017 = load i32, i32* %13
%1018 = sext i32 %1017 to i64
%1019 = getelementptr inbounds double, double* %1016, i64 %1018
store double %1007, double* %1019
br label %1198
1020: ; preds = %32
%1021 = load double***, double**** %6
%1022 = load i32, i32* %11
%1023 = sub nsw i32 %1022, 1
%1024 = sext i32 %1023 to i64
%1025 = getelementptr inbounds double**, double*** %1021, i64 %1024
%1026 = load double**, double*** %1025
%1027 = load i32, i32* %12
%1028 = sext i32 %1027 to i64
%1029 = getelementptr inbounds double*, double** %1026, i64 %1028
%1030 = load double*, double** %1029
%1031 = load i32, i32* %13
%1032 = sext i32 %1031 to i64
%1033 = getelementptr inbounds double, double* %1030, i64 %1032
%1034 = load double, double* %1033
%1035 = load double***, double**** %6
%1036 = load i32, i32* %11
%1037 = sext i32 %1036 to i64
%1038 = getelementptr inbounds double**, double*** %1035, i64 %1037
%1039 = load double**, double*** %1038
%1040 = load i32, i32* %12
%1041 = add nsw i32 %1040, 1
%1042 = sext i32 %1041 to i64
%1043 = getelementptr inbounds double*, double** %1039, i64 %1042
%1044 = load double*, double** %1043
%1045 = load i32, i32* %13
%1046 = sext i32 %1045 to i64
%1047 = getelementptr inbounds double, double* %1044, i64 %1046
%1048 = load double, double* %1047
%1049 = fadd double %1034, %1048
%1050 = load double***, double**** %6
%1051 = load i32, i32* %11
%1052 = sext i32 %1051 to i64
%1053 = getelementptr inbounds double**, double*** %1050, i64 %1052
%1054 = load double**, double*** %1053
%1055 = load i32, i32* %12
%1056 = sext i32 %1055 to i64
%1057 = getelementptr inbounds double*, double** %1054, i64 %1056
%1058 = load double*, double** %1057
%1059 = load i32, i32* %13
%1060 = sub nsw i32 %1059, 1
%1061 = sext i32 %1060 to i64
%1062 = getelementptr inbounds double, double* %1058, i64 %1061
%1063 = load double, double* %1062
%1064 = fadd double %1049, %1063
%1065 = fmul double %1064, 1.000000e+00
%1066 = fdiv double %1065, 3.000000e+00
%1067 = load double***, double**** %6
%1068 = load i32, i32* %11
%1069 = sext i32 %1068 to i64
%1070 = getelementptr inbounds double**, double*** %1067, i64 %1069
%1071 = load double**, double*** %1070
%1072 = load i32, i32* %12
%1073 = sext i32 %1072 to i64
%1074 = getelementptr inbounds double*, double** %1071, i64 %1073
%1075 = load double*, double** %1074
%1076 = load i32, i32* %13
%1077 = sext i32 %1076 to i64
%1078 = getelementptr inbounds double, double* %1075, i64 %1077
store double %1066, double* %1078
br label %1198
1079: ; preds = %32
%1080 = load double***, double**** %6
%1081 = load i32, i32* %11
%1082 = add nsw i32 %1081, 1
%1083 = sext i32 %1082 to i64
%1084 = getelementptr inbounds double**, double*** %1080, i64 %1083
%1085 = load double**, double*** %1084
%1086 = load i32, i32* %12
%1087 = sext i32 %1086 to i64
%1088 = getelementptr inbounds double*, double** %1085, i64 %1087
%1089 = load double*, double** %1088
%1090 = load i32, i32* %13
%1091 = sext i32 %1090 to i64
%1092 = getelementptr inbounds double, double* %1089, i64 %1091
%1093 = load double, double* %1092
%1094 = load double***, double**** %6
%1095 = load i32, i32* %11
%1096 = sext i32 %1095 to i64
%1097 = getelementptr inbounds double**, double*** %1094, i64 %1096
%1098 = load double**, double*** %1097
%1099 = load i32, i32* %12
%1100 = sub nsw i32 %1099, 1
%1101 = sext i32 %1100 to i64
%1102 = getelementptr inbounds double*, double** %1098, i64 %1101
%1103 = load double*, double** %1102
%1104 = load i32, i32* %13
%1105 = sext i32 %1104 to i64
%1106 = getelementptr inbounds double, double* %1103, i64 %1105
%1107 = load double, double* %1106
%1108 = fadd double %1093, %1107
%1109 = load double***, double**** %6
%1110 = load i32, i32* %11
%1111 = sext i32 %1110 to i64
%1112 = getelementptr inbounds double**, double*** %1109, i64 %1111
%1113 = load double**, double*** %1112
%1114 = load i32, i32* %12
%1115 = sext i32 %1114 to i64
%1116 = getelementptr inbounds double*, double** %1113, i64 %1115
%1117 = load double*, double** %1116
%1118 = load i32, i32* %13
%1119 = sub nsw i32 %1118, 1
%1120 = sext i32 %1119 to i64
%1121 = getelementptr inbounds double, double* %1117, i64 %1120
%1122 = load double, double* %1121
%1123 = fadd double %1108, %1122
%1124 = fmul double %1123, 1.000000e+00
%1125 = fdiv double %1124, 3.000000e+00
%1126 = load double***, double**** %6
%1127 = load i32, i32* %11
%1128 = sext i32 %1127 to i64
%1129 = getelementptr inbounds double**, double*** %1126, i64 %1128
%1130 = load double**, double*** %1129
%1131 = load i32, i32* %12
%1132 = sext i32 %1131 to i64
%1133 = getelementptr inbounds double*, double** %1130, i64 %1132
%1134 = load double*, double** %1133
%1135 = load i32, i32* %13
%1136 = sext i32 %1135 to i64
%1137 = getelementptr inbounds double, double* %1134, i64 %1136
store double %1125, double* %1137
br label %1198
1138: ; preds = %32
%1139 = load double***, double**** %6
%1140 = load i32, i32* %11
%1141 = sub nsw i32 %1140, 1
%1142 = sext i32 %1141 to i64
%1143 = getelementptr inbounds double**, double*** %1139, i64 %1142
%1144 = load double**, double*** %1143
%1145 = load i32, i32* %12
%1146 = sext i32 %1145 to i64
%1147 = getelementptr inbounds double*, double** %1144, i64 %1146
%1148 = load double*, double** %1147
%1149 = load i32, i32* %13
%1150 = sext i32 %1149 to i64
%1151 = getelementptr inbounds double, double* %1148, i64 %1150
%1152 = load double, double* %1151
%1153 = load double***, double**** %6
%1154 = load i32, i32* %11
%1155 = sext i32 %1154 to i64
%1156 = getelementptr inbounds double**, double*** %1153, i64 %1155
%1157 = load double**, double*** %1156
%1158 = load i32, i32* %12
%1159 = sub nsw i32 %1158, 1
%1160 = sext i32 %1159 to i64
%1161 = getelementptr inbounds double*, double** %1157, i64 %1160
%1162 = load double*, double** %1161
%1163 = load i32, i32* %13
%1164 = sext i32 %1163 to i64
%1165 = getelementptr inbounds double, double* %1162, i64 %1164
%1166 = load double, double* %1165
%1167 = fadd double %1152, %1166
%1168 = load double***, double**** %6
%1169 = load i32, i32* %11
%1170 = sext i32 %1169 to i64
%1171 = getelementptr inbounds double**, double*** %1168, i64 %1170
%1172 = load double**, double*** %1171
%1173 = load i32, i32* %12
%1174 = sext i32 %1173 to i64
%1175 = getelementptr inbounds double*, double** %1172, i64 %1174
%1176 = load double*, double** %1175
%1177 = load i32, i32* %13
%1178 = sub nsw i32 %1177, 1
%1179 = sext i32 %1178 to i64
%1180 = getelementptr inbounds double, double* %1176, i64 %1179
%1181 = load double, double* %1180
%1182 = fadd double %1167, %1181
%1183 = fmul double %1182, 1.000000e+00
%1184 = fdiv double %1183, 3.000000e+00
%1185 = load double***, double**** %6
%1186 = load i32, i32* %11
%1187 = sext i32 %1186 to i64
%1188 = getelementptr inbounds double**, double*** %1185, i64 %1187
%1189 = load double**, double*** %1188
%1190 = load i32, i32* %12
%1191 = sext i32 %1190 to i64
%1192 = getelementptr inbounds double*, double** %1189, i64 %1191
%1193 = load double*, double** %1192
%1194 = load i32, i32* %13
%1195 = sext i32 %1194 to i64
%1196 = getelementptr inbounds double, double* %1193, i64 %1195
store double %1184, double* %1196
br label %1198
1197: ; preds = %32
br label %1198
1198: ; preds = %1197, %1138, %1079, %1020, %961, %902, %843, %784, %725, %682, %639, %596, %553, %510, %467, %424, %381, %338, %295, %252, %209, %182, %155, %128, %101, %74, %47
br label %1199
1199: ; preds = %1198
%1200 = load i32, i32* %13
%1201 = add nsw i32 %1200, 1
store i32 %1201, i32* %13
br label %27
1202: ; preds = %27
br label %1203
1203: ; preds = %1202
%1204 = load i32, i32* %12
%1205 = add nsw i32 %1204, 1
store i32 %1205, i32* %12
br label %21
1206: ; preds = %21
br label %1207
1207: ; preds = %1206
%1208 = load i32, i32* %11
%1209 = add nsw i32 %1208, 1
store i32 %1209, i32* %11
br label %15
1210: ; preds = %15
ret void
}

LLVM IR (-O2):
define void @boundaryvalues_pressure(double*** %0, i32*** nocapture %1, i32 %2, i32 %3, i32 %4) {
%6 = icmp slt i32 %2, -1
br i1 %6, label %434, label %7
7: ; preds = %5
%8 = icmp slt i32 %3, -1
%9 = icmp slt i32 %4, -1
%10 = add i32 %4, 2
%11 = add i32 %3, 2
%12 = add i32 %2, 2
%13 = zext i32 %12 to i64
%14 = zext i32 %11 to i64
%15 = zext i32 %10 to i64
br label %16
16: ; preds = %7, %431
%17 = phi i64 [ 0, %7 ], [ %432, %431 ]
br i1 %8, label %18, label %20
18: ; preds = %16
%19 = add nuw nsw i64 %17, 1
br label %431
20: ; preds = %16
%21 = getelementptr inbounds i32**, i32*** %1, i64 %17
%22 = add nsw i64 %17, -1
%23 = getelementptr inbounds double**, double*** %0, i64 %22
%24 = getelementptr inbounds double**, double*** %0, i64 %17
%25 = add nuw nsw i64 %17, 1
%26 = and i64 %25, 4294967295
%27 = getelementptr inbounds double**, double*** %0, i64 %26
br label %28
28: ; preds = %20, %428
%29 = phi i64 [ 0, %20 ], [ %429, %428 ]
br i1 %9, label %30, label %32
30: ; preds = %28
%31 = add nuw nsw i64 %29, 1
br label %428
32: ; preds = %28
%33 = add nsw i64 %29, -1
%34 = add nuw nsw i64 %29, 1
%35 = and i64 %34, 4294967295
br label %36
36: ; preds = %32, %425
%37 = phi i64 [ 0, %32 ], [ %426, %425 ]
%38 = load i32**, i32*** %21
%39 = getelementptr inbounds i32*, i32** %38, i64 %29
%40 = load i32*, i32** %39
%41 = getelementptr inbounds i32, i32* %40, i64 %37
%42 = load i32, i32* %41
%43 = tail call i32 (i32, ...) bitcast (i32 (...)* @getcelltype to i32 (i32, ...)*)(i32 %42)
switch i32 %43, label %425 [
i32 32, label %44
i32 16, label %53
i32 8, label %62
i32 4, label %70
i32 1, label %78
i32 2, label %86
i32 40, label %93
i32 24, label %108
i32 36, label %123
i32 20, label %138
i32 9, label %153
i32 10, label %167
i32 5, label %180
i32 6, label %194
i32 33, label %207
i32 17, label %222
i32 34, label %237
i32 18, label %251
i32 41, label %265
i32 25, label %285
i32 37, label %305
i32 21, label %325
i32 42, label %345
i32 26, label %364
i32 38, label %383
i32 22, label %402
]
44: ; preds = %36
%45 = load double**, double*** %27
%46 = getelementptr inbounds double*, double** %45, i64 %29
%47 = load double*, double** %46
%48 = getelementptr inbounds double, double* %47, i64 %37
%49 = load double, double* %48
%50 = load double**, double*** %24
%51 = getelementptr inbounds double*, double** %50, i64 %29
%52 = load double*, double** %51
br label %421
53: ; preds = %36
%54 = load double**, double*** %23
%55 = getelementptr inbounds double*, double** %54, i64 %29
%56 = load double*, double** %55
%57 = getelementptr inbounds double, double* %56, i64 %37
%58 = load double, double* %57
%59 = load double**, double*** %24
%60 = getelementptr inbounds double*, double** %59, i64 %29
%61 = load double*, double** %60
br label %421
62: ; preds = %36
%63 = load double**, double*** %24
%64 = getelementptr inbounds double*, double** %63, i64 %35
%65 = load double*, double** %64
%66 = getelementptr inbounds double, double* %65, i64 %37
%67 = load double, double* %66
%68 = getelementptr inbounds double*, double** %63, i64 %29
%69 = load double*, double** %68
br label %421
70: ; preds = %36
%71 = load double**, double*** %24
%72 = getelementptr inbounds double*, double** %71, i64 %33
%73 = load double*, double** %72
%74 = getelementptr inbounds double, double* %73, i64 %37
%75 = load double, double* %74
%76 = getelementptr inbounds double*, double** %71, i64 %29
%77 = load double*, double** %76
br label %421
78: ; preds = %36
%79 = load double**, double*** %24
%80 = getelementptr inbounds double*, double** %79, i64 %29
%81 = load double*, double** %80
%82 = add nuw i64 %37, 1
%83 = and i64 %82, 4294967295
%84 = getelementptr inbounds double, double* %81, i64 %83
%85 = load double, double* %84
br label %421
86: ; preds = %36
%87 = load double**, double*** %24
%88 = getelementptr inbounds double*, double** %87, i64 %29
%89 = load double*, double** %88
%90 = add nsw i64 %37, -1
%91 = getelementptr inbounds double, double* %89, i64 %90
%92 = load double, double* %91
br label %421
93: ; preds = %36
%94 = load double**, double*** %27
%95 = getelementptr inbounds double*, double** %94, i64 %29
%96 = load double*, double** %95
%97 = getelementptr inbounds double, double* %96, i64 %37
%98 = load double, double* %97
%99 = load double**, double*** %24
%100 = getelementptr inbounds double*, double** %99, i64 %35
%101 = load double*, double** %100
%102 = getelementptr inbounds double, double* %101, i64 %37
%103 = load double, double* %102
%104 = fadd double %98, %103
%105 = fmul double %104, 5.000000e-01
%106 = getelementptr inbounds double*, double** %99, i64 %29
%107 = load double*, double** %106
br label %421
108: ; preds = %36
%109 = load double**, double*** %23
%110 = getelementptr inbounds double*, double** %109, i64 %29
%111 = load double*, double** %110
%112 = getelementptr inbounds double, double* %111, i64 %37
%113 = load double, double* %112
%114 = load double**, double*** %24
%115 = getelementptr inbounds double*, double** %114, i64 %35
%116 = load double*, double** %115
%117 = getelementptr inbounds double, double* %116, i64 %37
%118 = load double, double* %117
%119 = fadd double %113, %118
%120 = fmul double %119, 5.000000e-01
%121 = getelementptr inbounds double*, double** %114, i64 %29
%122 = load double*, double** %121
br label %421
123: ; preds = %36
%124 = load double**, double*** %27
%125 = getelementptr inbounds double*, double** %124, i64 %29
%126 = load double*, double** %125
%127 = getelementptr inbounds double, double* %126, i64 %37
%128 = load double, double* %127
%129 = load double**, double*** %24
%130 = getelementptr inbounds double*, double** %129, i64 %33
%131 = load double*, double** %130
%132 = getelementptr inbounds double, double* %131, i64 %37
%133 = load double, double* %132
%134 = fadd double %128, %133
%135 = fmul double %134, 5.000000e-01
%136 = getelementptr inbounds double*, double** %129, i64 %29
%137 = load double*, double** %136
br label %421
138: ; preds = %36
%139 = load double**, double*** %23
%140 = getelementptr inbounds double*, double** %139, i64 %29
%141 = load double*, double** %140
%142 = getelementptr inbounds double, double* %141, i64 %37
%143 = load double, double* %142
%144 = load double**, double*** %24
%145 = getelementptr inbounds double*, double** %144, i64 %33
%146 = load double*, double** %145
%147 = getelementptr inbounds double, double* %146, i64 %37
%148 = load double, double* %147
%149 = fadd double %143, %148
%150 = fmul double %149, 5.000000e-01
%151 = getelementptr inbounds double*, double** %144, i64 %29
%152 = load double*, double** %151
br label %421
153: ; preds = %36
%154 = load double**, double*** %24
%155 = getelementptr inbounds double*, double** %154, i64 %29
%156 = load double*, double** %155
%157 = add nuw i64 %37, 1
%158 = and i64 %157, 4294967295
%159 = getelementptr inbounds double, double* %156, i64 %158
%160 = load double, double* %159
%161 = getelementptr inbounds double*, double** %154, i64 %35
%162 = load double*, double** %161
%163 = getelementptr inbounds double, double* %162, i64 %37
%164 = load double, double* %163
%165 = fadd double %160, %164
%166 = fmul double %165, 5.000000e-01
br label %421
167: ; preds = %36
%168 = load double**, double*** %24
%169 = getelementptr inbounds double*, double** %168, i64 %29
%170 = load double*, double** %169
%171 = add nsw i64 %37, -1
%172 = getelementptr inbounds double, double* %170, i64 %171
%173 = load double, double* %172
%174 = getelementptr inbounds double*, double** %168, i64 %35
%175 = load double*, double** %174
%176 = getelementptr inbounds double, double* %175, i64 %37
%177 = load double, double* %176
%178 = fadd double %173, %177
%179 = fmul double %178, 5.000000e-01
br label %421
180: ; preds = %36
%181 = load double**, double*** %24
%182 = getelementptr inbounds double*, double** %181, i64 %29
%183 = load double*, double** %182
%184 = add nuw i64 %37, 1
%185 = and i64 %184, 4294967295
%186 = getelementptr inbounds double, double* %183, i64 %185
%187 = load double, double* %186
%188 = getelementptr inbounds double*, double** %181, i64 %33
%189 = load double*, double** %188
%190 = getelementptr inbounds double, double* %189, i64 %37
%191 = load double, double* %190
%192 = fadd double %187, %191
%193 = fmul double %192, 5.000000e-01
br label %421
194: ; preds = %36
%195 = load double**, double*** %24
%196 = getelementptr inbounds double*, double** %195, i64 %29
%197 = load double*, double** %196
%198 = add nsw i64 %37, -1
%199 = getelementptr inbounds double, double* %197, i64 %198
%200 = load double, double* %199
%201 = getelementptr inbounds double*, double** %195, i64 %33
%202 = load double*, double** %201
%203 = getelementptr inbounds double, double* %202, i64 %37
%204 = load double, double* %203
%205 = fadd double %200, %204
%206 = fmul double %205, 5.000000e-01
br label %421
207: ; preds = %36
%208 = load double**, double*** %27
%209 = getelementptr inbounds double*, double** %208, i64 %29
%210 = load double*, double** %209
%211 = getelementptr inbounds double, double* %210, i64 %37
%212 = load double, double* %211
%213 = load double**, double*** %24
%214 = getelementptr inbounds double*, double** %213, i64 %29
%215 = load double*, double** %214
%216 = add nuw i64 %37, 1
%217 = and i64 %216, 4294967295
%218 = getelementptr inbounds double, double* %215, i64 %217
%219 = load double, double* %218
%220 = fadd double %212, %219
%221 = fmul double %220, 5.000000e-01
br label %421
222: ; preds = %36
%223 = load double**, double*** %23
%224 = getelementptr inbounds double*, double** %223, i64 %29
%225 = load double*, double** %224
%226 = getelementptr inbounds double, double* %225, i64 %37
%227 = load double, double* %226
%228 = load double**, double*** %24
%229 = getelementptr inbounds double*, double** %228, i64 %29
%230 = load double*, double** %229
%231 = add nuw i64 %37, 1
%232 = and i64 %231, 4294967295
%233 = getelementptr inbounds double, double* %230, i64 %232
%234 = load double, double* %233
%235 = fadd double %227, %234
%236 = fmul double %235, 5.000000e-01
br label %421
237: ; preds = %36
%238 = load double**, double*** %27
%239 = getelementptr inbounds double*, double** %238, i64 %29
%240 = load double*, double** %239
%241 = getelementptr inbounds double, double* %240, i64 %37
%242 = load double, double* %241
%243 = load double**, double*** %24
%244 = getelementptr inbounds double*, double** %243, i64 %29
%245 = load double*, double** %244
%246 = add nsw i64 %37, -1
%247 = getelementptr inbounds double, double* %245, i64 %246
%248 = load double, double* %247
%249 = fadd double %242, %248
%250 = fmul double %249, 5.000000e-01
br label %421
251: ; preds = %36
%252 = load double**, double*** %23
%253 = getelementptr inbounds double*, double** %252, i64 %29
%254 = load double*, double** %253
%255 = getelementptr inbounds double, double* %254, i64 %37
%256 = load double, double* %255
%257 = load double**, double*** %24
%258 = getelementptr inbounds double*, double** %257, i64 %29
%259 = load double*, double** %258
%260 = add nsw i64 %37, -1
%261 = getelementptr inbounds double, double* %259, i64 %260
%262 = load double, double* %261
%263 = fadd double %256, %262
%264 = fmul double %263, 5.000000e-01
br label %421
265: ; preds = %36
%266 = load double**, double*** %27
%267 = getelementptr inbounds double*, double** %266, i64 %29
%268 = load double*, double** %267
%269 = getelementptr inbounds double, double* %268, i64 %37
%270 = load double, double* %269
%271 = load double**, double*** %24
%272 = getelementptr inbounds double*, double** %271, i64 %35
%273 = load double*, double** %272
%274 = getelementptr inbounds double, double* %273, i64 %37
%275 = load double, double* %274
%276 = fadd double %270, %275
%277 = getelementptr inbounds double*, double** %271, i64 %29
%278 = load double*, double** %277
%279 = add nuw i64 %37, 1
%280 = and i64 %279, 4294967295
%281 = getelementptr inbounds double, double* %278, i64 %280
%282 = load double, double* %281
%283 = fadd double %276, %282
%284 = fdiv double %283, 3.000000e+00
br label %421
285: ; preds = %36
%286 = load double**, double*** %23
%287 = getelementptr inbounds double*, double** %286, i64 %29
%288 = load double*, double** %287
%289 = getelementptr inbounds double, double* %288, i64 %37
%290 = load double, double* %289
%291 = load double**, double*** %24
%292 = getelementptr inbounds double*, double** %291, i64 %35
%293 = load double*, double** %292
%294 = getelementptr inbounds double, double* %293, i64 %37
%295 = load double, double* %294
%296 = fadd double %290, %295
%297 = getelementptr inbounds double*, double** %291, i64 %29
%298 = load double*, double** %297
%299 = add nuw i64 %37, 1
%300 = and i64 %299, 4294967295
%301 = getelementptr inbounds double, double* %298, i64 %300
%302 = load double, double* %301
%303 = fadd double %296, %302
%304 = fdiv double %303, 3.000000e+00
br label %421
305: ; preds = %36
%306 = load double**, double*** %27
%307 = getelementptr inbounds double*, double** %306, i64 %29
%308 = load double*, double** %307
%309 = getelementptr inbounds double, double* %308, i64 %37
%310 = load double, double* %309
%311 = load double**, double*** %24
%312 = getelementptr inbounds double*, double** %311, i64 %33
%313 = load double*, double** %312
%314 = getelementptr inbounds double, double* %313, i64 %37
%315 = load double, double* %314
%316 = fadd double %310, %315
%317 = getelementptr inbounds double*, double** %311, i64 %29
%318 = load double*, double** %317
%319 = add nuw i64 %37, 1
%320 = and i64 %319, 4294967295
%321 = getelementptr inbounds double, double* %318, i64 %320
%322 = load double, double* %321
%323 = fadd double %316, %322
%324 = fdiv double %323, 3.000000e+00
br label %421
325: ; preds = %36
%326 = load double**, double*** %23
%327 = getelementptr inbounds double*, double** %326, i64 %29
%328 = load double*, double** %327
%329 = getelementptr inbounds double, double* %328, i64 %37
%330 = load double, double* %329
%331 = load double**, double*** %24
%332 = getelementptr inbounds double*, double** %331, i64 %33
%333 = load double*, double** %332
%334 = getelementptr inbounds double, double* %333, i64 %37
%335 = load double, double* %334
%336 = fadd double %330, %335
%337 = getelementptr inbounds double*, double** %331, i64 %29
%338 = load double*, double** %337
%339 = add nuw i64 %37, 1
%340 = and i64 %339, 4294967295
%341 = getelementptr inbounds double, double* %338, i64 %340
%342 = load double, double* %341
%343 = fadd double %336, %342
%344 = fdiv double %343, 3.000000e+00
br label %421
345: ; preds = %36
%346 = load double**, double*** %27
%347 = getelementptr inbounds double*, double** %346, i64 %29
%348 = load double*, double** %347
%349 = getelementptr inbounds double, double* %348, i64 %37
%350 = load double, double* %349
%351 = load double**, double*** %24
%352 = getelementptr inbounds double*, double** %351, i64 %35
%353 = load double*, double** %352
%354 = getelementptr inbounds double, double* %353, i64 %37
%355 = load double, double* %354
%356 = fadd double %350, %355
%357 = getelementptr inbounds double*, double** %351, i64 %29
%358 = load double*, double** %357
%359 = add nsw i64 %37, -1
%360 = getelementptr inbounds double, double* %358, i64 %359
%361 = load double, double* %360
%362 = fadd double %356, %361
%363 = fdiv double %362, 3.000000e+00
br label %421
364: ; preds = %36
%365 = load double**, double*** %23
%366 = getelementptr inbounds double*, double** %365, i64 %29
%367 = load double*, double** %366
%368 = getelementptr inbounds double, double* %367, i64 %37
%369 = load double, double* %368
%370 = load double**, double*** %24
%371 = getelementptr inbounds double*, double** %370, i64 %35
%372 = load double*, double** %371
%373 = getelementptr inbounds double, double* %372, i64 %37
%374 = load double, double* %373
%375 = fadd double %369, %374
%376 = getelementptr inbounds double*, double** %370, i64 %29
%377 = load double*, double** %376
%378 = add nsw i64 %37, -1
%379 = getelementptr inbounds double, double* %377, i64 %378
%380 = load double, double* %379
%381 = fadd double %375, %380
%382 = fdiv double %381, 3.000000e+00
br label %421
383: ; preds = %36
%384 = load double**, double*** %27
%385 = getelementptr inbounds double*, double** %384, i64 %29
%386 = load double*, double** %385
%387 = getelementptr inbounds double, double* %386, i64 %37
%388 = load double, double* %387
%389 = load double**, double*** %24
%390 = getelementptr inbounds double*, double** %389, i64 %33
%391 = load double*, double** %390
%392 = getelementptr inbounds double, double* %391, i64 %37
%393 = load double, double* %392
%394 = fadd double %388, %393
%395 = getelementptr inbounds double*, double** %389, i64 %29
%396 = load double*, double** %395
%397 = add nsw i64 %37, -1
%398 = getelementptr inbounds double, double* %396, i64 %397
%399 = load double, double* %398
%400 = fadd double %394, %399
%401 = fdiv double %400, 3.000000e+00
br label %421
402: ; preds = %36
%403 = load double**, double*** %23
%404 = getelementptr inbounds double*, double** %403, i64 %29
%405 = load double*, double** %404
%406 = getelementptr inbounds double, double* %405, i64 %37
%407 = load double, double* %406
%408 = load double**, double*** %24
%409 = getelementptr inbounds double*, double** %408, i64 %33
%410 = load double*, double** %409
%411 = getelementptr inbounds double, double* %410, i64 %37
%412 = load double, double* %411
%413 = fadd double %407, %412
%414 = getelementptr inbounds double*, double** %408, i64 %29
%415 = load double*, double** %414
%416 = add nsw i64 %37, -1
%417 = getelementptr inbounds double, double* %415, i64 %416
%418 = load double, double* %417
%419 = fadd double %413, %418
%420 = fdiv double %419, 3.000000e+00
br label %421
421: ; preds = %402, %383, %364, %345, %325, %305, %285, %265, %251, %237, %222, %207, %194, %180, %167, %153, %138, %123, %108, %93, %86, %78, %70, %62, %53, %44
%422 = phi double* [ %52, %44 ], [ %61, %53 ], [ %69, %62 ], [ %77, %70 ], [ %81, %78 ], [ %89, %86 ], [ %107, %93 ], [ %122, %108 ], [ %137, %123 ], [ %152, %138 ], [ %156, %153 ], [ %170, %167 ], [ %183, %180 ], [ %197, %194 ], [ %215, %207 ], [ %230, %222 ], [ %245, %237 ], [ %259, %251 ], [ %278, %265 ], [ %298, %285 ], [ %318, %305 ], [ %338, %325 ], [ %358, %345 ], [ %377, %364 ], [ %396, %383 ], [ %415, %402 ]
%423 = phi double [ %49, %44 ], [ %58, %53 ], [ %67, %62 ], [ %75, %70 ], [ %85, %78 ], [ %92, %86 ], [ %105, %93 ], [ %120, %108 ], [ %135, %123 ], [ %150, %138 ], [ %166, %153 ], [ %179, %167 ], [ %193, %180 ], [ %206, %194 ], [ %221, %207 ], [ %236, %222 ], [ %250, %237 ], [ %264, %251 ], [ %284, %265 ], [ %304, %285 ], [ %324, %305 ], [ %344, %325 ], [ %363, %345 ], [ %382, %364 ], [ %401, %383 ], [ %420, %402 ]
%424 = getelementptr inbounds double, double* %422, i64 %37
store double %423, double* %424
br label %425
425: ; preds = %421, %36
%426 = add nuw nsw i64 %37, 1
%427 = icmp eq i64 %426, %15
br i1 %427, label %428, label %36
428: ; preds = %425, %30
%429 = phi i64 [ %31, %30 ], [ %34, %425 ]
%430 = icmp eq i64 %429, %14
br i1 %430, label %431, label %28
431: ; preds = %428, %18
%432 = phi i64 [ %19, %18 ], [ %25, %428 ]
%433 = icmp eq i64 %432, %13
br i1 %433, label %434, label %16
434: ; preds = %431, %5
ret void
}