// File: 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:
subq $0xd8, %rsp
movq %rdi, 0xc8(%rsp)
movq %rsi, 0xc0(%rsp)
movq 0xc8(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0xc0(%rsp), %rdi
callq 0x254a80
movq 0x20(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jb 0x25835a
movq $0x0, 0xb8(%rsp)
movq 0xb8(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0xc0(%rsp), %rdi
callq 0x254a80
movq 0x20(%rsp), %rdx
movq %rax, %rcx
movq 0x18(%rsp), %rax
subq 0x8(%rdx), %rcx
addq $0x1, %rcx
cmpq %rcx, %rax
jae 0x258358
leaq 0x88(%rsp), %rdi
callq 0x251250
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rax
decq %rax
movq %rax, 0x10(%rsp)
subq $0x3, %rax
ja 0x25831c
movq 0x10(%rsp), %rax
leaq 0x343150(%rip), %rcx    # 0x59b208
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0xc0(%rsp), %rdi
movq 0xb8(%rsp), %rsi
callq 0x254bc0
movq 0x20(%rsp), %rdi
movq %rax, 0x80(%rsp)
movq 0x80(%rsp), %rsi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
movb %al, 0xf(%rsp)
jmp 0x2580fa
movb 0xf(%rsp), %al
testb $0x1, %al
jne 0x25813d
jmp 0x258104
movq $0x0, 0xd0(%rsp)
movl $0x1, 0x70(%rsp)
jmp 0x258324
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0x88(%rsp), %rdi
callq 0x2512e0
jmp 0x258376
jmp 0x25831c
movq 0xc0(%rsp), %rdi
movq 0xb8(%rsp), %rsi
callq 0x254bc0
movq %rax, 0x68(%rsp)
movq 0xc0(%rsp), %rdi
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x254bc0
movq 0x20(%rsp), %rdi
movq %rax, 0x60(%rsp)
movq 0x68(%rsp), %rsi
movq 0x60(%rsp), %rdx
movq (%rdi), %rax
movq 0x38(%rax), %rax
callq *%rax
movb %al, 0xe(%rsp)
jmp 0x258197
movb 0xe(%rsp), %al
testb $0x1, %al
jne 0x2581ba
jmp 0x2581a1
movq $0x0, 0xd0(%rsp)
movl $0x1, 0x70(%rsp)
jmp 0x258324
jmp 0x25831c
movq 0xc0(%rsp), %rdi
movq 0xb8(%rsp), %rsi
callq 0x254bc0
movq %rax, 0x58(%rsp)
movq 0xc0(%rsp), %rdi
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x254bc0
movq %rax, 0x50(%rsp)
movq 0xc0(%rsp), %rdi
movq 0xb8(%rsp), %rsi
addq $0x2, %rsi
callq 0x254bc0
movq 0x20(%rsp), %rdi
movq %rax, 0x48(%rsp)
movq 0x58(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq 0x48(%rsp), %rcx
movq (%rdi), %rax
movq 0x40(%rax), %rax
callq *%rax
movb %al, 0xd(%rsp)
jmp 0x258237
movb 0xd(%rsp), %al
testb $0x1, %al
jne 0x25825a
jmp 0x258241
movq $0x0, 0xd0(%rsp)
movl $0x1, 0x70(%rsp)
jmp 0x258324
jmp 0x25831c
movq 0xc0(%rsp), %rdi
movq 0xb8(%rsp), %rsi
callq 0x254bc0
movq %rax, 0x40(%rsp)
movq 0xc0(%rsp), %rdi
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x254bc0
movq %rax, 0x38(%rsp)
movq 0xc0(%rsp), %rdi
movq 0xb8(%rsp), %rsi
addq $0x2, %rsi
callq 0x254bc0
movq %rax, 0x30(%rsp)
movq 0xc0(%rsp), %rdi
movq 0xb8(%rsp), %rsi
addq $0x3, %rsi
callq 0x254bc0
movq 0x20(%rsp), %rdi
movq %rax, 0x28(%rsp)
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq 0x30(%rsp), %rcx
movq 0x28(%rsp), %r8
movq (%rdi), %rax
movq 0x48(%rax), %rax
callq *%rax
movb %al, 0xc(%rsp)
jmp 0x2582fa
movb 0xc(%rsp), %al
testb $0x1, %al
jne 0x25831a
jmp 0x258304
movq $0x0, 0xd0(%rsp)
movl $0x1, 0x70(%rsp)
jmp 0x258324
jmp 0x25831c
movl $0x0, 0x70(%rsp)
leaq 0x88(%rsp), %rdi
callq 0x2512e0
movl 0x70(%rsp), %eax
testl %eax, %eax
je 0x25833d
jmp 0x25833b
jmp 0x258366
jmp 0x25833f
movq 0xb8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xb8(%rsp)
jmp 0x25804c
jmp 0x25835a
movq $0x0, 0xd0(%rsp)
movq 0xd0(%rsp), %rax
addq $0xd8, %rsp
retq
movq 0x78(%rsp), %rdi
callq 0x11b4e0