// File: /workspace/github_cpp_makefile_star2_O3/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 0xdabe(%rip), %rdi      # 0x1fff0
leaq 0x7143(%rip), %rsi      # 0x1967c
movl $0x18, %edx
callq 0x32a0
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq 0x10(%rbx), %r14
testq %r14, %r14
je 0x1255a
movq %r14, %rdi
callq 0x1101a
movl $0x18, %esi
movq %r14, %rdi
callq 0x3270
movq 0x98(%rbx), %r14
testq %r14, %r14
je 0x1257b
movq %r14, %rdi
callq 0x15066
movl $0x18, %esi
movq %r14, %rdi
callq 0x3270
movq 0xa0(%rbx), %r14
testq %r14, %r14
je 0x1259c
movq %r14, %rdi
callq 0x150ae
movl $0x18, %esi
movq %r14, %rdi
callq 0x3270
movq 0xb8(%rbx), %r14
testq %r14, %r14
je 0x125eb
movq -0x8(%r14), %r15
addq $-0x8, %r14
testq %r15, %r15
je 0x125d8
movq %r15, %r12
shlq $0x4, %r12
leaq (%r14,%r12), %rdi
callq 0x10d5e
addq $-0x10, %r12
jne 0x125c9
shlq $0x4, %r15
orq $0x8, %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x3450
movq 0x18(%rbx), %r14
testq %r14, %r14
je 0x125fc
movq %r14, %rdi
callq 0x150f6
movl $0x18, %esi
movq %r14, %rdi
callq 0x3270
movq 0xc0(%rbx), %r14
testq %r14, %r14
je 0x12655
movq -0x8(%r14), %r15
addq $-0x8, %r14
testq %r15, %r15
je 0x12645
leaq (,%r15,8), %r12
movq (%r14,%r12), %rdi
testq %rdi, %rdi
je 0x1263f
decq 0x8(%rdi)
jne 0x1263f
movq (%rdi), %rax
callq *0x8(%rax)
addq $-0x8, %r12
jne 0x1262a
leaq 0x8(,%r15,8), %rsi
movq %r14, %rdi
callq 0x3450
movq 0xa8(%rbx), %r15
movq (%r15), %r14
cmpq 0x8(%r15), %r14
je 0x12686
movq (%r14), %rdi
movl $0x18, %esi
callq 0x3270
addq $0x8, %r14
movq 0xa8(%rbx), %r15
cmpq 0x8(%r15), %r14
jne 0x12665
movq (%r15), %r14
testq %r14, %r14
je 0x1269a
movq 0x10(%r15), %rsi
subq %r14, %rsi
movq %r14, %rdi
callq 0x3270
movl $0x18, %esi
movq %r15, %rdi
callq 0x3270
movq 0x58(%rbx), %r14
testq %r14, %r14
je 0x126b8
movq %r14, %rdi
callq 0x871c
movl $0x18, %esi
movq %r14, %rdi
callq 0x3270
movq 0xf0(%rbx), %r14
testq %r14, %r14
je 0x126d9
movq %r14, %rdi
callq 0x152ac
movl $0x30, %esi
movq %r14, %rdi
callq 0x3270
movq 0xb0(%rbx), %rdi
testq %rdi, %rdi
je 0x126f7
callq 0x32e0
movq 0xd8(%rbx), %r14
testq %r14, %r14
je 0x1270b
movq %r14, %rdi
callq 0x152fc
movl $0x50, %esi
movq %r14, %rdi
callq 0x3270
leaq 0x118(%rbx), %rdi
callq 0x10d5e
leaq 0x108(%rbx), %rdi
callq 0x10d5e
leaq 0x90(%rbx), %rdi
callq 0x10d5e
leaq 0x80(%rbx), %rdi
callq 0x10d5e
leaq 0x60(%rbx), %rdi
callq 0x8248
movq 0x48(%rbx), %rdi
testq %rdi, %rdi
je 0x12766
decq 0x8(%rdi)
jne 0x12766
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
je 0x1277b
decq 0x8(%rdi)
jne 0x1277b
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x38(%rbx), %rdi
testq %rdi, %rdi
je 0x1278a
decq 0x8(%rdi)
je 0x12796
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 0x823d
nop