// File: kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_op::binary_operator[abi:cxx11]()
string AST_op::binary_operator(){
    switch ( oper_type ){
        case PLUS:
            return "+";
        case MINUS:
            return "-";
        case PROD:
            return "*";
        case DIV:
            return "/";
        case MOD:
            return "%";
        case AND:
            return "&&";
        case OR:
            return "||";
        case IMP:
            return "==>";
        case CONSEQ:
            return "<==";
        case EQ:
            return "==";
        case UNEQ:
            return "!=";
        case LESS:
            return "<";
        case LESS_EQ:
            return "<=";
        case GREAT:
            return ">";
        case GREAT_EQ:
            return ">=";
    }
    return "";
}

// Assembly:
subq $0xd8, %rsp
movq %rdi, 0x88(%rsp)
movq %rdi, %rax
movq %rax, 0x90(%rsp)
movq %rdi, 0xd0(%rsp)
movq %rsi, 0xc8(%rsp)
movq 0xc8(%rsp), %rax
movl 0x68(%rax), %eax
movq %rax, 0x98(%rsp)
subq $0xe, %rax
ja 0x933d
movq 0x98(%rsp), %rax
leaq 0x49346(%rip), %rcx     # 0x5208c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xc7(%rsp), %rdi
movq %rdi, 0x80(%rsp)
callq 0x66c0
movq 0x88(%rsp), %rdi
movq 0x80(%rsp), %rdx
leaq 0x497dc(%rip), %rsi     # 0x52557
callq 0x7500
jmp 0x8d82
leaq 0xc7(%rsp), %rdi
callq 0x6400
jmp 0x939c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0xc7(%rsp), %rdi
callq 0x6400
jmp 0x93ac
leaq 0xb3(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x66c0
movq 0x88(%rsp), %rdi
movq 0x78(%rsp), %rdx
leaq 0x4b925(%rip), %rsi     # 0x54705
callq 0x7500
jmp 0x8de7
leaq 0xb3(%rsp), %rdi
callq 0x6400
jmp 0x939c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0xb3(%rsp), %rdi
callq 0x6400
jmp 0x93ac
leaq 0xb2(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0x66c0
movq 0x88(%rsp), %rdi
movq 0x70(%rsp), %rdx
leaq 0x4b889(%rip), %rsi     # 0x546ce
callq 0x7500
jmp 0x8e4c
leaq 0xb2(%rsp), %rdi
callq 0x6400
jmp 0x939c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0xb2(%rsp), %rdi
callq 0x6400
jmp 0x93ac
leaq 0xb1(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0x66c0
movq 0x88(%rsp), %rdi
movq 0x68(%rsp), %rdx
leaq 0x496af(%rip), %rsi     # 0x52559
callq 0x7500
jmp 0x8eb1
leaq 0xb1(%rsp), %rdi
callq 0x6400
jmp 0x939c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0xb1(%rsp), %rdi
callq 0x6400
jmp 0x93ac
leaq 0xb0(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x66c0
movq 0x88(%rsp), %rdi
movq 0x60(%rsp), %rdx
leaq 0x4964c(%rip), %rsi     # 0x5255b
callq 0x7500
jmp 0x8f16
leaq 0xb0(%rsp), %rdi
callq 0x6400
jmp 0x939c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0xb0(%rsp), %rdi
callq 0x6400
jmp 0x93ac
leaq 0xaf(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x66c0
movq 0x88(%rsp), %rdi
movq 0x58(%rsp), %rdx
leaq 0x495e9(%rip), %rsi     # 0x5255d
callq 0x7500
jmp 0x8f7b
leaq 0xaf(%rsp), %rdi
callq 0x6400
jmp 0x939c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0xaf(%rsp), %rdi
callq 0x6400
jmp 0x93ac
leaq 0xae(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x66c0
movq 0x88(%rsp), %rdi
movq 0x50(%rsp), %rdx
leaq 0x49587(%rip), %rsi     # 0x52560
callq 0x7500
jmp 0x8fe0
leaq 0xae(%rsp), %rdi
callq 0x6400
jmp 0x939c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0xae(%rsp), %rdi
callq 0x6400
jmp 0x93ac
leaq 0xad(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x66c0
movq 0x88(%rsp), %rdi
movq 0x48(%rsp), %rdx
leaq 0x49525(%rip), %rsi     # 0x52563
callq 0x7500
jmp 0x9045
leaq 0xad(%rsp), %rdi
callq 0x6400
jmp 0x939c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0xad(%rsp), %rdi
callq 0x6400
jmp 0x93ac
leaq 0xac(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x66c0
movq 0x88(%rsp), %rdi
movq 0x40(%rsp), %rdx
leaq 0x494c4(%rip), %rsi     # 0x52567
callq 0x7500
jmp 0x90aa
leaq 0xac(%rsp), %rdi
callq 0x6400
jmp 0x939c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0xac(%rsp), %rdi
callq 0x6400
jmp 0x93ac
leaq 0xab(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x66c0
movq 0x88(%rsp), %rdi
movq 0x38(%rsp), %rdx
leaq 0x49460(%rip), %rsi     # 0x52568
callq 0x7500
jmp 0x910f
leaq 0xab(%rsp), %rdi
callq 0x6400
jmp 0x939c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0xab(%rsp), %rdi
callq 0x6400
jmp 0x93ac
leaq 0xaa(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x66c0
movq 0x88(%rsp), %rdi
movq 0x30(%rsp), %rdx
leaq 0x493fe(%rip), %rsi     # 0x5256b
callq 0x7500
jmp 0x9174
leaq 0xaa(%rsp), %rdi
callq 0x6400
jmp 0x939c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0xaa(%rsp), %rdi
callq 0x6400
jmp 0x93ac
leaq 0xa9(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x66c0
movq 0x88(%rsp), %rdi
movq 0x28(%rsp), %rdx
leaq 0x4939c(%rip), %rsi     # 0x5256e
callq 0x7500
jmp 0x91d9
leaq 0xa9(%rsp), %rdi
callq 0x6400
jmp 0x939c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0xa9(%rsp), %rdi
callq 0x6400
jmp 0x93ac
leaq 0xa8(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x66c0
movq 0x88(%rsp), %rdi
movq 0x20(%rsp), %rdx
leaq 0x49339(%rip), %rsi     # 0x52570
callq 0x7500
jmp 0x923e
leaq 0xa8(%rsp), %rdi
callq 0x6400
jmp 0x939c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0xa8(%rsp), %rdi
callq 0x6400
jmp 0x93ac
leaq 0xa7(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x66c0
movq 0x88(%rsp), %rdi
movq 0x18(%rsp), %rdx
leaq 0x4b097(%rip), %rsi     # 0x54333
callq 0x7500
jmp 0x92a3
leaq 0xa7(%rsp), %rdi
callq 0x6400
jmp 0x939c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0xa7(%rsp), %rdi
callq 0x6400
jmp 0x93ac
leaq 0xa6(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x66c0
movq 0x88(%rsp), %rdi
movq 0x10(%rsp), %rdx
leaq 0x49272(%rip), %rsi     # 0x52573
callq 0x7500
jmp 0x9308
leaq 0xa6(%rsp), %rdi
callq 0x6400
jmp 0x939c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0xa6(%rsp), %rdi
callq 0x6400
jmp 0x93ac
leaq 0xa5(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x66c0
movq 0x88(%rsp), %rdi
movq 0x8(%rsp), %rdx
leaq 0x4afef(%rip), %rsi     # 0x54352
callq 0x7500
jmp 0x936a
leaq 0xa5(%rsp), %rdi
callq 0x6400
jmp 0x939c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb8(%rsp)
movl %eax, 0xb4(%rsp)
leaq 0xa5(%rsp), %rdi
callq 0x6400
jmp 0x93ac
movq 0x90(%rsp), %rax
addq $0xd8, %rsp
retq
movq 0xb8(%rsp), %rdi
callq 0x66b0
nopl (%rax)