// File: ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::parser<double>::expression_generator<double>::is_invalid_assignment_op(exprtk::details::operator_type const&, exprtk::details::expression_node<double>* (&) [2]) const
inline bool is_invalid_assignment_op(const details::operator_type& operation, expression_node_ptr (&branch)[2]) const
         {
            if (is_assignment_operation(operation))
            {
               const bool b1_is_genstring = details::is_generally_string_node(branch[1]);

               if (details::is_string_node(branch[0]))
                  return !b1_is_genstring;
               else if (details::is_literal_node(branch[0]))
                  return true;
               else
                  return (
                           !details::is_variable_node              (branch[0]) &&
                           !details::is_vector_elem_node           (branch[0]) &&
                           !details::is_vector_celem_node          (branch[0]) &&
                           !details::is_vector_elem_rtc_node       (branch[0]) &&
                           !details::is_vector_celem_rtc_node      (branch[0]) &&
                           !details::is_rebasevector_elem_node     (branch[0]) &&
                           !details::is_rebasevector_celem_node    (branch[0]) &&
                           !details::is_rebasevector_elem_rtc_node (branch[0]) &&
                           !details::is_rebasevector_celem_rtc_node(branch[0]) &&
                           !details::is_vector_node                (branch[0])
                         )
                         || b1_is_genstring;
            }
            else
               return false;
         }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x3dd810
testb $0x1, %al
jne 0x3dc63b
jmp 0x3dc765
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x3a7600
andb $0x1, %al
movb %al, 0x7(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x23c9a0
testb $0x1, %al
jne 0x3dc662
jmp 0x3dc673
movb 0x7(%rsp), %al
xorb $-0x1, %al
andb $0x1, %al
movb %al, 0x27(%rsp)
jmp 0x3dc76a
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x3e7690
testb $0x1, %al
jne 0x3dc686
jmp 0x3dc690
movb $0x1, 0x27(%rsp)
jmp 0x3dc76a
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x23c960
testb $0x1, %al
jne 0x3dc751
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x3e76d0
testb $0x1, %al
jne 0x3dc751
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x3e7710
testb $0x1, %al
jne 0x3dc751
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x3e7750
testb $0x1, %al
jne 0x3dc751
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x3e7790
testb $0x1, %al
jne 0x3dc751
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x3e77d0
testb $0x1, %al
jne 0x3dc751
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x3e7810
testb $0x1, %al
jne 0x3dc751
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x3e7850
testb $0x1, %al
jne 0x3dc751
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x3e7890
testb $0x1, %al
jne 0x3dc751
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x3b7740
movb %al, %cl
movb $0x1, %al
testb $0x1, %cl
movb %al, 0x6(%rsp)
jne 0x3dc751
jmp 0x3dc759
movb 0x7(%rsp), %al
movb %al, 0x6(%rsp)
movb 0x6(%rsp), %al
andb $0x1, %al
movb %al, 0x27(%rsp)
jmp 0x3dc76a
movb $0x0, 0x27(%rsp)
movb 0x27(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
nop