// File: /workspace/github_cpp_makefile_star2_O2/GAStudyGroup[P]GPX2/src/base/sources/Log.cpp
// Function: Log::printHeader(std::ostream&)
void Log::printHeader(ostream &out){
    out << "Run id: "+to_string(Config::ID)+"\nGenetic Algoritm for problem "+Config::NAME+" with population size "+to_string(Config::POP_SIZE);
    out << (Config::LK_PERCENTAGE>0?(", using "+to_string(Config::LK_PERCENTAGE*100)+"% of LK generated tours"):(""));
    out <<"\nUsing new generation method: ";
    switch(Config::NEW_POP_TYPE){
        case 0:{
            out << "Cross using OX";
            break;
        }
        default:
        case 1:{
            out << " All vs All GPX2 crossover saving "+to_string(Config::N_BEST)+" with reset population and roulete.";
            break;
        }
        case 2:{
            out << "GPX2 with Ant Colony to introduce randomness";
            break;
        }
    }
    out<<"\nBest known solution: "<<to_string(Config::BEST_FITNESS)<<".\n";
    out.flush();
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0xf0, %rsp
movq %rdi, %rbx
leaq 0x31f44(%rip), %rax     # 0x3c870
movl (%rax), %esi
leaq 0xd0(%rsp), %r14
movq %r14, %rdi
callq 0xb68c
leaq 0x1cafc(%rip), %rsi     # 0x27441
leaq 0x70(%rsp), %rdi
movq %r14, %rdx
callq 0xb668
leaq 0x1caf1(%rip), %rdx     # 0x2744a
leaq 0x50(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0xb5c3
leaq 0x31f09(%rip), %rdx     # 0x3c878
leaq 0x90(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0xb649
leaq 0x1cae1(%rip), %rdx     # 0x27469
leaq 0x30(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0xb5c3
leaq 0x31f1f(%rip), %rax     # 0x3c8c0
movl (%rax), %esi
leaq 0xb0(%rsp), %rdi
callq 0xb68c
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rsi
leaq 0xb0(%rsp), %rdx
callq 0xb5e2
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5330
leaq 0x8(%rsp), %rdi
callq 0x56f8
leaq 0xb0(%rsp), %rdi
callq 0x56f8
leaq 0x30(%rsp), %rdi
callq 0x56f8
leaq 0x90(%rsp), %rdi
callq 0x56f8
leaq 0x50(%rsp), %rdi
callq 0x56f8
leaq 0x70(%rsp), %rdi
callq 0x56f8
leaq 0xd0(%rsp), %rdi
callq 0x56f8
leaq 0x31e8e(%rip), %rax     # 0x3c8b8
movsd (%rax), %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm1
movsd %xmm1, 0x28(%rsp)
ja 0xaa56
leaq 0x1df01(%rip), %rsi     # 0x28946
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x6cfa
jmp 0xaa9c
movsd 0x1c992(%rip), %xmm0    # 0x273f0
mulsd %xmm1, %xmm0
leaq 0x90(%rsp), %r14
movq %r14, %rdi
callq 0xb6cb
leaq 0x1ca07(%rip), %rsi     # 0x27480
leaq 0x30(%rsp), %rdi
movq %r14, %rdx
callq 0xb668
leaq 0x1c9fc(%rip), %rdx     # 0x27489
leaq 0x8(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0xb5c3
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5330
leaq 0x8(%rsp), %rdi
callq 0x56f8
xorpd %xmm0, %xmm0
movsd 0x28(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xaada
leaq 0x30(%rsp), %rdi
callq 0x56f8
leaq 0x90(%rsp), %rdi
callq 0x56f8
leaq 0x1c9c0(%rip), %rsi     # 0x274a1
movq %rbx, %rdi
callq 0x5370
leaq 0x31cb4(%rip), %rax     # 0x3c7a4
movl (%rax), %eax
testl %eax, %eax
je 0xab04
cmpl $0x2, %eax
jne 0xab15
leaq 0x1ca14(%rip), %rsi     # 0x27516
jmp 0xab0b
leaq 0x1c9b5(%rip), %rsi     # 0x274c0
movq %rbx, %rdi
callq 0x5370
jmp 0xab80
leaq 0x31c84(%rip), %rax     # 0x3c7a0
movl (%rax), %esi
leaq 0x70(%rsp), %r14
movq %r14, %rdi
callq 0xb68c
leaq 0x1c99d(%rip), %rsi     # 0x274cf
leaq 0x50(%rsp), %rdi
movq %r14, %rdx
callq 0xb668
leaq 0x1c9ac(%rip), %rdx     # 0x274f2
leaq 0x8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0xb5c3
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5330
leaq 0x8(%rsp), %rdi
callq 0x56f8
leaq 0x50(%rsp), %rdi
callq 0x56f8
leaq 0x70(%rsp), %rdi
callq 0x56f8
leaq 0x1c9bc(%rip), %rsi     # 0x27543
movq %rbx, %rdi
callq 0x5370
movq %rax, %r14
leaq 0x31d2b(%rip), %rax     # 0x3c8c4
movl (%rax), %esi
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0xb68c
movq %r14, %rdi
movq %r15, %rsi
callq 0x5330
leaq 0x1ca38(%rip), %rsi     # 0x275f2
movq %rax, %rdi
callq 0x5370
leaq 0x8(%rsp), %rdi
callq 0x56f8
movq %rbx, %rdi
callq 0x5290
addq $0xf0, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x56f8
jmp 0xabf3
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x56f8
jmp 0xac02
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
jmp 0xacc8
movq %rax, %rbx
jmp 0xac3f
movq %rax, %rbx
jmp 0xac49
movq %rax, %rbx
jmp 0xaccd
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x56f8
xorpd %xmm0, %xmm0
movsd 0x28(%rsp), %xmm1
ucomisd %xmm0, %xmm1
jbe 0xaccd
leaq 0x30(%rsp), %rdi
callq 0x56f8
leaq 0x90(%rsp), %rdi
jmp 0xacc8
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x56f8
jmp 0xac65
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0x56f8
jmp 0xac77
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x56f8
jmp 0xac86
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x56f8
jmp 0xac98
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x56f8
leaq 0x70(%rsp), %rdi
callq 0x56f8
leaq 0xd0(%rsp), %rdi
jmp 0xacc8
movq %rax, %rbx
jmp 0xaca2
movq %rax, %rbx
jmp 0xacac
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x56f8
movq %rbx, %rdi
callq 0x5610