// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_vd_s_check_consistency
void bcore_btree_node_vd_s_check_consistency( bcore_btree_node_vd_s* o )
{
    if( bcore_btree_node_vd_s_null_g.kv1.key != 0    ) ERR( "bcore_btree_node_vd_s_null was modified" );
    if( bcore_btree_node_vd_s_null_g.kv2.key != 0    ) ERR( "bcore_btree_node_vd_s_null was modified" );
    if( bcore_btree_node_vd_s_null_g.parent  != NULL ) ERR( "bcore_btree_node_vd_s_null was modified" );
    if( bcore_btree_node_vd_s_null_g.child0  != NULL ) ERR( "bcore_btree_node_vd_s_null was modified" );
    if( bcore_btree_node_vd_s_null_g.child1  != NULL ) ERR( "bcore_btree_node_vd_s_null was modified" );
    if( bcore_btree_node_vd_s_null_g.child2  != NULL ) ERR( "bcore_btree_node_vd_s_null was modified" );

    if( !o ) return;
    if( bcore_btree_node_vd_s_is_empty( o ) ) ERR( "empty node" );
    if( o->child0 == NULL )       ERR( "deleted leaf" );
    if( o->child1 && o->child1 != BNUL_VP )
    {
        if( o != o->child0->parent ) ERR( "child0 incorrect parent" );
        if( o != o->child1->parent ) ERR( "child1 incorrect parent" );
        bcore_btree_node_vd_s_check_consistency( o->child0 );
        bcore_btree_node_vd_s_check_consistency( o->child1 );
        if(                      o->kv1.key <= o->child0->kv1.key ) ERR( "(%lu <= %lu)", o->kv1.key, o->child0->kv1.key );
        if( o->child0->child2 && o->kv1.key <= o->child0->kv2.key ) ERR( "(%lu <= %lu)", o->kv1.key, o->child0->kv2.key );
        if(                      o->kv1.key >= o->child1->kv1.key ) ERR( "(%lu >= %lu)", o->kv1.key, o->child1->kv1.key );
        if( o->child1->child2 && o->kv1.key >= o->child1->kv2.key ) ERR( "(%lu >= %lu)", o->kv1.key, o->child1->kv2.key );
    }
    if( o->child2 && o->child2 != BNUL_VP )
    {
        if( o->kv1.key >= o->kv2.key ) ERR( "(%lu >= %lu)", o->kv1.key, o->kv2.key );
        if( o != o->child2->parent ) ERR( "child2 incorrect parent" );
        bcore_btree_node_vd_s_check_consistency( o->child2 );
        if(                      o->kv2.key <= o->child1->kv1.key ) ERR( "(%lu <= %lu)", o->kv2.key, o->child1->kv1.key );
        if( o->child1->child2 && o->kv2.key <= o->child1->kv2.key ) ERR( "(%lu <= %lu)", o->kv2.key, o->child1->kv2.key );
        if(                      o->kv2.key >= o->child2->kv1.key ) ERR( "(%lu >= %lu)", o->kv2.key, o->child2->kv1.key );
        if( o->child2->child2 && o->kv2.key >= o->child2->kv2.key ) ERR( "(%lu >= %lu)", o->kv2.key, o->child2->kv2.key );
    }
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
cmpq $0x0, 0x757ca(%rip)     # 0x1193f0
je 0xa3c49
leaq 0x28ed1(%rip), %rdi     # 0xccb00
leaq 0x28c4e(%rip), %rsi     # 0xcc884
leaq 0x28eeb(%rip), %rcx     # 0xccb28
movl $0x9ca, %edx            # imm = 0x9CA
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x757a7(%rip)     # 0x1193f8
je 0xa3c74
leaq 0x28ea6(%rip), %rdi     # 0xccb00
leaq 0x28c23(%rip), %rsi     # 0xcc884
leaq 0x28ec0(%rip), %rcx     # 0xccb28
movl $0x9cb, %edx            # imm = 0x9CB
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x75784(%rip)     # 0x119400
je 0xa3c9f
leaq 0x28e7b(%rip), %rdi     # 0xccb00
leaq 0x28bf8(%rip), %rsi     # 0xcc884
leaq 0x28e95(%rip), %rcx     # 0xccb28
movl $0x9cc, %edx            # imm = 0x9CC
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x75761(%rip)     # 0x119408
je 0xa3cca
leaq 0x28e50(%rip), %rdi     # 0xccb00
leaq 0x28bcd(%rip), %rsi     # 0xcc884
leaq 0x28e6a(%rip), %rcx     # 0xccb28
movl $0x9cd, %edx            # imm = 0x9CD
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x7573e(%rip)     # 0x119410
je 0xa3cf5
leaq 0x28e25(%rip), %rdi     # 0xccb00
leaq 0x28ba2(%rip), %rsi     # 0xcc884
leaq 0x28e3f(%rip), %rcx     # 0xccb28
movl $0x9ce, %edx            # imm = 0x9CE
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x7571b(%rip)     # 0x119418
je 0xa3d20
leaq 0x28dfa(%rip), %rdi     # 0xccb00
leaq 0x28b77(%rip), %rsi     # 0xcc884
leaq 0x28e14(%rip), %rcx     # 0xccb28
movl $0x9cf, %edx            # imm = 0x9CF
xorl %eax, %eax
callq 0x60031
testq %rbx, %rbx
je 0xa3ffc
cmpq $0x0, 0x20(%rbx)
jne 0xa3d51
leaq 0x28dc9(%rip), %rdi     # 0xccb00
leaq 0x28b46(%rip), %rsi     # 0xcc884
leaq 0x28b75(%rip), %rcx     # 0xcc8ba
movl $0x9d2, %edx            # imm = 0x9D2
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x18(%rbx)
jne 0xa3d79
leaq 0x28da1(%rip), %rdi     # 0xccb00
leaq 0x28b1e(%rip), %rsi     # 0xcc884
leaq 0x28b58(%rip), %rcx     # 0xcc8c5
movl $0x9d3, %edx            # imm = 0x9D3
xorl %eax, %eax
callq 0x60031
movq 0x20(%rbx), %rax
testq %rax, %rax
sete %cl
leaq 0x75666(%rip), %r14     # 0x1193f0
cmpq %r14, %rax
sete %dl
orb %cl, %dl
jne 0xa3ed0
movq 0x18(%rbx), %rcx
cmpq %rbx, 0x10(%rcx)
je 0xa3dc7
leaq 0x28d57(%rip), %rdi     # 0xccb00
leaq 0x28ad4(%rip), %rsi     # 0xcc884
leaq 0x28b1b(%rip), %rcx     # 0xcc8d2
movl $0x9d6, %edx            # imm = 0x9D6
xorl %eax, %eax
callq 0x60031
movq 0x20(%rbx), %rax
cmpq %rbx, 0x10(%rax)
je 0xa3dee
leaq 0x28d2c(%rip), %rdi     # 0xccb00
leaq 0x28aa9(%rip), %rsi     # 0xcc884
leaq 0x28b08(%rip), %rcx     # 0xcc8ea
movl $0x9d7, %edx            # imm = 0x9D7
xorl %eax, %eax
callq 0x60031
movq 0x18(%rbx), %rdi
callq 0xa3c17
movq 0x20(%rbx), %rdi
callq 0xa3c17
movq (%rbx), %r8
movq 0x18(%rbx), %rax
movq (%rax), %r9
cmpq %r9, %r8
ja 0xa3e37
leaq 0x28cea(%rip), %rdi     # 0xccb00
leaq 0x28a67(%rip), %rsi     # 0xcc884
leaq 0x28ade(%rip), %rcx     # 0xcc902
movl $0x9da, %edx            # imm = 0x9DA
xorl %eax, %eax
callq 0x60031
movq (%rbx), %r8
movq 0x18(%rbx), %rax
cmpq $0x0, 0x28(%rax)
je 0xa3e6b
movq 0x8(%rax), %r9
cmpq %r9, %r8
ja 0xa3e6b
leaq 0x28cb2(%rip), %rdi     # 0xccb00
leaq 0x28a2f(%rip), %rsi     # 0xcc884
leaq 0x28aa6(%rip), %rcx     # 0xcc902
movl $0x9db, %edx            # imm = 0x9DB
xorl %eax, %eax
callq 0x60031
movq (%rbx), %r8
movq 0x20(%rbx), %rax
movq (%rax), %r9
cmpq %r9, %r8
jb 0xa3e9c
leaq 0x28c82(%rip), %rdi     # 0xccb00
leaq 0x289ff(%rip), %rsi     # 0xcc884
leaq 0x28a83(%rip), %rcx     # 0xcc90f
movl $0x9dc, %edx            # imm = 0x9DC
xorl %eax, %eax
callq 0x60031
movq 0x20(%rbx), %rax
cmpq $0x0, 0x28(%rax)
je 0xa3ed0
movq (%rbx), %r8
movq 0x8(%rax), %r9
cmpq %r9, %r8
jb 0xa3ed0
leaq 0x28c4a(%rip), %rdi     # 0xccb00
leaq 0x289c7(%rip), %rsi     # 0xcc884
leaq 0x28a4b(%rip), %rcx     # 0xcc90f
movl $0x9dd, %edx            # imm = 0x9DD
xorl %eax, %eax
callq 0x60031
movq 0x28(%rbx), %rdi
testq %rdi, %rdi
sete %al
cmpq %r14, %rdi
sete %cl
orb %al, %cl
jne 0xa3ffc
movq (%rbx), %r8
movq 0x8(%rbx), %r9
cmpq %r9, %r8
jb 0xa3f19
leaq 0x28c05(%rip), %rdi     # 0xccb00
leaq 0x28982(%rip), %rsi     # 0xcc884
leaq 0x28a06(%rip), %rcx     # 0xcc90f
movl $0x9e1, %edx            # imm = 0x9E1
xorl %eax, %eax
callq 0x60031
movq 0x28(%rbx), %rdi
cmpq %rbx, 0x10(%rdi)
je 0xa3f44
leaq 0x28bda(%rip), %rdi     # 0xccb00
leaq 0x28957(%rip), %rsi     # 0xcc884
leaq 0x289e8(%rip), %rcx     # 0xcc91c
movl $0x9e2, %edx            # imm = 0x9E2
xorl %eax, %eax
callq 0x60031
movq 0x28(%rbx), %rdi
callq 0xa3c17
movq 0x8(%rbx), %r8
movq 0x20(%rbx), %rax
movq (%rax), %r9
cmpq %r9, %r8
ja 0xa3f82
leaq 0x28ba0(%rip), %rdi     # 0xccb00
leaq 0x2891d(%rip), %rsi     # 0xcc884
leaq 0x28994(%rip), %rcx     # 0xcc902
movl $0x9e4, %edx            # imm = 0x9E4
xorl %eax, %eax
callq 0x60031
movq 0x8(%rbx), %r8
movq 0x20(%rbx), %rax
cmpq $0x0, 0x28(%rax)
je 0xa3fb7
movq 0x8(%rax), %r9
cmpq %r9, %r8
ja 0xa3fb7
leaq 0x28b67(%rip), %rdi     # 0xccb00
leaq 0x288e4(%rip), %rsi     # 0xcc884
leaq 0x2895b(%rip), %rcx     # 0xcc902
movl $0x9e5, %edx            # imm = 0x9E5
xorl %eax, %eax
callq 0x60031
movq 0x8(%rbx), %r8
movq 0x28(%rbx), %rax
movq (%rax), %r9
cmpq %r9, %r8
jb 0xa3fe8
leaq 0x28b36(%rip), %rdi     # 0xccb00
leaq 0x288b3(%rip), %rsi     # 0xcc884
leaq 0x28937(%rip), %rcx     # 0xcc90f
movl $0x9e6, %edx            # imm = 0x9E6
xorl %eax, %eax
callq 0x60031
movq 0x28(%rbx), %rax
cmpq $0x0, 0x28(%rax)
je 0xa3ffc
movq 0x8(%rbx), %r8
movq 0x8(%rax), %r9
cmpq %r9, %r8
jae 0xa4004
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0x28af5(%rip), %rdi     # 0xccb00
leaq 0x28872(%rip), %rsi     # 0xcc884
leaq 0x288f6(%rip), %rcx     # 0xcc90f
movl $0x9e7, %edx            # imm = 0x9E7
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x60031