// File: camargodev[P]n-tile-puzzle/src/Result.cpp
// Function: Result::printResult()
void Result :: printResult() {
    string strResult = "\n";
    this->averageHeuristicValue = this->totalHValue/max(this->counter, 1);
    strResult += to_string(this->expandedNodes) + ",";
    strResult += to_string(this->optimalSolutionLenght) + ",";
    strResult += to_string(this->duration) + ",";
    strResult += to_string(this->averageHeuristicValue) + ",";
    strResult += to_string(this->initialHeuristicValue);
    cout << strResult;
    // cout << "\nXXX: " << averageHeuristicValue;
    // cout << "\nCounter: " << counter;
}

// Assembly:
subq $0x188, %rsp            # imm = 0x188
movq %rdi, 0x180(%rsp)
movq 0x180(%rsp), %rax
movq %rax, 0x18(%rsp)
leaq 0x15f(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x34b0
movq 0x20(%rsp), %rdx
leaq 0xc20f(%rip), %rsi      # 0x19039
leaq 0x160(%rsp), %rdi
callq 0x3390
jmp 0xce39
leaq 0x15f(%rsp), %rdi
callq 0x3310
movq 0x18(%rsp), %rdi
movsd 0x30(%rdi), %xmm0
movsd %xmm0, 0x8(%rsp)
addq $0x8, %rdi
movl $0x1, 0x148(%rsp)
leaq 0x148(%rsp), %rsi
callq 0xd6f0
movq %rax, 0x10(%rsp)
jmp 0xce79
movq 0x18(%rsp), %rax
movsd 0x8(%rsp), %xmm0
movq 0x10(%rsp), %rcx
cvtsi2sdl (%rcx), %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x18(%rax)
movl (%rax), %esi
leaq 0x108(%rsp), %rdi
callq 0xd730
jmp 0xcea7
leaq 0xc1ae(%rip), %rdx      # 0x1905c
leaq 0x128(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x3ef0
jmp 0xcec5
leaq 0x160(%rsp), %rdi
leaq 0x128(%rsp), %rsi
callq 0x3360
jmp 0xcedc
leaq 0x128(%rsp), %rdi
callq 0x3180
leaq 0x108(%rsp), %rdi
callq 0x3180
movq 0x18(%rsp), %rax
movswl 0xc(%rax), %esi
leaq 0xc8(%rsp), %rdi
callq 0xd730
jmp 0xcf0e
leaq 0xc147(%rip), %rdx      # 0x1905c
leaq 0xe8(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x3ef0
jmp 0xcf2c
leaq 0x160(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x3360
jmp 0xcf43
leaq 0xe8(%rsp), %rdi
callq 0x3180
leaq 0xc8(%rsp), %rdi
callq 0x3180
movq 0x18(%rsp), %rax
movss 0x10(%rax), %xmm0
leaq 0x88(%rsp), %rdi
callq 0xd870
jmp 0xcf76
leaq 0xc0df(%rip), %rdx      # 0x1905c
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x3ef0
jmp 0xcf94
leaq 0x160(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0x3360
jmp 0xcfab
leaq 0xa8(%rsp), %rdi
callq 0x3180
leaq 0x88(%rsp), %rdi
callq 0x3180
movq 0x18(%rsp), %rax
movsd 0x18(%rax), %xmm0
leaq 0x48(%rsp), %rdi
callq 0xd8c0
jmp 0xcfdb
leaq 0xc07a(%rip), %rdx      # 0x1905c
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x3ef0
jmp 0xcff3
leaq 0x160(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x3360
jmp 0xd007
leaq 0x68(%rsp), %rdi
callq 0x3180
leaq 0x48(%rsp), %rdi
callq 0x3180
movq 0x18(%rsp), %rax
movswl 0x20(%rax), %esi
leaq 0x28(%rsp), %rdi
callq 0xd730
jmp 0xd030
leaq 0x160(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x3360
jmp 0xd044
leaq 0x28(%rsp), %rdi
callq 0x3180
movq 0x15f7b(%rip), %rdi     # 0x22fd0
leaq 0x160(%rsp), %rsi
callq 0x3290
jmp 0xd064
leaq 0x160(%rsp), %rdi
callq 0x3180
addq $0x188, %rsp            # imm = 0x188
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x150(%rsp)
movl %eax, 0x14c(%rsp)
leaq 0x15f(%rsp), %rdi
callq 0x3310
jmp 0xd1fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x150(%rsp)
movl %eax, 0x14c(%rsp)
jmp 0xd1ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x150(%rsp)
movl %eax, 0x14c(%rsp)
jmp 0xd0ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x150(%rsp)
movl %eax, 0x14c(%rsp)
leaq 0x128(%rsp), %rdi
callq 0x3180
leaq 0x108(%rsp), %rdi
callq 0x3180
jmp 0xd1ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x150(%rsp)
movl %eax, 0x14c(%rsp)
jmp 0xd138
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x150(%rsp)
movl %eax, 0x14c(%rsp)
leaq 0xe8(%rsp), %rdi
callq 0x3180
leaq 0xc8(%rsp), %rdi
callq 0x3180
jmp 0xd1ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x150(%rsp)
movl %eax, 0x14c(%rsp)
jmp 0xd181
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x150(%rsp)
movl %eax, 0x14c(%rsp)
leaq 0xa8(%rsp), %rdi
callq 0x3180
leaq 0x88(%rsp), %rdi
callq 0x3180
jmp 0xd1ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x150(%rsp)
movl %eax, 0x14c(%rsp)
jmp 0xd1c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x150(%rsp)
movl %eax, 0x14c(%rsp)
leaq 0x68(%rsp), %rdi
callq 0x3180
leaq 0x48(%rsp), %rdi
callq 0x3180
jmp 0xd1ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x150(%rsp)
movl %eax, 0x14c(%rsp)
leaq 0x28(%rsp), %rdi
callq 0x3180
leaq 0x160(%rsp), %rdi
callq 0x3180
movq 0x150(%rsp), %rdi
callq 0x34a0
nopl (%rax,%rax)