Rules for integrands involving inverse tangents and cotangents

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

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

Derivation: Integration by parts

Rule:

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

Program code:

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

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

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

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

Derivation: Algebraic expansion

Basis: ArcTan[z]==(1/2) i Log[1-i z]-(1/2) i Log[1+i z]

Rule:

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

Program code:

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

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

2:  ∫(x^m) ArcTan[a+b (x^n)]dx  when  (m|n)∈ℚ ∧ m+1≠0 ∧ m+1≠n

Reference: G&R 2.851, CRC 456, A&S 4.4.69

Reference: G&R 2.852, CRC 458, A&S 4.4.71

Derivation: Integration by parts

Rule: If  (m|n)∈ℚ ∧ m+1≠0 ∧ m+1≠n, then

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

Program code:

Int[x_^m_.*ArcTan[a_+b_.*x_^n_],x_Symbol] :=
  x^(m+1)*ArcTan[a+b*x^n]/(m+1) -
  b*n/(m+1)*Int[x^(m+n)/(1+a^2+2*a*b*x^n+b^2*x^(2*n)),x] /;
FreeQ[{a,b},x] && RationalQ[m,n] && m+1≠0 && m+1≠n

Int[x_^m_.*ArcCot[a_+b_.*x_^n_],x_Symbol] :=
  x^(m+1)*ArcCot[a+b*x^n]/(m+1) +
  b*n/(m+1)*Int[x^(m+n)/(1+a^2+2*a*b*x^n+b^2*x^(2*n)),x] /;
FreeQ[{a,b},x] && RationalQ[m,n] && m+1≠0 && m+1≠n

2.  ∫u ArcTan[a+b (f^(c+d x))]dx

1:  ∫ArcTan[a+b (f^(c+d x))]dx

Derivation: Algebraic expansion

Basis: ArcTan[z]==(1/2) i Log[1-i z]-(1/2) i Log[1+i z]

Rule:

∫ArcTan[a+b (f^(c+d x))]dx  ⟶  (i/2)∫Log[1-i (a+b (f^(c+d x)))]dx-(i/2)∫Log[1+i (a+b (f^(c+d x)))]dx

Program code:

Int[ArcTan[a_.+b_.*f_^(c_.+d_.*x_)],x_Symbol] :=
  I/2*Int[Log[1-I*a-I*b*f^(c+d*x)],x] -
  I/2*Int[Log[1+I*a+I*b*f^(c+d*x)],x] /;
FreeQ[{a,b,c,d,f},x]

Int[ArcCot[a_.+b_.*f_^(c_.+d_.*x_)],x_Symbol] :=
  I/2*Int[Log[1-I/(a+b*f^(c+d*x))],x] -
  I/2*Int[Log[1+I/(a+b*f^(c+d*x))],x] /;
FreeQ[{a,b,c,d,f},x]

2:  ∫(x^m) ArcTan[a+b (f^(c+d x))]dx  when  m∈ℤ ∧ m>0

Derivation: Algebraic expansion

Basis: ArcTan[z]==(1/2) i Log[1-i z]-(1/2) i Log[1+i z]

Rule: If  m∈ℤ ∧ m>0, then

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

Program code:

Int[x_^m_.*ArcTan[a_.+b_.*f_^(c_.+d_.*x_)],x_Symbol] :=
  I/2*Int[x^m*Log[1-I*a-I*b*f^(c+d*x)],x] -
  I/2*Int[x^m*Log[1+I*a+I*b*f^(c+d*x)],x] /;
FreeQ[{a,b,c,d,f},x] && IntegerQ[m] && m>0

Int[x_^m_.*ArcCot[a_.+b_.*f_^(c_.+d_.*x_)],x_Symbol] :=
  I/2*Int[x^m*Log[1-I/(a+b*f^(c+d*x))],x] -
  I/2*Int[x^m*Log[1+I/(a+b*f^(c+d*x))],x] /;
FreeQ[{a,b,c,d,f},x] && IntegerQ[m] && m>0

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

Derivation: Algebraic simplification

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

Rule:

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

Program code:

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

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

4.  ∫u ArcTan[((c x)/(Sqrt[a+b (x^2)]))]dx  when  b+(c^2)==0

1:  ∫ArcTan[((c x)/(Sqrt[a+b (x^2)]))]dx  when  b+(c^2)==0

Derivation: Integration by parts

Basis: If  b+(c^2)==0, then (∂_x)ArcTan[((c x)/(Sqrt[a+b (x^2)]))]==(c/(Sqrt[a+b (x^2)]))

Rule: If  b+(c^2)==0, then

∫ArcTan[((c x)/(Sqrt[a+b (x^2)]))]dx  ⟶  x ArcTan[((c x)/(Sqrt[a+b (x^2)]))]-c∫(x/(Sqrt[a+b (x^2)]))dx

Program code:

Int[ArcTan[c_.*x_/Sqrt[a_.+b_.*x_^2]],x_Symbol] :=
  x*ArcTan[(c*x)/Sqrt[a+b*x^2]] - c*Int[x/Sqrt[a+b*x^2],x] /;
FreeQ[{a,b,c},x] && EqQ[b+c^2,0]

Int[ArcCot[c_.*x_/Sqrt[a_.+b_.*x_^2]],x_Symbol] :=
  x*ArcCot[(c*x)/Sqrt[a+b*x^2]] + c*Int[x/Sqrt[a+b*x^2],x] /;
FreeQ[{a,b,c},x] && EqQ[b+c^2,0]

2.  ∫(((d x))^m) ArcTan[((c x)/(Sqrt[a+b (x^2)]))]dx  when  b+(c^2)==0

1:  ∫((ArcTan[((c x)/(Sqrt[a+b (x^2)]))])/x)dx  when  b+(c^2)==0

Derivation: Integration by parts

Basis: If  b+(c^2)==0, then (∂_x)ArcTan[((c x)/(Sqrt[a+b (x^2)]))]==(c/(Sqrt[a+b (x^2)]))

Rule: If  b+(c^2)==0, then

∫((ArcTan[((c x)/(Sqrt[a+b (x^2)]))])/x)dx  ⟶  ArcTan[((c x)/(Sqrt[a+b (x^2)]))] Log[x]-c∫((Log[x])/(Sqrt[a+b (x^2)]))dx

Program code:

Int[ArcTan[c_.*x_/Sqrt[a_.+b_.*x_^2]]/x_,x_Symbol] :=
  ArcTan[c*x/Sqrt[a+b*x^2]]*Log[x] - c*Int[Log[x]/Sqrt[a+b*x^2],x] /;
FreeQ[{a,b,c},x] && EqQ[b+c^2,0]

Int[ArcCot[c_.*x_/Sqrt[a_.+b_.*x_^2]]/x_,x_Symbol] :=
  ArcCot[c*x/Sqrt[a+b*x^2]]*Log[x] + c*Int[Log[x]/Sqrt[a+b*x^2],x] /;
FreeQ[{a,b,c},x] && EqQ[b+c^2,0]

2:  ∫(((d x))^m) ArcTan[((c x)/(Sqrt[a+b (x^2)]))]dx  when  b+(c^2)==0 ∧ m≠-1

Derivation: Integration by parts

Basis: If  b+(c^2)==0, then (∂_x)ArcTan[((c x)/(Sqrt[a+b (x^2)]))]==(c/(Sqrt[a+b (x^2)]))

Rule: If  b+(c^2)==0 ∧ m≠-1, then

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

Program code:

Int[(d_.*x_)^m_.*ArcTan[c_.*x_/Sqrt[a_.+b_.*x_^2]],x_Symbol] :=
  (d*x)^(m+1)*ArcTan[(c*x)/Sqrt[a+b*x^2]]/(d*(m+1)) - c/(d*(m+1))*Int[(d*x)^(m+1)/Sqrt[a+b*x^2],x] /;
FreeQ[{a,b,c,d,m},x] && EqQ[b+c^2,0] && NeQ[m,-1]

Int[(d_.*x_)^m_.*ArcCot[c_.*x_/Sqrt[a_.+b_.*x_^2]],x_Symbol] :=
  (d*x)^(m+1)*ArcCot[(c*x)/Sqrt[a+b*x^2]]/(d*(m+1)) + c/(d*(m+1))*Int[(d*x)^(m+1)/Sqrt[a+b*x^2],x] /;
FreeQ[{a,b,c,d,m},x] && EqQ[b+c^2,0] && NeQ[m,-1]

3.  ∫(((ArcTan[((c x)/(Sqrt[a+b (x^2)]))])^m)/(Sqrt[d+e (x^2)]))dx  when  b+(c^2)==0 ∧ b d-a e==0

1.  ∫(((ArcTan[((c x)/(Sqrt[a+b (x^2)]))])^m)/(Sqrt[a+b (x^2)]))dx  when  b+(c^2)==0

1:  ∫(1/((Sqrt[a+b (x^2)]) ArcTan[((c x)/(Sqrt[a+b (x^2)]))]))dx  when  b+(c^2)==0

Derivation: Reciprocal rule for integration

Basis: If  b+(c^2)==0, then (∂_x)ArcTan[((c x)/(Sqrt[a+b (x^2)]))]==(c/(Sqrt[a+b (x^2)]))

Rule: If  b+(c^2)==0, then

∫(1/((Sqrt[a+b (x^2)]) ArcTan[((c x)/(Sqrt[a+b (x^2)]))]))dx  ⟶  (1/c)Log[ArcTan[((c x)/(Sqrt[a+b (x^2)]))]]

Program code:

Int[1/(Sqrt[a_.+b_.*x_^2]*ArcTan[c_.*x_/Sqrt[a_.+b_.*x_^2]]),x_Symbol] :=
  1/c*Log[ArcTan[c*x/Sqrt[a+b*x^2]]] /;
FreeQ[{a,b,c},x] && EqQ[b+c^2,0]

