// File: /workspace/github_cpp_makefile_star2_O3/ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::lexer::generator::scan_token()
inline void scan_token()
         {
            const char_t c = *s_itr_;

            if (details::is_whitespace(c))
            {
               skip_whitespace();
               return;
            }
            else if (is_comment_start(s_itr_))
            {
               skip_comments();
               return;
            }
            else if (details::is_operator_char(c))
            {
               scan_operator();
               return;
            }
            else if (details::is_letter(c))
            {
               scan_symbol();
               return;
            }
            else if (('.' == c) && !next_is_digit(s_itr_))
            {
               scan_operator();
               return;
            }
            else if (details::is_digit(c) || ('.' == c))
            {
               scan_number();
               return;
            }
            else if ('$' == c)
            {
               scan_special_function();
               return;
            }
            #ifndef exprtk_disable_string_capabilities
            else if ('\'' == c)
            {
               scan_string();
               return;
            }
            #endif
            else if ('~' == c)
            {
               token_t t;
               t.set_symbol(s_itr_, s_itr_ + 1, base_itr_);
               token_list_.push_back(t);
               ++s_itr_;
               return;
            }
            else
            {
               token_t t;
               t.set_error(token::e_error, s_itr_, s_itr_ + 2, base_itr_);
               token_list_.push_back(t);
               ++s_itr_;
            }

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdi, %rbx
movq 0x60(%rdi), %r14
movzbl (%r14), %eax
leal -0x8(%rax), %ecx
cmpl $0x6, %ecx
jae 0x24d7ca
movq 0x68(%rbx), %rax
cmpq %r14, %rax
je 0x24d7be
movzbl (%r14), %ecx
leal -0x8(%rcx), %edx
cmpl $0x6, %edx
jae 0x24d7b9
incq %r14
movq %r14, 0x60(%rbx)
cmpq %rax, %r14
jne 0x24d79f
jmp 0x24d7be
cmpl $0x20, %ecx
je 0x24d7ab
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
cmpl $0x20, %eax
je 0x24d796
cmpl $0x23, %eax
je 0x24d7fd
leaq 0x1(%r14), %rdx
movb 0x1(%r14), %cl
movq 0x68(%rbx), %rsi
cmpq %rdx, %rsi
je 0x24d810
cmpb $0x2f, %cl
sete %dil
cmpb $0x2a, %cl
sete %r8b
cmpl $0x2f, %eax
jne 0x24d810
orb %r8b, %dil
je 0x24d810
movq %rbx, %rdi
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x24d9d2
leal -0x21(%rax), %edi
cmpl $0x3d, %edi
ja 0x24d83b
movabsq $0x340000007e005fb1, %r8 # imm = 0x340000007E005FB1
btq %rdi, %r8
jae 0x24d83b
movq %rbx, %rdi
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x24db24
leal -0x7b(%rax), %edi
cmpl $0x3, %edi
jb 0x24d828
movl %eax, %edi
andb $-0x21, %dil
addb $-0x41, %dil
cmpb $0x19, %dil
ja 0x24d866
movq %rbx, %rdi
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x24de60
cmpl $0x2e, %eax
jne 0x24d880
cmpq %rsi, %rdx
setne %al
addb $-0x30, %cl
cmpb $0xa, %cl
setb %cl
testb %cl, %al
je 0x24d828
jmp 0x24d888
leal -0x30(%rax), %ecx
cmpb $0x9, %cl
ja 0x24d89b
movq %rbx, %rdi
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x24df96
cmpl $0x7e, %eax
je 0x24d8d4
cmpl $0x27, %eax
je 0x24d8c1
cmpl $0x24, %eax
jne 0x24d930
movq %rbx, %rdi
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x24e2d4
movq %rbx, %rdi
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x24e440
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
movq $0x0, -0x8(%r15)
movb $0x0, (%r15)
movq $-0x1, 0x10(%r15)
movq 0x58(%rbx), %r12
movl $0x8, -0x18(%r15)
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
movq %r14, %rcx
callq 0x11e110
testq %r12, %r12
je 0x24d921
subq %r12, %r14
movq %r14, 0x30(%rsp)
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x1f342a
jmp 0x24d98a
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %r15
movq %r15, -0x10(%r15)
movq $0x0, -0x8(%r15)
movb $0x0, (%r15)
movq $-0x1, 0x10(%r15)
movq 0x58(%rbx), %r12
movl $0x1, -0x18(%r15)
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
movq %r14, %rcx
callq 0x11e110
testq %r12, %r12
je 0x24d97d
subq %r12, %r14
movq %r14, 0x30(%rsp)
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x1f342a
incq 0x60(%rbx)
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x24d7be
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x24d7be
jmp 0x24d9b0
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x24d9ca
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq %rbx, %rdi
callq 0x11e330