// File: 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 $0x28, %rsp
movl %edi, 0x1c(%rsp)
movsd %xmm0, 0x10(%rsp)
movl 0x1c(%rsp), %eax
addl $-0x22, %eax
movl %eax, %ecx
movq %rcx, 0x8(%rsp)
subl $0x2e, %eax
ja 0x3b1545
movq 0x8(%rsp), %rax
leaq 0x1eb47f(%rip), %rcx    # 0x59c660
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movsd 0x10(%rsp), %xmm0
callq 0x2651a0
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265220
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265270
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x2652c0
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265310
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x3b1560
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265360
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x2653b0
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265400
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265450
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x2654a0
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x2654f0
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265540
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265590
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x2655e0
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265630
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265690
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x2656e0
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265740
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265780
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265810
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265860
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265930
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265980
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x2659d0
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265a20
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265a70
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265ad0
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265b30
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265b90
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265be0
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265c30
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265c80
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265cd0
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265d90
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265e10
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265e80
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265ef0
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x265f90
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
movsd 0x10(%rsp), %xmm0
callq 0x266030
movsd %xmm0, 0x20(%rsp)
jmp 0x3b1550
callq 0x2361c0
movsd %xmm0, 0x20(%rsp)
movsd 0x20(%rsp), %xmm0
addq $0x28, %rsp
retq
nopl (%rax,%rax)