// File: /workspace/github_c_makefile_star2_O3/voithos[P]awl/src/types.c
// Function: awlval_parse_sysname
awlval_type_t awlval_parse_sysname(const char* sysname) {
    /* Ordering reflects most common types first */
    if (streq(sysname, "int")) {
        return AWLVAL_INT;
    } else if (streq(sysname, "float")) {
        return AWLVAL_FLOAT;
    } else if (streq(sysname, "str")) {
        return AWLVAL_STR;
    } else if (streq(sysname, "bool")) {
        return AWLVAL_BOOL;
    } else if (streq(sysname, "qsym")) {
        return AWLVAL_QSYM;
    } else if (streq(sysname, "qexpr")) {
        return AWLVAL_QEXPR;
    } else if (streq(sysname, "err")) {
        return AWLVAL_ERR;
    } else if (streq(sysname, "builtin")) {
        return AWLVAL_BUILTIN;
    } else if (streq(sysname, "fn")) {
        return AWLVAL_FN;
    } else if (streq(sysname, "macro")) {
        return AWLVAL_MACRO;
    } else if (streq(sysname, "sym")) {
        return AWLVAL_SYM;
    } else if (streq(sysname, "dict")) {
        return AWLVAL_DICT;
    } else if (streq(sysname, "sexpr")) {
        return AWLVAL_SEXPR;
    } else if (streq(sysname, "eexpr")) {
        return AWLVAL_EEXPR;
    } else if (streq(sysname, "cexpr")) {
        return AWLVAL_CEXPR;
    } else {
        errno = EINVAL;
        return 0;
    }
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
leaq 0x331f(%rip), %rsi      # 0x12fda
callq 0x11692
movl %eax, %ecx
xorl %eax, %eax
testb %cl, %cl
jne 0xfe69
leaq 0x3078(%rip), %rsi      # 0x12d4b
movq %rbx, %rdi
callq 0x11692
movl %eax, %ecx
movl $0x1, %eax
testb %cl, %cl
jne 0xfe69
leaq 0x3b3c(%rip), %rsi      # 0x1382d
movq %rbx, %rdi
callq 0x11692
movl %eax, %ecx
movl $0x5, %eax
testb %cl, %cl
jne 0xfe69
leaq 0x32cf(%rip), %rsi      # 0x12fde
movq %rbx, %rdi
callq 0x11692
movl %eax, %ecx
movl $0x6, %eax
testb %cl, %cl
jne 0xfe69
leaq 0x3afb(%rip), %rsi      # 0x13828
movq %rbx, %rdi
callq 0x11692
movl %eax, %ecx
movl $0x4, %eax
testb %cl, %cl
jne 0xfe69
leaq 0x32ae(%rip), %rsi      # 0x12ff9
movq %rbx, %rdi
callq 0x11692
movl %eax, %ecx
movl $0xc, %eax
testb %cl, %cl
jne 0xfe69
leaq 0x3ab3(%rip), %rsi      # 0x1381c
movq %rbx, %rdi
callq 0x11692
movl %eax, %ecx
movl $0x2, %eax
testb %cl, %cl
jne 0xfe69
leaq 0x3a99(%rip), %rsi      # 0x13820
movq %rbx, %rdi
callq 0x11692
movl %eax, %ecx
movl $0x7, %eax
testb %cl, %cl
jne 0xfe69
leaq 0x26bb(%rip), %rsi      # 0x12460
movq %rbx, %rdi
callq 0x11692
movl %eax, %ecx
movl $0x8, %eax
testb %cl, %cl
jne 0xfe69
leaq 0x272e(%rip), %rsi      # 0x124f1
movq %rbx, %rdi
callq 0x11692
movl %eax, %ecx
movl $0x9, %eax
testb %cl, %cl
jne 0xfe69
leaq 0x3a48(%rip), %rsi      # 0x13829
movq %rbx, %rdi
callq 0x11692
movl %eax, %ecx
movl $0x3, %eax
testb %cl, %cl
jne 0xfe69
leaq 0x3204(%rip), %rsi      # 0x12fff
movq %rbx, %rdi
callq 0x11692
movl %eax, %ecx
movl $0xa, %eax
testb %cl, %cl
jne 0xfe69
leaq 0x31de(%rip), %rsi      # 0x12ff3
movq %rbx, %rdi
callq 0x11692
movl %eax, %ecx
movl $0xb, %eax
testb %cl, %cl
jne 0xfe69
leaq 0x31d5(%rip), %rsi      # 0x13004
movq %rbx, %rdi
callq 0x11692
movl %eax, %ecx
movl $0xd, %eax
testb %cl, %cl
jne 0xfe69
leaq 0x31c1(%rip), %rsi      # 0x1300a
movq %rbx, %rdi
callq 0x11692
movl %eax, %ecx
movl $0xe, %eax
testb %cl, %cl
jne 0xfe69
callq 0x2060
movl $0x16, (%rax)
xorl %eax, %eax
popq %rbx
retq