def get_S_polynomial(poly0, poly1):

    gamma_ex = np.maximum(poly0.get_multidegree(), poly1.get_multidegree())
    poly_gamma = Polynomial([Monomial(1, gamma_ex)])
    a0 = poly_gamma.divide_by_leading_term(poly0)
    a1 = poly_gamma.divide_by_leading_term(poly1)
    S_poly = (a0 * poly0) - (a1 * poly1)
    return S_poly