// File: /workspace/github_cpp_makefile_star2_O1/alexwarth[P]nothing/main.cpp
// Function: vprintf2(char const*, __va_list_tag*, int)
void vprintf2(const char *fmt, va_list args, value_t n) {
  int oldDebug = debug; debug = 0;
  while (1)
    switch (*fmt) { case 0:   va_end(args); debug = oldDebug; return;
                    case '%': fmt++;
                              switch (*fmt++) { case '%': putchar('%');                                                  break;
                                                case 'o': fsend1(sPrint, va_arg(args, value_t));                         break;
                                                case 'd': printf("%d", va_arg(args, int));                               break;
                                                case 'S': printf2("ipb(ip=%o): [", ip);
                                                          for (int idx = 0; idx < IntValue(numSlots(ipb)); idx++) {
                                                            if (idx > 0) printf2(", ");
                                                            value_t instr = slotAt(ipb, Int(idx)),
                                                                    prim  = slotAt(instr, Int(0)),
                                                                    arg   = slotAt(instr, Int(1));
                                                            if (idx == IntValue(ip)) printf2("<<");
                                                            printf2("%o(%o)", primNames[IntValue(prim)], arg);
                                                            if (idx == IntValue(ip)) printf2(">>");
                                                          }
                                                          printf2("]\nfp: %o\n", fp);
                                                          printf2("/---------------------------------------------\\\n");
                                                          for (int spv = IntValue(sp); spv >= 0; spv--)
                                                            printf2("  %o\n", slotAt(stack, Int(spv)));
                                                          printf2("\\---------------------------------------------/\n"); break;
                                                default:  putchar('%'); fmt--; };
                              break;
                    default:  putchar(*fmt++); }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movl 0x112d2(%rip), %eax     # 0x13540
movl %eax, 0x4(%rsp)
movl $0x0, 0x112c4(%rip)     # 0x13540
leaq 0x10ffd(%rip), %r15     # 0x13280
leaq 0xa5c1(%rip), %r12      # 0xc84b
movq %rsi, 0x8(%rsp)
movzbl (%rbx), %eax
cmpl $0x25, %eax
je 0x22ac
testl %eax, %eax
je 0x2645
movsbl %al, %edi
incq %rbx
callq 0x20b0
jmp 0x228f
leaq 0x2(%rbx), %r13
movzbl 0x1(%rbx), %eax
cmpl $0x63, %eax
jg 0x24b5
cmpl $0x25, %eax
je 0x24f6
cmpl $0x53, %eax
jne 0x24e4
movq %r13, 0x10(%rsp)
movl 0x1127a(%rip), %esi     # 0x13554
leaq 0xa2b6(%rip), %rdi      # 0xc597
xorl %eax, %eax
callq 0x21cc
movl 0x11262(%rip), %edi     # 0x13550
callq 0x29fa
cmpl $0x0, 0x11246(%rip)     # 0x13540
setne %cl
testb $0x1, %al
sete %dl
testb %dl, %cl
jne 0x266a
xorl %ebp, %ebp
xorl %r13d, %r13d
sarl %eax
cmpl %eax, %r13d
jge 0x2527
testl %r13d, %r13d
je 0x232d
leaq 0xa2b5(%rip), %rdi      # 0xc5db
xorl %eax, %eax
callq 0x21cc
movl 0x1121d(%rip), %ecx     # 0x13550
movl 0x11207(%rip), %eax     # 0x13540
testl %eax, %eax
sete %dl
testb $0x1, %cl
sete %sil
orb %dl, %sil
je 0x26f2
sarl %ecx
movl %ebp, %edx
sarl %edx
movslq %ecx, %rsi
testl %eax, %eax
je 0x2384
testl %edx, %edx
js 0x265e
movq 0x11246(%rip), %rcx     # 0x135b0
leaq (%rsi,%rsi,2), %rdi
movl (%rcx,%rdi,8), %ecx
testb $0x1, %cl
je 0x2754
sarl %ecx
cmpl %ecx, %edx
jge 0x265e
movq 0x11225(%rip), %rcx     # 0x135b0
leaq (%rsi,%rsi,2), %rsi
movq 0x10(%rcx,%rsi,8), %rsi
movslq %edx, %rdx
movl (%rsi,%rdx,4), %edx
testl %eax, %eax
je 0x23a9
movl %edx, %esi
andl $0x1, %esi
jne 0x2689
sarl %edx
movslq %edx, %rdx
testl %eax, %eax
je 0x23cc
leaq (%rdx,%rdx,2), %rsi
movl (%rcx,%rsi,8), %esi
testb $0x1, %sil
je 0x2735
cmpl $0x1, %esi
jle 0x270d
leaq (%rdx,%rdx,2), %rsi
movq 0x10(%rcx,%rsi,8), %rdx
movl (%rdx), %r14d
testl %eax, %eax
je 0x23f1
movl (%rcx,%rsi,8), %ecx
testb $0x1, %cl
je 0x2716
cmpl $0x3, %ecx
jle 0x2704
movl 0x1115d(%rip), %ecx     # 0x13554
testl %eax, %eax
setne %al
testb $0x1, %cl
sete %sil
andb %al, %sil
cmpb $0x1, %sil
je 0x2695
movl 0x4(%rdx), %ebx
sarl %ecx
cmpl %ecx, %r13d
jne 0x2428
leaq 0xa427(%rip), %rdi      # 0xc848
xorl %eax, %eax
callq 0x21cc
cmpl $0x0, 0x11111(%rip)     # 0x13540
je 0x243d
movl %r14d, %eax
andl $0x1, %eax
je 0x26d3
sarl %r14d
movslq %r14d, %rax
movq (%r15,%rax,8), %rsi
movq %r12, %rdi
movl %ebx, %edx
xorl %eax, %eax
callq 0x21cc
movl 0x110fb(%rip), %eax     # 0x13554
cmpl $0x0, 0x110e0(%rip)     # 0x13540
setne %cl
testb $0x1, %al
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
je 0x26b4
sarl %eax
cmpl %eax, %r13d
jne 0x2488
leaq 0xa3d1(%rip), %rdi      # 0xc852
xorl %eax, %eax
callq 0x21cc
incl %r13d
movl 0x110bf(%rip), %edi     # 0x13550
callq 0x29fa
cmpl $0x0, 0x110a3(%rip)     # 0x13540
setne %cl
testb $0x1, %al
sete %dl
addl $0x2, %ebp
testb %dl, %cl
je 0x230f
jmp 0x266a
cmpl $0x64, %eax
je 0x2508
cmpl $0x6f, %eax
jne 0x24e4
movl 0x110cb(%rip), %edi     # 0x13590
movl (%r14), %ecx
cmpq $0x28, %rcx
ja 0x2606
movq %rcx, %rax
addq 0x10(%r14), %rax
addl $0x8, %ecx
movl %ecx, (%r14)
jmp 0x2612
incq %rbx
movl $0x25, %edi
callq 0x20b0
jmp 0x228f
movl $0x25, %edi
callq 0x20b0
movq %r13, %rbx
jmp 0x228f
movl (%r14), %ecx
cmpq $0x28, %rcx
ja 0x2621
movq %rcx, %rax
addq 0x10(%r14), %rax
addl $0x8, %ecx
movl %ecx, (%r14)
jmp 0x262d
movl 0x1102b(%rip), %esi     # 0x13558
leaq 0xa321(%rip), %rdi      # 0xc855
xorl %eax, %eax
callq 0x21cc
leaq 0xa31d(%rip), %rdi      # 0xc85f
xorl %eax, %eax
callq 0x21cc
movl 0x1100d(%rip), %eax     # 0x1355c
cmpl $0x0, 0x10fea(%rip)     # 0x13540
setne %cl
testb $0x1, %al
sete %dl
testb %dl, %cl
jne 0x279b
sarl %eax
movq 0x8(%rsp), %r14
leaq 0xa31c(%rip), %r13      # 0xc890
js 0x25ee
movl %eax, %ebx
movl 0x10fce(%rip), %eax     # 0x1354c
movl 0x10fbc(%rip), %ecx     # 0x13540
testl %ecx, %ecx
sete %dl
testb $0x1, %al
sete %sil
orb %dl, %sil
je 0x26fb
sarl %eax
cltq
testl %ecx, %ecx
je 0x25c5
movq 0x11009(%rip), %rcx     # 0x135b0
leaq (%rax,%rax,2), %rdx
movl (%rcx,%rdx,8), %ecx
testb $0x1, %cl
je 0x277c
sarl %ecx
movslq %ecx, %rcx
cmpq %rcx, %rbx
jge 0x2773
movq 0x10fe4(%rip), %rcx     # 0x135b0
leaq (%rax,%rax,2), %rax
movq 0x10(%rcx,%rax,8), %rax
movl (%rax,%rbx,4), %esi
movq %r13, %rdi
xorl %eax, %eax
callq 0x21cc
leaq -0x1(%rbx), %rax
testq %rbx, %rbx
movq %rax, %rbx
jg 0x2578
leaq 0xa36f(%rip), %rdi      # 0xc964
xorl %eax, %eax
callq 0x21cc
movq 0x10(%rsp), %rbx
jmp 0x228f
movq 0x8(%r14), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%r14)
movl (%rax), %esi
callq 0x3172
movq %r13, %rbx
jmp 0x228f
movq 0x8(%r14), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x8(%r14)
movl (%rax), %esi
leaq 0xc898(%rip), %rdi      # 0xeece
xorl %eax, %eax
callq 0x2030
movq %r13, %rbx
jmp 0x228f
movl 0x4(%rsp), %eax
movl %eax, 0x10ef1(%rip)     # 0x13540
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x9f79(%rip), %rdi      # 0xc5de
jmp 0x275b
leaq 0x9b1d(%rip), %rdi      # 0xc18e
leaq 0x99bf(%rip), %rsi      # 0xc037
leaq 0x9f26(%rip), %rcx      # 0xc5a5
movl $0xd2, %edx
callq 0x2060
leaq 0x99ca(%rip), %rdi      # 0xc05a
jmp 0x273c
leaq 0x9af2(%rip), %rdi      # 0xc18e
leaq 0x9994(%rip), %rsi      # 0xc037
leaq 0x9efb(%rip), %rcx      # 0xc5a5
movl $0xd7, %edx
callq 0x2060
leaq 0x9ad3(%rip), %rdi      # 0xc18e
leaq 0x9975(%rip), %rsi      # 0xc037
leaq 0x9edc(%rip), %rcx      # 0xc5a5
movl $0xd9, %edx
callq 0x2060
leaq 0x9ab4(%rip), %rdi      # 0xc18e
leaq 0x9956(%rip), %rsi      # 0xc037
leaq 0x9ebd(%rip), %rcx      # 0xc5a5
movl $0xd8, %edx
callq 0x2060
leaq 0x9961(%rip), %rdi      # 0xc05a
jmp 0x275b
leaq 0x9958(%rip), %rdi      # 0xc05a
jmp 0x2783
leaq 0xa06f(%rip), %rdi      # 0xc77a
jmp 0x271d
leaq 0x9f98(%rip), %rdi      # 0xc6ac
jmp 0x273c
leaq 0x9a71(%rip), %rdi      # 0xc18e
leaq 0x9913(%rip), %rsi      # 0xc037
leaq 0x9e7a(%rip), %rcx      # 0xc5a5
movl $0xd6, %edx
callq 0x2060
leaq 0x9a52(%rip), %rdi      # 0xc18e
leaq 0x98f4(%rip), %rsi      # 0xc037
leaq 0x9e5b(%rip), %rcx      # 0xc5a5
movl $0xd5, %edx
callq 0x2060
leaq 0x9a33(%rip), %rdi      # 0xc18e
leaq 0x98d5(%rip), %rsi      # 0xc037
leaq 0x9e3c(%rip), %rcx      # 0xc5a5
movl $0xd4, %edx
callq 0x2060
leaq 0xa11c(%rip), %rdi      # 0xc896
jmp 0x2783
leaq 0x9a0b(%rip), %rdi      # 0xc18e
leaq 0x98ad(%rip), %rsi      # 0xc037
leaq 0x9e14(%rip), %rcx      # 0xc5a5
movl $0xde, %edx
callq 0x2060
leaq 0x99ec(%rip), %rdi      # 0xc18e
leaq 0x988e(%rip), %rsi      # 0xc037
leaq 0x9df5(%rip), %rcx      # 0xc5a5
movl $0xdd, %edx
callq 0x2060