#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 isalnum(int);
int isalpha(int);
scalar_t__ isascii(int);
int isblank(int);
int iscntrl(int);
int isdigit(int);
int isgraph(int);
int islower(int);
int isprint(int);
int ispunct(int);
int isspace(int);
int isupper(int);
int isxdigit(int);
int /*<<< orphan*/ printf(char *, ...);
int stub1(int);
int stub10(int);
int stub11(int);
int stub12(int);
int stub13(int);
int stub14(int);
int stub2(int);
int stub3(int);
int stub4(int);
int stub5(int);
int stub6(int);
int stub7(int);
int stub8(int);
int stub9(int);
int toascii(int);
int tolower(char);
int toupper(char);
int main() {
  printf("%c%c%c\n", tolower('a'), tolower('B'), tolower('1'));
  printf("%c%c%c\n", toupper('a'), toupper('B'), toupper('1'));
  printf("\n");
  printf("toascii(-45): %d\n", toascii(-45));
  printf("toascii( 10): %d\n", toascii(10));
  printf("toascii('a'): %d\n", toascii('a'));
  printf("toascii(183): %d\n", toascii(183));
  int (*funcs[])(int) = {isascii, islower,  isupper, isupper, isalpha,
                         isdigit, isxdigit, isalnum, ispunct, isspace,
                         isblank, iscntrl,  isprint, isgraph};
  char *funcNames[] = {"isascii", "islower",  "isupper", "isupper", "isalpha",
                       "isdigit", "isxdigit", "isalnum", "ispunct", "isspace",
                       "isblank", "iscntrl",  "isprint", "isgraph"};
  for (int i = 0; i < sizeof funcs / sizeof funcs[0]; i++) {
    printf("\n");
    printf("%s/call(-45): %d\n", funcNames[i], funcs[i](-45) != 0);
    printf("%s/call( 10): %d\n", funcNames[i], funcs[i](10) != 0);
    printf("%s/call('a'): %d\n", funcNames[i], funcs[i]('a') != 0);
    printf("%s/call('A'): %d\n", funcNames[i], funcs[i]('A') != 0);
    printf("%s/call('5'): %d\n", funcNames[i], funcs[i]('5') != 0);
    printf("%s/call('.'): %d\n", funcNames[i], funcs[i]('.') != 0);
    printf("%s/call(183): %d\n", funcNames[i], funcs[i](183) != 0);
  }
  printf("\n");
  printf("isascii(-45): %d\n", isascii(-45) != 0);
  printf("isascii( 10): %d\n", isascii(10) != 0);
  printf("isascii('a'): %d\n", isascii('a') != 0);
  printf("isascii('A'): %d\n", isascii('A') != 0);
  printf("isascii('5'): %d\n", isascii('5') != 0);
  printf("isascii('.'): %d\n", isascii('.') != 0);
  printf("isascii(183): %d\n", isascii(183) != 0);
  printf("\n");
  printf("islower(-45): %d\n", islower(-45));
  printf("islower( 10): %d\n", islower(10));
  printf("islower('a'): %d\n", islower('a'));
  printf("islower('A'): %d\n", islower('A'));
  printf("islower('5'): %d\n", islower('5'));
  printf("islower('.'): %d\n", islower('.'));
  printf("islower(183): %d\n", islower(183));
  printf("\n");
  printf("isupper(-45): %d\n", isupper(-45));
  printf("isupper( 10): %d\n", isupper(10));
  printf("isupper('a'): %d\n", isupper('a'));
  printf("isupper('A'): %d\n", isupper('A'));
  printf("isupper('5'): %d\n", isupper('5'));
  printf("isupper('.'): %d\n", isupper('.'));
  printf("isupper(183): %d\n", isupper(183));
  printf("\n");
  printf("isupper(-45): %d\n", isupper(-45));
  printf("isupper( 10): %d\n", isupper(10));
  printf("isupper('a'): %d\n", isupper('a'));
  printf("isupper('A'): %d\n", isupper('A'));
  printf("isupper('5'): %d\n", isupper('5'));
  printf("isupper('.'): %d\n", isupper('.'));
  printf("isupper(183): %d\n", isupper(183));
  printf("\n");
  printf("isalpha(-45): %d\n", isalpha(-45));
  printf("isalpha( 10): %d\n", isalpha(10));
  printf("isalpha('a'): %d\n", isalpha('a'));
  printf("isalpha('A'): %d\n", isalpha('A'));
  printf("isalpha('5'): %d\n", isalpha('5'));
  printf("isalpha('.'): %d\n", isalpha('.'));
  printf("isalpha(183): %d\n", isalpha(183));
  printf("\n");
  printf("isdigit(-45): %d\n", isdigit(-45));
  printf("isdigit( 10): %d\n", isdigit(10));
  printf("isdigit('a'): %d\n", isdigit('a'));
  printf("isdigit('A'): %d\n", isdigit('A'));
  printf("isdigit('5'): %d\n", isdigit('5'));
  printf("isdigit('.'): %d\n", isdigit('.'));
  printf("isdigit(183): %d\n", isdigit(183));
  printf("\n");
  printf("isxdigit(-45): %d\n", isxdigit(-45));
  printf("isxdigit( 10): %d\n", isxdigit(10));
  printf("isxdigit('a'): %d\n", isxdigit('a'));
  printf("isxdigit('A'): %d\n", isxdigit('A'));
  printf("isxdigit('5'): %d\n", isxdigit('5'));
  printf("isxdigit('.'): %d\n", isxdigit('.'));
  printf("isxdigit(183): %d\n", isxdigit(183));
  printf("\n");
  printf("isalnum(-45): %d\n", isalnum(-45));
  printf("isalnum( 10): %d\n", isalnum(10));
  printf("isalnum('a'): %d\n", isalnum('a'));
  printf("isalnum('A'): %d\n", isalnum('A'));
  printf("isalnum('5'): %d\n", isalnum('5'));
  printf("isalnum('.'): %d\n", isalnum('.'));
  printf("isalnum(183): %d\n", isalnum(183));
  printf("\n");
  printf("ispunct(-45): %d\n", ispunct(-45));
  printf("ispunct( 10): %d\n", ispunct(10));
  printf("ispunct('a'): %d\n", ispunct('a'));
  printf("ispunct('A'): %d\n", ispunct('A'));
  printf("ispunct('5'): %d\n", ispunct('5'));
  printf("ispunct('.'): %d\n", ispunct('.'));
  printf("ispunct(183): %d\n", ispunct(183));
  printf("\n");
  printf("isspace(-45): %d\n", isspace(-45));
  printf("isspace( 10): %d\n", isspace(10));
  printf("isspace('a'): %d\n", isspace('a'));
  printf("isspace('A'): %d\n", isspace('A'));
  printf("isspace('5'): %d\n", isspace('5'));
  printf("isspace('.'): %d\n", isspace('.'));
  printf("isspace(183): %d\n", isspace(183));
  printf("\n");
  printf("isblank(-45): %d\n", isblank(-45));
  printf("isblank( 10): %d\n", isblank(10));
  printf("isblank('a'): %d\n", isblank('a'));
  printf("isblank('A'): %d\n", isblank('A'));
  printf("isblank('5'): %d\n", isblank('5'));
  printf("isblank('.'): %d\n", isblank('.'));
  printf("isblank(183): %d\n", isblank(183));
  printf("\n");
  printf("iscntrl(-45): %d\n", iscntrl(-45));
  printf("iscntrl( 10): %d\n", iscntrl(10));
  printf("iscntrl('a'): %d\n", iscntrl('a'));
  printf("iscntrl('A'): %d\n", iscntrl('A'));
  printf("iscntrl('5'): %d\n", iscntrl('5'));
  printf("iscntrl('.'): %d\n", iscntrl('.'));
  printf("iscntrl(183): %d\n", iscntrl(183));
  printf("\n");
  printf("isprint(-45): %d\n", isprint(-45));
  printf("isprint( 10): %d\n", isprint(10));
  printf("isprint('a'): %d\n", isprint('a'));
  printf("isprint('A'): %d\n", isprint('A'));
  printf("isprint('5'): %d\n", isprint('5'));
  printf("isprint('.'): %d\n", isprint('.'));
  printf("isprint(183): %d\n", isprint(183));
  printf("\n");
  printf("isgraph(-45): %d\n", isgraph(-45));
  printf("isgraph( 10): %d\n", isgraph(10));
  printf("isgraph('a'): %d\n", isgraph('a'));
  printf("isgraph('A'): %d\n", isgraph('A'));
  printf("isgraph('5'): %d\n", isgraph('5'));
  printf("isgraph('.'): %d\n", isgraph('.'));
  printf("isgraph(183): %d\n", isgraph(183));
  return 0;
}