Int[1/(Sqrt[a_.+b_.*x_^2]*ArcCot[c_.*x_/Sqrt[a_.+b_.*x_^2]]),x_Symbol] :=
  -1/c*Log[ArcCot[c*x/Sqrt[a+b*x^2]]] /;
FreeQ[{a,b,c},x] && EqQ[b+c^2,0]

2:  ∫(((ArcTan[((c x)/(Sqrt[a+b (x^2)]))])^m)/(Sqrt[a+b (x^2)]))dx  when  b+(c^2)==0 ∧ m≠-1

Derivation: Power rule for integration

Basis: If  b+(c^2)==0, then (∂_x)ArcTan[((c x)/(Sqrt[a+b (x^2)]))]==(c/(Sqrt[a+b (x^2)]))

Rule: If  b+(c^2)==0 ∧ m≠-1, then

∫(((ArcTan[((c x)/(Sqrt[a+b (x^2)]))])^m)/(Sqrt[a+b (x^2)]))dx  ⟶  (((ArcTan[((c x)/(Sqrt[a+b (x^2)]))])^(m+1))/(c (m+1)))

Program code:

Int[ArcTan[c_.*x_/Sqrt[a_.+b_.*x_^2]]^m_./Sqrt[a_.+b_.*x_^2],x_Symbol] :=
  ArcTan[c*x/Sqrt[a+b*x^2]]^(m+1)/(c*(m+1)) /;
FreeQ[{a,b,c,m},x] && EqQ[b+c^2,0] && NeQ[m,-1]

Int[ArcCot[c_.*x_/Sqrt[a_.+b_.*x_^2]]^m_./Sqrt[a_.+b_.*x_^2],x_Symbol] :=
  -ArcCot[c*x/Sqrt[a+b*x^2]]^(m+1)/(c*(m+1)) /;
FreeQ[{a,b,c,m},x] && EqQ[b+c^2,0] && NeQ[m,-1]

2:  ∫(((ArcTan[((c x)/(Sqrt[a+b (x^2)]))])^m)/(Sqrt[d+e (x^2)]))dx  when  b+(c^2)==0 ∧ b d-a e==0

Derivation: Piecewise constant extraction

Basis: If  b d-a e==0 , then (∂_x)((Sqrt[a+b (x^2)])/(Sqrt[d+e (x^2)]))==0

Rule: If  b+(c^2)==0 ∧ b d-a e==0 , then

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

Program code:

Int[ArcTan[c_.*x_/Sqrt[a_.+b_.*x_^2]]^m_./Sqrt[d_.+e_.*x_^2],x_Symbol] :=
  Sqrt[a+b*x^2]/Sqrt[d+e*x^2]*Int[ArcTan[c*x/Sqrt[a+b*x^2]]^m/Sqrt[a+b*x^2],x] /;
FreeQ[{a,b,c,d,e,m},x] && EqQ[b+c^2,0] && EqQ[b*d-a*e,0]

Int[ArcCot[c_.*x_/Sqrt[a_.+b_.*x_^2]]^m_./Sqrt[d_.+e_.*x_^2],x_Symbol] :=
  Sqrt[a+b*x^2]/Sqrt[d+e*x^2]*Int[ArcCot[c*x/Sqrt[a+b*x^2]]^m/Sqrt[a+b*x^2],x] /;
FreeQ[{a,b,c,d,e,m},x] && EqQ[b+c^2,0] && EqQ[b*d-a*e,0]

5:  ∫u ArcTan[v+s(Sqrt[(v^2)+1])]dx  when  (s^2)==1

Derivation: Algebraic simplification

Basis: If  (s^2)==1, then ArcTan[z+s(Sqrt[(z^2)+1])]==((π s)/4)+((ArcTan[z])/2)

Basis: If  (s^2)==1, then ArcCot[z+s(Sqrt[(z^2)+1])]==((π s)/4)-((ArcTan[z])/2)

Rule: If  (s^2)==1, then

∫u ArcTan[v+s(Sqrt[(v^2)+1])]dx  ⟶  ((π s)/4)∫u dx+(1/2)∫u ArcTan[v]dx

Program code:

Int[u_.*ArcTan[v_+s_.*Sqrt[w_]],x_Symbol] :=
  Pi*s/4*Int[u,x] + 1/2*Int[u*ArcTan[v],x] /;
EqQ[s^2,1] && EqQ[w,v^2+1]

Int[u_.*ArcCot[v_+s_.*Sqrt[w_]],x_Symbol] :=
  Pi*s/4*Int[u,x] - 1/2*Int[u*ArcTan[v],x] /;
EqQ[s^2,1] && EqQ[w,v^2+1]

6:  ∫((f[x,ArcTan[a x]])/(1+(((a+b x))^2)))dx

Derivation: Integration by substitution

Basis: ((f[z])/(1+(z^2)))==f[Tan[ArcTan[z]]] ArcTan'[z]

Basis: r+s x+t (x^2)==-(((s^2)-4 r t)/(4 t)) (1-((((s+2 t x))^2)/((s^2)-4 r t)))

Basis: 1+((Tan[z])^2)==((Sec[z])^2)

Rule:

