Найти расстояние от точки до отрезка - нужно найти маленькую ошибку

Собственно, условие задачи дано в заголовке. Я искал на форуме и нашёл сразу несколько тем, где именно эта задача с таким же оформлением и комментариями. Даже решение есть, которым я уже воспользовался. Но вот в чём дело - задача имеет несколько вариантов решений. Моё решение короче тех, которые я нашёл, но проходит не 100% тестов, а чуть больше 95%. И я бы хотел довести его до конца, но не пойму в чём недоработка.

Собственно, сам код

C#Выделить код

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

// Расстояние от точки (x, y) до отрезка AB с координатами A(ax, ay), B(bx, by)
public static double GetDistanceToSegment(double ax, double ay, double bx, double by, double x, double y)
    {
            double distanceToA = Math.Sqrt((ax - x)  (ax - x) + (ay - y)  (ay - y)); 
            double distanceToB = Math.Sqrt((bx - x)  (bx - x) + (by - y)  (by - y));
 
            if (((x > ax || x > bx ) && (x < bx || x < ax)) || ((y > ay || y > by) && (y < by || y < ay)))
            {
                return Math.Abs((by - ay)  x - (bx - ax)  y + bx  ay - by  ax) /
                Math.Sqrt((by - ay)  (by - ay) + (bx - ax)  (bx - ax)); 
            }
            else
            {
                return Math.Min(distanceToA, distanceToB);
            }
        }

Вот сам проект, где можно посмотреть какие тесты не проходит. Он представляет эти тесты графически.

Кликните здесь для просмотра всего текста

Вот текстовый вариант некоторых зафейленных тестов, которые в графическом представлении почти одинаковые.

Кликните здесь для просмотра всего текста

A = {X=-15, Y=-25,98076}
B = {X=15, Y=25,98076}
X = {X=4,019238, Y=66,96152}
Expected distance 42,4264068711929
Calculated distance: 29,9999999058796

A = {X=-7,320508, Y=27,32051}
B = {X=22,67949, Y=79,28204}
X = {X=11,69873, Y=120,2628}
Expected distance 42,4264068711929
Calculated distance: 29,9999966957877

A = {X=-33,66026, Y=-38,30127}
B = {X=-3,660254, Y=13,66025}
X = {X=-14,64102, Y=54,64102}
Expected distance 42,4264068711929
Calculated distance: 30,000001240565

A = {X=-25,98076, Y=-15}
B = {X=25,98076, Y=15}
X = {X=-66,96152, Y=-4,019238}
Expected distance 42,4264068711929
Calculated distance: 29,9999999058796