// File: /workspace/github_c_makefile_star2_O0/samtools[P]htslib/test/hts_endian.c
// Function: t_float
int t_float(int verbose) {
    uint8_t buf[9];
    size_t i;
    int errors = 0;

    for (i = 0; i < NELE(tests_float); i++) {
        float f;

        if (verbose) {
            fprintf(stderr, "%s %g\n",
                    to_hex(tests_float[i].u8, 4), tests_float[i].f);
        }

        f = le_to_float(tests_float[i].u8);
        if (f != tests_float[i].f) {
            fprintf(stderr, "Failed %s => %g; expected %g\n",
                    to_hex(tests_float[i].u8, 4), f, tests_float[i].f);
            errors++;
        }

        f = le_to_float(tests_float[i].u8_unaligned + 1);
        if (f != tests_float[i].f) {
            fprintf(stderr, "Failed unaligned %s => %g; expected %g\n",
                    to_hex(tests_float[i].u8_unaligned + 1, 4),
                    f, tests_float[i].f);
            errors++;
        }

        float_to_le(tests_float[i].f, buf);
        if (memcmp(tests_float[i].u8, buf, 4) != 0) {
            fprintf(stderr, "Failed %g => %s; expected %s\n",
                    tests_float[i].f,
                    to_hex(buf, 4), to_hex(tests_float[i].u8, 4));
        }

        float_to_le(tests_float[i].f, buf + 1);
        if (memcmp(tests_float[i].u8, buf + 1, 4) != 0) {
            fprintf(stderr, "Failed unaligned %g => %s; expected %s\n",
                    tests_float[i].f,
                    to_hex(buf + 1, 4), to_hex(tests_float[i].u8, 4));
        }
    }
    return errors;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl %edi, -0x4(%rbp)
movl $0x0, -0x1c(%rbp)
movq $0x0, -0x18(%rbp)
cmpq $0x7, -0x18(%rbp)
jae 0x14e8
cmpl $0x0, -0x4(%rbp)
je 0x11e5
movq 0x3e4e(%rip), %rax      # 0x4fe0
movq (%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
leaq 0x40ac(%rip), %rdi      # 0x5250
shlq $0x4, %rax
addq %rax, %rdi
movl $0x4, %esi
callq 0x1500
movq -0x28(%rbp), %rdi
movq %rax, %rdx
movq -0x18(%rbp), %rcx
leaq 0x4089(%rip), %rax      # 0x5250
shlq $0x4, %rcx
addq %rcx, %rax
movss 0xc(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x1e26(%rip), %rsi      # 0x3004
movb $0x1, %al
callq 0x1040
movq -0x18(%rbp), %rax
leaq 0x4060(%rip), %rdi      # 0x5250
shlq $0x4, %rax
addq %rax, %rdi
callq 0x1580
movss %xmm0, -0x20(%rbp)
movss -0x20(%rbp), %xmm0
movq -0x18(%rbp), %rcx
leaq 0x403f(%rip), %rax      # 0x5250
shlq $0x4, %rcx
addq %rcx, %rax
ucomiss 0xc(%rax), %xmm0
jne 0x1222
jp 0x1222
jmp 0x128e
movq 0x3db7(%rip), %rax      # 0x4fe0
movq (%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
leaq 0x4015(%rip), %rdi      # 0x5250
shlq $0x4, %rax
addq %rax, %rdi
movl $0x4, %esi
callq 0x1500
movq -0x30(%rbp), %rdi
movq %rax, %rdx
movss -0x20(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movq -0x18(%rbp), %rcx
leaq 0x3fe9(%rip), %rax      # 0x5250
shlq $0x4, %rcx
addq %rcx, %rax
movss 0xc(%rax), %xmm1
cvtss2sd %xmm1, %xmm1
leaq 0x1d8d(%rip), %rsi      # 0x300b
movb $0x2, %al
callq 0x1040
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movq -0x18(%rbp), %rax
leaq 0x3fb7(%rip), %rdi      # 0x5250
shlq $0x4, %rax
addq %rax, %rdi
addq $0x4, %rdi
addq $0x1, %rdi
callq 0x1580
movss %xmm0, -0x20(%rbp)
movss -0x20(%rbp), %xmm0
movq -0x18(%rbp), %rcx
leaq 0x3f8e(%rip), %rax      # 0x5250
shlq $0x4, %rcx
addq %rcx, %rax
ucomiss 0xc(%rax), %xmm0
jne 0x12d3
jp 0x12d3
jmp 0x1347
movq 0x3d06(%rip), %rax      # 0x4fe0
movq (%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rax
leaq 0x3f64(%rip), %rdi      # 0x5250
shlq $0x4, %rax
addq %rax, %rdi
addq $0x4, %rdi
addq $0x1, %rdi
movl $0x4, %esi
callq 0x1500
movq -0x38(%rbp), %rdi
movq %rax, %rdx
movss -0x20(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movq -0x18(%rbp), %rcx
leaq 0x3f30(%rip), %rax      # 0x5250
shlq $0x4, %rcx
addq %rcx, %rax
movss 0xc(%rax), %xmm1
cvtss2sd %xmm1, %xmm1
leaq 0x1cf2(%rip), %rsi      # 0x3029
movb $0x2, %al
callq 0x1040
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
movq -0x18(%rbp), %rcx
leaq 0x3efe(%rip), %rax      # 0x5250
shlq $0x4, %rcx
addq %rcx, %rax
movss 0xc(%rax), %xmm0
leaq -0xd(%rbp), %rdi
callq 0x15b0
movq -0x18(%rbp), %rcx
leaq 0x3ede(%rip), %rax      # 0x5250
shlq $0x4, %rcx
addq %rcx, %rax
leaq -0xd(%rbp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
je 0x1408
movq 0x3c4b(%rip), %rax      # 0x4fe0
movq (%rax), %rax
movq %rax, -0x50(%rbp)
movq -0x18(%rbp), %rcx
leaq 0x3ea9(%rip), %rax      # 0x5250
shlq $0x4, %rcx
addq %rcx, %rax
movss 0xc(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x48(%rbp)
leaq -0xd(%rbp), %rdi
movl $0x4, %esi
callq 0x1500
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rax
leaq 0x3e77(%rip), %rdi      # 0x5250
shlq $0x4, %rax
addq %rax, %rdi
movl $0x4, %esi
callq 0x1500
movq -0x50(%rbp), %rdi
movsd -0x48(%rbp), %xmm0
movq -0x40(%rbp), %rdx
movq %rax, %rcx
leaq 0x1c50(%rip), %rsi      # 0x3051
movb $0x1, %al
callq 0x1040
movq -0x18(%rbp), %rcx
leaq 0x3e3d(%rip), %rax      # 0x5250
shlq $0x4, %rcx
addq %rcx, %rax
movss 0xc(%rax), %xmm0
leaq -0xd(%rbp), %rdi
addq $0x1, %rdi
callq 0x15b0
movq -0x18(%rbp), %rcx
leaq 0x3e19(%rip), %rax      # 0x5250
shlq $0x4, %rcx
addq %rcx, %rax
leaq -0xd(%rbp), %rcx
addq $0x1, %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
je 0x14d5
movq 0x3b82(%rip), %rax      # 0x4fe0
movq (%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x18(%rbp), %rcx
leaq 0x3de0(%rip), %rax      # 0x5250
shlq $0x4, %rcx
addq %rcx, %rax
movss 0xc(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x60(%rbp)
leaq -0xd(%rbp), %rdi
addq $0x1, %rdi
movl $0x4, %esi
callq 0x1500
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rax
leaq 0x3daa(%rip), %rdi      # 0x5250
shlq $0x4, %rax
addq %rax, %rdi
movl $0x4, %esi
callq 0x1500
movq -0x68(%rbp), %rdi
movsd -0x60(%rbp), %xmm0
movq -0x58(%rbp), %rdx
movq %rax, %rcx
leaq 0x1ba1(%rip), %rsi      # 0x306f
movb $0x1, %al
callq 0x1040
jmp 0x14d7
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x117a
movl -0x1c(%rbp), %eax
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)