// File: /workspace/github_cpp_makefile_star2_O3/dtsaras[P]GCW/rwgraph.cpp
// Function: Graph::Graph(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, bool, bool, float, float)
Graph::Graph(string dataset, int m, bool s, bool rand_edges, float mu, float sigma){
    model = m;
    sim = s;
    if (model == 0){
        readGraph_LT(dataset, rand_edges, mu, sigma);
        LT_node.resize(getSize() + 1);
    }
    else
        readGraph_IC(dataset, rand_edges, mu, sigma);
    sfmt_init_gen_rand(&sfmtSeed, rand());
    A = new multimap<double, int>[getSize() + 1];
    similarities.resize(getSize() + 1);
    numEvents = 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movss %xmm1, 0x8(%rsp)
movss %xmm0, 0x14(%rsp)
movl %r8d, %ebp
movq %rdi, %rbx
xorl %eax, %eax
movq %rax, 0xa48(%rdi)
movl $0x0, 0xa50(%rdi)
movq %rax, 0xa58(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x9d8(%rdi)
movups %xmm0, 0x9e8(%rdi)
movups %xmm0, 0x9f8(%rdi)
movups %xmm0, 0xa08(%rdi)
movups %xmm0, 0xa18(%rdi)
movups %xmm0, 0xa28(%rdi)
movups %xmm0, 0xa34(%rdi)
movl $0xffffffff, 0xa64(%rdi) # imm = 0xFFFFFFFF
movq $-0x1, 0xa68(%rdi)
leaq 0xab8(%rdi), %r14
leaq 0xae0(%rdi), %r15
movups %xmm0, 0xae0(%rdi)
movq %rax, 0xaf0(%rdi)
movups %xmm0, 0xb00(%rdi)
movq %rax, 0xb10(%rdi)
movups %xmm0, 0xac0(%rdi)
movups %xmm0, 0xab0(%rdi)
movups %xmm0, 0xaa0(%rdi)
movups %xmm0, 0xa90(%rdi)
movups %xmm0, 0xa80(%rdi)
movups %xmm0, 0xa70(%rdi)
movl %edx, 0xa60(%rdi)
movb %cl, 0xb20(%rdi)
testl %edx, %edx
je 0xd945
leaq 0x28(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rsi), %rax
movq 0x8(%rsi), %rdx
addq %rax, %rdx
leaq 0x18(%rsp), %rdi
movq %rax, %rsi
callq 0xb15c
movzbl %bpl, %edx
leaq 0x18(%rsp), %rsi
movq %rbx, %rdi
movss 0x14(%rsp), %xmm0
movss 0x8(%rsp), %xmm1
callq 0xdfc6
movq 0x18(%rsp), %rdi
cmpq %r13, %rdi
je 0xd9a3
callq 0x3340
jmp 0xd9a3
leaq 0x48(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rsi), %rax
movq 0x8(%rsi), %rdx
addq %rax, %rdx
leaq 0x38(%rsp), %rdi
movq %rax, %rsi
callq 0xb15c
movzbl %bpl, %edx
leaq 0x38(%rsp), %rsi
movq %rbx, %rdi
movss 0x14(%rsp), %xmm0
movss 0x8(%rsp), %xmm1
callq 0xdb28
movq 0x38(%rsp), %rdi
cmpq %r13, %rdi
je 0xd991
callq 0x3340
movslq 0x9c8(%rbx), %rsi
incq %rsi
movq %r14, %rdi
callq 0x125f2
callq 0x30e0
movq %rbx, %rdi
movl %eax, %esi
callq 0x16911
movl 0x9c8(%rbx), %eax
incl %eax
movslq %eax, %r12
movl $0x30, %ecx
movq %r12, %rax
mulq %rcx
seto %cl
orq $0x8, %rax
movq $-0x1, %rdi
testb %cl, %cl
cmoveq %rax, %rdi
callq 0x3030
movq %r12, (%rax)
leaq 0x8(%rax), %rcx
testl %r12d, %r12d
je 0xda1e
addq $0x10, %rax
movq %r12, %rdx
shlq $0x4, %rdx
leaq (%rdx,%rdx,2), %rdx
xorl %esi, %esi
movl $0x0, (%rax)
movq %rsi, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
movq %rsi, 0x20(%rax)
addq $0x30, %rax
addq $-0x30, %rdx
jne 0xd9fe
movq %rcx, 0xaf8(%rbx)
movq %r15, %rdi
movq %r12, %rsi
callq 0x12624
movl $0x0, 0x9d0(%rbx)
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rdi
jmp 0xda5f
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rdi
cmpq %r13, %rdi
je 0xda70
callq 0x3340
jmp 0xda70
movq %rax, 0x8(%rsp)
leaq 0xb00(%rbx), %rax
movq (%rax), %rdi
testq %rdi, %rdi
je 0xda84
callq 0x3340
leaq 0xa70(%rbx), %r12
leaq 0xa88(%rbx), %r13
leaq 0xaa0(%rbx), %rbp
movq %r15, %rdi
callq 0x126a6
movq (%r14), %rdi
testq %rdi, %rdi
je 0xdaae
callq 0x3340
leaq 0xa38(%rbx), %r14
movq %rbp, %rdi
callq 0x126ec
movq %r13, %rdi
callq 0xad82
movq (%r12), %rdi
testq %rdi, %rdi
je 0xdad3
callq 0x3340
movq %r14, %rdi
callq 0xb344
leaq 0x9d8(%rbx), %r14
movq 0xa20(%rbx), %rdi
testq %rdi, %rdi
je 0xdaf3
callq 0x3340
leaq 0xa08(%rbx), %rdi
addq $0x9f0, %rbx            # imm = 0x9F0
callq 0x126ec
movq %rbx, %rdi
callq 0x126ec
movq %r14, %rdi
callq 0xad82
movq 0x8(%rsp), %rdi
callq 0x35c0
movq %rax, %rdi
callq 0xad76