// File: /workspace/github_c_makefile_star2_O0/ryvnf[P]czc/type.c
// Function: basic_type_c_name
const char *basic_type_c_name(struct type *type)
{
    switch (type->tag & ~LVAL_TYPE_FLAG) {
        case EXTERN_TYPE:
        case VOID_TYPE:
            return "void";

        case CHAR_TYPE:
            return "char";

        case BOOL_TYPE:
            return "_Bool";

        case UINT_TYPE:
        case UINT8_TYPE:
        case UINT16_TYPE:
        case UINT32_TYPE:
        case UINT64_TYPE:
        case SIZE_TYPE:
        case UINTPTR_TYPE:
            return int_to_c_type(false, sizeof_basic_type(type));

        case INT_TYPE:
        case INT8_TYPE:
        case INT16_TYPE:
        case INT32_TYPE:
        case INT64_TYPE:
        case SSIZE_TYPE:
        case INTPTR_TYPE:
            return int_to_c_type(true, sizeof_basic_type(type));

        case FLOAT_TYPE:
            return "float";

        case DOUBLE_TYPE:
            return "double";

        default:
            bug("Invalid argument to basic_type_c_name: %x", type->tag);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl (%rax), %eax
andl $0xfffffbff, %eax       # imm = 0xFFFFFBFF
movl %eax, -0x14(%rbp)
subl $0x1, %eax
je 0x100e3
jmp 0xffd5
movl -0x14(%rbp), %eax
subl $0x2, %eax
je 0x10123
jmp 0xffe3
movl -0x14(%rbp), %eax
subl $0x80, %eax
je 0x100fd
jmp 0xfff3
movl -0x14(%rbp), %eax
subl $0x200, %eax            # imm = 0x200
je 0x100e3
jmp 0x10003
movl -0x14(%rbp), %eax
subl $0x1002, %eax           # imm = 0x1002
je 0x10123
jmp 0x10013
movl -0x14(%rbp), %eax
subl $0x1004, %eax           # imm = 0x1004
je 0x1013f
jmp 0x10023
movl -0x14(%rbp), %eax
subl $0x2002, %eax           # imm = 0x2002
je 0x10123
jmp 0x10033
movl -0x14(%rbp), %eax
subl $0x2004, %eax           # imm = 0x2004
je 0x1014c
jmp 0x10043
movl -0x14(%rbp), %eax
subl $0x3002, %eax           # imm = 0x3002
je 0x10123
jmp 0x10053
movl -0x14(%rbp), %eax
subl $0x4002, %eax           # imm = 0x4002
je 0x10123
jmp 0x10063
movl -0x14(%rbp), %eax
subl $0x5002, %eax           # imm = 0x5002
je 0x10123
jmp 0x10073
movl -0x14(%rbp), %eax
subl $0x6002, %eax           # imm = 0x6002
je 0x10123
jmp 0x10083
movl -0x14(%rbp), %eax
subl $0x7002, %eax           # imm = 0x7002
je 0x1010a
jmp 0x1008f
movl -0x14(%rbp), %eax
subl $0x8002, %eax           # imm = 0x8002
je 0x1010a
jmp 0x1009b
movl -0x14(%rbp), %eax
subl $0x9002, %eax           # imm = 0x9002
je 0x1010a
jmp 0x100a7
movl -0x14(%rbp), %eax
subl $0xa002, %eax           # imm = 0xA002
je 0x1010a
jmp 0x100b3
movl -0x14(%rbp), %eax
subl $0xb002, %eax           # imm = 0xB002
je 0x1010a
jmp 0x100bf
movl -0x14(%rbp), %eax
subl $0xc002, %eax           # imm = 0xC002
je 0x1010a
jmp 0x100cb
movl -0x14(%rbp), %eax
subl $0xd002, %eax           # imm = 0xD002
je 0x1010a
jmp 0x100d7
movl -0x14(%rbp), %eax
subl $0xe002, %eax           # imm = 0xE002
je 0x100f0
jmp 0x10159
leaq 0x31ca(%rip), %rax      # 0x132b4
movq %rax, -0x8(%rbp)
jmp 0x1016d
leaq 0x4665(%rip), %rax      # 0x1475c
movq %rax, -0x8(%rbp)
jmp 0x1016d
leaq 0x468c(%rip), %rax      # 0x14790
movq %rax, -0x8(%rbp)
jmp 0x1016d
movq -0x10(%rbp), %rdi
callq 0xfcf0
movq %rax, %rsi
xorl %edi, %edi
callq 0xfe80
movq %rax, -0x8(%rbp)
jmp 0x1016d
movq -0x10(%rbp), %rdi
callq 0xfcf0
movq %rax, %rsi
movl $0x1, %edi
callq 0xfe80
movq %rax, -0x8(%rbp)
jmp 0x1016d
leaq 0x2595(%rip), %rax      # 0x126db
movq %rax, -0x8(%rbp)
jmp 0x1016d
leaq 0x258e(%rip), %rax      # 0x126e1
movq %rax, -0x8(%rbp)
jmp 0x1016d
movq -0x10(%rbp), %rax
movl (%rax), %esi
leaq 0x4630(%rip), %rdi      # 0x14796
movb $0x0, %al
callq 0x6510
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)