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


	swarmMessage smessage;

	//char ch = sm.back();
	//cout << "Last character @" << ch << "@" << endl;
	if(sm.empty()){
	//if(ch=='\0')
		//sm.back() = '\n';
    	sm="\n";

	    if (swarm_->options.verbosity>=3) {

			cout << "String empty" << endl;
	    }
	}else{

		//cout << "last character is not empty, erasing" << endl;
		//sm.erase(sm.size()-1);
		//ch = sm.back();
		//cout << "new last character @" << ch << "@"<< endl;
	}


	if (swarm_->options.verbosity>=3) {

		cout << "serializing message start SM: " << sm << endl;
	}

	{
	std::stringstream iss;
	iss.str(sm);
	boost::archive::text_iarchive ia(iss);
	if (swarm_->options.verbosity>=3) {
		cout << "done serializing message" << endl;
	}
	ia >> smessage;
	}
	return smessage;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x10(%rdi), %rax
movq %rax, (%rdi)
xorl %eax, %eax
movq %rax, 0x8(%rdi)
movb $0x0, 0x10(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x28(%rdi)
movq %rax, 0x38(%rdi)
cmpq %rax, 0x8(%rdx)
jne 0x6d39e
leaq 0x8b7fc(%rip), %rcx     # 0xf8b34
movl $0x1, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x22fb0
movq 0x50(%r14), %rax
cmpl $0x3, 0x1614(%rax)
jb 0x6d39e
movq 0x108c4a(%rip), %r12    # 0x175fa8
leaq 0x8e8d6(%rip), %rsi     # 0xfbc3b
movl $0xc, %edx
movq %r12, %rdi
callq 0x22ab0
movq (%r12), %rax
addq -0x18(%rax), %r12
movq %r12, %rdi
movl $0xa, %esi
callq 0x22940
movsbl %al, %esi
movq 0x108c17(%rip), %rdi    # 0x175fa8
callq 0x22050
movq %rax, %rdi
callq 0x22660
movq 0x50(%r14), %rax
cmpl $0x3, 0x1614(%rax)
jb 0x6d400
movq 0x108bf6(%rip), %rdi    # 0x175fa8
leaq 0x8e88f(%rip), %rsi     # 0xfbc48
movl $0x1e, %edx
callq 0x22ab0
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq 0x108bd7(%rip), %rdi    # 0x175fa8
callq 0x22ab0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x22940
movsbl %al, %esi
movq %r12, %rdi
callq 0x22050
movq %rax, %rdi
callq 0x22660
leaq 0x80(%rsp), %rdi
callq 0x22680
leaq 0x98(%rsp), %rdi
movq %r15, %rsi
callq 0x22f00
movq %rsp, %rdi
leaq 0x80(%rsp), %rsi
xorl %edx, %edx
callq 0x66012
movq 0x50(%r14), %rax
cmpl $0x3, 0x1614(%rax)
jb 0x6d482
movq 0x108b65(%rip), %r14    # 0x175fa8
leaq 0x8e81d(%rip), %rsi     # 0xfbc67
movl $0x18, %edx
movq %r14, %rdi
callq 0x22ab0
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x22940
movsbl %al, %esi
movq 0x108b33(%rip), %rdi    # 0x175fa8
callq 0x22050
movq %rax, %rdi
callq 0x22660
callq 0x6efb0
movq %rsp, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0xe5cc0
movq %rsp, %rdi
callq 0xe5600
leaq 0x28(%rsp), %rdi
callq 0xe81b0
movq 0x108aa2(%rip), %rsi    # 0x175f50
leaq 0x80(%rsp), %rdi
callq 0x226f0
leaq 0x100(%rsp), %rdi
callq 0x222d0
movq %rbx, %rax
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0x6d4dc
movq %rax, %r14
jmp 0x6d4fd
jmp 0x6d4e3
movq %rax, %r14
jmp 0x6d51e
movq %rax, %r14
movq %rsp, %rdi
callq 0xe5600
leaq 0x28(%rsp), %rdi
callq 0xe81b0
movq 0x108a4c(%rip), %rsi    # 0x175f50
leaq 0x80(%rsp), %rdi
callq 0x226f0
leaq 0x100(%rsp), %rdi
callq 0x222d0
movq %rbx, %rdi
callq 0x6eb5e
movq %r14, %rdi
callq 0x23240