Rules for integrands of the form(F^(c(a+b x))) ((Trig[d+e x])^n)

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

1.  ∫(F^(c(a+b x))) ((Sin[d+e x])^n)dx  when  (e^2) (n^2)+(b^2) (c^2) ((Log[F])^2)≠0 ∧ n>0

1:  ∫(F^(c(a+b x))) Sin[d+e x]dx  when  (e^2)+(b^2) (c^2) ((Log[F])^2)≠0

Reference: CRC 533, A&S 4.3.136

Reference: CRC 538, A&S 4.3.137

Rule: If  (e^2)+(b^2) (c^2) ((Log[F])^2)≠0, then

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

Program code:

Int[F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_],x_Symbol] :=
  b*c*Log[F]*F^(c*(a+b*x))*Sin[d+e*x]/(e^2+b^2*c^2*Log[F]^2) - 
  e*F^(c*(a+b*x))*Cos[d+e*x]/(e^2+b^2*c^2*Log[F]^2) /;
FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2+b^2*c^2*Log[F]^2,0]

Int[F_^(c_.*(a_.+b_.*x_))*Cos[d_.+e_.*x_],x_Symbol] :=
  b*c*Log[F]*F^(c*(a+b*x))*Cos[d+e*x]/(e^2+b^2*c^2*Log[F]^2) + 
  e*F^(c*(a+b*x))*Sin[d+e*x]/(e^2+b^2*c^2*Log[F]^2) /;
FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2+b^2*c^2*Log[F]^2,0]

2:  ∫(F^(c(a+b x))) ((Sin[d+e x])^n)dx  when  (e^2) (n^2)+(b^2) (c^2) ((Log[F])^2)≠0 ∧ n>1

Reference: CRC 542, A&S 4.3.138

Reference: CRC 543, A&S 4.3.139

Rule: If  (e^2) (n^2)+(b^2) (c^2) ((Log[F])^2)≠0 ∧ n>1, then

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

Program code:

Int[F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_]^n_,x_Symbol] :=
  b*c*Log[F]*F^(c*(a+b*x))*Sin[d+e*x]^n/(e^2*n^2+b^2*c^2*Log[F]^2) - 
  e*n*F^(c*(a+b*x))*Cos[d+e*x]*Sin[d+e*x]^(n-1)/(e^2*n^2+b^2*c^2*Log[F]^2) + 
  (n*(n-1)*e^2)/(e^2*n^2+b^2*c^2*Log[F]^2)*Int[F^(c*(a+b*x))*Sin[d+e*x]^(n-2),x] /;
FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2*n^2+b^2*c^2*Log[F]^2,0] && GtQ[n,1]

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

2:  ∫(F^(c(a+b x))) ((Sin[d+e x])^n)dx  when  (e^2) (((n+2))^2)+(b^2)(c^2)((Log[F])^2)==0 ∧ n≠-1 ∧ n≠-2

Reference: CRC 551 when (e^2) (((n+2))^2)+(b^2)(c^2)((Log[F])^2)==0

Reference: CRC 552 when (e^2) (((n+2))^2)+(b^2)(c^2)((Log[F])^2)==0

Rule: If  (e^2) (((n+2))^2)+(b^2)(c^2)((Log[F])^2)==0 ∧ n≠-1 ∧ n≠-2, then

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

Program code:

Int[F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_]^n_,x_Symbol] :=
  -b*c*Log[F]*F^(c*(a+b*x))*Sin[d+e*x]^(n+2)/(e^2*(n+1)*(n+2)) + 
  F^(c*(a+b*x))*Cos[d+e*x]*Sin[d+e*x]^(n+1)/(e*(n+1)) /;
FreeQ[{F,a,b,c,d,e,n},x] && EqQ[e^2*(n+2)^2+b^2*c^2*Log[F]^2,0] && NeQ[n,-1] && NeQ[n,-2]

