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

    if( !o ) return;
    if( bcore_btree_node_pp_s_is_empty( o ) ) ERR( "empty node" );
    if( o->child0 == NULL )       ERR( "deleted leaf" );
    if( o->child1 && o->child1 != BNUL_PP )
    {
        if( o != o->child0->parent ) ERR( "child0 incorrect parent" );
        if( o != o->child1->parent ) ERR( "child1 incorrect parent" );
        bcore_btree_node_pp_s_check_consistency( o->child0 );
        bcore_btree_node_pp_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_PP )
    {
        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_pp_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, 0x76bd3(%rip)     # 0x1193b0
je 0xa2800
leaq 0x2a2ca(%rip), %rdi     # 0xccab0
leaq 0x2a097(%rip), %rsi     # 0xcc884
leaq 0x2a2e4(%rip), %rcx     # 0xccad8
movl $0x693, %edx            # imm = 0x693
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x76bb0(%rip)     # 0x1193b8
je 0xa282b
leaq 0x2a29f(%rip), %rdi     # 0xccab0
leaq 0x2a06c(%rip), %rsi     # 0xcc884
leaq 0x2a2b9(%rip), %rcx     # 0xccad8
movl $0x694, %edx            # imm = 0x694
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x76b8d(%rip)     # 0x1193c0
je 0xa2856
leaq 0x2a274(%rip), %rdi     # 0xccab0
leaq 0x2a041(%rip), %rsi     # 0xcc884
leaq 0x2a28e(%rip), %rcx     # 0xccad8
movl $0x695, %edx            # imm = 0x695
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x76b6a(%rip)     # 0x1193c8
je 0xa2881
leaq 0x2a249(%rip), %rdi     # 0xccab0
leaq 0x2a016(%rip), %rsi     # 0xcc884
leaq 0x2a263(%rip), %rcx     # 0xccad8
movl $0x696, %edx            # imm = 0x696
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x76b47(%rip)     # 0x1193d0
je 0xa28ac
leaq 0x2a21e(%rip), %rdi     # 0xccab0
leaq 0x29feb(%rip), %rsi     # 0xcc884
leaq 0x2a238(%rip), %rcx     # 0xccad8
movl $0x697, %edx            # imm = 0x697
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x76b24(%rip)     # 0x1193d8
je 0xa28d7
leaq 0x2a1f3(%rip), %rdi     # 0xccab0
leaq 0x29fc0(%rip), %rsi     # 0xcc884
leaq 0x2a20d(%rip), %rcx     # 0xccad8
movl $0x698, %edx            # imm = 0x698
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x76b01(%rip)     # 0x1193e0
je 0xa2902
leaq 0x2a1c8(%rip), %rdi     # 0xccab0
leaq 0x29f95(%rip), %rsi     # 0xcc884
leaq 0x2a1e2(%rip), %rcx     # 0xccad8
movl $0x699, %edx            # imm = 0x699
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x76ade(%rip)     # 0x1193e8
je 0xa292d
leaq 0x2a19d(%rip), %rdi     # 0xccab0
leaq 0x29f6a(%rip), %rsi     # 0xcc884
leaq 0x2a1b7(%rip), %rcx     # 0xccad8
movl $0x69a, %edx            # imm = 0x69A
xorl %eax, %eax
callq 0x60031
testq %rbx, %rbx
je 0xa2c09
cmpq $0x0, 0x30(%rbx)
jne 0xa295e
leaq 0x2a16c(%rip), %rdi     # 0xccab0
leaq 0x29f39(%rip), %rsi     # 0xcc884
leaq 0x29f68(%rip), %rcx     # 0xcc8ba
movl $0x69d, %edx            # imm = 0x69D
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x28(%rbx)
jne 0xa2986
leaq 0x2a144(%rip), %rdi     # 0xccab0
leaq 0x29f11(%rip), %rsi     # 0xcc884
leaq 0x29f4b(%rip), %rcx     # 0xcc8c5
movl $0x69e, %edx            # imm = 0x69E
xorl %eax, %eax
callq 0x60031
movq 0x30(%rbx), %rax
testq %rax, %rax
sete %cl
leaq 0x76a19(%rip), %r14     # 0x1193b0
cmpq %r14, %rax
sete %dl
orb %cl, %dl
jne 0xa2add
movq 0x28(%rbx), %rcx
cmpq %rbx, 0x20(%rcx)
je 0xa29d4
leaq 0x2a0fa(%rip), %rdi     # 0xccab0
leaq 0x29ec7(%rip), %rsi     # 0xcc884
leaq 0x29f0e(%rip), %rcx     # 0xcc8d2
movl $0x6a1, %edx            # imm = 0x6A1
xorl %eax, %eax
callq 0x60031
movq 0x30(%rbx), %rax
cmpq %rbx, 0x20(%rax)
je 0xa29fb
leaq 0x2a0cf(%rip), %rdi     # 0xccab0
leaq 0x29e9c(%rip), %rsi     # 0xcc884
leaq 0x29efb(%rip), %rcx     # 0xcc8ea
movl $0x6a2, %edx            # imm = 0x6A2
xorl %eax, %eax
callq 0x60031
movq 0x28(%rbx), %rdi
callq 0xa27ce
movq 0x30(%rbx), %rdi
callq 0xa27ce
movq (%rbx), %r8
movq 0x28(%rbx), %rax
movq (%rax), %r9
cmpq %r9, %r8
ja 0xa2a44
leaq 0x2a08d(%rip), %rdi     # 0xccab0
leaq 0x29e5a(%rip), %rsi     # 0xcc884
leaq 0x29ed1(%rip), %rcx     # 0xcc902
movl $0x6a5, %edx            # imm = 0x6A5
xorl %eax, %eax
callq 0x60031
movq (%rbx), %r8
movq 0x28(%rbx), %rax
cmpq $0x0, 0x38(%rax)
je 0xa2a78
movq 0x10(%rax), %r9
cmpq %r9, %r8
ja 0xa2a78
leaq 0x2a055(%rip), %rdi     # 0xccab0
leaq 0x29e22(%rip), %rsi     # 0xcc884
leaq 0x29e99(%rip), %rcx     # 0xcc902
movl $0x6a6, %edx            # imm = 0x6A6
xorl %eax, %eax
callq 0x60031
movq (%rbx), %r8
movq 0x30(%rbx), %rax
movq (%rax), %r9
cmpq %r9, %r8
jb 0xa2aa9
leaq 0x2a025(%rip), %rdi     # 0xccab0
leaq 0x29df2(%rip), %rsi     # 0xcc884
leaq 0x29e76(%rip), %rcx     # 0xcc90f
movl $0x6a7, %edx            # imm = 0x6A7
xorl %eax, %eax
callq 0x60031
movq 0x30(%rbx), %rax
cmpq $0x0, 0x38(%rax)
je 0xa2add
movq (%rbx), %r8
movq 0x10(%rax), %r9
cmpq %r9, %r8
jb 0xa2add
leaq 0x29fed(%rip), %rdi     # 0xccab0
leaq 0x29dba(%rip), %rsi     # 0xcc884
leaq 0x29e3e(%rip), %rcx     # 0xcc90f
movl $0x6a8, %edx            # imm = 0x6A8
xorl %eax, %eax
callq 0x60031
movq 0x38(%rbx), %rdi
testq %rdi, %rdi
sete %al
cmpq %r14, %rdi
sete %cl
orb %al, %cl
jne 0xa2c09
movq (%rbx), %r8
movq 0x10(%rbx), %r9
cmpq %r9, %r8
jb 0xa2b26
leaq 0x29fa8(%rip), %rdi     # 0xccab0
leaq 0x29d75(%rip), %rsi     # 0xcc884
leaq 0x29df9(%rip), %rcx     # 0xcc90f
movl $0x6ac, %edx            # imm = 0x6AC
xorl %eax, %eax
callq 0x60031
movq 0x38(%rbx), %rdi
cmpq %rbx, 0x20(%rdi)
je 0xa2b51
leaq 0x29f7d(%rip), %rdi     # 0xccab0
leaq 0x29d4a(%rip), %rsi     # 0xcc884
leaq 0x29ddb(%rip), %rcx     # 0xcc91c
movl $0x6ad, %edx            # imm = 0x6AD
xorl %eax, %eax
callq 0x60031
movq 0x38(%rbx), %rdi
callq 0xa27ce
movq 0x10(%rbx), %r8
movq 0x30(%rbx), %rax
movq (%rax), %r9
cmpq %r9, %r8
ja 0xa2b8f
leaq 0x29f43(%rip), %rdi     # 0xccab0
leaq 0x29d10(%rip), %rsi     # 0xcc884
leaq 0x29d87(%rip), %rcx     # 0xcc902
movl $0x6af, %edx            # imm = 0x6AF
xorl %eax, %eax
callq 0x60031
movq 0x10(%rbx), %r8
movq 0x30(%rbx), %rax
cmpq $0x0, 0x38(%rax)
je 0xa2bc4
movq 0x10(%rax), %r9
cmpq %r9, %r8
ja 0xa2bc4
leaq 0x29f0a(%rip), %rdi     # 0xccab0
leaq 0x29cd7(%rip), %rsi     # 0xcc884
leaq 0x29d4e(%rip), %rcx     # 0xcc902
movl $0x6b0, %edx            # imm = 0x6B0
xorl %eax, %eax
callq 0x60031
movq 0x10(%rbx), %r8
movq 0x38(%rbx), %rax
movq (%rax), %r9
cmpq %r9, %r8
jb 0xa2bf5
leaq 0x29ed9(%rip), %rdi     # 0xccab0
leaq 0x29ca6(%rip), %rsi     # 0xcc884
leaq 0x29d2a(%rip), %rcx     # 0xcc90f
movl $0x6b1, %edx            # imm = 0x6B1
xorl %eax, %eax
callq 0x60031
movq 0x38(%rbx), %rax
cmpq $0x0, 0x38(%rax)
je 0xa2c09
movq 0x10(%rbx), %r8
movq 0x10(%rax), %r9
cmpq %r9, %r8
jae 0xa2c11
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0x29e98(%rip), %rdi     # 0xccab0
leaq 0x29c65(%rip), %rsi     # 0xcc884
leaq 0x29ce9(%rip), %rcx     # 0xcc90f
movl $0x6b2, %edx            # imm = 0x6B2
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x60031