// File: xnevs[P]bullimp/examples/../graph/ullimp_sub_graph_iso.hpp
// Function: ullimp::detail::UllImp<boost::adjacency_list<boost::setS, boost::vecS, boost::bidirectionalS, boost::no_property, Color, boost::no_property, boost::listS>, boost::adjacency_list<boost::setS, boost::vecS, boost::bidirectionalS, boost::no_property, Color, boost::no_property, boost::listS>, boost::vec_adj_list_vertex_id_map<boost::no_property, unsigned long>, boost::vec_adj_list_vertex_id_map<boost::no_property, unsigned long>, std::vector<unsigned long, std::allocator<unsigned long>>, main::$_0, boost::always_equivalent, main::$_1>::filter(unsigned long, unsigned long)
void filter(vertex_small_type row, vertex_large_type col) {
            for(auto u : succInNeigh[row]) {
                for(auto v : hh.notinneigh(col)) {
                    if(isoinv[v] == graph_traits<GraphSmall>::null_vertex()) {
                        map.annul(u, v);
                    }
                }
            }
            for(auto u : succOutNeigh[row]) {
                for(auto v : hh.notoutneigh(col)) {
                    if(isoinv[v] == graph_traits<GraphSmall>::null_vertex()) {
                        map.annul(u, v);
                    }
                }
            }
            for(auto v : hh.inneigh(col)) {
                for(auto u : succNotInNeigh[row]) {
                    map.annul(u, v);
                }
            }
            for(auto v : hh.outneigh(col)) {
                for(auto u : succNotOutNeigh[row]) {
                    map.annul(u, v);
                }
            }
/*
            BGL_FORALL_VERTICES_T(u, g, GraphSmall) {
                if(u != row) {
                    bool row_u = edge(row, u, g).second;
                    bool u_row = edge(u, row, g).second;
                    BGL_FORALL_VERTICES_T(v, h, GraphLarge) {
                        if(v != col && isoinv[v] == graph_traits<GraphSmall>::null_vertex()) {
                            bool col_v = edge(col, v, h).second;
                            bool v_col = edge(v, col, h).second;
                            if( row_u && !col_v) map.annul(u, v);
                            if( u_row && !v_col) map.annul(u, v);
                            if(!row_u &&  col_v) map.annul(u, v);
                            if(!u_row &&  v_col) map.annul(u, v);
                        }
                    }
                }
            }
*/
        }

