// File: /workspace/github_cpp_makefile_star2_O2/vjeux[P]jspp/example/../src/operators.h
// Function: Object::operator()(Object, Object)
Object Object::operator()(Object a, Object b) {
		if (s->type != FUNCTION) { throw _("Object is not a function"); }
		if (s->f == 0) return s->f0(*self);
		if (s->f == 1) return s->f1(*self, a);
		if (s->f == 2) return s->f2(*self, a, b);
		if (s->f == 3) return s->f3(*self, a, b, undefined);
		if (s->f == 4) return s->f4(*self, a, b, undefined, undefined);
		if (s->f == 5) return s->f5(*self, a, b, undefined, undefined, undefined);
		throw _("Too many arguments");
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x228, %rsp            # imm = 0x228
movq %rsi, %rax
movq 0x10(%rsi), %rsi
cmpl $0x2, 0x38(%rsi)
jne 0x394e
movq %rdi, %rbx
movl 0x68(%rsi), %edi
cmpq $0x5, %rdi
ja 0x3999
leaq 0x5a6b(%rip), %r8       # 0x9050
movslq (%r8,%rdi,4), %rdi
addq %r8, %rdi
jmpq *%rdi
addq $0x70, %rsi
movq (%rax), %rax
movq (%rax), %rcx
leaq 0x210(%rsp), %r14
movq %rcx, (%r14)
movq %r14, 0x8(%r14)
movq 0x10(%rax), %rax
movq %rax, 0x10(%r14)
incl (%rax)
movq %rbx, %rdi
movq %r14, %rdx
callq 0x7a24
jmp 0x3931
movq (%rax), %rax
movq (%rax), %rdi
leaq 0x120(%rsp), %r14
movq %rdi, (%r14)
movq %r14, 0x8(%r14)
movq 0x10(%rax), %rax
movq %rax, 0x10(%r14)
incl (%rax)
movq (%rdx), %rax
leaq 0x108(%rsp), %r15
movq %rax, (%r15)
movq %r15, 0x8(%r15)
movq 0x10(%rdx), %rax
movq %rax, 0x10(%r15)
incl (%rax)
addq $0xf0, %rsi
movq (%rcx), %rax
leaq 0xf0(%rsp), %r12
movq %rax, (%r12)
movq %r12, 0x8(%r12)
movq 0x10(%rcx), %rax
movq %rax, 0x10(%r12)
incl (%rax)
movq 0x9b0f(%rip), %rax      # 0xd198
leaq 0xd8(%rsp), %r13
movq %rax, (%r13)
movq %r13, 0x8(%r13)
movq 0x9b08(%rip), %rcx      # 0xd1a8
movq %rcx, 0x10(%r13)
movl (%rcx), %edx
leaq 0xc0(%rsp), %rbp
movq %rax, (%rbp)
movq %rbp, 0x8(%rbp)
movq %rcx, 0x10(%rbp)
addl $0x2, %edx
movl %edx, (%rcx)
subq $0x8, %rsp
movq %rbx, %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %r12, %r8
movq %r13, %r9
pushq %rbp
callq 0x7a84
popq %rax
popq %rcx
jmp 0x3911
movq (%rax), %rax
movq (%rax), %rdi
leaq 0x1c8(%rsp), %r14
movq %rdi, (%r14)
movq %r14, 0x8(%r14)
movq 0x10(%rax), %rax
movq %rax, 0x10(%r14)
incl (%rax)
addq $0xb0, %rsi
movq (%rdx), %rax
leaq 0x1b0(%rsp), %r15
movq %rax, (%r15)
movq %r15, 0x8(%r15)
movq 0x10(%rdx), %rax
movq %rax, 0x10(%r15)
incl (%rax)
movq (%rcx), %rax
leaq 0x198(%rsp), %r12
movq %rax, (%r12)
movq %r12, 0x8(%r12)
movq 0x10(%rcx), %rax
movq %rax, 0x10(%r12)
incl (%rax)
movq %rbx, %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %r12, %r8
callq 0x7a54
jmp 0x3921
movq (%rax), %rax
movq (%rax), %rdi
leaq 0x180(%rsp), %r14
movq %rdi, (%r14)
movq %r14, 0x8(%r14)
movq 0x10(%rax), %rax
movq %rax, 0x10(%r14)
incl (%rax)
movq (%rdx), %rax
leaq 0x168(%rsp), %r15
movq %rax, (%r15)
movq %r15, 0x8(%r15)
movq 0x10(%rdx), %rax
movq %rax, 0x10(%r15)
incl (%rax)
addq $0xd0, %rsi
movq (%rcx), %rax
leaq 0x150(%rsp), %r12
movq %rax, (%r12)
movq %r12, 0x8(%r12)
movq 0x10(%rcx), %rax
movq %rax, 0x10(%r12)
incl (%rax)
movq 0x99da(%rip), %rax      # 0xd198
leaq 0x138(%rsp), %r13
movq %rax, (%r13)
movq %r13, 0x8(%r13)
movq 0x99d3(%rip), %rax      # 0xd1a8
movq %rax, 0x10(%r13)
incl (%rax)
movq %rbx, %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %r12, %r8
movq %r13, %r9
callq 0x7a6c
jmp 0x3919
movq (%rax), %rax
movq (%rax), %rcx
leaq 0x1f8(%rsp), %r14
movq %rcx, (%r14)
movq %r14, 0x8(%r14)
movq 0x10(%rax), %rax
movq %rax, 0x10(%r14)
incl (%rax)
movq (%rdx), %rax
leaq 0x1e0(%rsp), %r15
movq %rax, (%r15)
movq %r15, 0x8(%r15)
movq 0x10(%rdx), %rax
movq %rax, 0x10(%r15)
incl (%rax)
addq $0x90, %rsi
movq %rbx, %rdi
movq %r14, %rdx
movq %r15, %rcx
callq 0x7a3c
jmp 0x3929
movq (%rax), %rax
movq (%rax), %rdi
leaq 0xa8(%rsp), %r14
movq %rdi, (%r14)
movq %r14, 0x8(%r14)
movq 0x10(%rax), %rax
movq %rax, 0x10(%r14)
incl (%rax)
movq (%rdx), %rax
leaq 0x90(%rsp), %r15
movq %rax, (%r15)
movq %r15, 0x8(%r15)
movq 0x10(%rdx), %rax
movq %rax, 0x10(%r15)
incl (%rax)
addq $0x110, %rsi            # imm = 0x110
movq (%rcx), %rax
leaq 0x78(%rsp), %r12
movq %rax, (%r12)
movq %r12, 0x8(%r12)
movq 0x10(%rcx), %rax
movq %rax, 0x10(%r12)
incl (%rax)
movq 0x98ea(%rip), %rax      # 0xd198
leaq 0x60(%rsp), %r13
movq %rax, (%r13)
movq %r13, 0x8(%r13)
movq 0x98e6(%rip), %rcx      # 0xd1a8
movq %rcx, 0x10(%r13)
movl (%rcx), %edx
leaq 0x48(%rsp), %rbp
movq %rax, (%rbp)
movq %rbp, 0x8(%rbp)
movq %rcx, 0x10(%rbp)
leaq 0x30(%rsp), %r10
movq %rax, (%r10)
movq %r10, 0x8(%r10)
movq %rcx, 0x10(%r10)
addl $0x3, %edx
movl %edx, (%rcx)
movq %rbx, %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %r12, %r8
movq %r13, %r9
pushq %r10
pushq %rbp
callq 0x7aae
popq %rax
popq %rcx
leaq 0x30(%rsp), %rdi
callq 0x79fc
movq %rbp, %rdi
callq 0x79fc
movq %r13, %rdi
callq 0x79fc
movq %r12, %rdi
callq 0x79fc
movq %r15, %rdi
callq 0x79fc
movq %r14, %rdi
callq 0x79fc
movq %rbx, %rax
addq $0x228, %rsp            # imm = 0x228
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
pushq $0x18
popq %rdi
callq 0x20e0
movq %rax, %r14
leaq 0x57b0(%rip), %rsi      # 0x9110
leaq 0x18(%rsp), %rdi
callq 0x588e
movq 0x18(%rsp), %rax
movq %rax, (%r14)
movq %r14, 0x8(%r14)
movq 0x28(%rsp), %rax
movq %rax, 0x10(%r14)
incl (%rax)
leaq 0x93c0(%rip), %rsi      # 0xcd48
leaq 0x406d(%rip), %rdx      # 0x79fc
movq %r14, %rdi
callq 0x2270
jmp 0x39df
pushq $0x18
popq %rdi
callq 0x20e0
movq %rax, %r14
leaq 0x577e(%rip), %rsi      # 0x9129
movq %rsp, %rdi
callq 0x588e
movq (%rsp), %rax
movq %rax, (%r14)
movq %r14, 0x8(%r14)
movq 0x10(%rsp), %rax
movq %rax, 0x10(%r14)
incl (%rax)
leaq 0x9378(%rip), %rsi      # 0xcd48
leaq 0x4025(%rip), %rdx      # 0x79fc
movq %r14, %rdi
callq 0x2270
movq %rax, %rbx
movq %rsp, %rdi
jmp 0x3b05
jmp 0x3b0c
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x79fc
leaq 0x48(%rsp), %rdi
callq 0x79fc
leaq 0x60(%rsp), %rdi
callq 0x79fc
leaq 0x78(%rsp), %rdi
callq 0x79fc
leaq 0x90(%rsp), %rdi
callq 0x79fc
leaq 0xa8(%rsp), %rdi
jmp 0x3b05
movq %rax, %rbx
leaq 0x1e0(%rsp), %rdi
callq 0x79fc
leaq 0x1f8(%rsp), %rdi
jmp 0x3b05
movq %rax, %rbx
leaq 0x210(%rsp), %rdi
jmp 0x3b05
movq %rax, %rbx
leaq 0x138(%rsp), %rdi
callq 0x79fc
leaq 0x150(%rsp), %rdi
callq 0x79fc
leaq 0x168(%rsp), %rdi
callq 0x79fc
leaq 0x180(%rsp), %rdi
jmp 0x3b05
movq %rax, %rbx
leaq 0x198(%rsp), %rdi
callq 0x79fc
leaq 0x1b0(%rsp), %rdi
callq 0x79fc
leaq 0x1c8(%rsp), %rdi
jmp 0x3b05
movq %rax, %rbx
leaq 0xc0(%rsp), %rdi
callq 0x79fc
leaq 0xd8(%rsp), %rdi
callq 0x79fc
leaq 0xf0(%rsp), %rdi
callq 0x79fc
leaq 0x108(%rsp), %rdi
callq 0x79fc
leaq 0x120(%rsp), %rdi
jmp 0x3b05
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x79fc
jmp 0x3b17
movq %rax, %rbx
movq %r14, %rdi
callq 0x2130
movq %rbx, %rdi
callq 0x2280
nop