human
Here's a good function header given the following:
I wrote the below code

    (_, a, b, c, d) = f.monic().all_coeffs()
    if (not d):
        return ([S.Zero] + roots([1, a, b, c], multiple=True))
    elif (((c / a) ** 2) == d):
        (x, m) = (f.gen, (c / a))
        g = Poly(((((x ** 2) + (a * x)) + b) - (2 * m)), x)
        (z1, z2) = roots_quadratic(g)
        h1 = Poly((((x ** 2) - (z1 * x)) + m), x)
        h2 = Poly((((x ** 2) - (z2 * x)) + m), x)
        r1 = roots_quadratic(h1)
        r2 = roots_quadratic(h2)
        return (r1 + r2)
    else:
        a2 = (a ** 2)
        e = (b - ((3 * a2) / 8))
        f = (c + (a * ((a2 / 8) - (b / 2))))
        g = (d - (a * ((a * (((3 * a2) / 256) - (b / 16))) + (c / 4))))
        aon4 = (a / 4)
        if (f is S.Zero):
            (y1, y2) = [sqrt(tmp) for tmp in roots([1, e, g], multiple=True)]
            return [(tmp - aon4) for tmp in [(- y1), (- y2), y1, y2]]
        if (g is S.Zero):
            y = ([S.Zero] + roots([1, 0, e, f], multiple=True))
            return [(tmp - aon4) for tmp in y]
        else:
            sols = _roots_quartic_euler(e, f, g, aon4)
            if sols:
                return sols
            a2 = (a ** 2)
            e = (b - ((3 * a2) / 8))
            f = (c + (a * ((a2 / 8) - (b / 2))))
            g = (d - (a * ((a * (((3 * a2) / 256) - (b / 16))) + (c / 4))))
            p = (((- (e ** 2)) / 12) - g)
            q = ((((- (e ** 3)) / 108) + ((e * g) / 3)) - ((f ** 2) / 8))
            TH = Rational(1, 3)
            def _ans(y):
                w = sqrt((e + (2 * y)))
                arg1 = ((3 * e) + (2 * y))
                arg2 = ((2 * f) / w)
                ans = []
                for s in [(-1), 1]:
                    root = sqrt((- (arg1 + (s * arg2))))
                    for t in [(-1), 1]:
                        ans.append(((((s * w) - (t * root)) / 2) - aon4))
                return ans
            y1 = ((((-5) * e) / 6) - (q ** TH))
            if p.is_zero:
                return _ans(y1)
            root = sqrt((((q ** 2) / 4) + ((p ** 3) / 27)))
            r = (((- q) /...

What's a good function header?
assistant
#Here's a good function header.

def roots_quartic(f):