// File: /workspace/github_cpp_makefile_star2_O2/grame-cncm[P]digraph/tests.cpp
// Function: check10()
bool check10()
{
    digraph<char, int> g;
    g.add('A', 'B', 0)
        .add('B', 'C', 1)
        .add('C', 'A', 0)
        .add('D', 'B', 0)
        .add('D', 'C', 0)
        .add('D', 'E', 1)
        .add('E', 'D', 0)
        .add('E', 'F', 0)
        .add('F', 'G', 0)
        .add('G', 'F', 1)
        .add('H', 'G', 0)
        .add('H', 'E', 0)
        .add('H', 'H', 1);

    digraph<char, int> r = reverse(reverse(g));
    if (equiv(g, r)) {
        std::cout << "test10 OK " << std::endl;
        return true;
    } else {
        std::cout << "test10 FAIL " << std::endl;
        std::cout << "We got      " << r << std::endl;
        std::cout << "Instead of  " << g << std::endl;
        return false;
    }
}

// Assembly:
pushq %rbx
subq $0x80, %rsp
movq %rsp, %rbx
movq %rbx, %rdi
callq 0xe2d6
leaq 0x2f(%rsp), %rsi
movb $0x41, (%rsi)
leaq 0x2e(%rsp), %rdx
movb $0x42, (%rdx)
leaq 0x30(%rsp), %rcx
andl $0x0, (%rcx)
movq (%rbx), %rdi
callq 0x102c4
leaq 0x2d(%rsp), %rsi
movb $0x42, (%rsi)
leaq 0x2c(%rsp), %rdx
movb $0x43, (%rdx)
leaq 0x40(%rsp), %rcx
movl $0x1, (%rcx)
movq (%rsp), %rdi
callq 0x102c4
leaq 0x2b(%rsp), %rsi
movb $0x43, (%rsi)
leaq 0x2a(%rsp), %rdx
movb $0x41, (%rdx)
leaq 0x7c(%rsp), %rcx
andl $0x0, (%rcx)
movq (%rsp), %rdi
callq 0x102c4
leaq 0x29(%rsp), %rsi
movb $0x44, (%rsi)
leaq 0x28(%rsp), %rdx
movb $0x42, (%rdx)
leaq 0x78(%rsp), %rcx
andl $0x0, (%rcx)
movq (%rsp), %rdi
callq 0x102c4
leaq 0x27(%rsp), %rsi
movb $0x44, (%rsi)
leaq 0x26(%rsp), %rdx
movb $0x43, (%rdx)
leaq 0x74(%rsp), %rcx
andl $0x0, (%rcx)
movq (%rsp), %rdi
callq 0x102c4
leaq 0x25(%rsp), %rsi
movb $0x44, (%rsi)
leaq 0x24(%rsp), %rdx
movb $0x45, (%rdx)
leaq 0x70(%rsp), %rcx
movl $0x1, (%rcx)
movq (%rsp), %rdi
callq 0x102c4
leaq 0x23(%rsp), %rsi
movb $0x45, (%rsi)
leaq 0x22(%rsp), %rdx
movb $0x44, (%rdx)
leaq 0x6c(%rsp), %rcx
andl $0x0, (%rcx)
movq (%rsp), %rdi
callq 0x102c4
leaq 0x21(%rsp), %rsi
movb $0x45, (%rsi)
leaq 0x20(%rsp), %rdx
movb $0x46, (%rdx)
leaq 0x68(%rsp), %rcx
andl $0x0, (%rcx)
movq (%rsp), %rdi
callq 0x102c4
leaq 0x1f(%rsp), %rsi
movb $0x46, (%rsi)
leaq 0x1e(%rsp), %rdx
movb $0x47, (%rdx)
leaq 0x64(%rsp), %rcx
andl $0x0, (%rcx)
movq (%rsp), %rdi
callq 0x102c4
leaq 0x1d(%rsp), %rsi
movb $0x47, (%rsi)
leaq 0x1c(%rsp), %rdx
movb $0x46, (%rdx)
leaq 0x60(%rsp), %rcx
movl $0x1, (%rcx)
movq (%rsp), %rdi
callq 0x102c4
leaq 0x1b(%rsp), %rsi
movb $0x48, (%rsi)
leaq 0x1a(%rsp), %rdx
movb $0x47, (%rdx)
leaq 0x5c(%rsp), %rcx
andl $0x0, (%rcx)
movq (%rsp), %rdi
callq 0x102c4
leaq 0x19(%rsp), %rsi
movb $0x48, (%rsi)
leaq 0x18(%rsp), %rdx
movb $0x45, (%rdx)
leaq 0x58(%rsp), %rcx
andl $0x0, (%rcx)
movq (%rsp), %rdi
callq 0x102c4
movb $0x48, %al
leaq 0x17(%rsp), %rsi
movb %al, (%rsi)
leaq 0x16(%rsp), %rdx
movb %al, (%rdx)
leaq 0x54(%rsp), %rcx
movl $0x1, (%rcx)
movq (%rsp), %rdi
callq 0x102c4
leaq 0x40(%rsp), %rdi
movq %rsp, %rsi
callq 0xf691
leaq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0xf691
leaq 0x48(%rsp), %rdi
callq 0x2efc
movq %rsp, %rdi
leaq 0x30(%rsp), %rsi
callq 0xf742
movl %eax, %ebx
testb %al, %al
je 0xcdc5
movq 0x16219(%rip), %rdi     # 0x22fd0
leaq 0x9c6e(%rip), %rsi      # 0x16a2c
callq 0x2140
jmp 0xce26
movq 0x16204(%rip), %rdi     # 0x22fd0
leaq 0x9c64(%rip), %rsi      # 0x16a37
callq 0x2140
movq %rax, %rdi
callq 0x20b0
movq 0x161e9(%rip), %rdi     # 0x22fd0
leaq 0x9c56(%rip), %rsi      # 0x16a44
callq 0x2140
leaq 0x30(%rsp), %rsi
movq %rax, %rdi
callq 0xe313
movq %rax, %rdi
callq 0x20b0
movq 0x161c1(%rip), %rdi     # 0x22fd0
leaq 0x9c3b(%rip), %rsi      # 0x16a51
callq 0x2140
movq %rsp, %rsi
movq %rax, %rdi
callq 0xe313
movq %rax, %rdi
callq 0x20b0
leaq 0x38(%rsp), %rdi
callq 0x2efc
leaq 0x8(%rsp), %rdi
callq 0x2efc
movl %ebx, %eax
addq $0x80, %rsp
popq %rbx
retq
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
jmp 0xce7e
jmp 0xce71
jmp 0xce71
jmp 0xce71
jmp 0xce71
jmp 0xce71
jmp 0xce71
jmp 0xce71
jmp 0xce71
jmp 0xce71
jmp 0xce71
jmp 0xce71
jmp 0xce71
jmp 0xce71
movq %rax, %rbx
jmp 0xce83
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x2efc
leaq 0x8(%rsp), %rdi
callq 0x2efc
movq %rbx, %rdi
callq 0x2220