// File: dtsaras[P]GCW/rwgraph.cpp
// Function: Graph::rand_graph(float, float)
void Graph::rand_graph(float m, float s){
    default_random_engine generator;
    normal_distribution<float> distribution(m, s);
    float rand;
    int v;
    for (int i = 1; i <= numNodes; i++){
        probabilities[i].resize(node_deg[i]);
        for (int j = 0; j < node_deg[i]; j++){
            rand = distribution(generator);
            if (rand < 0)
                rand = 0;
            else if (rand > 1)
                rand = 1;
            probabilities[i][j] = rand;
            v = adjList[i][j];
            weights[v].push_back(rand);
        }
    }

    for (int i = 1; i <= numNodes; i++){
        weights[i].resize(inv_node_deg[i]);
    }
}

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x60(%rsp)
movss %xmm0, 0x5c(%rsp)
movss %xmm1, 0x58(%rsp)
movq 0x60(%rsp), %rax
movq %rax, 0x20(%rsp)
leaq 0x50(%rsp), %rdi
callq 0x24920
movss 0x5c(%rsp), %xmm0
movss 0x58(%rsp), %xmm1
leaq 0x40(%rsp), %rdi
callq 0x24940
movl $0x1, 0x34(%rsp)
movq 0x20(%rsp), %rcx
movl 0x34(%rsp), %eax
cmpl 0x9c8(%rcx), %eax
ja 0x1f4d3
movq 0x20(%rsp), %rdi
addq $0x9f0, %rdi            # imm = 0x9F0
movslq 0x34(%rsp), %rsi
callq 0x24890
movq 0x20(%rsp), %rdi
movq %rax, 0x18(%rsp)
addq $0xa20, %rdi            # imm = 0xA20
movslq 0x34(%rsp), %rsi
callq 0xe3b0
movq 0x18(%rsp), %rdi
movslq (%rax), %rsi
callq 0x244a0
movl $0x0, 0x30(%rsp)
movq 0x20(%rsp), %rdi
movl 0x30(%rsp), %eax
movl %eax, 0x14(%rsp)
addq $0xa20, %rdi            # imm = 0xA20
movslq 0x34(%rsp), %rsi
callq 0xe3b0
movq %rax, %rcx
movl 0x14(%rsp), %eax
cmpl (%rcx), %eax
jge 0x1f4c1
leaq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x24990
movss %xmm0, 0x3c(%rsp)
xorps %xmm0, %xmm0
ucomiss 0x3c(%rsp), %xmm0
jbe 0x1f409
xorps %xmm0, %xmm0
movss %xmm0, 0x3c(%rsp)
jmp 0x1f42c
movss 0x3c(%rsp), %xmm0
movss 0x12c35(%rip), %xmm1    # 0x3204c
ucomiss %xmm1, %xmm0
jbe 0x1f42a
movss 0x12c28(%rip), %xmm0    # 0x3204c
movss %xmm0, 0x3c(%rsp)
jmp 0x1f42c
movq 0x20(%rsp), %rdi
movss 0x3c(%rsp), %xmm0
movss %xmm0, 0x10(%rsp)
addq $0x9f0, %rdi            # imm = 0x9F0
movslq 0x34(%rsp), %rsi
callq 0x24890
movq %rax, %rdi
movslq 0x30(%rsp), %rsi
callq 0xf1a0
movss 0x10(%rsp), %xmm0
movq 0x20(%rsp), %rdi
movss %xmm0, (%rax)
addq $0x9d8, %rdi            # imm = 0x9D8
movslq 0x34(%rsp), %rsi
callq 0x24850
movq %rax, %rdi
movslq 0x30(%rsp), %rsi
callq 0xe3b0
movq 0x20(%rsp), %rdi
movl (%rax), %eax
movl %eax, 0x38(%rsp)
addq $0xaa0, %rdi            # imm = 0xAA0
movslq 0x38(%rsp), %rsi
callq 0x24890
movq %rax, %rdi
leaq 0x3c(%rsp), %rsi
callq 0x249c0
movl 0x30(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x30(%rsp)
jmp 0x1f3b2
jmp 0x1f4c3
movl 0x34(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x34(%rsp)
jmp 0x1f357
movl $0x1, 0x2c(%rsp)
movq 0x20(%rsp), %rcx
movl 0x2c(%rsp), %eax
cmpl 0x9c8(%rcx), %eax
ja 0x1f537
movq 0x20(%rsp), %rdi
addq $0xaa0, %rdi            # imm = 0xAA0
movslq 0x2c(%rsp), %rsi
callq 0x24890
movq 0x20(%rsp), %rdi
movq %rax, 0x8(%rsp)
addq $0xa70, %rdi            # imm = 0xA70
movslq 0x2c(%rsp), %rsi
callq 0xe3b0
movq 0x8(%rsp), %rdi
movslq (%rax), %rsi
callq 0x244a0
movl 0x2c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2c(%rsp)
jmp 0x1f4db
addq $0x68, %rsp
retq
nopl (%rax)