// File: ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::details::expression_node<double>* exprtk::parser<double>::expression_generator<double>::cardinal_pow_optimisation_impl<double, exprtk::details::ipow_node>(double const&, unsigned int const&)
inline expression_node_ptr cardinal_pow_optimisation_impl(const TType& v, const unsigned int& p)
         {
            switch (p)
            {
               #define case_stmt(cp)                                                     \
               case cp : return node_allocator_->                                        \
                            allocate<IPowNode<T,details::numeric::fast_exp<T,cp> > >(v); \

               case_stmt( 1) case_stmt( 2) case_stmt( 3) case_stmt( 4)
               case_stmt( 5) case_stmt( 6) case_stmt( 7) case_stmt( 8)
               case_stmt( 9) case_stmt(10) case_stmt(11) case_stmt(12)
               case_stmt(13) case_stmt(14) case_stmt(15) case_stmt(16)
               case_stmt(17) case_stmt(18) case_stmt(19) case_stmt(20)
               case_stmt(21) case_stmt(22) case_stmt(23) case_stmt(24)
               case_stmt(25) case_stmt(26) case_stmt(27) case_stmt(28)
               case_stmt(29) case_stmt(30) case_stmt(31) case_stmt(32)
               case_stmt(33) case_stmt(34) case_stmt(35) case_stmt(36)
               case_stmt(37) case_stmt(38) case_stmt(39) case_stmt(40)
               case_stmt(41) case_stmt(42) case_stmt(43) case_stmt(44)
               case_stmt(45) case_stmt(46) case_stmt(47) case_stmt(48)
               case_stmt(49) case_stmt(50) case_stmt(51) case_stmt(52)
               case_stmt(53) case_stmt(54) case_stmt(55) case_stmt(56)
               case_stmt(57) case_stmt(58) case_stmt(59) case_stmt(60)
               #undef case_stmt
               default : return error_node();
            }
         }

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq %rdx, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movl (%rax), %eax
decl %eax
movl %eax, %ecx
movq %rcx, 0x10(%rsp)
subl $0x3b, %eax
ja 0x2882e8
movq 0x10(%rsp), %rax
leaq 0x31394a(%rip), %rcx    # 0x59b56c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x288a30
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x288ab0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x288b30
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x288bb0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x288c30
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x288cb0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x288d30
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x288db0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x288e30
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x288eb0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x288f30
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x288fb0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289030
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x2890b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289130
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x2891b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289230
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x2892b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289330
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x2893b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289430
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x2894b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289530
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x2895b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289630
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x2896b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289730
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x2897b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289830
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x2898b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289930
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x2899b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289a30
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289ab0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289b30
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289bb0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289c30
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289cb0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289d30
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289db0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289e30
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289eb0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289f30
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x289fb0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28a030
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28a0b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28a130
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28a1b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28a230
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28a2b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28a330
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28a3b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28a430
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28a4b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28a530
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28a5b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28a630
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28a6b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28a730
movq %rax, 0x30(%rsp)
jmp 0x2882f2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x28a7b0
movq %rax, 0x30(%rsp)
jmp 0x2882f2
callq 0x2821f0
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopl (%rax)