// File: /workspace/github_cpp_makefile_star2_O2/sharmaeklavya2[P]ddos-on-anycast/src/lib/network.cpp
// Function: Network::print(_IO_FILE*, bool) const
void Network::print(FILE* fp, bool print_virtual) const {
    for(int u=0; u<size(); ++u) {
        if(print_virtual || netsize[u] == 0) {
            fprintf(fp, "%d:\n  nid: %d, netsize: %d, depth: %d,\n", u, nid[u], netsize[u], depth[u]);
            fprintf(fp, "  in_nbrs: ");
            print_icont(fp, in_nbrs[u], ", ", "[", "],\n");
            fprintf(fp, "  side_nbrs: ");
            print_icont(fp, side_nbrs[u], ", ", "[", "],\n");
            fprintf(fp, "  up_nbrs: ");
            print_icont(fp, up_nbrs[u], ", ", "[", "],\n");
            fprintf(fp, "  down_nbrs: ");
            print_icont(fp, down_nbrs[u], ", ", "[", "]\n");
        }
    }
    fprintf(fp, "depthwise:\n");
    for(size_t i=0; i<depthwise.size(); ++i) {
        fprintf(fp, "  %zd: ", i);
        print_icont(fp, depthwise[i], ", ", "[", "]\n");
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, 0x4(%rsp)
movq %rsi, %rbx
movq %rdi, %r14
xorl %r15d, %r15d
xorl %ebp, %ebp
movq 0x18(%r14), %rax
movq 0x20(%r14), %rcx
subq %rax, %rcx
shrq $0x2, %rcx
movslq %ecx, %rcx
cmpq %rcx, %rbp
jge 0x2b9c
movl (%rax,%rbp,4), %r8d
cmpb $0x0, 0x4(%rsp)
jne 0x2a96
testl %r8d, %r8d
jne 0x2b90
xorl %r8d, %r8d
movq (%r14), %rax
movq 0x30(%r14), %rdx
movl (%rax,%rbp,4), %ecx
movl (%rdx,%rbp,4), %r9d
movq %rbx, %rdi
leaq 0x8649(%rip), %rsi      # 0xb0f7
movl %ebp, %edx
xorl %eax, %eax
callq 0x2180
leaq 0x8661(%rip), %rdi      # 0xb11f
pushq $0xb
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x2210
movq 0x48(%r14), %rsi
addq %r15, %rsi
movq %rbx, %rdi
leaq 0x864e(%rip), %r13      # 0xb12b
movq %r13, %rdx
leaq 0x8a37(%rip), %rcx      # 0xb51e
leaq 0x8640(%rip), %r8       # 0xb12e
callq 0x34ea
leaq 0x8638(%rip), %rdi      # 0xb132
pushq $0xd
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x2210
movq 0x60(%r14), %rsi
addq %r15, %rsi
movq %rbx, %rdi
movq %r13, %rdx
leaq 0x8a02(%rip), %r12      # 0xb51e
movq %r12, %rcx
leaq 0x8608(%rip), %r8       # 0xb12e
callq 0x34ea
leaq 0x860e(%rip), %rdi      # 0xb140
pushq $0xb
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x2210
movq 0x78(%r14), %rsi
addq %r15, %rsi
movq %rbx, %rdi
movq %r13, %rdx
movq %r12, %rcx
leaq 0x85d7(%rip), %r8       # 0xb12e
callq 0x34ea
leaq 0x85e9(%rip), %rdi      # 0xb14c
pushq $0xd
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x2210
movq 0x90(%r14), %rsi
addq %r15, %rsi
movq %rbx, %rdi
movq %r13, %rdx
movq %r12, %rcx
leaq 0x85cf(%rip), %r8       # 0xb15a
callq 0x34ea
incq %rbp
addq $0x18, %r15
jmp 0x2a64
leaq 0x85ba(%rip), %rdi      # 0xb15d
pushq $0xb
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x2210
leaq 0x8966(%rip), %r13      # 0xb51e
leaq 0x859b(%rip), %rbp      # 0xb15a
xorl %r12d, %r12d
xorl %r15d, %r15d
movq 0xb0(%r14), %rax
subq 0xa8(%r14), %rax
cqto
pushq $0x18
popq %rcx
idivq %rcx
cmpq %rax, %r15
jae 0x2c1c
movq %rbx, %rdi
leaq 0x857f(%rip), %rsi      # 0xb169
movq %r15, %rdx
xorl %eax, %eax
callq 0x2180
movq 0xa8(%r14), %rsi
addq %r12, %rsi
movq %rbx, %rdi
leaq 0x8523(%rip), %rdx      # 0xb12b
movq %r13, %rcx
movq %rbp, %r8
callq 0x34ea
incq %r15
addq $0x18, %r12
jmp 0x2bc5
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq