// File: /workspace/github_cpp_makefile_star2_O3/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>>&, 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>>&, 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:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x140, %rsp            # imm = 0x140
movq %rdx, %r15
leaq 0x170(%rsp), %r14
movl (%rsi), %eax
xorl %ebx, %ebx
cmpl $0x56, %eax
jg 0x2d88f1
addl $-0xe, %eax
cmpl $0x7, %eax
ja 0x2d8fb3
leaq 0xb44f9(%rip), %rdx     # 0x38cd08
movslq (%rdx,%rax,4), %rax
addq %rdx, %rax
jmpq *%rax
leaq 0x130(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
addq %rsi, %rdx
leaq 0x120(%rsp), %rdi
callq 0x1e7738
movl $0x98, %edi
callq 0x11e0f0
movq %rax, %rbx
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x120(%rsp), %rsi
movq 0x128(%rsp), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0x1e7738
movb $0x0, 0x10(%rbx)
movq $0x0, 0x18(%rbx)
leaq 0x23e570(%rip), %rax    # 0x516df0
movq %rax, (%rbx)
leaq 0x23e5b6(%rip), %rax    # 0x516e40
movq %rax, 0x8(%rbx)
movq %r15, 0x20(%rbx)
leaq 0x28(%rbx), %rdi
leaq 0x38(%rbx), %rax
movq %rax, 0x28(%rbx)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
callq 0x1e7738
leaq 0x8(%rbx), %r15
movq %rbx, %rdi
addq $0x48, %rdi
movl $0xa, %ecx
movq %r14, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d88db
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq (%r15), %rax
movq %r15, %rdi
callq *0x10(%rax)
movq 0x120(%rsp), %rdi
jmp 0x2d8fa2
cmpl $0x57, %eax
je 0x2d8e13
cmpl $0x58, %eax
je 0x2d8edd
cmpl $0x59, %eax
jne 0x2d8fb3
leaq 0x30(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
addq %rsi, %rdx
leaq 0x20(%rsp), %rdi
callq 0x1e7738
movl $0x98, %edi
callq 0x11e0f0
movq %rax, %rbx
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0x1e7738
movb $0x0, 0x10(%rbx)
movq $0x0, 0x18(%rbx)
leaq 0x23e908(%rip), %rax    # 0x517270
movq %rax, (%rbx)
leaq 0x23e94e(%rip), %rax    # 0x5172c0
movq %rax, 0x8(%rbx)
movq %r15, 0x20(%rbx)
leaq 0x28(%rbx), %rdi
leaq 0x38(%rbx), %rax
movq %rax, 0x28(%rbx)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
callq 0x1e7738
leaq 0x8(%rbx), %r15
movq %rbx, %rdi
addq $0x48, %rdi
movl $0xa, %ecx
movq %r14, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d89c3
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq (%r15), %rax
movq %r15, %rdi
callq *0x10(%rax)
movq 0x20(%rsp), %rdi
jmp 0x2d8fa2
leaq 0xd0(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
addq %rsi, %rdx
leaq 0xc0(%rsp), %rdi
callq 0x1e7738
movl $0x98, %edi
callq 0x11e0f0
movq %rax, %rbx
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0xc0(%rsp), %rsi
movq 0xc8(%rsp), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0x1e7738
movb $0x0, 0x10(%rbx)
movq $0x0, 0x18(%rbx)
leaq 0x23e562(%rip), %rax    # 0x516fa0
movq %rax, (%rbx)
leaq 0x23e5a8(%rip), %rax    # 0x516ff0
movq %rax, 0x8(%rbx)
movq %r15, 0x20(%rbx)
leaq 0x28(%rbx), %rdi
leaq 0x38(%rbx), %rax
movq %rax, 0x28(%rbx)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
callq 0x1e7738
leaq 0x8(%rbx), %r15
movq %rbx, %rdi
addq $0x48, %rdi
movl $0xa, %ecx
movq %r14, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d8a99
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq (%r15), %rax
movq %r15, %rdi
callq *0x10(%rax)
movq 0xc0(%rsp), %rdi
jmp 0x2d8fa2
leaq 0xb0(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
addq %rsi, %rdx
leaq 0xa0(%rsp), %rdi
callq 0x1e7738
movl $0x98, %edi
callq 0x11e0f0
movq %rax, %rbx
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0xa0(%rsp), %rsi
movq 0xa8(%rsp), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0x1e7738
movb $0x0, 0x10(%rbx)
movq $0x0, 0x18(%rbx)
leaq 0x23e519(%rip), %rax    # 0x517030
movq %rax, (%rbx)
leaq 0x23e55f(%rip), %rax    # 0x517080
movq %rax, 0x8(%rbx)
movq %r15, 0x20(%rbx)
leaq 0x28(%rbx), %rdi
leaq 0x38(%rbx), %rax
movq %rax, 0x28(%rbx)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
callq 0x1e7738
leaq 0x8(%rbx), %r15
movq %rbx, %rdi
addq $0x48, %rdi
movl $0xa, %ecx
movq %r14, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d8b72
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq (%r15), %rax
movq %r15, %rdi
callq *0x10(%rax)
movq 0xa0(%rsp), %rdi
jmp 0x2d8fa2
leaq 0x90(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
addq %rsi, %rdx
leaq 0x80(%rsp), %rdi
callq 0x1e7738
movl $0x98, %edi
callq 0x11e0f0
movq %rax, %rbx
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x80(%rsp), %rsi
movq 0x88(%rsp), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0x1e7738
movb $0x0, 0x10(%rbx)
movq $0x0, 0x18(%rbx)
leaq 0x23e4d0(%rip), %rax    # 0x5170c0
movq %rax, (%rbx)
leaq 0x23e516(%rip), %rax    # 0x517110
movq %rax, 0x8(%rbx)
movq %r15, 0x20(%rbx)
leaq 0x28(%rbx), %rdi
leaq 0x38(%rbx), %rax
movq %rax, 0x28(%rbx)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
callq 0x1e7738
leaq 0x8(%rbx), %r15
movq %rbx, %rdi
addq $0x48, %rdi
movl $0xa, %ecx
movq %r14, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d8c4b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq (%r15), %rax
movq %r15, %rdi
callq *0x10(%rax)
movq 0x80(%rsp), %rdi
jmp 0x2d8fa2
leaq 0x110(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
addq %rsi, %rdx
leaq 0x100(%rsp), %rdi
callq 0x1e7738
movl $0x98, %edi
callq 0x11e0f0
movq %rax, %rbx
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x100(%rsp), %rsi
movq 0x108(%rsp), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0x1e7738
movb $0x0, 0x10(%rbx)
movq $0x0, 0x18(%rbx)
leaq 0x23e1b7(%rip), %rax    # 0x516e80
movq %rax, (%rbx)
leaq 0x23e1fd(%rip), %rax    # 0x516ed0
movq %rax, 0x8(%rbx)
movq %r15, 0x20(%rbx)
leaq 0x28(%rbx), %rdi
leaq 0x38(%rbx), %rax
movq %rax, 0x28(%rbx)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
callq 0x1e7738
leaq 0x8(%rbx), %r15
movq %rbx, %rdi
addq $0x48, %rdi
movl $0xa, %ecx
movq %r14, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d8d24
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq (%r15), %rax
movq %r15, %rdi
callq *0x10(%rax)
movq 0x100(%rsp), %rdi
jmp 0x2d8fa2
leaq 0xf0(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
addq %rsi, %rdx
leaq 0xe0(%rsp), %rdi
callq 0x1e7738
movl $0x98, %edi
callq 0x11e0f0
movq %rax, %rbx
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0xe0(%rsp), %rsi
movq 0xe8(%rsp), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0x1e7738
movb $0x0, 0x10(%rbx)
movq $0x0, 0x18(%rbx)
leaq 0x23e16e(%rip), %rax    # 0x516f10
movq %rax, (%rbx)
leaq 0x23e1b4(%rip), %rax    # 0x516f60
movq %rax, 0x8(%rbx)
movq %r15, 0x20(%rbx)
leaq 0x28(%rbx), %rdi
leaq 0x38(%rbx), %rax
movq %rax, 0x28(%rbx)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
callq 0x1e7738
leaq 0x8(%rbx), %r15
movq %rbx, %rdi
addq $0x48, %rdi
movl $0xa, %ecx
movq %r14, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d8dfd
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq (%r15), %rax
movq %r15, %rdi
callq *0x10(%rax)
movq 0xe0(%rsp), %rdi
jmp 0x2d8fa2
leaq 0x70(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
addq %rsi, %rdx
leaq 0x60(%rsp), %rdi
callq 0x1e7738
movl $0x98, %edi
callq 0x11e0f0
movq %rax, %rbx
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x60(%rsp), %rsi
movq 0x68(%rsp), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0x1e7738
movb $0x0, 0x10(%rbx)
movq $0x0, 0x18(%rbx)
leaq 0x23e2e1(%rip), %rax    # 0x517150
movq %rax, (%rbx)
leaq 0x23e327(%rip), %rax    # 0x5171a0
movq %rax, 0x8(%rbx)
movq %r15, 0x20(%rbx)
leaq 0x28(%rbx), %rdi
leaq 0x38(%rbx), %rax
movq %rax, 0x28(%rbx)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
callq 0x1e7738
leaq 0x8(%rbx), %r15
movq %rbx, %rdi
addq $0x48, %rdi
movl $0xa, %ecx
movq %r14, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d8eca
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq (%r15), %rax
movq %r15, %rdi
callq *0x10(%rax)
movq 0x60(%rsp), %rdi
jmp 0x2d8fa2
leaq 0x50(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
addq %rsi, %rdx
leaq 0x40(%rsp), %rdi
callq 0x1e7738
movl $0x98, %edi
callq 0x11e0f0
movq %rax, %rbx
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
addq %rsi, %rdx
movq %rsp, %rdi
callq 0x1e7738
movb $0x0, 0x10(%rbx)
movq $0x0, 0x18(%rbx)
leaq 0x23e2a7(%rip), %rax    # 0x5171e0
movq %rax, (%rbx)
leaq 0x23e2ed(%rip), %rax    # 0x517230
movq %rax, 0x8(%rbx)
movq %r15, 0x20(%rbx)
leaq 0x28(%rbx), %rdi
leaq 0x38(%rbx), %rax
movq %rax, 0x28(%rbx)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
addq %rsi, %rdx
callq 0x1e7738
leaq 0x8(%rbx), %r15
movq %rbx, %rdi
addq $0x48, %rdi
movl $0xa, %ecx
movq %r14, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d8f94
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq (%r15), %rax
movq %r15, %rdi
callq *0x10(%rax)
movq 0x40(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d8fb3
movq (%r12), %rsi
incq %rsi
callq 0x11e0c0
movq %rbx, %rax
addq $0x140, %rsp            # imm = 0x140
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d901b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2d901b
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d9030
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2d9030
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d9045
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2d9045
movq %rax, %r14
movl $0x98, %esi
movq %rbx, %rdi
callq 0x11e0c0
jmp 0x2d917a
movq %rax, %r14
movl $0x98, %esi
movq %rbx, %rdi
callq 0x11e0c0
jmp 0x2d9184
movq %rax, %r14
movl $0x98, %esi
movq %rbx, %rdi
callq 0x11e0c0
jmp 0x2d918e
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d910e
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2d910e
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d9120
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2d9120
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d9132
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2d9132
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d9144
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2d9144
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d9156
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2d9156
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x2d9168
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2d9168
movq %rax, %r14
movl $0x98, %esi
movq %rbx, %rdi
callq 0x11e0c0
jmp 0x2d9198
movq %rax, %r14
movl $0x98, %esi
movq %rbx, %rdi
callq 0x11e0c0
jmp 0x2d91a5
movq %rax, %r14
movl $0x98, %esi
movq %rbx, %rdi
callq 0x11e0c0
jmp 0x2d91b2
movq %rax, %r14
movl $0x98, %esi
movq %rbx, %rdi
callq 0x11e0c0
jmp 0x2d91bf
movq %rax, %r14
movl $0x98, %esi
movq %rbx, %rdi
callq 0x11e0c0
jmp 0x2d91cc
movq %rax, %r14
movl $0x98, %esi
movq %rbx, %rdi
callq 0x11e0c0
jmp 0x2d91d9
movq %rax, %r14
movq 0x40(%rsp), %rdi
jmp 0x2d91e1
movq %rax, %r14
movq 0x60(%rsp), %rdi
jmp 0x2d91e1
movq %rax, %r14
movq 0x20(%rsp), %rdi
jmp 0x2d91e1
movq %rax, %r14
movq 0xe0(%rsp), %rdi
jmp 0x2d91e1
movq %rax, %r14
movq 0x100(%rsp), %rdi
jmp 0x2d91e1
movq %rax, %r14
movq 0x80(%rsp), %rdi
jmp 0x2d91e1
movq %rax, %r14
movq 0xa0(%rsp), %rdi
jmp 0x2d91e1
movq %rax, %r14
movq 0x120(%rsp), %rdi
jmp 0x2d91e1
movq %rax, %r14
movq 0xc0(%rsp), %rdi
cmpq %r12, %rdi
je 0x2d91f2
movq (%r12), %rsi
incq %rsi
callq 0x11e0c0
movq %r14, %rdi
callq 0x11e330