package org.matheclipse.core.integrate.rubi;


import static org.matheclipse.core.expression.F.*;
import static org.matheclipse.core.integrate.rubi.UtilityFunctionCtors.*;
import static org.matheclipse.core.integrate.rubi.UtilityFunctions.*;

import org.matheclipse.core.interfaces.IAST;
import org.matheclipse.core.interfaces.IExpr;
import org.matheclipse.core.interfaces.ISymbol;
/** 
 * UtilityFunctions rules from the Rubi -
 * rule-based integrator.
 *  
 */
public class UtilityFunctions2 { 
  public static IAST RULES = List( 
SetDelayed(TrigSimplifyAux(Plus(Times(Power(Cot($p(z)),C2),$p(v,true)),$p(u),$p(w,true))),
    Condition(Plus(Times(u,Power(Csc(z),C2)),w),SameQ(u,v))),
SetDelayed(TrigSimplifyAux(Plus(Times(Power(Sec($p(z)),C2),$p(v,true)),$p(u),$p(w,true))),
    Condition(Plus(Times(v,Power(Tan(z),C2)),w),SameQ(u,Times(CN1,v)))),
SetDelayed(TrigSimplifyAux(Plus(Times(Power(Csc($p(z)),C2),$p(v,true)),$p(u),$p(w,true))),
    Condition(Plus(Times(v,Power(Cot(z),C2)),w),SameQ(u,Times(CN1,v)))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Cos($p(v)),$p(b,true)),$p(a)),CN1),Power(Sin($p(v)),C2),$p(u,true))),
    Condition(Times(u,Plus(Power(a,CN1),Times(CN1,Times(Cos(v),Power(b,CN1))))),ZeroQ(Plus(Power(a,C2),Times(CN1,Power(b,C2)))))),
SetDelayed(TrigSimplifyAux(Times(Power(Cos($p(v)),C2),Power(Plus(Times(Sin($p(v)),$p(b,true)),$p(a)),CN1),$p(u,true))),
    Condition(Times(u,Plus(Power(a,CN1),Times(CN1,Times(Sin(v),Power(b,CN1))))),ZeroQ(Plus(Power(a,C2),Times(CN1,Power(b,C2)))))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Power(Tan($p(v)),$p(n,true)),$p(b,true)),$p(a)),CN1),Power(Tan($p(v)),$p(n,true)),$p(u,true))),
    Condition(Times(u,Power(Plus(b,Times(a,Power(Cot(v),n))),CN1)),And(And(IntIntegerQ(n),Greater(n,C0)),NonsumQ(a)))),
SetDelayed(TrigSimplifyAux(Times(Power(Cot($p(v)),$p(n,true)),Power(Plus(Times(Power(Cot($p(v)),$p(n,true)),$p(b,true)),$p(a)),CN1),$p(u,true))),
    Condition(Times(u,Power(Plus(b,Times(a,Power(Tan(v),n))),CN1)),And(And(IntIntegerQ(n),Greater(n,C0)),NonsumQ(a)))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Power(Sec($p(v)),$p(n,true)),$p(b,true)),$p(a)),CN1),Power(Sec($p(v)),$p(n,true)),$p(u,true))),
    Condition(Times(u,Power(Plus(b,Times(a,Power(Cos(v),n))),CN1)),And(And(IntIntegerQ(n),Greater(n,C0)),NonsumQ(a)))),
SetDelayed(TrigSimplifyAux(Times(Power(Csc($p(v)),$p(n,true)),Power(Plus(Times(Power(Csc($p(v)),$p(n,true)),$p(b,true)),$p(a)),CN1),$p(u,true))),
    Condition(Times(u,Power(Plus(b,Times(a,Power(Sin(v),n))),CN1)),And(And(IntIntegerQ(n),Greater(n,C0)),NonsumQ(a)))),
SetDelayed(TrigSimplifyAux(Power(Plus(Times(Csc($p(v)),$p(a,true)),Times(Cot($p(v)),$p(b,true))),$p(n))),
    Condition(Times(Power(a,n),Power(Cot(Times(C1D2,v)),n)),And(EvenQ(n),ZeroQ(Plus(a,Times(CN1,b)))))),
SetDelayed(TrigSimplifyAux(Power(Plus(Times(Csc($p(v)),$p(a,true)),Times(Cot($p(v)),$p(b,true))),$p(n))),
    Condition(Times(Power(a,n),Power(Tan(Times(C1D2,v)),n)),And(EvenQ(n),ZeroQ(Plus(a,b))))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Power(Cot($p(v)),$p(n,true)),$p(b,true)),$p(a,true)),$p(p,true)),Power(Sin($p(v)),$p(m,true)),$p(u,true))),
    Condition(Times(Times(u,Power(Sin(v),Plus(m,Times(CN1,Times(n,p))))),Power(Plus(Times(b,Power(Cos(v),n)),Times(a,Power(Sin(v),n))),p)),IntIntegerQ(List(m,n,p)))),
SetDelayed(TrigSimplifyAux(Times(Power(Cos($p(v)),$p(m,true)),Power(Plus(Times(Power(Tan($p(v)),$p(n,true)),$p(b,true)),$p(a,true)),$p(p,true)),$p(u,true))),
    Condition(Times(Times(u,Power(Cos(v),Plus(m,Times(CN1,Times(n,p))))),Power(Plus(Times(b,Power(Sin(v),n)),Times(a,Power(Cos(v),n))),p)),IntIntegerQ(List(m,n,p)))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Power(Tan($p(v)),C2),$p(b,true)),$p(a,true)),$p(p,true)),Power(Sec($p(v)),$p(m,true)),$p(u))),
    Condition(Times(u,Power(Plus(Times(b,Power(Sin(v),C2)),Times(a,Power(Cos(v),C2))),p)),And(IntIntegerQ(List(m,p)),Equal(Plus(m,Times(C2,p)),C0)))),
