// File: ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::parser<double>::expression_generator<double>::assign_immutable_symbol(exprtk::details::expression_node<double>*)
bool assign_immutable_symbol(expression_node_ptr node)
         {
            interval_t interval;
            const void* baseptr_addr = base_ptr(node);

            exprtk_debug(("assign_immutable_symbol - base ptr addr: %p\n", baseptr_addr));

            if (parser_->immutable_memory_map_.in_interval(baseptr_addr,interval))
            {
               typename immutable_symtok_map_t::iterator itr = parser_->immutable_symtok_map_.find(interval);

               if (parser_->immutable_symtok_map_.end() != itr)
               {
                  token_t& token = itr->second;
                  parser_->set_error(parser_error::make_error(
                     parser_error::e_parser,
                     token,
                     "ERR273 - Symbol '" + token.value + "' cannot be assigned-to as it is immutable.",
                     exprtk_error_location));
               }
               else
                  parser_->set_synthesis_error("Unable to assign symbol is immutable.");

               return true;
            }

            return false;
         }

// Assembly:
subq $0x1d8, %rsp            # imm = 0x1D8
movq %rdi, 0x1c8(%rsp)
movq %rsi, 0x1c0(%rsp)
movq 0x1c8(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0x1b0(%rsp), %rdi
callq 0x3ea180
movq 0x28(%rsp), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x3ea1a0
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x1a8(%rsp)
movq 0x68(%rax), %rdi
addq $0x5e8, %rdi            # imm = 0x5E8
movq 0x1a8(%rsp), %rsi
leaq 0x1b0(%rsp), %rdx
callq 0x3ea300
testb $0x1, %al
jne 0x3e794c
jmp 0x3e7c14
movq 0x28(%rsp), %rax
movq 0x68(%rax), %rdi
addq $0x618, %rdi            # imm = 0x618
leaq 0x1b0(%rsp), %rsi
callq 0x3ea420
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x1a0(%rsp)
movq 0x68(%rax), %rdi
addq $0x618, %rdi            # imm = 0x618
callq 0x3ea470
movq %rax, 0x198(%rsp)
leaq 0x198(%rsp), %rdi
leaq 0x1a0(%rsp), %rsi
callq 0x3ea450
testb $0x1, %al
jne 0x3e79af
jmp 0x3e7b70
leaq 0x1a0(%rsp), %rdi
callq 0x3ea4a0
movq %rax, %rcx
movq 0x28(%rsp), %rax
addq $0x10, %rcx
movq %rcx, 0x190(%rsp)
movq 0x68(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x190(%rsp), %rdx
movq %rdx, 0x18(%rsp)
addq $0x8, %rdx
leaq 0x1c01b2(%rip), %rsi    # 0x5a7ba3
leaq 0xa8(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x3784f0
movq 0x20(%rsp), %rsi
leaq 0x1c01a6(%rip), %rdx    # 0x5a7bb5
leaq 0xc8(%rsp), %rdi
callq 0x29dc30
jmp 0x3e7a1e
leaq 0x58(%rsp), %rdi
movl $0x8621, %esi           # imm = 0x8621
callq 0x371f20
jmp 0x3e7a2f
leaq 0x1bf4dd(%rip), %rsi    # 0x5a6f13
leaq 0x78(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x29dd70
jmp 0x3e7a47
movq 0x18(%rsp), %rdx
leaq 0xe8(%rsp), %rdi
movl $0x9, %esi
leaq 0xc8(%rsp), %rcx
leaq 0x78(%rsp), %r8
callq 0x3741e0
jmp 0x3e7a6d
movq 0x10(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x371e40
jmp 0x3e7a81
leaq 0xe8(%rsp), %rdi
callq 0x371330
leaq 0x78(%rsp), %rdi
callq 0x11b838
leaq 0x58(%rsp), %rdi
callq 0x11b838
leaq 0xc8(%rsp), %rdi
callq 0x11b838
leaq 0xa8(%rsp), %rdi
callq 0x11b838
jmp 0x3e7c0a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
jmp 0x3e7b5e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
jmp 0x3e7b51
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
jmp 0x3e7b47
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
jmp 0x3e7b3d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
leaq 0xe8(%rsp), %rdi
callq 0x371330
leaq 0x78(%rsp), %rdi
callq 0x11b838
leaq 0x58(%rsp), %rdi
callq 0x11b838
leaq 0xc8(%rsp), %rdi
callq 0x11b838
leaq 0xa8(%rsp), %rdi
callq 0x11b838
jmp 0x3e7c2d
movq 0x28(%rsp), %rax
movq 0x68(%rax), %rax
movq %rax, (%rsp)
leaq 0x37(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x11b6f0
movq 0x8(%rsp), %rdx
leaq 0x1c0049(%rip), %rsi    # 0x5a7be1
leaq 0x38(%rsp), %rdi
callq 0x134520
jmp 0x3e7ba4
movq (%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0x3e7640
jmp 0x3e7bb4
leaq 0x38(%rsp), %rdi
callq 0x11b838
leaq 0x37(%rsp), %rdi
callq 0x11b820
jmp 0x3e7c0a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
jmp 0x3e7bfe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
leaq 0x38(%rsp), %rdi
callq 0x11b838
leaq 0x37(%rsp), %rdi
callq 0x11b820
jmp 0x3e7c2d
movb $0x1, 0x1d7(%rsp)
jmp 0x3e7c1c
movb $0x0, 0x1d7(%rsp)
movb 0x1d7(%rsp), %al
andb $0x1, %al
addq $0x1d8, %rsp            # imm = 0x1D8
retq
movq 0xa0(%rsp), %rdi
callq 0x11b4e0
nopw (%rax,%rax)