x86 assembly (clang, -O0):
<main>:
push   %rbp
mov    %rsp,%rbp
sub    $0x140,%rsp
movl   $0x0,-0x4(%rbp)
mov    $0x61,%edi
call   10d0 <tolower@plt>
mov    %eax,-0x104(%rbp)
mov    $0x42,%edi
call   10d0 <tolower@plt>
mov    %eax,-0x100(%rbp)
mov    $0x31,%edi
call   10d0 <tolower@plt>
mov    -0x104(%rbp),%esi
mov    -0x100(%rbp),%edx
mov    %eax,%ecx
lea    0x1d8f(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x61,%edi
call   1050 <toupper@plt>
mov    %eax,-0xfc(%rbp)
mov    $0x42,%edi
call   1050 <toupper@plt>
mov    %eax,-0xf8(%rbp)
mov    $0x31,%edi
call   1050 <toupper@plt>
mov    -0xfc(%rbp),%esi
mov    -0xf8(%rbp),%edx
mov    %eax,%ecx
lea    0x1d49(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x1d41(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xffffffd3,%edi
call   1110 <toascii@plt>
mov    %eax,%esi
lea    0x1d29(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xa,%edi
call   1110 <toascii@plt>
mov    %eax,%esi
lea    0x1d21(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x61,%edi
call   1110 <toascii@plt>
mov    %eax,%esi
lea    0x1d19(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xb7,%edi
call   1110 <toascii@plt>
mov    %eax,%esi
lea    0x1d11(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    -0x80(%rbp),%rdi
lea    0x3a01(%rip),%rsi
mov    $0x70,%edx
call   10c0 <memcpy@plt>
lea    -0xf0(%rbp),%rdi
lea    0x3a59(%rip),%rsi
mov    $0x70,%edx
call   10c0 <memcpy@plt>
movl   $0x0,-0xf4(%rbp)
movslq -0xf4(%rbp),%rax
cmp    $0xe,%rax
jae    1588 <main+0x368>
lea    0x1c83(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
movslq -0xf4(%rbp),%rax
mov    -0xf0(%rbp,%rax,8),%rax
ff
mov    %rax,-0x140(%rbp)
movslq -0xf4(%rbp),%rax
mov    $0xffffffd3,%edi
call   *-0x80(%rbp,%rax,8)
mov    -0x140(%rbp),%rsi
cmp    $0x0,%eax
setne  %al
and    $0x1,%al
movzbl %al,%edx
lea    0x1cf0(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
movslq -0xf4(%rbp),%rax
mov    -0xf0(%rbp,%rax,8),%rax
ff
mov    %rax,-0x138(%rbp)
movslq -0xf4(%rbp),%rax
mov    $0xa,%edi
call   *-0x80(%rbp,%rax,8)
mov    -0x138(%rbp),%rsi
cmp    $0x0,%eax
setne  %al
and    $0x1,%al
movzbl %al,%edx
lea    0x1cbc(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
movslq -0xf4(%rbp),%rax
mov    -0xf0(%rbp,%rax,8),%rax
ff
mov    %rax,-0x130(%rbp)
movslq -0xf4(%rbp),%rax
mov    $0x61,%edi
call   *-0x80(%rbp,%rax,8)
mov    -0x130(%rbp),%rsi
cmp    $0x0,%eax
setne  %al
and    $0x1,%al
movzbl %al,%edx
lea    0x1c88(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
movslq -0xf4(%rbp),%rax
mov    -0xf0(%rbp,%rax,8),%rax
ff
mov    %rax,-0x128(%rbp)
movslq -0xf4(%rbp),%rax
mov    $0x41,%edi
call   *-0x80(%rbp,%rax,8)
mov    -0x128(%rbp),%rsi
cmp    $0x0,%eax
setne  %al
and    $0x1,%al
movzbl %al,%edx
lea    0x1c54(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
movslq -0xf4(%rbp),%rax
mov    -0xf0(%rbp,%rax,8),%rax
ff
mov    %rax,-0x120(%rbp)
movslq -0xf4(%rbp),%rax
mov    $0x35,%edi
call   *-0x80(%rbp,%rax,8)
mov    -0x120(%rbp),%rsi
cmp    $0x0,%eax
setne  %al
and    $0x1,%al
movzbl %al,%edx
lea    0x1c20(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
movslq -0xf4(%rbp),%rax
mov    -0xf0(%rbp,%rax,8),%rax
ff
mov    %rax,-0x118(%rbp)
movslq -0xf4(%rbp),%rax
mov    $0x2e,%edi
call   *-0x80(%rbp,%rax,8)
mov    -0x118(%rbp),%rsi
cmp    $0x0,%eax
setne  %al
and    $0x1,%al
movzbl %al,%edx
lea    0x1bec(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
movslq -0xf4(%rbp),%rax
mov    -0xf0(%rbp,%rax,8),%rax
ff
mov    %rax,-0x110(%rbp)
movslq -0xf4(%rbp),%rax
mov    $0xb7,%edi
call   *-0x80(%rbp,%rax,8)
mov    -0x110(%rbp),%rsi
cmp    $0x0,%eax
setne  %al
and    $0x1,%al
movzbl %al,%edx
lea    0x1bb8(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    -0xf4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0xf4(%rbp)
jmp    136b <main+0x14b>
lea    0x1a77(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xffffffd3,%edi
call   1120 <isascii@plt>
cmp    $0x0,%rax
setne  %al
and    $0x1,%al
movzbl %al,%esi
lea    0x1b84(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xa,%edi
call   1120 <isascii@plt>
cmp    $0x0,%rax
setne  %al
and    $0x1,%al
movzbl %al,%esi
lea    0x1b72(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x61,%edi
call   1120 <isascii@plt>
cmp    $0x0,%rax
setne  %al
and    $0x1,%al
movzbl %al,%esi
lea    0x1b60(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x41,%edi
call   1120 <isascii@plt>
cmp    $0x0,%rax
setne  %al
and    $0x1,%al
movzbl %al,%esi
lea    0x1b4e(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x35,%edi
call   1120 <isascii@plt>
cmp    $0x0,%rax
setne  %al
and    $0x1,%al
movzbl %al,%esi
lea    0x1b3c(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x2e,%edi
call   1120 <isascii@plt>
cmp    $0x0,%rax
setne  %al
and    $0x1,%al
movzbl %al,%esi
lea    0x1b2a(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xb7,%edi
call   1120 <isascii@plt>
cmp    $0x0,%rax
setne  %al
and    $0x1,%al
movzbl %al,%esi
lea    0x1b18(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x196d(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xffffffd3,%edi
call   1040 <islower@plt>
mov    %eax,%esi
lea    0x1b02(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xa,%edi
call   1040 <islower@plt>
mov    %eax,%esi
lea    0x1afa(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x61,%edi
call   1040 <islower@plt>
mov    %eax,%esi
lea    0x1af2(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x41,%edi
call   1040 <islower@plt>
mov    %eax,%esi
lea    0x1aea(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x35,%edi
call   1040 <islower@plt>
mov    %eax,%esi
lea    0x1ae2(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x2e,%edi
call   1040 <islower@plt>
mov    %eax,%esi
lea    0x1ada(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xb7,%edi
call   1040 <islower@plt>
mov    %eax,%esi
lea    0x1ad2(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x18a9(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xffffffd3,%edi
call   10f0 <isupper@plt>
mov    %eax,%esi
lea    0x1abc(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xa,%edi
call   10f0 <isupper@plt>
mov    %eax,%esi
lea    0x1ab4(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x61,%edi
call   10f0 <isupper@plt>
mov    %eax,%esi
lea    0x1aac(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x41,%edi
call   10f0 <isupper@plt>
mov    %eax,%esi
lea    0x1aa4(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x35,%edi
call   10f0 <isupper@plt>
mov    %eax,%esi
lea    0x1a9c(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x2e,%edi
call   10f0 <isupper@plt>
mov    %eax,%esi
lea    0x1a94(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xb7,%edi
call   10f0 <isupper@plt>
mov    %eax,%esi
lea    0x1a8c(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x17e5(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xffffffd3,%edi
call   10f0 <isupper@plt>
mov    %eax,%esi
lea    0x19f8(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xa,%edi
call   10f0 <isupper@plt>
mov    %eax,%esi
lea    0x19f0(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x61,%edi
call   10f0 <isupper@plt>
mov    %eax,%esi
lea    0x19e8(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x41,%edi
call   10f0 <isupper@plt>
mov    %eax,%esi
lea    0x19e0(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x35,%edi
call   10f0 <isupper@plt>
mov    %eax,%esi
lea    0x19d8(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x2e,%edi
call   10f0 <isupper@plt>
mov    %eax,%esi
lea    0x19d0(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xb7,%edi
call   10f0 <isupper@plt>
mov    %eax,%esi
lea    0x19c8(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x1721(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xffffffd3,%edi
call   10e0 <isalpha@plt>
mov    %eax,%esi
lea    0x19b2(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xa,%edi
call   10e0 <isalpha@plt>
mov    %eax,%esi
lea    0x19aa(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x61,%edi
call   10e0 <isalpha@plt>
mov    %eax,%esi
lea    0x19a2(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x41,%edi
call   10e0 <isalpha@plt>
mov    %eax,%esi
lea    0x199a(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x35,%edi
call   10e0 <isalpha@plt>
mov    %eax,%esi
lea    0x1992(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x2e,%edi
call   10e0 <isalpha@plt>
mov    %eax,%esi
lea    0x198a(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xb7,%edi
call   10e0 <isalpha@plt>
mov    %eax,%esi
lea    0x1982(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x165d(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xffffffd3,%edi
call   1030 <isdigit@plt>
mov    %eax,%esi
lea    0x196c(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xa,%edi
call   1030 <isdigit@plt>
mov    %eax,%esi
lea    0x1964(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x61,%edi
call   1030 <isdigit@plt>
mov    %eax,%esi
lea    0x195c(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x41,%edi
call   1030 <isdigit@plt>
mov    %eax,%esi
lea    0x1954(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x35,%edi
call   1030 <isdigit@plt>
mov    %eax,%esi
lea    0x194c(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x2e,%edi
call   1030 <isdigit@plt>
mov    %eax,%esi
lea    0x1944(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xb7,%edi
call   1030 <isdigit@plt>
mov    %eax,%esi
lea    0x193c(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x1599(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xffffffd3,%edi
call   1130 <isxdigit@plt>
mov    %eax,%esi
lea    0x1926(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xa,%edi
call   1130 <isxdigit@plt>
mov    %eax,%esi
lea    0x191f(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x61,%edi
call   1130 <isxdigit@plt>
mov    %eax,%esi
lea    0x1918(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x41,%edi
call   1130 <isxdigit@plt>
mov    %eax,%esi
lea    0x1911(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x35,%edi
call   1130 <isxdigit@plt>
mov    %eax,%esi
lea    0x190a(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x2e,%edi
call   1130 <isxdigit@plt>
mov    %eax,%esi
lea    0x1903(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xb7,%edi
call   1130 <isxdigit@plt>
mov    %eax,%esi
lea    0x18fc(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x14d5(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xffffffd3,%edi
call   1080 <isalnum@plt>
mov    %eax,%esi
lea    0x18e7(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xa,%edi
call   1080 <isalnum@plt>
mov    %eax,%esi
lea    0x18df(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x61,%edi
call   1080 <isalnum@plt>
mov    %eax,%esi
lea    0x18d7(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x41,%edi
call   1080 <isalnum@plt>
mov    %eax,%esi
lea    0x18cf(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x35,%edi
call   1080 <isalnum@plt>
mov    %eax,%esi
lea    0x18c7(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x2e,%edi
call   1080 <isalnum@plt>
mov    %eax,%esi
lea    0x18bf(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xb7,%edi
call   1080 <isalnum@plt>
mov    %eax,%esi
lea    0x18b7(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x1411(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xffffffd3,%edi
call   10a0 <ispunct@plt>
mov    %eax,%esi
lea    0x18a1(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xa,%edi
call   10a0 <ispunct@plt>
mov    %eax,%esi
lea    0x1899(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x61,%edi
call   10a0 <ispunct@plt>
mov    %eax,%esi
lea    0x1891(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x41,%edi
call   10a0 <ispunct@plt>
mov    %eax,%esi
lea    0x1889(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x35,%edi
call   10a0 <ispunct@plt>
mov    %eax,%esi
lea    0x1881(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x2e,%edi
call   10a0 <ispunct@plt>
mov    %eax,%esi
lea    0x1879(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xb7,%edi
call   10a0 <ispunct@plt>
mov    %eax,%esi
lea    0x1871(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x134d(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xffffffd3,%edi
call   10b0 <isspace@plt>
mov    %eax,%esi
lea    0x185b(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xa,%edi
call   10b0 <isspace@plt>
mov    %eax,%esi
lea    0x1853(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x61,%edi
call   10b0 <isspace@plt>
mov    %eax,%esi
lea    0x184b(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x41,%edi
call   10b0 <isspace@plt>
mov    %eax,%esi
lea    0x1843(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x35,%edi
call   10b0 <isspace@plt>
mov    %eax,%esi
lea    0x183b(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x2e,%edi
call   10b0 <isspace@plt>
mov    %eax,%esi
lea    0x1833(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xb7,%edi
call   10b0 <isspace@plt>
mov    %eax,%esi
lea    0x182b(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x1289(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xffffffd3,%edi
call   1090 <isblank@plt>
mov    %eax,%esi
lea    0x1815(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xa,%edi
call   1090 <isblank@plt>
mov    %eax,%esi
lea    0x180d(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x61,%edi
call   1090 <isblank@plt>
mov    %eax,%esi
lea    0x1805(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x41,%edi
call   1090 <isblank@plt>
mov    %eax,%esi
lea    0x17fd(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x35,%edi
call   1090 <isblank@plt>
mov    %eax,%esi
lea    0x17f5(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x2e,%edi
call   1090 <isblank@plt>
mov    %eax,%esi
lea    0x17ed(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xb7,%edi
call   1090 <isblank@plt>
mov    %eax,%esi
lea    0x17e5(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x11c5(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xffffffd3,%edi
call   1060 <iscntrl@plt>
mov    %eax,%esi
lea    0x17cf(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xa,%edi
call   1060 <iscntrl@plt>
mov    %eax,%esi
lea    0x17c7(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x61,%edi
call   1060 <iscntrl@plt>
mov    %eax,%esi
lea    0x17bf(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x41,%edi
call   1060 <iscntrl@plt>
mov    %eax,%esi
lea    0x17b7(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x35,%edi
call   1060 <iscntrl@plt>
mov    %eax,%esi
lea    0x17af(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x2e,%edi
call   1060 <iscntrl@plt>
mov    %eax,%esi
lea    0x17a7(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xb7,%edi
call   1060 <iscntrl@plt>
mov    %eax,%esi
lea    0x179f(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x1101(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xffffffd3,%edi
call   1100 <isprint@plt>
mov    %eax,%esi
lea    0x1789(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xa,%edi
call   1100 <isprint@plt>
mov    %eax,%esi
lea    0x1781(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x61,%edi
call   1100 <isprint@plt>
mov    %eax,%esi
lea    0x1779(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x41,%edi
call   1100 <isprint@plt>
mov    %eax,%esi
lea    0x1771(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x35,%edi
call   1100 <isprint@plt>
mov    %eax,%esi
lea    0x1769(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x2e,%edi
call   1100 <isprint@plt>
mov    %eax,%esi
lea    0x1761(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xb7,%edi
call   1100 <isprint@plt>
mov    %eax,%esi
lea    0x1759(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
lea    0x103d(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xffffffd3,%edi
call   1140 <isgraph@plt>
mov    %eax,%esi
lea    0x1743(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xa,%edi
call   1140 <isgraph@plt>
mov    %eax,%esi
lea    0x173b(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x61,%edi
call   1140 <isgraph@plt>
mov    %eax,%esi
lea    0x1733(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x41,%edi
call   1140 <isgraph@plt>
mov    %eax,%esi
lea    0x172b(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x35,%edi
call   1140 <isgraph@plt>
mov    %eax,%esi
lea    0x1723(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0x2e,%edi
call   1140 <isgraph@plt>
mov    %eax,%esi
lea    0x171b(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
mov    $0xb7,%edi
call   1140 <isgraph@plt>
mov    %eax,%esi
lea    0x1713(%rip),%rdi
mov    $0x0,%al
call   1070 <printf@plt>
xor    %eax,%eax
add    $0x140,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<main>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
push   %rax
mov    $0x61,%edi
call   10c0 <tolower@plt>
mov    %eax,%ebx
mov    $0x42,%edi
call   10c0 <tolower@plt>
mov    %eax,%ebp
mov    $0x31,%edi
call   10c0 <tolower@plt>
lea    0xdcc(%rip),%r14
mov    %r14,%rdi
mov    %ebx,%esi
mov    %ebp,%edx
mov    %eax,%ecx
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x61,%edi
call   1050 <toupper@plt>
mov    %eax,%ebx
mov    $0x42,%edi
call   1050 <toupper@plt>
mov    %eax,%ebp
mov    $0x31,%edi
call   1050 <toupper@plt>
mov    %r14,%rdi
mov    %ebx,%esi
mov    %ebp,%edx
mov    %eax,%ecx
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0xd81(%rip),%rdi
mov    $0x53,%esi
xor    %eax,%eax
call   1070 <printf@plt>
lea    0xd80(%rip),%rdi
mov    $0xa,%esi
xor    %eax,%eax
call   1070 <printf@plt>
lea    0xd7f(%rip),%rdi
mov    $0x61,%esi
xor    %eax,%eax
call   1070 <printf@plt>
lea    0xd7e(%rip),%rdi
mov    $0x37,%esi
xor    %eax,%eax
call   1070 <printf@plt>
lea    0xe2e(%rip),%rbx
lea    0xe39(%rip),%rbp
lea    0xe44(%rip),%r14
xor    %r12d,%r12d
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0x2aaf(%rip),%rax
mov    (%r12,%rax,1),%r15
lea    0x2a34(%rip),%rax
mov    (%r12,%rax,1),%r13
mov    $0xffffffd3,%edi
call   *%r13
xor    %edx,%edx
test   %eax,%eax
setne  %dl
lea    0xd93(%rip),%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   *%r13
xor    %edx,%edx
test   %eax,%eax
setne  %dl
lea    0xd85(%rip),%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x61,%edi
call   *%r13
xor    %edx,%edx
test   %eax,%eax
setne  %dl
lea    0xd77(%rip),%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x41,%edi
call   *%r13
xor    %edx,%edx
test   %eax,%eax
setne  %dl
lea    0xd69(%rip),%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x35,%edi
call   *%r13
xor    %edx,%edx
test   %eax,%eax
setne  %dl
mov    %rbx,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x2e,%edi
call   *%r13
xor    %edx,%edx
test   %eax,%eax
setne  %dl
mov    %rbp,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xb7,%edi
call   *%r13
xor    %edx,%edx
test   %eax,%eax
setne  %dl
mov    %r14,%rdi
mov    %r15,%rsi
xor    %eax,%eax
call   1070 <printf@plt>
add    $0x8,%r12
cmp    $0x70,%r12
jne    12f0 <main+0xf0>
mov    $0xa,%edi
call   1030 <putchar@plt>
mov    $0xffffffd3,%edi
call   1100 <isascii@plt>
xor    %esi,%esi
test   %rax,%rax
setne  %sil
lea    0xd21(%rip),%rdi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1100 <isascii@plt>
xor    %esi,%esi
test   %rax,%rax
setne  %sil
lea    0xd12(%rip),%rdi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x61,%edi
call   1100 <isascii@plt>
xor    %esi,%esi
test   %rax,%rax
setne  %sil
lea    0xd03(%rip),%rdi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x41,%edi
call   1100 <isascii@plt>
xor    %esi,%esi
test   %rax,%rax
setne  %sil
lea    0xcf4(%rip),%rdi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x35,%edi
call   1100 <isascii@plt>
xor    %esi,%esi
test   %rax,%rax
setne  %sil
lea    0xce5(%rip),%rdi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x2e,%edi
call   1100 <isascii@plt>
xor    %esi,%esi
test   %rax,%rax
setne  %sil
lea    0xcd6(%rip),%rdi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xb7,%edi
call   1100 <isascii@plt>
xor    %esi,%esi
test   %rax,%rax
setne  %sil
lea    0xcc7(%rip),%rdi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
mov    $0xffffffd3,%edi
call   1040 <islower@plt>
lea    0xcb7(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1040 <islower@plt>
lea    0xcaf(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x61,%edi
call   1040 <islower@plt>
lea    0xca7(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x41,%edi
call   1040 <islower@plt>
lea    0xc9f(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x35,%edi
call   1040 <islower@plt>
lea    0xc97(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x2e,%edi
call   1040 <islower@plt>
lea    0xc8f(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xb7,%edi
call   1040 <islower@plt>
lea    0xc87(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
mov    $0xffffffd3,%edi
call   10e0 <isupper@plt>
lea    0xc75(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   10e0 <isupper@plt>
lea    0xc6d(%rip),%r15
mov    %r15,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x61,%edi
call   10e0 <isupper@plt>
lea    0xc62(%rip),%r12
mov    %r12,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x41,%edi
call   10e0 <isupper@plt>
lea    0xc57(%rip),%r13
mov    %r13,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x35,%edi
call   10e0 <isupper@plt>
lea    0xc4c(%rip),%rbx
mov    %rbx,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x2e,%edi
call   10e0 <isupper@plt>
lea    0xc41(%rip),%rbp
mov    %rbp,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xb7,%edi
call   10e0 <isupper@plt>
lea    0xc36(%rip),%r14
mov    %r14,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
mov    $0xffffffd3,%edi
call   10e0 <isupper@plt>
lea    0xba3(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   10e0 <isupper@plt>
mov    %r15,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x61,%edi
call   10e0 <isupper@plt>
mov    %r12,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x41,%edi
call   10e0 <isupper@plt>
mov    %r13,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x35,%edi
call   10e0 <isupper@plt>
mov    %rbx,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x2e,%edi
call   10e0 <isupper@plt>
mov    %rbp,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xb7,%edi
call   10e0 <isupper@plt>
mov    %r14,%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
mov    $0xffffffd3,%edi
call   10d0 <isalpha@plt>
lea    0xb79(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   10d0 <isalpha@plt>
lea    0xb71(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x61,%edi
call   10d0 <isalpha@plt>
lea    0xb69(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x41,%edi
call   10d0 <isalpha@plt>
lea    0xb61(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x35,%edi
call   10d0 <isalpha@plt>
lea    0xb59(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x2e,%edi
call   10d0 <isalpha@plt>
lea    0xb51(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xb7,%edi
call   10d0 <isalpha@plt>
lea    0xb49(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
lea    0xb41(%rip),%rdi
xor    %esi,%esi
xor    %eax,%eax
call   1070 <printf@plt>
lea    0xb43(%rip),%rdi
xor    %esi,%esi
xor    %eax,%eax
call   1070 <printf@plt>
lea    0xb45(%rip),%rdi
xor    %esi,%esi
xor    %eax,%eax
call   1070 <printf@plt>
lea    0xb47(%rip),%rdi
xor    %esi,%esi
xor    %eax,%eax
call   1070 <printf@plt>
lea    0xb49(%rip),%rdi
mov    $0x1,%esi
xor    %eax,%eax
call   1070 <printf@plt>
lea    0xb48(%rip),%rdi
xor    %esi,%esi
xor    %eax,%eax
call   1070 <printf@plt>
lea    0xb4a(%rip),%rdi
xor    %esi,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
mov    $0xffffffd3,%edi
call   1110 <isxdigit@plt>
lea    0xb38(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1110 <isxdigit@plt>
lea    0xb31(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x61,%edi
call   1110 <isxdigit@plt>
lea    0xb2a(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x41,%edi
call   1110 <isxdigit@plt>
lea    0xb23(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x35,%edi
call   1110 <isxdigit@plt>
lea    0xb1c(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x2e,%edi
call   1110 <isxdigit@plt>
lea    0xb15(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xb7,%edi
call   1110 <isxdigit@plt>
lea    0xb0e(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
mov    $0xffffffd3,%edi
call   1080 <isalnum@plt>
lea    0xafd(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1080 <isalnum@plt>
lea    0xaf5(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x61,%edi
call   1080 <isalnum@plt>
lea    0xaed(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x41,%edi
call   1080 <isalnum@plt>
lea    0xae5(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x35,%edi
call   1080 <isalnum@plt>
lea    0xadd(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x2e,%edi
call   1080 <isalnum@plt>
lea    0xad5(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xb7,%edi
call   1080 <isalnum@plt>
lea    0xacd(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
mov    $0xffffffd3,%edi
call   10a0 <ispunct@plt>
lea    0xabb(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   10a0 <ispunct@plt>
lea    0xab3(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x61,%edi
call   10a0 <ispunct@plt>
lea    0xaab(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x41,%edi
call   10a0 <ispunct@plt>
lea    0xaa3(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x35,%edi
call   10a0 <ispunct@plt>
lea    0xa9b(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x2e,%edi
call   10a0 <ispunct@plt>
lea    0xa93(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xb7,%edi
call   10a0 <ispunct@plt>
lea    0xa8b(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
mov    $0xffffffd3,%edi
call   10b0 <isspace@plt>
lea    0xa79(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   10b0 <isspace@plt>
lea    0xa71(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x61,%edi
call   10b0 <isspace@plt>
lea    0xa69(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x41,%edi
call   10b0 <isspace@plt>
lea    0xa61(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x35,%edi
call   10b0 <isspace@plt>
lea    0xa59(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x2e,%edi
call   10b0 <isspace@plt>
lea    0xa51(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xb7,%edi
call   10b0 <isspace@plt>
lea    0xa49(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
mov    $0xffffffd3,%edi
call   1090 <isblank@plt>
lea    0xa37(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1090 <isblank@plt>
lea    0xa2f(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x61,%edi
call   1090 <isblank@plt>
lea    0xa27(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x41,%edi
call   1090 <isblank@plt>
lea    0xa1f(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x35,%edi
call   1090 <isblank@plt>
lea    0xa17(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x2e,%edi
call   1090 <isblank@plt>
lea    0xa0f(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xb7,%edi
call   1090 <isblank@plt>
lea    0xa07(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
mov    $0xffffffd3,%edi
call   1060 <iscntrl@plt>
lea    0x9f5(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1060 <iscntrl@plt>
lea    0x9ed(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x61,%edi
call   1060 <iscntrl@plt>
lea    0x9e5(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x41,%edi
call   1060 <iscntrl@plt>
lea    0x9dd(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x35,%edi
call   1060 <iscntrl@plt>
lea    0x9d5(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x2e,%edi
call   1060 <iscntrl@plt>
lea    0x9cd(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xb7,%edi
call   1060 <iscntrl@plt>
lea    0x9c5(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
mov    $0xffffffd3,%edi
call   10f0 <isprint@plt>
lea    0x9b3(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   10f0 <isprint@plt>
lea    0x9ab(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x61,%edi
call   10f0 <isprint@plt>
lea    0x9a3(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x41,%edi
call   10f0 <isprint@plt>
lea    0x99b(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x35,%edi
call   10f0 <isprint@plt>
lea    0x993(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x2e,%edi
call   10f0 <isprint@plt>
lea    0x98b(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xb7,%edi
call   10f0 <isprint@plt>
lea    0x983(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1030 <putchar@plt>
mov    $0xffffffd3,%edi
call   1120 <isgraph@plt>
lea    0x971(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xa,%edi
call   1120 <isgraph@plt>
lea    0x969(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x61,%edi
call   1120 <isgraph@plt>
lea    0x961(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x41,%edi
call   1120 <isgraph@plt>
lea    0x959(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x35,%edi
call   1120 <isgraph@plt>
lea    0x951(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0x2e,%edi
call   1120 <isgraph@plt>
lea    0x949(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
mov    $0xb7,%edi
call   1120 <isgraph@plt>
lea    0x941(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   1070 <printf@plt>
xor    %eax,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
@.str = [8 x i8] c"%c%c%c\0A\00"
@.str.1 = [2 x i8] c"\0A\00"
@.str.2 = [18 x i8] c"toascii(-45): %d\0A\00"
@.str.3 = [18 x i8] c"toascii( 10): %d\0A\00"
@.str.4 = [18 x i8] c"toascii('a'): %d\0A\00"
@.str.5 = [18 x i8] c"toascii(183): %d\0A\00"
@__const.main.funcs = [14 x i32 (i32)*] [i32 (i32)* bitcast (i64 (i32)* @isascii to i32 (i32)*), i32 (i32)* @islower, i32 (i32)* @isupper, i32 (i32)* @isupper, i32 (i32)* @isalpha, i32 (i32)* @isdigit, i32 (i32)* @isxdigit, i32 (i32)* @isalnum, i32 (i32)* @ispunct, i32 (i32)* @isspace, i32 (i32)* @isblank, i32 (i32)* @iscntrl, i32 (i32)* @isprint, i32 (i32)* @isgraph]
@.str.6 = [8 x i8] c"isascii\00"
@.str.7 = [8 x i8] c"islower\00"
@.str.8 = [8 x i8] c"isupper\00"
@.str.9 = [8 x i8] c"isalpha\00"
@.str.10 = [8 x i8] c"isdigit\00"
@.str.11 = [9 x i8] c"isxdigit\00"
@.str.12 = [8 x i8] c"isalnum\00"
@.str.13 = [8 x i8] c"ispunct\00"
@.str.14 = [8 x i8] c"isspace\00"
@.str.15 = [8 x i8] c"isblank\00"
@.str.16 = [8 x i8] c"iscntrl\00"
@.str.17 = [8 x i8] c"isprint\00"
@.str.18 = [8 x i8] c"isgraph\00"
@__const.main.funcNames = [14 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.7, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.8, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.8, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.10, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.11, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.12, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.13, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.14, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.15, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.17, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.18, i32 0, i32 0)]
@.str.19 = [18 x i8] c"%s/call(-45): %d\0A\00"
@.str.20 = [18 x i8] c"%s/call( 10): %d\0A\00"
@.str.21 = [18 x i8] c"%s/call('a'): %d\0A\00"
@.str.22 = [18 x i8] c"%s/call('A'): %d\0A\00"
@.str.23 = [18 x i8] c"%s/call('5'): %d\0A\00"
@.str.24 = [18 x i8] c"%s/call('.'): %d\0A\00"
@.str.25 = [18 x i8] c"%s/call(183): %d\0A\00"
@.str.26 = [18 x i8] c"isascii(-45): %d\0A\00"
@.str.27 = [18 x i8] c"isascii( 10): %d\0A\00"
@.str.28 = [18 x i8] c"isascii('a'): %d\0A\00"
@.str.29 = [18 x i8] c"isascii('A'): %d\0A\00"
@.str.30 = [18 x i8] c"isascii('5'): %d\0A\00"
@.str.31 = [18 x i8] c"isascii('.'): %d\0A\00"
@.str.32 = [18 x i8] c"isascii(183): %d\0A\00"
@.str.33 = [18 x i8] c"islower(-45): %d\0A\00"
@.str.34 = [18 x i8] c"islower( 10): %d\0A\00"
@.str.35 = [18 x i8] c"islower('a'): %d\0A\00"
@.str.36 = [18 x i8] c"islower('A'): %d\0A\00"
@.str.37 = [18 x i8] c"islower('5'): %d\0A\00"
@.str.38 = [18 x i8] c"islower('.'): %d\0A\00"
@.str.39 = [18 x i8] c"islower(183): %d\0A\00"
@.str.40 = [18 x i8] c"isupper(-45): %d\0A\00"
@.str.41 = [18 x i8] c"isupper( 10): %d\0A\00"
@.str.42 = [18 x i8] c"isupper('a'): %d\0A\00"
@.str.43 = [18 x i8] c"isupper('A'): %d\0A\00"
@.str.44 = [18 x i8] c"isupper('5'): %d\0A\00"
@.str.45 = [18 x i8] c"isupper('.'): %d\0A\00"
@.str.46 = [18 x i8] c"isupper(183): %d\0A\00"
@.str.47 = [18 x i8] c"isalpha(-45): %d\0A\00"
@.str.48 = [18 x i8] c"isalpha( 10): %d\0A\00"
@.str.49 = [18 x i8] c"isalpha('a'): %d\0A\00"
@.str.50 = [18 x i8] c"isalpha('A'): %d\0A\00"
@.str.51 = [18 x i8] c"isalpha('5'): %d\0A\00"
@.str.52 = [18 x i8] c"isalpha('.'): %d\0A\00"
@.str.53 = [18 x i8] c"isalpha(183): %d\0A\00"
@.str.54 = [18 x i8] c"isdigit(-45): %d\0A\00"
@.str.55 = [18 x i8] c"isdigit( 10): %d\0A\00"
@.str.56 = [18 x i8] c"isdigit('a'): %d\0A\00"
@.str.57 = [18 x i8] c"isdigit('A'): %d\0A\00"
@.str.58 = [18 x i8] c"isdigit('5'): %d\0A\00"
@.str.59 = [18 x i8] c"isdigit('.'): %d\0A\00"
@.str.60 = [18 x i8] c"isdigit(183): %d\0A\00"
@.str.61 = [19 x i8] c"isxdigit(-45): %d\0A\00"
@.str.62 = [19 x i8] c"isxdigit( 10): %d\0A\00"
@.str.63 = [19 x i8] c"isxdigit('a'): %d\0A\00"
@.str.64 = [19 x i8] c"isxdigit('A'): %d\0A\00"
@.str.65 = [19 x i8] c"isxdigit('5'): %d\0A\00"
@.str.66 = [19 x i8] c"isxdigit('.'): %d\0A\00"
@.str.67 = [19 x i8] c"isxdigit(183): %d\0A\00"
@.str.68 = [18 x i8] c"isalnum(-45): %d\0A\00"
@.str.69 = [18 x i8] c"isalnum( 10): %d\0A\00"
@.str.70 = [18 x i8] c"isalnum('a'): %d\0A\00"
@.str.71 = [18 x i8] c"isalnum('A'): %d\0A\00"
@.str.72 = [18 x i8] c"isalnum('5'): %d\0A\00"
@.str.73 = [18 x i8] c"isalnum('.'): %d\0A\00"
@.str.74 = [18 x i8] c"isalnum(183): %d\0A\00"
@.str.75 = [18 x i8] c"ispunct(-45): %d\0A\00"
@.str.76 = [18 x i8] c"ispunct( 10): %d\0A\00"
@.str.77 = [18 x i8] c"ispunct('a'): %d\0A\00"
@.str.78 = [18 x i8] c"ispunct('A'): %d\0A\00"
@.str.79 = [18 x i8] c"ispunct('5'): %d\0A\00"
@.str.80 = [18 x i8] c"ispunct('.'): %d\0A\00"
@.str.81 = [18 x i8] c"ispunct(183): %d\0A\00"
@.str.82 = [18 x i8] c"isspace(-45): %d\0A\00"
@.str.83 = [18 x i8] c"isspace( 10): %d\0A\00"
@.str.84 = [18 x i8] c"isspace('a'): %d\0A\00"
@.str.85 = [18 x i8] c"isspace('A'): %d\0A\00"
@.str.86 = [18 x i8] c"isspace('5'): %d\0A\00"
@.str.87 = [18 x i8] c"isspace('.'): %d\0A\00"
@.str.88 = [18 x i8] c"isspace(183): %d\0A\00"
@.str.89 = [18 x i8] c"isblank(-45): %d\0A\00"
@.str.90 = [18 x i8] c"isblank( 10): %d\0A\00"
@.str.91 = [18 x i8] c"isblank('a'): %d\0A\00"
@.str.92 = [18 x i8] c"isblank('A'): %d\0A\00"
@.str.93 = [18 x i8] c"isblank('5'): %d\0A\00"
@.str.94 = [18 x i8] c"isblank('.'): %d\0A\00"
@.str.95 = [18 x i8] c"isblank(183): %d\0A\00"
@.str.96 = [18 x i8] c"iscntrl(-45): %d\0A\00"
@.str.97 = [18 x i8] c"iscntrl( 10): %d\0A\00"
@.str.98 = [18 x i8] c"iscntrl('a'): %d\0A\00"
@.str.99 = [18 x i8] c"iscntrl('A'): %d\0A\00"
@.str.100 = [18 x i8] c"iscntrl('5'): %d\0A\00"
@.str.101 = [18 x i8] c"iscntrl('.'): %d\0A\00"
@.str.102 = [18 x i8] c"iscntrl(183): %d\0A\00"
@.str.103 = [18 x i8] c"isprint(-45): %d\0A\00"
@.str.104 = [18 x i8] c"isprint( 10): %d\0A\00"
@.str.105 = [18 x i8] c"isprint('a'): %d\0A\00"
@.str.106 = [18 x i8] c"isprint('A'): %d\0A\00"
@.str.107 = [18 x i8] c"isprint('5'): %d\0A\00"
@.str.108 = [18 x i8] c"isprint('.'): %d\0A\00"
@.str.109 = [18 x i8] c"isprint(183): %d\0A\00"
@.str.110 = [18 x i8] c"isgraph(-45): %d\0A\00"
@.str.111 = [18 x i8] c"isgraph( 10): %d\0A\00"
@.str.112 = [18 x i8] c"isgraph('a'): %d\0A\00"
@.str.113 = [18 x i8] c"isgraph('A'): %d\0A\00"
@.str.114 = [18 x i8] c"isgraph('5'): %d\0A\00"
@.str.115 = [18 x i8] c"isgraph('.'): %d\0A\00"
@.str.116 = [18 x i8] c"isgraph(183): %d\0A\00"
define i32 @main() {
%1 = alloca i32
%2 = alloca [14 x i32 (i32)*]
%3 = alloca [14 x i8*]
%4 = alloca i32
store i32 0, i32* %1
%5 = call i32 @tolower(i8 signext 97)
%6 = call i32 @tolower(i8 signext 66)
%7 = call i32 @tolower(i8 signext 49)
%8 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str, i64 0, i64 0), i32 %5, i32 %6, i32 %7)
%9 = call i32 @toupper(i8 signext 97)
%10 = call i32 @toupper(i8 signext 66)
%11 = call i32 @toupper(i8 signext 49)
%12 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str, i64 0, i64 0), i32 %9, i32 %10, i32 %11)
%13 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%14 = call i32 @toascii(i32 -45)
%15 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.2, i64 0, i64 0), i32 %14)
%16 = call i32 @toascii(i32 10)
%17 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3, i64 0, i64 0), i32 %16)
%18 = call i32 @toascii(i32 97)
%19 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.4, i64 0, i64 0), i32 %18)
%20 = call i32 @toascii(i32 183)
%21 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5, i64 0, i64 0), i32 %20)
%22 = bitcast [14 x i32 (i32)*]* %2 to i8*
%23 = bitcast [14 x i8*]* %3 to i8*
store i32 0, i32* %4
br label %24
24: ; preds = %114, %0
%25 = load i32, i32* %4
%26 = sext i32 %25 to i64
%27 = icmp ult i64 %26, 14
br i1 %27, label %28, label %117
28: ; preds = %24
%29 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%30 = load i32, i32* %4
%31 = sext i32 %30 to i64
%32 = getelementptr inbounds [14 x i8*], [14 x i8*]* %3, i64 0, i64 %31
%33 = load i8*, i8** %32
%34 = load i32, i32* %4
%35 = sext i32 %34 to i64
%36 = getelementptr inbounds [14 x i32 (i32)*], [14 x i32 (i32)*]* %2, i64 0, i64 %35
%37 = load i32 (i32)*, i32 (i32)** %36
%38 = call i32 %37(i32 -45)
%39 = icmp ne i32 %38, 0
%40 = zext i1 %39 to i32
%41 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.19, i64 0, i64 0), i8* %33, i32 %40)
%42 = load i32, i32* %4
%43 = sext i32 %42 to i64
%44 = getelementptr inbounds [14 x i8*], [14 x i8*]* %3, i64 0, i64 %43
%45 = load i8*, i8** %44
%46 = load i32, i32* %4
%47 = sext i32 %46 to i64
%48 = getelementptr inbounds [14 x i32 (i32)*], [14 x i32 (i32)*]* %2, i64 0, i64 %47
%49 = load i32 (i32)*, i32 (i32)** %48
%50 = call i32 %49(i32 10)
%51 = icmp ne i32 %50, 0
%52 = zext i1 %51 to i32
%53 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.20, i64 0, i64 0), i8* %45, i32 %52)
%54 = load i32, i32* %4
%55 = sext i32 %54 to i64
%56 = getelementptr inbounds [14 x i8*], [14 x i8*]* %3, i64 0, i64 %55
%57 = load i8*, i8** %56
%58 = load i32, i32* %4
%59 = sext i32 %58 to i64
%60 = getelementptr inbounds [14 x i32 (i32)*], [14 x i32 (i32)*]* %2, i64 0, i64 %59
%61 = load i32 (i32)*, i32 (i32)** %60
%62 = call i32 %61(i32 97)
%63 = icmp ne i32 %62, 0
%64 = zext i1 %63 to i32
%65 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.21, i64 0, i64 0), i8* %57, i32 %64)
%66 = load i32, i32* %4
%67 = sext i32 %66 to i64
%68 = getelementptr inbounds [14 x i8*], [14 x i8*]* %3, i64 0, i64 %67
%69 = load i8*, i8** %68
%70 = load i32, i32* %4
%71 = sext i32 %70 to i64
%72 = getelementptr inbounds [14 x i32 (i32)*], [14 x i32 (i32)*]* %2, i64 0, i64 %71
%73 = load i32 (i32)*, i32 (i32)** %72
%74 = call i32 %73(i32 65)
%75 = icmp ne i32 %74, 0
%76 = zext i1 %75 to i32
%77 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.22, i64 0, i64 0), i8* %69, i32 %76)
%78 = load i32, i32* %4
%79 = sext i32 %78 to i64
%80 = getelementptr inbounds [14 x i8*], [14 x i8*]* %3, i64 0, i64 %79
%81 = load i8*, i8** %80
%82 = load i32, i32* %4
%83 = sext i32 %82 to i64
%84 = getelementptr inbounds [14 x i32 (i32)*], [14 x i32 (i32)*]* %2, i64 0, i64 %83
%85 = load i32 (i32)*, i32 (i32)** %84
%86 = call i32 %85(i32 53)
%87 = icmp ne i32 %86, 0
%88 = zext i1 %87 to i32
%89 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.23, i64 0, i64 0), i8* %81, i32 %88)
%90 = load i32, i32* %4
%91 = sext i32 %90 to i64
%92 = getelementptr inbounds [14 x i8*], [14 x i8*]* %3, i64 0, i64 %91
%93 = load i8*, i8** %92
%94 = load i32, i32* %4
%95 = sext i32 %94 to i64
%96 = getelementptr inbounds [14 x i32 (i32)*], [14 x i32 (i32)*]* %2, i64 0, i64 %95
%97 = load i32 (i32)*, i32 (i32)** %96
%98 = call i32 %97(i32 46)
%99 = icmp ne i32 %98, 0
%100 = zext i1 %99 to i32
%101 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0), i8* %93, i32 %100)
%102 = load i32, i32* %4
%103 = sext i32 %102 to i64
%104 = getelementptr inbounds [14 x i8*], [14 x i8*]* %3, i64 0, i64 %103
%105 = load i8*, i8** %104
%106 = load i32, i32* %4
%107 = sext i32 %106 to i64
%108 = getelementptr inbounds [14 x i32 (i32)*], [14 x i32 (i32)*]* %2, i64 0, i64 %107
%109 = load i32 (i32)*, i32 (i32)** %108
%110 = call i32 %109(i32 183)
%111 = icmp ne i32 %110, 0
%112 = zext i1 %111 to i32
%113 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.25, i64 0, i64 0), i8* %105, i32 %112)
br label %114
114: ; preds = %28
%115 = load i32, i32* %4
%116 = add nsw i32 %115, 1
store i32 %116, i32* %4
br label %24
117: ; preds = %24
%118 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%119 = call i64 @isascii(i32 -45)
%120 = icmp ne i64 %119, 0
%121 = zext i1 %120 to i32
%122 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.26, i64 0, i64 0), i32 %121)
%123 = call i64 @isascii(i32 10)
%124 = icmp ne i64 %123, 0
%125 = zext i1 %124 to i32
%126 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.27, i64 0, i64 0), i32 %125)
%127 = call i64 @isascii(i32 97)
%128 = icmp ne i64 %127, 0
%129 = zext i1 %128 to i32
%130 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.28, i64 0, i64 0), i32 %129)
%131 = call i64 @isascii(i32 65)
%132 = icmp ne i64 %131, 0
%133 = zext i1 %132 to i32
%134 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.29, i64 0, i64 0), i32 %133)
%135 = call i64 @isascii(i32 53)
%136 = icmp ne i64 %135, 0
%137 = zext i1 %136 to i32
%138 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.30, i64 0, i64 0), i32 %137)
%139 = call i64 @isascii(i32 46)
%140 = icmp ne i64 %139, 0
%141 = zext i1 %140 to i32
%142 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.31, i64 0, i64 0), i32 %141)
%143 = call i64 @isascii(i32 183)
%144 = icmp ne i64 %143, 0
%145 = zext i1 %144 to i32
%146 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.32, i64 0, i64 0), i32 %145)
%147 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%148 = call i32 @islower(i32 -45)
%149 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.33, i64 0, i64 0), i32 %148)
%150 = call i32 @islower(i32 10)
%151 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.34, i64 0, i64 0), i32 %150)
%152 = call i32 @islower(i32 97)
%153 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.35, i64 0, i64 0), i32 %152)
%154 = call i32 @islower(i32 65)
%155 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.36, i64 0, i64 0), i32 %154)
%156 = call i32 @islower(i32 53)
%157 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.37, i64 0, i64 0), i32 %156)
%158 = call i32 @islower(i32 46)
%159 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.38, i64 0, i64 0), i32 %158)
%160 = call i32 @islower(i32 183)
%161 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.39, i64 0, i64 0), i32 %160)
%162 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%163 = call i32 @isupper(i32 -45)
%164 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.40, i64 0, i64 0), i32 %163)
%165 = call i32 @isupper(i32 10)
%166 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.41, i64 0, i64 0), i32 %165)
%167 = call i32 @isupper(i32 97)
%168 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.42, i64 0, i64 0), i32 %167)
%169 = call i32 @isupper(i32 65)
%170 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.43, i64 0, i64 0), i32 %169)
%171 = call i32 @isupper(i32 53)
%172 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.44, i64 0, i64 0), i32 %171)
%173 = call i32 @isupper(i32 46)
%174 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.45, i64 0, i64 0), i32 %173)
%175 = call i32 @isupper(i32 183)
%176 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.46, i64 0, i64 0), i32 %175)
%177 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%178 = call i32 @isupper(i32 -45)
%179 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.40, i64 0, i64 0), i32 %178)
%180 = call i32 @isupper(i32 10)
%181 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.41, i64 0, i64 0), i32 %180)
%182 = call i32 @isupper(i32 97)
%183 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.42, i64 0, i64 0), i32 %182)
%184 = call i32 @isupper(i32 65)
%185 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.43, i64 0, i64 0), i32 %184)
%186 = call i32 @isupper(i32 53)
%187 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.44, i64 0, i64 0), i32 %186)
%188 = call i32 @isupper(i32 46)
%189 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.45, i64 0, i64 0), i32 %188)
%190 = call i32 @isupper(i32 183)
%191 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.46, i64 0, i64 0), i32 %190)
%192 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%193 = call i32 @isalpha(i32 -45)
%194 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.47, i64 0, i64 0), i32 %193)
%195 = call i32 @isalpha(i32 10)
%196 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.48, i64 0, i64 0), i32 %195)
%197 = call i32 @isalpha(i32 97)
%198 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.49, i64 0, i64 0), i32 %197)
%199 = call i32 @isalpha(i32 65)
%200 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.50, i64 0, i64 0), i32 %199)
%201 = call i32 @isalpha(i32 53)
%202 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.51, i64 0, i64 0), i32 %201)
%203 = call i32 @isalpha(i32 46)
%204 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.52, i64 0, i64 0), i32 %203)
%205 = call i32 @isalpha(i32 183)
%206 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.53, i64 0, i64 0), i32 %205)
%207 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%208 = call i32 @isdigit(i32 -45)
%209 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.54, i64 0, i64 0), i32 %208)
%210 = call i32 @isdigit(i32 10)
%211 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.55, i64 0, i64 0), i32 %210)
%212 = call i32 @isdigit(i32 97)
%213 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.56, i64 0, i64 0), i32 %212)
%214 = call i32 @isdigit(i32 65)
%215 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.57, i64 0, i64 0), i32 %214)
%216 = call i32 @isdigit(i32 53)
%217 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.58, i64 0, i64 0), i32 %216)
%218 = call i32 @isdigit(i32 46)
%219 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.59, i64 0, i64 0), i32 %218)
%220 = call i32 @isdigit(i32 183)
%221 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.60, i64 0, i64 0), i32 %220)
%222 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%223 = call i32 @isxdigit(i32 -45)
%224 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.61, i64 0, i64 0), i32 %223)
%225 = call i32 @isxdigit(i32 10)
%226 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.62, i64 0, i64 0), i32 %225)
%227 = call i32 @isxdigit(i32 97)
%228 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.63, i64 0, i64 0), i32 %227)
%229 = call i32 @isxdigit(i32 65)
%230 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.64, i64 0, i64 0), i32 %229)
%231 = call i32 @isxdigit(i32 53)
%232 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.65, i64 0, i64 0), i32 %231)
%233 = call i32 @isxdigit(i32 46)
%234 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.66, i64 0, i64 0), i32 %233)
%235 = call i32 @isxdigit(i32 183)
%236 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.67, i64 0, i64 0), i32 %235)
%237 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%238 = call i32 @isalnum(i32 -45)
%239 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.68, i64 0, i64 0), i32 %238)
%240 = call i32 @isalnum(i32 10)
%241 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.69, i64 0, i64 0), i32 %240)
%242 = call i32 @isalnum(i32 97)
%243 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.70, i64 0, i64 0), i32 %242)
%244 = call i32 @isalnum(i32 65)
%245 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.71, i64 0, i64 0), i32 %244)
%246 = call i32 @isalnum(i32 53)
%247 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.72, i64 0, i64 0), i32 %246)
%248 = call i32 @isalnum(i32 46)
%249 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.73, i64 0, i64 0), i32 %248)
%250 = call i32 @isalnum(i32 183)
%251 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.74, i64 0, i64 0), i32 %250)
%252 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%253 = call i32 @ispunct(i32 -45)
%254 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.75, i64 0, i64 0), i32 %253)
%255 = call i32 @ispunct(i32 10)
%256 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.76, i64 0, i64 0), i32 %255)
%257 = call i32 @ispunct(i32 97)
%258 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.77, i64 0, i64 0), i32 %257)
%259 = call i32 @ispunct(i32 65)
%260 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.78, i64 0, i64 0), i32 %259)
%261 = call i32 @ispunct(i32 53)
%262 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.79, i64 0, i64 0), i32 %261)
%263 = call i32 @ispunct(i32 46)
%264 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.80, i64 0, i64 0), i32 %263)
%265 = call i32 @ispunct(i32 183)
%266 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.81, i64 0, i64 0), i32 %265)
%267 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%268 = call i32 @isspace(i32 -45)
%269 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.82, i64 0, i64 0), i32 %268)
%270 = call i32 @isspace(i32 10)
%271 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.83, i64 0, i64 0), i32 %270)
%272 = call i32 @isspace(i32 97)
%273 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.84, i64 0, i64 0), i32 %272)
%274 = call i32 @isspace(i32 65)
%275 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.85, i64 0, i64 0), i32 %274)
%276 = call i32 @isspace(i32 53)
%277 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.86, i64 0, i64 0), i32 %276)
%278 = call i32 @isspace(i32 46)
%279 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.87, i64 0, i64 0), i32 %278)
%280 = call i32 @isspace(i32 183)
%281 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.88, i64 0, i64 0), i32 %280)
%282 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%283 = call i32 @isblank(i32 -45)
%284 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.89, i64 0, i64 0), i32 %283)
%285 = call i32 @isblank(i32 10)
%286 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.90, i64 0, i64 0), i32 %285)
%287 = call i32 @isblank(i32 97)
%288 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.91, i64 0, i64 0), i32 %287)
%289 = call i32 @isblank(i32 65)
%290 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.92, i64 0, i64 0), i32 %289)
%291 = call i32 @isblank(i32 53)
%292 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.93, i64 0, i64 0), i32 %291)
%293 = call i32 @isblank(i32 46)
%294 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.94, i64 0, i64 0), i32 %293)
%295 = call i32 @isblank(i32 183)
%296 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.95, i64 0, i64 0), i32 %295)
%297 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%298 = call i32 @iscntrl(i32 -45)
%299 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.96, i64 0, i64 0), i32 %298)
%300 = call i32 @iscntrl(i32 10)
%301 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.97, i64 0, i64 0), i32 %300)
%302 = call i32 @iscntrl(i32 97)
%303 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.98, i64 0, i64 0), i32 %302)
%304 = call i32 @iscntrl(i32 65)
%305 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.99, i64 0, i64 0), i32 %304)
%306 = call i32 @iscntrl(i32 53)
%307 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.100, i64 0, i64 0), i32 %306)
%308 = call i32 @iscntrl(i32 46)
%309 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.101, i64 0, i64 0), i32 %308)
%310 = call i32 @iscntrl(i32 183)
%311 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.102, i64 0, i64 0), i32 %310)
%312 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%313 = call i32 @isprint(i32 -45)
%314 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.103, i64 0, i64 0), i32 %313)
%315 = call i32 @isprint(i32 10)
%316 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.104, i64 0, i64 0), i32 %315)
%317 = call i32 @isprint(i32 97)
%318 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.105, i64 0, i64 0), i32 %317)
%319 = call i32 @isprint(i32 65)
%320 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.106, i64 0, i64 0), i32 %319)
%321 = call i32 @isprint(i32 53)
%322 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.107, i64 0, i64 0), i32 %321)
%323 = call i32 @isprint(i32 46)
%324 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.108, i64 0, i64 0), i32 %323)
%325 = call i32 @isprint(i32 183)
%326 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.109, i64 0, i64 0), i32 %325)
%327 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.1, i64 0, i64 0))
%328 = call i32 @isgraph(i32 -45)
%329 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.110, i64 0, i64 0), i32 %328)
%330 = call i32 @isgraph(i32 10)
%331 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.111, i64 0, i64 0), i32 %330)
%332 = call i32 @isgraph(i32 97)
%333 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.112, i64 0, i64 0), i32 %332)
%334 = call i32 @isgraph(i32 65)
%335 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.113, i64 0, i64 0), i32 %334)
%336 = call i32 @isgraph(i32 53)
%337 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.114, i64 0, i64 0), i32 %336)
%338 = call i32 @isgraph(i32 46)
%339 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.115, i64 0, i64 0), i32 %338)
%340 = call i32 @isgraph(i32 183)
%341 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.116, i64 0, i64 0), i32 %340)
ret i32 0
}

