LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_operator_f3_bop_s_check_consistency
er_t x_btcl_operator_f3_bop_s_check_consistency( const x_btcl_operator_f3_bop_s* o )
{
    // bcore_x_btcl_operator_f3.x:226:5
    
    BLM_TRY(EM_ASSERT(o->a ))
    BLM_TRY(EM_ASSERT(o->b ))
    BLM_TRY(EM_ASSERT(o->sa ))
    BLM_TRY(EM_ASSERT(o->sb ))
    BLM_TRY(EM_ASSERT(o->fp_get != NULL ))
    BLM_TRY(x_btcl_operator_f3_a_check_consistency(o->a))
    BLM_TRY(x_btcl_operator_f3_a_check_consistency(o->b))
    return  0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movabsq $-0x2b54a1bd1db02486, %r14 # imm = 0xD4AB5E42E24FDB7A
cmpq $0x0, 0x10(%rdi)
je 0x45e6c
cmpq $0x0, 0x18(%rbx)
je 0x45ea6
cmpq $0x0, 0x20(%rbx)
je 0x45ee0
cmpq $0x0, 0x28(%rbx)
je 0x45f16
cmpq $0x0, 0x30(%rbx)
je 0x45f4c
movq 0x10(%rbx), %rdi
callq 0x45a61
testq %rax, %rax
jne 0x45f81
movq 0x18(%rbx), %rdi
callq 0x45a61
testq %rax, %rax
jne 0x45f81
xorl %r15d, %r15d
jmp 0x45f93
leaq 0x706f8(%rip), %rsi     # 0xb656b
leaq 0x70738(%rip), %rdx     # 0xb65b2
leaq 0x70779(%rip), %rcx     # 0xb65fa
leaq 0x6e8c6(%rip), %r8      # 0xb474e
movl $0x1f0f, %r9d           # imm = 0x1F0F
movq %r14, %rdi
xorl %eax, %eax
callq 0x605f4
testq %rax, %rax
jne 0x45f81
jmp 0x45e14
leaq 0x706be(%rip), %rsi     # 0xb656b
leaq 0x70771(%rip), %rdx     # 0xb6625
leaq 0x7073f(%rip), %rcx     # 0xb65fa
leaq 0x6e88c(%rip), %r8      # 0xb474e
movl $0x1f10, %r9d           # imm = 0x1F10
movq %r14, %rdi
xorl %eax, %eax
callq 0x605f4
testq %rax, %rax
jne 0x45f81
jmp 0x45e1f
leaq 0x70684(%rip), %rsi     # 0xb656b
leaq 0x706f4(%rip), %rdx     # 0xb65e2
leaq 0x70705(%rip), %rcx     # 0xb65fa
leaq 0x6e852(%rip), %r8      # 0xb474e
movl $0x1f11, %r9d           # imm = 0x1F11
movq %r14, %rdi
xorl %eax, %eax
callq 0x605f4
testq %rax, %rax
jne 0x45f81
jmp 0x45e2a
leaq 0x7064e(%rip), %rsi     # 0xb656b
leaq 0x70706(%rip), %rdx     # 0xb662a
leaq 0x706cf(%rip), %rcx     # 0xb65fa
leaq 0x6e81c(%rip), %r8      # 0xb474e
movl $0x1f12, %r9d           # imm = 0x1F12
movq %r14, %rdi
xorl %eax, %eax
callq 0x605f4
testq %rax, %rax
jne 0x45f81
jmp 0x45e35
leaq 0x70618(%rip), %rsi     # 0xb656b
leaq 0x7068e(%rip), %rdx     # 0xb65e8
leaq 0x70699(%rip), %rcx     # 0xb65fa
leaq 0x6e7e6(%rip), %r8      # 0xb474e
movl $0x1f13, %r9d           # imm = 0x1F13
movq %r14, %rdi
xorl %eax, %eax
callq 0x605f4
testq %rax, %rax
je 0x45e40
movq %rax, %r15
leaq 0xd1e45(%rip), %rax     # 0x117dd0
movq (%rax), %rdi
callq 0x71b64
movq %r15, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_operator_f3_top_s_setup
BCORE_DEFINE_OBJECT_INST_P_NASC_END( x_btcl_operator_f3_top_s )

er_t x_btcl_operator_f3_top_s_setup( x_btcl_operator_f3_top_s* o )
{
    // bcore_x_btcl_operator_f3.x:260:5
    
    o->sa = ( x_btcl_operator_f3_spect_s* )x_btcl_operator_f3_spect_s_get_aware( o->a );
    o->sb = ( x_btcl_operator_f3_spect_s* )x_btcl_operator_f3_spect_s_get_aware( o->b );
    o->sc = ( x_btcl_operator_f3_spect_s* )x_btcl_operator_f3_spect_s_get_aware( o->c );
    switch( o->type )
    {
        case ((tp_t)(TYPEOF_conditional)): o->fp_get = x_btcl_operator_f3_conditional_get; break;
        default: return  x_source_point_s_parse_error_fa(&(o->sp),"Unhandled operator type: #<sc_t>.", bnameof( o->type ) ); break;
    }
    BLM_TRY(x_btcl_operator_f3_a_setup(o->a))
    BLM_TRY(x_btcl_operator_f3_a_setup(o->b))
    BLM_TRY(x_btcl_operator_f3_a_setup(o->c))
    return  0;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x10(%rdi), %rdi
callq 0x458a6
movq %rax, 0x28(%rbx)
movq 0x18(%rbx), %rdi
callq 0x458a6
movq %rax, 0x30(%rbx)
movq 0x20(%rbx), %rdi
callq 0x458a6
movq %rax, 0x38(%rbx)
movq 0x8(%rbx), %rdi
movabsq $-0x27ee546d048af62d, %rax # imm = 0xD811AB92FB7509D3
cmpq %rax, %rdi
jne 0x460a9
leaq 0x74(%rip), %rax        # 0x460d2
movq %rax, 0x40(%rbx)
movq 0x10(%rbx), %rdi
callq 0x458ff
testq %rax, %rax
jne 0x4608c
movq 0x18(%rbx), %rdi
callq 0x458ff
testq %rax, %rax
jne 0x4608c
movq 0x20(%rbx), %rdi
callq 0x458ff
testq %rax, %rax
je 0x460cd
movq %rax, %r14
leaq 0xd1d3a(%rip), %rax     # 0x117dd0
movq (%rax), %rdi
callq 0x71b64
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
addq $0x48, %rbx
callq 0x71db6
leaq 0x70490(%rip), %rsi     # 0xb6549
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x41984
xorl %r14d, %r14d
jmp 0x4609e
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_operator_f3_group_signal_init1
void x_btcl_operator_f3_group_signal_init1( void )
{
    // bcore_x_btcl_operator_f3.x:27:1
    
    
        BCORE_REGISTER_TYPE( function_pointer, x_btcl_operator_f3_fp_f3_ar0 );
        BCORE_REGISTER_TYPE( function_pointer, x_btcl_operator_f3_fp_f3_ar1 );
        BCORE_REGISTER_TYPE( function_pointer, x_btcl_operator_f3_fp_f3_ar2 );
        BCORE_REGISTER_TYPE( function_pointer, x_btcl_operator_f3_fp_f3_ar3 );
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
leaq 0x702d8(%rip), %rdi     # 0xb6666
callq 0x7227a
movabsq $0x2d929df1d8b41fe3, %r14 # imm = 0x2D929DF1D8B41FE3
pushq $0x8
popq %rbx
movq %rax, %rdi
movq %r14, %rsi
movq %rbx, %rdx
movq %rbx, %rcx
callq 0x63bce
movq %rax, %rdi
callq 0x64d04
leaq 0x702c3(%rip), %rdi     # 0xb6683
callq 0x7227a
movq %rax, %rdi
movq %r14, %rsi
movq %rbx, %rdx
movq %rbx, %rcx
callq 0x63bce
movq %rax, %rdi
callq 0x64d04
leaq 0x702bb(%rip), %rdi     # 0xb66a0
callq 0x7227a
movq %rax, %rdi
movq %r14, %rsi
movq %rbx, %rdx
movq %rbx, %rcx
callq 0x63bce
movq %rax, %rdi
callq 0x64d04
leaq 0x702b3(%rip), %rdi     # 0xb66bd
callq 0x7227a
movq %rax, %rdi
movq %r14, %rsi
movq %rbx, %rdx
movq %rbx, %rcx
callq 0x63bce
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x64d04
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_net_plain_branch_s_setup
BCORE_DEFINE_OBJECT_INST_P_NASC_END( x_btcl_net_plain_branch_s )

x_btcl_net_plain_branch_s* x_btcl_net_plain_branch_s_setup( x_btcl_net_plain_branch_s* o, tp_t name, const x_source_point_s* sp, sr_s* sr )
{
    // bcore_x_btcl_net.x:33:5
    
    o->name = name;
    x_source_point_s_copy(BCORE_PASS_CREATE(x_source_point_s,o->sp),sp );
    sr_s_clear(&(o->sr));
    if( sr ) sr_s_tsm(&(o->sr),sr_s_type(sr), ((x_inst*)bcore_fork(sr->o)) );
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %r14
movq %rdx, %r15
movq %rdi, %rbx
movq %rsi, 0x8(%rdi)
movq 0x28(%rdi), %rdi
testq %rdi, %rdi
jne 0x4696e
callq 0x2dde5
movq %rax, %rdi
movq %rax, 0x28(%rbx)
movq %r15, %rsi
callq 0x2dd98
leaq 0x10(%rbx), %r15
movq %r15, %rdi
callq 0x2f2f4
testq %r14, %r14
je 0x469af
movq 0x8(%r14), %rax
testq %rax, %rax
je 0x46996
movq 0x8(%rax), %r12
jmp 0x46999
xorl %r12d, %r12d
movq (%r14), %rdi
callq 0x6026d
movq %r15, %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0x3f0e2
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_net_socket_branch_s_setup
BCORE_DEFINE_OBJECT_INST_P_NASC_END( x_btcl_net_socket_branch_s )

x_btcl_net_socket_branch_s* x_btcl_net_socket_branch_s_setup( x_btcl_net_socket_branch_s* o, tp_t name, const x_source_point_s* sp, sr_s* sr )
{
    // bcore_x_btcl_net.x:57:5
    
    o->name = name;
    x_source_point_s_copy(BCORE_PASS_CREATE(x_source_point_s,o->sp),sp );
    sr_s_clear(&(o->sr));
    if( sr ) sr_s_tsm(&(o->sr),sr_s_type(sr), ((x_inst*)bcore_fork(sr->o)) );
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %r14
movq %rdx, %r15
movq %rdi, %rbx
movq %rsi, 0x8(%rdi)
movq 0x28(%rdi), %rdi
testq %rdi, %rdi
jne 0x46adc
callq 0x2dde5
movq %rax, %rdi
movq %rax, 0x28(%rbx)
movq %r15, %rsi
callq 0x2dd98
leaq 0x10(%rbx), %r15
movq %r15, %rdi
callq 0x2f2f4
testq %r14, %r14
je 0x46b1d
movq 0x8(%r14), %rax
testq %rax, %rax
je 0x46b04
movq 0x8(%rax), %r12
jmp 0x46b07
xorl %r12d, %r12d
movq (%r14), %rdi
callq 0x6026d
movq %r15, %rdi
movq %r12, %rsi
movq %rax, %rdx
callq 0x3f0e2
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_net_node_s_push_socket_branch
x_btcl_net_node_s* x_btcl_net_node_s_push_socket_branch( x_btcl_net_node_s* o, tp_t name, bl_t replace, const x_source_point_s* sp, sr_s* sr )
{
    // bcore_x_btcl_net.x:142:5
    
    x_btcl_net_socket_branch_s* branch = NULL;
    if( replace ) branch = x_btcl_net_node_s_m_socket_branch_by_name(o,name );
    if( !branch ) branch = ((x_btcl_net_socket_branch_s*)(x_array_push(((x_array*)(BCORE_PASS_CREATE(x_btcl_net_socket_branch_arr_s,o->socket_branch_arr))))));
    x_btcl_net_socket_branch_s_setup(branch,name, sp, sr );
    return  o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %r8, %rbx
movq %rcx, %r15
movq %rsi, %r12
movq %rdi, %r14
movq 0x28(%rdi), %rdi
testl %edx, %edx
je 0x46ce3
testq %rdi, %rdi
je 0x46ce8
movq 0x10(%rdi), %rcx
incq %rcx
pushq $-0x30
popq %rdx
decq %rcx
je 0x46cf4
leaq 0x30(%rdx), %rsi
movq 0x8(%rdi), %rax
cmpq %r12, 0x38(%rax,%rdx)
movq %rsi, %rdx
jne 0x46cc7
addq %rsi, %rax
jmp 0x46cf9
testq %rdi, %rdi
jne 0x46cf4
callq 0x46b6b
movq %rax, %rdi
movq %rax, 0x28(%r14)
callq 0x34305
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x46ab2
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_arg_uop_s_execute
er_t x_btcl_functor_arg_uop_s_execute( const x_btcl_functor_arg_uop_s* o, sr_s* result )
{
    // bcore_x_btcl_functor.x:59:5
    
    if( o->val )
    {
        sr_s_tsc(result,sr_s_type(&(o->val->sr)), ((x_inst*)bcore_fork(o->val->sr.o)) );
    }
    else
    {
        sr_s_clear(result);
    }
    return  0;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq 0x10(%rdi), %rax
testq %rax, %rax
je 0x46e5d
movq 0x10(%rax), %rcx
testq %rcx, %rcx
je 0x46e67
movq 0x8(%rcx), %r14
jmp 0x46e6a
movq %rbx, %rdi
callq 0x2f2f4
jmp 0x46e81
xorl %r14d, %r14d
movq 0x8(%rax), %rdi
callq 0x6026d
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x3c770
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_arg_uop_s_signal
x_btcl_functor_arg_uop_s* x_btcl_functor_arg_uop_s_signal( x_btcl_functor_arg_uop_s* o, tp_t name, x_inst* arg )
{
    // bcore_x_btcl_functor.x:72:5
    
    if( name == ((tp_t)(TYPEOF_signal_arg_uop_update_val)) )
    {
        ASSERT( arg->_ == ((tp_t)(TYPEOF_x_btcl_functor_arg_arr_s)) );
        x_btcl_functor_arg_arr_s* arg_arr = ((x_btcl_functor_arg_arr_s*)(arg));
        if( o->index < 0 || o->index >= arg_arr->size ) ERR_fa( "index (#<sz_t>) is out of range [0,#<sz_t>]", o->index, arg_arr->size - 1 );
        x_btcl_functor_arg_val_s_attach( &(o->val ),  ((x_btcl_functor_arg_val_s*)bcore_fork(arg_arr->data[ o->index ].val)));
    }
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movabsq $-0x4a7896032b1c7575, %rax # imm = 0xB58769FCD4E38A8B
cmpq %rax, %rsi
jne 0x46f42
movq %rdx, %r14
movabsq $0x4751fb349f0dee74, %rax # imm = 0x4751FB349F0DEE74
cmpq %rax, (%rdx)
je 0x46ee1
leaq 0x63788(%rip), %rdi     # 0xaa647
leaq 0x6f8b0(%rip), %rsi     # 0xb6776
leaq 0x6f8dd(%rip), %rdx     # 0xb67aa
leaq 0x6d87a(%rip), %rcx     # 0xb474e
movl $0x20ca, %r8d           # imm = 0x20CA
xorl %eax, %eax
callq 0x5ffac
movq 0x8(%rbx), %r8
testq %r8, %r8
setns %al
movq 0x10(%r14), %r9
cmpq %r9, %r8
setb %cl
testb %cl, %al
jne 0x46f21
decq %r9
leaq 0x6f8a7(%rip), %rdi     # 0xb67aa
leaq 0x6d844(%rip), %rsi     # 0xb474e
leaq 0x6f8b9(%rip), %rcx     # 0xb67ca
movl $0x20cc, %edx           # imm = 0x20CC
xorl %eax, %eax
callq 0x60186
movq 0x8(%rbx), %r8
leaq 0x10(%rbx), %r15
movq 0x8(%r14), %rax
shlq $0x5, %r8
movq 0x10(%rax,%r8), %rdi
callq 0x6026d
movq %r15, %rdi
movq %rax, %rsi
callq 0x46f4b
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_arg_arr_s_set_size
BCORE_DEFINE_OBJECT_INST_P_NASC_END( x_btcl_functor_arg_arr_s )

x_btcl_functor_arg_arr_s* x_btcl_functor_arg_arr_s_set_size( x_btcl_functor_arg_arr_s* o, sz_t size )
{
    // bcore_x_btcl_functor.x:114:5
    
    x_array_set_size(((x_array*)(o)),size );
    for(sz_t i = 0; i < size; i++ )
    {
        x_btcl_functor_arg_s_get_uop(&(o->data[ i ]))->index = i;
        x_btcl_functor_arg_s_set_f3(&(o->data[ i ]),0 );
    }
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rsi, %r14
movq %rdi, %rbx
callq 0x30a50
xorl %r15d, %r15d
testq %r14, %r14
cmovleq %r15, %r14
xorl %r12d, %r12d
cmpq %r12, %r14
je 0x47118
movq 0x8(%rbx), %rdi
addq %r15, %rdi
callq 0x46fe7
movq %r12, 0x8(%rax)
movq 0x8(%rbx), %r13
movq 0x10(%r13,%r15), %rdi
testq %rdi, %rdi
jne 0x47103
callq 0x46d58
movq %rax, %rdi
movq %rax, 0x10(%r13,%r15)
addq $0x8, %rdi
xorps %xmm0, %xmm0
callq 0x8d45e
incq %r12
addq $0x20, %r15
jmp 0x470d3
movq %rbx, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_s_set_arg_sr
const x_btcl_functor_s* x_btcl_functor_s_set_arg_sr( const x_btcl_functor_s* o, sz_t index, sr_s* sr )
{
    // bcore_x_btcl_functor.x:187:5
    
    if( index < 0 || index >= x_btcl_functor_s_args(o) ) ERR_fa( "index (#<sz_t>) is out of range [0,#<sz_t>]", index, x_btcl_functor_s_args(o) - 1 );
    x_btcl_functor_arg_s_set_val(&(o->arg_arr.data[ index ]),sr );
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
testq %rsi, %rsi
setns %al
movq 0x18(%rdi), %r9
cmpq %rsi, %r9
setg %cl
testb %cl, %al
jne 0x472e5
decq %r9
leaq 0x6f548(%rip), %rdi     # 0xb6810
leaq 0x6d47f(%rip), %rsi     # 0xb474e
leaq 0x6f4f4(%rip), %rcx     # 0xb67ca
movl $0x2143, %edx           # imm = 0x2143
movq %r15, %r8
xorl %eax, %eax
callq 0x60186
movq 0x10(%rbx), %rax
shlq $0x5, %r15
movq 0x10(%rax,%r15), %rdi
testq %rdi, %rdi
jne 0x47309
addq %rax, %r15
addq $0x10, %r15
callq 0x46d58
movq %rax, %rdi
movq %rax, (%r15)
addq $0x8, %rdi
movq %r14, %rsi
callq 0x8d2dd
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_s_call
er_t x_btcl_functor_s_call( const x_btcl_functor_s* o, sr_s* result )
{
    // bcore_x_btcl_functor.x:224:5
    
    if( !o->op_tree ) return  EM_ERR_fa("Functor has not been set up." );
    if( x_btcl_operator_sr_is_operator(o->op_tree ) )
    {
        BLM_TRY(x_btcl_operator_a_execute(((const x_btcl_operator*)(o->op_tree->o)),result ))
    }
    else
    {
        sr_s_tsc(result,sr_s_type(o->op_tree), ((x_inst*)bcore_fork(o->op_tree->o)) );
    }
    return  0;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %r14
movq 0x28(%rdi), %rdi
testq %rdi, %rdi
je 0x47500
movq %rsi, %rbx
callq 0x428d2
movq 0x28(%r14), %rcx
testb %al, %al
je 0x47528
movq (%rcx), %rdi
movq %rbx, %rsi
callq 0x43003
testq %rax, %rax
je 0x47555
movq %rax, %rbx
leaq 0xd08da(%rip), %rax     # 0x117dd0
movq (%rax), %rdi
callq 0x71b64
jmp 0x47557
leaq 0x6f345(%rip), %rdi     # 0xb684c
leaq 0x6d240(%rip), %rsi     # 0xb474e
leaq 0x6f34d(%rip), %rcx     # 0xb6862
movl $0x216f, %edx           # imm = 0x216F
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0x6078d
testq %rcx, %rcx
je 0x4753c
movq 0x8(%rcx), %rax
testq %rax, %rax
je 0x4753c
movq 0x8(%rax), %r14
jmp 0x4753f
xorl %r14d, %r14d
movq (%rcx), %rdi
callq 0x6026d
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x3c770
xorl %ebx, %ebx
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_s_call_to_f3
f3_t x_btcl_functor_s_call_to_f3( const x_btcl_functor_s* o )
{
    // bcore_x_btcl_functor.x:238:5
    BLM_INIT_LEVEL(0);
    sr_s* result = ((sr_s*)BLM_LEVEL_T_PUSH(0,sr_s,sr_s_create()));
    BLM_TRY_EXIT(x_btcl_functor_s_call(o,result ))
    BLM_RETURNV(f3_t, sr_s_to_f3(result))
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rdi, %r14
leaq 0xd085d(%rip), %rax     # 0x117dd0
movq (%rax), %rsi
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0x717f5
andq $0x0, 0x10(%rbx)
xorl %eax, %eax
callq 0x8d285
movabsq $0x79b76918ff0af12a, %rdx # imm = 0x79B76918FF0AF12A
movq %rbx, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0x71967
movq %rax, %rbx
movq %r14, %rdi
movq %rax, %rsi
callq 0x474bc
testq %rax, %rax
je 0x475ce
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x71b64
movl %r14d, %edi
callq 0x2dc20
movq %rbx, %rdi
callq 0x8d63e
movsd %xmm0, (%rsp)
leaq 0x8(%rsp), %rdi
callq 0x71b64
movsd (%rsp), %xmm0
addq $0x38, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_s_btcl_function
er_t x_btcl_functor_s_btcl_function( const x_btcl_functor_s* o, tp_t name, const x_source_point_s* sp, x_btcl_frame_s* lexical_frame, const bcore_arr_sr_s* args, sr_s* result )
{
    // bcore_x_btcl_functor.x:255:5
    
    switch( name )
    {
        case ((tp_t)(TYPEOF_call)):
        {
            for(sz_t i = 0; i < x_btcl_functor_s_args(o); i++ ) x_btcl_functor_s_set_arg_sr(o,i,&( args->data[i] ));
            BLM_TRY(x_btcl_functor_s_call(o,result ))
        }
        break;
    
        default: break; // never reached
    }
    return  0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movabsq $-0x4ae9856f17c45b57, %rax # imm = 0xB5167A90E83BA4A9
cmpq %rax, %rsi
jne 0x47676
movq %r9, %rbx
movq %r8, %r15
movq %rdi, %r14
xorl %r13d, %r13d
xorl %r12d, %r12d
cmpq 0x18(%r14), %r12
jge 0x47652
movq 0x8(%r15), %rdx
addq %r13, %rdx
movq %r14, %rdi
movq %r12, %rsi
callq 0x4729c
incq %r12
addq $0x18, %r13
jmp 0x47631
movq %r14, %rdi
movq %rbx, %rsi
callq 0x474bc
testq %rax, %rax
je 0x47676
movq %rax, %rbx
leaq 0xd0764(%rip), %rax     # 0x117dd0
movq (%rax), %rdi
callq 0x71b64
jmp 0x47678
xorl %ebx, %ebx
movq %rbx, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_s_binary_f3
f3_t x_btcl_functor_s_binary_f3( const x_btcl_functor_s* o, f3_t x, f3_t y )
{
    // bcore_x_btcl_functor.x:284:5
    
    ASSERT( x_btcl_functor_s_args(o) == 2 );
    x_btcl_functor_s_set_arg_f3(o,0, x );
    x_btcl_functor_s_set_arg_f3(o,1, y );
    return  x_btcl_functor_s_call_to_f3(o);
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
movsd %xmm1, 0x8(%rsp)
movq %rdi, %rbx
cmpq $0x2, 0x18(%rdi)
je 0x47765
leaq 0x62f0e(%rip), %rdi     # 0xaa647
leaq 0x6f1b1(%rip), %rsi     # 0xb68f1
leaq 0x6f1c8(%rip), %rdx     # 0xb690f
leaq 0x6d000(%rip), %rcx     # 0xb474e
movl $0x21b7, %r8d           # imm = 0x21B7
xorl %eax, %eax
movsd %xmm0, (%rsp)
callq 0x5ffac
movsd (%rsp), %xmm0
movq %rbx, %rdi
xorl %esi, %esi
callq 0x47406
pushq $0x1
popq %rsi
movq %rbx, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x47406
movq %rbx, %rdi
addq $0x10, %rsp
popq %rbx
jmp 0x47562
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_s_ternary_f3
f3_t x_btcl_functor_s_ternary_f3( const x_btcl_functor_s* o, f3_t x, f3_t y, f3_t z )
{
    // bcore_x_btcl_functor.x:292:5
    
    ASSERT( x_btcl_functor_s_args(o) == 3 );
    x_btcl_functor_s_set_arg_f3(o,0, x );
    x_btcl_functor_s_set_arg_f3(o,1, y );
    x_btcl_functor_s_set_arg_f3(o,2, z );
    return  x_btcl_functor_s_call_to_f3(o);
}

// Assembly:
pushq %rbx
subq $0x20, %rsp
movsd %xmm2, 0x18(%rsp)
movsd %xmm1, 0x10(%rsp)
movq %rdi, %rbx
cmpq $0x3, 0x18(%rdi)
je 0x477dd
leaq 0x62e98(%rip), %rdi     # 0xaa647
leaq 0x6f174(%rip), %rsi     # 0xb692a
leaq 0x6f18b(%rip), %rdx     # 0xb6948
leaq 0x6cf8a(%rip), %rcx     # 0xb474e
movl $0x21c1, %r8d           # imm = 0x21C1
xorl %eax, %eax
movsd %xmm0, 0x8(%rsp)
callq 0x5ffac
movsd 0x8(%rsp), %xmm0
movq %rbx, %rdi
xorl %esi, %esi
callq 0x47406
pushq $0x1
popq %rsi
movq %rbx, %rdi
movsd 0x10(%rsp), %xmm0
callq 0x47406
pushq $0x2
popq %rsi
movq %rbx, %rdi
movsd 0x18(%rsp), %xmm0
callq 0x47406
movq %rbx, %rdi
addq $0x20, %rsp
popq %rbx
jmp 0x47562
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_f3_s_setup_tree
er_t x_btcl_functor_f3_s_setup_tree( x_btcl_functor_f3_s* o )
{
    // bcore_x_btcl_functor_f3.x:73:5
    
    if( o->op_tree )
    {
        BLM_TRY(x_btcl_operator_f3_a_setup(o->op_tree))
        BLM_TRY(x_btcl_operator_f3_a_set_args(o->op_tree,&(o->arg_arr )))
        BLM_TRY(x_btcl_operator_f3_a_check_consistency(o->op_tree))
    }
    return  0;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %r14
movq 0x28(%rdi), %rdi
testq %rdi, %rdi
je 0x47905
callq 0x458ff
testq %rax, %rax
jne 0x478f1
movq 0x28(%r14), %rdi
leaq 0x8(%r14), %rsi
callq 0x45935
testq %rax, %rax
jne 0x478f1
movq 0x28(%r14), %rdi
callq 0x45a61
testq %rax, %rax
je 0x47905
movq %rax, %rbx
leaq 0xd04d5(%rip), %rax     # 0x117dd0
movq (%rax), %rdi
callq 0x71b64
jmp 0x47907
xorl %ebx, %ebx
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_f3_s_copy_typed
er_t x_btcl_functor_f3_s_copy_typed( x_btcl_functor_f3_s* o, tp_t type, vc_t src )
{
    // bcore_x_btcl_functor_f3.x:44:5
    
    switch( type )
    {
        case ((tp_t)(TYPEOF_x_btcl_functor_f3_s)): x_btcl_functor_f3_s_copy(o,((const x_btcl_functor_f3_s*)(src)) ); break;
        case ((tp_t)(TYPEOF_x_btcl_functor_s)): BLM_TRY(x_btcl_functor_f3_s_from_functor(o,((const x_btcl_functor_s*)(src)) )) break;
        default:
        {
            if( bcore_tp_is_numeric( type ) )
            {BLM_INIT_LEVEL(4);
                x_btcl_operator_f3_const_nop_s* nop = ((x_btcl_operator_f3_const_nop_s*)BLM_LEVEL_T_PUSH(4,x_btcl_operator_f3_const_nop_s,x_btcl_operator_f3_const_nop_s_create()));
                nop->val = sr_s_to_f3(sr_s_twc( ((sr_s*)BLM_LEVEL_T_PUSH(4,sr_s,sr_s_create())),type, src ));
                x_btcl_operator_f3_a_attach( &(o->op_tree ), (x_btcl_operator_f3*)( ((x_btcl_operator_f3_const_nop_s*)bcore_fork(nop))));
            BLM_DOWN();}
            else
            {
                BLM_TRY(GERR_fa("Cannot convert from #<sc_t>.", bnameof( type ) ))
            }
        }
        break;
    }
    return  0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdx, %r15
movq %rdi, %r14
movabsq $0x73f13731f3140e07, %rax # imm = 0x73F13731F3140E07
cmpq %rax, %rsi
je 0x47954
movq %rsi, %r12
movabsq $-0x1c14cd2ad50d125, %rax # imm = 0xFE3EB32D52AF2EDB
cmpq %rax, %rsi
jne 0x47982
movq %r14, %rdi
movq %r15, %rsi
callq 0x4783a
jmp 0x4797b
movq %r14, %rdi
movq %r15, %rsi
callq 0x47a93
testq %rax, %rax
je 0x4797b
movq %rax, %rbx
leaq 0xd0462(%rip), %rax     # 0x117dd0
movq (%rax), %rdi
callq 0x71b64
jmp 0x47a81
xorl %ebx, %ebx
jmp 0x47a81
movq %r12, %rdi
callq 0x987e0
testq %rax, %rax
je 0x47a39
leaq 0xd0436(%rip), %rax     # 0x117dd0
movq (%rax), %rsi
leaq 0x8(%rsp), %rbp
movq %rsp, %rax
movq %rbp, (%rax)
movq %rbp, %rdi
callq 0x717f5
movq $0x4, 0x10(%rbp)
callq 0x455ed
pushq $0x4
popq %rsi
movabsq $0x50e723bc207f24dc, %rdx # imm = 0x50E723BC207F24DC
movq %rbp, %rdi
movq %rax, %rcx
callq 0x71967
movq %rax, %r13
xorl %ebx, %ebx
xorl %eax, %eax
callq 0x8d285
movabsq $0x79b76918ff0af12a, %rdx # imm = 0x79B76918FF0AF12A
movq %rbp, %rdi
pushq $0x4
popq %rsi
movq %rax, %rcx
callq 0x71967
movq %rax, %rbp
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x3df2a
movq %rbp, %rdi
callq 0x8d63e
movsd %xmm0, 0x8(%r13)
addq $0x28, %r14
movq %r13, %rdi
callq 0x6026d
movq %r14, %rdi
movq %rax, %rsi
callq 0x46897
movq %rsp, %rdi
callq 0x71b48
jmp 0x47a81
movq %r12, %rdi
callq 0x71db6
leaq 0x6ef5d(%rip), %rdi     # 0xb69a5
leaq 0x6ccff(%rip), %rsi     # 0xb474e
leaq 0x6ef6e(%rip), %rcx     # 0xb69c4
xorl %ebx, %ebx
movl $0x2212, %edx           # imm = 0x2212
movq %rax, %r8
xorl %eax, %eax
callq 0x6078d
testq %rax, %rax
je 0x47a81
movq %rax, %r14
leaq 0xd035a(%rip), %rax     # 0x117dd0
movq (%rax), %rdi
callq 0x71b64
movq %r14, %rbx
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_f3_s_from_functor
er_t x_btcl_functor_f3_s_from_functor( x_btcl_functor_f3_s* o, const x_btcl_functor_s* functor )
{
    // bcore_x_btcl_functor_f3.x:84:5
    
    sz_t args = x_btcl_functor_s_args(functor);
    x_array_set_size(((x_array*)(&(o->arg_arr))),args );
    for(sz_t i = 0; i < args; i++ ) o->arg_arr.data[ i ].name = functor->arg_arr.data[ i ].name;
    x_source_point_s_copy(&(o->sp),&(functor->sp ));
    x_btcl_operator_f3_a_attach( &(o->op_tree ), (x_btcl_operator_f3*)( x_btcl_operator_f3_create_op(functor->op_tree )));
    BLM_TRY(x_btcl_functor_f3_s_setup_tree(o))
    return  0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %r14
movq %rdi, %rbx
movq 0x18(%rsi), %r15
addq $0x8, %rdi
movq %r15, %rsi
callq 0x30a50
xorl %eax, %eax
testq %r15, %r15
cmovgq %r15, %rax
pushq $0x10
popq %rcx
pushq $0x8
popq %rdx
subq $0x1, %rax
jb 0x47add
movq 0x10(%r14), %rsi
movq (%rsi,%rdx), %rsi
movq 0x10(%rbx), %rdi
movq %rsi, (%rdi,%rcx)
addq $0x18, %rcx
addq $0x20, %rdx
jmp 0x47abd
leaq 0x30(%rbx), %rdi
leaq 0x30(%r14), %rsi
callq 0x2dd98
leaq 0x28(%rbx), %r15
movq 0x28(%r14), %rdi
callq 0x4642f
movq %r15, %rdi
movq %rax, %rsi
callq 0x46897
movq %rbx, %rdi
callq 0x478b7
movq %rax, %rbx
testq %rax, %rax
je 0x47b21
leaq 0xd02b7(%rip), %rax     # 0x117dd0
movq (%rax), %rdi
callq 0x71b64
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_f3_s_set_arg_f3
const x_btcl_functor_f3_s* x_btcl_functor_f3_s_set_arg_f3( const x_btcl_functor_f3_s* o, sz_t index, f3_t v )
{
    // bcore_x_btcl_functor_f3.x:120:5
    
    if( !o->op_tree ) ERR_fa( "o.op_tree == NULL. Functor has not been setup." );
    if( index < 0 || index >= x_btcl_functor_f3_s_args(o) ) ERR_fa( "index (#<sz_t>) is out of range [0,#<sz_t>]", index, x_btcl_functor_f3_s_args(o) - 1 );
    o->arg_arr.data[ index ].val = v;
    return o;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
cmpq $0x0, 0x28(%rdi)
jne 0x47cbb
leaq 0x6ed67(%rip), %rdi     # 0xb69fe
leaq 0x6cab0(%rip), %rsi     # 0xb474e
leaq 0x6ed78(%rip), %rcx     # 0xb6a1d
movl $0x2259, %edx           # imm = 0x2259
xorl %eax, %eax
movsd %xmm0, (%rsp)
callq 0x60186
movsd (%rsp), %xmm0
testq %r14, %r14
setns %al
movq 0x18(%rbx), %r9
cmpq %r14, %r9
setg %cl
testb %cl, %al
jne 0x47d00
decq %r9
leaq 0x6ed25(%rip), %rdi     # 0xb69fe
leaq 0x6ca6e(%rip), %rsi     # 0xb474e
leaq 0x6eae3(%rip), %rcx     # 0xb67ca
movl $0x225a, %edx           # imm = 0x225A
movq %r14, %r8
xorl %eax, %eax
movsd %xmm0, (%rsp)
callq 0x60186
movsd (%rsp), %xmm0
movq 0x10(%rbx), %rax
imulq $0x18, %r14, %rcx
movsd %xmm0, 0x8(%rax,%rcx)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_f3_s_get_arg_f3_ptr
f3_t* x_btcl_functor_f3_s_get_arg_f3_ptr( const x_btcl_functor_f3_s* o, sz_t index )
{
    // bcore_x_btcl_functor_f3.x:127:5
    
    if( !o->op_tree ) ERR_fa( "o.op_tree == NULL. Functor has not been setup." );
    if( index < 0 || index >= x_btcl_functor_f3_s_args(o) ) ERR_fa( "index (#<sz_t>) is out of range [0,#<sz_t>]", index, x_btcl_functor_f3_s_args(o) - 1 );
    return  (&(o->arg_arr.data[ index ].val));
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
cmpq $0x0, 0x28(%rdi)
jne 0x47d4b
leaq 0x6ed1b(%rip), %rdi     # 0xb6a4c
leaq 0x6ca16(%rip), %rsi     # 0xb474e
leaq 0x6ecde(%rip), %rcx     # 0xb6a1d
movl $0x2263, %edx           # imm = 0x2263
xorl %eax, %eax
callq 0x60186
testq %rbx, %rbx
setns %al
movq 0x18(%r14), %r9
cmpq %rbx, %r9
setg %cl
testb %cl, %al
jne 0x47d86
decq %r9
leaq 0x6ece3(%rip), %rdi     # 0xb6a4c
leaq 0x6c9de(%rip), %rsi     # 0xb474e
leaq 0x6ea53(%rip), %rcx     # 0xb67ca
movl $0x2264, %edx           # imm = 0x2264
movq %rbx, %r8
xorl %eax, %eax
callq 0x60186
movq 0x10(%r14), %rax
imulq $0x18, %rbx, %rcx
addq %rcx, %rax
addq $0x8, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_f3_s_btcl_function
er_t x_btcl_functor_f3_s_btcl_function( const x_btcl_functor_f3_s* o, tp_t name, const x_source_point_s* sp, x_btcl_frame_s* lexical_frame, const bcore_arr_sr_s* args, sr_s* result )
{
    // bcore_x_btcl_functor_f3.x:162:5
    
    switch( name )
    {
        case ((tp_t)(TYPEOF_call)):
        {
            for(sz_t i = 0; i < x_btcl_functor_f3_s_args(o); i++ ) x_btcl_functor_f3_s_set_arg_f3(o,i, sr_s_to_f3(&(args->data[i])) );
            sr_s_from_f3(result,x_btcl_functor_f3_s_call(o) );
        }
        break;
    
        default: break; // never reached
    }
    return  0;
}

// Assembly:
movabsq $-0x4ae9856f17c45b57, %rax # imm = 0xB5167A90E83BA4A9
cmpq %rax, %rsi
jne 0x47e6b
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %r9, %rbx
movq %r8, %r15
movq %rdi, %r14
xorl %r13d, %r13d
xorl %r12d, %r12d
cmpq 0x18(%r14), %r12
jge 0x47e52
movq 0x8(%r15), %rdi
addq %r13, %rdi
callq 0x8d63e
movq %r14, %rdi
movq %r12, %rsi
callq 0x47c7f
incq %r12
addq $0x18, %r13
jmp 0x47e2c
movq %r14, %rdi
callq 0x47e6e
movq %rbx, %rdi
callq 0x8d45e
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_f3_s_binary_f3
f3_t x_btcl_functor_f3_s_binary_f3( const x_btcl_functor_f3_s* o, f3_t x, f3_t y )
{
    // bcore_x_btcl_functor_f3.x:191:5
    
    ASSERT( x_btcl_functor_f3_s_args(o) == 2 );
    x_btcl_functor_f3_s_set_arg_f3(o,0, x );
    x_btcl_functor_f3_s_set_arg_f3(o,1, y );
    return  x_btcl_functor_f3_s_call(o);
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
movsd %xmm1, 0x8(%rsp)
movq %rdi, %rbx
cmpq $0x2, 0x18(%rdi)
je 0x47f5f
leaq 0x62714(%rip), %rdi     # 0xaa647
leaq 0x6ebb3(%rip), %rsi     # 0xb6aed
leaq 0x6ebcd(%rip), %rdx     # 0xb6b0e
leaq 0x6c806(%rip), %rcx     # 0xb474e
movl $0x22ad, %r8d           # imm = 0x22AD
xorl %eax, %eax
movsd %xmm0, (%rsp)
callq 0x5ffac
movsd (%rsp), %xmm0
movq %rbx, %rdi
xorl %esi, %esi
callq 0x47c7f
pushq $0x1
popq %rsi
movq %rbx, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x47c7f
movq %rbx, %rdi
addq $0x10, %rsp
popq %rbx
jmp 0x47e6e
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_f3_s_ternary_f3
f3_t x_btcl_functor_f3_s_ternary_f3( const x_btcl_functor_f3_s* o, f3_t x, f3_t y, f3_t z )
{
    // bcore_x_btcl_functor_f3.x:199:5
    
    ASSERT( x_btcl_functor_f3_s_args(o) == 3 );
    x_btcl_functor_f3_s_set_arg_f3(o,0, x );
    x_btcl_functor_f3_s_set_arg_f3(o,1, y );
    x_btcl_functor_f3_s_set_arg_f3(o,2, z );
    return  x_btcl_functor_f3_s_call(o);
}

// Assembly:
pushq %rbx
subq $0x20, %rsp
movsd %xmm2, 0x18(%rsp)
movsd %xmm1, 0x10(%rsp)
movq %rdi, %rbx
cmpq $0x3, 0x18(%rdi)
je 0x47fd7
leaq 0x6269e(%rip), %rdi     # 0xaa647
leaq 0x6eb7c(%rip), %rsi     # 0xb6b2c
leaq 0x6eb96(%rip), %rdx     # 0xb6b4d
leaq 0x6c790(%rip), %rcx     # 0xb474e
movl $0x22b7, %r8d           # imm = 0x22B7
xorl %eax, %eax
movsd %xmm0, 0x8(%rsp)
callq 0x5ffac
movsd 0x8(%rsp), %xmm0
movq %rbx, %rdi
xorl %esi, %esi
callq 0x47c7f
pushq $0x1
popq %rsi
movq %rbx, %rdi
movsd 0x10(%rsp), %xmm0
callq 0x47c7f
pushq $0x2
popq %rsi
movq %rbx, %rdi
movsd 0x18(%rsp), %xmm0
callq 0x47c7f
movq %rbx, %rdi
addq $0x20, %rsp
popq %rbx
jmp 0x47e6e
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_random_s_btcl_function
er_t x_btcl_random_s_btcl_function( const x_btcl_random_s* o, tp_t name, const x_source_point_s* sp, x_btcl_frame_s* lexical_frame, const bcore_arr_sr_s* args, sr_s* result )
{
    // bcore_x_btcl_random.x:59:5
    
    switch( name )
    {
        case TYPEOF_list:
        {BLM_INIT_LEVEL(3);
            x_btcl_list_s* list = ((x_btcl_list_s*)BLM_LEVEL_T_PUSH(3,x_btcl_list_s,x_btcl_list_s_create()));
            x_btcl_random_s_fill_list(o,sz_max( 0, sr_s_to_f3(&(args->data[0])) ), list );
            sr_s_asm(result,((x_btcl_list_s*)bcore_fork(list)) );
            BLM_RETURNV(er_t, 0)
        BLM_DOWN();}
    
        default: return  x_source_point_s_parse_error_fa(sp,"Invalid function name '#<sc_t>'.", bnameof( name ) );
    }
    return  0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x30, %rsp
movabsq $-0x40886552968b7ebf, %rax # imm = 0xBF779AAD69748141
cmpq %rax, %rsi
jne 0x48271
movq %r9, %rbx
movq %r8, %r12
movq %rdi, %r15
leaq 0xcfbe3(%rip), %rax     # 0x117dd0
movq (%rax), %rsi
movq %rsp, %r14
movq %r14, %rdi
callq 0x717f5
movq $0x3, 0x10(%r14)
callq 0x41317
pushq $0x3
popq %rsi
movabsq $-0x240ec4eb25c1f3e8, %rdx # imm = 0xDBF13B14DA3E0C18
movq %r14, %rdi
movq %rax, %rcx
callq 0x71967
movq %rax, %r13
movq 0x8(%r12), %rdi
callq 0x8d63e
cvttsd2si %xmm0, %rsi
xorl %eax, %eax
testq %rsi, %rsi
cmovleq %rax, %rsi
movq %r15, %rdi
movq %r13, %rdx
callq 0x4808a
movq %r13, %rdi
callq 0x6026d
movq %rbx, %rdi
movq %rax, %rsi
callq 0x3c408
movq %r14, %rdi
callq 0x71b64
xorl %eax, %eax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq %rdx, %r14
movq %rsi, %rdi
callq 0x71db6
leaq 0x6e8e9(%rip), %rsi     # 0xb6b6c
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
jmp 0x41984
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_test_adder_s_btcl_function
er_t x_btcl_test_adder_s_btcl_function( const x_btcl_test_adder_s* o, tp_t name, const x_source_point_s* sp, x_btcl_frame_s* lexical_frame, const bcore_arr_sr_s* args, sr_s* result )
{
    // bcore_x_btcl_test.x:39:5
    
    switch( name )
    {
        case TYPEOF_add_a_b: sr_s_from_f3(result,o->additive + sr_s_to_f3(&(args->data[0])) + sr_s_to_f3(&(args->data[1])) ); break;
        case TYPEOF_add_a  : sr_s_from_f3(result,o->additive + sr_s_to_f3(&(args->data[0])) ); break;
        default: return  x_source_point_s_parse_error_fa(sp,"Invalid function name '#<sc_t>'.", bnameof( name ) );
    }
    return  0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %r9, %rbx
movq %r8, %r14
movabsq $0x22dcf9fdfce6cd70, %rax # imm = 0x22DCF9FDFCE6CD70
cmpq %rax, %rsi
je 0x4839d
movabsq $-0x27a629443cbaa973, %rax # imm = 0xD859D6BBC345568D
cmpq %rax, %rsi
jne 0x483cb
movsd 0x8(%rdi), %xmm0
movsd %xmm0, 0x8(%rsp)
movq 0x8(%r14), %rdi
callq 0x8d63e
addsd 0x8(%rsp), %xmm0
movsd %xmm0, 0x8(%rsp)
movq 0x8(%r14), %rdi
addq $0x18, %rdi
jmp 0x483ac
movsd 0x8(%rdi), %xmm0
movsd %xmm0, 0x8(%rsp)
movq 0x8(%r14), %rdi
callq 0x8d63e
addsd 0x8(%rsp), %xmm0
movq %rbx, %rdi
callq 0x8d45e
xorl %eax, %eax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq %rdx, %r15
movq %rsi, %rdi
callq 0x71db6
leaq 0x6e78f(%rip), %rsi     # 0xb6b6c
movq %r15, %rdi
movq %rax, %rdx
xorl %eax, %eax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x41984
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_test_parser_s_btcl_external_parse
er_t x_btcl_test_parser_s_btcl_external_parse( const x_btcl_test_parser_s* o, x_source* source, x_btcl_frame_s* lexical_frame, sr_s* result )
{
    // bcore_x_btcl_test.x:60:5
    BLM_INIT_LEVEL(0);
    st_s* string = ((st_s*)BLM_LEVEL_T_PUSH(0,st_s,st_s_create()));
    while( !x_source_eos(source) && ( x_source_inspect_char(source) != ')' ) )
    {
        st_s_push_char(string,x_source_get_char(source) );
    }
    sr_s_asm(result,((st_s*)bcore_fork(string)) );
    BLM_RETURNV(er_t, 0)
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq %rcx, %rbx
movq %rsi, %r14
leaq 0xcf94d(%rip), %rax     # 0x117dd0
movq (%rax), %rsi
movq %rsp, %r15
movq %r15, %rdi
callq 0x717f5
andq $0x0, 0x10(%r15)
xorl %eax, %eax
callq 0x8eb65
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
movq %r15, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0x71967
movq %rax, %r15
movq %r14, %rdi
callq 0x2ef3b
testb %al, %al
jne 0x484e4
movq %r14, %rdi
callq 0x36ebe
cmpb $0x29, %al
je 0x484e4
movq %r14, %rdi
callq 0x36ed6
movsbl %al, %esi
movq %r15, %rdi
callq 0x8f0ee
jmp 0x484b7
movq %r15, %rdi
callq 0x6026d
movq %rbx, %rdi
movq %rax, %rsi
callq 0x3c408
movq %rsp, %rdi
callq 0x71b64
xorl %eax, %eax
addq $0x30, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_hmap_tp_s_get_key_arr
bcore_arr_tp_s* x_hmap_tp_s_get_key_arr( const x_hmap_tp_s* o, bcore_arr_tp_s* key_arr )
{
    // bcore_x_hmap.h:124:5
    
    bcore_arr_tp_s_set_size(key_arr,0 );
    sz_t size = x_hmap_tp_s_size(o);
    tp_t key = 0;
    for(sz_t i = 0; i < size; i++ ) if( (key = x_hmap_tp_s_idx_key(o,i )) ) bcore_arr_tp_s_push(key_arr,key );
    return  key_arr;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
xorl %r15d, %r15d
movq %rsi, %rdi
xorl %esi, %esi
callq 0x5ba2a
addq $0x8, %r14
movq %r14, %rdi
callq 0x6a227
movq %rax, %r12
testq %rax, %rax
cmovleq %r15, %r12
cmpq %r15, %r12
je 0x485db
movq %r14, %rdi
movq %r15, %rsi
callq 0x6a22c
testq %rax, %rax
je 0x485d6
movq %rbx, %rdi
movq %rax, %rsi
callq 0x5baa8
incq %r15
jmp 0x485b6
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_hmap_tp_s_m_get_val_arr
x_array* x_hmap_tp_s_m_get_val_arr( x_hmap_tp_s* o, x_array* val_arr )
{
    // bcore_x_hmap.h:135:5
    
    x_array_set_size(val_arr,0 );
    sz_t size = x_hmap_tp_s_size(o);
    for(sz_t i = 0; i < size; i++ ) if( x_hmap_tp_s_idx_key(o,i ) ) x_array_push_d(val_arr,((x_inst*)bcore_fork(x_hmap_tp_s_m_idx_val(o,i ))) );
    return  val_arr;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
xorl %r15d, %r15d
movq %rsi, %rdi
xorl %esi, %esi
callq 0x30a50
addq $0x8, %r14
movq %r14, %rdi
callq 0x6a227
movq %rax, %r12
testq %rax, %rax
cmovleq %r15, %r12
cmpq %r15, %r12
je 0x48653
movq %r14, %rdi
movq %r15, %rsi
callq 0x6a22c
testq %rax, %rax
je 0x4864e
movq %r14, %rdi
movq %r15, %rsi
callq 0x6a239
movq %rax, %rdi
callq 0x6026d
movq %rbx, %rdi
movq %rax, %rsi
callq 0x30a67
incq %r15
jmp 0x4861b
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_hmap_tp_s_c_get_val_arr
x_array* x_hmap_tp_s_c_get_val_arr( const x_hmap_tp_s* o, x_array* val_arr )
{
    // bcore_x_hmap.h:143:5
    
    x_array_set_size(val_arr,0 );
    sz_t size = x_hmap_tp_s_size(o);
    for(sz_t i = 0; i < size; i++ ) if( x_hmap_tp_s_idx_key(o,i ) ) x_array_push_d(val_arr,x_inst_clone(x_hmap_tp_s_c_idx_val(o,i )) );
    return  val_arr;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
xorl %r15d, %r15d
movq %rsi, %rdi
xorl %esi, %esi
callq 0x30a50
addq $0x8, %r14
movq %r14, %rdi
callq 0x6a227
movq %rax, %r12
testq %rax, %rax
cmovleq %r15, %r12
cmpq %r15, %r12
je 0x486cb
movq %r14, %rdi
movq %r15, %rsi
callq 0x6a22c
testq %rax, %rax
je 0x486c6
movq %r14, %rdi
movq %r15, %rsi
callq 0x6a239
movq %rax, %rdi
callq 0x5827b
movq %rbx, %rdi
movq %rax, %rsi
callq 0x30a67
incq %r15
jmp 0x48693
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_hmap_tp_st_s_create_st_status
st_s* x_hmap_tp_st_s_create_st_status( const x_hmap_tp_st_s* o )
{
    // bcore_x_hmap.x:23:1
    
    st_s* string = st_s_create();
    st_s_push_fa(string,"keys ........... #<sz_t>\n", x_hmap_tp_keys(((const x_hmap_tp*)(o))) );
    st_s_push_fa(string,"nodes .......... #<sz_t>\n", x_hmap_tp_size(((const x_hmap_tp*)(o))) );
    st_s_push_fa(string,"keys/nodes ..... #<f3_t>\n", x_hmap_tp_size(((const x_hmap_tp*)(o))) > 0 ? ( f3_t )( x_hmap_tp_keys(((const x_hmap_tp*)(o))) ) / x_hmap_tp_size(((const x_hmap_tp*)(o))) : 0 );
    return  string;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %r14
xorl %eax, %eax
callq 0x8eb65
movq %rax, %rbx
movq %r14, %rdi
callq 0x31a67
leaq 0x6e419(%rip), %rsi     # 0xb6b8d
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x8f4ef
movq %r14, %rdi
callq 0x31a77
leaq 0x6e417(%rip), %rsi     # 0xb6ba7
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x8f4ef
movq %r14, %rdi
callq 0x31a77
testq %rax, %rax
jle 0x487d8
movq %r14, %rdi
callq 0x31a67
cvtsi2sd %rax, %xmm0
movsd %xmm0, (%rsp)
movq %r14, %rdi
callq 0x31a77
cvtsi2sd %rax, %xmm0
movsd (%rsp), %xmm1
divsd %xmm0, %xmm1
movapd %xmm1, %xmm0
jmp 0x487dc
xorpd %xmm0, %xmm0
leaq 0x6e3de(%rip), %rsi     # 0xb6bc1
movq %rbx, %rdi
movb $0x1, %al
callq 0x8f4ef
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_hmap_tp_m_map_
x_hmap_tp_s* x_hmap_tp_m_map_( x_hmap_tp* o )
{
    // bcore_x_hmap.h:153:5
    
    assert( x_stamp_is_aware(((const x_stamp*)(o))) );
    x_inst* map = x_stamp_m_get_i(((x_stamp*)(o)),0 );
    if( !map || map->_ != TYPEOF_x_hmap_tp_s ) ERR_fa( "First element of '#<sc_t>' must be of type '#<sc_t>'", bnameof( o->_ ), bnameof( ((tp_t)(TYPEOF_x_hmap_tp_s)) ) );
    return  ((x_hmap_tp_s*)(map));
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %r15
movabsq $0x1ba738e6b01c5241, %r14 # imm = 0x1BA738E6B01C5241
xorl %esi, %esi
callq 0x48861
movq %rax, %rbx
testq %rax, %rax
je 0x4881e
cmpq %r14, (%rbx)
je 0x48858
movq (%r15), %rdi
callq 0x71db6
movq %rax, %r15
movq %r14, %rdi
callq 0x71db6
leaq 0x6e3a3(%rip), %rdi     # 0xb6bdb
leaq 0x6bf0f(%rip), %rsi     # 0xb474e
leaq 0x6e3a6(%rip), %rcx     # 0xb6bec
movl $0x239f, %edx           # imm = 0x239F
movq %r15, %r8
movq %rax, %r9
xorl %eax, %eax
callq 0x60186
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_hmap_tp_c_map_
const x_hmap_tp_s* x_hmap_tp_c_map_( const x_hmap_tp* o )
{
    // bcore_x_hmap.h:161:5
    
    assert( x_stamp_is_aware(((const x_stamp*)(o))) );
    const x_inst* map = x_stamp_c_get_i(((const x_stamp*)(o)),0 );
    if( !map || map->_ != TYPEOF_x_hmap_tp_s ) ERR_fa( "First element of '#<sc_t>' must be of type '#<sc_t>'", bnameof( o->_ ), bnameof( ((tp_t)(TYPEOF_x_hmap_tp_s)) ) );
    return  ((const x_hmap_tp_s*)(map));
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %r15
movabsq $0x1ba738e6b01c5241, %r14 # imm = 0x1BA738E6B01C5241
xorl %esi, %esi
callq 0x488fd
movq %rax, %rbx
testq %rax, %rax
je 0x488ba
cmpq %r14, (%rbx)
je 0x488f4
movq (%r15), %rdi
callq 0x71db6
movq %rax, %r15
movq %r14, %rdi
callq 0x71db6
leaq 0x6e34d(%rip), %rdi     # 0xb6c21
leaq 0x6be73(%rip), %rsi     # 0xb474e
leaq 0x6e30a(%rip), %rcx     # 0xb6bec
movl $0x23a9, %edx           # imm = 0x23A9
movq %r15, %r8
movq %rax, %r9
xorl %eax, %eax
callq 0x60186
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_hmap_tp_m_getf
x_inst* x_hmap_tp_m_getf( x_hmap_tp* o, tp_t key )
{
    // bcore_x_hmap.h:186:5
    
    x_inst* inst = x_hmap_tp_s_m_get(x_hmap_tp_m_map_(o),key );
    if( !inst ) inst = x_hmap_tp_s_set_d(x_hmap_tp_m_map_(o),key, x_inst_create(x_hmap_tp_a_TE(o) ) );
    if( !inst ) ERR_fa( "'#<sc_t>.m_getf:' stamp must define transient type 'TE'.", bnameof( o->_ ) );
    return  inst;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rsi, %r14
movq %rdi, %rbx
callq 0x487f8
movq %rax, %rdi
movq %r14, %rsi
callq 0x48a03
testq %rax, %rax
jne 0x489c2
movq %rbx, %rdi
callq 0x487f8
movq %rax, %r15
movq (%rbx), %r12
leaq 0xcede7(%rip), %rdi     # 0x117750
movq %r12, %rsi
callq 0x582de
movq %rax, %r13
testq %rax, %rax
jne 0x489a0
movabsq $0x3683902fe0ac12b7, %rdi # imm = 0x3683902FE0AC12B7
movq %r12, %rsi
callq 0x79b94
movq %rax, %r13
leaq 0xcedbb(%rip), %rdi     # 0x117750
movq %r12, %rsi
movq %rax, %rdx
callq 0x98d4b
movq %rbx, %rdi
callq *0x10(%r13)
movq %rax, %rdi
callq 0x2dce4
movq %r15, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x48a1b
testq %rax, %rax
je 0x489d2
movq %rax, %r15
movq %r15, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq (%rbx), %rdi
callq 0x71db6
leaq 0x6e251(%rip), %rdi     # 0xb6c32
leaq 0x6bd66(%rip), %rsi     # 0xb474e
leaq 0x6e254(%rip), %rcx     # 0xb6c43
xorl %r15d, %r15d
movl $0x23b3, %edx           # imm = 0x23B3
movq %rax, %r8
xorl %eax, %eax
callq 0x60186
jmp 0x489c5
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_hmap_tp_test_map_s_create_st_status
st_s* x_hmap_tp_test_map_s_create_st_status( const x_hmap_tp_test_map_s* o )
{
    // bcore_x_hmap.x:43:5
    
    st_s* string = st_s_create();
    st_s_push_fa(string,"keys ........... #<sz_t>\n", x_hmap_tp_keys(((const x_hmap_tp*)(o))) );
    st_s_push_fa(string,"nodes .......... #<sz_t>\n", x_hmap_tp_size(((const x_hmap_tp*)(o))) );
    st_s_push_fa(string,"keys/nodes ..... #<f3_t>\n", x_hmap_tp_size(((const x_hmap_tp*)(o))) > 0 ? ( f3_t )( x_hmap_tp_keys(((const x_hmap_tp*)(o))) ) / x_hmap_tp_size(((const x_hmap_tp*)(o))) : 0 );
    return  string;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %r14
xorl %eax, %eax
callq 0x8eb65
movq %rax, %rbx
movq %r14, %rdi
callq 0x31a67
leaq 0x6df52(%rip), %rsi     # 0xb6b8d
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x8f4ef
movq %r14, %rdi
callq 0x31a77
leaq 0x6df50(%rip), %rsi     # 0xb6ba7
movq %rbx, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x8f4ef
movq %r14, %rdi
callq 0x31a77
testq %rax, %rax
jle 0x48c9f
movq %r14, %rdi
callq 0x31a67
cvtsi2sd %rax, %xmm0
movsd %xmm0, (%rsp)
movq %r14, %rdi
callq 0x31a77
cvtsi2sd %rax, %xmm0
movsd (%rsp), %xmm1
divsd %xmm0, %xmm1
movapd %xmm1, %xmm0
jmp 0x48ca3
xorpd %xmm0, %xmm0
leaq 0x6df17(%rip), %rsi     # 0xb6bc1
movq %rbx, %rdi
movb $0x1, %al
callq 0x8f4ef
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_deque_inst_s_inc_adl_size
x_deque_inst_s* x_deque_inst_s_inc_adl_size( x_deque_inst_s* o )
{
    // bcore_x_deque.h:105:5
    
    x_array_set_size(((x_array*)(&(o->adl))),sz_max( 1, o->adl.size * 2 ) );
    for(sz_t i = 0; i < o->first; i++ )
    {
        o->adl.data[ i + o->size ] = o->adl.data[ i ];
        o->adl.data[ i          ] = NULL;
    }
    return o;
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
addq $0x8, %rdi
movq 0x18(%rbx), %rax
addq %rax, %rax
cmpq $0x2, %rax
pushq $0x1
popq %rsi
cmovgeq %rax, %rsi
callq 0x30a50
movq 0x30(%rbx), %rax
xorl %ecx, %ecx
cmpq %rax, %rcx
jge 0x4980d
movq 0x10(%rbx), %rdx
movq 0x28(%rbx), %rsi
leaq (%rdx,%rcx,8), %rdx
movq (%rdx), %rdi
movq %rdi, (%rdx,%rsi,8)
movq 0x10(%rbx), %rdx
andq $0x0, (%rdx,%rcx,8)
incq %rcx
jmp 0x497e7
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_deque_inst_s_push_last_d
x_inst* x_deque_inst_s_push_last_d( x_deque_inst_s* o, x_inst* inst )
{
    // bcore_x_deque.h:115:5
    
    if( o->size == o->adl.size ) x_deque_inst_s_inc_adl_size(o);
    x_inst_a_attach( &(o->adl.data[ ( o->first + o->size ) % o->adl.size ] ), (x_inst*)( inst));
    o->size++;
    return  ((x_inst*)(inst));
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq 0x18(%rdi), %rcx
movq 0x28(%rdi), %rax
cmpq %rcx, %rax
jne 0x49839
movq %r14, %rdi
callq 0x497c2
movq 0x18(%r14), %rcx
movq 0x28(%r14), %rax
addq 0x30(%r14), %rax
xorl %edx, %edx
divq %rcx
leaq (,%rdx,8), %rdi
addq 0x10(%r14), %rdi
movq %rbx, %rsi
callq 0x49865
incq 0x28(%r14)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq