0:  ∫udx

If[TrueQ[$LoadShowSteps],

Int[u_,x_Symbol] :=
  Int[DeactivateTrig[u,x],x] /;
SimplifyFlag && FunctionOfTrigOfLinearQ[u,x],

Int[u_,x_Symbol] :=
  Int[DeactivateTrig[u,x],x] /;
FunctionOfTrigOfLinearQ[u,x]]

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

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

1:  ∫(((a Sin[e+f x]))^m) (((b Cos[e+f x]))^n)dx  when  m+n+2==0 ∧ m≠-1

Reference: G&R 2.510.3, CRC 334a, A&S 4.3.128b with m+n+2==0

Reference: G&R 2.510.6, CRC 334b, A&S 4.3.128a with m+n+2==0

Rule: If  m+n+2==0 ∧ m≠-1, then

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

Program code:

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

2:  ∫(((a Sin[e+f x]))^m) ((Cos[e+f x])^n)dx  when  ((n-1)/2)∈ℤ

Derivation: Integration by substitution

Basis: If ((n-1)/2)∈ℤ, then (((a Sin[e+f x]))^m) ((Cos[e+f x])^n)==(1/(a f))Subst[(x^m) (((1-((x^2)/(a^2))))^((n-1)/2)),x,a Sin[e+f x]] (∂_x)(a Sin[e+f x])

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

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

Program code:

Int[(a_.*sin[e_.+f_.*x_])^m_.*cos[e_.+f_.*x_]^n_.,x_Symbol] :=
  1/(a*f)*Subst[Int[x^m*(1-x^2/a^2)^((n-1)/2),x],x,a*Sin[e+f*x]] /;
FreeQ[{a,e,f,m},x] && IntegerQ[(n-1)/2] && Not[IntegerQ[(m-1)/2] && LtQ[0,m,n]]

Int[(a_.*cos[e_.+f_.*x_])^m_.*sin[e_.+f_.*x_]^n_.,x_Symbol] :=
  -1/(a*f)*Subst[Int[x^m*(1-x^2/a^2)^((n-1)/2),x],x,a*Cos[e+f*x]] /;
FreeQ[{a,e,f,m},x] && IntegerQ[(n-1)/2] && Not[IntegerQ[(m-1)/2] && GtQ[m,0] && LeQ[m,n]]

3.  ∫(((a Sin[e+f x]))^m) (((b Cos[e+f x]))^n)dx  when  m>1

1:  ∫(((a Sin[e+f x]))^m) (((b Cos[e+f x]))^n)dx  when  m>1 ∧ n<-1

Reference: G&R 2.510.1

Reference: G&R 2.510.4

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

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

Program code:

Int[(a_.*sin[e_.+f_.*x_])^m_*(b_.*cos[e_.+f_.*x_])^n_,x_Symbol] :=
  -a*(a*Sin[e+f*x])^(m-1)*(b*Cos[e+f*x])^(n+1)/(b*f*(n+1)) + 
  a^2*(m-1)/(b^2*(n+1))*Int[(a*Sin[e+f*x])^(m-2)*(b*Cos[e+f*x])^(n+2),x] /;
FreeQ[{a,b,e,f},x] && GtQ[m,1] && LtQ[n,-1] && (IntegersQ[2*m,2*n] || EqQ[m+n,0])

