from .math_rational_rational import rational_from_wide, rational_parts from .math_rational_types import Rational def subtract_rational(a: Rational, b: Rational) -> Rational: """a - b, reduced.""" an, ad = rational_parts(a) bn, bd = rational_parts(b) return rational_from_wide(an * bd - bn * ad, ad * bd)