// File: ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::details::memory_context_t<double> exprtk::details::make_memory_context<double>(exprtk::details::vector_holder<double>&, exprtk::details::vector_holder<double>&, exprtk::details::vec_data_store<double>&)
inline memory_context_t<T> make_memory_context(vector_holder<T>& vec_holder0,
                                                     vector_holder<T>& vec_holder1,
                                                     vec_data_store<T>& vds)
      {
         memory_context_t<T> result_ctxt;

         if (!vec_holder0.rebaseable() && !vec_holder1.rebaseable())
            result_ctxt.temp_ = new vector_holder<T>(vds);
         else if (vec_holder0.rebaseable() && !vec_holder1.rebaseable())
            result_ctxt.temp_ = new vector_holder<T>(vec_holder0,vds);
         else if (!vec_holder0.rebaseable() && vec_holder1.rebaseable())
            result_ctxt.temp_ = new vector_holder<T>(vec_holder1,vds);
         else
         {
            result_ctxt.temp_ = (vec_holder0.base_size() >= vec_holder1.base_size()) ?
                                new vector_holder<T>(vec_holder0, vds) :
                                new vector_holder<T>(vec_holder1, vds) ;
         }

         result_ctxt.temp_vec_node_ = new vector_node<T>(vds,result_ctxt.temp_);

         return result_ctxt;
      }

// Assembly:
subq $0x98, %rsp
movq %rdi, 0x80(%rsp)
movq %rsi, 0x78(%rsp)
movq %rdx, 0x70(%rsp)
leaq 0x88(%rsp), %rdi
callq 0x3b7720
movq 0x80(%rsp), %rdi
callq 0x3b8910
testb $0x1, %al
jne 0x4045ba
movq 0x78(%rsp), %rdi
callq 0x3b8910
testb $0x1, %al
jne 0x4045ba
movl $0x48, %edi
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x38(%rsp)
movq 0x70(%rsp), %rsi
callq 0x3b89b0
jmp 0x404586
movq 0x38(%rsp), %rax
movq %rax, 0x88(%rsp)
jmp 0x4047c7
movq 0x38(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x68(%rsp)
movl %eax, 0x64(%rsp)
movl $0x48, %esi
callq 0x11b130
jmp 0x40482f
movq 0x80(%rsp), %rdi
callq 0x3b8910
testb $0x1, %al
jne 0x4045cd
jmp 0x404638
movq 0x78(%rsp), %rdi
callq 0x3b8910
testb $0x1, %al
jne 0x404638
movl $0x48, %edi
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x30(%rsp)
movq 0x80(%rsp), %rsi
movq 0x70(%rsp), %rdx
callq 0x3b8930
jmp 0x404604
movq 0x30(%rsp), %rax
movq %rax, 0x88(%rsp)
jmp 0x4047c5
movq 0x30(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x68(%rsp)
movl %eax, 0x64(%rsp)
movl $0x48, %esi
callq 0x11b130
jmp 0x40482f
movq 0x80(%rsp), %rdi
callq 0x3b8910
testb $0x1, %al
jne 0x4046b3
movq 0x78(%rsp), %rdi
callq 0x3b8910
testb $0x1, %al
jne 0x404659
jmp 0x4046b3
movl $0x48, %edi
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x28(%rsp)
movq 0x78(%rsp), %rsi
movq 0x70(%rsp), %rdx
callq 0x3b8930
jmp 0x40467f
movq 0x28(%rsp), %rax
movq %rax, 0x88(%rsp)
jmp 0x4047c3
movq 0x28(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x68(%rsp)
movl %eax, 0x64(%rsp)
movl $0x48, %esi
callq 0x11b130
jmp 0x40482f
movq 0x80(%rsp), %rdi
callq 0x3b88b0
movq %rax, 0x20(%rsp)
movq 0x78(%rsp), %rdi
callq 0x3b88b0
movq %rax, %rcx
movq 0x20(%rsp), %rax
movb $0x0, 0x57(%rsp)
movb $0x0, 0x47(%rsp)
cmpq %rcx, %rax
jb 0x404725
movl $0x48, %edi
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x18(%rsp)
movq %rdi, 0x58(%rsp)
movb $0x1, 0x57(%rsp)
movq 0x80(%rsp), %rsi
movq 0x70(%rsp), %rdx
callq 0x3b8930
jmp 0x404719
movq 0x18(%rsp), %rax
movq %rax, 0x10(%rsp)
jmp 0x404761
movl $0x48, %edi
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x8(%rsp)
movq %rdi, 0x48(%rsp)
movb $0x1, 0x47(%rsp)
movq 0x78(%rsp), %rsi
movq 0x70(%rsp), %rdx
callq 0x3b8930
jmp 0x404755
movq 0x8(%rsp), %rax
movq %rax, 0x10(%rsp)
jmp 0x404761
movq 0x10(%rsp), %rax
movq %rax, 0x88(%rsp)
jmp 0x4047c3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x68(%rsp)
movl %eax, 0x64(%rsp)
testb $0x1, 0x57(%rsp)
jne 0x404787
jmp 0x404796
movq 0x58(%rsp), %rdi
movl $0x48, %esi
callq 0x11b130
jmp 0x40482f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x68(%rsp)
movl %eax, 0x64(%rsp)
testb $0x1, 0x47(%rsp)
jne 0x4047b2
jmp 0x4047c1
movq 0x48(%rsp), %rdi
movl $0x48, %esi
callq 0x11b130
jmp 0x40482f
jmp 0x4047c5
jmp 0x4047c7
movl $0x38, %edi
callq 0x11b180
movq %rax, %rdi
movq %rdi, %rax
movq %rax, (%rsp)
movq 0x70(%rsp), %rsi
movq 0x88(%rsp), %rdx
callq 0x3b8a20
jmp 0x4047ef
movq (%rsp), %rax
movq %rax, 0x90(%rsp)
movq 0x88(%rsp), %rax
movq 0x90(%rsp), %rdx
addq $0x98, %rsp
retq
movq (%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x68(%rsp)
movl %eax, 0x64(%rsp)
movl $0x38, %esi
callq 0x11b130
movq 0x68(%rsp), %rdi
callq 0x11b4e0
nopl (%rax)