// File: /workspace/github_cpp_makefile_star2_O3/richardposner[P]BioNetFit2/src/code/Swarm.cpp
// Function: Swarm::generateMPICommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
string Swarm::generateMPICommand(string cmd) {

	//sbatch << "mpirun -prepend-rank -np 1 " << runCmd << " load " << sConf_ << " : -np " << options.swarmSize << " " << runCmd << " particle 0 run " << sConf_ << endl;
	string newCmd = "mpirun -nooversubscribe ";
	if (options.hostfile.size()) {
		newCmd += "-hostfile " + options.hostfile + " ";
	}
	cout<<"Swarm::generateMPICommand may need some modifications 654\n";
	newCmd += "-tag-output -np 1 " + cmd + " -a load -c " + sConf_[0] + " : -nooversubscribe ";
	if (options.hostfile.size()) {
		newCmd += "-hostfile " + options.hostfile + " ";
	}
	cout<<"Swarm::generateMPICommand may need some modifications 654\n";
	newCmd += "-tag-output -np " + toString(options.swarmSize) + " " + cmd + " -t particle -p 0 -a run -c" + sConf_[0];

	if (options.saveClusterOutput) {
		newCmd += " > " + options.outputDir + "/" + options.jobName + "_cluster_output/" + options.jobName + " 2>&1";
	}
	return newCmd;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x10(%rdi), %rax
movq %rax, 0xa0(%rsp)
movq %rax, (%rdi)
leaq 0x66ba8(%rip), %rsi     # 0x10013a
leaq 0x66bb9(%rip), %rdx     # 0x100152
callq 0x321d2
leaq 0x17c0(%r14), %r12
cmpq $0x0, 0x17c8(%r14)
je 0x99660
leaq 0x66b99(%rip), %rsi     # 0x100153
leaq 0x20(%rsp), %rdi
movq %r12, %rdx
callq 0x31944
leaq 0x67e56(%rip), %rsi     # 0x101424
leaq 0x20(%rsp), %rdi
callq 0x233b0
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x995fe
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x99606
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x222b0
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x99645
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x30(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x99660
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xdc941(%rip), %rdi     # 0x175fa8
leaq 0x66af0(%rip), %rsi     # 0x10015e
movl $0x3a, %edx
callq 0x22ab0
leaq 0x66eef(%rip), %rsi     # 0x10056e
leaq 0x60(%rsp), %rdi
movq %r15, %rdx
callq 0x31944
leaq 0x66b06(%rip), %rsi     # 0x100199
leaq 0x60(%rsp), %rdi
callq 0x233b0
leaq 0x50(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x996c4
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x996ca
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x40(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x1938(%r14), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
callq 0x222b0
leaq 0x30(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x99720
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x99728
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq 0x20(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x66a5b(%rip), %rsi     # 0x1001a6
callq 0x233b0
leaq 0x10(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x99776
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x9977d
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x222b0
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x997bc
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
je 0x997d3
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x997ef
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0x70(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x9980a
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x229c0
cmpq $0x0, 0x17c8(%r14)
je 0x998bb
leaq 0x66934(%rip), %rsi     # 0x100153
leaq 0x20(%rsp), %rdi
movq %r12, %rdx
callq 0x31944
leaq 0x67bf1(%rip), %rsi     # 0x101424
leaq 0x20(%rsp), %rdi
callq 0x233b0
movq %rbp, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x9985e
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x99865
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x222b0
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x998a4
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
je 0x998bb
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xdc6e6(%rip), %rdi     # 0x175fa8
leaq 0x66895(%rip), %rsi     # 0x10015e
movl $0x3a, %edx
callq 0x22ab0
movl 0x1620(%r14), %esi
leaq 0xa8(%rsp), %rdi
callq 0xbe584
leaq 0x668cd(%rip), %rcx     # 0x1001bb
leaq 0xa8(%rsp), %rdi
movl $0x10, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x22a80
leaq 0x90(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x99936
movq %rdx, 0x80(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x90(%rsp)
jmp 0x9993e
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x80(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x67ac0(%rip), %rsi     # 0x101424
callq 0x233b0
leaq 0x70(%rsp), %rsi
movq %rsi, 0x60(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x99991
movq %rdx, 0x60(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x70(%rsp)
jmp 0x99997
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x60(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
callq 0x222b0
leaq 0x50(%rsp), %r15
movq %r15, 0x40(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x999e7
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x999ee
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x40(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x667bb(%rip), %rsi     # 0x1001cc
callq 0x233b0
movq %r13, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x99a39
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x99a41
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq 0x20(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x1938(%r14), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
callq 0x222b0
movq %rbp, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x99a91
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x99a98
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x222b0
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x99ad7
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
je 0x99aee
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0x99b05
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x99b21
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x80(%rsp), %rdi
cmpq %r12, %rdi
je 0x99b3e
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x229c0
leaq 0xb8(%rsp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x99b5f
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x229c0
cmpb $0x1, 0x1770(%r14)
jne 0x99df8
leaq 0x1500(%r14), %rdx
leaq 0x64ced(%rip), %rsi     # 0xfe868
leaq 0xa8(%rsp), %rdi
callq 0x31944
leaq 0x65cc8(%rip), %rsi     # 0xff857
leaq 0xa8(%rsp), %rdi
callq 0x233b0
movq %r12, 0x80(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x99bc8
movq %rdx, 0x80(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x90(%rsp)
jmp 0x99bd0
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x80(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x14c0(%r14), %rsi
movq 0x14c8(%r14), %rdx
callq 0x222b0
leaq 0x70(%rsp), %rsi
movq %rsi, 0x60(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x99c2a
movq %rdx, 0x60(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x70(%rsp)
jmp 0x99c30
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x60(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x66595(%rip), %rsi     # 0x1001e8
callq 0x233b0
leaq 0x50(%rsp), %rsi
movq %rsi, 0x40(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x99c80
movq %rdx, 0x40(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x50(%rsp)
jmp 0x99c86
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x40(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x14c0(%r14), %rsi
movq 0x14c8(%r14), %rdx
callq 0x222b0
movq %r13, 0x20(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x99cd8
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x99ce0
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq 0x20(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x5eed5(%rip), %rsi     # 0xf8bd8
callq 0x233b0
movq %rbp, (%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x99d29
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
jmp 0x99d30
movups (%rcx), %xmm0
movups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x222b0
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x99d6f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
je 0x99d86
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x99da2
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x99dbe
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0x80(%rsp), %rdi
cmpq %r12, %rdi
je 0x99ddb
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x229c0
movq 0xa8(%rsp), %rdi
cmpq %r15, %rdi
je 0x99df8
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x229c0
movq %rbx, %rax
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x99e2b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0x99e2b
movq %rax, %r14
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
je 0x99e47
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0x99e47
movq %rax, %r14
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x99e68
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0x99e68
movq %rax, %r14
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x99e89
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0x99e89
movq %rax, %r14
movq 0x80(%rsp), %rdi
cmpq %r12, %rdi
je 0x99eab
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0x99eab
movq %rax, %r14
movq 0xa8(%rsp), %rdi
cmpq %r15, %rdi
jne 0x99fea
jmp 0x9a073
jmp 0x9a070
movq %rax, %r14
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x99ee4
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0x99ee4
movq %rax, %r14
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
jne 0x99f28
jmp 0x9a073
jmp 0x9a070
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x99f16
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0x99f16
movq %rax, %r14
leaq 0x30(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x9a073
movq 0x30(%rsp), %rsi
jmp 0x9a064
jmp 0x9a070
movq %rax, %r14
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x99f55
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0x99f55
movq %rax, %r14
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
je 0x99f71
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0x99f71
movq %rax, %r14
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x99f92
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0x99f92
movq %rax, %r14
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x99fb3
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0x99fb3
movq %rax, %r14
movq 0x80(%rsp), %rdi
cmpq %r12, %rdi
je 0x99fd5
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0x99fd5
movq %rax, %r14
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x9a073
movq 0xb8(%rsp), %rsi
jmp 0x9a064
jmp 0x9a070
movq %rax, %r14
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x9a014
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0x9a014
movq %rax, %r14
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
je 0x9a030
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0x9a030
movq %rax, %r14
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x9a051
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0x9a051
movq %rax, %r14
leaq 0x70(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x9a073
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x229c0
jmp 0x9a073
jmp 0x9a070
movq %rax, %r14
movq (%rbx), %rdi
cmpq 0xa0(%rsp), %rdi
je 0x9a093
movq 0xa0(%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x229c0
movq %r14, %rdi
callq 0x23240
nop