∫((f[x,ArcTan[a+b x]])/(1+(((a+b x))^2)))dx  ⟶  (1/b) Subst[∫f[-(a/b)+((Tan[x])/b),x]dx,x,ArcTan[a+b x]]

Program code:

If[TrueQ[$LoadShowSteps],

Int[u_*v_^n_.,x_Symbol] :=
  With[{tmp=InverseFunctionOfLinear[u,x]},
  ShowStep["","Int[f[x,ArcTan[a+b*x]]/(1+(a+b*x)^2),x]",
		   "Subst[Int[f[-a/b+Tan[x]/b,x],x],x,ArcTan[a+b*x]]/b",Hold[
  (-Discriminant[v,x]/(4*Coefficient[v,x,2]))^n/Coefficient[tmp[[1]],x,1]*
	Subst[Int[SimplifyIntegrand[SubstForInverseFunction[u,tmp,x]*Sec[x]^(2*(n+1)),x],x], x, tmp]]] /;
 Not[FalseQ[tmp]] && EqQ[Head[tmp],ArcTan] && EqQ[Discriminant[v,x]*tmp[[1]]^2+D[v,x]^2,0]] /;
SimplifyFlag && QuadraticQ[v,x] && ILtQ[n,0] && NegQ[Discriminant[v,x]] && MatchQ[u,r_.*f_^w_ /; FreeQ[f,x]],

Int[u_*v_^n_.,x_Symbol] :=
  With[{tmp=InverseFunctionOfLinear[u,x]},
  (-Discriminant[v,x]/(4*Coefficient[v,x,2]))^n/Coefficient[tmp[[1]],x,1]*
	Subst[Int[SimplifyIntegrand[SubstForInverseFunction[u,tmp,x]*Sec[x]^(2*(n+1)),x],x], x, tmp] /;
 Not[FalseQ[tmp]] && EqQ[Head[tmp],ArcTan] && EqQ[Discriminant[v,x]*tmp[[1]]^2+D[v,x]^2,0]] /;
QuadraticQ[v,x] && ILtQ[n,0] && NegQ[Discriminant[v,x]] && MatchQ[u,r_.*f_^w_ /; FreeQ[f,x]]]

If[TrueQ[$LoadShowSteps],

Int[u_*v_^n_.,x_Symbol] :=
  With[{tmp=InverseFunctionOfLinear[u,x]},
  ShowStep["","Int[f[x,ArcCot[a+b*x]]/(1+(a+b*x)^2),x]",
		   "-Subst[Int[f[-a/b+Cot[x]/b,x],x],x,ArcCot[a+b*x]]/b",Hold[
  -(-Discriminant[v,x]/(4*Coefficient[v,x,2]))^n/Coefficient[tmp[[1]],x,1]*
	Subst[Int[SimplifyIntegrand[SubstForInverseFunction[u,tmp,x]*Csc[x]^(2*(n+1)),x],x], x, tmp]]] /;
 Not[FalseQ[tmp]] && EqQ[Head[tmp],ArcCot] && EqQ[Discriminant[v,x]*tmp[[1]]^2+D[v,x]^2,0]] /;
SimplifyFlag && QuadraticQ[v,x] && ILtQ[n,0] && NegQ[Discriminant[v,x]] && MatchQ[u,r_.*f_^w_ /; FreeQ[f,x]],

Int[u_*v_^n_.,x_Symbol] :=
  With[{tmp=InverseFunctionOfLinear[u,x]},
  -(-Discriminant[v,x]/(4*Coefficient[v,x,2]))^n/Coefficient[tmp[[1]],x,1]*
	Subst[Int[SimplifyIntegrand[SubstForInverseFunction[u,tmp,x]*Csc[x]^(2*(n+1)),x],x], x, tmp] /;
 Not[FalseQ[tmp]] && EqQ[Head[tmp],ArcCot] && EqQ[Discriminant[v,x]*tmp[[1]]^2+D[v,x]^2,0]] /;
QuadraticQ[v,x] && ILtQ[n,0] && NegQ[Discriminant[v,x]] && MatchQ[u,r_.*f_^w_ /; FreeQ[f,x]]]

7.  ∫u ArcTan[c+d Tan[a+b x]]dx

1.  ∫ArcTan[c+d Tan[a+b x]]dx

1:  ∫ArcTan[c+d Tan[a+b x]]dx  when  (((c+i d))^2)==-1

Derivation: Integration by parts

Basis: If (((c+i d))^2)==-1, then (∂_x)ArcTan[c+d Tan[a+b x]]==((i b)/(c+i d+c (e^(2 i (a+b x)))))

Rule: If (((c+i d))^2)==-1, then

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

Program code:

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

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

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

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

2:  ∫ArcTan[c+d Tan[a+b x]]dx  when  (((c+i d))^2)≠-1

Derivation: Integration by parts

Basis: (∂_x)ArcTan[c+d Tan[a+b x]]==((b (1+i c+d) (e^(2 i a+2 i b x)))/(1+i c-d+(1+i c+d) (e^(2 i a+2 i b x))))-((b (1-i c-d) (e^(2 i a+2 i b x)))/(1-i c+d+(1-i c-d) (e^(2 i a+2 i b x))))

