// File: /workspace/github_cpp_makefile_star2_O3/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 0x14ee8
leaq 0x30(%rsp), %rdi
callq 0x14ee8
leaq 0x20(%rsp), %rdi
callq 0x14ee8
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 0x1781e
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 0x1781e
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 0x1781e
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 0x1781e
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 0x1781e
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 0x1781e
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 0x1781e
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 0x1781e
xorps %xmm0, %xmm0
leaq 0x40(%rsp), %rsi
movaps %xmm0, (%rsi)
leaq 0x46f6(%rip), %rax      # 0x14ec8
movq %rax, 0x18(%rsi)
leaq 0x46f3(%rip), %rax      # 0x14ed0
movq %rax, 0x10(%rsi)
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
leaq 0x20(%rsp), %rcx
callq 0x15766
movq 0x50(%rsp), %rax
testq %rax, %rax
je 0x1080e
leaq 0x40(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq 0xca5e(%rip), %rsi      # 0x1d273
movl $0xc, %edx
movq %rbx, %rdi
callq 0x21a0
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x14f39
movq %rax, %rbx
leaq 0xca47(%rip), %rsi      # 0x1d280
movl $0x7, %edx
movq %rax, %rdi
callq 0x21a0
leaq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x14f39
movq %rax, %rbx
leaq 0xca2b(%rip), %rsi      # 0x1d288
movl $0x7, %edx
movq %rax, %rdi
callq 0x21a0
leaq 0x20(%rsp), %rsi
movq %rbx, %rdi
callq 0x14f39
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x10886
callq 0x3504
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x10895
callq 0x3504
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x108a4
callq 0x3504
addq $0x60, %rsp
popq %rbx
retq
jmp 0x108ca
movq %rax, %rbx
movq 0x50(%rsp), %rax
testq %rax, %rax
je 0x108ef
leaq 0x40(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x108ef
movq %rax, %rdi
callq 0x31c5
jmp 0x108ec
jmp 0x108ec
jmp 0x108ec
jmp 0x108ec
jmp 0x108ec
jmp 0x108ec
jmp 0x108ec
jmp 0x108ec
movq %rax, %rbx
jmp 0x108fe
movq %rax, %rbx
jmp 0x1090d
movq %rax, %rbx
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x108fe
callq 0x3504
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x1090d
callq 0x3504
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x1091c
callq 0x3504
movq %rbx, %rdi
callq 0x2250