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

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ strcmp(char const *, char *);
int /*<<< orphan*/ strncmp(char const *, char *, int);
int encoding_number(const char *enc) {
  if (!enc || !strncmp(enc, "iso10646-1", 10)) {
    return 0;
  } else if (!strcmp(enc, "iso8859-1")) {
    return 1;
  } else if (!strcmp(enc, "iso8859-2")) {
    return 2;
  } else if (!strcmp(enc, "iso8859-3")) {
    return 3;
  } else if (!strcmp(enc, "iso8859-4")) {
    return 4;
  } else if (!strcmp(enc, "iso8859-5")) {
    return 5;
  } else if (!strcmp(enc, "iso8859-6")) {
    return 6;
  } else if (!strcmp(enc, "iso8859-7")) {
    return 7;
  } else if (!strcmp(enc, "iso8859-8")) {
    return 8;
  } else if (!strcmp(enc, "iso8859-9")) {
    return 9;
  } else if (!strcmp(enc, "iso8859-10")) {
    return 10;
  } else if (!strcmp(enc, "iso8859-13")) {
    return 11;
  } else if (!strcmp(enc, "iso8859-14")) {
    return 12;
  } else if (!strcmp(enc, "iso8859-15")) {
    return 13;
  } else if (!strcmp(enc, "koi8-r")) {
    return 14;
  } else if (!strcmp(enc, "big5-0") || !strcmp(enc, "big5.eten-0") ||
             !strcmp(enc, "big5p-0")) {
    return 15;
  } else if (!strcmp(enc, "ksc5601.1987-0")) {
    return 16;
  } else if (!strcmp(enc, "gb2312.1980-0") || !strcmp(enc, "gb2312.80-0") ||
             !strcmp(enc, "gb2312.80&gb8565.88") ||
             !strcmp(enc, "gb2312.80-0")) {
    return 17;
  } else if (!strcmp(enc, "jisx0201.1976-0")) {
    return 18;
  } else if (!strcmp(enc, "jisx0208.1983-0") ||
             !strcmp(enc, "jisx0208.1990-0") ||
             !strcmp(enc, "jisx0208.1978-0")) {
    return 19;
  } else if (!strcmp(enc, "jisx0212.1990-0")) {
    return 20;
  } else if (!strcmp(enc, "symbol")) {
    return 21;
  } else if (!strcmp(enc, "dingbats") || !strcmp(enc, "zapfdingbats") ||
             !strcmp(enc, "zapf dingbats") ||
             !strcmp(enc, "itc zapf dingbats")) {
    return 22;
  } else if (!strcmp(enc, "koi8-u")) {
    return 23;
  } else if (!strcmp(enc, "microsoft-cp1251")) {
    return 24;
  } else if (!strcmp(enc, "iso8859-11")) {
    return 25;
  } else if (!strcmp(enc, "gbk-0") || !strcmp(enc, "cp936") ||
             !strcmp(enc, "gbk")) {
    return 26;
  };
  return -1;
}


