// File: ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::details::expression_node<double>* exprtk::parser<double>::expression_generator<double>::synthesize_str_xoxr_expression_impl<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const>(exprtk::details::operator_type const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, exprtk::details::range_pack<double>)
inline expression_node_ptr synthesize_str_xoxr_expression_impl(const details::operator_type& opr,
                                                                        T0 s0, T1 s1,
                                                                        range_t rp1)
         {
            switch (opr)
            {
               #define case_stmt(op0, op1)                                                                      \
               case op0 : return node_allocator_->                                                              \
                             allocate_ttt<typename details::str_xoxr_node<Type,T0,T1,range_t,op1<Type> >,T0,T1> \
                                (s0, s1, rp1);                                                                  \

               string_opr_switch_statements
               #undef case_stmt
               default : return error_node();
            }
         }

// Assembly:
subq $0x658, %rsp            # imm = 0x658
movq %rcx, 0xe8(%rsp)
movq %rdx, 0xf0(%rsp)
leaq 0x660(%rsp), %rax
movq %rax, 0xf8(%rsp)
movq %rdi, 0x648(%rsp)
movq %rsi, 0x640(%rsp)
movq %rdx, 0x638(%rsp)
movq %rcx, 0x630(%rsp)
movq 0x648(%rsp), %rax
movq %rax, 0x100(%rsp)
movq 0x640(%rsp), %rax
movl (%rax), %eax
addl $-0xe, %eax
movl %eax, %ecx
movq %rcx, 0x108(%rsp)
subl $0x4b, %eax
ja 0x45107b
movq 0x108(%rsp), %rax
leaq 0x14ed0e(%rip), %rcx    # 0x59f144
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0xf0(%rsp), %rsi
movq 0x100(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0xe0(%rsp)
leaq 0x610(%rsp), %rdi
callq 0x11b140
movq 0xe8(%rsp), %rsi
leaq 0x5f0(%rsp), %rdi
callq 0x11b140
jmp 0x45047f
movq 0xe0(%rsp), %rdi
movq 0xf8(%rsp), %rax
movups 0x40(%rax), %xmm0
movaps %xmm0, 0x5d0(%rsp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movaps %xmm3, 0x5c0(%rsp)
movaps %xmm2, 0x5b0(%rsp)
movaps %xmm1, 0x5a0(%rsp)
movaps %xmm0, 0x590(%rsp)
movaps 0x5d0(%rsp), %xmm0
movq %rsp, %rax
movups %xmm0, 0x40(%rax)
movaps 0x590(%rsp), %xmm0
movaps 0x5a0(%rsp), %xmm1
movaps 0x5b0(%rsp), %xmm2
movaps 0x5c0(%rsp), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0x610(%rsp), %rsi
leaq 0x5f0(%rsp), %rdx
callq 0x4510b0
movq %rax, 0xd8(%rsp)
jmp 0x450527
movq 0xd8(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x5f0(%rsp), %rdi
callq 0x11b838
leaq 0x610(%rsp), %rdi
callq 0x11b838
jmp 0x451088
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x45058d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
leaq 0x5f0(%rsp), %rdi
callq 0x11b838
leaq 0x610(%rsp), %rdi
callq 0x11b838
jmp 0x451098
movq 0xf0(%rsp), %rsi
movq 0x100(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0xd0(%rsp)
leaq 0x570(%rsp), %rdi
callq 0x11b140
movq 0xe8(%rsp), %rsi
leaq 0x550(%rsp), %rdi
callq 0x11b140
jmp 0x4505df
movq 0xd0(%rsp), %rdi
movq 0xf8(%rsp), %rax
movups 0x40(%rax), %xmm0
movaps %xmm0, 0x540(%rsp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movaps %xmm3, 0x530(%rsp)
movaps %xmm2, 0x520(%rsp)
movaps %xmm1, 0x510(%rsp)
movaps %xmm0, 0x500(%rsp)
movaps 0x540(%rsp), %xmm0
movq %rsp, %rax
movups %xmm0, 0x40(%rax)
movaps 0x500(%rsp), %xmm0
movaps 0x510(%rsp), %xmm1
movaps 0x520(%rsp), %xmm2
movaps 0x530(%rsp), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0x570(%rsp), %rsi
leaq 0x550(%rsp), %rdx
callq 0x451290
movq %rax, 0xc8(%rsp)
jmp 0x450687
movq 0xc8(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x550(%rsp), %rdi
callq 0x11b838
leaq 0x570(%rsp), %rdi
callq 0x11b838
jmp 0x451088
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x4506ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
leaq 0x550(%rsp), %rdi
callq 0x11b838
leaq 0x570(%rsp), %rdi
callq 0x11b838
jmp 0x451098
movq 0xf0(%rsp), %rsi
movq 0x100(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0xc0(%rsp)
leaq 0x4e0(%rsp), %rdi
callq 0x11b140
movq 0xe8(%rsp), %rsi
leaq 0x4c0(%rsp), %rdi
callq 0x11b140
jmp 0x45073f
movq 0xc0(%rsp), %rdi
movq 0xf8(%rsp), %rax
movups 0x40(%rax), %xmm0
movaps %xmm0, 0x4b0(%rsp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movaps %xmm3, 0x4a0(%rsp)
movaps %xmm2, 0x490(%rsp)
movaps %xmm1, 0x480(%rsp)
movaps %xmm0, 0x470(%rsp)
movaps 0x4b0(%rsp), %xmm0
movq %rsp, %rax
movups %xmm0, 0x40(%rax)
movaps 0x470(%rsp), %xmm0
movaps 0x480(%rsp), %xmm1
movaps 0x490(%rsp), %xmm2
movaps 0x4a0(%rsp), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0x4e0(%rsp), %rsi
leaq 0x4c0(%rsp), %rdx
callq 0x451470
movq %rax, 0xb8(%rsp)
jmp 0x4507e7
movq 0xb8(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x4c0(%rsp), %rdi
callq 0x11b838
leaq 0x4e0(%rsp), %rdi
callq 0x11b838
jmp 0x451088
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x45084d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
leaq 0x4c0(%rsp), %rdi
callq 0x11b838
leaq 0x4e0(%rsp), %rdi
callq 0x11b838
jmp 0x451098
movq 0xf0(%rsp), %rsi
movq 0x100(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0xb0(%rsp)
leaq 0x450(%rsp), %rdi
callq 0x11b140
movq 0xe8(%rsp), %rsi
leaq 0x430(%rsp), %rdi
callq 0x11b140
jmp 0x45089f
movq 0xb0(%rsp), %rdi
movq 0xf8(%rsp), %rax
movups 0x40(%rax), %xmm0
movaps %xmm0, 0x420(%rsp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movaps %xmm3, 0x410(%rsp)
movaps %xmm2, 0x400(%rsp)
movaps %xmm1, 0x3f0(%rsp)
movaps %xmm0, 0x3e0(%rsp)
movaps 0x420(%rsp), %xmm0
movq %rsp, %rax
movups %xmm0, 0x40(%rax)
movaps 0x3e0(%rsp), %xmm0
movaps 0x3f0(%rsp), %xmm1
movaps 0x400(%rsp), %xmm2
movaps 0x410(%rsp), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0x450(%rsp), %rsi
leaq 0x430(%rsp), %rdx
callq 0x451650
movq %rax, 0xa8(%rsp)
jmp 0x450947
movq 0xa8(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x430(%rsp), %rdi
callq 0x11b838
leaq 0x450(%rsp), %rdi
callq 0x11b838
jmp 0x451088
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x4509ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
leaq 0x430(%rsp), %rdi
callq 0x11b838
leaq 0x450(%rsp), %rdi
callq 0x11b838
jmp 0x451098
movq 0xf0(%rsp), %rsi
movq 0x100(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0xa0(%rsp)
leaq 0x3c0(%rsp), %rdi
callq 0x11b140
movq 0xe8(%rsp), %rsi
leaq 0x3a0(%rsp), %rdi
callq 0x11b140
jmp 0x4509ff
movq 0xa0(%rsp), %rdi
movq 0xf8(%rsp), %rax
movups 0x40(%rax), %xmm0
movaps %xmm0, 0x390(%rsp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movaps %xmm3, 0x380(%rsp)
movaps %xmm2, 0x370(%rsp)
movaps %xmm1, 0x360(%rsp)
movaps %xmm0, 0x350(%rsp)
movaps 0x390(%rsp), %xmm0
movq %rsp, %rax
movups %xmm0, 0x40(%rax)
movaps 0x350(%rsp), %xmm0
movaps 0x360(%rsp), %xmm1
movaps 0x370(%rsp), %xmm2
movaps 0x380(%rsp), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0x3c0(%rsp), %rsi
leaq 0x3a0(%rsp), %rdx
callq 0x451830
movq %rax, 0x98(%rsp)
jmp 0x450aa7
movq 0x98(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x3a0(%rsp), %rdi
callq 0x11b838
leaq 0x3c0(%rsp), %rdi
callq 0x11b838
jmp 0x451088
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x450b0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
leaq 0x3a0(%rsp), %rdi
callq 0x11b838
leaq 0x3c0(%rsp), %rdi
callq 0x11b838
jmp 0x451098
movq 0xf0(%rsp), %rsi
movq 0x100(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x90(%rsp)
leaq 0x330(%rsp), %rdi
callq 0x11b140
movq 0xe8(%rsp), %rsi
leaq 0x310(%rsp), %rdi
callq 0x11b140
jmp 0x450b5f
movq 0x90(%rsp), %rdi
movq 0xf8(%rsp), %rax
movups 0x40(%rax), %xmm0
movaps %xmm0, 0x300(%rsp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movaps %xmm3, 0x2f0(%rsp)
movaps %xmm2, 0x2e0(%rsp)
movaps %xmm1, 0x2d0(%rsp)
movaps %xmm0, 0x2c0(%rsp)
movaps 0x300(%rsp), %xmm0
movq %rsp, %rax
movups %xmm0, 0x40(%rax)
movaps 0x2c0(%rsp), %xmm0
movaps 0x2d0(%rsp), %xmm1
movaps 0x2e0(%rsp), %xmm2
movaps 0x2f0(%rsp), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0x330(%rsp), %rsi
leaq 0x310(%rsp), %rdx
callq 0x451a10
movq %rax, 0x88(%rsp)
jmp 0x450c07
movq 0x88(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x310(%rsp), %rdi
callq 0x11b838
leaq 0x330(%rsp), %rdi
callq 0x11b838
jmp 0x451088
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x450c6d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
leaq 0x310(%rsp), %rdi
callq 0x11b838
leaq 0x330(%rsp), %rdi
callq 0x11b838
jmp 0x451098
movq 0xf0(%rsp), %rsi
movq 0x100(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x80(%rsp)
leaq 0x2a0(%rsp), %rdi
callq 0x11b140
movq 0xe8(%rsp), %rsi
leaq 0x280(%rsp), %rdi
callq 0x11b140
jmp 0x450cbf
movq 0x80(%rsp), %rdi
movq 0xf8(%rsp), %rax
movups 0x40(%rax), %xmm0
movaps %xmm0, 0x270(%rsp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movaps %xmm3, 0x260(%rsp)
movaps %xmm2, 0x250(%rsp)
movaps %xmm1, 0x240(%rsp)
movaps %xmm0, 0x230(%rsp)
movaps 0x270(%rsp), %xmm0
movq %rsp, %rax
movups %xmm0, 0x40(%rax)
movaps 0x230(%rsp), %xmm0
movaps 0x240(%rsp), %xmm1
movaps 0x250(%rsp), %xmm2
movaps 0x260(%rsp), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0x2a0(%rsp), %rsi
leaq 0x280(%rsp), %rdx
callq 0x451bf0
movq %rax, 0x78(%rsp)
jmp 0x450d64
movq 0x78(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x280(%rsp), %rdi
callq 0x11b838
leaq 0x2a0(%rsp), %rdi
callq 0x11b838
jmp 0x451088
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x450dc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
leaq 0x280(%rsp), %rdi
callq 0x11b838
leaq 0x2a0(%rsp), %rdi
callq 0x11b838
jmp 0x451098
movq 0xf0(%rsp), %rsi
movq 0x100(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x70(%rsp)
leaq 0x210(%rsp), %rdi
callq 0x11b140
movq 0xe8(%rsp), %rsi
leaq 0x1f0(%rsp), %rdi
callq 0x11b140
jmp 0x450e16
movq 0x70(%rsp), %rdi
movq 0xf8(%rsp), %rax
movups 0x40(%rax), %xmm0
movaps %xmm0, 0x1e0(%rsp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movaps %xmm3, 0x1d0(%rsp)
movaps %xmm2, 0x1c0(%rsp)
movaps %xmm1, 0x1b0(%rsp)
movaps %xmm0, 0x1a0(%rsp)
movaps 0x1e0(%rsp), %xmm0
movq %rsp, %rax
movups %xmm0, 0x40(%rax)
movaps 0x1a0(%rsp), %xmm0
movaps 0x1b0(%rsp), %xmm1
movaps 0x1c0(%rsp), %xmm2
movaps 0x1d0(%rsp), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0x210(%rsp), %rsi
leaq 0x1f0(%rsp), %rdx
callq 0x451dd0
movq %rax, 0x68(%rsp)
jmp 0x450eb8
movq 0x68(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x1f0(%rsp), %rdi
callq 0x11b838
leaq 0x210(%rsp), %rdi
callq 0x11b838
jmp 0x451088
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x450f1b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
leaq 0x1f0(%rsp), %rdi
callq 0x11b838
leaq 0x210(%rsp), %rdi
callq 0x11b838
jmp 0x451098
movq 0xf0(%rsp), %rsi
movq 0x100(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x60(%rsp)
leaq 0x180(%rsp), %rdi
callq 0x11b140
movq 0xe8(%rsp), %rsi
leaq 0x160(%rsp), %rdi
callq 0x11b140
jmp 0x450f6a
movq 0x60(%rsp), %rdi
movq 0xf8(%rsp), %rax
movups 0x40(%rax), %xmm0
movaps %xmm0, 0x150(%rsp)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups 0x30(%rax), %xmm3
movaps %xmm3, 0x140(%rsp)
movaps %xmm2, 0x130(%rsp)
movaps %xmm1, 0x120(%rsp)
movaps %xmm0, 0x110(%rsp)
movaps 0x150(%rsp), %xmm0
movq %rsp, %rax
movups %xmm0, 0x40(%rax)
movaps 0x110(%rsp), %xmm0
movaps 0x120(%rsp), %xmm1
movaps 0x130(%rsp), %xmm2
movaps 0x140(%rsp), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
leaq 0x180(%rsp), %rsi
leaq 0x160(%rsp), %rdx
callq 0x451fb0
movq %rax, 0x58(%rsp)
jmp 0x45100c
movq 0x58(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x160(%rsp), %rdi
callq 0x11b838
leaq 0x180(%rsp), %rdi
callq 0x11b838
jmp 0x451088
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x45106c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
leaq 0x160(%rsp), %rdi
callq 0x11b838
leaq 0x180(%rsp), %rdi
callq 0x11b838
jmp 0x451098
callq 0x2821f0
movq %rax, 0x650(%rsp)
movq 0x650(%rsp), %rax
addq $0x658, %rsp            # imm = 0x658
retq
movq 0x5e8(%rsp), %rdi
callq 0x11b4e0
nopw %cs:(%rax,%rax)
nop