int_rules_1_1_1_3 = @theory begin

    #= ::Subsection::Closed:: =#
    #= 1.1.1.3*(a+b*x)^m*(c+d*x)^n*(e+f*x)^p =#
    @apply_utils Antiderivative((~a + ~(b') * ~x) ^ ~(m') * (~c + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => Antiderivative((~a * ~c + ~b * ~d * (~x) ^ 2) ^ ~m * (~e + ~f * ~x) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n, ~p], ~x) && (EqQ(~b * ~c + ~a * ~d, 0) && (EqQ(~n, ~m) && (IntegerQ(~m) && (NeQ(~m, -1) || EqQ(~e, 0) && (EqQ(~p, 1) || Not(IntegerQ(~p)))))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => (~b * (~c + ~d * ~x) ^ (~n + 1) * (~e + ~f * ~x) ^ (~p + 1)) / (~d * ~f * (~n + ~p + 2)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n, ~p], ~x) && (NeQ(~n + ~p + 2, 0) && EqQ(~a * ~d * ~f * (~n + ~p + 2) - ~b * (~d * ~e * (~n + 1) + ~c * ~f * (~p + 1)), 0))
    @apply_utils Antiderivative((~a + ~(b') * ~x) * (~(d') * ~x) ^ ~(n') * (~e + ~(f') * ~x) ^ ~(p'), ~x) => Antiderivative(ExpandIntegrand((~a + ~b * ~x) * (~d * ~x) ^ ~n * (~e + ~f * ~x) ^ ~p, ~x), ~x) <-- FreeQ([~a, ~b, ~d, ~e, ~f, ~n], ~x) && (IGtQ(~p, 0) && (EqQ(~b * ~e + ~a * ~f, 0) && Not(ILtQ(~n + ~p + 2, 0) && GtQ(~n + 2 * ~p, 0))))
    @apply_utils Antiderivative((~a + ~(b') * ~x) * (~(d') * ~x) ^ ~(n') * (~e + ~(f') * ~x) ^ ~(p'), ~x) => Antiderivative(ExpandIntegrand((~a + ~b * ~x) * (~d * ~x) ^ ~n * (~e + ~f * ~x) ^ ~p, ~x), ~x) <-- FreeQ([~a, ~b, ~d, ~e, ~f, ~n], ~x) && (IGtQ(~p, 0) && ((NeQ(~n, -1) || EqQ(~p, 1)) && (NeQ(~b * ~e + ~a * ~f, 0) && ((Not(IntegerQ(~n)) || (LtQ(9 * ~p + 5 * ~n, 0) || (GeQ(~n + ~p + 1, 0) || GeQ(~n + ~p + 2, 0) && RationalQ(~a, ~b, ~d, ~e, ~f)))) && (NeQ(~n + ~p + 3, 0) || EqQ(~p, 1))))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) * (~c + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => Antiderivative(ExpandIntegrand((~a + ~b * ~x) * (~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ ~p, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (ILtQ(~n, 0) && ILtQ(~p, 0) || (EqQ(~p, 1) || IGtQ(~p, 0) && (Not(IntegerQ(~n)) || (LeQ(9 * ~p + 5 * (~n + 2), 0) || (GeQ(~n + ~p + 1, 0) || GeQ(~n + ~p + 2, 0) && RationalQ(~a, ~b, ~c, ~d, ~e, ~f)))))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => (-((~b * ~e - ~a * ~f)) * (~c + ~d * ~x) ^ (~n + 1) * (~e + ~f * ~x) ^ (~p + 1)) / (~f * (~p + 1) * (~c * ~f - ~d * ~e)) - ((~a * ~d * ~f * (~n + ~p + 2) - ~b * (~d * ~e * (~n + 1) + ~c * ~f * (~p + 1))) / (~f * (~p + 1) * (~c * ~f - ~d * ~e))) * Antiderivative((~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ (~p + 1), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n], ~x) && (LtQ(~p, -1) && (Not(LtQ(~n, -1)) || (IntegerQ(~p) || Not(IntegerQ(~n) || Not(EqQ(~e, 0) || Not(EqQ(~c, 0) || LtQ(~p, ~n)))))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => (-((~b * ~e - ~a * ~f)) * (~c + ~d * ~x) ^ (~n + 1) * (~e + ~f * ~x) ^ (~p + 1)) / (~f * (~p + 1) * (~c * ~f - ~d * ~e)) - ((~a * ~d * ~f * (~n + ~p + 2) - ~b * (~d * ~e * (~n + 1) + ~c * ~f * (~p + 1))) / (~f * (~p + 1) * (~c * ~f - ~d * ~e))) * Antiderivative((~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ Simplify(~p + 1), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n, ~p], ~x) && (Not(RationalQ(~p)) && SumSimplerQ(~p, 1))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => (~b * (~c + ~d * ~x) ^ (~n + 1) * (~e + ~f * ~x) ^ (~p + 1)) / (~d * ~f * (~n + ~p + 2)) + ((~a * ~d * ~f * (~n + ~p + 2) - ~b * (~d * ~e * (~n + 1) + ~c * ~f * (~p + 1))) / (~d * ~f * (~n + ~p + 2))) * Antiderivative((~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n, ~p], ~x) && NeQ(~n + ~p + 2, 0)
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ 2 * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => (~b * (~c + ~d * ~x) ^ (~n + 1) * (~e + ~f * ~x) ^ (~p + 1) * ((2 * ~a * ~d * ~f * (~n + ~p + 3) - ~b * (~d * ~e * (~n + 2) + ~c * ~f * (~p + 2))) + ~b * ~d * ~f * (~n + ~p + 2) * ~x)) / ((~d) ^ 2 * (~f) ^ 2 * (~n + ~p + 2) * (~n + ~p + 3)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n, ~p], ~x) && (NeQ(~n + ~p + 2, 0) && (NeQ(~n + ~p + 3, 0) && EqQ(~d * ~f * (~n + ~p + 2) * ((~a) ^ 2 * ~d * ~f * (~n + ~p + 3) - ~b * (~b * ~c * ~e + ~a * (~d * ~e * (~n + 1) + ~c * ~f * (~p + 1)))) - ~b * (~d * ~e * (~n + 1) + ~c * ~f * (~p + 1)) * (~a * ~d * ~f * (~n + ~p + 4) - ~b * (~d * ~e * (~n + 2) + ~c * ~f * (~p + 2))), 0)))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~(m') * (~(c') + ~(d') * ~x) ^ ~(n') * (~(f') * ~x) ^ ~(p'), ~x) => ~a * Antiderivative((~a + ~b * ~x) ^ ~n * (~c + ~d * ~x) ^ ~n * (~f * ~x) ^ ~p, ~x) + (~b / ~f) * Antiderivative((~a + ~b * ~x) ^ ~n * (~c + ~d * ~x) ^ ~n * (~f * ~x) ^ (~p + 1), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~f, ~m, ~n, ~p], ~x) && (EqQ(~b * ~c + ~a * ~d, 0) && (EqQ((~m - ~n) - 1, 0) && (Not(RationalQ(~p)) && (Not(IGtQ(~m, 0)) && NeQ(~m + ~n + ~p + 2, 0)))))
    @apply_utils Antiderivative((~(e') + ~(f') * ~x) ^ ~(p') / ((~(a') + ~(b') * ~x) * (~(c') + ~(d') * ~x)), ~x) => Antiderivative(ExpandIntegrand((~e + ~f * ~x) ^ ~p / ((~a + ~b * ~x) * (~c + ~d * ~x)), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && IntegerQ(~p)
    @apply_utils Antiderivative((~(e') + ~(f') * ~x) ^ ~p / ((~(a') + ~(b') * ~x) * (~(c') + ~(d') * ~x)), ~x) => ((~b * ~e - ~a * ~f) / (~b * ~c - ~a * ~d)) * Antiderivative((~e + ~f * ~x) ^ (~p - 1) / (~a + ~b * ~x), ~x) - ((~d * ~e - ~c * ~f) / (~b * ~c - ~a * ~d)) * Antiderivative((~e + ~f * ~x) ^ (~p - 1) / (~c + ~d * ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && LtQ(0, ~p, 1)
    @apply_utils Antiderivative((~(e') + ~(f') * ~x) ^ ~p / ((~(a') + ~(b') * ~x) * (~(c') + ~(d') * ~x)), ~x) => (~f * (~e + ~f * ~x) ^ (~p - 1)) / (~b * ~d * (~p - 1)) + (1 / (~b * ~d)) * Antiderivative((((~b * ~d * (~e) ^ 2 - ~a * ~c * (~f) ^ 2) + ~f * ((2 * ~b * ~d * ~e - ~b * ~c * ~f) - ~a * ~d * ~f) * ~x) * (~e + ~f * ~x) ^ (~p - 2)) / ((~a + ~b * ~x) * (~c + ~d * ~x)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && GtQ(~p, 1)
    @apply_utils Antiderivative((~(e') + ~(f') * ~x) ^ ~p / ((~(a') + ~(b') * ~x) * (~(c') + ~(d') * ~x)), ~x) => (~f * (~e + ~f * ~x) ^ (~p + 1)) / ((~p + 1) * (~b * ~e - ~a * ~f) * (~d * ~e - ~c * ~f)) + (1 / ((~b * ~e - ~a * ~f) * (~d * ~e - ~c * ~f))) * Antiderivative(((((~b * ~d * ~e - ~b * ~c * ~f) - ~a * ~d * ~f) - ~b * ~d * ~f * ~x) * (~e + ~f * ~x) ^ (~p + 1)) / ((~a + ~b * ~x) * (~c + ~d * ~x)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && LtQ(~p, -1)
    @apply_utils Antiderivative((~(e') + ~(f') * ~x) ^ ~p / ((~(a') + ~(b') * ~x) * (~(c') + ~(d') * ~x)), ~x) => (~b / (~b * ~c - ~a * ~d)) * Antiderivative((~e + ~f * ~x) ^ ~p / (~a + ~b * ~x), ~x) - (~d / (~b * ~c - ~a * ~d)) * Antiderivative((~e + ~f * ~x) ^ ~p / (~c + ~d * ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~p], ~x) && Not(IntegerQ(~p))
    @apply_utils Antiderivative(((~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~p) / (~(a') + ~(b') * ~x), ~x) => Antiderivative(ExpandIntegrand((~e + ~f * ~x) ^ FractionalPart(~p), ((~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ IntegerPart(~p)) / (~a + ~b * ~x), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (IGtQ(~n, 0) && (LtQ(~p, -1) && FractionQ(~p)))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~(m') * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => Antiderivative(ExpandIntegrand((~a + ~b * ~x) ^ ~m * (~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ ~p, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~p], ~x) && (IntegersQ(~m, ~n) && (IntegerQ(~p) || GtQ(~m, 0) && GeQ(~n, -1)))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ 2 * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => ((~b * ~c - ~a * ~d) ^ 2 * (~c + ~d * ~x) ^ (~n + 1) * (~e + ~f * ~x) ^ (~p + 1)) / ((~d) ^ 2 * (~d * ~e - ~c * ~f) * (~n + 1)) - (1 / ((~d) ^ 2 * (~d * ~e - ~c * ~f) * (~n + 1))) * Antiderivative((~c + ~d * ~x) ^ (~n + 1) * (~e + ~f * ~x) ^ ~p * Simp((((~a) ^ 2 * (~d) ^ 2 * ~f * (~n + ~p + 2) + (~b) ^ 2 * ~c * (~d * ~e * (~n + 1) + ~c * ~f * (~p + 1))) - 2 * ~a * ~b * ~d * (~d * ~e * (~n + 1) + ~c * ~f * (~p + 1))) - (~b) ^ 2 * ~d * (~d * ~e - ~c * ~f) * (~n + 1) * ~x, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n, ~p], ~x) && (LtQ(~n, -1) || EqQ(~n + ~p + 3, 0) && (NeQ(~n, -1) && (SumSimplerQ(~n, 1) || Not(SumSimplerQ(~p, 1)))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ 2 * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => (~b * (~a + ~b * ~x) * (~c + ~d * ~x) ^ (~n + 1) * (~e + ~f * ~x) ^ (~p + 1)) / (~d * ~f * (~n + ~p + 3)) + (1 / (~d * ~f * (~n + ~p + 3))) * Antiderivative((~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ ~p * Simp(((~a) ^ 2 * ~d * ~f * (~n + ~p + 3) - ~b * (~b * ~c * ~e + ~a * (~d * ~e * (~n + 1) + ~c * ~f * (~p + 1)))) + ~b * (~a * ~d * ~f * (~n + ~p + 4) - ~b * (~d * ~e * (~n + 2) + ~c * ~f * (~p + 2))) * ~x, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n, ~p], ~x) && NeQ(~n + ~p + 3, 0)
    @apply_utils Antiderivative(1 / ((~(a') + ~(b') * ~x) ^ (1 / 3) * (~(c') + ~(d') * ~x) ^ (2 / 3) * (~(e') + ~(f') * ~x)), ~x) => With([q = Rt((~d * ~e - ~c * ~f) / (~b * ~e - ~a * ~f), 3)], ((-(sqrt(3)) * q * atan(1 / sqrt(3) + (2 * q * (~a + ~b * ~x) ^ (1 / 3)) / (sqrt(3) * (~c + ~d * ~x) ^ (1 / 3)))) / (~d * ~e - ~c * ~f) + (q * log(~e + ~f * ~x)) / (2 * (~d * ~e - ~c * ~f))) - (3 * q * log(q * (~a + ~b * ~x) ^ (1 / 3) - (~c + ~d * ~x) ^ (1 / 3))) / (2 * (~d * ~e - ~c * ~f))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x)
    @apply_utils Antiderivative(1 / (sqrt(~(a') + ~(b') * ~x) * sqrt(~(c') + ~(d') * ~x) * (~(e') + ~(f') * ~x)), ~x) => ~b * ~f * Subst(Antiderivative(1 / (~d * (~b * ~e - ~a * ~f) ^ 2 + ~b * (~f) ^ 2 * (~x) ^ 2), ~x), ~x, sqrt(~a + ~b * ~x) * sqrt(~c + ~d * ~x)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && EqQ(2 * ~b * ~d * ~e - ~f * (~b * ~c + ~a * ~d), 0)
    @apply_utils Antiderivative(((~(a') + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~n) / (~(e') + ~(f') * ~x), ~x) => With([q = Denominator(~m)], q * Subst(Antiderivative((~x) ^ (q * (~m + 1) - 1) / ((~b * ~e - ~a * ~f) - (~d * ~e - ~c * ~f) * (~x) ^ q), ~x), ~x, (~a + ~b * ~x) ^ (1 / q) / (~c + ~d * ~x) ^ (1 / q))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (EqQ(~m + ~n + 1, 0) && (RationalQ(~n) && (LtQ(-1, ~m, 0) && SimplerQ(~a + ~b * ~x, ~c + ~d * ~x))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => ((~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ (~p + 1)) / ((~m + 1) * (~b * ~e - ~a * ~f)) - ((~n * (~d * ~e - ~c * ~f)) / ((~m + 1) * (~b * ~e - ~a * ~f))) * Antiderivative((~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ (~n - 1) * (~e + ~f * ~x) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~p], ~x) && (EqQ(~m + ~n + ~p + 2, 0) && (GtQ(~n, 0) && ((SumSimplerQ(~m, 1) || Not(SumSimplerQ(~p, 1))) && NeQ(~m, -1))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => (~b * (~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ (~n + 1) * (~e + ~f * ~x) ^ (~p + 1)) / ((~m + 1) * (~b * ~c - ~a * ~d) * (~b * ~e - ~a * ~f)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n, ~p], ~x) && (EqQ(Simplify(~m + ~n + ~p + 3), 0) && (EqQ(~a * ~d * ~f * (~m + 1) + ~b * ~c * ~f * (~n + 1) + ~b * ~d * ~e * (~p + 1), 0) && NeQ(~m, -1)))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => (~b * (~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ (~n + 1) * (~e + ~f * ~x) ^ (~p + 1)) / ((~m + 1) * (~b * ~c - ~a * ~d) * (~b * ~e - ~a * ~f)) + ((~a * ~d * ~f * (~m + 1) + ~b * ~c * ~f * (~n + 1) + ~b * ~d * ~e * (~p + 1)) / ((~m + 1) * (~b * ~c - ~a * ~d) * (~b * ~e - ~a * ~f))) * Antiderivative((~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n, ~p], ~x) && (EqQ(Simplify(~m + ~n + ~p + 3), 0) && (LtQ(~m, -1) || SumSimplerQ(~m, 1)))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => ((~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ ~p) / (~b * (~m + 1)) - (1 / (~b * (~m + 1))) * Antiderivative((~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ (~n - 1) * (~e + ~f * ~x) ^ (~p - 1) * Simp(~d * ~e * ~n + ~c * ~f * ~p + ~d * ~f * (~n + ~p) * ~x, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (LtQ(~m, -1) && (GtQ(~n, 0) && (GtQ(~p, 0) && (IntegersQ(2 * ~m, 2 * ~n, 2 * ~p) || (IntegersQ(~m, ~n + ~p) || IntegersQ(~p, ~m + ~n))))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => ((~b * ~c - ~a * ~d) * (~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ (~n - 1) * (~e + ~f * ~x) ^ (~p + 1)) / (~b * (~b * ~e - ~a * ~f) * (~m + 1)) + (1 / (~b * (~b * ~e - ~a * ~f) * (~m + 1))) * Antiderivative((~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ (~n - 2) * (~e + ~f * ~x) ^ ~p * Simp(~a * ~d * (~d * ~e * (~n - 1) + ~c * ~f * (~p + 1)) + ~b * ~c * (~d * ~e * ((~m - ~n) + 2) - ~c * ~f * (~m + ~p + 2)) + ~d * (~a * ~d * ~f * (~n + ~p) + ~b * (~d * ~e * (~m + 1) - ~c * ~f * (~m + ~n + ~p + 1))) * ~x, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~p], ~x) && (LtQ(~m, -1) && (GtQ(~n, 1) && (IntegersQ(2 * ~m, 2 * ~n, 2 * ~p) || (IntegersQ(~m, ~n + ~p) || IntegersQ(~p, ~m + ~n)))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => ((~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ (~p + 1)) / ((~m + 1) * (~b * ~e - ~a * ~f)) - (1 / ((~m + 1) * (~b * ~e - ~a * ~f))) * Antiderivative((~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ (~n - 1) * (~e + ~f * ~x) ^ ~p * Simp(~d * ~e * ~n + ~c * ~f * (~m + ~p + 2) + ~d * ~f * (~m + ~n + ~p + 2) * ~x, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~p], ~x) && (LtQ(~m, -1) && (GtQ(~n, 0) && (IntegersQ(2 * ~m, 2 * ~n, 2 * ~p) || (IntegersQ(~m, ~n + ~p) || IntegersQ(~p, ~m + ~n)))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => (~b * (~a + ~b * ~x) ^ (~m - 1) * (~c + ~d * ~x) ^ (~n + 1) * (~e + ~f * ~x) ^ (~p + 1)) / (~d * ~f * (~m + ~n + ~p + 1)) + (1 / (~d * ~f * (~m + ~n + ~p + 1))) * Antiderivative((~a + ~b * ~x) ^ (~m - 2) * (~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ ~p * Simp(((~a) ^ 2 * ~d * ~f * (~m + ~n + ~p + 1) - ~b * (~b * ~c * ~e * (~m - 1) + ~a * (~d * ~e * (~n + 1) + ~c * ~f * (~p + 1)))) + ~b * (~a * ~d * ~f * (2 * ~m + ~n + ~p) - ~b * (~d * ~e * (~m + ~n) + ~c * ~f * (~m + ~p))) * ~x, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n, ~p], ~x) && (GtQ(~m, 1) && (NeQ(~m + ~n + ~p + 1, 0) && IntegerQ(~m)))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~(m') * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => ((~a + ~b * ~x) ^ ~m * (~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ (~p + 1)) / (~f * (~m + ~n + ~p + 1)) - (1 / (~f * (~m + ~n + ~p + 1))) * Antiderivative((~a + ~b * ~x) ^ (~m - 1) * (~c + ~d * ~x) ^ (~n - 1) * (~e + ~f * ~x) ^ ~p * Simp(~c * ~m * (~b * ~e - ~a * ~f) + ~a * ~n * (~d * ~e - ~c * ~f) + (~d * ~m * (~b * ~e - ~a * ~f) + ~b * ~n * (~d * ~e - ~c * ~f)) * ~x, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~p], ~x) && (GtQ(~m, 0) && (GtQ(~n, 0) && (NeQ(~m + ~n + ~p + 1, 0) && (IntegersQ(2 * ~m, 2 * ~n, 2 * ~p) || (IntegersQ(~m, ~n + ~p) || IntegersQ(~p, ~m + ~n))))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => (~b * (~a + ~b * ~x) ^ (~m - 1) * (~c + ~d * ~x) ^ (~n + 1) * (~e + ~f * ~x) ^ (~p + 1)) / (~d * ~f * (~m + ~n + ~p + 1)) + (1 / (~d * ~f * (~m + ~n + ~p + 1))) * Antiderivative((~a + ~b * ~x) ^ (~m - 2) * (~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ ~p * Simp(((~a) ^ 2 * ~d * ~f * (~m + ~n + ~p + 1) - ~b * (~b * ~c * ~e * (~m - 1) + ~a * (~d * ~e * (~n + 1) + ~c * ~f * (~p + 1)))) + ~b * (~a * ~d * ~f * (2 * ~m + ~n + ~p) - ~b * (~d * ~e * (~m + ~n) + ~c * ~f * (~m + ~p))) * ~x, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n, ~p], ~x) && (GtQ(~m, 1) && (NeQ(~m + ~n + ~p + 1, 0) && IntegersQ(2 * ~m, 2 * ~n, 2 * ~p)))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => (~b * (~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ (~n + 1) * (~e + ~f * ~x) ^ (~p + 1)) / ((~m + 1) * (~b * ~c - ~a * ~d) * (~b * ~e - ~a * ~f)) + (1 / ((~m + 1) * (~b * ~c - ~a * ~d) * (~b * ~e - ~a * ~f))) * Antiderivative((~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ ~p * Simp((~a * ~d * ~f * (~m + 1) - ~b * (~d * ~e * (~m + ~n + 2) + ~c * ~f * (~m + ~p + 2))) - ~b * ~d * ~f * (~m + ~n + ~p + 3) * ~x, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n, ~p], ~x) && (ILtQ(~m, -1) && (IntegerQ(~n) || (IntegersQ(2 * ~n, 2 * ~p) || ILtQ(~m + ~n + ~p + 3, 0))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => (~b * (~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ (~n + 1) * (~e + ~f * ~x) ^ (~p + 1)) / ((~m + 1) * (~b * ~c - ~a * ~d) * (~b * ~e - ~a * ~f)) + (1 / ((~m + 1) * (~b * ~c - ~a * ~d) * (~b * ~e - ~a * ~f))) * Antiderivative((~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ ~p * Simp((~a * ~d * ~f * (~m + 1) - ~b * (~d * ~e * (~m + ~n + 2) + ~c * ~f * (~m + ~p + 2))) - ~b * ~d * ~f * (~m + ~n + ~p + 3) * ~x, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n, ~p], ~x) && (LtQ(~m, -1) && IntegersQ(2 * ~m, 2 * ~n, 2 * ~p))
    @apply_utils Antiderivative(1 / ((~(a') + ~(b') * ~x) * sqrt(~(c') + ~(d') * ~x) * (~(e') + ~(f') * ~x) ^ (1 / 4)), ~x) => -4 * Subst(Antiderivative((~x) ^ 2 / (((~b * ~e - ~a * ~f) - ~b * (~x) ^ 4) * sqrt((~c - (~d * ~e) / ~f) + (~d * (~x) ^ 4) / ~f)), ~x), ~x, (~e + ~f * ~x) ^ (1 / 4)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && GtQ(-(~f) / (~d * ~e - ~c * ~f), 0)
    @apply_utils Antiderivative(1 / ((~(a') + ~(b') * ~x) * sqrt(~(c') + ~(d') * ~x) * (~(e') + ~(f') * ~x) ^ (1 / 4)), ~x) => (sqrt((-(~f) * (~c + ~d * ~x)) / (~d * ~e - ~c * ~f)) / sqrt(~c + ~d * ~x)) * Antiderivative(1 / ((~a + ~b * ~x) * sqrt((-(~c) * ~f) / (~d * ~e - ~c * ~f) - (~d * ~f * ~x) / (~d * ~e - ~c * ~f)) * (~e + ~f * ~x) ^ (1 / 4)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && Not(GtQ(-(~f) / (~d * ~e - ~c * ~f), 0))
    @apply_utils Antiderivative(1 / ((~(a') + ~(b') * ~x) * sqrt(~(c') + ~(d') * ~x) * (~(e') + ~(f') * ~x) ^ (3 / 4)), ~x) => -4 * Subst(Antiderivative(1 / (((~b * ~e - ~a * ~f) - ~b * (~x) ^ 4) * sqrt((~c - (~d * ~e) / ~f) + (~d * (~x) ^ 4) / ~f)), ~x), ~x, (~e + ~f * ~x) ^ (1 / 4)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && GtQ(-(~f) / (~d * ~e - ~c * ~f), 0)
    @apply_utils Antiderivative(1 / ((~(a') + ~(b') * ~x) * sqrt(~(c') + ~(d') * ~x) * (~(e') + ~(f') * ~x) ^ (3 / 4)), ~x) => (sqrt((-(~f) * (~c + ~d * ~x)) / (~d * ~e - ~c * ~f)) / sqrt(~c + ~d * ~x)) * Antiderivative(1 / ((~a + ~b * ~x) * sqrt((-(~c) * ~f) / (~d * ~e - ~c * ~f) - (~d * ~f * ~x) / (~d * ~e - ~c * ~f)) * (~e + ~f * ~x) ^ (3 / 4)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && Not(GtQ(-(~f) / (~d * ~e - ~c * ~f), 0))
    @apply_utils Antiderivative(sqrt(~e + ~(f') * ~x) / (sqrt(~(b') * ~x) * sqrt(~c + ~(d') * ~x)), ~x) => ((2 * sqrt(~e)) / ~b) * Rt(-(~b) / ~d, 2) * Elliptic.E(asin(sqrt(~b * ~x) / (sqrt(~c) * Rt(-(~b) / ~d, 2))), (~c * ~f) / (~d * ~e)) <-- FreeQ([~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~d * ~e - ~c * ~f, 0) && (GtQ(~c, 0) && (GtQ(~e, 0) && Not(LtQ(-(~b) / ~d, 0)))))
    @apply_utils Antiderivative(sqrt(~e + ~(f') * ~x) / (sqrt(~(b') * ~x) * sqrt(~c + ~(d') * ~x)), ~x) => (sqrt(-(~b) * ~x) / sqrt(~b * ~x)) * Antiderivative(sqrt(~e + ~f * ~x) / (sqrt(-(~b) * ~x) * sqrt(~c + ~d * ~x)), ~x) <-- FreeQ([~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~d * ~e - ~c * ~f, 0) && (GtQ(~c, 0) && (GtQ(~e, 0) && LtQ(-(~b) / ~d, 0))))
    @apply_utils Antiderivative(sqrt(~e + ~(f') * ~x) / (sqrt(~(b') * ~x) * sqrt(~c + ~(d') * ~x)), ~x) => ((sqrt(~e + ~f * ~x) * sqrt(1 + (~d * ~x) / ~c)) / (sqrt(~c + ~d * ~x) * sqrt(1 + (~f * ~x) / ~e))) * Antiderivative(sqrt(1 + (~f * ~x) / ~e) / (sqrt(~b * ~x) * sqrt(1 + (~d * ~x) / ~c)), ~x) <-- FreeQ([~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~d * ~e - ~c * ~f, 0) && Not(GtQ(~c, 0) && GtQ(~e, 0)))
    #= Antiderivative(sqrt((~e')+(~f')*(~x))/(sqrt((~a)+(~b')*(~x))*sqrt((~c)+(~d')*(~x))),~x) :=   f/b*Antiderivative(sqrt(a+b*x)/(sqrt(c+d*x)*sqrt(e+f*x)),x) - f/b*Antiderivative(1/(sqrt(a+b*x)*sqrt(c+d*x)*sqrt(e+f*x)),x) <--  FreeQ([a,b,c,d,e,f],x) && EqQ(b*e-f*(a-1),0) =#
    #= Antiderivative(sqrt((~e')+(~f')*(~x))/(sqrt((~a)+(~b')*(~x))*sqrt((~c)+(~d')*(~x))),~x) :=   2/b*Rt(-(b*c-a*d)/d,2)*sqrt((b*e-a*f)/(b*c-a*d))* Elliptic.E(asin(sqrt(a+b*x)/Rt(-(b*c-a*d)/d,2)),f*(b*c-a*d)/(d*( b*e-a*f))) <-- FreeQ([a,b,c,d,e,f],x) && GtQ(b/(b*c-a*d),0) &&  GtQ(b/(b*e-a*f),0) && Not(LtQ(-(b*c-a*d)/d,0)) && Not(SimplerQ(c+d*x,a+b*x) && GtQ(-d/(b*c-a*d),0) &&  GtQ(d/(d*e-c*f),0) && Not(LtQ((b*c-a*d)/b,0))) =#
    @apply_utils Antiderivative(sqrt(~(e') + ~(f') * ~x) / (sqrt(~a + ~(b') * ~x) * sqrt(~c + ~(d') * ~x)), ~x) => (2 / ~b) * Rt(-((~b * ~e - ~a * ~f)) / ~d, 2) * Elliptic.E(asin(sqrt(~a + ~b * ~x) / Rt(-((~b * ~c - ~a * ~d)) / ~d, 2)), (~f * (~b * ~c - ~a * ~d)) / (~d * (~b * ~e - ~a * ~f))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (GtQ(~b / (~b * ~c - ~a * ~d), 0) && (GtQ(~b / (~b * ~e - ~a * ~f), 0) && (Not(LtQ(-((~b * ~c - ~a * ~d)) / ~d, 0)) && Not(SimplerQ(~c + ~d * ~x, ~a + ~b * ~x) && (GtQ(-(~d) / (~b * ~c - ~a * ~d), 0) && (GtQ(~d / (~d * ~e - ~c * ~f), 0) && Not(LtQ((~b * ~c - ~a * ~d) / ~b, 0))))))))
    @apply_utils Antiderivative(sqrt(~(e') + ~(f') * ~x) / (sqrt(~a + ~(b') * ~x) * sqrt(~c + ~(d') * ~x)), ~x) => ((sqrt(~e + ~f * ~x) * sqrt((~b * (~c + ~d * ~x)) / (~b * ~c - ~a * ~d))) / (sqrt(~c + ~d * ~x) * sqrt((~b * (~e + ~f * ~x)) / (~b * ~e - ~a * ~f)))) * Antiderivative(sqrt((~b * ~e) / (~b * ~e - ~a * ~f) + (~b * ~f * ~x) / (~b * ~e - ~a * ~f)) / (sqrt(~a + ~b * ~x) * sqrt((~b * ~c) / (~b * ~c - ~a * ~d) + (~b * ~d * ~x) / (~b * ~c - ~a * ~d))), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (Not(GtQ(~b / (~b * ~c - ~a * ~d), 0) && GtQ(~b / (~b * ~e - ~a * ~f), 0)) && Not(LtQ(-((~b * ~c - ~a * ~d)) / ~d, 0)))
    @apply_utils Antiderivative(1 / (sqrt(~(b') * ~x) * sqrt(~c + ~(d') * ~x) * sqrt(~e + ~(f') * ~x)), ~x) => (2 / (~b * sqrt(~e))) * Rt(-(~b) / ~d, 2) * Elliptic.F(asin(sqrt(~b * ~x) / (sqrt(~c) * Rt(-(~b) / ~d, 2))), (~c * ~f) / (~d * ~e)) <-- FreeQ([~b, ~c, ~d, ~e, ~f], ~x) && (GtQ(~c, 0) && (GtQ(~e, 0) && (GtQ(-(~b) / ~d, 0) || LtQ(-(~b) / ~f, 0))))
    @apply_utils Antiderivative(1 / (sqrt(~(b') * ~x) * sqrt(~c + ~(d') * ~x) * sqrt(~e + ~(f') * ~x)), ~x) => (2 / (~b * sqrt(~e))) * Rt(-(~b) / ~d, 2) * Elliptic.F(asin(sqrt(~b * ~x) / (sqrt(~c) * Rt(-(~b) / ~d, 2))), (~c * ~f) / (~d * ~e)) <-- FreeQ([~b, ~c, ~d, ~e, ~f], ~x) && (GtQ(~c, 0) && (GtQ(~e, 0) && (PosQ(-(~b) / ~d) || NegQ(-(~b) / ~f))))
    @apply_utils Antiderivative(1 / (sqrt(~(b') * ~x) * sqrt(~c + ~(d') * ~x) * sqrt(~e + ~(f') * ~x)), ~x) => ((sqrt(1 + (~d * ~x) / ~c) * sqrt(1 + (~f * ~x) / ~e)) / (sqrt(~c + ~d * ~x) * sqrt(~e + ~f * ~x))) * Antiderivative(1 / (sqrt(~b * ~x) * sqrt(1 + (~d * ~x) / ~c) * sqrt(1 + (~f * ~x) / ~e)), ~x) <-- FreeQ([~b, ~c, ~d, ~e, ~f], ~x) && Not(GtQ(~c, 0) && GtQ(~e, 0))
    @apply_utils Antiderivative(1 / (sqrt(~a + ~(b') * ~x) * sqrt(~c + ~(d') * ~x) * sqrt(~e + ~(f') * ~x)), ~x) => ((-2 * sqrt(~d / ~f)) / (~d * Rt(-((~b * ~e - ~a * ~f)) / ~f, 2))) * Elliptic.F(asin(Rt(-((~b * ~e - ~a * ~f)) / ~f, 2) / sqrt(~a + ~b * ~x)), (~f * (~b * ~c - ~a * ~d)) / (~d * (~b * ~e - ~a * ~f))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (GtQ(~d / ~b, 0) && (GtQ(~f / ~b, 0) && (LeQ(~c, (~a * ~d) / ~b) && LeQ(~e, (~a * ~f) / ~b))))
    #= Antiderivative(1/(sqrt((~a)+(~b')*(~x))*sqrt((~c)+(~d')*(~x))*sqrt((~e)+(~f')*(~x))),~x) :=   -2*sqrt(c+d*x)*sqrt(b*(e+f*x)/(f*(a+b*x)))/(d*Rt(-(b*e-a*f)/f,2)* sqrt(e+f*x)*sqrt(b*(c+d*x)/(d*(a+b*x))))* Elliptic.F(asin(Rt(-(b*e-a*f)/f,2)/sqrt(a+b*x)),f*(b*c-a*d)/(d*( b*e-a*f))) <-- FreeQ([a,b,c,d,e,f],x) && PosQ(-(b*e-a*f)/f) && #=  (LtQ(-a/b,-c/d,-e/f) || GtQ(-a/b,-c/d,-e/f)) =#  Not(SimplerQ(c+d*x,a+b*x) && (PosQ((-d*e+c*f)/f) ||  PosQ((b*e-a*f)/b))) && Not(SimplerQ(e+f*x,a+b*x) && (PosQ((b*e-a*f)/b) ||  PosQ((b*c-a*d)/b))) =#
    @apply_utils Antiderivative(1 / (sqrt(~a + ~(b') * ~x) * sqrt(~c + ~(d') * ~x) * sqrt(~e + ~(f') * ~x)), ~x) => ((2 * Rt(-(~b) / ~d, 2)) / (~b * sqrt((~b * ~e - ~a * ~f) / ~b))) * Elliptic.F(asin(sqrt(~a + ~b * ~x) / (Rt(-(~b) / ~d, 2) * sqrt((~b * ~c - ~a * ~d) / ~b))), (~f * (~b * ~c - ~a * ~d)) / (~d * (~b * ~e - ~a * ~f))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (GtQ((~b * ~c - ~a * ~d) / ~b, 0) && (GtQ((~b * ~e - ~a * ~f) / ~b, 0) && (PosQ(-(~b) / ~d) && (Not(SimplerQ(~c + ~d * ~x, ~a + ~b * ~x) && (GtQ((~d * ~e - ~c * ~f) / ~d, 0) && GtQ(-(~d) / ~b, 0))) && (Not(SimplerQ(~c + ~d * ~x, ~a + ~b * ~x) && (GtQ((-(~b) * ~e + ~a * ~f) / ~f, 0) && GtQ(-(~f) / ~b, 0))) && Not(SimplerQ(~e + ~f * ~x, ~a + ~b * ~x) && (GtQ((-(~d) * ~e + ~c * ~f) / ~f, 0) && (GtQ((-(~b) * ~e + ~a * ~f) / ~f, 0) && (PosQ(-(~f) / ~d) || PosQ(-(~f) / ~b))))))))))
    @apply_utils Antiderivative(1 / (sqrt(~a + ~(b') * ~x) * sqrt(~c + ~(d') * ~x) * sqrt(~e + ~(f') * ~x)), ~x) => ((2 * Rt(-(~b) / ~d, 2)) / (~b * sqrt((~b * ~e - ~a * ~f) / ~b))) * Elliptic.F(asin(sqrt(~a + ~b * ~x) / (Rt(-(~b) / ~d, 2) * sqrt((~b * ~c - ~a * ~d) / ~b))), (~f * (~b * ~c - ~a * ~d)) / (~d * (~b * ~e - ~a * ~f))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (GtQ(~b / (~b * ~c - ~a * ~d), 0) && (GtQ(~b / (~b * ~e - ~a * ~f), 0) && (SimplerQ(~a + ~b * ~x, ~c + ~d * ~x) && (SimplerQ(~a + ~b * ~x, ~e + ~f * ~x) && (PosQ(-((~b * ~c - ~a * ~d)) / ~d) || NegQ(-((~b * ~e - ~a * ~f)) / ~f))))))
    @apply_utils Antiderivative(1 / (sqrt(~a + ~(b') * ~x) * sqrt(~c + ~(d') * ~x) * sqrt(~e + ~(f') * ~x)), ~x) => (sqrt((~b * (~c + ~d * ~x)) / (~b * ~c - ~a * ~d)) / sqrt(~c + ~d * ~x)) * Antiderivative(1 / (sqrt(~a + ~b * ~x) * sqrt((~b * ~c) / (~b * ~c - ~a * ~d) + (~b * ~d * ~x) / (~b * ~c - ~a * ~d)) * sqrt(~e + ~f * ~x)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (Not(GtQ((~b * ~c - ~a * ~d) / ~b, 0)) && (SimplerQ(~a + ~b * ~x, ~c + ~d * ~x) && SimplerQ(~a + ~b * ~x, ~e + ~f * ~x)))
    @apply_utils Antiderivative(1 / (sqrt(~a + ~(b') * ~x) * sqrt(~c + ~(d') * ~x) * sqrt(~e + ~(f') * ~x)), ~x) => (sqrt((~b * (~e + ~f * ~x)) / (~b * ~e - ~a * ~f)) / sqrt(~e + ~f * ~x)) * Antiderivative(1 / (sqrt(~a + ~b * ~x) * sqrt(~c + ~d * ~x) * sqrt((~b * ~e) / (~b * ~e - ~a * ~f) + (~b * ~f * ~x) / (~b * ~e - ~a * ~f))), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && Not(GtQ((~b * ~e - ~a * ~f) / ~b, 0))
    @apply_utils Antiderivative(1 / ((~(a') + ~(b') * ~x) * (~(c') + ~(d') * ~x) ^ (1 / 3) * (~(e') + ~(f') * ~x) ^ (1 / 3)), ~x) => With([q = Rt((~b * (~b * ~e - ~a * ~f)) / (~b * ~c - ~a * ~d) ^ 2, 3)], (-(log(~a + ~b * ~x)) / (2 * q * (~b * ~c - ~a * ~d)) - (sqrt(3) * atan(1 / sqrt(3) + (2 * q * (~c + ~d * ~x) ^ (2 / 3)) / (sqrt(3) * (~e + ~f * ~x) ^ (1 / 3)))) / (2 * q * (~b * ~c - ~a * ~d))) + (3 * log(q * (~c + ~d * ~x) ^ (2 / 3) - (~e + ~f * ~x) ^ (1 / 3))) / (4 * q * (~b * ~c - ~a * ~d))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && EqQ((2 * ~b * ~d * ~e - ~b * ~c * ~f) - ~a * ~d * ~f, 0)
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~m / ((~(c') + ~(d') * ~x) ^ (1 / 3) * (~(e') + ~(f') * ~x) ^ (1 / 3)), ~x) => (~b * (~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ (2 / 3) * (~e + ~f * ~x) ^ (2 / 3)) / ((~m + 1) * (~b * ~c - ~a * ~d) * (~b * ~e - ~a * ~f)) + (~f / (6 * (~m + 1) * (~b * ~c - ~a * ~d) * (~b * ~e - ~a * ~f))) * Antiderivative(((~a + ~b * ~x) ^ (~m + 1) * ((~a * ~d * (3 * ~m + 1) - 3 * ~b * ~c * (3 * ~m + 5)) - 2 * ~b * ~d * (3 * ~m + 7) * ~x)) / ((~c + ~d * ~x) ^ (1 / 3) * (~e + ~f * ~x) ^ (1 / 3)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (EqQ((2 * ~b * ~d * ~e - ~b * ~c * ~f) - ~a * ~d * ~f, 0) && ILtQ(~m, -1))
    #= Antiderivative(((~a')+(~b')*(~x))^(~m')*((~c')+(~d')*(~x))^(~n')*((~f')*(~x))^(~p'),~x) :=  Simp((a+b*x)^m*(c+d*x)^m/(a*c+b*d*x^2)^m)*Antiderivative((a*c+b*d*x^2)^m*(f*x)^p, x) <-- FreeQ([a,b,c,d,f,m,n,p],x) && EqQ(b*c+a*d,0) && EqQ(n,m) =#
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~(m') * (~(c') + ~(d') * ~x) ^ ~(n') * (~(f') * ~x) ^ ~(p'), ~x) => Antiderivative((~a * ~c + ~b * ~d * (~x) ^ 2) ^ ~m * (~f * ~x) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~f, ~m, ~n, ~p], ~x) && (EqQ(~b * ~c + ~a * ~d, 0) && (EqQ(~n, ~m) && (GtQ(~a, 0) && GtQ(~c, 0))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~(m') * (~(c') + ~(d') * ~x) ^ ~(n') * (~(f') * ~x) ^ ~(p'), ~x) => (((~a + ~b * ~x) ^ FracPart(~m) * (~c + ~d * ~x) ^ FracPart(~m)) / (~a * ~c + ~b * ~d * (~x) ^ 2) ^ FracPart(~m)) * Antiderivative((~a * ~c + ~b * ~d * (~x) ^ 2) ^ ~m * (~f * ~x) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~f, ~m, ~n, ~p], ~x) && (EqQ(~b * ~c + ~a * ~d, 0) && EqQ(~n, ~m))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~(m') * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => Antiderivative(ExpandIntegrand((~a + ~b * ~x) ^ ~m * (~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ ~p, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n, ~p], ~x) && (IGtQ(~m, 0) || ILtQ(~m, 0) && ILtQ(~n, 0))
    @apply_utils Antiderivative((~(e') * ~x) ^ ~p * (~a + ~(b') * ~x) ^ ~m * (~c + ~(d') * ~x) ^ ~n, ~x) => With([k = Denominator(~p)], (k / ~e) * Subst(Antiderivative((~x) ^ (k * (~p + 1) - 1) * (~a + (~b * (~x) ^ k) / ~e) ^ ~m * (~c + (~d * (~x) ^ k) / ~e) ^ ~n, ~x), ~x, (~e * ~x) ^ (1 / k))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~m, ~n], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (FractionQ(~p) && IntegerQ(~m)))
    @apply_utils Antiderivative(((~(a') + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~n) / (~(e') + ~(f') * ~x) ^ 2, ~x) => ((~b * ~d) / (~f) ^ 2) * Antiderivative((~a + ~b * ~x) ^ (~m - 1) * (~c + ~d * ~x) ^ (~n - 1), ~x) + (((~b * ~e - ~a * ~f) * (~d * ~e - ~c * ~f)) / (~f) ^ 2) * Antiderivative(((~a + ~b * ~x) ^ (~m - 1) * (~c + ~d * ~x) ^ (~n - 1)) / (~e + ~f * ~x) ^ 2, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n], ~x) && (IGtQ(~m + ~n, 0) && EqQ(2 * ~b * ~d * ~e - ~f * (~b * ~c + ~a * ~d), 0))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~(m') * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~p, ~x) => ((~f) ^ (~p - 1) / (~d) ^ ~p) * Antiderivative(((~a + ~b * ~x) ^ ~m * ((~d * ~e * ~p - ~c * ~f * (~p - 1)) + ~d * ~f * ~x)) / (~c + ~d * ~x) ^ (~m + 1), ~x) + (~f) ^ (~p - 1) * Antiderivative((((~a + ~b * ~x) ^ ~m * (~e + ~f * ~x) ^ ~p) / (~c + ~d * ~x) ^ (~m + 1)) * ExpandToSum((~f) ^ (-(~p) + 1) * (~c + ~d * ~x) ^ (-(~p) + 1) - ((~d * ~e * ~p - ~c * ~f * (~p - 1)) + ~d * ~f * ~x) / ((~d) ^ ~p * (~e + ~f * ~x) ^ ~p), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n], ~x) && (EqQ(~m + ~n + ~p, 0) && (ILtQ(~p, 0) && (LtQ(~m, 0) || (SumSimplerQ(~m, 1) || Not(LtQ(~n, 0) || SumSimplerQ(~n, 1))))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~(m') * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~p, ~x) => ~b * (~d) ^ (~m + ~n) * (~f) ^ ~p * Antiderivative((~a + ~b * ~x) ^ (~m - 1) / (~c + ~d * ~x) ^ ~m, ~x) + Antiderivative((((~a + ~b * ~x) ^ (~m - 1) * (~e + ~f * ~x) ^ ~p) / (~c + ~d * ~x) ^ ~m) * ExpandToSum((~a + ~b * ~x) * (~c + ~d * ~x) ^ (-(~p) - 1) - (~b * (~d) ^ (-(~p) - 1) * (~f) ^ ~p) / (~e + ~f * ~x) ^ ~p, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n], ~x) && (EqQ(~m + ~n + ~p + 1, 0) && (ILtQ(~p, 0) && (GtQ(~m, 0) || (SumSimplerQ(~m, -1) || Not(GtQ(~n, 0) || SumSimplerQ(~n, -1))))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~p, ~x) => (((~b * ~c - ~a * ~d) ^ ~n * (~a + ~b * ~x) ^ (~m + 1)) / ((~m + 1) * (~b * ~e - ~a * ~f) ^ (~n + 1) * (~e + ~f * ~x) ^ (~m + 1))) * HypergeometricFunctions._₂F₁(~m + 1, -(~n), ~m + 2, (-((~d * ~e - ~c * ~f)) * (~a + ~b * ~x)) / ((~b * ~c - ~a * ~d) * (~e + ~f * ~x))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~p], ~x) && (EqQ(~m + ~n + ~p + 2, 0) && (ILtQ(~n, 0) && ((SumSimplerQ(~m, 1) || Not(SumSimplerQ(~p, 1))) && Not(ILtQ(~m, 0)))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~n * (~(e') + ~(f') * ~x) ^ ~p, ~x) => (((~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ (~p + 1)) / ((~b * ~e - ~a * ~f) * (~m + 1))) * (((~b * ~e - ~a * ~f) * (~c + ~d * ~x)) / ((~b * ~c - ~a * ~d) * (~e + ~f * ~x))) ^ -(~n) * HypergeometricFunctions._₂F₁(~m + 1, -(~n), ~m + 2, (-((~d * ~e - ~c * ~f)) * (~a + ~b * ~x)) / ((~b * ~c - ~a * ~d) * (~e + ~f * ~x))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n, ~p], ~x) && (EqQ(~m + ~n + ~p + 2, 0) && Not(IntegerQ(~n)))
    @apply_utils Antiderivative(((~(a') + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~n) / (~(e') + ~(f') * ~x), ~x) => ((~c * ~f - ~d * ~e) ^ (~m + ~n + 1) / (~f) ^ (~m + ~n + 1)) * Antiderivative((~a + ~b * ~x) ^ ~m / ((~c + ~d * ~x) ^ (~m + 1) * (~e + ~f * ~x)), ~x) + (1 / (~f) ^ (~m + ~n + 1)) * Antiderivative(((~a + ~b * ~x) ^ ~m / (~c + ~d * ~x) ^ (~m + 1)) * ExpandToSum(((~f) ^ (~m + ~n + 1) * (~c + ~d * ~x) ^ (~m + ~n + 1) - (~c * ~f - ~d * ~e) ^ (~m + ~n + 1)) / (~e + ~f * ~x), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n], ~x) && (IGtQ(~m + ~n + 1, 0) && (LtQ(~m, 0) || (SumSimplerQ(~m, 1) || Not(LtQ(~n, 0) || SumSimplerQ(~n, 1)))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~(n') * (~(e') + ~(f') * ~x) ^ ~(p'), ~x) => (~b * (~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ (~n + 1) * (~e + ~f * ~x) ^ (~p + 1)) / ((~m + 1) * (~b * ~c - ~a * ~d) * (~b * ~e - ~a * ~f)) + (1 / ((~m + 1) * (~b * ~c - ~a * ~d) * (~b * ~e - ~a * ~f))) * Antiderivative((~a + ~b * ~x) ^ (~m + 1) * (~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ ~p * Simp((~a * ~d * ~f * (~m + 1) - ~b * (~d * ~e * (~m + ~n + 2) + ~c * ~f * (~m + ~p + 2))) - ~b * ~d * ~f * (~m + ~n + ~p + 3) * ~x, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n, ~p], ~x) && (ILtQ(~m + ~n + ~p + 2, 0) && (NeQ(~m, -1) && (SumSimplerQ(~m, 1) || Not(SumSimplerQ(~n, 1)) && Not(SumSimplerQ(~p, 1)))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~x) ^ ~(m') * (~(c') + ~(d') * ~x) ^ ~(n') * (~(f') * ~x) ^ ~(p'), ~x) => Antiderivative(ExpandIntegrand((~a + ~b * ~x) ^ ~n * (~c + ~d * ~x) ^ ~n * (~f * ~x) ^ ~p, (~a + ~b * ~x) ^ (~m - ~n), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~f, ~m, ~n, ~p], ~x) && (EqQ(~b * ~c + ~a * ~d, 0) && (IGtQ(~m - ~n, 0) && NeQ(~m + ~n + ~p + 2, 0)))
    @apply_utils Antiderivative((~(b') * ~x) ^ ~m * (~c + ~(d') * ~x) ^ ~n * (~e + ~(f') * ~x) ^ ~p, ~x) => (((~c) ^ ~n * (~e) ^ ~p * (~b * ~x) ^ (~m + 1)) / (~b * (~m + 1))) * AppellF1(~m + 1, -(~n), -(~p), ~m + 2, (-(~d) * ~x) / ~c, (-(~f) * ~x) / ~e) <-- FreeQ([~b, ~c, ~d, ~e, ~f, ~m, ~n, ~p], ~x) && (Not(IntegerQ(~m)) && (Not(IntegerQ(~n)) && (GtQ(~c, 0) && (IntegerQ(~p) || GtQ(~e, 0)))))
    @apply_utils Antiderivative((~(b') * ~x) ^ ~m * (~c + ~(d') * ~x) ^ ~n * (~e + ~(f') * ~x) ^ ~p, ~x) => ((~c + ~d * ~x) ^ (~n + 1) / (~d * (~n + 1) * (-(~d) / (~b * ~c)) ^ ~m * (~d / (~d * ~e - ~c * ~f)) ^ ~p)) * AppellF1(~n + 1, -(~m), -(~p), ~n + 2, 1 + (~d * ~x) / ~c, (-(~f) * (~c + ~d * ~x)) / (~d * ~e - ~c * ~f)) <-- FreeQ([~b, ~c, ~d, ~e, ~f, ~m, ~n, ~p], ~x) && (Not(IntegerQ(~m)) && (Not(IntegerQ(~n)) && (GtQ(-(~d) / (~b * ~c), 0) && (IntegerQ(~p) || GtQ(~d / (~d * ~e - ~c * ~f), 0)))))
    @apply_utils Antiderivative((~(b') * ~x) ^ ~m * (~c + ~(d') * ~x) ^ ~n * (~e + ~(f') * ~x) ^ ~p, ~x) => (((~c) ^ IntPart(~n) * (~c + ~d * ~x) ^ FracPart(~n)) / (1 + (~d * ~x) / ~c) ^ FracPart(~n)) * Antiderivative((~b * ~x) ^ ~m * (1 + (~d * ~x) / ~c) ^ ~n * (~e + ~f * ~x) ^ ~p, ~x) <-- FreeQ([~b, ~c, ~d, ~e, ~f, ~m, ~n, ~p], ~x) && (Not(IntegerQ(~m)) && (Not(IntegerQ(~n)) && Not(GtQ(~c, 0))))
    @apply_utils Antiderivative((~a + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~n * (~(e') + ~(f') * ~x) ^ ~p, ~x) => (((~b * ~e - ~a * ~f) ^ ~p * (~a + ~b * ~x) ^ (~m + 1)) / ((~b) ^ (~p + 1) * (~m + 1) * (~b / (~b * ~c - ~a * ~d)) ^ ~n)) * AppellF1(~m + 1, -(~n), -(~p), ~m + 2, (-(~d) * (~a + ~b * ~x)) / (~b * ~c - ~a * ~d), (-(~f) * (~a + ~b * ~x)) / (~b * ~e - ~a * ~f)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n], ~x) && (Not(IntegerQ(~m)) && (Not(IntegerQ(~n)) && (IntegerQ(~p) && (GtQ(~b / (~b * ~c - ~a * ~d), 0) && Not(GtQ(~d / (~d * ~a - ~c * ~b), 0) && SimplerQ(~c + ~d * ~x, ~a + ~b * ~x))))))
    @apply_utils Antiderivative((~a + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~n * (~(e') + ~(f') * ~x) ^ ~p, ~x) => ((~c + ~d * ~x) ^ FracPart(~n) / ((~b / (~b * ~c - ~a * ~d)) ^ IntPart(~n) * ((~b * (~c + ~d * ~x)) / (~b * ~c - ~a * ~d)) ^ FracPart(~n))) * Antiderivative((~a + ~b * ~x) ^ ~m * ((~b * ~c) / (~b * ~c - ~a * ~d) + (~b * ~d * ~x) / (~b * ~c - ~a * ~d)) ^ ~n * (~e + ~f * ~x) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n], ~x) && (Not(IntegerQ(~m)) && (Not(IntegerQ(~n)) && (IntegerQ(~p) && (Not(GtQ(~b / (~b * ~c - ~a * ~d), 0)) && Not(SimplerQ(~c + ~d * ~x, ~a + ~b * ~x))))))
    @apply_utils Antiderivative((~a + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~n * (~(e') + ~(f') * ~x) ^ ~p, ~x) => ((~a + ~b * ~x) ^ (~m + 1) / (~b * (~m + 1) * (~b / (~b * ~c - ~a * ~d)) ^ ~n * (~b / (~b * ~e - ~a * ~f)) ^ ~p)) * AppellF1(~m + 1, -(~n), -(~p), ~m + 2, (-(~d) * (~a + ~b * ~x)) / (~b * ~c - ~a * ~d), (-(~f) * (~a + ~b * ~x)) / (~b * ~e - ~a * ~f)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n, ~p], ~x) && (Not(IntegerQ(~m)) && (Not(IntegerQ(~n)) && (Not(IntegerQ(~p)) && (GtQ(~b / (~b * ~c - ~a * ~d), 0) && (GtQ(~b / (~b * ~e - ~a * ~f), 0) && (Not(GtQ(~d / (~d * ~a - ~c * ~b), 0) && (GtQ(~d / (~d * ~e - ~c * ~f), 0) && SimplerQ(~c + ~d * ~x, ~a + ~b * ~x))) && Not(GtQ(~f / (~f * ~a - ~e * ~b), 0) && (GtQ(~f / (~f * ~c - ~e * ~d), 0) && SimplerQ(~e + ~f * ~x, ~a + ~b * ~x)))))))))
    @apply_utils Antiderivative((~a + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~n * (~(e') + ~(f') * ~x) ^ ~p, ~x) => ((~e + ~f * ~x) ^ FracPart(~p) / ((~b / (~b * ~e - ~a * ~f)) ^ IntPart(~p) * ((~b * (~e + ~f * ~x)) / (~b * ~e - ~a * ~f)) ^ FracPart(~p))) * Antiderivative((~a + ~b * ~x) ^ ~m * (~c + ~d * ~x) ^ ~n * ((~b * ~e) / (~b * ~e - ~a * ~f) + (~b * ~f * ~x) / (~b * ~e - ~a * ~f)) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n, ~p], ~x) && (Not(IntegerQ(~m)) && (Not(IntegerQ(~n)) && (Not(IntegerQ(~p)) && (GtQ(~b / (~b * ~c - ~a * ~d), 0) && Not(GtQ(~b / (~b * ~e - ~a * ~f), 0))))))
    @apply_utils Antiderivative((~a + ~(b') * ~x) ^ ~m * (~(c') + ~(d') * ~x) ^ ~n * (~(e') + ~(f') * ~x) ^ ~p, ~x) => ((~c + ~d * ~x) ^ FracPart(~n) / ((~b / (~b * ~c - ~a * ~d)) ^ IntPart(~n) * ((~b * (~c + ~d * ~x)) / (~b * ~c - ~a * ~d)) ^ FracPart(~n))) * Antiderivative((~a + ~b * ~x) ^ ~m * ((~b * ~c) / (~b * ~c - ~a * ~d) + (~b * ~d * ~x) / (~b * ~c - ~a * ~d)) ^ ~n * (~e + ~f * ~x) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n, ~p], ~x) && (Not(IntegerQ(~m)) && (Not(IntegerQ(~n)) && (Not(IntegerQ(~p)) && (Not(GtQ(~b / (~b * ~c - ~a * ~d), 0)) && (Not(SimplerQ(~c + ~d * ~x, ~a + ~b * ~x)) && Not(SimplerQ(~e + ~f * ~x, ~a + ~b * ~x)))))))
    @apply_utils Antiderivative((~(a') + ~(b') * ~u) ^ ~(m') * (~(c') + ~(d') * ~u) ^ ~(n') * (~e + ~(f') * ~u) ^ ~(p'), ~x) => (1 / Coefficient(~u, ~x, 1)) * Subst(Antiderivative((~a + ~b * ~x) ^ ~m * (~c + ~d * ~x) ^ ~n * (~e + ~f * ~x) ^ ~p, ~x), ~x, ~u) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n, ~p], ~x) && (LinearQ(~u, ~x) && NeQ(~u, ~x))
end
