// File: /workspace/github_c_makefile_star2_O3/pwelke[P]GraphMiningTools/loading.c
// Function: parseHeader
static inline int parseHeader(int* id, int* activity, int* n, int* m) { 
	const char *current = *HEAD_PTR + 1;
	if ((*HEAD_PTR)[0] != '#') { 
		return -1; 
	}

	*id = fastAtoiAgnostic(&current);
	int agnostic_errors = AGNOSTIC_ERROR;
	*activity = fastAtoiAgnostic(&current);
	agnostic_errors += AGNOSTIC_ERROR;
	*n = fastAtoi(&current);
	*m = fastAtoi(&current);
	/* return number of correctly read items.
		See: C11(ISO/IEC 9899:201x) §6.5.8 Relational operators */
	return 2 - agnostic_errors + (*n != -1) + (*m != -1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq 0x1fb56(%rip), %rax     # 0x2d190
movq (%rax), %r13
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpb $0x23, (%r13)
jne 0xd81c
movq %rcx, %r14
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r12
incq %r13
callq 0x1260
movq (%rax), %rcx
movq %r13, %rdi
movsbq (%rdi), %rax
incq %rdi
testb $0x20, 0x1(%rcx,%rax,2)
jne 0xd667
xorl %r9d, %r9d
cmpb $0x2d, %al
setne %r9b
movq %rdi, %rsi
subq %r9, %rsi
movsbl (%rsi), %r11d
addl $-0x30, %r11d
leaq -0x1(%rdi), %rdx
xorl %r8d, %r8d
movl $0x0, %r10d
cmpl $0x9, %r11d
ja 0xd6c6
negq %r9
xorl %r10d, %r10d
leal (%r10,%r10,4), %esi
leal (%r11,%rsi,2), %r10d
movsbl 0x1(%rdi,%r9), %r11d
addl $-0x30, %r11d
incq %rdi
cmpl $0xa, %r11d
jb 0xd6a5
addq %r9, %rdi
movq %rdi, %rsi
movl %r10d, %edi
negl %edi
cmpb $0x2d, %al
cmovnel %r10d, %edi
cmpq %rsi, %rdx
cmovneq %rsi, %r13
cmovnel %edi, %r8d
movl %r8d, (%r12)
movq %r13, %rdi
movsbq (%rdi), %rax
incq %rdi
testb $0x20, 0x1(%rcx,%rax,2)
jne 0xd6e3
xorl %r10d, %r10d
cmpb $0x2d, %al
setne %r10b
movq %rdi, %rbp
subq %r10, %rbp
movsbl (%rbp), %r12d
addl $-0x30, %r12d
leaq -0x1(%rdi), %r9
xorl %r8d, %r8d
movl $0x0, %r11d
cmpl $0x9, %r12d
ja 0xd743
negq %r10
xorl %r11d, %r11d
leal (%r11,%r11,4), %r11d
leal (%r12,%r11,2), %r11d
movsbl 0x1(%rdi,%r10), %r12d
addl $-0x30, %r12d
incq %r10
cmpl $0xa, %r12d
jb 0xd722
addq %r10, %rdi
movq %rdi, %rbp
movl %r11d, %edi
negl %edi
cmpb $0x2d, %al
cmovnel %r11d, %edi
xorl %eax, %eax
cmpq %rbp, %r9
setne %al
cmovneq %rbp, %r13
cmovnel %edi, %r8d
movl %r8d, (%r15)
leaq -0x1(%r13), %rdi
movsbq 0x1(%rdi), %r8
incq %rdi
testb $0x20, 0x1(%rcx,%r8,2)
jne 0xd765
xorl %r9d, %r9d
cmpq %rsi, %rdx
setne %r9b
addl $-0x30, %r8d
xorl %edx, %edx
movq %rdi, %rsi
cmpl $0x9, %r8d
ja 0xd7ac
xorl %edx, %edx
movq %rdi, %rsi
leal (%rdx,%rdx,4), %edx
leal (%r8,%rdx,2), %edx
movsbl 0x1(%rsi), %r8d
incq %rsi
addl $-0x30, %r8d
cmpl $0xa, %r8d
jb 0xd793
addl %r9d, %eax
cmpq %rsi, %rdi
cmovneq %rsi, %r13
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
cmovnel %edx, %esi
movl %esi, (%rbx)
decq %r13
movsbq 0x1(%r13), %rdx
incq %r13
testb $0x20, 0x1(%rcx,%rdx,2)
jne 0xd7c3
addl $-0x30, %edx
xorl %ecx, %ecx
movq %r13, %rsi
cmpl $0x9, %edx
ja 0xd7f9
xorl %ecx, %ecx
movq %r13, %rsi
leal (%rcx,%rcx,4), %ecx
leal (%rdx,%rcx,2), %ecx
movsbl 0x1(%rsi), %edx
incq %rsi
addl $-0x30, %edx
cmpl $0xa, %edx
jb 0xd7e4
cmpq %rsi, %r13
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
cmovnel %ecx, %edx
movl %edx, (%r14)
xorl %ecx, %ecx
cmpl $-0x1, (%rbx)
setne %cl
xorl %esi, %esi
cmpl $-0x1, %edx
setne %sil
addl %esi, %eax
addl %ecx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq