// File: AndrewAlbert[P]Compiler-Theory/SourceCode/codeGenerator.cpp
// Function: codeGenerator::codeGenerator()
codeGenerator::codeGenerator(){
	ireg_in_use = 0;
	freg_in_use = 0;
	label_count = 0;
	HeapSize = 0;
	ContinueToGenerate = true;
	HeapSize = MM_SIZE - 1;
	outputName = "";
	call_count = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movl $0x2000000, (%rax)      # imm = 0x2000000
movl $0x400, 0x4(%rax)       # imm = 0x400
addq $0x8, %rax
movq %rax, -0x38(%rbp)
leaq -0x9(%rbp), %rdi
movq %rdi, -0x30(%rbp)
callq 0x3430
movq -0x38(%rbp), %rdi
movq -0x30(%rbp), %rdx
leaq 0xdfd0(%rip), %rsi      # 0x26cc8
callq 0x62d0
jmp 0x18cff
leaq -0x9(%rbp), %rdi
callq 0x32e0
movq -0x40(%rbp), %rax
addq $0x28, %rax
movq %rax, -0x50(%rbp)
leaq -0x1d(%rbp), %rdi
movq %rdi, -0x48(%rbp)
callq 0x3430
movq -0x50(%rbp), %rdi
movq -0x48(%rbp), %rdx
leaq 0xdf9d(%rip), %rsi      # 0x26ccd
callq 0x62d0
jmp 0x18d37
leaq -0x1d(%rbp), %rdi
callq 0x32e0
movq -0x40(%rbp), %rax
addq $0x48, %rax
movq %rax, -0x60(%rbp)
leaq -0x1e(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x3430
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rdx
leaq 0xe56d(%rip), %rsi      # 0x272d5
callq 0x62d0
jmp 0x18d6f
leaq -0x1e(%rbp), %rdi
callq 0x32e0
movq -0x40(%rbp), %rax
addq $0x68, %rax
movq %rax, -0x70(%rbp)
leaq -0x1f(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x3430
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %rdx
leaq 0xdf32(%rip), %rsi      # 0x26cd2
callq 0x62d0
jmp 0x18da7
leaq -0x1f(%rbp), %rdi
callq 0x32e0
movq -0x40(%rbp), %rax
addq $0x88, %rax
movq %rax, -0x80(%rbp)
leaq -0x20(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x3430
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rdx
leaq 0xdeff(%rip), %rsi      # 0x26cd9
callq 0x62d0
jmp 0x18de1
leaq -0x20(%rbp), %rdi
callq 0x32e0
movq -0x40(%rbp), %rax
addq $0xa8, %rax
movq %rax, -0x90(%rbp)
leaq -0x21(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x3430
movq -0x90(%rbp), %rdi
movq -0x88(%rbp), %rdx
leaq 0xdec0(%rip), %rsi      # 0x26ce0
callq 0x62d0
jmp 0x18e27
leaq -0x21(%rbp), %rdi
callq 0x32e0
movq -0x40(%rbp), %rax
addq $0xc8, %rax
movq %rax, -0xa0(%rbp)
leaq -0x22(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x3430
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rdx
leaq 0xde81(%rip), %rsi      # 0x26ce7
callq 0x62d0
jmp 0x18e6d
leaq -0x22(%rbp), %rdi
callq 0x32e0
movq -0x40(%rbp), %rdi
addq $0xf0, %rdi
movq %rdi, -0xb0(%rbp)
callq 0x1f1d0
movq -0x40(%rbp), %rdi
addq $0x130, %rdi            # imm = 0x130
movq %rdi, -0xa8(%rbp)
callq 0x1f1f0
jmp 0x18ea6
movq -0x40(%rbp), %rdi
addq $0x180, %rdi            # imm = 0x180
movq %rdi, -0xb8(%rbp)
callq 0x1f1f0
jmp 0x18ebf
movq -0x40(%rbp), %rdi
addq $0x1d0, %rdi            # imm = 0x1D0
movq %rdi, -0xc0(%rbp)
callq 0x1f1f0
jmp 0x18ed8
movq -0x40(%rbp), %rdi
addq $0x228, %rdi            # imm = 0x228
movq %rdi, -0xd0(%rbp)
callq 0x1f220
movq -0x40(%rbp), %rdi
addq $0x250, %rdi            # imm = 0x250
movq %rdi, -0xc8(%rbp)
callq 0x1f240
jmp 0x18f08
movq -0x40(%rbp), %rdi
addq $0x2b8, %rdi            # imm = 0x2B8
movq %rdi, -0xd8(%rbp)
callq 0x1f270
jmp 0x18f21
movq -0x40(%rbp), %rdi
addq $0x310, %rdi            # imm = 0x310
movq %rdi, -0xe0(%rbp)
callq 0x3370
movq -0x40(%rbp), %rax
movq -0xe0(%rbp), %rdi
movl $0x0, 0x120(%rax)
movl $0x0, 0x124(%rax)
movl $0x0, 0x128(%rax)
movl $0x0, 0x220(%rax)
movb $0x1, 0x330(%rax)
movl (%rax), %ecx
decl %ecx
movl %ecx, 0x220(%rax)
leaq 0xdcfe(%rip), %rsi      # 0x26c81
callq 0x3360
jmp 0x18f8a
movq -0x40(%rbp), %rax
movl $0x0, 0xe8(%rax)
addq $0xe0, %rsp
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x9(%rbp), %rdi
callq 0x32e0
jmp 0x19151
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x1d(%rbp), %rdi
callq 0x32e0
jmp 0x19148
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x1e(%rbp), %rdi
callq 0x32e0
jmp 0x1913f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x1f(%rbp), %rdi
callq 0x32e0
jmp 0x19136
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x32e0
jmp 0x1912d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x21(%rbp), %rdi
callq 0x32e0
jmp 0x19124
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x22(%rbp), %rdi
callq 0x32e0
jmp 0x19118
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x19100
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x190f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x190e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x190d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x190c4
movq -0xe0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
callq 0x31a0
movq -0xd8(%rbp), %rdi
callq 0x1f2a0
movq -0xc8(%rbp), %rdi
callq 0x1f2c0
movq -0xd0(%rbp), %rdi
callq 0x1f2e0
movq -0xc0(%rbp), %rdi
callq 0x1f300
movq -0xb8(%rbp), %rdi
callq 0x1f300
movq -0xa8(%rbp), %rdi
callq 0x1f300
movq -0xb0(%rbp), %rdi
callq 0x1f320
movq -0xa0(%rbp), %rdi
callq 0x31a0
movq -0x90(%rbp), %rdi
callq 0x31a0
movq -0x80(%rbp), %rdi
callq 0x31a0
movq -0x70(%rbp), %rdi
callq 0x31a0
movq -0x60(%rbp), %rdi
callq 0x31a0
movq -0x50(%rbp), %rdi
callq 0x31a0
movq -0x38(%rbp), %rdi
callq 0x31a0
movq -0x18(%rbp), %rdi
callq 0x3420
nopw (%rax,%rax)