// File: /workspace/github_cpp_makefile_star2_O1/tsoding[P]wcc/src/./wcc_alexer.cpp
// Function: print1(_IO_FILE*, Token_Type)
void print1(FILE *stream, Token_Type type)
{
    switch (type) {
    case Token_Type::Func: print(stream, "Func"); break;
    case Token_Type::Symbol: print(stream, "Symbol"); break;
    case Token_Type::Open_Paren: print(stream, "Open_Paren"); break;
    case Token_Type::Closed_Paren: print(stream, "Closed_Paren"); break;
    case Token_Type::Colon: print(stream, "Colon"); break;
    case Token_Type::Open_Curly: print(stream, "Open_Curly"); break;
    case Token_Type::Closed_Curly: print(stream, "Closed_Curly"); break;
    case Token_Type::Local: print(stream, "Local"); break;
    case Token_Type::Equals: print(stream, "Equals"); break;
    case Token_Type::Number_Literal: print(stream, "Number_Literal"); break;
    case Token_Type::While: print(stream, "While"); break;
    case Token_Type::Greater: print(stream, "Greater"); break;
    case Token_Type::Less_Equals: print(stream, "Less_Equals"); break;
    case Token_Type::Plus: print(stream, "Plus"); break;
    case Token_Type::Minus_Equals: print(stream, "Minus_Equals"); break;
    case Token_Type::Minus: print(stream, "Minus"); break;
    case Token_Type::Semicolon: print(stream, "Semicolon"); break;
    case Token_Type::Comma: print(stream, "Comma"); break;
    case Token_Type::And: print(stream, "And"); break;
    case Token_Type::Rem: print(stream, "Rem"); break;
    case Token_Type::If: print(stream, "If"); break;
    case Token_Type::Else: print(stream, "Else"); break;
    case Token_Type::Asterisk: print(stream, "Asterisk"); break;
    case Token_Type::Equals_Equals: print(stream, "Equals_Equals"); break;
    case Token_Type::Return: print(stream, "Return"); break;
    case Token_Type::True: print(stream, "True"); break;
    case Token_Type::False: print(stream, "False"); break;
    case Token_Type::Plus_Equals: print(stream, "Plus_Equals"); break;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
cmpl $0x1b, %esi
ja 0x27c1
movq %rdi, %rcx
movl %esi, %eax
leaq 0x7a54(%rip), %rdx      # 0xa074
movslq (%rdx,%rax,4), %rax
addq %rdx, %rax
jmpq *%rax
leaq 0x820b(%rip), %rdi      # 0xa83b
jmp 0x27ca
leaq 0x82cb(%rip), %rdi      # 0xa907
jmp 0x2786
leaq 0x8269(%rip), %rdi      # 0xa8b1
jmp 0x26d7
leaq 0x824c(%rip), %rdi      # 0xa8a0
jmp 0x2703
leaq 0x8223(%rip), %rdi      # 0xa883
movl $0x1, %esi
movl $0xe, %edx
jmp 0x27d4
leaq 0x81e9(%rip), %rdi      # 0xa85f
jmp 0x2786
leaq 0x8210(%rip), %rdi      # 0xa892
jmp 0x2786
leaq 0x8266(%rip), %rdi      # 0xa8f4
jmp 0x26ed
leaq 0x8264(%rip), %rdi      # 0xa8fb
jmp 0x26ed
leaq 0x8244(%rip), %rdi      # 0xa8e4
movl $0x1, %esi
movl $0x8, %edx
jmp 0x27d4
leaq 0x8191(%rip), %rdi      # 0xa847
jmp 0x2757
leaq 0x81ea(%rip), %rdi      # 0xa8ac
jmp 0x27ca
leaq 0x8184(%rip), %rdi      # 0xa852
jmp 0x26d7
leaq 0x8199(%rip), %rdi      # 0xa870
movl $0x1, %esi
movl $0xc, %edx
jmp 0x27d4
leaq 0x8153(%rip), %rdi      # 0xa840
movl $0x1, %esi
movl $0x6, %edx
jmp 0x27d4
leaq 0x820a(%rip), %rdi      # 0xa90d
movl $0x1, %esi
movl $0xb, %edx
jmp 0x27d4
leaq 0x81bb(%rip), %rdi      # 0xa8d4
jmp 0x272b
leaq 0x81ac(%rip), %rdi      # 0xa8ce
jmp 0x2786
leaq 0x81ad(%rip), %rdi      # 0xa8d8
movl $0x1, %esi
movl $0x3, %edx
jmp 0x27d4
leaq 0x8157(%rip), %rdi      # 0xa898
movl $0x1, %esi
movl $0x7, %edx
jmp 0x27d4
leaq 0x810e(%rip), %rdi      # 0xa865
movl $0x1, %esi
movl $0xa, %edx
jmp 0x27d4
leaq 0x8154(%rip), %rdi      # 0xa8be
jmp 0x2786
leaq 0x817a(%rip), %rdi      # 0xa8ed
movl $0x1, %esi
movl $0xd, %edx
jmp 0x27d4
leaq 0x80f7(%rip), %rdi      # 0xa87d
movl $0x1, %esi
movl $0x5, %edx
jmp 0x27d4
leaq 0x8143(%rip), %rdi      # 0xa8dc
movl $0x1, %esi
movl $0x2, %edx
jmp 0x27d4
leaq 0x8118(%rip), %rdi      # 0xa8c4
movl $0x1, %esi
movl $0x9, %edx
jmp 0x27d4
leaq 0x8120(%rip), %rdi      # 0xa8df
jmp 0x27ca
popq %rbp
retq
leaq 0x8138(%rip), %rdi      # 0xa902
movl $0x1, %esi
movl $0x4, %edx
popq %rbp
jmp 0x1190