// File: ridgelab[P]Kmer-SSR/src/AtomicityChecker.cpp
// Function: AtomicityChecker::toString[abi:cxx11]() const
string AtomicityChecker::toString() const
{
	stringstream strm;
	strm << "AtomicityChecker: { factors: { ";

	for (unordered_map<uint32_t, unordered_set<uint32_t>*>::iterator itr = this->factors->begin(); itr != this->factors->end(); ++itr)
	{
		if (itr != this->factors->begin())
		{
			strm << ", ";
		}

		strm << itr->first << ": { ";

		for (unordered_set<uint32_t>::iterator inner_itr = itr->second->begin(); inner_itr != itr->second->end(); ++inner_itr)
		{
			if (inner_itr != itr->second->begin())
			{
				strm << ", ";
			}
			strm << *inner_itr;
		}

		strm << " }";
	}

	strm << " } }";
	return strm.str();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x210, %rsp            # imm = 0x210
movq %rdi, -0x1f0(%rbp)
movq %rdi, %rax
movq %rax, -0x1e8(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x1e0(%rbp)
leaq -0x198(%rbp), %rdi
callq 0x4270
leaq -0x188(%rbp), %rdi
leaq 0x16155(%rip), %rsi     # 0x2115e
callq 0x4390
jmp 0xb010
movq -0x1e0(%rbp), %rax
movq (%rax), %rdi
callq 0xb5b0
movq %rax, -0x1b0(%rbp)
movq -0x1e0(%rbp), %rax
movq (%rax), %rdi
callq 0xb610
movq %rax, -0x1b8(%rbp)
leaq -0x1b0(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0xb5e0
testb $0x1, %al
jne 0xb058
jmp 0xb20c
movq -0x1e0(%rbp), %rax
movq (%rax), %rdi
callq 0xb5b0
movq %rax, -0x1c0(%rbp)
leaq -0x1b0(%rbp), %rdi
leaq -0x1c0(%rbp), %rsi
callq 0xb5e0
testb $0x1, %al
jne 0xb087
jmp 0xb0c1
leaq -0x188(%rbp), %rdi
leaq 0x15fe0(%rip), %rsi     # 0x21075
callq 0x4390
jmp 0xb09c
jmp 0xb0c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1a0(%rbp)
movl %eax, -0x1a4(%rbp)
leaq -0x198(%rbp), %rdi
callq 0x42b0
jmp 0xb252
leaq -0x188(%rbp), %rax
movq %rax, -0x200(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0xb640
movq -0x200(%rbp), %rdi
movl (%rax), %esi
callq 0x4530
movq %rax, -0x1f8(%rbp)
jmp 0xb0f2
movq -0x1f8(%rbp), %rdi
leaq 0x161aa(%rip), %rsi     # 0x212aa
callq 0x4390
jmp 0xb107
leaq -0x1b0(%rbp), %rdi
callq 0xb640
movq 0x8(%rax), %rdi
callq 0xb6e0
movq %rax, -0x1c8(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0xb640
movq 0x8(%rax), %rdi
callq 0xb740
movq %rax, -0x1d0(%rbp)
leaq -0x1c8(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0xb710
testb $0x1, %al
jne 0xb15b
jmp 0xb1e4
leaq -0x1b0(%rbp), %rdi
callq 0xb640
movq 0x8(%rax), %rdi
callq 0xb6e0
movq %rax, -0x1d8(%rbp)
leaq -0x1c8(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
callq 0xb710
testb $0x1, %al
jne 0xb190
jmp 0xb1a7
leaq -0x188(%rbp), %rdi
leaq 0x15ed7(%rip), %rsi     # 0x21075
callq 0x4390
jmp 0xb1a5
jmp 0xb1a7
leaq -0x188(%rbp), %rax
movq %rax, -0x208(%rbp)
leaq -0x1c8(%rbp), %rdi
callq 0xb770
movq -0x208(%rbp), %rdi
movl (%rax), %esi
callq 0x4530
jmp 0xb1d1
jmp 0xb1d3
leaq -0x1c8(%rbp), %rdi
callq 0xb7a0
jmp 0xb123
leaq -0x188(%rbp), %rdi
leaq 0x15f8e(%rip), %rsi     # 0x21180
callq 0x4390
jmp 0xb1f9
jmp 0xb1fb
leaq -0x1b0(%rbp), %rdi
callq 0xb670
jmp 0xb026
leaq -0x188(%rbp), %rdi
leaq 0x15f64(%rip), %rsi     # 0x2117e
callq 0x4390
jmp 0xb221
movq -0x1f0(%rbp), %rdi
leaq -0x198(%rbp), %rsi
callq 0x4380
jmp 0xb236
leaq -0x198(%rbp), %rdi
callq 0x42b0
movq -0x1e8(%rbp), %rax
addq $0x210, %rsp            # imm = 0x210
popq %rbp
retq
movq -0x1a0(%rbp), %rdi
callq 0x46e0
nop