// File: /workspace/github_cpp_makefile_star2_O1/ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::parser<double>::init_precompilation()
inline void init_precompilation()
      {
         dec_.collect_variables() =
            settings_.collect_variables_enabled();

         dec_.collect_functions() =
            settings_.collect_functions_enabled();

         dec_.collect_assignments() =
            settings_.collect_assignments_enabled();

         if (settings_.replacer_enabled())
         {
            symbol_replacer_.clear();
            symbol_replacer_.add_replace("true" , "1", lexer::token::e_number);
            symbol_replacer_.add_replace("false", "0", lexer::token::e_number);
            helper_assembly_.token_modifier_list.clear();
            helper_assembly_.register_modifier(&symbol_replacer_);
         }

         if (settings_.commutative_check_enabled())
         {
            for (std::size_t i = 0; i < details::reserved_words_size; ++i)
            {
               commutative_inserter_.ignore_symbol(details::reserved_words[i]);
            }

            helper_assembly_.token_inserter_list.clear();
            helper_assembly_.register_inserter(&commutative_inserter_);
         }

         if (settings_.joiner_enabled())
         {
            helper_assembly_.token_joiner_list.clear();
            helper_assembly_.register_joiner(&operator_joiner_2_);
            helper_assembly_.register_joiner(&operator_joiner_3_);
         }

         if (
              settings_.numeric_check_enabled () ||
              settings_.bracket_check_enabled () ||
              settings_.sequence_check_enabled()
            )
         {
            helper_assembly_.token_scanner_list.clear();

            if (settings_.numeric_check_enabled())
            {
               helper_assembly_.register_scanner(&numeric_checker_);
            }

            if (settings_.bracket_check_enabled())
            {
               helper_assembly_.register_scanner(&bracket_checker_);
            }

            if (settings_.sequence_check_enabled())
            {
               helper_assembly_.register_scanner(&sequence_validator_      );
               helper_assembly_.register_scanner(&sequence_validator_3tkns_);
            }
         }
      }

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
movb 0xd0(%rdi), %al
movb 0xd7(%rdi), %cl
movb %cl, 0x2b8(%rdi)
movzwl 0xd8(%rdi), %ecx
movw %cx, 0x2b9(%rdi)
cmpb $0x1, %al
jne 0x1f2bf5
leaq 0x730(%rbx), %rdi
callq 0x1fd75c
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x1c649a(%rip), %rsi    # 0x3b8f28
leaq 0x1c6497(%rip), %rdx    # 0x3b8f2c
leaq 0x8(%rsp), %rdi
callq 0x1eabb8
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x1c52ef(%rip), %rsi    # 0x3b7d9f
leaq 0x1c52e9(%rip), %rdx    # 0x3b7da0
leaq 0x28(%rsp), %rdi
callq 0x1eabb8
leaq 0x728(%rbx), %r14
leaq 0x8(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r14, %rdi
movl $0x7, %ecx
callq 0x1fd68c
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x1f2af6
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1f2b0d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x1d9458(%rip), %rsi    # 0x3cbf74
leaq 0x1d9456(%rip), %rdx    # 0x3cbf79
callq 0x1eabb8
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1c526e(%rip), %rsi    # 0x3b7da5
leaq 0x1c5268(%rip), %rdx    # 0x3b7da6
callq 0x1eabb8
leaq 0x8(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r14, %rdi
movl $0x7, %ecx
callq 0x1fd68c
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x1f2b71
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1f2b88
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0x660(%rbx), %rax
cmpq %rax, 0x668(%rbx)
je 0x1f2b9f
movq %rax, 0x668(%rbx)
leaq 0x8(%rsp), %rdx
movq %r14, (%rdx)
movq 0x660(%rbx), %rdi
movq 0x668(%rbx), %r14
movq %r14, %rsi
callq 0x1fe344
cmpq %rax, %r14
jne 0x1f2bf5
movq 0x668(%rbx), %rsi
cmpq 0x670(%rbx), %rsi
je 0x1f2be4
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x668(%rbx)
jmp 0x1f2bf5
leaq 0x660(%rbx), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1fe3e4
cmpb $0x1, 0xd5(%rbx)
jne 0x1f2ca0
leaq 0x6d8(%rbx), %r14
xorl %r15d, %r15d
leaq 0x38774d(%rip), %r12    # 0x57a360
leaq (%r12,%r15), %rsi
movq %r14, %rdi
callq 0x1fe520
addq $0x20, %r15
cmpq $0x420, %r15            # imm = 0x420
jne 0x1f2c13
movq 0x690(%rbx), %rax
cmpq %rax, 0x698(%rbx)
je 0x1f2c43
movq %rax, 0x698(%rbx)
leaq 0x6c8(%rbx), %rax
leaq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq 0x690(%rbx), %rdi
movq 0x698(%rbx), %r14
movq %r14, %rsi
callq 0x1fe910
cmpq %rax, %r14
jne 0x1f2ca0
movq 0x698(%rbx), %rsi
cmpq 0x6a0(%rbx), %rsi
je 0x1f2c8f
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x698(%rbx)
jmp 0x1f2ca0
leaq 0x690(%rbx), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1fe9b0
cmpb $0x1, 0xd1(%rbx)
jne 0x1f2d7d
movq 0x678(%rbx), %rax
cmpq %rax, 0x680(%rbx)
je 0x1f2cc4
movq %rax, 0x680(%rbx)
leaq 0x708(%rbx), %rax
leaq 0x8(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x678(%rbx), %r14
movq 0x678(%rbx), %rdi
movq 0x680(%rbx), %r15
movq %r15, %rsi
callq 0x1feaeb
cmpq %rax, %r15
jne 0x1f2d24
movq 0x680(%rbx), %rsi
cmpq 0x688(%rbx), %rsi
je 0x1f2d17
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x680(%rbx)
jmp 0x1f2d24
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x1feb8a
leaq 0x718(%rbx), %rax
leaq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq 0x678(%rbx), %rdi
movq 0x680(%rbx), %r15
movq %r15, %rsi
callq 0x1feaeb
cmpq %rax, %r15
jne 0x1f2d7d
movq 0x680(%rbx), %rsi
cmpq 0x688(%rbx), %rsi
je 0x1f2d70
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x680(%rbx)
jmp 0x1f2d7d
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x1feb8a
movb 0xd2(%rbx), %al
testb %al, %al
jne 0x1f2d9d
cmpb $0x0, 0xd3(%rbx)
jne 0x1f2d9d
cmpb $0x1, 0xd4(%rbx)
jne 0x1f2f32
movq 0x648(%rbx), %rdi
cmpq %rdi, 0x650(%rbx)
je 0x1f2db4
movq %rdi, 0x650(%rbx)
leaq 0x648(%rbx), %r14
testb %al, %al
je 0x1f2e11
leaq 0x7f8(%rbx), %rax
leaq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq 0x650(%rbx), %r15
movq %r15, %rsi
callq 0x1fecc5
cmpq %rax, %r15
jne 0x1f2e11
movq 0x650(%rbx), %rsi
cmpq 0x658(%rbx), %rsi
je 0x1f2e04
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x650(%rbx)
jmp 0x1f2e11
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x1fed64
cmpb $0x1, 0xd3(%rbx)
jne 0x1f2e73
leaq 0x760(%rbx), %rax
leaq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq 0x648(%rbx), %rdi
movq 0x650(%rbx), %r15
movq %r15, %rsi
callq 0x1fecc5
cmpq %rax, %r15
jne 0x1f2e73
movq 0x650(%rbx), %rsi
cmpq 0x658(%rbx), %rsi
je 0x1f2e66
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x650(%rbx)
jmp 0x1f2e73
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x1fed64
cmpb $0x1, 0xd4(%rbx)
jne 0x1f2f32
leaq 0x828(%rbx), %rax
leaq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq 0x648(%rbx), %rdi
movq 0x650(%rbx), %r15
movq %r15, %rsi
callq 0x1fecc5
cmpq %rax, %r15
jne 0x1f2ed9
movq 0x650(%rbx), %rsi
cmpq 0x658(%rbx), %rsi
je 0x1f2ecc
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x650(%rbx)
jmp 0x1f2ed9
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x1fed64
leaq 0x880(%rbx), %rax
leaq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq 0x648(%rbx), %rdi
movq 0x650(%rbx), %r15
movq %r15, %rsi
callq 0x1fecc5
cmpq %rax, %r15
jne 0x1f2f32
movq 0x650(%rbx), %rsi
cmpq 0x658(%rbx), %rsi
je 0x1f2f25
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x650(%rbx)
jmp 0x1f2f32
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x1fed64
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0x1f2f44
jmp 0x1f2f60
jmp 0x1f2f7c
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x1f2f63
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x1f2f63
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1f2f7f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x1f2f7f
movq %rax, %rbx
movq %rbx, %rdi
callq 0x120330