// File: /workspace/github_c_makefile_star2_O0/samtools[P]htslib/hts.c
// Function: hts_test_feature
const char *hts_test_feature(unsigned int id) {
    unsigned int feat = hts_features();

    switch (id) {
    case HTS_FEATURE_CONFIGURE:
        return feat & HTS_FEATURE_CONFIGURE ? "yes" : NULL;
    case HTS_FEATURE_PLUGINS:
        return feat & HTS_FEATURE_PLUGINS ? "yes" : NULL;
    case HTS_FEATURE_LIBCURL:
        return feat & HTS_FEATURE_LIBCURL ? "yes" : NULL;
    case HTS_FEATURE_S3:
        return feat & HTS_FEATURE_S3 ? "yes" : NULL;
    case HTS_FEATURE_GCS:
        return feat & HTS_FEATURE_GCS ? "yes" : NULL;
    case HTS_FEATURE_LIBDEFLATE:
        return feat & HTS_FEATURE_LIBDEFLATE ? "yes" : NULL;
    case HTS_FEATURE_BZIP2:
        return feat & HTS_FEATURE_BZIP2 ? "yes" : NULL;
    case HTS_FEATURE_LZMA:
        return feat & HTS_FEATURE_LZMA ? "yes" : NULL;

    case HTS_FEATURE_HTSCODECS:
        return htscodecs_version();

    case HTS_FEATURE_CC:
        return HTS_CC;
    case HTS_FEATURE_CFLAGS:
        return HTS_CFLAGS;
    case HTS_FEATURE_LDFLAGS:
        return HTS_LDFLAGS;
    case HTS_FEATURE_CPPFLAGS:
        return HTS_CPPFLAGS;

    default:
        fprintf(stderr, "Unknown feature code: %u\n", id);
    }

    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0xc(%rbp)
callq 0x18130
movl %eax, -0x10(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x14(%rbp)
subl $0x1, %eax
je 0x18255
jmp 0x18194
movl -0x14(%rbp), %eax
subl $0x2, %eax
je 0x18274
jmp 0x181a2
movl -0x14(%rbp), %eax
subl $0x400, %eax            # imm = 0x400
je 0x18293
jmp 0x181b2
movl -0x14(%rbp), %eax
subl $0x800, %eax            # imm = 0x800
je 0x182b5
jmp 0x181c2
movl -0x14(%rbp), %eax
subl $0x1000, %eax           # imm = 0x1000
je 0x182d7
jmp 0x181d2
movl -0x14(%rbp), %eax
subl $0x100000, %eax         # imm = 0x100000
je 0x182f9
jmp 0x181e2
movl -0x14(%rbp), %eax
subl $0x200000, %eax         # imm = 0x200000
je 0x1833d
jmp 0x181f2
movl -0x14(%rbp), %eax
subl $0x400000, %eax         # imm = 0x400000
je 0x1831b
jmp 0x18202
movl -0x14(%rbp), %eax
subl $0x800000, %eax         # imm = 0x800000
je 0x1835c
jmp 0x18212
movl -0x14(%rbp), %eax
subl $0x8000000, %eax        # imm = 0x8000000
je 0x18367
jmp 0x18222
movl -0x14(%rbp), %eax
subl $0x10000000, %eax       # imm = 0x10000000
je 0x18374
jmp 0x18232
movl -0x14(%rbp), %eax
subl $0x20000000, %eax       # imm = 0x20000000
je 0x1838e
jmp 0x18242
movl -0x14(%rbp), %eax
subl $0x40000000, %eax       # imm = 0x40000000
je 0x18381
jmp 0x1839b
movl -0x10(%rbp), %edx
andl $0x1, %edx
xorl %eax, %eax
leaq 0xd7c48(%rip), %rcx     # 0xefeac
cmpl $0x0, %edx
cmovneq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x183be
movl -0x10(%rbp), %edx
andl $0x2, %edx
xorl %eax, %eax
leaq 0xd7c29(%rip), %rcx     # 0xefeac
cmpl $0x0, %edx
cmovneq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x183be
movl -0x10(%rbp), %edx
andl $0x400, %edx            # imm = 0x400
xorl %eax, %eax
leaq 0xd7c07(%rip), %rcx     # 0xefeac
cmpl $0x0, %edx
cmovneq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x183be
movl -0x10(%rbp), %edx
andl $0x800, %edx            # imm = 0x800
xorl %eax, %eax
leaq 0xd7be5(%rip), %rcx     # 0xefeac
cmpl $0x0, %edx
cmovneq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x183be
movl -0x10(%rbp), %edx
andl $0x1000, %edx           # imm = 0x1000
xorl %eax, %eax
leaq 0xd7bc3(%rip), %rcx     # 0xefeac
cmpl $0x0, %edx
cmovneq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x183be
movl -0x10(%rbp), %edx
andl $0x100000, %edx         # imm = 0x100000
xorl %eax, %eax
leaq 0xd7ba1(%rip), %rcx     # 0xefeac
cmpl $0x0, %edx
cmovneq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x183be
movl -0x10(%rbp), %edx
andl $0x400000, %edx         # imm = 0x400000
xorl %eax, %eax
leaq 0xd7b7f(%rip), %rcx     # 0xefeac
cmpl $0x0, %edx
cmovneq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x183be
movl -0x10(%rbp), %edx
andl $0x200000, %edx         # imm = 0x200000
xorl %eax, %eax
leaq 0xd7b5d(%rip), %rcx     # 0xefeac
cmpl $0x0, %edx
cmovneq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x183be
callq 0x8ce20
movq %rax, -0x8(%rbp)
jmp 0x183be
leaq 0xd7b42(%rip), %rax     # 0xefeb0
movq %rax, -0x8(%rbp)
jmp 0x183be
leaq 0xd7b39(%rip), %rax     # 0xefeb4
movq %rax, -0x8(%rbp)
jmp 0x183be
leaq 0xd7b33(%rip), %rax     # 0xefebb
movq %rax, -0x8(%rbp)
jmp 0x183be
leaq 0xd7be0(%rip), %rax     # 0xeff75
movq %rax, -0x8(%rbp)
jmp 0x183be
movq 0xf4c3e(%rip), %rax     # 0x10cfe0
movq (%rax), %rdi
movl -0xc(%rbp), %edx
leaq 0xd7b20(%rip), %rsi     # 0xefecf
movb $0x0, %al
callq 0x46d0
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)