int_rules_5_3_6 = @theory begin

    #= ::Subsection::Closed:: =#
    #= 5.3.6*Exponentials*of*inverse*tangent =#
    @apply_utils Antiderivative(ℯ ^ (~n * atan(~(a') * ~x)), ~x) => Antiderivative((1 - im * ~a * ~x) ^ ((im * ~n + 1) / 2) / ((1 + im * ~a * ~x) ^ ((im * ~n - 1) / 2) * sqrt(1 + (~a) ^ 2 * (~x) ^ 2)), ~x) <-- FreeQ(~a, ~x) && IntegerQ((im * ~n - 1) / 2)
    @apply_utils Antiderivative((~x) ^ ~(m') * ℯ ^ (~n * atan(~(a') * ~x)), ~x) => Antiderivative((~x) ^ ~m * ((1 - im * ~a * ~x) ^ ((im * ~n + 1) / 2) / ((1 + im * ~a * ~x) ^ ((im * ~n - 1) / 2) * sqrt(1 + (~a) ^ 2 * (~x) ^ 2))), ~x) <-- FreeQ([~a, ~m], ~x) && IntegerQ((im * ~n - 1) / 2)
    @apply_utils Antiderivative(ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => Antiderivative((1 - im * ~a * ~x) ^ ((im * ~n) / 2) / (1 + im * ~a * ~x) ^ ((im * ~n) / 2), ~x) <-- FreeQ([~a, ~n], ~x) && Not(IntegerQ((im * ~n - 1) / 2))
    @apply_utils Antiderivative((~x) ^ ~(m') * ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => Antiderivative(((~x) ^ ~m * (1 - im * ~a * ~x) ^ ((im * ~n) / 2)) / (1 + im * ~a * ~x) ^ ((im * ~n) / 2), ~x) <-- FreeQ([~a, ~m, ~n], ~x) && Not(IntegerQ((im * ~n - 1) / 2))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') * ~x) ^ ~(p') * ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => (~c) ^ ~p * Antiderivative((~u * (1 + (~d * ~x) / ~c) ^ ~p * (1 - im * ~a * ~x) ^ ((im * ~n) / 2)) / (1 + im * ~a * ~x) ^ ((im * ~n) / 2), ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ((~a) ^ 2 * (~c) ^ 2 + (~d) ^ 2, 0) && (IntegerQ(~p) || GtQ(~c, 0)))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') * ~x) ^ ~(p') * ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => Antiderivative((~u * (~c + ~d * ~x) ^ ~p * (1 - im * ~a * ~x) ^ ((im * ~n) / 2)) / (1 + im * ~a * ~x) ^ ((im * ~n) / 2), ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ((~a) ^ 2 * (~c) ^ 2 + (~d) ^ 2, 0) && Not(IntegerQ(~p) || GtQ(~c, 0)))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') / ~x) ^ ~(p') * ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => (~d) ^ ~p * Antiderivative((~u / (~x) ^ ~p) * (1 + (~c * ~x) / ~d) ^ ~p * ℯ ^ (~n * atan(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && (EqQ((~c) ^ 2 + (~a) ^ 2 * (~d) ^ 2, 0) && IntegerQ(~p))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') / ~x) ^ ~p * ℯ ^ (~n * atanh(~(a') * ~x)), ~x) => (-1) ^ (~n / 2) * (~c) ^ ~p * Antiderivative((~u * (1 + ~d / (~c * ~x)) ^ ~p * (1 - 1 / (im * ~a * ~x)) ^ ((im * ~n) / 2)) / (1 + 1 / (im * ~a * ~x)) ^ ((im * ~n) / 2), ~x) <-- FreeQ([~a, ~c, ~d, ~p], ~x) && (EqQ((~c) ^ 2 + (~a) ^ 2 * (~d) ^ 2, 0) && (Not(IntegerQ(~p)) && (IntegerQ((im * ~n) / 2) && GtQ(~c, 0))))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') / ~x) ^ ~p * ℯ ^ (~n * atan(~(a') * ~x)), ~x) => Antiderivative((~u * (~c + ~d / ~x) ^ ~p * (1 - im * ~a * ~x) ^ ((im * ~n) / 2)) / (1 + im * ~a * ~x) ^ ((im * ~n) / 2), ~x) <-- FreeQ([~a, ~c, ~d, ~p], ~x) && (EqQ((~c) ^ 2 + (~a) ^ 2 * (~d) ^ 2, 0) && (Not(IntegerQ(~p)) && (IntegerQ((im * ~n) / 2) && Not(GtQ(~c, 0)))))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') / ~x) ^ ~p * ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => (((~x) ^ ~p * (~c + ~d / ~x) ^ ~p) / (1 + (~c * ~x) / ~d) ^ ~p) * Antiderivative((~u / (~x) ^ ~p) * (1 + (~c * ~x) / ~d) ^ ~p * ℯ ^ (~n * atan(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ((~c) ^ 2 + (~a) ^ 2 * (~d) ^ 2, 0) && Not(IntegerQ(~p)))
    @apply_utils Antiderivative(ℯ ^ (~(n') * atan(~(a') * ~x)) / (~c + ~(d') * (~x) ^ 2) ^ (3 / 2), ~x) => ((~n + ~a * ~x) * ℯ ^ (~n * atan(~a * ~x))) / (~a * ~c * ((~n) ^ 2 + 1) * sqrt(~c + ~d * (~x) ^ 2)) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && Not(IntegerQ(im * ~n)))
    @apply_utils Antiderivative((~c + ~(d') * (~x) ^ 2) ^ ~p * ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => ((~n - 2 * ~a * (~p + 1) * ~x) * (~c + ~d * (~x) ^ 2) ^ (~p + 1) * ℯ ^ (~n * atan(~a * ~x))) / (~a * ~c * ((~n) ^ 2 + 4 * (~p + 1) ^ 2)) + ((2 * (~p + 1) * (2 * ~p + 3)) / (~c * ((~n) ^ 2 + 4 * (~p + 1) ^ 2))) * Antiderivative((~c + ~d * (~x) ^ 2) ^ (~p + 1) * ℯ ^ (~n * atan(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (LtQ(~p, -1) && (Not(IntegerQ(im * ~n)) && (NeQ((~n) ^ 2 + 4 * (~p + 1) ^ 2, 0) && IntegerQ(2 * ~p)))))
    @apply_utils Antiderivative(ℯ ^ (~(n') * atan(~(a') * ~x)) / (~c + ~(d') * (~x) ^ 2), ~x) => ℯ ^ (~n * atan(~a * ~x)) / (~a * ~c * ~n) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && EqQ(~d, (~a) ^ 2 * ~c)
    @apply_utils Antiderivative((~c + ~(d') * (~x) ^ 2) ^ ~(p') * ℯ ^ (~n * atan(~(a') * ~x)), ~x) => (~c) ^ ~p * Antiderivative((1 + (~a) ^ 2 * (~x) ^ 2) ^ (~p - (im * ~n) / 2) * (1 - im * ~a * ~x) ^ (im * ~n), ~x) <-- FreeQ([~a, ~c, ~d, ~p], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (IntegerQ(~p) && (IntegerQ((im * ~n + 1) / 2) && Not(IntegerQ(~p - (im * ~n) / 2)))))
    @apply_utils Antiderivative((~c + ~(d') * (~x) ^ 2) ^ ~(p') * ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => (~c) ^ ~p * Antiderivative((1 - im * ~a * ~x) ^ (~p + (im * ~n) / 2) * (1 + im * ~a * ~x) ^ (~p - (im * ~n) / 2), ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (IntegerQ(~p) || GtQ(~c, 0)))
    @apply_utils Antiderivative((~c + ~(d') * (~x) ^ 2) ^ ~p * ℯ ^ (~n * atan(~(a') * ~x)), ~x) => (~c) ^ ((im * ~n) / 2) * Antiderivative((~c + ~d * (~x) ^ 2) ^ (~p - (im * ~n) / 2) * (1 - im * ~a * ~x) ^ (im * ~n), ~x) <-- FreeQ([~a, ~c, ~d, ~p], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (Not(IntegerQ(~p) || GtQ(~c, 0)) && IGtQ((im * ~n) / 2, 0)))
    @apply_utils Antiderivative((~c + ~(d') * (~x) ^ 2) ^ ~p * ℯ ^ (~n * atan(~(a') * ~x)), ~x) => (1 / (~c) ^ ((im * ~n) / 2)) * Antiderivative((~c + ~d * (~x) ^ 2) ^ (~p + (im * ~n) / 2) / (1 + im * ~a * ~x) ^ (im * ~n), ~x) <-- FreeQ([~a, ~c, ~d, ~p], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (Not(IntegerQ(~p) || GtQ(~c, 0)) && ILtQ((im * ~n) / 2, 0)))
    @apply_utils Antiderivative((~c + ~(d') * (~x) ^ 2) ^ ~p * ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => (((~c) ^ IntPart(~p) * (~c + ~d * (~x) ^ 2) ^ FracPart(~p)) / (1 + (~a) ^ 2 * (~x) ^ 2) ^ FracPart(~p)) * Antiderivative((1 + (~a) ^ 2 * (~x) ^ 2) ^ ~p * ℯ ^ (~n * atan(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && Not(IntegerQ(~p) || GtQ(~c, 0)))
    @apply_utils Antiderivative((~x * ℯ ^ (~(n') * atan(~(a') * ~x))) / (~c + ~(d') * (~x) ^ 2) ^ (3 / 2), ~x) => (-((1 - ~a * ~n * ~x)) * ℯ ^ (~n * atan(~a * ~x))) / (~d * ((~n) ^ 2 + 1) * sqrt(~c + ~d * (~x) ^ 2)) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && Not(IntegerQ(im * ~n)))
    @apply_utils Antiderivative(~x * (~c + ~(d') * (~x) ^ 2) ^ ~p * ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => ((~c + ~d * (~x) ^ 2) ^ (~p + 1) * ℯ ^ (~n * atan(~a * ~x))) / (2 * ~d * (~p + 1)) - ((~a * ~c * ~n) / (2 * ~d * (~p + 1))) * Antiderivative((~c + ~d * (~x) ^ 2) ^ ~p * ℯ ^ (~n * atan(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (LtQ(~p, -1) && (Not(IntegerQ(im * ~n)) && IntegerQ(2 * ~p))))
    #= Antiderivative((~x)*((~c)+(~d')*(~x)^2)^(~p)*ℯ^((~n')*atan((~a')*(~x))),~x) :=  (2*(p+1)+a*n*x)*(c+d*x^2)^(p+1)*ℯ^(n*atan(a*x))/(a^2*c*(n^2+4*(p+1)^ 2)) - n*(2*p+3)/(a*c*(n^2+4*(p+1)^2))*Antiderivative((c+d*x^2)^(p+1)*ℯ^(n*atan(a*x) ),x) <-- FreeQ([a,c,d,n],x) && EqQ(d,a^2*c) && LtQ(p,-1) &&  NeQ(n^2+4*(p+1)^2,0) && Not(IntegerQ(im*n)) =#
    @apply_utils Antiderivative((~x) ^ 2 * (~c + ~(d') * (~x) ^ 2) ^ ~(p') * ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => (-((1 - ~a * ~n * ~x)) * (~c + ~d * (~x) ^ 2) ^ (~p + 1) * ℯ ^ (~n * atan(~a * ~x))) / (~a * ~d * ~n * ((~n) ^ 2 + 1)) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (EqQ((~n) ^ 2 - 2 * (~p + 1), 0) && Not(IntegerQ(im * ~n))))
    @apply_utils Antiderivative((~x) ^ 2 * (~c + ~(d') * (~x) ^ 2) ^ ~p * ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => (-((~n - 2 * (~p + 1) * ~a * ~x)) * (~c + ~d * (~x) ^ 2) ^ (~p + 1) * ℯ ^ (~n * atan(~a * ~x))) / (~a * ~d * ((~n) ^ 2 + 4 * (~p + 1) ^ 2)) + (((~n) ^ 2 - 2 * (~p + 1)) / (~d * ((~n) ^ 2 + 4 * (~p + 1) ^ 2))) * Antiderivative((~c + ~d * (~x) ^ 2) ^ (~p + 1) * ℯ ^ (~n * atan(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (LtQ(~p, -1) && (Not(IntegerQ(im * ~n)) && (NeQ((~n) ^ 2 + 4 * (~p + 1) ^ 2, 0) && IntegerQ(2 * ~p)))))
    @apply_utils Antiderivative((~x) ^ ~(m') * (~c + ~(d') * (~x) ^ 2) ^ ~(p') * ℯ ^ (~n * atan(~(a') * ~x)), ~x) => (~c) ^ ~p * Antiderivative((~x) ^ ~m * (1 + (~a) ^ 2 * (~x) ^ 2) ^ (~p - (im * ~n) / 2) * (1 - im * ~a * ~x) ^ (im * ~n), ~x) <-- FreeQ([~a, ~c, ~d, ~m, ~p], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && ((IntegerQ(~p) || GtQ(~c, 0)) && (IntegerQ((im * ~n + 1) / 2) && Not(IntegerQ(~p - (im * ~n) / 2)))))
    @apply_utils Antiderivative((~x) ^ ~(m') * (~c + ~(d') * (~x) ^ 2) ^ ~(p') * ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => (~c) ^ ~p * Antiderivative((~x) ^ ~m * (1 - im * ~a * ~x) ^ (~p + (im * ~n) / 2) * (1 + im * ~a * ~x) ^ (~p - (im * ~n) / 2), ~x) <-- FreeQ([~a, ~c, ~d, ~m, ~n, ~p], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (IntegerQ(~p) || GtQ(~c, 0)))
    @apply_utils Antiderivative((~x) ^ ~(m') * (~c + ~(d') * (~x) ^ 2) ^ ~p * ℯ ^ (~n * atan(~(a') * ~x)), ~x) => (~c) ^ ((im * ~n) / 2) * Antiderivative((~x) ^ ~m * (~c + ~d * (~x) ^ 2) ^ (~p - (im * ~n) / 2) * (1 - im * ~a * ~x) ^ (im * ~n), ~x) <-- FreeQ([~a, ~c, ~d, ~m, ~p], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (Not(IntegerQ(~p) || GtQ(~c, 0)) && IGtQ((im * ~n) / 2, 0)))
    @apply_utils Antiderivative((~x) ^ ~(m') * (~c + ~(d') * (~x) ^ 2) ^ ~p * ℯ ^ (~n * atan(~(a') * ~x)), ~x) => (1 / (~c) ^ ((im * ~n) / 2)) * Antiderivative(((~x) ^ ~m * (~c + ~d * (~x) ^ 2) ^ (~p + (im * ~n) / 2)) / (1 + im * ~a * ~x) ^ (im * ~n), ~x) <-- FreeQ([~a, ~c, ~d, ~m, ~p], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (Not(IntegerQ(~p) || GtQ(~c, 0)) && ILtQ((im * ~n) / 2, 0)))
    @apply_utils Antiderivative((~x) ^ ~(m') * (~c + ~(d') * (~x) ^ 2) ^ ~p * ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => (((~c) ^ IntPart(~p) * (~c + ~d * (~x) ^ 2) ^ FracPart(~p)) / (1 + (~a) ^ 2 * (~x) ^ 2) ^ FracPart(~p)) * Antiderivative((~x) ^ ~m * (1 + (~a) ^ 2 * (~x) ^ 2) ^ ~p * ℯ ^ (~n * atan(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~m, ~n, ~p], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && Not(IntegerQ(~p) || GtQ(~c, 0)))
    @apply_utils Antiderivative(~u * (~c + ~(d') * (~x) ^ 2) ^ ~(p') * ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => (~c) ^ ~p * Antiderivative(~u * (1 - im * ~a * ~x) ^ (~p + (im * ~n) / 2) * (1 + im * ~a * ~x) ^ (~p - (im * ~n) / 2), ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (IntegerQ(~p) || GtQ(~c, 0)))
    @apply_utils Antiderivative(~u * (~c + ~(d') * (~x) ^ 2) ^ ~(p') * ℯ ^ (~n * atan(~(a') * ~x)), ~x) => (((~c) ^ IntPart(~p) * (~c + ~d * (~x) ^ 2) ^ FracPart(~p)) / ((1 - im * ~a * ~x) ^ FracPart(~p) * (1 + im * ~a * ~x) ^ FracPart(~p))) * Antiderivative(~u * (1 - im * ~a * ~x) ^ (~p + (im * ~n) / 2) * (1 + im * ~a * ~x) ^ (~p - (im * ~n) / 2), ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && ((IntegerQ(~p) || GtQ(~c, 0)) && IntegerQ((im * ~n) / 2)))
    @apply_utils Antiderivative(~u * (~c + ~(d') * (~x) ^ 2) ^ ~p * ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => (((~c) ^ IntPart(~p) * (~c + ~d * (~x) ^ 2) ^ FracPart(~p)) / (1 + (~a) ^ 2 * (~x) ^ 2) ^ FracPart(~p)) * Antiderivative(~u * (1 + (~a) ^ 2 * (~x) ^ 2) ^ ~p * ℯ ^ (~n * atan(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (Not(IntegerQ(~p) || GtQ(~c, 0)) && Not(IntegerQ((im * ~n) / 2))))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') / (~x) ^ 2) ^ ~(p') * ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => (~d) ^ ~p * Antiderivative((~u / (~x) ^ (2 * ~p)) * (1 + (~a) ^ 2 * (~x) ^ 2) ^ ~p * ℯ ^ (~n * atan(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && (EqQ(~c - (~a) ^ 2 * ~d, 0) && IntegerQ(~p))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') / (~x) ^ 2) ^ ~p * ℯ ^ (~n * atan(~(a') * ~x)), ~x) => (~c) ^ ~p * Antiderivative(~u * (1 - im / (~a * ~x)) ^ ~p * (1 + im / (~a * ~x)) ^ ~p * ℯ ^ (~n * atan(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~p], ~x) && (EqQ(~c - (~a) ^ 2 * ~d, 0) && (Not(IntegerQ(~p)) && (IntegerQ((im * ~n) / 2) && GtQ(~c, 0))))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') / (~x) ^ 2) ^ ~p * ℯ ^ (~n * atan(~(a') * ~x)), ~x) => (((~x) ^ (2 * ~p) * (~c + ~d / (~x) ^ 2) ^ ~p) / ((1 - im * ~a * ~x) ^ ~p * (1 + im * ~a * ~x) ^ ~p)) * Antiderivative((~u / (~x) ^ (2 * ~p)) * (1 - im * ~a * ~x) ^ ~p * (1 + im * ~a * ~x) ^ ~p * ℯ ^ (~n * atan(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ(~c - (~a) ^ 2 * ~d, 0) && (Not(IntegerQ(~p)) && (IntegerQ((im * ~n) / 2) && Not(GtQ(~c, 0)))))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') / (~x) ^ 2) ^ ~p * ℯ ^ (~(n') * atan(~(a') * ~x)), ~x) => (((~x) ^ (2 * ~p) * (~c + ~d / (~x) ^ 2) ^ ~p) / (1 + (~a) ^ 2 * (~x) ^ 2) ^ ~p) * Antiderivative((~u / (~x) ^ (2 * ~p)) * (1 + (~a) ^ 2 * (~x) ^ 2) ^ ~p * ℯ ^ (~n * atan(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ(~c - (~a) ^ 2 * ~d, 0) && (Not(IntegerQ(~p)) && Not(IntegerQ((im * ~n) / 2))))
    @apply_utils Antiderivative(ℯ ^ (~(n') * atan(~(c') * (~a + ~(b') * ~x))), ~x) => Antiderivative(((1 - im * ~a * ~c) - im * ~b * ~c * ~x) ^ ((im * ~n) / 2) / (1 + im * ~a * ~c + im * ~b * ~c * ~x) ^ ((im * ~n) / 2), ~x) <-- FreeQ([~a, ~b, ~c, ~n], ~x)
    @apply_utils Antiderivative((~x) ^ ~m * ℯ ^ (~n * atan(~(c') * (~a + ~(b') * ~x))), ~x) => (4 / (im ^ ~m * ~n * (~b) ^ (~m + 1) * (~c) ^ (~m + 1))) * Subst(Antiderivative(((~x) ^ (2 / (im * ~n)) * ((1 - im * ~a * ~c) - (1 + im * ~a * ~c) * (~x) ^ (2 / (im * ~n))) ^ ~m) / (1 + (~x) ^ (2 / (im * ~n))) ^ (~m + 2), ~x), ~x, (1 - im * ~c * (~a + ~b * ~x)) ^ ((im * ~n) / 2) / (1 + im * ~c * (~a + ~b * ~x)) ^ ((im * ~n) / 2)) <-- FreeQ([~a, ~b, ~c], ~x) && (ILtQ(~m, 0) && LtQ(-1, im * ~n, 1))
    @apply_utils Antiderivative((~(d') + ~(e') * ~x) ^ ~(m') * ℯ ^ (~(n') * atan(~(c') * (~a + ~(b') * ~x))), ~x) => Antiderivative(((~d + ~e * ~x) ^ ~m * ((1 - im * ~a * ~c) - im * ~b * ~c * ~x) ^ ((im * ~n) / 2)) / (1 + im * ~a * ~c + im * ~b * ~c * ~x) ^ ((im * ~n) / 2), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~m, ~n], ~x)
    @apply_utils Antiderivative(~(u') * (~c + ~(d') * ~x + ~(e') * (~x) ^ 2) ^ ~(p') * ℯ ^ (~(n') * atan(~a + ~(b') * ~x)), ~x) => (~c / (1 + (~a) ^ 2)) ^ ~p * Antiderivative(~u * ((1 - im * ~a) - im * ~b * ~x) ^ (~p + (im * ~n) / 2) * (1 + im * ~a + im * ~b * ~x) ^ (~p - (im * ~n) / 2), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~n, ~p], ~x) && (EqQ(~b * ~d, 2 * ~a * ~e) && (EqQ((~b) ^ 2 * ~c - ~e * (1 + (~a) ^ 2), 0) && (IntegerQ(~p) || GtQ(~c / (1 + (~a) ^ 2), 0))))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') * ~x + ~(e') * (~x) ^ 2) ^ ~(p') * ℯ ^ (~(n') * atan(~a + ~(b') * ~x)), ~x) => ((~c + ~d * ~x + ~e * (~x) ^ 2) ^ ~p / (1 + (~a) ^ 2 + 2 * ~a * ~b * ~x + (~b) ^ 2 * (~x) ^ 2) ^ ~p) * Antiderivative(~u * (1 + (~a) ^ 2 + 2 * ~a * ~b * ~x + (~b) ^ 2 * (~x) ^ 2) ^ ~p * ℯ ^ (~n * atan(~a * ~x)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~n, ~p], ~x) && (EqQ(~b * ~d, 2 * ~a * ~e) && (EqQ((~b) ^ 2 * ~c - ~e * (1 + (~a) ^ 2), 0) && Not(IntegerQ(~p) || GtQ(~c / (1 + (~a) ^ 2), 0))))
    @apply_utils Antiderivative(~(u') * ℯ ^ (~(n') * atan(~(c') / (~(a') + ~(b') * ~x))), ~x) => Antiderivative(~u * ℯ ^ (~n * acot(~a / ~c + (~b * ~x) / ~c)), ~x) <-- FreeQ([~a, ~b, ~c, ~n], ~x)
    @apply_utils Antiderivative(~(u') * ℯ ^ (~n * acot(~(a') * ~x)), ~x) => (-1) ^ ((im * ~n) / 2) * Antiderivative(~u * ℯ ^ (-(~n) * atan(~a * ~x)), ~x) <-- FreeQ(~a, ~x) && IntegerQ((im * ~n) / 2)
    @apply_utils Antiderivative(ℯ ^ (~n * acot(~(a') * ~x)), ~x) => -(Subst(Antiderivative((1 - (im * ~x) / ~a) ^ ((im * ~n + 1) / 2) / ((~x) ^ 2 * (1 + (im * ~x) / ~a) ^ ((im * ~n - 1) / 2) * sqrt(1 + (~x) ^ 2 / (~a) ^ 2)), ~x), ~x, 1 / ~x)) <-- FreeQ(~a, ~x) && IntegerQ((im * ~n - 1) / 2)
    @apply_utils Antiderivative((~x) ^ ~(m') * ℯ ^ (~n * acot(~(a') * ~x)), ~x) => -(Subst(Antiderivative((1 - (im * ~x) / ~a) ^ ((im * ~n + 1) / 2) / ((~x) ^ (~m + 2) * (1 + (im * ~x) / ~a) ^ ((im * ~n - 1) / 2) * sqrt(1 + (~x) ^ 2 / (~a) ^ 2)), ~x), ~x, 1 / ~x)) <-- FreeQ(~a, ~x) && (IntegerQ((im * ~n - 1) / 2) && IntegerQ(~m))
    @apply_utils Antiderivative(ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => -(Subst(Antiderivative((1 - (im * ~x) / ~a) ^ ((im * ~n) / 2) / ((~x) ^ 2 * (1 + (im * ~x) / ~a) ^ ((im * ~n) / 2)), ~x), ~x, 1 / ~x)) <-- FreeQ([~a, ~n], ~x) && Not(IntegerQ(im * ~n))
    @apply_utils Antiderivative((~x) ^ ~(m') * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => -(Subst(Antiderivative((1 - (im * ~x) / ~a) ^ (~n / 2) / ((~x) ^ (~m + 2) * (1 + (im * ~x) / ~a) ^ (~n / 2)), ~x), ~x, 1 / ~x)) <-- FreeQ([~a, ~n], ~x) && (Not(IntegerQ(im * ~n)) && IntegerQ(~m))
    @apply_utils Antiderivative((~x) ^ ~m * ℯ ^ (~n * acot(~(a') * ~x)), ~x) => -((~x) ^ ~m) * (1 / ~x) ^ ~m * Subst(Antiderivative((1 - (im * ~x) / ~a) ^ ((im * ~n + 1) / 2) / ((~x) ^ (~m + 2) * (1 + (im * ~x) / ~a) ^ ((im * ~n - 1) / 2) * sqrt(1 + (~x) ^ 2 / (~a) ^ 2)), ~x), ~x, 1 / ~x) <-- FreeQ([~a, ~m], ~x) && (IntegerQ((im * ~n - 1) / 2) && Not(IntegerQ(~m)))
    @apply_utils Antiderivative((~x) ^ ~m * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => -(Subst(Antiderivative((1 - (im * ~x) / ~a) ^ (~n / 2) / ((~x) ^ (~m + 2) * (1 + (im * ~x) / ~a) ^ (~n / 2)), ~x), ~x, 1 / ~x)) <-- FreeQ([~a, ~m, ~n], ~x) && (Not(IntegerQ((im * ~n) / 2)) && Not(IntegerQ(~m)))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') * ~x) ^ ~(p') * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => (~d) ^ ~p * Antiderivative(~u * (~x) ^ ~p * (1 + ~c / (~d * ~x)) ^ ~p * ℯ ^ (~n * acot(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && (EqQ((~a) ^ 2 * (~c) ^ 2 + (~d) ^ 2, 0) && (Not(IntegerQ((im * ~n) / 2)) && IntegerQ(~p)))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') * ~x) ^ ~p * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => ((~c + ~d * ~x) ^ ~p / ((~x) ^ ~p * (1 + ~c / (~d * ~x)) ^ ~p)) * Antiderivative(~u * (~x) ^ ~p * (1 + ~c / (~d * ~x)) ^ ~p * ℯ ^ (~n * acot(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ((~a) ^ 2 * (~c) ^ 2 + (~d) ^ 2, 0) && (Not(IntegerQ((im * ~n) / 2)) && Not(IntegerQ(~p))))
    @apply_utils Antiderivative((~c + ~(d') / ~x) ^ ~(p') * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => -((~c) ^ ~p) * Subst(Antiderivative(((1 + (~d * ~x) / ~c) ^ ~p * (1 - (im * ~x) / ~a) ^ ((im * ~n) / 2)) / ((~x) ^ 2 * (1 + (im * ~x) / ~a) ^ ((im * ~n) / 2)), ~x), ~x, 1 / ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ((~c) ^ 2 + (~a) ^ 2 * (~d) ^ 2, 0) && (Not(IntegerQ((im * ~n) / 2)) && (IntegerQ(~p) || GtQ(~c, 0))))
    @apply_utils Antiderivative((~x) ^ ~(m') * (~c + ~(d') / ~x) ^ ~(p') * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => -((~c) ^ ~p) * Subst(Antiderivative(((1 + (~d * ~x) / ~c) ^ ~p * (1 - (im * ~x) / ~a) ^ ((im * ~n) / 2)) / ((~x) ^ (~m + 2) * (1 + (im * ~x) / ~a) ^ ((im * ~n) / 2)), ~x), ~x, 1 / ~x) <-- FreeQ([~a, ~c, ~d, ~m, ~n, ~p], ~x) && (EqQ((~c) ^ 2 + (~a) ^ 2 * (~d) ^ 2, 0) && (Not(IntegerQ((im * ~n) / 2)) && ((IntegerQ(~p) || GtQ(~c, 0)) && IntegerQ(~m))))
    @apply_utils Antiderivative((~c + ~(d') / ~x) ^ ~p * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => ((~c + ~d / ~x) ^ ~p / (1 + ~d / (~c * ~x)) ^ ~p) * Antiderivative((1 + ~d / (~c * ~x)) ^ ~p * ℯ ^ (~n * acot(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ((~c) ^ 2 + (~a) ^ 2 * (~d) ^ 2, 0) && (Not(IntegerQ((im * ~n) / 2)) && Not(IntegerQ(~p) || GtQ(~c, 0))))
    @apply_utils Antiderivative((~x) ^ ~m * (~c + ~(d') / ~x) ^ ~(p') * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => -((~c) ^ ~p) * (~x) ^ ~m * (1 / ~x) ^ ~m * Subst(Antiderivative(((1 + (~d * ~x) / ~c) ^ ~p * (1 - (im * ~x) / ~a) ^ ((im * ~n) / 2)) / ((~x) ^ (~m + 2) * (1 + (im * ~x) / ~a) ^ ((im * ~n) / 2)), ~x), ~x, 1 / ~x) <-- FreeQ([~a, ~c, ~d, ~m, ~n, ~p], ~x) && (EqQ((~c) ^ 2 + (~a) ^ 2 * (~d) ^ 2, 0) && (Not(IntegerQ((im * ~n) / 2)) && ((IntegerQ(~p) || GtQ(~c, 0)) && Not(IntegerQ(~m)))))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') / ~x) ^ ~p * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => ((~c + ~d / ~x) ^ ~p / (1 + ~d / (~c * ~x)) ^ ~p) * Antiderivative(~u * (1 + ~d / (~c * ~x)) ^ ~p * ℯ ^ (~n * acot(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ((~c) ^ 2 + (~a) ^ 2 * (~d) ^ 2, 0) && (Not(IntegerQ((im * ~n) / 2)) && Not(IntegerQ(~p) || GtQ(~c, 0))))
    @apply_utils Antiderivative(ℯ ^ (~(n') * acot(~(a') * ~x)) / (~c + ~(d') * (~x) ^ 2), ~x) => -(ℯ ^ (~n * acot(~a * ~x))) / (~a * ~c * ~n) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && EqQ(~d, (~a) ^ 2 * ~c)
    @apply_utils Antiderivative(ℯ ^ (~(n') * acot(~(a') * ~x)) / (~c + ~(d') * (~x) ^ 2) ^ (3 / 2), ~x) => (-((~n - ~a * ~x)) * ℯ ^ (~n * acot(~a * ~x))) / (~a * ~c * ((~n) ^ 2 + 1) * sqrt(~c + ~d * (~x) ^ 2)) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && Not(IntegerQ((im * ~n - 1) / 2)))
    @apply_utils Antiderivative((~c + ~(d') * (~x) ^ 2) ^ ~p * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => (-((~n + 2 * ~a * (~p + 1) * ~x)) * (~c + ~d * (~x) ^ 2) ^ (~p + 1) * ℯ ^ (~n * acot(~a * ~x))) / (~a * ~c * ((~n) ^ 2 + 4 * (~p + 1) ^ 2)) + ((2 * (~p + 1) * (2 * ~p + 3)) / (~c * ((~n) ^ 2 + 4 * (~p + 1) ^ 2))) * Antiderivative((~c + ~d * (~x) ^ 2) ^ (~p + 1) * ℯ ^ (~n * acot(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (LtQ(~p, -1) && (NeQ(~p, -3 / 2) && (NeQ((~n) ^ 2 + 4 * (~p + 1) ^ 2, 0) && (Not(IntegerQ(~p) && IntegerQ((im * ~n) / 2)) && Not(Not(IntegerQ(~p)) && IntegerQ((im * ~n - 1) / 2)))))))
    @apply_utils Antiderivative((~x * ℯ ^ (~(n') * acot(~(a') * ~x))) / (~c + ~(d') * (~x) ^ 2) ^ (3 / 2), ~x) => (-((1 + ~a * ~n * ~x)) * ℯ ^ (~n * acot(~a * ~x))) / ((~a) ^ 2 * ~c * ((~n) ^ 2 + 1) * sqrt(~c + ~d * (~x) ^ 2)) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && Not(IntegerQ((im * ~n - 1) / 2)))
    @apply_utils Antiderivative(~x * (~c + ~(d') * (~x) ^ 2) ^ ~p * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => ((2 * (~p + 1) - ~a * ~n * ~x) * (~c + ~d * (~x) ^ 2) ^ (~p + 1) * ℯ ^ (~n * acot(~a * ~x))) / ((~a) ^ 2 * ~c * ((~n) ^ 2 + 4 * (~p + 1) ^ 2)) + ((~n * (2 * ~p + 3)) / (~a * ~c * ((~n) ^ 2 + 4 * (~p + 1) ^ 2))) * Antiderivative((~c + ~d * (~x) ^ 2) ^ (~p + 1) * ℯ ^ (~n * acot(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (LeQ(~p, -1) && (NeQ(~p, -3 / 2) && (NeQ((~n) ^ 2 + 4 * (~p + 1) ^ 2, 0) && (Not(IntegerQ(~p) && IntegerQ((im * ~n) / 2)) && Not(Not(IntegerQ(~p)) && IntegerQ((im * ~n - 1) / 2)))))))
    @apply_utils Antiderivative((~x) ^ 2 * (~c + ~(d') * (~x) ^ 2) ^ ~(p') * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => ((~n + 2 * (~p + 1) * ~a * ~x) * (~c + ~d * (~x) ^ 2) ^ (~p + 1) * ℯ ^ (~n * acot(~a * ~x))) / ((~a) ^ 3 * ~c * (~n) ^ 2 * ((~n) ^ 2 + 1)) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (EqQ((~n) ^ 2 - 2 * (~p + 1), 0) && NeQ((~n) ^ 2 + 1, 0)))
    @apply_utils Antiderivative((~x) ^ 2 * (~c + ~(d') * (~x) ^ 2) ^ ~p * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => ((~n + 2 * (~p + 1) * ~a * ~x) * (~c + ~d * (~x) ^ 2) ^ (~p + 1) * ℯ ^ (~n * acot(~a * ~x))) / ((~a) ^ 3 * ~c * ((~n) ^ 2 + 4 * (~p + 1) ^ 2)) + (((~n) ^ 2 - 2 * (~p + 1)) / ((~a) ^ 2 * ~c * ((~n) ^ 2 + 4 * (~p + 1) ^ 2))) * Antiderivative((~c + ~d * (~x) ^ 2) ^ (~p + 1) * ℯ ^ (~n * acot(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (LeQ(~p, -1) && (NeQ((~n) ^ 2 - 2 * (~p + 1), 0) && (NeQ((~n) ^ 2 + 4 * (~p + 1) ^ 2, 0) && (Not(IntegerQ(~p) && IntegerQ((im * ~n) / 2)) && Not(Not(IntegerQ(~p)) && IntegerQ((im * ~n - 1) / 2)))))))
    @apply_utils Antiderivative((~x) ^ ~(m') * (~c + ~(d') * (~x) ^ 2) ^ ~p * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => (-((~c) ^ ~p) / (~a) ^ (~m + 1)) * Subst(Antiderivative((ℯ ^ (~n * ~x) * cot(~x) ^ (~m + 2 * (~p + 1))) / cos(~x) ^ (2 * (~p + 1)), ~x), ~x, acot(~a * ~x)) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (IntegerQ(~m) && (LeQ(3, ~m, -2 * (~p + 1)) && IntegerQ(~p))))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') * (~x) ^ 2) ^ ~(p') * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => (~d) ^ ~p * Antiderivative(~u * (~x) ^ (2 * ~p) * (1 + 1 / ((~a) ^ 2 * (~x) ^ 2)) ^ ~p * ℯ ^ (~n * acot(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (Not(IntegerQ((im * ~n) / 2)) && IntegerQ(~p)))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') * (~x) ^ 2) ^ ~p * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => ((~c + ~d * (~x) ^ 2) ^ ~p / ((~x) ^ (2 * ~p) * (1 + 1 / ((~a) ^ 2 * (~x) ^ 2)) ^ ~p)) * Antiderivative(~u * (~x) ^ (2 * ~p) * (1 + 1 / ((~a) ^ 2 * (~x) ^ 2)) ^ ~p * ℯ ^ (~n * acot(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ(~d, (~a) ^ 2 * ~c) && (Not(IntegerQ((im * ~n) / 2)) && Not(IntegerQ(~p))))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') / (~x) ^ 2) ^ ~(p') * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => ((~c) ^ ~p / (im * ~a) ^ (2 * ~p)) * Antiderivative((~u / (~x) ^ (2 * ~p)) * (-1 + im * ~a * ~x) ^ (~p - (im * ~n) / 2) * (1 + im * ~a * ~x) ^ (~p + (im * ~n) / 2), ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ(~c, (~a) ^ 2 * ~d) && (Not(IntegerQ((im * ~n) / 2)) && ((IntegerQ(~p) || GtQ(~c, 0)) && IntegersQ(2 * ~p, ~p + (im * ~n) / 2))))
    @apply_utils Antiderivative((~c + ~(d') / (~x) ^ 2) ^ ~(p') * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => -((~c) ^ ~p) * Subst(Antiderivative(((1 - (im * ~x) / ~a) ^ (~p + (im * ~n) / 2) * (1 + (im * ~x) / ~a) ^ (~p - (im * ~n) / 2)) / (~x) ^ 2, ~x), ~x, 1 / ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ(~c, (~a) ^ 2 * ~d) && (Not(IntegerQ((im * ~n) / 2)) && ((IntegerQ(~p) || GtQ(~c, 0)) && Not(IntegerQ(2 * ~p) && IntegerQ(~p + (im * ~n) / 2)))))
    @apply_utils Antiderivative((~x) ^ ~(m') * (~c + ~(d') / (~x) ^ 2) ^ ~(p') * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => -((~c) ^ ~p) * Subst(Antiderivative(((1 - (im * ~x) / ~a) ^ (~p + (im * ~n) / 2) * (1 + (im * ~x) / ~a) ^ (~p - (im * ~n) / 2)) / (~x) ^ (~m + 2), ~x), ~x, 1 / ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ(~c, (~a) ^ 2 * ~d) && (Not(IntegerQ((im * ~n) / 2)) && ((IntegerQ(~p) || GtQ(~c, 0)) && (Not(IntegerQ(2 * ~p) && IntegerQ(~p + (im * ~n) / 2)) && IntegerQ(~m)))))
    @apply_utils Antiderivative((~x) ^ ~m * (~c + ~(d') / (~x) ^ 2) ^ ~(p') * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => -((~c) ^ ~p) * (~x) ^ ~m * (1 / ~x) ^ ~m * Subst(Antiderivative(((1 - (im * ~x) / ~a) ^ (~p + (im * ~n) / 2) * (1 + (im * ~x) / ~a) ^ (~p - (im * ~n) / 2)) / (~x) ^ (~m + 2), ~x), ~x, 1 / ~x) <-- FreeQ([~a, ~c, ~d, ~m, ~n, ~p], ~x) && (EqQ(~c, (~a) ^ 2 * ~d) && (Not(IntegerQ((im * ~n) / 2)) && ((IntegerQ(~p) || GtQ(~c, 0)) && (Not(IntegerQ(2 * ~p) && IntegerQ(~p + (im * ~n) / 2)) && Not(IntegerQ(~m))))))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') / (~x) ^ 2) ^ ~p * ℯ ^ (~(n') * acot(~(a') * ~x)), ~x) => ((~c + ~d / (~x) ^ 2) ^ ~p / (1 + 1 / ((~a) ^ 2 * (~x) ^ 2)) ^ ~p) * Antiderivative(~u * (1 + 1 / ((~a) ^ 2 * (~x) ^ 2)) ^ ~p * ℯ ^ (~n * acot(~a * ~x)), ~x) <-- FreeQ([~a, ~c, ~d, ~n, ~p], ~x) && (EqQ(~c, (~a) ^ 2 * ~d) && (Not(IntegerQ((im * ~n) / 2)) && Not(IntegerQ(~p) || GtQ(~c, 0))))
    @apply_utils Antiderivative(~(u') * ℯ ^ (~n * acot(~(c') * (~a + ~(b') * ~x))), ~x) => (-1) ^ ((im * ~n) / 2) * Antiderivative(~u * ℯ ^ (-(~n) * atan(~c * (~a + ~b * ~x))), ~x) <-- FreeQ([~a, ~b, ~c], ~x) && IntegerQ((im * ~n) / 2)
    @apply_utils Antiderivative(ℯ ^ (~(n') * acot(~(c') * (~a + ~(b') * ~x))), ~x) => (((im * ~c * (~a + ~b * ~x)) ^ ((im * ~n) / 2) * (1 + 1 / (im * ~c * (~a + ~b * ~x))) ^ ((im * ~n) / 2)) / (1 + im * ~a * ~c + im * ~b * ~c * ~x) ^ ((im * ~n) / 2)) * Antiderivative((1 + im * ~a * ~c + im * ~b * ~c * ~x) ^ ((im * ~n) / 2) / (-1 + im * ~a * ~c + im * ~b * ~c * ~x) ^ ((im * ~n) / 2), ~x) <-- FreeQ([~a, ~b, ~c, ~n], ~x) && Not(IntegerQ((im * ~n) / 2))
    @apply_utils Antiderivative((~x) ^ ~m * ℯ ^ (~n * acoth(~(c') * (~a + ~(b') * ~x))), ~x) => (4 / (im ^ ~m * ~n * (~b) ^ (~m + 1) * (~c) ^ (~m + 1))) * Subst(Antiderivative(((~x) ^ (2 / (im * ~n)) * (1 + im * ~a * ~c + (1 - im * ~a * ~c) * (~x) ^ (2 / (im * ~n))) ^ ~m) / (-1 + (~x) ^ (2 / (im * ~n))) ^ (~m + 2), ~x), ~x, (1 + 1 / (im * ~c * (~a + ~b * ~x))) ^ ((im * ~n) / 2) / (1 - 1 / (im * ~c * (~a + ~b * ~x))) ^ ((im * ~n) / 2)) <-- FreeQ([~a, ~b, ~c], ~x) && (ILtQ(~m, 0) && LtQ(-1, im * ~n, 1))
    @apply_utils Antiderivative((~(d') + ~(e') * ~x) ^ ~(m') * ℯ ^ (~(n') * acoth(~(c') * (~a + ~(b') * ~x))), ~x) => (((im * ~c * (~a + ~b * ~x)) ^ ((im * ~n) / 2) * (1 + 1 / (im * ~c * (~a + ~b * ~x))) ^ ((im * ~n) / 2)) / (1 + im * ~a * ~c + im * ~b * ~c * ~x) ^ ((im * ~n) / 2)) * Antiderivative(((~d + ~e * ~x) ^ ~m * (1 + im * ~a * ~c + im * ~b * ~c * ~x) ^ ((im * ~n) / 2)) / (-1 + im * ~a * ~c + im * ~b * ~c * ~x) ^ ((im * ~n) / 2), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~m, ~n], ~x) && Not(IntegerQ((im * ~n) / 2))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') * ~x + ~(e') * (~x) ^ 2) ^ ~(p') * ℯ ^ (~(n') * acot(~a + ~(b') * ~x)), ~x) => (~c / (1 + (~a) ^ 2)) ^ ~p * ((im * ~a + im * ~b * ~x) / (1 + im * ~a + im * ~b * ~x)) ^ ((im * ~n) / 2) * ((1 + im * ~a + im * ~b * ~x) / (im * ~a + im * ~b * ~x)) ^ ((im * ~n) / 2) * (((1 - im * ~a) - im * ~b * ~x) ^ ((im * ~n) / 2) / (-1 + im * ~a + im * ~b * ~x) ^ ((im * ~n) / 2)) * Antiderivative(~u * ((1 - im * ~a) - im * ~b * ~x) ^ (~p - (im * ~n) / 2) * (1 + im * ~a + im * ~b * ~x) ^ (~p + (im * ~n) / 2), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~n, ~p], ~x) && (Not(IntegerQ((im * ~n) / 2)) && (EqQ(~b * ~d - 2 * ~a * ~e, 0) && (EqQ((~b) ^ 2 * ~c - ~e * (1 + (~a) ^ 2), 0) && (IntegerQ(~p) || GtQ(~c / (1 + (~a) ^ 2), 0)))))
    @apply_utils Antiderivative(~(u') * (~c + ~(d') * ~x + ~(e') * (~x) ^ 2) ^ ~(p') * ℯ ^ (~(n') * acot(~a + ~(b') * ~x)), ~x) => ((~c + ~d * ~x + ~e * (~x) ^ 2) ^ ~p / (1 + (~a) ^ 2 + 2 * ~a * ~b * ~x + (~b) ^ 2 * (~x) ^ 2) ^ ~p) * Antiderivative(~u * (1 + (~a) ^ 2 + 2 * ~a * ~b * ~x + (~b) ^ 2 * (~x) ^ 2) ^ ~p * ℯ ^ (~n * acot(~a * ~x)), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~n, ~p], ~x) && (Not(IntegerQ((im * ~n) / 2)) && (EqQ(~b * ~d - 2 * ~a * ~e, 0) && (EqQ((~b) ^ 2 * ~c - ~e * (1 + (~a) ^ 2), 0) && Not(IntegerQ(~p) || GtQ(~c / (1 + (~a) ^ 2), 0)))))
    @apply_utils Antiderivative(~(u') * ℯ ^ (~(n') * acot(~(c') / (~(a') + ~(b') * ~x))), ~x) => Antiderivative(~u * ℯ ^ (~n * atan(~a / ~c + (~b * ~x) / ~c)), ~x) <-- FreeQ([~a, ~b, ~c, ~n], ~x)
end
