// File: /workspace/github_cpp_makefile_star2_O2/xnevs[P]bullimp/examples/../graph/ullimp_order.hpp
// Function: int ullimp::detail::clustering1<boost::adjacency_list<boost::setS, boost::vecS, boost::bidirectionalS, boost::no_property, Color, boost::no_property, boost::listS>>(boost::graph_traits<boost::adjacency_list<boost::setS, boost::vecS, boost::bidirectionalS, boost::no_property, Color, boost::no_property, boost::listS>>::vertex_descriptor, boost::adjacency_list<boost::setS, boost::vecS, boost::bidirectionalS, boost::no_property, Color, boost::no_property, boost::listS> const&)
int clustering1(typename boost::graph_traits<Graph>::vertex_descriptor u, Graph const & g) {
    using namespace boost;

    int c = 0;
    BGL_FORALL_ADJ_T(u, w, g, Graph) {
        BGL_FORALL_ADJ_T(w, r, g, Graph) {
            if(edge(r, u, g).second || edge(u, r, g).second) 
                ++c;
        }
        BGL_FORALL_INV_ADJ_T(w, r, g, Graph) {
            if(edge(r, u, g).second || edge(u, r, g).second) 
                ++c;
        }
    }
    BGL_FORALL_INV_ADJ_T(u, w, g, Graph) {
        BGL_FORALL_ADJ_T(w, r, g, Graph) {
            if(edge(r, u, g).second || edge(u, r, g).second) 
                ++c;
        }
        BGL_FORALL_INV_ADJ_T(w, r, g, Graph) {
            if(edge(r, u, g).second || edge(u, r, g).second) 
                ++c;
        }
    }
    return c;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq 0x18(%rsi), %rax
imulq $0x68, %rdi, %rcx
movq %rsi, %rbx
movq %rdi, %r14
xorl %ebp, %ebp
movq %rcx, 0x20(%rsp)
leaq 0x8(%rax,%rcx), %rcx
movq 0x10(%rcx), %rax
movq %rcx, 0x8(%rsp)
cmpq %rcx, %rax
je 0x48ec
cmpq %rcx, %rax
je 0x48e4
movq %rax, 0x18(%rsp)
imulq $0x68, 0x20(%rax), %rax
movq 0x18(%rbx), %rcx
leaq 0x8(%rcx,%rax), %r15
movq %rax, 0x10(%rsp)
movq 0x10(%r15), %r13
cmpq %r15, %r13
je 0x4868
cmpq %r15, %r13
je 0x4863
movq 0x20(%r13), %r12
leaq 0x48(%rsp), %rdi
movq %r14, %rdx
movq %rbx, %rcx
movq %r12, %rsi
callq 0x4ca9
cmpb $0x0, 0x60(%rsp)
jne 0x4854
leaq 0x28(%rsp), %rdi
movq %r14, %rsi
movq %r12, %rdx
movq %rbx, %rcx
callq 0x4ca9
cmpb $0x0, 0x40(%rsp)
je 0x4856
incl %ebp
movq %r13, %rdi
callq 0x2150
movq %rax, %r13
jmp 0x4817
movq %r15, %r13
jmp 0x4812
movq 0x18(%rbx), %rax
movq 0x10(%rsp), %rcx
leaq 0x38(%rax,%rcx), %r15
movq 0x10(%r15), %r13
cmpq %r15, %r13
je 0x48d0
cmpq %r15, %r13
je 0x48cb
movq 0x20(%r13), %r12
leaq 0x48(%rsp), %rdi
movq %r14, %rdx
movq %rbx, %rcx
movq %r12, %rsi
callq 0x4ca9
cmpb $0x0, 0x60(%rsp)
jne 0x48bc
leaq 0x28(%rsp), %rdi
movq %r14, %rsi
movq %r12, %rdx
movq %rbx, %rcx
callq 0x4ca9
cmpb $0x0, 0x40(%rsp)
je 0x48be
incl %ebp
movq %r13, %rdi
callq 0x2150
movq %rax, %r13
jmp 0x487f
movq %r15, %r13
jmp 0x487a
movq 0x18(%rsp), %rdi
callq 0x2150
movq 0x8(%rsp), %rcx
jmp 0x47ed
movq %rcx, %rax
jmp 0x47e4
movq 0x18(%rbx), %rax
movq 0x20(%rsp), %rcx
leaq 0x38(%rax,%rcx), %rcx
movq 0x10(%rcx), %rax
movq %rcx, 0x8(%rsp)
cmpq %rcx, %rax
je 0x4a0b
cmpq %rcx, %rax
je 0x4a03
movq %rax, 0x18(%rsp)
imulq $0x68, 0x20(%rax), %rax
movq 0x18(%rbx), %rcx
leaq 0x8(%rcx,%rax), %r15
movq %rax, 0x10(%rsp)
movq 0x10(%r15), %r13
cmpq %r15, %r13
je 0x4987
cmpq %r15, %r13
je 0x4982
movq 0x20(%r13), %r12
leaq 0x48(%rsp), %rdi
movq %r14, %rdx
movq %rbx, %rcx
movq %r12, %rsi
callq 0x4ca9
cmpb $0x0, 0x60(%rsp)
jne 0x4973
leaq 0x28(%rsp), %rdi
movq %r14, %rsi
movq %r12, %rdx
movq %rbx, %rcx
callq 0x4ca9
cmpb $0x0, 0x40(%rsp)
je 0x4975
incl %ebp
movq %r13, %rdi
callq 0x2150
movq %rax, %r13
jmp 0x4936
movq %r15, %r13
jmp 0x4931
movq 0x18(%rbx), %rax
movq 0x10(%rsp), %rcx
leaq 0x38(%rax,%rcx), %r15
movq 0x10(%r15), %r13
cmpq %r15, %r13
je 0x49ef
cmpq %r15, %r13
je 0x49ea
movq 0x20(%r13), %r12
leaq 0x48(%rsp), %rdi
movq %r14, %rdx
movq %rbx, %rcx
movq %r12, %rsi
callq 0x4ca9
cmpb $0x0, 0x60(%rsp)
jne 0x49db
leaq 0x28(%rsp), %rdi
movq %r14, %rsi
movq %r12, %rdx
movq %rbx, %rcx
callq 0x4ca9
cmpb $0x0, 0x40(%rsp)
je 0x49dd
incl %ebp
movq %r13, %rdi
callq 0x2150
movq %rax, %r13
jmp 0x499e
movq %r15, %r13
jmp 0x4999
movq 0x18(%rsp), %rdi
callq 0x2150
movq 0x8(%rsp), %rcx
jmp 0x490c
movq %rcx, %rax
jmp 0x4903
movl %ebp, %eax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq