Rules for integrands of the form(((c+d x))^m) (((a+b Sin[e+f x]))^n)

1.  ∫(((c+d x))^m) (((b Sin[e+f x]))^n)dx

1.  ∫(((c+d x))^m) (((b Sin[e+f x]))^n)dx  when  n>0

1.  ∫(((c+d x))^m)Sin[e+f x]dx

1:  ∫(((c+d x))^m)Sin[e+f x]dx  when  m>0

Reference: CRC 392, A&S 4.3.119

Reference: CRC 396, A&S 4.3.123

Derivation: Integration by parts

Basis: Sin[e+f x]==-(1/f)(∂_x)Cos[e+f x]

Rule: If  m>0, then

∫(((c+d x))^m)Sin[e+f x]dx  ⟶  -(((((c+d x))^m) Cos[e+f x])/f)+((d m)/f)∫(((c+d x))^(m-1)) Cos[e+f x]dx

Program code:

Int[(c_.+d_.*x_)^m_.*sin[e_.+f_.*x_],x_Symbol] :=
  -(c+d*x)^m*Cos[e+f*x]/f + 
  d*m/f*Int[(c+d*x)^(m-1)*Cos[e+f*x],x] /;
FreeQ[{c,d,e,f},x] && GtQ[m,0]

2:  ∫(((c+d x))^m)Sin[e+f x]dx  when  m<-1

Reference: CRC 405, A&S 4.3.120

Reference: CRC 406, A&S 4.3.124

Derivation: Integration by parts

Rule: If  m<-1, then

∫(((c+d x))^m)Sin[e+f x]dx  ⟶  (((((c+d x))^(m+1)) Sin[e+f x])/(d(m+1)))-(f/(d(m+1)))∫(((c+d x))^(m+1)) Cos[e+f x]dx

Program code:

Int[(c_.+d_.*x_)^m_*sin[e_.+f_.*x_],x_Symbol] :=
  (c+d*x)^(m+1)*Sin[e+f*x]/(d*(m+1)) -
  f/(d*(m+1))*Int[(c+d*x)^(m+1)*Cos[e+f*x],x] /;
FreeQ[{c,d,e,f},x] && LtQ[m,-1]

3.  ∫((Sin[e+f x])/(c+d x))dx

1:  ∫((Sin[e+f x])/(c+d x))dx  when  d e-c f==0

Derivation: Primitive rule

Basis: SinIntegral[i z]==i SinhIntegral[z]

Basis: (∂_x)CosIntegral[i F[x]]==(∂_x)CoshIntegral[F[x]]==(∂_x)CoshIntegral[-F[x]]

Rule: If  d e-c f==0, then

∫((Sin[e+f x])/(c+d x))dx  ⟶  (( SinIntegral[e+f x])/d)

∫((Cos[e+f x])/(c+d x))dx  ⟶  (( CosIntegral[e+f x])/d)

Program code:

Int[sin[e_.+f_.*Complex[0,fz_]*x_]/(c_.+d_.*x_),x_Symbol] :=
  I*SinhIntegral[c*f*fz/d+f*fz*x]/d /;
FreeQ[{c,d,e,f,fz},x] && EqQ[d*e-c*f*fz*I,0]

Int[sin[e_.+f_.*x_]/(c_.+d_.*x_),x_Symbol] :=
  SinIntegral[e+f*x]/d /;
FreeQ[{c,d,e,f},x] && EqQ[d*e-c*f,0]

Int[sin[e_.+f_.*Complex[0,fz_]*x_]/(c_.+d_.*x_),x_Symbol] :=
  CoshIntegral[-c*f*fz/d-f*fz*x]/d /;
FreeQ[{c,d,e,f,fz},x] && EqQ[d*(e-Pi/2)-c*f*fz*I,0] && NegQ[c*f*fz/d,0]

Int[sin[e_.+f_.*Complex[0,fz_]*x_]/(c_.+d_.*x_),x_Symbol] :=
  CoshIntegral[c*f*fz/d+f*fz*x]/d /;
FreeQ[{c,d,e,f,fz},x] && EqQ[d*(e-Pi/2)-c*f*fz*I,0]

Int[sin[e_.+f_.*x_]/(c_.+d_.*x_),x_Symbol] :=
  CosIntegral[e-Pi/2+f*x]/d /;
