// File: grame-cncm[P]digraph/tests.cpp
// Function: check3()
bool check3()
{
    std::stringstream ss;
    test3(ss);
    bool ok = (0 == ss.str().compare(res3()));
    if (ok) {
        std::cout << "test3 OK " << std::endl;
    } else {
        std::cout << "test3 FAIL " << std::endl;
        std::cout << "We got     \"" << ss.str() << '"' << std::endl;
        std::cout << "instead of \"" << res3() << '"' << std::endl;
    }
    return ok;
}

// Assembly:
subq $0x268, %rsp            # imm = 0x268
leaq 0xe0(%rsp), %rdi
callq 0x2110
leaq 0xf0(%rsp), %rdi
callq 0x1de70
jmp 0x1e4c3
leaq 0xb0(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x2170
jmp 0x1e4da
leaq 0x90(%rsp), %rdi
callq 0x1e420
jmp 0x1e4e9
leaq 0xb0(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x2030
movl %eax, 0x4c(%rsp)
jmp 0x1e504
movl 0x4c(%rsp), %ecx
xorl %eax, %eax
cmpl %ecx, %eax
sete %al
movb %al, 0x4b(%rsp)
leaq 0x90(%rsp), %rdi
callq 0x20e0
leaq 0xb0(%rsp), %rdi
callq 0x20e0
movb 0x4b(%rsp), %al
andb $0x1, %al
movb %al, 0xd3(%rsp)
testb $0x1, 0xd3(%rsp)
je 0x1e5dc
movq 0x37a81(%rip), %rdi     # 0x55fd0
leaq 0x1fca9(%rip), %rsi     # 0x3e1ff
callq 0x2180
movq %rax, 0x40(%rsp)
jmp 0x1e562
movq 0x40(%rsp), %rdi
movq 0x37a4a(%rip), %rsi     # 0x55fb8
callq 0x21b0
jmp 0x1e575
jmp 0x1e731
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
jmp 0x1e757
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
jmp 0x1e5ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0x90(%rsp), %rdi
callq 0x20e0
leaq 0xb0(%rsp), %rdi
callq 0x20e0
jmp 0x1e757
movq 0x379ed(%rip), %rdi     # 0x55fd0
leaq 0x1fc1f(%rip), %rsi     # 0x3e209
callq 0x2180
movq %rax, 0x38(%rsp)
jmp 0x1e5f6
movq 0x38(%rsp), %rdi
movq 0x379b6(%rip), %rsi     # 0x55fb8
callq 0x21b0
jmp 0x1e609
movq 0x379c0(%rip), %rdi     # 0x55fd0
leaq 0x1fbfe(%rip), %rsi     # 0x3e215
callq 0x2180
movq %rax, 0x30(%rsp)
jmp 0x1e623
leaq 0x70(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0x2170
jmp 0x1e637
movq 0x30(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x2150
movq %rax, 0x28(%rsp)
jmp 0x1e64d
movq 0x28(%rsp), %rdi
movl $0x22, %esi
callq 0x21e0
movq %rax, 0x20(%rsp)
jmp 0x1e663
movq 0x20(%rsp), %rdi
movq 0x37949(%rip), %rsi     # 0x55fb8
callq 0x21b0
jmp 0x1e676
leaq 0x70(%rsp), %rdi
callq 0x20e0
movq 0x37949(%rip), %rdi     # 0x55fd0
leaq 0x1fb94(%rip), %rsi     # 0x3e222
callq 0x2180
movq %rax, 0x18(%rsp)
jmp 0x1e69a
leaq 0x50(%rsp), %rdi
callq 0x1e420
jmp 0x1e6a6
movq 0x18(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x2150
movq %rax, 0x10(%rsp)
jmp 0x1e6bc
movq 0x10(%rsp), %rdi
movl $0x22, %esi
callq 0x21e0
movq %rax, 0x8(%rsp)
jmp 0x1e6d2
movq 0x8(%rsp), %rdi
movq 0x378da(%rip), %rsi     # 0x55fb8
callq 0x21b0
jmp 0x1e6e5
leaq 0x50(%rsp), %rdi
callq 0x20e0
jmp 0x1e731
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0x70(%rsp), %rdi
callq 0x20e0
jmp 0x1e757
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0x50(%rsp), %rdi
callq 0x20e0
jmp 0x1e757
movb 0xd3(%rsp), %al
movb %al, 0x7(%rsp)
leaq 0xe0(%rsp), %rdi
callq 0x2120
movb 0x7(%rsp), %al
andb $0x1, %al
addq $0x268, %rsp            # imm = 0x268
retq
leaq 0xe0(%rsp), %rdi
callq 0x2120
movq 0xd8(%rsp), %rdi
callq 0x2290
nopw %cs:(%rax,%rax)