Rule: If (((c+i d))^2)≠-1, then

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

Program code:

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

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

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

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

2.  ∫(((e+f x))^m)ArcTan[c+d Tan[a+b x]]dx  when  m∈(SuperPlus[ℤ])

1:  ∫(((e+f x))^m)ArcTan[c+d Tan[a+b x]]dx  when  m∈(SuperPlus[ℤ])∧ (((c+i d))^2)==-1

Derivation: Integration by parts

Basis: If (((c+i d))^2)==-1, then (∂_x)ArcTan[c+d Tan[a+b x]]==((i b)/(c+i d+c (e^(2 i (a+b x)))))

Rule: If m∈(SuperPlus[ℤ])∧ (((c+i d))^2)==-1, then

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

Program code:

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

Int[(e_.+f_.*x_)^m_.*ArcCot[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCot[c+d*Tan[a+b*x]]/(f*(m+1)) + 
  I*b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c+I*d+c*E^(2*I*a+2*I*b*x)),x] /;
FreeQ[{a,b,c,d,e,f},x] && IGtQ[m,0] && EqQ[(c+I*d)^2,-1]

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

Int[(e_.+f_.*x_)^m_.*ArcCot[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCot[c+d*Cot[a+b*x]]/(f*(m+1)) + 
  I*b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c-I*d-c*E^(2*I*a+2*I*b*x)),x] /;
FreeQ[{a,b,c,d,e,f},x] && IGtQ[m,0] && EqQ[(c-I*d)^2,-1]

2:  ∫(((e+f x))^m)ArcTan[c+d Tan[a+b x]]dx  when  m∈(SuperPlus[ℤ])∧ (((c+i d))^2)≠-1

Derivation: Integration by parts

Basis: (∂_x)ArcTan[c+d Tan[a+b x]]==((b (1+i c+d) (e^(2 i a+2 i b x)))/(1+i c-d+(1+i c+d) (e^(2 i a+2 i b x))))-((b (1-i c-d) (e^(2 i a+2 i b x)))/(1-i c+d+(1-i c-d) (e^(2 i a+2 i b x))))

Rule: If m∈(SuperPlus[ℤ])∧ (((c+i d))^2)≠-1, then

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

Program code:

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

Int[(e_.+f_.*x_)^m_.*ArcCot[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCot[c+d*Tan[a+b*x]]/(f*(m+1)) + 
  b*(1+I*c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1+I*c-d+(1+I*c+d)*E^(2*I*a+2*I*b*x)),x] - 
  b*(1-I*c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1-I*c+d+(1-I*c-d)*E^(2*I*a+2*I*b*x)),x] /;
FreeQ[{a,b,c,d,e,f},x] && IGtQ[m,0] && NeQ[(c+I*d)^2,-1]

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

Int[(e_.+f_.*x_)^m_.*ArcCot[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCot[c+d*Cot[a+b*x]]/(f*(m+1)) - 
  b*(1+I*c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1+I*c+d-(1+I*c-d)*E^(2*I*a+2*I*b*x)),x] + 
  b*(1-I*c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1-I*c-d-(1-I*c+d)*E^(2*I*a+2*I*b*x)),x] /;
FreeQ[{a,b,c,d,e,f},x] && IGtQ[m,0] && NeQ[(c-I*d)^2,-1]

8.  ∫u ArcTan[c+d Tanh[a+b x]]dx

1.  ∫u ArcTan[Tanh[a+b x]]dx

1:  ∫ArcTan[Tanh[a+b x]]dx

Derivation: Integration by parts

Basis: (∂_x)ArcTan[Tanh[a+b x]]==b Sech[2 a+2 b x]

Rule:

∫ArcTan[Tanh[a+b x]]dx  ⟶  x ArcTan[Tanh[a+b x]]-b ∫x Sech[2 a+2 b x]dx

Program code:

Int[ArcTan[Tanh[a_.+b_.*x_]],x_Symbol] :=
  x*ArcTan[Tanh[a+b*x]] - b*Int[x*Sech[2*a+2*b*x],x] /;
FreeQ[{a,b},x]

Int[ArcCot[Tanh[a_.+b_.*x_]],x_Symbol] :=
  x*ArcCot[Tanh[a+b*x]] + b*Int[x*Sech[2*a+2*b*x],x] /;
FreeQ[{a,b},x]

Int[ArcTan[Coth[a_.+b_.*x_]],x_Symbol] :=
  x*ArcTan[Coth[a+b*x]] + b*Int[x*Sech[2*a+2*b*x],x] /;
FreeQ[{a,b},x]

Int[ArcCot[Coth[a_.+b_.*x_]],x_Symbol] :=
  x*ArcCot[Coth[a+b*x]] - b*Int[x*Sech[2*a+2*b*x],x] /;
FreeQ[{a,b},x]

2:  ∫(((e+f x))^m) ArcTan[Tanh[a+b x]]dx  when  m∈(SuperPlus[ℤ])