FreeQ[{c,d,e,f},x] && EqQ[d*(e-Pi/2)-c*f,0]

2:  ∫((Sin[e+f x])/(c+d x))dx  when  d e-c f≠0

Derivation: Algebraic expansion

Basis: Sin[e+f x]==Cos[((d e-c f)/d)] Sin[((c f)/d)+f x]+Sin[((d e-c f)/d)] Cos[((c f)/d)+f x]

Rule: If  d e-c f≠0, then

∫((Sin[e+f x])/(c+d x))dx  ⟶  Cos[((d e-c f)/d)]∫((Sin[((c f)/d)+f x])/(c+d x))dx+Sin[((d e-c f)/d)] ∫((Cos[((c f)/d)+f x])/(c+d x))dx

Program code:

Int[sin[e_.+f_.*x_]/(c_.+d_.*x_),x_Symbol] :=
  Cos[(d*e-c*f)/d]*Int[Sin[c*f/d+f*x]/(c+d*x),x] + 
  Sin[(d*e-c*f)/d]*Int[Cos[c*f/d+f*x]/(c+d*x),x] /;
FreeQ[{c,d,e,f},x] && NeQ[d*e-c*f,0]

4.  ∫((Sin[e+f x])/(Sqrt[c+d x]))dx

1:  ∫((Sin[e+f x])/(Sqrt[c+d x]))dx  when  d e-c f==0

Derivation: Integration by substitution

Basis: If  d e-c f==0, then ((F[e+f x])/(Sqrt[c+d x]))==(2/d) Subst[F[((f (x^2))/d)],x,(Sqrt[c+d x])] (∂_x)(Sqrt[c+d x])

Rule: If  d e-c f==0, then

∫((Sin[e+f x])/(Sqrt[c+d x]))  ⟶  (2/d) Subst[∫Sin[((f (x^2))/d)]dx,x,(Sqrt[c+d x])]

Program code:

Int[sin[e_.+Pi/2+f_.*x_]/Sqrt[c_.+d_.*x_],x_Symbol] :=
  2/d*Subst[Int[Cos[f*x^2/d],x],x,Sqrt[c+d*x]] /;
FreeQ[{c,d,e,f},x] && ComplexFreeQ[f] && EqQ[d*e-c*f,0]

Int[sin[e_.+f_.*x_]/Sqrt[c_.+d_.*x_],x_Symbol] :=
  2/d*Subst[Int[Sin[f*x^2/d],x],x,Sqrt[c+d*x]] /;
FreeQ[{c,d,e,f},x] && ComplexFreeQ[f] && EqQ[d*e-c*f,0]

2:  ∫((Sin[e+f x])/(Sqrt[c+d x]))dx  when  d e-c f≠0

Derivation: Algebraic expansion

Basis: Sin[e+f x]==Cos[((d e-c f)/d)] Sin[((c f)/d)+f x]+Sin[((d e-c f)/d)] Cos[((c f)/d)+f x]

Rule: If  d e-c f≠0, then

∫((Sin[e+f x])/(Sqrt[c+d x]))dx  ⟶  Cos[((d e-c f)/d)]∫((Sin[((c f)/d)+f x])/(Sqrt[c+d x]))dx+Sin[((d e-c f)/d)] ∫((Cos[((c f)/d)+f x])/(Sqrt[c+d x]))dx

Program code:

Int[sin[e_.+f_.*x_]/Sqrt[c_.+d_.*x_],x_Symbol] :=
  Cos[(d*e-c*f)/d]*Int[Sin[c*f/d+f*x]/Sqrt[c+d*x],x] + 
  Sin[(d*e-c*f)/d]*Int[Cos[c*f/d+f*x]/Sqrt[c+d*x],x] /;
FreeQ[{c,d,e,f},x] && ComplexFreeQ[f] && NeQ[d*e-c*f,0]

5:  ∫(((c+d x))^m)Sin[e+f x]dx

Derivation: Algebraic expansion

Basis: Sin[z]==(1/2) i (e^(-i z))-(1/2) i (e^(i z))

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

Rule:

∫(((c+d x))^m)Sin[e+f x]dx  ⟶  (i/2)∫(((c+d x))^m) (e^(-i (e+f x)))dx-(i/2)∫(((c+d x))^m) (e^(i (e+f x)))dx

Program code:

Int[(c_.+d_.*x_)^m_.*sin[e_.+k_.*Pi+f_.*x_],x_Symbol] :=
  I/2*Int[(c+d*x)^m*E^(-I*k*Pi)*E^(-I*(e+f*x)),x] - I/2*Int[(c+d*x)^m*E^(I*k*Pi)*E^(I*(e+f*x)),x] /;
FreeQ[{c,d,e,f,m},x] && IntegerQ[2*k]

Int[(c_.+d_.*x_)^m_.*sin[e_.+f_.*x_],x_Symbol] :=
  I/2*Int[(c+d*x)^m*E^(-I*(e+f*x)),x] - I/2*Int[(c+d*x)^m*E^(I*(e+f*x)),x] /;
FreeQ[{c,d,e,f,m},x]

2.  ∫(((c+d x))^m) (((b Sin[e+f x]))^n)dx  when  n>1

1:  ∫(((c+d x))^m) ((Sin[e+f x])^2)dx

Derivation: Algebraic expansion

Basis: ((Sin[z])^2)==(1/2)-((Cos[2 z])/2)

Rule:

∫(((c+d x))^m)((Sin[e+f x])^2)dx  ⟶  (1/2) ∫(((c+d x))^m)dx-(1/2) ∫(((c+d x))^m) Cos[2 e+2 f x]dx

Program code:

Int[(c_.+d_.*x_)^m_.*sin[e_.+f_.*x_/2]^2,x_Symbol] :=
  1/2*Int[(c+d*x)^m,x] - 1/2*Int[(c+d*x)^m*Cos[2*e+f*x],x] /;
FreeQ[{c,d,e,f,m},x]

2.  ∫(((c+d x))^m) (((b Sin[e+f x]))^n)dx  when  n>1 ∧ m≥1

1:  ∫(c+d x) (((b Sin[e+f x]))^n)dx  when n>1

Reference: G&R 2.631.2 with m->1

Reference: G&R 2.631.3 with m->1

Rule: If  n>1, then

∫(c+d x) (((b Sin[e+f x]))^n)dx  ⟶  
((d (((b Sin[e+f x]))^n))/((f^2)(n^2)))-((b (c+d x) Cos[e+f x] (((b Sin[e+f x]))^(n-1)))/(f n))+(((b^2) (n-1))/n)∫(c+d x) (((b Sin[e+f x]))^(n-2))dx

Program code:

