def approximateCubicArcLengthC(pt1, pt2, pt3, pt4):
    """Return the approximate arc length for a cubic bezier segment of complex points.
    pt1 and pt4 are the "anchor" points, pt2 and pt3 are the "handles"."""
    v0 = abs(pt2 - pt1) * 0.15
    v1 = abs(-0.558983582205757 * pt1 + 0.325650248872424 * pt2 + 
        0.208983582205757 * pt3 + 0.024349751127576 * pt4)
    v2 = abs(pt4 - pt1 + pt3 - pt2) * 0.26666666666666666
    v3 = abs(-0.024349751127576 * pt1 - 0.208983582205757 * pt2 - 
        0.325650248872424 * pt3 + 0.558983582205757 * pt4)
    v4 = abs(pt4 - pt3) * 0.15
    return v0 + v1 + v2 + v3 + v4
