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

            for (auto& c : cases) {
                std::ifstream is(c.source, std::ifstream::binary);
                    if (!is) {
                        ++err, c.error = "cannot be opened";
                        continue;
                    }
                node result;
                std::string const s = std::string(std::istreambuf_iterator<char>(is), std::istreambuf_iterator<char>());
                auto const e = s.end();
                if (auto r = cxon::from_bytes(result, s.begin(), e)) {
                    cxon::cio::consume<cxon::JSON<>>(r.end, e);
                        if (r.end != e) continue; // trailing chars
                    std::string pass; cxon::to_bytes(pass, result);
                    ++err, c.error += "must fail: '" + c.source + "' (passed as '" + pass + "')";
                }
            }
            std::size_t fc = 0;
                for (auto& c : cases) {
                    if (!c.error.empty()) {
                        ++fc, std::fprintf(stderr, "%s: %s\n", c.source.c_str(), c.error.c_str()), std::fflush(stderr);
                    }
                }
            std::fprintf(stdout, "%-21s: %zu of %4zu failed\n", "cxon/json/node/fail", fc, cases.size()); std::fflush(stdout);

            return err;
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x410, %rsp            # imm = 0x410
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
callq 0x118a0
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0x118d0
movq %rax, -0x28(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x11900
testb $0x1, %al
jne 0xa76ce
jmp 0xa7ae6
leaq -0x20(%rbp), %rdi
callq 0x11940
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rsi
leaq -0x238(%rbp), %rdi
movl $0x4, %edx
callq 0xf660
movq -0x238(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x238(%rbp,%rax), %rdi
callq 0xf040
movb %al, -0x3d1(%rbp)
jmp 0xa7710
movb -0x3d1(%rbp), %al
testb $0x1, %al
jne 0xa771c
jmp 0xa7760
movl -0xc(%rbp), %eax
incl %eax
movl %eax, -0xc(%rbp)
movq -0x30(%rbp), %rdi
addq $0x58, %rdi
leaq 0x1a1673(%rip), %rsi    # 0x248da6
callq 0xf2b0
jmp 0xa773a
movl $0x3, -0x248(%rbp)
jmp 0xa7a93
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
jmp 0xa7ad5
leaq -0x270(%rbp), %rdi
callq 0x18910
leaq -0x2a0(%rbp), %rdi
leaq -0x238(%rbp), %rsi
callq 0x18790
leaq -0x2b0(%rbp), %rdi
callq 0x187f0
leaq -0x2b1(%rbp), %rdi
movq %rdi, -0x3e0(%rbp)
callq 0xf5f0
movq -0x3e0(%rbp), %r9
movq -0x2a0(%rbp), %rsi
movl -0x298(%rbp), %edx
movq -0x2b0(%rbp), %rcx
movl -0x2a8(%rbp), %r8d
leaq -0x290(%rbp), %rdi
callq 0x18fc0
jmp 0xa77ce
leaq -0x2b1(%rbp), %rdi
callq 0xf710
leaq -0x290(%rbp), %rdi
movq %rdi, -0x3e8(%rbp)
callq 0xf650
movq -0x3e8(%rbp), %rdi
movq %rax, -0x2c0(%rbp)
callq 0xf1e0
movq %rax, -0x2e0(%rbp)
movq -0x2c0(%rbp), %rax
movq %rax, -0x2e8(%rbp)
movq -0x2e0(%rbp), %rdx
movq -0x2e8(%rbp), %rcx
leaq -0x2d8(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0xaaca0
jmp 0xa7838
leaq -0x2d8(%rbp), %rdi
callq 0x189a0
testb $0x1, %al
jne 0xa784d
jmp 0xa7a71
leaq -0x2c8(%rbp), %rdi
movq -0x2c0(%rbp), %rax
movq %rax, -0x2f0(%rbp)
movq -0x2f0(%rbp), %rsi
callq 0xaad10
jmp 0xa7870
leaq -0x2d8(%rbp), %rdi
addq $0x10, %rdi
leaq -0x2c0(%rbp), %rsi
callq 0x19720
testb $0x1, %al
jne 0xa788d
jmp 0xa78d6
movl $0x3, -0x248(%rbp)
jmp 0xa7a7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
leaq -0x2b1(%rbp), %rdi
callq 0xf710
jmp 0xa7ac9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
jmp 0xa7abd
leaq -0x310(%rbp), %rdi
movq %rdi, -0x3f0(%rbp)
callq 0xf250
movq -0x3f0(%rbp), %rsi
leaq -0x328(%rbp), %rdi
leaq -0x270(%rbp), %rdx
callq 0xaad40
jmp 0xa7905
movl -0xc(%rbp), %eax
incl %eax
movl %eax, -0xc(%rbp)
movq -0x30(%rbp), %rdx
leaq 0x1a2c58(%rip), %rsi    # 0x24a570
leaq -0x3a8(%rbp), %rdi
callq 0xaab90
jmp 0xa7926
leaq 0x1a2c50(%rip), %rdx    # 0x24a57d
leaq -0x388(%rbp), %rdi
leaq -0x3a8(%rbp), %rsi
callq 0x12290
jmp 0xa7942
leaq -0x368(%rbp), %rdi
leaq -0x388(%rbp), %rsi
leaq -0x310(%rbp), %rdx
callq 0xaada0
jmp 0xa795e
leaq 0x1a2bec(%rip), %rdx    # 0x24a551
leaq -0x348(%rbp), %rdi
leaq -0x368(%rbp), %rsi
callq 0x12290
jmp 0xa797a
movq -0x30(%rbp), %rdi
addq $0x58, %rdi
leaq -0x348(%rbp), %rsi
callq 0xf0b0
jmp 0xa7990
leaq -0x348(%rbp), %rdi
callq 0xf490
leaq -0x368(%rbp), %rdi
callq 0xf490
leaq -0x388(%rbp), %rdi
callq 0xf490
leaq -0x3a8(%rbp), %rdi
callq 0xf490
leaq -0x310(%rbp), %rdi
callq 0xf490
jmp 0xa7a71
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
jmp 0xa7a63
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
jmp 0xa7a57
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
jmp 0xa7a4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
jmp 0xa7a3f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x240(%rbp)
movl %eax, -0x244(%rbp)
leaq -0x348(%rbp), %rdi
callq 0xf490
leaq -0x368(%rbp), %rdi
callq 0xf490
leaq -0x388(%rbp), %rdi
callq 0xf490
leaq -0x3a8(%rbp), %rdi
callq 0xf490
leaq -0x310(%rbp), %rdi
callq 0xf490
jmp 0xa7abd
movl $0x0, -0x248(%rbp)
leaq -0x290(%rbp), %rdi
callq 0xf490
leaq -0x270(%rbp), %rdi
callq 0x18d50
leaq -0x238(%rbp), %rdi
callq 0xf050
movl -0x248(%rbp), %eax
testl %eax, %eax
je 0xa7aad
jmp 0xa7aab
jmp 0xa7aaf
jmp 0xa7aaf
leaq -0x20(%rbp), %rdi
callq 0x12270
jmp 0xa76b8
leaq -0x290(%rbp), %rdi
callq 0xf490
leaq -0x270(%rbp), %rdi
callq 0x18d50
leaq -0x238(%rbp), %rdi
callq 0xf050
jmp 0xa7c55
movq $0x0, -0x3b0(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x3b8(%rbp)
movq -0x3b8(%rbp), %rdi
callq 0x118a0
movq %rax, -0x3c0(%rbp)
movq -0x3b8(%rbp), %rdi
callq 0x118d0
movq %rax, -0x3c8(%rbp)
leaq -0x3c0(%rbp), %rdi
leaq -0x3c8(%rbp), %rsi
callq 0x11900
testb $0x1, %al
jne 0xa7b3e
jmp 0xa7bec
leaq -0x3c0(%rbp), %rdi
callq 0x11940
movq %rax, -0x3d0(%rbp)
movq -0x3d0(%rbp), %rdi
addq $0x58, %rdi
callq 0xf210
testb $0x1, %al
jne 0xa7bd9
movq -0x3b0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x3b0(%rbp)
movq 0x29c44a(%rip), %rax    # 0x343fc8
movq (%rax), %rax
movq %rax, -0x400(%rbp)
movq -0x3d0(%rbp), %rdi
callq 0xf0f0
movq %rax, -0x3f8(%rbp)
movq -0x3d0(%rbp), %rdi
addq $0x58, %rdi
callq 0xf0f0
movq -0x400(%rbp), %rdi
movq -0x3f8(%rbp), %rdx
movq %rax, %rcx
leaq 0x1a2991(%rip), %rsi    # 0x24a554
movb $0x0, %al
callq 0xf1a0
movq 0x29c3f7(%rip), %rax    # 0x343fc8
movq (%rax), %rdi
callq 0xf360
jmp 0xa7bdb
leaq -0x3c0(%rbp), %rdi
callq 0x12270
jmp 0xa7b22
movq 0x29c3cd(%rip), %rax    # 0x343fc0
movq (%rax), %rax
movq %rax, -0x410(%rbp)
movq -0x3b0(%rbp), %rax
movq %rax, -0x408(%rbp)
movq -0x8(%rbp), %rdi
callq 0x12330
movq -0x410(%rbp), %rdi
movq -0x408(%rbp), %rcx
movq %rax, %r8
leaq 0x1a1063(%rip), %rsi    # 0x248c8f
leaq 0x1a2959(%rip), %rdx    # 0x24a58c
movb $0x0, %al
callq 0xf1a0
movq 0x29c37f(%rip), %rax    # 0x343fc0
movq (%rax), %rdi
callq 0xf360
movl -0xc(%rbp), %eax
addq $0x410, %rsp            # imm = 0x410
popq %rbp
retq
movq -0x240(%rbp), %rdi
callq 0xf410
nopw %cs:(%rax,%rax)