// File: /workspace/github_cpp_makefile_star2_O1/auton1[P]viterbi/entry.cpp
// Function: entry::make_typed_GT_vector(std::vector<char, std::allocator<char>>&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&)
void entry::make_typed_GT_vector(vector<char> &out, vector<string> &in )
{
	vector<char> tmp_vector;
	int8_t size_type;
	int max_ploidy = 0;
	out.resize(0);

	max_ploidy = *max_element(ploidy.begin(), ploidy.end());

	if (max_ploidy < 15)
	{
		size_type = (int8_t)max_ploidy;
		size_type = size_type << 4;
		size_type = size_type | (int8_t)1;

		out.push_back( size_type );
	}
	else
	{
		size_type = (int8_t)15;
		size_type = size_type << 4;
		size_type = size_type | (int8_t)1;

		out.push_back( size_type );

		make_typed_int(tmp_vector, max_ploidy, true);
		out.insert( out.end(), tmp_vector.begin(), tmp_vector.end() );
		tmp_vector.resize(0);
	}

	for (unsigned int ui=0; ui<in.size(); ui++)
	{
		encode_genotype(tmp_vector, in[ui], max_ploidy);
		out.insert( out.end(), tmp_vector.begin(), tmp_vector.end() );
		tmp_vector.resize(0);
	}
	out.insert( out.end(), tmp_vector.begin(), tmp_vector.end() );
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
movq %rdx, %r14
movq %rsi, %rbx
movq %rdi, %r15
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movq $0x0, 0x20(%rsp)
movl $0x0, 0xc(%rsp)
movq %rsi, %rdi
xorl %esi, %esi
callq 0xf31a
movq 0x4e8(%r15), %rdx
movq 0x4f0(%r15), %rax
cmpq %rax, %rdx
sete %sil
movq %rdx, %rcx
addq $0x4, %rcx
cmpq %rax, %rcx
sete %dil
orb %sil, %dil
je 0x201fd
movq %rdx, %rsi
jmp 0x20215
movl (%rdx), %edi
movq %rcx, %rsi
cmpl (%rcx), %edi
jl 0x20209
movq %rdx, %rsi
addq $0x4, %rcx
movq %rsi, %rdx
cmpq %rax, %rcx
jne 0x201fd
movl (%rsi), %ebp
movl %ebp, 0xc(%rsp)
cmpl $0xe, %ebp
jg 0x2023d
movl %ebp, %eax
shlb $0x4, %al
incb %al
movb %al, 0xb(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x20255
movb %al, (%rsi)
incq 0x8(%rbx)
jmp 0x202aa
movb $-0xf, 0xb(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x20264
movb $-0xf, (%rsi)
incq 0x8(%rbx)
jmp 0x20271
leaq 0xb(%rsp), %rdx
movq %rbx, %rdi
callq 0x21a92
jmp 0x202aa
leaq 0xb(%rsp), %rdx
movq %rbx, %rdi
callq 0x21a92
leaq 0x10(%rsp), %rsi
leaq 0xc(%rsp), %rdx
movq %r15, %rdi
movl $0x1, %ecx
callq 0x1fd74
movq 0x8(%rbx), %rsi
movq 0x10(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rbx, %rdi
callq 0x1be7e
leaq 0x10(%rsp), %rdi
xorl %esi, %esi
callq 0xf31a
movq (%r14), %rax
cmpq %rax, 0x8(%r14)
je 0x2030a
movl $0x1, %r12d
xorl %edx, %edx
leaq 0x10(%rsp), %r15
shlq $0x5, %rdx
addq %rax, %rdx
movq %r15, %rsi
movl %ebp, %ecx
callq 0x20362
movq 0x8(%rbx), %rsi
movq 0x10(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rbx, %rdi
callq 0x1be7e
movq %r15, %rdi
xorl %esi, %esi
callq 0xf31a
movl %r12d, %edx
movq (%r14), %rax
movq 0x8(%r14), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
incl %r12d
cmpq %rdx, %rcx
ja 0x202c0
movq 0x8(%rbx), %rsi
movq 0x10(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rbx, %rdi
callq 0x1be7e
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2032f
callq 0x5410
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x20348
jmp 0x20348
jmp 0x20348
jmp 0x20348
jmp 0x20348
jmp 0x20348
movq %rax, %rbx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2035a
callq 0x5410
movq %rbx, %rdi
callq 0x57d0