// File: /workspace/github_cpp_makefile_star2_O2/ArashPartow[P]exprtk/./exprtk.hpp
// Function: double exprtk::details::numeric::details::process_impl<double>(exprtk::details::operator_type, double)
inline T process_impl(const operator_type operation, const T arg)
            {
               switch (operation)
               {
                  case e_abs   : return numeric::abs  (arg);
                  case e_acos  : return numeric::acos (arg);
                  case e_acosh : return numeric::acosh(arg);
                  case e_asin  : return numeric::asin (arg);
                  case e_asinh : return numeric::asinh(arg);
                  case e_atan  : return numeric::atan (arg);
                  case e_atanh : return numeric::atanh(arg);
                  case e_ceil  : return numeric::ceil (arg);
                  case e_cos   : return numeric::cos  (arg);
                  case e_cosh  : return numeric::cosh (arg);
                  case e_exp   : return numeric::exp  (arg);
                  case e_expm1 : return numeric::expm1(arg);
                  case e_floor : return numeric::floor(arg);
                  case e_log   : return numeric::log  (arg);
                  case e_log10 : return numeric::log10(arg);
                  case e_log2  : return numeric::log2 (arg);
                  case e_log1p : return numeric::log1p(arg);
                  case e_neg   : return numeric::neg  (arg);
                  case e_pos   : return numeric::pos  (arg);
                  case e_round : return numeric::round(arg);
                  case e_sin   : return numeric::sin  (arg);
                  case e_sinc  : return numeric::sinc (arg);
                  case e_sinh  : return numeric::sinh (arg);
                  case e_sqrt  : return numeric::sqrt (arg);
                  case e_tan   : return numeric::tan  (arg);
                  case e_tanh  : return numeric::tanh (arg);
                  case e_cot   : return numeric::cot  (arg);
                  case e_sec   : return numeric::sec  (arg);
                  case e_csc   : return numeric::csc  (arg);
                  case e_r2d   : return numeric::r2d  (arg);
                  case e_d2r   : return numeric::d2r  (arg);
                  case e_d2g   : return numeric::d2g  (arg);
                  case e_g2d   : return numeric::g2d  (arg);
                  case e_notl  : return numeric::notl (arg);
                  case e_sgn   : return numeric::sgn  (arg);
                  case e_erf   : return numeric::erf  (arg);
                  case e_erfc  : return numeric::erfc (arg);
                  case e_ncdf  : return numeric::ncdf (arg);
                  case e_frac  : return numeric::frac (arg);
                  case e_trunc : return numeric::trunc(arg);

                  default      : exprtk_debug(("numeric::details::process_impl<T> - Invalid unary operation.\n"));
                                 return std::numeric_limits<T>::quiet_NaN();
               }
            }

// Assembly:
subq $0x18, %rsp
addl $-0x22, %edi
cmpl $0x2e, %edi
ja 0x20f3dc
movapd %xmm0, %xmm3
leaq 0xc0f08(%rip), %rax     # 0x2d006c
movslq (%rax,%rdi,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movapd 0xbf00b(%rip), %xmm0    # 0x2ce180
xorpd %xmm3, %xmm0
maxsd %xmm3, %xmm0
movapd %xmm0, %xmm3
jmp 0x20f3fd
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x1183a0
movapd %xmm3, %xmm0
movapd %xmm3, (%rsp)
callq 0x1183a0
movapd (%rsp), %xmm3
subsd %xmm0, %xmm3
jmp 0x20f3fd
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x118430
xorpd 0xbefbc(%rip), %xmm3    # 0x2ce180
jmp 0x20f3fd
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x1181c0
movapd %xmm3, %xmm0
callq 0x1181c0
jmp 0x20f2e4
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x1183b0
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x118160
mulsd 0xbf102(%rip), %xmm3    # 0x2ce308
jmp 0x20f3fd
movapd %xmm3, %xmm0
callq 0x1182e0
jmp 0x20f2e4
movapd 0xbef6f(%rip), %xmm0    # 0x2ce190
andpd %xmm3, %xmm0
ucomisd 0xbf0bb(%rip), %xmm0    # 0x2ce2e8
jae 0x20f3e6
movsd 0xbef85(%rip), %xmm3    # 0x2ce1c0
jmp 0x20f3fd
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x1184c0
xorpd %xmm0, %xmm0
ucomisd %xmm3, %xmm0
jbe 0x20f406
addsd 0xbf07d(%rip), %xmm3    # 0x2ce2e0
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x118590
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x118340
xorpd %xmm0, %xmm0
movapd %xmm3, %xmm1
cmpltsd %xmm0, %xmm1
movsd 0xbef96(%rip), %xmm2    # 0x2ce228
andpd %xmm1, %xmm2
cmpltsd %xmm3, %xmm0
movsd 0xbef1d(%rip), %xmm3    # 0x2ce1c0
andpd %xmm0, %xmm3
andnpd %xmm2, %xmm0
orpd %xmm0, %xmm3
jmp 0x20f3fd
mulsd 0xbf03c(%rip), %xmm3    # 0x2ce2f8
jmp 0x20f3fd
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x1185e0
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x1180f0
movapd %xmm3, %xmm0
callq 0x118500
movsd 0xbeed4(%rip), %xmm3    # 0x2ce1c0
divsd %xmm0, %xmm3
jmp 0x20f3fd
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x118610
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x118440
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x118120
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x1182c0
mulsd 0xbefbf(%rip), %xmm3    # 0x2ce2f0
jmp 0x20f3fd
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x1183c0
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x118400
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x1a3193
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x118500
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x118420
xorpd %xmm0, %xmm0
cmpneqsd %xmm0, %xmm3
movsd 0xbee38(%rip), %xmm0    # 0x2ce1c0
andnpd %xmm0, %xmm3
jmp 0x20f3fd
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x1a3183
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm3
jb 0x20f41b
sqrtsd %xmm3, %xmm3
jmp 0x20f3fd
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x1184f0
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x1182e0
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x118630
mulsd 0xbef26(%rip), %xmm3    # 0x2ce300
jmp 0x20f3fd
movsd 0xbeedc(%rip), %xmm3    # 0x2ce2c0
jmp 0x20f3fd
movapd %xmm3, %xmm0
movapd %xmm3, (%rsp)
callq 0x1181c0
movapd %xmm0, %xmm3
divsd (%rsp), %xmm3
movapd %xmm3, %xmm0
addq $0x18, %rsp
retq
addsd 0xbee0a(%rip), %xmm3    # 0x2ce218
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x1180e0
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x118270