double integral_ffxi(int i, int j, double x1t, double x1r, double x2t,
                     double x2r, double y1t, double y1r, double y2t,
                     double y2r) {
  switch (i) {
  case 0:
    switch (j) {
    case 0:
      return -0.5 * x1t * y1t;
    case 1:
      return 0.1 * x1t * y1r;
    case 2:
      return 0.5 * x1t * y2t;
    case 3:
      return -0.1 * x1t * y2r;
    case 4:
      return 0.0857142857142857 * x1t;
    case 6:
      return -0.00317460317460317 * x1t;
    default:
      return 0.;
    }
  case 1:
    switch (j) {
    case 0:
      return -0.1 * x1r * y1t;
    case 2:
      return 0.1 * x1r * y2t;
    case 3:
      return -0.0166666666666667 * x1r * y2r;
    case 4:
      return 0.00952380952380952 * x1r;
    case 5:
      return 0.00476190476190476 * x1r;
    case 6:
      return -0.00158730158730159 * x1r;
    default:
      return 0.;
    }
  case 2:
    switch (j) {
    case 0:
      return -0.5 * x2t * y1t;
    case 1:
      return -0.1 * x2t * y1r;
    case 2:
      return 0.5 * x2t * y2t;
    case 3:
      return 0.1 * x2t * y2r;
    case 4:
      return -0.0857142857142857 * x2t;
    case 6:
      return 0.00317460317460317 * x2t;
    default:
      return 0.;
    }
  case 3:
    switch (j) {
    case 0:
      return 0.1 * x2r * y1t;
    case 1:
      return 0.0166666666666667 * x2r * y1r;
    case 2:
      return -0.1 * x2r * y2t;
    case 4:
      return 0.00952380952380952 * x2r;
    case 5:
      return -0.00476190476190476 * x2r;
    case 6:
      return -0.00158730158730159 * x2r;
    default:
      return 0.;
    }
  case 4:
    switch (j) {
    case 0:
      return -0.0857142857142857 * y1t;
    case 1:
      return -0.00952380952380952 * y1r;
    case 2:
      return 0.0857142857142857 * y2t;
    case 3:
      return -0.00952380952380952 * y2r;
    case 5:
      return 0.00634920634920635;
    case 7:
      return -0.000577200577200577;
    default:
      return 0.;
    }
  case 5:
    switch (j) {
    case 1:
      return -0.00476190476190476 * y1r;
    case 3:
      return 0.00476190476190476 * y2r;
    case 4:
      return -0.00634920634920635;
    case 6:
      return 0.00173160173160173;
    case 8:
      return -0.000222000222000222;
    default:
      return 0.;
    }
  case 6:
    switch (j) {
    case 0:
      return 0.00317460317460317 * y1t;
    case 1:
      return 0.00158730158730159 * y1r;
    case 2:
      return -0.00317460317460317 * y2t;
    case 3:
      return 0.00158730158730159 * y2r;
    case 5:
      return -0.00173160173160173;
    case 7:
      return 0.000666000666000666;
    case 9:
      return -0.000103600103600104;
    default:
      return 0.;
    }
  case 7:
    switch (j) {
    case 4:
      return 0.000577200577200577;
    case 6:
      return -0.000666000666000666;
    case 8:
      return 0.000310800310800311;
    case 10:
      return -5.48471136706431e-5;
    default:
      return 0.;
    }
  case 8:
    switch (j) {
    case 5:
      return 0.000222000222000222;
    case 7:
      return -0.000310800310800311;
    case 9:
      return 0.000164541341011929;
    case 11:
      return -3.17535921251092e-5;
    default:
      return 0.;
    }
  case 9:
    switch (j) {
    case 6:
      return 0.000103600103600104;
    case 8:
      return -0.000164541341011929;
    case 10:
      return 9.52607763753275e-5;
    case 12:
      return -1.96569856012580e-5;
    default:
      return 0.;
    }
  case 10:
    switch (j) {
    case 7:
      return 5.48471136706431e-5;
    case 9:
      return -9.52607763753275e-5;
    case 11:
      return 5.89709568037741e-5;
    case 13:
      return -1.28197732182118e-5;
    default:
      return 0.;
    }
  case 11:
    switch (j) {
    case 8:
      return 3.17535921251092e-5;
    case 10:
      return -5.89709568037741e-5;
    case 12:
      return 3.84593196546353e-5;
    case 14:
      return -8.71744578838400e-6;
    default:
      return 0.;
    }
  case 12:
    switch (j) {
    case 9:
      return 1.96569856012580e-5;
    case 11:
      return -3.84593196546353e-5;
    case 13:
      return 2.61523373651520e-5;
    case 15:
      return -6.13449888812208e-6;
    default:
      return 0.;
    }
  case 13:
    switch (j) {
    case 10:
      return 1.28197732182118e-5;
    case 12:
      return -2.61523373651520e-5;
    case 14:
      return 1.84034966643662e-5;
    case 16:
      return -4.44222333277806e-6;
    default:
      return 0.;
    }
  case 14:
    switch (j) {
    case 11:
      return 8.71744578838400e-6;
    case 13:
      return -1.84034966643662e-5;
    case 15:
      return 1.33266699983342e-5;
    case 17:
      return -3.29584311786759e-6;
    default:
      return 0.;
    }
  case 15:
    switch (j) {
    case 12:
      return 6.13449888812208e-6;
    case 14:
      return -1.33266699983342e-5;
    case 16:
      return 9.88752935360277e-6;
    case 18:
      return -2.49685084686939e-6;
    default:
      return 0.;
    }
  case 16:
    switch (j) {
    case 13:
      return 4.44222333277806e-6;
    case 15:
      return -9.88752935360277e-6;
    case 17:
      return 7.49055254060816e-6;
    case 19:
      return -1.92614208187067e-6;
    default:
      return 0.;
    }
  case 17:
    switch (j) {
    case 14:
      return 3.29584311786759e-6;
    case 16:
      return -7.49055254060816e-6;
    case 18:
      return 5.77842624561201e-6;
    case 20:
      return -1.50967892903377e-6;
    default:
      return 0.;
    }
  case 18:
    switch (j) {
    case 15:
      return 2.49685084686939e-6;
    case 17:
      return -5.77842624561201e-6;
    case 19:
      return 4.52903678710130e-6;
    case 21:
      return -1.20000120000120e-6;
    default:
      return 0.;
    }
  case 19:
    switch (j) {
    case 16:
      return 1.92614208187067e-6;
    case 18:
      return -4.52903678710130e-6;
    case 20:
      return 3.60000360000360e-6;
    case 22:
      return -9.65854624391210e-7;
    default:
      return 0.;
    }
  case 20:
    switch (j) {
    case 17:
      return 1.50967892903377e-6;
    case 19:
      return -3.60000360000360e-6;
    case 21:
      return 2.89756387317363e-6;
    case 23:
      return -7.86160740783543e-7;
    default:
      return 0.;
    }
  case 21:
    switch (j) {
    case 18:
      return 1.20000120000120e-6;
    case 20:
      return -2.89756387317363e-6;
    case 22:
      return 2.35848222235063e-6;
    case 24:
      return -6.46398831310913e-7;
    default:
      return 0.;
    }
  case 22:
    switch (j) {
    case 19:
      return 9.65854624391210e-7;
    case 21:
      return -2.35848222235063e-6;
    case 23:
      return 1.93919649393274e-6;
    case 25:
      return -5.36373498321821e-7;
    default:
      return 0.;
    }
  case 23:
    switch (j) {
    case 20:
      return 7.86160740783543e-7;
    case 22:
      return -1.93919649393274e-6;
    case 24:
      return 1.60912049496546e-6;
    case 26:
      return -4.48802314922340e-7;
    default:
      return 0.;
    }
  case 24:
    switch (j) {
    case 21:
      return 6.46398831310913e-7;
    case 23:
      return -1.60912049496546e-6;
    case 25:
      return 1.34640694476702e-6;
    case 27:
      return -3.78401951797267e-7;
    default:
      return 0.;
    }
  case 25:
    switch (j) {
    case 22:
      return 5.36373498321821e-7;
    case 24:
      return -1.34640694476702e-6;
    case 26:
      return 1.13520585539180e-6;
    case 28:
      return -3.21284676054284e-7;
    default:
      return 0.;
    }
  case 26:
    switch (j) {
    case 23:
      return 4.48802314922340e-7;
    case 25:
      return -1.13520585539180e-6;
    case 27:
      return 9.63854028162851e-7;
    case 29:
      return -2.74552359537297e-7;
    default:
      return 0.;
    }
  case 27:
    switch (j) {
    case 24:
      return 3.78401951797267e-7;
    case 26:
      return -9.63854028162851e-7;
    case 28:
      return 8.23657078611891e-7;
    default:
      return 0.;
    }
  case 28:
    switch (j) {
    case 25:
      return 3.21284676054284e-7;
    case 27:
      return -8.23657078611891e-7;
    case 29:
      return 7.08056085122503e-7;
    default:
      return 0.;
    }
  case 29:
    switch (j) {
    case 26:
      return 2.74552359537297e-7;
    case 28:
      return -7.08056085122503e-7;
    default:
      return 0.;
    }
  default:
    return 0.;
  }
}


