// File: datourat[P]IP-label-for-graph-reachability/Graph.cpp
// Function: Graph::writeGraph(std::ostream&, int)
void Graph::writeGraph(ostream& out,int j) {
	cout << "Write graph size = " << graph.size() << endl;
	out << "graph_for_greach" << endl;
	out << vl.size() << endl;

	GRA::iterator git;
	EdgeList el;
	EdgeList::iterator eit;
	VertexList::iterator vit;
	int i = 0;
	for (i = 0; i < vl.size(); i++) {
		out << i << ": ";
                if(j==1)        
                    el = graph[i].outList;
                else
                    el = graph[i].inList;
		for (eit = el.begin(); eit != el.end(); eit++)
			out << (*eit) << " ";
		out << "#" << endl;
	}
}

// Assembly:
subq $0xb8, %rsp
movq %rdi, 0xb0(%rsp)
movq %rsi, 0xa8(%rsp)
movl %edx, 0xa4(%rsp)
movq 0xb0(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x2f3d6(%rip), %rdi     # 0x34fd8
leaq 0x227fb(%rip), %rsi     # 0x28404
callq 0x32c0
movq 0x30(%rsp), %rdi
movq %rax, 0x28(%rsp)
addq $0x48, %rdi
callq 0x11f30
movq 0x28(%rsp), %rdi
movq %rax, %rsi
callq 0x30a0
movq %rax, %rdi
movq 0x2f390(%rip), %rsi     # 0x34fc8
callq 0x3300
movq 0xa8(%rsp), %rdi
leaq 0x22781(%rip), %rsi     # 0x283cd
callq 0x32c0
movq %rax, %rdi
movq 0x2f36d(%rip), %rsi     # 0x34fc8
callq 0x3300
movq 0x30(%rsp), %rdi
movq 0xa8(%rsp), %rax
movq %rax, 0x38(%rsp)
addq $0x30, %rdi
callq 0x11600
movq 0x38(%rsp), %rdi
movq %rax, %rsi
callq 0x30a0
movq %rax, %rdi
movq 0x2f336(%rip), %rsi     # 0x34fc8
callq 0x3300
leaq 0x98(%rsp), %rdi
callq 0x11f50
leaq 0x80(%rsp), %rdi
callq 0x11160
leaq 0x78(%rsp), %rdi
callq 0x11f70
leaq 0x70(%rsp), %rdi
callq 0x11f90
movl $0x0, 0x6c(%rsp)
movl $0x0, 0x6c(%rsp)
movq 0x30(%rsp), %rdi
movslq 0x6c(%rsp), %rax
movq %rax, 0x20(%rsp)
addq $0x30, %rdi
callq 0x11600
movq %rax, %rcx
movq 0x20(%rsp), %rax
cmpq %rcx, %rax
jae 0x5e78
movq 0xa8(%rsp), %rdi
movl 0x6c(%rsp), %esi
callq 0x34d0
movq %rax, 0x18(%rsp)
jmp 0x5d16
movq 0x18(%rsp), %rdi
leaq 0x2268a(%rip), %rsi     # 0x283ac
callq 0x32c0
jmp 0x5d29
cmpl $0x1, 0xa4(%rsp)
jne 0x5d7e
movq 0x30(%rsp), %rdi
addq $0x48, %rdi
movslq 0x6c(%rsp), %rsi
callq 0x11d60
movq %rax, %rsi
addq $0x18, %rsi
leaq 0x80(%rsp), %rdi
callq 0x11fb0
jmp 0x5d5c
jmp 0x5da5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x60(%rsp)
movl %eax, 0x5c(%rsp)
leaq 0x80(%rsp), %rdi
callq 0x115a0
jmp 0x5e8d
movq 0x30(%rsp), %rdi
addq $0x48, %rdi
movslq 0x6c(%rsp), %rsi
callq 0x11d60
movq %rax, %rsi
leaq 0x80(%rsp), %rdi
callq 0x11fb0
jmp 0x5da3
jmp 0x5da5
leaq 0x80(%rsp), %rdi
callq 0x12270
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq %rax, 0x78(%rsp)
leaq 0x80(%rsp), %rdi
callq 0x122e0
movq %rax, 0x48(%rsp)
leaq 0x78(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x122a0
testb $0x1, %al
jne 0x5de8
jmp 0x5e3a
movq 0xa8(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x78(%rsp), %rdi
callq 0x12310
movq 0x8(%rsp), %rdi
movl (%rax), %esi
callq 0x34d0
movq %rax, 0x10(%rsp)
jmp 0x5e12
movq 0x10(%rsp), %rdi
leaq 0x2271d(%rip), %rsi     # 0x2853b
callq 0x32c0
jmp 0x5e25
jmp 0x5e27
leaq 0x78(%rsp), %rdi
xorl %esi, %esi
callq 0x12320
movq %rax, 0x40(%rsp)
jmp 0x5dc1
movq 0xa8(%rsp), %rdi
leaq 0x22706(%rip), %rsi     # 0x2854f
callq 0x32c0
movq %rax, (%rsp)
jmp 0x5e54
movq (%rsp), %rdi
movq 0x2f169(%rip), %rsi     # 0x34fc8
callq 0x3300
jmp 0x5e66
jmp 0x5e68
movl 0x6c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x6c(%rsp)
jmp 0x5cd5
leaq 0x80(%rsp), %rdi
callq 0x115a0
addq $0xb8, %rsp
retq
movq 0x60(%rsp), %rdi
callq 0x34e0
nopw (%rax,%rax)