// File: /workspace/github_c_makefile_star2_O0/CkTD[P]btree/btree.c
// Function: bt_node_print
void bt_node_print(BTreeNode* node)
{
    uint64_t i;
    printf("---------- Node(id: %lu, %p) ----------\n[", node->blkid, node);
    if(node->blk->type & BT_NODE_TYPE_INTERNAL)
        printf("INTERNAL ");
    if(node->blk->type & BT_NODE_TYPE_LEAF)
        printf("LEAF ");
    if(node->blk->type & BT_NODE_TYPE_ROOT)
        printf("ROOT");


    printf("]P: %lu, L: %lu, R: %lu, #K: %lu\n|",node->blk->parent_blkid, node->blk->left_sibling_blkid, node->blk->right_sibling_blkid, node->blk->key_counts);
    if(!(node->blk->type & BT_NODE_TYPE_LEAF)) 
    {
        for (i = 0; i < node->blk->key_counts; i++)
        {
            printf(" I_%lu (%lu) K_%lu (%lu) | ", i, bt_node_get_blkid(bt_node_get_child(node, i)), i, bt_node_get_key(node, i));
        }

        printf("I_%lu (%lu) |\n", node->blk->key_counts, bt_node_get_blkid(bt_node_get_child(node, i)));
        if(node->blk->key_counts)
        for(i=0;i <= node->blk->key_counts;i++)
        {
            bt_node_print(bt_node_get_child(node, i));
        }
    }
    else
    {
        for (i = 0; i < node->blk->key_counts; i++)
        {
            printf(" V_%lu (%lu) K_%lu (%lu) | ", i, bt_node_get_value(node, i), i, bt_node_get_key(node, i));
        }
        printf("\n");
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x8(%rbp), %rdx
leaq 0x1f5e(%rip), %rdi      # 0x41bd
movb $0x0, %al
callq 0x1070
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
andq $0x2, %rax
cmpq $0x0, %rax
je 0x2289
leaq 0x1f65(%rip), %rdi      # 0x41e7
movb $0x0, %al
callq 0x1070
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
andq $0x4, %rax
cmpq $0x0, %rax
je 0x22ac
leaq 0x1f4c(%rip), %rdi      # 0x41f1
movb $0x0, %al
callq 0x1070
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
andq $0x1, %rax
cmpq $0x0, %rax
je 0x22cf
leaq 0x1dcb(%rip), %rdi      # 0x4093
movb $0x0, %al
callq 0x1070
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rsi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rdx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x20(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %r8
leaq 0x1ef1(%rip), %rdi      # 0x41f7
movb $0x0, %al
callq 0x1070
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
andq $0x4, %rax
cmpq $0x0, %rax
jne 0x242e
movq $0x0, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0x8(%rcx), %rcx
cmpq 0x8(%rcx), %rax
jae 0x23a1
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x24c0
movq %rax, %rdi
callq 0x12d0
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x2530
movq -0x28(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rcx
movq %rax, %r8
leaq 0x1e8e(%rip), %rdi      # 0x421a
movb $0x0, %al
callq 0x1070
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x232e
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x24c0
movq %rax, %rdi
callq 0x12d0
movq -0x30(%rbp), %rsi
movq %rax, %rdx
leaq 0x1e62(%rip), %rdi      # 0x4236
movb $0x0, %al
callq 0x1070
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x2429
movq $0x0, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0x8(%rcx), %rcx
cmpq 0x8(%rcx), %rax
ja 0x2427
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x24c0
movq %rax, %rdi
callq 0x2240
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x23f2
jmp 0x2429
jmp 0x24af
movq $0x0, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq 0x8(%rcx), %rcx
cmpq 0x8(%rcx), %rax
jae 0x24a1
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x2560
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x2530
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq -0x38(%rbp), %rcx
movq %rax, %r8
leaq 0x1db9(%rip), %rdi      # 0x4245
movb $0x0, %al
callq 0x1070
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x2436
leaq 0x2515(%rip), %rdi      # 0x49bd
movb $0x0, %al
callq 0x1070
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)