// File: /workspace/github_cpp_makefile_star2_O2/ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::parser<double>::register_local_vars(exprtk::expression<double>&)
inline void register_local_vars(expression<T>& e)
      {
         for (std::size_t i = 0; i < sem_.size(); ++i)
         {
            scope_element& se = sem_.get_element(i);

            exprtk_debug(("register_local_vars() - se[%s]\n", se.name.c_str()));

            if (
                 (scope_element::e_variable == se.type) ||
                 (scope_element::e_literal  == se.type) ||
                 (scope_element::e_vecelem  == se.type)
               )
            {
               if (se.var_node)
               {
                  e.register_local_var(se.var_node);
               }

               if (se.data)
               {
                  e.register_local_data(se.data, 1, 0);
               }
            }
            else if (scope_element::e_vector == se.type)
            {
               if (se.vec_node)
               {
                  e.register_local_var(se.vec_node);
               }

               if (se.data)
               {
                  e.register_local_data(se.data, se.size, 1);
               }
            }
            #ifndef exprtk_disable_string_capabilities
            else if (scope_element::e_string == se.type)
            {
               if (se.str_node)
               {
                  e.register_local_var(se.str_node);
               }

               if (se.data)
               {
                  e.register_local_data(se.data, se.size, 2);
               }
            }
            #endif

            se.var_node  = 0;
            se.vec_node  = 0;
            #ifndef exprtk_disable_string_capabilities
            se.str_node  = 0;
            #endif
            se.data      = 0;
            se.ref_count = 0;
            se.active    = false;
         }
      }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
pushq $0x68
popq %rbp
xorl %r12d, %r12d
leaq 0xd8692(%rip), %r15     # 0x2cf8d4
movq 0x538(%r14), %r13
movq 0x540(%r14), %rax
subq %r13, %rax
cqto
pushq $0x70
popq %rcx
idivq %rcx
cmpq %rax, %r12
jae 0x1f7332
movl -0x20(%r13,%rbp), %eax
decl %eax
cmpl $0x4, %eax
ja 0x1f730b
movslq (%r15,%rax,4), %rax
addq %r15, %rax
jmpq *%rax
movq -0x10(%r13,%rbp), %rsi
testq %rsi, %rsi
je 0x1f728f
movq %rbx, %rdi
callq 0x2b9e38
movq -0x18(%r13,%rbp), %rsi
testq %rsi, %rsi
je 0x1f730b
movq $0x1, (%rsp)
movq %rbx, %rdi
movq %rsp, %rdx
xorl %ecx, %ecx
jmp 0x1f7306
movq (%r13,%rbp), %rsi
testq %rsi, %rsi
je 0x1f72bd
movq %rbx, %rdi
callq 0x2b9e38
movq -0x18(%r13,%rbp), %rsi
testq %rsi, %rsi
je 0x1f730b
leaq -0x48(,%rbp), %rdx
addq %r13, %rdx
movq %rbx, %rdi
pushq $0x2
jmp 0x1f7305
movq -0x8(%r13,%rbp), %rsi
testq %rsi, %rsi
je 0x1f72eb
movq %rbx, %rdi
callq 0x2b9ebc
movq -0x18(%r13,%rbp), %rsi
testq %rsi, %rsi
je 0x1f730b
leaq -0x48(,%rbp), %rdx
addq %r13, %rdx
movq %rbx, %rdi
pushq $0x1
popq %rcx
callq 0x2b9e6c
andq $0x0, -0x30(%r13,%rbp)
movb $0x0, -0x1c(%r13,%rbp)
incq %r12
xorps %xmm0, %xmm0
movups %xmm0, -0x18(%r13,%rbp)
movups %xmm0, -0x8(%r13,%rbp)
addq $0x70, %rbp
jmp 0x1f7242
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq