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

            T* vec = vds().data();

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

            while (vec < upper_bound)
            {
               #define exprtk_loop(N) \
               vec[N] = v;            \

               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

               vec += lud.batch_size;
            }

            switch (lud.remainder)
            {
               #define case_stmt(N) \
               case N : *vec++ = v; \
               exprtk_fallthrough   \

               #ifndef exprtk_disable_superscalar_unroll
               case_stmt(15) case_stmt(14)
               case_stmt(13) case_stmt(12)
               case_stmt(11) case_stmt(10)
               case_stmt( 9) case_stmt( 8)
               case_stmt( 7) case_stmt( 6)
               case_stmt( 5) case_stmt( 4)
               #endif
               case_stmt( 3) case_stmt( 2)
               case 1 : *vec++ = v;
            }

            #undef exprtk_loop
            #undef case_stmt

            return vec_node_ptr_->value();
         }

// Assembly:
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
movq 0x38(%rdi), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movaps %xmm0, (%rsp)
movq 0x50(%rbx), %rax
movq 0x58(%rbx), %rcx
movq 0x10(%rcx), %r14
movq 0x28(%rax), %rax
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
xorl %edx, %edx
movl %eax, %ecx
andl $0xf, %ecx
sete %dl
shll $0x4, %edx
addl %edx, %eax
addl $-0x10, %eax
cltq
leaq (,%rax,8), %rdx
testq %rdx, %rdx
jle 0x2a5870
leaq (%r14,%rax,8), %rax
movaps (%rsp), %xmm1
movaps %xmm1, %xmm0
movlhps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0]
movups %xmm0, (%r14)
movups %xmm0, 0x10(%r14)
movups %xmm0, 0x20(%r14)
movups %xmm0, 0x30(%r14)
movups %xmm0, 0x40(%r14)
movups %xmm0, 0x50(%r14)
movups %xmm0, 0x60(%r14)
movups %xmm0, 0x70(%r14)
subq $-0x80, %r14
cmpq %rax, %r14
jb 0x2a583e
jmp 0x2a5874
movaps (%rsp), %xmm1
movl %ecx, %eax
leaq 0xe6313(%rip), %rcx     # 0x38bb90
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movsd %xmm1, (%r14)
addq $0x8, %r14
movsd %xmm1, (%r14)
addq $0x8, %r14
movsd %xmm1, (%r14)
addq $0x8, %r14
movsd %xmm1, (%r14)
addq $0x8, %r14
movsd %xmm1, (%r14)
addq $0x8, %r14
movsd %xmm1, (%r14)
addq $0x8, %r14
movsd %xmm1, (%r14)
addq $0x8, %r14
movsd %xmm1, (%r14)
addq $0x8, %r14
movsd %xmm1, (%r14)
addq $0x8, %r14
movsd %xmm1, (%r14)
addq $0x8, %r14
movsd %xmm1, (%r14)
addq $0x8, %r14
movsd %xmm1, (%r14)
addq $0x8, %r14
movsd %xmm1, (%r14)
addq $0x8, %r14
movsd %xmm1, (%r14)
addq $0x8, %r14
movsd %xmm1, (%r14)
movq 0x50(%rbx), %rax
movq 0x30(%rax), %rax
movq 0x10(%rax), %rax
movsd (%rax), %xmm0
addq $0x18, %rsp
popq %rbx
popq %r14
retq
nop