LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_bl_s_push_arr
bcore_arr_bl_s* bcore_arr_bl_s_push_arr( bcore_arr_bl_s* o, const bcore_arr_bl_s* arr )
{
    if( arr->size == 0 ) return o;
    if( o->size > o->space ) bcore_arr_bl_s_make_strong( o );
    if( o->size + arr->size >= o->space )
    {
        uz_t new_space = uz_max( o->space * 2, o->size + arr->size );
        o->data = bcore_un_alloc( sizeof( tp_t ), o->data, o->space, new_space, &o->space );
    }
    for( sz_t i = 0; i < arr->size; i++ ) o->data[ o->size++ ] = arr->data[ i ];
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x95788
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x95872
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jbe 0x957a3
movq -0x10(%rbp), %rdi
callq 0x95570
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x18(%rbp), %rcx
addq 0x10(%rcx), %rax
movq -0x10(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jb 0x95816
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdi
shlq %rdi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x18(%rbp), %rax
addq 0x10(%rax), %rsi
callq 0x8deb0
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdx
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %r8
addq $0x8, %r8
addq $0x10, %r8
movl $0x8, %edi
callq 0x9d370
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
movq $0x0, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x9586a
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x28(%rbp), %rcx
movb (%rax,%rcx), %dl
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x10(%rbp), %rsi
movq 0x10(%rsi), %rcx
movq %rcx, %rdi
addq $0x1, %rdi
movq %rdi, 0x10(%rsi)
andb $0x1, %dl
movb %dl, (%rax,%rcx)
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x9581e
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_bl_s_cmp
s2_t bcore_arr_bl_s_cmp( const bcore_arr_bl_s* o, const bcore_arr_bl_s* b )
{
    if( o->size == 0 ) return ( b->size == 0 ) ? 0 :  1;
    if( b->size == 0 ) return -1;
    uz_t min_size = uz_min( o->size, b->size );
    for( sz_t i = 0; i < min_size; i++ )
    {
        if( o->data[ i ] != b->data[ i ] ) return ( o->data[ i ] < b->data[ i ] ) ? 2 : -2;
    }
    return ( o->size == b->size ) ? 0 : ( o->size < b->size ) ? +1 : -1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x95989
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdx
movl $0x1, %eax
xorl %ecx, %ecx
cmpq $0x0, %rdx
cmovel %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0x95a89
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x959a0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x95a89
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x8e060
movq %rax, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x20(%rbp), %rax
jae 0x95a47
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x28(%rbp), %rcx
movb (%rax,%rcx), %al
andb $0x1, %al
movzbl %al, %eax
movq -0x18(%rbp), %rcx
movq 0x8(%rcx), %rcx
movq -0x28(%rbp), %rdx
movb (%rcx,%rdx), %cl
andb $0x1, %cl
movzbl %cl, %ecx
cmpl %ecx, %eax
je 0x95a34
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x28(%rbp), %rcx
movb (%rax,%rcx), %al
andb $0x1, %al
movzbl %al, %edx
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x28(%rbp), %rcx
movb (%rax,%rcx), %al
andb $0x1, %al
movzbl %al, %esi
movl $0xfffffffe, %eax       # imm = 0xFFFFFFFE
movl $0x2, %ecx
cmpl %esi, %edx
cmovll %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0x95a89
jmp 0x95a36
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x959c1
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jne 0x95a60
xorl %eax, %eax
movl %eax, -0x2c(%rbp)
jmp 0x95a83
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdx
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rsi
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl $0x1, %ecx
cmpq %rsi, %rdx
cmovbl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_st_s_clear
bcore_arr_st_s* bcore_arr_st_s_clear( bcore_arr_st_s* o )
{
    if( o->space == 0 )
    {
        o->data = NULL; // in case array is referencing external data
        o->size = 0;
    }

    for( uz_t i = 0; i < o->size; i++ ) st_s_discard( o->data[ i ] );
    o->size = 0;
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x95cbf
movq -0x8(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x10(%rax)
movq $0x0, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x95cf8
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0xff600
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x95cc7
movq -0x8(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_st_s_make_strong
void bcore_arr_st_s_make_strong( bcore_arr_st_s* o )
{
    if( o->size > o->space )
    {
        st_s** data = o->data;
        o->data = bcore_u_alloc( sizeof( st_s* ), NULL, o->size, &o->space );
        for( uz_t i = 0; i < o->size; i++ )
        {
            st_s_copy( o->data[ i ], data[ i ] );
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jbe 0x95ea2
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdx
movq -0x8(%rbp), %rcx
addq $0x8, %rcx
addq $0x10, %rcx
movl $0x8, %edi
xorl %eax, %eax
movl %eax, %esi
callq 0x9d330
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x95ea0
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0xfe850
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x95e63
jmp 0x95ea2
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_st_s_push
st_s* bcore_arr_st_s_push( bcore_arr_st_s* o )
{
    if( o->size >  o->space ) bcore_arr_st_s_make_strong( o );
    if( o->size == o->space )
    {
        o->data = bcore_un_alloc( sizeof( st_s* ), o->data, o->space, o->space > 0 ? o->space * 2 : 1, &o->space );
    }
    o->data[ o->size++ ] = st_s_create();
    return o->data[ o->size - 1 ];
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jbe 0x95ed7
movq -0x8(%rbp), %rdi
callq 0x95e00
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jne 0x95f55
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jbe 0x95f1d
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
shlq %rax
movq %rax, -0x20(%rbp)
jmp 0x95f28
movl $0x1, %eax
movq %rax, -0x20(%rbp)
jmp 0x95f28
movq -0x10(%rbp), %rdx
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rcx
movq -0x8(%rbp), %r8
addq $0x8, %r8
addq $0x10, %r8
movl $0x8, %edi
callq 0x9d370
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movb $0x0, %al
callq 0xff2e0
movq %rax, %rdx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x8(%rbp), %rsi
movq 0x10(%rsi), %rcx
movq %rcx, %rdi
addq $0x1, %rdi
movq %rdi, 0x10(%rsi)
movq %rdx, (%rax,%rcx,8)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x10(%rcx), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_st_s_push_st_d
st_s* bcore_arr_st_s_push_st_d( bcore_arr_st_s* o, st_s* st )
{
    if( o->size >  o->space ) bcore_arr_st_s_make_strong( o );
    if( o->size == o->space )
    {
        o->data = bcore_un_alloc( sizeof( st_s* ), o->data, o->space, o->space > 0 ? o->space * 2 : 1, &o->space );
    }
    o->data[ o->size++ ] = st;
    return o->data[ o->size - 1 ];
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jbe 0x9600b
movq -0x8(%rbp), %rdi
callq 0x95e00
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jne 0x96089
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jbe 0x96051
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
shlq %rax
movq %rax, -0x28(%rbp)
jmp 0x9605c
movl $0x1, %eax
movq %rax, -0x28(%rbp)
jmp 0x9605c
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rcx
movq -0x8(%rbp), %r8
addq $0x8, %r8
addq $0x10, %r8
movl $0x8, %edi
callq 0x9d370
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x8(%rbp), %rsi
movq 0x10(%rsi), %rcx
movq %rcx, %rdi
addq $0x1, %rdi
movq %rdi, 0x10(%rsi)
movq %rdx, (%rax,%rcx,8)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x10(%rcx), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: st_sort
static void st_sort( st_s** data, uz_t size, st_s** buf, s2_t order )
{
    if( size < 2 ) return;
    uz_t size1 = size >> 1;
    st_sort( data,         size1       , buf, order );
    st_sort( data + size1, size - size1, buf, order );
    bcore_u_memcpy( sizeof( st_s* ), buf, data, size1 );
    for( uz_t i = 0, w = 0, r = size1; i < size1; )
    {
        data[ w++ ] = ( r == size || bcore_strcmp( buf[ i ]->sc, data[ r ]->sc ) * order >= 0 ) ? buf[ i++ ] : data[ r++ ];
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
cmpq $0x2, -0x10(%rbp)
jae 0x962f3
jmp 0x96401
movq -0x10(%rbp), %rax
shrq %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl -0x1c(%rbp), %ecx
callq 0x962d0
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x10(%rbp), %rsi
subq -0x28(%rbp), %rsi
movq -0x18(%rbp), %rdx
movl -0x1c(%rbp), %ecx
callq 0x962d0
movq -0x18(%rbp), %rsi
movq -0x8(%rbp), %rdx
movq -0x28(%rbp), %rcx
movl $0x8, %edi
callq 0x9d630
movq $0x0, -0x30(%rbp)
movq $0x0, -0x38(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x30(%rbp), %rax
cmpq -0x28(%rbp), %rax
jae 0x96401
movq -0x40(%rbp), %rax
cmpq -0x10(%rbp), %rax
je 0x963a9
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rax
movq -0x40(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x8(%rax), %rsi
callq 0x9d700
imull -0x1c(%rbp), %eax
cmpl $0x0, %eax
jl 0x963c6
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x30(%rbp)
movq (%rax,%rcx,8), %rax
movq %rax, -0x48(%rbp)
jmp 0x963e1
movq -0x8(%rbp), %rax
movq -0x40(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x40(%rbp)
movq (%rax,%rcx,8), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdx
movq -0x8(%rbp), %rax
movq -0x38(%rbp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, -0x38(%rbp)
movq %rdx, (%rax,%rcx,8)
jmp 0x96363
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_st_s_reorder
bcore_arr_st_s* bcore_arr_st_s_reorder( bcore_arr_st_s* o, const bcore_arr_uz_s* order )
{
    if( o->space < o->size ) bcore_arr_st_s_make_strong( o );
    uz_t buf_space = 0;
    st_s** buf = bcore_u_alloc( sizeof( st_s* ), NULL, order->size, &buf_space );
    for( uz_t i = 0; i < order->size; i++ )
    {
        assert( order->data[ i ] < o->size );
        buf[ i ] = bcore_fork( o->data[ order->data[ i ] ] );
    }
    for( uz_t i = 0; i < o->size; i++ ) st_s_discard( o->data[ i ] );
    bcore_un_alloc( sizeof( st_s* ), o->data, o->space, 0, &o->space );
    o->data = buf;
    o->space = buf_space;
    o->size = order->size;
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x9643b
movq -0x8(%rbp), %rdi
callq 0x95e00
movq $0x0, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdx
movl $0x8, %edi
xorl %eax, %eax
movl %eax, %esi
leaq -0x18(%rbp), %rcx
callq 0x9d330
movq %rax, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x964b5
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x8(%rcx), %rcx
movq -0x28(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x9d3d0
movq %rax, %rdx
movq -0x20(%rbp), %rax
movq -0x28(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x96469
movq $0x0, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x964ee
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0xff600
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
jmp 0x964bd
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdx
movq -0x8(%rbp), %r8
addq $0x8, %r8
addq $0x10, %r8
movl $0x8, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x9d370
movq -0x20(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_st_s_count_equal
uz_t bcore_arr_st_s_count_equal( const bcore_arr_st_s* o, const st_s* val )
{
    uz_t count = 0;
    for( uz_t i = 0; i < o->size; i++ )
    {
        if( val )
        {
            count += st_s_equal_st( val, o->data[ i ] );
        }
        else
        {
            count += ( o->data[ i ] == NULL );
        }
    }
    return count;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x965e0
cmpq $0x0, -0x10(%rbp)
je 0x965ad
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x20(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x965f0
andb $0x1, %al
movzbl %al, %eax
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x965d0
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x20(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
sete %al
andb $0x1, %al
movzbl %al, %eax
cltq
addq -0x18(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x965d2
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x96570
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_vd_s_fill
bcore_arr_vd_s* bcore_arr_vd_s_fill( bcore_arr_vd_s* o, uz_t size, vd_t v )
{
    bcore_arr_vd_s_set_space( o, size );
    for( uz_t i = 0; i < size; i++ ) o->data[ i ] = v;
    o->size = size;
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x96be0
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x10(%rbp), %rax
jae 0x96cd5
movq -0x18(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x20(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x96ca9
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_vd_s_set_size
bcore_arr_vd_s* bcore_arr_vd_s_set_size( bcore_arr_vd_s* o, uz_t size )
{
    bcore_arr_vd_s_set_space( o, size );
    if( size > o->size )
    {
        for( sz_t i = o->size; i < size; i++ ) o->data[ i ] = NULL;
    }
    o->size = size;
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x96be0
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jbe 0x96d55
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq -0x10(%rbp), %rax
jae 0x96d53
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x96d27
jmp 0x96d55
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_vd_s_push
bcore_arr_vd_s* bcore_arr_vd_s_push( bcore_arr_vd_s* o, vd_t v )
{
    if( o->size >  o->space ) bcore_arr_vd_s_make_strong( o );
    if( o->size == o->space )
    {
        o->data = bcore_un_alloc( sizeof( vd_t ), o->data, o->space, o->space > 0 ? o->space * 2 : 1, &o->space );
    }
    o->data[ o->size++ ] = v;
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jbe 0x96e1b
movq -0x8(%rbp), %rdi
callq 0x96d70
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jne 0x96e99
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jbe 0x96e61
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
shlq %rax
movq %rax, -0x28(%rbp)
jmp 0x96e6c
movl $0x1, %eax
movq %rax, -0x28(%rbp)
jmp 0x96e6c
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rcx
movq -0x8(%rbp), %r8
addq $0x8, %r8
addq $0x10, %r8
movl $0x8, %edi
callq 0x9d370
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x8(%rbp), %rsi
movq 0x10(%rsi), %rcx
movq %rcx, %rdi
addq $0x1, %rdi
movq %rdi, 0x10(%rsi)
movq %rdx, (%rax,%rcx,8)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_vd_s_push_left
bcore_arr_vd_s* bcore_arr_vd_s_push_left( bcore_arr_vd_s* o, vd_t v )
{
    bcore_arr_vd_s_push( o, NULL );
    for( sz_t i = o->size - 1; i > 0; i-- ) o->data[ i ] = o->data[ i - 1 ];
    o->data[ 0 ] = v;
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x96df0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
subq $0x1, %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jle 0x96f36
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rdx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x96efd
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_vd_s_reorder
bcore_arr_vd_s* bcore_arr_vd_s_reorder( bcore_arr_vd_s* o, const bcore_arr_uz_s* order )
{
    if( o->space < o->size ) bcore_arr_vd_s_make_strong( o );
    uz_t buf_space = 0;
    vd_t* buf = bcore_u_alloc( sizeof( vd_t ), NULL, order->size, &buf_space );
    for( uz_t i = 0; i < order->size; i++ )
    {
        assert( order->data[ i ] < o->size );
        buf[ i ] = o->data[ order->data[ i ] ];
    }
    bcore_un_alloc( sizeof( vd_t ), o->data, o->space, 0, &o->space );
    o->data = buf;
    o->space = buf_space;
    o->size = order->size;
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x96fcb
movq -0x8(%rbp), %rdi
callq 0x96d70
movq $0x0, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdx
movl $0x8, %edi
xorl %eax, %eax
movl %eax, %esi
leaq -0x18(%rbp), %rcx
callq 0x9d330
movq %rax, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x9703d
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x8(%rcx), %rcx
movq -0x28(%rbp), %rdx
movq (%rcx,%rdx,8), %rcx
movq (%rax,%rcx,8), %rdx
movq -0x20(%rbp), %rax
movq -0x28(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x96ff9
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdx
movq -0x8(%rbp), %r8
addq $0x8, %r8
addq $0x10, %r8
movl $0x8, %edi
xorl %eax, %eax
movl %eax, %ecx
callq 0x9d370
movq -0x20(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_vd_s_find
uz_t bcore_arr_vd_s_find( const bcore_arr_vd_s* o, uz_t start, uz_t end, vd_t v )
{
    if( end >= start )
    {
        uz_t end_l = end < o->size ? end : o->size;
        for( uz_t j = start; j < end_l; j++ ) if( o->data[ j ] == v ) return j;
        return end_l;
    }
    else
    {
        uz_t start_l = start < o->size ? start : o->size;
        for( uz_t j = start_l - 1;  j < start_l && j >= end; j-- ) if( o->data[ j ] == v ) return j;
        return start_l;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jb 0x9713c
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x970d6
movq -0x20(%rbp), %rax
movq %rax, -0x50(%rbp)
jmp 0x970e2
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
cmpq -0x30(%rbp), %rax
jae 0x9712f
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x38(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpq -0x28(%rbp), %rax
jne 0x9711f
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x971d2
jmp 0x97121
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
jmp 0x970f2
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x971d2
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x97154
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
jmp 0x97160
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
subq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rcx
xorl %eax, %eax
cmpq -0x40(%rbp), %rcx
movb %al, -0x59(%rbp)
jae 0x97191
movq -0x48(%rbp), %rax
cmpq -0x20(%rbp), %rax
setae %al
movb %al, -0x59(%rbp)
movb -0x59(%rbp), %al
testb $0x1, %al
jne 0x9719a
jmp 0x971ca
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x48(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpq -0x28(%rbp), %rax
jne 0x971ba
movq -0x48(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x971d2
jmp 0x971bc
movq -0x48(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x48(%rbp)
jmp 0x97174
movq -0x40(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_fp_s_set_size
bcore_arr_fp_s* bcore_arr_fp_s_set_size( bcore_arr_fp_s* o, sz_t size )
{
    bcore_arr_fp_s_set_space( o, size );
    if( size > o->size )
    {
        for( sz_t i = o->size; i < size; i++ ) o->data[ i ] = NULL;
    }
    o->size = size;
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x97490
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jbe 0x97595
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq -0x10(%rbp), %rax
jge 0x97593
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movq $0x0, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x97567
jmp 0x97595
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_fp_s_fill
bcore_arr_fp_s* bcore_arr_fp_s_fill( bcore_arr_fp_s* o, uz_t size, fp_t v )
{
    bcore_arr_fp_s_set_space( o, size );
    for( uz_t i = 0; i < size; i++ ) o->data[ i ] = v;
    o->size = size;
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x97490
movq $0x0, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x10(%rbp), %rax
jae 0x97605
movq -0x18(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x20(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x975d9
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_fp_s_push
bcore_arr_fp_s* bcore_arr_fp_s_push( bcore_arr_fp_s* o, fp_t v )
{
    if( o->size >  o->space ) bcore_arr_fp_s_make_strong( o );
    if( o->size == o->space )
    {
        o->data = bcore_un_alloc( sizeof( fp_t ), o->data, o->space, o->space > 0 ? o->space * 2 : 1, &o->space );
    }
    o->data[ o->size++ ] = v;
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jbe 0x976cb
movq -0x8(%rbp), %rdi
callq 0x97620
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jne 0x97749
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jbe 0x97711
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
shlq %rax
movq %rax, -0x28(%rbp)
jmp 0x9771c
movl $0x1, %eax
movq %rax, -0x28(%rbp)
jmp 0x9771c
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rcx
movq -0x8(%rbp), %r8
addq $0x8, %r8
addq $0x10, %r8
movl $0x8, %edi
callq 0x9d370
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x8(%rbp), %rsi
movq 0x10(%rsi), %rcx
movq %rcx, %rdi
addq $0x1, %rdi
movq %rdi, 0x10(%rsi)
movq %rdx, (%rax,%rcx,8)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_fp_s_find
uz_t bcore_arr_fp_s_find( const bcore_arr_fp_s* o, uz_t start, uz_t end, fp_t v )
{
    if( end >= start )
    {
        uz_t end_l = end < o->size ? end : o->size;
        for( uz_t j = start; j < end_l; j++ ) if( o->data[ j ] == v ) return j;
        return end_l;
    }
    else
    {
        uz_t start_l = start < o->size ? start : o->size;
        for( uz_t j = start_l - 1;  j < start_l && j >= end; j-- ) if( o->data[ j ] == v ) return j;
        return start_l;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x18(%rbp), %rax
jb 0x979ec
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x97986
movq -0x20(%rbp), %rax
movq %rax, -0x50(%rbp)
jmp 0x97992
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
cmpq -0x30(%rbp), %rax
jae 0x979df
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x38(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpq -0x28(%rbp), %rax
jne 0x979cf
movq -0x38(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x97a82
jmp 0x979d1
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
jmp 0x979a2
movq -0x30(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x97a82
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x97a04
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
jmp 0x97a10
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
subq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rcx
xorl %eax, %eax
cmpq -0x40(%rbp), %rcx
movb %al, -0x59(%rbp)
jae 0x97a41
movq -0x48(%rbp), %rax
cmpq -0x20(%rbp), %rax
setae %al
movb %al, -0x59(%rbp)
movb -0x59(%rbp), %al
testb $0x1, %al
jne 0x97a4a
jmp 0x97a7a
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x48(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpq -0x28(%rbp), %rax
jne 0x97a6a
movq -0x48(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x97a82
jmp 0x97a6c
movq -0x48(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x48(%rbp)
jmp 0x97a24
movq -0x40(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_sr_s_clear
bcore_arr_sr_s* bcore_arr_sr_s_clear( bcore_arr_sr_s* o )
{
    if( o->space == 0 )
    {
        o->data = NULL; // in case array is referencing external data
        o->size = 0;
    }

    for( uz_t i = 0; i < o->size; i++ ) sr_down( o->data[ i ] );
    o->size = 0;
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x97c7f
movq -0x8(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x10(%rax)
movq $0x0, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x97cd1
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
imulq $0x18, -0x10(%rbp), %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x97cf0
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x97c87
movq -0x8(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_sr_s_push
sr_s* bcore_arr_sr_s_push( bcore_arr_sr_s* o )
{
    if( o->size > o->space ) bcore_arr_sr_s_make_strong( o );
    if( o->size == o->space )
    {
        o->data = bcore_un_alloc( sizeof( sr_s ), o->data, o->space, o->space > 0 ? o->space * 2 : 1, &o->space );
    }
    o->data[ o->size++ ] = sr_null();
    return &o->data[ o->size - 1 ];
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jbe 0x97e57
movq -0x8(%rbp), %rdi
callq 0x97de0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jne 0x97ed5
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jbe 0x97e9d
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
shlq %rax
movq %rax, -0x38(%rbp)
jmp 0x97ea8
movl $0x1, %eax
movq %rax, -0x38(%rbp)
jmp 0x97ea8
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rsi
movq -0x38(%rbp), %rcx
movq -0x8(%rbp), %r8
addq $0x8, %r8
addq $0x10, %r8
movl $0x18, %edi
callq 0x9d370
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x10(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rdx)
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x40(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x9a260
movq -0x40(%rbp), %rax
movq -0x20(%rbp), %rcx
movq %rcx, (%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x10(%rcx), %rcx
subq $0x1, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
addq $0x40, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_sr_s_push_sr
sr_s* bcore_arr_sr_s_push_sr( bcore_arr_sr_s* o, sr_s v )
{
    if( o->size > o->space ) bcore_arr_sr_s_make_strong( o );
    if( o->size == o->space )
    {
        o->data = bcore_un_alloc( sizeof( sr_s ), o->data, o->space, o->space > 0 ? o->space * 2 : 1, &o->space );
    }
    o->data[ o->size++ ] = v;
    return &o->data[ o->size - 1 ];
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x10(%rbp)
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jbe 0x97f6f
movq -0x8(%rbp), %rdi
callq 0x97de0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jne 0x97fed
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jbe 0x97fb5
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
shlq %rax
movq %rax, -0x28(%rbp)
jmp 0x97fc0
movl $0x1, %eax
movq %rax, -0x28(%rbp)
jmp 0x97fc0
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rsi
movq -0x28(%rbp), %rcx
movq -0x8(%rbp), %r8
addq $0x8, %r8
addq $0x10, %r8
movl $0x18, %edi
callq 0x9d370
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x8(%rbp), %rsi
movq 0x10(%rsi), %rdx
movq %rdx, %rdi
addq $0x1, %rdi
movq %rdi, 0x10(%rsi)
imulq $0x18, %rdx, %rdx
addq %rdx, %rax
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rdx
movq %rdx, 0x8(%rax)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x10(%rcx), %rcx
subq $0x1, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_sr_s_push_tp
sr_s* bcore_arr_sr_s_push_tp( bcore_arr_sr_s* o, tp_t type )
{
    if( o->size > o->space ) bcore_arr_sr_s_make_strong( o );
    if( o->size == o->space )
    {
        o->data = bcore_un_alloc( sizeof( sr_s ), o->data, o->space, o->space > 0 ? o->space * 2 : 1, &o->space );
    }
    o->data[ o->size++ ] = sr_create( type );
    return &o->data[ o->size - 1 ];
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jbe 0x9807b
movq -0x8(%rbp), %rdi
callq 0x97de0
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jne 0x980f9
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jbe 0x980c1
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
shlq %rax
movq %rax, -0x40(%rbp)
jmp 0x980cc
movl $0x1, %eax
movq %rax, -0x40(%rbp)
jmp 0x980cc
movq -0x30(%rbp), %rdx
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %rcx
movq -0x8(%rbp), %r8
addq $0x8, %r8
addq $0x10, %r8
movl $0x18, %edi
callq 0x9d370
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x8(%rbp), %rdx
movq 0x10(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rdx)
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0x98170
movq -0x48(%rbp), %rax
movq -0x28(%rbp), %rcx
movq %rcx, (%rax)
movq -0x20(%rbp), %rcx
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rcx
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x10(%rcx), %rcx
subq $0x1, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_arr.c
// Function: bcore_arr_sr_s_to_arr_st
const bcore_arr_sr_s* bcore_arr_sr_s_to_arr_st( const bcore_arr_sr_s* o, bcore_arr_st_s* arr )
{
    bcore_arr_st_s_clear( arr );
    bcore_arr_st_s_set_size( arr, o->size );
    for( uz_t i = 0; i < o->size; i++ )
    {
        if( sr_s_type( &o->data[ i ] ) == TYPEOF_st_s ) arr->data[ i ] = st_s_clone( ( const st_s* )o->data[ i ].o );
    }
    return o;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x95c90
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x95d80
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x988af
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
imulq $0x18, -0x18(%rbp), %rax
addq %rax, %rdi
callq 0x988c0
movabsq $-0x503db0e6e1c2e704, %rcx # imm = 0xAFC24F191E3D18FC
cmpq %rcx, %rax
jne 0x9889f
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
imulq $0x18, -0x18(%rbp), %rcx
addq %rcx, %rax
movq (%rax), %rdi
callq 0xff990
movq %rax, %rdx
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x18(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0x988a1
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x98842
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_cday.c
// Function: bcore_cday_ymd_s_from_cday
void bcore_cday_ymd_s_from_cday( bcore_cday_ymd_s* o, s2_t cday )
{
    s2_t lyr = cday / ( 365 * 4 + 1 );
    s2_t ldy = cday - lyr * ( 365 * 4 + 1 );
    s2_t qyr = ldy / 365;
    qyr = ( qyr > 3 ) ? 3 : qyr;
    s2_t yr = ( lyr * 4 ) + qyr;
    s2_t dy = ldy - qyr * 365;
    s2_t mt = 3;

    s2_t dtbl[] = { 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 31 };

    for( s2_t i = 0; i < 11; i++ )
    {
        if( dtbl[ i ] > dy ) break;
        dy -= dtbl[ i ];
        mt++;
    }

    o->d   = dy + 1;
    o->m = ( mt <= 12 ) ? mt : mt - 12;
    o->y  = 1900 + yr + ( ( mt <= 12 ) ? 0 : 1 );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl -0xc(%rbp), %eax
movl $0x5b5, %ecx            # imm = 0x5B5
cltd
idivl %ecx
movl %eax, -0x10(%rbp)
movl -0xc(%rbp), %eax
imull $0x5b5, -0x10(%rbp), %ecx # imm = 0x5B5
subl %ecx, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movl $0x16d, %ecx            # imm = 0x16D
cltd
idivl %ecx
movl %eax, -0x18(%rbp)
cmpl $0x3, -0x18(%rbp)
jle 0x9ae6a
movl $0x3, %eax
movl %eax, -0x58(%rbp)
jmp 0x9ae70
movl -0x18(%rbp), %eax
movl %eax, -0x58(%rbp)
movl -0x58(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0x10(%rbp), %eax
shll $0x2, %eax
addl -0x18(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x14(%rbp), %eax
imull $0x16d, -0x18(%rbp), %ecx # imm = 0x16D
subl %ecx, %eax
movl %eax, -0x20(%rbp)
movl $0x3, -0x24(%rbp)
leaq -0x50(%rbp), %rdi
leaq 0xb207d(%rip), %rsi     # 0x14cf20
movl $0x2c, %edx
callq 0x4450
movl $0x0, -0x54(%rbp)
cmpl $0xb, -0x54(%rbp)
jge 0x9aeed
movslq -0x54(%rbp), %rax
movl -0x50(%rbp,%rax,4), %eax
cmpl -0x20(%rbp), %eax
jle 0x9aec9
jmp 0x9aeed
movslq -0x54(%rbp), %rax
movl -0x50(%rbp,%rax,4), %ecx
movl -0x20(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x20(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
movl -0x54(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x54(%rbp)
jmp 0x9aeb4
movl -0x20(%rbp), %ecx
addl $0x1, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x10(%rax)
cmpl $0xc, -0x24(%rbp)
jg 0x9af08
movl -0x24(%rbp), %eax
movl %eax, -0x5c(%rbp)
jmp 0x9af11
movl -0x24(%rbp), %eax
subl $0xc, %eax
movl %eax, -0x5c(%rbp)
movl -0x5c(%rbp), %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0xc(%rax)
movl -0x1c(%rbp), %ecx
addl $0x76c, %ecx            # imm = 0x76C
movl -0x24(%rbp), %esi
movl $0x1, %eax
xorl %edx, %edx
cmpl $0xc, %esi
cmovlel %edx, %eax
addl %eax, %ecx
movq -0x8(%rbp), %rax
movl %ecx, 0x8(%rax)
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_cday.c
// Function: bcore_cday_ymd_s_to_cday
s2_t bcore_cday_ymd_s_to_cday( const bcore_cday_ymd_s* o )
{
    bcore_cday_ymd_s_check_plausibility( o );

    s2_t yr = o->y - 1900;
    s2_t leap_days = 1 + ( yr / 4 );
    if( ( o->m < 3 ) && ( yr % 4 == 0 ) ) leap_days--;

    s2_t sum = yr * 365 + leap_days;

    switch( o->m - 1 )
    {
        case 11: sum += 30;
        case 10: sum += 31;
        case  9: sum += 30;
        case  8: sum += 31;
        case  7: sum += 31;
        case  6: sum += 30;
        case  5: sum += 31;
        case  4: sum += 30;
        case  3: sum += 31;
        case  2: sum += 28;
        case  1: sum += 31;
        case  0:
        default: break;
    }

    sum += o->d - 1;

    if( sum < 60 ) ERR( "Lowest possible cday '0' subceeded. 0 is mapped to 01.03.1900" );
    sum -= 60;

    return sum;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x9aa00
movq -0x8(%rbp), %rax
movl 0x8(%rax), %eax
subl $0x76c, %eax            # imm = 0x76C
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
addl $0x1, %eax
movl %eax, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x3, 0xc(%rax)
jge 0x9b248
movl -0xc(%rbp), %eax
movl $0x4, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x9b248
movl -0x10(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x10(%rbp)
movl -0xc(%rbp), %eax
imull $0x16d, %eax, %eax      # imm = 0x16D
movl -0x10(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rax
movl 0xc(%rax), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x20(%rbp)
subl $0xb, %eax
ja 0x9b2e6
movq -0x20(%rbp), %rax
leaq 0xb1c58(%rip), %rcx     # 0x14ced0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl -0x14(%rbp), %eax
addl $0x1e, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
addl $0x1f, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
addl $0x1e, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
addl $0x1f, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
addl $0x1f, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
addl $0x1e, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
addl $0x1f, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
addl $0x1e, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
addl $0x1f, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
addl $0x1c, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
addl $0x1f, %eax
movl %eax, -0x14(%rbp)
jmp 0x9b2e6
jmp 0x9b2e8
movq -0x8(%rbp), %rax
movl 0x10(%rax), %eax
subl $0x1, %eax
addl -0x14(%rbp), %eax
movl %eax, -0x14(%rbp)
cmpl $0x3c, -0x14(%rbp)
jge 0x9b31f
leaq 0xb1da7(%rip), %rdi     # 0x14d0ac
leaq 0xb1c89(%rip), %rsi     # 0x14cf95
movl $0x90, %edx
leaq 0xb1dad(%rip), %rcx     # 0x14d0c5
movb $0x0, %al
callq 0x9cf40
movl -0x14(%rbp), %eax
subl $0x3c, %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_cday.c
// Function: bcore_cday_wday_to_sc
sc_t bcore_cday_wday_to_sc( s2_t wday )
{
    switch( wday )
    {
        case 0: return "mo";
        case 1: return "tu";
        case 2: return "we";
        case 3: return "th";
        case 4: return "fr";
        case 5: return "sa";
        case 6: return "su";
        default: ERR_fa( "Invalid wday number '#<s2_t>'.", wday );
    }
    return "";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq %rax, -0x18(%rbp)
subq $0x6, %rax
ja 0x9b4b7
movq -0x18(%rbp), %rax
leaq 0xb1aad(%rip), %rcx     # 0x14cf00
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xb1cca(%rip), %rax     # 0x14d12d
movq %rax, -0x8(%rbp)
jmp 0x9b4e7
leaq 0xb1cc0(%rip), %rax     # 0x14d130
movq %rax, -0x8(%rbp)
jmp 0x9b4e7
leaq 0xb1cb6(%rip), %rax     # 0x14d133
movq %rax, -0x8(%rbp)
jmp 0x9b4e7
leaq 0xa451e(%rip), %rax     # 0x13f9a8
movq %rax, -0x8(%rbp)
jmp 0x9b4e7
leaq 0xb1c9f(%rip), %rax     # 0x14d136
movq %rax, -0x8(%rbp)
jmp 0x9b4e7
leaq 0xa5a01(%rip), %rax     # 0x140ea5
movq %rax, -0x8(%rbp)
jmp 0x9b4e7
leaq 0xb1c88(%rip), %rax     # 0x14d139
movq %rax, -0x8(%rbp)
jmp 0x9b4e7
movl -0xc(%rbp), %r8d
leaq 0xb1c7a(%rip), %rdi     # 0x14d13c
leaq 0xb1acc(%rip), %rsi     # 0x14cf95
movl $0xc9, %edx
leaq 0xb1c7d(%rip), %rcx     # 0x14d152
movb $0x0, %al
callq 0x9d0f0
leaq 0xb753f(%rip), %rax     # 0x152a22
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)