LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_state_get_index
void af_prim_io_state_get_index(af_task_t* task) {
  AF_VERIFY_DATA_STACK_READ(task, 1);
  *task->data_stack_current =
    af_io_state_get_index((af_io_state_t*)(*task->data_stack_current));
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rdi
callq 0x17ed0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x1455f
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
jmp 0x14567
xorl %eax, %eax
movq %rax, -0x18(%rbp)
jmp 0x14567
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_state_get_count
void af_prim_io_state_get_count(af_task_t* task) {
  AF_VERIFY_DATA_STACK_READ(task, 1);
  *task->data_stack_current =
    af_io_state_get_count((af_io_state_t*)(*task->data_stack_current));
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rdi
callq 0x17ef0
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x145cf
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
jmp 0x145d7
xorl %eax, %eax
movq %rax, -0x18(%rbp)
jmp 0x145d7
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_state_get_offset
void af_prim_io_state_get_offset(af_task_t* task) {
  AF_VERIFY_DATA_STACK_READ(task, 1);
  *task->data_stack_current =
    (af_cell_t) af_io_state_get_offset((af_io_state_t*)
				       (*task->data_stack_current));
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rdi
callq 0x17f10
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x1463f
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
jmp 0x14647
xorl %eax, %eax
movq %rax, -0x18(%rbp)
jmp 0x14647
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_open
void af_prim_io_open(af_task_t* task) {
  af_io_fd_t fd;
  af_io_error_t error;
  AF_VERIFY_DATA_STACK_READ(task, 4);
  fd = af_io_open((af_byte_t*)(*(task->data_stack_current + 3)),
		  *(task->data_stack_current + 2),
		  (af_io_flags_t)(*(task->data_stack_current + 1)),
		  (af_io_mode_t)(*task->data_stack_current),
		  &error);
  task->data_stack_current += 2;
  *(task->data_stack_current + 1) = (af_cell_t)fd;
  *task->data_stack_current = (af_cell_t)error;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x18(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x10(%rax), %rsi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rax
movl %eax, %edx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movl %eax, %ecx
leaq -0x10(%rbp), %r8
callq 0x17f30
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
addq $0x10, %rcx
movq %rcx, 0x60(%rax)
movslq -0xc(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, 0x8(%rax)
movslq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x146ff
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0x14707
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0x14707
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_pipe
void af_prim_io_pipe(af_task_t* task) {
  af_io_fd_t in;
  af_io_fd_t out;
  af_io_error_t error;
  AF_VERIFY_DATA_STACK_EXPAND(task, 3);
  af_io_pipe(&in, &out, &error);
  *(--task->data_stack_current) = (af_cell_t)in;
  *(--task->data_stack_current) = (af_cell_t)out;
  *(--task->data_stack_current) = (af_cell_t)error;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
leaq -0xc(%rbp), %rdi
leaq -0x10(%rbp), %rsi
leaq -0x14(%rbp), %rdx
callq 0x17fe0
movslq -0xc(%rbp), %rcx
movq -0x8(%rbp), %rdx
movq 0x60(%rdx), %rax
movq %rax, %rsi
addq $-0x8, %rsi
movq %rsi, 0x60(%rdx)
movq %rcx, -0x8(%rax)
movslq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rdx
movq 0x60(%rdx), %rax
movq %rax, %rsi
addq $-0x8, %rsi
movq %rsi, 0x60(%rdx)
movq %rcx, -0x8(%rax)
movslq -0x14(%rbp), %rcx
movq -0x8(%rbp), %rdx
movq 0x60(%rdx), %rax
movq %rax, %rsi
addq $-0x8, %rsi
movq %rsi, 0x60(%rdx)
movq %rcx, -0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x147b3
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0x147bb
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0x147bb
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_delete
void af_prim_io_delete(af_task_t* task) {
  af_io_error_t error;
  AF_VERIFY_DATA_STACK_READ(task, 2);
  af_io_delete((af_byte_t*)(*(task->data_stack_current + 1)),
	       *task->data_stack_current, &error);
  task->data_stack_current++;
  *task->data_stack_current = (af_cell_t)error;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rsi
leaq -0xc(%rbp), %rdx
callq 0x18050
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
addq $0x8, %rcx
movq %rcx, 0x60(%rax)
movslq -0xc(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x14840
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0x14848
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0x14848
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_delete_dir
void af_prim_io_delete_dir(af_task_t* task) {
  af_io_error_t error;
  AF_VERIFY_DATA_STACK_READ(task, 2);
  af_io_delete_dir((af_byte_t*)(*(task->data_stack_current + 1)),
		   *task->data_stack_current, &error);
  task->data_stack_current++;
  *task->data_stack_current = (af_cell_t)error;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rsi
leaq -0xc(%rbp), %rdx
callq 0x180f0
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
addq $0x8, %rcx
movq %rcx, 0x60(%rax)
movslq -0xc(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x148d0
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0x148d8
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0x148d8
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_rename
void af_prim_io_rename(af_task_t* task) {
  af_io_error_t error;
  AF_VERIFY_DATA_STACK_READ(task, 4);
  af_io_rename((af_byte_t*)(*(task->data_stack_current + 3)),
	       *(task->data_stack_current + 2),
	       (af_byte_t*)(*(task->data_stack_current + 1)),
	       *task->data_stack_current, &error);
  task->data_stack_current += 3;
  *task->data_stack_current = (af_cell_t)error;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x18(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x10(%rax), %rsi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rdx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rcx
leaq -0xc(%rbp), %r8
callq 0x18190
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
addq $0x18, %rcx
movq %rcx, 0x60(%rax)
movslq -0xc(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x14978
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0x14980
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0x14980
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_isatty
void af_prim_io_isatty(af_task_t* task) {
  af_io_error_t error;
  AF_VERIFY_DATA_STACK_READ(task, 1);
  AF_VERIFY_DATA_STACK_EXPAND(task, 1);
  *task->data_stack_current = af_io_isatty(*task->data_stack_current, &error);
  *(--task->data_stack_current) = error;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movl %eax, %edi
leaq -0xc(%rbp), %rsi
callq 0x18280
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movslq -0xc(%rbp), %rcx
movq -0x8(%rbp), %rdx
movq 0x60(%rdx), %rax
movq %rax, %rsi
addq $-0x8, %rsi
movq %rsi, 0x60(%rdx)
movq %rcx, -0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x14a10
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0x14a18
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0x14a18
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_get_pending_write_count
void af_prim_io_get_pending_write_count(af_task_t* task) {
  af_global_t* global = task->global;
  AF_VERIFY_DATA_STACK_EXPAND(task, 1);
  *(--task->data_stack_current) = af_io_get_pending_write_count(&global->io);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
addq $0xa8, %rdi
callq 0x17cd0
movq %rax, %rcx
movq -0x8(%rbp), %rdx
movq 0x60(%rdx), %rax
movq %rax, %rsi
addq $-0x8, %rsi
movq %rsi, 0x60(%rdx)
movq %rcx, -0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x14a96
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0x14a9e
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0x14a9e
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x20, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_get_monotonic_time
void af_prim_io_get_monotonic_time(af_task_t* task) {
  af_time_t monotonic_time;
  AF_VERIFY_DATA_STACK_EXPAND(task, 2);
  af_io_get_monotonic_time(&monotonic_time);
  *(--task->data_stack_current) = monotonic_time.sec;
  *(--task->data_stack_current) = monotonic_time.nsec;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x18300
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rdx
movq 0x60(%rdx), %rax
movq %rax, %rsi
addq $-0x8, %rsi
movq %rsi, 0x60(%rdx)
movq %rcx, -0x8(%rax)
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rdx
movq 0x60(%rdx), %rax
movq %rax, %rsi
addq $-0x8, %rsi
movq %rsi, 0x60(%rdx)
movq %rcx, -0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x14b20
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0x14b28
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0x14b28
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_get_real_time
void af_prim_io_get_real_time(af_task_t* task) {
  af_time_t real_time;
  AF_VERIFY_DATA_STACK_EXPAND(task, 2);
  af_io_get_real_time(&real_time);
  *(--task->data_stack_current) = real_time.sec;
  *(--task->data_stack_current) = real_time.nsec;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x18340
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rdx
movq 0x60(%rdx), %rax
movq %rax, %rsi
addq $-0x8, %rsi
movq %rsi, 0x60(%rdx)
movq %rcx, -0x8(%rax)
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rdx
movq 0x60(%rdx), %rax
movq %rax, %rsi
addq $-0x8, %rsi
movq %rsi, 0x60(%rdx)
movq %rcx, -0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x14bb0
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0x14bb8
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0x14bb8
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_sleep
void af_prim_io_sleep(af_task_t* task) {
  af_global_t* global = task->global;
  af_time_t sleep_until;
  af_io_action_t* action;
  AF_VERIFY_DATA_STACK_READ(task, 2);
  sleep_until.nsec = *task->data_stack_current++;
  sleep_until.sec = *task->data_stack_current++;
  action = af_io_sleep(&global->io, &sleep_until, task);
  af_io_action_destroy(action);
  AF_ADVANCE_IP(task, 1);
  af_wait(global, task);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rcx
movq 0x60(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x60(%rcx)
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movq 0x60(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x60(%rcx)
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rdi
addq $0xa8, %rdi
movq -0x8(%rbp), %rdx
leaq -0x20(%rbp), %rsi
callq 0x18380
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x17c20
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x14c65
movq -0x30(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x38(%rbp)
jmp 0x14c6d
xorl %eax, %eax
movq %rax, -0x38(%rbp)
jmp 0x14c6d
movq -0x38(%rbp), %rcx
movq -0x30(%rbp), %rax
movq %rcx, 0x58(%rax)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x3d70
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_tell
void af_prim_io_tell(af_task_t* task) {
  af_global_t* global = task->global;
  af_io_action_t* action;
  AF_VERIFY_DATA_STACK_READ(task, 1);
  action = af_io_tell(&global->io, (af_io_fd_t)(*task->data_stack_current),
		      task);
  *task->data_stack_current = (af_cell_t)action;
  AF_ADVANCE_IP(task, 1);
  af_wait(global, task);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
addq $0xa8, %rdi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movl %eax, %esi
movq -0x8(%rbp), %rdx
callq 0x185f0
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x14d00
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0x14d08
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0x14d08
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x3d70
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_close_block
void af_prim_io_close_block(af_task_t* task) {
  af_global_t* global = task->global;
  af_io_action_t* action;
  AF_VERIFY_DATA_STACK_READ(task, 1);
  action = af_io_close_block(&global->io,
			     (af_io_fd_t)(*task->data_stack_current),
			     task);
  *task->data_stack_current = (af_cell_t)action;
  AF_ADVANCE_IP(task, 1);
  af_wait(global, task);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
addq $0xa8, %rdi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movl %eax, %esi
movq -0x8(%rbp), %rdx
callq 0x18710
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x14da0
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0x14da8
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0x14da8
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x3d70
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_close_async
void af_prim_io_close_async(af_task_t* task) {
  af_global_t* global = task->global;
  af_io_action_t* action;
  AF_VERIFY_DATA_STACK_READ(task, 1);
  action = af_io_close_async(&global->io,
			     (af_io_fd_t)(*task->data_stack_current));
  *task->data_stack_current = (af_cell_t)action;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
addq $0xa8, %rdi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movl %eax, %esi
callq 0x18830
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x14e3c
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0x14e44
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0x14e44
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_seek_block
void af_prim_io_seek_block(af_task_t* task) {
  af_global_t* global = task->global;
  af_io_action_t* action;
  af_io_fd_t fd;
  af_io_off_t offset;
  af_io_whence_t whence;
  AF_VERIFY_DATA_STACK_READ(task, 3);
  fd = *task->data_stack_current;
  whence = *(task->data_stack_current + 1);
  offset = *(af_sign_cell_t*)(task->data_stack_current + 2);
  action = af_io_seek_block(&global->io, fd, offset, whence, task);
  task->data_stack_current += 2;
  *task->data_stack_current = (af_cell_t)action;
  AF_ADVANCE_IP(task, 1);
  af_wait(global, task);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movl %eax, -0x1c(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rax
movl %eax, -0x2c(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
addq $0xa8, %rdi
movl -0x1c(%rbp), %esi
movq -0x28(%rbp), %rdx
movl -0x2c(%rbp), %ecx
movq -0x8(%rbp), %r8
callq 0x18950
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
addq $0x10, %rcx
movq %rcx, 0x60(%rax)
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x14f0a
movq -0x38(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x40(%rbp)
jmp 0x14f12
xorl %eax, %eax
movq %rax, -0x40(%rbp)
jmp 0x14f12
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x58(%rax)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x3d70
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_seek_async
void af_prim_io_seek_async(af_task_t* task) {
  af_global_t* global = task->global;
  af_io_action_t* action;
  af_io_fd_t fd;
  af_io_off_t offset;
  af_io_whence_t whence;
  AF_VERIFY_DATA_STACK_READ(task, 3);
  fd = *task->data_stack_current;
  whence = *(task->data_stack_current + 1);
  offset = *(af_sign_cell_t*)(task->data_stack_current + 2);
  action = af_io_seek_async(&global->io, fd, offset, whence);
  task->data_stack_current += 2;
  *task->data_stack_current = (af_cell_t)action;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movl %eax, -0x1c(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rax
movl %eax, -0x2c(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rdi
addq $0xa8, %rdi
movl -0x1c(%rbp), %esi
movq -0x28(%rbp), %rdx
movl -0x2c(%rbp), %ecx
callq 0x18a80
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
addq $0x10, %rcx
movq %rcx, 0x60(%rax)
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x14fe6
movq -0x38(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x40(%rbp)
jmp 0x14fee
xorl %eax, %eax
movq %rax, -0x40(%rbp)
jmp 0x14fee
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x40, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_read_block
void af_prim_io_read_block(af_task_t* task) {
  af_global_t* global = task->global;
  af_io_action_t* action;
  AF_VERIFY_DATA_STACK_READ(task, 3);
  action = af_io_read_block(&global->io,
			    (af_io_fd_t)(*task->data_stack_current),
			    (af_byte_t*)(*(task->data_stack_current + 2)),
			    *(task->data_stack_current + 1),
			    task);
  task->data_stack_current += 2;
  *task->data_stack_current = (af_cell_t)action;
  AF_ADVANCE_IP(task, 1);
  af_wait(global, task);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
addq $0xa8, %rdi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movl %eax, %esi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x10(%rax), %rdx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rcx
movq -0x8(%rbp), %r8
callq 0x18ba0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
addq $0x10, %rcx
movq %rcx, 0x60(%rax)
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x15098
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0x150a0
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0x150a0
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x3d70
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_write_block
void af_prim_io_write_block(af_task_t* task) {
  af_global_t* global = task->global;
  af_io_action_t* action;
  AF_VERIFY_DATA_STACK_READ(task, 3);
  action = af_io_write_block(&global->io,
			     (af_io_fd_t)(*task->data_stack_current),
			     (af_byte_t*)(*(task->data_stack_current + 2)),
			     *(task->data_stack_current + 1),
			     task);
  task->data_stack_current += 2;
  *task->data_stack_current = (af_cell_t)action;
  AF_ADVANCE_IP(task, 1);
  af_wait(global, task);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
addq $0xa8, %rdi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movl %eax, %esi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x10(%rax), %rdx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rcx
movq -0x8(%rbp), %r8
callq 0x18ce0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
addq $0x10, %rcx
movq %rcx, 0x60(%rax)
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x15158
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0x15160
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0x15160
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x3d70
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_read_async
void af_prim_io_read_async(af_task_t* task) {
  af_global_t* global = task->global;
  af_io_action_t* action;
  AF_VERIFY_DATA_STACK_READ(task, 3);
  action = af_io_read_async(&global->io,
			    (af_io_fd_t)(*task->data_stack_current),
			    (af_byte_t*)(*(task->data_stack_current + 2)),
			    *(task->data_stack_current + 1));
  task->data_stack_current += 2;
  *task->data_stack_current = (af_cell_t)action;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
addq $0xa8, %rdi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movl %eax, %esi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x10(%rax), %rdx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rcx
callq 0x18e20
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
addq $0x10, %rcx
movq %rcx, 0x60(%rax)
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x15214
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0x1521c
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0x1521c
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_write_async
void af_prim_io_write_async(af_task_t* task) {
  af_global_t* global = task->global;
  af_io_action_t* action;
  AF_VERIFY_DATA_STACK_READ(task, 3);
  action = af_io_write_async(&global->io,
			     (af_io_fd_t)(*task->data_stack_current),
			     (af_byte_t*)(*(task->data_stack_current + 2)),
			     *(task->data_stack_current + 1));
  task->data_stack_current += 2;
  *task->data_stack_current = (af_cell_t)action;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
addq $0xa8, %rdi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movl %eax, %esi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x10(%rax), %rdx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rcx
callq 0x18f60
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
addq $0x10, %rcx
movq %rcx, 0x60(%rax)
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x152c4
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0x152cc
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0x152cc
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x30, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_io_read_nonblock
void af_prim_io_read_nonblock(af_task_t* task) {
  af_bool_t again;
  af_io_error_t error;
  ssize_t size;
  AF_VERIFY_DATA_STACK_READ(task, 3);
  size = af_io_read_nonblock((af_io_fd_t)(*task->data_stack_current),
			     (af_byte_t*)(*(task->data_stack_current + 2)),
			     *(task->data_stack_current + 1),
			     &again, &error);
  *(af_sign_cell_t*)(task->data_stack_current + 2) = (af_sign_cell_t)size;
  *(af_bool_t*)(task->data_stack_current + 1) = again;
  *task->data_stack_current = error;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movl %eax, %edi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x10(%rax), %rsi
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rdx
leaq -0x10(%rbp), %rcx
leaq -0x14(%rbp), %r8
callq 0x190e0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, 0x8(%rax)
movslq -0x14(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x15376
movq -0x28(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x30(%rbp)
jmp 0x1537e
xorl %eax, %eax
movq %rax, -0x30(%rbp)
jmp 0x1537e
movq -0x30(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x30, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_input_next_input
void af_prim_input_next_input(af_task_t* task) {
  AF_VERIFY_DATA_STACK_READ(task, 1);
  *task->data_stack_current =
    (af_cell_t)(&((af_input_t*)(*task->data_stack_current))->next_input);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x15f63
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
jmp 0x15f6b
xorl %eax, %eax
movq %rax, -0x18(%rbp)
jmp 0x15f6b
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_input_buffer
void af_prim_input_buffer(af_task_t* task) {
  AF_VERIFY_DATA_STACK_READ(task, 1);
  *task->data_stack_current =
    (af_cell_t)(&((af_input_t*)(*task->data_stack_current))->buffer);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rcx
addq $0x8, %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x15fc7
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
jmp 0x15fcf
xorl %eax, %eax
movq %rax, -0x18(%rbp)
jmp 0x15fcf
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_input_count
void af_prim_input_count(af_task_t* task) {
  AF_VERIFY_DATA_STACK_READ(task, 1);
  *task->data_stack_current =
    (af_cell_t)(&((af_input_t*)(*task->data_stack_current))->count);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rcx
addq $0x10, %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x16027
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
jmp 0x1602f
xorl %eax, %eax
movq %rax, -0x18(%rbp)
jmp 0x1602f
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_input_index
void af_prim_input_index(af_task_t* task) {
  AF_VERIFY_DATA_STACK_READ(task, 1);
  *task->data_stack_current =
    (af_cell_t)(&((af_input_t*)(*task->data_stack_current))->index);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rcx
addq $0x18, %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x16087
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
jmp 0x1608f
xorl %eax, %eax
movq %rax, -0x18(%rbp)
jmp 0x1608f
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_input_is_closed
void af_prim_input_is_closed(af_task_t* task) {
  AF_VERIFY_DATA_STACK_READ(task, 1);
  *task->data_stack_current =
    (af_cell_t)(&((af_input_t*)(*task->data_stack_current))->is_closed);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rcx
addq $0x20, %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x160e7
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
jmp 0x160ef
xorl %eax, %eax
movq %rax, -0x18(%rbp)
jmp 0x160ef
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_input_refill
void af_prim_input_refill(af_task_t* task) {
  AF_VERIFY_DATA_STACK_READ(task, 1);
  *task->data_stack_current =
    (af_cell_t)(&((af_input_t*)(*task->data_stack_current))->refill);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rcx
addq $0x30, %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x161a7
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
jmp 0x161af
xorl %eax, %eax
movq %rax, -0x18(%rbp)
jmp 0x161af
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_input_source_id
void af_prim_input_source_id(af_task_t* task) {
  AF_VERIFY_DATA_STACK_READ(task, 1);
  *task->data_stack_current =
    (af_cell_t)(&((af_input_t*)(*task->data_stack_current))->source_id);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rcx
addq $0x38, %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x16207
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
jmp 0x1620f
xorl %eax, %eax
movq %rax, -0x18(%rbp)
jmp 0x1620f
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_input_arg
void af_prim_input_arg(af_task_t* task) {
  AF_VERIFY_DATA_STACK_READ(task, 1);
  *task->data_stack_current =
    (af_cell_t)(&((af_input_t*)(*task->data_stack_current))->arg);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rcx
addq $0x40, %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x16267
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
jmp 0x1626f
xorl %eax, %eax
movq %rax, -0x18(%rbp)
jmp 0x1626f
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_docol
void af_prim_docol(af_task_t* task) {
  af_global_t* global = task->global;
  if(task->return_stack_current > task->return_stack_top) {
    *(--task->return_stack_current) = task->interpreter_pointer + 1;
    task->interpreter_pointer = task->current_word->secondary;
  } else {
    af_handle_return_stack_overflow(global, task);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x70(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x88(%rcx), %rax
jbe 0x168e8
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rcx
addq $0x8, %rcx
movq -0x8(%rbp), %rdx
movq 0x70(%rdx), %rax
movq %rax, %rsi
addq $-0x8, %rsi
movq %rsi, 0x70(%rdx)
movq %rcx, -0x8(%rax)
movq -0x8(%rbp), %rax
movq 0xf8(%rax), %rax
movq 0x20(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x58(%rax)
jmp 0x168f5
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x42e0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_push_data
void af_prim_push_data(af_task_t* task) {
  af_global_t* global = task->global;
  if(task->data_stack_current > task->data_stack_top) {
    *(--task->data_stack_current) =
      (af_cell_t)AF_WORD_DATA(task->current_word);
    AF_ADVANCE_IP(task, 1);
  } else {
    af_handle_data_stack_overflow(global, task);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x78(%rcx), %rax
jbe 0x1698a
movq -0x8(%rbp), %rax
movq 0xf8(%rax), %rcx
addq $0x28, %rcx
movq -0x8(%rbp), %rdx
movq 0x60(%rdx), %rax
movq %rax, %rsi
addq $-0x8, %rsi
movq %rsi, 0x60(%rdx)
movq %rcx, -0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x16974
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0x1697c
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0x1697c
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x58(%rax)
jmp 0x16997
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x4260
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_do_does
void af_prim_do_does(af_task_t* task) {
  af_global_t* global = task->global;
  if(task->data_stack_current > task->data_stack_top) {
    if(task->return_stack_current > task->return_stack_top) {
      *(--task->data_stack_current) =
	(af_cell_t)AF_WORD_DATA(task->current_word);
      *(--task->return_stack_current) =
	task->interpreter_pointer ? task->interpreter_pointer + 1 : NULL;
      task->interpreter_pointer = task->current_word->secondary;
    } else {
      af_handle_return_stack_overflow(global, task);
    }
  } else {
    af_handle_data_stack_overflow(global, task);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x78(%rcx), %rax
jbe 0x16a70
movq -0x8(%rbp), %rax
movq 0x70(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x88(%rcx), %rax
jbe 0x16a61
movq -0x8(%rbp), %rax
movq 0xf8(%rax), %rcx
addq $0x28, %rcx
movq -0x8(%rbp), %rdx
movq 0x60(%rdx), %rax
movq %rax, %rsi
addq $-0x8, %rsi
movq %rsi, 0x60(%rdx)
movq %rcx, -0x8(%rax)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x16a25
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
jmp 0x16a2d
xorl %eax, %eax
movq %rax, -0x18(%rbp)
jmp 0x16a2d
movq -0x18(%rbp), %rcx
movq -0x8(%rbp), %rdx
movq 0x70(%rdx), %rax
movq %rax, %rsi
addq $-0x8, %rsi
movq %rsi, 0x70(%rdx)
movq %rcx, -0x8(%rax)
movq -0x8(%rbp), %rax
movq 0xf8(%rax), %rax
movq 0x20(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x58(%rax)
jmp 0x16a6e
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x42e0
jmp 0x16a7d
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x4260
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_literal
void af_prim_literal(af_task_t* task) {
  af_global_t* global = task->global;
  af_compiled_t* slot;
  AF_VERIFY_COMPILING(task);
  AF_VERIFY_DATA_STACK_READ(task, 1);
  slot = af_allot(global, task, sizeof(af_compiled_t) * 2);
  if(slot) {
    slot->compiled_call = global->builtin_literal_runtime;
    (slot + 1)->compiled_cell = *task->data_stack_current++;
    AF_ADVANCE_IP(task, 1);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
movl $0x10, %edx
callq 0x47e0
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x16b2d
movq -0x10(%rbp), %rax
movq 0x180(%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rcx
movq 0x60(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x60(%rcx)
movq (%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x16b19
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0x16b21
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0x16b21
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_unused
void af_prim_unused(af_task_t* task) {
  AF_VERIFY_DATA_STACK_EXPAND(task, 1);
  *(--task->data_stack_current) =
    (af_cell_t)(task->data_stack_top - task->data_stack_current);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x78(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
subq %rax, %rcx
sarq $0x3, %rcx
movq -0x8(%rbp), %rdx
movq 0x60(%rdx), %rax
movq %rax, %rsi
addq $-0x8, %rsi
movq %rsi, 0x60(%rdx)
movq %rcx, -0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x16b9b
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
jmp 0x16ba3
xorl %eax, %eax
movq %rax, -0x18(%rbp)
jmp 0x16ba3
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/cond.c
// Function: af_cond_init
af_bool_t af_cond_init(af_cond_t* cond) {
  if(pthread_cond_init(&cond->cond, NULL)) {
    return FALSE;
  }
  if(pthread_mutex_init(&cond->mutex, NULL)) {
    pthread_cond_destroy(&cond->cond);
    return FALSE;
  }
  cond->count = 0;
  return TRUE;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x21d0
cmpl $0x0, %eax
je 0x16bec
movq $0x0, -0x8(%rbp)
jmp 0x16c29
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x22c0
cmpl $0x0, %eax
je 0x16c15
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x2260
movq $0x0, -0x8(%rbp)
jmp 0x16c29
movq -0x10(%rbp), %rax
movq $0x0, 0x58(%rax)
movq $-0x1, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/cond.c
// Function: af_cond_wait
void af_cond_wait(af_cond_t* cond) {
  pthread_mutex_lock(&cond->mutex);
  if(!cond->count) {
    pthread_cond_wait(&cond->cond, &cond->mutex);
  }
  cond->count = 0;
  pthread_mutex_unlock(&cond->mutex);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x22d0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x58(%rax)
jne 0x16ca1
movq -0x8(%rbp), %rdi
addq $0x28, %rdi
movq -0x8(%rbp), %rsi
callq 0x20f0
movq -0x8(%rbp), %rax
movq $0x0, 0x58(%rax)
movq -0x8(%rbp), %rdi
callq 0x21e0
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/cond.c
// Function: af_cond_signal
void af_cond_signal(af_cond_t* cond) {
  pthread_mutex_lock(&cond->mutex);
  cond->count++;
  pthread_cond_signal(&cond->cond);
  pthread_mutex_unlock(&cond->mutex);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x22d0
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x58(%rax)
movq -0x8(%rbp), %rdi
addq $0x28, %rdi
callq 0x21a0
movq -0x8(%rbp), %rdi
callq 0x21e0
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)