// File: richardposner[P]BioNetFit2/src/code/Swarm.cpp
// Function: Swarm::getClusterCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
string Swarm::getClusterCommand(string runCmd) {
	if (options.clusterSoftware == "slurm") {
		return generateSlurmMultiProgCmd(runCmd);
	}
	else if (options.clusterSoftware == "torque") {
		return generateTorqueBatchScript(runCmd);
	}
	else if (options.clusterSoftware == "mpi") {
		cout << "runCmd is: " << runCmd << endl;
		return generateMPICommand(runCmd);
	}
	else if (options.clusterSoftware == "BNF2mpi") {
			if(options.verbosity >= 3){
				cout << "runCmd is: " << runCmd << endl;
			}
			return generateBNF2MPICommand(runCmd);
	}
	else {
		return 0;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rdx, -0xd0(%rbp)
movq %rdi, -0xc8(%rbp)
movq %rdi, %rax
movq %rax, -0xc0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
addq $0x14c0, %rdi           # imm = 0x14C0
addq $0x270, %rdi            # imm = 0x270
leaq 0xc8955(%rip), %rsi     # 0x1d47f4
callq 0x44930
testb $0x1, %al
jne 0x10beaa
jmp 0x10bf05
movq -0xd0(%rbp), %rsi
leaq -0x38(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
callq 0x2f300
movq -0xc8(%rbp), %rdi
movq -0xb8(%rbp), %rsi
movq -0xd8(%rbp), %rdx
callq 0x10c180
jmp 0x10bedd
leaq -0x38(%rbp), %rdi
callq 0x311e8
jmp 0x10c163
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x311e8
jmp 0x10c173
movq -0xb8(%rbp), %rdi
addq $0x14c0, %rdi           # imm = 0x14C0
addq $0x270, %rdi            # imm = 0x270
leaq 0xc88d9(%rip), %rsi     # 0x1d47fa
callq 0x44930
testb $0x1, %al
jne 0x10bf2c
jmp 0x10bf87
movq -0xd0(%rbp), %rsi
leaq -0x68(%rbp), %rdi
movq %rdi, -0xe0(%rbp)
callq 0x2f300
movq -0xc8(%rbp), %rdi
movq -0xb8(%rbp), %rsi
movq -0xe0(%rbp), %rdx
callq 0x10cdd0
jmp 0x10bf5f
leaq -0x68(%rbp), %rdi
callq 0x311e8
jmp 0x10c163
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x311e8
jmp 0x10c173
movq -0xb8(%rbp), %rdi
addq $0x14c0, %rdi           # imm = 0x14C0
addq $0x270, %rdi            # imm = 0x270
leaq 0xc8862(%rip), %rsi     # 0x1d4805
callq 0x44930
testb $0x1, %al
jne 0x10bfb1
jmp 0x10c046
movq 0x1c8f98(%rip), %rdi    # 0x2d4f50
leaq 0xd6d67(%rip), %rsi     # 0x1e2d26
callq 0x2ff50
movq -0xd0(%rbp), %rsi
movq %rax, %rdi
callq 0x2f780
movq %rax, %rdi
movq 0x1c8feb(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
movq -0xd0(%rbp), %rsi
leaq -0x88(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
callq 0x2f300
movq -0xc8(%rbp), %rdi
movq -0xb8(%rbp), %rsi
movq -0xe8(%rbp), %rdx
callq 0x10d4c0
jmp 0x10c018
leaq -0x88(%rbp), %rdi
callq 0x311e8
jmp 0x10c163
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x311e8
jmp 0x10c173
movq -0xb8(%rbp), %rdi
addq $0x14c0, %rdi           # imm = 0x14C0
addq $0x270, %rdi            # imm = 0x270
leaq 0xc879f(%rip), %rsi     # 0x1d4801
callq 0x44930
testb $0x1, %al
jne 0x10c070
jmp 0x10c10f
movq -0xb8(%rbp), %rax
cmpl $0x3, 0x1614(%rax)
jb 0x10c0b1
movq 0x1c8ec9(%rip), %rdi    # 0x2d4f50
leaq 0xd6c98(%rip), %rsi     # 0x1e2d26
callq 0x2ff50
movq -0xd0(%rbp), %rsi
movq %rax, %rdi
callq 0x2f780
movq %rax, %rdi
movq 0x1c8f1c(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
movq -0xd0(%rbp), %rsi
leaq -0xa8(%rbp), %rdi
movq %rdi, -0xf0(%rbp)
callq 0x2f300
movq -0xc8(%rbp), %rdi
movq -0xb8(%rbp), %rsi
movq -0xf0(%rbp), %rdx
callq 0x10dc00
jmp 0x10c0e7
leaq -0xa8(%rbp), %rdi
callq 0x311e8
jmp 0x10c163
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x311e8
jmp 0x10c173
leaq -0xa9(%rbp), %rdi
movq %rdi, -0xf8(%rbp)
callq 0x30a70
movq -0xc8(%rbp), %rdi
movq -0xf8(%rbp), %rdx
xorl %eax, %eax
movl %eax, %esi
callq 0x44470
jmp 0x10c13b
leaq -0xa9(%rbp), %rdi
callq 0x311c0
jmp 0x10c163
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xa9(%rbp), %rdi
callq 0x311c0
jmp 0x10c173
movq -0xc0(%rbp), %rax
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x30170
nopl (%rax)