double tex2usle_k(int texture, double om_in) {
  double usle_k = 200.0;
  if (om_in < 0.5) {
    if (texture == 0)
      usle_k = 0.29;
    else if (texture == 1)
      usle_k = 0.14;
    else if (texture == 2)
      usle_k = 0.25;
    else if (texture == 3)
      usle_k = 0.27;
    else if (texture == 4)
      usle_k = 0.28;
    else if (texture == 5)
      usle_k = 0.37;
    else if (texture == 6)
      usle_k = 0.05;
    else if (texture == 7)
      usle_k = 0.12;
    else if (texture == 8)
      usle_k = 0.27;
    else if (texture == 9)
      usle_k = 0.38;
    else if (texture == 10)
      usle_k = 0.48;
    else if (texture == 11)
      usle_k = 0.60;
    else
      usle_k = 500.0;
  } else if (om_in >= 0.5 && om_in < 0.2) {
    if (texture == 0)
      usle_k = 0.29;
    else if (texture == 1)
      usle_k = 0.135;
    else if (texture == 2)
      usle_k = 0.24;
    else if (texture == 3)
      usle_k = 0.26;
    else if (texture == 4)
      usle_k = 0.265;
    else if (texture == 5)
      usle_k = 0.345;
    else if (texture == 6)
      usle_k = 0.04;
    else if (texture == 7)
      usle_k = 0.11;
    else if (texture == 8)
      usle_k = 0.255;
    else if (texture == 9)
      usle_k = 0.36;
    else if (texture == 10)
      usle_k = 0.45;
    else if (texture == 11)
      usle_k = 0.56;
    else
      usle_k = 500.0;
  } else if (om_in == 0.2) {
    if (texture == 0)
      usle_k = 0.22;
    else if (texture == 1)
      usle_k = 0.13;
    else if (texture == 2)
      usle_k = 0.23;
    else if (texture == 3)
      usle_k = 0.25;
    else if (texture == 4)
      usle_k = 0.25;
    else if (texture == 5)
      usle_k = 0.32;
    else if (texture == 6)
      usle_k = 0.03;
    else if (texture == 7)
      usle_k = 0.10;
    else if (texture == 8)
      usle_k = 0.24;
    else if (texture == 9)
      usle_k = 0.34;
    else if (texture == 10)
      usle_k = 0.42;
    else if (texture == 11)
      usle_k = 0.52;
    else
      usle_k = 500.0;
  } else if (om_in > 0.2 && om_in < 0.4) {
    if (texture == 0)
      usle_k = 0.13;
    else if (texture == 1)
      usle_k = 0.125;
    else if (texture == 2)
      usle_k = 0.21;
    else if (texture == 3)
      usle_k = 0.23;
    else if (texture == 4)
      usle_k = 0.23;
    else if (texture == 5)
      usle_k = 0.29;
    else if (texture == 6)
      usle_k = 0.025;
    else if (texture == 7)
      usle_k = 0.09;
    else if (texture == 8)
      usle_k = 0.215;
    else if (texture == 9)
      usle_k = 0.325;
    else if (texture == 10)
      usle_k = 0.375;
    else if (texture == 11)
      usle_k = 0.47;
    else
      usle_k = 500.0;
  } else if (om_in >= 0.4) {
    if (texture == 0)
      usle_k = 0.13;
    else if (texture == 1)
      usle_k = 0.12;
    else if (texture == 2)
      usle_k = 0.19;
    else if (texture == 3)
      usle_k = 0.21;
    else if (texture == 4)
      usle_k = 0.21;
    else if (texture == 5)
      usle_k = 0.26;
    else if (texture == 6)
      usle_k = 0.02;
    else if (texture == 7)
      usle_k = 0.08;
    else if (texture == 8)
      usle_k = 0.19;
    else if (texture == 9)
      usle_k = 0.29;
    else if (texture == 10)
      usle_k = 0.33;
    else if (texture == 11)
      usle_k = 0.42;
    else
      usle_k = 500.0;
  }
  return usle_k;
}


