anchor.diff:    contains
   
       subroutine partition_lomuto_dp(arr, i_min, i_max, part)
  -      ! Lomuto partition scheme for quicksort
  -
  +      ! Lomuto partition operation
  +      !
  +      ! The partition operation reorders an array using a pivot value so that
  +      ! all values less than the pivot value are before the pivot location,
  +      ! while all values greater than the pivot value are after the pivot
  +      ! location.
  +      !
  +      ! array :: array to partition
  +      ! i_min :: left end of partition slice
  +      ! i_max :: right end of partition slice
  +      ! part :: partition value to return (final pivot position)
         real(dp), intent(inout) :: arr(:)
         integer, intent(in) :: i_min, i_max
         integer, intent(out) :: part
  
positive.code: 
    subroutine array_reverse_dp(arr)
      ! Reverse array
  
      real(dp), intent(inout) :: arr(:)
  
      integer :: i, j, n
  
negative.code:   contains
  
      subroutine partition_lomuto_int(arr, i_min, i_max, part)
        ! Duplication of partition_lomuto_dp in array_quicksort_dp, but for an
        ! integer array.
        integer, intent(inout) :: arr(:)
        integer, intent(in) :: i_min, i_max
        integer, intent(out) :: part
  