Rules for integrands involving exponentials of inverse tangents

1.  ∫u (e^(n ArcTan[a x]))dx

1.  ∫(x^m)(e^(n ArcTan[a x]))dx

1:  ∫(x^m)(e^(n ArcTan[a x]))dx  when  ((i n-1)/2)∈ℤ

Derivation: Algebraic simplification

Basis: (e^(n ArcTan[z]))==((((1-i z))^((i n+1)/2))/((((1+i z))^((i n-1)/2))(Sqrt[1+(z^2)])))

Rule: If ((i n-1)/2)∈ℤ, then

∫(x^m)(e^(n ArcTan[a x]))dx  ⟶  ∫(x^m)((((1-i a x))^((i n+1)/2))/((((1+i a x))^((i n-1)/2))(Sqrt[1+(a^2) (x^2)])))dx

Program code:

Int[E^(n_*ArcTan[a_.*x_]),x_Symbol] :=
  Int[((1-I*a*x)^((I*n+1)/2)/((1+I*a*x)^((I*n-1)/2)*Sqrt[1+a^2*x^2])),x] /;
FreeQ[a,x] && IntegerQ[(I*n-1)/2]

Int[x_^m_.*E^(n_*ArcTan[a_.*x_]),x_Symbol] :=
  Int[x^m*((1-I*a*x)^((I*n+1)/2)/((1+I*a*x)^((I*n-1)/2)*Sqrt[1+a^2*x^2])),x] /;
FreeQ[{a,m},x] && IntegerQ[(I*n-1)/2]

2:  ∫(x^m)(e^(n ArcTan[a x]))dx  when  ((i n-1)/2)∉ℤ

Derivation: Algebraic simplification

Basis: (e^(n ArcTan[z]))==((((1-i z))^(i n/2))/(((1+i z))^(i n/2)))

Rule: If ((i n-1)/2)∉ℤ, then

∫(x^m)(e^(n ArcTan[a x]))dx  ⟶  ∫(x^m)((((1-i a x))^((i n)/2))/(((1+i a x))^((i n)/2)))dx

Program code:

