// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/lensum.c
// Function: lensum_read_into
int lensum_read_into(Lensum* self, FILE* stream) {
    int nbin=self->nbin;
    int nexpect = 3+5*nbin;
    int nread=0;
    int i=0;

    nread+=fscanf(stream,"%lld", &self->index);
    nread+=fscanf(stream,"%lf", &self->weight);
    nread+=fscanf(stream,"%lld", &self->totpairs);

    for (i=0; i<nbin; i++) 
        nread+=fscanf(stream,"%lld", &self->npair[i]);

    for (i=0; i<nbin; i++) 
        nread+=fscanf(stream,"%lf", &self->rsum[i]);
        
        
    for (i=0; i<nbin; i++) 
        nread+=fscanf(stream,"%lf", &self->wsum[i]);

    if(self->shear_units==UNITS_BOTH) {
        nexpect += nbin;
        for (i=0; i<nbin; i++) 
            nread+=fscanf(stream,"%lf", &self->ssum[i]);
    }
    
    for (i=0; i<nbin; i++) 
        nread+=fscanf(stream,"%lf", &self->dsum[i]);
    for (i=0; i<nbin; i++) 
        nread+=fscanf(stream,"%lf", &self->osum[i]);

    if(self->shear_units==UNITS_BOTH || self->shear_style==SHEAR_STYLE_LENSFIT) {
        nexpect += 2*nbin;
        for (i=0; i<nbin; i++) 
            nread+=fscanf(stream,"%lf", &self->dsensum_w[i]);
        for (i=0; i<nbin; i++) 
            nread+=fscanf(stream,"%lf", &self->osensum_w[i]);
    }
    
    if(self->shear_units==UNITS_BOTH) {
        nexpect += 2*nbin;
        for (i=0; i<nbin; i++) 
            nread+=fscanf(stream,"%lf", &self->dsensum_s[i]);
        for (i=0; i<nbin; i++) 
            nread+=fscanf(stream,"%lf", &self->osensum_s[i]);
    }
    
    return (nread == nexpect);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movl %eax, -0x14(%rbp)
imull $0x5, -0x14(%rbp), %eax
addl $0x3, %eax
movl %eax, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rdx
addq $0x10, %rdx
leaq 0x7ef7(%rip), %rsi      # 0xe4cd
movb $0x0, %al
callq 0x2070
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rdx
addq $0x18, %rdx
leaq 0x7ec8(%rip), %rsi      # 0xe4be
movb $0x0, %al
callq 0x2070
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rdx
addq $0x20, %rdx
leaq 0x7eb7(%rip), %rsi      # 0xe4cd
movb $0x0, %al
callq 0x2070
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x6668
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdx
movslq -0x20(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdx
leaq 0x7e7d(%rip), %rsi      # 0xe4cd
movb $0x0, %al
callq 0x2070
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x662a
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x66ad
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rdx
movslq -0x20(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdx
leaq 0x7e29(%rip), %rsi      # 0xe4be
movb $0x0, %al
callq 0x2070
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x666f
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x66f2
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rdx
movslq -0x20(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdx
leaq 0x7de4(%rip), %rsi      # 0xe4be
movb $0x0, %al
callq 0x2070
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x66b4
movq -0x8(%rbp), %rax
cmpl $0x3, 0x4(%rax)
jne 0x674c
movl -0x14(%rbp), %eax
addl -0x18(%rbp), %eax
movl %eax, -0x18(%rbp)
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x674a
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rdx
movslq -0x20(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdx
leaq 0x7d8c(%rip), %rsi      # 0xe4be
movb $0x0, %al
callq 0x2070
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x670c
jmp 0x674c
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x6791
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rdx
movslq -0x20(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdx
leaq 0x7d45(%rip), %rsi      # 0xe4be
movb $0x0, %al
callq 0x2070
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x6753
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x67d6
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rdx
movslq -0x20(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdx
leaq 0x7d00(%rip), %rsi      # 0xe4be
movb $0x0, %al
callq 0x2070
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x6798
movq -0x8(%rbp), %rax
cmpl $0x3, 0x4(%rax)
je 0x67ed
movq -0x8(%rbp), %rax
cmpl $0x2, (%rax)
jne 0x6884
movl -0x14(%rbp), %eax
shll %eax
addl -0x18(%rbp), %eax
movl %eax, -0x18(%rbp)
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x683d
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rdx
movslq -0x20(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdx
leaq 0x7c99(%rip), %rsi      # 0xe4be
movb $0x0, %al
callq 0x2070
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x67ff
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x6882
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rdx
movslq -0x20(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdx
leaq 0x7c54(%rip), %rsi      # 0xe4be
movb $0x0, %al
callq 0x2070
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x6844
jmp 0x6884
movq -0x8(%rbp), %rax
cmpl $0x3, 0x4(%rax)
jne 0x6929
movl -0x14(%rbp), %eax
shll %eax
addl -0x18(%rbp), %eax
movl %eax, -0x18(%rbp)
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x68e2
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x70(%rax), %rdx
movslq -0x20(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdx
leaq 0x7bf4(%rip), %rsi      # 0xe4be
movb $0x0, %al
callq 0x2070
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x68a4
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x6927
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x78(%rax), %rdx
movslq -0x20(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdx
leaq 0x7baf(%rip), %rsi      # 0xe4be
movb $0x0, %al
callq 0x2070
addl -0x1c(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x68e9
jmp 0x6929
movl -0x1c(%rbp), %eax
cmpl -0x18(%rbp), %eax
sete %al
andb $0x1, %al
movzbl %al, %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)