SetDelayed(TrigSimplifyAux(Times(Power(Csc($p(v)),$p(m,true)),Power(Plus(Times(Power(Cot($p(v)),C2),$p(b,true)),$p(a,true)),$p(p,true)),$p(u))),
    Condition(Times(u,Power(Plus(Times(b,Power(Cos(v),C2)),Times(a,Power(Sin(v),C2))),p)),And(IntIntegerQ(List(m,p)),Equal(Plus(m,Times(C2,p)),C0)))),
SetDelayed(TrigSimplifyAux(Times(Power(Cos($p(v)),$p(m,true)),Power(Plus(Times(Power(Tan($p(v)),$p(n,true)),$p(b,true)),Times(Power(Sec($p(v)),$p(n,true)),$p(c,true)),$p(a,true)),$p(p,true)),$p(u,true))),
    Condition(Times(Times(u,Power(Cos(v),Plus(m,Times(CN1,Times(n,p))))),Power(Plus(Plus(c,Times(b,Power(Sin(v),n))),Times(a,Power(Cos(v),n))),p)),IntIntegerQ(List(m,n,p)))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Power(Tan($p(v)),$p(n,true)),$p(b,true)),Times(Power(Sec($p(v)),$p(n,true)),$p(c,true)),$p(a,true)),$p(p,true)),Power(Sec($p(v)),$p(m,true)),$p(u,true))),
    Condition(Times(Times(u,Power(Sec(v),Plus(m,Times(n,p)))),Power(Plus(Plus(c,Times(b,Power(Sin(v),n))),Times(a,Power(Cos(v),n))),p)),IntIntegerQ(List(m,n,p)))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Power(Cot($p(v)),$p(n,true)),$p(b,true)),Times(Power(Csc($p(v)),$p(n,true)),$p(c,true)),$p(a,true)),$p(p,true)),Power(Sin($p(v)),$p(m,true)),$p(u,true))),
    Condition(Times(Times(u,Power(Sin(v),Plus(m,Times(CN1,Times(n,p))))),Power(Plus(Plus(c,Times(b,Power(Cos(v),n))),Times(a,Power(Sin(v),n))),p)),IntIntegerQ(List(m,n,p)))),
SetDelayed(TrigSimplifyAux(Times(Power(Csc($p(v)),$p(m,true)),Power(Plus(Times(Power(Cot($p(v)),$p(n,true)),$p(b,true)),Times(Power(Csc($p(v)),$p(n,true)),$p(c,true)),$p(a,true)),$p(p,true)),$p(u,true))),
    Condition(Times(Times(u,Power(Csc(v),Plus(m,Times(n,p)))),Power(Plus(Plus(c,Times(b,Power(Cos(v),n))),Times(a,Power(Sin(v),n))),p)),IntIntegerQ(List(m,n,p)))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Power(Sec($p(v)),$p(n,true)),$p(b,true)),$p(a)),CN1),Power(Tan($p(v)),$p(n,true)),$p(u,true))),
    Condition(Times(u,Times(Power(Sin(v),n),Power(Plus(b,Times(a,Power(Cos(v),n))),CN1))),And(And(IntIntegerQ(n),Greater(n,C0)),NonsumQ(a)))),
SetDelayed(TrigSimplifyAux(Times(Power(Cot($p(v)),$p(n,true)),Power(Plus(Times(Power(Csc($p(v)),$p(n,true)),$p(b,true)),$p(a)),CN1),$p(u,true))),
    Condition(Times(u,Times(Power(Cos(v),n),Power(Plus(b,Times(a,Power(Sin(v),n))),CN1))),And(And(IntIntegerQ(n),Greater(n,C0)),NonsumQ(a)))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Power(Cos($p(v)),$p(n,true)),$p(a,true)),Times(Power(Sin($p(v)),$p(n,true)),$p(b,true))),$p(p)),Power(Sin($p(v)),$p(m,true)))),
    Condition(Power(Plus(b,Times(a,Power(Cot(v),n))),p),And(And(And(IntIntegerQ(List(m,n,p)),Greater(n,C0)),Less(p,C0)),Equal(m,Times(Times(CN1,n),p))))),
SetDelayed(TrigSimplifyAux(Times(Power(Cos($p(v)),$p(m,true)),Power(Plus(Times(Power(Cos($p(v)),$p(n,true)),$p(a,true)),Times(Power(Sin($p(v)),$p(n,true)),$p(b,true))),$p(p)))),
    Condition(Power(Plus(a,Times(b,Power(Tan(v),n))),p),And(And(And(IntIntegerQ(List(m,n,p)),Greater(n,C0)),Less(p,C0)),Equal(m,Times(Times(CN1,n),p))))),
SetDelayed(TrigSimplifyAux(Power(Plus(Times(Cos($p(v)),$p(a,true)),Times(Sin($p(v)),$p(b,true))),$p(n))),
    Condition(Power(Plus(Times(Cos(v),Power(a,CN1)),Times(Sin(v),Power(b,CN1))),Times(CN1,n)),And(And(IntIntegerQ(n),Less(n,C0)),ZeroQ(Plus(Power(a,C2),Power(b,C2)))))),