x86 assembly (clang, -O0):
<tex2usle_k>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x4(%rbp)
movsd  %xmm0,-0x10(%rbp)
movsd  0xef4(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
movsd  0xedf(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    12c5 <tex2usle_k+0x1c5>
cmpl   $0x0,-0x4(%rbp)
jne    1148 <tex2usle_k+0x48>
movsd  0xefa(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    12c0 <tex2usle_k+0x1c0>
cmpl   $0x1,-0x4(%rbp)
jne    1164 <tex2usle_k+0x64>
movsd  0x101e(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    12bb <tex2usle_k+0x1bb>
cmpl   $0x2,-0x4(%rbp)
jne    1180 <tex2usle_k+0x80>
movsd  0xf72(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    12b6 <tex2usle_k+0x1b6>
cmpl   $0x3,-0x4(%rbp)
jne    119c <tex2usle_k+0x9c>
movsd  0xfc6(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    12b1 <tex2usle_k+0x1b1>
cmpl   $0x4,-0x4(%rbp)
jne    11b8 <tex2usle_k+0xb8>
movsd  0xfc2(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    12ac <tex2usle_k+0x1ac>
cmpl   $0x5,-0x4(%rbp)
jne    11d4 <tex2usle_k+0xd4>
movsd  0xf9e(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    12a7 <tex2usle_k+0x1a7>
cmpl   $0x6,-0x4(%rbp)
jne    11f0 <tex2usle_k+0xf0>
movsd  0xf7a(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    12a2 <tex2usle_k+0x1a2>
cmpl   $0x7,-0x4(%rbp)
jne    120c <tex2usle_k+0x10c>
movsd  0xe66(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    129d <tex2usle_k+0x19d>
cmpl   $0x8,-0x4(%rbp)
jne    1228 <tex2usle_k+0x128>
movsd  0xf3a(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1298 <tex2usle_k+0x198>
cmpl   $0x9,-0x4(%rbp)
jne    1244 <tex2usle_k+0x144>
movsd  0xf16(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1293 <tex2usle_k+0x193>
cmpl   $0xa,-0x4(%rbp)
jne    1260 <tex2usle_k+0x160>
movsd  0xef2(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    128e <tex2usle_k+0x18e>
cmpl   $0xb,-0x4(%rbp)
jne    127c <tex2usle_k+0x17c>
movsd  0xece(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1289 <tex2usle_k+0x189>
movsd  0xd9c(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    128e <tex2usle_k+0x18e>
jmp    1293 <tex2usle_k+0x193>
jmp    1298 <tex2usle_k+0x198>
jmp    129d <tex2usle_k+0x19d>
jmp    12a2 <tex2usle_k+0x1a2>
jmp    12a7 <tex2usle_k+0x1a7>
jmp    12ac <tex2usle_k+0x1ac>
jmp    12b1 <tex2usle_k+0x1b1>
jmp    12b6 <tex2usle_k+0x1b6>
jmp    12bb <tex2usle_k+0x1bb>
jmp    12c0 <tex2usle_k+0x1c0>
jmp    19c5 <tex2usle_k+0x8c5>
movsd  -0x10(%rbp),%xmm0
movsd  0xd2e(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     1488 <tex2usle_k+0x388>
movsd  0xd2c(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1488 <tex2usle_k+0x388>
cmpl   $0x0,-0x4(%rbp)
jne    130b <tex2usle_k+0x20b>
movsd  0xd37(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1483 <tex2usle_k+0x383>
cmpl   $0x1,-0x4(%rbp)
jne    1327 <tex2usle_k+0x227>
movsd  0xe1b(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    147e <tex2usle_k+0x37e>
cmpl   $0x2,-0x4(%rbp)
jne    1343 <tex2usle_k+0x243>
movsd  0xd8f(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1479 <tex2usle_k+0x379>
cmpl   $0x3,-0x4(%rbp)
jne    135f <tex2usle_k+0x25f>
movsd  0xd03(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1474 <tex2usle_k+0x374>
cmpl   $0x4,-0x4(%rbp)
jne    137b <tex2usle_k+0x27b>
movsd  0xdbf(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    146f <tex2usle_k+0x36f>
cmpl   $0x5,-0x4(%rbp)
jne    1397 <tex2usle_k+0x297>
movsd  0xd9b(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    146a <tex2usle_k+0x36a>
cmpl   $0x6,-0x4(%rbp)
jne    13b3 <tex2usle_k+0x2b3>
movsd  0xd77(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1465 <tex2usle_k+0x365>
cmpl   $0x7,-0x4(%rbp)
jne    13cf <tex2usle_k+0x2cf>
movsd  0xd53(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1460 <tex2usle_k+0x360>
cmpl   $0x8,-0x4(%rbp)
jne    13eb <tex2usle_k+0x2eb>
movsd  0xd2f(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    145b <tex2usle_k+0x35b>
cmpl   $0x9,-0x4(%rbp)
jne    1407 <tex2usle_k+0x307>
movsd  0xd0b(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1456 <tex2usle_k+0x356>
cmpl   $0xa,-0x4(%rbp)
jne    1423 <tex2usle_k+0x323>
movsd  0xce7(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1451 <tex2usle_k+0x351>
cmpl   $0xb,-0x4(%rbp)
jne    143f <tex2usle_k+0x33f>
movsd  0xcc3(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    144c <tex2usle_k+0x34c>
movsd  0xbd9(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1451 <tex2usle_k+0x351>
jmp    1456 <tex2usle_k+0x356>
jmp    145b <tex2usle_k+0x35b>
jmp    1460 <tex2usle_k+0x360>
jmp    1465 <tex2usle_k+0x365>
jmp    146a <tex2usle_k+0x36a>
jmp    146f <tex2usle_k+0x36f>
jmp    1474 <tex2usle_k+0x374>
jmp    1479 <tex2usle_k+0x379>
jmp    147e <tex2usle_k+0x37e>
jmp    1483 <tex2usle_k+0x383>
jmp    19c0 <tex2usle_k+0x8c0>
movsd  -0x10(%rbp),%xmm0
movsd  0xb7b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    163e <tex2usle_k+0x53e>
jp     163e <tex2usle_k+0x53e>
cmpl   $0x0,-0x4(%rbp)
jne    14c1 <tex2usle_k+0x3c1>
movsd  0xc39(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1639 <tex2usle_k+0x539>
cmpl   $0x1,-0x4(%rbp)
jne    14dd <tex2usle_k+0x3dd>
movsd  0xb9d(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1634 <tex2usle_k+0x534>
cmpl   $0x2,-0x4(%rbp)
jne    14f9 <tex2usle_k+0x3f9>
movsd  0xbb9(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    162f <tex2usle_k+0x52f>
cmpl   $0x3,-0x4(%rbp)
jne    1515 <tex2usle_k+0x415>
movsd  0xbdd(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    162a <tex2usle_k+0x52a>
cmpl   $0x4,-0x4(%rbp)
jne    1531 <tex2usle_k+0x431>
movsd  0xbc1(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1625 <tex2usle_k+0x525>
cmpl   $0x5,-0x4(%rbp)
jne    154d <tex2usle_k+0x44d>
movsd  0xb9d(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1620 <tex2usle_k+0x520>
cmpl   $0x6,-0x4(%rbp)
jne    1569 <tex2usle_k+0x469>
movsd  0xb79(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    161b <tex2usle_k+0x51b>
cmpl   $0x7,-0x4(%rbp)
jne    1585 <tex2usle_k+0x485>
movsd  0xb55(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1616 <tex2usle_k+0x516>
cmpl   $0x8,-0x4(%rbp)
jne    15a1 <tex2usle_k+0x4a1>
movsd  0xb31(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1611 <tex2usle_k+0x511>
cmpl   $0x9,-0x4(%rbp)
jne    15bd <tex2usle_k+0x4bd>
movsd  0xb0d(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    160c <tex2usle_k+0x50c>
cmpl   $0xa,-0x4(%rbp)
jne    15d9 <tex2usle_k+0x4d9>
movsd  0xa59(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1607 <tex2usle_k+0x507>
cmpl   $0xb,-0x4(%rbp)
jne    15f5 <tex2usle_k+0x4f5>
movsd  0xacd(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1602 <tex2usle_k+0x502>
movsd  0xa23(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1607 <tex2usle_k+0x507>
jmp    160c <tex2usle_k+0x50c>
jmp    1611 <tex2usle_k+0x511>
jmp    1616 <tex2usle_k+0x516>
jmp    161b <tex2usle_k+0x51b>
jmp    1620 <tex2usle_k+0x520>
jmp    1625 <tex2usle_k+0x525>
jmp    162a <tex2usle_k+0x52a>
jmp    162f <tex2usle_k+0x52f>
jmp    1634 <tex2usle_k+0x534>
jmp    1639 <tex2usle_k+0x539>
jmp    19bb <tex2usle_k+0x8bb>
movsd  -0x10(%rbp),%xmm0
movsd  0x9c5(%rip),%xmm1
ucomisd %xmm1,%xmm0
jbe    1801 <tex2usle_k+0x701>
movsd  0x9bb(%rip),%xmm0
ucomisd -0x10(%rbp),%xmm0
jbe    1801 <tex2usle_k+0x701>
cmpl   $0x0,-0x4(%rbp)
jne    1684 <tex2usle_k+0x584>
movsd  0x9f6(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    17fc <tex2usle_k+0x6fc>
cmpl   $0x1,-0x4(%rbp)
jne    16a0 <tex2usle_k+0x5a0>
movsd  0xa1a(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    17f7 <tex2usle_k+0x6f7>
cmpl   $0x2,-0x4(%rbp)
jne    16bc <tex2usle_k+0x5bc>
movsd  0x9ae(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    17f2 <tex2usle_k+0x6f2>
cmpl   $0x3,-0x4(%rbp)
jne    16d8 <tex2usle_k+0x5d8>
movsd  0x9da(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    17ed <tex2usle_k+0x6ed>
cmpl   $0x4,-0x4(%rbp)
jne    16f4 <tex2usle_k+0x5f4>
movsd  0x9be(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    17e8 <tex2usle_k+0x6e8>
cmpl   $0x5,-0x4(%rbp)
jne    1710 <tex2usle_k+0x610>
movsd  0x932(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    17e3 <tex2usle_k+0x6e3>
cmpl   $0x6,-0x4(%rbp)
jne    172c <tex2usle_k+0x62c>
movsd  0x97e(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    17de <tex2usle_k+0x6de>
cmpl   $0x7,-0x4(%rbp)
jne    1748 <tex2usle_k+0x648>
movsd  0x95a(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    17d9 <tex2usle_k+0x6d9>
cmpl   $0x8,-0x4(%rbp)
jne    1764 <tex2usle_k+0x664>
movsd  0x936(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    17d4 <tex2usle_k+0x6d4>
cmpl   $0x9,-0x4(%rbp)
jne    1780 <tex2usle_k+0x680>
movsd  0x912(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    17cf <tex2usle_k+0x6cf>
cmpl   $0xa,-0x4(%rbp)
jne    179c <tex2usle_k+0x69c>
movsd  0x8ee(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    17ca <tex2usle_k+0x6ca>
cmpl   $0xb,-0x4(%rbp)
jne    17b8 <tex2usle_k+0x6b8>
movsd  0x8ca(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    17c5 <tex2usle_k+0x6c5>
movsd  0x860(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    17ca <tex2usle_k+0x6ca>
jmp    17cf <tex2usle_k+0x6cf>
jmp    17d4 <tex2usle_k+0x6d4>
jmp    17d9 <tex2usle_k+0x6d9>
jmp    17de <tex2usle_k+0x6de>
jmp    17e3 <tex2usle_k+0x6e3>
jmp    17e8 <tex2usle_k+0x6e8>
jmp    17ed <tex2usle_k+0x6ed>
jmp    17f2 <tex2usle_k+0x6f2>
jmp    17f7 <tex2usle_k+0x6f7>
jmp    17fc <tex2usle_k+0x6fc>
jmp    19b6 <tex2usle_k+0x8b6>
movsd  -0x10(%rbp),%xmm0
movsd  0x80a(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     19b1 <tex2usle_k+0x8b1>
cmpl   $0x0,-0x4(%rbp)
jne    1834 <tex2usle_k+0x734>
movsd  0x846(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    19ac <tex2usle_k+0x8ac>
cmpl   $0x1,-0x4(%rbp)
jne    1850 <tex2usle_k+0x750>
movsd  0x822(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    19a7 <tex2usle_k+0x8a7>
cmpl   $0x2,-0x4(%rbp)
jne    186c <tex2usle_k+0x76c>
movsd  0x7de(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    19a2 <tex2usle_k+0x8a2>
cmpl   $0x3,-0x4(%rbp)
jne    1888 <tex2usle_k+0x788>
movsd  0x7e2(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    199d <tex2usle_k+0x89d>
cmpl   $0x4,-0x4(%rbp)
jne    18a4 <tex2usle_k+0x7a4>
movsd  0x7c6(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1998 <tex2usle_k+0x898>
cmpl   $0x5,-0x4(%rbp)
jne    18c0 <tex2usle_k+0x7c0>
movsd  0x7a2(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1993 <tex2usle_k+0x893>
cmpl   $0x6,-0x4(%rbp)
jne    18dc <tex2usle_k+0x7dc>
movsd  0x77e(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    198e <tex2usle_k+0x88e>
cmpl   $0x7,-0x4(%rbp)
jne    18f8 <tex2usle_k+0x7f8>
movsd  0x75a(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1989 <tex2usle_k+0x889>
cmpl   $0x8,-0x4(%rbp)
jne    1914 <tex2usle_k+0x814>
movsd  0x736(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1984 <tex2usle_k+0x884>
cmpl   $0x9,-0x4(%rbp)
jne    1930 <tex2usle_k+0x830>
movsd  0x712(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    197f <tex2usle_k+0x87f>
cmpl   $0xa,-0x4(%rbp)
jne    194c <tex2usle_k+0x84c>
movsd  0x6ee(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    197a <tex2usle_k+0x87a>
cmpl   $0xb,-0x4(%rbp)
jne    1968 <tex2usle_k+0x868>
movsd  0x6ca(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    1975 <tex2usle_k+0x875>
movsd  0x6b0(%rip),%xmm0
movsd  %xmm0,-0x18(%rbp)
jmp    197a <tex2usle_k+0x87a>
jmp    197f <tex2usle_k+0x87f>
jmp    1984 <tex2usle_k+0x884>
jmp    1989 <tex2usle_k+0x889>
jmp    198e <tex2usle_k+0x88e>
jmp    1993 <tex2usle_k+0x893>
jmp    1998 <tex2usle_k+0x898>
jmp    199d <tex2usle_k+0x89d>
jmp    19a2 <tex2usle_k+0x8a2>
jmp    19a7 <tex2usle_k+0x8a7>
jmp    19ac <tex2usle_k+0x8ac>
jmp    19b1 <tex2usle_k+0x8b1>
jmp    19b6 <tex2usle_k+0x8b6>
jmp    19bb <tex2usle_k+0x8bb>
jmp    19c0 <tex2usle_k+0x8c0>
jmp    19c5 <tex2usle_k+0x8c5>
movsd  -0x18(%rbp),%xmm0
pop    %rbp
ret

x86 assembly (clang, -O2):
<tex2usle_k>:
movsd  0xef8(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    1120 <tex2usle_k+0x20>
cmp    $0xc,%edi
jae    11a6 <tex2usle_k+0xa6>
lea    0xf0a(%rip),%rax
jmp    119d <tex2usle_k+0x9d>
ucomisd 0xed8(%rip),%xmm0
jb     1146 <tex2usle_k+0x46>
movsd  0xed6(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    1146 <tex2usle_k+0x46>
cmp    $0xc,%edi
jae    11a6 <tex2usle_k+0xa6>
lea    0xf44(%rip),%rax
jmp    119d <tex2usle_k+0x9d>
ucomisd 0xeba(%rip),%xmm0
jne    1160 <tex2usle_k+0x60>
jp     1160 <tex2usle_k+0x60>
cmp    $0xc,%edi
jae    11a6 <tex2usle_k+0xa6>
lea    0xf8a(%rip),%rax
jmp    119d <tex2usle_k+0x9d>
jbe    117e <tex2usle_k+0x7e>
movsd  0xea6(%rip),%xmm1
ucomisd %xmm0,%xmm1
jbe    117e <tex2usle_k+0x7e>
cmp    $0xc,%edi
jae    11a6 <tex2usle_k+0xa6>
lea    0xfcc(%rip),%rax
jmp    119d <tex2usle_k+0x9d>
ucomisd 0xe8a(%rip),%xmm0
jae    1191 <tex2usle_k+0x91>
movsd  0xe88(%rip),%xmm0
ret
cmp    $0xb,%edi
ja     11a6 <tex2usle_k+0xa6>
lea    0x100b(%rip),%rax
movslq %edi,%rcx
movsd  (%rax,%rcx,8),%xmm0
ret
movsd  0xe72(%rip),%xmm0
ret

LLVM IR (-O0):
define double @tex2usle_k(i32 %0, double %1) {
%3 = alloca i32
%4 = alloca double
%5 = alloca double
store i32 %0, i32* %3
store double %1, double* %4
store double 2.000000e+02, double* %5
%6 = load double, double* %4
%7 = fcmp olt double %6, 5.000000e-01
br i1 %7, label %8, label %69
8: ; preds = %2
%9 = load i32, i32* %3
%10 = icmp eq i32 %9, 0
br i1 %10, label %11, label %12
11: ; preds = %8
store double 2.900000e-01, double* %5
br label %68
12: ; preds = %8
%13 = load i32, i32* %3
%14 = icmp eq i32 %13, 1
br i1 %14, label %15, label %16
15: ; preds = %12
store double 1.400000e-01, double* %5
br label %67
16: ; preds = %12
%17 = load i32, i32* %3
%18 = icmp eq i32 %17, 2
br i1 %18, label %19, label %20
19: ; preds = %16
store double 2.500000e-01, double* %5
br label %66
20: ; preds = %16
%21 = load i32, i32* %3
%22 = icmp eq i32 %21, 3
br i1 %22, label %23, label %24
23: ; preds = %20
store double 2.700000e-01, double* %5
br label %65
24: ; preds = %20
%25 = load i32, i32* %3
%26 = icmp eq i32 %25, 4
br i1 %26, label %27, label %28
27: ; preds = %24
store double 2.800000e-01, double* %5
br label %64
28: ; preds = %24
%29 = load i32, i32* %3
%30 = icmp eq i32 %29, 5
br i1 %30, label %31, label %32
31: ; preds = %28
store double 3.700000e-01, double* %5
br label %63
32: ; preds = %28
%33 = load i32, i32* %3
%34 = icmp eq i32 %33, 6
br i1 %34, label %35, label %36
35: ; preds = %32
store double 5.000000e-02, double* %5
br label %62
36: ; preds = %32
%37 = load i32, i32* %3
%38 = icmp eq i32 %37, 7
br i1 %38, label %39, label %40
39: ; preds = %36
store double 1.200000e-01, double* %5
br label %61
40: ; preds = %36
%41 = load i32, i32* %3
%42 = icmp eq i32 %41, 8
br i1 %42, label %43, label %44
43: ; preds = %40
store double 2.700000e-01, double* %5
br label %60
44: ; preds = %40
%45 = load i32, i32* %3
%46 = icmp eq i32 %45, 9
br i1 %46, label %47, label %48
47: ; preds = %44
store double 3.800000e-01, double* %5
br label %59
48: ; preds = %44
%49 = load i32, i32* %3
%50 = icmp eq i32 %49, 10
br i1 %50, label %51, label %52
51: ; preds = %48
store double 4.800000e-01, double* %5
br label %58
52: ; preds = %48
%53 = load i32, i32* %3
%54 = icmp eq i32 %53, 11
br i1 %54, label %55, label %56
55: ; preds = %52
store double 6.000000e-01, double* %5
br label %57
56: ; preds = %52
store double 5.000000e+02, double* %5
br label %57
57: ; preds = %56, %55
br label %58
58: ; preds = %57, %51
br label %59
59: ; preds = %58, %47
br label %60
60: ; preds = %59, %43
br label %61
61: ; preds = %60, %39
br label %62
62: ; preds = %61, %35
br label %63
63: ; preds = %62, %31
br label %64
64: ; preds = %63, %27
br label %65
65: ; preds = %64, %23
br label %66
66: ; preds = %65, %19
br label %67
67: ; preds = %66, %15
br label %68
68: ; preds = %67, %11
br label %335
69: ; preds = %2
%70 = load double, double* %4
%71 = fcmp oge double %70, 5.000000e-01
br i1 %71, label %72, label %136
72: ; preds = %69
%73 = load double, double* %4
%74 = fcmp olt double %73, 2.000000e-01
br i1 %74, label %75, label %136
75: ; preds = %72
%76 = load i32, i32* %3
%77 = icmp eq i32 %76, 0
br i1 %77, label %78, label %79
78: ; preds = %75
store double 2.900000e-01, double* %5
br label %135
79: ; preds = %75
%80 = load i32, i32* %3
%81 = icmp eq i32 %80, 1
br i1 %81, label %82, label %83
82: ; preds = %79
store double 1.350000e-01, double* %5
br label %134
83: ; preds = %79
%84 = load i32, i32* %3
%85 = icmp eq i32 %84, 2
br i1 %85, label %86, label %87
86: ; preds = %83
store double 2.400000e-01, double* %5
br label %133
87: ; preds = %83
%88 = load i32, i32* %3
%89 = icmp eq i32 %88, 3
br i1 %89, label %90, label %91
90: ; preds = %87
store double 2.600000e-01, double* %5
br label %132
91: ; preds = %87
%92 = load i32, i32* %3
%93 = icmp eq i32 %92, 4
br i1 %93, label %94, label %95
94: ; preds = %91
store double 2.650000e-01, double* %5
br label %131
95: ; preds = %91
%96 = load i32, i32* %3
%97 = icmp eq i32 %96, 5
br i1 %97, label %98, label %99
98: ; preds = %95
store double 3.450000e-01, double* %5
br label %130
99: ; preds = %95
%100 = load i32, i32* %3
%101 = icmp eq i32 %100, 6
br i1 %101, label %102, label %103
102: ; preds = %99
store double 4.000000e-02, double* %5
br label %129
103: ; preds = %99
%104 = load i32, i32* %3
%105 = icmp eq i32 %104, 7
br i1 %105, label %106, label %107
106: ; preds = %103
store double 1.100000e-01, double* %5
br label %128
107: ; preds = %103
%108 = load i32, i32* %3
%109 = icmp eq i32 %108, 8
br i1 %109, label %110, label %111
110: ; preds = %107
store double 2.550000e-01, double* %5
br label %127
111: ; preds = %107
%112 = load i32, i32* %3
%113 = icmp eq i32 %112, 9
br i1 %113, label %114, label %115
114: ; preds = %111
store double 3.600000e-01, double* %5
br label %126
115: ; preds = %111
%116 = load i32, i32* %3
%117 = icmp eq i32 %116, 10
br i1 %117, label %118, label %119
118: ; preds = %115
store double 4.500000e-01, double* %5
br label %125
119: ; preds = %115
%120 = load i32, i32* %3
%121 = icmp eq i32 %120, 11
br i1 %121, label %122, label %123
122: ; preds = %119
store double 5.600000e-01, double* %5
br label %124
123: ; preds = %119
store double 5.000000e+02, double* %5
br label %124
124: ; preds = %123, %122
br label %125
125: ; preds = %124, %118
br label %126
126: ; preds = %125, %114
br label %127
127: ; preds = %126, %110
br label %128
128: ; preds = %127, %106
br label %129
129: ; preds = %128, %102
br label %130
130: ; preds = %129, %98
br label %131
131: ; preds = %130, %94
br label %132
132: ; preds = %131, %90
br label %133
133: ; preds = %132, %86
br label %134
134: ; preds = %133, %82
br label %135
135: ; preds = %134, %78
br label %334
136: ; preds = %72, %69
%137 = load double, double* %4
%138 = fcmp oeq double %137, 2.000000e-01
br i1 %138, label %139, label %200
139: ; preds = %136
%140 = load i32, i32* %3
%141 = icmp eq i32 %140, 0
br i1 %141, label %142, label %143
142: ; preds = %139
store double 2.200000e-01, double* %5
br label %199
143: ; preds = %139
%144 = load i32, i32* %3
%145 = icmp eq i32 %144, 1
br i1 %145, label %146, label %147
146: ; preds = %143
store double 1.300000e-01, double* %5
br label %198
147: ; preds = %143
%148 = load i32, i32* %3
%149 = icmp eq i32 %148, 2
br i1 %149, label %150, label %151
150: ; preds = %147
store double 2.300000e-01, double* %5
br label %197
151: ; preds = %147
%152 = load i32, i32* %3
%153 = icmp eq i32 %152, 3
br i1 %153, label %154, label %155
154: ; preds = %151
store double 2.500000e-01, double* %5
br label %196
155: ; preds = %151
%156 = load i32, i32* %3
%157 = icmp eq i32 %156, 4
br i1 %157, label %158, label %159
158: ; preds = %155
store double 2.500000e-01, double* %5
br label %195
159: ; preds = %155
%160 = load i32, i32* %3
%161 = icmp eq i32 %160, 5
br i1 %161, label %162, label %163
162: ; preds = %159
store double 3.200000e-01, double* %5
br label %194
163: ; preds = %159
%164 = load i32, i32* %3
%165 = icmp eq i32 %164, 6
br i1 %165, label %166, label %167
166: ; preds = %163
store double 3.000000e-02, double* %5
br label %193
167: ; preds = %163
%168 = load i32, i32* %3
%169 = icmp eq i32 %168, 7
br i1 %169, label %170, label %171
170: ; preds = %167
store double 1.000000e-01, double* %5
br label %192
171: ; preds = %167
%172 = load i32, i32* %3
%173 = icmp eq i32 %172, 8
br i1 %173, label %174, label %175
174: ; preds = %171
store double 2.400000e-01, double* %5
br label %191
175: ; preds = %171
%176 = load i32, i32* %3
%177 = icmp eq i32 %176, 9
br i1 %177, label %178, label %179
178: ; preds = %175
store double 3.400000e-01, double* %5
br label %190
179: ; preds = %175
%180 = load i32, i32* %3
%181 = icmp eq i32 %180, 10
br i1 %181, label %182, label %183
182: ; preds = %179
store double 4.200000e-01, double* %5
br label %189
183: ; preds = %179
%184 = load i32, i32* %3
%185 = icmp eq i32 %184, 11
br i1 %185, label %186, label %187
186: ; preds = %183
store double 5.200000e-01, double* %5
br label %188
187: ; preds = %183
store double 5.000000e+02, double* %5
br label %188
188: ; preds = %187, %186
br label %189
189: ; preds = %188, %182
br label %190
190: ; preds = %189, %178
br label %191
191: ; preds = %190, %174
br label %192
192: ; preds = %191, %170
br label %193
193: ; preds = %192, %166
br label %194
194: ; preds = %193, %162
br label %195
195: ; preds = %194, %158
br label %196
196: ; preds = %195, %154
br label %197
197: ; preds = %196, %150
br label %198
198: ; preds = %197, %146
br label %199
199: ; preds = %198, %142
br label %333
200: ; preds = %136
%201 = load double, double* %4
%202 = fcmp ogt double %201, 2.000000e-01
br i1 %202, label %203, label %267
203: ; preds = %200
%204 = load double, double* %4
%205 = fcmp olt double %204, 4.000000e-01
br i1 %205, label %206, label %267
206: ; preds = %203
%207 = load i32, i32* %3
%208 = icmp eq i32 %207, 0
br i1 %208, label %209, label %210
209: ; preds = %206
store double 1.300000e-01, double* %5
br label %266
210: ; preds = %206
%211 = load i32, i32* %3
%212 = icmp eq i32 %211, 1
br i1 %212, label %213, label %214
213: ; preds = %210
store double 1.250000e-01, double* %5
br label %265
214: ; preds = %210
%215 = load i32, i32* %3
%216 = icmp eq i32 %215, 2
br i1 %216, label %217, label %218
217: ; preds = %214
store double 2.100000e-01, double* %5
br label %264
218: ; preds = %214
%219 = load i32, i32* %3
%220 = icmp eq i32 %219, 3
br i1 %220, label %221, label %222
221: ; preds = %218
store double 2.300000e-01, double* %5
br label %263
222: ; preds = %218
%223 = load i32, i32* %3
%224 = icmp eq i32 %223, 4
br i1 %224, label %225, label %226
225: ; preds = %222
store double 2.300000e-01, double* %5
br label %262
226: ; preds = %222
%227 = load i32, i32* %3
%228 = icmp eq i32 %227, 5
br i1 %228, label %229, label %230
229: ; preds = %226
store double 2.900000e-01, double* %5
br label %261
230: ; preds = %226
%231 = load i32, i32* %3
%232 = icmp eq i32 %231, 6
br i1 %232, label %233, label %234
233: ; preds = %230
store double 2.500000e-02, double* %5
br label %260
234: ; preds = %230
%235 = load i32, i32* %3
%236 = icmp eq i32 %235, 7
br i1 %236, label %237, label %238
237: ; preds = %234
store double 0x3FB70A3D70A3D70A, double* %5
br label %259
238: ; preds = %234
%239 = load i32, i32* %3
%240 = icmp eq i32 %239, 8
br i1 %240, label %241, label %242
241: ; preds = %238
store double 2.150000e-01, double* %5
br label %258
242: ; preds = %238
%243 = load i32, i32* %3
%244 = icmp eq i32 %243, 9
br i1 %244, label %245, label %246
245: ; preds = %242
store double 3.250000e-01, double* %5
br label %257
246: ; preds = %242
%247 = load i32, i32* %3
%248 = icmp eq i32 %247, 10
br i1 %248, label %249, label %250
249: ; preds = %246
store double 3.750000e-01, double* %5
br label %256
250: ; preds = %246
%251 = load i32, i32* %3
%252 = icmp eq i32 %251, 11
br i1 %252, label %253, label %254
253: ; preds = %250
store double 4.700000e-01, double* %5
br label %255
254: ; preds = %250
store double 5.000000e+02, double* %5
br label %255
255: ; preds = %254, %253
br label %256
256: ; preds = %255, %249
br label %257
257: ; preds = %256, %245
br label %258
258: ; preds = %257, %241
br label %259
259: ; preds = %258, %237
br label %260
260: ; preds = %259, %233
br label %261
261: ; preds = %260, %229
br label %262
262: ; preds = %261, %225
br label %263
263: ; preds = %262, %221
br label %264
264: ; preds = %263, %217
br label %265
265: ; preds = %264, %213
br label %266
266: ; preds = %265, %209
br label %332
267: ; preds = %203, %200
%268 = load double, double* %4
%269 = fcmp oge double %268, 4.000000e-01
br i1 %269, label %270, label %331
270: ; preds = %267
%271 = load i32, i32* %3
%272 = icmp eq i32 %271, 0
br i1 %272, label %273, label %274
273: ; preds = %270
store double 1.300000e-01, double* %5
br label %330
274: ; preds = %270
%275 = load i32, i32* %3
%276 = icmp eq i32 %275, 1
br i1 %276, label %277, label %278
277: ; preds = %274
store double 1.200000e-01, double* %5
br label %329
278: ; preds = %274
%279 = load i32, i32* %3
%280 = icmp eq i32 %279, 2
br i1 %280, label %281, label %282
281: ; preds = %278
store double 1.900000e-01, double* %5
br label %328
282: ; preds = %278
%283 = load i32, i32* %3
%284 = icmp eq i32 %283, 3
br i1 %284, label %285, label %286
285: ; preds = %282
store double 2.100000e-01, double* %5
br label %327
286: ; preds = %282
%287 = load i32, i32* %3
%288 = icmp eq i32 %287, 4
br i1 %288, label %289, label %290
289: ; preds = %286
store double 2.100000e-01, double* %5
br label %326
290: ; preds = %286
%291 = load i32, i32* %3
%292 = icmp eq i32 %291, 5
br i1 %292, label %293, label %294
293: ; preds = %290
store double 2.600000e-01, double* %5
br label %325
294: ; preds = %290
%295 = load i32, i32* %3
%296 = icmp eq i32 %295, 6
br i1 %296, label %297, label %298
297: ; preds = %294
store double 2.000000e-02, double* %5
br label %324
298: ; preds = %294
%299 = load i32, i32* %3
%300 = icmp eq i32 %299, 7
br i1 %300, label %301, label %302
301: ; preds = %298
store double 8.000000e-02, double* %5
br label %323
302: ; preds = %298
%303 = load i32, i32* %3
%304 = icmp eq i32 %303, 8
br i1 %304, label %305, label %306
305: ; preds = %302
store double 1.900000e-01, double* %5
br label %322
306: ; preds = %302
%307 = load i32, i32* %3
%308 = icmp eq i32 %307, 9
br i1 %308, label %309, label %310
309: ; preds = %306
store double 2.900000e-01, double* %5
br label %321
310: ; preds = %306
%311 = load i32, i32* %3
%312 = icmp eq i32 %311, 10
br i1 %312, label %313, label %314
313: ; preds = %310
store double 3.300000e-01, double* %5
br label %320
314: ; preds = %310
%315 = load i32, i32* %3
%316 = icmp eq i32 %315, 11
br i1 %316, label %317, label %318
317: ; preds = %314
store double 4.200000e-01, double* %5
br label %319
318: ; preds = %314
store double 5.000000e+02, double* %5
br label %319
319: ; preds = %318, %317
br label %320
320: ; preds = %319, %313
br label %321
321: ; preds = %320, %309
br label %322
322: ; preds = %321, %305
br label %323
323: ; preds = %322, %301
br label %324
324: ; preds = %323, %297
br label %325
325: ; preds = %324, %293
br label %326
326: ; preds = %325, %289
br label %327
327: ; preds = %326, %285
br label %328
328: ; preds = %327, %281
br label %329
329: ; preds = %328, %277
br label %330
330: ; preds = %329, %273
br label %331
331: ; preds = %330, %267
br label %332
332: ; preds = %331, %266
br label %333
333: ; preds = %332, %199
br label %334
334: ; preds = %333, %135
br label %335
335: ; preds = %334, %68
%336 = load double, double* %5
ret double %336
}

LLVM IR (-O2):
@switch.table.tex2usle_k = [12 x double] [double 2.900000e-01, double 1.400000e-01, double 2.500000e-01, double 2.700000e-01, double 2.800000e-01, double 3.700000e-01, double 5.000000e-02, double 1.200000e-01, double 2.700000e-01, double 3.800000e-01, double 4.800000e-01, double 6.000000e-01]
@switch.table.tex2usle_k.1 = [12 x double] [double 2.900000e-01, double 1.350000e-01, double 2.400000e-01, double 2.600000e-01, double 2.650000e-01, double 3.450000e-01, double 4.000000e-02, double 1.100000e-01, double 2.550000e-01, double 3.600000e-01, double 4.500000e-01, double 5.600000e-01]
@switch.table.tex2usle_k.2 = [12 x double] [double 2.200000e-01, double 1.300000e-01, double 2.300000e-01, double 2.500000e-01, double 2.500000e-01, double 3.200000e-01, double 3.000000e-02, double 1.000000e-01, double 2.400000e-01, double 3.400000e-01, double 4.200000e-01, double 5.200000e-01]
@switch.table.tex2usle_k.3 = [12 x double] [double 1.300000e-01, double 1.250000e-01, double 2.100000e-01, double 2.300000e-01, double 2.300000e-01, double 2.900000e-01, double 2.500000e-02, double 0x3FB70A3D70A3D70A, double 2.150000e-01, double 3.250000e-01, double 3.750000e-01, double 4.700000e-01]
@switch.table.tex2usle_k.4 = [12 x double] [double 1.300000e-01, double 1.200000e-01, double 1.900000e-01, double 2.100000e-01, double 2.100000e-01, double 2.600000e-01, double 2.000000e-02, double 8.000000e-02, double 1.900000e-01, double 2.900000e-01, double 3.300000e-01, double 4.200000e-01]
define double @tex2usle_k(i32 %0, double %1) {
%3 = fcmp olt double %1, 5.000000e-01
br i1 %3, label %4, label %6
4: ; preds = %2
%5 = icmp ult i32 %0, 12
br i1 %5, label %26, label %31
6: ; preds = %2
%7 = fcmp oge double %1, 5.000000e-01
%8 = fcmp olt double %1, 2.000000e-01
%9 = and i1 %7, %8
br i1 %9, label %10, label %12
10: ; preds = %6
%11 = icmp ult i32 %0, 12
br i1 %11, label %26, label %31
12: ; preds = %6
%13 = fcmp oeq double %1, 2.000000e-01
br i1 %13, label %14, label %16
14: ; preds = %12
%15 = icmp ult i32 %0, 12
br i1 %15, label %26, label %31
16: ; preds = %12
%17 = fcmp ogt double %1, 2.000000e-01
%18 = fcmp olt double %1, 4.000000e-01
%19 = and i1 %17, %18
br i1 %19, label %20, label %22
20: ; preds = %16
%21 = icmp ult i32 %0, 12
br i1 %21, label %26, label %31
22: ; preds = %16
%23 = fcmp ult double %1, 4.000000e-01
br i1 %23, label %31, label %24
24: ; preds = %22
%25 = icmp ult i32 %0, 12
br i1 %25, label %26, label %31
26: ; preds = %24, %20, %14, %10, %4
%27 = phi [12 x double]* [ @switch.table.tex2usle_k, %4 ], [ @switch.table.tex2usle_k.1, %10 ], [ @switch.table.tex2usle_k.2, %14 ], [ @switch.table.tex2usle_k.3, %20 ], [ @switch.table.tex2usle_k.4, %24 ]
%28 = sext i32 %0 to i64
%29 = getelementptr inbounds [12 x double], [12 x double]* %27, i64 0, i64 %28
%30 = load double, double* %29
br label %31
31: ; preds = %26, %24, %20, %14, %10, %4, %22
%32 = phi double [ 2.000000e+02, %22 ], [ 5.000000e+02, %4 ], [ 5.000000e+02, %10 ], [ 5.000000e+02, %14 ], [ 5.000000e+02, %20 ], [ 5.000000e+02, %24 ], [ %30, %26 ]
ret double %32
}