int_rules_4_5_10 = @theory begin

    #= ::Subsection::Closed:: =#
    #= 4.5.10*(c+d*x)^m*(a+b*sec)^n =#
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) ^ ~(m') * csc(~(e') + ~(k') * pi + ~(f') * Complex(0, ~fz) * ~x), ~x) => ((-2 * (~c + ~d * ~x) ^ ~m * atanh(ℯ ^ (-im * ~k * pi) * ℯ ^ (-im * ~e + ~f * ~fz * ~x))) / (~f * ~fz * im) - ((~d * ~m) / (~f * ~fz * im)) * Antiderivative((~c + ~d * ~x) ^ (~m - 1) * log(1 - ℯ ^ (-im * ~k * pi) * ℯ ^ (-im * ~e + ~f * ~fz * ~x)), ~x)) + ((~d * ~m) / (~f * ~fz * im)) * Antiderivative((~c + ~d * ~x) ^ (~m - 1) * log(1 + ℯ ^ (-im * ~k * pi) * ℯ ^ (-im * ~e + ~f * ~fz * ~x)), ~x) <-- FreeQ([~c, ~d, ~e, ~f, ~fz], ~x) && (IntegerQ(2 * ~k) && IGtQ(~m, 0))
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) ^ ~(m') * csc(~(e') + ~(k') * pi + ~(f') * ~x), ~x) => ((-2 * (~c + ~d * ~x) ^ ~m * atanh(ℯ ^ (im * ~k * pi) * ℯ ^ (im * (~e + ~f * ~x)))) / ~f - ((~d * ~m) / ~f) * Antiderivative((~c + ~d * ~x) ^ (~m - 1) * log(1 - ℯ ^ (im * ~k * pi) * ℯ ^ (im * (~e + ~f * ~x))), ~x)) + ((~d * ~m) / ~f) * Antiderivative((~c + ~d * ~x) ^ (~m - 1) * log(1 + ℯ ^ (im * ~k * pi) * ℯ ^ (im * (~e + ~f * ~x))), ~x) <-- FreeQ([~c, ~d, ~e, ~f], ~x) && (IntegerQ(2 * ~k) && IGtQ(~m, 0))
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) ^ ~(m') * csc(~(e') + ~(f') * Complex(0, ~fz) * ~x), ~x) => ((-2 * (~c + ~d * ~x) ^ ~m * atanh(ℯ ^ (-im * ~e + ~f * ~fz * ~x))) / (~f * ~fz * im) - ((~d * ~m) / (~f * ~fz * im)) * Antiderivative((~c + ~d * ~x) ^ (~m - 1) * log(1 - ℯ ^ (-im * ~e + ~f * ~fz * ~x)), ~x)) + ((~d * ~m) / (~f * ~fz * im)) * Antiderivative((~c + ~d * ~x) ^ (~m - 1) * log(1 + ℯ ^ (-im * ~e + ~f * ~fz * ~x)), ~x) <-- FreeQ([~c, ~d, ~e, ~f, ~fz], ~x) && IGtQ(~m, 0)
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) ^ ~(m') * csc(~(e') + ~(f') * ~x), ~x) => ((-2 * (~c + ~d * ~x) ^ ~m * atanh(ℯ ^ (im * (~e + ~f * ~x)))) / ~f - ((~d * ~m) / ~f) * Antiderivative((~c + ~d * ~x) ^ (~m - 1) * log(1 - ℯ ^ (im * (~e + ~f * ~x))), ~x)) + ((~d * ~m) / ~f) * Antiderivative((~c + ~d * ~x) ^ (~m - 1) * log(1 + ℯ ^ (im * (~e + ~f * ~x))), ~x) <-- FreeQ([~c, ~d, ~e, ~f], ~x) && IGtQ(~m, 0)
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) ^ ~(m') * csc(~(e') + ~(f') * ~x) ^ 2, ~x) => (-((~c + ~d * ~x) ^ ~m) * cot(~e + ~f * ~x)) / ~f + ((~d * ~m) / ~f) * Antiderivative((~c + ~d * ~x) ^ (~m - 1) * cot(~e + ~f * ~x), ~x) <-- FreeQ([~c, ~d, ~e, ~f], ~x) && GtQ(~m, 0)
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) * (~(b') * csc(~(e') + ~(f') * ~x)) ^ ~n, ~x) => ((-((~b) ^ 2) * (~c + ~d * ~x) * cot(~e + ~f * ~x) * (~b * csc(~e + ~f * ~x)) ^ (~n - 2)) / (~f * (~n - 1)) - ((~b) ^ 2 * ~d * (~b * csc(~e + ~f * ~x)) ^ (~n - 2)) / ((~f) ^ 2 * (~n - 1) * (~n - 2))) + (((~b) ^ 2 * (~n - 2)) / (~n - 1)) * Antiderivative((~c + ~d * ~x) * (~b * csc(~e + ~f * ~x)) ^ (~n - 2), ~x) <-- FreeQ([~b, ~c, ~d, ~e, ~f], ~x) && (GtQ(~n, 1) && NeQ(~n, 2))
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) ^ ~m * (~(b') * csc(~(e') + ~(f') * ~x)) ^ ~n, ~x) => ((-((~b) ^ 2) * (~c + ~d * ~x) ^ ~m * cot(~e + ~f * ~x) * (~b * csc(~e + ~f * ~x)) ^ (~n - 2)) / (~f * (~n - 1)) - ((~b) ^ 2 * ~d * ~m * (~c + ~d * ~x) ^ (~m - 1) * (~b * csc(~e + ~f * ~x)) ^ (~n - 2)) / ((~f) ^ 2 * (~n - 1) * (~n - 2))) + (((~b) ^ 2 * (~n - 2)) / (~n - 1)) * Antiderivative((~c + ~d * ~x) ^ ~m * (~b * csc(~e + ~f * ~x)) ^ (~n - 2), ~x) + (((~b) ^ 2 * (~d) ^ 2 * ~m * (~m - 1)) / ((~f) ^ 2 * (~n - 1) * (~n - 2))) * Antiderivative((~c + ~d * ~x) ^ (~m - 2) * (~b * csc(~e + ~f * ~x)) ^ (~n - 2), ~x) <-- FreeQ([~b, ~c, ~d, ~e, ~f], ~x) && (GtQ(~n, 1) && (NeQ(~n, 2) && GtQ(~m, 1)))
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) * (~(b') * csc(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (~d * (~b * csc(~e + ~f * ~x)) ^ ~n) / ((~f) ^ 2 * (~n) ^ 2) + ((~c + ~d * ~x) * cos(~e + ~f * ~x) * (~b * csc(~e + ~f * ~x)) ^ (~n + 1)) / (~b * ~f * ~n) + ((~n + 1) / ((~b) ^ 2 * ~n)) * Antiderivative((~c + ~d * ~x) * (~b * csc(~e + ~f * ~x)) ^ (~n + 2), ~x) <-- FreeQ([~b, ~c, ~d, ~e, ~f], ~x) && LtQ(~n, -1)
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) ^ ~m * (~(b') * csc(~(e') + ~(f') * ~x)) ^ ~n, ~x) => ((~d * ~m * (~c + ~d * ~x) ^ (~m - 1) * (~b * csc(~e + ~f * ~x)) ^ ~n) / ((~f) ^ 2 * (~n) ^ 2) + ((~c + ~d * ~x) ^ ~m * cos(~e + ~f * ~x) * (~b * csc(~e + ~f * ~x)) ^ (~n + 1)) / (~b * ~f * ~n) + ((~n + 1) / ((~b) ^ 2 * ~n)) * Antiderivative((~c + ~d * ~x) ^ ~m * (~b * csc(~e + ~f * ~x)) ^ (~n + 2), ~x)) - (((~d) ^ 2 * ~m * (~m - 1)) / ((~f) ^ 2 * (~n) ^ 2)) * Antiderivative((~c + ~d * ~x) ^ (~m - 2) * (~b * csc(~e + ~f * ~x)) ^ ~n, ~x) <-- FreeQ([~b, ~c, ~d, ~e, ~f], ~x) && (LtQ(~n, -1) && GtQ(~m, 1))
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) ^ ~(m') * (~(b') * csc(~(e') + ~(f') * ~x)) ^ ~n, ~x) => (~b * sin(~e + ~f * ~x)) ^ ~n * (~b * csc(~e + ~f * ~x)) ^ ~n * Antiderivative((~c + ~d * ~x) ^ ~m / (~b * sin(~e + ~f * ~x)) ^ ~n, ~x) <-- FreeQ([~b, ~c, ~d, ~e, ~f, ~m, ~n], ~x) && Not(IntegerQ(~n))
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) ^ ~(m') * (~a + ~(b') * csc(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => Antiderivative(ExpandIntegrand((~c + ~d * ~x) ^ ~m, (~a + ~b * csc(~e + ~f * ~x)) ^ ~n, ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m], ~x) && (IGtQ(~m, 0) && IGtQ(~n, 0))
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) ^ ~(m') * (~a + ~(b') * csc(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => Antiderivative(ExpandIntegrand((~c + ~d * ~x) ^ ~m, sin(~e + ~f * ~x) ^ -(~n) / (~b + ~a * sin(~e + ~f * ~x)) ^ -(~n), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f], ~x) && (ILtQ(~n, 0) && IGtQ(~m, 0))
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) ^ ~(m') * csc(~(e') + ~(f') * ~x) ^ ~(n'), ~x) => If(MatchQ(~f, ~(f1') * Complex(0, ~j)), If(MatchQ(~e, ~(e1') + pi / 2), Unintegrable((~c + ~d * ~x) ^ ~m * sech(im * (~e - pi / 2) + im * ~f * ~x) ^ ~n, ~x), (-im) ^ ~n * Unintegrable((~c + ~d * ~x) ^ ~m * csch(-im * ~e - im * ~f * ~x) ^ ~n, ~x)), If(MatchQ(~e, ~(e1') + pi / 2), Unintegrable((~c + ~d * ~x) ^ ~m * sec((~e - pi / 2) + ~f * ~x) ^ ~n, ~x), Unintegrable((~c + ~d * ~x) ^ ~m * csc(~e + ~f * ~x) ^ ~n, ~x))) <-- FreeQ([~c, ~d, ~e, ~f, ~m, ~n], ~x) && IntegerQ(~n)
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) ^ ~(m') * (~(a') + ~(b') * csc(~(e') + ~(f') * ~x)) ^ ~(n'), ~x) => Unintegrable((~c + ~d * ~x) ^ ~m * (~a + ~b * csc(~e + ~f * ~x)) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n], ~x)
    @apply_utils Antiderivative((~u) ^ ~(m') * (~(a') + ~(b') * sec(~v)) ^ ~(n'), ~x) => Antiderivative(ExpandToSum(~u, ~x) ^ ~m * (~a + ~b * sec(ExpandToSum(~v, ~x))) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~m, ~n], ~x) && (LinearQ([~u, ~v], ~x) && Not(LinearMatchQ([~u, ~v], ~x)))
    @apply_utils Antiderivative((~u) ^ ~(m') * (~(a') + ~(b') * csc(~v)) ^ ~(n'), ~x) => Antiderivative(ExpandToSum(~u, ~x) ^ ~m * (~a + ~b * csc(ExpandToSum(~v, ~x))) ^ ~n, ~x) <-- FreeQ([~a, ~b, ~m, ~n], ~x) && (LinearQ([~u, ~v], ~x) && Not(LinearMatchQ([~u, ~v], ~x)))
end
