// File: /workspace/github_cpp_makefile_star2_O1/ArashPartow[P]exprtk-extras/exprtk_repl.cpp
// Function: expression_processor<double>::process_directive(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void process_directive(std::string expression)
   {
      expression = trim_whitespace(expression);

      if ('$' != expression[0])
         return;
      else if ("$enable_cache" == expression)
         persist_symbol_table() = true;
      else if ("$disable_cache" == expression)
         persist_symbol_table() = false;
      else if ("$enable_symbol_dump" == expression)
         symbol_dump() = true;
      else if ("$disable_symbol_dump" == expression)
         symbol_dump() = false;
      else if ("$enable_assignment_dump" == expression)
         assignment_dump() = true;
      else if ("$disable_assignment_dump" == expression)
         assignment_dump() = false;
      else if ("$enable_timer" == expression)
         display_total_time() = true;
      else if ("$enable_compile_timer" == expression)
         display_total_compile_time() = true;
      else if ("$disable_timer" == expression)
         display_total_time() = false;
      else if ("$disable_compile_timer" == expression)
         display_total_compile_time() = false;
      else if ("$enable_usr" == expression)
         enable_usr() = true;
      else if ("$disable_usr" == expression)
         enable_usr() = false;
      else if ("$enable_local_vardef" == expression)
         disable_local_vardef() = false;
      else if ("$disable_local_vardef" == expression)
         disable_local_vardef() = true;
      else if ("$list_vars" == expression)
         list_symbols();
      else if ("$clear_functions" == expression)
         clear_functions();
      else if ((0 == expression.find("$batch_run ")) && (expression.size() >= 12))
         process_batch_run(expression.substr(11,expression.size() - 11));
      else if ((0 == expression.find("$load ")) && (expression.size() > 7))
         process_from_file(expression.substr(6,expression.size() - 6));
      else if ((0 == expression.find("$disable arithmetic ")) && (expression.size() >= 21))
         process_disable_arithmetic(expression.substr(20,expression.size() - 20));
      else if ((0 == expression.find("$disable assignment ")) && (expression.size() >= 21))
         process_disable_assignment(expression.substr(20,expression.size() - 20));
      else if ((0 == expression.find("$disable inequality ")) && (expression.size() >= 21))
         process_disable_inequality(expression.substr(20,expression.size() - 20));
      else if ((0 == expression.find("$enable arithmetic ")) && (expression.size() >= 20))
         process_enable_arithmetic(expression.substr(19,expression.size() - 19));
      else if ((0 == expression.find("$enable assignment ")) && (expression.size() >= 20))
         process_enable_assignment(expression.substr(19,expression.size() - 19));
      else if ((0 == expression.find("$enable inequality ")) && (expression.size() >= 20))
         process_enable_inequality(expression.substr(19,expression.size() - 19));
      else if ("$begin" == expression)
         process_multiline();
      else if (0 == expression.find("$function"))
         process_function_definition(expression);
      else
         printf("\nERROR - Invalid directive: %s\n",expression.c_str());
   }

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x40, %rsp
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x30(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rsi), %rsi
movq 0x8(%r14), %rdx
addq %rsi, %rdx
leaq 0x20(%rsp), %r15
movq %r15, %rdi
callq 0x2e41d0
movq %rsp, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x2e2ece
movq %rsp, %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x11e320
movq (%r15), %rdi
leaq 0x10(%rsp), %r12
cmpq %r12, %rdi
je 0x122c83
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0d0
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
je 0x122c9a
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x11e0d0
movq (%r14), %rax
cmpb $0x24, (%rax)
jne 0x12313c
leaq 0x1ccb44(%rip), %rsi    # 0x2ef7f1
movq %r14, %rdi
callq 0x11e550
testl %eax, %eax
je 0x122e84
leaq 0x1ccb3b(%rip), %rsi    # 0x2ef7ff
movq %r14, %rdi
callq 0x11e550
testl %eax, %eax
je 0x122e8c
leaq 0x1ccb33(%rip), %rsi    # 0x2ef80e
movq %r14, %rdi
callq 0x11e550
testl %eax, %eax
je 0x122e94
leaq 0x1ccb30(%rip), %rsi    # 0x2ef822
movq %r14, %rdi
callq 0x11e550
testl %eax, %eax
je 0x122e9d
leaq 0x1ccb2e(%rip), %rsi    # 0x2ef837
movq %r14, %rdi
callq 0x11e550
testl %eax, %eax
je 0x122ea6
leaq 0x1ccb2f(%rip), %rsi    # 0x2ef84f
movq %r14, %rdi
callq 0x11e550
testl %eax, %eax
je 0x122eaf
leaq 0x1ccb31(%rip), %rsi    # 0x2ef868
movq %r14, %rdi
callq 0x11e550
testl %eax, %eax
je 0x122eb8
leaq 0x1ccb28(%rip), %rsi    # 0x2ef876
movq %r14, %rdi
callq 0x11e550
testl %eax, %eax
je 0x122ec1
leaq 0x1ccb27(%rip), %rsi    # 0x2ef88c
movq %r14, %rdi
callq 0x11e550
testl %eax, %eax
je 0x122eca
leaq 0x1ccb1f(%rip), %rsi    # 0x2ef89b
movq %r14, %rdi
callq 0x11e550
testl %eax, %eax
je 0x122ed3
leaq 0x1ccb1f(%rip), %rsi    # 0x2ef8b2
movq %r14, %rdi
callq 0x11e550
testl %eax, %eax
je 0x122edc
leaq 0x1ccb14(%rip), %rsi    # 0x2ef8be
movq %r14, %rdi
callq 0x11e550
testl %eax, %eax
je 0x122ee5
leaq 0x1ccb0a(%rip), %rsi    # 0x2ef8cb
movq %r14, %rdi
callq 0x11e550
testl %eax, %eax
je 0x122eee
leaq 0x1ccb08(%rip), %rsi    # 0x2ef8e0
movq %r14, %rdi
callq 0x11e550
testl %eax, %eax
je 0x122ef7
leaq 0x1ccb07(%rip), %rsi    # 0x2ef8f6
movq %r14, %rdi
callq 0x11e550
testl %eax, %eax
je 0x122f00
leaq 0x1ccafb(%rip), %rsi    # 0x2ef901
movq %r14, %rdi
callq 0x11e550
testl %eax, %eax
je 0x122fa5
leaq 0x1ccaf5(%rip), %rsi    # 0x2ef912
movl $0xb, %ecx
movq %r14, %rdi
xorl %edx, %edx
callq 0x11e220
testq %rax, %rax
jne 0x122f0d
movq 0x8(%r14), %rcx
cmpq $0xc, %rcx
jb 0x122f0d
addq $-0xb, %rcx
movq %rsp, %r15
movl $0xb, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x11e5f0
movq (%r15), %r14
movq %r14, %rdi
callq 0x11e1e0
cltq
movq %rax, 0x8(%rbx)
cmpq %r12, %r14
je 0x12313c
movq 0x10(%rsp), %rsi
incq %rsi
movq %r14, %rdi
jmp 0x123137
movb $0x1, (%rbx)
jmp 0x12313c
movb $0x0, (%rbx)
jmp 0x12313c
movb $0x1, 0x1(%rbx)
jmp 0x12313c
movb $0x0, 0x1(%rbx)
jmp 0x12313c
movb $0x1, 0x2(%rbx)
jmp 0x12313c
movb $0x0, 0x2(%rbx)
jmp 0x12313c
movb $0x1, 0x3(%rbx)
jmp 0x12313c
movb $0x1, 0x4(%rbx)
jmp 0x12313c
movb $0x0, 0x3(%rbx)
jmp 0x12313c
movb $0x0, 0x4(%rbx)
jmp 0x12313c
movb $0x1, 0x5(%rbx)
jmp 0x12313c
movb $0x0, 0x5(%rbx)
jmp 0x12313c
movb $0x0, 0x6(%rbx)
jmp 0x12313c
movb $0x1, 0x6(%rbx)
jmp 0x12313c
movq %rbx, %rdi
callq 0x2e3040
jmp 0x12313c
leaq 0x1cca0a(%rip), %rsi    # 0x2ef91e
movl $0x6, %ecx
movq %r14, %rdi
xorl %edx, %edx
callq 0x11e220
testq %rax, %rax
jne 0x122f59
movq 0x8(%r14), %rcx
cmpq $0x8, %rcx
jb 0x122f59
addq $-0x6, %rcx
movq %rsp, %r15
movl $0x6, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x11e5f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x122b2c
jmp 0x123126
leaq 0x1cc9c5(%rip), %rsi    # 0x2ef925
movl $0x14, %ecx
movq %r14, %rdi
xorl %edx, %edx
callq 0x11e220
testq %rax, %rax
jne 0x122fb2
movq 0x8(%r14), %rcx
cmpq $0x15, %rcx
jb 0x122fb2
addq $-0x14, %rcx
movq %rsp, %r15
movl $0x14, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x11e5f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2e341e
jmp 0x123126
movq %rbx, %rdi
callq 0x125634
jmp 0x12313c
leaq 0x1cc981(%rip), %rsi    # 0x2ef93a
movl $0x14, %ecx
movq %r14, %rdi
xorl %edx, %edx
callq 0x11e220
testq %rax, %rax
jne 0x122ffe
movq 0x8(%r14), %rcx
cmpq $0x15, %rcx
jb 0x122ffe
addq $-0x14, %rcx
movq %rsp, %r15
movl $0x14, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x11e5f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2e3476
jmp 0x123126
leaq 0x1cc94a(%rip), %rsi    # 0x2ef94f
movl $0x14, %ecx
movq %r14, %rdi
xorl %edx, %edx
callq 0x11e220
testq %rax, %rax
jne 0x12304a
movq 0x8(%r14), %rcx
cmpq $0x15, %rcx
jb 0x12304a
addq $-0x14, %rcx
movq %rsp, %r15
movl $0x14, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x11e5f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2e34ce
jmp 0x123126
leaq 0x1cc913(%rip), %rsi    # 0x2ef964
movl $0x13, %ecx
movq %r14, %rdi
xorl %edx, %edx
callq 0x11e220
testq %rax, %rax
jne 0x123096
movq 0x8(%r14), %rcx
cmpq $0x14, %rcx
jb 0x123096
addq $-0x13, %rcx
movq %rsp, %r15
movl $0x13, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x11e5f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2e3526
jmp 0x123126
leaq 0x1cc8db(%rip), %rsi    # 0x2ef978
movl $0x13, %ecx
movq %r14, %rdi
xorl %edx, %edx
callq 0x11e220
testq %rax, %rax
jne 0x1230df
movq 0x8(%r14), %rcx
cmpq $0x14, %rcx
jb 0x1230df
addq $-0x13, %rcx
movq %rsp, %r15
movl $0x13, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x11e5f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2e3566
jmp 0x123126
leaq 0x1cc8a6(%rip), %rsi    # 0x2ef98c
movl $0x13, %ecx
movq %r14, %rdi
xorl %edx, %edx
callq 0x11e220
testq %rax, %rax
jne 0x12314a
movq 0x8(%r14), %rcx
cmpq $0x14, %rcx
jb 0x12314a
addq $-0x13, %rcx
movq %rsp, %r15
movl $0x13, %edx
movq %r15, %rdi
movq %r14, %rsi
callq 0x11e5f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x2e35a6
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x12313c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x11e0d0
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
leaq 0x1cc84f(%rip), %rsi    # 0x2ef9a0
movq %r14, %rdi
callq 0x11e550
testl %eax, %eax
je 0x12318b
leaq 0x1cc843(%rip), %rsi    # 0x2ef9a7
movl $0x9, %ecx
movq %r14, %rdi
xorl %edx, %edx
callq 0x11e220
testq %rax, %rax
je 0x123195
movq (%r14), %rsi
leaq 0x1cc82f(%rip), %rdi    # 0x2ef9b1
xorl %eax, %eax
callq 0x11e090
jmp 0x12313c
movq %rbx, %rdi
callq 0x2e35e6
jmp 0x12313c
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %edx
callq 0x1a9362
jmp 0x12313c
jmp 0x1231b3
jmp 0x1231b3
jmp 0x1231b3
jmp 0x1231b3
jmp 0x1231b3
jmp 0x1231b3
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x1231e0
movq 0x10(%rsp), %rsi
jmp 0x1231d8
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r13, %rdi
je 0x1231e0
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x11e0d0
movq %rbx, %rdi
callq 0x11e3c0