def trapezoid_left(x1:float, x2:float, x3:float, y1:float, y3:float) -> float:
    """
    Calculate the area of the trapezoid with corner coordinates (x2, 0), (x2, y2), (x3, 0), (x3, y3),
    where y2 is obtained by linear interpolation of (x1, y1) and (x3, y3) evaluated at x2.

    Args:
        x1 (float): x coordinate
        x2 (float): x coordinate
        x3 (float): x coordinate
        y1 (float): y coordinate
        y3 (float): y coordinate
    
    Returns:
        float: the area of the trapezoid
    """

    # Degenerate cases
    if x2 == x3 or x2 < x1:
        return (x3 - x2) * y1

    # Find y2 using linear interpolation and calculate the trapezoid area
    w = (x3 - x2) / (x3 - x1)
    y2 = y1 * w + y3 * (1 - w)
    return (x3 - x2) * (y2 + y3) / 2