// File: /workspace/github_cpp_makefile_star2_O3/kulpreet[P]lightning-network-graph-analysis/src/readgraph_test.cpp
// Function: Degrees::degrees_invoker()
BOOST_AUTO_TEST_CASE(degrees) {
  vector<Degree> expected_in = boost::assign::list_of(1)(1)(2);
  vector<Degree> expected_out = boost::assign::list_of(2)(1)(1);
  vector<Degree> expected_total = boost::assign::list_of(3)(2)(3);

  vector<Degree> in_degrees, out_degrees, degrees;
  get_degrees(in_degrees, out_degrees, degrees, g);
  BOOST_TEST(in_degrees == expected_in, tt::per_element());
  BOOST_TEST(out_degrees == expected_out, tt::per_element());
  BOOST_TEST(degrees == expected_total, tt::per_element());
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x298, %rsp            # imm = 0x298
movq 0x21e5e(%rip), %rbx     # 0x2b348
leaq 0x13d0c(%rip), %r12     # 0x1d1fd
movq %r12, 0x68(%rsp)
leaq 0x13d16(%rip), %r13     # 0x1d213
movq %r13, 0x70(%rsp)
leaq 0xb0(%rsp), %r14
movl $0x198, %edx            # imm = 0x198
movq %r14, %rdi
xorl %esi, %esi
callq 0x7190
movq %r14, %rdi
callq 0x7380
leaq 0x238(%rsp), %r15
movq %r15, -0x10(%r15)
movq $0x0, -0x8(%r15)
movb $0x0, (%r15)
leaq 0x78(%rsp), %rsi
movb $0x22, (%rsi)
movl $0x1, %edx
movq %r14, %rdi
callq 0x7310
leaq 0x13cbf(%rip), %rsi     # 0x1d214
leaq 0xb0(%rsp), %rdi
movl $0x7, %edx
callq 0x7310
leaq 0x13cfe(%rip), %rsi     # 0x1d26c
leaq 0xb0(%rsp), %rdi
movl $0xe, %edx
callq 0x7310
leaq 0xb8(%rsp), %rsi
leaq 0x78(%rsp), %rdi
callq 0x7430
leaq 0x228(%rsp), %rdi
leaq 0x78(%rsp), %r14
movq %r14, %rsi
callq 0x7350
movq (%r14), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x95c7
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x72a0
movq 0x228(%rsp), %rax
leaq 0x288(%rsp), %rcx
movq %rax, (%rcx)
addq 0x230(%rsp), %rax
movq %rax, 0x8(%rcx)
leaq 0x68(%rsp), %rsi
movl $0x31, %edx
movq %rbx, %rdi
callq 0x7550
movq 0x228(%rsp), %rdi
cmpq %r15, %rdi
je 0x9615
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x72a0
movq 0x21984(%rip), %rsi     # 0x2afa0
leaq 0xb0(%rsp), %rdi
callq 0x7170
leaq 0x120(%rsp), %rdi
callq 0x70e0
leaq 0x78(%rsp), %rdi
callq 0xad52
movq 0x21d01(%rip), %rbx     # 0x2b348
movq %r12, 0x58(%rsp)
movq %r13, 0x60(%rsp)
leaq 0xb0(%rsp), %r14
movl $0x198, %edx            # imm = 0x198
movq %r14, %rdi
xorl %esi, %esi
callq 0x7190
movq %r14, %rdi
callq 0x7380
leaq 0xb0(%rsp), %rdi
movq %r15, 0x178(%rdi)
movq $0x0, 0x180(%rdi)
movb $0x0, 0x188(%rdi)
leaq 0x8(%rsp), %rsi
movb $0x22, (%rsi)
movl $0x1, %edx
callq 0x7310
leaq 0x13b6a(%rip), %rsi     # 0x1d214
leaq 0xb0(%rsp), %rdi
movl $0x7, %edx
callq 0x7310
leaq 0x13bb8(%rip), %rsi     # 0x1d27b
leaq 0xb0(%rsp), %rdi
movl $0xf, %edx
callq 0x7310
leaq 0xb8(%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x7430
leaq 0x228(%rsp), %rdi
leaq 0x8(%rsp), %r14
movq %r14, %rsi
callq 0x7350
movq (%r14), %rdi
leaq 0x18(%rsp), %rbp
cmpq %rbp, %rdi
je 0x9716
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72a0
movq 0x228(%rsp), %rax
leaq 0x278(%rsp), %rcx
movq %rax, (%rcx)
addq 0x230(%rsp), %rax
movq %rax, 0x8(%rcx)
leaq 0x58(%rsp), %rsi
movl $0x31, %edx
movq %rbx, %rdi
callq 0x7550
movq 0x228(%rsp), %rdi
cmpq %r15, %rdi
je 0x9764
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x72a0
movq 0x21835(%rip), %rsi     # 0x2afa0
leaq 0xb0(%rsp), %rdi
callq 0x7170
leaq 0x120(%rsp), %rdi
callq 0x70e0
movq 0x21bbc(%rip), %rbx     # 0x2b348
movq %r12, 0x48(%rsp)
movq %r13, 0x50(%rsp)
leaq 0xb0(%rsp), %r14
movl $0x198, %edx            # imm = 0x198
movq %r14, %rdi
xorl %esi, %esi
callq 0x7190
movq %r14, %rdi
callq 0x7380
leaq 0xb0(%rsp), %rdi
movq %r15, 0x178(%rdi)
movq $0x0, 0x180(%rdi)
movb $0x0, 0x188(%rdi)
leaq 0x8(%rsp), %rsi
movb $0x22, (%rsi)
movl $0x1, %edx
callq 0x7310
leaq 0x13a25(%rip), %rsi     # 0x1d214
leaq 0xb0(%rsp), %rdi
movl $0x7, %edx
callq 0x7310
leaq 0x13a83(%rip), %rsi     # 0x1d28b
leaq 0xb0(%rsp), %rdi
movl $0xc, %edx
callq 0x7310
leaq 0xb8(%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x7430
leaq 0x228(%rsp), %rdi
leaq 0x8(%rsp), %r14
movq %r14, %rsi
callq 0x7350
movq (%r14), %rdi
cmpq %rbp, %rdi
je 0x9856
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72a0
movq 0x228(%rsp), %rax
leaq 0x268(%rsp), %rcx
movq %rax, (%rcx)
addq 0x230(%rsp), %rax
movq %rax, 0x8(%rcx)
leaq 0x48(%rsp), %rsi
movl $0x31, %edx
movq %rbx, %rdi
callq 0x7550
movq 0x228(%rsp), %rdi
cmpq %r15, %rdi
je 0x98a4
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x72a0
movq 0x216f5(%rip), %rsi     # 0x2afa0
leaq 0xb0(%rsp), %rdi
callq 0x7170
leaq 0x120(%rsp), %rdi
callq 0x70e0
leaq 0x78(%rsp), %rdi
callq 0x9bb2
movq 0x21a72(%rip), %rbx     # 0x2b348
movq %r12, 0x38(%rsp)
movq %r13, 0x40(%rsp)
leaq 0xb0(%rsp), %r14
movl $0x198, %edx            # imm = 0x198
movq %r14, %rdi
xorl %esi, %esi
callq 0x7190
movq %r14, %rdi
callq 0x7380
leaq 0xb0(%rsp), %rdi
movq %r15, 0x178(%rdi)
movq $0x0, 0x180(%rdi)
movb $0x0, 0x188(%rdi)
leaq 0x8(%rsp), %rsi
movb $0x22, (%rsi)
movl $0x1, %edx
callq 0x7310
leaq 0x138db(%rip), %rsi     # 0x1d214
leaq 0xb0(%rsp), %rdi
movl $0x7, %edx
callq 0x7310
leaq 0x13946(%rip), %rsi     # 0x1d298
leaq 0xb0(%rsp), %rdi
movl $0x12, %edx
callq 0x7310
leaq 0xb8(%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x7430
leaq 0x228(%rsp), %rdi
leaq 0x8(%rsp), %r14
movq %r14, %rsi
callq 0x7350
movq (%r14), %rdi
cmpq %rbp, %rdi
je 0x99a0
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72a0
movq 0x228(%rsp), %rax
leaq 0x258(%rsp), %rcx
movq %rax, (%rcx)
addq 0x230(%rsp), %rax
movq %rax, 0x8(%rcx)
leaq 0x38(%rsp), %rsi
movl $0x31, %edx
movq %rbx, %rdi
callq 0x7550
movq 0x228(%rsp), %rdi
cmpq %r15, %rdi
je 0x99ee
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x72a0
movq 0x215ab(%rip), %rsi     # 0x2afa0
leaq 0xb0(%rsp), %rdi
callq 0x7170
leaq 0x120(%rsp), %rdi
callq 0x70e0
movq 0x21932(%rip), %rbx     # 0x2b348
movq %r12, 0x28(%rsp)
movq %r13, 0x30(%rsp)
leaq 0xb0(%rsp), %r14
movl $0x198, %edx            # imm = 0x198
movq %r14, %rdi
xorl %esi, %esi
callq 0x7190
movq %r14, %rdi
callq 0x7380
leaq 0xb0(%rsp), %rdi
movq %r15, 0x178(%rdi)
movq $0x0, 0x180(%rdi)
movb $0x0, 0x188(%rdi)
leaq 0x8(%rsp), %rsi
movb $0x22, (%rsi)
movl $0x1, %edx
callq 0x7310
leaq 0x1379b(%rip), %rsi     # 0x1d214
leaq 0xb0(%rsp), %rdi
movl $0x7, %edx
callq 0x7310
leaq 0x13819(%rip), %rsi     # 0x1d2ab
leaq 0xb0(%rsp), %rdi
movl $0xe, %edx
callq 0x7310
leaq 0xb8(%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x7430
leaq 0x228(%rsp), %rdi
leaq 0x8(%rsp), %r14
movq %r14, %rsi
callq 0x7350
movq (%r14), %rdi
cmpq %rbp, %rdi
je 0x9ae0
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x72a0
movq 0x228(%rsp), %rax
leaq 0x248(%rsp), %rcx
movq %rax, (%rcx)
addq 0x230(%rsp), %rax
movq %rax, 0x8(%rcx)
leaq 0x28(%rsp), %rsi
movl $0x31, %edx
movq %rbx, %rdi
callq 0x7550
movq 0x228(%rsp), %rdi
cmpq %r15, %rdi
je 0x9b2e
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x72a0
movq 0x2146b(%rip), %rsi     # 0x2afa0
leaq 0xb0(%rsp), %rdi
callq 0x7170
leaq 0x120(%rsp), %rdi
callq 0x70e0
leaq 0x78(%rsp), %rdi
callq 0xaca0
addq $0x298, %rsp            # imm = 0x298
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x9b73
jmp 0x9b73
jmp 0x9b73
jmp 0x9b73
movq %rax, %rbx
jmp 0x9b8e
jmp 0x9b7e
jmp 0x9b7e
jmp 0x9b7e
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0xac62
leaq 0x78(%rsp), %rdi
callq 0xaca0
movq %rbx, %rdi
callq 0x74e0
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0xac62
jmp 0x9b98