// File: /workspace/github_cpp_makefile_star2_O2/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 0x50(%rsp), %r15
movq %r15, %rdi
callq 0x3290
movq %rbx, %rdi
movq %r15, %rsi
callq 0xd722
movq %rax, %r15
leaq 0x50(%rsp), %rdi
callq 0x3110
leaq 0x40(%rbx), %r12
leaq 0x682e(%rip), %rdi      # 0x13943
movabsq $0x3fffffffffffffff, %rdx # imm = 0x3FFFFFFFFFFFFFFF
movq %r15, %rsi
xorl %eax, %eax
callq 0x3040
addq $0xa, %r15
movq %r12, %rdi
movq %r15, %rsi
callq 0xd986
movq (%r14), %rsi
leaq 0x90(%rsp), %r14
pushq $0x8
popq %rdx
movq %r14, %rdi
callq 0x3350
movq (%r14), %rax
movq -0x18(%rax), %rax
movl 0xb0(%rsp,%rax), %eax
testb $0x5, %al
je 0xd186
testb $0x5, %al
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 %eax, 0xc(%rsp)
leaq 0x40(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
pushq $-0x5
popq %r14
leaq 0x90(%rsp), %r15
leaq 0x30(%rsp), %r12
leaq 0x70(%rsp), %r13
movl $0xc8, %ebp
movq %r15, %rdi
movq %r12, %rsi
callq 0x3060
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0xd220
leal 0x5(%r14), %eax
cmpl $0x5, %eax
jb 0xd1f6
movq %r13, %rdi
movq %r12, %rsi
callq 0x3290
movq %rbx, %rdi
movq %r13, %rsi
callq 0xd80e
movq %r13, %rdi
callq 0x3110
incl %r14d
movl %r14d, %eax
cltd
idivl %ebp
testl %edx, %edx
jne 0xd1b6
movq 0x10dce(%rip), %rax     # 0x1dfd8
movq (%rax), %rdi
leaq 0x6752(%rip), %rsi      # 0x13966
movl %r14d, %edx
xorl %eax, %eax
callq 0x32a0
jmp 0xd1b6
movq 0x10db1(%rip), %r15     # 0x1dfd8
movq (%r15), %rsi
pushq $0xa
popq %rdi
callq 0x3260
movq (%r15), %rdi
leaq 0x6730(%rip), %rsi      # 0x1396c
movl %r14d, %edx
xorl %eax, %eax
callq 0x32a0
movq (%r15), %rdi
movl 0x24(%rbx), %edx
leaq 0x672f(%rip), %rsi      # 0x13982
xorl %eax, %eax
callq 0x32a0
movq %rbx, %rdi
movl %r14d, %esi
callq 0xb540
movsd 0x649b(%rip), %xmm0     # 0x13708
movq %rbx, %rdi
movl %r14d, %esi
callq 0xb3f2
movq 0x40(%rbx), %rsi
movq 0x48(%rbx), %rdx
leaq 0x10(%rsp), %rdi
leaq 0xb(%rsp), %rcx
callq 0xda1a
leaq 0x10(%rsp), %rdi
movq 0x10(%rdi), %rax
movups 0x40(%rbx), %xmm0
movq 0x50(%rbx), %rcx
movq %rcx, 0x10(%rdi)
movaps (%rdi), %xmm1
movaps %xmm0, (%rdi)
movups %xmm1, 0x40(%rbx)
movq %rax, 0x50(%rbx)
callq 0xb75e
movq 0x28(%rbx), %rsi
movq 0x30(%rbx), %rdx
leaq 0x10(%rsp), %rdi
leaq 0xb(%rsp), %rcx
callq 0xda1a
leaq 0x10(%rsp), %rdi
movq 0x10(%rdi), %rax
movups 0x28(%rbx), %xmm0
movq 0x38(%rbx), %rcx
movq %rcx, 0x10(%rdi)
movaps (%rdi), %xmm1
movaps %xmm0, (%rdi)
movups %xmm1, 0x28(%rbx)
movq %rax, 0x38(%rbx)
callq 0xb75e
leaq 0x90(%rsp), %rdi
callq 0x3070
leaq 0x30(%rsp), %rdi
callq 0x3110
movl 0xc(%rsp), %eax
jmp 0xd160
jmp 0xd33a
jmp 0xd33a
jmp 0xd33a
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x3110
jmp 0xd354
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x3110
jmp 0xd33d
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x3110
leaq 0x90(%rsp), %rdi
callq 0x3090
movq %rbx, %rdi
callq 0x3330