Int[F_^(c_.*(a_.+b_.*x_))*Cos[d_.+e_.*x_]^n_,x_Symbol] :=
  -b*c*Log[F]*F^(c*(a+b*x))*Cos[d+e*x]^(n+2)/(e^2*(n+1)*(n+2)) - 
  F^(c*(a+b*x))*Sin[d+e*x]*Cos[d+e*x]^(n+1)/(e*(n+1)) /;
FreeQ[{F,a,b,c,d,e,n},x] && EqQ[e^2*(n+2)^2+b^2*c^2*Log[F]^2,0] && NeQ[n,-1] && NeQ[n,-2]

3:  ∫(F^(c(a+b x))) ((Sin[d+e x])^n)dx  when  (e^2) (((n+2))^2)+(b^2)(c^2)((Log[F])^2)≠0 ∧ n<-1 ∧ n≠-2

Reference: CRC 551, CRC 542 inverted

Reference: CRC 552, CRC 543 inverted

Rule: If  (e^2) (((n+2))^2)+(b^2)(c^2)((Log[F])^2)≠0 ∧ n<-1 ∧ n≠-2, then

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

Program code:

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

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

4:  ∫(F^(c(a+b x))) ((Sin[d+e x])^n)dx  when  n∉ℤ

Derivation: Piecewise constant extraction

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

Basis: (∂_x)(((e^(i n (d+e x))) ((Sin[d+e x])^n))/(((-1+(e^(2 i (d+e x)))))^n))==0

Rule: If  n∉ℤ, then

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

Program code:

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

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

2:  ∫(F^(c(a+b x))) ((Tan[d+e x])^n)dx  when  n∈ℤ

Derivation: Algebraic expansion

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

Rule: If  n∈ℤ, then

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

Program code:

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

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

3.  ∫(F^(c(a+b x))) ((Sec[d+e x])^n)dx

1:  ∫(F^(c(a+b x))) ((Sec[d+e x])^n)dx  when  (e^2) (n^2)+(b^2) (c^2) ((Log[F])^2)≠0 ∧ n<-1

Reference: CRC 552 inverted

Reference: CRC 551 inverted

Rule: If  (e^2) (n^2)+(b^2) (c^2) ((Log[F])^2)≠0 ∧ n<-1, then

∫(F^(c(a+b x))) ((Sec[d+e x])^n)dx  ⟶  
((b c Log[F](F^(c(a+b x))) ((Sec[d+e x])^n))/((e^2) (n^2)+(b^2) (c^2) ((Log[F])^2)))-((e n (F^(c(a+b x))) ((Sec[d+e x])^(n+1)) Sin[d+e x])/((e^2) (n^2)+(b^2) (c^2) ((Log[F])^2)))+(((e^2) n(n+1))/((e^2) (n^2)+(b^2) (c^2) ((Log[F])^2)))∫(F^(c(a+b x))) ((Sec[d+e x])^(n+2))dx

Program code:

Int[F_^(c_.*(a_.+b_.*x_))*Sec[d_.+e_.*x_]^n_,x_Symbol] :=
  b*c*Log[F]*F^(c*(a+b*x))*(Sec[d+e x]^n/(e^2*n^2+b^2*c^2*Log[F]^2)) - 
  e*n*F^(c*(a+b*x))*Sec[d+e x]^(n+1)*(Sin[d+e x]/(e^2*n^2+b^2*c^2*Log[F]^2)) + 
  e^2*n*((n+1)/(e^2*n^2+b^2*c^2*Log[F]^2))*Int[F^(c*(a+b*x))*Sec[d+e x]^(n+2),x] /;
FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2*n^2+b^2*c^2*Log[F]^2,0] && LtQ[n,-1]

Int[F_^(c_.*(a_.+b_.*x_))*Csc[d_.+e_.*x_]^n_,x_Symbol] :=
  b*c*Log[F]*F^(c*(a+b*x))*(Csc[d+e x]^n/(e^2*n^2+b^2*c^2*Log[F]^2)) + 
  e*n*F^(c*(a+b*x))*Csc[d+e x]^(n+1)*(Cos[d+e x]/(e^2*n^2+b^2*c^2*Log[F]^2)) + 
  e^2*n*((n+1)/(e^2*n^2+b^2*c^2*Log[F]^2))*Int[F^(c*(a+b*x))*Csc[d+e x]^(n+2),x] /;
FreeQ[{F,a,b,c,d,e},x] && NeQ[e^2*n^2+b^2*c^2*Log[F]^2,0] && LtQ[n,-1]

2:  ∫(F^(c(a+b x))) ((Sec[d+e x])^n)dx  when  (e^2) (((n-2))^2)+(b^2) (c^2) ((Log[F])^2)==0 ∧ n≠1 ∧ n≠2

Reference: CRC 552 with  (e^2) (((n-2))^2)+(b^2) (c^2) ((Log[F])^2)==0

Reference: CRC 551 with  (e^2) (((n-2))^2)+(b^2) (c^2) ((Log[F])^2)==0

Rule: If  (e^2) (((n-2))^2)+(b^2) (c^2) ((Log[F])^2)==0 ∧ n≠1 ∧ n≠2, then

∫(F^(c(a+b x))) ((Sec[d+e x])^n)dx  ⟶  -((b c Log[F](F^(c(a+b x))) ((Sec[d+e x])^(n-2)))/((e^2) (n-1) (n-2)))+(((F^(c(a+b x))) ((Sec[d+e x])^(n-1)) Sin[d+e x])/(e (n-1)))

Program code:

Int[F_^(c_.*(a_.+b_.*x_))*Sec[d_.+e_.*x_]^n_,x_Symbol] :=
  -b*c*Log[F]*F^(c*(a+b*x))*Sec[d+e x]^(n-2)/(e^2*(n-1)*(n-2)) + 
  F^(c*(a+b*x))*Sec[d+e x]^(n-1)*Sin[d+e x]/(e*(n-1)) /;
FreeQ[{F,a,b,c,d,e,n},x] && EqQ[b^2*c^2*Log[F]^2+e^2*(n-2)^2,0] && NeQ[n,1] && NeQ[n,2]

Int[F_^(c_.*(a_.+b_.*x_))*Csc[d_.+e_.*x_]^n_,x_Symbol] :=
  -b*c*Log[F]*F^(c*(a+b*x))*Csc[d+e x]^(n-2)/(e^2*(n-1)*(n-2)) + 
  F^(c*(a+b*x))*Csc[d+e x]^(n-1)*Cos[d+e x]/(e*(n-1)) /;
FreeQ[{F,a,b,c,d,e,n},x] && EqQ[b^2*c^2*Log[F]^2+e^2*(n-2)^2,0] && NeQ[n,1] && NeQ[n,2]

3:  ∫(F^(c(a+b x))) ((Sec[d+e x])^n)dx  when  (e^2) (((n-2))^2)+(b^2) (c^2) ((Log[F])^2)≠0 ∧ n>1 ∧ n≠2

Reference: CRC 552

Reference: CRC 551

Rule: If  (e^2) (((n-2))^2)+(b^2) (c^2) ((Log[F])^2)≠0 ∧ n>1 ∧ n≠2, then

∫(F^(c(a+b x))) ((Sec[d+e x])^n)dx  ⟶  
-((b c Log[F](F^(c(a+b x))) ((Sec[d+e x])^(n-2)))/((e^2) (n-1) (n-2)))+(((F^(c(a+b x))) ((Sec[d+e x])^(n-1)) Sin[d+e x])/(e (n-1)))+(((e^2) (((n-2))^2)+(b^2) (c^2) ((Log[F])^2))/((e^2) (n-1) (n-2)))∫(F^(c(a+b x))) ((Sec[d+e x])^(n-2))dx

Program code:

Int[F_^(c_.*(a_.+b_.*x_))*Sec[d_.+e_.*x_]^n_,x_Symbol] :=
  -b*c*Log[F]*F^(c*(a+b*x))*Sec[d+e x]^(n-2)/(e^2*(n-1)*(n-2)) + 
  F^(c*(a+b*x))*Sec[d+e x]^(n-1)*Sin[d+e x]/(e*(n-1)) + 
  (e^2*(n-2)^2+b^2*c^2*Log[F]^2)/(e^2*(n-1)*(n-2))*Int[F^(c*(a+b*x))*Sec[d+e x]^(n-2),x] /;
