// 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_sos_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)
inline expression_node_ptr synthesize_sos_expression_impl(const details::operator_type& opr, T0 s0, T1 s1)
         {
            switch (opr)
            {
               #define case_stmt(op0, op1)                                                                 \
               case op0 : return node_allocator_->                                                         \
                             allocate_tt<typename details::sos_node<Type,T0,T1,op1<Type> >,T0,T1>(s0, s1); \

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

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x248, %rsp            # imm = 0x248
movq %rcx, %r14
movl (%rsi), %eax
xorl %ebx, %ebx
cmpl $0x56, %eax
jg 0x2db37e
addl $-0xe, %eax
cmpl $0x7, %eax
ja 0x2db7e5
leaq 0xb1a63(%rip), %rcx     # 0x38cd48
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x8(%rdi), %rbx
leaq 0x238(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rdx), %rsi
movq 0x8(%rdx), %rdx
addq %rsi, %rdx
leaq 0x228(%rsp), %rdi
callq 0x1e7738
leaq 0x118(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq 0x108(%rsp), %rdi
callq 0x1e7738
leaq 0x228(%rsp), %rsi
leaq 0x108(%rsp), %rdx
movq %rbx, %rdi
callq 0x2dbbca
movq %rax, %rbx
movq 0x108(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db371
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x228(%rsp), %rdi
jmp 0x2db7d5
cmpl $0x57, %eax
je 0x2db6db
cmpl $0x58, %eax
je 0x2db759
cmpl $0x59, %eax
jne 0x2db7e5
movq 0x8(%rdi), %rbx
leaq 0x138(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rdx), %rsi
movq 0x8(%rdx), %rdx
addq %rsi, %rdx
leaq 0x128(%rsp), %rdi
callq 0x1e7738
leaq 0x18(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x1e7738
leaq 0x128(%rsp), %rsi
leaq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x2dc3fa
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db40d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x128(%rsp), %rdi
jmp 0x2db7d5
movq 0x8(%rdi), %rbx
leaq 0x1d8(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rdx), %rsi
movq 0x8(%rdx), %rdx
addq %rsi, %rdx
leaq 0x1c8(%rsp), %rdi
callq 0x1e7738
leaq 0xb8(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq 0xa8(%rsp), %rdi
callq 0x1e7738
leaq 0x1c8(%rsp), %rsi
leaq 0xa8(%rsp), %rdx
movq %rbx, %rdi
callq 0x2dbedc
movq %rax, %rbx
movq 0xa8(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db49d
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x1c8(%rsp), %rdi
jmp 0x2db7d5
movq 0x8(%rdi), %rbx
leaq 0x1b8(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rdx), %rsi
movq 0x8(%rdx), %rdx
addq %rsi, %rdx
leaq 0x1a8(%rsp), %rdi
callq 0x1e7738
leaq 0x98(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq 0x88(%rsp), %rdi
callq 0x1e7738
leaq 0x1a8(%rsp), %rsi
leaq 0x88(%rsp), %rdx
movq %rbx, %rdi
callq 0x2dbfe2
movq %rax, %rbx
movq 0x88(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db52d
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x1a8(%rsp), %rdi
jmp 0x2db7d5
movq 0x8(%rdi), %rbx
leaq 0x198(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rdx), %rsi
movq 0x8(%rdx), %rdx
addq %rsi, %rdx
leaq 0x188(%rsp), %rdi
callq 0x1e7738
leaq 0x78(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x1e7738
leaq 0x188(%rsp), %rsi
leaq 0x68(%rsp), %rdx
movq %rbx, %rdi
callq 0x2dc0e8
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db5ae
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x188(%rsp), %rdi
jmp 0x2db7d5
movq 0x8(%rdi), %rbx
leaq 0x218(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rdx), %rsi
movq 0x8(%rdx), %rdx
addq %rsi, %rdx
leaq 0x208(%rsp), %rdi
callq 0x1e7738
leaq 0xf8(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq 0xe8(%rsp), %rdi
callq 0x1e7738
leaq 0x208(%rsp), %rsi
leaq 0xe8(%rsp), %rdx
movq %rbx, %rdi
callq 0x2dbcd0
movq %rax, %rbx
movq 0xe8(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db63e
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x208(%rsp), %rdi
jmp 0x2db7d5
movq 0x8(%rdi), %rbx
leaq 0x1f8(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rdx), %rsi
movq 0x8(%rdx), %rdx
addq %rsi, %rdx
leaq 0x1e8(%rsp), %rdi
callq 0x1e7738
leaq 0xd8(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq 0xc8(%rsp), %rdi
callq 0x1e7738
leaq 0x1e8(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
movq %rbx, %rdi
callq 0x2dbdd6
movq %rax, %rbx
movq 0xc8(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db6ce
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x1e8(%rsp), %rdi
jmp 0x2db7d5
movq 0x8(%rdi), %rbx
leaq 0x178(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rdx), %rsi
movq 0x8(%rdx), %rdx
addq %rsi, %rdx
leaq 0x168(%rsp), %rdi
callq 0x1e7738
leaq 0x58(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x1e7738
leaq 0x168(%rsp), %rsi
leaq 0x48(%rsp), %rdx
movq %rbx, %rdi
callq 0x2dc1ee
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db74f
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x168(%rsp), %rdi
jmp 0x2db7d5
movq 0x8(%rdi), %rbx
leaq 0x158(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rdx), %rsi
movq 0x8(%rdx), %rdx
addq %rsi, %rdx
leaq 0x148(%rsp), %rdi
callq 0x1e7738
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%r14), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x1e7738
leaq 0x148(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %rbx, %rdi
callq 0x2dc2f4
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db7cd
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x148(%rsp), %rdi
cmpq %r15, %rdi
je 0x2db7e5
movq (%r15), %rsi
incq %rsi
callq 0x11e0c0
movq %rbx, %rax
addq $0x248, %rsp            # imm = 0x248
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db84e
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2db84e
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db85e
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2db85e
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db86e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2db86e
movq %rax, %rbx
movq 0x148(%rsp), %rdi
jmp 0x2db9a6
movq %rax, %rbx
movq 0x168(%rsp), %rdi
jmp 0x2db9a6
movq %rax, %rbx
movq 0x128(%rsp), %rdi
jmp 0x2db9a6
movq %rax, %rbx
movq 0xc8(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db95d
movq 0xd8(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2db95d
movq %rax, %rbx
movq 0xe8(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db96a
movq 0xf8(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2db96a
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db977
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2db977
movq %rax, %rbx
movq 0x88(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db984
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2db984
movq %rax, %rbx
movq 0x108(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db991
movq 0x118(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2db991
movq %rax, %rbx
movq 0xa8(%rsp), %rdi
cmpq %r12, %rdi
je 0x2db99e
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x2db99e
movq %rax, %rbx
movq 0x1e8(%rsp), %rdi
jmp 0x2db9a6
movq %rax, %rbx
movq 0x208(%rsp), %rdi
jmp 0x2db9a6
movq %rax, %rbx
movq 0x188(%rsp), %rdi
jmp 0x2db9a6
movq %rax, %rbx
movq 0x1a8(%rsp), %rdi
jmp 0x2db9a6
movq %rax, %rbx
movq 0x228(%rsp), %rdi
jmp 0x2db9a6
movq %rax, %rbx
movq 0x1c8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2db9b6
movq (%r15), %rsi
incq %rsi
callq 0x11e0c0
movq %rbx, %rdi
callq 0x11e330