// File: /workspace/github_cpp_makefile_star2_O1/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 0x3ad7aa
movl %r8d, %ebp
leaq 0x9516(%rip), %rcx      # 0x3b6a80
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x190, %edi            # imm = 0x190
callq 0x1200f0
movq %rax, %rbx
movq %rsp, %rsi
testb %bpl, %bpl
je 0x3ad72a
movq $0x0, (%rsi)
movq %rbx, %rdi
callq 0x3ad9be
leaq 0x1c9ade(%rip), %rax    # 0x577080
jmp 0x3ad788
movl $0x190, %edi            # imm = 0x190
callq 0x1200f0
movq %rax, %rbx
movq %rsp, %rsi
testb %bpl, %bpl
je 0x3ad6df
movq $0x4, (%rsi)
movq %rbx, %rdi
callq 0x3ad9be
leaq 0x1ca1ea(%rip), %rax    # 0x5777c0
jmp 0x3ad788
movl $0x190, %edi            # imm = 0x190
callq 0x1200f0
movq %rax, %rbx
movq %rsp, %rsi
testb %bpl, %bpl
je 0x3ad6fa
movq $0x2, (%rsi)
movq %rbx, %rdi
callq 0x3ad9be
leaq 0x1c9e16(%rip), %rax    # 0x577420
jmp 0x3ad788
movl $0x190, %edi            # imm = 0x190
callq 0x1200f0
movq %rax, %rbx
movq %rsp, %rsi
testb %bpl, %bpl
je 0x3ad712
movq $0x3, (%rsi)
movq %rbx, %rdi
callq 0x3ad9be
leaq 0x1c9fb2(%rip), %rax    # 0x5775f0
jmp 0x3ad788
movl $0x190, %edi            # imm = 0x190
callq 0x1200f0
movq %rax, %rbx
movq %rsp, %rsi
testb %bpl, %bpl
je 0x3ad742
movq $0x1, (%rsi)
movq %rbx, %rdi
callq 0x3ad9be
leaq 0x1c9bde(%rip), %rax    # 0x577250
jmp 0x3ad788
movl $0x190, %edi            # imm = 0x190
callq 0x1200f0
movq %rax, %rbx
movq %rsp, %rsi
testb %bpl, %bpl
je 0x3ad75a
movq $0x5, (%rsi)
movq %rbx, %rdi
callq 0x3ad9be
leaq 0x1ca2ea(%rip), %rax    # 0x577990
jmp 0x3ad788
movl $0x190, %edi            # imm = 0x190
callq 0x1200f0
movq %rax, %rbx
movq %rsp, %rsi
testb %bpl, %bpl
je 0x3ad772
movq $0x6, (%rsi)
movq %rbx, %rdi
callq 0x3ad9be
leaq 0x1ca486(%rip), %rax    # 0x577b60
jmp 0x3ad788
movq $0x4, (%rsi)
movq %rbx, %rdi
callq 0x3ad9be
leaq 0x1c9fe3(%rip), %rax    # 0x5776d8
jmp 0x3ad788
movq $0x2, (%rsi)
movq %rbx, %rdi
callq 0x3ad9be
leaq 0x1c9c28(%rip), %rax    # 0x577338
jmp 0x3ad788
movq $0x3, (%rsi)
movq %rbx, %rdi
callq 0x3ad9be
leaq 0x1c9de0(%rip), %rax    # 0x577508
jmp 0x3ad788
movq $0x0, (%rsi)
movq %rbx, %rdi
callq 0x3ad9be
leaq 0x1c9770(%rip), %rax    # 0x576eb0
jmp 0x3ad788
movq $0x1, (%rsi)
movq %rbx, %rdi
callq 0x3ad9be
leaq 0x1c9a10(%rip), %rax    # 0x577168
jmp 0x3ad788
movq $0x5, (%rsi)
movq %rbx, %rdi
callq 0x3ad9be
leaq 0x1ca138(%rip), %rax    # 0x5778a8
jmp 0x3ad788
movq $0x6, (%rsi)
movq %rbx, %rdi
callq 0x3ad9be
leaq 0x1ca2f0(%rip), %rax    # 0x577a78
movq %rax, (%rbx)
movq (%r13), %rax
leaq (%rax,%rax,2), %rdi
shlq $0x4, %rdi
addq 0x960(%r12), %rdi
movq %r15, %rsi
callq 0x3ac524
movq %rbx, (%rax)
movq (%r13), %rax
leaq (%rax,%rax,2), %rdi
shlq $0x4, %rdi
addq 0x960(%r12), %rdi
movq %r15, %rsi
callq 0x3ac524
movq (%rax), %rdx
movq %r14, %rdi
movq %r15, %rsi
callq 0x1eba52
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3ad7fd
jmp 0x3ad7fd
jmp 0x3ad7fd
jmp 0x3ad7fd
jmp 0x3ad7fd
jmp 0x3ad7fd
jmp 0x3ad7fd
jmp 0x3ad7fd
jmp 0x3ad7fd
jmp 0x3ad7fd
jmp 0x3ad7fd
jmp 0x3ad7fd
jmp 0x3ad7fd
movq %rax, %r14
movl $0x190, %esi            # imm = 0x190
movq %rbx, %rdi
callq 0x1200c0
movq %r14, %rdi
callq 0x120330
nop