Rules for integrands involving inverse hyperbolic tangents and cotangents

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

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

Derivation: Integration by parts

Rule:

∫ArcTanh[a+b (x^n)]dx  ⟶  x ArcTanh[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[ArcTanh[a_+b_.*x_^n_],x_Symbol] :=
  x*ArcTanh[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[ArcCoth[a_+b_.*x_^n_],x_Symbol] :=
  x*ArcCoth[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)ArcTanh[a+b (x^n)]dx

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

Derivation: Algebraic expansion

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

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

Rule:

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

Program code:

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

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

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

Reference: CRC 588, A&S 4.6.54

Reference: CRC 590, A&S 4.6.60

Derivation: Integration by parts

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

∫(x^m) ArcTanh[a+b (x^n)]dx  ⟶  (((x^(m+1)) ArcTanh[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_.*ArcTanh[a_+b_.*x_^n_],x_Symbol] :=
  x^(m+1)*ArcTanh[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] && NeQ[m,-1] && NeQ[m+1,n]

Int[x_^m_.*ArcCoth[a_+b_.*x_^n_],x_Symbol] :=
  x^(m+1)*ArcCoth[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] && NeQ[m,-1] && NeQ[m+1,n]

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

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

Derivation: Algebraic expansion

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

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

Rule:

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

Program code:

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

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

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

Derivation: Algebraic expansion

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

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

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

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

Program code:

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

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

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

Derivation: Algebraic simplification

Basis: ArcTanh[z]==ArcCoth[(1/z)]

Rule:

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

Program code:

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

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

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

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

Derivation: Integration by parts

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

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

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

Program code:

Int[ArcTanh[c_.*x_/Sqrt[a_.+b_.*x_^2]],x_Symbol] :=
  x*ArcTanh[(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]

Int[ArcCoth[c_.*x_/Sqrt[a_.+b_.*x_^2]],x_Symbol] :=
  x*ArcCoth[(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]

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

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

Derivation: Integration by parts

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

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

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

Program code:

Int[ArcTanh[c_.*x_/Sqrt[a_.+b_.*x_^2]]/x_,x_Symbol] :=
  ArcTanh[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]

Int[ArcCoth[c_.*x_/Sqrt[a_.+b_.*x_^2]]/x_,x_Symbol] :=
  ArcCoth[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]

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

Derivation: Integration by parts

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

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

∫(((d x))^m) ArcTanh[((c x)/(Sqrt[a+b (x^2)]))]dx  ⟶  (((((d x))^(m+1)) ArcTanh[((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_.*ArcTanh[c_.*x_/Sqrt[a_.+b_.*x_^2]],x_Symbol] :=
  (d*x)^(m+1)*ArcTanh[(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] && NeQ[m,-1]

Int[(d_.*x_)^m_.*ArcCoth[c_.*x_/Sqrt[a_.+b_.*x_^2]],x_Symbol] :=
  (d*x)^(m+1)*ArcCoth[(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] && NeQ[m,-1]

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

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

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

Derivation: Reciprocal rule for integration

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

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

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

Program code:

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

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

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

Derivation: Power rule for integration

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

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

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

Program code:

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

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

2:  ∫(((ArcTanh[((c x)/(Sqrt[a+b (x^2)]))])^m)/(Sqrt[d+e (x^2)]))dx  when  b==(c^2) ∧ 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) ∧ b d-a e==0 , then

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

Program code:

Int[ArcTanh[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[ArcTanh[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] && EqQ[b*d-a*e,0]

Int[ArcCoth[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[ArcCoth[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] && EqQ[b*d-a*e,0]

5:  ∫((f[x,ArcTanh[a+b x]])/(1-(((a+b x))^2)))dx

Derivation: Integration by substitution

Basis: ((f[z])/(1-(z^2)))==f[Tanh[ArcTanh[z]]] ArcTanh'[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-((Tanh[z])^2)==((Sech[z])^2)

Rule:

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

Program code:

If[TrueQ[$LoadShowSteps],

Int[u_*v_^n_.,x_Symbol] :=
  With[{tmp=InverseFunctionOfLinear[u,x]},
  ShowStep["","Int[f[x,ArcTanh[a+b*x]]/(1-(a+b*x)^2),x]",
		   "Subst[Int[f[-a/b+Tanh[x]/b,x],x],x,ArcTanh[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]*Sech[x]^(2*(n+1)),x],x], x, tmp]]] /;
 Not[FalseQ[tmp]] && EqQ[Head[tmp],ArcTanh] && EqQ[Discriminant[v,x]*tmp[[1]]^2-D[v,x]^2,0]] /;
SimplifyFlag && QuadraticQ[v,x] && ILtQ[n,0] && PosQ[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]*Sech[x]^(2*(n+1)),x],x], x, tmp] /;
 Not[FalseQ[tmp]] && EqQ[Head[tmp],ArcTanh] && EqQ[Discriminant[v,x]*tmp[[1]]^2-D[v,x]^2,0]] /;
QuadraticQ[v,x] && ILtQ[n,0] && PosQ[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,ArcCoth[a+b*x]]/(1-(a+b*x)^2),x]",
		   "Subst[Int[f[-a/b+Coth[x]/b,x],x],x,ArcCoth[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]*(-Csch[x]^2)^(n+1),x],x], x, tmp]]] /;
 Not[FalseQ[tmp]] && EqQ[Head[tmp],ArcCoth] && EqQ[Discriminant[v,x]*tmp[[1]]^2-D[v,x]^2,0]] /;
SimplifyFlag && QuadraticQ[v,x] && ILtQ[n,0] && PosQ[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]*(-Csch[x]^2)^(n+1),x],x], x, tmp] /;
 Not[FalseQ[tmp]] && EqQ[Head[tmp],ArcCoth] && EqQ[Discriminant[v,x]*tmp[[1]]^2-D[v,x]^2,0]] /;
QuadraticQ[v,x] && ILtQ[n,0] && PosQ[Discriminant[v,x]] && MatchQ[u,r_.*f_^w_ /; FreeQ[f,x]]]

6.  ∫u ArcTanh[c+d Tanh[a+b x]]dx

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

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

Derivation: Integration by parts

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

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

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

Program code:

Int[ArcTanh[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
  x*ArcTanh[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[ArcCoth[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
  x*ArcCoth[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[ArcTanh[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
  x*ArcTanh[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[ArcCoth[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
  x*ArcCoth[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:  ∫ArcTanh[c+d Tanh[a+b x]]dx  when  (((c-d))^2)≠1

Derivation: Integration by parts

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

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

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

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

Note: Although this formula appears simpler, it either introduces superfluous terms that have to be cancelled out, or results in a slightly more complicated antiderivative.

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

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

Program code:

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

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

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

Int[ArcCoth[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
  x*ArcCoth[c+d*Coth[a+b*x]] + 
  b*(1+c+d)*Int[x*E^(2*a+2*b*x)/(1+c-d-(1+c+d)*E^(2*a+2*b*x)),x] - 
  b*(1-c-d)*Int[x*E^(2*a+2*b*x)/(1-c+d-(1-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)ArcTanh[c+d Tanh[a+b x]]dx  when  m∈(SuperPlus[ℤ])

1:  ∫(((e+f x))^m)ArcTanh[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)ArcTanh[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)ArcTanh[c+d Tanh[a+b x]]dx  ⟶  (((((e+f x))^(m+1)) ArcTanh[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_.*ArcTanh[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcTanh[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_.*ArcCoth[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCoth[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_.*ArcTanh[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcTanh[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_.*ArcCoth[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCoth[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)ArcTanh[c+d Tanh[a+b x]]dx  when  m∈(SuperPlus[ℤ])∧ (((c-d))^2)≠1

Derivation: Integration by parts

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

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

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

Program code:

Int[(e_.+f_.*x_)^m_.*ArcTanh[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcTanh[c+d*Tanh[a+b*x]]/(f*(m+1)) + 
  b*(1-c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(1-c+d+(1-c-d)*E^(2*a+2*b*x)),x] - 
  b*(1+c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(1+c-d+(1+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_.*ArcCoth[c_.+d_.*Tanh[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCoth[c+d*Tanh[a+b*x]]/(f*(m+1)) + 
  b*(1-c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(1-c+d+(1-c-d)*E^(2*a+2*b*x)),x] - 
  b*(1+c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(1+c-d+(1+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_.*ArcTanh[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcTanh[c+d*Coth[a+b*x]]/(f*(m+1)) + 
  b*(1+c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(1+c-d-(1+c+d)*E^(2*a+2*b*x)),x] - 
  b*(1-c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(1-c+d-(1-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_.*ArcCoth[c_.+d_.*Coth[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCoth[c+d*Coth[a+b*x]]/(f*(m+1)) + 
  b*(1+c+d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(1+c-d-(1+c+d)*E^(2*a+2*b*x)),x] - 
  b*(1-c-d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*a+2*b*x)/(1-c+d-(1-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]

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

1.  ∫u ArcTanh[Tan[a+b x]]dx

1:  ∫ArcTanh[Tan[a+b x]]dx

Derivation: Integration by parts

Basis: (∂_x)ArcTanh[Tan[a+b x]]==b Sec[2 a+2 b x]

Rule:

∫ArcTanh[Tan[a+b x]]dx  ⟶  x ArcTanh[Tan[a+b x]]-b ∫x Sec[2 a+2 b x]dx

Program code:

Int[ArcTanh[Tan[a_.+b_.*x_]],x_Symbol] :=
  x*ArcTanh[Tan[a+b*x]] - b*Int[x*Sec[2*a+2*b*x],x] /;
FreeQ[{a,b},x]

Int[ArcCoth[Tan[a_.+b_.*x_]],x_Symbol] :=
  x*ArcCoth[Tan[a+b*x]] - b*Int[x*Sec[2*a+2*b*x],x] /;
FreeQ[{a,b},x]

Int[ArcTanh[Cot[a_.+b_.*x_]],x_Symbol] :=
  x*ArcTanh[Cot[a+b*x]] - b*Int[x*Sec[2*a+2*b*x],x] /;
FreeQ[{a,b},x]

Int[ArcCoth[Cot[a_.+b_.*x_]],x_Symbol] :=
  x*ArcCoth[Cot[a+b*x]] - b*Int[x*Sec[2*a+2*b*x],x] /;
FreeQ[{a,b},x]

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

Derivation: Integration by parts

Basis: (∂_x)ArcTanh[Tan[a+b x]]==b Sec[2 a+2 b x]

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

∫(((e+f x))^m) ArcTanh[Tan[a+b x]]dx  ⟶  (((((e+f x))^(m+1)) ArcTanh[Tan[a+b x]])/(f (m+1)))-(b/(f (m+1))) ∫(((e+f x))^(m+1)) Sec[2 a+2 b x]dx

Program code:

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

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

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

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

2.  ∫u ArcTanh[c+d Tan[a+b x]]dx

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

1:  ∫ArcTanh[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)ArcTanh[c+d Tan[a+b x]]==-((i b)/(c+i d+c (e^(2 i a+2 i b x))))

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

∫ArcTanh[c+d Tan[a+b x]]dx  ⟶  x ArcTanh[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[ArcTanh[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
  x*ArcTanh[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[ArcCoth[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
  x*ArcCoth[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[ArcTanh[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
  x*ArcTanh[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[ArcCoth[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
  x*ArcCoth[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:  ∫ArcTanh[c+d Tan[a+b x]]dx  when  (((c+i d))^2)≠1

Derivation: Integration by parts

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

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

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

Program code:

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

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

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

Int[ArcCoth[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
  x*ArcCoth[c+d*Cot[a+b*x]] - 
  I*b*(1-c-I*d)*Int[x*E^(2*I*a+2*I*b*x)/(1-c+I*d-(1-c-I*d)*E^(2*I*a+2*I*b*x)),x] + 
  I*b*(1+c+I*d)*Int[x*E^(2*I*a+2*I*b*x)/(1+c-I*d-(1+c+I*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) ArcTanh[c+d Tan[a+b x]]dx  when  m∈(SuperPlus[ℤ])

1:  ∫(((e+f x))^m) ArcTanh[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)ArcTanh[c+d Tan[a+b x]]==-((i b)/(c+i d+c (e^(2 i a+2 i b x))))

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

∫(((e+f x))^m) ArcTanh[c+d Tan[a+b x]]dx  ⟶  (((((e+f x))^(m+1)) ArcTanh[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_.*ArcTanh[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcTanh[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_.*ArcCoth[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCoth[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_.*ArcTanh[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcTanh[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_.*ArcCoth[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCoth[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) ArcTanh[c+d Tan[a+b x]]dx  when  m∈(SuperPlus[ℤ])∧ (((c+i d))^2)≠1

Derivation: Integration by parts

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

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

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

Program code:

Int[(e_.+f_.*x_)^m_.*ArcTanh[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcTanh[c+d*Tan[a+b*x]]/(f*(m+1)) + 
  I*b*(1-c+I*d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1-c-I*d+(1-c+I*d)*E^(2*I*a+2*I*b*x)),x] - 
  I*b*(1+c-I*d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1+c+I*d+(1+c-I*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_.*ArcCoth[c_.+d_.*Tan[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCoth[c+d*Tan[a+b*x]]/(f*(m+1)) + 
  I*b*(1-c+I*d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1-c-I*d+(1-c+I*d)*E^(2*I*a+2*I*b*x)),x] - 
  I*b*(1+c-I*d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1+c+I*d+(1+c-I*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_.*ArcTanh[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcTanh[c+d*Cot[a+b*x]]/(f*(m+1)) - 
  I*b*(1-c-I*d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1-c+I*d-(1-c-I*d)*E^(2*I*a+2*I*b*x)),x] + 
  I*b*(1+c+I*d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1+c-I*d-(1+c+I*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_.*ArcCoth[c_.+d_.*Cot[a_.+b_.*x_]],x_Symbol] :=
  (e+f*x)^(m+1)*ArcCoth[c+d*Cot[a+b*x]]/(f*(m+1)) - 
  I*b*(1-c-I*d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1-c+I*d-(1-c-I*d)*E^(2*I*a+2*I*b*x)),x] + 
  I*b*(1+c+I*d)/(f*(m+1))*Int[(e+f*x)^(m+1)*E^(2*I*a+2*I*b*x)/(1+c-I*d-(1+c+I*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.  ∫v (a+b ArcTanh[u])dx  when u is free of inverse functions

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

Derivation: Integration by parts

Rule: If u is free of inverse functions, then

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

Program code:

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

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

2:  ∫(((c+d x))^m) (a+b ArcTanh[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 ArcTanh[u])dx  ⟶  (((((c+d x))^(m+1)) (a+b ArcTanh[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_.*ArcTanh[u_]),x_Symbol] :=
  (c+d*x)^(m+1)*(a+b*ArcTanh[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_.*ArcCoth[u_]),x_Symbol] :=
  (c+d*x)^(m+1)*(a+b*ArcCoth[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 ArcTanh[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 ArcTanh[u])dx  ⟶  w (a+b ArcTanh[u])-b∫((w (∂_x)u)/(1-(u^2)))dx

Program code:

Int[v_*(a_.+b_.*ArcTanh[u_]),x_Symbol] :=
  With[{w=IntHide[v,x]},  
  Dist[(a+b*ArcTanh[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*ArcTanh[u]),x]]

Int[v_*(a_.+b_.*ArcCoth[u_]),x_Symbol] :=
  With[{w=IntHide[v,x]},  
  Dist[(a+b*ArcCoth[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*ArcCoth[u]),x]]