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

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

            for (auto& c : cases) {
                err += diff<node>(c, prefix);
            }
            std::size_t fc = 0;
                for (auto& c : cases) {
                    if (!c.error.empty()) {
                        ++fc, std::fprintf(stderr, "%s:\n\tfailed: %s\n", c.source.c_str(), c.error.c_str()), std::fflush(stderr);
                    }
                }
            if (!fc) {
                for (auto& c : cases) {
                    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 $0x190, %rsp            # imm = 0x190
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
leaq 0x23899b(%rip), %rax    # 0x248c58
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 0x102f6
jmp 0x10324
leaq -0x28(%rbp), %rdi
callq 0x11940
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rdi
leaq 0x23894a(%rip), %rsi    # 0x248c58
callq 0x11960
addl -0xc(%rbp), %eax
movl %eax, -0xc(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x12270
jmp 0x102e3
movq $0x0, -0x40(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
callq 0x118a0
movq %rax, -0x50(%rbp)
movq -0x48(%rbp), %rdi
callq 0x118d0
movq %rax, -0x58(%rbp)
leaq -0x50(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x11900
testb $0x1, %al
jne 0x10364
jmp 0x103fa
leaq -0x50(%rbp), %rdi
callq 0x11940
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rdi
addq $0x58, %rdi
callq 0xf210
testb $0x1, %al
jne 0x103ea
movq -0x40(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x40(%rbp)
movq 0x333c33(%rip), %rax    # 0x343fc8
movq (%rax), %rax
movq %rax, -0x160(%rbp)
movq -0x60(%rbp), %rdi
callq 0xf0f0
movq %rax, -0x158(%rbp)
movq -0x60(%rbp), %rdi
addq $0x58, %rdi
callq 0xf0f0
movq -0x160(%rbp), %rdi
movq -0x158(%rbp), %rdx
movq %rax, %rcx
leaq 0x23888f(%rip), %rsi    # 0x248c63
movb $0x0, %al
callq 0xf1a0
movq 0x333be6(%rip), %rax    # 0x343fc8
movq (%rax), %rdi
callq 0xf360
jmp 0x103ec
leaq -0x50(%rbp), %rdi
callq 0x12270
jmp 0x1034e
cmpq $0x0, -0x40(%rbp)
jne 0x10672
movq -0x8(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rdi
callq 0x118a0
movq %rax, -0x70(%rbp)
movq -0x68(%rbp), %rdi
callq 0x118d0
movq %rax, -0x78(%rbp)
leaq -0x70(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x11900
testb $0x1, %al
jne 0x1043d
jmp 0x1065c
leaq -0x70(%rbp), %rdi
callq 0x11940
movq %rax, -0x80(%rbp)
movq 0x333b6f(%rip), %rax    # 0x343fc0
movq (%rax), %rax
movq %rax, -0x170(%rbp)
movq -0x80(%rbp), %rsi
leaq -0xe0(%rbp), %rdi
movq %rdi, -0x168(%rbp)
callq 0x106f0
movq -0x168(%rbp), %rdx
leaq 0x2387d8(%rip), %rsi    # 0x248c58
leaq -0xc0(%rbp), %rdi
callq 0x122e0
jmp 0x1048e
leaq 0x2387e6(%rip), %rdx    # 0x248c7b
leaq -0xa0(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x12290
jmp 0x104aa
leaq -0xa0(%rbp), %rdi
callq 0xf0f0
movq %rax, -0x178(%rbp)
movq -0x80(%rbp), %rsi
leaq -0x150(%rbp), %rdi
callq 0x106f0
jmp 0x104cf
leaq 0x238782(%rip), %rsi    # 0x248c58
leaq -0x130(%rbp), %rdi
leaq -0x150(%rbp), %rdx
callq 0x122e0
jmp 0x104eb
leaq 0x238793(%rip), %rdx    # 0x248c85
leaq -0x110(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x12290
jmp 0x10507
leaq -0x110(%rbp), %rdi
callq 0xf0f0
movq -0x170(%rbp), %rdi
movq -0x178(%rbp), %rdx
movq %rax, %rcx
leaq 0x238749(%rip), %rsi    # 0x248c74
xorl %eax, %eax
callq 0xf1a0
movq 0x333a87(%rip), %rax    # 0x343fc0
movq (%rax), %rdi
callq 0xf360
jmp 0x10543
leaq -0x110(%rbp), %rdi
callq 0xf490
leaq -0x130(%rbp), %rdi
callq 0xf490
leaq -0x150(%rbp), %rdi
callq 0xf490
leaq -0xa0(%rbp), %rdi
callq 0xf490
leaq -0xc0(%rbp), %rdi
callq 0xf490
leaq -0xe0(%rbp), %rdi
callq 0xf490
leaq -0x70(%rbp), %rdi
callq 0x12270
jmp 0x10427
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe8(%rbp)
movl %eax, -0xec(%rbp)
jmp 0x1064e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe8(%rbp)
movl %eax, -0xec(%rbp)
jmp 0x10642
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe8(%rbp)
movl %eax, -0xec(%rbp)
jmp 0x10636
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe8(%rbp)
movl %eax, -0xec(%rbp)
jmp 0x1062a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe8(%rbp)
movl %eax, -0xec(%rbp)
jmp 0x1061e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe8(%rbp)
movl %eax, -0xec(%rbp)
leaq -0x110(%rbp), %rdi
callq 0xf490
leaq -0x130(%rbp), %rdi
callq 0xf490
leaq -0x150(%rbp), %rdi
callq 0xf490
leaq -0xa0(%rbp), %rdi
callq 0xf490
leaq -0xc0(%rbp), %rdi
callq 0xf490
leaq -0xe0(%rbp), %rdi
callq 0xf490
jmp 0x106d8
movq 0x33395d(%rip), %rax    # 0x343fc0
movq (%rax), %rsi
movl $0xa, %edi
callq 0xf550
jmp 0x106cc
movq 0x333947(%rip), %rax    # 0x343fc0
movq (%rax), %rax
movq %rax, -0x188(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x180(%rbp)
movq -0x8(%rbp), %rdi
callq 0x12330
movq -0x188(%rbp), %rdi
movq -0x180(%rbp), %rcx
movq %rax, %r8
leaq 0x2385e0(%rip), %rsi    # 0x248c8f
leaq 0x2385f4(%rip), %rdx    # 0x248caa
movb $0x0, %al
callq 0xf1a0
movq 0x3338fc(%rip), %rax    # 0x343fc0
movq (%rax), %rdi
callq 0xf360
movl -0xc(%rbp), %eax
addq $0x190, %rsp            # imm = 0x190
popq %rbp
retq
movq -0xe8(%rbp), %rdi
callq 0xf410
nopw %cs:(%rax,%rax)