// File: /workspace/github_cpp_makefile_star2_O2/ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::parser<double>::parse_vector_index(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
inline expression_node_ptr parse_vector_index(const std::string& vector_name = "")
      {
         expression_node_ptr index_expr = error_node();

         if (0 == (index_expr = parse_expression()))
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR123 - Failed to parse index for vector: '" + vector_name + "'",
               exprtk_error_location));

            return error_node();
         }
         else if (!token_is(token_t::e_rsqrbracket))
         {
            set_error(make_error(
               parser_error::e_syntax,
               current_token(),
               "ERR124 - Expected ']' for index of vector: '" + vector_name + "'",
               exprtk_error_location));

            free_node(node_allocator_, index_expr);

            return error_node();
         }

         return index_expr;
      }

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x130, %rsp            # imm = 0x130
movq %rsi, %r14
movq %rdi, %rbx
xorl %esi, %esi
callq 0x1f9016
movq %rax, 0x60(%rsp)
testq %rax, %rax
je 0x29f47f
movq %rax, %r15
leaq 0x88(%rsp), %rsi
movl $0x5d, (%rsi)
pushq $0x1
popq %rdx
movq %rbx, %rdi
callq 0x1fae6e
testb %al, %al
jne 0x29f536
leaq 0x3d80f(%rip), %rsi     # 0x2dcbcb
leaq 0x68(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
callq 0x1f8aab
leaq 0x3d39f(%rip), %rdx     # 0x2dc772
leaq 0x40(%rsp), %rdi
movq %r15, %rsi
callq 0x1b42c3
movq %rsp, %rdi
movl $0x6e42, %esi           # imm = 0x6E42
callq 0x1f7a3c
leaq 0x3a807(%rip), %rsi     # 0x2d9bfb
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0x1b4349
leaq 0x70(%rbx), %rdx
leaq 0x88(%rsp), %rdi
pushq $0x1
popq %rsi
leaq 0x40(%rsp), %rcx
leaq 0x20(%rsp), %r8
callq 0x1f7341
leaq 0x308(%rbx), %rdi
leaq 0x88(%rsp), %rsi
callq 0x1f76ce
leaq 0x88(%rsp), %rdi
callq 0x1f5c4c
leaq 0x20(%rsp), %rdi
callq 0x118648
movq %rsp, %rdi
callq 0x118648
leaq 0x40(%rsp), %rdi
callq 0x118648
leaq 0x68(%rsp), %rdi
callq 0x118648
addq $0x290, %rbx            # imm = 0x290
leaq 0x60(%rsp), %rsi
movq %rbx, %rdi
callq 0x1ad9c8
jmp 0x29f533
leaq 0x3d718(%rip), %rsi     # 0x2dcb9e
leaq 0x68(%rsp), %r15
movq %r15, %rdi
movq %r14, %rdx
callq 0x1f8aab
leaq 0x3d2d5(%rip), %rdx     # 0x2dc772
leaq 0x40(%rsp), %rdi
movq %r15, %rsi
callq 0x1b42c3
movq %rsp, %rdi
movl $0x6e38, %esi           # imm = 0x6E38
callq 0x1f7a3c
leaq 0x3a73d(%rip), %rsi     # 0x2d9bfb
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0x1b4349
leaq 0x70(%rbx), %rdx
leaq 0x88(%rsp), %rdi
pushq $0x1
popq %rsi
leaq 0x40(%rsp), %rcx
leaq 0x20(%rsp), %r8
callq 0x1f7341
addq $0x308, %rbx            # imm = 0x308
leaq 0x88(%rsp), %rsi
movq %rbx, %rdi
callq 0x1f76ce
leaq 0x88(%rsp), %rdi
callq 0x1f5c4c
leaq 0x20(%rsp), %rdi
callq 0x118648
movq %rsp, %rdi
callq 0x118648
leaq 0x40(%rsp), %rdi
callq 0x118648
leaq 0x68(%rsp), %rdi
callq 0x118648
xorl %r15d, %r15d
movq %r15, %rax
addq $0x130, %rsp            # imm = 0x130
popq %rbx
popq %r14
popq %r15
retq
jmp 0x29f550
jmp 0x29f562
jmp 0x29f571
jmp 0x29f57e
jmp 0x29f58d
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0x1f5c4c
jmp 0x29f565
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x118648
jmp 0x29f574
movq %rax, %rbx
movq %rsp, %rdi
callq 0x118648
jmp 0x29f581
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x118648
jmp 0x29f590
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x118648
movq %rbx, %rdi
callq 0x118360