SetDelayed(TrigSimplifyAux(Plus(Times(Power(Cosh($p(z)),C2),$p(u,true)),Times(Power(Sinh($p(z)),C2),$p(v,true)),$p(w,true))),
    Condition(Plus(u,w),SameQ(u,Times(CN1,v)))),
SetDelayed(TrigSimplifyAux(Plus(Times(Power(Sech($p(z)),C2),$p(u,true)),Times(Power(Tanh($p(z)),C2),$p(v,true)),$p(w,true))),
    Condition(Plus(u,w),SameQ(u,v))),
SetDelayed(TrigSimplifyAux(Plus(Times(Power(Coth($p(z)),C2),$p(u,true)),Times(Power(Csch($p(z)),C2),$p(v,true)),$p(w,true))),
    Condition(Plus(u,w),SameQ(u,Times(CN1,v)))),
SetDelayed(TrigSimplifyAux(Plus(Times(Power(Sinh($p(z)),C2),$p(v,true)),$p(u),$p(w,true))),
    Condition(Plus(Times(u,Power(Cosh(z),C2)),w),SameQ(u,v))),
SetDelayed(TrigSimplifyAux(Plus(Times(Power(Cosh($p(z)),C2),$p(v,true)),$p(u),$p(w,true))),
    Condition(Plus(Times(v,Power(Sinh(z),C2)),w),SameQ(u,Times(CN1,v)))),
SetDelayed(TrigSimplifyAux(Plus(Times(Power(Tanh($p(z)),C2),$p(v,true)),$p(u),$p(w,true))),
    Condition(Plus(Times(u,Power(Sech(z),C2)),w),SameQ(u,Times(CN1,v)))),
SetDelayed(TrigSimplifyAux(Plus(Times(Power(Coth($p(z)),C2),$p(v,true)),$p(u),$p(w,true))),
    Condition(Plus(Times(v,Power(Csch(z),C2)),w),SameQ(u,Times(CN1,v)))),
SetDelayed(TrigSimplifyAux(Plus(Times(Power(Sech($p(z)),C2),$p(v,true)),$p(u),$p(w,true))),
    Condition(Plus(Times(u,Power(Tanh(z),C2)),w),SameQ(u,Times(CN1,v)))),
SetDelayed(TrigSimplifyAux(Plus(Times(Power(Csch($p(z)),C2),$p(v,true)),$p(u),$p(w,true))),
    Condition(Plus(Times(u,Power(Coth(z),C2)),w),SameQ(u,v))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Cosh($p(v)),$p(b,true)),$p(a)),CN1),Power(Sinh($p(v)),C2),$p(u,true))),
    Condition(Times(u,Plus(Times(CN1,Power(a,CN1)),Times(Cosh(v),Power(b,CN1)))),ZeroQ(Plus(Power(a,C2),Times(CN1,Power(b,C2)))))),
SetDelayed(TrigSimplifyAux(Times(Power(Cosh($p(v)),C2),Power(Plus(Times(Sinh($p(v)),$p(b,true)),$p(a)),CN1),$p(u,true))),
    Condition(Times(u,Plus(Power(a,CN1),Times(Sinh(v),Power(b,CN1)))),ZeroQ(Plus(Power(a,C2),Power(b,C2))))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Power(Tanh($p(v)),$p(n,true)),$p(b,true)),$p(a)),CN1),Power(Tanh($p(v)),$p(n,true)),$p(u,true))),
    Condition(Times(u,Power(Plus(b,Times(a,Power(Coth(v),n))),CN1)),And(And(IntIntegerQ(n),Greater(n,C0)),NonsumQ(a)))),
SetDelayed(TrigSimplifyAux(Times(Power(Coth($p(v)),$p(n,true)),Power(Plus(Times(Power(Coth($p(v)),$p(n,true)),$p(b,true)),$p(a)),CN1),$p(u,true))),
    Condition(Times(u,Power(Plus(b,Times(a,Power(Tanh(v),n))),CN1)),And(And(IntIntegerQ(n),Greater(n,C0)),NonsumQ(a)))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Power(Sech($p(v)),$p(n,true)),$p(b,true)),$p(a)),CN1),Power(Sech($p(v)),$p(n,true)),$p(u,true))),
    Condition(Times(u,Power(Plus(b,Times(a,Power(Cosh(v),n))),CN1)),And(And(IntIntegerQ(n),Greater(n,C0)),NonsumQ(a)))),
SetDelayed(TrigSimplifyAux(Times(Power(Csch($p(v)),$p(n,true)),Power(Plus(Times(Power(Csch($p(v)),$p(n,true)),$p(b,true)),$p(a)),CN1),$p(u,true))),
    Condition(Times(u,Power(Plus(b,Times(a,Power(Sinh(v),n))),CN1)),And(And(IntIntegerQ(n),Greater(n,C0)),NonsumQ(a)))),
SetDelayed(TrigSimplifyAux(Power(Plus(Times(Csch($p(v)),$p(a,true)),Times(Coth($p(v)),$p(b,true))),$p(n))),
    Condition(Times(Power(a,n),Power(Coth(Times(C1D2,v)),n)),And(EvenQ(n),ZeroQ(Plus(a,Times(CN1,b)))))),
SetDelayed(TrigSimplifyAux(Power(Plus(Times(Csch($p(v)),$p(a,true)),Times(Coth($p(v)),$p(b,true))),$p(n))),
    Condition(Times(Power(b,n),Power(Tanh(Times(C1D2,v)),n)),And(EvenQ(n),ZeroQ(Plus(a,b))))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Power(Coth($p(v)),$p(n,true)),$p(b,true)),$p(a,true)),$p(p,true)),Power(Sinh($p(v)),$p(m,true)),$p(u,true))),
    Condition(Times(Times(u,Power(Sinh(v),Plus(m,Times(CN1,Times(n,p))))),Power(Plus(Times(b,Power(Cosh(v),n)),Times(a,Power(Sinh(v),n))),p)),IntIntegerQ(List(m,n,p)))),
