const char *pluralform(const char *lang, int n) {
  if (!lang)
    return "other";
  unsigned int lc = 0;
  for (; *lang; lang++) {
    lc = (lc << 8) + *lang;
  }
  switch (lc) {
  case 0x6c74:
    if (((n % 10) == 1) && (((n % 100) < 11 || (n % 100) > 19)))
      return "one";
    if ((((n % 10) >= 2 && (n % 10) <= 9)) &&
        (((n % 100) < 11 || (n % 100) > 19)))
      return "few";
    break;
  case 0x6c76:
    if (n == 0)
      return "zero";
    if (((n % 10) == 1) && ((n % 100) != 11))
      return "one";
    break;
  case 0x6379:
    if (n == 2)
      return "two";
    if (n == 3)
      return "few";
    if (n == 0)
      return "zero";
    if (n == 1)
      return "one";
    if (n == 6)
      return "many";
    break;
  case 0x6265:
  case 0x6273:
  case 0x6872:
  case 0x7275:
  case 0x7368:
  case 0x7372:
  case 0x756b:
    if (((n % 10) == 1) && ((n % 100) != 11))
      return "one";
    if ((((n % 10) >= 2 && (n % 10) <= 4)) &&
        (((n % 100) < 12 || (n % 100) > 14)))
      return "few";
    if (((n % 10) == 0) || (((n % 10) >= 5 && (n % 10) <= 9)) ||
        (((n % 100) >= 11 && (n % 100) <= 14)))
      return "many";
    break;
  case 0x6b7368:
    if (n == 0)
      return "zero";
    if (n == 1)
      return "one";
    break;
  case 0x736869:
    if ((n >= 2 && n <= 10))
      return "few";
    if ((n >= 0 && n <= 1))
      return "one";
    break;
  case 0x6865:
    if (n == 2)
      return "two";
    if (n == 1)
      return "one";
    if ((n != 0) && ((n % 10) == 0))
      return "many";
    break;
  case 0x6373:
  case 0x736b:
    if (n == 1)
      return "one";
    if ((n >= 2 && n <= 4))
      return "few";
    break;
  case 0x6272:
    if ((n != 0) && ((n % 1000000) == 0))
      return "many";
    if (((n % 10) == 1) &&
        (((n % 100) != 11) && ((n % 100) != 71) && ((n % 100) != 91)))
      return "one";
    if (((n % 10) == 2) &&
        (((n % 100) != 12) && ((n % 100) != 72) && ((n % 100) != 92)))
      return "two";
    if ((((n % 10) >= 3 && (n % 10) <= 4) || ((n % 10) == 9)) &&
        (((n % 100) < 10 || (n % 100) > 19) &&
         ((n % 100) < 70 || (n % 100) > 79) &&
         ((n % 100) < 90 || (n % 100) > 99)))
      return "few";
    break;
  case 0x736c:
    if ((n % 100) == 2)
      return "two";
    if ((n % 100) == 1)
      return "one";
    if (((n % 100) >= 3 && (n % 100) <= 4))
      return "few";
    break;
  case 0x6c6167:
    if (n == 0)
      return "zero";
    if (((n >= 0 && n <= 2)) && (n != 0) && (n != 2))
      return "one";
    break;
  case 0x706c:
    if (n == 1)
      return "one";
    if ((((n % 10) >= 2 && (n % 10) <= 4)) &&
        (((n % 100) < 12 || (n % 100) > 14)))
      return "few";
    if (((n != 1) && (((n % 10) >= 0 && (n % 10) <= 1))) ||
        (((n % 10) >= 5 && (n % 10) <= 9)) ||
        (((n % 100) >= 12 && (n % 100) <= 14)))
      return "many";
    break;
  case 0x6764:
    if ((n == 2) || (n == 12))
      return "two";
    if ((n == 1) || (n == 11))
      return "one";
    if ((n >= 3 && n <= 10) || (n >= 13 && n <= 19))
      return "few";
    break;
  case 0x6776:
    if ((((n % 10) >= 1 && (n % 10) <= 2)) || ((n % 20) == 0))
      return "one";
    break;
  case 0x6d6b:
    if (((n % 10) == 1) && (n != 11))
      return "one";
    break;
  case 0x6d74:
    if (n == 1)
      return "one";
    if (((n % 100) >= 11 && (n % 100) <= 19))
      return "many";
    if ((n == 0) || (((n % 100) >= 2 && (n % 100) <= 10)))
      return "few";
    break;
  case 0x6d6f:
  case 0x726f:
    if (n == 1)
      return "one";
    if ((n == 0) || ((n != 1) && (((n % 100) >= 1 && (n % 100) <= 19))))
      return "few";
    break;
  case 0x6761:
    if (n == 2)
      return "two";
    if (n == 1)
      return "one";
    if ((n >= 3 && n <= 6))
      return "few";
    if ((n >= 7 && n <= 10))
      return "many";
    break;
  case 0x6666:
  case 0x6672:
  case 0x6b6162:
    if (((n >= 0 && n <= 2)) && (n != 2))
      return "one";
    break;
  case 0x6975:
  case 0x6b77:
  case 0x7365:
  case 0x6e6171:
  case 0x736d61:
  case 0x736d69:
  case 0x736d6a:
  case 0x736d6e:
  case 0x736d73:
    if (n == 2)
      return "two";
    if (n == 1)
      return "one";
    break;
  case 0x616b:
  case 0x616d:
  case 0x6268:
  case 0x6869:
  case 0x6c6e:
  case 0x6d67:
  case 0x7469:
  case 0x746c:
  case 0x7761:
  case 0x66696c:
  case 0x677577:
  case 0x6e736f:
    if ((n >= 0 && n <= 1))
      return "one";
    break;
  case 0x747a6d:
    if (((n >= 0 && n <= 1)) || ((n >= 11 && n <= 99)))
      return "one";
    break;
  case 0x6166:
  case 0x6267:
  case 0x626e:
  case 0x6361:
  case 0x6461:
  case 0x6465:
  case 0x6476:
  case 0x6565:
  case 0x656c:
  case 0x656e:
  case 0x656f:
  case 0x6573:
  case 0x6574:
  case 0x6575:
  case 0x6669:
  case 0x666f:
  case 0x6679:
  case 0x676c:
  case 0x6775:
  case 0x6861:
  case 0x6973:
  case 0x6974:
  case 0x6b6b:
  case 0x6b6c:
  case 0x6b73:
  case 0x6b75:
  case 0x6b79:
  case 0x6c62:
  case 0x6c67:
  case 0x6d6c:
  case 0x6d6e:
  case 0x6d72:
  case 0x6e62:
  case 0x6e64:
  case 0x6e65:
  case 0x6e6c:
  case 0x6e6e:
  case 0x6e6f:
  case 0x6e72:
  case 0x6e79:
  case 0x6f6d:
  case 0x6f72:
  case 0x6f73:
  case 0x7061:
  case 0x7073:
  case 0x7074:
  case 0x726d:
  case 0x736e:
  case 0x736f:
  case 0x7371:
  case 0x7373:
  case 0x7374:
  case 0x7376:
  case 0x7377:
  case 0x7461:
  case 0x7465:
  case 0x746b:
  case 0x746e:
  case 0x7473:
  case 0x7572:
  case 0x7665:
  case 0x766f:
  case 0x7868:
  case 0x7a75:
  case 0x617361:
  case 0x617374:
  case 0x62656d:
  case 0x62657a:
  case 0x627278:
  case 0x636767:
  case 0x636872:
  case 0x636b62:
  case 0x667572:
  case 0x677377:
  case 0x686177:
  case 0x6a676f:
  case 0x6a6d63:
  case 0x6b616a:
  case 0x6b6367:
  case 0x6b6b6a:
  case 0x6b7362:
  case 0x6d6173:
  case 0x6d676f:
  case 0x6e6168:
  case 0x6e6e68:
  case 0x6e796e:
  case 0x706170:
  case 0x726f66:
  case 0x72776b:
  case 0x736171:
  case 0x736568:
  case 0x737379:
  case 0x737972:
  case 0x74656f:
  case 0x746967:
  case 0x76756e:
  case 0x776165:
  case 0x786f67:
    if (n == 1)
      return "one";
    break;
  case 0x6172:
    if (n == 2)
      return "two";
    if (n == 1)
      return "one";
    if (n == 0)
      return "zero";
    if (((n % 100) >= 3 && (n % 100) <= 10))
      return "few";
    if (((n % 100) >= 11 && (n % 100) <= 99))
      return "many";
    break;
  }
  return "other";
}


