anchor.diff:      return
     end if
     ! ..
  -  ! If strideX and stride Y are 1, use loop unrolling
  +  ! If both strides are equal to `1`, use unrolled loops...
     if ( strideX == 1 .AND. strideY == 1 ) then
       m = mod( N, 5 )
  -    do i = 1, m
  -      stemp = stemp + ( sx( i ) + sy( i ) )
  -    end do
  +   ! ..
  +    ! If we have a remainder, do a clean-up loop...
  +    if ( m /= 0 ) then
  +      do i = 1, m
  +        stemp = stemp + ( sx( i ) + sy( i ) )
  +      end do
  +    end if
       if ( N < M ) then
         sdot = stemp
         return
       end if
       mp1 = m + 1
  -    do i = m, N, 5
  +    do i = mp1, N, 5
         stemp = stemp + &
           ( sx( i ) * sy( i ) ) + &
           ( sx( i+1 ) * sy( i+1 ) ) + &
  
positive.code:     else
        iy = 0
      endif
      ! ..
      do i = 1, N
        stemp = stemp + ( sx( ix ) * sy( iy ) )
        ix = ix + strideX
  
negative.code:   endif
    sdot = stemp
    return
  end function sdot