FreeQ[{F,a,b,c,d,e},x] && NeQ[b^2*c^2*Log[F]^2+e^2*(n-2)^2,0] && GtQ[n,1] && NeQ[n,2]

Int[F_^(c_.*(a_.+b_.*x_))*Csc[d_.+e_.*x_]^n_,x_Symbol] :=
  -b*c*Log[F]*F^(c*(a+b*x))*Csc[d+e x]^(n-2)/(e^2*(n-1)*(n-2)) - 
  F^(c*(a+b*x))*Csc[d+e x]^(n-1)*Cos[d+e x]/(e*(n-1)) + 
  (e^2*(n-2)^2+b^2*c^2*Log[F]^2)/(e^2*(n-1)*(n-2))*Int[F^(c*(a+b*x))*Csc[d+e x]^(n-2),x] /;
FreeQ[{F,a,b,c,d,e},x] && NeQ[b^2*c^2*Log[F]^2+e^2*(n-2)^2,0] && GtQ[n,1] && NeQ[n,2]

x:  ∫(F^(c(a+b x))) ((Sec[d+e x])^n)dx  when  n∈ℤ

Derivation: Algebraic expansion

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

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

Rule: If  n∈ℤ, then

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

Program code:

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

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

4:  ∫(F^(c(a+b x))) ((Sec[d+e x])^n)dx  when  n∈ℤ

Rule: If  n∈ℤ, then

∫(F^(c(a+b x))) ((Sec[d+e x])^n)dx  ⟶  (((2^n) (e^(i n (d+e x))) (F^(c (a+b x))))/(i e n+b c Log[F]))Hypergeometric2F1[n,(n/2)-((i b c Log[F])/(2 e)),1+(n/2)-((i b c Log[F])/(2 e)),-(e^(2 i (d+e x)))]

Program code:

Int[F_^(c_.*(a_.+b_.*x_))*Sec[d_.+k_.*Pi+e_.*x_]^n_.,x_Symbol] :=
  2^n*E^(I*k*n*Pi)*E^(I*n*(d+e*x))*F^(c*(a+b*x))/(I*e*n+b*c*Log[F])*
    Hypergeometric2F1[n,n/2-I*b*c*Log[F]/(2*e),1+n/2-I*b*c*Log[F]/(2*e),-E^(2*I*k*Pi)*E^(2*I*(d+e*x))] /;
FreeQ[{F,a,b,c,d,e},x] && IntegerQ[4*k] && IntegerQ[n]

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

Int[F_^(c_.*(a_.+b_.*x_))*Csc[d_.+k_.*Pi+e_.*x_]^n_.,x_Symbol] :=
  (-2*I)^n*E^(I*k*n*Pi)*E^(I*n*(d+e*x))*(F^(c*(a+b*x))/(I*e*n+b*c*Log[F]))*
    Hypergeometric2F1[n,n/2-I*b*c*Log[F]/(2*e),1+n/2-I*b*c*Log[F]/(2*e),E^(2*I*k*Pi)*E^(2*I*(d+e*x))] /;
FreeQ[{F,a,b,c,d,e},x] && IntegerQ[4*k] && IntegerQ[n]

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

5:  ∫(F^(c(a+b x))) ((Sec[d+e x])^n)dx  when  n∉ℤ

Derivation: Piecewise constant extraction

Basis: (∂_x)(((((1+(e^(2 i(d+e x)))))^n) ((Sec[d+e x])^n))/(e^(i n(d+e x))))==0

Rule: If  n∉ℤ, then

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

Program code:

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

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

4.  ∫u (F^(c(a+b x))) (((f+g Sin[d+e x]))^n)dx  when  (f^2)-(g^2)==0