Int[(a_.*cos[e_.+f_.*x_])^m_*(b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
  a*(a*Cos[e+f*x])^(m-1)*(b*Sin[e+f*x])^(n+1)/(b*f*(n+1)) + 
  a^2*(m-1)/(b^2*(n+1))*Int[(a*Cos[e+f*x])^(m-2)*(b*Sin[e+f*x])^(n+2),x] /;
FreeQ[{a,b,e,f},x] && GtQ[m,1] && LtQ[n,-1] && (IntegersQ[2*m,2*n] || EqQ[m+n,0])

2:  ∫(((a Sin[e+f x]))^m) (((b Cos[e+f x]))^n)dx  when  m>1 ∧ m+n≠0

Reference: G&R 2.510.2, CRC 323b, A&S 4.3.127b

Reference: G&R 2.510.5, CRC 323a, A&S 4.3.127a

Rule: If  m>1 ∧ m+n≠0, then

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

Program code:

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

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

4:  ∫(((a Sin[e+f x]))^m) (((b Cos[e+f x]))^n)dx  when  m<-1

Reference: G&R 2.510.3, CRC 334a, A&S 4.3.128b

Reference: G&R 2.510.6, CRC 334b, A&S 4.3.128a

Rule: If  m<-1, then

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

Program code:

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

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

5:  ∫(Sqrt[a Sin[e+f x]]) (Sqrt[b Cos[e+f x]])dx

Derivation: Piecewise constant extraction

Basis: (∂_x)(((Sqrt[a Sin[e+f x]])(Sqrt[b Cos[e+f x]]))/(Sqrt[Sin[2 e+2 f x]]))==0

Rule:

∫(Sqrt[a Sin[e+f x]]) (Sqrt[b Cos[e+f x]])dx  ⟶  (((Sqrt[a Sin[e+f x]])(Sqrt[b Cos[e+f x]]))/(Sqrt[Sin[2 e+2 f x]])) ∫(Sqrt[Sin[2 e+2 f x]])dx

Program code:

Int[Sqrt[a_.*sin[e_.+f_.*x_]]*Sqrt[b_.*cos[e_.+f_.*x_]],x_Symbol] :=
  Sqrt[a*Sin[e+f*x]]*Sqrt[b*Cos[e+f*x]]/Sqrt[Sin[2*e+2*f*x]]*Int[Sqrt[Sin[2*e+2*f*x]],x] /;
FreeQ[{a,b,e,f},x]

6:  ∫(1/((Sqrt[a Sin[e+f x]]) (Sqrt[b Cos[e+f x]])))dx

Derivation: Piecewise constant extraction

Basis: (∂_x)((Sqrt[Sin[2 e+2 f x]])/((Sqrt[a Sin[e+f x]])(Sqrt[b Cos[e+f x]])))==0

Rule:

∫(1/((Sqrt[a Sin[e+f x]]) (Sqrt[b Cos[e+f x]])))dx  ⟶  ((Sqrt[Sin[2 e+2 f x]])/((Sqrt[a Sin[e+f x]])(Sqrt[b Cos[e+f x]]))) ∫(1/(Sqrt[Sin[2 e+2 f x]]))dx

Program code:

Int[1/(Sqrt[a_.*sin[e_.+f_.*x_]]*Sqrt[b_.*cos[e_.+f_.*x_]]),x_Symbol] :=
  Sqrt[Sin[2*e+2*f*x]]/(Sqrt[a*Sin[e+f*x]]*Sqrt[b*Cos[e+f*x]])*Int[1/Sqrt[Sin[2*e+2*f*x]],x] /;
FreeQ[{a,b,e,f},x]

x:  ∫(((a Sin[e+f x]))^m) (((b Cos[e+f x]))^n)dx  when  m+n==0

Derivation: Piecewise constant extraction

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

Rule: If  m+n==0, then

∫(((a Sin[e+f x]))^m) (((b Cos[e+f x]))^n)dx  ⟶  (((((a Sin[e+f x]))^m) (((b Cos[e+f x]))^n))/(((a Tan[e+f x]))^m)) ∫(((a Tan[e+f x]))^m)dx

Program code:

(* Int[(a_.*sin[e_.+f_.*x_])^m_*(b_.*cos[e_.+f_.*x_])^n_,x_Symbol] :=
  (a*Sin[e+f*x])^m*(b*Cos[e+f*x])^n/(a*Tan[e+f*x])^m*Int[(a*Tan[e+f*x])^m,x] /;
FreeQ[{a,b,e,f,m,n},x] && EqQ[m+n,0] *)

7:  ∫(((a Sin[e+f x]))^m) (((b Cos[e+f x]))^n)dx  when  m+n==0 ∧ 0<m<1

Derivation: Integration by substitution

Basis: If  -1<m<1, let k->Denominator[m], then ((((a Sin[e+f x]))^m)/(((b Cos[e+f x]))^m))==((k a b)/f) Subst[((x^(k(m+1)-1))/((a^2)+(b^2)(x^(2 k)))),x,((((a Sin[e+f x]))^(1/k))/(((b Cos[e+f x]))^(1/k)))](∂_x)((((a Sin[e+f x]))^(1/k))/(((b Cos[e+f x]))^(1/k)))

Note: This rule is analogous to the rule for integrands of the form (((a Tan[e+f x]))^m) when -1<m<1.

Rule: If  m+n==0 ∧ 0<m<1, let k->Denominator[m], then

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

Program code:

Int[(a_.*sin[e_.+f_.*x_])^m_*(b_.*cos[e_.+f_.*x_])^n_,x_Symbol] :=
  With[{k=Denominator[m]},
  k*a*b/f*Subst[Int[x^(k*(m+1)-1)/(a^2+b^2*x^(2*k)),x],x,(a*Sin[e+f*x])^(1/k)/(b*Cos[e+f*x])^(1/k)]] /;
FreeQ[{a,b,e,f},x] && EqQ[m+n,0] && GtQ[m,0] && LtQ[m,1]

Int[(a_.*cos[e_.+f_.*x_])^m_*(b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
  With[{k=Denominator[m]},
  -k*a*b/f*Subst[Int[x^(k*(m+1)-1)/(a^2+b^2*x^(2*k)),x],x,(a*Cos[e+f*x])^(1/k)/(b*Sin[e+f*x])^(1/k)]] /;
FreeQ[{a,b,e,f},x] && EqQ[m+n,0] && GtQ[m,0] && LtQ[m,1]

8:  ∫(((a Sin[e+f x]))^m) (((b Cos[e+f x]))^n)dx

Derivation: Piecewise constant extraction and integration by substitution

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

Basis: Cos[e+f x]F[a Sin[e+f x]]==(1/(a f)) Subst[F[x],x,a Sin[e+f x]](∂_x)(a Sin[e+f x])

Note: If  (n/2)∈ℤ ∧ 3 m∈ℤ ∧ -1<m<1, integration of (x^m) (((1-((x^2)/(a^2))))^((n-1)/2)) results in a complicated antiderivative involving elliptic integrals and the imaginary unit.

Rule:

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

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

  ⟶  (((b^(2 IntPart[((n-1)/2)]+1))(((b Cos[e+f x]))^(2 FracPart[((n-1)/2)])) (((a Sin[e+f x]))^(m+1)))/(a f (m+1) (((((Cos[e+f x])^2)))^(FracPart[((n-1)/2)])))) Hypergeometric2F1[((1+m)/2),((1-n)/2),((3+m)/2),((Sin[e+f x])^2)]

Program code:

(* Int[(a_.*sin[e_.+f_.*x_])^m_*(b_.*cos[e_.+f_.*x_])^n_,x_Symbol] :=
  b^(2*IntPart[(n-1)/2]+1)*(b*Cos[e+f*x])^(2*FracPart[(n-1)/2])/(a*f*(Cos[e+f*x]^2)^FracPart[(n-1)/2])*
    Subst[Int[x^m*(1-x^2/a^2)^((n-1)/2),x],x,a*Sin[e+f*x]] /;
FreeQ[{a,b,e,f,m,n},x] && (RationalQ[n] || Not[RationalQ[m]] && (EqQ[b,1] || NeQ[a,1])) *)

(* Int[(a_.*cos[e_.+f_.*x_])^m_*(b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
  -b^(2*IntPart[(n-1)/2]+1)*(b*Sin[e+f*x])^(2*FracPart[(n-1)/2])/(a*f*(Sin[e+f*x]^2)^FracPart[(n-1)/2])*
    Subst[Int[x^m*(1-x^2/a^2)^((n-1)/2),x],x,a*Cos[e+f*x]] /;
FreeQ[{a,b,e,f,m,n},x] *)

Int[(a_.*cos[e_.+f_.*x_])^m_*(b_.*sin[e_.+f_.*x_])^n_,x_Symbol] :=
  -b^(2*IntPart[(n-1)/2]+1)*(b*Sin[e+f*x])^(2*FracPart[(n-1)/2])*(a*Cos[e+f*x])^(m+1)/(a*f*(m+1)*(Sin[e+f*x]^2)^FracPart[(n-1)/2])*
    Hypergeometric2F1[(1+m)/2,(1-n)/2,(3+m)/2,Cos[e+f*x]^2] /;
FreeQ[{a,b,e,f,m,n},x] && SimplerQ[n,m]

Int[(a_.*sin[e_.+f_.*x_])^m_*(b_.*cos[e_.+f_.*x_])^n_,x_Symbol] :=
  b^(2*IntPart[(n-1)/2]+1)*(b*Cos[e+f*x])^(2*FracPart[(n-1)/2])*(a*Sin[e+f*x])^(m+1)/(a*f*(m+1)*(Cos[e+f*x]^2)^FracPart[(n-1)/2])*
    Hypergeometric2F1[(1+m)/2,(1-n)/2,(3+m)/2,Sin[e+f*x]^2] /;
FreeQ[{a,b,e,f,m,n},x]

2.  ∫(((a Sin[e+f x]))^m) (((b Sec[e+f x]))^n)dx  when  m∉ℤ ∧ n∉ℤ

1:  ∫(((a Sin[e+f x]))^m) (((b Sec[e+f x]))^n)dx  when  m-n+2==0 ∧ m≠-1

Rule: If  m-n+2==0 ∧ m≠-1, then

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

Program code:

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

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

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

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

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

Program code:

Int[(a_.*sin[e_.+f_.*x_])^m_*(b_.*sec[e_.+f_.*x_])^n_,x_Symbol] :=
  a*b*(a*Sin[e+f*x])^(m-1)*(b*Sec[e+f*x])^(n-1)/(f*(n-1)) - 
  a^2*b^2*(m-1)/(n-1)*Int[(a*Sin[e+f*x])^(m-2)*(b*Sec[e+f*x])^(n-2),x] /;
FreeQ[{a,b,e,f},x] && GtQ[n,1] && GtQ[m,1] && IntegersQ[2*m,2*n]

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

Rule: If  n>1, then

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

Program code:

Int[(a_.*sin[e_.+f_.*x_])^m_*(b_.*sec[e_.+f_.*x_])^n_,x_Symbol] :=
  (a*Sin[e+f*x])^(m+1)*(b*Sec[e+f*x])^(n+1)/(a*b*f*(m-n)) - 
  (n+1)/(b^2*(m-n))*Int[(a*Sin[e+f*x])^m*(b*Sec[e+f*x])^(n+2),x] /;
FreeQ[{a,b,e,f,m},x] && GtQ[n,1] && IntegersQ[2*m,2*n]

3.  ∫(((a Sin[e+f x]))^m) (((b Sec[e+f x]))^n)dx  when  n<-1

1:  ∫(((a Sin[e+f x]))^m) (((b Sec[e+f x]))^n)dx  when  n<-1 ∧ m<-1

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

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

Program code:

Int[(a_.*sin[e_.+f_.*x_])^m_*(b_.*sec[e_.+f_.*x_])^n_,x_Symbol] :=
  (a*Sin[e+f*x])^(m+1)*(b*Sec[e+f*x])^(n+1)/(a*b*f*(m+1)) - 
  (n+1)/(a^2*b^2*(m+1))*Int[(a*Sin[e+f*x])^(m+2)*(b*Sec[e+f*x])^(n+2),x] /;
FreeQ[{a,b,e,f},x] && LtQ[n,-1] && LtQ[m,-1] && IntegersQ[2*m,2*n]

2:  ∫(((a Sin[e+f x]))^m) (((b Sec[e+f x]))^n)dx  when  n<-1 ∧ m-n≠0

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

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

Program code:

Int[(a_.*sin[e_.+f_.*x_])^m_*(b_.*sec[e_.+f_.*x_])^n_,x_Symbol] :=
  (a*Sin[e+f*x])^(m+1)*(b*Sec[e+f*x])^(n+1)/(a*b*f*(m-n)) - 
  (n+1)/(b^2*(m-n))*Int[(a*Sin[e+f*x])^m*(b*Sec[e+f*x])^(n+2),x] /;
FreeQ[{a,b,e,f,m},x] && LtQ[n,-1] && NeQ[m-n,0] && IntegersQ[2*m,2*n]

4:  ∫(((a Sin[e+f x]))^m) (((b Sec[e+f x]))^n)dx  when  m>1 ∧ m-n≠0

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

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

Program code:

Int[(a_.*sin[e_.+f_.*x_])^m_*(b_.*sec[e_.+f_.*x_])^n_,x_Symbol] :=
  -a*b*(a*Sin[e+f*x])^(m-1)*(b*Sec[e+f*x])^(n-1)/(f*(m-n)) + 
  a^2*(m-1)/(m-n)*Int[(a*Sin[e+f*x])^(m-2)*(b*Sec[e+f*x])^n,x] /;
FreeQ[{a,b,e,f,n},x] && GtQ[m,1] && NeQ[m-n,0] && IntegersQ[2*m,2*n]

5:  ∫(((a Sin[e+f x]))^m) (((b Sec[e+f x]))^n)dx  when  m<-1

Rule: If  m<-1, then

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

Program code:

Int[(a_.*sin[e_.+f_.*x_])^m_*(b_.*sec[e_.+f_.*x_])^n_,x_Symbol] :=
  b*(a*Sin[e+f*x])^(m+1)*(b*Sec[e+f*x])^(n-1)/(a*f*(m+1)) + 
  (m-n+2)/(a^2*(m+1))*Int[(a*Sin[e+f*x])^(m+2)*(b*Sec[e+f*x])^n,x] /;
FreeQ[{a,b,e,f,n},x] && LtQ[m,-1] && IntegersQ[2*m,2*n]

6.  ∫(((a Sin[e+f x]))^m) (((b Sec[e+f x]))^n)dx  when  m∉ℤ ∧ n∉ℤ

1:  ∫(((a Sin[e+f x]))^m) (((b Sec[e+f x]))^n)dx  when  m-(1/2)∈ℤ ∧ n-(1/2)∈ℤ

Derivation: Piecewise constant extraction

Basis: (∂_x)((((b Cos[e+f x]))^n) (((b Sec[e+f x]))^n))==0

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

∫(((a Sin[e+f x]))^m) (((b Sec[e+f x]))^n)dx  ⟶  (((b Cos[e+f x]))^n) (((b Sec[e+f x]))^n) ∫((((a Sin[e+f x]))^m)/(((b Cos[e+f x]))^n))dx

Program code:

Int[(a_.*sin[e_.+f_.*x_])^m_*(b_.*sec[e_.+f_.*x_])^n_,x_Symbol] :=
  (b*Cos[e+f*x])^n*(b*Sec[e+f*x])^n*Int[(a*Sin[e+f*x])^m/(b*Cos[e+f*x])^n,x] /;
FreeQ[{a,b,e,f,m,n},x] && IntegerQ[m-1/2] && IntegerQ[n-1/2]

2:  ∫(((a Sin[e+f x]))^m) (((b Sec[e+f x]))^n)dx  when  m∉ℤ ∧ n∉ℤ ∧ n<1

Derivation: Piecewise constant extraction

Basis: (∂_x)((((b Cos[e+f x]))^(n+1)) (((b Sec[e+f x]))^(n+1)))==0

Rule: If  m∉ℤ ∧ n∉ℤ ∧ n<1, then

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

Program code:

Int[(a_.*sin[e_.+f_.*x_])^m_*(b_.*sec[e_.+f_.*x_])^n_,x_Symbol] :=
  1/b^2*(b*Cos[e+f*x])^(n+1)*(b*Sec[e+f*x])^(n+1)*Int[(a*Sin[e+f*x])^m/(b*Cos[e+f*x])^n,x] /;
FreeQ[{a,b,e,f,m,n},x] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && LtQ[n,1]

3:  ∫(((a Sin[e+f x]))^m) (((b Sec[e+f x]))^n)dx  when  m∉ℤ ∧ n∉ℤ

Derivation: Piecewise constant extraction

Basis: (∂_x)((((b Cos[e+f x]))^(n-1)) (((b Sec[e+f x]))^(n-1)))==0

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

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

Program code:

Int[(a_.*sin[e_.+f_.*x_])^m_*(b_.*sec[e_.+f_.*x_])^n_,x_Symbol] :=
  b^2*(b*Cos[e+f*x])^(n-1)*(b*Sec[e+f*x])^(n-1)*Int[(a*Sin[e+f*x])^m/(b*Cos[e+f*x])^n,x] /;
FreeQ[{a,b,e,f,m,n},x] && Not[IntegerQ[m]] && Not[IntegerQ[n]]

3:  ∫(((a Sin[e+f x]))^m) (((b Csc[e+f x]))^n) dx  when  m∉ℤ ∧ n∉ℤ

Derivation: Piecewise constant extraction

Basis: (∂_x)((((a Sin[e+f x]))^n) (((b Csc[e+f x]))^n))==0

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

∫(((a Sin[e+f x]))^m) (((b Csc[e+f x]))^n)dx  ⟶  (((a b))^(IntPart[n]))(((a Sin[e+f x]))^(FracPart[n])) (((b Csc[e+f x]))^(FracPart[n]))∫(((a Sin[e+f x]))^(m-n))dx

Program code:

Int[(a_.*sin[e_.+f_.*x_])^m_.*(b_.*csc[e_.+f_.*x_])^n_,x_Symbol] :=
  (a*b)^IntPart[n]*(a*Sin[e+f*x])^FracPart[n]*(b*Csc[e+f*x])^FracPart[n]*Int[(a*Sin[e+f*x])^(m-n),x] /;
FreeQ[{a,b,e,f,m,n},x] && Not[IntegerQ[m]] && Not[IntegerQ[n]]