anchor.diff:    integer(i32) :: maxDepth
     integer(i32) :: imid,iPivot
     integer(i32) :: N
  -  N=right-left
  +  N = right - left + 1
     if (N < 16) then
       call argInsertionSort(this,idx,left,right)
       return
     end if
     if (maxDepth == 0) then
  -    call argHeapsort_d1D(this, idx(left:right+1))
  +    call argHeapsort_d1D(this, idx(left:right))
       return
     end if
     imid = left + N/2
  
positive.code:   integer(i32) :: left,right,maxDepth
    left=1
    right=size(this)
    maxDepth = 2*idnint(log(dble(right-left)))
    call r_introsort_d1D(this,left,right,maxDepth)
    end procedure
    !====================================================================!
  
negative.code:     integer(i32) :: maxDepth
      integer(i32) :: imid,iPivot
      integer(i32) :: N
      N=right-left + 1
      if (N < 16) then
        call InsertionSort(this,left,right)
        return
      end if
      if (maxDepth == 0) then
        call heapsort_i1D(this(left:right))
        return
      end if
      iMid = (left+right)/2
      call medianOf3(this, left, imid, right)
      call swap(this(left), this(imid))
      call partition(this,left,right,iPivot)
  