#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */
typedef int int32_t;

/* Variables and functions */
float phi0(float xf) {
  int32_t x = ((int32_t)(xf * (1 << 16)));
  if (x >= ((int32_t)(10.0f * (1 << 16))))
    return (0.0f);
  else {
    if (x >= ((int32_t)(5.0f * (1 << 16)))) {
      int i = 19 - (x >> 15);
      switch (i) {
      case 0:
        return (0.000116589f);
      case 1:
        return (0.000192223f);
      case 2:
        return (0.000316923f);
      case 3:
        return (0.000522517f);
      case 4:
        return (0.000861485f);
      case 5:
        return (0.001420349f);
      case 6:
        return (0.002341760f);
      case 7:
        return (0.003860913f);
      case 8:
        return (0.006365583f);
      case 9:
        return (0.010495133f);
      }
    } else {
      if (x >= ((int32_t)(1.0f * (1 << 16)))) {
        int i = 79 - (x >> 12);
        switch (i) {
        case 0:
          return (0.013903889f);
        case 1:
          return (0.014800644f);
        case 2:
          return (0.015755242f);
        case 3:
          return (0.016771414f);
        case 4:
          return (0.017853133f);
        case 5:
          return (0.019004629f);
        case 6:
          return (0.020230403f);
        case 7:
          return (0.021535250f);
        case 8:
          return (0.022924272f);
        case 9:
          return (0.024402903f);
        case 10:
          return (0.025976926f);
        case 11:
          return (0.027652501f);
        case 12:
          return (0.029436184f);
        case 13:
          return (0.031334956f);
        case 14:
          return (0.033356250f);
        case 15:
          return (0.035507982f);
        case 16:
          return (0.037798579f);
        case 17:
          return (0.040237016f);
        case 18:
          return (0.042832850f);
        case 19:
          return (0.045596260f);
        case 20:
          return (0.048538086f);
        case 21:
          return (0.051669874f);
        case 22:
          return (0.055003924f);
        case 23:
          return (0.058553339f);
        case 24:
          return (0.062332076f);
        case 25:
          return (0.066355011f);
        case 26:
          return (0.070637993f);
        case 27:
          return (0.075197917f);
        case 28:
          return (0.080052790f);
        case 29:
          return (0.085221814f);
        case 30:
          return (0.090725463f);
        case 31:
          return (0.096585578f);
        case 32:
          return (0.102825462f);
        case 33:
          return (0.109469985f);
        case 34:
          return (0.116545700f);
        case 35:
          return (0.124080967f);
        case 36:
          return (0.132106091f);
        case 37:
          return (0.140653466f);
        case 38:
          return (0.149757747f);
        case 39:
          return (0.159456024f);
        case 40:
          return (0.169788027f);
        case 41:
          return (0.180796343f);
        case 42:
          return (0.192526667f);
        case 43:
          return (0.205028078f);
        case 44:
          return (0.218353351f);
        case 45:
          return (0.232559308f);
        case 46:
          return (0.247707218f);
        case 47:
          return (0.263863255f);
        case 48:
          return (0.281099022f);
        case 49:
          return (0.299492155f);
        case 50:
          return (0.319127030f);
        case 51:
          return (0.340095582f);
        case 52:
          return (0.362498271f);
        case 53:
          return (0.386445235f);
        case 54:
          return (0.412057648f);
        case 55:
          return (0.439469363f);
        case 56:
          return (0.468828902f);
        case 57:
          return (0.500301872f);
        case 58:
          return (0.534073947f);
        case 59:
          return (0.570354566f);
        case 60:
          return (0.609381573f);
        case 61:
          return (0.651427083f);
        case 62:
          return (0.696805010f);
        case 63:
          return (0.745880827f);
        }
      } else {
        if (x > ((int32_t)(0.007812f * (1 << 16)))) {
          if (x > ((int32_t)(0.088388f * (1 << 16)))) {
            if (x > ((int32_t)(0.250000f * (1 << 16)))) {
              if (x > ((int32_t)(0.500000f * (1 << 16)))) {
                if (x > ((int32_t)(0.707107f * (1 << 16)))) {
                  return (0.922449644f);
                } else {
                  return (1.241248638f);
                }
              } else {
                if (x > ((int32_t)(0.353553f * (1 << 16)))) {
                  return (1.573515241f);
                } else {
                  return (1.912825912f);
                }
              }
            } else {
              if (x > ((int32_t)(0.125000f * (1 << 16)))) {
                if (x > ((int32_t)(0.176777f * (1 << 16)))) {
                  return (2.255740095f);
                } else {
                  return (2.600476919f);
                }
              } else {
                return (2.946130351f);
              }
            }
          } else {
            if (x > ((int32_t)(0.022097f * (1 << 16)))) {
              if (x > ((int32_t)(0.044194f * (1 << 16)))) {
                if (x > ((int32_t)(0.062500f * (1 << 16)))) {
                  return (3.292243417f);
                } else {
                  return (3.638586634f);
                }
              } else {
                if (x > ((int32_t)(0.031250f * (1 << 16)))) {
                  return (3.985045009f);
                } else {
                  return (4.331560985f);
                }
              }
            } else {
              if (x > ((int32_t)(0.011049f * (1 << 16)))) {
                if (x > ((int32_t)(0.015625f * (1 << 16)))) {
                  return (4.678105767f);
                } else {
                  return (5.024664952f);
                }
              } else {
                return (5.371231340f);
              }
            }
          }
        } else {
          if (x > ((int32_t)(0.000691f * (1 << 16)))) {
            if (x > ((int32_t)(0.001953f * (1 << 16)))) {
              if (x > ((int32_t)(0.003906f * (1 << 16)))) {
                if (x > ((int32_t)(0.005524f * (1 << 16)))) {
                  return (5.717801329f);
                } else {
                  return (6.064373119f);
                }
              } else {
                if (x > ((int32_t)(0.002762f * (1 << 16)))) {
                  return (6.410945809f);
                } else {
                  return (6.757518949f);
                }
              }
            } else {
              if (x > ((int32_t)(0.000977f * (1 << 16)))) {
                if (x > ((int32_t)(0.001381f * (1 << 16)))) {
                  return (7.104092314f);
                } else {
                  return (7.450665792f);
                }
              } else {
                return (7.797239326f);
              }
            }
          } else {
            if (x > ((int32_t)(0.000173f * (1 << 16)))) {
              if (x > ((int32_t)(0.000345f * (1 << 16)))) {
                if (x > ((int32_t)(0.000488f * (1 << 16)))) {
                  return (8.143812888f);
                } else {
                  return (8.490386464f);
                }
              } else {
                if (x > ((int32_t)(0.000244f * (1 << 16)))) {
                  return (8.836960047f);
                } else {
                  return (9.183533634f);
                }
              }
            } else {
              if (x > ((int32_t)(0.000086f * (1 << 16)))) {
                if (x > ((int32_t)(0.000122f * (1 << 16)))) {
                  return (9.530107222f);
                } else {
                  return (9.876680812f);
                }
              } else {
                return (10.000000000f);
              }
            }
          }
        }
      }
    }
  }
  return (10.0f);
}