Int[(c_.+d_.*x_)*(b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
  d*(b*Sin[e+f*x])^n/(f^2*n^2) -
  b*(c+d*x)*Cos[e+f*x]*(b*Sin[e+f*x])^(n-1)/(f*n) +
  b^2*(n-1)/n*Int[(c+d*x)*(b*Sin[e+f*x])^(n-2),x] /;
FreeQ[{b,c,d,e,f},x] && GtQ[n,1]

2:  ∫(((c+d x))^m)(((b Sin[e+f x]))^n)dx  when n>1 ∧ m>1

Reference: G&R 2.631.2

Reference: G&R 2.631.3

Rule: If  n>1 ∧ m>1, then

∫(((c+d x))^m)(((b Sin[e+f x]))^n)dx  ⟶  
((d m (((c+d x))^(m-1)) (((b Sin[e+f x]))^n))/((f^2)(n^2)))-((b (((c+d x))^m) Cos[e+f x] (((b Sin[e+f x]))^(n-1)))/(f n))+
(((b^2) (n-1))/n) ∫(((c+d x))^m) (((b Sin[e+f x]))^(n-2))dx-(((d^2)m (m-1))/((f^2)(n^2))) ∫(((c+d x))^(m-2)) (((b Sin[e+f x]))^n)dx

Program code:

Int[(c_.+d_.*x_)^m_*(b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
  d*m*(c+d*x)^(m-1)*(b*Sin[e+f*x])^n/(f^2*n^2) -
  b*(c+d*x)^m*Cos[e+f*x]*(b*Sin[e+f*x])^(n-1)/(f*n) +
  b^2*(n-1)/n*Int[(c+d*x)^m*(b*Sin[e+f*x])^(n-2),x] -
  d^2*m*(m-1)/(f^2*n^2)*Int[(c+d*x)^(m-2)*(b*Sin[e+f*x])^n,x] /;
FreeQ[{b,c,d,e,f},x] && GtQ[n,1] && GtQ[m,1]

3.  ∫(((c+d x))^m) (((b Sin[e+f x]))^n)dx  when  n>1 ∧ m<1

1:  ∫(((c+d x))^m)((Sin[e+f x])^n)dx  when n∈ℤ ∧ n>1 ∧ -1≤m<1

Derivation: Algebraic exnansion

Rule: If  n∈ℤ ∧ n>1 ∧ -1≤m<1, then

∫(((c+d x))^m)((Sin[e+f x])^n)dx  ⟶  ∫(((c+d x))^m)TrigReduce[((Sin[e+f x])^n)]dx

Program code:

Int[(c_.+d_.*x_)^m_*sin[e_.+f_.*x_]^n_,x_Symbol] :=
  Int[ExpandTrigReduce[(c+d*x)^m,Sin[e+f*x]^n,x],x] /;
FreeQ[{c,d,e,f,m},x] && IGtQ[n,1] && (Not[RationalQ[m]] || GeQ[m,-1] && LtQ[m,1])

2:  ∫(((c+d x))^m)((Sin[e+f x])^n)dx  when n∈ℤ ∧ n>1 ∧ -2≤m<-1

Derivation: Integration by parts

Rule: If  n∈ℤ ∧ n>1 ∧ -2≤m<-1, then

∫(((c+d x))^m)((Sin[e+f x])^n)dx  ⟶  (((((c+d x))^(m+1)) ((Sin[e+f x])^n))/(d(m+1)))-((f n)/(d(m+1)))∫(((c+d x))^(m+1))TrigReduce[Cos[e+f x] ((Sin[e+f x])^(n-1))]dx

Program code:

Int[(c_.+d_.*x_)^m_*sin[e_.+f_.*x_]^n_,x_Symbol] :=
  (c+d*x)^(m+1)*Sin[e+f*x]^n/(d*(m+1)) - 
  f*n/(d*(m+1))*Int[ExpandTrigReduce[(c+d*x)^(m+1),Cos[e+f*x]*Sin[e+f*x]^(n-1),x],x] /;
FreeQ[{c,d,e,f,m},x] && IGtQ[n,1] && GeQ[m,-2] && LtQ[m,-1]

3:  ∫(((c+d x))^m)(((b Sin[e+f x]))^n)dx  when n>1 ∧ m<-2

Reference: G&R 2.638.1

Reference: G&R 2.638.2

Rule: If  n>1 ∧ m<-2, then

∫(((c+d x))^m)(((b Sin[e+f x]))^n)dx  ⟶  
(((((c+d x))^(m+1)) (((b Sin[e+f x]))^n))/(d(m+1)))-((b f n (((c+d x))^(m+2)) Cos[e+f x] (((b Sin[e+f x]))^(n-1)))/((d^2)(m+1) (m+2)))-
(((f^2)(n^2))/((d^2)(m+1) (m+2)))∫(((c+d x))^(m+2)) (((b Sin[e+f x]))^n)dx+(((b^2) (f^2)n (n-1))/((d^2)(m+1) (m+2)))∫(((c+d x))^(m+2)) (((b Sin[e+f x]))^(n-2))dx

Program code:

Int[(c_.+d_.*x_)^m_*(b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
  (c+d*x)^(m+1)*(b*Sin[e+f*x])^n/(d*(m+1)) - 
  b*f*n*(c+d*x)^(m+2)*Cos[e+f*x]*(b*Sin[e+f*x])^(n-1)/(d^2*(m+1)*(m+2)) - 
  f^2*n^2/(d^2*(m+1)*(m+2))*Int[(c+d*x)^(m+2)*(b*Sin[e+f*x])^n,x] + 
  b^2*f^2*n*(n-1)/(d^2*(m+1)*(m+2))*Int[(c+d*x)^(m+2)*(b*Sin[e+f*x])^(n-2),x] /;
FreeQ[{b,c,d,e,f},x] && GtQ[n,1] && LtQ[m,-2]

2.  ∫(((c+d x))^m) (((b Sin[e+f x]))^n)dx  when  n<-1

1:  ∫(c+d x)(((b Sin[e+f x]))^n)dx  when n<-1 ∧ n≠-2

Reference: G&R 2.643.1 with m->1

Reference: G&R 2.643.2 with m->1

Rule: If  n<-1 ∧ n≠-2, then

∫(c+d x)(((b Sin[e+f x]))^n)dx  ⟶  
(((c+d x) Cos[e+f x] (((b Sin[e+f x]))^(n+1)))/(b f (n+1)))-((d (((b Sin[e+f x]))^(n+2)))/((b^2) (f^2) (n+1) (n+2)))+((n+2)/((b^2) (n+1)))∫(c+d x) (((b Sin[e+f x]))^(n+2))dx

Program code:

Int[(c_.+d_.*x_)*(b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
  (c+d*x)*Cos[e+f*x]*(b*Sin[e+f*x])^(n+1)/(b*f*(n+1)) -
  d*(b*Sin[e+f*x])^(n+2)/(b^2*f^2*(n+1)*(n+2)) +
  (n+2)/(b^2*(n+1))*Int[(c+d*x)*(b*Sin[e+f*x])^(n+2),x] /;
FreeQ[{b,c,d,e,f},x] && LtQ[n,-1] && NeQ[n,-2]

2:  ∫(((c+d x))^m)(((b Sin[e+f x]))^n)dx  when n<-1 ∧ n≠-2 ∧ m>1

Reference: G&R 2.643.1

Reference: G&R 2.643.2

Rule: If  n<-1 ∧ n≠-2 ∧ m>1, then

∫(((c+d x))^m)(((b Sin[e+f x]))^n)dx  ⟶  
(((((c+d x))^m) Cos[e+f x] (((b Sin[e+f x]))^(n+1)))/(b f (n+1)))-((d m (((c+d x))^(m-1)) (((b Sin[e+f x]))^(n+2)))/((b^2) (f^2) (n+1) (n+2)))+
((n+2)/((b^2) (n+1)))∫(((c+d x))^m) (((b Sin[e+f x]))^(n+2))dx+(((d^2)m (m-1))/((b^2) (f^2) (n+1) (n+2)))∫(((c+d x))^(m-2)) (((b Sin[e+f x]))^(n+2))dx

Program code:

Int[(c_.+d_.*x_)^m_.*(b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
  (c+d*x)^m*Cos[e+f*x]*(b*Sin[e+f*x])^(n+1)/(b*f*(n+1)) -
  d*m*(c+d*x)^(m-1)*(b*Sin[e+f*x])^(n+2)/(b^2*f^2*(n+1)*(n+2)) +
  (n+2)/(b^2*(n+1))*Int[(c+d*x)^m*(b*Sin[e+f*x])^(n+2),x] +
  d^2*m*(m-1)/(b^2*f^2*(n+1)*(n+2))*Int[(c+d*x)^(m-2)*(b*Sin[e+f*x])^(n+2),x] /;
FreeQ[{b,c,d,e,f},x] && LtQ[n,-1] && NeQ[n,-2] && GtQ[m,1]

2:  ∫(((c+d x))^m) (((a+b Sin[e+f x]))^n)dx  when  n∈(SuperPlus[ℤ])∧ (n==1 ∨ m∈(SuperPlus[ℤ]) ∨ (a^2)-(b^2)≠0)

Derivation: Algebraic expansion

Rule: If  n∈(SuperPlus[ℤ])∧ (n==1 ∨ m∈(SuperPlus[ℤ]) ∨ (a^2)-(b^2)≠0), then

∫(((c+d x))^m) (((a+b Sin[e+f x]))^n)dx  ⟶  ∫(((c+d x))^m) ExpandIntegrand[(((a+b Sin[e+f x]))^n),x]dx

Program code:

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

3.  ∫(((c+d x))^m) (((a+b Sin[e+f x]))^n)dx  when  (a^2)-(b^2)==0 ∧ 2 n∈ℤ ∧ (n>0 ∨ m∈(SuperPlus[ℤ]))

1:  ∫(((c+d x))^m) (((a+b Sin[e+f x]))^n)dx  when  (a^2)-(b^2)==0 ∧ n∈ℤ ∧ (n>0 ∨ m∈(SuperPlus[ℤ]))

Derivation: Algebraic simplification

Basis: If  (a^2)-(b^2)==0, then a+b Sin[e+f x]==2 a ((Sin[(1/2) (e+((π a)/(2 b)))+((f x)/2)])^2)

Rule: If  (a^2)-(b^2)==0 ∧ n∈ℤ ∧ (n>0 ∨ m∈(SuperPlus[ℤ])), then

∫(((c+d x))^m) (((a+b Sin[e+f x]))^n)dx  ⟶  (((2 a))^n)∫(((c+d x))^m) ((Sin[(1/2) (e+((π a)/(2 b)))+((f x)/2)])^(2 n))dx

Program code:

Int[(c_.+d_.*x_)^m_.*(a_+b_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
  (2*a)^n*Int[(c+d*x)^m*Sin[1/2*(e+Pi*a/(2*b))+f*x/2]^(2*n),x] /;
FreeQ[{a,b,c,d,e,f,m},x] && EqQ[a^2-b^2,0] && IntegerQ[n] && (GtQ[n,0] || IGtQ[m,0])

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

Derivation: Piecewise constant extraction

Basis: If  (a^2)-(b^2)==0, then (∂_x)((((a+b Sin[e+f x]))^n)/((Sin[(1/2) (e+((π a)/(2 b)))+((f x)/2)])^(2 n)))==0

Rule: If  (a^2)-(b^2)==0 ∧ n+(1/2)∈ℤ ∧ (n>0 ∨ m∈(SuperPlus[ℤ])), then

∫(((c+d x))^m) (((a+b Sin[e+f x]))^n)dx  ⟶  (((((2 a))^(IntPart[n])) (((a+b Sin[e+f x]))^(FracPart[n])))/((Sin[(e/2)+((a π)/(4 b))+((f x)/2)])^(2 FracPart[n])))∫(((c+d x))^m) ((Sin[(e/2)+((a π)/(4 b))+((f x)/2)])^(2 n))dx

Program code:

Int[(c_.+d_.*x_)^m_.*(a_+b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
  (2*a)^IntPart[n]*(a+b*Sin[e+f*x])^FracPart[n]/Sin[e/2+a*Pi/(4*b)+f*x/2]^(2*FracPart[n])*
    Int[(c+d*x)^m*Sin[e/2+a*Pi/(4*b)+f*x/2]^(2*n),x] /;
FreeQ[{a,b,c,d,e,f,m},x] && EqQ[a^2-b^2,0] && IntegerQ[n+1/2] && (GtQ[n,0] || IGtQ[m,0])

x:  ∫(((c+d x))^m) (((a+b Sin[e+f x]))^n)dx  when  (a^2)-(b^2)==0 ∧ n∈ℤ ∧ (n>0 ∨ m∈(SuperPlus[ℤ]))

Derivation: Algebraic simplification

Basis: If  (a^2)-(b^2)==0, then a+b Sin[z]==2 a ((Cos[-((π a)/(4 b))+(z/2)])^2)

Rule: If  (a^2)-(b^2)==0 ∧ n∈ℤ ∧ (n>0 ∨ m∈(SuperPlus[ℤ])), then

∫(((c+d x))^m) (((a+b Sin[e+f x]))^n)dx  ⟶  (((2 a))^n)∫(((c+d x))^m) ((Cos[(1/2) (e-((π a)/(2 b)))+((f x)/2)])^(2 n))dx

Program code:

(* Int[(c_.+d_.*x_)^m_.*(a_+b_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
  (2*a)^n*Int[(c+d*x)^m*Cos[1/2*(e-Pi*a/(2*b))+f*x/2]^(2*n),x] /;
FreeQ[{a,b,c,d,e,f,m},x] && EqQ[a^2-b^2,0] && IntegerQ[n] && (GtQ[n,0] || IGtQ[m,0]) *)

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

Derivation: Piecewise constant extraction

Basis: If  (a^2)-(b^2)==0, then (∂_x)((((a+b Sin[e+f x]))^n)/((Cos[(1/2) (e-((π a)/(2 b)))+((f x)/2)])^(2 n)))==0

Rule: If  (a^2)-(b^2)==0 ∧ n+(1/2)∈ℤ ∧ (n>0 ∨ m∈(SuperPlus[ℤ])), then

∫(((c+d x))^m) (((a+b Sin[e+f x]))^n)dx  ⟶  (((((2 a))^(IntPart[n])) (((a+b Sin[e+f x]))^(FracPart[n])))/((Cos[(1/2) (e-((π a)/(2 b)))+((f x)/2)])^(2 FracPart[n])))∫(((c+d x))^m) ((Cos[(1/2) (e-((π a)/(2 b)))+((f x)/2)])^(2 n))dx

Program code:

(* Int[(c_.+d_.*x_)^m_.*(a_+b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
  (2*a)^IntPart[n]*(a+b*Sin[e+f*x])^FracPart[n]/Cos[1/2*(e-Pi*a/(2*b))+f*x/2]^(2*FracPart[n])*
    Int[(c+d*x)^m*Cos[1/2*(e-Pi*a/(2*b))+f*x/2]^(2*n),x] /;
FreeQ[{a,b,c,d,e,f,m},x] && EqQ[a^2-b^2,0] && IntegerQ[n+1/2] && (GtQ[n,0] || IGtQ[m,0]) *)

4.  ∫(((c+d x))^m) (((a+b Sin[e+f x]))^n)dx  when  (a^2)-(b^2)≠0 ∧ n∈(SuperMinus[ℤ])∧ m∈(SuperPlus[ℤ])

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

Derivation: Algebraic expansion

Basis: (1/(a+b Sin[z]))==((2 (e^(i z)))/(i b+2 a (e^(i z))-i b (e^(2 i z))))==((2 (e^(-i z)))/(-i b+2 a (e^(-i z))+i b (e^(-2 i z))))

Basis: (1/(a+b Cos[z]))==((2 (e^(i z)))/(b+2 a (e^(i z))+b (e^(2 i z))))

Rule: If  (a^2)-(b^2)≠0 ∧ m∈(SuperPlus[ℤ]), then

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

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

Program code:

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

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

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

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

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

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

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

Rule: If  (a^2)-(b^2)≠0 ∧ m∈(SuperPlus[ℤ]), then

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

Program code:

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

3:  ∫(((c+d x))^m) (((a+b Sin[e+f x]))^n)dx  when  (a^2)-(b^2)≠0 ∧ n+2∈(SuperMinus[ℤ])∧ m∈(SuperPlus[ℤ])

Rule: If  (a^2)-(b^2)≠0 ∧ n+2∈(SuperMinus[ℤ])∧ m∈(SuperPlus[ℤ]), then

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

Program code:

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

X:  ∫(((c+d x))^m) (((a+b Sin[e+f x]))^n)dx

Rule:

∫(((c+d x))^m) (((a+b Sin[e+f x]))^n)dx  ⟶  ∫(((c+d x))^m) (((a+b Sin[e+f x]))^n) dx

Program code:

Int[(c_.+d_.*x_)^m_.*(a_.+b_.*sin[e_.+f_.*x_])^n_.,x_Symbol] :=
  Unintegrable[(c+d*x)^m*(a+b*Sin[e+f*x])^n,x] /;
FreeQ[{a,b,c,d,e,f,m,n},x]

N:  ∫(u^m)(((a+b Sin[v]))^n)dx  when  u==c+d x ∧ v==e+f x

Derivation: Algebraic normalization

Rule: If  u==c+d x ∧ v==e+f x, then

∫(u^m)(((a+b Sin[v]))^n)dx  ⟶  ∫(((c+d x))^m) (((a+b Sin[e+f x]))^n)dx

Program code:

Int[u_^m_.*(a_.+b_.*Sin[v_])^n_.,x_Symbol] :=
  Int[ExpandToSum[u,x]^m*(a+b*Sin[ExpandToSum[v,x]])^n,x] /;
FreeQ[{a,b,m,n},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]

Int[u_^m_.*(a_.+b_.*Cos[v_])^n_.,x_Symbol] :=
  Int[ExpandToSum[u,x]^m*(a+b*Cos[ExpandToSum[v,x]])^n,x] /;
FreeQ[{a,b,m,n},x] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]