1.  ∫(F^(c(a+b x))) (((f+g Sin[d+e x]))^n)dx  when  (f^2)-(g^2)==0

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

Derivation: Algebraic simplification

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

Basis: If  f-g==0, then f+g Cos[z]==2 f ((Cos[(z/2)])^2)

Basis: If  f+g==0, then f+g Cos[z]==2 f ((Sin[(z/2)])^2)

Rule: If  (f^2)-(g^2)==0 ∧ n∈ℤ, then

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

Program code:

Int[F_^(c_.*(a_.+b_.*x_))*(f_+g_.*Sin[d_.+e_.*x_])^n_.,x_Symbol] :=
  2^n*f^n*Int[F^(c*(a+b*x))*Cos[d/2-f*Pi/(4*g)+e*x/2]^(2*n),x] /;
FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f^2-g^2,0] && ILtQ[n,0]

Int[F_^(c_.*(a_.+b_.*x_))*(f_+g_.*Cos[d_.+e_.*x_])^n_.,x_Symbol] :=
  2^n*f^n*Int[F^(c*(a+b*x))*Cos[d/2+e*x/2]^(2*n),x] /;
FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f-g,0] && ILtQ[n,0]

Int[F_^(c_.*(a_.+b_.*x_))*(f_+g_.*Cos[d_.+e_.*x_])^n_.,x_Symbol] :=
  2^n*f^n*Int[F^(c*(a+b*x))*Sin[d/2+e*x/2]^(2*n),x] /;
FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f+g,0] && ILtQ[n,0]

2:  ∫(F^(c(a+b x)))(((f+g Sin[d+e x]))^n)dx  when  (f^2)-(g^2)==0 ∧ n∉ℤ

Derivation: Piecewise constant extraction

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

Basis: If  f-g==0, then (∂_x)((((f+g Cos[d+e x]))^n)/((Cos[(d/2)+((e x)/2)])^(2 n)))==0

Basis: If  f+g==0, then (∂_x)((((f+g Cos[d+e x]))^n)/((Sin[(d/2)+((e x)/2)])^(2 n)))==0

Rule: If  (f^2)-(g^2)==0 ∧ n∉ℤ, then

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

Program code:

Int[F_^(c_.*(a_.+b_.*x_))*(f_+g_.*Sin[d_.+e_.*x_])^n_.,x_Symbol] :=
  (f+g*Sin[d+e*x])^n/Cos[d/2-f*Pi/(4*g)+e*x/2]^(2*n)*Int[F^(c*(a+b*x))*Cos[d/2-f*Pi/(4*g)+e*x/2]^(2*n),x] /;
FreeQ[{F,a,b,c,d,e,f,g,n},x] && EqQ[f^2-g^2,0] && Not[IntegerQ[n]]

Int[F_^(c_.*(a_.+b_.*x_))*(f_+g_.*Cos[d_.+e_.*x_])^n_.,x_Symbol] :=
  (f+g*Cos[d+e*x])^n/Cos[d/2+e*x/2]^(2*n)*Int[F^(c*(a+b*x))*Cos[d/2+e*x/2]^(2*n),x] /;
FreeQ[{F,a,b,c,d,e,f,g,n},x] && EqQ[f-g,0] && Not[IntegerQ[n]]

Int[F_^(c_.*(a_.+b_.*x_))*(f_+g_.*Cos[d_.+e_.*x_])^n_.,x_Symbol] :=
  (f+g*Cos[d+e*x])^n/Sin[d/2+e*x/2]^(2*n)*Int[F^(c*(a+b*x))*Sin[d/2+e*x/2]^(2*n),x] /;
FreeQ[{F,a,b,c,d,e,f,g,n},x] && EqQ[f+g,0] && Not[IntegerQ[n]]

2:  ∫(F^(c(a+b x))) ((Cos[d+e x])^m)(((f+g Sin[d+e x]))^n)dx  when  (f^2)-(g^2)==0 ∧ (m|n)∈ℤ ∧ m+n==0

Derivation: Algebraic simplification

