// File: oknenavin[P]cxon/test/src/json/json.node-diff.cxx
// Function: test::kind::diff_native(std::vector<test::test, std::allocator<test::test>>&)
int diff_native(cases& cases) {
        int err = 0;

            char const*const prefix = "json.native.";

            for (auto& c : cases) {
                auto i = native::executors_.find(c.source.substr(c.source.rfind('/') + 1));
                if (i == native::executors_.end()) {
                    c.flag = true, c.error = "unknown format or unsupported with this C++ standard version";
                    continue;
                }
                else
                    err += i->second(c, prefix);
            }
            std::size_t fc = 0;
                for (auto& c : cases) {
                    if (!c.error.empty()) {
                        std::fprintf(stderr, "%s:\n\tfailed: %s\n", c.source.c_str(), c.error.c_str()), std::fflush(stderr);
                        if (!c.flag) ++fc;
                    }
                }
            if (!fc) {
                for (auto& c : cases) {
                    if (c.flag) continue;
                    std::fprintf(stdout, "%s %s ", (prefix + name(c.source) + ".(0).json").c_str(), (prefix + name(c.source) + ".(1).json").c_str()), std::fflush(stdout);
                }
                std::fputc('\n', stdout);
            }
            else {
                std::fprintf(stdout, "%-21s: %zu of %4zu failed\n", "cxon/json/node/diff", fc, cases.size()), std::fflush(stdout);
            }

        return err;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1e0, %rsp            # imm = 0x1E0
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
leaq 0x23859a(%rip), %rax    # 0x248d57
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0x118a0
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rdi
callq 0x118d0
movq %rax, -0x30(%rbp)
leaq -0x28(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x11900
testb $0x1, %al
jne 0x107f9
jmp 0x10908
leaq -0x28(%rbp), %rdi
callq 0x11940
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
movq %rdi, -0x1a0(%rbp)
movl $0x2f, %esi
movq $-0x1, %rdx
movq %rdx, -0x198(%rbp)
callq 0xf2e0
movq -0x1a0(%rbp), %rsi
movq -0x198(%rbp), %rcx
movq %rax, %rdx
incq %rdx
leaq -0x60(%rbp), %rdi
movq %rdi, -0x190(%rbp)
callq 0xf630
movq -0x190(%rbp), %rsi
leaq 0x333f2d(%rip), %rdi    # 0x344788
callq 0x182c0
movq %rax, -0x188(%rbp)
jmp 0x10869
movq -0x188(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq -0x60(%rbp), %rdi
callq 0xf490
leaq 0x333f04(%rip), %rdi    # 0x344788
callq 0x18320
movq %rax, -0x78(%rbp)
leaq -0x40(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x182f0
testb $0x1, %al
jne 0x108a0
jmp 0x108d8
movq -0x38(%rbp), %rax
movb $0x1, 0x78(%rax)
movq -0x38(%rbp), %rdi
addq $0x58, %rdi
leaq 0x2384ad(%rip), %rsi    # 0x248d64
callq 0xf2b0
jmp 0x108fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0xf490
jmp 0x10d04
leaq -0x40(%rbp), %rdi
callq 0x18350
movq 0x20(%rax), %rax
movq -0x38(%rbp), %rdi
leaq 0x238467(%rip), %rsi    # 0x248d57
callq *%rax
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
jmp 0x108fa
leaq -0x28(%rbp), %rdi
callq 0x12270
jmp 0x107e3
movq $0x0, -0x80(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rdi
callq 0x118a0
movq %rax, -0x90(%rbp)
movq -0x88(%rbp), %rdi
callq 0x118d0
movq %rax, -0x98(%rbp)
leaq -0x90(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x11900
testb $0x1, %al
jne 0x1095d
jmp 0x10a14
leaq -0x90(%rbp), %rdi
callq 0x11940
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rdi
addq $0x58, %rdi
callq 0xf210
testb $0x1, %al
jne 0x10a01
movq 0x33363d(%rip), %rax    # 0x343fc8
movq (%rax), %rax
movq %rax, -0x1b0(%rbp)
movq -0xa0(%rbp), %rdi
callq 0xf0f0
movq %rax, -0x1a8(%rbp)
movq -0xa0(%rbp), %rdi
addq $0x58, %rdi
callq 0xf0f0
movq -0x1b0(%rbp), %rdi
movq -0x1a8(%rbp), %rdx
movq %rax, %rcx
leaq 0x238293(%rip), %rsi    # 0x248c63
movb $0x0, %al
callq 0xf1a0
movq 0x3335ea(%rip), %rax    # 0x343fc8
movq (%rax), %rdi
callq 0xf360
movq -0xa0(%rbp), %rax
testb $0x1, 0x78(%rax)
jne 0x109ff
movq -0x80(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x80(%rbp)
jmp 0x10a01
jmp 0x10a03
leaq -0x90(%rbp), %rdi
callq 0x12270
jmp 0x10941
cmpq $0x0, -0x80(%rbp)
jne 0x10c9e
movq -0x8(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rdi
callq 0x118a0
movq %rax, -0xb0(%rbp)
movq -0xa8(%rbp), %rdi
callq 0x118d0
movq %rax, -0xb8(%rbp)
leaq -0xb0(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x11900
testb $0x1, %al
jne 0x10a6c
jmp 0x10c88
leaq -0xb0(%rbp), %rdi
callq 0x11940
movq %rax, -0xc0(%rbp)
movq -0xc0(%rbp), %rax
testb $0x1, 0x78(%rax)
je 0x10a91
jmp 0x10bd8
movq 0x333528(%rip), %rax    # 0x343fc0
movq (%rax), %rax
movq %rax, -0x1c0(%rbp)
movq -0xc0(%rbp), %rsi
leaq -0x120(%rbp), %rdi
movq %rdi, -0x1b8(%rbp)
callq 0x106f0
movq -0x1b8(%rbp), %rdx
leaq 0x23828d(%rip), %rsi    # 0x248d57
leaq -0x100(%rbp), %rdi
callq 0x122e0
jmp 0x10ad8
leaq 0x23819c(%rip), %rdx    # 0x248c7b
leaq -0xe0(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x12290
jmp 0x10af4
leaq -0xe0(%rbp), %rdi
callq 0xf0f0
movq %rax, -0x1c8(%rbp)
movq -0xc0(%rbp), %rsi
leaq -0x180(%rbp), %rdi
callq 0x106f0
jmp 0x10b1c
leaq 0x238234(%rip), %rsi    # 0x248d57
leaq -0x160(%rbp), %rdi
leaq -0x180(%rbp), %rdx
callq 0x122e0
jmp 0x10b38
leaq 0x238146(%rip), %rdx    # 0x248c85
leaq -0x140(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0x12290
jmp 0x10b54
leaq -0x140(%rbp), %rdi
callq 0xf0f0
movq -0x1c0(%rbp), %rdi
movq -0x1c8(%rbp), %rdx
movq %rax, %rcx
leaq 0x2380fc(%rip), %rsi    # 0x248c74
xorl %eax, %eax
callq 0xf1a0
movq 0x33343a(%rip), %rax    # 0x343fc0
movq (%rax), %rdi
callq 0xf360
jmp 0x10b90
leaq -0x140(%rbp), %rdi
callq 0xf490
leaq -0x160(%rbp), %rdi
callq 0xf490
leaq -0x180(%rbp), %rdi
callq 0xf490
leaq -0xe0(%rbp), %rdi
callq 0xf490
leaq -0x100(%rbp), %rdi
callq 0xf490
leaq -0x120(%rbp), %rdi
callq 0xf490
leaq -0xb0(%rbp), %rdi
callq 0x12270
jmp 0x10a50
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x10c7a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x10c6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x10c62
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x10c56
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x10c4a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x140(%rbp), %rdi
callq 0xf490
leaq -0x160(%rbp), %rdi
callq 0xf490
leaq -0x180(%rbp), %rdi
callq 0xf490
leaq -0xe0(%rbp), %rdi
callq 0xf490
leaq -0x100(%rbp), %rdi
callq 0xf490
leaq -0x120(%rbp), %rdi
callq 0xf490
jmp 0x10d04
movq 0x333331(%rip), %rax    # 0x343fc0
movq (%rax), %rsi
movl $0xa, %edi
callq 0xf550
jmp 0x10cf8
movq 0x33331b(%rip), %rax    # 0x343fc0
movq (%rax), %rax
movq %rax, -0x1d8(%rbp)
movq -0x80(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movq -0x8(%rbp), %rdi
callq 0x12330
movq -0x1d8(%rbp), %rdi
movq -0x1d0(%rbp), %rcx
movq %rax, %r8
leaq 0x237fb4(%rip), %rsi    # 0x248c8f
leaq 0x237fc8(%rip), %rdx    # 0x248caa
movb $0x0, %al
callq 0xf1a0
movq 0x3332d0(%rip), %rax    # 0x343fc0
movq (%rax), %rdi
callq 0xf360
movl -0xc(%rbp), %eax
addq $0x1e0, %rsp            # imm = 0x1E0
popq %rbp
retq
movq -0x68(%rbp), %rdi
callq 0xf410
nopl (%rax)