// File: yohm[P]dynamical_graph_model/./dynamical_graph_model.cpp
// Function: DynamicalGraph::Run(unsigned int, unsigned int)
void DynamicalGraph::Run(uint32_t t_init, uint32_t t_measure) {
  std::ofstream fout("timeseries.dat");

  for( ; m_currentTime<t_init; m_currentTime++) {
    Update();
    if( m_currentTime%1024 == 0 ) {
      std::cerr << "t : " << m_currentTime << std::endl;
      fout << m_currentTime << ' ' << Diversity()
        << ' ' << LinkDensity()
        << ' ' << CC() << std::endl;
    }
  }

  ClearHisto();

  for( ; m_currentTime<t_init+t_measure; m_currentTime++) {
    Update();
    m_densitySum += LinkDensity();
    m_densityCount++;
    if( m_currentTime % 128 == 0 ) {
      m_CCsum += CC();
      m_CCcount++;
    }
    if( m_currentTime%1024 == 0 ) {
      std::cerr << "t : " << m_currentTime << std::endl;
      fout << m_currentTime << ' ' << Diversity()
        << ' ' << LinkDensity()
        << ' ' << CC() << std::endl;
    }
  }
  fout.close();
}

// Assembly:
subq $0x2f8, %rsp            # imm = 0x2F8
movq %rdi, 0x2f0(%rsp)
movl %esi, 0x2ec(%rsp)
movl %edx, 0x2e8(%rsp)
movq 0x2f0(%rsp), %rax
movq %rax, 0xd0(%rsp)
leaq 0xe8(%rsp), %rdi
leaq 0x8066(%rip), %rsi      # 0xb082
movl $0x10, %edx
callq 0x21f0
movq 0xd0(%rsp), %rax
movl 0x68(%rax), %eax
cmpl 0x2ec(%rsp), %eax
jae 0x321f
movq 0xd0(%rsp), %rdi
callq 0x34a0
jmp 0x304d
movq 0xd0(%rsp), %rax
movl 0x68(%rax), %eax
andl $0x3ff, %eax            # imm = 0x3FF
cmpl $0x0, %eax
jne 0x3207
movq 0xcf83(%rip), %rdi      # 0xfff0
leaq 0x801d(%rip), %rsi      # 0xb091
callq 0x2190
movq %rax, 0xc8(%rsp)
jmp 0x3083
movq 0xc8(%rsp), %rdi
movq 0xd0(%rsp), %rax
movl 0x68(%rax), %esi
callq 0x2230
movq %rax, 0xc0(%rsp)
jmp 0x30a5
movq 0xc0(%rsp), %rdi
movq 0xcf04(%rip), %rsi      # 0xffb8
callq 0x21d0
jmp 0x30bb
movq 0xd0(%rsp), %rax
movl 0x68(%rax), %esi
leaq 0xe8(%rsp), %rdi
callq 0x2230
movq %rax, 0xb8(%rsp)
jmp 0x30dd
movq 0xb8(%rsp), %rdi
movl $0x20, %esi
callq 0x2210
movq %rax, 0xb0(%rsp)
jmp 0x30f9
movq 0xd0(%rsp), %rdi
callq 0x3520
movl %eax, 0xac(%rsp)
jmp 0x310f
movl 0xac(%rsp), %esi
movq 0xb0(%rsp), %rdi
callq 0x22d0
movq %rax, 0xa0(%rsp)
jmp 0x312d
movq 0xa0(%rsp), %rdi
movl $0x20, %esi
callq 0x2210
movq %rax, 0x98(%rsp)
jmp 0x3149
movq 0xd0(%rsp), %rdi
callq 0x3540
movsd %xmm0, 0x90(%rsp)
jmp 0x3161
movsd 0x90(%rsp), %xmm0
movq 0x98(%rsp), %rdi
callq 0x2300
movq %rax, 0x88(%rsp)
jmp 0x3181
movq 0x88(%rsp), %rdi
movl $0x20, %esi
callq 0x2210
movq %rax, 0x80(%rsp)
jmp 0x319d
movq 0xd0(%rsp), %rdi
callq 0x3660
movsd %xmm0, 0x78(%rsp)
jmp 0x31b2
movsd 0x78(%rsp), %xmm0
movq 0x80(%rsp), %rdi
callq 0x2300
movq %rax, 0x70(%rsp)
jmp 0x31cc
movq 0x70(%rsp), %rdi
movq 0xcde0(%rip), %rsi      # 0xffb8
callq 0x21d0
jmp 0x31df
jmp 0x3207
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe0(%rsp)
movl %eax, 0xdc(%rsp)
leaq 0xe8(%rsp), %rdi
callq 0x2290
jmp 0x3487
jmp 0x3209
movq 0xd0(%rsp), %rax
movl 0x68(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x68(%rax)
jmp 0x3026
movq 0xd0(%rsp), %rdi
callq 0x4de0
jmp 0x322e
jmp 0x3230
movq 0xd0(%rsp), %rax
movl 0x68(%rax), %eax
movl 0x2ec(%rsp), %ecx
addl 0x2e8(%rsp), %ecx
cmpl %ecx, %eax
jae 0x3463
movq 0xd0(%rsp), %rdi
callq 0x34a0
jmp 0x3260
movq 0xd0(%rsp), %rdi
callq 0x3540
movsd %xmm0, 0x68(%rsp)
jmp 0x3275
movq 0xd0(%rsp), %rax
movsd 0x68(%rsp), %xmm0
addsd 0x118(%rax), %xmm0
movsd %xmm0, 0x118(%rax)
movq 0x120(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x120(%rax)
movl 0x68(%rax), %eax
andl $0x7f, %eax
cmpl $0x0, %eax
jne 0x32f5
movq 0xd0(%rsp), %rdi
callq 0x3660
movsd %xmm0, 0x60(%rsp)
jmp 0x32c5
movq 0xd0(%rsp), %rax
movsd 0x60(%rsp), %xmm0
addsd 0x108(%rax), %xmm0
movsd %xmm0, 0x108(%rax)
movq 0x110(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x110(%rax)
movq 0xd0(%rsp), %rax
movl 0x68(%rax), %eax
andl $0x3ff, %eax            # imm = 0x3FF
cmpl $0x0, %eax
jne 0x344b
movq 0xccdb(%rip), %rdi      # 0xfff0
leaq 0x7d75(%rip), %rsi      # 0xb091
callq 0x2190
movq %rax, 0x58(%rsp)
jmp 0x3328
movq 0x58(%rsp), %rdi
movq 0xd0(%rsp), %rax
movl 0x68(%rax), %esi
callq 0x2230
movq %rax, 0x50(%rsp)
jmp 0x3344
movq 0x50(%rsp), %rdi
movq 0xcc68(%rip), %rsi      # 0xffb8
callq 0x21d0
jmp 0x3357
movq 0xd0(%rsp), %rax
movl 0x68(%rax), %esi
leaq 0xe8(%rsp), %rdi
callq 0x2230
movq %rax, 0x48(%rsp)
jmp 0x3376
movq 0x48(%rsp), %rdi
movl $0x20, %esi
callq 0x2210
movq %rax, 0x40(%rsp)
jmp 0x338c
movq 0xd0(%rsp), %rdi
callq 0x3520
movl %eax, 0x3c(%rsp)
jmp 0x339f
movl 0x3c(%rsp), %esi
movq 0x40(%rsp), %rdi
callq 0x22d0
movq %rax, 0x30(%rsp)
jmp 0x33b4
movq 0x30(%rsp), %rdi
movl $0x20, %esi
callq 0x2210
movq %rax, 0x28(%rsp)
jmp 0x33ca
movq 0xd0(%rsp), %rdi
callq 0x3540
movsd %xmm0, 0x20(%rsp)
jmp 0x33df
movsd 0x20(%rsp), %xmm0
movq 0x28(%rsp), %rdi
callq 0x2300
movq %rax, 0x18(%rsp)
jmp 0x33f6
movq 0x18(%rsp), %rdi
movl $0x20, %esi
callq 0x2210
movq %rax, 0x10(%rsp)
jmp 0x340c
movq 0xd0(%rsp), %rdi
callq 0x3660
movsd %xmm0, 0x8(%rsp)
jmp 0x3421
movsd 0x8(%rsp), %xmm0
movq 0x10(%rsp), %rdi
callq 0x2300
movq %rax, (%rsp)
jmp 0x3437
movq (%rsp), %rdi
movq 0xcb76(%rip), %rsi      # 0xffb8
callq 0x21d0
jmp 0x3449
jmp 0x344b
jmp 0x344d
movq 0xd0(%rsp), %rax
movl 0x68(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x68(%rax)
jmp 0x3230
leaq 0xe8(%rsp), %rdi
callq 0x2260
jmp 0x3472
leaq 0xe8(%rsp), %rdi
callq 0x2290
addq $0x2f8, %rsp            # imm = 0x2F8
retq
movq 0xe0(%rsp), %rdi
callq 0x22e0
nopw %cs:(%rax,%rax)