// File: martinda3[P]Compiler/src/ASfuncDef.cpp
// Function: toyc::ASfuncDef::toString[abi:cxx11]()
std::string ASfuncDef::toString()
	{
	    std::string tecter;
		if (numVarDef == 0)
		{
			std::string s;
			s = spaces() + "funDef(\n";
			indent();
			s += spaces() + identifier->toString() + ",\n" +
			     statement->toString() + ",\n";
			outdent();
			s += spaces() + ")\n";
			return s;
		}
		std::string str = "";
		str += spaces() + "funDef(\n";
		indent();
		str += spaces() + identifier->toString() + ",\n";

		for (int i = 0; i < numVarDef; i++)
		{
			str += (varDefList[i]->toString());
		}
		str += ",\n" + statement->toString() + ",\n";
		outdent();
		str += spaces() + ")\n";
		return str;
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x360, %rsp            # imm = 0x360
movq %rdi, -0x350(%rbp)
movq %rdi, %rax
movq %rax, -0x348(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x340(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x9480
movq -0x340(%rbp), %rax
cmpl $0x0, 0xfb8(%rax)
jne 0x13eeb
movq -0x350(%rbp), %rdi
movb $0x0, -0x31(%rbp)
callq 0x9480
leaq -0x78(%rbp), %rdi
callq 0x1bce0
jmp 0x13ba7
leaq 0x1f96c(%rip), %rdx     # 0x3351a
leaq -0x58(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0xcc00
jmp 0x13bbd
movq -0x350(%rbp), %rdi
leaq -0x58(%rbp), %rsi
movq %rsi, -0x358(%rbp)
callq 0x9420
movq -0x358(%rbp), %rdi
callq 0x9658
leaq -0x78(%rbp), %rdi
callq 0x9658
callq 0x1bd10
jmp 0x13bf0
leaq -0x128(%rbp), %rdi
callq 0x1bce0
jmp 0x13bfe
movq -0x340(%rbp), %rax
movq 0x10(%rax), %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x148(%rbp), %rdi
callq *%rax
jmp 0x13c1a
leaq -0x108(%rbp), %rdi
leaq -0x128(%rbp), %rsi
leaq -0x148(%rbp), %rdx
callq 0xd410
jmp 0x13c36
leaq 0x210e0(%rip), %rdx     # 0x34d1d
leaq -0xe8(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0xcc00
jmp 0x13c52
movq -0x340(%rbp), %rax
movq 0xfc0(%rax), %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x168(%rbp), %rdi
callq *%rax
jmp 0x13c71
leaq -0xc8(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
leaq -0x168(%rbp), %rdx
callq 0xd410
jmp 0x13c8d
leaq 0x21089(%rip), %rdx     # 0x34d1d
leaq -0xa8(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0xcc00
jmp 0x13ca9
movq -0x350(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x9450
jmp 0x13cbe
leaq -0xa8(%rbp), %rdi
callq 0x9658
leaq -0xc8(%rbp), %rdi
callq 0x9658
leaq -0x168(%rbp), %rdi
callq 0x9658
leaq -0xe8(%rbp), %rdi
callq 0x9658
leaq -0x108(%rbp), %rdi
callq 0x9658
leaq -0x148(%rbp), %rdi
callq 0x9658
leaq -0x128(%rbp), %rdi
callq 0x9658
callq 0x1bd30
jmp 0x13d19
leaq -0x1a8(%rbp), %rdi
callq 0x1bce0
jmp 0x13d27
leaq 0x1f2f8(%rip), %rdx     # 0x33026
leaq -0x188(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0xcc00
jmp 0x13d43
movq -0x350(%rbp), %rdi
leaq -0x188(%rbp), %rsi
callq 0x9450
jmp 0x13d58
leaq -0x188(%rbp), %rdi
callq 0x9658
leaq -0x1a8(%rbp), %rdi
callq 0x9658
movb $0x1, -0x31(%rbp)
movl $0x1, -0x1ac(%rbp)
testb $0x1, -0x31(%rbp)
jne 0x13ed5
jmp 0x13ec9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x13eda
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x9658
jmp 0x13eda
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x13e81
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x13e75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x13e69
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x13e5d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x13e51
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x13e45
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x9658
leaq -0xc8(%rbp), %rdi
callq 0x9658
leaq -0x168(%rbp), %rdi
callq 0x9658
leaq -0xe8(%rbp), %rdi
callq 0x9658
leaq -0x108(%rbp), %rdi
callq 0x9658
leaq -0x148(%rbp), %rdi
callq 0x9658
leaq -0x128(%rbp), %rdi
callq 0x9658
jmp 0x13eda
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x13ebb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x188(%rbp), %rdi
callq 0x9658
leaq -0x1a8(%rbp), %rdi
callq 0x9658
jmp 0x13eda
movq -0x350(%rbp), %rdi
callq 0x9658
jmp 0x14371
movq -0x350(%rbp), %rdi
callq 0x9658
jmp 0x1438a
movb $0x0, -0x1ad(%rbp)
leaq -0x1ae(%rbp), %rdi
movq %rdi, -0x360(%rbp)
callq 0x95c0
movq -0x350(%rbp), %rdi
movq -0x360(%rbp), %rdx
leaq 0x207da(%rip), %rsi     # 0x346f4
callq 0x13550
jmp 0x13f21
leaq -0x1ae(%rbp), %rdi
callq 0x93b0
leaq -0x1f0(%rbp), %rdi
callq 0x1bce0
jmp 0x13f3b
leaq 0x1f5d8(%rip), %rdx     # 0x3351a
leaq -0x1d0(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
callq 0xcc00
jmp 0x13f57
movq -0x350(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x9450
jmp 0x13f6c
leaq -0x1d0(%rbp), %rdi
callq 0x9658
leaq -0x1f0(%rbp), %rdi
callq 0x9658
callq 0x1bd10
jmp 0x13f8b
leaq -0x250(%rbp), %rdi
callq 0x1bce0
jmp 0x13f99
movq -0x340(%rbp), %rax
movq 0x10(%rax), %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x270(%rbp), %rdi
callq *%rax
jmp 0x13fb5
leaq -0x230(%rbp), %rdi
leaq -0x250(%rbp), %rsi
leaq -0x270(%rbp), %rdx
callq 0xd410
jmp 0x13fd1
leaq 0x20d45(%rip), %rdx     # 0x34d1d
leaq -0x210(%rbp), %rdi
leaq -0x230(%rbp), %rsi
callq 0xcc00
jmp 0x13fed
movq -0x350(%rbp), %rdi
leaq -0x210(%rbp), %rsi
callq 0x9450
jmp 0x14002
leaq -0x210(%rbp), %rdi
callq 0x9658
leaq -0x230(%rbp), %rdi
callq 0x9658
leaq -0x270(%rbp), %rdi
callq 0x9658
leaq -0x250(%rbp), %rdi
callq 0x9658
movl $0x0, -0x274(%rbp)
movq -0x340(%rbp), %rcx
movl -0x274(%rbp), %eax
cmpl 0xfb8(%rcx), %eax
jge 0x141b3
movq -0x340(%rbp), %rax
movslq -0x274(%rbp), %rcx
movq 0x18(%rax,%rcx,8), %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x298(%rbp), %rdi
callq *%rax
jmp 0x14079
movq -0x350(%rbp), %rdi
leaq -0x298(%rbp), %rsi
callq 0x9450
jmp 0x1408e
leaq -0x298(%rbp), %rdi
callq 0x9658
movl -0x274(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x274(%rbp)
jmp 0x1403c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x1ae(%rbp), %rdi
callq 0x93b0
jmp 0x1438a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x14363
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x1410b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x9658
leaq -0x1f0(%rbp), %rdi
callq 0x9658
jmp 0x14363
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x14182
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x14176
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x1416a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x9658
leaq -0x230(%rbp), %rdi
callq 0x9658
leaq -0x270(%rbp), %rdi
callq 0x9658
leaq -0x250(%rbp), %rdi
callq 0x9658
jmp 0x14363
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x298(%rbp), %rdi
callq 0x9658
jmp 0x14363
movq -0x340(%rbp), %rax
movq 0xfc0(%rax), %rsi
movq (%rsi), %rax
movq (%rax), %rax
leaq -0x2f8(%rbp), %rdi
callq *%rax
jmp 0x141d2
leaq 0x20b44(%rip), %rsi     # 0x34d1d
leaq -0x2d8(%rbp), %rdi
leaq -0x2f8(%rbp), %rdx
callq 0x14400
jmp 0x141ee
leaq 0x20b28(%rip), %rdx     # 0x34d1d
leaq -0x2b8(%rbp), %rdi
leaq -0x2d8(%rbp), %rsi
callq 0xcc00
jmp 0x1420a
movq -0x350(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
callq 0x9450
jmp 0x1421f
leaq -0x2b8(%rbp), %rdi
callq 0x9658
leaq -0x2d8(%rbp), %rdi
callq 0x9658
leaq -0x2f8(%rbp), %rdi
callq 0x9658
callq 0x1bd30
jmp 0x1424a
leaq -0x338(%rbp), %rdi
callq 0x1bce0
jmp 0x14258
leaq 0x1edc7(%rip), %rdx     # 0x33026
leaq -0x318(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0xcc00
jmp 0x14274
movq -0x350(%rbp), %rdi
leaq -0x318(%rbp), %rsi
callq 0x9450
jmp 0x14289
leaq -0x318(%rbp), %rdi
callq 0x9658
leaq -0x338(%rbp), %rdi
callq 0x9658
movb $0x1, -0x1ad(%rbp)
movl $0x1, -0x1ac(%rbp)
testb $0x1, -0x1ad(%rbp)
jne 0x14361
jmp 0x14355
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x1430d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x14301
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x2b8(%rbp), %rdi
callq 0x9658
leaq -0x2d8(%rbp), %rdi
callq 0x9658
leaq -0x2f8(%rbp), %rdi
callq 0x9658
jmp 0x14363
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x14347
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x318(%rbp), %rdi
callq 0x9658
leaq -0x338(%rbp), %rdi
callq 0x9658
jmp 0x14363
movq -0x350(%rbp), %rdi
callq 0x9658
jmp 0x14371
movq -0x350(%rbp), %rdi
callq 0x9658
jmp 0x1438a
leaq -0x30(%rbp), %rdi
callq 0x9658
movq -0x348(%rbp), %rax
addq $0x360, %rsp            # imm = 0x360
popq %rbp
retq
leaq -0x30(%rbp), %rdi
callq 0x9658
movq -0x80(%rbp), %rdi
callq 0x95b0
nopl (%rax)