// File: /workspace/github_cpp_makefile_star2_O1/grame-cncm[P]digraph/tests.cpp
// Function: test5(std::ostream&)
void test5(std::ostream& ss)
{
    digraph<char, int> g1, g2, g3;

    g1.add('A', 'Z', 0);
    g1.add('A', 'B', 0);
    g1.add('B', 'C', 0);
    g1.add('C', 'A', 1);

    g1.add('Z', 'W', 0);
    g1.add('W', 'Z', 1);

    g1.add('A', 'Z', 0);
    g1.add('W', 'C', 1);

    splitgraph<char>(
        g1, [](const char& c) { return c < 'K'; }, g2, g3);

    ss << "test5: g1 = " << g1 << "; g2 = " << g2 << "; g3 = " << g3;
}

// Assembly:
pushq %rbx
subq $0x60, %rsp
movq %rdi, %rbx
leaq 0x10(%rsp), %rdi
callq 0x14de0
leaq 0x30(%rsp), %rdi
callq 0x14de0
leaq 0x20(%rsp), %rdi
callq 0x14de0
leaq 0xb(%rsp), %rsi
movb $0x41, (%rsi)
leaq 0xa(%rsp), %rdx
movb $0x5a, (%rdx)
leaq 0xc(%rsp), %rcx
movl $0x0, (%rcx)
movq 0x10(%rsp), %rdi
callq 0x176e8
leaq 0xb(%rsp), %rsi
movb $0x41, (%rsi)
leaq 0xa(%rsp), %rdx
movb $0x42, (%rdx)
leaq 0xc(%rsp), %rcx
movl $0x0, (%rcx)
movq 0x10(%rsp), %rdi
callq 0x176e8
leaq 0xb(%rsp), %rsi
movb $0x42, (%rsi)
leaq 0xa(%rsp), %rdx
movb $0x43, (%rdx)
leaq 0xc(%rsp), %rcx
movl $0x0, (%rcx)
movq 0x10(%rsp), %rdi
callq 0x176e8
leaq 0xb(%rsp), %rsi
movb $0x43, (%rsi)
leaq 0xa(%rsp), %rdx
movb $0x41, (%rdx)
leaq 0xc(%rsp), %rcx
movl $0x1, (%rcx)
movq 0x10(%rsp), %rdi
callq 0x176e8
leaq 0xb(%rsp), %rsi
movb $0x5a, (%rsi)
leaq 0xa(%rsp), %rdx
movb $0x57, (%rdx)
leaq 0xc(%rsp), %rcx
movl $0x0, (%rcx)
movq 0x10(%rsp), %rdi
callq 0x176e8
leaq 0xb(%rsp), %rsi
movb $0x57, (%rsi)
leaq 0xa(%rsp), %rdx
movb $0x5a, (%rdx)
leaq 0xc(%rsp), %rcx
movl $0x1, (%rcx)
movq 0x10(%rsp), %rdi
callq 0x176e8
leaq 0xb(%rsp), %rsi
movb $0x41, (%rsi)
leaq 0xa(%rsp), %rdx
movb $0x5a, (%rdx)
leaq 0xc(%rsp), %rcx
movl $0x0, (%rcx)
movq 0x10(%rsp), %rdi
callq 0x176e8
leaq 0xb(%rsp), %rsi
movb $0x57, (%rsi)
leaq 0xa(%rsp), %rdx
movb $0x43, (%rdx)
leaq 0xc(%rsp), %rcx
movl $0x1, (%rcx)
movq 0x10(%rsp), %rdi
callq 0x176e8
xorps %xmm0, %xmm0
leaq 0x40(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x4470(%rip), %rax      # 0x14dc0
movq %rax, 0x18(%rsi)
leaq 0x446d(%rip), %rax      # 0x14dc8
movq %rax, 0x10(%rsi)
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
leaq 0x20(%rsp), %rcx
callq 0x15660
movq 0x50(%rsp), %rax
testq %rax, %rax
je 0x1098c
leaq 0x40(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq 0xc8e0(%rip), %rsi      # 0x1d273
movl $0xc, %edx
movq %rbx, %rdi
callq 0x21a0
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x14e31
movq %rax, %rbx
leaq 0xc8c9(%rip), %rsi      # 0x1d280
movl $0x7, %edx
movq %rax, %rdi
callq 0x21a0
leaq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x14e31
movq %rax, %rbx
leaq 0xc8ad(%rip), %rsi      # 0x1d288
movl $0x7, %edx
movq %rax, %rdi
callq 0x21a0
leaq 0x20(%rsp), %rsi
movq %rbx, %rdi
callq 0x14e31
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x10a04
callq 0x35d6
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x10a13
callq 0x35d6
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x10a22
callq 0x35d6
addq $0x60, %rsp
popq %rbx
retq
jmp 0x10a48
movq %rax, %rbx
movq 0x50(%rsp), %rax
testq %rax, %rax
je 0x10a6d
leaq 0x40(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x10a6d
movq %rax, %rdi
callq 0x329c
jmp 0x10a6a
jmp 0x10a6a
jmp 0x10a6a
jmp 0x10a6a
jmp 0x10a6a
jmp 0x10a6a
jmp 0x10a6a
jmp 0x10a6a
movq %rax, %rbx
jmp 0x10a7c
movq %rax, %rbx
jmp 0x10a8b
movq %rax, %rbx
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x10a7c
callq 0x35d6
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x10a8b
callq 0x35d6
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x10a9a
callq 0x35d6
movq %rbx, %rdi
callq 0x2250