LLVM IR (-O2):
@.str = [8 x i8] c"%c%c%c\0A\00"
@.str.2 = [18 x i8] c"toascii(-45): %d\0A\00"
@.str.3 = [18 x i8] c"toascii( 10): %d\0A\00"
@.str.4 = [18 x i8] c"toascii('a'): %d\0A\00"
@.str.5 = [18 x i8] c"toascii(183): %d\0A\00"
@__const.main.funcs = [14 x i32 (i32)*] [i32 (i32)* bitcast (i64 (i32)* @isascii to i32 (i32)*), i32 (i32)* @islower, i32 (i32)* @isupper, i32 (i32)* @isupper, i32 (i32)* @isalpha, i32 (i32)* @isdigit, i32 (i32)* @isxdigit, i32 (i32)* @isalnum, i32 (i32)* @ispunct, i32 (i32)* @isspace, i32 (i32)* @isblank, i32 (i32)* @iscntrl, i32 (i32)* @isprint, i32 (i32)* @isgraph]
@.str.6 = [8 x i8] c"isascii\00"
@.str.7 = [8 x i8] c"islower\00"
@.str.8 = [8 x i8] c"isupper\00"
@.str.9 = [8 x i8] c"isalpha\00"
@.str.10 = [8 x i8] c"isdigit\00"
@.str.11 = [9 x i8] c"isxdigit\00"
@.str.12 = [8 x i8] c"isalnum\00"
@.str.13 = [8 x i8] c"ispunct\00"
@.str.14 = [8 x i8] c"isspace\00"
@.str.15 = [8 x i8] c"isblank\00"
@.str.16 = [8 x i8] c"iscntrl\00"
@.str.17 = [8 x i8] c"isprint\00"
@.str.18 = [8 x i8] c"isgraph\00"
@__const.main.funcNames = [14 x i8*] [i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.6, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.7, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.8, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.8, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.10, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.11, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.12, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.13, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.14, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.15, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.16, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.17, i32 0, i32 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.18, i32 0, i32 0)]
@.str.19 = [18 x i8] c"%s/call(-45): %d\0A\00"
@.str.20 = [18 x i8] c"%s/call( 10): %d\0A\00"
@.str.21 = [18 x i8] c"%s/call('a'): %d\0A\00"
@.str.22 = [18 x i8] c"%s/call('A'): %d\0A\00"
@.str.23 = [18 x i8] c"%s/call('5'): %d\0A\00"
@.str.24 = [18 x i8] c"%s/call('.'): %d\0A\00"
@.str.25 = [18 x i8] c"%s/call(183): %d\0A\00"
@.str.26 = [18 x i8] c"isascii(-45): %d\0A\00"
@.str.27 = [18 x i8] c"isascii( 10): %d\0A\00"
@.str.28 = [18 x i8] c"isascii('a'): %d\0A\00"
@.str.29 = [18 x i8] c"isascii('A'): %d\0A\00"
@.str.30 = [18 x i8] c"isascii('5'): %d\0A\00"
@.str.31 = [18 x i8] c"isascii('.'): %d\0A\00"
@.str.32 = [18 x i8] c"isascii(183): %d\0A\00"
@.str.33 = [18 x i8] c"islower(-45): %d\0A\00"
@.str.34 = [18 x i8] c"islower( 10): %d\0A\00"
@.str.35 = [18 x i8] c"islower('a'): %d\0A\00"
@.str.36 = [18 x i8] c"islower('A'): %d\0A\00"
@.str.37 = [18 x i8] c"islower('5'): %d\0A\00"
@.str.38 = [18 x i8] c"islower('.'): %d\0A\00"
@.str.39 = [18 x i8] c"islower(183): %d\0A\00"
@.str.40 = [18 x i8] c"isupper(-45): %d\0A\00"
@.str.41 = [18 x i8] c"isupper( 10): %d\0A\00"
@.str.42 = [18 x i8] c"isupper('a'): %d\0A\00"
@.str.43 = [18 x i8] c"isupper('A'): %d\0A\00"
@.str.44 = [18 x i8] c"isupper('5'): %d\0A\00"
@.str.45 = [18 x i8] c"isupper('.'): %d\0A\00"
@.str.46 = [18 x i8] c"isupper(183): %d\0A\00"
@.str.47 = [18 x i8] c"isalpha(-45): %d\0A\00"
@.str.48 = [18 x i8] c"isalpha( 10): %d\0A\00"
@.str.49 = [18 x i8] c"isalpha('a'): %d\0A\00"
@.str.50 = [18 x i8] c"isalpha('A'): %d\0A\00"
@.str.51 = [18 x i8] c"isalpha('5'): %d\0A\00"
@.str.52 = [18 x i8] c"isalpha('.'): %d\0A\00"
@.str.53 = [18 x i8] c"isalpha(183): %d\0A\00"
@.str.54 = [18 x i8] c"isdigit(-45): %d\0A\00"
@.str.55 = [18 x i8] c"isdigit( 10): %d\0A\00"
@.str.56 = [18 x i8] c"isdigit('a'): %d\0A\00"
@.str.57 = [18 x i8] c"isdigit('A'): %d\0A\00"
@.str.58 = [18 x i8] c"isdigit('5'): %d\0A\00"
@.str.59 = [18 x i8] c"isdigit('.'): %d\0A\00"
@.str.60 = [18 x i8] c"isdigit(183): %d\0A\00"
@.str.61 = [19 x i8] c"isxdigit(-45): %d\0A\00"
@.str.62 = [19 x i8] c"isxdigit( 10): %d\0A\00"
@.str.63 = [19 x i8] c"isxdigit('a'): %d\0A\00"
@.str.64 = [19 x i8] c"isxdigit('A'): %d\0A\00"
@.str.65 = [19 x i8] c"isxdigit('5'): %d\0A\00"
@.str.66 = [19 x i8] c"isxdigit('.'): %d\0A\00"
@.str.67 = [19 x i8] c"isxdigit(183): %d\0A\00"
@.str.68 = [18 x i8] c"isalnum(-45): %d\0A\00"
@.str.69 = [18 x i8] c"isalnum( 10): %d\0A\00"
@.str.70 = [18 x i8] c"isalnum('a'): %d\0A\00"
@.str.71 = [18 x i8] c"isalnum('A'): %d\0A\00"
@.str.72 = [18 x i8] c"isalnum('5'): %d\0A\00"
@.str.73 = [18 x i8] c"isalnum('.'): %d\0A\00"
@.str.74 = [18 x i8] c"isalnum(183): %d\0A\00"
@.str.75 = [18 x i8] c"ispunct(-45): %d\0A\00"
@.str.76 = [18 x i8] c"ispunct( 10): %d\0A\00"
@.str.77 = [18 x i8] c"ispunct('a'): %d\0A\00"
@.str.78 = [18 x i8] c"ispunct('A'): %d\0A\00"
@.str.79 = [18 x i8] c"ispunct('5'): %d\0A\00"
@.str.80 = [18 x i8] c"ispunct('.'): %d\0A\00"
@.str.81 = [18 x i8] c"ispunct(183): %d\0A\00"
@.str.82 = [18 x i8] c"isspace(-45): %d\0A\00"
@.str.83 = [18 x i8] c"isspace( 10): %d\0A\00"
@.str.84 = [18 x i8] c"isspace('a'): %d\0A\00"
@.str.85 = [18 x i8] c"isspace('A'): %d\0A\00"
@.str.86 = [18 x i8] c"isspace('5'): %d\0A\00"
@.str.87 = [18 x i8] c"isspace('.'): %d\0A\00"
@.str.88 = [18 x i8] c"isspace(183): %d\0A\00"
@.str.89 = [18 x i8] c"isblank(-45): %d\0A\00"
@.str.90 = [18 x i8] c"isblank( 10): %d\0A\00"
@.str.91 = [18 x i8] c"isblank('a'): %d\0A\00"
@.str.92 = [18 x i8] c"isblank('A'): %d\0A\00"
@.str.93 = [18 x i8] c"isblank('5'): %d\0A\00"
@.str.94 = [18 x i8] c"isblank('.'): %d\0A\00"
@.str.95 = [18 x i8] c"isblank(183): %d\0A\00"
@.str.96 = [18 x i8] c"iscntrl(-45): %d\0A\00"
@.str.97 = [18 x i8] c"iscntrl( 10): %d\0A\00"
@.str.98 = [18 x i8] c"iscntrl('a'): %d\0A\00"
@.str.99 = [18 x i8] c"iscntrl('A'): %d\0A\00"
@.str.100 = [18 x i8] c"iscntrl('5'): %d\0A\00"
@.str.101 = [18 x i8] c"iscntrl('.'): %d\0A\00"
@.str.102 = [18 x i8] c"iscntrl(183): %d\0A\00"
@.str.103 = [18 x i8] c"isprint(-45): %d\0A\00"
@.str.104 = [18 x i8] c"isprint( 10): %d\0A\00"
@.str.105 = [18 x i8] c"isprint('a'): %d\0A\00"
@.str.106 = [18 x i8] c"isprint('A'): %d\0A\00"
@.str.107 = [18 x i8] c"isprint('5'): %d\0A\00"
@.str.108 = [18 x i8] c"isprint('.'): %d\0A\00"
@.str.109 = [18 x i8] c"isprint(183): %d\0A\00"
@.str.110 = [18 x i8] c"isgraph(-45): %d\0A\00"
@.str.111 = [18 x i8] c"isgraph( 10): %d\0A\00"
@.str.112 = [18 x i8] c"isgraph('a'): %d\0A\00"
@.str.113 = [18 x i8] c"isgraph('A'): %d\0A\00"
@.str.114 = [18 x i8] c"isgraph('5'): %d\0A\00"
@.str.115 = [18 x i8] c"isgraph('.'): %d\0A\00"
@.str.116 = [18 x i8] c"isgraph(183): %d\0A\00"
define i32 @main() {
%1 = tail call i32 @tolower(i8 signext 97)
%2 = tail call i32 @tolower(i8 signext 66)
%3 = tail call i32 @tolower(i8 signext 49)
%4 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([8 x i8], [8 x i8]* @.str, i64 0, i64 0), i32 %1, i32 %2, i32 %3)
%5 = tail call i32 @toupper(i8 signext 97)
%6 = tail call i32 @toupper(i8 signext 66)
%7 = tail call i32 @toupper(i8 signext 49)
%8 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([8 x i8], [8 x i8]* @.str, i64 0, i64 0), i32 %5, i32 %6, i32 %7)
%9 = tail call i32 @putchar(i32 10)
%10 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.2, i64 0, i64 0), i32 83)
%11 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.3, i64 0, i64 0), i32 10)
%12 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.4, i64 0, i64 0), i32 97)
%13 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.5, i64 0, i64 0), i32 55)
br label %232
14: ; preds = %232
%15 = tail call i32 @putchar(i32 10)
%16 = tail call i64 @isascii(i32 -45)
%17 = icmp ne i64 %16, 0
%18 = zext i1 %17 to i32
%19 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.26, i64 0, i64 0), i32 %18)
%20 = tail call i64 @isascii(i32 10)
%21 = icmp ne i64 %20, 0
%22 = zext i1 %21 to i32
%23 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.27, i64 0, i64 0), i32 %22)
%24 = tail call i64 @isascii(i32 97)
%25 = icmp ne i64 %24, 0
%26 = zext i1 %25 to i32
%27 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.28, i64 0, i64 0), i32 %26)
%28 = tail call i64 @isascii(i32 65)
%29 = icmp ne i64 %28, 0
%30 = zext i1 %29 to i32
%31 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.29, i64 0, i64 0), i32 %30)
%32 = tail call i64 @isascii(i32 53)
%33 = icmp ne i64 %32, 0
%34 = zext i1 %33 to i32
%35 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.30, i64 0, i64 0), i32 %34)
%36 = tail call i64 @isascii(i32 46)
%37 = icmp ne i64 %36, 0
%38 = zext i1 %37 to i32
%39 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.31, i64 0, i64 0), i32 %38)
%40 = tail call i64 @isascii(i32 183)
%41 = icmp ne i64 %40, 0
%42 = zext i1 %41 to i32
%43 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.32, i64 0, i64 0), i32 %42)
%44 = tail call i32 @putchar(i32 10)
%45 = tail call i32 @islower(i32 -45)
%46 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.33, i64 0, i64 0), i32 %45)
%47 = tail call i32 @islower(i32 10)
%48 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.34, i64 0, i64 0), i32 %47)
%49 = tail call i32 @islower(i32 97)
%50 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.35, i64 0, i64 0), i32 %49)
%51 = tail call i32 @islower(i32 65)
%52 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.36, i64 0, i64 0), i32 %51)
%53 = tail call i32 @islower(i32 53)
%54 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.37, i64 0, i64 0), i32 %53)
%55 = tail call i32 @islower(i32 46)
%56 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.38, i64 0, i64 0), i32 %55)
%57 = tail call i32 @islower(i32 183)
%58 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.39, i64 0, i64 0), i32 %57)
%59 = tail call i32 @putchar(i32 10)
%60 = tail call i32 @isupper(i32 -45)
%61 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.40, i64 0, i64 0), i32 %60)
%62 = tail call i32 @isupper(i32 10)
%63 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.41, i64 0, i64 0), i32 %62)
%64 = tail call i32 @isupper(i32 97)
%65 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.42, i64 0, i64 0), i32 %64)
%66 = tail call i32 @isupper(i32 65)
%67 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.43, i64 0, i64 0), i32 %66)
%68 = tail call i32 @isupper(i32 53)
%69 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.44, i64 0, i64 0), i32 %68)
%70 = tail call i32 @isupper(i32 46)
%71 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.45, i64 0, i64 0), i32 %70)
%72 = tail call i32 @isupper(i32 183)
%73 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.46, i64 0, i64 0), i32 %72)
%74 = tail call i32 @putchar(i32 10)
%75 = tail call i32 @isupper(i32 -45)
%76 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.40, i64 0, i64 0), i32 %75)
%77 = tail call i32 @isupper(i32 10)
%78 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.41, i64 0, i64 0), i32 %77)
%79 = tail call i32 @isupper(i32 97)
%80 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.42, i64 0, i64 0), i32 %79)
%81 = tail call i32 @isupper(i32 65)
%82 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.43, i64 0, i64 0), i32 %81)
%83 = tail call i32 @isupper(i32 53)
%84 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.44, i64 0, i64 0), i32 %83)
%85 = tail call i32 @isupper(i32 46)
%86 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.45, i64 0, i64 0), i32 %85)
%87 = tail call i32 @isupper(i32 183)
%88 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.46, i64 0, i64 0), i32 %87)
%89 = tail call i32 @putchar(i32 10)
%90 = tail call i32 @isalpha(i32 -45)
%91 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.47, i64 0, i64 0), i32 %90)
%92 = tail call i32 @isalpha(i32 10)
%93 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.48, i64 0, i64 0), i32 %92)
%94 = tail call i32 @isalpha(i32 97)
%95 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.49, i64 0, i64 0), i32 %94)
%96 = tail call i32 @isalpha(i32 65)
%97 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.50, i64 0, i64 0), i32 %96)
%98 = tail call i32 @isalpha(i32 53)
%99 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.51, i64 0, i64 0), i32 %98)
%100 = tail call i32 @isalpha(i32 46)
%101 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.52, i64 0, i64 0), i32 %100)
%102 = tail call i32 @isalpha(i32 183)
%103 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.53, i64 0, i64 0), i32 %102)
%104 = tail call i32 @putchar(i32 10)
%105 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.54, i64 0, i64 0), i32 0)
%106 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.55, i64 0, i64 0), i32 0)
%107 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.56, i64 0, i64 0), i32 0)
%108 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.57, i64 0, i64 0), i32 0)
%109 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.58, i64 0, i64 0), i32 1)
%110 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.59, i64 0, i64 0), i32 0)
%111 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.60, i64 0, i64 0), i32 0)
%112 = tail call i32 @putchar(i32 10)
%113 = tail call i32 @isxdigit(i32 -45)
%114 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.61, i64 0, i64 0), i32 %113)
%115 = tail call i32 @isxdigit(i32 10)
%116 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.62, i64 0, i64 0), i32 %115)
%117 = tail call i32 @isxdigit(i32 97)
%118 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.63, i64 0, i64 0), i32 %117)
%119 = tail call i32 @isxdigit(i32 65)
%120 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.64, i64 0, i64 0), i32 %119)
%121 = tail call i32 @isxdigit(i32 53)
%122 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.65, i64 0, i64 0), i32 %121)
%123 = tail call i32 @isxdigit(i32 46)
%124 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.66, i64 0, i64 0), i32 %123)
%125 = tail call i32 @isxdigit(i32 183)
%126 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([19 x i8], [19 x i8]* @.str.67, i64 0, i64 0), i32 %125)
%127 = tail call i32 @putchar(i32 10)
%128 = tail call i32 @isalnum(i32 -45)
%129 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.68, i64 0, i64 0), i32 %128)
%130 = tail call i32 @isalnum(i32 10)
%131 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.69, i64 0, i64 0), i32 %130)
%132 = tail call i32 @isalnum(i32 97)
%133 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.70, i64 0, i64 0), i32 %132)
%134 = tail call i32 @isalnum(i32 65)
%135 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.71, i64 0, i64 0), i32 %134)
%136 = tail call i32 @isalnum(i32 53)
%137 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.72, i64 0, i64 0), i32 %136)
%138 = tail call i32 @isalnum(i32 46)
%139 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.73, i64 0, i64 0), i32 %138)
%140 = tail call i32 @isalnum(i32 183)
%141 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.74, i64 0, i64 0), i32 %140)
%142 = tail call i32 @putchar(i32 10)
%143 = tail call i32 @ispunct(i32 -45)
%144 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.75, i64 0, i64 0), i32 %143)
%145 = tail call i32 @ispunct(i32 10)
%146 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.76, i64 0, i64 0), i32 %145)
%147 = tail call i32 @ispunct(i32 97)
%148 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.77, i64 0, i64 0), i32 %147)
%149 = tail call i32 @ispunct(i32 65)
%150 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.78, i64 0, i64 0), i32 %149)
%151 = tail call i32 @ispunct(i32 53)
%152 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.79, i64 0, i64 0), i32 %151)
%153 = tail call i32 @ispunct(i32 46)
%154 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.80, i64 0, i64 0), i32 %153)
%155 = tail call i32 @ispunct(i32 183)
%156 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.81, i64 0, i64 0), i32 %155)
%157 = tail call i32 @putchar(i32 10)
%158 = tail call i32 @isspace(i32 -45)
%159 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.82, i64 0, i64 0), i32 %158)
%160 = tail call i32 @isspace(i32 10)
%161 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.83, i64 0, i64 0), i32 %160)
%162 = tail call i32 @isspace(i32 97)
%163 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.84, i64 0, i64 0), i32 %162)
%164 = tail call i32 @isspace(i32 65)
%165 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.85, i64 0, i64 0), i32 %164)
%166 = tail call i32 @isspace(i32 53)
%167 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.86, i64 0, i64 0), i32 %166)
%168 = tail call i32 @isspace(i32 46)
%169 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.87, i64 0, i64 0), i32 %168)
%170 = tail call i32 @isspace(i32 183)
%171 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.88, i64 0, i64 0), i32 %170)
%172 = tail call i32 @putchar(i32 10)
%173 = tail call i32 @isblank(i32 -45)
%174 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.89, i64 0, i64 0), i32 %173)
%175 = tail call i32 @isblank(i32 10)
%176 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.90, i64 0, i64 0), i32 %175)
%177 = tail call i32 @isblank(i32 97)
%178 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.91, i64 0, i64 0), i32 %177)
%179 = tail call i32 @isblank(i32 65)
%180 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.92, i64 0, i64 0), i32 %179)
%181 = tail call i32 @isblank(i32 53)
%182 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.93, i64 0, i64 0), i32 %181)
%183 = tail call i32 @isblank(i32 46)
%184 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.94, i64 0, i64 0), i32 %183)
%185 = tail call i32 @isblank(i32 183)
%186 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.95, i64 0, i64 0), i32 %185)
%187 = tail call i32 @putchar(i32 10)
%188 = tail call i32 @iscntrl(i32 -45)
%189 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.96, i64 0, i64 0), i32 %188)
%190 = tail call i32 @iscntrl(i32 10)
%191 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.97, i64 0, i64 0), i32 %190)
%192 = tail call i32 @iscntrl(i32 97)
%193 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.98, i64 0, i64 0), i32 %192)
%194 = tail call i32 @iscntrl(i32 65)
%195 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.99, i64 0, i64 0), i32 %194)
%196 = tail call i32 @iscntrl(i32 53)
%197 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.100, i64 0, i64 0), i32 %196)
%198 = tail call i32 @iscntrl(i32 46)
%199 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.101, i64 0, i64 0), i32 %198)
%200 = tail call i32 @iscntrl(i32 183)
%201 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.102, i64 0, i64 0), i32 %200)
%202 = tail call i32 @putchar(i32 10)
%203 = tail call i32 @isprint(i32 -45)
%204 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.103, i64 0, i64 0), i32 %203)
%205 = tail call i32 @isprint(i32 10)
%206 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.104, i64 0, i64 0), i32 %205)
%207 = tail call i32 @isprint(i32 97)
%208 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.105, i64 0, i64 0), i32 %207)
%209 = tail call i32 @isprint(i32 65)
%210 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.106, i64 0, i64 0), i32 %209)
%211 = tail call i32 @isprint(i32 53)
%212 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.107, i64 0, i64 0), i32 %211)
%213 = tail call i32 @isprint(i32 46)
%214 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.108, i64 0, i64 0), i32 %213)
%215 = tail call i32 @isprint(i32 183)
%216 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.109, i64 0, i64 0), i32 %215)
%217 = tail call i32 @putchar(i32 10)
%218 = tail call i32 @isgraph(i32 -45)
%219 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.110, i64 0, i64 0), i32 %218)
%220 = tail call i32 @isgraph(i32 10)
%221 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.111, i64 0, i64 0), i32 %220)
%222 = tail call i32 @isgraph(i32 97)
%223 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.112, i64 0, i64 0), i32 %222)
%224 = tail call i32 @isgraph(i32 65)
%225 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.113, i64 0, i64 0), i32 %224)
%226 = tail call i32 @isgraph(i32 53)
%227 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.114, i64 0, i64 0), i32 %226)
%228 = tail call i32 @isgraph(i32 46)
%229 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.115, i64 0, i64 0), i32 %228)
%230 = tail call i32 @isgraph(i32 183)
%231 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.116, i64 0, i64 0), i32 %230)
ret i32 0
232: ; preds = %0, %232
%233 = phi i64 [ 0, %0 ], [ %267, %232 ]
%234 = tail call i32 @putchar(i32 10)
%235 = getelementptr inbounds [14 x i8*], [14 x i8*]* @__const.main.funcNames, i64 0, i64 %233
%236 = load i8*, i8** %235
%237 = getelementptr inbounds [14 x i32 (i32)*], [14 x i32 (i32)*]* @__const.main.funcs, i64 0, i64 %233
%238 = load i32 (i32)*, i32 (i32)** %237
%239 = tail call i32 %238(i32 -45)
%240 = icmp ne i32 %239, 0
%241 = zext i1 %240 to i32
%242 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.19, i64 0, i64 0), i8* %236, i32 %241)
%243 = tail call i32 %238(i32 10)
%244 = icmp ne i32 %243, 0
%245 = zext i1 %244 to i32
%246 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.20, i64 0, i64 0), i8* %236, i32 %245)
%247 = tail call i32 %238(i32 97)
%248 = icmp ne i32 %247, 0
%249 = zext i1 %248 to i32
%250 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.21, i64 0, i64 0), i8* %236, i32 %249)
%251 = tail call i32 %238(i32 65)
%252 = icmp ne i32 %251, 0
%253 = zext i1 %252 to i32
%254 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.22, i64 0, i64 0), i8* %236, i32 %253)
%255 = tail call i32 %238(i32 53)
%256 = icmp ne i32 %255, 0
%257 = zext i1 %256 to i32
%258 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.23, i64 0, i64 0), i8* %236, i32 %257)
%259 = tail call i32 %238(i32 46)
%260 = icmp ne i32 %259, 0
%261 = zext i1 %260 to i32
%262 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.24, i64 0, i64 0), i8* %236, i32 %261)
%263 = tail call i32 %238(i32 183)
%264 = icmp ne i32 %263, 0
%265 = zext i1 %264 to i32
%266 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([18 x i8], [18 x i8]* @.str.25, i64 0, i64 0), i8* %236, i32 %265)
%267 = add nuw nsw i64 %233, 1
%268 = icmp eq i64 %267, 14
br i1 %268, label %14, label %232
}