// File: /workspace/github_cpp_makefile_star2_O3/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 0x27f00c
movapd %xmm0, %xmm3
leaq 0x10bdd7(%rip), %rax    # 0x38ab4c
movslq (%rax,%rdi,4), %rcx
addq %rax, %rcx
jmpq *%rcx
movapd 0x10a6aa(%rip), %xmm0   # 0x389430
xorpd %xmm3, %xmm0
maxsd %xmm3, %xmm0
movapd %xmm0, %xmm3
jmp 0x27f02d
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e390
movapd %xmm3, %xmm0
movapd %xmm3, (%rsp)
callq 0x11e390
movapd (%rsp), %xmm3
subsd %xmm0, %xmm3
jmp 0x27f02d
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e430
xorpd 0x10a65b(%rip), %xmm3   # 0x389430
jmp 0x27f02d
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e1d0
movapd %xmm3, %xmm0
callq 0x11e1d0
jmp 0x27eef5
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e3a0
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e160
mulsd 0x10a441(%rip), %xmm3   # 0x389258
jmp 0x27f02d
movapd %xmm3, %xmm0
callq 0x11e2c0
jmp 0x27eef5
movapd 0x10a52e(%rip), %xmm0   # 0x389360
andpd %xmm3, %xmm0
ucomisd 0x10a3fa(%rip), %xmm0   # 0x389238
jae 0x27f016
movsd 0x10a1d4(%rip), %xmm3   # 0x389020
jmp 0x27f02d
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e4a0
xorpd %xmm0, %xmm0
ucomisd %xmm3, %xmm0
jbe 0x27f036
addsd 0x10a3bc(%rip), %xmm3   # 0x389230
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e570
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e320
xorpd %xmm0, %xmm0
movapd %xmm3, %xmm1
cmpltsd %xmm0, %xmm1
movsd 0x10a1c5(%rip), %xmm2   # 0x389068
andpd %xmm1, %xmm2
cmpltsd %xmm3, %xmm0
movsd 0x10a16c(%rip), %xmm3   # 0x389020
andpd %xmm0, %xmm3
andnpd %xmm2, %xmm0
orpd %xmm0, %xmm3
jmp 0x27f02d
mulsd 0x10a37b(%rip), %xmm3   # 0x389248
jmp 0x27f02d
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e5c0
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e0e0
movapd %xmm3, %xmm0
callq 0x11e4e0
movsd 0x10a123(%rip), %xmm3   # 0x389020
divsd %xmm0, %xmm3
jmp 0x27f02d
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e5e0
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e440
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e120
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e2a0
mulsd 0x10a2fe(%rip), %xmm3   # 0x389240
jmp 0x27f02d
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e3c0
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e410
divsd 0x10a2f7(%rip), %xmm3   # 0x389260
movapd %xmm3, %xmm0
callq 0x11e430
movapd %xmm0, %xmm3
mulsd 0x10a10a(%rip), %xmm3   # 0x389088
jmp 0x27f02d
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e4e0
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e420
xorpd %xmm0, %xmm0
cmpneqsd %xmm0, %xmm3
movsd 0x10a072(%rip), %xmm0   # 0x389020
andnpd %xmm0, %xmm3
jmp 0x27f02d
movapd %xmm3, %xmm0
callq 0x11e120
movapd %xmm0, %xmm3
divsd 0x10a25f(%rip), %xmm3   # 0x389228
jmp 0x27f02d
xorpd %xmm0, %xmm0
ucomisd %xmm0, %xmm3
jb 0x27f04b
sqrtsd %xmm3, %xmm3
jmp 0x27f02d
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e4d0
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e2c0
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e600
mulsd 0x10a246(%rip), %xmm3   # 0x389250
jmp 0x27f02d
movsd 0x10a1f4(%rip), %xmm3   # 0x389208
jmp 0x27f02d
movapd %xmm3, %xmm0
movapd %xmm3, (%rsp)
callq 0x11e1d0
movapd %xmm0, %xmm3
divsd (%rsp), %xmm3
movapd %xmm3, %xmm0
addq $0x18, %rsp
retq
addsd 0x10a04a(%rip), %xmm3   # 0x389088
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e0d0
movapd %xmm3, %xmm0
addq $0x18, %rsp
jmp 0x11e260