LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_is_smart
void af_prim_is_smart(af_task_t* task) {
  AF_VERIFY_DATA_STACK_READ(task, 1);
  *task->data_stack_current =
    (af_cell_t)(((af_word_t*)
		 (*task->data_stack_current))->flags
		& AF_WORD_SMART ? TRUE : FALSE);
  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), %rax
movq 0x18(%rax), %rdx
andq $0x8, %rdx
xorl %eax, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpq $0x0, %rdx
cmovnel %ecx, %eax
movslq %eax, %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 0x9edc
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
jmp 0x9ee4
xorl %eax, %eax
movq %rax, -0x18(%rbp)
jmp 0x9ee4
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_dup
void af_prim_dup(af_task_t* task) {
  af_cell_t value;
  AF_VERIFY_DATA_STACK_READ(task, 1);
  AF_VERIFY_DATA_STACK_EXPAND(task, 1);
  value = *task->data_stack_current;
  *(--task->data_stack_current) = value;
  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), %rax
movq %rax, -0x10(%rbp)
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, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x9f57
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0x9f5f
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0x9f5f
movq -0x20(%rbp), %rcx
movq -0x18(%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_swap
void af_prim_swap(af_task_t* task) {
  af_cell_t value;
  AF_VERIFY_DATA_STACK_READ(task, 2);
  value = *task->data_stack_current;
  *task->data_stack_current = *(task->data_stack_current + 1);
  *(task->data_stack_current + 1) = value;
  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), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xa033
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0xa03b
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0xa03b
movq -0x20(%rbp), %rcx
movq -0x18(%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_over
void af_prim_over(af_task_t* task) {
  af_cell_t value;
  AF_VERIFY_DATA_STACK_READ(task, 2);
  AF_VERIFY_DATA_STACK_EXPAND(task, 1);
  value = *(task->data_stack_current + 1);
  *(--task->data_stack_current) = value;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
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, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xa0a8
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0xa0b0
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0xa0b0
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_rot
void af_prim_rot(af_task_t* task) {
  af_cell_t value;
  AF_VERIFY_DATA_STACK_READ(task, 3);
  value = *(task->data_stack_current + 2);
  *(task->data_stack_current + 2) = *(task->data_stack_current + 1);
  *(task->data_stack_current + 1) = *task->data_stack_current;
  *task->data_stack_current = value;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq %rcx, 0x8(%rax)
movq -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 0xa13b
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0xa143
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0xa143
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_pick
void af_prim_pick(af_task_t* task) {
  af_cell_t index;
  AF_VERIFY_DATA_STACK_READ(task, 1);
  index = *task->data_stack_current;
  AF_VERIFY_DATA_STACK_READ(task, index + 2);
  *task->data_stack_current = *(task->data_stack_current + index + 1);
  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), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %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 0xa1b8
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0xa1c0
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0xa1c0
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_roll
void af_prim_roll(af_task_t* task) {
  af_cell_t index;
  af_cell_t value;
  AF_VERIFY_DATA_STACK_READ(task, 1);
  index = *task->data_stack_current++;
  AF_VERIFY_DATA_STACK_READ(task, index + 1);
  value = *(task->data_stack_current + index);
  while(index > 0) {
    *(task->data_stack_current + index) =
      *(task->data_stack_current + (index - 1));
    index--;
  }
  *task->data_stack_current = value;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rcx
movq 0x60(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x60(%rcx)
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jbe 0xa23f
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x10(%rbp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rdx
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x10(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0xa206
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 0xa273
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0xa27b
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0xa27b
movq -0x28(%rbp), %rcx
movq -0x20(%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_add
void af_prim_add(af_task_t* task) {
  af_sign_cell_t value0;
  af_sign_cell_t value1;
  AF_VERIFY_DATA_STACK_READ(task, 2);
  value0 = *((af_sign_cell_t*)task->data_stack_current + 1);
  value1 = *(af_sign_cell_t*)task->data_stack_current;
  *(++task->data_stack_current) = (af_cell_t)(value0 + value1);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rcx
addq -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 -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xa2fb
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0xa303
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0xa303
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_div
void af_prim_div(af_task_t* task) {
  af_global_t* global = task->global;
  af_sign_cell_t value0;
  af_sign_cell_t value1;
  AF_VERIFY_DATA_STACK_READ(task, 2);
  value0 = *((af_sign_cell_t*)task->data_stack_current + 1);
  value1 = *(af_sign_cell_t*)task->data_stack_current;
  if(value1 == 0) {
    af_handle_divide_by_zero(global, task);
    return;
  }
  *(++task->data_stack_current) = (af_cell_t)(value0 / value1);
  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 -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0xa48c
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x4520
jmp 0xa4e9
movq -0x18(%rbp), %rax
cqto
idivq -0x20(%rbp)
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, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xa4d5
movq -0x28(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x30(%rbp)
jmp 0xa4dd
xorl %eax, %eax
movq %rax, -0x30(%rbp)
jmp 0xa4dd
movq -0x30(%rbp), %rcx
movq -0x28(%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_u_div
void af_prim_u_div(af_task_t* task) {
  af_global_t* global = task->global;
  af_cell_t value0;
  af_cell_t value1;
  AF_VERIFY_DATA_STACK_READ(task, 2);
  value0 = *(task->data_stack_current + 1);
  value1 = *task->data_stack_current;
  if(value1 == 0) {
    af_handle_divide_by_zero(global, task);
    return;
  }
  *(++task->data_stack_current) = (af_cell_t)(value0 / value1);
  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 -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0xa5ec
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x4520
jmp 0xa64b
movq -0x18(%rbp), %rax
xorl %ecx, %ecx
movl %ecx, %edx
divq -0x20(%rbp)
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, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xa637
movq -0x28(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x30(%rbp)
jmp 0xa63f
xorl %eax, %eax
movq %rax, -0x30(%rbp)
jmp 0xa63f
movq -0x30(%rbp), %rcx
movq -0x28(%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_and
void af_prim_and(af_task_t* task) {
  af_cell_t value0;
  af_cell_t value1;
  AF_VERIFY_DATA_STACK_READ(task, 2);
  value0 = *(task->data_stack_current + 1);
  value1 = *task->data_stack_current;
  *(++task->data_stack_current) = value0 & value1;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rcx
andq -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 -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xa7db
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0xa7e3
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0xa7e3
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_lshift
void af_prim_lshift(af_task_t* task) {
  af_cell_t value0;
  af_cell_t value1;
  AF_VERIFY_DATA_STACK_READ(task, 2);
  value0 = *(task->data_stack_current + 1);
  value1 = *task->data_stack_current;
  *(++task->data_stack_current) = value0 << value1;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rcx
shlq %cl, %rax
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, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xa991
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0xa999
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0xa999
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_arshift
void af_prim_arshift(af_task_t* task) {
  af_sign_cell_t value0;
  af_cell_t value1;
  AF_VERIFY_DATA_STACK_READ(task, 2);
  value0 = *(task->data_stack_current + 1);
  value1 = *task->data_stack_current;
  *(++task->data_stack_current) = (af_cell_t)(value0 >> value1);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rcx
sarq %cl, %rax
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, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xaab1
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0xaab9
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0xaab9
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_lt
void af_prim_lt(af_task_t* task) {
  af_sign_cell_t value0;
  af_sign_cell_t value1;
  AF_VERIFY_DATA_STACK_READ(task, 2);
  value0 = *((af_sign_cell_t*)task->data_stack_current + 1);
  value1 = *(af_sign_cell_t*)task->data_stack_current;
  *(++task->data_stack_current) = (af_cell_t)(value0 < value1 ? -1 : 0);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdx
movq -0x18(%rbp), %rsi
xorl %eax, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpq %rsi, %rdx
cmovll %ecx, %eax
movslq %eax, %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 0xab4b
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0xab53
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0xab53
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_f_dup
void af_prim_f_dup(af_task_t* task) {
  af_float_t value;
  AF_VERIFY_FLOAT_STACK_READ(task, 1);
  AF_VERIFY_FLOAT_STACK_EXPAND(task, 1);
  value = *task->float_stack_current;
  *(--task->float_stack_current) = value;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x10(%rbp)
movsd -0x10(%rbp), %xmm0
movq -0x8(%rbp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x68(%rcx)
movsd %xmm0, -0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xb16b
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0xb173
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0xb173
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_f_swap
void af_prim_f_swap(af_task_t* task) {
  af_float_t value;
  AF_VERIFY_FLOAT_STACK_READ(task, 2);
  value = *task->float_stack_current;
  *task->float_stack_current = *(task->float_stack_current + 1);
  *(task->float_stack_current + 1) = value;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd 0x8(%rax), %xmm0
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd %xmm0, (%rax)
movsd -0x10(%rbp), %xmm0
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd %xmm0, 0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xb259
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0xb261
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0xb261
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_f_over
void af_prim_f_over(af_task_t* task) {
  af_float_t value;
  AF_VERIFY_FLOAT_STACK_READ(task, 2);
  AF_VERIFY_FLOAT_STACK_EXPAND(task, 1);
  value = *(task->float_stack_current + 1);
  *(--task->float_stack_current) = value;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd 0x8(%rax), %xmm0
movsd %xmm0, -0x10(%rbp)
movsd -0x10(%rbp), %xmm0
movq -0x8(%rbp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x68(%rcx)
movsd %xmm0, -0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xb2cc
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0xb2d4
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0xb2d4
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_f_rot
void af_prim_f_rot(af_task_t* task) {
  af_float_t value;
  AF_VERIFY_FLOAT_STACK_READ(task, 3);
  value = *(task->float_stack_current + 2);
  *(task->float_stack_current + 2) = *(task->float_stack_current + 1);
  *(task->float_stack_current + 1) = *task->float_stack_current;
  *task->float_stack_current = value;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd 0x10(%rax), %xmm0
movsd %xmm0, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd 0x8(%rax), %xmm0
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd %xmm0, 0x10(%rax)
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd (%rax), %xmm0
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd %xmm0, 0x8(%rax)
movsd -0x10(%rbp), %xmm0
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd %xmm0, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xb373
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0xb37b
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0xb37b
movq -0x20(%rbp), %rcx
movq -0x18(%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_f_pick
void af_prim_f_pick(af_task_t* task) {
  af_cell_t index;
  af_float_t value;
  AF_VERIFY_DATA_STACK_READ(task, 1);
  index = *task->data_stack_current++;
  AF_VERIFY_FLOAT_STACK_READ(task, index + 1);
  value = *(task->float_stack_current + index);
  *(--task->float_stack_current) = value;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rcx
movq 0x60(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x60(%rcx)
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movq -0x10(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x18(%rbp)
movsd -0x18(%rbp), %xmm0
movq -0x8(%rbp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x68(%rcx)
movsd %xmm0, -0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xb40a
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0xb412
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0xb412
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_f_roll
void af_prim_f_roll(af_task_t* task) {
  af_cell_t index;
  af_float_t value;
  AF_VERIFY_DATA_STACK_READ(task, 1);
  index = *task->data_stack_current++;
  AF_VERIFY_FLOAT_STACK_READ(task, index + 1);
  value = *(task->float_stack_current + index);
  while(index > 0) {
    *(task->float_stack_current + index) =
      *(task->float_stack_current + (index - 1));
    index--;
  }
  *task->float_stack_current = value;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rcx
movq 0x60(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x60(%rcx)
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movq -0x10(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd %xmm0, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jbe 0xb493
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movq -0x10(%rbp), %rcx
subq $0x1, %rcx
movsd (%rax,%rcx,8), %xmm0
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movq -0x10(%rbp), %rcx
movsd %xmm0, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0xb458
movsd -0x18(%rbp), %xmm0
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd %xmm0, (%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xb4c9
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0xb4d1
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0xb4d1
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_s_to_f
void af_prim_s_to_f(af_task_t* task) {
  AF_VERIFY_DATA_STACK_READ(task, 1);
  AF_VERIFY_FLOAT_STACK_EXPAND(task, 1);
  *(--task->float_stack_current) = (af_float_t)(*task->data_stack_current++);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rcx
movq 0x60(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x60(%rcx)
movq (%rax), %xmm0
movaps 0xec6a(%rip), %xmm1     # 0x1a170
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0xec6e(%rip), %xmm1     # 0x1a180
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movq -0x8(%rbp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x68(%rcx)
movsd %xmm0, -0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xb55e
movq -0x10(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
jmp 0xb566
xorl %eax, %eax
movq %rax, -0x18(%rbp)
jmp 0xb566
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_d_to_f
void af_prim_d_to_f(af_task_t* task) {
  af_sign_2cell_t value;
  AF_VERIFY_DATA_STACK_READ(task, 2);
  AF_VERIFY_FLOAT_STACK_EXPAND(task, 1);
  AF_LOAD_SIGN_2CELL(task, 0, value);
  task->data_stack_current += 2;
  *(--task->float_stack_current) = (af_float_t)value;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movq $0x0, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x40(%rbp)
movq $0x0, -0x38(%rbp)
movq -0x28(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x30(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movq -0x50(%rbp), %rcx
movq -0x48(%rbp), %rax
movq -0x40(%rbp), %rdx
orq %rdx, %rax
movq %rcx, -0x20(%rbp)
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
addq $0x10, %rcx
movq %rcx, 0x60(%rax)
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x19850
movq -0x8(%rbp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x68(%rcx)
movsd %xmm0, -0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xb646
movq -0x58(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x60(%rbp)
jmp 0xb64e
xorl %eax, %eax
movq %rax, -0x60(%rbp)
jmp 0xb64e
movq -0x60(%rbp), %rcx
movq -0x58(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x60, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_f_to_s
void af_prim_f_to_s(af_task_t* task) {
  af_float_t value;
  AF_VERIFY_DATA_STACK_EXPAND(task, 1);
  AF_VERIFY_FLOAT_STACK_READ(task, 1);
  value = *task->float_stack_current++;
  if(value > 0.0) {
    value = floor(value);
  } else if(value < 0.0) {
    value = ceil(value);
  }
  *(--task->data_stack_current) = (af_cell_t)value;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x68(%rcx)
movsd (%rax), %xmm0
movsd %xmm0, -0x10(%rbp)
movsd -0x10(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0xb6a7
movsd -0x10(%rbp), %xmm0
callq 0x22a0
movsd %xmm0, -0x10(%rbp)
jmp 0xb6c2
xorps %xmm0, %xmm0
ucomisd -0x10(%rbp), %xmm0
jbe 0xb6c0
movsd -0x10(%rbp), %xmm0
callq 0x22b0
movsd %xmm0, -0x10(%rbp)
jmp 0xb6c2
movsd -0x10(%rbp), %xmm0
movsd 0xeac1(%rip), %xmm2     # 0x1a190
movaps %xmm0, %xmm1
subsd %xmm2, %xmm1
cvttsd2si %xmm1, %rax
cvttsd2si %xmm0, %rcx
movq %rcx, %rdx
sarq $0x3f, %rdx
andq %rdx, %rax
orq %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 0xb729
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x20(%rbp)
jmp 0xb731
xorl %eax, %eax
movq %rax, -0x20(%rbp)
jmp 0xb731
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_f_to_d
void af_prim_f_to_d(af_task_t* task) {
  af_float_t value;
  AF_VERIFY_DATA_STACK_EXPAND(task, 2);
  AF_VERIFY_FLOAT_STACK_READ(task, 1);
  value = *task->float_stack_current++;
  if(value > 0.0) {
    value = floor(value);
  } else if(value < 0.0) {
    value = ceil(value);
  }
  task->data_stack_current -= 2;
  AF_STORE_2CELL(task, 0, (af_sign_2cell_t)value);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x68(%rcx)
movsd (%rax), %xmm0
movsd %xmm0, -0x10(%rbp)
movsd -0x10(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0xb797
movsd -0x10(%rbp), %xmm0
callq 0x22a0
movsd %xmm0, -0x10(%rbp)
jmp 0xb7b2
xorps %xmm0, %xmm0
ucomisd -0x10(%rbp), %xmm0
jbe 0xb7b0
movsd -0x10(%rbp), %xmm0
callq 0x22b0
movsd %xmm0, -0x10(%rbp)
jmp 0xb7b2
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
addq $-0x10, %rcx
movq %rcx, 0x60(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
movsd -0x10(%rbp), %xmm0
callq 0x19770
movq %rdx, -0x28(%rbp)
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdx
movq -0x18(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x20(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x30(%rbp), %rdx
movq -0x18(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x20(%rbp), %rcx
movq %rdx, 0x8(%rax,%rcx,8)
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xb832
movq -0x38(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x40(%rbp)
jmp 0xb83a
xorl %eax, %eax
movq %rax, -0x40(%rbp)
jmp 0xb83a
movq -0x40(%rbp), %rcx
movq -0x38(%rbp), %rax
movq %rcx, 0x58(%rax)
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_f_add
void af_prim_f_add(af_task_t* task) {
  af_float_t value0;
  af_float_t value1;
  AF_VERIFY_FLOAT_STACK_READ(task, 2);
  value0 = *(task->float_stack_current + 1);
  value1 = *task->float_stack_current;
  *(++task->float_stack_current) = value0 + value1;
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd 0x8(%rax), %xmm0
movsd %xmm0, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x18(%rbp)
movsd -0x10(%rbp), %xmm0
addsd -0x18(%rbp), %xmm0
movq -0x8(%rbp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x68(%rcx)
movsd %xmm0, 0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xb8c2
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0xb8ca
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0xb8ca
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_f_mod
void af_prim_f_mod(af_task_t* task) {
  af_float_t value0;
  af_float_t value1;
  AF_VERIFY_FLOAT_STACK_READ(task, 2);
  value0 = *(task->float_stack_current + 1);
  value1 = *task->float_stack_current;
  *(++task->float_stack_current) = fmod(value0, value1);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd 0x8(%rax), %xmm0
movsd %xmm0, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x18(%rbp)
movsd -0x10(%rbp), %xmm0
movsd -0x18(%rbp), %xmm1
callq 0x2180
movq -0x8(%rbp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x68(%rcx)
movsd %xmm0, 0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xbb0b
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0xbb13
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0xbb13
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_f_pow
void af_prim_f_pow(af_task_t* task) {
  af_float_t value0;
  af_float_t value1;
  AF_VERIFY_FLOAT_STACK_READ(task, 2);
  value0 = *(task->float_stack_current + 1);
  value1 = *task->float_stack_current;
  *(++task->float_stack_current) = pow(value0, value1);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd 0x8(%rax), %xmm0
movsd %xmm0, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x68(%rax), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x18(%rbp)
movsd -0x10(%rbp), %xmm0
movsd -0x18(%rbp), %xmm1
callq 0x2100
movq -0x8(%rbp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x68(%rcx)
movsd %xmm0, 0x8(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xbbab
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0xbbb3
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0xbbb3
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_f_lt
void af_prim_f_lt(af_task_t* task) {
  af_float_t value0;
  af_float_t value1;
  AF_VERIFY_FLOAT_STACK_READ(task, 2);
  AF_VERIFY_DATA_STACK_EXPAND(task, 1);
  value1 = *task->float_stack_current++;
  value0 = *task->float_stack_current++;
  *(--task->data_stack_current) = (af_cell_t)(value0 < value1 ? -1 : 0);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x68(%rcx)
movsd (%rax), %xmm0
movsd %xmm0, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x68(%rcx)
movsd (%rax), %xmm0
movsd %xmm0, -0x10(%rbp)
movsd -0x10(%rbp), %xmm1
movsd -0x18(%rbp), %xmm0
xorl %eax, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
ucomisd %xmm1, %xmm0
cmoval %ecx, %eax
movslq %eax, %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 0xbc67
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0xbc6f
xorl %eax, %eax
movq %rax, -0x28(%rbp)
jmp 0xbc6f
movq -0x28(%rbp), %rcx
movq -0x20(%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_f_lte
void af_prim_f_lte(af_task_t* task) {
  af_float_t value0;
  af_float_t value1;
  AF_VERIFY_FLOAT_STACK_READ(task, 2);
  AF_VERIFY_DATA_STACK_EXPAND(task, 1);
  value1 = *task->float_stack_current++;
  value0 = *task->float_stack_current++;
  *(--task->data_stack_current) = (af_cell_t)(value0 <= value1 ? -1 : 0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x68(%rcx)
movsd (%rax), %xmm0
movsd %xmm0, -0x18(%rbp)
movq -0x8(%rbp), %rcx
movq 0x68(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x68(%rcx)
movsd (%rax), %xmm0
movsd %xmm0, -0x10(%rbp)
movsd -0x10(%rbp), %xmm1
movsd -0x18(%rbp), %xmm0
xorl %eax, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
ucomisd %xmm1, %xmm0
cmovael %ecx, %eax
movslq %eax, %rcx
movq -0x8(%rbp), %rdx
movq 0x60(%rdx), %rax
movq %rax, %rsi
addq $-0x8, %rsi
movq %rsi, 0x60(%rdx)
movq %rcx, -0x8(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_d_add
void af_prim_d_add(af_task_t* task) {
  af_sign_2cell_t value0;
  af_sign_2cell_t value1;
  AF_VERIFY_DATA_STACK_READ(task, 4);
  AF_LOAD_SIGN_2CELL(task, 2, value0);
  AF_LOAD_SIGN_2CELL(task, 0, value1);
  task->data_stack_current += 2;
  AF_STORE_2CELL(task, 0, value0 + value1);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq $0x2, -0x40(%rbp)
movq -0x38(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x40(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movq -0x38(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x40(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x60(%rbp)
movq $0x0, -0x58(%rbp)
movq -0x60(%rbp), %rcx
movq -0x58(%rbp), %rax
movq -0x50(%rbp), %rdx
orq %rdx, %rax
movq %rcx, -0x20(%rbp)
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x68(%rbp)
movq $0x0, -0x70(%rbp)
movq -0x68(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x70(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x80(%rbp)
movq $0x0, -0x78(%rbp)
movq -0x68(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x70(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x90(%rbp)
movq $0x0, -0x88(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
movq -0x80(%rbp), %rdx
orq %rdx, %rax
movq %rcx, -0x30(%rbp)
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
addq $0x10, %rcx
movq %rcx, 0x60(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x98(%rbp)
movq $0x0, -0xa0(%rbp)
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rsi
movq -0x28(%rbp), %rdx
addq %rsi, %rcx
adcq %rdx, %rax
movq %rcx, -0xb0(%rbp)
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rdx
movq -0x98(%rbp), %rax
movq 0x60(%rax), %rax
movq -0xa0(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0xb0(%rbp), %rdx
movq -0x98(%rbp), %rax
movq 0x60(%rax), %rax
movq -0xa0(%rbp), %rcx
movq %rdx, 0x8(%rax,%rcx,8)
movq -0x8(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0xb8(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xc16e
movq -0xb8(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0xc0(%rbp)
jmp 0xc179
xorl %eax, %eax
movq %rax, -0xc0(%rbp)
jmp 0xc179
movq -0xc0(%rbp), %rcx
movq -0xb8(%rbp), %rax
movq %rcx, 0x58(%rax)
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_d_div
void af_prim_d_div(af_task_t* task) {
  af_global_t* global = task->global;
  af_sign_2cell_t value0;
  af_sign_2cell_t value1;
  AF_VERIFY_DATA_STACK_READ(task, 4);
  AF_LOAD_SIGN_2CELL(task, 2, value0);
  AF_LOAD_SIGN_2CELL(task, 0, value1);
  if(value1 == 0) {
    af_handle_divide_by_zero(global, task);
    return;
  }
  task->data_stack_current += 2;
  AF_STORE_2CELL(task, 0, value0 / value1);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq $0x2, -0x40(%rbp)
movq -0x38(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x40(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movq -0x38(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x40(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x60(%rbp)
movq $0x0, -0x58(%rbp)
movq -0x60(%rbp), %rcx
movq -0x58(%rbp), %rax
movq -0x50(%rbp), %rdx
orq %rdx, %rax
movq %rcx, -0x20(%rbp)
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x68(%rbp)
movq $0x0, -0x70(%rbp)
movq -0x68(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x70(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x80(%rbp)
movq $0x0, -0x78(%rbp)
movq -0x68(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x70(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x90(%rbp)
movq $0x0, -0x88(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
movq -0x80(%rbp), %rdx
orq %rdx, %rax
movq %rcx, -0x30(%rbp)
movq %rax, -0x28(%rbp)
movq -0x30(%rbp), %rax
movq -0x28(%rbp), %rcx
orq %rcx, %rax
jne 0xc647
jmp 0xc635
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x4520
jmp 0xc719
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
addq $0x10, %rcx
movq %rcx, 0x60(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x98(%rbp)
movq $0x0, -0xa0(%rbp)
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x30(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x19980
movq %rdx, -0xa8(%rbp)
movq %rax, -0xb0(%rbp)
movq -0xa8(%rbp), %rdx
movq -0x98(%rbp), %rax
movq 0x60(%rax), %rax
movq -0xa0(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0xb0(%rbp), %rdx
movq -0x98(%rbp), %rax
movq 0x60(%rax), %rax
movq -0xa0(%rbp), %rcx
movq %rdx, 0x8(%rax,%rcx,8)
movq -0x8(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0xb8(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xc6fc
movq -0xb8(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0xc0(%rbp)
jmp 0xc707
xorl %eax, %eax
movq %rax, -0xc0(%rbp)
jmp 0xc707
movq -0xc0(%rbp), %rcx
movq -0xb8(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0xc0, %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_d_u_div
void af_prim_d_u_div(af_task_t* task) {
  af_global_t* global = task->global;
  af_2cell_t value0;
  af_2cell_t value1;
  AF_VERIFY_DATA_STACK_READ(task, 4);
  AF_LOAD_2CELL(task, 2, value0);
  AF_LOAD_2CELL(task, 0, value1);
  if(value1 == 0) {
    af_handle_divide_by_zero(global, task);
    return;
  }
  task->data_stack_current += 2;
  AF_STORE_2CELL(task, 0, value0 / value1);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq $0x2, -0x40(%rbp)
movq -0x38(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x40(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movq -0x38(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x40(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x60(%rbp)
movq $0x0, -0x58(%rbp)
movq -0x60(%rbp), %rcx
movq -0x58(%rbp), %rax
movq -0x50(%rbp), %rdx
orq %rdx, %rax
movq %rcx, -0x20(%rbp)
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x68(%rbp)
movq $0x0, -0x70(%rbp)
movq -0x68(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x70(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x80(%rbp)
movq $0x0, -0x78(%rbp)
movq -0x68(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x70(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x90(%rbp)
movq $0x0, -0x88(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
movq -0x80(%rbp), %rdx
orq %rdx, %rax
movq %rcx, -0x30(%rbp)
movq %rax, -0x28(%rbp)
movq -0x30(%rbp), %rax
movq -0x28(%rbp), %rcx
orq %rcx, %rax
jne 0xca27
jmp 0xca15
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
callq 0x4520
jmp 0xcaf9
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
addq $0x10, %rcx
movq %rcx, 0x60(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x98(%rbp)
movq $0x0, -0xa0(%rbp)
movq -0x20(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x30(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x19c90
movq %rdx, -0xa8(%rbp)
movq %rax, -0xb0(%rbp)
movq -0xa8(%rbp), %rdx
movq -0x98(%rbp), %rax
movq 0x60(%rax), %rax
movq -0xa0(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0xb0(%rbp), %rdx
movq -0x98(%rbp), %rax
movq 0x60(%rax), %rax
movq -0xa0(%rbp), %rcx
movq %rdx, 0x8(%rax,%rcx,8)
movq -0x8(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0xb8(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xcadc
movq -0xb8(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0xc0(%rbp)
jmp 0xcae7
xorl %eax, %eax
movq %rax, -0xc0(%rbp)
jmp 0xcae7
movq -0xc0(%rbp), %rcx
movq -0xb8(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0xc0, %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_d_invert
void af_prim_d_invert(af_task_t* task) {
  af_2cell_t value;
  AF_VERIFY_DATA_STACK_READ(task, 2);
  AF_LOAD_2CELL(task, 0, value);
  AF_STORE_2CELL(task, 0, ~value);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movq $0x0, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x40(%rbp)
movq $0x0, -0x38(%rbp)
movq -0x28(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x30(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movq -0x50(%rbp), %rcx
movq -0x48(%rbp), %rax
movq -0x40(%rbp), %rdx
orq %rdx, %rax
movq %rcx, -0x20(%rbp)
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
movq $0x0, -0x60(%rbp)
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
notq %rax
notq %rcx
movq %rcx, -0x68(%rbp)
movq %rax, -0x70(%rbp)
movq -0x68(%rbp), %rdx
movq -0x58(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x60(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x70(%rbp), %rdx
movq -0x58(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x60(%rbp), %rcx
movq %rdx, 0x8(%rax,%rcx,8)
movq -0x8(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xcddc
movq -0x78(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0x80(%rbp)
jmp 0xcde4
xorl %eax, %eax
movq %rax, -0x80(%rbp)
jmp 0xcde4
movq -0x80(%rbp), %rcx
movq -0x78(%rbp), %rax
movq %rcx, 0x58(%rax)
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/tabemann[P]attoforth/src/runtime/prim.c
// Function: af_prim_d_and
void af_prim_d_and(af_task_t* task) {
  af_2cell_t value0;
  af_2cell_t value1;
  AF_VERIFY_DATA_STACK_READ(task, 4);
  AF_LOAD_2CELL(task, 2, value0);
  AF_LOAD_2CELL(task, 0, value1);
  task->data_stack_current += 2;
  AF_STORE_2CELL(task, 0, value0 & value1);
  AF_ADVANCE_IP(task, 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq $0x2, -0x40(%rbp)
movq -0x38(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x40(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movq -0x38(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x40(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x60(%rbp)
movq $0x0, -0x58(%rbp)
movq -0x60(%rbp), %rcx
movq -0x58(%rbp), %rax
movq -0x50(%rbp), %rdx
orq %rdx, %rax
movq %rcx, -0x20(%rbp)
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x68(%rbp)
movq $0x0, -0x70(%rbp)
movq -0x68(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x70(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x80(%rbp)
movq $0x0, -0x78(%rbp)
movq -0x68(%rbp), %rax
movq 0x60(%rax), %rax
movq -0x70(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x90(%rbp)
movq $0x0, -0x88(%rbp)
movq -0x90(%rbp), %rcx
movq -0x88(%rbp), %rax
movq -0x80(%rbp), %rdx
orq %rdx, %rax
movq %rcx, -0x30(%rbp)
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq 0x60(%rax), %rcx
addq $0x10, %rcx
movq %rcx, 0x60(%rax)
movq -0x8(%rbp), %rax
movq %rax, -0x98(%rbp)
movq $0x0, -0xa0(%rbp)
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
movq -0x30(%rbp), %rsi
movq -0x28(%rbp), %rdx
andq %rsi, %rax
andq %rdx, %rcx
movq %rcx, -0xa8(%rbp)
movq %rax, -0xb0(%rbp)
movq -0xa8(%rbp), %rdx
movq -0x98(%rbp), %rax
movq 0x60(%rax), %rax
movq -0xa0(%rbp), %rcx
movq %rdx, (%rax,%rcx,8)
movq -0xb0(%rbp), %rdx
movq -0x98(%rbp), %rax
movq 0x60(%rax), %rax
movq -0xa0(%rbp), %rcx
movq %rdx, 0x8(%rax,%rcx,8)
movq -0x8(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0xb8(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0xcf8e
movq -0xb8(%rbp), %rax
movq 0x58(%rax), %rax
addq $0x8, %rax
movq %rax, -0xc0(%rbp)
jmp 0xcf99
xorl %eax, %eax
movq %rax, -0xc0(%rbp)
jmp 0xcf99
movq -0xc0(%rbp), %rcx
movq -0xb8(%rbp), %rax
movq %rcx, 0x58(%rax)
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)