// File: /workspace/github_c_makefile_star2_O1/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 0x2e03(%rip), %rsi      # 0x12f82
callq 0x11b89
movl %eax, %ecx
xorl %eax, %eax
testb %cl, %cl
jne 0x1032d
leaq 0x2b5c(%rip), %rsi      # 0x12cf3
movq %rbx, %rdi
callq 0x11b89
movl %eax, %ecx
movl $0x1, %eax
testb %cl, %cl
jne 0x1032d
leaq 0x3620(%rip), %rsi      # 0x137d5
movq %rbx, %rdi
callq 0x11b89
movl %eax, %ecx
movl $0x5, %eax
testb %cl, %cl
jne 0x1032d
leaq 0x2db3(%rip), %rsi      # 0x12f86
movq %rbx, %rdi
callq 0x11b89
movl %eax, %ecx
movl $0x6, %eax
testb %cl, %cl
jne 0x1032d
leaq 0x35df(%rip), %rsi      # 0x137d0
movq %rbx, %rdi
callq 0x11b89
movl %eax, %ecx
movl $0x4, %eax
testb %cl, %cl
jne 0x1032d
leaq 0x2d92(%rip), %rsi      # 0x12fa1
movq %rbx, %rdi
callq 0x11b89
movl %eax, %ecx
movl $0xc, %eax
testb %cl, %cl
jne 0x1032d
leaq 0x3597(%rip), %rsi      # 0x137c4
movq %rbx, %rdi
callq 0x11b89
movl %eax, %ecx
movl $0x2, %eax
testb %cl, %cl
jne 0x1032d
leaq 0x357d(%rip), %rsi      # 0x137c8
movq %rbx, %rdi
callq 0x11b89
movl %eax, %ecx
movl $0x7, %eax
testb %cl, %cl
jne 0x1032d
leaq 0x21f7(%rip), %rsi      # 0x12460
movq %rbx, %rdi
callq 0x11b89
movl %eax, %ecx
movl $0x8, %eax
testb %cl, %cl
jne 0x1032d
leaq 0x226a(%rip), %rsi      # 0x124f1
movq %rbx, %rdi
callq 0x11b89
movl %eax, %ecx
movl $0x9, %eax
testb %cl, %cl
jne 0x1032d
leaq 0x352c(%rip), %rsi      # 0x137d1
movq %rbx, %rdi
callq 0x11b89
movl %eax, %ecx
movl $0x3, %eax
testb %cl, %cl
jne 0x1032d
leaq 0x2ce8(%rip), %rsi      # 0x12fa7
movq %rbx, %rdi
callq 0x11b89
movl %eax, %ecx
movl $0xa, %eax
testb %cl, %cl
jne 0x1032d
leaq 0x2cc2(%rip), %rsi      # 0x12f9b
movq %rbx, %rdi
callq 0x11b89
movl %eax, %ecx
movl $0xb, %eax
testb %cl, %cl
jne 0x1032d
leaq 0x2cb9(%rip), %rsi      # 0x12fac
movq %rbx, %rdi
callq 0x11b89
movl %eax, %ecx
movl $0xd, %eax
testb %cl, %cl
jne 0x1032d
leaq 0x2ca5(%rip), %rsi      # 0x12fb2
movq %rbx, %rdi
callq 0x11b89
movl %eax, %ecx
movl $0xe, %eax
testb %cl, %cl
jne 0x1032d
callq 0x2060
movl $0x16, (%rax)
xorl %eax, %eax
popq %rbx
retq