float SHF_N(int k1, int k3, int c) {
  float sh1;
  static float shf0[3][27] = {
      1,     1,    1, 1,     1,    1,    1,     1,     .999,  1,     .986,
      .998,  1,    1, 1,     .986, .929, .999,  1,     1.005, 1,     1,
      1,     1,    1, 1,     1,    .981, 1.012, 1.008, 1.007, 1.004, .996,
      1.001, 1,    1, .999,  .989, .999, .999,  .999,  .999,  .982,  .849,
      .997,  .998, 1, 1.001, .999, .997, .998,  .999,  .995,  1.008, 1,
      1,     1,    1, 1,     .999, 1,    1,     1,     1,     .995,  1,
      1,     1,    1, .991,  .992, .999, 1,     1.006, 1,     1,     1,
      1,     1,    1, 1,
  };
  static float shf1[3][27] = {
      1,    1,     .998, .998,  1,    1,    1,    1,     .987, 1,    .89,  .977,
      1,    1,     .999, .895,  .706, .991, 1,    1.005, 1,    1,    1,    1,
      1,    1,     .976, 1.002, .999, .998, .998, .997,  .989, .997, .992, 1,
      1,    .919,  1,    1,     1,    .997, .875, .465,  .979, 1,    1,    1,
      1,    1,     1,    1,     1,    .979, .999, .999,  .998, .997, .999, .995,
      .998, .996,  1,    1,     .956, 1,    1,    1,     .999, .933, .674, .989,
      1,    1.006, 1,    1,     1,    1,    1,    1,     1};
  static float shf2[3][27] = {
      1.003, 1.011, .997, .998, .999, .998, 1.002, 1,     .92,   1,    .604,
      .857,  1,     .999, .994, .691, .52,  .952,  .999,  1.005, 1,    1,
      1,     1,     1,    .999, .847, .999, .997,  .991,  .987,  .985, .922,
      .978,  .946,  .998, 1,    .767, 1,    1,     .998,  .982,  .676, .251,
      .891,  .998,  1,    1,    1,    1,    1,     1,     1,     .882, .998,
      .996,  .992,  .991, .99,  .963, .988, .972,  .999,  1,     .84,  1,
      1,     .999,  .991, .799, .462, .94,  .999,  1.006, 1,     1,    1,
      1,     1,     1,    .999};
  static float shf3[3][27] = {
      1.021, 1.069, .994, 1,    .996, .989, 1.001, .999,  .8,    .999, .403,
      .648,  .999,  .998, .98,  .589, .469, .898,  .995,  1.005, 1,    1,
      1,     1,     1,    .997, .65,  .991, .983,  .954,  .938,  .948, .729,
      .925,  .81,   .985, 1,    .701, .999, .998,  .993,  .958,  .595, .211,
      .791,  .992,  1,    1,    1,    1,    1,     1,     1,     .769, .989,
      .983,  .966,  .966, .967, .871, .959, .905,  .994,  1,     .759, 1,
      .999,  .997,  .978, .73,  .405, .875, .996,  1.006, 1,     1,    1,
      1,     1,     1,    .995};
  switch (c) {
  case (0):
    sh1 = shf0[k1][k3];
    break;
  case (1):
    sh1 = shf1[k1][k3];
    break;
  case (2):
    sh1 = shf2[k1][k3];
    break;
  case (3):
    sh1 = shf3[k1][k3];
    break;
  }
  return sh1;
}


