code: func symRotate(u Comparators, start1, start2, end int) {
  	i := start2 - start1
  	if i == 0 {
  		return
  	}
  
  	j := end - start2
  	if j == 0 {
  		return
  	}
  
  	if i == j {
  		symSwap(u, start1, start2, i)
  		return
  	}
  
  	p := start1 + i
  	for i != j {
  		if i > j {
  			symSwap(u, p-i, p, j)
  			i -= j
  		} else {
  			symSwap(u, p-i, p+j-i, i)
  			j -= i
  		}
  	}
  	symSwap(u, p-i, p, i)
  }
docs: // symRotate determines the indices to use in a symSwap and
  // performs the swap.