SetDelayed(TrigSimplifyAux(Times(Power(Cosh($p(v)),$p(m,true)),Power(Plus(Times(Power(Tanh($p(v)),$p(n,true)),$p(b,true)),$p(a,true)),$p(p,true)),$p(u,true))),
    Condition(Times(Times(u,Power(Cosh(v),Plus(m,Times(CN1,Times(n,p))))),Power(Plus(Times(b,Power(Sinh(v),n)),Times(a,Power(Cosh(v),n))),p)),IntIntegerQ(List(m,n,p)))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Power(Tanh($p(v)),C2),$p(b,true)),$p(a,true)),$p(p,true)),Power(Sech($p(v)),$p(m,true)),$p(u))),
    Condition(Times(u,Power(Plus(Times(b,Power(Sinh(v),C2)),Times(a,Power(Cosh(v),C2))),p)),And(IntIntegerQ(List(m,p)),Equal(Plus(m,Times(C2,p)),C0)))),
SetDelayed(TrigSimplifyAux(Times(Power(Csch($p(v)),$p(m,true)),Power(Plus(Times(Power(Coth($p(v)),C2),$p(b,true)),$p(a,true)),$p(p,true)),$p(u))),
    Condition(Times(u,Power(Plus(Times(b,Power(Cosh(v),C2)),Times(a,Power(Sinh(v),C2))),p)),And(IntIntegerQ(List(m,p)),Equal(Plus(m,Times(C2,p)),C0)))),
SetDelayed(TrigSimplifyAux(Times(Power(Cosh($p(v)),$p(m,true)),Power(Plus(Times(Power(Tanh($p(v)),$p(n,true)),$p(b,true)),Times(Power(Sech($p(v)),$p(n,true)),$p(c,true)),$p(a,true)),$p(p,true)),$p(u,true))),
    Condition(Times(Times(u,Power(Cosh(v),Plus(m,Times(CN1,Times(n,p))))),Power(Plus(Plus(c,Times(b,Power(Sinh(v),n))),Times(a,Power(Cosh(v),n))),p)),IntIntegerQ(List(m,n,p)))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Power(Tanh($p(v)),$p(n,true)),$p(b,true)),Times(Power(Sech($p(v)),$p(n,true)),$p(c,true)),$p(a,true)),$p(p,true)),Power(Sech($p(v)),$p(m,true)),$p(u,true))),
    Condition(Times(Times(u,Power(Sech(v),Plus(m,Times(n,p)))),Power(Plus(Plus(c,Times(b,Power(Sinh(v),n))),Times(a,Power(Cosh(v),n))),p)),IntIntegerQ(List(m,n,p)))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Power(Coth($p(v)),$p(n,true)),$p(b,true)),Times(Power(Csch($p(v)),$p(n,true)),$p(c,true)),$p(a,true)),$p(p,true)),Power(Sinh($p(v)),$p(m,true)),$p(u,true))),
    Condition(Times(Times(u,Power(Sinh(v),Plus(m,Times(CN1,Times(n,p))))),Power(Plus(Plus(c,Times(b,Power(Cosh(v),n))),Times(a,Power(Sinh(v),n))),p)),IntIntegerQ(List(m,n,p)))),
SetDelayed(TrigSimplifyAux(Times(Power(Csch($p(v)),$p(m,true)),Power(Plus(Times(Power(Coth($p(v)),$p(n,true)),$p(b,true)),Times(Power(Csch($p(v)),$p(n,true)),$p(c,true)),$p(a,true)),$p(p,true)),$p(u,true))),
    Condition(Times(Times(u,Power(Csch(v),Plus(m,Times(n,p)))),Power(Plus(Plus(c,Times(b,Power(Cosh(v),n))),Times(a,Power(Sinh(v),n))),p)),IntIntegerQ(List(m,n,p)))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Power(Sech($p(v)),$p(n,true)),$p(b,true)),$p(a)),CN1),Power(Tanh($p(v)),$p(n,true)),$p(u,true))),
    Condition(Times(u,Times(Power(Sinh(v),n),Power(Plus(b,Times(a,Power(Cosh(v),n))),CN1))),And(And(IntIntegerQ(n),Greater(n,C0)),NonsumQ(a)))),
SetDelayed(TrigSimplifyAux(Times(Power(Coth($p(v)),$p(n,true)),Power(Plus(Times(Power(Csch($p(v)),$p(n,true)),$p(b,true)),$p(a)),CN1),$p(u,true))),
    Condition(Times(u,Times(Power(Cosh(v),n),Power(Plus(b,Times(a,Power(Sinh(v),n))),CN1))),And(And(IntIntegerQ(n),Greater(n,C0)),NonsumQ(a)))),
SetDelayed(TrigSimplifyAux(Times(Power(Plus(Times(Power(Cosh($p(v)),$p(n,true)),$p(a,true)),Times(Power(Sinh($p(v)),$p(n,true)),$p(b,true))),$p(p)),Power(Sinh($p(v)),$p(m,true)))),
    Condition(Power(Plus(b,Times(a,Power(Coth(v),n))),p),And(And(And(IntIntegerQ(List(m,n,p)),Greater(n,C0)),Less(p,C0)),Equal(m,Times(Times(CN1,n),p))))),