x86 assembly (clang, -O0):
<phi0>:
push   %rbp
mov    %rsp,%rbp
movss  %xmm0,-0x8(%rbp)
movss  0xeef(%rip),%xmm0
mulss  -0x8(%rbp),%xmm0
cvttss2si %xmm0,%eax
mov    %eax,-0xc(%rbp)
cmpl   $0xa0000,-0xc(%rbp)
jl     1137 <phi0+0x37>
xorps  %xmm0,%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
cmpl   $0x50000,-0xc(%rbp)
jl     1232 <phi0+0x132>
mov    -0xc(%rbp),%ecx
sar    $0xf,%ecx
mov    $0x13,%eax
sub    %ecx,%eax
mov    %eax,-0x10(%rbp)
mov    -0x10(%rbp),%eax
mov    %rax,-0x20(%rbp)
sub    $0x9,%rax
ja     122d <phi0+0x12d>
mov    -0x20(%rbp),%rax
lea    0x112c(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movss  0x1017(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x1001(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xfeb(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xfd5(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xfbf(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xfa9(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xf93(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xf7d(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xf67(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xf51(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
jmp    1a37 <phi0+0x937>
cmpl   $0x10000,-0xc(%rbp)
jl     16f9 <phi0+0x5f9>
mov    -0xc(%rbp),%ecx
sar    $0xc,%ecx
mov    $0x4f,%eax
sub    %ecx,%eax
mov    %eax,-0x14(%rbp)
mov    -0x14(%rbp),%eax
mov    %rax,-0x28(%rbp)
sub    $0x3f,%rax
ja     16f4 <phi0+0x5f4>
mov    -0x28(%rbp),%rax
lea    0xf31(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movss  0xef4(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xede(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xec8(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xeb2(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xe9c(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xe86(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xe70(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xe5a(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xe44(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xe2e(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xe18(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xe02(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xdec(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xdd6(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xdc0(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xdaa(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xd94(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xd7e(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xd68(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xd52(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xd3c(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xd26(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xd10(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xcfa(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xce4(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xcce(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xcb8(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xca2(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xc8c(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xc76(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xc60(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xc4a(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xc34(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xc1e(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xc08(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xbf2(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xbdc(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xbc6(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xbb0(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xb9a(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xb84(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xb6e(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xb58(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xb42(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xb2c(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xb16(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xb00(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xaea(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xad4(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xabe(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xaa8(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xa92(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xa7c(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xa66(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xa50(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xa3a(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xa24(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0xa0e(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x9f8(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x9e2(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x9cc(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x9b6(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x9a0(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x98a(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
jmp    1a32 <phi0+0x932>
cmpl   $0x1ff,-0xc(%rbp)
jle    18ab <phi0+0x7ab>
cmpl   $0x16a0,-0xc(%rbp)
jle    17df <phi0+0x6df>
cmpl   $0x4000,-0xc(%rbp)
jle    178f <phi0+0x68f>
cmpl   $0x8000,-0xc(%rbp)
jle    175e <phi0+0x65e>
cmpl   $0xb504,-0xc(%rbp)
jle    174c <phi0+0x64c>
movss  0x92e(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x918(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
cmpl   $0x5a82,-0xc(%rbp)
jle    177d <phi0+0x67d>
movss  0x8f5(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x8df(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
cmpl   $0x2000,-0xc(%rbp)
jle    17cd <phi0+0x6cd>
cmpl   $0x2d41,-0xc(%rbp)
jle    17bb <phi0+0x6bb>
movss  0x8af(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x899(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x883(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
cmpl   $0x5a8,-0xc(%rbp)
jle    185b <phi0+0x75b>
cmpl   $0xb50,-0xc(%rbp)
jle    182a <phi0+0x72a>
cmpl   $0x1000,-0xc(%rbp)
jle    1818 <phi0+0x718>
movss  0x846(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x830(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
cmpl   $0x800,-0xc(%rbp)
jle    1849 <phi0+0x749>
movss  0x80d(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x7f7(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
cmpl   $0x2d4,-0xc(%rbp)
jle    1899 <phi0+0x799>
cmpl   $0x400,-0xc(%rbp)
jle    1887 <phi0+0x787>
movss  0x7c7(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x7b1(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x79b(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
cmpl   $0x2d,-0xc(%rbp)
jle    1978 <phi0+0x878>
cmpl   $0x7f,-0xc(%rbp)
jle    192e <phi0+0x82e>
cmpl   $0xff,-0xc(%rbp)
jle    18fd <phi0+0x7fd>
cmpl   $0x16a,-0xc(%rbp)
jle    18eb <phi0+0x7eb>
movss  0x757(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x741(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
cmpl   $0xb5,-0xc(%rbp)
jle    191c <phi0+0x81c>
movss  0x71e(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x708(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
cmpl   $0x40,-0xc(%rbp)
jle    1966 <phi0+0x866>
cmpl   $0x5a,-0xc(%rbp)
jle    1954 <phi0+0x854>
movss  0x6de(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x6c8(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x6b2(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
cmpl   $0xb,-0xc(%rbp)
jle    19e8 <phi0+0x8e8>
cmpl   $0x16,-0xc(%rbp)
jle    19ba <phi0+0x8ba>
cmpl   $0x1f,-0xc(%rbp)
jle    19a8 <phi0+0x8a8>
movss  0x67e(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x668(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
cmpl   $0xf,-0xc(%rbp)
jle    19d6 <phi0+0x8d6>
movss  0x648(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x632(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
cmpl   $0x5,-0xc(%rbp)
jle    1a20 <phi0+0x920>
cmpl   $0x7,-0xc(%rbp)
jle    1a0e <phi0+0x90e>
movss  0x608(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x5f2(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
movss  0x5dc(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
jmp    1a49 <phi0+0x949>
jmp    1a37 <phi0+0x937>
jmp    1a3c <phi0+0x93c>
movss  0x5c0(%rip),%xmm0
movss  %xmm0,-0x4(%rbp)
movss  -0x4(%rbp),%xmm0
pop    %rbp
ret

x86 assembly (clang, -O2):
<phi0>:
mulss  0xef8(%rip),%xmm0
cvttss2si %xmm0,%eax
xorps  %xmm0,%xmm0
cmp    $0x9ffff,%eax
jle    1117 <phi0+0x17>
ret
cmp    $0x50000,%eax
jl     1138 <phi0+0x38>
shr    $0xf,%eax
mov    $0x13,%ecx
sub    %eax,%ecx
movslq %ecx,%rax
lea    0xf42(%rip),%rcx
movss  (%rcx,%rax,4),%xmm0
ret
cmp    $0x10000,%eax
jl     1159 <phi0+0x59>
shr    $0xc,%eax
mov    $0x4f,%ecx
sub    %eax,%ecx
movslq %ecx,%rax
lea    0xf49(%rip),%rcx
movss  (%rcx,%rax,4),%xmm0
ret
cmp    $0x200,%eax
jl     1193 <phi0+0x93>
cmp    $0x16a1,%eax
jb     11c4 <phi0+0xc4>
cmp    $0x4001,%eax
jb     120e <phi0+0x10e>
xor    %ecx,%ecx
cmp    $0x8001,%eax
jb     127d <phi0+0x17d>
cmp    $0xb505,%eax
setae  %cl
lea    0xede(%rip),%rax
jmp    12bd <phi0+0x1bd>
cmp    $0x2e,%eax
jl     11ec <phi0+0xec>
cmp    $0x80,%eax
jb     122f <phi0+0x12f>
xor    %ecx,%ecx
cmp    $0x100,%eax
jb     128e <phi0+0x18e>
cmp    $0x16b,%eax
setae  %cl
lea    0xe7d(%rip),%rax
jmp    12bd <phi0+0x1bd>
cmp    $0x5a9,%eax
jb     1249 <phi0+0x149>
xor    %ecx,%ecx
cmp    $0xb51,%eax
jb     129f <phi0+0x19f>
cmp    $0x1001,%eax
setae  %cl
lea    0xe6d(%rip),%rax
jmp    12bd <phi0+0x1bd>
cmp    $0xc,%eax
jl     1267 <phi0+0x167>
xor    %ecx,%ecx
cmp    $0x17,%eax
jb     12b0 <phi0+0x1b0>
cmp    $0x20,%eax
setae  %cl
lea    0xe1b(%rip),%rax
jmp    12bd <phi0+0x1bd>
cmp    $0x2001,%eax
jb     12c3 <phi0+0x1c3>
xor    %ecx,%ecx
cmp    $0x2d42,%eax
setae  %cl
lea    0xe32(%rip),%rax
jmp    12bd <phi0+0x1bd>
cmp    $0x41,%eax
jb     12cc <phi0+0x1cc>
xor    %ecx,%ecx
cmp    $0x5b,%eax
setae  %cl
lea    0xde5(%rip),%rax
jmp    12bd <phi0+0x1bd>
cmp    $0x2d5,%eax
jb     12d5 <phi0+0x1d5>
xor    %ecx,%ecx
cmp    $0x401,%eax
setae  %cl
lea    0xddf(%rip),%rax
jmp    12bd <phi0+0x1bd>
cmp    $0x6,%eax
jl     12de <phi0+0x1de>
xor    %ecx,%ecx
cmp    $0x8,%eax
setae  %cl
lea    0xd99(%rip),%rax
jmp    12bd <phi0+0x1bd>
cmp    $0x5a83,%eax
setae  %cl
lea    0xdd8(%rip),%rax
jmp    12bd <phi0+0x1bd>
cmp    $0xb6,%eax
setae  %cl
lea    0xd97(%rip),%rax
jmp    12bd <phi0+0x1bd>
cmp    $0x801,%eax
setae  %cl
lea    0xd9e(%rip),%rax
jmp    12bd <phi0+0x1bd>
cmp    $0x10,%eax
setae  %cl
lea    0xd5f(%rip),%rax
movss  (%rax,%rcx,4),%xmm0
ret
movss  0xd45(%rip),%xmm0
ret
movss  0xd34(%rip),%xmm0
ret
movss  0xd2f(%rip),%xmm0
ret
movss  0xd1e(%rip),%xmm0
ret

LLVM IR (-O0):
define float @phi0(float %0) {
%2 = alloca float
%3 = alloca float
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
store float %0, float* %3
%7 = load float, float* %3
%8 = fmul float %7, 6.553600e+04
%9 = fptosi float %8 to i32
store i32 %9, i32* %4
%10 = load i32, i32* %4
%11 = icmp sge i32 %10, 655360
br i1 %11, label %12, label %13
12: ; preds = %1
store float 0.000000e+00, float* %2
br label %217
13: ; preds = %1
%14 = load i32, i32* %4
%15 = icmp sge i32 %14, 327680
br i1 %15, label %16, label %32
16: ; preds = %13
%17 = load i32, i32* %4
%18 = ashr i32 %17, 15
%19 = sub nsw i32 19, %18
store i32 %19, i32* %5
%20 = load i32, i32* %5
switch i32 %20, label %31 [
i32 0, label %21
i32 1, label %22
i32 2, label %23
i32 3, label %24
i32 4, label %25
i32 5, label %26
i32 6, label %27
i32 7, label %28
i32 8, label %29
i32 9, label %30
]
21: ; preds = %16
store float 0x3F1E9027C0000000, float* %2
br label %217
22: ; preds = %16
store float 0x3F2931EF00000000, float* %2
br label %217
23: ; preds = %16
store float 0x3F34C515E0000000, float* %2
br label %217
24: ; preds = %16
store float 0x3F411F30C0000000, float* %2
br label %217
25: ; preds = %16
store float 0x3F4C3AA900000000, float* %2
br label %217
26: ; preds = %16
store float 0x3F57456020000000, float* %2
br label %217
27: ; preds = %16
store float 0x3F632F06E0000000, float* %2
br label %217
28: ; preds = %16
store float 0x3F6FA0EBE0000000, float* %2
br label %217
29: ; preds = %16
store float 0x3F7A12CC20000000, float* %2
br label %217
30: ; preds = %16
store float 0x3F857E78E0000000, float* %2
br label %217
31: ; preds = %16
br label %215
32: ; preds = %13
%33 = load i32, i32* %4
%34 = icmp sge i32 %33, 65536
br i1 %34, label %35, label %105
35: ; preds = %32
%36 = load i32, i32* %4
%37 = ashr i32 %36, 12
%38 = sub nsw i32 79, %37
store i32 %38, i32* %6
%39 = load i32, i32* %6
switch i32 %39, label %104 [
i32 0, label %40
i32 1, label %41
i32 2, label %42
i32 3, label %43
i32 4, label %44
i32 5, label %45
i32 6, label %46
i32 7, label %47
i32 8, label %48
i32 9, label %49
i32 10, label %50
i32 11, label %51
i32 12, label %52
i32 13, label %53
i32 14, label %54
i32 15, label %55
i32 16, label %56
i32 17, label %57
i32 18, label %58
i32 19, label %59
i32 20, label %60
i32 21, label %61
i32 22, label %62
i32 23, label %63
i32 24, label %64
i32 25, label %65
i32 26, label %66
i32 27, label %67
i32 28, label %68
i32 29, label %69
i32 30, label %70
i32 31, label %71
i32 32, label %72
i32 33, label %73
i32 34, label %74
i32 35, label %75
i32 36, label %76
i32 37, label %77
i32 38, label %78
i32 39, label %79
i32 40, label %80
i32 41, label %81
i32 42, label %82
i32 43, label %83
i32 44, label %84
i32 45, label %85
i32 46, label %86
i32 47, label %87
i32 48, label %88
i32 49, label %89
i32 50, label %90
i32 51, label %91
i32 52, label %92
i32 53, label %93
i32 54, label %94
i32 55, label %95
i32 56, label %96
i32 57, label %97
i32 58, label %98
i32 59, label %99
i32 60, label %100
i32 61, label %101
i32 62, label %102
i32 63, label %103
]
40: ; preds = %35
store float 0x3F8C79A460000000, float* %2
br label %217
41: ; preds = %35
store float 0x3F8E4FCCC0000000, float* %2
br label %217
42: ; preds = %35
store float 0x3F90222460000000, float* %2
br label %217
43: ; preds = %35
store float 0x3F912C8680000000, float* %2
br label %217
44: ; preds = %35
store float 0x3F92481780000000, float* %2
br label %217
45: ; preds = %35
store float 0x3F9375F320000000, float* %2
br label %217
46: ; preds = %35
store float 0x3F94B74760000000, float* %2
br label %217
47: ; preds = %35
store float 0x3F960D5620000000, float* %2
br label %217
48: ; preds = %35
store float 0x3F977975E0000000, float* %2
br label %217
49: ; preds = %35
store float 0x3F98FD1320000000, float* %2
br label %217
50: ; preds = %35
store float 0x3F9A99B200000000, float* %2
br label %217
51: ; preds = %35
store float 0x3F9C50EFE0000000, float* %2
br label %217
52: ; preds = %35
store float 0x3F9E2484E0000000, float* %2
br label %217
53: ; preds = %35
store float 0x3FA00B22A0000000, float* %2
br label %217
54: ; preds = %35
store float 0x3FA1141200000000, float* %2
br label %217
55: ; preds = %35
store float 0x3FA22E1A20000000, float* %2
br label %217
56: ; preds = %35
store float 0x3FA35A55E0000000, float* %2
br label %217
57: ; preds = %35
store float 0x3FA499F240000000, float* %2
br label %217
58: ; preds = %35
store float 0x3FA5EE3000000000, float* %2
br label %217
59: ; preds = %35
store float 0x3FA75864A0000000, float* %2
br label %217
60: ; preds = %35
store float 0x3FA8D9FBE0000000, float* %2
br label %217
61: ; preds = %35
store float 0x3FAA747940000000, float* %2
br label %217
62: ; preds = %35
store float 0x3FAC297960000000, float* %2
br label %217
63: ; preds = %35
store float 0x3FADFAB400000000, float* %2
br label %217
64: ; preds = %35
store float 0x3FAFE9FD60000000, float* %2
br label %217
65: ; preds = %35
store float 0x3FB0FCA460000000, float* %2
br label %217
66: ; preds = %35
store float 0x3FB21554E0000000, float* %2
br label %217
67: ; preds = %35
store float 0x3FB3402BC0000000, float* %2
br label %217
68: ; preds = %35
store float 0x3FB47E5700000000, float* %2
br label %217
69: ; preds = %35
store float 0x3FB5D118C0000000, float* %2
br label %217
70: ; preds = %35
store float 0x3FB739C8C0000000, float* %2
br label %217
71: ; preds = %35
store float 0x3FB8B9D520000000, float* %2
br label %217
72: ; preds = %35
store float 0x3FBA52C500000000, float* %2
br label %217
73: ; preds = %35
store float 0x3FBC0639A0000000, float* %2
br label %217
74: ; preds = %35
store float 0x3FBDD5F060000000, float* %2
br label %217
75: ; preds = %35
store float 0x3FBFC3C520000000, float* %2
br label %217
76: ; preds = %35
store float 0x3FC0E8DA40000000, float* %2
br label %217
77: ; preds = %35
store float 0x3FC200EEC0000000, float* %2
br label %217
78: ; preds = %35
store float 0x3FC32B4300000000, float* %2
br label %217
79: ; preds = %35
store float 0x3FC4690E20000000, float* %2
br label %217
80: ; preds = %35
store float 0x3FC5BB9D40000000, float* %2
br label %217
81: ; preds = %35
store float 0x3FC72455A0000000, float* %2
br label %217
82: ; preds = %35
store float 0x3FC8A4B6C0000000, float* %2
br label %217
83: ; preds = %35
store float 0x3FCA3E5C20000000, float* %2
br label %217
84: ; preds = %35
store float 0x3FCBF300A0000000, float* %2
br label %217
85: ; preds = %35
store float 0x3FCDC480E0000000, float* %2
br label %217
86: ; preds = %35
store float 0x3FCFB4DEC0000000, float* %2
br label %217
87: ; preds = %35
store float 0x3FD0E322C0000000, float* %2
br label %217
88: ; preds = %35
store float 0x3FD1FD86C0000000, float* %2
br label %217
89: ; preds = %35
store float 0x3FD32AE120000000, float* %2
br label %217
90: ; preds = %35
store float 0x3FD46C93C0000000, float* %2
br label %217
91: ; preds = %35
store float 0x3FD5C42040000000, float* %2
br label %217
92: ; preds = %35
store float 0x3FD7332C00000000, float* %2
br label %217
93: ; preds = %35
store float 0x3FD8BB84C0000000, float* %2
br label %217
94: ; preds = %35
store float 0x3FDA5F2700000000, float* %2
br label %217
95: ; preds = %35
store float 0x3FDC204420000000, float* %2
br label %217
96: ; preds = %35
store float 0x3FDE014B00000000, float* %2
br label %217
97: ; preds = %35
store float 0x3FE0027920000000, float* %2
br label %217
98: ; preds = %35
store float 0x3FE1172240000000, float* %2
br label %217
99: ; preds = %35
store float 0x3FE2405840000000, float* %2
br label %217
100: ; preds = %35
store float 0x3FE3800DC0000000, float* %2
br label %217
101: ; preds = %35
store float 0x3FE4D87DA0000000, float* %2
br label %217
102: ; preds = %35
store float 0x3FE64C3A00000000, float* %2
br label %217
103: ; preds = %35
store float 0x3FE7DE4180000000, float* %2
br label %217
104: ; preds = %35
br label %214
105: ; preds = %32
%106 = load i32, i32* %4
%107 = icmp sgt i32 %106, 511
br i1 %107, label %108, label %161
108: ; preds = %105
%109 = load i32, i32* %4
%110 = icmp sgt i32 %109, 5792
br i1 %110, label %111, label %136
111: ; preds = %108
%112 = load i32, i32* %4
%113 = icmp sgt i32 %112, 16384
br i1 %113, label %114, label %127
114: ; preds = %111
%115 = load i32, i32* %4
%116 = icmp sgt i32 %115, 32768
br i1 %116, label %117, label %122
117: ; preds = %114
%118 = load i32, i32* %4
%119 = icmp sgt i32 %118, 46340
br i1 %119, label %120, label %121
120: ; preds = %117
store float 0x3FED84B520000000, float* %2
br label %217
121: ; preds = %117
store float 0x3FF3DC2780000000, float* %2
br label %217
122: ; preds = %114
%123 = load i32, i32* %4
%124 = icmp sgt i32 %123, 23170
br i1 %124, label %125, label %126
125: ; preds = %122
store float 0x3FF92D1E60000000, float* %2
br label %217
126: ; preds = %122
store float 0x3FFE9AEF60000000, float* %2
br label %217
127: ; preds = %111
%128 = load i32, i32* %4
%129 = icmp sgt i32 %128, 8192
br i1 %129, label %130, label %135
130: ; preds = %127
%131 = load i32, i32* %4
%132 = icmp sgt i32 %131, 11585
br i1 %132, label %133, label %134
133: ; preds = %130
store float 0x40020BC180000000, float* %2
br label %217
134: ; preds = %130
store float 0x4004CDC6E0000000, float* %2
br label %217
135: ; preds = %127
store float 0x400791ACC0000000, float* %2
br label %217
136: ; preds = %108
%137 = load i32, i32* %4
%138 = icmp sgt i32 %137, 1448
br i1 %138, label %139, label %152
139: ; preds = %136
%140 = load i32, i32* %4
%141 = icmp sgt i32 %140, 2896
br i1 %141, label %142, label %147
142: ; preds = %139
%143 = load i32, i32* %4
%144 = icmp sgt i32 %143, 4096
br i1 %144, label %145, label %146
145: ; preds = %142
store float 0x400A5683C0000000, float* %2
br label %217
146: ; preds = %142
store float 0x400D1BD340000000, float* %2
br label %217
147: ; preds = %139
%148 = load i32, i32* %4
%149 = icmp sgt i32 %148, 2048
br i1 %149, label %150, label %151
150: ; preds = %147
store float 0x400FE15F40000000, float* %2
br label %217
151: ; preds = %147
store float 0x40115384C0000000, float* %2
br label %217
152: ; preds = %136
%153 = load i32, i32* %4
%154 = icmp sgt i32 %153, 724
br i1 %154, label %155, label %160
155: ; preds = %152
%156 = load i32, i32* %4
%157 = icmp sgt i32 %156, 1024
br i1 %157, label %158, label %159
158: ; preds = %155
store float 0x4012B66160000000, float* %2
br label %217
159: ; preds = %155
store float 0x40141941C0000000, float* %2
br label %217
160: ; preds = %152
store float 0x40157C2420000000, float* %2
br label %217
161: ; preds = %105
%162 = load i32, i32* %4
%163 = icmp sgt i32 %162, 45
br i1 %163, label %164, label %189
164: ; preds = %161
%165 = load i32, i32* %4
%166 = icmp sgt i32 %165, 127
br i1 %166, label %167, label %180
167: ; preds = %164
%168 = load i32, i32* %4
%169 = icmp sgt i32 %168, 255
br i1 %169, label %170, label %175
170: ; preds = %167
%171 = load i32, i32* %4
%172 = icmp sgt i32 %171, 362
br i1 %172, label %173, label %174
173: ; preds = %170
store float 0x4016DF0740000000, float* %2
br label %217
174: ; preds = %170
store float 0x401841EB00000000, float* %2
br label %217
175: ; preds = %167
%176 = load i32, i32* %4
%177 = icmp sgt i32 %176, 181
br i1 %177, label %178, label %179
178: ; preds = %175
store float 0x4019A4CF00000000, float* %2
br label %217
179: ; preds = %175
store float 0x401B07B300000000, float* %2
br label %217
180: ; preds = %164
%181 = load i32, i32* %4
%182 = icmp sgt i32 %181, 64
br i1 %182, label %183, label %188
183: ; preds = %180
%184 = load i32, i32* %4
%185 = icmp sgt i32 %184, 90
br i1 %185, label %186, label %187
186: ; preds = %183
store float 0x401C6A9720000000, float* %2
br label %217
187: ; preds = %183
store float 0x401DCD7B60000000, float* %2
br label %217
188: ; preds = %180
store float 0x401F305F80000000, float* %2
br label %217
189: ; preds = %161
%190 = load i32, i32* %4
%191 = icmp sgt i32 %190, 11
br i1 %191, label %192, label %205
192: ; preds = %189
%193 = load i32, i32* %4
%194 = icmp sgt i32 %193, 22
br i1 %194, label %195, label %200
195: ; preds = %192
%196 = load i32, i32* %4
%197 = icmp sgt i32 %196, 31
br i1 %197, label %198, label %199
198: ; preds = %195
store float 0x402049A1E0000000, float* %2
br label %217
199: ; preds = %195
store float 0x4020FB13E0000000, float* %2
br label %217
200: ; preds = %192
%201 = load i32, i32* %4
%202 = icmp sgt i32 %201, 15
br i1 %202, label %203, label %204
203: ; preds = %200
store float 0x4021AC8600000000, float* %2
br label %217
204: ; preds = %200
store float 0x40225DF820000000, float* %2
br label %217
205: ; preds = %189
%206 = load i32, i32* %4
%207 = icmp sgt i32 %206, 5
br i1 %207, label %208, label %213
208: ; preds = %205
%209 = load i32, i32* %4
%210 = icmp sgt i32 %209, 7
br i1 %210, label %211, label %212
211: ; preds = %208
store float 0x40230F6A40000000, float* %2
br label %217
212: ; preds = %208
store float 0x4023C0DC40000000, float* %2
br label %217
213: ; preds = %205
store float 1.000000e+01, float* %2
br label %217
214: ; preds = %104
br label %215
215: ; preds = %214, %31
br label %216
216: ; preds = %215
store float 1.000000e+01, float* %2
br label %217
217: ; preds = %216, %213, %212, %211, %204, %203, %199, %198, %188, %187, %186, %179, %178, %174, %173, %160, %159, %158, %151, %150, %146, %145, %135, %134, %133, %126, %125, %121, %120, %103, %102, %101, %100, %99, %98, %97, %96, %95, %94, %93, %92, %91, %90, %89, %88, %87, %86, %85, %84, %83, %82, %81, %80, %79, %78, %77, %76, %75, %74, %73, %72, %71, %70, %69, %68, %67, %66, %65, %64, %63, %62, %61, %60, %59, %58, %57, %56, %55, %54, %53, %52, %51, %50, %49, %48, %47, %46, %45, %44, %43, %42, %41, %40, %30, %29, %28, %27, %26, %25, %24, %23, %22, %21, %12
%218 = load float, float* %2
ret float %218
}

LLVM IR (-O2):
@switch.table.phi0 = [10 x float] [float 0x3F1E9027C0000000, float 0x3F2931EF00000000, float 0x3F34C515E0000000, float 0x3F411F30C0000000, float 0x3F4C3AA900000000, float 0x3F57456020000000, float 0x3F632F06E0000000, float 0x3F6FA0EBE0000000, float 0x3F7A12CC20000000, float 0x3F857E78E0000000]
@switch.table.phi0.1 = [64 x float] [float 0x3F8C79A460000000, float 0x3F8E4FCCC0000000, float 0x3F90222460000000, float 0x3F912C8680000000, float 0x3F92481780000000, float 0x3F9375F320000000, float 0x3F94B74760000000, float 0x3F960D5620000000, float 0x3F977975E0000000, float 0x3F98FD1320000000, float 0x3F9A99B200000000, float 0x3F9C50EFE0000000, float 0x3F9E2484E0000000, float 0x3FA00B22A0000000, float 0x3FA1141200000000, float 0x3FA22E1A20000000, float 0x3FA35A55E0000000, float 0x3FA499F240000000, float 0x3FA5EE3000000000, float 0x3FA75864A0000000, float 0x3FA8D9FBE0000000, float 0x3FAA747940000000, float 0x3FAC297960000000, float 0x3FADFAB400000000, float 0x3FAFE9FD60000000, float 0x3FB0FCA460000000, float 0x3FB21554E0000000, float 0x3FB3402BC0000000, float 0x3FB47E5700000000, float 0x3FB5D118C0000000, float 0x3FB739C8C0000000, float 0x3FB8B9D520000000, float 0x3FBA52C500000000, float 0x3FBC0639A0000000, float 0x3FBDD5F060000000, float 0x3FBFC3C520000000, float 0x3FC0E8DA40000000, float 0x3FC200EEC0000000, float 0x3FC32B4300000000, float 0x3FC4690E20000000, float 0x3FC5BB9D40000000, float 0x3FC72455A0000000, float 0x3FC8A4B6C0000000, float 0x3FCA3E5C20000000, float 0x3FCBF300A0000000, float 0x3FCDC480E0000000, float 0x3FCFB4DEC0000000, float 0x3FD0E322C0000000, float 0x3FD1FD86C0000000, float 0x3FD32AE120000000, float 0x3FD46C93C0000000, float 0x3FD5C42040000000, float 0x3FD7332C00000000, float 0x3FD8BB84C0000000, float 0x3FDA5F2700000000, float 0x3FDC204420000000, float 0x3FDE014B00000000, float 0x3FE0027920000000, float 0x3FE1172240000000, float 0x3FE2405840000000, float 0x3FE3800DC0000000, float 0x3FE4D87DA0000000, float 0x3FE64C3A00000000, float 0x3FE7DE4180000000]
define float @phi0(float %0) {
%2 = fmul float %0, 6.553600e+04
%3 = fptosi float %2 to i32
%4 = icmp sgt i32 %3, 655359
br i1 %4, label %87, label %5
5: ; preds = %1
%6 = icmp sgt i32 %3, 327679
br i1 %6, label %7, label %13
7: ; preds = %5
%8 = lshr i32 %3, 15
%9 = sub nuw nsw i32 19, %8
%10 = sext i32 %9 to i64
%11 = getelementptr inbounds [10 x float], [10 x float]* @switch.table.phi0, i64 0, i64 %10
%12 = load float, float* %11
br label %87
13: ; preds = %5
%14 = icmp sgt i32 %3, 65535
br i1 %14, label %15, label %21
15: ; preds = %13
%16 = lshr i32 %3, 12
%17 = sub nuw nsw i32 79, %16
%18 = sext i32 %17 to i64
%19 = getelementptr inbounds [64 x float], [64 x float]* @switch.table.phi0.1, i64 0, i64 %18
%20 = load float, float* %19
br label %87
21: ; preds = %13
%22 = icmp sgt i32 %3, 511
br i1 %22, label %23, label %55
23: ; preds = %21
%24 = icmp ugt i32 %3, 5792
br i1 %24, label %25, label %40
25: ; preds = %23
%26 = icmp ugt i32 %3, 16384
br i1 %26, label %27, label %35
27: ; preds = %25
%28 = icmp ugt i32 %3, 32768
br i1 %28, label %29, label %32
29: ; preds = %27
%30 = icmp ugt i32 %3, 46340
%31 = select i1 %30, float 0x3FED84B520000000, float 0x3FF3DC2780000000
br label %87
32: ; preds = %27
%33 = icmp ugt i32 %3, 23170
%34 = select i1 %33, float 0x3FF92D1E60000000, float 0x3FFE9AEF60000000
br label %87
35: ; preds = %25
%36 = icmp ugt i32 %3, 8192
br i1 %36, label %37, label %87
37: ; preds = %35
%38 = icmp ugt i32 %3, 11585
%39 = select i1 %38, float 0x40020BC180000000, float 0x4004CDC6E0000000
br label %87
40: ; preds = %23
%41 = icmp ugt i32 %3, 1448
br i1 %41, label %42, label %50
42: ; preds = %40
%43 = icmp ugt i32 %3, 2896
br i1 %43, label %44, label %47
44: ; preds = %42
%45 = icmp ugt i32 %3, 4096
%46 = select i1 %45, float 0x400A5683C0000000, float 0x400D1BD340000000
br label %87
47: ; preds = %42
%48 = icmp ugt i32 %3, 2048
%49 = select i1 %48, float 0x400FE15F40000000, float 0x40115384C0000000
br label %87
50: ; preds = %40
%51 = icmp ugt i32 %3, 724
br i1 %51, label %52, label %87
52: ; preds = %50
%53 = icmp ugt i32 %3, 1024
%54 = select i1 %53, float 0x4012B66160000000, float 0x40141941C0000000
br label %87
55: ; preds = %21
%56 = icmp sgt i32 %3, 45
br i1 %56, label %57, label %72
57: ; preds = %55
%58 = icmp ugt i32 %3, 127
br i1 %58, label %59, label %67
59: ; preds = %57
%60 = icmp ugt i32 %3, 255
br i1 %60, label %61, label %64
61: ; preds = %59
%62 = icmp ugt i32 %3, 362
%63 = select i1 %62, float 0x4016DF0740000000, float 0x401841EB00000000
br label %87
64: ; preds = %59
%65 = icmp ugt i32 %3, 181
%66 = select i1 %65, float 0x4019A4CF00000000, float 0x401B07B300000000
br label %87
67: ; preds = %57
%68 = icmp ugt i32 %3, 64
br i1 %68, label %69, label %87
69: ; preds = %67
%70 = icmp ugt i32 %3, 90
%71 = select i1 %70, float 0x401C6A9720000000, float 0x401DCD7B60000000
br label %87
72: ; preds = %55
%73 = icmp sgt i32 %3, 11
br i1 %73, label %74, label %82
74: ; preds = %72
%75 = icmp ugt i32 %3, 22
br i1 %75, label %76, label %79
76: ; preds = %74
%77 = icmp ugt i32 %3, 31
%78 = select i1 %77, float 0x402049A1E0000000, float 0x4020FB13E0000000
br label %87
79: ; preds = %74
%80 = icmp ugt i32 %3, 15
%81 = select i1 %80, float 0x4021AC8600000000, float 0x40225DF820000000
br label %87
82: ; preds = %72
%83 = icmp sgt i32 %3, 5
br i1 %83, label %84, label %87
84: ; preds = %82
%85 = icmp ugt i32 %3, 7
%86 = select i1 %85, float 0x40230F6A40000000, float 0x4023C0DC40000000
br label %87
87: ; preds = %15, %7, %82, %84, %79, %76, %67, %69, %64, %61, %50, %52, %47, %44, %35, %37, %32, %29, %1
%88 = phi float [ 0.000000e+00, %1 ], [ %31, %29 ], [ %34, %32 ], [ %39, %37 ], [ 0x400791ACC0000000, %35 ], [ %46, %44 ], [ %49, %47 ], [ %54, %52 ], [ 0x40157C2420000000, %50 ], [ %63, %61 ], [ %66, %64 ], [ %71, %69 ], [ 0x401F305F80000000, %67 ], [ %78, %76 ], [ %81, %79 ], [ %86, %84 ], [ 1.000000e+01, %82 ], [ %12, %7 ], [ %20, %15 ]
ret float %88
}