// File: /workspace/github_cpp_makefile_star2_O3/medvedevgroup[P]varmatch/src/wholegenome.cpp
// Function: WholeGenome::PrintPath(SequencePath&)
void WholeGenome::PrintPath(SequencePath & sp){
    cout << "- Sequence Path:" << endl;
    cout << "@ String Sequences:" << endl;
    for(int i = 0; i < 4; i++){
        for(int j = 0; j < sp.string_sequences[i].size(); j++){
            cout << sp.string_sequences[i][j] << " ";
        }
        cout << endl;
    }
    cout << "@ Donor Sequences:" << endl;
    for(int i = 0; i < 4; i++){
        cout << sp.donor_sequences[i] << endl;
    }
    cout << "@ Removable: " << sp.removable << endl;

    for(int i = 0; i < sp.choice_vector.size(); i++){
        cout << sp.choice_vector[i] << ",";
    }
    cout << endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, %rbx
movq 0x21c52(%rip), %r14     # 0x3cfd0
leaq 0x164b0(%rip), %rsi     # 0x31835
movl $0x10, %edx
movq %r14, %rdi
callq 0x53a0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5310
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5240
leaq 0x16486(%rip), %rsi     # 0x31846
movl $0x13, %edx
movq %r14, %rdi
callq 0x53a0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5310
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5240
movq %rbx, 0x10(%rsp)
leaq 0x8(%rbx), %rax
movq %rax, 0x8(%rsp)
xorl %r13d, %r13d
leaq 0x15a5b(%rip), %r15     # 0x30e67
leaq (,%r13,2), %rcx
addq %r13, %rcx
movq 0x8(%rsp), %rdx
movq (%rdx,%rcx,8), %rax
cmpq %rax, 0x8(%rdx,%rcx,8)
je 0x1b474
movq 0x8(%rsp), %rdx
leaq (%rdx,%rcx,8), %rbp
movl $0x8, %ebx
xorl %r12d, %r12d
movq -0x8(%rax,%rbx), %rsi
movq (%rax,%rbx), %rdx
movq %r14, %rdi
callq 0x53a0
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x53a0
incq %r12
movq (%rbp), %rax
movq 0x8(%rbp), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
addq $0x20, %rbx
cmpq %r12, %rcx
ja 0x1b438
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5310
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5240
incq %r13
cmpq $0x4, %r13
jne 0x1b40c
leaq 0x163ab(%rip), %rsi     # 0x3185a
movl $0x12, %edx
movq %r14, %rdi
callq 0x53a0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5310
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5240
xorl %ebx, %ebx
movq 0x10(%rsp), %r13
movq 0xd0(%r13,%rbx), %rsi
movq 0xd8(%r13,%rbx), %rdx
movq %r14, %rdi
callq 0x53a0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x5310
movsbl %al, %esi
movq %r15, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5240
addq $0x20, %rbx
cmpq $0x80, %rbx
jne 0x1b4ea
movq 0x21a90(%rip), %r14     # 0x3cfd0
leaq 0x16326(%rip), %rsi     # 0x3186d
movl $0xd, %edx
movq %r14, %rdi
callq 0x53a0
movzbl 0x15c(%r13), %esi
movq %r14, %rdi
callq 0x5540
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x5310
movsbl %al, %esi
movq %r15, %rdi
callq 0x5040
movq %rax, %rdi
callq 0x5240
movq 0x168(%r13), %rax
cmpq %rax, 0x170(%r13)
je 0x1b5e6
xorl %ebx, %ebx
movq 0x21a29(%rip), %r15     # 0x3cfd0
leaq 0x15fe3(%rip), %r12     # 0x31591
movl (%rax,%rbx,4), %esi
movq %r15, %rdi
callq 0x55a0
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x53a0
incq %rbx
movq 0x168(%r13), %rax
movq 0x170(%r13), %rcx
subq %rax, %rcx
sarq $0x2, %rcx
cmpq %rbx, %rcx
ja 0x1b5ae
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5310
movsbl %al, %esi
movq %r14, %rdi
callq 0x5040
movq %rax, %rdi
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x5240
nop