Basis: If  (f^2)-(g^2)==0, then ((Cos[z])/(f+g Sin[z]))==(1/g)Tan[((f π)/(4 g))-(z/2)]

Basis: If  f-g==0, then ((Sin[z])/(f+g Cos[z]))==(1/f)Tan[(z/2)]

Basis: If  f+g==0, then ((Sin[z])/(f+g Cos[z]))==(1/f)Cot[(z/2)]

Rule: If  (f^2)-(g^2)==0 ∧ (m|n)∈ℤ ∧ m+n==0, then

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

Program code:

Int[F_^(c_.*(a_.+b_.*x_))*Cos[d_.+e_.*x_]^m_.*(f_+g_.*Sin[d_.+e_.*x_])^n_.,x_Symbol] :=
  g^n*Int[F^(c*(a+b*x))*Tan[f*Pi/(4*g)-d/2-e*x/2]^m,x] /;
FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f^2-g^2,0] && IntegersQ[m,n] && EqQ[m+n,0]

Int[F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_]^m_.*(f_+g_.*Cos[d_.+e_.*x_])^n_.,x_Symbol] :=
  f^n*Int[F^(c*(a+b*x))*Tan[d/2+e*x/2]^m,x] /;
FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f-g,0] && IntegersQ[m,n] && EqQ[m+n,0]

Int[F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_]^m_.*(f_+g_.*Cos[d_.+e_.*x_])^n_.,x_Symbol] :=
  f^n*Int[F^(c*(a+b*x))*Cot[d/2+e*x/2]^m,x] /;
FreeQ[{F,a,b,c,d,e,f,g},x] && EqQ[f+g,0] && IntegersQ[m,n] && EqQ[m+n,0]

3:  ∫(F^(c(a+b x))) ((h+i Cos[d+e x])/(f+g Sin[d+e x]))dx  when  (f^2)-(g^2)==0 ∧ (h^2)-(i^2)==0 ∧ g h+f i==0

Derivation: Algebraic simplification

Basis: ((h+i Cos[z])/(f+g Sin[z]))==((2i Cos[z])/(f+g Sin[z]))+((h-i Cos[z])/(f+g Sin[z]))

Rule: If  (f^2)-(g^2)==0 ∧ (h^2)-(i^2)==0 ∧ g h+f i==0, then

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

Program code:

Int[F_^(c_.*(a_.+b_.*x_))*(h_+i_.*Cos[d_.+e_.*x_])/(f_+g_.*Sin[d_.+e_.*x_]),x_Symbol] :=
  2*i*Int[F^(c*(a+b*x))*(Cos[d+e*x]/(f+g*Sin[d+e*x])),x] + 
  Int[F^(c*(a+b*x))*((h-i*Cos[d+e*x])/(f+g*Sin[d+e*x])),x] /;
FreeQ[{F,a,b,c,d,e,f,g,h,i},x] && EqQ[f^2-g^2,0] && EqQ[h^2-i^2,0] && EqQ[g*h-f*i,0]

Int[F_^(c_.*(a_.+b_.*x_))*(h_+i_.*Sin[d_.+e_.*x_])/(f_+g_.*Cos[d_.+e_.*x_]),x_Symbol] :=
  2*i*Int[F^(c*(a+b*x))*(Sin[d+e*x]/(f+g*Cos[d+e*x])),x] + 
  Int[F^(c*(a+b*x))*((h-i*Sin[d+e*x])/(f+g*Cos[d+e*x])),x] /;
FreeQ[{F,a,b,c,d,e,f,g,h,i},x] && EqQ[f^2-g^2,0] && EqQ[h^2-i^2,0] && EqQ[g*h+f*i,0]

5:  ∫(F^(c u))((Trig[v])^n)dx  when  u==a+b x ∧ v==d+e x

Derivation: Algebraic normalization

Rule: If  u==a+b x ∧ v==d+e x, then

∫(F^(c u))((Trig[v])^n)dx  ⟶  ∫(F^(c(a+b x))) ((Trig[d+e x])^n)dx