x86 assembly (clang, -O0):
<pluralform>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x10(%rbp)
mov    %esi,-0x14(%rbp)
cmpq   $0x0,-0x10(%rbp)
jne    1126 <pluralform+0x26>
lea    0x1ee3(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
movl   $0x0,-0x18(%rbp)
mov    -0x10(%rbp),%rax
cmpb   $0x0,(%rax)
je     115d <pluralform+0x5d>
mov    -0x18(%rbp),%eax
shl    $0x8,%eax
mov    -0x10(%rbp),%rcx
movsbl (%rcx),%ecx
add    %ecx,%eax
mov    %eax,-0x18(%rbp)
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
jmp    112d <pluralform+0x2d>
mov    -0x18(%rbp),%eax
mov    %eax,-0x1c(%rbp)
sub    $0x6166,%eax
je     2683 <pluralform+0x1583>
jmp    1173 <pluralform+0x73>
mov    -0x1c(%rbp),%eax
sub    $0x616b,%eax
je     261d <pluralform+0x151d>
jmp    1186 <pluralform+0x86>
mov    -0x1c(%rbp),%eax
sub    $0x616d,%eax
je     261d <pluralform+0x151d>
jmp    1199 <pluralform+0x99>
mov    -0x1c(%rbp),%eax
sub    $0x6172,%eax
je     26a2 <pluralform+0x15a2>
jmp    11ac <pluralform+0xac>
mov    -0x1c(%rbp),%eax
sub    $0x6265,%eax
je     1d3e <pluralform+0xc3e>
jmp    11bf <pluralform+0xbf>
mov    -0x1c(%rbp),%eax
sub    $0x6267,%eax
je     2683 <pluralform+0x1583>
jmp    11d2 <pluralform+0xd2>
mov    -0x1c(%rbp),%eax
sub    $0x6268,%eax
je     261d <pluralform+0x151d>
jmp    11e5 <pluralform+0xe5>
mov    -0x1c(%rbp),%eax
sub    $0x626e,%eax
je     2683 <pluralform+0x1583>
jmp    11f8 <pluralform+0xf8>
mov    -0x1c(%rbp),%eax
sub    $0x6272,%eax
je     1f7f <pluralform+0xe7f>
jmp    120b <pluralform+0x10b>
mov    -0x1c(%rbp),%eax
sub    $0x6273,%eax
je     1d3e <pluralform+0xc3e>
jmp    121e <pluralform+0x11e>
mov    -0x1c(%rbp),%eax
sub    $0x6361,%eax
je     2683 <pluralform+0x1583>
jmp    1231 <pluralform+0x131>
mov    -0x1c(%rbp),%eax
sub    $0x6373,%eax
je     1f3c <pluralform+0xe3c>
jmp    1244 <pluralform+0x144>
mov    -0x1c(%rbp),%eax
sub    $0x6379,%eax
je     1cb7 <pluralform+0xbb7>
jmp    1257 <pluralform+0x157>
mov    -0x1c(%rbp),%eax
sub    $0x6461,%eax
je     2683 <pluralform+0x1583>
jmp    126a <pluralform+0x16a>
mov    -0x1c(%rbp),%eax
sub    $0x6465,%eax
je     2683 <pluralform+0x1583>
jmp    127d <pluralform+0x17d>
mov    -0x1c(%rbp),%eax
sub    $0x6476,%eax
je     2683 <pluralform+0x1583>
jmp    1290 <pluralform+0x190>
mov    -0x1c(%rbp),%eax
sub    $0x6565,%eax
je     2683 <pluralform+0x1583>
jmp    12a3 <pluralform+0x1a3>
mov    -0x1c(%rbp),%eax
sub    $0x656c,%eax
je     2683 <pluralform+0x1583>
jmp    12b6 <pluralform+0x1b6>
mov    -0x1c(%rbp),%eax
add    $0xffff9a92,%eax
sub    $0x2,%eax
jb     2683 <pluralform+0x1583>
jmp    12cc <pluralform+0x1cc>
mov    -0x1c(%rbp),%eax
add    $0xffff9a8d,%eax
sub    $0x3,%eax
jb     2683 <pluralform+0x1583>
jmp    12e2 <pluralform+0x1e2>
mov    -0x1c(%rbp),%eax
sub    $0x6666,%eax
je     25b1 <pluralform+0x14b1>
jmp    12f5 <pluralform+0x1f5>
mov    -0x1c(%rbp),%eax
sub    $0x6669,%eax
je     2683 <pluralform+0x1583>
jmp    1308 <pluralform+0x208>
mov    -0x1c(%rbp),%eax
sub    $0x666f,%eax
je     2683 <pluralform+0x1583>
jmp    131b <pluralform+0x21b>
mov    -0x1c(%rbp),%eax
sub    $0x6672,%eax
je     25b1 <pluralform+0x14b1>
jmp    132e <pluralform+0x22e>
mov    -0x1c(%rbp),%eax
sub    $0x6679,%eax
je     2683 <pluralform+0x1583>
jmp    1341 <pluralform+0x241>
mov    -0x1c(%rbp),%eax
sub    $0x6761,%eax
je     2530 <pluralform+0x1430>
jmp    1354 <pluralform+0x254>
mov    -0x1c(%rbp),%eax
sub    $0x6764,%eax
je     2323 <pluralform+0x1223>
jmp    1367 <pluralform+0x267>
mov    -0x1c(%rbp),%eax
sub    $0x676c,%eax
je     2683 <pluralform+0x1583>
jmp    137a <pluralform+0x27a>
mov    -0x1c(%rbp),%eax
sub    $0x6775,%eax
je     2683 <pluralform+0x1583>
jmp    138d <pluralform+0x28d>
mov    -0x1c(%rbp),%eax
sub    $0x6776,%eax
je     23a8 <pluralform+0x12a8>
jmp    13a0 <pluralform+0x2a0>
mov    -0x1c(%rbp),%eax
sub    $0x6861,%eax
je     2683 <pluralform+0x1583>
jmp    13b3 <pluralform+0x2b3>
mov    -0x1c(%rbp),%eax
sub    $0x6865,%eax
je     1ed5 <pluralform+0xdd5>
jmp    13c6 <pluralform+0x2c6>
mov    -0x1c(%rbp),%eax
sub    $0x6869,%eax
je     261d <pluralform+0x151d>
jmp    13d9 <pluralform+0x2d9>
mov    -0x1c(%rbp),%eax
sub    $0x6872,%eax
je     1d3e <pluralform+0xc3e>
jmp    13ec <pluralform+0x2ec>
mov    -0x1c(%rbp),%eax
add    $0xffff968d,%eax
sub    $0x2,%eax
jb     2683 <pluralform+0x1583>
jmp    1402 <pluralform+0x302>
mov    -0x1c(%rbp),%eax
sub    $0x6975,%eax
je     25e4 <pluralform+0x14e4>
jmp    1415 <pluralform+0x315>
mov    -0x1c(%rbp),%eax
add    $0xffff9495,%eax
sub    $0x2,%eax
jb     2683 <pluralform+0x1583>
jmp    142b <pluralform+0x32b>
mov    -0x1c(%rbp),%eax
sub    $0x6b73,%eax
je     2683 <pluralform+0x1583>
jmp    143e <pluralform+0x33e>
mov    -0x1c(%rbp),%eax
sub    $0x6b75,%eax
je     2683 <pluralform+0x1583>
jmp    1451 <pluralform+0x351>
mov    -0x1c(%rbp),%eax
sub    $0x6b77,%eax
je     25e4 <pluralform+0x14e4>
jmp    1464 <pluralform+0x364>
mov    -0x1c(%rbp),%eax
sub    $0x6b79,%eax
je     2683 <pluralform+0x1583>
jmp    1477 <pluralform+0x377>
mov    -0x1c(%rbp),%eax
sub    $0x6c62,%eax
je     2683 <pluralform+0x1583>
jmp    148a <pluralform+0x38a>
mov    -0x1c(%rbp),%eax
sub    $0x6c67,%eax
je     2683 <pluralform+0x1583>
jmp    149d <pluralform+0x39d>
mov    -0x1c(%rbp),%eax
sub    $0x6c6e,%eax
je     261d <pluralform+0x151d>
jmp    14b0 <pluralform+0x3b0>
mov    -0x1c(%rbp),%eax
sub    $0x6c74,%eax
je     1baf <pluralform+0xaaf>
jmp    14c3 <pluralform+0x3c3>
mov    -0x1c(%rbp),%eax
sub    $0x6c76,%eax
je     1c60 <pluralform+0xb60>
jmp    14d6 <pluralform+0x3d6>
mov    -0x1c(%rbp),%eax
sub    $0x6d67,%eax
je     261d <pluralform+0x151d>
jmp    14e9 <pluralform+0x3e9>
mov    -0x1c(%rbp),%eax
sub    $0x6d6b,%eax
je     23f9 <pluralform+0x12f9>
jmp    14fc <pluralform+0x3fc>
mov    -0x1c(%rbp),%eax
sub    $0x6d6c,%eax
je     2683 <pluralform+0x1583>
jmp    150f <pluralform+0x40f>
mov    -0x1c(%rbp),%eax
sub    $0x6d6e,%eax
je     2683 <pluralform+0x1583>
jmp    1522 <pluralform+0x422>
mov    -0x1c(%rbp),%eax
sub    $0x6d6f,%eax
je     24c5 <pluralform+0x13c5>
jmp    1535 <pluralform+0x435>
mov    -0x1c(%rbp),%eax
sub    $0x6d72,%eax
je     2683 <pluralform+0x1583>
jmp    1548 <pluralform+0x448>
mov    -0x1c(%rbp),%eax
sub    $0x6d74,%eax
je     242c <pluralform+0x132c>
jmp    155b <pluralform+0x45b>
mov    -0x1c(%rbp),%eax
sub    $0x6e62,%eax
je     2683 <pluralform+0x1583>
jmp    156e <pluralform+0x46e>
mov    -0x1c(%rbp),%eax
add    $0xffff919c,%eax
sub    $0x2,%eax
jb     2683 <pluralform+0x1583>
jmp    1584 <pluralform+0x484>
mov    -0x1c(%rbp),%eax
sub    $0x6e6c,%eax
je     2683 <pluralform+0x1583>
jmp    1597 <pluralform+0x497>
mov    -0x1c(%rbp),%eax
add    $0xffff9192,%eax
sub    $0x2,%eax
jb     2683 <pluralform+0x1583>
jmp    15ad <pluralform+0x4ad>
mov    -0x1c(%rbp),%eax
sub    $0x6e72,%eax
je     2683 <pluralform+0x1583>
jmp    15c0 <pluralform+0x4c0>
mov    -0x1c(%rbp),%eax
sub    $0x6e79,%eax
je     2683 <pluralform+0x1583>
jmp    15d3 <pluralform+0x4d3>
mov    -0x1c(%rbp),%eax
sub    $0x6f6d,%eax
je     2683 <pluralform+0x1583>
jmp    15e6 <pluralform+0x4e6>
mov    -0x1c(%rbp),%eax
add    $0xffff908e,%eax
sub    $0x2,%eax
jb     2683 <pluralform+0x1583>
jmp    15fc <pluralform+0x4fc>
mov    -0x1c(%rbp),%eax
sub    $0x7061,%eax
je     2683 <pluralform+0x1583>
jmp    160f <pluralform+0x50f>
mov    -0x1c(%rbp),%eax
sub    $0x706c,%eax
je     2212 <pluralform+0x1112>
jmp    1622 <pluralform+0x522>
mov    -0x1c(%rbp),%eax
add    $0xffff8f8d,%eax
sub    $0x2,%eax
jb     2683 <pluralform+0x1583>
jmp    1638 <pluralform+0x538>
mov    -0x1c(%rbp),%eax
sub    $0x726d,%eax
je     2683 <pluralform+0x1583>
jmp    164b <pluralform+0x54b>
mov    -0x1c(%rbp),%eax
sub    $0x726f,%eax
je     24c5 <pluralform+0x13c5>
jmp    165e <pluralform+0x55e>
mov    -0x1c(%rbp),%eax
sub    $0x7275,%eax
je     1d3e <pluralform+0xc3e>
jmp    1671 <pluralform+0x571>
mov    -0x1c(%rbp),%eax
sub    $0x7365,%eax
je     25e4 <pluralform+0x14e4>
jmp    1684 <pluralform+0x584>
mov    -0x1c(%rbp),%eax
sub    $0x7368,%eax
je     1d3e <pluralform+0xc3e>
jmp    1697 <pluralform+0x597>
mov    -0x1c(%rbp),%eax
sub    $0x736b,%eax
je     1f3c <pluralform+0xe3c>
jmp    16aa <pluralform+0x5aa>
mov    -0x1c(%rbp),%eax
sub    $0x736c,%eax
je     2136 <pluralform+0x1036>
jmp    16bd <pluralform+0x5bd>
mov    -0x1c(%rbp),%eax
add    $0xffff8c92,%eax
sub    $0x2,%eax
jb     2683 <pluralform+0x1583>
jmp    16d3 <pluralform+0x5d3>
mov    -0x1c(%rbp),%eax
sub    $0x7371,%eax
je     2683 <pluralform+0x1583>
jmp    16e6 <pluralform+0x5e6>
mov    -0x1c(%rbp),%eax
sub    $0x7372,%eax
je     1d3e <pluralform+0xc3e>
jmp    16f9 <pluralform+0x5f9>
mov    -0x1c(%rbp),%eax
add    $0xffff8c8d,%eax
sub    $0x2,%eax
jb     2683 <pluralform+0x1583>
jmp    170f <pluralform+0x60f>
mov    -0x1c(%rbp),%eax
add    $0xffff8c8a,%eax
sub    $0x2,%eax
jb     2683 <pluralform+0x1583>
jmp    1725 <pluralform+0x625>
mov    -0x1c(%rbp),%eax
sub    $0x7461,%eax
je     2683 <pluralform+0x1583>
jmp    1738 <pluralform+0x638>
mov    -0x1c(%rbp),%eax
sub    $0x7465,%eax
je     2683 <pluralform+0x1583>
jmp    174b <pluralform+0x64b>
mov    -0x1c(%rbp),%eax
sub    $0x7469,%eax
je     261d <pluralform+0x151d>
jmp    175e <pluralform+0x65e>
mov    -0x1c(%rbp),%eax
sub    $0x746b,%eax
je     2683 <pluralform+0x1583>
jmp    1771 <pluralform+0x671>
mov    -0x1c(%rbp),%eax
sub    $0x746c,%eax
je     261d <pluralform+0x151d>
jmp    1784 <pluralform+0x684>
mov    -0x1c(%rbp),%eax
sub    $0x746e,%eax
je     2683 <pluralform+0x1583>
jmp    1797 <pluralform+0x697>
mov    -0x1c(%rbp),%eax
sub    $0x7473,%eax
je     2683 <pluralform+0x1583>
jmp    17aa <pluralform+0x6aa>
mov    -0x1c(%rbp),%eax
sub    $0x756b,%eax
je     1d3e <pluralform+0xc3e>
jmp    17bd <pluralform+0x6bd>
mov    -0x1c(%rbp),%eax
sub    $0x7572,%eax
je     2683 <pluralform+0x1583>
jmp    17d0 <pluralform+0x6d0>
mov    -0x1c(%rbp),%eax
sub    $0x7665,%eax
je     2683 <pluralform+0x1583>
jmp    17e3 <pluralform+0x6e3>
mov    -0x1c(%rbp),%eax
sub    $0x766f,%eax
je     2683 <pluralform+0x1583>
jmp    17f6 <pluralform+0x6f6>
mov    -0x1c(%rbp),%eax
sub    $0x7761,%eax
je     261d <pluralform+0x151d>
jmp    1809 <pluralform+0x709>
mov    -0x1c(%rbp),%eax
sub    $0x7868,%eax
je     2683 <pluralform+0x1583>
jmp    181c <pluralform+0x71c>
mov    -0x1c(%rbp),%eax
sub    $0x7a75,%eax
je     2683 <pluralform+0x1583>
jmp    182f <pluralform+0x72f>
mov    -0x1c(%rbp),%eax
sub    $0x617361,%eax
je     2683 <pluralform+0x1583>
jmp    1842 <pluralform+0x742>
mov    -0x1c(%rbp),%eax
sub    $0x617374,%eax
je     2683 <pluralform+0x1583>
jmp    1855 <pluralform+0x755>
mov    -0x1c(%rbp),%eax
sub    $0x62656d,%eax
je     2683 <pluralform+0x1583>
jmp    1868 <pluralform+0x768>
mov    -0x1c(%rbp),%eax
sub    $0x62657a,%eax
je     2683 <pluralform+0x1583>
jmp    187b <pluralform+0x77b>
mov    -0x1c(%rbp),%eax
sub    $0x627278,%eax
je     2683 <pluralform+0x1583>
jmp    188e <pluralform+0x78e>
mov    -0x1c(%rbp),%eax
sub    $0x636767,%eax
je     2683 <pluralform+0x1583>
jmp    18a1 <pluralform+0x7a1>
mov    -0x1c(%rbp),%eax
sub    $0x636872,%eax
je     2683 <pluralform+0x1583>
jmp    18b4 <pluralform+0x7b4>
mov    -0x1c(%rbp),%eax
sub    $0x636b62,%eax
je     2683 <pluralform+0x1583>
jmp    18c7 <pluralform+0x7c7>
mov    -0x1c(%rbp),%eax
sub    $0x66696c,%eax
je     261d <pluralform+0x151d>
jmp    18da <pluralform+0x7da>
mov    -0x1c(%rbp),%eax
sub    $0x667572,%eax
je     2683 <pluralform+0x1583>
jmp    18ed <pluralform+0x7ed>
mov    -0x1c(%rbp),%eax
sub    $0x677377,%eax
je     2683 <pluralform+0x1583>
jmp    1900 <pluralform+0x800>
mov    -0x1c(%rbp),%eax
sub    $0x677577,%eax
je     261d <pluralform+0x151d>
jmp    1913 <pluralform+0x813>
mov    -0x1c(%rbp),%eax
sub    $0x686177,%eax
je     2683 <pluralform+0x1583>
jmp    1926 <pluralform+0x826>
mov    -0x1c(%rbp),%eax
sub    $0x6a676f,%eax
je     2683 <pluralform+0x1583>
jmp    1939 <pluralform+0x839>
mov    -0x1c(%rbp),%eax
sub    $0x6a6d63,%eax
je     2683 <pluralform+0x1583>
jmp    194c <pluralform+0x84c>
mov    -0x1c(%rbp),%eax
sub    $0x6b6162,%eax
je     25b1 <pluralform+0x14b1>
jmp    195f <pluralform+0x85f>
mov    -0x1c(%rbp),%eax
sub    $0x6b616a,%eax
je     2683 <pluralform+0x1583>
jmp    1972 <pluralform+0x872>
mov    -0x1c(%rbp),%eax
sub    $0x6b6367,%eax
je     2683 <pluralform+0x1583>
jmp    1985 <pluralform+0x885>
mov    -0x1c(%rbp),%eax
sub    $0x6b6b6a,%eax
je     2683 <pluralform+0x1583>
jmp    1998 <pluralform+0x898>
mov    -0x1c(%rbp),%eax
sub    $0x6b7362,%eax
je     2683 <pluralform+0x1583>
jmp    19ab <pluralform+0x8ab>
mov    -0x1c(%rbp),%eax
sub    $0x6b7368,%eax
je     1e4f <pluralform+0xd4f>
jmp    19be <pluralform+0x8be>
mov    -0x1c(%rbp),%eax
sub    $0x6c6167,%eax
je     21bb <pluralform+0x10bb>
jmp    19d1 <pluralform+0x8d1>
mov    -0x1c(%rbp),%eax
sub    $0x6d6173,%eax
je     2683 <pluralform+0x1583>
jmp    19e4 <pluralform+0x8e4>
mov    -0x1c(%rbp),%eax
sub    $0x6d676f,%eax
je     2683 <pluralform+0x1583>
jmp    19f7 <pluralform+0x8f7>
mov    -0x1c(%rbp),%eax
sub    $0x6e6168,%eax
je     2683 <pluralform+0x1583>
jmp    1a0a <pluralform+0x90a>
mov    -0x1c(%rbp),%eax
sub    $0x6e6171,%eax
je     25e4 <pluralform+0x14e4>
jmp    1a1d <pluralform+0x91d>
mov    -0x1c(%rbp),%eax
sub    $0x6e6e68,%eax
je     2683 <pluralform+0x1583>
jmp    1a30 <pluralform+0x930>
mov    -0x1c(%rbp),%eax
sub    $0x6e736f,%eax
je     261d <pluralform+0x151d>
jmp    1a43 <pluralform+0x943>
mov    -0x1c(%rbp),%eax
sub    $0x6e796e,%eax
je     2683 <pluralform+0x1583>
jmp    1a56 <pluralform+0x956>
mov    -0x1c(%rbp),%eax
sub    $0x706170,%eax
je     2683 <pluralform+0x1583>
jmp    1a69 <pluralform+0x969>
mov    -0x1c(%rbp),%eax
sub    $0x726f66,%eax
je     2683 <pluralform+0x1583>
jmp    1a7c <pluralform+0x97c>
mov    -0x1c(%rbp),%eax
sub    $0x72776b,%eax
je     2683 <pluralform+0x1583>
jmp    1a8f <pluralform+0x98f>
mov    -0x1c(%rbp),%eax
sub    $0x736171,%eax
je     2683 <pluralform+0x1583>
jmp    1aa2 <pluralform+0x9a2>
mov    -0x1c(%rbp),%eax
sub    $0x736568,%eax
je     2683 <pluralform+0x1583>
jmp    1ab5 <pluralform+0x9b5>
mov    -0x1c(%rbp),%eax
sub    $0x736869,%eax
je     1e88 <pluralform+0xd88>
jmp    1ac8 <pluralform+0x9c8>
mov    -0x1c(%rbp),%eax
sub    $0x736d61,%eax
je     25e4 <pluralform+0x14e4>
jmp    1adb <pluralform+0x9db>
mov    -0x1c(%rbp),%eax
add    $0xff8c9297,%eax
sub    $0x2,%eax
jb     25e4 <pluralform+0x14e4>
jmp    1af1 <pluralform+0x9f1>
mov    -0x1c(%rbp),%eax
sub    $0x736d6e,%eax
je     25e4 <pluralform+0x14e4>
jmp    1b04 <pluralform+0xa04>
mov    -0x1c(%rbp),%eax
sub    $0x736d73,%eax
je     25e4 <pluralform+0x14e4>
jmp    1b17 <pluralform+0xa17>
mov    -0x1c(%rbp),%eax
sub    $0x737379,%eax
je     2683 <pluralform+0x1583>
jmp    1b2a <pluralform+0xa2a>
mov    -0x1c(%rbp),%eax
sub    $0x737972,%eax
je     2683 <pluralform+0x1583>
jmp    1b3d <pluralform+0xa3d>
mov    -0x1c(%rbp),%eax
sub    $0x74656f,%eax
je     2683 <pluralform+0x1583>
jmp    1b50 <pluralform+0xa50>
mov    -0x1c(%rbp),%eax
sub    $0x746967,%eax
je     2683 <pluralform+0x1583>
jmp    1b63 <pluralform+0xa63>
mov    -0x1c(%rbp),%eax
sub    $0x747a6d,%eax
je     2646 <pluralform+0x1546>
jmp    1b76 <pluralform+0xa76>
mov    -0x1c(%rbp),%eax
sub    $0x76756e,%eax
je     2683 <pluralform+0x1583>
jmp    1b89 <pluralform+0xa89>
mov    -0x1c(%rbp),%eax
sub    $0x776165,%eax
je     2683 <pluralform+0x1583>
jmp    1b9c <pluralform+0xa9c>
mov    -0x1c(%rbp),%eax
sub    $0x786f67,%eax
je     2683 <pluralform+0x1583>
jmp    2765 <pluralform+0x1665>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
jne    1bfb <pluralform+0xafb>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xb,%edx
jl     1beb <pluralform+0xaeb>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x13,%edx
jle    1bfb <pluralform+0xafb>
lea    0x1414(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x2,%edx
jl     1c5b <pluralform+0xb5b>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x9,%edx
jg     1c5b <pluralform+0xb5b>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xb,%edx
jl     1c4b <pluralform+0xb4b>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x13,%edx
jle    1c5b <pluralform+0xb5b>
lea    0x13b8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x0,-0x14(%rbp)
jne    1c7a <pluralform+0xb7a>
lea    0x139d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
jne    1cb2 <pluralform+0xbb2>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xb,%edx
je     1cb2 <pluralform+0xbb2>
lea    0x135d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x2,-0x14(%rbp)
jne    1cd1 <pluralform+0xbd1>
lea    0x134b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x3,-0x14(%rbp)
jne    1ceb <pluralform+0xbeb>
lea    0x1328(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x0,-0x14(%rbp)
jne    1d05 <pluralform+0xc05>
lea    0x1312(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x1,-0x14(%rbp)
jne    1d1f <pluralform+0xc1f>
lea    0x12f0(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x6,-0x14(%rbp)
jne    1d39 <pluralform+0xc39>
lea    0x12e7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
jne    1d76 <pluralform+0xc76>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xb,%edx
je     1d76 <pluralform+0xc76>
lea    0x1299(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x2,%edx
jl     1dd6 <pluralform+0xcd6>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x4,%edx
jg     1dd6 <pluralform+0xcd6>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xc,%edx
jl     1dc6 <pluralform+0xcc6>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xe,%edx
jle    1dd6 <pluralform+0xcd6>
lea    0x123d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     1e3a <pluralform+0xd3a>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x5,%edx
jl     1e12 <pluralform+0xd12>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x9,%edx
jle    1e3a <pluralform+0xd3a>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xb,%edx
jl     1e4a <pluralform+0xd4a>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xe,%edx
jg     1e4a <pluralform+0xd4a>
lea    0x11d6(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x0,-0x14(%rbp)
jne    1e69 <pluralform+0xd69>
lea    0x11ae(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x1,-0x14(%rbp)
jne    1e83 <pluralform+0xd83>
lea    0x118c(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x2,-0x14(%rbp)
jl     1eac <pluralform+0xdac>
cmpl   $0xa,-0x14(%rbp)
jg     1eac <pluralform+0xdac>
lea    0x1167(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x0,-0x14(%rbp)
jl     1ed0 <pluralform+0xdd0>
cmpl   $0x1,-0x14(%rbp)
jg     1ed0 <pluralform+0xdd0>
lea    0x113f(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x2,-0x14(%rbp)
jne    1eef <pluralform+0xdef>
lea    0x112d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x1,-0x14(%rbp)
jne    1f09 <pluralform+0xe09>
lea    0x1106(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x0,-0x14(%rbp)
je     1f37 <pluralform+0xe37>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1f37 <pluralform+0xe37>
lea    0x10e9(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x1,-0x14(%rbp)
jne    1f56 <pluralform+0xe56>
lea    0x10b9(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x2,-0x14(%rbp)
jl     1f7a <pluralform+0xe7a>
cmpl   $0x4,-0x14(%rbp)
jg     1f7a <pluralform+0xe7a>
lea    0x1099(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x0,-0x14(%rbp)
je     1fad <pluralform+0xead>
mov    -0x14(%rbp),%eax
mov    $0xf4240,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    1fad <pluralform+0xead>
lea    0x1073(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
jne    200d <pluralform+0xf0d>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xb,%edx
je     200d <pluralform+0xf0d>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x47,%edx
je     200d <pluralform+0xf0d>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x5b,%edx
je     200d <pluralform+0xf0d>
lea    0x1002(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x2,%edx
jne    206d <pluralform+0xf6d>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xc,%edx
je     206d <pluralform+0xf6d>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x48,%edx
je     206d <pluralform+0xf6d>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x5c,%edx
je     206d <pluralform+0xf6d>
lea    0xfaf(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x3,%edx
jl     2095 <pluralform+0xf95>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x4,%edx
jle    20a9 <pluralform+0xfa9>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x9,%edx
jne    2131 <pluralform+0x1031>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xa,%edx
jl     20d1 <pluralform+0xfd1>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x13,%edx
jle    2131 <pluralform+0x1031>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x46,%edx
jl     20f9 <pluralform+0xff9>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x4f,%edx
jle    2131 <pluralform+0x1031>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x5a,%edx
jl     2121 <pluralform+0x1021>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x63,%edx
jle    2131 <pluralform+0x1031>
lea    0xee2(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x2,%edx
jne    215a <pluralform+0x105a>
lea    0xec2(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
jne    217e <pluralform+0x107e>
lea    0xe91(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x3,%edx
jl     21b6 <pluralform+0x10b6>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x4,%edx
jg     21b6 <pluralform+0x10b6>
lea    0xe5d(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x0,-0x14(%rbp)
jne    21d5 <pluralform+0x10d5>
lea    0xe42(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x0,-0x14(%rbp)
jl     220d <pluralform+0x110d>
cmpl   $0x2,-0x14(%rbp)
jg     220d <pluralform+0x110d>
cmpl   $0x0,-0x14(%rbp)
je     220d <pluralform+0x110d>
cmpl   $0x2,-0x14(%rbp)
je     220d <pluralform+0x110d>
lea    0xe02(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x1,-0x14(%rbp)
jne    222c <pluralform+0x112c>
lea    0xde3(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x2,%edx
jl     228c <pluralform+0x118c>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x4,%edx
jg     228c <pluralform+0x118c>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xc,%edx
jl     227c <pluralform+0x117c>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xe,%edx
jle    228c <pluralform+0x118c>
lea    0xd87(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x1,-0x14(%rbp)
je     22be <pluralform+0x11be>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jl     22be <pluralform+0x11be>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
jle    230e <pluralform+0x120e>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x5,%edx
jl     22e6 <pluralform+0x11e6>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x9,%edx
jle    230e <pluralform+0x120e>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xc,%edx
jl     231e <pluralform+0x121e>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xe,%edx
jg     231e <pluralform+0x121e>
lea    0xd02(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x2,-0x14(%rbp)
je     2337 <pluralform+0x1237>
cmpl   $0xc,-0x14(%rbp)
jne    2347 <pluralform+0x1247>
lea    0xcd5(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x1,-0x14(%rbp)
je     235b <pluralform+0x125b>
cmpl   $0xb,-0x14(%rbp)
jne    236b <pluralform+0x126b>
lea    0xca4(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x3,-0x14(%rbp)
jl     237f <pluralform+0x127f>
cmpl   $0xa,-0x14(%rbp)
jle    2393 <pluralform+0x1293>
cmpl   $0xd,-0x14(%rbp)
jl     23a3 <pluralform+0x12a3>
cmpl   $0x13,-0x14(%rbp)
jg     23a3 <pluralform+0x12a3>
lea    0xc70(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
jl     23d0 <pluralform+0x12d0>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x2,%edx
jle    23e4 <pluralform+0x12e4>
mov    -0x14(%rbp),%eax
mov    $0x14,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
jne    23f4 <pluralform+0x12f4>
lea    0xc1b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
mov    -0x14(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
jne    2427 <pluralform+0x1327>
cmpl   $0xb,-0x14(%rbp)
je     2427 <pluralform+0x1327>
lea    0xbe8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x1,-0x14(%rbp)
jne    2446 <pluralform+0x1346>
lea    0xbc9(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xb,%edx
jl     247e <pluralform+0x137e>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x13,%edx
jg     247e <pluralform+0x137e>
lea    0xba2(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x0,-0x14(%rbp)
je     24b0 <pluralform+0x13b0>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x2,%edx
jl     24c0 <pluralform+0x13c0>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xa,%edx
jg     24c0 <pluralform+0x13c0>
lea    0xb53(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x1,-0x14(%rbp)
jne    24df <pluralform+0x13df>
lea    0xb30(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x0,-0x14(%rbp)
je     251b <pluralform+0x141b>
cmpl   $0x1,-0x14(%rbp)
je     252b <pluralform+0x142b>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
jl     252b <pluralform+0x142b>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x13,%edx
jg     252b <pluralform+0x142b>
lea    0xae8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x2,-0x14(%rbp)
jne    254a <pluralform+0x144a>
lea    0xad2(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x1,-0x14(%rbp)
jne    2564 <pluralform+0x1464>
lea    0xaab(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x3,-0x14(%rbp)
jl     2588 <pluralform+0x1488>
cmpl   $0x6,-0x14(%rbp)
jg     2588 <pluralform+0x1488>
lea    0xa8b(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x7,-0x14(%rbp)
jl     25ac <pluralform+0x14ac>
cmpl   $0xa,-0x14(%rbp)
jg     25ac <pluralform+0x14ac>
lea    0xa74(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x0,-0x14(%rbp)
jl     25df <pluralform+0x14df>
cmpl   $0x2,-0x14(%rbp)
jg     25df <pluralform+0x14df>
cmpl   $0x2,-0x14(%rbp)
je     25df <pluralform+0x14df>
lea    0xa30(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x2,-0x14(%rbp)
jne    25fe <pluralform+0x14fe>
lea    0xa1e(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x1,-0x14(%rbp)
jne    2618 <pluralform+0x1518>
lea    0x9f7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x0,-0x14(%rbp)
jl     2641 <pluralform+0x1541>
cmpl   $0x1,-0x14(%rbp)
jg     2641 <pluralform+0x1541>
lea    0x9ce(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x0,-0x14(%rbp)
jl     265a <pluralform+0x155a>
cmpl   $0x1,-0x14(%rbp)
jle    266e <pluralform+0x156e>
cmpl   $0xb,-0x14(%rbp)
jl     267e <pluralform+0x157e>
cmpl   $0x63,-0x14(%rbp)
jg     267e <pluralform+0x157e>
lea    0x991(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x1,-0x14(%rbp)
jne    269d <pluralform+0x159d>
lea    0x972(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
cmpl   $0x2,-0x14(%rbp)
jne    26bc <pluralform+0x15bc>
lea    0x960(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x1,-0x14(%rbp)
jne    26d6 <pluralform+0x15d6>
lea    0x939(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
cmpl   $0x0,-0x14(%rbp)
jne    26f0 <pluralform+0x15f0>
lea    0x927(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x3,%edx
jl     2728 <pluralform+0x1628>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xa,%edx
jg     2728 <pluralform+0x1628>
lea    0x8eb(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0xb,%edx
jl     2760 <pluralform+0x1660>
mov    -0x14(%rbp),%eax
mov    $0x64,%ecx
cltd
idiv   %ecx
cmp    $0x63,%edx
jg     2760 <pluralform+0x1660>
lea    0x8c0(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    2770 <pluralform+0x1670>
jmp    2765 <pluralform+0x1665>
lea    0x894(%rip),%rax
mov    %rax,-0x8(%rbp)
mov    -0x8(%rbp),%rax
pop    %rbp
ret

x86 assembly (clang, -O2):
<pluralform>:
lea    0x1185(%rip),%r8
test   %rdi,%rdi
je     1e06 <pluralform+0xd06>
mov    (%rdi),%dl
test   %dl,%dl
je     1e06 <pluralform+0xd06>
add    $0x1,%rdi
xor    %eax,%eax
mov    %eax,%ecx
shl    $0x8,%ecx
movsbl %dl,%eax
add    %ecx,%eax
movzbl (%rdi),%edx
add    $0x1,%rdi
test   %dl,%dl
jne    1120 <pluralform+0x20>
cmp    $0x7274,%eax
jg     11b4 <pluralform+0xb4>
cmp    $0x6972,%eax
jle    121f <pluralform+0x11f>
cmp    $0x6e61,%eax
jg     136d <pluralform+0x26d>
cmp    $0x6c61,%eax
jle    1424 <pluralform+0x324>
lea    -0x6d67(%rax),%edx
cmp    $0xd,%edx
ja     15da <pluralform+0x4da>
lea    0xff1(%rip),%rax
movslq (%rax,%rdx,4),%rcx
add    %rax,%rcx
jmp    *%rcx
cmp    $0xb,%esi
je     1e06 <pluralform+0xd06>
movslq %esi,%rax
imul   $0x66666667,%rax,%rax
mov    %rax,%rcx
shr    $0x3f,%rcx
sar    $0x22,%rax
add    %ecx,%eax
add    %eax,%eax
lea    (%rax,%rax,4),%eax
sub    %eax,%esi
cmp    $0x1,%esi
jne    1e06 <pluralform+0xd06>
lea    0x10df(%rip),%rax
ret
cmp    $0x677576,%eax
jg     127d <pluralform+0x17d>
cmp    $0x756a,%eax
jg     12df <pluralform+0x1df>
lea    -0x7365(%rax),%edx
cmp    $0x12,%edx
ja     1516 <pluralform+0x416>
lea    0xfbc(%rip),%rax
movslq (%rax,%rdx,4),%rcx
add    %rax,%rcx
jmp    *%rcx
movslq %esi,%rax
imul   $0x51eb851f,%rax,%rax
mov    %rax,%rcx
shr    $0x3f,%rcx
sar    $0x25,%rax
add    %ecx,%eax
imul   $0x64,%eax,%eax
sub    %eax,%esi
cmp    $0x2,%esi
je     1e0a <pluralform+0xd0a>
cmp    $0x1,%esi
jne    1d59 <pluralform+0xc59>
lea    0x1074(%rip),%rax
ret
cmp    $0x6564,%eax
jle    13c3 <pluralform+0x2c3>
cmp    $0x6760,%eax
jg     1465 <pluralform+0x365>
lea    -0x6565(%rax),%edx
cmp    $0x10,%edx
ja     124e <pluralform+0x14e>
mov    $0x1c681,%ecx
bt     %edx,%ecx
jb     1883 <pluralform+0x783>
add    $0xffff999a,%eax
cmp    $0x13,%eax
ja     1e06 <pluralform+0xd06>
mov    $0x80208,%ecx
bt     %eax,%ecx
jb     1883 <pluralform+0x783>
mov    $0x1001,%ecx
bt     %eax,%ecx
jb     18de <pluralform+0x7de>
jmp    1e06 <pluralform+0xd06>
cmp    $0x70616f,%eax
jle    1326 <pluralform+0x226>
cmp    $0x737378,%eax
jg     154d <pluralform+0x44d>
cmp    $0x736567,%eax
jle    1650 <pluralform+0x550>
lea    -0x736d61(%rax),%edx
cmp    $0x12,%edx
ja     19ee <pluralform+0x8ee>
mov    $0x42301,%ecx
bt     %edx,%ecx
jae    19ee <pluralform+0x8ee>
cmp    $0x1,%esi
lea    0xfcd(%rip),%rax
lea    0xfc0(%rip),%rcx
cmove  %rax,%rcx
cmp    $0x2,%esi
lea    0xfc5(%rip),%rax
cmovne %rcx,%rax
ret
cmp    $0x62656c,%eax
jg     149e <pluralform+0x39e>
cmp    $0x7760,%eax
jle    1676 <pluralform+0x576>
cmp    $0x7a74,%eax
jle    18a7 <pluralform+0x7a7>
cmp    $0x7a75,%eax
je     1883 <pluralform+0x783>
cmp    $0x617361,%eax
je     1883 <pluralform+0x783>
cmp    $0x617374,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
cmp    $0x6b7367,%eax
jg     14da <pluralform+0x3da>
cmp    $0x6b6161,%eax
jle    169c <pluralform+0x59c>
cmp    $0x6b6366,%eax
jle    18cb <pluralform+0x7cb>
cmp    $0x6b6367,%eax
je     1883 <pluralform+0x783>
cmp    $0x6b6b6a,%eax
je     1883 <pluralform+0x783>
cmp    $0x6b7362,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
cmp    $0x6f6c,%eax
jle    157e <pluralform+0x47e>
cmp    $0x7072,%eax
jg     16c2 <pluralform+0x5c2>
lea    -0x6f6d(%rax),%edx
cmp    $0x6,%edx
ja     139c <pluralform+0x29c>
mov    $0x61,%ecx
bt     %edx,%ecx
jb     1883 <pluralform+0x783>
cmp    $0x7061,%eax
je     1883 <pluralform+0x783>
cmp    $0x706c,%eax
jne    1e06 <pluralform+0xd06>
cmp    $0x1,%esi
jne    1bcd <pluralform+0xacd>
lea    0xed0(%rip),%rax
ret
cmp    $0x6360,%eax
jg     1596 <pluralform+0x496>
lea    -0x6265(%rax),%edx
cmp    $0xe,%edx
ja     1700 <pluralform+0x600>
lea    0xc50(%rip),%rax
movslq (%rax,%rdx,4),%rcx
add    %rax,%rcx
jmp    *%rcx
movslq %esi,%rax
test   %esi,%esi
je     1b4f <pluralform+0xa4f>
imul   $0x431bde83,%rax,%rcx
mov    %rcx,%rdx
shr    $0x3f,%rdx
sar    $0x32,%rcx
add    %edx,%ecx
imul   $0xf4240,%ecx,%ecx
mov    %esi,%edx
sub    %ecx,%edx
jne    1b4f <pluralform+0xa4f>
lea    0xe80(%rip),%rax
ret
lea    -0x6b6b(%rax),%edx
cmp    $0xe,%edx
ja     1446 <pluralform+0x346>
mov    $0x4503,%ecx
bt     %edx,%ecx
jb     1883 <pluralform+0x783>
cmp    $0xc,%edx
je     12bb <pluralform+0x1bb>
lea    -0x6973(%rax),%ecx
cmp    $0x2,%ecx
jb     1883 <pluralform+0x783>
cmp    $0x6975,%eax
je     12bb <pluralform+0x1bb>
jmp    1e06 <pluralform+0xd06>
lea    -0x6761(%rax),%edx
cmp    $0x15,%edx
ja     1736 <pluralform+0x636>
lea    0xbf5(%rip),%rax
movslq (%rax,%rdx,4),%rcx
add    %rax,%rcx
jmp    *%rcx
cmp    $0x2,%esi
je     1e0a <pluralform+0xd0a>
cmp    $0x1,%esi
jne    1d49 <pluralform+0xc49>
lea    0xdf5(%rip),%rax
ret
cmp    $0x636871,%eax
jle    17bf <pluralform+0x6bf>
cmp    $0x66696b,%eax
jle    18ef <pluralform+0x7ef>
cmp    $0x66696c,%eax
je     18ba <pluralform+0x7ba>
cmp    $0x667572,%eax
je     1883 <pluralform+0x783>
cmp    $0x677377,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
cmp    $0x6e6167,%eax
jle    17e5 <pluralform+0x6e5>
cmp    $0x6e6e67,%eax
jle    1902 <pluralform+0x802>
cmp    $0x6e6e68,%eax
je     1883 <pluralform+0x783>
cmp    $0x6e736f,%eax
je     18ba <pluralform+0x7ba>
cmp    $0x6e796e,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
lea    -0x7461(%rax),%edx
cmp    $0x12,%edx
ja     153d <pluralform+0x43d>
mov    $0x42411,%ecx
bt     %edx,%ecx
jb     1883 <pluralform+0x783>
mov    $0x900,%ecx
bt     %edx,%ecx
jb     18ba <pluralform+0x7ba>
cmp    $0x7275,%eax
je     176c <pluralform+0x66c>
jmp    1e06 <pluralform+0xd06>
cmp    $0x747a6c,%eax
jg     1825 <pluralform+0x725>
cmp    $0x74656e,%eax
jg     191d <pluralform+0x81d>
cmp    $0x737379,%eax
je     1883 <pluralform+0x783>
cmp    $0x737972,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
add    $0xffff919e,%eax
cmp    $0x17,%eax
ja     1e06 <pluralform+0xd06>
mov    $0x81340d,%ecx
jmp    187a <pluralform+0x77a>
cmp    $0x6460,%eax
jg     1867 <pluralform+0x767>
cmp    $0x6361,%eax
je     1883 <pluralform+0x783>
cmp    $0x6373,%eax
je     19bf <pluralform+0x8bf>
cmp    $0x6379,%eax
jne    1e06 <pluralform+0xd06>
cmp    $0x7,%esi
jae    1e06 <pluralform+0xd06>
movslq %esi,%rax
lea    0xc37(%rip),%rcx
jmp    1a2e <pluralform+0x92e>
add    $0xffff939e,%eax
cmp    $0x14,%eax
ja     1e06 <pluralform+0xd06>
lea    0xb21(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movslq %esi,%rax
imul   $0x66666667,%rax,%rcx
mov    %rcx,%rdx
shr    $0x3f,%rdx
sar    $0x22,%rcx
add    %edx,%ecx
add    %ecx,%ecx
lea    (%rcx,%rcx,4),%ecx
mov    %esi,%edx
sub    %ecx,%edx
cmp    $0x1,%edx
jne    1c2a <pluralform+0xb2a>
imul   $0x51eb851f,%rax,%rax
mov    %rax,%rcx
shr    $0x3f,%rcx
sar    $0x25,%rax
add    %ecx,%eax
imul   $0x64,%eax,%eax
neg    %eax
add    %esi,%eax
add    $0xffffffec,%eax
cmp    $0xfffffff7,%eax
jae    1e06 <pluralform+0xd06>
lea    0xc43(%rip),%rax
ret
cmp    $0x72776a,%eax
jg     1894 <pluralform+0x794>
cmp    $0x706170,%eax
je     1883 <pluralform+0x783>
cmp    $0x726f66,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
cmp    $0x7664,%eax
jg     1938 <pluralform+0x838>
cmp    $0x756b,%eax
je     176c <pluralform+0x66c>
cmp    $0x7572,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
cmp    $0x6a676e,%eax
jg     1953 <pluralform+0x853>
cmp    $0x677577,%eax
je     18ba <pluralform+0x7ba>
cmp    $0x686177,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
lea    -0x7073(%rax),%ecx
cmp    $0x2,%ecx
jb     1883 <pluralform+0x783>
cmp    $0x726d,%eax
je     1883 <pluralform+0x783>
cmp    $0x726f,%eax
jne    1e06 <pluralform+0xd06>
test   %esi,%esi
je     1b47 <pluralform+0xa47>
cmp    $0x1,%esi
jne    1b20 <pluralform+0xa20>
lea    0xb93(%rip),%rax
ret
add    $0xffff9e9a,%eax
cmp    $0xc,%eax
ja     1e06 <pluralform+0xd06>
lea    0x8eb(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
cmp    $0x3,%esi
jae    1c5f <pluralform+0xb5f>
movslq %esi,%rax
lea    0xb4f(%rip),%rcx
jmp    1a2e <pluralform+0x92e>
add    $0xffff979f,%eax
cmp    $0x11,%eax
ja     1e06 <pluralform+0xd06>
lea    0x97d(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
cmp    $0x3,%esi
jae    1c93 <pluralform+0xb93>
movslq %esi,%rax
lea    0xac1(%rip),%rcx
jmp    1a2e <pluralform+0x92e>
movslq %esi,%rax
imul   $0x66666667,%rax,%rcx
mov    %rcx,%rdx
shr    $0x3f,%rdx
sar    $0x22,%rcx
add    %edx,%ecx
add    %ecx,%ecx
lea    (%rcx,%rcx,4),%ecx
mov    %esi,%edx
sub    %ecx,%edx
imul   $0x51eb851f,%rax,%rax
mov    %rax,%rcx
shr    $0x3f,%rcx
sar    $0x25,%rax
add    %ecx,%eax
imul   $0x64,%eax,%eax
sub    %eax,%esi
cmp    $0x1,%edx
jne    1847 <pluralform+0x747>
cmp    $0xb,%esi
je     1847 <pluralform+0x747>
lea    0xad4(%rip),%rax
ret
cmp    $0x627277,%eax
jg     196e <pluralform+0x86e>
cmp    $0x62656d,%eax
je     1883 <pluralform+0x783>
cmp    $0x62657a,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
cmp    $0x6d6172,%eax
jg     1989 <pluralform+0x889>
cmp    $0x6b7368,%eax
je     1802 <pluralform+0x702>
cmp    $0x6c6167,%eax
jne    1e06 <pluralform+0xd06>
cmp    $0x1,%esi
lea    0xa86(%rip),%rax
lea    0xa79(%rip),%rcx
cmove  %rax,%rcx
test   %esi,%esi
lea    0xa7a(%rip),%rax
cmovne %rcx,%rax
ret
cmp    $0x776164,%eax
jg     19a4 <pluralform+0x8a4>
cmp    $0x747a6d,%eax
je     1aff <pluralform+0x9ff>
cmp    $0x76756e,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
lea    -0x2(%rdx),%eax
cmp    $0x2,%eax
ja     19d0 <pluralform+0x8d0>
lea    -0xf(%rsi),%eax
cmp    $0xfffffffd,%eax
jae    19d0 <pluralform+0x8d0>
lea    0xa30(%rip),%rax
ret
add    $0xffff9b9f,%eax
cmp    $0x15,%eax
ja     1e06 <pluralform+0xd06>
mov    $0x200011,%ecx
bt     %eax,%ecx
jae    1e06 <pluralform+0xd06>
cmp    $0x1,%esi
jne    1e06 <pluralform+0xd06>
lea    0x9ff(%rip),%rax
ret
cmp    $0x72776b,%eax
je     1883 <pluralform+0x783>
cmp    $0x736171,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
cmp    $0x7761,%eax
je     18ba <pluralform+0x7ba>
cmp    $0x7868,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
cmp    $0x2,%esi
jae    1e06 <pluralform+0xd06>
lea    0x9c8(%rip),%rax
ret
cmp    $0x6b6162,%eax
je     18de <pluralform+0x7de>
cmp    $0x6b616a,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
cmp    $0x2,%esi
jae    1e06 <pluralform+0xd06>
lea    0x9a4(%rip),%rax
ret
cmp    $0x636872,%eax
je     1883 <pluralform+0x783>
cmp    $0x636b62,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
cmp    $0x6e6168,%eax
je     1883 <pluralform+0x783>
cmp    $0x6e6171,%eax
je     12bb <pluralform+0x1bb>
jmp    1e06 <pluralform+0xd06>
cmp    $0x74656f,%eax
je     1883 <pluralform+0x783>
cmp    $0x746967,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
cmp    $0x7665,%eax
je     1883 <pluralform+0x783>
cmp    $0x766f,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
cmp    $0x6a676f,%eax
je     1883 <pluralform+0x783>
cmp    $0x6a6d63,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
cmp    $0x627278,%eax
je     1883 <pluralform+0x783>
cmp    $0x636767,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
cmp    $0x6d6173,%eax
je     1883 <pluralform+0x783>
cmp    $0x6d676f,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
cmp    $0x776165,%eax
je     1883 <pluralform+0x783>
cmp    $0x786f67,%eax
je     1883 <pluralform+0x783>
jmp    1e06 <pluralform+0xd06>
cmp    $0x1,%esi
jne    1a90 <pluralform+0x990>
lea    0x8c3(%rip),%rax
ret
lea    0x8cc(%rip),%rax
test   %edx,%edx
je     1a35 <pluralform+0x935>
cmp    $0x4,%edx
jg     1a35 <pluralform+0x935>
add    $0xfffffff5,%esi
cmp    $0x4,%esi
jae    1e06 <pluralform+0xd06>
jmp    1a35 <pluralform+0x935>
cmp    $0x736568,%eax
je     1883 <pluralform+0x783>
cmp    $0x736869,%eax
jne    1e06 <pluralform+0xd06>
lea    -0x2(%rsi),%eax
cmp    $0x9,%eax
jae    1ce7 <pluralform+0xbe7>
lea    0x87f(%rip),%rax
ret
add    $0xffffffff,%esi
cmp    $0x13,%esi
jae    1e06 <pluralform+0xd06>
movslq %esi,%rax
lea    0x806(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
ret
imul   $0xcccccccd,%esi,%ecx
add    $0x19999998,%ecx
ror    $0x2,%ecx
lea    0x846(%rip),%rax
cmp    $0xccccccd,%ecx
jb     1a35 <pluralform+0x935>
movslq %esi,%rcx
imul   $0x66666667,%rcx,%rcx
mov    %rcx,%rdx
shr    $0x3f,%rdx
sar    $0x22,%rcx
add    %edx,%ecx
add    %ecx,%ecx
lea    (%rcx,%rcx,4),%ecx
not    %ecx
add    %esi,%ecx
cmp    $0x2,%ecx
jae    1e06 <pluralform+0xd06>
jmp    1a35 <pluralform+0x935>
cmp    $0x1,%esi
jne    1cb3 <pluralform+0xbb3>
lea    0x803(%rip),%rax
ret
add    $0xfffffffe,%esi
cmp    $0x3,%esi
jae    1e06 <pluralform+0xd06>
lea    0x7f3(%rip),%rax
ret
test   %esi,%esi
je     1cf8 <pluralform+0xbf8>
movslq %esi,%rax
imul   $0x66666667,%rax,%rcx
mov    %rcx,%rdx
shr    $0x3f,%rdx
sar    $0x22,%rcx
add    %edx,%ecx
add    %ecx,%ecx
lea    (%rcx,%rcx,4),%ecx
mov    %esi,%edx
sub    %ecx,%edx
cmp    $0x1,%edx
jne    1e06 <pluralform+0xd06>
imul   $0x51eb851f,%rax,%rax
mov    %rax,%rcx
shr    $0x3f,%rcx
sar    $0x25,%rax
add    %ecx,%eax
imul   $0x64,%eax,%eax
sub    %eax,%esi
cmp    $0xb,%esi
je     1e06 <pluralform+0xd06>
lea    0x794(%rip),%rax
ret
lea    0x78c(%rip),%rax
cmp    $0x2,%esi
jb     1a35 <pluralform+0x935>
add    $0xfffffff5,%esi
cmp    $0x59,%esi
jae    1e06 <pluralform+0xd06>
jmp    1a35 <pluralform+0x935>
movslq %esi,%rax
imul   $0x51eb851f,%rax,%rax
mov    %rax,%rcx
shr    $0x3f,%rcx
sar    $0x25,%rax
add    %ecx,%eax
imul   $0x64,%eax,%eax
not    %eax
add    %esi,%eax
cmp    $0x12,%eax
ja     1e06 <pluralform+0xd06>
lea    0x748(%rip),%rax
ret
imul   $0x66666667,%rax,%rcx
mov    %rcx,%rdx
shr    $0x3f,%rdx
sar    $0x22,%rcx
add    %edx,%ecx
add    %ecx,%ecx
lea    (%rcx,%rcx,4),%edx
not    %edx
add    %esi,%edx
cmp    $0x8,%edx
ja     1e06 <pluralform+0xd06>
lea    0x66c(%rip),%rcx
movslq (%rcx,%rdx,4),%rdx
add    %rcx,%rdx
jmp    *%rdx
imul   $0x51eb851f,%rax,%rax
mov    %rax,%rcx
shr    $0x3f,%rcx
sar    $0x25,%rax
add    %ecx,%eax
imul   $0x64,%eax,%eax
mov    %eax,%ecx
neg    %ecx
add    %esi,%ecx
add    $0xffffffec,%ecx
cmp    $0xfffffff5,%ecx
ja     1e06 <pluralform+0xd06>
sub    %eax,%esi
cmp    $0x59,%esi
jg     1e06 <pluralform+0xd06>
add    $0xffffffb0,%esi
cmp    $0xfffffff6,%esi
jae    1e06 <pluralform+0xd06>
lea    0x6ca(%rip),%rax
ret
movslq %esi,%rdx
imul   $0x66666667,%rdx,%rax
mov    %rax,%rcx
shr    $0x3f,%rcx
sar    $0x22,%rax
add    %ecx,%eax
add    %eax,%eax
lea    (%rax,%rax,4),%eax
mov    %eax,%ecx
neg    %ecx
add    %esi,%ecx
add    $0xfffffffe,%ecx
cmp    $0x2,%ecx
ja     1d00 <pluralform+0xc00>
imul   $0x51eb851f,%rdx,%rcx
mov    %rcx,%rdi
shr    $0x3f,%rdi
sar    $0x25,%rcx
add    %edi,%ecx
imul   $0x64,%ecx,%ecx
neg    %ecx
add    %esi,%ecx
add    $0xfffffff1,%ecx
cmp    $0xfffffffd,%ecx
jae    1d00 <pluralform+0xc00>
lea    0x66d(%rip),%rax
ret
jle    1e06 <pluralform+0xd06>
imul   $0x51eb851f,%rax,%rax
mov    %rax,%rcx
shr    $0x3f,%rcx
sar    $0x25,%rax
add    %ecx,%eax
imul   $0x64,%eax,%eax
neg    %eax
add    %esi,%eax
add    $0xffffffec,%eax
cmp    $0xfffffff7,%eax
jae    1e06 <pluralform+0xd06>
lea    0x638(%rip),%rax
ret
movslq %esi,%rax
imul   $0x51eb851f,%rax,%rax
mov    %rax,%rcx
shr    $0x3f,%rcx
sar    $0x25,%rax
add    %ecx,%eax
imul   $0x64,%eax,%eax
mov    %eax,%ecx
neg    %ecx
add    %esi,%ecx
add    $0xfffffffd,%ecx
cmp    $0x8,%ecx
jae    1d6d <pluralform+0xc6d>
lea    0x604(%rip),%rax
ret
imul   $0xcccccccd,%esi,%eax
add    $0x19999998,%eax
ror    %eax
cmp    $0x19999999,%eax
jae    1e06 <pluralform+0xd06>
lea    0x5f1(%rip),%rax
ret
movslq %esi,%rax
imul   $0x51eb851f,%rax,%rax
mov    %rax,%rcx
shr    $0x3f,%rcx
sar    $0x25,%rax
add    %ecx,%eax
imul   $0x64,%eax,%edx
mov    %edx,%eax
neg    %eax
add    %esi,%eax
add    $0xfffffff5,%eax
cmp    $0x9,%eax
jae    1d80 <pluralform+0xc80>
lea    0x5bd(%rip),%rax
ret
cmp    $0x2,%esi
jae    1e06 <pluralform+0xd06>
lea    0x59b(%rip),%rax
ret
lea    0x59b(%rip),%rax
ret
mov    %esi,%edi
sub    %eax,%edi
lea    0x598(%rip),%rax
cmp    $0x2,%edi
jb     1a35 <pluralform+0x935>
cmp    $0x4,%edi
jg     1a35 <pluralform+0x935>
imul   $0x51eb851f,%rdx,%rcx
mov    %rcx,%rdx
shr    $0x3f,%rdx
sar    $0x25,%rcx
add    %edx,%ecx
imul   $0x64,%ecx,%ecx
neg    %ecx
add    %esi,%ecx
add    $0xfffffff4,%ecx
cmp    $0x3,%ecx
jb     1a35 <pluralform+0x935>
jmp    1e06 <pluralform+0xd06>
lea    -0x3(%rsi),%eax
cmp    $0x4,%eax
jae    1d9e <pluralform+0xc9e>
lea    0x53e(%rip),%rax
ret
add    $0xfffffffd,%esi
cmp    $0x2,%esi
jae    1e06 <pluralform+0xd06>
lea    0x52a(%rip),%rax
ret
sub    %eax,%esi
cmp    $0xa,%esi
jle    1e06 <pluralform+0xd06>
lea    0x524(%rip),%rax
ret
lea    0x50f(%rip),%rax
test   %esi,%esi
je     1a35 <pluralform+0x935>
sub    %edx,%esi
add    $0xfffffffe,%esi
cmp    $0x9,%esi
jae    1e06 <pluralform+0xd06>
jmp    1a35 <pluralform+0x935>
add    $0xfffffff9,%esi
cmp    $0x4,%esi
jae    1e06 <pluralform+0xd06>
lea    0x4f6(%rip),%rax
ret
imul   $0x51eb851f,%rax,%rax
mov    %rax,%rcx
shr    $0x3f,%rcx
sar    $0x25,%rax
add    %ecx,%eax
imul   $0x64,%eax,%eax
sub    %eax,%esi
cmp    $0xb,%esi
je     1e06 <pluralform+0xd06>
cmp    $0x47,%esi
je     1e06 <pluralform+0xd06>
cmp    $0x5b,%esi
je     1e06 <pluralform+0xd06>
lea    0x4b5(%rip),%rax
ret
imul   $0x51eb851f,%rax,%rax
mov    %rax,%rcx
shr    $0x3f,%rcx
sar    $0x25,%rax
add    %ecx,%eax
imul   $0x64,%eax,%eax
sub    %eax,%esi
cmp    $0xc,%esi
je     1e06 <pluralform+0xd06>
cmp    $0x48,%esi
je     1e06 <pluralform+0xd06>
cmp    $0x5c,%esi
jne    1e0a <pluralform+0xd0a>
mov    %r8,%rax
ret
lea    0x48e(%rip),%rax
ret

LLVM IR (-O0):
@.str = [6 x i8] c"other\00"
@.str.1 = [4 x i8] c"one\00"
@.str.2 = [4 x i8] c"few\00"
@.str.3 = [5 x i8] c"zero\00"
@.str.4 = [4 x i8] c"two\00"
@.str.5 = [5 x i8] c"many\00"
define i8* @pluralform(i8* %0, i32 %1) {
%3 = alloca i8*
%4 = alloca i8*
%5 = alloca i32
%6 = alloca i32
store i8* %0, i8** %4
store i32 %1, i32* %5
%7 = load i8*, i8** %4
%8 = icmp ne i8* %7, null
br i1 %8, label %10, label %9
9: ; preds = %2
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8** %3
br label %561
10: ; preds = %2
store i32 0, i32* %6
br label %11
11: ; preds = %22, %10
%12 = load i8*, i8** %4
%13 = load i8, i8* %12
%14 = icmp ne i8 %13, 0
br i1 %14, label %15, label %25
15: ; preds = %11
%16 = load i32, i32* %6
%17 = shl i32 %16, 8
%18 = load i8*, i8** %4
%19 = load i8, i8* %18
%20 = sext i8 %19 to i32
%21 = add i32 %17, %20
store i32 %21, i32* %6
br label %22
22: ; preds = %15
%23 = load i8*, i8** %4
%24 = getelementptr inbounds i8, i8* %23, i32 1
store i8* %24, i8** %4
br label %11
25: ; preds = %11
%26 = load i32, i32* %6
switch i32 %26, label %560 [
i32 27764, label %27
i32 27766, label %58
i32 25465, label %72
i32 25189, label %93
i32 25203, label %93
i32 26738, label %93
i32 29301, label %93
i32 29544, label %93
i32 29554, label %93
i32 30059, label %93
i32 7041896, label %141
i32 7563369, label %150
i32 26725, label %165
i32 25459, label %182
i32 29547, label %182
i32 25202, label %194
i32 29548, label %274
i32 7102823, label %294
i32 28780, label %312
i32 26468, label %362
i32 26486, label %390
i32 28011, label %404
i32 28020, label %413
i32 28015, label %439
i32 29295, label %439
i32 26465, label %459
i32 26214, label %482
i32 26226, label %482
i32 7037282, label %482
i32 26997, label %493
i32 27511, label %493
i32 29541, label %493
i32 7233905, label %493
i32 7564641, label %493
i32 7564649, label %493
i32 7564650, label %493
i32 7564654, label %493
i32 7564659, label %493
i32 24939, label %502
i32 24941, label %502
i32 25192, label %502
i32 26729, label %502
i32 27758, label %502
i32 28007, label %502
i32 29801, label %502
i32 29804, label %502
i32 30561, label %502
i32 6711660, label %502
i32 6780279, label %502
i32 7238511, label %502
i32 7633517, label %510
i32 24934, label %524
i32 25191, label %524
i32 25198, label %524
i32 25441, label %524
i32 25697, label %524
i32 25701, label %524
i32 25718, label %524
i32 25957, label %524
i32 25964, label %524
i32 25966, label %524
i32 25967, label %524
i32 25971, label %524
i32 25972, label %524
i32 25973, label %524
i32 26217, label %524
i32 26223, label %524
i32 26233, label %524
i32 26476, label %524
i32 26485, label %524
i32 26721, label %524
i32 26995, label %524
i32 26996, label %524
i32 27499, label %524
i32 27500, label %524
i32 27507, label %524
i32 27509, label %524
i32 27513, label %524
i32 27746, label %524
i32 27751, label %524
i32 28012, label %524
i32 28014, label %524
i32 28018, label %524
i32 28258, label %524
i32 28260, label %524
i32 28261, label %524
i32 28268, label %524
i32 28270, label %524
i32 28271, label %524
i32 28274, label %524
i32 28281, label %524
i32 28525, label %524
i32 28530, label %524
i32 28531, label %524
i32 28769, label %524
i32 28787, label %524
i32 28788, label %524
i32 29293, label %524
i32 29550, label %524
i32 29551, label %524
i32 29553, label %524
i32 29555, label %524
i32 29556, label %524
i32 29558, label %524
i32 29559, label %524
i32 29793, label %524
i32 29797, label %524
i32 29803, label %524
i32 29806, label %524
i32 29811, label %524
i32 30066, label %524
i32 30309, label %524
i32 30319, label %524
i32 30824, label %524
i32 31349, label %524
i32 6386529, label %524
i32 6386548, label %524
i32 6448493, label %524
i32 6448506, label %524
i32 6451832, label %524
i32 6514535, label %524
i32 6514802, label %524
i32 6515554, label %524
i32 6714738, label %524
i32 6779767, label %524
i32 6840695, label %524
i32 6973295, label %524
i32 6974819, label %524
i32 7037290, label %524
i32 7037799, label %524
i32 7039850, label %524
i32 7041890, label %524
i32 7168371, label %524
i32 7169903, label %524
i32 7233896, label %524
i32 7237224, label %524
i32 7240046, label %524
i32 7364976, label %524
i32 7499622, label %524
i32 7501675, label %524
i32 7561585, label %524
i32 7562600, label %524
i32 7566201, label %524
i32 7567730, label %524
i32 7628143, label %524
i32 7629159, label %524
i32 7763310, label %524
i32 7823717, label %524
i32 7892839, label %524
i32 24946, label %529
]
27: ; preds = %25
%28 = load i32, i32* %5
%29 = srem i32 %28, 10
%30 = icmp eq i32 %29, 1
br i1 %30, label %31, label %40
31: ; preds = %27
%32 = load i32, i32* %5
%33 = srem i32 %32, 100
%34 = icmp slt i32 %33, 11
br i1 %34, label %39, label %35
35: ; preds = %31
%36 = load i32, i32* %5
%37 = srem i32 %36, 100
%38 = icmp sgt i32 %37, 19
br i1 %38, label %39, label %40
39: ; preds = %35, %31
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
40: ; preds = %35, %27
%41 = load i32, i32* %5
%42 = srem i32 %41, 10
%43 = icmp sge i32 %42, 2
br i1 %43, label %44, label %57
44: ; preds = %40
%45 = load i32, i32* %5
%46 = srem i32 %45, 10
%47 = icmp sle i32 %46, 9
br i1 %47, label %48, label %57
48: ; preds = %44
%49 = load i32, i32* %5
%50 = srem i32 %49, 100
%51 = icmp slt i32 %50, 11
br i1 %51, label %56, label %52
52: ; preds = %48
%53 = load i32, i32* %5
%54 = srem i32 %53, 100
%55 = icmp sgt i32 %54, 19
br i1 %55, label %56, label %57
56: ; preds = %52, %48
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8** %3
br label %561
57: ; preds = %52, %44, %40
br label %560
58: ; preds = %25
%59 = load i32, i32* %5
%60 = icmp eq i32 %59, 0
br i1 %60, label %61, label %62
61: ; preds = %58
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), i8** %3
br label %561
62: ; preds = %58
%63 = load i32, i32* %5
%64 = srem i32 %63, 10
%65 = icmp eq i32 %64, 1
br i1 %65, label %66, label %71
66: ; preds = %62
%67 = load i32, i32* %5
%68 = srem i32 %67, 100
%69 = icmp ne i32 %68, 11
br i1 %69, label %70, label %71
70: ; preds = %66
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
71: ; preds = %66, %62
br label %560
72: ; preds = %25
%73 = load i32, i32* %5
%74 = icmp eq i32 %73, 2
br i1 %74, label %75, label %76
75: ; preds = %72
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.4, i64 0, i64 0), i8** %3
br label %561
76: ; preds = %72
%77 = load i32, i32* %5
%78 = icmp eq i32 %77, 3
br i1 %78, label %79, label %80
79: ; preds = %76
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8** %3
br label %561
80: ; preds = %76
%81 = load i32, i32* %5
%82 = icmp eq i32 %81, 0
br i1 %82, label %83, label %84
83: ; preds = %80
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), i8** %3
br label %561
84: ; preds = %80
%85 = load i32, i32* %5
%86 = icmp eq i32 %85, 1
br i1 %86, label %87, label %88
87: ; preds = %84
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
88: ; preds = %84
%89 = load i32, i32* %5
%90 = icmp eq i32 %89, 6
br i1 %90, label %91, label %92
91: ; preds = %88
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), i8** %3
br label %561
92: ; preds = %88
br label %560
93: ; preds = %25, %25, %25, %25, %25, %25, %25
%94 = load i32, i32* %5
%95 = srem i32 %94, 10
%96 = icmp eq i32 %95, 1
br i1 %96, label %97, label %102
97: ; preds = %93
%98 = load i32, i32* %5
%99 = srem i32 %98, 100
%100 = icmp ne i32 %99, 11
br i1 %100, label %101, label %102
101: ; preds = %97
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
102: ; preds = %97, %93
%103 = load i32, i32* %5
%104 = srem i32 %103, 10
%105 = icmp sge i32 %104, 2
br i1 %105, label %106, label %119
106: ; preds = %102
%107 = load i32, i32* %5
%108 = srem i32 %107, 10
%109 = icmp sle i32 %108, 4
br i1 %109, label %110, label %119
110: ; preds = %106
%111 = load i32, i32* %5
%112 = srem i32 %111, 100
%113 = icmp slt i32 %112, 12
br i1 %113, label %118, label %114
114: ; preds = %110
%115 = load i32, i32* %5
%116 = srem i32 %115, 100
%117 = icmp sgt i32 %116, 14
br i1 %117, label %118, label %119
118: ; preds = %114, %110
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8** %3
br label %561
119: ; preds = %114, %106, %102
%120 = load i32, i32* %5
%121 = srem i32 %120, 10
%122 = icmp eq i32 %121, 0
br i1 %122, label %139, label %123
123: ; preds = %119
%124 = load i32, i32* %5
%125 = srem i32 %124, 10
%126 = icmp sge i32 %125, 5
br i1 %126, label %127, label %131
127: ; preds = %123
%128 = load i32, i32* %5
%129 = srem i32 %128, 10
%130 = icmp sle i32 %129, 9
br i1 %130, label %139, label %131
131: ; preds = %127, %123
%132 = load i32, i32* %5
%133 = srem i32 %132, 100
%134 = icmp sge i32 %133, 11
br i1 %134, label %135, label %140
135: ; preds = %131
%136 = load i32, i32* %5
%137 = srem i32 %136, 100
%138 = icmp sle i32 %137, 14
br i1 %138, label %139, label %140
139: ; preds = %135, %127, %119
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), i8** %3
br label %561
140: ; preds = %135, %131
br label %560
141: ; preds = %25
%142 = load i32, i32* %5
%143 = icmp eq i32 %142, 0
br i1 %143, label %144, label %145
144: ; preds = %141
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), i8** %3
br label %561
145: ; preds = %141
%146 = load i32, i32* %5
%147 = icmp eq i32 %146, 1
br i1 %147, label %148, label %149
148: ; preds = %145
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
149: ; preds = %145
br label %560
150: ; preds = %25
%151 = load i32, i32* %5
%152 = icmp sge i32 %151, 2
br i1 %152, label %153, label %157
153: ; preds = %150
%154 = load i32, i32* %5
%155 = icmp sle i32 %154, 10
br i1 %155, label %156, label %157
156: ; preds = %153
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8** %3
br label %561
157: ; preds = %153, %150
%158 = load i32, i32* %5
%159 = icmp sge i32 %158, 0
br i1 %159, label %160, label %164
160: ; preds = %157
%161 = load i32, i32* %5
%162 = icmp sle i32 %161, 1
br i1 %162, label %163, label %164
163: ; preds = %160
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
164: ; preds = %160, %157
br label %560
165: ; preds = %25
%166 = load i32, i32* %5
%167 = icmp eq i32 %166, 2
br i1 %167, label %168, label %169
168: ; preds = %165
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.4, i64 0, i64 0), i8** %3
br label %561
169: ; preds = %165
%170 = load i32, i32* %5
%171 = icmp eq i32 %170, 1
br i1 %171, label %172, label %173
172: ; preds = %169
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
173: ; preds = %169
%174 = load i32, i32* %5
%175 = icmp ne i32 %174, 0
br i1 %175, label %176, label %181
176: ; preds = %173
%177 = load i32, i32* %5
%178 = srem i32 %177, 10
%179 = icmp eq i32 %178, 0
br i1 %179, label %180, label %181
180: ; preds = %176
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), i8** %3
br label %561
181: ; preds = %176, %173
br label %560
182: ; preds = %25, %25
%183 = load i32, i32* %5
%184 = icmp eq i32 %183, 1
br i1 %184, label %185, label %186
185: ; preds = %182
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
186: ; preds = %182
%187 = load i32, i32* %5
%188 = icmp sge i32 %187, 2
br i1 %188, label %189, label %193
189: ; preds = %186
%190 = load i32, i32* %5
%191 = icmp sle i32 %190, 4
br i1 %191, label %192, label %193
192: ; preds = %189
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8** %3
br label %561
193: ; preds = %189, %186
br label %560
194: ; preds = %25
%195 = load i32, i32* %5
%196 = icmp ne i32 %195, 0
br i1 %196, label %197, label %202
197: ; preds = %194
%198 = load i32, i32* %5
%199 = srem i32 %198, 1000000
%200 = icmp eq i32 %199, 0
br i1 %200, label %201, label %202
201: ; preds = %197
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), i8** %3
br label %561
202: ; preds = %197, %194
%203 = load i32, i32* %5
%204 = srem i32 %203, 10
%205 = icmp eq i32 %204, 1
br i1 %205, label %206, label %219
206: ; preds = %202
%207 = load i32, i32* %5
%208 = srem i32 %207, 100
%209 = icmp ne i32 %208, 11
br i1 %209, label %210, label %219
210: ; preds = %206
%211 = load i32, i32* %5
%212 = srem i32 %211, 100
%213 = icmp ne i32 %212, 71
br i1 %213, label %214, label %219
214: ; preds = %210
%215 = load i32, i32* %5
%216 = srem i32 %215, 100
%217 = icmp ne i32 %216, 91
br i1 %217, label %218, label %219
218: ; preds = %214
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
219: ; preds = %214, %210, %206, %202
%220 = load i32, i32* %5
%221 = srem i32 %220, 10
%222 = icmp eq i32 %221, 2
br i1 %222, label %223, label %236
223: ; preds = %219
%224 = load i32, i32* %5
%225 = srem i32 %224, 100
%226 = icmp ne i32 %225, 12
br i1 %226, label %227, label %236
227: ; preds = %223
%228 = load i32, i32* %5
%229 = srem i32 %228, 100
%230 = icmp ne i32 %229, 72
br i1 %230, label %231, label %236
231: ; preds = %227
%232 = load i32, i32* %5
%233 = srem i32 %232, 100
%234 = icmp ne i32 %233, 92
br i1 %234, label %235, label %236
235: ; preds = %231
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.4, i64 0, i64 0), i8** %3
br label %561
236: ; preds = %231, %227, %223, %219
%237 = load i32, i32* %5
%238 = srem i32 %237, 10
%239 = icmp sge i32 %238, 3
br i1 %239, label %240, label %244
240: ; preds = %236
%241 = load i32, i32* %5
%242 = srem i32 %241, 10
%243 = icmp sle i32 %242, 4
br i1 %243, label %248, label %244
244: ; preds = %240, %236
%245 = load i32, i32* %5
%246 = srem i32 %245, 10
%247 = icmp eq i32 %246, 9
br i1 %247, label %248, label %273
248: ; preds = %244, %240
%249 = load i32, i32* %5
%250 = srem i32 %249, 100
%251 = icmp slt i32 %250, 10
br i1 %251, label %256, label %252
252: ; preds = %248
%253 = load i32, i32* %5
%254 = srem i32 %253, 100
%255 = icmp sgt i32 %254, 19
br i1 %255, label %256, label %273
256: ; preds = %252, %248
%257 = load i32, i32* %5
%258 = srem i32 %257, 100
%259 = icmp slt i32 %258, 70
br i1 %259, label %264, label %260
260: ; preds = %256
%261 = load i32, i32* %5
%262 = srem i32 %261, 100
%263 = icmp sgt i32 %262, 79
br i1 %263, label %264, label %273
264: ; preds = %260, %256
%265 = load i32, i32* %5
%266 = srem i32 %265, 100
%267 = icmp slt i32 %266, 90
br i1 %267, label %272, label %268
268: ; preds = %264
%269 = load i32, i32* %5
%270 = srem i32 %269, 100
%271 = icmp sgt i32 %270, 99
br i1 %271, label %272, label %273
272: ; preds = %268, %264
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8** %3
br label %561
273: ; preds = %268, %260, %252, %244
br label %560
274: ; preds = %25
%275 = load i32, i32* %5
%276 = srem i32 %275, 100
%277 = icmp eq i32 %276, 2
br i1 %277, label %278, label %279
278: ; preds = %274
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.4, i64 0, i64 0), i8** %3
br label %561
279: ; preds = %274
%280 = load i32, i32* %5
%281 = srem i32 %280, 100
%282 = icmp eq i32 %281, 1
br i1 %282, label %283, label %284
283: ; preds = %279
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
284: ; preds = %279
%285 = load i32, i32* %5
%286 = srem i32 %285, 100
%287 = icmp sge i32 %286, 3
br i1 %287, label %288, label %293
288: ; preds = %284
%289 = load i32, i32* %5
%290 = srem i32 %289, 100
%291 = icmp sle i32 %290, 4
br i1 %291, label %292, label %293
292: ; preds = %288
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8** %3
br label %561
293: ; preds = %288, %284
br label %560
294: ; preds = %25
%295 = load i32, i32* %5
%296 = icmp eq i32 %295, 0
br i1 %296, label %297, label %298
297: ; preds = %294
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), i8** %3
br label %561
298: ; preds = %294
%299 = load i32, i32* %5
%300 = icmp sge i32 %299, 0
br i1 %300, label %301, label %311
301: ; preds = %298
%302 = load i32, i32* %5
%303 = icmp sle i32 %302, 2
br i1 %303, label %304, label %311
304: ; preds = %301
%305 = load i32, i32* %5
%306 = icmp ne i32 %305, 0
br i1 %306, label %307, label %311
307: ; preds = %304
%308 = load i32, i32* %5
%309 = icmp ne i32 %308, 2
br i1 %309, label %310, label %311
310: ; preds = %307
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
311: ; preds = %307, %304, %301, %298
br label %560
312: ; preds = %25
%313 = load i32, i32* %5
%314 = icmp eq i32 %313, 1
br i1 %314, label %315, label %316
315: ; preds = %312
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
316: ; preds = %312
%317 = load i32, i32* %5
%318 = srem i32 %317, 10
%319 = icmp sge i32 %318, 2
br i1 %319, label %320, label %333
320: ; preds = %316
%321 = load i32, i32* %5
%322 = srem i32 %321, 10
%323 = icmp sle i32 %322, 4
br i1 %323, label %324, label %333
324: ; preds = %320
%325 = load i32, i32* %5
%326 = srem i32 %325, 100
%327 = icmp slt i32 %326, 12
br i1 %327, label %332, label %328
328: ; preds = %324
%329 = load i32, i32* %5
%330 = srem i32 %329, 100
%331 = icmp sgt i32 %330, 14
br i1 %331, label %332, label %333
332: ; preds = %328, %324
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8** %3
br label %561
333: ; preds = %328, %320, %316
%334 = load i32, i32* %5
%335 = icmp ne i32 %334, 1
br i1 %335, label %336, label %344
336: ; preds = %333
%337 = load i32, i32* %5
%338 = srem i32 %337, 10
%339 = icmp sge i32 %338, 0
br i1 %339, label %340, label %344
340: ; preds = %336
%341 = load i32, i32* %5
%342 = srem i32 %341, 10
%343 = icmp sle i32 %342, 1
br i1 %343, label %360, label %344
344: ; preds = %340, %336, %333
%345 = load i32, i32* %5
%346 = srem i32 %345, 10
%347 = icmp sge i32 %346, 5
br i1 %347, label %348, label %352
348: ; preds = %344
%349 = load i32, i32* %5
%350 = srem i32 %349, 10
%351 = icmp sle i32 %350, 9
br i1 %351, label %360, label %352
352: ; preds = %348, %344
%353 = load i32, i32* %5
%354 = srem i32 %353, 100
%355 = icmp sge i32 %354, 12
br i1 %355, label %356, label %361
356: ; preds = %352
%357 = load i32, i32* %5
%358 = srem i32 %357, 100
%359 = icmp sle i32 %358, 14
br i1 %359, label %360, label %361
360: ; preds = %356, %348, %340
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), i8** %3
br label %561
361: ; preds = %356, %352
br label %560
362: ; preds = %25
%363 = load i32, i32* %5
%364 = icmp eq i32 %363, 2
br i1 %364, label %368, label %365
365: ; preds = %362
%366 = load i32, i32* %5
%367 = icmp eq i32 %366, 12
br i1 %367, label %368, label %369
368: ; preds = %365, %362
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.4, i64 0, i64 0), i8** %3
br label %561
369: ; preds = %365
%370 = load i32, i32* %5
%371 = icmp eq i32 %370, 1
br i1 %371, label %375, label %372
372: ; preds = %369
%373 = load i32, i32* %5
%374 = icmp eq i32 %373, 11
br i1 %374, label %375, label %376
375: ; preds = %372, %369
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
376: ; preds = %372
%377 = load i32, i32* %5
%378 = icmp sge i32 %377, 3
br i1 %378, label %379, label %382
379: ; preds = %376
%380 = load i32, i32* %5
%381 = icmp sle i32 %380, 10
br i1 %381, label %388, label %382
382: ; preds = %379, %376
%383 = load i32, i32* %5
%384 = icmp sge i32 %383, 13
br i1 %384, label %385, label %389
385: ; preds = %382
%386 = load i32, i32* %5
%387 = icmp sle i32 %386, 19
br i1 %387, label %388, label %389
388: ; preds = %385, %379
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8** %3
br label %561
389: ; preds = %385, %382
br label %560
390: ; preds = %25
%391 = load i32, i32* %5
%392 = srem i32 %391, 10
%393 = icmp sge i32 %392, 1
br i1 %393, label %394, label %398
394: ; preds = %390
%395 = load i32, i32* %5
%396 = srem i32 %395, 10
%397 = icmp sle i32 %396, 2
br i1 %397, label %402, label %398
398: ; preds = %394, %390
%399 = load i32, i32* %5
%400 = srem i32 %399, 20
%401 = icmp eq i32 %400, 0
br i1 %401, label %402, label %403
402: ; preds = %398, %394
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
403: ; preds = %398
br label %560
404: ; preds = %25
%405 = load i32, i32* %5
%406 = srem i32 %405, 10
%407 = icmp eq i32 %406, 1
br i1 %407, label %408, label %412
408: ; preds = %404
%409 = load i32, i32* %5
%410 = icmp ne i32 %409, 11
br i1 %410, label %411, label %412
411: ; preds = %408
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
412: ; preds = %408, %404
br label %560
413: ; preds = %25
%414 = load i32, i32* %5
%415 = icmp eq i32 %414, 1
br i1 %415, label %416, label %417
416: ; preds = %413
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
417: ; preds = %413
%418 = load i32, i32* %5
%419 = srem i32 %418, 100
%420 = icmp sge i32 %419, 11
br i1 %420, label %421, label %426
421: ; preds = %417
%422 = load i32, i32* %5
%423 = srem i32 %422, 100
%424 = icmp sle i32 %423, 19
br i1 %424, label %425, label %426
425: ; preds = %421
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), i8** %3
br label %561
426: ; preds = %421, %417
%427 = load i32, i32* %5
%428 = icmp eq i32 %427, 0
br i1 %428, label %437, label %429
429: ; preds = %426
%430 = load i32, i32* %5
%431 = srem i32 %430, 100
%432 = icmp sge i32 %431, 2
br i1 %432, label %433, label %438
433: ; preds = %429
%434 = load i32, i32* %5
%435 = srem i32 %434, 100
%436 = icmp sle i32 %435, 10
br i1 %436, label %437, label %438
437: ; preds = %433, %426
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8** %3
br label %561
438: ; preds = %433, %429
br label %560
439: ; preds = %25, %25
%440 = load i32, i32* %5
%441 = icmp eq i32 %440, 1
br i1 %441, label %442, label %443
442: ; preds = %439
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
443: ; preds = %439
%444 = load i32, i32* %5
%445 = icmp eq i32 %444, 0
br i1 %445, label %457, label %446
446: ; preds = %443
%447 = load i32, i32* %5
%448 = icmp ne i32 %447, 1
br i1 %448, label %449, label %458
449: ; preds = %446
%450 = load i32, i32* %5
%451 = srem i32 %450, 100
%452 = icmp sge i32 %451, 1
br i1 %452, label %453, label %458
453: ; preds = %449
%454 = load i32, i32* %5
%455 = srem i32 %454, 100
%456 = icmp sle i32 %455, 19
br i1 %456, label %457, label %458
457: ; preds = %453, %443
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8** %3
br label %561
458: ; preds = %453, %449, %446
br label %560
459: ; preds = %25
%460 = load i32, i32* %5
%461 = icmp eq i32 %460, 2
br i1 %461, label %462, label %463
462: ; preds = %459
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.4, i64 0, i64 0), i8** %3
br label %561
463: ; preds = %459
%464 = load i32, i32* %5
%465 = icmp eq i32 %464, 1
br i1 %465, label %466, label %467
466: ; preds = %463
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
467: ; preds = %463
%468 = load i32, i32* %5
%469 = icmp sge i32 %468, 3
br i1 %469, label %470, label %474
470: ; preds = %467
%471 = load i32, i32* %5
%472 = icmp sle i32 %471, 6
br i1 %472, label %473, label %474
473: ; preds = %470
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8** %3
br label %561
474: ; preds = %470, %467
%475 = load i32, i32* %5
%476 = icmp sge i32 %475, 7
br i1 %476, label %477, label %481
477: ; preds = %474
%478 = load i32, i32* %5
%479 = icmp sle i32 %478, 10
br i1 %479, label %480, label %481
480: ; preds = %477
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), i8** %3
br label %561
481: ; preds = %477, %474
br label %560
482: ; preds = %25, %25, %25
%483 = load i32, i32* %5
%484 = icmp sge i32 %483, 0
br i1 %484, label %485, label %492
485: ; preds = %482
%486 = load i32, i32* %5
%487 = icmp sle i32 %486, 2
br i1 %487, label %488, label %492
488: ; preds = %485
%489 = load i32, i32* %5
%490 = icmp ne i32 %489, 2
br i1 %490, label %491, label %492
491: ; preds = %488
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
492: ; preds = %488, %485, %482
br label %560
493: ; preds = %25, %25, %25, %25, %25, %25, %25, %25, %25
%494 = load i32, i32* %5
%495 = icmp eq i32 %494, 2
br i1 %495, label %496, label %497
496: ; preds = %493
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.4, i64 0, i64 0), i8** %3
br label %561
497: ; preds = %493
%498 = load i32, i32* %5
%499 = icmp eq i32 %498, 1
br i1 %499, label %500, label %501
500: ; preds = %497
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
501: ; preds = %497
br label %560
502: ; preds = %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25
%503 = load i32, i32* %5
%504 = icmp sge i32 %503, 0
br i1 %504, label %505, label %509
505: ; preds = %502
%506 = load i32, i32* %5
%507 = icmp sle i32 %506, 1
br i1 %507, label %508, label %509
508: ; preds = %505
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
509: ; preds = %505, %502
br label %560
510: ; preds = %25
%511 = load i32, i32* %5
%512 = icmp sge i32 %511, 0
br i1 %512, label %513, label %516
513: ; preds = %510
%514 = load i32, i32* %5
%515 = icmp sle i32 %514, 1
br i1 %515, label %522, label %516
516: ; preds = %513, %510
%517 = load i32, i32* %5
%518 = icmp sge i32 %517, 11
br i1 %518, label %519, label %523
519: ; preds = %516
%520 = load i32, i32* %5
%521 = icmp sle i32 %520, 99
br i1 %521, label %522, label %523
522: ; preds = %519, %513
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
523: ; preds = %519, %516
br label %560
524: ; preds = %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25, %25
%525 = load i32, i32* %5
%526 = icmp eq i32 %525, 1
br i1 %526, label %527, label %528
527: ; preds = %524
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
528: ; preds = %524
br label %560
529: ; preds = %25
%530 = load i32, i32* %5
%531 = icmp eq i32 %530, 2
br i1 %531, label %532, label %533
532: ; preds = %529
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.4, i64 0, i64 0), i8** %3
br label %561
533: ; preds = %529
%534 = load i32, i32* %5
%535 = icmp eq i32 %534, 1
br i1 %535, label %536, label %537
536: ; preds = %533
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %561
537: ; preds = %533
%538 = load i32, i32* %5
%539 = icmp eq i32 %538, 0
br i1 %539, label %540, label %541
540: ; preds = %537
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), i8** %3
br label %561
541: ; preds = %537
%542 = load i32, i32* %5
%543 = srem i32 %542, 100
%544 = icmp sge i32 %543, 3
br i1 %544, label %545, label %550
545: ; preds = %541
%546 = load i32, i32* %5
%547 = srem i32 %546, 100
%548 = icmp sle i32 %547, 10
br i1 %548, label %549, label %550
549: ; preds = %545
store i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i8** %3
br label %561
550: ; preds = %545, %541
%551 = load i32, i32* %5
%552 = srem i32 %551, 100
%553 = icmp sge i32 %552, 11
br i1 %553, label %554, label %559
554: ; preds = %550
%555 = load i32, i32* %5
%556 = srem i32 %555, 100
%557 = icmp sle i32 %556, 99
br i1 %557, label %558, label %559
558: ; preds = %554
store i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), i8** %3
br label %561
559: ; preds = %554, %550
br label %560
560: ; preds = %25, %559, %528, %523, %509, %501, %492, %481, %458, %438, %412, %403, %389, %361, %311, %293, %273, %193, %181, %164, %149, %140, %92, %71, %57
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), i8** %3
br label %561
561: ; preds = %560, %558, %549, %540, %536, %532, %527, %522, %508, %500, %496, %491, %480, %473, %466, %462, %457, %442, %437, %425, %416, %411, %402, %388, %375, %368, %360, %332, %315, %310, %297, %292, %283, %278, %272, %235, %218, %201, %192, %185, %180, %172, %168, %163, %156, %148, %144, %139, %118, %101, %91, %87, %83, %79, %75, %70, %61, %56, %39, %9
%562 = load i8*, i8** %3
ret i8* %562
}

LLVM IR (-O2):
@.str = [6 x i8] c"other\00"
@.str.1 = [4 x i8] c"one\00"
@.str.2 = [4 x i8] c"few\00"
@.str.3 = [5 x i8] c"zero\00"
@.str.4 = [4 x i8] c"two\00"
@.str.5 = [5 x i8] c"many\00"
@reltable.pluralform = [7 x i32] [i32 trunc (i64 sub (i64 ptrtoint ([5 x i8]* @.str.3 to i64), i64 ptrtoint ([7 x i32]* @reltable.pluralform to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.1 to i64), i64 ptrtoint ([7 x i32]* @reltable.pluralform to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.4 to i64), i64 ptrtoint ([7 x i32]* @reltable.pluralform to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.2 to i64), i64 ptrtoint ([7 x i32]* @reltable.pluralform to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([6 x i8]* @.str to i64), i64 ptrtoint ([7 x i32]* @reltable.pluralform to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([6 x i8]* @.str to i64), i64 ptrtoint ([7 x i32]* @reltable.pluralform to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([5 x i8]* @.str.5 to i64), i64 ptrtoint ([7 x i32]* @reltable.pluralform to i64)) to i32)]
@reltable.pluralform.9 = [3 x i32] [i32 trunc (i64 sub (i64 ptrtoint ([6 x i8]* @.str to i64), i64 ptrtoint ([3 x i32]* @reltable.pluralform.9 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.1 to i64), i64 ptrtoint ([3 x i32]* @reltable.pluralform.9 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.4 to i64), i64 ptrtoint ([3 x i32]* @reltable.pluralform.9 to i64)) to i32)]
@reltable.pluralform.10 = [19 x i32] [i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.1 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.4 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.2 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.2 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.2 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.2 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.2 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.2 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.2 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.2 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.1 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.4 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.2 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.2 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.2 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.2 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.2 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.2 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.2 to i64), i64 ptrtoint ([19 x i32]* @reltable.pluralform.10 to i64)) to i32)]
@reltable.pluralform.11 = [3 x i32] [i32 trunc (i64 sub (i64 ptrtoint ([5 x i8]* @.str.3 to i64), i64 ptrtoint ([3 x i32]* @reltable.pluralform.11 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.1 to i64), i64 ptrtoint ([3 x i32]* @reltable.pluralform.11 to i64)) to i32), i32 trunc (i64 sub (i64 ptrtoint ([4 x i8]* @.str.4 to i64), i64 ptrtoint ([3 x i32]* @reltable.pluralform.11 to i64)) to i32)]
define i8* @pluralform(i8* %0, i32 %1) {
%3 = icmp eq i8* %0, null
br i1 %3, label %210, label %4
4: ; preds = %2
%5 = load i8, i8* %0
%6 = icmp eq i8 %5, 0
br i1 %6, label %193, label %7
7: ; preds = %4, %7
%8 = phi i8 [ %15, %7 ], [ %5, %4 ]
%9 = phi i32 [ %13, %7 ], [ 0, %4 ]
%10 = phi i8* [ %14, %7 ], [ %0, %4 ]
%11 = shl i32 %9, 8
%12 = sext i8 %8 to i32
%13 = add i32 %11, %12
%14 = getelementptr inbounds i8, i8* %10, i64 1
%15 = load i8, i8* %14
%16 = icmp eq i8 %15, 0
br i1 %16, label %17, label %7
17: ; preds = %7
switch i32 %13, label %193 [
i32 27764, label %18
i32 27766, label %31
i32 25465, label %39
i32 25189, label %41
i32 25203, label %41
i32 26738, label %41
i32 29301, label %41
i32 29544, label %41
i32 29554, label %41
i32 30059, label %41
i32 7041896, label %60
i32 7563369, label %65
i32 26725, label %70
i32 25459, label %75
i32 29547, label %75
i32 25202, label %80
i32 29548, label %100
i32 7102823, label %106
i32 28780, label %111
i32 26468, label %129
i32 26486, label %132
i32 28011, label %139
i32 28020, label %144
i32 28015, label %155
i32 29295, label %155
i32 26465, label %161
i32 26214, label %169
i32 26226, label %169
i32 7037282, label %169
i32 26997, label %171
i32 27511, label %171
i32 29541, label %171
i32 7233905, label %171
i32 7564641, label %171
i32 7564649, label %171
i32 7564650, label %171
i32 7564654, label %171
i32 7564659, label %171
i32 24939, label %176
i32 24941, label %176
i32 25192, label %176
i32 26729, label %176
i32 27758, label %176
i32 28007, label %176
i32 29801, label %176
i32 29804, label %176
i32 30561, label %176
i32 6711660, label %176
i32 6780279, label %176
i32 7238511, label %176
i32 7633517, label %178
i32 24934, label %183
i32 25191, label %183
i32 25198, label %183
i32 25441, label %183
i32 25697, label %183
i32 25701, label %183
i32 25718, label %183
i32 25957, label %183
i32 25964, label %183
i32 25966, label %183
i32 25967, label %183
i32 25971, label %183
i32 25972, label %183
i32 25973, label %183
i32 26217, label %183
i32 26223, label %183
i32 26233, label %183
i32 26476, label %183
i32 26485, label %183
i32 26721, label %183
i32 26995, label %183
i32 26996, label %183
i32 27499, label %183
i32 27500, label %183
i32 27507, label %183
i32 27509, label %183
i32 27513, label %183
i32 27746, label %183
i32 27751, label %183
i32 28012, label %183
i32 28014, label %183
i32 28018, label %183
i32 28258, label %183
i32 28260, label %183
i32 28261, label %183
i32 28268, label %183
i32 28270, label %183
i32 28271, label %183
i32 28274, label %183
i32 28281, label %183
i32 28525, label %183
i32 28530, label %183
i32 28531, label %183
i32 28769, label %183
i32 28787, label %183
i32 28788, label %183
i32 29293, label %183
i32 29550, label %183
i32 29551, label %183
i32 29553, label %183
i32 29555, label %183
i32 29556, label %183
i32 29558, label %183
i32 29559, label %183
i32 29793, label %183
i32 29797, label %183
i32 29803, label %183
i32 29806, label %183
i32 29811, label %183
i32 30066, label %183
i32 30309, label %183
i32 30319, label %183
i32 30824, label %183
i32 31349, label %183
i32 6386529, label %183
i32 6386548, label %183
i32 6448493, label %183
i32 6448506, label %183
i32 6451832, label %183
i32 6514535, label %183
i32 6514802, label %183
i32 6515554, label %183
i32 6714738, label %183
i32 6779767, label %183
i32 6840695, label %183
i32 6973295, label %183
i32 6974819, label %183
i32 7037290, label %183
i32 7037799, label %183
i32 7039850, label %183
i32 7041890, label %183
i32 7168371, label %183
i32 7169903, label %183
i32 7233896, label %183
i32 7237224, label %183
i32 7240046, label %183
i32 7364976, label %183
i32 7499622, label %183
i32 7501675, label %183
i32 7561585, label %183
i32 7562600, label %183
i32 7566201, label %183
i32 7567730, label %183
i32 7628143, label %183
i32 7629159, label %183
i32 7763310, label %183
i32 7823717, label %183
i32 7892839, label %183
i32 24946, label %185
]
18: ; preds = %17
%19 = srem i32 %1, 10
%20 = icmp eq i32 %19, 1
br i1 %20, label %21, label %25
21: ; preds = %18
%22 = srem i32 %1, 100
%23 = add nsw i32 %22, -20
%24 = icmp ult i32 %23, -9
br i1 %24, label %210, label %193
25: ; preds = %18
%26 = icmp sgt i32 %19, 1
br i1 %26, label %27, label %193
27: ; preds = %25
%28 = srem i32 %1, 100
%29 = add nsw i32 %28, -20
%30 = icmp ult i32 %29, -9
br i1 %30, label %210, label %193
31: ; preds = %17
%32 = icmp eq i32 %1, 0
br i1 %32, label %210, label %33
33: ; preds = %31
%34 = srem i32 %1, 10
%35 = icmp ne i32 %34, 1
%36 = srem i32 %1, 100
%37 = icmp eq i32 %36, 11
%38 = or i1 %35, %37
br i1 %38, label %193, label %210
39: ; preds = %17
%40 = icmp ult i32 %1, 7
br i1 %40, label %194, label %193
41: ; preds = %17, %17, %17, %17, %17, %17, %17
%42 = srem i32 %1, 10
%43 = icmp ne i32 %42, 1
%44 = srem i32 %1, 100
%45 = icmp eq i32 %44, 11
%46 = or i1 %43, %45
br i1 %46, label %47, label %210
47: ; preds = %41
%48 = add nsw i32 %42, -2
%49 = icmp ult i32 %48, 3
%50 = add nsw i32 %44, -15
%51 = icmp ult i32 %50, -3
%52 = select i1 %49, i1 %51, i1 false
br i1 %52, label %210, label %53
53: ; preds = %47
%54 = icmp eq i32 %42, 0
%55 = icmp sgt i32 %42, 4
%56 = or i1 %54, %55
%57 = add nsw i32 %44, -11
%58 = icmp ult i32 %57, 4
%59 = select i1 %56, i1 true, i1 %58
br i1 %59, label %210, label %193
60: ; preds = %17
%61 = icmp eq i32 %1, 1
%62 = select i1 %61, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0)
%63 = icmp eq i32 %1, 0
%64 = select i1 %63, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), i8* %62
br label %210
65: ; preds = %17
%66 = add i32 %1, -2
%67 = icmp ult i32 %66, 9
br i1 %67, label %210, label %68
68: ; preds = %65
%69 = icmp ult i32 %1, 2
br i1 %69, label %210, label %193
70: ; preds = %17
%71 = icmp ult i32 %1, 3
br i1 %71, label %198, label %72
72: ; preds = %70
%73 = srem i32 %1, 10
%74 = icmp eq i32 %73, 0
br i1 %74, label %210, label %193
75: ; preds = %17, %17
%76 = icmp eq i32 %1, 1
br i1 %76, label %210, label %77
77: ; preds = %75
%78 = add i32 %1, -2
%79 = icmp ult i32 %78, 3
br i1 %79, label %210, label %193
80: ; preds = %17
%81 = icmp ne i32 %1, 0
%82 = srem i32 %1, 1000000
%83 = icmp eq i32 %82, 0
%84 = and i1 %81, %83
br i1 %84, label %210, label %85
85: ; preds = %80
%86 = srem i32 %1, 10
switch i32 %86, label %193 [
i32 1, label %87
i32 2, label %89
i32 9, label %91
i32 4, label %91
i32 3, label %91
]
87: ; preds = %85
%88 = srem i32 %1, 100
switch i32 %88, label %210 [
i32 11, label %193
i32 71, label %193
i32 91, label %193
]
89: ; preds = %85
%90 = srem i32 %1, 100
switch i32 %90, label %210 [
i32 12, label %193
i32 72, label %193
i32 92, label %193
]
91: ; preds = %85, %85, %85
%92 = srem i32 %1, 100
%93 = add nsw i32 %92, -20
%94 = icmp ult i32 %93, -10
br i1 %94, label %95, label %193
95: ; preds = %91
%96 = add nsw i32 %92, -80
%97 = icmp ult i32 %96, -10
%98 = icmp slt i32 %92, 90
%99 = and i1 %98, %97
br i1 %99, label %210, label %193
100: ; preds = %17
%101 = srem i32 %1, 100
switch i32 %101, label %103 [
i32 2, label %210
i32 1, label %102
]
102: ; preds = %100
br label %210
103: ; preds = %100
%104 = add nsw i32 %101, -3
%105 = icmp ult i32 %104, 2
br i1 %105, label %210, label %193
106: ; preds = %17
%107 = icmp eq i32 %1, 1
%108 = select i1 %107, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0)
%109 = icmp eq i32 %1, 0
%110 = select i1 %109, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), i8* %108
br label %210
111: ; preds = %17
%112 = icmp eq i32 %1, 1
br i1 %112, label %210, label %113
113: ; preds = %111
%114 = srem i32 %1, 10
%115 = add nsw i32 %114, -2
%116 = icmp ult i32 %115, 3
br i1 %116, label %117, label %121
117: ; preds = %113
%118 = srem i32 %1, 100
%119 = add nsw i32 %118, -15
%120 = icmp ult i32 %119, -3
br i1 %120, label %210, label %121
121: ; preds = %113, %117
%122 = icmp ult i32 %114, 2
%123 = icmp sgt i32 %114, 4
%124 = or i1 %122, %123
br i1 %124, label %210, label %125
125: ; preds = %121
%126 = srem i32 %1, 100
%127 = add nsw i32 %126, -12
%128 = icmp ult i32 %127, 3
br i1 %128, label %210, label %193
129: ; preds = %17
%130 = add i32 %1, -1
%131 = icmp ult i32 %130, 19
br i1 %131, label %202, label %193
132: ; preds = %17
%133 = srem i32 %1, 10
%134 = add nsw i32 %133, -1
%135 = icmp ult i32 %134, 2
%136 = srem i32 %1, 20
%137 = icmp eq i32 %136, 0
%138 = or i1 %137, %135
br i1 %138, label %210, label %193
139: ; preds = %17
%140 = srem i32 %1, 10
%141 = icmp eq i32 %140, 1
%142 = icmp ne i32 %1, 11
%143 = and i1 %142, %141
br i1 %143, label %210, label %193
144: ; preds = %17
%145 = icmp eq i32 %1, 1
br i1 %145, label %210, label %146
146: ; preds = %144
%147 = srem i32 %1, 100
%148 = add nsw i32 %147, -11
%149 = icmp ult i32 %148, 9
br i1 %149, label %210, label %150
150: ; preds = %146
%151 = icmp eq i32 %1, 0
%152 = add nsw i32 %147, -2
%153 = icmp ult i32 %152, 9
%154 = select i1 %151, i1 true, i1 %153
br i1 %154, label %210, label %193
155: ; preds = %17, %17
switch i32 %1, label %156 [
i32 1, label %210
i32 0, label %160
]
156: ; preds = %155
%157 = srem i32 %1, 100
%158 = add nsw i32 %157, -1
%159 = icmp ult i32 %158, 19
br i1 %159, label %160, label %193
160: ; preds = %156, %155
br label %210
161: ; preds = %17
switch i32 %1, label %163 [
i32 2, label %210
i32 1, label %162
]
162: ; preds = %161
br label %210
163: ; preds = %161
%164 = add i32 %1, -3
%165 = icmp ult i32 %164, 4
br i1 %165, label %210, label %166
166: ; preds = %163
%167 = add i32 %1, -7
%168 = icmp ult i32 %167, 4
br i1 %168, label %210, label %193
169: ; preds = %17, %17, %17
%170 = icmp ult i32 %1, 2
br i1 %170, label %210, label %193
171: ; preds = %17, %17, %17, %17, %17, %17, %17, %17, %17
%172 = icmp eq i32 %1, 1
%173 = select i1 %172, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0)
%174 = icmp eq i32 %1, 2
%175 = select i1 %174, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.4, i64 0, i64 0), i8* %173
br label %210
176: ; preds = %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17
%177 = icmp ult i32 %1, 2
br i1 %177, label %210, label %193
178: ; preds = %17
%179 = icmp ult i32 %1, 2
%180 = add i32 %1, -11
%181 = icmp ult i32 %180, 89
%182 = or i1 %179, %181
br i1 %182, label %210, label %193
183: ; preds = %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17
%184 = icmp eq i32 %1, 1
br i1 %184, label %210, label %193
185: ; preds = %17
%186 = icmp ult i32 %1, 3
br i1 %186, label %206, label %187
187: ; preds = %185
%188 = srem i32 %1, 100
%189 = add nsw i32 %188, -3
%190 = icmp ult i32 %189, 8
br i1 %190, label %210, label %191
191: ; preds = %187
%192 = icmp sgt i32 %188, 10
br i1 %192, label %210, label %193
193: ; preds = %129, %39, %89, %89, %89, %87, %87, %87, %4, %85, %150, %53, %21, %178, %132, %95, %91, %27, %191, %183, %176, %169, %166, %156, %139, %125, %103, %77, %72, %68, %33, %25, %17
br label %210
194: ; preds = %39
%195 = sext i32 %1 to i64
%196 = shl i64 %195, 2
%197 = call i8* @llvm.load.relative.i64(i8* bitcast ([7 x i32]* @reltable.pluralform to i8*), i64 %196)
br label %210
198: ; preds = %70
%199 = sext i32 %1 to i64
%200 = shl i64 %199, 2
%201 = call i8* @llvm.load.relative.i64(i8* bitcast ([3 x i32]* @reltable.pluralform.9 to i8*), i64 %200)
br label %210
202: ; preds = %129
%203 = sext i32 %130 to i64
%204 = shl i64 %203, 2
%205 = call i8* @llvm.load.relative.i64(i8* bitcast ([19 x i32]* @reltable.pluralform.10 to i8*), i64 %204)
br label %210
206: ; preds = %185
%207 = sext i32 %1 to i64
%208 = shl i64 %207, 2
%209 = call i8* @llvm.load.relative.i64(i8* bitcast ([3 x i32]* @reltable.pluralform.11 to i8*), i64 %208)
br label %210
210: ; preds = %206, %202, %198, %194, %47, %171, %106, %95, %60, %102, %160, %162, %193, %21, %27, %31, %33, %41, %53, %65, %68, %72, %75, %77, %80, %87, %89, %100, %103, %111, %117, %125, %121, %132, %139, %144, %146, %150, %155, %161, %163, %166, %169, %176, %178, %183, %187, %191, %2
%211 = phi i8* [ getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), %2 ], [ getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i64 0, i64 0), %193 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), %162 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), %160 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), %102 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), %21 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), %27 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.3, i64 0, i64 0), %31 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), %33 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), %41 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), %53 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), %65 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), %68 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), %72 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), %75 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), %77 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), %80 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), %87 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.4, i64 0, i64 0), %89 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.4, i64 0, i64 0), %100 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), %103 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), %111 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), %117 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), %125 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), %121 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), %132 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), %139 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), %144 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), %146 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), %150 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), %155 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.4, i64 0, i64 0), %161 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), %163 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), %166 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), %169 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), %176 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), %178 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.1, i64 0, i64 0), %183 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), %187 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str.5, i64 0, i64 0), %191 ], [ %64, %60 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), %95 ], [ %110, %106 ], [ %175, %171 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), %47 ], [ %197, %194 ], [ %201, %198 ], [ %205, %202 ], [ %209, %206 ]
ret i8* %211
}