void boundaryvalues_pressure(double ***P, int ***Flag, int imax, int jmax,
                             int kmax) {
  int i, j, k;
#pragma omp parallel for private(j, k)
  for (i = 0; i <= imax + 1; i++) {
    for (j = 0; j <= jmax + 1; j++) {
      for (k = 0; k <= kmax + 1; k++) {
        switch (getboundarytype(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;
        }
        switch (getcelltype(Flag[i][j][k])) {
        case 4:
          if (P[i][j][k] > 0)
            P[i][j][k] = P[i][j][k] * 0.1;
          else
            P[i][j][k] = P[i][j][k] * 1.9;
          break;
        }
      }
    }
  }
}


x86 assembly (clang, -O0):
<boundaryvalues_pressure>:
push   %rbp
mov    %rsp,%rbp
sub    $0x30,%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     1ee0 <boundaryvalues_pressure+0xdc0>
movl   $0x0,-0x24(%rbp)
mov    -0x24(%rbp),%eax
mov    -0x18(%rbp),%ecx
add    $0x1,%ecx
cmp    %ecx,%eax
jg     1ecd <boundaryvalues_pressure+0xdad>
movl   $0x0,-0x28(%rbp)
mov    -0x28(%rbp),%eax
mov    -0x1c(%rbp),%ecx
add    $0x1,%ecx
cmp    %ecx,%eax
jg     1eba <boundaryvalues_pressure+0xd9a>
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 <getboundarytype@plt>
add    $0xffffffff,%eax
mov    %eax,%ecx
mov    %rcx,-0x30(%rbp)
sub    $0x29,%eax
ja     1dba <boundaryvalues_pressure+0xc9a>
mov    -0x30(%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    1dbf <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    1dbf <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    1dbf <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    1dbf <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    1dbf <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    1dbf <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  0xc62(%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    1dbf <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  0xbf0(%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    1dbf <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  0xb7e(%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    1dbf <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  0xb0c(%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    1dbf <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  0xa9a(%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    1dbf <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  0xa28(%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    1dbf <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  0x9b6(%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    1dbf <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  0x944(%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    1dbf <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  0x8d2(%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    1dbf <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  0x860(%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    1dbf <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  0x7ee(%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    1dbf <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  0x77c(%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    1dbf <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  0x6e0(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x6cc(%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    1dbf <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  0x640(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x62c(%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    1dbf <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  0x5a0(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x58c(%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    1dbf <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  0x500(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x4ec(%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    1dbf <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  0x460(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x44c(%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    1dbf <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  0x3c0(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x3ac(%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    1dbf <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  0x320(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x30c(%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    1dbf <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  0x280(%rip),%xmm1
mulsd  %xmm1,%xmm0
movsd  0x26c(%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    1dbf <boundaryvalues_pressure+0xc9f>
jmp    1dbf <boundaryvalues_pressure+0xc9f>
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   1040 <getcelltype@plt>
sub    $0x4,%eax
jne    1ea7 <boundaryvalues_pressure+0xd87>
jmp    1def <boundaryvalues_pressure+0xccf>
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  (%rax,%rcx,8),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jbe    1e60 <boundaryvalues_pressure+0xd40>
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  0x1e7(%rip),%xmm0
mulsd  (%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    1ea2 <boundaryvalues_pressure+0xd82>
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  0x198(%rip),%xmm0
mulsd  (%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    1ea7 <boundaryvalues_pressure+0xd87>
jmp    1eac <boundaryvalues_pressure+0xd8c>
mov    -0x28(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x28(%rbp)
jmp    1171 <boundaryvalues_pressure+0x51>
jmp    1ebf <boundaryvalues_pressure+0xd9f>
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x24(%rbp)
jmp    1159 <boundaryvalues_pressure+0x39>
jmp    1ed2 <boundaryvalues_pressure+0xdb2>
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    1141 <boundaryvalues_pressure+0x21>
add    $0x30,%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
cmp    $0xffffffff,%edx
jge    1142 <boundaryvalues_pressure+0x22>
add    $0x48,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
mov    %rsi,%r13
mov    %rdi,%rbx
lea    0x2(%r8),%r12d
lea    0x2(%rcx),%eax
add    $0x2,%edx
shl    $0x2,%r12
xor    %r14d,%r14d
mov    %r8,0x38(%rsp)
mov    %rcx,0x20(%rsp)
mov    %rdx,0x18(%rsp)
mov    %rax,0x30(%rsp)
jmp    1187 <boundaryvalues_pressure+0x67>
nop
mov    0x28(%rsp),%rsi
mov    %rsi,%r14
mov    0x20(%rsp),%rcx
mov    0x18(%rsp),%rdx
cmp    %rdx,%rsi
je     1133 <boundaryvalues_pressure+0x13>
cmp    $0xfffffffe,%ecx
jg     11a0 <boundaryvalues_pressure+0x80>
add    $0x1,%r14
mov    %r14,%rsi
cmp    %rdx,%rsi
jne    1187 <boundaryvalues_pressure+0x67>
jmp    1133 <boundaryvalues_pressure+0x13>
nopw   0x0(%rax,%rax,1)
lea    0x1(%r14),%rcx
mov    %rcx,0x28(%rsp)
mov    %ecx,%ecx
mov    %rcx,0x8(%rsp)
xor    %r15d,%r15d
jmp    11d7 <boundaryvalues_pressure+0xb7>
cs nopw 0x0(%rax,%rax,1)
nop
mov    0x40(%rsp),%rcx
mov    %rcx,%r15
mov    0x38(%rsp),%r8
mov    0x30(%rsp),%rax
cmp    %rax,%rcx
je     1170 <boundaryvalues_pressure+0x50>
cmp    $0xfffffffe,%r8d
jg     11f0 <boundaryvalues_pressure+0xd0>
add    $0x1,%r15
mov    %r15,%rcx
cmp    %rax,%rcx
jne    11d7 <boundaryvalues_pressure+0xb7>
jmp    1170 <boundaryvalues_pressure+0x50>
nopl   0x0(%rax,%rax,1)
lea    0x1(%r15),%rax
mov    %rax,0x40(%rsp)
mov    %eax,%eax
mov    %rax,0x10(%rsp)
xor    %ebp,%ebp
jmp    1219 <boundaryvalues_pressure+0xf9>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
add    $0x4,%rbp
cmp    %rbp,%r12
je     11c0 <boundaryvalues_pressure+0xa0>
mov    0x0(%r13,%r14,8),%rax
mov    (%rax,%r15,8),%rax
mov    (%rax,%rbp,1),%edi
xor    %eax,%eax
call   1030 <getboundarytype@plt>
add    $0xffffffff,%eax
cmp    $0x29,%eax
ja     15f2 <boundaryvalues_pressure+0x4d2>
lea    0xde9(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    (%rbx,%r14,8),%rax
mov    (%rax,%r15,8),%rax
movsd  0x8(%rax,%rbp,2),%xmm0
jmp    15ed <boundaryvalues_pressure+0x4cd>
mov    (%rbx,%r14,8),%rax
mov    (%rax,%r15,8),%rax
movsd  -0x8(%rax,%rbp,2),%xmm0
jmp    15ed <boundaryvalues_pressure+0x4cd>
mov    (%rbx,%r14,8),%rax
mov    -0x8(%rax,%r15,8),%rcx
mov    (%rax,%r15,8),%rax
movsd  (%rcx,%rbp,2),%xmm0
jmp    15ed <boundaryvalues_pressure+0x4cd>
mov    (%rbx,%r14,8),%rax
mov    -0x8(%rax,%r15,8),%rcx
mov    (%rax,%r15,8),%rax
movsd  0x8(%rax,%rbp,2),%xmm0
jmp    14eb <boundaryvalues_pressure+0x3cb>
mov    (%rbx,%r14,8),%rax
mov    -0x8(%rax,%r15,8),%rcx
mov    (%rax,%r15,8),%rax
movsd  -0x8(%rax,%rbp,2),%xmm0
jmp    14eb <boundaryvalues_pressure+0x3cb>
mov    (%rbx,%r14,8),%rax
mov    0x10(%rsp),%rcx
mov    (%rax,%rcx,8),%rcx
movsd  (%rcx,%rbp,2),%xmm0
mov    (%rax,%r15,8),%rax
jmp    15ed <boundaryvalues_pressure+0x4cd>
mov    (%rbx,%r14,8),%rcx
mov    (%rcx,%r15,8),%rax
movsd  0x8(%rax,%rbp,2),%xmm0
jmp    12ee <boundaryvalues_pressure+0x1ce>
mov    (%rbx,%r14,8),%rcx
mov    (%rcx,%r15,8),%rax
movsd  -0x8(%rax,%rbp,2),%xmm0
mov    0x10(%rsp),%rdx
mov    (%rcx,%rdx,8),%rcx
jmp    14eb <boundaryvalues_pressure+0x3cb>
mov    -0x8(%rbx,%r14,8),%rax
mov    (%rbx,%r14,8),%rcx
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    (%rcx,%r15,8),%rax
jmp    15ed <boundaryvalues_pressure+0x4cd>
mov    -0x8(%rbx,%r14,8),%rax
mov    (%rbx,%r14,8),%rcx
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    (%rcx,%r15,8),%rax
jmp    148c <boundaryvalues_pressure+0x36c>
mov    -0x8(%rbx,%r14,8),%rax
mov    (%rbx,%r14,8),%rcx
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    (%rcx,%r15,8),%rax
jmp    14b9 <boundaryvalues_pressure+0x399>
mov    -0x8(%rbx,%r14,8),%rax
mov    (%rbx,%r14,8),%rcx
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    -0x8(%rcx,%r15,8),%rdx
mov    (%rcx,%r15,8),%rax
addsd  (%rdx,%rbp,2),%xmm0
mulsd  0xc93(%rip),%xmm0
jmp    15ed <boundaryvalues_pressure+0x4cd>
mov    -0x8(%rbx,%r14,8),%rax
mov    (%rbx,%r14,8),%rcx
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    -0x8(%rcx,%r15,8),%rdx
mov    (%rcx,%r15,8),%rax
addsd  (%rdx,%rbp,2),%xmm0
addsd  0x8(%rax,%rbp,2),%xmm0
jmp    15e5 <boundaryvalues_pressure+0x4c5>
mov    -0x8(%rbx,%r14,8),%rax
mov    (%rbx,%r14,8),%rcx
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    -0x8(%rcx,%r15,8),%rdx
mov    (%rcx,%r15,8),%rax
addsd  (%rdx,%rbp,2),%xmm0
jmp    15df <boundaryvalues_pressure+0x4bf>
mov    -0x8(%rbx,%r14,8),%rax
mov    (%rbx,%r14,8),%rcx
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    0x10(%rsp),%rax
mov    (%rcx,%rax,8),%rax
addsd  (%rax,%rbp,2),%xmm0
mulsd  0xc16(%rip),%xmm0
mov    (%rcx,%r15,8),%rax
jmp    15ed <boundaryvalues_pressure+0x4cd>
mov    -0x8(%rbx,%r14,8),%rax
mov    (%rbx,%r14,8),%rcx
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    0x10(%rsp),%rax
mov    (%rcx,%rax,8),%rax
addsd  (%rax,%rbp,2),%xmm0
mov    (%rcx,%r15,8),%rax
addsd  0x8(%rax,%rbp,2),%xmm0
jmp    15e5 <boundaryvalues_pressure+0x4c5>
mov    -0x8(%rbx,%r14,8),%rax
mov    (%rbx,%r14,8),%rcx
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    0x10(%rsp),%rax
mov    (%rcx,%rax,8),%rax
addsd  (%rax,%rbp,2),%xmm0
mov    (%rcx,%r15,8),%rax
jmp    15df <boundaryvalues_pressure+0x4bf>
mov    0x8(%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    (%rbx,%r14,8),%rax
mov    (%rax,%r15,8),%rax
jmp    15ed <boundaryvalues_pressure+0x4cd>
mov    0x8(%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    (%rbx,%r14,8),%rax
mov    (%rax,%r15,8),%rax
addsd  0x8(%rax,%rbp,2),%xmm0
mulsd  0xb6e(%rip),%xmm0
jmp    15ed <boundaryvalues_pressure+0x4cd>
mov    0x8(%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    (%rbx,%r14,8),%rax
mov    (%rax,%r15,8),%rax
addsd  -0x8(%rax,%rbp,2),%xmm0
mulsd  0xb41(%rip),%xmm0
jmp    15ed <boundaryvalues_pressure+0x4cd>
mov    0x8(%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    (%rbx,%r14,8),%rax
mov    -0x8(%rax,%r15,8),%rcx
mov    (%rax,%r15,8),%rax
addsd  (%rcx,%rbp,2),%xmm0
mulsd  0xb10(%rip),%xmm0
jmp    15ed <boundaryvalues_pressure+0x4cd>
mov    0x8(%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    (%rbx,%r14,8),%rax
mov    -0x8(%rax,%r15,8),%rcx
mov    (%rax,%r15,8),%rax
addsd  (%rcx,%rbp,2),%xmm0
addsd  0x8(%rax,%rbp,2),%xmm0
jmp    15e5 <boundaryvalues_pressure+0x4c5>
mov    0x8(%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    (%rbx,%r14,8),%rax
mov    -0x8(%rax,%r15,8),%rcx
mov    (%rax,%r15,8),%rax
addsd  (%rcx,%rbp,2),%xmm0
jmp    15df <boundaryvalues_pressure+0x4bf>
mov    0x8(%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    (%rbx,%r14,8),%rax
mov    0x10(%rsp),%rcx
mov    (%rax,%rcx,8),%rcx
addsd  (%rcx,%rbp,2),%xmm0
mulsd  0xa87(%rip),%xmm0
mov    (%rax,%r15,8),%rax
jmp    15ed <boundaryvalues_pressure+0x4cd>
mov    0x8(%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    (%rbx,%r14,8),%rax
mov    0x10(%rsp),%rcx
mov    (%rax,%rcx,8),%rcx
addsd  (%rcx,%rbp,2),%xmm0
mov    (%rax,%r15,8),%rax
addsd  0x8(%rax,%rbp,2),%xmm0
jmp    15e5 <boundaryvalues_pressure+0x4c5>
mov    0x8(%rsp),%rax
mov    (%rbx,%rax,8),%rax
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
mov    (%rbx,%r14,8),%rax
mov    0x10(%rsp),%rcx
mov    (%rax,%rcx,8),%rcx
addsd  (%rcx,%rbp,2),%xmm0
mov    (%rax,%r15,8),%rax
addsd  -0x8(%rax,%rbp,2),%xmm0
divsd  0xa13(%rip),%xmm0
movsd  %xmm0,(%rax,%rbp,2)
mov    0x0(%r13,%r14,8),%rax
mov    (%rax,%r15,8),%rax
mov    (%rax,%rbp,1),%edi
xor    %eax,%eax
call   1040 <getcelltype@plt>
cmp    $0x4,%eax
jne    1210 <boundaryvalues_pressure+0xf0>
mov    (%rbx,%r14,8),%rax
mov    (%rax,%r15,8),%rax
movsd  (%rax,%rbp,2),%xmm0
xor    %ecx,%ecx
ucomisd 0x9eb(%rip),%xmm0
seta   %cl
lea    0x9e9(%rip),%rdx
mulsd  (%rdx,%rcx,8),%xmm0
movsd  %xmm0,(%rax,%rbp,2)
jmp    1210 <boundaryvalues_pressure+0xf0>

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