// File: /workspace/github_cpp_makefile_star2_O3/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 0x1ebb4b
leaq 0x730(%rbx), %rdi
callq 0x1f63f2
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x1a4594(%rip), %rsi    # 0x38ff80
leaq 0x1a4591(%rip), %rdx    # 0x38ff84
leaq 0x8(%rsp), %rdi
callq 0x1e4740
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x1a33e9(%rip), %rsi    # 0x38edf7
leaq 0x1a33e3(%rip), %rdx    # 0x38edf8
leaq 0x28(%rsp), %rdi
callq 0x1e4740
leaq 0x728(%rbx), %r14
leaq 0x8(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r14, %rdi
movl $0x7, %ecx
callq 0x1f6322
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x1eba54
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1eba6b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x8(%rsp), %rdi
movq %r15, (%rdi)
leaq 0x1b7524(%rip), %rsi    # 0x3a2f9e
leaq 0x1b7522(%rip), %rdx    # 0x3a2fa3
callq 0x1e4740
leaq 0x28(%rsp), %rdi
movq %r12, (%rdi)
leaq 0x1a3368(%rip), %rsi    # 0x38edfd
leaq 0x1a3362(%rip), %rdx    # 0x38edfe
callq 0x1e4740
leaq 0x8(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r14, %rdi
movl $0x7, %ecx
callq 0x1f6322
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x1ebacf
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1ebae6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq 0x660(%rbx), %rdi
movq 0x668(%rbx), %r15
cmpq %rdi, %r15
je 0x1ebb03
movq %rdi, 0x668(%rbx)
movq %rdi, %r15
leaq 0x8(%rsp), %rdx
movq %r14, (%rdx)
movq %r15, %rsi
callq 0x1f6c09
cmpq %rax, %r15
jne 0x1ebb4b
movq 0x668(%rbx), %rsi
cmpq 0x670(%rbx), %rsi
je 0x1ebb3a
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x668(%rbx)
jmp 0x1ebb4b
leaq 0x660(%rbx), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1f6cb4
cmpb $0x1, 0xd5(%rbx)
jne 0x1ebbee
leaq 0x6d8(%rbx), %r14
xorl %r15d, %r15d
leaq 0x3547f7(%rip), %r12    # 0x540360
leaq (%r12,%r15), %rsi
movq %r14, %rdi
callq 0x1f6df0
addq $0x20, %r15
cmpq $0x420, %r15            # imm = 0x420
jne 0x1ebb69
movq 0x690(%rbx), %rdi
movq 0x698(%rbx), %r14
cmpq %rdi, %r14
je 0x1ebb9f
movq %rdi, 0x698(%rbx)
movq %rdi, %r14
leaq 0x6c8(%rbx), %rax
leaq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq %r14, %rsi
callq 0x1f7092
cmpq %rax, %r14
jne 0x1ebbee
movq 0x698(%rbx), %rsi
cmpq 0x6a0(%rbx), %rsi
je 0x1ebbdd
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x698(%rbx)
jmp 0x1ebbee
leaq 0x690(%rbx), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1f713e
cmpb $0x1, 0xd1(%rbx)
jne 0x1ebcd0
movq 0x678(%rbx), %rdi
movq 0x680(%rbx), %r12
cmpq %rdi, %r12
je 0x1ebc18
movq %rdi, 0x680(%rbx)
movq %rdi, %r12
leaq 0x678(%rbx), %r14
leaq 0x708(%rbx), %rax
leaq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq %r12, %rsi
callq 0x1f7279
movq 0x680(%rbx), %r15
cmpq %rax, %r12
jne 0x1ebc7e
cmpq 0x688(%rbx), %r15
je 0x1ebc67
movq 0x8(%rsp), %rax
movq %rax, (%r15)
movq 0x680(%rbx), %r15
addq $0x8, %r15
movq %r15, 0x680(%rbx)
jmp 0x1ebc7e
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
movq %r15, %rsi
callq 0x1f7324
movq 0x680(%rbx), %r15
leaq 0x718(%rbx), %rax
leaq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq 0x678(%rbx), %rdi
movq %r15, %rsi
callq 0x1f7279
cmpq %rax, %r15
jne 0x1ebcd0
movq 0x680(%rbx), %rsi
cmpq 0x688(%rbx), %rsi
je 0x1ebcc3
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x680(%rbx)
jmp 0x1ebcd0
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x1f7324
movb 0xd2(%rbx), %al
testb %al, %al
jne 0x1ebcf0
cmpb $0x0, 0xd3(%rbx)
jne 0x1ebcf0
cmpb $0x1, 0xd4(%rbx)
jne 0x1ebe91
movq 0x648(%rbx), %rdi
movq 0x650(%rbx), %r15
cmpq %rdi, %r15
je 0x1ebd0d
movq %rdi, 0x650(%rbx)
movq %rdi, %r15
leaq 0x648(%rbx), %r14
testb %al, %al
je 0x1ebd63
leaq 0x7f8(%rbx), %rax
leaq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq %r15, %rsi
callq 0x1f745f
cmpq %rax, %r15
jne 0x1ebd63
movq 0x650(%rbx), %rsi
cmpq 0x658(%rbx), %rsi
je 0x1ebd56
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x650(%rbx)
jmp 0x1ebd63
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x1f750a
cmpb $0x1, 0xd3(%rbx)
jne 0x1ebdc5
leaq 0x760(%rbx), %rax
leaq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq 0x648(%rbx), %rdi
movq 0x650(%rbx), %r15
movq %r15, %rsi
callq 0x1f745f
cmpq %rax, %r15
jne 0x1ebdc5
movq 0x650(%rbx), %rsi
cmpq 0x658(%rbx), %rsi
je 0x1ebdb8
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x650(%rbx)
jmp 0x1ebdc5
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x1f750a
cmpb $0x1, 0xd4(%rbx)
jne 0x1ebe91
leaq 0x828(%rbx), %rax
leaq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq 0x648(%rbx), %rdi
movq 0x650(%rbx), %r12
movq %r12, %rsi
callq 0x1f745f
movq 0x650(%rbx), %r15
cmpq %rax, %r12
jne 0x1ebe3f
cmpq 0x658(%rbx), %r15
je 0x1ebe28
movq 0x8(%rsp), %rax
movq %rax, (%r15)
movq 0x650(%rbx), %r15
addq $0x8, %r15
movq %r15, 0x650(%rbx)
jmp 0x1ebe3f
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
movq %r15, %rsi
callq 0x1f750a
movq 0x650(%rbx), %r15
leaq 0x880(%rbx), %rax
leaq 0x8(%rsp), %rdx
movq %rax, (%rdx)
movq 0x648(%rbx), %rdi
movq %r15, %rsi
callq 0x1f745f
cmpq %rax, %r15
jne 0x1ebe91
movq 0x650(%rbx), %rsi
cmpq 0x658(%rbx), %rsi
je 0x1ebe84
movq 0x8(%rsp), %rax
movq %rax, (%rsi)
addq $0x8, 0x650(%rbx)
jmp 0x1ebe91
leaq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x1f750a
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0x1ebea3
jmp 0x1ebebf
jmp 0x1ebedb
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x1ebec2
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x1ebec2
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1ebede
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x1ebede
movq %rax, %rbx
movq %rbx, %rdi
callq 0x11e330