// File: /workspace/github_cpp_makefile_star2_O2/auton1[P]viterbi/bcf_entry.cpp
// Function: bcf_entry::read_all_entries(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
void bcf_entry::read_all_entries(string &out)
{
	if (fully_parsed == false)
		parse_full_entry(true);

	if (parsed_FORMAT == false)
		set_FORMAT();

	ostringstream outstream, tmpstream;
	string tmpstr;
	outstream.str("");
	tmpstream.str("");
	bool format_miss, indv_miss;

	for(unsigned int ui=0; ui<N_indv; ui++)
	{
		if(include_indv[ui] == false)
			continue;
		outstream << "\t";
		indv_miss = true;

		for(unsigned int uj=0; uj<N_format; uj++)
		{
			if (uj != 0)
				tmpstream << ":";

			if ( ((int)uj == GT_idx) && (include_genotype[ui] == false) )
			{
				tmpstr = ".";
				for (int uk=1; uk<ploidy[ui]; uk++)
					tmpstr = tmpstr + "/.";
				format_miss = false;
			}
			else if ((int)uj == GT_idx)
			{
				read_indv_generic_entry(ui, uj, tmpstr);
				format_miss = false;
			}
			else
			{
				read_indv_generic_entry(ui, uj, tmpstr);
				format_miss = (tmpstr == ".");
			}
			indv_miss = indv_miss && format_miss;
			tmpstream << tmpstr;

			if (!format_miss)
			{
				tmpstr = tmpstream.str();
				outstream << tmpstr;
				tmpstream.str("");
			}
		}
		tmpstream.str("");
	}
	out = outstream.str();
	outstream.str("");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x358, %rsp            # imm = 0x358
movq %rsi, 0x30(%rsp)
movq %rdi, %r14
cmpb $0x0, 0x3d9(%rdi)
jne 0x155ac
movq (%r14), %rax
pushq $0x1
popq %rsi
movq %r14, %rdi
callq *0x18(%rax)
cmpb $0x0, 0x3dd(%r14)
jne 0x155be
movq %r14, %rdi
callq 0x20588
leaq 0x1e0(%rsp), %rdi
callq 0x5610
leaq 0x68(%rsp), %rdi
callq 0x5610
leaq 0x58(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x1984a(%rip), %rsi     # 0x2ee37
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x5160
leaq 0x1e8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x5690
leaq 0x10(%rsp), %rdi
callq 0x5908
leaq 0x19818(%rip), %rsi     # 0x2ee37
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x5160
leaq 0x70(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x5690
leaq 0x10(%rsp), %r13
movq %r13, %rdi
callq 0x5908
leaq 0x1f0(%r14), %rax
movq %rax, 0x38(%rsp)
leaq 0x218(%r14), %rax
movq %rax, 0x40(%rsp)
xorl %r15d, %r15d
leaq 0x48(%rsp), %rbp
movl 0x8(%r14), %eax
cmpq %rax, %r15
jae 0x15825
movq 0x38(%rsp), %rdi
movq %r15, %rsi
callq 0x9cc0
testq %rdx, (%rax)
je 0x1581d
leaq 0x1e0(%rsp), %rdi
leaq 0x1979a(%rip), %rsi     # 0x2ee36
callq 0x5480
xorl %r12d, %r12d
cmpl 0x6bc(%r14), %r12d
jae 0x157f4
testl %r12d, %r12d
je 0x156c7
leaq 0x68(%rsp), %rdi
leaq 0x1992b(%rip), %rsi     # 0x2efed
callq 0x5480
movl 0x630(%r14), %eax
cmpl %eax, %r12d
jne 0x156f0
movq 0x40(%rsp), %rdi
movq %r15, %rsi
callq 0x9cc0
testq %rdx, (%rax)
je 0x157a8
movl 0x630(%r14), %eax
cmpl %eax, %r12d
jne 0x1570f
movl %r12d, 0x10(%rsp)
movq %r14, %rdi
movl %r15d, %esi
movq %r13, %rdx
movq %rbp, %rcx
callq 0x14d44
xorl %ebx, %ebx
jmp 0x15736
movl %r12d, 0x10(%rsp)
movq %r14, %rdi
movl %r15d, %esi
movq %r13, %rdx
movq %rbp, %rcx
callq 0x14d44
movq %rbp, %rdi
leaq 0x189fe(%rip), %rsi     # 0x2e12d
callq 0x96f3
movl %eax, %ebx
leaq 0x68(%rsp), %rdi
movq %rbp, %rsi
callq 0x5400
testb %bl, %bl
jne 0x157a0
movq %r13, %rdi
leaq 0x70(%rsp), %rsi
callq 0x56f0
movq %rbp, %rdi
movq %r13, %rsi
callq 0x5580
movq %r13, %rdi
callq 0x5908
leaq 0x1e0(%rsp), %rdi
movq %rbp, %rsi
callq 0x5400
movq %r13, %rdi
leaq 0x196b6(%rip), %rsi     # 0x2ee37
leaq 0xf(%rsp), %rdx
callq 0x5160
leaq 0x70(%rsp), %rdi
movq %r13, %rsi
callq 0x5690
movq %r13, %rdi
callq 0x5908
incl %r12d
jmp 0x156a4
movq %rbp, %rdi
leaq 0x1897b(%rip), %rsi     # 0x2e12d
callq 0x58b0
pushq $0x1
popq %rbx
movq 0x4e8(%r14), %rax
cmpl (%rax,%r15,4), %ebx
jge 0x1570b
movq %r13, %rdi
movq %rbp, %rsi
leaq 0x18954(%rip), %rdx     # 0x2e12c
callq 0xfdce
movq %rbp, %rdi
movq %r13, %rsi
callq 0x5580
movq %r13, %rdi
callq 0x5908
incl %ebx
jmp 0x157ba
movq %r13, %rdi
leaq 0x19639(%rip), %rsi     # 0x2ee37
leaq 0xf(%rsp), %rdx
callq 0x5160
leaq 0x70(%rsp), %rdi
movq %r13, %rsi
callq 0x5690
movq %r13, %rdi
callq 0x5908
incq %r15
jmp 0x1566a
leaq 0x10(%rsp), %rdi
leaq 0x1e8(%rsp), %rsi
callq 0x56f0
leaq 0x10(%rsp), %rbx
movq 0x30(%rsp), %rdi
movq %rbx, %rsi
callq 0x5580
movq %rbx, %rdi
callq 0x5908
leaq 0x195df(%rip), %rsi     # 0x2ee37
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x5160
leaq 0x10(%rsp), %rsi
leaq 0x1e8(%rsp), %rdi
callq 0x5690
leaq 0x10(%rsp), %rdi
callq 0x5908
leaq 0x48(%rsp), %rdi
callq 0x5908
leaq 0x68(%rsp), %rdi
callq 0x58f0
leaq 0x1e0(%rsp), %rdi
callq 0x58f0
addq $0x358, %rsp            # imm = 0x358
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x158d9
jmp 0x158ec
jmp 0x158ec
jmp 0x158d9
jmp 0x158ec
jmp 0x158d9
jmp 0x158ec
movq %rax, %rbx
jmp 0x15903
jmp 0x158d9
jmp 0x158ec
jmp 0x158ec
jmp 0x158ec
jmp 0x158ec
jmp 0x158ec
jmp 0x158ec
jmp 0x158ec
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x5908
jmp 0x158ef
jmp 0x158ec
jmp 0x158ec
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x5908
leaq 0x68(%rsp), %rdi
callq 0x58f0
leaq 0x1e0(%rsp), %rdi
callq 0x58f0
movq %rbx, %rdi
callq 0x5800