def METHOD_NAME(
    a: ArrayLike, b: ArrayLike, distance: float = 1
) -> NDArrayFloat:
    """
    Extend the line segment defined by point arrays :math:`a` and :math:`b` by
    given distance and return the new end point.
    Parameters
    ----------
    a
        Point array :math:`a`.
    b
        Point array :math:`b`.
    distance
        Distance to extend the line segment.
    Returns
    -------
    :class:`numpy.ndarray`
        New end point.
    References
    ----------
    :cite:`Saeedna`
    Notes
    -----
    -   Input line segment points coordinates are 2d coordinates.
    Examples
    --------
    >>> a = np.array([0.95694934, 0.13720932])
    >>> b = np.array([0.28382835, 0.60608318])
    >>> extend_line_segment(a, b)  # doctest: +ELLIPSIS
    array([-0.5367248...,  1.1776534...])
    """
    x_a, y_a = tsplit(a)
    x_b, y_b = tsplit(b)
    d = euclidean_distance(a, b)
    with sdiv_mode():
        x_c = x_b + sdiv(x_b - x_a, d) * distance
        y_c = y_b + sdiv(y_b - y_a, d) * distance
    xy_c = tstack([x_c, y_c])
    return xy_c