// File: 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
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq 0x4ca91(%rip), %rdi     # 0x73fb8
leaq 0x2e2b3(%rip), %rsi     # 0x557e1
callq 0x6420
movq %rax, %rdi
movq 0x4ca43(%rip), %rsi     # 0x73f80
callq 0x6480
movq 0x4ca6f(%rip), %rdi     # 0x73fb8
leaq 0x2e2a2(%rip), %rsi     # 0x557f2
callq 0x6420
movq %rax, %rdi
movq 0x4ca21(%rip), %rsi     # 0x73f80
callq 0x6480
movl $0x0, -0x14(%rbp)
cmpl $0x4, -0x14(%rbp)
jge 0x2760e
movl $0x0, -0x18(%rbp)
movslq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
addq $0x8, %rdi
movslq -0x14(%rbp), %rax
imulq $0x18, %rax, %rax
addq %rax, %rdi
callq 0xbf00
movq %rax, %rcx
movq -0x28(%rbp), %rax
cmpq %rcx, %rax
jae 0x275ed
movq -0x10(%rbp), %rdi
addq $0x8, %rdi
movslq -0x14(%rbp), %rax
imulq $0x18, %rax, %rax
addq %rax, %rdi
movslq -0x18(%rbp), %rsi
callq 0x9080
movq %rax, %rsi
movq 0x4c9ea(%rip), %rdi     # 0x73fb8
callq 0x63e0
movq %rax, %rdi
leaq 0x2d880(%rip), %rsi     # 0x54e5d
callq 0x6420
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x2757c
movq 0x4c9c4(%rip), %rdi     # 0x73fb8
movq 0x4c985(%rip), %rsi     # 0x73f80
callq 0x6480
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x2756b
movq 0x4c9a3(%rip), %rdi     # 0x73fb8
leaq 0x2e1ea(%rip), %rsi     # 0x55806
callq 0x6420
movq %rax, %rdi
movq 0x4c955(%rip), %rsi     # 0x73f80
callq 0x6480
movl $0x0, -0x1c(%rbp)
cmpl $0x4, -0x1c(%rbp)
jge 0x27679
movq -0x10(%rbp), %rsi
addq $0xd0, %rsi
movslq -0x1c(%rbp), %rax
shlq $0x5, %rax
addq %rax, %rsi
movq 0x4c95e(%rip), %rdi     # 0x73fb8
callq 0x63e0
movq %rax, %rdi
movq 0x4c917(%rip), %rsi     # 0x73f80
callq 0x6480
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x27637
movq 0x4c938(%rip), %rdi     # 0x73fb8
leaq 0x2e192(%rip), %rsi     # 0x55819
callq 0x6420
movq %rax, %rdi
movq -0x10(%rbp), %rax
movb 0x15c(%rax), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x6770
movq %rax, %rdi
movq 0x4c8d3(%rip), %rsi     # 0x73f80
callq 0x6480
movl $0x0, -0x20(%rbp)
movslq -0x20(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
addq $0x168, %rdi            # imm = 0x168
callq 0x19a40
movq %rax, %rcx
movq -0x30(%rbp), %rax
cmpq %rcx, %rax
jae 0x27719
movq -0x10(%rbp), %rdi
addq $0x168, %rdi            # imm = 0x168
movslq -0x20(%rbp), %rsi
callq 0x19a60
movl (%rax), %esi
movq 0x4c8be(%rip), %rdi     # 0x73fb8
callq 0x6740
movq %rax, %rdi
leaq 0x2de34(%rip), %rsi     # 0x5553d
callq 0x6420
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x276b9
movq 0x4c898(%rip), %rdi     # 0x73fb8
movq 0x4c859(%rip), %rsi     # 0x73f80
callq 0x6480
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)