// File: /workspace/github_cpp_makefile_star2_O1/canzarlab[P]Trajan/src/Parallel.cpp
// Function: MakeSolver(Graph&, Graph&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, double, bool, int, ParallelSolver&)
GenericBnBSolver* MakeSolver(Graph& t1, Graph& t2, string d, double k, bool dag, int threadid, ParallelSolver& s)
{
    if (threadid < 0 || threadid >= MAX_THREADS)
        return nullptr;
    else if (threadid == 0)
        return new BnBBFMF(t1, t2, d, k, dag, s);
    else if (threadid == 1)
        return new BnBBFLF(t1, t2, d, k, dag, s);
    else if (threadid == 2)
        return new BnBBFWF(t1, t2, d, k, dag, s);
    else if (threadid == 3)
        return new BnBDFMF(t1, t2, d, k, dag, s);
    else if (threadid == 4)
        return new BnBDFLF(t1, t2, d, k, dag, s);
    else if (threadid == 5)
        return new BnBDFWF(t1, t2, d, k, dag, s);
    else if (threadid == 6)
        return new BnBHMF (t1, t2, d, k, dag, s);
    else if (threadid == 7)
        return new BnBHLF (t1, t2, d, k, dag, s);
    else if (threadid == 8)
        return new BnBHWF (t1, t2, d, k, dag, s);
    else if (threadid == 9)
        return new BnBHA  (t1, t2, d, k, dag, s);
    else if (threadid == 10)
        return new BnBBFA (t1, t2, d, k, dag, s);
    else if (threadid == 11)
        return new BnBDFA (t1, t2, d, k, dag, s);
    else if (threadid == 12)
        return new BnBBFF (t1, t2, d, k, dag, s);
    else if (threadid == 13)
        return new BnBDFF (t1, t2, d, k, dag, s);
    else if (threadid == 14)
        return new BnBHF  (t1, t2, d, k, dag, s);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1f8, %rsp            # imm = 0x1F8
cmpl $0xe, %r8d
jbe 0x4b06b
xorl %r13d, %r13d
jmp 0x4b5be
movq %r9, %r14
movl %r8d, %ebx
movl %ecx, %ebp
movq %rdx, %r13
movq %rsi, %r15
movq %rdi, %r12
movsd %xmm0, 0x10(%rsp)
movl $0x188, %edi            # imm = 0x188
callq 0x9330
movq %rax, 0x8(%rsp)
cmpl $0xd, %ebx
ja 0x4b566
movl %ebx, %eax
leaq 0x266cd(%rip), %rcx     # 0x71770
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1e8(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq 0x1d8(%rsp), %rdi
callq 0xda94
movzbl %bpl, %r8d
leaq 0x1d8(%rsp), %rcx
movq 0x8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movsd 0x10(%rsp), %xmm0
movq %r14, %r9
callq 0x4c4d2
movq 0x1d8(%rsp), %rdi
jmp 0x4b5ae
leaq 0x88(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq 0x78(%rsp), %rdi
callq 0xda94
movzbl %bpl, %r8d
leaq 0x78(%rsp), %rcx
movq 0x8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movsd 0x10(%rsp), %xmm0
movq %r14, %r9
callq 0x4ccfc
movq 0x78(%rsp), %rdi
jmp 0x4b5ae
leaq 0x168(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq 0x158(%rsp), %rdi
callq 0xda94
movzbl %bpl, %r8d
leaq 0x158(%rsp), %rcx
movq 0x8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movsd 0x10(%rsp), %xmm0
movq %r14, %r9
callq 0x4c7ca
movq 0x158(%rsp), %rdi
jmp 0x4b5ae
leaq 0x68(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq 0x58(%rsp), %rdi
callq 0xda94
movzbl %bpl, %r8d
leaq 0x58(%rsp), %rcx
movq 0x8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movsd 0x10(%rsp), %xmm0
movq %r14, %r9
callq 0x4cdba
movq 0x58(%rsp), %rdi
jmp 0x4b5ae
leaq 0xc8(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq 0xb8(%rsp), %rdi
callq 0xda94
movzbl %bpl, %r8d
leaq 0xb8(%rsp), %rcx
movq 0x8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movsd 0x10(%rsp), %xmm0
movq %r14, %r9
callq 0x4cb80
movq 0xb8(%rsp), %rdi
jmp 0x4b5ae
leaq 0x1a8(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq 0x198(%rsp), %rdi
callq 0xda94
movzbl %bpl, %r8d
leaq 0x198(%rsp), %rcx
movq 0x8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movsd 0x10(%rsp), %xmm0
movq %r14, %r9
callq 0x4c64e
movq 0x198(%rsp), %rdi
jmp 0x4b5ae
leaq 0x188(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq 0x178(%rsp), %rdi
callq 0xda94
movzbl %bpl, %r8d
leaq 0x178(%rsp), %rcx
movq 0x8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movsd 0x10(%rsp), %xmm0
movq %r14, %r9
callq 0x4c70c
movq 0x178(%rsp), %rdi
jmp 0x4b5ae
leaq 0x108(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq 0xf8(%rsp), %rdi
callq 0xda94
movzbl %bpl, %r8d
leaq 0xf8(%rsp), %rcx
movq 0x8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movsd 0x10(%rsp), %xmm0
movq %r14, %r9
callq 0x4ca04
movq 0xf8(%rsp), %rdi
jmp 0x4b5ae
leaq 0x1c8(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq 0x1b8(%rsp), %rdi
callq 0xda94
movzbl %bpl, %r8d
leaq 0x1b8(%rsp), %rcx
movq 0x8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movsd 0x10(%rsp), %xmm0
movq %r14, %r9
callq 0x4c590
movq 0x1b8(%rsp), %rdi
jmp 0x4b5ae
leaq 0x148(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq 0x138(%rsp), %rdi
callq 0xda94
movzbl %bpl, %r8d
leaq 0x138(%rsp), %rcx
movq 0x8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movsd 0x10(%rsp), %xmm0
movq %r14, %r9
callq 0x4c888
movq 0x138(%rsp), %rdi
jmp 0x4b5ae
leaq 0x48(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq 0x38(%rsp), %rdi
callq 0xda94
movzbl %bpl, %r8d
leaq 0x38(%rsp), %rcx
movq 0x8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movsd 0x10(%rsp), %xmm0
movq %r14, %r9
callq 0x4ce78
movq 0x38(%rsp), %rdi
jmp 0x4b5ae
leaq 0x128(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq 0x118(%rsp), %rdi
callq 0xda94
movzbl %bpl, %r8d
leaq 0x118(%rsp), %rcx
movq 0x8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movsd 0x10(%rsp), %xmm0
movq %r14, %r9
callq 0x4c946
movq 0x118(%rsp), %rdi
jmp 0x4b5ae
leaq 0xa8(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq 0x98(%rsp), %rdi
callq 0xda94
movzbl %bpl, %r8d
leaq 0x98(%rsp), %rcx
movq 0x8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movsd 0x10(%rsp), %xmm0
movq %r14, %r9
callq 0x4cc3e
movq 0x98(%rsp), %rdi
jmp 0x4b5ae
leaq 0xe8(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq 0xd8(%rsp), %rdi
callq 0xda94
movzbl %bpl, %r8d
leaq 0xd8(%rsp), %rcx
movq 0x8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movsd 0x10(%rsp), %xmm0
movq %r14, %r9
callq 0x4cac2
movq 0xd8(%rsp), %rdi
jmp 0x4b5ae
leaq 0x28(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%r13), %rsi
movq 0x8(%r13), %rdx
addq %rsi, %rdx
leaq 0x18(%rsp), %rdi
callq 0xda94
movzbl %bpl, %r8d
leaq 0x18(%rsp), %rcx
movq 0x8(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
movq %r15, %rdx
movsd 0x10(%rsp), %xmm0
movq %r14, %r9
callq 0x4cf36
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4b5be
movq (%rbx), %rsi
incq %rsi
callq 0x9340
movq %r13, %rax
addq $0x1f8, %rsp            # imm = 0x1F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4b7b2
movq 0x28(%rsp), %rsi
jmp 0x4b789
movq %rax, %r14
movq 0xd8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4b7b2
movq 0xe8(%rsp), %rsi
jmp 0x4b789
movq %rax, %r14
movq 0x98(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4b7b2
movq 0xa8(%rsp), %rsi
jmp 0x4b789
movq %rax, %r14
movq 0x118(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4b7b2
movq 0x128(%rsp), %rsi
jmp 0x4b789
movq %rax, %r14
movq 0x38(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4b7b2
movq 0x48(%rsp), %rsi
jmp 0x4b789
movq %rax, %r14
movq 0x138(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4b7b2
movq 0x148(%rsp), %rsi
jmp 0x4b789
movq %rax, %r14
movq 0x1b8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4b7b2
movq 0x1c8(%rsp), %rsi
jmp 0x4b789
movq %rax, %r14
movq 0xf8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4b7b2
movq 0x108(%rsp), %rsi
jmp 0x4b789
movq %rax, %r14
movq 0x178(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4b7b2
movq 0x188(%rsp), %rsi
jmp 0x4b789
movq %rax, %r14
movq 0x1d8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4b7b2
movq 0x1e8(%rsp), %rsi
jmp 0x4b789
movq %rax, %r14
movq 0x198(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4b7b2
movq 0x1a8(%rsp), %rsi
jmp 0x4b789
movq %rax, %r14
movq 0xb8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4b7b2
movq 0xc8(%rsp), %rsi
jmp 0x4b789
movq %rax, %r14
movq 0x58(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4b7b2
movq 0x68(%rsp), %rsi
jmp 0x4b789
movq %rax, %r14
movq 0x158(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4b7b2
movq 0x168(%rsp), %rsi
jmp 0x4b789
movq %rax, %r14
movq 0x78(%rsp), %rdi
cmpq %rbx, %rdi
je 0x4b7b2
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x9340
jmp 0x4b7b2
jmp 0x4b7af
jmp 0x4b7af
jmp 0x4b7af
jmp 0x4b7af
jmp 0x4b7af
jmp 0x4b7af
jmp 0x4b7af
jmp 0x4b7af
jmp 0x4b7af
jmp 0x4b7af
jmp 0x4b7af
jmp 0x4b7af
jmp 0x4b7af
jmp 0x4b7af
movq %rax, %r14
movl $0x188, %esi            # imm = 0x188
movq 0x8(%rsp), %rdi
callq 0x9340
movq %r14, %rdi
callq 0x9670
nop