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

    if( !o ) return;
    if( bcore_btree_node_ip_s_is_empty( o ) ) ERR( "empty node" );
    if( o->child0 == NULL )       ERR( "deleted leaf" );
    if( o->child1 && o->child1 != BNUL_IP )
    {
        if( o != o->child0->parent ) ERR( "child0 incorrect parent" );
        if( o != o->child1->parent ) ERR( "child1 incorrect parent" );
        bcore_btree_node_ip_s_check_consistency( o->child0 );
        bcore_btree_node_ip_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_IP )
    {
        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_ip_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, 0x79411(%rip)     # 0x119330
je 0x9ff40
leaq 0x2c934(%rip), %rdi     # 0xcc85c
leaq 0x2c955(%rip), %rsi     # 0xcc884
leaq 0x2c95c(%rip), %rcx     # 0xcc892
pushq $0x7e
popq %rdx
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x793f0(%rip)     # 0x119338
je 0x9ff69
leaq 0x2c90b(%rip), %rdi     # 0xcc85c
leaq 0x2c92c(%rip), %rsi     # 0xcc884
leaq 0x2c933(%rip), %rcx     # 0xcc892
pushq $0x7f
popq %rdx
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x793cf(%rip)     # 0x119340
je 0x9ff94
leaq 0x2c8e2(%rip), %rdi     # 0xcc85c
leaq 0x2c903(%rip), %rsi     # 0xcc884
leaq 0x2c90a(%rip), %rcx     # 0xcc892
movl $0x80, %edx
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x793ac(%rip)     # 0x119348
je 0x9ffbf
leaq 0x2c8b7(%rip), %rdi     # 0xcc85c
leaq 0x2c8d8(%rip), %rsi     # 0xcc884
leaq 0x2c8df(%rip), %rcx     # 0xcc892
movl $0x81, %edx
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x79389(%rip)     # 0x119350
je 0x9ffea
leaq 0x2c88c(%rip), %rdi     # 0xcc85c
leaq 0x2c8ad(%rip), %rsi     # 0xcc884
leaq 0x2c8b4(%rip), %rcx     # 0xcc892
movl $0x82, %edx
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x79366(%rip)     # 0x119358
je 0xa0015
leaq 0x2c861(%rip), %rdi     # 0xcc85c
leaq 0x2c882(%rip), %rsi     # 0xcc884
leaq 0x2c889(%rip), %rcx     # 0xcc892
movl $0x83, %edx
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x79343(%rip)     # 0x119360
je 0xa0040
leaq 0x2c836(%rip), %rdi     # 0xcc85c
leaq 0x2c857(%rip), %rsi     # 0xcc884
leaq 0x2c85e(%rip), %rcx     # 0xcc892
movl $0x84, %edx
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x79320(%rip)     # 0x119368
je 0xa006b
leaq 0x2c80b(%rip), %rdi     # 0xcc85c
leaq 0x2c82c(%rip), %rsi     # 0xcc884
leaq 0x2c833(%rip), %rcx     # 0xcc892
movl $0x85, %edx
xorl %eax, %eax
callq 0x60031
testq %rbx, %rbx
je 0xa0347
cmpq $0x0, 0x30(%rbx)
jne 0xa009c
leaq 0x2c7da(%rip), %rdi     # 0xcc85c
leaq 0x2c7fb(%rip), %rsi     # 0xcc884
leaq 0x2c82a(%rip), %rcx     # 0xcc8ba
movl $0x88, %edx
xorl %eax, %eax
callq 0x60031
cmpq $0x0, 0x28(%rbx)
jne 0xa00c4
leaq 0x2c7b2(%rip), %rdi     # 0xcc85c
leaq 0x2c7d3(%rip), %rsi     # 0xcc884
leaq 0x2c80d(%rip), %rcx     # 0xcc8c5
movl $0x89, %edx
xorl %eax, %eax
callq 0x60031
movq 0x30(%rbx), %rax
testq %rax, %rax
sete %cl
leaq 0x7925b(%rip), %r14     # 0x119330
cmpq %r14, %rax
sete %dl
orb %cl, %dl
jne 0xa021b
movq 0x28(%rbx), %rcx
cmpq %rbx, 0x20(%rcx)
je 0xa0112
leaq 0x2c768(%rip), %rdi     # 0xcc85c
leaq 0x2c789(%rip), %rsi     # 0xcc884
leaq 0x2c7d0(%rip), %rcx     # 0xcc8d2
movl $0x8c, %edx
xorl %eax, %eax
callq 0x60031
movq 0x30(%rbx), %rax
cmpq %rbx, 0x20(%rax)
je 0xa0139
leaq 0x2c73d(%rip), %rdi     # 0xcc85c
leaq 0x2c75e(%rip), %rsi     # 0xcc884
leaq 0x2c7bd(%rip), %rcx     # 0xcc8ea
movl $0x8d, %edx
xorl %eax, %eax
callq 0x60031
movq 0x28(%rbx), %rdi
callq 0x9ff10
movq 0x30(%rbx), %rdi
callq 0x9ff10
movq (%rbx), %r8
movq 0x28(%rbx), %rax
movq (%rax), %r9
cmpq %r9, %r8
ja 0xa0182
leaq 0x2c6fb(%rip), %rdi     # 0xcc85c
leaq 0x2c71c(%rip), %rsi     # 0xcc884
leaq 0x2c793(%rip), %rcx     # 0xcc902
movl $0x90, %edx
xorl %eax, %eax
callq 0x60031
movq (%rbx), %r8
movq 0x28(%rbx), %rax
cmpq $0x0, 0x38(%rax)
je 0xa01b6
movq 0x10(%rax), %r9
cmpq %r9, %r8
ja 0xa01b6
leaq 0x2c6c3(%rip), %rdi     # 0xcc85c
leaq 0x2c6e4(%rip), %rsi     # 0xcc884
leaq 0x2c75b(%rip), %rcx     # 0xcc902
movl $0x91, %edx
xorl %eax, %eax
callq 0x60031
movq (%rbx), %r8
movq 0x30(%rbx), %rax
movq (%rax), %r9
cmpq %r9, %r8
jb 0xa01e7
leaq 0x2c693(%rip), %rdi     # 0xcc85c
leaq 0x2c6b4(%rip), %rsi     # 0xcc884
leaq 0x2c738(%rip), %rcx     # 0xcc90f
movl $0x92, %edx
xorl %eax, %eax
callq 0x60031
movq 0x30(%rbx), %rax
cmpq $0x0, 0x38(%rax)
je 0xa021b
movq (%rbx), %r8
movq 0x10(%rax), %r9
cmpq %r9, %r8
jb 0xa021b
leaq 0x2c65b(%rip), %rdi     # 0xcc85c
leaq 0x2c67c(%rip), %rsi     # 0xcc884
leaq 0x2c700(%rip), %rcx     # 0xcc90f
movl $0x93, %edx
xorl %eax, %eax
callq 0x60031
movq 0x38(%rbx), %rdi
testq %rdi, %rdi
sete %al
cmpq %r14, %rdi
sete %cl
orb %al, %cl
jne 0xa0347
movq (%rbx), %r8
movq 0x10(%rbx), %r9
cmpq %r9, %r8
jb 0xa0264
leaq 0x2c616(%rip), %rdi     # 0xcc85c
leaq 0x2c637(%rip), %rsi     # 0xcc884
leaq 0x2c6bb(%rip), %rcx     # 0xcc90f
movl $0x97, %edx
xorl %eax, %eax
callq 0x60031
movq 0x38(%rbx), %rdi
cmpq %rbx, 0x20(%rdi)
je 0xa028f
leaq 0x2c5eb(%rip), %rdi     # 0xcc85c
leaq 0x2c60c(%rip), %rsi     # 0xcc884
leaq 0x2c69d(%rip), %rcx     # 0xcc91c
movl $0x98, %edx
xorl %eax, %eax
callq 0x60031
movq 0x38(%rbx), %rdi
callq 0x9ff10
movq 0x10(%rbx), %r8
movq 0x30(%rbx), %rax
movq (%rax), %r9
cmpq %r9, %r8
ja 0xa02cd
leaq 0x2c5b1(%rip), %rdi     # 0xcc85c
leaq 0x2c5d2(%rip), %rsi     # 0xcc884
leaq 0x2c649(%rip), %rcx     # 0xcc902
movl $0x9a, %edx
xorl %eax, %eax
callq 0x60031
movq 0x10(%rbx), %r8
movq 0x30(%rbx), %rax
cmpq $0x0, 0x38(%rax)
je 0xa0302
movq 0x10(%rax), %r9
cmpq %r9, %r8
ja 0xa0302
leaq 0x2c578(%rip), %rdi     # 0xcc85c
leaq 0x2c599(%rip), %rsi     # 0xcc884
leaq 0x2c610(%rip), %rcx     # 0xcc902
movl $0x9b, %edx
xorl %eax, %eax
callq 0x60031
movq 0x10(%rbx), %r8
movq 0x38(%rbx), %rax
movq (%rax), %r9
cmpq %r9, %r8
jb 0xa0333
leaq 0x2c547(%rip), %rdi     # 0xcc85c
leaq 0x2c568(%rip), %rsi     # 0xcc884
leaq 0x2c5ec(%rip), %rcx     # 0xcc90f
movl $0x9c, %edx
xorl %eax, %eax
callq 0x60031
movq 0x38(%rbx), %rax
cmpq $0x0, 0x38(%rax)
je 0xa0347
movq 0x10(%rbx), %r8
movq 0x10(%rax), %r9
cmpq %r9, %r8
jae 0xa034f
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0x2c506(%rip), %rdi     # 0xcc85c
leaq 0x2c527(%rip), %rsi     # 0xcc884
leaq 0x2c5ab(%rip), %rcx     # 0xcc90f
movl $0x9d, %edx
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x60031