SetDelayed(TrigSimplifyAux(Times(Power(Cosh($p(v)),$p(m,true)),Power(Plus(Times(Power(Cosh($p(v)),$p(n,true)),$p(a,true)),Times(Power(Sinh($p(v)),$p(n,true)),$p(b,true))),$p(p)))),
    Condition(Power(Plus(a,Times(b,Power(Tanh(v),n))),p),And(And(And(IntIntegerQ(List(m,n,p)),Greater(n,C0)),Less(p,C0)),Equal(m,Times(Times(CN1,n),p))))),
SetDelayed(TrigSimplifyAux(Power(Plus(Times(Cosh($p(v)),$p(a,true)),Times(Sinh($p(v)),$p(b,true))),$p(n))),
    Condition(Power(Plus(Times(Cosh(v),Power(a,CN1)),Times(CN1,Times(Sinh(v),Power(b,CN1)))),Times(CN1,n)),And(And(IntIntegerQ(n),Less(n,C0)),ZeroQ(Plus(Power(a,C2),Times(CN1,Power(b,C2))))))),
SetDelayed(TrigSimplifyAux($p(u)),
    u),
SetDelayed(SmartTrigExpand(Times(Sec($p(u)),Sin(Times($p(n),$p(u)))),$p(x,SymbolHead)),
    Condition(Sum(Times(Times(Power(CN1,Plus(k,Times(C1D2,n))),C2),Sin(Times(Plus(Times(C2,k),Times(CN1,C1)),u))),List(k,C1,Times(C1D2,n))),And(And(EvenQ(n),Greater(n,C1)),Not(FreeQ(u,x))))),
SetDelayed(SmartTrigExpand(Times(Sec($p(u)),Sin(Times($p(n),$p(u)))),$p(x,SymbolHead)),
    Condition(Plus(Times(Power(CN1,Times(C1D2,Plus(n,Times(CN1,C1)))),Tan(u)),Sum(Times(Times(Power(CN1,Plus(k,Times(C1D2,Plus(n,Times(CN1,C1))))),C2),Sin(Times(Times(C2,k),u))),List(k,C1,Times(C1D2,Plus(n,Times(CN1,C1)))))),And(And(OddQ(n),Greater(n,C1)),Not(FreeQ(u,x))))),
SetDelayed(SmartTrigExpand(Times(Cos(Times($p(n),$p(u))),Csc($p(u))),$p(x,SymbolHead)),
    Condition(Plus(Csc(u),Times(CN1,Sum(Times(C2,Sin(Times(Plus(Times(C2,k),Times(CN1,C1)),u))),List(k,C1,Times(C1D2,n))))),And(And(EvenQ(n),Greater(n,C1)),Not(FreeQ(u,x))))),
SetDelayed(SmartTrigExpand(Times(Cos(Times($p(n),$p(u))),Csc($p(u))),$p(x,SymbolHead)),
    Condition(Plus(Cot(u),Times(CN1,Sum(Times(C2,Sin(Times(Times(C2,k),u))),List(k,C1,Times(C1D2,Plus(n,Times(CN1,C1))))))),And(And(OddQ(n),Greater(n,C1)),Not(FreeQ(u,x))))),
SetDelayed(SmartTrigExpand(Times(Sech($p(u)),Sinh(Times($p(n),$p(u)))),$p(x,SymbolHead)),
    Condition(Sum(Times(Times(Power(CN1,Plus(k,Times(C1D2,n))),C2),Sinh(Times(Plus(Times(C2,k),Times(CN1,C1)),u))),List(k,C1,Times(C1D2,n))),And(And(EvenQ(n),Greater(n,C1)),Not(FreeQ(u,x))))),
SetDelayed(SmartTrigExpand(Times(Sech($p(u)),Sinh(Times($p(n),$p(u)))),$p(x,SymbolHead)),
    Condition(Plus(Times(Power(CN1,Times(C1D2,Plus(n,Times(CN1,C1)))),Tanh(u)),Sum(Times(Times(Power(CN1,Plus(k,Times(C1D2,Plus(n,Times(CN1,C1))))),C2),Sinh(Times(Times(C2,k),u))),List(k,C1,Times(C1D2,Plus(n,Times(CN1,C1)))))),And(And(OddQ(n),Greater(n,C1)),Not(FreeQ(u,x))))),
SetDelayed(SmartTrigExpand(Times(Cosh(Times($p(n),$p(u))),Csch($p(u))),$p(x,SymbolHead)),
    Condition(Plus(Csch(u),Sum(Times(C2,Sinh(Times(Plus(Times(C2,k),Times(CN1,C1)),u))),List(k,C1,Times(C1D2,n)))),And(And(EvenQ(n),Greater(n,C1)),Not(FreeQ(u,x))))),
SetDelayed(SmartTrigExpand(Times(Cosh(Times($p(n),$p(u))),Csch($p(u))),$p(x,SymbolHead)),
    Condition(Plus(Coth(u),Sum(Times(C2,Sinh(Times(Times(C2,k),u))),List(k,C1,Times(C1D2,Plus(n,Times(CN1,C1)))))),And(And(OddQ(n),Greater(n,C1)),Not(FreeQ(u,x))))),
SetDelayed(SmartTrigExpand(Times(Cosh(Times($p(n),$p(u))),Power(Csch($p(u)),C2)),$p(x,SymbolHead)),
    Condition(Plus(Plus(n,Power(Csch(u),C2)),Sum(Times(Times(C4,Plus(Times(C1D2,n),Times(CN1,k))),Cosh(Times(Times(C2,k),u))),List(k,C1,Times(C1D2,n)))),And(And(EvenQ(n),Greater(n,C1)),Not(FreeQ(u,x))))),
