char *token_txn(token)
int token;
{
  char *s = "UNKNOWN";
  static char buf[17];
  if (token > ' ' && token <= '~') {
    sprintf(buf, "TK_CHAR('%c')", token);
    return buf;
  }
  if (token >= 0 && token < 0x100) {
    sprintf(buf, "TK_CHAR(%d)", token);
    return buf;
  }
  switch (token) {
  case 256:
    s = "TK_WSPACE";
    break;
  case 257:
    s = "TK_WORD";
    break;
  case 258:
    s = "TK_NUM";
    break;
  case 259:
    s = "TK_FLT";
    break;
  case 260:
    s = "TK_QUOT";
    break;
  case 261:
    s = "TK_STR";
    break;
  case 262:
    s = "TK_FILE";
    break;
  case 263:
    s = "TK_LINE";
    break;
  case 264:
    s = "TK_COPY";
    break;
  case (0x200 + 0):
    s = "TK_NE_OP";
    break;
  case (0x200 + 1):
    s = "TK_MOD_ASSIGN";
    break;
  case (0x200 + 2):
    s = "TK_AND_OP";
    break;
  case (0x200 + 3):
    s = "TK_AND_ASSIGN";
    break;
  case (0x200 + 4):
    s = "TK_MUL_ASSIGN";
    break;
  case (0x200 + 5):
    s = "TK_INC_OP";
    break;
  case (0x200 + 6):
    s = "TK_ADD_ASSIGN";
    break;
  case (0x200 + 7):
    s = "TK_DEC_OP";
    break;
  case (0x200 + 8):
    s = "TK_SUB_ASSIGN";
    break;
  case (0x200 + 9):
    s = "TK_PTR_OP";
    break;
  case (0x200 + 10):
    s = "TK_ELLIPSIS";
    break;
  case (0x200 + 11):
    s = "TK_DIV_ASSIGN";
    break;
  case (0x200 + 12):
    s = "TK_LEFT_OP";
    break;
  case (0x200 + 13):
    s = "TK_LEFT_ASSIGN";
    break;
  case (0x200 + 14):
    s = "TK_LE_OP";
    break;
  case (0x200 + 15):
    s = "TK_EQ_OP";
    break;
  case (0x200 + 16):
    s = "TK_GE_OP";
    break;
  case (0x200 + 17):
    s = "TK_RIGHT_OP";
    break;
  case (0x200 + 18):
    s = "TK_RIGHT_ASSIGN";
    break;
  case (0x200 + 19):
    s = "TK_XOR_ASSIGN";
    break;
  case (0x200 + 20):
    s = "TK_OR_ASSIGN";
    break;
  case (0x200 + 21):
    s = "TK_OR_OP";
    break;
  case (0x300 + 0):
    s = "TK_AUTO";
    break;
  case (0x300 + 1):
    s = "TK_BREAK";
    break;
  case (0x300 + 2):
    s = "TK_CASE";
    break;
  case (0x300 + 3):
    s = "TK_CHAR";
    break;
  case (0x300 + 4):
    s = "TK_CONST";
    break;
  case (0x300 + 5):
    s = "TK_CONTINUE";
    break;
  case (0x300 + 6):
    s = "TK_DEFAULT";
    break;
  case (0x300 + 7):
    s = "TK_DO";
    break;
  case (0x300 + 8):
    s = "TK_DOUBLE";
    break;
  case (0x300 + 9):
    s = "TK_ELSE";
    break;
  case (0x300 + 10):
    s = "TK_ENUM";
    break;
  case (0x300 + 11):
    s = "TK_EXTERN";
    break;
  case (0x300 + 12):
    s = "TK_FLOAT";
    break;
  case (0x300 + 13):
    s = "TK_FOR";
    break;
  case (0x300 + 14):
    s = "TK_GOTO";
    break;
  case (0x300 + 15):
    s = "TK_IF";
    break;
  case (0x300 + 16):
    s = "TK_INT";
    break;
  case (0x300 + 17):
    s = "TK_LONG";
    break;
  case (0x300 + 18):
    s = "TK_REGISTER";
    break;
  case (0x300 + 19):
    s = "TK_RETURN";
    break;
  case (0x300 + 20):
    s = "TK_SHORT";
    break;
  case (0x300 + 21):
    s = "TK_SIGNED";
    break;
  case (0x300 + 22):
    s = "TK_SIZEOF";
    break;
  case (0x300 + 23):
    s = "TK_STATIC";
    break;
  case (0x300 + 24):
    s = "TK_STRUCT";
    break;
  case (0x300 + 25):
    s = "TK_SWITCH";
    break;
  case (0x300 + 26):
    s = "TK_TYPEDEF";
    break;
  case (0x300 + 27):
    s = "TK_UNION";
    break;
  case (0x300 + 28):
    s = "TK_UNSIGNED";
    break;
  case (0x300 + 29):
    s = "TK_VOID";
    break;
  case (0x300 + 30):
    s = "TK_VOLATILE";
    break;
  case (0x300 + 31):
    s = "TK_WHILE";
    break;
  }
  return s;
}