Int[E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  Int[(1-I*a*x)^(I*n/2)/(1+I*a*x)^(I*n/2),x] /;
FreeQ[{a,n},x] && Not[IntegerQ[(I*n-1)/2]]

Int[x_^m_.*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  Int[x^m*(1-I*a*x)^(I*n/2)/(1+I*a*x)^(I*n/2),x] /;
FreeQ[{a,m,n},x] && Not[IntegerQ[(I*n-1)/2]]

2.  ∫u(((c+d x))^p) (e^(n ArcTan[a x]))dx  when  (a^2) (c^2)+(d^2)==0

1:  ∫u(((c+d x))^p) (e^(n ArcTan[a x]))dx  when  (a^2) (c^2)+(d^2)==0 ∧ (p∈ℤ ∨ c>0)

Derivation: Algebraic simplification

Basis: ArcTan[z]==-i ArcTanh[i z]

Basis: (e^(n ArcTanh[z]))==((((1+z))^(n/2))/(((1-z))^(n/2)))

Note: Since (a^2) (c^2)+(d^2)==0, the factor (((1+((d x)/c)))^p) will combine with one of the factors (((1-i a x))^((i n)/2)) or (((1+i a x))^(-((i n)/2))).

Rule: If  (a^2) (c^2)+(d^2)==0 ∧ (p∈ℤ ∨ c>0), then

∫u(((c+d x))^p) (e^(n ArcTan[a x]))dx  ⟶  (c^p)∫u(((1+((d x)/c)))^p) ((((1-i a x))^((i n)/2))/(((1+i a x))^((i n)/2)))dx

Program code:

Int[u_.*(c_+d_.*x_)^p_.*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  c^p*Int[u*(1+d*x/c)^p*(1-I*a*x)^(I*n/2)/(1+I*a*x)^(I*n/2),x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[a^2*c^2+d^2,0] && (IntegerQ[p] || GtQ[c,0])

2:  ∫u(((c+d x))^p) (e^(n ArcTan[a x]))dx  when  (a^2) (c^2)+(d^2)==0 ∧ ¬(p∈ℤ ∨ c>0)

Derivation: Algebraic simplification

Basis: ArcTan[z]==-i ArcTanh[i z]

Basis: (e^(n ArcTanh[z]))==((((1+z))^(n/2))/(((1-z))^(n/2)))

Note: Since (a^2) (c^2)+(d^2)==0, the factor (((c+d x))^p) will combine with one of the factors (((1-i a x))^((i n)/2)) or (((1+i a x))^(-((i n)/2))) after piecewise constant extraction.

Rule: If  (a^2) (c^2)+(d^2)==0 ∧ ¬(p∈ℤ ∨ c>0), then

∫u(((c+d x))^p) (e^(n ArcTan[a x]))dx  ⟶  ∫((u(((c+d x))^p)(((1-i a x))^((i n)/2)))/(((1+i a x))^((i n)/2)))dx

Program code:

Int[u_.*(c_+d_.*x_)^p_.*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  Int[u*(c+d*x)^p*(1-I*a*x)^(I*n/2)/(1+I*a*x)^(I*n/2),x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[a^2*c^2+d^2,0] && Not[IntegerQ[p] || GtQ[c,0]]

3.  ∫u(((c+(d/x)))^p) (e^(n ArcTan[a x]))dx  when  (c^2)+(a^2)(d^2)==0

1:  ∫u(((c+(d/x)))^p) (e^(n ArcTan[a x]))dx  when  (c^2)+(a^2)(d^2)==0 ∧ p∈ℤ

Derivation: Algebraic simplification

Basis: If  p∈ℤ, then (((c+(d/x)))^p)==((d^p)/(x^p))(((1+((c x)/d)))^p)

Rule: If  (c^2)+(a^2)(d^2)==0 ∧ p∈ℤ, then

∫u(((c+(d/x)))^p) (e^(n ArcTan[a x]))dx  ⟶  (d^p)∫(u/(x^p))(((1+((c x)/d)))^p) (e^(n ArcTan[a x]))dx

Program code:

Int[u_.*(c_+d_./x_)^p_.*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  d^p*Int[u/x^p*(1+c*x/d)^p*E^(n*ArcTan[a*x]),x] /;
FreeQ[{a,c,d,n},x] && EqQ[c^2+a^2*d^2,0] && IntegerQ[p]

2.  ∫u(((c+(d/x)))^p) (e^(n ArcTan[a x]))dx  when  (c^2)+(a^2)(d^2)==0 ∧ p∉ℤ

1.  ∫u(((c+(d/x)))^p) (e^(n ArcTan[a x]))dx  when  (c^2)+(a^2)(d^2)==0 ∧ p∉ℤ ∧ ((i n)/2)∈ℤ

1:  ∫u(((c+(d/x)))^p) (e^(n ArcTan[a x]))dx  when  (c^2)+(a^2)(d^2)==0 ∧ p∉ℤ ∧ ((i n)/2)∈ℤ ∧ c>0

Derivation: Algebraic simplification

Basis: ArcTan[z]==-i ArcTanh[i z]

Basis: If  (n/2)∈ℤ, then (e^(n ArcTanh[z]))==((((1+z))^(n/2))/(((1-z))^(n/2)))==(((-1))^(n/2))((((1+(1/z)))^(n/2))/(((1-(1/z)))^(n/2)))

Note: Since (c^2)+(a^2)(d^2)==0, the factor (((1+((d )/(c x))))^p) will combine with the factor (((1-(1/(i a x))))^((i n)/2)) or (((1+(1/(i a x))))^(-((i n)/2))).

Rule: If  (c^2)+(a^2)(d^2)==0 ∧ p∉ℤ ∧ ((i n)/2)∈ℤ ∧ c>0, then

∫u(((c+(d/x)))^p) (e^(n ArcTanh[a x]))dx  ⟶  ∫u(((c+(d/x)))^p)(e^(-i n ArcTanh[i a x]))dx  ⟶  (((-1))^(n/2))(c^p)∫u(((1+((d )/(c x))))^p) ((((1-(1/(i a x))))^((i n)/2))/(((1+(1/(i a x))))^((i n)/2)))dx

Program code:

Int[u_.*(c_+d_./x_)^p_*E^(n_*ArcTanh[a_.*x_]),x_Symbol] :=
  (-1)^(n/2)*c^p*Int[u*(1+d/(c*x))^p*(1-1/(I*a*x))^(I*n/2)/(1+1/(I*a*x))^(I*n/2),x] /;
FreeQ[{a,c,d,p},x] && EqQ[c^2+a^2*d^2,0] && Not[IntegerQ[p]] && IntegerQ[I*n/2] && GtQ[c,0]

2:  ∫u(((c+(d/x)))^p) (e^(n ArcTan[a x]))dx  when  (c^2)+(a^2)(d^2)==0 ∧ p∉ℤ ∧ ((i n)/2)∈ℤ ∧ ¬(c>0)

Derivation: Algebraic simplification

Basis: ArcTan[z]==-i ArcTanh[i z]

Basis: (e^(n ArcTanh[z]))==((((1+z))^(n/2))/(((1-z))^(n/2)))

Rule: If  (c^2)+(a^2)(d^2)==0 ∧ p∉ℤ ∧ ((i n)/2)∈ℤ ∧ ¬(c>0), then

∫u(((c+(d/x)))^p) (e^(n ArcTan[a x]))dx  ⟶  ∫u(((c+(d/x)))^p)(e^(-i n ArcTanh[i a x]))dx  ⟶  ∫u(((c+(d/x)))^p)((((1-i a x))^((i n)/2))/(((1+i a x))^((i n)/2)))dx

Program code:

Int[u_.*(c_+d_./x_)^p_*E^(n_*ArcTan[a_.*x_]),x_Symbol] :=
  Int[u*(c+d/x)^p*(1-I*a*x)^(I*n/2)/(1+I*a*x)^(I*n/2),x] /;
FreeQ[{a,c,d,p},x] && EqQ[c^2+a^2*d^2,0] && Not[IntegerQ[p]] && IntegerQ[I*n/2] && Not[GtQ[c,0]]

2:  ∫u(((c+(d/x)))^p) (e^(n ArcTan[a x]))dx  when  (c^2)+(a^2)(d^2)==0 ∧ p∉ℤ

Derivation: Piecewise constant extraction

Basis: (∂_x)(((x^p)(((c+(d/x)))^p))/(((1+((c x)/d)))^p))==0

Rule: If  (c^2)+(a^2)(d^2)==0 ∧ p∉ℤ, then

∫u(((c+(d/x)))^p) (e^(n ArcTan[a x]))dx  ⟶  (((x^p)(((c+(d/x)))^p))/(((1+((c x)/d)))^p))∫(u/(x^p))(((1+((c x)/d)))^p) (e^(n ArcTan[a x]))dx

Program code:

Int[u_.*(c_+d_./x_)^p_*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  x^p*(c+d/x)^p/(1+c*x/d)^p*Int[u/x^p*(1+c*x/d)^p*E^(n*ArcTan[a*x]),x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[c^2+a^2*d^2,0] && Not[IntegerQ[p]]

4.  ∫u(((c+d (x^2)))^p)(e^(n ArcTan[a x]))dx  when  d==(a^2) c

1.  ∫(((c+d (x^2)))^p)(e^(n ArcTan[a x]))dx  when  d==(a^2) c

1.  ∫(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ p<-1 ∧ i n∉ℤ

1:  ∫((e^(n ArcTan[a x]))/(((c+d (x^2)))^(3/2)))dx  when  d==(a^2) c ∧ i n∉ℤ

Rule: If  d==(a^2) c ∧ i n∉ℤ, then

∫((e^(n ArcTan[a x]))/(((c+d (x^2)))^(3/2)))dx  ⟶  (((n+a x)(e^(n ArcTan[a x])))/(a c ((n^2)+1) (Sqrt[c+d (x^2)])))

Program code:

Int[E^(n_.*ArcTan[a_.*x_])/(c_+d_.*x_^2)^(3/2),x_Symbol] :=
  (n+a*x)*E^(n*ArcTan[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[I*n]]

2:  ∫(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ p<-1 ∧ i n∉ℤ ∧ (n^2)+4 (((p+1))^2)≠0

Rule: If  d==(a^2) c ∧ p<-1 ∧ i n∉ℤ ∧ (n^2)+4 (((p+1))^2)≠0, then

∫(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  ⟶  (((n-2 a (p+1) x) (((c+d (x^2)))^(p+1))(e^(n ArcTan[a x])))/(a c ((n^2)+4 (((p+1))^2))))+((2 (p+1) (2 p+3))/(c((n^2)+4 (((p+1))^2))))∫(((c+d (x^2)))^(p+1))(e^(n ArcTan[a x]))dx

Program code:

Int[(c_+d_.*x_^2)^p_*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  (n-2*a*(p+1)*x)*(c+d*x^2)^(p+1)*E^(n*ArcTan[a*x])/(a*c*(n^2+4*(p+1)^2)) + 
  2*(p+1)*(2*p+3)/(c*(n^2+4*(p+1)^2))*Int[(c+d*x^2)^(p+1)*E^(n*ArcTan[a*x]),x] /;
FreeQ[{a,c,d,n},x] && EqQ[d,a^2*c] && LtQ[p,-1] && Not[IntegerQ[I*n]] && NeQ[n^2+4*(p+1)^2,0] && IntegerQ[2*p]

2.  ∫(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ (p∈ℤ ∨ c>0)

1:  ∫((e^(n ArcTan[a x]))/(c+d (x^2)))dx  when  d==(a^2) c

Rule: If  d==(a^2) c, then

∫((e^(n ArcTan[a x]))/(c+d (x^2)))dx  ⟶  ((e^(n ArcTan[a x]))/(a c n))

Program code:

Int[E^(n_.*ArcTan[a_.*x_])/(c_+d_.*x_^2),x_Symbol] :=
  E^(n*ArcTan[a*x])/(a*c*n) /;
FreeQ[{a,c,d,n},x] && EqQ[d,a^2*c]

2:  ∫(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ p∈ℤ ∧ ((i n+1)/2)∈ℤ

Derivation: Algebraic simplification

Basis: (e^(n ArcTan[z]))==((((1-i z))^(i n))/(((1+(z^2)))^((i n)/2)))

Rule: If  d==(a^2) c ∧ p∈ℤ ∧ ((i n+1)/2)∈ℤ, then

∫(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  ⟶  (c^p)∫(((1+(a^2)(x^2)))^p) ((((1-i a x))^(i n))/(((1+(a^2)(x^2)))^((i n)/2)))dx  ⟶  (c^p)∫(((1+(a^2) (x^2)))^(p-((i n)/2))) (((1-i a x))^(i n))dx

Program code:

Int[(c_+d_.*x_^2)^p_.*E^(n_*ArcTan[a_.*x_]),x_Symbol] :=
  c^p*Int[(1+a^2*x^2)^(p-I*n/2)*(1-I*a*x)^(I*n),x] /;
FreeQ[{a,c,d,p},x] && EqQ[d,a^2*c] && IntegerQ[p] && IntegerQ[(I*n+1)/2] && Not[IntegerQ[p-I*n/2]]

3:  ∫(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ (p∈ℤ ∨ c>0)

Derivation: Algebraic simplification

Basis: If  d==(a^2) c ∧ p∈ℤ, then (((c+d (x^2)))^p)==(c^p) (((1-i a x))^p) (((1+i a x))^p)

Basis: (e^(n ArcTan[z]))==((((1-i z))^(i n/2))/(((1+i z))^(i n/2)))

Rule: If  d==(a^2) c ∧ (p∈ℤ ∨ c>0), then

∫(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  ⟶  (c^p)∫(((1-i a x))^p)(((1+i a x))^p) ((((1-i a x))^((i n)/2))/(((1+i a x))^((i n)/2)))dx  ⟶  (c^p)∫(((1-i a x))^(p+((i n)/2)))(((1+i a x))^(p-((i n)/2)))dx

Program code:

Int[(c_+d_.*x_^2)^p_.*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  c^p*Int[(1-I*a*x)^(p+I*n/2)*(1+I*a*x)^(p-I*n/2),x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[d,a^2*c] && (IntegerQ[p] || GtQ[c,0])

3.  ∫(((c+d (x^2)))^p)(e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0)

1.  ∫(((c+d (x^2)))^p)(e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0) ∧ ((i n)/2)∈ℤ

1:  ∫(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0) ∧ ((i n)/2)∈(SuperPlus[ℤ])

Derivation: Algebraic simplification

Basis: (e^(n ArcTan[z]))==((((1-i z))^(i n))/(((1+(z^2)))^((i n)/2)))

Basis: If  d==(a^2) c ∧ ((i n)/2)∈ℤ, then (((1+(a^2)(x^2)))^(-((i n)/2)))==(c^((i n)/2))(((c+d (x^2)))^(-((i n)/2)))

Rule: If  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0) ∧ ((i n)/2)∈(SuperPlus[ℤ]), then

∫(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  ⟶  ∫(((c+d (x^2)))^p) ((((1-i a x))^(i n))/(((1+(a^2)(x^2)))^((i n)/2)))dx  ⟶  (c^((i n)/2))∫(((c+d (x^2)))^(p-((i n)/2))) (((1-i a x))^(i n)) dx

Program code:

Int[(c_+d_.*x_^2)^p_*E^(n_*ArcTan[a_.*x_]),x_Symbol] :=
  c^(I*n/2)*Int[(c+d*x^2)^(p-I*n/2)*(1-I*a*x)^(I*n),x] /;
FreeQ[{a,c,d,p},x] && EqQ[d,a^2*c] && Not[IntegerQ[p] || GtQ[c,0]] && IGtQ[I*n/2,0]

2:  ∫(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0) ∧ ((i n)/2)∈(SuperMinus[ℤ])

Derivation: Algebraic simplification

Basis: (e^(n ArcTan[z]))==((((1+(z^2)))^((i n)/2))/(((1+i z))^(i n)))

Basis: If  d==(a^2) c ∧ ((i n)/2)∈ℤ, then (((1+(a^2)(x^2)))^((i n)/2))==(1/(c^((i n)/2)))(((c+d (x^2)))^((i n)/2))

Rule: If  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0) ∧ ((i n)/2)∈(SuperMinus[ℤ]), then

∫(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  ⟶  ∫(((c+d (x^2)))^p) ((((1+(a^2)(x^2)))^((i n)/2))/(((1+i a x))^(i n)))dx  ⟶  (1/(c^((i n)/2)))∫((((c+d (x^2)))^(p+((i n)/2)))/(((1+i a x))^(i n)))dx

Program code:

Int[(c_+d_.*x_^2)^p_*E^(n_*ArcTan[a_.*x_]),x_Symbol] :=
  1/c^(I*n/2)*Int[(c+d*x^2)^(p+I*n/2)/(1+I*a*x)^(I*n),x] /;
FreeQ[{a,c,d,p},x] && EqQ[d,a^2*c] && Not[IntegerQ[p] || GtQ[c,0]] && ILtQ[I*n/2,0]

2:  ∫(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0) ∧ ((i n)/2)∉ℤ

Derivation: Piecewise constant extraction

Basis: If  d==(a^2) c, then (∂_x)((((c+d (x^2)))^p)/(((1+(a^2) (x^2)))^p))==0

Rule: If  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0) ∧ ((i n)/2)∉ℤ, then

∫(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  ⟶  (((c^(IntPart[p])) (((c+d (x^2)))^(FracPart[p])))/(((1+(a^2) (x^2)))^(FracPart[p])))∫(((1+(a^2) (x^2)))^p) (e^(n ArcTan[a x]))dx

Program code:

Int[(c_+d_.*x_^2)^p_*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  c^IntPart[p]*(c+d*x^2)^FracPart[p]/(1+a^2*x^2)^FracPart[p]*Int[(1+a^2*x^2)^p*E^(n*ArcTan[a*x]),x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[d,a^2*c] && Not[IntegerQ[p] || GtQ[c,0]]

2.  ∫(x^m) (((c+d (x^2)))^p)(e^(n ArcTan[a x]))dx  when  d==(a^2) c

1.  ∫x(((c+d (x^2)))^p)(e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ p<-1 ∧ i n∉ℤ

1:  ∫((x (e^(n ArcTan[a x])))/(((c+d (x^2)))^(3/2)))dx  when  d==(a^2) c ∧ i n∉ℤ

Rule: If  d==(a^2) c ∧ i n∉ℤ, then

∫((x (e^(n ArcTan[a x])))/(((c+d (x^2)))^(3/2)))dx  ⟶  -(((1-a n x)(e^(n ArcTan[a x])))/(d ((n^2)+1) (Sqrt[c+d (x^2)])))

Program code:

Int[x_*E^(n_.*ArcTan[a_.*x_])/(c_+d_.*x_^2)^(3/2),x_Symbol] :=
  -(1-a*n*x)*E^(n*ArcTan[a*x])/(d*(n^2+1)*Sqrt[c+d*x^2]) /;
FreeQ[{a,c,d,n},x] && EqQ[d,a^2*c] && Not[IntegerQ[I*n]]

2:  ∫x(((c+d (x^2)))^p)(e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ p<-1 ∧ i n∉ℤ

Derivation: Integration by parts

Basis: (∂_x)((((c+d (x^2)))^(p+1))/(2 d (p+1)))==x (((c+d (x^2)))^p)

Rule: If  d==(a^2) c ∧ p<-1 ∧ i n∉ℤ, then

∫x(((c+d (x^2)))^p)(e^(n ArcTan[a x]))dx  ⟶  (((((c+d (x^2)))^(p+1)) (e^(n ArcTan[a x])))/(2 d (p+1)))-((a c n)/(2 d (p+1)))∫(((c+d (x^2)))^p)(e^(n ArcTan[a x]))dx

  ⟶  (((2(p+1)+a n x)(((c+d (x^2)))^(p+1))(e^(n ArcTan[a x])))/((a^2) c ((n^2)+4(((p+1))^2))))-((n(2p+3))/(a c ((n^2)+4(((p+1))^2))))∫(((c+d (x^2)))^(p+1))(e^(n ArcTan[a x]))dx

Program code:

Int[x_*(c_+d_.*x_^2)^p_*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  (c+d*x^2)^(p+1)*E^(n*ArcTan[a*x])/(2*d*(p+1)) - a*c*n/(2*d*(p+1))*Int[(c+d*x^2)^p*E^(n*ArcTan[a*x]),x] /;
FreeQ[{a,c,d,n},x] && EqQ[d,a^2*c] && LtQ[p,-1] && Not[IntegerQ[I*n]] && IntegerQ[2*p]

(* Int[x_*(c_+d_.*x_^2)^p_*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  (2*(p+1)+a*n*x)*(c+d*x^2)^(p+1)*E^(n*ArcTan[a*x])/(a^2*c*(n^2+4*(p+1)^2)) - 
  n*(2*p+3)/(a*c*(n^2+4*(p+1)^2))*Int[(c+d*x^2)^(p+1)*E^(n*ArcTan[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[I*n]] *)

2.  ∫(x^2) (((c+d (x^2)))^p)(e^(n ArcTanh[a x]))dx  when  (a^2) c+d==0 ∧ p<-1 ∧ n∉ℤ

1:  ∫(x^2) (((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ (n^2)-2(p+1)==0 ∧ i n∉ℤ

Rule: If  d==(a^2) c ∧ (n^2)-2(p+1)==0 ∧ i n∉ℤ, then

∫(x^2) (((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  ⟶  -(((1-a n x) (((c+d (x^2)))^(p+1)) (e^(n ArcTan[a x])))/(a d n ((n^2)+1)))

Program code:

Int[x_^2*(c_+d_.*x_^2)^p_.*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  -(1-a*n*x)*(c+d*x^2)^(p+1)*E^(n*ArcTan[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[I*n]]

2:  ∫(x^2)(((c+d (x^2)))^p)(e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ p<-1 ∧ i n∉ℤ ∧ (n^2)+4(((p+1))^2)≠0

Derivation: Algebraic expansion and ???

Basis: (x^2) (((c+d (x^2)))^p)==-((c (((c+d (x^2)))^p))/d)+((((c+d (x^2)))^(p+1))/d)

Rule: If  d==(a^2) c ∧ p<-1 ∧ i n∉ℤ ∧ (n^2)+4(((p+1))^2)≠0, then

∫(x^2)(((c+d (x^2)))^p)(e^(n ArcTan[a x]))dx  ⟶  -(c/d) ∫(((c+d (x^2)))^p)(e^(n ArcTan[a x]))dx+(1/d)∫(((c+d (x^2)))^(p+1))(e^(n ArcTan[a x]))dx

  ⟶  -(((n-2(p+1) a x)(((c+d (x^2)))^(p+1))(e^(n ArcTan[a x])))/(a d((n^2)+4(((p+1))^2))))+(((n^2)-2(p+1))/(d((n^2)+4(((p+1))^2))))∫(((c+d (x^2)))^(p+1))(e^(n ArcTan[a x]))dx

Program code:

Int[x_^2*(c_+d_.*x_^2)^p_*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  -(n-2*(p+1)*a*x)*(c+d*x^2)^(p+1)*E^(n*ArcTan[a*x])/(a*d*(n^2+4*(p+1)^2)) + 
  (n^2-2*(p+1))/(d*(n^2+4*(p+1)^2))*Int[(c+d*x^2)^(p+1)*E^(n*ArcTan[a*x]),x] /;
FreeQ[{a,c,d,n},x] && EqQ[d,a^2*c] && LtQ[p,-1] && Not[IntegerQ[I*n]] && NeQ[n^2+4*(p+1)^2,0] && IntegerQ[2*p]

3.  ∫(x^m) (((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ (p∈ℤ ∨ c>0)

1:  ∫(x^m) (((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ (p∈ℤ ∨ c>0) ∧ ((i n+1)/2)∈ℤ

Derivation: Algebraic simplification

Basis: (e^(n ArcTan[z]))==((((1-i z))^(i n))/(((1+(z^2)))^((i n)/2)))

Rule: If  d==(a^2) c ∧ (p∈ℤ ∨ c>0) ∧ ((i n+1)/2)∈ℤ, then

∫(x^m) (((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  ⟶  (c^p)∫(x^m) (((1+(a^2)(x^2)))^p) ((((1-i a x))^(i n))/(((1+(a^2)(x^2)))^((i n)/2)))dx  ⟶  (c^p)∫(x^m) (((1+(a^2) (x^2)))^(p-((i n)/2))) (((1-i a x))^(i n))dx

Program code:

Int[x_^m_.*(c_+d_.*x_^2)^p_.*E^(n_*ArcTan[a_.*x_]),x_Symbol] :=
  c^p*Int[x^m*(1+a^2*x^2)^(p-I*n/2)*(1-I*a*x)^(I*n),x] /;
FreeQ[{a,c,d,m,p},x] && EqQ[d,a^2*c] && (IntegerQ[p] || GtQ[c,0]) && IntegerQ[(I*n+1)/2] && Not[IntegerQ[p-I*n/2]]

2:  ∫(x^m) (((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ (p∈ℤ ∨ c>0)

Derivation: Algebraic simplification

Basis: If  d==(a^2) c ∧ p∈ℤ, then (((c+d (x^2)))^p)==(c^p) (((1-i a x))^p) (((1+i a x))^p)

Basis: (e^(n ArcTan[z]))==((((1-i z))^(i n/2))/(((1+i z))^(i n/2)))

Rule: If  d==(a^2) c ∧ (p∈ℤ ∨ c>0), then

∫(x^m) (((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  ⟶  (c^p)∫(x^m) (((1-i a x))^p)(((1+i a x))^p) ((((1-i a x))^((i n)/2))/(((1+i a x))^((i n)/2)))dx  ⟶  (c^p)∫(x^m) (((1-i a x))^(p+((i n)/2)))(((1+i a x))^(p-((i n)/2)))dx

Program code:

Int[x_^m_.*(c_+d_.*x_^2)^p_.*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  c^p*Int[x^m*(1-I*a*x)^(p+I*n/2)*(1+I*a*x)^(p-I*n/2),x] /;
FreeQ[{a,c,d,m,n,p},x] && EqQ[d,a^2*c] && (IntegerQ[p] || GtQ[c,0])

4.  ∫(x^m) (((c+d (x^2)))^p)(e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0)

1.  ∫(x^m) (((c+d (x^2)))^p)(e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0) ∧ ((i n)/2)∈ℤ

1:  ∫(x^m) (((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0) ∧ ((i n)/2)∈(SuperPlus[ℤ])

Derivation: Algebraic simplification

Basis: (e^(n ArcTan[z]))==((((1-i z))^(i n))/(((1+(z^2)))^((i n)/2)))

Basis: If  d==(a^2) c ∧ ((i n)/2)∈ℤ, then (((1+(a^2)(x^2)))^(-((i n)/2)))==(c^((i n)/2))(((c+d (x^2)))^(-((i n)/2)))

Rule: If  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0) ∧ ((i n)/2)∈(SuperPlus[ℤ]), then

∫(x^m) (((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  ⟶  ∫(x^m) (((c+d (x^2)))^p) ((((1-i a x))^(i n))/(((1+(a^2)(x^2)))^((i n)/2)))dx  ⟶  (c^((i n)/2))∫(x^m) (((c+d (x^2)))^(p-((i n)/2))) (((1-i a x))^(i n)) dx

Program code:

Int[x_^m_.*(c_+d_.*x_^2)^p_*E^(n_*ArcTan[a_.*x_]),x_Symbol] :=
  c^(I*n/2)*Int[x^m*(c+d*x^2)^(p-I*n/2)*(1-I*a*x)^(I*n),x] /;
FreeQ[{a,c,d,m,p},x] && EqQ[d,a^2*c] && Not[IntegerQ[p] || GtQ[c,0]] && IGtQ[I*n/2,0]

2:  ∫(x^m) (((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0) ∧ ((i n)/2)∈(SuperMinus[ℤ])

Derivation: Algebraic simplification

Basis: (e^(n ArcTan[z]))==((((1+(z^2)))^((i n)/2))/(((1+i z))^(i n)))

Basis: If  d==(a^2) c ∧ ((i n)/2)∈ℤ, then (((1+(a^2)(x^2)))^((i n)/2))==(1/(c^((i n)/2)))(((c+d (x^2)))^((i n)/2))

Rule: If  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0) ∧ ((i n)/2)∈(SuperMinus[ℤ]), then

∫(x^m) (((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  ⟶  ∫(x^m) (((c+d (x^2)))^p) ((((1+(a^2)(x^2)))^((i n)/2))/(((1+i a x))^(i n)))dx  ⟶  (1/(c^((i n)/2)))∫(((x^m) (((c+d (x^2)))^(p+((i n)/2))))/(((1+i a x))^(i n)))dx

Program code:

Int[x_^m_.*(c_+d_.*x_^2)^p_*E^(n_*ArcTan[a_.*x_]),x_Symbol] :=
  1/c^(I*n/2)*Int[x^m*(c+d*x^2)^(p+I*n/2)/(1+I*a*x)^(I*n),x] /;
FreeQ[{a,c,d,m,p},x] && EqQ[d,a^2*c] && Not[IntegerQ[p] || GtQ[c,0]] && ILtQ[I*n/2,0]

2:  ∫(x^m) (((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0) ∧ ((i n)/2)∉ℤ

Derivation: Piecewise constant extraction

Basis: If  d==(a^2) c, then (∂_x)((((c+d (x^2)))^p)/(((1+(a^2) (x^2)))^p))==0

Rule: If  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0) ∧ ((i n)/2)∉ℤ, then

∫(x^m) (((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  ⟶  (((c^(IntPart[p])) (((c+d (x^2)))^(FracPart[p])))/(((1+(a^2) (x^2)))^(FracPart[p])))∫(x^m) (((1+(a^2) (x^2)))^p) (e^(n ArcTan[a x]))dx

Program code:

Int[x_^m_.*(c_+d_.*x_^2)^p_*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  c^IntPart[p]*(c+d*x^2)^FracPart[p]/(1+a^2*x^2)^FracPart[p]*Int[x^m*(1+a^2*x^2)^p*E^(n*ArcTan[a*x]),x] /;
FreeQ[{a,c,d,m,n,p},x] && EqQ[d,a^2*c] && Not[IntegerQ[p] || GtQ[c,0]]

3.  ∫u(((c+d (x^2)))^p)(e^(n ArcTan[a x]))dx  when  d==(a^2) c

1:  ∫u(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ (p∈ℤ ∨ c>0)

Derivation: Algebraic simplification

Basis: (e^(n ArcTan[z]))==((((1-i z))^((i n)/2))/(((1+i z))^((i n)/2)))

Basis: (((1+(z^2)))^p)==(((1-i z))^p)(((1+i z))^p)

Rule: If  d==(a^2) c ∧ (p∈ℤ ∨ c>0), then

∫u(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  ⟶  (c^p)∫u(((1-i a x))^p)(((1+i a x))^p) ((((1-i a x))^((i n)/2))/(((1+i a x))^((i n)/2)))dx  ⟶  (c^p)∫u(((1-i a x))^(p+((i n)/2)))(((1+i a x))^(p-((i n)/2)))dx

Program code:

Int[u_*(c_+d_.*x_^2)^p_.*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  c^p*Int[u*(1-I*a*x)^(p+I*n/2)*(1+I*a*x)^(p-I*n/2),x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[d,a^2*c] && (IntegerQ[p] || GtQ[c,0])

2.  ∫u(((c+d (x^2)))^p)(e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0)

1:  ∫u(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0)∧ ((i n)/2)∈ℤ

Derivation: Piecewise constant extraction

Basis: If  d==(a^2) c, then (∂_x)((((c+d (x^2)))^p)/((((1-i a x))^p) (((1+i a x))^p)))==0

Basis: (e^(n ArcTan[z]))==((((1-i z))^((i n)/2))/(((1+i z))^((i n)/2)))

Rule: If  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0)∧ ((i n)/2)∈ℤ, then

∫u(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  ⟶  (((c^(IntPart[p])) (((c+d (x^2)))^(FracPart[p])))/((((1-i a x))^(FracPart[p])) (((1+i a x))^(FracPart[p]))))∫u(((1-i a x))^(p+((i n)/2)))(((1+i a x))^(p-((i n)/2)))dx

Program code:

Int[u_*(c_+d_.*x_^2)^p_.*E^(n_*ArcTan[a_.*x_]),x_Symbol] :=
  c^IntPart[p]*(c+d*x^2)^FracPart[p]/((1-I*a*x)^FracPart[p]*(1+I*a*x)^FracPart[p])*
    Int[u*(1-I*a*x)^(p+I*n/2)*(1+I*a*x)^(p-I*n/2),x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[d,a^2*c] && (IntegerQ[p] || GtQ[c,0]) && IntegerQ[I*n/2]

2:  ∫u(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  when  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0)∧ ((i n)/2)∉ℤ

Derivation: Piecewise constant extraction

Basis: If  d==(a^2) c, then (∂_x)((((c+d (x^2)))^p)/(((1+(a^2) (x^2)))^p))==0

Rule: If  d==(a^2) c ∧ ¬(p∈ℤ ∨ c>0)∧ ((i n)/2)∉ℤ, then

∫u(((c+d (x^2)))^p) (e^(n ArcTan[a x]))dx  ⟶  (((c^(IntPart[p])) (((c+d (x^2)))^(FracPart[p])))/(((1+(a^2)(x^2)))^(FracPart[p])))∫u(((1+(a^2) (x^2)))^p) (e^(n ArcTan[a x]))dx

Program code:

Int[u_*(c_+d_.*x_^2)^p_*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  c^IntPart[p]*(c+d*x^2)^FracPart[p]/(1+a^2*x^2)^FracPart[p]*Int[u*(1+a^2*x^2)^p*E^(n*ArcTan[a*x]),x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[d,a^2*c] && Not[IntegerQ[p] || GtQ[c,0]] && Not[IntegerQ[I*n/2]]

5.  ∫u(((c+(d/(x^2))))^p) (e^(n ArcTan[a x]))dx  when  c==(a^2) d

1:  ∫u(((c+(d/(x^2))))^p) (e^(n ArcTan[a x]))dx  when  c==(a^2) d ∧ p∈ℤ

Derivation: Algebraic simplification

Basis: If  c==(a^2) d ∧ p∈ℤ, then (((c+(d/(x^2))))^p)==((d^p)/(x^(2 p)))(((1+(a^2) (x^2)))^p)

Rule: If  c==(a^2) d ∧ p∈ℤ, then

∫u(((c+(d/(x^2))))^p) (e^(n ArcTan[a x]))dx  ⟶  (d^p)∫(u/(x^(2 p)))(((1+(a^2) (x^2)))^p) (e^(n ArcTan[a x]))dx

Program code:

Int[u_.*(c_+d_./x_^2)^p_.*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  d^p*Int[u/x^(2*p)*(1+a^2*x^2)^p*E^(n*ArcTan[a*x]),x] /;
FreeQ[{a,c,d,n},x] && EqQ[c-a^2*d,0] && IntegerQ[p]

2.  ∫u(((c+(d/(x^2))))^p) (e^(n ArcTan[a x]))dx  when  c==(a^2) d ∧ p∉ℤ

1.  ∫u(((c+(d/(x^2))))^p) (e^(n ArcTan[a x]))dx  when  c==(a^2) d ∧ p∉ℤ ∧ ((i n)/2)∈ℤ

1:  ∫u(((c+(d/(x^2))))^p) (e^(n ArcTan[a x]))dx  when  c==(a^2) d ∧ p∉ℤ ∧ ((i n)/2)∈ℤ ∧ c>0

Derivation: Algebraic simplification

Basis: (((1+(z^2)))^p)==(((1-i z))^p)(((1+i z))^p)

Rule: If  c==(a^2) d ∧ p∉ℤ ∧ ((i n)/2)∈ℤ ∧ c>0, then

∫u(((c+(d/(x^2))))^p) (e^(n ArcTan[a x]))dx  ⟶  (c^p)∫u(((1+((1 )/((a^2)(x^2)))))^p) (e^(n ArcTan[a x]))dx  ⟶  (c^p)∫u(((1-(i/(a x))))^p) (((1+(i/(a x))))^p)(e^(n ArcTan[a x]))dx

Program code:

Int[u_.*(c_+d_./x_^2)^p_*E^(n_*ArcTan[a_.*x_]),x_Symbol] :=
  c^p*Int[u*(1-I/(a*x))^p*(1+I/(a*x))^p*E^(n*ArcTan[a*x]),x] /;
FreeQ[{a,c,d,p},x] && EqQ[c-a^2*d,0] && Not[IntegerQ[p]] && IntegerQ[I*n/2] && GtQ[c,0]

2:  ∫u(((c+(d/(x^2))))^p) (e^(n ArcTan[a x]))dx  when  c==(a^2) d ∧ p∉ℤ ∧ ((i n)/2)∈ℤ ∧ ¬(c>0)

Derivation: Piecewise constant extraction

Basis: If  c==(a^2) d, then (∂_x)(((x^(2p))(((c+(d/(x^2))))^p))/((((1-i a x))^p)(((1+i a x))^p)))==0

Rule: If  c==(a^2) d ∧ p∉ℤ ∧ ((i n)/2)∈ℤ ∧ ¬(c>0), then

∫u(((c+(d/(x^2))))^p) (e^(n ArcTan[a x]))dx  ⟶  (((x^(2p))(((c+(d/(x^2))))^p))/((((1-i a x))^p)(((1+i a x))^p)))∫(u/(x^(2 p)))(((1-i a x))^p)(((1+i a x))^p) (e^(n ArcTan[a x]))dx

Program code:

Int[u_.*(c_+d_./x_^2)^p_*E^(n_*ArcTan[a_.*x_]),x_Symbol] :=
  x^(2*p)*(c+d/x^2)^p/((1-I*a*x)^p*(1+I*a*x)^p)*Int[u/x^(2*p)*(1-I*a*x)^p*(1+I*a*x)^p*E^(n*ArcTan[a*x]),x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[c-a^2*d,0] && Not[IntegerQ[p]] && IntegerQ[I*n/2] && Not[GtQ[c,0]]

2:  ∫u(((c+(d/(x^2))))^p) (e^(n ArcTan[a x]))dx  when  c==(a^2) d ∧ p∉ℤ ∧ ((i n)/2)∉ℤ

Derivation: Piecewise constant extraction

Basis: If  c==(a^2) d, then (∂_x)(((x^(2p))(((c+(d/(x^2))))^p))/(((1+(a^2) (x^2)))^p))==0

Rule: If  c==(a^2) d ∧ p∉ℤ ∧ ((i n)/2)∉ℤ, then

∫u(((c+(d/(x^2))))^p) (e^(n ArcTan[a x]))dx  ⟶  (((x^(2p))(((c+(d/(x^2))))^p))/(((1+(a^2) (x^2)))^p))∫(u/(x^(2 p)))(((1+(a^2) (x^2)))^p) (e^(n ArcTan[a x]))dx

Program code:

Int[u_.*(c_+d_./x_^2)^p_*E^(n_.*ArcTan[a_.*x_]),x_Symbol] :=
  x^(2*p)*(c+d/x^2)^p/(1+a^2*x^2)^p*Int[u/x^(2*p)*(1+a^2*x^2)^p*E^(n*ArcTan[a*x]),x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[c-a^2*d,0] && Not[IntegerQ[p]] && Not[IntegerQ[I*n/2]]

2.  ∫u (e^(n ArcTan[a+b x]))dx

1:  ∫(e^(n ArcTan[c (a+b x)]))dx

Derivation: Algebraic simplification

Basis: ArcTan[z]==-i ArcTanh[i z]

Basis: (e^(n ArcTanh[z]))==((((1+z))^(n/2))/(((1-z))^(n/2)))

Note: The second step of this composite rule would be unnecessary if Mathematica did not gratuitously simplify ArcTanh[i z] to i ArcTan[z].

Rule:

∫(e^(n ArcTan[c (a+b x)]))dx  ⟶  ∫(e^(-i n ArcTanh[i c (a+b x)]))dx  ⟶  ∫((((1-i a c-i b c x))^((i n)/2))/(((1+i a c+i b c x))^((i n)/2)))dx

Program code:

Int[E^(n_.*ArcTan[c_.*(a_+b_.*x_)]),x_Symbol] :=
  Int[(1-I*a*c-I*b*c*x)^(I*n/2)/(1+I*a*c+I*b*c*x)^(I*n/2),x] /;
FreeQ[{a,b,c,n},x]

2.  ∫(((d+e x))^m) (e^(n ArcTan[c (a+b x)]))dx

1:  ∫(x^m) (e^(n ArcTan[c (a+b x)]))dx  when  m∈(SuperMinus[ℤ])∧ -1<i n<1

Derivation: Algebraic simplification and integration by substitution

Basis: ArcTan[z]==-i ArcTanh[i z]

Basis: (e^(n ArcTanh[z]))==((((1+z))^(n/2))/(((1-z))^(n/2)))

Basis: If  m∈ℤ ∧ -1<i n<1 , then (x^m)((((1-i c (a+b x)))^((i n)/2))/(((1+i c (a+b x)))^((i n)/2)))==(4/((i^m)n (b^(m+1))(c^(m+1))))Subst[(((x^(2/(i n))) (((1-i a c-(1+i a c) (x^(2/(i n)))))^m))/(((1+(x^(2/(i n)))))^(m+2))),x,((((1-i c (a+b x)))^((i n)/2))/(((1+i c (a+b x)))^((i n)/2)))](∂_x)((((1-i c (a+b x)))^((i n)/2))/(((1+i c (a+b x)))^((i n)/2)))

Note: There should be an algebraic substitution rule that makes this rule redundant.

Rule: If  m∈(SuperMinus[ℤ])∧ -1<i n<1 , then

∫(x^m) (e^(n ArcTan[c (a+b x)]))dx  ⟶  ∫(x^m)(e^(-i n ArcTanh[i c (a+b x)]))dx                                                                                          
                                                       ⟶  ∫(x^m)((((1-i c (a+b x)))^((i n)/2))/(((1+i c (a+b x)))^((i n)/2)))dx                                                                                                
                                                                    ⟶  (4/((i^m)n (b^(m+1))(c^(m+1))))Subst[∫(((x^(2/(i n))) (((1-i a c-(1+i a c) (x^(2/(i n)))))^m))/(((1+(x^(2/(i n)))))^(m+2)))dx,x,((((1-i c (a+b x)))^((i n)/2))/(((1+i c (a+b x)))^((i n)/2)))]

Program code:

Int[x_^m_*E^(n_*ArcTan[c_.*(a_+b_.*x_)]),x_Symbol] :=
  4/(I^m*n*b^(m+1)*c^(m+1))*
    Subst[Int[x^(2/(I*n))*(1-I*a*c-(1+I*a*c)*x^(2/(I*n)))^m/(1+x^(2/(I*n)))^(m+2),x],x,
      (1-I*c*(a+b*x))^(I*n/2)/(1+I*c*(a+b*x))^(I*n/2)] /;
FreeQ[{a,b,c},x] && ILtQ[m,0] && LtQ[-1,I*n,1]

2:  ∫(((d+e x))^m) (e^(n ArcTan[c (a+b x)]))dx

Derivation: Algebraic simplification

Basis: ArcTan[z]==-i ArcTanh[i z]

Basis: (e^(n ArcTanh[z]))==((((1+z))^(n/2))/(((1-z))^(n/2)))

Rule:

∫(((d+e x))^m)(e^(n ArcTan[c (a+b x)]))dx  ⟶  ∫(((d+e x))^m)(e^(-i n ArcTanh[i c (a+b x)]))dx  ⟶  ∫(((d+e x))^m)((((1-i a c-i b c x))^((i n)/2))/(((1+i a c+i b c x))^((i n)/2)))dx

Program code:

Int[(d_.+e_.*x_)^m_.*E^(n_.*ArcTan[c_.*(a_+b_.*x_)]),x_Symbol] :=
  Int[(d+e*x)^m*(1-I*a*c-I*b*c*x)^(I*n/2)/(1+I*a*c+I*b*c*x)^(I*n/2),x] /;
FreeQ[{a,b,c,d,e,m,n},x]

3.  ∫u(((c+d x+e (x^2)))^p)(e^(n ArcTan[a+b x]))dx  when  b d==2 a e ∧ (b^2) c-e(1+(a^2))==0

1:  ∫u(((c+d x+e (x^2)))^p) (e^(n ArcTan[a+b x]))dx  when  b d==2 a e ∧ (b^2) c-e(1+(a^2))==0 ∧ (p∈ℤ ∨ (c/(1+(a^2)))>0)

Derivation: Algebraic simplification

Basis: If  b d==2 a e ∧ (b^2) c-e(1+(a^2))==0, then c+d x+e (x^2)==(c/(1+(a^2)))(1+(((a+b x))^2))

Basis: (((1+(z^2)))^p)==(((1-i z))^p)(((1+i z))^p)

Basis: ArcTan[z]==-i ArcTanh[i z]

Basis: (e^(n ArcTanh[z]))==((((1+z))^(n/2))/(((1-z))^(n/2)))

Rule: If  b d==2 a e ∧ (b^2) c-e(1+(a^2))==0 ∧ (p∈ℤ ∨ (c/(1+(a^2)))>0), then

∫u(((c+d x+e (x^2)))^p) (e^(n ArcTan[a+b x]))dx  ⟶  ((((c/(1+(a^2)))))^p)∫u(((1+(((a+b x))^2)))^p) (e^(n ArcTan[a+b x]))dx                                                          
                                                                     ⟶  ((((c/(1+(a^2)))))^p)∫u(((1-i a-i b x))^p)(((1+i a+i b x))^p)  ((((1-i a-i b x))^((i n)/2))/(((1+i a+i b x))^((i n)/2)))dx
                                         ⟶  ((((c/(1+(a^2)))))^p)∫u(((1-i a-i b x))^(p+((i n)/2)))(((1+i a+i b x))^(p-((i n)/2)))dx

Program code:

Int[u_.*(c_+d_.*x_+e_.*x_^2)^p_.*E^(n_.*ArcTan[a_+b_.*x_]),x_Symbol] :=
  (c/(1+a^2))^p*Int[u*(1-I*a-I*b*x)^(p+I*n/2)*(1+I*a+I*b*x)^(p-I*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])

2:  ∫u(((c+d x+e (x^2)))^p) (e^(n ArcTan[a+b x]))dx  when  b d==2 a e ∧ (b^2) c-e(1+(a^2))==0 ∧ ¬(p∈ℤ ∨ (c/(1+(a^2)))>0)

Derivation: Piecewise constant extraction

Basis: If  b d==2 a e ∧ (b^2) c-e(1+(a^2))==0, then (∂_x)((((c+d x+e (x^2)))^p)/(((1+(a^2)+2 a b x+(b^2) (x^2)))^p))==0

Rule: If  b d==2 a e ∧ (b^2) c-e(1+(a^2))==0 ∧ ¬(p∈ℤ ∨ (c/(1+(a^2)))>0), then

∫u(((c+d x+e (x^2)))^p) (e^(n ArcTan[a+b x]))dx  ⟶  ((((c+d x+e (x^2)))^p)/(((1+(a^2)+2 a b x+(b^2) (x^2)))^p))∫u(((1+(a^2)+2 a b x+(b^2) (x^2)))^p) (e^(n ArcTan[a+b x]))dx

Program code:

Int[u_.*(c_+d_.*x_+e_.*x_^2)^p_.*E^(n_.*ArcTan[a_+b_.*x_]),x_Symbol] :=
  (c+d*x+e*x^2)^p/(1+a^2+2*a*b*x+b^2*x^2)^p*Int[u*(1+a^2+2*a*b*x+b^2*x^2)^p*E^(n*ArcTan[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]]

3:  ∫u (e^(n ArcTan[(c/(a+b x))]))dx

Derivation: Algebraic simplification

Basis: ArcTan[z]==ArcCot[(1/z)]

Rule:

∫u (e^(n ArcTan[(c/(a+b x))]))dx  ⟶  ∫u (e^(n ArcCot[(a/c)+((b x)/c)]))dx

Program code:

Int[u_.*E^(n_.*ArcTan[c_./(a_.+b_.*x_)]),x_Symbol] :=
  Int[u*E^(n*ArcCot[a/c+b*x/c]),x] /;
FreeQ[{a,b,c,n},x]

Rules for integrands involving exponentials of inverse cotangents

1.  ∫u (e^(n ArcCot[a x]))dx

1:  ∫u (e^(n ArcCot[a x]))dx  when  ((i n)/2)∈ℤ

Derivation: Algebraic simplification

Basis: If ((i n)/2)∈ℤ, then (e^(n ArcCot[z]))==(((-1))^((i n)/2)) (e^(-n ArcTan[z]))

Rule: If ((i n)/2)∈ℤ, then

∫u (e^(n ArcCot[a x]))dx  ⟶  (((-1))^((i n)/2))∫u (e^(-n ArcTan[z]))dx

Program code:

Int[u_.*E^(n_*ArcCot[a_.*x_]),x_Symbol] :=
  (-1)^(I*n/2)*Int[u*E^(-n*ArcTan[a*x]),x] /;
FreeQ[a,x] && IntegerQ[I*n/2]

2.  ∫u (e^(n ArcCot[a x]))dx  when  ((i n)/2)∉ℤ

1.  ∫(x^m) (e^(n ArcCot[a x]))dx  when  ((i n)/2)∉ℤ

1.  ∫(x^m) (e^(n ArcCot[a x]))dx  when  ((i n)/2)∉ℤ ∧ m∈ℤ

1:  ∫(x^m)(e^(n ArcCot[a x]))dx  when  ((i n-1)/2)∈ℤ ∧ m∈ℤ

Derivation: Algebraic simplification and integration by substitution

Basis: (e^(n ArcCot[z]))==((((1-(i/z)))^((i n+1)/2))/((((1+(i/z)))^((i n-1)/2))(Sqrt[1+(1/(z^2))])))

Basis: F[(1/x)]==-((F[(1/x)])/((((1/x)))^2))(∂_x)(1/x)

Rule: If ((i n-1)/2)∈ℤ ∧ m∈ℤ, then

∫(x^m)(e^(n ArcCot[a x]))dx  ⟶  ∫((((1-(i/(a x))))^((i n+1)/2))/(((((1/x)))^m)(((1+(i/(a x))))^((i n-1)/2))(Sqrt[1+(1/((a^2) (x^2)))])))dx  ⟶  -Subst[∫((((1-((i x)/a)))^((i n+1)/2))/((x^(m+2))(((1+((i x)/a)))^((i n-1)/2))(Sqrt[1+((x^2)/(a^2))])))dx,x,(1/x)]

Program code:

Int[E^(n_*ArcCot[a_.*x_]),x_Symbol] :=
  -Subst[Int[(1-I*x/a)^((I*n+1)/2)/(x^2*(1+I*x/a)^((I*n-1)/2)*Sqrt[1+x^2/a^2]),x],x,1/x] /;
FreeQ[a,x] && IntegerQ[(I*n-1)/2]

Int[x_^m_.*E^(n_*ArcCot[a_.*x_]),x_Symbol] :=
  -Subst[Int[(1-I*x/a)^((I*n+1)/2)/(x^(m+2)*(1+I*x/a)^((I*n-1)/2)*Sqrt[1+x^2/a^2]),x],x,1/x] /;
FreeQ[a,x] && IntegerQ[(I*n-1)/2] && IntegerQ[m]

2:  ∫(x^m)(e^(n ArcCot[a x]))dx  when  i n∉ℤ ∧ m∈ℤ

Derivation: Algebraic simplification and integration by substitution

Basis: (e^(n ArcCot[z]))==((((1-(i/z)))^((i n)/2))/(((1+(i/z)))^((i n)/2)))

Basis: F[(1/x)]==-((F[(1/x)])/((((1/x)))^2))(∂_x)(1/x)

Rule: If  i n∉ℤ ∧ m∈ℤ, then

∫(x^m)(e^(n ArcCot[a x]))dx  ⟶  ∫(x^m)(e^(i n ArcCoth[i a x]))dx  ⟶  ∫((((1-(i/(a x))))^((i n)/2))/(((((1/x)))^m)(((1+(i/(a x))))^((i n)/2))))dx  ⟶  -Subst[∫((((1-((i x)/a)))^((i n)/2))/((x^(m+2))(((1+((i x)/a)))^((i n)/2))))dx,x,(1/x)]

Program code:

Int[E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  -Subst[Int[(1-I*x/a)^(I*n/2)/(x^2*(1+I*x/a)^(I*n/2)),x],x,1/x] /;
FreeQ[{a,n},x] && Not[IntegerQ[I*n]]

Int[x_^m_.*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  -Subst[Int[(1-I*x/a)^(n/2)/(x^(m+2)*(1+I*x/a)^(n/2)),x],x,1/x] /;
FreeQ[{a,n},x] && Not[IntegerQ[I*n]] && IntegerQ[m]

2.  ∫(x^m) (e^(n ArcCot[a x]))dx  when  ((i n)/2)∉ℤ ∧ m∉ℤ

1:  ∫(x^m)(e^(n ArcCot[a x]))dx  when  ((i n-1)/2)∈ℤ ∧ m∉ℤ

Derivation: Algebraic simplification, piecewise constant extraction and integration by substitution!

Basis: (e^(n ArcCot[z]))==((((1-(i/z)))^((i n+1)/2))/((((1+(i/z)))^((i n-1)/2))(Sqrt[1+(1/(z^2))])))

Basis: (∂_x)((x^m) ((((1/x)))^m))==0

Basis: F[(1/x)]==-((F[(1/x)])/((((1/x)))^2))(∂_x)(1/x)

Rule: If ((i n-1)/2)∈ℤ ∧ m∉ℤ, then

∫(x^m)(e^(n ArcCot[a x]))dx  ⟶  (x^m)((((1/x)))^m)∫((((1-(i/(a x))))^((i n+1)/2))/(((((1/x)))^m)(((1+(i/(a x))))^((i n-1)/2))(Sqrt[1+(1/((a^2) (x^2)))])))dx  ⟶  -(x^m)((((1/x)))^m)Subst[∫((((1-((i x)/a)))^((i n+1)/2))/((x^(m+2))(((1+((i x)/a)))^((i n-1)/2))(Sqrt[1+((x^2)/(a^2))])))dx,x,(1/x)]

Program code:

Int[x_^m_*E^(n_*ArcCot[a_.*x_]),x_Symbol] :=
  -x^m*(1/x)^m*Subst[Int[(1-I*x/a)^((I*n+1)/2)/(x^(m+2)*(1+I*x/a)^((I*n-1)/2)*Sqrt[1+x^2/a^2]),x],x,1/x] /;
FreeQ[{a,m},x] && IntegerQ[(I*n-1)/2] && Not[IntegerQ[m]]

2:  ∫(x^m)(e^(n ArcCot[a x]))dx  when  ((i n)/2)∉ℤ ∧ m∉ℤ

Derivation: Algebraic simplification, piecewise constant extraction and integration by substitution!

Basis: (e^(n ArcCot[z]))==((((1-(i/z)))^((i n)/2))/(((1+(i/z)))^((i n)/2)))

Basis: (∂_x)((x^m) ((((1/x)))^m))==0

Basis: F[(1/x)]==-((F[(1/x)])/((((1/x)))^2))(∂_x)(1/x)

Rule: If  ((i n)/2)∉ℤ ∧ m∉ℤ, then

∫(x^m)(e^(n ArcCot[a x]))dx  ⟶  (x^m)((((1/x)))^m)∫((((1-(i/(a x))))^((i n)/2))/(((((1/x)))^m)(((1+(i/(a x))))^((i n)/2))))dx  ⟶  -(x^m)((((1/x)))^m)Subst[∫((((1-((i x)/a)))^((i n)/2))/((x^(m+2))(((1+((i x)/a)))^((i n)/2))))dx,x,(1/x)]

Program code:

Int[x_^m_*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  -Subst[Int[(1-I*x/a)^(n/2)/(x^(m+2)*(1+I*x/a)^(n/2)),x],x,1/x] /;
FreeQ[{a,m,n},x] && Not[IntegerQ[I*n/2]] && Not[IntegerQ[m]]

2.  ∫u(((c+d x))^p)(e^(n ArcCot[a x]))dx  when  (a^2) (c^2)+(d^2)==0 ∧ ((i n)/2)∉ℤ

1:  ∫u(((c+d x))^p)(e^(n ArcCot[a x]))dx  when  (a^2) (c^2)+(d^2)==0 ∧ ((i n)/2)∉ℤ ∧ p∈ℤ

Derivation: Algebraic simplification

Basis: If p∈ℤ, then (((c+d x))^p)==(d^p)(x^p)(((1+(c/(d x))))^p)

Rule: If  (a^2) (c^2)+(d^2)==0 ∧ ((i n)/2)∉ℤ ∧ p∈ℤ, then

∫u(((c+d x))^p)(e^(n ArcCot[a x]))dx  ⟶  (d^p)∫u (x^p)(((1+(c/(d x))))^p)(e^(n ArcCot[a x]))dx

Program code:

Int[u_.*(c_+d_.*x_)^p_.*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  d^p*Int[u*x^p*(1+c/(d*x))^p*E^(n*ArcCot[a*x]),x] /;
FreeQ[{a,c,d,n},x] && EqQ[a^2*c^2+d^2,0] && Not[IntegerQ[I*n/2]] && IntegerQ[p]

2:  ∫u(((c+d x))^p) (e^(n ArcCot[a x]))dx  when  (a^2) (c^2)+(d^2)==0 ∧ ((i n)/2)∉ℤ ∧ p∉ℤ

Derivation: Piecewise constant extraction

Basis: (∂_x)((((c+d x))^p)/((x^p)(((1+(c/(d x))))^p)))==0

Rule: If  (a^2) (c^2)+(d^2)==0 ∧ ((i n)/2)∉ℤ ∧ p∉ℤ, then

∫u(((c+d x))^p) (e^(n ArcCot[a x]))dx  ⟶  ((((c+d x))^p)/((x^p)(((1+(c/(d x))))^p)))∫u (x^p)(((1+(c/(d x))))^p) (e^(n ArcCot[a x]))dx

Program code:

Int[u_.*(c_+d_.*x_)^p_*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  (c+d*x)^p/(x^p*(1+c/(d*x))^p)*Int[u*x^p*(1+c/(d*x))^p*E^(n*ArcCot[a*x]),x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[a^2*c^2+d^2,0] && Not[IntegerQ[I*n/2]] && Not[IntegerQ[p]]

3.  ∫u(((c+(d/x)))^p) (e^(n ArcCot[a x]))dx  when  (c^2)+(a^2)(d^2)==0 ∧ ((i n)/2)∉ℤ

1.  ∫(x^m)(((c+(d/x)))^p) (e^(n ArcCot[a x]))dx  when  (c^2)+(a^2)(d^2)==0 ∧ ((i n)/2)∉ℤ ∧ (p∈ℤ ∨ c>0)

1:  ∫(x^m)(((c+(d/x)))^p) (e^(n ArcCot[a x]))dx  when  (c^2)+(a^2)(d^2)==0 ∧ ((i n)/2)∉ℤ ∧ (p∈ℤ ∨ c>0) ∧ m∈ℤ

Derivation: Algebraic simplification and integration by substitution

Basis: ArcCot[z]==i ArcCoth[i z]

Basis: (e^(n ArcCoth[z]))==((((1+(1/z)))^(n/2))/(((1-(1/z)))^(n/2)))

Basis: F[(1/x)]==-((F[(1/x)])/((((1/x)))^2))(∂_x)(1/x)

Note: Since (c^2)+(a^2)(d^2)==0, the factor (((1+((d x)/c)))^p) will combine with the factor (((1-((i x)/a)))^((i n)/2)) or (((1+((i x)/a)))^(-((i n)/2))).

Rule: If  (c^2)+(a^2)(d^2)==0 ∧ ((i n)/2)∉ℤ ∧ (p∈ℤ ∨ c>0) ∧ m∈ℤ, then

∫(x^m)(((c+(d/x)))^p) (e^(n ArcCot[a x]))dx  ⟶  (c^p)∫(1/((((1/x)))^m))(((1+(d/(c x))))^p)((((1-(i/(a x))))^((i n)/2))/(((1+(i/(a x))))^((i n)/2)))dx  ⟶  -(c^p)Subst[∫(((((1+((d x)/c)))^p)(((1-((i x)/a)))^((i n)/2)))/((x^(m+2))(((1+((i x)/a)))^((i n)/2))))dx,x,(1/x)]

Program code:

Int[(c_+d_./x_)^p_.*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  -c^p*Subst[Int[(1+d*x/c)^p*(1-I*x/a)^(I*n/2)/(x^2*(1+I*x/a)^(I*n/2)),x],x,1/x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[c^2+a^2*d^2,0] && Not[IntegerQ[I*n/2]] && (IntegerQ[p] || GtQ[c,0])

Int[x_^m_.*(c_+d_./x_)^p_.*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  -c^p*Subst[Int[(1+d*x/c)^p*(1-I*x/a)^(I*n/2)/(x^(m+2)*(1+I*x/a)^(I*n/2)),x],x,1/x] /;
FreeQ[{a,c,d,m,n,p},x] && EqQ[c^2+a^2*d^2,0] && Not[IntegerQ[I*n/2]] && (IntegerQ[p] || GtQ[c,0]) && IntegerQ[m]

2:  ∫(x^m)(((c+(d/x)))^p) (e^(n ArcCot[a x]))dx  when  (c^2)+(a^2)(d^2)==0 ∧ ((i n)/2)∉ℤ ∧ (p∈ℤ ∨ c>0) ∧ m∉ℤ

Derivation: Algebraic simplification and integration by substitution

Basis: ArcCot[z]==i ArcCoth[i z]

Basis: (e^(n ArcCoth[z]))==((((1+(1/z)))^(n/2))/(((1-(1/z)))^(n/2)))

Basis: (∂_x)((x^m) ((((1/x)))^m))==0

Basis: F[(1/x)]==-((F[(1/x)])/((((1/x)))^2))(∂_x)(1/x)

Note: Since (c^2)+(a^2)(d^2)==0, the factor (((1+((d x)/c)))^p) will combine with the factor (((1-((i x)/a)))^((i n)/2)) or (((1+((i x)/a)))^(-((i n)/2))).

Rule: If  (c^2)+(a^2)(d^2)==0 ∧ ((i n)/2)∉ℤ ∧ (p∈ℤ ∨ c>0) ∧ m∉ℤ, then

∫(x^m)(((c+(d/x)))^p) (e^(n ArcCot[a x]))dx  ⟶  (c^p)(x^m) ((((1/x)))^m)∫(1/((((1/x)))^m))(((1+(d/(c x))))^p)((((1-(i/(a x))))^((i n)/2))/(((1+(i/(a x))))^((i n)/2)))dx  ⟶  -(c^p)(x^m) ((((1/x)))^m)Subst[∫(((((1+((d x)/c)))^p)(((1-((i x)/a)))^((i n)/2)))/((x^(m+2))(((1+((i x)/a)))^((i n)/2))))dx,x,(1/x)]

Program code:

Int[(c_+d_./x_)^p_*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  (c+d/x)^p/(1+d/(c*x))^p*Int[(1+d/(c*x))^p*E^(n*ArcCot[a*x]),x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[c^2+a^2*d^2,0] && Not[IntegerQ[I*n/2]] && Not[IntegerQ[p] || GtQ[c,0]]

Int[x_^m_*(c_+d_./x_)^p_.*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  -c^p*x^m*(1/x)^m*Subst[Int[(1+d*x/c)^p*(1-I*x/a)^(I*n/2)/(x^(m+2)*(1+I*x/a)^(I*n/2)),x],x,1/x] /;
FreeQ[{a,c,d,m,n,p},x] && EqQ[c^2+a^2*d^2,0] && Not[IntegerQ[I*n/2]] && (IntegerQ[p] || GtQ[c,0]) && Not[IntegerQ[m]]

2:  ∫u(((c+(d/x)))^p)(e^(n ArcCot[a x]))dx  when  (c^2)+(a^2)(d^2)==0 ∧ ((i n)/2)∉ℤ ∧ ¬(p∈ℤ ∨ c>0)

Derivation: Piecewise constant extraction

Basis: (∂_x)((((c+(d/x)))^p)/(((1+(d/(c x))))^p))==0

Rule: If  (c^2)+(a^2)(d^2)==0 ∧ ((i n)/2)∉ℤ ∧ ¬(p∈ℤ ∨ c>0), then

∫u(((c+(d/x)))^p) (e^(n ArcCot[a x]))dx  ⟶  ((((c+(d/x)))^p)/(((1+(d/(c x))))^p))∫u(((1+(d/(c x))))^p) (e^(n ArcCot[a x]))dx

Program code:

Int[u_.*(c_+d_./x_)^p_*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  (c+d/x)^p/(1+d/(c*x))^p*Int[u*(1+d/(c*x))^p*E^(n*ArcCot[a*x]),x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[c^2+a^2*d^2,0] && Not[IntegerQ[I*n/2]] && Not[IntegerQ[p] || GtQ[c,0]]

4.  ∫(x^m)(((c+d (x^2)))^p)(e^(n ArcCot[a x]))dx  when  d==(a^2) c ∧ ((i n)/2)∉ℤ

1.  ∫(((c+d (x^2)))^p)(e^(n ArcCot[a x]))dx  when  d==(a^2) c ∧ p≤-1

1:  ∫((e^(n ArcCot[a x]))/(c+d (x^2)))dx  when  d==(a^2) c

Rule: If  d==(a^2) c, then

∫((e^(n ArcCot[a x]))/(c+d (x^2)))dx  ⟶  -((e^(n ArcCot[a x]))/(a c n))

Program code:

Int[E^(n_.*ArcCot[a_.*x_])/(c_+d_.*x_^2),x_Symbol] :=
  -E^(n*ArcCot[a*x])/(a*c*n) /;
FreeQ[{a,c,d,n},x] && EqQ[d,a^2*c]

2:  ∫((e^(n ArcCot[a x]))/(((c+d (x^2)))^(3/2)))dx  when  d==(a^2) c ∧ ((i n+1)/2)∉ℤ

Note: When ((i n+1)/2)∈ℤ, it is better to transform integrand into algebraic form.

Rule: If  d==(a^2) c ∧ ((i n+1)/2)∉ℤ, then

∫((e^(n ArcCot[a x]))/(((c+d (x^2)))^(3/2)))dx  ⟶  -(((n-a x)(e^(n ArcCot[a x])))/(a c ((n^2)+1) (Sqrt[c+d (x^2)])))

Program code:

Int[E^(n_.*ArcCot[a_.*x_])/(c_+d_.*x_^2)^(3/2),x_Symbol] :=
  -(n-a*x)*E^(n*ArcCot[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[(I*n-1)/2]]

3:  ∫(((c+d (x^2)))^p)(e^(n ArcCot[a x]))dx  when  d==(a^2) c ∧ p<-1 ∧ p≠-(3/2) ∧ (n^2)+4(((p+1))^2)≠0 ∧ ¬(p∈ℤ ∧ ((i n)/2)∈ℤ) ∧ ¬(p∉ℤ ∧ ((i n-1)/2)∈ℤ)

Rule: If  d==(a^2) c ∧ p<-1 ∧ p≠-(3/2) ∧ (n^2)+4(((p+1))^2)≠0 ∧ ¬(p∈ℤ ∧ ((i n)/2)∈ℤ) ∧ ¬(p∉ℤ ∧ ((i n-1)/2)∈ℤ), then

∫(((c+d (x^2)))^p)(e^(n ArcCot[a x]))dx  ⟶  -(((n+2 a (p+1) x) (((c+d (x^2)))^(p+1))(e^(n ArcCot[a x])))/(a c ((n^2)+4 (((p+1))^2))))+((2 (p+1) (2 p+3))/(c((n^2)+4(((p+1))^2))))∫(((c+d (x^2)))^(p+1))(e^(n ArcCot[a x]))dx

Program code:

Int[(c_+d_.*x_^2)^p_*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  -(n+2*a*(p+1)*x)*(c+d*x^2)^(p+1)*E^(n*ArcCot[a*x])/(a*c*(n^2+4*(p+1)^2)) + 
  2*(p+1)*(2*p+3)/(c*(n^2+4*(p+1)^2))*Int[(c+d*x^2)^(p+1)*E^(n*ArcCot[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[I*n/2]] && Not[Not[IntegerQ[p]] && IntegerQ[(I*n-1)/2]]

2.  ∫(x^m)(((c+d (x^2)))^p)(e^(n ArcCot[a x]))dx  when  d==(a^2) c ∧ m∈ℤ ∧ 0≤m≤-2(p+1)

1.  ∫x(((c+d (x^2)))^p)(e^(n ArcCot[a x]))dx  when  d==(a^2) c ∧ p≤-1

1:  ∫((x (e^(n ArcCot[a x])))/(((c+d (x^2)))^(3/2)))dx  when  d==(a^2) c ∧ ((i n+1)/2)∉ℤ

Rule: If  d==(a^2) c ∧ ((i n+1)/2)∉ℤ, then

∫((x (e^(n ArcCot[a x])))/(((c+d (x^2)))^(3/2)))dx  ⟶  -(((1+a n x)(e^(n ArcCot[a x])))/((a^2) c ((n^2)+1) (Sqrt[c+d (x^2)])))

Program code:

Int[x_*E^(n_.*ArcCot[a_.*x_])/(c_+d_.*x_^2)^(3/2),x_Symbol] :=
  -(1+a*n*x)*E^(n*ArcCot[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[(I*n-1)/2]]

2:  ∫x(((c+d (x^2)))^p)(e^(n ArcCot[a x]))dx  when  d==(a^2) c ∧ p≤-1 ∧ p≠-(3/2) ∧ (n^2)+4(((p+1))^2)≠0 ∧ ¬(p∈ℤ ∧ ((i n)/2)∈ℤ) ∧ ¬(p∉ℤ ∧ ((i n-1)/2)∈ℤ)

Rule: If  d==(a^2) c ∧ p≤-2 ∧ (n^2)+4(((p+1))^2)≠0 ∧ ¬(p∈ℤ ∧ ((i n)/2)∈ℤ) ∧ ¬(p∉ℤ ∧ ((i n-1)/2)∈ℤ), then

∫x(((c+d (x^2)))^p)(e^(n ArcCot[a x]))dx  ⟶  (((2(p+1)-a n x)(((c+d (x^2)))^(p+1))(e^(n ArcCot[a x])))/((a^2) c ((n^2)+4(((p+1))^2))))+((n(2p+3))/(a c ((n^2)+4(((p+1))^2))))∫(((c+d (x^2)))^(p+1))(e^(n ArcCot[a x]))dx

Program code:

Int[x_*(c_+d_.*x_^2)^p_*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  (2*(p+1)-a*n*x)*(c+d*x^2)^(p+1)*E^(n*ArcCot[a*x])/(a^2*c*(n^2+4*(p+1)^2)) + 
  n*(2*p+3)/(a*c*(n^2+4*(p+1)^2))*Int[(c+d*x^2)^(p+1)*E^(n*ArcCot[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[I*n/2]] && Not[Not[IntegerQ[p]] && IntegerQ[(I*n-1)/2]]

2.  ∫(x^2)(((c+d (x^2)))^p)(e^(n ArcCot[a x]))dx  when  d==(a^2) c ∧ p≤-1

1:  ∫(x^2)(((c+d (x^2)))^p) (e^(n ArcCot[a x]))dx  when  d==(a^2) c ∧ (n^2)-2(p+1)==0 ∧ (n^2)+1≠0

Rule: If  d==(a^2) c ∧ (n^2)-2(p+1)==0 ∧ (n^2)+1≠0, then

∫(x^2)(((c+d (x^2)))^p) (e^(n ArcCot[a x]))dx  ⟶  (((n+2(p+1) a x)(((c+d (x^2)))^(p+1))(e^(n ArcCot[a x])))/((a^3)c (n^2)((n^2)+1)))

Program code:

Int[x_^2*(c_+d_.*x_^2)^p_.*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  (n+2*(p+1)*a*x)*(c+d*x^2)^(p+1)*E^(n*ArcCot[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]

2:  ∫(x^2)(((c+d (x^2)))^p)(e^(n ArcCot[a x]))dx  when  d==(a^2) c ∧ p≤-1 ∧ (n^2)-2(p+1)≠0 ∧ (n^2)+4(((p+1))^2)≠0 ∧ ¬(p∈ℤ ∧ ((i n)/2)∈ℤ) ∧ ¬(p∉ℤ ∧ ((i n+1)/2)∈ℤ)

Rule: If  d==(a^2) c ∧ p≤-1 ∧ (n^2)-2(p+1)≠0 ∧ (n^2)+4(((p+1))^2)≠0 ∧ ¬(p∈ℤ ∧ ((i n)/2)∈ℤ) ∧ ¬(p∉ℤ ∧ ((i n+1)/2)∈ℤ), then

∫(x^2)(((c+d (x^2)))^p)(e^(n ArcCot[a x]))dx  ⟶  (((n+2(p+1) a x)(((c+d (x^2)))^(p+1))(e^(n ArcCot[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))))∫(((c+d (x^2)))^(p+1))(e^(n ArcCot[a x]))dx

Program code:

Int[x_^2*(c_+d_.*x_^2)^p_*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  (n+2*(p+1)*a*x)*(c+d*x^2)^(p+1)*E^(n*ArcCot[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))*Int[(c+d*x^2)^(p+1)*E^(n*ArcCot[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[I*n/2]] && Not[Not[IntegerQ[p]] && IntegerQ[(I*n-1)/2]]

3:  ∫(x^m)(((c+d (x^2)))^p)(e^(n ArcCot[a x]))dx  when  d==(a^2) c ∧ m∈ℤ ∧ 3≤m≤-2(p+1) ∧ p∈ℤ

Derivation: Integration by substitution

Basis: If  d==(a^2) c ∧ m∈ℤ ∧ p∈ℤ, then (x^m)(((c+d (x^2)))^p)(e^(n ArcCot[a x]))==-((c^p)/(a^(m+1)))(((e^(n ArcCot[a x])) ((Cot[ArcCot[a x]])^(m+2 (p+1))))/((Cos[ArcCot[a x]])^(2 (p+1))))(∂_x)ArcCot[a x]

Rule: If  d==(a^2) c ∧ m∈ℤ ∧ 3≤m≤-2(p+1) ∧ p∈ℤ, then

∫(x^m)(((c+d (x^2)))^p)(e^(n ArcCot[a x]))dx  ⟶  -((c^p)/(a^(m+1))) Subst[∫(((e^(n x)) ((Cot[x])^(m+2 (p+1))))/((Cos[x])^(2 (p+1))))dx,x,ArcCot[a x]]

Program code:

Int[x_^m_.*(c_+d_.*x_^2)^p_*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  -c^p/a^(m+1)*Subst[Int[E^(n*x)*Cot[x]^(m+2*(p+1))/Cos[x]^(2*(p+1)),x],x,ArcCot[a*x]] /;
FreeQ[{a,c,d,n},x] && EqQ[d,a^2*c] && IntegerQ[m] && LeQ[3,m,-2(p+1)] && IntegerQ[p]

3.  ∫u(((c+d (x^2)))^p) (e^(n ArcCot[a x]))dx  when  d==(a^2) c ∧ ((i n)/2)∉ℤ

1:  ∫u(((c+d (x^2)))^p) (e^(n ArcCot[a x]))dx  when  d==(a^2) c ∧ ((i n)/2)∉ℤ ∧ p∈ℤ

Derivation: Algebraic simplification

Basis: If  d==(a^2) c ∧ p∈ℤ, then (((c+d (x^2)))^p)==(d^p)(x^(2 p))(((1+(1/((a^2)(x^2)))))^p)

Rule: If  d==(a^2) c ∧ ((i n)/2)∉ℤ ∧ p∈ℤ, then

∫u(((c+d (x^2)))^p) (e^(n ArcCot[a x]))dx  ⟶  (d^p)∫u (x^(2 p))(((1+(1/((a^2)(x^2)))))^p) (e^(n ArcCot[a x]))dx

Program code:

Int[u_.*(c_+d_.*x_^2)^p_.*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  d^p*Int[u*x^(2*p)*(1+1/(a^2*x^2))^p*E^(n*ArcCot[a*x]),x] /;
FreeQ[{a,c,d,n},x] && EqQ[d,a^2*c] && Not[IntegerQ[I*n/2]] && IntegerQ[p]

2:  ∫u(((c+d (x^2)))^p) (e^(n ArcCot[a x]))dx  when  d==(a^2) c ∧ ((i n)/2)∉ℤ ∧ p∉ℤ

Derivation: Piecewise constant extraction

Basis: If  d==(a^2) c, then (∂_x)((((c+d (x^2)))^p)/((x^(2p))(((1+(1/((a^2)(x^2)))))^p)))==0

Rule: If  d==(a^2) c ∧ ((i n)/2)∉ℤ ∧ p∉ℤ, then

∫u(((c+d (x^2)))^p) (e^(n ArcCot[a x]))dx  ⟶  ((((c+d (x^2)))^p)/((x^(2p))(((1+(1/((a^2)(x^2)))))^p)))∫u (x^(2 p))(((1+(1/((a^2)(x^2)))))^p) (e^(n ArcCot[a x]))dx

Program code:

Int[u_.*(c_+d_.*x_^2)^p_*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  (c+d*x^2)^p/(x^(2*p)*(1+1/(a^2*x^2))^p)*Int[u*x^(2*p)*(1+1/(a^2*x^2))^p*E^(n*ArcCot[a*x]),x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[d,a^2*c] && Not[IntegerQ[I*n/2]] && Not[IntegerQ[p]]

5.  ∫u(((c+(d/(x^2))))^p) (e^(n ArcCot[a x]))dx  when  c==(a^2) d ∧ ((i n)/2)∉ℤ

1.  ∫u(((c+(d/(x^2))))^p) (e^(n ArcCot[a x]))dx  when  c==(a^2) d ∧ ((i n)/2)∉ℤ ∧ (p∈ℤ ∨ c>0)

1:  ∫u(((c+(d/(x^2))))^p) (e^(n ArcCot[a x]))dx  when  c==(a^2) d ∧ ((i n)/2)∉ℤ ∧ (p∈ℤ ∨ c>0) ∧ (2p|p+((i n)/2))∈ℤ

Derivation: Algebraic simplification

Basis: ArcCot[z]==i ArcCoth[i z]

Basis: (e^(n ArcCoth[z]))==((((1+(1/z)))^(n/2))/(((1-(1/z)))^(n/2)))

Basis: (((1+(z^2)))^p) ((((1-i z))^n)/(((1+i z))^n))==(((1-i z))^(p+n))(((1+i z))^(p-n))

Basis: If  p+n∈ℤ, then (((1-(i/z)))^(p+n)) (((1+(i/z)))^(p-n))==(((((-1+i z))^(p-n)) (((1+i z))^(p+n)))/(((i z))^(2 p)))

Rule: If  c==(a^2) d ∧ ((i n)/2)∉ℤ ∧ (p∈ℤ ∨ c>0) ∧ (2p|p+((i n)/2))∈ℤ, then

∫u(((c+(d/(x^2))))^p) (e^(n ArcCot[a x]))dx  ⟶  (c^p)∫u(((1+(1/((a^2)(x^2)))))^p)((((1-(i/(a x))))^((i n)/2))/(((1+(i/(a x))))^((i n)/2)))dx                                           
                       ⟶  (c^p)∫u(((1-(i/(a x))))^(p+((i n)/2)))(((1+(i/(a x))))^(p-((i n)/2)))dx
                                               ⟶  ((c^p)/(((i a))^(2 p)))∫(u/(x^(2 p)))(((-1+i a x))^(p-((i n)/2))) (((1+i a x))^(p+((i n)/2)))dx

Program code:

Int[u_.*(c_+d_./x_^2)^p_.*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  c^p/(I*a)^(2*p)*Int[u/x^(2*p)*(-1+I*a*x)^(p-I*n/2)*(1+I*a*x)^(p+I*n/2),x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[c,a^2*d] && Not[IntegerQ[I*n/2]] && (IntegerQ[p] || GtQ[c,0]) && IntegersQ[2*p,p+I*n/2]

2.  ∫(x^m)(((c+(d/(x^2))))^p) (e^(n ArcCot[a x]))dx  when  c==(a^2) d ∧ ((i n)/2)∉ℤ ∧ (p∈ℤ ∨ c>0) ∧ ¬(2p|p+((i n)/2))∈ℤ

1:  ∫(x^m)(((c+(d/(x^2))))^p)(e^(n ArcCot[a x]))dx  when  c==(a^2) d ∧ ((i n)/2)∉ℤ ∧ (p∈ℤ ∨ c>0) ∧ ¬(2p|p+((i n)/2))∈ℤ ∧ m∈ℤ

Derivation: Algebraic simplification and integration by substitution

Basis: ArcCot[z]==i ArcCoth[i z]

Basis: (e^(n ArcCot[z]))==((((1+(1/z)))^(n/2))/(((1-(1/z)))^(n/2)))

Basis: (((1+(z^2)))^p) ((((1-i z))^n)/(((1+i z))^n))==(((1-i z))^(p+n))(((1+i z))^(p-n))

Basis: F[(1/x)]==-((F[(1/x)])/((((1/x)))^2))(∂_x)(1/x)

Rule: If  c==(a^2) d ∧ ((i n)/2)∉ℤ ∧ (p∈ℤ ∨ c>0) ∧ ¬(2p|p+((i n)/2))∈ℤ ∧ m∈ℤ, then

∫(x^m)(((c+(d/(x^2))))^p)(e^(n ArcCot[a x]))dx  ⟶  (c^p)∫(x^m)(((1+(1/((a^2)(x^2)))))^p)((((1-(i/(a x))))^((i n)/2))/(((1+(i/(a x))))^((i n)/2)))dx                                    
                                         ⟶  (c^p)∫(1/((((1/x)))^m))(((1-(i/(a x))))^(p+((i n)/2)))(((1+(i/(a x))))^(p-((i n)/2)))dx
                                                              ⟶  -(c^p)Subst[∫(((((1-((i x)/a)))^(p+((i n)/2)))(((1+((i x)/a)))^(p-((i n)/2))))/(x^(m+2)))dx,x,(1/x)]

Program code:

Int[(c_+d_./x_^2)^p_.*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  -c^p*Subst[Int[(1-I*x/a)^(p+I*n/2)*(1+I*x/a)^(p-I*n/2)/x^2,x],x,1/x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[c,a^2*d] && Not[IntegerQ[I*n/2]] && (IntegerQ[p] || GtQ[c,0]) && Not[IntegerQ[2*p] && IntegerQ[p+I*n/2]]

Int[x_^m_.*(c_+d_./x_^2)^p_.*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  -c^p*Subst[Int[(1-I*x/a)^(p+I*n/2)*(1+I*x/a)^(p-I*n/2)/x^(m+2),x],x,1/x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[c,a^2*d] && Not[IntegerQ[I*n/2]] && (IntegerQ[p] || GtQ[c,0]) && Not[IntegerQ[2*p] && IntegerQ[p+I*n/2]] && 
  IntegerQ[m]

2:  ∫(x^m)(((c+(d/(x^2))))^p)(e^(n ArcCot[a x]))dx  when  c==(a^2) d ∧ ((i n)/2)∉ℤ ∧ (p∈ℤ ∨ c>0) ∧ ¬(2p|p+((i n)/2))∈ℤ ∧ m∉ℤ

Derivation: Algebraic simplification and integration by substitution

Basis: ArcCot[z]==i ArcCoth[i z]

Basis: (e^(n ArcCot[z]))==((((1+(1/z)))^(n/2))/(((1-(1/z)))^(n/2)))

Basis: (((1+(z^2)))^p) ((((1-i z))^n)/(((1+i z))^n))==(((1-i z))^(p+n))(((1+i z))^(p-n))

Basis: F[(1/x)]==-((F[(1/x)])/((((1/x)))^2))(∂_x)(1/x)

Rule: If  c==(a^2) d ∧ ((i n)/2)∉ℤ ∧ (p∈ℤ ∨ c>0) ∧ ¬(2p|p+((i n)/2))∈ℤ ∧ m∈ℤ, then

∫(x^m)(((c+(d/(x^2))))^p)(e^(n ArcCot[a x]))dx  ⟶  (c^p)∫(x^m)(((1+(1/((a^2)(x^2)))))^p)((((1-(i/(a x))))^((i n)/2))/(((1+(i/(a x))))^((i n)/2)))dx                                         
                                                       ⟶  (c^p)(x^m)((((1/x)))^m)∫(1/((((1/x)))^m))(((1-(i/(a x))))^(p+((i n)/2)))(((1+(i/(a x))))^(p-((i n)/2)))dx
                                                                           ⟶  -(c^p)(x^m)((((1/x)))^m)Subst[∫(((((1-((i x)/a)))^(p+((i n)/2)))(((1+((i x)/a)))^(p-((i n)/2))))/(x^(m+2)))dx,x,(1/x)]

Program code:

Int[x_^m_*(c_+d_./x_^2)^p_.*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  -c^p*x^m*(1/x)^m*Subst[Int[(1-I*x/a)^(p+I*n/2)*(1+I*x/a)^(p-I*n/2)/x^(m+2),x],x,1/x] /;
FreeQ[{a,c,d,m,n,p},x] && EqQ[c,a^2*d] && Not[IntegerQ[I*n/2]] && (IntegerQ[p] || GtQ[c,0]) && Not[IntegerQ[2*p] && IntegerQ[p+I*n/2]] && 
  Not[IntegerQ[m]]

2:  ∫u(((c+(d/(x^2))))^p)(e^(n ArcCot[a x]))dx  when  c==(a^2) d ∧ ((i n)/2)∉ℤ ∧ ¬(p∈ℤ ∨ c>0)

Derivation: Piecewise constant extraction

Basis: If  c==(a^2) d, then (∂_x)((((c+(d/(x^2))))^p)/(((1+(1/((a^2)(x^2)))))^p))==0

Rule: If  c==(a^2) d ∧ ((i n)/2)∉ℤ ∧ ¬(p∈ℤ ∨ c>0), then

∫u(((c+(d/(x^2))))^p) (e^(n ArcCot[a x]))dx  ⟶  ((((c+(d/(x^2))))^p)/(((1+(1/((a^2)(x^2)))))^p))∫u(((1+(1/((a^2)(x^2)))))^p) (e^(n ArcCot[a x]))dx

Program code:

Int[u_.*(c_+d_./x_^2)^p_*E^(n_.*ArcCot[a_.*x_]),x_Symbol] :=
  (c+d/x^2)^p/(1+1/(a^2*x^2))^p*Int[u*(1+1/(a^2*x^2))^p*E^(n*ArcCot[a*x]),x] /;
FreeQ[{a,c,d,n,p},x] && EqQ[c,a^2*d] && Not[IntegerQ[I*n/2]] && Not[IntegerQ[p] || GtQ[c,0]]

2.  ∫u (e^(n ArcCot[a+b x]))dx

1:  ∫u (e^(n ArcCot[a+b x]))dx  when  ((i n)/2)∈ℤ

Derivation: Algebraic simplification

Basis: If ((i n)/2)∈ℤ, then (e^(n ArcCot[z]))==(((-1))^((i n)/2)) (e^(-n ArcTan[z]))

Rule: If ((i n)/2)∈ℤ, then

∫u (e^(n ArcCot[c (a+b x)]))dx  ⟶  (((-1))^((i n)/2))∫u (e^(-n ArcTan[c (a+b x)]))dx

Program code:

Int[u_.*E^(n_*ArcCot[c_.*(a_+b_.*x_)]),x_Symbol] :=
  (-1)^(I*n/2)*Int[u*E^(-n*ArcTan[c*(a+b*x)]),x] /;
FreeQ[{a,b,c},x] && IntegerQ[I*n/2]

2.  ∫u (e^(n ArcCot[a+b x]))dx  when  ((i n)/2)∉ℤ

1:  ∫(e^(n ArcCot[c (a+b x)]))dx  when  ((i n)/2)∉ℤ

Derivation: Algebraic simplification and piecewise constant extraction

Basis: ArcCot[z]==i ArcCoth[i z]

Basis: (e^(n ArcCoth[z]))==((((1+(1/z)))^(n/2))/(((1-(1/z)))^(n/2)))==(((z^(n/2))(((1+(1/z)))^(n/2)))/(((-1+z))^(n/2)))

Basis: (∂_x)((((f[x])^n) (((1+(1/(f[x]))))^n))/(((1+f[x]))^n))==0

Rule: If ((i n)/2)∉ℤ, then

∫(e^(n ArcCot[c (a+b x)]))dx  ⟶  ∫(((((i c (a+b x)))^((i n)/2))(((1+(1/(i c (a+b x)))))^((i n)/2)))/(((-1+i c (a+b x)))^((i n)/2)))dx  ⟶  (((((i c (a+b x)))^((i n)/2))(((1+(1/(i c (a+b x)))))^((i n)/2)))/(((1+i a c+i b c x))^((i n)/2)))∫((((1+i a c+i b c x))^((i n)/2))/(((-1+i a c+i b c x))^((i n)/2)))dx

Program code:

Int[E^(n_.*ArcCot[c_.*(a_+b_.*x_)]),x_Symbol] :=
  (I*c*(a+b*x))^(I*n/2)*(1+1/(I*c*(a+b*x)))^(I*n/2)/(1+I*a*c+I*b*c*x)^(I*n/2)*
    Int[(1+I*a*c+I*b*c*x)^(I*n/2)/(-1+I*a*c+I*b*c*x)^(I*n/2),x] /;
FreeQ[{a,b,c,n},x] && Not[IntegerQ[I*n/2]]

2.  ∫(((d+e x))^m) (e^(n ArcCoth[c (a+b x)]))dx  when  ((i n)/2)∉ℤ

1:  ∫(x^m) (e^(n ArcCot[c (a+b x)]))dx  when  m∈(SuperMinus[ℤ])∧ -1<i n<1

Derivation: Algebraic simplification and integration by substitution

Basis: ArcCot[z]==i ArcCoth[i z]

Basis: (e^(n ArcCoth[z]))==((((1+(1/z)))^(n/2))/(((1-(1/z)))^(n/2)))

Basis: If  m∈ℤ ∧ -1<i n<1 , then (x^m)((((1+(1/(i c (a+b x)))))^((i n)/2))/(((1-(1/(i c (a+b x)))))^((i n)/2)))==(4/((i^m)n (b^(m+1))(c^(m+1))))Subst[(((x^(2/(i n))) (((1+i a c+(1-i a c) (x^(2/(i n)))))^m))/(((-1+(x^(2/(i n)))))^(m+2))),x,((((1+(1/(i c (a+b x)))))^((i n)/2))/(((1-(1/(i c (a+b x)))))^((i n)/2)))](∂_x)((((1+(1/(i c (a+b x)))))^((i n)/2))/(((1-(1/(i c (a+b x)))))^((i n)/2)))

Note: There should be an algebraic substitution rule that makes this rule redundant.

Rule: If  m∈(SuperMinus[ℤ])∧ -1<i n<1 , then

∫(x^m) (e^(n ArcCot[c (a+b x)]))dx  ⟶  ∫(x^m)((((1+(1/(i c (a+b x)))))^((i n)/2))/(((1-(1/(i c (a+b x)))))^((i n)/2)))dx                                                                                                           
                                                                            ⟶  (4/((i^m)n (b^(m+1))(c^(m+1))))Subst[∫(((x^(2/(i n))) (((1+i a c+(1-i a c) (x^(2/(i n)))))^m))/(((-1+(x^(2/(i n)))))^(m+2)))dx,x,((((1+(1/(i c (a+b x)))))^((i n)/2))/(((1-(1/(i c (a+b x)))))^((i n)/2)))]

Program code:

Int[x_^m_*E^(n_*ArcCoth[c_.*(a_+b_.*x_)]),x_Symbol] :=
  4/(I^m*n*b^(m+1)*c^(m+1))*
    Subst[Int[x^(2/(I*n))*(1+I*a*c+(1-I*a*c)*x^(2/(I*n)))^m/(-1+x^(2/(I*n)))^(m+2),x],x,
      (1+1/(I*c*(a+b*x)))^(I*n/2)/(1-1/(I*c*(a+b*x)))^(I*n/2)] /;
FreeQ[{a,b,c},x] && ILtQ[m,0] && LtQ[-1,I*n,1]

2:  ∫(((d+e x))^m) (e^(n ArcCot[c (a+b x)]))dx  when  ((i n)/2)∉ℤ

Derivation: Algebraic simplification and piecewise constant extraction

Basis: ArcCot[z]==i ArcCoth[i z]

Basis: (e^(n ArcCoth[z]))==((((1+(1/z)))^(n/2))/(((1-(1/z)))^(n/2)))==(((z^(n/2))(((1+(1/z)))^(n/2)))/(((-1+z))^(n/2)))

Basis: (∂_x)((((f[x])^n) (((1+(1/(f[x]))))^n))/(((1+f[x]))^n))==0

Rule: If  ((i n)/2)∉ℤ, then

∫(((d+e x))^m) (e^(n ArcCot[c (a+b x)]))dx  ⟶  ∫(((d+e x))^m)(((((i c (a+b x)))^((i n)/2))(((1+(1/(i c (a+b x)))))^((i n)/2)))/(((-1+i c (a+b x)))^((i n)/2)))dx
  ⟶  (((((i c (a+b x)))^((i n)/2)) (((1+(1/(i c (a+b x)))))^((i n)/2)))/(((1+i a c+i b c x))^((i n)/2)))∫(((d+e x))^m)((((1+i a c+i b c x))^((i n)/2))/(((-1+i a c+i b c x))^((i n)/2)))dx

Program code:

Int[(d_.+e_.*x_)^m_.*E^(n_.*ArcCoth[c_.*(a_+b_.*x_)]),x_Symbol] :=
  (I*c*(a+b*x))^(I*n/2)*(1+1/(I*c*(a+b*x)))^(I*n/2)/(1+I*a*c+I*b*c*x)^(I*n/2)*
    Int[(d+e*x)^m*(1+I*a*c+I*b*c*x)^(I*n/2)/(-1+I*a*c+I*b*c*x)^(I*n/2),x] /;
FreeQ[{a,b,c,d,e,m,n},x] && Not[IntegerQ[I*n/2]]

3.  ∫u(((c+d x+e (x^2)))^p)(e^(n ArcCot[a+b x]))dx  when  ((i n)/2)∉ℤ ∧ b d==2 a e ∧ (b^2) c-e(1+(a^2))==0

1:  ∫u(((c+d x+e (x^2)))^p) (e^(n ArcCot[a+b x]))dx  when  ((i n)/2)∉ℤ ∧ b d==2 a e ∧ (b^2) c-e(1+(a^2))==0 ∧ (p∈ℤ ∨ (c/(1+(a^2)))>0)

Derivation: Algebraic simplification and piecewise constant extraction

Basis: If  b d==2 a e ∧ (b^2) c-e(1+(a^2))==0, then c+d x+e (x^2)==(c/(1+(a^2)))(1+(((a+b x))^2))

Basis: ArcCot[z]==i ArcCoth[i z]

Basis: (e^(n ArcCoth[z]))==((((1+(1/z)))^(n/2))/(((1-(1/z)))^(n/2)))==(((z^(n/2))(((1+(1/z)))^(n/2)))/(((-1+z))^(n/2)))

Basis: (∂_x)((((f[x])^n)(((1+(1/(f[x]))))^n))/(((1+f[x]))^n))==0

Basis: (∂_x)((((1-f[x]))^n)/(((-1+f[x]))^n))==0

Basis: (((1+(z^2)))^p)==(((1-i z))^p)(((1+i z))^p)

Basis: (((z^n)(((1+(1/z)))^n))/(((1+z))^n))==((((z/(1+z))))^n) (((((1+z)/z)))^n)

Rule: If  ((i n)/2)∉ℤ ∧ b d==2 a e ∧ (b^2) c-e(1+(a^2))==0 ∧ (p∈ℤ ∨ (c/(1+(a^2)))>0), then

∫u(((c+d x+e (x^2)))^p) (e^(n ArcCot[a+b x]))dx  ⟶  ((((c/(1+(a^2)))))^p)∫u(((1+(((a+b x))^2)))^p) (((((i a+i b x))^((i n)/2))(((1+(1/(i a+i b x))))^((i n)/2)))/(((-1+i a+i b x))^((i n)/2)))dx                                                                                                       
                                                                  ⟶  ((((c/(1+(a^2)))))^p)(((((i a+i b x))^((i n)/2))(((1+(1/(i a+i b x))))^((i n)/2)))/(((1+i a+i b x))^((i n)/2)))((((1-i a-i b x))^((i n)/2))/(((-1+i a+i b x))^((i n)/2)))∫u(((1+(((a+b x))^2)))^p) ((((1+i a+i b x))^((i n)/2))/(((1-i a-i b x))^((i n)/2)))dx  
                                                                                     ⟶  ((((c/(1+(a^2)))))^p)(((((i a+i b x)/(1+i a+i b x))))^((i n)/2)) (((((1+i a+i b x)/(i a+i b x))))^((i n)/2))((((1-i a-i b x))^((i n)/2))/(((-1+i a+i b x))^((i n)/2)))∫u(((1-i a-i b x))^(p-((i n)/2)))(((1+i a+i b x))^(p+((i n)/2)))dx

Program code:

Int[u_.*(c_+d_.*x_+e_.*x_^2)^p_.*E^(n_.*ArcCot[a_+b_.*x_]),x_Symbol] :=
  (c/(1+a^2))^p*((I*a+I*b*x)/(1+I*a+I*b*x))^(I*n/2)*((1+I*a+I*b*x)/(I*a+I*b*x))^(I*n/2)*
    ((1-I*a-I*b*x)^(I*n/2)/(-1+I*a+I*b*x)^(I*n/2))*
    Int[u*(1-I*a-I*b*x)^(p-I*n/2)*(1+I*a+I*b*x)^(p+I*n/2),x] /;
FreeQ[{a,b,c,d,e,n,p},x] && Not[IntegerQ[I*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])

2:  ∫u(((c+d x+e (x^2)))^p) (e^(n ArcCot[a+b x]))dx  when  ((i n)/2)∉ℤ ∧ b d==2 a e ∧ (b^2) c-e(1+(a^2))==0 ∧ ¬(p∈ℤ ∨ (c/(1+(a^2)))>0)

Derivation: Piecewise constant extraction

Basis: If  b d==2 a e ∧ (b^2) c-e(1+(a^2))==0, then (∂_x)((((c+d x+e (x^2)))^p)/(((1+(a^2)+2 a b x+(b^2) (x^2)))^p))==0

Rule: If  ((i n)/2)∉ℤ ∧ b d==2 a e ∧ (b^2) c-e(1+(a^2))==0 ∧ ¬(p∈ℤ ∨ (c/(1+(a^2)))>0), then

∫u(((c+d x+e (x^2)))^p) (e^(n ArcCot[a+b x]))dx  ⟶  ((((c+d x+e (x^2)))^p)/(((1+(a^2)+2 a b x+(b^2) (x^2)))^p))∫u(((1+(a^2)+2 a b x+(b^2) (x^2)))^p) (e^(n ArcCot[a+b x]))dx

Program code:

Int[u_.*(c_+d_.*x_+e_.*x_^2)^p_.*E^(n_.*ArcCot[a_+b_.*x_]),x_Symbol] :=
  (c+d*x+e*x^2)^p/(1+a^2+2*a*b*x+b^2*x^2)^p*Int[u*(1+a^2+2*a*b*x+b^2*x^2)^p*E^(n*ArcCot[a*x]),x] /;
FreeQ[{a,b,c,d,e,n,p},x] && Not[IntegerQ[I*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]]

3:  ∫u (e^(n ArcCot[(c/(a+b x))]))dx

Derivation: Algebraic simplification

Basis: ArcCot[z]==ArcTan[(1/z)]

Rule:

∫u (e^(n ArcCot[(c/(a+b x))]))dx  ⟶  ∫u (e^(n ArcTan[(a/c)+((b x)/c)]))dx

Program code:

Int[u_.*E^(n_.*ArcCot[c_./(a_.+b_.*x_)]),x_Symbol] :=
  Int[u*E^(n*ArcTan[a/c+b*x/c]),x] /;
FreeQ[{a,b,c,n},x]