Derivation: Integration by parts

Basis: (∂_x)ArcTan[Tanh[a+b x]]==b Sech[2 a+2 b x]

Rule: If  m∈(SuperPlus[ℤ]), then

∫(((e+f x))^m) ArcTan[Tanh[a+b x]]dx  ⟶  (((((e+f x))^(m+1)) ArcTan[Tanh[a+b x]])/(f (m+1)))-(b/(f (m+1))) ∫(((e+f x))^(m+1)) Sech[2 a+2 b x]dx

Program code:

Int[(e_.+f_.*x_)^m_.*ArcTan[Tanh[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcTan[Tanh[a+b*x]]/(f*(m+1)) - b/(f*(m+1))*Int[(e+f*x)^(m+1)*Sech[2*a+2*b*x],x] /;
FreeQ[{a,b,e,f},x] && IGtQ[m,0]

Int[(e_.+f_.*x_)^m_.*ArcCot[Tanh[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCot[Tanh[a+b*x]]/(f*(m+1)) + b/(f*(m+1))*Int[(e+f*x)^(m+1)*Sech[2*a+2*b*x],x] /;
FreeQ[{a,b,e,f},x] && IGtQ[m,0]

Int[(e_.+f_.*x_)^m_.*ArcTan[Coth[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcTan[Coth[a+b*x]]/(f*(m+1)) + b/(f*(m+1))*Int[(e+f*x)^(m+1)*Sech[2*a+2*b*x],x] /;
FreeQ[{a,b,e,f},x] && IGtQ[m,0]

Int[(e_.+f_.*x_)^m_.*ArcCot[Coth[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCot[Coth[a+b*x]]/(f*(m+1)) - b/(f*(m+1))*Int[(e+f*x)^(m+1)*Sech[2*a+2*b*x],x] /;
FreeQ[{a,b,e,f},x] && IGtQ[m,0]

2.  ∫u ArcTan[c+d Tanh[a+b x]]dx

1.  ∫ArcTan[c+d Tanh[a+b x]]dx

1:  ∫ArcTan[c+d Tanh[a+b x]]dx  when  (((c-d))^2)==-1

Derivation: Integration by parts

Basis: If (((c-d))^2)==-1, then (∂_x)ArcTan[c+d Tanh[a+b x]]==(b/(c-d+c (e^(2 a+2 b x))))

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

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

Program code:

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

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

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

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

2:  ∫ArcTan[c+d Tanh[a+b x]]dx  when  (((c-d))^2)≠-1

Derivation: Integration by parts

Basis: (∂_x)ArcTan[c+d Tanh[a+b x]]==-((i b (i-c-d) (e^(2 a+2 b x)))/(i-c+d+(i-c-d) (e^(2 a+2 b x)))) +((i b (i+c+d) (e^(2 a+2 b x)))/(i+c-d+(i+c+d) (e^(2 a+2 b x))))

Rule: If (((c-d))^2)≠-1, then

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

Program code:

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

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

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

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

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

1:  ∫(((e+f x))^m)ArcTan[c+d Tanh[a+b x]]dx  when  m∈(SuperPlus[ℤ])∧ (((c-d))^2)==-1

Derivation: Integration by parts

Basis: If (((c-d))^2)==-1, then (∂_x)ArcTan[c+d Tanh[a+b x]]==(b/(c-d+c (e^(2 a+2 b x))))

Rule: If  m∈(SuperPlus[ℤ])∧ (((c-d))^2)==-1, then

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

Program code:

Int[(e_.+f_.*x_)^m_.*ArcTan[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcTan[c+d*Tanh[a+b*x]]/(f*(m+1)) - 
  b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c-d+c*E^(2*a+2*b*x)),x] /;
FreeQ[{a,b,c,d,e,f},x] && IGtQ[m,0] && EqQ[(c-d)^2,-1]

Int[(e_.+f_.*x_)^m_.*ArcCot[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCot[c+d*Tanh[a+b*x]]/(f*(m+1)) + 
  b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c-d+c*E^(2*a+2*b*x)),x] /;
FreeQ[{a,b,c,d,e,f},x] && IGtQ[m,0] && EqQ[(c-d)^2,-1]

Int[(e_.+f_.*x_)^m_.*ArcTan[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcTan[c+d*Coth[a+b*x]]/(f*(m+1)) - 
  b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c-d-c*E^(2*a+2*b*x)),x] /;
FreeQ[{a,b,c,d,e,f},x] && IGtQ[m,0] && EqQ[(c-d)^2,-1]

Int[(e_.+f_.*x_)^m_.*ArcCot[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCot[c+d*Coth[a+b*x]]/(f*(m+1)) + 
  b/(f*(m+1))*Int[(e+f*x)^(m+1)/(c-d-c*E^(2*a+2*b*x)),x] /;
FreeQ[{a,b,c,d,e,f},x] && IGtQ[m,0] && EqQ[(c-d)^2,-1]

2:  ∫(((e+f x))^m)ArcTan[c+d Tanh[a+b x]]dx  when  m∈(SuperPlus[ℤ])∧ (((c-d))^2)≠-1

Derivation: Integration by parts

Basis: (∂_x)ArcTan[c+d Tanh[a+b x]]==-((i b (i-c-d) (e^(2 a+2 b x)))/(i-c+d+(i-c-d) (e^(2 a+2 b x)))) +((i b (i+c+d) (e^(2 a+2 b x)))/(i+c-d+(i+c+d) (e^(2 a+2 b x))))

Rule: If m∈(SuperPlus[ℤ])∧ (((c-d))^2)≠-1, then

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

Program code:

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

Int[(e_.+f_.*x_)^m_.*ArcCot[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCot[c+d*Tanh[a+b*x]]/(f*(m+1)) - 
  I*b*(I-c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(I-c+d+(I-c-d)*E^(2*a+2*b*x)),x] + 
  I*b*(I+c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(I+c-d+(I+c+d)*E^(2*a+2*b*x)),x] /;
FreeQ[{a,b,c,d,e,f},x] && IGtQ[m,0] && NeQ[(c-d)^2,-1]

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

Int[(e_.+f_.*x_)^m_.*ArcCot[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCot[c+d*Coth[a+b*x]]/(f*(m+1)) + 
  I*b*(I-c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(I-c+d-(I-c-d)*E^(2*a+2*b*x)),x] - 
  I*b*(I+c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(I+c-d-(I+c+d)*E^(2*a+2*b*x)),x] /;
FreeQ[{a,b,c,d,e,f},x] && IGtQ[m,0] && NeQ[(c-d)^2,-1]

9.  ∫v (a+b ArcTan[u])dx  when u is free of inverse functions

1:  ∫ArcTan[u]dx  when u is free of inverse functions

Derivation: Integration by parts

Rule: If u is free of inverse functions, then

∫ArcTan[u]dx  ⟶  x ArcTan[u]-∫((x (∂_x)u)/(1+(u^2)))dx

Program code:

Int[ArcTan[u_],x_Symbol] :=
  x*ArcTan[u] -
  Int[SimplifyIntegrand[x*D[u,x]/(1+u^2),x],x] /;
InverseFunctionFreeQ[u,x]

Int[ArcCot[u_],x_Symbol] :=
  x*ArcCot[u] +
  Int[SimplifyIntegrand[x*D[u,x]/(1+u^2),x],x] /;
InverseFunctionFreeQ[u,x]

2:  ∫(((c+d x))^m) (a+b ArcTan[u])dx  when  m≠-1∧ u is free of inverse functions

Derivation: Integration by parts

Rule: If  m≠-1∧ u is free of inverse functions, then

∫(((c+d x))^m) (a+b ArcTan[u])dx  ⟶  (((((c+d x))^(m+1)) (a+b ArcTan[u]))/(d(m+1)))-(b/(d(m+1)))∫(((((c+d x))^(m+1)) (∂_x)u)/(1+(u^2)))dx

Program code:

Int[(c_.+d_.*x_)^m_.*(a_.+b_.*ArcTan[u_]),x_Symbol] :=
  (c+d*x)^(m+1)*(a+b*ArcTan[u])/(d*(m+1)) -
  b/(d*(m+1))*Int[SimplifyIntegrand[(c+d*x)^(m+1)*D[u,x]/(1+u^2),x],x] /;
FreeQ[{a,b,c,d,m},x] && NeQ[m,-1] && InverseFunctionFreeQ[u,x] && Not[FunctionOfQ[(c+d*x)^(m+1),u,x]] && FalseQ[PowerVariableExpn[u,m+1,x]]

Int[(c_.+d_.*x_)^m_.*(a_.+b_.*ArcCot[u_]),x_Symbol] :=
  (c+d*x)^(m+1)*(a+b*ArcCot[u])/(d*(m+1)) +
  b/(d*(m+1))*Int[SimplifyIntegrand[(c+d*x)^(m+1)*D[u,x]/(1+u^2),x],x] /;
FreeQ[{a,b,c,d,m},x] && NeQ[m,-1] && InverseFunctionFreeQ[u,x] && Not[FunctionOfQ[(c+d*x)^(m+1),u,x]] && FalseQ[PowerVariableExpn[u,m+1,x]]

3:  ∫v (a+b ArcTan[u])dx  when  u and ∫vdx  are free of inverse functions

Derivation: Integration by parts

Rule: If u is free of inverse functions, let  w==∫vdx, if w is free of inverse functions, then

∫v (a+b ArcTan[u])dx  ⟶  w (a+b ArcTan[u])-b∫((w (∂_x)u)/(1+(u^2)))dx

Program code:

Int[v_*(a_.+b_.*ArcTan[u_]),x_Symbol] :=
  With[{w=IntHide[v,x]},  
  Dist[(a+b*ArcTan[u]),w,x] - b*Int[SimplifyIntegrand[w*D[u,x]/(1+u^2),x],x] /;
 InverseFunctionFreeQ[w,x]] /;
FreeQ[{a,b},x] && InverseFunctionFreeQ[u,x] && Not[MatchQ[v, (c_.+d_.*x)^m_. /; FreeQ[{c,d,m},x]]] && FalseQ[FunctionOfLinear[v*(a+b*ArcTan[u]),x]]

Int[v_*(a_.+b_.*ArcCot[u_]),x_Symbol] :=
  With[{w=IntHide[v,x]},  
  Dist[(a+b*ArcCot[u]),w,x] + b*Int[SimplifyIntegrand[w*D[u,x]/(1+u^2),x],x] /;
 InverseFunctionFreeQ[w,x]] /;
FreeQ[{a,b},x] && InverseFunctionFreeQ[u,x] && Not[MatchQ[v, (c_.+d_.*x)^m_. /; FreeQ[{c,d,m},x]]] && FalseQ[FunctionOfLinear[v*(a+b*ArcCot[u]),x]]

10:  ∫((ArcTan[v]Log[w])/(a+b x))dx  when  (∂_x)(v/(a+b x))==0 ∧ (∂_x)(w/(a+b x))==0

Derivation: Algebraic expansion

Basis: ArcTan[z]==(i/2)  Log[1-i z]-(i/2)Log[1+i z]

Rule: If  (∂_x)(v/(a+b x))==0 ∧ (∂_x)(w/(a+b x))==0, then

∫((ArcTan[v]Log[w])/(a+b x))dx  ⟶  (i/2) ∫((Log[1-i v]Log[w])/(a+b x))dx-(i/2) ∫((Log[1+i v]Log[w])/(a+b x))dx

Program code:

Int[ArcTan[v_]*Log[w_]/(a_.+b_.*x_),x_Symbol] :=
  I/2*Int[Log[1-I*v]*Log[w]/(a+b*x),x] - I/2*Int[Log[1+I*v]*Log[w]/(a+b*x),x] /;
FreeQ[{a,b},x] && LinearQ[v,x] && LinearQ[w,x] && EqQ[Simplify[D[v/(a+b*x),x]],0] && EqQ[Simplify[D[w/(a+b*x),x]],0]

11.  ∫u ArcTan[v]Log[w]dx  when  v,w and ∫udx  are free of inverse functions

1:  ∫ArcTan[v]Log[w]dx  when  v and w  are free of inverse functions

Derivation: Integration by parts

Rule: If v and w are free of inverse functions, then

∫ArcTan[v]Log[w]dx  ⟶  x ArcTan[v]Log[w]-∫((x Log[w](∂_x)v)/(1+(v^2)))dx-∫((x ArcTan[v](∂_x)w)/w)dx

Program code:

Int[ArcTan[v_]*Log[w_],x_Symbol] :=
  x*ArcTan[v]*Log[w] - 
  Int[SimplifyIntegrand[x*Log[w]*D[v,x]/(1+v^2),x],x] - 
  Int[SimplifyIntegrand[x*ArcTan[v]*D[w,x]/w,x],x] /;
InverseFunctionFreeQ[v,x] && InverseFunctionFreeQ[w,x]

Int[ArcCot[v_]*Log[w_],x_Symbol] :=
  x*ArcCot[v]*Log[w] + 
  Int[SimplifyIntegrand[x*Log[w]*D[v,x]/(1+v^2),x],x] - 
  Int[SimplifyIntegrand[x*ArcCot[v]*D[w,x]/w,x],x] /;
InverseFunctionFreeQ[v,x] && InverseFunctionFreeQ[w,x]

2:  ∫u ArcTan[v]Log[w]dx  when  v,w and ∫udx  are free of inverse functions

Derivation: Integration by parts

Rule: If v and w are free of inverse functions, let  z==∫udx, if z is free of inverse functions, then

∫u ArcTan[v]Log[w]dx  ⟶  z ArcTan[v]Log[w]-∫((z Log[w](∂_x)v)/(1+(v^2)))dx-∫((z ArcTan[v](∂_x)w)/w)dx

Program code:

Int[u_*ArcTan[v_]*Log[w_],x_Symbol] :=
  With[{z=IntHide[u,x]},  
  Dist[ArcTan[v]*Log[w],z,x] - 
  Int[SimplifyIntegrand[z*Log[w]*D[v,x]/(1+v^2),x],x] - 
  Int[SimplifyIntegrand[z*ArcTan[v]*D[w,x]/w,x],x] /;
 InverseFunctionFreeQ[z,x]] /;
InverseFunctionFreeQ[v,x] && InverseFunctionFreeQ[w,x]

Int[u_*ArcCot[v_]*Log[w_],x_Symbol] :=
  With[{z=IntHide[u,x]},  
  Dist[ArcCot[v]*Log[w],z,x] + 
  Int[SimplifyIntegrand[z*Log[w]*D[v,x]/(1+v^2),x],x] - 
  Int[SimplifyIntegrand[z*ArcCot[v]*D[w,x]/w,x],x] /;
 InverseFunctionFreeQ[z,x]] /;
InverseFunctionFreeQ[v,x] && InverseFunctionFreeQ[w,x]