x86 assembly (clang, -O0):
<integral_ffxi>:
push   %rbp
mov    %rsp,%rbp
sub    $0xc0,%rsp
mov    %edi,-0xc(%rbp)
mov    %esi,-0x10(%rbp)
movsd  %xmm0,-0x18(%rbp)
movsd  %xmm1,-0x20(%rbp)
movsd  %xmm2,-0x28(%rbp)
movsd  %xmm3,-0x30(%rbp)
movsd  %xmm4,-0x38(%rbp)
movsd  %xmm5,-0x40(%rbp)
movsd  %xmm6,-0x48(%rbp)
movsd  %xmm7,-0x50(%rbp)
mov    -0xc(%rbp),%eax
mov    %rax,-0x58(%rbp)
sub    $0x1d,%rax
ja     2260 <integral_ffxi+0x1160>
mov    -0x58(%rbp),%rax
lea    0x222b(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    -0x10(%rbp),%eax
mov    %rax,-0x60(%rbp)
sub    $0x6,%rax
ja     1221 <integral_ffxi+0x121>
mov    -0x60(%rbp),%rax
lea    0x256a(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x21e5(%rip),%xmm0
mulsd  -0x18(%rbp),%xmm0
mulsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x21b9(%rip),%xmm0
mulsd  -0x18(%rbp),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x21a5(%rip),%xmm0
mulsd  -0x18(%rbp),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x2171(%rip),%xmm0
mulsd  -0x18(%rbp),%xmm0
mulsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x2135(%rip),%xmm0
mulsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x20ce(%rip),%xmm0
mulsd  -0x18(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
mov    %rax,-0x68(%rbp)
sub    $0x6,%rax
ja     12ec <integral_ffxi+0x1ec>
mov    -0x68(%rbp),%rax
lea    0x247e(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x20f5(%rip),%xmm0
mulsd  -0x20(%rbp),%xmm0
mulsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x20e9(%rip),%xmm0
mulsd  -0x20(%rbp),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x20e5(%rip),%xmm0
mulsd  -0x20(%rbp),%xmm0
mulsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x2099(%rip),%xmm0
mulsd  -0x20(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x2042(%rip),%xmm0
mulsd  -0x20(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x2063(%rip),%xmm0
mulsd  -0x20(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
mov    %rax,-0x70(%rbp)
sub    $0x6,%rax
ja     13bc <integral_ffxi+0x2bc>
mov    -0x70(%rbp),%rax
lea    0x2397(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x204a(%rip),%xmm0
mulsd  -0x28(%rbp),%xmm0
mulsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x200e(%rip),%xmm0
mulsd  -0x28(%rbp),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x200a(%rip),%xmm0
mulsd  -0x28(%rbp),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1fe6(%rip),%xmm0
mulsd  -0x28(%rbp),%xmm0
mulsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1fa2(%rip),%xmm0
mulsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1f3b(%rip),%xmm0
mulsd  -0x28(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
mov    %rax,-0x78(%rbp)
sub    $0x6,%rax
ja     1487 <integral_ffxi+0x387>
mov    -0x78(%rbp),%rax
lea    0x22ab(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x1f6a(%rip),%xmm0
mulsd  -0x30(%rbp),%xmm0
mulsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1f46(%rip),%xmm0
mulsd  -0x30(%rbp),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1f22(%rip),%xmm0
mulsd  -0x30(%rbp),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1efe(%rip),%xmm0
mulsd  -0x30(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1eaf(%rip),%xmm0
mulsd  -0x30(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1ec8(%rip),%xmm0
mulsd  -0x30(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
mov    %rax,-0x80(%rbp)
sub    $0x7,%rax
ja     1539 <integral_ffxi+0x439>
mov    -0x80(%rbp),%rax
lea    0x21c0(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x1e77(%rip),%xmm0
mulsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1e50(%rip),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1e41(%rip),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1e22(%rip),%xmm0
mulsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1e03(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1de9(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,%ecx
mov    %rcx,-0x88(%rbp)
sub    $0x7,%eax
ja     15d9 <integral_ffxi+0x4d9>
mov    -0x88(%rbp),%rax
lea    0x20e4(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x1d93(%rip),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1d74(%rip),%xmm0
mulsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1d55(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1d3b(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1d21(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
mov    %rax,-0x90(%rbp)
sub    $0x9,%rax
ja     16a3 <integral_ffxi+0x5a3>
mov    -0x90(%rbp),%rax
lea    0x2020(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x1ccf(%rip),%xmm0
mulsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1ca8(%rip),%xmm0
mulsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1c99(%rip),%xmm0
mulsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1c7a(%rip),%xmm0
mulsd  -0x50(%rbp),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1c5b(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1c41(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1c27(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xfffffffc,%eax
mov    %eax,%ecx
mov    %rcx,-0x98(%rbp)
sub    $0x6,%eax
ja     1727 <integral_ffxi+0x627>
mov    -0x98(%rbp),%rax
lea    0x1f36(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x1bd1(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1bb7(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1b9d(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1b83(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xfffffffb,%eax
mov    %eax,%ecx
mov    %rcx,-0xa0(%rbp)
sub    $0x6,%eax
ja     17ab <integral_ffxi+0x6ab>
mov    -0xa0(%rbp),%rax
lea    0x1e96(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x1b2d(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1b13(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1af9(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1adf(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xfffffffa,%eax
mov    %eax,%ecx
mov    %rcx,-0xa8(%rbp)
sub    $0x6,%eax
ja     182f <integral_ffxi+0x72f>
mov    -0xa8(%rbp),%rax
lea    0x1df6(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x1a89(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1a6f(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1a55(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1a3b(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xfffffff9,%eax
mov    %eax,%ecx
mov    %rcx,-0xb0(%rbp)
sub    $0x6,%eax
ja     18b3 <integral_ffxi+0x7b3>
mov    -0xb0(%rbp),%rax
lea    0x1d56(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x19e5(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x19cb(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x19b1(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1997(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xfffffff8,%eax
mov    %eax,%ecx
mov    %rcx,-0xb8(%rbp)
sub    $0x6,%eax
ja     1937 <integral_ffxi+0x837>
mov    -0xb8(%rbp),%rax
lea    0x1cb6(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x1941(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1927(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x190d(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x18f3(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xfffffff7,%eax
mov    %eax,%ecx
mov    %rcx,-0xc0(%rbp)
sub    $0x6,%eax
ja     19bb <integral_ffxi+0x8bb>
mov    -0xc0(%rbp),%rax
lea    0x1c16(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x189d(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1883(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1869(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x184f(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xfffffff6,%eax
mov    %eax,%ecx
mov    %rcx,-0xc8(%rbp)
sub    $0x6,%eax
ja     1a3f <integral_ffxi+0x93f>
mov    -0xc8(%rbp),%rax
lea    0x1b76(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x17f9(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x17df(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x17c5(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x17ab(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xfffffff5,%eax
mov    %eax,%ecx
mov    %rcx,-0xd0(%rbp)
sub    $0x6,%eax
ja     1ac3 <integral_ffxi+0x9c3>
mov    -0xd0(%rbp),%rax
lea    0x1ad6(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x1755(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x173b(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1721(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1707(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xfffffff4,%eax
mov    %eax,%ecx
mov    %rcx,-0xd8(%rbp)
sub    $0x6,%eax
ja     1b47 <integral_ffxi+0xa47>
mov    -0xd8(%rbp),%rax
lea    0x1a36(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x16b1(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1697(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x167d(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1663(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xfffffff3,%eax
mov    %eax,%ecx
mov    %rcx,-0xe0(%rbp)
sub    $0x6,%eax
ja     1bcb <integral_ffxi+0xacb>
mov    -0xe0(%rbp),%rax
lea    0x1996(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x160d(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x15f3(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x15d9(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x15bf(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xfffffff2,%eax
mov    %eax,%ecx
mov    %rcx,-0xe8(%rbp)
sub    $0x6,%eax
ja     1c4f <integral_ffxi+0xb4f>
mov    -0xe8(%rbp),%rax
lea    0x18f6(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x1569(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x154f(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1535(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x151b(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xfffffff1,%eax
mov    %eax,%ecx
mov    %rcx,-0xf0(%rbp)
sub    $0x6,%eax
ja     1cd3 <integral_ffxi+0xbd3>
mov    -0xf0(%rbp),%rax
lea    0x1856(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x14c5(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x14ab(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1491(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1477(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xfffffff0,%eax
mov    %eax,%ecx
mov    %rcx,-0xf8(%rbp)
sub    $0x6,%eax
ja     1d57 <integral_ffxi+0xc57>
mov    -0xf8(%rbp),%rax
lea    0x17b6(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x1421(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1407(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x13ed(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x13d3(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xffffffef,%eax
mov    %eax,%ecx
mov    %rcx,-0x100(%rbp)
sub    $0x6,%eax
ja     1ddb <integral_ffxi+0xcdb>
mov    -0x100(%rbp),%rax
lea    0x1716(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x137d(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1363(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1349(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x132f(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xffffffee,%eax
mov    %eax,%ecx
mov    %rcx,-0x108(%rbp)
sub    $0x6,%eax
ja     1e5f <integral_ffxi+0xd5f>
mov    -0x108(%rbp),%rax
lea    0x1676(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x12d9(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x12bf(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x12a5(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x128b(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xffffffed,%eax
mov    %eax,%ecx
mov    %rcx,-0x110(%rbp)
sub    $0x6,%eax
ja     1ee3 <integral_ffxi+0xde3>
mov    -0x110(%rbp),%rax
lea    0x15d6(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x1235(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x121b(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1201(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x11e7(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xffffffec,%eax
mov    %eax,%ecx
mov    %rcx,-0x118(%rbp)
sub    $0x6,%eax
ja     1f67 <integral_ffxi+0xe67>
mov    -0x118(%rbp),%rax
lea    0x1536(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x1191(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1177(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x115d(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1143(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xffffffeb,%eax
mov    %eax,%ecx
mov    %rcx,-0x120(%rbp)
sub    $0x6,%eax
ja     1feb <integral_ffxi+0xeeb>
mov    -0x120(%rbp),%rax
lea    0x1496(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x10ed(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x10d3(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x10b9(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x109f(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xffffffea,%eax
mov    %eax,%ecx
mov    %rcx,-0x128(%rbp)
sub    $0x6,%eax
ja     206f <integral_ffxi+0xf6f>
mov    -0x128(%rbp),%rax
lea    0x13f6(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0x1049(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x102f(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0x1015(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0xffb(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
add    $0xffffffe9,%eax
mov    %eax,%ecx
mov    %rcx,-0x130(%rbp)
sub    $0x6,%eax
ja     20f3 <integral_ffxi+0xff3>
mov    -0x130(%rbp),%rax
lea    0x1356(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movsd  0xfa5(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0xf8b(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0xf71(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0xf57(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
mov    %eax,-0x134(%rbp)
sub    $0x18,%eax
je     213f <integral_ffxi+0x103f>
jmp    2117 <integral_ffxi+0x1017>
mov    -0x134(%rbp),%eax
sub    $0x1a,%eax
je     2151 <integral_ffxi+0x1051>
jmp    212b <integral_ffxi+0x102b>
mov    -0x134(%rbp),%eax
sub    $0x1c,%eax
je     2163 <integral_ffxi+0x1063>
jmp    2175 <integral_ffxi+0x1075>
movsd  0xef1(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0xed7(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0xebd(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
mov    %eax,-0x138(%rbp)
sub    $0x19,%eax
je     21c1 <integral_ffxi+0x10c1>
jmp    2199 <integral_ffxi+0x1099>
mov    -0x138(%rbp),%eax
sub    $0x1b,%eax
je     21d3 <integral_ffxi+0x10d3>
jmp    21ad <integral_ffxi+0x10ad>
mov    -0x138(%rbp),%eax
sub    $0x1d,%eax
je     21e5 <integral_ffxi+0x10e5>
jmp    21f7 <integral_ffxi+0x10f7>
movsd  0xe57(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0xe3d(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0xe23(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
mov    -0x10(%rbp),%eax
mov    %eax,-0x13c(%rbp)
sub    $0x1a,%eax
je     222f <integral_ffxi+0x112f>
jmp    221b <integral_ffxi+0x111b>
mov    -0x13c(%rbp),%eax
sub    $0x1c,%eax
je     2241 <integral_ffxi+0x1141>
jmp    2253 <integral_ffxi+0x1153>
movsd  0xdd1(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
movsd  0xdb7(%rip),%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
jmp    2268 <integral_ffxi+0x1168>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
movsd  -0x8(%rbp),%xmm0
add    $0xc0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<integral_ffxi>:
movapd %xmm0,%xmm8
xorpd  %xmm0,%xmm0
cmp    $0x1d,%edi
ja     14a0 <integral_ffxi+0x3a0>
mov    %edi,%eax
lea    0xfb5(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
cmp    $0x6,%esi
ja     14a0 <integral_ffxi+0x3a0>
mov    %esi,%eax
lea    0x10ce(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
xorpd  %xmm0,%xmm0
jmp    *%rax
mulsd  0xf74(%rip),%xmm8
mulsd  %xmm4,%xmm8
movapd %xmm8,%xmm0
ret
cmp    $0x6,%esi
ja     14a0 <integral_ffxi+0x3a0>
mov    %esi,%eax
lea    0x107f(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
xorpd  %xmm0,%xmm0
jmp    *%rax
mulsd  0xf22(%rip),%xmm1
mulsd  %xmm4,%xmm1
movapd %xmm1,%xmm0
ret
cmp    $0x6,%esi
ja     14a0 <integral_ffxi+0x3a0>
mov    %esi,%eax
lea    0x1033(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
xorpd  %xmm0,%xmm0
jmp    *%rax
mulsd  0xf12(%rip),%xmm2
mulsd  %xmm4,%xmm2
movapd %xmm2,%xmm0
ret
cmp    $0x6,%esi
ja     14a0 <integral_ffxi+0x3a0>
mov    %esi,%eax
lea    0xfe7(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
xorpd  %xmm0,%xmm0
jmp    *%rax
mulsd  0xed2(%rip),%xmm3
mulsd  %xmm4,%xmm3
movapd %xmm3,%xmm0
ret
cmp    $0x7,%esi
ja     14c2 <integral_ffxi+0x3c2>
movsd  0xe70(%rip),%xmm0
mov    %esi,%eax
lea    0xf8f(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mulsd  0xe76(%rip),%xmm4
movapd %xmm4,%xmm0
ret
add    $0xffffffff,%esi
cmp    $0x7,%esi
ja     14c2 <integral_ffxi+0x3c2>
movsd  0xe15(%rip),%xmm0
lea    0xf3e(%rip),%rax
movslq (%rax,%rsi,4),%rcx
add    %rax,%rcx
jmp    *%rcx
mulsd  0xe1d(%rip),%xmm5
movapd %xmm5,%xmm0
ret
cmp    $0x9,%esi
ja     14c2 <integral_ffxi+0x3c2>
movsd  0xdb7(%rip),%xmm0
mov    %esi,%eax
lea    0xee6(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mulsd  0xdc5(%rip),%xmm4
movapd %xmm4,%xmm0
ret
add    $0xfffffffc,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0xf92(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xfffffffb,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0xfaf(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xfffffffa,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0xfcc(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xfffffff9,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0xfe9(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xfffffff8,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x1006(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xfffffff7,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x1023(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xfffffff6,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x1040(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xfffffff5,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x105d(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xfffffff4,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x107a(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xfffffff3,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x1097(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xfffffff2,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x10b4(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xfffffff1,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x10d1(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xffffffef,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x1126(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xffffffee,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x1143(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xffffffeb,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x11d0(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xffffffea,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x11ed(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xffffffe8,%esi
cmp    $0x5,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x1249(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xfffffff0,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x1075(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xffffffed,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x1109(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xffffffec,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x112d(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xffffffe9,%esi
cmp    $0x7,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x11c1(%rip),%rcx
jmp    149b <integral_ffxi+0x39b>
add    $0xffffffe7,%esi
cmp    $0x5,%esi
jae    14a0 <integral_ffxi+0x3a0>
movslq %esi,%rax
lea    0x120d(%rip),%rcx
movsd  (%rcx,%rax,8),%xmm0
ret
cmp    $0x1c,%esi
je     14ac <integral_ffxi+0x3ac>
xorpd  %xmm0,%xmm0
jmp    14b4 <integral_ffxi+0x3b4>
movsd  0xb4c(%rip),%xmm0
cmp    $0x1a,%esi
jne    14a0 <integral_ffxi+0x3a0>
movsd  0xb47(%rip),%xmm0
ret
xorpd  %xmm0,%xmm0
ret
mulsd  0xb89(%rip),%xmm7
movapd %xmm7,%xmm0
ret
movsd  0xb74(%rip),%xmm0
ret
movsd  0xb63(%rip),%xmm0
ret
mulsd  0xbc1(%rip),%xmm8
mulsd  %xmm5,%xmm8
movapd %xmm8,%xmm0
ret
mulsd  0xbb5(%rip),%xmm8
mulsd  %xmm6,%xmm8
movapd %xmm8,%xmm0
ret
mulsd  0xb89(%rip),%xmm8
mulsd  %xmm7,%xmm8
movapd %xmm8,%xmm0
ret
mulsd  0xb55(%rip),%xmm8
movapd %xmm8,%xmm0
ret
mulsd  0xaf6(%rip),%xmm8
movapd %xmm8,%xmm0
ret
mulsd  0xb68(%rip),%xmm1
mulsd  %xmm6,%xmm1
movapd %xmm1,%xmm0
ret
mulsd  0xb6f(%rip),%xmm1
mulsd  %xmm7,%xmm1
movapd %xmm1,%xmm0
ret
mulsd  0xb2e(%rip),%xmm1
movapd %xmm1,%xmm0
ret
mulsd  0xae1(%rip),%xmm1
movapd %xmm1,%xmm0
ret
mulsd  0xb0c(%rip),%xmm1
movapd %xmm1,%xmm0
ret
mulsd  0xb0f(%rip),%xmm2
mulsd  %xmm5,%xmm2
movapd %xmm2,%xmm0
ret
mulsd  0xb16(%rip),%xmm2
mulsd  %xmm6,%xmm2
movapd %xmm2,%xmm0
ret
mulsd  0xafd(%rip),%xmm2
mulsd  %xmm7,%xmm2
movapd %xmm2,%xmm0
ret
mulsd  0xac4(%rip),%xmm2
movapd %xmm2,%xmm0
ret
mulsd  0xa67(%rip),%xmm2
movapd %xmm2,%xmm0
ret
mulsd  0xaca(%rip),%xmm3
mulsd  %xmm5,%xmm3
movapd %xmm3,%xmm0
ret
mulsd  0xab1(%rip),%xmm3
mulsd  %xmm6,%xmm3
movapd %xmm3,%xmm0
ret
mulsd  0xa98(%rip),%xmm3
movapd %xmm3,%xmm0
ret
mulsd  0xa53(%rip),%xmm3
movapd %xmm3,%xmm0
ret
mulsd  0xa76(%rip),%xmm3
movapd %xmm3,%xmm0
ret
mulsd  0xa51(%rip),%xmm5
movapd %xmm5,%xmm0
ret
mulsd  0xa4c(%rip),%xmm6
movapd %xmm6,%xmm0
ret
mulsd  0xa37(%rip),%xmm7
movapd %xmm7,%xmm0
ret
movsd  0xa22(%rip),%xmm0
ret
mulsd  0x9d1(%rip),%xmm5
movapd %xmm5,%xmm0
ret
mulsd  0x9cc(%rip),%xmm6
movapd %xmm6,%xmm0
ret
mulsd  0x9b7(%rip),%xmm7
movapd %xmm7,%xmm0
ret
movsd  0x9a2(%rip),%xmm0
ret
movsd  0x991(%rip),%xmm0
ret

LLVM IR (-O0):
define double @integral_ffxi(i32 %0, i32 %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8, double %9) {
%11 = alloca double
%12 = alloca i32
%13 = alloca i32
%14 = alloca double
%15 = alloca double
%16 = alloca double
%17 = alloca double
%18 = alloca double
%19 = alloca double
%20 = alloca double
%21 = alloca double
store i32 %0, i32* %12
store i32 %1, i32* %13
store double %2, double* %14
store double %3, double* %15
store double %4, double* %16
store double %5, double* %17
store double %6, double* %18
store double %7, double* %19
store double %8, double* %20
store double %9, double* %21
%22 = load i32, i32* %12
switch i32 %22, label %339 [
i32 0, label %23
i32 1, label %52
i32 2, label %79
i32 3, label %108
i32 4, label %135
i32 5, label %152
i32 6, label %164
i32 7, label %182
i32 8, label %189
i32 9, label %196
i32 10, label %203
i32 11, label %210
i32 12, label %217
i32 13, label %224
i32 14, label %231
i32 15, label %238
i32 16, label %245
i32 17, label %252
i32 18, label %259
i32 19, label %266
i32 20, label %273
i32 21, label %280
i32 22, label %287
i32 23, label %294
i32 24, label %301
i32 25, label %308
i32 26, label %315
i32 27, label %322
i32 28, label %328
i32 29, label %334
]
23: ; preds = %10
%24 = load i32, i32* %13
switch i32 %24, label %51 [
i32 0, label %25
i32 1, label %30
i32 2, label %35
i32 3, label %40
i32 4, label %45
i32 6, label %48
]
25: ; preds = %23
%26 = load double, double* %14
%27 = fmul double -5.000000e-01, %26
%28 = load double, double* %18
%29 = fmul double %27, %28
store double %29, double* %11
br label %340
30: ; preds = %23
%31 = load double, double* %14
%32 = fmul double 1.000000e-01, %31
%33 = load double, double* %19
%34 = fmul double %32, %33
store double %34, double* %11
br label %340
35: ; preds = %23
%36 = load double, double* %14
%37 = fmul double 5.000000e-01, %36
%38 = load double, double* %20
%39 = fmul double %37, %38
store double %39, double* %11
br label %340
40: ; preds = %23
%41 = load double, double* %14
%42 = fmul double -1.000000e-01, %41
%43 = load double, double* %21
%44 = fmul double %42, %43
store double %44, double* %11
br label %340
45: ; preds = %23
%46 = load double, double* %14
%47 = fmul double 0x3FB5F15F15F15F15, %46
store double %47, double* %11
br label %340
48: ; preds = %23
%49 = load double, double* %14
%50 = fmul double 0xBF6A01A01A01A00F, %49
store double %50, double* %11
br label %340
51: ; preds = %23
store double 0.000000e+00, double* %11
br label %340
52: ; preds = %10
%53 = load i32, i32* %13
switch i32 %53, label %78 [
i32 0, label %54
i32 2, label %59
i32 3, label %64
i32 4, label %69
i32 5, label %72
i32 6, label %75
]
54: ; preds = %52
%55 = load double, double* %15
%56 = fmul double -1.000000e-01, %55
%57 = load double, double* %18
%58 = fmul double %56, %57
store double %58, double* %11
br label %340
59: ; preds = %52
%60 = load double, double* %15
%61 = fmul double 1.000000e-01, %60
%62 = load double, double* %20
%63 = fmul double %61, %62
store double %63, double* %11
br label %340
64: ; preds = %52
%65 = load double, double* %15
%66 = fmul double 0xBF9111111111111B, %65
%67 = load double, double* %21
%68 = fmul double %66, %67
store double %68, double* %11
br label %340
69: ; preds = %52
%70 = load double, double* %15
%71 = fmul double 0x3F83813813813811, %70
store double %71, double* %11
br label %340
72: ; preds = %52
%73 = load double, double* %15
%74 = fmul double 0x3F73813813813811, %73
store double %74, double* %11
br label %340
75: ; preds = %52
%76 = load double, double* %15
%77 = fmul double 0xBF5A01A01A01A026, %76
store double %77, double* %11
br label %340
78: ; preds = %52
store double 0.000000e+00, double* %11
br label %340
79: ; preds = %10
%80 = load i32, i32* %13
switch i32 %80, label %107 [
i32 0, label %81
i32 1, label %86
i32 2, label %91
i32 3, label %96
i32 4, label %101
i32 6, label %104
]
81: ; preds = %79
%82 = load double, double* %16
%83 = fmul double -5.000000e-01, %82
%84 = load double, double* %18
%85 = fmul double %83, %84
store double %85, double* %11
br label %340
86: ; preds = %79
%87 = load double, double* %16
%88 = fmul double -1.000000e-01, %87
%89 = load double, double* %19
%90 = fmul double %88, %89
store double %90, double* %11
br label %340
91: ; preds = %79
%92 = load double, double* %16
%93 = fmul double 5.000000e-01, %92
%94 = load double, double* %20
%95 = fmul double %93, %94
store double %95, double* %11
br label %340
96: ; preds = %79
%97 = load double, double* %16
%98 = fmul double 1.000000e-01, %97
%99 = load double, double* %21
%100 = fmul double %98, %99
store double %100, double* %11
br label %340
101: ; preds = %79
%102 = load double, double* %16
%103 = fmul double 0xBFB5F15F15F15F15, %102
store double %103, double* %11
br label %340
104: ; preds = %79
%105 = load double, double* %16
%106 = fmul double 0x3F6A01A01A01A00F, %105
store double %106, double* %11
br label %340
107: ; preds = %79
store double 0.000000e+00, double* %11
br label %340
108: ; preds = %10
%109 = load i32, i32* %13
switch i32 %109, label %134 [
i32 0, label %110
i32 1, label %115
i32 2, label %120
i32 4, label %125
i32 5, label %128
i32 6, label %131
]
110: ; preds = %108
%111 = load double, double* %17
%112 = fmul double 1.000000e-01, %111
%113 = load double, double* %18
%114 = fmul double %112, %113
store double %114, double* %11
br label %340
115: ; preds = %108
%116 = load double, double* %17
%117 = fmul double 0x3F9111111111111B, %116
%118 = load double, double* %19
%119 = fmul double %117, %118
store double %119, double* %11
br label %340
120: ; preds = %108
%121 = load double, double* %17
%122 = fmul double -1.000000e-01, %121
%123 = load double, double* %20
%124 = fmul double %122, %123
store double %124, double* %11
br label %340
125: ; preds = %108
%126 = load double, double* %17
%127 = fmul double 0x3F83813813813811, %126
store double %127, double* %11
br label %340
128: ; preds = %108
%129 = load double, double* %17
%130 = fmul double 0xBF73813813813811, %129
store double %130, double* %11
br label %340
131: ; preds = %108
%132 = load double, double* %17
%133 = fmul double 0xBF5A01A01A01A026, %132
store double %133, double* %11
br label %340
134: ; preds = %108
store double 0.000000e+00, double* %11
br label %340
135: ; preds = %10
%136 = load i32, i32* %13
switch i32 %136, label %151 [
i32 0, label %137
i32 1, label %140
i32 2, label %143
i32 3, label %146
i32 5, label %149
i32 7, label %150
]
137: ; preds = %135
%138 = load double, double* %18
%139 = fmul double 0xBFB5F15F15F15F15, %138
store double %139, double* %11
br label %340
140: ; preds = %135
%141 = load double, double* %19
%142 = fmul double 0xBF83813813813811, %141
store double %142, double* %11
br label %340
143: ; preds = %135
%144 = load double, double* %20
%145 = fmul double 0x3FB5F15F15F15F15, %144
store double %145, double* %11
br label %340
146: ; preds = %135
%147 = load double, double* %21
%148 = fmul double 0xBF83813813813811, %147
store double %148, double* %11
br label %340
149: ; preds = %135
store double 0x3F7A01A01A01A01B, double* %11
br label %340
150: ; preds = %135
store double 0xBF42E9E8CD18746E, double* %11
br label %340
151: ; preds = %135
store double 0.000000e+00, double* %11
br label %340
152: ; preds = %10
%153 = load i32, i32* %13
switch i32 %153, label %163 [
i32 1, label %154
i32 3, label %157
i32 4, label %160
i32 6, label %161
i32 8, label %162
]
154: ; preds = %152
%155 = load double, double* %19
%156 = fmul double 0xBF73813813813811, %155
store double %156, double* %11
br label %340
157: ; preds = %152
%158 = load double, double* %21
%159 = fmul double 0x3F73813813813811, %158
store double %159, double* %11
br label %340
160: ; preds = %152
store double 0xBF7A01A01A01A01B, double* %11
br label %340
161: ; preds = %152
store double 0x3F5C5EDD33A4AEA1, double* %11
br label %340
162: ; preds = %152
store double 0xBF2D191762EA8BC0, double* %11
br label %340
163: ; preds = %152
store double 0.000000e+00, double* %11
br label %340
164: ; preds = %10
%165 = load i32, i32* %13
switch i32 %165, label %181 [
i32 0, label %166
i32 1, label %169
i32 2, label %172
i32 3, label %175
i32 5, label %178
i32 7, label %179
i32 9, label %180
]
166: ; preds = %164
%167 = load double, double* %18
%168 = fmul double 0x3F6A01A01A01A00F, %167
store double %168, double* %11
br label %340
169: ; preds = %164
%170 = load double, double* %19
%171 = fmul double 0x3F5A01A01A01A026, %170
store double %171, double* %11
br label %340
172: ; preds = %164
%173 = load double, double* %20
%174 = fmul double 0xBF6A01A01A01A00F, %173
store double %174, double* %11
br label %340
175: ; preds = %164
%176 = load double, double* %21
%177 = fmul double 0x3F5A01A01A01A026, %176
store double %177, double* %11
br label %340
178: ; preds = %164
store double 0xBF5C5EDD33A4AEA1, double* %11
br label %340
179: ; preds = %164
store double 0x3F45D2D18A2FE8D0, double* %11
br label %340
180: ; preds = %164
store double 0xBF1B287C3A303E48, double* %11
br label %340
181: ; preds = %164
store double 0.000000e+00, double* %11
br label %340
182: ; preds = %10
%183 = load i32, i32* %13
switch i32 %183, label %188 [
i32 4, label %184
i32 6, label %185
i32 8, label %186
i32 10, label %187
]
184: ; preds = %182
store double 0x3F42E9E8CD18746E, double* %11
br label %340
185: ; preds = %182
store double 0xBF45D2D18A2FE8D0, double* %11
br label %340
186: ; preds = %182
store double 0x3F345E5D2BA42EA4, double* %11
br label %340
187: ; preds = %182
store double 0xBF0CC17479D8BA4E, double* %11
br label %340
188: ; preds = %182
store double 0.000000e+00, double* %11
br label %340
189: ; preds = %10
%190 = load i32, i32* %13
switch i32 %190, label %195 [
i32 5, label %191
i32 7, label %192
i32 9, label %193
i32 11, label %194
]
191: ; preds = %189
store double 0x3F2D191762EA8BC0, double* %11
br label %340
192: ; preds = %189
store double 0xBF345E5D2BA42EA4, double* %11
br label %340
193: ; preds = %189
store double 0x3F2591175B628BAF, double* %11
br label %340
194: ; preds = %189
store double 0xBF00A5E51E1F2883, double* %11
br label %340
195: ; preds = %189
store double 0.000000e+00, double* %11
br label %340
196: ; preds = %10
%197 = load i32, i32* %13
switch i32 %197, label %202 [
i32 6, label %198
i32 8, label %199
i32 10, label %200
i32 12, label %201
]
198: ; preds = %196
store double 0x3F1B287C3A303E48, double* %11
br label %340
199: ; preds = %196
store double 0xBF2591175B628BAF, double* %11
br label %340
200: ; preds = %196
store double 0x3F18F8D7AD2EBCBE, double* %11
br label %340
201: ; preds = %196
store double 0xBEF49CA1C3C50D80, double* %11
br label %340
202: ; preds = %196
store double 0.000000e+00, double* %11
br label %340
203: ; preds = %10
%204 = load i32, i32* %13
switch i32 %204, label %209 [
i32 7, label %205
i32 9, label %206
i32 11, label %207
i32 13, label %208
]
205: ; preds = %203
store double 0x3F0CC17479D8BA4E, double* %11
br label %340
206: ; preds = %203
store double 0xBF18F8D7AD2EBCBE, double* %11
br label %340
207: ; preds = %203
store double 0x3F0EEAF2A5A7944F, double* %11
br label %340
208: ; preds = %203
store double 0xBEEAE2903701069E, double* %11
br label %340
209: ; preds = %203
store double 0.000000e+00, double* %11
br label %340
210: ; preds = %10
%211 = load i32, i32* %13
switch i32 %211, label %216 [
i32 8, label %212
i32 10, label %213
i32 12, label %214
i32 14, label %215
]
212: ; preds = %210
store double 0x3F00A5E51E1F2883, double* %11
br label %340
213: ; preds = %210
store double 0xBF0EEAF2A5A7944F, double* %11
br label %340
214: ; preds = %210
store double 0x3F0429EC2940C4E8, double* %11
br label %340
215: ; preds = %210
store double 0xBEE24824A048609B, double* %11
br label %340
216: ; preds = %210
store double 0.000000e+00, double* %11
br label %340
217: ; preds = %10
%218 = load i32, i32* %13
switch i32 %218, label %223 [
i32 9, label %219
i32 11, label %220
i32 13, label %221
i32 15, label %222
]
219: ; preds = %217
store double 0x3EF49CA1C3C50D80, double* %11
br label %340
220: ; preds = %217
store double 0xBF0429EC2940C4E8, double* %11
br label %340
221: ; preds = %217
store double 0x3EFB6C36F06C90E8, double* %11
br label %340
222: ; preds = %217
store double 0xBED9BADE36EA9AF4, double* %11
br label %340
223: ; preds = %217
store double 0.000000e+00, double* %11
br label %340
224: ; preds = %10
%225 = load i32, i32* %13
switch i32 %225, label %230 [
i32 10, label %226
i32 12, label %227
i32 14, label %228
i32 16, label %229
]
226: ; preds = %224
store double 0x3EEAE2903701069E, double* %11
br label %340
227: ; preds = %224
store double 0xBEFB6C36F06C90E8, double* %11
br label %340
228: ; preds = %224
store double 0x3EF34C26A92FF42B, double* %11
br label %340
229: ; preds = %224
store double 0xBED2A1CD0D48C87E, double* %11
br label %340
230: ; preds = %224
store double 0.000000e+00, double* %11
br label %340
231: ; preds = %10
%232 = load i32, i32* %13
switch i32 %232, label %237 [
i32 11, label %233
i32 13, label %234
i32 15, label %235
i32 17, label %236
]
233: ; preds = %231
store double 0x3EE24824A048609B, double* %11
br label %340
234: ; preds = %231
store double 0xBEF34C26A92FF42B, double* %11
br label %340
235: ; preds = %231
store double 0x3EEBF2B393ED2CC9, double* %11
br label %340
236: ; preds = %231
store double 0xBECBA5C4EA6C0030, double* %11
br label %340
237: ; preds = %231
store double 0.000000e+00, double* %11
br label %340
238: ; preds = %10
%239 = load i32, i32* %13
switch i32 %239, label %244 [
i32 12, label %240
i32 14, label %241
i32 16, label %242
i32 18, label %243
]
240: ; preds = %238
store double 0x3ED9BADE36EA9AF4, double* %11
br label %340
241: ; preds = %238
store double 0xBEEBF2B393ED2CC9, double* %11
br label %340
242: ; preds = %238
store double 0x3EE4BC53AFD10024, double* %11
br label %340
243: ; preds = %238
store double 0xBEC4F1F244FC7C4C, double* %11
br label %340
244: ; preds = %238
store double 0.000000e+00, double* %11
br label %340
245: ; preds = %10
%246 = load i32, i32* %13
switch i32 %246, label %251 [
i32 13, label %247
i32 15, label %248
i32 17, label %249
i32 19, label %250
]
247: ; preds = %245
store double 0x3ED2A1CD0D48C87E, double* %11
br label %340
248: ; preds = %245
store double 0xBEE4BC53AFD10024, double* %11
br label %340
249: ; preds = %245
store double 0x3EDF6AEB677ABA66, double* %11
br label %340
250: ; preds = %245
store double 0xBEC0285BCED1672E, double* %11
br label %340
251: ; preds = %245
store double 0.000000e+00, double* %11
br label %340
252: ; preds = %10
%253 = load i32, i32* %13
switch i32 %253, label %258 [
i32 14, label %254
i32 16, label %255
i32 18, label %256
i32 20, label %257
]
254: ; preds = %252
store double 0x3ECBA5C4EA6C0030, double* %11
br label %340
255: ; preds = %252
store double 0xBEDF6AEB677ABA66, double* %11
br label %340
256: ; preds = %252
store double 0x3ED83C89B63A1AC5, double* %11
br label %340
257: ; preds = %252
store double 0xBEB954058963EDE1, double* %11
br label %340
258: ; preds = %252
store double 0.000000e+00, double* %11
br label %340
259: ; preds = %10
%260 = load i32, i32* %13
switch i32 %260, label %265 [
i32 15, label %261
i32 17, label %262
i32 19, label %263
i32 21, label %264
]
261: ; preds = %259
store double 0x3EC4F1F244FC7C4C, double* %11
br label %340
262: ; preds = %259
store double 0xBED83C89B63A1AC5, double* %11
br label %340
263: ; preds = %259
store double 0x3ED2FF04270AF25D, double* %11
br label %340
264: ; preds = %259
store double 0xBEB421F745D2B67D, double* %11
br label %340
265: ; preds = %259
store double 0.000000e+00, double* %11
br label %340
266: ; preds = %10
%267 = load i32, i32* %13
switch i32 %267, label %272 [
i32 16, label %268
i32 18, label %269
i32 20, label %270
i32 22, label %271
]
268: ; preds = %266
store double 0x3EC0285BCED1672E, double* %11
br label %340
269: ; preds = %266
store double 0xBED2FF04270AF25D, double* %11
br label %340
270: ; preds = %266
store double 0x3ECE32F2E8BC11BB, double* %11
br label %340
271: ; preds = %266
store double 0xBEB0345063E80985, double* %11
br label %340
272: ; preds = %266
store double 0.000000e+00, double* %11
br label %340
273: ; preds = %10
%274 = load i32, i32* %13
switch i32 %274, label %279 [
i32 17, label %275
i32 19, label %276
i32 21, label %277
i32 23, label %278
]
275: ; preds = %273
store double 0x3EB954058963EDE1, double* %11
br label %340
276: ; preds = %273
store double 0xBECE32F2E8BC11BB, double* %11
br label %340
277: ; preds = %273
store double 0x3EC84E7895DC0E47, double* %11
br label %340
278: ; preds = %273
store double 0xBEAA6111C067DFDE, double* %11
br label %340
279: ; preds = %273
store double 0.000000e+00, double* %11
br label %340
280: ; preds = %10
%281 = load i32, i32* %13
switch i32 %281, label %286 [
i32 18, label %282
i32 20, label %283
i32 22, label %284
i32 24, label %285
]
282: ; preds = %280
store double 0x3EB421F745D2B67D, double* %11
br label %340
283: ; preds = %280
store double 0xBEC84E7895DC0E47, double* %11
br label %340
284: ; preds = %280
store double 0x3EC3C8CD504DE7E9, double* %11
br label %340
285: ; preds = %280
store double 0xBEA5B0860FFA62BB, double* %11
br label %340
286: ; preds = %280
store double 0.000000e+00, double* %11
br label %340
287: ; preds = %10
%288 = load i32, i32* %13
switch i32 %288, label %293 [
i32 19, label %289
i32 21, label %290
i32 23, label %291
i32 25, label %292
]
289: ; preds = %287
store double 0x3EB0345063E80985, double* %11
br label %340
290: ; preds = %287
store double 0xBEC3C8CD504DE7E9, double* %11
br label %340
291: ; preds = %287
store double 0x3EC044648BFBCA0E, double* %11
br label %340
292: ; preds = %287
store double 0xBEA1FF69CBE58DD3, double* %11
br label %340
293: ; preds = %287
store double 0.000000e+00, double* %11
br label %340
294: ; preds = %10
%295 = load i32, i32* %13
switch i32 %295, label %300 [
i32 20, label %296
i32 22, label %297
i32 24, label %298
i32 26, label %299
]
296: ; preds = %294
store double 0x3EAA6111C067DFDE, double* %11
br label %340
297: ; preds = %294
store double 0xBEC044648BFBCA0E, double* %11
br label %340
298: ; preds = %294
store double 0x3EBAFF1EB1D854AE, double* %11
br label %340
299: ; preds = %294
store double 0xBE9E1E5D748FD337, double* %11
br label %340
300: ; preds = %294
store double 0.000000e+00, double* %11
br label %340
301: ; preds = %10
%302 = load i32, i32* %13
switch i32 %302, label %307 [
i32 21, label %303
i32 23, label %304
i32 25, label %305
i32 27, label %306
]
303: ; preds = %301
store double 0x3EA5B0860FFA62BB, double* %11
br label %340
304: ; preds = %301
store double 0xBEBAFF1EB1D854AE, double* %11
br label %340
305: ; preds = %301
store double 0x3EB696C6176BDE69, double* %11
br label %340
306: ; preds = %301
store double 0xBE9964E562471173, double* %11
br label %340
307: ; preds = %301
store double 0.000000e+00, double* %11
br label %340
308: ; preds = %10
%309 = load i32, i32* %13
switch i32 %309, label %314 [
i32 22, label %310
i32 24, label %311
i32 26, label %312
i32 28, label %313
]
310: ; preds = %308
store double 0x3EA1FF69CBE58DD3, double* %11
br label %340
311: ; preds = %308
store double 0xBEB696C6176BDE69, double* %11
br label %340
312: ; preds = %308
store double 0x3EB30BAC09B54D12, double* %11
br label %340
313: ; preds = %308
store double 0xBE958FA0F2D6E83A, double* %11
br label %340
314: ; preds = %308
store double 0.000000e+00, double* %11
br label %340
315: ; preds = %10
%316 = load i32, i32* %13
switch i32 %316, label %321 [
i32 23, label %317
i32 25, label %318
i32 27, label %319
i32 29, label %320
]
317: ; preds = %315
store double 0x3E9E1E5D748FD337, double* %11
br label %340
318: ; preds = %315
store double 0xBEB30BAC09B54D12, double* %11
br label %340
319: ; preds = %315
store double 0x3EB02BB8B6212E27, double* %11
br label %340
320: ; preds = %315
store double 0xBE926CC60C06C66E, double* %11
br label %340
321: ; preds = %315
store double 0.000000e+00, double* %11
br label %340
322: ; preds = %10
%323 = load i32, i32* %13
switch i32 %323, label %327 [
i32 24, label %324
i32 26, label %325
i32 28, label %326
]
324: ; preds = %322
store double 0x3E9964E562471173, double* %11
br label %340
325: ; preds = %322
store double 0xBEB02BB8B6212E27, double* %11
br label %340
326: ; preds = %322
store double 0x3EABA329120A29A5, double* %11
br label %340
327: ; preds = %322
store double 0.000000e+00, double* %11
br label %340
328: ; preds = %10
%329 = load i32, i32* %13
switch i32 %329, label %333 [
i32 25, label %330
i32 27, label %331
i32 29, label %332
]
330: ; preds = %328
store double 0x3E958FA0F2D6E83A, double* %11
br label %340
331: ; preds = %328
store double 0xBEABA329120A29A5, double* %11
br label %340
332: ; preds = %328
store double 0x3EA7C227CC23AF09, double* %11
br label %340
333: ; preds = %328
store double 0.000000e+00, double* %11
br label %340
334: ; preds = %10
%335 = load i32, i32* %13
switch i32 %335, label %338 [
i32 26, label %336
i32 28, label %337
]
336: ; preds = %334
store double 0x3E926CC60C06C66E, double* %11
br label %340
337: ; preds = %334
store double 0xBEA7C227CC23AF09, double* %11
br label %340
338: ; preds = %334
store double 0.000000e+00, double* %11
br label %340
339: ; preds = %10
store double 0.000000e+00, double* %11
br label %340
340: ; preds = %339, %338, %337, %336, %333, %332, %331, %330, %327, %326, %325, %324, %321, %320, %319, %318, %317, %314, %313, %312, %311, %310, %307, %306, %305, %304, %303, %300, %299, %298, %297, %296, %293, %292, %291, %290, %289, %286, %285, %284, %283, %282, %279, %278, %277, %276, %275, %272, %271, %270, %269, %268, %265, %264, %263, %262, %261, %258, %257, %256, %255, %254, %251, %250, %249, %248, %247, %244, %243, %242, %241, %240, %237, %236, %235, %234, %233, %230, %229, %228, %227, %226, %223, %222, %221, %220, %219, %216, %215, %214, %213, %212, %209, %208, %207, %206, %205, %202, %201, %200, %199, %198, %195, %194, %193, %192, %191, %188, %187, %186, %185, %184, %181, %180, %179, %178, %175, %172, %169, %166, %163, %162, %161, %160, %157, %154, %151, %150, %149, %146, %143, %140, %137, %134, %131, %128, %125, %120, %115, %110, %107, %104, %101, %96, %91, %86, %81, %78, %75, %72, %69, %64, %59, %54, %51, %48, %45, %40, %35, %30, %25
%341 = load double, double* %11
ret double %341
}

LLVM IR (-O2):
@switch.table.integral_ffxi = [7 x double] [double 0x3F42E9E8CD18746E, double 0.000000e+00, double 0xBF45D2D18A2FE8D0, double 0.000000e+00, double 0x3F345E5D2BA42EA4, double 0.000000e+00, double 0xBF0CC17479D8BA4E]
@switch.table.integral_ffxi.1 = [7 x double] [double 0x3F2D191762EA8BC0, double 0.000000e+00, double 0xBF345E5D2BA42EA4, double 0.000000e+00, double 0x3F2591175B628BAF, double 0.000000e+00, double 0xBF00A5E51E1F2883]
@switch.table.integral_ffxi.2 = [7 x double] [double 0x3F1B287C3A303E48, double 0.000000e+00, double 0xBF2591175B628BAF, double 0.000000e+00, double 0x3F18F8D7AD2EBCBE, double 0.000000e+00, double 0xBEF49CA1C3C50D80]
@switch.table.integral_ffxi.3 = [7 x double] [double 0x3F0CC17479D8BA4E, double 0.000000e+00, double 0xBF18F8D7AD2EBCBE, double 0.000000e+00, double 0x3F0EEAF2A5A7944F, double 0.000000e+00, double 0xBEEAE2903701069E]
@switch.table.integral_ffxi.4 = [7 x double] [double 0x3F00A5E51E1F2883, double 0.000000e+00, double 0xBF0EEAF2A5A7944F, double 0.000000e+00, double 0x3F0429EC2940C4E8, double 0.000000e+00, double 0xBEE24824A048609B]
@switch.table.integral_ffxi.5 = [7 x double] [double 0x3EF49CA1C3C50D80, double 0.000000e+00, double 0xBF0429EC2940C4E8, double 0.000000e+00, double 0x3EFB6C36F06C90E8, double 0.000000e+00, double 0xBED9BADE36EA9AF4]
@switch.table.integral_ffxi.6 = [7 x double] [double 0x3EEAE2903701069E, double 0.000000e+00, double 0xBEFB6C36F06C90E8, double 0.000000e+00, double 0x3EF34C26A92FF42B, double 0.000000e+00, double 0xBED2A1CD0D48C87E]
@switch.table.integral_ffxi.7 = [7 x double] [double 0x3EE24824A048609B, double 0.000000e+00, double 0xBEF34C26A92FF42B, double 0.000000e+00, double 0x3EEBF2B393ED2CC9, double 0.000000e+00, double 0xBECBA5C4EA6C0030]
@switch.table.integral_ffxi.8 = [7 x double] [double 0x3ED9BADE36EA9AF4, double 0.000000e+00, double 0xBEEBF2B393ED2CC9, double 0.000000e+00, double 0x3EE4BC53AFD10024, double 0.000000e+00, double 0xBEC4F1F244FC7C4C]
@switch.table.integral_ffxi.9 = [7 x double] [double 0x3ED2A1CD0D48C87E, double 0.000000e+00, double 0xBEE4BC53AFD10024, double 0.000000e+00, double 0x3EDF6AEB677ABA66, double 0.000000e+00, double 0xBEC0285BCED1672E]
@switch.table.integral_ffxi.10 = [7 x double] [double 0x3ECBA5C4EA6C0030, double 0.000000e+00, double 0xBEDF6AEB677ABA66, double 0.000000e+00, double 0x3ED83C89B63A1AC5, double 0.000000e+00, double 0xBEB954058963EDE1]
@switch.table.integral_ffxi.11 = [7 x double] [double 0x3EC4F1F244FC7C4C, double 0.000000e+00, double 0xBED83C89B63A1AC5, double 0.000000e+00, double 0x3ED2FF04270AF25D, double 0.000000e+00, double 0xBEB421F745D2B67D]
@switch.table.integral_ffxi.12 = [7 x double] [double 0x3EC0285BCED1672E, double 0.000000e+00, double 0xBED2FF04270AF25D, double 0.000000e+00, double 0x3ECE32F2E8BC11BB, double 0.000000e+00, double 0xBEB0345063E80985]
@switch.table.integral_ffxi.13 = [7 x double] [double 0x3EB954058963EDE1, double 0.000000e+00, double 0xBECE32F2E8BC11BB, double 0.000000e+00, double 0x3EC84E7895DC0E47, double 0.000000e+00, double 0xBEAA6111C067DFDE]
@switch.table.integral_ffxi.14 = [7 x double] [double 0x3EB421F745D2B67D, double 0.000000e+00, double 0xBEC84E7895DC0E47, double 0.000000e+00, double 0x3EC3C8CD504DE7E9, double 0.000000e+00, double 0xBEA5B0860FFA62BB]
@switch.table.integral_ffxi.15 = [7 x double] [double 0x3EB0345063E80985, double 0.000000e+00, double 0xBEC3C8CD504DE7E9, double 0.000000e+00, double 0x3EC044648BFBCA0E, double 0.000000e+00, double 0xBEA1FF69CBE58DD3]
@switch.table.integral_ffxi.16 = [7 x double] [double 0x3EAA6111C067DFDE, double 0.000000e+00, double 0xBEC044648BFBCA0E, double 0.000000e+00, double 0x3EBAFF1EB1D854AE, double 0.000000e+00, double 0xBE9E1E5D748FD337]
@switch.table.integral_ffxi.17 = [7 x double] [double 0x3EA5B0860FFA62BB, double 0.000000e+00, double 0xBEBAFF1EB1D854AE, double 0.000000e+00, double 0x3EB696C6176BDE69, double 0.000000e+00, double 0xBE9964E562471173]
@switch.table.integral_ffxi.18 = [7 x double] [double 0x3EA1FF69CBE58DD3, double 0.000000e+00, double 0xBEB696C6176BDE69, double 0.000000e+00, double 0x3EB30BAC09B54D12, double 0.000000e+00, double 0xBE958FA0F2D6E83A]
@switch.table.integral_ffxi.19 = [7 x double] [double 0x3E9E1E5D748FD337, double 0.000000e+00, double 0xBEB30BAC09B54D12, double 0.000000e+00, double 0x3EB02BB8B6212E27, double 0.000000e+00, double 0xBE926CC60C06C66E]
@switch.table.integral_ffxi.20 = [5 x double] [double 0x3E9964E562471173, double 0.000000e+00, double 0xBEB02BB8B6212E27, double 0.000000e+00, double 0x3EABA329120A29A5]
@switch.table.integral_ffxi.21 = [5 x double] [double 0x3E958FA0F2D6E83A, double 0.000000e+00, double 0xBEABA329120A29A5, double 0.000000e+00, double 0x3EA7C227CC23AF09]
define double @integral_ffxi(i32 %0, i32 %1, double %2, double %3, double %4, double %5, double %6, double %7, double %8, double %9) {
switch i32 %0, label %267 [
i32 0, label %11
i32 1, label %28
i32 2, label %44
i32 3, label %61
i32 4, label %77
i32 5, label %88
i32 6, label %96
i32 7, label %108
i32 8, label %111
i32 9, label %114
i32 10, label %117
i32 11, label %120
i32 12, label %123
i32 13, label %126
i32 14, label %129
i32 15, label %132
i32 16, label %135
i32 17, label %138
i32 18, label %141
i32 19, label %144
i32 20, label %147
i32 21, label %150
i32 22, label %153
i32 23, label %156
i32 24, label %159
i32 25, label %162
i32 26, label %165
i32 27, label %168
i32 28, label %171
i32 29, label %174
]
11: ; preds = %10
switch i32 %1, label %267 [
i32 0, label %12
i32 1, label %15
i32 2, label %18
i32 3, label %21
i32 4, label %24
i32 6, label %26
]
12: ; preds = %11
%13 = fmul double %2, -5.000000e-01
%14 = fmul double %13, %6
br label %267
15: ; preds = %11
%16 = fmul double %2, 1.000000e-01
%17 = fmul double %16, %7
br label %267
18: ; preds = %11
%19 = fmul double %2, 5.000000e-01
%20 = fmul double %19, %8
br label %267
21: ; preds = %11
%22 = fmul double %2, -1.000000e-01
%23 = fmul double %22, %9
br label %267
24: ; preds = %11
%25 = fmul double %2, 0x3FB5F15F15F15F15
br label %267
26: ; preds = %11
%27 = fmul double %2, 0xBF6A01A01A01A00F
br label %267
28: ; preds = %10
switch i32 %1, label %267 [
i32 0, label %29
i32 2, label %32
i32 3, label %35
i32 4, label %38
i32 5, label %40
i32 6, label %42
]
29: ; preds = %28
%30 = fmul double %3, -1.000000e-01
%31 = fmul double %30, %6
br label %267
32: ; preds = %28
%33 = fmul double %3, 1.000000e-01
%34 = fmul double %33, %8
br label %267
35: ; preds = %28
%36 = fmul double %3, 0xBF9111111111111B
%37 = fmul double %36, %9
br label %267
38: ; preds = %28
%39 = fmul double %3, 0x3F83813813813811
br label %267
40: ; preds = %28
%41 = fmul double %3, 0x3F73813813813811
br label %267
42: ; preds = %28
%43 = fmul double %3, 0xBF5A01A01A01A026
br label %267
44: ; preds = %10
switch i32 %1, label %267 [
i32 0, label %45
i32 1, label %48
i32 2, label %51
i32 3, label %54
i32 4, label %57
i32 6, label %59
]
45: ; preds = %44
%46 = fmul double %4, -5.000000e-01
%47 = fmul double %46, %6
br label %267
48: ; preds = %44
%49 = fmul double %4, -1.000000e-01
%50 = fmul double %49, %7
br label %267
51: ; preds = %44
%52 = fmul double %4, 5.000000e-01
%53 = fmul double %52, %8
br label %267
54: ; preds = %44
%55 = fmul double %4, 1.000000e-01
%56 = fmul double %55, %9
br label %267
57: ; preds = %44
%58 = fmul double %4, 0xBFB5F15F15F15F15
br label %267
59: ; preds = %44
%60 = fmul double %4, 0x3F6A01A01A01A00F
br label %267
61: ; preds = %10
switch i32 %1, label %267 [
i32 0, label %62
i32 1, label %65
i32 2, label %68
i32 4, label %71
i32 5, label %73
i32 6, label %75
]
62: ; preds = %61
%63 = fmul double %5, 1.000000e-01
%64 = fmul double %63, %6
br label %267
65: ; preds = %61
%66 = fmul double %5, 0x3F9111111111111B
%67 = fmul double %66, %7
br label %267
68: ; preds = %61
%69 = fmul double %5, -1.000000e-01
%70 = fmul double %69, %8
br label %267
71: ; preds = %61
%72 = fmul double %5, 0x3F83813813813811
br label %267
73: ; preds = %61
%74 = fmul double %5, 0xBF73813813813811
br label %267
75: ; preds = %61
%76 = fmul double %5, 0xBF5A01A01A01A026
br label %267
77: ; preds = %10
switch i32 %1, label %87 [
i32 0, label %78
i32 1, label %80
i32 2, label %82
i32 3, label %84
i32 5, label %267
i32 7, label %86
]
78: ; preds = %77
%79 = fmul double %6, 0xBFB5F15F15F15F15
br label %267
80: ; preds = %77
%81 = fmul double %7, 0xBF83813813813811
br label %267
82: ; preds = %77
%83 = fmul double %8, 0x3FB5F15F15F15F15
br label %267
84: ; preds = %77
%85 = fmul double %9, 0xBF83813813813811
br label %267
86: ; preds = %77
br label %267
87: ; preds = %77
br label %267
88: ; preds = %10
switch i32 %1, label %95 [
i32 1, label %89
i32 3, label %91
i32 4, label %267
i32 6, label %93
i32 8, label %94
]
89: ; preds = %88
%90 = fmul double %7, 0xBF73813813813811
br label %267
91: ; preds = %88
%92 = fmul double %9, 0x3F73813813813811
br label %267
93: ; preds = %88
br label %267
94: ; preds = %88
br label %267
95: ; preds = %88
br label %267
96: ; preds = %10
switch i32 %1, label %107 [
i32 0, label %97
i32 1, label %99
i32 2, label %101
i32 3, label %103
i32 5, label %267
i32 7, label %105
i32 9, label %106
]
97: ; preds = %96
%98 = fmul double %6, 0x3F6A01A01A01A00F
br label %267
99: ; preds = %96
%100 = fmul double %7, 0x3F5A01A01A01A026
br label %267
101: ; preds = %96
%102 = fmul double %8, 0xBF6A01A01A01A00F
br label %267
103: ; preds = %96
%104 = fmul double %9, 0x3F5A01A01A01A026
br label %267
105: ; preds = %96
br label %267
106: ; preds = %96
br label %267
107: ; preds = %96
br label %267
108: ; preds = %10
%109 = add i32 %1, -4
%110 = icmp ult i32 %109, 7
br i1 %110, label %179, label %267
111: ; preds = %10
%112 = add i32 %1, -5
%113 = icmp ult i32 %112, 7
br i1 %113, label %183, label %267
114: ; preds = %10
%115 = add i32 %1, -6
%116 = icmp ult i32 %115, 7
br i1 %116, label %187, label %267
117: ; preds = %10
%118 = add i32 %1, -7
%119 = icmp ult i32 %118, 7
br i1 %119, label %191, label %267
120: ; preds = %10
%121 = add i32 %1, -8
%122 = icmp ult i32 %121, 7
br i1 %122, label %195, label %267
123: ; preds = %10
%124 = add i32 %1, -9
%125 = icmp ult i32 %124, 7
br i1 %125, label %199, label %267
126: ; preds = %10
%127 = add i32 %1, -10
%128 = icmp ult i32 %127, 7
br i1 %128, label %203, label %267
129: ; preds = %10
%130 = add i32 %1, -11
%131 = icmp ult i32 %130, 7
br i1 %131, label %207, label %267
132: ; preds = %10
%133 = add i32 %1, -12
%134 = icmp ult i32 %133, 7
br i1 %134, label %211, label %267
135: ; preds = %10
%136 = add i32 %1, -13
%137 = icmp ult i32 %136, 7
br i1 %137, label %215, label %267
138: ; preds = %10
%139 = add i32 %1, -14
%140 = icmp ult i32 %139, 7
br i1 %140, label %219, label %267
141: ; preds = %10
%142 = add i32 %1, -15
%143 = icmp ult i32 %142, 7
br i1 %143, label %223, label %267
144: ; preds = %10
%145 = add i32 %1, -16
%146 = icmp ult i32 %145, 7
br i1 %146, label %227, label %267
147: ; preds = %10
%148 = add i32 %1, -17
%149 = icmp ult i32 %148, 7
br i1 %149, label %231, label %267
150: ; preds = %10
%151 = add i32 %1, -18
%152 = icmp ult i32 %151, 7
br i1 %152, label %235, label %267
153: ; preds = %10
%154 = add i32 %1, -19
%155 = icmp ult i32 %154, 7
br i1 %155, label %239, label %267
156: ; preds = %10
%157 = add i32 %1, -20
%158 = icmp ult i32 %157, 7
br i1 %158, label %243, label %267
159: ; preds = %10
%160 = add i32 %1, -21
%161 = icmp ult i32 %160, 7
br i1 %161, label %247, label %267
162: ; preds = %10
%163 = add i32 %1, -22
%164 = icmp ult i32 %163, 7
br i1 %164, label %251, label %267
165: ; preds = %10
%166 = add i32 %1, -23
%167 = icmp ult i32 %166, 7
br i1 %167, label %255, label %267
168: ; preds = %10
%169 = add i32 %1, -24
%170 = icmp ult i32 %169, 5
br i1 %170, label %259, label %267
171: ; preds = %10
%172 = add i32 %1, -25
%173 = icmp ult i32 %172, 5
br i1 %173, label %263, label %267
174: ; preds = %10
%175 = icmp eq i32 %1, 28
%176 = select i1 %175, double 0xBEA7C227CC23AF09, double 0.000000e+00
%177 = icmp eq i32 %1, 26
%178 = select i1 %177, double 0x3E926CC60C06C66E, double %176
br label %267
179: ; preds = %108
%180 = sext i32 %109 to i64
%181 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi, i64 0, i64 %180
%182 = load double, double* %181
br label %267
183: ; preds = %111
%184 = sext i32 %112 to i64
%185 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.1, i64 0, i64 %184
%186 = load double, double* %185
br label %267
187: ; preds = %114
%188 = sext i32 %115 to i64
%189 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.2, i64 0, i64 %188
%190 = load double, double* %189
br label %267
191: ; preds = %117
%192 = sext i32 %118 to i64
%193 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.3, i64 0, i64 %192
%194 = load double, double* %193
br label %267
195: ; preds = %120
%196 = sext i32 %121 to i64
%197 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.4, i64 0, i64 %196
%198 = load double, double* %197
br label %267
199: ; preds = %123
%200 = sext i32 %124 to i64
%201 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.5, i64 0, i64 %200
%202 = load double, double* %201
br label %267
203: ; preds = %126
%204 = sext i32 %127 to i64
%205 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.6, i64 0, i64 %204
%206 = load double, double* %205
br label %267
207: ; preds = %129
%208 = sext i32 %130 to i64
%209 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.7, i64 0, i64 %208
%210 = load double, double* %209
br label %267
211: ; preds = %132
%212 = sext i32 %133 to i64
%213 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.8, i64 0, i64 %212
%214 = load double, double* %213
br label %267
215: ; preds = %135
%216 = sext i32 %136 to i64
%217 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.9, i64 0, i64 %216
%218 = load double, double* %217
br label %267
219: ; preds = %138
%220 = sext i32 %139 to i64
%221 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.10, i64 0, i64 %220
%222 = load double, double* %221
br label %267
223: ; preds = %141
%224 = sext i32 %142 to i64
%225 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.11, i64 0, i64 %224
%226 = load double, double* %225
br label %267
227: ; preds = %144
%228 = sext i32 %145 to i64
%229 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.12, i64 0, i64 %228
%230 = load double, double* %229
br label %267
231: ; preds = %147
%232 = sext i32 %148 to i64
%233 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.13, i64 0, i64 %232
%234 = load double, double* %233
br label %267
235: ; preds = %150
%236 = sext i32 %151 to i64
%237 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.14, i64 0, i64 %236
%238 = load double, double* %237
br label %267
239: ; preds = %153
%240 = sext i32 %154 to i64
%241 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.15, i64 0, i64 %240
%242 = load double, double* %241
br label %267
243: ; preds = %156
%244 = sext i32 %157 to i64
%245 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.16, i64 0, i64 %244
%246 = load double, double* %245
br label %267
247: ; preds = %159
%248 = sext i32 %160 to i64
%249 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.17, i64 0, i64 %248
%250 = load double, double* %249
br label %267
251: ; preds = %162
%252 = sext i32 %163 to i64
%253 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.18, i64 0, i64 %252
%254 = load double, double* %253
br label %267
255: ; preds = %165
%256 = sext i32 %166 to i64
%257 = getelementptr inbounds [7 x double], [7 x double]* @switch.table.integral_ffxi.19, i64 0, i64 %256
%258 = load double, double* %257
br label %267
259: ; preds = %168
%260 = sext i32 %169 to i64
%261 = getelementptr inbounds [5 x double], [5 x double]* @switch.table.integral_ffxi.20, i64 0, i64 %260
%262 = load double, double* %261
br label %267
263: ; preds = %171
%264 = sext i32 %172 to i64
%265 = getelementptr inbounds [5 x double], [5 x double]* @switch.table.integral_ffxi.21, i64 0, i64 %264
%266 = load double, double* %265
br label %267
267: ; preds = %171, %263, %168, %259, %165, %255, %162, %251, %159, %247, %156, %243, %153, %239, %150, %235, %147, %231, %144, %227, %141, %223, %138, %219, %135, %215, %132, %211, %129, %207, %126, %203, %123, %199, %120, %195, %117, %191, %114, %187, %111, %183, %108, %179, %10, %174, %96, %88, %77, %61, %44, %28, %11, %107, %106, %105, %103, %101, %99, %97, %95, %94, %93, %91, %89, %87, %86, %84, %82, %80, %78, %75, %73, %71, %68, %65, %62, %59, %57, %54, %51, %48, %45, %42, %40, %38, %35, %32, %29, %26, %24, %21, %18, %15, %12
%268 = phi double [ 0.000000e+00, %107 ], [ 0xBF1B287C3A303E48, %106 ], [ 0x3F45D2D18A2FE8D0, %105 ], [ %104, %103 ], [ %102, %101 ], [ %100, %99 ], [ %98, %97 ], [ 0.000000e+00, %95 ], [ 0xBF2D191762EA8BC0, %94 ], [ 0x3F5C5EDD33A4AEA1, %93 ], [ %92, %91 ], [ %90, %89 ], [ 0.000000e+00, %87 ], [ 0xBF42E9E8CD18746E, %86 ], [ %85, %84 ], [ %83, %82 ], [ %81, %80 ], [ %79, %78 ], [ %76, %75 ], [ %74, %73 ], [ %72, %71 ], [ %70, %68 ], [ %67, %65 ], [ %64, %62 ], [ %60, %59 ], [ %58, %57 ], [ %56, %54 ], [ %53, %51 ], [ %50, %48 ], [ %47, %45 ], [ %43, %42 ], [ %41, %40 ], [ %39, %38 ], [ %37, %35 ], [ %34, %32 ], [ %31, %29 ], [ %27, %26 ], [ %25, %24 ], [ %23, %21 ], [ %20, %18 ], [ %17, %15 ], [ %14, %12 ], [ 0.000000e+00, %11 ], [ 0.000000e+00, %28 ], [ 0.000000e+00, %44 ], [ 0.000000e+00, %61 ], [ 0x3F7A01A01A01A01B, %77 ], [ 0xBF7A01A01A01A01B, %88 ], [ 0xBF5C5EDD33A4AEA1, %96 ], [ %178, %174 ], [ 0.000000e+00, %10 ], [ %182, %179 ], [ 0.000000e+00, %108 ], [ %186, %183 ], [ 0.000000e+00, %111 ], [ %190, %187 ], [ 0.000000e+00, %114 ], [ %194, %191 ], [ 0.000000e+00, %117 ], [ %198, %195 ], [ 0.000000e+00, %120 ], [ %202, %199 ], [ 0.000000e+00, %123 ], [ %206, %203 ], [ 0.000000e+00, %126 ], [ %210, %207 ], [ 0.000000e+00, %129 ], [ %214, %211 ], [ 0.000000e+00, %132 ], [ %218, %215 ], [ 0.000000e+00, %135 ], [ %222, %219 ], [ 0.000000e+00, %138 ], [ %226, %223 ], [ 0.000000e+00, %141 ], [ %230, %227 ], [ 0.000000e+00, %144 ], [ %234, %231 ], [ 0.000000e+00, %147 ], [ %238, %235 ], [ 0.000000e+00, %150 ], [ %242, %239 ], [ 0.000000e+00, %153 ], [ %246, %243 ], [ 0.000000e+00, %156 ], [ %250, %247 ], [ 0.000000e+00, %159 ], [ %254, %251 ], [ 0.000000e+00, %162 ], [ %258, %255 ], [ 0.000000e+00, %165 ], [ %262, %259 ], [ 0.000000e+00, %168 ], [ %266, %263 ], [ 0.000000e+00, %171 ]
ret double %268
}