// File: /workspace/github_cpp_makefile_star2_O2/ArashPartow[P]exprtk/./exprtk.hpp
// Function: bool exprtk::parser<double>::expression_generator<double>::synthesize_sf4ext_expression::compile_right<double const&>(exprtk::parser<double>::expression_generator<double>&, double const&, exprtk::details::operator_type const&, exprtk::details::expression_node<double>*&, exprtk::details::expression_node<double>*&)
static inline bool compile_right(expression_generator<Type>& expr_gen,
                                             ExternalType t,
                                             const details::operator_type& operation,
                                             expression_node_ptr& sf3node,
                                             expression_node_ptr& result)
            {
               if (!details::is_sf3ext_node(sf3node))
                  return false;

               typedef details::T0oT1oT2_base_node<Type>* sf3ext_base_ptr;

               sf3ext_base_ptr n = static_cast<sf3ext_base_ptr>(sf3node);
               const std::string id = "t" + expr_gen.to_str(operation) + "(" + n->type_id() + ")";

               switch (n->type())
               {
                  case details::expression_node<Type>::e_covoc : return compile_right_impl
                                                                    <typename covoc_t::sf3_type_node,ExternalType, ctype, vtype, ctype>
                                                                       (expr_gen, id, t, sf3node, result);

                  case details::expression_node<Type>::e_covov : return compile_right_impl
                                                                    <typename covov_t::sf3_type_node,ExternalType, ctype, vtype, vtype>
                                                                       (expr_gen, id, t, sf3node, result);

                  case details::expression_node<Type>::e_vocov : return compile_right_impl
                                                                    <typename vocov_t::sf3_type_node,ExternalType, vtype, ctype, vtype>
                                                                       (expr_gen, id, t, sf3node, result);

                  case details::expression_node<Type>::e_vovoc : return compile_right_impl
                                                                    <typename vovoc_t::sf3_type_node,ExternalType, vtype, vtype, ctype>
                                                                       (expr_gen, id, t, sf3node, result);

                  case details::expression_node<Type>::e_vovov : return compile_right_impl
                                                                    <typename vovov_t::sf3_type_node,ExternalType, vtype, vtype, vtype>
                                                                       (expr_gen, id, t, sf3node, result);

                  default                                      : return false;
               }
            }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
movq %r8, %rbx
movq %rcx, %r14
movq %rdx, %rbp
movq %rsi, %r15
movq %rdi, %r12
movq (%rcx), %rdi
movq (%rdi), %rax
callq *0x28(%rax)
addl $-0x6a, %eax
cmpl $0x4, %eax
ja 0x26db42
movq %rbx, (%rsp)
movq (%r14), %r13
leaq 0xa8(%rsp), %rbx
movq %rbx, %rdi
movq %r12, %rsi
movq %rbp, %rdx
callq 0x1b3eb0
leaq 0x77834(%rip), %rsi     # 0x2e529d
leaq 0x48(%rsp), %rdi
movq %rbx, %rdx
callq 0x1b4349
leaq 0x6c158(%rip), %rdx     # 0x2d9bd5
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x1b42c3
movq (%r13), %rax
leaq 0x28(%rsp), %rdi
movq %r13, %rsi
callq *0x38(%rax)
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rsi
leaq 0x28(%rsp), %rdx
callq 0x1b42e2
leaq 0x7a806(%rip), %rdx     # 0x2e82bf
leaq 0x8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x1b42c3
leaq 0x88(%rsp), %rdi
callq 0x118648
leaq 0x28(%rsp), %rdi
callq 0x118648
leaq 0x68(%rsp), %rdi
callq 0x118648
leaq 0x48(%rsp), %rdi
callq 0x118648
leaq 0xa8(%rsp), %rdi
callq 0x118648
movq (%r13), %rax
movq %r13, %rdi
callq *0x28(%rax)
addl $-0x6a, %eax
cmpl $0x4, %eax
movq (%rsp), %r8
ja 0x26dbb8
leaq 0x64a84(%rip), %rcx     # 0x2d25a8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
movq %r15, %rdx
movq %r14, %rcx
callq 0x26e44e
jmp 0x26db98
xorl %ebx, %ebx
jmp 0x26dba4
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
movq %r15, %rdx
movq %r14, %rcx
callq 0x26e1e2
jmp 0x26db98
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
movq %r15, %rdx
movq %r14, %rcx
callq 0x26e31a
jmp 0x26db98
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
movq %r15, %rdx
movq %r14, %rcx
callq 0x26e27e
jmp 0x26db98
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
movq %r15, %rdx
movq %r14, %rcx
callq 0x26e3b6
movl %eax, %ebx
leaq 0x8(%rsp), %rdi
callq 0x118648
movl %ebx, %eax
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %ebx, %ebx
jmp 0x26db9a
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0x118648
jmp 0x26dbd1
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x118648
jmp 0x26dbe0
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x118648
jmp 0x26dbef
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x118648
jmp 0x26dbfe
movq %rax, %rbx
leaq 0xa8(%rsp), %rdi
jmp 0x26dc10
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x118648
movq %rbx, %rdi
callq 0x118360
nop