SetDelayed(SmartTrigExpand(Times(Cosh(Times($p(n),$p(u))),Power(Csch($p(u)),C2)),$p(x,SymbolHead)),
    Condition(Plus(Times(Coth(u),Csch(u)),Sum(Times(Times(C4,Plus(Times(C1D2,Plus(n,C1)),Times(CN1,k))),Cosh(Times(Plus(Times(C2,k),Times(CN1,C1)),u))),List(k,C1,Times(C1D2,Plus(n,C1))))),And(And(OddQ(n),Greater(n,C1)),Not(FreeQ(u,x))))),
SetDelayed(SmartTrigExpand(Times(Cosh(Times($p(n),$p(u))),Power(Csch($p(u)),C3)),$p(x,SymbolHead)),
    Condition(Plus(Plus(Times(Plus(Power(n,C2),Times(CN1,C1)),Times(C1D2,Coth(u))),Times(Coth(u),Power(Csch(u),C2))),Sum(Times(Times(integer(8L),Binomial(Plus(Times(C1D2,Plus(n,C1)),Times(CN1,k)),C2)),Sinh(Times(Times(C2,k),u))),List(k,C1,Times(C1D2,Plus(n,Times(CN1,C3)))))),And(And(OddQ(n),Greater(n,C1)),Not(FreeQ(u,x))))),
SetDelayed(SmartTrigExpand(Power($p(u),$p(n)),$p(x,SymbolHead)),
    Condition(Module(List(Set($s("tmp"),SmartTrigExpand(u,x))),Condition(Expand(Power($s("tmp"),n),x),SumQ($s("tmp")))),And(And(NonsumQ(u),IntIntegerQ(n)),Greater(n,C1)))),
SetDelayed(SmartTrigExpand(Times($p(u),$p(v)),$p(x,SymbolHead)),
    Condition(Module(List(Set($s("tmp1"),SmartTrigExpand(u,x)),Set($s("tmp2"),SmartTrigExpand(v,x))),Condition(Distribute(Times($s("tmp1"),$s("tmp2"))),Or(SumQ($s("tmp1")),SumQ($s("tmp2"))))),And(NonsumQ(u),NonsumQ(v)))),
SetDelayed(SmartTrigExpand($p(u),$p(x,SymbolHead)),
    u),
SetDelayed(Simp($p("expn")),
    If(AtomQ($s("expn")),$s("expn"),If(Or(Or(SameQ(Head($s("expn")),$s("If")),SameQ(Head($s("expn")),$s("Int"))),SameQ(Head($s("expn")),$s("Dif"))),$s("expn"),SimpAux(Map($s("Integrate::Simp"),$s("expn")))))),
SetDelayed(SimpAux($p("expn")),
    Condition(Module(List(Set($s("tmp"),ContentFactor($s("expn"))),$s("lst"),Set(i,C1),j),If(UnsameQ($s("tmp"),$s("expn")),CompoundExpression(Set($s("tmp"),Simp($s("tmp"))),If(ProductQ($s("tmp")),ContentFactor($s("tmp")),$s("tmp"))),CompoundExpression(CompoundExpression(CompoundExpression(CompoundExpression(CompoundExpression(Set($s("lst"),Apply($s("List"),$s("expn"))),If(And(And(And(And(And(And(And(And(GreaterEqual(Length($s("lst")),C4),RationalQ(Part($s("lst"),C1))),PowerQ(Part($s("lst"),C2))),RationalQ(Part($s("lst"),C2,C1))),RationalQ(Part($s("lst"),C2,C2))),SqrtNumberSumQ(Part($s("lst"),C3))),PowerQ(Part($s("lst"),C4))),SqrtNumberSumQ(Part($s("lst"),C4,C1))),RationalQ(Part($s("lst"),C4,C2))),Set($s("lst"),Join(List(Part($s("lst"),C3),Part($s("lst"),C4),Part($s("lst"),C1),Part($s("lst"),C2)),Drop($s("lst"),C4))))),If(And(And(And(And(And(And(And(GreaterEqual(Length($s("lst")),C3),PowerQ(Part($s("lst"),C1))),RationalQ(Part($s("lst"),C1,C1))),RationalQ(Part($s("lst"),C1,C2))),SqrtNumberSumQ(Part($s("lst"),C2))),PowerQ(Part($s("lst"),C3))),SqrtNumberSumQ(Part($s("lst"),C3,C1))),RationalQ(Part($s("lst"),C3,C2))),Set($s("lst"),Join(List(Part($s("lst"),C2),Part($s("lst"),C3),Part($s("lst"),C1)),Drop($s("lst"),C3))))),While(True,If(Equal(i,Length($s("lst"))),Break(),CompoundExpression(Set(j,Plus(i,C1)),While(True,If(Greater(j,Length($s("lst"))),CompoundExpression(Increment(i),Break()),CompoundExpression(Set($s("tmp"),SimpProduct(Part($s("lst"),i),Part($s("lst"),j))),If(UnsameQ($s("tmp"),Times(Part($s("lst"),i),Part($s("lst"),j))),If(ProductQ($s("tmp")),CompoundExpression(CompoundExpression(Set(Part($s("lst"),i),First($s("tmp"))),Set(Part($s("lst"),j),Rest($s("tmp")))),Break()),CompoundExpression(CompoundExpression(CompoundExpression(Set(Part($s("lst"),i),$s("tmp")),Set($s("lst"),Delete($s("lst"),j))),Set(i,C1)),Break())),CompoundExpression(Set($s("tmp"),SimpProduct(Part($s("lst"),j),Part($s("lst"),i))),If(UnsameQ($s("tmp"),Times(Part($s("lst"),j),Part($s("lst"),i))),If(ProductQ($s("tmp")),CompoundExpression(CompoundExpression(Set(Part($s("lst"),i),First($s("tmp"))),Set(Part($s("lst"),j),Rest($s("tmp")))),Break()),CompoundExpression(CompoundExpression(CompoundExpression(Set(Part($s("lst"),i),$s("tmp")),Set($s("lst"),Delete($s("lst"),j))),Set(i,C1)),Break())),Increment(j))))))))))),Set($s("tmp"),Apply($s("Times"),$s("lst")))),If(ProductQ($s("tmp")),ContentFactor($s("tmp")),$s("tmp"))))),ProductQ($s("expn")))),
