// File: /workspace/github_c_makefile_star2_O3/ryvnf[P]czc/eval.c
// Function: op_to_name
const char *op_to_name(enum ast_tag tag)
{
    switch (tag) {
        case COMMA_EXPR:
            return "binary ,";
        case COND_EXPR:
            return "binary ?:";
        case ASGN_EXPR:
            return "binary =";
        case ADD_ASGN_EXPR:
            return "binary +=";
        case SUB_ASGN_EXPR:
            return "binary -=";
        case MUL_ASGN_EXPR:
            return "binary *=";
        case DIV_ASGN_EXPR:
            return "binary /=";
        case REM_ASGN_EXPR:
            return "binary %=";
        case OR_ASGN_EXPR:
            return "binary |=";
        case XOR_ASGN_EXPR:
            return "binary ~=";
        case AND_ASGN_EXPR:
            return "binary &=";
        case SHL_ASGN_EXPR:
            return "binary <<=";
        case SHR_ASGN_EXPR:
            return "binary >>=";
        case LOR_EXPR:
            return "binary ||";
        case LAND_EXPR:
            return "binary &&";
        case OR_EXPR:
            return "binary |";
        case XOR_EXPR:
            return "binary ~";
        case AND_EXPR:
            return "binary &";
        case EQ_EXPR:
            return "binary ==";
        case NE_EXPR:
            return "binary !=";
        case LT_EXPR:
            return "binary <";
        case GT_EXPR:
            return "binary >";
        case LE_EXPR:
            return "binary <=";
        case GE_EXPR:
            return "binary >=";
        case SHL_EXPR:
            return "binary <<";
        case SHR_EXPR:
            return "binary >>";
        case ADD_EXPR:
            return "binary +";
        case SUB_EXPR:
            return "binary -";
        case MUL_EXPR:
            return "binary *";
        case DIV_EXPR:
            return "binary /";
        case REM_EXPR:
            return "binary %";
        case NOT_EXPR:
            return "unary !";
        case COMPL_EXPR:
            return "unary ~";
        case UPLUS_EXPR:
            return "unary +";
        case NEG_EXPR:
            return "unary -";
        case REF_EXPR:
            return "reference ^";
        case DEREF_EXPR:
            return "dereference ^";
        case PRE_INC_EXPR:
            return "unary prefix ++";
        case PRE_DEC_EXPR:
            return "unary prefix --";
        case POST_INC_EXPR:
            return "unary postfix ++";
        case POST_DEC_EXPR:
            return "unary postfix --";
        case SIZEOF_EXPR:
            return "sizeof";
        case SUBSCR_EXPR:
            return "array subscript";
        case CALL_EXPR:
            return "function call";
        case MEMBER_EXPR:
            return "member access";
    }
    return ast_tag_name(tag);
}

