// File: yuanboli233[P]interdyck_graph_reduce/graphtest.cpp
// Function: printGraphBlue(SummaryGraph&)
void printGraphBlue(SummaryGraph& sGraph){
    unordered_map<unsigned, unsigned> node2orig = sGraph.node2orignodeid;
    unordered_map<unsigned, string> eid2orig = sGraph.eid2origeidstring;
    for(unsigned i = 0; i < sGraph.nodes.size(); i++){
        SummaryNode* node = sGraph.nodes[i];
        if(node->belongto != node->id)
            continue;
        for(vector<NodewithEID>::iterator it = node->outBlueEdgeNodes.begin(); it != node->outBlueEdgeNodes.end(); it++){
            unsigned tonodeID = root(it->nodeID, sGraph);
            unsigned eid = it->edgeID;
            cout << node2orig[i] << "->" << node2orig[tonodeID] << "[label=\"o" << eid2orig[eid] << "\"]" << endl; 
        }

    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x110, %rsp            # imm = 0x110
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rsi
leaq -0x40(%rbp), %rdi
callq 0x51f0
movq -0x8(%rbp), %rsi
addq $0x38, %rsi
leaq -0x78(%rbp), %rdi
callq 0x5220
jmp 0x3c8f
movl $0x0, -0x88(%rbp)
movl -0x88(%rbp), %eax
movq %rax, -0xb8(%rbp)
movq -0x8(%rbp), %rdi
addq $0x70, %rdi
callq 0x5250
movq %rax, %rcx
movq -0xb8(%rbp), %rax
cmpq %rcx, %rax
jae 0x3ef5
movq -0x8(%rbp), %rdi
addq $0x70, %rdi
movl -0x88(%rbp), %eax
movl %eax, %esi
callq 0x4e30
movq (%rax), %rax
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
movl 0x68(%rax), %eax
movq -0x90(%rbp), %rcx
cmpl (%rcx), %eax
je 0x3d13
jmp 0x3ee1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x3f10
movq -0x90(%rbp), %rdi
addq $0x50, %rdi
callq 0x4fd0
movq %rax, -0x98(%rbp)
movq -0x90(%rbp), %rdi
addq $0x50, %rdi
callq 0x5040
movq %rax, -0xa0(%rbp)
leaq -0x98(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x5000
testb $0x1, %al
jne 0x3d5d
jmp 0x3edf
leaq -0x98(%rbp), %rdi
callq 0x5070
movl (%rax), %edi
movq -0x8(%rbp), %rsi
callq 0x35c0
movl %eax, -0xbc(%rbp)
jmp 0x3d7c
movl -0xbc(%rbp), %eax
movl %eax, -0xa4(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x5070
movl 0x4(%rax), %eax
movl %eax, -0xa8(%rbp)
leaq -0x40(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x5270
movq %rax, -0xc8(%rbp)
jmp 0x3db6
movq -0xc8(%rbp), %rax
movl (%rax), %esi
movq 0x1a212(%rip), %rdi     # 0x1dfd8
callq 0x3300
movq %rax, -0xd0(%rbp)
jmp 0x3dd4
movq -0xd0(%rbp), %rdi
leaq 0xf26d(%rip), %rsi      # 0x1304f
callq 0x3200
movq %rax, -0xd8(%rbp)
jmp 0x3df0
leaq -0x40(%rbp), %rdi
leaq -0xa4(%rbp), %rsi
callq 0x5270
movq %rax, -0xe0(%rbp)
jmp 0x3e09
movq -0xd8(%rbp), %rdi
movq -0xe0(%rbp), %rax
movl (%rax), %esi
callq 0x3300
movq %rax, -0xe8(%rbp)
jmp 0x3e27
movq -0xe8(%rbp), %rdi
leaq 0xf21d(%rip), %rsi      # 0x13052
callq 0x3200
movq %rax, -0xf0(%rbp)
jmp 0x3e43
leaq -0x78(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x52a0
movq %rax, -0xf8(%rbp)
jmp 0x3e5c
movq -0xf8(%rbp), %rsi
movq -0xf0(%rbp), %rdi
callq 0x31d0
movq %rax, -0x100(%rbp)
jmp 0x3e78
movq -0x100(%rbp), %rdi
leaq 0xf1d6(%rip), %rsi      # 0x1305c
callq 0x3200
movq %rax, -0x108(%rbp)
jmp 0x3e94
movq -0x108(%rbp), %rdi
movq 0x1a11e(%rip), %rsi     # 0x1dfc0
callq 0x3240
jmp 0x3ea9
jmp 0x3eab
leaq -0x98(%rbp), %rdi
xorl %esi, %esi
callq 0x5090
movq %rax, -0xb0(%rbp)
jmp 0x3d2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x52d0
jmp 0x3f10
jmp 0x3ee1
movl -0x88(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x88(%rbp)
jmp 0x3c99
leaq -0x78(%rbp), %rdi
callq 0x52d0
leaq -0x40(%rbp), %rdi
callq 0x52f0
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
leaq -0x40(%rbp), %rdi
callq 0x52f0
movq -0x80(%rbp), %rdi
callq 0x3390
nopw %cs:(%rax,%rax)