as_numer_denom doesn't cancel, so you may need to call `cancel` at the end to get a numerator and denominator that do not share any common factors.