// File: /workspace/github_cpp_makefile_star2_O3/estwings57[P]CasHMC/sources/CasHMCWrapper.cpp
// Function: CasHMC::CasHMCWrapper::~CasHMCWrapper()
CasHMCWrapper::~CasHMCWrapper()
{
	PrintEpochStatistic();
	PrintFinalStatistic();
	debugOut.flush();		debugOut.close();
	stateOut.flush();		stateOut.close();
	plotDataOut.flush();	plotDataOut.close();
	plotScriptOut.flush();	plotScriptOut.close();
	resultOut.flush();		resultOut.close();
	
	for(int l=0; l<NUM_LINKS; l++) {
		delete downstreamLinks[l];
		delete upstreamLinks[l];
	}
	downstreamLinks.clear(); 
	upstreamLinks.clear(); 
	delete hmcCont;
	hmcCont = NULL;
	delete hmc;
	hmc = NULL;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
leaq 0x2fe13(%rip), %rax     # 0x3a900
movq %rax, (%rdi)
callq 0xadce
movq %rbx, %rdi
callq 0xde40
leaq 0x618(%rbx), %r14
movq %r14, %rdi
callq 0x41f0
movq %r14, %rdi
callq 0x43c0
leaq 0x818(%rbx), %r14
movq %r14, %rdi
callq 0x41f0
movq %r14, %rdi
callq 0x43c0
leaq 0xa18(%rbx), %r14
movq %r14, %rdi
callq 0x41f0
movq %r14, %rdi
callq 0x43c0
leaq 0xc18(%rbx), %r14
movq %r14, %rdi
callq 0x41f0
movq %r14, %rdi
callq 0x43c0
leaq 0xe18(%rbx), %r14
movq %r14, %rdi
callq 0x41f0
movq %r14, %rdi
callq 0x43c0
leaq 0x30931(%rip), %r14     # 0x3b4a8
cmpl $0x0, (%r14)
jle 0xabb7
xorl %r15d, %r15d
movq 0x338(%rbx), %rax
movq (%rax,%r15,8), %rdi
testq %rdi, %rdi
je 0xab96
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x350(%rbx), %rax
movq (%rax,%r15,8), %rdi
testq %rdi, %rdi
je 0xabac
movq (%rdi), %rax
callq *0x8(%rax)
incq %r15
movslq (%r14), %rax
cmpq %rax, %r15
jl 0xab80
movq 0x338(%rbx), %rax
cmpq %rax, 0x340(%rbx)
je 0xabce
movq %rax, 0x340(%rbx)
movq 0x350(%rbx), %rax
cmpq %rax, 0x358(%rbx)
je 0xabe5
movq %rax, 0x358(%rbx)
movq 0x330(%rbx), %rdi
testq %rdi, %rdi
je 0xabf7
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x330(%rbx)
movq 0x368(%rbx), %rdi
testq %rdi, %rdi
je 0xac14
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x368(%rbx)
movq 0x3039a(%rip), %rax     # 0x3afc0
movq (%rax), %r14
movq 0x18(%rax), %r15
movq %r14, 0xe18(%rbx)
movq -0x18(%r14), %rax
movq %r15, 0xe18(%rbx,%rax)
leaq 0xe20(%rbx), %rdi
callq 0x4270
leaq 0xf10(%rbx), %rdi
callq 0x4120
movq %r14, 0xc18(%rbx)
movq -0x18(%r14), %rax
movq %r15, 0xc18(%rbx,%rax)
leaq 0xc20(%rbx), %rdi
callq 0x4270
leaq 0xd10(%rbx), %rdi
callq 0x4120
movq %r14, 0xa18(%rbx)
movq -0x18(%r14), %rax
movq %r15, 0xa18(%rbx,%rax)
leaq 0xa20(%rbx), %rdi
callq 0x4270
leaq 0xb10(%rbx), %rdi
callq 0x4120
movq %r14, 0x818(%rbx)
movq -0x18(%r14), %rax
movq %r15, 0x818(%rbx,%rax)
leaq 0x820(%rbx), %rdi
callq 0x4270
leaq 0x910(%rbx), %rdi
callq 0x4120
movq %r14, 0x618(%rbx)
movq -0x18(%r14), %rax
movq %r15, 0x618(%rbx,%rax)
leaq 0x620(%rbx), %rdi
callq 0x4270
leaq 0x710(%rbx), %rdi
callq 0x4120
movq %r14, 0x418(%rbx)
movq -0x18(%r14), %rax
movq %r15, 0x418(%rbx,%rax)
leaq 0x420(%rbx), %rdi
callq 0x4270
leaq 0x510(%rbx), %rdi
callq 0x4120
movq 0x400(%rbx), %rdi
testq %rdi, %rdi
je 0xad4a
movq 0x410(%rbx), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x3e8(%rbx), %rdi
testq %rdi, %rdi
je 0xad65
movq 0x3f8(%rbx), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x3a8(%rbx), %rdi
leaq 0x3b8(%rbx), %rax
cmpq %rax, %rdi
je 0xad83
movq (%rax), %rsi
incq %rsi
callq 0x4300
movq 0x350(%rbx), %rdi
testq %rdi, %rdi
je 0xad9e
movq 0x360(%rbx), %rsi
subq %rdi, %rsi
callq 0x4300
movq 0x338(%rbx), %rdi
testq %rdi, %rdi
je 0xadb9
movq 0x348(%rbx), %rsi
subq %rdi, %rsi
callq 0x4300
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x13792
movq %rax, %rdi
callq 0x13489