def extend_flight_distance(distance: float) -> float:
    """Add factor to shortest flight distance to account for indirect flight paths

    Following https://www.icao.int/environmental-protection/CarbonOffset/Documents/Methodology%20ICAO%20Carbon%20Calculator_v11-2018.pdf
    section 4.2 we add a correction factor to represent deviations from the shortest
    path flown between points due to stacking, traffic and weather-driven corrections.

    Args:
        distance: Shortest distance - geodesic or Great Circle - between points in km

    Returns: Distance with additional correction factor
    """

    if distance < 550:
        return distance + 50
    elif distance < 5500:
        return distance + 100

    return distance + 125