// File: /workspace/github_cpp_makefile_star2_O2/vjeux[P]jspp/example/../src/operators.h
// Function: Object::operator()(Object, Object, Object, Object)
Object Object::operator()(Object a, Object b, Object c, Object d) {
		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, c);
		if (s->f == 4) return s->f4(*self, a, b, c, d);
		if (s->f == 5) return s->f5(*self, a, b, c, d, 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 0x443f
movq %rdi, %rbx
movl 0x68(%rsi), %edi
cmpq $0x5, %rdi
ja 0x448a
leaq 0x4fad(%rip), %r10      # 0x9080
movslq (%r10,%rdi,4), %rdi
addq %r10, %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 0x4422
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)
movq (%rcx), %rax
leaq 0xf0(%rsp), %r12
movq %rax, (%r12)
movq %r12, 0x8(%r12)
movq 0x10(%rcx), %rax
movq %rax, 0x10(%r12)
incl (%rax)
addq $0xf0, %rsi
movq (%r8), %rax
leaq 0xd8(%rsp), %r13
movq %rax, (%r13)
movq %r13, 0x8(%r13)
movq 0x10(%r8), %rax
movq %rax, 0x10(%r13)
incl (%rax)
movq (%r9), %rax
leaq 0xc0(%rsp), %rbp
movq %rax, (%rbp)
movq %rbp, 0x8(%rbp)
movq 0x10(%r9), %rax
movq %rax, 0x10(%rbp)
incl (%rax)
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 0x4402
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 0x4412
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 (%r8), %rax
leaq 0x138(%rsp), %r13
movq %rax, (%r13)
movq %r13, 0x8(%r13)
movq 0x10(%r8), %rax
movq %rax, 0x10(%r13)
incl (%rax)
movq %rbx, %rdi
movq %r14, %rdx
movq %r15, %rcx
movq %r12, %r8
movq %r13, %r9
callq 0x7a6c
jmp 0x440a
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 0x441a
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)
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 (%r8), %rax
leaq 0x60(%rsp), %r13
movq %rax, (%r13)
movq %r13, 0x8(%r13)
movq 0x10(%r8), %rax
movq %rax, 0x10(%r13)
incl (%rax)
addq $0x110, %rsi            # imm = 0x110
movq (%r9), %rax
leaq 0x48(%rsp), %rbp
movq %rax, (%rbp)
movq %rbp, 0x8(%rbp)
movq 0x10(%r9), %rax
movq %rax, 0x10(%rbp)
incl (%rax)
movq 0x8dd2(%rip), %rax      # 0xd198
leaq 0x30(%rsp), %r10
movq %rax, (%r10)
movq %r10, 0x8(%r10)
movq 0x8dcf(%rip), %rax      # 0xd1a8
movq %rax, 0x10(%r10)
incl (%rax)
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 0x4cbf(%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 0x88cf(%rip), %rsi      # 0xcd48
leaq 0x357c(%rip), %rdx      # 0x79fc
movq %r14, %rdi
callq 0x2270
jmp 0x44d0
pushq $0x18
popq %rdi
callq 0x20e0
movq %rax, %r14
leaq 0x4c8d(%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 0x8887(%rip), %rsi      # 0xcd48
leaq 0x3534(%rip), %rdx      # 0x79fc
movq %r14, %rdi
callq 0x2270
movq %rax, %rbx
movq %rsp, %rdi
jmp 0x45f6
jmp 0x45fd
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 0x45f6
movq %rax, %rbx
leaq 0x1e0(%rsp), %rdi
callq 0x79fc
leaq 0x1f8(%rsp), %rdi
jmp 0x45f6
movq %rax, %rbx
leaq 0x210(%rsp), %rdi
jmp 0x45f6
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 0x45f6
movq %rax, %rbx
leaq 0x198(%rsp), %rdi
callq 0x79fc
leaq 0x1b0(%rsp), %rdi
callq 0x79fc
leaq 0x1c8(%rsp), %rdi
jmp 0x45f6
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 0x45f6
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x79fc
jmp 0x4608
movq %rax, %rbx
movq %r14, %rdi
callq 0x2130
movq %rbx, %rdi
callq 0x2280