x86 assembly (clang, -O0):
<token_txn>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %edi,-0xc(%rbp)
lea    0x175e(%rip),%rax
mov    %rax,-0x18(%rbp)
cmpl   $0x20,-0xc(%rbp)
jle    1162 <token_txn+0x52>
cmpl   $0x7e,-0xc(%rbp)
jg     1162 <token_txn+0x52>
mov    -0xc(%rbp),%edx
lea    0x2efc(%rip),%rdi
lea    0x173d(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
lea    0x2ee7(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15c1 <token_txn+0x4b1>
cmpl   $0x0,-0xc(%rbp)
jl     11a1 <token_txn+0x91>
cmpl   $0x100,-0xc(%rbp)
jge    11a1 <token_txn+0x91>
mov    -0xc(%rbp),%edx
lea    0x2ebd(%rip),%rdi
lea    0x170c(%rip),%rsi
mov    $0x0,%al
call   1030 <sprintf@plt>
lea    0x2ea8(%rip),%rax
mov    %rax,-0x8(%rbp)
jmp    15c1 <token_txn+0x4b1>
mov    -0xc(%rbp),%eax
add    $0xffffff00,%eax
mov    %eax,%ecx
mov    %rcx,-0x20(%rbp)
sub    $0x21f,%eax
ja     15b9 <token_txn+0x4a9>
mov    -0x20(%rbp),%rax
lea    0xe3b(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x16cd(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x16c7(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x16bf(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x16b6(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x16ad(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x16a5(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x169c(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1694(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x168c(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1684(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x167d(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x167b(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1675(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1673(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1671(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x166b(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1669(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1663(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1661(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x165b(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1657(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1655(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1650(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x164f(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1648(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1641(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x163a(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1636(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1636(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1634(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1631(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x162a(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1622(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x161b(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1613(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x160b(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1604(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1600(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x15fb(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x15f1(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x15eb(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x15e3(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x15db(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x15d5(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x15ce(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x15c5(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x15bd(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x15b3(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x15aa(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x15a2(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x159e(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1598(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1591(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x158b(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1585(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x157f(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1579(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1573(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x156e(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1567(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1563(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x155b(%rip),%rax
mov    %rax,-0x18(%rbp)
jmp    15b9 <token_txn+0x4a9>
lea    0x1557(%rip),%rax
mov    %rax,-0x18(%rbp)
mov    -0x18(%rbp),%rax
mov    %rax,-0x8(%rbp)
mov    -0x8(%rbp),%rax
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<token_txn>:
push   %rbx
mov    %edi,%edx
lea    -0x21(%rdx),%eax
cmp    $0x5d,%eax
ja     112b <token_txn+0x1b>
lea    0x2f1e(%rip),%rbx
lea    0x175f(%rip),%rsi
jmp    1141 <token_txn+0x31>
cmp    $0xff,%edx
ja     1150 <token_txn+0x40>
lea    0x2f06(%rip),%rbx
lea    0x1755(%rip),%rsi
mov    %rbx,%rdi
xor    %eax,%eax
call   1030 <sprintf@plt>
mov    %rbx,%rax
pop    %rbx
ret
lea    0x1729(%rip),%rbx
add    $0xffffff00,%edx
cmp    $0x21f,%edx
ja     114b <token_txn+0x3b>
lea    0xe94(%rip),%rax
movslq (%rax,%rdx,4),%rcx
add    %rax,%rcx
jmp    *%rcx
lea    0x1726(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x1727(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x1726(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x1724(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x1722(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x1721(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171f(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171e(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171d(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171c(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x1719(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171b(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x1719(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171b(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171d(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171b(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171d(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171b(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171d(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171b(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171b(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171d(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171c(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171f(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171c(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x1719(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x1716(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x1716(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171a(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171c(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171d(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x171a(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x1716(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x1713(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x170f(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x170b(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x1708(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x1708(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x1707(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x1701(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16ff(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16fb(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16f7(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16f5(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16f2(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16ed(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16e9(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16e3(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16de(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16da(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16da(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16d8(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16d5(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16d3(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16d1(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16cf(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16cd(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16cb(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16ca(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16d3(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16cf(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16cf(%rip),%rbx
jmp    114b <token_txn+0x3b>
lea    0x16a3(%rip),%rbx
jmp    114b <token_txn+0x3b>

LLVM IR (-O0):
@.str = [8 x i8] c"UNKNOWN\00"
@token_txn.buf = internal global [17 x i8] zeroinitializer
@.str.1 = [14 x i8] c"TK_CHAR('%c')\00"
@.str.2 = [12 x i8] c"TK_CHAR(%d)\00"
@.str.3 = [10 x i8] c"TK_WSPACE\00"
@.str.4 = [8 x i8] c"TK_WORD\00"
@.str.5 = [7 x i8] c"TK_NUM\00"
@.str.6 = [7 x i8] c"TK_FLT\00"
@.str.7 = [8 x i8] c"TK_QUOT\00"
@.str.8 = [7 x i8] c"TK_STR\00"
@.str.9 = [8 x i8] c"TK_FILE\00"
@.str.10 = [8 x i8] c"TK_LINE\00"
@.str.11 = [8 x i8] c"TK_COPY\00"
@.str.12 = [9 x i8] c"TK_NE_OP\00"
@.str.13 = [14 x i8] c"TK_MOD_ASSIGN\00"
@.str.14 = [10 x i8] c"TK_AND_OP\00"
@.str.15 = [14 x i8] c"TK_AND_ASSIGN\00"
@.str.16 = [14 x i8] c"TK_MUL_ASSIGN\00"
@.str.17 = [10 x i8] c"TK_INC_OP\00"
@.str.18 = [14 x i8] c"TK_ADD_ASSIGN\00"
@.str.19 = [10 x i8] c"TK_DEC_OP\00"
@.str.20 = [14 x i8] c"TK_SUB_ASSIGN\00"
@.str.21 = [10 x i8] c"TK_PTR_OP\00"
@.str.22 = [12 x i8] c"TK_ELLIPSIS\00"
@.str.23 = [14 x i8] c"TK_DIV_ASSIGN\00"
@.str.24 = [11 x i8] c"TK_LEFT_OP\00"
@.str.25 = [15 x i8] c"TK_LEFT_ASSIGN\00"
@.str.26 = [9 x i8] c"TK_LE_OP\00"
@.str.27 = [9 x i8] c"TK_EQ_OP\00"
@.str.28 = [9 x i8] c"TK_GE_OP\00"
@.str.29 = [12 x i8] c"TK_RIGHT_OP\00"
@.str.30 = [16 x i8] c"TK_RIGHT_ASSIGN\00"
@.str.31 = [14 x i8] c"TK_XOR_ASSIGN\00"
@.str.32 = [13 x i8] c"TK_OR_ASSIGN\00"
@.str.33 = [9 x i8] c"TK_OR_OP\00"
@.str.34 = [8 x i8] c"TK_AUTO\00"
@.str.35 = [9 x i8] c"TK_BREAK\00"
@.str.36 = [8 x i8] c"TK_CASE\00"
@.str.37 = [8 x i8] c"TK_CHAR\00"
@.str.38 = [9 x i8] c"TK_CONST\00"
@.str.39 = [12 x i8] c"TK_CONTINUE\00"
@.str.40 = [11 x i8] c"TK_DEFAULT\00"
@.str.41 = [6 x i8] c"TK_DO\00"
@.str.42 = [10 x i8] c"TK_DOUBLE\00"
@.str.43 = [8 x i8] c"TK_ELSE\00"
@.str.44 = [8 x i8] c"TK_ENUM\00"
@.str.45 = [10 x i8] c"TK_EXTERN\00"
@.str.46 = [9 x i8] c"TK_FLOAT\00"
@.str.47 = [7 x i8] c"TK_FOR\00"
@.str.48 = [8 x i8] c"TK_GOTO\00"
@.str.49 = [6 x i8] c"TK_IF\00"
@.str.50 = [7 x i8] c"TK_INT\00"
@.str.51 = [8 x i8] c"TK_LONG\00"
@.str.52 = [12 x i8] c"TK_REGISTER\00"
@.str.53 = [10 x i8] c"TK_RETURN\00"
@.str.54 = [9 x i8] c"TK_SHORT\00"
@.str.55 = [10 x i8] c"TK_SIGNED\00"
@.str.56 = [10 x i8] c"TK_SIZEOF\00"
@.str.57 = [10 x i8] c"TK_STATIC\00"
@.str.58 = [10 x i8] c"TK_STRUCT\00"
@.str.59 = [10 x i8] c"TK_SWITCH\00"
@.str.60 = [11 x i8] c"TK_TYPEDEF\00"
@.str.61 = [9 x i8] c"TK_UNION\00"
@.str.62 = [12 x i8] c"TK_UNSIGNED\00"
@.str.63 = [8 x i8] c"TK_VOID\00"
@.str.64 = [12 x i8] c"TK_VOLATILE\00"
@.str.65 = [9 x i8] c"TK_WHILE\00"
define i8* @token_txn(i32 %0) {
%2 = alloca i8*
%3 = alloca i32
%4 = alloca i8*
store i32 %0, i32* %3
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str, i64 0, i64 0), i8** %4
%5 = load i32, i32* %3
%6 = icmp sgt i32 %5, 32
br i1 %6, label %7, label %13
7: ; preds = %1
%8 = load i32, i32* %3
%9 = icmp sle i32 %8, 126
br i1 %9, label %10, label %13
10: ; preds = %7
%11 = load i32, i32* %3
%12 = call i32 (i8*, i8*, ...) @sprintf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @token_txn.buf, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.1, i64 0, i64 0), i32 %11)
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @token_txn.buf, i64 0, i64 0), i8** %2
br label %89
13: ; preds = %7, %1
%14 = load i32, i32* %3
%15 = icmp sge i32 %14, 0
br i1 %15, label %16, label %22
16: ; preds = %13
%17 = load i32, i32* %3
%18 = icmp slt i32 %17, 256
br i1 %18, label %19, label %22
19: ; preds = %16
%20 = load i32, i32* %3
%21 = call i32 (i8*, i8*, ...) @sprintf(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @token_txn.buf, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.2, i64 0, i64 0), i32 %20)
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @token_txn.buf, i64 0, i64 0), i8** %2
br label %89
22: ; preds = %16, %13
%23 = load i32, i32* %3
switch i32 %23, label %87 [
i32 256, label %24
i32 257, label %25
i32 258, label %26
i32 259, label %27
i32 260, label %28
i32 261, label %29
i32 262, label %30
i32 263, label %31
i32 264, label %32
i32 512, label %33
i32 513, label %34
i32 514, label %35
i32 515, label %36
i32 516, label %37
i32 517, label %38
i32 518, label %39
i32 519, label %40
i32 520, label %41
i32 521, label %42
i32 522, label %43
i32 523, label %44
i32 524, label %45
i32 525, label %46
i32 526, label %47
i32 527, label %48
i32 528, label %49
i32 529, label %50
i32 530, label %51
i32 531, label %52
i32 532, label %53
i32 533, label %54
i32 768, label %55
i32 769, label %56
i32 770, label %57
i32 771, label %58
i32 772, label %59
i32 773, label %60
i32 774, label %61
i32 775, label %62
i32 776, label %63
i32 777, label %64
i32 778, label %65
i32 779, label %66
i32 780, label %67
i32 781, label %68
i32 782, label %69
i32 783, label %70
i32 784, label %71
i32 785, label %72
i32 786, label %73
i32 787, label %74
i32 788, label %75
i32 789, label %76
i32 790, label %77
i32 791, label %78
i32 792, label %79
i32 793, label %80
i32 794, label %81
i32 795, label %82
i32 796, label %83
i32 797, label %84
i32 798, label %85
i32 799, label %86
]
24: ; preds = %22
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.3, i64 0, i64 0), i8** %4
br label %87
25: ; preds = %22
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4, i64 0, i64 0), i8** %4
br label %87
26: ; preds = %22
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5, i64 0, i64 0), i8** %4
br label %87
27: ; preds = %22
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.6, i64 0, i64 0), i8** %4
br label %87
28: ; preds = %22
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.7, i64 0, i64 0), i8** %4
br label %87
29: ; preds = %22
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8, i64 0, i64 0), i8** %4
br label %87
30: ; preds = %22
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9, i64 0, i64 0), i8** %4
br label %87
31: ; preds = %22
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.10, i64 0, i64 0), i8** %4
br label %87
32: ; preds = %22
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.11, i64 0, i64 0), i8** %4
br label %87
33: ; preds = %22
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.12, i64 0, i64 0), i8** %4
br label %87
34: ; preds = %22
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.13, i64 0, i64 0), i8** %4
br label %87
35: ; preds = %22
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.14, i64 0, i64 0), i8** %4
br label %87
36: ; preds = %22
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.15, i64 0, i64 0), i8** %4
br label %87
37: ; preds = %22
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.16, i64 0, i64 0), i8** %4
br label %87
38: ; preds = %22
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.17, i64 0, i64 0), i8** %4
br label %87
39: ; preds = %22
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), i8** %4
br label %87
40: ; preds = %22
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.19, i64 0, i64 0), i8** %4
br label %87
41: ; preds = %22
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.20, i64 0, i64 0), i8** %4
br label %87
42: ; preds = %22
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.21, i64 0, i64 0), i8** %4
br label %87
43: ; preds = %22
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.22, i64 0, i64 0), i8** %4
br label %87
44: ; preds = %22
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.23, i64 0, i64 0), i8** %4
br label %87
45: ; preds = %22
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.24, i64 0, i64 0), i8** %4
br label %87
46: ; preds = %22
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25, i64 0, i64 0), i8** %4
br label %87
47: ; preds = %22
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.26, i64 0, i64 0), i8** %4
br label %87
48: ; preds = %22
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.27, i64 0, i64 0), i8** %4
br label %87
49: ; preds = %22
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0), i8** %4
br label %87
50: ; preds = %22
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.29, i64 0, i64 0), i8** %4
br label %87
51: ; preds = %22
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.30, i64 0, i64 0), i8** %4
br label %87
52: ; preds = %22
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.31, i64 0, i64 0), i8** %4
br label %87
53: ; preds = %22
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.32, i64 0, i64 0), i8** %4
br label %87
54: ; preds = %22
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0), i8** %4
br label %87
55: ; preds = %22
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.34, i64 0, i64 0), i8** %4
br label %87
56: ; preds = %22
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.35, i64 0, i64 0), i8** %4
br label %87
57: ; preds = %22
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.36, i64 0, i64 0), i8** %4
br label %87
58: ; preds = %22
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.37, i64 0, i64 0), i8** %4
br label %87
59: ; preds = %22
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.38, i64 0, i64 0), i8** %4
br label %87
60: ; preds = %22
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.39, i64 0, i64 0), i8** %4
br label %87
61: ; preds = %22
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.40, i64 0, i64 0), i8** %4
br label %87
62: ; preds = %22
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.41, i64 0, i64 0), i8** %4
br label %87
63: ; preds = %22
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.42, i64 0, i64 0), i8** %4
br label %87
64: ; preds = %22
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.43, i64 0, i64 0), i8** %4
br label %87
65: ; preds = %22
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.44, i64 0, i64 0), i8** %4
br label %87
66: ; preds = %22
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.45, i64 0, i64 0), i8** %4
br label %87
67: ; preds = %22
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.46, i64 0, i64 0), i8** %4
br label %87
68: ; preds = %22
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.47, i64 0, i64 0), i8** %4
br label %87
69: ; preds = %22
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.48, i64 0, i64 0), i8** %4
br label %87
70: ; preds = %22
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.49, i64 0, i64 0), i8** %4
br label %87
71: ; preds = %22
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.50, i64 0, i64 0), i8** %4
br label %87
72: ; preds = %22
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.51, i64 0, i64 0), i8** %4
br label %87
73: ; preds = %22
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.52, i64 0, i64 0), i8** %4
br label %87
74: ; preds = %22
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.53, i64 0, i64 0), i8** %4
br label %87
75: ; preds = %22
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.54, i64 0, i64 0), i8** %4
br label %87
76: ; preds = %22
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.55, i64 0, i64 0), i8** %4
br label %87
77: ; preds = %22
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.56, i64 0, i64 0), i8** %4
br label %87
78: ; preds = %22
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.57, i64 0, i64 0), i8** %4
br label %87
79: ; preds = %22
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.58, i64 0, i64 0), i8** %4
br label %87
80: ; preds = %22
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.59, i64 0, i64 0), i8** %4
br label %87
81: ; preds = %22
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.60, i64 0, i64 0), i8** %4
br label %87
82: ; preds = %22
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.61, i64 0, i64 0), i8** %4
br label %87
83: ; preds = %22
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.62, i64 0, i64 0), i8** %4
br label %87
84: ; preds = %22
store i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.63, i64 0, i64 0), i8** %4
br label %87
85: ; preds = %22
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.64, i64 0, i64 0), i8** %4
br label %87
86: ; preds = %22
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.65, i64 0, i64 0), i8** %4
br label %87
87: ; preds = %22, %86, %85, %84, %83, %82, %81, %80, %79, %78, %77, %76, %75, %74, %73, %72, %71, %70, %69, %68, %67, %66, %65, %64, %63, %62, %61, %60, %59, %58, %57, %56, %55, %54, %53, %52, %51, %50, %49, %48, %47, %46, %45, %44, %43, %42, %41, %40, %39, %38, %37, %36, %35, %34, %33, %32, %31, %30, %29, %28, %27, %26, %25, %24
%88 = load i8*, i8** %4
store i8* %88, i8** %2
br label %89
89: ; preds = %87, %19, %10
%90 = load i8*, i8** %2
ret i8* %90
}

LLVM IR (-O2):
@.str = [8 x i8] c"UNKNOWN\00"
@token_txn.buf = internal global [17 x i8] zeroinitializer
@.str.1 = [14 x i8] c"TK_CHAR('%c')\00"
@.str.2 = [12 x i8] c"TK_CHAR(%d)\00"
@.str.3 = [10 x i8] c"TK_WSPACE\00"
@.str.4 = [8 x i8] c"TK_WORD\00"
@.str.5 = [7 x i8] c"TK_NUM\00"
@.str.6 = [7 x i8] c"TK_FLT\00"
@.str.7 = [8 x i8] c"TK_QUOT\00"
@.str.8 = [7 x i8] c"TK_STR\00"
@.str.9 = [8 x i8] c"TK_FILE\00"
@.str.10 = [8 x i8] c"TK_LINE\00"
@.str.11 = [8 x i8] c"TK_COPY\00"
@.str.12 = [9 x i8] c"TK_NE_OP\00"
@.str.13 = [14 x i8] c"TK_MOD_ASSIGN\00"
@.str.14 = [10 x i8] c"TK_AND_OP\00"
@.str.15 = [14 x i8] c"TK_AND_ASSIGN\00"
@.str.16 = [14 x i8] c"TK_MUL_ASSIGN\00"
@.str.17 = [10 x i8] c"TK_INC_OP\00"
@.str.18 = [14 x i8] c"TK_ADD_ASSIGN\00"
@.str.19 = [10 x i8] c"TK_DEC_OP\00"
@.str.20 = [14 x i8] c"TK_SUB_ASSIGN\00"
@.str.21 = [10 x i8] c"TK_PTR_OP\00"
@.str.22 = [12 x i8] c"TK_ELLIPSIS\00"
@.str.23 = [14 x i8] c"TK_DIV_ASSIGN\00"
@.str.24 = [11 x i8] c"TK_LEFT_OP\00"
@.str.25 = [15 x i8] c"TK_LEFT_ASSIGN\00"
@.str.26 = [9 x i8] c"TK_LE_OP\00"
@.str.27 = [9 x i8] c"TK_EQ_OP\00"
@.str.28 = [9 x i8] c"TK_GE_OP\00"
@.str.29 = [12 x i8] c"TK_RIGHT_OP\00"
@.str.30 = [16 x i8] c"TK_RIGHT_ASSIGN\00"
@.str.31 = [14 x i8] c"TK_XOR_ASSIGN\00"
@.str.32 = [13 x i8] c"TK_OR_ASSIGN\00"
@.str.33 = [9 x i8] c"TK_OR_OP\00"
@.str.34 = [8 x i8] c"TK_AUTO\00"
@.str.35 = [9 x i8] c"TK_BREAK\00"
@.str.36 = [8 x i8] c"TK_CASE\00"
@.str.37 = [8 x i8] c"TK_CHAR\00"
@.str.38 = [9 x i8] c"TK_CONST\00"
@.str.39 = [12 x i8] c"TK_CONTINUE\00"
@.str.40 = [11 x i8] c"TK_DEFAULT\00"
@.str.41 = [6 x i8] c"TK_DO\00"
@.str.42 = [10 x i8] c"TK_DOUBLE\00"
@.str.43 = [8 x i8] c"TK_ELSE\00"
@.str.44 = [8 x i8] c"TK_ENUM\00"
@.str.45 = [10 x i8] c"TK_EXTERN\00"
@.str.46 = [9 x i8] c"TK_FLOAT\00"
@.str.47 = [7 x i8] c"TK_FOR\00"
@.str.48 = [8 x i8] c"TK_GOTO\00"
@.str.49 = [6 x i8] c"TK_IF\00"
@.str.50 = [7 x i8] c"TK_INT\00"
@.str.51 = [8 x i8] c"TK_LONG\00"
@.str.52 = [12 x i8] c"TK_REGISTER\00"
@.str.53 = [10 x i8] c"TK_RETURN\00"
@.str.54 = [9 x i8] c"TK_SHORT\00"
@.str.55 = [10 x i8] c"TK_SIGNED\00"
@.str.56 = [10 x i8] c"TK_SIZEOF\00"
@.str.57 = [10 x i8] c"TK_STATIC\00"
@.str.58 = [10 x i8] c"TK_STRUCT\00"
@.str.59 = [10 x i8] c"TK_SWITCH\00"
@.str.60 = [11 x i8] c"TK_TYPEDEF\00"
@.str.61 = [9 x i8] c"TK_UNION\00"
@.str.62 = [12 x i8] c"TK_UNSIGNED\00"
@.str.63 = [8 x i8] c"TK_VOID\00"
@.str.64 = [12 x i8] c"TK_VOLATILE\00"
@.str.65 = [9 x i8] c"TK_WHILE\00"
define i8* @token_txn(i32 %0) {
%2 = add i32 %0, -33
%3 = icmp ult i32 %2, 94
br i1 %3, label %4, label %6
4: ; preds = %1
%5 = tail call i32 (i8*, i8*, ...) @sprintf(i8* dereferenceable(1) getelementptr inbounds ([17 x i8], [17 x i8]* @token_txn.buf, i64 0, i64 0), i8* dereferenceable(1) getelementptr inbounds ([14 x i8], [14 x i8]* @.str.1, i64 0, i64 0), i32 %0)
br label %74
6: ; preds = %1
%7 = icmp ult i32 %0, 256
br i1 %7, label %8, label %10
8: ; preds = %6
%9 = tail call i32 (i8*, i8*, ...) @sprintf(i8* dereferenceable(1) getelementptr inbounds ([17 x i8], [17 x i8]* @token_txn.buf, i64 0, i64 0), i8* dereferenceable(1) getelementptr inbounds ([12 x i8], [12 x i8]* @.str.2, i64 0, i64 0), i32 %0)
br label %74
10: ; preds = %6
switch i32 %0, label %74 [
i32 256, label %11
i32 257, label %12
i32 258, label %13
i32 259, label %14
i32 260, label %15
i32 261, label %16
i32 262, label %17
i32 263, label %18
i32 264, label %19
i32 512, label %20
i32 513, label %21
i32 514, label %22
i32 515, label %23
i32 516, label %24
i32 517, label %25
i32 518, label %26
i32 519, label %27
i32 520, label %28
i32 521, label %29
i32 522, label %30
i32 523, label %31
i32 524, label %32
i32 525, label %33
i32 526, label %34
i32 527, label %35
i32 528, label %36
i32 529, label %37
i32 530, label %38
i32 531, label %39
i32 532, label %40
i32 533, label %41
i32 768, label %42
i32 769, label %43
i32 770, label %44
i32 771, label %45
i32 772, label %46
i32 773, label %47
i32 774, label %48
i32 775, label %49
i32 776, label %50
i32 777, label %51
i32 778, label %52
i32 779, label %53
i32 780, label %54
i32 781, label %55
i32 782, label %56
i32 783, label %57
i32 784, label %58
i32 785, label %59
i32 786, label %60
i32 787, label %61
i32 788, label %62
i32 789, label %63
i32 790, label %64
i32 791, label %65
i32 792, label %66
i32 793, label %67
i32 794, label %68
i32 795, label %69
i32 796, label %70
i32 797, label %71
i32 798, label %72
i32 799, label %73
]
11: ; preds = %10
br label %74
12: ; preds = %10
br label %74
13: ; preds = %10
br label %74
14: ; preds = %10
br label %74
15: ; preds = %10
br label %74
16: ; preds = %10
br label %74
17: ; preds = %10
br label %74
18: ; preds = %10
br label %74
19: ; preds = %10
br label %74
20: ; preds = %10
br label %74
21: ; preds = %10
br label %74
22: ; preds = %10
br label %74
23: ; preds = %10
br label %74
24: ; preds = %10
br label %74
25: ; preds = %10
br label %74
26: ; preds = %10
br label %74
27: ; preds = %10
br label %74
28: ; preds = %10
br label %74
29: ; preds = %10
br label %74
30: ; preds = %10
br label %74
31: ; preds = %10
br label %74
32: ; preds = %10
br label %74
33: ; preds = %10
br label %74
34: ; preds = %10
br label %74
35: ; preds = %10
br label %74
36: ; preds = %10
br label %74
37: ; preds = %10
br label %74
38: ; preds = %10
br label %74
39: ; preds = %10
br label %74
40: ; preds = %10
br label %74
41: ; preds = %10
br label %74
42: ; preds = %10
br label %74
43: ; preds = %10
br label %74
44: ; preds = %10
br label %74
45: ; preds = %10
br label %74
46: ; preds = %10
br label %74
47: ; preds = %10
br label %74
48: ; preds = %10
br label %74
49: ; preds = %10
br label %74
50: ; preds = %10
br label %74
51: ; preds = %10
br label %74
52: ; preds = %10
br label %74
53: ; preds = %10
br label %74
54: ; preds = %10
br label %74
55: ; preds = %10
br label %74
56: ; preds = %10
br label %74
57: ; preds = %10
br label %74
58: ; preds = %10
br label %74
59: ; preds = %10
br label %74
60: ; preds = %10
br label %74
61: ; preds = %10
br label %74
62: ; preds = %10
br label %74
63: ; preds = %10
br label %74
64: ; preds = %10
br label %74
65: ; preds = %10
br label %74
66: ; preds = %10
br label %74
67: ; preds = %10
br label %74
68: ; preds = %10
br label %74
69: ; preds = %10
br label %74
70: ; preds = %10
br label %74
71: ; preds = %10
br label %74
72: ; preds = %10
br label %74
73: ; preds = %10
br label %74
74: ; preds = %11, %12, %13, %14, %15, %16, %17, %18, %19, %20, %21, %22, %23, %24, %25, %26, %27, %28, %29, %30, %31, %32, %33, %34, %35, %36, %37, %38, %39, %40, %41, %42, %43, %44, %45, %46, %47, %48, %49, %50, %51, %52, %53, %54, %55, %56, %57, %58, %59, %60, %61, %62, %63, %64, %65, %66, %67, %68, %69, %70, %71, %72, %73, %10, %8, %4
%75 = phi i8* [ getelementptr inbounds ([17 x i8], [17 x i8]* @token_txn.buf, i64 0, i64 0), %4 ], [ getelementptr inbounds ([17 x i8], [17 x i8]* @token_txn.buf, i64 0, i64 0), %8 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str, i64 0, i64 0), %10 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.65, i64 0, i64 0), %73 ], [ getelementptr inbounds ([12 x i8], [12 x i8]* @.str.64, i64 0, i64 0), %72 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.63, i64 0, i64 0), %71 ], [ getelementptr inbounds ([12 x i8], [12 x i8]* @.str.62, i64 0, i64 0), %70 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.61, i64 0, i64 0), %69 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.60, i64 0, i64 0), %68 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.59, i64 0, i64 0), %67 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.58, i64 0, i64 0), %66 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.57, i64 0, i64 0), %65 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.56, i64 0, i64 0), %64 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.55, i64 0, i64 0), %63 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.54, i64 0, i64 0), %62 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.53, i64 0, i64 0), %61 ], [ getelementptr inbounds ([12 x i8], [12 x i8]* @.str.52, i64 0, i64 0), %60 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.51, i64 0, i64 0), %59 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.50, i64 0, i64 0), %58 ], [ getelementptr inbounds ([6 x i8], [6 x i8]* @.str.49, i64 0, i64 0), %57 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.48, i64 0, i64 0), %56 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.47, i64 0, i64 0), %55 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.46, i64 0, i64 0), %54 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.45, i64 0, i64 0), %53 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.44, i64 0, i64 0), %52 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.43, i64 0, i64 0), %51 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.42, i64 0, i64 0), %50 ], [ getelementptr inbounds ([6 x i8], [6 x i8]* @.str.41, i64 0, i64 0), %49 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.40, i64 0, i64 0), %48 ], [ getelementptr inbounds ([12 x i8], [12 x i8]* @.str.39, i64 0, i64 0), %47 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.38, i64 0, i64 0), %46 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.37, i64 0, i64 0), %45 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.36, i64 0, i64 0), %44 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.35, i64 0, i64 0), %43 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.34, i64 0, i64 0), %42 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.33, i64 0, i64 0), %41 ], [ getelementptr inbounds ([13 x i8], [13 x i8]* @.str.32, i64 0, i64 0), %40 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.31, i64 0, i64 0), %39 ], [ getelementptr inbounds ([16 x i8], [16 x i8]* @.str.30, i64 0, i64 0), %38 ], [ getelementptr inbounds ([12 x i8], [12 x i8]* @.str.29, i64 0, i64 0), %37 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0), %36 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.27, i64 0, i64 0), %35 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.26, i64 0, i64 0), %34 ], [ getelementptr inbounds ([15 x i8], [15 x i8]* @.str.25, i64 0, i64 0), %33 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str.24, i64 0, i64 0), %32 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.23, i64 0, i64 0), %31 ], [ getelementptr inbounds ([12 x i8], [12 x i8]* @.str.22, i64 0, i64 0), %30 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.21, i64 0, i64 0), %29 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.20, i64 0, i64 0), %28 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.19, i64 0, i64 0), %27 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.18, i64 0, i64 0), %26 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.17, i64 0, i64 0), %25 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.16, i64 0, i64 0), %24 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.15, i64 0, i64 0), %23 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.14, i64 0, i64 0), %22 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.str.13, i64 0, i64 0), %21 ], [ getelementptr inbounds ([9 x i8], [9 x i8]* @.str.12, i64 0, i64 0), %20 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.11, i64 0, i64 0), %19 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.10, i64 0, i64 0), %18 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.9, i64 0, i64 0), %17 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.8, i64 0, i64 0), %16 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.7, i64 0, i64 0), %15 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.6, i64 0, i64 0), %14 ], [ getelementptr inbounds ([7 x i8], [7 x i8]* @.str.5, i64 0, i64 0), %13 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str.4, i64 0, i64 0), %12 ], [ getelementptr inbounds ([10 x i8], [10 x i8]* @.str.3, i64 0, i64 0), %11 ]
ret i8* %75
}