// File: /workspace/github_cpp_makefile_star2_O3/JameyWoo[P]csmile/symtab.cpp
// Function: printSymtab()
void printSymtab() {
    vec_symtabs.push_back(symtabs);
    symtabOut << "-------------------" << endl;
    for (auto symtabs: vec_symtabs) {
        symtabOut << "function: " << fun_names.front() << endl;
        fun_names.erase(fun_names.begin());
        symtabOut << "id -- Param --- lines\n";
        for (auto sone: symtabs) {
            symtabOut.setf(ios::left,ios::adjustfield);
            symtabOut << setw(5) << sone.first << ": " 
            << setw(3) 
            << (sone.second.rank == 3 ? "no" : "yes")
            << " | ";
            for (auto v: sone.second.line) {
                symtabOut << setw(3) << v << ' ';
            }
            symtabOut << endl;
        }
        symtabOut << "-------------------" << endl;
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
leaq 0x10665(%rip), %rdi     # 0x1b978
leaq 0x10676(%rip), %rsi     # 0x1b990
callq 0xb6ce
leaq 0x103f2(%rip), %rbx     # 0x1b718
leaq 0xa333(%rip), %rsi      # 0x15660
movl $0x13, %edx
movq %rbx, %rdi
callq 0x2220
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
movq 0x10610(%rip), %rsi     # 0x1b978
movq 0x10611(%rip), %rax     # 0x1b980
movq %rax, 0x10(%rsp)
cmpq %rax, %rsi
je 0xb5dc
leaq 0x68(%rsp), %r14
leaq 0xa314(%rip), %r15      # 0x1569d
leaq 0xf(%rsp), %r13
movq %r14, %rdi
movq %rsi, 0x18(%rsp)
callq 0xb9bc
movl $0xa, %edx
movq %rbx, %rdi
leaq 0xa2ca(%rip), %rsi      # 0x15674
callq 0x2220
leaq 0x1056a(%rip), %rax     # 0x1b920
movq (%rax), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %rbx, %rdi
callq 0x2220
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
leaq 0x10527(%rip), %rdi     # 0x1b920
movq (%rdi), %rsi
callq 0xc3d0
movl $0x16, %edx
movq %rbx, %rdi
leaq 0xa26f(%rip), %rsi      # 0x1567f
callq 0x2220
movq 0x80(%rsp), %r14
leaq 0x70(%rsp), %rax
cmpq %rax, %r14
je 0xb580
leaq 0x20(%r14), %rsi
leaq 0x20(%rsp), %rdi
callq 0xb7ca
movq (%rbx), %rax
movq -0x18(%rax), %rcx
movl 0x18(%rbx,%rcx), %edx
movl $0xffffff4f, %esi       # imm = 0xFFFFFF4F
andl %esi, %edx
orl $0x20, %edx
movl %edx, 0x18(%rbx,%rcx)
movq -0x18(%rax), %rax
movq $0x5, 0x10(%rbx,%rax)
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
movq %rbx, %rdi
callq 0x2220
movq %rax, %rbp
movl $0x2, %edx
movq %rax, %rdi
leaq 0x9e74(%rip), %rsi      # 0x152f7
callq 0x2220
movq (%rbp), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rbp,%rax)
xorl %edx, %edx
cmpl $0x3, 0x5c(%rsp)
sete %dl
leaq 0xa1ef(%rip), %rsi      # 0x15699
leaq 0xa1e5(%rip), %rax      # 0x15696
cmoveq %rax, %rsi
xorq $0x3, %rdx
movq %rbp, %rdi
callq 0x2220
movl $0x3, %edx
movq %rbp, %rdi
movq %r15, %rsi
callq 0x2220
movq 0x40(%rsp), %rbp
movq 0x48(%rsp), %r12
cmpq %r12, %rbp
je 0xb516
movl (%rbp), %esi
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rbx,%rax)
movq %rbx, %rdi
callq 0x2300
movb $0x20, 0xf(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x2220
addq $0x4, %rbp
jmp 0xb4db
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0xb554
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x21c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0xb570
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x21c0
movq %r14, %rdi
callq 0x2130
movq %rax, %r14
jmp 0xb41d
movl $0x13, %edx
movq %rbx, %rdi
leaq 0xa0d1(%rip), %rsi      # 0x15660
callq 0x2220
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
leaq 0x68(%rsp), %r14
movq %r14, %rdi
callq 0xb82c
movq 0x18(%rsp), %rsi
addq $0x30, %rsi
cmpq 0x10(%rsp), %rsi
jne 0xb38e
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xb5f2
jmp 0xb5f2
movq %rax, %rbx
jmp 0xb62f
jmp 0xb5f9
movq %rax, %rbx
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0xb613
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x21c0
movq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0xb62f
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x21c0
leaq 0x68(%rsp), %rdi
callq 0xb82c
movq %rbx, %rdi
callq 0x2310