// File: /workspace/github_cpp_makefile_star2_O1/gchen98[P]macs/datastructures.cpp
// Function: GraphBuilder::~GraphBuilder()
GraphBuilder::~GraphBuilder(){
    cerr<<"Graphbuilder destructor\n";
    this->pConfig = NULL;
    this->pRandNumGenerator = NULL;

    delete this->pEdgeListInARG;
    delete this->pEdgeVectorByPop;

    delete this->pVectorIndicesToRecycle;
    delete [] pTreeEdgesToCoalesceArray;
    delete this->pEdgeVectorInTree;
    delete [] this->pSampleNodeArray;
    MutationPtrVector::iterator it;
    for(it=pMutationPtrVector->begin();it!=pMutationPtrVector->end();++it){
        delete(*it);
    }
    delete this->pMutationPtrVector;
    delete this->pEventList;
    delete this->pGeneConversionPtrSet;
    delete [] sites;
    delete pChrPositionQueue;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0xd984(%rip), %rdi      # 0x1fff0
leaq 0x6fa9(%rip), %rsi      # 0x1961c
movl $0x18, %edx
callq 0x32a0
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq 0x10(%rbx), %r14
testq %r14, %r14
je 0x126a1
movq %r14, %rdi
callq 0x1109a
movl $0x18, %esi
movq %r14, %rdi
callq 0x3270
movq 0x98(%rbx), %r14
testq %r14, %r14
je 0x126c2
movq %r14, %rdi
callq 0x151e6
movl $0x18, %esi
movq %r14, %rdi
callq 0x3270
movq 0xa0(%rbx), %r14
testq %r14, %r14
je 0x126e3
movq %r14, %rdi
callq 0x15228
movl $0x18, %esi
movq %r14, %rdi
callq 0x3270
movq 0xb8(%rbx), %r14
testq %r14, %r14
je 0x12725
movq -0x8(%r14), %r15
addq $-0x8, %r14
testq %r15, %r15
je 0x12712
movq %r15, %r12
shlq $0x4, %r12
leaq (%r14,%r12), %rdi
callq 0x10dec
addq $-0x10, %r12
jne 0x12703
shlq $0x4, %r15
orq $0x8, %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x3450
movq 0x18(%rbx), %r14
testq %r14, %r14
je 0x12743
movq %r14, %rdi
callq 0x1526a
movl $0x18, %esi
movq %r14, %rdi
callq 0x3270
movq 0xc0(%rbx), %r14
testq %r14, %r14
je 0x1278f
movq -0x8(%r14), %r15
addq $-0x8, %r14
testq %r15, %r15
je 0x1277f
leaq (,%r15,8), %r12
movq (%r14,%r12), %rdi
testq %rdi, %rdi
je 0x12779
decq 0x8(%rdi)
jne 0x12779
movq (%rdi), %rax
callq *0x8(%rax)
addq $-0x8, %r12
jne 0x12764
leaq 0x8(,%r15,8), %rsi
movq %r14, %rdi
callq 0x3450
movq 0xa8(%rbx), %r14
movq (%r14), %r15
cmpq 0x8(%r14), %r15
je 0x127be
movq (%r15), %rdi
testq %rdi, %rdi
je 0x127b1
movl $0x18, %esi
callq 0x3270
addq $0x8, %r15
movq 0xa8(%rbx), %r14
jmp 0x12799
testq %r14, %r14
je 0x127e4
movq (%r14), %rdi
testq %rdi, %rdi
je 0x127d7
movq 0x10(%r14), %rsi
subq %rdi, %rsi
callq 0x3270
movl $0x18, %esi
movq %r14, %rdi
callq 0x3270
movq 0x58(%rbx), %r14
testq %r14, %r14
je 0x12802
movq %r14, %rdi
callq 0x86de
movl $0x18, %esi
movq %r14, %rdi
callq 0x3270
movq 0xf0(%rbx), %r14
testq %r14, %r14
je 0x12823
movq %r14, %rdi
callq 0x1540c
movl $0x30, %esi
movq %r14, %rdi
callq 0x3270
movq 0xb0(%rbx), %rdi
testq %rdi, %rdi
je 0x12834
callq 0x32e0
movq 0xd8(%rbx), %r14
testq %r14, %r14
je 0x12855
movq %r14, %rdi
callq 0x1545c
movl $0x50, %esi
movq %r14, %rdi
callq 0x3270
leaq 0x118(%rbx), %rdi
callq 0x10dec
leaq 0x108(%rbx), %rdi
callq 0x10dec
leaq 0x90(%rbx), %rdi
callq 0x10dec
leaq 0x80(%rbx), %rdi
callq 0x10dec
leaq 0x60(%rbx), %rdi
callq 0x81fe
movq 0x48(%rbx), %rdi
testq %rdi, %rdi
je 0x128a3
decq 0x8(%rdi)
jne 0x128a3
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
je 0x128b8
decq 0x8(%rdi)
jne 0x128b8
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x38(%rbx), %rdi
testq %rdi, %rdi
je 0x128c7
decq 0x8(%rdi)
je 0x128d3
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq (%rdi), %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmpq *0x8(%rax)
movq %rax, %rdi
callq 0x81f3