SetDelayed(SimpAux($p("expn")),
    Condition(Module(List(Set($s("lst"),Apply($s("List"),$s("expn"))),Set(i,C1),j,$s("tmp")),CompoundExpression(While(True,If(Equal(i,Length($s("lst"))),Break(),CompoundExpression(Set(j,Plus(i,C1)),While(True,If(Greater(j,Length($s("lst"))),CompoundExpression(Increment(i),Break()),CompoundExpression(Set($s("tmp"),SimpSum(Part($s("lst"),i),Part($s("lst"),j))),If(UnsameQ($s("tmp"),Plus(Part($s("lst"),i),Part($s("lst"),j))),If(SumQ($s("tmp")),CompoundExpression(CompoundExpression(Set(Part($s("lst"),i),First($s("tmp"))),Set(Part($s("lst"),j),Rest($s("tmp")))),Break()),CompoundExpression(CompoundExpression(Set(Part($s("lst"),i),$s("tmp")),Set($s("lst"),Delete($s("lst"),j))),Break())),CompoundExpression(Set($s("tmp"),SimpSum(Part($s("lst"),j),Part($s("lst"),i))),If(UnsameQ($s("tmp"),Plus(Part($s("lst"),j),Part($s("lst"),i))),If(SumQ($s("tmp")),CompoundExpression(CompoundExpression(Set(Part($s("lst"),i),First($s("tmp"))),Set(Part($s("lst"),j),Rest($s("tmp")))),Break()),CompoundExpression(CompoundExpression(Set(Part($s("lst"),i),$s("tmp")),Set($s("lst"),Delete($s("lst"),j))),Break())),Increment(j)))))))))),Apply($s("Plus"),$s("lst")))),SumQ($s("expn")))),
SetDelayed(SimpAux(Power(Plus($p(a),$p(b)),$p(m))),
    Condition(SimpAux(Power(Plus(Times(a,Power(Plus(Power(a,C2),Times(CN1,Power(b,C2))),CN1)),Times(CN1,Times(b,Power(Plus(Power(a,C2),Times(CN1,Power(b,C2))),CN1)))),Times(CN1,m))),And(And(And(IntIntegerQ(m),Less(m,C0)),SqrtNumberQ(a)),SqrtNumberQ(b)))),
SetDelayed(SimpAux(Power($p(u),$p(m))),
    Condition(Expand(Power(u,m)),And(And(IntIntegerQ(m),Greater(m,C0)),SqrtNumberSumQ(u)))),
SetDelayed(SimpAux(Power($p(u),$p(m))),
    Condition(Times(Power(CN1,m),SimpAux(Power(Times(CN1,u),m))),And(And(FractionQ(m),SqrtNumberSumQ(u)),NegativeQ(u)))),
SetDelayed(SimpAux(Power($p(u),$p(m))),
    Condition(SimpAux(Power(Expand(Power(u,Denominator(Power(m,CN1)))),Power(Numerator(Power(m,CN1)),CN1))),And(And(And(FractionQ(m),Greater(Denominator(Power(m,CN1)),C1)),SqrtNumberSumQ(u)),PositiveQ(u)))),
SetDelayed(SimpAux(Power(Plus($p(a),$p(b)),$p(m))),
    Condition(Module(List(Set($s("tmp"),CommonNumericFactors(List(a,b)))),CompoundExpression(Set($s("tmp"),Abs(NumericFactor(Power(Part($s("tmp"),C1),Power(Denominator(m),CN1))))),Condition(Times(Power($s("tmp"),Numerator(m)),SimpAux(Power(Plus(Times(a,Power(Power($s("tmp"),Denominator(m)),CN1)),Times(b,Power(Power($s("tmp"),Denominator(m)),CN1))),m))),Unequal($s("tmp"),C1)))),And(And(And(FractionQ(m),Equal(Denominator(Power(m,CN1)),C1)),SqrtNumberQ(a)),SqrtNumberQ(b)))),
