// File: /workspace/github_cpp_makefile_star2_O1/taurheim[P]AgNES/irGenerator.cpp
// Function: IRGenerator::generate[abi:cxx11]()
std::list<TAC> IRGenerator::generate() {
    // Go to main by default

    // Generate the rest of the code
    genTAC(root);
    printIRCode(intermediateCode);
    return intermediateCode;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %rbx
movq %rdi, -0x38(%rbp)
movq (%rsi), %rsi
movq %rbx, %rdi
callq 0xca24
addq $0x10, %rbx
leaq -0x50(%rbp), %r15
movq %r15, %rdi
movq %rbx, -0x30(%rbp)
movq %rbx, %rsi
callq 0x63e8
movq (%r15), %r14
cmpq %r15, %r14
je 0xc9e4
movq 0xba79(%rip), %rbx      # 0x17fd0
leaq 0x6162(%rip), %r13      # 0x126c0
movl 0x10(%r14), %eax
cmpq $0x10, %rax
ja 0xc842
movslq (%r13,%rax,4), %rax
addq %r13, %rax
jmpq *%rax
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x5d61(%rip), %rsi      # 0x122e6
callq 0x32d0
movq 0x18(%r14), %rsi
movq 0x20(%r14), %rdx
movq %rbx, %rdi
callq 0x32d0
movq %rax, %r12
movl $0x4, %edx
movq %rax, %rdi
leaq 0x61b6(%rip), %rsi      # 0x12762
callq 0x32d0
movq 0x38(%r14), %rsi
movq 0x40(%r14), %rdx
movq %r12, %rdi
callq 0x32d0
movq %rax, %r12
movl $0x3, %edx
movq %rax, %rdi
leaq 0x6194(%rip), %rsi      # 0x12767
callq 0x32d0
jmp 0xc833
movl $0xf, %r12d
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x5cf4(%rip), %rsi      # 0x122e6
callq 0x32d0
leaq 0x61de(%rip), %rsi      # 0x127dc
jmp 0xc95b
movl $0x10, %r12d
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x5cce(%rip), %rsi      # 0x122e6
callq 0x32d0
movq %rbx, %rdi
leaq 0x5a72(%rip), %rsi      # 0x12099
jmp 0xc9a9
movl $0xa, %r12d
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x5ca5(%rip), %rsi      # 0x122e6
callq 0x32d0
leaq 0x615e(%rip), %rsi      # 0x127ab
jmp 0xc95b
movl $0x5, %r12d
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x5c7f(%rip), %rsi      # 0x122e6
callq 0x32d0
leaq 0x60fc(%rip), %rsi      # 0x1276f
jmp 0xc95b
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x5c5f(%rip), %rsi      # 0x122e6
callq 0x32d0
movl $0x8, %edx
movq %rbx, %rdi
leaq 0x611b(%rip), %rsi      # 0x127b6
callq 0x32d0
movq 0x18(%r14), %rsi
movq 0x20(%r14), %rdx
movq %rbx, %rdi
callq 0x32d0
movq %rax, %r12
movl $0x4, %edx
movq %rax, %rdi
leaq 0x60fd(%rip), %rsi      # 0x127bf
callq 0x32d0
jmp 0xc92e
movl $0x5, %r12d
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x5c05(%rip), %rsi      # 0x122e6
callq 0x32d0
leaq 0x60ad(%rip), %rsi      # 0x1279a
jmp 0xc95b
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x5be5(%rip), %rsi      # 0x122e6
callq 0x32d0
movq 0x18(%r14), %rsi
movq 0x20(%r14), %rdx
movq %rbx, %rdi
callq 0x32d0
movq %rax, %r12
movl $0x4, %edx
movq %rax, %rdi
leaq 0x603a(%rip), %rsi      # 0x12762
callq 0x32d0
jmp 0xc92e
movl $0xf, %r12d
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x5b9f(%rip), %rsi      # 0x122e6
callq 0x32d0
leaq 0x6079(%rip), %rsi      # 0x127cc
jmp 0xc95b
movq 0x18(%r14), %rsi
movq 0x20(%r14), %rdx
movq %rbx, %rdi
callq 0x32d0
movq %rax, %rdi
movl $0x1, %r12d
leaq 0x6143(%rip), %rsi      # 0x128bb
jmp 0xc9a9
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x5b5a(%rip), %rsi      # 0x122e6
callq 0x32d0
movl $0xa, %edx
movq %rbx, %rdi
leaq 0x5fe7(%rip), %rsi      # 0x12787
callq 0x32d0
movq 0x18(%r14), %rsi
movq 0x20(%r14), %rdx
movq %rbx, %rdi
callq 0x32d0
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
leaq 0x608b(%rip), %rsi      # 0x12852
callq 0x32d0
jmp 0xc92e
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x5b06(%rip), %rsi      # 0x122e6
callq 0x32d0
movq 0x18(%r14), %rsi
movq 0x20(%r14), %rdx
movq %rbx, %rdi
callq 0x32d0
movq %rax, %r12
movl $0x4, %edx
movq %rax, %rdi
leaq 0x5f5b(%rip), %rsi      # 0x12762
callq 0x32d0
movq 0x38(%r14), %rsi
movq 0x40(%r14), %rdx
movq %r12, %rdi
callq 0x32d0
movq %rax, %r12
movl $0x3, %edx
movq %rax, %rdi
leaq 0x5f3d(%rip), %rsi      # 0x1276b
callq 0x32d0
movl $0x60, %eax
movl $0x58, %ecx
jmp 0xc973
movl $0x1c, %r12d
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x5a8f(%rip), %rsi      # 0x122e6
callq 0x32d0
movq %rbx, %rdi
leaq 0x5f86(%rip), %rsi      # 0x127ec
jmp 0xc9a9
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x5a6c(%rip), %rsi      # 0x122e6
callq 0x32d0
movl $0x3, %edx
movq %rbx, %rdi
leaq 0x5ee7(%rip), %rsi      # 0x12775
callq 0x32d0
movq 0x18(%r14), %rsi
movq 0x20(%r14), %rdx
movq %rbx, %rdi
callq 0x32d0
movq %rax, %r12
movl $0x6, %edx
movq %rax, %rdi
leaq 0x5ec4(%rip), %rsi      # 0x12779
callq 0x32d0
jmp 0xc92e
movl $0x7, %r12d
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x5a15(%rip), %rsi      # 0x122e6
callq 0x32d0
leaq 0x5ee7(%rip), %rsi      # 0x127c4
jmp 0xc95b
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x59f8(%rip), %rsi      # 0x122e6
callq 0x32d0
movl $0x6, %edx
movq %rbx, %rdi
leaq 0x5e7e(%rip), %rsi      # 0x12780
callq 0x32d0
movq 0x18(%r14), %rsi
movq 0x20(%r14), %rdx
movq %rbx, %rdi
callq 0x32d0
movq %rax, %r12
movl $0x6, %edx
movq %rax, %rdi
leaq 0x5e50(%rip), %rsi      # 0x12779
callq 0x32d0
movl $0x40, %eax
movl $0x38, %ecx
jmp 0xc973
movl $0xa, %r12d
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x5997(%rip), %rsi      # 0x122e6
callq 0x32d0
leaq 0x5e45(%rip), %rsi      # 0x127a0
movq %rbx, %rdi
movq %r12, %rdx
callq 0x32d0
movl $0x20, %eax
movl $0x18, %ecx
movq %rbx, %r12
movq (%r14,%rcx), %rsi
movq (%r14,%rax), %rdx
movq %r12, %rdi
callq 0x32d0
jmp 0xc9b1
movl $0x7, %r12d
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x594c(%rip), %rsi      # 0x122e6
callq 0x32d0
movq %rbx, %rdi
leaq 0x5de9(%rip), %rsi      # 0x12792
movq %r12, %rdx
callq 0x32d0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3260
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3030
movq %rax, %rdi
callq 0x31a0
movq (%r14), %r14
cmpq %r15, %r14
jne 0xc55e
leaq -0x50(%rbp), %rdi
callq 0x664a
movq -0x38(%rbp), %rbx
movq %rbx, %rdi
movq -0x30(%rbp), %rsi
callq 0x63e8
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x664a
movq %rbx, %rdi
callq 0x3420
nop