// File: /workspace/github_cpp_makefile_star2_O1/srajangarg[P]raytracer/src/core/stb_image.hpp
// Function: stbi__loadf_main(stbi__context*, int*, int*, int*, int)
static float *stbi__loadf_main(stbi__context *s, int *x, int *y, int *comp, int req_comp)
{
   unsigned char *data;
   #ifndef STBI_NO_HDR
   if (stbi__hdr_test(s)) {
      float *hdr_data = stbi__hdr_load(s,x,y,comp,req_comp);
      if (hdr_data)
         stbi__float_postprocess(hdr_data,x,y,comp,req_comp);
      return hdr_data;
   }
   #endif
   data = stbi__load_flip(s, x, y, comp, req_comp);
   if (data)
      return stbi__ldr_to_hdr(data, *x, *y, req_comp ? req_comp : *comp);
   return stbi__errpf("unknown image type", "Image not of any known type, or corrupt");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %ebx
movq %rcx, %r13
movq %rdx, %rbp
movq %rsi, %r12
movq %rdi, %r14
callq 0x14d2f
movq %r14, %rdi
movq %r12, %rsi
movq %rbp, %rdx
movq %r13, %rcx
movl %ebx, %r8d
testl %eax, %eax
je 0x14a52
callq 0x1b312
movq %rax, %r10
testq %rax, %rax
je 0x14a4a
cmpl $0x0, 0x23a0c(%rip)     # 0x383b8
je 0x14a4a
movl (%rbp), %ebp
testl %ebx, %ebx
jne 0x149bd
movl (%r13), %ebx
movl %ebp, %esi
sarl %esi
testl %esi, %esi
jle 0x14a4a
movslq (%r12), %rcx
movslq %ebx, %rdx
movl %esi, %esi
movl %edx, %edi
leaq (,%rdx,4), %r8
decl %ebp
imull %ecx, %ebp
imulq %rcx, %rdx
shlq $0x2, %rdx
xorl %r9d, %r9d
movq %r10, %rax
testl %ecx, %ecx
jle 0x14a38
movslq %ebp, %r11
imulq %r8, %r11
addq %rax, %r11
movq %r10, %r14
xorl %r15d, %r15d
testl %ebx, %ebx
jle 0x14a2a
xorl %r12d, %r12d
movss (%r14,%r12,4), %xmm0
movss (%r11,%r12,4), %xmm1
movss %xmm1, (%r14,%r12,4)
movss %xmm0, (%r11,%r12,4)
incq %r12
cmpq %r12, %rdi
jne 0x14a0a
incq %r15
addq %r8, %r11
addq %r8, %r14
cmpq %rcx, %r15
jne 0x14a03
incq %r9
subl %ecx, %ebp
addq %rdx, %r10
cmpq %rsi, %r9
jne 0x149ef
jmp 0x14b9d
movq %r10, %rax
jmp 0x14b9d
callq 0x14703
movq %rax, (%rsp)
testq %rax, %rax
je 0x14b7b
movl (%r12), %eax
movl (%rbp), %ebp
testl %ebx, %ebx
jne 0x14a73
movl (%r13), %ebx
imull %eax, %ebp
movl %ebx, %eax
imull %ebp, %eax
movslq %eax, %rdi
shlq $0x2, %rdi
callq 0x4400
testq %rax, %rax
je 0x14b84
movq %rax, 0x8(%rsp)
testl %ebp, %ebp
jle 0x14b6b
movl %ebx, %eax
andl $0x1, %eax
leal (%rbx,%rax), %r12d
decl %r12d
movslq %ebx, %rdx
movl %ebp, %eax
movq %rax, 0x20(%rsp)
leaq (,%rdx,4), %rax
movq %rax, 0x18(%rsp)
xorl %ebp, %ebp
movss 0x18146(%rip), %xmm1    # 0x2cc10
movq (%rsp), %r15
movq 0x8(%rsp), %r14
movq %rdx, 0x10(%rsp)
movl $0x0, %r13d
testl %r12d, %r12d
jle 0x14b26
xorl %r13d, %r13d
movzbl (%r15,%r13), %eax
xorps %xmm0, %xmm0
cvtsi2ss %eax, %xmm0
divss %xmm1, %xmm0
movss 0x23842(%rip), %xmm1    # 0x38340
callq 0x44e0
movss 0x18105(%rip), %xmm1    # 0x2cc10
mulss 0x23831(%rip), %xmm0    # 0x38344
movss %xmm0, (%r14,%r13,4)
incq %r13
cmpq %r13, %r12
jne 0x14ae6
movq 0x10(%rsp), %rdx
cmpl %ebx, %r13d
jge 0x14b55
movq %rbp, %rax
imulq %rdx, %rax
movslq %r13d, %rcx
addq %rax, %rcx
movq (%rsp), %rax
movzbl (%rax,%rcx), %eax
xorps %xmm0, %xmm0
cvtsi2ss %eax, %xmm0
divss %xmm1, %xmm0
movq 0x8(%rsp), %rax
movss %xmm0, (%rax,%rcx,4)
incq %rbp
addq 0x18(%rsp), %r14
addq %rdx, %r15
cmpq 0x20(%rsp), %rbp
jne 0x14ad8
movq (%rsp), %rdi
callq 0x4390
movq 0x8(%rsp), %rax
jmp 0x14b9d
leaq 0x1859d(%rip), %rax     # 0x2d11f
jmp 0x14b94
movq (%rsp), %rdi
callq 0x4390
leaq 0x18675(%rip), %rax     # 0x2d209
movq %rax, 0x23815(%rip)     # 0x383b0
xorl %eax, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq