LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_pp_s_show
st_s* bcore_btree_node_pp_s_show( bcore_btree_node_pp_s* o, uz_t depth )
{
    st_s* string = st_s_create();
    if( !o )
    {
        st_s_pushf( string, "()\n" );
        return string;
    }
    if( o->child1 )
    {
        if( o->child0 && o->child0 != BNUL_PP ) st_s_push_st_d( string, bcore_btree_node_pp_s_show( o->child0, depth + 1 ) );
        for( uz_t i = 0; i < depth; i++ ) st_s_pushf( string, "    " );
        st_s_pushf( string, "(%lu,%lu)\n", ( int64_t )(intptr_t)o->kv1.key, ( int64_t )(intptr_t)o->kv1.val );
        if( o->child1 && o->child1 != BNUL_PP ) st_s_pushf( string, "    " );
    }
    if( o->child2 )
    {
        for( uz_t i = 0; i < depth; i++ ) st_s_pushf( string, "    " );
        st_s_pushf( string, "(%lu,%lu)\n", ( int64_t )(intptr_t)o->kv2.key, ( int64_t )(intptr_t)o->kv2.val );
        if( o->child2 && o->child2 != BNUL_PP ) st_s_push_st_d( string, bcore_btree_node_pp_s_show( o->child2, depth + 1 ) );
    }
    return string;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %r15
xorl %eax, %eax
callq 0x109c82
movq %rax, %rbx
testq %r15, %r15
je 0x124cd0
cmpq $0x0, 0x30(%r15)
je 0x124c5c
movq 0x28(%r15), %rdi
testq %rdi, %rdi
sete %al
leaq 0x787d0(%rip), %r13     # 0x19d3b0
cmpq %r13, %rdi
sete %cl
orb %al, %cl
jne 0x124bfe
leaq 0x1(%r14), %rsi
callq 0x124ba0
movq %rbx, %rdi
movq %rax, %rsi
callq 0x10a641
testq %r14, %r14
je 0x124c1f
leaq 0x1ede0(%rip), %r12     # 0x1439ea
movq %r14, %rbp
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x10a7d0
decq %rbp
jne 0x124c0d
movq (%r15), %rdx
movq 0x8(%r15), %rcx
leaq 0x29d85(%rip), %rsi     # 0x14e9b2
movq %rbx, %rdi
xorl %eax, %eax
callq 0x10a7d0
movq 0x30(%r15), %rax
testq %rax, %rax
sete %cl
cmpq %r13, %rax
sete %al
orb %cl, %al
jne 0x124c5c
leaq 0x1ed98(%rip), %rsi     # 0x1439ea
movq %rbx, %rdi
xorl %eax, %eax
callq 0x10a7d0
cmpq $0x0, 0x38(%r15)
je 0x124ce1
testq %r14, %r14
je 0x124c84
leaq 0x1ed7b(%rip), %r12     # 0x1439ea
movq %r14, %r13
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x10a7d0
decq %r13
jne 0x124c72
movq 0x10(%r15), %rdx
movq 0x18(%r15), %rcx
leaq 0x29d1f(%rip), %rsi     # 0x14e9b2
movq %rbx, %rdi
xorl %eax, %eax
callq 0x10a7d0
movq 0x38(%r15), %rdi
testq %rdi, %rdi
sete %al
leaq 0x78702(%rip), %rcx     # 0x19d3b0
cmpq %rcx, %rdi
sete %cl
orb %al, %cl
jne 0x124ce1
incq %r14
movq %r14, %rsi
callq 0x124ba0
movq %rbx, %rdi
movq %rax, %rsi
callq 0x10a641
jmp 0x124ce1
leaq 0x29bd8(%rip), %rsi     # 0x14e8af
movq %rbx, %rdi
xorl %eax, %eax
callq 0x10a7d0
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_pp_s_create
bcore_btree_pp_s* bcore_btree_pp_s_create( vd_t (*alloc)( vd_t, uz_t size ) )
{
    bcore_btree_pp_s* o = NULL;
    if( alloc )
    {
        o = alloc( NULL, sizeof( bcore_btree_pp_s ) );
        o->alloc = alloc;
    }
    else
    {
        o = bcore_alloc( NULL, sizeof( bcore_btree_pp_s ) );
        o->alloc = bcore_alloc;
    }
    o->root      = NULL;
    o->chain_beg = NULL;
    o->chain_end = NULL;
    o->chain_ins = NULL;
    o->del_chain = NULL;
    o->block_size = 1024;
    return o;
}

// Assembly:
pushq %rbx
testq %rdi, %rdi
je 0x124d07
movq %rdi, %rbx
movl $0x38, %esi
xorl %edi, %edi
callq *%rbx
jmp 0x124d1a
movl $0x38, %esi
xorl %edi, %edi
callq 0xbe7b1
leaq -0x66569(%rip), %rbx    # 0xbe7b1
movq %rbx, 0x28(%rax)
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movq $0x0, 0x20(%rax)
movq $0x400, 0x30(%rax)      # imm = 0x400
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_pp_s_new_node
bcore_btree_node_pp_s* bcore_btree_pp_s_new_node( bcore_btree_pp_s* o )
{
    if( o->del_chain )
    {
        bcore_btree_node_pp_s* new_node = o->del_chain;
        o->del_chain = new_node->parent;
        bcore_btree_node_pp_s_init( new_node );
        return new_node;
    }
    else
    {
        if( o->chain_ins == o->chain_end )
        {
            bcore_btree_node_pp_s* new_ptr = o->alloc( NULL, o->block_size * sizeof( bcore_btree_node_pp_s ) + sizeof( bcore_btree_node_pp_s* ) );
            if( !o->chain_beg )
            {
                o->chain_beg = new_ptr;
            }
            else
            {
                ( ( bcore_btree_node_pp_s** )( o->chain_end ) )[ 0 ] = new_ptr;
            }
            o->chain_ins = new_ptr;
            o->chain_end = new_ptr + o->block_size;
            *( bcore_btree_node_pp_s** )( o->chain_end ) = NULL;
        }
        bcore_btree_node_pp_s* new_node = o->chain_ins;
        bcore_btree_node_pp_s_init( new_node );
        o->chain_ins++;
        return new_node;
    }
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x20(%rdi), %rax
testq %rax, %rax
je 0x124da5
movq 0x20(%rax), %rcx
movq %rcx, 0x20(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, (%rax)
jmp 0x124e0d
movq 0x18(%rbx), %rax
cmpq 0x10(%rbx), %rax
jne 0x124df6
movq 0x30(%rbx), %rsi
shlq $0x6, %rsi
orq $0x8, %rsi
xorl %edi, %edi
callq *0x28(%rbx)
cmpq $0x0, 0x8(%rbx)
je 0x124dcd
movq 0x10(%rbx), %rcx
jmp 0x124dd1
leaq 0x8(%rbx), %rcx
movq %rax, (%rcx)
movq %rax, 0x18(%rbx)
movq 0x30(%rbx), %rcx
shlq $0x6, %rcx
movq %rax, %rdx
addq %rcx, %rdx
movq %rdx, 0x10(%rbx)
movq $0x0, (%rax,%rcx)
movq 0x18(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0x30(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, (%rax)
addq $0x40, 0x18(%rbx)
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_pp_s_exists
bl_t bcore_btree_pp_s_exists( const bcore_btree_pp_s* o, bcore_btree_pp_key_t key )
{
    if( !o ) return false;
    bcore_btree_node_pp_s* node = bcore_btree_node_pp_s_find( o->root, key );
    if( !node ) return false;
    if( node->kv1.key == key ) return true;
    if( node->child2 && node->kv2.key == key ) return true;
    return false;
}

// Assembly:
testq %rdi, %rdi
je 0x125439
pushq %rbx
movq %rsi, %rbx
movq (%rdi), %rdi
callq 0x12438c
testq %rax, %rax
je 0x125435
movq %rax, %rcx
movb $0x1, %al
cmpq %rbx, (%rcx)
je 0x125437
cmpq $0x0, 0x38(%rcx)
je 0x125435
cmpq %rbx, 0x10(%rcx)
je 0x125437
xorl %eax, %eax
popq %rbx
retq
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_pp_s_val
bcore_btree_pp_val_t* bcore_btree_pp_s_val( const bcore_btree_pp_s* o, bcore_btree_pp_key_t key )
{
    if( !o )    return NULL;
    bcore_btree_node_pp_s* node = bcore_btree_node_pp_s_find( o->root, key );
    if( !node ) return NULL;
    if( node->kv1.key == key ) return &node->kv1.val;
    if( node->child2 && node->kv2.key == key ) return &node->kv2.val;
    return NULL;
}

// Assembly:
testq %rdi, %rdi
je 0x12547c
pushq %rbx
movq %rsi, %rbx
movq (%rdi), %rdi
callq 0x12438c
testq %rax, %rax
je 0x12547f
cmpq %rbx, (%rax)
je 0x125483
cmpq $0x0, 0x38(%rax)
je 0x12547f
movq %rax, %rcx
addq $0x18, %rcx
xorl %edx, %edx
cmpq %rbx, 0x10(%rax)
cmoveq %rcx, %rdx
movq %rdx, %rax
jmp 0x125487
xorl %eax, %eax
retq
xorl %eax, %eax
jmp 0x125487
addq $0x8, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_pp_s_set
int bcore_btree_pp_s_set( bcore_btree_pp_s* o, bcore_btree_pp_key_t key, bcore_btree_pp_val_t val )
{
    if( !o ) return -2;
    if( !o->root )
    {
        o->root = bcore_btree_pp_s_new_node( o );
        o->root->child0 = o->root->child1 = BNUL_PP;
        o->root->child2 = NULL;
        o->root->kv1.key = key;
        o->root->kv1.val = val;
        return 1;
    }

    bcore_btree_node_pp_s* node = bcore_btree_node_pp_s_find( o->root, key );
    if( !node ) return -2;

    if( node->kv1.key == key )
    {
        if( node->kv1.val == val ) return 0;
        node->kv1.val = val;
        return -1;
    }
    else if( node->child2 && node->kv2.key == key )
    {
        if( node->kv2.val == val ) return 0;
        node->kv2.val = val;
        return -1;
    }
    else
    {
        bcore_btree_pp_kv_s kv = { key, val };
        bcore_btree_pp_s_push( o, node, &kv, BNUL_PP, BNUL_PP );
        return 1;
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x18, %rsp
movl $0xfffffffe, %ebp       # imm = 0xFFFFFFFE
testq %rdi, %rdi
je 0x125522
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r15
movq (%rdi), %rdi
testq %rdi, %rdi
je 0x1254f4
movq %r14, %rsi
callq 0x12438c
testq %rax, %rax
je 0x125522
cmpq %r14, (%rax)
je 0x12552f
cmpq $0x0, 0x38(%rax)
je 0x1254d1
cmpq %r14, 0x10(%rax)
je 0x12553b
leaq 0x8(%rsp), %rdx
movq %r14, (%rdx)
movq %rbx, 0x8(%rdx)
leaq 0x77ecc(%rip), %rcx     # 0x19d3b0
movq %r15, %rdi
movq %rax, %rsi
movq %rcx, %r8
callq 0x124e2b
jmp 0x12551d
movq %r15, %rdi
callq 0x124d7c
movq %rax, (%r15)
leaq 0x77eaa(%rip), %rcx     # 0x19d3b0
movq %rcx, 0x30(%rax)
movq %rcx, 0x28(%rax)
movq $0x0, 0x38(%rax)
movq %r14, (%rax)
movq %rbx, 0x8(%rax)
movl $0x1, %ebp
movl %ebp, %eax
addq $0x18, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
cmpq %rbx, 0x8(%rax)
je 0x12554c
movq %rbx, 0x8(%rax)
jmp 0x125545
cmpq %rbx, 0x18(%rax)
je 0x12554c
movq %rbx, 0x18(%rax)
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
jmp 0x125522
xorl %ebp, %ebp
jmp 0x125522
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_pp_s_show
st_s* bcore_btree_pp_s_show( bcore_btree_pp_s* o )
{
    bcore_btree_node_pp_s_check_consistency( o->root );
    st_s* s = bcore_btree_node_pp_s_show( o->root, 0 );
    st_s_pushf( s, "\n" );
    return s;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq (%rdi), %rdi
callq 0x124735
movq (%rbx), %rdi
xorl %esi, %esi
callq 0x124ba0
movq %rax, %rbx
leaq 0x22ffa(%rip), %rsi     # 0x148714
movq %rax, %rdi
xorl %eax, %eax
callq 0x10a7d0
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_vd_s_find
bcore_btree_node_vd_s* bcore_btree_node_vd_s_find( bcore_btree_node_vd_s* root, bcore_btree_vd_key_t key )
{
    if( !root ) return NULL;
    bcore_btree_node_vd_s* node = NULL;
    while( root->child0 != BNUL_VP && root != node )
    {
        node = root;
        root = ( key < node->kv1.key )                                         ? node->child0 :
               ( !node->child2 && key > node->kv1.key )                        ? node->child1 :
               (  node->child2 && key > node->kv2.key )                        ? node->child2 :
               (  node->child2 && key > node->kv1.key && key < node->kv2.key ) ? node->child1 : node;
    }
    return root;
}

// Assembly:
testq %rdi, %rdi
je 0x125945
movq 0x18(%rdi), %rdx
leaq 0x77b0c(%rip), %rcx     # 0x19d3f0
cmpq %rcx, %rdx
je 0x125948
movq (%rdi), %r8
movq %rdx, %rax
cmpq %rsi, %r8
ja 0x125933
movq 0x28(%rdi), %rax
testq %rax, %rax
sete %dl
cmpq %rsi, %r8
setb %r9b
testb %dl, %r9b
jne 0x12592f
testq %rax, %rax
je 0x125948
cmpq %rsi, %r8
setae %r8b
movq 0x8(%rdi), %rdx
cmpq %rsi, %rdx
setb %r9b
cmovaeq %rdi, %rax
orb %r8b, %r9b
jne 0x125933
cmpq %rsi, %rdx
jbe 0x125948
movq 0x20(%rdi), %rax
cmpq %rdi, %rax
je 0x125944
movq 0x18(%rax), %rdx
movq %rax, %rdi
cmpq %rcx, %rdx
jne 0x1258e9
retq
xorl %eax, %eax
retq
movq %rdi, %rax
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_vd_s_largest_below_equal
bcore_btree_vd_key_t bcore_btree_node_vd_s_largest_below_equal( bcore_btree_node_vd_s* root, bcore_btree_vd_key_t key )
{
    if( !root ) return 0;
    if( root->child0 == BNUL_VP )
    {
        if( ( root->child2 ) && key >= root->kv2.key ) return root->kv2.key;
        return ( key >= root->kv1.key ) ? root->kv1.key : 0;
    }
    else if( ( root->child2 ) && key >= root->kv2.key )
    {
        bcore_btree_vd_key_t branch_key = bcore_btree_node_vd_s_largest_below_equal( root->child2, key );
        return ( branch_key >= root->kv2.key ) ? branch_key : root->kv2.key;
    }
    else if( key >= root->kv1.key )
    {
        bcore_btree_vd_key_t branch_key = bcore_btree_node_vd_s_largest_below_equal( root->child1, key );
        return ( branch_key >= root->kv1.key ) ? branch_key : root->kv1.key;
    }
    else
    {
        return bcore_btree_node_vd_s_largest_below_equal( root->child0, key );
    }
}

// Assembly:
pushq %rbx
xorl %eax, %eax
leaq 0x77a9a(%rip), %r8      # 0x19d3f0
testq %rdi, %rdi
je 0x1259b2
movq %rdi, %rdx
movq 0x18(%rdi), %rdi
movq 0x28(%rdx), %rcx
cmpq %r8, %rdi
je 0x125987
testq %rcx, %rcx
je 0x125979
movq 0x8(%rdx), %rbx
cmpq %rsi, %rbx
jbe 0x1259a3
movq (%rdx), %rbx
cmpq %rsi, %rbx
ja 0x125956
movq 0x20(%rdx), %rdi
jmp 0x1259a6
testq %rcx, %rcx
je 0x125995
movq 0x8(%rdx), %rax
cmpq %rsi, %rax
jbe 0x1259b2
movq (%rdx), %rcx
xorl %eax, %eax
cmpq %rsi, %rcx
cmovbeq %rcx, %rax
jmp 0x1259b2
movq %rcx, %rdi
callq 0x12594c
cmpq %rbx, %rax
cmovbq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_vd_s_run
void bcore_btree_node_vd_s_run( const bcore_btree_node_vd_s* root, void(*func)( vd_t arg, bcore_btree_vd_key_t key ), vd_t arg )
{
    if( !root ) return;
    if( !func ) return;
    if( root->child0 )
    {
        if( root->child0 != BNUL_VP ) bcore_btree_node_vd_s_run( root->child0, func, arg );
    }
    if( root->child1 )
    {
        func( arg, root->kv1.key );
        if( root->child1 != BNUL_VP ) bcore_btree_node_vd_s_run( root->child1, func, arg );
    }
    if( root->child2 )
    {
        func( arg, root->kv2.key );
        if( root->child2 != BNUL_VP ) bcore_btree_node_vd_s_run( root->child2, func, arg );
    }
}

// Assembly:
testq %rsi, %rsi
je 0x125a42
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r15
leaq 0x77a1b(%rip), %r12     # 0x19d3f0
testq %r15, %r15
je 0x125a37
movq 0x18(%r15), %rdi
testq %rdi, %rdi
sete %al
cmpq %r12, %rdi
sete %cl
orb %al, %cl
jne 0x1259f9
movq %r14, %rsi
movq %rbx, %rdx
callq 0x1259b4
cmpq $0x0, 0x20(%r15)
je 0x125a1d
movq (%r15), %rsi
movq %rbx, %rdi
callq *%r14
movq 0x20(%r15), %rdi
cmpq %r12, %rdi
je 0x125a1d
movq %r14, %rsi
movq %rbx, %rdx
callq 0x1259b4
cmpq $0x0, 0x28(%r15)
je 0x125a37
movq 0x8(%r15), %rsi
movq %rbx, %rdi
callq *%r14
movq 0x28(%r15), %r15
cmpq %r12, %r15
jne 0x1259d5
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_vd_s_count
uz_t bcore_btree_node_vd_s_count( const bcore_btree_node_vd_s* root, bl_t (*func)( vd_t arg, bcore_btree_vd_key_t key ), vd_t arg )
{
    uz_t count = 0;
    if( !root ) return count;
    if( root->child0 )
    {
        if( root->child0 != BNUL_VP ) count += bcore_btree_node_vd_s_count( root->child0, func, arg );
    }
    if( root->child1 )
    {
        count += ( func ) ? func( arg, root->kv1.key ) : 1;
        if( root->child1 != BNUL_VP ) count += bcore_btree_node_vd_s_count( root->child1, func, arg );
    }
    if( root->child2 )
    {
        count += ( func ) ? func( arg, root->kv2.key ) : 1;
        if( root->child2 != BNUL_VP ) count += bcore_btree_node_vd_s_count( root->child2, func, arg );
    }
    return count;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x125b17
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %r12
leaq 0x77989(%rip), %rbp     # 0x19d3f0
xorl %ebx, %ebx
movq 0x18(%r12), %rdi
testq %rdi, %rdi
sete %al
cmpq %rbp, %rdi
sete %cl
orb %al, %cl
je 0x125a83
xorl %r13d, %r13d
jmp 0x125a91
movq %r15, %rsi
movq %r14, %rdx
callq 0x125a43
movq %rax, %r13
movq 0x20(%r12), %rdi
testq %rdi, %rdi
je 0x125acf
testq %r15, %r15
je 0x125ab4
movq (%r12), %rsi
movq %r14, %rdi
callq *%r15
movzbl %al, %eax
movq 0x20(%r12), %rdi
jmp 0x125ab9
movl $0x1, %eax
addq %rax, %r13
cmpq %rbp, %rdi
je 0x125acf
movq %r15, %rsi
movq %r14, %rdx
callq 0x125a43
addq %rax, %r13
movq 0x28(%r12), %rcx
testq %rcx, %rcx
je 0x125b12
testq %r15, %r15
je 0x125af3
movq 0x8(%r12), %rsi
movq %r14, %rdi
callq *%r15
movzbl %al, %eax
movq 0x28(%r12), %r12
jmp 0x125afb
movl $0x1, %eax
movq %rcx, %r12
addq %rax, %r13
cmpq %rbp, %r12
je 0x125b12
addq %r13, %rbx
testq %r12, %r12
jne 0x125a69
xorl %r13d, %r13d
addq %r13, %rbx
jmp 0x125b19
xorl %ebx, %ebx
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_vd_s_keys
uz_t bcore_btree_node_vd_s_keys( bcore_btree_node_vd_s* root )
{
    if( !root || root == BNUL_VP ) return 0;
    uz_t keys = root->child2 ? 2 : 1;
    keys += bcore_btree_node_vd_s_keys( root->child0 );
    keys += bcore_btree_node_vd_s_keys( root->child1 );
    if( root->child2 ) keys += bcore_btree_node_vd_s_keys( root->child2 );
    return keys;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
testq %rdi, %rdi
sete %al
leaq 0x778ad(%rip), %r12     # 0x19d3f0
cmpq %r12, %rdi
sete %cl
orb %al, %cl
je 0x125b51
xorl %ebx, %ebx
jmp 0x125b97
movq %rdi, %r14
xorl %ebx, %ebx
movq %r14, %r13
movq 0x18(%r14), %rdi
movq 0x28(%r14), %r14
xorl %ebp, %ebp
testq %r14, %r14
sete %bpl
callq 0x125b2b
movq %rax, %r15
subq %rbp, %r15
movq 0x20(%r13), %rdi
callq 0x125b2b
addq %r15, %rax
addq $0x2, %rax
testq %r14, %r14
je 0x125b94
addq %rax, %rbx
cmpq %r12, %r14
jne 0x125b56
xorl %eax, %eax
addq %rax, %rbx
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_node_vd_s_show
st_s* bcore_btree_node_vd_s_show( bcore_btree_node_vd_s* o, uz_t depth )
{
    st_s* string = st_s_create();
    if( !o )
    {
        st_s_pushf( string, "()\n" );
        return string;
    }
    if( o->child1 )
    {
        if( o->child0 && o->child0 != BNUL_VP ) st_s_push_st_d( string, bcore_btree_node_vd_s_show( o->child0, depth + 1 ) );
        for( uz_t i = 0; i < depth; i++ ) st_s_pushf( string, "    " );
        st_s_pushf( string, "(%lu)\n", ( int64_t )(intptr_t)o->kv1.key );
        if( o->child1 && o->child1 != BNUL_VP ) st_s_pushf( string, "    " );
    }
    if( o->child2 )
    {
        for( uz_t i = 0; i < depth; i++ ) st_s_pushf( string, "    " );
        st_s_pushf( string, "(%lu)\n", ( int64_t )(intptr_t)o->kv2.key );
        if( o->child2 && o->child2 != BNUL_VP ) st_s_push_st_d( string, bcore_btree_node_vd_s_show( o->child2, depth + 1 ) );
    }
    return string;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %r15
xorl %eax, %eax
callq 0x109c82
movq %rax, %rbx
testq %r15, %r15
je 0x12619b
cmpq $0x0, 0x20(%r15)
je 0x12612b
movq 0x18(%r15), %rdi
testq %rdi, %rdi
sete %al
leaq 0x7733d(%rip), %r13     # 0x19d3f0
cmpq %r13, %rdi
sete %cl
orb %al, %cl
jne 0x1260d1
leaq 0x1(%r14), %rsi
callq 0x126073
movq %rbx, %rdi
movq %rax, %rsi
callq 0x10a641
testq %r14, %r14
je 0x1260f2
leaq 0x1d90d(%rip), %r12     # 0x1439ea
movq %r14, %rbp
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x10a7d0
decq %rbp
jne 0x1260e0
movq (%r15), %rdx
leaq 0x289cf(%rip), %rsi     # 0x14eacb
movq %rbx, %rdi
xorl %eax, %eax
callq 0x10a7d0
movq 0x20(%r15), %rax
testq %rax, %rax
sete %cl
cmpq %r13, %rax
sete %al
orb %cl, %al
jne 0x12612b
leaq 0x1d8c9(%rip), %rsi     # 0x1439ea
movq %rbx, %rdi
xorl %eax, %eax
callq 0x10a7d0
cmpq $0x0, 0x28(%r15)
je 0x1261ac
testq %r14, %r14
je 0x126153
leaq 0x1d8ac(%rip), %r12     # 0x1439ea
movq %r14, %r13
movq %rbx, %rdi
movq %r12, %rsi
xorl %eax, %eax
callq 0x10a7d0
decq %r13
jne 0x126141
movq 0x8(%r15), %rdx
leaq 0x2896d(%rip), %rsi     # 0x14eacb
movq %rbx, %rdi
xorl %eax, %eax
callq 0x10a7d0
movq 0x28(%r15), %rdi
testq %rdi, %rdi
sete %al
leaq 0x77277(%rip), %rcx     # 0x19d3f0
cmpq %rcx, %rdi
sete %cl
orb %al, %cl
jne 0x1261ac
incq %r14
movq %r14, %rsi
callq 0x126073
movq %rbx, %rdi
movq %rax, %rsi
callq 0x10a641
jmp 0x1261ac
leaq 0x2870d(%rip), %rsi     # 0x14e8af
movq %rbx, %rdi
xorl %eax, %eax
callq 0x10a7d0
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_vd_s_create
bcore_btree_vd_s* bcore_btree_vd_s_create( vd_t (*alloc)( vd_t, uz_t size ) )
{
    bcore_btree_vd_s* o = NULL;
    if( alloc )
    {
        o = alloc( NULL, sizeof( bcore_btree_vd_s ) );
        o->alloc = alloc;
    }
    else
    {
        o = bcore_alloc( NULL, sizeof( bcore_btree_vd_s ) );
        o->alloc = bcore_alloc;
    }
    o->root      = NULL;
    o->chain_beg = NULL;
    o->chain_end = NULL;
    o->chain_ins = NULL;
    o->del_chain = NULL;
    o->block_size = 1024;
    return o;
}

// Assembly:
pushq %rbx
testq %rdi, %rdi
je 0x1261d2
movq %rdi, %rbx
movl $0x38, %esi
xorl %edi, %edi
callq *%rbx
jmp 0x1261e5
movl $0x38, %esi
xorl %edi, %edi
callq 0xbe7b1
leaq -0x67a34(%rip), %rbx    # 0xbe7b1
movq %rbx, 0x28(%rax)
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movups %xmm0, 0x10(%rax)
movq $0x0, 0x20(%rax)
movq $0x400, 0x30(%rax)      # imm = 0x400
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_vd_s_discard
void bcore_btree_vd_s_discard( bcore_btree_vd_s* o )
{
    o->root = NULL;

    bcore_btree_node_vd_s* chain_beg = o->chain_beg;
    while( chain_beg )
    {
        bcore_btree_node_vd_s* new_beg = *( bcore_btree_node_vd_s** )( chain_beg + o->block_size );
        o->alloc( chain_beg, 0 );
        chain_beg = new_beg;
    }

    o->alloc( o, 0 );
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq $0x0, (%rdi)
movq 0x8(%rdi), %rdi
testq %rdi, %rdi
je 0x126239
movq 0x30(%rbx), %rax
leaq (%rax,%rax,2), %rax
shlq $0x4, %rax
movq (%rdi,%rax), %r14
xorl %esi, %esi
callq *0x28(%rbx)
movq %r14, %rdi
testq %r14, %r14
jne 0x12621c
movq 0x28(%rbx), %rax
movq %rbx, %rdi
xorl %esi, %esi
addq $0x8, %rsp
popq %rbx
popq %r14
jmpq *%rax
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_vd_s_new_node
bcore_btree_node_vd_s* bcore_btree_vd_s_new_node( bcore_btree_vd_s* o )
{
    if( o->del_chain )
    {
        bcore_btree_node_vd_s* new_node = o->del_chain;
        o->del_chain = new_node->parent;
        bcore_btree_node_vd_s_init( new_node );
        return new_node;
    }
    else
    {
        if( o->chain_ins == o->chain_end )
        {
            bcore_btree_node_vd_s* new_ptr = o->alloc( NULL, o->block_size * sizeof( bcore_btree_node_vd_s ) + sizeof( bcore_btree_node_vd_s* ) );
            if( !o->chain_beg )
            {
                o->chain_beg = new_ptr;
            }
            else
            {
                ( ( bcore_btree_node_vd_s** )( o->chain_end ) )[ 0 ] = new_ptr;
            }
            o->chain_ins = new_ptr;
            o->chain_end = new_ptr + o->block_size;
            *( bcore_btree_node_vd_s** )( o->chain_end ) = NULL;
        }
        bcore_btree_node_vd_s* new_node = o->chain_ins;
        bcore_btree_node_vd_s_init( new_node );
        o->chain_ins++;
        return new_node;
    }
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x20(%rdi), %rax
testq %rax, %rax
je 0x126270
movq 0x10(%rax), %rcx
movq %rcx, 0x20(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, (%rax)
jmp 0x1262dc
movq 0x18(%rbx), %rax
cmpq 0x10(%rbx), %rax
jne 0x1262c9
movq 0x30(%rbx), %rax
shlq $0x4, %rax
leaq (%rax,%rax,2), %rsi
addq $0x8, %rsi
xorl %edi, %edi
callq *0x28(%rbx)
cmpq $0x0, 0x8(%rbx)
je 0x12629c
movq 0x10(%rbx), %rcx
jmp 0x1262a0
leaq 0x8(%rbx), %rcx
movq %rax, (%rcx)
movq %rax, 0x18(%rbx)
movq 0x30(%rbx), %rcx
leaq (%rcx,%rcx,2), %rcx
shlq $0x4, %rcx
movq %rax, %rdx
addq %rcx, %rdx
movq %rdx, 0x10(%rbx)
movq $0x0, (%rax,%rcx)
movq 0x18(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, (%rax)
addq $0x30, 0x18(%rbx)
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_vd_s_exists
bl_t bcore_btree_vd_s_exists( const bcore_btree_vd_s* o, bcore_btree_vd_key_t key )
{
    if( !o )    return false;
    bcore_btree_node_vd_s* node = bcore_btree_node_vd_s_find( o->root, key );
    if( !node ) return false;
    if( node->kv1.key == key ) return true;
    if( node->child2 && node->kv2.key == key ) return true;
    return false;
}

// Assembly:
testq %rdi, %rdi
je 0x1268f6
pushq %rbx
movq %rsi, %rbx
movq (%rdi), %rdi
callq 0x1258d4
testq %rax, %rax
je 0x1268f2
movq %rax, %rcx
movb $0x1, %al
cmpq %rbx, (%rcx)
je 0x1268f4
cmpq $0x0, 0x28(%rcx)
je 0x1268f2
cmpq %rbx, 0x8(%rcx)
je 0x1268f4
xorl %eax, %eax
popq %rbx
retq
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_vd_s_set
int bcore_btree_vd_s_set( bcore_btree_vd_s* o, bcore_btree_vd_key_t key )
{
    if( !o ) return -2;
    if( !o->root )
    {
        o->root = bcore_btree_vd_s_new_node( o );
        o->root->child0 = o->root->child1 = BNUL_VP;
        o->root->child2 = NULL;
        o->root->kv1.key = key;
        return 1;
    }

    bcore_btree_node_vd_s* node = bcore_btree_node_vd_s_find( o->root, key );
    if( !node ) return -2;

    if( node->kv1.key == key )
    {
        return 0;
    }
    else if( node->child2 && node->kv2.key == key )
    {
        return 0;
    }
    else
    {
        bcore_btree_vd_kv_s kv = { key };
        bcore_btree_vd_s_push( o, node, &kv, BNUL_VP, BNUL_VP );
        return 1;
    }
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x10, %rsp
movl $0xfffffffe, %ebp       # imm = 0xFFFFFFFE
testq %rdi, %rdi
je 0x12698b
movq %rsi, %rbx
movq %rdi, %r14
movq (%rdi), %rdi
testq %rdi, %rdi
je 0x126961
movq %rbx, %rsi
callq 0x1258d4
testq %rax, %rax
je 0x12698b
xorl %ebp, %ebp
cmpq %rbx, (%rax)
je 0x12698b
cmpq $0x0, 0x28(%rax)
je 0x126942
cmpq %rbx, 0x8(%rax)
je 0x12698b
leaq 0x8(%rsp), %rdx
movq %rbx, (%rdx)
leaq 0x76a9f(%rip), %rcx     # 0x19d3f0
movq %r14, %rdi
movq %rax, %rsi
movq %rcx, %r8
callq 0x1262fa
jmp 0x126986
movq %r14, %rdi
callq 0x12624b
movq %rax, (%r14)
leaq 0x76a7d(%rip), %rcx     # 0x19d3f0
movq %rcx, 0x20(%rax)
movq %rcx, 0x18(%rax)
movq $0x0, 0x28(%rax)
movq %rbx, (%rax)
movl $0x1, %ebp
movl %ebp, %eax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_btree.c
// Function: bcore_btree_vd_s_show
st_s* bcore_btree_vd_s_show( bcore_btree_vd_s* o )
{
    bcore_btree_node_vd_s_check_consistency( o->root );
    st_s* s = bcore_btree_node_vd_s_show( o->root, 0 );
    st_s_pushf( s, "\n" );
    return s;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq (%rdi), %rdi
callq 0x125c5e
movq (%rbx), %rdi
xorl %esi, %esi
callq 0x126073
movq %rax, %rbx
leaq 0x21bb7(%rip), %rsi     # 0x148714
movq %rax, %rdi
xorl %eax, %eax
callq 0x10a7d0
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_const_manager.c
// Function: bcore_const_vget_r
const sr_s* bcore_const_vget_r( tp_t key, tp_t type )
{
    const sr_s* sr = bcore_const_get_r( key );
    if( !sr ) ERR_fa( "Key '#<sc_t>' (#<tp_t>) not registered.", ifnameof( key ), key );
    if( type != 0 )
    {
        if( sr_s_type( sr ) != type )
        {
            ERR_fa( "Key '#<sc_t>': Type mismatch: '#<sc_t>' requested but '#<sc_t>' registered.",
                    ifnameof( key ), ifnameof( type ), ifnameof( sr_s_type( sr ) ) );
        }
    }
    return sr;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %r15
movq 0x74bfc(%rip), %rdi     # 0x19d420
movq %r15, %rsi
callq 0xd4118
movq %rax, %rbx
testq %rax, %rax
je 0x12884c
testq %r14, %r14
je 0x128913
movq 0x8(%rbx), %rax
testq %rax, %rax
je 0x128893
movq 0x8(%rax), %r12
jmp 0x128896
movq %r15, %rdi
callq 0xd6ec4
testq %rax, %rax
leaq 0x1feb7(%rip), %r8      # 0x148715
cmovneq %rax, %r8
leaq 0x26458(%rip), %rdi     # 0x14ecc1
leaq 0x263ff(%rip), %rsi     # 0x14ec6f
leaq 0x2645d(%rip), %rcx     # 0x14ecd4
xorl %r12d, %r12d
movl $0x7a, %edx
movq %r15, %r9
xorl %eax, %eax
callq 0xbe6f9
testq %r14, %r14
jne 0x128896
jmp 0x128913
xorl %r12d, %r12d
cmpq %r14, %r12
je 0x128913
movq %r15, %rdi
callq 0xd6ec4
movq %rax, %r15
testq %rax, %rax
leaq 0x1fe65(%rip), %r12     # 0x148715
cmoveq %r12, %r15
movq %r14, %rdi
callq 0xd6ec4
movq %rax, %r14
testq %rax, %rax
cmoveq %r12, %r14
testq %rbx, %rbx
je 0x1288da
movq 0x8(%rbx), %rax
testq %rax, %rax
je 0x1288da
movq 0x8(%rax), %rdi
jmp 0x1288dc
xorl %edi, %edi
callq 0xd6ec4
testq %rax, %rax
cmovneq %rax, %r12
movq %r12, (%rsp)
leaq 0x263ce(%rip), %rdi     # 0x14ecc1
leaq 0x26375(%rip), %rsi     # 0x14ec6f
leaq 0x263fb(%rip), %rcx     # 0x14ecfc
movl $0x80, %edx
movq %r15, %r8
movq %r14, %r9
xorl %eax, %eax
callq 0xbe6f9
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_const_manager.c
// Function: bcore_const_string_set_st_d
tp_t bcore_const_string_set_st_d( st_s* string )
{
    tp_t key = typeof( string->sc );
    bcore_mutex_s_lock( mutex_st_g );
    if( bcore_hmap_tp_sr_s_exists( hmap_st_g, key ) )
    {
        st_s* st = bcore_hmap_tp_sr_s_get( hmap_st_g, key )->o;
        if( !st_s_equal_st( st, string ) )
        {
            bcore_mutex_s_unlock( mutex_st_g );
            ERR_fa( "Collision: Strings '#<sc_t>' and '#<sc_t>' produce the same key '#<tp_t>'.", string, st->sc, key );
        }
        st_s_discard( string );
    }
    else
    {
        bcore_hmap_tp_sr_s_set( hmap_st_g, key, sr_asm( string ) );
    }
    bcore_mutex_s_unlock( mutex_st_g );
    return key;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq %rdi, %r14
movq 0x8(%rdi), %rax
testq %rax, %rax
je 0x12898e
movabsq $-0x340d631b7bdddcdb, %rsi # imm = 0xCBF29CE484222325
movb (%rax), %dl
testb %dl, %dl
je 0x12899a
incq %rax
movabsq $0x100000001b3, %rcx    # imm = 0x100000001B3
movzbl %dl, %ebx
xorq %rsi, %rbx
imulq %rcx, %rbx
movb (%rax), %dl
incq %rax
movq %rbx, %rsi
testb %dl, %dl
jne 0x128976
jmp 0x12899d
movabsq $-0x509c42b379fe4821, %rbx # imm = 0xAF63BD4C8601B7DF
jmp 0x12899d
movq %rsi, %rbx
movq 0x74a84(%rip), %rdi     # 0x19d428
callq 0x1142c9
movq 0x74a80(%rip), %rdi     # 0x19d430
movq %rbx, %rsi
callq 0xd469a
movq 0x74a71(%rip), %r15     # 0x19d430
testb %al, %al
je 0x1289dc
movq %r15, %rdi
movq %rbx, %rsi
callq 0xd4118
movq (%rax), %r15
testq %r15, %r15
je 0x1289f0
movq 0x8(%r15), %rdi
jmp 0x1289f2
movq %r14, 0x18(%rsp)
testq %r14, %r14
je 0x1289fd
movq (%r14), %rdi
callq 0x1074f1
jmp 0x1289ff
xorl %edi, %edi
testq %r14, %r14
je 0x128a29
movq 0x8(%r14), %rsi
jmp 0x128a2b
xorl %eax, %eax
movq %rax, 0x20(%rsp)
movl $0x2, %eax
movq %rax, 0x28(%rsp)
movq %rax, 0x10(%rsp)
movups 0x18(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r15, %rdi
movq %rbx, %rsi
callq 0xd4234
jmp 0x128a74
xorl %esi, %esi
callq 0xbe959
testl %eax, %eax
je 0x128a6c
movq 0x749ed(%rip), %rdi     # 0x19d428
callq 0x1142fb
movq 0x8(%r15), %r9
movq %rbx, (%rsp)
leaq 0x262f9(%rip), %rdi     # 0x14ed48
leaq 0x26219(%rip), %rsi     # 0x14ec6f
leaq 0x26307(%rip), %rcx     # 0x14ed64
movl $0x9e, %edx
movq %r14, %r8
xorl %eax, %eax
callq 0xbe6f9
movq %r14, %rdi
callq 0x10a028
movq 0x749ad(%rip), %rdi     # 0x19d428
callq 0x1142fb
movq %rbx, %rax
addq $0x30, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_const_manager.c
// Function: bcore_const_string_get_sc
sc_t bcore_const_string_get_sc( tp_t key )
{
    bcore_mutex_s_lock( mutex_st_g );
    sr_s* sr = bcore_hmap_tp_sr_s_get( hmap_st_g, key );
    sc_t  sc = ( sr ) ? ( ( st_s* )sr->o )->sc : NULL;
    bcore_mutex_s_unlock( mutex_st_g );
    return sc;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x74972(%rip), %rdi     # 0x19d428
callq 0x1142c9
movq 0x7496e(%rip), %rdi     # 0x19d430
movq %rbx, %rsi
callq 0xd4118
testq %rax, %rax
je 0x128ad8
movq (%rax), %rax
movq 0x8(%rax), %rbx
jmp 0x128ada
xorl %ebx, %ebx
movq 0x74947(%rip), %rdi     # 0x19d428
callq 0x1142fb
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_const_manager.c
// Function: bcore_const_string_get_st
const st_s* bcore_const_string_get_st( tp_t key )
{
    bcore_mutex_s_lock( mutex_st_g );
    sr_s* sr = bcore_hmap_tp_sr_s_get( hmap_st_g, key );
    st_s* st = ( sr ) ? sr->o : NULL;
    bcore_mutex_s_unlock( mutex_st_g );
    return st;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x74932(%rip), %rdi     # 0x19d428
callq 0x1142c9
movq 0x7492e(%rip), %rdi     # 0x19d430
movq %rbx, %rsi
callq 0xd4118
testq %rax, %rax
je 0x128b14
movq (%rax), %rbx
jmp 0x128b16
xorl %ebx, %ebx
movq 0x7490b(%rip), %rdi     # 0x19d428
callq 0x1142fb
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_const_manager.c
// Function: bcore_const_string_exists
bl_t bcore_const_string_exists( tp_t key )
{
    bcore_mutex_s_lock( mutex_st_g );
    bl_t bl = bcore_hmap_tp_sr_s_exists( hmap_st_g, key );
    bcore_mutex_s_unlock( mutex_st_g );
    return bl;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x748f6(%rip), %rdi     # 0x19d428
callq 0x1142c9
movq 0x748f2(%rip), %rdi     # 0x19d430
movq %rbx, %rsi
callq 0xd469a
movl %eax, %ebx
movq 0x748d9(%rip), %rdi     # 0x19d428
callq 0x1142fb
movl %ebx, %eax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_global_manager.c
// Function: bcore_global_t_set_d
void bcore_global_t_set_d( tp_t key, tp_t t, vd_t v )
{
    assert( hmap_g );
    bcore_mutex_s_lock( mutex_g );
    bcore_hmap_tp_sr_s_set( hmap_g, key, sr_tsm( t, v ) );
    bcore_mutex_s_unlock( mutex_g );
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdx, %r12
movq %rsi, %r15
movq %rdi, %rbx
movq 0x744f9(%rip), %rdi     # 0x19d438
callq 0x1142c9
movq 0x744f5(%rip), %r14     # 0x19d440
movq %r12, 0x20(%rsp)
testq %r15, %r15
je 0x128f5f
movq %r15, %rdi
callq 0x1074f1
jmp 0x128f61
xorl %eax, %eax
movq %rax, 0x28(%rsp)
movl $0x2, %eax
movq %rax, 0x30(%rsp)
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r14, %rdi
movq %rbx, %rsi
callq 0xd4234
movq 0x744a8(%rip), %rdi     # 0x19d438
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x1142fb
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_global_manager.c
// Function: bcore_global_get_ifnexists_set
vd_t bcore_global_get_ifnexists_set( tp_t key, tp_t type )
{
    assert( hmap_g );
    bcore_mutex_s_lock( mutex_g );
    if( !bcore_hmap_tp_sr_s_exists( hmap_g, key ) )
    {
        bcore_hmap_tp_sr_s_set( hmap_g, key, sr_create( type ) );
    }
    const sr_s* sr = bcore_hmap_tp_sr_s_get( hmap_g, key );
    bcore_mutex_s_unlock( mutex_g );
    return ( sr ) ? sr->o : NULL;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq %rsi, %r15
movq %rdi, %rbx
movq 0x74204(%rip), %rdi     # 0x19d438
callq 0x1142c9
movq 0x74200(%rip), %rdi     # 0x19d440
movq %rbx, %rsi
callq 0xd469a
testb %al, %al
jne 0x129299
movq 0x741ed(%rip), %r14     # 0x19d440
movq %r15, %rdi
callq 0x10743a
movq %rax, 0x18(%rsp)
testq %r15, %r15
je 0x12926f
movq %r15, %rdi
callq 0x1074f1
jmp 0x129271
xorl %eax, %eax
movq %rax, 0x20(%rsp)
movl $0x2, %eax
movq %rax, 0x28(%rsp)
movq %rax, 0x10(%rsp)
movups 0x18(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r14, %rdi
movq %rbx, %rsi
callq 0xd4234
movq 0x741a0(%rip), %rdi     # 0x19d440
movq %rbx, %rsi
callq 0xd4118
movq %rax, %rbx
movq 0x74186(%rip), %rdi     # 0x19d438
callq 0x1142fb
testq %rbx, %rbx
je 0x1292c1
movq (%rbx), %rax
jmp 0x1292c3
xorl %eax, %eax
addq $0x30, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_global_manager.c
// Function: bcore_global_get_ifnexists_set_d
vd_t bcore_global_get_ifnexists_set_d( tp_t key, tp_t type, vd_t obj )
{
    assert( hmap_g );
    bcore_mutex_s_lock( mutex_g );
    if( !bcore_hmap_tp_sr_s_exists( hmap_g, key ) )
    {
        bcore_hmap_tp_sr_s_set( hmap_g, key, sr_tsm( type, obj ) );
    }
    else
    {
        bcore_inst_t_discard( type, obj );
    }
    const sr_s* sr = bcore_hmap_tp_sr_s_get( hmap_g, key );
    bcore_mutex_s_unlock( mutex_g );
    return ( sr ) ? sr->o : NULL;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
movq 0x74150(%rip), %rdi     # 0x19d438
callq 0x1142c9
movq 0x7414c(%rip), %rdi     # 0x19d440
movq %rbx, %rsi
callq 0xd469a
testb %al, %al
je 0x1293aa
testq %r14, %r14
je 0x1293ef
leaq 0x73154(%rip), %rax     # 0x19c468
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r15, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r15, %rdx
je 0x12936a
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x12936a
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x12936a
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x129373
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x12939a
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %r15, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0x730d9(%rip), %rdi     # 0x19c468
movq %r15, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r12, %rdi
movq %r14, %rsi
callq *0xb8(%r12)
jmp 0x1293ef
movq 0x7408f(%rip), %r12     # 0x19d440
movq %r14, 0x20(%rsp)
testq %r15, %r15
je 0x1293c5
movq %r15, %rdi
callq 0x1074f1
jmp 0x1293c7
xorl %eax, %eax
movq %rax, 0x28(%rsp)
movl $0x2, %eax
movq %rax, 0x30(%rsp)
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r12, %rdi
movq %rbx, %rsi
callq 0xd4234
movq 0x7404a(%rip), %rdi     # 0x19d440
movq %rbx, %rsi
callq 0xd4118
movq %rax, %rbx
movq 0x74030(%rip), %rdi     # 0x19d438
callq 0x1142fb
testq %rbx, %rbx
je 0x129417
movq (%rbx), %rax
jmp 0x129419
xorl %eax, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_global_manager.c
// Function: bcore_global_get_o
vd_t bcore_global_get_o( tp_t key )
{
    bcore_mutex_s_lock( mutex_g );
    const sr_s* sr = bcore_hmap_tp_sr_s_get( hmap_g, key );
    bcore_mutex_s_unlock( mutex_g );
    return ( sr ) ? sr->o : NULL;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x73fa8(%rip), %rdi     # 0x19d438
callq 0x1142c9
movq 0x73fa4(%rip), %rdi     # 0x19d440
movq %rbx, %rsi
callq 0xd4118
movq %rax, %rbx
movq 0x73f8a(%rip), %rdi     # 0x19d438
callq 0x1142fb
testq %rbx, %rbx
je 0x1294bd
movq (%rbx), %rax
jmp 0x1294bf
xorl %eax, %eax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_global_manager.c
// Function: bcore_global_get_x
sr_s bcore_global_get_x( tp_t key )
{
    bcore_mutex_s_lock( mutex_g );
    const sr_s* sr = bcore_hmap_tp_sr_s_get( hmap_g, key );
    bcore_mutex_s_unlock( mutex_g );
    return ( sr ) ? sr_pwc( sr->p, sr->o ) : sr_null();
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq 0x73f66(%rip), %rdi     # 0x19d438
callq 0x1142c9
movq 0x73f62(%rip), %rdi     # 0x19d440
movq %r14, %rsi
callq 0xd4118
movq %rax, %r14
movq 0x73f48(%rip), %rdi     # 0x19d438
callq 0x1142fb
testq %r14, %r14
je 0x12950b
movups (%r14), %xmm0
movups %xmm0, (%rbx)
movq $0x1, 0x10(%rbx)
jmp 0x129519
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_global_manager.c
// Function: bcore_global_get_r
sr_s* bcore_global_get_r( tp_t key )
{
    bcore_mutex_s_lock( mutex_g );
    sr_s* sr = bcore_hmap_tp_sr_s_get( hmap_g, key );
    bcore_mutex_s_unlock( mutex_g );
    return sr;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x73f09(%rip), %rdi     # 0x19d438
callq 0x1142c9
movq 0x73f05(%rip), %rdi     # 0x19d440
movq %rbx, %rsi
callq 0xd4118
movq %rax, %rbx
movq 0x73eeb(%rip), %rdi     # 0x19d438
callq 0x1142fb
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_global_manager.c
// Function: bcore_global_vget_r
sr_s* bcore_global_vget_r( tp_t key, tp_t type )
{
    sr_s* sr = bcore_global_get_r( key );
    if( !sr ) ERR_fa( "Key '#<sc_t>' (#<tp_t>) not registered.", ifnameof( key ), key );
    if( type != 0 )
    {
        if( sr_s_type( sr ) != type )
        {
            ERR_fa( "Key '#<sc_t>': Type mismatch: '#<sc_t>' requested but '#<sc_t>' registered.",
                    ifnameof( key ), ifnameof( type ), ifnameof( sr_s_type( sr ) ) );
        }
    }
    return sr;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %r15
callq 0x129524
movq %rax, %rbx
testq %rax, %rax
je 0x129595
testq %r14, %r14
je 0x12965c
movq 0x8(%rbx), %rax
testq %rax, %rax
je 0x1295dc
movq 0x8(%rax), %r12
jmp 0x1295df
movq %r15, %rdi
callq 0xd6ec4
testq %rax, %rax
leaq 0x1f16e(%rip), %r8      # 0x148715
cmovneq %rax, %r8
leaq 0x258ff(%rip), %rdi     # 0x14eeb1
leaq 0x2590c(%rip), %rsi     # 0x14eec5
leaq 0x25714(%rip), %rcx     # 0x14ecd4
xorl %r12d, %r12d
movl $0xa5, %edx
movq %r15, %r9
xorl %eax, %eax
callq 0xbe6f9
testq %r14, %r14
jne 0x1295df
jmp 0x12965c
xorl %r12d, %r12d
cmpq %r14, %r12
je 0x12965c
movq %r15, %rdi
callq 0xd6ec4
movq %rax, %r15
testq %rax, %rax
leaq 0x1f11c(%rip), %r12     # 0x148715
cmoveq %r12, %r15
movq %r14, %rdi
callq 0xd6ec4
movq %rax, %r14
testq %rax, %rax
cmoveq %r12, %r14
testq %rbx, %rbx
je 0x129623
movq 0x8(%rbx), %rax
testq %rax, %rax
je 0x129623
movq 0x8(%rax), %rdi
jmp 0x129625
xorl %edi, %edi
callq 0xd6ec4
testq %rax, %rax
cmovneq %rax, %r12
movq %r12, (%rsp)
leaq 0x25875(%rip), %rdi     # 0x14eeb1
leaq 0x25882(%rip), %rsi     # 0x14eec5
leaq 0x256b2(%rip), %rcx     # 0x14ecfc
movl $0xab, %edx
movq %r15, %r8
movq %r14, %r9
xorl %eax, %eax
callq 0xbe6f9
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_global_manager.c
// Function: bcore_global_exists
bl_t bcore_global_exists( tp_t key )
{
    bcore_mutex_s_lock( mutex_g );
    bl_t bl = bcore_hmap_tp_sr_s_exists( hmap_g, key );
    bcore_mutex_s_unlock( mutex_g );
    return bl;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq 0x73da0(%rip), %rdi     # 0x19d438
callq 0x1142c9
movq 0x73d9c(%rip), %rdi     # 0x19d440
movq %rbx, %rsi
callq 0xd469a
movl %eax, %ebx
movq 0x73d83(%rip), %rdi     # 0x19d438
callq 0x1142fb
movl %ebx, %eax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_global_manager.c
// Function: bcore_global_size
sz_t bcore_global_size()
{
    bcore_mutex_s_lock( mutex_g );
    sz_t sz = bcore_hmap_tp_sr_s_keys( hmap_g );
    bcore_mutex_s_unlock( mutex_g );
    return sz;
}

// Assembly:
pushq %rbx
movq 0x73d72(%rip), %rdi     # 0x19d438
callq 0x1142c9
movq 0x73d6e(%rip), %rdi     # 0x19d440
callq 0xd4711
movq %rax, %rbx
movq 0x73d57(%rip), %rdi     # 0x19d438
callq 0x1142fb
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_img.c
// Function: bcore_img_u2_s_set_size
void bcore_img_u2_s_set_size( bcore_img_u2_s* o, uz_t rows, uz_t cols )
{
    bcore_array_a_set_size( ( bcore_array* )o, rows * cols );
    bcore_u_memzero( sizeof( u2_t ), o->data, o->size );
    o->rows = rows;
    o->cols = cols;
    o->stride = cols;

    if( !o->format ) o->format = TYPEOF_bcore_img_u2_argb;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
movq %rdx, %r12
imulq %rsi, %r12
movq (%rdi), %r13
leaq 0x721dd(%rip), %rax     # 0x19be20
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r13, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r13, %rdx
je 0x129c99
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r13, %rdx
je 0x129c99
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r13, %rdx
je 0x129c99
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r13, %rdx
jne 0x129ca2
movq (%rax,%rcx), %rbp
testq %rbp, %rbp
jne 0x129cc9
movabsq $-0x5073d588c3beb52e, %rdi # imm = 0xAF8C2A773C414AD2
movq %r13, %rsi
callq 0xe9bc5
movq %rax, %rbp
leaq 0x72162(%rip), %rdi     # 0x19be20
movq %r13, %rsi
movq %rax, %rdx
callq 0x115fac
movq %rbp, %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0xec548
movq 0x28(%rbx), %rsi
movq 0x30(%rbx), %rdx
movl $0x4, %edi
callq 0xbe825
movq %r15, 0x10(%rbx)
movq %r14, 0x18(%rbx)
movq %r14, 0x20(%rbx)
cmpq $0x0, 0x8(%rbx)
jne 0x129d0a
movabsq $-0x59225ce9298deaed, %rax # imm = 0xA6DDA316D6721513
movq %rax, 0x8(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore_img.c
// Function: bcore_img_u2_s_pnm_to_sink
const bcore_img_u2_s* bcore_img_u2_s_pnm_to_sink( const bcore_img_u2_s* o, bcore_sink* snk )
{
    bcore_sink_a_push_fa( snk, "P6\n#<uz_t> #<uz_t>\n255\n", o->cols, o->rows );
    for( sz_t i = 0; i < o->rows; i++ )
    {
        for( sz_t j = 0; j < o->cols; j++ )
        {
            u0_t rgb[ 3 ];
            bcore_img_u2_s_get_rgb( o, i, j, &rgb[ 0 ], &rgb[ 1 ], &rgb[ 2 ] );
            bcore_sink_a_push_data( snk, rgb, 3 );
        }
    }
    return o;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq 0x10(%rdi), %rcx
movq 0x18(%rdi), %rdx
leaq 0x251ea(%rip), %rsi     # 0x14ef26
movq %r14, %rdi
xorl %eax, %eax
callq 0xfe6d6
movq 0x10(%rbx), %rax
testq %rax, %rax
je 0x129ec7
movq 0x18(%rbx), %rcx
leaq 0x72d52(%rip), %r15     # 0x19cab0
movq $0x0, 0x8(%rsp)
xorl %edx, %edx
testq %rcx, %rcx
je 0x129eb3
movq %rdx, 0x10(%rsp)
xorl %ebp, %ebp
movq 0x8(%rbx), %rdi
movabsq $-0x59225ce9298deaed, %rax # imm = 0xA6DDA316D6721513
cmpq %rax, %rdi
jne 0x129db1
movq 0x20(%rbx), %rax
imulq 0x8(%rsp), %rax
addq 0x28(%rbx), %rax
movl (%rax,%rbp,4), %eax
movl %eax, %ecx
rolw $0x8, %cx
movw %cx, 0x6(%rsp)
shrl $0x10, %eax
movb %al, 0x5(%rsp)
jmp 0x129de8
callq 0xd6ec4
testq %rax, %rax
leaq 0x1e955(%rip), %rcx     # 0x148715
cmoveq %rcx, %rax
leaq 0x2518d(%rip), %rdi     # 0x14ef58
leaq 0x251a0(%rip), %rsi     # 0x14ef72
movl $0x4d, %edx
leaq 0x251a2(%rip), %rcx     # 0x14ef80
movq %rax, %r8
xorl %eax, %eax
callq 0xbe6f9
movq (%r14), %r12
movl (%r15), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r15,%rax,8), %rcx
movq 0x18(%r15,%rax,8), %rdx
andq %r12, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x129e41
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x129e41
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x129e41
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x129e4a
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x129e6d
movabsq $0x5ea8cabb93ff3b7e, %rdi # imm = 0x5EA8CABB93FF3B7E
movq %r12, %rsi
callq 0xe9bc5
movq %rax, %r13
movq %r15, %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x10(%r13), %rax
testq %rax, %rax
jne 0x129e89
movq %r13, %rdi
leaq 0x102b6(%rip), %rsi     # 0x13a136
callq 0xeb49c
movq 0x10(%r13), %rax
movl $0x3, %edx
movq %r14, %rdi
leaq 0x5(%rsp), %rsi
callq *%rax
incq %rbp
movq 0x18(%rbx), %rcx
cmpq %rcx, %rbp
jb 0x129d79
movq 0x10(%rbx), %rax
movq 0x10(%rsp), %rdx
jmp 0x129eb5
xorl %ecx, %ecx
incq %rdx
addq $0x4, 0x8(%rsp)
cmpq %rax, %rdx
jb 0x129d69
movq %rbx, %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq