// File: /workspace/github_c_makefile_star2_O0/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:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0xc(%rbp)
movl -0xc(%rbp), %eax
addl $0xffffbe00, %eax       # imm = 0xFFFFBE00
movl %eax, %ecx
movq %rcx, -0x18(%rbp)
subl $0xf5, %eax
ja 0x6a2d
movq -0x18(%rbp), %rax
leaq 0xbfc1(%rip), %rcx      # 0x12730
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xc779(%rip), %rax      # 0x12ef8
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc772(%rip), %rax      # 0x12f01
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc76c(%rip), %rax      # 0x12f0b
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc765(%rip), %rax      # 0x12f14
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc75f(%rip), %rax      # 0x12f1e
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc759(%rip), %rax      # 0x12f28
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc753(%rip), %rax      # 0x12f32
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc74d(%rip), %rax      # 0x12f3c
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc747(%rip), %rax      # 0x12f46
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc741(%rip), %rax      # 0x12f50
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc73b(%rip), %rax      # 0x12f5a
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc735(%rip), %rax      # 0x12f64
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc730(%rip), %rax      # 0x12f6f
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc72b(%rip), %rax      # 0x12f7a
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc725(%rip), %rax      # 0x12f84
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc71f(%rip), %rax      # 0x12f8e
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc718(%rip), %rax      # 0x12f97
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc711(%rip), %rax      # 0x12fa0
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc70a(%rip), %rax      # 0x12fa9
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc704(%rip), %rax      # 0x12fb3
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc6fe(%rip), %rax      # 0x12fbd
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc6f7(%rip), %rax      # 0x12fc6
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc6f0(%rip), %rax      # 0x12fcf
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc6ea(%rip), %rax      # 0x12fd9
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc6e4(%rip), %rax      # 0x12fe3
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc6de(%rip), %rax      # 0x12fed
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc6d8(%rip), %rax      # 0x12ff7
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc6d1(%rip), %rax      # 0x13000
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc6ca(%rip), %rax      # 0x13009
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc6c3(%rip), %rax      # 0x13012
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc6bc(%rip), %rax      # 0x1301b
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc6b5(%rip), %rax      # 0x13024
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc6ad(%rip), %rax      # 0x1302c
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc6a5(%rip), %rax      # 0x13034
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc69d(%rip), %rax      # 0x1303c
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc697(%rip), %rax      # 0x13046
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc685(%rip), %rax      # 0x13044
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc686(%rip), %rax      # 0x13052
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc689(%rip), %rax      # 0x13062
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc68c(%rip), %rax      # 0x13072
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc690(%rip), %rax      # 0x13083
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc694(%rip), %rax      # 0x13094
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc68e(%rip), %rax      # 0x1309b
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc732(%rip), %rax      # 0x1314c
movq %rax, -0x8(%rbp)
jmp 0x6a39
leaq 0xc684(%rip), %rax      # 0x130ab
movq %rax, -0x8(%rbp)
jmp 0x6a39
movl -0xc(%rbp), %edi
callq 0x2b70
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)