// File: ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::details::expression_node<double>* exprtk::parser<double>::expression_generator<double>::synthesize_str_xrox_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>>>(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>>, exprtk::details::range_pack<double>)
inline expression_node_ptr synthesize_str_xrox_expression_impl(const details::operator_type& opr,
                                                                        T0 s0, T1 s1,
                                                                        range_t rp0)
         {
            switch (opr)
            {
               #define case_stmt(op0, op1)                                                                      \
               case op0 : return node_allocator_->                                                              \
                             allocate_ttt<typename details::str_xrox_node<Type,T0,T1,range_t,op1<Type> >,T0,T1> \
                                (s0, s1, rp0);                                                                  \

               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 0x468a1b
movq 0x108(%rsp), %rax
leaq 0x137bbe(%rip), %rcx    # 0x59f994
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 0x467e1f
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 0x468a50
movq %rax, 0xd8(%rsp)
jmp 0x467ec7
movq 0xd8(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x5f0(%rsp), %rdi
callq 0x11b838
leaq 0x610(%rsp), %rdi
callq 0x11b838
jmp 0x468a28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x467f2d
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 0x468a38
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 0x467f7f
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 0x468c30
movq %rax, 0xc8(%rsp)
jmp 0x468027
movq 0xc8(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x550(%rsp), %rdi
callq 0x11b838
leaq 0x570(%rsp), %rdi
callq 0x11b838
jmp 0x468a28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x46808d
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 0x468a38
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 0x4680df
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 0x468e10
movq %rax, 0xb8(%rsp)
jmp 0x468187
movq 0xb8(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x4c0(%rsp), %rdi
callq 0x11b838
leaq 0x4e0(%rsp), %rdi
callq 0x11b838
jmp 0x468a28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x4681ed
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 0x468a38
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 0x46823f
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 0x468ff0
movq %rax, 0xa8(%rsp)
jmp 0x4682e7
movq 0xa8(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x430(%rsp), %rdi
callq 0x11b838
leaq 0x450(%rsp), %rdi
callq 0x11b838
jmp 0x468a28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x46834d
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 0x468a38
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 0x46839f
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 0x4691d0
movq %rax, 0x98(%rsp)
jmp 0x468447
movq 0x98(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x3a0(%rsp), %rdi
callq 0x11b838
leaq 0x3c0(%rsp), %rdi
callq 0x11b838
jmp 0x468a28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x4684ad
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 0x468a38
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 0x4684ff
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 0x4693b0
movq %rax, 0x88(%rsp)
jmp 0x4685a7
movq 0x88(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x310(%rsp), %rdi
callq 0x11b838
leaq 0x330(%rsp), %rdi
callq 0x11b838
jmp 0x468a28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x46860d
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 0x468a38
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 0x46865f
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 0x469590
movq %rax, 0x78(%rsp)
jmp 0x468704
movq 0x78(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x280(%rsp), %rdi
callq 0x11b838
leaq 0x2a0(%rsp), %rdi
callq 0x11b838
jmp 0x468a28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x468767
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 0x468a38
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 0x4687b6
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 0x469770
movq %rax, 0x68(%rsp)
jmp 0x468858
movq 0x68(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x1f0(%rsp), %rdi
callq 0x11b838
leaq 0x210(%rsp), %rdi
callq 0x11b838
jmp 0x468a28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x4688bb
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 0x468a38
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 0x46890a
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 0x469950
movq %rax, 0x58(%rsp)
jmp 0x4689ac
movq 0x58(%rsp), %rax
movq %rax, 0x650(%rsp)
leaq 0x160(%rsp), %rdi
callq 0x11b838
leaq 0x180(%rsp), %rdi
callq 0x11b838
jmp 0x468a28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x5e8(%rsp)
movl %eax, 0x5e4(%rsp)
jmp 0x468a0c
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 0x468a38
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