SetDelayed(SimpAux(Power(Plus($p(a),$p(b)),$p(m))),
    Condition(Module(List(Set($s("tmp1"),Abs(Numerator(NumericFactor(Power(Plus(Power(a,C2),Times(CN1,Power(b,C2))),Power(Denominator(m),CN1)))))),$s("tmp2")),CompoundExpression(Set($s("tmp2"),Times(Plus(Power(a,C2),Times(CN1,Power(b,C2))),Power(Power($s("tmp1"),Denominator(m)),CN1))),Condition(Times(Power($s("tmp1"),Numerator(m)),SimpAux(Power(Plus(Times(a,Power($s("tmp2"),CN1)),Times(CN1,Times(b,Power($s("tmp2"),CN1)))),Times(CN1,m)))),And(And(IntIntegerQ(Times(Power(a,C2),Power(Power($s("tmp2"),C2),CN1))),IntIntegerQ(Times(Power(b,C2),Power(Power($s("tmp2"),C2),CN1)))),Or(And(Equal(Power($s("tmp2"),C2),C1),Less(m,C0)),Greater(Power($s("tmp2"),C2),C1)))))),And(And(And(And(And(And(FractionQ(m),Equal(Denominator(Power(m,CN1)),C1)),SqrtNumberQ(a)),SqrtNumberQ(b)),PositiveQ(Plus(Power(a,C2),Times(CN1,Power(b,C2))))),IntIntegerQ(Power(a,C2))),IntIntegerQ(Power(b,C2))))),
SetDelayed(SimpAux(Power(Times(Plus($p(a),$p(b)),$p(c)),$p(m))),
    Condition(SimpAux(Power(Plus(Times(c,a),Times(c,b)),m)),And(And(And(FractionQ(m),SqrtNumberQ(a)),SqrtNumberQ(b)),SqrtNumberQ(c)))),
SetDelayed(SimpAux(Power(Plus($p(a),$p(b)),$p(m))),
    Condition(Module(List(Set(q,Sqrt(Plus(Power(a,C2),Times(CN1,Power(b,C2)))))),Condition(SimpAux(Power(Plus(Sqrt(Times(C1D2,Plus(a,q))),Sqrt(Times(C1D2,Plus(a,Times(CN1,q))))),Times(C2,m))),RationalQ(q))),And(And(And(And(And(EvenQ(Power(m,CN1)),RationalQ(a)),Greater(a,C0)),SqrtNumberQ(b)),PositiveQ(b)),PositiveQ(Plus(Power(a,C2),Times(CN1,Power(b,C2))))))),
SetDelayed(SimpAux(Power(Plus($p(a),$p(b)),$p(m))),
    Condition(Module(List(Set(q,Sqrt(Plus(Power(a,C2),Times(CN1,Power(b,C2)))))),Condition(SimpAux(Power(Plus(Sqrt(Times(C1D2,Plus(a,q))),Times(CN1,Sqrt(Times(C1D2,Plus(a,Times(CN1,q)))))),Times(C2,m))),RationalQ(q))),And(And(And(And(And(EvenQ(Power(m,CN1)),RationalQ(a)),Greater(a,C0)),SqrtNumberQ(b)),NegativeQ(b)),PositiveQ(Plus(Power(a,C2),Times(CN1,Power(b,C2))))))),
SetDelayed(SimpProduct($p(c),Plus($p(a),$p(b))),
    Condition(Plus(Times(c,a),Times(c,b)),And(And(SqrtNumberQ(a),SqrtNumberQ(b)),SqrtNumberQ(c)))),
SetDelayed(SimpProduct($p(c),Power($p(u),$p(m))),
    Condition(Times(CN1,SimpProduct(Times(CN1,c),Power(u,m))),And(And(And(RationalQ(m),SqrtNumberSumQ(u)),SqrtNumberQ(c)),NegativeQ(c)))),
SetDelayed(SimpProduct(Power($p(u),$p(m)),Power($p(v),$p(n))),
    Condition(Times(Power(CN1,m),SimpProduct(Power(Times(CN1,u),m),Power(v,n))),And(And(And(RationalQ(List(m,n)),SqrtNumberSumQ(u)),SqrtNumberSumQ(v)),NegativeQ(u)))),
SetDelayed(SimpProduct($p(c),Power(Plus($p(a),$p(b)),$p(m))),
    Condition(SimpAux(Power(Plus(Times(a,Power(c,Power(m,CN1))),Times(b,Power(c,Power(m,CN1)))),m)),And(And(And(And(And(RationalQ(m),SqrtNumberQ(a)),SqrtNumberQ(b)),SqrtNumberQ(Power(c,Power(m,CN1)))),PositiveQ(c)),Not(RationalQ(c))))),
SetDelayed(SimpProduct(Power($p(u),$p(m)),$p(v)),
    Condition(Module(List(Set($s("gcd"),GCD(m,C1)),w),CompoundExpression(Set(w,Expand(Times(Power(u,Times(m,Power($s("gcd"),CN1))),Power(Times(CN1,v),Power($s("gcd"),CN1))))),Condition(Times(CN1,SimpAux(Power(w,$s("gcd")))),Or(SqrtNumberQ(w),SqrtNumberSumQ(NonnumericFactors(w)))))),And(And(And(And(And(RationalQ(m),Greater(m,C0)),SqrtNumberSumQ(u)),SqrtNumberSumQ(v)),PositiveQ(u)),NegativeQ(v)))),
SetDelayed(SimpProduct(Power($p(u),$p(m)),$p(v)),
    Condition(Module(List(Set($s("gcd"),GCD(m,C1)),w),CompoundExpression(Set(w,Simp(Times(Power(u,Times(m,Power($s("gcd"),CN1))),Power(Times(CN1,v),Power($s("gcd"),CN1))))),Condition(Times(CN1,SimpAux(Power(w,$s("gcd")))),Or(SqrtNumberQ(w),SqrtNumberSumQ(NonnumericFactors(w)))))),And(And(And(And(And(RationalQ(m),Less(m,C0)),SqrtNumberSumQ(u)),SqrtNumberSumQ(v)),PositiveQ(u)),NegativeQ(v))))
  );
}

 

Ads help maintain this website.