// File: /workspace/github_cpp_makefile_star2_O3/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)
movq %rsi, %rdi
xorl %esi, %esi
callq 0xf332
movq 0x4e8(%r15), %rax
movq 0x4f0(%r15), %rcx
cmpq %rcx, %rax
sete %sil
movq %rax, %rdx
addq $0x4, %rdx
cmpq %rcx, %rdx
sete %dil
orb %sil, %dil
jne 0x20070
movl (%rax), %esi
movl (%rdx), %edi
cmpl %edi, %esi
cmovlel %edi, %esi
cmovlq %rdx, %rax
addq $0x4, %rdx
cmpq %rcx, %rdx
jne 0x2005c
movl (%rax), %ebp
movl %ebp, 0x2c(%rsp)
cmpl $0xe, %ebp
jg 0x20098
movl %ebp, %eax
shlb $0x4, %al
incb %al
movb %al, 0xf(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x200b0
movb %al, (%rsi)
incq 0x8(%rbx)
jmp 0x20105
movb $-0xf, 0xf(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x200bf
movb $-0xf, (%rsi)
incq 0x8(%rbx)
jmp 0x200cc
leaq 0xf(%rsp), %rdx
movq %rbx, %rdi
callq 0x21896
jmp 0x20105
leaq 0xf(%rsp), %rdx
movq %rbx, %rdi
callq 0x21896
leaq 0x10(%rsp), %rsi
leaq 0x2c(%rsp), %rdx
movq %r15, %rdi
movl $0x1, %ecx
callq 0x1fbd8
movq 0x8(%rbx), %rsi
movq 0x10(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rbx, %rdi
callq 0x1bd8c
leaq 0x10(%rsp), %rdi
xorl %esi, %esi
callq 0xf332
movq (%r14), %rax
cmpq %rax, 0x8(%r14)
je 0x20165
movl $0x1, %r12d
xorl %edx, %edx
leaq 0x10(%rsp), %r15
shlq $0x5, %rdx
addq %rax, %rdx
movq %r15, %rsi
movl %ebp, %ecx
callq 0x201be
movq 0x8(%rbx), %rsi
movq 0x10(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rbx, %rdi
callq 0x1bd8c
movq %r15, %rdi
xorl %esi, %esi
callq 0xf332
movl %r12d, %edx
movq (%r14), %rax
movq 0x8(%r14), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
incl %r12d
cmpq %rdx, %rcx
ja 0x2011b
movq 0x8(%rbx), %rsi
movq 0x10(%rsp), %rdx
movq 0x18(%rsp), %rcx
movq %rbx, %rdi
callq 0x1bd8c
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2018a
callq 0x5410
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x201a3
jmp 0x201a3
jmp 0x201a3
jmp 0x201a3
jmp 0x201a3
jmp 0x201a3
movq %rax, %rbx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x201b5
callq 0x5410
movq %rbx, %rdi
callq 0x57d0
nop