// File: jkingan[P]ladyheather/heathui.cpp
// Function: rpn_math()
int rpn_math()
{
double val;
ITYPE ival;

   // basic math
   if     (!strcmp(msg_field, "+"))     { val=rpn_top()+rpn[0]; rpn_set(val); }
   else if(!strcmp(msg_field, "*"))     { val=rpn_top()*rpn[0]; rpn_set(val); }
   else if(!strcmp(msg_field, "-"))     { val=rpn[1]-rpn[0]; rpn_top(); rpn_set(val); }
   else if(!strcmp(msg_field, "/"))     { val=rpn[1]/rpn[0]; rpn_top(); rpn_set(val); }
   else if(!strcmp(msg_field, "mod"))   { val=rpn_top(); rpn_set(fmod(rpn[0],val)); }
   else if(!strcmp(msg_field, "chs"))   { val=last_x; rpn_new(0.0-rpn[0]); last_x=val; }
   else if(!strcmp(msg_field, "inv"))   { rpn_new(1.0/rpn[0]); }
   else if(!strcmp(msg_field, "abs"))   { rpn_new(fabs(rpn[0])); }
   else if(!strcmp(msg_field, "int"))   { rpn_new((double) (int) rpn[0]); }
   else if(!strcmp(msg_field, "frac"))  { rpn_new(rpn[0]-(double) (int) rpn[0]); }
   else if(!strcmp(msg_field, "ctof"))  { rpn_new((rpn[0]*1.8)+32.0); }
   else if(!strcmp(msg_field, "ftoc"))  { rpn_new((rpn[0]-32.0)*(5.0/9.0)); }
   else if(!strcmp(msg_field, "ftom"))  { rpn_new(rpn[0]/FEET_PER_METER); }
   else if(!strcmp(msg_field, "mtof"))  { rpn_new(rpn[0]*FEET_PER_METER); }
   else if(!strcmp(msg_field, "max"))   { rpn_max(); }
   else if(!strcmp(msg_field, "min"))   { rpn_min(); }

   // logical operations
   else if(!strcmp(msg_field, "&"))     { ival=(ITYPE)rpn[1] & (ITYPE) rpn[0]; rpn_top(); rpn_set((double) ival); }
   else if(!strcmp(msg_field, "|"))     { ival=(ITYPE)rpn[1] | (ITYPE) rpn[0]; rpn_top(); rpn_set((double) ival); }
   else if(!strcmp(msg_field, "^"))     { ival=(ITYPE)rpn[1] ^ (ITYPE) rpn[0]; rpn_top(); rpn_set((double) ival); }
   else if(!strcmp(msg_field, "~"))     { ival=(ITYPE)rpn[0]; rpn_top(); rpn_set((double) (~ival)); }
   else if(!strncmp(msg_field, ">>",2)) { rpn_shr(); }
   else if(!strncmp(msg_field, "<<",2)) { rpn_shl(); }

   // trig
   else if(!strcmp(msg_field, "deg"))   { deg_mode = 180.0/PI; }
   else if(!strcmp(msg_field, "rad"))   { deg_mode = 1.0; }
   else if(!strcmp(msg_field, "sin"))   { rpn_new(sin(rpn[0]/deg_mode)); }
   else if(!strcmp(msg_field, "cos"))   { rpn_new(cos(rpn[0]/deg_mode)); }
   else if(!strcmp(msg_field, "tan"))   { rpn_new(tan(rpn[0]/deg_mode)); }
   else if(!strcmp(msg_field, "asin"))  { rpn_new(asin(rpn[0])*deg_mode); }
   else if(!strcmp(msg_field, "acos"))  { rpn_new(acos(rpn[0])*deg_mode); }
   else if(!strcmp(msg_field, "atan"))  { rpn_new(atan(rpn[0])*deg_mode); }
   else if(!strcmp(msg_field, "atan2")) { val=rpn_top(); rpn_set(atan2(rpn[0],val)*deg_mode); }
   else if(!strcmp(msg_field, "rtod"))  { rpn_new(rpn[0]*180.0/PI); }
   else if(!strcmp(msg_field, "dtor"))  { rpn_new(rpn[0]*PI/180.0); }
   else if(!strcmp(msg_field, "rtop"))  { rpn_rtop(); } // rectangular to polar
   else if(!strcmp(msg_field, "ptor"))  { rpn_ptor(); } // to polar rectangular
   else if(!strcmp(msg_field, "diag"))  { val=rpn_top(); val=sqrt(val*val+rpn[0]*rpn[0]); rpn_set(val); }
   else if(!strcmp(msg_field, "dist"))  { rpn_dist(); }
   else if(!strcmp(msg_field, "dms"))   { rpn_dms(); }
   else if(!strcmp(msg_field, "secs"))  { rpn_secs(); }
   else if(!strcmp(msg_field, "dec"))   { rpn_dec(); }
   else if(!strcmp(msg_field, "gcd"))   { rpn_gcd(); }
   else if(!strcmp(msg_field, "bearing"))   { rpn_bearing(); }

   // logs and powers
   else if(!strcmp(msg_field, "ln"))    { rpn_new(log(rpn[0])); }
   else if(!strcmp(msg_field, "log"))   { rpn_new(log10(rpn[0])); }
   else if(!strcmp(msg_field, "sqrt"))  { rpn_new(sqrt(rpn[0])); }
   else if(!strcmp(msg_field, "sqr"))   { rpn_new(rpn[0]*rpn[0]); }
   else if(!strcmp(msg_field, "exp"))   { rpn_new(pow(E_VALUE, rpn[0])); }
   else if(!strcmp(msg_field, "powe"))  { rpn_new(pow(E_VALUE, rpn[0])); }
   else if(!strcmp(msg_field, "pow10")) { rpn_new(pow(10.0, rpn[0])); }
   else if(!strcmp(msg_field, "pow"))   { val=rpn_top(); rpn_set(pow(rpn[0],val)); }
   else if(!strcmp(msg_field, "**"))    { val=rpn_top(); rpn_set(pow(rpn[0],val)); }

   // stack manipulation
   else if(!strcmp(msg_field,  "ex"))       { val=rpn[0]; rpn[0]=rpn[1]; rpn[1]=val; }
   else if(!strcmp(msg_field,  "ent"))      { rpn_push(rpn[0]); }
   else if(!strcmp(msg_field,  "enter"))    { rpn_push(rpn[0]); }
   else if(!strcmp(msg_field,  "clx"))      { rpn[0]=0.0; last_was_clx=1; }
   else if(!strcmp(msg_field,  "cls"))      { rpn_clear(1); }
   else if(!strcmp(msg_field,  "clm"))      { rpn_clear(2); }
   else if(!strcmp(msg_field,  "clear"))    { rpn_clear(3); }
   else if(!strncmp(msg_field, "drop", 4))  { rpn_drop(); }
   else if(!strncmp(msg_field, "roll", 4))  { rpn_down(); }
   else if(!strncmp(msg_field, "down", 4))  { rpn_down(); }
   else if(!strncmp(msg_field, "up", 2))    { rpn_up(); }
   else if(!strncmp(msg_field, "sto", 3))   { rpn_store(); }
   else if(!strncmp(msg_field, "rcl", 3))   { rpn_recall(); }
   else if(!strncmp(msg_field, "stack", 5)) { rpn_stack(); }
   else if(!strncmp(msg_field, "swap", 4))  { rpn_swap(); }
   else if(!strncmp(msg_field, "size", 4))  { rpn_size(); }

   // display formatting
   else if(!strncmp(msg_field, "fix", 3))   { hex_mode = 0;  eng_mode = 0; rpn_digits(1); }
   else if(!strncmp(msg_field, "sci", 3))   { hex_mode = 0;  eng_mode = 0; rpn_digits(-1); }
   else if(!strncmp(msg_field, "eng", 3))   { hex_mode = 0;  eng_mode = 1; rpn_digits(-1); }
   else if(!strncmp(msg_field, "hex", 3))   { hex_mode = 16; rpn_digits(1); }    // show stack top as hex integer
   else if(!strncmp(msg_field, "oct", 3))   { hex_mode = 8;  rpn_digits(1); }    // show stack top as octal integer
   else if(!strncmp(msg_field, "bin", 3))   { hex_mode = 2;  rpn_digits(1); }    // show stack top as octal integer
   else if(!strncmp(msg_field, "comma", 5)) { rpn_comma(); }    // format integer part with commas

   // user defined operations
   else if(!strcmp(msg_field,  "define"))   { rpn_define(0); }
   else if(!strcmp(msg_field,  "edit"))     { rpn_edit(); }
   else if(!strcmp(msg_field,  "savedefs")) { rpn_save(0); }
   else if(!strcmp(msg_field,  "saveall"))  { rpn_save(1); }
   else if(!strcmp(msg_field,  "run"))      { rpn_run(); }

   else if(!strcmp(msg_field,  "exit"))     { shut_down(987); }

   else return 0;  // unknown command

   return 1;  // command processed
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
leaq 0x366151(%rip), %rdi    # 0x39ac20
leaq 0x1622d9(%rip), %rsi    # 0x196daf
callq 0x9510
cmpl $0x0, %eax
jne 0x34b01
callq 0x2ea80
addsd 0x36d063(%rip), %xmm0   # 0x3a1b50
movsd %xmm0, -0x10(%rbp)
movsd -0x10(%rbp), %xmm0
callq 0x2ee20
jmp 0x35c71
leaq 0x366118(%rip), %rdi    # 0x39ac20
leaq 0x14b69a(%rip), %rsi    # 0x1801a9
callq 0x9510
cmpl $0x0, %eax
jne 0x34b3a
callq 0x2ea80
mulsd 0x36d02a(%rip), %xmm0   # 0x3a1b50
movsd %xmm0, -0x10(%rbp)
movsd -0x10(%rbp), %xmm0
callq 0x2ee20
jmp 0x35c6f
leaq 0x3660df(%rip), %rdi    # 0x39ac20
leaq 0x14f8e3(%rip), %rsi    # 0x18442b
callq 0x9510
cmpl $0x0, %eax
jne 0x34b7b
movsd 0x36cffe(%rip), %xmm0   # 0x3a1b58
subsd 0x36cfee(%rip), %xmm0   # 0x3a1b50
movsd %xmm0, -0x10(%rbp)
callq 0x2ea80
movsd -0x10(%rbp), %xmm0
callq 0x2ee20
jmp 0x35c6d
leaq 0x36609e(%rip), %rdi    # 0x39ac20
leaq 0x13b3df(%rip), %rsi    # 0x16ff68
callq 0x9510
cmpl $0x0, %eax
jne 0x34bbc
movsd 0x36cfbd(%rip), %xmm0   # 0x3a1b58
divsd 0x36cfad(%rip), %xmm0   # 0x3a1b50
movsd %xmm0, -0x10(%rbp)
callq 0x2ea80
movsd -0x10(%rbp), %xmm0
callq 0x2ee20
jmp 0x35c6b
leaq 0x36605d(%rip), %rdi    # 0x39ac20
leaq 0x13d6b2(%rip), %rsi    # 0x17227c
callq 0x9510
cmpl $0x0, %eax
jne 0x34bfa
callq 0x2ea80
movsd %xmm0, -0x10(%rbp)
movsd 0x36cf6a(%rip), %xmm0   # 0x3a1b50
movsd -0x10(%rbp), %xmm1
callq 0x94d0
callq 0x2ee20
jmp 0x35c69
leaq 0x36601f(%rip), %rdi    # 0x39ac20
leaq 0x13d678(%rip), %rsi    # 0x172280
callq 0x9510
cmpl $0x0, %eax
jne 0x34c41
movsd 0x36d2ee(%rip), %xmm0   # 0x3a1f08
movsd %xmm0, -0x10(%rbp)
xorps %xmm0, %xmm0
subsd 0x36cf26(%rip), %xmm0   # 0x3a1b50
callq 0x2ede0
movsd -0x10(%rbp), %xmm0
movsd %xmm0, 0x36d2cc(%rip)   # 0x3a1f08
jmp 0x35c67
leaq 0x365fd8(%rip), %rdi    # 0x39ac20
leaq 0x13d635(%rip), %rsi    # 0x172284
callq 0x9510
cmpl $0x0, %eax
jne 0x34c73
movsd 0x13a407(%rip), %xmm0   # 0x16f068
divsd 0x36cee7(%rip), %xmm0   # 0x3a1b50
callq 0x2ede0
jmp 0x35c65
leaq 0x365fa6(%rip), %rdi    # 0x39ac20
leaq 0x13d607(%rip), %rsi    # 0x172288
callq 0x9510
cmpl $0x0, %eax
jne 0x34ca8
movsd 0x36cebd(%rip), %xmm0   # 0x3a1b50
movaps 0x13a5f6(%rip), %xmm1   # 0x16f290
pand %xmm1, %xmm0
callq 0x2ede0
jmp 0x35c63
leaq 0x365f71(%rip), %rdi    # 0x39ac20
leaq 0x1536b1(%rip), %rsi    # 0x188367
callq 0x9510
cmpl $0x0, %eax
jne 0x34cd6
cvttsd2si 0x36ce88(%rip), %eax # 0x3a1b50
cvtsi2sd %eax, %xmm0
callq 0x2ede0
jmp 0x35c61
leaq 0x365f43(%rip), %rdi    # 0x39ac20
leaq 0x13d5a8(%rip), %rsi    # 0x17228c
callq 0x9510
cmpl $0x0, %eax
jne 0x34d10
movsd 0x36ce5a(%rip), %xmm0   # 0x3a1b50
cvttsd2si 0x36ce52(%rip), %eax # 0x3a1b50
cvtsi2sd %eax, %xmm1
subsd %xmm1, %xmm0
callq 0x2ede0
jmp 0x35c5f
leaq 0x365f09(%rip), %rdi    # 0x39ac20
leaq 0x13d573(%rip), %rsi    # 0x172291
callq 0x9510
cmpl $0x0, %eax
jne 0x34d52
movsd 0x36ce20(%rip), %xmm0   # 0x3a1b50
movsd 0x13a368(%rip), %xmm1   # 0x16f0a0
mulsd %xmm1, %xmm0
movsd 0x13a38c(%rip), %xmm1   # 0x16f0d0
addsd %xmm1, %xmm0
callq 0x2ede0
jmp 0x35c5d
leaq 0x365ec7(%rip), %rdi    # 0x39ac20
leaq 0x13d536(%rip), %rsi    # 0x172296
callq 0x9510
cmpl $0x0, %eax
jne 0x34d94
movsd 0x36cdde(%rip), %xmm0   # 0x3a1b50
movsd 0x13a356(%rip), %xmm1   # 0x16f0d0
subsd %xmm1, %xmm0
movsd 0x13c8a2(%rip), %xmm1   # 0x171628
mulsd %xmm1, %xmm0
callq 0x2ede0
jmp 0x35c5b
leaq 0x365e85(%rip), %rdi    # 0x39ac20
leaq 0x13d4f9(%rip), %rsi    # 0x17229b
callq 0x9510
cmpl $0x0, %eax
jne 0x34dca
movsd 0x36cd9c(%rip), %xmm0   # 0x3a1b50
movsd 0x13c874(%rip), %xmm1   # 0x171630
divsd %xmm1, %xmm0
callq 0x2ede0
jmp 0x35c59
leaq 0x365e4f(%rip), %rdi    # 0x39ac20
leaq 0x13d4c8(%rip), %rsi    # 0x1722a0
callq 0x9510
cmpl $0x0, %eax
jne 0x34dfc
movsd 0x13c846(%rip), %xmm0   # 0x171630
mulsd 0x36cd5e(%rip), %xmm0   # 0x3a1b50
callq 0x2ede0
jmp 0x35c57
leaq 0x365e1d(%rip), %rdi    # 0x39ac20
leaq 0x13b62f(%rip), %rsi    # 0x170439
callq 0x9510
cmpl $0x0, %eax
jne 0x34e1e
callq 0x2f1c0
jmp 0x35c55
leaq 0x365dfb(%rip), %rdi    # 0x39ac20
leaq 0x163e96(%rip), %rsi    # 0x198cc2
callq 0x9510
cmpl $0x0, %eax
jne 0x34e40
callq 0x2f240
jmp 0x35c53
leaq 0x365dd9(%rip), %rdi    # 0x39ac20
leaq 0x13a77b(%rip), %rsi    # 0x16f5c9
callq 0x9510
cmpl $0x0, %eax
jne 0x34eed
movsd 0x36ccf4(%rip), %xmm0   # 0x3a1b58
movsd 0x13c764(%rip), %xmm2   # 0x1715d0
movaps %xmm0, %xmm1
subsd %xmm2, %xmm1
cvttsd2si %xmm1, %rcx
cvttsd2si %xmm0, %rax
movq %rax, %rdx
sarq $0x3f, %rdx
andq %rdx, %rcx
orq %rcx, %rax
movsd 0x36ccbe(%rip), %xmm0   # 0x3a1b50
movaps %xmm0, %xmm1
subsd %xmm2, %xmm1
cvttsd2si %xmm1, %rdx
cvttsd2si %xmm0, %rcx
movq %rcx, %rsi
sarq $0x3f, %rsi
andq %rsi, %rdx
orq %rdx, %rcx
andq %rcx, %rax
movq %rax, -0x18(%rbp)
callq 0x2ea80
movaps 0x13ca4d(%rip), %xmm1   # 0x171910
movq -0x18(%rbp), %xmm0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x13ca4c(%rip), %xmm1   # 0x171920
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
callq 0x2ee20
jmp 0x35c51
leaq 0x365d2c(%rip), %rdi    # 0x39ac20
leaq 0x13b07f(%rip), %rsi    # 0x16ff7a
callq 0x9510
cmpl $0x0, %eax
jne 0x34f9a
movsd 0x36cc47(%rip), %xmm0   # 0x3a1b58
movsd 0x13c6b7(%rip), %xmm2   # 0x1715d0
movaps %xmm0, %xmm1
subsd %xmm2, %xmm1
cvttsd2si %xmm1, %rcx
cvttsd2si %xmm0, %rax
movq %rax, %rdx
sarq $0x3f, %rdx
andq %rdx, %rcx
orq %rcx, %rax
movsd 0x36cc11(%rip), %xmm0   # 0x3a1b50
movaps %xmm0, %xmm1
subsd %xmm2, %xmm1
cvttsd2si %xmm1, %rdx
cvttsd2si %xmm0, %rcx
movq %rcx, %rsi
sarq $0x3f, %rsi
andq %rsi, %rdx
orq %rdx, %rcx
orq %rcx, %rax
movq %rax, -0x18(%rbp)
callq 0x2ea80
movaps 0x13c9a0(%rip), %xmm1   # 0x171910
movq -0x18(%rbp), %xmm0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x13c99f(%rip), %xmm1   # 0x171920
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
callq 0x2ee20
jmp 0x35c4f
leaq 0x365c7f(%rip), %rdi    # 0x39ac20
leaq 0x13afcc(%rip), %rsi    # 0x16ff74
callq 0x9510
cmpl $0x0, %eax
jne 0x35047
movsd 0x36cb9a(%rip), %xmm0   # 0x3a1b58
movsd 0x13c60a(%rip), %xmm2   # 0x1715d0
movaps %xmm0, %xmm1
subsd %xmm2, %xmm1
cvttsd2si %xmm1, %rcx
cvttsd2si %xmm0, %rax
movq %rax, %rdx
sarq $0x3f, %rdx
andq %rdx, %rcx
orq %rcx, %rax
movsd 0x36cb64(%rip), %xmm0   # 0x3a1b50
movaps %xmm0, %xmm1
subsd %xmm2, %xmm1
cvttsd2si %xmm1, %rdx
cvttsd2si %xmm0, %rcx
movq %rcx, %rsi
sarq $0x3f, %rsi
andq %rsi, %rdx
orq %rdx, %rcx
xorq %rcx, %rax
movq %rax, -0x18(%rbp)
callq 0x2ea80
movaps 0x13c8f3(%rip), %xmm1   # 0x171910
movq -0x18(%rbp), %xmm0
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x13c8f2(%rip), %xmm1   # 0x171920
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
callq 0x2ee20
jmp 0x35c4d
leaq 0x365bd2(%rip), %rdi    # 0x39ac20
leaq 0x13af19(%rip), %rsi    # 0x16ff6e
callq 0x9510
cmpl $0x0, %eax
jne 0x350ce
movsd 0x36cae9(%rip), %xmm0   # 0x3a1b50
movsd 0x13c561(%rip), %xmm2   # 0x1715d0
movaps %xmm0, %xmm1
subsd %xmm2, %xmm1
cvttsd2si %xmm1, %rcx
cvttsd2si %xmm0, %rax
movq %rax, %rdx
sarq $0x3f, %rdx
andq %rdx, %rcx
orq %rcx, %rax
movq %rax, -0x18(%rbp)
callq 0x2ea80
movq -0x18(%rbp), %rax
notq %rax
movq %rax, %xmm0
movaps 0x13c867(%rip), %xmm1   # 0x171910
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0x13c86b(%rip), %xmm1   # 0x171920
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
callq 0x2ee20
jmp 0x35c4b
leaq 0x365b4b(%rip), %rdi    # 0x39ac20
leaq 0x13d1c9(%rip), %rsi    # 0x1722a5
movl $0x2, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x350f5
callq 0x30580
jmp 0x35c49
leaq 0x365b24(%rip), %rdi    # 0x39ac20
leaq 0x13d1a5(%rip), %rsi    # 0x1722a8
movl $0x2, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x3511c
callq 0x30650
jmp 0x35c47
leaq 0x365afd(%rip), %rdi    # 0x39ac20
leaq 0x13d181(%rip), %rsi    # 0x1722ab
callq 0x9510
cmpl $0x0, %eax
jne 0x35149
movsd 0x13a044(%rip), %xmm0   # 0x16f180
movsd %xmm0, 0x193f04(%rip)   # 0x1c9048
jmp 0x35c45
leaq 0x365ad0(%rip), %rdi    # 0x39ac20
leaq 0x13c940(%rip), %rsi    # 0x171a97
callq 0x9510
cmpl $0x0, %eax
jne 0x35176
movsd 0x139eff(%rip), %xmm0   # 0x16f068
movsd %xmm0, 0x193ed7(%rip)   # 0x1c9048
jmp 0x35c43
leaq 0x365aa3(%rip), %rdi    # 0x39ac20
leaq 0x13d12c(%rip), %rsi    # 0x1722b0
callq 0x9510
cmpl $0x0, %eax
jne 0x351ad
movsd 0x36c9ba(%rip), %xmm0   # 0x3a1b50
divsd 0x193eaa(%rip), %xmm0   # 0x1c9048
callq 0x9080
callq 0x2ede0
jmp 0x35c41
leaq 0x365a6c(%rip), %rdi    # 0x39ac20
leaq 0x13d0fa(%rip), %rsi    # 0x1722b5
callq 0x9510
cmpl $0x0, %eax
jne 0x351e4
movsd 0x36c983(%rip), %xmm0   # 0x3a1b50
divsd 0x193e73(%rip), %xmm0   # 0x1c9048
callq 0x96f0
callq 0x2ede0
jmp 0x35c3f
leaq 0x365a35(%rip), %rdi    # 0x39ac20
leaq 0x13d0c8(%rip), %rsi    # 0x1722ba
callq 0x9510
cmpl $0x0, %eax
jne 0x3521b
movsd 0x36c94c(%rip), %xmm0   # 0x3a1b50
divsd 0x193e3c(%rip), %xmm0   # 0x1c9048
callq 0x91b0
callq 0x2ede0
jmp 0x35c3d
leaq 0x3659fe(%rip), %rdi    # 0x39ac20
leaq 0x13d086(%rip), %rsi    # 0x1722af
callq 0x9510
cmpl $0x0, %eax
jne 0x35252
movsd 0x36c915(%rip), %xmm0   # 0x3a1b50
callq 0x9640
mulsd 0x193e00(%rip), %xmm0   # 0x1c9048
callq 0x2ede0
jmp 0x35c3b
leaq 0x3659c7(%rip), %rdi    # 0x39ac20
leaq 0x13d054(%rip), %rsi    # 0x1722b4
callq 0x9510
cmpl $0x0, %eax
jne 0x35289
movsd 0x36c8de(%rip), %xmm0   # 0x3a1b50
callq 0x9360
mulsd 0x193dc9(%rip), %xmm0   # 0x1c9048
callq 0x2ede0
jmp 0x35c39
leaq 0x365990(%rip), %rdi    # 0x39ac20
leaq 0x13d022(%rip), %rsi    # 0x1722b9
callq 0x9510
cmpl $0x0, %eax
jne 0x352c0
movsd 0x36c8a7(%rip), %xmm0   # 0x3a1b50
callq 0x92e0
mulsd 0x193d92(%rip), %xmm0   # 0x1c9048
callq 0x2ede0
jmp 0x35c37
leaq 0x365959(%rip), %rdi    # 0x39ac20
leaq 0x13cff0(%rip), %rsi    # 0x1722be
callq 0x9510
cmpl $0x0, %eax
jne 0x35306
callq 0x2ea80
movsd %xmm0, -0x10(%rbp)
movsd 0x36c866(%rip), %xmm0   # 0x3a1b50
movsd -0x10(%rbp), %xmm1
callq 0x9050
mulsd 0x193d4c(%rip), %xmm0   # 0x1c9048
callq 0x2ee20
jmp 0x35c35
leaq 0x365913(%rip), %rdi    # 0x39ac20
leaq 0x13cfb0(%rip), %rsi    # 0x1722c4
callq 0x9510
cmpl $0x0, %eax
jne 0x35344
movsd 0x139d52(%rip), %xmm0   # 0x16f078
mulsd 0x36c822(%rip), %xmm0   # 0x3a1b50
movsd 0x13c292(%rip), %xmm1   # 0x1715c8
divsd %xmm1, %xmm0
callq 0x2ede0
jmp 0x35c33
leaq 0x3658d5(%rip), %rdi    # 0x39ac20
leaq 0x13cf77(%rip), %rsi    # 0x1722c9
callq 0x9510
cmpl $0x0, %eax
jne 0x35382
movsd 0x13c264(%rip), %xmm0   # 0x1715c8
mulsd 0x36c7e4(%rip), %xmm0   # 0x3a1b50
movsd 0x139d04(%rip), %xmm1   # 0x16f078
divsd %xmm1, %xmm0
callq 0x2ede0
jmp 0x35c31
leaq 0x365897(%rip), %rdi    # 0x39ac20
leaq 0x13cf3e(%rip), %rsi    # 0x1722ce
callq 0x9510
cmpl $0x0, %eax
jne 0x353a4
callq 0x2f2c0
jmp 0x35c2f
leaq 0x365875(%rip), %rdi    # 0x39ac20
leaq 0x13cf21(%rip), %rsi    # 0x1722d3
callq 0x9510
cmpl $0x0, %eax
jne 0x353c6
callq 0x2f360
jmp 0x35c2d
leaq 0x365853(%rip), %rdi    # 0x39ac20
leaq 0x13cf04(%rip), %rsi    # 0x1722d8
callq 0x9510
cmpl $0x0, %eax
jne 0x35423
callq 0x2ea80
movsd %xmm0, -0x10(%rbp)
movsd -0x10(%rbp), %xmm0
movsd -0x10(%rbp), %xmm2
movsd 0x36c756(%rip), %xmm1   # 0x3a1b50
mulsd 0x36c74e(%rip), %xmm1   # 0x3a1b50
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
callq 0x9280
movsd %xmm0, -0x10(%rbp)
movsd -0x10(%rbp), %xmm0
callq 0x2ee20
jmp 0x35c2b
leaq 0x3657f6(%rip), %rdi    # 0x39ac20
leaq 0x13ceac(%rip), %rsi    # 0x1722dd
callq 0x9510
cmpl $0x0, %eax
jne 0x35445
callq 0x2fdd0
jmp 0x35c29
leaq 0x3657d4(%rip), %rdi    # 0x39ac20
leaq 0x13ce8f(%rip), %rsi    # 0x1722e2
callq 0x9510
cmpl $0x0, %eax
jne 0x35467
callq 0x30180
jmp 0x35c27
leaq 0x3657b2(%rip), %rdi    # 0x39ac20
leaq 0x15fe43(%rip), %rsi    # 0x1952b8
callq 0x9510
cmpl $0x0, %eax
jne 0x35489
callq 0x30070
jmp 0x35c25
leaq 0x365790(%rip), %rdi    # 0x39ac20
leaq 0x13c63b(%rip), %rsi    # 0x171ad2
callq 0x9510
cmpl $0x0, %eax
jne 0x354ab
callq 0x30440
jmp 0x35c23
leaq 0x36576e(%rip), %rdi    # 0x39ac20
leaq 0x13ce2d(%rip), %rsi    # 0x1722e6
callq 0x9510
cmpl $0x0, %eax
jne 0x354cd
callq 0x2fe80
jmp 0x35c21
leaq 0x36574c(%rip), %rdi    # 0x39ac20
leaq 0x13ce0f(%rip), %rsi    # 0x1722ea
callq 0x9510
cmpl $0x0, %eax
jne 0x354ef
callq 0x2ff90
jmp 0x35c1f
leaq 0x36572a(%rip), %rdi    # 0x39ac20
leaq 0x13cdf5(%rip), %rsi    # 0x1722f2
callq 0x9510
cmpl $0x0, %eax
jne 0x3551e
movsd 0x36c641(%rip), %xmm0   # 0x3a1b50
callq 0x92a0
callq 0x2ede0
jmp 0x35c1d
leaq 0x3656fb(%rip), %rdi    # 0x39ac20
leaq 0x13c5d7(%rip), %rsi    # 0x171b03
callq 0x9510
cmpl $0x0, %eax
jne 0x3554d
movsd 0x36c612(%rip), %xmm0   # 0x3a1b50
callq 0x9160
callq 0x2ede0
jmp 0x35c1b
leaq 0x3656cc(%rip), %rdi    # 0x39ac20
leaq 0x13cd9a(%rip), %rsi    # 0x1722f5
callq 0x9510
cmpl $0x0, %eax
jne 0x3557c
movsd 0x36c5e3(%rip), %xmm0   # 0x3a1b50
callq 0x9280
callq 0x2ede0
jmp 0x35c19
leaq 0x36569d(%rip), %rdi    # 0x39ac20
leaq 0x13cd70(%rip), %rsi    # 0x1722fa
callq 0x9510
cmpl $0x0, %eax
jne 0x355ae
movsd 0x36c5b4(%rip), %xmm0   # 0x3a1b50
mulsd 0x36c5ac(%rip), %xmm0   # 0x3a1b50
callq 0x2ede0
jmp 0x35c17
leaq 0x36566b(%rip), %rdi    # 0x39ac20
leaq 0x13cd42(%rip), %rsi    # 0x1722fe
callq 0x9510
cmpl $0x0, %eax
jne 0x355e5
movsd 0x36c582(%rip), %xmm1   # 0x3a1b50
movsd 0x13c01a(%rip), %xmm0   # 0x1715f0
callq 0x9690
callq 0x2ede0
jmp 0x35c15
leaq 0x365634(%rip), %rdi    # 0x39ac20
leaq 0x13cd0f(%rip), %rsi    # 0x172302
callq 0x9510
cmpl $0x0, %eax
jne 0x3561c
movsd 0x36c54b(%rip), %xmm1   # 0x3a1b50
movsd 0x13bfe3(%rip), %xmm0   # 0x1715f0
callq 0x9690
callq 0x2ede0
jmp 0x35c13
leaq 0x3655fd(%rip), %rdi    # 0x39ac20
leaq 0x13ccdd(%rip), %rsi    # 0x172307
callq 0x9510
cmpl $0x0, %eax
jne 0x35653
movsd 0x36c514(%rip), %xmm1   # 0x3a1b50
movsd 0x139a7c(%rip), %xmm0   # 0x16f0c0
callq 0x9690
callq 0x2ede0
jmp 0x35c11
leaq 0x3655c6(%rip), %rdi    # 0x39ac20
leaq 0x13ccac(%rip), %rsi    # 0x17230d
callq 0x9510
cmpl $0x0, %eax
jne 0x35691
callq 0x2ea80
movsd %xmm0, -0x10(%rbp)
movsd 0x36c4d3(%rip), %xmm0   # 0x3a1b50
movsd -0x10(%rbp), %xmm1
callq 0x9690
callq 0x2ee20
jmp 0x35c0f
leaq 0x365588(%rip), %rdi    # 0x39ac20
leaq 0x13cc72(%rip), %rsi    # 0x172311
callq 0x9510
cmpl $0x0, %eax
jne 0x356cf
callq 0x2ea80
movsd %xmm0, -0x10(%rbp)
movsd 0x36c495(%rip), %xmm0   # 0x3a1b50
movsd -0x10(%rbp), %xmm1
callq 0x9690
callq 0x2ee20
jmp 0x35c0d
leaq 0x36554a(%rip), %rdi    # 0x39ac20
leaq 0x159e54(%rip), %rsi    # 0x18f531
callq 0x9510
cmpl $0x0, %eax
jne 0x35716
movsd 0x36c461(%rip), %xmm0   # 0x3a1b50
movsd %xmm0, -0x10(%rbp)
movsd 0x36c45c(%rip), %xmm0   # 0x3a1b58
movsd %xmm0, 0x36c44c(%rip)   # 0x3a1b50
movsd -0x10(%rbp), %xmm0
movsd %xmm0, 0x36c447(%rip)   # 0x3a1b58
jmp 0x35c0b
leaq 0x365503(%rip), %rdi    # 0x39ac20
leaq 0x14d2f9(%rip), %rsi    # 0x182a1d
callq 0x9510
cmpl $0x0, %eax
jne 0x35740
movsd 0x36c41a(%rip), %xmm0   # 0x3a1b50
callq 0x2eba0
jmp 0x35c09
leaq 0x3654d9(%rip), %rdi    # 0x39ac20
leaq 0x13cbc6(%rip), %rsi    # 0x172314
callq 0x9510
cmpl $0x0, %eax
jne 0x3576a
movsd 0x36c3f0(%rip), %xmm0   # 0x3a1b50
callq 0x2eba0
jmp 0x35c07
leaq 0x3654af(%rip), %rdi    # 0x39ac20
leaq 0x13cba2(%rip), %rsi    # 0x17231a
callq 0x9510
cmpl $0x0, %eax
jne 0x3579c
xorps %xmm0, %xmm0
movsd %xmm0, 0x36c3c3(%rip)   # 0x3a1b50
movl $0x1, 0x36c779(%rip)    # 0x3a1f10
jmp 0x35c05
leaq 0x36547d(%rip), %rdi    # 0x39ac20
leaq 0x13cb74(%rip), %rsi    # 0x17231e
callq 0x9510
cmpl $0x0, %eax
jne 0x357c3
movl $0x1, %edi
callq 0x2e7f0
jmp 0x35c03
leaq 0x365456(%rip), %rdi    # 0x39ac20
leaq 0x13cb51(%rip), %rsi    # 0x172322
callq 0x9510
cmpl $0x0, %eax
jne 0x357ea
movl $0x2, %edi
callq 0x2e7f0
jmp 0x35c01
leaq 0x36542f(%rip), %rdi    # 0x39ac20
leaq 0x13c55f(%rip), %rsi    # 0x171d57
callq 0x9510
cmpl $0x0, %eax
jne 0x35811
movl $0x3, %edi
callq 0x2e7f0
jmp 0x35bff
leaq 0x365408(%rip), %rdi    # 0x39ac20
leaq 0x13cb07(%rip), %rsi    # 0x172326
movl $0x4, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x35838
callq 0x2eb00
jmp 0x35bfd
leaq 0x3653e1(%rip), %rdi    # 0x39ac20
leaq 0x13cae5(%rip), %rsi    # 0x17232b
movl $0x4, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x3585f
callq 0x2e890
jmp 0x35bfb
leaq 0x3653ba(%rip), %rdi    # 0x39ac20
leaq 0x14fff3(%rip), %rsi    # 0x185860
movl $0x4, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x35886
callq 0x2e890
jmp 0x35bf9
leaq 0x365393(%rip), %rdi    # 0x39ac20
leaq 0x15f503(%rip), %rsi    # 0x194d97
movl $0x2, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x358ad
callq 0x2e980
jmp 0x35bf7
leaq 0x36536c(%rip), %rdi    # 0x39ac20
leaq 0x13ca75(%rip), %rsi    # 0x172330
movl $0x3, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x358d4
callq 0x2ee50
jmp 0x35bf5
leaq 0x365345(%rip), %rdi    # 0x39ac20
leaq 0x13ca52(%rip), %rsi    # 0x172334
movl $0x3, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x358fb
callq 0x2f020
jmp 0x35bf3
leaq 0x36531e(%rip), %rdi    # 0x39ac20
leaq 0x13ca2f(%rip), %rsi    # 0x172338
movl $0x5, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x35922
callq 0x2ec80
jmp 0x35bf1
leaq 0x3652f7(%rip), %rdi    # 0x39ac20
leaq 0x13ca0e(%rip), %rsi    # 0x17233e
movl $0x4, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x35949
callq 0x2ed20
jmp 0x35bef
leaq 0x3652d0(%rip), %rdi    # 0x39ac20
leaq 0x144787(%rip), %rsi    # 0x17a0de
movl $0x4, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x35970
callq 0x30720
jmp 0x35bed
leaq 0x3652a9(%rip), %rdi    # 0x39ac20
leaq 0x15f374(%rip), %rsi    # 0x194cf2
movl $0x3, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x359b0
movl $0x0, 0x36c589(%rip)    # 0x3a1f20
movl $0x0, 0x36c587(%rip)    # 0x3a1f28
movl $0x1, %edi
callq 0x307a0
jmp 0x35beb
leaq 0x365269(%rip), %rdi    # 0x39ac20
leaq 0x13c985(%rip), %rsi    # 0x172343
movl $0x3, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x359f0
movl $0x0, 0x36c549(%rip)    # 0x3a1f20
movl $0x0, 0x36c547(%rip)    # 0x3a1f28
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x307a0
jmp 0x35be9
leaq 0x365229(%rip), %rdi    # 0x39ac20
leaq 0x13c949(%rip), %rsi    # 0x172347
movl $0x3, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x35a30
movl $0x0, 0x36c509(%rip)    # 0x3a1f20
movl $0x1, 0x36c507(%rip)    # 0x3a1f28
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x307a0
jmp 0x35be7
leaq 0x3651e9(%rip), %rdi    # 0x39ac20
leaq 0x14dcc1(%rip), %rsi    # 0x1836ff
movl $0x3, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x35a66
movl $0x10, 0x36c4c9(%rip)   # 0x3a1f20
movl $0x1, %edi
callq 0x307a0
jmp 0x35be5
leaq 0x3651b3(%rip), %rdi    # 0x39ac20
leaq 0x13c8d7(%rip), %rsi    # 0x17234b
movl $0x3, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x35a9c
movl $0x8, 0x36c493(%rip)    # 0x3a1f20
movl $0x1, %edi
callq 0x307a0
jmp 0x35be3
leaq 0x36517d(%rip), %rdi    # 0x39ac20
leaq 0x13c8a5(%rip), %rsi    # 0x17234f
movl $0x3, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x35ad2
movl $0x2, 0x36c45d(%rip)    # 0x3a1f20
movl $0x1, %edi
callq 0x307a0
jmp 0x35be1
leaq 0x365147(%rip), %rdi    # 0x39ac20
leaq 0x13c873(%rip), %rsi    # 0x172353
movl $0x5, %edx
callq 0x9140
cmpl $0x0, %eax
jne 0x35af9
callq 0x337d0
jmp 0x35bdf
leaq 0x365120(%rip), %rdi    # 0x39ac20
leaq 0x13c41e(%rip), %rsi    # 0x171f25
callq 0x9510
cmpl $0x0, %eax
jne 0x35b1d
xorl %edi, %edi
callq 0x30a50
jmp 0x35bdd
leaq 0x3650fc(%rip), %rdi    # 0x39ac20
leaq 0x13c82e(%rip), %rsi    # 0x172359
callq 0x9510
cmpl $0x0, %eax
jne 0x35b3f
callq 0x318e0
jmp 0x35bdb
leaq 0x3650da(%rip), %rdi    # 0x39ac20
leaq 0x13c811(%rip), %rsi    # 0x17235e
callq 0x9510
cmpl $0x0, %eax
jne 0x35b60
xorl %edi, %edi
callq 0x31b70
jmp 0x35bd9
leaq 0x3650b9(%rip), %rdi    # 0x39ac20
leaq 0x13c7f9(%rip), %rsi    # 0x172367
callq 0x9510
cmpl $0x0, %eax
jne 0x35b84
movl $0x1, %edi
callq 0x31b70
jmp 0x35bd7
leaq 0x365095(%rip), %rdi    # 0x39ac20
leaq 0x13be08(%rip), %rsi    # 0x17199a
callq 0x9510
cmpl $0x0, %eax
jne 0x35ba3
callq 0x31cd0
jmp 0x35bd5
leaq 0x365076(%rip), %rdi    # 0x39ac20
leaq 0x13c7be(%rip), %rsi    # 0x17236f
callq 0x9510
cmpl $0x0, %eax
jne 0x35bc7
movl $0x3db, %edi            # imm = 0x3DB
callq 0x100f0
jmp 0x35bd3
movl $0x0, -0x4(%rbp)
jmp 0x35c78
jmp 0x35bd5
jmp 0x35bd7
jmp 0x35bd9
jmp 0x35bdb
jmp 0x35bdd
jmp 0x35bdf
jmp 0x35be1
jmp 0x35be3
jmp 0x35be5
jmp 0x35be7
jmp 0x35be9
jmp 0x35beb
jmp 0x35bed
jmp 0x35bef
jmp 0x35bf1
jmp 0x35bf3
jmp 0x35bf5
jmp 0x35bf7
jmp 0x35bf9
jmp 0x35bfb
jmp 0x35bfd
jmp 0x35bff
jmp 0x35c01
jmp 0x35c03
jmp 0x35c05
jmp 0x35c07
jmp 0x35c09
jmp 0x35c0b
jmp 0x35c0d
jmp 0x35c0f
jmp 0x35c11
jmp 0x35c13
jmp 0x35c15
jmp 0x35c17
jmp 0x35c19
jmp 0x35c1b
jmp 0x35c1d
jmp 0x35c1f
jmp 0x35c21
jmp 0x35c23
jmp 0x35c25
jmp 0x35c27
jmp 0x35c29
jmp 0x35c2b
jmp 0x35c2d
jmp 0x35c2f
jmp 0x35c31
jmp 0x35c33
jmp 0x35c35
jmp 0x35c37
jmp 0x35c39
jmp 0x35c3b
jmp 0x35c3d
jmp 0x35c3f
jmp 0x35c41
jmp 0x35c43
jmp 0x35c45
jmp 0x35c47
jmp 0x35c49
jmp 0x35c4b
jmp 0x35c4d
jmp 0x35c4f
jmp 0x35c51
jmp 0x35c53
jmp 0x35c55
jmp 0x35c57
jmp 0x35c59
jmp 0x35c5b
jmp 0x35c5d
jmp 0x35c5f
jmp 0x35c61
jmp 0x35c63
jmp 0x35c65
jmp 0x35c67
jmp 0x35c69
jmp 0x35c6b
jmp 0x35c6d
jmp 0x35c6f
jmp 0x35c71
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)