// File: ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::details::conditional_string_node<double>::value() const
inline T value() const exprtk_override
         {
            std::size_t r0 = 0;
            std::size_t r1 = 0;

            if (is_true(condition_))
            {
               consequent_->value();

               const range_t& range = str0_range_ptr_->range_ref();

               if (range(r0, r1, str0_base_ptr_->size()))
               {
                  const std::size_t size = (r1 - r0);

                  value_.assign(str0_base_ptr_->base() + r0, size);

                  range_.n1_c.second  = value_.size();
                  range_.cache.second = range_.n1_c.second;

                  return T(1);
               }
            }
            else
            {
               alternative_->value();

               const range_t& range = str1_range_ptr_->range_ref();

               if (range(r0, r1, str1_base_ptr_->size()))
               {
                  const std::size_t size = (r1 - r0);

                  value_.assign(str1_base_ptr_->base() + r0, size);

                  range_.n1_c.second  = value_.size();
                  range_.cache.second = range_.n1_c.second;

                  return T(0);
               }
            }

            return std::numeric_limits<T>::quiet_NaN();
         }

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x68(%rsp)
movq 0x68(%rsp), %rax
movq %rax, 0x20(%rsp)
movq $0x0, 0x60(%rsp)
movq $0x0, 0x58(%rsp)
movq 0x100(%rax), %rdi
callq 0x39d260
testb $0x1, %al
jne 0x4e3d4a
jmp 0x4e3e40
movq 0x20(%rsp), %rax
movq 0x108(%rax), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movq 0x20(%rsp), %rax
movq 0x80(%rax), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq %rax, %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x50(%rsp)
movq 0x50(%rsp), %rcx
movq %rcx, 0x18(%rsp)
movq 0x70(%rax), %rdi
movq (%rdi), %rax
callq *0x20(%rax)
movq 0x18(%rsp), %rdi
movq %rax, 0x48(%rsp)
leaq 0x60(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x48(%rsp), %rcx
callq 0x3eebb0
testb $0x1, %al
jne 0x4e3db6
jmp 0x4e3e3b
movq 0x20(%rsp), %rax
movq 0x58(%rsp), %rcx
subq 0x60(%rsp), %rcx
movq %rcx, 0x40(%rsp)
movq %rax, %rcx
addq $0xe0, %rcx
movq %rcx, 0x10(%rsp)
movq 0x70(%rax), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movq 0x10(%rsp), %rdi
movq %rax, %rsi
addq 0x60(%rsp), %rsi
movq 0x40(%rsp), %rdx
callq 0x11b410
movq 0x20(%rsp), %rdi
addq $0xe0, %rdi
callq 0x11b270
movq %rax, %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0xc8(%rax)
movq 0xc8(%rax), %rcx
movq %rcx, 0xd8(%rax)
movsd 0xb7210(%rip), %xmm0    # 0x59b040
movsd %xmm0, 0x70(%rsp)
jmp 0x4e3f31
jmp 0x4e3f26
movq 0x20(%rsp), %rax
movq 0x110(%rax), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movq 0x20(%rsp), %rax
movq 0x88(%rax), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq %rax, %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0x38(%rsp)
movq 0x38(%rsp), %rcx
movq %rcx, 0x8(%rsp)
movq 0x78(%rax), %rdi
movq (%rdi), %rax
callq *0x20(%rax)
movq 0x8(%rsp), %rdi
movq %rax, 0x30(%rsp)
leaq 0x60(%rsp), %rsi
leaq 0x58(%rsp), %rdx
leaq 0x30(%rsp), %rcx
callq 0x3eebb0
testb $0x1, %al
jne 0x4e3ea9
jmp 0x4e3f24
movq 0x20(%rsp), %rax
movq 0x58(%rsp), %rcx
subq 0x60(%rsp), %rcx
movq %rcx, 0x28(%rsp)
movq %rax, %rcx
addq $0xe0, %rcx
movq %rcx, (%rsp)
movq 0x78(%rax), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movq (%rsp), %rdi
movq %rax, %rsi
addq 0x60(%rsp), %rsi
movq 0x28(%rsp), %rdx
callq 0x11b410
movq 0x20(%rsp), %rdi
addq $0xe0, %rdi
callq 0x11b270
movq %rax, %rcx
movq 0x20(%rsp), %rax
movq %rcx, 0xc8(%rax)
movq 0xc8(%rax), %rcx
movq %rcx, 0xd8(%rax)
xorps %xmm0, %xmm0
movsd %xmm0, 0x70(%rsp)
jmp 0x4e3f31
jmp 0x4e3f26
callq 0x2361c0
movsd %xmm0, 0x70(%rsp)
movsd 0x70(%rsp), %xmm0
addq $0x78, %rsp
retq
nopl (%rax)