// File: /workspace/github_cpp_makefile_star2_O1/joncampbell123[P]haxcc/haxpp.cpp
// Function: to_string_pp[abi:cxx11](token const&)
string to_string_pp(const token &t) {
    switch (t.tval) {
        case token::MACRO:
            return t.sval + " ";
        case token::PREPROC:
            return "";
        case token::MACROSUBST:
            return t.sval + " ";
        case token::IDENTIFIER:
            return t.sval + " ";
        case token::MACROPARAM:
            return "";
        case token::INTEGER:
            return to_string(t.i.s) + " ";
        case token::FLOAT:
            return a_better_float_to_string(t.f.get_double()) + " ";
        case token::STRING:
            return string("\"") + string_store.get_char(t.s.strref) + string("\"") + " ";
        default:
            break;
    };

    return to_string(t);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movl (%rsi), %eax
decl %eax
cmpl $0xa, %eax
ja 0x63c9
leaq 0xd02a(%rip), %rcx      # 0x133cc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xde57(%rip), %rdx      # 0x14210
movq %rbx, %rdi
movq %rdx, %rsi
callq 0x10bb4
jmp 0x681b
movq %rbx, %rdi
movq %r14, %rsi
callq 0x5221
jmp 0x681b
movq 0x8(%r14), %r15
movq %r15, %r14
negq %r14
cmovsq %r15, %r14
movl $0x1, %r12d
cmpq $0xa, %r14
jb 0x6781
movl $0x4, %r12d
movabsq $0x346dc5d63886594b, %rsi # imm = 0x346DC5D63886594B
movq %r14, %rcx
cmpq $0x63, %rcx
jbe 0x6778
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x677e
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x6781
movq %rcx, %rax
mulq %rsi
shrq $0xb, %rdx
addl $0x4, %r12d
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x640a
addl $-0x3, %r12d
jmp 0x6781
leaq 0x10(%rbx), %r15
movq %r15, (%rbx)
movq 0x48(%r14), %rsi
movq 0x50(%r14), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x10ab6
leaq 0xd72d(%rip), %rsi      # 0x13b9f
movq %rbx, %rdi
callq 0x23b0
jmp 0x681b
fldt 0x20(%r14)
movl 0x30(%r14), %edi
fstpt (%rsp)
callq 0x2240
fstpt (%rsp)
leaq 0x18(%rsp), %r14
movq %r14, %rdi
callq 0x51c8
leaq 0xd6f9(%rip), %rsi      # 0x13b9f
movq %r14, %rdi
callq 0x23b0
leaq 0x10(%rbx), %rdx
movq %rdx, (%rbx)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x65ac
movq %rsi, (%rbx)
movq (%rcx), %rdx
movq %rdx, 0x10(%rbx)
jmp 0x65b2
leaq 0x88(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xd6b2(%rip), %rsi      # 0x13b9c
leaq 0xd6ac(%rip), %rdx      # 0x13b9d
leaq 0x78(%rsp), %rdi
callq 0x10bb4
movq 0x40(%r14), %rsi
leaq 0x13d3a(%rip), %rdi     # 0x1a240
movq %rdi, %rdx
xorl %ecx, %ecx
callq 0xeb5a
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq 0x78(%rsp), %rdi
callq 0x2090
leaq 0x48(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x65e0
movq %rdx, 0x38(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x48(%rsp)
jmp 0x65e8
leaq 0x10(%rbx), %r15
movq %r15, (%rbx)
movq 0x48(%r14), %rsi
movq 0x50(%r14), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x10ab6
leaq 0xd62e(%rip), %rsi      # 0x13b9f
movq %rbx, %rdi
callq 0x23b0
jmp 0x681b
leaq 0x10(%rbx), %r15
movq %r15, (%rbx)
movq 0x48(%r14), %rsi
movq 0x50(%r14), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x10ab6
leaq 0xd600(%rip), %rsi      # 0x13b9f
movq %rbx, %rdi
callq 0x23b0
jmp 0x681b
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rbx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x28(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x680e
jmp 0x681b
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x40(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0xd58c(%rip), %rsi      # 0x13b9c
leaq 0xd586(%rip), %rdx      # 0x13b9d
leaq 0x58(%rsp), %rdi
callq 0x10bb4
movq 0x38(%rsp), %rcx
movq 0x40(%rsp), %r8
movq 0x60(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
cmpq %r12, %rcx
je 0x6643
movq 0x48(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x665e
movl $0xf, %esi
cmpq %r13, 0x58(%rsp)
je 0x6659
movq 0x68(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x666f
movq 0x58(%rsp), %rsi
leaq 0x38(%rsp), %rdi
callq 0x2090
jmp 0x667d
leaq 0x58(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x2210
leaq 0x28(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x66a1
movq %rsi, 0x18(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x28(%rsp)
jmp 0x66a7
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x20(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0xd4d4(%rip), %rsi      # 0x13b9f
leaq 0x18(%rsp), %rdi
callq 0x23b0
leaq 0x10(%rbx), %rdx
movq %rdx, (%rbx)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x66f7
movq %rsi, (%rbx)
movq (%rcx), %rdx
movq %rdx, 0x10(%rbx)
jmp 0x66fd
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rbx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x28(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x672f
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x58(%rsp), %rdi
cmpq %r13, %rdi
je 0x6746
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0x675d
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x21d0
movq 0x78(%rsp), %rdi
cmpq %r15, %rdi
je 0x681b
movq 0x88(%rsp), %rsi
jmp 0x6813
addl $-0x2, %r12d
jmp 0x6781
decl %r12d
shrq $0x3f, %r15
leal (%r15,%r12), %esi
leaq 0x28(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x18(%rsp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x2220
addq (%r13), %r15
movq %r15, %rdi
movl %r12d, %esi
movq %r14, %rdx
callq 0xf6e7
leaq 0xd3e2(%rip), %rsi      # 0x13b9f
movq %r13, %rdi
callq 0x23b0
leaq 0x10(%rbx), %rdx
movq %rdx, (%rbx)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
je 0x67e7
movq %rsi, (%rbx)
movq (%rcx), %rdx
movq %rdx, 0x10(%rbx)
jmp 0x67ed
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rbx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x18(%rsp), %rdi
cmpq %rbp, %rdi
je 0x681b
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x21d0
movq %rbx, %rax
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
leaq 0x28(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6853
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x6853
movq %rax, %r14
movq 0x58(%rsp), %rdi
cmpq %r13, %rdi
je 0x686f
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x686f
movq %rax, %r14
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0x68cb
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x21d0
jmp 0x68cb
jmp 0x68a4
jmp 0x68a4
movq %rax, %r14
jmp 0x68e5
movq %rax, %r14
leaq 0x28(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x68c1
jmp 0x68e5
movq %rax, %r14
movq (%rbx), %rdi
cmpq %r15, %rdi
je 0x68e5
movq (%r15), %rsi
jmp 0x68dd
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %rbp, %rdi
je 0x68e5
movq 0x28(%rsp), %rsi
jmp 0x68dd
movq %rax, %r14
movq 0x78(%rsp), %rdi
cmpq %r15, %rdi
je 0x68e5
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x21d0
movq %r14, %rdi
callq 0x2360