int_rules_4_1_2_3 = @theory begin

    #= ::Subsection::Closed:: =#
    #= 4.1.2.3*(g*sin)^p*(a+b*sin)^m*(c+d*sin)^n =#
    @apply_utils Antiderivative((sqrt(~(g') * sin(~(e') + ~(f') * ~x)) * sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x))) / (~c + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => (~g / ~d) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) / sqrt(~g * sin(~e + ~f * ~x)), ~x) - ((~c * ~g) / ~d) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) / (sqrt(~g * sin(~e + ~f * ~x)) * (~c + ~d * sin(~e + ~f * ~x))), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) || EqQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative((sqrt(~(g') * sin(~(e') + ~(f') * ~x)) * sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x))) / (~c + ~(d') * sin(~(e') + ~(f') * ~x)), ~x) => (~b / ~d) * Antiderivative(sqrt(~g * sin(~e + ~f * ~x)) / sqrt(~a + ~b * sin(~e + ~f * ~x)), ~x) - ((~b * ~c - ~a * ~d) / ~d) * Antiderivative(sqrt(~g * sin(~e + ~f * ~x)) / (sqrt(~a + ~b * sin(~e + ~f * ~x)) * (~c + ~d * sin(~e + ~f * ~x))), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && NeQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) / (sqrt(~(g') * sin(~(e') + ~(f') * ~x)) * (~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => ((-2 * ~b) / ~f) * Subst(Antiderivative(1 / (~b * ~c + ~a * ~d + ~c * ~g * (~x) ^ 2), ~x), ~x, (~b * cos(~e + ~f * ~x)) / (sqrt(~g * sin(~e + ~f * ~x)) * sqrt(~a + ~b * sin(~e + ~f * ~x)))) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && EqQ((~a) ^ 2 - (~b) ^ 2, 0))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) / (sqrt(sin(~(e') + ~(f') * ~x)) * (~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (-(sqrt(~a + ~b)) / (~c * ~f)) * Elliptic.E(asin(cos(~e + ~f * ~x) / (1 + sin(~e + ~f * ~x))), -((~a - ~b)) / (~a + ~b)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (EqQ(~d, ~c) && (GtQ((~b) ^ 2 - (~a) ^ 2, 0) && GtQ(~b, 0)))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) / (sqrt(~(g') * sin(~(e') + ~(f') * ~x)) * (~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => ((-(sqrt(~a + ~b * sin(~e + ~f * ~x))) * sqrt((~d * sin(~e + ~f * ~x)) / (~c + ~d * sin(~e + ~f * ~x)))) / (~d * ~f * sqrt(~g * sin(~e + ~f * ~x)) * sqrt(((~c) ^ 2 * (~a + ~b * sin(~e + ~f * ~x))) / ((~a * ~c + ~b * ~d) * (~c + ~d * sin(~e + ~f * ~x)))))) * Elliptic.E(asin((~c * cos(~e + ~f * ~x)) / (~c + ~d * sin(~e + ~f * ~x))), (~b * ~c - ~a * ~d) / (~b * ~c + ~a * ~d)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && EqQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) / (sqrt(~(g') * sin(~(e') + ~(f') * ~x)) * (~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (~a / ~c) * Antiderivative(1 / (sqrt(~g * sin(~e + ~f * ~x)) * sqrt(~a + ~b * sin(~e + ~f * ~x))), ~x) + ((~b * ~c - ~a * ~d) / (~c * ~g)) * Antiderivative(sqrt(~g * sin(~e + ~f * ~x)) / (sqrt(~a + ~b * sin(~e + ~f * ~x)) * (~c + ~d * sin(~e + ~f * ~x))), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && NeQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) / (sin(~(e') + ~(f') * ~x) * (~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (1 / ~c) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) / sin(~e + ~f * ~x), ~x) - (~d / ~c) * 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))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) / (sin(~(e') + ~(f') * ~x) * (~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (~a / ~c) * Antiderivative(1 / (sin(~e + ~f * ~x) * sqrt(~a + ~b * sin(~e + ~f * ~x))), ~x) + ((~b * ~c - ~a * ~d) / ~c) * Antiderivative(1 / (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))
    @apply_utils Antiderivative(sqrt(~(g') * sin(~(e') + ~(f') * ~x)) / (sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * (~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => ((-(~a) * ~g) / (~b * ~c - ~a * ~d)) * Antiderivative(1 / (sqrt(~g * sin(~e + ~f * ~x)) * sqrt(~a + ~b * sin(~e + ~f * ~x))), ~x) + ((~c * ~g) / (~b * ~c - ~a * ~d)) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) / (sqrt(~g * sin(~e + ~f * ~x)) * (~c + ~d * sin(~e + ~f * ~x))), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) || EqQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative(sqrt(~(g') * sin(~(e') + ~(f') * ~x)) / (sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * (~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => ((2 * sqrt(-(cot(~e + ~f * ~x) ^ 2)) * sqrt(~g * sin(~e + ~f * ~x))) / (~f * (~c + ~d) * cot(~e + ~f * ~x) * sqrt(~a + ~b * sin(~e + ~f * ~x)))) * sqrt((~b + ~a * csc(~e + ~f * ~x)) / (~a + ~b)) * Elliptic.Pi((2 * ~c) / (~c + ~d), asin(sqrt(1 - csc(~e + ~f * ~x)) / sqrt(2)), (2 * ~a) / (~a + ~b)) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && NeQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative(1 / (sqrt(~(g') * sin(~(e') + ~(f') * ~x)) * sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * (~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (~b / (~b * ~c - ~a * ~d)) * Antiderivative(1 / (sqrt(~g * sin(~e + ~f * ~x)) * sqrt(~a + ~b * sin(~e + ~f * ~x))), ~x) - (~d / (~b * ~c - ~a * ~d)) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) / (sqrt(~g * sin(~e + ~f * ~x)) * (~c + ~d * sin(~e + ~f * ~x))), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) || EqQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative(1 / (sqrt(~(g') * sin(~(e') + ~(f') * ~x)) * sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * (~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (1 / ~c) * Antiderivative(1 / (sqrt(~g * sin(~e + ~f * ~x)) * sqrt(~a + ~b * sin(~e + ~f * ~x))), ~x) - (~d / (~c * ~g)) * Antiderivative(sqrt(~g * sin(~e + ~f * ~x)) / (sqrt(~a + ~b * sin(~e + ~f * ~x)) * (~c + ~d * sin(~e + ~f * ~x))), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (NeQ((~a) ^ 2 - (~b) ^ 2, 0) && NeQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative(1 / (sin(~(e') + ~(f') * ~x) * sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * (~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => ((~d) ^ 2 / (~c * (~b * ~c - ~a * ~d))) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) / (~c + ~d * sin(~e + ~f * ~x)), ~x) + (1 / (~c * (~b * ~c - ~a * ~d))) * Antiderivative(((~b * ~c - ~a * ~d) - ~b * ~d * sin(~e + ~f * ~x)) / (sin(~e + ~f * ~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))
    @apply_utils Antiderivative(1 / (sin(~(e') + ~(f') * ~x) * sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * (~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (1 / ~c) * Antiderivative(1 / (sin(~e + ~f * ~x) * sqrt(~a + ~b * sin(~e + ~f * ~x))), ~x) - (~d / ~c) * Antiderivative(1 / (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))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) / (sin(~(e') + ~(f') * ~x) * sqrt(~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (-(~d) / ~c) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) / sqrt(~c + ~d * sin(~e + ~f * ~x)), ~x) + (1 / ~c) * Antiderivative((sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(~c + ~d * sin(~e + ~f * ~x))) / 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) && EqQ(~b * ~c + ~a * ~d, 0)))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) / (sin(~(e') + ~(f') * ~x) * sqrt(~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => ((-2 * ~a) / ~f) * Subst(Antiderivative(1 / (1 - ~a * ~c * (~x) ^ 2), ~x), ~x, 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(~b * ~c + ~a * ~d, 0)))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) / (sin(~(e') + ~(f') * ~x) * sqrt(~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => ((~b * ~c - ~a * ~d) / ~c) * Antiderivative(1 / (sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(~c + ~d * sin(~e + ~f * ~x))), ~x) + (~a / ~c) * Antiderivative(sqrt(~c + ~d * sin(~e + ~f * ~x)) / (sin(~e + ~f * ~x) * 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) && EqQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative(sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) / (sin(~(e') + ~(f') * ~x) * sqrt(~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => ((-2 * (~a + ~b * sin(~e + ~f * ~x))) / (~c * ~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((~a * (~c + ~d)) / (~c * (~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)))
    @apply_utils Antiderivative(1 / (sin(~(e') + ~(f') * ~x) * 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) * 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) && EqQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative(1 / (sin(~(e') + ~(f') * ~x) * sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * sqrt(~c + ~(d') * sin(~(e') + ~(f') * ~x))), ~x) => (-(~b) / ~a) * Antiderivative(1 / (sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(~c + ~d * sin(~e + ~f * ~x))), ~x) + (1 / ~a) * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) / (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((sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * sqrt(~c + ~(d') * sin(~(e') + ~(f') * ~x))) / sin(~(e') + ~(f') * ~x), ~x) => ((sqrt(~a + ~b * sin(~e + ~f * ~x)) * sqrt(~c + ~d * sin(~e + ~f * ~x))) / cos(~e + ~f * ~x)) * Antiderivative(cot(~e + ~f * ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && EqQ((~c) ^ 2 - (~d) ^ 2, 0)))
    @apply_utils Antiderivative((sqrt(~a + ~(b') * sin(~(e') + ~(f') * ~x)) * sqrt(~c + ~(d') * sin(~(e') + ~(f') * ~x))) / sin(~(e') + ~(f') * ~x), ~x) => ~d * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) / sqrt(~c + ~d * sin(~e + ~f * ~x)), ~x) + ~c * Antiderivative(sqrt(~a + ~b * sin(~e + ~f * ~x)) / (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(sin(~(e') + ~(f') * ~x) ^ ~p * (~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~(m') * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => (~a) ^ ~n * (~c) ^ ~n * Antiderivative(tan(~e + ~f * ~x) ^ ~p * (~a + ~b * sin(~e + ~f * ~x)) ^ (~m - ~n), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m], ~x) && (EqQ(~b * ~c + ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (EqQ(~p + 2 * ~n, 0) && IntegerQ(~n))))
    @apply_utils Antiderivative((~(g') * sin(~(e') + ~(f') * ~x)) ^ ~p * (~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => ((sqrt(~a - ~b * sin(~e + ~f * ~x)) * sqrt(~a + ~b * sin(~e + ~f * ~x))) / (~f * cos(~e + ~f * ~x))) * Subst(Antiderivative(((~g * ~x) ^ ~p * (~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, ~g, ~m, ~n, ~p], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (EqQ((~a) ^ 2 - (~b) ^ 2, 0) && (NeQ((~c) ^ 2 - (~d) ^ 2, 0) && IntegerQ(~m - 1 / 2))))
    @apply_utils Antiderivative((~(g') * sin(~(e') + ~(f') * ~x)) ^ ~p * (~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => Antiderivative(ExpandTrig((~g * sin(~e + ~f * ~x)) ^ ~p * (~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g, ~n, ~p], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && ((IntegersQ(~m, ~n) || (IntegersQ(~m, ~p) || IntegersQ(~n, ~p))) && NeQ(~p, 2)))
    @apply_utils Antiderivative((~(g') * sin(~(e') + ~(f') * ~x)) ^ ~p * (~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~n, ~x) => Unintegrable((~g * sin(~e + ~f * ~x)) ^ ~p * (~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g, ~m, ~n, ~p], ~x) && NeQ(~p, 2)
    @apply_utils Antiderivative((~(g') * sin(~(e') + ~(f') * ~x)) ^ ~(p') * (~(a') + ~(b') * csc(~(e') + ~(f') * ~x)) ^ ~(m') * (~c + ~(d') * csc(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => (~g) ^ (~m + ~n) * Antiderivative((~g * sin(~e + ~f * ~x)) ^ ((~p - ~m) - ~n) * (~b + ~a * sin(~e + ~f * ~x)) ^ ~m * (~d + ~c * sin(~e + ~f * ~x)) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g, ~p], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (Not(IntegerQ(~p)) && (IntegerQ(~m) && IntegerQ(~n))))
    @apply_utils Antiderivative((~(g') * sin(~(e') + ~(f') * ~x)) ^ ~(p') * (~(a') + ~(b') * csc(~(e') + ~(f') * ~x)) ^ ~(m') * (~c + ~(d') * csc(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => (~g * csc(~e + ~f * ~x)) ^ ~p * (~g * sin(~e + ~f * ~x)) ^ ~p * Antiderivative(((~a + ~b * csc(~e + ~f * ~x)) ^ ~m * (~c + ~d * csc(~e + ~f * ~x)) ^ ~n) / (~g * csc(~e + ~f * ~x)) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g, ~m, ~n, ~p], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (Not(IntegerQ(~p)) && Not(IntegerQ(~m) && IntegerQ(~n))))
    @apply_utils Antiderivative((~(g') * sin(~(e') + ~(f') * ~x)) ^ ~(p') * (~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~(m') * (~c + ~(d') * csc(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => (~g) ^ ~n * Antiderivative((~g * sin(~e + ~f * ~x)) ^ (~p - ~n) * (~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~d + ~c * sin(~e + ~f * ~x)) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g, ~m, ~p], ~x) && IntegerQ(~n)
    @apply_utils Antiderivative(sin(~(e') + ~(f') * ~x) ^ ~(p') * (~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 + ~p), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~n], ~x) && (Not(IntegerQ(~n)) && (IntegerQ(~m) && IntegerQ(~p)))
    @apply_utils Antiderivative((~(g') * sin(~(e') + ~(f') * ~x)) ^ ~p * (~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~(m') * (~c + ~(d') * csc(~(e') + ~(f') * ~x)) ^ ~n, ~x) => csc(~e + ~f * ~x) ^ ~p * (~g * sin(~e + ~f * ~x)) ^ ~p * Antiderivative(((~b + ~a * csc(~e + ~f * ~x)) ^ ~m * (~c + ~d * csc(~e + ~f * ~x)) ^ ~n) / csc(~e + ~f * ~x) ^ (~m + ~p), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g, ~n, ~p], ~x) && (Not(IntegerQ(~n)) && (IntegerQ(~m) && Not(IntegerQ(~p))))
    @apply_utils Antiderivative((~(g') * sin(~(e') + ~(f') * ~x)) ^ ~(p') * (~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * csc(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (((~g * sin(~e + ~f * ~x)) ^ ~n * (~c + ~d * csc(~e + ~f * ~x)) ^ ~n) / (~d + ~c * sin(~e + ~f * ~x)) ^ ~n) * Antiderivative((~g * sin(~e + ~f * ~x)) ^ (~p - ~n) * (~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~d + ~c * sin(~e + ~f * ~x)) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g, ~m, ~n, ~p], ~x) && (Not(IntegerQ(~n)) && Not(IntegerQ(~m)))
    @apply_utils Antiderivative((~(g') * csc(~(e') + ~(f') * ~x)) ^ ~(p') * (~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~(m') * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => (~g) ^ (~m + ~n) * Antiderivative((~g * csc(~e + ~f * ~x)) ^ ((~p - ~m) - ~n) * (~b + ~a * csc(~e + ~f * ~x)) ^ ~m * (~d + ~c * csc(~e + ~f * ~x)) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g, ~p], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (Not(IntegerQ(~p)) && (IntegerQ(~m) && IntegerQ(~n))))
    @apply_utils Antiderivative((~(g') * csc(~(e') + ~(f') * ~x)) ^ ~(p') * (~(a') + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~(m') * (~c + ~(d') * sin(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => (~g * csc(~e + ~f * ~x)) ^ ~p * (~g * sin(~e + ~f * ~x)) ^ ~p * Antiderivative(((~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~c + ~d * sin(~e + ~f * ~x)) ^ ~n) / (~g * sin(~e + ~f * ~x)) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g, ~m, ~n, ~p], ~x) && (NeQ(~b * ~c - ~a * ~d, 0) && (Not(IntegerQ(~p)) && Not(IntegerQ(~m) && IntegerQ(~n))))
    @apply_utils Antiderivative((~(g') * csc(~(e') + ~(f') * ~x)) ^ ~(p') * (~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~(m') * (~c + ~(d') * csc(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => (~g) ^ ~m * Antiderivative((~g * csc(~e + ~f * ~x)) ^ (~p - ~m) * (~b + ~a * csc(~e + ~f * ~x)) ^ ~m * (~c + ~d * csc(~e + ~f * ~x)) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g, ~n, ~p], ~x) && IntegerQ(~m)
    @apply_utils Antiderivative(csc(~(e') + ~(f') * ~x) ^ ~(p') * (~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 + ~p), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m], ~x) && (Not(IntegerQ(~m)) && (IntegerQ(~n) && IntegerQ(~p)))
    @apply_utils Antiderivative((~(g') * csc(~(e') + ~(f') * ~x)) ^ ~p * (~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * csc(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => sin(~e + ~f * ~x) ^ ~p * (~g * csc(~e + ~f * ~x)) ^ ~p * Antiderivative(((~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~d + ~c * sin(~e + ~f * ~x)) ^ ~n) / sin(~e + ~f * ~x) ^ (~n + ~p), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g, ~m, ~p], ~x) && (Not(IntegerQ(~m)) && (IntegerQ(~n) && Not(IntegerQ(~p))))
    @apply_utils Antiderivative((~(g') * csc(~(e') + ~(f') * ~x)) ^ ~(p') * (~a + ~(b') * sin(~(e') + ~(f') * ~x)) ^ ~m * (~c + ~(d') * csc(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (((~a + ~b * sin(~e + ~f * ~x)) ^ ~m * (~g * csc(~e + ~f * ~x)) ^ ~m) / (~b + ~a * csc(~e + ~f * ~x)) ^ ~m) * Antiderivative((~g * csc(~e + ~f * ~x)) ^ (~p - ~m) * (~b + ~a * csc(~e + ~f * ~x)) ^ ~m * (~c + ~d * csc(~e + ~f * ~x)) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~g, ~m, ~n, ~p], ~x) && (Not(IntegerQ(~m)) && Not(IntegerQ(~n)))
end