x86 assembly (clang, -O0):
<encoding_number>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %rdi,-0x10(%rbp)
cmpq   $0x0,-0x10(%rbp)
je     1155 <encoding_number+0x35>
mov    -0x10(%rbp),%rdi
lea    0xebe(%rip),%rsi
mov    $0xa,%edx
call   1030 <strncmp@plt>
cmp    $0x0,%eax
jne    1161 <encoding_number+0x41>
movl   $0x0,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xe9f(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    1186 <encoding_number+0x66>
movl   $0x1,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xe84(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    11ab <encoding_number+0x8b>
movl   $0x2,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xe69(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    11d0 <encoding_number+0xb0>
movl   $0x3,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xe4e(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    11f5 <encoding_number+0xd5>
movl   $0x4,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xe33(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    121a <encoding_number+0xfa>
movl   $0x5,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xe18(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    123f <encoding_number+0x11f>
movl   $0x6,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xdfd(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    1264 <encoding_number+0x144>
movl   $0x7,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xde2(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    1289 <encoding_number+0x169>
movl   $0x8,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xdc7(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    12ae <encoding_number+0x18e>
movl   $0x9,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xdac(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    12d3 <encoding_number+0x1b3>
movl   $0xa,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xd92(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    12f8 <encoding_number+0x1d8>
movl   $0xb,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xd78(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    131d <encoding_number+0x1fd>
movl   $0xc,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xd5e(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    1342 <encoding_number+0x222>
movl   $0xd,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xd44(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    1367 <encoding_number+0x247>
movl   $0xe,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xd26(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
je     13b2 <encoding_number+0x292>
mov    -0x10(%rbp),%rdi
lea    0xd14(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
je     13b2 <encoding_number+0x292>
mov    -0x10(%rbp),%rdi
lea    0xd07(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    13be <encoding_number+0x29e>
movl   $0xf,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xcea(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    13e3 <encoding_number+0x2c3>
movl   $0x10,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xcd4(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
je     1447 <encoding_number+0x327>
mov    -0x10(%rbp),%rdi
lea    0xcc9(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
je     1447 <encoding_number+0x327>
mov    -0x10(%rbp),%rdi
lea    0xcbc(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
je     1447 <encoding_number+0x327>
mov    -0x10(%rbp),%rdi
lea    0xc97(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    1453 <encoding_number+0x333>
movl   $0x11,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xc92(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    1478 <encoding_number+0x358>
movl   $0x12,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xc7d(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
je     14c3 <encoding_number+0x3a3>
mov    -0x10(%rbp),%rdi
lea    0xc74(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
je     14c3 <encoding_number+0x3a3>
mov    -0x10(%rbp),%rdi
lea    0xc6b(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    14cf <encoding_number+0x3af>
movl   $0x13,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xc56(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    14f4 <encoding_number+0x3d4>
movl   $0x14,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xc41(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    1519 <encoding_number+0x3f9>
movl   $0x15,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xc39(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
je     157d <encoding_number+0x45d>
mov    -0x10(%rbp),%rdi
lea    0xc0a(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
je     157d <encoding_number+0x45d>
mov    -0x10(%rbp),%rdi
lea    0xc02(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
je     157d <encoding_number+0x45d>
mov    -0x10(%rbp),%rdi
lea    0xbe5(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    1589 <encoding_number+0x469>
movl   $0x16,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xbd2(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    15ae <encoding_number+0x48e>
movl   $0x17,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xbb4(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    15d3 <encoding_number+0x4b3>
movl   $0x18,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xba0(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    15f8 <encoding_number+0x4d8>
movl   $0x19,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
mov    -0x10(%rbp),%rdi
lea    0xb86(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
je     1643 <encoding_number+0x523>
mov    -0x10(%rbp),%rdi
lea    0xb73(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
je     1643 <encoding_number+0x523>
mov    -0x10(%rbp),%rdi
lea    0xb60(%rip),%rsi
call   1040 <strcmp@plt>
cmp    $0x0,%eax
jne    164f <encoding_number+0x52f>
movl   $0x1a,-0x4(%rbp)
jmp    16d8 <encoding_number+0x5b8>
jmp    1654 <encoding_number+0x534>
jmp    1659 <encoding_number+0x539>
jmp    165e <encoding_number+0x53e>
jmp    1663 <encoding_number+0x543>
jmp    1668 <encoding_number+0x548>
jmp    166d <encoding_number+0x54d>
jmp    1672 <encoding_number+0x552>
jmp    1677 <encoding_number+0x557>
jmp    167c <encoding_number+0x55c>
jmp    1681 <encoding_number+0x561>
jmp    1686 <encoding_number+0x566>
jmp    168b <encoding_number+0x56b>
jmp    1690 <encoding_number+0x570>
jmp    1695 <encoding_number+0x575>
jmp    169a <encoding_number+0x57a>
jmp    169f <encoding_number+0x57f>
jmp    16a4 <encoding_number+0x584>
jmp    16a9 <encoding_number+0x589>
jmp    16ae <encoding_number+0x58e>
jmp    16b3 <encoding_number+0x593>
jmp    16b8 <encoding_number+0x598>
jmp    16bd <encoding_number+0x59d>
jmp    16c2 <encoding_number+0x5a2>
jmp    16c7 <encoding_number+0x5a7>
jmp    16cc <encoding_number+0x5ac>
jmp    16d1 <encoding_number+0x5b1>
movl   $0xffffffff,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<encoding_number>:
push   %rbp
push   %rbx
push   %rax
xor    %ebp,%ebp
test   %rdi,%rdi
je     1513 <encoding_number+0x3f3>
mov    %rdi,%rbx
lea    0xec8(%rip),%rsi
mov    $0xa,%edx
call   1030 <strncmp@plt>
test   %eax,%eax
je     1513 <encoding_number+0x3f3>
lea    0xeba(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     14b3 <encoding_number+0x393>
lea    0xead(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     14ba <encoding_number+0x39a>
lea    0xea0(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     14c1 <encoding_number+0x3a1>
lea    0xe93(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     14c8 <encoding_number+0x3a8>
lea    0xe86(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     14cf <encoding_number+0x3af>
lea    0xe79(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     14d6 <encoding_number+0x3b6>
lea    0xe6c(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     14dd <encoding_number+0x3bd>
lea    0xe5f(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     14e4 <encoding_number+0x3c4>
lea    0xe52(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     14eb <encoding_number+0x3cb>
lea    0xe45(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     14f2 <encoding_number+0x3d2>
lea    0xe39(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     14f9 <encoding_number+0x3d9>
lea    0xe2d(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1500 <encoding_number+0x3e0>
lea    0xe21(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1507 <encoding_number+0x3e7>
lea    0xe15(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     150e <encoding_number+0x3ee>
lea    0xe05(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
mov    $0xf,%ebp
test   %eax,%eax
je     1513 <encoding_number+0x3f3>
lea    0xdf0(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1513 <encoding_number+0x3f3>
lea    0xde5(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1513 <encoding_number+0x3f3>
lea    0xdd6(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     151c <encoding_number+0x3fc>
lea    0xdce(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
mov    $0x11,%ebp
test   %eax,%eax
je     1513 <encoding_number+0x3f3>
lea    0xdc0(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1513 <encoding_number+0x3f3>
lea    0xdb5(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1513 <encoding_number+0x3f3>
lea    0xdb2(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1523 <encoding_number+0x403>
lea    0xdab(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
mov    $0x13,%ebp
test   %eax,%eax
je     1513 <encoding_number+0x3f3>
lea    0xd9f(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1513 <encoding_number+0x3f3>
lea    0xd98(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1513 <encoding_number+0x3f3>
lea    0xd91(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     152a <encoding_number+0x40a>
lea    0xd8a(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1531 <encoding_number+0x411>
lea    0xd90(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
mov    $0x16,%ebp
test   %eax,%eax
je     1513 <encoding_number+0x3f3>
lea    0xd5e(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1513 <encoding_number+0x3f3>
lea    0xd58(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1513 <encoding_number+0x3f3>
lea    0xd3d(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1513 <encoding_number+0x3f3>
lea    0xd38(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1538 <encoding_number+0x418>
lea    0xd28(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     153f <encoding_number+0x41f>
lea    0xd22(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1546 <encoding_number+0x426>
lea    0xd16(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
mov    $0x1a,%ebp
test   %eax,%eax
je     1513 <encoding_number+0x3f3>
lea    0xd00(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
test   %eax,%eax
je     1513 <encoding_number+0x3f3>
lea    0xcf3(%rip),%rsi
mov    %rbx,%rdi
call   1040 <strcmp@plt>
neg    %eax
sbb    %ebp,%ebp
or     $0x1a,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0x1,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0x2,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0x3,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0x4,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0x5,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0x6,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0x7,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0x8,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0x9,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0xa,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0xb,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0xc,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0xd,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0xe,%ebp
mov    %ebp,%eax
add    $0x8,%rsp
pop    %rbx
pop    %rbp
ret
mov    $0x10,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0x12,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0x14,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0x15,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0x17,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0x18,%ebp
jmp    1513 <encoding_number+0x3f3>
mov    $0x19,%ebp
jmp    1513 <encoding_number+0x3f3>

LLVM IR (-O0):
@.str = [11 x i8] c"iso10646-1\00"
@.str.1 = [10 x i8] c"iso8859-1\00"
@.str.2 = [10 x i8] c"iso8859-2\00"
@.str.3 = [10 x i8] c"iso8859-3\00"
@.str.4 = [10 x i8] c"iso8859-4\00"
@.str.5 = [10 x i8] c"iso8859-5\00"
@.str.6 = [10 x i8] c"iso8859-6\00"
@.str.7 = [10 x i8] c"iso8859-7\00"
@.str.8 = [10 x i8] c"iso8859-8\00"
@.str.9 = [10 x i8] c"iso8859-9\00"
@.str.10 = [11 x i8] c"iso8859-10\00"
@.str.11 = [11 x i8] c"iso8859-13\00"
@.str.12 = [11 x i8] c"iso8859-14\00"
@.str.13 = [11 x i8] c"iso8859-15\00"
@.str.14 = [7 x i8] c"koi8-r\00"
@.str.15 = [7 x i8] c"big5-0\00"
@.str.16 = [12 x i8] c"big5.eten-0\00"
@.str.17 = [8 x i8] c"big5p-0\00"
@.str.18 = [15 x i8] c"ksc5601.1987-0\00"
@.str.19 = [14 x i8] c"gb2312.1980-0\00"
@.str.20 = [12 x i8] c"gb2312.80-0\00"
@.str.21 = [20 x i8] c"gb2312.80&gb8565.88\00"
@.str.22 = [16 x i8] c"jisx0201.1976-0\00"
@.str.23 = [16 x i8] c"jisx0208.1983-0\00"
@.str.24 = [16 x i8] c"jisx0208.1990-0\00"
@.str.25 = [16 x i8] c"jisx0208.1978-0\00"
@.str.26 = [16 x i8] c"jisx0212.1990-0\00"
@.str.27 = [7 x i8] c"symbol\00"
@.str.28 = [9 x i8] c"dingbats\00"
@.str.29 = [13 x i8] c"zapfdingbats\00"
@.str.30 = [14 x i8] c"zapf dingbats\00"
@.str.31 = [18 x i8] c"itc zapf dingbats\00"
@.str.32 = [7 x i8] c"koi8-u\00"
@.str.33 = [17 x i8] c"microsoft-cp1251\00"
@.str.34 = [11 x i8] c"iso8859-11\00"
@.str.35 = [6 x i8] c"gbk-0\00"
@.str.36 = [6 x i8] c"cp936\00"
@.str.37 = [4 x i8] c"gbk\00"
define i32 @encoding_number(i8* %0) {
%2 = alloca i32
%3 = alloca i8*
store i8* %0, i8** %3
%4 = load i8*, i8** %3
%5 = icmp ne i8* %4, null
br i1 %5, label %6, label %10
6: ; preds = %1
%7 = load i8*, i8** %3
%8 = call i32 @strncmp(i8* %7, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str, i64 0, i64 0), i32 10)
%9 = icmp ne i32 %8, 0
br i1 %9, label %11, label %10
10: ; preds = %6, %1
store i32 0, i32* %2
br label %216
11: ; preds = %6
%12 = load i8*, i8** %3
%13 = call i32 @strcmp(i8* %12, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0))
%14 = icmp ne i32 %13, 0
br i1 %14, label %16, label %15
15: ; preds = %11
store i32 1, i32* %2
br label %216
16: ; preds = %11
%17 = load i8*, i8** %3
%18 = call i32 @strcmp(i8* %17, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2, i64 0, i64 0))
%19 = icmp ne i32 %18, 0
br i1 %19, label %21, label %20
20: ; preds = %16
store i32 2, i32* %2
br label %216
21: ; preds = %16
%22 = load i8*, i8** %3
%23 = call i32 @strcmp(i8* %22, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.3, i64 0, i64 0))
%24 = icmp ne i32 %23, 0
br i1 %24, label %26, label %25
25: ; preds = %21
store i32 3, i32* %2
br label %216
26: ; preds = %21
%27 = load i8*, i8** %3
%28 = call i32 @strcmp(i8* %27, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.4, i64 0, i64 0))
%29 = icmp ne i32 %28, 0
br i1 %29, label %31, label %30
30: ; preds = %26
store i32 4, i32* %2
br label %216
31: ; preds = %26
%32 = load i8*, i8** %3
%33 = call i32 @strcmp(i8* %32, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.5, i64 0, i64 0))
%34 = icmp ne i32 %33, 0
br i1 %34, label %36, label %35
35: ; preds = %31
store i32 5, i32* %2
br label %216
36: ; preds = %31
%37 = load i8*, i8** %3
%38 = call i32 @strcmp(i8* %37, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.6, i64 0, i64 0))
%39 = icmp ne i32 %38, 0
br i1 %39, label %41, label %40
40: ; preds = %36
store i32 6, i32* %2
br label %216
41: ; preds = %36
%42 = load i8*, i8** %3
%43 = call i32 @strcmp(i8* %42, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7, i64 0, i64 0))
%44 = icmp ne i32 %43, 0
br i1 %44, label %46, label %45
45: ; preds = %41
store i32 7, i32* %2
br label %216
46: ; preds = %41
%47 = load i8*, i8** %3
%48 = call i32 @strcmp(i8* %47, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.8, i64 0, i64 0))
%49 = icmp ne i32 %48, 0
br i1 %49, label %51, label %50
50: ; preds = %46
store i32 8, i32* %2
br label %216
51: ; preds = %46
%52 = load i8*, i8** %3
%53 = call i32 @strcmp(i8* %52, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.9, i64 0, i64 0))
%54 = icmp ne i32 %53, 0
br i1 %54, label %56, label %55
55: ; preds = %51
store i32 9, i32* %2
br label %216
56: ; preds = %51
%57 = load i8*, i8** %3
%58 = call i32 @strcmp(i8* %57, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.10, i64 0, i64 0))
%59 = icmp ne i32 %58, 0
br i1 %59, label %61, label %60
60: ; preds = %56
store i32 10, i32* %2
br label %216
61: ; preds = %56
%62 = load i8*, i8** %3
%63 = call i32 @strcmp(i8* %62, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.11, i64 0, i64 0))
%64 = icmp ne i32 %63, 0
br i1 %64, label %66, label %65
65: ; preds = %61
store i32 11, i32* %2
br label %216
66: ; preds = %61
%67 = load i8*, i8** %3
%68 = call i32 @strcmp(i8* %67, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12, i64 0, i64 0))
%69 = icmp ne i32 %68, 0
br i1 %69, label %71, label %70
70: ; preds = %66
store i32 12, i32* %2
br label %216
71: ; preds = %66
%72 = load i8*, i8** %3
%73 = call i32 @strcmp(i8* %72, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.13, i64 0, i64 0))
%74 = icmp ne i32 %73, 0
br i1 %74, label %76, label %75
75: ; preds = %71
store i32 13, i32* %2
br label %216
76: ; preds = %71
%77 = load i8*, i8** %3
%78 = call i32 @strcmp(i8* %77, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.14, i64 0, i64 0))
%79 = icmp ne i32 %78, 0
br i1 %79, label %81, label %80
80: ; preds = %76
store i32 14, i32* %2
br label %216
81: ; preds = %76
%82 = load i8*, i8** %3
%83 = call i32 @strcmp(i8* %82, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.15, i64 0, i64 0))
%84 = icmp ne i32 %83, 0
br i1 %84, label %85, label %93
85: ; preds = %81
%86 = load i8*, i8** %3
%87 = call i32 @strcmp(i8* %86, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.16, i64 0, i64 0))
%88 = icmp ne i32 %87, 0
br i1 %88, label %89, label %93
89: ; preds = %85
%90 = load i8*, i8** %3
%91 = call i32 @strcmp(i8* %90, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.17, i64 0, i64 0))
%92 = icmp ne i32 %91, 0
br i1 %92, label %94, label %93
93: ; preds = %89, %85, %81
store i32 15, i32* %2
br label %216
94: ; preds = %89
%95 = load i8*, i8** %3
%96 = call i32 @strcmp(i8* %95, i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.18, i64 0, i64 0))
%97 = icmp ne i32 %96, 0
br i1 %97, label %99, label %98
98: ; preds = %94
store i32 16, i32* %2
br label %216
99: ; preds = %94
%100 = load i8*, i8** %3
%101 = call i32 @strcmp(i8* %100, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19, i64 0, i64 0))
%102 = icmp ne i32 %101, 0
br i1 %102, label %103, label %115
103: ; preds = %99
%104 = load i8*, i8** %3
%105 = call i32 @strcmp(i8* %104, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.20, i64 0, i64 0))
%106 = icmp ne i32 %105, 0
br i1 %106, label %107, label %115
107: ; preds = %103
%108 = load i8*, i8** %3
%109 = call i32 @strcmp(i8* %108, i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.21, i64 0, i64 0))
%110 = icmp ne i32 %109, 0
br i1 %110, label %111, label %115
111: ; preds = %107
%112 = load i8*, i8** %3
%113 = call i32 @strcmp(i8* %112, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.20, i64 0, i64 0))
%114 = icmp ne i32 %113, 0
br i1 %114, label %116, label %115
115: ; preds = %111, %107, %103, %99
store i32 17, i32* %2
br label %216
116: ; preds = %111
%117 = load i8*, i8** %3
%118 = call i32 @strcmp(i8* %117, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.22, i64 0, i64 0))
%119 = icmp ne i32 %118, 0
br i1 %119, label %121, label %120
120: ; preds = %116
store i32 18, i32* %2
br label %216
121: ; preds = %116
%122 = load i8*, i8** %3
%123 = call i32 @strcmp(i8* %122, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.23, i64 0, i64 0))
%124 = icmp ne i32 %123, 0
br i1 %124, label %125, label %133
125: ; preds = %121
%126 = load i8*, i8** %3
%127 = call i32 @strcmp(i8* %126, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.24, i64 0, i64 0))
%128 = icmp ne i32 %127, 0
br i1 %128, label %129, label %133
129: ; preds = %125
%130 = load i8*, i8** %3
%131 = call i32 @strcmp(i8* %130, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.25, i64 0, i64 0))
%132 = icmp ne i32 %131, 0
br i1 %132, label %134, label %133
133: ; preds = %129, %125, %121
store i32 19, i32* %2
br label %216
134: ; preds = %129
%135 = load i8*, i8** %3
%136 = call i32 @strcmp(i8* %135, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.26, i64 0, i64 0))
%137 = icmp ne i32 %136, 0
br i1 %137, label %139, label %138
138: ; preds = %134
store i32 20, i32* %2
br label %216
139: ; preds = %134
%140 = load i8*, i8** %3
%141 = call i32 @strcmp(i8* %140, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.27, i64 0, i64 0))
%142 = icmp ne i32 %141, 0
br i1 %142, label %144, label %143
143: ; preds = %139
store i32 21, i32* %2
br label %216
144: ; preds = %139
%145 = load i8*, i8** %3
%146 = call i32 @strcmp(i8* %145, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0))
%147 = icmp ne i32 %146, 0
br i1 %147, label %148, label %160
148: ; preds = %144
%149 = load i8*, i8** %3
%150 = call i32 @strcmp(i8* %149, i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.29, i64 0, i64 0))
%151 = icmp ne i32 %150, 0
br i1 %151, label %152, label %160
152: ; preds = %148
%153 = load i8*, i8** %3
%154 = call i32 @strcmp(i8* %153, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.30, i64 0, i64 0))
%155 = icmp ne i32 %154, 0
br i1 %155, label %156, label %160
156: ; preds = %152
%157 = load i8*, i8** %3
%158 = call i32 @strcmp(i8* %157, i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.31, i64 0, i64 0))
%159 = icmp ne i32 %158, 0
br i1 %159, label %161, label %160
160: ; preds = %156, %152, %148, %144
store i32 22, i32* %2
br label %216
161: ; preds = %156
%162 = load i8*, i8** %3
%163 = call i32 @strcmp(i8* %162, i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.32, i64 0, i64 0))
%164 = icmp ne i32 %163, 0
br i1 %164, label %166, label %165
165: ; preds = %161
store i32 23, i32* %2
br label %216
166: ; preds = %161
%167 = load i8*, i8** %3
%168 = call i32 @strcmp(i8* %167, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.33, i64 0, i64 0))
%169 = icmp ne i32 %168, 0
br i1 %169, label %171, label %170
170: ; preds = %166
store i32 24, i32* %2
br label %216
171: ; preds = %166
%172 = load i8*, i8** %3
%173 = call i32 @strcmp(i8* %172, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.34, i64 0, i64 0))
%174 = icmp ne i32 %173, 0
br i1 %174, label %176, label %175
175: ; preds = %171
store i32 25, i32* %2
br label %216
176: ; preds = %171
%177 = load i8*, i8** %3
%178 = call i32 @strcmp(i8* %177, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.35, i64 0, i64 0))
%179 = icmp ne i32 %178, 0
br i1 %179, label %180, label %188
180: ; preds = %176
%181 = load i8*, i8** %3
%182 = call i32 @strcmp(i8* %181, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.36, i64 0, i64 0))
%183 = icmp ne i32 %182, 0
br i1 %183, label %184, label %188
184: ; preds = %180
%185 = load i8*, i8** %3
%186 = call i32 @strcmp(i8* %185, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.37, i64 0, i64 0))
%187 = icmp ne i32 %186, 0
br i1 %187, label %189, label %188
188: ; preds = %184, %180, %176
store i32 26, i32* %2
br label %216
189: ; preds = %184
br label %190
190: ; preds = %189
br label %191
191: ; preds = %190
br label %192
192: ; preds = %191
br label %193
193: ; preds = %192
br label %194
194: ; preds = %193
br label %195
195: ; preds = %194
br label %196
196: ; preds = %195
br label %197
197: ; preds = %196
br label %198
198: ; preds = %197
br label %199
199: ; preds = %198
br label %200
200: ; preds = %199
br label %201
201: ; preds = %200
br label %202
202: ; preds = %201
br label %203
203: ; preds = %202
br label %204
204: ; preds = %203
br label %205
205: ; preds = %204
br label %206
206: ; preds = %205
br label %207
207: ; preds = %206
br label %208
208: ; preds = %207
br label %209
209: ; preds = %208
br label %210
210: ; preds = %209
br label %211
211: ; preds = %210
br label %212
212: ; preds = %211
br label %213
213: ; preds = %212
br label %214
214: ; preds = %213
br label %215
215: ; preds = %214
store i32 -1, i32* %2
br label %216
216: ; preds = %215, %188, %175, %170, %165, %160, %143, %138, %133, %120, %115, %98, %93, %80, %75, %70, %65, %60, %55, %50, %45, %40, %35, %30, %25, %20, %15, %10
%217 = load i32, i32* %2
ret i32 %217
}

LLVM IR (-O2):
@.str = [11 x i8] c"iso10646-1\00"
@.str.1 = [10 x i8] c"iso8859-1\00"
@.str.2 = [10 x i8] c"iso8859-2\00"
@.str.3 = [10 x i8] c"iso8859-3\00"
@.str.4 = [10 x i8] c"iso8859-4\00"
@.str.5 = [10 x i8] c"iso8859-5\00"
@.str.6 = [10 x i8] c"iso8859-6\00"
@.str.7 = [10 x i8] c"iso8859-7\00"
@.str.8 = [10 x i8] c"iso8859-8\00"
@.str.9 = [10 x i8] c"iso8859-9\00"
@.str.10 = [11 x i8] c"iso8859-10\00"
@.str.11 = [11 x i8] c"iso8859-13\00"
@.str.12 = [11 x i8] c"iso8859-14\00"
@.str.13 = [11 x i8] c"iso8859-15\00"
@.str.14 = [7 x i8] c"koi8-r\00"
@.str.15 = [7 x i8] c"big5-0\00"
@.str.16 = [12 x i8] c"big5.eten-0\00"
@.str.17 = [8 x i8] c"big5p-0\00"
@.str.18 = [15 x i8] c"ksc5601.1987-0\00"
@.str.19 = [14 x i8] c"gb2312.1980-0\00"
@.str.20 = [12 x i8] c"gb2312.80-0\00"
@.str.21 = [20 x i8] c"gb2312.80&gb8565.88\00"
@.str.22 = [16 x i8] c"jisx0201.1976-0\00"
@.str.23 = [16 x i8] c"jisx0208.1983-0\00"
@.str.24 = [16 x i8] c"jisx0208.1990-0\00"
@.str.25 = [16 x i8] c"jisx0208.1978-0\00"
@.str.26 = [16 x i8] c"jisx0212.1990-0\00"
@.str.27 = [7 x i8] c"symbol\00"
@.str.28 = [9 x i8] c"dingbats\00"
@.str.29 = [13 x i8] c"zapfdingbats\00"
@.str.30 = [14 x i8] c"zapf dingbats\00"
@.str.31 = [18 x i8] c"itc zapf dingbats\00"
@.str.32 = [7 x i8] c"koi8-u\00"
@.str.33 = [17 x i8] c"microsoft-cp1251\00"
@.str.34 = [11 x i8] c"iso8859-11\00"
@.str.35 = [6 x i8] c"gbk-0\00"
@.str.36 = [6 x i8] c"cp936\00"
@.str.37 = [4 x i8] c"gbk\00"
define i32 @encoding_number(i8* %0) {
%2 = icmp eq i8* %0, null
br i1 %2, label %118, label %3
3: ; preds = %1
%4 = tail call i32 @strncmp(i8* %0, i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str, i64 0, i64 0), i32 10)
%5 = icmp eq i32 %4, 0
br i1 %5, label %118, label %6
6: ; preds = %3
%7 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(10) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.1, i64 0, i64 0))
%8 = icmp eq i32 %7, 0
br i1 %8, label %118, label %9
9: ; preds = %6
%10 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(10) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.2, i64 0, i64 0))
%11 = icmp eq i32 %10, 0
br i1 %11, label %118, label %12
12: ; preds = %9
%13 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(10) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.3, i64 0, i64 0))
%14 = icmp eq i32 %13, 0
br i1 %14, label %118, label %15
15: ; preds = %12
%16 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(10) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.4, i64 0, i64 0))
%17 = icmp eq i32 %16, 0
br i1 %17, label %118, label %18
18: ; preds = %15
%19 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(10) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.5, i64 0, i64 0))
%20 = icmp eq i32 %19, 0
br i1 %20, label %118, label %21
21: ; preds = %18
%22 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(10) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.6, i64 0, i64 0))
%23 = icmp eq i32 %22, 0
br i1 %23, label %118, label %24
24: ; preds = %21
%25 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(10) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.7, i64 0, i64 0))
%26 = icmp eq i32 %25, 0
br i1 %26, label %118, label %27
27: ; preds = %24
%28 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(10) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.8, i64 0, i64 0))
%29 = icmp eq i32 %28, 0
br i1 %29, label %118, label %30
30: ; preds = %27
%31 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(10) getelementptr inbounds ([10 x i8], [10 x i8]* @.str.9, i64 0, i64 0))
%32 = icmp eq i32 %31, 0
br i1 %32, label %118, label %33
33: ; preds = %30
%34 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(11) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.10, i64 0, i64 0))
%35 = icmp eq i32 %34, 0
br i1 %35, label %118, label %36
36: ; preds = %33
%37 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(11) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.11, i64 0, i64 0))
%38 = icmp eq i32 %37, 0
br i1 %38, label %118, label %39
39: ; preds = %36
%40 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(11) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.12, i64 0, i64 0))
%41 = icmp eq i32 %40, 0
br i1 %41, label %118, label %42
42: ; preds = %39
%43 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(11) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.13, i64 0, i64 0))
%44 = icmp eq i32 %43, 0
br i1 %44, label %118, label %45
45: ; preds = %42
%46 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(7) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.14, i64 0, i64 0))
%47 = icmp eq i32 %46, 0
br i1 %47, label %118, label %48
48: ; preds = %45
%49 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(7) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.15, i64 0, i64 0))
%50 = icmp eq i32 %49, 0
br i1 %50, label %118, label %51
51: ; preds = %48
%52 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(12) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.16, i64 0, i64 0))
%53 = icmp eq i32 %52, 0
br i1 %53, label %118, label %54
54: ; preds = %51
%55 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(8) getelementptr inbounds ([8 x i8], [8 x i8]* @.str.17, i64 0, i64 0))
%56 = icmp eq i32 %55, 0
br i1 %56, label %118, label %57
57: ; preds = %54
%58 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(15) getelementptr inbounds ([15 x i8], [15 x i8]* @.str.18, i64 0, i64 0))
%59 = icmp eq i32 %58, 0
br i1 %59, label %118, label %60
60: ; preds = %57
%61 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(14) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19, i64 0, i64 0))
%62 = icmp eq i32 %61, 0
br i1 %62, label %118, label %63
63: ; preds = %60
%64 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(12) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.20, i64 0, i64 0))
%65 = icmp eq i32 %64, 0
br i1 %65, label %118, label %66
66: ; preds = %63
%67 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(20) getelementptr inbounds ([20 x i8], [20 x i8]* @.str.21, i64 0, i64 0))
%68 = icmp eq i32 %67, 0
br i1 %68, label %118, label %69
69: ; preds = %66
%70 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(16) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.22, i64 0, i64 0))
%71 = icmp eq i32 %70, 0
br i1 %71, label %118, label %72
72: ; preds = %69
%73 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(16) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.23, i64 0, i64 0))
%74 = icmp eq i32 %73, 0
br i1 %74, label %118, label %75
75: ; preds = %72
%76 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(16) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.24, i64 0, i64 0))
%77 = icmp eq i32 %76, 0
br i1 %77, label %118, label %78
78: ; preds = %75
%79 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(16) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.25, i64 0, i64 0))
%80 = icmp eq i32 %79, 0
br i1 %80, label %118, label %81
81: ; preds = %78
%82 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(16) getelementptr inbounds ([16 x i8], [16 x i8]* @.str.26, i64 0, i64 0))
%83 = icmp eq i32 %82, 0
br i1 %83, label %118, label %84
84: ; preds = %81
%85 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(7) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.27, i64 0, i64 0))
%86 = icmp eq i32 %85, 0
br i1 %86, label %118, label %87
87: ; preds = %84
%88 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(9) getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0))
%89 = icmp eq i32 %88, 0
br i1 %89, label %118, label %90
90: ; preds = %87
%91 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(13) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.29, i64 0, i64 0))
%92 = icmp eq i32 %91, 0
br i1 %92, label %118, label %93
93: ; preds = %90
%94 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(14) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.30, i64 0, i64 0))
%95 = icmp eq i32 %94, 0
br i1 %95, label %118, label %96
96: ; preds = %93
%97 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(18) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.31, i64 0, i64 0))
%98 = icmp eq i32 %97, 0
br i1 %98, label %118, label %99
99: ; preds = %96
%100 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(7) getelementptr inbounds ([7 x i8], [7 x i8]* @.str.32, i64 0, i64 0))
%101 = icmp eq i32 %100, 0
br i1 %101, label %118, label %102
102: ; preds = %99
%103 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(17) getelementptr inbounds ([17 x i8], [17 x i8]* @.str.33, i64 0, i64 0))
%104 = icmp eq i32 %103, 0
br i1 %104, label %118, label %105
105: ; preds = %102
%106 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(11) getelementptr inbounds ([11 x i8], [11 x i8]* @.str.34, i64 0, i64 0))
%107 = icmp eq i32 %106, 0
br i1 %107, label %118, label %108
108: ; preds = %105
%109 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(6) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.35, i64 0, i64 0))
%110 = icmp eq i32 %109, 0
br i1 %110, label %118, label %111
111: ; preds = %108
%112 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(6) getelementptr inbounds ([6 x i8], [6 x i8]* @.str.36, i64 0, i64 0))
%113 = icmp eq i32 %112, 0
br i1 %113, label %118, label %114
114: ; preds = %111
%115 = tail call i32 @strcmp(i8* dereferenceable(1) %0, i8* dereferenceable(4) getelementptr inbounds ([4 x i8], [4 x i8]* @.str.37, i64 0, i64 0))
%116 = icmp eq i32 %115, 0
%117 = select i1 %116, i32 26, i32 -1
br label %118
118: ; preds = %114, %108, %111, %105, %102, %99, %87, %90, %93, %96, %84, %81, %72, %75, %78, %69, %60, %63, %66, %57, %48, %51, %54, %45, %42, %39, %36, %33, %30, %27, %24, %21, %18, %15, %12, %9, %6, %1, %3
%119 = phi i32 [ 0, %3 ], [ 0, %1 ], [ 1, %6 ], [ 2, %9 ], [ 3, %12 ], [ 4, %15 ], [ 5, %18 ], [ 6, %21 ], [ 7, %24 ], [ 8, %27 ], [ 9, %30 ], [ 10, %33 ], [ 11, %36 ], [ 12, %39 ], [ 13, %42 ], [ 14, %45 ], [ 15, %54 ], [ 15, %51 ], [ 15, %48 ], [ 16, %57 ], [ 17, %66 ], [ 17, %63 ], [ 17, %60 ], [ 18, %69 ], [ 19, %78 ], [ 19, %75 ], [ 19, %72 ], [ 20, %81 ], [ 21, %84 ], [ 22, %96 ], [ 22, %93 ], [ 22, %90 ], [ 22, %87 ], [ 23, %99 ], [ 24, %102 ], [ 25, %105 ], [ 26, %111 ], [ 26, %108 ], [ %117, %114 ]
ret i32 %119
}