// File: SunriseFox[P]very-simple-c-compiler/./src/asm.cpp
// Function: get4RegName[abi:cxx11](int)
string get4RegName(int i) {
    switch (i) {
    case 0: return "%eax";
    case 1: return "%ebx";
    case 2: return "%ecx";
    case 3: return "%edx";
    case 4: return "%esi";
    case 5: return "%edi";
    case 6: return "%r8d";
    case 7: return "%r9d";
    case 8: return "%r10d";
    case 9: return "%r11d";
    case 10: return "%r12d";
    case 11: return "%r13d";
    case 12: return "%r14d";
    case 13: return "%r15d";
    }
    return "unknown4reg";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x48(%rbp)
movq %rdi, %rax
movq %rax, -0x40(%rbp)
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq %rax, -0x38(%rbp)
subq $0xd, %rax
ja 0x4220
movq -0x38(%rbp), %rax
leaq 0x1326f(%rip), %rcx     # 0x17048
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq -0xd(%rbp), %rdi
movq %rdi, -0x50(%rbp)
callq 0x3490
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rdx
leaq 0x133be(%rip), %rsi     # 0x171bc
callq 0x8910
jmp 0x3e05
leaq -0xd(%rbp), %rdi
callq 0x32c0
jmp 0x426b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0xd(%rbp), %rdi
callq 0x32c0
jmp 0x4278
leaq -0x1d(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x3490
movq -0x48(%rbp), %rdi
movq -0x58(%rbp), %rdx
leaq 0x13378(%rip), %rsi     # 0x171c1
callq 0x8910
jmp 0x3e50
leaq -0x1d(%rbp), %rdi
callq 0x32c0
jmp 0x426b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x1d(%rbp), %rdi
callq 0x32c0
jmp 0x4278
leaq -0x1e(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x3490
movq -0x48(%rbp), %rdi
movq -0x60(%rbp), %rdx
leaq 0x13332(%rip), %rsi     # 0x171c6
callq 0x8910
jmp 0x3e9b
leaq -0x1e(%rbp), %rdi
callq 0x32c0
jmp 0x426b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x1e(%rbp), %rdi
callq 0x32c0
jmp 0x4278
leaq -0x1f(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x3490
movq -0x48(%rbp), %rdi
movq -0x68(%rbp), %rdx
leaq 0x132ec(%rip), %rsi     # 0x171cb
callq 0x8910
jmp 0x3ee6
leaq -0x1f(%rbp), %rdi
callq 0x32c0
jmp 0x426b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x1f(%rbp), %rdi
callq 0x32c0
jmp 0x4278
leaq -0x20(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x3490
movq -0x48(%rbp), %rdi
movq -0x70(%rbp), %rdx
leaq 0x132a6(%rip), %rsi     # 0x171d0
callq 0x8910
jmp 0x3f31
leaq -0x20(%rbp), %rdi
callq 0x32c0
jmp 0x426b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x32c0
jmp 0x4278
leaq -0x21(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x3490
movq -0x48(%rbp), %rdi
movq -0x78(%rbp), %rdx
leaq 0x13260(%rip), %rsi     # 0x171d5
callq 0x8910
jmp 0x3f7c
leaq -0x21(%rbp), %rdi
callq 0x32c0
jmp 0x426b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x21(%rbp), %rdi
callq 0x32c0
jmp 0x4278
leaq -0x22(%rbp), %rdi
movq %rdi, -0x80(%rbp)
callq 0x3490
movq -0x48(%rbp), %rdi
movq -0x80(%rbp), %rdx
leaq 0x1321a(%rip), %rsi     # 0x171da
callq 0x8910
jmp 0x3fc7
leaq -0x22(%rbp), %rdi
callq 0x32c0
jmp 0x426b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x22(%rbp), %rdi
callq 0x32c0
jmp 0x4278
leaq -0x23(%rbp), %rdi
movq %rdi, -0x88(%rbp)
callq 0x3490
movq -0x48(%rbp), %rdi
movq -0x88(%rbp), %rdx
leaq 0x131ce(%rip), %rsi     # 0x171df
callq 0x8910
jmp 0x4018
leaq -0x23(%rbp), %rdi
callq 0x32c0
jmp 0x426b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x23(%rbp), %rdi
callq 0x32c0
jmp 0x4278
leaq -0x24(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x3490
movq -0x48(%rbp), %rdi
movq -0x90(%rbp), %rdx
leaq 0x13182(%rip), %rsi     # 0x171e4
callq 0x8910
jmp 0x4069
leaq -0x24(%rbp), %rdi
callq 0x32c0
jmp 0x426b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x24(%rbp), %rdi
callq 0x32c0
jmp 0x4278
leaq -0x25(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x3490
movq -0x48(%rbp), %rdi
movq -0x98(%rbp), %rdx
leaq 0x13137(%rip), %rsi     # 0x171ea
callq 0x8910
jmp 0x40ba
leaq -0x25(%rbp), %rdi
callq 0x32c0
jmp 0x426b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x25(%rbp), %rdi
callq 0x32c0
jmp 0x4278
leaq -0x26(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x3490
movq -0x48(%rbp), %rdi
movq -0xa0(%rbp), %rdx
leaq 0x130ec(%rip), %rsi     # 0x171f0
callq 0x8910
jmp 0x410b
leaq -0x26(%rbp), %rdi
callq 0x32c0
jmp 0x426b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x26(%rbp), %rdi
callq 0x32c0
jmp 0x4278
leaq -0x27(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
callq 0x3490
movq -0x48(%rbp), %rdi
movq -0xa8(%rbp), %rdx
leaq 0x130a1(%rip), %rsi     # 0x171f6
callq 0x8910
jmp 0x415c
leaq -0x27(%rbp), %rdi
callq 0x32c0
jmp 0x426b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x27(%rbp), %rdi
callq 0x32c0
jmp 0x4278
leaq -0x28(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0x3490
movq -0x48(%rbp), %rdi
movq -0xb0(%rbp), %rdx
leaq 0x13056(%rip), %rsi     # 0x171fc
callq 0x8910
jmp 0x41ad
leaq -0x28(%rbp), %rdi
callq 0x32c0
jmp 0x426b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x32c0
jmp 0x4278
leaq -0x29(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x3490
movq -0x48(%rbp), %rdi
movq -0xb8(%rbp), %rdx
leaq 0x1300b(%rip), %rsi     # 0x17202
callq 0x8910
jmp 0x41fe
leaq -0x29(%rbp), %rdi
callq 0x32c0
jmp 0x426b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x29(%rbp), %rdi
callq 0x32c0
jmp 0x4278
leaq -0x2a(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x3490
movq -0x48(%rbp), %rdi
movq -0xc0(%rbp), %rdx
leaq 0x12f6e(%rip), %rsi     # 0x171b0
callq 0x8910
jmp 0x4249
leaq -0x2a(%rbp), %rdi
callq 0x32c0
jmp 0x426b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x2a(%rbp), %rdi
callq 0x32c0
jmp 0x4278
movq -0x40(%rbp), %rax
addq $0xc0, %rsp
popq %rbp
retq
movq -0x18(%rbp), %rdi
callq 0x3480
nopw %cs:(%rax,%rax)