// File: /workspace/github_cpp_makefile_star2_O3/ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::function_compositor<double>::forward(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, unsigned long const&, exprtk::symbol_table<double>&, bool)
inline bool forward(const std::string& name,
                          const std::size_t& arg_count,
                          symbol_table_t& sym_table,
                          const bool ret_present = false)
      {
         switch (arg_count)
         {
            #define case_stmt(N)                                     \
            case N : (fp_map_[arg_count])[name] =                    \
                     (!ret_present) ? static_cast<base_func*>        \
                                      (new func_##N##param) :        \
                                      static_cast<base_func*>        \
                                      (new func_##N##param_retval) ; \
                     break;                                          \

            case_stmt(0) case_stmt(1) case_stmt(2)
            case_stmt(3) case_stmt(4) case_stmt(5)
            case_stmt(6)
            #undef case_stmt
         }

         exprtk::ifunction<T>& ifunc = (*(fp_map_[arg_count])[name]);

         return sym_table.add_function(name,ifunc);
      }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rcx, %r14
movq %rdx, %r13
movq %rsi, %r15
movq %rdi, %r12
movq (%rdx), %rax
cmpq $0x6, %rax
ja 0x38469a
movl %r8d, %ebp
leaq 0x967e(%rip), %rcx      # 0x38dad8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x190, %edi            # imm = 0x190
callq 0x11e0f0
movq %rax, %rbx
movq %rsp, %rsi
testb %bpl, %bpl
je 0x38461a
movq $0x0, (%rsi)
movq %rbx, %rdi
callq 0x384aa6
leaq 0x1b8bee(%rip), %rax    # 0x53d080
jmp 0x384678
movl $0x190, %edi            # imm = 0x190
callq 0x11e0f0
movq %rax, %rbx
movq %rsp, %rsi
testb %bpl, %bpl
je 0x3845cf
movq $0x4, (%rsi)
movq %rbx, %rdi
callq 0x384aa6
leaq 0x1b92fa(%rip), %rax    # 0x53d7c0
jmp 0x384678
movl $0x190, %edi            # imm = 0x190
callq 0x11e0f0
movq %rax, %rbx
movq %rsp, %rsi
testb %bpl, %bpl
je 0x3845ea
movq $0x2, (%rsi)
movq %rbx, %rdi
callq 0x384aa6
leaq 0x1b8f26(%rip), %rax    # 0x53d420
jmp 0x384678
movl $0x190, %edi            # imm = 0x190
callq 0x11e0f0
movq %rax, %rbx
movq %rsp, %rsi
testb %bpl, %bpl
je 0x384602
movq $0x3, (%rsi)
movq %rbx, %rdi
callq 0x384aa6
leaq 0x1b90c2(%rip), %rax    # 0x53d5f0
jmp 0x384678
movl $0x190, %edi            # imm = 0x190
callq 0x11e0f0
movq %rax, %rbx
movq %rsp, %rsi
testb %bpl, %bpl
je 0x384632
movq $0x1, (%rsi)
movq %rbx, %rdi
callq 0x384aa6
leaq 0x1b8cee(%rip), %rax    # 0x53d250
jmp 0x384678
movl $0x190, %edi            # imm = 0x190
callq 0x11e0f0
movq %rax, %rbx
movq %rsp, %rsi
testb %bpl, %bpl
je 0x38464a
movq $0x5, (%rsi)
movq %rbx, %rdi
callq 0x384aa6
leaq 0x1b93fa(%rip), %rax    # 0x53d990
jmp 0x384678
movl $0x190, %edi            # imm = 0x190
callq 0x11e0f0
movq %rax, %rbx
movq %rsp, %rsi
testb %bpl, %bpl
je 0x384662
movq $0x6, (%rsi)
movq %rbx, %rdi
callq 0x384aa6
leaq 0x1b9596(%rip), %rax    # 0x53db60
jmp 0x384678
movq $0x4, (%rsi)
movq %rbx, %rdi
callq 0x384aa6
leaq 0x1b90f3(%rip), %rax    # 0x53d6d8
jmp 0x384678
movq $0x2, (%rsi)
movq %rbx, %rdi
callq 0x384aa6
leaq 0x1b8d38(%rip), %rax    # 0x53d338
jmp 0x384678
movq $0x3, (%rsi)
movq %rbx, %rdi
callq 0x384aa6
leaq 0x1b8ef0(%rip), %rax    # 0x53d508
jmp 0x384678
movq $0x0, (%rsi)
movq %rbx, %rdi
callq 0x384aa6
leaq 0x1b8880(%rip), %rax    # 0x53ceb0
jmp 0x384678
movq $0x1, (%rsi)
movq %rbx, %rdi
callq 0x384aa6
leaq 0x1b8b20(%rip), %rax    # 0x53d168
jmp 0x384678
movq $0x5, (%rsi)
movq %rbx, %rdi
callq 0x384aa6
leaq 0x1b9248(%rip), %rax    # 0x53d8a8
jmp 0x384678
movq $0x6, (%rsi)
movq %rbx, %rdi
callq 0x384aa6
leaq 0x1b9400(%rip), %rax    # 0x53da78
movq %rax, (%rbx)
movq (%r13), %rax
leaq (%rax,%rax,2), %rdi
shlq $0x4, %rdi
addq 0x960(%r12), %rdi
movq %r15, %rsi
callq 0x383772
movq %rbx, (%rax)
movq (%r13), %rax
leaq (%rax,%rax,2), %rdi
shlq $0x4, %rdi
addq 0x960(%r12), %rdi
movq %r15, %rsi
callq 0x383772
movq (%rax), %rdx
movq %r14, %rdi
movq %r15, %rsi
callq 0x1e55b2
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3846ed
jmp 0x3846ed
jmp 0x3846ed
jmp 0x3846ed
jmp 0x3846ed
jmp 0x3846ed
jmp 0x3846ed
jmp 0x3846ed
jmp 0x3846ed
jmp 0x3846ed
jmp 0x3846ed
jmp 0x3846ed
jmp 0x3846ed
movq %rax, %r14
movl $0x190, %esi            # imm = 0x190
movq %rbx, %rdi
callq 0x11e0c0
movq %r14, %rdi
callq 0x11e330
nop