int_rules_4_5_11 = @theory begin

    #= ::Subsection::Closed:: =#
    #= 4.5.11*(e*x)^m*(a+b*sec(c+d*x^n))^p =#
    @apply_utils Antiderivative((~(a') + ~(b') * sec(~(c') + ~(d') * (~x) ^ ~n)) ^ ~(p'), ~x) => (1 / ~n) * Subst(Antiderivative((~x) ^ (1 / ~n - 1) * (~a + ~b * sec(~c + ~d * ~x)) ^ ~p, ~x), ~x, (~x) ^ ~n) <-- FreeQ([~a, ~b, ~c, ~d, ~p], ~x) && (IGtQ(1 / ~n, 0) && IntegerQ(~p))
    @apply_utils Antiderivative((~(a') + ~(b') * csc(~(c') + ~(d') * (~x) ^ ~n)) ^ ~(p'), ~x) => (1 / ~n) * Subst(Antiderivative((~x) ^ (1 / ~n - 1) * (~a + ~b * csc(~c + ~d * ~x)) ^ ~p, ~x), ~x, (~x) ^ ~n) <-- FreeQ([~a, ~b, ~c, ~d, ~p], ~x) && (IGtQ(1 / ~n, 0) && IntegerQ(~p))
    @apply_utils Antiderivative((~(a') + ~(b') * sec(~(c') + ~(d') * (~x) ^ ~n)) ^ ~(p'), ~x) => Unintegrable((~a + ~b * sec(~c + ~d * (~x) ^ ~n)) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~n, ~p], ~x)
    @apply_utils Antiderivative((~(a') + ~(b') * csc(~(c') + ~(d') * (~x) ^ ~n)) ^ ~(p'), ~x) => Unintegrable((~a + ~b * csc(~c + ~d * (~x) ^ ~n)) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~n, ~p], ~x)
    @apply_utils Antiderivative((~(a') + ~(b') * sec(~(c') + ~(d') * (~u) ^ ~n)) ^ ~(p'), ~x) => (1 / Coefficient(~u, ~x, 1)) * Subst(Antiderivative((~a + ~b * sec(~c + ~d * (~x) ^ ~n)) ^ ~p, ~x), ~x, ~u) <-- FreeQ([~a, ~b, ~c, ~d, ~n, ~p], ~x) && (LinearQ(~u, ~x) && NeQ(~u, ~x))
    @apply_utils Antiderivative((~(a') + ~(b') * csc(~(c') + ~(d') * (~u) ^ ~n)) ^ ~(p'), ~x) => (1 / Coefficient(~u, ~x, 1)) * Subst(Antiderivative((~a + ~b * csc(~c + ~d * (~x) ^ ~n)) ^ ~p, ~x), ~x, ~u) <-- FreeQ([~a, ~b, ~c, ~d, ~n, ~p], ~x) && (LinearQ(~u, ~x) && NeQ(~u, ~x))
    @apply_utils Antiderivative((~(a') + ~(b') * sec(~u)) ^ ~(p'), ~x) => Antiderivative((~a + ~b * sec(ExpandToSum(~u, ~x))) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~p], ~x) && (BinomialQ(~u, ~x) && Not(BinomialMatchQ(~u, ~x)))
    @apply_utils Antiderivative((~(a') + ~(b') * csc(~u)) ^ ~(p'), ~x) => Antiderivative((~a + ~b * csc(ExpandToSum(~u, ~x))) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~p], ~x) && (BinomialQ(~u, ~x) && Not(BinomialMatchQ(~u, ~x)))
    @apply_utils Antiderivative((~x) ^ ~(m') * (~(a') + ~(b') * sec(~(c') + ~(d') * (~x) ^ ~n)) ^ ~(p'), ~x) => (1 / ~n) * Subst(Antiderivative((~x) ^ (Simplify((~m + 1) / ~n) - 1) * (~a + ~b * sec(~c + ~d * ~x)) ^ ~p, ~x), ~x, (~x) ^ ~n) <-- FreeQ([~a, ~b, ~c, ~d, ~m, ~n, ~p], ~x) && (IGtQ(Simplify((~m + 1) / ~n), 0) && IntegerQ(~p))
    @apply_utils Antiderivative((~x) ^ ~(m') * (~(a') + ~(b') * csc(~(c') + ~(d') * (~x) ^ ~n)) ^ ~(p'), ~x) => (1 / ~n) * Subst(Antiderivative((~x) ^ (Simplify((~m + 1) / ~n) - 1) * (~a + ~b * csc(~c + ~d * ~x)) ^ ~p, ~x), ~x, (~x) ^ ~n) <-- FreeQ([~a, ~b, ~c, ~d, ~m, ~n, ~p], ~x) && (IGtQ(Simplify((~m + 1) / ~n), 0) && IntegerQ(~p))
    @apply_utils Antiderivative((~x) ^ ~(m') * (~(a') + ~(b') * sec(~(c') + ~(d') * (~x) ^ ~n)) ^ ~(p'), ~x) => Unintegrable((~x) ^ ~m * (~a + ~b * sec(~c + ~d * (~x) ^ ~n)) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~m, ~n, ~p], ~x)
    @apply_utils Antiderivative((~x) ^ ~(m') * (~(a') + ~(b') * csc(~(c') + ~(d') * (~x) ^ ~n)) ^ ~(p'), ~x) => Unintegrable((~x) ^ ~m * (~a + ~b * csc(~c + ~d * (~x) ^ ~n)) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~m, ~n, ~p], ~x)
    @apply_utils Antiderivative((~e * ~x) ^ ~(m') * (~(a') + ~(b') * sec(~(c') + ~(d') * (~x) ^ ~n)) ^ ~(p'), ~x) => (((~e) ^ IntPart(~m) * (~e * ~x) ^ FracPart(~m)) / (~x) ^ FracPart(~m)) * Antiderivative((~x) ^ ~m * (~a + ~b * sec(~c + ~d * (~x) ^ ~n)) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~m, ~n, ~p], ~x)
    @apply_utils Antiderivative((~e * ~x) ^ ~(m') * (~(a') + ~(b') * csc(~(c') + ~(d') * (~x) ^ ~n)) ^ ~(p'), ~x) => (((~e) ^ IntPart(~m) * (~e * ~x) ^ FracPart(~m)) / (~x) ^ FracPart(~m)) * Antiderivative((~x) ^ ~m * (~a + ~b * csc(~c + ~d * (~x) ^ ~n)) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~m, ~n, ~p], ~x)
    @apply_utils Antiderivative((~e * ~x) ^ ~(m') * (~(a') + ~(b') * sec(~u)) ^ ~(p'), ~x) => Antiderivative((~e * ~x) ^ ~m * (~a + ~b * sec(ExpandToSum(~u, ~x))) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~e, ~m, ~p], ~x) && (BinomialQ(~u, ~x) && Not(BinomialMatchQ(~u, ~x)))
    @apply_utils Antiderivative((~e * ~x) ^ ~(m') * (~(a') + ~(b') * csc(~u)) ^ ~(p'), ~x) => Antiderivative((~e * ~x) ^ ~m * (~a + ~b * csc(ExpandToSum(~u, ~x))) ^ ~p, ~x) <-- FreeQ([~a, ~b, ~e, ~m, ~p], ~x) && (BinomialQ(~u, ~x) && Not(BinomialMatchQ(~u, ~x)))
    @apply_utils Antiderivative((~x) ^ ~(m') * sec(~(a') + ~(b') * (~x) ^ ~(n')) ^ ~p * sin(~(a') + ~(b') * (~x) ^ ~(n')), ~x) => ((~x) ^ ((~m - ~n) + 1) * sec(~a + ~b * (~x) ^ ~n) ^ (~p - 1)) / (~b * ~n * (~p - 1)) - (((~m - ~n) + 1) / (~b * ~n * (~p - 1))) * Antiderivative((~x) ^ (~m - ~n) * sec(~a + ~b * (~x) ^ ~n) ^ (~p - 1), ~x) <-- FreeQ([~a, ~b, ~p], ~x) && (IntegerQ(~n) && (GeQ(~m - ~n, 0) && NeQ(~p, 1)))
    @apply_utils Antiderivative((~x) ^ ~(m') * csc(~(a') + ~(b') * (~x) ^ ~(n')) ^ ~p * cos(~(a') + ~(b') * (~x) ^ ~(n')), ~x) => (-((~x) ^ ((~m - ~n) + 1)) * csc(~a + ~b * (~x) ^ ~n) ^ (~p - 1)) / (~b * ~n * (~p - 1)) + (((~m - ~n) + 1) / (~b * ~n * (~p - 1))) * Antiderivative((~x) ^ (~m - ~n) * csc(~a + ~b * (~x) ^ ~n) ^ (~p - 1), ~x) <-- FreeQ([~a, ~b, ~p], ~x) && (IntegerQ(~n) && (GeQ(~m - ~n, 0) && NeQ(~p, 1)))
end
