// File: /workspace/github_cpp_makefile_star2_O2/auton1[P]viterbi/vcf_entry_setters.cpp
// Function: vcf_entry::set_FORMAT(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void vcf_entry::set_FORMAT(const string &in)
{
	FORMAT.resize(0);
	FORMAT_to_idx.clear();

	if (in.size() > 0)
	{
		istringstream ss(in);
		string tmpstr;

		unsigned int pos=0;
		while(!ss.eof())
		{
			getline(ss, tmpstr, ':');
			add_FORMAT_entry(tmpstr, pos);
			pos++;
		}
	}

	GT_idx = -1;
	GQ_idx = -1;
	DP_idx = -1;
	FT_idx = -1;

	if (FORMAT_to_idx.find("GT") != FORMAT_to_idx.end())
		GT_idx = FORMAT_to_idx["GT"];
	if (FORMAT_to_idx.find("GQ") != FORMAT_to_idx.end())
		GQ_idx = FORMAT_to_idx["GQ"];
	if (FORMAT_to_idx.find("DP") != FORMAT_to_idx.end())
		DP_idx = FORMAT_to_idx["DP"];
	if (FORMAT_to_idx.find("FT") != FORMAT_to_idx.end())
		FT_idx = FORMAT_to_idx["FT"];

	parsed_FORMAT = true;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1a8, %rsp            # imm = 0x1A8
movq %rsi, %r13
movq %rdi, %rbx
addq $0x498, %rdi            # imm = 0x498
xorl %r15d, %r15d
xorl %esi, %esi
callq 0xfd72
leaq 0x600(%rbx), %r14
movq %r14, %rdi
callq 0x1ef88
cmpq $0x0, 0x8(%r13)
je 0x1e060
leaq 0x28(%rsp), %r12
pushq $0x8
popq %rdx
movq %r12, %rdi
movq %r13, %rsi
callq 0x5770
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x8(%rsp), %r13
pushq $0x3a
popq %rbp
movq 0x28(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x2, 0x48(%rsp,%rax)
jne 0x1e04c
movq %r12, %rdi
movq %r13, %rsi
movl %ebp, %edx
callq 0x5870
movq %rbx, %rdi
movq %r13, %rsi
movl %r15d, %edx
callq 0x1e286
incl %r15d
jmp 0x1e01c
leaq 0x8(%rsp), %rdi
callq 0x5908
leaq 0x28(%rsp), %rdi
callq 0x5910
pcmpeqd %xmm0, %xmm0
movdqu %xmm0, 0x630(%rbx)
leaq 0x10af5(%rip), %rsi     # 0x2eb68
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x5160
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x19dea
movq %rax, %r15
leaq 0x608(%rbx), %r12
leaq 0x28(%rsp), %rdi
callq 0x5908
cmpq %r12, %r15
je 0x1e0e0
leaq 0x10ab9(%rip), %rsi     # 0x2eb68
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x5160
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x1edbc
leaq 0x630(%rbx), %rcx
movl (%rax), %eax
movl %eax, (%rcx)
leaq 0x28(%rsp), %rdi
callq 0x5908
leaq 0x1119f(%rip), %rsi     # 0x2f286
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x5160
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x19dea
movq %rax, %r15
leaq 0x28(%rsp), %rdi
callq 0x5908
cmpq %r12, %r15
je 0x1e14a
leaq 0x1116a(%rip), %rsi     # 0x2f286
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x5160
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x1edbc
movl (%rax), %eax
movl %eax, 0x634(%rbx)
leaq 0x28(%rsp), %rdi
callq 0x5908
leaq 0x1111c(%rip), %rsi     # 0x2f26d
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x5160
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x19dea
movq %rax, %r15
leaq 0x28(%rsp), %rdi
callq 0x5908
cmpq %r12, %r15
je 0x1e1b4
leaq 0x110e7(%rip), %rsi     # 0x2f26d
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x5160
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x1edbc
movl (%rax), %eax
movl %eax, 0x638(%rbx)
leaq 0x28(%rsp), %rdi
callq 0x5908
leaq 0x109b0(%rip), %rsi     # 0x2eb6b
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x5160
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x19dea
movq %rax, %r15
leaq 0x28(%rsp), %rdi
callq 0x5908
cmpq %r12, %r15
je 0x1e21e
leaq 0x1097b(%rip), %rsi     # 0x2eb6b
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x5160
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x1edbc
movl (%rax), %eax
movl %eax, 0x63c(%rbx)
leaq 0x28(%rsp), %rdi
callq 0x5908
movb $0x1, 0x3dd(%rbx)
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1e253
jmp 0x1e262
jmp 0x1e253
jmp 0x1e262
jmp 0x1e253
jmp 0x1e262
jmp 0x1e253
jmp 0x1e262
jmp 0x1e253
jmp 0x1e262
jmp 0x1e253
jmp 0x1e262
jmp 0x1e253
jmp 0x1e262
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x5908
jmp 0x1e27e
movq %rax, %rbx
jmp 0x1e27e
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x5908
leaq 0x28(%rsp), %rdi
callq 0x5910
movq %rbx, %rdi
callq 0x5800