// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_tbman.c
// Function: block_manager_s_status
static st_s* block_manager_s_status( const block_manager_s* o, int detail_level )
{
    st_s* str = st_s_create();
    if( detail_level <= 0 ) return str;
    st_s_pushf( str, "  pool_size:        %zu\n", o->pool_size );
    st_s_pushf( str, "  block_size:       %zu\n", o->block_size );
    st_s_pushf( str, "  sweep_hysteresis: %g\n",  o->sweep_hysteresis );
    st_s_pushf( str, "  aligned:          %s\n",  o->aligned ? "true" : "false" );
    st_s_pushf( str, "  token_managers:   %zu\n", o->size );
    st_s_pushf( str, "      full:         %zu\n", o->free_index );
    st_s_pushf( str, "      empty:        %zu\n", block_manager_s_empty_tail( o ) );
    st_s_pushf( str, "  total alloc:      %zu\n", block_manager_s_total_alloc( o ) );
    st_s_pushf( str, "  total space:      %zu\n", block_manager_s_total_space( o ) );
    if( detail_level > 1 )
    {
        for( uz_t i = 0; i < o->size; i++ )
        {
            st_s_pushf( str, "\nblock manager %zu:\n", i );
            st_s_push_st_d( str, token_manager_s_status( o->data[ i ], detail_level - 1 ) );
        }
    }
    return str;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movb $0x0, %al
callq 0xff2e0
movq %rax, -0x20(%rbp)
cmpl $0x0, -0x14(%rbp)
jg 0x10a79d
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x10a938
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rdx
leaq 0x4d4ab(%rip), %rsi     # 0x157c5a
movb $0x0, %al
callq 0x100120
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdx
leaq 0x4d4aa(%rip), %rsi     # 0x157c73
movb $0x0, %al
callq 0x100120
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rax
movsd 0x38(%rax), %xmm0
leaq 0x4d4a8(%rip), %rsi     # 0x157c8c
movb $0x1, %al
callq 0x100120
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rax
movb 0x40(%rax), %cl
leaq 0x2f518(%rip), %rdx     # 0x139d15
leaq 0x4e647(%rip), %rax     # 0x158e4b
testb $0x1, %cl
cmovneq %rax, %rdx
leaq 0x4d492(%rip), %rsi     # 0x157ca4
movb $0x0, %al
callq 0x100120
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rdx
leaq 0x4d490(%rip), %rsi     # 0x157cbc
movb $0x0, %al
callq 0x100120
movq -0x20(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rdx
leaq 0x4d48f(%rip), %rsi     # 0x157cd5
movb $0x0, %al
callq 0x100120
movq -0x20(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rdi
callq 0x10d270
movq -0x40(%rbp), %rdi
movq %rax, %rdx
leaq 0x4d482(%rip), %rsi     # 0x157cee
movb $0x0, %al
callq 0x100120
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rdi
callq 0x10a450
movq -0x38(%rbp), %rdi
movq %rax, %rdx
leaq 0x4d475(%rip), %rsi     # 0x157d07
movb $0x0, %al
callq 0x100120
movq -0x20(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
callq 0x10a4b0
movq -0x30(%rbp), %rdi
movq %rax, %rdx
leaq 0x4d468(%rip), %rsi     # 0x157d20
movb $0x0, %al
callq 0x100120
cmpl $0x1, -0x14(%rbp)
jle 0x10a930
movq $0x0, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq 0x20(%rcx), %rax
jae 0x10a92e
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0x4cf3e(%rip), %rsi     # 0x157828
movb $0x0, %al
callq 0x100120
movq -0x20(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movl -0x14(%rbp), %esi
subl $0x1, %esi
callq 0x10f050
movq -0x48(%rbp), %rdi
movq %rax, %rsi
callq 0xfff40
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x10a8cd
jmp 0x10a930
movq -0x20(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)