int_rules_2_2 = @theory begin

    #= ::Subsection::Closed:: =#
    #= 2.2*(c+d*x)^m*(F^(g*(e+f*x)))^n*(a+b*(F^(g*(e+f*x)))^n)^p =#
    @apply_utils Antiderivative(((~(c') + ~(d') * ~x) ^ ~(m') * ((~F) ^ (~(g') * (~(e') + ~(f') * ~x))) ^ ~(n')) / (~a + ~(b') * ((~F) ^ (~(g') * (~(e') + ~(f') * ~x))) ^ ~(n')), ~x) => ((~c + ~d * ~x) ^ ~m / (~b * ~f * ~g * ~n * log(~F))) * log(1 + (~b * ((~F) ^ (~g * (~e + ~f * ~x))) ^ ~n) / ~a) - ((~d * ~m) / (~b * ~f * ~g * ~n * log(~F))) * Antiderivative((~c + ~d * ~x) ^ (~m - 1) * log(1 + (~b * ((~F) ^ (~g * (~e + ~f * ~x))) ^ ~n) / ~a), ~x) <-- FreeQ([~F, ~a, ~b, ~c, ~d, ~e, ~f, ~g, ~n], ~x) && IGtQ(~m, 0)
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) ^ ~(m') * ((~F) ^ (~(g') * (~(e') + ~(f') * ~x))) ^ ~(n') * (~(a') + ~(b') * ((~F) ^ (~(g') * (~(e') + ~(f') * ~x))) ^ ~(n')) ^ ~(p'), ~x) => ((~c + ~d * ~x) ^ ~m * (~a + ~b * ((~F) ^ (~g * (~e + ~f * ~x))) ^ ~n) ^ (~p + 1)) / (~b * ~f * ~g * ~n * (~p + 1) * log(~F)) - ((~d * ~m) / (~b * ~f * ~g * ~n * (~p + 1) * log(~F))) * Antiderivative((~c + ~d * ~x) ^ (~m - 1) * (~a + ~b * ((~F) ^ (~g * (~e + ~f * ~x))) ^ ~n) ^ (~p + 1), ~x) <-- FreeQ([~F, ~a, ~b, ~c, ~d, ~e, ~f, ~g, ~m, ~n, ~p], ~x) && NeQ(~p, -1)
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) ^ ~(m') * ((~F) ^ (~(g') * (~(e') + ~(f') * ~x))) ^ ~(n') * (~(a') + ~(b') * ((~F) ^ (~(g') * (~(e') + ~(f') * ~x))) ^ ~(n')) ^ ~(p'), ~x) => Unintegrable((~c + ~d * ~x) ^ ~m * ((~F) ^ (~g * (~e + ~f * ~x))) ^ ~n * (~a + ~b * ((~F) ^ (~g * (~e + ~f * ~x))) ^ ~n) ^ ~p, ~x) <-- FreeQ([~F, ~a, ~b, ~c, ~d, ~e, ~f, ~g, ~m, ~n, ~p], ~x)
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) ^ ~(m') * (~(k') * (~G) ^ (~(j') * (~(h') + ~(i') * ~x))) ^ ~(q') * (~(a') + ~(b') * ((~F) ^ (~(g') * (~(e') + ~(f') * ~x))) ^ ~(n')) ^ ~(p'), ~x) => ((~k * (~G) ^ (~j * (~h + ~i * ~x))) ^ ~q / ((~F) ^ (~g * (~e + ~f * ~x))) ^ ~n) * Antiderivative((~c + ~d * ~x) ^ ~m * ((~F) ^ (~g * (~e + ~f * ~x))) ^ ~n * (~a + ~b * ((~F) ^ (~g * (~e + ~f * ~x))) ^ ~n) ^ ~p, ~x) <-- FreeQ([~F, ~a, ~b, ~c, ~d, ~e, ~f, ~g, ~h, ~i, ~j, ~k, ~m, ~n, ~p, ~q], ~x) && (EqQ(~f * ~g * ~n * log(~F) - ~i * ~j * ~q * log(~G), 0) && NeQ((~k * (~G) ^ (~j * (~h + ~i * ~x))) ^ ~q - ((~F) ^ (~g * (~e + ~f * ~x))) ^ ~n, 0))
end