Program code:

Int[F_^(c_.*u_)*G_[v_]^n_.,x_Symbol] :=
  Int[F^(c*ExpandToSum[u,x])*G[ExpandToSum[v,x]]^n,x] /;
FreeQ[{F,c,n},x] && TrigQ[G] && LinearQ[{u,v},x] && Not[LinearMatchQ[{u,v},x]]

6.  ∫(((f x))^m)(F^(c(a+b x))) ((Sin[d+e x])^n)dx  when  n∈(SuperPlus[ℤ])

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

Derivation: Integration by parts

Note: Each term of the resulting integrand will be similar in form to the original integrand, but the degree of the monomial will be smaller by one.

Rule: If  n∈(SuperPlus[ℤ])∧ m>0, let  u=∫(F^(c(a+b x))) ((Sin[d+e x])^n)dx, then

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

Program code:

Int[(f_.*x_)^m_.*F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_]^n_.,x_Symbol] :=
  Module[{u=IntHide[F^(c*(a+b*x))*Sin[d+e*x]^n,x]},
  Dist[(f*x)^m,u,x] - f*m*Int[(f*x)^(m-1)*u,x]] /;
FreeQ[{F,a,b,c,d,e,f},x] && IGtQ[n,0] && GtQ[m,0]

Int[(f_.*x_)^m_.*F_^(c_.*(a_.+b_.*x_))*Cos[d_.+e_.*x_]^n_.,x_Symbol] :=
  Module[{u=IntHide[F^(c*(a+b*x))*Cos[d+e*x]^n,x]},
  Dist[(f*x)^m,u,x] - f*m*Int[(f*x)^(m-1)*u,x]] /;
FreeQ[{F,a,b,c,d,e,f},x] && IGtQ[n,0] && GtQ[m,0]

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

Derivation: Integration by parts

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

Basis: (∂_x)((F^(c (a+b x))) Sin[d+e x])==e (F^(c (a+b x))) Cos[d+e x]+b c Log[F] (F^(c (a+b x))) Sin[d+e x]

Rule: If  m<-1, then

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

Program code:

Int[(f_.*x_)^m_*F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_],x_Symbol] :=
  (f*x)^(m+1)/(f*(m+1))*F^(c*(a+b*x))*Sin[d+e*x] - 
  e/(f*(m+1))*Int[(f*x)^(m+1)*F^(c*(a+b*x))*Cos[d+e*x],x] - 
  b*c*Log[F]/(f*(m+1))*Int[(f*x)^(m+1)*F^(c*(a+b*x))*Sin[d+e*x],x] /;
FreeQ[{F,a,b,c,d,e,f,m},x] && (LtQ[m,-1] || SumSimplerQ[m,1])

Int[(f_.*x_)^m_*F_^(c_.*(a_.+b_.*x_))*Cos[d_.+e_.*x_],x_Symbol] :=
  (f*x)^(m+1)/(f*(m+1))*F^(c*(a+b*x))*Cos[d+e*x] + 
  e/(f*(m+1))*Int[(f*x)^(m+1)*F^(c*(a+b*x))*Sin[d+e*x],x] - 
  b*c*Log[F]/(f*(m+1))*Int[(f*x)^(m+1)*F^(c*(a+b*x))*Cos[d+e*x],x] /;
FreeQ[{F,a,b,c,d,e,f,m},x] && (LtQ[m,-1] || SumSimplerQ[m,1])

x:  ∫(((f x))^m)(F^(c(a+b x))) ((Sin[d+e x])^n)dx  when  n∈(SuperPlus[ℤ])

Derivation: Algebraic expansion

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

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

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

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

Program code:

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

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

7.  ∫u (F^(c(a+b x)))((Sin[d+e x])^m)((Cos[f+g x])^n)dx

1:  ∫(F^(c(a+b x)))((Sin[d+e x])^m)((Cos[f+g x])^n)dx  when (m|n)∈(SuperPlus[ℤ])

Derivation: Algebraic expansion

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

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

Program code:

