// File: /workspace/github_cpp_makefile_star2_O3/0asa[P]TTree-source/JavaDB.cpp
// Function: JavaDB::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
bool JavaDB::load(std::string f) {
  long int memo = countLineAtt(f);
  printf ("memo = %ld - att.max_size() = %ld\n",memo,att.max_size());
  att.reserve(memo+10);
	std::ifstream fs(f.c_str());
	if (!fs)
		return false;
	std::string line;
	int ln = 0;
	while (getline(fs, line)) {
		//if (ln==5) printf("%s",line.c_str());
		if (ln>4)
			readline(line);
		ln++;
		if ((ln-5) % 200 == 0) 
			fprintf(stderr,"%d...",ln-5);
	}
	fprintf(stderr,"\n");
	fprintf(stderr,"%d individuals found\n",ln-5);
	fprintf(stderr,"%d attributes found\n",nbatt);
	setNbObject(ln-5);
	initWeight(ln-5);
	std::vector<REPTYPE>(att.begin(),att.end()).swap(att);
	std::vector<REPTYPE>(output.begin(),output.end()).swap(output);
	fs.close();
	return true;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x298, %rsp            # imm = 0x298
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x80(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rsi), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq 0x70(%rsp), %r15
movq %r15, %rdi
callq 0x7796
movq %rbx, %rdi
movq %r15, %rsi
callq 0xfd52
movq %rax, %r15
movq 0x70(%rsp), %rdi
cmpq %r12, %rdi
je 0xf5c5
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3210
leaq 0x40(%rbx), %r12
leaq 0x736b(%rip), %rdi      # 0x1693b
movabsq $0x3fffffffffffffff, %rdx # imm = 0x3FFFFFFFFFFFFFFF
movq %r15, %rsi
xorl %eax, %eax
callq 0x3050
addq $0xa, %r15
movq %r12, %rdi
movq %r15, %rsi
callq 0x10086
movq (%r14), %rsi
leaq 0x90(%rsp), %r15
movq %r15, %rdi
movl $0x8, %edx
callq 0x3340
movq (%r15), %rax
movq -0x18(%rax), %rcx
movl 0xb0(%rsp,%rcx), %ecx
testb $0x5, %cl
je 0xf645
testb $0x5, %cl
sete %bl
leaq 0x90(%rsp), %rdi
callq 0x3090
movl %ebx, %eax
addq $0x298, %rsp            # imm = 0x298
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl %ecx, 0x2c(%rsp)
leaq 0x40(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq $0x0, -0x8(%rcx)
movb $0x0, (%rcx)
movl $0xfffffffb, %r14d      # imm = 0xFFFFFFFB
leaq 0x60(%rsp), %rbp
leaq 0x30(%rsp), %r12
leaq 0x50(%rsp), %r13
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x31e0
movsbl %al, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x3350
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0xf72b
leal 0x5(%r14), %eax
cmpl $0x5, %eax
jb 0xf6e8
movq %rbp, 0x50(%rsp)
movq 0x30(%rsp), %rsi
movq 0x38(%rsp), %rdx
addq %rsi, %rdx
movq %r13, %rdi
callq 0x7796
movq %rbx, %rdi
movq %r13, %rsi
callq 0xfeb0
movq 0x50(%rsp), %rdi
cmpq %rbp, %rdi
je 0xf6e8
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3210
imull $0xc28f5c29, %r14d, %eax # imm = 0xC28F5C29
incl %r14d
addl $0xc7ae1479, %eax       # imm = 0xC7AE1479
rorl $0x3, %eax
cmpl $0x147ae14, %eax        # imm = 0x147AE14
jbe 0xf70e
movq 0x90(%rsp), %rax
jmp 0xf672
movq 0x108c3(%rip), %rax     # 0x1ffd8
movq (%rax), %rdi
leaq 0x723f(%rip), %rsi      # 0x1695e
movl %r14d, %edx
xorl %eax, %eax
callq 0x3290
jmp 0xf701
movq 0x108a6(%rip), %r15     # 0x1ffd8
movq (%r15), %rsi
movl $0xa, %edi
callq 0x3270
movq (%r15), %rdi
leaq 0x721b(%rip), %rsi      # 0x16964
movl %r14d, %edx
xorl %eax, %eax
callq 0x3290
movq (%r15), %rdi
movl 0x24(%rbx), %edx
leaq 0x721a(%rip), %rsi      # 0x1697a
xorl %eax, %eax
callq 0x3290
movq %rbx, %rdi
movl %r14d, %esi
callq 0xd62a
movsd 0x6f8e(%rip), %xmm0     # 0x16708
movq %rbx, %rdi
movl %r14d, %esi
callq 0xd30a
movq 0x40(%rbx), %rsi
movq 0x48(%rbx), %rdx
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rcx
callq 0x10120
movq 0x20(%rsp), %rax
movq 0x40(%rbx), %rdi
movq 0x48(%rbx), %rcx
movq 0x50(%rbx), %rsi
movq %rsi, 0x20(%rsp)
movaps 0x10(%rsp), %xmm0
movq %rdi, 0x10(%rsp)
movq %rcx, 0x18(%rsp)
movups %xmm0, 0x40(%rbx)
movq %rax, 0x50(%rbx)
testq %rdi, %rdi
je 0xf7d6
subq %rdi, %rsi
callq 0x3210
movq 0x28(%rbx), %rsi
movq 0x30(%rbx), %rdx
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rcx
callq 0x10120
movq 0x20(%rsp), %rax
movq 0x28(%rbx), %rdi
movq 0x30(%rbx), %rcx
movq 0x38(%rbx), %rsi
movq %rsi, 0x20(%rsp)
movaps 0x10(%rsp), %xmm0
movq %rdi, 0x10(%rsp)
movq %rcx, 0x18(%rsp)
movups %xmm0, 0x28(%rbx)
movq %rax, 0x38(%rbx)
testq %rdi, %rdi
je 0xf827
subq %rdi, %rsi
callq 0x3210
leaq 0x90(%rsp), %rdi
callq 0x3070
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xf850
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3210
movl 0x2c(%rsp), %ecx
jmp 0xf61e
jmp 0xf89a
jmp 0xf89a
jmp 0xf89a
movq %rax, %rbx
movq 0x70(%rsp), %rdi
cmpq %r12, %rdi
je 0xf8c6
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3210
jmp 0xf8c6
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %rbp, %rdi
je 0xf89d
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3210
jmp 0xf89d
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xf8b9
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3210
leaq 0x90(%rsp), %rdi
callq 0x3090
movq %rbx, %rdi
callq 0x3320