// Assembly:
subq $0x138, %rsp            # imm = 0x138
movq %rdi, 0x130(%rsp)
movq %rsi, 0x128(%rsp)
movq %rdx, 0x120(%rsp)
movq 0x130(%rsp), %rdi
movq %rdi, 0x18(%rsp)
addq $0x398, %rdi            # imm = 0x398
movq 0x128(%rsp), %rsi
callq 0x101c0
movq %rax, 0x118(%rsp)
movq 0x118(%rsp), %rdi
callq 0x11370
movq %rax, 0x110(%rsp)
movq 0x118(%rsp), %rdi
callq 0x11d60
movq %rax, 0x108(%rsp)
leaq 0x110(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x12320
testb $0x1, %al
jne 0x50b0
jmp 0x51c5
leaq 0x110(%rsp), %rdi
callq 0x11af0
movq 0x18(%rsp), %rdi
movq (%rax), %rax
movq %rax, 0x100(%rsp)
addq $0x128, %rdi            # imm = 0x128
movq 0x120(%rsp), %rsi
callq 0x102d0
movq %rax, 0xf8(%rsp)
movq 0xf8(%rsp), %rdi
callq 0x10110
movq %rax, 0xf0(%rsp)
movq 0xf8(%rsp), %rdi
callq 0x10140
movq %rax, 0xe8(%rsp)
leaq 0xf0(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x10170
testb $0x1, %al
jne 0x5131
jmp 0x51b1
leaq 0xf0(%rsp), %rdi
callq 0x101b0
movq 0x18(%rsp), %rdi
movq (%rax), %rax
movq %rax, 0xe0(%rsp)
addq $0x2e8, %rdi            # imm = 0x2E8
movq 0xe0(%rsp), %rsi
callq 0x10070
movq (%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xb980
movq %rax, %rcx
movq 0x10(%rsp), %rax
cmpq %rcx, %rax
jne 0x519d
movq 0x18(%rsp), %rdi
addq $0x2f8, %rdi            # imm = 0x2F8
movq 0x100(%rsp), %rsi
movq 0xe0(%rsp), %rdx
callq 0x6180
jmp 0x519f
leaq 0xf0(%rsp), %rdi
callq 0x10280
jmp 0x5113
jmp 0x51b3
leaq 0x110(%rsp), %rdi
callq 0x11f20
jmp 0x5092
movq 0x18(%rsp), %rdi
addq $0x3a8, %rdi            # imm = 0x3A8
movq 0x128(%rsp), %rsi
callq 0x101c0
movq %rax, 0xd8(%rsp)
movq 0xd8(%rsp), %rdi
callq 0x11370
movq %rax, 0xd0(%rsp)
movq 0xd8(%rsp), %rdi
callq 0x11d60
movq %rax, 0xc8(%rsp)
leaq 0xd0(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x12320
testb $0x1, %al
jne 0x522e
jmp 0x5343
leaq 0xd0(%rsp), %rdi
callq 0x11af0
movq 0x18(%rsp), %rdi
movq (%rax), %rax
movq %rax, 0xc0(%rsp)
addq $0x128, %rdi            # imm = 0x128
movq 0x120(%rsp), %rsi
callq 0x10300
movq %rax, 0xb8(%rsp)
movq 0xb8(%rsp), %rdi
callq 0x10110
movq %rax, 0xb0(%rsp)
movq 0xb8(%rsp), %rdi
callq 0x10140
movq %rax, 0xa8(%rsp)
leaq 0xb0(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0x10170
testb $0x1, %al
jne 0x52af
jmp 0x532f
leaq 0xb0(%rsp), %rdi
callq 0x101b0
movq 0x18(%rsp), %rdi
movq (%rax), %rax
movq %rax, 0xa0(%rsp)
addq $0x2e8, %rdi            # imm = 0x2E8
movq 0xa0(%rsp), %rsi
callq 0x10070
movq (%rax), %rax
movq %rax, 0x8(%rsp)
callq 0xb980
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
jne 0x531b
movq 0x18(%rsp), %rdi
addq $0x2f8, %rdi            # imm = 0x2F8
movq 0xc0(%rsp), %rsi
movq 0xa0(%rsp), %rdx
callq 0x6180
jmp 0x531d
leaq 0xb0(%rsp), %rdi
callq 0x10280
jmp 0x5291
jmp 0x5331
leaq 0xd0(%rsp), %rdi
callq 0x11f20
jmp 0x5210
movq 0x18(%rsp), %rdi
addq $0x128, %rdi            # imm = 0x128
movq 0x120(%rsp), %rsi
callq 0x100e0
movq %rax, 0x98(%rsp)
movq 0x98(%rsp), %rdi
callq 0x10110
movq %rax, 0x90(%rsp)
movq 0x98(%rsp), %rdi
callq 0x10140
movq %rax, 0x88(%rsp)
leaq 0x90(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x10170
testb $0x1, %al
jne 0x53ac
jmp 0x5465
leaq 0x90(%rsp), %rdi
callq 0x101b0
movq 0x18(%rsp), %rdi
movq (%rax), %rax
movq %rax, 0x80(%rsp)
addq $0x3b8, %rdi            # imm = 0x3B8
movq 0x128(%rsp), %rsi
callq 0x101c0
movq %rax, 0x78(%rsp)
movq 0x78(%rsp), %rdi
callq 0x11370
movq %rax, 0x70(%rsp)
movq 0x78(%rsp), %rdi
callq 0x11d60
movq %rax, 0x68(%rsp)
leaq 0x70(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x12320
testb $0x1, %al
jne 0x5415
jmp 0x5451
leaq 0x70(%rsp), %rdi
callq 0x11af0
movq 0x18(%rsp), %rdi
movq (%rax), %rax
movq %rax, 0x60(%rsp)
addq $0x2f8, %rdi            # imm = 0x2F8
movq 0x60(%rsp), %rsi
movq 0x80(%rsp), %rdx
callq 0x6180
leaq 0x70(%rsp), %rdi
callq 0x11f20
jmp 0x5400
jmp 0x5453
leaq 0x90(%rsp), %rdi
callq 0x10280
jmp 0x538e
movq 0x18(%rsp), %rdi
addq $0x128, %rdi            # imm = 0x128
movq 0x120(%rsp), %rsi
callq 0x102a0
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rdi
callq 0x10110
movq %rax, 0x50(%rsp)
movq 0x58(%rsp), %rdi
callq 0x10140
movq %rax, 0x48(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x10170
testb $0x1, %al
jne 0x54b9
jmp 0x5566
leaq 0x50(%rsp), %rdi
callq 0x101b0
movq 0x18(%rsp), %rdi
movq (%rax), %rax
movq %rax, 0x40(%rsp)
addq $0x3c8, %rdi            # imm = 0x3C8
movq 0x128(%rsp), %rsi
callq 0x101c0
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rdi
callq 0x11370
movq %rax, 0x30(%rsp)
movq 0x38(%rsp), %rdi
callq 0x11d60
movq %rax, 0x28(%rsp)
leaq 0x30(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x12320
testb $0x1, %al
jne 0x551c
jmp 0x5555
leaq 0x30(%rsp), %rdi
callq 0x11af0
movq 0x18(%rsp), %rdi
movq (%rax), %rax
movq %rax, 0x20(%rsp)
addq $0x2f8, %rdi            # imm = 0x2F8
movq 0x20(%rsp), %rsi
movq 0x40(%rsp), %rdx
callq 0x6180
leaq 0x30(%rsp), %rdi
callq 0x11f20
jmp 0x5507
jmp 0x5557
leaq 0x50(%rsp), %rdi
callq 0x10280
jmp 0x54a1
addq $0x138, %rsp            # imm = 0x138
retq
nop