// File: /workspace/github_c_makefile_star2_O1/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, 0x7cee6(%rip)     # 0x1aa330
je 0x12d46d
leaq 0x2c324(%rip), %rdi     # 0x159777
leaq 0x2c345(%rip), %rsi     # 0x15979f
leaq 0x2c34c(%rip), %rcx     # 0x1597ad
movl $0x7e, %edx
xorl %eax, %eax
callq 0xc80f6
cmpq $0x0, 0x7cec3(%rip)     # 0x1aa338
je 0x12d498
leaq 0x2c2f9(%rip), %rdi     # 0x159777
leaq 0x2c31a(%rip), %rsi     # 0x15979f
leaq 0x2c321(%rip), %rcx     # 0x1597ad
movl $0x7f, %edx
xorl %eax, %eax
callq 0xc80f6
cmpq $0x0, 0x7cea0(%rip)     # 0x1aa340
je 0x12d4c3
leaq 0x2c2ce(%rip), %rdi     # 0x159777
leaq 0x2c2ef(%rip), %rsi     # 0x15979f
leaq 0x2c2f6(%rip), %rcx     # 0x1597ad
movl $0x80, %edx
xorl %eax, %eax
callq 0xc80f6
cmpq $0x0, 0x7ce7d(%rip)     # 0x1aa348
je 0x12d4ee
leaq 0x2c2a3(%rip), %rdi     # 0x159777
leaq 0x2c2c4(%rip), %rsi     # 0x15979f
leaq 0x2c2cb(%rip), %rcx     # 0x1597ad
movl $0x81, %edx
xorl %eax, %eax
callq 0xc80f6
cmpq $0x0, 0x7ce5a(%rip)     # 0x1aa350
je 0x12d519
leaq 0x2c278(%rip), %rdi     # 0x159777
leaq 0x2c299(%rip), %rsi     # 0x15979f
leaq 0x2c2a0(%rip), %rcx     # 0x1597ad
movl $0x82, %edx
xorl %eax, %eax
callq 0xc80f6
cmpq $0x0, 0x7ce37(%rip)     # 0x1aa358
je 0x12d544
leaq 0x2c24d(%rip), %rdi     # 0x159777
leaq 0x2c26e(%rip), %rsi     # 0x15979f
leaq 0x2c275(%rip), %rcx     # 0x1597ad
movl $0x83, %edx
xorl %eax, %eax
callq 0xc80f6
cmpq $0x0, 0x7ce14(%rip)     # 0x1aa360
je 0x12d56f
leaq 0x2c222(%rip), %rdi     # 0x159777
leaq 0x2c243(%rip), %rsi     # 0x15979f
leaq 0x2c24a(%rip), %rcx     # 0x1597ad
movl $0x84, %edx
xorl %eax, %eax
callq 0xc80f6
cmpq $0x0, 0x7cdf1(%rip)     # 0x1aa368
je 0x12d59a
leaq 0x2c1f7(%rip), %rdi     # 0x159777
leaq 0x2c218(%rip), %rsi     # 0x15979f
leaq 0x2c21f(%rip), %rcx     # 0x1597ad
movl $0x85, %edx
xorl %eax, %eax
callq 0xc80f6
testq %rbx, %rbx
je 0x12d876
cmpq $0x0, 0x30(%rbx)
jne 0x12d5cb
leaq 0x2c1c6(%rip), %rdi     # 0x159777
leaq 0x2c1e7(%rip), %rsi     # 0x15979f
leaq 0x2c216(%rip), %rcx     # 0x1597d5
movl $0x88, %edx
xorl %eax, %eax
callq 0xc80f6
cmpq $0x0, 0x28(%rbx)
jne 0x12d5f3
leaq 0x2c19e(%rip), %rdi     # 0x159777
leaq 0x2c1bf(%rip), %rsi     # 0x15979f
leaq 0x2c1f9(%rip), %rcx     # 0x1597e0
movl $0x89, %edx
xorl %eax, %eax
callq 0xc80f6
movq 0x30(%rbx), %rax
testq %rax, %rax
sete %cl
leaq 0x7cd2c(%rip), %r14     # 0x1aa330
cmpq %r14, %rax
sete %al
orb %cl, %al
jne 0x12d74a
movq 0x28(%rbx), %rax
cmpq %rbx, 0x20(%rax)
je 0x12d63d
leaq 0x2c154(%rip), %rdi     # 0x159777
leaq 0x2c175(%rip), %rsi     # 0x15979f
leaq 0x2c1bc(%rip), %rcx     # 0x1597ed
movl $0x8c, %edx
xorl %eax, %eax
callq 0xc80f6
movq 0x30(%rbx), %rax
cmpq %rbx, 0x20(%rax)
je 0x12d668
leaq 0x2c129(%rip), %rdi     # 0x159777
leaq 0x2c14a(%rip), %rsi     # 0x15979f
leaq 0x2c1a9(%rip), %rcx     # 0x159805
movl $0x8d, %edx
xorl %eax, %eax
callq 0xc80f6
movq 0x28(%rbx), %rdi
callq 0x12d43b
movq 0x30(%rbx), %rdi
callq 0x12d43b
movq (%rbx), %r8
movq 0x28(%rbx), %rax
movq (%rax), %r9
cmpq %r9, %r8
ja 0x12d6aa
leaq 0x2c0e7(%rip), %rdi     # 0x159777
leaq 0x2c108(%rip), %rsi     # 0x15979f
leaq 0x2c17f(%rip), %rcx     # 0x15981d
movl $0x90, %edx
xorl %eax, %eax
callq 0xc80f6
movq 0x28(%rbx), %rax
cmpq $0x0, 0x38(%rax)
je 0x12d6e2
movq (%rbx), %r8
movq 0x10(%rax), %r9
cmpq %r9, %r8
ja 0x12d6e2
leaq 0x2c0af(%rip), %rdi     # 0x159777
leaq 0x2c0d0(%rip), %rsi     # 0x15979f
leaq 0x2c147(%rip), %rcx     # 0x15981d
movl $0x91, %edx
xorl %eax, %eax
callq 0xc80f6
movq (%rbx), %r8
movq 0x30(%rbx), %rax
movq (%rax), %r9
cmpq %r9, %r8
jb 0x12d712
leaq 0x2c07f(%rip), %rdi     # 0x159777
leaq 0x2c0a0(%rip), %rsi     # 0x15979f
leaq 0x2c124(%rip), %rcx     # 0x15982a
movl $0x92, %edx
xorl %eax, %eax
callq 0xc80f6
movq 0x30(%rbx), %rax
cmpq $0x0, 0x38(%rax)
je 0x12d74a
movq (%rbx), %r8
movq 0x10(%rax), %r9
cmpq %r9, %r8
jb 0x12d74a
leaq 0x2c047(%rip), %rdi     # 0x159777
leaq 0x2c068(%rip), %rsi     # 0x15979f
leaq 0x2c0ec(%rip), %rcx     # 0x15982a
movl $0x93, %edx
xorl %eax, %eax
callq 0xc80f6
movq 0x38(%rbx), %rax
testq %rax, %rax
sete %cl
cmpq %r14, %rax
sete %al
orb %cl, %al
jne 0x12d876
movq (%rbx), %r8
movq 0x10(%rbx), %r9
cmpq %r9, %r8
jb 0x12d78f
leaq 0x2c002(%rip), %rdi     # 0x159777
leaq 0x2c023(%rip), %rsi     # 0x15979f
leaq 0x2c0a7(%rip), %rcx     # 0x15982a
movl $0x97, %edx
xorl %eax, %eax
callq 0xc80f6
movq 0x38(%rbx), %rax
cmpq %rbx, 0x20(%rax)
je 0x12d7ba
leaq 0x2bfd7(%rip), %rdi     # 0x159777
leaq 0x2bff8(%rip), %rsi     # 0x15979f
leaq 0x2c089(%rip), %rcx     # 0x159837
movl $0x98, %edx
xorl %eax, %eax
callq 0xc80f6
movq 0x38(%rbx), %rdi
callq 0x12d43b
movq 0x10(%rbx), %r8
movq 0x30(%rbx), %rax
movq (%rax), %r9
cmpq %r9, %r8
ja 0x12d7f4
leaq 0x2bf9d(%rip), %rdi     # 0x159777
leaq 0x2bfbe(%rip), %rsi     # 0x15979f
leaq 0x2c035(%rip), %rcx     # 0x15981d
movl $0x9a, %edx
xorl %eax, %eax
callq 0xc80f6
movq 0x30(%rbx), %rax
cmpq $0x0, 0x38(%rax)
je 0x12d82d
movq 0x10(%rbx), %r8
movq 0x10(%rax), %r9
cmpq %r9, %r8
ja 0x12d82d
leaq 0x2bf64(%rip), %rdi     # 0x159777
leaq 0x2bf85(%rip), %rsi     # 0x15979f
leaq 0x2bffc(%rip), %rcx     # 0x15981d
movl $0x9b, %edx
xorl %eax, %eax
callq 0xc80f6
movq 0x10(%rbx), %r8
movq 0x38(%rbx), %rax
movq (%rax), %r9
cmpq %r9, %r8
jb 0x12d85e
leaq 0x2bf33(%rip), %rdi     # 0x159777
leaq 0x2bf54(%rip), %rsi     # 0x15979f
leaq 0x2bfd8(%rip), %rcx     # 0x15982a
movl $0x9c, %edx
xorl %eax, %eax
callq 0xc80f6
movq 0x38(%rbx), %rax
cmpq $0x0, 0x38(%rax)
je 0x12d876
movq 0x10(%rbx), %r8
movq 0x10(%rax), %r9
cmpq %r9, %r8
jae 0x12d87e
addq $0x8, %rsp
popq %rbx
popq %r14
retq
leaq 0x2bef2(%rip), %rdi     # 0x159777
leaq 0x2bf13(%rip), %rsi     # 0x15979f
leaq 0x2bf97(%rip), %rcx     # 0x15982a
movl $0x9d, %edx
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xc80f6