// File: /workspace/github_cpp_makefile_star2_O3/ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::details::assignment_vecvec_node<double>::value() const
inline T value() const exprtk_override
         {
            branch(1)->value();

            if (src_is_ivec_)
               return vec0_node_ptr_->value();

            T* vec0 = vec0_node_ptr_->vds().data();
            T* vec1 = vec1_node_ptr_->vds().data();

            loop_unroll::details lud(size());
            const T* upper_bound = vec0 + lud.upper_bound;

            while (vec0 < upper_bound)
            {
               #define exprtk_loop(N) \
               vec0[N] = vec1[N];     \

               exprtk_loop( 0) exprtk_loop( 1)
               exprtk_loop( 2) exprtk_loop( 3)
               #ifndef exprtk_disable_superscalar_unroll
               exprtk_loop( 4) exprtk_loop( 5)
               exprtk_loop( 6) exprtk_loop( 7)
               exprtk_loop( 8) exprtk_loop( 9)
               exprtk_loop(10) exprtk_loop(11)
               exprtk_loop(12) exprtk_loop(13)
               exprtk_loop(14) exprtk_loop(15)
               #endif

               vec0 += lud.batch_size;
               vec1 += lud.batch_size;
            }

            switch (lud.remainder)
            {
               #define case_stmt(N,fall_through) \
               case N : *vec0++ = *vec1++;       \
               fall_through                      \

               #ifndef exprtk_disable_superscalar_unroll
               case_stmt(15, exprtk_fallthrough) case_stmt(14, exprtk_fallthrough)
               case_stmt(13, exprtk_fallthrough) case_stmt(12, exprtk_fallthrough)
               case_stmt(11, exprtk_fallthrough) case_stmt(10, exprtk_fallthrough)
               case_stmt( 9, exprtk_fallthrough) case_stmt( 8, exprtk_fallthrough)
               case_stmt( 7, exprtk_fallthrough) case_stmt( 6, exprtk_fallthrough)
               case_stmt( 5, exprtk_fallthrough) case_stmt( 4, exprtk_fallthrough)
               #endif
               case_stmt( 3, exprtk_fallthrough) case_stmt( 2, exprtk_fallthrough)
               case_stmt( 1, (void)0;)
            }

            #undef exprtk_loop
            #undef case_stmt

            return vec0_node_ptr_->value();
         }

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x38(%rdi), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
cmpb $0x0, 0x61(%rbx)
jne 0x2a5600
movq 0x50(%rbx), %rax
movq 0x58(%rbx), %rcx
movq 0x28(%rax), %rdx
movq 0x30(%rax), %rax
movq 0x10(%rax), %r15
movq 0x30(%rcx), %rax
movq 0x10(%rax), %r12
movq (%rdx), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movq %rax, %r14
movq 0x58(%rbx), %rax
movq 0x28(%rax), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
cmpq %r14, %rax
cmovbq %rax, %r14
xorl %ecx, %ecx
movl %r14d, %eax
andl $0xf, %eax
sete %cl
shll $0x4, %ecx
addl %r14d, %ecx
addl $-0x10, %ecx
movslq %ecx, %rcx
leaq (,%rcx,8), %rdx
testq %rdx, %rdx
jle 0x2a54d9
leaq (%r15,%rcx,8), %rcx
movl $0x80, %edx
movsd (%r12), %xmm0
movsd %xmm0, (%r15)
movsd 0x8(%r12), %xmm0
movsd %xmm0, 0x8(%r15)
movsd 0x10(%r12), %xmm0
movsd %xmm0, 0x10(%r15)
movsd 0x18(%r12), %xmm0
movsd %xmm0, 0x18(%r15)
movsd 0x20(%r12), %xmm0
movsd %xmm0, 0x20(%r15)
movsd 0x28(%r12), %xmm0
movsd %xmm0, 0x28(%r15)
movsd 0x30(%r12), %xmm0
movsd %xmm0, 0x30(%r15)
movsd 0x38(%r12), %xmm0
movsd %xmm0, 0x38(%r15)
movsd 0x40(%r12), %xmm0
movsd %xmm0, 0x40(%r15)
movsd 0x48(%r12), %xmm0
movsd %xmm0, 0x48(%r15)
movsd 0x50(%r12), %xmm0
movsd %xmm0, 0x50(%r15)
movsd 0x58(%r12), %xmm0
movsd %xmm0, 0x58(%r15)
movsd 0x60(%r12), %xmm0
movsd %xmm0, 0x60(%r15)
movsd 0x68(%r12), %xmm0
movsd %xmm0, 0x68(%r15)
movsd 0x70(%r12), %xmm0
movsd %xmm0, 0x70(%r15)
movsd 0x78(%r12), %xmm0
movsd %xmm0, 0x78(%r15)
addq %rdx, %r15
addq %rdx, %r12
cmpq %rcx, %r15
jb 0x2a53fc
movl %eax, %eax
leaq 0xe666e(%rip), %rcx     # 0x38bb50
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movsd (%r12), %xmm0
addq $0x8, %r12
movsd %xmm0, (%r15)
addq $0x8, %r15
movsd (%r12), %xmm0
addq $0x8, %r12
movsd %xmm0, (%r15)
addq $0x8, %r15
movsd (%r12), %xmm0
addq $0x8, %r12
movsd %xmm0, (%r15)
addq $0x8, %r15
movsd (%r12), %xmm0
addq $0x8, %r12
movsd %xmm0, (%r15)
addq $0x8, %r15
movsd (%r12), %xmm0
addq $0x8, %r12
movsd %xmm0, (%r15)
addq $0x8, %r15
movsd (%r12), %xmm0
addq $0x8, %r12
movsd %xmm0, (%r15)
addq $0x8, %r15
movsd (%r12), %xmm0
addq $0x8, %r12
movsd %xmm0, (%r15)
addq $0x8, %r15
movsd (%r12), %xmm0
addq $0x8, %r12
movsd %xmm0, (%r15)
addq $0x8, %r15
movsd (%r12), %xmm0
addq $0x8, %r12
movsd %xmm0, (%r15)
addq $0x8, %r15
movsd (%r12), %xmm0
addq $0x8, %r12
movsd %xmm0, (%r15)
addq $0x8, %r15
movsd (%r12), %xmm0
addq $0x8, %r12
movsd %xmm0, (%r15)
addq $0x8, %r15
movsd (%r12), %xmm0
addq $0x8, %r12
movsd %xmm0, (%r15)
addq $0x8, %r15
movsd (%r12), %xmm0
addq $0x8, %r12
movsd %xmm0, (%r15)
addq $0x8, %r15
movsd (%r12), %xmm0
addq $0x8, %r12
movsd %xmm0, (%r15)
addq $0x8, %r15
movsd (%r12), %xmm0
movsd %xmm0, (%r15)
movq 0x50(%rbx), %rax
movq 0x30(%rax), %rax
movq 0x10(%rax), %rax
movsd (%rax), %xmm0
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq