LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_recall()
void rpn_recall()
{
int i;
int sign;

   // push memory location onto stack
   sign = msg_field[3];
   i = 0;
   if(isdigit(sign)) i = atoi(&msg_field[3]);
   else if(sign) i = atoi(&msg_field[4]);
   if(i < 0) i = 0 - i;

   sprintf(out, "Memory index out of range 0..%d", RPN_MEM);
   if(i >= RPN_MEM) rpn_error(out);
   else if(sign == '+') rpn_push(rpn[0]+rpn_mem[i]);
   else if(sign == '-') rpn_push(rpn[0]-rpn_mem[i]);
   else if(sign == '*') rpn_push(rpn[0]*rpn_mem[i]);
   else if(sign == '/') rpn_push(rpn[0]/rpn_mem[i]);
   else if(sign == '@') {  // indirect
      i = (int) rpn_mem[i];
      i = i % RPN_MEM;
      rpn_push(rpn_mem[i]);
   }
   else rpn_push(rpn_mem[i]);
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
leaq 0x31a493(%rip), %rdi    # 0x33ba40
movsbl 0x3(%rdi), %eax
movzbl %al, %ebx
addl $-0x30, %eax
cmpl $0xa, %eax
jae 0x215c2
addq $0x3, %rdi
jmp 0x215ca
testl %ebx, %ebx
je 0x2163e
addq $0x4, %rdi
callq 0x95e0
movl %eax, %r14d
negl %r14d
cmovsl %eax, %r14d
leaq 0x31ac40(%rip), %rdi    # 0x33c220
leaq 0xebed9(%rip), %rsi     # 0x10d4c0
movl $0x64, %edx
xorl %eax, %eax
callq 0x9060
cmpl $0x64, %r14d
jb 0x2160a
leaq 0x31ac20(%rip), %rdi    # 0x33c220
callq 0x20e91
jmp 0x216d4
leal -0x2a(%rbx), %eax
cmpl $0x5, %eax
ja 0x21642
leaq 0xea53f(%rip), %rcx     # 0x10bb58
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movsd 0x321346(%rip), %xmm0   # 0x342970
movl %r14d, %eax
leaq 0x3213cc(%rip), %rcx    # 0x342a00
mulsd (%rcx,%rax,8), %xmm0
jmp 0x216cf
xorl %eax, %eax
jmp 0x215cf
cmpl $0x40, %ebx
jne 0x21675
movl %r14d, %eax
leaq 0x3213af(%rip), %rcx    # 0x342a00
cvttsd2si (%rcx,%rax,8), %eax
cltq
imulq $0x51eb851f, %rax, %rdx # imm = 0x51EB851F
movq %rdx, %rsi
shrq $0x3f, %rsi
sarq $0x25, %rdx
addl %esi, %edx
imull $0x64, %edx, %edx
subl %edx, %eax
cltq
jmp 0x2167f
movl %r14d, %eax
leaq 0x321381(%rip), %rcx    # 0x342a00
movsd (%rcx,%rax,8), %xmm0
jmp 0x216cf
movsd 0x3212e2(%rip), %xmm0   # 0x342970
movl %r14d, %eax
leaq 0x321368(%rip), %rcx    # 0x342a00
subsd (%rcx,%rax,8), %xmm0
jmp 0x216cf
movsd 0x3212c9(%rip), %xmm0   # 0x342970
movl %r14d, %eax
leaq 0x32134f(%rip), %rcx    # 0x342a00
divsd (%rcx,%rax,8), %xmm0
jmp 0x216cf
movsd 0x3212b0(%rip), %xmm0   # 0x342970
movl %r14d, %eax
leaq 0x321336(%rip), %rcx    # 0x342a00
addsd (%rcx,%rax,8), %xmm0
callq 0x21298
movl $0x0, 0x321652(%rip)    # 0x342d30
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_max()
void rpn_max()
{
double last;
double x0,y0;
double val;

   // maximum of x and y

   last = rpn[0];

   x0 = rpn_top();
   y0 = rpn_top();
   if(x0 > y0) val = x0;
   else        val = y0;
   rpn_push(val);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x18, %rsp
movsd 0x32127c(%rip), %xmm0   # 0x342970
movl $0x0, 0x321632(%rip)    # 0x342d30
movsd %xmm0, 0x321632(%rip)   # 0x342d38
movsd %xmm0, -0x10(%rbp)
movsd %xmm0, 0x321615(%rip)   # 0x342d28
movl 0x148937(%rip), %ebx    # 0x16a050
cmpl $0x2, %ebx
jl 0x21738
leal -0x1(%rbx), %edx
shlq $0x3, %rdx
leaq 0x321244(%rip), %rdi    # 0x342970
leaq 0x321245(%rip), %rsi    # 0x342978
callq 0x9650
movl $0x0, 0x3215ee(%rip)    # 0x342d30
movsd 0x321226(%rip), %xmm1   # 0x342970
movsd %xmm1, 0x3215e6(%rip)   # 0x342d38
movsd %xmm1, 0x3215ce(%rip)   # 0x342d28
cmpl $0x2, %ebx
jl 0x21785
decl %ebx
shlq $0x3, %rbx
leaq 0x321204(%rip), %rdi    # 0x342970
leaq 0x321205(%rip), %rsi    # 0x342978
movq %rbx, %rdx
movsd %xmm1, -0x18(%rbp)
callq 0x9650
movsd -0x18(%rbp), %xmm1
movsd -0x10(%rbp), %xmm0
maxsd %xmm1, %xmm0
callq 0x21298
movsd -0x10(%rbp), %xmm0
movsd %xmm0, 0x321588(%rip)   # 0x342d28
movl $0x0, 0x321586(%rip)    # 0x342d30
addq $0x18, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_min()
void rpn_min()
{
double last;
double x0,y0;
double val;

   // minimum of x and y

   last = rpn[0];

   x0 = rpn_top();
   y0 = rpn_top();
   if(x0 < y0) val = x0;
   else        val = y0;
   rpn_push(val);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x18, %rsp
movsd 0x3211ae(%rip), %xmm0   # 0x342970
movl $0x0, 0x321564(%rip)    # 0x342d30
movsd %xmm0, 0x321564(%rip)   # 0x342d38
movsd %xmm0, -0x10(%rbp)
movsd %xmm0, 0x321547(%rip)   # 0x342d28
movl 0x148869(%rip), %ebx    # 0x16a050
cmpl $0x2, %ebx
jl 0x21806
leal -0x1(%rbx), %edx
shlq $0x3, %rdx
leaq 0x321176(%rip), %rdi    # 0x342970
leaq 0x321177(%rip), %rsi    # 0x342978
callq 0x9650
movl $0x0, 0x321520(%rip)    # 0x342d30
movsd 0x321158(%rip), %xmm1   # 0x342970
movsd %xmm1, 0x321518(%rip)   # 0x342d38
movsd %xmm1, 0x321500(%rip)   # 0x342d28
cmpl $0x2, %ebx
jl 0x21853
decl %ebx
shlq $0x3, %rbx
leaq 0x321136(%rip), %rdi    # 0x342970
leaq 0x321137(%rip), %rsi    # 0x342978
movq %rbx, %rdx
movsd %xmm1, -0x18(%rbp)
callq 0x9650
movsd -0x18(%rbp), %xmm1
movsd -0x10(%rbp), %xmm0
minsd %xmm1, %xmm0
callq 0x21298
movsd -0x10(%rbp), %xmm0
movsd %xmm0, 0x3214ba(%rip)   # 0x342d28
movl $0x0, 0x3214b8(%rip)    # 0x342d30
addq $0x18, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_rtop()
void rpn_rtop()
{
double x, y;

   // rectangular to polar

   last_x = rpn[0];
   x = rpn[0];
   y = rpn[1];
   rpn[0] = sqrt(x*x + y*y);
   rpn[1] = atan2(y,x) * deg_mode;
   last_rpn0 = rpn[0];
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movsd 0x3210e1(%rip), %xmm1   # 0x342970
movsd %xmm1, 0x321491(%rip)   # 0x342d28
movsd 0x3210d9(%rip), %xmm3   # 0x342978
movapd %xmm3, %xmm2
mulsd %xmm3, %xmm2
movapd %xmm1, %xmm0
mulsd %xmm1, %xmm0
addsd %xmm2, %xmm0
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm0
jb 0x218c3
sqrtsd %xmm0, %xmm0
jmp 0x218dc
movsd %xmm1, -0x10(%rbp)
movsd %xmm3, -0x8(%rbp)
callq 0x9270
movsd -0x8(%rbp), %xmm3
movsd -0x10(%rbp), %xmm1
movsd %xmm0, 0x32108c(%rip)   # 0x342970
movapd %xmm3, %xmm0
callq 0x9050
mulsd 0x148763(%rip), %xmm0   # 0x16a058
movsd %xmm0, 0x32107b(%rip)   # 0x342978
movsd 0x32106b(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x32142b(%rip)   # 0x342d38
movl $0x0, 0x321419(%rip)    # 0x342d30
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_ptor()
void rpn_ptor()
{
double r, theta;

   // polar to rectangular

   last_x = rpn[0];
   r = rpn[0];
   theta = rpn[1];
   rpn[0] = r * cos(theta/deg_mode);
   rpn[1] = r * sin(theta/deg_mode);
   last_rpn0 = rpn[0];
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movsd 0x321043(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x8(%rbp)
movsd %xmm0, 0x3213ee(%rip)   # 0x342d28
movsd 0x321036(%rip), %xmm0   # 0x342978
movsd %xmm0, -0x10(%rbp)
divsd 0x148709(%rip), %xmm0   # 0x16a058
callq 0x9710
mulsd -0x8(%rbp), %xmm0
movsd %xmm0, 0x32100f(%rip)   # 0x342970
movsd -0x10(%rbp), %xmm0
divsd 0x1486ea(%rip), %xmm0   # 0x16a058
callq 0x9080
mulsd -0x8(%rbp), %xmm0
movsd %xmm0, 0x320ff8(%rip)   # 0x342978
movsd 0x320fe8(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x3213a8(%rip)   # 0x342d38
movl $0x0, 0x321396(%rip)    # 0x342d30
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_rn()
void rpn_rn()
{
double temp, ohms;
double val;

   // resistor noise (in nV/sqrt(Hz))
   ohms = rpn_top();
   temp = rpn[0] - ABS_ZERO;

   val = sqrt(4.0 * KB * temp * ohms);
   rpn_set(val*1.0E9);

   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x0, 0x32137e(%rip)    # 0x342d30
movsd 0x320fb6(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x321376(%rip)   # 0x342d38
movsd %xmm0, 0x32135e(%rip)   # 0x342d28
movl 0x148680(%rip), %edx    # 0x16a050
cmpl $0x2, %edx
jl 0x219f8
decl %edx
shlq $0x3, %rdx
leaq 0x320f8e(%rip), %rdi    # 0x342970
leaq 0x320f8f(%rip), %rsi    # 0x342978
movsd %xmm0, -0x8(%rbp)
callq 0x9650
movsd -0x8(%rbp), %xmm0
movsd 0x320f70(%rip), %xmm1   # 0x342970
addsd 0xe9e00(%rip), %xmm1    # 0x10b808
mulsd 0xe9e00(%rip), %xmm1    # 0x10b810
mulsd %xmm1, %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x21a24
sqrtsd %xmm0, %xmm0
jmp 0x21a29
callq 0x9270
mulsd 0xe75f7(%rip), %xmm0    # 0x109028
movsd %xmm0, 0x3212ff(%rip)   # 0x342d38
movsd %xmm0, 0x320f2f(%rip)   # 0x342970
movl $0x0, 0x3212e5(%rip)    # 0x342d30
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_az(int)
void rpn_az(int i)
{
double val;

   // push sat azimuth

   if(i == 0) {
      i = highest_sat();
      if(isdigit(msg_field[2])) {
         i = atoi(&msg_field[2]);
      }
   }
   if(i < 0) i = 0 - i;

   sprintf(out, "PRN out of range 0..%d", SUN_MOON_PRN);
   if(i > SUN_MOON_PRN) rpn_error(out);
   else if(NO_SATS || (sat[i].level_msg == 0)) {
      rpn_error("Satellite info not available");
   }
   else {
      val = sat[i].azimuth;
      if(deg_mode == 1.0) val = val * PI / 180.0;
      rpn_push(val);
   }
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
testl %edi, %edi
jne 0x21a83
callq 0xaddb5
movl %eax, %edi
leaq 0x319fd7(%rip), %rax    # 0x33ba40
movsbl 0x2(%rax), %ecx
addl $-0x30, %ecx
cmpl $0x9, %ecx
ja 0x21a83
addq $0x2, %rax
movq %rax, %rdi
callq 0x95e0
movl %eax, %edi
movl %edi, %ebx
negl %ebx
cmovsl %edi, %ebx
leaq 0x31a78f(%rip), %rdi    # 0x33c220
leaq 0xeba48(%rip), %rsi     # 0x10d4e0
movl $0x3e9, %edx            # imm = 0x3E9
xorl %eax, %eax
callq 0x9060
cmpl $0x3ea, %ebx            # imm = 0x3EA
jb 0x21ab8
leaq 0x31a76d(%rip), %rdi    # 0x33c220
jmp 0x21b66
leaq 0x1f6e11(%rip), %rax    # 0x2188d0
movq (%rax), %rax
movabsq $0x105b8b0400, %rcx     # imm = 0x105B8B0400
testq %rcx, %rax
jne 0x21b5f
leaq 0x1f94f4(%rip), %rcx    # 0x21afd0
cmpl $0x0, (%rcx)
je 0x21aed
leaq 0x2eb8dc(%rip), %rcx    # 0x30d3c4
cmpl $0x0, (%rcx)
je 0x21b5f
cmpq $0x400000, %rax         # imm = 0x400000
jne 0x21b01
leaq 0x2ebeb8(%rip), %rax    # 0x30d9b4
cmpl $0x0, (%rax)
je 0x21b5f
movl %ebx, %eax
imulq $0x348, %rax, %rcx      # imm = 0x348
leaq 0x21d49f(%rip), %rax    # 0x23efb0
cmpl $0x0, 0x1c(%rax,%rcx)
je 0x21b5f
addq %rcx, %rax
cvtss2sd 0x208(%rax), %xmm1
movsd 0xe9ced(%rip), %xmm2    # 0x10b818
mulsd %xmm1, %xmm2
divsd 0xe9ce9(%rip), %xmm2    # 0x10b820
movsd 0xe7531(%rip), %xmm0    # 0x109070
cmpeqsd 0x148510(%rip), %xmm0   # 0x16a058
movapd %xmm0, %xmm3
andnpd %xmm1, %xmm3
andpd %xmm2, %xmm0
orpd %xmm3, %xmm0
callq 0x21298
jmp 0x21b6b
leaq 0xeb991(%rip), %rdi     # 0x10d4f7
callq 0x20e91
movl $0x0, 0x3211bb(%rip)    # 0x342d30
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_el(int)
void rpn_el(int i)
{
double val;

   // push sat elevation

   if(i == 0) {
      i = highest_sat();
      if(isdigit(msg_field[2])) {
         i = atoi(&msg_field[2]);
      }
   }
   if(i < 0) i = 0 - i;

   sprintf(out, "PRN out of range 0..%d", SUN_MOON_PRN);
   if(i > SUN_MOON_PRN) rpn_error(out);
   else if(NO_SATS || (sat[i].level_msg == 0)) {
      rpn_error("Satellite info not available");
   }
   else {
      val = sat[i].elevation;
      if(deg_mode == 1.0) val = val * PI / 180.0;
      rpn_push(val);
   }
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
testl %edi, %edi
jne 0x21bae
callq 0xaddb5
movl %eax, %edi
leaq 0x319eac(%rip), %rax    # 0x33ba40
movsbl 0x2(%rax), %ecx
addl $-0x30, %ecx
cmpl $0x9, %ecx
ja 0x21bae
addq $0x2, %rax
movq %rax, %rdi
callq 0x95e0
movl %eax, %edi
movl %edi, %ebx
negl %ebx
cmovsl %edi, %ebx
leaq 0x31a664(%rip), %rdi    # 0x33c220
leaq 0xeb91d(%rip), %rsi     # 0x10d4e0
movl $0x3e9, %edx            # imm = 0x3E9
xorl %eax, %eax
callq 0x9060
cmpl $0x3ea, %ebx            # imm = 0x3EA
jb 0x21be3
leaq 0x31a642(%rip), %rdi    # 0x33c220
jmp 0x21c91
leaq 0x1f6ce6(%rip), %rax    # 0x2188d0
movq (%rax), %rax
movabsq $0x105b8b0400, %rcx     # imm = 0x105B8B0400
testq %rcx, %rax
jne 0x21c8a
leaq 0x1f93c9(%rip), %rcx    # 0x21afd0
cmpl $0x0, (%rcx)
je 0x21c18
leaq 0x2eb7b1(%rip), %rcx    # 0x30d3c4
cmpl $0x0, (%rcx)
je 0x21c8a
cmpq $0x400000, %rax         # imm = 0x400000
jne 0x21c2c
leaq 0x2ebd8d(%rip), %rax    # 0x30d9b4
cmpl $0x0, (%rax)
je 0x21c8a
movl %ebx, %eax
imulq $0x348, %rax, %rcx      # imm = 0x348
leaq 0x21d374(%rip), %rax    # 0x23efb0
cmpl $0x0, 0x1c(%rax,%rcx)
je 0x21c8a
addq %rcx, %rax
cvtss2sd 0x20c(%rax), %xmm1
movsd 0xe9bc2(%rip), %xmm2    # 0x10b818
mulsd %xmm1, %xmm2
divsd 0xe9bbe(%rip), %xmm2    # 0x10b820
movsd 0xe7406(%rip), %xmm0    # 0x109070
cmpeqsd 0x1483e5(%rip), %xmm0   # 0x16a058
movapd %xmm0, %xmm3
andnpd %xmm1, %xmm3
andpd %xmm2, %xmm0
orpd %xmm3, %xmm0
callq 0x21298
jmp 0x21c96
leaq 0xeb866(%rip), %rdi     # 0x10d4f7
callq 0x20e91
movl $0x0, 0x321090(%rip)    # 0x342d30
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_sig(int)
void rpn_sig(int i)
{
   // push sat sig level

   if(i == 0) {
      i = highest_sat();
      if(isdigit(msg_field[3])) {
         i = atoi(&msg_field[3]);
      }
   }
   if(i < 0) i = 0 - i;

   sprintf(out, "PRN out of range 0..%d", SUN_MOON_PRN);
   if(i > SUN_MOON_PRN) rpn_error(out);
   else if(NO_SATS || (sat[i].level_msg == 0)) {
      rpn_error("Satellite info not available");
   }
   else rpn_push(sat[i].sig_level);
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
testl %edi, %edi
jne 0x21cd9
callq 0xaddb5
movl %eax, %edi
leaq 0x319d81(%rip), %rax    # 0x33ba40
movsbl 0x3(%rax), %ecx
addl $-0x30, %ecx
cmpl $0x9, %ecx
ja 0x21cd9
addq $0x3, %rax
movq %rax, %rdi
callq 0x95e0
movl %eax, %edi
movl %edi, %ebx
negl %ebx
cmovsl %edi, %ebx
leaq 0x31a539(%rip), %rdi    # 0x33c220
leaq 0xeb7f2(%rip), %rsi     # 0x10d4e0
movl $0x3e9, %edx            # imm = 0x3E9
xorl %eax, %eax
callq 0x9060
cmpl $0x3ea, %ebx            # imm = 0x3EA
jb 0x21d0b
leaq 0x31a517(%rip), %rdi    # 0x33c220
jmp 0x21d7d
leaq 0x1f6bbe(%rip), %rax    # 0x2188d0
movq (%rax), %rax
movabsq $0x105b8b0400, %rcx     # imm = 0x105B8B0400
testq %rcx, %rax
jne 0x21d76
leaq 0x1f92a5(%rip), %rcx    # 0x21afd0
cmpl $0x0, (%rcx)
je 0x21d3c
leaq 0x2eb68d(%rip), %rcx    # 0x30d3c4
cmpl $0x0, (%rcx)
je 0x21d76
cmpq $0x400000, %rax         # imm = 0x400000
jne 0x21d50
leaq 0x2ebc69(%rip), %rax    # 0x30d9b4
cmpl $0x0, (%rax)
je 0x21d76
movl %ebx, %eax
imulq $0x348, %rax, %rcx      # imm = 0x348
leaq 0x21d250(%rip), %rax    # 0x23efb0
cmpl $0x0, 0x1c(%rax,%rcx)
je 0x21d76
addq %rcx, %rax
cvtss2sd 0x20(%rax), %xmm0
callq 0x21298
jmp 0x21d82
leaq 0xeb77a(%rip), %rdi     # 0x10d4f7
callq 0x20e91
movl $0x0, 0x320fa4(%rip)    # 0x342d30
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_doppler(int)
void rpn_doppler(int i)
{
   // push sat doppler

   if(i == 0) {
      i = highest_sat();
      if(isdigit(msg_field[7])) {
         i = atoi(&msg_field[7]);
      }
   }
   if(i < 0) i = 0 - i;

   sprintf(out, "PRN out of range 0..%d", SUN_MOON_PRN);
   if(i > SUN_MOON_PRN) rpn_error(out);
   else if(NO_SATS || (sat[i].level_msg == 0)) {
      rpn_error("Satellite info not available");
   }
   else rpn_push(sat[i].doppler);
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
testl %edi, %edi
jne 0x21dc5
callq 0xaddb5
movl %eax, %edi
leaq 0x319c95(%rip), %rax    # 0x33ba40
movsbl 0x7(%rax), %ecx
addl $-0x30, %ecx
cmpl $0x9, %ecx
ja 0x21dc5
addq $0x7, %rax
movq %rax, %rdi
callq 0x95e0
movl %eax, %edi
movl %edi, %ebx
negl %ebx
cmovsl %edi, %ebx
leaq 0x31a44d(%rip), %rdi    # 0x33c220
leaq 0xeb706(%rip), %rsi     # 0x10d4e0
movl $0x3e9, %edx            # imm = 0x3E9
xorl %eax, %eax
callq 0x9060
cmpl $0x3ea, %ebx            # imm = 0x3EA
jb 0x21df7
leaq 0x31a42b(%rip), %rdi    # 0x33c220
jmp 0x21e69
leaq 0x1f6ad2(%rip), %rax    # 0x2188d0
movq (%rax), %rax
movabsq $0x105b8b0400, %rcx     # imm = 0x105B8B0400
testq %rcx, %rax
jne 0x21e62
leaq 0x1f91b9(%rip), %rcx    # 0x21afd0
cmpl $0x0, (%rcx)
je 0x21e28
leaq 0x2eb5a1(%rip), %rcx    # 0x30d3c4
cmpl $0x0, (%rcx)
je 0x21e62
cmpq $0x400000, %rax         # imm = 0x400000
jne 0x21e3c
leaq 0x2ebb7d(%rip), %rax    # 0x30d9b4
cmpl $0x0, (%rax)
je 0x21e62
movl %ebx, %eax
imulq $0x348, %rax, %rcx      # imm = 0x348
leaq 0x21d164(%rip), %rax    # 0x23efb0
cmpl $0x0, 0x1c(%rax,%rcx)
je 0x21e62
addq %rcx, %rax
movsd 0x30(%rax), %xmm0
callq 0x21298
jmp 0x21e6e
leaq 0xeb68e(%rip), %rdi     # 0x10d4f7
callq 0x20e91
movl $0x0, 0x320eb8(%rip)    # 0x342d30
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_range(int)
void rpn_range(int i)
{
   // push sat pseudorange

   if(i == 0) {
      i = highest_sat();
      if(isdigit(msg_field[5])) {
         i = atoi(&msg_field[5]);
      }
   }
   if(i < 0) i = 0 - i;

   sprintf(out, "PRN out of range 0..%d", SUN_MOON_PRN);
   if(i > SUN_MOON_PRN) rpn_error(out);
   else if(NO_SATS || (sat[i].level_msg == 0)) {
      rpn_error("Satellite info not available");
   }
   else rpn_push(sat[i].range);
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
testl %edi, %edi
jne 0x21eb1
callq 0xaddb5
movl %eax, %edi
leaq 0x319ba9(%rip), %rax    # 0x33ba40
movsbl 0x5(%rax), %ecx
addl $-0x30, %ecx
cmpl $0x9, %ecx
ja 0x21eb1
addq $0x5, %rax
movq %rax, %rdi
callq 0x95e0
movl %eax, %edi
movl %edi, %ebx
negl %ebx
cmovsl %edi, %ebx
leaq 0x31a361(%rip), %rdi    # 0x33c220
leaq 0xeb61a(%rip), %rsi     # 0x10d4e0
movl $0x3e9, %edx            # imm = 0x3E9
xorl %eax, %eax
callq 0x9060
cmpl $0x3ea, %ebx            # imm = 0x3EA
jb 0x21ee3
leaq 0x31a33f(%rip), %rdi    # 0x33c220
jmp 0x21f55
leaq 0x1f69e6(%rip), %rax    # 0x2188d0
movq (%rax), %rax
movabsq $0x105b8b0400, %rcx     # imm = 0x105B8B0400
testq %rcx, %rax
jne 0x21f4e
leaq 0x1f90cd(%rip), %rcx    # 0x21afd0
cmpl $0x0, (%rcx)
je 0x21f14
leaq 0x2eb4b5(%rip), %rcx    # 0x30d3c4
cmpl $0x0, (%rcx)
je 0x21f4e
cmpq $0x400000, %rax         # imm = 0x400000
jne 0x21f28
leaq 0x2eba91(%rip), %rax    # 0x30d9b4
cmpl $0x0, (%rax)
je 0x21f4e
movl %ebx, %eax
imulq $0x348, %rax, %rcx      # imm = 0x348
leaq 0x21d078(%rip), %rax    # 0x23efb0
cmpl $0x0, 0x1c(%rax,%rcx)
je 0x21f4e
addq %rcx, %rax
movsd 0x38(%rax), %xmm0
callq 0x21298
jmp 0x21f5a
leaq 0xeb5a2(%rip), %rdi     # 0x10d4f7
callq 0x20e91
movl $0x0, 0x320dcc(%rip)    # 0x342d30
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_phase(int)
void rpn_phase(int i)
{
   // push sat code or carrier phase

   if(i == 0) {
      i = highest_sat();
      if(isdigit(msg_field[5])) {
         i = atoi(&msg_field[5]);
      }
   }
   if(i < 0) i = 0 - i;

   sprintf(out, "PRN out of range 1..%d", SUN_MOON_PRN);
   if(i > SUN_MOON_PRN) rpn_error(out);
   else if(i <= 0) rpn_error(out);
   else if(NO_SATS || (sat[i].level_msg == 0)) {
      rpn_error("Satellite info not available");
   }
   else rpn_push(sat[i].code_phase);
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movl %edi, %ebx
testl %edi, %edi
jne 0x21f9d
callq 0xaddb5
movl %eax, %ebx
leaq 0x319aba(%rip), %rdi    # 0x33ba40
movsbl 0x5(%rdi), %eax
addl $-0x30, %eax
cmpl $0x9, %eax
ja 0x21f9d
addq $0x5, %rdi
callq 0x95e0
movl %eax, %ebx
movl %ebx, %r14d
negl %r14d
cmovsl %ebx, %r14d
leaq 0x31a272(%rip), %rdi    # 0x33c220
leaq 0xeb55f(%rip), %rsi     # 0x10d514
movl $0x3e9, %edx            # imm = 0x3E9
xorl %eax, %eax
callq 0x9060
cmpl $0x3ea, %r14d           # imm = 0x3EA
jae 0x2203a
testl %ebx, %ebx
je 0x2203a
leaq 0x1f68fb(%rip), %rax    # 0x2188d0
movq (%rax), %rax
movabsq $0x105b8b0400, %rcx     # imm = 0x105B8B0400
testq %rcx, %rax
jne 0x22043
leaq 0x1f8fe2(%rip), %rcx    # 0x21afd0
cmpl $0x0, (%rcx)
je 0x21fff
leaq 0x2eb3ca(%rip), %rcx    # 0x30d3c4
cmpl $0x0, (%rcx)
je 0x22043
cmpq $0x400000, %rax         # imm = 0x400000
jne 0x22013
leaq 0x2eb9a6(%rip), %rax    # 0x30d9b4
cmpl $0x0, (%rax)
je 0x22043
movl %r14d, %eax
imulq $0x348, %rax, %rcx      # imm = 0x348
leaq 0x21cf8c(%rip), %rax    # 0x23efb0
cmpl $0x0, 0x1c(%rax,%rcx)
je 0x22043
addq %rcx, %rax
movsd 0x28(%rax), %xmm0
callq 0x21298
jmp 0x2204f
leaq 0x31a1df(%rip), %rdi    # 0x33c220
jmp 0x2204a
leaq 0xeb4ad(%rip), %rdi     # 0x10d4f7
callq 0x20e91
movl $0x0, 0x320cd7(%rip)    # 0x342d30
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_prn(int)
void rpn_prn(int i)
{
   // push all info for a sat prn onto the stack

   if(i == 0) {
      i = highest_sat();
      if(isdigit(msg_field[3])) {
         i = atoi(&msg_field[3]);
      }
   }
   if(i < 0) i = 0 - i;

   sprintf(out, "PRN out of range 0..%d", SUN_MOON_PRN);
   if((i == 0) || (i > SUN_MOON_PRN)) rpn_error(out);
   else if(NO_SATS || (sat[i].level_msg == 0)) {
      rpn_error("Satellite info not available");
   }
   else {
      rpn_phase(i);
      rpn_range(i);
      rpn_doppler(i);
      rpn_sig(i);
      rpn_el(i);
      rpn_az(i);
   }
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movl %edi, %r14d
testl %edi, %edi
jne 0x22093
callq 0xaddb5
movl %eax, %r14d
leaq 0x3199c5(%rip), %rdi    # 0x33ba40
movsbl 0x3(%rdi), %eax
addl $-0x30, %eax
cmpl $0x9, %eax
ja 0x22093
addq $0x3, %rdi
callq 0x95e0
movl %eax, %r14d
movl %r14d, %ebx
negl %ebx
cmovsl %r14d, %ebx
leaq 0x31a17d(%rip), %rdi    # 0x33c220
leaq 0xeb436(%rip), %rsi     # 0x10d4e0
movl $0x3e9, %edx            # imm = 0x3E9
xorl %eax, %eax
callq 0x9060
testl %r14d, %r14d
setne %al
cmpl $0x3ea, %ebx            # imm = 0x3EA
setb %cl
testb %cl, %al
jne 0x220d5
leaq 0x31a150(%rip), %rdi    # 0x33c220
jmp 0x22164
leaq 0x1f67f4(%rip), %rax    # 0x2188d0
movq (%rax), %rax
movabsq $0x105b8b0400, %rcx     # imm = 0x105B8B0400
testq %rcx, %rax
jne 0x2215d
leaq 0x1f8edb(%rip), %rcx    # 0x21afd0
cmpl $0x0, (%rcx)
je 0x22106
leaq 0x2eb2c3(%rip), %rcx    # 0x30d3c4
cmpl $0x0, (%rcx)
je 0x2215d
cmpq $0x400000, %rax         # imm = 0x400000
jne 0x2211a
leaq 0x2eb89f(%rip), %rax    # 0x30d9b4
cmpl $0x0, (%rax)
je 0x2215d
movl %ebx, %eax
imulq $0x348, %rax, %rax      # imm = 0x348
leaq 0x21ce86(%rip), %rcx    # 0x23efb0
cmpl $0x0, 0x1c(%rcx,%rax)
je 0x2215d
movl %ebx, %edi
callq 0x21f6b
movl %ebx, %edi
callq 0x21e7f
movl %ebx, %edi
callq 0x21d93
movl %ebx, %edi
callq 0x21ca7
movl %ebx, %edi
callq 0x21b7c
movl %ebx, %edi
callq 0x21a51
jmp 0x22169
leaq 0xeb393(%rip), %rdi     # 0x10d4f7
callq 0x20e91
movl $0x0, 0x320bbd(%rip)    # 0x342d30
popq %rbx
popq %r14
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_dist()
void rpn_dist()
{
double last;
double x0,y0;
double x1,y1;
double val;

   // linear distance between two points

   last = rpn[0];
   x0 = rpn_top();
   y0 = rpn_top();
   x1 = rpn_top();
   y1 = rpn_top();

   x0 -= x1;
   y0 -= y1;
   val = sqrt(x0*x0 + y0*y0);
   rpn_new(val);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x28, %rsp
movsd 0x3207e7(%rip), %xmm0   # 0x342970
movl $0x0, 0x320b9d(%rip)    # 0x342d30
movsd %xmm0, 0x320b9d(%rip)   # 0x342d38
movsd %xmm0, -0x10(%rbp)
movsd %xmm0, 0x320b80(%rip)   # 0x342d28
movl 0x147ea2(%rip), %ebx    # 0x16a050
cmpl $0x2, %ebx
jl 0x221cd
leal -0x1(%rbx), %edx
shlq $0x3, %rdx
leaq 0x3207af(%rip), %rdi    # 0x342970
leaq 0x3207b0(%rip), %rsi    # 0x342978
callq 0x9650
movl $0x0, 0x320b59(%rip)    # 0x342d30
movsd 0x320791(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x320b51(%rip)   # 0x342d38
movsd %xmm0, -0x28(%rbp)
movsd %xmm0, 0x320b34(%rip)   # 0x342d28
cmpl $0x2, %ebx
jl 0x22213
leal -0x1(%rbx), %edx
shlq $0x3, %rdx
leaq 0x320769(%rip), %rdi    # 0x342970
leaq 0x32076a(%rip), %rsi    # 0x342978
callq 0x9650
movl $0x0, 0x320b13(%rip)    # 0x342d30
movsd 0x32074b(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x320b0b(%rip)   # 0x342d38
movsd %xmm0, -0x20(%rbp)
movsd %xmm0, 0x320aee(%rip)   # 0x342d28
cmpl $0x2, %ebx
jl 0x22259
leal -0x1(%rbx), %edx
shlq $0x3, %rdx
leaq 0x320723(%rip), %rdi    # 0x342970
leaq 0x320724(%rip), %rsi    # 0x342978
callq 0x9650
movl $0x0, 0x320acd(%rip)    # 0x342d30
movsd 0x320705(%rip), %xmm2   # 0x342970
movsd %xmm2, 0x320ac5(%rip)   # 0x342d38
movsd %xmm2, 0x320aad(%rip)   # 0x342d28
cmpl $0x2, %ebx
jl 0x222a6
decl %ebx
shlq $0x3, %rbx
leaq 0x3206e3(%rip), %rdi    # 0x342970
leaq 0x3206e4(%rip), %rsi    # 0x342978
movq %rbx, %rdx
movsd %xmm2, -0x18(%rbp)
callq 0x9650
movsd -0x18(%rbp), %xmm2
movsd -0x10(%rbp), %xmm0
subsd -0x20(%rbp), %xmm0
movsd -0x28(%rbp), %xmm1
subsd %xmm2, %xmm1
mulsd %xmm1, %xmm1
mulsd %xmm0, %xmm0
addsd %xmm1, %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x222d5
sqrtsd %xmm0, %xmm0
jmp 0x222da
callq 0x9270
movsd %xmm0, 0x320a56(%rip)   # 0x342d38
movsd %xmm0, 0x320686(%rip)   # 0x342970
movl $0x0, 0x320a3c(%rip)    # 0x342d30
movsd -0x10(%rbp), %xmm0
movsd %xmm0, 0x320a27(%rip)   # 0x342d28
addq $0x28, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_bearing()
void rpn_bearing()
{
double last;
double x0,y0;
double x1,y1;
double az;

   // calculate azimuth angle between two points

   last = rpn[0];

   x0 = rpn_top() / deg_mode;
   y0 = rpn_top() / deg_mode;
   x1 = rpn_top() / deg_mode;
   y1 = rpn_top() / deg_mode;

   az = az_angle(y1,x1, y0,x0);
   if(deg_mode == 1.0) az = az * PI / 180.0;
   rpn_push(az);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x28, %rsp
movsd 0x320445(%rip), %xmm0   # 0x342970
movl $0x0, 0x3207fb(%rip)    # 0x342d30
movsd %xmm0, 0x3207fb(%rip)   # 0x342d38
movsd %xmm0, -0x10(%rbp)
movsd %xmm0, 0x3207de(%rip)   # 0x342d28
movl 0x147b00(%rip), %ebx    # 0x16a050
cmpl $0x2, %ebx
jl 0x2256f
leal -0x1(%rbx), %edx
shlq $0x3, %rdx
leaq 0x32040d(%rip), %rdi    # 0x342970
leaq 0x32040e(%rip), %rsi    # 0x342978
callq 0x9650
movsd 0x147ae1(%rip), %xmm0   # 0x16a058
movsd %xmm0, -0x28(%rbp)
movl $0x0, 0x3207aa(%rip)    # 0x342d30
movsd 0x3203e2(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x3207a2(%rip)   # 0x342d38
movsd %xmm0, -0x30(%rbp)
movsd %xmm0, 0x320785(%rip)   # 0x342d28
cmpl $0x2, %ebx
jl 0x225c2
leal -0x1(%rbx), %edx
shlq $0x3, %rdx
leaq 0x3203ba(%rip), %rdi    # 0x342970
leaq 0x3203bb(%rip), %rsi    # 0x342978
callq 0x9650
movl $0x0, 0x320764(%rip)    # 0x342d30
movsd 0x32039c(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x32075c(%rip)   # 0x342d38
movsd %xmm0, -0x20(%rbp)
movsd %xmm0, 0x32073f(%rip)   # 0x342d28
cmpl $0x2, %ebx
jl 0x22608
leal -0x1(%rbx), %edx
shlq $0x3, %rdx
leaq 0x320374(%rip), %rdi    # 0x342970
leaq 0x320375(%rip), %rsi    # 0x342978
callq 0x9650
movl $0x0, 0x32071e(%rip)    # 0x342d30
movsd 0x320356(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x320716(%rip)   # 0x342d38
movsd %xmm0, 0x3206fe(%rip)   # 0x342d28
cmpl $0x2, %ebx
jl 0x22655
decl %ebx
shlq $0x3, %rbx
leaq 0x320334(%rip), %rdi    # 0x342970
leaq 0x320335(%rip), %rsi    # 0x342978
movq %rbx, %rdx
movsd %xmm0, -0x18(%rbp)
callq 0x9650
movsd -0x18(%rbp), %xmm0
movsd -0x28(%rbp), %xmm4
movsd -0x20(%rbp), %xmm1
divsd %xmm4, %xmm1
movsd -0x30(%rbp), %xmm2
divsd %xmm4, %xmm2
movsd -0x10(%rbp), %xmm3
divsd %xmm4, %xmm3
divsd %xmm4, %xmm0
callq 0xe9680
movsd 0xe9192(%rip), %xmm2    # 0x10b818
mulsd %xmm0, %xmm2
divsd 0xe918e(%rip), %xmm2    # 0x10b820
movsd 0xe69d6(%rip), %xmm1    # 0x109070
cmpeqsd 0x1479b5(%rip), %xmm1   # 0x16a058
movapd %xmm1, %xmm3
andnpd %xmm0, %xmm3
andpd %xmm2, %xmm1
orpd %xmm3, %xmm1
movapd %xmm1, %xmm0
callq 0x21298
movsd -0x10(%rbp), %xmm0
movsd %xmm0, 0x32065f(%rip)   # 0x342d28
movl $0x0, 0x32065d(%rip)    # 0x342d30
addq $0x28, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_secs()
void rpn_secs()
{
double val;
double last;

   // convert hours minutes sseconds in top 3 stack entries to seconds

   last = rpn[0];

   val = rpn_top();
   val += rpn_top() * 60.0;
   val += rpn_top() * 3600.0;
   rpn_push(val);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x18, %rsp
movsd 0x320285(%rip), %xmm0   # 0x342970
movl $0x0, 0x32063b(%rip)    # 0x342d30
movsd %xmm0, 0x32063b(%rip)   # 0x342d38
movsd %xmm0, -0x10(%rbp)
movsd %xmm0, 0x32061e(%rip)   # 0x342d28
movl 0x147940(%rip), %ebx    # 0x16a050
cmpl $0x2, %ebx
jl 0x2272f
leal -0x1(%rbx), %edx
shlq $0x3, %rdx
leaq 0x32024d(%rip), %rdi    # 0x342970
leaq 0x32024e(%rip), %rsi    # 0x342978
callq 0x9650
movl $0x0, 0x3205f7(%rip)    # 0x342d30
movsd 0x32022f(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x3205ef(%rip)   # 0x342d38
movsd %xmm0, -0x20(%rbp)
movsd %xmm0, 0x3205d2(%rip)   # 0x342d28
cmpl $0x2, %ebx
jl 0x22775
leal -0x1(%rbx), %edx
shlq $0x3, %rdx
leaq 0x320207(%rip), %rdi    # 0x342970
leaq 0x320208(%rip), %rsi    # 0x342978
callq 0x9650
movl $0x0, 0x3205b1(%rip)    # 0x342d30
movsd 0x3201e9(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x3205a9(%rip)   # 0x342d38
movsd %xmm0, 0x320591(%rip)   # 0x342d28
cmpl $0x2, %ebx
jl 0x227c2
decl %ebx
shlq $0x3, %rbx
leaq 0x3201c7(%rip), %rdi    # 0x342970
leaq 0x3201c8(%rip), %rsi    # 0x342978
movq %rbx, %rdx
movsd %xmm0, -0x18(%rbp)
callq 0x9650
movsd -0x18(%rbp), %xmm0
movsd -0x20(%rbp), %xmm1
mulsd 0xe6839(%rip), %xmm1    # 0x109008
addsd -0x10(%rbp), %xmm1
mulsd 0xe6834(%rip), %xmm0    # 0x109010
addsd %xmm1, %xmm0
callq 0x21298
movsd -0x10(%rbp), %xmm0
movsd %xmm0, 0x320536(%rip)   # 0x342d28
movl $0x0, 0x320534(%rip)    # 0x342d30
addq $0x18, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_dow()
void rpn_dow()
{
double val;
double last;
int year,month,day;

   // convert year month day in top 3 stack entries to day-of-week (0..6)

   last = rpn[0];

   day = (int) rpn_top();
   month = (int) rpn_top();
   year = (int) rpn_top();

   val = day_of_week(year,month,day);
   rpn_push(val);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x18, %rsp
movsd 0x32015c(%rip), %xmm0   # 0x342970
movl $0x0, 0x320512(%rip)    # 0x342d30
movsd %xmm0, 0x320512(%rip)   # 0x342d38
movsd %xmm0, -0x10(%rbp)
movsd %xmm0, 0x3204f5(%rip)   # 0x342d28
movl 0x147817(%rip), %ebx    # 0x16a050
cmpl $0x2, %ebx
jl 0x22858
leal -0x1(%rbx), %edx
shlq $0x3, %rdx
leaq 0x320124(%rip), %rdi    # 0x342970
leaq 0x320125(%rip), %rsi    # 0x342978
callq 0x9650
movl $0x0, 0x3204ce(%rip)    # 0x342d30
movsd 0x320106(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x3204c6(%rip)   # 0x342d38
movsd %xmm0, -0x20(%rbp)
movsd %xmm0, 0x3204a9(%rip)   # 0x342d28
cmpl $0x2, %ebx
jl 0x2289e
leal -0x1(%rbx), %edx
shlq $0x3, %rdx
leaq 0x3200de(%rip), %rdi    # 0x342970
leaq 0x3200df(%rip), %rsi    # 0x342978
callq 0x9650
movl $0x0, 0x320488(%rip)    # 0x342d30
movsd 0x3200c0(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x320480(%rip)   # 0x342d38
movsd %xmm0, 0x320468(%rip)   # 0x342d28
cmpl $0x2, %ebx
jl 0x228eb
decl %ebx
shlq $0x3, %rbx
leaq 0x32009e(%rip), %rdi    # 0x342970
leaq 0x32009f(%rip), %rsi    # 0x342978
movq %rbx, %rdx
movsd %xmm0, -0x18(%rbp)
callq 0x9650
movsd -0x18(%rbp), %xmm0
cvttsd2si -0x20(%rbp), %esi
cvttsd2si -0x10(%rbp), %edx
cvttsd2si %xmm0, %edi
callq 0xdfd0f
movzbl %al, %eax
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
callq 0x21298
movsd -0x10(%rbp), %xmm0
movsd %xmm0, 0x32040e(%rip)   # 0x342d28
movl $0x0, 0x32040c(%rip)    # 0x342d30
addq $0x18, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_dms()
void rpn_dms()
{
double last;
double val;
double degs, mins, secs;
double sign;

   // break up X into degrees minutes seconds

   last = rpn[0];

   val = rpn_top();
   if(deg_mode == 1.0) {
      val = val * 180.0 / PI;
   }
   if(val < 0) {
      sign = (-1.0);
      val = 0.0 - val;
   }
   else sign = 1.0;

   degs = (double) (int) val;

   val = (val - degs) * 60.0;
   mins = (double) (int) val;

   val = (val - mins) * 60.0;
   secs = val;

   rpn_push(degs*sign);
   rpn_push(mins);
   rpn_push(secs);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movsd 0x320035(%rip), %xmm0   # 0x342970
movl $0x0, 0x3203eb(%rip)    # 0x342d30
movsd %xmm0, 0x3203eb(%rip)   # 0x342d38
movaps %xmm0, -0x10(%rbp)
movsd %xmm0, 0x3203cf(%rip)   # 0x342d28
movl 0x1476f1(%rip), %edx    # 0x16a050
cmpl $0x2, %edx
jl 0x2297d
decl %edx
shlq $0x3, %rdx
leaq 0x31ffff(%rip), %rdi    # 0x342970
leaq 0x320000(%rip), %rsi    # 0x342978
callq 0x9650
movsd 0xe8e9b(%rip), %xmm0    # 0x10b820
movapd -0x10(%rbp), %xmm3
mulsd %xmm3, %xmm0
divsd 0xe8e82(%rip), %xmm0    # 0x10b818
movsd 0xe66d2(%rip), %xmm1    # 0x109070
cmpeqsd 0x1476b1(%rip), %xmm1   # 0x16a058
movapd %xmm1, %xmm2
andnpd %xmm3, %xmm2
andpd %xmm0, %xmm1
orpd %xmm2, %xmm1
xorpd %xmm0, %xmm0
ucomisd %xmm1, %xmm0
xorpd %xmm2, %xmm2
subsd %xmm1, %xmm2
movapd %xmm1, %xmm3
cmpltsd %xmm0, %xmm3
andpd %xmm3, %xmm2
andnpd %xmm1, %xmm3
orpd %xmm2, %xmm3
cvttpd2dq %xmm3, %xmm0
cvtdq2pd %xmm0, %xmm0
subsd %xmm0, %xmm3
movsd 0xe6618(%rip), %xmm1    # 0x109008
mulsd %xmm1, %xmm3
cvttpd2dq %xmm3, %xmm2
cvtdq2pd %xmm2, %xmm2
movapd %xmm2, -0x20(%rbp)
subsd %xmm2, %xmm3
mulsd %xmm1, %xmm3
movapd %xmm3, -0x30(%rbp)
jbe 0x22a18
xorpd 0xe6788(%rip), %xmm0    # 0x1091a0
callq 0x21298
movaps -0x20(%rbp), %xmm0
callq 0x21298
movaps -0x30(%rbp), %xmm0
callq 0x21298
movaps -0x10(%rbp), %xmm0
movsd %xmm0, 0x3202ed(%rip)   # 0x342d28
movl $0x0, 0x3202eb(%rip)    # 0x342d30
addq $0x30, %rsp
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_time()
void rpn_time()
{
double last;

   // put current displayed time on stack

   last = rpn[0];

   rpn_push((double) pri_hours);
   rpn_push((double) pri_minutes);
   rpn_push((double) pri_seconds + pri_frac);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movsd 0x31ff15(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x8(%rbp)
leaq 0x2eaaa1(%rip), %rax    # 0x30d508
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21298
leaq 0x2eaa8a(%rip), %rax    # 0x30d504
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21298
leaq 0x2eaa73(%rip), %rax    # 0x30d500
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
leaq 0x2eaa7d(%rip), %rax    # 0x30d518
addsd (%rax), %xmm0
callq 0x21298
movsd -0x8(%rbp), %xmm0
movsd %xmm0, 0x320277(%rip)   # 0x342d28
movl $0x0, 0x320275(%rip)    # 0x342d30
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_date()
void rpn_date()
{
double last;

   // put current displayed date on stack

   last = rpn[0];

   rpn_push((double) pri_year);
   rpn_push((double) pri_month);
   rpn_push((double) pri_day);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movsd 0x31fe9f(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x8(%rbp)
leaq 0x2eaa37(%rip), %rax    # 0x30d514
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21298
leaq 0x2eaa20(%rip), %rax    # 0x30d510
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21298
leaq 0x2eaa09(%rip), %rax    # 0x30d50c
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21298
movsd -0x8(%rbp), %xmm0
movsd %xmm0, 0x32020c(%rip)   # 0x342d28
movl $0x0, 0x32020a(%rip)    # 0x342d30
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_gregorian()
void rpn_gregorian()
{
double last;

   // convert rpn[0] julian date to gregorian date / time

   last = rpn[0];
   gregorian(0, rpn[0]);

   rpn_push((double) g_year);
   rpn_push((double) g_month);
   rpn_push((double) g_day);

   rpn_push((double) g_hours);
   rpn_push((double) g_minutes);
   rpn_push((double) g_seconds + g_frac);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movsd 0x31fe34(%rip), %xmm0   # 0x342970
movsd %xmm0, -0x8(%rbp)
xorl %edi, %edi
callq 0xd0c46
leaq 0x2eab55(%rip), %rax    # 0x30d6a4
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21298
leaq 0x2eab3a(%rip), %rax    # 0x30d69c
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21298
leaq 0x2eab2b(%rip), %rax    # 0x30d6a0
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21298
leaq 0x2eab20(%rip), %rax    # 0x30d6a8
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21298
leaq 0x2eab11(%rip), %rax    # 0x30d6ac
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
callq 0x21298
leaq 0x2eab02(%rip), %rax    # 0x30d6b0
xorps %xmm0, %xmm0
cvtsi2sdl (%rax), %xmm0
leaq 0x2eaafc(%rip), %rax    # 0x30d6b8
addsd (%rax), %xmm0
callq 0x21298
movsd -0x8(%rbp), %xmm0
movsd %xmm0, 0x320156(%rip)   # 0x342d28
movl $0x0, 0x320154(%rip)    # 0x342d30
addq $0x10, %rsp
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_dec()
void rpn_dec()
{
double last;
double val;
double degs, mins, secs;
double sign;

   // convert X,Y,Z degrees minutes seconds to decimal

   last = rpn[0];

   secs = rpn_top();
   mins = rpn_top();
   degs = rpn_top();
   if(degs < 0.0) {
      sign = (-1.0);
      degs = 0.0 - degs;
   }
   else sign = 1.0;

   secs = fabs(secs) * sign;
   mins = fabs(mins) * sign;
   degs *= sign;

   val = degs + (mins/60.0) + (secs/3600.0);

   if(deg_mode == 1.0) {
      val = val * PI / 180.0;
   }

   rpn_push(val);

   last_x = last;
   last_was_clx = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x28, %rsp
movsd 0x31fd7d(%rip), %xmm0   # 0x342970
movl $0x0, 0x320133(%rip)    # 0x342d30
movsd %xmm0, 0x320133(%rip)   # 0x342d38
movaps %xmm0, -0x20(%rbp)
movsd %xmm0, 0x320117(%rip)   # 0x342d28
movl 0x147439(%rip), %ebx    # 0x16a050
cmpl $0x2, %ebx
jl 0x22c36
leal -0x1(%rbx), %edx
shlq $0x3, %rdx
leaq 0x31fd46(%rip), %rdi    # 0x342970
leaq 0x31fd47(%rip), %rsi    # 0x342978
callq 0x9650
movl $0x0, 0x3200f0(%rip)    # 0x342d30
movsd 0x31fd28(%rip), %xmm0   # 0x342970
movsd %xmm0, 0x3200e8(%rip)   # 0x342d38
movapd %xmm0, -0x30(%rbp)
movsd %xmm0, 0x3200cb(%rip)   # 0x342d28
cmpl $0x2, %ebx
jl 0x22c7c
leal -0x1(%rbx), %edx
shlq $0x3, %rdx
leaq 0x31fd00(%rip), %rdi    # 0x342970
leaq 0x31fd01(%rip), %rsi    # 0x342978
callq 0x9650
movl $0x0, 0x3200aa(%rip)    # 0x342d30
movsd 0x31fce2(%rip), %xmm4   # 0x342970
movsd %xmm4, 0x3200a2(%rip)   # 0x342d38
movsd %xmm4, 0x32008a(%rip)   # 0x342d28
cmpl $0x2, %ebx
jl 0x22cc9
decl %ebx
shlq $0x3, %rbx
leaq 0x31fcc0(%rip), %rdi    # 0x342970
leaq 0x31fcc1(%rip), %rsi    # 0x342978
movq %rbx, %rdx
movsd %xmm4, -0x10(%rbp)
callq 0x9650
movsd -0x10(%rbp), %xmm4
xorpd %xmm0, %xmm0
xorl %eax, %eax
ucomisd %xmm4, %xmm0
seta %cl
jbe 0x22ce0
subsd %xmm4, %xmm0
movapd %xmm0, %xmm4
movb %cl, %al
leaq 0xea1a7(%rip), %rcx     # 0x10ce90
movsd (%rcx,%rax,8), %xmm0
movapd 0xe648a(%rip), %xmm1    # 0x109180
movapd -0x20(%rbp), %xmm2
andpd %xmm1, %xmm2
mulsd %xmm0, %xmm2
movapd -0x30(%rbp), %xmm3
andpd %xmm1, %xmm3
mulsd %xmm0, %xmm3
mulsd %xmm0, %xmm4
divsd 0xe62ec(%rip), %xmm3    # 0x109008
addsd %xmm4, %xmm3
divsd 0xe62e8(%rip), %xmm2    # 0x109010
addsd %xmm3, %xmm2
movsd 0xe8ae4(%rip), %xmm1    # 0x10b818
mulsd %xmm2, %xmm1
divsd 0xe8ae0(%rip), %xmm1    # 0x10b820
movsd 0xe6328(%rip), %xmm0    # 0x109070
cmpeqsd 0x147307(%rip), %xmm0   # 0x16a058
movapd %xmm0, %xmm3
andnpd %xmm2, %xmm3
andpd %xmm1, %xmm0
orpd %xmm3, %xmm0
callq 0x21298
movaps -0x20(%rbp), %xmm0
movsd %xmm0, 0x31ffb6(%rip)   # 0x342d28
movl $0x0, 0x31ffb4(%rip)    # 0x342d30
addq $0x28, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_shr()
void rpn_shr()
{
int count;
s32 val;

   // shift right

   if(isdigit(msg_field[2])) count = atoi(&msg_field[2]);
   else if(msg_field[2] == '-') count = atoi(&msg_field[2]);
   else count = 1;

   val = (int) rpn[0];
   if(count > 0) {
      val >>= count;
   }
   else if(count < 0) {
      count = 0-count;
      val <<= count;
   }

   last_x = rpn[0];
   rpn[0] = (double) val;
   last_was_clx = 0;
}

// Assembly:
leaq 0x318cb6(%rip), %rdi    # 0x33ba40
movsbl 0x2(%rdi), %eax
cmpl $0x2d, %eax
setne %dl
addl $-0x30, %eax
cmpl $0xa, %eax
setae %al
movl $0x1, %ecx
testb %dl, %al
jne 0x22db6
pushq %rbp
movq %rsp, %rbp
addq $0x2, %rdi
callq 0x95e0
movl %eax, %ecx
popq %rbp
movsd 0x31fbb2(%rip), %xmm0   # 0x342970
cvttsd2si %xmm0, %eax
testl %ecx, %ecx
jle 0x22dca
sarl %cl, %eax
jmp 0x22dd0
jns 0x22dd0
negb %cl
shll %cl, %eax
movsd %xmm0, 0x31ff50(%rip)   # 0x342d28
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x31fb89(%rip)   # 0x342970
movl $0x0, 0x31ff3f(%rip)    # 0x342d30
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_shl()
void rpn_shl()
{
int count;
s32 val;

   // shift left

   if(isdigit(msg_field[2])) count = atoi(&msg_field[2]);
   else if(msg_field[2] == '-') count = atoi(&msg_field[2]);
   else count = 1;

   val = (int) rpn[0];
   if(count > 0) {
      val <<= count;
   }
   else if(count < 0) {
      count = 0-count;
      val >>= count;
   }

   last_x = rpn[0];
   rpn[0] = (double) val;
   last_was_clx = 0;
}

// Assembly:
leaq 0x318c47(%rip), %rdi    # 0x33ba40
movsbl 0x2(%rdi), %eax
cmpl $0x2d, %eax
setne %dl
addl $-0x30, %eax
cmpl $0xa, %eax
setae %al
movl $0x1, %ecx
testb %dl, %al
jne 0x22e25
pushq %rbp
movq %rsp, %rbp
addq $0x2, %rdi
callq 0x95e0
movl %eax, %ecx
popq %rbp
movsd 0x31fb43(%rip), %xmm0   # 0x342970
cvttsd2si %xmm0, %eax
testl %ecx, %ecx
jle 0x22e39
shll %cl, %eax
jmp 0x22e3f
jns 0x22e3f
negb %cl
sarl %cl, %eax
movsd %xmm0, 0x31fee1(%rip)   # 0x342d28
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
movsd %xmm0, 0x31fb1a(%rip)   # 0x342970
movl $0x0, 0x31fed0(%rip)    # 0x342d30
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_size()
void rpn_size()
{
int count;

   // set stack size

   count = 6;
   if(isdigit(msg_field[4])) count = atoi(&msg_field[4]);
   if((count < 4) || (count > MAX_RPN_SIZE)) {
      sprintf(out, "Stack size must be 4..%d", MAX_RPN_SIZE);
      rpn_error(out);
      return;
   }
   RPN_SIZE = count;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
leaq 0x318bd2(%rip), %rdi    # 0x33ba40
movsbl 0x4(%rdi), %ecx
addl $-0x30, %ecx
movl $0x6, %eax
cmpl $0x9, %ecx
ja 0x22e88
addq $0x4, %rdi
callq 0x95e0
leal -0x11(%rax), %ecx
cmpl $-0xe, %ecx
ja 0x22ebb
leaq 0x319389(%rip), %rbx    # 0x33c220
leaq 0xea68d(%rip), %rsi     # 0x10d52b
movq %rbx, %rdi
movl $0x10, %edx
xorl %eax, %eax
callq 0x9060
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x20e91
movl %eax, 0x14718f(%rip)    # 0x16a050
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_digits(int)
void rpn_digits(int sign)
{
int count;
int digits;

   // set output format digits

   count = IABS(rpn_format);
   if(isdigit(msg_field[3])) count = atoi(&msg_field[3]);
   else if(msg_field[3] == '-') count = atoi(&msg_field[3]);
   else if(msg_field[3] == '+') count = atoi(&msg_field[3]);
   count *= sign;

   if(hex_mode == 2) {
      digits = ISIZE;
      if(IABS(count) > ISIZE) {  // binary
         sprintf(out, "Decimal place count must be 0..%d", digits);
         rpn_error(out);
         return;
      }
   }
   else if(hex_mode == 8) {  // octal
      digits = (ISIZE+2) / 3;
      if(IABS(count) > digits) {
         sprintf(out, "Decimal place count must be 0..%d", digits);
         rpn_error(out);
         return;
      }
   }
   else if(hex_mode == 16) {  // hex
      digits = (ISIZE+3) / 4;
      if(IABS(count) > digits) {
         sprintf(out, "Decimal place count must be 0..%d", digits);
         rpn_error(out);
         return;
      }
   }
   else {  // decimal
      if(IABS(count) > 16) {
         sprintf(out, "Decimal place count must be 0..16");
         rpn_error(out);
         return;
      }
   }
   rpn_format = count;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
movl %edi, %ebx
leaq 0x318b69(%rip), %rdi    # 0x33ba40
movsbl 0x3(%rdi), %eax
leal -0x30(%rax), %ecx
cmpl $0xa, %ecx
jb 0x22efd
movzbl %al, %ecx
movl 0x147174(%rip), %edx    # 0x16a060
movl %edx, %eax
negl %eax
cmovsl %edx, %eax
cmpl $0x2d, %ecx
je 0x22efd
cmpl $0x2b, %ecx
jne 0x22f06
addq $0x3, %rdi
callq 0x95e0
imull %ebx, %eax
movl 0x31fe31(%rip), %edx    # 0x342d40
movl %eax, %ecx
negl %ecx
cmovsl %eax, %ecx
cmpl $0x10, %edx
je 0x22f63
cmpl $0x8, %edx
je 0x22f46
cmpl $0x2, %edx
jne 0x22f8a
cmpl $0x41, %ecx
jb 0x22fbc
leaq 0x3192eb(%rip), %rbx    # 0x33c220
leaq 0xea608(%rip), %rsi     # 0x10d544
movq %rbx, %rdi
movl $0x40, %edx
jmp 0x22f7e
cmpl $0x17, %ecx
jb 0x22fbc
leaq 0x3192ce(%rip), %rbx    # 0x33c220
leaq 0xea5eb(%rip), %rsi     # 0x10d544
movq %rbx, %rdi
movl $0x16, %edx
jmp 0x22f7e
cmpl $0x11, %ecx
jb 0x22fbc
leaq 0x3192b1(%rip), %rbx    # 0x33c220
leaq 0xea5ce(%rip), %rsi     # 0x10d544
movq %rbx, %rdi
movl $0x10, %edx
xorl %eax, %eax
callq 0x9060
movq %rbx, %rdi
jmp 0x22fb1
cmpl $0x11, %ecx
jb 0x22fbc
movups 0xea5e0(%rip), %xmm0    # 0x10d576
leaq 0x319283(%rip), %rdi    # 0x33c220
movaps %xmm0, 0x10(%rdi)
movups 0xea5be(%rip), %xmm0    # 0x10d566
movaps %xmm0, (%rdi)
movw $0x36, 0x20(%rdi)
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x20e91
movl %eax, 0x14709e(%rip)    # 0x16a060
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: find_rpn_def(char*)
int find_rpn_def(char *s)
{
int i;

   // see if user defined command has been defined

   if(s == 0) {
      return (-2);
   }

   for(i=0; i<num_rpn_defs; i++) {
      if(!strncmp(s, rpn_defs[i], strlen(s))) return i;
   }

   return (-1);
}

// Assembly:
testq %rdi, %rdi
je 0x23027
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movslq 0x3200a5(%rip), %r12    # 0x343088
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testq %r12, %r12
jle 0x23030
movq %rdi, %r14
callq 0x9120
movq %rax, %r15
leaq 0x31fd61(%rip), %rbx    # 0x342d60
xorl %r13d, %r13d
movq (%rbx), %rsi
movq %r14, %rdi
movq %r15, %rdx
callq 0x9140
testl %eax, %eax
je 0x2302d
incq %r13
addq $0x8, %rbx
cmpq %r13, %r12
jne 0x23002
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0x23030
movl $0xfffffffe, %eax       # imm = 0xFFFFFFFE
retq
movl %r13d, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/jkingan[P]ladyheather/heathui.cpp
// Function: rpn_edit()
void rpn_edit()
{
int i;

   // edit a user defined command
   if(get_msg_field()) {
      i = find_rpn_def(msg_field);
      if(i >= 0) {
         if(zoom_screen) remove_zoom();
         rpn_mode = 0;
         show_version_header();
         add_kbd(0x0D);
         add_kbd('!'); // edit DEFINE
         add_kbd('`');
         strcpy(edit_buffer, rpn_defs[i]);
      }
      else {
         sprintf(out, "DEFINE %s not found!", msg_field);
         edit_error(out);
      }
   }
   else {
      edit_error("DEFINE name missing!");
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
callq 0x811da
testl %eax, %eax
je 0x23aa1
leaq 0x31800a(%rip), %rdi    # 0x33ba40
callq 0x22fc9
testl %eax, %eax
js 0x23aaa
movl %eax, %ebx
leaq 0x2e8d60(%rip), %rax    # 0x30c7a8
cmpb $0x0, (%rax)
je 0x23a52
callq 0x23ad7
leaq 0x317dcf(%rip), %rax    # 0x33b828
movl $0x0, (%rax)
callq 0x727c3
movl $0xd, %edi
callq 0xd4e7
movl $0x21, %edi
callq 0xd4e7
movl $0x60, %edi
callq 0xd4e7
movl %ebx, %eax
leaq 0x31f2d5(%rip), %rcx    # 0x342d60
movq (%rcx,%rax,8), %rsi
leaq 0x31b84a(%rip), %rdi    # 0x33f2e0
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x9340
leaq 0xe9b97(%rip), %rdi     # 0x10d63f
jmp 0x23acc
leaq 0x31876f(%rip), %rbx    # 0x33c220
leaq 0xe9b9c(%rip), %rsi     # 0x10d654
leaq 0x317f81(%rip), %rdx    # 0x33ba40
movq %rbx, %rdi
xorl %eax, %eax
callq 0x9060
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %rbp
jmp 0x2326e