int_rules_4_1_2_1 = @theory begin

    #= ::Subsection::Closed:: =#
    #= 4.1.2.1*(a+b*sin)^m*(c+d*sin)^n =#
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => (((2 * ~a * ~c + ~b * ~d) * ~x) / 2 - ((~b * ~c + ~a * ~d) * cos(~e + ~f * ~x)) / ~f) - (~b * ~d * cos(~e + ~f * ~x) * sin(~e + ~f * ~x)) / (2 * ~f) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && NeQ(~b * ~c - ~a * ~d, 0)
    @apply_utils Antiderivative((~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) / (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => (~b * ~x) / ~d - ((~b * ~c - ~a * ~d) / ~d) * Antiderivative(1 / (~c + ~d * sin(~e + ~f * ~x)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && NeQ(~b * ~c - ~a * ~d, 0)
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~(m') * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => (~a) ^ ~m * (~c) ^ ~m * Antiderivative(cos(~e + ~f * ~x) ^ (2 * ~m) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n - ~m), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n], ~x) && (EqQ(~b * ~c + ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (IntegerQ(~m) && Not(IntegerQ(~n) && (LtQ(~m, 0) && GtQ(~n, 0) || (LtQ(0, ~n, ~m) || LtQ(~m, ~n, 0)))))))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) / sqrt(~c + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => ((~a * ~c * cos(~e + ~f * ~x)) / (sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(~c + ~d * sin(~e + ~f * ~x)))) * Antiderivative(cos(~e + ~f * ~x) / (~c + ~d * sin(~e + ~f * ~x)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (EqQ(~b * ~c + ~a * ~d, 0) && EqQ((~a) ^ 2 - (~b) ^ 2, 0))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (-2 * ~b * cos(~e + ~f * ~x) * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n) / (~f * (2 * ~n + 1) * sqrt(~a + ~b * sin(~e + ~f * ~x))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n], ~x) && (EqQ(~b * ~c + ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && NeQ(~n, -1 / 2)))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (-2 * ~b * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ (~m - 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n) / (~f * (2 * ~n + 1)) - ((~b * (2 * ~m - 1)) / (~d * (2 * ~n + 1))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m - 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n + 1), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (EqQ(~b * ~c + ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (IGtQ(~m - 1 / 2, 0) && (LtQ(~n, -1) && Not(ILtQ(~m + ~n, 0) && GtQ(2 * ~m + ~n + 1, 0))))))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (-(~b) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ (~m - 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n) / (~f * (~m + ~n)) + ((~a * (2 * ~m - 1)) / (~m + ~n)) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m - 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n], ~x) && (EqQ(~b * ~c + ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (IGtQ(~m - 1 / 2, 0) && (Not(LtQ(~n, -1)) && (Not(IGtQ(~n - 1 / 2, 0) && LtQ(~n, ~m)) && Not(ILtQ(~m + ~n, 0) && GtQ(2 * ~m + ~n + 1, 0)))))))
    @apply_utils Antiderivative(1 / (sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * sqrt(~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (cos(~e + ~f * ~x) / (sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(~c + ~d * sin(~e + ~f * ~x)))) * Antiderivative(1 / cos(~e + ~f * ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (EqQ(~b * ~c + ~a * ~d, 0) && EqQ((~a) ^ 2 - (~b) ^ 2, 0))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (~b * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n) / (~a * ~f * (2 * ~m + 1)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n], ~x) && (EqQ(~b * ~c + ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (EqQ(~m + ~n + 1, 0) && NeQ(~m, -1 / 2))))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (~b * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n) / (~a * ~f * (2 * ~m + 1)) + ((~m + ~n + 1) / (~a * (2 * ~m + 1))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n], ~x) && (EqQ(~b * ~c + ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (ILtQ(Simplify(~m + ~n + 1), 0) && (NeQ(~m, -1 / 2) && (SumSimplerQ(~m, 1) || Not(SumSimplerQ(~n, 1)))))))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (~b * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n) / (~a * ~f * (2 * ~m + 1)) + ((~m + ~n + 1) / (~a * (2 * ~m + 1))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n], ~x) && (EqQ(~b * ~c + ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (LtQ(~m, -1) && (Not(LtQ(~m, ~n, -1)) && IntegersQ(2 * ~m, 2 * ~n)))))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (((~a) ^ IntPart(~m) * (~c) ^ IntPart(~m) * (~a + ~b * sin(~e + ~f * ~x)) ^ FracPart(~m) * (~c + ~d * sin(~e + ~f * ~x)) ^ FracPart(~m)) / cos(~e + ~f * ~x) ^ (2 * FracPart(~m))) * Antiderivative(cos(~e + ~f * ~x) ^ (2 * ~m) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n - ~m), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n], ~x) && (EqQ(~b * ~c + ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (FractionQ(~m) || Not(FractionQ(~n)))))
    @apply_utils Antiderivative((~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) ^ 2 / (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => (-((~b) ^ 2) * cos(~e + ~f * ~x)) / (~d * ~f) + (1 / ~d) * Antiderivative(Simp((~a) ^ 2 * ~d - ~b * (~b * ~c - 2 * ~a * ~d) * sin(~e + ~f * ~x), ~x) / (~c + ~d * sin(~e + ~f * ~x)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && NeQ(~b * ~c - ~a * ~d, 0)
    @apply_utils Antiderivative(1 / ((~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (~b / (~b * ~c - ~a * ~d)) * Antiderivative(1 / (~a + ~b * sin(~e + ~f * ~x)), ~x) - (~d / (~b * ~c - ~a * ~d)) * Antiderivative(1 / (~c + ~d * sin(~e + ~f * ~x)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && NeQ(~b * ~c - ~a * ~d, 0)
    @apply_utils Antiderivative((~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => ~c * Antiderivative((~b * sin(~e + ~f * ~x)) ^ ~m, ~x) + (~d / ~b) * Antiderivative((~b * sin(~e + ~f * ~x)) ^ (~m + 1), ~x) <-- FreeQ([~b, ~c, ~d, ~e, ~f, ~m], ~x)
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => (-(~d) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ ~m) / (~f * (~m + 1)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && EqQ(~a * ~d * ~m + ~b * ~c * (~m + 1), 0)))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => ((~b * ~c - ~a * ~d) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ ~m) / (~a * ~f * (2 * ~m + 1)) + ((~a * ~d * ~m + ~b * ~c * (~m + 1)) / (~a * ~b * (2 * ~m + 1))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && LtQ(~m, -1 / 2)))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => (-(~d) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ ~m) / (~f * (~m + 1)) + ((~a * ~d * ~m + ~b * ~c * (~m + 1)) / (~b * (~m + 1))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ ~m, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && Not(LtQ(~m, -1 / 2))))
    @apply_utils Antiderivative((~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) / sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)), ~x) => ((~b * ~c - ~a * ~d) / ~b) * Antiderivative(1 / sqrt(~a + ~b * sin(~e + ~f * ~x)), ~x) + (~d / ~b) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && NeQ((~a) ^ 2 - (~b) ^ 2, 0))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => (-(~d) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ ~m) / (~f * (~m + 1)) + (1 / (~m + 1)) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m - 1) * Simp(~b * ~d * ~m + ~a * ~c * (~m + 1) + (~a * ~d * ~m + ~b * ~c * (~m + 1)) * sin(~e + ~f * ~x), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && (GtQ(~m, 0) && IntegerQ(2 * ~m))))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => (-((~b * ~c - ~a * ~d)) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1)) / (~f * (~m + 1) * ((~a) ^ 2 - (~b) ^ 2)) + (1 / ((~m + 1) * ((~a) ^ 2 - (~b) ^ 2))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1) * Simp((~a * ~c - ~b * ~d) * (~m + 1) - (~b * ~c - ~a * ~d) * (~m + 2) * sin(~e + ~f * ~x), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && (LtQ(~m, -1) && IntegerQ(2 * ~m))))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => ((~c * cos(~e + ~f * ~x)) / (~f * sqrt(1 + sin(~e + ~f * ~x)) * sqrt(1 - sin(~e + ~f * ~x)))) * Subst(Antiderivative(((~a + ~b * ~x) ^ ~m * sqrt(1 + (~d / ~c) * ~x)) / sqrt(1 - (~d / ~c) * ~x), ~x), ~x, sin(~e + ~f * ~x)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && (Not(IntegerQ(2 * ~m)) && EqQ((~c) ^ 2 - (~d) ^ 2, 0))))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => ((~b * ~c - ~a * ~d) / ~b) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ ~m, ~x) + (~d / ~b) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && NeQ((~a) ^ 2 - (~b) ^ 2, 0))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~(m') * (~(d') * sin(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => Antiderivative(ExpandTrig((~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~d * sin(~e + ~f * ~x)) ^ ~n, ~x), ~x) <-- FreeQ([~a, ~b, ~d, ~e, ~f, ~n], ~x) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (IGtQ(~m, 0) && RationalQ(~n)))
    @apply_utils Antiderivative(sin(~(e') + ~(f') * ~x) ^ 2 * (~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m, ~x) => (~b * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ ~m) / (~a * ~f * (2 * ~m + 1)) - (1 / ((~a) ^ 2 * (2 * ~m + 1))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1) * (~a * ~m - ~b * (2 * ~m + 1) * sin(~e + ~f * ~x)), ~x) <-- FreeQ([~a, ~b, ~e, ~f], ~x) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && LtQ(~m, -1 / 2))
    @apply_utils Antiderivative(sin(~(e') + ~(f') * ~x) ^ 2 * (~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m, ~x) => (-(cos(~e + ~f * ~x)) * (~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1)) / (~b * ~f * (~m + 2)) + (1 / (~b * (~m + 2))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~b * (~m + 1) - ~a * sin(~e + ~f * ~x)), ~x) <-- FreeQ([~a, ~b, ~e, ~f, ~m], ~x) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && Not(LtQ(~m, -1 / 2)))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ 2, ~x) => ((~b * ~c - ~a * ~d) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~c + ~d * sin(~e + ~f * ~x))) / (~a * ~f * (2 * ~m + 1)) + (1 / (~a * ~b * (2 * ~m + 1))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1) * Simp(~a * ~c * ~d * (~m - 1) + ~b * ((~d) ^ 2 + (~c) ^ 2 * (~m + 1)) + ~d * (~a * ~d * (~m - 1) + ~b * ~c * (~m + 2)) * sin(~e + ~f * ~x), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && LtQ(~m, -1)))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ 2, ~x) => (-((~d) ^ 2) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1)) / (~b * ~f * (~m + 2)) + (1 / (~b * (~m + 2))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ ~m * Simp(~b * ((~d) ^ 2 * (~m + 1) + (~c) ^ 2 * (~m + 2)) - ~d * (~a * ~d - 2 * ~b * ~c * (~m + 2)) * sin(~e + ~f * ~x), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && Not(LtQ(~m, -1))))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (-((~b) ^ 2) * (~b * ~c - ~a * ~d) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ (~m - 2) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n + 1)) / (~d * ~f * (~n + 1) * (~b * ~c + ~a * ~d)) + ((~b) ^ 2 / (~d * (~n + 1) * (~b * ~c + ~a * ~d))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m - 2) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n + 1) * Simp((~a * ~c * (~m - 2) - ~b * ~d * ((~m - 2 * ~n) - 4)) - (~b * ~c * (~m - 1) - ~a * ~d * (~m + 2 * ~n + 1)) * sin(~e + ~f * ~x), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (GtQ(~m, 1) && (LtQ(~n, -1) && (IntegersQ(2 * ~m, 2 * ~n) || (IntegerQ(~m + 1 / 2) || IntegerQ(~m) && EqQ(~c, 0))))))))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (-((~b) ^ 2) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ (~m - 2) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n + 1)) / (~d * ~f * (~m + ~n)) + (1 / (~d * (~m + ~n))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m - 2) * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n * Simp((~a * ~b * ~c * (~m - 2) + (~b) ^ 2 * ~d * (~n + 1) + (~a) ^ 2 * ~d * (~m + ~n)) - ~b * (~b * ~c * (~m - 1) - ~a * ~d * ((3 * ~m + 2 * ~n) - 2)) * sin(~e + ~f * ~x), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (GtQ(~m, 1) && (Not(LtQ(~n, -1)) && (IntegersQ(2 * ~m, 2 * ~n) || (IntegerQ(~m + 1 / 2) || IntegerQ(~m) && EqQ(~c, 0))))))))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (~b * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n) / (~a * ~f * (2 * ~m + 1)) - (1 / (~a * ~b * (2 * ~m + 1))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n - 1) * Simp((~a * ~d * ~n - ~b * ~c * (~m + 1)) - ~b * ~d * (~m + ~n + 1) * sin(~e + ~f * ~x), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (LtQ(~m, -1) && (LtQ(0, ~n, 1) && (IntegersQ(2 * ~m, 2 * ~n) || IntegerQ(~m) && EqQ(~c, 0)))))))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => ((~b * ~c - ~a * ~d) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n - 1)) / (~a * ~f * (2 * ~m + 1)) + (1 / (~a * ~b * (2 * ~m + 1))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n - 2) * Simp(~b * ((~c) ^ 2 * (~m + 1) + (~d) ^ 2 * (~n - 1)) + ~a * ~c * ~d * ((~m - ~n) + 1) + ~d * (~a * ~d * ((~m - ~n) + 1) + ~b * ~c * (~m + ~n)) * sin(~e + ~f * ~x), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (LtQ(~m, -1) && (GtQ(~n, 1) && (IntegersQ(2 * ~m, 2 * ~n) || IntegerQ(~m) && EqQ(~c, 0)))))))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => ((~b) ^ 2 * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n + 1)) / (~a * ~f * (2 * ~m + 1) * (~b * ~c - ~a * ~d)) + (1 / (~a * (2 * ~m + 1) * (~b * ~c - ~a * ~d))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n * Simp((~b * ~c * (~m + 1) - ~a * ~d * (2 * ~m + ~n + 2)) + ~b * ~d * (~m + ~n + 2) * sin(~e + ~f * ~x), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (LtQ(~m, -1) && (Not(GtQ(~n, 0)) && (IntegersQ(2 * ~m, 2 * ~n) || IntegerQ(~m) && EqQ(~c, 0)))))))
    @apply_utils Antiderivative((~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n / (~a + ~(b') * sin(~(e') + ~(f') * ~x)), ~x) => (-((~b * ~c - ~a * ~d)) * cos(~e + ~f * ~x) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n - 1)) / (~a * ~f * (~a + ~b * sin(~e + ~f * ~x))) - (~d / (~a * ~b)) * Antiderivative((~c + ~d * sin(~e + ~f * ~x)) ^ (~n - 2) * Simp((~b * ~d * (~n - 1) - ~a * ~c * ~n) + (~b * ~c * (~n - 1) - ~a * ~d * ~n) * sin(~e + ~f * ~x), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (GtQ(~n, 1) && (IntegerQ(2 * ~n) || EqQ(~c, 0))))))
    @apply_utils Antiderivative((~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n / (~a + ~(b') * sin(~(e') + ~(f') * ~x)), ~x) => (-((~b) ^ 2) * cos(~e + ~f * ~x) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n + 1)) / (~a * ~f * (~b * ~c - ~a * ~d) * (~a + ~b * sin(~e + ~f * ~x))) + (~d / (~a * (~b * ~c - ~a * ~d))) * Antiderivative((~c + ~d * sin(~e + ~f * ~x)) ^ ~n * (~a * ~n - ~b * (~n + 1) * sin(~e + ~f * ~x)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (LtQ(~n, 0) && (IntegerQ(2 * ~n) || EqQ(~c, 0))))))
    @apply_utils Antiderivative((~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n / (~a + ~(b') * sin(~(e') + ~(f') * ~x)), ~x) => (-(~b) * cos(~e + ~f * ~x) * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n) / (~a * ~f * (~a + ~b * sin(~e + ~f * ~x))) + ((~d * ~n) / (~a * ~b)) * Antiderivative((~c + ~d * sin(~e + ~f * ~x)) ^ (~n - 1) * (~a - ~b * sin(~e + ~f * ~x)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (IntegerQ(2 * ~n) || EqQ(~c, 0)))))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (-2 * ~b * cos(~e + ~f * ~x) * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n) / (~f * (2 * ~n + 1) * sqrt(~a + ~b * sin(~e + ~f * ~x))) + ((2 * ~n * (~b * ~c + ~a * ~d)) / (~b * (2 * ~n + 1))) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n - 1), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (GtQ(~n, 0) && IntegerQ(2 * ~n)))))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) / (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ (3 / 2), ~x) => (-2 * (~b) ^ 2 * cos(~e + ~f * ~x)) / (~f * (~b * ~c + ~a * ~d) * sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(~c + ~d * sin(~e + ~f * ~x))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && NeQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => ((~b * ~c - ~a * ~d) * cos(~e + ~f * ~x) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n + 1)) / (~f * (~n + 1) * ((~c) ^ 2 - (~d) ^ 2) * sqrt(~a + ~b * sin(~e + ~f * ~x))) + (((2 * ~n + 3) * (~b * ~c - ~a * ~d)) / (2 * ~b * (~n + 1) * ((~c) ^ 2 - (~d) ^ 2))) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n + 1), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (LtQ(~n, -1) && (NeQ(2 * ~n + 3, 0) && IntegerQ(2 * ~n))))))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) / (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => ((-2 * ~b) / ~f) * Subst(Antiderivative(1 / ((~b * ~c + ~a * ~d) - ~d * (~x) ^ 2), ~x), ~x, (~b * cos(~e + ~f * ~x)) / sqrt(~a + ~b * sin(~e + ~f * ~x))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && NeQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) / sqrt(~(d') * sin(~(e') + ~(f') * ~x)), ~x) => (-2 / ~f) * Subst(Antiderivative(1 / sqrt(1 - (~x) ^ 2 / ~a), ~x), ~x, (~b * cos(~e + ~f * ~x)) / sqrt(~a + ~b * sin(~e + ~f * ~x))) <-- FreeQ([~a, ~b, ~d, ~e, ~f], ~x) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && EqQ(~d, ~a / ~b))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) / sqrt(~(c') + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => ((-2 * ~b) / ~f) * Subst(Antiderivative(1 / (~b + ~d * (~x) ^ 2), ~x), ~x, (~b * cos(~e + ~f * ~x)) / (sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(~c + ~d * sin(~e + ~f * ~x)))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && NeQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (((~a) ^ 2 * cos(~e + ~f * ~x)) / (~f * sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(~a - ~b * sin(~e + ~f * ~x)))) * Subst(Antiderivative((~c + ~d * ~x) ^ ~n / sqrt(~a - ~b * ~x), ~x), ~x, sin(~e + ~f * ~x)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && Not(IntegerQ(2 * ~n)))))
    @apply_utils Antiderivative(sqrt(~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) / sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)), ~x) => (~d / ~b) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) / sqrt(~c + ~d * sin(~e + ~f * ~x)), ~x) + ((~b * ~c - ~a * ~d) / ~b) * Antiderivative(1 / (sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(~c + ~d * sin(~e + ~f * ~x))), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && NeQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative((~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n / sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)), ~x) => (-2 * ~d * cos(~e + ~f * ~x) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n - 1)) / (~f * (2 * ~n - 1) * sqrt(~a + ~b * sin(~e + ~f * ~x))) - (1 / (~b * (2 * ~n - 1))) * Antiderivative(((~c + ~d * sin(~e + ~f * ~x)) ^ (~n - 2) / sqrt(~a + ~b * sin(~e + ~f * ~x))) * Simp((~a * ~c * ~d - ~b * (2 * (~d) ^ 2 * (~n - 1) + (~c) ^ 2 * (2 * ~n - 1))) + ~d * (~a * ~d - ~b * ~c * (4 * ~n - 3)) * sin(~e + ~f * ~x), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (GtQ(~n, 1) && IntegerQ(2 * ~n)))))
    @apply_utils Antiderivative((~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n / sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)), ~x) => (-(~d) * cos(~e + ~f * ~x) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n + 1)) / (~f * (~n + 1) * ((~c) ^ 2 - (~d) ^ 2) * sqrt(~a + ~b * sin(~e + ~f * ~x))) - (1 / (2 * ~b * (~n + 1) * ((~c) ^ 2 - (~d) ^ 2))) * Antiderivative(((~c + ~d * sin(~e + ~f * ~x)) ^ (~n + 1) * Simp((~a * ~d - 2 * ~b * ~c * (~n + 1)) + ~b * ~d * (2 * ~n + 3) * sin(~e + ~f * ~x), ~x)) / sqrt(~a + ~b * sin(~e + ~f * ~x)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (LtQ(~n, -1) && IntegerQ(2 * ~n)))))
    @apply_utils Antiderivative(1 / (sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (~b / (~b * ~c - ~a * ~d)) * Antiderivative(1 / sqrt(~a + ~b * sin(~e + ~f * ~x)), ~x) - (~d / (~b * ~c - ~a * ~d)) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) / (~c + ~d * sin(~e + ~f * ~x)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && NeQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative(1 / (sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * sqrt(~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (-(sqrt(2)) / (sqrt(~a) * ~f)) * Subst(Antiderivative(1 / sqrt(1 - (~x) ^ 2), ~x), ~x, (~b * cos(~e + ~f * ~x)) / (~a + ~b * sin(~e + ~f * ~x))) <-- FreeQ([~a, ~b, ~d, ~e, ~f], ~x) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (EqQ(~d, ~a / ~b) && GtQ(~a, 0)))
    @apply_utils Antiderivative(1 / (sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * sqrt(~(c') + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => ((-2 * ~a) / ~f) * Subst(Antiderivative(1 / (2 * (~b) ^ 2 - (~a * ~c - ~b * ~d) * (~x) ^ 2), ~x), ~x, (~b * cos(~e + ~f * ~x)) / (sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(~c + ~d * sin(~e + ~f * ~x)))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && NeQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (-(~d) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n - 1)) / (~f * (~m + ~n)) + (1 / (~b * (~m + ~n))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n - 2) * Simp(~d * (~a * ~c * ~m + ~b * ~d * (~n - 1)) + ~b * (~c) ^ 2 * (~m + ~n) + ~d * (~a * ~d * ~m + ~b * ~c * ((~m + 2 * ~n) - 1)) * sin(~e + ~f * ~x), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (GtQ(~n, 1) && IntegerQ(~n)))))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => (((~a) ^ ~m * cos(~e + ~f * ~x)) / (~f * sqrt(1 + sin(~e + ~f * ~x)) * sqrt(1 - sin(~e + ~f * ~x)))) * Subst(Antiderivative(((1 + (~b / ~a) * ~x) ^ (~m - 1 / 2) * (~c + ~d * ~x) ^ ~n) / sqrt(1 - (~b / ~a) * ~x), ~x), ~x, sin(~e + ~f * ~x)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && IntegerQ(~m))))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => ((-(~b) * (~d / ~b) ^ ~n * cos(~e + ~f * ~x)) / (~f * sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(~a - ~b * sin(~e + ~f * ~x)))) * Subst(Antiderivative(((~a - ~x) ^ ~n * (2 * ~a - ~x) ^ (~m - 1 / 2)) / sqrt(~x), ~x), ~x, ~a - ~b * sin(~e + ~f * ~x)) <-- FreeQ([~a, ~b, ~d, ~e, ~f, ~m, ~n], ~x) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (Not(IntegerQ(~m)) && (GtQ(~a, 0) && GtQ(~d / ~b, 0))))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(d') * sin(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => (((~d / ~b) ^ IntPart(~n) * (~d * sin(~e + ~f * ~x)) ^ FracPart(~n)) / (~b * sin(~e + ~f * ~x)) ^ FracPart(~n)) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~b * sin(~e + ~f * ~x)) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~d, ~e, ~f, ~m, ~n], ~x) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (Not(IntegerQ(~m)) && (GtQ(~a, 0) && Not(GtQ(~d / ~b, 0)))))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(d') * sin(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => (((~a) ^ IntPart(~m) * (~a + ~b * sin(~e + ~f * ~x)) ^ FracPart(~m)) / (1 + (~b / ~a) * sin(~e + ~f * ~x)) ^ FracPart(~m)) * Antiderivative((1 + (~b / ~a) * sin(~e + ~f * ~x)) ^ ~m * (~d * sin(~e + ~f * ~x)) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~d, ~e, ~f, ~m, ~n], ~x) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (Not(IntegerQ(~m)) && Not(GtQ(~a, 0))))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => (((~a) ^ 2 * cos(~e + ~f * ~x)) / (~f * sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(~a - ~b * sin(~e + ~f * ~x)))) * Subst(Antiderivative(((~a + ~b * ~x) ^ (~m - 1 / 2) * (~c + ~d * ~x) ^ ~n) / sqrt(~a - ~b * ~x), ~x), ~x, sin(~e + ~f * ~x)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && Not(IntegerQ(~m)))))
    @apply_utils Antiderivative((~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ 2, ~x) => ((2 * ~c * ~d) / ~b) * Antiderivative((~b * sin(~e + ~f * ~x)) ^ (~m + 1), ~x) + Antiderivative((~b * sin(~e + ~f * ~x)) ^ ~m * ((~c) ^ 2 + (~d) ^ 2 * sin(~e + ~f * ~x) ^ 2), ~x) <-- FreeQ([~b, ~c, ~d, ~e, ~f, ~m], ~x)
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ 2, ~x) => (-((((~b) ^ 2 * (~c) ^ 2 - 2 * ~a * ~b * ~c * ~d) + (~a) ^ 2 * (~d) ^ 2)) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1)) / (~b * ~f * (~m + 1) * ((~a) ^ 2 - (~b) ^ 2)) - (1 / (~b * (~m + 1) * ((~a) ^ 2 - (~b) ^ 2))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1) * Simp(~b * (~m + 1) * (2 * ~b * ~c * ~d - ~a * ((~c) ^ 2 + (~d) ^ 2)) + (((~a) ^ 2 * (~d) ^ 2 - 2 * ~a * ~b * ~c * ~d * (~m + 2)) + (~b) ^ 2 * ((~d) ^ 2 * (~m + 1) + (~c) ^ 2 * (~m + 2))) * sin(~e + ~f * ~x), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && LtQ(~m, -1)))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ 2, ~x) => (-((~d) ^ 2) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1)) / (~b * ~f * (~m + 2)) + (1 / (~b * (~m + 2))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ ~m * Simp(~b * ((~d) ^ 2 * (~m + 1) + (~c) ^ 2 * (~m + 2)) - ~d * (~a * ~d - 2 * ~b * ~c * (~m + 2)) * sin(~e + ~f * ~x), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && Not(LtQ(~m, -1))))
    #= Antiderivative(((~a)+(~b')*sin((~e')+(~f')*(~x)))^(~m')*((~d')*sin((~e')+(~f')*(~x)))^(~n'),(~x)*Symbol) := Antiderivative(ExpandTrig((a+b*sin(e+f*x))^m*(d*sin(e+f*x))^n,x),x)  <-- FreeQ([a,b,d,e,f,n],x) && NeQ(a^2-b^2,0) && IGtQ(m,0) =#
    @apply_utils Antiderivative((~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (-((((~b) ^ 2 * (~c) ^ 2 - 2 * ~a * ~b * ~c * ~d) + (~a) ^ 2 * (~d) ^ 2)) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ (~m - 2) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n + 1)) / (~d * ~f * (~n + 1) * ((~c) ^ 2 - (~d) ^ 2)) + (1 / (~d * (~n + 1) * ((~c) ^ 2 - (~d) ^ 2))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m - 3) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n + 1) * Simp(~b * (~m - 2) * (~b * ~c - ~a * ~d) ^ 2 + ~a * ~d * (~n + 1) * (~c * ((~a) ^ 2 + (~b) ^ 2) - 2 * ~a * ~b * ~d) + (~b * (~n + 1) * ((~a * ~b * (~c) ^ 2 + ~c * ~d * ((~a) ^ 2 + (~b) ^ 2)) - 3 * ~a * ~b * (~d) ^ 2) - ~a * (~n + 2) * (~b * ~c - ~a * ~d) ^ 2) * sin(~e + ~f * ~x) + ~b * (((~b) ^ 2 * ((~c) ^ 2 - (~d) ^ 2) - ~m * (~b * ~c - ~a * ~d) ^ 2) + ~d * ~n * (2 * ~a * ~b * ~c - ~d * ((~a) ^ 2 + (~b) ^ 2))) * sin(~e + ~f * ~x) ^ 2, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (GtQ(~m, 2) && (LtQ(~n, -1) && (IntegerQ(~m) || IntegersQ(2 * ~m, 2 * ~n)))))))
    @apply_utils Antiderivative((~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (-((~b) ^ 2) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ (~m - 2) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n + 1)) / (~d * ~f * (~m + ~n)) + (1 / (~d * (~m + ~n))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m - 3) * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n * Simp((((~a) ^ 3 * ~d * (~m + ~n) + (~b) ^ 2 * (~b * ~c * (~m - 2) + ~a * ~d * (~n + 1))) - ~b * ((~a * ~b * ~c - (~b) ^ 2 * ~d * ((~m + ~n) - 1)) - 3 * (~a) ^ 2 * ~d * (~m + ~n)) * sin(~e + ~f * ~x)) - (~b) ^ 2 * (~b * ~c * (~m - 1) - ~a * ~d * ((3 * ~m + 2 * ~n) - 2)) * sin(~e + ~f * ~x) ^ 2, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (GtQ(~m, 2) && ((IntegerQ(~m) || IntegersQ(2 * ~m, 2 * ~n)) && Not(IGtQ(~n, 2) && (Not(IntegerQ(~m)) || EqQ(~a, 0) && NeQ(~c, 0))))))))
    @apply_utils Antiderivative(sqrt(~(d') * sin(~(e') + ~(f') * ~x)) / (~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ (3 / 2), ~x) => (-2 * ~a * ~d * cos(~e + ~f * ~x)) / (~f * ((~a) ^ 2 - (~b) ^ 2) * sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(~d * sin(~e + ~f * ~x))) - ((~d) ^ 2 / ((~a) ^ 2 - (~b) ^ 2)) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) / (~d * sin(~e + ~f * ~x)) ^ (3 / 2), ~x) <-- FreeQ([~a, ~b, ~d, ~e, ~f], ~x) && NeQ((~a) ^ 2 - (~b) ^ 2, 0)
    @apply_utils Antiderivative(sqrt(~c + ~(d') * sin(~(e') + ~(f') * ~x)) / (~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) ^ (3 / 2), ~x) => ((~c - ~d) / (~a - ~b)) * Antiderivative(1 / (sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(~c + ~d * sin(~e + ~f * ~x))), ~x) - ((~b * ~c - ~a * ~d) / (~a - ~b)) * Antiderivative((1 + sin(~e + ~f * ~x)) / ((~a + ~b * sin(~e + ~f * ~x)) ^ (3 / 2) * sqrt(~c + ~d * sin(~e + ~f * ~x))), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && NeQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative((~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (-(~b) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n) / (~f * (~m + 1) * ((~a) ^ 2 - (~b) ^ 2)) + (1 / ((~m + 1) * ((~a) ^ 2 - (~b) ^ 2))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n - 1) * Simp((~a * ~c * (~m + 1) + ~b * ~d * ~n + (~a * ~d * (~m + 1) - ~b * ~c * (~m + 2)) * sin(~e + ~f * ~x)) - ~b * ~d * (~m + ~n + 2) * sin(~e + ~f * ~x) ^ 2, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (LtQ(~m, -1) && (LtQ(0, ~n, 1) && IntegersQ(2 * ~m, 2 * ~n))))))
    @apply_utils Antiderivative((~(d') * sin(~(e') + ~(f') * ~x)) ^ (3 / 2) / (~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ (3 / 2), ~x) => (~d / ~b) * Antiderivative(sqrt(~d * sin(~e + ~f * ~x)) / sqrt(~a + ~b * sin(~e + ~f * ~x)), ~x) - ((~a * ~d) / ~b) * Antiderivative(sqrt(~d * sin(~e + ~f * ~x)) / (~a + ~b * sin(~e + ~f * ~x)) ^ (3 / 2), ~x) <-- FreeQ([~a, ~b, ~d, ~e, ~f], ~x) && NeQ((~a) ^ 2 - (~b) ^ 2, 0)
    @apply_utils Antiderivative((~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ (3 / 2) / (~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) ^ (3 / 2), ~x) => ((~d) ^ 2 / (~b) ^ 2) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) / sqrt(~c + ~d * sin(~e + ~f * ~x)), ~x) + ((~b * ~c - ~a * ~d) / (~b) ^ 2) * Antiderivative(Simp(~b * ~c + ~a * ~d + 2 * ~b * ~d * sin(~e + ~f * ~x), ~x) / ((~a + ~b * sin(~e + ~f * ~x)) ^ (3 / 2) * sqrt(~c + ~d * sin(~e + ~f * ~x))), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && NeQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative((~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (-((~b * ~c - ~a * ~d)) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n - 1)) / (~f * (~m + 1) * ((~a) ^ 2 - (~b) ^ 2)) + (1 / ((~m + 1) * ((~a) ^ 2 - (~b) ^ 2))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n - 2) * Simp((~c * (~a * ~c - ~b * ~d) * (~m + 1) + ~d * (~b * ~c - ~a * ~d) * (~n - 1) + (~d * (~a * ~c - ~b * ~d) * (~m + 1) - ~c * (~b * ~c - ~a * ~d) * (~m + 2)) * sin(~e + ~f * ~x)) - ~d * (~b * ~c - ~a * ~d) * (~m + ~n + 1) * sin(~e + ~f * ~x) ^ 2, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (LtQ(~m, -1) && (LtQ(1, ~n, 2) && IntegersQ(2 * ~m, 2 * ~n))))))
    @apply_utils Antiderivative(1 / ((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ (3 / 2) * sqrt(~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (2 * ~b * cos(~e + ~f * ~x)) / (~f * ((~a) ^ 2 - (~b) ^ 2) * sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(~d * sin(~e + ~f * ~x))) + (~d / ((~a) ^ 2 - (~b) ^ 2)) * Antiderivative((~b + ~a * sin(~e + ~f * ~x)) / (sqrt(~a + ~b * sin(~e + ~f * ~x)) * (~d * sin(~e + ~f * ~x)) ^ (3 / 2)), ~x) <-- FreeQ([~a, ~b, ~d, ~e, ~f], ~x) && NeQ((~a) ^ 2 - (~b) ^ 2, 0)
    @apply_utils Antiderivative(1 / ((~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) ^ (3 / 2) * sqrt(~(c') + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (1 / (~a - ~b)) * Antiderivative(1 / (sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(~c + ~d * sin(~e + ~f * ~x))), ~x) - (~b / (~a - ~b)) * Antiderivative((1 + sin(~e + ~f * ~x)) / ((~a + ~b * sin(~e + ~f * ~x)) ^ (3 / 2) * sqrt(~c + ~d * sin(~e + ~f * ~x))), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && NeQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative((~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (-((~b) ^ 2) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n + 1)) / (~f * (~m + 1) * (~b * ~c - ~a * ~d) * ((~a) ^ 2 - (~b) ^ 2)) + (1 / ((~m + 1) * (~b * ~c - ~a * ~d) * ((~a) ^ 2 - (~b) ^ 2))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m + 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n * Simp(((~a * (~b * ~c - ~a * ~d) * (~m + 1) + (~b) ^ 2 * ~d * (~m + ~n + 2)) - ((~b) ^ 2 * ~c + ~b * (~b * ~c - ~a * ~d) * (~m + 1)) * sin(~e + ~f * ~x)) - (~b) ^ 2 * ~d * (~m + ~n + 3) * sin(~e + ~f * ~x) ^ 2, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (LtQ(~m, -1) && (IntegersQ(2 * ~m, 2 * ~n) && (EqQ(~a, 0) && (IntegerQ(~m) && Not(IntegerQ(~n))) || Not(IntegerQ(2 * ~n) && (LtQ(~n, -1) && (IntegerQ(~n) && Not(IntegerQ(~m)) || EqQ(~a, 0))))))))))
    @apply_utils Antiderivative(sqrt(~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) / (~(a') + ~(b') * sin(~(e') + ~(f') * ~x)), ~x) => (~d / ~b) * Antiderivative(1 / sqrt(~c + ~d * sin(~e + ~f * ~x)), ~x) + ((~b * ~c - ~a * ~d) / ~b) * Antiderivative(1 / ((~a + ~b * sin(~e + ~f * ~x)) * sqrt(~c + ~d * sin(~e + ~f * ~x))), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && NeQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative((~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) ^ (3 / 2) / (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => (~b / ~d) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)), ~x) - ((~b * ~c - ~a * ~d) / ~d) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) / (~c + ~d * sin(~e + ~f * ~x)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && NeQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative(1 / ((~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) * sqrt(~(c') + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (2 / (~f * (~a + ~b) * sqrt(~c + ~d))) * Elliptic.Pi((2 * ~b) / (~a + ~b), (1 / 2) * ((~e - pi / 2) + ~f * ~x), (2 * ~d) / (~c + ~d)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && GtQ(~c + ~d, 0))))
    @apply_utils Antiderivative(1 / ((~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) * sqrt(~(c') + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (2 / (~f * (~a - ~b) * sqrt(~c - ~d))) * Elliptic.Pi((-2 * ~b) / (~a - ~b), (1 / 2) * (~e + pi / 2 + ~f * ~x), (-2 * ~d) / (~c - ~d)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && GtQ(~c - ~d, 0))))
    @apply_utils Antiderivative(1 / ((~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) * sqrt(~(c') + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (sqrt((~c + ~d * sin(~e + ~f * ~x)) / (~c + ~d)) / sqrt(~c + ~d * sin(~e + ~f * ~x))) * Antiderivative(1 / ((~a + ~b * sin(~e + ~f * ~x)) * sqrt(~c / (~c + ~d) + (~d / (~c + ~d)) * sin(~e + ~f * ~x))), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && Not(GtQ(~c + ~d, 0)))))
    @apply_utils Antiderivative(sqrt(~(b') * sin(~(e') + ~(f') * ~x)) / sqrt(~c + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => ((2 * ~c * Rt(~b * (~c + ~d), 2) * tan(~e + ~f * ~x) * sqrt(1 + csc(~e + ~f * ~x)) * sqrt(1 - csc(~e + ~f * ~x))) / (~d * ~f * sqrt((~c) ^ 2 - (~d) ^ 2))) * Elliptic.Pi((~c + ~d) / ~d, asin((sqrt(~c + ~d * sin(~e + ~f * ~x)) / sqrt(~b * sin(~e + ~f * ~x))) / Rt((~c + ~d) / ~b, 2)), -((~c + ~d)) / (~c - ~d)) <-- FreeQ([~b, ~c, ~d, ~e, ~f], ~x) && (GtQ((~c) ^ 2 - (~d) ^ 2, 0) && (PosQ((~c + ~d) / ~b) && GtQ((~c) ^ 2, 0)))
    @apply_utils Antiderivative(sqrt(~(b') * sin(~(e') + ~(f') * ~x)) / sqrt(~c + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => ((2 * ~b * tan(~e + ~f * ~x)) / (~d * ~f)) * Rt((~c + ~d) / ~b, 2) * sqrt((~c * (1 + csc(~e + ~f * ~x))) / (~c - ~d)) * sqrt((~c * (1 - csc(~e + ~f * ~x))) / (~c + ~d)) * Elliptic.Pi((~c + ~d) / ~d, asin((sqrt(~c + ~d * sin(~e + ~f * ~x)) / sqrt(~b * sin(~e + ~f * ~x))) / Rt((~c + ~d) / ~b, 2)), -((~c + ~d)) / (~c - ~d)) <-- FreeQ([~b, ~c, ~d, ~e, ~f], ~x) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && PosQ((~c + ~d) / ~b))
    @apply_utils Antiderivative(sqrt(~(b') * sin(~(e') + ~(f') * ~x)) / sqrt(~c + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => (sqrt(~b * sin(~e + ~f * ~x)) / sqrt(-(~b) * sin(~e + ~f * ~x))) * Antiderivative(sqrt(-(~b) * sin(~e + ~f * ~x)) / sqrt(~c + ~d * sin(~e + ~f * ~x)), ~x) <-- FreeQ([~b, ~c, ~d, ~e, ~f], ~x) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && NegQ((~c + ~d) / ~b))
    #= Antiderivative(sqrt((~a)+(~b')*sin((~e')+(~f')*(~x)))/sqrt((~d')*sin((~e')+(~f')*(~x))),(~x)*Symbol) := a*Antiderivative(1/(sqrt(a+b*sin(e+f*x))*sqrt(d*sin(e+f*x))),x) + b/d*Antiderivative(sqrt(d*sin(e+f*x))/sqrt(a+b*sin(e+f*x)),x) <--  FreeQ([a,b,d,e,f],x) && NeQ(a^2-b^2,0) =#
    #= Antiderivative(sqrt((~a)+(~b')*sin((~e')+(~f')*(~x)))/sqrt((~d')*sin((~e')+(~f')*(~x))),(~x)*Symbol) :=  2*(a+b*sin(e+f*x))/(d*f*Rt((a+b)/d,2)*cos(e+f*x))*sqrt(a*(1-sin(e+f*x) )/(a+b*sin(e+f*x)))*sqrt(a*(1+sin(e+f*x))/(a+b*sin(e+f*x)))* Elliptic.Pi(b/(a+b),asin(Rt((a+b)/d,2)*(sqrt(d*sin(e+f*x))/sqrt( a+b*sin(e+f*x)))),-(a-b)/(a+b)) <-- FreeQ([a,b,d,e,f],x) &&  NeQ(a^2-b^2,0) && PosQ((a+b)/d) =#
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) / sqrt(~(c') + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => ((2 * (~a + ~b * sin(~e + ~f * ~x))) / (~d * ~f * Rt((~a + ~b) / (~c + ~d), 2) * cos(~e + ~f * ~x))) * sqrt(((~b * ~c - ~a * ~d) * (1 + sin(~e + ~f * ~x))) / ((~c - ~d) * (~a + ~b * sin(~e + ~f * ~x)))) * sqrt((-((~b * ~c - ~a * ~d)) * (1 - sin(~e + ~f * ~x))) / ((~c + ~d) * (~a + ~b * sin(~e + ~f * ~x)))) * Elliptic.Pi((~b * (~c + ~d)) / (~d * (~a + ~b)), asin((Rt((~a + ~b) / (~c + ~d), 2) * sqrt(~c + ~d * sin(~e + ~f * ~x))) / sqrt(~a + ~b * sin(~e + ~f * ~x))), ((~a - ~b) * (~c + ~d)) / ((~a + ~b) * (~c - ~d))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && PosQ((~a + ~b) / (~c + ~d)))))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) / sqrt(~(c') + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => (sqrt(-(~c) - ~d * sin(~e + ~f * ~x)) / sqrt(~c + ~d * sin(~e + ~f * ~x))) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) / sqrt(-(~c) - ~d * sin(~e + ~f * ~x)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && NegQ((~a + ~b) / (~c + ~d)))))
    @apply_utils Antiderivative(1 / (sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * sqrt(~(d') * sin(~(e') + ~(f') * ~x))), ~x) => ((-2 * ~d) / (~f * sqrt(~a + ~b * ~d))) * Elliptic.F(asin(cos(~e + ~f * ~x) / (1 + ~d * sin(~e + ~f * ~x))), -((~a - ~b * ~d)) / (~a + ~b * ~d)) <-- FreeQ([~a, ~b, ~d, ~e, ~f], ~x) && (LtQ((~a) ^ 2 - (~b) ^ 2, 0) && (EqQ((~d) ^ 2, 1) && GtQ(~b * ~d, 0)))
    @apply_utils Antiderivative(1 / (sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * sqrt(~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (sqrt(Sign(~b) * sin(~e + ~f * ~x)) / sqrt(~d * sin(~e + ~f * ~x))) * Antiderivative(1 / (sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(Sign(~b) * sin(~e + ~f * ~x))), ~x) <-- FreeQ([~a, ~b, ~d, ~e, ~f], ~x) && (LtQ((~a) ^ 2 - (~b) ^ 2, 0) && (GtQ((~b) ^ 2, 0) && Not(EqQ((~d) ^ 2, 1) && GtQ(~b * ~d, 0))))
    @apply_utils Antiderivative(1 / (sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * sqrt(~(d') * sin(~(e') + ~(f') * ~x))), ~x) => ((-2 * sqrt((~a) ^ 2) * sqrt(-(cot(~e + ~f * ~x) ^ 2))) / (~a * ~f * sqrt((~a) ^ 2 - (~b) ^ 2) * cot(~e + ~f * ~x))) * Rt((~a + ~b) / ~d, 2) * Elliptic.F(asin((sqrt(~a + ~b * sin(~e + ~f * ~x)) / sqrt(~d * sin(~e + ~f * ~x))) / Rt((~a + ~b) / ~d, 2)), -((~a + ~b)) / (~a - ~b)) <-- FreeQ([~a, ~b, ~d, ~e, ~f], ~x) && (GtQ((~a) ^ 2 - (~b) ^ 2, 0) && (PosQ((~a + ~b) / ~d) && GtQ((~a) ^ 2, 0)))
    @apply_utils Antiderivative(1 / (sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * sqrt(~(d') * sin(~(e') + ~(f') * ~x))), ~x) => ((-2 * tan(~e + ~f * ~x)) / (~a * ~f)) * Rt((~a + ~b) / ~d, 2) * sqrt((~a * (1 - csc(~e + ~f * ~x))) / (~a + ~b)) * sqrt((~a * (1 + csc(~e + ~f * ~x))) / (~a - ~b)) * Elliptic.F(asin((sqrt(~a + ~b * sin(~e + ~f * ~x)) / sqrt(~d * sin(~e + ~f * ~x))) / Rt((~a + ~b) / ~d, 2)), -((~a + ~b)) / (~a - ~b)) <-- FreeQ([~a, ~b, ~d, ~e, ~f], ~x) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && PosQ((~a + ~b) / ~d))
    @apply_utils Antiderivative(1 / (sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * sqrt(~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (sqrt(-(~d) * sin(~e + ~f * ~x)) / sqrt(~d * sin(~e + ~f * ~x))) * Antiderivative(1 / (sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(-(~d) * sin(~e + ~f * ~x))), ~x) <-- FreeQ([~a, ~b, ~d, ~e, ~f], ~x) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && NegQ((~a + ~b) / ~d))
    @apply_utils Antiderivative(1 / (sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * sqrt(~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => ((2 * (~c + ~d * sin(~e + ~f * ~x))) / (~f * (~b * ~c - ~a * ~d) * Rt((~c + ~d) / (~a + ~b), 2) * cos(~e + ~f * ~x))) * sqrt(((~b * ~c - ~a * ~d) * (1 - sin(~e + ~f * ~x))) / ((~a + ~b) * (~c + ~d * sin(~e + ~f * ~x)))) * sqrt((-((~b * ~c - ~a * ~d)) * (1 + sin(~e + ~f * ~x))) / ((~a - ~b) * (~c + ~d * sin(~e + ~f * ~x)))) * Elliptic.F(asin(Rt((~c + ~d) / (~a + ~b), 2) * (sqrt(~a + ~b * sin(~e + ~f * ~x)) / sqrt(~c + ~d * sin(~e + ~f * ~x)))), ((~a + ~b) * (~c - ~d)) / ((~a - ~b) * (~c + ~d))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && PosQ((~c + ~d) / (~a + ~b)))))
    @apply_utils Antiderivative(1 / (sqrt(~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) * sqrt(~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (sqrt(-(~a) - ~b * sin(~e + ~f * ~x)) / sqrt(~a + ~b * sin(~e + ~f * ~x))) * Antiderivative(1 / (sqrt(-(~a) - ~b * sin(~e + ~f * ~x)) * sqrt(~c + ~d * sin(~e + ~f * ~x))), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && NegQ((~c + ~d) / (~a + ~b)))))
    @apply_utils Antiderivative((~(d') * sin(~(e') + ~(f') * ~x)) ^ (3 / 2) / sqrt(~(a') + ~(b') * sin(~(e') + ~(f') * ~x)), ~x) => ((-(~a) * ~d) / (2 * ~b)) * Antiderivative(sqrt(~d * sin(~e + ~f * ~x)) / sqrt(~a + ~b * sin(~e + ~f * ~x)), ~x) + (~d / (2 * ~b)) * Antiderivative((sqrt(~d * sin(~e + ~f * ~x)) * (~a + 2 * ~b * sin(~e + ~f * ~x))) / sqrt(~a + ~b * sin(~e + ~f * ~x)), ~x) <-- FreeQ([~a, ~b, ~d, ~e, ~f], ~x) && NeQ((~a) ^ 2 - (~b) ^ 2, 0)
    @apply_utils Antiderivative((~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (-(~b) * cos(~e + ~f * ~x) * (~a + ~b * sin(~e + ~f * ~x)) ^ (~m - 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n) / (~f * (~m + ~n)) + (1 / (~d * (~m + ~n))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m - 2) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n - 1) * Simp((~a) ^ 2 * ~c * ~d * (~m + ~n) + ~b * ~d * (~b * ~c * (~m - 1) + ~a * ~d * ~n) + (~a * ~d * (2 * ~b * ~c + ~a * ~d) * (~m + ~n) - ~b * ~d * (~a * ~c - ~b * ~d * ((~m + ~n) - 1))) * sin(~e + ~f * ~x) + ~b * ~d * (~b * ~c * ~n + ~a * ~d * ((2 * ~m + ~n) - 1)) * sin(~e + ~f * ~x) ^ 2, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && (LtQ(0, ~m, 2) && (LtQ(-1, ~n, 2) && (NeQ(~m + ~n, 0) && (IntegerQ(~m) || IntegersQ(2 * ~m, 2 * ~n))))))))
    @apply_utils Antiderivative((~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (~b / ~d) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m - 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ (~n + 1), ~x) - ((~b * ~c - ~a * ~d) / ~d) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ (~m - 1) * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && IGtQ(~m, 0))
    @apply_utils Antiderivative((~(d') * sin(~(e') + ~(f') * ~x)) ^ ~(n') / (~a + ~(b') * sin(~(e') + ~(f') * ~x)), ~x) => ~a * Antiderivative((~d * sin(~e + ~f * ~x)) ^ ~n / ((~a) ^ 2 - (~b) ^ 2 * sin(~e + ~f * ~x) ^ 2), ~x) - (~b / ~d) * Antiderivative((~d * sin(~e + ~f * ~x)) ^ (~n + 1) / ((~a) ^ 2 - (~b) ^ 2 * sin(~e + ~f * ~x) ^ 2), ~x) <-- FreeQ([~a, ~b, ~d, ~e, ~f, ~n], ~x) && NeQ((~a) ^ 2 - (~b) ^ 2, 0)
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~(m') * (~(d') * sin(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => Antiderivative(ExpandTrig(((~d * sin(~e + ~f * ~x)) ^ ~n * (~a - ~b * sin(~e + ~f * ~x)) ^ -(~m)) / ((~a) ^ 2 - (~b) ^ 2 * sin(~e + ~f * ~x) ^ 2) ^ -(~m), ~x), ~x) <-- FreeQ([~a, ~b, ~d, ~e, ~f, ~n], ~x) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && ILtQ(~m, -1))
    @apply_utils Antiderivative((~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~(c') + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => Unintegrable((~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && NeQ((~c) ^ 2 - (~d) ^ 2, 0)))
    #= Antiderivative(((~a')+(~b')*sin((~e')+(~f')*(~x)))^(~m')*((~d')/sin((~e')+(~f')*(~x)))^(~n),(~x)*Symbol) := d^m*Antiderivative((d*csc(e+f*x))^(n-m)*(b+a*csc(e+f*x))^m,x) <--  FreeQ([a,b,d,e,f,n],x) && Not(IntegerQ(n)) && IntegerQ(m) =#
    #= Antiderivative(((~a')+(~b')*cos((~e')+(~f')*(~x)))^(~m')*((~d')/cos((~e')+(~f')*(~x)))^(~n),(~x)*Symbol) := d^m*Antiderivative((d*sec(e+f*x))^(n-m)*(b+a*sec(e+f*x))^m,x) <--  FreeQ([a,b,d,e,f,n],x) && Not(IntegerQ(n)) && IntegerQ(m) =#
    @apply_utils Antiderivative((~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~(m') * (~(c') * (~(d') * sin(~(e') + ~(f') * ~x)) ^ ~p) ^ ~n, ~x) => (((~c) ^ IntPart(~n) * (~c * (~d * sin(~e + ~f * ~x)) ^ ~p) ^ FracPart(~n)) / (~d * sin(~e + ~f * ~x)) ^ (~p * FracPart(~n))) * Antiderivative((~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~d * sin(~e + ~f * ~x)) ^ (~n * ~p), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n, ~p], ~x) && Not(IntegerQ(~n))
    @apply_utils Antiderivative((~(a') + ~(b') * cos(~(e') + ~(f') * ~x)) ^ ~(m') * (~(c') * (~(d') * cos(~(e') + ~(f') * ~x)) ^ ~p) ^ ~n, ~x) => (((~c) ^ IntPart(~n) * (~c * (~d * cos(~e + ~f * ~x)) ^ ~p) ^ FracPart(~n)) / (~d * cos(~e + ~f * ~x)) ^ (~p * FracPart(~n))) * Antiderivative((~a + ~b * cos(~e + ~f * ~x)) ^ ~m * (~d * cos(~e + ~f * ~x)) ^ (~n * ~p), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n, ~p], ~x) && Not(IntegerQ(~n))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~(m') * (~c + ~(d') * csc(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => Antiderivative(((~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~d + ~c * sin(~e + ~f * ~x)) ^ ~n) / sin(~e + ~f * ~x) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m], ~x) && IntegerQ(~n)
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~(m') * (~c + ~(d') * csc(~(e') + ~(f') * ~x)) ^ ~n, ~x) => Antiderivative(((~b + ~a * csc(~e + ~f * ~x)) ^ ~m * (~c + ~d * csc(~e + ~f * ~x)) ^ ~n) / csc(~e + ~f * ~x) ^ ~m, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n], ~x) && (Not(IntegerQ(~n)) && IntegerQ(~m))
    @apply_utils Antiderivative((~a + ~(b') * cos(~(e') + ~(f') * ~x)) ^ ~(m') * (~c + ~(d') * sec(~(e') + ~(f') * ~x)) ^ ~n, ~x) => Antiderivative(((~b + ~a * sec(~e + ~f * ~x)) ^ ~m * (~c + ~d * sec(~e + ~f * ~x)) ^ ~n) / sec(~e + ~f * ~x) ^ ~m, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n], ~x) && (Not(IntegerQ(~n)) && IntegerQ(~m))
    @apply_utils Antiderivative((~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * csc(~(e') + ~(f') * ~x)) ^ ~n, ~x) => ((sin(~e + ~f * ~x) ^ ~n * (~c + ~d * csc(~e + ~f * ~x)) ^ ~n) / (~d + ~c * sin(~e + ~f * ~x)) ^ ~n) * Antiderivative(((~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~d + ~c * sin(~e + ~f * ~x)) ^ ~n) / sin(~e + ~f * ~x) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n], ~x) && (Not(IntegerQ(~n)) && Not(IntegerQ(~m)))
    @apply_utils Antiderivative((~a + ~(b') * cos(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * sec(~(e') + ~(f') * ~x)) ^ ~n, ~x) => ((cos(~e + ~f * ~x) ^ ~n * (~c + ~d * sec(~e + ~f * ~x)) ^ ~n) / (~d + ~c * cos(~e + ~f * ~x)) ^ ~n) * Antiderivative(((~a + ~b * cos(~e + ~f * ~x)) ^ ~m * (~d + ~c * cos(~e + ~f * ~x)) ^ ~n) / cos(~e + ~f * ~x) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n], ~x) && (Not(IntegerQ(~n)) && Not(IntegerQ(~m)))
end
