// File: Kingsford-Group[P]ghost2/src/adjacency_graph.hpp
// Function: AdjGraph::init(Graph*)
void AdjGraph::init(Graph *G)
{
  itsm = (*G).nodes();
  s = itsm.size();
  m.resize(s,s);
  m.fill(0);
  for(int i=0;i<s;i++)
    stim[itsm[i]] = i;
  for(int i=0;i<s;i++)
  {
    string src=itsm[i];
    vlist v = (*G).neighbors(src);
    vlist::iterator it=v.begin(), vend=v.end();
    for(;it!=vend;it++)
      m(stim[src],stim[*it])=1;
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x140, %rsp            # imm = 0x140
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xd8(%rbp)
movq -0x10(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0x12320
movq -0xd8(%rbp), %rdi
addq $0x20, %rdi
leaq -0x28(%rbp), %rsi
callq 0x28140
leaq -0x28(%rbp), %rdi
callq 0x236d0
movq -0xd8(%rbp), %rdi
addq $0x20, %rdi
callq 0x24d70
movq %rax, %rcx
movq -0xd8(%rbp), %rax
movl %ecx, (%rax)
movq %rax, %rdi
addq $0x8, %rdi
movslq (%rax), %rsi
movslq (%rax), %rdx
callq 0x25060
movq -0xd8(%rbp), %rdi
addq $0x8, %rdi
xorps %xmm0, %xmm0
movsd %xmm0, -0x30(%rbp)
leaq -0x30(%rbp), %rsi
callq 0x28170
movl $0x0, -0x34(%rbp)
movq -0xd8(%rbp), %rcx
movl -0x34(%rbp), %eax
cmpl (%rcx), %eax
jge 0x1a164
movq -0xd8(%rbp), %rdi
movl -0x34(%rbp), %eax
movl %eax, -0xdc(%rbp)
movq %rdi, %rax
addq $0x38, %rax
movq %rax, -0xe8(%rbp)
addq $0x20, %rdi
movslq -0x34(%rbp), %rsi
callq 0x24d90
movq -0xe8(%rbp), %rdi
movq %rax, %rsi
callq 0x281a0
movl -0xdc(%rbp), %ecx
movl %ecx, (%rax)
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x1a109
movl $0x0, -0x38(%rbp)
movq -0xd8(%rbp), %rcx
movl -0x38(%rbp), %eax
cmpl (%rcx), %eax
jge 0x1a392
movq -0xd8(%rbp), %rdi
addq $0x20, %rdi
movslq -0x38(%rbp), %rsi
callq 0x24d90
movq %rax, %rsi
leaq -0x58(%rbp), %rdi
movq %rdi, -0xf8(%rbp)
callq 0x10300
movq -0xf8(%rbp), %rsi
movq -0x10(%rbp), %rax
movq %rax, -0xf0(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x10300
jmp 0x1a1c4
movq -0xf0(%rbp), %rsi
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rdx
callq 0x28280
jmp 0x1a1e0
leaq -0xa8(%rbp), %rdi
callq 0x10460
leaq -0x88(%rbp), %rdi
callq 0x23730
movq %rax, -0xc0(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x23770
movq %rax, -0xc8(%rbp)
leaq -0xc0(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x23800
testb $0x1, %al
jne 0x1a22e
jmp 0x1a364
movq -0xd8(%rbp), %rdi
movq %rdi, %rax
addq $0x8, %rax
movq %rax, -0x108(%rbp)
addq $0x38, %rdi
leaq -0x58(%rbp), %rsi
callq 0x281a0
movq %rax, -0x100(%rbp)
jmp 0x1a259
movq -0xd8(%rbp), %rax
movq -0x100(%rbp), %rcx
movslq (%rcx), %rcx
movq %rcx, -0x120(%rbp)
addq $0x38, %rax
movq %rax, -0x118(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x23830
movq %rax, -0x110(%rbp)
jmp 0x1a291
movq -0x110(%rbp), %rsi
movq -0x118(%rbp), %rdi
callq 0x281a0
movq %rax, -0x128(%rbp)
jmp 0x1a2ad
movq -0x120(%rbp), %rsi
movq -0x108(%rbp), %rdi
movq -0x128(%rbp), %rax
movslq (%rax), %rdx
callq 0x246b0
movq %rax, -0x130(%rbp)
jmp 0x1a2d3
movq -0x130(%rbp), %rax
movsd 0xa1d8e(%rip), %xmm0    # 0xbc070
movsd %xmm0, (%rax)
leaq -0xc0(%rbp), %rdi
xorl %esi, %esi
callq 0x237c0
movq %rax, -0x138(%rbp)
jmp 0x1a2fd
movq -0x138(%rbp), %rax
movq %rax, -0xd0(%rbp)
jmp 0x1a212
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x1a387
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x10460
jmp 0x1a387
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x28300
jmp 0x1a387
leaq -0x88(%rbp), %rdi
callq 0x28300
leaq -0x58(%rbp), %rdi
callq 0x10460
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x1a16b
leaq -0x58(%rbp), %rdi
callq 0x10460
jmp 0x1a39b
addq $0x140, %rsp            # imm = 0x140
popq %rbp
retq
movq -0xb0(%rbp), %rdi
callq 0x10cc0
nopw (%rax,%rax)