LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_nameof
sc_t xoico_che_s_nameof( xoico_che_s* o, tp_t type )
{
    // xoico_che.x:286:5
    
    sc_t name = bcore_hmap_name_s_get_sc(&(o->hmap_name),type );
    if( !name ) name = xoico_compiler_s_nameof(o->compiler,type );
    return  name;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
addq $0xb0, %rdi
callq 0xddb82
testq %rax, %rax
je 0x341a1
addq $0x8, %rsp
popq %rbx
popq %r14
retq
movq 0x18(%r14), %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r14
jmp 0xe39f
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_init_level0
void xoico_che_s_init_level0( xoico_che_s* o )
{
    // xoico_che.x:293:5
    
    xoico_che_stack_block_s_clear(&(o->stack_block));
    xoico_che_stack_block_s_push(&(o->stack_block));
    o->block_level = 0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x90(%rdi), %r14
leaq 0x174c53(%rip), %rax    # 0x1a8e20
movl (%rax), %ecx
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 0x34223
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x34223
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x34223
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x34292
movq (%rax,%rcx), %r12
leaq 0x90(%rbx), %r15
testq %r12, %r12
jne 0x3425a
movabsq $-0x5073d588c3beb52e, %rdi # imm = 0xAF8C2A773C414AD2
movq %r14, %rsi
callq 0xf3f85
movq %rax, %r12
leaq 0x174bd1(%rip), %rdi    # 0x1a8e20
movq %r14, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r12, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0xf6359
callq 0x505fc
movq 0x90(%rbx), %rsi
movq %r15, %rdi
movq %rax, %rdx
callq 0x5b3a7
movq $0x0, 0x28(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
xorl %r12d, %r12d
jmp 0x34227
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_inc_block
void xoico_che_s_inc_block( xoico_che_s* o )
{
    // xoico_che.x:300:5
    
    xoico_che_stack_block_s_push(&(o->stack_block));
    o->block_level++;
    xoico_che_s_stack_block_get_top_unit(o)->level = o->block_level;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0x90(%rdi), %r14
callq 0x505fc
movq 0x90(%rbx), %rsi
movq %r14, %rdi
movq %rax, %rdx
callq 0x5b3a7
movq 0x28(%rbx), %rax
movq 0x98(%rbx), %rcx
incq %rax
movq %rax, 0x28(%rbx)
movq 0xa0(%rbx), %rdx
movq -0x8(%rcx,%rdx,8), %rcx
movq %rax, 0x8(%rcx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_dec_block
void xoico_che_s_dec_block( xoico_che_s* o )
{
    // xoico_che.x:307:5
    
    xoico_che_stack_var_s_pop_level(&(o->stack_var),o->block_level );
    o->block_level--;
    ASSERT( o->block_level >= 0 );
    xoico_che_stack_block_s_pop(&(o->stack_block));
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
addq $0x38, %rdi
movq 0x28(%rbx), %rsi
callq 0x34355
movq 0x28(%rbx), %rax
leaq -0x1(%rax), %rcx
movq %rcx, 0x28(%rbx)
testq %rax, %rax
jg 0x34345
leaq 0x104324(%rip), %rdi    # 0x138647
leaq 0x106f78(%rip), %rsi    # 0x13b2a2
leaq 0x106f85(%rip), %rdx    # 0x13b2b6
leaq 0x103f58(%rip), %rcx    # 0x138290
movl $0x19a7, %r8d           # imm = 0x19A7
xorl %eax, %eax
callq 0xc8053
addq $0x88, %rbx
movq %rbx, %rdi
popq %rbx
jmp 0x34446
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_stack_var_s_pop_level
xoico_che_stack_var_s* xoico_che_stack_var_s_pop_level( xoico_che_stack_var_s* o, sz_t level )
{
    // xoico_che.x:70:9
    
    sz_t size = o->adl.size;
    while( size > 0 && o->adl.data[ size - 1 ]->level >= level ) size--;
    x_array_set_size(((x_array*)(&(o->adl))),size );
    xoico_che_stack_var_s_rehash_names(o);
    return  o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rdi, %rbx
movq 0x18(%rdi), %r14
testq %r14, %r14
jle 0x34389
movq 0x10(%rbx), %rax
movq -0x8(%rax,%r14,8), %rcx
cmpq %rsi, 0x8(%rcx)
jl 0x34389
leaq -0x1(%r14), %rcx
cmpq $0x1, %r14
movq %rcx, %r14
jg 0x3436e
xorl %r14d, %r14d
movq 0x8(%rbx), %r15
leaq 0x174a8c(%rip), %rax    # 0x1a8e20
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 0x343ea
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x343ea
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x343ea
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x34441
movq (%rax,%rcx), %r13
leaq 0x8(%rbx), %r12
testq %r13, %r13
jne 0x3441e
movabsq $-0x5073d588c3beb52e, %rdi # imm = 0xAF8C2A773C414AD2
movq %r15, %rsi
callq 0xf3f85
movq %rax, %r13
leaq 0x174a0d(%rip), %rdi    # 0x1a8e20
movq %r15, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r13, %rdi
movq %r12, %rsi
movq %r14, %rdx
callq 0xf69d8
movq %rbx, %rdi
callq 0x50376
movq %rbx, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
xorl %r13d, %r13d
jmp 0x343ee
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_stack_block_get_level_unit
xoico_che_stack_block_unit_s* xoico_che_s_stack_block_get_level_unit( xoico_che_s* o, sz_t level )
{
    // xoico_che.x:325:5
    
    {const xoico_che_stack_block_unit_adl_s* __a=&(o->stack_block.adl );if(__a)for(sz_t __i=0;__i<__a->size;__i++){xoico_che_stack_block_unit_s* e=__a->data[__i]; if( e->level == level ) return  e;
    }}ERR_fa( "Level #<sz_t> not found.", level );
    return  NULL;
}

// Assembly:
pushq %rbx
movq %rsi, %r8
movq 0xa0(%rdi), %rax
testq %rax, %rax
setne %dl
je 0x34569
movq 0x98(%rdi), %rcx
movq (%rcx), %rbx
cmpq %r8, 0x8(%rbx)
je 0x34569
movl $0x1, %esi
movq %rsi, %rdx
cmpq %rsi, %rax
je 0x34561
movq (%rcx,%rdx,8), %rdi
leaq 0x1(%rdx), %rsi
cmpq %r8, 0x8(%rdi)
cmoveq %rdi, %rbx
jne 0x34547
cmpq %rax, %rdx
setb %dl
jmp 0x34569
testb %dl, %dl
jne 0x34590
leaq 0x106d58(%rip), %rdi    # 0x13b2cc
leaq 0x103d15(%rip), %rsi    # 0x138290
leaq 0x106d71(%rip), %rcx    # 0x13b2f3
xorl %ebx, %ebx
movl $0x19be, %edx           # imm = 0x19BE
xorl %eax, %eax
callq 0xc825d
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_push_typedecl
void xoico_che_s_push_typedecl( xoico_che_s* o, const xoico_typespec_s* typespec, tp_t name )
{
    // xoico_che.x:332:5
    BLM_INIT_LEVEL(0);
    xoico_che_stack_var_unit_s* unit = ((xoico_che_stack_var_unit_s*)BLM_LEVEL_T_PUSH(0,xoico_che_stack_var_unit_s,xoico_che_stack_var_unit_s_create()));
    unit->level = o->block_level;
    unit->name = name;
    xoico_typespec_s_copy(&(unit->typespec),typespec );
    xoico_che_stack_var_s_push_unit(&(o->stack_var),unit );
    BLM_DOWN();
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x40, %rsp
movq %rdx, %r12
movq %rsi, %r15
movq %rdi, %r14
leaq 0x17481e(%rip), %rax    # 0x1a8dd0
movq (%rax), %rsi
leaq 0x10(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rdi, (%rbx)
callq 0xe0431
movq (%rbx), %r13
movq $0x0, 0x10(%r13)
callq 0x4f853
movabsq $-0x6405245fa6b4cb9a, %rdx # imm = 0x9BFADBA0594B3466
movq %r13, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xe0676
movq %rax, %r13
movq 0x28(%r14), %rax
movq %rax, 0x8(%r13)
movq %r12, 0x10(%r13)
leaq 0x18(%r13), %rdi
movq %r15, %rsi
callq 0xff8e
leaq 0x40(%r14), %rdi
movq 0x40(%r14), %rsi
movq %r13, %rdx
callq 0x5b4fc
movq 0x10(%r13), %rsi
movq 0x50(%r14), %rdx
addq $0x60, %r14
decq %rdx
movq %r14, %rdi
callq 0xd2be9
movq %rbx, %rdi
callq 0xe0b11
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_stack_var_s_push_unit
xoico_che_stack_var_s* xoico_che_stack_var_s_push_unit( xoico_che_stack_var_s* o, const xoico_che_stack_var_unit_s* unit )
{
    // xoico_che.x:63:9
    
    x_array_push_c(((x_array*)(&(o->adl))),((const x_inst*)(unit )));
    bcore_hmap_tpuz_s_set(&(o->hmap_name),unit->name, o->adl.size - 1 );
    return  o;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
addq $0x8, %rdi
movq 0x8(%r14), %rsi
movq %rbx, %rdx
callq 0x5b4fc
leaq 0x28(%r14), %rdi
movq 0x10(%rbx), %rsi
movq 0x18(%r14), %rdx
decq %rdx
callq 0xd2be9
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_typespec_to_sink
void xoico_che_s_typespec_to_sink( xoico_che_s* o, const xoico_typespec_s* typespec, x_sink* sink )
{
    // xoico_che.x:342:5
    BLM_INIT_LEVEL(0);
    xoico_che_result_arr_s* result = ((xoico_che_result_arr_s*)BLM_LEVEL_T_PUSH(0,xoico_che_result_arr_s,xoico_che_result_arr_s_create()));
    BLM_TRY_EXIT(xoico_che_s_push_typespec(o,typespec,((xoico_che_result*)( result ))))
    BLM_TRY_EXIT(xoico_che_result_arr_s_to_sink(result,sink ))
    BLM_DOWN();
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r12
leaq 0x174736(%rip), %rax    # 0x1a8dd0
movq (%rax), %rsi
leaq 0x8(%rsp), %rdi
movq %rdi, (%rsp)
callq 0xe0431
movq (%rsp), %r15
movq $0x0, 0x10(%r15)
callq 0x4c277
movabsq $-0x7850996cdf80346a, %rdx # imm = 0x87AF6693207FCB96
movq %r15, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xe0676
movq %rax, %r15
movq %r12, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x34734
testq %rax, %rax
je 0x346fd
movq %rax, %r14
movq (%rsp), %rdi
callq 0xe0b30
movl %r14d, %edi
callq 0x59990
movq %r15, %rdi
movq %rbx, %rsi
callq 0x349b3
testq %rax, %rax
je 0x34720
movq %rax, %rbx
movq (%rsp), %rdi
callq 0xe0b30
movl %ebx, %edi
callq 0x59990
movq %rsp, %rdi
callq 0xe0b11
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_trans
er_t xoico_che_s_trans( const xoico_che_s* o, x_source* source, sc_t format, xoico_che_result* result )
{
    // xoico_che.x:364:5
    
    BLM_TRY(x_source_parse_fa(source,format ))
    xoico_che_result_a_push_sc(result,format );
    return  0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %r14
movq %rdx, %rbx
movq %rsi, %rdi
movq %rdx, %rsi
xorl %eax, %eax
callq 0xda10
testq %rax, %rax
je 0x34b16
movq %rax, %r15
leaq 0x1742c7(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
jmp 0x34bb8
movq (%r14), %r15
leaq 0x16d990(%rip), %rax    # 0x1a24b0
movl 0x16d98a(%rip), %ecx    # 0x1a24b0
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 0x34b7a
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x34b7a
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x34b7a
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x34bc7
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x34baa
movabsq $-0x3dfc7e0a250a30dc, %rdi # imm = 0xC20381F5DAF5CF24
movq %r15, %rsi
callq 0xf3f85
movq %rax, %r12
leaq 0x16d911(%rip), %rdi    # 0x1a24b0
movq %r15, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r14, %rdi
movq %rbx, %rsi
callq *0x20(%r12)
xorl %r15d, %r15d
movq %r15, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
xorl %r12d, %r12d
jmp 0x34b7e
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_trans_identifier
er_t xoico_che_s_trans_identifier( xoico_che_s* o, x_source* source, xoico_che_result* result, tp_t* tp_identifier )
{
    // xoico_che.x:447:1
    
    tp_t identifier = xoico_che_s_get_identifier(o,source, true );
    if( !identifier )
    {
        return  x_source_parse_error_fa(source,"Identifier expected" );
    }
    if( tp_identifier ) (*(tp_identifier)) = identifier;
    if( result ) BLM_TRY(xoico_che_result_a_push_sc(result,xoico_che_s_nameof(o,identifier ) ))
    return  0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %r15
movq %rdx, %rbx
movq %rsi, %r12
movq %rdi, %r14
movl $0x1, %edx
callq 0x34cab
testq %rax, %rax
je 0x355a8
testq %r15, %r15
je 0x354c4
movq %rax, (%r15)
testq %rbx, %rbx
je 0x35597
movq %r14, %rdi
movq %rax, %rsi
callq 0x3417e
movq %rax, %r14
movq (%rbx), %r15
leaq 0x16cfcb(%rip), %rax    # 0x1a24b0
movl 0x16cfc5(%rip), %ecx    # 0x1a24b0
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 0x35543
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x35543
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x35543
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x355c4
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x35573
movabsq $-0x3dfc7e0a250a30dc, %rdi # imm = 0xC20381F5DAF5CF24
movq %r15, %rsi
callq 0xf3f85
movq %rax, %r12
leaq 0x16cf48(%rip), %rdi    # 0x1a24b0
movq %r15, %rsi
movq %rax, %rdx
callq 0x12128c
movq %rbx, %rdi
movq %r14, %rsi
callq *0x20(%r12)
testq %rax, %rax
je 0x35597
movq %rax, %rbx
leaq 0x173843(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
jmp 0x35599
xorl %ebx, %ebx
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
leaq 0x105e36(%rip), %rsi    # 0x13b3e5
movq %r12, %rdi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0xddb2
xorl %r12d, %r12d
jmp 0x35547
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_cast_s_reduce
xoico_che_result_cast_s* xoico_che_result_cast_s_reduce( xoico_che_result_cast_s* o )
{
    // xoico_che_result.x:206:5
    
    xoico_che_result_cast_s* prev_cast = NULL;
    if( xoico_che_result_a_get_cast(o->expression,&(prev_cast )) )
    {
        if( xoico_che_result_cast_s_overrides(o,prev_cast ) ) xoico_che_result_cast_s_deactivate(prev_cast);
    }
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq $0x0, (%rsp)
movq 0x18(%rdi), %r14
movq (%r14), %r15
leaq 0x1677f8(%rip), %rax    # 0x1a24b0
movl 0x1677f2(%rip), %ecx    # 0x1a24b0
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 0x3ad12
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x3ad12
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x3ad12
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x3ad78
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x3ad42
movabsq $-0x3dfc7e0a250a30dc, %rdi # imm = 0xC20381F5DAF5CF24
movq %r15, %rsi
callq 0xf3f85
movq %rax, %r12
leaq 0x167779(%rip), %rdi    # 0x1a24b0
movq %r15, %rsi
movq %rax, %rdx
callq 0x12128c
movq %rsp, %rsi
movq %r14, %rdi
callq *0x60(%r12)
testb %al, %al
je 0x3ad69
movq (%rsp), %rsi
movq %rbx, %rdi
callq 0x4dad3
testb %al, %al
je 0x3ad69
movq (%rsp), %rax
movb $0x0, 0x20(%rax)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
xorl %r12d, %r12d
jmp 0x3ad16
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_cast_s__
xoico_che_result_cast_s* xoico_che_result_cast_s__( xoico_che_result_cast_s* o, xoico_che_s* che, xoico_typespec_s* target_typespec, xoico_che_result* expression )
{
    // :2:1
    
    o->che = che;
    xoico_typespec_s_attach( &(o->target_typespec ),  target_typespec);
    xoico_che_result_a_attach( &(o->expression ), (xoico_che_result*)( expression));
    return  o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rcx, %rbx
movq %rdx, %r15
movq %rdi, %r14
movq %rsi, 0x8(%rdi)
movq 0x10(%rdi), %rdi
callq 0x1010f
movq %r15, 0x10(%r14)
testq %rbx, %rbx
je 0x3adb7
movq (%rbx), %rsi
movabsq $-0x2c7f7969b22e7014, %rdi # imm = 0xD38086964DD18FEC
callq 0x1222bd
movq 0x18(%r14), %r15
testq %r15, %r15
je 0x3ae61
movq (%r15), %r12
leaq 0x16e69a(%rip), %rax    # 0x1a9468
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r12, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x3ae24
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x3ae24
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x3ae24
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x3ae72
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x3ae54
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %r12, %rsi
callq 0xf3f85
movq %rax, %r13
leaq 0x16e61f(%rip), %rdi    # 0x1a9468
movq %r12, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r13, %rdi
movq %r15, %rsi
callq *0xb8(%r13)
movq %rbx, 0x18(%r14)
movq %r14, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
xorl %r13d, %r13d
jmp 0x3ae28
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_take_typespec
er_t xoico_che_s_take_typespec( xoico_che_s* o, x_source* source, xoico_typespec_s* typespec, bl_t require_tractable_type )
{
    // xoico_che.x:1099:1
    
    bl_t success = false;
    BLM_TRY(xoico_che_s_try_take_typespec(o,source, typespec, require_tractable_type,&( success )))
    
    if( !success )
    {
        if( require_tractable_type )
        {
            return  x_source_parse_error_fa(source,"Typespec: Syntax error or intractable type." );
        }
        else
        {
            return  x_source_parse_error_fa(source,"Typespec: Syntax error." );
        }
    }
    
    return  0;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x10, %rsp
movl %ecx, %ebp
movq %rsi, %rbx
leaq 0xf(%rsp), %r8
movb $0x0, (%r8)
callq 0x3b35b
testq %rax, %rax
je 0x3bd3d
movq %rax, %r14
leaq 0x16d09d(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
jmp 0x3bd6b
cmpb $0x0, 0xf(%rsp)
je 0x3bd49
xorl %r14d, %r14d
jmp 0x3bd6b
testb %bpl, %bpl
je 0x3bd57
leaq 0xffbb9(%rip), %rsi     # 0x13b90e
jmp 0x3bd5e
leaq 0xffbdc(%rip), %rsi     # 0x13b93a
movq %rbx, %rdi
xorl %eax, %eax
callq 0xddb2
movq %rax, %r14
movq %r14, %rax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_trans_builtin
er_t xoico_che_s_trans_builtin( xoico_che_s* o, tp_t tp_builtin, x_source* source, bl_t source_without_brackets, const xoico_che_result* result_expr, const xoico_typespec_s* typespec_expr, xoico_che_result* result_out, xoico_typespec_s* typespec_out )
{
    // xoico_che_builtin.x:49:1
    
    switch( tp_builtin )
    {
        case TYPEOF_cast :   return  xoico_che_s_trans_builtin_cast(o,source, result_expr, typespec_expr, result_out, typespec_out );
        case TYPEOF_scope:   return  xoico_che_s_trans_builtin_scope(o,source, result_expr, typespec_expr, result_out, typespec_out );
        case TYPEOF_t_scope: return  xoico_che_s_trans_builtin_t_scope(o,source, result_expr, typespec_expr, result_out, typespec_out );
        case TYPEOF_fork:    return  xoico_che_s_trans_builtin_fork(o,source, source_without_brackets, result_expr, typespec_expr, result_out, typespec_out );
        case TYPEOF_try:     return  xoico_che_s_trans_builtin_try(o,source, source_without_brackets, result_expr, typespec_expr, result_out, typespec_out );
        default: return  x_source_parse_error_fa(source,"Internal error: Invalid builtin type '#<sc_t>'", ifnameof( tp_builtin ) );
    }
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
movq %rdx, %rbx
movq 0x28(%rsp), %r10
movq 0x20(%rsp), %rax
movabsq $-0x3e306737b766a6d1, %rdx # imm = 0xC1CF98C84899592F
cmpq %rdx, %rsi
jle 0x3f44c
movabsq $-0x3e306737b766a6d0, %rdx # imm = 0xC1CF98C848995930
cmpq %rdx, %rsi
je 0x3f483
movabsq $-0x22e2f286f3d0e77f, %rdx # imm = 0xDD1D0D790C2F1881
cmpq %rdx, %rsi
je 0x3f49c
movabsq $0x570ac119447423ee, %rdx # imm = 0x570AC119447423EE
cmpq %rdx, %rsi
jne 0x3f4d3
movq %r10, (%rsp)
movzbl %cl, %edx
movq %rbx, %rsi
movq %r8, %rcx
movq %r9, %r8
movq %rax, %r9
callq 0x4909e
jmp 0x3f4b4
movabsq $-0x4aa18f6f1786b6b2, %rcx # imm = 0xB55E7090E879494E
cmpq %rcx, %rsi
je 0x3f4ba
movabsq $-0x3ef8b00418101bb5, %rcx # imm = 0xC1074FFBE7EFE44B
cmpq %rcx, %rsi
jne 0x3f4d3
movq %rbx, %rsi
movq %r8, %rdx
movq %r9, %rcx
movq %rax, %r8
movq %r10, %r9
addq $0x10, %rsp
popq %rbx
jmp 0x3c584
movq %rbx, %rsi
movq %r8, %rdx
movq %r9, %rcx
movq %rax, %r8
movq %r10, %r9
addq $0x10, %rsp
popq %rbx
jmp 0x48514
movq %r10, (%rsp)
movzbl %cl, %edx
movq %rbx, %rsi
movq %r8, %rcx
movq %r9, %r8
movq %rax, %r9
callq 0x48c43
addq $0x10, %rsp
popq %rbx
retq
movq %rbx, %rsi
movq %r8, %rdx
movq %r9, %rcx
movq %rax, %r8
movq %r10, %r9
addq $0x10, %rsp
popq %rbx
jmp 0x47fda
movq %rsi, %rdi
callq 0xe0cbc
testq %rax, %rax
leaq 0x11420a(%rip), %rdx    # 0x1536ef
cmovneq %rax, %rdx
leaq 0xfd09a(%rip), %rsi     # 0x13c58a
movq %rbx, %rdi
xorl %eax, %eax
addq $0x10, %rsp
popq %rbx
jmp 0xddb2
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_statement_s_reduce
BCORE_DEFINE_OBJECT_INST_P_NASC_END( xoico_che_result_statement_s )

xoico_che_result_statement_s* xoico_che_result_statement_s_reduce( xoico_che_result_statement_s* o )
{
    // xoico_che_result.x:243:5
    
    xoico_che_result_cast_s* prev_cast = NULL;
    if( xoico_che_result_a_get_cast(o->expression,&(prev_cast )) ) xoico_che_result_cast_s_deactivate(prev_cast);
    return o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq $0x0, (%rsp)
movq 0x8(%rdi), %r14
movq (%r14), %r15
leaq 0x160d7c(%rip), %rax    # 0x1a24b0
movl 0x160d76(%rip), %ecx    # 0x1a24b0
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 0x4178e
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x4178e
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x4178e
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x417e4
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x417be
movabsq $-0x3dfc7e0a250a30dc, %rdi # imm = 0xC20381F5DAF5CF24
movq %r15, %rsi
callq 0xf3f85
movq %rax, %r12
leaq 0x160cfd(%rip), %rdi    # 0x1a24b0
movq %r15, %rsi
movq %rax, %rdx
callq 0x12128c
movq %rsp, %rsi
movq %r14, %rdi
callq *0x60(%r12)
testb %al, %al
je 0x417d5
movq (%rsp), %rax
movb $0x0, 0x20(%rax)
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
xorl %r12d, %r12d
jmp 0x41792
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_block_s_push_result_d
BCORE_DEFINE_OBJECT_INST_P_NASC_END( xoico_che_result_block_s )

xoico_che_result* xoico_che_result_block_s_push_result_d( xoico_che_result_block_s* o, xoico_che_result* result )
{
    // xoico_che_result.x:120:5
    
    xoico_che_result* result_pushed = xoico_che_result_arr_s_push_result_d(&(o->arr),result );
    xoico_che_result_a_set_parent_block(result_pushed,o );
    return result_pushed;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rdx
movq %rdi, %rbx
addq $0x20, %rdi
movq 0x20(%rbx), %rsi
callq 0x5b3a7
movq %rax, %r14
movq (%rax), %r15
leaq 0x15fe18(%rip), %rax    # 0x1a24b0
movl 0x15fe12(%rip), %ecx    # 0x1a24b0
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 0x426f2
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x426f2
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x426f2
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x4273c
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x42722
movabsq $-0x3dfc7e0a250a30dc, %rdi # imm = 0xC20381F5DAF5CF24
movq %r15, %rsi
callq 0xf3f85
movq %rax, %r12
leaq 0x15fd99(%rip), %rdi    # 0x1a24b0
movq %r15, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r14, %rdi
movq %rbx, %rsi
callq *0x58(%r12)
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
xorl %r12d, %r12d
jmp 0x426f6
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_remove_indentation
void xoico_che_s_remove_indentation( st_s* string, sz_t indentation )
{
    // xoico_che.x:2164:1
    
    ASSERT( string->space >= string->size );
    
    sz_t j = 0;
    for(sz_t i = 0; i < string->size; i++ )
    {
        char c = string->data[ i ];
        string->data[ j++ ] = c;
        if( c == '\n' )
        {
            for(sz_t k = 0; k < indentation; k++ )
            {
                if( string->data[ i + 1 ] != ' ' ) break;
                i++;
            }
        }
    }
    
    string->data[ j ] = 0;
    string->size = j;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq 0x18(%rdi), %rax
cmpq 0x10(%rdi), %rax
jae 0x43d2e
leaq 0xf493b(%rip), %rdi     # 0x138647
leaq 0xf82fe(%rip), %rsi     # 0x13c011
leaq 0xf8315(%rip), %rdx     # 0x13c02f
leaq 0xf456f(%rip), %rcx     # 0x138290
movl $0x2076, %r8d           # imm = 0x2076
xorl %eax, %eax
callq 0xc8053
cmpq $0x0, 0x10(%rbx)
je 0x43d83
xorl %eax, %eax
xorl %ecx, %ecx
testq %r14, %r14
setle %dl
movq 0x8(%rbx), %rsi
movb (%rsi,%rcx), %dil
movb %dil, (%rsi,%rax)
cmpb $0xa, %dil
setne %sil
orb %dl, %sil
jne 0x43d75
movq 0x8(%rbx), %rsi
leaq (%rcx,%r14), %rdx
movq %r14, %rdi
cmpb $0x20, 0x1(%rsi,%rcx)
jne 0x43d75
incq %rcx
decq %rdi
jne 0x43d63
movq %rdx, %rcx
incq %rax
incq %rcx
cmpq 0x10(%rbx), %rcx
jb 0x43d39
jmp 0x43d85
xorl %eax, %eax
movq 0x8(%rbx), %rcx
movb $0x0, (%rcx,%rax)
movq %rax, 0x10(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_return_s__
xoico_che_result_return_s* xoico_che_result_return_s__( xoico_che_result_return_s* o, xoico_che_s* che, xoico_che_result* return_expression )
{
    // :2:1
    
    o->che = che;
    xoico_che_result_a_attach( &(o->return_expression ), (xoico_che_result*)( return_expression));
    return  o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rdx, %rbx
movq %rdi, %r14
movq %rsi, 0x8(%rdi)
testq %rdx, %rdx
je 0x446d1
movq (%rbx), %rsi
movabsq $-0x2c7f7969b22e7014, %rdi # imm = 0xD38086964DD18FEC
callq 0x1222bd
movq 0x10(%r14), %r15
testq %r15, %r15
je 0x4477b
movq (%r15), %r12
leaq 0x164d80(%rip), %rax    # 0x1a9468
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r12, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x4473e
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x4473e
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x4473e
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x4478c
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x4476e
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %r12, %rsi
callq 0xf3f85
movq %rax, %r13
leaq 0x164d05(%rip), %rdi    # 0x1a9468
movq %r12, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r13, %rdi
movq %r15, %rsi
callq *0xb8(%r13)
movq %rbx, 0x10(%r14)
movq %r14, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
xorl %r13d, %r13d
jmp 0x44742
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_s_translate
er_t xoico_che_s_translate( const xoico_che_s* o, const xoico_host* host, const xoico_body_s* body, const xoico_signature_s* signature, x_sink* sink )
{
    // xoico_che.x:2297:1
    BLM_INIT_LEVEL(0);
    er_t er = xoico_che_s_translate_mutable(((xoico_che_s*)BLM_LEVEL_T_PUSH(0,xoico_che_s,xoico_che_s_clone(o))),host, body, signature, sink );
    BLM_RETURNV(er_t, er)
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %r8, %rbx
movq %rcx, %r14
movq %rdx, %r12
movq %rsi, %r13
movq %rdi, %rbp
leaq 0x164600(%rip), %rax    # 0x1a8dd0
movq (%rax), %rsi
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0xe0431
movq $0x0, 0x10(%r15)
movq %rbp, %rdi
callq 0x33e6d
movabsq $0x72c73adcff3ea5ca, %rdx # imm = 0x72C73ADCFF3EA5CA
movq %r15, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0xe0676
movq %rax, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
movq %rbx, %r8
callq 0x43d99
movq %rax, %rbx
movq %r15, %rdi
callq 0xe0b30
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_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_arr_s_get_cast
bl_t xoico_che_result_arr_s_get_cast( xoico_che_result_arr_s* o, xoico_che_result_cast_s** pp_cast )
{
    // xoico_che_result.x:100:5
    
    {const xoico_che_result_adl_s* __a=&(o->adl );if(__a)for(sz_t __i=0;__i<__a->size;__i++){xoico_che_result* e=__a->data[__i]; if( e->_ != ((tp_t)(TYPEOF_xoico_che_result_whitespace_s)) ) return  xoico_che_result_a_get_cast(e,pp_cast );
    }}if( pp_cast ) (*(pp_cast)) = NULL;
    return  false;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, (%rsp)
cmpq $0x0, 0x18(%rdi)
setne %bl
je 0x4c696
movq %rdi, %r14
xorl %r15d, %r15d
movabsq $0x27fe32c721a96926, %rdx # imm = 0x27FE32C721A96926
movq 0x10(%r14), %rcx
movq (%rcx,%r15,8), %rbp
movq (%rbp), %r13
cmpq %rdx, %r13
je 0x4c67a
movl 0x155ed6(%rip), %eax    # 0x1a24b0
cltq
leaq (%rax,%rax,2), %rax
leaq 0x155ec9(%rip), %rdx    # 0x1a24b0
movq 0x20(%rdx,%rax,8), %rcx
movq 0x18(%rdx,%rax,8), %rdx
andq %r13, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r13, %rdx
je 0x4c634
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r13, %rdx
je 0x4c634
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r13, %rdx
je 0x4c634
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r13, %rdx
jne 0x4c691
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x4c664
movabsq $-0x3dfc7e0a250a30dc, %rdi # imm = 0xC20381F5DAF5CF24
movq %r13, %rsi
callq 0xf3f85
movq %rax, %r12
leaq 0x155e57(%rip), %rdi    # 0x1a24b0
movq %r13, %rsi
movq %rax, %rdx
callq 0x12128c
movq %rbp, %rdi
movq (%rsp), %rsi
callq *0x60(%r12)
movabsq $0x27fe32c721a96926, %rdx # imm = 0x27FE32C721A96926
cmpq %rdx, %r13
jne 0x4c696
incq %r15
cmpq 0x18(%r14), %r15
setb %bl
jb 0x4c5bf
jmp 0x4c696
xorl %r12d, %r12d
jmp 0x4c638
testb $0x1, %bl
jne 0x4c6ad
movq (%rsp), %rax
testq %rax, %rax
je 0x4c6ab
movq $0x0, (%rax)
xorl %eax, %eax
andb $0x1, %al
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_block_s_push_result_c
xoico_che_result* xoico_che_result_block_s_push_result_c( xoico_che_result_block_s* o, const xoico_che_result* result )
{
    // xoico_che_result.x:127:5
    
    xoico_che_result* result_pushed = xoico_che_result_arr_s_push_result_c(&(o->arr),result );
    xoico_che_result_a_set_parent_block(result_pushed,o );
    return result_pushed;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rdx
movq %rdi, %rbx
addq $0x20, %rdi
movq 0x20(%rbx), %rsi
callq 0x5b4fc
movq %rax, %r14
movq (%rax), %r15
leaq 0x155953(%rip), %rax    # 0x1a24b0
movl 0x15594d(%rip), %ecx    # 0x1a24b0
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 0x4cbb7
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x4cbb7
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x4cbb7
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x4cc01
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x4cbe7
movabsq $-0x3dfc7e0a250a30dc, %rdi # imm = 0xC20381F5DAF5CF24
movq %r15, %rsi
callq 0xf3f85
movq %rax, %r12
leaq 0x1558d4(%rip), %rdi    # 0x1a24b0
movq %r15, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r14, %rdi
movq %rbx, %rsi
callq *0x58(%r12)
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
xorl %r12d, %r12d
jmp 0x4cbbb
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_block_s_is_using_blm_until_level
bl_t xoico_che_result_block_s_is_using_blm_until_level( const xoico_che_result_block_s* o, sz_t level )
{
    // xoico_che_result.x:137:5
    
    if( level > o->level ) return  false;
    if( o->is_using_blm )  return  true;
    if( o->is_root )       return  false;
    
    ASSERT( o->parent );
    return  xoico_che_result_block_s_is_using_blm_until_level(o->parent,level );
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
leaq 0xeba19(%rip), %r15     # 0x138647
leaq 0xefeff(%rip), %r12     # 0x13cb34
leaq 0xeff02(%rip), %r13     # 0x13cb3e
leaq 0xeb64d(%rip), %rbp     # 0x138290
cmpq %rbx, 0x8(%r14)
jl 0x4cc7d
cmpb $0x0, 0x10(%r14)
jne 0x4cc81
cmpb $0x0, 0x48(%r14)
jne 0x4cc7d
cmpq $0x0, 0x50(%r14)
jne 0x4cc77
movq %r15, %rdi
movq %r12, %rsi
movq %r13, %rdx
movq %rbp, %rcx
movl $0x27ac, %r8d           # imm = 0x27AC
xorl %eax, %eax
callq 0xc8053
movq 0x50(%r14), %r14
jmp 0x4cc43
xorl %eax, %eax
jmp 0x4cc83
movb $0x1, %al
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_cast_s_get_cast
BCORE_DEFINE_OBJECT_INST_P_NASC_END( xoico_che_result_cast_s )

bl_t xoico_che_result_cast_s_get_cast( xoico_che_result_cast_s* o, xoico_che_result_cast_s** pp_cast )
{
    // xoico_che_result.x:176:5
    
    if( o->active )
    {
        if( pp_cast ) (*(pp_cast)) = o;
        return true;
    }
    else
    {
        return xoico_che_result_a_get_cast(o->expression,pp_cast );
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
cmpb $0x1, 0x20(%rdi)
jne 0x4da1e
testq %rbx, %rbx
je 0x4da10
movq %rdi, (%rbx)
movb $0x1, %al
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq 0x18(%rdi), %r14
movq (%r14), %r15
leaq 0x154a84(%rip), %rax    # 0x1a24b0
movl 0x154a7e(%rip), %ecx    # 0x1a24b0
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 0x4da86
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x4da86
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x4da86
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x4dace
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x4dab6
movabsq $-0x3dfc7e0a250a30dc, %rdi # imm = 0xC20381F5DAF5CF24
movq %r15, %rsi
callq 0xf3f85
movq %rax, %r12
leaq 0x154a05(%rip), %rdi    # 0x1a24b0
movq %r15, %rsi
movq %rax, %rdx
callq 0x12128c
movq 0x60(%r12), %rax
movq %r14, %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmpq *%rax
xorl %r12d, %r12d
jmp 0x4da8a
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_cast_s_overrides
bl_t xoico_che_result_cast_s_overrides( const xoico_che_result_cast_s* o, const xoico_che_result_cast_s* a )
{
    // xoico_che_result.x:189:5
    
    const xoico_typespec_s* to = o->target_typespec;
    const xoico_typespec_s* ta = a->target_typespec;
    
    /* Currently we restrict to group and stamp pointers.
     * We might be less restrictive in future.
     */
    if( !xoico_che_s_is_group(o->che,to->type ) && !xoico_che_s_is_stamp(o->che,to->type ) ) return false;
    if( !xoico_che_s_is_group(o->che,ta->type ) && !xoico_che_s_is_stamp(o->che,ta->type ) ) return false;
    if( to->indirection != 1 ) return false;
    if( ta->indirection != 1 ) return false;
    
    return true;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
movq 0x8(%rdi), %rax
movq 0x10(%rdi), %r15
movq 0x10(%rsi), %r14
movq 0x8(%r15), %rsi
movq 0x18(%rax), %rdi
addq $0x50, %rdi
callq 0xd4857
testb %al, %al
jne 0x4db31
movq 0x8(%rbx), %rax
movq 0x8(%r15), %rsi
movq 0x18(%rax), %rdi
addq $0x78, %rdi
callq 0xd4806
testq %rax, %rax
je 0x4db1b
movq (%rax), %rax
jmp 0x4db1d
xorl %eax, %eax
testq %rax, %rax
je 0x4db90
movabsq $0x12d01d78049fae7, %rcx # imm = 0x12D01D78049FAE7
cmpq %rcx, (%rax)
jne 0x4db90
movq 0x8(%rbx), %rax
movq 0x8(%r14), %rsi
movq 0x18(%rax), %rdi
addq $0x50, %rdi
callq 0xd4857
testb %al, %al
jne 0x4db7f
movq 0x8(%rbx), %rax
movq 0x8(%r14), %rsi
movq 0x18(%rax), %rdi
addq $0x78, %rdi
callq 0xd4806
testq %rax, %rax
je 0x4db69
movq (%rax), %rax
jmp 0x4db6b
xorl %eax, %eax
testq %rax, %rax
je 0x4db90
movabsq $0x12d01d78049fae7, %rcx # imm = 0x12D01D78049FAE7
cmpq %rcx, (%rax)
jne 0x4db90
cmpq $0x1, 0x20(%r15)
jne 0x4db90
cmpq $0x1, 0x20(%r14)
sete %al
jmp 0x4db92
xorl %eax, %eax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_break_s_copy
BCORE_DEFINE_OBJECT_INST_P_NASC_END( xoico_che_result_break_s )

er_t xoico_che_result_break_s_to_sink( const xoico_che_result_break_s* o, x_sink* sink )
{
    // xoico_che_result.x:261:5
    
    if( !o->parent ) ERR_fa( "Parent missing." );
    if( xoico_che_result_block_s_is_using_blm_until_level(o->parent,o->ledge_level ) )
    {
        x_sink_push_fa(sink,"BLM_BREAK_LEVEL(#<sz_t>);", o->ledge_level );
    }
    else
    {
        x_sink_push_fa(sink,"break;" );
    }
    return 0;
}

// Assembly:
cmpq %rsi, %rdi
je 0x4e655
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movabsq $0x35650767e6f06c8e, %r15 # imm = 0x35650767E6F06C8E
leaq 0x15aeb7(%rip), %rax    # 0x1a9468
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 0x4e607
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x4e607
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x4e607
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x4e656
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x4e637
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %r15, %rsi
callq 0xf3f85
movq %rax, %r12
leaq 0x15ae3c(%rip), %rdi    # 0x1a9468
movq %r15, %rsi
movq %rax, %rdx
callq 0x12128c
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
xorl %r12d, %r12d
jmp 0x4e60b
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_create_st_default
st_s* xoico_che_result_create_st_default( const xoico_che_result* o )
{
    // xoico_che_result.x:36:1
    
    st_s* st = st_s_create();
    BLM_TRY_EXIT(xoico_che_result_a_to_sink(o,((x_sink*)(st ))))
    return  st;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r14
xorl %eax, %eax
callq 0x114bbb
movq %rax, %rbx
movq (%r14), %r15
leaq 0x153107(%rip), %rax    # 0x1a24b0
movl 0x153101(%rip), %ecx    # 0x1a24b0
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 0x4f403
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x4f403
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x4f403
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x4f46c
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x4f433
movabsq $-0x3dfc7e0a250a30dc, %rdi # imm = 0xC20381F5DAF5CF24
movq %r15, %rsi
callq 0xf3f85
movq %rax, %r12
leaq 0x153088(%rip), %rdi    # 0x1a24b0
movq %r15, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r14, %rdi
movq %rbx, %rsi
callq *0x50(%r12)
testq %rax, %rax
je 0x4f45d
movq %rax, %r14
leaq 0x159983(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
movl %r14d, %edi
callq 0x59990
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
xorl %r12d, %r12d
jmp 0x4f407
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_che_result_push_fv
er_t xoico_che_result_push_fv( xoico_che_result* o, sc_t format, va_list args )
{
    // xoico_che_result.x:316:1
    
    st_s* st = st_s_create_fv(format, args );
    er_t ret = xoico_che_result_a_push_st(o,st );
    st_s_discard( st );
    return ret;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r14
movq %rsi, %rdi
movq %rdx, %rsi
callq 0x114cd0
movq %rax, %rbx
movq (%r14), %r15
leaq 0x15301c(%rip), %rax    # 0x1a24b0
movl 0x153016(%rip), %ecx    # 0x1a24b0
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 0x4f4ee
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x4f4ee
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x4f4ee
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x4f543
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x4f51e
movabsq $-0x3dfc7e0a250a30dc, %rdi # imm = 0xC20381F5DAF5CF24
movq %r15, %rsi
callq 0xf3f85
movq %rax, %r12
leaq 0x152f9d(%rip), %rdi    # 0x1a24b0
movq %r15, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r14, %rdi
movq %rbx, %rsi
callq *0x28(%r12)
movq %rax, %r14
movq %rbx, %rdi
callq 0x114f61
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
xorl %r12d, %r12d
jmp 0x4f4f2
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_builder_target_s_source
void xoico_builder_target_s_source( xoico_builder_target_s* o, bcore_source* source )
{
    // xoico_builder.x:85:5
    
    if( !o->root_folder )
    {
        o->root_folder = bcore_file_folder_path(bcore_source_a_get_file(source) );
        st_s_attach( &(o->root_folder ),  bcore_file_path_minimized(o->root_folder->sc ));
    }
}

// Assembly:
cmpq $0x0, 0x18(%rdi)
je 0x51a39
retq
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq (%rsi), %r15
leaq 0x158277(%rip), %rax    # 0x1a9cc8
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 0x51aa7
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r15, %rdx
je 0x51aa7
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r15, %rdx
je 0x51aa7
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r15, %rdx
jne 0x51b13
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x51ad7
movabsq $-0x7e8ee9b9b4bbaa8, %rdi # imm = 0xF817116464B44558
movq %r15, %rsi
callq 0xf3f85
movq %rax, %r12
leaq 0x1581fc(%rip), %rdi    # 0x1a9cc8
movq %r15, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r12, %rdi
movq %r14, %rsi
callq 0x10aa35
movq %rax, %rdi
callq 0xc8e31
movq %rax, 0x18(%rbx)
movq 0x8(%rax), %rdi
callq 0xc8ee1
movq %rax, %r14
movq 0x18(%rbx), %rdi
callq 0x114f61
movq %r14, 0x18(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
xorl %r12d, %r12d
jmp 0x51aab
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_builder_target_s_name_match
const xoico_builder_target_s* xoico_builder_target_s_name_match( const xoico_builder_target_s* o, sc_t name )
{
    // xoico_builder.x:94:5
    
    if( o->name && sc_t_equal( name, o->name->sc ) ) return  o;
    if( o->parent_ ) return  xoico_builder_target_s_name_match(o->parent_,name );
    return  NULL;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq 0x8(%rbx), %rax
testq %rax, %rax
je 0x51b3b
movq 0x8(%rax), %rsi
movq %r14, %rdi
callq 0xe99c9
testl %eax, %eax
je 0x51b49
movq 0xa0(%rbx), %rbx
testq %rbx, %rbx
jne 0x51b22
xorl %ebx, %ebx
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_builder_target_s_push_target_index_to_arr
void xoico_builder_target_s_push_target_index_to_arr( const xoico_builder_target_s* o, bcore_arr_sz_s* arr )
{
    // xoico_builder.x:101:5
    
    if( o->target_index_ != -1 )
    {
         bcore_arr_sz_s_push(arr,o->target_index_ );
    }
    else
    {
        {const xoico_builder_arr_target_s* __a=o->dependencies_target_ ;if(__a)for(sz_t __i=0;__i<__a->size;__i++){xoico_builder_target_s* e=__a->data[__i]; xoico_builder_target_s_push_target_index_to_arr(e,arr );}}
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq 0xd8(%rdi), %rsi
cmpq $-0x1, %rsi
je 0x51b76
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0xbff96
movq 0xb0(%rdi), %r14
testq %r14, %r14
je 0x51ba5
cmpq $0x0, 0x10(%r14)
je 0x51ba5
xorl %r15d, %r15d
movq 0x8(%r14), %rax
movq (%rax,%r15,8), %rdi
movq %rbx, %rsi
callq 0x51b54
incq %r15
cmpq 0x10(%r14), %r15
jb 0x51b8c
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/xoico/src/xoico.xo.c
// Function: xoico_builder_main_s_build_from_file
er_t xoico_builder_main_s_build_from_file( xoico_builder_main_s* o, sc_t path )
{
    // xoico_builder.x:433:1
    
    xoico_builder_target_s_attach( &(o->target ),  xoico_builder_target_s_create());
    BLM_TRY(xoico_builder_target_s_load(o->target,false, path ))
    o->target->compiler = o->compiler;
    if( o->output_folder ) st_s_attach( &(o->target->output_folder ),  ((st_s*)bcore_fork(o->output_folder)));
    BLM_TRY(xoico_builder_target_s_build(o->target))
    BLM_TRY(xoico_compiler_s_finalize(o->compiler,((const xoico_host*)(o ))))
    return  0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
callq 0x517d8
movq %rax, %r15
movq 0x18(%rbx), %rdi
callq 0x51887
movq %r15, 0x18(%rbx)
movq %r15, %rdi
xorl %esi, %esi
movq %r14, %rdx
callq 0x51e5b
movq %rax, %r14
testq %rax, %rax
je 0x537c4
leaq 0x155616(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
jmp 0x5381c
movq 0x10(%rbx), %rax
movq 0x18(%rbx), %r12
movq %rax, 0x98(%r12)
movq 0x8(%rbx), %rdi
testq %rdi, %rdi
je 0x537f4
callq 0xc8348
movq %rax, %r15
movq 0x28(%r12), %rdi
callq 0x114f61
movq %r15, 0x28(%r12)
movq 0x18(%rbx), %rdi
callq 0x52450
movq %rax, %r15
testq %rax, %rax
je 0x53817
leaq 0x1555c4(%rip), %rax    # 0x1a8dd0
movq (%rax), %rdi
callq 0xe0b30
movq %r15, %r14
testq %r15, %r15
je 0x5382b
movq %r14, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq 0x10(%rbx), %rdi
callq 0x3325f
movq %rax, %r14
testq %rax, %rax
jne 0x537b3
xorl %r14d, %r14d
jmp 0x5381c