// Assembly:
cmpl $0x428f, %edi           # imm = 0x428F
jg 0x50eb
cmpl $0x423f, %edi           # imm = 0x423F
jg 0x511b
leal -0x4220(%rdi), %eax
cmpl $0x10, %eax
ja 0x51ec
leaq 0x886e(%rip), %rcx      # 0xd948
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x8b51(%rip), %rax      # 0xdc3b
retq
cmpl $0x42b0, %edi           # imm = 0x42B0
jg 0x5166
cmpl $0x42a0, %edi           # imm = 0x42A0
jg 0x514a
cmpl $0x4290, %edi           # imm = 0x4290
je 0x5189
cmpl $0x42a0, %edi           # imm = 0x42A0
jne 0x52cc
leaq 0x8bf9(%rip), %rax      # 0xdd13
retq
cmpl $0x425f, %edi           # imm = 0x425F
jle 0x5199
leal -0x4260(%rdi), %eax
cmpl $0x3, %eax
ja 0x520c
leaq 0x8853(%rip), %rcx      # 0xd98c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x8ba4(%rip), %rax      # 0xdced
retq
cmpl $0x42a1, %edi           # imm = 0x42A1
je 0x5191
cmpl $0x42b0, %edi           # imm = 0x42B0
jne 0x52cc
leaq 0x8bc2(%rip), %rax      # 0xdd27
retq
leal -0x42c0(%rdi), %eax
cmpl $0x17, %eax
ja 0x51c5
leaq 0x8824(%rip), %rcx      # 0xd99c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x8bb1(%rip), %rax      # 0xdd39
retq
leaq 0x8b40(%rip), %rax      # 0xdcd0
retq
leaq 0x8b85(%rip), %rax      # 0xdd1d
retq
cmpl $0x4240, %edi           # imm = 0x4240
je 0x529c
cmpl $0x4250, %edi           # imm = 0x4250
je 0x528c
cmpl $0x4251, %edi           # imm = 0x4251
jne 0x52cc
leaq 0x8b1f(%rip), %rax      # 0xdce3
retq
leal -0x42f0(%rdi), %eax
cmpl $0x5, %eax
ja 0x52bc
leaq 0x8821(%rip), %rcx      # 0xd9fc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x8b89(%rip), %rax      # 0xdd74
retq
cmpl $0x4200, %edi           # imm = 0x4200
je 0x52b4
cmpl $0x4210, %edi           # imm = 0x4210
jne 0x52cc
leaq 0x8a26(%rip), %rax      # 0xdc31
retq
cmpl $0x4270, %edi           # imm = 0x4270
je 0x52ac
cmpl $0x4280, %edi           # imm = 0x4280
jne 0x52cc
leaq 0x8a9c(%rip), %rax      # 0xdcc7
retq
leaq 0x8a4d(%rip), %rax      # 0xdc80
retq
leaq 0x8a4f(%rip), %rax      # 0xdc8a
retq
leaq 0x8a29(%rip), %rax      # 0xdc6c
retq
leaq 0x8a03(%rip), %rax      # 0xdc4e
retq
leaq 0x8a4c(%rip), %rax      # 0xdc9f
retq
leaq 0x8a07(%rip), %rax      # 0xdc62
retq
leaq 0x89e1(%rip), %rax      # 0xdc44
retq
leaq 0x89ed(%rip), %rax      # 0xdc58
retq
leaq 0x8a03(%rip), %rax      # 0xdc76
retq
leaq 0x8a2f(%rip), %rax      # 0xdcaa
retq
leaq 0x8a11(%rip), %rax      # 0xdc94
retq
leaq 0x8a74(%rip), %rax      # 0xdcff
retq
leaq 0x8a46(%rip), %rax      # 0xdcd9
retq
leaq 0x8a6e(%rip), %rax      # 0xdd09
retq
leaq 0x8a11(%rip), %rax      # 0xdcb4
retq
leaq 0x8a4b(%rip), %rax      # 0xdcf6
retq
leaq 0x8a0b(%rip), %rax      # 0xdcbe
retq
leaq 0x896d(%rip), %rax      # 0xdc28
retq
cmpl $0x42b1, %edi           # imm = 0x42B1
jne 0x52cc
leaq 0x8a65(%rip), %rax      # 0xdd30
retq
jmp 0x2894
leaq 0x8a9e(%rip), %rax      # 0xdd76
retq
leaq 0x8a7c(%rip), %rax      # 0xdd5c
retq
leaq 0x8a84(%rip), %rax      # 0xdd6c
retq
leaq 0x8a92(%rip), %rax      # 0xdd82
retq
leaq 0x8a5c(%rip), %rax      # 0xdd54
retq
leaq 0x8a4b(%rip), %rax      # 0xdd4b
retq
leaq 0x8a3a(%rip), %rax      # 0xdd42
retq
leaq 0x8ab4(%rip), %rax      # 0xddc4
retq
leaq 0x8a4c(%rip), %rax      # 0xdd64
retq
leaq 0x8a72(%rip), %rax      # 0xdd92
retq
leaq 0x8a8b(%rip), %rax      # 0xddb3
retq
leaq 0x8b4c(%rip), %rax      # 0xde7c
retq
leaq 0x8a6a(%rip), %rax      # 0xdda2
retq
leaq 0x8a8b(%rip), %rax      # 0xddcb
retq
leaq 0x8a93(%rip), %rax      # 0xdddb
retq