// File: /workspace/github_cpp_makefile_star2_O2/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 %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x108, %rsp            # imm = 0x108
movq %rsi, %r14
leaq 0xf8(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movq %rdi, %rbx
movb $0x0, (%rax)
cmpl $0x0, 0xfb8(%rsi)
je 0xdafa
leaq 0x10c00(%rip), %rsi     # 0x1e55a
leaq 0x28(%rsp), %rdx
movq %rbx, %rdi
callq 0xd770
leaq 0x8(%rsp), %rdi
callq 0x11921
leaq 0xfb42(%rip), %rdx      # 0x1d4ba
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xa06b
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x8450
leaq 0x28(%rsp), %rdi
callq 0x8478
leaq 0x8(%rsp), %rdi
callq 0x8478
callq 0x11935
leaq 0x48(%rsp), %rdi
callq 0x11921
movq 0x10(%r14), %rsi
movq (%rsi), %rax
leaq 0x68(%rsp), %rdi
callq *(%rax)
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0x68(%rsp), %rdx
callq 0xa559
leaq 0x11153(%rip), %rdx     # 0x1eb33
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xa06b
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x8450
leaq 0x28(%rsp), %r15
movq %r15, %rdi
callq 0x8478
leaq 0x8(%rsp), %rdi
callq 0x8478
leaq 0x68(%rsp), %rdi
callq 0x8478
leaq 0x48(%rsp), %rdi
callq 0x8478
xorl %r12d, %r12d
movslq 0xfb8(%r14), %rax
cmpq %rax, %r12
jge 0xda5b
movq 0x18(%r14,%r12,8), %rsi
movq (%rsi), %rax
movq %r15, %rdi
callq *(%rax)
movq %rbx, %rdi
movq %r15, %rsi
callq 0x8450
movq %r15, %rdi
callq 0x8478
incq %r12
jmp 0xda2a
movq 0xfc0(%r14), %rsi
movq (%rsi), %rax
leaq 0x48(%rsp), %rdi
callq *(%rax)
leaq 0x110c0(%rip), %rsi     # 0x1eb33
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0xdde6
leaq 0x110aa(%rip), %rdx     # 0x1eb33
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xa06b
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x8450
leaq 0x28(%rsp), %rdi
callq 0x8478
leaq 0x8(%rsp), %rdi
callq 0x8478
leaq 0x48(%rsp), %rdi
callq 0x8478
callq 0x11942
leaq 0x8(%rsp), %rdi
callq 0x11921
leaq 0xf54d(%rip), %rdx      # 0x1d026
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xa06b
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x8450
jmp 0xdc6e
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
andq $0x0, 0x8(%rbx)
movb $0x0, 0x10(%rbx)
leaq 0x8(%rsp), %rdi
callq 0x11921
leaq 0xf99f(%rip), %rdx      # 0x1d4ba
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xa06b
leaq 0x28(%rsp), %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0x82d0
movq %r15, %rdi
callq 0x8478
leaq 0x8(%rsp), %rdi
callq 0x8478
callq 0x11935
leaq 0xc8(%rsp), %rdi
callq 0x11921
movq 0x10(%r14), %rsi
movq (%rsi), %rax
leaq 0xa8(%rsp), %rdi
callq *(%rax)
leaq 0x68(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
leaq 0xa8(%rsp), %rdx
callq 0xa559
leaq 0x10fa3(%rip), %rdx     # 0x1eb33
leaq 0x48(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0xa06b
movq 0xfc0(%r14), %rsi
movq (%rsi), %rax
leaq 0x88(%rsp), %rdi
callq *(%rax)
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0xa559
leaq 0x10f62(%rip), %rdx     # 0x1eb33
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xa06b
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x8450
leaq 0x28(%rsp), %rdi
callq 0x8478
leaq 0x8(%rsp), %rdi
callq 0x8478
leaq 0x88(%rsp), %rdi
callq 0x8478
leaq 0x48(%rsp), %rdi
callq 0x8478
leaq 0x68(%rsp), %rdi
callq 0x8478
leaq 0xa8(%rsp), %rdi
callq 0x8478
leaq 0xc8(%rsp), %rdi
callq 0x8478
callq 0x11942
leaq 0x8(%rsp), %rdi
callq 0x11921
leaq 0xf3d4(%rip), %rdx      # 0x1d026
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0xa06b
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x8450
leaq 0x28(%rsp), %rdi
callq 0x8478
leaq 0x8(%rsp), %rdi
callq 0x8478
leaq 0xe8(%rsp), %rdi
callq 0x8478
movq %rbx, %rax
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0xdd8b
jmp 0xdd9a
jmp 0xddbe
movq %rax, %r14
leaq 0x28(%rsp), %rdi
callq 0x8478
jmp 0xdcc2
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x8478
jmp 0xdcd1
movq %rax, %r14
leaq 0x88(%rsp), %rdi
callq 0x8478
jmp 0xdce3
movq %rax, %r14
leaq 0x48(%rsp), %rdi
callq 0x8478
jmp 0xdcf2
movq %rax, %r14
leaq 0x68(%rsp), %rdi
callq 0x8478
leaq 0xa8(%rsp), %rdi
callq 0x8478
leaq 0xc8(%rsp), %rdi
jmp 0xddb7
movq %rax, %r14
jmp 0xdcfc
movq %rax, %r14
jmp 0xdd09
jmp 0xddbe
jmp 0xdd9a
jmp 0xddbe
jmp 0xdd8b
jmp 0xdd9a
jmp 0xddbe
movq %rax, %r14
leaq 0x28(%rsp), %rdi
callq 0x8478
jmp 0xdd47
movq %rax, %r14
leaq 0x8(%rsp), %rdi
jmp 0xdd78
jmp 0xdd7f
jmp 0xddbe
movq %rax, %r14
leaq 0x28(%rsp), %rdi
callq 0x8478
jmp 0xdd64
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x8478
jmp 0xdd73
movq %rax, %r14
leaq 0x68(%rsp), %rdi
callq 0x8478
jmp 0xdd82
movq %rax, %r14
leaq 0x48(%rsp), %rdi
jmp 0xddb7
jmp 0xddbe
movq %rax, %r14
leaq 0x28(%rsp), %rdi
callq 0x8478
jmp 0xdd9d
movq %rax, %r14
leaq 0x8(%rsp), %rdi
jmp 0xddb7
jmp 0xddbe
movq %rax, %r14
jmp 0xddc9
jmp 0xddbe
jmp 0xddbe
movq %rax, %r14
leaq 0x28(%rsp), %rdi
callq 0x8478
jmp 0xddc1
movq %rax, %r14
movq %rbx, %rdi
callq 0x8478
leaq 0xe8(%rsp), %rdi
callq 0x8478
movq %r14, %rdi
callq 0x8400