x86 assembly (clang, -O0):
<SHF_N>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    %edx,-0xc(%rbp)
mov    -0xc(%rbp),%eax
mov    %rax,-0x18(%rbp)
sub    $0x3,%rax
ja     11c1 <SHF_N+0xc1>
mov    -0x18(%rbp),%rax
lea    0xed7(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movslq -0x4(%rbp),%rcx
lea    0x2ef3(%rip),%rax
imul   $0x6c,%rcx,%rcx
add    %rcx,%rax
movslq -0x8(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x10(%rbp)
jmp    11c1 <SHF_N+0xc1>
movslq -0x4(%rbp),%rcx
lea    0x301e(%rip),%rax
imul   $0x6c,%rcx,%rcx
add    %rcx,%rax
movslq -0x8(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x10(%rbp)
jmp    11c1 <SHF_N+0xc1>
movslq -0x4(%rbp),%rcx
lea    0x3149(%rip),%rax
imul   $0x6c,%rcx,%rcx
add    %rcx,%rax
movslq -0x8(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x10(%rbp)
jmp    11c1 <SHF_N+0xc1>
movslq -0x4(%rbp),%rcx
lea    0x3274(%rip),%rax
imul   $0x6c,%rcx,%rcx
add    %rcx,%rax
movslq -0x8(%rbp),%rcx
movss  (%rax,%rcx,4),%xmm0
movss  %xmm0,-0x10(%rbp)
movss  -0x10(%rbp),%xmm0
pop    %rbp
ret

x86 assembly (clang, -O2):
<SHF_N>:
cmp    $0x3,%edx
ja     1128 <SHF_N+0x28>
movslq %edx,%rax
lea    0x1425(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
movslq %edi,%rcx
movslq %esi,%rdx
imul   $0x6c,%rcx,%rcx
add    %rax,%rcx
movss  (%rcx,%rdx,4),%xmm0
ret

LLVM IR (-O0):
@SHF_N.shf0 = internal global [3 x [27 x float]] [[27 x float] [float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 1.000000e+00, float 0x3FEF8D4FE0000000, float 0x3FEFEF9DC0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEF8D4FE0000000, float 0x3FEDBA5E40000000, float 0x3FEFF7CEE0000000, float 1.000000e+00, float 0x3FF0147AE0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00], [27 x float] [float 0x3FEF645A20000000, float 0x3FF03126E0000000, float 0x3FF020C4A0000000, float 0x3FF01CAC00000000, float 0x3FF0106240000000, float 0x3FEFDF3B60000000, float 0x3FF00418A0000000, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 0x3FEFA5E360000000, float 0x3FEFF7CEE0000000, float 0x3FEFF7CEE0000000, float 0x3FEFF7CEE0000000, float 0x3FEFF7CEE0000000, float 0x3FEF6C8B40000000, float 0x3FEB2B0200000000, float 0x3FEFE76C80000000, float 0x3FEFEF9DC0000000, float 1.000000e+00, float 0x3FF00418A0000000, float 0x3FEFF7CEE0000000, float 0x3FEFE76C80000000, float 0x3FEFEF9DC0000000, float 0x3FEFF7CEE0000000, float 0x3FEFD70A40000000, float 0x3FF020C4A0000000], [27 x float] [float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFD70A40000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFB645A0000000, float 0x3FEFBE76C0000000, float 0x3FEFF7CEE0000000, float 1.000000e+00, float 0x3FF0189380000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00]]
@SHF_N.shf1 = internal global [3 x [27 x float]] [[27 x float] [float 1.000000e+00, float 1.000000e+00, float 0x3FEFEF9DC0000000, float 0x3FEFEF9DC0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEF958100000000, float 1.000000e+00, float 0x3FEC7AE140000000, float 0x3FEF439580000000, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 0x3FECA3D700000000, float 0x3FE6978D40000000, float 0x3FEFB645A0000000, float 1.000000e+00, float 0x3FF0147AE0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEF3B6460000000], [27 x float] [float 0x3FF0083120000000, float 0x3FEFF7CEE0000000, float 0x3FEFEF9DC0000000, float 0x3FEFEF9DC0000000, float 0x3FEFE76C80000000, float 0x3FEFA5E360000000, float 0x3FEFE76C80000000, float 0x3FEFBE76C0000000, float 1.000000e+00, float 1.000000e+00, float 0x3FED6872C0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFE76C80000000, float 8.750000e-01, float 0x3FDDC28F60000000, float 0x3FEF53F7C0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEF53F7C0000000], [27 x float] [float 0x3FEFF7CEE0000000, float 0x3FEFF7CEE0000000, float 0x3FEFEF9DC0000000, float 0x3FEFE76C80000000, float 0x3FEFF7CEE0000000, float 0x3FEFD70A40000000, float 0x3FEFEF9DC0000000, float 0x3FEFDF3B60000000, float 1.000000e+00, float 1.000000e+00, float 0x3FEE978D40000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 0x3FEDDB22E0000000, float 0x3FE5916880000000, float 0x3FEFA5E360000000, float 1.000000e+00, float 0x3FF0189380000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00]]
@SHF_N.shf2 = internal global [3 x [27 x float]] [[27 x float] [float 0x3FF00C49C0000000, float 0x3FF02D0E60000000, float 0x3FEFE76C80000000, float 0x3FEFEF9DC0000000, float 0x3FEFF7CEE0000000, float 0x3FEFEF9DC0000000, float 0x3FF0083120000000, float 1.000000e+00, float 0x3FED70A3E0000000, float 1.000000e+00, float 0x3FE353F7C0000000, float 0x3FEB6C8B40000000, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 0x3FEFCED920000000, float 0x3FE61CAC00000000, float 0x3FE0A3D700000000, float 0x3FEE76C8C0000000, float 0x3FEFF7CEE0000000, float 0x3FF0147AE0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 0x3FEB1A9FC0000000], [27 x float] [float 0x3FEFF7CEE0000000, float 0x3FEFE76C80000000, float 0x3FEFB645A0000000, float 0x3FEF958100000000, float 0x3FEF851EC0000000, float 0x3FED810620000000, float 0x3FEF4BC6A0000000, float 0x3FEE45A1C0000000, float 0x3FEFEF9DC0000000, float 1.000000e+00, float 0x3FE88B43A0000000, float 1.000000e+00, float 1.000000e+00, float 0x3FEFEF9DC0000000, float 0x3FEF6C8B40000000, float 0x3FE5A1CAC0000000, float 0x3FD0106240000000, float 0x3FEC831260000000, float 0x3FEFEF9DC0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEC395820000000], [27 x float] [float 0x3FEFEF9DC0000000, float 0x3FEFDF3B60000000, float 0x3FEFBE76C0000000, float 0x3FEFB645A0000000, float 0x3FEFAE1480000000, float 0x3FEED0E560000000, float 0x3FEF9DB220000000, float 0x3FEF1A9FC0000000, float 0x3FEFF7CEE0000000, float 1.000000e+00, float 0x3FEAE147A0000000, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 0x3FEFB645A0000000, float 0x3FE9916880000000, float 0x3FDD916880000000, float 0x3FEE147AE0000000, float 0x3FEFF7CEE0000000, float 0x3FF0189380000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF7CEE0000000]]
@SHF_N.shf3 = internal global [3 x [27 x float]] [[27 x float] [float 0x3FF0560420000000, float 0x3FF11A9FC0000000, float 0x3FEFCED920000000, float 1.000000e+00, float 0x3FEFDF3B60000000, float 0x3FEFA5E360000000, float 0x3FF00418A0000000, float 0x3FEFF7CEE0000000, float 0x3FE99999A0000000, float 0x3FEFF7CEE0000000, float 0x3FD9CAC080000000, float 0x3FE4BC6A80000000, float 0x3FEFF7CEE0000000, float 0x3FEFEF9DC0000000, float 0x3FEF5C2900000000, float 0x3FE2D91680000000, float 0x3FDE0418A0000000, float 0x3FECBC6A80000000, float 0x3FEFD70A40000000, float 0x3FF0147AE0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFE76C80000000, float 0x3FE4CCCCC0000000], [27 x float] [float 0x3FEFB645A0000000, float 0x3FEF74BC60000000, float 0x3FEE872B00000000, float 0x3FEE0418A0000000, float 0x3FEE560420000000, float 0x3FE753F7C0000000, float 0x3FED9999A0000000, float 0x3FE9EB8520000000, float 0x3FEF851EC0000000, float 1.000000e+00, float 0x3FE66E9780000000, float 0x3FEFF7CEE0000000, float 0x3FEFEF9DC0000000, float 0x3FEFC6A7E0000000, float 0x3FEEA7EFA0000000, float 0x3FE30A3D80000000, float 0x3FCB020C40000000, float 0x3FE94FDF40000000, float 0x3FEFBE76C0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FE89BA5E0000000], [27 x float] [float 0x3FEFA5E360000000, float 0x3FEF74BC60000000, float 0x3FEEE978E0000000, float 0x3FEEE978E0000000, float 0x3FEEF1AA00000000, float 0x3FEBDF3B60000000, float 0x3FEEB020C0000000, float 0x3FECF5C280000000, float 0x3FEFCED920000000, float 1.000000e+00, float 0x3FE849BA60000000, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 0x3FEFE76C80000000, float 0x3FEF4BC6A0000000, float 0x3FE75C2900000000, float 0x3FD9EB8520000000, float 8.750000e-01, float 0x3FEFDF3B60000000, float 0x3FF0189380000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFD70A40000000]]
define float @SHF_N(i32 %0, i32 %1, i32 %2) {
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
%7 = alloca float
store i32 %0, i32* %4
store i32 %1, i32* %5
store i32 %2, i32* %6
%8 = load i32, i32* %6
switch i32 %8, label %41 [
i32 0, label %9
i32 1, label %17
i32 2, label %25
i32 3, label %33
]
9: ; preds = %3
%10 = load i32, i32* %4
%11 = sext i32 %10 to i64
%12 = getelementptr inbounds [3 x [27 x float]], [3 x [27 x float]]* @SHF_N.shf0, i64 0, i64 %11
%13 = load i32, i32* %5
%14 = sext i32 %13 to i64
%15 = getelementptr inbounds [27 x float], [27 x float]* %12, i64 0, i64 %14
%16 = load float, float* %15
store float %16, float* %7
br label %41
17: ; preds = %3
%18 = load i32, i32* %4
%19 = sext i32 %18 to i64
%20 = getelementptr inbounds [3 x [27 x float]], [3 x [27 x float]]* @SHF_N.shf1, i64 0, i64 %19
%21 = load i32, i32* %5
%22 = sext i32 %21 to i64
%23 = getelementptr inbounds [27 x float], [27 x float]* %20, i64 0, i64 %22
%24 = load float, float* %23
store float %24, float* %7
br label %41
25: ; preds = %3
%26 = load i32, i32* %4
%27 = sext i32 %26 to i64
%28 = getelementptr inbounds [3 x [27 x float]], [3 x [27 x float]]* @SHF_N.shf2, i64 0, i64 %27
%29 = load i32, i32* %5
%30 = sext i32 %29 to i64
%31 = getelementptr inbounds [27 x float], [27 x float]* %28, i64 0, i64 %30
%32 = load float, float* %31
store float %32, float* %7
br label %41
33: ; preds = %3
%34 = load i32, i32* %4
%35 = sext i32 %34 to i64
%36 = getelementptr inbounds [3 x [27 x float]], [3 x [27 x float]]* @SHF_N.shf3, i64 0, i64 %35
%37 = load i32, i32* %5
%38 = sext i32 %37 to i64
%39 = getelementptr inbounds [27 x float], [27 x float]* %36, i64 0, i64 %38
%40 = load float, float* %39
store float %40, float* %7
br label %41
41: ; preds = %3, %33, %25, %17, %9
%42 = load float, float* %7
ret float %42
}

LLVM IR (-O2):
@SHF_N.shf0 = internal unnamed_addr constant [3 x [27 x float]] [[27 x float] [float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 1.000000e+00, float 0x3FEF8D4FE0000000, float 0x3FEFEF9DC0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEF8D4FE0000000, float 0x3FEDBA5E40000000, float 0x3FEFF7CEE0000000, float 1.000000e+00, float 0x3FF0147AE0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00], [27 x float] [float 0x3FEF645A20000000, float 0x3FF03126E0000000, float 0x3FF020C4A0000000, float 0x3FF01CAC00000000, float 0x3FF0106240000000, float 0x3FEFDF3B60000000, float 0x3FF00418A0000000, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 0x3FEFA5E360000000, float 0x3FEFF7CEE0000000, float 0x3FEFF7CEE0000000, float 0x3FEFF7CEE0000000, float 0x3FEFF7CEE0000000, float 0x3FEF6C8B40000000, float 0x3FEB2B0200000000, float 0x3FEFE76C80000000, float 0x3FEFEF9DC0000000, float 1.000000e+00, float 0x3FF00418A0000000, float 0x3FEFF7CEE0000000, float 0x3FEFE76C80000000, float 0x3FEFEF9DC0000000, float 0x3FEFF7CEE0000000, float 0x3FEFD70A40000000, float 0x3FF020C4A0000000], [27 x float] [float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFD70A40000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFB645A0000000, float 0x3FEFBE76C0000000, float 0x3FEFF7CEE0000000, float 1.000000e+00, float 0x3FF0189380000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00]]
@SHF_N.shf1 = internal unnamed_addr constant [3 x [27 x float]] [[27 x float] [float 1.000000e+00, float 1.000000e+00, float 0x3FEFEF9DC0000000, float 0x3FEFEF9DC0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEF958100000000, float 1.000000e+00, float 0x3FEC7AE140000000, float 0x3FEF439580000000, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 0x3FECA3D700000000, float 0x3FE6978D40000000, float 0x3FEFB645A0000000, float 1.000000e+00, float 0x3FF0147AE0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEF3B6460000000], [27 x float] [float 0x3FF0083120000000, float 0x3FEFF7CEE0000000, float 0x3FEFEF9DC0000000, float 0x3FEFEF9DC0000000, float 0x3FEFE76C80000000, float 0x3FEFA5E360000000, float 0x3FEFE76C80000000, float 0x3FEFBE76C0000000, float 1.000000e+00, float 1.000000e+00, float 0x3FED6872C0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFE76C80000000, float 8.750000e-01, float 0x3FDDC28F60000000, float 0x3FEF53F7C0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEF53F7C0000000], [27 x float] [float 0x3FEFF7CEE0000000, float 0x3FEFF7CEE0000000, float 0x3FEFEF9DC0000000, float 0x3FEFE76C80000000, float 0x3FEFF7CEE0000000, float 0x3FEFD70A40000000, float 0x3FEFEF9DC0000000, float 0x3FEFDF3B60000000, float 1.000000e+00, float 1.000000e+00, float 0x3FEE978D40000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 0x3FEDDB22E0000000, float 0x3FE5916880000000, float 0x3FEFA5E360000000, float 1.000000e+00, float 0x3FF0189380000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00]]
@SHF_N.shf2 = internal unnamed_addr constant [3 x [27 x float]] [[27 x float] [float 0x3FF00C49C0000000, float 0x3FF02D0E60000000, float 0x3FEFE76C80000000, float 0x3FEFEF9DC0000000, float 0x3FEFF7CEE0000000, float 0x3FEFEF9DC0000000, float 0x3FF0083120000000, float 1.000000e+00, float 0x3FED70A3E0000000, float 1.000000e+00, float 0x3FE353F7C0000000, float 0x3FEB6C8B40000000, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 0x3FEFCED920000000, float 0x3FE61CAC00000000, float 0x3FE0A3D700000000, float 0x3FEE76C8C0000000, float 0x3FEFF7CEE0000000, float 0x3FF0147AE0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 0x3FEB1A9FC0000000], [27 x float] [float 0x3FEFF7CEE0000000, float 0x3FEFE76C80000000, float 0x3FEFB645A0000000, float 0x3FEF958100000000, float 0x3FEF851EC0000000, float 0x3FED810620000000, float 0x3FEF4BC6A0000000, float 0x3FEE45A1C0000000, float 0x3FEFEF9DC0000000, float 1.000000e+00, float 0x3FE88B43A0000000, float 1.000000e+00, float 1.000000e+00, float 0x3FEFEF9DC0000000, float 0x3FEF6C8B40000000, float 0x3FE5A1CAC0000000, float 0x3FD0106240000000, float 0x3FEC831260000000, float 0x3FEFEF9DC0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEC395820000000], [27 x float] [float 0x3FEFEF9DC0000000, float 0x3FEFDF3B60000000, float 0x3FEFBE76C0000000, float 0x3FEFB645A0000000, float 0x3FEFAE1480000000, float 0x3FEED0E560000000, float 0x3FEF9DB220000000, float 0x3FEF1A9FC0000000, float 0x3FEFF7CEE0000000, float 1.000000e+00, float 0x3FEAE147A0000000, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 0x3FEFB645A0000000, float 0x3FE9916880000000, float 0x3FDD916880000000, float 0x3FEE147AE0000000, float 0x3FEFF7CEE0000000, float 0x3FF0189380000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFF7CEE0000000]]
@SHF_N.shf3 = internal unnamed_addr constant [3 x [27 x float]] [[27 x float] [float 0x3FF0560420000000, float 0x3FF11A9FC0000000, float 0x3FEFCED920000000, float 1.000000e+00, float 0x3FEFDF3B60000000, float 0x3FEFA5E360000000, float 0x3FF00418A0000000, float 0x3FEFF7CEE0000000, float 0x3FE99999A0000000, float 0x3FEFF7CEE0000000, float 0x3FD9CAC080000000, float 0x3FE4BC6A80000000, float 0x3FEFF7CEE0000000, float 0x3FEFEF9DC0000000, float 0x3FEF5C2900000000, float 0x3FE2D91680000000, float 0x3FDE0418A0000000, float 0x3FECBC6A80000000, float 0x3FEFD70A40000000, float 0x3FF0147AE0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFE76C80000000, float 0x3FE4CCCCC0000000], [27 x float] [float 0x3FEFB645A0000000, float 0x3FEF74BC60000000, float 0x3FEE872B00000000, float 0x3FEE0418A0000000, float 0x3FEE560420000000, float 0x3FE753F7C0000000, float 0x3FED9999A0000000, float 0x3FE9EB8520000000, float 0x3FEF851EC0000000, float 1.000000e+00, float 0x3FE66E9780000000, float 0x3FEFF7CEE0000000, float 0x3FEFEF9DC0000000, float 0x3FEFC6A7E0000000, float 0x3FEEA7EFA0000000, float 0x3FE30A3D80000000, float 0x3FCB020C40000000, float 0x3FE94FDF40000000, float 0x3FEFBE76C0000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FE89BA5E0000000], [27 x float] [float 0x3FEFA5E360000000, float 0x3FEF74BC60000000, float 0x3FEEE978E0000000, float 0x3FEEE978E0000000, float 0x3FEEF1AA00000000, float 0x3FEBDF3B60000000, float 0x3FEEB020C0000000, float 0x3FECF5C280000000, float 0x3FEFCED920000000, float 1.000000e+00, float 0x3FE849BA60000000, float 1.000000e+00, float 0x3FEFF7CEE0000000, float 0x3FEFE76C80000000, float 0x3FEF4BC6A0000000, float 0x3FE75C2900000000, float 0x3FD9EB8520000000, float 8.750000e-01, float 0x3FEFDF3B60000000, float 0x3FF0189380000000, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 0x3FEFD70A40000000]]
@reltable.SHF_N = [4 x i32] [i32 trunc (i64 sub (i64 ptrtoint ([3 x [27 x float]]* @SHF_N.shf0 to i64), i64 ptrtoint ([4 x i32]* @reltable.SHF_N to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([3 x [27 x float]]* @SHF_N.shf1 to i64), i64 ptrtoint ([4 x i32]* @reltable.SHF_N to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([3 x [27 x float]]* @SHF_N.shf2 to i64), i64 ptrtoint ([4 x i32]* @reltable.SHF_N to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([3 x [27 x float]]* @SHF_N.shf3 to i64), i64 ptrtoint ([4 x i32]* @reltable.SHF_N to i64)) to i32)]
define float @SHF_N(i32 %0, i32 %1, i32 %2) {
%4 = icmp ult i32 %2, 4
br i1 %4, label %5, label %14
5: ; preds = %3
%6 = sext i32 %2 to i64
%7 = shl i64 %6, 2
%8 = call i8* @llvm.load.relative.i64(i8* bitcast ([4 x i32]* @reltable.SHF_N to i8*), i64 %7)
%9 = bitcast i8* %8 to [3 x [27 x float]]*
%10 = sext i32 %0 to i64
%11 = sext i32 %1 to i64
%12 = getelementptr inbounds [3 x [27 x float]], [3 x [27 x float]]* %9, i64 0, i64 %10, i64 %11
%13 = load float, float* %12
br label %14
14: ; preds = %3, %5
%15 = phi float [ undef, %3 ], [ %13, %5 ]
ret float %15
}