// File: /workspace/github_cpp_makefile_star2_O3/ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::lexer::token_scanner::process(exprtk::lexer::generator&)
inline std::size_t process(generator& g) exprtk_override
         {
            if (g.token_list_.size() >= stride_)
            {
               for (std::size_t i = 0; i < (g.token_list_.size() - stride_ + 1); ++i)
               {
                  token t;

                  switch (stride_)
                  {
                     case 1 :
                              {
                                 const token& t0 = g.token_list_[i];

                                 if (!operator()(t0))
                                 {
                                    return 0;
                                 }
                              }
                              break;

                     case 2 :
                              {
                                 const token& t0 = g.token_list_[i    ];
                                 const token& t1 = g.token_list_[i + 1];

                                 if (!operator()(t0, t1))
                                 {
                                    return 0;
                                 }
                              }
                              break;

                     case 3 :
                              {
                                 const token& t0 = g.token_list_[i    ];
                                 const token& t1 = g.token_list_[i + 1];
                                 const token& t2 = g.token_list_[i + 2];

                                 if (!operator()(t0, t1, t2))
                                 {
                                    return 0;
                                 }
                              }
                              break;

                     case 4 :
                              {
                                 const token& t0 = g.token_list_[i    ];
                                 const token& t1 = g.token_list_[i + 1];
                                 const token& t2 = g.token_list_[i + 2];
                                 const token& t3 = g.token_list_[i + 3];

                                 if (!operator()(t0, t1, t2, t3))
                                 {
                                    return 0;
                                 }
                              }
                              break;
                  }
               }
            }

            return 0;
         }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %rbx
movq (%rsi), %rsi
movq 0x8(%rbx), %rcx
subq %rsi, %rcx
sarq $0x4, %rcx
movabsq $-0x5555555555555555, %rax # imm = 0xAAAAAAAAAAAAAAAB
imulq %rax, %rcx
movq 0x8(%rdi), %rax
subq %rax, %rcx
setb %dl
cmpq $-0x1, %rcx
sete %cl
orb %dl, %cl
jne 0x1f483e
movq %rdi, %r14
leaq 0x20(%rsp), %r15
xorl %r13d, %r13d
leaq 0x194db8(%rip), %rbp    # 0x3894e8
xorl %r12d, %r12d
movl $0x0, 0x8(%rsp)
movq %r15, 0x10(%rsp)
movq $0x0, 0x18(%rsp)
movb $0x0, 0x20(%rsp)
movq $-0x1, 0x30(%rsp)
decq %rax
cmpq $0x3, %rax
ja 0x1f47d8
movslq (%rbp,%rax,4), %rax
addq %rbp, %rax
jmpq *%rax
addq %r13, %rsi
movq (%r14), %rax
movq %r14, %rdi
callq *0x30(%rax)
jmp 0x1f47d4
leaq (%rsi,%r13), %rax
leaq (%rsi,%r13), %rdx
addq $0x30, %rdx
leaq 0x60(%rsi,%r13), %rcx
movq (%r14), %r8
movq %r14, %rdi
movq %rax, %rsi
callq *0x40(%r8)
jmp 0x1f47d4
leaq (%rsi,%r13), %rax
leaq (%rsi,%r13), %rdx
addq $0x30, %rdx
leaq 0x60(%rsi,%r13), %rcx
leaq 0x90(%rsi,%r13), %r8
movq (%r14), %r9
movq %r14, %rdi
movq %rax, %rsi
callq *0x48(%r9)
jmp 0x1f47d4
leaq (%rsi,%r13), %rdx
addq $0x30, %rdx
addq %r13, %rsi
movq (%r14), %rax
movq %r14, %rdi
callq *0x38(%rax)
testb %al, %al
je 0x1f4827
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x1f47ef
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x11e0c0
incq %r12
movq (%rbx), %rsi
movq 0x8(%rbx), %rcx
subq %rsi, %rcx
sarq $0x4, %rcx
movabsq $-0x5555555555555555, %rax # imm = 0xAAAAAAAAAAAAAAAB
imulq %rax, %rcx
movq 0x8(%r14), %rax
subq %rax, %rcx
incq %rcx
addq $0x30, %r13
cmpq %rcx, %r12
jb 0x1f4733
jmp 0x1f483e
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x1f483e
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x11e0c0
xorl %eax, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1f4855
jmp 0x1f4855
jmp 0x1f4855
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x1f486f
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq %rbx, %rdi
callq 0x11e330
nop