LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_bit_buffer_s_push_f3
bcore_huffman_bit_buffer_s* bcore_huffman_bit_buffer_s_push_f3( bcore_huffman_bit_buffer_s* o, f3_t v, sz_t bits )
{
    // bcore_huffman.x:256:1
    
    ASSERT( bits <= 31 );
    int int_exp = 0;
    s3_t man = llrint( frexp( v, (&(int_exp)) ) * ( ( 1 << bits ) - 1 ) );
    s3_t exp = ((s3_t)(int_exp));
    bcore_huffman_bit_buffer_s_push_s3(o,man, bits );
    bcore_huffman_bit_buffer_s_push_packed_s3(o,exp );
    return  o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rsi, %r14
movq %rdi, %rbx
cmpq $0x20, %rsi
jl 0x34454
leaq 0x7621f(%rip), %rdi     # 0xaa647
leaq 0x80a21(%rip), %rsi     # 0xb4e50
leaq 0x80a25(%rip), %rdx     # 0xb4e5b
leaq 0x80311(%rip), %rcx     # 0xb474e
movl $0xad1, %r8d            # imm = 0xAD1
xorl %eax, %eax
movsd %xmm0, (%rsp)
callq 0x5ffac
movsd (%rsp), %xmm0
leaq 0xc(%rsp), %r15
andl $0x0, (%r15)
movq %r15, %rdi
callq 0xd070
pushq $-0x1
popq %rax
movl %r14d, %ecx
shll %cl, %eax
notl %eax
cvtsi2sd %eax, %xmm1
mulsd %xmm1, %xmm0
callq 0xd320
movslq (%r15), %r15
movq %rbx, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x3430d
movq %rbx, %rdi
movq %r15, %rsi
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x343db
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_bit_buffer_s_push_bit_buffer
bcore_huffman_bit_buffer_s* bcore_huffman_bit_buffer_s_push_bit_buffer( bcore_huffman_bit_buffer_s* o, const bcore_huffman_bit_buffer_s* src )
{
    // bcore_huffman.x:269:1
    
    u3_t bits = src->bits;
    for(sz_t i = 0; ( i < src->size ) && ( bits > 0 ); i++ )
    {
        bcore_huffman_bit_buffer_s_push_u3(o,src->data[ i ], u3_min( 8, bits ) );
        bits -= u3_min( 8, bits );
    }
    return o;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
movq 0x8(%rsi), %r12
xorl %r13d, %r13d
pushq $0x8
popq %rbp
cmpq 0x18(%r14), %r13
jae 0x344ee
testq %r12, %r12
je 0x344ee
movq 0x10(%r14), %rax
movzbl (%rax,%r13), %esi
cmpq $0x8, %r12
movq %rbp, %r15
cmovbq %r12, %r15
movq %rbx, %rdi
movq %r15, %rdx
callq 0x3430d
subq %r15, %r12
incq %r13
jmp 0x344bc
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_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_bit_buffer_s_get_hash
tp_t bcore_huffman_bit_buffer_s_get_hash( const bcore_huffman_bit_buffer_s* o )
{
    // bcore_huffman.x:281:1
    
    tp_t hash = bcore_tp_init();
    hash = bcore_tp_fold_u3( hash, o->bits );
    {const bcore_huffman_bit_buffer_s* __a=o ;if(__a)for(sz_t __i=0;__i<__a->size;__i++){u0_t e=__a->data[__i]; hash = bcore_tp_fold_u0( hash, e );}}
    return  hash;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x8(%rdi), %r14
movabsq $-0x340d631b7bdddcdb, %rdi # imm = 0xCBF29CE484222325
movl %r14d, %esi
callq 0x585a2
shrq $0x20, %r14
movq %rax, %rdi
movl %r14d, %esi
callq 0x585a2
movq 0x18(%rbx), %rcx
xorl %edx, %edx
movabsq $0x100000001b3, %rsi    # imm = 0x100000001B3
cmpq %rdx, %rcx
je 0x34555
movq 0x10(%rbx), %rdi
movzbl (%rdi,%rdx), %edi
xorq %rdi, %rax
imulq %rsi, %rax
incq %rdx
jmp 0x3453c
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_bit_buffer_s_bcml_body_to_sink
void bcore_huffman_bit_buffer_s_bcml_body_to_sink( const bcore_huffman_bit_buffer_s* o, x_sink* sink )
{
    // bcore_huffman.x:291:1
    
    u3_t bits = o->bits;
    x_sink_push_u3(sink,bits );
    sz_t size = ( bits / 8 ) + ( ( bits % 8 ) ? 1 : 0 );
    x_sink_push_data(sink,((const x_inst*)(o->data)), size * sizeof( u0_t ) );
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
movq 0x8(%rdi), %r15
movq %rsi, %rdi
movq %r15, %rsi
callq 0x34598
movq %r15, %rdx
shrq $0x3, %rdx
andl $0x7, %r15d
cmpq $0x1, %r15
sbbq $-0x1, %rdx
movq 0x10(%r14), %rsi
movq %rbx, %rdi
popq %rbx
popq %r14
popq %r15
jmp 0x345bc
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_bit_buffer_s_bcml_body_from_source
er_t bcore_huffman_bit_buffer_s_bcml_body_from_source( bcore_huffman_bit_buffer_s* o, x_source* source )
{
    // bcore_huffman.x:301:1
    
    u3_t bits = x_source_get_u3(source);
    sz_t size = ( bits / 8 ) + ( ( bits % 8 ) ? 1 : 0 );
    x_array_set_size(((x_array*)(o)),size );
    o->bits = bits;
    x_source_get_data(source,((x_inst*)(o->data)), size * sizeof( u0_t ) );
    return  0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq %rsi, %rdi
callq 0x34662
movq %rax, %r15
movq %rax, %r12
shrq $0x3, %r12
andl $0x7, %eax
cmpq $0x1, %rax
sbbq $-0x1, %r12
movq %r14, %rdi
movq %r12, %rsi
callq 0x30a50
movq %r15, 0x8(%r14)
movq 0x10(%r14), %rsi
movq %rbx, %rdi
movq %r12, %rdx
callq 0x34684
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_bit_buffer_iterator_s_read_s3
s3_t bcore_huffman_bit_buffer_iterator_s_read_s3( bcore_huffman_bit_buffer_iterator_s* o, sz_t bits )
{
    // bcore_huffman.x:345:1
    
    u3_t u3 = bcore_huffman_bit_buffer_iterator_s_read_u3(o,bits );
    if( bits > 0 )
    {
        if( ( bits > 0 ) && ( u3 >> ( bits - 1 ) ) ) u3 = ( 0xFFFFFFFFFFFFFFFFull << bits ) | u3;
    }
    return  u3;
}

// Assembly:
pushq %rbx
movq %rsi, %rbx
callq 0x3474d
testq %rbx, %rbx
jle 0x347d5
leal -0x1(%rbx), %ecx
movq %rax, %rdx
shrq %cl, %rdx
testq %rdx, %rdx
je 0x347d5
pushq $-0x1
popq %rdx
movl %ebx, %ecx
shlq %cl, %rdx
orq %rdx, %rax
popq %rbx
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_bit_buffer_iterator_s_read_f3
f3_t bcore_huffman_bit_buffer_iterator_s_read_f3( bcore_huffman_bit_buffer_iterator_s* o, sz_t bits )
{
    // bcore_huffman.x:366:1
    
    ASSERT( bits <= 31 );
    s3_t man = bcore_huffman_bit_buffer_iterator_s_read_s3(o,bits );
    s3_t exp = bcore_huffman_bit_buffer_iterator_s_read_packed_s3(o);
    return  ( 1.0 / ( ( 1ull << bits ) - 1 ) ) * man * pow( 2.0, exp );
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rsi, %rbx
movq %rdi, %r14
cmpq $0x20, %rsi
jl 0x3483e
leaq 0x75e2b(%rip), %rdi     # 0xaa647
leaq 0x8062d(%rip), %rsi     # 0xb4e50
leaq 0x806c1(%rip), %rdx     # 0xb4eeb
leaq 0x7ff1d(%rip), %rcx     # 0xb474e
movl $0xb44, %r8d            # imm = 0xB44
xorl %eax, %eax
callq 0x5ffac
movq %r14, %rdi
movq %rbx, %rsi
callq 0x347ae
movq %rax, %r15
movq %r14, %rdi
callq 0x347d7
pushq $-0x1
popq %rdx
movl %ebx, %ecx
shlq %cl, %rdx
notq %rdx
cvtsi2sd %rdx, %xmm0
movsd 0x7fe7c(%rip), %xmm1    # 0xb46e8
cvtsi2sd %r15, %xmm2
divsd %xmm0, %xmm1
mulsd %xmm1, %xmm2
movsd %xmm2, 0x8(%rsp)
cvtsi2sd %rax, %xmm0
callq 0xd2d0
mulsd 0x8(%rsp), %xmm0
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_huffman_count_map_s_is_equal
bl_t bcore_huffman_count_map_s_is_equal( const bcore_huffman_count_map_s* o, const bcore_huffman_count_map_s* b )
{
    // bcore_huffman.x:448:5
    
    if( o->size != b->size ) return  false;
    for(sz_t i = 1; i < o->size; i++ ) if( !bcore_huffman_count_node_s_is_equal(&(o->data[ i ]),&(b->data[ i ] )) ) return  false;
    return  true;
}

// Assembly:
movq 0x10(%rdi), %rcx
cmpq 0x10(%rsi), %rcx
jne 0x34b6a
pushq $0x18
popq %r8
xorl %edx, %edx
incq %rdx
cmpq %rcx, %rdx
setae %al
jae 0x34b69
movq 0x8(%rdi), %r10
movq 0x8(%rsi), %r9
movq -0x8(%r10,%r8), %r11
cmpq -0x8(%r9,%r8), %r11
jne 0x34b69
movl (%r10,%r8), %r10d
leaq 0x10(%r8), %r11
cmpl (%r9,%r8), %r10d
movq %r11, %r8
je 0x34b39
retq
xorl %eax, %eax
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_indexer_s_setup
BCORE_DEFINE_OBJECT_INST_P_NASC_END( bcore_indexer_s )

bcore_indexer_s* bcore_indexer_s_setup( bcore_indexer_s* o, const bcore_arr_s3_s* size_arr )
{
    // bcore_indexer.h:60:5
    
    o->size = 0;
    x_array_set_size(((x_array*)(&(o->cs_arr))),size_arr->size );
    {const bcore_indexer_cs_arr_s* __a=&(o->cs_arr );if(__a)for(sz_t __i=0;__i<__a->size;__i++){bcore_indexer_cs_s* e=&(__a->data[__i]);
    {
        e->c = o->size;
        e->s = size_arr->data[ __i ];
        o->size += e->s;
    };}}
    
    sz_t io_size = 1;
    while( io_size < size_arr->size ) io_size <<= 1;
    o->mask_bits = 0;
    while( ( ( o->size - 1 ) >> o->mask_bits ) >= io_size ) o->mask_bits++;
    
    bcore_indexer_io_s io = { 0 };
    x_array_set_size(((x_array*)(x_array_clear(((x_array*)(&(o->io_arr)))))),io_size );
    {const bcore_indexer_io_arr_s* __a=&(o->io_arr );if(__a)for(sz_t __i=0;__i<__a->size;__i++){bcore_indexer_io_s* e=&(__a->data[__i]);
    {
        sz_t c = ((s3_t)(__i)) << o->mask_bits;
        if( c >= o->size ) break;
        io.o = c - o->cs_arr.data[ io.i ].c;
        while( io.o >= o->cs_arr.data[ io.i ].s )
        {
            io.o -= o->cs_arr.data[ io.i ].s;
            io.i++;
        }
        (*(e)) = io;
    }
    
    }}return  o;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %rbx
andq $0x0, 0x50(%rdi)
movq %rsi, %r14
addq $0x28, %rdi
movq 0x10(%rsi), %rsi
callq 0x30a50
pushq $0x8
popq %rax
xorl %ecx, %ecx
cmpq 0x38(%rbx), %rcx
jae 0x35316
movq 0x30(%rbx), %rdx
movq 0x50(%rbx), %rsi
movq %rsi, -0x8(%rdx,%rax)
movq 0x8(%r14), %rdi
movq (%rdi,%rcx,8), %rdi
movq %rdi, (%rdx,%rax)
addq %rsi, %rdi
movq %rdi, 0x50(%rbx)
incq %rcx
addq $0x10, %rax
jmp 0x352e7
movq 0x10(%r14), %rax
pushq $0x1
popq %rcx
movq %rcx, %r14
addq %rcx, %rcx
cmpq %rax, %r14
jb 0x3531d
movq 0x50(%rbx), %rax
decq %rax
movb $-0x1, %cl
incb %cl
movq %rax, %rdx
sarq %cl, %rdx
cmpq %r14, %rdx
jge 0x35331
movb %cl, 0x48(%rbx)
leaq 0x8(%rbx), %r15
movq %r15, %rdi
callq 0x30a5d
movq %r15, %rdi
movq %r14, %rsi
callq 0x30a50
xorl %eax, %eax
xorl %edx, %edx
cmpq 0x18(%rbx), %rdx
jae 0x353b2
movb 0x48(%rbx), %cl
movq %rdx, %rsi
shlq %cl, %rsi
cmpq 0x50(%rbx), %rsi
jge 0x353b2
movq %rdx, %rcx
shlq $0x4, %rcx
addq 0x10(%rbx), %rcx
movq 0x30(%rbx), %rdi
movq %rax, %r8
shlq $0x4, %r8
addq %r8, %rdi
addq $0x8, %rdi
subq -0x8(%rdi), %rsi
movq %rsi, %r8
subq (%rdi), %r8
jl 0x353a6
incq %rax
addq $0x10, %rdi
movq %r8, %rsi
jmp 0x35395
movq %rax, (%rcx)
movq %rsi, 0x8(%rcx)
incq %rdx
jmp 0x3535c
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: bcore_indexer_s_get_io
bl_t bcore_indexer_s_get_io( const bcore_indexer_s* o, s3_t index, bcore_indexer_io_s* io )
{
    // bcore_indexer.h:97:5
    
    if( index < 0 || index >= o->size ) return  false;
    (*(io)) = o->io_arr.data[ index >> o->mask_bits ];
    io->o += index & ( ( 1 << o->mask_bits ) - 1 );
    while( io->o >= o->cs_arr.data[ io->i ].s )
    {
        io->o -= o->cs_arr.data[ io->i ].s;
        io->i++;
    }
    return  true;
}

// Assembly:
testq %rsi, %rsi
js 0x3541b
cmpq %rsi, 0x50(%rdi)
jle 0x3541b
movq 0x10(%rdi), %rax
movb 0x48(%rdi), %cl
movq %rsi, %r8
shrq %cl, %r8
shlq $0x4, %r8
movups (%rax,%r8), %xmm0
movups %xmm0, (%rdx)
movb 0x48(%rdi), %cl
pushq $-0x1
popq %rax
shll %cl, %eax
notl %eax
andl %eax, %esi
addq 0x8(%rdx), %rsi
movq %rsi, 0x8(%rdx)
movq (%rdx), %rax
movq %rax, %rcx
shlq $0x4, %rcx
orq $0x8, %rcx
incq %rax
movq 0x30(%rdi), %r8
subq (%r8,%rcx), %rsi
jl 0x3541e
movq %rsi, 0x8(%rdx)
movq %rax, (%rdx)
addq $0x10, %rcx
jmp 0x35401
xorl %eax, %eax
retq
movb $0x1, %al
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btml_t_from_source
er_t x_btml_t_from_source( x_btml* o, tp_t t, x_source* source )
{
    // bcore_x_btml.h:110:1
    
    sr_s sr = sr_null();
    BLM_TRY(x_btml_parse_create_object(source, NULL, 0, (&(sr)) ))
    BLM_TRY(x_inst_t_copy_typed(((x_inst*)( o)),t, sr_s_o_type( (&(sr)) ), sr.o ))
    sr_s_down(&( sr ));
    return  0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x20, %rsp
movq %rsi, %r14
movq %rdi, %rbx
xorps %xmm0, %xmm0
movq %rsp, %rcx
movaps %xmm0, (%rcx)
andq $0x0, 0x10(%rcx)
movq %rdx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x357bf
testq %rax, %rax
jne 0x35793
movq 0x8(%rsp), %rax
testq %rax, %rax
je 0x3577d
movq 0x8(%rax), %rdx
jmp 0x3577f
xorl %edx, %edx
movq (%rsp), %rcx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x58579
testq %rax, %rax
je 0x357b2
movq %rax, %r15
leaq 0xe2633(%rip), %rax     # 0x117dd0
movq (%rax), %rdi
callq 0x71b64
movq %r15, %rax
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq %rsp, %rdi
callq 0x8d1c4
xorl %r15d, %r15d
jmp 0x357a5
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btml_create_from_source_t
x_btml* x_btml_create_from_source_t( x_source* source, tp_t* type )
{
    // bcore_x_btml.h:121:1
    
    if( !source )
    {
        (*(type)) = 0;
        return  NULL;
    }
    sr_s sr = sr_null();
    if( x_btml_parse_create_object(source, NULL, 0, (&(sr)) ) ) return  NULL;
    if( sr.o && type ) (*(type)) = sr_s_o_type(&( sr ));
    return  ((x_btml*)(sr.o)); // sr.o is NULL in case of error
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rsi, %r14
testq %rdi, %rdi
je 0x35ea6
xorps %xmm0, %xmm0
movq %rsp, %rcx
movaps %xmm0, (%rcx)
andq $0x0, 0x10(%rcx)
xorl %ebx, %ebx
xorl %esi, %esi
xorl %edx, %edx
callq 0x357bf
testq %rax, %rax
jne 0x35eb3
movq (%rsp), %rbx
testq %rbx, %rbx
sete %al
testq %r14, %r14
sete %cl
orb %al, %cl
jne 0x35eb3
movq 0x8(%rsp), %rax
testq %rax, %rax
je 0x35eae
movq 0x8(%rax), %rax
jmp 0x35eb0
andq $0x0, (%r14)
xorl %ebx, %ebx
jmp 0x35eb3
xorl %eax, %eax
movq %rax, (%r14)
movq %rbx, %rax
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btml_create_from_source
x_btml* x_btml_create_from_source( x_source* source )
{
    // bcore_x_btml.h:136:1
    
    tp_t t = 0;
    x_btml* o = x_btml_create_from_source_t(source, (&(t)) );
    if( t )
    {
        ASSERT( x_stamp_t_is_aware(t ) );
    }
    return  o;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsp, %r14
andq $0x0, (%r14)
movq %r14, %rsi
callq 0x35e55
movq %rax, %rbx
movq (%r14), %rdi
testq %rdi, %rdi
je 0x35f0e
callq 0x2dd1e
testb %al, %al
jne 0x35f0e
leaq 0x7475b(%rip), %rdi     # 0xaa647
leaq 0x7f1aa(%rip), %rsi     # 0xb509d
leaq 0x7f1ba(%rip), %rdx     # 0xb50b4
leaq 0x7e84d(%rip), %rcx     # 0xb474e
movl $0xd11, %r8d            # imm = 0xD11
xorl %eax, %eax
callq 0x5ffac
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btml_parse_name
st_s* x_btml_parse_name( x_source* source )
{
    // bcore_x_btml.h:165:1
    BLM_INIT_LEVEL(0);
    st_s* st_name = ((st_s*)BLM_LEVEL_T_PUSH(0,st_s,st_s_create()));
    BLM_TRY_EXIT(x_source_parse_fa(source," #name", st_name ))
    BLM_RETURNV(st_s*, ((st_s*)bcore_fork(st_name)))
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rdi, %r14
leaq 0xe1a55(%rip), %rax     # 0x117dd0
movq (%rax), %rsi
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0x717f5
andq $0x0, 0x10(%rbx)
xorl %eax, %eax
callq 0x8eb65
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
movq %rbx, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0x71967
movq %rax, %rbx
leaq 0x8bd6f(%rip), %rsi     # 0xc2127
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0x2ef9c
testq %rax, %rax
je 0x363df
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x71b64
movl %r14d, %edi
callq 0x2dc20
movq %rbx, %rdi
callq 0x6026d
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x71b64
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btml_name_of
sc_t x_btml_name_of( tp_t type, st_s* buf )
{
    // bcore_x_btml.h:174:1
    
    sc_t n = bcore_name_try_name(type );
    if( n ) return  n;
    BLM_TRY_EXIT(st_s_copy_typed(buf,((tp_t)(TYPEOF_tp_t)), (&(type)) ))
    return  buf->sc;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, (%rsp)
callq 0x71db6
testq %rax, %rax
jne 0x3644c
movabsq $0x6d07f9ef5b68e8a2, %rsi # imm = 0x6D07F9EF5B68E8A2
movq %rsp, %rdx
movq %rbx, %rdi
callq 0x8e83e
testq %rax, %rax
je 0x36448
movq %rax, %r14
leaq 0xe1998(%rip), %rax     # 0x117dd0
movq (%rax), %rdi
callq 0x71b64
movl %r14d, %edi
callq 0x2dc20
movq 0x8(%rbx), %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btml_type_of
tp_t x_btml_type_of( const st_s* name )
{
    // bcore_x_btml.h:184:1
    
    tp_t tp = 0;
    if( name->size == 0 )
    {
        return  0;
    }
    else if( name->data[ 0 ] >= '0' && name->data[ 0 ] <= '9' )
    {
        st_s_parse_fa(name,0, -1, "#tp_t", &tp );
    }
    else
    {
        tp = btypeof( name->sc );
    }
    return  tp;
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
andq $0x0, 0x8(%rsp)
cmpq $0x0, 0x10(%rdi)
je 0x36494
movq 0x8(%rdi), %rax
movb (%rax), %cl
addb $-0x30, %cl
cmpb $0x9, %cl
ja 0x3649c
leaq 0x7ec53(%rip), %rcx     # 0xb50ce
pushq $-0x1
popq %rdx
leaq 0x8(%rsp), %rbx
xorl %esi, %esi
movq %rbx, %r8
xorl %eax, %eax
callq 0x91e11
movq (%rbx), %rax
jmp 0x36496
xorl %eax, %eax
addq $0x10, %rsp
popq %rbx
retq
movq %rax, %rdi
addq $0x10, %rsp
popq %rbx
jmp 0x2f020
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btml_appears_valid
bl_t x_btml_appears_valid( x_source* source )
{
    // bcore_x_btml.h:204:1
    BLM_INIT_LEVEL(0);
    bl_t valid = false;
    sz_t index = x_source_get_index(source);
    st_s* type_string = ((st_s*)BLM_LEVEL_T_PUSH(0,st_s,st_s_create()));
    if( x_source_parse_bl(source," #?'<'" ) ) // type specifier
    {
        if( x_source_parse_fa(source,"#until'>'>", type_string ) )
        {
            bcore_error_remove_last();
        }
        else
        {
            if( type_string->size > 0 )
            {
                if( type_string->data[ type_string->size - 1 ] == '/' ) st_s_pop_char(type_string);
            }
            tp_t type = x_btml_type_of(type_string );
            if( bcore_flect_exists( type ) )      valid = true;
            else if( type == btypeof( "#file" ) ) valid = true;
            else if( type == btypeof( "#path" ) ) valid = true;
        }
    }
    
    x_source_set_index(source,index );
    BLM_RETURNV(bl_t, valid)
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdi, %rbx
leaq 0xe1912(%rip), %rax     # 0x117dd0
movq (%rax), %rsi
leaq 0x8(%rsp), %r12
movq %r12, %rdi
callq 0x717f5
andq $0x0, 0x10(%r12)
movq %rbx, %rdi
callq 0x2df54
movq %rax, %r14
xorl %r15d, %r15d
xorl %eax, %eax
callq 0x8eb65
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
movq %r12, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0x71967
movq %rax, %r12
leaq 0x74e20(%rip), %rsi     # 0xab32a
movq %rbx, %rdi
callq 0x2ef75
testb %al, %al
je 0x36595
leaq 0x7ebb7(%rip), %rsi     # 0xb50d4
movq %rbx, %rdi
movq %r12, %rdx
xorl %eax, %eax
callq 0x2ef9c
testq %rax, %rax
je 0x36539
callq 0x60473
xorl %r15d, %r15d
jmp 0x36595
movq 0x10(%r12), %rax
testq %rax, %rax
je 0x36557
movq 0x8(%r12), %rcx
cmpb $0x2f, -0x1(%rcx,%rax)
jne 0x36557
movq %r12, %rdi
callq 0x8f1bd
movq %r12, %rdi
callq 0x36454
movq %rax, %r12
movq %rax, %rdi
callq 0x648cd
movb $0x1, %r15b
testb %al, %al
jne 0x36595
leaq 0x7eb67(%rip), %rdi     # 0xb50df
callq 0x2f020
cmpq %rax, %r12
je 0x36595
leaq 0x7eb5c(%rip), %rdi     # 0xb50e5
callq 0x2f020
cmpq %rax, %r12
sete %r15b
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2df2d
leaq 0x8(%rsp), %rdi
callq 0x71b64
movl %r15d, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btml_t_appears_valid
bl_t x_btml_t_appears_valid( tp_t type, x_source* source )
{
    // bcore_x_btml.h:234:1
    BLM_INIT_LEVEL(0);
    bl_t valid = false;
    sz_t index = x_source_get_index(source);
    st_s* type_string = ((st_s*)BLM_LEVEL_T_PUSH(0,st_s,st_s_create()));
    if( x_source_parse_bl(source," #?'<'" ) ) // type specifier
    {
        if( x_source_parse_fa(source,"#until'>'>", type_string ) )
        {
            bcore_error_remove_last();
        }
        else
        {
            if( x_btml_type_of(type_string ) == type ) valid = true;
        }
    }
    
    x_source_set_index(source,index );
    BLM_RETURNV(bl_t, valid)
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x30, %rsp
movq %rsi, %rbx
movq %rdi, %r15
leaq 0xe17fd(%rip), %rax     # 0x117dd0
movq (%rax), %rsi
movq %rsp, %r13
movq %r13, %rdi
callq 0x717f5
andq $0x0, 0x10(%r13)
movq %rbx, %rdi
callq 0x2df54
movq %rax, %r14
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x8eb65
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
movq %r13, %rdi
xorl %esi, %esi
movq %rax, %rcx
callq 0x71967
movq %rax, %r13
leaq 0x74d0e(%rip), %rsi     # 0xab32a
movq %rbx, %rdi
callq 0x2ef75
testb %al, %al
je 0x3665a
leaq 0x7eaa5(%rip), %rsi     # 0xb50d4
movq %rbx, %rdi
movq %r13, %rdx
xorl %eax, %eax
callq 0x2ef9c
testq %rax, %rax
je 0x3664b
callq 0x60473
xorl %r12d, %r12d
jmp 0x3665a
movq %r13, %rdi
callq 0x36454
cmpq %r15, %rax
sete %r12b
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2df2d
movq %rsp, %rdi
callq 0x71b64
movl %r12d, %eax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btml_skip_body
er_t x_btml_skip_body( x_source* source )
{
    // bcore_x_btml.h:545:1
    
    while( !x_source_eos(source) )
    {
        if( x_source_parse_bl(source," #=?'</>'" ) ) break;
        if( x_source_parse_bl(source,"#?'<'" ) )
        {
            BLM_TRY(x_source_parse_fa(source,"#-until'>'>" ))
            BLM_TRY(x_btml_skip_body(source ))
            BLM_TRY(x_source_parse_fa(source,"</>" ))
        }
        else if( x_source_parse_bl(source,"#=?'\"'" ) ) // strings
        {
            BLM_TRY(x_source_parse_fa(source,"#-string" ))
        }
        else
        {
            x_source_get_char(source);
        }
    }
    return  0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r14
leaq 0x7e2ed(%rip), %r15     # 0xb50eb
leaq 0x74526(%rip), %r12     # 0xab32b
leaq 0x7e3d4(%rip), %r13     # 0xb51e0
leaq 0x7e31b(%rip), %rbp     # 0xb512e
leaq 0x7e39e(%rip), %rbx     # 0xb51b8
movq %r14, %rdi
callq 0x2ef3b
testb %al, %al
jne 0x36e96
movq %r14, %rdi
movq %r15, %rsi
callq 0x2ef75
testb %al, %al
jne 0x36e96
movq %r14, %rdi
movq %r12, %rsi
callq 0x2ef75
movq %r14, %rdi
testb %al, %al
je 0x36e6b
movq %r13, %rsi
xorl %eax, %eax
callq 0x2ef9c
testq %rax, %rax
jne 0x36e9a
movq %r14, %rdi
callq 0x36de9
testq %rax, %rax
jne 0x36e9a
movq %r14, %rdi
movq %rbp, %rsi
jmp 0x36e81
movq %rbx, %rsi
callq 0x2ef75
movq %r14, %rdi
testb %al, %al
je 0x36e8f
leaq 0x7e36b(%rip), %rsi     # 0xb51ec
xorl %eax, %eax
callq 0x2ef9c
testq %rax, %rax
je 0x36e1a
jmp 0x36e9a
callq 0x36ed6
jmp 0x36e1a
xorl %ebx, %ebx
jmp 0x36eac
movq %rax, %rbx
leaq 0xe0f2c(%rip), %rax     # 0x117dd0
movq (%rax), %rdi
callq 0x71b64
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_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btml_t_test_transfer
sz_t x_btml_t_test_transfer( const x_btml* o, tp_t t )
{
    // bcore_x_btml.h:682:1
    BLM_INIT_LEVEL(0);
    st_s* string = st_s_create();
    x_btml_t_to_sink(o,t,((x_sink*)( string )));
    sz_t file_size = string->size;
    x_source* source = ((x_source*)BLM_LEVEL_A_PUSH(0,x_source_create_from_st_d(string )));
    
    x_btml* o2 =((x_btml*)( x_inst_t_create(t )));
    if( x_btml_t_from_source(o2,t, source ) )
    {
        bcore_error_pop_all_to_stderr();
        ERR_fa( "\n" );
    }
    
    s2_t c = bcore_compare_bityped( t, o, t, o2 );
    if( c != 0 )
    {BLM_INIT_LEVEL(1);
        const st_s* diff = ((st_s*)BLM_LEVEL_T_PUSH(1,st_s,((st_s*)(bcore_diff_bityped( t, o, t, o2 )))));
        if( diff )
        {
            ERR( "Comparison returned '%"PRIi32"':\n%s\n", c, diff->sc );
        }
        else
        {
            ERR( "Comparison returned '%"PRIi32"' but diff returned 'NULL'\n", c );
        }
    BLM_DOWN();}
    
    x_inst_t_discard(((x_inst*)(o2)),t );
    BLM_RETURNV(sz_t, file_size)
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rsi, %rbx
movq %rdi, %r12
leaq 0xe0c50(%rip), %rax     # 0x117dd0
movq (%rax), %rsi
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x717f5
andq $0x0, 0x10(%r15)
xorl %eax, %eax
callq 0x8eb65
movq %rax, %r13
movq %r12, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0x33336
movq 0x10(%r13), %r14
movq %r13, %rdi
callq 0x76c8f
movq %r15, %rdi
xorl %esi, %esi
movq %rax, %rdx
callq 0x71a90
movq %rax, %r13
movq %rbx, %rdi
callq 0x318f1
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x3573f
testq %rax, %rax
je 0x3720d
callq 0x609b0
leaq 0x7e038(%rip), %rdi     # 0xb522b
leaq 0x7d554(%rip), %rsi     # 0xb474e
leaq 0x8f3ca(%rip), %rcx     # 0xc65cb
movl $0xf2c, %edx            # imm = 0xF2C
xorl %eax, %eax
callq 0x60186
movq %rbx, %rdi
movq %r12, %rsi
movq %rbx, %rdx
movq %r15, %rcx
callq 0x812c0
testl %eax, %eax
je 0x372ca
movl %eax, %ebp
leaq 0x38(%rsp), %r13
movq %r13, (%rsp)
leaq 0x8(%rsp), %rsi
movq %r13, %rdi
callq 0x717f5
movq $0x1, 0x10(%r13)
movq %rbx, %rdi
movq %r12, %rsi
movq %rbx, %rdx
movq %r15, %rcx
callq 0x81a93
pushq $0x1
popq %rsi
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
movq %r13, %rdi
movq %rax, %rcx
callq 0x71967
testq %rax, %rax
je 0x3729e
movq 0x8(%rax), %r9
leaq 0x7dfac(%rip), %rdi     # 0xb522b
leaq 0x7d4c8(%rip), %rsi     # 0xb474e
leaq 0x7dfb5(%rip), %rcx     # 0xb5242
movl $0xf35, %edx            # imm = 0xF35
movl %ebp, %r8d
xorl %eax, %eax
callq 0x60031
jmp 0x372c2
leaq 0x7df86(%rip), %rdi     # 0xb522b
leaq 0x7d4a2(%rip), %rsi     # 0xb474e
leaq 0x7dfad(%rip), %rcx     # 0xb5260
movl $0xf39, %edx            # imm = 0xF39
movl %ebp, %r8d
xorl %eax, %eax
callq 0x60031
movq %rsp, %rdi
callq 0x71b48
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2de03
leaq 0x8(%rsp), %rdi
callq 0x71b64
movq %r14, %rax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_btml_selftest
void x_btml_selftest( void )
{
    // bcore_x_btml.h:716:1
    BLM_INIT_LEVEL(0);
    sr_s zoo;BLM_T_INIT_SPUSH(sr_s, &zoo);; zoo = bcore_spect_via_create_zoo( 1000 );
    
    clock_t time = clock();
    sz_t size = x_btml_t_test_transfer(((const x_btml*)(zoo.o)),sr_s_o_type(&( zoo )) );
    time = clock() - time;
    
    bcore_msg_fa( "x_btml transfer #<f3_t>s; size: #<sz_t> bytes\n", ( f3_t )time/CLOCKS_PER_SEC, size );
    BLM_DOWN();
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x78, %rsp
leaq 0xe0acc(%rip), %rax     # 0x117dd0
movq (%rax), %rsi
leaq 0x48(%rsp), %rbx
movq %rbx, 0x8(%rsp)
movq %rbx, %rdi
callq 0x717f5
andq $0x0, 0x10(%rbx)
leaq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x8d1bc
movabsq $0x79b76918ff0af12a, %rsi # imm = 0x79B76918FF0AF12A
movq %rbx, %rdi
movq %r14, %rdx
callq 0x71998
leaq 0x30(%rsp), %rbx
movl $0x3e8, %esi            # imm = 0x3E8
movq %rbx, %rdi
callq 0x8b4e4
movq 0x10(%rbx), %rax
movq %rax, 0x10(%r14)
movups (%rbx), %xmm0
movaps %xmm0, (%r14)
callq 0xd340
movq %rax, %rbx
movq (%r14), %rdi
movq 0x8(%r14), %rax
testq %rax, %rax
je 0x3737b
movq 0x8(%rax), %rsi
jmp 0x3737d
xorl %esi, %esi
callq 0x37165
movq %rax, %r14
callq 0xd340
subq %rbx, %rax
cvtsi2sd %rax, %xmm0
divsd 0x72cd6(%rip), %xmm0    # 0xaa070
leaq 0x7def2(%rip), %rdi     # 0xb5293
movq %r14, %rsi
movb $0x1, %al
callq 0x5fc08
leaq 0x8(%rsp), %rdi
callq 0x71b48
addq $0x78, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_bbml_t_from_source
er_t x_bbml_t_from_source( x_bbml* o, tp_t t, x_source* source )
{
    // bcore_x_bbml.h:115:1
    
    sr_s sr = sr_null();
    BLM_TRY(x_bbml_parse_create_object(source, (&(sr)) ))
    BLM_TRY(x_inst_t_copy_typed(((x_inst*)( o)),t, sr_s_o_type( (&(sr)) ), sr.o ))
    sr_s_down(&( sr ));
    return  bcore_error_last();
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x20, %rsp
movq %rsi, %r15
movq %rdi, %r14
xorps %xmm0, %xmm0
movq %rsp, %rsi
movaps %xmm0, (%rsi)
andq $0x0, 0x10(%rsi)
movq %rdx, %rdi
callq 0x3743e
testq %rax, %rax
jne 0x3740d
movq 0x8(%rsp), %rax
testq %rax, %rax
je 0x373f7
movq 0x8(%rax), %rdx
jmp 0x373f9
xorl %edx, %edx
movq (%rsp), %rcx
movq %r15, %rdi
movq %r14, %rsi
callq 0x58579
testq %rax, %rax
je 0x3742c
movq %rax, %rbx
leaq 0xe09b9(%rip), %rax     # 0x117dd0
movq (%rax), %rdi
callq 0x71b64
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq %rsp, %rdi
callq 0x8d1c4
callq 0x60813
movq %rax, %rbx
jmp 0x3741f
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_bbml_parse_create_object
er_t x_bbml_parse_create_object( x_source* source, sr_s* obj )
{
    // bcore_x_bbml.h:185:1
    BLM_INIT_LEVEL(0);
    er_t er = 0;
    tp_t type = x_bbml_parse_type(source );
    bl_t flag = x_bbml_parse_flag(source );
    
    if( type )
    {
        if( bcore_flect_exists( type ) )
        {
            if( flag )
            {
                x_inst* inst = ((x_inst*)BLM_LEVEL_TV_PUSH(0,type ,x_inst_t_create(type )));
                BLM_TRY(x_bbml_t_parse_body(((x_bbml*)( inst)),type, source ))
                (*(obj)) = sr_tsm(type, ((x_inst*)bcore_fork(inst)) );
            }
            else // no instance
            {
                obj->p = bcore_inst_s_get_typed( type );
            }
        }
        else
        {
            BLM_RETURNV(er_t, bcore_error_push_fa(TYPEOF_parse_error, "Type '#<sc_t>' has no reflection.", bnameof( type ) ))
        }
    }
    
    BLM_RETURNV(er_t, er)
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
movq %rsi, %rbx
movq %rdi, %r15
leaq 0xe0979(%rip), %rax     # 0x117dd0
movq (%rax), %rsi
movq %rsp, %r14
movq %r14, %rdi
callq 0x717f5
andq $0x0, 0x10(%r14)
movq %r15, %rdi
callq 0x378e4
movq %rax, %r14
movq %r15, %rdi
callq 0x37906
testq %r14, %r14
je 0x37522
movl %eax, %ebp
movq %r14, %rdi
callq 0x648cd
testb %al, %al
je 0x374ee
testb %bpl, %bpl
je 0x37516
movq %r14, %rdi
callq 0x318f1
movq %rsp, %rdi
xorl %esi, %esi
movq %r14, %rdx
movq %rax, %rcx
callq 0x71967
movq %rax, %r12
movq %rax, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x3792a
movq %rax, %r15
testq %rax, %rax
jne 0x37525
movq %r12, %rdi
callq 0x6026d
movq %rax, %r15
movq %r14, %rdi
callq 0x8cd25
movq %r15, (%rbx)
movq %rax, 0x8(%rbx)
movq $0x2, 0x10(%rbx)
jmp 0x37522
movq %r14, %rdi
callq 0x71db6
leaq 0x7dc47(%rip), %rsi     # 0xb5144
movabsq $0x690af8765815ec4d, %rdi # imm = 0x690AF8765815EC4D
movq %rax, %rdx
xorl %eax, %eax
callq 0x605f4
movq %rax, %r15
jmp 0x37525
movq %r14, %rdi
callq 0x36702
movq %rax, 0x8(%rbx)
xorl %r15d, %r15d
movq %rsp, %rdi
callq 0x71b64
movq %r15, %rax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_bbml_create_from_source_t
x_bbml* x_bbml_create_from_source_t( x_source* source, tp_t* type )
{
    // bcore_x_bbml.h:126:1
    
    if( !source )
    {
        (*(type)) = 0;
        return  NULL;
    }
    sr_s sr = sr_null();
    BLM_TRY_EXIT(x_bbml_parse_create_object(source, (&(sr)) ))
    if( sr.o && type ) (*(type)) = sr_s_o_type(&( sr ));
    return  ((x_bbml*)(sr.o)); // sr.o is NULL in case of error
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rsi, %rbx
testq %rdi, %rdi
je 0x375a2
xorps %xmm0, %xmm0
movq %rsp, %rsi
movaps %xmm0, (%rsi)
andq $0x0, 0x10(%rsi)
callq 0x3743e
testq %rax, %rax
je 0x3757e
movq %rax, %r14
leaq 0xe0862(%rip), %rax     # 0x117dd0
movq (%rax), %rdi
callq 0x71b64
movl %r14d, %edi
callq 0x2dc20
movq (%rsp), %rax
testq %rax, %rax
sete %cl
testq %rbx, %rbx
sete %dl
orb %cl, %dl
jne 0x375af
movq 0x8(%rsp), %rcx
testq %rcx, %rcx
je 0x375aa
movq 0x8(%rcx), %rcx
jmp 0x375ac
andq $0x0, (%rbx)
xorl %eax, %eax
jmp 0x375af
xorl %ecx, %ecx
movq %rcx, (%rbx)
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_bbml_create_from_source
x_bbml* x_bbml_create_from_source( x_source* source )
{
    // bcore_x_bbml.h:141:1
    
    tp_t t = 0;
    x_bbml* o = x_bbml_create_from_source_t(source, (&(t)) );
    if( t )
    {
        ASSERT( x_stamp_t_is_aware(t ) );
    }
    return  o;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsp, %r14
andq $0x0, (%r14)
movq %r14, %rsi
callq 0x3753d
movq %rax, %rbx
movq (%r14), %rdi
testq %rdi, %rdi
je 0x37607
callq 0x2dd1e
testb %al, %al
jne 0x37607
leaq 0x73062(%rip), %rdi     # 0xaa647
leaq 0x7dab1(%rip), %rsi     # 0xb509d
leaq 0x7dccf(%rip), %rdx     # 0xb52c2
leaq 0x7d154(%rip), %rcx     # 0xb474e
movl $0xf80, %r8d            # imm = 0xF80
xorl %eax, %eax
callq 0x5ffac
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_bbml_appears_valid
bl_t x_bbml_appears_valid( x_source* source )
{
    // bcore_x_bbml.h:171:1
    
    sz_t index = x_source_get_index(source);
    tp_t type = x_bbml_parse_type(source );
    bl_t valid = bcore_flect_exists( type );
    x_source_set_index(source,index );
    return  valid;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movq %rdi, %rbx
callq 0x2df54
movq %rax, %r14
movq %rbx, %rdi
callq 0x378e4
movq %rax, %rdi
callq 0x648cd
movl %eax, %ebp
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2df2d
movl %ebp, %eax
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_bbml_t_test_transfer
sz_t x_bbml_t_test_transfer( const x_bbml* o, tp_t t )
{
    // bcore_x_bbml.h:424:1
    BLM_INIT_LEVEL(0);
    st_s* string = st_s_create();
    x_bbml_t_to_sink(o,t,((x_sink*)( string )));
    sz_t file_size = string->size;
    
    x_source* source = ((x_source*)BLM_LEVEL_A_PUSH(0,x_source_create_from_st_d(string )));
    
    x_bbml* o2 =((x_bbml*)( x_inst_t_create(t )));
    if( x_bbml_t_from_source(o2,t, source ) )
    {
        bcore_error_pop_all_to_stderr();
        ERR_fa( "\n" );
    }
    
    s2_t c = bcore_compare_bityped( t, o, t, o2 );
    if( c != 0 )
    {BLM_INIT_LEVEL(1);
        const st_s* diff = ((st_s*)BLM_LEVEL_T_PUSH(1,st_s,((st_s*)(bcore_diff_bityped( t, o, t, o2 )))));
        if( diff )
        {
            ERR( "Comparison returned '%"PRIi32"':\n%s\n", c, diff->sc );
        }
        else
        {
            ERR( "Comparison returned '%"PRIi32"' but diff returned 'NULL'\n", c );
        }
    BLM_DOWN();}
    
    x_inst_t_discard(((x_inst*)(o2)),t );
    BLM_RETURNV(sz_t, file_size)
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rsi, %rbx
movq %rdi, %r12
leaq 0xdfaf8(%rip), %rax     # 0x117dd0
movq (%rax), %rsi
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x717f5
andq $0x0, 0x10(%r15)
xorl %eax, %eax
callq 0x8eb65
movq %rax, %r13
movq %r12, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0x37612
movq 0x10(%r13), %r14
movq %r13, %rdi
callq 0x76c8f
movq %r15, %rdi
xorl %esi, %esi
movq %rax, %rdx
callq 0x71a90
movq %rax, %r13
movq %rbx, %rdi
callq 0x318f1
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x373bd
testq %rax, %rax
je 0x38365
callq 0x609b0
leaq 0x7d023(%rip), %rdi     # 0xb536e
leaq 0x7c3fc(%rip), %rsi     # 0xb474e
leaq 0x8e272(%rip), %rcx     # 0xc65cb
movl $0x1093, %edx           # imm = 0x1093
xorl %eax, %eax
callq 0x60186
movq %rbx, %rdi
movq %r12, %rsi
movq %rbx, %rdx
movq %r15, %rcx
callq 0x812c0
testl %eax, %eax
je 0x38422
movl %eax, %ebp
leaq 0x38(%rsp), %r13
movq %r13, (%rsp)
leaq 0x8(%rsp), %rsi
movq %r13, %rdi
callq 0x717f5
movq $0x1, 0x10(%r13)
movq %rbx, %rdi
movq %r12, %rsi
movq %rbx, %rdx
movq %r15, %rcx
callq 0x81a93
pushq $0x1
popq %rsi
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
movq %r13, %rdi
movq %rax, %rcx
callq 0x71967
testq %rax, %rax
je 0x383f6
movq 0x8(%rax), %r9
leaq 0x7cf97(%rip), %rdi     # 0xb536e
leaq 0x7c370(%rip), %rsi     # 0xb474e
leaq 0x7ce5d(%rip), %rcx     # 0xb5242
movl $0x109c, %edx           # imm = 0x109C
movl %ebp, %r8d
xorl %eax, %eax
callq 0x60031
jmp 0x3841a
leaq 0x7cf71(%rip), %rdi     # 0xb536e
leaq 0x7c34a(%rip), %rsi     # 0xb474e
leaq 0x7ce55(%rip), %rcx     # 0xb5260
movl $0x10a0, %edx           # imm = 0x10A0
movl %ebp, %r8d
xorl %eax, %eax
callq 0x60031
movq %rsp, %rdi
callq 0x71b48
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2de03
leaq 0x8(%rsp), %rdi
callq 0x71b64
movq %r14, %rax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_bbml_selftest
void x_bbml_selftest( void )
{
    // bcore_x_bbml.h:459:1
    BLM_INIT_LEVEL(0);
    sr_s zoo;BLM_T_INIT_SPUSH(sr_s, &zoo);; zoo = bcore_spect_via_create_zoo( 1000 );
    
    clock_t time = clock();
    sz_t size = x_bbml_t_test_transfer(((const x_bbml*)(zoo.o)),sr_s_o_type(&( zoo )) );
    time = clock() - time;
    
    bcore_msg_fa( "x_bbml transfer #<f3_t>s; size: #<sz_t> bytes\n", ( f3_t )time/CLOCKS_PER_SEC, size );
    BLM_DOWN();
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x78, %rsp
leaq 0xdf979(%rip), %rax     # 0x117dd0
movq (%rax), %rsi
leaq 0x48(%rsp), %rbx
movq %rbx, 0x8(%rsp)
movq %rbx, %rdi
callq 0x717f5
andq $0x0, 0x10(%rbx)
leaq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x8d1bc
movabsq $0x79b76918ff0af12a, %rsi # imm = 0x79B76918FF0AF12A
movq %rbx, %rdi
movq %r14, %rdx
callq 0x71998
leaq 0x30(%rsp), %rbx
movl $0x3e8, %esi            # imm = 0x3E8
movq %rbx, %rdi
callq 0x8b4e4
movq 0x10(%rbx), %rax
movq %rax, 0x10(%r14)
movups (%rbx), %xmm0
movaps %xmm0, (%r14)
callq 0xd340
movq %rax, %rbx
movq (%r14), %rdi
movq 0x8(%r14), %rax
testq %rax, %rax
je 0x384ce
movq 0x8(%rax), %rsi
jmp 0x384d0
xorl %esi, %esi
callq 0x382bd
movq %rax, %r14
callq 0xd340
subq %rbx, %rax
cvtsi2sd %rax, %xmm0
divsd 0x71b83(%rip), %xmm0    # 0xaa070
leaq 0x7ce91(%rip), %rdi     # 0xb5385
movq %r14, %rsi
movb $0x1, %al
callq 0x5fc08
leaq 0x8(%rsp), %rdi
callq 0x71b48
addq $0x78, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_bcml_t_from_source
er_t x_bcml_t_from_source( x_bcml* o, tp_t t, x_source* source )
{
    // bcore_x_bcml.h:111:1
    
    sr_s sr = sr_null();
    BLM_TRY(x_bcml_parse_create_object(true, 0, source, (&(sr)) ))
    BLM_TRY(x_inst_t_copy_typed(((x_inst*)( o)),t, sr_s_o_type( (&(sr)) ), sr.o ))
    sr_s_down(&( sr ));
    return  bcore_error_last();
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x20, %rsp
movq %rsi, %r14
movq %rdi, %rbx
xorps %xmm0, %xmm0
movq %rsp, %rcx
movaps %xmm0, (%rcx)
andq $0x0, 0x10(%rcx)
pushq $0x1
popq %rdi
xorl %esi, %esi
callq 0x38593
testq %rax, %rax
jne 0x38562
movq 0x8(%rsp), %rax
testq %rax, %rax
je 0x3854c
movq 0x8(%rax), %rdx
jmp 0x3854e
xorl %edx, %edx
movq (%rsp), %rcx
movq %r14, %rdi
movq %rbx, %rsi
callq 0x58579
testq %rax, %rax
je 0x38581
movq %rax, %r15
leaq 0xdf864(%rip), %rax     # 0x117dd0
movq (%rax), %rdi
callq 0x71b64
movq %r15, %rax
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
movq %rsp, %rdi
callq 0x8d1c4
callq 0x60813
movq %rax, %r15
jmp 0x38574
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_bcml_parse_create_object
er_t x_bcml_parse_create_object( bl_t parse_existence, tp_t given_type, x_source* source, sr_s* obj )
{
    // bcore_x_bcml.h:181:1
    BLM_INIT_LEVEL(0);
    er_t er = 0;
    tp_t type = given_type ? given_type : x_bcml_parse_type(source );
    bl_t flag = parse_existence ? x_bcml_parse_flag(source ) : true;
    
    if( type )
    {
        if( bcore_flect_exists( type ) )
        {
            if( flag )
            {
                x_inst* inst = ((x_inst*)BLM_LEVEL_TV_PUSH(0,type ,x_inst_t_create(type )));
                BLM_TRY(x_bcml_t_parse_body(((x_bcml*)( inst)),type, source ))
                (*(obj)) = sr_tsm(type, ((x_inst*)bcore_fork(inst)) );
            }
            else // no instance
            {
                obj->p = bcore_inst_s_get_typed( type );
            }
        }
        else
        {
            BLM_RETURNV(er_t, bcore_error_push_fa(TYPEOF_parse_error, "Type '#<sc_t>' has no reflection.", bnameof( type ) ))
        }
    }
    
    BLM_RETURNV(er_t, er)
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
movq %rcx, %rbx
movq %rdx, %r15
movq %rsi, %r14
movl %edi, %ebp
leaq 0xdf81f(%rip), %rax     # 0x117dd0
movq (%rax), %rsi
movq %rsp, %r12
movq %r12, %rdi
callq 0x717f5
andq $0x0, 0x10(%r12)
testq %r14, %r14
jne 0x385d5
movq %r15, %rdi
callq 0x38af4
movq %rax, %r14
testb %bpl, %bpl
je 0x385ea
movq %r15, %rdi
callq 0x38b16
movl %eax, %ebp
xorb $0x1, %bpl
jmp 0x385ec
xorl %ebp, %ebp
testq %r14, %r14
je 0x3868f
movq %r14, %rdi
callq 0x648cd
testb %al, %al
je 0x38614
testb %bpl, %bpl
je 0x3863c
movq %r14, %rdi
callq 0x36702
movq %rax, 0x8(%rbx)
jmp 0x3868f
movq %r14, %rdi
callq 0x71db6
leaq 0x7cb21(%rip), %rsi     # 0xb5144
movabsq $0x690af8765815ec4d, %rdi # imm = 0x690AF8765815EC4D
movq %rax, %rdx
xorl %eax, %eax
callq 0x605f4
movq %rax, %r15
jmp 0x38692
movq %r14, %rdi
callq 0x318f1
movq %rsp, %rdi
xorl %esi, %esi
movq %r14, %rdx
movq %rax, %rcx
callq 0x71967
movq %rax, %r12
movq %rax, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x38b3a
movq %rax, %r15
testq %rax, %rax
jne 0x38692
movq %r12, %rdi
callq 0x6026d
movq %rax, %r15
movq %r14, %rdi
callq 0x8cd25
movq %r15, (%rbx)
movq %rax, 0x8(%rbx)
movq $0x2, 0x10(%rbx)
xorl %r15d, %r15d
movq %rsp, %rdi
callq 0x71b64
movq %r15, %rax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_bcml_create_from_source_t
x_bcml* x_bcml_create_from_source_t( x_source* source, tp_t* type )
{
    // bcore_x_bcml.h:122:1
    
    if( !source )
    {
        (*(type)) = 0;
        return  NULL;
    }
    sr_s sr = sr_null();
    BLM_TRY_EXIT(x_bcml_parse_create_object(true, 0, source, (&(sr)) ))
    if( sr.o && type ) (*(type)) = sr_s_o_type(&( sr ));
    return  ((x_bcml*)(sr.o)); // sr.o is NULL in case of error
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rsi, %rbx
testq %rdi, %rdi
je 0x38717
movq %rdi, %rdx
xorps %xmm0, %xmm0
movq %rsp, %rcx
movaps %xmm0, (%rcx)
andq $0x0, 0x10(%rcx)
pushq $0x1
popq %rdi
xorl %esi, %esi
callq 0x38593
testq %rax, %rax
je 0x386f3
movq %rax, %r14
leaq 0xdf6ed(%rip), %rax     # 0x117dd0
movq (%rax), %rdi
callq 0x71b64
movl %r14d, %edi
callq 0x2dc20
movq (%rsp), %rax
testq %rax, %rax
sete %cl
testq %rbx, %rbx
sete %dl
orb %cl, %dl
jne 0x38724
movq 0x8(%rsp), %rcx
testq %rcx, %rcx
je 0x3871f
movq 0x8(%rcx), %rcx
jmp 0x38721
andq $0x0, (%rbx)
xorl %eax, %eax
jmp 0x38724
xorl %ecx, %ecx
movq %rcx, (%rbx)
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_bcml_create_from_source
x_bcml* x_bcml_create_from_source( x_source* source )
{
    // bcore_x_bcml.h:137:1
    
    tp_t t = 0;
    x_bcml* o = x_bcml_create_from_source_t(source, (&(t)) );
    if( t )
    {
        ASSERT( x_stamp_t_is_aware(t ) );
    }
    return  o;
}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsp, %r14
andq $0x0, (%r14)
movq %r14, %rsi
callq 0x386aa
movq %rax, %rbx
movq (%r14), %rdi
testq %rdi, %rdi
je 0x3877c
callq 0x2dd1e
testb %al, %al
jne 0x3877c
leaq 0x71eed(%rip), %rdi     # 0xaa647
leaq 0x7c93c(%rip), %rsi     # 0xb509d
leaq 0x7cc4c(%rip), %rdx     # 0xb53b4
leaq 0x7bfdf(%rip), %rcx     # 0xb474e
movl $0x10e7, %r8d           # imm = 0x10E7
xorl %eax, %eax
callq 0x5ffac
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_bcml_appears_valid
bl_t x_bcml_appears_valid( x_source* source )
{
    // bcore_x_bcml.h:167:1
    
    sz_t index = x_source_get_index(source);
    tp_t type = x_bcml_parse_type(source );
    bl_t valid = bcore_flect_exists( type );
    x_source_set_index(source,index );
    return  valid;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movq %rdi, %rbx
callq 0x2df54
movq %rax, %r14
movq %rbx, %rdi
callq 0x38af4
movq %rax, %rdi
callq 0x648cd
movl %eax, %ebp
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2df2d
movl %ebp, %eax
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_bcml_t_test_transfer
sz_t x_bcml_t_test_transfer( const x_bcml* o, tp_t t )
{
    // bcore_x_bcml.h:463:1
    BLM_INIT_LEVEL(0);
    st_s* string = st_s_create();
    x_bcml_t_to_sink(o,t,((x_sink*)( string )));
    sz_t file_size = string->size;
    
    x_source* source = ((x_source*)BLM_LEVEL_A_PUSH(0,x_source_create_from_st_d(string )));
    
    x_bcml* o2 =((x_bcml*)( x_inst_t_create(t )));
    if( x_bcml_t_from_source(o2,t, source ) )
    {
        bcore_error_pop_all_to_stderr();
        ERR_fa( "\n" );
    }
    
    s2_t c = bcore_compare_bityped( t, o, t, o2 );
    if( c != 0 )
    {BLM_INIT_LEVEL(1);
        const st_s* diff = ((st_s*)BLM_LEVEL_T_PUSH(1,st_s,((st_s*)(bcore_diff_bityped( t, o, t, o2 )))));
        if( diff )
        {
            ERR( "Comparison returned '%"PRIi32"':\n%s\n", c, diff->sc );
        }
        else
        {
            ERR( "Comparison returned '%"PRIi32"' but diff returned 'NULL'\n", c );
        }
    BLM_DOWN();}
    
    x_inst_t_discard(((x_inst*)(o2)),t );
    BLM_RETURNV(sz_t, file_size)
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rsi, %rbx
movq %rdi, %r12
leaq 0xde72e(%rip), %rax     # 0x117dd0
movq (%rax), %rsi
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x717f5
andq $0x0, 0x10(%r15)
xorl %eax, %eax
callq 0x8eb65
movq %rax, %r13
movq %r12, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0x38787
movq 0x10(%r13), %r14
movq %r13, %rdi
callq 0x76c8f
movq %r15, %rdi
xorl %esi, %esi
movq %rax, %rdx
callq 0x71a90
movq %rax, %r13
movq %rbx, %rdi
callq 0x318f1
movq %rax, %r15
movq %rax, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x38510
testq %rax, %rax
je 0x3972f
callq 0x609b0
leaq 0x7bde2(%rip), %rdi     # 0xb54f7
leaq 0x7b032(%rip), %rsi     # 0xb474e
leaq 0x8cea8(%rip), %rcx     # 0xc65cb
movl $0x1227, %edx           # imm = 0x1227
xorl %eax, %eax
callq 0x60186
movq %rbx, %rdi
movq %r12, %rsi
movq %rbx, %rdx
movq %r15, %rcx
callq 0x812c0
testl %eax, %eax
je 0x397ec
movl %eax, %ebp
leaq 0x38(%rsp), %r13
movq %r13, (%rsp)
leaq 0x8(%rsp), %rsi
movq %r13, %rdi
callq 0x717f5
movq $0x1, 0x10(%r13)
movq %rbx, %rdi
movq %r12, %rsi
movq %rbx, %rdx
movq %r15, %rcx
callq 0x81a93
pushq $0x1
popq %rsi
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
movq %r13, %rdi
movq %rax, %rcx
callq 0x71967
testq %rax, %rax
je 0x397c0
movq 0x8(%rax), %r9
leaq 0x7bd56(%rip), %rdi     # 0xb54f7
leaq 0x7afa6(%rip), %rsi     # 0xb474e
leaq 0x7ba93(%rip), %rcx     # 0xb5242
movl $0x1230, %edx           # imm = 0x1230
movl %ebp, %r8d
xorl %eax, %eax
callq 0x60031
jmp 0x397e4
leaq 0x7bd30(%rip), %rdi     # 0xb54f7
leaq 0x7af80(%rip), %rsi     # 0xb474e
leaq 0x7ba8b(%rip), %rcx     # 0xb5260
movl $0x1234, %edx           # imm = 0x1234
movl %ebp, %r8d
xorl %eax, %eax
callq 0x60031
movq %rsp, %rdi
callq 0x71b48
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2de03
leaq 0x8(%rsp), %rdi
callq 0x71b64
movq %r14, %rax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq