- a1 * x_min) / a2;
    if(y_in_x_min >= y_min && y_in_x_min < y_max)
        xys.push([x_min, y_in_x_min]);

    var y_in_x_max = (b - a1 * x_max) / a2;
    if(y_in_x_max >= y_min && y_in_x_max < y_max)
        xys.push([x_max, y_in_x_max]);
    
    if(xys.length < 2)
        return get_points_on_the_ends(a1 + 0.001, a2 - 0.001, b + 0.001);
    return xys;
}

function equation_for_two_points(x1, y1, x2, y2) {
    return [1.0, (-x1 + x2)/(y1 - y2), (-x1*y2 + x2*y1)/(y1 - y2)];
}

function new_equation_for_