// File: ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::function_compositor<double>::base_func::pre()
inline void pre()
         {
            if (stack_depth++)
            {
               if (!v.empty())
               {
                  var_t var_stack(v.size(),T(0));
                  copy(v,var_stack);
                  input_params_stack.push_back(var_stack);
               }

               if (!local_vars.empty())
               {
                  var_t local_vec_frame(local_var_stack_size,T(0));
                  copy(local_vars,local_vec_frame);
                  local_var_stack.push_back(local_vec_frame);
               }

               if (!local_str_vars.empty())
               {
                  str_t local_str_frame(local_str_vars.size());
                  copy(local_str_vars,local_str_frame);
                  local_str_stack.push_back(local_str_frame);
               }
            }
         }

// Assembly:
subq $0xc8, %rsp
movq %rdi, 0xc0(%rsp)
movq 0xc0(%rsp), %rcx
movq %rcx, 0x38(%rsp)
movq 0x98(%rcx), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, 0x98(%rcx)
cmpq $0x0, %rax
je 0x58c22d
movq 0x38(%rsp), %rdi
addq $0x48, %rdi
callq 0x58c250
testb $0x1, %al
jne 0x58c071
movq 0x38(%rsp), %rdi
addq $0x48, %rdi
callq 0x58aa30
movq %rax, 0x28(%rsp)
movq $0x0, 0xa0(%rsp)
leaq 0x9f(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x560e00
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rcx
leaq 0xa8(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0x560e10
jmp 0x58bfd3
leaq 0x9f(%rsp), %rdi
callq 0x560e90
movq 0x38(%rsp), %rdi
movq %rdi, %rsi
addq $0x48, %rsi
leaq 0xa8(%rsp), %rdx
callq 0x58c2a0
jmp 0x58bffb
movq 0x38(%rsp), %rdi
addq $0xa0, %rdi
leaq 0xa8(%rsp), %rsi
callq 0x58c330
jmp 0x58c016
leaq 0xa8(%rsp), %rdi
callq 0x51f750
jmp 0x58c071
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
leaq 0x9f(%rsp), %rdi
callq 0x560e90
jmp 0x58c235
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
leaq 0xa8(%rsp), %rdi
callq 0x51f750
jmp 0x58c235
movq 0x38(%rsp), %rdi
addq $0x60, %rdi
callq 0x58c390
testb $0x1, %al
jne 0x58c157
movq 0x38(%rsp), %rax
movq 0x90(%rax), %rax
movq %rax, 0x18(%rsp)
movq $0x0, 0x68(%rsp)
leaq 0x67(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x560e00
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rcx
leaq 0x70(%rsp), %rdi
leaq 0x68(%rsp), %rdx
callq 0x560e10
jmp 0x58c0cb
leaq 0x67(%rsp), %rdi
callq 0x560e90
movq 0x38(%rsp), %rdi
movq %rdi, %rsi
addq $0x60, %rsi
leaq 0x70(%rsp), %rdx
callq 0x58c3e0
jmp 0x58c0ed
movq 0x38(%rsp), %rdi
addq $0xf0, %rdi
leaq 0x70(%rsp), %rsi
callq 0x58c330
jmp 0x58c105
leaq 0x70(%rsp), %rdi
callq 0x51f750
jmp 0x58c157
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
leaq 0x67(%rsp), %rdi
callq 0x560e90
jmp 0x58c235
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
leaq 0x70(%rsp), %rdi
callq 0x51f750
jmp 0x58c235
movq 0x38(%rsp), %rdi
addq $0x78, %rdi
callq 0x58c4f0
testb $0x1, %al
jne 0x58c22b
movq 0x38(%rsp), %rdi
addq $0x78, %rdi
callq 0x58c540
movq %rax, 0x8(%rsp)
leaq 0x47(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x58c560
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x48(%rsp), %rdi
callq 0x58c570
jmp 0x58c1a5
leaq 0x47(%rsp), %rdi
callq 0x58c5f0
movq 0x38(%rsp), %rdi
movq %rdi, %rsi
addq $0x78, %rsi
leaq 0x48(%rsp), %rdx
callq 0x58c600
jmp 0x58c1c7
movq 0x38(%rsp), %rdi
addq $0x140, %rdi            # imm = 0x140
leaq 0x48(%rsp), %rsi
callq 0x58c690
jmp 0x58c1df
leaq 0x48(%rsp), %rdi
callq 0x371380
jmp 0x58c22b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
leaq 0x47(%rsp), %rdi
callq 0x58c5f0
jmp 0x58c235
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
leaq 0x48(%rsp), %rdi
callq 0x371380
jmp 0x58c235
jmp 0x58c22d
addq $0xc8, %rsp
retq
movq 0x90(%rsp), %rdi
callq 0x11b4e0
nopw %cs:(%rax,%rax)
nopl (%rax)