// File: /workspace/github_cpp_makefile_star2_O2/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
movsd %xmm0, 0x10(%rsp)
cmpl $0xe, %r8d
jbe 0x44288
xorl %ebx, %ebx
jmp 0x4462b
movq %r9, %r15
movl %r8d, %r14d
movl %ecx, %ebp
movq %rdx, %rbx
movq %rsi, %r12
movq %rdi, %r13
movl $0x188, %edi            # imm = 0x188
callq 0x9340
movq %rax, 0x8(%rsp)
cmpl $0xd, %r14d
ja 0x445f0
movl %r14d, %eax
leaq 0x2d38c(%rip), %rcx     # 0x71648
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1d8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9470
movzbl %bpl, %r8d
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
movsd 0x10(%rsp), %xmm0
movq %r15, %r9
callq 0x45086
jmp 0x44623
leaq 0x78(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9470
movzbl %bpl, %r8d
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
movsd 0x10(%rsp), %xmm0
movq %r15, %r9
callq 0x45674
jmp 0x44623
leaq 0x158(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9470
movzbl %bpl, %r8d
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
movsd 0x10(%rsp), %xmm0
movq %r15, %r9
callq 0x452ae
jmp 0x44623
leaq 0x58(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9470
movzbl %bpl, %r8d
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
movsd 0x10(%rsp), %xmm0
movq %r15, %r9
callq 0x456fe
jmp 0x44623
leaq 0xb8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9470
movzbl %bpl, %r8d
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
movsd 0x10(%rsp), %xmm0
movq %r15, %r9
callq 0x45560
jmp 0x44623
leaq 0x198(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9470
movzbl %bpl, %r8d
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
movsd 0x10(%rsp), %xmm0
movq %r15, %r9
callq 0x4519a
jmp 0x44623
leaq 0x178(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9470
movzbl %bpl, %r8d
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
movsd 0x10(%rsp), %xmm0
movq %r15, %r9
callq 0x45224
jmp 0x44623
leaq 0xf8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9470
movzbl %bpl, %r8d
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
movsd 0x10(%rsp), %xmm0
movq %r15, %r9
callq 0x4544c
jmp 0x44623
leaq 0x1b8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9470
movzbl %bpl, %r8d
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
movsd 0x10(%rsp), %xmm0
movq %r15, %r9
callq 0x45110
jmp 0x44623
leaq 0x138(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9470
movzbl %bpl, %r8d
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
movsd 0x10(%rsp), %xmm0
movq %r15, %r9
callq 0x45338
jmp 0x44623
leaq 0x38(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9470
movzbl %bpl, %r8d
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
movsd 0x10(%rsp), %xmm0
movq %r15, %r9
callq 0x45788
jmp 0x44623
leaq 0x118(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9470
movzbl %bpl, %r8d
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
movsd 0x10(%rsp), %xmm0
movq %r15, %r9
callq 0x453c2
jmp 0x44623
leaq 0x98(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9470
movzbl %bpl, %r8d
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
movsd 0x10(%rsp), %xmm0
movq %r15, %r9
callq 0x455ea
jmp 0x44623
leaq 0xd8(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9470
movzbl %bpl, %r8d
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
movsd 0x10(%rsp), %xmm0
movq %r15, %r9
callq 0x454d6
jmp 0x44623
leaq 0x18(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9470
movzbl %bpl, %r8d
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
movsd 0x10(%rsp), %xmm0
movq %r15, %r9
callq 0x45812
movq %r14, %rdi
callq 0x9708
movq %rbx, %rax
addq $0x1f8, %rsp            # imm = 0x1F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
leaq 0x18(%rsp), %rdi
jmp 0x44701
movq %rax, %r14
leaq 0xd8(%rsp), %rdi
jmp 0x44701
movq %rax, %r14
leaq 0x98(%rsp), %rdi
jmp 0x44701
movq %rax, %r14
leaq 0x118(%rsp), %rdi
jmp 0x44701
movq %rax, %r14
leaq 0x38(%rsp), %rdi
jmp 0x44701
movq %rax, %r14
leaq 0x138(%rsp), %rdi
jmp 0x44701
movq %rax, %r14
leaq 0x1b8(%rsp), %rdi
jmp 0x44701
movq %rax, %r14
leaq 0xf8(%rsp), %rdi
jmp 0x44701
movq %rax, %r14
leaq 0x178(%rsp), %rdi
jmp 0x44701
movq %rax, %r14
leaq 0x1d8(%rsp), %rdi
jmp 0x44701
movq %rax, %r14
leaq 0x198(%rsp), %rdi
jmp 0x44701
movq %rax, %r14
leaq 0xb8(%rsp), %rdi
jmp 0x44701
movq %rax, %r14
leaq 0x58(%rsp), %rdi
jmp 0x44701
movq %rax, %r14
leaq 0x158(%rsp), %rdi
jmp 0x44701
movq %rax, %r14
leaq 0x78(%rsp), %rdi
callq 0x9708
jmp 0x44727
jmp 0x44724
jmp 0x44724
jmp 0x44724
jmp 0x44724
jmp 0x44724
jmp 0x44724
jmp 0x44724
jmp 0x44724
jmp 0x44724
jmp 0x44724
jmp 0x44724
jmp 0x44724
jmp 0x44724
jmp 0x44724
movq %rax, %r14
movl $0x188, %esi            # imm = 0x188
movq 0x8(%rsp), %rdi
callq 0x9350
movq %r14, %rdi
callq 0x9640