// File: /workspace/github_cpp_makefile_star2_O2/grame-cncm[P]digraph/mtests.cpp
// Function: mtest2[abi:cxx11]()
std::string mtest2()
{
    digraph<char, multidep> g;
    g.add('A', 'B', mdep("M", 2))
        .add('A', 'B', mdep("M", 1))
        .add('A', 'B', mdep("N", 0))
        .add('B', 'C', mdep("M"))
        .add('C', 'A', mdep("M"))
        .add('D', 'B', mdep("M"))
        .add('D', 'C', mdep("M"))
        .add('D', 'E', mdep("M"))
        .add('E', 'D', mdep("M"))
        .add('E', 'F', mdep("M"))
        .add('F', 'G', mdep("M"))
        .add('G', 'F', mdep("M"))
        .add('H', 'G', mdep("M"))
        .add('H', 'E', mdep("M"))
        .add('H', 'H', mdep("M"));

    std::stringstream ss;
    ss << "g = " << g;
    return ss.str();
}

// Assembly:
pushq %rbx
subq $0x6c0, %rsp            # imm = 0x6C0
movq %rdi, %rbx
leaq 0x28(%rsp), %rdi
callq 0x25fa
movb $0x41, 0x27(%rsp)
movb $0x42, 0x26(%rsp)
leaq 0xe406(%rip), %rsi      # 0x15004
leaq 0x208(%rsp), %rdi
leaq 0x47(%rsp), %rdx
callq 0x2080
leaq 0x538(%rsp), %rdi
leaq 0x208(%rsp), %rsi
pushq $0x2
popq %rdx
callq 0x8af4
movq 0x28(%rsp), %rdi
leaq 0x27(%rsp), %rsi
leaq 0x26(%rsp), %rdx
leaq 0x538(%rsp), %rcx
callq 0x340c
movb $0x41, 0x25(%rsp)
movb $0x42, 0x24(%rsp)
leaq 0xe3af(%rip), %rsi      # 0x15004
leaq 0x1e8(%rsp), %rdi
leaq 0x46(%rsp), %rdx
callq 0x2080
leaq 0x500(%rsp), %rdi
leaq 0x1e8(%rsp), %rsi
pushq $0x1
popq %rdx
callq 0x8af4
movq 0x28(%rsp), %rdi
leaq 0x25(%rsp), %rsi
leaq 0x24(%rsp), %rdx
leaq 0x500(%rsp), %rcx
callq 0x340c
movb $0x41, 0x23(%rsp)
movb $0x42, 0x22(%rsp)
leaq 0xe35a(%rip), %rsi      # 0x15006
leaq 0x1c8(%rsp), %rdi
leaq 0x45(%rsp), %rdx
callq 0x2080
leaq 0x4c8(%rsp), %rdi
leaq 0x1c8(%rsp), %rsi
xorl %edx, %edx
callq 0x8af4
movq 0x28(%rsp), %rdi
leaq 0x23(%rsp), %rsi
leaq 0x22(%rsp), %rdx
leaq 0x4c8(%rsp), %rcx
callq 0x340c
movb $0x42, 0x21(%rsp)
movb $0x43, 0x20(%rsp)
leaq 0xe302(%rip), %rsi      # 0x15004
leaq 0x1a8(%rsp), %rdi
leaq 0x44(%rsp), %rdx
callq 0x2080
leaq 0x490(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
callq 0x8a6a
movq 0x28(%rsp), %rdi
leaq 0x21(%rsp), %rsi
leaq 0x20(%rsp), %rdx
leaq 0x490(%rsp), %rcx
callq 0x340c
movb $0x43, 0x1f(%rsp)
movb $0x41, 0x1e(%rsp)
leaq 0xe2ae(%rip), %rsi      # 0x15004
leaq 0x188(%rsp), %rdi
leaq 0x43(%rsp), %rdx
callq 0x2080
leaq 0x458(%rsp), %rdi
leaq 0x188(%rsp), %rsi
callq 0x8a6a
movq 0x28(%rsp), %rdi
leaq 0x1f(%rsp), %rsi
leaq 0x1e(%rsp), %rdx
leaq 0x458(%rsp), %rcx
callq 0x340c
movb $0x44, 0x1d(%rsp)
movb $0x42, 0x1c(%rsp)
leaq 0xe25a(%rip), %rsi      # 0x15004
leaq 0x168(%rsp), %rdi
leaq 0x42(%rsp), %rdx
callq 0x2080
leaq 0x420(%rsp), %rdi
leaq 0x168(%rsp), %rsi
callq 0x8a6a
movq 0x28(%rsp), %rdi
leaq 0x1d(%rsp), %rsi
leaq 0x1c(%rsp), %rdx
leaq 0x420(%rsp), %rcx
callq 0x340c
movb $0x44, 0x1b(%rsp)
movb $0x43, 0x1a(%rsp)
leaq 0xe206(%rip), %rsi      # 0x15004
leaq 0x148(%rsp), %rdi
leaq 0x41(%rsp), %rdx
callq 0x2080
leaq 0x3e8(%rsp), %rdi
leaq 0x148(%rsp), %rsi
callq 0x8a6a
movq 0x28(%rsp), %rdi
leaq 0x1b(%rsp), %rsi
leaq 0x1a(%rsp), %rdx
leaq 0x3e8(%rsp), %rcx
callq 0x340c
movb $0x44, 0x19(%rsp)
movb $0x45, 0x18(%rsp)
leaq 0xe1b2(%rip), %rsi      # 0x15004
leaq 0x128(%rsp), %rdi
leaq 0x40(%rsp), %rdx
callq 0x2080
leaq 0x3b0(%rsp), %rdi
leaq 0x128(%rsp), %rsi
callq 0x8a6a
movq 0x28(%rsp), %rdi
leaq 0x19(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0x3b0(%rsp), %rcx
callq 0x340c
movb $0x45, 0x17(%rsp)
movb $0x44, 0x16(%rsp)
leaq 0xe15e(%rip), %rsi      # 0x15004
leaq 0x108(%rsp), %rdi
leaq 0x3f(%rsp), %rdx
callq 0x2080
leaq 0x378(%rsp), %rdi
leaq 0x108(%rsp), %rsi
callq 0x8a6a
movq 0x28(%rsp), %rdi
leaq 0x17(%rsp), %rsi
leaq 0x16(%rsp), %rdx
leaq 0x378(%rsp), %rcx
callq 0x340c
movb $0x45, 0x15(%rsp)
movb $0x46, 0x14(%rsp)
leaq 0xe10a(%rip), %rsi      # 0x15004
leaq 0xe8(%rsp), %rdi
leaq 0x3e(%rsp), %rdx
callq 0x2080
leaq 0x340(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x8a6a
movq 0x28(%rsp), %rdi
leaq 0x15(%rsp), %rsi
leaq 0x14(%rsp), %rdx
leaq 0x340(%rsp), %rcx
callq 0x340c
movb $0x46, 0x13(%rsp)
movb $0x47, 0x12(%rsp)
leaq 0xe0b6(%rip), %rsi      # 0x15004
leaq 0xc8(%rsp), %rdi
leaq 0x3d(%rsp), %rdx
callq 0x2080
leaq 0x308(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x8a6a
movq 0x28(%rsp), %rdi
leaq 0x13(%rsp), %rsi
leaq 0x12(%rsp), %rdx
leaq 0x308(%rsp), %rcx
callq 0x340c
movb $0x47, 0x11(%rsp)
movb $0x46, 0x10(%rsp)
leaq 0xe062(%rip), %rsi      # 0x15004
leaq 0xa8(%rsp), %rdi
leaq 0x3c(%rsp), %rdx
callq 0x2080
leaq 0x2d0(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0x8a6a
movq 0x28(%rsp), %rdi
leaq 0x11(%rsp), %rsi
leaq 0x10(%rsp), %rdx
leaq 0x2d0(%rsp), %rcx
callq 0x340c
movb $0x48, 0xf(%rsp)
movb $0x47, 0xe(%rsp)
leaq 0xe00e(%rip), %rsi      # 0x15004
leaq 0x88(%rsp), %rdi
leaq 0x3b(%rsp), %rdx
callq 0x2080
leaq 0x298(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x8a6a
movq 0x28(%rsp), %rdi
leaq 0xf(%rsp), %rsi
leaq 0xe(%rsp), %rdx
leaq 0x298(%rsp), %rcx
callq 0x340c
movb $0x48, 0xd(%rsp)
movb $0x45, 0xc(%rsp)
leaq 0xdfba(%rip), %rsi      # 0x15004
leaq 0x68(%rsp), %rdi
leaq 0x3a(%rsp), %rdx
callq 0x2080
leaq 0x260(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x8a6a
movq 0x28(%rsp), %rdi
leaq 0xd(%rsp), %rsi
leaq 0xc(%rsp), %rdx
leaq 0x260(%rsp), %rcx
callq 0x340c
movb $0x48, %al
movb %al, 0xb(%rsp)
movb %al, 0xa(%rsp)
leaq 0xdf6c(%rip), %rsi      # 0x15004
leaq 0x48(%rsp), %rdi
leaq 0x39(%rsp), %rdx
callq 0x2080
leaq 0x228(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x8a6a
movq 0x28(%rsp), %rdi
leaq 0xb(%rsp), %rsi
leaq 0xa(%rsp), %rdx
leaq 0x228(%rsp), %rcx
callq 0x340c
leaq 0x228(%rsp), %rdi
callq 0x2ee8
leaq 0x48(%rsp), %rdi
callq 0x20a0
leaq 0x260(%rsp), %rdi
callq 0x2ee8
leaq 0x68(%rsp), %rdi
callq 0x20a0
leaq 0x298(%rsp), %rdi
callq 0x2ee8
leaq 0x88(%rsp), %rdi
callq 0x20a0
leaq 0x2d0(%rsp), %rdi
callq 0x2ee8
leaq 0xa8(%rsp), %rdi
callq 0x20a0
leaq 0x308(%rsp), %rdi
callq 0x2ee8
leaq 0xc8(%rsp), %rdi
callq 0x20a0
leaq 0x340(%rsp), %rdi
callq 0x2ee8
leaq 0xe8(%rsp), %rdi
callq 0x20a0
leaq 0x378(%rsp), %rdi
callq 0x2ee8
leaq 0x108(%rsp), %rdi
callq 0x20a0
leaq 0x3b0(%rsp), %rdi
callq 0x2ee8
leaq 0x128(%rsp), %rdi
callq 0x20a0
leaq 0x3e8(%rsp), %rdi
callq 0x2ee8
leaq 0x148(%rsp), %rdi
callq 0x20a0
leaq 0x420(%rsp), %rdi
callq 0x2ee8
leaq 0x168(%rsp), %rdi
callq 0x20a0
leaq 0x458(%rsp), %rdi
callq 0x2ee8
leaq 0x188(%rsp), %rdi
callq 0x20a0
leaq 0x490(%rsp), %rdi
callq 0x2ee8
leaq 0x1a8(%rsp), %rdi
callq 0x20a0
leaq 0x4c8(%rsp), %rdi
callq 0x2ee8
leaq 0x1c8(%rsp), %rdi
callq 0x20a0
leaq 0x500(%rsp), %rdi
callq 0x2ee8
leaq 0x1e8(%rsp), %rdi
callq 0x20a0
leaq 0x538(%rsp), %rdi
callq 0x2ee8
leaq 0x208(%rsp), %rdi
callq 0x20a0
leaq 0x538(%rsp), %rdi
callq 0x20e0
leaq 0x548(%rsp), %rdi
leaq 0xf08c(%rip), %rsi      # 0x162fd
callq 0x2140
leaq 0x28(%rsp), %rsi
movq %rax, %rdi
callq 0x2690
leaq 0x550(%rsp), %rsi
movq %rbx, %rdi
callq 0x21e0
leaq 0x538(%rsp), %rdi
callq 0x20f0
leaq 0x30(%rsp), %rdi
callq 0x2efc
movq %rbx, %rax
addq $0x6c0, %rsp            # imm = 0x6C0
popq %rbx
retq
jmp 0x7542
movq %rax, %rbx
leaq 0x228(%rsp), %rdi
callq 0x2ee8
jmp 0x72d0
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x20a0
jmp 0x72e1
jmp 0x72de
movq %rax, %rbx
leaq 0x260(%rsp), %rdi
callq 0x2ee8
jmp 0x72f3
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x20a0
jmp 0x7304
jmp 0x7301
movq %rax, %rbx
leaq 0x298(%rsp), %rdi
callq 0x2ee8
leaq 0x88(%rsp), %rdi
callq 0x20a0
jmp 0x732a
movq %rax, %rbx
jmp 0x7311
jmp 0x7327
movq %rax, %rbx
leaq 0x2d0(%rsp), %rdi
callq 0x2ee8
leaq 0xa8(%rsp), %rdi
callq 0x20a0
leaq 0x308(%rsp), %rdi
callq 0x2ee8
leaq 0xc8(%rsp), %rdi
callq 0x20a0
leaq 0x340(%rsp), %rdi
callq 0x2ee8
leaq 0xe8(%rsp), %rdi
callq 0x20a0
leaq 0x378(%rsp), %rdi
callq 0x2ee8
leaq 0x108(%rsp), %rdi
callq 0x20a0
leaq 0x3b0(%rsp), %rdi
callq 0x2ee8
leaq 0x128(%rsp), %rdi
callq 0x20a0
leaq 0x3e8(%rsp), %rdi
callq 0x2ee8
leaq 0x148(%rsp), %rdi
callq 0x20a0
leaq 0x420(%rsp), %rdi
callq 0x2ee8
leaq 0x168(%rsp), %rdi
callq 0x20a0
leaq 0x458(%rsp), %rdi
callq 0x2ee8
leaq 0x188(%rsp), %rdi
callq 0x20a0
leaq 0x490(%rsp), %rdi
callq 0x2ee8
leaq 0x1a8(%rsp), %rdi
callq 0x20a0
leaq 0x4c8(%rsp), %rdi
callq 0x2ee8
leaq 0x1c8(%rsp), %rdi
callq 0x20a0
leaq 0x500(%rsp), %rdi
callq 0x2ee8
leaq 0x1e8(%rsp), %rdi
callq 0x20a0
leaq 0x538(%rsp), %rdi
callq 0x2ee8
leaq 0x208(%rsp), %rdi
callq 0x20a0
leaq 0x30(%rsp), %rdi
callq 0x2efc
movq %rbx, %rdi
callq 0x2220
movq %rax, %rbx
jmp 0x7337
jmp 0x747e
movq %rax, %rbx
jmp 0x7344
movq %rax, %rbx
jmp 0x7351
jmp 0x7490
movq %rax, %rbx
jmp 0x735e
movq %rax, %rbx
jmp 0x736b
jmp 0x74a2
movq %rax, %rbx
jmp 0x7378
movq %rax, %rbx
jmp 0x7385
jmp 0x74b4
movq %rax, %rbx
jmp 0x7392
movq %rax, %rbx
jmp 0x739f
jmp 0x74c6
movq %rax, %rbx
jmp 0x73ac
movq %rax, %rbx
jmp 0x73b9
jmp 0x74d8
movq %rax, %rbx
jmp 0x73c6
movq %rax, %rbx
jmp 0x73d3
jmp 0x74ea
movq %rax, %rbx
jmp 0x73e0
movq %rax, %rbx
jmp 0x73ed
jmp 0x74fc
movq %rax, %rbx
jmp 0x73fa
movq %rax, %rbx
jmp 0x7407
jmp 0x750e
movq %rax, %rbx
jmp 0x7414
movq %rax, %rbx
jmp 0x7421
jmp 0x7520
movq %rax, %rbx
jmp 0x742e
movq %rax, %rbx
jmp 0x743b
jmp 0x7532
movq %rax, %rbx
jmp 0x7448
movq %rax, %rbx
jmp 0x7455
movq %rax, %rbx
jmp 0x7462
movq %rax, %rbx
leaq 0x538(%rsp), %rdi
callq 0x20f0
jmp 0x7462