LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_operator_bop_s__
BCORE_DEFINE_OBJECT_INST_P_NASC_END( x_btcl_operator_bop_s )

x_btcl_operator_bop_s* x_btcl_operator_bop_s__( x_btcl_operator_bop_s* o, tp_t type, sr_s* a, sr_s* b, x_source_point_s* source_point )
{
    // bcore_x_btcl_operator.x:244:5
    
    o->type = type;
    sr_s_tsm(&(o->a),sr_s_type(a), ((x_inst*)bcore_fork(a->o)) );
    sr_s_tsm(&(o->b),sr_s_type(b), ((x_inst*)bcore_fork(b->o)) );
    if( source_point ) x_source_point_s_copy(&(o->sp),source_point );
    return o;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %r8, %r14
movq %rcx, %r15
movq %rdi, %rbx
movq %rsi, 0x8(%rdi)
leaq 0x10(%rdi), %r12
testq %rdx, %rdx
je 0x905e9
movq 0x8(%rdx), %rax
testq %rax, %rax
je 0x905e9
movq 0x8(%rax), %r13
jmp 0x905ec
xorl %r13d, %r13d
movq (%rdx), %rdi
callq 0xbe7e4
movq %rax, %rbp
movq %r12, %rdi
callq 0x107ca9
testq %r13, %r13
je 0x9060e
movq %r13, %rdi
callq 0x1074f1
jmp 0x90610
xorl %eax, %eax
movq %rbp, 0x10(%rbx)
movq %rax, 0x18(%rbx)
movq $0x2, 0x20(%rbx)
leaq 0x28(%rbx), %r12
testq %r15, %r15
je 0x90638
movq 0x8(%r15), %rax
testq %rax, %rax
je 0x90638
movq 0x8(%rax), %r13
jmp 0x9063b
xorl %r13d, %r13d
movq (%r15), %rdi
callq 0xbe7e4
movq %rax, %r15
movq %r12, %rdi
callq 0x107ca9
testq %r13, %r13
je 0x9065d
movq %r13, %rdi
callq 0x1074f1
jmp 0x9065f
xorl %eax, %eax
movq %r15, 0x28(%rbx)
movq %rax, 0x30(%rbx)
movq $0x2, 0x38(%rbx)
testq %r14, %r14
je 0x90680
leaq 0x40(%rbx), %rdi
movq %r14, %rsi
callq 0x54692
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_operator_is_comparable
bl_t x_btcl_operator_is_comparable( const sr_s* a, const sr_s* b )
{
    // bcore_x_btcl_operator.x:280:1
    
    return 
    ( sr_s_is_numeric(a) && sr_s_is_numeric(b) ) ||
    ( ( sr_s_type(a) == ((tp_t)(TYPEOF_st_s)) ) && ( sr_s_type(b) == ((tp_t)(TYPEOF_st_s)) ) ) ||
    ( ( sr_s_type(a) == ((tp_t)(TYPEOF_x_btcl_list_s)) ) && ( sr_s_type(b) == ((tp_t)(TYPEOF_x_btcl_list_s)) ) );
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
callq 0x108085
testb %al, %al
je 0x91dc0
movq %rbx, %rdi
callq 0x108085
movl %eax, %ecx
movb $0x1, %al
testb %cl, %cl
jne 0x91e1f
testq %r14, %r14
je 0x91e1d
movq 0x8(%r14), %rcx
testq %rcx, %rcx
je 0x91e1d
testq %rbx, %rbx
je 0x91df4
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
cmpq %rdx, 0x8(%rcx)
jne 0x91df4
movq 0x8(%rbx), %rsi
testq %rsi, %rsi
je 0x91df4
movb $0x1, %al
cmpq %rdx, 0x8(%rsi)
je 0x91e1f
xorl %eax, %eax
testq %rbx, %rbx
je 0x91e1f
movabsq $-0x240ec4eb25c1f3e8, %rdx # imm = 0xDBF13B14DA3E0C18
cmpq %rdx, 0x8(%rcx)
jne 0x91e1f
movq 0x8(%rbx), %rax
testq %rax, %rax
je 0x91e1d
cmpq %rdx, 0x8(%rax)
sete %al
jmp 0x91e1f
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_net_node_s_push_plain_branch
x_btcl_net_node_s* x_btcl_net_node_s_push_plain_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:132:5
    
    x_btcl_net_plain_branch_s* branch = NULL;
    if( replace ) branch = x_btcl_net_node_s_m_plain_branch_by_name(o,name );
    if( !branch ) branch = ((x_btcl_net_plain_branch_s*)(x_array_push(((x_array*)(BCORE_PASS_CREATE(x_btcl_net_plain_branch_arr_s,o->plain_branch_arr))))));
    x_btcl_net_plain_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 0x20(%rdi), %rdi
testl %edx, %edx
je 0x91fa5
testq %rdi, %rdi
je 0x91faa
movq 0x10(%rdi), %rcx
testq %rcx, %rcx
je 0x91fb6
movq 0x8(%rdi), %rax
cmpq %r12, 0x8(%rax)
je 0x91fbe
addq $0x30, %rax
decq %rcx
jne 0x91f96
testq %rdi, %rdi
jne 0x91fb6
callq 0x9869b
movq %rax, %rdi
movq %rax, 0x20(%r14)
movq (%rdi), %rsi
callq 0x55f9e
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x98398
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_operator_top_s_solve_exportable_a_b_c
er_t x_btcl_operator_top_s_solve_exportable_a_b_c( const x_btcl_operator_top_s* o, const sr_s* a, const sr_s* b, const sr_s* c, sr_s* result, bl_t* success )
{
    // bcore_x_btcl_operator.x:822:1
    
    (*(success)) = true;
    
    switch( o->type )
    {
        case ((tp_t)(TYPEOF_conditional)):
        {
            if( sr_s_is_numeric(a) )
            {
                if( sr_s_to_bl(a) )
                {
                    sr_s_tsc(result,sr_s_type(b), ((x_inst*)bcore_fork(b->o)) );
                }
                else
                {
                    sr_s_tsc(result,sr_s_type(c), ((x_inst*)bcore_fork(c->o)) );
                }
                return  0;
            }
        }
        break;
    
        default: break;
    }
    
    (*(success)) = false;
    return  0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %r9, %r12
movb $0x1, (%r9)
movabsq $-0x27ee546d048af62d, %rax # imm = 0xD811AB92FB7509D3
cmpq %rax, 0x8(%rdi)
jne 0x93a86
movq %r8, %rbx
movq %rcx, %r14
movq %rdx, %r15
movq %rsi, %r13
movq %rsi, %rdi
callq 0x108085
testb %al, %al
je 0x93a86
movq %r13, %rdi
callq 0x108b00
testb %al, %al
je 0x93a8d
testq %r15, %r15
je 0x93aa1
movq 0x8(%r15), %rax
testq %rax, %rax
je 0x93aa1
movq 0x8(%rax), %r14
jmp 0x93aa4
movb $0x0, (%r12)
jmp 0x93b03
testq %r14, %r14
je 0x93ac6
movq 0x8(%r14), %rax
testq %rax, %rax
je 0x93ac6
movq 0x8(%rax), %r15
jmp 0x93ac9
xorl %r14d, %r14d
movq (%r15), %rdi
callq 0xbe7e4
movq %rax, %r15
movq %rbx, %rdi
callq 0x107ca9
testq %r14, %r14
je 0x93aeb
movq %r14, %rdi
callq 0x1074f1
jmp 0x93aed
xorl %r15d, %r15d
movq (%r14), %rdi
callq 0xbe7e4
movq %rax, %r14
movq %rbx, %rdi
callq 0x107ca9
testq %r15, %r15
je 0x93af2
movq %r15, %rdi
callq 0x1074f1
jmp 0x93af4
xorl %eax, %eax
movq %r15, (%rbx)
jmp 0x93af7
xorl %eax, %eax
movq %r14, (%rbx)
movq %rax, 0x8(%rbx)
movq $0x3, 0x10(%rbx)
xorl %eax, %eax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_operator_f3_arg_nop_s_copy
BCORE_DEFINE_OBJECT_INST_P_NASC_END( x_btcl_operator_f3_arg_nop_s )

er_t x_btcl_operator_f3_arg_nop_s_set_args( x_btcl_operator_f3_arg_nop_s* o, x_btcl_operator_f3_arg_arr_s* arg_arr )
{
    // bcore_x_btcl_operator_f3.x:89:5
    
    if( o->index < 0 ) BLM_TRY(GERR_fa("index has not been set." ))
    if( o->index >= arg_arr->size ) BLM_TRY(GERR_fa("index is out of range." ))
    
    o->name = arg_arr->data[ o->index ].name;
    o->val = (&(arg_arr->data[ o->index ].val));
    return  0;
}

// Assembly:
cmpq %rsi, %rdi
je 0x94c57
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movabsq $0x4f0240b228764b7, %r15 # imm = 0x4F0240B228764B7
leaq 0x1078b5(%rip), %rax    # 0x19c468
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r15, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r15, %rdx
je 0x94c09
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x94c09
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x94c09
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x94c12
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x94c39
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %r15, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0x10783a(%rip), %rdi    # 0x19c468
movq %r15, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x90(%r12), %rax
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmpq *%rax
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_operator_f3_uop_s_check_consistency
er_t x_btcl_operator_f3_uop_s_check_consistency( const x_btcl_operator_f3_uop_s* o )
{
    // bcore_x_btcl_operator_f3.x:163:5
    
    BLM_TRY(EM_ASSERT(o->a ))
    BLM_TRY(EM_ASSERT(o->sa ))
    BLM_TRY(EM_ASSERT(o->fp_get != NULL ))
    BLM_TRY(x_btcl_operator_f3_a_check_consistency(o->a))
    return  0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
cmpq $0x0, 0x10(%rdi)
je 0x95d4e
cmpq $0x0, 0x18(%rbx)
je 0x95d8b
cmpq $0x0, 0x20(%rbx)
je 0x95dc8
movq 0x10(%rbx), %rbx
movq (%rbx), %r14
leaq 0x104bfc(%rip), %rax    # 0x19a8a8
movl 0x104bf6(%rip), %ecx    # 0x19a8a8
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r14, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x95d06
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x95d06
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x95d06
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x95d0f
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x95d36
movabsq $0x37a58f457601baa0, %rdi # imm = 0x37A58F457601BAA0
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0x104b7d(%rip), %rdi    # 0x19a8a8
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
movq %rbx, %rdi
callq *0x28(%r15)
testq %rax, %rax
jne 0x95e04
xorl %r14d, %r14d
jmp 0x95e16
leaq 0xa33ea(%rip), %rsi     # 0x13913f
leaq 0xa342a(%rip), %rdx     # 0x139186
leaq 0xa3428(%rip), %rcx     # 0x13918b
leaq 0xa15c4(%rip), %r8      # 0x13732e
movabsq $-0x2b54a1bd1db02486, %rdi # imm = 0xD4AB5E42E24FDB7A
movl $0x1ece, %r9d           # imm = 0x1ECE
xorl %eax, %eax
callq 0xbec3c
testq %rax, %rax
jne 0x95e04
jmp 0x95c88
leaq 0xa33ad(%rip), %rsi     # 0x13913f
leaq 0xa341d(%rip), %rdx     # 0x1391b6
leaq 0xa33eb(%rip), %rcx     # 0x13918b
leaq 0xa1587(%rip), %r8      # 0x13732e
movabsq $-0x2b54a1bd1db02486, %rdi # imm = 0xD4AB5E42E24FDB7A
movl $0x1ecf, %r9d           # imm = 0x1ECF
xorl %eax, %eax
callq 0xbec3c
testq %rax, %rax
jne 0x95e04
jmp 0x95c93
leaq 0xa3370(%rip), %rsi     # 0x13913f
leaq 0xa33e6(%rip), %rdx     # 0x1391bc
leaq 0xa33ae(%rip), %rcx     # 0x13918b
leaq 0xa154a(%rip), %r8      # 0x13732e
movabsq $-0x2b54a1bd1db02486, %rdi # imm = 0xD4AB5E42E24FDB7A
movl $0x1ed0, %r9d           # imm = 0x1ED0
xorl %eax, %eax
callq 0xbec3c
testq %rax, %rax
je 0x95c9e
movq %rax, %r14
leaq 0x105fc2(%rip), %rax    # 0x19bdd0
movq (%rax), %rdi
callq 0xd6d2c
movq %r14, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_operator_f3_bop_s_set_args
er_t x_btcl_operator_f3_bop_s_set_args( x_btcl_operator_f3_bop_s* o, x_btcl_operator_f3_arg_arr_s* arg_arr )
{
    // bcore_x_btcl_operator_f3.x:217:5
    
    BLM_TRY(x_btcl_operator_f3_a_set_args(o->a,arg_arr ))
    BLM_TRY(x_btcl_operator_f3_a_set_args(o->b,arg_arr ))
    return  0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq 0x10(%rdi), %r15
movq (%r15), %r12
leaq 0x104009(%rip), %rbp    # 0x19a8a8
movl 0x104003(%rip), %eax    # 0x19a8a8
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rbp,%rax,8), %rcx
movq 0x18(%rbp,%rax,8), %rdx
andq %r12, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x968f8
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x968f8
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x968f8
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x96901
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x96928
movabsq $0x37a58f457601baa0, %rdi # imm = 0x37A58F457601BAA0
movq %r12, %rsi
callq 0xe9bc5
movq %rax, %r13
leaq 0x103f8b(%rip), %rdi    # 0x19a8a8
movq %r12, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r15, %rdi
movq %rbx, %rsi
callq *0x20(%r13)
testq %rax, %rax
jne 0x969db
movq 0x18(%r14), %r14
movq (%r14), %r15
movl 0x103f60(%rip), %eax    # 0x19a8a8
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rbp,%rax,8), %rcx
movq 0x18(%rbp,%rax,8), %rdx
andq %r15, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r15, %rdx
je 0x9699b
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x9699b
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x9699b
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x969a4
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x969cb
movabsq $0x37a58f457601baa0, %rdi # imm = 0x37A58F457601BAA0
movq %r15, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0x103ee8(%rip), %rdi    # 0x19a8a8
movq %r15, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r14, %rdi
movq %rbx, %rsi
callq *0x20(%r12)
testq %rax, %rax
je 0x969ff
movq %rax, %r15
leaq 0x1053eb(%rip), %rax    # 0x19bdd0
movq (%rax), %rdi
callq 0xd6d2c
movq %r15, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %r15d, %r15d
jmp 0x969ed
// File: /workspace/github_c_makefile_star2_O3/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 %rbx
leaq 0xa190d(%rip), %rdi     # 0x13923a
callq 0xd7476
movabsq $0x2d929df1d8b41fe3, %rbx # imm = 0x2D929DF1D8B41FE3
movl $0x8, %edx
movl $0x8, %ecx
movq %rax, %rdi
movq %rbx, %rsi
callq 0xc3677
movq %rax, %rdi
callq 0xc5089
leaq 0xa18f7(%rip), %rdi     # 0x139257
callq 0xd7476
movl $0x8, %edx
movl $0x8, %ecx
movq %rax, %rdi
movq %rbx, %rsi
callq 0xc3677
movq %rax, %rdi
callq 0xc5089
leaq 0xa18eb(%rip), %rdi     # 0x139274
callq 0xd7476
movl $0x8, %edx
movl $0x8, %ecx
movq %rax, %rdi
movq %rbx, %rsi
callq 0xc3677
movq %rax, %rdi
callq 0xc5089
leaq 0xa18df(%rip), %rdi     # 0x139291
callq 0xd7476
movl $0x8, %edx
movl $0x8, %ecx
movq %rax, %rdi
movq %rbx, %rsi
callq 0xc3677
movq %rax, %rdi
popq %rbx
jmp 0xc5089
// File: /workspace/github_c_makefile_star2_O3/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
subq $0x38, %rsp
movq %rcx, %r14
movq %rdx, %r15
movq %rdi, %rbx
movq %rsi, 0x8(%rdi)
movq 0x28(%rdi), %rdi
testq %rdi, %rdi
jne 0x983c5
callq 0x5475f
movq %rax, %rdi
movq %rax, 0x28(%rbx)
movq %r15, %rsi
callq 0x54692
leaq 0x10(%rbx), %r15
movq 0x20(%rbx), %rax
movq %rax, 0x30(%rsp)
movups 0x10(%rbx), %xmm0
movaps %xmm0, 0x20(%rsp)
testb $0x2, %al
je 0x983ff
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movaps 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0x107590
xorps %xmm0, %xmm0
movups %xmm0, (%r15)
movq $0x0, 0x10(%r15)
testq %r14, %r14
je 0x98459
movq 0x8(%r14), %rax
testq %rax, %rax
je 0x98422
movq 0x8(%rax), %r12
jmp 0x98425
xorl %r12d, %r12d
movq (%r14), %rdi
callq 0xbe7e4
movq %rax, %r14
movq %r15, %rdi
callq 0x107ca9
testq %r12, %r12
je 0x98447
movq %r12, %rdi
callq 0x1074f1
jmp 0x98449
xorl %eax, %eax
movq %r14, 0x10(%rbx)
movq %rax, 0x18(%rbx)
movq $0x2, 0x20(%rbx)
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.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
subq $0x38, %rsp
movq %rcx, %r14
movq %rdx, %r15
movq %rdi, %rbx
movq %rsi, 0x8(%rdi)
movq 0x28(%rdi), %rdi
testq %rdi, %rdi
jne 0x98d49
callq 0x5475f
movq %rax, %rdi
movq %rax, 0x28(%rbx)
movq %r15, %rsi
callq 0x54692
leaq 0x10(%rbx), %r15
movq 0x20(%rbx), %rax
movq %rax, 0x30(%rsp)
movups 0x10(%rbx), %xmm0
movaps %xmm0, 0x20(%rsp)
testb $0x2, %al
je 0x98d83
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movaps 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0x107590
xorps %xmm0, %xmm0
movups %xmm0, (%r15)
movq $0x0, 0x10(%r15)
testq %r14, %r14
je 0x98ddd
movq 0x8(%r14), %rax
testq %rax, %rax
je 0x98da6
movq 0x8(%rax), %r12
jmp 0x98da9
xorl %r12d, %r12d
movq (%r14), %rdi
callq 0xbe7e4
movq %rax, %r14
movq %r15, %rdi
callq 0x107ca9
testq %r12, %r12
je 0x98dcb
movq %r12, %rdi
callq 0x1074f1
jmp 0x98dcd
xorl %eax, %eax
movq %r14, 0x10(%rbx)
movq %rax, 0x18(%rbx)
movq $0x2, 0x20(%rbx)
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_net_node_s_plain_branch_exists
bl_t x_btcl_net_node_s_plain_branch_exists( x_btcl_net_node_s* o, tp_t branch_name )
{
    // bcore_x_btcl_net.x:105:5
    
    if( !o->plain_branch_arr ) return  false;
    {const x_btcl_net_plain_branch_arr_s* __a=o->plain_branch_arr ;if(__a)for(sz_t __i=0;__i<__a->size;__i++){x_btcl_net_plain_branch_s* e=&(__a->data[__i]); if( e->name == branch_name ) return  true;
    }}return  false;
}

// Assembly:
movq 0x20(%rdi), %rax
testq %rax, %rax
je 0x99618
movq 0x10(%rax), %rcx
testq %rcx, %rcx
je 0x99618
movq 0x8(%rax), %rdx
decq %rcx
addq $0x8, %rdx
subq $0x1, %rcx
setb %dil
cmpq %rsi, (%rdx)
sete %al
je 0x99617
addq $0x30, %rdx
testb %dil, %dil
je 0x995fe
retq
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_net_node_s_socket_branch_exists
bl_t x_btcl_net_node_s_socket_branch_exists( x_btcl_net_node_s* o, tp_t branch_name )
{
    // bcore_x_btcl_net.x:112:5
    
    if( !o->socket_branch_arr ) return  false;
    {const x_btcl_net_socket_branch_arr_s* __a=o->socket_branch_arr ;if(__a)for(sz_t __i=0;__i<__a->size;__i++){x_btcl_net_socket_branch_s* e=&(__a->data[__i]); if( e->name == branch_name ) return  true;
    }}return  false;
}

// Assembly:
movq 0x28(%rdi), %rax
testq %rax, %rax
je 0x99652
movq 0x10(%rax), %rcx
testq %rcx, %rcx
je 0x99652
movq 0x8(%rax), %rdx
decq %rcx
addq $0x8, %rdx
subq $0x1, %rcx
setb %dil
cmpq %rsi, (%rdx)
sete %al
je 0x99651
addq $0x30, %rdx
testb %dil, %dil
je 0x99638
retq
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x99692
testq %rdi, %rdi
je 0x99697
movq 0x10(%rdi), %rcx
testq %rcx, %rcx
je 0x996a3
movq 0x8(%rdi), %rax
cmpq %r12, 0x8(%rax)
je 0x996ab
addq $0x30, %rax
decq %rcx
jne 0x99683
testq %rdi, %rdi
jne 0x996a3
callq 0x9901f
movq %rax, %rdi
movq %rax, 0x28(%r14)
movq (%rdi), %rsi
callq 0x55f9e
movq %rax, %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x98d1c
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.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 %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %rbx
movq 0x10(%rdi), %rax
testq %rax, %rax
je 0x99fd4
movq 0x10(%rax), %rcx
testq %rcx, %rcx
je 0x9a016
movq 0x8(%rcx), %r15
jmp 0x9a019
testq %rbx, %rbx
je 0x9a04d
movq 0x10(%rbx), %rax
movq %rax, 0x30(%rsp)
movups (%rbx), %xmm0
movaps %xmm0, 0x20(%rsp)
testb $0x2, %al
je 0x9a006
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movaps 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0x107590
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
jmp 0x9a04d
xorl %r15d, %r15d
movq 0x8(%rax), %rdi
callq 0xbe7e4
movq %rax, %r14
movq %rbx, %rdi
callq 0x107ca9
testq %r15, %r15
je 0x9a03c
movq %r15, %rdi
callq 0x1074f1
jmp 0x9a03e
xorl %eax, %eax
movq %r14, (%rbx)
movq %rax, 0x8(%rbx)
movq $0x3, 0x10(%rbx)
xorl %eax, %eax
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movabsq $-0x4a7896032b1c7575, %rax # imm = 0xB58769FCD4E38A8B
cmpq %rax, %rsi
jne 0x9a110
movq %rdx, %r14
movabsq $0x4751fb349f0dee74, %rax # imm = 0x4751FB349F0DEE74
cmpq %rax, (%rdx)
je 0x9a0ae
leaq 0x935bb(%rip), %rdi     # 0x12d647
leaq 0x9f2b7(%rip), %rsi     # 0x13934a
leaq 0x9f2e4(%rip), %rdx     # 0x13937e
leaq 0x9d28d(%rip), %rcx     # 0x13732e
movl $0x20ca, %r8d           # imm = 0x20CA
xorl %eax, %eax
callq 0xbe4ef
movq 0x8(%rbx), %r8
testq %r8, %r8
setns %al
movq 0x10(%r14), %r9
cmpq %r9, %r8
setb %cl
testb %cl, %al
jne 0x9a0ee
decq %r9
leaq 0x9f2ae(%rip), %rdi     # 0x13937e
leaq 0x9d257(%rip), %rsi     # 0x13732e
leaq 0x9f2c0(%rip), %rcx     # 0x13939e
movl $0x20cc, %edx           # imm = 0x20CC
xorl %eax, %eax
callq 0xbe6f9
movq 0x8(%rbx), %r8
movq 0x8(%r14), %rax
shlq $0x5, %r8
movq 0x10(%rax,%r8), %rdi
callq 0xbe7e4
movq %rax, %r14
movq 0x10(%rbx), %rdi
callq 0x999a9
movq %r14, 0x10(%rbx)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.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
movq (%rdi), %r15
leaq 0x1013e7(%rip), %rax    # 0x19be20
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r15, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r15, %rdx
je 0x9aa8f
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x9aa8f
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x9aa8f
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x9aa98
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x9aabf
movabsq $-0x5073d588c3beb52e, %rdi # imm = 0xAF8C2A773C414AD2
movq %r15, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0x10136c(%rip), %rdi    # 0x19be20
movq %r15, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r12, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0xec548
testq %r14, %r14
jle 0x9ab1b
xorl %r15d, %r15d
xorl %r12d, %r12d
movq 0x8(%rbx), %rdi
addq %r15, %rdi
callq 0x9a575
movq %r12, 0x8(%rax)
movq 0x8(%rbx), %r13
movq 0x10(%r13,%r15), %rdi
testq %rdi, %rdi
jne 0x9ab03
callq 0x998fe
movq %rax, %rdi
movq %rax, 0x10(%r13,%r15)
addq $0x8, %rdi
xorps %xmm0, %xmm0
callq 0x108138
incq %r12
addq $0x20, %r15
cmpq %r12, %r14
jne 0x9aad8
movq %rbx, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x9b22c
decq %r9
leaq 0x9e1d5(%rip), %rdi     # 0x1393e4
leaq 0x9c118(%rip), %rsi     # 0x13732e
leaq 0x9e181(%rip), %rcx     # 0x13939e
movl $0x2143, %edx           # imm = 0x2143
movq %r15, %r8
xorl %eax, %eax
callq 0xbe6f9
movq 0x10(%rbx), %rax
shlq $0x5, %r15
movq 0x10(%rax,%r15), %rdi
testq %rdi, %rdi
jne 0x9b250
addq %rax, %r15
addq $0x10, %r15
callq 0x998fe
movq %rax, %rdi
movq %rax, (%r15)
addq $0x8, %rdi
movq %r14, %rsi
callq 0x107eb1
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_s_set_arg_sr_by_name
const x_btcl_functor_s* x_btcl_functor_s_set_arg_sr_by_name( const x_btcl_functor_s* o, tp_t name, sr_s* sr )
{
    // bcore_x_btcl_functor.x:194:5
    
    sz_t index = x_btcl_functor_s_arg_index(o,name );
    if( index >= 0 ) x_btcl_functor_s_set_arg_sr(o,index, sr );
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
cmpq $0x0, 0x18(%rdi)
je 0x9b2a9
movq %rdx, %r14
movq %rsi, %r15
xorl %r12d, %r12d
movq %rbx, %rdi
movq %r12, %rsi
callq 0x9b13d
cmpq %r15, %rax
je 0x9b29b
incq %r12
cmpq 0x18(%rbx), %r12
jb 0x9b280
jmp 0x9b2a9
movq %rbx, %rdi
movq %r12, %rsi
movq %r14, %rdx
callq 0x9b1e3
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_s_set_arg_f3_by_name
const x_btcl_functor_s* x_btcl_functor_s_set_arg_f3_by_name( const x_btcl_functor_s* o, tp_t name, f3_t v )
{
    // bcore_x_btcl_functor.x:209:5
    
    sz_t index = x_btcl_functor_s_arg_index(o,name );
    if( index >= 0 ) x_btcl_functor_s_set_arg_f3(o,index, v );
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movsd %xmm0, 0x8(%rsp)
movq %rdi, %rbx
cmpq $0x0, 0x18(%rdi)
je 0x9b3fa
movq %rsi, %r15
xorl %r14d, %r14d
movq %rbx, %rdi
movq %r14, %rsi
callq 0x9b13d
cmpq %r15, %rax
je 0x9b399
incq %r14
cmpq 0x18(%rbx), %r14
jb 0x9b37e
jmp 0x9b3fa
leaq 0x100a30(%rip), %rax    # 0x19bdd0
movq (%rax), %rsi
leaq 0x10(%rsp), %r15
movq %r15, %rdi
callq 0xd6675
movq $0x0, 0x10(%r15)
xorl %eax, %eax
callq 0x107e03
movabsq $0x79b76918ff0af12a, %rdx # imm = 0x79B76918FF0AF12A
movq %r15, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xd68a8
movq %rax, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x108138
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x9b1e3
movq %r15, %rdi
callq 0xd6d2c
movq %rbx, %rax
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x100752(%rip), %rax    # 0x19bdd0
movq (%rax), %rsi
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0xd6675
movq $0x0, 0x10(%rbx)
xorl %eax, %eax
callq 0x107e03
movabsq $0x79b76918ff0af12a, %rdx # imm = 0x79B76918FF0AF12A
movq %rbx, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xd68a8
movq %rax, %rbx
movq %r14, %rdi
movq %rax, %rsi
callq 0x9b465
testq %rax, %rax
je 0x9b6dc
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0xd6d2c
movl %r14d, %edi
callq 0x54258
movq %rbx, %rdi
callq 0x10847b
movsd %xmm0, (%rsp)
leaq 0x8(%rsp), %rdi
callq 0xd6d2c
movsd (%rsp), %xmm0
addq $0x38, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x9b78c
movq %r9, %rbx
movq %rdi, %r14
cmpq $0x0, 0x18(%rdi)
jle 0x9b768
movq %r8, %r15
xorl %r13d, %r13d
xorl %r12d, %r12d
movq 0x8(%r15), %rdx
addq %r13, %rdx
movq %r14, %rdi
movq %r12, %rsi
callq 0x9b1e3
incq %r12
addq $0x18, %r13
cmpq 0x18(%r14), %r12
jl 0x9b749
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9b465
testq %rax, %rax
je 0x9b78c
movq %rax, %rbx
leaq 0x10064e(%rip), %rax    # 0x19bdd0
movq (%rax), %rdi
callq 0xd6d2c
jmp 0x9b78e
xorl %ebx, %ebx
movq %rbx, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_s_unary_f3
f3_t x_btcl_functor_s_unary_f3( const x_btcl_functor_s* o, f3_t x )
{
    // bcore_x_btcl_functor.x:277:5
    
    ASSERT( x_btcl_functor_s_args(o) == 1 );
    x_btcl_functor_s_set_arg_f3(o,0, x );
    return  x_btcl_functor_s_call_to_f3(o);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x38, %rsp
movsd %xmm0, (%rsp)
movq %rdi, %rbx
cmpq $0x1, 0x18(%rdi)
je 0x9b817
leaq 0x91e52(%rip), %rdi     # 0x12d647
leaq 0x9dc91(%rip), %rsi     # 0x13948d
leaq 0x9dca8(%rip), %rdx     # 0x1394ab
leaq 0x9bb24(%rip), %rcx     # 0x13732e
movl $0x21ae, %r8d           # imm = 0x21AE
xorl %eax, %eax
callq 0xbe4ef
leaq 0x1005b2(%rip), %rax    # 0x19bdd0
movq (%rax), %rsi
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0xd6675
movq $0x0, 0x10(%r14)
xorl %eax, %eax
callq 0x107e03
movabsq $0x79b76918ff0af12a, %rdx # imm = 0x79B76918FF0AF12A
movq %r14, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xd68a8
movq %rax, %rdi
movsd (%rsp), %xmm0
callq 0x108138
movq %rbx, %rdi
xorl %esi, %esi
movq %rax, %rdx
callq 0x9b1e3
movq %r14, %rdi
callq 0xd6d2c
movq %rbx, %rdi
callq 0x9b66d
addq $0x38, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/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 %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x40, %rsp
movsd %xmm1, 0x8(%rsp)
movsd %xmm0, (%rsp)
movq %rdi, %rbx
cmpq $0x2, 0x18(%rdi)
je 0x9b8d1
leaq 0x91d98(%rip), %rdi     # 0x12d647
leaq 0x9dc0f(%rip), %rsi     # 0x1394c5
leaq 0x9dc26(%rip), %rdx     # 0x1394e3
leaq 0x9ba6a(%rip), %rcx     # 0x13732e
movl $0x21b7, %r8d           # imm = 0x21B7
xorl %eax, %eax
callq 0xbe4ef
leaq 0x1004f8(%rip), %r12    # 0x19bdd0
movq (%r12), %rsi
leaq 0x10(%rsp), %r15
movq %r15, %rdi
callq 0xd6675
xorl %r13d, %r13d
movq %r13, 0x10(%r15)
xorl %eax, %eax
callq 0x107e03
movabsq $0x79b76918ff0af12a, %r14 # imm = 0x79B76918FF0AF12A
movq %r15, %rdi
xorl %esi, %esi
movq %r14, %rdx
movq %rax, %rcx
callq 0xd68a8
movq %rax, %rdi
movsd (%rsp), %xmm0
callq 0x108138
movq %rbx, %rdi
xorl %esi, %esi
movq %rax, %rdx
callq 0x9b1e3
movq %r15, %rdi
callq 0xd6d2c
movq (%r12), %rsi
leaq 0x10(%rsp), %r15
movq %r15, %rdi
callq 0xd6675
movq %r13, 0x10(%r15)
xorl %eax, %eax
callq 0x107e03
movq %r15, %rdi
xorl %esi, %esi
movq %r14, %rdx
movq %rax, %rcx
callq 0xd68a8
movq %rax, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x108138
movl $0x1, %esi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x9b1e3
movq %r15, %rdi
callq 0xd6d2c
movq %rbx, %rdi
callq 0x9b66d
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x50, %rsp
movsd %xmm2, 0x18(%rsp)
movsd %xmm1, 0x10(%rsp)
movsd %xmm0, 0x8(%rsp)
movq %rdi, %rbx
cmpq $0x3, 0x18(%rdi)
je 0x9b9ed
leaq 0x91c7c(%rip), %rdi     # 0x12d647
leaq 0x9db2c(%rip), %rsi     # 0x1394fe
leaq 0x9db43(%rip), %rdx     # 0x13951c
leaq 0x9b94e(%rip), %rcx     # 0x13732e
movl $0x21c1, %r8d           # imm = 0x21C1
xorl %eax, %eax
callq 0xbe4ef
leaq 0x1003dc(%rip), %r12    # 0x19bdd0
movq (%r12), %rsi
leaq 0x20(%rsp), %r15
movq %r15, %rdi
callq 0xd6675
xorl %r13d, %r13d
movq %r13, 0x10(%r15)
xorl %eax, %eax
callq 0x107e03
movabsq $0x79b76918ff0af12a, %r14 # imm = 0x79B76918FF0AF12A
movq %r15, %rdi
xorl %esi, %esi
movq %r14, %rdx
movq %rax, %rcx
callq 0xd68a8
movq %rax, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x108138
movq %rbx, %rdi
xorl %esi, %esi
movq %rax, %rdx
callq 0x9b1e3
movq %r15, %rdi
callq 0xd6d2c
movq (%r12), %rsi
leaq 0x20(%rsp), %r15
movq %r15, %rdi
callq 0xd6675
movq %r13, 0x10(%r15)
xorl %eax, %eax
callq 0x107e03
movq %r15, %rdi
xorl %esi, %esi
movq %r14, %rdx
movq %rax, %rcx
callq 0xd68a8
movq %rax, %rdi
movsd 0x10(%rsp), %xmm0
callq 0x108138
movl $0x1, %esi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x9b1e3
movq %r15, %rdi
callq 0xd6d2c
movq (%r12), %rsi
leaq 0x20(%rsp), %r15
movq %r15, %rdi
callq 0xd6675
movq %r13, 0x10(%r15)
xorl %eax, %eax
callq 0x107e03
movq %r15, %rdi
xorl %esi, %esi
movq %r14, %rdx
movq %rax, %rcx
callq 0xd68a8
movq %rax, %rdi
movsd 0x18(%rsp), %xmm0
callq 0x108138
movl $0x2, %esi
movq %rbx, %rdi
movq %rax, %rdx
callq 0x9b1e3
movq %r15, %rdi
callq 0xd6d2c
movq %rbx, %rdi
callq 0x9b66d
addq $0x50, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq 0x18(%rsi), %r15
leaq 0x8(%rdi), %r12
movq 0x8(%rdi), %r13
leaq 0xffaa6(%rip), %rax     # 0x19be20
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r13, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r13, %rdx
je 0x9c3d0
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r13, %rdx
je 0x9c3d0
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r13, %rdx
je 0x9c3d0
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r13, %rdx
jne 0x9c3d9
movq (%rax,%rcx), %rbp
testq %rbp, %rbp
jne 0x9c400
movabsq $-0x5073d588c3beb52e, %rdi # imm = 0xAF8C2A773C414AD2
movq %r13, %rsi
callq 0xe9bc5
movq %rax, %rbp
leaq 0xffa2b(%rip), %rdi     # 0x19be20
movq %r13, %rsi
movq %rax, %rdx
callq 0x115fac
movq %rbp, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0xec548
testq %r15, %r15
jle 0x9c43a
movl $0x8, %eax
movl $0x10, %ecx
movq 0x10(%r14), %rdx
movq (%rdx,%rax), %rdx
movq 0x10(%rbx), %rsi
movq %rdx, (%rsi,%rcx)
addq $0x20, %rax
addq $0x18, %rcx
decq %r15
jne 0x9c41d
leaq 0x30(%rbx), %rdi
leaq 0x30(%r14), %rsi
callq 0x54692
leaq 0x28(%rbx), %r15
movq 0x28(%r14), %rdi
callq 0x979d5
movq %r15, %rdi
movq %rax, %rsi
callq 0x97e59
movq %rbx, %rdi
callq 0x9bf8b
movq %rax, %rbx
testq %rax, %rax
je 0x9c47e
leaq 0xff95a(%rip), %rax     # 0x19bdd0
movq (%rax), %rdi
callq 0xd6d2c
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.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 0x9c62e
leaq 0x9cfc8(%rip), %rdi     # 0x1395d2
leaq 0x9ad1d(%rip), %rsi     # 0x13732e
leaq 0x9cfd9(%rip), %rcx     # 0x1395f1
movl $0x2259, %edx           # imm = 0x2259
xorl %eax, %eax
movsd %xmm0, (%rsp)
callq 0xbe6f9
movsd (%rsp), %xmm0
testq %r14, %r14
setns %al
movq 0x18(%rbx), %r9
cmpq %r14, %r9
setg %cl
testb %cl, %al
jne 0x9c673
decq %r9
leaq 0x9cf86(%rip), %rdi     # 0x1395d2
leaq 0x9acdb(%rip), %rsi     # 0x13732e
leaq 0x9cd44(%rip), %rcx     # 0x13939e
movl $0x225a, %edx           # imm = 0x225A
movq %r14, %r8
xorl %eax, %eax
movsd %xmm0, (%rsp)
callq 0xbe6f9
movsd (%rsp), %xmm0
movq 0x10(%rbx), %rax
leaq (%r14,%r14,2), %rcx
movsd %xmm0, 0x8(%rax,%rcx,8)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_f3_s_set_arg_f3_by_name
const x_btcl_functor_f3_s* x_btcl_functor_f3_s_set_arg_f3_by_name( const x_btcl_functor_f3_s* o, tp_t name, f3_t v )
{
    // bcore_x_btcl_functor_f3.x:135:5
    
    sz_t index = x_btcl_functor_f3_s_arg_index(o,name );
    if( index >= 0 ) x_btcl_functor_f3_s_set_arg_f3(o,index, v );
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movsd %xmm0, 0x8(%rsp)
movq %rdi, %rbx
cmpq $0x0, 0x18(%rdi)
je 0x9c75c
movq %rsi, %r14
xorl %r15d, %r15d
movq %rbx, %rdi
movq %r15, %rsi
callq 0x9c54c
cmpq %r14, %rax
je 0x9c74b
incq %r15
cmpq 0x18(%rbx), %r15
jb 0x9c730
jmp 0x9c75c
movq %rbx, %rdi
movq %r15, %rsi
movsd 0x8(%rsp), %xmm0
callq 0x9c5f2
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O3/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 0x9c8d1
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %r9, %rbx
movq %rdi, %r15
cmpq $0x0, 0x18(%rdi)
jle 0x9c820
movq %r8, %r14
xorl %r13d, %r13d
xorl %r12d, %r12d
movq 0x8(%r14), %rdi
addq %r13, %rdi
callq 0x10847b
movq %r15, %rdi
movq %r12, %rsi
callq 0x9c5f2
incq %r12
addq $0x18, %r13
cmpq 0x18(%r15), %r12
jl 0x9c7fc
movq 0x28(%r15), %r14
movq (%r14), %r15
leaq 0xfe07a(%rip), %rax     # 0x19a8a8
movl 0xfe074(%rip), %ecx     # 0x19a8a8
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r15, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r15, %rdx
je 0x9c888
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x9c888
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x9c888
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x9c891
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x9c8b8
movabsq $0x37a58f457601baa0, %rdi # imm = 0x37A58F457601BAA0
movq %r15, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0xfdffb(%rip), %rdi     # 0x19a8a8
movq %r15, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r14, %rdi
callq *0x18(%r12)
movq %rbx, %rdi
callq 0x108138
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btcl_functor_f3_s_unary_f3
f3_t x_btcl_functor_f3_s_unary_f3( const x_btcl_functor_f3_s* o, f3_t x )
{
    // bcore_x_btcl_functor_f3.x:184:5
    
    ASSERT( x_btcl_functor_f3_s_args(o) == 1 );
    x_btcl_functor_f3_s_set_arg_f3(o,0, x );
    return  x_btcl_functor_f3_s_call(o);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
cmpq $0x1, 0x18(%rdi)
je 0x9c9fa
leaq 0x90c7b(%rip), %rdi     # 0x12d647
leaq 0x9ccb0(%rip), %rsi     # 0x139683
leaq 0x9ccca(%rip), %rdx     # 0x1396a4
leaq 0x9a94d(%rip), %rcx     # 0x13732e
movl $0x22a4, %r8d           # imm = 0x22A4
xorl %eax, %eax
movsd %xmm0, 0x8(%rsp)
callq 0xbe4ef
movsd 0x8(%rsp), %xmm0
movq %rbx, %rdi
xorl %esi, %esi
callq 0x9c5f2
movq 0x28(%rbx), %rbx
movq (%rbx), %r14
leaq 0xfde96(%rip), %rax     # 0x19a8a8
movl 0xfde90(%rip), %ecx     # 0x19a8a8
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r14, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x9ca6c
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x9ca6c
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x9ca6c
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x9ca75
movq (%rax,%rcx), %rax
testq %rax, %rax
jne 0x9ca9f
movabsq $0x37a58f457601baa0, %rdi # imm = 0x37A58F457601BAA0
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0xfde17(%rip), %rdi     # 0x19a8a8
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r15, %rax
movq %rbx, %rdi
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
jmpq *0x18(%rax)
// File: /workspace/github_c_makefile_star2_O3/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 %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movsd %xmm1, 0x8(%rsp)
movq %rdi, %rbx
cmpq $0x2, 0x18(%rdi)
je 0x9cafa
leaq 0x90b79(%rip), %rdi     # 0x12d647
leaq 0x9cbec(%rip), %rsi     # 0x1396c1
leaq 0x9cc06(%rip), %rdx     # 0x1396e2
leaq 0x9a84b(%rip), %rcx     # 0x13732e
movl $0x22ad, %r8d           # imm = 0x22AD
xorl %eax, %eax
movsd %xmm0, (%rsp)
callq 0xbe4ef
movsd (%rsp), %xmm0
movq %rbx, %rdi
xorl %esi, %esi
callq 0x9c5f2
movl $0x1, %esi
movq %rbx, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x9c5f2
movq 0x28(%rbx), %rbx
movq (%rbx), %r14
leaq 0xfdd83(%rip), %rax     # 0x19a8a8
movl 0xfdd7d(%rip), %ecx     # 0x19a8a8
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r14, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x9cb7f
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x9cb7f
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x9cb7f
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x9cb88
movq (%rax,%rcx), %rax
testq %rax, %rax
jne 0x9cbb2
movabsq $0x37a58f457601baa0, %rdi # imm = 0x37A58F457601BAA0
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0xfdd04(%rip), %rdi     # 0x19a8a8
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r15, %rax
movq %rbx, %rdi
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
jmpq *0x18(%rax)
// File: /workspace/github_c_makefile_star2_O3/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 %r15
pushq %r14
pushq %rbx
subq $0x20, %rsp
movsd %xmm2, 0x18(%rsp)
movsd %xmm1, 0x10(%rsp)
movq %rdi, %rbx
cmpq $0x3, 0x18(%rdi)
je 0x9cc15
leaq 0x90a60(%rip), %rdi     # 0x12d647
leaq 0x9cb12(%rip), %rsi     # 0x139700
leaq 0x9cb2c(%rip), %rdx     # 0x139721
leaq 0x9a732(%rip), %rcx     # 0x13732e
movl $0x22b7, %r8d           # imm = 0x22B7
xorl %eax, %eax
movsd %xmm0, 0x8(%rsp)
callq 0xbe4ef
movsd 0x8(%rsp), %xmm0
movq %rbx, %rdi
xorl %esi, %esi
callq 0x9c5f2
movl $0x1, %esi
movq %rbx, %rdi
movsd 0x10(%rsp), %xmm0
callq 0x9c5f2
movl $0x2, %esi
movq %rbx, %rdi
movsd 0x18(%rsp), %xmm0
callq 0x9c5f2
movq 0x28(%rbx), %rbx
movq (%rbx), %r14
leaq 0xfdc55(%rip), %rax     # 0x19a8a8
movl 0xfdc4f(%rip), %ecx     # 0x19a8a8
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r14, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x9ccad
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x9ccad
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x9ccad
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x9ccb6
movq (%rax,%rcx), %rax
testq %rax, %rax
jne 0x9cce0
movabsq $0x37a58f457601baa0, %rdi # imm = 0x37A58F457601BAA0
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0xfdbd6(%rip), %rdi     # 0x19a8a8
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r15, %rax
movq %rbx, %rdi
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
jmpq *0x18(%rax)