Int[F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_]^m_.*Cos[f_.+g_.*x_]^n_.,x_Symbol] :=
  Int[ExpandTrigReduce[F^(c*(a+b*x)),Sin[d+e*x]^m*Cos[f+g*x]^n,x],x] /;
FreeQ[{F,a,b,c,d,e,f,g},x] && IGtQ[m,0] && IGtQ[n,0]

2:  ∫(x^p)(F^(c(a+b x)))((Sin[d+e x])^m)((Cos[f+g x])^n)dx  when (m|n|p)∈(SuperPlus[ℤ])

Derivation: Algebraic expansion

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

∫(x^p)(F^(c(a+b x)))((Sin[d+e x])^m)((Cos[f+g x])^n)dx  ⟶  ∫(x^p)(F^(c(a+b x)))TrigReduce[((Sin[d+e x])^m)((Cos[f+g x])^n)]dx

Program code:

Int[x_^p_.*F_^(c_.*(a_.+b_.*x_))*Sin[d_.+e_.*x_]^m_.*Cos[f_.+g_.*x_]^n_.,x_Symbol] :=
  Int[ExpandTrigReduce[x^p*F^(c*(a+b*x)),Sin[d+e*x]^m*Cos[f+g*x]^n,x],x] /;
FreeQ[{F,a,b,c,d,e,f,g},x] && IGtQ[m,0] && IGtQ[n,0] && IGtQ[p,0]

8:  ∫(F^(c(a+b x))) ((Trig[d+e x])^m)((Trig[d+e x])^n)dx  when  (m|n)∈(SuperPlus[ℤ])

Derivation: Algebraic expansion

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

∫(F^(c(a+b x))) ((Trig[d+e x])^m)((Trig[d+e x])^n)dx  ⟶  ∫(F^(c(a+b x))) TrigToExp[((Trig[d+e x])^m)((Trig[d+e x])^n),x]dx

Program code:

Int[F_^(c_.*(a_.+b_.*x_))*G_[d_.+e_.*x_]^m_.*H_[d_.+e_.*x_]^n_.,x_Symbol] :=
  Int[ExpandTrigToExp[F^(c*(a+b*x)),G[d+e*x]^m*H[d+e*x]^n,x],x] /;
FreeQ[{F,a,b,c,d,e},x] && IGtQ[m,0] && IGtQ[n,0] && TrigQ[G] && TrigQ[H]

9:  ∫(F^(a+b x+c (x^2))) ((Sin[d+e x+f (x^2)])^n)dx  when n∈(SuperPlus[ℤ])

Derivation: Algebraic expansion

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

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

Program code:

Int[F_^u_*Sin[v_]^n_.,x_Symbol] :=
  Int[ExpandTrigToExp[F^u,Sin[v]^n,x],x] /;
FreeQ[F,x] && (LinearQ[u,x] || PolyQ[u,x,2]) && (LinearQ[v,x] || PolyQ[v,x,2]) && IGtQ[n,0]

Int[F_^u_*Cos[v_]^n_.,x_Symbol] :=
  Int[ExpandTrigToExp[F^u,Cos[v]^n,x],x] /;
FreeQ[F,x] && (LinearQ[u,x] || PolyQ[u,x,2]) && (LinearQ[v,x] || PolyQ[v,x,2]) && IGtQ[n,0]

10:  ∫(F^(a+b x+c (x^2))) ((Sin[d+e x+f (x^2)])^m)((Cos[d+e x+f (x^2)])^n)dx  when (m|n)∈(SuperPlus[ℤ])

Derivation: Algebraic expansion

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

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

Program code:

Int[F_^u_*Sin[v_]^m_.*Cos[v_]^n_.,x_Symbol] :=
  Int[ExpandTrigToExp[F^u,Sin[v]^m*Cos[v]^n,x],x] /;
FreeQ[F,x] && (LinearQ[u,x] || PolyQ[u,x,2]) && (LinearQ[v,x] || PolyQ[v,x,2]) && IGtQ[m,0] && IGtQ[n,0]