// File: 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:
subq $0x218, %rsp            # imm = 0x218
movb %r8b, %al
movq %rdi, 0x210(%rsp)
movq %rsi, 0x208(%rsp)
movq %rdx, 0x200(%rsp)
movq %rcx, 0x1f8(%rsp)
andb $0x1, %al
movb %al, 0x1f7(%rsp)
movq 0x210(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0x200(%rsp), %rax
movq (%rax), %rax
movq %rax, 0xf0(%rsp)
subq $0x6, %rax
ja 0x5878c2
movq 0xf0(%rsp), %rax
leaq 0x194c9(%rip), %rcx     # 0x5a0478
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movb 0x1f7(%rsp), %al
movb $0x0, 0x1e7(%rsp)
movb $0x0, 0x1c7(%rsp)
testb $0x1, %al
jne 0x587014
movl $0x190, %edi            # imm = 0x190
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0xe0(%rsp)
movq %rdi, 0x1e8(%rsp)
movb $0x1, 0x1e7(%rsp)
callq 0x588e20
jmp 0x587002
movq 0xe0(%rsp), %rax
movq %rax, 0xd8(%rsp)
jmp 0x587055
movl $0x190, %edi            # imm = 0x190
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0xd0(%rsp)
movq %rdi, 0x1c8(%rsp)
movb $0x1, 0x1c7(%rsp)
callq 0x588e60
jmp 0x587043
movq 0xd0(%rsp), %rax
movq %rax, 0xd8(%rsp)
jmp 0x587055
movq 0xe8(%rsp), %rdi
movq 0xd8(%rsp), %rax
movq %rax, 0xc8(%rsp)
addq $0x960, %rdi            # imm = 0x960
movq 0x200(%rsp), %rax
movq (%rax), %rsi
callq 0x585730
movq %rax, %rdi
movq 0x208(%rsp), %rsi
callq 0x585750
movq 0xc8(%rsp), %rcx
movq %rcx, (%rax)
jmp 0x5878c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
testb $0x1, 0x1e7(%rsp)
jne 0x5870c4
jmp 0x5870d6
movq 0x1e8(%rsp), %rdi
movl $0x190, %esi            # imm = 0x190
callq 0x11b130
jmp 0x587923
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
testb $0x1, 0x1c7(%rsp)
jne 0x5870fb
jmp 0x58710d
movq 0x1c8(%rsp), %rdi
movl $0x190, %esi            # imm = 0x190
callq 0x11b130
jmp 0x587923
movb 0x1f7(%rsp), %al
movb $0x0, 0x1b7(%rsp)
movb $0x0, 0x1a7(%rsp)
testb $0x1, %al
jne 0x58716e
movl $0x190, %edi            # imm = 0x190
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0xc0(%rsp)
movq %rdi, 0x1b8(%rsp)
movb $0x1, 0x1b7(%rsp)
callq 0x588e90
jmp 0x58715c
movq 0xc0(%rsp), %rax
movq %rax, 0xb8(%rsp)
jmp 0x5871af
movl $0x190, %edi            # imm = 0x190
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0xb0(%rsp)
movq %rdi, 0x1a8(%rsp)
movb $0x1, 0x1a7(%rsp)
callq 0x588ed0
jmp 0x58719d
movq 0xb0(%rsp), %rax
movq %rax, 0xb8(%rsp)
jmp 0x5871af
movq 0xe8(%rsp), %rdi
movq 0xb8(%rsp), %rax
movq %rax, 0xa8(%rsp)
addq $0x960, %rdi            # imm = 0x960
movq 0x200(%rsp), %rax
movq (%rax), %rsi
callq 0x585730
movq %rax, %rdi
movq 0x208(%rsp), %rsi
callq 0x585750
movq 0xa8(%rsp), %rcx
movq %rcx, (%rax)
jmp 0x5878c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
testb $0x1, 0x1b7(%rsp)
jne 0x58721e
jmp 0x587230
movq 0x1b8(%rsp), %rdi
movl $0x190, %esi            # imm = 0x190
callq 0x11b130
jmp 0x587923
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
testb $0x1, 0x1a7(%rsp)
jne 0x587255
jmp 0x587267
movq 0x1a8(%rsp), %rdi
movl $0x190, %esi            # imm = 0x190
callq 0x11b130
jmp 0x587923
movb 0x1f7(%rsp), %al
movb $0x0, 0x197(%rsp)
movb $0x0, 0x187(%rsp)
testb $0x1, %al
jne 0x5872c8
movl $0x190, %edi            # imm = 0x190
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0xa0(%rsp)
movq %rdi, 0x198(%rsp)
movb $0x1, 0x197(%rsp)
callq 0x588f00
jmp 0x5872b6
movq 0xa0(%rsp), %rax
movq %rax, 0x98(%rsp)
jmp 0x587309
movl $0x190, %edi            # imm = 0x190
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x90(%rsp)
movq %rdi, 0x188(%rsp)
movb $0x1, 0x187(%rsp)
callq 0x588f40
jmp 0x5872f7
movq 0x90(%rsp), %rax
movq %rax, 0x98(%rsp)
jmp 0x587309
movq 0xe8(%rsp), %rdi
movq 0x98(%rsp), %rax
movq %rax, 0x88(%rsp)
addq $0x960, %rdi            # imm = 0x960
movq 0x200(%rsp), %rax
movq (%rax), %rsi
callq 0x585730
movq %rax, %rdi
movq 0x208(%rsp), %rsi
callq 0x585750
movq 0x88(%rsp), %rcx
movq %rcx, (%rax)
jmp 0x5878c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
testb $0x1, 0x197(%rsp)
jne 0x587378
jmp 0x58738a
movq 0x198(%rsp), %rdi
movl $0x190, %esi            # imm = 0x190
callq 0x11b130
jmp 0x587923
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
testb $0x1, 0x187(%rsp)
jne 0x5873af
jmp 0x5873c1
movq 0x188(%rsp), %rdi
movl $0x190, %esi            # imm = 0x190
callq 0x11b130
jmp 0x587923
movb 0x1f7(%rsp), %al
movb $0x0, 0x177(%rsp)
movb $0x0, 0x167(%rsp)
testb $0x1, %al
jne 0x58741f
movl $0x190, %edi            # imm = 0x190
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x80(%rsp)
movq %rdi, 0x178(%rsp)
movb $0x1, 0x177(%rsp)
callq 0x588f70
jmp 0x587410
movq 0x80(%rsp), %rax
movq %rax, 0x78(%rsp)
jmp 0x587457
movl $0x190, %edi            # imm = 0x190
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x70(%rsp)
movq %rdi, 0x168(%rsp)
movb $0x1, 0x167(%rsp)
callq 0x588fb0
jmp 0x58744b
movq 0x70(%rsp), %rax
movq %rax, 0x78(%rsp)
jmp 0x587457
movq 0xe8(%rsp), %rdi
movq 0x78(%rsp), %rax
movq %rax, 0x68(%rsp)
addq $0x960, %rdi            # imm = 0x960
movq 0x200(%rsp), %rax
movq (%rax), %rsi
callq 0x585730
movq %rax, %rdi
movq 0x208(%rsp), %rsi
callq 0x585750
movq 0x68(%rsp), %rcx
movq %rcx, (%rax)
jmp 0x5878c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
testb $0x1, 0x177(%rsp)
jne 0x5874bd
jmp 0x5874cf
movq 0x178(%rsp), %rdi
movl $0x190, %esi            # imm = 0x190
callq 0x11b130
jmp 0x587923
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
testb $0x1, 0x167(%rsp)
jne 0x5874f4
jmp 0x587506
movq 0x168(%rsp), %rdi
movl $0x190, %esi            # imm = 0x190
callq 0x11b130
jmp 0x587923
movb 0x1f7(%rsp), %al
movb $0x0, 0x157(%rsp)
movb $0x0, 0x147(%rsp)
testb $0x1, %al
jne 0x58755e
movl $0x190, %edi            # imm = 0x190
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x60(%rsp)
movq %rdi, 0x158(%rsp)
movb $0x1, 0x157(%rsp)
callq 0x588fe0
jmp 0x587552
movq 0x60(%rsp), %rax
movq %rax, 0x58(%rsp)
jmp 0x587596
movl $0x190, %edi            # imm = 0x190
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x50(%rsp)
movq %rdi, 0x148(%rsp)
movb $0x1, 0x147(%rsp)
callq 0x589020
jmp 0x58758a
movq 0x50(%rsp), %rax
movq %rax, 0x58(%rsp)
jmp 0x587596
movq 0xe8(%rsp), %rdi
movq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
addq $0x960, %rdi            # imm = 0x960
movq 0x200(%rsp), %rax
movq (%rax), %rsi
callq 0x585730
movq %rax, %rdi
movq 0x208(%rsp), %rsi
callq 0x585750
movq 0x48(%rsp), %rcx
movq %rcx, (%rax)
jmp 0x5878c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
testb $0x1, 0x157(%rsp)
jne 0x5875fc
jmp 0x58760e
movq 0x158(%rsp), %rdi
movl $0x190, %esi            # imm = 0x190
callq 0x11b130
jmp 0x587923
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
testb $0x1, 0x147(%rsp)
jne 0x587633
jmp 0x587645
movq 0x148(%rsp), %rdi
movl $0x190, %esi            # imm = 0x190
callq 0x11b130
jmp 0x587923
movb 0x1f7(%rsp), %al
movb $0x0, 0x137(%rsp)
movb $0x0, 0x127(%rsp)
testb $0x1, %al
jne 0x58769d
movl $0x190, %edi            # imm = 0x190
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x40(%rsp)
movq %rdi, 0x138(%rsp)
movb $0x1, 0x137(%rsp)
callq 0x589050
jmp 0x587691
movq 0x40(%rsp), %rax
movq %rax, 0x38(%rsp)
jmp 0x5876d5
movl $0x190, %edi            # imm = 0x190
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x30(%rsp)
movq %rdi, 0x128(%rsp)
movb $0x1, 0x127(%rsp)
callq 0x589090
jmp 0x5876c9
movq 0x30(%rsp), %rax
movq %rax, 0x38(%rsp)
jmp 0x5876d5
movq 0xe8(%rsp), %rdi
movq 0x38(%rsp), %rax
movq %rax, 0x28(%rsp)
addq $0x960, %rdi            # imm = 0x960
movq 0x200(%rsp), %rax
movq (%rax), %rsi
callq 0x585730
movq %rax, %rdi
movq 0x208(%rsp), %rsi
callq 0x585750
movq 0x28(%rsp), %rcx
movq %rcx, (%rax)
jmp 0x5878c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
testb $0x1, 0x137(%rsp)
jne 0x58773b
jmp 0x58774d
movq 0x138(%rsp), %rdi
movl $0x190, %esi            # imm = 0x190
callq 0x11b130
jmp 0x587923
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
testb $0x1, 0x127(%rsp)
jne 0x587772
jmp 0x587784
movq 0x128(%rsp), %rdi
movl $0x190, %esi            # imm = 0x190
callq 0x11b130
jmp 0x587923
movb 0x1f7(%rsp), %al
movb $0x0, 0x117(%rsp)
movb $0x0, 0x107(%rsp)
testb $0x1, %al
jne 0x5877dc
movl $0x190, %edi            # imm = 0x190
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x20(%rsp)
movq %rdi, 0x118(%rsp)
movb $0x1, 0x117(%rsp)
callq 0x5890c0
jmp 0x5877d0
movq 0x20(%rsp), %rax
movq %rax, 0x18(%rsp)
jmp 0x587814
movl $0x190, %edi            # imm = 0x190
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x10(%rsp)
movq %rdi, 0x108(%rsp)
movb $0x1, 0x107(%rsp)
callq 0x589100
jmp 0x587808
movq 0x10(%rsp), %rax
movq %rax, 0x18(%rsp)
jmp 0x587814
movq 0xe8(%rsp), %rdi
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
addq $0x960, %rdi            # imm = 0x960
movq 0x200(%rsp), %rax
movq (%rax), %rsi
callq 0x585730
movq %rax, %rdi
movq 0x208(%rsp), %rsi
callq 0x585750
movq 0x8(%rsp), %rcx
movq %rcx, (%rax)
jmp 0x5878c2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
testb $0x1, 0x117(%rsp)
jne 0x587877
jmp 0x587889
movq 0x118(%rsp), %rdi
movl $0x190, %esi            # imm = 0x190
callq 0x11b130
jmp 0x587923
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
testb $0x1, 0x107(%rsp)
jne 0x5878ae
jmp 0x5878c0
movq 0x108(%rsp), %rdi
movl $0x190, %esi            # imm = 0x190
callq 0x11b130
jmp 0x587923
movq 0xe8(%rsp), %rdi
addq $0x960, %rdi            # imm = 0x960
movq 0x200(%rsp), %rax
movq (%rax), %rsi
callq 0x585730
movq %rax, %rdi
movq 0x208(%rsp), %rsi
callq 0x585750
movq (%rax), %rax
movq %rax, 0xf8(%rsp)
movq 0x1f8(%rsp), %rdi
movq 0x208(%rsp), %rsi
movq 0xf8(%rsp), %rdx
callq 0x22e3b0
andb $0x1, %al
addq $0x218, %rsp            # imm = 0x218
retq
movq 0x1d8(%rsp), %rdi
callq 0x11b4e0