LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_array.c
// Function: bcore_array_default_create_sorted_order
bcore_arr_uz_s* bcore_array_default_create_sorted_order( const bcore_array_s* p, const bcore_array* o, uz_t start, uz_t end, s2_t direction )
{
    bl_t is_of_aware = bcore_array_p_is_of_aware( p );
    bcore_cmp_f cmp =
    {
        .f = is_of_aware ? cmp_aware : ( bcore_fp_cmp_o )bcore_compare_spect,
        .o = is_of_aware ? NULL      : bcore_compare_s_get_typed( bcore_array_p_get_mono_type( p, o ) )
    };
    return bcore_array_p_create_sorted_order_f( p, o, start, end, cmp, direction );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl %r8d, -0x24(%rbp)
movq -0x8(%rbp), %rdi
callq 0xd8980
andb $0x1, %al
movb %al, -0x25(%rbp)
movb -0x25(%rbp), %dl
leaq 0x59cc(%rip), %rax      # 0xdf5c0
leaq -0x125b(%rip), %rcx     # 0xd89a0
testb $0x1, %dl
cmovneq %rcx, %rax
movq %rax, -0x38(%rbp)
leaq -0x38(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x40(%rbp)
testb $0x1, -0x25(%rbp)
je 0xd9c20
xorl %eax, %eax
movq %rax, -0x48(%rbp)
jmp 0xd9c39
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd8410
movq %rax, %rdi
callq 0xd89d0
movq %rax, -0x48(%rbp)
movq -0x40(%rbp), %rax
movq -0x48(%rbp), %rcx
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
movl -0x24(%rbp), %eax
movq -0x38(%rbp), %r8
movq -0x30(%rbp), %r9
movl %eax, (%rsp)
callq 0xd9c70
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_array.c
// Function: bcore_spect_array_signal_handler
vd_t bcore_spect_array_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_spect_array" ) ) )
    {
        case TYPEOF_init1:
        {
            array_s_define_trait();
            BCORE_REGISTER_FFUNC( bcore_spect_fp_create_from_self, bcore_array_s_create_from_self );
            BCORE_REGISTER_SPECT( bcore_array );
        }
        break;

        case TYPEOF_selftest:
        {
            return spect_array_selftest();
        }
        break;

        default: break;
    }

    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0x78049(%rip), %rdi     # 0x1533d4
callq 0xdb480
movq -0x20(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movq %rax, %rcx
movq %rcx, -0x18(%rbp)
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
je 0xdb3d0
jmp 0xdb3b4
movq -0x18(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0xdb455
jmp 0xdb460
callq 0xdc600
leaq 0x7800a(%rip), %rdi     # 0x1533e6
callq 0xdb4a0
movq %rax, -0x30(%rbp)
leaq 0x77637(%rip), %rdi     # 0x152a23
callq 0xdb4a0
movq -0x30(%rbp), %rdi
movq %rax, %rsi
callq 0x1134f0
leaq 0x77fe2(%rip), %rdi     # 0x1533e6
callq 0xdb4a0
movq %rax, %rdi
leaq 0xad(%rip), %rsi        # 0xdb4c0
callq 0xaa780
leaq 0xd6f61(%rip), %rdi     # 0x1b2380
callq 0xd14f0
leaq 0x75e94(%rip), %rdi     # 0x1512bf
callq 0xdb480
movq %rax, -0x28(%rbp)
leaq 0x75e78(%rip), %rdi     # 0x1512b3
callq 0xdb4a0
movq -0x28(%rbp), %rdi
movq %rax, %rsi
leaq 0x552(%rip), %rdx       # 0xdb9a0
callq 0xd2470
jmp 0xdb462
callq 0xdb9c0
movq %rax, -0x8(%rbp)
jmp 0xdb46a
jmp 0xdb462
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_array.c
// Function: array_s_supports
static bl_t array_s_supports( const bcore_self_s* self, st_s* log )
{
    uz_t items_size = bcore_self_s_items_size( self );
    for( uz_t i = 0; i < items_size; i++ )
    {
        if( bcore_flect_caps_is_array( bcore_self_s_get_item( self, i )->caps ) ) return true;
    }
    if( log ) st_s_pushf( log, "Object is no array." );
    return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0xa54f0
movq %rax, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x20(%rbp), %rax
jae 0xdc6b0
movq -0x10(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0xa5530
movl 0x10(%rax), %edi
callq 0xa0380
testb $0x1, %al
jne 0xdc69a
jmp 0xdc6a0
movb $0x1, -0x1(%rbp)
jmp 0xdc6cd
jmp 0xdc6a2
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0xdc675
cmpq $0x0, -0x18(%rbp)
je 0xdc6c9
movq -0x18(%rbp), %rdi
leaq 0x76d6f(%rip), %rsi     # 0x153431
movb $0x0, %al
callq 0x100120
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_array.c
// Function: set_dyn_solid_static
static void set_dyn_solid_static( const bcore_array_s* p, vd_t o, uz_t index, sr_s src )
{
    bcore_array_dyn_solid_static_s* arr = obj_vd( p, o );
    if( index >= arr->size ) bcore_array_p_set_size( p, o, index + 1 );
    const bcore_inst_s* inst_p = p->item_p;
    vd_t dst = ( u0_t* )arr->data + inst_p->size * index;
    if( src.o )
    {
        if( sr_s_type( &src ) == inst_p->header.o_type )
        {
            bcore_inst_p_copy( inst_p, dst, src.o );
        }
        else
        {
            bcore_inst_p_copy_typed( inst_p, dst, sr_s_type( &src ), src.o );
        }
    }
    sr_down( src );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd5d70
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jb 0xdc800
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
addq $0x1, %rdx
callq 0xd5dc0
movq -0x38(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0x28(%rcx), %rcx
movq %rcx, -0x28(%rbp)
movq -0x20(%rbp), %rcx
movq (%rcx), %rcx
movq -0x28(%rbp), %rdx
movq 0x18(%rdx), %rdx
imulq -0x18(%rbp), %rdx
addq %rdx, %rcx
movq %rcx, -0x30(%rbp)
cmpq $0x0, (%rax)
je 0xdc88c
movq -0x38(%rbp), %rdi
callq 0xd8670
movq -0x28(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jne 0xdc85a
movq -0x38(%rbp), %rax
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rsi
movq (%rax), %rdx
callq 0xd5d90
jmp 0xdc88a
movq -0x38(%rbp), %rdi
movq -0x28(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x40(%rbp)
callq 0xd8670
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
movq %rax, %rdx
movq -0x38(%rbp), %rax
movq (%rax), %rcx
callq 0xdd8a0
jmp 0xdc88c
movq -0x38(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xd7380
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_array.c
// Function: get_dyn_solid_typed
static sr_s get_dyn_solid_typed( const bcore_array_s* p, vc_t o, uz_t index )
{
    const bcore_array_dyn_solid_typed_s* arr = obj_vc( p, o );
    if( index < arr->size )
    {
        return sr_twm( arr->type, ( u0_t* )arr->data + bcore_inst_s_get_typed( arr->type )->size * index );
    }
    else
    {
        return sr_null();
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x30(%rbp)
movq %rdi, -0x28(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd7760
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jae 0xdc93e
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0xd46d0
movq -0x40(%rbp), %rdx
movq -0x30(%rbp), %rdi
movq -0x38(%rbp), %rsi
movq 0x18(%rax), %rax
imulq -0x18(%rbp), %rax
addq %rax, %rdx
callq 0xdd8e0
jmp 0xdc947
movq -0x30(%rbp), %rdi
callq 0xdd870
movq -0x28(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_array.c
// Function: set_dyn_solid_typed
static void set_dyn_solid_typed( const bcore_array_s* p, vd_t o, uz_t index, sr_s src )
{
    bcore_array_dyn_solid_typed_s* arr = obj_vd( p, o );
    if( arr->type == 0 ) arr->type = sr_s_type( &src );
    if( index >= arr->size ) bcore_array_p_set_size( p, o, index + 1 );
    if( src.o )
    {
        if( sr_s_type( &src ) == arr->type )
        {
            const bcore_inst_s* inst_p = sr_s_get_spect( TYPEOF_bcore_inst_s, &src );
            vd_t dst = ( u0_t* )arr->data + inst_p->size * index;
            bcore_inst_p_copy( inst_p, dst, src.o );
        }
        else
        {
            const bcore_inst_s* inst_p = bcore_inst_s_get_typed( arr->type );
            vd_t dst = ( u0_t* )arr->data + inst_p->size * index;
            bcore_inst_p_copy_typed( inst_p, dst, sr_s_type( &src ), src.o );
        }
    }
    sr_down( src );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd5d70
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0xdc9ac
movq -0x48(%rbp), %rdi
callq 0xd8670
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jb 0xdc9cf
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
addq $0x1, %rdx
callq 0xd5dc0
movq -0x48(%rbp), %rax
cmpq $0x0, (%rax)
je 0xdca99
movq -0x48(%rbp), %rdi
callq 0xd8670
movq -0x20(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jne 0xdca3b
movq -0x48(%rbp), %rsi
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
callq 0xdd950
movq %rax, %rcx
movq -0x48(%rbp), %rax
movq %rcx, -0x28(%rbp)
movq -0x20(%rbp), %rcx
movq (%rcx), %rcx
movq -0x28(%rbp), %rdx
movq 0x18(%rdx), %rdx
imulq -0x18(%rbp), %rdx
addq %rdx, %rcx
movq %rcx, -0x30(%rbp)
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rsi
movq (%rax), %rdx
callq 0xd5d90
jmp 0xdca97
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0xd46d0
movq -0x48(%rbp), %rdi
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq -0x38(%rbp), %rcx
movq 0x18(%rcx), %rcx
imulq -0x18(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x50(%rbp)
callq 0xd8670
movq -0x58(%rbp), %rdi
movq -0x50(%rbp), %rsi
movq %rax, %rdx
movq -0x48(%rbp), %rax
movq (%rax), %rcx
callq 0xdd8a0
jmp 0xdca99
movq -0x48(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xd7380
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_array.c
// Function: set_dyn_link_static
static void set_dyn_link_static( const bcore_array_s* p, vd_t o, uz_t index, sr_s src )
{
    bcore_array_dyn_link_static_s* arr = obj_vd( p, o );
    if( index >= arr->size ) bcore_array_p_set_size( p, o, index + 1 );
    const bcore_inst_s* inst_p = p->item_p;
    vd_t* dst = &arr->data[ index ];
    if( *dst ) bcore_inst_p_discard( inst_p, *dst );
    *dst = NULL;
    if( src.o )
    {
        if( sr_s_type( &src ) == inst_p->header.o_type )
        {
           *dst = sr_s_is_strong( &src ) ? src.o : bcore_inst_p_clone( inst_p, src.o );
           src = sr_cw( src );
        }
        else
        {
            *dst = bcore_inst_p_create_typed( inst_p, sr_s_type( &src ), src.o );
        }
    }
    sr_down( src );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd5d70
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jb 0xdcb93
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
addq $0x1, %rdx
callq 0xd5dc0
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq -0x18(%rbp), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq $0x0, (%rax)
je 0xdcbcf
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rax
movq (%rax), %rsi
callq 0xdd9c0
movq -0x50(%rbp), %rax
movq -0x30(%rbp), %rcx
movq $0x0, (%rcx)
cmpq $0x0, (%rax)
je 0xdcca9
movq -0x50(%rbp), %rdi
callq 0xd8670
movq -0x28(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jne 0xdcc79
movq -0x50(%rbp), %rdi
callq 0xdda00
testb $0x1, %al
jne 0xdcc0a
jmp 0xdcc17
movq -0x50(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x58(%rbp)
jmp 0xdcc2b
movq -0x50(%rbp), %rax
movq -0x28(%rbp), %rdi
movq (%rax), %rsi
callq 0xdc2f0
movq %rax, -0x58(%rbp)
movq -0x50(%rbp), %rax
movq -0x58(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq %rdx, (%rcx)
leaq -0x48(%rbp), %rdi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xdda30
movq -0x50(%rbp), %rax
movq -0x48(%rbp), %rcx
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x38(%rbp), %rcx
movq %rcx, 0x10(%rax)
jmp 0xdcca7
movq -0x50(%rbp), %rdi
movq -0x28(%rbp), %rax
movq %rax, -0x60(%rbp)
callq 0xd8670
movq -0x60(%rbp), %rdi
movq %rax, %rsi
movq -0x50(%rbp), %rax
movq (%rax), %rdx
callq 0xdda60
movq %rax, %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
jmp 0xdcca9
movq -0x50(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xd7380
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_array.c
// Function: get_dyn_link_typed
static sr_s get_dyn_link_typed( const bcore_array_s* p, vc_t o, uz_t index )
{
    const bcore_array_dyn_link_typed_s* arr = obj_vc( p, o );
    if( index < arr->size && arr->data[ index ] )
    {
        return  sr_twm( arr->type, arr->data[ index ] );
    }
    else
    {
        return sr_null();
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x30(%rbp)
movq %rdi, -0x28(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd7760
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jae 0xdcd4f
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq -0x18(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0xdcd4f
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rsi
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdx
callq 0xdd8e0
jmp 0xdcd58
movq -0x30(%rbp), %rdi
callq 0xdd870
movq -0x28(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_array.c
// Function: get_dyn_link_aware
static sr_s get_dyn_link_aware( const bcore_array_s* p, vc_t o, uz_t index )
{
    const bcore_array_dyn_link_aware_s* arr = obj_vc( p, o );
    if( index < arr->size )
    {
        vd_t item = arr->data[ index ];
        return item ? sr_twm( *( aware_t* )item, item ) : sr_null();
    }
    return sr_null();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x38(%rbp)
movq %rdi, -0x30(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd7760
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jae 0xdd016
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0xdd00b
movq -0x38(%rbp), %rdi
movq -0x28(%rbp), %rax
movq (%rax), %rsi
movq -0x28(%rbp), %rdx
callq 0xdd8e0
jmp 0xdd014
movq -0x38(%rbp), %rdi
callq 0xdd870
jmp 0xdd01f
movq -0x38(%rbp), %rdi
callq 0xdd870
movq -0x30(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_array.c
// Function: set_dyn_link_aware
static void set_dyn_link_aware( const bcore_array_s* p, vd_t o, uz_t index, sr_s src )
{
    bcore_array_dyn_link_aware_s* arr = obj_vd( p, o );
    if( index >= arr->size ) bcore_array_p_set_size( p, o, index + 1 );
    vd_t* dst = &arr->data[ index ];
    if( *dst ) bcore_inst_a_discard( *dst );
    *dst = NULL;

    if( src.o )
    {
        const bcore_inst_s* inst_p = sr_s_get_spect( TYPEOF_bcore_inst_s, &src );
        if( inst_p->aware )
        {
            *dst = sr_s_is_strong( &src ) ? src.o : bcore_inst_p_clone( inst_p, src.o );
           src = sr_cw( src );
        }
        else
        {
            ERR( "Cannot convert '%s' to self-aware object", ifnameof( sr_s_type( &src ) ) );
        }
    }

    sr_down( src );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd5d70
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq -0x20(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jb 0xdd080
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
addq $0x1, %rdx
callq 0xd5dc0
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq -0x18(%rbp), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq $0x0, (%rax)
je 0xdd0ac
movq -0x28(%rbp), %rax
movq (%rax), %rdi
callq 0xd50a0
movq -0x50(%rbp), %rax
movq -0x28(%rbp), %rcx
movq $0x0, (%rcx)
cmpq $0x0, (%rax)
je 0xdd19b
movq -0x50(%rbp), %rsi
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
callq 0xdd950
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
testb $0x1, 0x28(%rax)
je 0xdd164
movq -0x50(%rbp), %rdi
callq 0xdda00
testb $0x1, %al
jne 0xdd0f5
jmp 0xdd102
movq -0x50(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x58(%rbp)
jmp 0xdd116
movq -0x50(%rbp), %rax
movq -0x30(%rbp), %rdi
movq (%rax), %rsi
callq 0xdc2f0
movq %rax, -0x58(%rbp)
movq -0x50(%rbp), %rax
movq -0x58(%rbp), %rdx
movq -0x28(%rbp), %rcx
movq %rdx, (%rcx)
leaq -0x48(%rbp), %rdi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xdda30
movq -0x50(%rbp), %rax
movq -0x48(%rbp), %rcx
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x38(%rbp), %rcx
movq %rcx, 0x10(%rax)
jmp 0xdd199
movq -0x50(%rbp), %rdi
callq 0xd8670
movq %rax, %rdi
callq 0xdc6e0
movq %rax, %r8
leaq 0x7637d(%rip), %rdi     # 0x1534fc
leaq 0x75d72(%rip), %rsi     # 0x152ef8
movl $0x2f4, %edx            # imm = 0x2F4
leaq 0x7637d(%rip), %rcx     # 0x15350f
movb $0x0, %al
callq 0x9cf40
jmp 0xdd19b
movq -0x50(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xd7380
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_array.c
// Function: set_fix_solid_static
static void set_fix_solid_static( const bcore_array_s* p, vd_t o, uz_t index, sr_s src )
{
    if( index >= p->size_fix ) ERR_fa( "Index '#<uz_t>' exceeds range of fixed-size-array of size '#<uz_t>'", index, p->size_fix );
    const bcore_inst_s* inst_p = p->item_p;
    vd_t dst = ( u0_t* )obj_vd( p, o ) + inst_p->size * index;
    if( src.o )
    {
        if( sr_s_type( &src ) == inst_p->header.o_type )
        {
            bcore_inst_p_copy( inst_p, dst, src.o );
        }
        else
        {
            bcore_inst_p_copy_typed( inst_p, dst, sr_s_type( &src ), src.o );
        }
    }
    sr_down( src );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jb 0xdd2a7
movq -0x18(%rbp), %r8
movq -0x8(%rbp), %rax
movq 0x18(%rax), %r9
leaq 0x762ab(%rip), %rdi     # 0x153538
leaq 0x75c64(%rip), %rsi     # 0x152ef8
movl $0x2ff, %edx            # imm = 0x2FF
leaq 0x762ad(%rip), %rcx     # 0x15354d
movb $0x0, %al
callq 0x9d0f0
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd5d70
movq %rax, %rcx
movq -0x30(%rbp), %rax
movq -0x20(%rbp), %rdx
movq 0x18(%rdx), %rdx
imulq -0x18(%rbp), %rdx
addq %rdx, %rcx
movq %rcx, -0x28(%rbp)
cmpq $0x0, (%rax)
je 0xdd33c
movq -0x30(%rbp), %rdi
callq 0xd8670
movq -0x20(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jne 0xdd30a
movq -0x30(%rbp), %rax
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rsi
movq (%rax), %rdx
callq 0xd5d90
jmp 0xdd33a
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x38(%rbp)
callq 0xd8670
movq -0x40(%rbp), %rdi
movq -0x38(%rbp), %rsi
movq %rax, %rdx
movq -0x30(%rbp), %rax
movq (%rax), %rcx
callq 0xdd8a0
jmp 0xdd33c
movq -0x30(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xd7380
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_array.c
// Function: set_fix_link_static
static void set_fix_link_static( const bcore_array_s* p, vd_t o, uz_t index, sr_s src )
{
    if( index >= p->size_fix ) ERR_fa( "Index '#<uz_t>' exceeds range of fixed-size-array of size '#<uz_t>'", index, p->size_fix );
    const bcore_inst_s* inst_p = p->item_p;
    vd_t* arr = obj_vd( p, o );
    vd_t* dst = &arr[ index ];
    if( *dst ) bcore_inst_p_discard( inst_p, *dst );
    *dst = NULL;
    if( src.o )
    {
        if( sr_s_type( &src ) == inst_p->header.o_type )
        {
           *dst = sr_s_is_strong( &src ) ? src.o : bcore_inst_p_clone( inst_p, src.o );
           src = sr_cw( src );
        }
        else
        {
            *dst = bcore_inst_p_create_typed( inst_p, sr_s_type( &src ), src.o );
        }
    }
    sr_down( src );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jb 0xdd43a
movq -0x18(%rbp), %r8
movq -0x8(%rbp), %rax
movq 0x18(%rax), %r9
leaq 0x76171(%rip), %rdi     # 0x153591
leaq 0x75ad1(%rip), %rsi     # 0x152ef8
movl $0x314, %edx            # imm = 0x314
leaq 0x7611a(%rip), %rcx     # 0x15354d
movb $0x0, %al
callq 0x9d0f0
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd5d70
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq -0x18(%rbp), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq $0x0, (%rax)
je 0xdd484
movq -0x20(%rbp), %rdi
movq -0x30(%rbp), %rax
movq (%rax), %rsi
callq 0xdd9c0
movq -0x50(%rbp), %rax
movq -0x30(%rbp), %rcx
movq $0x0, (%rcx)
cmpq $0x0, (%rax)
je 0xdd55e
movq -0x50(%rbp), %rdi
callq 0xd8670
movq -0x20(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jne 0xdd52e
movq -0x50(%rbp), %rdi
callq 0xdda00
testb $0x1, %al
jne 0xdd4bf
jmp 0xdd4cc
movq -0x50(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x58(%rbp)
jmp 0xdd4e0
movq -0x50(%rbp), %rax
movq -0x20(%rbp), %rdi
movq (%rax), %rsi
callq 0xdc2f0
movq %rax, -0x58(%rbp)
movq -0x50(%rbp), %rax
movq -0x58(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq %rdx, (%rcx)
leaq -0x48(%rbp), %rdi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xdda30
movq -0x50(%rbp), %rax
movq -0x48(%rbp), %rcx
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x38(%rbp), %rcx
movq %rcx, 0x10(%rax)
jmp 0xdd55c
movq -0x50(%rbp), %rdi
movq -0x20(%rbp), %rax
movq %rax, -0x60(%rbp)
callq 0xd8670
movq -0x60(%rbp), %rdi
movq %rax, %rsi
movq -0x50(%rbp), %rax
movq (%rax), %rdx
callq 0xdda60
movq %rax, %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
jmp 0xdd55e
movq -0x50(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xd7380
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_array.c
// Function: get_fix_link_aware
static sr_s get_fix_link_aware( const bcore_array_s* p, vc_t o, uz_t index )
{
    const vd_t* arr = obj_vc( p, o );
    if( index < p->size_fix )
    {
        vd_t item = arr[ index ];
        return item ? sr_twm( *( aware_t* )item, item ) : sr_null();
    }
    return sr_null();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x38(%rbp)
movq %rdi, -0x30(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd7760
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jae 0xdd603
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0xdd5f8
movq -0x38(%rbp), %rdi
movq -0x28(%rbp), %rax
movq (%rax), %rsi
movq -0x28(%rbp), %rdx
callq 0xdd8e0
jmp 0xdd601
movq -0x38(%rbp), %rdi
callq 0xdd870
jmp 0xdd60c
movq -0x38(%rbp), %rdi
callq 0xdd870
movq -0x30(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_array.c
// Function: set_fix_link_aware
static void set_fix_link_aware( const bcore_array_s* p, vd_t o, uz_t index, sr_s src )
{
    if( index >= p->size_fix ) ERR_fa( "Index '#<uz_t>' exceeds range of fixed-size-array of size '#<uz_t>'", index, p->size_fix );
    vd_t* arr = obj_vd( p, o );
    vd_t* dst = &arr[ index ];
    if( *dst ) bcore_inst_a_discard( *dst );
    *dst = NULL;

    if( src.o )
    {
        const bcore_inst_s* inst_p = sr_s_get_spect( TYPEOF_bcore_inst_s, &src );
        if( inst_p->aware )
        {
            *dst = sr_s_is_strong( &src ) ? src.o : bcore_inst_p_clone( inst_p, src.o );
           src = sr_cw( src );
        }
        else
        {
            ERR( "Cannot convert '%s' to self-aware object", ifnameof( sr_s_type( &src ) ) );
        }
    }

    sr_down( src );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x50(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jb 0xdd677
movq -0x18(%rbp), %r8
movq -0x8(%rbp), %rax
movq 0x18(%rax), %r9
leaq 0x75f48(%rip), %rdi     # 0x1535a5
leaq 0x75894(%rip), %rsi     # 0x152ef8
movl $0x32d, %edx            # imm = 0x32D
leaq 0x75edd(%rip), %rcx     # 0x15354d
movb $0x0, %al
callq 0x9d0f0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd5d70
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq $0x0, (%rax)
je 0xdd6b1
movq -0x28(%rbp), %rax
movq (%rax), %rdi
callq 0xd50a0
movq -0x50(%rbp), %rax
movq -0x28(%rbp), %rcx
movq $0x0, (%rcx)
cmpq $0x0, (%rax)
je 0xdd7a0
movq -0x50(%rbp), %rsi
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
callq 0xdd950
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
testb $0x1, 0x28(%rax)
je 0xdd769
movq -0x50(%rbp), %rdi
callq 0xdda00
testb $0x1, %al
jne 0xdd6fa
jmp 0xdd707
movq -0x50(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x58(%rbp)
jmp 0xdd71b
movq -0x50(%rbp), %rax
movq -0x30(%rbp), %rdi
movq (%rax), %rsi
callq 0xdc2f0
movq %rax, -0x58(%rbp)
movq -0x50(%rbp), %rax
movq -0x58(%rbp), %rdx
movq -0x28(%rbp), %rcx
movq %rdx, (%rcx)
leaq -0x48(%rbp), %rdi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xdda30
movq -0x50(%rbp), %rax
movq -0x48(%rbp), %rcx
movq %rcx, (%rax)
movq -0x40(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x38(%rbp), %rcx
movq %rcx, 0x10(%rax)
jmp 0xdd79e
movq -0x50(%rbp), %rdi
callq 0xd8670
movq %rax, %rdi
callq 0xdc6e0
movq %rax, %r8
leaq 0x75e21(%rip), %rdi     # 0x1535a5
leaq 0x7576d(%rip), %rsi     # 0x152ef8
movl $0x33d, %edx            # imm = 0x33D
leaq 0x75d78(%rip), %rcx     # 0x15350f
movb $0x0, %al
callq 0x9cf40
jmp 0xdd7a0
movq -0x50(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xd7380
addq $0x70, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_compare.c
// Function: bcore_compare_sr
s2_t bcore_compare_sr( sr_s obj1, sr_s obj2 )
{
    if( sr_s_type( &obj1 ) != sr_s_type( &obj2 ) ) return ( sr_s_type( &obj1 ) < sr_s_type( &obj2 ) ) ? 1 : -1;
    if( sr_s_type( &obj1 ) == 0 ) return 0;
    s2_t c = bcore_compare_typed( sr_s_type( &obj1 ), obj1.o, obj2.o );
    sr_down( obj1 );
    sr_down( obj2 );
    return c;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
leaq 0x28(%rbp), %rax
movq %rax, -0x18(%rbp)
leaq 0x10(%rbp), %rdi
movq %rdi, -0x20(%rbp)
callq 0xdfad0
movq -0x18(%rbp), %rdi
movq %rax, -0x10(%rbp)
callq 0xdfad0
movq %rax, %rcx
movq -0x10(%rbp), %rax
cmpq %rcx, %rax
je 0xdfa3b
movq -0x20(%rbp), %rdi
callq 0xdfad0
movq -0x18(%rbp), %rdi
movq %rax, -0x28(%rbp)
callq 0xdfad0
movq -0x28(%rbp), %rdx
movq %rax, %rsi
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl $0x1, %ecx
cmpq %rsi, %rdx
cmovbl %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0xdfac1
movq -0x20(%rbp), %rdi
callq 0xdfad0
cmpq $0x0, %rax
jne 0xdfa53
movl $0x0, -0x4(%rbp)
jmp 0xdfac1
movq -0x20(%rbp), %rdi
callq 0xdfad0
movq -0x20(%rbp), %rcx
movq %rax, %rdi
movq -0x18(%rbp), %rax
movq (%rcx), %rsi
movq (%rax), %rdx
callq 0xdf8e0
movl %eax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, -0x8(%rbp)
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xdfaf0
movq -0x18(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xdfaf0
movl -0x8(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_compare.c
// Function: bcore_diff_sr
st_s* bcore_diff_sr( sr_s obj1, sr_s obj2 )
{
    if( sr_s_type( &obj1 ) != sr_s_type( &obj2 ) ) return st_s_createf( "obj1 of '%s', obj2 of '%s'", ifnameof( sr_s_type( &obj1 ) ), ifnameof( sr_s_type( &obj2 ) ) );
    if( sr_s_type( &obj1 ) == 0 ) return NULL;
    st_s* s = bcore_diff_typed( sr_s_type( &obj1 ), obj1.o, obj2.o );
    sr_down( obj1 );
    sr_down( obj2 );
    return s;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
leaq 0x28(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0x10(%rbp), %rdi
movq %rdi, -0x28(%rbp)
callq 0xdfad0
movq -0x20(%rbp), %rdi
movq %rax, -0x18(%rbp)
callq 0xdfad0
movq %rax, %rcx
movq -0x18(%rbp), %rax
cmpq %rcx, %rax
je 0xe0d9a
movq -0x28(%rbp), %rdi
callq 0xdfad0
movq %rax, %rdi
callq 0xe0a80
movq -0x20(%rbp), %rdi
movq %rax, -0x30(%rbp)
callq 0xdfad0
movq %rax, %rdi
callq 0xe0a80
movq -0x30(%rbp), %rsi
movq %rax, %rdx
leaq 0x733fc(%rip), %rdi     # 0x154186
movb $0x0, %al
callq 0xff350
movq %rax, -0x8(%rbp)
jmp 0xe0e25
movq -0x28(%rbp), %rdi
callq 0xdfad0
cmpq $0x0, %rax
jne 0xe0db3
movq $0x0, -0x8(%rbp)
jmp 0xe0e25
movq -0x28(%rbp), %rdi
callq 0xdfad0
movq -0x28(%rbp), %rcx
movq %rax, %rdi
movq -0x20(%rbp), %rax
movq (%rcx), %rsi
movq (%rax), %rdx
callq 0xe0bd0
movq %rax, %rcx
movq -0x28(%rbp), %rax
movq %rcx, -0x10(%rbp)
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xdfaf0
movq -0x20(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xdfaf0
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_compare.c
// Function: bcore_spect_compare_signal_handler
vd_t bcore_spect_compare_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_spect_compare" ) ) )
    {
        case TYPEOF_init1:
        {
            compare_s_define_trait();
            bcore_flect_define_creator( typeof( "bcore_compare_s"  ), compare_s_create_self  );
            bcore_spect_setup_cache( &bcore_compare_s_cache_g );
        }
        break;

        case TYPEOF_selftest:
        {
            return spect_compare_selftest();
        }
        break;

        default: break;
    }

    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0x73296(%rip), %rdi     # 0x1541a1
callq 0xe0ad0
movq -0x20(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movq %rax, %rcx
movq %rcx, -0x18(%rbp)
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
je 0xe0f49
jmp 0xe0f34
movq -0x18(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0xe0f77
jmp 0xe0f82
callq 0xe1fe0
leaq 0x703d0(%rip), %rdi     # 0x151325
callq 0xe0ad0
movq %rax, %rdi
leaq 0x3c(%rip), %rsi        # 0xe0fa0
callq 0xa7b60
leaq 0xd1628(%rip), %rdi     # 0x1b2598
callq 0xd14f0
jmp 0xe0f84
callq 0xe1070
movq %rax, -0x8(%rbp)
jmp 0xe0f8c
jmp 0xe0f84
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_compare.c
// Function: compare_s_create_self
static bcore_self_s* compare_s_create_self( void )
{
    sc_t def = "bcore_compare_s = spect { aware_t p_type; tp_t o_type; ... }";
    bcore_self_s* self = BCORE_SELF_S_BUILD_PARSE_SC( def, bcore_compare_s );
    bcore_self_s_push_ns_func( self, ( fp_t )compare_s_init,             "bcore_fp_init",                    "init"         );
    bcore_self_s_push_ns_func( self, ( fp_t )compare_s_down,             "bcore_fp_down",                    "down"         );
    bcore_self_s_push_ns_func( self, ( fp_t )compare_s_create,           "bcore_fp_create",                  "create"       );
    bcore_self_s_push_ns_func( self, ( fp_t )compare_s_discard,          "bcore_fp_discard",                 "discard"      );
    bcore_self_s_push_ns_func( self, ( fp_t )create_from_self,           "bcore_spect_fp_create_from_self",  "create_from_self" );
    return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
leaq 0x732c8(%rip), %rax     # 0x154277
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movl $0x28, %esi
movl $0x8, %edx
callq 0xa67c0
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x106b(%rip), %rsi      # 0xe2040
leaq 0x6bbe6(%rip), %rdx     # 0x14cbc2
leaq 0x6bbe8(%rip), %rcx     # 0x14cbcb
callq 0xa5930
movq -0x10(%rbp), %rdi
leaq 0x108d(%rip), %rsi      # 0xe2080
leaq 0x6bbd6(%rip), %rdx     # 0x14cbd0
leaq 0x5dd57(%rip), %rcx     # 0x13ed58
callq 0xa5930
movq -0x10(%rbp), %rdi
leaq 0x13ff(%rip), %rsi      # 0xe2410
leaq 0x6e189(%rip), %rdx     # 0x14f1a1
leaq 0x6e18b(%rip), %rcx     # 0x14f1aa
callq 0xa5930
movq -0x10(%rbp), %rdi
leaq 0x1061(%rip), %rsi      # 0xe2090
leaq 0x6e18a(%rip), %rdx     # 0x14f1c0
leaq 0x6e18c(%rip), %rcx     # 0x14f1c9
callq 0xa5930
movq -0x10(%rbp), %rdi
leaq 0x1073(%rip), %rsi      # 0xe20c0
leaq 0x719cf(%rip), %rdx     # 0x152a23
leaq 0x719d7(%rip), %rcx     # 0x152a32
callq 0xa5930
movq -0x10(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_hash.c
// Function: bcore_spect_hash_selftest
void bcore_spect_hash_selftest()
{
    sr_s sr1 = bcore_spect_via_create_zoo( 5 );
    sr_s sr2 = bcore_spect_via_create_zoo( 5 );
    tp_t hash1 = bcore_hash_r_get_tp( &sr1 );
    tp_t hash2 = bcore_hash_r_get_tp( &sr2 );

    ASSERT( hash1 == hash2 );

    sr_down( sr1 );
    sr_down( sr2 );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
leaq -0x18(%rbp), %rdi
movl $0x5, %esi
callq 0xf8120
leaq -0x30(%rbp), %rdi
movl $0x5, %esi
callq 0xf8120
leaq -0x18(%rbp), %rdi
callq 0xe3f00
movq %rax, -0x38(%rbp)
leaq -0x30(%rbp), %rdi
callq 0xe3f00
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rax
cmpq -0x40(%rbp), %rax
je 0xe3eb1
leaq 0x4fb10(%rip), %rdi     # 0x13399f
leaq 0x7053d(%rip), %rsi     # 0x1543d3
leaq 0x70545(%rip), %rdx     # 0x1543e2
leaq 0x70558(%rip), %rcx     # 0x1543fc
movl $0x80, %r8d
movb $0x0, %al
callq 0x9cea0
leaq -0x18(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xe3d70
leaq -0x30(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xe3d70
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_hash.c
// Function: bcore_spect_hash_signal_handler
vd_t bcore_spect_hash_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_spect_hash" ) ) )
    {
        case TYPEOF_init1:
        {
            BCORE_REGISTER_SPECT( bcore_hash );
        }
        break;

        case TYPEOF_selftest:
        {
            bcore_spect_hash_selftest();
        }
        break;

        default: break;
    }
    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
leaq 0x70484(%rip), %rdi     # 0x15440f
callq 0xe4020
movq -0x18(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movq %rax, %rcx
movq %rcx, -0x10(%rbp)
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
je 0xe3fc9
jmp 0xe3fb4
movq -0x10(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0xe4006
jmp 0xe400d
leaq 0xce7e0(%rip), %rdi     # 0x1b27b0
callq 0xd14f0
leaq 0x6d364(%rip), %rdi     # 0x151340
callq 0xe4020
movq %rax, -0x20(%rbp)
leaq 0x6d349(%rip), %rdi     # 0x151335
callq 0xe4040
movq -0x20(%rbp), %rdi
movq %rax, %rsi
leaq 0x61(%rip), %rdx        # 0xe4060
callq 0xd2470
jmp 0xe400f
callq 0xe3e40
jmp 0xe400f
jmp 0xe400f
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_inst.c
// Function: bcore_inst_body_s_copy
void bcore_inst_body_s_copy( bcore_inst_body_s* o, const bcore_inst_body_s* src )
{
    bcore_release_obj_arr( ( fp_t )bcore_inst_item_s_down, o->data, o->size, sizeof( bcore_inst_item_s ) );
    o->data = NULL;
    o->size = o->space = 0;
    o->data = bcore_un_alloc( sizeof( bcore_inst_item_s ), o->data, o->space, src->size, &o->space );
    for( uz_t i = 0; i < src->size; i++ ) bcore_inst_item_s_copy( &o->data[ i ], &src->data[ i ] );
    o->size = src->size;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rsi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdx
leaq -0x1f6(%rip), %rdi      # 0xe4750
movl $0x30, %ecx
callq 0x9d470
movq -0x8(%rbp), %rax
movq $0x0, (%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x8(%rbp), %rax
movq (%rax), %rsi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdx
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x8(%rbp), %r8
addq $0x10, %r8
movl $0x30, %edi
callq 0x9d370
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, (%rax)
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jae 0xe49ed
movq -0x8(%rbp), %rax
movq (%rax), %rdi
imulq $0x30, -0x18(%rbp), %rax
addq %rax, %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
imulq $0x30, -0x18(%rbp), %rax
addq %rax, %rsi
callq 0xe4760
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0xe49ae
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_inst.c
// Function: bcore_inst_x_clone_sr
sr_s bcore_inst_x_clone_sr( sr_s o )
{
    if( !o.o ) return sr_null();
    sr_s ret = sr_psm( o.p, bcore_inst_p_clone( ch_spect_p( o.p, TYPEOF_bcore_inst_s ), o.o ) );
    sr_down( o );
    return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x18(%rbp)
movq %rdi, -0x10(%rbp)
leaq 0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
cmpq $0x0, (%rax)
jne 0xe51c9
movq -0x18(%rbp), %rdi
callq 0xe65f0
jmp 0xe5229
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0x8(%rax), %rdi
movabsq $0x782b96602f424981, %rsi # imm = 0x782B96602F424981
callq 0xd30f0
movq %rax, %rdi
movq -0x8(%rbp), %rax
movq (%rax), %rsi
callq 0xe4fe0
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq %rax, %rdx
callq 0xe4fb0
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xe5240
movq -0x10(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_inst.c
// Function: bcore_inst_test_all_types
void bcore_inst_test_all_types()
{
    bcore_arr_tp_s* type_arr = bcore_arr_tp_s_create();
    bcore_flect_push_all_types( type_arr );
    for( sz_t i = 0; i < type_arr->size; i++ )
    {
        tp_t type = type_arr->data[ i ];
        bl_t sp_inst = bcore_trait_satisfied_type( TYPEOF_bcore_inst, type, NULL );
        if( sp_inst )
        {
            sr_s sr1 = bcore_inst_t_create_sr( type );
            sr_down( sr1 );
        }
    }
    bcore_arr_tp_s_discard( type_arr );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movb $0x0, %al
callq 0x945a0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0xa7270
movq $0x0, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0xe53ba
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rsi
movabsq $-0x55a2d062927a0ff9, %rdi # imm = 0xAA5D2F9D6D85F007
xorl %eax, %eax
movl %eax, %edx
callq 0x113d00
andb $0x1, %al
movb %al, -0x19(%rbp)
testb $0x1, -0x19(%rbp)
je 0xe53a7
movq -0x18(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0xe4580
leaq -0x38(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xe5240
jmp 0xe53a9
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0xe5334
movq -0x8(%rbp), %rdi
callq 0x945d0
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_inst.c
// Function: bcore_spect_inst_signal_handler
vd_t bcore_spect_inst_signal_handler( const bcore_signal_s* o )
{
    switch( bcore_signal_s_handle_type( o, typeof( "bcore_spect_inst" ) ) )
    {
        case TYPEOF_init1:
        {
            inst_s_define_trait();
            bcore_flect_define_creator( typeof( "bcore_inst_s" ), bcore_inst_s_create_self );
            bcore_spect_setup_cache( &bcore_inst_s_cache_g );
        }
        break;

        case TYPEOF_selftest:
        {
            return spect_inst_selftest();
        }
        break;

        default: break;
    }

    return NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0x6f22e(%rip), %rdi     # 0x154619
callq 0xe4cf0
movq -0x20(%rbp), %rdi
movq %rax, %rsi
callq 0xc7f40
movq %rax, %rcx
movq %rcx, -0x18(%rbp)
movabsq $0x6a72ce8f8250efc6, %rcx # imm = 0x6A72CE8F8250EFC6
subq %rcx, %rax
je 0xe5429
jmp 0xe5414
movq -0x18(%rbp), %rax
movabsq $0x7ee758bbfced33e3, %rcx # imm = 0x7EE758BBFCED33E3
subq %rcx, %rax
je 0xe5457
jmp 0xe5462
callq 0xe6620
leaq 0x6be71(%rip), %rdi     # 0x1512a6
callq 0xe4cf0
movq %rax, %rdi
leaq 0x3c(%rip), %rsi        # 0xe5480
callq 0xa7b60
leaq 0xcd578(%rip), %rdi     # 0x1b29c8
callq 0xd14f0
jmp 0xe5464
callq 0xe55b0
movq %rax, -0x8(%rbp)
jmp 0xe546c
jmp 0xe5464
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_inst.c
// Function: bcore_inst_s_create_self
static bcore_self_s* bcore_inst_s_create_self( void )
{

//  We need to create this reflection manually because self_s_build_parse uses it.
    bcore_self_s* self = bcore_self_s_create_plain( entypeof( "bcore_inst_s" ), typeof( "spect" ), sizeof( bcore_inst_s ), alignof( bcore_inst_s ) );
    bcore_self_s_push_d( self, bcore_self_item_s_create_plain( BCORE_CAPS_SOLID_STATIC, TYPEOF_bcore_spect_header_s, entypeof( "header"  ) ) );
    bcore_self_body_s_set_complete( self->body, false ); // we declare the body incomplete

    bcore_self_s_push_ns_func( self, ( fp_t )inst_s_init,             "bcore_fp_init",                   "init"         );
    bcore_self_s_push_ns_func( self, ( fp_t )inst_s_down,             "bcore_fp_down",                   "down"         );
    bcore_self_s_push_ns_func( self, ( fp_t )inst_s_create,           "bcore_fp_create",                 "create"       );
    bcore_self_s_push_ns_func( self, ( fp_t )bcore_inst_s_discard,    "bcore_fp_discard",                "discard"      );
    bcore_self_s_push_ns_func( self, ( fp_t )create_from_self,        "bcore_spect_fp_create_from_self", "create_from_self" );
    return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
leaq 0x6be17(%rip), %rdi     # 0x1512a6
callq 0xe6660
movq %rax, -0x18(%rbp)
leaq 0x6d735(%rip), %rdi     # 0x152bd4
callq 0xe4cf0
movq -0x18(%rbp), %rdi
movq %rax, %rsi
movl $0xc8, %edx
movl $0x8, %ecx
callq 0xa5c00
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
leaq 0x54683(%rip), %rdi     # 0x139b50
callq 0xe6660
movq %rax, %rdx
movl $0x1, %edi
movabsq $-0x7c15e45e4ba87aee, %rsi # imm = 0x83EA1BA1B4578512
callq 0xa0a80
movq -0x10(%rbp), %rdi
movq %rax, %rsi
callq 0xa5850
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rdi
xorl %esi, %esi
callq 0xa4ed0
movq -0x8(%rbp), %rdi
leaq -0x85f(%rip), %rsi      # 0xe4cb0
leaq 0x676ac(%rip), %rdx     # 0x14cbc2
leaq 0x676ae(%rip), %rcx     # 0x14cbcb
callq 0xa5930
movq -0x8(%rbp), %rdi
leaq -0x7ed(%rip), %rsi      # 0xe4d40
leaq 0x6769c(%rip), %rdx     # 0x14cbd0
leaq 0x5981d(%rip), %rcx     # 0x13ed58
callq 0xa5930
movq -0x8(%rbp), %rdi
leaq 0x21b5(%rip), %rsi      # 0xe7700
leaq 0x69c4f(%rip), %rdx     # 0x14f1a1
leaq 0x69c51(%rip), %rcx     # 0x14f1aa
callq 0xa5930
movq -0x8(%rbp), %rdi
leaq -0x859(%rip), %rsi      # 0xe4d10
leaq 0x69c50(%rip), %rdx     # 0x14f1c0
leaq 0x69c52(%rip), %rcx     # 0x14f1c9
callq 0xa5930
movq -0x8(%rbp), %rdi
leaq 0x10f9(%rip), %rsi      # 0xe6680
leaq 0x6d495(%rip), %rdx     # 0x152a23
leaq 0x6d49d(%rip), %rcx     # 0x152a32
callq 0xa5930
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_spect_inst.c
// Function: move
static void move( const bcore_inst_s* p, vd_t dst, vd_t src )
{
    if( dst == src ) return;
    p->init( p, dst );
    p->copy( p, dst, src );
    p->down( p, src );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpq -0x18(%rbp), %rax
jne 0xedd40
jmp 0xedd83
movq -0x8(%rbp), %rax
movq 0x80(%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq *%rax
movq -0x8(%rbp), %rax
movq 0x90(%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq *%rax
movq -0x8(%rbp), %rax
movq 0x88(%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq *%rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)