def METHOD_NAME():
    p = (2*x - 3).as_poly()
    q = (x**9 - x**8 - x**6 + x**5 - 2*x**2 + 3*x - 1).as_poly()
    r = (-x**7 - x**6 - x**5 + 4)/(x**8 - x**5 - 2*x + 1) + 1/(x - 1)
    assert apart_undetermined_coeffs(p, q) == r
    dom = ZZ.inject(a, b)
    p = Integer(1).as_poly(x, domain=dom)
    q = ((x + a)*(x + b)).as_poly(x, domain=dom)
    r = 1/((a - b)*(b + x)) - 1/((a - b)*(a + x))
    assert apart_undetermined_coeffs(p, q) == r