// File: /workspace/github_cpp_makefile_star2_O1/alexwarth[P]nothing/main.cpp
// Function: installPrimAsMethod(int, int, int)
void installPrimAsMethod(value_t _class, value_t sel, value_t prim) {
  value_t closure = _p1(Push, ref(nil));
  value_t code    = deref_(closure, mk(5));
  slotAtPut(code, Int(0), cons(Arg,    Int(1))); // push boxed receiver
  slotAtPut(code, Int(1), cons(Unbox,  Int(0))); // unbox the receiver on the stack
  slotAtPut(code, Int(2), cons(Push,   prim));   // push the primitive
  slotAtPut(code, Int(3), cons(DoPrim, Int(1)));
  slotAtPut(code, Int(4), cons(Ret,    nil));    // return (DoPrim's result is top of stack)
  _p1(Push, sel);
  _p1(InstMeth, _class);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %r15d
movl 0xb882(%rip), %eax      # 0x13488
cmpl $0x0, 0xb933(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x82fd
movl %esi, %ebp
movl %edi, %ebx
sarl %eax
cltq
leaq 0xb451(%rip), %rcx      # 0x13080
movq (%rcx,%rax,8), %r14
movl 0xb90e(%rip), %r12d     # 0x13548
movl $0x1, %edi
callq 0x2d35
movl 0xb8f6(%rip), %edx      # 0x13540
testl %edx, %edx
sete %cl
testb $0x1, %al
sete %sil
orb %cl, %sil
je 0x8306
movl %eax, %ecx
sarl %ecx
movslq %ecx, %rcx
testl %edx, %edx
je 0x7c89
movq 0xb940(%rip), %rdx      # 0x135b0
leaq (%rcx,%rcx,2), %rsi
movl (%rdx,%rsi,8), %edx
testb $0x1, %dl
je 0x82fd
cmpl $0x1, %edx
jle 0x8356
movq 0xb920(%rip), %rdx      # 0x135b0
leaq (%rcx,%rcx,2), %rcx
movq 0x10(%rdx,%rcx,8), %rcx
movl %r12d, (%rcx)
movl %eax, %edi
callq *%r14
movl %eax, %r12d
cmpl $0x0, 0xb895(%rip)      # 0x13540
je 0x7cb9
movl %r12d, %eax
andl $0x1, %eax
jne 0x830f
sarl %r12d
movl $0x5, %edi
callq 0x2d35
movl %eax, %r14d
cmpl $0x0, 0xb870(%rip)      # 0x13540
movslq %r12d, %rax
je 0x7cf5
movq 0xb8d4(%rip), %rcx      # 0x135b0
leaq (%rax,%rax,2), %rdx
movl (%rcx,%rdx,8), %ecx
testb $0x1, %cl
je 0x8375
cmpl $0x1, %ecx
jle 0x837e
movq 0xb8b4(%rip), %rcx      # 0x135b0
leaq (%rax,%rax,2), %rax
movq 0x10(%rcx,%rax,8), %rax
movl %r14d, (%rax)
testb $0x1, %r14b
je 0x7d1b
cmpl $0x0, 0xb82b(%rip)      # 0x13540
jne 0x8232
movl 0xb78e(%rip), %r12d     # 0x134b0
movl $0x2, %edi
callq 0x2d35
movl 0xb80e(%rip), %ecx      # 0x13540
testl %ecx, %ecx
sete %dl
testb $0x1, %al
sete %sil
orb %dl, %sil
je 0x8232
movl %eax, %edx
sarl %edx
movslq %edx, %rdx
testl %ecx, %ecx
je 0x7d6d
movq 0xb858(%rip), %rcx      # 0x135b0
leaq (%rdx,%rdx,2), %rsi
movl (%rcx,%rsi,8), %ecx
testb $0x1, %cl
je 0x8262
cmpl $0x1, %ecx
jle 0x7de4
testb $0x1, %al
sete %r8b
movq 0xb836(%rip), %rcx      # 0x135b0
leaq (%rdx,%rdx,2), %rdi
movq 0x10(%rcx,%rdi,8), %rdx
movl %r12d, (%rdx)
movl 0xb7b4(%rip), %esi      # 0x13540
testl %esi, %esi
sete %dl
orb %r8b, %dl
je 0x8232
movl %r14d, %edx
sarl %edx
leaq (%rcx,%rdi,8), %r8
addq $0x10, %r8
movslq %edx, %rdx
testl %esi, %esi
je 0x7df0
movl (%rcx,%rdi,8), %edi
testb $0x1, %dil
je 0x8262
cmpl $0x3, %edi
jle 0x7de4
movq (%r8), %rdi
movl $0x3, 0x4(%rdi)
testl %esi, %esi
je 0x7dfa
leaq (%rdx,%rdx,2), %rsi
movl (%rcx,%rsi,8), %esi
testb $0x1, %sil
je 0x8262
cmpl $0x1, %esi
jg 0x7dfa
leaq 0x7cee(%rip), %rdi      # 0xfad9
jmp 0x8269
movq (%r8), %rsi
movl $0x3, 0x4(%rsi)
leaq (%rdx,%rdx,2), %r12
movq 0x10(%rcx,%r12,8), %rcx
movl %eax, (%rcx)
testb $0x1, %r14b
je 0x7e18
cmpl $0x0, 0xb72e(%rip)      # 0x13540
jne 0x823b
movl 0xb685(%rip), %r13d     # 0x134a4
movl $0x2, %edi
callq 0x2d35
movl 0xb711(%rip), %ecx      # 0x13540
testl %ecx, %ecx
sete %dl
testb $0x1, %al
sete %sil
orb %dl, %sil
je 0x823b
movl %eax, %edx
sarl %edx
movslq %edx, %rdx
testl %ecx, %ecx
je 0x7e6a
movq 0xb75b(%rip), %rcx      # 0x135b0
leaq (%rdx,%rdx,2), %rsi
movl (%rcx,%rsi,8), %ecx
testb $0x1, %cl
je 0x8281
cmpl $0x1, %ecx
jle 0x7ed7
testb $0x1, %al
sete %sil
movq 0xb739(%rip), %rcx      # 0x135b0
leaq (%rdx,%rdx,2), %rdi
movq 0x10(%rcx,%rdi,8), %rdx
movl %r13d, (%rdx)
movl 0xb6b7(%rip), %edx      # 0x13540
testl %edx, %edx
sete %r8b
orb %sil, %r8b
je 0x823b
leaq (%rcx,%rdi,8), %rsi
addq $0x10, %rsi
testl %edx, %edx
je 0x7ee3
movl (%rcx,%rdi,8), %edi
testb $0x1, %dil
je 0x8281
cmpl $0x3, %edi
jle 0x7ed7
movq (%rsi), %rsi
movl $0x1, 0x4(%rsi)
testl %edx, %edx
je 0x7eed
movl (%rcx,%r12,8), %esi
testb $0x1, %sil
je 0x8281
cmpl $0x3, %esi
jg 0x7eed
leaq 0x7cc9(%rip), %rdi      # 0xfba7
jmp 0x8288
movq (%rsi), %rsi
movl $0x1, 0x4(%rsi)
testl %edx, %edx
sete %dl
testb $0x1, %r14b
sete %sil
movq 0x10(%rcx,%r12,8), %rcx
movl %eax, 0x4(%rcx)
orb %dl, %sil
je 0x8244
movl 0xb576(%rip), %r13d     # 0x13488
movl $0x2, %edi
callq 0x2d35
movl 0xb61e(%rip), %ecx      # 0x13540
testl %ecx, %ecx
sete %dl
testb $0x1, %al
sete %sil
orb %dl, %sil
je 0x8244
movl %eax, %edx
sarl %edx
movslq %edx, %rdx
testl %ecx, %ecx
je 0x7f5d
movq 0xb668(%rip), %rcx      # 0x135b0
leaq (%rdx,%rdx,2), %rsi
movl (%rcx,%rsi,8), %ecx
testb $0x1, %cl
je 0x82a0
cmpl $0x1, %ecx
jle 0x7fc7
testb $0x1, %al
sete %sil
movq 0xb646(%rip), %rcx      # 0x135b0
leaq (%rdx,%rdx,2), %rdi
movq 0x10(%rcx,%rdi,8), %rdx
movl %r13d, (%rdx)
movl 0xb5c4(%rip), %edx      # 0x13540
testl %edx, %edx
sete %r8b
orb %sil, %r8b
je 0x8244
leaq (%rcx,%rdi,8), %rsi
addq $0x10, %rsi
testl %edx, %edx
je 0x7fd3
movl (%rcx,%rdi,8), %edi
testb $0x1, %dil
je 0x82a0
cmpl $0x3, %edi
jle 0x7fc7
movq (%rsi), %rsi
movl %r15d, 0x4(%rsi)
testl %edx, %edx
je 0x7fda
movl (%rcx,%r12,8), %esi
testb $0x1, %sil
je 0x82a0
cmpl $0x5, %esi
jg 0x7fda
leaq 0x7ca7(%rip), %rdi      # 0xfc75
jmp 0x82a7
movq (%rsi), %rsi
movl %r15d, 0x4(%rsi)
testl %edx, %edx
sete %dl
testb $0x1, %r14b
sete %sil
movq 0x10(%rcx,%r12,8), %rcx
movl %eax, 0x8(%rcx)
orb %dl, %sil
je 0x824d
movl 0xb4dd(%rip), %r15d     # 0x134dc
movl $0x2, %edi
callq 0x2d35
movl 0xb531(%rip), %ecx      # 0x13540
testl %ecx, %ecx
sete %dl
testb $0x1, %al
sete %sil
orb %dl, %sil
je 0x824d
movl %eax, %edx
sarl %edx
movslq %edx, %rdx
testl %ecx, %ecx
je 0x804a
movq 0xb57b(%rip), %rcx      # 0x135b0
leaq (%rdx,%rdx,2), %rsi
movl (%rcx,%rsi,8), %ecx
testb $0x1, %cl
je 0x82bf
cmpl $0x1, %ecx
jle 0x80b7
testb $0x1, %al
sete %sil
movq 0xb559(%rip), %rcx      # 0x135b0
leaq (%rdx,%rdx,2), %rdi
movq 0x10(%rcx,%rdi,8), %rdx
movl %r15d, (%rdx)
movl 0xb4d7(%rip), %edx      # 0x13540
testl %edx, %edx
sete %r8b
orb %sil, %r8b
je 0x824d
leaq (%rcx,%rdi,8), %rsi
addq $0x10, %rsi
testl %edx, %edx
je 0x80c3
movl (%rcx,%rdi,8), %edi
testb $0x1, %dil
je 0x82bf
cmpl $0x3, %edi
jle 0x80b7
movq (%rsi), %rsi
movl $0x3, 0x4(%rsi)
testl %edx, %edx
je 0x80cd
movl (%rcx,%r12,8), %esi
testb $0x1, %sil
je 0x82bf
cmpl $0x7, %esi
jg 0x80cd
leaq 0x7c85(%rip), %rdi      # 0xfd43
jmp 0x82c6
movq (%rsi), %rsi
movl $0x3, 0x4(%rsi)
testl %edx, %edx
sete %dl
testb $0x1, %r14b
sete %sil
movq 0x10(%rcx,%r12,8), %rcx
movl %eax, 0xc(%rcx)
orb %dl, %sil
je 0x8256
movl 0xb3da(%rip), %r15d     # 0x134cc
movl 0xb44f(%rip), %r14d     # 0x13548
movl $0x2, %edi
callq 0x2d35
movl 0xb437(%rip), %ecx      # 0x13540
testl %ecx, %ecx
sete %dl
testb $0x1, %al
sete %sil
orb %dl, %sil
je 0x8256
movl %eax, %edx
sarl %edx
movslq %edx, %rdx
testl %ecx, %ecx
je 0x8144
movq 0xb481(%rip), %rcx      # 0x135b0
leaq (%rdx,%rdx,2), %rsi
movl (%rcx,%rsi,8), %ecx
testb $0x1, %cl
je 0x82de
cmpl $0x1, %ecx
jle 0x81b5
testb $0x1, %al
sete %sil
movq 0xb45f(%rip), %rcx      # 0x135b0
leaq (%rdx,%rdx,2), %rdi
movq 0x10(%rcx,%rdi,8), %rdx
movl %r15d, (%rdx)
movl 0xb3dd(%rip), %edx      # 0x13540
testl %edx, %edx
sete %r8b
orb %sil, %r8b
je 0x8256
leaq (%rcx,%rdi,8), %rsi
addq $0x10, %rsi
testl %edx, %edx
leaq 0xaefd(%rip), %r8       # 0x13080
je 0x81c1
movl (%rcx,%rdi,8), %edi
testb $0x1, %dil
je 0x82de
cmpl $0x3, %edi
jle 0x81b5
movq (%rsi), %rsi
movl %r14d, 0x4(%rsi)
testl %edx, %edx
je 0x81c8
movl (%rcx,%r12,8), %esi
testb $0x1, %sil
je 0x82de
cmpl $0x9, %esi
jg 0x81c8
leaq 0x7c55(%rip), %rdi      # 0xfe11
jmp 0x82e5
movq (%rsi), %rsi
movl %r14d, 0x4(%rsi)
movq 0x10(%rcx,%r12,8), %rcx
movl %eax, 0x10(%rcx)
movl 0xb2b2(%rip), %eax      # 0x13488
testl %edx, %edx
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x8318
sarl %eax
cltq
movl %ebp, %edi
movq %r8, %r14
callq *(%r8,%rax,8)
movl 0xb2d2(%rip), %eax      # 0x134d0
cmpl $0x0, 0xb33b(%rip)      # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x8337
sarl %eax
cltq
movl %ebx, %edi
movq %r14, %rcx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmpq *(%rcx,%rax,8)
leaq 0x3e21(%rip), %rdi      # 0xc05a
jmp 0x8269
leaq 0x3e18(%rip), %rdi      # 0xc05a
jmp 0x8288
leaq 0x3e0f(%rip), %rdi      # 0xc05a
jmp 0x82a7
leaq 0x3e06(%rip), %rdi      # 0xc05a
jmp 0x82c6
leaq 0x3dfd(%rip), %rdi      # 0xc05a
jmp 0x82e5
leaq 0x3f25(%rip), %rdi      # 0xc18e
leaq 0x3dc7(%rip), %rsi      # 0xc037
leaq 0x7692(%rip), %rcx      # 0xf909
movl $0x201, %edx            # imm = 0x201
callq 0x2060
leaq 0x3f06(%rip), %rdi      # 0xc18e
leaq 0x3da8(%rip), %rsi      # 0xc037
leaq 0x7673(%rip), %rcx      # 0xf909
movl $0x202, %edx            # imm = 0x202
callq 0x2060
leaq 0x3ee7(%rip), %rdi      # 0xc18e
leaq 0x3d89(%rip), %rsi      # 0xc037
leaq 0x7654(%rip), %rcx      # 0xf909
movl $0x203, %edx            # imm = 0x203
callq 0x2060
leaq 0x3ec8(%rip), %rdi      # 0xc18e
leaq 0x3d6a(%rip), %rsi      # 0xc037
leaq 0x7635(%rip), %rcx      # 0xf909
movl $0x204, %edx            # imm = 0x204
callq 0x2060
leaq 0x3ea9(%rip), %rdi      # 0xc18e
leaq 0x3d4b(%rip), %rsi      # 0xc037
leaq 0x7616(%rip), %rcx      # 0xf909
movl $0x205, %edx            # imm = 0x205
callq 0x2060
leaq 0x3e8a(%rip), %rdi      # 0xc18e
jmp 0x835d
leaq 0x3d4d(%rip), %rdi      # 0xc05a
jmp 0x835d
leaq 0x3d44(%rip), %rdi      # 0xc05a
jmp 0x8385
leaq 0x3e6f(%rip), %rdi      # 0xc18e
leaq 0x3d11(%rip), %rsi      # 0xc037
leaq 0x75dc(%rip), %rcx      # 0xf909
movl $0x206, %edx            # imm = 0x206
callq 0x2060
leaq 0x3e50(%rip), %rdi      # 0xc18e
leaq 0x3cf2(%rip), %rsi      # 0xc037
leaq 0x75bd(%rip), %rcx      # 0xf909
movl $0x207, %edx            # imm = 0x207
callq 0x2060
leaq 0x75e0(%rip), %rdi      # 0xf93d
leaq 0x3cd3(%rip), %rsi      # 0xc037
leaq 0x759e(%rip), %rcx      # 0xf909
movl $0x1ff, %edx            # imm = 0x1FF
callq 0x2060
leaq 0x3e12(%rip), %rdi      # 0xc18e
jmp 0x8385
leaq 0x7686(%rip), %rdi      # 0xfa0b
leaq 0x3cab(%rip), %rsi      # 0xc037
leaq 0x7576(%rip), %rcx      # 0xf909
movl $0x200, %edx            # imm = 0x200
callq 0x2060