LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_array_t_insert_d
x_inst* x_array_t_insert_d( x_array* o, tp_t t, sz_t index, x_inst* v )
{
    // bcore_x_array.h:423:1
    
    
        const bcore_array_s* p = bcore_array_s_get_typed( t );
    
        if( p->item_p )
        {
            bcore_array_p_insert( p, ( bcore_array* )o, index, sr_psm( p->item_p, v ) );
        }
        else
        {
            bcore_array_p_insert( p, ( bcore_array* )o, index, sr_asm( v ) );
        }
    
        if( p->is_of_links )
        {
            return v;
        }
        else if( p->is_static )
        {
            u0_t* data = bcore_array_p_get_d_data( p, o );
            return ( x_inst* )( data + p->item_p->size * index );
        }
        else
        {
            return bcore_array_p_get( p, ( bcore_array* )o, index ).o;
        }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x18(%rbp), %rdi
callq 0x438f0
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x44552
movq -0x30(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x30(%rbp), %rax
movq 0x28(%rax), %rsi
movq -0x28(%rbp), %rdx
leaq -0x48(%rbp), %rdi
callq 0x439a0
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
leaq -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 0x44630
jmp 0x445b7
movq -0x30(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x28(%rbp), %rsi
leaq -0x60(%rbp), %rdi
callq 0x439d0
movq -0xb0(%rbp), %rdi
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
leaq -0x60(%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 0x44630
movq -0x30(%rbp), %rax
testb $0x1, 0x42(%rax)
je 0x445cb
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x44621
movq -0x30(%rbp), %rax
testb $0x1, 0x40(%rax)
je 0x44604
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd5f80
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq -0x30(%rbp), %rcx
movq 0x28(%rcx), %rcx
movq 0x18(%rcx), %rcx
imulq -0x20(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x44621
movq -0x30(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq -0x20(%rbp), %rcx
leaq -0x80(%rbp), %rdi
callq 0x441b0
movq -0x80(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xd0, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_array_t_insert_c
x_inst* x_array_t_insert_c( x_array* o, tp_t t, sz_t index, const x_inst* v )
{
    // bcore_x_array.h:456:1
    
    
        const bcore_array_s* p = bcore_array_s_get_typed( t );
    
        if( p->item_p )
        {
            bcore_array_p_insert( p, ( bcore_array* )o, index, sr_pwc( p->item_p, v ) );
        }
        else
        {
            bcore_array_p_insert( p, ( bcore_array* )o, index, sr_awc( v ) );
        }
    
        if( p->is_of_links )
        {
            x_inst** data = bcore_array_p_get_d_data( p, o );
            return data[ index ];
        }
        else if( p->is_static )
        {
            u0_t* data = bcore_array_p_get_d_data( p, o );
            return ( x_inst* )( data + p->item_p->size * index );
        }
        else
        {
            return bcore_array_p_get( p, ( bcore_array* )o, index ).o;
        }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x18(%rbp), %rdi
callq 0x438f0
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x44722
movq -0x30(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x30(%rbp), %rax
movq 0x28(%rax), %rsi
movq -0x28(%rbp), %rdx
leaq -0x48(%rbp), %rdi
callq 0x43c10
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rsi
movq -0x90(%rbp), %rdx
leaq -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 0x44630
jmp 0x44787
movq -0x30(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0x28(%rbp), %rsi
leaq -0x60(%rbp), %rdi
callq 0x43c40
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
leaq -0x60(%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 0x44630
movq -0x30(%rbp), %rax
testb $0x1, 0x42(%rax)
je 0x447b4
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd5f80
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x8(%rbp)
jmp 0x44810
movq -0x30(%rbp), %rax
testb $0x1, 0x40(%rax)
je 0x447ed
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd5f80
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq -0x30(%rbp), %rcx
movq 0x28(%rcx), %rcx
movq 0x18(%rcx), %rcx
imulq -0x20(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x44810
movq -0x30(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq -0x20(%rbp), %rcx
leaq -0x88(%rbp), %rdi
callq 0x441b0
movq -0x88(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xd0, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_array_t_insert_t
x_inst* x_array_t_insert_t( x_array* o, tp_t t, sz_t index, tp_t val_type )
{
    // bcore_x_array.h:490:1
    
    
        const bcore_array_s* p = bcore_array_s_get_typed( t );
        bcore_array_p_insert( p, ( bcore_array* )o, index, sr_t_create( val_type ) );
    
        if( p->is_of_links )
        {
            x_inst** data = bcore_array_p_get_d_data( p, o );
            return data[ index ];
        }
        else if( p->is_static )
        {
            u0_t* data = bcore_array_p_get_d_data( p, o );
            return ( x_inst* )( data + p->item_p->size * index );
        }
        else
        {
            return bcore_array_p_get( p, ( bcore_array* )o, index ).o;
        }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x18(%rbp), %rdi
callq 0x438f0
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x28(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x43dd0
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
leaq -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 0x44630
movq -0x30(%rbp), %rax
testb $0x1, 0x42(%rax)
je 0x448ce
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd5f80
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x8(%rbp)
jmp 0x44924
movq -0x30(%rbp), %rax
testb $0x1, 0x40(%rax)
je 0x44907
movq -0x30(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xd5f80
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
movq -0x30(%rbp), %rcx
movq 0x28(%rcx), %rcx
movq 0x18(%rcx), %rcx
imulq -0x20(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x8(%rbp)
jmp 0x44924
movq -0x30(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq -0x20(%rbp), %rcx
leaq -0x70(%rbp), %rdi
callq 0x441b0
movq -0x70(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_array_t_c_get_sr
sr_s x_array_t_c_get_sr( const x_array* o, tp_t t, sz_t index )
{
    // bcore_x_array.h:516:1
    
    sr_s sr = bcore_array_t_get( t, ((const bcore_array*)(o)), index );
    if( sr_s_is_weak(&(sr)) ) sr_s_set_const(&(sr),true );
    return  sr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x20(%rbp)
movq %rdi, %rax
movq %rax, -0x28(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movq -0x10(%rbp), %rsi
movq -0x8(%rbp), %rdx
movq -0x18(%rbp), %rcx
callq 0x449a0
movq -0x20(%rbp), %rdi
callq 0x449f0
testb $0x1, %al
jne 0x4497f
jmp 0x4498d
movq -0x20(%rbp), %rdi
movl $0x1, %esi
callq 0x44a20
movq -0x28(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_stamp_path_s_to_sink
const x_stamp_path_s* x_stamp_path_s_to_sink( const x_stamp_path_s* o, bcore_sink* sink )
{
    // bcore_x_stamp.h:245:1
    
    for(sz_t i = 0; i < o->size; i++ )
    {
        if( i > 0 ) bcore_sink_a_push_fa(sink,".", o->data[ i ] );
        if( o->data[ i ] == TYPEOF_x_stamp_path_s_array_index )
        {
            i++;
            bcore_sink_a_push_fa(sink,"[#<tp_t>]", o->data[ i ] );
        }
        else
        {
            bcore_sink_a_push_fa(sink,"#<sc_t>", bnameof( o->data[ i ] ) );
        }
    }
    return  o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x44cf4
cmpq $0x0, -0x18(%rbp)
jle 0x44c63
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0xf2242(%rip), %rsi     # 0x136e9e
movb $0x0, %al
callq 0xf0e20
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movabsq $-0x20efc6351cd3a688, %rdx # imm = 0xDF1039CAE32C5978
cmpq %rdx, (%rax,%rcx,8)
jne 0x44caf
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0xfa49e(%rip), %rsi     # 0x13f144
movb $0x0, %al
callq 0xf0e20
jmp 0x44ce1
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x44d00
movq -0x20(%rbp), %rdi
movq %rax, %rdx
leaq 0x10a24b(%rip), %rsi    # 0x14ef25
movb $0x0, %al
callq 0xf0e20
jmp 0x44ce3
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x44c28
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_stamp_path_s_parse
x_stamp_path_s* x_stamp_path_s_parse( x_stamp_path_s* o, x_source* source )
{
    // bcore_x_stamp.h:265:1
    BLM_INIT_LEVEL(0);
    x_stamp_path_s_clear(o);
    st_s name;BLM_T_INIT_SPUSH(st_s, &name);;
    
    while( !x_source_eos(source) )
    {
        st_s_clear(&(name));
        if( x_source_parse_bl(source," #?'['" ) )
        {
            uz_t index = 0;
            BLM_TRY_EXIT(x_source_parse_fa(source," #<uz_t*>", &index ))
            BLM_TRY_EXIT(x_source_parse_fa(source," ]" ))
            x_stamp_path_s_push_index(o,index );
        }
        else
        {
            BLM_TRY_EXIT(x_source_parse_fa(source," #name", (&(name)) ))
            if( name.size == 0 ) break;
            x_stamp_path_s_push(o,btypeof( name.sc ) );
        }
        if( !x_source_parse_bl(source," #?'.'" ) ) break;
    }
    BLM_RETURNV(x_stamp_path_s*, o)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0x16d5f6(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x18(%rbp)
leaq -0x48(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xbfe80
movq -0x50(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x8(%rbp), %rdi
callq 0x44f00
leaq -0x70(%rbp), %rdi
callq 0xfe150
movq -0x18(%rbp), %rdi
movabsq $-0x503db0e6e1c2e704, %rsi # imm = 0xAFC24F191E3D18FC
leaq -0x70(%rbp), %rdx
callq 0xc0220
movq -0x10(%rbp), %rdi
callq 0x44f20
xorb $-0x1, %al
testb $0x1, %al
jne 0x44da7
jmp 0x44ed4
leaq -0x70(%rbp), %rdi
callq 0xffb50
movq -0x10(%rbp), %rdi
leaq 0xfa393(%rip), %rsi     # 0x13f14e
callq 0x44f40
testb $0x1, %al
jne 0x44dc9
jmp 0x44e4f
movq $0x0, -0x78(%rbp)
movq -0x10(%rbp), %rdi
leaq 0xfa379(%rip), %rsi     # 0x13f155
leaq -0x78(%rbp), %rdx
movb $0x0, %al
callq 0x44f70
movq %rax, -0x80(%rbp)
cmpq $0x0, -0x80(%rbp)
je 0x44e06
movq -0x50(%rbp), %rdi
callq 0xc0720
movq -0x80(%rbp), %rax
movl %eax, %edi
callq 0x425e0
movq -0x10(%rbp), %rdi
leaq 0xfaae5(%rip), %rsi     # 0x13f8f6
movb $0x0, %al
callq 0x44f70
movq %rax, -0x88(%rbp)
cmpq $0x0, -0x88(%rbp)
je 0x44e40
movq -0x50(%rbp), %rdi
callq 0xc0720
movq -0x88(%rbp), %rax
movl %eax, %edi
callq 0x425e0
movq -0x8(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0x44ba0
jmp 0x44eb9
movq -0x10(%rbp), %rdi
leaq 0x1096e9(%rip), %rsi    # 0x14e543
leaq -0x70(%rbp), %rdx
movb $0x0, %al
callq 0x44f70
movq %rax, -0x90(%rbp)
cmpq $0x0, -0x90(%rbp)
je 0x44e8d
movq -0x50(%rbp), %rdi
callq 0xc0720
movq -0x90(%rbp), %rax
movl %eax, %edi
callq 0x425e0
cmpq $0x0, -0x60(%rbp)
jne 0x44e96
jmp 0x44ed4
movq -0x8(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x68(%rbp), %rdi
callq 0x45020
movq -0xa0(%rbp), %rdi
movq %rax, %rsi
callq 0x44be0
movq -0x10(%rbp), %rdi
leaq 0xeeb9d(%rip), %rsi     # 0x133a61
callq 0x44f40
testb $0x1, %al
jne 0x44ecf
jmp 0x44ed4
jmp 0x44d93
movq -0x8(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x50(%rbp), %rdi
callq 0xc0720
movq -0x98(%rbp), %rax
addq $0xa0, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_stamp_t_m_get_sr
sr_s x_stamp_t_m_get_sr( x_stamp* o, tp_t t, tp_t name )
{
    // bcore_x_stamp.h:409:1
    
    const bcore_via_s* p = bcore_via_s_get_typed( t );
    sz_t index = bcore_via_p_nget_index( p, ((const bcore_via*)(o)), name );
    if( index < 0 ) return  sr_null();
    return  bcore_via_p_iget( p, ((const bcore_via*)(o)), index );
}

// 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 -0x10(%rbp), %rdi
callq 0x453e0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x454a0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jge 0x45dd0
movq -0x38(%rbp), %rdi
callq 0x8a380
jmp 0x45de5
movq -0x38(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x8(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x454d0
movq -0x30(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_stamp_t_m_get_sr_i
sr_s x_stamp_t_m_get_sr_i( x_stamp* o, tp_t t, sz_t index )
{
    // bcore_x_stamp.h:419:1
    
    const bcore_via_s* p = bcore_via_s_get_typed( t );
    if( index < 0 || index >= bcore_via_p_get_size( p, ((const bcore_via*)(o)) ) ) return  sr_null();
    return  bcore_via_p_iget( p, ((const bcore_via*)(o)), index );
}

// 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 -0x10(%rbp), %rdi
callq 0x453e0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x18(%rbp)
jl 0x45e41
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x45e70
movq %rax, %rcx
movq -0x38(%rbp), %rax
cmpq %rcx, %rax
jb 0x45e4c
movq -0x30(%rbp), %rdi
callq 0x8a380
jmp 0x45e61
movq -0x30(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x8(%rbp), %rdx
movq -0x18(%rbp), %rcx
callq 0x454d0
movq -0x28(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_stamp_t_set_sr
er_t x_stamp_t_set_sr( x_stamp* o, tp_t t, tp_t name, sr_s sr_src )
{
    // bcore_x_stamp.h:432:1
    
    const bcore_via_s* p = bcore_via_s_get_typed( t );
    sz_t index = bcore_via_p_nget_index( p, ((const bcore_via*)(o)), name );
    if( index < 0 )
    {
        sr_s_down(&(sr_src));
        return  0;
    }
    return  bcore_via_p_iset( p, ((bcore_via*)(o)), index, sr_src );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0x453e0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x454a0
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
jge 0x45ef8
movq -0x38(%rbp), %rdi
callq 0xfbe60
movq $0x0, -0x8(%rbp)
jmp 0x45f2a
movq -0x38(%rbp), %rax
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x30(%rbp), %rdx
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x45c00
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_stamp_t_set_sr_ret
sr_s x_stamp_t_set_sr_ret( x_stamp* o, tp_t t, tp_t name, sr_s sr_src )
{
    // bcore_x_stamp.h:450:1
    
    const bcore_via_s* p = bcore_via_s_get_typed( t );
    sz_t index = bcore_via_p_nget_index( p, ((const bcore_via*)(o)), name );
    if( index < 0 )
    {
        sr_s_down(&(sr_src));
        return  sr_null();
    }
    bcore_via_p_iset( p, ((bcore_via*)(o)), index, sr_src );
    sr_s sr = bcore_via_p_iget( p, ((const bcore_via*)(o)), index );
    if( sr_s_is_strong(&(sr)) ) sr_s_clear(&(sr));
    return  sr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x40(%rbp)
movq %rdi, -0x38(%rbp)
leaq 0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x453e0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x454a0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
jge 0x45fa1
movq -0x30(%rbp), %rdi
callq 0xfbe60
movq -0x40(%rbp), %rdi
callq 0x8a380
jmp 0x45ffe
movq -0x30(%rbp), %rax
movq -0x20(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x28(%rbp), %rdx
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x45c00
movq -0x40(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x8(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x454d0
movq -0x40(%rbp), %rdi
callq 0x46010
testb $0x1, %al
jne 0x45ff3
jmp 0x45ffc
movq -0x40(%rbp), %rdi
callq 0x45560
jmp 0x45ffe
movq -0x38(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_stamp_t_set_sr_i
er_t x_stamp_t_set_sr_i( x_stamp* o, tp_t t, sz_t index, sr_s sr_src )
{
    // bcore_x_stamp.h:471:1
    
    const bcore_via_s* p = bcore_via_s_get_typed( t );
    if( index < 0 || index >= bcore_via_p_get_size( p, ((const bcore_via*)(o)) ) )
    {
        sr_s_down(&(sr_src));
        return  0;
    }
    return  bcore_via_p_iset( p, ((bcore_via*)(o)), index, sr_src );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0x453e0
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x20(%rbp)
jl 0x46091
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x45e70
movq %rax, %rcx
movq -0x38(%rbp), %rax
cmpq %rcx, %rax
jb 0x460a4
movq -0x30(%rbp), %rdi
callq 0xfbe60
movq $0x0, -0x8(%rbp)
jmp 0x460d6
movq -0x30(%rbp), %rax
movq -0x28(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x45c00
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_stamp_t_set_sr_ret_i
sr_s x_stamp_t_set_sr_ret_i( x_stamp* o, tp_t t, sz_t index, sr_s sr_src )
{
    // bcore_x_stamp.h:488:1
    
    const bcore_via_s* p = bcore_via_s_get_typed( t );
    if( index < 0 || index >= bcore_via_p_get_size( p, ((const bcore_via*)(o)) ) )
    {
        sr_s_down(&(sr_src));
        return  sr_null();
    }
    bcore_via_p_iset( p, ((bcore_via*)(o)), index, sr_src );
    sr_s sr = bcore_via_p_iget( p, ((const bcore_via*)(o)), index );
    if( sr_s_is_strong(&(sr)) ) sr_s_clear(&(sr));
    return  sr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x38(%rbp)
movq %rdi, -0x30(%rbp)
leaq 0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x453e0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x18(%rbp)
jl 0x46139
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x20(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x45e70
movq %rax, %rcx
movq -0x40(%rbp), %rax
cmpq %rcx, %rax
jb 0x4614d
movq -0x28(%rbp), %rdi
callq 0xfbe60
movq -0x38(%rbp), %rdi
callq 0x8a380
jmp 0x461aa
movq -0x28(%rbp), %rax
movq -0x20(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x45c00
movq -0x38(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x8(%rbp), %rdx
movq -0x18(%rbp), %rcx
callq 0x454d0
movq -0x38(%rbp), %rdi
callq 0x46010
testb $0x1, %al
jne 0x4619f
jmp 0x461a8
movq -0x38(%rbp), %rdi
callq 0x45560
jmp 0x461aa
movq -0x30(%rbp), %rax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_stamp_t_c_get_sr
sr_s x_stamp_t_c_get_sr( const x_stamp* o, tp_t t, tp_t name )
{
    // bcore_x_stamp.h:505:1
    
    sr_s sr = x_stamp_t_m_get_sr(((x_stamp*)(o)),t, name );
    if( sr_s_is_weak(&(sr)) ) sr_s_set_const(&(sr),true );
    return  sr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x20(%rbp)
movq %rdi, %rax
movq %rax, -0x28(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movq -0x8(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq -0x18(%rbp), %rcx
callq 0x45d80
movq -0x20(%rbp), %rdi
callq 0x449f0
testb $0x1, %al
jne 0x461ff
jmp 0x4620d
movq -0x20(%rbp), %rdi
movl $0x1, %esi
callq 0x44a20
movq -0x28(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_stamp_t_c_get_sr_i
sr_s x_stamp_t_c_get_sr_i( const x_stamp* o, tp_t t, sz_t index )
{
    // bcore_x_stamp.h:515:1
    
    sr_s sr = x_stamp_t_m_get_sr_i(((x_stamp*)(o)),t, index );
    if( sr_s_is_weak(&(sr)) ) sr_s_set_const(&(sr),true );
    return  sr;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x20(%rbp)
movq %rdi, %rax
movq %rax, -0x28(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movq -0x8(%rbp), %rsi
movq -0x10(%rbp), %rdx
movq -0x18(%rbp), %rcx
callq 0x45df0
movq -0x20(%rbp), %rdi
callq 0x449f0
testb $0x1, %al
jne 0x4625f
jmp 0x4626d
movq -0x20(%rbp), %rdi
movl $0x1, %esi
callq 0x44a20
movq -0x28(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_lock_s_set
x_lock_s* x_lock_s_set( x_lock_s* o, x_mutex_s* mutex )
{
    // bcore_x_threads.h:52:5
    
    x_lock_s_release(o);
    o->mutex = mutex;
    x_mutex_s_lock(o->mutex);
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x46b90
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x11a0f0
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_unlock_s_set
x_unlock_s* x_unlock_s_set( x_unlock_s* o, x_mutex_s* mutex )
{
    // bcore_x_threads.h:77:5
    
    x_unlock_s_release(o);
    o->mutex = mutex;
    x_mutex_s_unlock(o->mutex);
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x46d40
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x11a140
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_file_path_s_set_sc
bcore_file_path_s* bcore_file_path_s_set_sc( bcore_file_path_s* o, sc_t name )
{
    // bcore_file.h:55:5
    
    st_s_attach( &(o->full ),  NULL);
    st_s_copy_sc(&(o->name),name );
    if( name[ 0 ] != '/' && o->root != NULL )
    {
        o->full = st_s_create_fa("#<sc_t>/#<sc_t>", o->root->sc, o->name.sc );
    }
    return  o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
addq $0x30, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x472c0
movq -0x8(%rbp), %rdi
addq $0x8, %rdi
movq -0x10(%rbp), %rsi
callq 0xfea50
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2f, %eax
je 0x472b6
movq -0x8(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x472b6
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rsi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdx
leaq 0xec12c(%rip), %rdi     # 0x1333d0
movb $0x0, %al
callq 0xff430
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x30(%rax)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_file_path_s_copy_typed
er_t bcore_file_path_s_copy_typed( bcore_file_path_s* o, tp_t type, vc_t src )
{
    // bcore_file.h:66:5
    
    if( type == TYPEOF_st_s )
    {
        st_s_copy(&(o->name),( st_s* )src );
    }
    else
    {
        return  bcore_error_push_fa(TYPEOF_conversion_error, "Cannot copy from '#<sc_t>'\n", bnameof( type ) );
    }
    return  0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movabsq $-0x503db0e6e1c2e704, %rax # imm = 0xAFC24F191E3D18FC
cmpq %rax, -0x18(%rbp)
jne 0x47337
movq -0x10(%rbp), %rdi
addq $0x8, %rdi
movq -0x20(%rbp), %rsi
callq 0xfe850
jmp 0x47361
movq -0x18(%rbp), %rdi
callq 0x44d00
movq %rax, %rdx
movabsq $-0x4e68f1e683c13928, %rdi # imm = 0xB1970E197C3EC6D8
leaq 0xf7f04(%rip), %rsi     # 0x13f258
movb $0x0, %al
callq 0x9e090
movq %rax, -0x8(%rbp)
jmp 0x47369
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.xo.c
// Function: bcore_main_set_s_on_termination
bl_t bcore_main_set_s_on_termination( bcore_main_set_s* o, const bcore_main_frame_s* frame )
{
    // bcore_main.h:156:5
    BLM_INIT_LEVEL(0);
    bcore_lock_s lock;BLM_T_INIT_SPUSH(bcore_lock_s, &lock);bcore_lock_s_set(&(lock),&(o->mutex_current_object ));
    BLM_RETURNV(bl_t, o->current_object ? bcore_main_a_on_termination(o->current_object,frame ) : false)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0x16a999(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x18(%rbp)
leaq -0x48(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xbfe80
movq -0x50(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq $0x0, 0x10(%rax)
leaq -0x60(%rbp), %rdi
callq 0x10fda0
movq -0x18(%rbp), %rdi
movabsq $0x5f28c34c85940ebe, %rsi # imm = 0x5F28C34C85940EBE
leaq -0x60(%rbp), %rdx
callq 0xc0220
movq -0x8(%rbp), %rsi
addq $0x30, %rsi
leaq -0x60(%rbp), %rdi
callq 0x10fcf0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x47a1e
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x47a50
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x68(%rbp)
jmp 0x47a25
xorl %eax, %eax
movl %eax, -0x68(%rbp)
jmp 0x47a25
movl -0x68(%rbp), %eax
cmpl $0x0, %eax
setne %al
andb $0x1, %al
movb %al, -0x61(%rbp)
movq -0x50(%rbp), %rdi
callq 0xc0720
movb -0x61(%rbp), %al
andb $0x1, %al
addq $0x70, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_main_set_s_on_interrupt
bl_t bcore_main_set_s_on_interrupt( bcore_main_set_s* o, const bcore_main_frame_s* frame )
{
    // bcore_main.h:162:5
    BLM_INIT_LEVEL(0);
    bcore_lock_s lock;BLM_T_INIT_SPUSH(bcore_lock_s, &lock);bcore_lock_s_set(&(lock),&(o->mutex_current_object ));
    BLM_RETURNV(bl_t, o->current_object ? bcore_main_a_on_interrupt(o->current_object,frame ) : false)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0x16a889(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x18(%rbp)
leaq -0x48(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xbfe80
movq -0x50(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq $0x0, 0x10(%rax)
leaq -0x60(%rbp), %rdi
callq 0x10fda0
movq -0x18(%rbp), %rdi
movabsq $0x5f28c34c85940ebe, %rsi # imm = 0x5F28C34C85940EBE
leaq -0x60(%rbp), %rdx
callq 0xc0220
movq -0x8(%rbp), %rsi
addq $0x30, %rsi
leaq -0x60(%rbp), %rdi
callq 0x10fcf0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x47b2e
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x47b60
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x68(%rbp)
jmp 0x47b35
xorl %eax, %eax
movl %eax, -0x68(%rbp)
jmp 0x47b35
movl -0x68(%rbp), %eax
cmpl $0x0, %eax
setne %al
andb $0x1, %al
movb %al, -0x61(%rbp)
movq -0x50(%rbp), %rdi
callq 0xc0720
movb -0x61(%rbp), %al
andb $0x1, %al
addq $0x70, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_main_set_s_on_suspend
bl_t bcore_main_set_s_on_suspend( bcore_main_set_s* o, const bcore_main_frame_s* frame )
{
    // bcore_main.h:168:5
    BLM_INIT_LEVEL(0);
    bcore_lock_s lock;BLM_T_INIT_SPUSH(bcore_lock_s, &lock);bcore_lock_s_set(&(lock),&(o->mutex_current_object ));
    BLM_RETURNV(bl_t, o->current_object ? bcore_main_a_on_suspend(o->current_object,frame ) : false)
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq 0x16a779(%rip), %rax    # 0x1b2330
movq (%rax), %rax
movq %rax, -0x18(%rbp)
leaq -0x48(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xbfe80
movq -0x50(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq $0x0, 0x10(%rax)
leaq -0x60(%rbp), %rdi
callq 0x10fda0
movq -0x18(%rbp), %rdi
movabsq $0x5f28c34c85940ebe, %rsi # imm = 0x5F28C34C85940EBE
leaq -0x60(%rbp), %rdx
callq 0xc0220
movq -0x8(%rbp), %rsi
addq $0x30, %rsi
leaq -0x60(%rbp), %rdi
callq 0x10fcf0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x47c3e
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rdi
movq -0x10(%rbp), %rsi
callq 0x47c70
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x68(%rbp)
jmp 0x47c45
xorl %eax, %eax
movl %eax, -0x68(%rbp)
jmp 0x47c45
movl -0x68(%rbp), %eax
cmpl $0x0, %eax
setne %al
andb $0x1, %al
movb %al, -0x61(%rbp)
movq -0x50(%rbp), %rdi
callq 0xc0720
movb -0x61(%rbp), %al
andb $0x1, %al
addq $0x70, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_prsg_set_state_f3_default
bcore_prsg* bcore_prsg_set_state_f3_default( bcore_prsg* o, f3_t seed )
{
    // bcore_prsg.h:74:1
    
    int exp = 0;
    s3_t seed_s3 = frexp( seed, (&(exp)) ) * 0x7FFFFFFFFFFFFFFF;
    seed_s3 *= 27362149; // some mixing
    if( exp != 0 ) seed_s3 *= exp;  // to make sure seed is not repeated at different exponents
    bcore_prsg_a_set_state_u3(o,seed_s3 );
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movsd %xmm0, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movsd -0x10(%rbp), %xmm0
leaq -0x14(%rbp), %rdi
callq 0x4070
movsd 0xf67da(%rip), %xmm1    # 0x13ee18
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %rax
movq %rax, -0x20(%rbp)
imulq $0x1a18365, -0x20(%rbp), %rax # imm = 0x1A18365
movq %rax, -0x20(%rbp)
cmpl $0x0, -0x14(%rbp)
je 0x4866a
movslq -0x14(%rbp), %rax
imulq -0x20(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
callq 0x48690
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.xo.c
// Function: bcore_prsg_lcg_u2_00_s_state_bits_u3
u3_t bcore_prsg_lcg_u2_00_s_state_bits_u3( const bcore_prsg_lcg_u2_00_s* o, sz_t bits )
{
    // bcore_prsg.h:99:5
    
    assert( bits >= 0 && bits <= 64 );
    sz_t o_bits = bcore_prsg_lcg_u2_00_s_bits(o);
    if( o_bits >= bits )
    {
        return  bcore_prsg_lcg_u2_00_s_state_u3(o) >> ( o_bits - bits );
    }
    else
    {
        return  bcore_prsg_lcg_u2_00_s_state_u3(o) << ( bits - o_bits );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x48870
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jl 0x48841
movq -0x10(%rbp), %rdi
callq 0x48880
movq -0x20(%rbp), %rcx
subq -0x18(%rbp), %rcx
shrq %cl, %rax
movq %rax, -0x8(%rbp)
jmp 0x48859
movq -0x10(%rbp), %rdi
callq 0x48880
movq -0x18(%rbp), %rcx
subq -0x20(%rbp), %rcx
shlq %cl, %rax
movq %rax, -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.xo.c
// Function: bcore_prsg_lcg_u2_01_s_state_bits_u3
u3_t bcore_prsg_lcg_u2_01_s_state_bits_u3( const bcore_prsg_lcg_u2_01_s* o, sz_t bits )
{
    // bcore_prsg.h:99:5
    
    assert( bits >= 0 && bits <= 64 );
    sz_t o_bits = bcore_prsg_lcg_u2_01_s_bits(o);
    if( o_bits >= bits )
    {
        return  bcore_prsg_lcg_u2_01_s_state_u3(o) >> ( o_bits - bits );
    }
    else
    {
        return  bcore_prsg_lcg_u2_01_s_state_u3(o) << ( bits - o_bits );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x48a40
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jl 0x48a11
movq -0x10(%rbp), %rdi
callq 0x48a50
movq -0x20(%rbp), %rcx
subq -0x18(%rbp), %rcx
shrq %cl, %rax
movq %rax, -0x8(%rbp)
jmp 0x48a29
movq -0x10(%rbp), %rdi
callq 0x48a50
movq -0x18(%rbp), %rcx
subq -0x20(%rbp), %rcx
shlq %cl, %rax
movq %rax, -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.xo.c
// Function: bcore_prsg_lcg_u2_02_s_state_bits_u3
u3_t bcore_prsg_lcg_u2_02_s_state_bits_u3( const bcore_prsg_lcg_u2_02_s* o, sz_t bits )
{
    // bcore_prsg.h:99:5
    
    assert( bits >= 0 && bits <= 64 );
    sz_t o_bits = bcore_prsg_lcg_u2_02_s_bits(o);
    if( o_bits >= bits )
    {
        return  bcore_prsg_lcg_u2_02_s_state_u3(o) >> ( o_bits - bits );
    }
    else
    {
        return  bcore_prsg_lcg_u2_02_s_state_u3(o) << ( bits - o_bits );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x48c10
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jl 0x48be1
movq -0x10(%rbp), %rdi
callq 0x48c20
movq -0x20(%rbp), %rcx
subq -0x18(%rbp), %rcx
shrq %cl, %rax
movq %rax, -0x8(%rbp)
jmp 0x48bf9
movq -0x10(%rbp), %rdi
callq 0x48c20
movq -0x18(%rbp), %rcx
subq -0x20(%rbp), %rcx
shlq %cl, %rax
movq %rax, -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.xo.c
// Function: bcore_prsg_lcg_u2_03_s_state_bits_u3
u3_t bcore_prsg_lcg_u2_03_s_state_bits_u3( const bcore_prsg_lcg_u2_03_s* o, sz_t bits )
{
    // bcore_prsg.h:99:5
    
    assert( bits >= 0 && bits <= 64 );
    sz_t o_bits = bcore_prsg_lcg_u2_03_s_bits(o);
    if( o_bits >= bits )
    {
        return  bcore_prsg_lcg_u2_03_s_state_u3(o) >> ( o_bits - bits );
    }
    else
    {
        return  bcore_prsg_lcg_u2_03_s_state_u3(o) << ( bits - o_bits );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x48de0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jl 0x48db1
movq -0x10(%rbp), %rdi
callq 0x48df0
movq -0x20(%rbp), %rcx
subq -0x18(%rbp), %rcx
shrq %cl, %rax
movq %rax, -0x8(%rbp)
jmp 0x48dc9
movq -0x10(%rbp), %rdi
callq 0x48df0
movq -0x18(%rbp), %rcx
subq -0x20(%rbp), %rcx
shlq %cl, %rax
movq %rax, -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.xo.c
// Function: bcore_prsg_lcg_u2_04_s_state_bits_u3
u3_t bcore_prsg_lcg_u2_04_s_state_bits_u3( const bcore_prsg_lcg_u2_04_s* o, sz_t bits )
{
    // bcore_prsg.h:99:5
    
    assert( bits >= 0 && bits <= 64 );
    sz_t o_bits = bcore_prsg_lcg_u2_04_s_bits(o);
    if( o_bits >= bits )
    {
        return  bcore_prsg_lcg_u2_04_s_state_u3(o) >> ( o_bits - bits );
    }
    else
    {
        return  bcore_prsg_lcg_u2_04_s_state_u3(o) << ( bits - o_bits );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x48fb0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jl 0x48f81
movq -0x10(%rbp), %rdi
callq 0x48fc0
movq -0x20(%rbp), %rcx
subq -0x18(%rbp), %rcx
shrq %cl, %rax
movq %rax, -0x8(%rbp)
jmp 0x48f99
movq -0x10(%rbp), %rdi
callq 0x48fc0
movq -0x18(%rbp), %rcx
subq -0x20(%rbp), %rcx
shlq %cl, %rax
movq %rax, -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.xo.c
// Function: bcore_prsg_lcg_u2_05_s_state_bits_u3
u3_t bcore_prsg_lcg_u2_05_s_state_bits_u3( const bcore_prsg_lcg_u2_05_s* o, sz_t bits )
{
    // bcore_prsg.h:99:5
    
    assert( bits >= 0 && bits <= 64 );
    sz_t o_bits = bcore_prsg_lcg_u2_05_s_bits(o);
    if( o_bits >= bits )
    {
        return  bcore_prsg_lcg_u2_05_s_state_u3(o) >> ( o_bits - bits );
    }
    else
    {
        return  bcore_prsg_lcg_u2_05_s_state_u3(o) << ( bits - o_bits );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x49180
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jl 0x49151
movq -0x10(%rbp), %rdi
callq 0x49190
movq -0x20(%rbp), %rcx
subq -0x18(%rbp), %rcx
shrq %cl, %rax
movq %rax, -0x8(%rbp)
jmp 0x49169
movq -0x10(%rbp), %rdi
callq 0x49190
movq -0x18(%rbp), %rcx
subq -0x20(%rbp), %rcx
shlq %cl, %rax
movq %rax, -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.xo.c
// Function: bcore_prsg_lcg_u3_00_s_state_bits_u3
u3_t bcore_prsg_lcg_u3_00_s_state_bits_u3( const bcore_prsg_lcg_u3_00_s* o, sz_t bits )
{
    // bcore_prsg.h:99:5
    
    assert( bits >= 0 && bits <= 64 );
    sz_t o_bits = bcore_prsg_lcg_u3_00_s_bits(o);
    if( o_bits >= bits )
    {
        return  bcore_prsg_lcg_u3_00_s_state_u3(o) >> ( o_bits - bits );
    }
    else
    {
        return  bcore_prsg_lcg_u3_00_s_state_u3(o) << ( bits - o_bits );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x49320
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jl 0x492f1
movq -0x10(%rbp), %rdi
callq 0x49330
movq -0x20(%rbp), %rcx
subq -0x18(%rbp), %rcx
shrq %cl, %rax
movq %rax, -0x8(%rbp)
jmp 0x49309
movq -0x10(%rbp), %rdi
callq 0x49330
movq -0x18(%rbp), %rcx
subq -0x20(%rbp), %rcx
shlq %cl, %rax
movq %rax, -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.xo.c
// Function: bcore_prsg_lcg_u3_01_s_state_bits_u3
u3_t bcore_prsg_lcg_u3_01_s_state_bits_u3( const bcore_prsg_lcg_u3_01_s* o, sz_t bits )
{
    // bcore_prsg.h:99:5
    
    assert( bits >= 0 && bits <= 64 );
    sz_t o_bits = bcore_prsg_lcg_u3_01_s_bits(o);
    if( o_bits >= bits )
    {
        return  bcore_prsg_lcg_u3_01_s_state_u3(o) >> ( o_bits - bits );
    }
    else
    {
        return  bcore_prsg_lcg_u3_01_s_state_u3(o) << ( bits - o_bits );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x494f0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jl 0x494c1
movq -0x10(%rbp), %rdi
callq 0x49500
movq -0x20(%rbp), %rcx
subq -0x18(%rbp), %rcx
shrq %cl, %rax
movq %rax, -0x8(%rbp)
jmp 0x494d9
movq -0x10(%rbp), %rdi
callq 0x49500
movq -0x18(%rbp), %rcx
subq -0x20(%rbp), %rcx
shlq %cl, %rax
movq %rax, -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.xo.c
// Function: bcore_prsg_lcg_u3_02_s_state_bits_u3
u3_t bcore_prsg_lcg_u3_02_s_state_bits_u3( const bcore_prsg_lcg_u3_02_s* o, sz_t bits )
{
    // bcore_prsg.h:99:5
    
    assert( bits >= 0 && bits <= 64 );
    sz_t o_bits = bcore_prsg_lcg_u3_02_s_bits(o);
    if( o_bits >= bits )
    {
        return  bcore_prsg_lcg_u3_02_s_state_u3(o) >> ( o_bits - bits );
    }
    else
    {
        return  bcore_prsg_lcg_u3_02_s_state_u3(o) << ( bits - o_bits );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x496c0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jl 0x49691
movq -0x10(%rbp), %rdi
callq 0x496d0
movq -0x20(%rbp), %rcx
subq -0x18(%rbp), %rcx
shrq %cl, %rax
movq %rax, -0x8(%rbp)
jmp 0x496a9
movq -0x10(%rbp), %rdi
callq 0x496d0
movq -0x18(%rbp), %rcx
subq -0x20(%rbp), %rcx
shlq %cl, %rax
movq %rax, -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.xo.c
// Function: bcore_prsg_lcg_u3_03_s_state_bits_u3
u3_t bcore_prsg_lcg_u3_03_s_state_bits_u3( const bcore_prsg_lcg_u3_03_s* o, sz_t bits )
{
    // bcore_prsg.h:99:5
    
    assert( bits >= 0 && bits <= 64 );
    sz_t o_bits = bcore_prsg_lcg_u3_03_s_bits(o);
    if( o_bits >= bits )
    {
        return  bcore_prsg_lcg_u3_03_s_state_u3(o) >> ( o_bits - bits );
    }
    else
    {
        return  bcore_prsg_lcg_u3_03_s_state_u3(o) << ( bits - o_bits );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x49890
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jl 0x49861
movq -0x10(%rbp), %rdi
callq 0x498a0
movq -0x20(%rbp), %rcx
subq -0x18(%rbp), %rcx
shrq %cl, %rax
movq %rax, -0x8(%rbp)
jmp 0x49879
movq -0x10(%rbp), %rdi
callq 0x498a0
movq -0x18(%rbp), %rcx
subq -0x20(%rbp), %rcx
shlq %cl, %rax
movq %rax, -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.xo.c
// Function: bcore_prsg_xsg_u2_00_s_state_bits_u3
u3_t bcore_prsg_xsg_u2_00_s_state_bits_u3( const bcore_prsg_xsg_u2_00_s* o, sz_t bits )
{
    // bcore_prsg.h:99:5
    
    assert( bits >= 0 && bits <= 64 );
    sz_t o_bits = bcore_prsg_xsg_u2_00_s_bits(o);
    if( o_bits >= bits )
    {
        return  bcore_prsg_xsg_u2_00_s_state_u3(o) >> ( o_bits - bits );
    }
    else
    {
        return  bcore_prsg_xsg_u2_00_s_state_u3(o) << ( bits - o_bits );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x49a60
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jl 0x49a31
movq -0x10(%rbp), %rdi
callq 0x49a70
movq -0x20(%rbp), %rcx
subq -0x18(%rbp), %rcx
shrq %cl, %rax
movq %rax, -0x8(%rbp)
jmp 0x49a49
movq -0x10(%rbp), %rdi
callq 0x49a70
movq -0x18(%rbp), %rcx
subq -0x20(%rbp), %rcx
shlq %cl, %rax
movq %rax, -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.xo.c
// Function: bcore_prsg_xsg_u2_01_s_state_bits_u3
u3_t bcore_prsg_xsg_u2_01_s_state_bits_u3( const bcore_prsg_xsg_u2_01_s* o, sz_t bits )
{
    // bcore_prsg.h:99:5
    
    assert( bits >= 0 && bits <= 64 );
    sz_t o_bits = bcore_prsg_xsg_u2_01_s_bits(o);
    if( o_bits >= bits )
    {
        return  bcore_prsg_xsg_u2_01_s_state_u3(o) >> ( o_bits - bits );
    }
    else
    {
        return  bcore_prsg_xsg_u2_01_s_state_u3(o) << ( bits - o_bits );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x49c30
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jl 0x49c01
movq -0x10(%rbp), %rdi
callq 0x49c40
movq -0x20(%rbp), %rcx
subq -0x18(%rbp), %rcx
shrq %cl, %rax
movq %rax, -0x8(%rbp)
jmp 0x49c19
movq -0x10(%rbp), %rdi
callq 0x49c40
movq -0x18(%rbp), %rcx
subq -0x20(%rbp), %rcx
shlq %cl, %rax
movq %rax, -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.xo.c
// Function: bcore_prsg_xsg_u2_02_s_state_bits_u3
u3_t bcore_prsg_xsg_u2_02_s_state_bits_u3( const bcore_prsg_xsg_u2_02_s* o, sz_t bits )
{
    // bcore_prsg.h:99:5
    
    assert( bits >= 0 && bits <= 64 );
    sz_t o_bits = bcore_prsg_xsg_u2_02_s_bits(o);
    if( o_bits >= bits )
    {
        return  bcore_prsg_xsg_u2_02_s_state_u3(o) >> ( o_bits - bits );
    }
    else
    {
        return  bcore_prsg_xsg_u2_02_s_state_u3(o) << ( bits - o_bits );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x49e00
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jl 0x49dd1
movq -0x10(%rbp), %rdi
callq 0x49e10
movq -0x20(%rbp), %rcx
subq -0x18(%rbp), %rcx
shrq %cl, %rax
movq %rax, -0x8(%rbp)
jmp 0x49de9
movq -0x10(%rbp), %rdi
callq 0x49e10
movq -0x18(%rbp), %rcx
subq -0x20(%rbp), %rcx
shlq %cl, %rax
movq %rax, -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.xo.c
// Function: bcore_prsg_xsg_u2_03_s_state_bits_u3
u3_t bcore_prsg_xsg_u2_03_s_state_bits_u3( const bcore_prsg_xsg_u2_03_s* o, sz_t bits )
{
    // bcore_prsg.h:99:5
    
    assert( bits >= 0 && bits <= 64 );
    sz_t o_bits = bcore_prsg_xsg_u2_03_s_bits(o);
    if( o_bits >= bits )
    {
        return  bcore_prsg_xsg_u2_03_s_state_u3(o) >> ( o_bits - bits );
    }
    else
    {
        return  bcore_prsg_xsg_u2_03_s_state_u3(o) << ( bits - o_bits );
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x49fd0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jl 0x49fa1
movq -0x10(%rbp), %rdi
callq 0x49fe0
movq -0x20(%rbp), %rcx
subq -0x18(%rbp), %rcx
shrq %cl, %rax
movq %rax, -0x8(%rbp)
jmp 0x49fb9
movq -0x10(%rbp), %rdi
callq 0x49fe0
movq -0x18(%rbp), %rcx
subq -0x20(%rbp), %rcx
shlq %cl, %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)