From 88e36307fe7bfbc3f809d26afbb7659d61abe17e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 10 Sep 2025 11:21:01 +0000 Subject: [PATCH 01/17] Update rules count badge [skip ci] --- .github/badges/rules-count.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/badges/rules-count.json b/.github/badges/rules-count.json index c7bb5e6..b00c762 100644 --- a/.github/badges/rules-count.json +++ b/.github/badges/rules-count.json @@ -1,6 +1,6 @@ { "schemaVersion": 1, "label": "Total rules", - "message": "3399", + "message": "3400", "color": "blue" } From 39cfce378180bcb5ddfe67b66f55461266b513bd Mon Sep 17 00:00:00 2001 From: Bumblebee00 Date: Fri, 14 Nov 2025 23:03:06 +0100 Subject: [PATCH 02/17] tentative at upgrading to SUv4 --- Project.toml | 4 +- src/methods/risch/frontend.jl | 43 ++++++++++--------- src/methods/rule_based/frontend.jl | 4 +- .../rule_based/rules_utility_functions.jl | 8 ++-- 4 files changed, 30 insertions(+), 29 deletions(-) diff --git a/Project.toml b/Project.toml index 06d02cd..9a54769 100644 --- a/Project.toml +++ b/Project.toml @@ -27,8 +27,8 @@ FresnelIntegrals = "0.2.0" HypergeometricFunctions = "0.3.28" Nemo = "0.51, 0.52" PolyLog = "2.6.0" -SymbolicUtils = "3" -Symbolics = "6" +SymbolicUtils = "4" +Symbolics = "7" julia = "1.10" [extras] diff --git a/src/methods/risch/frontend.jl b/src/methods/risch/frontend.jl index 3233620..55e2dd1 100644 --- a/src/methods/risch/frontend.jl +++ b/src/methods/risch/frontend.jl @@ -160,7 +160,7 @@ function convolution(a::Vector{T}, b::Vector{T}, s::Int; output_size::Int=0) whe c end -function tan2sincos(f::K, arg::SymbolicUtils.Symbolic, vars::Vector, h::Int=0) where +function tan2sincos(f::K, arg::SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal}, vars::Vector, h::Int=0) where {T<:FieldElement, P<:PolyRingElem{T}, K<:FracElem{P}} # This function transforms a Nemo/AbstractAlgebra rational function with # variable t representing tan(arg) to a SymbolicUtils expression which is @@ -269,13 +269,13 @@ end struct UpdatedArgList <: Exception end -function analyze_expr(f, x::SymbolicUtils.Symbolic) +function analyze_expr(f, x::SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal}) tanArgs = [] expArgs = [] restart = true while restart funs = Any[x] - vars = SymbolicUtils.Symbolic[x] + vars = SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal}[x] args = Any[x] try p = analyze_expr(f, funs, vars, args, tanArgs, expArgs) @@ -290,8 +290,9 @@ function analyze_expr(f, x::SymbolicUtils.Symbolic) end end -function analyze_expr(f::SymbolicUtils.Symbolic , funs::Vector, vars::Vector{SymbolicUtils.Symbolic}, +function analyze_expr(f::SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal} , funs::Vector, vars::Vector{SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal}}, args::Vector, tanArgs::Vector, expArgs::Vector) + println("fae called with $f") # Handle pure symbols if SymbolicUtils.issym(f) if hash(f) != hash(funs[1]) @@ -305,12 +306,12 @@ function analyze_expr(f::SymbolicUtils.Symbolic , funs::Vector, vars::Vector{Sym op = operation(f) if op in (+, *, /) # Handle Add, Mul, Div operations - as = arguments(f) + as = [SymbolicUtils.unwrap_const(x) for x in arguments(f)] ps = [analyze_expr(a, funs, vars, args, tanArgs, expArgs) for a in as] return op(ps...) elseif op == (^) # Handle Pow operations - as = arguments(f) + as = [SymbolicUtils.unwrap_const(x) for x in arguments(f)] p1 = analyze_expr(as[1], funs, vars, args, tanArgs, expArgs) p2 = analyze_expr(as[2], funs, vars, args, tanArgs, expArgs) if isa(p2, Integer) @@ -431,21 +432,21 @@ function analyze_expr(f::SymbolicUtils.Symbolic , funs::Vector, vars::Vector{Sym end end -function analyze_expr(f::Number , funs::Vector, vars::Vector{SymbolicUtils.Symbolic}, args::Vector, tanArgs::Vector, expArgs::Vector) +function analyze_expr(f::Number , funs::Vector, vars::Vector{SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal}}, args::Vector, tanArgs::Vector, expArgs::Vector) # TODO distinguish types of number (rational, real, complex, etc. ) return f end # Commented out - these types don't exist in SymbolicUtils 3.x, handled by generic method above # function analyze_expr(f::Union{SymbolicUtils.Add, SymbolicUtils.Mul, SymbolicUtils.Div}, funs::Vector, -# vars::Vector{SymbolicUtils.Symbolic}, args::Vector, tanArgs::Vector, expArgs::Vector) +# vars::Vector{SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal}}, args::Vector, tanArgs::Vector, expArgs::Vector) # as = arguments(f) # ps = [analyze_expr(a, funs, vars, args, tanArgs, expArgs) for a in as] # operation(f)(ps...) # apply f # end # Commented out - SymbolicUtils.Pow doesn't exist in SymbolicUtils 3.x, handled by generic method above -# function analyze_expr(f::SymbolicUtils.Pow, funs::Vector, vars::Vector{SymbolicUtils.Symbolic}, args::Vector, tanArgs::Vector, expArgs::Vector) +# function analyze_expr(f::SymbolicUtils.Pow, funs::Vector, vars::Vector{SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal}}, args::Vector, tanArgs::Vector, expArgs::Vector) # as = arguments(f) # p1 = analyze_expr(as[1], funs, vars, args, tanArgs, expArgs) # p2 = analyze_expr(as[2], funs, vars, args, tanArgs, expArgs) @@ -463,10 +464,10 @@ is_rational_multiple(a::SymbolicUtils.Mul, b::SymbolicUtils.Mul) = a.dict == b.dict && (isa(a.coeff, Integer) || isa(a.coeff, Rational)) && (isa(b.coeff, Integer) || isa(b.coeff, Rational)) -is_rational_multiple(a::SymbolicUtils.Mul, b::SymbolicUtils.Symbolic) = +is_rational_multiple(a::SymbolicUtils.Mul, b::SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal}) = (isa(a.coeff, Integer) || isa(a.coeff, Rational)) && (b in keys(a.dict)) && isone(a.dict[b]) -is_rational_multiple(a::SymbolicUtils.Symbolic, b::SymbolicUtils.Mul) = +is_rational_multiple(a::SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal}, b::SymbolicUtils.Mul) = (isa(b.coeff, Integer) || isa(b.coeff, Rational)) && (a in keys(b.dict)) && isone(b.dict[a]) rational_multiple(a, b) = error("not a rational multiple") @@ -478,14 +479,14 @@ function rational_multiple(a::SymbolicUtils.Mul, b::SymbolicUtils.Mul) a.coeff//b.coeff end -function rational_multiple(a::SymbolicUtils.Mul, b::SymbolicUtils.Symbolic) +function rational_multiple(a::SymbolicUtils.Mul, b::SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal}) if !is_rational_multiple(a, b) error("not a rational multiple") end return a.coeff//1 end -function rational_multiple(a::SymbolicUtils.Symbolic, b::SymbolicUtils.Mul) +function rational_multiple(a::SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal}, b::SymbolicUtils.Mul) if !is_rational_multiple(a, b) error("not a rational multiple") end @@ -510,7 +511,7 @@ function tan_nx(n::Int, x) sign_n*a/b end -function analyze_expr(f::SymbolicUtils.Term , funs::Vector, vars::Vector{SymbolicUtils.Symbolic}, args::Vector, tanArgs::Vector, expArgs::Vector) +function analyze_expr(f::SymbolicUtils.Term , funs::Vector, vars::Vector{SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal}}, args::Vector, tanArgs::Vector, expArgs::Vector) op = operation(f) a = arguments(f)[1] if op == exp @@ -597,7 +598,7 @@ function analyze_expr(f::SymbolicUtils.Term , funs::Vector, vars::Vector{Symboli end # Generic method for SymbolicUtils 3.x - handles all symbolic expressions -function transform_symtree_to_mpoly(f::SymbolicUtils.Symbolic, vars::Vector, vars_mpoly::Vector) +function transform_symtree_to_mpoly(f::SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal}, vars::Vector, vars_mpoly::Vector) # Handle pure symbols if SymbolicUtils.issym(f) i = findfirst(x -> hash(x)==hash(f), vars) @@ -609,17 +610,17 @@ function transform_symtree_to_mpoly(f::SymbolicUtils.Symbolic, vars::Vector, var op = operation(f) if op == (+) # Handle Add operations - return sum([transform_symtree_to_mpoly(a, vars, vars_mpoly) for a in arguments(f)]) + return sum([transform_symtree_to_mpoly(SymbolicUtils.unwrap_const(a), vars, vars_mpoly) for a in arguments(f)]) elseif op == (*) # Handle Mul operations - return prod([transform_symtree_to_mpoly(a, vars, vars_mpoly) for a in arguments(f)]) + return prod([transform_symtree_to_mpoly(SymbolicUtils.unwrap_const(a), vars, vars_mpoly) for a in arguments(f)]) elseif op == (/) # Handle Div operations - as = arguments(f) + as = [SymbolicUtils.unwrap_const(x) for x in arguments(f)] return transform_symtree_to_mpoly(as[1], vars, vars_mpoly)//transform_symtree_to_mpoly(as[2], vars, vars_mpoly) elseif op == (^) # Handle Pow operations - as = arguments(f) + as = [SymbolicUtils.unwrap_const(x) for x in arguments(f)] @assert isa(as[2], Integer) if as[2]>=0 return transform_symtree_to_mpoly(as[1], vars, vars_mpoly)^as[2] @@ -768,7 +769,7 @@ end struct AlgebraicNumbersInvolved <: Exception end -function integrate_risch(f::SymbolicUtils.Add, x::SymbolicUtils.Symbolic; useQQBar::Bool=false, +function integrate_risch(f::SymbolicUtils.Add, x::SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal}; useQQBar::Bool=false, catchNotImplementedError::Bool=true, catchAlgorithmFailedError::Bool=true) # For efficiency compute integral of sum as sum of integrals g = f.coeff*x @@ -779,7 +780,7 @@ function integrate_risch(f::SymbolicUtils.Add, x::SymbolicUtils.Symbolic; useQQB g end -function integrate_risch(f::SymbolicUtils.Symbolic, x::SymbolicUtils.Symbolic; useQQBar::Bool=false, +function integrate_risch(f::SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal}, x::SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal}; useQQBar::Bool=false, catchNotImplementedError::Bool=true, catchAlgorithmFailedError::Bool=true) try p, funs, vars, args = analyze_expr(f, x) diff --git a/src/methods/rule_based/frontend.jl b/src/methods/rule_based/frontend.jl index 8b23e89..a773641 100644 --- a/src/methods/rule_based/frontend.jl +++ b/src/methods/rule_based/frontend.jl @@ -113,5 +113,5 @@ function integrate_rule_based(integrand::Symbolics.Num, int_var::Symbolics.Num; return simplify(repeated_prewalk(∫(integrand,int_var))) end -integrate_rule_based(integrand::SymbolicUtils.BasicSymbolic{Real}, int_var::SymbolicUtils.BasicSymbolic{Real}; kwargs...) = - integrate_rule_based(Num(integrand), Num(int_var); kwargs...) +# integrate_rule_based(integrand::SymbolicUtils.BasicSymbolic{Real}, int_var::SymbolicUtils.BasicSymbolic{Real}; kwargs...) = +# integrate_rule_based(Num(integrand), Num(int_var); kwargs...) diff --git a/src/methods/rule_based/rules_utility_functions.jl b/src/methods/rule_based/rules_utility_functions.jl index 75f9293..e3482fb 100644 --- a/src/methods/rule_based/rules_utility_functions.jl +++ b/src/methods/rule_based/rules_utility_functions.jl @@ -56,7 +56,7 @@ function complexfree(expr) end # to distinguish between symbolic expressions and numbers -s(u) = isa(Symbolics.unwrap(u), Symbolics.Symbolic) +s(u) = isa(Symbolics.unwrap(u), SymbolicUtils.BasicSymbolic) function eq(a, b) !s(a) && !s(b) && return isequal(a, b) @@ -274,9 +274,9 @@ end neg(u) = !pos(u) && !eq(u, 0) # extended denominator -ext_den(u::Union{Num, SymbolicUtils.Symbolic, Rational, Integer}) = denominator(u) +ext_den(u::Union{Num, SymbolicUtils.BasicSymbolic, Rational, Integer}) = denominator(u) ext_den(u) = 1 -ext_num(u::Union{Num, SymbolicUtils.Symbolic, Rational, Integer}) = numerator(u) +ext_num(u::Union{Num, SymbolicUtils.BasicSymbolic, Rational, Integer}) = numerator(u) ext_num(u) = u # IntLinearQ[a,b,c,d,m,n,x] returns True iff (a+b*x)^m*(c+d*x)^n is integrable wrt x in terms of non-hypergeometric functions. @@ -764,7 +764,7 @@ end function perfect_square(expr) expr = Symbolics.unwrap(expr) - !isa(expr, Symbolics.Symbolic) && return sqrt(expr) == floor(sqrt(expr)) + !s(expr) && return sqrt(expr) == floor(sqrt(expr)) !iscall(expr) && return false (operation(expr) === ^) && iseven(arguments(expr)[2]) && return true return false From 0709544e59c199ca630c158ecc488bc16e063c59 Mon Sep 17 00:00:00 2001 From: Bumblebee00 Date: Fri, 14 Nov 2025 22:23:19 +0100 Subject: [PATCH 03/17] added rule2 file --- src/SymbolicIntegration.jl | 1 + src/methods/rule_based/frontend.jl | 1 + src/methods/rule_based/general.jl | 1 + src/methods/rule_based/rule2.jl | 143 ++++++++++++++++++ .../1.1.1 Linear/1.1.1.1 (a+b x)^m.jl | 30 ++++ src/methods/rule_based/rules_loader.jl | 2 +- 6 files changed, 177 insertions(+), 1 deletion(-) create mode 100644 src/methods/rule_based/rule2.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.1 (a+b x)^m.jl diff --git a/src/SymbolicIntegration.jl b/src/SymbolicIntegration.jl index 41ed319..f0300f4 100644 --- a/src/SymbolicIntegration.jl +++ b/src/SymbolicIntegration.jl @@ -22,6 +22,7 @@ include("methods/rule_based/general.jl") include("methods/rule_based/frontend.jl") include("methods/rule_based/rules_utility_functions.jl") include("methods/rule_based/rules_loader.jl") +include("methods/rule_based/rule2.jl") # Add method dispatch system include("methods.jl") diff --git a/src/methods/rule_based/frontend.jl b/src/methods/rule_based/frontend.jl index a773641..88c1d06 100644 --- a/src/methods/rule_based/frontend.jl +++ b/src/methods/rule_based/frontend.jl @@ -10,6 +10,7 @@ function apply_rule(problem) result = nothing for (i, rule) in enumerate(RULES) result = rule(problem) + # result = rule2(rule, problem) if result !== nothing if result===problem VERBOSE && println("Infinite cycle created by rule $(IDENTIFIERS[i]) applied on ", problem) diff --git a/src/methods/rule_based/general.jl b/src/methods/rule_based/general.jl index b09d565..4290d49 100644 --- a/src/methods/rule_based/general.jl +++ b/src/methods/rule_based/general.jl @@ -65,6 +65,7 @@ coshintegral(x::Any) = println("hyperbolic cosine integral Chi(z) function (http # very big arrays containing rules and their identifiers const RULES = SymbolicUtils.Rule[] +# const RULES = Pair{Expr, Expr}[] const IDENTIFIERS = String[] # to use or not the gamma function in integration results diff --git a/src/methods/rule_based/rule2.jl b/src/methods/rule_based/rule2.jl new file mode 100644 index 0000000..c2d2259 --- /dev/null +++ b/src/methods/rule_based/rule2.jl @@ -0,0 +1,143 @@ +# empty Base.ImmutableDict of the correct type +const SymsType = SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal} +const MatchDict = Base.ImmutableDict{Symbol, SymsType} +const NO_MATCHES = MatchDict() # or {Symbol, Union{Symbol, Real}} ? +const FAIL_DICT = MatchDict(:_fail,0) +const op_map = Dict(:+ => 0, :* => 1, :^ => 1) + +""" +data is a symbolic expression, we need to check if respects the rule +rule is a quoted expression, representing part of the rule +matches is the dictionary of the matches found so far + +return value is a ImmutableDict +1) if a mismatch is found, FAIL_DICT is returned. +2) if no mismatch is found but no new matches either (for example in mathcing ^2), the original matches is returned +3) otherwise the dictionary of old + new ones is returned that could look like: +Base.ImmutableDict{Symbol, SymbolicUtils.BasicSymbolicImpl.var"typeof(BasicSymbolicImpl)"{SymReal}}(:x => a, :y => b) + +TODO matches does assigment or mutation? which is faster? +""" +function check_expr_r(data::SymsType, rule::Expr, matches::MatchDict) + # println("Checking ",data," against ",rule,", with matches: ",[m for m in matches]...) + rule.head != :call && error("It happened, rule head is not a call") #it should never happen + # rule is a slot + if rule.head == :call && rule.args[1] == :(~) + if rule.args[2] in keys(matches) # if the slot has already been matched + # check if it mached the same symbolic expression + !isequal(matches[rule.args[2]],data) && return FAIL_DICT::MatchDict + return matches::MatchDict + else # if never been matched + # if there is a predicate rule.args[2] is a expression with :: + if isa(rule.args[2], Expr) + # check it + pred = rule.args[2].args[2] + !eval(pred)(SymbolicUtils.unwrap_const(data)) && return FAIL_DICT + return Base.ImmutableDict(matches, rule.args[2].args[1], data)::MatchDict + end + # if no predicate add match + return Base.ImmutableDict(matches, rule.args[2], data)::MatchDict + end + end + # if there is a deflsot in the arguments + p=findfirst(a->isa(a, Expr) && a.args[1] == :~ && isa(a.args[2], Expr) && a.args[2].args[1] == :!,rule.args[2:end]) + if p!==nothing + # build rule expr without defslot and check it + if p==1 + newr = Expr(:call, rule.args[1], :(~$(rule.args[2].args[2].args[2])), rule.args[3]) + elseif p==2 + newr = Expr(:call, rule.args[1], rule.args[2], :(~$(rule.args[3].args[2].args[2]))) + else + error("defslot error")# it should never happen + end + rv = check_expr_r(data, newr, matches) + rv!==FAIL_DICT && return rv::MatchDict + # if no normal match, check only the non-defslot part of the rule + rv = check_expr_r(data, rule.args[p==1 ? 3 : 2], matches) + # if yes match + rv!==FAIL_DICT && return Base.ImmutableDict(rv, rule.args[p+1].args[2].args[2], get(op_map, rule.args[1], -1))::MatchDict + return FAIL_DICT::MatchDict + else + # rule is a call, check operation and arguments + # - check operation + !iscall(data) && return FAIL_DICT::MatchDict + (Symbol(operation(data)) !== rule.args[1]) && return FAIL_DICT::MatchDict + # - check arguments + arg_data = arguments(data); arg_rule = rule.args[2:end]; + (length(arg_data) != length(arg_rule)) && return FAIL_DICT::MatchDict + if (rule.args[1]===:+) || (rule.args[1]===:*) + # commutative checks + for perm_arg_data in permutations(arg_data) # is the same if done on arg_rule right? + matches_this_perm = ceoaa(perm_arg_data, arg_rule, matches) + matches_this_perm!==FAIL_DICT && return matches_this_perm::MatchDict + # else try with next perm + end + # if all perm failed + return FAIL_DICT::MatchDict + else + # normal checks + return ceoaa(arg_data, arg_rule, matches)::MatchDict + end + end +end + +# check expression of all arguments +function ceoaa(arg_data, arg_rule, matches::MatchDict) + println(typeof(arg_data), typeof(arg_rule)) + for (a, b) in zip(arg_data, arg_rule) + matches = check_expr_r(a, b, matches) + matches===FAIL_DICT && return FAIL_DICT::MatchDict + # else the match has been added (or not added but confirmed) + end + return matches::MatchDict +end + +# for when the rule contains a constant, a literal number +function check_expr_r(data::SymsType, rule::Real, matches::MatchDict) + # println("Checking ",data," against the real ",rule,", with matches: ",[m for m in matches]...) + unw = unwrap_const(data) + if isa(unw, Real) + unw!==rule && return FAIL_DICT::MatchDict + return matches::MatchDict + end + # else always fail + return FAIL_DICT::MatchDict +end + +""" +matches is the dictionary +rhs is the expression to be rewritten into + +TODO investigate foo in rhs not working +""" +function rewrite(matches::MatchDict, rhs::Expr)::SymsType + if rhs.head != :call + error("It happened") #it should never happen + end + # rhs is a slot or defslot + if rhs.head == :call && rhs.args[1] == :(~) + var_name = rhs.args[2] + if haskey(matches, var_name) + return matches[var_name] + else + error("No match found for variable $(var_name)") #it should never happen + end + end + # rhs is a call, reconstruct it + op = eval(rhs.args[1]) + args = SymsType[] + for a in rhs.args[2:end] + push!(args, rewrite(matches, a)) + end + return op(args...) +end + +function rewrite(matches::MatchDict, rhs::Real)::SymsType + return rhs +end + +function rule2(rule::Pair{Expr, Expr}, exp::SymsType)::Union{SymsType, Nothing} + m = check_expr_r(exp, rule.first, NO_MATCHES) + m===FAIL_DICT && return nothing + return rewrite(m, rule.second) +end diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.1 (a+b x)^m.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.1 (a+b x)^m.jl new file mode 100644 index 0000000..199271a --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.1 (a+b x)^m.jl @@ -0,0 +1,30 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.1.1.1 (a+b x)^m *) +("1_1_1_1_1", +:(∫(1/(~x),(~x))) => :(log((~x)))) + +("1_1_1_1_2", +:(∫((~x)^(~!m),(~x))) => :( + !contains_var((~m), (~x)) && + !eq((~m), -1) ? +(~x)^((~m) + 1)⨸((~m) + 1) : nothing)) + +# ("1_1_1_1_3", +# @rule ∫(1/((~a) + (~!b)*(~x)),(~x)) => +# !contains_var((~a), (~b), (~x)) ? +# log((~a) + (~b)*(~x))⨸(~b) : nothing) +# +# ("1_1_1_1_4", +# @rule ∫(((~!a) + (~!b)*(~x))^(~m),(~x)) => +# !contains_var((~a), (~b), (~m), (~x)) && +# !eq((~m), -1) ? +# ((~a) + (~b)*(~x))^((~m) + 1)⨸((~b)*((~m) + 1)) : nothing) +# +# ("1_1_1_1_5", +# @rule ∫(((~!a) + (~!b)*(~u))^(~m),(~x)) => +# !contains_var((~a), (~b), (~m), (~x)) && +# linear((~u), (~x)) && +# !eq((~u), (~x)) ? +# 1⨸ext_coeff.((~u), (~x)^ 1)*int_and_subst(((~a) + (~b)*(~x))^(~m), (~x), (~x), (~u), "1_1_1_1_5") : nothing) +] diff --git a/src/methods/rule_based/rules_loader.jl b/src/methods/rule_based/rules_loader.jl index c770063..05444f1 100644 --- a/src/methods/rule_based/rules_loader.jl +++ b/src/methods/rule_based/rules_loader.jl @@ -31,7 +31,7 @@ function load_rules(rules_paths) println("Loaded $(length(RULES)) rules from $(length(rules_paths)) files.") end -load_rules() = load_rules([joinpath(@__DIR__, "rules/" * f) for f in all_rules_paths]) +load_rules() = load_rules([joinpath(@__DIR__, "rules2/" * f) for f in all_rules_paths]) # greater or equal function to sort identifiers function identifier_ge(id1, id2) From bc647759797a93e05bddfb7c84aec01854ce5c0b Mon Sep 17 00:00:00 2001 From: Bumblebee00 Date: Sat, 15 Nov 2025 00:14:41 +0100 Subject: [PATCH 04/17] fixes --- src/methods/rule_based/frontend.jl | 3 +-- src/methods/rule_based/general.jl | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/methods/rule_based/frontend.jl b/src/methods/rule_based/frontend.jl index 88c1d06..ade5b5c 100644 --- a/src/methods/rule_based/frontend.jl +++ b/src/methods/rule_based/frontend.jl @@ -9,8 +9,7 @@ if not, (original problem, false) function apply_rule(problem) result = nothing for (i, rule) in enumerate(RULES) - result = rule(problem) - # result = rule2(rule, problem) + result = rule2(rule, problem) if result !== nothing if result===problem VERBOSE && println("Infinite cycle created by rule $(IDENTIFIERS[i]) applied on ", problem) diff --git a/src/methods/rule_based/general.jl b/src/methods/rule_based/general.jl index 4290d49..10e156c 100644 --- a/src/methods/rule_based/general.jl +++ b/src/methods/rule_based/general.jl @@ -64,8 +64,7 @@ coshintegral(x::Any) = println("hyperbolic cosine integral Chi(z) function (http @syms ∫(var1,var2) substitute_after_int(var1, var2, var3) # very big arrays containing rules and their identifiers -const RULES = SymbolicUtils.Rule[] -# const RULES = Pair{Expr, Expr}[] +const RULES = Pair{Expr, Expr}[] const IDENTIFIERS = String[] # to use or not the gamma function in integration results @@ -78,7 +77,7 @@ VERBOSE = false const SILENCE = String[] all_rules_paths = [ -"9 Miscellaneous/0.1 Integrand simplification rules.jl" +# "9 Miscellaneous/0.1 Integrand simplification rules.jl" "1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.1 (a+b x)^m.jl" # "1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.2 (a+b x)^m (c+d x)^n.jl" From 2062afc7aa80f1f56cf37fb872c91d3010bdc874 Mon Sep 17 00:00:00 2001 From: Bumblebee00 Date: Sat, 15 Nov 2025 00:14:51 +0100 Subject: [PATCH 05/17] improved rewrite --- src/methods/rule_based/rule2.jl | 50 +++++++++++++++++---------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/src/methods/rule_based/rule2.jl b/src/methods/rule_based/rule2.jl index c2d2259..f1ab261 100644 --- a/src/methods/rule_based/rule2.jl +++ b/src/methods/rule_based/rule2.jl @@ -82,8 +82,8 @@ function check_expr_r(data::SymsType, rule::Expr, matches::MatchDict) end # check expression of all arguments +# TODO add types function ceoaa(arg_data, arg_rule, matches::MatchDict) - println(typeof(arg_data), typeof(arg_rule)) for (a, b) in zip(arg_data, arg_rule) matches = check_expr_r(a, b, matches) matches===FAIL_DICT && return FAIL_DICT::MatchDict @@ -105,39 +105,41 @@ function check_expr_r(data::SymsType, rule::Real, matches::MatchDict) end """ -matches is the dictionary -rhs is the expression to be rewritten into - -TODO investigate foo in rhs not working +recursively traverse the rhs, and if it finds a expression like: +Expr + head: Symbol call + args: Array{Any}((2,)) + 1: Symbol ~ + 2: Symbol m +substitute it with the value found in matches dictionary. """ -function rewrite(matches::MatchDict, rhs::Expr)::SymsType - if rhs.head != :call - error("It happened") #it should never happen - end - # rhs is a slot or defslot +function rewrite(matches::MatchDict, rhs::Expr)::Union{Expr, SymsType} + # println("called rewrite with rhs ", rhs) + # if a expression of a slot, change it with the matches if rhs.head == :call && rhs.args[1] == :(~) var_name = rhs.args[2] if haskey(matches, var_name) - return matches[var_name] + return matches[var_name]::SymsType else error("No match found for variable $(var_name)") #it should never happen end end - # rhs is a call, reconstruct it - op = eval(rhs.args[1]) - args = SymsType[] - for a in rhs.args[2:end] - push!(args, rewrite(matches, a)) - end - return op(args...) + # otherwise call recursively on arguments and then reconstruct expression + args = [rewrite(matches, a) for a in rhs.args] + return Expr(rhs.head, args...)::Expr end -function rewrite(matches::MatchDict, rhs::Real)::SymsType - return rhs -end +# called every time in the rhs::Expr there is a symbol like +# - custom function names (contains_var, ...) +# - normal functions names (+, ^, ...) +# - nothing +rewrite(matches::MatchDict, rhs::Symbol) = rhs::Symbol +# called each time in the rhs there is a real (like +1 or -2) +rewrite(matches::MatchDict, rhs::Real) = rhs::Real function rule2(rule::Pair{Expr, Expr}, exp::SymsType)::Union{SymsType, Nothing} m = check_expr_r(exp, rule.first, NO_MATCHES) - m===FAIL_DICT && return nothing - return rewrite(m, rule.second) -end + m===FAIL_DICT && return nothing::Nothing + r = rewrite(m, rule.second) + return eval(r)::SymsType +end \ No newline at end of file From 3d880ecdd84b4811b731cd777e83a00f56866343 Mon Sep 17 00:00:00 2001 From: Bumblebee00 Date: Sat, 15 Nov 2025 00:21:22 +0100 Subject: [PATCH 06/17] fixed rule printing --- src/methods/rule_based/string_manipulation_helpers.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/methods/rule_based/string_manipulation_helpers.jl b/src/methods/rule_based/string_manipulation_helpers.jl index 8da7d14..d51d9dd 100644 --- a/src/methods/rule_based/string_manipulation_helpers.jl +++ b/src/methods/rule_based/string_manipulation_helpers.jl @@ -369,7 +369,7 @@ function pretty_print_rule(rule, identifier) identifier == "0_1_0" && return "∫( +(a...), x) => sum([ ∫(f, x) for f in a ])" identifier == "0_1_12" && return "∫ a*f(x) dx => a*∫ f(x) dx" - s = string(rule) + s = string(rule.first) *" => "* string(rule.second) # manage conditions if_pos = findfirst("if", s) newline_pos = findfirst("\n", s) From d2b894a3b9d31eb3777ff88b1e58604cff043676 Mon Sep 17 00:00:00 2001 From: Bumblebee00 Date: Sat, 15 Nov 2025 00:25:03 +0100 Subject: [PATCH 07/17] more rules --- .../1.1.1 Linear/1.1.1.1 (a+b x)^m.jl | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.1 (a+b x)^m.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.1 (a+b x)^m.jl index 199271a..4bf7a36 100644 --- a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.1 (a+b x)^m.jl +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.1 (a+b x)^m.jl @@ -10,17 +10,17 @@ file_rules = [ !eq((~m), -1) ? (~x)^((~m) + 1)⨸((~m) + 1) : nothing)) -# ("1_1_1_1_3", -# @rule ∫(1/((~a) + (~!b)*(~x)),(~x)) => -# !contains_var((~a), (~b), (~x)) ? -# log((~a) + (~b)*(~x))⨸(~b) : nothing) -# -# ("1_1_1_1_4", -# @rule ∫(((~!a) + (~!b)*(~x))^(~m),(~x)) => -# !contains_var((~a), (~b), (~m), (~x)) && -# !eq((~m), -1) ? -# ((~a) + (~b)*(~x))^((~m) + 1)⨸((~b)*((~m) + 1)) : nothing) -# +("1_1_1_1_3", +:(∫(1/((~a) + (~!b)*(~x)),(~x))) => :( + !contains_var((~a), (~b), (~x)) ? +log((~a) + (~b)*(~x))⨸(~b) : nothing)) + +("1_1_1_1_4", +:(∫(((~!a) + (~!b)*(~x))^(~m),(~x))) => :( + !contains_var((~a), (~b), (~m), (~x)) && + !eq((~m), -1) ? +((~a) + (~b)*(~x))^((~m) + 1)⨸((~b)*((~m) + 1)) : nothing)) + # ("1_1_1_1_5", # @rule ∫(((~!a) + (~!b)*(~u))^(~m),(~x)) => # !contains_var((~a), (~b), (~m), (~x)) && From 9db404792188ccd91eefda1fafb1b48818cde228 Mon Sep 17 00:00:00 2001 From: Bumblebee00 Date: Sat, 15 Nov 2025 00:25:10 +0100 Subject: [PATCH 08/17] missing import --- src/methods/rule_based/rule2.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/methods/rule_based/rule2.jl b/src/methods/rule_based/rule2.jl index f1ab261..a327a5e 100644 --- a/src/methods/rule_based/rule2.jl +++ b/src/methods/rule_based/rule2.jl @@ -1,3 +1,4 @@ +using Combinatorics: permutations # empty Base.ImmutableDict of the correct type const SymsType = SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal} const MatchDict = Base.ImmutableDict{Symbol, SymsType} From 7d149ffb281f67c58f81846cd3aea3d31821faa0 Mon Sep 17 00:00:00 2001 From: Bumblebee00 Date: Mon, 17 Nov 2025 22:35:08 +0100 Subject: [PATCH 09/17] added some more rules --- src/methods/rule_based/frontend.jl | 8 +- src/methods/rule_based/general.jl | 28 +- src/methods/rule_based/rule2.jl | 12 +- .../1.1.1 Linear/1.1.1.1 (a+b x)^m.jl | 3 + .../1.1.1.2 (a+b x)^m (c+d x)^n.jl | 399 +++++ .../1.1.1.3 (a+b x)^m (c+d x)^n (e+f x)^p.jl | 750 ++++++++++ ...(a+b x)^m (c+d x)^n (e+f x)^p (g+h x)^q.jl | 358 +++++ .../1.1.1.5 P(x) (a+b x)^m (c+d x)^n.jl | 73 + ....1.6 P(x) (a+b x)^m (c+d x)^n (e+f x)^p.jl | 63 + ...(a+b x)^m (c+d x)^n (e+f x)^p (g+h x)^q.jl | 200 +++ .../1.1.2 Quadratic/1.1.2.1 (a+b x^2)^p.jl | 229 +++ .../1.1.2.2 (c x)^m (a+b x^2)^p.jl | 297 ++++ .../1.1.2.3 (a+b x^2)^p (c+d x^2)^q.jl | 471 ++++++ ...1.1.2.4 (e x)^m (a+b x^2)^p (c+d x^2)^q.jl | 578 ++++++++ .../1.1.3 General/1.1.3.1 (a+b x^n)^p.jl | 528 +++++++ .../1.1.3.2 (c x)^m (a+b x^n)^p.jl | 902 ++++++++++++ .../1.1.3.3 (a+b x^n)^p (c+d x^n)^q.jl | 553 +++++++ ...1.1.3.4 (e x)^m (a+b x^n)^p (c+d x^n)^q.jl | 828 +++++++++++ ...3.5 (a+b x^n)^p (c+d x^n)^q (e+f x^n)^r.jl | 320 ++++ ...)^m (a+b x^n)^p (c+d x^n)^q (e+f x^n)^r.jl | 302 ++++ .../1.1.3 General/1.1.3.7 P(x) (a+b x^n)^p.jl | 585 ++++++++ .../1.1.3.8 P(x) (c x)^m (a+b x^n)^p.jl | 299 ++++ .../1.1.4 Improper/1.1.4.1 (a x^j+b x^n)^p.jl | 114 ++ .../1.1.4.2 (c x)^m (a x^j+b x^n)^p.jl | 234 +++ ...4.3 (e x)^m (a x^j+b x^k)^p (c+d x^n)^q.jl | 126 ++ .../1.2.1.1 (a+b x+c x^2)^p.jl | 145 ++ .../1.2.1.2 (d+e x)^m (a+b x+c x^2)^p.jl | 1309 +++++++++++++++++ ...2.1.3 (d+e x)^m (f+g x) (a+b x+c x^2)^p.jl | 783 ++++++++++ ...1.4 (d+e x)^m (f+g x)^n (a+b x+c x^2)^p.jl | 1292 ++++++++++++++++ .../1.2.2.1 (a+b x^2+c x^4)^p.jl | 156 ++ .../1.2.2.2 (d x)^m (a+b x^2+c x^4)^p.jl | 325 ++++ .../1.2.2.3 (d+e x^2)^q (a+b x^2+c x^4)^p.jl | 793 ++++++++++ ...4 (f x)^m (d+e x^2)^q (a+b x^2+c x^4)^p.jl | 801 ++++++++++ .../1.2.2.5 P(x) (a+b x^2+c x^4)^p.jl | 122 ++ .../1.2.3.1 (a+b x^n+c x^(2 n))^p.jl | 98 ++ .../1.3.4 Normalizing algebraic functions.jl | 468 ++++++ ...2.1 (c+d x)^m (a+b (F^(g (e+f x)))^n)^p.jl | 106 ++ ...g (e+f x)))^n (a+b (F^(g (e+f x)))^n)^p.jl | 28 + .../2.3 Miscellaneous exponentials.jl | 772 ++++++++++ .../3.1/3.1.1 (a+b log(c x^n))^p.jl | 40 + .../3.1/3.1.2 (d x)^m (a+b log(c x^n))^p.jl | 74 + .../3.1.3 (d+e x^r)^q (a+b log(c x^n))^p.jl | 154 ++ ... (f x)^m (d+e x^r)^q (a+b log(c x^n))^p.jl | 237 +++ .../3.1/3.1.5 u (a+b log(c x^n))^p.jl | 555 +++++++ ...(A+B log(e ((a+b x) over (c+d x))^n))^p.jl | 209 +++ ...(A+B log(e ((a+b x) over (c+d x))^n))^p.jl | 179 +++ ....3 u log(e (f (a+b x)^p (c+d x)^q)^r)^s.jl | 132 ++ .../3.3 u (a+b log(c (d+e x)^n))^p.jl | 468 ++++++ .../3.4 u (a+b log(c (d+e x^m)^n))^p.jl | 307 ++++ .../3.5 Miscellaneous logarithms.jl | 299 ++++ .../4.1.0/4.1.0.1 (a sin)^m (b trg)^n.jl | 207 +++ .../4.1.0/4.1.0.2 (a trg)^m (b tan)^n.jl | 255 ++++ .../4.1.0/4.1.0.3 (a csc)^m (b sec)^n.jl | 110 ++ .../4.1 Sine/4.1.1/4.1.1.1 (a+b sin)^n.jl | 230 +++ .../4.1.1/4.1.1.2 (g cos)^p (a+b sin)^m.jl | 331 +++++ .../4.1.1/4.1.1.3 (g tan)^p (a+b sin)^m.jl | 214 +++ .../4.1 Sine/4.1.10 (c+d x)^m (a+b sin)^n.jl | 252 ++++ .../4.1.11 (e x)^m (a+b x^n)^p sin.jl | 183 +++ .../4.1.12 (e x)^m (a+b sin(c+d x^n))^p.jl | 667 +++++++++ .../4.1.13 (d+e x)^m sin(a+b x+c x^2)^n.jl | 191 +++ .../4.1.2/4.1.2.1 (a+b sin)^m (c+d sin)^n.jl | 917 ++++++++++++ ...1.2.2 (g cos)^p (a+b sin)^m (c+d sin)^n.jl | 883 +++++++++++ ...1.2.3 (g sin)^p (a+b sin)^m (c+d sin)^n.jl | 320 ++++ ...4.1.3 (a+b sin)^m (c+d sin)^n (A+B sin).jl | 447 ++++++ .../4.1.4.1 (a+b sin)^m (A+B sin+C sin^2).jl | 124 ++ ...+b sin)^m (c+d sin)^n (A+B sin+C sin^2).jl | 401 +++++ .../4.1 Sine/4.1.5 trig^m (a cos+b sin)^n.jl | 333 +++++ .../4.1 Sine/4.1.6 (a+b cos+c sin)^n.jl | 399 +++++ .../4.1.7 (d trig)^m (a+b (c sin)^n)^p.jl | 478 ++++++ .../4.1.9 trig^m (a+b sin^n+c sin^(2 n))^p.jl | 433 ++++++ .../4.3 Tangent/4.3.1.1 (a+b tan)^n.jl | 87 ++ .../4.3.1.2 (d sec)^m (a+b tan)^n.jl | 248 ++++ .../4.3.1.3 (d sin)^m (a+b tan)^n.jl | 49 + .../4.5 Secant/4.5.1.1 (a+b sec)^n.jl | 145 ++ .../4.5.1.2 (d sec)^n (a+b sec)^m.jl | 663 +++++++++ .../4.5.1.3 (d sin)^n (a+b sec)^m.jl | 51 + .../4.5.1.4 (d tan)^n (a+b sec)^m.jl | 169 +++ .../4.5.7 (d trig)^m (a+b (c sec)^n)^p.jl | 281 ++++ .../(a sin(m x) + b cos(n x))^p.pdf | Bin 0 -> 335610 bytes .../4.7.4 (c trig)^m (d trig)^n.jl | 533 +++++++ .../4.7.7 F^(c (a+b x)) trig(d+e x)^n.jl | 356 +++++ .../5.1.1 (a+b arcsin(c x))^n.jl | 39 + .../5.1.2 (d x)^m (a+b arcsin(c x))^n.jl | 99 ++ .../5.3.1 (a+b arctan(c x^n))^p.jl | 77 + .../5.3.2 (d x)^m (a+b arctan(c x^n))^p.jl | 181 +++ .../7.1.1 (a+b arcsinh(c x))^n.jl | 22 + .../7.1.2 (d x)^m (a+b arcsinh(c x))^n.jl | 51 + .../7.1.3 (d+e x^2)^p (a+b arcsinh(c x))^n.jl | 125 ++ ...f x)^m (d+e x^2)^p (a+b arcsinh(c x))^n.jl | 269 ++++ .../7.1.5 u (a+b arcsinh(c x))^n.jl | 267 ++++ ...6 Miscellaneous inverse hyperbolic sine.jl | 130 ++ .../7.2.1 (a+b arccosh(c x))^n.jl | 22 + .../7.2.2 (d x)^m (a+b arccosh(c x))^n.jl | 51 + .../7.2.3 (d+e x^2)^p (a+b arccosh(c x))^n.jl | 185 +++ ...f x)^m (d+e x^2)^p (a+b arccosh(c x))^n.jl | 467 ++++++ .../7.2.5 u (a+b arccosh(c x))^n.jl | 312 ++++ ...Miscellaneous inverse hyperbolic cosine.jl | 142 ++ .../7.3.1 (a+b arctanh(c x^n))^p.jl | 77 + .../7.3.2 (d x)^m (a+b arctanh(c x^n))^p.jl | 181 +++ .../7.3.3 (d+e x)^m (a+b arctanh(c x^n))^p.jl | 143 ++ .../0.1 Integrand simplification rules.jl | 179 +++ test/test_rule2.jl | 14 + 102 files changed, 31082 insertions(+), 20 deletions(-) create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.2 (a+b x)^m (c+d x)^n.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.3 (a+b x)^m (c+d x)^n (e+f x)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.4 (a+b x)^m (c+d x)^n (e+f x)^p (g+h x)^q.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.5 P(x) (a+b x)^m (c+d x)^n.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.6 P(x) (a+b x)^m (c+d x)^n (e+f x)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.7 P(x) (a+b x)^m (c+d x)^n (e+f x)^p (g+h x)^q.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.1 (a+b x^2)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.2 (c x)^m (a+b x^2)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.3 (a+b x^2)^p (c+d x^2)^q.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.4 (e x)^m (a+b x^2)^p (c+d x^2)^q.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.1 (a+b x^n)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.2 (c x)^m (a+b x^n)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.3 (a+b x^n)^p (c+d x^n)^q.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.4 (e x)^m (a+b x^n)^p (c+d x^n)^q.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.5 (a+b x^n)^p (c+d x^n)^q (e+f x^n)^r.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.6 (g x)^m (a+b x^n)^p (c+d x^n)^q (e+f x^n)^r.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.7 P(x) (a+b x^n)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.8 P(x) (c x)^m (a+b x^n)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.4 Improper/1.1.4.1 (a x^j+b x^n)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.4 Improper/1.1.4.2 (c x)^m (a x^j+b x^n)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.4 Improper/1.1.4.3 (e x)^m (a x^j+b x^k)^p (c+d x^n)^q.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.1 Quadratic/1.2.1.1 (a+b x+c x^2)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.1 Quadratic/1.2.1.2 (d+e x)^m (a+b x+c x^2)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.1 Quadratic/1.2.1.3 (d+e x)^m (f+g x) (a+b x+c x^2)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.1 Quadratic/1.2.1.4 (d+e x)^m (f+g x)^n (a+b x+c x^2)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.1 (a+b x^2+c x^4)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.2 (d x)^m (a+b x^2+c x^4)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.3 (d+e x^2)^q (a+b x^2+c x^4)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.4 (f x)^m (d+e x^2)^q (a+b x^2+c x^4)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.5 P(x) (a+b x^2+c x^4)^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.3 General/1.2.3.1 (a+b x^n+c x^(2 n))^p.jl create mode 100644 src/methods/rule_based/rules2/1 Algebraic functions/1.3 Miscellaneous/1.3.4 Normalizing algebraic functions.jl create mode 100644 src/methods/rule_based/rules2/2 Exponentials/2.1 (c+d x)^m (a+b (F^(g (e+f x)))^n)^p.jl create mode 100644 src/methods/rule_based/rules2/2 Exponentials/2.2 (c+d x)^m (F^(g (e+f x)))^n (a+b (F^(g (e+f x)))^n)^p.jl create mode 100644 src/methods/rule_based/rules2/2 Exponentials/2.3 Miscellaneous exponentials.jl create mode 100644 src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.1 (a+b log(c x^n))^p.jl create mode 100644 src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.2 (d x)^m (a+b log(c x^n))^p.jl create mode 100644 src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.3 (d+e x^r)^q (a+b log(c x^n))^p.jl create mode 100644 src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.4 (f x)^m (d+e x^r)^q (a+b log(c x^n))^p.jl create mode 100644 src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.5 u (a+b log(c x^n))^p.jl create mode 100644 src/methods/rule_based/rules2/3 Logarithms/3.2/3.2.1 (f+g x)^m (A+B log(e ((a+b x) over (c+d x))^n))^p.jl create mode 100644 src/methods/rule_based/rules2/3 Logarithms/3.2/3.2.2 (f+g x)^m (h+i x)^q (A+B log(e ((a+b x) over (c+d x))^n))^p.jl create mode 100644 src/methods/rule_based/rules2/3 Logarithms/3.2/3.2.3 u log(e (f (a+b x)^p (c+d x)^q)^r)^s.jl create mode 100644 src/methods/rule_based/rules2/3 Logarithms/3.3 u (a+b log(c (d+e x)^n))^p.jl create mode 100644 src/methods/rule_based/rules2/3 Logarithms/3.4 u (a+b log(c (d+e x^m)^n))^p.jl create mode 100644 src/methods/rule_based/rules2/3 Logarithms/3.5 Miscellaneous logarithms.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.0/4.1.0.1 (a sin)^m (b trg)^n.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.0/4.1.0.2 (a trg)^m (b tan)^n.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.0/4.1.0.3 (a csc)^m (b sec)^n.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.1/4.1.1.1 (a+b sin)^n.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.1/4.1.1.2 (g cos)^p (a+b sin)^m.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.1/4.1.1.3 (g tan)^p (a+b sin)^m.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.10 (c+d x)^m (a+b sin)^n.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.11 (e x)^m (a+b x^n)^p sin.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.12 (e x)^m (a+b sin(c+d x^n))^p.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.13 (d+e x)^m sin(a+b x+c x^2)^n.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.2/4.1.2.1 (a+b sin)^m (c+d sin)^n.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.2/4.1.2.2 (g cos)^p (a+b sin)^m (c+d sin)^n.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.2/4.1.2.3 (g sin)^p (a+b sin)^m (c+d sin)^n.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.3 (a+b sin)^m (c+d sin)^n (A+B sin).jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.4/4.1.4.1 (a+b sin)^m (A+B sin+C sin^2).jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.4/4.1.4.2 (a+b sin)^m (c+d sin)^n (A+B sin+C sin^2).jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.5 trig^m (a cos+b sin)^n.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.6 (a+b cos+c sin)^n.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.7 (d trig)^m (a+b (c sin)^n)^p.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.9 trig^m (a+b sin^n+c sin^(2 n))^p.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.3 Tangent/4.3.1.1 (a+b tan)^n.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.3 Tangent/4.3.1.2 (d sec)^m (a+b tan)^n.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.3 Tangent/4.3.1.3 (d sin)^m (a+b tan)^n.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.1.1 (a+b sec)^n.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.1.2 (d sec)^n (a+b sec)^m.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.1.3 (d sin)^n (a+b sec)^m.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.1.4 (d tan)^n (a+b sec)^m.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.7 (d trig)^m (a+b (c sec)^n)^p.jl create mode 100755 src/methods/rule_based/rules2/4 Trig functions/4.7 Miscellaneous/(a sin(m x) + b cos(n x))^p.pdf create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.7 Miscellaneous/4.7.4 (c trig)^m (d trig)^n.jl create mode 100644 src/methods/rule_based/rules2/4 Trig functions/4.7 Miscellaneous/4.7.7 F^(c (a+b x)) trig(d+e x)^n.jl create mode 100644 src/methods/rule_based/rules2/5 Inverse trig functions/5.1 Inverse sine/5.1.1 (a+b arcsin(c x))^n.jl create mode 100644 src/methods/rule_based/rules2/5 Inverse trig functions/5.1 Inverse sine/5.1.2 (d x)^m (a+b arcsin(c x))^n.jl create mode 100644 src/methods/rule_based/rules2/5 Inverse trig functions/5.3 Inverse tangent/5.3.1 (a+b arctan(c x^n))^p.jl create mode 100644 src/methods/rule_based/rules2/5 Inverse trig functions/5.3 Inverse tangent/5.3.2 (d x)^m (a+b arctan(c x^n))^p.jl create mode 100644 src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.1 (a+b arcsinh(c x))^n.jl create mode 100644 src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.2 (d x)^m (a+b arcsinh(c x))^n.jl create mode 100644 src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.3 (d+e x^2)^p (a+b arcsinh(c x))^n.jl create mode 100644 src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.4 (f x)^m (d+e x^2)^p (a+b arcsinh(c x))^n.jl create mode 100644 src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.5 u (a+b arcsinh(c x))^n.jl create mode 100644 src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.6 Miscellaneous inverse hyperbolic sine.jl create mode 100644 src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.1 (a+b arccosh(c x))^n.jl create mode 100644 src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.2 (d x)^m (a+b arccosh(c x))^n.jl create mode 100644 src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.3 (d+e x^2)^p (a+b arccosh(c x))^n.jl create mode 100644 src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.4 (f x)^m (d+e x^2)^p (a+b arccosh(c x))^n.jl create mode 100644 src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.5 u (a+b arccosh(c x))^n.jl create mode 100644 src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.6 Miscellaneous inverse hyperbolic cosine.jl create mode 100644 src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.3 Inverse hyperbolic tangent/7.3.1 (a+b arctanh(c x^n))^p.jl create mode 100644 src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.3 Inverse hyperbolic tangent/7.3.2 (d x)^m (a+b arctanh(c x^n))^p.jl create mode 100644 src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.3 Inverse hyperbolic tangent/7.3.3 (d+e x)^m (a+b arctanh(c x^n))^p.jl create mode 100644 src/methods/rule_based/rules2/9 Miscellaneous/0.1 Integrand simplification rules.jl create mode 100644 test/test_rule2.jl diff --git a/src/methods/rule_based/frontend.jl b/src/methods/rule_based/frontend.jl index ade5b5c..f2bf219 100644 --- a/src/methods/rule_based/frontend.jl +++ b/src/methods/rule_based/frontend.jl @@ -48,9 +48,13 @@ x^-3 ``` """ function ins(expr) + println("called ins with $expr, ",typeof(expr)) t = (@rule (~u)^(~m) => ~)(expr) - t!==nothing && return SymbolicUtils.Term{Number}(^,[t[:u],-t[:m]]) - return SymbolicUtils.Term{Number}(^,[expr,-1]) + println("t is $t") + t!==nothing && return SymbolicUtils.Term{SymbolicUtils.SymReal}(^,[t[:u],-t[:m]]) + tmp = SymbolicUtils.Term{SymReal}(^,[expr,-1]) + println("the return is $tmp") + return SymbolicUtils.Term{SymbolicUtils.SymReal}(^,[expr,-1]) end # TODO add threaded for speed? diff --git a/src/methods/rule_based/general.jl b/src/methods/rule_based/general.jl index 10e156c..a95d0e4 100644 --- a/src/methods/rule_based/general.jl +++ b/src/methods/rule_based/general.jl @@ -77,22 +77,22 @@ VERBOSE = false const SILENCE = String[] all_rules_paths = [ -# "9 Miscellaneous/0.1 Integrand simplification rules.jl" +"9 Miscellaneous/0.1 Integrand simplification rules.jl" "1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.1 (a+b x)^m.jl" -# "1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.2 (a+b x)^m (c+d x)^n.jl" -# "1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.3 (a+b x)^m (c+d x)^n (e+f x)^p.jl" -# "1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.4 (a+b x)^m (c+d x)^n (e+f x)^p (g+h x)^q.jl" -# -# "1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.1 (a+b x^2)^p.jl" -# "1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.2 (c x)^m (a+b x^2)^p.jl" -# "1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.3 (a+b x^2)^p (c+d x^2)^q.jl" -# "1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.4 (e x)^m (a+b x^2)^p (c+d x^2)^q.jl" +"1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.2 (a+b x)^m (c+d x)^n.jl" +"1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.3 (a+b x)^m (c+d x)^n (e+f x)^p.jl" +"1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.4 (a+b x)^m (c+d x)^n (e+f x)^p (g+h x)^q.jl" +# +"1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.1 (a+b x^2)^p.jl" +"1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.2 (c x)^m (a+b x^2)^p.jl" +"1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.3 (a+b x^2)^p (c+d x^2)^q.jl" +"1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.4 (e x)^m (a+b x^2)^p (c+d x^2)^q.jl" # # 5, 6, 7, 8, 9 # -# "1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.1 (a+b x^n)^p.jl" -# "1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.2 (c x)^m (a+b x^n)^p.jl" -# "1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.3 (a+b x^n)^p (c+d x^n)^q.jl" +"1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.1 (a+b x^n)^p.jl" +"1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.2 (c x)^m (a+b x^n)^p.jl" +"1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.3 (a+b x^n)^p (c+d x^n)^q.jl" # "1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.4 (e x)^m (a+b x^n)^p (c+d x^n)^q.jl" # "1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.5 (a+b x^n)^p (c+d x^n)^q (e+f x^n)^r.jl" # "1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.6 (g x)^m (a+b x^n)^p (c+d x^n)^q (e+f x^n)^r.jl" @@ -120,8 +120,8 @@ all_rules_paths = [ # # 1.4.1, 1.4.2 # # "1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.7 P(x) (a+b x)^m (c+d x)^n (e+f x)^p (g+h x)^q.jl" -# "1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.6 P(x) (a+b x)^m (c+d x)^n (e+f x)^p.jl" -# "1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.5 P(x) (a+b x)^m (c+d x)^n.jl" +"1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.6 P(x) (a+b x)^m (c+d x)^n (e+f x)^p.jl" +"1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.5 P(x) (a+b x)^m (c+d x)^n.jl" # # "1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.5 P(x) (a+b x^2+c x^4)^p.jl" # "1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.4 (f x)^m (d+e x^2)^q (a+b x^2+c x^4)^p.jl" diff --git a/src/methods/rule_based/rule2.jl b/src/methods/rule_based/rule2.jl index a327a5e..5773ec8 100644 --- a/src/methods/rule_based/rule2.jl +++ b/src/methods/rule_based/rule2.jl @@ -1,3 +1,5 @@ +rv = false # rule verbose + using Combinatorics: permutations # empty Base.ImmutableDict of the correct type const SymsType = SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal} @@ -20,7 +22,7 @@ Base.ImmutableDict{Symbol, SymbolicUtils.BasicSymbolicImpl.var"typeof(BasicSymbo TODO matches does assigment or mutation? which is faster? """ function check_expr_r(data::SymsType, rule::Expr, matches::MatchDict) - # println("Checking ",data," against ",rule,", with matches: ",[m for m in matches]...) + rv&&println("Checking ",data," against ",rule,", with matches: ",[m for m in matches]...) rule.head != :call && error("It happened, rule head is not a call") #it should never happen # rule is a slot if rule.head == :call && rule.args[1] == :(~) @@ -83,8 +85,9 @@ function check_expr_r(data::SymsType, rule::Expr, matches::MatchDict) end # check expression of all arguments -# TODO add types -function ceoaa(arg_data, arg_rule, matches::MatchDict) +# elements of arg_rule can be Expr or Real +# TODO types of arg_data ??? +function ceoaa(arg_data, arg_rule::Vector{Any}, matches::MatchDict) for (a, b) in zip(arg_data, arg_rule) matches = check_expr_r(a, b, matches) matches===FAIL_DICT && return FAIL_DICT::MatchDict @@ -114,7 +117,7 @@ Expr 2: Symbol m substitute it with the value found in matches dictionary. """ -function rewrite(matches::MatchDict, rhs::Expr)::Union{Expr, SymsType} +function rewrite(matches::MatchDict, rhs::Expr) # println("called rewrite with rhs ", rhs) # if a expression of a slot, change it with the matches if rhs.head == :call && rhs.args[1] == :(~) @@ -140,6 +143,7 @@ rewrite(matches::MatchDict, rhs::Real) = rhs::Real function rule2(rule::Pair{Expr, Expr}, exp::SymsType)::Union{SymsType, Nothing} m = check_expr_r(exp, rule.first, NO_MATCHES) + rv&&m===FAIL_DICT && println("RULE FAILED MATCH") m===FAIL_DICT && return nothing::Nothing r = rewrite(m, rule.second) return eval(r)::SymsType diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.1 (a+b x)^m.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.1 (a+b x)^m.jl index 4bf7a36..f9b2347 100644 --- a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.1 (a+b x)^m.jl +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.1 (a+b x)^m.jl @@ -1,3 +1,6 @@ +# \((".*?"),\n@rule (∫(.|\n)*?)=>((.|\n)*?: nothing\)) +# ($1,\n:($2) => :($4) + file_rules = [ #(* ::Subsection::Closed:: *) #(* 1.1.1.1 (a+b x)^m *) diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.2 (a+b x)^m (c+d x)^n.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.2 (a+b x)^m (c+d x)^n.jl new file mode 100644 index 0000000..f7de0ad --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.2 (a+b x)^m (c+d x)^n.jl @@ -0,0 +1,399 @@ +# \((".*?"),\n@rule (∫(.|\n)*?)=>((.|\n)*?: nothing\)) +# ($1,\n:($2) => :($4) + +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.1.1.2 (a+b x)^m (c+d x)^n *) +("1_1_1_2_1", +:(∫(((~a) + (~!b)*(~x))^(~!m)*((~c) + (~!d)*(~x)),(~x))) => :( + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + eq((~a)*(~d) - (~b)*(~c)*((~m) + 2), 0) ? +(~d)*(~x)*((~a) + (~b)*(~x))^((~m) + 1)⨸((~b)*((~m) + 2)) : nothing)) + +("1_1_1_2_2", +:(∫(1/(((~a) + (~!b)*(~x))*((~c) + (~!d)*(~x))),(~x))) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) ? +∫(1⨸((~a)*(~c) + (~b)*(~d)*(~x)^2), (~x)) : nothing)) + +("1_1_1_2_3", +:(∫(1/(((~!a) + (~!b)*(~x))*((~!c) + (~!d)*(~x))),(~x))) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +(~b)⨸((~b)*(~c) - (~a)*(~d))*∫(1⨸((~a) + (~b)*(~x)), (~x)) - (~d)⨸((~b)*(~c) - (~a)*(~d))*∫(1⨸((~c) + (~d)*(~x)), (~x)) : nothing)) + +("1_1_1_2_4", +:(∫(((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~n),(~x))) => :( + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~m) + (~n) + 2, 0) && + !eq((~m), -1) ? +((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)⨸(((~b)*(~c) - (~a)*(~d))*((~m) + 1)) : nothing)) + +("1_1_1_2_5", +:(∫(((~a) + (~!b)*(~x))^(~m)*((~c) + (~!d)*(~x))^(~m),(~x))) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + igt((~m) + 1/2, 0) ? +(~x)*((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~m)⨸(2*(~m) + 1) + 2*(~a)*(~c)*(~m)⨸(2*(~m) + 1)*∫(((~a) + (~b)*(~x))^((~m) - 1)*((~c) + (~d)*(~x))^((~m) - 1), (~x)) : nothing)) + +("1_1_1_2_6", +:(∫(1/(((~a) + (~!b)*(~x))^(3//2)*((~c) + (~!d)*(~x))^(3//2)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) ? +(~x)⨸((~a)*(~c)*sqrt((~a) + (~b)*(~x))*sqrt((~c) + (~d)*(~x))) : nothing)) + +("1_1_1_2_7", +:(∫(((~a) + (~!b)*(~x))^(~m)*((~c) + (~!d)*(~x))^(~m),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + ilt((~m) + 3/2, 0) ? +-(~x)*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~m) + 1)⨸(2*(~a)*(~c)*((~m) + 1)) + (2*(~m) + 3)⨸(2*(~a)*(~c)*((~m) + 1))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~m) + 1), (~x)) : nothing)) + +("1_1_1_2_8", +:(∫(((~a) + (~!b)*(~x))^(~!m)*((~c) + (~!d)*(~x))^(~!m),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + ( + ext_isinteger((~m)) || + gt((~a), 0) && + gt((~c), 0) + ) ? +∫(((~a)*(~c) + (~b)*(~d)*(~x)^2)^(~m), (~x)) : nothing)) + +("1_1_1_2_9", +:(∫(((~a) + (~!b)*(~x))^(~m)*((~c) + (~!d)*(~x))^(~m),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + !(ext_isinteger(2*(~m))) ? +((~a) + (~b)*(~x))^ fracpart((~m))*((~c) + (~d)*(~x))^fracpart((~m))⨸((~a)*(~c) + (~b)*(~d)*(~x)^2)^fracpart((~m))* ∫(((~a)*(~c) + (~b)*(~d)*(~x)^2)^(~m), (~x)) : nothing)) + +("1_1_1_2_10", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ilt((~m), -1) && + !(ext_isinteger((~n))) && + gt((~n), 0) ? +((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)⨸((~b)*((~m) + 1)) - (~d)*(~n)⨸((~b)*((~m) + 1))*∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) - 1), (~x)) : nothing)) + +("1_1_1_2_11", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ilt((~m), -1) && + !(ext_isinteger((~n))) && + lt((~n), 0) ? +((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)⨸(((~b)*(~c) - (~a)*(~d))*((~m) + 1)) - (~d)*((~m) + (~n) + 2)⨸(((~b)*(~c) - (~a)*(~d))*((~m) + 1))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n), (~x)) : nothing)) + +("1_1_1_2_12", +:(∫(((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~m), 0) && + ( + !(ext_isinteger((~n))) || + eq((~c), 0) && + le(7*(~m) + 4*(~n) + 4, 0) || + lt(9*(~m) + 5*((~n) + 1), 0) || + gt((~m) + (~n) + 2, 0) + ) ? +∫(ext_expand(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n), (~x)), (~x)) : nothing)) + +("1_1_1_2_13", +:(∫(((~a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ilt((~m), 0) && + ext_isinteger((~n)) && + !( + igt((~n), 0) && + lt((~m) + (~n) + 2, 0) + ) ? +∫(ext_expand(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n), (~x)), (~x)) : nothing)) + +("1_1_1_2_14", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ilt(simplify((~m) + (~n) + 2), 0) && + !eq((~m), -1) && + !( + lt((~m), -1) && + lt((~n), -1) && + ( + eq((~a), 0) || + !eq((~c), 0) && + lt((~m) - (~n), 0) && + ext_isinteger((~n)) + ) + ) && + ( + sumsimpler((~m), 1) || + !(sumsimpler((~n), 1)) + ) ? +((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)⨸(((~b)*(~c) - (~a)*(~d))*((~m) + 1)) - (~d)*simplify((~m) + (~n) + 2)⨸(((~b)*(~c) - (~a)*(~d))*((~m) + 1))* ∫(((~a) + (~b)*(~x))^simplify((~m) + 1)*((~c) + (~d)*(~x))^(~n), (~x)) : nothing)) + +("1_1_1_2_15", +:(∫(1/(((~a) + (~!b)*(~x))^(9//4)*((~c) + (~!d)*(~x))^(1//4)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + neg((~a)^2*(~b)^2) ? +-4⨸(5*(~b)*((~a) + (~b)*(~x))^(5⨸4)*((~c) + (~d)*(~x))^(1⨸4)) - (~d)⨸(5*(~b))*∫(1⨸(((~a) + (~b)*(~x))^(5⨸4)*((~c) + (~d)*(~x))^(5⨸4)), (~x)) : nothing)) + +("1_1_1_2_16", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + gt((~n), 0) && + lt((~m), -1) && + !( + ext_isinteger((~n)) && + !(ext_isinteger((~m))) + ) && + !( + ile((~m) + (~n) + 2, 0) && + ( + isfraction((~m)) || + ge(2*(~n) + (~m) + 1, 0) + ) + ) && + int_linear((~a), (~b), (~c), (~d), (~m), (~n), (~x)) ? +((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)⨸((~b)*((~m) + 1)) - (~d)*(~n)⨸((~b)*((~m) + 1))*∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) - 1), (~x)) : nothing)) + +("1_1_1_2_17", +:(∫(1/(((~a) + (~!b)*(~x))^(5//4)*((~c) + (~!d)*(~x))^(1//4)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + neg((~a)^2*(~b)^2) ? +-2⨸((~b)*((~a) + (~b)*(~x))^(1⨸4)*((~c) + (~d)*(~x))^(1⨸4)) + (~c)*∫(1⨸(((~a) + (~b)*(~x))^(5⨸4)*((~c) + (~d)*(~x))^(5⨸4)), (~x)) : nothing)) + +("1_1_1_2_18", +:(∫(((~a) + (~!b)*(~x))^(~m)*((~c) + (~!d)*(~x))^(~n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + igt((~m) + 1/2, 0) && + igt((~n) + 1/2, 0) && + lt((~m), (~n)) ? +((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)⨸((~b)*((~m) + (~n) + 1)) + 2*(~c)*(~n)⨸((~m) + (~n) + 1)*∫(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^((~n) - 1), (~x)) : nothing)) + +("1_1_1_2_19", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + gt((~n), 0) && + !eq((~m) + (~n) + 1, 0) && + !( + igt((~m), 0) && + ( + !(ext_isinteger((~n))) || + gt((~m), 0) && + lt((~m) - (~n), 0) + ) + ) && + !(ilt((~m) + (~n) + 2, 0)) && + int_linear((~a), (~b), (~c), (~d), (~m), (~n), (~x)) ? +((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)⨸((~b)*((~m) + (~n) + 1)) + (~n)*((~b)*(~c) - (~a)*(~d))⨸((~b)*((~m) + (~n) + 1))* ∫(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^((~n) - 1), (~x)) : nothing)) + +("1_1_1_2_20", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + lt((~m), -1) && + !( + lt((~n), -1) && + ( + eq((~a), 0) || + !eq((~c), 0) && + lt((~m) - (~n), 0) && + ext_isinteger((~n)) + ) + ) && + int_linear((~a), (~b), (~c), (~d), (~m), (~n), (~x)) ? +((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)⨸(((~b)*(~c) - (~a)*(~d))*((~m) + 1)) - (~d)*((~m) + (~n) + 2)⨸(((~b)*(~c) - (~a)*(~d))*((~m) + 1))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n), (~x)) : nothing)) + +("1_1_1_2_21", +:(∫(1/(sqrt((~a) + (~!b)*(~x))*sqrt((~c) + (~!d)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~a) + (~c), 0) && + eq((~b) - (~d), 0) && + gt((~a), 0) ? +acosh((~b)*(~x)⨸(~a))⨸(~b) : nothing)) + +("1_1_1_2_22", +:(∫(1/(sqrt((~a) + (~!b)*(~x))*sqrt((~!c) + (~!d)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b) + (~d), 0) && + gt((~a) + (~c), 0) ? +∫(1⨸sqrt((~a)*(~c) - (~b)*((~a) - (~c))*(~x) - (~b)^2*(~x)^2), (~x)) : nothing)) + +("1_1_1_2_23", +:(∫(1/(sqrt((~!a) + (~!b)*(~x))*sqrt((~!c) + (~!d)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + gt((~b)*(~c) - (~a)*(~d), 0) && + gt((~b), 0) ? +2⨸sqrt((~b))* int_and_subst(1⨸sqrt((~b)*(~c) - (~a)*(~d) + (~d)*(~x)^2), (~x), (~x), sqrt((~a) + (~b)*(~x)), "1_1_1_2_23") : nothing)) + +("1_1_1_2_24", +:(∫(1/(((~!a) + (~!b)*(~x))*((~!c) + (~!d)*(~x))^(1//3)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + pos(((~b)*(~c) - (~a)*(~d))/(~b)) ? +let + q = rt(((~b)*(~c) - (~a)*(~d))⨸(~b), 3) + -log((~a) + (~b)*(~x))⨸(2*(~b)*q) - 3⨸(2*(~b)*q)*int_and_subst(1⨸(rt(((~b)*(~c) - (~a)*(~d))⨸(~b), 3) - (~x)), (~x), (~x), ((~c) + (~d)*(~x))^(1⨸3), "1_1_1_2_24") + 3⨸(2*(~b))* int_and_subst(1⨸(rt(((~b)*(~c) - (~a)*(~d))⨸(~b), 3)^2 + q*(~x) + (~x)^2), (~x), (~x), ((~c) + (~d)*(~x))^(1⨸3), "1_1_1_2_24") +end : nothing)) + +("1_1_1_2_25", +:(∫(1/(((~!a) + (~!b)*(~x))*((~!c) + (~!d)*(~x))^(1//3)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + neg(((~b)*(~c) - (~a)*(~d))/(~b)) ? +log((~a) + (~b)*(~x))⨸(2*(~b)*rt(-((~b)*(~c) - (~a)*(~d))⨸(~b), 3)) - 3⨸(2*(~b)*rt(-((~b)*(~c) - (~a)*(~d))⨸(~b), 3))*int_and_subst(1⨸(rt(-((~b)*(~c) - (~a)*(~d))⨸(~b), 3) + (~x)), (~x), (~x), ((~c) + (~d)*(~x))^(1⨸3), "1_1_1_2_25") + 3⨸(2*(~b))* int_and_subst(1⨸(rt(-((~b)*(~c) - (~a)*(~d))⨸(~b), 3)^2 - rt(-((~b)*(~c) - (~a)*(~d))⨸(~b), 3)*(~x) + (~x)^2), (~x), (~x), ((~c) + (~d)*(~x))^(1⨸3), "1_1_1_2_25") : nothing)) + +("1_1_1_2_26", +:(∫(1/(((~!a) + (~!b)*(~x))*((~!c) + (~!d)*(~x))^(2//3)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + pos(((~b)*(~c) - (~a)*(~d))/(~b)) ? +-log((~a) + (~b)*(~x))⨸(2*(~b)*rt(((~b)*(~c) - (~a)*(~d))⨸(~b), 3)^2) - 3⨸(2*(~b)*rt(((~b)*(~c) - (~a)*(~d))⨸(~b), 3)^2)*int_and_subst(1⨸(rt(((~b)*(~c) - (~a)*(~d))⨸(~b), 3) - (~x)), (~x), (~x), ((~c) + (~d)*(~x))^(1⨸3), "1_1_1_2_26") - 3⨸(2*(~b)*rt(((~b)*(~c) - (~a)*(~d))⨸(~b), 3))* int_and_subst(1⨸(rt(((~b)*(~c) - (~a)*(~d))⨸(~b), 3)^2 + rt(((~b)*(~c) - (~a)*(~d))⨸(~b), 3)*(~x) + (~x)^2), (~x), (~x), ((~c) + (~d)*(~x))^(1⨸3), "1_1_1_2_26") : nothing)) + +("1_1_1_2_27", +:(∫(1/(((~!a) + (~!b)*(~x))*((~!c) + (~!d)*(~x))^(2//3)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + neg(((~b)*(~c) - (~a)*(~d))/(~b)) ? +-log((~a) + (~b)*(~x))⨸(2*(~b)*rt(-((~b)*(~c) - (~a)*(~d))⨸(~b), 3)^2) + 3⨸(2*(~b)*rt(-((~b)*(~c) - (~a)*(~d))⨸(~b), 3)^2)*int_and_subst(1⨸(rt(-((~b)*(~c) - (~a)*(~d))⨸(~b), 3) + (~x)), (~x), (~x), ((~c) + (~d)*(~x))^(1⨸3), "1_1_1_2_27") + 3⨸(2*(~b)*rt(-((~b)*(~c) - (~a)*(~d))⨸(~b), 3))* int_and_subst(1⨸(rt(-((~b)*(~c) - (~a)*(~d))⨸(~b), 3)^2 - rt(-((~b)*(~c) - (~a)*(~d))⨸(~b), 3)*(~x) + (~x)^2), (~x), (~x), ((~c) + (~d)*(~x))^(1⨸3), "1_1_1_2_27") : nothing)) + +("1_1_1_2_28", +:(∫(1/(((~!a) + (~!b)*(~x))^(1//3)*((~!c) + (~!d)*(~x))^(2//3)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + pos((~d)/(~b)) ? +-sqrt(3)*rt((~d)⨸(~b), 3)⨸(~d)* atan(2*rt((~d)⨸(~b), 3)*((~a) + (~b)*(~x))^(1⨸3)⨸(sqrt(3)*((~c) + (~d)*(~x))^(1⨸3)) + 1⨸sqrt(3)) - rt((~d)⨸(~b), 3)⨸(2*(~d))*log((~c) + (~d)*(~x)) - 3*rt((~d)⨸(~b), 3)⨸(2*(~d))*log(rt((~d)⨸(~b), 3)*((~a) + (~b)*(~x))^(1⨸3)⨸((~c) + (~d)*(~x))^(1⨸3) - 1) : nothing)) + +("1_1_1_2_29", +:(∫(1/(((~!a) + (~!b)*(~x))^(1//3)*((~!c) + (~!d)*(~x))^(2//3)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + neg((~d)/(~b)) ? +sqrt(3)*rt(-(~d)⨸(~b), 3)⨸(~d)* atan(1⨸sqrt(3) - 2*rt(-(~d)⨸(~b), 3)*((~a) + (~b)*(~x))^(1⨸3)⨸(sqrt(3)*((~c) + (~d)*(~x))^(1⨸3))) + rt(-(~d)⨸(~b), 3)⨸(2*(~d))*log((~c) + (~d)*(~x)) + 3*rt(-(~d)⨸(~b), 3)⨸(2*(~d))*log(rt(-(~d)⨸(~b), 3)*((~a) + (~b)*(~x))^(1⨸3)⨸((~c) + (~d)*(~x))^(1⨸3) + 1) : nothing)) + +("1_1_1_2_30", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~c) + (~!d)*(~x))^(~m),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + lt(-1, (~m), 0) && + le(3, ext_den((~m)), 4) && + atom((~b)*(~c) + (~a)*(~d)) ? +((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~m)⨸((~a)*(~c) + ((~b)*(~c) + (~a)*(~d))*(~x) + (~b)*(~d)*(~x)^2)^(~m)* ∫(((~a)*(~c) + ((~b)*(~c) + (~a)*(~d))*(~x) + (~b)*(~d)*(~x)^2)^(~m), (~x)) : nothing)) + +("1_1_1_2_31", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~c) + (~!d)*(~x))^(~m),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + lt(-1, (~m), 0) && + le(3, ext_den((~m)), 4) ? +((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~m)⨸(((~a) + (~b)*(~x))*((~c) + (~d)*(~x)))^(~m)* ∫(((~a)*(~c) + ((~b)*(~c) + (~a)*(~d))*(~x) + (~b)*(~d)*(~x)^2)^(~m), (~x)) : nothing)) + +("1_1_1_2_32", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + lt(-1, (~m), 0) && + le(-1, (~n), 0) && + le(ext_den((~n)), ext_den((~m))) && + int_linear((~a), (~b), (~c), (~d), (~m), (~n), (~x)) ? +ext_den((~m))⨸(~b)* int_and_subst((~x)^(ext_den((~m))*((~m) + 1) - 1)*((~c) - (~a)*(~d)⨸(~b) + (~d)*(~x)^ext_den((~m))⨸(~b))^(~n), (~x), (~x), ((~a) + (~b)*(~x))^(1⨸ext_den((~m))), "1_1_1_2_32") : nothing)) + +("1_1_1_2_33", +:(∫(((~!b)*(~x))^(~m)*((~c) + (~!d)*(~x))^(~n),(~x)) ) => :( + !contains_var((~b), (~c), (~d), (~m), (~n), (~x)) && + !(ext_isinteger((~m))) && + ( + ext_isinteger((~n)) || + gt((~c), 0) && + !( + eq((~n), -1/2) && + eq((~c)^2 - (~d)^2, 0) && + gt(-(~d)/((~b)*(~c)), 0) + ) + ) ? +(~c)^(~n)*((~b)*(~x))^((~m) + 1)⨸((~b)*((~m) + 1))* hypergeometric2f1(-(~n), (~m) + 1, (~m) + 2, -(~d)*(~x)⨸(~c)) : nothing)) + +("1_1_1_2_34", +:(∫(((~!b)*(~x))^(~m)*((~c) + (~!d)*(~x))^(~n),(~x)) ) => :( + !contains_var((~b), (~c), (~d), (~m), (~n), (~x)) && + !(ext_isinteger((~n))) && + ( + ext_isinteger((~m)) || + gt(-(~d)/((~b)*(~c)), 0) + ) ? +((~c) + (~d)*(~x))^((~n) + 1)⨸((~d)*((~n) + 1)*(-(~d)⨸((~b)*(~c)))^(~m))* hypergeometric2f1(-(~m), (~n) + 1, (~n) + 2, 1 + (~d)*(~x)⨸(~c)) : nothing)) + +("1_1_1_2_35", +:(∫(((~!b)*(~x))^(~m)*((~c) + (~!d)*(~x))^(~n),(~x)) ) => :( + !contains_var((~b), (~c), (~d), (~m), (~n), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + !(gt((~c), 0)) && + !(gt(-(~d)/((~b)*(~c)), 0)) && + ( + isrational((~m)) && + !( + eq((~n), -1/2) && + eq((~c)^2 - (~d)^2, 0) + ) || + !(isrational((~n))) + ) ? +(~c)^intpart((~n))*((~c) + (~d)*(~x))^fracpart((~n))⨸(1 + (~d)*(~x)⨸(~c))^fracpart((~n))* ∫(((~b)*(~x))^(~m)*(1 + (~d)*(~x)⨸(~c))^(~n), (~x)) : nothing)) + +("1_1_1_2_36", +:(∫(((~!b)*(~x))^(~m)*((~c) + (~!d)*(~x))^(~n),(~x)) ) => :( + !contains_var((~b), (~c), (~d), (~m), (~n), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + !(gt((~c), 0)) && + !(gt(-(~d)/((~b)*(~c)), 0)) ? +(-(~b)*(~c)⨸(~d))^intpart((~m))*((~b)*(~x))^fracpart((~m))⨸(-(~d)*(~x)⨸(~c))^fracpart((~m))* ∫((-(~d)*(~x)⨸(~c))^(~m)*((~c) + (~d)*(~x))^(~n), (~x)) : nothing)) + +("1_1_1_2_37", +:(∫(((~a) + (~!b)*(~x))^(~m::(!ext_isinteger))*((~c) + (~!d)*(~x))^(~n::ext_isinteger),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +((~b)*(~c) - (~a)*(~d))^(~n)*((~a) + (~b)*(~x))^((~m) + 1)⨸((~b)^((~n) + 1)*((~m) + 1))* hypergeometric2f1(-(~n), (~m) + 1, (~m) + 2, -(~d)*((~a) + (~b)*(~x))⨸((~b)*(~c) - (~a)*(~d))) : nothing)) + +("1_1_1_2_38", +:(∫(((~a) + (~!b)*(~x))^(~m)*((~c) + (~!d)*(~x))^(~n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + gt((~b)/((~b)*(~c) - (~a)*(~d)), 0) && + ( + isrational((~m)) || + !( + isrational((~n)) && + gt(-(~d)/((~b)*(~c) - (~a)*(~d)), 0) + ) + ) ? +((~a) + (~b)*(~x))^((~m) + 1)⨸((~b)*((~m) + 1)*((~b)⨸((~b)*(~c) - (~a)*(~d)))^(~n))* hypergeometric2f1(-(~n), (~m) + 1, (~m) + 2, -(~d)*((~a) + (~b)*(~x))⨸((~b)*(~c) - (~a)*(~d))) : nothing)) + +("1_1_1_2_39", +:(∫(((~a) + (~!b)*(~x))^(~m)*((~c) + (~!d)*(~x))^(~n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + ( + isrational((~m)) || + !(simpler((~n) + 1, (~m) + 1)) + ) ? +((~c) + (~d)*(~x))^ fracpart( (~n))⨸(((~b)⨸((~b)*(~c) - (~a)*(~d)))^intpart((~n))*((~b)*((~c) + (~d)*(~x))⨸((~b)*(~c) - (~a)*(~d)))^ fracpart((~n)))* ∫(((~a) + (~b)*(~x))^(~m)*simp((~b)*(~c)⨸((~b)*(~c) - (~a)*(~d)) + (~b)*(~d)*(~x)⨸((~b)*(~c) - (~a)*(~d)), (~x))^(~n), (~x)) : nothing)) + +("1_1_1_2_40", +:(∫(((~!a) + (~!b)*(~u))^(~!m)*((~!c) + (~!d)*(~u))^(~!n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + linear((~u), (~x)) && + !eq(ext_coeff((~u), (~x), 0), 0) ? +1⨸ext_coeff((~u), (~x), 1)* int_and_subst(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n), (~x), (~x), (~u), "1_1_1_2_40") : nothing)) + +#(* IntLinearQ[a,b,c,d,m,n,x] returns True iff (a+b*x)^m*(c+d*x)^n is integrable wrt x in terms of non-hypergeometric functions. *) IntLinearQ[a_, b_, c_, d_, m_, n_, x_] := IGtQ[m, 0] || IGtQ[n, 0] || IntegersQ[3*m, 3*n] || IntegersQ[4*m, 4*n] || IntegersQ[2*m, 6*n] || IntegersQ[6*m, 2*n] || ILtQ[m + n, -1] || IntegerQ[m + n] && RationalQ[m] + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.3 (a+b x)^m (c+d x)^n (e+f x)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.3 (a+b x)^m (c+d x)^n (e+f x)^p.jl new file mode 100644 index 0000000..ec245f9 --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.3 (a+b x)^m (c+d x)^n (e+f x)^p.jl @@ -0,0 +1,750 @@ +file_rules = [ +# (* ::Subsection::Closed:: *) +# (* 1.1.1.3 (a+b x)^m (c+d x)^n (e+f x)^p *) +("1_1_1_3_1", +:(∫(((~a) + (~!b)*(~x))^(~!m)*((~c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~n), (~m)) && + ext_isinteger( (~m)) && + ( + !eq((~m), -1) || + eq((~e), 0) && + ( + eq((~p), 1) || + !(ext_isinteger((~p))) + ) + ) ? +∫(((~a)*(~c) + (~b)*(~d)*(~x)^2)^(~m)*((~e) + (~f)*(~x))^(~p), (~x)) : nothing)) + +("1_1_1_3_2", +:(∫(((~!a) + (~!b)*(~x))*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && + !eq((~n) + (~p) + 2, 0) && + eq((~a)*(~d)*(~f)*((~n) + (~p) + 2) - (~b)*((~d)*(~e)*((~n) + 1) + (~c)*(~f)*((~p) + 1)), 0) ? +(~b)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸((~d)*(~f)*((~n) + (~p) + 2)) : nothing)) + +("1_1_1_3_3", +:(∫(((~a) + (~!b)*(~x))*((~!d)*(~x))^(~!n)*((~e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) && + igt((~p), 0) && + eq((~b)*(~e) + (~a)*(~f), 0) && + !( + ilt((~n) + (~p) + 2, 0) && + gt((~n) + 2*(~p), 0) + ) ? +∫(ext_expand(((~a) + (~b)*(~x))*((~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p), (~x)), (~x)) : nothing)) + +("1_1_1_3_4", +:(∫(((~a) + (~!b)*(~x))*((~!d)*(~x))^(~!n)*((~e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) && + igt((~p), 0) && + ( + !eq((~n), -1) || + eq((~p), 1) + ) && + !eq((~b)*(~e) + (~a)*(~f), 0) && + ( + !(ext_isinteger((~n))) || + lt(9*(~p) + 5*(~n), 0) || + ge((~n) + (~p) + 1, 0) || + ge((~n) + (~p) + 2, 0) && + isrational((~a), (~b), (~d), (~e), (~f)) + ) && + ( + !eq((~n) + (~p) + 3, 0) || + eq((~p), 1) + ) ? +∫(ext_expand(((~a) + (~b)*(~x))*((~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p), (~x)), (~x)) : nothing)) + +("1_1_1_3_5", +:(∫(((~!a) + (~!b)*(~x))*((~c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ( + ilt((~n), 0) && + ilt((~p), 0) || + eq((~p), 1) || + igt((~p), 0) && + ( + !(ext_isinteger((~n))) || + le(9*(~p) + 5*((~n) + 2), 0) || + ge((~n) + (~p) + 1, 0) || + ge((~n) + (~p) + 2, 0) && + isrational((~a), (~b), (~c), (~d), (~e), (~f)) + ) + ) ? +∫(ext_expand(((~a) + (~b)*(~x))*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p), (~x)), (~x)) : nothing)) + +("1_1_1_3_6", +:(∫(((~!a) + (~!b)*(~x))*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + lt((~p), -1) && + ( + !(lt((~n), -1)) || + ext_isinteger((~p)) || + !( + ext_isinteger((~n)) || + !( + eq((~e), 0) || + !( + eq((~c), 0) || + lt((~p), (~n)) + ) + ) + ) + ) ? +-((~b)*(~e) - (~a)*(~f))*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸((~f)*((~p) + 1)*((~c)*(~f) - (~d)*(~e))) - ((~a)*(~d)*(~f)*((~n) + (~p) + 2) - (~b)*((~d)*(~e)*((~n) + 1) + (~c)*(~f)*((~p) + 1)))⨸((~f)*((~p) + 1)*((~c)*(~f) - (~d)*(~e)))* ∫(((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^((~p) + 1), (~x)) : nothing)) + +("1_1_1_3_7", +:(∫(((~!a) + (~!b)*(~x))*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && + !(isrational((~p))) && + sumsimpler((~p), 1) ? +-((~b)*(~e) - (~a)*(~f))*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸((~f)*((~p) + 1)*((~c)*(~f) - (~d)*(~e))) - ((~a)*(~d)*(~f)*((~n) + (~p) + 2) - (~b)*((~d)*(~e)*((~n) + 1) + (~c)*(~f)*((~p) + 1)))⨸((~f)*((~p) + 1)*((~c)*(~f) - (~d)*(~e)))* ∫(((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^simplify((~p) + 1), (~x)) : nothing)) + +("1_1_1_3_8", +:(∫(((~!a) + (~!b)*(~x))*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && + !eq((~n) + (~p) + 2, 0) ? +(~b)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸((~d)*(~f)*((~n) + (~p) + 2)) + ((~a)*(~d)*(~f)*((~n) + (~p) + 2) - (~b)*((~d)*(~e)*((~n) + 1) + (~c)*(~f)*((~p) + 1)))⨸((~d)* (~f)*((~n) + (~p) + 2))*∫(((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p), (~x)) : nothing)) + +("1_1_1_3_9", +:(∫(((~!a) + (~!b)*(~x))^2*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && + !eq((~n) + (~p) + 2, 0) && + !eq((~n) + (~p) + 3, 0) && + eq( (~d)*(~f)*((~n) + (~p) + 2)*((~a)^2*(~d)*(~f)*((~n) + (~p) + 3) - (~b)*((~b)*(~c)*(~e) + (~a)*((~d)*(~e)*((~n) + 1) + (~c)*(~f)*((~p) + 1)))) - (~b)*((~d)*(~e)*((~n) + 1) + (~c)*(~f)*((~p) + 1))*((~a)*(~d)*(~f)*((~n) + (~p) + 4) - (~b)*((~d)*(~e)*((~n) + 2) + (~c)*(~f)*((~p) + 2))), 0) ? +(~b)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)*(2*(~a)*(~d)*(~f)*((~n) + (~p) + 3) - (~b)*((~d)*(~e)*((~n) + 2) + (~c)*(~f)*((~p) + 2)) + (~b)*(~d)*(~f)*((~n) + (~p) + 2)*(~x))⨸((~d)^2* (~f)^2*((~n) + (~p) + 2)*((~n) + (~p) + 3)) : nothing)) + +("1_1_1_3_10", +:(∫(((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n)*((~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~f), (~m), (~n), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~m) - (~n) - 1, 0) && + !(isrational((~p))) && + !(igt((~m), 0)) && + !eq((~m) + (~n) + (~p) + 2, 0) ? +(~a)*∫(((~a) + (~b)*(~x))^(~n)*((~c) + (~d)*(~x))^(~n)*((~f)*(~x))^(~p), (~x)) + (~b)⨸(~f)*∫(((~a) + (~b)*(~x))^(~n)*((~c) + (~d)*(~x))^(~n)*((~f)*(~x))^((~p) + 1), (~x)) : nothing)) + +("1_1_1_3_11", +:(∫(((~!e) + (~!f)*(~x))^(~!p)/(((~!a) + (~!b)*(~x))*((~!c) + (~!d)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + ext_isinteger((~p)) ? +∫(ext_expand(((~e) + (~f)*(~x))^(~p)⨸(((~a) + (~b)*(~x))*((~c) + (~d)*(~x))), (~x)), (~x)) : nothing)) + +("1_1_1_3_12", +:(∫(((~!e) + (~!f)*(~x))^(~p)/(((~!a) + (~!b)*(~x))*((~!c) + (~!d)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + lt(0, (~p), 1) ? +((~b)*(~e) - (~a)*(~f))⨸((~b)*(~c) - (~a)*(~d))*∫(((~e) + (~f)*(~x))^((~p) - 1)⨸((~a) + (~b)*(~x)), (~x)) - ((~d)*(~e) - (~c)*(~f))⨸((~b)*(~c) - (~a)*(~d))*∫(((~e) + (~f)*(~x))^((~p) - 1)⨸((~c) + (~d)*(~x)), (~x)) : nothing)) + +("1_1_1_3_13", +:(∫(((~!e) + (~!f)*(~x))^(~p)/(((~!a) + (~!b)*(~x))*((~!c) + (~!d)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + gt((~p), 1) ? +(~f)*((~e) + (~f)*(~x))^((~p) - 1)⨸((~b)*(~d)*((~p) - 1)) + 1⨸((~b)*(~d))* ∫(((~b)*(~d)*(~e)^2 - (~a)*(~c)*(~f)^2 + (~f)*(2*(~b)*(~d)*(~e) - (~b)*(~c)*(~f) - (~a)*(~d)*(~f))* (~x))*((~e) + (~f)*(~x))^((~p) - 2)⨸(((~a) + (~b)*(~x))*((~c) + (~d)*(~x))), (~x)) : nothing)) + +("1_1_1_3_14", +:(∫(((~!e) + (~!f)*(~x))^(~p)/(((~!a) + (~!b)*(~x))*((~!c) + (~!d)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + lt((~p), -1) ? +(~f)*((~e) + (~f)*(~x))^((~p) + 1)⨸(((~p) + 1)*((~b)*(~e) - (~a)*(~f))*((~d)*(~e) - (~c)*(~f))) + 1⨸(((~b)*(~e) - (~a)*(~f))*((~d)*(~e) - (~c)*(~f)))* ∫(((~b)*(~d)*(~e) - (~b)*(~c)*(~f) - (~a)*(~d)*(~f) - (~b)*(~d)*(~f)*(~x))*((~e) + (~f)*(~x))^((~p) + 1)⨸(((~a) + (~b)*(~x))*((~c) + (~d)*(~x))), (~x)) : nothing)) + +("1_1_1_3_15", +:(∫(((~!e) + (~!f)*(~x))^(~p)/(((~!a) + (~!b)*(~x))*((~!c) + (~!d)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~x)) && + !(ext_isinteger((~p))) ? +(~b)⨸((~b)*(~c) - (~a)*(~d))*∫(((~e) + (~f)*(~x))^(~p)⨸((~a) + (~b)*(~x)), (~x)) - (~d)⨸((~b)*(~c) - (~a)*(~d))*∫(((~e) + (~f)*(~x))^(~p)⨸((~c) + (~d)*(~x)), (~x)) : nothing)) + +("1_1_1_3_16", +:(∫(((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~p)/((~!a) + (~!b)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + igt((~n), 0) && + lt((~p), -1) && + isfraction((~p)) ? +∫(ext_expand(((~e) + (~f)*(~x))^ fracpart((~p)), ((~c) + (~d)*(~x))^ (~n)*((~e) + (~f)*(~x))^intpart((~p))⨸((~a) + (~b)*(~x)), (~x)), (~x)) : nothing)) + +("1_1_1_3_17", +:(∫(((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~x)) && + ext_isinteger((~m), (~n)) && + ( + ext_isinteger((~p)) || + gt((~m), 0) && + ge((~n), -1) + ) ? +∫(ext_expand(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p), (~x)), (~x)) : nothing)) + +("1_1_1_3_18", +:(∫(((~!a) + (~!b)*(~x))^2*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && + ( + lt((~n), -1) || + eq((~n) + (~p) + 3, 0) && + !eq((~n), -1) && + ( + sumsimpler((~n), 1) || + !(sumsimpler((~p), 1)) + ) + ) ? +((~b)*(~c) - (~a)*(~d))^2*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸((~d)^2*((~d)*(~e) - (~c)*(~f))*((~n) + 1)) - 1⨸((~d)^2*((~d)*(~e) - (~c)*(~f))*((~n) + 1))*∫(((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^(~p)* simplify((~a)^2*(~d)^2*(~f)*((~n) + (~p) + 2) + (~b)^2*(~c)*((~d)*(~e)*((~n) + 1) + (~c)*(~f)*((~p) + 1)) - 2*(~a)*(~b)*(~d)*((~d)*(~e)*((~n) + 1) + (~c)*(~f)*((~p) + 1)) - (~b)^2*(~d)*((~d)*(~e) - (~c)*(~f))*((~n) + 1)*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_3_19", +:(∫(((~!a) + (~!b)*(~x))^2*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && + !eq((~n) + (~p) + 3, 0) ? +(~b)*((~a) + (~b)*(~x))*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸((~d)*(~f)*((~n) + (~p) + 3)) + 1⨸((~d)*(~f)*((~n) + (~p) + 3))*∫(((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)* simplify((~a)^2*(~d)*(~f)*((~n) + (~p) + 3) - (~b)*((~b)*(~c)*(~e) + (~a)*((~d)*(~e)*((~n) + 1) + (~c)*(~f)*((~p) + 1))) + (~b)*((~a)*(~d)*(~f)*((~n) + (~p) + 4) - (~b)*((~d)*(~e)*((~n) + 2) + (~c)*(~f)*((~p) + 2)))*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_3_20", +:(∫(1/(((~!a) + (~!b)*(~x))^(1//3)*((~!c) + (~!d)*(~x))^(2//3)*((~!e) + (~!f)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) ? +-sqrt(3)*rt(((~d)*(~e) - (~c)*(~f))⨸((~b)*(~e) - (~a)*(~f)), 3)* atan(1⨸sqrt(3) + 2*rt(((~d)*(~e) - (~c)*(~f))⨸((~b)*(~e) - (~a)*(~f)), 3)*((~a) + (~b)*(~x))^(1⨸3)⨸(sqrt(3)*((~c) + (~d)*(~x))^(1⨸3)))⨸((~d)*(~e) - (~c)*(~f)) + rt(((~d)*(~e) - (~c)*(~f))⨸((~b)*(~e) - (~a)*(~f)), 3)*log((~e) + (~f)*(~x))⨸(2*((~d)*(~e) - (~c)*(~f))) - 3*rt(((~d)*(~e) - (~c)*(~f))⨸((~b)*(~e) - (~a)*(~f)), 3)*log(rt(((~d)*(~e) - (~c)*(~f))⨸((~b)*(~e) - (~a)*(~f)), 3)*((~a) + (~b)*(~x))^(1⨸3) - ((~c) + (~d)*(~x))^(1⨸3))⨸(2*((~d)*(~e) - (~c)*(~f))) : nothing)) + +("1_1_1_3_21", +:(∫(1/(sqrt((~!a) + (~!b)*(~x))*sqrt((~!c) + (~!d)*(~x))*((~!e) + (~!f)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq(2*(~b)*(~d)*(~e) - (~f)*((~b)*(~c) + (~a)*(~d)), 0) ? +(~b)*(~f)*int_and_subst(1⨸((~d)*((~b)*(~e) - (~a)*(~f))^2 + (~b)*(~f)^2*(~x)^2), (~x), (~x), sqrt((~a) + (~b)*(~x))*sqrt((~c) + (~d)*(~x)), "1_1_1_3_21") : nothing)) + +("1_1_1_3_22", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)/((~!e) + (~!f)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~m) + (~n) + 1, 0) && + isrational((~n)) && + lt(-1, (~m), 0) && + simpler((~a) + (~b)*(~x), (~c) + (~d)*(~x)) ? +ext_den((~m))*int_and_subst((~x)^(ext_den((~m))*((~m) + 1) - 1)⨸((~b)*(~e) - (~a)*(~f) - ((~d)*(~e) - (~c)*(~f))*(~x)^ext_den((~m))), (~x), (~x), ((~a) + (~b)*(~x))^(1⨸ext_den((~m)))⨸((~c) + (~d)*(~x))^(1⨸ext_den((~m))), "1_1_1_3_22") : nothing)) + +("1_1_1_3_23", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~p), (~x)) && + eq((~m) + (~n) + (~p) + 2, 0) && + gt((~n), 0) && + ( + sumsimpler((~m), 1) || + !(sumsimpler((~p), 1)) + ) && + !eq((~m), -1) ? +((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^ (~n)*((~e) + (~f)*(~x))^((~p) + 1)⨸(((~m) + 1)*((~b)*(~e) - (~a)*(~f))) - (~n)*((~d)*(~e) - (~c)*(~f))⨸(((~m) + 1)*((~b)*(~e) - (~a)*(~f)))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) - 1)*((~e) + (~f)*(~x))^(~p), (~x)) : nothing)) + +("1_1_1_3_24", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + eq(simplify((~m) + (~n) + (~p) + 3), 0) && + eq((~a)*(~d)*(~f)*((~m) + 1) + (~b)*(~c)*(~f)*((~n) + 1) + (~b)*(~d)*(~e)*((~p) + 1), 0) && + !eq((~m), -1) ? +(~b)*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))) : nothing)) + +("1_1_1_3_25", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + eq(simplify((~m) + (~n) + (~p) + 3), 0) && + ( + lt((~m), -1) || + sumsimpler((~m), 1) + ) ? +(~b)*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))) + ((~a)*(~d)*(~f)*((~m) + 1) + (~b)*(~c)*(~f)*((~n) + 1) + (~b)*(~d)*(~e)*((~p) + 1))⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f)))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p), (~x)) : nothing)) + +("1_1_1_3_26", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + lt((~m), -1) && + gt((~n), 0) && + gt((~p), 0) && + ( + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) || + ext_isinteger((~m), (~n) + (~p)) || + ext_isinteger((~p), (~m) + (~n)) + ) ? +((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)⨸((~b)*((~m) + 1)) - 1⨸((~b)*((~m) + 1))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) - 1)*((~e) + (~f)*(~x))^((~p) - 1)* simplify((~d)*(~e)*(~n) + (~c)*(~f)*(~p) + (~d)*(~f)*((~n) + (~p))*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_3_27", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~x)) && + lt((~m), -1) && + gt((~n), 1) && + ( + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) || + ext_isinteger((~m), (~n) + (~p)) || + ext_isinteger((~p), (~m) + (~n)) + ) ? +((~b)*(~c) - (~a)*(~d))*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) - 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸((~b)*((~b)*(~e) - (~a)*(~f))*((~m) + 1)) + 1⨸((~b)*((~b)*(~e) - (~a)*(~f))*((~m) + 1))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) - 2)*((~e) + (~f)*(~x))^(~p)* simplify((~a)*(~d)*((~d)*(~e)*((~n) - 1) + (~c)*(~f)*((~p) + 1)) + (~b)*(~c)*((~d)*(~e)*((~m) - (~n) + 2) - (~c)*(~f)*((~m) + (~p) + 2)) + (~d)*((~a)*(~d)*(~f)*((~n) + (~p)) + (~b)*((~d)*(~e)*((~m) + 1) - (~c)*(~f)*((~m) + (~n) + (~p) + 1)))*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_3_28", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~x)) && + lt((~m), -1) && + gt((~n), 0) && + ( + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) || + ext_isinteger((~m), (~n) + (~p)) || + ext_isinteger((~p), (~m) + (~n)) + ) ? +((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^ (~n)*((~e) + (~f)*(~x))^((~p) + 1)⨸(((~m) + 1)*((~b)*(~e) - (~a)*(~f))) - 1⨸(((~m) + 1)*((~b)*(~e) - (~a)*(~f)))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) - 1)*((~e) + (~f)*(~x))^(~p)* simplify((~d)*(~e)*(~n) + (~c)*(~f)*((~m) + (~p) + 2) + (~d)*(~f)*((~m) + (~n) + (~p) + 2)*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_3_29", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && + gt((~m), 1) && + !eq((~m) + (~n) + (~p) + 1, 0) && + ext_isinteger((~m)) ? +(~b)*((~a) + (~b)*(~x))^((~m) - 1)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸((~d)* (~f)*((~m) + (~n) + (~p) + 1)) + 1⨸((~d)*(~f)*((~m) + (~n) + (~p) + 1))* ∫(((~a) + (~b)*(~x))^((~m) - 2)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)* simplify((~a)^2*(~d)*(~f)*((~m) + (~n) + (~p) + 1) - (~b)*((~b)*(~c)*(~e)*((~m) - 1) + (~a)*((~d)*(~e)*((~n) + 1) + (~c)*(~f)*((~p) + 1))) + (~b)*((~a)*(~d)*(~f)*(2*(~m) + (~n) + (~p)) - (~b)*((~d)*(~e)*((~m) + (~n)) + (~c)*(~f)*((~m) + (~p))))*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_3_30", +:(∫(((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~x)) && + gt((~m), 0) && + gt((~n), 0) && + !eq((~m) + (~n) + (~p) + 1, 0) && + ( + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) || + ( + ext_isinteger((~m), (~n) + (~p)) || + ext_isinteger((~p), (~m) + (~n)) + ) + ) ? +((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^((~p) + 1)⨸((~f)*((~m) + (~n) + (~p) + 1)) - 1⨸((~f)*((~m) + (~n) + (~p) + 1))* ∫(((~a) + (~b)*(~x))^((~m) - 1)*((~c) + (~d)*(~x))^((~n) - 1)*((~e) + (~f)*(~x))^(~p)* simplify((~c)*(~m)*((~b)*(~e) - (~a)*(~f)) + (~a)*(~n)*((~d)*(~e) - (~c)*(~f)) + ((~d)*(~m)*((~b)*(~e) - (~a)*(~f)) + (~b)*(~n)*((~d)*(~e) - (~c)*(~f)))*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_3_31", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && + gt((~m), 1) && + !eq((~m) + (~n) + (~p) + 1, 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +(~b)*((~a) + (~b)*(~x))^((~m) - 1)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸((~d)* (~f)*((~m) + (~n) + (~p) + 1)) + 1⨸((~d)*(~f)*((~m) + (~n) + (~p) + 1))* ∫(((~a) + (~b)*(~x))^((~m) - 2)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)* simplify((~a)^2*(~d)*(~f)*((~m) + (~n) + (~p) + 1) - (~b)*((~b)*(~c)*(~e)*((~m) - 1) + (~a)*((~d)*(~e)*((~n) + 1) + (~c)*(~f)*((~p) + 1))) + (~b)*((~a)*(~d)*(~f)*(2*(~m) + (~n) + (~p)) - (~b)*((~d)*(~e)*((~m) + (~n)) + (~c)*(~f)*((~m) + (~p))))*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_3_32", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && + ilt((~m), -1) && + ( + ext_isinteger((~n)) || + ext_isinteger(2*(~n), 2*(~p)) || + ilt((~m) + (~n) + (~p) + 3, 0) + ) ? +(~b)*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))) + 1⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f)))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)* simplify((~a)*(~d)*(~f)*((~m) + 1) - (~b)*((~d)*(~e)*((~m) + (~n) + 2) + (~c)*(~f)*((~m) + (~p) + 2)) - (~b)*(~d)*(~f)*((~m) + (~n) + (~p) + 3)*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_3_33", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && + lt((~m), -1) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +(~b)*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))) + 1⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f)))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)* simplify((~a)*(~d)*(~f)*((~m) + 1) - (~b)*((~d)*(~e)*((~m) + (~n) + 2) + (~c)*(~f)*((~m) + (~p) + 2)) - (~b)*(~d)*(~f)*((~m) + (~n) + (~p) + 3)*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_3_34", +:(∫(1/(((~!a) + (~!b)*(~x))*sqrt((~!c) + (~!d)*(~x))*((~!e) + (~!f)*(~x))^(1//4)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + gt(-(~f)/((~d)*(~e) - (~c)*(~f)), 0) ? +-4*int_and_subst((~x)^2⨸(((~b)*(~e) - (~a)*(~f) - (~b)*(~x)^4)*sqrt((~c) - (~d)*(~e)⨸(~f) + (~d)*(~x)^4⨸(~f))), (~x), (~x), ((~e) + (~f)*(~x))^(1⨸4), "1_1_1_3_34") : nothing)) + +("1_1_1_3_35", +:(∫(1/(((~!a) + (~!b)*(~x))*sqrt((~!c) + (~!d)*(~x))*((~!e) + (~!f)*(~x))^(1//4)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !(gt(-(~f)/((~d)*(~e) - (~c)*(~f)), 0)) ? +sqrt(-(~f)*((~c) + (~d)*(~x))⨸((~d)*(~e) - (~c)*(~f)))⨸sqrt((~c) + (~d)*(~x))* ∫(1⨸(((~a) + (~b)*(~x))* sqrt(-(~c)*(~f)⨸((~d)*(~e) - (~c)*(~f)) - (~d)*(~f)*(~x)⨸((~d)*(~e) - (~c)*(~f)))*((~e) + (~f)*(~x))^(1⨸4)), (~x)) : nothing)) + +("1_1_1_3_36", +:(∫(1/(((~!a) + (~!b)*(~x))*sqrt((~!c) + (~!d)*(~x))*((~!e) + (~!f)*(~x))^(3//4)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + gt(-(~f)/((~d)*(~e) - (~c)*(~f)), 0) ? +-4*int_and_subst(1⨸(((~b)*(~e) - (~a)*(~f) - (~b)*(~x)^4)*sqrt((~c) - (~d)*(~e)⨸(~f) + (~d)*(~x)^4⨸(~f))), (~x), (~x), ((~e) + (~f)*(~x))^(1⨸4), "1_1_1_3_36") : nothing)) + +("1_1_1_3_37", +:(∫(1/(((~!a) + (~!b)*(~x))*sqrt((~!c) + (~!d)*(~x))*((~!e) + (~!f)*(~x))^(3//4)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !(gt(-(~f)/((~d)*(~e) - (~c)*(~f)), 0)) ? +sqrt(-(~f)*((~c) + (~d)*(~x))⨸((~d)*(~e) - (~c)*(~f)))⨸sqrt((~c) + (~d)*(~x))* ∫(1⨸(((~a) + (~b)*(~x))* sqrt(-(~c)*(~f)⨸((~d)*(~e) - (~c)*(~f)) - (~d)*(~f)*(~x)⨸((~d)*(~e) - (~c)*(~f)))*((~e) + (~f)*(~x))^(3⨸4)), (~x)) : nothing)) + +("1_1_1_3_38", +:(∫(sqrt((~e) + (~!f)*(~x))/(sqrt((~!b)*(~x))*sqrt((~c) + (~!d)*(~x))),(~x)) ) => :( + !contains_var((~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~d)*(~e) - (~c)*(~f), 0) && + gt((~c), 0) && + gt((~e), 0) && + !(lt(-(~b)/(~d), 0)) ? +2*sqrt((~e))⨸(~b)*rt(-(~b)⨸(~d), 2)* elliptic_e(asin(sqrt((~b)*(~x))⨸(sqrt((~c))*rt(-(~b)⨸(~d), 2))), (~c)*(~f)⨸((~d)*(~e))) : nothing)) + +("1_1_1_3_39", +:(∫(sqrt((~e) + (~!f)*(~x))/(sqrt((~!b)*(~x))*sqrt((~c) + (~!d)*(~x))),(~x)) ) => :( + !contains_var((~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~d)*(~e) - (~c)*(~f), 0) && + gt((~c), 0) && + gt((~e), 0) && + lt(-(~b)/(~d), 0) ? +sqrt(-(~b)*(~x))⨸sqrt((~b)*(~x))* ∫(sqrt((~e) + (~f)*(~x))⨸(sqrt(-(~b)*(~x))*sqrt((~c) + (~d)*(~x))), (~x)) : nothing)) + +("1_1_1_3_40", +:(∫(sqrt((~e) + (~!f)*(~x))/(sqrt((~!b)*(~x))*sqrt((~c) + (~!d)*(~x))),(~x)) ) => :( + !contains_var((~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~d)*(~e) - (~c)*(~f), 0) && + !( + gt((~c), 0) && + gt((~e), 0) + ) ? +sqrt((~e) + (~f)*(~x))*sqrt(1 + (~d)*(~x)⨸(~c))⨸(sqrt((~c) + (~d)*(~x))*sqrt(1 + (~f)*(~x)⨸(~e)))* ∫(sqrt(1 + (~f)*(~x)⨸(~e))⨸(sqrt((~b)*(~x))*sqrt(1 + (~d)*(~x)⨸(~c))), (~x)) : nothing)) + +# (* Int[Sqrt[e_.+f_.*x_]/(Sqrt[a_+b_.*x_]*Sqrt[c_+d_.*x_]),x_Symbol] := f/b*Int[Sqrt[a+b*x]/(Sqrt[c+d*x]*Sqrt[e+f*x]),x] - f/b*Int[1/(Sqrt[a+b*x]*Sqrt[c+d*x]*Sqrt[e+f*x]),x] /; FreeQ[{a,b,c,d,e,f},x] && EqQ[b*e-f*(a-1),0] *) +# (* Int[Sqrt[e_.+f_.*x_]/(Sqrt[a_+b_.*x_]*Sqrt[c_+d_.*x_]),x_Symbol] := 2/b*Rt[-(b*c-a*d)/d,2]*Sqrt[(b*e-a*f)/(b*c-a*d)]* EllipticE[ArcSin[Sqrt[a+b*x]/Rt[-(b*c-a*d)/d,2]],f*(b*c-a*d)/(d*( b*e-a*f))] /; FreeQ[{a,b,c,d,e,f},x] && GtQ[b/(b*c-a*d),0] && GtQ[b/(b*e-a*f),0] && Not[LtQ[-(b*c-a*d)/d,0]] && Not[SimplerQ[c+d*x,a+b*x] && GtQ[-d/(b*c-a*d),0] && GtQ[d/(d*e-c*f),0] && Not[LtQ[(b*c-a*d)/b,0]]] *) +("1_1_1_3_41", +:(∫(sqrt((~!e) + (~!f)*(~x))/(sqrt((~a) + (~!b)*(~x))*sqrt((~c) + (~!d)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + gt((~b)/((~b)*(~c) - (~a)*(~d)), 0) && + gt((~b)/((~b)*(~e) - (~a)*(~f)), 0) && + !(lt(-((~b)*(~c) - (~a)*(~d))/(~d), 0)) && + !( + simpler((~c) + (~d)*(~x), (~a) + (~b)*(~x)) && + gt(-(~d)/((~b)*(~c) - (~a)*(~d)), 0) && + gt((~d)/((~d)*(~e) - (~c)*(~f)), 0) && + !(lt(((~b)*(~c) - (~a)*(~d))/(~b), 0)) + ) ? +2⨸(~b)*rt(-((~b)*(~e) - (~a)*(~f))⨸(~d), 2)* elliptic_e(asin(sqrt((~a) + (~b)*(~x))⨸rt(-((~b)*(~c) - (~a)*(~d))⨸(~d), 2)), (~f)*((~b)*(~c) - (~a)*(~d))⨸((~d)*((~b)*(~e) - (~a)*(~f)))) : nothing)) + +("1_1_1_3_42", +:(∫(sqrt((~!e) + (~!f)*(~x))/(sqrt((~a) + (~!b)*(~x))*sqrt((~c) + (~!d)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !( + gt((~b)/((~b)*(~c) - (~a)*(~d)), 0) && + gt((~b)/((~b)*(~e) - (~a)*(~f)), 0) + ) && + !(lt(-((~b)*(~c) - (~a)*(~d))/(~d), 0)) ? +sqrt((~e) + (~f)*(~x))* sqrt((~b)*((~c) + (~d)*(~x))⨸((~b)*(~c) - (~a)*(~d)))⨸(sqrt((~c) + (~d)*(~x))* sqrt((~b)*((~e) + (~f)*(~x))⨸((~b)*(~e) - (~a)*(~f))))* ∫( sqrt((~b)*(~e)⨸((~b)*(~e) - (~a)*(~f)) + (~b)*(~f)*(~x)⨸((~b)*(~e) - (~a)*(~f)))⨸(sqrt((~a) + (~b)*(~x))* sqrt((~b)*(~c)⨸((~b)*(~c) - (~a)*(~d)) + (~b)*(~d)*(~x)⨸((~b)*(~c) - (~a)*(~d)))), (~x)) : nothing)) + +("1_1_1_3_43", +:(∫(1/(sqrt((~!b)*(~x))*sqrt((~c) + (~!d)*(~x))*sqrt((~e) + (~!f)*(~x))),(~x)) ) => :( + !contains_var((~b), (~c), (~d), (~e), (~f), (~x)) && + gt((~c), 0) && + gt((~e), 0) && + ( + gt(-(~b)/(~d), 0) || + lt(-(~b)/(~f), 0) + ) ? +2⨸((~b)*sqrt((~e)))*rt(-(~b)⨸(~d), 2)* elliptic_f(asin(sqrt((~b)*(~x))⨸(sqrt((~c))*rt(-(~b)⨸(~d), 2))), (~c)*(~f)⨸((~d)*(~e))) : nothing)) + +("1_1_1_3_44", +:(∫(1/(sqrt((~!b)*(~x))*sqrt((~c) + (~!d)*(~x))*sqrt((~e) + (~!f)*(~x))),(~x)) ) => :( + !contains_var((~b), (~c), (~d), (~e), (~f), (~x)) && + gt((~c), 0) && + gt((~e), 0) && + ( + pos(-(~b)/(~d)) || + neg(-(~b)/(~f)) + ) ? +2⨸((~b)*sqrt((~e)))*rt(-(~b)⨸(~d), 2)* elliptic_f(asin(sqrt((~b)*(~x))⨸(sqrt((~c))*rt(-(~b)⨸(~d), 2))), (~c)*(~f)⨸((~d)*(~e))) : nothing)) + +("1_1_1_3_45", +:(∫(1/(sqrt((~!b)*(~x))*sqrt((~c) + (~!d)*(~x))*sqrt((~e) + (~!f)*(~x))),(~x)) ) => :( + !contains_var((~b), (~c), (~d), (~e), (~f), (~x)) && + !( + gt((~c), 0) && + gt((~e), 0) + ) ? +sqrt(1 + (~d)*(~x)⨸(~c))*sqrt(1 + (~f)*(~x)⨸(~e))⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x)))* ∫(1⨸(sqrt((~b)*(~x))*sqrt(1 + (~d)*(~x)⨸(~c))*sqrt(1 + (~f)*(~x)⨸(~e))), (~x)) : nothing)) + +("1_1_1_3_46", +:(∫(1/(sqrt((~a) + (~!b)*(~x))*sqrt((~c) + (~!d)*(~x))*sqrt((~e) + (~!f)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + gt((~d)/(~b), 0) && + gt((~f)/(~b), 0) && + le((~c), (~a)*(~d)/(~b)) && + le((~e), (~a)*(~f)/(~b)) ? +-2*sqrt((~d)⨸(~f))⨸((~d)*rt(-((~b)*(~e) - (~a)*(~f))⨸(~f), 2))* elliptic_f(asin(rt(-((~b)*(~e) - (~a)*(~f))⨸(~f), 2)⨸sqrt((~a) + (~b)*(~x))), (~f)*((~b)*(~c) - (~a)*(~d))⨸((~d)*((~b)*(~e) - (~a)*(~f)))) : nothing)) + +# (* Int[1/(Sqrt[a_+b_.*x_]*Sqrt[c_+d_.*x_]*Sqrt[e_+f_.*x_]),x_Symbol] := -2*Sqrt[c+d*x]*Sqrt[b*(e+f*x)/(f*(a+b*x))]/(d*Rt[-(b*e-a*f)/f,2]* Sqrt[e+f*x]*Sqrt[b*(c+d*x)/(d*(a+b*x))])* EllipticF[ArcSin[Rt[-(b*e-a*f)/f,2]/Sqrt[a+b*x]],f*(b*c-a*d)/(d*( b*e-a*f))] /; FreeQ[{a,b,c,d,e,f},x] && PosQ[-(b*e-a*f)/f] && (* (LtQ[-a/b,-c/d,-e/f] || GtQ[-a/b,-c/d,-e/f]) *) Not[SimplerQ[c+d*x,a+b*x] && (PosQ[(-d*e+c*f)/f] || PosQ[(b*e-a*f)/b])] && Not[SimplerQ[e+f*x,a+b*x] && (PosQ[(b*e-a*f)/b] || PosQ[(b*c-a*d)/b])] *) +("1_1_1_3_47", +:(∫(1/(sqrt((~a) + (~!b)*(~x))*sqrt((~c) + (~!d)*(~x))*sqrt((~e) + (~!f)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + gt(((~b)*(~c) - (~a)*(~d))/(~b), 0) && + gt(((~b)*(~e) - (~a)*(~f))/(~b), 0) && + pos(-(~b)/(~d)) && + !( + simpler((~c) + (~d)*(~x), (~a) + (~b)*(~x)) && + gt(((~d)*(~e) - (~c)*(~f))/(~d), 0) && + gt(-(~d)/(~b), 0) + ) && + !( + simpler((~c) + (~d)*(~x), (~a) + (~b)*(~x)) && + gt((-(~b)*(~e) + (~a)*(~f))/(~f), 0) && + gt(-(~f)/(~b), 0) + ) && + !( + simpler((~e) + (~f)*(~x), (~a) + (~b)*(~x)) && + gt((-(~d)*(~e) + (~c)*(~f))/(~f), 0) && + gt((-(~b)*(~e) + (~a)*(~f))/(~f), 0) && + ( + pos(-(~f)/(~d)) || + pos(-(~f)/(~b)) + ) + ) ? +2*rt(-(~b)⨸(~d), 2)⨸((~b)*sqrt(((~b)*(~e) - (~a)*(~f))⨸(~b)))* elliptic_f(asin(sqrt((~a) + (~b)*(~x))⨸(rt(-(~b)⨸(~d), 2)*sqrt(((~b)*(~c) - (~a)*(~d))⨸(~b)))), (~f)*((~b)*(~c) - (~a)*(~d))⨸((~d)*((~b)*(~e) - (~a)*(~f)))) : nothing)) + +("1_1_1_3_48", +:(∫(1/(sqrt((~a) + (~!b)*(~x))*sqrt((~c) + (~!d)*(~x))*sqrt((~e) + (~!f)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + gt((~b)/((~b)*(~c) - (~a)*(~d)), 0) && + gt((~b)/((~b)*(~e) - (~a)*(~f)), 0) && + simpler((~a) + (~b)*(~x), (~c) + (~d)*(~x)) && + simpler((~a) + (~b)*(~x), (~e) + (~f)*(~x)) && + ( + pos(-((~b)*(~c) - (~a)*(~d))/(~d)) || + neg(-((~b)*(~e) - (~a)*(~f))/(~f)) + ) ? +2*rt(-(~b)⨸(~d), 2)⨸((~b)*sqrt(((~b)*(~e) - (~a)*(~f))⨸(~b)))* elliptic_f(asin(sqrt((~a) + (~b)*(~x))⨸(rt(-(~b)⨸(~d), 2)*sqrt(((~b)*(~c) - (~a)*(~d))⨸(~b)))), (~f)*((~b)*(~c) - (~a)*(~d))⨸((~d)*((~b)*(~e) - (~a)*(~f)))) : nothing)) + +# (* && PosQ[-b/d] add to the end of previous rule *) +("1_1_1_3_49", +:(∫(1/(sqrt((~a) + (~!b)*(~x))*sqrt((~c) + (~!d)*(~x))*sqrt((~e) + (~!f)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !(gt(((~b)*(~c) - (~a)*(~d))/(~b), 0)) && + simpler((~a) + (~b)*(~x), (~c) + (~d)*(~x)) && + simpler((~a) + (~b)*(~x), (~e) + (~f)*(~x)) ? +sqrt((~b)*((~c) + (~d)*(~x))⨸((~b)*(~c) - (~a)*(~d)))⨸sqrt((~c) + (~d)*(~x))* ∫(1⨸(sqrt((~a) + (~b)*(~x))*sqrt((~b)*(~c)⨸((~b)*(~c) - (~a)*(~d)) + (~b)*(~d)*(~x)⨸((~b)*(~c) - (~a)*(~d)))* sqrt((~e) + (~f)*(~x))), (~x)) : nothing)) + +("1_1_1_3_50", +:(∫(1/(sqrt((~a) + (~!b)*(~x))*sqrt((~c) + (~!d)*(~x))*sqrt((~e) + (~!f)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !(gt(((~b)*(~e) - (~a)*(~f))/(~b), 0)) ? +sqrt((~b)*((~e) + (~f)*(~x))⨸((~b)*(~e) - (~a)*(~f)))⨸sqrt((~e) + (~f)*(~x))* ∫(1⨸(sqrt((~a) + (~b)*(~x))*sqrt((~c) + (~d)*(~x))* sqrt((~b)*(~e)⨸((~b)*(~e) - (~a)*(~f)) + (~b)*(~f)*(~x)⨸((~b)*(~e) - (~a)*(~f)))), (~x)) : nothing)) + +("1_1_1_3_51", +:(∫(1/(((~!a) + (~!b)*(~x))*((~!c) + (~!d)*(~x))^(1//3)*((~!e) + (~!f)*(~x))^(1//3)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq(2*(~b)*(~d)*(~e) - (~b)*(~c)*(~f) - (~a)*(~d)*(~f), 0) ? +-log((~a) + (~b)*(~x))⨸(2*rt((~b)*((~b)*(~e) - (~a)*(~f))⨸((~b)*(~c) - (~a)*(~d))^2, 3)*((~b)*(~c) - (~a)*(~d))) - sqrt(3)* atan(1⨸sqrt(3) + 2*rt((~b)*((~b)*(~e) - (~a)*(~f))⨸((~b)*(~c) - (~a)*(~d))^2, 3)*((~c) + (~d)*(~x))^(2⨸3)⨸(sqrt(3)*((~e) + (~f)*(~x))^(1⨸3)))⨸(2* rt((~b)*((~b)*(~e) - (~a)*(~f))⨸((~b)*(~c) - (~a)*(~d))^2, 3)*((~b)*(~c) - (~a)*(~d))) + 3*log(rt((~b)*((~b)*(~e) - (~a)*(~f))⨸((~b)*(~c) - (~a)*(~d))^2, 3)*((~c) + (~d)*(~x))^(2⨸3) - ((~e) + (~f)*(~x))^(1⨸3))⨸(4*rt((~b)*((~b)*(~e) - (~a)*(~f))⨸((~b)*(~c) - (~a)*(~d))^2, 3)*((~b)*(~c) - (~a)*(~d))) : nothing)) + +("1_1_1_3_52", +:(∫(((~!a) + (~!b)*(~x))^(~m)/(((~!c) + (~!d)*(~x))^(1//3)*((~!e) + (~!f)*(~x))^(1//3)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq(2*(~b)*(~d)*(~e) - (~b)*(~c)*(~f) - (~a)*(~d)*(~f), 0) && + ilt((~m), -1) ? +(~b)*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(2⨸ 3)*((~e) + (~f)*(~x))^(2⨸3)⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))) + (~f)⨸(6*((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f)))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~a)*(~d)*(3*(~m) + 1) - 3*(~b)*(~c)*(3*(~m) + 5) - 2*(~b)*(~d)*(3*(~m) + 7)*(~x))⨸(((~c) + (~d)*(~x))^(1⨸3)*((~e) + (~f)*(~x))^(1⨸3)), (~x)) : nothing)) + +# (* Int[(a_.+b_.*x_)^m_.*(c_.+d_.*x_)^n_.*(f_.*x_)^p_.,x_Symbol] := Simp[(a+b*x)^m*(c+d*x)^m/(a*c+b*d*x^2)^m]*Int[(a*c+b*d*x^2)^m*(f*x)^ p,x] /; FreeQ[{a,b,c,d,f,m,n,p},x] && EqQ[b*c+a*d,0] && EqQ[n,m] *) +("1_1_1_3_53", +:(∫(((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n)*((~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~f), (~m), (~n), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~n), (~m)) && + gt((~a), 0) && + gt((~c), 0) ? +∫(((~a)*(~c) + (~b)*(~d)*(~x)^2)^(~m)*((~f)*(~x))^(~p), (~x)) : nothing)) + +("1_1_1_3_54", +:(∫(((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n)*((~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~f), (~m), (~n), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~n), (~m)) ? +((~a) + (~b)*(~x))^ fracpart((~m))*((~c) + (~d)*(~x))^fracpart((~m))⨸((~a)*(~c) + (~b)*(~d)*(~x)^2)^fracpart((~m))* ∫(((~a)*(~c) + (~b)*(~d)*(~x)^2)^(~m)*((~f)*(~x))^(~p), (~x)) : nothing)) + +("1_1_1_3_55", +:(∫(((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && + ( + igt((~m), 0) || + ilt((~m), 0) && + ilt((~n), 0) + ) ? +∫(ext_expand(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p), (~x)), (~x)) : nothing)) + +("1_1_1_3_56", +:(∫(((~!e)*(~x))^(~p)*((~a) + (~!b)*(~x))^(~m)*((~c) + (~!d)*(~x))^(~n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + isfraction((~p)) && + ext_isinteger((~m)) ? +ext_den((~p))⨸(~e)* int_and_subst((~x)^(ext_den((~p))*((~p) + 1) - 1)*((~a) + (~b)*(~x)^ext_den((~p))⨸(~e))^(~m)*((~c) + (~d)*(~x)^ext_den((~p))⨸(~e))^(~n), (~x), (~x), ((~e)*(~x))^(1⨸ext_den((~p))), "1_1_1_3_56") : nothing)) + +("1_1_1_3_57", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)/((~!e) + (~!f)*(~x))^2,(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + igt((~m) + (~n), 0) && + eq(2*(~b)*(~d)*(~e) - (~f)*((~b)*(~c) + (~a)*(~d)), 0) ? +(~b)*(~d)⨸(~f)^2*∫(((~a) + (~b)*(~x))^((~m) - 1)*((~c) + (~d)*(~x))^((~n) - 1), (~x)) + ((~b)*(~e) - (~a)*(~f))*((~d)*(~e) - (~c)*(~f))⨸(~f)^2* ∫(((~a) + (~b)*(~x))^((~m) - 1)*((~c) + (~d)*(~x))^((~n) - 1)⨸((~e) + (~f)*(~x))^2, (~x)) : nothing)) + +("1_1_1_3_58", +:(∫(((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~m) + (~n) + (~p), 0) && + ilt((~p), 0) && + ( + lt((~m), 0) || + sumsimpler((~m), 1) || + !( + lt((~n), 0) || + sumsimpler((~n), 1) + ) + ) ? +(~f)^((~p) - 1)⨸(~d)^(~p)* ∫(((~a) + (~b)*(~x))^(~m)*((~d)*(~e)*(~p) - (~c)*(~f)*((~p) - 1) + (~d)*(~f)*(~x))⨸((~c) + (~d)*(~x))^((~m) + 1), (~x)) + (~f)^((~p) - 1)*∫(((~a) + (~b)*(~x))^(~m)*((~e) + (~f)*(~x))^(~p)⨸((~c) + (~d)*(~x))^((~m) + 1)* expand_to_sum( (~f)^(-(~p) + 1)*((~c) + (~d)*(~x))^(-(~p) + 1) - ((~d)*(~e)*(~p) - (~c)*(~f)*((~p) - 1) + (~d)*(~f)*(~x))⨸((~d)^(~p)*((~e) + (~f)*(~x))^(~p)), (~x)), (~x)) : nothing)) + +("1_1_1_3_59", +:(∫(((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~m) + (~n) + (~p) + 1, 0) && + ilt((~p), 0) && + ( + gt((~m), 0) || + sumsimpler((~m), -1) || + !( + gt((~n), 0) || + sumsimpler((~n), -1) + ) + ) ? +(~b)*(~d)^((~m) + (~n))*(~f)^(~p)*∫(((~a) + (~b)*(~x))^((~m) - 1)⨸((~c) + (~d)*(~x))^(~m), (~x)) + ∫(((~a) + (~b)*(~x))^((~m) - 1)*((~e) + (~f)*(~x))^(~p)⨸((~c) + (~d)*(~x))^(~m)* expand_to_sum(((~a) + (~b)*(~x))*((~c) + (~d)*(~x))^(-(~p) - 1) - ((~b)*(~d)^(-(~p) - 1)* (~f)^(~p))⨸((~e) + (~f)*(~x))^(~p), (~x)), (~x)) : nothing)) + +("1_1_1_3_60", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~p), (~x)) && + eq((~m) + (~n) + (~p) + 2, 0) && + ilt((~n), 0) && + ( + sumsimpler((~m), 1) || + !(sumsimpler((~p), 1)) + ) && + !(ilt((~m), 0)) ? +((~b)*(~c) - (~a)*(~d))^ (~n)*((~a) + (~b)*(~x))^((~m) + 1)⨸(((~m) + 1)*((~b)*(~e) - (~a)*(~f))^((~n) + 1)*((~e) + (~f)*(~x))^((~m) + 1))* hypergeometric2f1((~m) + 1, -(~n), (~m) + 2, -((~d)*(~e) - (~c)*(~f))*((~a) + (~b)*(~x))⨸(((~b)*(~c) - (~a)*(~d))*((~e) + (~f)*(~x)))) : nothing)) + +("1_1_1_3_61", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + eq((~m) + (~n) + (~p) + 2, 0) && + !(ext_isinteger((~n))) ? +((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^ (~n)*((~e) + (~f)*(~x))^((~p) + 1)⨸(((~b)*(~e) - (~a)*(~f))*((~m) + 1))*(((~b)*(~e) - (~a)*(~f))*((~c) + (~d)*(~x))⨸(((~b)*(~c) - (~a)*(~d))*((~e) + (~f)*(~x))))^(-(~n))* hypergeometric2f1((~m) + 1, -(~n), (~m) + 2, -((~d)*(~e) - (~c)*(~f))*((~a) + (~b)*(~x))⨸(((~b)*(~c) - (~a)*(~d))*((~e) + (~f)*(~x)))) : nothing)) + +("1_1_1_3_62", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)/((~!e) + (~!f)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + igt((~m) + (~n) + 1, 0) && + ( + lt((~m), 0) || + sumsimpler((~m), 1) || + !( + lt((~n), 0) || + sumsimpler((~n), 1) + ) + ) ? +((~c)*(~f) - (~d)*(~e))^((~m) + (~n) + 1)⨸(~f)^((~m) + (~n) + 1)* ∫(((~a) + (~b)*(~x))^(~m)⨸(((~c) + (~d)*(~x))^((~m) + 1)*((~e) + (~f)*(~x))), (~x)) + 1⨸(~f)^((~m) + (~n) + 1)* ∫(((~a) + (~b)*(~x))^(~m)⨸((~c) + (~d)*(~x))^((~m) + 1)* expand_to_sum(((~f)^((~m) + (~n) + 1)*((~c) + (~d)*(~x))^((~m) + (~n) + 1) - ((~c)*(~f) - (~d)*(~e))^((~m) + (~n) + 1))⨸((~e) + (~f)*(~x)), (~x)), (~x)) : nothing)) + +("1_1_1_3_63", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + ilt((~m) + (~n) + (~p) + 2, 0) && + !eq((~m), -1) && + ( + sumsimpler((~m), 1) || + !(sumsimpler((~n), 1)) && + !(sumsimpler((~p), 1)) + ) ? +(~b)*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))) + 1⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f)))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)* simplify((~a)*(~d)*(~f)*((~m) + 1) - (~b)*((~d)*(~e)*((~m) + (~n) + 2) + (~c)*(~f)*((~m) + (~p) + 2)) - (~b)*(~d)*(~f)*((~m) + (~n) + (~p) + 3)*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_3_64", +:(∫(((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n)*((~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~f), (~m), (~n), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + igt((~m) - (~n), 0) && + !eq((~m) + (~n) + (~p) + 2, 0) ? +∫(ext_expand(((~a) + (~b)*(~x))^(~n)*((~c) + (~d)*(~x))^(~n)*((~f)*(~x))^ (~p), ((~a) + (~b)*(~x))^((~m) - (~n)), (~x)), (~x)) : nothing)) + +("1_1_1_3_65", +:(∫(((~!b)*(~x))^(~m)*((~c) + (~!d)*(~x))^(~n)*((~e) + (~!f)*(~x))^(~p),(~x)) ) => :( + !contains_var((~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + gt((~c), 0) && + ( + ext_isinteger((~p)) || + gt((~e), 0) + ) ? +(~c)^(~n)*(~e)^(~p)*((~b)*(~x))^((~m) + 1)⨸((~b)*((~m) + 1))* appell_f1((~m) + 1, -(~n), -(~p), (~m) + 2, -(~d)*(~x)⨸(~c), -(~f)*(~x)⨸(~e)) : nothing)) + +("1_1_1_3_66", +:(∫(((~!b)*(~x))^(~m)*((~c) + (~!d)*(~x))^(~n)*((~e) + (~!f)*(~x))^(~p),(~x)) ) => :( + !contains_var((~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + gt(-(~d)/((~b)*(~c)), 0) && + ( + ext_isinteger((~p)) || + gt((~d)/((~d)*(~e) - (~c)*(~f)), 0) + ) ? +((~c) + (~d)*(~x))^((~n) + 1)⨸((~d)*((~n) + 1)*(-(~d)⨸((~b)*(~c)))^(~m)*((~d)⨸((~d)*(~e) - (~c)*(~f)))^(~p))* appell_f1((~n) + 1, -(~m), -(~p), (~n) + 2, 1 + (~d)*(~x)⨸(~c), -(~f)*((~c) + (~d)*(~x))⨸((~d)*(~e) - (~c)*(~f))) : nothing)) + +("1_1_1_3_67", +:(∫(((~!b)*(~x))^(~m)*((~c) + (~!d)*(~x))^(~n)*((~e) + (~!f)*(~x))^(~p),(~x)) ) => :( + !contains_var((~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + !(gt((~c), 0)) ? +(~c)^intpart((~n))*((~c) + (~d)*(~x))^fracpart((~n))⨸(1 + (~d)*(~x)⨸(~c))^fracpart((~n))* ∫(((~b)*(~x))^(~m)*(1 + (~d)*(~x)⨸(~c))^(~n)*((~e) + (~f)*(~x))^(~p), (~x)) : nothing)) + +("1_1_1_3_68", +:(∫(((~a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + ext_isinteger((~p)) && + gt((~b)/((~b)*(~c) - (~a)*(~d)), 0) && + !( + gt((~d)/((~d)*(~a) - (~c)*(~b)), 0) && + simpler((~c) + (~d)*(~x), (~a) + (~b)*(~x)) + ) ? +((~b)*(~e) - (~a)*(~f))^ (~p)*((~a) + (~b)*(~x))^((~m) + 1)⨸((~b)^((~p) + 1)*((~m) + 1)*((~b)⨸((~b)*(~c) - (~a)*(~d)))^(~n))* appell_f1((~m) + 1, -(~n), -(~p), (~m) + 2, -(~d)*((~a) + (~b)*(~x))⨸((~b)*(~c) - (~a)*(~d)), -(~f)*((~a) + (~b)*(~x))⨸((~b)*(~e) - (~a)*(~f))) : nothing)) + +("1_1_1_3_69", +:(∫(((~a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + ext_isinteger((~p)) && + !(gt((~b)/((~b)*(~c) - (~a)*(~d)), 0)) && + !(simpler((~c) + (~d)*(~x), (~a) + (~b)*(~x))) ? +((~c) + (~d)*(~x))^ fracpart( (~n))⨸(((~b)⨸((~b)*(~c) - (~a)*(~d)))^intpart((~n))*((~b)*((~c) + (~d)*(~x))⨸((~b)*(~c) - (~a)*(~d)))^ fracpart((~n)))* ∫(((~a) + (~b)*(~x))^(~m)*((~b)*(~c)⨸((~b)*(~c) - (~a)*(~d)) + (~b)*(~d)*(~x)⨸((~b)*(~c) - (~a)*(~d)))^ (~n)*((~e) + (~f)*(~x))^(~p), (~x)) : nothing)) + +("1_1_1_3_70", +:(∫(((~a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + !(ext_isinteger((~p))) && + gt((~b)/((~b)*(~c) - (~a)*(~d)), 0) && + gt((~b)/((~b)*(~e) - (~a)*(~f)), 0) && + !( + gt((~d)/((~d)*(~a) - (~c)*(~b)), 0) && + gt((~d)/((~d)*(~e) - (~c)*(~f)), 0) && + simpler((~c) + (~d)*(~x), (~a) + (~b)*(~x)) + ) && + !( + gt((~f)/((~f)*(~a) - (~e)*(~b)), 0) && + gt((~f)/((~f)*(~c) - (~e)*(~d)), 0) && + simpler((~e) + (~f)*(~x), (~a) + (~b)*(~x)) + ) ? +((~a) + (~b)*(~x))^((~m) + 1)⨸((~b)*((~m) + 1)*((~b)⨸((~b)*(~c) - (~a)*(~d)))^(~n)*((~b)⨸((~b)*(~e) - (~a)*(~f)))^(~p))* appell_f1((~m) + 1, -(~n), -(~p), (~m) + 2, -(~d)*((~a) + (~b)*(~x))⨸((~b)*(~c) - (~a)*(~d)), -(~f)*((~a) + (~b)*(~x))⨸((~b)*(~e) - (~a)*(~f))) : nothing)) + +("1_1_1_3_71", +:(∫(((~a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + !(ext_isinteger((~p))) && + gt((~b)/((~b)*(~c) - (~a)*(~d)), 0) && + !(gt((~b)/((~b)*(~e) - (~a)*(~f)), 0)) ? +((~e) + (~f)*(~x))^ fracpart( (~p))⨸(((~b)⨸((~b)*(~e) - (~a)*(~f)))^intpart((~p))*((~b)*((~e) + (~f)*(~x))⨸((~b)*(~e) - (~a)*(~f)))^ fracpart((~p)))* ∫(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^ (~n)*((~b)*(~e)⨸((~b)*(~e) - (~a)*(~f)) + (~b)*(~f)*(~x)⨸((~b)*(~e) - (~a)*(~f)))^(~p), (~x)) : nothing)) + +("1_1_1_3_72", +:(∫(((~a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + !(ext_isinteger((~p))) && + !(gt((~b)/((~b)*(~c) - (~a)*(~d)), 0)) && + !(simpler((~c) + (~d)*(~x), (~a) + (~b)*(~x))) && + !(simpler((~e) + (~f)*(~x), (~a) + (~b)*(~x))) ? +((~c) + (~d)*(~x))^ fracpart( (~n))⨸(((~b)⨸((~b)*(~c) - (~a)*(~d)))^intpart((~n))*((~b)*((~c) + (~d)*(~x))⨸((~b)*(~c) - (~a)*(~d)))^ fracpart((~n)))* ∫(((~a) + (~b)*(~x))^(~m)*((~b)*(~c)⨸((~b)*(~c) - (~a)*(~d)) + (~b)*(~d)*(~x)⨸((~b)*(~c) - (~a)*(~d)))^ (~n)*((~e) + (~f)*(~x))^(~p), (~x)) : nothing)) + +("1_1_1_3_73", +:(∫(((~!a) + (~!b)*(~u))^(~!m)*((~!c) + (~!d)*(~u))^(~!n)*((~e) + (~!f)*(~u))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + linear((~u), (~x)) && + !eq((~u), (~x)) ? +1⨸Symbolics.coeff((~u), (~x) ^ 1)* int_and_subst(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p), (~x), (~x), (~u), "1_1_1_3_73") : nothing)) + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.4 (a+b x)^m (c+d x)^n (e+f x)^p (g+h x)^q.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.4 (a+b x)^m (c+d x)^n (e+f x)^p (g+h x)^q.jl new file mode 100644 index 0000000..f93fe49 --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.4 (a+b x)^m (c+d x)^n (e+f x)^p (g+h x)^q.jl @@ -0,0 +1,358 @@ +file_rules = [ +# (* ::Subsection::Closed:: *) +# (* 1.1.1.4 (a+b x)^m (c+d x)^n (e+f x)^p (g+h x)^q *) +("1_1_1_4_1", +:(∫(((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^ (~!n)*((~e) + (~!f)*(~x))*((~!g) + (~!h)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) && + ( + igt((~m), 0) || + ext_isinteger((~m), (~n)) + ) ? +∫(ext_expand(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))*((~g) + (~h)*(~x)), (~x)), (~x)) : nothing)) + +("1_1_1_4_2", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n)*((~e) + (~!f)*(~x))*((~!g) + (~!h)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~x)) && + eq((~m) + (~n) + 2, 0) && + !eq((~m), -1) && + ( + sumsimpler((~m), 1) || + !(sumsimpler((~n), 1)) + ) ? +((~b)^2*(~d)*(~e)*(~g) - (~a)^2*(~d)*(~f)*(~h)*(~m) - (~a)*(~b)*((~d)*((~f)*(~g) + (~e)*(~h)) - (~c)*(~f)*(~h)*((~m) + 1)) + (~b)*(~f)*(~h)*((~b)*(~c) - (~a)*(~d))*((~m) + 1)*(~x))*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)⨸ ((~b)^2*(~d)*((~b)*(~c) - (~a)*(~d))*((~m) + 1)) + ((~a)*(~d)*(~f)*(~h)*(~m) + (~b)*((~d)*((~f)*(~g) + (~e)*(~h)) - (~c)*(~f)*(~h)*((~m) + 2)))⨸((~b)^2*(~d))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n), (~x)) : nothing)) + +("1_1_1_4_3", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~e) + (~!f)*(~x))*((~!g) + (~!h)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) && + lt((~m), -1) && + lt((~n), -1) ? +((~b)^2*(~c)*(~d)*(~e)*(~g)*((~n) + 1) + (~a)^2*(~c)*(~d)*(~f)*(~h)*((~n) + 1) + (~a)*(~b)*((~d)^2*(~e)*(~g)*((~m) + 1) + (~c)^2*(~f)*(~h)*((~m) + 1) - (~c)*(~d)*((~f)*(~g) + (~e)*(~h))*((~m) + (~n) + 2)) + ((~a)^2*(~d)^2*(~f)*(~h)*((~n) + 1) - (~a)*(~b)*(~d)^2*((~f)*(~g) + (~e)*(~h))*((~n) + 1) + (~b)^2*((~c)^2*(~f)*(~h)*((~m) + 1) - (~c)*(~d)*((~f)*(~g) + (~e)*(~h))*((~m) + 1) + (~d)^2*(~e)*(~g)*((~m) + (~n) + 2)))*(~x))⨸ ((~b)*(~d)*((~b)*(~c) - (~a)*(~d))^2*((~m) + 1)*((~n) + 1))*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1) - ((~a)^2*(~d)^2*(~f)*(~h)*(2 + 3*(~n) + (~n)^2) + (~a)*(~b)*(~d)*((~n) + 1)*(2*(~c)*(~f)*(~h)*((~m) + 1) - (~d)*((~f)*(~g) + (~e)*(~h))*((~m) + (~n) + 3)) + (~b)^2*((~c)^2*(~f)*(~h)*(2 + 3*(~m) + (~m)^2) - (~c)*(~d)*((~f)*(~g) + (~e)*(~h))*((~m) + 1)*((~m) + (~n) + 3) + (~d)^2*(~e)*(~g)*(6 + (~m)^2 + 5*(~n) + (~n)^2 + (~m)*(2*(~n) + 5))))⨸ ((~b)*(~d)*((~b)*(~c) - (~a)*(~d))^2*((~m) + 1)*((~n) + 1))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1), (~x)) : nothing)) + +("1_1_1_4_4", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n)*((~e) + (~!f)*(~x))*((~!g) + (~!h)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~x)) && + ( + lt((~m), -2) || + eq((~m) + (~n) + 3, 0) && + !(lt((~n), -2)) + ) ? +((~b)^3*(~c)*(~e)*(~g)*((~m) + 2) - (~a)^3*(~d)*(~f)*(~h)*((~n) + 2) - (~a)^2*(~b)*((~c)*(~f)*(~h)*(~m) - (~d)*((~f)*(~g) + (~e)*(~h))*((~m) + (~n) + 3)) - (~a)*(~b)^2*((~c)*((~f)*(~g) + (~e)*(~h)) + (~d)*(~e)*(~g)*(2*(~m) + (~n) + 4)) + (~b)*((~a)^2*(~d)*(~f)*(~h)*((~m) - (~n)) - (~a)*(~b)*(2*(~c)*(~f)*(~h)*((~m) + 1) - (~d)*((~f)*(~g) + (~e)*(~h))*((~n) + 1)) + (~b)^2*((~c)*((~f)*(~g) + (~e)*(~h))*((~m) + 1) - (~d)*(~e)*(~g)*((~m) + (~n) + 2)))*(~x))⨸ ((~b)^2*((~b)*(~c) - (~a)*(~d))^2*((~m) + 1)*((~m) + 2))*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1) + ((~f)*(~h)⨸ (~b)^2 - ((~d)*((~m) + (~n) + 3)*((~a)^2*(~d)*(~f)*(~h)*((~m) - (~n)) - (~a)*(~b)*(2*(~c)*(~f)*(~h)*((~m) + 1) - (~d)*((~f)*(~g) + (~e)*(~h))*((~n) + 1)) + (~b)^2*((~c)*((~f)*(~g) + (~e)*(~h))*((~m) + 1) - (~d)*(~e)*(~g)*((~m) + (~n) + 2))))⨸ ((~b)^2*((~b)*(~c) - (~a)*(~d))^2*((~m) + 1)*((~m) + 2)))* ∫(((~a) + (~b)*(~x))^((~m) + 2)*((~c) + (~d)*(~x))^(~n), (~x)) : nothing)) + +("1_1_1_4_5", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n)*((~e) + (~!f)*(~x))*((~!g) + (~!h)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~x)) && + ( + ge((~m), -2) && + lt((~m), -1) || + sumsimpler((~m), 1) + ) && + !eq((~m), -1) && + !eq((~m) + (~n) + 3, 0) ? +((~a)^2*(~d)*(~f)*(~h)*((~n) + 2) + (~b)^2*(~d)*(~e)*(~g)*((~m) + (~n) + 3) + (~a)*(~b)*((~c)*(~f)*(~h)*((~m) + 1) - (~d)*((~f)*(~g) + (~e)*(~h))*((~m) + (~n) + 3)) + (~b)*(~f)*(~h)*((~b)*(~c) - (~a)*(~d))*((~m) + 1)*(~x))⨸ ((~b)^2*(~d)*((~b)*(~c) - (~a)*(~d))*((~m) + 1)*((~m) + (~n) + 3))*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1) - ((~a)^2*(~d)^2*(~f)*(~h)*((~n) + 1)*((~n) + 2) + (~a)*(~b)*(~d)*((~n) + 1)*(2*(~c)*(~f)*(~h)*((~m) + 1) - (~d)*((~f)*(~g) + (~e)*(~h))*((~m) + (~n) + 3)) + (~b)^2*((~c)^2*(~f)*(~h)*((~m) + 1)*((~m) + 2) - (~c)*(~d)*((~f)*(~g) + (~e)*(~h))*((~m) + 1)*((~m) + (~n) + 3) + (~d)^2*(~e)*(~g)*((~m) + (~n) + 2)*((~m) + (~n) + 3)))⨸ ((~b)^2*(~d)*((~b)*(~c) - (~a)*(~d))*((~m) + 1)*((~m) + (~n) + 3))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n), (~x)) : nothing)) + +("1_1_1_4_6", +:(∫(((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^ (~!n)*((~e) + (~!f)*(~x))*((~!g) + (~!h)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~x)) && + !eq((~m) + (~n) + 2, 0) && + !eq((~m) + (~n) + 3, 0) ? +-((~a)*(~d)*(~f)*(~h)*((~n) + 2) + (~b)*(~c)*(~f)*(~h)*((~m) + 2) - (~b)*(~d)*((~f)*(~g) + (~e)*(~h))*((~m) + (~n) + 3) - (~b)*(~d)*(~f)*(~h)*((~m) + (~n) + 2)*(~x))*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)⨸ ((~b)^2*(~d)^2*((~m) + (~n) + 2)*((~m) + (~n) + 3)) + ((~a)^2*(~d)^2*(~f)*(~h)*((~n) + 1)*((~n) + 2) + (~a)*(~b)*(~d)*((~n) + 1)*(2*(~c)*(~f)*(~h)*((~m) + 1) - (~d)*((~f)*(~g) + (~e)*(~h))*((~m) + (~n) + 3)) + (~b)^2*((~c)^2*(~f)*(~h)*((~m) + 1)*((~m) + 2) - (~c)*(~d)*((~f)*(~g) + (~e)*(~h))*((~m) + 1)*((~m) + (~n) + 3) + (~d)^2*(~e)*(~g)*((~m) + (~n) + 2)*((~m) + (~n) + 3)))⨸ ((~b)^2*(~d)^2*((~m) + (~n) + 2)*((~m) + (~n) + 3))* ∫(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n), (~x)) : nothing)) + +("1_1_1_4_7", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^ (~p)*((~!g) + (~!h)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~x)) && + ( + ext_isinteger((~m), (~n), (~p)) || + igt((~n), 0) && + igt((~p), 0) + ) ? +∫(ext_expand(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)*((~g) + (~h)*(~x)), (~x)), (~x)) : nothing)) + +("1_1_1_4_8", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^ (~p)*((~!g) + (~!h)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~p), (~x)) && + ilt((~m), -1) && + gt((~n), 0) ? +((~b)*(~g) - (~a)*(~h))*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^ (~n)*((~e) + (~f)*(~x))^((~p) + 1)⨸((~b)*((~b)*(~e) - (~a)*(~f))*((~m) + 1)) - 1⨸((~b)*((~b)*(~e) - (~a)*(~f))*((~m) + 1))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) - 1)*((~e) + (~f)*(~x))^(~p)* simplify((~b)*(~c)*((~f)*(~g) - (~e)*(~h))*((~m) + 1) + ((~b)*(~g) - (~a)*(~h))*((~d)*(~e)*(~n) + (~c)*(~f)*((~p) + 1)) + (~d)*((~b)*((~f)*(~g) - (~e)*(~h))*((~m) + 1) + (~f)*((~b)*(~g) - (~a)*(~h))*((~n) + (~p) + 1))*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_4_9", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^ (~p)*((~!g) + (~!h)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~p), (~x)) && + lt((~m), -1) && + gt((~n), 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +((~b)*(~g) - (~a)*(~h))*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^ (~n)*((~e) + (~f)*(~x))^((~p) + 1)⨸((~b)*((~b)*(~e) - (~a)*(~f))*((~m) + 1)) - 1⨸((~b)*((~b)*(~e) - (~a)*(~f))*((~m) + 1))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) - 1)*((~e) + (~f)*(~x))^(~p)* simplify((~b)*(~c)*((~f)*(~g) - (~e)*(~h))*((~m) + 1) + ((~b)*(~g) - (~a)*(~h))*((~d)*(~e)*(~n) + (~c)*(~f)*((~p) + 1)) + (~d)*((~b)*((~f)*(~g) - (~e)*(~h))*((~m) + 1) + (~f)*((~b)*(~g) - (~a)*(~h))*((~n) + (~p) + 1))*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_4_10", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^ (~p)*((~!g) + (~!h)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~n), (~p), (~x)) && + ilt((~m), -1) ? +((~b)*(~g) - (~a)*(~h))*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))) + 1⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f)))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)* simplify(((~a)*(~d)*(~f)*(~g) - (~b)*((~d)*(~e) + (~c)*(~f))*(~g) + (~b)*(~c)*(~e)*(~h))*((~m) + 1) - ((~b)*(~g) - (~a)*(~h))*((~d)*(~e)*((~n) + 1) + (~c)*(~f)*((~p) + 1)) - (~d)*(~f)*((~b)*(~g) - (~a)*(~h))*((~m) + (~n) + (~p) + 3)*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_4_11", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^ (~p)*((~!g) + (~!h)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~n), (~p), (~x)) && + lt((~m), -1) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +((~b)*(~g) - (~a)*(~h))*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))) + 1⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f)))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)* simplify(((~a)*(~d)*(~f)*(~g) - (~b)*((~d)*(~e) + (~c)*(~f))*(~g) + (~b)*(~c)*(~e)*(~h))*((~m) + 1) - ((~b)*(~g) - (~a)*(~h))*((~d)*(~e)*((~n) + 1) + (~c)*(~f)*((~p) + 1)) - (~d)*(~f)*((~b)*(~g) - (~a)*(~h))*((~m) + (~n) + (~p) + 3)*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_4_12", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^ (~p)*((~!g) + (~!h)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~n), (~p), (~x)) && + gt((~m), 0) && + !eq((~m) + (~n) + (~p) + 2, 0) && + ext_isinteger((~m)) ? +(~h)*((~a) + (~b)*(~x))^ (~m)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸((~d)*(~f)*((~m) + (~n) + (~p) + 2)) + 1⨸((~d)*(~f)*((~m) + (~n) + (~p) + 2))* ∫(((~a) + (~b)*(~x))^((~m) - 1)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)* simplify((~a)*(~d)*(~f)*(~g)*((~m) + (~n) + (~p) + 2) - (~h)*((~b)*(~c)*(~e)*(~m) + (~a)*((~d)*(~e)*((~n) + 1) + (~c)*(~f)*((~p) + 1))) + ((~b)*(~d)*(~f)*(~g)*((~m) + (~n) + (~p) + 2) + (~h)*((~a)*(~d)*(~f)*(~m) - (~b)*((~d)*(~e)*((~m) + (~n) + 1) + (~c)*(~f)*((~m) + (~p) + 1))))*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_4_13", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^ (~p)*((~!g) + (~!h)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~n), (~p), (~x)) && + gt((~m), 0) && + !eq((~m) + (~n) + (~p) + 2, 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +(~h)*((~a) + (~b)*(~x))^ (~m)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸((~d)*(~f)*((~m) + (~n) + (~p) + 2)) + 1⨸((~d)*(~f)*((~m) + (~n) + (~p) + 2))* ∫(((~a) + (~b)*(~x))^((~m) - 1)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)* simplify((~a)*(~d)*(~f)*(~g)*((~m) + (~n) + (~p) + 2) - (~h)*((~b)*(~c)*(~e)*(~m) + (~a)*((~d)*(~e)*((~n) + 1) + (~c)*(~f)*((~p) + 1))) + ((~b)*(~d)*(~f)*(~g)*((~m) + (~n) + (~p) + 2) + (~h)*((~a)*(~d)*(~f)*(~m) - (~b)*((~d)*(~e)*((~m) + (~n) + 1) + (~c)*(~f)*((~m) + (~p) + 1))))*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_4_14", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^ (~p)*((~!g) + (~!h)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~n), (~p), (~x)) && + ilt((~m) + (~n) + (~p) + 2, 0) && + !eq((~m), -1) && + ( + sumsimpler((~m), 1) || + !( + !eq((~n), -1) && + sumsimpler((~n), 1) + ) && + !( + !eq((~p), -1) && + sumsimpler((~p), 1) + ) + ) ? +((~b)*(~g) - (~a)*(~h))*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))) + 1⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f)))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)* simplify(((~a)*(~d)*(~f)*(~g) - (~b)*((~d)*(~e) + (~c)*(~f))*(~g) + (~b)*(~c)*(~e)*(~h))*((~m) + 1) - ((~b)*(~g) - (~a)*(~h))*((~d)*(~e)*((~n) + 1) + (~c)*(~f)*((~p) + 1)) - (~d)*(~f)*((~b)*(~g) - (~a)*(~h))*((~m) + (~n) + (~p) + 3)*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_4_15", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!g) + (~!h)*(~x))/((~!e) + (~!f)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) && + igt((~m) + (~n) + 1, 0) && + ( + lt((~m), 0) || + sumsimpler((~m), 1) || + !(sumsimpler((~n), 1)) + ) ? +((~f)*(~g) - (~e)*(~h))*((~c)*(~f) - (~d)*(~e))^((~m) + (~n) + 1)⨸(~f)^((~m) + (~n) + 2)* ∫(((~a) + (~b)*(~x))^(~m)⨸(((~c) + (~d)*(~x))^((~m) + 1)*((~e) + (~f)*(~x))), (~x)) + 1⨸(~f)^((~m) + (~n) + 2)*∫(((~a) + (~b)*(~x))^(~m)⨸((~c) + (~d)*(~x))^((~m) + 1)* expand_to_sum(((~f)^((~m) + (~n) + 2)*((~c) + (~d)*(~x))^((~m) + (~n) + 1)*((~g) + (~h)*(~x)) - ((~f)*(~g) - (~e)*(~h))*((~c)*(~f) - (~d)*(~e))^((~m) + (~n) + 1))⨸((~e) + (~f)*(~x)), (~x)), (~x)) : nothing)) + +("1_1_1_4_16", +:(∫(((~!e) + (~!f)*(~x))^(~p)*((~!g) + (~!h)*(~x))/(((~!a) + (~!b)*(~x))*((~!c) + (~!d)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) ? +((~b)*(~g) - (~a)*(~h))⨸((~b)*(~c) - (~a)*(~d))*∫(((~e) + (~f)*(~x))^(~p)⨸((~a) + (~b)*(~x)), (~x)) - ((~d)*(~g) - (~c)*(~h))⨸((~b)*(~c) - (~a)*(~d))*∫(((~e) + (~f)*(~x))^(~p)⨸((~c) + (~d)*(~x)), (~x)) : nothing)) + +("1_1_1_4_17", +:(∫(((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^(~p)*((~!g) + (~!h)*(~x))/((~!a) + (~!b)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~n), (~p), (~x)) ? +(~h)⨸(~b)*∫(((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p), (~x)) + ((~b)*(~g) - (~a)*(~h))⨸(~b)* ∫(((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)⨸((~a) + (~b)*(~x)), (~x)) : nothing)) + +("1_1_1_4_18", +:(∫(((~!g) + (~!h)*(~x))/(sqrt((~!a) + (~!b)*(~x))*sqrt((~c) + (~!d)*(~x))* sqrt((~e) + (~!f)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) && + simpler((~a) + (~b)*(~x), (~e) + (~f)*(~x)) && + simpler((~c) + (~d)*(~x), (~e) + (~f)*(~x)) ? +(~h)⨸(~f)*∫(sqrt((~e) + (~f)*(~x))⨸(sqrt((~a) + (~b)*(~x))*sqrt((~c) + (~d)*(~x))), (~x)) + ((~f)*(~g) - (~e)*(~h))⨸(~f)* ∫(1⨸(sqrt((~a) + (~b)*(~x))*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))), (~x)) : nothing)) + +("1_1_1_4_19", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^ (~p)*((~!g) + (~!h)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~p), (~x)) && + ( + sumsimpler((~m), 1) || + !(sumsimpler((~n), 1)) && + !(sumsimpler((~p), 1)) + ) ? +(~h)⨸(~b)*∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p), (~x)) + ((~b)*(~g) - (~a)*(~h))⨸(~b)*∫(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p), (~x)) : nothing)) + +("1_1_1_4_20", +:(∫(((~!a) + (~!b)*(~x))^(~m)*sqrt((~!c) + (~!d)*(~x))*sqrt((~!e) + (~!f)*(~x))* sqrt((~!g) + (~!h)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~x)) && + ext_isinteger(2*(~m)) && + lt((~m), -1) ? +((~a) + (~b)*(~x))^((~m) + 1)*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))⨸((~b)*((~m) + 1)) - 1⨸(2*(~b)*((~m) + 1))* ∫(((~a) + (~b)*(~x))^((~m) + 1)⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x)))* simplify((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h) + 2*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h))*(~x) + 3*(~d)*(~f)*(~h)*(~x)^2, (~x)), (~x)) : nothing)) + +("1_1_1_4_21", +:(∫(((~!a) + (~!b)*(~x))^(~m)*sqrt((~!c) + (~!d)*(~x))*sqrt((~!e) + (~!f)*(~x))* sqrt((~!g) + (~!h)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~x)) && + ext_isinteger(2*(~m)) && + !(lt((~m), -1)) ? +2*((~a) + (~b)*(~x))^((~m) + 1)*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))⨸((~b)*(2*(~m) + 5)) + 1⨸((~b)*(2*(~m) + 5))* ∫((((~a) + (~b)*(~x))^(~m))⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x)))* simplify(3*(~b)*(~c)*(~e)*(~g) - (~a)*((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h)) + 2*((~b)*((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h)) - (~a)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h)))* (~x) - (3*(~a)*(~d)*(~f)*(~h) - (~b)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h)))*(~x)^2, (~x)), (~x)) : nothing)) + +("1_1_1_4_22", +:(∫(((~!a) + (~!b)*(~x))^(~m)*sqrt((~!e) + (~!f)*(~x))* sqrt((~!g) + (~!h)*(~x))/sqrt((~!c) + (~!d)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~x)) && + ext_isinteger(2*(~m)) && + gt((~m), 0) ? +2*((~a) + (~b)*(~x))^(~m)*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))⨸((~d)*(2*(~m) + 3)) - 1⨸((~d)*(2*(~m) + 3))* ∫((((~a) + (~b)*(~x))^((~m) - 1)⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))))* simplify(2*(~b)*(~c)*(~e)*(~g)*(~m) + (~a)*((~c)*((~f)*(~g) + (~e)*(~h)) - 2*(~d)*(~e)*(~g)*((~m) + 1)) - ((~b)*(2*(~d)*(~e)*(~g) - (~c)*((~f)*(~g) + (~e)*(~h))*(2*(~m) + 1)) - (~a)*(2*(~c)*(~f)*(~h) - (~d)*(2*(~m) + 1)*((~f)*(~g) + (~e)*(~h))))*(~x) - (2*(~a)*(~d)*(~f)*(~h)*(~m) + (~b)*((~d)*((~f)*(~g) + (~e)*(~h)) - 2*(~c)*(~f)*(~h)*((~m) + 1)))*(~x)^2, (~x)), (~x)) : nothing)) + +("1_1_1_4_23", +:(∫(sqrt((~!e) + (~!f)*(~x))* sqrt((~!g) + (~!h)*(~x))/(((~!a) + (~!b)*(~x))*sqrt((~!c) + (~!d)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) ? +((~b)*(~e) - (~a)*(~f))*((~b)*(~g) - (~a)*(~h))⨸(~b)^2* ∫(1⨸(((~a) + (~b)*(~x))*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) + 1⨸(~b)^2* ∫(simplify((~b)*(~f)*(~g) + (~b)*(~e)*(~h) - (~a)*(~f)*(~h) + (~b)*(~f)*(~h)*(~x), (~x))⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) : nothing)) + +("1_1_1_4_24", +:(∫(((~!a) + (~!b)*(~x))^(~m)*sqrt((~!e) + (~!f)*(~x))* sqrt((~!g) + (~!h)*(~x))/sqrt((~!c) + (~!d)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~x)) && + ext_isinteger(2*(~m)) && + lt((~m), -1) ? +((~a) + (~b)*(~x))^((~m) + 1)*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))) - 1⨸(2*((~m) + 1)*((~b)*(~c) - (~a)*(~d)))* ∫((((~a) + (~b)*(~x))^((~m) + 1)⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))))* simplify((~c)*((~f)*(~g) + (~e)*(~h)) + (~d)*(~e)*(~g)*(2*(~m) + 3) + 2*((~c)*(~f)*(~h) + (~d)*((~m) + 2)*((~f)*(~g) + (~e)*(~h)))*(~x) + (~d)*(~f)*(~h)*(2*(~m) + 5)*(~x)^2, (~x)), (~x)) : nothing)) + +("1_1_1_4_25", +:(∫(sqrt( (~!a) + (~!b)*(~x))/(sqrt((~!c) + (~!d)*(~x))*sqrt((~!e) + (~!f)*(~x))* sqrt((~!g) + (~!h)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) ? +2*((~a) + (~b)*(~x))*sqrt(((~b)*(~g) - (~a)*(~h))*((~c) + (~d)*(~x))⨸(((~d)*(~g) - (~c)*(~h))*((~a) + (~b)*(~x))))* sqrt(((~b)*(~g) - (~a)*(~h))*((~e) + (~f)*(~x))⨸(((~f)*(~g) - (~e)*(~h))*((~a) + (~b)*(~x))))⨸(sqrt((~c) + (~d)*(~x))* sqrt((~e) + (~f)*(~x)))* int_and_subst(1⨸(((~h) - (~b)*(~x)^2)*sqrt(1 + ((~b)*(~c) - (~a)*(~d))*(~x)^2⨸((~d)*(~g) - (~c)*(~h)))* sqrt(1 + ((~b)*(~e) - (~a)*(~f))*(~x)^2⨸((~f)*(~g) - (~e)*(~h)))), (~x), (~x), sqrt((~g) + (~h)*(~x))⨸sqrt((~a) + (~b)*(~x)), "1_1_1_4_25") : nothing)) + +("1_1_1_4_26", +:(∫(((~!a) + (~!b)*(~x))^(3//2)/(sqrt((~!c) + (~!d)*(~x))*sqrt((~!e) + (~!f)*(~x))* sqrt((~!g) + (~!h)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) ? +(~b)⨸(~d)*∫(sqrt((~a) + (~b)*(~x))*sqrt((~c) + (~d)*(~x))⨸(sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) - ((~b)*(~c) - (~a)*(~d))⨸(~d)* ∫(sqrt((~a) + (~b)*(~x))⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) : nothing)) + +("1_1_1_4_27", +:(∫(((~!a) + (~!b)*(~x))^ (~m)/(sqrt((~!c) + (~!d)*(~x))*sqrt((~!e) + (~!f)*(~x))*sqrt((~!g) + (~!h)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) && + ext_isinteger(2*(~m)) && + ge((~m), 2) ? +2*(~b)^2*((~a) + (~b)*(~x))^((~m) - 2)*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))⨸((~d)*(~f)*(~h)*(2*(~m) - 1)) - 1⨸((~d)*(~f)*(~h)*(2*(~m) - 1))* ∫((((~a) + (~b)*(~x))^((~m) - 3)⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))))* simplify((~a)*(~b)^2*((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h)) + 2*(~b)^3*(~c)*(~e)*(~g)*((~m) - 2) - (~a)^3*(~d)*(~f)*(~h)*(2*(~m) - 1) + (~b)*(2*(~a)*(~b)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h)) + (~b)^2*(2*(~m) - 3)*((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h)) - 3*(~a)^2*(~d)*(~f)*(~h)*(2*(~m) - 1))*(~x) - 2*(~b)^2*((~m) - 1)*(3*(~a)*(~d)*(~f)*(~h) - (~b)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h)))*(~x)^2, (~x)), (~x)) : nothing)) + +("1_1_1_4_28", +:(∫(1/(((~!a) + (~!b)*(~x))*sqrt((~!c) + (~!d)*(~x))*sqrt((~!e) + (~!f)*(~x))* sqrt((~!g) + (~!h)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) && + gt(((~d)*(~e) - (~c)*(~f))/(~d), 0) ? +-2*int_and_subst(1⨸(simplify((~b)*(~c) - (~a)*(~d) - (~b)*(~x)^2, (~x))* sqrt(simplify(((~d)*(~e) - (~c)*(~f))⨸(~d) + (~f)*(~x)^2⨸(~d), (~x)))* sqrt(simplify(((~d)*(~g) - (~c)*(~h))⨸(~d) + (~h)*(~x)^2⨸(~d), (~x)))), (~x), (~x), sqrt((~c) + (~d)*(~x)), "1_1_1_4_28") : nothing)) + +("1_1_1_4_29", +:(∫(1/(((~!a) + (~!b)*(~x))*sqrt((~!c) + (~!d)*(~x))*sqrt((~!e) + (~!f)*(~x))* sqrt((~!g) + (~!h)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) && + !(simpler((~e) + (~f)*(~x), (~c) + (~d)*(~x))) && + !(simpler((~g) + (~h)*(~x), (~c) + (~d)*(~x))) ? +-2*int_and_subst(1⨸(simplify((~b)*(~c) - (~a)*(~d) - (~b)*(~x)^2, (~x))* sqrt(simplify(((~d)*(~e) - (~c)*(~f))⨸(~d) + (~f)*(~x)^2⨸(~d), (~x)))* sqrt(simplify(((~d)*(~g) - (~c)*(~h))⨸(~d) + (~h)*(~x)^2⨸(~d), (~x)))), (~x), (~x), sqrt((~c) + (~d)*(~x)), "1_1_1_4_29") : nothing)) + +# (* Int[1/(Sqrt[a_.+b_.*x_]*Sqrt[c_.+d_.*x_]*Sqrt[e_.+f_.*x_]*Sqrt[g_.+ h_.*x_]),x_Symbol] := -2*(a+b*x)*Sqrt[(b*g-a*h)*(c+d*x)/((d*g-c*h)*(a+b*x))]*Sqrt[(b*g-a* h)*(e+f*x)/((f*g-e*h)*(a+b*x))]/ ((b*g-a*h)*Sqrt[c+d*x]*Sqrt[e+f*x])* Subst[Int[1/(Sqrt[1+(b*c-a*d)*x^2/(d*g-c*h)]*Sqrt[1+(b*e-a*f)*x^2/ (f*g-e*h)]),x],x,Sqrt[g+h*x]/Sqrt[a+b*x]] /; FreeQ[{a,b,c,d,e,f,g,h},x] *) +("1_1_1_4_30", +:(∫(1/(sqrt((~!a) + (~!b)*(~x))*sqrt((~!c) + (~!d)*(~x))*sqrt((~!e) + (~!f)*(~x))* sqrt((~!g) + (~!h)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) ? +2*sqrt((~g) + (~h)*(~x))*sqrt(((~b)*(~e) - (~a)*(~f))*((~c) + (~d)*(~x))⨸(((~d)*(~e) - (~c)*(~f))*((~a) + (~b)*(~x))))⨸ (((~f)*(~g) - (~e)*(~h))*sqrt((~c) + (~d)*(~x))* sqrt(-((~b)*(~e) - (~a)*(~f))*((~g) + (~h)*(~x))⨸(((~f)*(~g) - (~e)*(~h))*((~a) + (~b)*(~x)))))* int_and_subst(1⨸(sqrt(1 + ((~b)*(~c) - (~a)*(~d))*(~x)^2⨸((~d)*(~e) - (~c)*(~f)))* sqrt(1 - ((~b)*(~g) - (~a)*(~h))*(~x)^2⨸((~f)*(~g) - (~e)*(~h)))), (~x), (~x), sqrt((~e) + (~f)*(~x))⨸sqrt((~a) + (~b)*(~x)), "1_1_1_4_30") : nothing)) + +("1_1_1_4_31", +:(∫(1/(((~!a) + (~!b)*(~x))^(3//2)*sqrt((~!c) + (~!d)*(~x))*sqrt((~!e) + (~!f)*(~x))* sqrt((~!g) + (~!h)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) ? +-(~d)⨸((~b)*(~c) - (~a)*(~d))* ∫(1⨸(sqrt((~a) + (~b)*(~x))*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) + (~b)⨸((~b)*(~c) - (~a)*(~d))* ∫(sqrt((~c) + (~d)*(~x))⨸(((~a) + (~b)*(~x))^(3⨸2)*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) : nothing)) + +("1_1_1_4_32", +:(∫(((~!a) + (~!b)*(~x))^ (~m)/(sqrt((~!c) + (~!d)*(~x))*sqrt((~!e) + (~!f)*(~x))*sqrt((~!g) + (~!h)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) && + ext_isinteger(2*(~m)) && + le((~m), -2) ? +(~b)^2*((~a) + (~b)*(~x))^((~m) + 1)*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))*((~b)*(~g) - (~a)*(~h))) - 1⨸(2*((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))*((~b)*(~g) - (~a)*(~h)))* ∫((((~a) + (~b)*(~x))^((~m) + 1)⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))))* simplify(2*(~a)^2*(~d)*(~f)*(~h)*((~m) + 1) - 2*(~a)*(~b)*((~m) + 1)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h)) + (~b)^2*(2*(~m) + 3)*((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h)) - 2*(~b)*((~a)*(~d)*(~f)*(~h)*((~m) + 1) - (~b)*((~m) + 2)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h)))*(~x) + (~d)*(~f)*(~h)*(2*(~m) + 5)*(~b)^2*(~x)^2, (~x)), (~x)) : nothing)) + +("1_1_1_4_33", +:(∫(sqrt((~!a) + (~!b)*(~x))* sqrt((~!c) + (~!d)*(~x))/(sqrt((~!e) + (~!f)*(~x))*sqrt((~!g) + (~!h)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) ? +sqrt((~a) + (~b)*(~x))*sqrt((~c) + (~d)*(~x))*sqrt((~g) + (~h)*(~x))⨸((~h)*sqrt((~e) + (~f)*(~x))) + ((~d)*(~e) - (~c)*(~f))*((~b)*(~f)*(~g) + (~b)*(~e)*(~h) - 2*(~a)*(~f)*(~h))⨸(2*(~f)^2*(~h))* ∫(1⨸(sqrt((~a) + (~b)*(~x))*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) + ((~a)*(~d)*(~f)*(~h) - (~b)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) - (~c)*(~f)*(~h)))⨸(2*(~f)^2*(~h))* ∫(sqrt((~e) + (~f)*(~x))⨸(sqrt((~a) + (~b)*(~x))*sqrt((~c) + (~d)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) - ((~d)*(~e) - (~c)*(~f))*((~f)*(~g) - (~e)*(~h))⨸(2*(~f)*(~h))* ∫(sqrt((~a) + (~b)*(~x))⨸(sqrt((~c) + (~d)*(~x))*((~e) + (~f)*(~x))^(3⨸2)*sqrt((~g) + (~h)*(~x))), (~x)) : nothing)) + +("1_1_1_4_34", +:(∫(((~!a) + (~!b)*(~x))^(~m)* sqrt((~!c) + (~!d)*(~x))/(sqrt((~!e) + (~!f)*(~x))*sqrt((~!g) + (~!h)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~x)) && + ext_isinteger(2*(~m)) && + gt((~m), 1) ? +2*(~b)*((~a) + (~b)*(~x))^((~m) - 1)*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))⨸((~f)*(~h)*(2*(~m) + 1)) - 1⨸((~f)*(~h)*(2*(~m) + 1))* ∫((((~a) + (~b)*(~x))^((~m) - 2)⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))))* simplify((~a)*(~b)*((~d)*(~e)*(~g) + (~c)*((~f)*(~g) + (~e)*(~h))) + 2*(~b)^2*(~c)*(~e)*(~g)*((~m) - 1) - (~a)^2*(~c)*(~f)*(~h)*(2*(~m) + 1) + ((~b)^2*(2*(~m) - 1)*((~d)*(~e)*(~g) + (~c)*((~f)*(~g) + (~e)*(~h))) - (~a)^2*(~d)*(~f)*(~h)*(2*(~m) + 1) + 2*(~a)*(~b)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) - 2*(~c)*(~f)*(~h)*(~m)))* (~x) - (~b)*((~a)*(~d)*(~f)*(~h)*(4*(~m) - 1) + (~b)*((~c)*(~f)*(~h) - 2*(~d)*((~f)*(~g) + (~e)*(~h))*(~m)))*(~x)^2, (~x)), (~x)) : nothing)) + +("1_1_1_4_35", +:(∫(sqrt( (~!c) + (~!d)*(~x))/(((~!a) + (~!b)*(~x))*sqrt((~!e) + (~!f)*(~x))* sqrt((~!g) + (~!h)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) ? +(~d)⨸(~b)*∫(1⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) + ((~b)*(~c) - (~a)*(~d))⨸(~b)* ∫(1⨸(((~a) + (~b)*(~x))*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) : nothing)) + +# (* Int[Sqrt[c_.+d_.*x_]/((a_.+b_.*x_)^(3/2)*Sqrt[e_.+f_.*x_]*Sqrt[g_.+ h_.*x_]),x_Symbol] := -2*Sqrt[c+d*x]*Sqrt[(b*g-a*h)*(e+f*x)/((f*g-e*h)*(a+b*x))]/ ((b*g-a*h)*Sqrt[e+f*x]*Sqrt[(b*g-a*h)*(c+d*x)/((d*g-c*h)*(a+b*x))] )* Subst[Int[Sqrt[1+(b*c-a*d)*x^2/(d*g-c*h)]/Sqrt[1+(b*e-a*f)*x^2/(f* g-e*h)],x],x,Sqrt[g+h*x]/Sqrt[a+b*x]] /; FreeQ[{a,b,c,d,e,f,g,h},x] *) +("1_1_1_4_36", +:(∫(sqrt( (~!c) + (~!d)*(~x))/(((~!a) + (~!b)*(~x))^(3//2)*sqrt((~!e) + (~!f)*(~x))* sqrt((~!g) + (~!h)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) ? +-2*sqrt((~c) + (~d)*(~x))* sqrt(-((~b)*(~e) - (~a)*(~f))*((~g) + (~h)*(~x))⨸(((~f)*(~g) - (~e)*(~h))*((~a) + (~b)*(~x))))⨸ (((~b)*(~e) - (~a)*(~f))*sqrt((~g) + (~h)*(~x))* sqrt(((~b)*(~e) - (~a)*(~f))*((~c) + (~d)*(~x))⨸(((~d)*(~e) - (~c)*(~f))*((~a) + (~b)*(~x)))))* int_and_subst(sqrt(1 + ((~b)*(~c) - (~a)*(~d))*(~x)^2⨸((~d)*(~e) - (~c)*(~f)))⨸ sqrt(1 - ((~b)*(~g) - (~a)*(~h))*(~x)^2⨸((~f)*(~g) - (~e)*(~h))), (~x), (~x), sqrt((~e) + (~f)*(~x))⨸sqrt((~a) + (~b)*(~x)), "1_1_1_4_36") : nothing)) + +("1_1_1_4_37", +:(∫(((~!a) + (~!b)*(~x))^(~m)* sqrt((~!c) + (~!d)*(~x))/(sqrt((~!e) + (~!f)*(~x))*sqrt((~!g) + (~!h)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~x)) && + ext_isinteger(2*(~m)) && + le((~m), -2) ? +(~b)*((~a) + (~b)*(~x))^((~m) + 1)*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))⨸(((~m) + 1)*((~b)*(~e) - (~a)*(~f))*((~b)*(~g) - (~a)*(~h))) + 1⨸(2*((~m) + 1)*((~b)*(~e) - (~a)*(~f))*((~b)*(~g) - (~a)*(~h)))* ∫((((~a) + (~b)*(~x))^((~m) + 1)⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))))* simplify(2*(~a)*(~c)*(~f)*(~h)*((~m) + 1) - (~b)*((~d)*(~e)*(~g) + (~c)*(2*(~m) + 3)*((~f)*(~g) + (~e)*(~h))) + 2*((~a)*(~d)*(~f)*(~h)*((~m) + 1) - (~b)*((~m) + 2)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h)))*(~x) - (~b)*(~d)*(~f)*(~h)*(2*(~m) + 5)*(~x)^2, (~x)), (~x)) : nothing)) + +("1_1_1_4_38", +:(∫(((~!e) + (~!f)*(~x))^ (~p)*((~!g) + (~!h)*(~x))^(~q)/(((~!a) + (~!b)*(~x))*((~!c) + (~!d)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~q), (~x)) && + lt(0, (~p), 1) ? +((~b)*(~e) - (~a)*(~f))⨸((~b)*(~c) - (~a)*(~d))* ∫(((~e) + (~f)*(~x))^((~p) - 1)*((~g) + (~h)*(~x))^(~q)⨸((~a) + (~b)*(~x)), (~x)) - ((~d)*(~e) - (~c)*(~f))⨸((~b)*(~c) - (~a)*(~d))* ∫(((~e) + (~f)*(~x))^((~p) - 1)*((~g) + (~h)*(~x))^(~q)⨸((~c) + (~d)*(~x)), (~x)) : nothing)) + +("1_1_1_4_39", +:(∫(((~!a) + (~!b)*(~x))^ (~!m)*((~!c) + (~!d)*(~x))^(~n)/(sqrt((~!e) + (~!f)*(~x))*sqrt((~!g) + (~!h)*(~x))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) && + ext_isinteger((~m)) && + ext_isinteger((~n) + 1/2) ? +∫(ext_expand( 1⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), ((~a) + (~b)*(~x))^ (~m)*((~c) + (~d)*(~x))^((~n) + 1⨸2), (~x)), (~x)) : nothing)) + +("1_1_1_4_40", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^ (~p)*((~!g) + (~!h)*(~x))^(~q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~x)) && + ext_isinteger((~p), (~q)) ? +∫(ext_expand(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)*((~g) + (~h)*(~x))^ (~q), (~x)), (~x)) : nothing)) + +("1_1_1_4_41", +:(∫(((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^ (~p)*((~!g) + (~!h)*(~x))^(~q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~p), (~x)) && + igt((~q), 0) && + ( + sumsimpler((~m), 1) || + !(sumsimpler((~n), 1)) && + !(sumsimpler((~p), 1)) + ) ? +(~h)⨸(~b)*∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^ (~p)*((~g) + (~h)*(~x))^((~q) - 1), (~x)) + ((~b)*(~g) - (~a)*(~h))⨸(~b)* ∫(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)*((~g) + (~h)*(~x))^((~q) - 1), (~x)) : nothing)) + +# instead of producing the same integral with a function cannot integrate, if i +# remove this rule it will not be applied and the expressions will remain with the ∫ sign +# ("1_1_1_4_42", +# @rule ∫(((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^ (~!p)*((~!g) + (~!h)*(~x))^(~!q),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~p), (~q), (~x)) ? +# CannotIntegrate[((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)*((~g) + (~h)*(~x))^(~q), (~x)] : nothing) + +("1_1_1_4_43", +:(∫(((~!a) + (~!b)*(~u))^(~!m)*((~!c) + (~!d)*(~u))^(~!n)*((~!e) + (~!f)*(~u))^ (~!p)*((~!g) + (~!h)*(~u))^(~!q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~p), (~q), (~x)) && + linear((~u), (~x)) && + !eq((~u), (~x)) ? +1⨸Symbolics.coeff((~u), (~x), 1)* int_and_subst(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)*((~g) + (~h)*(~x))^(~q), (~x), (~x), (~u), "1_1_1_4_43") : nothing)) + +("1_1_1_4_44", +:(∫(((~!i)*((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^ (~p)*((~!g) + (~!h)*(~x))^(~q))^(~r),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~m), (~n), (~p), (~q), (~r), (~x)) ? +((~i)*((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)*((~g) + (~h)*(~x))^(~q))^ (~r)⨸(((~a) + (~b)*(~x))^((~m)*(~r))*((~c) + (~d)*(~x))^((~n)*(~r))*((~e) + (~f)*(~x))^((~p)*(~r))*((~g) + (~h)*(~x))^((~q)* (~r)))* ∫(((~a) + (~b)*(~x))^((~m)*(~r))*((~c) + (~d)*(~x))^((~n)*(~r))*((~e) + (~f)*(~x))^((~p)*(~r))*((~g) + (~h)*(~x))^((~q)*(~r)), (~x)) : nothing)) + +("1_1_1_4_45", +:(∫((~u)^(~m),(~x)) ) => :( + !contains_var((~m), (~x)) && + linear((~u), (~x)) && + !(linear_without_simplify((~u), (~x))) ? +∫(expand_to_sum((~u), (~x))^(~m), (~x)) : nothing)) + +("1_1_1_4_46", +:(∫((~u)^(~!m)*(~v)^(~!n),(~x)) ) => :( + !contains_var((~m), (~n), (~x)) && + linear((~u), (~v), (~x)) && + !(linear_without_simplify((~u), (~v), (~x))) ? +∫(expand_to_sum((~u), (~x))^(~m)*expand_to_sum((~v), (~x))^(~n), (~x)) : nothing)) + +("1_1_1_4_47", +:(∫((~u)^(~!m)*(~v)^(~!n)*(~w)^(~!p),(~x)) ) => :( + !contains_var((~m), (~n), (~p), (~x)) && + linear((~u), (~v), (~w), (~x)) && + !(linear_without_simplify((~u), (~v), (~w), (~x))) ? +∫(expand_to_sum((~u), (~x))^(~m)*expand_to_sum((~v), (~x))^(~n)*expand_to_sum((~w), (~x))^(~p), (~x)) : nothing)) + +("1_1_1_4_48", +:(∫((~u)^(~!m)*(~v)^(~!n)*(~w)^(~!p)*(~z)^(~!q),(~x)) ) => :( + !contains_var((~m), (~n), (~p), (~q), (~x)) && + linear((~u), (~v), (~w), (~z), (~x)) && + !(linear_without_simplify((~u), (~v), (~w), (~z), (~x))) ? +∫(expand_to_sum((~u), (~x))^(~m)*expand_to_sum((~v), (~x))^(~n)*expand_to_sum((~w), (~x))^(~p)* expand_to_sum((~z), (~x))^(~q), (~x)) : nothing)) + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.5 P(x) (a+b x)^m (c+d x)^n.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.5 P(x) (a+b x)^m (c+d x)^n.jl new file mode 100644 index 0000000..4cddf4e --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.5 P(x) (a+b x)^m (c+d x)^n.jl @@ -0,0 +1,73 @@ +file_rules = [ +# (* ::Subsection::Closed:: *) +# (* 1.1.1.5 P(x) (a+b x)^m (c+d x)^n *) +("1_1_1_5_1", +:(∫((~Px)*((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + poly((~Px), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~m), (~n)) && + ( + ext_isinteger((~m)) || + gt((~a), 0) && + gt((~c), 0) + ) ? +∫((~Px)*((~a)*(~c) + (~b)*(~d)*(~x)^2)^(~m), (~x)) : nothing)) + +("1_1_1_5_2", +:(∫((~Px)*((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + poly((~Px), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~m), (~n)) && + !(ext_isinteger((~m))) ? +((~a) + (~b)*(~x))^ fracpart((~m))*((~c) + (~d)*(~x))^fracpart((~m))⨸((~a)*(~c) + (~b)*(~d)*(~x)^2)^fracpart((~m))* ∫((~Px)*((~a)*(~c) + (~b)*(~d)*(~x)^2)^(~m), (~x)) : nothing)) + +("1_1_1_5_3", +:(∫((~Px)*((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + poly((~Px), (~x)) && + eq(poly_remainder((~Px), (~a) + (~b)*(~x), (~x)), 0) ? +∫(poly_quotient((~Px), (~a) + (~b)*(~x), (~x))*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^ (~n), (~x)) : nothing)) + +("1_1_1_5_4", +:(∫((~Px)*((~!c) + (~!d)*(~x))^(~!n)/((~!a) + (~!b)*(~x)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + poly((~Px), (~x)) && + ilt((~n) + 1/2, 0) && + gt(exponent_of((~Px), (~x)), 2) ? +∫(ext_expand(1⨸sqrt((~c) + (~d)*(~x)), (~Px)*((~c) + (~d)*(~x))^((~n) + 1⨸2)⨸((~a) + (~b)*(~x)), (~x)), (~x)) : nothing)) + +("1_1_1_5_5", +:(∫((~Px)*((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + poly((~Px), (~x)) && + ( + ext_isinteger((~m), (~n)) || + igt((~m), -2) + ) && + gt(exponent_of((~Px), (~x)), 2) ? +∫(ext_expand((~Px)*((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n), (~x)), (~x)) : nothing)) + +# ("1_1_1_5_6", +# @rule ∫((~Px)*((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && +# poly((~Px), (~x)) && +# ilt((~m), -1) && +# gt(exponent_of((~Px), (~x)), 2) ? +# (~R)*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))) + 1⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d)))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)* expand_to_sum(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*poly_quotient((~Px), (~a) + (~b)*(~x), (~x)), (~R) = poly_remainder((~Px), (~a) + (~b)*(~x), (~x)) - (~d)*(~R)*((~m) + (~n) + 2), (~x)), (~x)) : nothing) + +# ("1_1_1_5_7", +# @rule ∫((~Px)*((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && +# poly((~Px), (~x)) && +# lt((~m), -1) && +# gt(exponent_of((~Px), (~x)), 2) ? +# (~R)*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))) + 1⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d)))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)* expand_to_sum(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*poly_quotient((~Px), (~a) + (~b)*(~x), (~x)), (~R) = poly_remainder((~Px), (~a) + (~b)*(~x), (~x)) - (~d)*(~R)*((~m) + (~n) + 2), (~x)), (~x)) : nothing) + +# ("1_1_1_5_8", +# @rule ∫((~Px)*((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n),(~x)) => +# !eq((~m) + (~n) + (~q) + 1, 0)] ? +# (~k)*((~a) + (~b)*(~x))^((~m) + exponent_of((~Px), (~x)), (~k) = Coeff[(~Px), (~x), exponent_of((~Px), (~x))])*((~c) + (~d)*(~x))^((~n) + 1)⨸((~d)*(~b)^exponent_of((~Px), (~x)), (~k) = Coeff[(~Px), (~x), exponent_of((~Px), (~x))]*((~m) + (~n) + exponent_of((~Px), (~x)), (~k) = Coeff[(~Px), (~x), exponent_of((~Px), (~x))] + 1)) + 1⨸((~d)*(~b)^exponent_of((~Px), (~x)), (~k) = Coeff[(~Px), (~x), exponent_of((~Px), (~x))]*((~m) + (~n) + exponent_of((~Px), (~x)), (~k) = Coeff[(~Px), (~x), exponent_of((~Px), (~x))] + 1))*∫(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)* expand_to_sum( (~d)*(~b)^exponent_of((~Px), (~x)), (~k) = Coeff[(~Px), (~x), exponent_of((~Px), (~x)))*((~m) + (~n) + exponent_of((~Px), (~x)), (~k) = Coeff[(~Px), (~x), exponent_of((~Px), (~x))] + 1)*(~Px) - (~d)*(~k)*((~m) + (~n) + exponent_of((~Px), (~x)), (~k) = Coeff[(~Px), (~x), exponent_of((~Px), (~x))] + 1)*((~a) + (~b)*(~x))^exponent_of((~Px), (~x)), (~k) = Coeff[(~Px), (~x), exponent_of((~Px), (~x))] - (~k)*((~b)*(~c) - (~a)*(~d))*((~m) + exponent_of((~Px), (~x)), (~k) = Coeff[(~Px), (~x), exponent_of((~Px), (~x))])*((~a) + (~b)*(~x))^(exponent_of((~Px), (~x)), (~k) = Coeff[(~Px), (~x), exponent_of((~Px), (~x))] - 1), (~x)), (~x) : nothing) + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.6 P(x) (a+b x)^m (c+d x)^n (e+f x)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.6 P(x) (a+b x)^m (c+d x)^n (e+f x)^p.jl new file mode 100644 index 0000000..c6a26ee --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.6 P(x) (a+b x)^m (c+d x)^n (e+f x)^p.jl @@ -0,0 +1,63 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.1.1.6 P(x) (a+b x)^m (c+d x)^n (e+f x)^p *) +("1_1_1_6_1", +:(∫((~Px)*((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + poly((~Px), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~m), (~n)) && + ( + ext_isinteger((~m)) || + gt((~a), 0) && + gt((~c), 0) + ) ? +∫((~Px)*((~a)*(~c) + (~b)*(~d)*(~x)^2)^(~m)*((~e) + (~f)*(~x))^(~p), (~x)) : nothing)) + +("1_1_1_6_2", +:(∫((~Px)*((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + poly((~Px), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~m), (~n)) && + !(ext_isinteger((~m))) ? +((~a) + (~b)*(~x))^ fracpart((~m))*((~c) + (~d)*(~x))^fracpart((~m))⨸((~a)*(~c) + (~b)*(~d)*(~x)^2)^fracpart((~m))* ∫((~Px)*((~a)*(~c) + (~b)*(~d)*(~x)^2)^(~m)*((~e) + (~f)*(~x))^(~p), (~x)) : nothing)) + +("1_1_1_6_3", +:(∫((~Px)*((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + poly((~Px), (~x)) && + eq(poly_remainder((~Px), (~a) + (~b)*(~x), (~x)), 0) ? +∫(poly_quotient((~Px), (~a) + (~b)*(~x), (~x))*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^ (~n)*((~e) + (~f)*(~x))^(~p), (~x)) : nothing)) + +("1_1_1_6_4", +:(∫((~Px)*((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + poly((~Px), (~x)) && + ext_isinteger((~m), (~n)) ? +∫(ext_expand((~Px)*((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p), (~x)), (~x)) : nothing)) + +("1_1_1_6_5", +:(∫((~Px)*((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && + poly((~Px), (~x)) && + ilt((~m), -1) ? +(~b)*poly_remainder((~Px), (~a) + (~b)*(~x), (~x))*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))) + 1⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f)))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)* expand_to_sum(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))*poly_quotient((~Px), (~a) + (~b)*(~x), (~x)) + (~a)*(~d)*(~f)*poly_remainder((~Px), (~a) + (~b)*(~x), (~x))*((~m) + 1) - (~b)*poly_remainder((~Px), (~a) + (~b)*(~x), (~x))*((~d)*(~e)*((~m) + (~n) + 2) + (~c)*(~f)*((~m) + (~p) + 2)) - (~b)*(~d)*(~f)*poly_remainder((~Px), (~a) + (~b)*(~x), (~x))*((~m) + (~n) + (~p) + 3)*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_6_6", +:(∫((~Px)*((~!a) + (~!b)*(~x))^(~m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && + poly((~Px), (~x)) && + lt((~m), -1) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +(~b)*poly_remainder((~Px), (~a) + (~b)*(~x), (~x))*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))) + 1⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f)))* ∫(((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)* expand_to_sum(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))*poly_quotient((~Px), (~a) + (~b)*(~x), (~x)) + (~a)*(~d)*(~f)*poly_remainder((~Px), (~a) + (~b)*(~x), (~x))*((~m) + 1) - (~b)*poly_remainder((~Px), (~a) + (~b)*(~x), (~x))*((~d)*(~e)*((~m) + (~n) + 2) + (~c)*(~f)*((~m) + (~p) + 2)) - (~b)*(~d)*(~f)*poly_remainder((~Px), (~a) + (~b)*(~x), (~x))*((~m) + (~n) + (~p) + 3)*(~x), (~x)), (~x)) : nothing)) + +("1_1_1_6_7", +:(∫((~Px)*((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + poly((~Px), (~x)) && + !eq((~m) + (~n) + (~p) + exponent_of((~Px), (~x)) + 1, 0) ? +ext_coeff((~Px), (~x), exponent_of((~Px), (~x)))*((~a) + (~b)*(~x))^((~m) + exponent_of((~Px), (~x)) - 1)*((~c) + (~d)*(~x))^((~n) + 1)*((~e) + (~f)*(~x))^((~p) + 1)⨸((~d)*(~f)* (~b)^(exponent_of((~Px), (~x)) - 1)*((~m) + (~n) + (~p) + exponent_of((~Px), (~x)) + 1)) + 1⨸((~d)*(~f)*(~b)^exponent_of((~Px), (~x))*((~m) + (~n) + (~p) + exponent_of((~Px), (~x)) + 1))* ∫(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)* expand_to_sum( (~d)*(~f)*(~b)^exponent_of((~Px), (~x))*((~m) + (~n) + (~p) + exponent_of((~Px), (~x)) + 1)*(~Px) - (~d)*(~f)*ext_coeff((~Px), (~x), exponent_of((~Px), (~x)))*((~m) + (~n) + (~p) + exponent_of((~Px), (~x)) + 1)*((~a) + (~b)*(~x))^exponent_of((~Px), (~x)) + ext_coeff((~Px), (~x), exponent_of((~Px), (~x)))*((~a) + (~b)*(~x))^(exponent_of((~Px), (~x)) - 2)*((~a)^2*(~d)*(~f)*((~m) + (~n) + (~p) + exponent_of((~Px), (~x)) + 1) - (~b)*((~b)*(~c)*(~e)*((~m) + exponent_of((~Px), (~x)) - 1) + (~a)*((~d)*(~e)*((~n) + 1) + (~c)*(~f)*((~p) + 1))) + (~b)*((~a)*(~d)*(~f)*(2*((~m) + exponent_of((~Px), (~x))) + (~n) + (~p)) - (~b)*((~d)*(~e)*((~m) + exponent_of((~Px), (~x)) + (~n)) + (~c)*(~f)*((~m) + exponent_of((~Px), (~x)) + (~p))))*(~x)), (~x)), (~x)) : nothing)) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.7 P(x) (a+b x)^m (c+d x)^n (e+f x)^p (g+h x)^q.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.7 P(x) (a+b x)^m (c+d x)^n (e+f x)^p (g+h x)^q.jl new file mode 100644 index 0000000..8ecd66b --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.7 P(x) (a+b x)^m (c+d x)^n (e+f x)^p (g+h x)^q.jl @@ -0,0 +1,200 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.1.1.7 P(x) (a+b x)^m (c+d x)^n (e+f x)^p (g+h x)^q *) +# ("1_1_1_7_1", +# @rule ∫((~Px)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => +# ext_coeff((~Px), (~x), (~n) - 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*(~n)*((~p) + 1)) + ∫(((~Px) - ext_coeff((~Px), (~x), (~n) - 1)*(~x)^((~n) - 1))*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) ⨸; FreeQ[{(~a), (~b)}, (~x)] && PolyQ[(~Px), (~x)] && IGtQ[(~p), 1] && IGtQ[(~n), 1] && NeQ[ext_coeff((~Px), (~x), (~n) - 1), 0] && NeQ[(~Px), ext_coeff((~Px), (~x), (~n) - 1)*(~x)^((~n) - 1)] && Not[MatchQ[(~Px), Qx_.*(c_ + d_.*(~x)^m_)^q_ ⨸; FreeQ[{(~c), (~d)}, (~x)] && PolyQ[(~Qx), (~x)] && IGtQ[(~q), 1] && IGtQ[(~m), 1] && NeQ[ext_coeff((~Qx)*((~a) + (~b)*(~x)^(~n))^(~p), (~x), (~m) - 1), 0] && GtQ[(~m)*(~q), (~n)*(~p)]]]) + +("1_1_1_7_2", +@rule ∫((~Px)*(~x)^(~!m)*((~a) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~m), (~n), (~x)) && + poly((~Px), (~x)) && + igt((~p), 1) && + igt((~n) - (~m), 0) && + !eq(ext_coeff((~Px), (~x), (~n) - (~m) - 1), 0) ? +ext_coeff((~Px), (~x), (~n) - (~m) - 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*(~n)*((~p) + 1)) + ∫(((~Px) - ext_coeff((~Px), (~x), (~n) - (~m) - 1)*(~x)^((~n) - (~m) - 1))* (~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +("1_1_1_7_3", +@rule ∫((~!u)*(~x)^(~!m)*((~!a)*(~x)^(~!p) + (~!b)*(~x)^(~!q))^(~!n),(~x)) => + !contains_var((~a), (~b), (~m), (~p), (~q), (~x)) && + ext_isinteger((~n)) && + pos((~q) - (~p)) ? +∫((~u)*(~x)^((~m) + (~n)*(~p))*((~a) + (~b)*(~x)^((~q) - (~p)))^(~n), (~x)) : nothing) + +("1_1_1_7_4", +@rule ∫((~!u)*(~x)^(~!m)*((~!a)*(~x)^(~!p) + (~!b)*(~x)^(~!q) + (~!c)*(~x)^(~!r))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~p), (~q), (~r), (~x)) && + ext_isinteger((~n)) && + pos((~q) - (~p)) && + pos((~r) - (~p)) ? +∫((~u)*(~x)^((~m) + (~n)*(~p))*((~a) + (~b)*(~x)^((~q) - (~p)) + (~c)*(~x)^((~r) - (~p)))^(~n), (~x)) : nothing) + +("1_1_1_7_5", +@rule ∫((~!u)*(~Px)^(~!p)*(~Qx)^(~!q),(~x)) => + !contains_var((~q), (~x)) && + poly((~Px), (~x)) && + poly((~Qx), (~x)) && + eq(poly_remainder((~Px), (~Qx), (~x)), 0) && + ext_isinteger((~p)) && + lt((~p)*(~q), 0) ? +∫((~u)*poly_quotient((~Px), (~Qx), (~x))^(~p)*(~Qx)^((~p) + (~q)), (~x)) : nothing) + +("1_1_1_7_6", +@rule ∫((~Pp)/(~Qq),(~x)) => + poly((~Pp), (~x)) && + poly((~Qq), (~x)) && + eq(exponent_of((~Pp), (~x)), exponent_of((~Qq), (~x)) - 1) && + eq((~Pp), simplify( ext_coeff((~Pp), (~x), exponent_of((~Pp), (~x)))/(exponent_of((~Qq), (~x))*ext_coeff((~Qq), (~x), exponent_of((~Qq), (~x))))*Symbolics.derivative((~Qq), (~x)))) ? +ext_coeff((~Pp), (~x), exponent_of((~Pp), (~x)))*log((~Qq))⨸(exponent_of((~Qq), (~x))*ext_coeff((~Qq), (~x), exponent_of((~Qq), (~x)))) : nothing) + +("1_1_1_7_7", +@rule ∫((~Pp)*(~Qq)^(~!m),(~x)) => + !contains_var((~m), (~x)) && + poly((~Pp), (~x)) && + poly((~Qq), (~x)) && + !eq((~m), -1) && + !eq(exponent_of((~Pp), (~x)) + (~m)*exponent_of((~Qq), (~x)) + 1, 0) && + eq((exponent_of((~Pp), (~x)) + (~m)*exponent_of((~Qq), (~x)) + 1)*ext_coeff((~Qq), (~x), exponent_of((~Qq), (~x)))*(~Pp), ext_coeff((~Pp), (~x), exponent_of((~Pp), (~x)))* (~x)^(exponent_of((~Pp), (~x)) - exponent_of((~Qq), (~x)))*((exponent_of((~Pp), (~x)) - exponent_of((~Qq), (~x)) + 1)*(~Qq) + ((~m) + 1)*(~x)*Symbolics.derivative((~Qq), (~x)))) ? +ext_coeff((~Pp), (~x), exponent_of((~Pp), (~x)))*(~x)^(exponent_of((~Pp), (~x)) - exponent_of((~Qq), (~x)) + 1)* (~Qq)^((~m) + 1)⨸((exponent_of((~Pp), (~x)) + (~m)*exponent_of((~Qq), (~x)) + 1)*ext_coeff((~Qq), (~x), exponent_of((~Qq), (~x)))) : nothing) + +("1_1_1_7_8", +@rule ∫((~x)^(~!m)*((~a1) + (~!b1)*(~x)^(~!n))^(~p)*((~a2) + (~!b2)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a1), (~b1), (~a2), (~b2), (~m), (~n), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + eq((~m) - 2*(~n) + 1, 0) && + !eq((~p), -1) ? +((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1)⨸(2*(~b1)*(~b2)*(~n)*((~p) + 1)) : nothing) + +("1_1_1_7_9", +@rule ∫((~Pp)*(~Qq)^(~!m)*(~Rr)^(~!n),(~x)) => + !contains_var((~m), (~n), (~x)) && + poly((~Pp), (~x)) && + poly((~Qq), (~x)) && + poly((~Rr), (~x)) && + !eq((~m), -1) && + !eq((~n), -1) && + !eq(exponent_of((~Pp), (~x)) + (~m)*exponent_of((~Qq), (~x)) + (~n)*exponent_of((~Rr), (~x)) + 1, 0) && + eq((exponent_of((~Pp), (~x)) + (~m)*exponent_of((~Qq), (~x)) + (~n)*exponent_of((~Rr), (~x)) + 1)*ext_coeff((~Qq), (~x), exponent_of((~Qq), (~x)))*ext_coeff((~Rr), (~x), exponent_of((~Rr), (~x)))*(~Pp), ext_coeff((~Pp), (~x), exponent_of((~Pp), (~x)))* (~x)^(exponent_of((~Pp), (~x)) - exponent_of((~Qq), (~x)) - exponent_of((~Rr), (~x)))*((exponent_of((~Pp), (~x)) - exponent_of((~Qq), (~x)) - exponent_of((~Rr), (~x)) + 1)*(~Qq)*(~Rr) + ((~m) + 1)*(~x)*(~Rr)* Symbolics.derivative((~Qq), (~x)) + ((~n) + 1)*(~x)*(~Qq)*Symbolics.derivative((~Rr), (~x)))) ? +ext_coeff((~Pp), (~x), exponent_of((~Pp), (~x)))*(~x)^(exponent_of((~Pp), (~x)) - exponent_of((~Qq), (~x)) - exponent_of((~Rr), (~x)) + 1)*(~Qq)^((~m) + 1)* (~Rr)^((~n) + 1)⨸((exponent_of((~Pp), (~x)) + (~m)*exponent_of((~Qq), (~x)) + (~n)*exponent_of((~Rr), (~x)) + 1)*ext_coeff((~Qq), (~x), exponent_of((~Qq), (~x)))* ext_coeff((~Rr), (~x), exponent_of((~Rr), (~x)))) : nothing) + +("1_1_1_7_10", +@rule ∫((~Qr)*((~!a) + (~!b)*(~Pq)^(~!n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~n), (~p), (~x)) && + poly((~Pq), (~x)) && + poly((~Qr), (~x)) && + eq(exponent_of((~Qr), (~x)), exponent_of((~Pq), (~x)) - 1) && + eq(ext_coeff((~Qr), (~x), exponent_of((~Qr), (~x)))*Symbolics.derivative((~Pq), (~x)), exponent_of((~Pq), (~x))*ext_coeff((~Pq), (~x), exponent_of((~Pq), (~x)))*(~Qr)) ? +ext_coeff((~Qr), (~x), exponent_of((~Qr), (~x)))⨸(exponent_of((~Pq), (~x))*ext_coeff((~Pq), (~x), exponent_of((~Pq), (~x))))* int_and_subst(((~a) + (~b)*(~x)^(~n))^(~p), (~x), (~x), (~Pq), "1_1_1_7_10") : nothing) + +# ("1_1_1_7_11", +# @rule ∫((~Qr)*((~!a) + (~!b)*(~Pq)^(~!n) + (~!c)*(~Pq)^(~!n2))^(~!p),(~x)) => +# Module[{(~q) = exponent_of((~Pq), (~x)), (~r) = exponent_of((~Qr), (~x))}, ext_coeff((~Qr), (~x), (~r))⨸((~q)*ext_coeff((~Pq), (~x), (~q)))* int_and_subst(((~a) + (~b)*(~x)^(~n) + (~c)*(~x)^(2*(~n)))^(~p), (~x), (~x), (~Pq), "1_1_1_7_11") ⨸; EqQ[(~r), (~q) - 1] && EqQ[ext_coeff((~Qr), (~x), (~r))*Symbolics.derivative((~Pq), (~x)), (~q)*ext_coeff((~Pq), (~x), (~q))*(~Qr)]] ⨸; FreeQ[{(~a), (~b), (~c), (~n), (~p)}, (~x)] && EqQ[(~n2), 2*(~n)] && PolyQ[(~Pq), (~x)] && PolyQ[(~Qr), (~x)]) + +("1_1_1_7_12", +@rule ∫((~!u)*((~!a)*(~x)^(~!p) + (~!b)*(~x)^(~!q))^(~!n),(~x)) => + !contains_var((~a), (~b), (~p), (~q), (~x)) && + ext_isinteger((~n)) && + pos((~q) - (~p)) ? +∫((~u)*(~x)^((~n)*(~p))*((~a) + (~b)*(~x)^((~q) - (~p)))^(~n), (~x)) : nothing) + +("1_1_1_7_13", +@rule ∫((~!u)*((~!a)*(~x)^(~!p) + (~!b)*(~x)^(~!q) + (~!c)*(~x)^(~!r))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~q), (~r), (~x)) && + ext_isinteger((~n)) && + pos((~q) - (~p)) && + pos((~r) - (~p)) ? +∫((~u)*(~x)^((~n)*(~p))*((~a) + (~b)*(~x)^((~q) - (~p)) + (~c)*(~x)^((~r) - (~p)))^(~n), (~x)) : nothing) + +#(* Int[Sqrt[a_.+b_.*x_]*(A_.+B_.*x_)/(Sqrt[c_.+d_.*x_]*Sqrt[e_.+f_.*x_ ]*Sqrt[g_.+h_.*x_]),x_Symbol] := B*Sqrt[a+b*x]*Sqrt[e+f*x]*Sqrt[g+h*x]/(f*h*Sqrt[c+d*x]) - B*(b*g-a*h)/(2*f*h)*Int[Sqrt[e+f*x]/(Sqrt[a+b*x]*Sqrt[c+d*x]*Sqrt[g+ h*x]),x] + B*(d*e-c*f)*(d*g-c*h)/(2*d*f*h)*Int[Sqrt[a+b*x]/((c+d*x)^(3/2)*Sqrt[ e+f*x]*Sqrt[g+h*x]),x] /; FreeQ[{a,b,c,d,e,f,g,h,A,B},x] && EqQ[2*A*d*f-B*(d*e+c*f),0] *) +("1_1_1_7_14", +@rule ∫(sqrt( (~!a) + (~!b)*(~x))*((~!A) + (~!B)*(~x))/(sqrt((~!c) + (~!d)*(~x))* sqrt((~!e) + (~!f)*(~x))*sqrt((~!g) + (~!h)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~A), (~B), (~x)) && + eq(2*(~A)*(~d)*(~f) - (~B)*((~d)*(~e) + (~c)*(~f)), 0) ? +(~b)*(~B)*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))⨸((~d)*(~f)*(~h)*sqrt((~a) + (~b)*(~x))) - (~B)*((~b)*(~g) - (~a)*(~h))⨸(2*(~f)*(~h))* ∫(sqrt((~e) + (~f)*(~x))⨸(sqrt((~a) + (~b)*(~x))*sqrt((~c) + (~d)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) + (~B)*((~b)*(~e) - (~a)*(~f))*((~b)*(~g) - (~a)*(~h))⨸(2*(~d)*(~f)*(~h))* ∫(sqrt((~c) + (~d)*(~x))⨸(((~a) + (~b)*(~x))^(3⨸2)*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) : nothing) + +#(* Int[Sqrt[a_.+b_.*x_]*(A_.+B_.*x_)/(Sqrt[c_.+d_.*x_]*Sqrt[e_.+f_.*x_ ]*Sqrt[g_.+h_.*x_]),x_Symbol] := (2*A*d*f-B*(d*e+c*f))/(2*d*f)*Int[Sqrt[a+b*x]/(Sqrt[c+d*x]*Sqrt[e+f* x]*Sqrt[g+h*x]),x] + B/(2*d*f)*Int[(Sqrt[a+b*x]*(d*e+c*f+2*d*f*x))/(Sqrt[c+d*x]*Sqrt[e+f* x]*Sqrt[g+h*x]),x] /; FreeQ[{a,b,c,d,e,f,g,h,A,B},x] && NeQ[2*A*d*f-B*(d*e+c*f),0] *) +("1_1_1_7_15", +@rule ∫(sqrt( (~!a) + (~!b)*(~x))*((~!A) + (~!B)*(~x))/(sqrt((~!c) + (~!d)*(~x))* sqrt((~!e) + (~!f)*(~x))*sqrt((~!g) + (~!h)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~A), (~B), (~x)) && + !eq(2*(~A)*(~d)*(~f) - (~B)*((~d)*(~e) + (~c)*(~f)), 0) ? +(~B)*sqrt((~a) + (~b)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))⨸((~f)*(~h)*sqrt((~c) + (~d)*(~x))) + (~B)*((~d)*(~e) - (~c)*(~f))*((~d)*(~g) - (~c)*(~h))⨸(2*(~d)*(~f)*(~h))* ∫(sqrt((~a) + (~b)*(~x))⨸(((~c) + (~d)*(~x))^(3⨸2)*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) - (~B)*((~b)*(~e) - (~a)*(~f))*((~b)*(~g) - (~a)*(~h))⨸(2*(~b)*(~f)*(~h))* ∫(1⨸(sqrt((~a) + (~b)*(~x))*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) + (2*(~A)*(~b)*(~d)*(~f)*(~h) + (~B)*((~a)*(~d)*(~f)*(~h) - (~b)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h))))⨸(2*(~b)*(~d)*(~f)* (~h))*∫(sqrt( (~a) + (~b)*(~x))⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) : nothing) + +("1_1_1_7_16", +@rule ∫(((~!a) + (~!b)*(~x))^ (~!m)*((~!A) + (~!B)*(~x))/(sqrt((~!c) + (~!d)*(~x))*sqrt((~!e) + (~!f)*(~x))* sqrt((~!g) + (~!h)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~A), (~B), (~x)) && + ext_isinteger(2*(~m)) && + gt((~m), 0) ? +1⨸((~d)*(~f)*(~h)*(2*(~m) + 3))* ∫((((~a) + (~b)*(~x))^((~m) - 1)⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))))* simp((~a)*(~A)*(~d)*(~f)*(~h)*(2*(~m) + 3) + ((~A)*(~b) + (~a)*(~B))*(~d)*(~f)*(~h)*(2*(~m) + 3)*(~x) + (~b)*(~B)*(~d)*(~f)*(~h)*(2*(~m) + 3)*(~x)^2, (~x)), (~x)) : nothing) + +("1_1_1_7_17", +@rule ∫(((~!A) + (~!B)*(~x))/(sqrt((~!a) + (~!b)*(~x))*sqrt((~!c) + (~!d)*(~x))* sqrt((~!e) + (~!f)*(~x))*sqrt((~!g) + (~!h)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~A), (~B), (~x)) ? +((~A)*(~b) - (~a)*(~B))⨸(~b)* ∫(1⨸(sqrt((~a) + (~b)*(~x))*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) + (~B)⨸(~b)* ∫(sqrt((~a) + (~b)*(~x))⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) : nothing) + +("1_1_1_7_18", +@rule ∫(((~!a) + (~!b)*(~x))^ (~m)*((~!A) + (~!B)*(~x))/(sqrt((~!c) + (~!d)*(~x))*sqrt((~!e) + (~!f)*(~x))* sqrt((~!g) + (~!h)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~A), (~B), (~x)) && + ext_isinteger(2*(~m)) && + lt((~m), -1) ? +((~A)*(~b)^2 - (~a)*(~b)*(~B))*((~a) + (~b)*(~x))^((~m) + 1)*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))*((~b)*(~g) - (~a)*(~h))) - 1⨸(2*((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))*((~b)*(~g) - (~a)*(~h)))* ∫((((~a) + (~b)*(~x))^((~m) + 1)⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))))* simp((~A)*(2*(~a)^2*(~d)*(~f)*(~h)*((~m) + 1) - 2*(~a)*(~b)*((~m) + 1)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h)) + (~b)^2*(2*(~m) + 3)*((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h))) - (~b)*(~B)*((~a)*((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h)) + 2*(~b)*(~c)*(~e)*(~g)*((~m) + 1)) - 2*(((~A)*(~b) - (~a)*(~B))*((~a)*(~d)*(~f)*(~h)*((~m) + 1) - (~b)*((~m) + 2)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h))))*(~x) + (~d)*(~f)*(~h)*(2*(~m) + 5)*((~A)*(~b)^2 - (~a)*(~b)*(~B))*(~x)^2, (~x)), (~x)) : nothing) + +("1_1_1_7_19", +@rule ∫(((~!a) + (~!b)*(~x))^ (~!m)*((~!A) + (~!B)*(~x) + (~!C)*(~x)^2)/(sqrt((~!c) + (~!d)*(~x))* sqrt((~!e) + (~!f)*(~x))*sqrt((~!g) + (~!h)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~A), (~B), (~C), (~x)) && + ext_isinteger(2*(~m)) && + gt((~m), 0) ? +2*(~C)*((~a) + (~b)*(~x))^(~m)*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))⨸((~d)*(~f)*(~h)*(2*(~m) + 3)) + 1⨸((~d)*(~f)*(~h)*(2*(~m) + 3))* ∫((((~a) + (~b)*(~x))^((~m) - 1)⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))))* simp((~a)*(~A)*(~d)*(~f)*(~h)*(2*(~m) + 3) - (~C)*((~a)*((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h)) + 2*(~b)*(~c)*(~e)*(~g)*(~m)) + (((~A)*(~b) + (~a)*(~B))*(~d)*(~f)*(~h)*(2*(~m) + 3) - (~C)*(2*(~a)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h)) + (~b)*(2*(~m) + 1)*((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h))))*(~x) + ((~b)*(~B)*(~d)*(~f)*(~h)*(2*(~m) + 3) + 2*(~C)*((~a)*(~d)*(~f)*(~h)*(~m) - (~b)*((~m) + 1)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h))))*(~x)^2, (~x)), (~x)) : nothing) + +("1_1_1_7_20", +@rule ∫(((~!a) + (~!b)*(~x))^ (~!m)*((~!A) + (~!C)*(~x)^2)/(sqrt((~!c) + (~!d)*(~x))*sqrt((~!e) + (~!f)*(~x))* sqrt((~!g) + (~!h)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~A), (~C), (~x)) && + ext_isinteger(2*(~m)) && + gt((~m), 0) ? +2*(~C)*((~a) + (~b)*(~x))^(~m)*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))⨸((~d)*(~f)*(~h)*(2*(~m) + 3)) + 1⨸((~d)*(~f)*(~h)*(2*(~m) + 3))* ∫((((~a) + (~b)*(~x))^((~m) - 1)⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))))* simp((~a)*(~A)*(~d)*(~f)*(~h)*(2*(~m) + 3) - (~C)*((~a)*((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h)) + 2*(~b)*(~c)*(~e)*(~g)*(~m)) + ((~A)*(~b)*(~d)*(~f)*(~h)*(2*(~m) + 3) - (~C)*(2*(~a)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h)) + (~b)*(2*(~m) + 1)*((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h))))*(~x) + 2*(~C)*((~a)*(~d)*(~f)*(~h)*(~m) - (~b)*((~m) + 1)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h)))*(~x)^2, (~x)), (~x)) : nothing) + +("1_1_1_7_21", +@rule ∫(((~!A) + (~!B)*(~x) + (~!C)*(~x)^2)/(sqrt((~!a) + (~!b)*(~x))*sqrt((~!c) + (~!d)*(~x))* sqrt((~!e) + (~!f)*(~x))*sqrt((~!g) + (~!h)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~A), (~B), (~C), (~x)) ? +(~C)*sqrt((~a) + (~b)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))⨸((~b)*(~f)*(~h)*sqrt((~c) + (~d)*(~x))) + (~C)*((~d)*(~e) - (~c)*(~f))*((~d)*(~g) - (~c)*(~h))⨸(2*(~b)*(~d)*(~f)*(~h))* ∫(sqrt((~a) + (~b)*(~x))⨸(((~c) + (~d)*(~x))^(3⨸2)*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) + 1⨸(2*(~b)*(~d)*(~f)*(~h))* ∫(1⨸(sqrt((~a) + (~b)*(~x))*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x)))* simp(2*(~A)*(~b)*(~d)*(~f)*(~h) - (~C)*((~b)*(~d)*(~e)*(~g) + (~a)*(~c)*(~f)*(~h)) + (2*(~b)*(~B)*(~d)*(~f)*(~h) - (~C)*((~a)*(~d)*(~f)*(~h) + (~b)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h))))*(~x), (~x)), (~x)) : nothing) + +("1_1_1_7_22", +@rule ∫(((~!A) + (~!C)*(~x)^2)/(sqrt((~!a) + (~!b)*(~x))*sqrt((~!c) + (~!d)*(~x))* sqrt((~!e) + (~!f)*(~x))*sqrt((~!g) + (~!h)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~A), (~C), (~x)) ? +(~C)*sqrt((~a) + (~b)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))⨸((~b)*(~f)*(~h)*sqrt((~c) + (~d)*(~x))) + (~C)*((~d)*(~e) - (~c)*(~f))*((~d)*(~g) - (~c)*(~h))⨸(2*(~b)*(~d)*(~f)*(~h))* ∫(sqrt((~a) + (~b)*(~x))⨸(((~c) + (~d)*(~x))^(3⨸2)*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x))), (~x)) + 1⨸(2*(~b)*(~d)*(~f)*(~h))* ∫(1⨸(sqrt((~a) + (~b)*(~x))*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))*sqrt((~g) + (~h)*(~x)))* simp(2*(~A)*(~b)*(~d)*(~f)*(~h) - (~C)*((~b)*(~d)*(~e)*(~g) + (~a)*(~c)*(~f)*(~h)) - (~C)*((~a)*(~d)*(~f)*(~h) + (~b)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h)))*(~x), (~x)), (~x)) : nothing) + +("1_1_1_7_23", +@rule ∫(((~!a) + (~!b)*(~x))^ (~m)*((~!A) + (~!B)*(~x) + (~!C)*(~x)^2)/(sqrt((~!c) + (~!d)*(~x))* sqrt((~!e) + (~!f)*(~x))*sqrt((~!g) + (~!h)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~A), (~B), (~C), (~x)) && + ext_isinteger(2*(~m)) && + lt((~m), -1) ? +((~A)*(~b)^2 - (~a)*(~b)*(~B) + (~a)^2*(~C))*((~a) + (~b)*(~x))^((~m) + 1)*sqrt((~c) + (~d)*(~x))* sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))*((~b)*(~g) - (~a)*(~h))) - 1⨸(2*((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))*((~b)*(~g) - (~a)*(~h)))* ∫((((~a) + (~b)*(~x))^((~m) + 1)⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))))* simp((~A)*(2*(~a)^2*(~d)*(~f)*(~h)*((~m) + 1) - 2*(~a)*(~b)*((~m) + 1)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h)) + (~b)^2*(2*(~m) + 3)*((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h))) - ((~b)*(~B) - (~a)*(~C))*((~a)*((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h)) + 2*(~b)*(~c)*(~e)*(~g)*((~m) + 1)) - 2*(((~A)*(~b) - (~a)*(~B))*((~a)*(~d)*(~f)*(~h)*((~m) + 1) - (~b)*((~m) + 2)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h))) - (~C)*((~a)^2*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h)) - (~b)^2*(~c)*(~e)*(~g)*((~m) + 1) + (~a)*(~b)*((~m) + 1)*((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h))))*(~x) + (~d)*(~f)*(~h)*(2*(~m) + 5)*((~A)*(~b)^2 - (~a)*(~b)*(~B) + (~a)^2*(~C))*(~x)^2, (~x)), (~x)) : nothing) + +("1_1_1_7_24", +@rule ∫(((~!a) + (~!b)*(~x))^ (~m)*((~!A) + (~!C)*(~x)^2)/(sqrt((~!c) + (~!d)*(~x))*sqrt((~!e) + (~!f)*(~x))* sqrt((~!g) + (~!h)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~A), (~C), (~x)) && + ext_isinteger(2*(~m)) && + lt((~m), -1) ? +((~A)*(~b)^2 + (~a)^2*(~C))*((~a) + (~b)*(~x))^((~m) + 1)*sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))*((~b)*(~g) - (~a)*(~h))) - 1⨸(2*((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))*((~b)*(~g) - (~a)*(~h)))* ∫((((~a) + (~b)*(~x))^((~m) + 1)⨸(sqrt((~c) + (~d)*(~x))*sqrt((~e) + (~f)*(~x))* sqrt((~g) + (~h)*(~x))))* simp((~A)*(2*(~a)^2*(~d)*(~f)*(~h)*((~m) + 1) - 2*(~a)*(~b)*((~m) + 1)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h)) + (~b)^2*(2*(~m) + 3)*((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h))) + (~a)*(~C)*((~a)*((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h)) + 2*(~b)*(~c)*(~e)*(~g)*((~m) + 1)) - 2*((~A)*(~b)*((~a)*(~d)*(~f)*(~h)*((~m) + 1) - (~b)*((~m) + 2)*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h))) - (~C)*((~a)^2*((~d)*(~f)*(~g) + (~d)*(~e)*(~h) + (~c)*(~f)*(~h)) - (~b)^2*(~c)*(~e)*(~g)*((~m) + 1) + (~a)*(~b)*((~m) + 1)*((~d)*(~e)*(~g) + (~c)*(~f)*(~g) + (~c)*(~e)*(~h))))*(~x) + (~d)*(~f)*(~h)*(2*(~m) + 5)*((~A)*(~b)^2 + (~a)^2*(~C))*(~x)^2, (~x)), (~x)) : nothing) + +("1_1_1_7_25", +@rule ∫((~Px)*((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^ (~!p)*((~!g) + (~!h)*(~x))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~p), (~q), (~x)) && + poly((~Px), (~x)) && + ext_isinteger((~m), (~n)) ? +∫(ext_expand( (~Px)*((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)*((~g) + (~h)*(~x))^(~q), (~x)), (~x)) : nothing) + +("1_1_1_7_26", +@rule ∫((~Px)*((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^ (~!p)*((~!g) + (~!h)*(~x))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~p), (~q), (~x)) && + poly((~Px), (~x)) && + eq((~m), -1) ? +poly_remainder((~Px), (~a) + (~b)*(~x), (~x))* ∫(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)*((~g) + (~h)*(~x))^(~q), (~x)) + ∫( poly_quotient((~Px), (~a) + (~b)*(~x), (~x))*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^ (~n)*((~e) + (~f)*(~x))^(~p)*((~g) + (~h)*(~x))^(~q), (~x)) : nothing) + +("1_1_1_7_27", +@rule ∫((~Px)*((~!a) + (~!b)*(~x))^(~!m)*((~!c) + (~!d)*(~x))^(~!n)*((~!e) + (~!f)*(~x))^ (~!p)*((~!g) + (~!h)*(~x))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~p), (~q), (~x)) && + poly((~Px), (~x)) ? +poly_remainder((~Px), (~a) + (~b)*(~x), (~x))* ∫(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~n)*((~e) + (~f)*(~x))^(~p)*((~g) + (~h)*(~x))^(~q), (~x)) + ∫( poly_quotient((~Px), (~a) + (~b)*(~x), (~x))*((~a) + (~b)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^ (~n)*((~e) + (~f)*(~x))^(~p)*((~g) + (~h)*(~x))^(~q), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.1 (a+b x^2)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.1 (a+b x^2)^p.jl new file mode 100644 index 0000000..262720a --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.1 (a+b x^2)^p.jl @@ -0,0 +1,229 @@ +file_rules = [ +("1_1_2_1_1", +:(∫(((~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~b), (~p), (~x)) ? +(~b)^intpart((~p))*((~b)*(~x)^2)^fracpart((~p))⨸(~x)^(2*fracpart((~p))) * ∫((~x)^(2*(~p)), (~x)) : nothing)) + +("1_1_2_1_2", +:(∫(1/((~a)+(~!b)*(~x)^2)^(3//2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +(~x)⨸((~a)*sqrt((~a)+(~b)*(~x)^2)) : nothing)) + +("1_1_2_1_3", +:(∫(((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + ilt((~p)+3/2, 0) ? +-(~x)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸(2*(~a)*((~p)+1)) + (2*(~p)+3)⨸(2*(~a)*((~p)+1)) * ∫(((~a)+(~b)*(~x)^2)^((~p)+1), (~x)) : nothing)) + +("1_1_2_1_4", +:(∫(((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + igt((~p), 0) ? +∫(ext_expand(((~a)+(~b)*(~x)^2)^(~p), (~x)), (~x)) : nothing)) + +("1_1_2_1_5", +:(∫(((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + gt((~p), 0) && + ( + ext_isinteger(4*(~p)) || + ext_isinteger(6*(~p)) + ) ? +(~x)*((~a)+(~b)*(~x)^2)^(~p)⨸(2*(~p)+1) + 2*(~a)*(~p)⨸(2*(~p)+1) * ∫(((~a)+(~b)*(~x)^2)^((~p)-1), (~x)) : nothing)) + +("1_1_2_1_6", +:(∫(1/((~a)+(~!b)*(~x)^2)^(5//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + gt((~a), 0) && + pos((~b)/(~a)) ? +2⨸((~a)^(5⨸4)*rt((~b)⨸(~a), 2))*elliptic_e(1⨸2*atan(rt((~b)⨸(~a), 2)*(~x)), 2) : nothing)) + +("1_1_2_1_7", +:(∫(1/((~a)+(~!b)*(~x)^2)^(5//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~a)) && + pos((~b)/(~a)) ? +(1+(~b)*(~x)^2⨸(~a))^(1⨸4)⨸((~a)*((~a)+(~b)*(~x)^2)^(1⨸4)) * ∫(1⨸(1+(~b)*(~x)^2⨸(~a))^(5⨸4), (~x)) : nothing)) + +("1_1_2_1_8", +:(∫(1/((~a)+(~!b)*(~x)^2)^(7//6),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +1⨸(((~a) +(~b)*(~x)^2)^(2⨸3)*((~a)⨸((~a)+(~b)*(~x)^2))^(2⨸3)) * int_and_subst(1⨸(1-(~b)*(~x)^2)^(1⨸3), (~x), (~x), (~x)⨸sqrt((~a)+(~b)*(~x)^2), "1_1_2_1_8") : nothing)) + +("1_1_2_1_9", +:(∫(((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + lt((~p), -1) && + ( + ext_isinteger(4*(~p)) || + ext_isinteger(6*(~p)) + ) ? +-(~x)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸(2*(~a)*((~p)+1)) + (2*(~p)+3)⨸(2*(~a)*((~p)+1)) * ∫(((~a)+(~b)*(~x)^2)^((~p)+1), (~x)) : nothing)) + +("1_1_2_1_10", +:(∫(1/((~a)+(~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~a)/(~b)) && + ( + gt((~a), 0) || + gt((~b), 0) + ) ? +1⨸(rt((~a), 2)*rt((~b), 2))*atan(rt((~b), 2)*(~x)⨸rt((~a), 2)) : nothing)) + +("1_1_2_1_11", +:(∫(1/((~a)+(~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~a)/(~b)) && + ( + lt((~a), 0) || + lt((~b), 0) + ) ? +-1⨸(rt(-(~a), 2)*rt(-(~b), 2))*atan(rt(-(~b), 2)*(~x)⨸rt(-(~a), 2)) : nothing)) + +("1_1_2_1_12", +:(∫(1/((~a)+(~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~a)/(~b)) ? +rt((~a)⨸(~b), 2)⨸(~a)*atan((~x)⨸rt((~a)⨸(~b), 2)) : nothing)) + +("1_1_2_1_13", +:(∫(1/((~a)+(~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~a)/(~b)) && + ( + gt((~a), 0) || + lt((~b), 0) + ) ? +1⨸(rt((~a), 2)*rt(-(~b), 2))*atanh(rt(-(~b), 2)*(~x)⨸rt((~a), 2)) : nothing)) + +("1_1_2_1_14", +:(∫(1/((~a)+(~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~a)/(~b)) && + ( + lt((~a), 0) || + gt((~b), 0) + ) ? +-1⨸(rt(-(~a), 2)*rt((~b), 2))*atanh(rt((~b), 2)*(~x)⨸rt(-(~a), 2)) : nothing)) + +("1_1_2_1_15", +:(∫(1/((~a)+(~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~a)/(~b)) ? +rt(-(~a)⨸(~b), 2)⨸(~a)*atanh((~x)⨸rt(-(~a)⨸(~b), 2)) : nothing)) + +("1_1_2_1_16", +:(∫(1/sqrt((~a)+(~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + gt((~a), 0) && + pos((~b)) ? +asinh(rt((~b), 2)*(~x)⨸sqrt((~a)))⨸rt((~b), 2) : nothing)) + +("1_1_2_1_17", +:(∫(1/sqrt((~a)+(~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + gt((~a), 0) && + neg((~b)) ? +asin(rt(-(~b), 2)*(~x)⨸sqrt((~a)))⨸rt(-(~b), 2) : nothing)) + +("1_1_2_1_18", +:(∫(1/sqrt((~a)+(~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + !(gt((~a), 0)) ? +int_and_subst(1⨸(1-(~b)*(~x)^2), (~x), (~x), (~x)⨸sqrt((~a)+(~b)*(~x)^2), "1_1_2_1_18") : nothing)) + +("1_1_2_1_19", +:(∫(1/((~a)+(~!b)*(~x)^2)^(1//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + gt((~a), 0) && + pos((~b)/(~a)) ? +2*(~x)⨸((~a)+(~b)*(~x)^2)^(1⨸4) - (~a) * ∫(1⨸((~a)+(~b)*(~x)^2)^(5⨸4), (~x)) : nothing)) + +("1_1_2_1_20", +:(∫(1/((~a)+(~!b)*(~x)^2)^(1//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + gt((~a), 0) && + neg((~b)/(~a)) ? +2⨸((~a)^(1⨸4)*rt(-(~b)⨸(~a), 2))*elliptic_e(1⨸2*asin(rt(-(~b)⨸(~a), 2)*(~x)), 2) : nothing)) + +("1_1_2_1_21", +:(∫(1/((~a)+(~!b)*(~x)^2)^(1//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~a)) ? +(1+(~b)*(~x)^2⨸(~a))^(1⨸4)⨸((~a)+(~b)*(~x)^2)^(1⨸4) * ∫(1⨸(1+(~b)*(~x)^2⨸(~a))^(1⨸4), (~x)) : nothing)) + +("1_1_2_1_22", +:(∫(1/((~a)+(~!b)*(~x)^2)^(1//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~a)) ? +2*sqrt(-(~b)*(~x)^2⨸(~a))⨸((~b)*(~x)) * int_and_subst((~x)^2⨸sqrt(1-(~x)^4⨸(~a)), (~x), (~x), ((~a)+(~b)*(~x)^2)^(1⨸4), "1_1_2_1_22") : nothing)) + +("1_1_2_1_23", +:(∫(1/((~a)+(~!b)*(~x)^2)^(3//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + gt((~a), 0) && + pos((~b)/(~a)) ? +2⨸((~a)^(3⨸4)*rt((~b)⨸(~a), 2))*elliptic_f(1⨸2*atan(rt((~b)⨸(~a), 2)*(~x)), 2) : nothing)) + +("1_1_2_1_24", +:(∫(1/((~a)+(~!b)*(~x)^2)^(3//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + gt((~a), 0) && + neg((~b)/(~a)) ? +2⨸((~a)^(3⨸4)*rt(-(~b)⨸(~a), 2))*elliptic_f(1⨸2*asin(rt(-(~b)⨸(~a), 2)*(~x)), 2) : nothing)) + +("1_1_2_1_25", +:(∫(1/((~a)+(~!b)*(~x)^2)^(3//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~a)) ? +(1+(~b)*(~x)^2⨸(~a))^(3⨸4)⨸((~a)+(~b)*(~x)^2)^(3⨸4) * ∫(1⨸(1+(~b)*(~x)^2⨸(~a))^(3⨸4), (~x)) : nothing)) + +("1_1_2_1_26", +:(∫(1/((~a)+(~!b)*(~x)^2)^(3//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~a)) ? +2*sqrt(-(~b)*(~x)^2⨸(~a))⨸((~b)*(~x)) * int_and_subst(1⨸sqrt(1-(~x)^4⨸(~a)), (~x), (~x), ((~a)+(~b)*(~x)^2)^(1⨸4), "1_1_2_1_26") : nothing)) + +("1_1_2_1_27", +:(∫(1/((~a)+(~!b)*(~x)^2)^(1//3),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +3*sqrt((~b)*(~x)^2)⨸(2*(~b)*(~x)) * int_and_subst((~x)⨸sqrt(-(~a)+(~x)^3), (~x), (~x), ((~a)+(~b)*(~x)^2)^(1⨸3), "1_1_2_1_27") : nothing)) + +("1_1_2_1_28", +:(∫(1/((~a)+(~!b)*(~x)^2)^(2//3),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +3*sqrt((~b)*(~x)^2)⨸(2*(~b)*(~x)) * int_and_subst(1⨸sqrt(-(~a)+(~x)^3), (~x), (~x), ((~a)+(~b)*(~x)^2)^(1⨸3), "1_1_2_1_28") : nothing)) + +("1_1_2_1_29", +:(∫(1/((~a)+(~!b)*(~x)^2)^(1//6),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +3*(~x)⨸(2*((~a)+(~b)*(~x)^2)^(1⨸6)) - (~a)⨸2 * ∫(1⨸((~a)+(~b)*(~x)^2)^(7⨸6), (~x)) : nothing)) + +("1_1_2_1_30", +:(∫(1/((~a)+(~!b)*(~x)^2)^(5//6),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +1⨸(((~a)⨸((~a)+(~b)*(~x)^2))^(1⨸3)*((~a)+(~b)*(~x)^2)^(1⨸3)) * int_and_subst(1⨸(1-(~b)*(~x)^2)^(2⨸3), (~x), (~x), (~x)⨸sqrt((~a)+(~b)*(~x)^2), "1_1_2_1_30") : nothing)) + +("1_1_2_1_31", +:(∫(((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~p), (~x)) && + !(ext_isinteger(2*(~p))) && + gt((~a), 0) ? +(~a)^(~p)*(~x)*hypergeometric2f1(-(~p), 1⨸2, 1⨸2+1, -(~b)*(~x)^2⨸(~a)) : nothing)) + +("1_1_2_1_32", +:(∫(((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~p), (~x)) && + !(ext_isinteger(2*(~p))) && + !(gt((~a), 0)) ? +(~a)^intpart((~p))*((~a)+(~b)*(~x)^2)^fracpart((~p))⨸(1+(~b)*(~x)^2⨸(~a))^fracpart((~p)) * ∫((1+(~b)*(~x)^2⨸(~a))^(~p), (~x)) : nothing)) + +("1_1_2_1_33", +:(∫(((~!a)+(~!b)*(~v)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~n), (~p), (~x)) && + linear((~v), (~x)) && + !eq((~v), (~x)) ? +1⨸ext_coeff((~v), (~x), 1) * int_and_subst(((~a)+(~b)*(~x)^(~n))^(~p), (~x), (~x), (~v), "1_1_2_1_33") : nothing)) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.2 (c x)^m (a+b x^2)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.2 (c x)^m (a+b x^2)^p.jl new file mode 100644 index 0000000..ad430e4 --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.2 (c x)^m (a+b x^2)^p.jl @@ -0,0 +1,297 @@ +file_rules = [ +# (* ::Package:: *)(* ::Code:: *) + +("1_1_2_2_1", +:(∫((~x)/((~a)+(~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b), (~x)) ? + log((~a)+(~b)*(~x)^2)⨸(2*(~b)) : nothing)) + +("1_1_2_2_2", +:(∫((~x)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~p), (~x)) && + !eq((~p), -1) ? + ((~a)+(~b)*(~x)^2)^((~p)+1)⨸(2*(~b)*((~p)+1)) : nothing)) + +("1_1_2_2_3", +:(∫(((~!c)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~m),(~p), (~x)) && + eq((~m)+2*(~p)+3, 0) && + !eq((~m), -1) ? + ((~c)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~a)*(~c)*((~m)+1)) : nothing)) + +("1_1_2_2_4", +:(∫((~x)^(~!m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~m),(~p), (~x)) && + ext_isinteger(((~m)-1)/2) ? + 1⨸2 * int_and_subst((~x)^(((~m)-1)⨸2)*((~a)+(~b)*(~x))^(~p), (~x), (~x), (~x)^2, "1_1_2_2_4") : nothing)) + +("1_1_2_2_5", +:(∫(((~!c)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~!p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~m), (~x)) && + igt((~p), 0) ? + ∫(ext_expand(((~c)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^(~p), (~x)), (~x)) : nothing)) + +("1_1_2_2_6", +:(∫((~x)^(~m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~m),(~p), (~x)) && + ilt(simplify(((~m)+1)/2+(~p)+1), 0) && + !eq((~m), -1) ? + (~x)^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~a)*((~m)+1)) - (~b)*((~m)+2*((~p)+1)+1)⨸((~a)*((~m)+1)) * ∫((~x)^((~m)+2)*((~a)+(~b)*(~x)^2)^(~p), (~x)) : nothing)) + +("1_1_2_2_7", +:(∫(((~!c)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~m),(~p), (~x)) && + ilt(simplify(((~m)+1)/2+(~p)+1), 0) && + !eq((~p), -1) ? + -((~c)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~a)*(~c)*2*((~p)+1)) + ((~m)+2*(~p)+3)⨸((~a)*2*((~p)+1)) * ∫(((~c)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)+1), (~x)) : nothing)) + +# # TODO IntBinomialQ is what exactly? +# ("1_1_2_2_8", +# @rule ∫(((~!c)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) => +# !contains_var((~a),(~b),(~c), (~x)) && +# gt((~p), 0) && +# lt((~m), -1) && +# !(ilt(((~m)+2*(~p)+3)/2, 0)) && +# IntBinomialQ[(~a),(~b),(~c),2,(~m),(~p),(~x)] ? +# ((~c)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^(~p)⨸((~c)*((~m)+1)) - 2*(~b)*(~p)⨸((~c)^2*((~m)+1)) * ∫(((~c)*(~x))^((~m)+2)*((~a)+(~b)*(~x)^2)^((~p)-1), (~x)) : nothing) +# +# ("1_1_2_2_9", +# @rule ∫(((~!c)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) => +# !contains_var((~a),(~b),(~c),(~m), (~x)) && +# gt((~p), 0) && +# !eq((~m)+2*(~p)+1, 0) && +# IntBinomialQ[(~a),(~b),(~c),2,(~m),(~p),(~x)] ? +# ((~c)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^(~p)⨸((~c)*((~m)+2*(~p)+1)) + 2*(~a)*(~p)⨸((~m)+2*(~p)+1) * ∫(((~c)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)-1), (~x)) : nothing) + +("1_1_2_2_10", +:(∫(sqrt((~!c)*(~x))/((~a)+(~!b)*(~x)^2)^(5//4),(~x)) ) => :( + !contains_var((~a),(~b),(~c), (~x)) && + pos((~b)/(~a)) ? + sqrt((~c)*(~x))*(1+(~a)⨸((~b)*(~x)^2))^(1⨸4)⨸((~b)*((~a)+(~b)*(~x)^2)^(1⨸4)) * ∫(1⨸((~x)^2*(1+(~a)⨸((~b)*(~x)^2))^(5⨸4)), (~x)) : nothing)) + +("1_1_2_2_11", +:(∫(((~!c)*(~x))^(~m)/((~a)+(~!b)*(~x)^2)^(5//4),(~x)) ) => :( + !contains_var((~a),(~b),(~c), (~x)) && + pos((~b)/(~a)) && + ext_isinteger(2*(~m)) && + gt((~m), 3/2) ? + 2*(~c)*((~c)*(~x))^((~m)-1)⨸((~b)*(2*(~m)-3)*((~a)+(~b)*(~x)^2)^(1⨸4)) - 2*(~a)*(~c)^2*((~m)-1)⨸((~b)*(2*(~m)-3)) * ∫(((~c)*(~x))^((~m)-2)⨸((~a)+(~b)*(~x)^2)^(5⨸4), (~x)) : nothing)) + +("1_1_2_2_12", +:(∫(((~!c)*(~x))^(~m)/((~a)+(~!b)*(~x)^2)^(5//4),(~x)) ) => :( + !contains_var((~a),(~b),(~c), (~x)) && + pos((~b)/(~a)) && + ext_isinteger(2*(~m)) && + lt((~m), -1) ? + ((~c)*(~x))^((~m)+1)⨸((~a)*(~c)*((~m)+1)*((~a)+(~b)*(~x)^2)^(1⨸4)) - (~b)*(2*(~m)+1)⨸(2*(~a)*(~c)^2*((~m)+1)) * ∫(((~c)*(~x))^((~m)+2)⨸((~a)+(~b)*(~x)^2)^(5⨸4), (~x)) : nothing)) + +# ("1_1_2_2_13", +# @rule ∫(((~!c)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) => +# !contains_var((~a),(~b),(~c), (~x)) && +# lt((~p), -1) && +# gt((~m), 1) && +# !(ilt(((~m)+2*(~p)+3)/2, 0)) && +# IntBinomialQ[(~a),(~b),(~c),2,(~m),(~p),(~x)] ? +# (~c)*((~c)*(~x))^((~m)-1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸(2*(~b)*((~p)+1)) - (~c)^2*((~m)-1)⨸(2*(~b)*((~p)+1)) * ∫(((~c)*(~x))^((~m)-2)*((~a)+(~b)*(~x)^2)^((~p)+1), (~x)) : nothing) + +# ("1_1_2_2_14", +# @rule ∫(((~!c)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) => +# !contains_var((~a),(~b),(~c),(~m), (~x)) && +# lt((~p), -1) && +# IntBinomialQ[(~a),(~b),(~c),2,(~m),(~p),(~x)] ? +# -((~c)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸(2*(~a)*(~c)*((~p)+1)) + ((~m)+2*(~p)+3)⨸(2*(~a)*((~p)+1)) * ∫(((~c)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)+1), (~x)) : nothing) + +("1_1_2_2_15", +:(∫((~x)^(~m)/((~a)+(~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b), (~x)) && + igt((~m), 3) ? + ∫(polynomial_divide((~x)^(~m), ((~a)+(~b)*(~x)^2), (~x)), (~x)) : nothing)) + +("1_1_2_2_16", +:(∫(sqrt((~c)*(~x))/((~a)+(~!b)*(~x)^2)^(1//4),(~x)) ) => :( + !contains_var((~a),(~b),(~c), (~x)) && + pos((~b)/(~a)) ? + (~x)*sqrt((~c)*(~x))⨸((~a)+(~b)*(~x)^2)^(1⨸4) - (~a)⨸2 * ∫(sqrt((~c)*(~x))⨸((~a)+(~b)*(~x)^2)^(5⨸4), (~x)) : nothing)) + +("1_1_2_2_17", +:(∫(sqrt((~c)*(~x))/((~a)+(~!b)*(~x)^2)^(1//4),(~x)) ) => :( + !contains_var((~a),(~b),(~c), (~x)) && + neg((~b)/(~a)) ? + (~c)*((~a)+(~b)*(~x)^2)^(3⨸4)⨸((~b)*sqrt((~c)*(~x))) + (~a)*(~c)^2⨸(2*(~b)) * ∫(1⨸(((~c)*(~x))^(3⨸2)*((~a)+(~b)*(~x)^2)^(1⨸4)), (~x)) : nothing)) + +("1_1_2_2_18", +:(∫(1/(((~!c)*(~x))^(3//2)*((~a)+(~!b)*(~x)^2)^(1//4)),(~x)) ) => :( + !contains_var((~a),(~b),(~c), (~x)) && + pos((~b)/(~a)) ? + -2⨸((~c)*sqrt((~c)*(~x))*((~a)+(~b)*(~x)^2)^(1⨸4)) - (~b)⨸(~c)^2 * ∫(sqrt((~c)*(~x))⨸((~a)+(~b)*(~x)^2)^(5⨸4), (~x)) : nothing)) + +("1_1_2_2_19", +:(∫(1/(((~!c)*(~x))^(3//2)*((~a)+(~!b)*(~x)^2)^(1//4)),(~x)) ) => :( + !contains_var((~a),(~b),(~c), (~x)) && + neg((~b)/(~a)) ? + sqrt((~c)*(~x))*(1+(~a)⨸((~b)*(~x)^2))^(1⨸4)⨸((~c)^2*((~a)+(~b)*(~x)^2)^(1⨸4)) * ∫(1⨸((~x)^2*(1+(~a)⨸((~b)*(~x)^2))^(1⨸4)), (~x)) : nothing)) + +("1_1_2_2_20", +:(∫(sqrt((~x))/sqrt((~a)+(~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b), (~x)) && + gt(-(~b)/(~a), 0) && + gt((~a), 0) ? + -2⨸(sqrt((~a))*(-(~b)⨸(~a))^(3⨸4)) * int_and_subst(sqrt(1-2*(~x)^2)⨸sqrt(1-(~x)^2), (~x), (~x), sqrt(1-sqrt(-(~b)⨸(~a))*(~x))⨸sqrt(2), "1_1_2_2_20") : nothing)) + +("1_1_2_2_21", +:(∫(sqrt((~x))/sqrt((~a)+(~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b), (~x)) && + gt(-(~b)/(~a), 0) && + !(gt((~a), 0)) ? + sqrt(1+(~b)*(~x)^2⨸(~a))⨸sqrt((~a)+(~b)*(~x)^2) * ∫(sqrt((~x))⨸sqrt(1+(~b)*(~x)^2⨸(~a)), (~x)) : nothing)) + +("1_1_2_2_22", +:(∫(sqrt((~c)*(~x))/sqrt((~a)+(~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c), (~x)) && + gt(-(~b)/(~a), 0) ? + sqrt((~c)*(~x))⨸sqrt((~x)) * ∫(sqrt((~x))⨸sqrt((~a)+(~b)*(~x)^2), (~x)) : nothing)) + +# ("1_1_2_2_23", +# @rule ∫(((~!c)*(~x))^(~m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) => +# !contains_var((~a),(~b),(~c),(~p), (~x)) && +# gt((~m), 2-1) && +# !eq((~m)+2*(~p)+1, 0) && +# IntBinomialQ[(~a),(~b),(~c),2,(~m),(~p),(~x)] ? +# (~c)*((~c)*(~x))^((~m)-1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~b)*((~m)+2*(~p)+1)) - (~a)*(~c)^2*((~m)-1)⨸((~b)*((~m)+2*(~p)+1)) * ∫(((~c)*(~x))^((~m)-2)*((~a)+(~b)*(~x)^2)^(~p), (~x)) : nothing) + +("1_1_2_2_24", +:(∫(((~!c)*(~x))^(~m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~m),(~p), (~x)) && + sumsimpler((~m), -2) && + !eq((~m)+2*(~p)+1, 0) && + ilt(simplify(((~m)+1)/2+(~p)), 0) ? + (~c)*((~c)*(~x))^((~m)-1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~b)*((~m)+2*(~p)+1)) - (~a)*(~c)^2*((~m)-1)⨸((~b)*((~m)+2*(~p)+1)) * ∫(((~c)*(~x))^((~m)-2)*((~a)+(~b)*(~x)^2)^(~p), (~x)) : nothing)) + +# ("1_1_2_2_25", +# @rule ∫(((~!c)*(~x))^(~m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) => +# !contains_var((~a),(~b),(~c),(~p), (~x)) && +# lt((~m), -1) && +# IntBinomialQ[(~a),(~b),(~c),2,(~m),(~p),(~x)] ? +# ((~c)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~a)*(~c)*((~m)+1)) - (~b)*((~m)+2*(~p)+3)⨸((~a)*(~c)^2*((~m)+1)) * ∫(((~c)*(~x))^((~m)+2)*((~a)+(~b)*(~x)^2)^(~p), (~x)) : nothing) + +("1_1_2_2_26", +:(∫(((~!c)*(~x))^(~m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~m),(~p), (~x)) && + sumsimpler((~m), 2) && + ilt(simplify(((~m)+1)/2+(~p)), 0) ? + ((~c)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~a)*(~c)*((~m)+1)) - (~b)*((~m)+2*(~p)+3)⨸((~a)*(~c)^2*((~m)+1)) * ∫(((~c)*(~x))^((~m)+2)*((~a)+(~b)*(~x)^2)^(~p), (~x)) : nothing)) + +# ("1_1_2_2_27", +# @rule ∫(((~!c)*(~x))^(~m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) => +# !contains_var((~a),(~b),(~c),(~p), (~x)) && +# isfraction((~m)) && +# IntBinomialQ[(~a),(~b),(~c),2,(~m),(~p),(~x)] ? +# ext_den((~m))⨸(~c) * int_and_subst((~x)^(ext_den((~m))*((~m)+1)-1)*((~a)+(~b)*(~x)^(2*ext_den((~m)))⨸(~c)^2)^(~p), (~x), (~x), ((~c)*(~x))^(1⨸ext_den((~m))), "1_1_2_2_27") : nothing) + +("1_1_2_2_28", +:(∫((~x)^(~!m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b), (~x)) && + lt(-1, (~p),0) && + !eq((~p), -1/2) && + ext_isinteger((~m),(~p)+((~m)+1)/2) ? + (~a)^((~p)+((~m)+1)⨸2) * int_and_subst((~x)^(~m)⨸(1-(~b)*(~x)^2)^((~p)+((~m)+1)⨸2+1), (~x), (~x), (~x)⨸((~a)+(~b)*(~x)^2)^(1⨸2), "1_1_2_2_28") : nothing)) + +("1_1_2_2_29", +:(∫((~x)^(~!m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b), (~x)) && + lt(-1, (~p),0) && + !eq((~p), -1/2) && + ext_isinteger((~m)) && + lt(ext_den((~p)+((~m)+1)/2), ext_den((~p))) ? + ((~a)⨸((~a)+(~b)*(~x)^2))^((~p)+((~m)+1)⨸2)*((~a)+(~b)*(~x)^2)^((~p)+((~m)+1)⨸2) * int_and_subst((~x)^(~m)⨸(1-(~b)*(~x)^2)^((~p)+((~m)+1)⨸2+1), (~x), (~x), (~x)⨸((~a)+(~b)*(~x)^2)^(1⨸2), "1_1_2_2_29") : nothing)) + +("1_1_2_2_30", +:(∫((~x)^(~!m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~m), (~x)) && + eq(((~m)+1)/2+(~p), 0) && + gt((~p), 0) ? + (~x)^((~m)+1)*((~a)+(~b)*(~x)^2)^(~p)⨸((~m)+1) - 2*(~b)*(~p)⨸((~m)+1) * ∫((~x)^((~m)+2)*((~a)+(~b)*(~x)^2)^((~p)-1), (~x)) : nothing)) + +("1_1_2_2_31", +:(∫(((~c)*(~x))^(~m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~m), (~x)) && + eq(((~m)+1)/2+(~p), 0) && + gt((~p), 0) ? + (~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m)) * ∫((~x)^(~m)*((~a)+(~b)*(~x)^2)^(~p), (~x)) : nothing)) + +("1_1_2_2_32", +:(∫(((~!c)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~m), (~x)) && + ext_isinteger((~p)+simplify(((~m)+1)/2)) && + gt((~p), 0) && + !eq((~m)+2*(~p)+1, 0) ? + ((~c)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^(~p)⨸((~c)*((~m)+2*(~p)+1)) + 2*(~a)*(~p)⨸((~m)+2*(~p)+1) * ∫(((~c)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)-1), (~x)) : nothing)) + +("1_1_2_2_33", +:(∫((~x)^(~!m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~m),(~x)) && + ext_isinteger((~p)+simplify(((~m)+1)/2)) && + lt(-1,(~p),0) ? +ext_den((~p))*(~a)^((~p)+simplify(((~m)+1)⨸2))⨸2 * int_and_subst((~x)^(ext_den((~p))*simplify(((~m)+1)⨸2)-1)⨸(1-(~b)*(~x)^ext_den((~p)))^((~p)+simplify(((~m)+1)⨸2)+1), (~x), (~x), (~x)^(2⨸ext_den((~p)))⨸((~a)+(~b)*(~x)^2)^(1⨸ext_den((~p))), "1_1_2_2_33") : nothing)) + +("1_1_2_2_34", +:(∫(((~c)*(~x))^(~m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~m), (~x)) && + ext_isinteger((~p)+simplify(((~m)+1)/2)) && + lt(-1, (~p),0) ? + (~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m)) * ∫((~x)^(~m)*((~a)+(~b)*(~x)^2)^(~p), (~x)) : nothing)) + +("1_1_2_2_35", +:(∫(((~!c)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~m), (~x)) && + ext_isinteger((~p)+simplify(((~m)+1)/2)) && + lt((~p), -1) ? + -((~c)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~a)*(~c)*2*((~p)+1)) + ((~m)+2*((~p)+1)+1)⨸((~a)*2*((~p)+1)) * ∫(((~c)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)+1), (~x)) : nothing)) + +("1_1_2_2_36", +:(∫((~x)^(~!m)/((~a)+(~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~m), (~x)) && + isfraction(((~m)+1)/2) && + sumsimpler((~m), -2) ? + (~x)^((~m)-1)⨸((~b)*((~m)-1)) - (~a)⨸(~b) * ∫((~x)^((~m)-2)⨸((~a)+(~b)*(~x)^2), (~x)) : nothing)) + +("1_1_2_2_37", +:(∫((~x)^(~m)/((~a)+(~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~m), (~x)) && + isfraction(((~m)+1)/2) && + sumsimpler((~m), 2) ? + (~x)^((~m)+1)⨸((~a)*((~m)+1)) - (~b)⨸(~a) * ∫((~x)^simplify((~m)+2)⨸((~a)+(~b)*(~x)^2), (~x)) : nothing)) + +("1_1_2_2_38", +:(∫(((~c)*(~x))^(~m)/((~a)+(~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~m), (~x)) && + isfraction(((~m)+1)/2) && + ( + sumsimpler((~m), 2) || + sumsimpler((~m), -2) + ) ? + (~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m)) * ∫((~x)^(~m)⨸((~a)+(~b)*(~x)^2), (~x)) : nothing)) + +# this is commented because otherwise triggers on x^2*(1/(1+x^2))^2 +# while rule 1_1_3_2_19 is more appropriate +# ("1_1_2_2_39", +# @rule ∫(((~!c)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) => +# !contains_var((~a),(~b),(~c),(~m),(~p), (~x)) && +# !(igt((~p), 0)) && +# ( +# ilt((~p), 0) || +# gt((~a), 0) +# ) ? +# (~a)^(~p)*((~c)*(~x))^((~m)+1)⨸((~c)*((~m)+1))*hypergeometric2f1(-(~p), ((~m)+1)⨸2, ((~m)+1)⨸2+1, -(~b)*(~x)^2⨸(~a)) : nothing) + +("1_1_2_2_40", +:(∫(((~!c)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~m),(~p), (~x)) && + !(igt((~p), 0)) && + !( + ilt((~p), 0) || + gt((~a), 0) + ) ? + (~a)^intpart((~p))*((~a)+(~b)*(~x)^2)^fracpart((~p))⨸(1+(~b)*(~x)^2⨸(~a))^fracpart((~p)) * ∫(((~c)*(~x))^(~m)*(1+(~b)*(~x)^2⨸(~a))^(~p), (~x)) : nothing)) + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.3 (a+b x^2)^p (c+d x^2)^q.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.3 (a+b x^2)^p (c+d x^2)^q.jl new file mode 100644 index 0000000..d803d1a --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.3 (a+b x^2)^p (c+d x^2)^q.jl @@ -0,0 +1,471 @@ +file_rules = [ +# (* ::Package:: *) + +("1_1_2_3_1", +:(∫((~!u)*((~!b)*(~x)^(~n))^(~p)*((~!d)*(~x)^(~n))^(~q),(~x)) ) => :( + !contains_var((~b),(~d),(~n),(~p),(~q),(~x)) ? +(~b)^intpart((~p))*(~d)^intpart((~q))*((~b)*(~x)^(~n))^fracpart((~p))*((~d)*(~x)^(~n))^fracpart((~q))⨸(~x)^((~n)*(fracpart((~p))+fracpart((~q)))) * ∫((~u)*(~x)^((~n)*((~p)+(~q))), (~x)) : nothing)) + +("1_1_2_3_2", +:(∫((~!u)*((~a)+(~!b)*(~x)^(~n))^(~!p)*((~c)+(~!d)*(~x)^(~n))^(~!q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~n),(~p),(~q),(~x)) && + eq((~b)*(~c)-(~a)*(~d),0) && + ext_isinteger((~p)) && + !( + ext_isinteger((~q)) && + simpler((~a)+(~b)*(~x)^(~n),(~c)+(~d)*(~x)^(~n)) + ) ? +((~b)⨸(~d))^(~p) * ∫((~u)*((~c)+(~d)*(~x)^(~n))^((~p)+(~q)), (~x)) : nothing)) + +("1_1_2_3_3", +:(∫((~!u)*((~a)+(~!b)*(~x)^(~n))^(~p)*((~c)+(~!d)*(~x)^(~n))^(~q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~n),(~p),(~q),(~x)) && + eq((~b)*(~c)-(~a)*(~d),0) && + gt((~b)/(~d),0) && + !(simpler((~a)+(~b)*(~x)^(~n),(~c)+(~d)*(~x)^(~n))) ? +((~b)⨸(~d))^(~p) * ∫((~u)*((~c)+(~d)*(~x)^(~n))^((~p)+(~q)), (~x)) : nothing)) + +("1_1_2_3_4", +:(∫((~!u)*((~a)+(~!b)*(~x)^(~n))^(~p)*((~c)+(~!d)*(~x)^(~n))^(~q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~n),(~p),(~q),(~x)) && + eq((~b)*(~c)-(~a)*(~d),0) && + !(simpler((~a)+(~b)*(~x)^(~n),(~c)+(~d)*(~x)^(~n))) ? +((~a)+(~b)*(~x)^(~n))^(~p)⨸((~c)+(~d)*(~x)^(~n))^(~p) * ∫((~u)*((~c)+(~d)*(~x)^(~n))^((~p)+(~q)), (~x)) : nothing)) + +("1_1_2_3_5", +:(∫(((~a)+(~!b)*(~x)^2)^(~!p)*((~c)+(~!d)*(~x)^2)^(~!p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~p),(~x)) && + eq((~b)*(~c)+(~a)*(~d),0) && + ( + ext_isinteger((~p)) || + gt((~a),0) && + gt((~c),0) + ) ? +∫(((~a)*(~c)+(~b)*(~d)*(~x)^4)^(~p), (~x)) : nothing)) + +("1_1_2_3_6", +:(∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + eq((~b)*(~c)+(~a)*(~d),0) && + gt((~p),0) ? +(~x)*((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^(~p)⨸(4*(~p)+1) + 4*(~a)*(~c)*(~p)⨸(4*(~p)+1) * ∫(((~a)+(~b)*(~x)^2)^((~p)-1)*((~c)+(~d)*(~x)^2)^((~p)-1), (~x)) : nothing)) + +("1_1_2_3_7", +:(∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + eq((~b)*(~c)+(~a)*(~d),0) && + lt((~p),-1) ? +-(~x)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~p)+1)⨸(4*(~a)*(~c)*((~p)+1)) + (4*(~p)+5)⨸(4*(~a)*(~c)*((~p)+1)) * ∫(((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~p)+1), (~x)) : nothing)) + +("1_1_2_3_8", +:(∫(1/(sqrt((~a)+(~!b)*(~x)^2)*sqrt((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + eq((~b)*(~c)+(~a)*(~d),0) && + gt((~a),0) && + gt((~d),0) ? +1⨸sqrt(2*(~a)*(~d))*elliptic_f(asin(sqrt(2*(~d))*(~x)⨸sqrt((~c)+(~d)*(~x)^2)),1⨸2) : nothing)) + +("1_1_2_3_9", +:(∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~p),(~x)) && + eq((~b)*(~c)+(~a)*(~d),0) && + gt((~a),0) && + lt((~c),0) ? +((~c)+(~d)*(~x)^2)^fracpart((~p))⨸((-1)^intpart((~p))*(-(~c)-(~d)*(~x)^2)^fracpart((~p))) * ∫((-(~a)*(~c)-(~b)*(~d)*(~x)^4)^(~p), (~x)) : nothing)) + +("1_1_2_3_10", +:(∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~p),(~x)) && + eq((~b)*(~c)+(~a)*(~d),0) && + !(ext_isinteger((~p))) ? +((~a)+(~b)*(~x)^2)^fracpart((~p))*((~c)+(~d)*(~x)^2)^fracpart((~p))⨸((~a)*(~c)+(~b)*(~d)*(~x)^4)^fracpart((~p)) * ∫(((~a)*(~c)+(~b)*(~d)*(~x)^4)^(~p), (~x)) : nothing)) + +("1_1_2_3_11", +:(∫(((~a)+(~!b)*(~x)^2)^(~!p)*((~c)+(~!d)*(~x)^2)^(~!q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + igt((~p),0) && + igt((~q),0) ? +∫(ext_expand(((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^(~q), (~x)),(~x)) : nothing)) + +("1_1_2_3_12", +:(∫(1/(sqrt((~a)+(~!b)*(~x)^2)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) ? +int_and_subst(1⨸((~c)-((~b)*(~c)-(~a)*(~d))*(~x)^2), (~x), (~x), (~x)⨸sqrt((~a)+(~b)*(~x)^2), "1_1_2_3_12") : nothing)) + +("1_1_2_3_13", +:(∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~!q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~p),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + eq(2*((~p)+(~q)+1)+1,0) && + gt((~q),0) && + !eq((~p),-1) ? +-(~x)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^(~q)⨸(2*(~a)*((~p)+1)) - (~c)*(~q)⨸((~a)*((~p)+1)) * ∫(((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)-1), (~x)) : nothing)) + +("1_1_2_3_14", +:(∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~q),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + eq(2*((~p)+(~q)+1)+1,0) && + ilt((~p),0) ? +(~a)^(~p)*(~x)⨸((~c)^((~p)+1)*sqrt((~c)+(~d)*(~x)^2))*hypergeometric2f1(1⨸2,-(~p),3⨸2,-((~b)*(~c)-(~a)*(~d))*(~x)^2⨸((~a)*((~c)+(~d)*(~x)^2))) : nothing)) + +("1_1_2_3_15", +:(∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~p),(~q),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + eq(2*((~p)+(~q)+1)+1,0) ? +(~x)*((~a)+(~b)*(~x)^2)^(~p)⨸((~c)*((~c)*((~a)+(~b)*(~x)^2)⨸((~a)*((~c)+(~d)*(~x)^2)))^(~p)*((~c)+(~d)*(~x)^2)^(1⨸2+(~p)))* hypergeometric2f1(1⨸2,-(~p),3⨸2,-((~b)*(~c)-(~a)*(~d))*(~x)^2⨸((~a)*((~c)+(~d)*(~x)^2))) : nothing)) + +("1_1_2_3_16", +:(∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~p),(~q),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + eq(2*((~p)+(~q)+2)+1,0) && + eq((~a)*(~d)*((~p)+1)+(~b)*(~c)*((~q)+1),0) ? +(~x)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)+1)⨸((~a)*(~c)) : nothing)) + +("1_1_2_3_17", +:(∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~q),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + eq(2*((~p)+(~q)+2)+1,0) && + ( + lt((~p),-1) || + !(lt((~q),-1)) + ) && + !eq((~p),-1) ? +-(~b)*(~x)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)+1)⨸(2*(~a)*((~p)+1)*((~b)*(~c)-(~a)*(~d))) + ((~b)*(~c)+2*((~p)+1)*((~b)*(~c)-(~a)*(~d)))⨸(2*(~a)*((~p)+1)*((~b)*(~c)-(~a)*(~d))) * ∫(((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^(~q), (~x)) : nothing)) + +("1_1_2_3_18", +:(∫(((~a)+(~!b)*(~x)^2)^(~!p)*((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~p),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + eq((~a)*(~d)-(~b)*(~c)*(2*(~p)+3),0) ? +(~c)*(~x)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸(~a) : nothing)) + +("1_1_2_3_19", +:(∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~p),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + ( + lt((~p),-1) || + ilt(1/2+(~p),0) + ) ? +-((~b)*(~c)-(~a)*(~d))*(~x)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸(2*(~a)*(~b)*((~p)+1)) - ((~a)*(~d)-(~b)*(~c)*(2*(~p)+3))⨸(2*(~a)*(~b)*((~p)+1)) * ∫(((~a)+(~b)*(~x)^2)^((~p)+1), (~x)) : nothing)) + +("1_1_2_3_20", +:(∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + !eq(2*(~p)+3,0) ? +(~d)*(~x)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~b)*(2*(~p)+3)) - ((~a)*(~d)-(~b)*(~c)*(2*(~p)+3))⨸((~b)*(2*(~p)+3)) * ∫(((~a)+(~b)*(~x)^2)^(~p), (~x)) : nothing)) + +("1_1_2_3_21", +:(∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + igt((~p),0) && + ilt((~q),0) && + ge((~p),-(~q)) ? +∫(polynomial_divide(((~a)+(~b)*(~x)^2)^(~p),((~c)+(~d)*(~x)^2)^(-(~q)),(~x)), (~x)) : nothing)) + +("1_1_2_3_22", +:(∫(((~a)+(~!b)*(~x)^2)^(~!p)/((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + gt((~p),0) && + ( + eq((~p),1/2) || + eq(ext_den((~p)),4) || + eq((~p),2/3) && + eq((~b)*(~c)+3*(~a)*(~d),0) + ) ? +(~b)⨸(~d) * ∫(((~a)+(~b)*(~x)^2)^((~p)-1), (~x)) - ((~b)*(~c)-(~a)*(~d))⨸(~d) * ∫(((~a)+(~b)*(~x)^2)^((~p)-1)⨸((~c)+(~d)*(~x)^2), (~x)) : nothing)) + +("1_1_2_3_23", +:(∫(((~a)+(~!b)*(~x)^2)^(~p)/((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + lt((~p),-1) && + eq(ext_den((~p)),4) && + ( + eq((~p),-5/4) || + eq((~p),-7/4) + ) ? +(~b)⨸((~b)*(~c)-(~a)*(~d)) * ∫(((~a)+(~b)*(~x)^2)^(~p), (~x)) - (~d)⨸((~b)*(~c)-(~a)*(~d)) * ∫(((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~c)+(~d)*(~x)^2), (~x)) : nothing)) + +("1_1_2_3_24", +:(∫(1/(((~a)+(~!b)*(~x)^2)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) ? +(~b)⨸((~b)*(~c)-(~a)*(~d)) * ∫(1⨸((~a)+(~b)*(~x)^2), (~x)) - (~d)⨸((~b)*(~c)-(~a)*(~d)) * ∫(1⨸((~c)+(~d)*(~x)^2), (~x)) : nothing)) + +("1_1_2_3_25", +:(∫(1/(((~a)+(~!b)*(~x)^2)^(1//3)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + eq((~b)*(~c)+3*(~a)*(~d),0) && + pos((~b)/(~a)) ? +rt((~b)⨸(~a),2)*atanh(sqrt(3)⨸(rt((~b)⨸(~a),2)*(~x)))⨸(2*2^(2⨸3)*sqrt(3)*(~a)^(1⨸3)*(~d)) + rt((~b)⨸(~a),2)*atanh(sqrt(3)*((~a)^(1⨸3)-2^(1⨸3)*((~a)+(~b)*(~x)^2)^(1⨸3))⨸((~a)^(1⨸3)*rt((~b)⨸(~a),2)*(~x)))⨸(2*2^(2⨸3)*sqrt(3)*(~a)^(1⨸3)*(~d)) + rt((~b)⨸(~a),2)*atan(rt((~b)⨸(~a),2)*(~x))⨸(6*2^(2⨸3)*(~a)^(1⨸3)*(~d)) - rt((~b)⨸(~a),2)*atan(((~a)^(1⨸3)*rt((~b)⨸(~a),2)*(~x))⨸((~a)^(1⨸3)+2^(1⨸3)*((~a)+(~b)*(~x)^2)^(1⨸3)))⨸(2*2^(2⨸3)*(~a)^(1⨸3)*(~d)) : nothing)) + +("1_1_2_3_26", +:(∫(1/(((~a)+(~!b)*(~x)^2)^(1//3)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + eq((~b)*(~c)+3*(~a)*(~d),0) && + neg((~b)/(~a)) ? +rt(-(~b)⨸(~a),2)*atan(sqrt(3)⨸(rt(-(~b)⨸(~a),2)*(~x)))⨸(2*2^(2⨸3)*sqrt(3)*(~a)^(1⨸3)*(~d)) + rt(-(~b)⨸(~a),2)*atan(sqrt(3)*((~a)^(1⨸3)-2^(1⨸3)*((~a)+(~b)*(~x)^2)^(1⨸3))⨸((~a)^(1⨸3)*rt(-(~b)⨸(~a),2)*(~x)))⨸(2*2^(2⨸3)*sqrt(3)*(~a)^(1⨸3)*(~d)) - rt(-(~b)⨸(~a),2)*atanh(rt(-(~b)⨸(~a),2)*(~x))⨸(6*2^(2⨸3)*(~a)^(1⨸3)*(~d)) + rt(-(~b)⨸(~a),2)*atanh(((~a)^(1⨸3)*rt(-(~b)⨸(~a),2)*(~x))⨸((~a)^(1⨸3)+2^(1⨸3)*((~a)+(~b)*(~x)^2)^(1⨸3)))⨸(2*2^(2⨸3)*(~a)^(1⨸3)*(~d)) : nothing)) + +("1_1_2_3_27", +:(∫(1/(((~a)+(~!b)*(~x)^2)^(1//3)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + eq((~b)*(~c)-9*(~a)*(~d),0) && + pos((~b)/(~a)) ? +rt((~b)⨸(~a),2)*atan(rt((~b)⨸(~a),2)*(~x)⨸3)⨸(12*rt((~a),3)*(~d)) + rt((~b)⨸(~a),2)*atan((rt((~a),3)-((~a)+(~b)*(~x)^2)^(1⨸3))^2⨸(3*rt((~a),3)^2*rt((~b)⨸(~a),2)*(~x)))⨸(12*rt((~a),3)*(~d)) - rt((~b)⨸(~a),2)*atanh((sqrt(3)*(rt((~a),3)-((~a)+(~b)*(~x)^2)^(1⨸3)))⨸(rt((~a),3)*rt((~b)⨸(~a),2)*(~x)))⨸(4*sqrt(3)*rt((~a),3)*(~d)) : nothing)) + +("1_1_2_3_28", +:(∫(1/(((~a)+(~!b)*(~x)^2)^(1//3)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + eq((~b)*(~c)-9*(~a)*(~d),0) && + neg((~b)/(~a)) ? +-rt(-(~b)⨸(~a),2)*atanh(rt(-(~b)⨸(~a),2)*(~x)⨸3)⨸(12*rt((~a),3)*(~d)) + rt(-(~b)⨸(~a),2)*atanh((rt((~a),3)-((~a)+(~b)*(~x)^2)^(1⨸3))^2⨸(3*rt((~a),3)^2*rt(-(~b)⨸(~a),2)*(~x)))⨸(12*rt((~a),3)*(~d)) - rt(-(~b)⨸(~a),2)*atan((sqrt(3)*(rt((~a),3)-((~a)+(~b)*(~x)^2)^(1⨸3)))⨸(rt((~a),3)*rt(-(~b)⨸(~a),2)*(~x)))⨸(4*sqrt(3)*rt((~a),3)*(~d)) : nothing)) + +("1_1_2_3_29", +:(∫(1/(((~a)+(~!b)*(~x)^2)^(1//4)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + eq((~b)*(~c)-2*(~a)*(~d),0) && + pos((~b)^2/(~a)) ? +-(~b)⨸(2*(~a)*(~d)*rt((~b)^2⨸(~a),4))*atan(((~b)+rt((~b)^2⨸(~a),4)^2*sqrt((~a)+(~b)*(~x)^2))⨸(rt((~b)^2⨸(~a),4)^3*(~x)*((~a)+(~b)*(~x)^2)^(1⨸4))) - (~b)⨸(2*(~a)*(~d)*rt((~b)^2⨸(~a),4))*atanh(((~b)-rt((~b)^2⨸(~a),4)^2*sqrt((~a)+(~b)*(~x)^2))⨸(rt((~b)^2⨸(~a),4)^3*(~x)*((~a)+(~b)*(~x)^2)^(1⨸4))) : nothing)) + +("1_1_2_3_30", +:(∫(1/(((~a)+(~!b)*(~x)^2)^(1//4)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + eq((~b)*(~c)-2*(~a)*(~d),0) && + neg((~b)^2/(~a)) ? +(~b)⨸(2*sqrt(2)*(~a)*(~d)*rt(-(~b)^2⨸(~a),4))*atan(rt(-(~b)^2⨸(~a),4)*(~x)⨸(sqrt(2)*((~a)+(~b)*(~x)^2)^(1⨸4))) + (~b)⨸(2*sqrt(2)*(~a)*(~d)*rt(-(~b)^2⨸(~a),4))*atanh(rt(-(~b)^2⨸(~a),4)*(~x)⨸(sqrt(2)*((~a)+(~b)*(~x)^2)^(1⨸4))) : nothing)) + +# (* Int[1/((a_+b_.*x_^2)^(1/4)*(c_+d_.*x_^2)),x_Symbol] := With[{q=Rt[-b^2/a,4]}, b/(2*Sqrt[2]*a*d*q)*ArcTan[q*x/(Sqrt[2]*(a+b*x^2)^(1/4))] + b/(4*Sqrt[2]*a*d*q)*Log[(Sqrt[2]*q*x+2*(a+b*x^2)^(1/4))/(Sqrt[2]*q*x-2*(a+b*x^2)^(1/4))]] /;FreeQ[{a,b,c,d},x] && EqQ[b*c-2*a*d,0] && NegQ[b^2/a] *) + +("1_1_2_3_31", +:(∫(1/(((~a)+(~!b)*(~x)^2)^(1//4)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) ? +2*sqrt(-(~b)*(~x)^2⨸(~a))⨸(~x) * int_and_subst((~x)^2⨸(sqrt(1-(~x)^4⨸(~a))*((~b)*(~c)-(~a)*(~d)+(~d)*(~x)^4)), (~x), (~x), ((~a)+(~b)*(~x)^2)^(1⨸4), "1_1_2_3_31") : nothing)) + +("1_1_2_3_32", +:(∫(1/(((~a)+(~!b)*(~x)^2)^(3//4)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + eq((~b)*(~c)-2*(~a)*(~d),0) ? +1⨸(~c) * ∫(1⨸((~a)+(~b)*(~x)^2)^(3⨸4), (~x)) - (~d)⨸(~c) * ∫((~x)^2⨸(((~a)+(~b)*(~x)^2)^(3⨸4)*((~c)+(~d)*(~x)^2)), (~x)) : nothing)) + +("1_1_2_3_33", +:(∫(1/(((~a)+(~!b)*(~x)^2)^(3//4)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) ? +sqrt(-(~b)*(~x)^2⨸(~a))⨸(2*(~x)) * int_and_subst(1⨸(sqrt(-(~b)*(~x)⨸(~a))*((~a)+(~b)*(~x))^(3⨸4)*((~c)+(~d)*(~x))), (~x), (~x), (~x)^2, "1_1_2_3_33") : nothing)) + +("1_1_2_3_34", +:(∫(sqrt((~a)+(~!b)*(~x)^2)/((~c)+(~!d)*(~x)^2)^(3//2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + pos((~b)/(~a)) && + pos((~d)/(~c)) ? +sqrt((~a)+(~b)*(~x)^2)⨸((~c)*rt((~d)⨸(~c),2)*sqrt((~c)+(~d)*(~x)^2)*sqrt((~c)*((~a)+(~b)*(~x)^2)⨸((~a)*((~c)+(~d)*(~x)^2))))*elliptic_e(atan(rt((~d)⨸(~c),2)*(~x)),1-(~b)*(~c)⨸((~a)*(~d))) : nothing)) + +# (* Int[Sqrt[a_+b_.*x_^2]/(c_+d_.*x_^2)^(3/2),x_Symbol] := a*Sqrt[c+d*x^2]*Sqrt[(c*(a+b*x^2))/(a*(c+d*x^2))]/(c^2*Rt[d/c,2]*Sqrt[a+b*x^2])*EllipticE[ArcTan[Rt[d/c,2]*x],1-b*c/(a*d)] /;FreeQ[{a,b,c,d},x] && PosQ[b/a] && PosQ[d/c] *) + +# ("1_1_2_3_35", +# @rule ∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# lt((~p),-1) && +# lt(0,(~q),1) && +# IntBinomialQ[(~a),(~b),(~c),(~d),2,(~p),(~q),(~x)] ? +# -(~x)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^(~q)⨸(2*(~a)*((~p)+1)) + 1⨸(2*(~a)*((~p)+1)) * ∫(((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)-1)*simplify((~c)*(2*(~p)+3)+(~d)*(2*((~p)+(~q)+1)+1)*(~x)^2,(~x)), (~x)) : nothing) + +# ("1_1_2_3_36", +# @rule ∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# lt((~p),-1) && +# gt((~q),1) && +# IntBinomialQ[(~a),(~b),(~c),(~d),2,(~p),(~q),(~x)] ? +# ((~a)*(~d)-(~c)*(~b))*(~x)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)-1)⨸(2*(~a)*(~b)*((~p)+1)) - 1⨸(2*(~a)*(~b)*((~p)+1)) * ∫(((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)-2)*simplify((~c)*((~a)*(~d)-(~c)*(~b)*(2*(~p)+3))+(~d)*((~a)*(~d)*(2*((~q)-1)+1)-(~b)*(~c)*(2*((~p)+(~q))+1))*(~x)^2,(~x)), (~x)) : nothing) + +# ("1_1_2_3_37", +# @rule ∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~q),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# lt((~p),-1) && +# !( +# !(ext_isinteger((~p))) && +# ext_isinteger((~q)) && +# lt((~q),-1) +# ) && +# IntBinomialQ[(~a),(~b),(~c),(~d),2,(~p),(~q),(~x)] ? +# -(~b)*(~x)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)+1)⨸(2*(~a)*((~p)+1)*((~b)*(~c)-(~a)*(~d))) + 1⨸(2*(~a)*((~p)+1)*((~b)*(~c)-(~a)*(~d))) * ∫(((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^(~q)*simplify((~b)*(~c)+2*((~p)+1)*((~b)*(~c)-(~a)*(~d))+(~d)*(~b)*(2*((~p)+(~q)+2)+1)*(~x)^2,(~x)), (~x)) : nothing) + +("1_1_2_3_38", +:(∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + ext_isinteger((~p),(~q)) && + gt((~p)+(~q),0) ? +∫(ext_expand(((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^(~q), (~x)),(~x)) : nothing)) + +# ("1_1_2_3_39", +# @rule ∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~p),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# gt((~q),1) && +# !eq(2*((~p)+(~q))+1,0) && +# !(igt((~p),1)) && +# IntBinomialQ[(~a),(~b),(~c),(~d),2,(~p),(~q),(~x)] ? +# (~d)*(~x)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)-1)⨸((~b)*(2*((~p)+(~q))+1)) + 1⨸((~b)*(2*((~p)+(~q))+1)) * ∫(((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^((~q)-2)*simplify((~c)*((~b)*(~c)*(2*((~p)+(~q))+1)-(~a)*(~d))+(~d)*((~b)*(~c)*(2*((~p)+2*(~q)-1)+1)-(~a)*(~d)*(2*((~q)-1)+1))*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_3_40", +# @rule ∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# gt((~q),0) && +# gt((~p),0) && +# IntBinomialQ[(~a),(~b),(~c),(~d),2,(~p),(~q),(~x)] ? +# (~x)*((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^(~q)⨸(2*((~p)+(~q))+1) + 2⨸(2*((~p)+(~q))+1) * ∫(((~a)+(~b)*(~x)^2)^((~p)-1)*((~c)+(~d)*(~x)^2)^((~q)-1)*simplify((~a)*(~c)*((~p)+(~q))+((~q)*((~b)*(~c)-(~a)*(~d))+(~a)*(~d)*((~p)+(~q)))*(~x)^2,(~x)), (~x)) : nothing) + +("1_1_2_3_41", +:(∫(1/(sqrt((~a)+(~!b)*(~x)^2)*sqrt((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + pos((~d)/(~c)) && + pos((~b)/(~a)) && + !(simpler(rt((~b)/(~a),2),rt((~d)/(~c),2))) ? +sqrt((~a)+(~b)*(~x)^2)⨸((~a)*rt((~d)⨸(~c),2)*sqrt((~c)+(~d)*(~x)^2)*sqrt((~c)*((~a)+(~b)*(~x)^2)⨸((~a)*((~c)+(~d)*(~x)^2))))*elliptic_f(atan(rt((~d)⨸(~c),2)*(~x)),1-(~b)*(~c)⨸((~a)*(~d))) : nothing)) + +# (* Int[1/(Sqrt[a_+b_.*x_^2]*Sqrt[c_+d_.*x_^2]),x_Symbol] := Sqrt[c+d*x^2]*Sqrt[c*(a+b*x^2)/(a*(c+d*x^2))]/(c*Rt[d/c,2]*Sqrt[a+b*x^2])*EllipticF[ArcTan[Rt[d/c,2]*x],1-b*c/(a*d)] /;FreeQ[{a,b,c,d},x] && PosQ[d/c] && PosQ[b/a] && Not[SimplerSqrtQ[b/a,d/c]] *) + +("1_1_2_3_42", +:(∫(1/(sqrt((~a)+(~!b)*(~x)^2)*sqrt((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + neg((~d)/(~c)) && + gt((~c),0) && + gt((~a),0) && + !( + neg((~b)/(~a)) && + simpler(rt(-(~b)/(~a),2),rt(-(~d)/(~c),2)) + ) ? +1⨸(sqrt((~a))*sqrt((~c))*rt(-(~d)⨸(~c),2))*elliptic_f(asin(rt(-(~d)⨸(~c),2)*(~x)),(~b)*(~c)⨸((~a)*(~d))) : nothing)) + +("1_1_2_3_43", +:(∫(1/(sqrt((~a)+(~!b)*(~x)^2)*sqrt((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + neg((~d)/(~c)) && + gt((~c),0) && + gt((~a)-(~b)*(~c)/(~d),0) ? +-1⨸(sqrt((~c))*rt(-(~d)⨸(~c),2)*sqrt((~a)-(~b)*(~c)⨸(~d)))*elliptic_f(acos(rt(-(~d)⨸(~c),2)*(~x)),(~b)*(~c)⨸((~b)*(~c)-(~a)*(~d))) : nothing)) + +("1_1_2_3_44", +:(∫(1/(sqrt((~a)+(~!b)*(~x)^2)*sqrt((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !(gt((~c),0)) ? +sqrt(1+(~d)⨸(~c)*(~x)^2)⨸sqrt((~c)+(~d)*(~x)^2) * ∫(1⨸(sqrt((~a)+(~b)*(~x)^2)*sqrt(1+(~d)⨸(~c)*(~x)^2)), (~x)) : nothing)) + +("1_1_2_3_45", +:(∫(sqrt((~a)+(~!b)*(~x)^2)/sqrt((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + pos((~d)/(~c)) && + pos((~b)/(~a)) ? +(~a) * ∫(1⨸(sqrt((~a)+(~b)*(~x)^2)*sqrt((~c)+(~d)*(~x)^2)), (~x)) + (~b) * ∫((~x)^2⨸(sqrt((~a)+(~b)*(~x)^2)*sqrt((~c)+(~d)*(~x)^2)), (~x)) : nothing)) + +("1_1_2_3_46", +:(∫(sqrt((~a)+(~!b)*(~x)^2)/sqrt((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + pos((~d)/(~c)) && + eq((~b)*(~c)+(~a)*(~d),0) && + lt((~a),0) && + gt((~c),0) ? +(~x)*sqrt((~a)+(~b)*(~x)^2)⨸sqrt((~c)+(~d)*(~x)^2) + sqrt(-2*(~a))*(~x)⨸sqrt((~d)*(~x)^2)*elliptic_e(asin(sqrt(2*(~c))⨸sqrt((~c)+(~d)*(~x)^2)),1⨸2) : nothing)) + +("1_1_2_3_47", +:(∫(sqrt((~a)+(~!b)*(~x)^2)/sqrt((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + pos((~d)/(~c)) && + neg((~b)/(~a)) ? +(~b)⨸(~d) * ∫(sqrt((~c)+(~d)*(~x)^2)⨸sqrt((~a)+(~b)*(~x)^2), (~x)) - ((~b)*(~c)-(~a)*(~d))⨸(~d) * ∫(1⨸(sqrt((~a)+(~b)*(~x)^2)*sqrt((~c)+(~d)*(~x)^2)), (~x)) : nothing)) + +("1_1_2_3_48", +:(∫(sqrt((~a)+(~!b)*(~x)^2)/sqrt((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + neg((~d)/(~c)) && + gt((~c),0) && + gt((~a),0) ? +sqrt((~a))⨸(sqrt((~c))*rt(-(~d)⨸(~c),2))*elliptic_e(asin(rt(-(~d)⨸(~c),2)*(~x)),(~b)*(~c)⨸((~a)*(~d))) : nothing)) + +("1_1_2_3_49", +:(∫(sqrt((~a)+(~!b)*(~x)^2)/sqrt((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + neg((~d)/(~c)) && + gt((~c),0) && + gt((~a)-(~b)*(~c)/(~d),0) ? +-sqrt((~a)-(~b)*(~c)⨸(~d))⨸(sqrt((~c))*rt(-(~d)⨸(~c),2))*elliptic_e(acos(rt(-(~d)⨸(~c),2)*(~x)),(~b)*(~c)⨸((~b)*(~c)-(~a)*(~d))) : nothing)) + +("1_1_2_3_50", +:(∫(sqrt((~a)+(~!b)*(~x)^2)/sqrt((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + eq((~b)*(~c)+(~a)*(~d),0) && + !( + lt((~a)*(~c),0) && + gt((~a)*(~b),0) + ) ? +(~a)*sqrt(1-(~b)^2*(~x)^4⨸(~a)^2)⨸(sqrt((~a)+(~b)*(~x)^2)*sqrt((~c)+(~d)*(~x)^2)) * ∫(sqrt(1+(~b)*(~x)^2⨸(~a))⨸sqrt(1-(~b)*(~x)^2⨸(~a)), (~x)) : nothing)) + +("1_1_2_3_51", +:(∫(sqrt((~a)+(~!b)*(~x)^2)/sqrt((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + neg((~d)/(~c)) && + gt((~c),0) && + !(gt((~a),0)) ? +sqrt((~a)+(~b)*(~x)^2)⨸sqrt(1+(~b)⨸(~a)*(~x)^2) * ∫(sqrt(1+(~b)⨸(~a)*(~x)^2)⨸sqrt((~c)+(~d)*(~x)^2), (~x)) : nothing)) + +("1_1_2_3_52", +:(∫(sqrt((~a)+(~!b)*(~x)^2)/sqrt((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + neg((~d)/(~c)) && + !(gt((~c),0)) ? +sqrt(1+(~d)⨸(~c)*(~x)^2)⨸sqrt((~c)+(~d)*(~x)^2) * ∫(sqrt((~a)+(~b)*(~x)^2)⨸sqrt(1+(~d)⨸(~c)*(~x)^2), (~x)) : nothing)) + +("1_1_2_3_53", +:(∫(((~a)+(~!b)*(~x)^2)^(~!p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~q),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + igt((~p),0) ? +∫(ext_expand(((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^(~q), (~x)),(~x)) : nothing)) + +# (* Int[(a_+b_.*x_^2)^p_.*(c_+d_.*x_^2)^q_.,x_Symbol] := Sqrt[x^2]/(2*x) * Subst[Int[(a+b*x)^p*(c+d*x)^q/Sqrt[x],x],x,x^2] /;FreeQ[{a,b,c,d,p,q},x] && NeQ[b*c-a*d,0] *) + +("1_1_2_3_54", +:(∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~p),(~q),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + ( + ext_isinteger((~p)) || + gt((~a),0) + ) && + ( + ext_isinteger((~q)) || + gt((~c),0) + ) ? +(~a)^(~p)*(~c)^(~q)*(~x)*appell_f1(1⨸2,-(~p),-(~q),3⨸2,-(~b)*(~x)^2⨸(~a),-(~d)*(~x)^2⨸(~c)) : nothing)) + +("1_1_2_3_55", +:(∫(((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~p),(~q),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + !( + ext_isinteger((~p)) || + gt((~a),0) + ) ? +(~a)^intpart((~p))*((~a)+(~b)*(~x)^2)^fracpart((~p))⨸(1+(~b)*(~x)^2⨸(~a))^fracpart((~p)) * ∫((1+(~b)*(~x)^2⨸(~a))^(~p)*((~c)+(~d)*(~x)^2)^(~q), (~x)) : nothing)) + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.4 (e x)^m (a+b x^2)^p (c+d x^2)^q.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.4 (e x)^m (a+b x^2)^p (c+d x^2)^q.jl new file mode 100644 index 0000000..2feefe3 --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.2 Quadratic/1.1.2.4 (e x)^m (a+b x^2)^p (c+d x^2)^q.jl @@ -0,0 +1,578 @@ +file_rules = [ +# (* ::Package:: *) + +("1_1_2_4_1", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~!p)*((~c)+(~!d)*(~x)^2)^(~!p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~p),(~x)) && + eq((~b)*(~c)+(~a)*(~d),0) && + ( + ext_isinteger((~p)) || + gt((~a),0) && + gt((~c),0) + ) ? +∫(((~e)*(~x))^(~m)*((~a)*(~c)+(~b)*(~d)*(~x)^4)^(~p), (~x)) : nothing)) + +("1_1_2_4_2", +:(∫((~x)^3*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~p),(~x)) && + eq((~b)*(~c)+(~a)*(~d),0) ? +((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~p)+1)⨸(4*(~b)*(~d)*((~p)+1)) : nothing)) + +("1_1_2_4_3", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~p),(~x)) && + eq((~b)*(~c)+(~a)*(~d),0) && + eq((~m)+4*(~p)+5,0) ? +-((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~p)+1)⨸(4*(~a)*(~c)*(~e)*((~p)+1)) : nothing)) + +("1_1_2_4_4", +:(∫((~x)^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~p),(~x)) && + eq((~b)*(~c)+(~a)*(~d),0) && + ext_isinteger(((~m)-1)/2) ? +1⨸2 * int_and_subst((~x)^(((~m)-1)⨸2)*((~a)+(~b)*(~x))^(~p)*((~c)+(~d)*(~x))^(~p), (~x), (~x), (~x)^2, "1_1_2_4_4") : nothing)) + +("1_1_2_4_5", +:(∫(((~!e)*(~x))^(~m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && + eq((~b)*(~c)+(~a)*(~d),0) && + gt((~p),0) && + lt((~m),-1) ? +((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^(~p)⨸((~e)*((~m)+1)) - 4*(~b)*(~d)*(~p)⨸((~e)^4*((~m)+1)) * ∫(((~e)*(~x))^((~m)+4)*((~a)+(~b)*(~x)^2)^((~p)-1)*((~c)+(~d)*(~x)^2)^((~p)-1), (~x)) : nothing)) + +("1_1_2_4_6", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && + eq((~b)*(~c)+(~a)*(~d),0) && + gt((~p),0) && + !eq((~m)+4*(~p)+1,0) && + ext_isinteger(2*(~m)) ? +((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^(~p)⨸((~e)*((~m)+4*(~p)+1)) + 4*(~a)*(~c)*(~p)⨸((~m)+4*(~p)+1) * ∫(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)-1)*((~c)+(~d)*(~x)^2)^((~p)-1), (~x)) : nothing)) + +("1_1_2_4_7", +:(∫(((~!e)*(~x))^(~m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && + eq((~b)*(~c)+(~a)*(~d),0) && + lt((~p),-1) && + gt((~m),3) ? +(~e)^3*((~e)*(~x))^((~m)-3)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~p)+1)⨸(4*(~b)*(~d)*((~p)+1)) - (~e)^4*((~m)-3)⨸(4*(~b)*(~d)*((~p)+1)) * ∫(((~e)*(~x))^((~m)-4)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~p)+1), (~x)) : nothing)) + +("1_1_2_4_8", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && + eq((~b)*(~c)+(~a)*(~d),0) && + lt((~p),-1) && + ext_isinteger(2*(~m)) ? +-((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~p)+1)⨸(4*(~a)*(~c)*(~e)*((~p)+1)) + ((~m)+4*(~p)+5)⨸(4*(~a)*(~c)*((~p)+1)) * ∫(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~p)+1), (~x)) : nothing)) + +("1_1_2_4_9", +:(∫(((~!e)*(~x))^(~m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~p),(~x)) && + eq((~b)*(~c)+(~a)*(~d),0) && + lt((~m),-1) ? +((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~p)+1)⨸((~a)*(~c)*(~e)*((~m)+1)) - (~b)*(~d)*((~m)+4*(~p)+5)⨸((~a)*(~c)*(~e)^4*((~m)+1)) * ∫(((~e)*(~x))^((~m)+4)*((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^(~p), (~x)) : nothing)) + +("1_1_2_4_10", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~p),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~p),(~x)) && + eq((~b)*(~c)+(~a)*(~d),0) && + !(ext_isinteger((~p))) ? +((~a)+(~b)*(~x)^2)^fracpart((~p))*((~c)+(~d)*(~x)^2)^fracpart((~p))⨸((~a)*(~c)+(~b)*(~d)*(~x)^4)^fracpart((~p)) * ∫(((~e)*(~x))^(~m)*((~a)*(~c)+(~b)*(~d)*(~x)^4)^(~p), (~x)) : nothing)) + +("1_1_2_4_11", +:(∫((~x)^(~!m)*((~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~!q),(~x)) ) => :( + !contains_var((~b),(~c),(~d),(~m),(~p),(~q),(~x)) && + ext_isinteger(((~m)-1)/2) ? +1⨸(2*(~b)^(((~m)-1)⨸2)) * int_and_subst(((~b)*(~x))^((~p)+((~m)-1)⨸2)*((~c)+(~d)*(~x))^(~q), (~x), (~x), (~x)^2, "1_1_2_4_11") : nothing)) + +("1_1_2_4_12", +:(∫(((~!e)*(~x))^(~!m)*((~!b)*(~x)^2.)^(~p)*((~c)+(~!d)*(~x)^2)^(~!q),(~x)) ) => :( + !contains_var((~b),(~c),(~d),(~e),(~m),(~p),(~q),(~x)) && + ( + ext_isinteger((~m)) || + gt((~e),0) + ) ? +(~e)^(~m)*(~b)^intpart((~p))*((~b)*(~x)^2)^fracpart((~p))⨸(~x)^(2*fracpart((~p))) * ∫((~x)^((~m)+2*(~p))*((~c)+(~d)*(~x)^2)^(~q), (~x)) : nothing)) + +("1_1_2_4_13", +:(∫(((~e)*(~x))^(~m)*((~!b)*(~x)^2.)^(~p)*((~c)+(~!d)*(~x)^2)^(~!q),(~x)) ) => :( + !contains_var((~b),(~c),(~d),(~e),(~m),(~p),(~q),(~x)) && + !(ext_isinteger((~m))) ? +(~e)^intpart((~m))*((~e)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m)) * ∫((~x)^(~m)*((~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^(~q), (~x)) : nothing)) + +("1_1_2_4_14", +:(∫((~x)/(((~a)+(~!b)*(~x)^2)^(1//4)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + eq((~b)*(~c)-2*(~a)*(~d),0) && + pos((~a)) ? +-1⨸(sqrt(2)*rt((~a),4)*(~d))*atan((rt((~a),4)^2-sqrt((~a)+(~b)*(~x)^2))⨸(sqrt(2)*rt((~a),4)*((~a)+(~b)*(~x)^2)^(1⨸4))) - 1⨸(sqrt(2)*rt((~a),4)*(~d))*atanh((rt((~a),4)^2+sqrt((~a)+(~b)*(~x)^2))⨸(sqrt(2)*rt((~a),4)*((~a)+(~b)*(~x)^2)^(1⨸4))) : nothing)) + +("1_1_2_4_15", +:(∫((~x)^(~m)/(((~a)+(~!b)*(~x)^2)^(1//4)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + eq((~b)*(~c)-2*(~a)*(~d),0) && + ext_isinteger((~m)) && + ( + pos((~a)) || + ext_isinteger((~m)/2) + ) ? +∫(ext_expand((~x)^(~m)⨸(((~a)+(~b)*(~x)^2)^(1⨸4)*((~c)+(~d)*(~x)^2)), (~x)),(~x)) : nothing)) + +("1_1_2_4_16", +:(∫((~x)^2/(((~a)+(~!b)*(~x)^2)^(3//4)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + eq((~b)*(~c)-2*(~a)*(~d),0) && + pos((~b)^2/(~a)) ? +-(~b)⨸((~a)*(~d)*rt((~b)^2⨸(~a),4)^3)*atan(((~b)+rt((~b)^2⨸(~a),4)^2*sqrt((~a)+(~b)*(~x)^2))⨸(rt((~b)^2⨸(~a),4)^3*(~x)*((~a)+(~b)*(~x)^2)^(1⨸4))) + (~b)⨸((~a)*(~d)*rt((~b)^2⨸(~a),4)^3)*atanh(((~b)-rt((~b)^2⨸(~a),4)^2*sqrt((~a)+(~b)*(~x)^2))⨸(rt((~b)^2⨸(~a),4)^3*(~x)*((~a)+(~b)*(~x)^2)^(1⨸4))) : nothing)) + +("1_1_2_4_17", +:(∫((~x)^2/(((~a)+(~!b)*(~x)^2)^(3//4)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + eq((~b)*(~c)-2*(~a)*(~d),0) && + neg((~b)^2/(~a)) ? +-(~b)⨸(sqrt(2)*(~a)*(~d)*rt(-(~b)^2⨸(~a),4)^3)*atan((rt(-(~b)^2⨸(~a),4)*(~x))⨸(sqrt(2)*((~a)+(~b)*(~x)^2)^(1⨸4))) + (~b)⨸(sqrt(2)*(~a)*(~d)*rt(-(~b)^2⨸(~a),4)^3)*atanh((rt(-(~b)^2⨸(~a),4)*(~x))⨸(sqrt(2)*((~a)+(~b)*(~x)^2)^(1⨸4))) : nothing)) + +("1_1_2_4_18", +:(∫((~x)^(~m)/(((~a)+(~!b)*(~x)^2)^(3//4)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + eq((~b)*(~c)-2*(~a)*(~d),0) && + ext_isinteger((~m)) && + ( + pos((~a)) || + ext_isinteger((~m)/2) + ) ? +∫(ext_expand((~x)^(~m)⨸(((~a)+(~b)*(~x)^2)^(3⨸4)*((~c)+(~d)*(~x)^2)), (~x)),(~x)) : nothing)) + +("1_1_2_4_19", +:(∫((~x)*((~a)+(~!b)*(~x)^2)^(~!p)*((~c)+(~!d)*(~x)^2)^(~!q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~p),(~q),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) ? +1⨸2 * int_and_subst(((~a)+(~b)*(~x))^(~p)*((~c)+(~d)*(~x))^(~q), (~x), (~x), (~x)^2, "1_1_2_4_19") : nothing)) + +("1_1_2_4_20", +:(∫((~x)^(~!m)*((~a)+(~!b)*(~x)^2)^(~!p)*((~c)+(~!d)*(~x)^2)^(~!q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~p),(~q),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + ext_isinteger(((~m)-1)/2) ? +1⨸2 * int_and_subst((~x)^(((~m)-1)⨸2)*((~a)+(~b)*(~x))^(~p)*((~c)+(~d)*(~x))^(~q), (~x), (~x), (~x)^2, "1_1_2_4_20") : nothing)) + +("1_1_2_4_21", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~!p)*((~c)+(~!d)*(~x)^2)^(~!q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + igt((~p),0) && + igt((~q),0) ? +∫(ext_expand(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^(~q), (~x)),(~x)) : nothing)) + +("1_1_2_4_22", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~!p)*((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~p),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + eq((~a)*(~d)*((~m)+1)-(~b)*(~c)*((~m)+2*(~p)+3),0) && + !eq((~m),-1) ? +(~c)*((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~a)*(~e)*((~m)+1)) : nothing)) + +("1_1_2_4_23", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + eq((~m)+2*(~p)+3,0) && + lt((~p),-1) ? +((~b)*(~c)-(~a)*(~d))*((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~a)*(~b)*(~e)*((~m)+1)) + (~d)⨸(~b) * ∫(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)+1), (~x)) : nothing)) + +("1_1_2_4_24", +:(∫(((~!e)*(~x))^(~m)*((~a)+(~!b)*(~x)^2)^(~!p)*((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~p),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + eq(simplify((~m)+2*(~p)+3),0) && + !eq((~m),-1) ? +(~c)*((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~a)*(~e)*((~m)+1)) + (~d)⨸(~e)^2 * ∫(((~e)*(~x))^((~m)+2)*((~a)+(~b)*(~x)^2)^(~p), (~x)) : nothing)) + +("1_1_2_4_25", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~!p)*((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~p),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + lt((~m),-1) && + !(ilt((~p),-1)) ? +(~c)*((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~a)*(~e)*((~m)+1)) + ((~a)*(~d)*((~m)+1)-(~b)*(~c)*((~m)+2*(~p)+3))⨸((~a)*(~e)^2*((~m)+1)) * ∫(((~e)*(~x))^((~m)+2)*((~a)+(~b)*(~x)^2)^(~p), (~x)) : nothing)) + +("1_1_2_4_26", +:(∫((~x)^(~m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + lt((~p),-1) && + igt((~m)/2,0) && + ( + ext_isinteger((~p)) || + eq((~m)+2*(~p)+1,0) + ) ? +(-(~a))^((~m)⨸2-1)*((~b)*(~c)-(~a)*(~d))*(~x)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸(2*(~b)^((~m)⨸2+1)*((~p)+1)) + 1⨸(2*(~b)^((~m)⨸2+1)*((~p)+1)) * ∫(((~a)+(~b)*(~x)^2)^((~p)+1)* expand_to_sum(2*(~b)*((~p)+1)*(~x)^2*together(((~b)^((~m)⨸2)*(~x)^((~m)-2)*((~c)+(~d)*(~x)^2)-(-(~a))^((~m)⨸2-1)*((~b)*(~c)-(~a)*(~d)))⨸((~a)+(~b)*(~x)^2))-(-(~a))^((~m)⨸2-1)*((~b)*(~c)-(~a)*(~d)), (~x)),(~x)) : nothing)) + +("1_1_2_4_27", +:(∫((~x)^(~m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + lt((~p),-1) && + ilt((~m)/2,0) && + ( + ext_isinteger((~p)) || + eq((~m)+2*(~p)+1,0) + ) ? +(-(~a))^((~m)⨸2-1)*((~b)*(~c)-(~a)*(~d))*(~x)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸(2*(~b)^((~m)⨸2+1)*((~p)+1)) + 1⨸(2*(~b)^((~m)⨸2+1)*((~p)+1)) * ∫((~x)^(~m)*((~a)+(~b)*(~x)^2)^((~p)+1)* expand_to_sum(2*(~b)*((~p)+1)*together(((~b)^((~m)⨸2)*((~c)+(~d)*(~x)^2)-(-(~a))^((~m)⨸2-1)*((~b)*(~c)-(~a)*(~d))*(~x)^(-(~m)+2))⨸((~a)+(~b)*(~x)^2))- (-(~a))^((~m)⨸2-1)*((~b)*(~c)-(~a)*(~d))*(~x)^(-(~m)), (~x)),(~x)) : nothing)) + +("1_1_2_4_28", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~!p)*((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + lt((~p),-1) && + ( + !(ext_isinteger((~p)+1/2)) && + !eq((~p),-5/4) || + !(isrational((~m))) || + ilt((~p)+1/2,0) && + le(-1,(~m),-2*((~p)+1)) + ) ? +-((~b)*(~c)-(~a)*(~d))*((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸(2*(~a)*(~b)*(~e)*((~p)+1)) - ((~a)*(~d)*((~m)+1)-(~b)*(~c)*((~m)+2*(~p)+3))⨸(2*(~a)*(~b)*((~p)+1)) * ∫(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)+1), (~x)) : nothing)) + +("1_1_2_4_29", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~!p)*((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~p),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + !eq((~m)+2*(~p)+3,0) ? +(~d)*((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~b)*(~e)*((~m)+2*(~p)+3)) - ((~a)*(~d)*((~m)+1)-(~b)*(~c)*((~m)+2*(~p)+3))⨸((~b)*((~m)+2*(~p)+3)) * ∫(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^(~p), (~x)) : nothing)) + +("1_1_2_4_30", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)/((~c)+(~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + igt((~p),0) && + ( + ext_isinteger((~m)) || + igt(2*((~m)+1),0) || + !(isrational((~m))) + ) ? +∫(ext_expand(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^(~p)⨸((~c)+(~d)*(~x)^2), (~x)),(~x)) : nothing)) + +("1_1_2_4_31", +:(∫(((~!e)*(~x))^(~m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^2,(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~p),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + lt((~m),-1) ? +(~c)^2*((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~a)*(~e)*((~m)+1)) - 1⨸((~a)*(~e)^2*((~m)+1)) * ∫(((~e)*(~x))^((~m)+2)*((~a)+(~b)*(~x)^2)^(~p)*simplify(2*(~b)*(~c)^2*((~p)+1)+(~c)*((~b)*(~c)-2*(~a)*(~d))*((~m)+1)-(~a)*(~d)^2*((~m)+1)*(~x)^2,(~x)), (~x)) : nothing)) + +("1_1_2_4_32", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^2,(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + lt((~p),-1) ? +-((~b)*(~c)-(~a)*(~d))^2*((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸(2*(~a)*(~b)^2*(~e)*((~p)+1)) + 1⨸(2*(~a)*(~b)^2*((~p)+1)) * ∫(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)+1)*simplify(((~b)*(~c)-(~a)*(~d))^2*((~m)+1)+2*(~b)^2*(~c)^2*((~p)+1)+2*(~a)*(~b)*(~d)^2*((~p)+1)*(~x)^2,(~x)), (~x)) : nothing)) + +("1_1_2_4_33", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^2,(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~p),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + !eq((~m)+2*(~p)+5,0) ? +(~d)^2*((~e)*(~x))^((~m)+3)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~b)*(~e)^3*((~m)+2*(~p)+5)) + 1⨸((~b)*((~m)+2*(~p)+5)) * ∫(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^(~p)*simplify((~b)*(~c)^2*((~m)+2*(~p)+5)-(~d)*((~a)*(~d)*((~m)+3)-2*(~b)*(~c)*((~m)+2*(~p)+5))*(~x)^2,(~x)), (~x)) : nothing)) + +("1_1_2_4_34", +:(∫(((~!e)*(~x))^(~m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~p),(~q),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + isfraction((~m)) && + ext_isinteger((~p)) ? +ext_den((~m))⨸(~e) * int_and_subst((~x)^(ext_den((~m))*((~m)+1)-1)*((~a)+(~b)*(~x)^(ext_den((~m))*2)⨸(~e)^2)^(~p)*((~c)+(~d)*(~x)^(ext_den((~m))*2)⨸(~e)^2)^(~q), (~x), (~x), ((~e)*(~x))^(1⨸ext_den((~m))), "1_1_2_4_34") : nothing)) + +# ("1_1_2_4_35", +# @rule ∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# lt((~p),-1) && +# gt((~q),0) && +# gt((~m),1) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# (~e)*((~e)*(~x))^((~m)-1)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^(~q)⨸(2*(~b)*((~p)+1)) - (~e)^2⨸(2*(~b)*((~p)+1)) * ∫(((~e)*(~x))^((~m)-2)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)-1)*simplify((~c)*((~m)-1)+(~d)*((~m)+2*(~q)-1)*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_4_36", +# @rule ∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# lt((~p),-1) && +# gt((~q),1) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# -((~b)*(~c)-(~a)*(~d))*((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)-1)⨸(2*(~a)*(~b)*(~e)*((~p)+1)) + 1⨸(2*(~a)*(~b)*((~p)+1)) * ∫(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)-2)* simplify((~c)*(2*(~b)*(~c)*((~p)+1)+((~b)*(~c)-(~a)*(~d))*((~m)+1))+(~d)*(2*(~b)*(~c)*((~p)+1)+((~b)*(~c)-(~a)*(~d))*((~m)+2*(~q)-1))*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_4_37", +# @rule ∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# lt((~p),-1) && +# lt(0,(~q),1) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# -((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^(~q)⨸(2*(~a)*(~e)*((~p)+1)) + 1⨸(2*(~a)*((~p)+1)) * ∫(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)-1)*simplify((~c)*((~m)+2*(~p)+3)+(~d)*((~m)+2*(~p)+2*(~q)+3)*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_4_38", +# @rule ∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~q),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# lt((~p),-1) && +# gt((~m),3) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# -(~a)*(~e)^3*((~e)*(~x))^((~m)-3)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)+1)⨸(2*(~b)*((~b)*(~c)-(~a)*(~d))*((~p)+1)) + (~e)^4⨸(2*(~b)*((~b)*(~c)-(~a)*(~d))*((~p)+1)) * ∫(((~e)*(~x))^((~m)-4)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^(~q)* simplify((~a)*(~c)*((~m)-3)+((~a)*(~d)*((~m)+2*(~q)-1)+2*(~b)*(~c)*((~p)+1))*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_4_39", +# @rule ∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~q),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# lt((~p),-1) && +# gt((~m),1) && +# le((~m),3) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# (~e)*((~e)*(~x))^((~m)-1)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)+1)⨸(2*((~b)*(~c)-(~a)*(~d))*((~p)+1)) - (~e)^2⨸(2*((~b)*(~c)-(~a)*(~d))*((~p)+1)) * ∫(((~e)*(~x))^((~m)-2)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^(~q)*simplify((~c)*((~m)-1)+(~d)*((~m)+2*(~p)+2*(~q)+3)*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_4_40", +# @rule ∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~q),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# lt((~p),-1) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# -(~b)*((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)+1)⨸(2*(~a)*(~e)*((~b)*(~c)-(~a)*(~d))*((~p)+1)) + 1⨸(2*(~a)*((~b)*(~c)-(~a)*(~d))*((~p)+1)) * ∫(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^(~q)*simplify((~b)*(~c)*((~m)+1)+2*((~b)*(~c)-(~a)*(~d))*((~p)+1)+(~b)*(~d)*((~m)+2*(~p)+2*(~q)+5)*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_4_41", +# @rule ∫(((~!e)*(~x))^(~m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# gt((~q),0) && +# lt((~m),-1) && +# gt((~p),0) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# ((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^(~q)⨸((~e)*((~m)+1)) - 2⨸((~e)^2*((~m)+1)) * ∫(((~e)*(~x))^((~m)+2)*((~a)+(~b)*(~x)^2)^((~p)-1)*((~c)+(~d)*(~x)^2)^((~q)-1)*simplify((~b)*(~c)*(~p)+(~a)*(~d)*(~q)+(~b)*(~d)*((~p)+(~q))*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_4_42", +# @rule ∫(((~!e)*(~x))^(~m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~p),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# gt((~q),1) && +# lt((~m),-1) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# (~c)*((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)-1)⨸((~a)*(~e)*((~m)+1)) - 1⨸((~a)*(~e)^2*((~m)+1)) * ∫(((~e)*(~x))^((~m)+2)*((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^((~q)-2)* simplify((~c)*((~b)*(~c)-(~a)*(~d))*((~m)+1)+2*(~c)*((~b)*(~c)*((~p)+1)+(~a)*(~d)*((~q)-1))+(~d)*(((~b)*(~c)-(~a)*(~d))*((~m)+1)+2*(~b)*(~c)*((~p)+(~q)))*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_4_43", +# @rule ∫(((~!e)*(~x))^(~m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~p),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# lt(0,(~q),1) && +# lt((~m),-1) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# ((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^(~q)⨸((~a)*(~e)*((~m)+1)) - 1⨸((~a)*(~e)^2*((~m)+1)) * ∫(((~e)*(~x))^((~m)+2)*((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^((~q)-1)* simplify((~b)*(~c)*((~m)+1)+2*((~b)*(~c)*((~p)+1)+(~a)*(~d)*(~q))+(~d)*((~b)*((~m)+1)+2*(~b)*((~p)+(~q)+1))*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_4_44", +# @rule ∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# gt((~q),0) && +# gt((~p),0) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# ((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^(~q)⨸((~e)*((~m)+2*((~p)+(~q))+1)) + 2⨸((~m)+2*((~p)+(~q))+1) * ∫(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)-1)*((~c)+(~d)*(~x)^2)^((~q)-1)*simplify((~a)*(~c)*((~p)+(~q))+((~q)*((~b)*(~c)-(~a)*(~d))+(~a)*(~d)*((~p)+(~q)))*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_4_45", +# @rule ∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~p),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# gt((~q),1) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# (~d)*((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)-1)⨸((~b)*(~e)*((~m)+2*((~p)+(~q))+1)) + 1⨸((~b)*((~m)+2*((~p)+(~q))+1)) * ∫(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^((~q)-2)* simplify((~c)*(((~b)*(~c)-(~a)*(~d))*((~m)+1)+2*(~b)*(~c)*((~p)+(~q)))+((~d)*((~b)*(~c)-(~a)*(~d))*((~m)+1)+2*(~d)*((~q)-1)*((~b)*(~c)-(~a)*(~d))+2*(~b)*(~c)*(~d)*((~p)+(~q)))*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_4_46", +# @rule ∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~p),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# gt((~q),0) && +# gt((~m),1) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# (~e)*((~e)*(~x))^((~m)-1)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^(~q)⨸((~b)*((~m)+2*((~p)+(~q))+1)) - (~e)^2⨸((~b)*((~m)+2*((~p)+(~q))+1)) * ∫(((~e)*(~x))^((~m)-2)*((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^((~q)-1)*simplify((~a)*(~c)*((~m)-1)+((~a)*(~d)*((~m)-1)-2*(~q)*((~b)*(~c)-(~a)*(~d)))*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_4_47", +# @rule ∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~p),(~q),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# gt((~m),3) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# (~e)^3*((~e)*(~x))^((~m)-3)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)+1)⨸((~b)*(~d)*((~m)+2*((~p)+(~q))+1)) - (~e)^4⨸((~b)*(~d)*((~m)+2*((~p)+(~q))+1)) * ∫(((~e)*(~x))^((~m)-4)*((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^(~q)*simplify((~a)*(~c)*((~m)-3)+((~a)*(~d)*((~m)+2*(~q)-1)+(~b)*(~c)*((~m)+2*(~p)-1))*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_4_48", +# @rule ∫(((~!e)*(~x))^(~m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~p),(~q),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# lt((~m),-1) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# ((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)+1)⨸((~a)*(~c)*(~e)*((~m)+1)) - 1⨸((~a)*(~c)*(~e)^2*((~m)+1)) * ∫(((~e)*(~x))^((~m)+2)*((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^(~q)*simplify(((~b)*(~c)+(~a)*(~d))*((~m)+3)+2*((~b)*(~c)*(~p)+(~a)*(~d)*(~q))+(~b)*(~d)*((~m)+2*(~p)+2*(~q)+5)*(~x)^2,(~x)), (~x)) : nothing) + +("1_1_2_4_49", +:(∫(((~!e)*(~x))^(~!m)/(((~a)+(~!b)*(~x)^2)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + le(2,(~m),3) ? +-(~a)*(~e)^2⨸((~b)*(~c)-(~a)*(~d)) * ∫(((~e)*(~x))^((~m)-2)⨸((~a)+(~b)*(~x)^2), (~x)) + (~c)*(~e)^2⨸((~b)*(~c)-(~a)*(~d)) * ∫(((~e)*(~x))^((~m)-2)⨸((~c)+(~d)*(~x)^2), (~x)) : nothing)) + +("1_1_2_4_50", +:(∫(((~!e)*(~x))^(~!m)/(((~a)+(~!b)*(~x)^2)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) ? +(~b)⨸((~b)*(~c)-(~a)*(~d)) * ∫(((~e)*(~x))^(~m)⨸((~a)+(~b)*(~x)^2), (~x)) - (~d)⨸((~b)*(~c)-(~a)*(~d)) * ∫(((~e)*(~x))^(~m)⨸((~c)+(~d)*(~x)^2), (~x)) : nothing)) + +# ("1_1_2_4_51", +# @rule ∫(((~!e)*(~x))^(~m)*((~c)+(~!d)*(~x)^2)^(~!q)/((~a)+(~!b)*(~x)^2),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~q),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# le(2,(~m),3) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,-1,(~q),(~x)] ? +# (~e)^2⨸(~b) * ∫(((~e)*(~x))^((~m)-2)*((~c)+(~d)*(~x)^2)^(~q), (~x)) - (~a)*(~e)^2⨸(~b) * ∫(((~e)*(~x))^((~m)-2)*((~c)+(~d)*(~x)^2)^(~q)⨸((~a)+(~b)*(~x)^2), (~x)) : nothing) +# +# ("1_1_2_4_52", +# @rule ∫((~x)*((~a)+(~!b)*(~x)^2)^(~p)/((~c)+(~!d)*(~x)^2),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# gt((~p),0) && +# IntBinomialQ[(~a),(~b),(~c),(~d),1,1,2,(~p),-1,(~x)] ? +# (~b)⨸(~d) * ∫((~x)*((~a)+(~b)*(~x)^2)^((~p)-1), (~x)) - ((~b)*(~c)-(~a)*(~d))⨸(~d) * ∫((~x)*((~a)+(~b)*(~x)^2)^((~p)-1)⨸((~c)+(~d)*(~x)^2), (~x)) : nothing) +# +# ("1_1_2_4_53", +# @rule ∫((~x)*((~a)+(~!b)*(~x)^2)^(~p)/((~c)+(~!d)*(~x)^2),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# lt((~p),-1) && +# IntBinomialQ[(~a),(~b),(~c),(~d),1,1,2,(~p),-1,(~x)] ? +# (~b)⨸((~b)*(~c)-(~a)*(~d)) * ∫((~x)*((~a)+(~b)*(~x)^2)^((~p)-1), (~x)) - (~d)⨸((~b)*(~c)-(~a)*(~d)) * ∫((~x)*((~a)+(~b)*(~x)^2)^((~p)+1)⨸((~c)+(~d)*(~x)^2), (~x)) : nothing) + +("1_1_2_4_54", +:(∫((~x)^2/(sqrt((~a)+(~!b)*(~x)^2)*sqrt((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + pos((~b)/(~a)) && + pos((~d)/(~c)) && + !(simpler(rt((~b)/(~a),2),rt((~d)/(~c),2))) ? +(~x)*sqrt((~a)+(~b)*(~x)^2)⨸((~b)*sqrt((~c)+(~d)*(~x)^2)) - (~c)⨸(~b) * ∫(sqrt((~a)+(~b)*(~x)^2)⨸((~c)+(~d)*(~x)^2)^(3⨸2), (~x)) : nothing)) + +("1_1_2_4_55", +:(∫((~x)^2/(sqrt((~a)+(~!b)*(~x)^2)*sqrt((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + !(simpler(rt(-(~b)/(~a),2),rt(-(~d)/(~c),2))) ? +1⨸(~b) * ∫(sqrt((~a)+(~b)*(~x)^2)⨸sqrt((~c)+(~d)*(~x)^2), (~x)) - (~a)⨸(~b) * ∫(1⨸(sqrt((~a)+(~b)*(~x)^2)*sqrt((~c)+(~d)*(~x)^2)), (~x)) : nothing)) + +("1_1_2_4_56", +:(∫((~x)^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~!q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~x)) && + isrational((~m),(~p)) && + ext_isinteger((~p)+((~m)+1)/2,(~q)) && + lt(-1,(~p),0) ? +ext_den((~p))*(~a)^((~p)+((~m)+1)⨸2)⨸2 * int_and_subst((~x)^(ext_den((~p))*((~m)+1)⨸2-1)*((~c)-((~b)*(~c)-(~a)*(~d))*(~x)^ext_den((~p)))^(~q)⨸(1-(~b)*(~x)^ext_den((~p)))^((~p)+(~q)+((~m)+1)⨸2+1), (~x), (~x), (~x)^(2⨸ext_den((~p)))⨸((~a)+(~b)*(~x)^2)^(1⨸ext_den((~p))), "1_1_2_4_56") : nothing)) + +# ("1_1_2_4_57", +# @rule ∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# lt((~p),-1) && +# gt((~q),1) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# -((~b)*(~c)-(~a)*(~d))*((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)-1)⨸((~a)*(~b)*(~e)*2*((~p)+1)) + 1⨸((~a)*(~b)*2*((~p)+1)) * ∫(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)-2)* simplify((~c)*((~b)*(~c)*2*((~p)+1)+((~b)*(~c)-(~a)*(~d))*((~m)+1))+(~d)*((~b)*(~c)*2*((~p)+1)+((~b)*(~c)-(~a)*(~d))*((~m)+2*((~q)-1)+1))*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_4_58", +# @rule ∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# lt((~p),-1) && +# lt(0,(~q),1) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# -((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^(~q)⨸((~a)*(~e)*2*((~p)+1)) + 1⨸((~a)*2*((~p)+1)) * ∫(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)-1)*simplify((~c)*((~m)+2*((~p)+1)+1)+(~d)*((~m)+2*((~p)+(~q)+1)+1)*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_4_59", +# @rule ∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~q),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# lt((~p),-1) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# -(~b)*((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)+1)⨸((~a)*(~e)*2*((~b)*(~c)-(~a)*(~d))*((~p)+1)) + 1⨸((~a)*2*((~b)*(~c)-(~a)*(~d))*((~p)+1)) * ∫(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^(~q)*simplify((~b)*(~c)*((~m)+1)+2*((~b)*(~c)-(~a)*(~d))*((~p)+1)+(~d)*(~b)*((~m)+2*((~p)+(~q)+2)+1)*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_4_60", +# @rule ∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# gt((~q),0) && +# gt((~p),0) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# ((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^(~q)⨸((~e)*((~m)+2*((~p)+(~q))+1)) + 2⨸((~m)+2*((~p)+(~q))+1) * ∫(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^((~p)-1)*((~c)+(~d)*(~x)^2)^((~q)-1)*simplify((~a)*(~c)*((~p)+(~q))+((~q)*((~b)*(~c)-(~a)*(~d))+(~a)*(~d)*((~p)+(~q)))*(~x)^2,(~x)), (~x)) : nothing) +# +# ("1_1_2_4_61", +# @rule ∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) => +# !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~p),(~x)) && +# !eq((~b)*(~c)-(~a)*(~d),0) && +# gt((~q),1) && +# IntBinomialQ[(~a),(~b),(~c),(~d),(~e),(~m),2,(~p),(~q),(~x)] ? +# (~d)*((~e)*(~x))^((~m)+1)*((~a)+(~b)*(~x)^2)^((~p)+1)*((~c)+(~d)*(~x)^2)^((~q)-1)⨸((~b)*(~e)*((~m)+2*((~p)+(~q))+1)) + 1⨸((~b)*((~m)+2*((~p)+(~q))+1)) * ∫(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^((~q)-2)* simplify((~c)*(((~b)*(~c)-(~a)*(~d))*((~m)+1)+(~b)*(~c)*2*((~p)+(~q)))+((~d)*((~b)*(~c)-(~a)*(~d))*((~m)+1)+(~d)*2*((~q)-1)*((~b)*(~c)-(~a)*(~d))+(~b)*(~c)*(~d)*2*((~p)+(~q)))*(~x)^2,(~x)), (~x)) : nothing) + +("1_1_2_4_62", +:(∫((~x)^(~m)/(((~a)+(~!b)*(~x)^2)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~m),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + ( + eq((~m),2) || + eq((~m),3) + ) ? +-(~a)⨸((~b)*(~c)-(~a)*(~d)) * ∫((~x)^((~m)-2)⨸((~a)+(~b)*(~x)^2), (~x)) + (~c)⨸((~b)*(~c)-(~a)*(~d)) * ∫((~x)^((~m)-2)⨸((~c)+(~d)*(~x)^2), (~x)) : nothing)) + +("1_1_2_4_63", +:(∫(((~!e)*(~x))^(~!m)/(((~a)+(~!b)*(~x)^2)*((~c)+(~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) ? +(~b)⨸((~b)*(~c)-(~a)*(~d)) * ∫(((~e)*(~x))^(~m)⨸((~a)+(~b)*(~x)^2), (~x)) - (~d)⨸((~b)*(~c)-(~a)*(~d)) * ∫(((~e)*(~x))^(~m)⨸((~c)+(~d)*(~x)^2), (~x)) : nothing)) + +("1_1_2_4_64", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + igt((~p),-2) && + ( + igt((~q),-2) || + eq((~q),-3) && + ext_isinteger(((~m)-1)/2) + ) ? +∫(ext_expand(((~e)*(~x))^(~m)*((~a)+(~b)*(~x)^2)^(~p)*((~c)+(~d)*(~x)^2)^(~q), (~x)),(~x)) : nothing)) + +("1_1_2_4_65", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~!p)*((~c)+(~!d)*(~x)^2)^(~!q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~p),(~q),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + ext_isinteger(simplify((~m)+2*(~p))) && + !(ext_isinteger((~m))) ? +((~e)*(~x))^(~m)⨸(2*(~x)*((~x)^2)^(simplify(((~m)+1)⨸2)-1)) * int_and_subst((~x)^(simplify(((~m)+1)⨸2)-1)*((~a)+(~b)*(~x))^(~p)*((~c)+(~d)*(~x))^(~q), (~x), (~x), (~x)^2, "1_1_2_4_65") : nothing)) + +("1_1_2_4_66", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~p),(~q),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + !eq((~m),-1) && + !eq((~m),1) && + ( + ext_isinteger((~p)) || + gt((~a),0) + ) && + ( + ext_isinteger((~q)) || + gt((~c),0) + ) ? +(~a)^(~p)*(~c)^(~q)*((~e)*(~x))^((~m)+1)⨸((~e)*((~m)+1))*appell_f1(((~m)+1)⨸2,-(~p),-(~q),1+((~m)+1)⨸2,-(~b)*(~x)^2⨸(~a),-(~d)*(~x)^2⨸(~c)) : nothing)) + +("1_1_2_4_67", +:(∫(((~!e)*(~x))^(~!m)*((~a)+(~!b)*(~x)^2)^(~p)*((~c)+(~!d)*(~x)^2)^(~q),(~x)) ) => :( + !contains_var((~a),(~b),(~c),(~d),(~e),(~m),(~p),(~q),(~x)) && + !eq((~b)*(~c)-(~a)*(~d),0) && + !eq((~m),-1) && + !eq((~m),1) && + !( + ext_isinteger((~p)) || + gt((~a),0) + ) ? +(~a)^intpart((~p))*((~a)+(~b)*(~x)^2)^fracpart((~p))⨸(1+(~b)*(~x)^2⨸(~a))^fracpart((~p)) * ∫(((~e)*(~x))^(~m)*(1+(~b)*(~x)^2⨸(~a))^(~p)*((~c)+(~d)*(~x)^2)^(~q), (~x)) : nothing)) + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.1 (a+b x^n)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.1 (a+b x^n)^p.jl new file mode 100644 index 0000000..5eb5c5c --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.1 (a+b x^n)^p.jl @@ -0,0 +1,528 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.1.3.1 (a+b x^n)^p *) +("1_1_3_1_1", +:(∫(((~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~b), (~n), (~p), (~x)) ? +(~b)^intpart((~p))*((~b)*(~x)^(~n))^fracpart((~p))⨸(~x)^((~n)*fracpart((~p)))* ∫((~x)^((~n)*(~p)), (~x)) : nothing)) + +("1_1_3_1_2", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~p), (~x)) && + isfraction((~n)) && + ext_isinteger(1/(~n)) ? +1⨸(~n)*int_and_subst((~x)^(1⨸(~n) - 1)*((~a) + (~b)*(~x))^(~p), (~x), (~x), (~x)^(~n), "1_1_3_1_2") : nothing)) + +("1_1_3_1_3", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~n), (~p), (~x)) && + eq(1/(~n) + (~p) + 1, 0) ? +(~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸(~a) : nothing)) + +("1_1_3_1_4", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~n), (~p), (~x)) && + ilt(simplify(1/(~n) + (~p) + 1), 0) && + !eq((~p), -1) ? +-(~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~n)*((~p) + 1)) + ((~n)*((~p) + 1) + 1)⨸((~a)*(~n)*((~p) + 1))*∫(((~a) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing)) + +("1_1_3_1_5", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + lt((~n), 0) && + ext_isinteger((~p)) ? +∫((~x)^((~n)*(~p))*((~b) + (~a)*(~x)^(-(~n)))^(~p), (~x)) : nothing)) + +("1_1_3_1_6", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + igt((~n), 0) && + igt((~p), 0) ? +∫(ext_expand(((~a) + (~b)*(~x)^(~n))^(~p), (~x)), (~x)) : nothing)) + +("1_1_3_1_7", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + igt((~n), 0) && + gt((~p), 0) && + ( + ext_isinteger(2*(~p)) || + eq((~n), 2) && + ext_isinteger(4*(~p)) || + eq((~n), 2) && + ext_isinteger(3*(~p)) || + lt(ext_den((~p) + 1/(~n)), ext_den((~p))) + ) ? +(~x)*((~a) + (~b)*(~x)^(~n))^(~p)⨸((~n)*(~p) + 1) + (~a)*(~n)*(~p)⨸((~n)*(~p) + 1)*∫(((~a) + (~b)*(~x)^(~n))^((~p) - 1), (~x)) : nothing)) + +("1_1_3_1_8", +:(∫(1/((~a) + (~!b)*(~x)^2)^(5//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + gt((~a), 0) && + pos((~b)/(~a)) ? +2⨸((~a)^(5⨸4)*rt((~b)⨸(~a), 2))*elliptic_e(1⨸2*atan(rt((~b)⨸(~a), 2)*(~x)), 2) : nothing)) + +("1_1_3_1_9", +:(∫(1/((~a) + (~!b)*(~x)^2)^(5//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~a)) && + pos((~b)/(~a)) ? +(1 + (~b)*(~x)^2⨸(~a))^(1⨸4)⨸((~a)*((~a) + (~b)*(~x)^2)^(1⨸4))* ∫(1⨸(1 + (~b)*(~x)^2⨸(~a))^(5⨸4), (~x)) : nothing)) + +("1_1_3_1_10", +:(∫(1/((~a) + (~!b)*(~x)^2)^(7//6),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +1⨸(((~a) + (~b)*(~x)^2)^(2⨸3)*((~a)⨸((~a) + (~b)*(~x)^2))^(2⨸3))* int_and_subst(1⨸(1 - (~b)*(~x)^2)^(1⨸3), (~x), (~x), (~x)⨸sqrt((~a) + (~b)*(~x)^2), "1_1_3_1_10") : nothing)) + +("1_1_3_1_11", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + igt((~n), 0) && + lt((~p), -1) && + ( + ext_isinteger(2*(~p)) || + (~n) == 2 && + ext_isinteger(4*(~p)) || + (~n) == 2 && + ext_isinteger(3*(~p)) || + ext_den((~p) + 1/(~n)) < ext_den((~p)) + ) ? +-(~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~n)*((~p) + 1)) + ((~n)*((~p) + 1) + 1)⨸((~a)*(~n)*((~p) + 1))*∫(((~a) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing)) + +("1_1_3_1_12", +:(∫(1/((~a) + (~!b)*(~x)^3),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +1⨸(3*rt((~a), 3)^2)*∫(1⨸(rt((~a), 3) + rt((~b), 3)*(~x)), (~x)) + 1⨸(3*rt((~a), 3)^2)* ∫((2*rt((~a), 3) - rt((~b), 3)*(~x))⨸(rt((~a), 3)^2 - rt((~a), 3)*rt((~b), 3)*(~x) + rt((~b), 3)^2*(~x)^2), (~x)) : nothing)) + +#(* Int[1/(a_+b_.*x_^5),x_Symbol] := With[{r=Numerator[Rt[a/b,5]], s=Denominator[Rt[a/b,5]]}, r/(5*a)*Int[1/(r+s*x),x] + 2*r/(5*a)*Int[(r-1/4*(1-Sqrt[5])*s*x)/(r^2-1/2*(1-Sqrt[5])*r*s*x+s^ 2*x^2),x] + 2*r/(5*a)*Int[(r-1/4*(1+Sqrt[5])*s*x)/(r^2-1/2*(1+Sqrt[5])*r*s*x+s^ 2*x^2),x]] /; FreeQ[{a,b},x] && PosQ[a/b] *) +#(* Int[1/(a_+b_.*x_^5),x_Symbol] := With[{r=Numerator[Rt[-a/b,5]], s=Denominator[Rt[-a/b,5]]}, r/(5*a)*Int[1/(r-s*x),x] + 2*r/(5*a)*Int[(r+1/4*(1-Sqrt[5])*s*x)/(r^2+1/2*(1-Sqrt[5])*r*s*x+s^ 2*x^2),x] + 2*r/(5*a)*Int[(r+1/4*(1+Sqrt[5])*s*x)/(r^2+1/2*(1+Sqrt[5])*r*s*x+s^ 2*x^2),x]] /; FreeQ[{a,b},x] && NegQ[a/b] *) +# ("1_1_3_1_13", +# @rule ∫(1/((~a) + (~!b)*(~x)^(~n)),(~x)) => +# !contains_var((~a), (~b), (~x)) && +# igt(((~n) - 3)/2, 0) && +# pos((~a)/(~b)) ? +# Module[{(~r) = ext_num(rt((~a)⨸(~b), (~n))), (~s) = ext_den(rt((~a)⨸(~b), (~n))), (~k), (~u)}, (~u) = ∫(((~r) - (~s)*cos((2*(~k) - 1)*π⨸(~n))*(~x))⨸((~r)^2 - 2*(~r)*(~s)*cos((2*(~k) - 1)*π⨸(~n))*(~x) + (~s)^2*(~x)^2), (~x)); (~r)⨸((~a)*(~n))*∫(1⨸((~r) + (~s)*(~x)), (~x)) + dist(2*(~r)⨸((~a)*(~n)), Sum[(~u), {(~k), 1, ((~n) - 1)⨸2}], (~x))] : nothing) +# +# ("1_1_3_1_14", +# @rule ∫(1/((~a) + (~!b)*(~x)^(~n)),(~x)) => +# !contains_var((~a), (~b), (~x)) && +# igt(((~n) - 3)/2, 0) && +# neg((~a)/(~b)) ? +# Module[{(~r) = ext_num(rt(-(~a)⨸(~b), (~n))), (~s) = ext_den(rt(-(~a)⨸(~b), (~n))), (~k), (~u)}, (~u) = ∫(((~r) + (~s)*cos((2*(~k) - 1)*π⨸(~n))*(~x))⨸((~r)^2 + 2*(~r)*(~s)*cos((2*(~k) - 1)*π⨸(~n))*(~x) + (~s)^2*(~x)^2), (~x)); (~r)⨸((~a)*(~n))*∫(1⨸((~r) - (~s)*(~x)), (~x)) + dist(2*(~r)⨸((~a)*(~n)), Sum[(~u), {(~k), 1, ((~n) - 1)⨸2}], (~x))] : nothing) + +("1_1_3_1_15", +:(∫(1/((~a) + (~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~a)/(~b)) && + ( + gt((~a), 0) || + gt((~b), 0) + ) ? +1⨸(rt((~a), 2)*rt((~b), 2))*atan(rt((~b), 2)*(~x)⨸rt((~a), 2)) : nothing)) + +("1_1_3_1_16", +:(∫(1/((~a) + (~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~a)/(~b)) && + ( + lt((~a), 0) || + lt((~b), 0) + ) ? +-1⨸(rt(-(~a), 2)*rt(-(~b), 2))*atan(rt(-(~b), 2)*(~x)⨸rt(-(~a), 2)) : nothing)) + +#(* this had a comment Int[1/(a_ + b_.*x_^2), x_Symbol] := (*Rt[b/a,2]/b*ArcTan[Rt[b/a,2]*x] /; *) Rt[a/b, 2]/a*ArcTan[x/Rt[a/b, 2]] /; FreeQ[{a, b}, x] && PosQ[a/b]*) +("1_1_3_1_17", +:(∫(1/((~a) + (~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~a)/(~b)) ? +rt((~a)⨸(~b), 2)⨸(~a)*atan((~x)⨸rt((~a)⨸(~b), 2)) : nothing)) + +("1_1_3_1_18", +:(∫(1/((~a) + (~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~a)/(~b)) && + ( + gt((~a), 0) || + lt((~b), 0) + ) ? +1⨸(rt((~a), 2)*rt(-(~b), 2))*atanh(rt(-(~b), 2)*(~x)⨸rt((~a), 2)) : nothing)) + +("1_1_3_1_19", +:(∫(1/((~a) + (~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~a)/(~b)) && + ( + lt((~a), 0) || + gt((~b), 0) + ) ? +-1⨸(rt(-(~a), 2)*rt((~b), 2))*atanh(rt((~b), 2)*(~x)⨸rt(-(~a), 2)) : nothing)) + +#(* this had a comment Int[1/(a_ + b_.*x_^2), x_Symbol] := (*-Rt[-b/a,2]/b*ArcTanh[Rt[-b/a,2]*x] /; *) Rt[-a/b, 2]/a*ArcTanh[x/Rt[-a/b, 2]] /; FreeQ[{a, b}, x] && NegQ[a/b]*) +("1_1_3_1_20", +:(∫(1/((~a) + (~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~a)/(~b)) ? +rt(-(~a)⨸(~b), 2)⨸(~a)*atanh((~x)⨸rt(-(~a)⨸(~b), 2)) : nothing)) + +# ("1_1_3_1_21", +# @rule ∫(1/((~a) + (~!b)*(~x)^(~n)),(~x)) => +# !contains_var((~a), (~b), (~x)) && +# igt(((~n) - 2)/4, 0) && +# pos((~a)/(~b)) ? +# Module[{(~r) = ext_num(rt((~a)⨸(~b), (~n))), (~s) = ext_den(rt((~a)⨸(~b), (~n))), (~k), (~u), (~v)}, (~u) = ∫(((~r) - (~s)*cos((2*(~k) - 1)*π⨸(~n))*(~x))⨸((~r)^2 - 2*(~r)*(~s)*cos((2*(~k) - 1)*π⨸(~n))*(~x) + (~s)^2*(~x)^2), (~x)) + ∫(((~r) + (~s)*cos((2*(~k) - 1)*π⨸(~n))*(~x))⨸((~r)^2 + 2*(~r)*(~s)*cos((2*(~k) - 1)*π⨸(~n))*(~x) + (~s)^2*(~x)^2), (~x)); 2*(~r)^2⨸((~a)*(~n))*∫(1⨸((~r)^2 + (~s)^2*(~x)^2), (~x)) + dist(2*(~r)⨸((~a)*(~n)), Sum[(~u), {(~k), 1, ((~n) - 2)⨸4}], (~x))] : nothing) +# +# ("1_1_3_1_22", +# @rule ∫(1/((~a) + (~!b)*(~x)^(~n)),(~x)) => +# !contains_var((~a), (~b), (~x)) && +# igt(((~n) - 2)/4, 0) && +# neg((~a)/(~b)) ? +# Module[{(~r) = ext_num(rt(-(~a)⨸(~b), (~n))), (~s) = ext_den(rt(-(~a)⨸(~b), (~n))), (~k), (~u)}, (~u) = ∫(((~r) - (~s)*cos((2*(~k)*π)⨸(~n))*(~x))⨸((~r)^2 - 2*(~r)*(~s)*cos((2*(~k)*π)⨸(~n))*(~x) + (~s)^2*(~x)^2), (~x)) + ∫(((~r) + (~s)*cos((2*(~k)*π)⨸(~n))*(~x))⨸((~r)^2 + 2*(~r)*(~s)*cos((2*(~k)*π)⨸(~n))*(~x) + (~s)^2*(~x)^2), (~x)); 2*(~r)^2⨸((~a)*(~n))*∫(1⨸((~r)^2 - (~s)^2*(~x)^2), (~x)) + dist(2*(~r)⨸((~a)*(~n)), Sum[(~u), {(~k), 1, ((~n) - 2)⨸4}], (~x))] : nothing) + +("1_1_3_1_23", +:(∫(1/((~a) + (~!b)*(~x)^4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + ( + gt((~a)/(~b), 0) || + pos((~a)/(~b)) + # atom(SplitProduct[SumBaseQ, (~a))] && + # atom(SplitProduct[SumBaseQ, (~b))] + ) ? +1⨸(2*ext_num(rt((~a)⨸(~b), 2)))*∫((ext_num(rt((~a)⨸(~b), 2)) - ext_den(rt((~a)⨸(~b), 2))*(~x)^2)⨸((~a) + (~b)*(~x)^4), (~x)) + 1⨸(2*ext_num(rt((~a)⨸(~b), 2)))*∫((ext_num(rt((~a)⨸(~b), 2)) + ext_den(rt((~a)⨸(~b), 2))*(~x)^2)⨸((~a) + (~b)*(~x)^4), (~x)) : nothing)) + +("1_1_3_1_24", +:(∫(1/((~a) + (~!b)*(~x)^4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + !(gt((~a)/(~b), 0)) ? +ext_num(rt(-(~a)⨸(~b), 2))⨸(2*(~a))*∫(1⨸(ext_num(rt(-(~a)⨸(~b), 2)) - ext_den(rt(-(~a)⨸(~b), 2))*(~x)^2), (~x)) + ext_num(rt(-(~a)⨸(~b), 2))⨸(2*(~a))*∫(1⨸(ext_num(rt(-(~a)⨸(~b), 2)) + ext_den(rt(-(~a)⨸(~b), 2))*(~x)^2), (~x)) : nothing)) + +("1_1_3_1_25", +:(∫(1/((~a) + (~!b)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + igt((~n)/4, 1) && + gt((~a)/(~b), 0) ? +ext_num(rt((~a)⨸(~b), 4))⨸(2*sqrt(2)*(~a))* ∫((sqrt(2)*ext_num(rt((~a)⨸(~b), 4)) - ext_den(rt((~a)⨸(~b), 4))*(~x)^((~n)⨸4))⨸(ext_num(rt((~a)⨸(~b), 4))^2 - sqrt(2)*ext_num(rt((~a)⨸(~b), 4))*ext_den(rt((~a)⨸(~b), 4))*(~x)^((~n)⨸4) + ext_den(rt((~a)⨸(~b), 4))^2*(~x)^((~n)⨸2)), (~x)) + ext_num(rt((~a)⨸(~b), 4))⨸(2*sqrt(2)*(~a))* ∫((sqrt(2)*ext_num(rt((~a)⨸(~b), 4)) + ext_den(rt((~a)⨸(~b), 4))*(~x)^((~n)⨸4))⨸(ext_num(rt((~a)⨸(~b), 4))^2 + sqrt(2)*ext_num(rt((~a)⨸(~b), 4))*ext_den(rt((~a)⨸(~b), 4))*(~x)^((~n)⨸4) + ext_den(rt((~a)⨸(~b), 4))^2*(~x)^((~n)⨸2)), (~x)) : nothing)) + +("1_1_3_1_26", +:(∫(1/((~a) + (~!b)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + igt((~n)/4, 1) && + !(gt((~a)/(~b), 0)) ? +ext_num(rt(-(~a)⨸(~b), 2))⨸(2*(~a))*∫(1⨸(ext_num(rt(-(~a)⨸(~b), 2)) - ext_den(rt(-(~a)⨸(~b), 2))*(~x)^((~n)⨸2)), (~x)) + ext_num(rt(-(~a)⨸(~b), 2))⨸(2*(~a))*∫(1⨸(ext_num(rt(-(~a)⨸(~b), 2)) + ext_den(rt(-(~a)⨸(~b), 2))*(~x)^((~n)⨸2)), (~x)) : nothing)) + +("1_1_3_1_27", +:(∫(1/sqrt((~a) + (~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + gt((~a), 0) && + pos((~b)) ? +asinh(rt((~b), 2)*(~x)⨸sqrt((~a)))⨸rt((~b), 2) : nothing)) + +("1_1_3_1_28", +:(∫(1/sqrt((~a) + (~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + gt((~a), 0) && + neg((~b)) ? +asin(rt(-(~b), 2)*(~x)⨸sqrt((~a)))⨸rt(-(~b), 2) : nothing)) + +("1_1_3_1_29", +:(∫(1/sqrt((~a) + (~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + !(gt((~a), 0)) ? +int_and_subst(1⨸(1 - (~b)*(~x)^2), (~x), (~x), (~x)⨸sqrt((~a) + (~b)*(~x)^2), "1_1_3_1_29") : nothing)) + +#(* Int[1/Sqrt[a_+b_.*x_^3],x_Symbol] := With[{q=Rt[b/a,3]}, -Sqrt[2]*(1+Sqrt[3])*(1+Sqrt[3]+q*x)^2*Sqrt[(1+q^3*x^3)/(1+Sqrt[3]+ q*x)^4]/(3^(1/4)*q*Sqrt[a+b*x^3])* EllipticF[ArcSin[(-1+Sqrt[3]-q*x)/(1+Sqrt[3]+q*x)],-7-4*Sqrt[3]]] /; FreeQ[{a,b},x] && PosQ[a] *) +#(* Int[1/Sqrt[a_+b_.*x_^3],x_Symbol] := With[{q=Rt[a/b,3]}, 2*Sqrt[2+Sqrt[3]]*(q+x)*Sqrt[(q^2-q*x+x^2)/((1+Sqrt[3])*q+x)^2]/ (3^(1/4)*Sqrt[a+b*x^3]*Sqrt[q*(q+x)/((1+Sqrt[3])*q+x)^2])* EllipticF[ArcSin[((1-Sqrt[3])*q+x)/((1+Sqrt[3])*q+x)],-7-4*Sqrt[3] ]] /; FreeQ[{a,b},x] && PosQ[a] && EqQ[b^2,1] *) +#(* Int[1/Sqrt[a_+b_.*x_^3],x_Symbol] := With[{q=Rt[b/a,3]}, -2*Sqrt[2+Sqrt[3]]*(1+q*x)*Sqrt[(1-q*x+q^2*x^2)/(1+Sqrt[3]+q*x)^2]/ (3^(1/4)*q*Sqrt[a+b*x^3]*Sqrt[(1+q*x)/(1+Sqrt[3]+q*x)^2])* EllipticF[ArcSin[(-1+Sqrt[3]-q*x)/(1+Sqrt[3]+q*x)],-7-4*Sqrt[3]]] /; FreeQ[{a,b},x] && PosQ[a] *) +("1_1_3_1_30", +:(∫(1/sqrt((~a) + (~!b)*(~x)^3),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~a)) ? +2*sqrt(2 + sqrt(3))*(ext_den(rt((~b)⨸(~a), 3)) + ext_num(rt((~b)⨸(~a), 3))*(~x))* sqrt((ext_den(rt((~b)⨸(~a), 3))^2 - ext_num(rt((~b)⨸(~a), 3))*ext_den(rt((~b)⨸(~a), 3))*(~x) + ext_num(rt((~b)⨸(~a), 3))^2*(~x)^2)⨸((1 + sqrt(3))*ext_den(rt((~b)⨸(~a), 3)) + ext_num(rt((~b)⨸(~a), 3))*(~x))^2)⨸ (3^(1⨸4)*ext_num(rt((~b)⨸(~a), 3))*sqrt((~a) + (~b)*(~x)^3)* sqrt(ext_den(rt((~b)⨸(~a), 3))*(ext_den(rt((~b)⨸(~a), 3)) + ext_num(rt((~b)⨸(~a), 3))*(~x))⨸((1 + sqrt(3))*ext_den(rt((~b)⨸(~a), 3)) + ext_num(rt((~b)⨸(~a), 3))*(~x))^2))* elliptic_f( asin(((1 - sqrt(3))*ext_den(rt((~b)⨸(~a), 3)) + ext_num(rt((~b)⨸(~a), 3))*(~x))⨸((1 + sqrt(3))*ext_den(rt((~b)⨸(~a), 3)) + ext_num(rt((~b)⨸(~a), 3))*(~x))), -7 - 4*sqrt(3)) : nothing)) + +#(* Int[1/Sqrt[a_+b_.*x_^3],x_Symbol] := With[{q=Rt[a/b,3]}, 2*Sqrt[2-Sqrt[3]]*(q+x)*Sqrt[(q^2-q*x+x^2)/((1-Sqrt[3])*q+x)^2]/ (3^(1/4)*Sqrt[a+b*x^3]*Sqrt[-q*(q+x)/((1-Sqrt[3])*q+x)^2])* EllipticF[ArcSin[((1+Sqrt[3])*q+x)/((1-Sqrt[3])*q+x)],-7+4*Sqrt[3] ]] /; FreeQ[{a,b},x] && NegQ[a] && EqQ[b^2,1] *) +#(* Int[1/Sqrt[a_+b_.*x_^3],x_Symbol] := With[{q=Rt[b/a,3]}, -2*Sqrt[2-Sqrt[3]]*(1+q*x)*Sqrt[(1-q*x+q^2*x^2)/(1-Sqrt[3]+q*x)^2]/ (3^(1/4)*q*Sqrt[a+b*x^3]*Sqrt[-(1+q*x)/(1-Sqrt[3]+q*x)^2])* EllipticF[ArcSin[(1+Sqrt[3]+q*x)/(-1+Sqrt[3]-q*x)],-7+4*Sqrt[3]]] /; FreeQ[{a,b},x] && NegQ[a] *) +("1_1_3_1_31", +:(∫(1/sqrt((~a) + (~!b)*(~x)^3),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~a)) ? +2*sqrt(2 - sqrt(3))*(ext_den(rt((~b)⨸(~a), 3)) + ext_num(rt((~b)⨸(~a), 3))*(~x))* sqrt((ext_den(rt((~b)⨸(~a), 3))^2 - ext_num(rt((~b)⨸(~a), 3))*ext_den(rt((~b)⨸(~a), 3))*(~x) + ext_num(rt((~b)⨸(~a), 3))^2*(~x)^2)⨸((1 - sqrt(3))*ext_den(rt((~b)⨸(~a), 3)) + ext_num(rt((~b)⨸(~a), 3))*(~x))^2)⨸ (3^(1⨸4)*ext_num(rt((~b)⨸(~a), 3))*sqrt((~a) + (~b)*(~x)^3)* sqrt(-ext_den(rt((~b)⨸(~a), 3))*(ext_den(rt((~b)⨸(~a), 3)) + ext_num(rt((~b)⨸(~a), 3))*(~x))⨸((1 - sqrt(3))*ext_den(rt((~b)⨸(~a), 3)) + ext_num(rt((~b)⨸(~a), 3))*(~x))^2))* elliptic_f( asin(((1 + sqrt(3))*ext_den(rt((~b)⨸(~a), 3)) + ext_num(rt((~b)⨸(~a), 3))*(~x))⨸((1 - sqrt(3))*ext_den(rt((~b)⨸(~a), 3)) + ext_num(rt((~b)⨸(~a), 3))*(~x))), -7 + 4*sqrt(3)) : nothing)) + +("1_1_3_1_32", +:(∫(1/sqrt((~a) + (~!b)*(~x)^4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~b)/(~a)) ? +(1 + rt((~b)⨸(~a), 4)^2*(~x)^2)* sqrt(((~a) + (~b)*(~x)^4)⨸((~a)*(1 + rt((~b)⨸(~a), 4)^2*(~x)^2)^2))⨸(2*rt((~b)⨸(~a), 4)*sqrt((~a) + (~b)*(~x)^4))* elliptic_f(2*atan(rt((~b)⨸(~a), 4)*(~x)), 1⨸2) : nothing)) + +("1_1_3_1_33", +:(∫(1/sqrt((~a) + (~!b)*(~x)^4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~b)/(~a)) && + gt((~a), 0) ? +elliptic_f(asin(rt(-(~b), 4)*(~x)⨸rt((~a), 4)), -1)⨸(rt((~a), 4)*rt(-(~b), 4)) : nothing)) + +("1_1_3_1_34", +:(∫(1/sqrt((~a) + (~!b)*(~x)^4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + lt((~a), 0) && + gt((~b), 0) && + ext_isinteger(rt(-(~a)*(~b), 2)) ? +sqrt(-(~a) + rt(-(~a)*(~b), 2)*(~x)^2)* sqrt(((~a) + rt(-(~a)*(~b), 2)*(~x)^2)⨸rt(-(~a)*(~b), 2))⨸(sqrt(2)*sqrt(-(~a))*sqrt((~a) + (~b)*(~x)^4))* elliptic_f(asin((~x)⨸sqrt(((~a) + rt(-(~a)*(~b), 2)*(~x)^2)⨸(2*rt(-(~a)*(~b), 2)))), 1⨸2) : nothing)) + +("1_1_3_1_35", +:(∫(1/sqrt((~a) + (~!b)*(~x)^4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + lt((~a), 0) && + gt((~b), 0) ? +sqrt(((~a) - rt(-(~a)*(~b), 2)*(~x)^2)⨸((~a) + rt(-(~a)*(~b), 2)*(~x)^2))* sqrt(((~a) + rt(-(~a)*(~b), 2)*(~x)^2)⨸rt(-(~a)*(~b), 2))⨸(sqrt(2)*sqrt((~a) + (~b)*(~x)^4)* sqrt((~a)⨸((~a) + rt(-(~a)*(~b), 2)*(~x)^2)))* elliptic_f(asin((~x)⨸sqrt(((~a) + rt(-(~a)*(~b), 2)*(~x)^2)⨸(2*rt(-(~a)*(~b), 2)))), 1⨸2) : nothing)) + +("1_1_3_1_36", +:(∫(1/sqrt((~a) + (~!b)*(~x)^4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~b)/(~a)) && + !(gt((~a), 0)) ? +sqrt(1 + (~b)*(~x)^4⨸(~a))⨸sqrt((~a) + (~b)*(~x)^4)*∫(1⨸sqrt(1 + (~b)*(~x)^4⨸(~a)), (~x)) : nothing)) + +("1_1_3_1_37", +:(∫(1/sqrt((~a) + (~!b)*(~x)^6),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +(~x)*(ext_den(rt((~b)⨸(~a), 3)) + ext_num(rt((~b)⨸(~a), 3))*(~x)^2)* sqrt((ext_den(rt((~b)⨸(~a), 3))^2 - ext_num(rt((~b)⨸(~a), 3))*ext_den(rt((~b)⨸(~a), 3))*(~x)^2 + ext_num(rt((~b)⨸(~a), 3))^2*(~x)^4)⨸(ext_den(rt((~b)⨸(~a), 3)) + (1 + sqrt(3))*ext_num(rt((~b)⨸(~a), 3))*(~x)^2)^2)⨸ (2*3^(1⨸4)*ext_den(rt((~b)⨸(~a), 3))*sqrt((~a) + (~b)*(~x)^6)* sqrt(ext_num(rt((~b)⨸(~a), 3))*(~x)^2*(ext_den(rt((~b)⨸(~a), 3)) + ext_num(rt((~b)⨸(~a), 3))*(~x)^2)⨸(ext_den(rt((~b)⨸(~a), 3)) + (1 + sqrt(3))*ext_num(rt((~b)⨸(~a), 3))*(~x)^2)^2))* elliptic_f( acos((ext_den(rt((~b)⨸(~a), 3)) + (1 - sqrt(3))*ext_num(rt((~b)⨸(~a), 3))*(~x)^2)⨸(ext_den(rt((~b)⨸(~a), 3)) + (1 + sqrt(3))*ext_num(rt((~b)⨸(~a), 3))*(~x)^2)), (2 + sqrt(3))⨸4) : nothing)) + +("1_1_3_1_38", +:(∫(1/sqrt((~a) + (~!b)*(~x)^8),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +1⨸2*∫((1 - rt((~b)⨸(~a), 4)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^8), (~x)) + 1⨸2*∫((1 + rt((~b)⨸(~a), 4)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^8), (~x)) : nothing)) + +("1_1_3_1_39", +:(∫(1/((~a) + (~!b)*(~x)^2)^(1//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + gt((~a), 0) && + pos((~b)/(~a)) ? +2*(~x)⨸((~a) + (~b)*(~x)^2)^(1⨸4) - (~a)*∫(1⨸((~a) + (~b)*(~x)^2)^(5⨸4), (~x)) : nothing)) + +("1_1_3_1_40", +:(∫(1/((~a) + (~!b)*(~x)^2)^(1//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + gt((~a), 0) && + neg((~b)/(~a)) ? +2⨸((~a)^(1⨸4)*rt(-(~b)⨸(~a), 2))*elliptic_e(1⨸2*asin(rt(-(~b)⨸(~a), 2)*(~x)), 2) : nothing)) + +("1_1_3_1_41", +:(∫(1/((~a) + (~!b)*(~x)^2)^(1//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~a)) ? +(1 + (~b)*(~x)^2⨸(~a))^(1⨸4)⨸((~a) + (~b)*(~x)^2)^(1⨸4)* ∫(1⨸(1 + (~b)*(~x)^2⨸(~a))^(1⨸4), (~x)) : nothing)) + +("1_1_3_1_42", +:(∫(1/((~a) + (~!b)*(~x)^2)^(1//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~a)) ? +2*sqrt(-(~b)*(~x)^2⨸(~a))⨸((~b)*(~x))* int_and_subst((~x)^2⨸sqrt(1 - (~x)^4⨸(~a)), (~x), (~x), ((~a) + (~b)*(~x)^2)^(1⨸4), "1_1_3_1_42") : nothing)) + +("1_1_3_1_43", +:(∫(1/((~a) + (~!b)*(~x)^2)^(3//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + gt((~a), 0) && + pos((~b)/(~a)) ? +2⨸((~a)^(3⨸4)*rt((~b)⨸(~a), 2))*elliptic_f(1⨸2*atan(rt((~b)⨸(~a), 2)*(~x)), 2) : nothing)) + +("1_1_3_1_44", +:(∫(1/((~a) + (~!b)*(~x)^2)^(3//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + gt((~a), 0) && + neg((~b)/(~a)) ? +2⨸((~a)^(3⨸4)*rt(-(~b)⨸(~a), 2))*elliptic_f(1⨸2*asin(rt(-(~b)⨸(~a), 2)*(~x)), 2) : nothing)) + +("1_1_3_1_45", +:(∫(1/((~a) + (~!b)*(~x)^2)^(3//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~a)) ? +(1 + (~b)*(~x)^2⨸(~a))^(3⨸4)⨸((~a) + (~b)*(~x)^2)^(3⨸4)* ∫(1⨸(1 + (~b)*(~x)^2⨸(~a))^(3⨸4), (~x)) : nothing)) + +("1_1_3_1_46", +:(∫(1/((~a) + (~!b)*(~x)^2)^(3//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~a)) ? +2*sqrt(-(~b)*(~x)^2⨸(~a))⨸((~b)*(~x))* int_and_subst(1⨸sqrt(1 - (~x)^4⨸(~a)), (~x), (~x), ((~a) + (~b)*(~x)^2)^(1⨸4), "1_1_3_1_46") : nothing)) + +("1_1_3_1_47", +:(∫(1/((~a) + (~!b)*(~x)^2)^(1//3),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +3*sqrt((~b)*(~x)^2)⨸(2*(~b)*(~x))* int_and_subst((~x)⨸sqrt(-(~a) + (~x)^3), (~x), (~x), ((~a) + (~b)*(~x)^2)^(1⨸3), "1_1_3_1_47") : nothing)) + +("1_1_3_1_48", +:(∫(1/((~a) + (~!b)*(~x)^2)^(2//3),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +3*sqrt((~b)*(~x)^2)⨸(2*(~b)*(~x))* int_and_subst(1⨸sqrt(-(~a) + (~x)^3), (~x), (~x), ((~a) + (~b)*(~x)^2)^(1⨸3), "1_1_3_1_48") : nothing)) + +("1_1_3_1_49", +:(∫(1/((~a) + (~!b)*(~x)^4)^(3//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +(~x)^3*(1 + (~a)⨸((~b)*(~x)^4))^(3⨸4)⨸((~a) + (~b)*(~x)^4)^(3⨸4)* ∫(1⨸((~x)^3*(1 + (~a)⨸((~b)*(~x)^4))^(3⨸4)), (~x)) : nothing)) + +("1_1_3_1_50", +:(∫(1/((~a) + (~!b)*(~x)^2)^(1//6),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +3*(~x)⨸(2*((~a) + (~b)*(~x)^2)^(1⨸6)) - (~a)⨸2*∫(1⨸((~a) + (~b)*(~x)^2)^(7⨸6), (~x)) : nothing)) + +("1_1_3_1_51", +:(∫(1/((~a) + (~!b)*(~x)^3)^(1//3),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +atan((1 + 2*rt((~b), 3)*(~x)⨸((~a) + (~b)*(~x)^3)^(1⨸3))⨸sqrt(3))⨸(sqrt(3)* rt((~b), 3)) - log(((~a) + (~b)*(~x)^3)^(1⨸3) - rt((~b), 3)*(~x))⨸(2*rt((~b), 3)) : nothing)) + +("1_1_3_1_52", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + igt((~n), 0) && + lt(-1, (~p), 0) && + !eq((~p), -1/2) && + ext_isinteger((~p) + 1/(~n)) ? +(~a)^((~p) + 1⨸(~n))* int_and_subst(1⨸(1 - (~b)*(~x)^(~n))^((~p) + 1⨸(~n) + 1), (~x), (~x), (~x)⨸((~a) + (~b)*(~x)^(~n))^(1⨸(~n)), "1_1_3_1_52") : nothing)) + +("1_1_3_1_53", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + igt((~n), 0) && + lt(-1, (~p), 0) && + !eq((~p), -1/2) && + lt(ext_den((~p) + 1/(~n)), ext_den((~p))) ? +((~a)⨸((~a) + (~b)*(~x)^(~n)))^((~p) + 1⨸(~n))*((~a) + (~b)*(~x)^(~n))^((~p) + 1⨸(~n))* int_and_subst(1⨸(1 - (~b)*(~x)^(~n))^((~p) + 1⨸(~n) + 1), (~x), (~x), (~x)⨸((~a) + (~b)*(~x)^(~n))^(1⨸(~n)), "1_1_3_1_53") : nothing)) + +("1_1_3_1_54", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~p), (~x)) && + ilt((~n), 0) ? +-int_and_subst(((~a) + (~b)*(~x)^(-(~n)))^(~p)⨸(~x)^2, (~x), (~x), 1⨸(~x), "1_1_3_1_54") : nothing)) + +("1_1_3_1_55", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~p), (~x)) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n)) - 1)*((~a) + (~b)*(~x)^(ext_den((~n))*(~n)))^(~p), (~x), (~x), (~x)^(1⨸ext_den((~n))), "1_1_3_1_55") : nothing)) + +("1_1_3_1_56", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~n), (~x)) && + igt((~p), 0) ? +∫(ext_expand(((~a) + (~b)*(~x)^(~n))^(~p), (~x)), (~x)) : nothing)) + +("1_1_3_1_57", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~n), (~p), (~x)) && + !(igt((~p), 0)) && + !(ext_isinteger(1/(~n))) && + !(ilt(simplify(1/(~n) + (~p)), 0)) && + ( + ext_isinteger((~p)) || + gt((~a), 0) + ) ? +(~a)^(~p)*(~x)*hypergeometric2f1(-(~p), 1⨸(~n), 1⨸(~n) + 1, -(~b)*(~x)^(~n)⨸(~a)) : nothing)) + +#(* Int[(a_+b_.*x_^n_)^p_,x_Symbol] := x*(a+b*x^n)^(p+1)/a*Hypergeometric2F1[1,1/n+p+1,1/n+1,-b*x^n/a] /; FreeQ[{a,b,n,p},x] && Not[IGtQ[p,0]] && Not[IntegerQ[1/n]] && Not[ILtQ[Simplify[1/n+p],0]] && Not[IntegerQ[p] || GtQ[a,0]] *) +("1_1_3_1_58", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~n), (~p), (~x)) && + !(igt((~p), 0)) && + !(ext_isinteger(1/(~n))) && + !(ilt(simplify(1/(~n) + (~p)), 0)) && + !( + ext_isinteger((~p)) || + gt((~a), 0) + ) ? +(~a)^intpart((~p))*((~a) + (~b)*(~x)^(~n))^fracpart((~p))⨸(1 + (~b)*(~x)^(~n)⨸(~a))^fracpart((~p))* ∫((1 + (~b)*(~x)^(~n)⨸(~a))^(~p), (~x)) : nothing)) + +("1_1_3_1_59", +:(∫(((~!a) + (~!b)*(~v)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~n), (~p), (~x)) && + linear((~v), (~x)) && + !eq((~v), (~x)) ? +1⨸ext_coeff((~v), (~x), 1)*int_and_subst(((~a) + (~b)*(~x)^(~n))^(~p), (~x), (~x), (~v), "1_1_3_1_59") : nothing)) + +("1_1_3_1_60", +:(∫(((~!a1) + (~!b1)*(~x)^(~n))^(~!p)*((~!a2) + (~!b2)*(~x)^(~n))^(~!p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~n), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ( + ext_isinteger((~p)) || + gt((~a1), 0) && + gt((~a2), 0) + ) ? +∫(((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(2*(~n)))^(~p), (~x)) : nothing)) + +("1_1_3_1_61", +:(∫(((~a1) + (~!b1)*(~x)^(~!n))^(~!p)*((~a2) + (~!b2)*(~x)^(~!n))^(~!p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + igt(2*(~n), 0) && + gt((~p), 0) && + ( + ext_isinteger(2*(~p)) || + ext_den((~p) + 1/(~n)) < ext_den((~p)) + ) ? +(~x)*((~a1) + (~b1)*(~x)^(~n))^(~p)*((~a2) + (~b2)*(~x)^(~n))^(~p)⨸(2*(~n)*(~p) + 1) + 2*(~a1)*(~a2)*(~n)*(~p)⨸(2*(~n)*(~p) + 1)* ∫(((~a1) + (~b1)*(~x)^(~n))^((~p) - 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) - 1), (~x)) : nothing)) + +("1_1_3_1_62", +:(∫(((~a1) + (~!b1)*(~x)^(~!n))^(~p)*((~a2) + (~!b2)*(~x)^(~!n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + igt(2*(~n), 0) && + lt((~p), -1) && + ( + ext_isinteger(2*(~p)) || + ext_den((~p) + 1/(~n)) < ext_den((~p)) + ) ? +-(~x)*((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1)⨸(2*(~a1)*(~a2)* (~n)*((~p) + 1)) + (2*(~n)*((~p) + 1) + 1)⨸(2*(~a1)*(~a2)*(~n)*((~p) + 1))* ∫(((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1), (~x)) : nothing)) + +("1_1_3_1_63", +:(∫(((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ilt(2*(~n), 0) ? +-int_and_subst(((~a1) + (~b1)*(~x)^(-(~n)))^(~p)*((~a2) + (~b2)*(~x)^(-(~n)))^(~p)⨸(~x)^2, (~x), (~x), 1⨸(~x), "1_1_3_1_63") : nothing)) + +("1_1_3_1_64", +:(∫(((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + isfraction(2*(~n)) ? +ext_den(2*(~n))*int_and_subst((~x)^(ext_den(2*(~n)) - 1)*((~a1) + (~b1)*(~x)^(ext_den(2*(~n))*(~n)))^(~p)*((~a2) + (~b2)*(~x)^(ext_den(2*(~n))*(~n)))^(~p), (~x), (~x), (~x)^(1⨸ext_den(2*(~n))), "1_1_3_1_64") : nothing)) + +("1_1_3_1_65", +:(∫(((~!a1) + (~!b1)*(~x)^(~n))^(~p)*((~!a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~n), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + !(ext_isinteger((~p))) ? +((~a1) + (~b1)*(~x)^(~n))^ fracpart((~p))*((~a2) + (~b2)*(~x)^(~n))^fracpart((~p))⨸((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(2*(~n)))^ fracpart((~p))*∫(((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(2*(~n)))^(~p), (~x)) : nothing)) + +("1_1_3_1_66", +:(∫(((~a) + (~!b)*((~!c)*(~x)^(~!q))^(~n))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~n), (~p), (~q), (~x)) && + ext_isinteger((~n)*(~q)) && + !eq((~x), ((~c)*(~x)^(~q))^(1/(~q))) ? +(~x)⨸((~c)*(~x)^(~q))^(1⨸(~q))* int_and_subst(((~a) + (~b)*(~x)^((~n)*(~q)))^(~p), (~x), (~x), ((~c)*(~x)^(~q))^(1⨸(~q)), "1_1_3_1_66") : nothing)) + +("1_1_3_1_67", +:(∫(((~a) + (~!b)*((~!c)*(~x)^(~!q))^(~n))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~p), (~q), (~x)) && + isfraction((~n)) ? +int_and_subst(((~a) + (~b)*(~c)^(~n)*(~x)^((~n)*(~q)))^(~p), (~x), (~x)^(1⨸ext_den((~n))), ((~c)*(~x)^(~q))^(1⨸ext_den((~n)))⨸((~c)^(1⨸ext_den((~n)))*((~x)^(1⨸ext_den((~n))))^((~q) - 1)), "1_1_3_1_67") : nothing)) + +("1_1_3_1_68", +:(∫(((~a) + (~!b)*((~!c)*(~x)^(~!q))^(~n))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~n), (~p), (~q), (~x)) && + !(isrational((~n))) ? +int_and_subst(((~a) + (~b)*(~c)^(~n)*(~x)^((~n)*(~q)))^(~p), (~x), (~x)^((~n)*(~q)), ((~c)*(~x)^(~q))^(~n)⨸(~c)^(~n), "1_1_3_1_68") : nothing)) + +("1_1_3_1_69", +:(∫(((~a) + (~!b)*((~!d)*(~x)^(~!q))^(~n))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~d), (~n), (~p), (~x)) && + ilt((~q), 0) ? +-int_and_subst(((~a) + (~b)*((~d)*(~x)^(-(~q)))^(~n))^(~p)⨸(~x)^2, (~x), (~x), 1⨸(~x), "1_1_3_1_69") : nothing)) + +("1_1_3_1_70", +:(∫(((~a) + (~!b)*((~!d)*(~x)^(~!q))^(~n))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~d), (~n), (~p), (~x)) && + isfraction((~q)) ? +ext_den((~q))*int_and_subst((~x)^(ext_den((~q)) - 1)*((~a) + (~b)*((~d)*(~x)^((~q)*ext_den((~q))))^(~n))^(~p), (~x), (~x), (~x)^(1⨸ext_den((~q))), "1_1_3_1_70") : nothing)) + +#(* Int[(a_+b_.*(d_.*x_^q_.)^n_)^p_.,x_Symbol] := Subst[Int[(a+b*x^(n*q))^p,x],x^(n*q),(d*x^q)^n] /; FreeQ[{a,b,d,n,p,q},x] && Not[IntegerQ[n*q]] && NeQ[x^(n*q),(d*x^q)^n] *) + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.2 (c x)^m (a+b x^n)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.2 (c x)^m (a+b x^n)^p.jl new file mode 100644 index 0000000..bcb217a --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.2 (c x)^m (a+b x^n)^p.jl @@ -0,0 +1,902 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.1.3.2 (c x)^m (a+b x^n)^p *) +("1_1_3_2_1", +:(∫(((~!c)*(~x))^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~n), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ( + ext_isinteger((~p)) || + gt((~a1), 0) && + gt((~a2), 0) + ) ? +∫(((~c)*(~x))^(~m)*((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(2*(~n)))^(~p), (~x)) : nothing)) + +("1_1_3_2_2", +:(∫((~x)^(~!m)/((~a) + (~!b)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a), (~b), (~m), (~n), (~x)) && + eq((~m), (~n) - 1) ? +log((~a) + (~b)*(~x)^(~n))⨸((~b)*(~n)) : nothing)) + +("1_1_3_2_3", +:(∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~m), (~n), (~p), (~x)) && + eq((~m), (~n) - 1) && + !eq((~p), -1) ? +((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*(~n)*((~p) + 1)) : nothing)) + +("1_1_3_2_4", +:(∫((~x)^(~!m)*((~a1) + (~!b1)*(~x)^(~!n))^(~p)*((~a2) + (~!b2)*(~x)^(~!n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~m), (~n), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + eq((~m), 2*(~n) - 1) && + !eq((~p), -1) ? +((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1)⨸(2*(~b1)*(~b2)*(~n)*((~p) + 1)) : nothing)) + +("1_1_3_2_5", +:(∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~m), (~n), (~x)) && + ext_isinteger((~p)) && + neg((~n)) ? +∫((~x)^((~m) + (~n)*(~p))*((~b) + (~a)*(~x)^(-(~n)))^(~p), (~x)) : nothing)) + +("1_1_3_2_6", +:(∫(((~!c)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~n), (~p), (~x)) && + eq(((~m) + 1)/(~n) + (~p) + 1, 0) && + !eq((~m), -1) ? +((~c)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~c)*((~m) + 1)) : nothing)) + +("1_1_3_2_7", +:(∫(((~!c)*(~x))^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~n), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + eq(((~m) + 1)/(2*(~n)) + (~p) + 1, 0) && + !eq((~m), -1) ? +((~c)*(~x))^((~m) + 1)*((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1)⨸((~a1)*(~a2)* (~c)*((~m) + 1)) : nothing)) + +("1_1_3_2_8", +:(∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~m), (~n), (~p), (~x)) && + ext_isinteger(simplify(((~m) + 1)/(~n))) ? +1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*((~a) + (~b)*(~x))^(~p), (~x), (~x), (~x)^(~n), "1_1_3_2_8") : nothing)) + +("1_1_3_2_9", +:(∫((~x)^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~m), (~n), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ext_isinteger(simplify(((~m) + 1)/(2*(~n)))) ? +1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*((~a1) + (~b1)*(~x))^(~p)*((~a2) + (~b2)*(~x))^(~p), (~x), (~x), (~x)^(~n), "1_1_3_2_9") : nothing)) + +("1_1_3_2_10", +:(∫(((~c)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~n), (~p), (~x)) && + ext_isinteger(simplify(((~m) + 1)/(~n))) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_11", +:(∫(((~c)*(~x))^(~m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~n), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ext_isinteger(simplify(((~m) + 1)/(2*(~n)))) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a1) + (~b1)*(~x)^(~n))^(~p)*((~a2) + (~b2)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_12", +:(∫(((~!c)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~n), (~x)) && + igt((~p), 0) ? +∫(ext_expand(((~c)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)), (~x)) : nothing)) + +("1_1_3_2_13", +:(∫((~x)^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~m), (~n), (~p), (~x)) && + ilt(simplify(((~m) + 1)/(~n) + (~p) + 1), 0) && + !eq((~m), -1) ? +(~x)^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*((~m) + 1)) - (~b)*((~m) + (~n)*((~p) + 1) + 1)⨸((~a)*((~m) + 1))* ∫((~x)^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_14", +:(∫((~x)^(~m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~m), (~n), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ilt(simplify(((~m) + 1)/(2*(~n)) + (~p) + 1), 0) && + !eq((~m), -1) ? +(~x)^((~m) + 1)*((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1)⨸((~a1)* (~a2)*((~m) + 1)) - (~b1)*(~b2)*((~m) + 2*(~n)*((~p) + 1) + 1)⨸((~a1)*(~a2)*((~m) + 1))* ∫((~x)^((~m) + 2*(~n))*((~a1) + (~b1)*(~x)^(~n))^(~p)*((~a2) + (~b2)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_15", +:(∫(((~!c)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~n), (~p), (~x)) && + ilt(simplify(((~m) + 1)/(~n) + (~p) + 1), 0) && + !eq((~p), -1) ? +-((~c)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~c)*(~n)*((~p) + 1)) + ((~m) + (~n)*((~p) + 1) + 1)⨸((~a)*(~n)*((~p) + 1))* ∫(((~c)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing)) + +("1_1_3_2_16", +:(∫(((~!c)*(~x))^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~n), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ilt(simplify(((~m) + 1)/(2*(~n)) + (~p) + 1), 0) && + !eq((~p), -1) ? +-((~c)*(~x))^((~m) + 1)*((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1)⨸(2*(~a1)* (~a2)*(~c)*(~n)*((~p) + 1)) + ((~m) + 2*(~n)*((~p) + 1) + 1)⨸(2*(~a1)*(~a2)*(~n)*((~p) + 1))* ∫(((~c)*(~x))^(~m)*((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1), (~x)) : nothing)) + +("1_1_3_2_17", +:(∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~p), (~x)) && + igt((~n), 0) && + ext_isinteger((~m)) && + !(eq(gcd((~m) + 1, (~n)),1)) ? +1⨸gcd((~m) + 1, (~n))*int_and_subst((~x)^(((~m) + 1)⨸gcd((~m) + 1, (~n)) - 1)*((~a) + (~b)*(~x)^((~n)⨸gcd((~m) + 1, (~n))))^(~p), (~x), (~x), (~x)^gcd((~m) + 1, (~n)), "1_1_3_2_17") : nothing)) + +("1_1_3_2_18", +:(∫((~x)^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + igt(2*(~n), 0) && + ext_isinteger((~m))&& + !(eq(gcd((~m) + 1, (~n)),1)) ? +1⨸gcd((~m) + 1, 2*(~n))* int_and_subst( (~x)^(((~m) + 1)⨸gcd((~m) + 1, 2*(~n)) - 1)*((~a1) + (~b1)*(~x)^((~n)⨸gcd((~m) + 1, 2*(~n))))^(~p)*((~a2) + (~b2)*(~x)^((~n)⨸gcd((~m) + 1, 2*(~n))))^(~p), (~x), (~x), (~x)^gcd((~m) + 1, 2*(~n)), "1_1_3_2_18") : nothing)) + +("1_1_3_2_19", +:(∫(((~!c)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~x)) && + igt((~n), 0) && + gt((~p), 0) && + lt((~m), -1) && + !(ilt(((~m) + (~n)*(~p) + (~n) + 1)/(~n), 0)) && + int_binomial((~a), (~b), (~c), (~n), (~m), (~p), (~x)) ? +((~c)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^(~p)⨸((~c)*((~m) + 1)) - (~b)*(~n)*(~p)⨸((~c)^(~n)*((~m) + 1))*∫(((~c)*(~x))^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^((~p) - 1), (~x)) : nothing)) + +("1_1_3_2_20", +:(∫(((~!c)*(~x))^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + igt(2*(~n), 0) && + gt((~p), 0) && + lt((~m), -1) && + !eq((~m) + 2*(~n)*(~p) + 1, 0) && + int_binomial((~a1)*(~a2), (~b1)*(~b2), (~c), 2*(~n), (~m), (~p), (~x)) ? +((~c)*(~x))^((~m) + 1)*((~a1) + (~b1)*(~x)^(~n))^(~p)*((~a2) + (~b2)*(~x)^(~n))^(~p)⨸((~c)*((~m) + 1)) - 2*(~b1)*(~b2)*(~n)*(~p)⨸((~c)^(2*(~n))*((~m) + 1))* ∫(((~c)*(~x))^((~m) + 2*(~n))*((~a1) + (~b1)*(~x)^(~n))^((~p) - 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) - 1), (~x)) : nothing)) + +("1_1_3_2_21", +:(∫(((~!c)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~x)) && + igt((~n), 0) && + gt((~p), 0) && + !eq((~m) + (~n)*(~p) + 1, 0) && + int_binomial((~a), (~b), (~c), (~n), (~m), (~p), (~x)) ? +((~c)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^(~p)⨸((~c)*((~m) + (~n)*(~p) + 1)) + (~a)*(~n)*(~p)⨸((~m) + (~n)*(~p) + 1)*∫(((~c)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) - 1), (~x)) : nothing)) + +("1_1_3_2_22", +:(∫(((~!c)*(~x))^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + igt(2*(~n), 0) && + gt((~p), 0) && + !eq((~m) + 2*(~n)*(~p) + 1, 0) && + int_binomial((~a1)*(~a2), (~b1)*(~b2), (~c), 2*(~n), (~m), (~p), (~x)) ? +((~c)*(~x))^((~m) + 1)*((~a1) + (~b1)*(~x)^(~n))^(~p)*((~a2) + (~b2)*(~x)^(~n))^(~p)⨸((~c)*((~m) + 2*(~n)*(~p) + 1)) + 2*(~a1)*(~a2)*(~n)*(~p)⨸((~m) + 2*(~n)*(~p) + 1)* ∫(((~c)*(~x))^(~m)*((~a1) + (~b1)*(~x)^(~n))^((~p) - 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) - 1), (~x)) : nothing)) + +("1_1_3_2_23", +:(∫((~x)^2/((~a) + (~!b)*(~x)^4)^(5//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~b)/(~a)) ? +(~x)*(1 + (~a)⨸((~b)*(~x)^4))^(1⨸4)⨸((~b)*((~a) + (~b)*(~x)^4)^(1⨸4))* ∫(1⨸((~x)^3*(1 + (~a)⨸((~b)*(~x)^4))^(5⨸4)), (~x)) : nothing)) + +("1_1_3_2_24", +:(∫((~x)^(~m)/((~a) + (~!b)*(~x)^4)^(5//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~b)/(~a)) && + igt(((~m) - 2)/4, 0) ? +(~x)^((~m) - 3)⨸((~b)*((~m) - 4)*((~a) + (~b)*(~x)^4)^(1⨸4)) - (~a)*((~m) - 3)⨸((~b)*((~m) - 4))*∫((~x)^((~m) - 4)⨸((~a) + (~b)*(~x)^4)^(5⨸4), (~x)) : nothing)) + +("1_1_3_2_25", +:(∫((~x)^(~m)/((~a) + (~!b)*(~x)^4)^(5//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~b)/(~a)) && + ilt(((~m) - 2)/4, 0) ? +(~x)^((~m) + 1)⨸((~a)*((~m) + 1)*((~a) + (~b)*(~x)^4)^(1⨸4)) - (~b)*(~m)⨸((~a)*((~m) + 1))*∫((~x)^((~m) + 4)⨸((~a) + (~b)*(~x)^4)^(5⨸4), (~x)) : nothing)) + +("1_1_3_2_26", +:(∫(sqrt((~!c)*(~x))/((~a) + (~!b)*(~x)^2)^(5//4),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~x)) && + pos((~b)/(~a)) ? +sqrt((~c)*(~x))*(1 + (~a)⨸((~b)*(~x)^2))^(1⨸4)⨸((~b)*((~a) + (~b)*(~x)^2)^(1⨸4))* ∫(1⨸((~x)^2*(1 + (~a)⨸((~b)*(~x)^2))^(5⨸4)), (~x)) : nothing)) + +("1_1_3_2_27", +:(∫(((~!c)*(~x))^(~m)/((~a) + (~!b)*(~x)^2)^(5//4),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~x)) && + pos((~b)/(~a)) && + ext_isinteger(2*(~m)) && + gt((~m), 3/2) ? +2*(~c)*((~c)*(~x))^((~m) - 1)⨸((~b)*(2*(~m) - 3)*((~a) + (~b)*(~x)^2)^(1⨸4)) - 2*(~a)*(~c)^2*((~m) - 1)⨸((~b)*(2*(~m) - 3))* ∫(((~c)*(~x))^((~m) - 2)⨸((~a) + (~b)*(~x)^2)^(5⨸4), (~x)) : nothing)) + +("1_1_3_2_28", +:(∫(((~!c)*(~x))^(~m)/((~a) + (~!b)*(~x)^2)^(5//4),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~x)) && + pos((~b)/(~a)) && + ext_isinteger(2*(~m)) && + lt((~m), -1) ? +((~c)*(~x))^((~m) + 1)⨸((~a)*(~c)*((~m) + 1)*((~a) + (~b)*(~x)^2)^(1⨸4)) - (~b)*(2*(~m) + 1)⨸(2*(~a)*(~c)^2*((~m) + 1))* ∫(((~c)*(~x))^((~m) + 2)⨸((~a) + (~b)*(~x)^2)^(5⨸4), (~x)) : nothing)) + +("1_1_3_2_29", +:(∫((~x)^2/((~a) + (~!b)*(~x)^4)^(5//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~b)/(~a)) ? +-1⨸((~b)*(~x)*((~a) + (~b)*(~x)^4)^(1⨸4)) - 1⨸(~b)*∫(1⨸((~x)^2*((~a) + (~b)*(~x)^4)^(1⨸4)), (~x)) : nothing)) + +("1_1_3_2_30", +:(∫(((~!c)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~x)) && + igt((~n), 0) && + lt((~p), -1) && + gt((~m) + 1, (~n)) && + !(ilt(((~m) + (~n)*((~p) + 1) + 1)/(~n), 0)) && + int_binomial((~a), (~b), (~c), (~n), (~m), (~p), (~x)) ? +(~c)^((~n) - 1)*((~c)*(~x))^((~m) - (~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*(~n)*((~p) + 1)) - (~c)^(~n)*((~m) - (~n) + 1)⨸((~b)*(~n)*((~p) + 1))* ∫(((~c)*(~x))^((~m) - (~n))*((~a) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing)) + +#(* Int[(c_.*x_)^m_.*u_^p_*v_^p_,x_Symbol] := With[{a=BinomialParts[u,x][[1]],b=BinomialParts[u,x][[2]],n= BinomialParts[u,x][[3]]}, c^(n-1)*(c*x)^(m-n+1)*u^(p+1)*v^(p+1)/(b*n*(p+1)) - c^n*(m-n+1)/(b*n*(p+1))*Int[(c*x)^(m-n)*u^(p+1)*v^(p+1),x] /; IGtQ[n,0] && m+1>n && Not[ILtQ[(m+n*(p+1)+1)/n,0]] && IntBinomialQ[a,b,c,n,m,p,x]] /; FreeQ[c,x] && BinomialQ[u*v,x] && LtQ[p,-1] *) +("1_1_3_2_31", +:(∫(((~!c)*(~x))^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + igt(2*(~n), 0) && + lt((~p), -1) && + (~m) + 1 > 2*(~n) && + !(ilt(((~m) + 2*(~n)*((~p) + 1) + 1)/(2*(~n)), 0)) && + int_binomial((~a1)*(~a2), (~b1)*(~b2), (~c), 2*(~n), (~m), (~p), (~x)) ? +(~c)^(2*(~n) - 1)*((~c)*(~x))^((~m) - 2*(~n) + 1)*((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1)⨸(2*(~b1)*(~b2)*(~n)*((~p) + 1)) - (~c)^(2*(~n))*((~m) - 2*(~n) + 1)⨸(2*(~b1)*(~b2)*(~n)*((~p) + 1))* ∫(((~c)*(~x))^((~m) - 2*(~n))*((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1), (~x)) : nothing)) + +("1_1_3_2_32", +:(∫(((~!c)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~x)) && + igt((~n), 0) && + lt((~p), -1) && + int_binomial((~a), (~b), (~c), (~n), (~m), (~p), (~x)) ? +-((~c)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~c)*(~n)*((~p) + 1)) + ((~m) + (~n)*((~p) + 1) + 1)⨸((~a)*(~n)*((~p) + 1))* ∫(((~c)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing)) + +("1_1_3_2_33", +:(∫(((~!c)*(~x))^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + igt(2*(~n), 0) && + lt((~p), -1) && + int_binomial((~a1)*(~a2), (~b1)*(~b2), (~c), 2*(~n), (~m), (~p), (~x)) ? +-((~c)*(~x))^((~m) + 1)*((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1)⨸(2*(~a1)* (~a2)*(~c)*(~n)*((~p) + 1)) + ((~m) + 2*(~n)*((~p) + 1) + 1)⨸(2*(~a1)*(~a2)*(~n)*((~p) + 1))* ∫(((~c)*(~x))^(~m)*((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1), (~x)) : nothing)) + +("1_1_3_2_34", +:(∫((~x)/((~a) + (~!b)*(~x)^3),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +-1⨸(3*rt((~a), 3)*rt((~b), 3))*∫(1⨸(rt((~a), 3) + rt((~b), 3)*(~x)), (~x)) + 1⨸(3*rt((~a), 3)*rt((~b), 3))* ∫((rt((~a), 3) + rt((~b), 3)*(~x))⨸(rt((~a), 3)^2 - rt((~a), 3)*rt((~b), 3)*(~x) + rt((~b), 3)^2*(~x)^2), (~x)) : nothing)) + +("1_1_3_2_35", +:(∫((~x)^(~!m)/((~a)+(~!b)*(~x)^5),(~x)) ) => :( + !contains_var((~a),(~b),(~x)) && + igt((~m),0) && + lt((~m),4) && + pos((~a)/(~b)) ? +(-1)^(~m)*ext_num(rt((~a)⨸(~b),5))^((~m)+1)⨸(5*(~a)*ext_den(rt((~a)⨸(~b),5))^(~m))*∫(1⨸(ext_num(rt((~a)⨸(~b),5))+ext_den(rt((~a)⨸(~b),5))*(~x)),(~x)) + 2*ext_num(rt((~a)⨸(~b),5))^((~m)+1)⨸(5*(~a)*ext_den(rt((~a)⨸(~b),5))^(~m))*∫((ext_num(rt((~a)⨸(~b),5))*cos((~m)*π⨸5)-ext_den(rt((~a)⨸(~b),5))*cos(((~m)+1)*π⨸5)*(~x))⨸(ext_num(rt((~a)⨸(~b),5))^2-1⨸ 2*(1+sqrt(5))*ext_num(rt((~a)⨸(~b),5))*ext_den(rt((~a)⨸(~b),5))*(~x)+ext_den(rt((~a)⨸(~b),5))^2*(~x)^2),(~x)) + 2*ext_num(rt((~a)⨸(~b),5))^((~m)+1)⨸(5*(~a)*ext_den(rt((~a)⨸(~b),5))^(~m))*∫((ext_num(rt((~a)⨸(~b),5))*cos(3*(~m)*π⨸5)-ext_den(rt((~a)⨸(~b),5))*cos(3*((~m)+1)*π⨸5)*(~x))⨸(ext_num(rt((~a)⨸(~b),5))^ 2-1⨸2*(1-sqrt(5))*ext_num(rt((~a)⨸(~b),5))*ext_den(rt((~a)⨸(~b),5))*(~x)+ext_den(rt((~a)⨸(~b),5))^2*(~x)^2),(~x)) : nothing)) + +("1_1_3_2_36", +:(∫((~x)^(~!m)/((~a)+(~!b)*(~x)^5),(~x)) ) => :( + !contains_var((~a),(~b),(~x)) && + igt((~m),0) && + lt((~m),4) && + neg((~a)/(~b)) ? +(ext_num(rt(-(~a)⨸(~b),5))^((~m)+1)⨸(5*(~a)*ext_den(rt(-(~a)⨸(~b),5))^(~m)))*∫(1⨸(ext_num(rt(-(~a)⨸(~b),5))-ext_den(rt(-(~a)⨸(~b),5))*(~x)),(~x)) + 2*(-1)^(~m)*ext_num(rt(-(~a)⨸(~b),5))^((~m)+1)⨸(5*(~a)*ext_den(rt(-(~a)⨸(~b),5))^(~m))*∫((ext_num(rt(-(~a)⨸(~b),5))*cos((~m)*π⨸5)+ext_den(rt(-(~a)⨸(~b),5))*cos(((~m)+1)*π⨸5)*(~x))⨸( ext_num(rt(-(~a)⨸(~b),5))^2+1⨸2*(1+sqrt(5))*ext_num(rt(-(~a)⨸(~b),5))*ext_den(rt(-(~a)⨸(~b),5))*(~x)+ext_den(rt(-(~a)⨸(~b),5))^2*(~x)^2),(~x)) + 2*(-1)^(~m)*ext_num(rt(-(~a)⨸(~b),5))^((~m)+1)⨸(5*(~a)*ext_den(rt(-(~a)⨸(~b),5))^(~m))*∫((ext_num(rt(-(~a)⨸(~b),5))*cos(3*(~m)*π⨸5)+ext_den(rt(-(~a)⨸(~b),5))*cos(3*((~m)+1)*π⨸5)* (~x))⨸(ext_num(rt(-(~a)⨸(~b),5))^2+1⨸2*(1-sqrt(5))*ext_num(rt(-(~a)⨸(~b),5))*ext_den(rt(-(~a)⨸(~b),5))*(~x)+ext_den(rt(-(~a)⨸(~b),5))^2*(~x)^2),(~x)) : nothing)) + +# ("1_1_3_2_37", +# @rule ∫((~x)^(~!m)/((~a) + (~!b)*(~x)^(~n)),(~x)) => +# !contains_var((~a), (~b), (~x)) && +# igt(((~n) - 1)/2, 0) && +# igt((~m), 0) && +# lt((~m), (~n) - 1) && +# pos((~a)/(~b)) ? +# Module[{(~r) = ext_num(rt((~a)⨸(~b), (~n))), (~s) = ext_den(rt((~a)⨸(~b), (~n))), (~k), (~u)}, (~u) = ∫(((~r)*cos((2*(~k) - 1)*(~m)*π⨸(~n)) - (~s)*cos((2*(~k) - 1)*((~m) + 1)*π⨸(~n))*(~x))⨸((~r)^2 - 2*(~r)*(~s)*cos((2*(~k) - 1)*π⨸(~n))*(~x) + (~s)^2*(~x)^2), (~x)); -(-(~r))^((~m) + 1)⨸((~a)*(~n)*(~s)^(~m))*∫(1⨸((~r) + (~s)*(~x)), (~x)) + dist(2*(~r)^((~m) + 1)⨸((~a)*(~n)*(~s)^(~m)), sum([(~u) for (~k) in ( 1):( ((~n) - 1)⨸2)]), (~x))] : nothing) +# +# ("1_1_3_2_38", +# @rule ∫((~x)^(~!m)/((~a) + (~!b)*(~x)^(~n)),(~x)) => +# !contains_var((~a), (~b), (~x)) && +# igt(((~n) - 1)/2, 0) && +# igt((~m), 0) && +# lt((~m), (~n) - 1) && +# neg((~a)/(~b)) ? +# Module[{(~r) = ext_num(rt(-(~a)⨸(~b), (~n))), (~s) = ext_den(rt(-(~a)⨸(~b), (~n))), (~k), (~u)}, (~u) = ∫(((~r)*cos((2*(~k) - 1)*(~m)*π⨸(~n)) + (~s)*cos((2*(~k) - 1)*((~m) + 1)*π⨸(~n))*(~x))⨸((~r)^2 + 2*(~r)*(~s)*cos((2*(~k) - 1)*π⨸(~n))*(~x) + (~s)^2*(~x)^2), (~x)); (~r)^((~m) + 1)⨸((~a)*(~n)*(~s)^(~m))*∫(1⨸((~r) - (~s)*(~x)), (~x)) - dist(2*(-(~r))^((~m) + 1)⨸((~a)*(~n)*(~s)^(~m)), sum([(~u) for (~k) in ( 1):( ((~n) - 1)⨸2)]), (~x))] : nothing) +# +# ("1_1_3_2_39", +# @rule ∫((~x)^(~!m)/((~a) + (~!b)*(~x)^(~n)),(~x)) => +# !contains_var((~a), (~b), (~x)) && +# igt(((~n) - 2)/4, 0) && +# igt((~m), 0) && +# lt((~m), (~n) - 1) && +# pos((~a)/(~b)) ? +# Module[{(~r) = ext_num(rt((~a)⨸(~b), (~n))), (~s) = ext_den(rt((~a)⨸(~b), (~n))), (~k), (~u)}, (~u) = ∫(((~r)*cos((2*(~k) - 1)*(~m)*π⨸(~n)) - (~s)*cos((2*(~k) - 1)*((~m) + 1)*π⨸(~n))*(~x))⨸((~r)^2 - 2*(~r)*(~s)*cos((2*(~k) - 1)*π⨸(~n))*(~x) + (~s)^2*(~x)^2), (~x)) + ∫(((~r)*cos((2*(~k) - 1)*(~m)*π⨸(~n)) + (~s)*cos((2*(~k) - 1)*((~m) + 1)*π⨸(~n))*(~x))⨸((~r)^2 + 2*(~r)*(~s)*cos((2*(~k) - 1)*π⨸(~n))*(~x) + (~s)^2*(~x)^2), (~x)); 2*(-1)^((~m)⨸2)*(~r)^((~m) + 2)⨸((~a)*(~n)*(~s)^(~m))*∫(1⨸((~r)^2 + (~s)^2*(~x)^2), (~x)) + dist(2*(~r)^((~m) + 1)⨸((~a)*(~n)*(~s)^(~m)), sum([(~u) for (~k) in ( 1):( ((~n) - 2)⨸4)]), (~x))] : nothing) +# +# ("1_1_3_2_40", +# @rule ∫((~x)^(~!m)/((~a) + (~!b)*(~x)^(~n)),(~x)) => +# !contains_var((~a), (~b), (~x)) && +# igt(((~n) - 2)/4, 0) && +# igt((~m), 0) && +# lt((~m), (~n) - 1) && +# neg((~a)/(~b)) ? +# Module[{(~r) = ext_num(rt(-(~a)⨸(~b), (~n))), (~s) = ext_den(rt(-(~a)⨸(~b), (~n))), (~k), (~u)}, (~u) = ∫(((~r)*cos(2*(~k)*(~m)*π⨸(~n)) - (~s)*cos(2*(~k)*((~m) + 1)*π⨸(~n))*(~x))⨸((~r)^2 - 2*(~r)*(~s)*cos(2*(~k)*π⨸(~n))*(~x) + (~s)^2*(~x)^2), (~x)) + ∫(((~r)*cos(2*(~k)*(~m)*π⨸(~n)) + (~s)*cos(2*(~k)*((~m) + 1)*π⨸(~n))*(~x))⨸((~r)^2 + 2*(~r)*(~s)*cos(2*(~k)*π⨸(~n))*(~x) + (~s)^2*(~x)^2), (~x)); 2*(~r)^((~m) + 2)⨸((~a)*(~n)*(~s)^(~m))*∫(1⨸((~r)^2 - (~s)^2*(~x)^2), (~x)) + dist(2*(~r)^((~m) + 1)⨸((~a)*(~n)*(~s)^(~m)), sum([(~u) for (~k) in ( 1):( ((~n) - 2)⨸4)]), (~x))] : nothing) +# +# ("1_1_3_2_41", +# @rule ∫((~x)^2/((~a) + (~!b)*(~x)^4),(~x)) => +# !contains_var((~a), (~b), (~x)) && +# ( +# gt((~a)/(~b), 0) || +# pos((~a)/(~b)) && +# atom(SplitProduct[SumBaseQ, (~a))] && +# atom(SplitProduct[SumBaseQ, (~b))] +# ) ? +# 1⨸(2*ext_den(rt((~a)⨸(~b), 2)))*∫((ext_num(rt((~a)⨸(~b), 2)) + ext_den(rt((~a)⨸(~b), 2))*(~x)^2)⨸((~a) + (~b)*(~x)^4), (~x)) - 1⨸(2*ext_den(rt((~a)⨸(~b), 2)))*∫((ext_num(rt((~a)⨸(~b), 2)) - ext_den(rt((~a)⨸(~b), 2))*(~x)^2)⨸((~a) + (~b)*(~x)^4), (~x)) : nothing) + +("1_1_3_2_42", +:(∫((~x)^2/((~a) + (~!b)*(~x)^4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + !(gt((~a)/(~b), 0)) ? +ext_den(rt(-(~a)⨸(~b), 2))⨸(2*(~b))*∫(1⨸(ext_num(rt(-(~a)⨸(~b), 2)) + ext_den(rt(-(~a)⨸(~b), 2))*(~x)^2), (~x)) - ext_den(rt(-(~a)⨸(~b), 2))⨸(2*(~b))*∫(1⨸(ext_num(rt(-(~a)⨸(~b), 2)) - ext_den(rt(-(~a)⨸(~b), 2))*(~x)^2), (~x)) : nothing)) + +("1_1_3_2_43", +:(∫((~x)^(~!m)/((~a) + (~!b)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + igt((~n)/4, 0) && + igt((~m), 0) && + lt((~m), (~n) - 1) && + gt((~a)/(~b), 0) ? +ext_den(rt((~a)⨸(~b), 4))^3⨸(2*sqrt(2)*(~b)*ext_num(rt((~a)⨸(~b), 4)))* ∫((~x)^((~m) - (~n)⨸4)⨸(ext_num(rt((~a)⨸(~b), 4))^2 - sqrt(2)*ext_num(rt((~a)⨸(~b), 4))*ext_den(rt((~a)⨸(~b), 4))*(~x)^((~n)⨸4) + ext_den(rt((~a)⨸(~b), 4))^2*(~x)^((~n)⨸2)), (~x)) - ext_den(rt((~a)⨸(~b), 4))^3⨸(2*sqrt(2)*(~b)*ext_num(rt((~a)⨸(~b), 4)))* ∫((~x)^((~m) - (~n)⨸4)⨸(ext_num(rt((~a)⨸(~b), 4))^2 + sqrt(2)*ext_num(rt((~a)⨸(~b), 4))*ext_den(rt((~a)⨸(~b), 4))*(~x)^((~n)⨸4) + ext_den(rt((~a)⨸(~b), 4))^2*(~x)^((~n)⨸2)), (~x)) : nothing)) + +("1_1_3_2_44", +:(∫((~x)^(~m)/((~a) + (~!b)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + igt((~n)/4, 0) && + igt((~m), 0) && + lt((~m), (~n)/2) && + !(gt((~a)/(~b), 0)) ? +ext_num(rt(-(~a)⨸(~b), 2))⨸(2*(~a))*∫((~x)^(~m)⨸(ext_num(rt(-(~a)⨸(~b), 2)) + ext_den(rt(-(~a)⨸(~b), 2))*(~x)^((~n)⨸2)), (~x)) + ext_num(rt(-(~a)⨸(~b), 2))⨸(2*(~a))*∫((~x)^(~m)⨸(ext_num(rt(-(~a)⨸(~b), 2)) - ext_den(rt(-(~a)⨸(~b), 2))*(~x)^((~n)⨸2)), (~x)) : nothing)) + +("1_1_3_2_45", +:(∫((~x)^(~m)/((~a) + (~!b)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + igt((~n)/4, 0) && + igt((~m), 0) && + le((~n)/2, (~m)) && + lt((~m), (~n)) && + !(gt((~a)/(~b), 0)) ? +ext_den(rt(-(~a)⨸(~b), 2))⨸(2*(~b))*∫((~x)^((~m) - (~n)⨸2)⨸(ext_num(rt(-(~a)⨸(~b), 2)) + ext_den(rt(-(~a)⨸(~b), 2))*(~x)^((~n)⨸2)), (~x)) - ext_den(rt(-(~a)⨸(~b), 2))⨸(2*(~b))*∫((~x)^((~m) - (~n)⨸2)⨸(ext_num(rt(-(~a)⨸(~b), 2)) - ext_den(rt(-(~a)⨸(~b), 2))*(~x)^((~n)⨸2)), (~x)) : nothing)) + +("1_1_3_2_46", +:(∫((~x)^(~m)/((~a) + (~!b)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + igt((~m), 0) && + igt((~n), 0) && + gt((~m), 2*(~n) - 1) ? +∫(polynomial_divide((~x)^(~m), ((~a) + (~b)*(~x)^(~n)), (~x)), (~x)) : nothing)) + +("1_1_3_2_47", +:(∫((~x)/sqrt((~a) + (~!b)*(~x)^3),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~a)) ? +-(1 - sqrt(3))*ext_den(rt((~b)⨸(~a), 3))⨸ext_num(rt((~b)⨸(~a), 3))*∫(1⨸sqrt((~a) + (~b)*(~x)^3), (~x)) + 1⨸ext_num(rt((~b)⨸(~a), 3))*∫(((1 - sqrt(3))*ext_den(rt((~b)⨸(~a), 3)) + ext_num(rt((~b)⨸(~a), 3))*(~x))⨸sqrt((~a) + (~b)*(~x)^3), (~x)) : nothing)) + +("1_1_3_2_48", +:(∫((~x)/sqrt((~a) + (~!b)*(~x)^3),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~a)) ? +-(1 + sqrt(3))*ext_den(rt((~b)⨸(~a), 3))⨸ext_num(rt((~b)⨸(~a), 3))*∫(1⨸sqrt((~a) + (~b)*(~x)^3), (~x)) + 1⨸ext_num(rt((~b)⨸(~a), 3))*∫(((1 + sqrt(3))*ext_den(rt((~b)⨸(~a), 3)) + ext_num(rt((~b)⨸(~a), 3))*(~x))⨸sqrt((~a) + (~b)*(~x)^3), (~x)) : nothing)) + +("1_1_3_2_49", +:(∫((~x)^2/sqrt((~a) + (~!b)*(~x)^4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~b)/(~a)) ? +1⨸rt((~b)⨸(~a), 2)*∫(1⨸sqrt((~a) + (~b)*(~x)^4), (~x)) - 1⨸rt((~b)⨸(~a), 2)*∫((1 - rt((~b)⨸(~a), 2)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^4), (~x)) : nothing)) + +("1_1_3_2_50", +:(∫((~x)^2/sqrt((~a) + (~!b)*(~x)^4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + lt((~a), 0) && + gt((~b), 0) ? +1⨸rt(-(~b)⨸(~a), 2)*∫(1⨸sqrt((~a) + (~b)*(~x)^4), (~x)) - 1⨸rt(-(~b)⨸(~a), 2)*∫((1 - rt(-(~b)⨸(~a), 2)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^4), (~x)) : nothing)) + +("1_1_3_2_51", +:(∫((~x)^2/sqrt((~a) + (~!b)*(~x)^4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~b)/(~a)) ? +-1⨸rt(-(~b)⨸(~a), 2)*∫(1⨸sqrt((~a) + (~b)*(~x)^4), (~x)) + 1⨸rt(-(~b)⨸(~a), 2)*∫((1 + rt(-(~b)⨸(~a), 2)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^4), (~x)) : nothing)) + +("1_1_3_2_52", +:(∫((~x)^4/sqrt((~a) + (~!b)*(~x)^6),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +(sqrt(3) - 1)*ext_den(rt((~b)⨸(~a), 3))^2⨸(2*ext_num(rt((~b)⨸(~a), 3))^2)*∫(1⨸sqrt((~a) + (~b)*(~x)^6), (~x)) - 1⨸(2*ext_num(rt((~b)⨸(~a), 3))^2)* ∫(((sqrt(3) - 1)*ext_den(rt((~b)⨸(~a), 3))^2 - 2*ext_num(rt((~b)⨸(~a), 3))^2*(~x)^4)⨸sqrt((~a) + (~b)*(~x)^6), (~x)) : nothing)) + +#(* Int[x_^4/Sqrt[a_+b_.*x_^6],x_Symbol] := With[{r=Numer[Rt[b/a,3]], s=Denom[Rt[b/a,3]]}, (1+Sqrt[3])*r*x*Sqrt[a+b*x^6]/(2*b*(s+(1+Sqrt[3])*r*x^2)) - 3^(1/4)*s*x*(s+r*x^2)*Sqrt[(s^2-r*s*x^2+r^2*x^4)/(s+(1+Sqrt[3])*r*x^ 2)^2]/ (2*r^2*Sqrt[a+b*x^6]*Sqrt[r*x^2*(s+r*x^2)/(s+(1+Sqrt[3])*r*x^2)^2] )* EllipticE[ArcCos[(s+(1-Sqrt[3])*r*x^2)/(s+(1+Sqrt[3])*r*x^2)],(2+ Sqrt[3])/4] - (1-Sqrt[3])*s*x*(s+r*x^2)*Sqrt[(s^2-r*s*x^2+r^2*x^4)/(s+(1+Sqrt[3])* r*x^2)^2]/ (4*3^(1/4)*r^2*Sqrt[a+b*x^6]*Sqrt[r*x^2*(s+r*x^2)/(s+(1+Sqrt[3])* r*x^2)^2])* EllipticF[ArcCos[(s+(1-Sqrt[3])*r*x^2)/(s+(1+Sqrt[3])*r*x^2)],(2+ Sqrt[3])/4]] /; FreeQ[{a,b},x] *) +("1_1_3_2_53", +:(∫((~x)^2/sqrt((~a) + (~!b)*(~x)^8),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +1⨸(2*rt((~b)⨸(~a), 4))*∫((1 + rt((~b)⨸(~a), 4)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^8), (~x)) - 1⨸(2*rt((~b)⨸(~a), 4))*∫((1 - rt((~b)⨸(~a), 4)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^8), (~x)) : nothing)) + +("1_1_3_2_54", +:(∫((~x)^2/((~a) + (~!b)*(~x)^4)^(1//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~b)/(~a)) ? +(~x)^3⨸(2*((~a) + (~b)*(~x)^4)^(1⨸4)) - (~a)⨸2*∫((~x)^2⨸((~a) + (~b)*(~x)^4)^(5⨸4), (~x)) : nothing)) + +("1_1_3_2_55", +:(∫((~x)^2/((~a) + (~!b)*(~x)^4)^(1//4),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~b)/(~a)) ? +((~a) + (~b)*(~x)^4)^(3⨸4)⨸(2*(~b)*(~x)) + (~a)⨸(2*(~b))*∫(1⨸((~x)^2*((~a) + (~b)*(~x)^4)^(1⨸4)), (~x)) : nothing)) + +("1_1_3_2_56", +:(∫(1/((~x)^2*((~a) + (~!b)*(~x)^4)^(1//4)),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + pos((~b)/(~a)) ? +-1⨸((~x)*((~a) + (~b)*(~x)^4)^(1⨸4)) - (~b)*∫((~x)^2⨸((~a) + (~b)*(~x)^4)^(5⨸4), (~x)) : nothing)) + +("1_1_3_2_57", +:(∫(1/((~x)^2*((~a) + (~!b)*(~x)^4)^(1//4)),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + neg((~b)/(~a)) ? +(~x)*(1 + (~a)⨸((~b)*(~x)^4))^(1⨸4)⨸((~a) + (~b)*(~x)^4)^(1⨸4)* ∫(1⨸((~x)^3*(1 + (~a)⨸((~b)*(~x)^4))^(1⨸4)), (~x)) : nothing)) + +("1_1_3_2_58", +:(∫(sqrt((~c)*(~x))/((~a) + (~!b)*(~x)^2)^(1//4),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~x)) && + pos((~b)/(~a)) ? +(~x)*sqrt((~c)*(~x))⨸((~a) + (~b)*(~x)^2)^(1⨸4) - (~a)⨸2*∫(sqrt((~c)*(~x))⨸((~a) + (~b)*(~x)^2)^(5⨸4), (~x)) : nothing)) + +("1_1_3_2_59", +:(∫(sqrt((~c)*(~x))/((~a) + (~!b)*(~x)^2)^(1//4),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~x)) && + neg((~b)/(~a)) ? +(~c)*((~a) + (~b)*(~x)^2)^(3⨸4)⨸((~b)*sqrt((~c)*(~x))) + (~a)*(~c)^2⨸(2*(~b))*∫(1⨸(((~c)*(~x))^(3⨸2)*((~a) + (~b)*(~x)^2)^(1⨸4)), (~x)) : nothing)) + +("1_1_3_2_60", +:(∫(1/(((~!c)*(~x))^(3//2)*((~a) + (~!b)*(~x)^2)^(1//4)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~x)) && + pos((~b)/(~a)) ? +-2⨸((~c)*sqrt((~c)*(~x))*((~a) + (~b)*(~x)^2)^(1⨸4)) - (~b)⨸(~c)^2*∫(sqrt((~c)*(~x))⨸((~a) + (~b)*(~x)^2)^(5⨸4), (~x)) : nothing)) + +("1_1_3_2_61", +:(∫(1/(((~!c)*(~x))^(3//2)*((~a) + (~!b)*(~x)^2)^(1//4)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~x)) && + neg((~b)/(~a)) ? +sqrt((~c)*(~x))*(1 + (~a)⨸((~b)*(~x)^2))^(1⨸4)⨸((~c)^2*((~a) + (~b)*(~x)^2)^(1⨸4))* ∫(1⨸((~x)^2*(1 + (~a)⨸((~b)*(~x)^2))^(1⨸4)), (~x)) : nothing)) + +("1_1_3_2_62", +:(∫(sqrt((~x))/sqrt((~a) + (~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + gt(-(~b)/(~a), 0) && + gt((~a), 0) ? +-2⨸(sqrt((~a))*(-(~b)⨸(~a))^(3⨸4))* int_and_subst(sqrt(1 - 2*(~x)^2)⨸sqrt(1 - (~x)^2), (~x), (~x), sqrt(1 - sqrt(-(~b)⨸(~a))*(~x))⨸sqrt(2), "1_1_3_2_62") : nothing)) + +("1_1_3_2_63", +:(∫(sqrt((~x))/sqrt((~a) + (~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + gt(-(~b)/(~a), 0) && + !(gt((~a), 0)) ? +sqrt(1 + (~b)*(~x)^2⨸(~a))⨸sqrt((~a) + (~b)*(~x)^2)* ∫(sqrt((~x))⨸sqrt(1 + (~b)*(~x)^2⨸(~a)), (~x)) : nothing)) + +("1_1_3_2_64", +:(∫(sqrt((~c)*(~x))/sqrt((~a) + (~!b)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~x)) && + gt(-(~b)/(~a), 0) ? +sqrt((~c)*(~x))⨸sqrt((~x))*∫(sqrt((~x))⨸sqrt((~a) + (~b)*(~x)^2), (~x)) : nothing)) + +("1_1_3_2_65", +:(∫(((~!c)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~p), (~x)) && + igt((~n), 0) && + gt((~m), (~n) - 1) && + !eq((~m) + (~n)*(~p) + 1, 0) && + int_binomial((~a), (~b), (~c), (~n), (~m), (~p), (~x)) ? +(~c)^((~n) - 1)*((~c)*(~x))^((~m) - (~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*((~m) + (~n)*(~p) + 1)) - (~a)*(~c)^(~n)*((~m) - (~n) + 1)⨸((~b)*((~m) + (~n)*(~p) + 1))* ∫(((~c)*(~x))^((~m) - (~n))*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_66", +:(∫(((~!c)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~p), (~x)) && + igt((~n), 0) && + sumsimpler((~m), -(~n)) && + !eq((~m) + (~n)*(~p) + 1, 0) && + ilt(simplify(((~m) + 1)/(~n) + (~p)), 0) ? +(~c)^((~n) - 1)*((~c)*(~x))^((~m) - (~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*((~m) + (~n)*(~p) + 1)) - (~a)*(~c)^(~n)*((~m) - (~n) + 1)⨸((~b)*((~m) + (~n)*(~p) + 1))* ∫(((~c)*(~x))^((~m) - (~n))*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_67", +:(∫(((~!c)*(~x))^(~m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + igt(2*(~n), 0) && + gt((~m), 2*(~n) - 1) && + !eq((~m) + 2*(~n)*(~p) + 1, 0) && + int_binomial((~a1)*(~a2), (~b1)*(~b2), (~c), 2*(~n), (~m), (~p), (~x)) ? +(~c)^(2*(~n) - 1)*((~c)*(~x))^((~m) - 2*(~n) + 1)*((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1)⨸((~b1)*(~b2)*((~m) + 2*(~n)*(~p) + 1)) - (~a1)*(~a2)*(~c)^(2*(~n))*((~m) - 2*(~n) + 1)⨸((~b1)*(~b2)*((~m) + 2*(~n)*(~p) + 1))* ∫(((~c)*(~x))^((~m) - 2*(~n))*((~a1) + (~b1)*(~x)^(~n))^(~p)*((~a2) + (~b2)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_68", +:(∫(((~!c)*(~x))^(~m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + igt(2*(~n), 0) && + sumsimpler((~m), -2*(~n)) && + !eq((~m) + 2*(~n)*(~p) + 1, 0) && + ilt(simplify(((~m) + 1)/(2*(~n)) + (~p)), 0) ? +(~c)^(2*(~n) - 1)*((~c)*(~x))^((~m) - 2*(~n) + 1)*((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1)⨸((~b1)*(~b2)*((~m) + 2*(~n)*(~p) + 1)) - (~a1)*(~a2)*(~c)^(2*(~n))*((~m) - 2*(~n) + 1)⨸((~b1)*(~b2)*((~m) + 2*(~n)*(~p) + 1))* ∫(((~c)*(~x))^((~m) - 2*(~n))*((~a1) + (~b1)*(~x)^(~n))^(~p)*((~a2) + (~b2)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_69", +:(∫(((~!c)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~p), (~x)) && + igt((~n), 0) && + lt((~m), -1) && + int_binomial((~a), (~b), (~c), (~n), (~m), (~p), (~x)) ? +((~c)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~c)*((~m) + 1)) - (~b)*((~m) + (~n)*((~p) + 1) + 1)⨸((~a)*(~c)^(~n)*((~m) + 1))* ∫(((~c)*(~x))^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_70", +:(∫(((~!c)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~p), (~x)) && + igt((~n), 0) && + sumsimpler((~m), (~n)) && + ilt(simplify(((~m) + 1)/(~n) + (~p)), 0) ? +((~c)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~c)*((~m) + 1)) - (~b)*((~m) + (~n)*((~p) + 1) + 1)⨸((~a)*(~c)^(~n)*((~m) + 1))* ∫(((~c)*(~x))^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_71", +:(∫(((~!c)*(~x))^(~m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + igt(2*(~n), 0) && + lt((~m), -1) && + int_binomial((~a1)*(~a2), (~b1)*(~b2), (~c), 2*(~n), (~m), (~p), (~x)) ? +((~c)*(~x))^((~m) + 1)*((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1)⨸((~a1)*(~a2)* (~c)*((~m) + 1)) - (~b1)*(~b2)*((~m) + 2*(~n)*((~p) + 1) + 1)⨸((~a1)*(~a2)*(~c)^(2*(~n))*((~m) + 1))* ∫(((~c)*(~x))^((~m) + 2*(~n))*((~a1) + (~b1)*(~x)^(~n))^(~p)*((~a2) + (~b2)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_72", +:(∫(((~!c)*(~x))^(~m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + igt(2*(~n), 0) && + sumsimpler((~m), 2*(~n)) && + ilt(simplify(((~m) + 1)/(2*(~n)) + (~p)), 0) ? +((~c)*(~x))^((~m) + 1)*((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1)⨸((~a1)*(~a2)* (~c)*((~m) + 1)) - (~b1)*(~b2)*((~m) + 2*(~n)*((~p) + 1) + 1)⨸((~a1)*(~a2)*(~c)^(2*(~n))*((~m) + 1))* ∫(((~c)*(~x))^((~m) + 2*(~n))*((~a1) + (~b1)*(~x)^(~n))^(~p)*((~a2) + (~b2)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_73", +:(∫(((~!c)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~p), (~x)) && + igt((~n), 0) && + isfraction((~m)) && + int_binomial((~a), (~b), (~c), (~n), (~m), (~p), (~x)) ? +ext_den((~m))⨸(~c)* int_and_subst((~x)^(ext_den((~m))*((~m) + 1) - 1)*((~a) + (~b)*(~x)^(ext_den((~m))*(~n))⨸(~c)^(~n))^(~p), (~x), (~x), ((~c)*(~x))^(1⨸ext_den((~m))), "1_1_3_2_73") : nothing)) + +("1_1_3_2_74", +:(∫(((~!c)*(~x))^(~m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + igt(2*(~n), 0) && + isfraction((~m)) && + int_binomial((~a1)*(~a2), (~b1)*(~b2), (~c), 2*(~n), (~m), (~p), (~x)) ? +ext_den((~m))⨸(~c)* int_and_subst( (~x)^(ext_den((~m))*((~m) + 1) - 1)*((~a1) + (~b1)*(~x)^(ext_den((~m))*(~n))⨸(~c)^(~n))^(~p)*((~a2) + (~b2)*(~x)^(ext_den((~m))*(~n))⨸(~c)^(~n))^ (~p), (~x), (~x), ((~c)*(~x))^(1⨸ext_den((~m))), "1_1_3_2_74") : nothing)) + +("1_1_3_2_75", +:(∫((~x)/((~a) + (~!b)*(~x)^3)^(2//3),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) ? +-atan((1 + 2*rt((~b), 3)*(~x)⨸((~a) + (~b)*(~x)^3)^(1⨸3))⨸sqrt(3))⨸(sqrt(3)*rt((~b), 3)^2) - log(rt((~b), 3)*(~x) - ((~a) + (~b)*(~x)^3)^(1⨸3))⨸(2*rt((~b), 3)^2) : nothing)) + +("1_1_3_2_76", +:(∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + igt((~n), 0) && + lt(-1, (~p), 0) && + !eq((~p), -1/2) && + ext_isinteger((~m), (~p) + ((~m) + 1)/(~n)) ? +(~a)^((~p) + ((~m) + 1)⨸(~n))* int_and_subst((~x)^(~m)⨸(1 - (~b)*(~x)^(~n))^((~p) + ((~m) + 1)⨸(~n) + 1), (~x), (~x), (~x)⨸((~a) + (~b)*(~x)^(~n))^(1⨸(~n)), "1_1_3_2_76") : nothing)) + +("1_1_3_2_77", +:(∫((~x)^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + igt(2*(~n), 0) && + lt(-1, (~p), 0) && + !eq((~p), -1/2) && + ext_isinteger((~m), (~p) + ((~m) + 1)/(2*(~n))) ? +((~a1)*(~a2))^((~p) + ((~m) + 1)⨸(2*(~n)))* int_and_subst((~x)^(~m)⨸((1 - (~b1)*(~x)^(~n))^((~p) + ((~m) + 1)⨸(2*(~n)) + 1)*(1 - (~b2)*(~x)^(~n))^((~p) + ((~m) + 1)⨸(2*(~n)) + 1)), (~x), (~x), (~x)⨸(((~a1) + (~b1)*(~x)^(~n))^(1⨸(2*(~n)))*((~a2) + (~b2)*(~x)^(~n))^(1⨸(2*(~n)))), "1_1_3_2_77") : nothing)) + +("1_1_3_2_78", +:(∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~x)) && + igt((~n), 0) && + lt(-1, (~p), 0) && + !eq((~p), -1/2) && + ext_isinteger((~m)) && + lt(ext_den((~p) + ((~m) + 1)/(~n)), ext_den((~p))) ? +((~a)⨸((~a) + (~b)*(~x)^(~n)))^((~p) + ((~m) + 1)⨸(~n))*((~a) + (~b)*(~x)^(~n))^((~p) + ((~m) + 1)⨸(~n))* int_and_subst((~x)^(~m)⨸(1 - (~b)*(~x)^(~n))^((~p) + ((~m) + 1)⨸(~n) + 1), (~x), (~x), (~x)⨸((~a) + (~b)*(~x)^(~n))^(1⨸(~n)), "1_1_3_2_78") : nothing)) + +("1_1_3_2_79", +:(∫((~x)^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + igt(2*(~n), 0) && + lt(-1, (~p), 0) && + !eq((~p), -1/2) && + ext_isinteger((~m)) && + lt(ext_den((~p) + ((~m) + 1)/(2*(~n))), ext_den((~p))) ? +((~a1)⨸((~a1) + (~b1)*(~x)^(~n)))^((~p) + ((~m) + 1)⨸(2*(~n)))*((~a1) + (~b1)*(~x)^(~n))^((~p) + ((~m) + 1)⨸(2*(~n)))*((~a2)⨸((~a2) + (~b2)*(~x)^(~n)))^((~p) + ((~m) + 1)⨸(2*(~n)))*((~a2) + (~b2)*(~x)^(~n))^((~p) + ((~m) + 1)⨸(2*(~n)))* int_and_subst((~x)^(~m)⨸((1 - (~b1)*(~x)^(~n))^((~p) + ((~m) + 1)⨸(2*(~n)) + 1)*(1 - (~b2)*(~x)^(~n))^((~p) + ((~m) + 1)⨸(2*(~n)) + 1)), (~x), (~x), (~x)⨸(((~a1) + (~b1)*(~x)^(~n))^(1⨸(2*(~n)))*((~a2) + (~b2)*(~x)^(~n))^(1⨸(2*(~n)))), "1_1_3_2_79") : nothing)) + +("1_1_3_2_80", +:(∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~p), (~x)) && + ilt((~n), 0) && + ext_isinteger((~m)) ? +-int_and_subst(((~a) + (~b)*(~x)^(-(~n)))^(~p)⨸(~x)^((~m) + 2), (~x), (~x), 1⨸(~x), "1_1_3_2_80") : nothing)) + +("1_1_3_2_81", +:(∫((~x)^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ilt(2*(~n), 0) && + ext_isinteger((~m)) ? +-int_and_subst(((~a1) + (~b1)*(~x)^(-(~n)))^(~p)*((~a2) + (~b2)*(~x)^(-(~n)))^(~p)⨸(~x)^((~m) + 2), (~x), (~x), 1⨸(~x), "1_1_3_2_81") : nothing)) + +("1_1_3_2_82", +:(∫(((~!c)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~p), (~x)) && + ilt((~n), 0) && + isfraction((~m)) ? +-ext_den((~m))⨸(~c)* int_and_subst(((~a) + (~b)*(~c)^(-(~n))*(~x)^(-ext_den((~m))*(~n)))^(~p)⨸(~x)^(ext_den((~m))*((~m) + 1) + 1), (~x), (~x), 1⨸((~c)*(~x))^(1⨸ext_den((~m))), "1_1_3_2_82") : nothing)) + +("1_1_3_2_83", +:(∫(((~!c)*(~x))^(~m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ilt(2*(~n), 0) && + isfraction((~m)) ? +-ext_den((~m))⨸(~c)* int_and_subst(((~a1) + (~b1)*(~c)^(-(~n))*(~x)^(-ext_den((~m))*(~n)))^(~p)*((~a2) + (~b2)*(~c)^(-(~n))*(~x)^(-ext_den((~m))*(~n)))^(~p)⨸ (~x)^(ext_den((~m))*((~m) + 1) + 1), (~x), (~x), 1⨸((~c)*(~x))^(1⨸ext_den((~m))), "1_1_3_2_83") : nothing)) + +("1_1_3_2_84", +:(∫(((~!c)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~p), (~x)) && + ilt((~n), 0) && + !(isrational((~m))) ? +-1⨸(~c)*((~c)*(~x))^((~m) + 1)*(1⨸(~x))^((~m) + 1)* int_and_subst(((~a) + (~b)*(~x)^(-(~n)))^(~p)⨸(~x)^((~m) + 2), (~x), (~x), 1⨸(~x), "1_1_3_2_84") : nothing)) + +("1_1_3_2_85", +:(∫(((~!c)*(~x))^(~m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ilt(2*(~n), 0) && + !(isrational((~m))) ? +-1⨸(~c)*((~c)*(~x))^((~m) + 1)*(1⨸(~x))^((~m) + 1)* int_and_subst(((~a1) + (~b1)*(~x)^(-(~n)))^(~p)*((~a2) + (~b2)*(~x)^(-(~n)))^(~p)⨸(~x)^((~m) + 2), (~x), (~x), 1⨸(~x), "1_1_3_2_85") : nothing)) + +("1_1_3_2_86", +:(∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~m), (~p), (~x)) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n))*((~m) + 1) - 1)*((~a) + (~b)*(~x)^(ext_den((~n))*(~n)))^(~p), (~x), (~x), (~x)^(1⨸ext_den((~n))), "1_1_3_2_86") : nothing)) + +("1_1_3_2_87", +:(∫((~x)^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~m), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + isfraction(2*(~n)) ? +ext_den(2*(~n))*int_and_subst((~x)^(ext_den(2*(~n))*((~m) + 1) - 1)*((~a1) + (~b1)*(~x)^(ext_den(2*(~n))*(~n)))^(~p)*((~a2) + (~b2)*(~x)^(ext_den(2*(~n))*(~n)))^(~p), (~x), (~x), (~x)^(1⨸ext_den(2*(~n))), "1_1_3_2_87") : nothing)) + +("1_1_3_2_88", +:(∫(((~c)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~p), (~x)) && + isfraction((~n)) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_89", +:(∫(((~c)*(~x))^(~m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + isfraction(2*(~n)) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a1) + (~b1)*(~x)^(~n))^(~p)*((~a2) + (~b2)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_90", +:(∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~m), (~n), (~p), (~x)) && + ext_isinteger(simplify((~n)/((~m) + 1))) && + !(ext_isinteger((~n))) ? +1⨸((~m) + 1)* int_and_subst(((~a) + (~b)*(~x)^simplify((~n)⨸((~m) + 1)))^(~p), (~x), (~x), (~x)^((~m) + 1), "1_1_3_2_90") : nothing)) + +("1_1_3_2_91", +:(∫((~x)^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~m), (~n), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ext_isinteger(simplify(2*(~n)/((~m) + 1))) && + !(ext_isinteger(2*(~n))) ? +1⨸((~m) + 1)* int_and_subst(((~a1) + (~b1)*(~x)^simplify((~n)⨸((~m) + 1)))^ (~p)*((~a2) + (~b2)*(~x)^simplify((~n)⨸((~m) + 1)))^(~p), (~x), (~x), (~x)^((~m) + 1), "1_1_3_2_91") : nothing)) + +("1_1_3_2_92", +:(∫(((~c)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~n), (~p), (~x)) && + ext_isinteger(simplify((~n)/((~m) + 1))) && + !(ext_isinteger((~n))) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_93", +:(∫(((~c)*(~x))^(~m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~n), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ext_isinteger(simplify(2*(~n)/((~m) + 1))) && + !(ext_isinteger(2*(~n))) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a1) + (~b1)*(~x)^(~n))^(~p)*((~a2) + (~b2)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_94", +:(∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~m), (~n), (~x)) && + eq(((~m) + 1)/(~n) + (~p), 0) && + gt((~p), 0) ? +(~x)^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^(~p)⨸((~m) + 1) - (~b)*(~n)*(~p)⨸((~m) + 1)*∫((~x)^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^((~p) - 1), (~x)) : nothing)) + +("1_1_3_2_95", +:(∫((~x)^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~m), (~n), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + eq(((~m) + 1)/(2*(~n)) + (~p), 0) && + gt((~p), 0) ? +(~x)^((~m) + 1)*((~a1) + (~b1)*(~x)^(~n))^(~p)*((~a2) + (~b2)*(~x)^(~n))^(~p)⨸((~m) + 1) - 2*(~b1)*(~b2)*(~n)*(~p)⨸((~m) + 1)* ∫((~x)^((~m) + 2*(~n))*((~a1) + (~b1)*(~x)^(~n))^((~p) - 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) - 1), (~x)) : nothing)) + +("1_1_3_2_96", +:(∫(((~c)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~n), (~x)) && + eq(((~m) + 1)/(~n) + (~p), 0) && + gt((~p), 0) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_97", +:(∫(((~c)*(~x))^(~m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~n), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + eq(((~m) + 1)/(2*(~n)) + (~p), 0) && + gt((~p), 0) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a1) + (~b1)*(~x)^(~n))^(~p)*((~a2) + (~b2)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_98", +:(∫(((~!c)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~n), (~x)) && + ext_isinteger((~p) + simplify(((~m) + 1)/(~n))) && + gt((~p), 0) && + !eq((~m) + (~n)*(~p) + 1, 0) ? +((~c)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^(~p)⨸((~c)*((~m) + (~n)*(~p) + 1)) + (~a)*(~n)*(~p)⨸((~m) + (~n)*(~p) + 1)*∫(((~c)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) - 1), (~x)) : nothing)) + +("1_1_3_2_99", +:(∫(((~!c)*(~x))^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~n), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ext_isinteger((~p) + simplify(((~m) + 1)/(2*(~n)))) && + gt((~p), 0) && + !eq((~m) + 2*(~n)*(~p) + 1, 0) ? +((~c)*(~x))^((~m) + 1)*((~a1) + (~b1)*(~x)^(~n))^ (~p)*((~a2) + (~b2)*(~x)^(~n))^(~p)⨸((~c)*((~m) + 2*(~n)*(~p) + 1)) + 2*(~a1)*(~a2)*(~n)*(~p)⨸((~m) + 2*(~n)*(~p) + 1)* ∫(((~c)*(~x))^(~m)*((~a1) + (~b1)*(~x)^(~n))^((~p) - 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) - 1), (~x)) : nothing)) + +("1_1_3_2_100", +:(∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~m), (~n), (~x)) && + ext_isinteger((~p) + simplify(((~m) + 1)/(~n))) && + lt(-1, (~p), 0) ? +ext_den((~p))*(~a)^((~p) + simplify(((~m) + 1)⨸(~n)))⨸(~n)* int_and_subst((~x)^(ext_den((~p))*simplify(((~m) + 1)⨸(~n)) - 1)⨸(1 - (~b)*(~x)^ext_den((~p)))^((~p) + simplify(((~m) + 1)⨸(~n)) + 1), (~x), (~x), (~x)^((~n)⨸ext_den((~p)))⨸((~a) + (~b)*(~x)^(~n))^(1⨸ext_den((~p))), "1_1_3_2_100") : nothing)) + +("1_1_3_2_101", +:(∫((~x)^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~m), (~n), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ext_isinteger((~p) + simplify(((~m) + 1)/(2*(~n)))) && + lt(-1, (~p), 0) ? +ext_den((~p))*((~a1)*(~a2))^((~p) + simplify(((~m) + 1)⨸(2*(~n))))⨸(2*(~n))* int_and_subst((~x)^(ext_den((~p))*simplify(((~m) + 1)⨸(2*(~n))) - 1)⨸(1 - (~b1)*(~b2)*(~x)^ext_den((~p)))^((~p) + simplify(((~m) + 1)⨸(2*(~n))) + 1), (~x), (~x), (~x)^(2*(~n)⨸ext_den((~p)))⨸(((~a1) + (~b1)*(~x)^(~n))^(1⨸ext_den((~p)))*((~a2) + (~b2)*(~x)^(~n))^(1⨸ext_den((~p)))), "1_1_3_2_101") : nothing)) + +("1_1_3_2_102", +:(∫(((~c)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~n), (~x)) && + ext_isinteger((~p) + simplify(((~m) + 1)/(~n))) && + lt(-1, (~p), 0) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_103", +:(∫(((~c)*(~x))^(~m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~n), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ext_isinteger((~p) + simplify(((~m) + 1)/(2*(~n)))) && + lt(-1, (~p), 0) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a1) + (~b1)*(~x)^(~n))^(~p)*((~a2) + (~b2)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_2_104", +:(∫(((~!c)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~n), (~x)) && + ext_isinteger((~p) + simplify(((~m) + 1)/(~n))) && + lt((~p), -1) ? +-((~c)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~c)*(~n)*((~p) + 1)) + ((~m) + (~n)*((~p) + 1) + 1)⨸((~a)*(~n)*((~p) + 1))* ∫(((~c)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing)) + +("1_1_3_2_105", +:(∫(((~!c)*(~x))^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~n), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ext_isinteger((~p) + simplify(((~m) + 1)/(2*(~n)))) && + lt((~p), -1) ? +-((~c)*(~x))^((~m) + 1)*((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1)⨸(2*(~a1)* (~a2)*(~c)*(~n)*((~p) + 1)) + ((~m) + 2*(~n)*((~p) + 1) + 1)⨸(2*(~a1)*(~a2)*(~n)*((~p) + 1))* ∫(((~c)*(~x))^(~m)*((~a1) + (~b1)*(~x)^(~n))^((~p) + 1)*((~a2) + (~b2)*(~x)^(~n))^((~p) + 1), (~x)) : nothing)) + +("1_1_3_2_106", +:(∫((~x)^(~!m)/((~a) + (~!b)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a), (~b), (~m), (~n), (~x)) && + isfraction(simplify(((~m) + 1)/(~n))) && + sumsimpler((~m), -(~n)) ? +(~x)^(simplify((~m) - (~n)) + 1)⨸((~b)*(simplify((~m) - (~n)) + 1)) - (~a)⨸(~b)*∫((~x)^simplify((~m) - (~n))⨸((~a) + (~b)*(~x)^(~n)), (~x)) : nothing)) + +("1_1_3_2_107", +:(∫((~x)^(~m)/((~a) + (~!b)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a), (~b), (~m), (~n), (~x)) && + isfraction(simplify(((~m) + 1)/(~n))) && + sumsimpler((~m), (~n)) ? +(~x)^((~m) + 1)⨸((~a)*((~m) + 1)) - (~b)⨸(~a)*∫((~x)^simplify((~m) + (~n))⨸((~a) + (~b)*(~x)^(~n)), (~x)) : nothing)) + +("1_1_3_2_108", +:(∫(((~c)*(~x))^(~m)/((~a) + (~!b)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~n), (~x)) && + isfraction( simplify(((~m) + 1)/(~n))) && + ( + sumsimpler((~m), (~n)) || + sumsimpler((~m), -(~n)) + ) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)⨸((~a) + (~b)*(~x)^(~n)), (~x)) : nothing)) + +("1_1_3_2_109", +:(∫(((~!c)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~n), (~p), (~x)) && + !(igt((~p), 0)) && + ( + ilt((~p), 0) || + gt((~a), 0) + ) ? +(~a)^(~p)*((~c)*(~x))^((~m) + 1)⨸((~c)*((~m) + 1))* hypergeometric2f1(-(~p), ((~m) + 1)⨸(~n), ((~m) + 1)⨸(~n) + 1, -(~b)*(~x)^(~n)⨸(~a)) : nothing)) + +#(* Int[(c_.*x_)^m_.*(a_+b_.*x_^n_)^p_,x_Symbol] := (c*x)^(m+1)*(a+b*x^n)^(p+1)/(a*c*(m+1))*Hypergeometric2F1[1,(m+1)/n+ p+1,(m+1)/n+1,-b*x^n/a] /; FreeQ[{a,b,c,m,n,p},x] && Not[IGtQ[p,0]] && Not[ILtQ[p,0] || GtQ[a,0]] *) +("1_1_3_2_110", +:(∫(((~!c)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~m), (~n), (~p), (~x)) && + !(igt((~p), 0)) && + !( + ilt((~p), 0) || + gt((~a), 0) + ) ? +(~a)^intpart((~p))*((~a) + (~b)*(~x)^(~n))^fracpart((~p))⨸(1 + (~b)*(~x)^(~n)⨸(~a))^fracpart((~p))* ∫(((~c)*(~x))^(~m)*(1 + (~b)*(~x)^(~n)⨸(~a))^(~p), (~x)) : nothing)) + +("1_1_3_2_111", +:(∫(((~!c)*(~x))^(~!m)*((~a1) + (~!b1)*(~x)^(~n))^(~p)*((~a2) + (~!b2)*(~x)^(~n))^(~p),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~n), (~p), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + !(ext_isinteger((~p))) ? +((~a1) + (~b1)*(~x)^(~n))^ fracpart((~p))*((~a2) + (~b2)*(~x)^(~n))^fracpart((~p))⨸((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(2*(~n)))^ fracpart((~p))*∫(((~c)*(~x))^(~m)*((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(2*(~n)))^(~p), (~x)) : nothing)) + +("1_1_3_2_112", +:(∫(((~!d)*(~x))^(~!m)*((~a) + (~!b)*((~c)*(~x))^(~n))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~x)) ? +1⨸(~c)*int_and_subst(((~d)*(~x)⨸(~c))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p), (~x), (~x), (~c)*(~x), "1_1_3_2_112") : nothing)) + +("1_1_3_2_113", +:(∫(((~!d)*(~x))^(~!m)*((~a) + (~!b)*((~!c)*(~x)^(~q))^(~n))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~q), (~x)) && + ext_isinteger((~n)*(~q)) && + !eq((~x), ((~c)*(~x)^(~q))^(1/(~q))) ? +((~d)*(~x))^((~m) + 1)⨸((~d)*(((~c)*(~x)^(~q))^(1⨸(~q)))^((~m) + 1))* int_and_subst((~x)^(~m)*((~a) + (~b)*(~x)^((~n)*(~q)))^(~p), (~x), (~x), ((~c)*(~x)^(~q))^(1⨸(~q)), "1_1_3_2_113") : nothing)) + +("1_1_3_2_114", +:(∫(((~!d)*(~x))^(~!m)*((~a) + (~!b)*((~!c)*(~x)^(~q))^(~n))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~m), (~p), (~q), (~x)) && + isfraction((~n)) ? +int_and_subst(((~d)*(~x))^(~m)*((~a) + (~b)*(~c)^(~n)*(~x)^((~n)*(~q)))^(~p), (~x), (~x)^(1⨸ext_den((~n))), ((~c)*(~x)^(~q))^(1⨸ext_den((~n)))⨸((~c)^(1⨸ext_den((~n)))*((~x)^(1⨸ext_den((~n))))^((~q) - 1)), "1_1_3_2_114") : nothing)) + +("1_1_3_2_115", +:(∫(((~!d)*(~x))^(~!m)*((~a) + (~!b)*((~!c)*(~x)^(~q))^(~n))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~q), (~x)) && + !(isrational((~n))) ? +int_and_subst(((~d)*(~x))^(~m)*((~a) + (~b)*(~c)^(~n)*(~x)^((~n)*(~q)))^(~p), (~x), (~x)^((~n)*(~q)), ((~c)*(~x)^(~q))^(~n)⨸(~c)^(~n), "1_1_3_2_115") : nothing)) + +("1_1_3_2_116", +:(∫((~x)^(~!m)*((~a) + (~!b)*(~v)^(~n))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~n), (~p), (~x)) && + linear((~v), (~x)) && + ext_isinteger((~m)) && + !eq(ext_coeff((~v), (~x), 0), 0) ? +1⨸ext_coeff((~v), (~x), 1)^((~m) + 1)* int_and_subst(ext_simplify(((~x) - ext_coeff((~v), (~x), 0))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)), (~x), (~x), (~v), "1_1_3_2_116") : nothing)) + +("1_1_3_2_117", +:(∫((~u)^(~!m)*((~a) + (~!b)*(~v)^(~n))^(~!p),(~x)) ) => :( + !contains_var((~a), (~b), (~m), (~n), (~p), (~x)) && + linear_pair((~u), (~v), (~x)) ? +(~u)^(~m)⨸(ext_coeff((~v), (~x), 1)*(~v)^(~m))* int_and_subst((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p), (~x), (~x), (~v), "1_1_3_2_117") : nothing)) + + +] \ No newline at end of file diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.3 (a+b x^n)^p (c+d x^n)^q.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.3 (a+b x^n)^p (c+d x^n)^q.jl new file mode 100644 index 0000000..64dded9 --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.3 (a+b x^n)^p (c+d x^n)^q.jl @@ -0,0 +1,553 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.1.3.3 (a+b x^n)^p (c+d x^n)^q *) +("1_1_3_3_1", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~p), 0) && + igt((~q), 0) ? +∫(ext_expand(((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)), (~x)) : nothing)) + +("1_1_3_3_2", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger((~p), (~q)) && + neg((~n)) ? +∫((~x)^((~n)*((~p) + (~q)))*((~b) + (~a)*(~x)^(-(~n)))^(~p)*((~d) + (~c)*(~x)^(-(~n)))^(~q), (~x)) : nothing)) + +("1_1_3_3_3", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ilt((~n), 0) ? +-int_and_subst(((~a) + (~b)*(~x)^(-(~n)))^(~p)*((~c) + (~d)*(~x)^(-(~n)))^(~q)⨸(~x)^2, (~x), (~x), 1⨸(~x), "1_1_3_3_3") : nothing)) + +("1_1_3_3_4", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n)) - 1)*((~a) + (~b)*(~x)^(ext_den((~n))*(~n)))^(~p)*((~c) + (~d)*(~x)^(ext_den((~n))*(~n)))^(~q), (~x), (~x), (~x)^(1⨸ext_den((~n))), "1_1_3_3_4") : nothing)) + +("1_1_3_3_5", +:(∫(1/(((~a) + (~!b)*(~x)^3)^(1//3)*((~c) + (~!d)*(~x)^3)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +atan((1 + (2*rt(((~b)*(~c) - (~a)*(~d))⨸(~c), 3)*(~x))⨸((~a) + (~b)*(~x)^3)^(1⨸3))⨸sqrt(3))⨸(sqrt(3)*(~c)*rt(((~b)*(~c) - (~a)*(~d))⨸(~c), 3)) + log((~c) + (~d)*(~x)^3)⨸(6*(~c)*rt(((~b)*(~c) - (~a)*(~d))⨸(~c), 3)) - log(rt(((~b)*(~c) - (~a)*(~d))⨸(~c), 3)*(~x) - ((~a) + (~b)*(~x)^3)^(1⨸3))⨸(2*(~c)*rt(((~b)*(~c) - (~a)*(~d))⨸(~c), 3)) : nothing)) + +("1_1_3_3_6", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)/((~c) + (~!d)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~n)*(~p) + 1, 0) && + ext_isinteger((~n)) ? +int_and_subst(1⨸((~c) - ((~b)*(~c) - (~a)*(~d))*(~x)^(~n)), (~x), (~x), (~x)⨸((~a) + (~b)*(~x)^(~n))^(1⨸(~n)), "1_1_3_3_6") : nothing)) + +("1_1_3_3_7", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~!q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~n)*((~p) + (~q) + 1) + 1, 0) && + gt((~q), 0) && + !eq((~p), -1) ? +-(~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(~q)⨸((~a)*(~n)*((~p) + 1)) - (~c)*(~q)⨸((~a)*((~p) + 1))*∫(((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1), (~x)) : nothing)) + +("1_1_3_3_8", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~n)*((~p) + (~q) + 1) + 1, 0) && + ilt((~p), 0) ? +(~a)^(~p)*(~x)⨸((~c)^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(1⨸(~n)))* hypergeometric2f1(1⨸(~n), -(~p), 1 + 1⨸(~n), -((~b)*(~c) - (~a)*(~d))*(~x)^(~n)⨸((~a)*((~c) + (~d)*(~x)^(~n)))) : nothing)) + +("1_1_3_3_9", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~n)*((~p) + (~q) + 1) + 1, 0) ? +(~x)*((~a) + (~b)*(~x)^(~n))^ (~p)⨸((~c)*((~c)*((~a) + (~b)*(~x)^(~n))⨸((~a)*((~c) + (~d)*(~x)^(~n))))^(~p)*((~c) + (~d)*(~x)^(~n))^(1⨸(~n) + (~p)))* hypergeometric2f1(1⨸(~n), -(~p), 1 + 1⨸(~n), -((~b)*(~c) - (~a)*(~d))*(~x)^(~n)⨸((~a)*((~c) + (~d)*(~x)^(~n)))) : nothing)) + +("1_1_3_3_10", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~n)*((~p) + (~q) + 2) + 1, 0) && + eq((~a)*(~d)*((~p) + 1) + (~b)*(~c)*((~q) + 1), 0) ? +(~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) + 1)⨸((~a)*(~c)) : nothing)) + +#(* Int[(a1_+b1_.*x_^n2_.)^p_*(a2_+b2_.*x_^n2_.)^p_*(c_+d_.*x_^n_)^q_, x_Symbol] := x*(a1+b1*x^(n/2))^(p+1)*(a2+b2*x^(n/2))^(p+1)*(c+d*x^n)^(q+1)/(a1* a2*c) /; FreeQ[{a1,b1,a2,b2,c,d,n,p,q},x] && EqQ[n2,n/2] && EqQ[a2*b1+a1*b2,0] && EqQ[n*(p+q+2)+1,0] && EqQ[a1*a2*d*(p+1)+b1*b2*c*(q+1),0] *) +("1_1_3_3_11", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~n)*((~p) + (~q) + 2) + 1, 0) && + ( + lt((~p), -1) || + !(lt((~q), -1)) + ) && + !eq((~p), -1) ? +-(~b)*(~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) + 1)⨸((~a)* (~n)*((~p) + 1)*((~b)*(~c) - (~a)*(~d))) + ((~b)*(~c) + (~n)*((~p) + 1)*((~b)*(~c) - (~a)*(~d)))⨸((~a)*(~n)*((~p) + 1)*((~b)*(~c) - (~a)*(~d)))* ∫(((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) : nothing)) + +("1_1_3_3_12", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)*(~d) - (~b)*(~c)*((~n)*((~p) + 1) + 1), 0) ? +(~c)*(~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸(~a) : nothing)) + +("1_1_3_3_13", +:(∫(((~a1) + (~!b1)*(~x)^(~!n2))^(~!p)*((~a2) + (~!b2)*(~x)^(~!n2))^ (~!p)*((~c) + (~!d)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~d), (~n), (~p), (~x)) && + eq((~n2), (~n)⨸2) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + eq((~a1)*(~a2)*(~d) - (~b1)*(~b2)*(~c)*((~n)*((~p) + 1) + 1), 0) ? +(~c)*(~x)*((~a1) + (~b1)*(~x)^((~n)⨸2))^((~p) + 1)*((~a2) + (~b2)*(~x)^((~n)⨸2))^((~p) + 1)⨸((~a1)*(~a2)) : nothing)) + +("1_1_3_3_14", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ( + lt((~p), -1) || + ilt(1⨸(~n) + (~p), 0) + ) ? +-((~b)*(~c) - (~a)*(~d))*(~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~b)*(~n)*((~p) + 1)) - ((~a)*(~d) - (~b)*(~c)*((~n)*((~p) + 1) + 1))⨸((~a)*(~b)*(~n)*((~p) + 1))* ∫(((~a) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing)) + +("1_1_3_3_15", +:(∫(((~a1) + (~!b1)*(~x)^(~!n2))^(~!p)*((~a2) + (~!b2)*(~x)^(~!n2))^ (~!p)*((~c) + (~!d)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~d), (~n), (~x)) && + eq((~n2), (~n)⨸2) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ( + lt((~p), -1) || + ilt(1⨸(~n) + (~p), 0) + ) ? +-((~b1)*(~b2)*(~c) - (~a1)*(~a2)*(~d))* (~x)*((~a1) + (~b1)*(~x)^((~n)⨸2))^((~p) + 1)*((~a2) + (~b2)*(~x)^((~n)⨸2))^((~p) + 1)⨸((~a1)*(~a2)*(~b1)* (~b2)*(~n)*((~p) + 1)) - ((~a1)*(~a2)*(~d) - (~b1)*(~b2)*(~c)*((~n)*((~p) + 1) + 1))⨸((~a1)*(~a2)*(~b1)*(~b2)*(~n)*((~p) + 1))* ∫(((~a1) + (~b1)*(~x)^((~n)⨸2))^((~p) + 1)*((~a2) + (~b2)*(~x)^((~n)⨸2))^((~p) + 1), (~x)) : nothing)) + +("1_1_3_3_16", +:(∫(((~c) + (~!d)*(~x)^(~n))/((~a) + (~!b)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + lt((~n), 0) ? +(~c)*(~x)⨸(~a) - ((~b)*(~c) - (~a)*(~d))⨸(~a)*∫(1⨸((~b) + (~a)*(~x)^(-(~n))), (~x)) : nothing)) + +("1_1_3_3_17", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~n)*((~p) + 1) + 1, 0) ? +(~d)*(~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*((~n)*((~p) + 1) + 1)) - ((~a)*(~d) - (~b)*(~c)*((~n)*((~p) + 1) + 1))⨸((~b)*((~n)*((~p) + 1) + 1))* ∫(((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing)) + +("1_1_3_3_18", +:(∫(((~a1) + (~!b1)*(~x)^(~!n2))^(~!p)*((~a2) + (~!b2)*(~x)^(~!n2))^ (~!p)*((~c) + (~!d)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~d), (~n), (~p), (~x)) && + eq((~n2), (~n)⨸2) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + !eq((~n)*((~p) + 1) + 1, 0) ? +(~d)*(~x)*((~a1) + (~b1)*(~x)^((~n)⨸2))^((~p) + 1)*((~a2) + (~b2)*(~x)^((~n)⨸2))^((~p) + 1)⨸((~b1)* (~b2)*((~n)*((~p) + 1) + 1)) - ((~a1)*(~a2)*(~d) - (~b1)*(~b2)*(~c)*((~n)*((~p) + 1) + 1))⨸((~b1)*(~b2)*((~n)*((~p) + 1) + 1))* ∫(((~a1) + (~b1)*(~x)^((~n)⨸2))^(~p)*((~a2) + (~b2)*(~x)^((~n)⨸2))^(~p), (~x)) : nothing)) + +("1_1_3_3_19", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + igt((~p), 0) && + ilt((~q), 0) && + ge((~p), -(~q)) ? +∫(polynomial_divide(((~a) + (~b)*(~x)^(~n))^(~p), ((~c) + (~d)*(~x)^(~n))^(-(~q)), (~x)), (~x)) : nothing)) + +("1_1_3_3_20", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)/((~c) + (~!d)*(~x)^(~n)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~n)*((~p) - 1) + 1, 0) && + ext_isinteger((~n)) ? +(~b)⨸(~d)*∫(((~a) + (~b)*(~x)^(~n))^((~p) - 1), (~x)) - ((~b)*(~c) - (~a)*(~d))⨸(~d)* ∫(((~a) + (~b)*(~x)^(~n))^((~p) - 1)⨸((~c) + (~d)*(~x)^(~n)), (~x)) : nothing)) + +("1_1_3_3_21", +:(∫(1/(((~a) + (~!b)*(~x)^(~n))*((~c) + (~!d)*(~x)^(~n))),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +(~b)⨸((~b)*(~c) - (~a)*(~d))*∫(1⨸((~a) + (~b)*(~x)^(~n)), (~x)) - (~d)⨸((~b)*(~c) - (~a)*(~d))*∫(1⨸((~c) + (~d)*(~x)^(~n)), (~x)) : nothing)) + +# same as 1_1_2_3_25 wtf +# ("1_1_3_3_22", +# @rule ∫(1/(((~a) + (~!b)*(~x)^2)^(1//3)*((~c) + (~!d)*(~x)^2)),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~x)) && +# !eq((~b)*(~c) - (~a)*(~d), 0) && +# eq((~b)*(~c) + 3*(~a)*(~d), 0) && +# pos((~b)⨸(~a)) ? +# rt((~b)⨸(~a), 2)*atanh(sqrt(3)⨸(rt((~b)⨸(~a), 2)*(~x)))⨸(2*2^(2⨸3)*sqrt(3)*(~a)^(1⨸3)*(~d)) + rt((~b)⨸(~a), 2)*atanh( sqrt(3)*((~a)^(1⨸3) - 2^(1⨸3)*((~a) + (~b)*(~x)^2)^(1⨸3))⨸((~a)^(1⨸3)*rt((~b)⨸(~a), 2)* (~x)))⨸(2*2^(2⨸3)*sqrt(3)*(~a)^(1⨸3)*(~d)) + rt((~b)⨸(~a), 2)*atan(rt((~b)⨸(~a), 2)*(~x))⨸(6*2^(2⨸3)*(~a)^(1⨸3)*(~d)) - rt((~b)⨸(~a), 2)*atan(((~a)^(1⨸3)*rt((~b)⨸(~a), 2)*(~x))⨸((~a)^(1⨸3) + 2^(1⨸3)*((~a) + (~b)*(~x)^2)^(1⨸3)))⨸(2*2^(2⨸3)*(~a)^(1⨸3)*(~d)) : nothing) + +# same as 1_1_2_3_26 wtf +# ("1_1_3_3_23", +# @rule ∫(1/(((~a) + (~!b)*(~x)^2)^(1//3)*((~c) + (~!d)*(~x)^2)),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~x)) && +# !eq((~b)*(~c) - (~a)*(~d), 0) && +# eq((~b)*(~c) + 3*(~a)*(~d), 0) && +# neg((~b)⨸(~a)) ? +# rt(-(~b)⨸(~a), 2)*atan(sqrt(3)⨸(rt(-(~b)⨸(~a), 2)*(~x)))⨸(2*2^(2⨸3)*sqrt(3)*(~a)^(1⨸3)*(~d)) + rt(-(~b)⨸(~a), 2)*atan( sqrt(3)*((~a)^(1⨸3) - 2^(1⨸3)*((~a) + (~b)*(~x)^2)^(1⨸3))⨸((~a)^(1⨸3)*rt(-(~b)⨸(~a), 2)* (~x)))⨸(2*2^(2⨸3)*sqrt(3)*(~a)^(1⨸3)*(~d)) - rt(-(~b)⨸(~a), 2)*atanh(rt(-(~b)⨸(~a), 2)*(~x))⨸(6*2^(2⨸3)*(~a)^(1⨸3)*(~d)) + rt(-(~b)⨸(~a), 2)*atanh(((~a)^(1⨸3)*rt(-(~b)⨸(~a), 2)*(~x))⨸((~a)^(1⨸3) + 2^(1⨸3)*((~a) + (~b)*(~x)^2)^(1⨸3)))⨸(2*2^(2⨸3)*(~a)^(1⨸3)*(~d)) : nothing) + +# same as 1_1_2_3_27 wtf +# ("1_1_3_3_24", +# @rule ∫(1/(((~a) + (~!b)*(~x)^2)^(1//3)*((~c) + (~!d)*(~x)^2)),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~x)) && +# !eq((~b)*(~c) - (~a)*(~d), 0) && +# eq((~b)*(~c) - 9*(~a)*(~d), 0) && +# pos((~b)⨸(~a)) ? +# rt((~b)⨸(~a), 2)*atan(rt((~b)⨸(~a), 2)*(~x)⨸3)⨸(12*rt((~a), 3)*(~d)) + rt((~b)⨸(~a), 2)*atan((rt((~a), 3) - ((~a) + (~b)*(~x)^2)^(1⨸3))^2⨸(3*rt((~a), 3)^2*rt((~b)⨸(~a), 2)* (~x)))⨸(12*rt((~a), 3)*(~d)) - rt((~b)⨸(~a), 2)*atanh((sqrt(3)*(rt((~a), 3) - ((~a) + (~b)*(~x)^2)^(1⨸3)))⨸(rt((~a), 3)*rt((~b)⨸(~a), 2)* (~x)))⨸(4*sqrt(3)*rt((~a), 3)*(~d)) : nothing) + +# same as 1_1_2_3_28 wtf +# ("1_1_3_3_25", +# @rule ∫(1/(((~a) + (~!b)*(~x)^2)^(1//3)*((~c) + (~!d)*(~x)^2)),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~x)) && +# !eq((~b)*(~c) - (~a)*(~d), 0) && +# eq((~b)*(~c) - 9*(~a)*(~d), 0) && +# neg((~b)⨸(~a)) ? +# -rt(-(~b)⨸(~a), 2)*atanh(rt(-(~b)⨸(~a), 2)*(~x)⨸3)⨸(12*rt((~a), 3)*(~d)) + rt(-(~b)⨸(~a), 2)*atanh((rt((~a), 3) - ((~a) + (~b)*(~x)^2)^(1⨸3))^2⨸(3*rt((~a), 3)^2*rt(-(~b)⨸(~a), 2)* (~x)))⨸(12*rt((~a), 3)*(~d)) - rt(-(~b)⨸(~a), 2)*atan((sqrt(3)*(rt((~a), 3) - ((~a) + (~b)*(~x)^2)^(1⨸3)))⨸(rt((~a), 3)*rt(-(~b)⨸(~a), 2)* (~x)))⨸(4*sqrt(3)*rt((~a), 3)*(~d)) : nothing) + +("1_1_3_3_26", +:(∫(((~a) + (~!b)*(~x)^2)^(2//3)/((~c) + (~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~b)*(~c) + 3*(~a)*(~d), 0) ? +(~b)⨸(~d)*∫(1⨸((~a) + (~b)*(~x)^2)^(1⨸3), (~x)) - ((~b)*(~c) - (~a)*(~d))⨸(~d)* ∫(1⨸(((~a) + (~b)*(~x)^2)^(1⨸3)*((~c) + (~d)*(~x)^2)), (~x)) : nothing)) + +("1_1_3_3_27", +:(∫(1/(((~a) + (~!b)*(~x)^2)^(1//4)*((~c) + (~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) - 2*(~a)*(~d), 0) && + pos((~b)^2⨸(~a)) ? +-(~b)⨸(2*(~a)*(~d)*rt((~b)^2⨸(~a), 4))* atan(((~b) + rt((~b)^2⨸(~a), 4)^2*sqrt((~a) + (~b)*(~x)^2))⨸(rt((~b)^2⨸(~a), 4)^3*(~x)*((~a) + (~b)*(~x)^2)^(1⨸4))) - (~b)⨸(2*(~a)*(~d)*rt((~b)^2⨸(~a), 4))* atanh(((~b) - rt((~b)^2⨸(~a), 4)^2*sqrt((~a) + (~b)*(~x)^2))⨸(rt((~b)^2⨸(~a), 4)^3*(~x)*((~a) + (~b)*(~x)^2)^(1⨸4))) : nothing)) + +("1_1_3_3_28", +:(∫(1/(((~a) + (~!b)*(~x)^2)^(1//4)*((~c) + (~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) - 2*(~a)*(~d), 0) && + neg((~b)^2⨸(~a)) ? +(~b)⨸(2*sqrt(2)*(~a)*(~d)*rt(-(~b)^2⨸(~a), 4))*atan(rt(-(~b)^2⨸(~a), 4)*(~x)⨸(sqrt(2)*((~a) + (~b)*(~x)^2)^(1⨸4))) + (~b)⨸(2*sqrt(2)*(~a)*(~d)*rt(-(~b)^2⨸(~a), 4))*atanh(rt(-(~b)^2⨸(~a), 4)*(~x)⨸(sqrt(2)*((~a) + (~b)*(~x)^2)^(1⨸4))) : nothing)) + +#(* Int[1/((a_+b_.*x_^2)^(1/4)*(c_+d_.*x_^2)),x_Symbol] := With[{q=Rt[-b^2/a,4]}, b/(2*Sqrt[2]*a*d*q)*ArcTan[q*x/(Sqrt[2]*(a+b*x^2)^(1/4))] + b/(4*Sqrt[2]*a*d*q)*Log[(Sqrt[2]*q*x+2*(a+b*x^2)^(1/4))/(Sqrt[2]*q* x-2*(a+b*x^2)^(1/4))]] /; FreeQ[{a,b,c,d},x] && EqQ[b*c-2*a*d,0] && NegQ[b^2/a] *) +("1_1_3_3_29", +:(∫(1/(((~a) + (~!b)*(~x)^2)^(1//4)*((~c) + (~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +2*sqrt(-(~b)*(~x)^2⨸(~a))⨸(~x)* int_and_subst((~x)^2⨸(sqrt(1 - (~x)^4⨸(~a))*((~b)*(~c) - (~a)*(~d) + (~d)*(~x)^4)), (~x), (~x), ((~a) + (~b)*(~x)^2)^(1⨸4), "1_1_3_3_29") : nothing)) + +("1_1_3_3_30", +:(∫(1/(((~a) + (~!b)*(~x)^2)^(3//4)*((~c) + (~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) - 2*(~a)*(~d), 0) ? +1⨸(~c)*∫(1⨸((~a) + (~b)*(~x)^2)^(3⨸4), (~x)) - (~d)⨸(~c)*∫((~x)^2⨸(((~a) + (~b)*(~x)^2)^(3⨸4)*((~c) + (~d)*(~x)^2)), (~x)) : nothing)) + +("1_1_3_3_31", +:(∫(1/(((~a) + (~!b)*(~x)^2)^(3//4)*((~c) + (~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +sqrt(-(~b)*(~x)^2⨸(~a))⨸(2*(~x))* int_and_subst(1⨸(sqrt(-(~b)*(~x)⨸(~a))*((~a) + (~b)*(~x))^(3⨸4)*((~c) + (~d)*(~x))), (~x), (~x), (~x)^2, "1_1_3_3_31") : nothing)) + +("1_1_3_3_32", +:(∫(((~a) + (~!b)*(~x)^2)^(~!p)/((~c) + (~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + gt((~p), 0) && + ( + eq((~p), 1⨸2) || + eq(ext_den((~p)), 4) + ) ? +(~b)⨸(~d)*∫(((~a) + (~b)*(~x)^2)^((~p) - 1), (~x)) - ((~b)*(~c) - (~a)*(~d))⨸(~d)* ∫(((~a) + (~b)*(~x)^2)^((~p) - 1)⨸((~c) + (~d)*(~x)^2), (~x)) : nothing)) + +("1_1_3_3_33", +:(∫(((~a) + (~!b)*(~x)^2)^(~p)/((~c) + (~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + lt((~p), -1) && + eq(ext_den((~p)), 4) && + ( + eq((~p), -5⨸4) || + eq((~p), -7⨸4) + ) ? +(~b)⨸((~b)*(~c) - (~a)*(~d))*∫(((~a) + (~b)*(~x)^2)^(~p), (~x)) - (~d)⨸((~b)*(~c) - (~a)*(~d))*∫(((~a) + (~b)*(~x)^2)^((~p) + 1)⨸((~c) + (~d)*(~x)^2), (~x)) : nothing)) + +("1_1_3_3_34", +:(∫(sqrt((~a) + (~!b)*(~x)^4)/((~c) + (~!d)*(~x)^4),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + pos((~a)*(~b)) ? +(~a)⨸(~c)*int_and_subst(1⨸(1 - 4*(~a)*(~b)*(~x)^4), (~x), (~x), (~x)⨸sqrt((~a) + (~b)*(~x)^4), "1_1_3_3_34") : nothing)) + +("1_1_3_3_35", +:(∫(sqrt((~a) + (~!b)*(~x)^4)/((~c) + (~!d)*(~x)^4),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + neg((~a)*(~b)) ? +(~a)⨸(2*(~c)*rt(-(~a)*(~b), 4))*atan(rt(-(~a)*(~b), 4)*(~x)*((~a) + rt(-(~a)*(~b), 4)^2*(~x)^2)⨸((~a)*sqrt((~a) + (~b)*(~x)^4))) + (~a)⨸(2*(~c)*rt(-(~a)*(~b), 4))*atanh(rt(-(~a)*(~b), 4)*(~x)*((~a) - rt(-(~a)*(~b), 4)^2*(~x)^2)⨸((~a)*sqrt((~a) + (~b)*(~x)^4))) : nothing)) + +("1_1_3_3_36", +:(∫(sqrt((~a) + (~!b)*(~x)^4)/((~c) + (~!d)*(~x)^4),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +(~b)⨸(~d)*∫(1⨸sqrt((~a) + (~b)*(~x)^4), (~x)) - ((~b)*(~c) - (~a)*(~d))⨸(~d)* ∫(1⨸(sqrt((~a) + (~b)*(~x)^4)*((~c) + (~d)*(~x)^4)), (~x)) : nothing)) + +("1_1_3_3_37", +:(∫(((~a) + (~!b)*(~x)^4)^(1//4)/((~c) + (~!d)*(~x)^4),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +sqrt((~a) + (~b)*(~x)^4)*sqrt((~a)⨸((~a) + (~b)*(~x)^4))* int_and_subst(1⨸(sqrt(1 - (~b)*(~x)^4)*((~c) - ((~b)*(~c) - (~a)*(~d))*(~x)^4)), (~x), (~x), (~x)⨸((~a) + (~b)*(~x)^4)^(1⨸4), "1_1_3_3_37") : nothing)) + +("1_1_3_3_38", +:(∫(((~a) + (~!b)*(~x)^4)^(5//4)/((~c) + (~!d)*(~x)^4),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +(~b)⨸(~d)*∫(((~a) + (~b)*(~x)^4)^(1⨸4), (~x)) - ((~b)*(~c) - (~a)*(~d))⨸(~d)* ∫(((~a) + (~b)*(~x)^4)^(1⨸4)⨸((~c) + (~d)*(~x)^4), (~x)) : nothing)) + +("1_1_3_3_39", +:(∫(1/(sqrt((~a) + (~!b)*(~x)^4)*((~c) + (~!d)*(~x)^4)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +1⨸(2*(~c))*∫(1⨸(sqrt((~a) + (~b)*(~x)^4)*(1 - rt(-(~d)⨸(~c), 2)*(~x)^2)), (~x)) + 1⨸(2*(~c))*∫(1⨸(sqrt((~a) + (~b)*(~x)^4)*(1 + rt(-(~d)⨸(~c), 2)*(~x)^2)), (~x)) : nothing)) + +("1_1_3_3_40", +:(∫(1/(((~a) + (~!b)*(~x)^4)^(3//4)*((~c) + (~!d)*(~x)^4)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +(~b)⨸((~b)*(~c) - (~a)*(~d))*∫(1⨸((~a) + (~b)*(~x)^4)^(3⨸4), (~x)) - (~d)⨸((~b)*(~c) - (~a)*(~d))*∫(((~a) + (~b)*(~x)^4)^(1⨸4)⨸((~c) + (~d)*(~x)^4), (~x)) : nothing)) + +("1_1_3_3_41", +:(∫(((~a) + (~!b)*(~x)^3)^(1//3)/((~c) + (~!d)*(~x)^3),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~b)*(~c) + (~a)*(~d), 0) ? +9*(~a)⨸((~c)*rt((~b)⨸(~a), 3))* int_and_subst((~x)⨸((4 - (~a)*(~x)^3)*(1 + 2*(~a)*(~x)^3)), (~x), (~x), (1 + rt((~b)⨸(~a), 3)*(~x))⨸((~a) + (~b)*(~x)^3)^(1⨸3), "1_1_3_3_41") : nothing)) + +("1_1_3_3_42", +:(∫(1/(((~a) + (~!b)*(~x)^3)^(2//3)*((~c) + (~!d)*(~x)^3)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~b)*(~c) + (~a)*(~d), 0) ? +(~b)⨸((~b)*(~c) - (~a)*(~d))*∫(1⨸((~a) + (~b)*(~x)^3)^(2⨸3), (~x)) - (~d)⨸((~b)*(~c) - (~a)*(~d))*∫(((~a) + (~b)*(~x)^3)^(1⨸3)⨸((~c) + (~d)*(~x)^3), (~x)) : nothing)) + +("1_1_3_3_43", +:(∫(sqrt((~a) + (~!b)*(~x)^2)/((~c) + (~!d)*(~x)^2)^(3//2),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + pos((~b)⨸(~a)) && + pos((~d)⨸(~c)) ? +sqrt((~a) + (~b)*(~x)^2)⨸((~c)*rt((~d)⨸(~c), 2)*sqrt((~c) + (~d)*(~x)^2)* sqrt((~c)*((~a) + (~b)*(~x)^2)⨸((~a)*((~c) + (~d)*(~x)^2))))* elliptic_e(atan(rt((~d)⨸(~c), 2)*(~x)), 1 - (~b)*(~c)⨸((~a)*(~d))) : nothing)) + +#(* Int[Sqrt[a_+b_.*x_^2]/(c_+d_.*x_^2)^(3/2),x_Symbol] := a*Sqrt[c+d*x^2]*Sqrt[(c*(a+b*x^2))/(a*(c+d*x^2))]/(c^2*Rt[d/c,2]* Sqrt[a+b*x^2])*EllipticE[ArcTan[Rt[d/c,2]*x],1-b*c/(a*d)] /; FreeQ[{a,b,c,d},x] && PosQ[b/a] && PosQ[d/c] *) +("1_1_3_3_44", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + lt((~p), -1) && + lt(0, (~q), 1) && + int_binomial((~a), (~b), (~c), (~d), (~n), (~p), (~q), (~x)) ? +-(~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(~q)⨸((~a)*(~n)*((~p) + 1)) + 1⨸((~a)*(~n)*((~p) + 1))* ∫(((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)* simp((~c)*((~n)*((~p) + 1) + 1) + (~d)*((~n)*((~p) + (~q) + 1) + 1)*(~x)^(~n), (~x)), (~x)) : nothing)) + +("1_1_3_3_45", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + lt((~p), -1) && + gt((~q), 1) && + int_binomial((~a), (~b), (~c), (~d), (~n), (~p), (~q), (~x)) ? +((~a)*(~d) - (~c)*(~b))* (~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)⨸((~a)*(~b)*(~n)*((~p) + 1)) - 1⨸((~a)*(~b)*(~n)*((~p) + 1))* ∫(((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 2)* simp((~c)*((~a)*(~d) - (~c)*(~b)*((~n)*((~p) + 1) + 1)) + (~d)*((~a)*(~d)*((~n)*((~q) - 1) + 1) - (~b)*(~c)*((~n)*((~p) + (~q)) + 1))*(~x)^(~n), (~x)), (~x)) : nothing)) + +("1_1_3_3_46", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + lt((~p), -1) && + !( + !(ext_isinteger((~p))) && + ext_isinteger((~q)) && + lt((~q), -1) + ) && + int_binomial((~a), (~b), (~c), (~d), (~n), (~p), (~q), (~x)) ? +-(~b)*(~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) + 1)⨸((~a)* (~n)*((~p) + 1)*((~b)*(~c) - (~a)*(~d))) + 1⨸((~a)*(~n)*((~p) + 1)*((~b)*(~c) - (~a)*(~d)))* ∫(((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(~q)* simp((~b)*(~c) + (~n)*((~p) + 1)*((~b)*(~c) - (~a)*(~d)) + (~d)*(~b)*((~n)*((~p) + (~q) + 2) + 1)*(~x)^(~n), (~x)), (~x)) : nothing)) + +("1_1_3_3_47", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + ext_isinteger((~p), (~q)) && + gt((~p) + (~q), 0) ? +∫(ext_expand(((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)), (~x)) : nothing)) + +("1_1_3_3_48", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + gt((~q), 1) && + !eq((~n)*((~p) + (~q)) + 1, 0) && + !(igt((~p), 1)) && + int_binomial((~a), (~b), (~c), (~d), (~n), (~p), (~q), (~x)) ? +(~d)*(~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)⨸((~b)*((~n)*((~p) + (~q)) + 1)) + 1⨸((~b)*((~n)*((~p) + (~q)) + 1))* ∫(((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^((~q) - 2)* simp((~c)*((~b)*(~c)*((~n)*((~p) + (~q)) + 1) - (~a)*(~d)) + (~d)*((~b)*(~c)*((~n)*((~p) + 2*(~q) - 1) + 1) - (~a)*(~d)*((~n)*((~q) - 1) + 1))*(~x)^(~n), (~x)), (~x)) : nothing)) + +("1_1_3_3_49", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + gt((~q), 0) && + gt((~p), 0) && + int_binomial((~a), (~b), (~c), (~d), (~n), (~p), (~q), (~x)) ? +(~x)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)⨸((~n)*((~p) + (~q)) + 1) + (~n)⨸((~n)*((~p) + (~q)) + 1)* ∫(((~a) + (~b)*(~x)^(~n))^((~p) - 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)* simp((~a)*(~c)*((~p) + (~q)) + ((~q)*((~b)*(~c) - (~a)*(~d)) + (~a)*(~d)*((~p) + (~q)))*(~x)^(~n), (~x)), (~x)) : nothing)) + +("1_1_3_3_50", +:(∫(1/(sqrt((~a) + (~!b)*(~x)^2)*sqrt((~c) + (~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + pos((~d)⨸(~c)) && + pos((~b)⨸(~a)) && + !(simpler(rt((~b)⨸(~a),2),rt( (~d)⨸(~c),2))) ? +sqrt((~a) + (~b)*(~x)^2)⨸((~a)*rt((~d)⨸(~c), 2)*sqrt((~c) + (~d)*(~x)^2)* sqrt((~c)*((~a) + (~b)*(~x)^2)⨸((~a)*((~c) + (~d)*(~x)^2))))* elliptic_f(atan(rt((~d)⨸(~c), 2)*(~x)), 1 - (~b)*(~c)⨸((~a)*(~d))) : nothing)) + +#(* Int[1/(Sqrt[a_+b_.*x_^2]*Sqrt[c_+d_.*x_^2]),x_Symbol] := Sqrt[c+d*x^2]*Sqrt[c*(a+b*x^2)/(a*(c+d*x^2))]/(c*Rt[d/c,2]*Sqrt[a+b* x^2])*EllipticF[ArcTan[Rt[d/c,2]*x],1-b*c/(a*d)] /; FreeQ[{a,b,c,d},x] && PosQ[d/c] && PosQ[b/a] && Not[SimplerSqrtQ[b/a,d/c]] *) +("1_1_3_3_51", +:(∫(1/(sqrt((~a) + (~!b)*(~x)^2)*sqrt((~c) + (~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + neg((~d)⨸(~c)) && + gt((~c), 0) && + gt((~a), 0) && + !( + neg((~b)⨸(~a)) && + simpler(rt(-(~b)⨸(~a),2),rt( -(~d)⨸(~c),2)) + ) ? +1⨸(sqrt((~a))*sqrt((~c))*rt(-(~d)⨸(~c), 2))* elliptic_f(asin(rt(-(~d)⨸(~c), 2)*(~x)), (~b)*(~c)⨸((~a)*(~d))) : nothing)) + +("1_1_3_3_52", +:(∫(1/(sqrt((~a) + (~!b)*(~x)^2)*sqrt((~c) + (~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + neg((~d)⨸(~c)) && + gt((~c), 0) && + gt((~a) - (~b)*(~c)⨸(~d), 0) ? +-1⨸(sqrt((~c))*rt(-(~d)⨸(~c), 2)*sqrt((~a) - (~b)*(~c)⨸(~d)))* elliptic_f(acos(rt(-(~d)⨸(~c), 2)*(~x)), (~b)*(~c)⨸((~b)*(~c) - (~a)*(~d))) : nothing)) + +("1_1_3_3_53", +:(∫(1/(sqrt((~a) + (~!b)*(~x)^2)*sqrt((~c) + (~!d)*(~x)^2)),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !(gt((~c), 0)) ? +sqrt(1 + (~d)⨸(~c)*(~x)^2)⨸sqrt((~c) + (~d)*(~x)^2)* ∫(1⨸(sqrt((~a) + (~b)*(~x)^2)*sqrt(1 + (~d)⨸(~c)*(~x)^2)), (~x)) : nothing)) + +("1_1_3_3_54", +:(∫(sqrt((~a) + (~!b)*(~x)^2)/sqrt((~c) + (~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + pos((~d)⨸(~c)) && + pos((~b)⨸(~a)) ? +(~a)*∫(1⨸(sqrt((~a) + (~b)*(~x)^2)*sqrt((~c) + (~d)*(~x)^2)), (~x)) + (~b)*∫((~x)^2⨸(sqrt((~a) + (~b)*(~x)^2)*sqrt((~c) + (~d)*(~x)^2)), (~x)) : nothing)) + +("1_1_3_3_55", +:(∫(sqrt((~a) + (~!b)*(~x)^2)/sqrt((~c) + (~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + pos((~d)⨸(~c)) && + neg((~b)⨸(~a)) ? +(~b)⨸(~d)*∫(sqrt((~c) + (~d)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^2), (~x)) - ((~b)*(~c) - (~a)*(~d))⨸(~d)* ∫(1⨸(sqrt((~a) + (~b)*(~x)^2)*sqrt((~c) + (~d)*(~x)^2)), (~x)) : nothing)) + +("1_1_3_3_56", +:(∫(sqrt((~a) + (~!b)*(~x)^2)/sqrt((~c) + (~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + neg((~d)⨸(~c)) && + gt((~c), 0) && + gt((~a), 0) ? +sqrt((~a))⨸(sqrt((~c))*rt(-(~d)⨸(~c), 2))* elliptic_e(asin(rt(-(~d)⨸(~c), 2)*(~x)), (~b)*(~c)⨸((~a)*(~d))) : nothing)) + +("1_1_3_3_57", +:(∫(sqrt((~a) + (~!b)*(~x)^2)/sqrt((~c) + (~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + neg((~d)⨸(~c)) && + gt((~c), 0) && + gt((~a) - (~b)*(~c)⨸(~d), 0) ? +-sqrt((~a) - (~b)*(~c)⨸(~d))⨸(sqrt((~c))*rt(-(~d)⨸(~c), 2))* elliptic_e(acos(rt(-(~d)⨸(~c), 2)*(~x)), (~b)*(~c)⨸((~b)*(~c) - (~a)*(~d))) : nothing)) + +("1_1_3_3_58", +:(∫(sqrt((~a) + (~!b)*(~x)^2)/sqrt((~c) + (~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + neg((~d)⨸(~c)) && + gt((~c), 0) && + !(gt((~a), 0)) ? +sqrt((~a) + (~b)*(~x)^2)⨸sqrt(1 + (~b)⨸(~a)*(~x)^2)* ∫(sqrt(1 + (~b)⨸(~a)*(~x)^2)⨸sqrt((~c) + (~d)*(~x)^2), (~x)) : nothing)) + +("1_1_3_3_59", +:(∫(sqrt((~a) + (~!b)*(~x)^2)/sqrt((~c) + (~!d)*(~x)^2),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~x)) && + neg((~d)⨸(~c)) && + !(gt((~c), 0)) ? +sqrt(1 + (~d)⨸(~c)*(~x)^2)⨸sqrt((~c) + (~d)*(~x)^2)* ∫(sqrt((~a) + (~b)*(~x)^2)⨸sqrt(1 + (~d)⨸(~c)*(~x)^2), (~x)) : nothing)) + +("1_1_3_3_60", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~p), 0) ? +∫(ext_expand(((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)), (~x)) : nothing)) + +("1_1_3_3_61", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~n), -1) && + ( + ext_isinteger((~p)) || + gt((~a), 0) + ) && + ( + ext_isinteger((~q)) || + gt((~c), 0) + ) ? +(~a)^(~p)*(~c)^(~q)*(~x)*appell_f1(1⨸(~n), -(~p), -(~q), 1 + 1⨸(~n), -(~b)*(~x)^(~n)⨸(~a), -(~d)*(~x)^(~n)⨸(~c)) : nothing)) + +("1_1_3_3_62", +:(∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~n), -1) && + !( + ext_isinteger((~p)) || + gt((~a), 0) + ) ? +(~a)^intpart((~p))*((~a) + (~b)*(~x)^(~n))^fracpart((~p))⨸(1 + (~b)*(~x)^(~n)⨸(~a))^fracpart((~p))* ∫((1 + (~b)*(~x)^(~n)⨸(~a))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) : nothing)) + +("1_1_3_3_63", +:(∫(((~!a) + (~!b)*(~u)^(~n))^(~!p)*((~!c) + (~!d)*(~u)^(~n))^(~!q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~q), (~x)) && + linear((~u), (~x)) && + !eq((~u), (~x)) ? +1⨸ext_coeff((~u), (~x), 1)* int_and_subst(((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x), (~x), (~u), "1_1_3_3_63") : nothing)) + +# ("1_1_3_3_64", +# @rule ∫((~u)^(~!p)*(~v)^(~!q),(~x)) => +# !contains_var((~p), (~q), (~x)) && +# PseudoBinomialPairQ[(~u), (~v), (~x)] ? +# ∫(NormalizePseudoBinomial[(~u), (~x)]^(~p)* NormalizePseudoBinomial[(~v), (~x)]^(~q), (~x)) : nothing) +# +# ("1_1_3_3_65", +# @rule ∫((~x)^(~!m)*(~u)^(~!p)*(~v)^(~!q),(~x)) => +# !contains_var((~p), (~q), (~x)) && +# ext_isinteger((~p), (~m)⨸(~p)) && +# PseudoBinomialPairQ[(~x)^((~m)⨸(~p))*(~u), (~v), (~x)] ? +# ∫(NormalizePseudoBinomial[(~x)^((~m)⨸(~p))*(~u), (~x)]^(~p)* NormalizePseudoBinomial[(~v), (~x)]^(~q), (~x)) : nothing) + +#(* IntBinomialQ[a,b,c,d,n,p,q,x] returns True iff (a+b*x^n)^p*(c+d*x^n)^q is integrable wrt x in terms of non-Appell functions. *) IntBinomialQ[a_, b_, c_, d_, n_, p_, q_, x_Symbol] := IntegersQ[p, q] || IGtQ[p, 0] || IGtQ[q, 0] || (EqQ[n, 2] || EqQ[n, 4]) && (IntegersQ[p, 4*q] || IntegersQ[4*p, q]) || EqQ[n, 2] && (IntegersQ[2*p, 2*q] || IntegersQ[3*p, q] && EqQ[b*c + 3*a*d, 0] || IntegersQ[p, 3*q] && EqQ[3*b*c + a*d, 0]) || EqQ[n, 3] && (IntegersQ[p + 1/3, q] || IntegersQ[q + 1/3, p]) || EqQ[n, 3] && (IntegersQ[p + 2/3, q] || IntegersQ[q + 2/3, p]) && EqQ[b*c + a*d, 0] +("1_1_3_3_66", +:(∫(((~a) + (~!b)*(~x)^(~!n))^(~!p)*((~c) + (~!d)*(~x)^(~!mn))^(~!q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~x)) && + eq((~mn), -(~n)) && + ext_isinteger((~q)) && + ( + pos((~n)) || + !(ext_isinteger((~p))) + ) ? +∫(((~a) + (~b)*(~x)^(~n))^(~p)*((~d) + (~c)*(~x)^(~n))^(~q)⨸(~x)^((~n)*(~q)), (~x)) : nothing)) + +("1_1_3_3_67", +:(∫(((~a) + (~!b)*(~x)^(~!n))^(~p)*((~c) + (~!d)*(~x)^(~!mn))^(~q),(~x)) ) => :( + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~q), (~x)) && + eq((~mn), -(~n)) && + !(ext_isinteger((~q))) && + !(ext_isinteger((~p))) ? +(~x)^((~n)*fracpart((~q)))*((~c) + (~d)*(~x)^(-(~n)))^fracpart((~q))⨸((~d) + (~c)*(~x)^(~n))^ fracpart((~q))*∫(((~a) + (~b)*(~x)^(~n))^(~p)*((~d) + (~c)*(~x)^(~n))^(~q)⨸(~x)^((~n)*(~q)), (~x)) : nothing)) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.4 (e x)^m (a+b x^n)^p (c+d x^n)^q.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.4 (e x)^m (a+b x^n)^p (c+d x^n)^q.jl new file mode 100644 index 0000000..40e6a24 --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.4 (e x)^m (a+b x^n)^p (c+d x^n)^q.jl @@ -0,0 +1,828 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.1.3.4 (e x)^m (a+b x^n)^p (c+d x^n)^q *) +("1_1_3_4_1", +@rule ∫(((~!e)*(~x))^(~!m)*((~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~!q),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) && + ( + ext_isinteger((~m)) || + gt((~e), 0) + ) && + ext_isinteger(simplify(((~m) + 1)/(~n))) ? +(~e)^(~m)⨸((~n)*(~b)^(simplify(((~m) + 1)⨸(~n)) - 1))* int_and_subst(((~b)*(~x))^((~p) + simplify(((~m) + 1)⨸(~n)) - 1)*((~c) + (~d)*(~x))^(~q), (~x), (~x), (~x)^(~n), "1_1_3_4_1") : nothing) + +("1_1_3_4_2", +@rule ∫(((~!e)*(~x))^(~!m)*((~!b)*(~x)^(~!n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~!q),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) && + ( + ext_isinteger((~m)) || + gt((~e), 0) + ) && + !(ext_isinteger(simplify(((~m) + 1)/(~n)))) ? +(~e)^(~m)*(~b)^intpart((~p))*((~b)*(~x)^(~n))^fracpart((~p))⨸(~x)^((~n)*fracpart((~p)))* ∫((~x)^((~m) + (~n)*(~p))*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) : nothing) + +("1_1_3_4_3", +@rule ∫(((~e)*(~x))^(~m)*((~!b)*(~x)^(~!n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~!q),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) && + !(ext_isinteger((~m))) ? +(~e)^intpart((~m))*((~e)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) : nothing) + +("1_1_3_4_4", +@rule ∫((~x)/(((~a) + (~!b)*(~x)^2)^(1//4)*((~c) + (~!d)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) - 2*(~a)*(~d), 0) && + pos((~a)) ? +-1⨸(sqrt(2)*rt((~a), 4)*(~d))* atan((rt((~a), 4)^2 - sqrt((~a) + (~b)*(~x)^2))⨸(sqrt(2)* rt((~a), 4)*((~a) + (~b)*(~x)^2)^(1⨸4))) - 1⨸(sqrt(2)*rt((~a), 4)*(~d))* atanh((rt((~a), 4)^2 + sqrt((~a) + (~b)*(~x)^2))⨸(sqrt(2)* rt((~a), 4)*((~a) + (~b)*(~x)^2)^(1⨸4))) : nothing) + +("1_1_3_4_5", +@rule ∫((~x)^(~m)/(((~a) + (~!b)*(~x)^2)^(1//4)*((~c) + (~!d)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) - 2*(~a)*(~d), 0) && + ext_isinteger((~m)) && + ( + pos((~a)) || + ext_isinteger((~m)/2) + ) ? +∫(ext_expand((~x)^(~m)⨸(((~a) + (~b)*(~x)^2)^(1⨸4)*((~c) + (~d)*(~x)^2)), (~x)), (~x)) : nothing) + +("1_1_3_4_6", +@rule ∫((~x)^2/(((~a) + (~!b)*(~x)^2)^(3//4)*((~c) + (~!d)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) - 2*(~a)*(~d), 0) && + pos((~b)^2/(~a)) ? +-(~b)⨸((~a)*(~d)*rt((~b)^2⨸(~a), 4)^3)* atan(((~b) + rt((~b)^2⨸(~a), 4)^2*sqrt((~a) + (~b)*(~x)^2))⨸(rt((~b)^2⨸(~a), 4)^3* (~x)*((~a) + (~b)*(~x)^2)^(1⨸4))) + (~b)⨸((~a)*(~d)*rt((~b)^2⨸(~a), 4)^3)* atanh(((~b) - rt((~b)^2⨸(~a), 4)^2*sqrt((~a) + (~b)*(~x)^2))⨸(rt((~b)^2⨸(~a), 4)^3* (~x)*((~a) + (~b)*(~x)^2)^(1⨸4))) : nothing) + +("1_1_3_4_7", +@rule ∫((~x)^2/(((~a) + (~!b)*(~x)^2)^(3//4)*((~c) + (~!d)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) - 2*(~a)*(~d), 0) && + neg((~b)^2/(~a)) ? +-(~b)⨸(sqrt(2)*(~a)*(~d)*rt(-(~b)^2⨸(~a), 4)^3)* atan((rt(-(~b)^2⨸(~a), 4)*(~x))⨸(sqrt(2)*((~a) + (~b)*(~x)^2)^(1⨸4))) + (~b)⨸(sqrt(2)*(~a)*(~d)*rt(-(~b)^2⨸(~a), 4)^3)* atanh((rt(-(~b)^2⨸(~a), 4)*(~x))⨸(sqrt(2)*((~a) + (~b)*(~x)^2)^(1⨸4))) : nothing) + +("1_1_3_4_8", +@rule ∫((~x)^(~m)/(((~a) + (~!b)*(~x)^2)^(3//4)*((~c) + (~!d)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) - 2*(~a)*(~d), 0) && + ext_isinteger((~m)) && + ( + pos((~a)) || + ext_isinteger((~m)/2) + ) ? +∫(ext_expand((~x)^(~m)⨸(((~a) + (~b)*(~x)^2)^(3⨸4)*((~c) + (~d)*(~x)^2)), (~x)), (~x)) : nothing) + +("1_1_3_4_9", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~m) - (~n) + 1, 0) ? +1⨸(~n)*int_and_subst(((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q), (~x), (~x), (~x)^(~n), "1_1_3_4_9") : nothing) + +("1_1_3_4_10", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger((~p), (~q)) && + neg((~n)) ? +∫((~x)^((~m) + (~n)*((~p) + (~q)))*((~b) + (~a)*(~x)^(-(~n)))^(~p)*((~d) + (~c)*(~x)^(-(~n)))^(~q), (~x)) : nothing) + +("1_1_3_4_11", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger(simplify(((~m) + 1)/(~n))) ? +1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q), (~x), (~x), (~x)^(~n), "1_1_3_4_11") : nothing) + +("1_1_3_4_12", +@rule ∫(((~e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger(simplify(((~m) + 1)/(~n))) ? +(~e)^intpart((~m))*((~e)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) : nothing) + +("1_1_3_4_13", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~p), 0) && + igt((~q), 0) ? +∫(ext_expand(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)), (~x)) : nothing) + +("1_1_3_4_14", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)*(~d)*((~m) + 1) - (~b)*(~c)*((~m) + (~n)*((~p) + 1) + 1), 0) && + !eq((~m), -1) ? +(~c)*((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~e)*((~m) + 1)) : nothing) + +("1_1_3_4_15", +@rule ∫(((~!e)*(~x))^(~!m)*((~a1) + (~!b1)*(~x)^(~!N2))^(~!p)*((~a2) + (~!b2)*(~x)^(~!N2))^ (~!p)*((~c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + eq((~N2), (~n)/2) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + eq((~a1)*(~a2)*(~d)*((~m) + 1) - (~b1)*(~b2)*(~c)*((~m) + (~n)*((~p) + 1) + 1), 0) && + !eq((~m), -1) ? +(~c)*((~e)*(~x))^((~m) + 1)*((~a1) + (~b1)*(~x)^((~n)⨸2))^((~p) + 1)*((~a2) + (~b2)*(~x)^((~n)⨸2))^((~p) + 1)⨸((~a1)*(~a2)*(~e)*((~m) + 1)) : nothing) + +("1_1_3_4_16", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~m) + (~n)*((~p) + 1) + 1, 0) && + ( + ext_isinteger((~n)) || + gt((~e), 0) + ) && + ( + gt((~n), 0) && + lt((~m), -1) || + lt((~n), 0) && + gt((~m) + (~n), -1) + ) ? +(~c)*((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~e)*((~m) + 1)) + (~d)⨸(~e)^(~n)*∫(((~e)*(~x))^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +("1_1_3_4_17", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~m) + (~n)*((~p) + 1) + 1, 0) && + !eq((~m), -1) ? +((~b)*(~c) - (~a)*(~d))*((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~b)*(~e)*((~m) + 1)) + (~d)⨸(~b)*∫(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing) + +("1_1_3_4_18", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ( + ext_isinteger((~n)) || + gt((~e), 0) + ) && + ( + gt((~n), 0) && + lt((~m), -1) || + lt((~n), 0) && + gt((~m) + (~n), -1) + ) && + !(ilt((~p), -1)) ? +(~c)*((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~e)*((~m) + 1)) + ((~a)*(~d)*((~m) + 1) - (~b)*(~c)*((~m) + (~n)*((~p) + 1) + 1))⨸((~a)*(~e)^(~n)*((~m) + 1))* ∫(((~e)*(~x))^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +("1_1_3_4_19", +@rule ∫(((~!e)*(~x))^(~!m)*((~a1) + (~!b1)*(~x)^(~!N2))^(~!p)*((~a2) + (~!b2)*(~x)^(~!N2))^ (~!p)*((~c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~d), (~e), (~p), (~x)) && + eq((~N2), (~n)/2) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ( + ext_isinteger((~n)) || + gt((~e), 0) + ) && + ( + gt((~n), 0) && + lt((~m), -1) || + lt((~n), 0) && + gt((~m) + (~n), -1) + ) && + !(ilt((~p), -1)) ? +(~c)*((~e)*(~x))^((~m) + 1)*((~a1) + (~b1)*(~x)^((~n)⨸2))^((~p) + 1)*((~a2) + (~b2)*(~x)^((~n)⨸2))^((~p) + 1)⨸((~a1)*(~a2)*(~e)*((~m) + 1)) + ((~a1)*(~a2)*(~d)*((~m) + 1) - (~b1)*(~b2)*(~c)*((~m) + (~n)*((~p) + 1) + 1))⨸((~a1)*(~a2)* (~e)^(~n)*((~m) + 1))* ∫(((~e)*(~x))^((~m) + (~n))*((~a1) + (~b1)*(~x)^((~n)⨸2))^(~p)*((~a2) + (~b2)*(~x)^((~n)⨸2))^(~p), (~x)) : nothing) + +("1_1_3_4_20", +@rule ∫((~x)^(~m)*((~a) + (~!b)*(~x)^2)^(~p)*((~c) + (~!d)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + lt((~p), -1) && + igt((~m)/2, 0) && + ( + ext_isinteger((~p)) || + eq((~m) + 2*(~p) + 1, 0) + ) ? +(-(~a))^((~m)⨸2 - 1)*((~b)*(~c) - (~a)*(~d))* (~x)*((~a) + (~b)*(~x)^2)^((~p) + 1)⨸(2*(~b)^((~m)⨸2 + 1)*((~p) + 1)) + 1⨸(2*(~b)^((~m)⨸2 + 1)*((~p) + 1))*∫(((~a) + (~b)*(~x)^2)^((~p) + 1)* expand_to_sum( 2*(~b)*((~p) + 1)*(~x)^2* together(((~b)^((~m)⨸2)* (~x)^((~m) - 2)*((~c) + (~d)*(~x)^2) - (-(~a))^((~m)⨸2 - 1)*((~b)*(~c) - (~a)*(~d)))⨸((~a) + (~b)*(~x)^2)) - (-(~a))^((~m)⨸2 - 1)*((~b)*(~c) - (~a)*(~d)), (~x)), (~x)) : nothing) + +("1_1_3_4_21", +@rule ∫((~x)^(~m)*((~a) + (~!b)*(~x)^2)^(~p)*((~c) + (~!d)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + lt((~p), -1) && + ilt((~m)/2, 0) && + ( + ext_isinteger((~p)) || + eq((~m) + 2*(~p) + 1, 0) + ) ? +(-(~a))^((~m)⨸2 - 1)*((~b)*(~c) - (~a)*(~d))* (~x)*((~a) + (~b)*(~x)^2)^((~p) + 1)⨸(2*(~b)^((~m)⨸2 + 1)*((~p) + 1)) + 1⨸(2*(~b)^((~m)⨸2 + 1)*((~p) + 1))*∫((~x)^(~m)*((~a) + (~b)*(~x)^2)^((~p) + 1)* expand_to_sum( 2*(~b)*((~p) + 1)* together(((~b)^((~m)⨸2)*((~c) + (~d)*(~x)^2) - (-(~a))^((~m)⨸2 - 1)*((~b)*(~c) - (~a)*(~d))* (~x)^(-(~m) + 2))⨸((~a) + (~b)*(~x)^2)) - (-(~a))^((~m)⨸2 - 1)*((~b)*(~c) - (~a)*(~d))*(~x)^(-(~m)), (~x)), (~x)) : nothing) + +("1_1_3_4_22", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + lt((~p), -1) && + ( + !(ext_isinteger((~p) + 1/2)) && + !eq((~p), -5/4) || + !(isrational((~m))) || + igt((~n), 0) && + ilt((~p) + 1/2, 0) && + le(-1, (~m), -(~n)*((~p) + 1)) + ) ? +-((~b)*(~c) - (~a)*(~d))*((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~b)*(~e)* (~n)*((~p) + 1)) - ((~a)*(~d)*((~m) + 1) - (~b)*(~c)*((~m) + (~n)*((~p) + 1) + 1))⨸((~a)*(~b)*(~n)*((~p) + 1))* ∫(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing) + +("1_1_3_4_23", +@rule ∫(((~!e)*(~x))^(~!m)*((~a1) + (~!b1)*(~x)^(~!N2))^(~!p)*((~a2) + (~!b2)*(~x)^(~!N2))^ (~!p)*((~c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~d), (~e), (~m), (~n), (~x)) && + eq((~N2), (~n)/2) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + lt((~p), -1) && + ( + !(ext_isinteger((~p) + 1/2)) && + !eq((~p), -5/4) || + !(isrational((~m))) || + igt((~n), 0) && + ilt((~p) + 1/2, 0) && + le(-1, (~m), -(~n)*((~p) + 1)) + ) ? +-((~b1)*(~b2)*(~c) - (~a1)*(~a2)*(~d))*((~e)*(~x))^((~m) + 1)*((~a1) + (~b1)*(~x)^((~n)⨸2))^((~p) + 1)*((~a2) + (~b2)*(~x)^((~n)⨸2))^((~p) + 1)⨸((~a1)*(~a2)*(~b1)*(~b2)*(~e)*(~n)*((~p) + 1)) - ((~a1)*(~a2)*(~d)*((~m) + 1) - (~b1)*(~b2)*(~c)*((~m) + (~n)*((~p) + 1) + 1))⨸((~a1)*(~a2)*(~b1)*(~b2)* (~n)*((~p) + 1))* ∫(((~e)*(~x))^(~m)*((~a1) + (~b1)*(~x)^((~n)⨸2))^((~p) + 1)*((~a2) + (~b2)*(~x)^((~n)⨸2))^((~p) + 1), (~x)) : nothing) + +("1_1_3_4_24", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~m) + (~n)*((~p) + 1) + 1, 0) ? +(~d)*((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*(~e)*((~m) + (~n)*((~p) + 1) + 1)) - ((~a)*(~d)*((~m) + 1) - (~b)*(~c)*((~m) + (~n)*((~p) + 1) + 1))⨸((~b)*((~m) + (~n)*((~p) + 1) + 1))* ∫(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +("1_1_3_4_25", +@rule ∫(((~!e)*(~x))^(~!m)*((~a1) + (~!b1)*(~x)^(~!N2))^(~!p)*((~a2) + (~!b2)*(~x)^(~!N2))^ (~!p)*((~c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + eq((~N2), (~n)/2) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + !eq((~m) + (~n)*((~p) + 1) + 1, 0) ? +(~d)*((~e)*(~x))^((~m) + 1)*((~a1) + (~b1)*(~x)^((~n)⨸2))^((~p) + 1)*((~a2) + (~b2)*(~x)^((~n)⨸2))^((~p) + 1)⨸((~b1)*(~b2)*(~e)*((~m) + (~n)*((~p) + 1) + 1)) - ((~a1)*(~a2)*(~d)*((~m) + 1) - (~b1)*(~b2)*(~c)*((~m) + (~n)*((~p) + 1) + 1))⨸((~b1)* (~b2)*((~m) + (~n)*((~p) + 1) + 1))* ∫(((~e)*(~x))^(~m)*((~a1) + (~b1)*(~x)^((~n)⨸2))^(~p)*((~a2) + (~b2)*(~x)^((~n)⨸2))^(~p), (~x)) : nothing) + +("1_1_3_4_26", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)/((~c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + igt((~p), 0) && + ( + ext_isinteger((~m)) || + igt(2*((~m) + 1), 0) || + !(isrational((~m))) + ) ? +∫(ext_expand(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)⨸((~c) + (~d)*(~x)^(~n)), (~x)), (~x)) : nothing) + +("1_1_3_4_27", +@rule ∫(((~!e)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + lt((~m), -1) && + gt((~n), 0) ? +(~c)^2*((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~e)*((~m) + 1)) - 1⨸((~a)*(~e)^(~n)*((~m) + 1))* ∫(((~e)*(~x))^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^(~p)* simp((~b)*(~c)^2*(~n)*((~p) + 1) + (~c)*((~b)*(~c) - 2*(~a)*(~d))*((~m) + 1) - (~a)*((~m) + 1)*(~d)^2*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_28", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + lt((~p), -1) ? +-((~b)*(~c) - (~a)*(~d))^2*((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~b)^2*(~e)* (~n)*((~p) + 1)) + 1⨸((~a)*(~b)^2*(~n)*((~p) + 1))* ∫(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)* simp(((~b)*(~c) - (~a)*(~d))^2*((~m) + 1) + (~b)^2*(~c)^2*(~n)*((~p) + 1) + (~a)*(~b)*(~d)^2*(~n)*((~p) + 1)*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_29", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + !eq((~m) + (~n)*((~p) + 2) + 1, 0) ? +(~d)^2*((~e)*(~x))^((~m) + (~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)* (~e)^((~n) + 1)*((~m) + (~n)*((~p) + 2) + 1)) + 1⨸((~b)*((~m) + (~n)*((~p) + 2) + 1))* ∫(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)* simp((~b)*(~c)^2*((~m) + (~n)*((~p) + 2) + 1) + (~d)*((2*(~b)*(~c) - (~a)*(~d))*((~m) + (~n) + 1) + 2*(~b)*(~c)*(~n)*((~p) + 1))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_30", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + ext_isinteger((~m)) && + gcd((~m) + 1, (~n)) != 1 ? +1⨸gcd((~m) + 1, (~n))* int_and_subst((~x)^(((~m) + 1)⨸gcd((~m) + 1, (~n)) - 1)*((~a) + (~b)*(~x)^((~n)⨸gcd((~m) + 1, (~n))))^(~p)*((~c) + (~d)*(~x)^((~n)⨸gcd((~m) + 1, (~n))))^(~q), (~x), (~x), (~x)^gcd((~m) + 1, (~n)), "1_1_3_4_30") : nothing) + +("1_1_3_4_31", +@rule ∫(((~!e)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + isfraction((~m)) && + ext_isinteger((~p)) ? +ext_den((~m))⨸(~e)* int_and_subst( (~x)^(ext_den((~m))*((~m) + 1) - 1)*((~a) + (~b)*(~x)^(ext_den((~m))*(~n))⨸(~e)^(~n))^(~p)*((~c) + (~d)*(~x)^(ext_den((~m))*(~n))⨸(~e)^(~n))^(~q), (~x), (~x), ((~e)*(~x))^(1⨸ext_den((~m))), "1_1_3_4_31") : nothing) + +("1_1_3_4_32", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + lt((~p), -1) && + gt((~q), 0) && + gt((~m) - (~n) + 1, 0) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +(~e)^((~n) - 1)*((~e)*(~x))^((~m) - (~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^ (~q)⨸((~b)*(~n)*((~p) + 1)) - (~e)^(~n)⨸((~b)*(~n)*((~p) + 1))* ∫(((~e)*(~x))^((~m) - (~n))*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)* simp((~c)*((~m) - (~n) + 1) + (~d)*((~m) + (~n)*((~q) - 1) + 1)*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_33", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + lt((~p), -1) && + gt((~q), 1) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +-((~c)*(~b) - (~a)*(~d))*((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)⨸((~a)*(~b)*(~e)*(~n)*((~p) + 1)) + 1⨸((~a)*(~b)*(~n)*((~p) + 1))* ∫(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 2)* simp((~c)*((~c)*(~b)*(~n)*((~p) + 1) + ((~c)*(~b) - (~a)*(~d))*((~m) + 1)) + (~d)*((~c)*(~b)*(~n)*((~p) + 1) + ((~c)*(~b) - (~a)*(~d))*((~m) + (~n)*((~q) - 1) + 1))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_34", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + lt((~p), -1) && + lt(0, (~q), 1) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +-((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^ (~q)⨸((~a)*(~e)*(~n)*((~p) + 1)) + 1⨸((~a)*(~n)*((~p) + 1))* ∫(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)* simp((~c)*((~m) + (~n)*((~p) + 1) + 1) + (~d)*((~m) + (~n)*((~p) + (~q) + 1) + 1)*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_35", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + lt((~p), -1) && + gt((~m) - (~n) + 1, (~n)) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +-(~a)*(~e)^(2*(~n) - 1)*((~e)*(~x))^((~m) - 2*(~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) + 1)⨸((~b)*(~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1)) + (~e)^(2*(~n))⨸((~b)*(~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1))* ∫(((~e)*(~x))^((~m) - 2*(~n))*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(~q)* simp((~a)*(~c)*((~m) - 2*(~n) + 1) + ((~a)*(~d)*((~m) - (~n) + (~n)*(~q) + 1) + (~b)*(~c)*(~n)*((~p) + 1))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_36", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + lt((~p), -1) && + ge((~n), (~m) - (~n) + 1) && + gt((~m) - (~n) + 1, 0) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +(~e)^((~n) - 1)*((~e)*(~x))^((~m) - (~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) + 1)⨸((~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1)) - (~e)^(~n)⨸((~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1))* ∫(((~e)*(~x))^((~m) - (~n))*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(~q)* simp((~c)*((~m) - (~n) + 1) + (~d)*((~m) + (~n)*((~p) + (~q) + 1) + 1)*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_37", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + lt((~p), -1) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +-(~b)*((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) + 1)⨸((~a)*(~e)* (~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1)) + 1⨸((~a)*(~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1))* ∫(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(~q)* simp((~c)*(~b)*((~m) + 1) + (~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1) + (~d)*(~b)*((~m) + (~n)*((~p) + (~q) + 2) + 1)*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_38", +@rule ∫(((~!e)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + gt((~q), 0) && + lt((~m), -1) && + gt((~p), 0) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)⨸((~e)*((~m) + 1)) - (~n)⨸((~e)^(~n)*((~m) + 1))* ∫(((~e)*(~x))^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^((~p) - 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)* simp((~b)*(~c)*(~p) + (~a)*(~d)*(~q) + (~b)*(~d)*((~p) + (~q))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_39", +@rule ∫(((~!e)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + gt((~q), 1) && + lt((~m), -1) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +(~c)*((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)⨸((~a)* (~e)*((~m) + 1)) - 1⨸((~a)*(~e)^(~n)*((~m) + 1))* ∫(((~e)*(~x))^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^((~q) - 2)* simp((~c)*((~c)*(~b) - (~a)*(~d))*((~m) + 1) + (~c)*(~n)*((~b)*(~c)*((~p) + 1) + (~a)*(~d)*((~q) - 1)) + (~d)*(((~c)*(~b) - (~a)*(~d))*((~m) + 1) + (~c)*(~b)*(~n)*((~p) + (~q)))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_40", +@rule ∫(((~!e)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + lt(0, (~q), 1) && + lt((~m), -1) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(~q)⨸((~a)*(~e)*((~m) + 1)) - 1⨸((~a)*(~e)^(~n)*((~m) + 1))* ∫(((~e)*(~x))^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)* simp((~c)*(~b)*((~m) + 1) + (~n)*((~b)*(~c)*((~p) + 1) + (~a)*(~d)*(~q)) + (~d)*((~b)*((~m) + 1) + (~b)*(~n)*((~p) + (~q) + 1))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_41", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + gt((~q), 0) && + gt((~p), 0) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)⨸((~e)*((~m) + (~n)*((~p) + (~q)) + 1)) + (~n)⨸((~m) + (~n)*((~p) + (~q)) + 1)* ∫(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) - 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)* simp((~a)*(~c)*((~p) + (~q)) + ((~q)*((~b)*(~c) - (~a)*(~d)) + (~a)*(~d)*((~p) + (~q)))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_42", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + gt((~q), 1) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +(~d)*((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)⨸((~b)* (~e)*((~m) + (~n)*((~p) + (~q)) + 1)) + 1⨸((~b)*((~m) + (~n)*((~p) + (~q)) + 1))* ∫(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^((~q) - 2)* simp((~c)*(((~c)*(~b) - (~a)*(~d))*((~m) + 1) + (~c)*(~b)*(~n)*((~p) + (~q))) + ((~d)*((~c)*(~b) - (~a)*(~d))*((~m) + 1) + (~d)*(~n)*((~q) - 1)*((~b)*(~c) - (~a)*(~d)) + (~c)*(~b)*(~d)*(~n)*((~p) + (~q)))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_43", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + gt((~q), 0) && + gt((~m) - (~n) + 1, 0) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +(~e)^((~n) - 1)*((~e)*(~x))^((~m) - (~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^ (~q)⨸((~b)*((~m) + (~n)*((~p) + (~q)) + 1)) - (~e)^(~n)⨸((~b)*((~m) + (~n)*((~p) + (~q)) + 1))* ∫(((~e)*(~x))^((~m) - (~n))*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)* simp((~a)*(~c)*((~m) - (~n) + 1) + ((~a)*(~d)*((~m) - (~n) + 1) - (~n)*(~q)*((~b)*(~c) - (~a)*(~d)))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_44", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + gt((~m) - (~n) + 1, (~n)) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +(~e)^(2*(~n) - 1)*((~e)*(~x))^((~m) - 2*(~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) + 1)⨸((~b)*(~d)*((~m) + (~n)*((~p) + (~q)) + 1)) - (~e)^(2*(~n))⨸((~b)*(~d)*((~m) + (~n)*((~p) + (~q)) + 1))* ∫(((~e)*(~x))^((~m) - 2*(~n))*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)* simp((~a)*(~c)*((~m) - 2*(~n) + 1) + ((~a)*(~d)*((~m) + (~n)*((~q) - 1) + 1) + (~b)*(~c)*((~m) + (~n)*((~p) - 1) + 1))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_45", +@rule ∫(((~!e)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + lt((~m), -1) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) + 1)⨸((~a)*(~c)* (~e)*((~m) + 1)) - 1⨸((~a)*(~c)*(~e)^(~n)*((~m) + 1))* ∫(((~e)*(~x))^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)* simp(((~b)*(~c) + (~a)*(~d))*((~m) + (~n) + 1) + (~n)*((~b)*(~c)*(~p) + (~a)*(~d)*(~q)) + (~b)*(~d)*((~m) + (~n)*((~p) + (~q) + 2) + 1)*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_46", +@rule ∫(((~!e)*(~x))^(~!m)/(((~a) + (~!b)*(~x)^(~n))*((~c) + (~!d)*(~x)^(~n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + le((~n), (~m), 2*(~n) - 1) ? +-(~a)*(~e)^(~n)⨸((~b)*(~c) - (~a)*(~d))*∫(((~e)*(~x))^((~m) - (~n))⨸((~a) + (~b)*(~x)^(~n)), (~x)) + (~c)*(~e)^(~n)⨸((~b)*(~c) - (~a)*(~d))*∫(((~e)*(~x))^((~m) - (~n))⨸((~c) + (~d)*(~x)^(~n)), (~x)) : nothing) + +("1_1_3_4_47", +@rule ∫(((~!e)*(~x))^(~!m)/(((~a) + (~!b)*(~x)^(~n))*((~c) + (~!d)*(~x)^(~n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) ? +(~b)⨸((~b)*(~c) - (~a)*(~d))*∫(((~e)*(~x))^(~m)⨸((~a) + (~b)*(~x)^(~n)), (~x)) - (~d)⨸((~b)*(~c) - (~a)*(~d))*∫(((~e)*(~x))^(~m)⨸((~c) + (~d)*(~x)^(~n)), (~x)) : nothing) + +("1_1_3_4_48", +@rule ∫(((~!e)*(~x))^(~m)*((~c) + (~!d)*(~x)^(~n))^(~!q)/((~a) + (~!b)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + le((~n), (~m), 2*(~n) - 1) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), -1, (~q), (~x)) ? +(~e)^(~n)⨸(~b)*∫(((~e)*(~x))^((~m) - (~n))*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) - (~a)*(~e)^(~n)⨸(~b)*∫(((~e)*(~x))^((~m) - (~n))*((~c) + (~d)*(~x)^(~n))^(~q)⨸((~a) + (~b)*(~x)^(~n)), (~x)) : nothing) + +("1_1_3_4_49", +@rule ∫((~x)*((~a) + (~!b)*(~x)^(~n))^(~p)/((~c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + gt((~p), 0) && + int_binomial((~a), (~b), (~c), (~d), 1, 1, (~n), (~p), -1, (~x)) ? +(~b)⨸(~d)*∫((~x)*((~a) + (~b)*(~x)^(~n))^((~p) - 1), (~x)) - ((~b)*(~c) - (~a)*(~d))⨸(~d)* ∫((~x)*((~a) + (~b)*(~x)^(~n))^((~p) - 1)⨸((~c) + (~d)*(~x)^(~n)), (~x)) : nothing) + +("1_1_3_4_50", +@rule ∫((~x)*((~a) + (~!b)*(~x)^(~n))^(~p)/((~c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~n), 0) && + lt((~p), -1) && + int_binomial((~a), (~b), (~c), (~d), 1, 1, (~n), (~p), -1, (~x)) ? +(~b)⨸((~b)*(~c) - (~a)*(~d))*∫((~x)*((~a) + (~b)*(~x)^(~n))^((~p) - 1), (~x)) - (~d)⨸((~b)*(~c) - (~a)*(~d))*∫((~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~c) + (~d)*(~x)^(~n)), (~x)) : nothing) + +("1_1_3_4_51", +@rule ∫((~x)/(((~a) + (~!b)*(~x)^3)*sqrt((~c) + (~!d)*(~x)^3)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq(4*(~b)*(~c) - (~a)*(~d), 0) && + pos((~c)) ? +rt((~d)⨸(~c), 3)*atanh(sqrt((~c) + (~d)*(~x)^3)⨸rt((~c), 2))⨸(9*2^(2⨸3)*(~b)*rt((~c), 2)) + rt((~d)⨸(~c), 3)*atan( sqrt((~c) + (~d)*(~x)^3)⨸(sqrt(3)*rt((~c), 2)))⨸(3*2^(2⨸3)*sqrt(3)*(~b)* rt((~c), 2)) - rt((~d)⨸(~c), 3)*atan( sqrt(3)*rt((~c), 2)*(1 + 2^(1⨸3)*rt((~d)⨸(~c), 3)*(~x))⨸sqrt((~c) + (~d)*(~x)^3))⨸(3*2^(2⨸3)* sqrt(3)*(~b)*rt((~c), 2)) - rt((~d)⨸(~c), 3)*atanh( rt((~c), 2)*(1 - 2^(1⨸3)*rt((~d)⨸(~c), 3)*(~x))⨸sqrt((~c) + (~d)*(~x)^3))⨸(3*2^(2⨸3)*(~b)* rt((~c), 2)) : nothing) + +("1_1_3_4_52", +@rule ∫((~x)/(((~a) + (~!b)*(~x)^3)*sqrt((~c) + (~!d)*(~x)^3)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq(4*(~b)*(~c) - (~a)*(~d), 0) && + neg((~c)) ? +-rt((~d)⨸(~c), 3)*atan(sqrt((~c) + (~d)*(~x)^3)⨸rt(-(~c), 2))⨸(9*2^(2⨸3)*(~b)*rt(-(~c), 2)) - rt((~d)⨸(~c), 3)*atanh( sqrt((~c) + (~d)*(~x)^3)⨸(sqrt(3)*rt(-(~c), 2)))⨸(3*2^(2⨸3)*sqrt(3)*(~b)* rt(-(~c), 2)) - rt((~d)⨸(~c), 3)*atanh( sqrt(3)*rt(-(~c), 2)*(1 + 2^(1⨸3)*rt((~d)⨸(~c), 3)*(~x))⨸ sqrt((~c) + (~d)*(~x)^3))⨸(3*2^(2⨸3)*sqrt(3)*(~b)*rt(-(~c), 2)) - rt((~d)⨸(~c), 3)*atan( rt(-(~c), 2)*(1 - 2^(1⨸3)*rt((~d)⨸(~c), 3)*(~x))⨸sqrt((~c) + (~d)*(~x)^3))⨸(3*2^(2⨸3)*(~b)* rt(-(~c), 2)) : nothing) + +("1_1_3_4_53", +@rule ∫((~x)/(((~a) + (~!b)*(~x)^3)*sqrt((~c) + (~!d)*(~x)^3)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq(8*(~b)*(~c) + (~a)*(~d), 0) ? +(~d)*rt((~d)⨸(~c), 3)⨸(4*(~b))*∫((~x)^2⨸((8*(~c) - (~d)*(~x)^3)*sqrt((~c) + (~d)*(~x)^3)), (~x)) - rt((~d)⨸(~c), 3)^2⨸(12*(~b))*∫((1 + rt((~d)⨸(~c), 3)*(~x))⨸((2 - rt((~d)⨸(~c), 3)*(~x))*sqrt((~c) + (~d)*(~x)^3)), (~x)) + 1⨸(12*(~b)*(~c))* ∫((2*(~c)*rt((~d)⨸(~c), 3)^2 - 2*(~d)*(~x) - (~d)*rt((~d)⨸(~c), 3)*(~x)^2)⨸((4 + 2*rt((~d)⨸(~c), 3)*(~x) + rt((~d)⨸(~c), 3)^2*(~x)^2)* sqrt((~c) + (~d)*(~x)^3)), (~x)) : nothing) + +("1_1_3_4_54", +@rule ∫((~x)/(((~c) + (~!d)*(~x)^3)*sqrt((~a) + (~!b)*(~x)^3)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~b)^2*(~c)^2 - 20*(~a)*(~b)*(~c)*(~d) - 8*(~a)^2*(~d)^2, 0) && + pos((~a)) ? +-rt((~b)⨸(~a), 3)*(2 - simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))* atan((1 - simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))*sqrt((~a) + (~b)*(~x)^3)⨸(sqrt(2)*rt((~a), 2)*simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d)))^(3⨸2)))⨸(3* sqrt(2)*rt((~a), 2)*(~d)*simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d)))^(3⨸2)) - rt((~b)⨸(~a), 3)*(2 - simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))* atan(rt((~a), 2)* sqrt(simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))*(1 + simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))*(1 + rt((~b)⨸(~a), 3)*(~x))⨸(sqrt(2)*sqrt((~a) + (~b)*(~x)^3)))⨸(2* sqrt(2)*rt((~a), 2)*(~d)*simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d)))^(3⨸2)) - rt((~b)⨸(~a), 3)*(2 - simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))* atanh(rt((~a), 2)*(1 - simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))* sqrt(simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))*(1 + rt((~b)⨸(~a), 3)*(~x))⨸(sqrt(2)*sqrt((~a) + (~b)*(~x)^3)))⨸(6*sqrt(2)* rt((~a), 2)*(~d)*sqrt(simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))) - rt((~b)⨸(~a), 3)*(2 - simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))* atanh(rt((~a), 2)* sqrt(simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))*(1 + simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))) - 2*rt((~b)⨸(~a), 3)*(~x))⨸(sqrt(2)*sqrt((~a) + (~b)*(~x)^3)))⨸(3*sqrt(2)* rt((~a), 2)*(~d)*sqrt(simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))) : nothing) + +("1_1_3_4_55", +@rule ∫((~x)/(((~c) + (~!d)*(~x)^3)*sqrt((~a) + (~!b)*(~x)^3)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~b)^2*(~c)^2 - 20*(~a)*(~b)*(~c)*(~d) - 8*(~a)^2*(~d)^2, 0) && + neg((~a)) ? +rt((~b)⨸(~a), 3)*(2 - simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))* atanh((1 - simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))*sqrt((~a) + (~b)*(~x)^3)⨸(sqrt(2)*rt(-(~a), 2)*simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d)))^(3⨸2)))⨸(3* sqrt(2)*rt(-(~a), 2)*(~d)*simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d)))^(3⨸2)) - rt((~b)⨸(~a), 3)*(2 - simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))* atanh(rt(-(~a), 2)* sqrt(simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))*(1 + simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))*(1 + rt((~b)⨸(~a), 3)*(~x))⨸(sqrt(2)*sqrt((~a) + (~b)*(~x)^3)))⨸(2* sqrt(2)*rt(-(~a), 2)*(~d)*simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d)))^(3⨸2)) - rt((~b)⨸(~a), 3)*(2 - simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))* atan(rt(-(~a), 2)*(1 - simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))* sqrt(simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))*(1 + rt((~b)⨸(~a), 3)*(~x))⨸(sqrt(2)*sqrt((~a) + (~b)*(~x)^3)))⨸(6*sqrt(2)* rt(-(~a), 2)*(~d)*sqrt(simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))) - rt((~b)⨸(~a), 3)*(2 - simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))* atan(rt(-(~a), 2)* sqrt(simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))*(1 + simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))) - 2*rt((~b)⨸(~a), 3)*(~x))⨸(sqrt(2)*sqrt((~a) + (~b)*(~x)^3)))⨸(3*sqrt(2)* rt(-(~a), 2)*(~d)*sqrt(simplify(((~b)*(~c) - 10*(~a)*(~d))⨸(6*(~a)*(~d))))) : nothing) + +("1_1_3_4_56", +@rule ∫((~x)/(((~a) + (~!b)*(~x)^3)^(1//3)*((~c) + (~!d)*(~x)^3)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~b)*(~c) + (~a)*(~d), 0) ? +-rt((~b)⨸(~a), 3)^2⨸(3*(~d))*∫(1⨸((1 - rt((~b)⨸(~a), 3)*(~x))*((~a) + (~b)*(~x)^3)^(1⨸3)), (~x)) + rt((~b)⨸(~a), 3)⨸(~d)* int_and_subst(1⨸(1 + 2*(~a)*(~x)^3), (~x), (~x), (1 + rt((~b)⨸(~a), 3)*(~x))⨸((~a) + (~b)*(~x)^3)^(1⨸3), "1_1_3_4_56") : nothing) + +("1_1_3_4_57", +@rule ∫((~x)/(((~a) + (~!b)*(~x)^3)^(2//3)*((~c) + (~!d)*(~x)^3)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +-atan((1 + (2*rt(((~b)*(~c) - (~a)*(~d))⨸(~c), 3)*(~x))⨸((~a) + (~b)*(~x)^3)^(1⨸3))⨸sqrt(3))⨸(sqrt(3)*(~c)* rt(((~b)*(~c) - (~a)*(~d))⨸(~c), 3)^2) + log((~c) + (~d)*(~x)^3)⨸(6*(~c)*rt(((~b)*(~c) - (~a)*(~d))⨸(~c), 3)^2) - log(rt(((~b)*(~c) - (~a)*(~d))⨸(~c), 3)*(~x) - ((~a) + (~b)*(~x)^3)^(1⨸3))⨸(2*(~c)*rt(((~b)*(~c) - (~a)*(~d))⨸(~c), 3)^2) : nothing) + +("1_1_3_4_58", +@rule ∫((~x)^2/(((~a) + (~!b)*(~x)^4)*sqrt((~c) + (~!d)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +ext_den(rt(-(~a)⨸(~b), 2))⨸(2*(~b))*∫(1⨸((ext_num(rt(-(~a)⨸(~b), 2)) + ext_den(rt(-(~a)⨸(~b), 2))*(~x)^2)*sqrt((~c) + (~d)*(~x)^4)), (~x)) - ext_den(rt(-(~a)⨸(~b), 2))⨸(2*(~b))*∫(1⨸((ext_num(rt(-(~a)⨸(~b), 2)) - ext_den(rt(-(~a)⨸(~b), 2))*(~x)^2)*sqrt((~c) + (~d)*(~x)^4)), (~x)) : nothing) + +("1_1_3_4_59", +@rule ∫((~x)^2*sqrt((~c) + (~!d)*(~x)^4)/((~a) + (~!b)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +(~d)⨸(~b)*∫((~x)^2⨸sqrt((~c) + (~d)*(~x)^4), (~x)) + ((~b)*(~c) - (~a)*(~d))⨸(~b)* ∫((~x)^2⨸(((~a) + (~b)*(~x)^4)*sqrt((~c) + (~d)*(~x)^4)), (~x)) : nothing) + +("1_1_3_4_60", +@rule ∫((~x)^2/(sqrt((~a) + (~!b)*(~x)^2)*sqrt((~c) + (~!d)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + pos((~b)/(~a)) && + pos((~d)/(~c)) && + !(simpler(rt((~b)/(~a),2),rt( (~d)/(~c),2))) ? +(~x)*sqrt((~a) + (~b)*(~x)^2)⨸((~b)*sqrt((~c) + (~d)*(~x)^2)) - (~c)⨸(~b)*∫(sqrt((~a) + (~b)*(~x)^2)⨸((~c) + (~d)*(~x)^2)^(3⨸2), (~x)) : nothing) + +("1_1_3_4_61", +@rule ∫((~x)^(~n)/(sqrt((~a) + (~!b)*(~x)^(~n))*sqrt((~c) + (~!d)*(~x)^(~n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ( + eq((~n), 2) || + eq((~n), 4) + ) && + !( + eq((~n), 2) && + simpler(rt(-(~b)/(~a),2),rt( -(~d)/(~c),2)) + ) ? +1⨸(~b)*∫(sqrt((~a) + (~b)*(~x)^(~n))⨸sqrt((~c) + (~d)*(~x)^(~n)), (~x)) - (~a)⨸(~b)*∫(1⨸(sqrt((~a) + (~b)*(~x)^(~n))*sqrt((~c) + (~d)*(~x)^(~n))), (~x)) : nothing) + +("1_1_3_4_62", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + igt((~n), 0) && + isrational((~m), (~p)) && + ext_isinteger((~p) + ((~m) + 1)/(~n), (~q)) && + lt(-1, (~p), 0) ? +ext_den((~p))*(~a)^((~p) + ((~m) + 1)⨸(~n))⨸(~n)* int_and_subst((~x)^(ext_den((~p))*((~m) + 1)⨸(~n) - 1)*((~c) - ((~b)*(~c) - (~a)*(~d))*(~x)^ext_den((~p)))^ (~q)⨸(1 - (~b)*(~x)^ext_den((~p)))^((~p) + (~q) + ((~m) + 1)⨸(~n) + 1), (~x), (~x), (~x)^((~n)⨸ext_den((~p)))⨸((~a) + (~b)*(~x)^(~n))^(1⨸ext_den((~p))), "1_1_3_4_62") : nothing) + +("1_1_3_4_63", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ilt((~n), 0) && + ext_isinteger((~m)) ? +-int_and_subst(((~a) + (~b)*(~x)^(-(~n)))^(~p)*((~c) + (~d)*(~x)^(-(~n)))^(~q)⨸(~x)^((~m) + 2), (~x), (~x), 1⨸(~x), "1_1_3_4_63") : nothing) + +("1_1_3_4_64", +@rule ∫(((~!e)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~q), (~x)) && + ilt((~n), 0) && + isfraction((~m)) ? +-ext_den((~m))⨸(~e)* int_and_subst(((~a) + (~b)*(~e)^(-(~n))*(~x)^(-ext_den((~m))*(~n)))^(~p)*((~c) + (~d)*(~e)^(-(~n))*(~x)^(-ext_den((~m))*(~n)))^(~q)⨸ (~x)^(ext_den((~m))*((~m) + 1) + 1), (~x), (~x), 1⨸((~e)*(~x))^(1⨸ext_den((~m))), "1_1_3_4_64") : nothing) + +("1_1_3_4_65", +@rule ∫(((~!e)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ilt((~n), 0) && + !(isrational((~m))) ? +-((~e)*(~x))^(~m)*((~x)^(-1))^(~m)* int_and_subst(((~a) + (~b)*(~x)^(-(~n)))^(~p)*((~c) + (~d)*(~x)^(-(~n)))^(~q)⨸(~x)^((~m) + 2), (~x), (~x), 1⨸(~x), "1_1_3_4_65") : nothing) + +("1_1_3_4_66", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n))*((~m) + 1) - 1)*((~a) + (~b)*(~x)^(ext_den((~n))*(~n)))^(~p)*((~c) + (~d)*(~x)^(ext_den((~n))*(~n)))^(~q), (~x), (~x), (~x)^(1⨸ext_den((~n))), "1_1_3_4_66") : nothing) + +("1_1_3_4_67", +@rule ∫(((~e)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + isfraction((~n)) ? +(~e)^intpart((~m))*((~e)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) : nothing) + +#(* Int[x_^m_.*(a_+b_.*x_^n_)^p_*(c_+d_.*x_^n_)^q_,x_Symbol] := -1/(m+1)*Subst[Int[(a+b*x^Simplify[-n/(m+1)])^p*(c+d*x^Simplify[-n/( m+1)])^q/x^2,x],x,x^(-(m+1))] /; FreeQ[{a,b,c,d,m,n},x] && NeQ[b*c-a*d,0] && NeQ[m,-1] && ILtQ[Simplify[n/(m+1)+1],0] && GeQ[p,-1] && LtQ[p,0] && GeQ[q,-1] && LtQ[q,0] && Not[IntegerQ[n]] *) +("1_1_3_4_68", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger(simplify((~n)/((~m) + 1))) && + !(ext_isinteger((~n))) ? +1⨸((~m) + 1)* int_and_subst(((~a) + (~b)*(~x)^simplify((~n)⨸((~m) + 1)))^ (~p)*((~c) + (~d)*(~x)^simplify((~n)⨸((~m) + 1)))^(~q), (~x), (~x), (~x)^((~m) + 1), "1_1_3_4_68") : nothing) + +("1_1_3_4_69", +@rule ∫(((~e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger(simplify((~n)/((~m) + 1))) && + !(ext_isinteger((~n))) ? +(~e)^intpart((~m))*((~e)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) : nothing) + +("1_1_3_4_70", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + lt((~p), -1) && + gt((~q), 1) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +-((~c)*(~b) - (~a)*(~d))*((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)⨸((~a)*(~b)*(~e)*(~n)*((~p) + 1)) + 1⨸((~a)*(~b)*(~n)*((~p) + 1))* ∫(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 2)* simp((~c)*((~c)*(~b)*(~n)*((~p) + 1) + ((~c)*(~b) - (~a)*(~d))*((~m) + 1)) + (~d)*((~c)*(~b)*(~n)*((~p) + 1) + ((~c)*(~b) - (~a)*(~d))*((~m) + (~n)*((~q) - 1) + 1))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_71", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + lt((~p), -1) && + lt(0, (~q), 1) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +-((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^ (~q)⨸((~a)*(~e)*(~n)*((~p) + 1)) + 1⨸((~a)*(~n)*((~p) + 1))* ∫(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)* simp((~c)*((~m) + (~n)*((~p) + 1) + 1) + (~d)*((~m) + (~n)*((~p) + (~q) + 1) + 1)*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_72", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + lt((~p), -1) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +-(~b)*((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) + 1)⨸((~a)*(~e)* (~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1)) + 1⨸((~a)*(~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1))* ∫(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(~q)* simp((~c)*(~b)*((~m) + 1) + (~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1) + (~d)*(~b)*((~m) + (~n)*((~p) + (~q) + 2) + 1)*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_73", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + gt((~q), 0) && + gt((~p), 0) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)⨸((~e)*((~m) + (~n)*((~p) + (~q)) + 1)) + (~n)⨸((~m) + (~n)*((~p) + (~q)) + 1)* ∫(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) - 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)* simp((~a)*(~c)*((~p) + (~q)) + ((~q)*((~b)*(~c) - (~a)*(~d)) + (~a)*(~d)*((~p) + (~q)))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_74", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + gt((~q), 1) && + int_binomial((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +(~d)*((~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)⨸((~b)* (~e)*((~m) + (~n)*((~p) + (~q)) + 1)) + 1⨸((~b)*((~m) + (~n)*((~p) + (~q)) + 1))* ∫(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^((~q) - 2)* simp((~c)*(((~c)*(~b) - (~a)*(~d))*((~m) + 1) + (~c)*(~b)*(~n)*((~p) + (~q))) + ((~d)*((~c)*(~b) - (~a)*(~d))*((~m) + 1) + (~d)*(~n)*((~q) - 1)*((~b)*(~c) - (~a)*(~d)) + (~c)*(~b)*(~d)*(~n)*((~p) + (~q)))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_4_75", +@rule ∫((~x)^(~m)/(((~a) + (~!b)*(~x)^(~n))*((~c) + (~!d)*(~x)^(~n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ( + eq((~m), (~n)) || + eq((~m), 2*(~n) - 1) + ) ? +-(~a)⨸((~b)*(~c) - (~a)*(~d))*∫((~x)^((~m) - (~n))⨸((~a) + (~b)*(~x)^(~n)), (~x)) + (~c)⨸((~b)*(~c) - (~a)*(~d))*∫((~x)^((~m) - (~n))⨸((~c) + (~d)*(~x)^(~n)), (~x)) : nothing) + +("1_1_3_4_76", +@rule ∫(((~!e)*(~x))^(~!m)/(((~a) + (~!b)*(~x)^(~n))*((~c) + (~!d)*(~x)^(~n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +(~b)⨸((~b)*(~c) - (~a)*(~d))*∫(((~e)*(~x))^(~m)⨸((~a) + (~b)*(~x)^(~n)), (~x)) - (~d)⨸((~b)*(~c) - (~a)*(~d))*∫(((~e)*(~x))^(~m)⨸((~c) + (~d)*(~x)^(~n)), (~x)) : nothing) + +("1_1_3_4_77", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~p), -2) && + ( + igt((~q), -2) || + eq((~q), -3) && + ext_isinteger(((~m) - 1)/2) + ) ? +∫(ext_expand(((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)), (~x)) : nothing) + +("1_1_3_4_78", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~m), -1) && + !eq((~m), (~n) - 1) && + ( + ext_isinteger((~p)) || + gt((~a), 0) + ) && + ( + ext_isinteger((~q)) || + gt((~c), 0) + ) ? +(~a)^(~p)*(~c)^(~q)*((~e)*(~x))^((~m) + 1)⨸((~e)*((~m) + 1))* appell_f1(((~m) + 1)⨸(~n), -(~p), -(~q), 1 + ((~m) + 1)⨸(~n), -(~b)*(~x)^(~n)⨸(~a), -(~d)*(~x)^(~n)⨸(~c)) : nothing) + +("1_1_3_4_79", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~m), -1) && + !eq((~m), (~n) - 1) && + !( + ext_isinteger((~p)) || + gt((~a), 0) + ) ? +(~a)^intpart((~p))*((~a) + (~b)*(~x)^(~n))^fracpart((~p))⨸(1 + (~b)*(~x)^(~n)⨸(~a))^fracpart((~p))* ∫(((~e)*(~x))^(~m)*(1 + (~b)*(~x)^(~n)⨸(~a))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) : nothing) + +("1_1_3_4_80", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*(~v)^(~n))^(~!p)*((~!c) + (~!d)*(~v)^(~n))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~q), (~x)) && + linear((~v), (~x)) && + ext_isinteger((~m)) && + !eq((~v), (~x)) ? +1⨸ext_coeff((~v), (~x), 1)^((~m) + 1)* int_and_subst( ext_simplify(((~x) - ext_coeff((~v), (~x), 0))^(~m)*((~a) + (~b)*(~x)^(~n))^ (~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)), (~x), (~x), (~v), "1_1_3_4_80") : nothing) + +("1_1_3_4_81", +@rule ∫((~u)^(~!m)*((~!a) + (~!b)*(~v)^(~n))^(~!p)*((~!c) + (~!d)*(~v)^(~n))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~q), (~x)) && + linear_pair((~u), (~v), (~x)) ? +(~u)^(~m)⨸(ext_coeff((~v), (~x), 1)*(~v)^(~m))* int_and_subst((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x), (~x), (~v), "1_1_3_4_81") : nothing) + +("1_1_3_4_82", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~!n))^(~!p)*((~c) + (~!d)*(~x)^(~!mn))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~x)) && + eq((~mn), -(~n)) && + ext_isinteger((~q)) && + ( + pos((~n)) || + !(ext_isinteger((~p))) + ) ? +∫((~x)^((~m) - (~n)*(~q))*((~a) + (~b)*(~x)^(~n))^(~p)*((~d) + (~c)*(~x)^(~n))^(~q), (~x)) : nothing) + +("1_1_3_4_83", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~!n))^(~!p)*((~c) + (~!d)*(~x)^(~!mn))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~q), (~x)) && + eq((~mn), -(~n)) && + !(ext_isinteger((~q))) && + !(ext_isinteger((~p))) ? +(~x)^((~n)*fracpart((~q)))*((~c) + (~d)*(~x)^(-(~n)))^fracpart((~q))⨸((~d) + (~c)*(~x)^(~n))^ fracpart((~q))*∫((~x)^((~m) - (~n)*(~q))*((~a) + (~b)*(~x)^(~n))^(~p)*((~d) + (~c)*(~x)^(~n))^(~q), (~x)) : nothing) + +("1_1_3_4_84", +@rule ∫(((~e)*(~x))^(~m)*((~!a) + (~!b)*(~x)^(~!n))^(~!p)*((~c) + (~!d)*(~x)^(~!mn))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) && + eq((~mn), -(~n)) ? +(~e)^intpart((~m))*((~e)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(-(~n)))^(~q), (~x)) : nothing) + +#(* IntBinomialQ[a,b,c,d,e,m,n,p,q,x] returns True iff (e*x)^m*(a+b*x^n)^p*(c+d*x^n)^q is integrable wrt x in terms of non-Appell functions. *) IntBinomialQ[a_, b_, c_, d_, e_, m_, n_, p_, q_, x_Symbol] := IntegersQ[p, q] || IGtQ[p, 0] || IGtQ[q, 0] || EqQ[n, 2] && (IntegersQ[m, 2*p, 2*q] || IntegersQ[2*m, p, 2*q] || IntegersQ[2*m, 2*p, q]) || EqQ[n, 4] && (IntegersQ[m, p, 2*q] || IntegersQ[m, 2*p, q]) || EqQ[n, 2] && IntegersQ[m/2, p + 1/3, q] && (EqQ[b*c + 3*a*d, 0] || EqQ[b*c - 9*a*d, 0]) || EqQ[n, 2] && IntegersQ[m/2, q + 1/3, p] && (EqQ[a*d + 3*b*c, 0] || EqQ[a*d - 9*b*c, 0]) || EqQ[n, 3] && IntegersQ[(m - 1)/3, q, p - 1/2] && (EqQ[b*c - 4*a*d, 0] || EqQ[b*c + 8*a*d, 0] || EqQ[b^2*c^2 - 20*a*b*c*d - 8*a^2*d^2, 0]) || EqQ[n, 3] && IntegersQ[(m - 1)/3, p, q - 1/2] && (EqQ[4*b*c - a*d, 0] || EqQ[8*b*c + a*d, 0] || EqQ[8*b^2*c^2 + 20*a*b*c*d - a^2*d^2, 0]) || EqQ[n, 3] && (IntegersQ[m, q, 3*p] || IntegersQ[m, p, 3*q]) && EqQ[b*c + a*d, 0] || EqQ[n, 3] && (IntegersQ[(m + 2)/3, p + 2/3, q] || IntegersQ[(m + 2)/3, q + 2/3, p]) || EqQ[n, 3] && (IntegersQ[m/3, p + 1/3, q] || IntegersQ[m/3, q + 1/3, p]) +("1_1_3_4_85", +@rule ∫((~!u)*((~a1) + (~!b1)*(~x)^(~!N2))^(~!p)*((~a2) + (~!b2)*(~x)^(~!N2))^ (~!p)*((~c) + (~!d)*(~x)^(~!n))^(~!q),(~x)) => + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~d), (~n), (~p), (~q), (~x)) && + eq((~N2), (~n)/2) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ( + ext_isinteger((~p)) || + gt((~a1), 0) && + gt((~a2), 0) + ) ? +∫((~u)*((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) : nothing) + +("1_1_3_4_86", +@rule ∫((~!u)*((~a1) + (~!b1)*(~x)^(~!N2))^(~!p)*((~a2) + (~!b2)*(~x)^(~!N2))^ (~!p)*((~c) + (~!d)*(~x)^(~!n) + (~!e)*(~x)^(~!n2))^(~!q),(~x)) => + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~d), (~e), (~n), (~p), (~q), (~x)) && + eq((~N2), (~n)/2) && + eq((~n2), 2*(~n)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ( + ext_isinteger((~p)) || + gt((~a1), 0) && + gt((~a2), 0) + ) ? +∫((~u)*((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n) + (~e)*(~x)^(2*(~n)))^(~q), (~x)) : nothing) + +("1_1_3_4_87", +@rule ∫((~!u)*((~a1) + (~!b1)*(~x)^(~!N2))^(~p)*((~a2) + (~!b2)*(~x)^(~!N2))^ (~p)*((~c) + (~!d)*(~x)^(~!n))^(~!q),(~x)) => + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~d), (~n), (~p), (~q), (~x)) && + eq((~N2), (~n)/2) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + !( + eq((~n), 2) && + igt((~q), 0) + ) ? +((~a1) + (~b1)*(~x)^((~n)⨸2))^ fracpart((~p))*((~a2) + (~b2)*(~x)^((~n)⨸2))^fracpart((~p))⨸((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(~n))^ fracpart((~p))* ∫((~u)*((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) : nothing) + +("1_1_3_4_88", +@rule ∫((~!u)*((~a1) + (~!b1)*(~x)^(~!N2))^(~!p)*((~a2) + (~!b2)*(~x)^(~!N2))^ (~!p)*((~c) + (~!d)*(~x)^(~!n) + (~!e)*(~x)^(~!n2))^(~!q),(~x)) => + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~d), (~e), (~n), (~p), (~q), (~x)) && + eq((~N2), (~n)/2) && + eq((~n2), 2*(~n)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) ? +((~a1) + (~b1)*(~x)^((~n)⨸2))^ fracpart((~p))*((~a2) + (~b2)*(~x)^((~n)⨸2))^fracpart((~p))⨸((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(~n))^ fracpart((~p))* ∫((~u)*((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n) + (~e)*(~x)^(2*(~n)))^(~q), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.5 (a+b x^n)^p (c+d x^n)^q (e+f x^n)^r.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.5 (a+b x^n)^p (c+d x^n)^q (e+f x^n)^r.jl new file mode 100644 index 0000000..c074b77 --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.5 (a+b x^n)^p (c+d x^n)^q (e+f x^n)^r.jl @@ -0,0 +1,320 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.1.3.5 (a+b x^n)^p (c+d x^n)^q (e+f x^n)^r *) +("1_1_3_5_1", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q)*((~e) + (~!f)*(~x)^(~n))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + igt((~p), 0) && + igt((~q), 0) && + igt((~r), 0) ? +∫(ext_expand(((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r), (~x)), (~x)) : nothing) + +("1_1_3_5_2", +@rule ∫(((~e) + (~!f)*(~x)^(~n))/(((~a) + (~!b)*(~x)^(~n))*((~c) + (~!d)*(~x)^(~n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) ? +((~b)*(~e) - (~a)*(~f))⨸((~b)*(~c) - (~a)*(~d))*∫(1⨸((~a) + (~b)*(~x)^(~n)), (~x)) - ((~d)*(~e) - (~c)*(~f))⨸((~b)*(~c) - (~a)*(~d))*∫(1⨸((~c) + (~d)*(~x)^(~n)), (~x)) : nothing) + +("1_1_3_5_3", +@rule ∫(((~e) + (~!f)*(~x)^(~n))/(((~a) + (~!b)*(~x)^(~n))*sqrt((~c) + (~!d)*(~x)^(~n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) ? +(~f)⨸(~b)*∫(1⨸sqrt((~c) + (~d)*(~x)^(~n)), (~x)) + ((~b)*(~e) - (~a)*(~f))⨸(~b)*∫(1⨸(((~a) + (~b)*(~x)^(~n))*sqrt((~c) + (~d)*(~x)^(~n))), (~x)) : nothing) + +("1_1_3_5_4", +@rule ∫(((~e) + (~!f)*(~x)^(~n))/(sqrt((~a) + (~!b)*(~x)^(~n))*sqrt((~c) + (~!d)*(~x)^(~n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + !( + eq((~n), 2) && + ( + pos((~b)/(~a)) && + pos((~d)/(~c)) || + neg((~b)/(~a)) && + ( + pos((~d)/(~c)) || + gt((~a), 0) && + ( + !(gt((~c), 0)) || + simpler(rt(-(~b)/(~a),2),rt( -(~d)/(~c),2)) + ) + ) + ) + ) ? +(~f)⨸(~b)*∫(sqrt((~a) + (~b)*(~x)^(~n))⨸sqrt((~c) + (~d)*(~x)^(~n)), (~x)) + ((~b)*(~e) - (~a)*(~f))⨸(~b)*∫(1⨸(sqrt((~a) + (~b)*(~x)^(~n))*sqrt((~c) + (~d)*(~x)^(~n))), (~x)) : nothing) + +("1_1_3_5_5", +@rule ∫(((~e) + (~!f)*(~x)^2)/(sqrt((~a) + (~!b)*(~x)^2)*((~c) + (~!d)*(~x)^2)^(3//2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + pos((~b)/(~a)) && + pos((~d)/(~c)) ? +((~b)*(~e) - (~a)*(~f))⨸((~b)*(~c) - (~a)*(~d))* ∫(1⨸(sqrt((~a) + (~b)*(~x)^2)*sqrt((~c) + (~d)*(~x)^2)), (~x)) - ((~d)*(~e) - (~c)*(~f))⨸((~b)*(~c) - (~a)*(~d))* ∫(sqrt((~a) + (~b)*(~x)^2)⨸((~c) + (~d)*(~x)^2)^(3⨸2), (~x)) : nothing) + +("1_1_3_5_6", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~!q)*((~e) + (~!f)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + lt((~p), -1) && + gt((~q), 0) ? +-((~b)*(~e) - (~a)*(~f))* (~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(~q)⨸((~a)*(~b)*(~n)*((~p) + 1)) + 1⨸((~a)*(~b)*(~n)*((~p) + 1))* ∫(((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)* simp((~c)*((~b)*(~e)*(~n)*((~p) + 1) + (~b)*(~e) - (~a)*(~f)) + (~d)*((~b)*(~e)*(~n)*((~p) + 1) + ((~b)*(~e) - (~a)*(~f))*((~n)*(~q) + 1))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_5_7", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~!q)*((~e) + (~!f)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~q), (~x)) && + lt((~p), -1) ? +-((~b)*(~e) - (~a)*(~f))* (~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) + 1)⨸((~a)* (~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1)) + 1⨸((~a)*(~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1))* ∫(((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(~q)* simp((~c)*((~b)*(~e) - (~a)*(~f)) + (~e)*(~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1) + (~d)*((~b)*(~e) - (~a)*(~f))*((~n)*((~p) + (~q) + 2) + 1)*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_5_8", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q)*((~e) + (~!f)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && + gt((~q), 0) && + !eq((~n)*((~p) + (~q) + 1) + 1, 0) ? +(~f)*(~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(~q)⨸((~b)*((~n)*((~p) + (~q) + 1) + 1)) + 1⨸((~b)*((~n)*((~p) + (~q) + 1) + 1))* ∫(((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)* simp((~c)*((~b)*(~e) - (~a)*(~f) + (~b)*(~e)*(~n)*((~p) + (~q) + 1)) + ((~d)*((~b)*(~e) - (~a)*(~f)) + (~f)*(~n)*(~q)*((~b)*(~c) - (~a)*(~d)) + (~b)*(~d)*(~e)*(~n)*((~p) + (~q) + 1))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_5_9", +@rule ∫(((~e) + (~!f)*(~x)^4)/(((~a) + (~!b)*(~x)^4)^(3//4)*((~c) + (~!d)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) ? +((~b)*(~e) - (~a)*(~f))⨸((~b)*(~c) - (~a)*(~d))* ∫(1⨸((~a) + (~b)*(~x)^4)^(3⨸4), (~x)) - ((~d)*(~e) - (~c)*(~f))⨸((~b)*(~c) - (~a)*(~d))* ∫(((~a) + (~b)*(~x)^4)^(1⨸4)⨸((~c) + (~d)*(~x)^4), (~x)) : nothing) + +("1_1_3_5_10", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~e) + (~!f)*(~x)^(~n))/((~c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~n), (~x)) ? +(~f)⨸(~d)*∫(((~a) + (~b)*(~x)^(~n))^(~p), (~x)) + ((~d)*(~e) - (~c)*(~f))⨸(~d)* ∫(((~a) + (~b)*(~x)^(~n))^(~p)⨸((~c) + (~d)*(~x)^(~n)), (~x)) : nothing) + +("1_1_3_5_11", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q)*((~e) + (~!f)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~q), (~x)) ? +(~e)*∫(((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) + (~f)*∫((~x)^(~n)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) : nothing) + +("1_1_3_5_12", +@rule ∫(1/(((~a) + (~!b)*(~x)^2)*((~c) + (~!d)*(~x)^2)*sqrt((~e) + (~!f)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) ? +(~b)⨸((~b)*(~c) - (~a)*(~d))*∫(1⨸(((~a) + (~b)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)), (~x)) - (~d)⨸((~b)*(~c) - (~a)*(~d))*∫(1⨸(((~c) + (~d)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)), (~x)) : nothing) + +("1_1_3_5_13", +@rule ∫(1/((~x)^2*((~c) + (~!d)*(~x)^2)*sqrt((~e) + (~!f)*(~x)^2)),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~x)) && + !eq((~d)*(~e) - (~c)*(~f), 0) ? +1⨸(~c)*∫(1⨸((~x)^2*sqrt((~e) + (~f)*(~x)^2)), (~x)) - (~d)⨸(~c)*∫(1⨸(((~c) + (~d)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)), (~x)) : nothing) + +("1_1_3_5_14", +@rule ∫(sqrt((~c) + (~!d)*(~x)^2)*sqrt((~e) + (~!f)*(~x)^2)/((~a) + (~!b)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + gt((~d)/(~c), 0) && + gt((~f)/(~e), 0) && + !(simpler(rt((~d)/(~c),2),rt( (~f)/(~e),2))) ? +(~d)⨸(~b)*∫(sqrt((~e) + (~f)*(~x)^2)⨸sqrt((~c) + (~d)*(~x)^2), (~x)) + ((~b)*(~c) - (~a)*(~d))⨸(~b)* ∫(sqrt((~e) + (~f)*(~x)^2)⨸(((~a) + (~b)*(~x)^2)*sqrt((~c) + (~d)*(~x)^2)), (~x)) : nothing) + +("1_1_3_5_15", +@rule ∫(sqrt((~c) + (~!d)*(~x)^2)*sqrt((~e) + (~!f)*(~x)^2)/((~a) + (~!b)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !(simpler(rt(-(~f)/(~e),2),rt( -(~d)/(~c),2))) ? +(~d)⨸(~b)*∫(sqrt((~e) + (~f)*(~x)^2)⨸sqrt((~c) + (~d)*(~x)^2), (~x)) + ((~b)*(~c) - (~a)*(~d))⨸(~b)* ∫(sqrt((~e) + (~f)*(~x)^2)⨸(((~a) + (~b)*(~x)^2)*sqrt((~c) + (~d)*(~x)^2)), (~x)) : nothing) + +("1_1_3_5_16", +@rule ∫(1/(((~a) + (~!b)*(~x)^2)*sqrt((~c) + (~!d)*(~x)^2)*sqrt((~e) + (~!f)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + gt((~d)/(~c), 0) && + gt((~f)/(~e), 0) && + !(simpler(rt((~d)/(~c),2),rt( (~f)/(~e),2))) ? +-(~f)⨸((~b)*(~e) - (~a)*(~f))*∫(1⨸(sqrt((~c) + (~d)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)), (~x)) + (~b)⨸((~b)*(~e) - (~a)*(~f))* ∫(sqrt((~e) + (~f)*(~x)^2)⨸(((~a) + (~b)*(~x)^2)*sqrt((~c) + (~d)*(~x)^2)), (~x)) : nothing) + +("1_1_3_5_17", +@rule ∫(1/(((~a) + (~!b)*(~x)^2)*sqrt((~c) + (~!d)*(~x)^2)*sqrt((~e) + (~!f)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !(gt((~d)/(~c), 0)) && + gt((~c), 0) && + gt((~e), 0) && + !( + !(gt((~f)/(~e), 0)) && + simpler(rt(-(~f)/(~e),2),rt( -(~d)/(~c),2)) + ) ? +1⨸((~a)*sqrt((~c))*sqrt((~e))*rt(-(~d)⨸(~c), 2))* elliptic_pi((~b)*(~c)⨸((~a)*(~d)), asin(rt(-(~d)⨸(~c), 2)*(~x)), (~c)*(~f)⨸((~d)*(~e))) : nothing) + +("1_1_3_5_18", +@rule ∫(1/(((~a) + (~!b)*(~x)^2)*sqrt((~c) + (~!d)*(~x)^2)*sqrt((~e) + (~!f)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !(gt((~c), 0)) ? +sqrt(1 + (~d)⨸(~c)*(~x)^2)⨸sqrt((~c) + (~d)*(~x)^2)* ∫(1⨸(((~a) + (~b)*(~x)^2)*sqrt(1 + (~d)⨸(~c)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)), (~x)) : nothing) + +("1_1_3_5_19", +@rule ∫(sqrt((~c) + (~!d)*(~x)^2)/(((~a) + (~!b)*(~x)^2)*sqrt((~e) + (~!f)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + pos((~d)/(~c)) ? +(~c)*sqrt( (~e) + (~f)*(~x)^2)⨸((~a)*(~e)*rt((~d)⨸(~c), 2)*sqrt((~c) + (~d)*(~x)^2)* sqrt((~c)*((~e) + (~f)*(~x)^2)⨸((~e)*((~c) + (~d)*(~x)^2))))* elliptic_pi(1 - (~b)*(~c)⨸((~a)*(~d)), atan(rt((~d)⨸(~c), 2)*(~x)), 1 - (~c)*(~f)⨸((~d)*(~e))) : nothing) + +#(* Int[Sqrt[c_+d_.*x_^2]/((a_+b_.*x_^2)*Sqrt[e_+f_.*x_^2]),x_Symbol] := Sqrt[c+d*x^2]*Sqrt[c*(e+f*x^2)/(e*(c+d*x^2))]/(a*Rt[d/c,2]*Sqrt[e+f* x^2])* EllipticPi[1-b*c/(a*d),ArcTan[Rt[d/c,2]*x],1-c*f/(d*e)] /; FreeQ[{a,b,c,d,e,f},x] && PosQ[d/c] *) +("1_1_3_5_20", +@rule ∫(sqrt((~c) + (~!d)*(~x)^2)/(((~a) + (~!b)*(~x)^2)*sqrt((~e) + (~!f)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + neg((~d)/(~c)) ? +(~d)⨸(~b)*∫(1⨸(sqrt((~c) + (~d)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)), (~x)) + ((~b)*(~c) - (~a)*(~d))⨸(~b)* ∫(1⨸(((~a) + (~b)*(~x)^2)*sqrt((~c) + (~d)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)), (~x)) : nothing) + +("1_1_3_5_21", +@rule ∫(sqrt((~e) + (~!f)*(~x)^2)/(((~a) + (~!b)*(~x)^2)*((~c) + (~!d)*(~x)^2)^(3//2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + pos((~d)/(~c)) && + pos((~f)/(~e)) ? +(~b)⨸((~b)*(~c) - (~a)*(~d))* ∫(sqrt((~e) + (~f)*(~x)^2)⨸(((~a) + (~b)*(~x)^2)*sqrt((~c) + (~d)*(~x)^2)), (~x)) - (~d)⨸((~b)*(~c) - (~a)*(~d))*∫(sqrt((~e) + (~f)*(~x)^2)⨸((~c) + (~d)*(~x)^2)^(3⨸2), (~x)) : nothing) + +("1_1_3_5_22", +@rule ∫(((~e) + (~!f)*(~x)^2)^(3//2)/(((~a) + (~!b)*(~x)^2)*((~c) + (~!d)*(~x)^2)^(3//2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + pos((~d)/(~c)) && + pos((~f)/(~e)) ? +((~b)*(~e) - (~a)*(~f))⨸((~b)*(~c) - (~a)*(~d))* ∫(sqrt((~e) + (~f)*(~x)^2)⨸(((~a) + (~b)*(~x)^2)*sqrt((~c) + (~d)*(~x)^2)), (~x)) - ((~d)*(~e) - (~c)*(~f))⨸((~b)*(~c) - (~a)*(~d))* ∫(sqrt((~e) + (~f)*(~x)^2)⨸((~c) + (~d)*(~x)^2)^(3⨸2), (~x)) : nothing) + +("1_1_3_5_23", +@rule ∫(((~c) + (~!d)*(~x)^2)^(3//2)*sqrt((~e) + (~!f)*(~x)^2)/((~a) + (~!b)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + pos((~d)/(~c)) && + pos((~f)/(~e)) ? +((~b)*(~c) - (~a)*(~d))^2⨸(~b)^2* ∫(sqrt((~e) + (~f)*(~x)^2)⨸(((~a) + (~b)*(~x)^2)*sqrt((~c) + (~d)*(~x)^2)), (~x)) + (~d)⨸(~b)^2* ∫((2*(~b)*(~c) - (~a)*(~d) + (~b)*(~d)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)⨸sqrt((~c) + (~d)*(~x)^2), (~x)) : nothing) + +("1_1_3_5_24", +@rule ∫(((~c) + (~!d)*(~x)^2)^(~q)*((~e) + (~!f)*(~x)^2)^(~r)/((~a) + (~!b)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + lt((~q), -1) && + gt((~r), 1) ? +(~b)*((~b)*(~e) - (~a)*(~f))⨸((~b)*(~c) - (~a)*(~d))^2* ∫(((~c) + (~d)*(~x)^2)^((~q) + 2)*((~e) + (~f)*(~x)^2)^((~r) - 1)⨸((~a) + (~b)*(~x)^2), (~x)) - 1⨸((~b)*(~c) - (~a)*(~d))^2* ∫(((~c) + (~d)*(~x)^2)^ (~q)*((~e) + (~f)*(~x)^2)^((~r) - 1)*(2*(~b)*(~c)*(~d)*(~e) - (~a)*(~d)^2*(~e) - (~b)*(~c)^2*(~f) + (~d)^2*((~b)*(~e) - (~a)*(~f))*(~x)^2), (~x)) : nothing) + +("1_1_3_5_25", +@rule ∫(((~c) + (~!d)*(~x)^2)^(~q)*((~e) + (~!f)*(~x)^2)^(~r)/((~a) + (~!b)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~r), (~x)) && + gt((~q), 1) ? +(~d)⨸(~b)*∫(((~c) + (~d)*(~x)^2)^((~q) - 1)*((~e) + (~f)*(~x)^2)^(~r), (~x)) + ((~b)*(~c) - (~a)*(~d))⨸(~b)* ∫(((~c) + (~d)*(~x)^2)^((~q) - 1)*((~e) + (~f)*(~x)^2)^(~r)⨸((~a) + (~b)*(~x)^2), (~x)) : nothing) + +("1_1_3_5_26", +@rule ∫(((~c) + (~!d)*(~x)^2)^(~q)*((~e) + (~!f)*(~x)^2)^(~r)/((~a) + (~!b)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~r), (~x)) && + lt((~q), -1) ? +(~b)^2⨸((~b)*(~c) - (~a)*(~d))^2* ∫(((~c) + (~d)*(~x)^2)^((~q) + 2)*((~e) + (~f)*(~x)^2)^(~r)⨸((~a) + (~b)*(~x)^2), (~x)) - (~d)⨸((~b)*(~c) - (~a)*(~d))^2* ∫(((~c) + (~d)*(~x)^2)^(~q)*((~e) + (~f)*(~x)^2)^(~r)*(2*(~b)*(~c) - (~a)*(~d) + (~b)*(~d)*(~x)^2), (~x)) : nothing) + +("1_1_3_5_27", +@rule ∫(((~c) + (~!d)*(~x)^2)^(~q)*((~e) + (~!f)*(~x)^2)^(~r)/((~a) + (~!b)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~r), (~x)) && + le((~q), -1) ? +-(~d)⨸((~b)*(~c) - (~a)*(~d))*∫(((~c) + (~d)*(~x)^2)^(~q)*((~e) + (~f)*(~x)^2)^(~r), (~x)) + (~b)⨸((~b)*(~c) - (~a)*(~d))* ∫(((~c) + (~d)*(~x)^2)^((~q) + 1)*((~e) + (~f)*(~x)^2)^(~r)⨸((~a) + (~b)*(~x)^2), (~x)) : nothing) + +("1_1_3_5_28", +@rule ∫(sqrt((~c) + (~!d)*(~x)^2)*sqrt((~e) + (~!f)*(~x)^2)/((~a) + (~!b)*(~x)^2)^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) ? +(~x)*sqrt((~c) + (~d)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)⨸(2*(~a)*((~a) + (~b)*(~x)^2)) + (~d)*(~f)⨸(2*(~a)*(~b)^2)* ∫(((~a) - (~b)*(~x)^2)⨸(sqrt((~c) + (~d)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)), (~x)) + ((~b)^2*(~c)*(~e) - (~a)^2*(~d)*(~f))⨸(2*(~a)*(~b)^2)* ∫(1⨸(((~a) + (~b)*(~x)^2)*sqrt((~c) + (~d)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)), (~x)) : nothing) + +("1_1_3_5_29", +@rule ∫(1/(((~a) + (~!b)*(~x)^2)^2*sqrt((~c) + (~!d)*(~x)^2)*sqrt((~e) + (~!f)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) ? +(~b)^2*(~x)*sqrt((~c) + (~d)*(~x)^2)* sqrt((~e) + (~f)*(~x)^2)⨸(2*(~a)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f))*((~a) + (~b)*(~x)^2)) - (~d)*(~f)⨸(2*(~a)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f)))* ∫(((~a) + (~b)*(~x)^2)⨸(sqrt((~c) + (~d)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)), (~x)) + ((~b)^2*(~c)*(~e) + 3*(~a)^2*(~d)*(~f) - 2*(~a)*(~b)*((~d)*(~e) + (~c)*(~f)))⨸(2* (~a)*((~b)*(~c) - (~a)*(~d))*((~b)*(~e) - (~a)*(~f)))* ∫(1⨸(((~a) + (~b)*(~x)^2)*sqrt((~c) + (~d)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)), (~x)) : nothing) + +("1_1_3_5_30", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q)*((~e) + (~!f)*(~x)^(~n))^(~r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~r), (~x)) && + ilt((~p), 0) && + gt((~q), 0) ? +(~d)⨸(~b)*∫(((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)*((~e) + (~f)*(~x)^(~n))^(~r), (~x)) + ((~b)*(~c) - (~a)*(~d))⨸(~b)* ∫(((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)*((~e) + (~f)*(~x)^(~n))^(~r), (~x)) : nothing) + +("1_1_3_5_31", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q)*((~e) + (~!f)*(~x)^(~n))^(~r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~q), (~x)) && + ilt((~p), 0) && + le((~q), -1) ? +(~b)⨸((~b)*(~c) - (~a)*(~d))* ∫(((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^((~q) + 1)*((~e) + (~f)*(~x)^(~n))^(~r), (~x)) - (~d)⨸((~b)*(~c) - (~a)*(~d))* ∫(((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r), (~x)) : nothing) + +("1_1_3_5_32", +@rule ∫(1/(sqrt((~a) + (~!b)*(~x)^2)*sqrt((~c) + (~!d)*(~x)^2)*sqrt((~e) + (~!f)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) ? +sqrt((~c) + (~d)*(~x)^2)* sqrt((~a)*((~e) + (~f)*(~x)^2)⨸((~e)*((~a) + (~b)*(~x)^2)))⨸((~c)*sqrt((~e) + (~f)*(~x)^2)* sqrt((~a)*((~c) + (~d)*(~x)^2)⨸((~c)*((~a) + (~b)*(~x)^2))))* int_and_subst(1⨸(sqrt(1 - ((~b)*(~c) - (~a)*(~d))*(~x)^2⨸(~c))*sqrt(1 - ((~b)*(~e) - (~a)*(~f))*(~x)^2⨸(~e))), (~x), (~x), (~x)⨸sqrt((~a) + (~b)*(~x)^2), "1_1_3_5_32") : nothing) + +("1_1_3_5_33", +@rule ∫(sqrt((~a) + (~!b)*(~x)^2)/(sqrt((~c) + (~!d)*(~x)^2)*sqrt((~e) + (~!f)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) ? +(~a)*sqrt((~c) + (~d)*(~x)^2)* sqrt((~a)*((~e) + (~f)*(~x)^2)⨸((~e)*((~a) + (~b)*(~x)^2)))⨸((~c)*sqrt((~e) + (~f)*(~x)^2)* sqrt((~a)*((~c) + (~d)*(~x)^2)⨸((~c)*((~a) + (~b)*(~x)^2))))* int_and_subst(1⨸((1 - (~b)*(~x)^2)*sqrt(1 - ((~b)*(~c) - (~a)*(~d))*(~x)^2⨸(~c))* sqrt(1 - ((~b)*(~e) - (~a)*(~f))*(~x)^2⨸(~e))), (~x), (~x), (~x)⨸sqrt((~a) + (~b)*(~x)^2), "1_1_3_5_33") : nothing) + +("1_1_3_5_34", +@rule ∫(sqrt((~c) + (~!d)*(~x)^2)/(((~a) + (~!b)*(~x)^2)^(3//2)*sqrt((~e) + (~!f)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) ? +sqrt((~c) + (~d)*(~x)^2)* sqrt((~a)*((~e) + (~f)*(~x)^2)⨸((~e)*((~a) + (~b)*(~x)^2)))⨸((~a)*sqrt((~e) + (~f)*(~x)^2)* sqrt((~a)*((~c) + (~d)*(~x)^2)⨸((~c)*((~a) + (~b)*(~x)^2))))* int_and_subst(sqrt(1 - ((~b)*(~c) - (~a)*(~d))*(~x)^2⨸(~c))⨸sqrt(1 - ((~b)*(~e) - (~a)*(~f))*(~x)^2⨸(~e)), (~x), (~x), (~x)⨸sqrt((~a) + (~b)*(~x)^2), "1_1_3_5_34") : nothing) + +("1_1_3_5_35", +@rule ∫(sqrt((~a) + (~!b)*(~x)^2)*sqrt((~c) + (~!d)*(~x)^2)/sqrt((~e) + (~!f)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + pos(((~d)*(~e) - (~c)*(~f))/(~c)) ? +(~d)*(~x)*sqrt((~a) + (~b)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)⨸(2*(~f)*sqrt((~c) + (~d)*(~x)^2)) - (~c)*((~d)*(~e) - (~c)*(~f))⨸(2*(~f))* ∫(sqrt((~a) + (~b)*(~x)^2)⨸(((~c) + (~d)*(~x)^2)^(3⨸2)*sqrt((~e) + (~f)*(~x)^2)), (~x)) + (~b)*(~c)*((~d)*(~e) - (~c)*(~f))⨸(2*(~d)*(~f))* ∫(1⨸(sqrt((~a) + (~b)*(~x)^2)*sqrt((~c) + (~d)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)), (~x)) - ((~b)*(~d)*(~e) - (~b)*(~c)*(~f) - (~a)*(~d)*(~f))⨸(2*(~d)*(~f))* ∫(sqrt((~c) + (~d)*(~x)^2)⨸(sqrt((~a) + (~b)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)), (~x)) : nothing) + +("1_1_3_5_36", +@rule ∫(sqrt((~a) + (~!b)*(~x)^2)*sqrt((~c) + (~!d)*(~x)^2)/sqrt((~e) + (~!f)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + neg(((~d)*(~e) - (~c)*(~f))/(~c)) ? +(~x)*sqrt((~a) + (~b)*(~x)^2)*sqrt((~c) + (~d)*(~x)^2)⨸(2*sqrt((~e) + (~f)*(~x)^2)) + (~e)*((~b)*(~e) - (~a)*(~f))⨸(2*(~f))* ∫(sqrt((~c) + (~d)*(~x)^2)⨸(sqrt((~a) + (~b)*(~x)^2)*((~e) + (~f)*(~x)^2)^(3⨸2)), (~x)) + ((~b)*(~e) - (~a)*(~f))*((~d)*(~e) - 2*(~c)*(~f))⨸(2*(~f)^2)* ∫(1⨸(sqrt((~a) + (~b)*(~x)^2)*sqrt((~c) + (~d)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)), (~x)) - ((~b)*(~d)*(~e) - (~b)*(~c)*(~f) - (~a)*(~d)*(~f))⨸(2*(~f)^2)* ∫(sqrt((~e) + (~f)*(~x)^2)⨸(sqrt((~a) + (~b)*(~x)^2)*sqrt((~c) + (~d)*(~x)^2)), (~x)) : nothing) + +("1_1_3_5_37", +@rule ∫(sqrt((~a) + (~!b)*(~x)^2)*sqrt((~c) + (~!d)*(~x)^2)/((~e) + (~!f)*(~x)^2)^(3//2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) ? +(~b)⨸(~f)*∫(sqrt((~c) + (~d)*(~x)^2)⨸(sqrt((~a) + (~b)*(~x)^2)*sqrt((~e) + (~f)*(~x)^2)), (~x)) - ((~b)*(~e) - (~a)*(~f))⨸(~f)* ∫(sqrt((~c) + (~d)*(~x)^2)⨸(sqrt((~a) + (~b)*(~x)^2)*((~e) + (~f)*(~x)^2)^(3⨸2)), (~x)) : nothing) + +("1_1_3_5_38", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q)*((~e) + (~!f)*(~x)^(~n))^(~r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~q), (~r), (~x)) && + igt((~n), 0) && + issum(ext_expand(((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r), (~x))) ? +∫(ext_expand(((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r), (~x)), (~x)) : nothing) + +("1_1_3_5_39", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~q)*((~e) + (~!f)*(~x)^(~n))^(~r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~q), (~r), (~x)) && + ilt((~n), 0) ? +-int_and_subst(((~a) + (~b)*(~x)^(-(~n)))^(~p)*((~c) + (~d)*(~x)^(-(~n)))^(~q)*((~e) + (~f)*(~x)^(-(~n)))^(~r)⨸(~x)^2, (~x), (~x), 1⨸(~x), "1_1_3_5_39") : nothing) + +# ("1_1_3_5_40", +# @rule ∫(((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q)*((~e) + (~!f)*(~x)^(~n))^(~!r),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~q), (~r), (~x)) ? +# Unintegrable[((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r), (~x)] : nothing) + +("1_1_3_5_41", +@rule ∫(((~!a) + (~!b)*(~u)^(~n))^(~!p)*((~!c) + (~!d)*(~v)^(~n))^(~!q)*((~!e) + (~!f)*(~w)^(~n))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~n), (~q), (~r), (~x)) && + eq((~u), (~v)) && + eq((~u), (~w)) && + linear((~u), (~x)) && + !eq((~u), (~x)) ? +1⨸ext_coeff((~u), (~x), 1)* int_and_subst(((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r), (~x), (~x), (~u), "1_1_3_5_41") : nothing) + +("1_1_3_5_42", +@rule ∫(((~!a) + (~!b)*(~x)^(~!n))^(~!p)*((~c) + (~!d)*(~x)^(~!mn))^(~!q)*((~e) + (~!f)*(~x)^(~!n))^ (~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~r), (~x)) && + eq((~mn), -(~n)) && + ext_isinteger((~q)) ? +∫(((~a) + (~b)*(~x)^(~n))^(~p)*((~d) + (~c)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r)⨸(~x)^((~n)*(~q)), (~x)) : nothing) + +("1_1_3_5_43", +@rule ∫(((~!a) + (~!b)*(~x)^(~!n))^(~!p)*((~c) + (~!d)*(~x)^(~!mn))^(~!q)*((~e) + (~!f)*(~x)^(~!n))^ (~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~q), (~x)) && + eq((~mn), -(~n)) && + ext_isinteger((~p)) && + ext_isinteger((~r)) ? +∫((~x)^((~n)*((~p) + (~r)))*((~b) + (~a)*(~x)^(-(~n)))^(~p)*((~c) + (~d)*(~x)^(-(~n)))^(~q)*((~f) + (~e)*(~x)^(-(~n)))^ (~r), (~x)) : nothing) + +("1_1_3_5_44", +@rule ∫(((~!a) + (~!b)*(~x)^(~!n))^(~!p)*((~c) + (~!d)*(~x)^(~!mn))^(~q)*((~e) + (~!f)*(~x)^(~!n))^ (~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~q), (~r), (~x)) && + eq((~mn), -(~n)) && + !(ext_isinteger((~q))) ? +(~x)^((~n)*fracpart((~q)))*((~c) + (~d)*(~x)^(-(~n)))^fracpart((~q))⨸((~d) + (~c)*(~x)^(~n))^ fracpart((~q))* ∫(((~a) + (~b)*(~x)^(~n))^(~p)*((~d) + (~c)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r)⨸(~x)^((~n)*(~q)), (~x)) : nothing) + +("1_1_3_5_45", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q)*((~e1) + (~!f1)*(~x)^(~!n2))^ (~!r)*((~e2) + (~!f2)*(~x)^(~!n2))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e1), (~f1), (~e2), (~f2), (~n), (~p), (~q), (~r), (~x)) && + eq((~n2), (~n)/2) && + eq((~e2)*(~f1) + (~e1)*(~f2), 0) && + ( + ext_isinteger((~r)) || + gt((~e1), 0) && + gt((~e2), 0) + ) ? +∫(((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e1)*(~e2) + (~f1)*(~f2)*(~x)^(~n))^(~r), (~x)) : nothing) + +("1_1_3_5_46", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q)*((~e1) + (~!f1)*(~x)^(~!n2))^ (~!r)*((~e2) + (~!f2)*(~x)^(~!n2))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e1), (~f1), (~e2), (~f2), (~n), (~p), (~q), (~r), (~x)) && + eq((~n2), (~n)/2) && + eq((~e2)*(~f1) + (~e1)*(~f2), 0) ? +((~e1) + (~f1)*(~x)^((~n)⨸2))^ fracpart((~r))*((~e2) + (~f2)*(~x)^((~n)⨸2))^fracpart((~r))⨸((~e1)*(~e2) + (~f1)*(~f2)*(~x)^(~n))^ fracpart((~r))* ∫(((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e1)*(~e2) + (~f1)*(~f2)*(~x)^(~n))^(~r), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.6 (g x)^m (a+b x^n)^p (c+d x^n)^q (e+f x^n)^r.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.6 (g x)^m (a+b x^n)^p (c+d x^n)^q (e+f x^n)^r.jl new file mode 100644 index 0000000..ebf18b7 --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.6 (g x)^m (a+b x^n)^p (c+d x^n)^q (e+f x^n)^r.jl @@ -0,0 +1,302 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.1.3.6 (g x)^m (a+b x^n)^p (c+d x^n)^q (e+f x^n)^r *) +("1_1_3_6_1", +@rule ∫(((~!g)*(~x))^(~!m)*((~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~!q)*((~e) + (~!f)*(~x)^(~n))^ (~!r),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~q), (~r), (~x)) && + ( + ext_isinteger((~m)) || + gt((~g), 0) + ) && + ext_isinteger(simplify(((~m) + 1)/(~n))) ? +(~g)^(~m)⨸((~n)*(~b)^(simplify(((~m) + 1)⨸(~n)) - 1))* int_and_subst(((~b)*(~x))^((~p) + simplify(((~m) + 1)⨸(~n)) - 1)*((~c) + (~d)*(~x))^ (~q)*((~e) + (~f)*(~x))^(~r), (~x), (~x), (~x)^(~n), "1_1_3_6_1") : nothing) + +("1_1_3_6_2", +@rule ∫(((~!g)*(~x))^(~!m)*((~!b)*(~x)^(~!n))^(~p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e) + (~!f)*(~x)^(~n))^(~!r),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~q), (~r), (~x)) && + ( + ext_isinteger((~m)) || + gt((~g), 0) + ) && + !(ext_isinteger(simplify(((~m) + 1)/(~n)))) ? +(~g)^(~m)*(~b)^intpart((~p))*((~b)*(~x)^(~n))^fracpart((~p))⨸(~x)^((~n)*fracpart((~p)))* ∫((~x)^((~m) + (~n)*(~p))*((~c) + (~d)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r), (~x)) : nothing) + +("1_1_3_6_3", +@rule ∫(((~g)*(~x))^(~m)*((~!b)*(~x)^(~!n))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~!q)*((~e) + (~!f)*(~x)^(~n))^ (~!r),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~q), (~r), (~x)) && + !(ext_isinteger((~m))) ? +(~g)^intpart((~m))*((~g)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r), (~x)) : nothing) + +("1_1_3_6_4", +@rule ∫(((~!g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e) + (~!f)*(~x)^(~n))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~x)) && + igt((~p), -2) && + igt((~q), 0) && + igt((~r), 0) ? +∫(ext_expand(((~g)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^ (~q)*((~e) + (~f)*(~x)^(~n))^(~r), (~x)), (~x)) : nothing) + +("1_1_3_6_5", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q)*((~e) + (~!f)*(~x)^(~n))^ (~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~q), (~r), (~x)) && + eq((~m) - (~n) + 1, 0) ? +1⨸(~n)*int_and_subst(((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q)*((~e) + (~f)*(~x))^(~r), (~x), (~x), (~x)^(~n), "1_1_3_6_5") : nothing) + +("1_1_3_6_6", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q)*((~e) + (~!f)*(~x)^(~n))^ (~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + ext_isinteger((~p), (~q), (~r)) && + neg((~n)) ? +∫((~x)^((~m) + (~n)*((~p) + (~q) + (~r)))*((~b) + (~a)*(~x)^(-(~n)))^(~p)*((~d) + (~c)*(~x)^(-(~n)))^ (~q)*((~f) + (~e)*(~x)^(-(~n)))^(~r), (~x)) : nothing) + +("1_1_3_6_7", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q)*((~e) + (~!f)*(~x)^(~n))^ (~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~q), (~r), (~x)) && + ext_isinteger(simplify(((~m) + 1)/(~n))) ? +1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q)*((~e) + (~f)*(~x))^ (~r), (~x), (~x), (~x)^(~n), "1_1_3_6_7") : nothing) + +("1_1_3_6_8", +@rule ∫(((~g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e) + (~!f)*(~x)^(~n))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~q), (~r), (~x)) && + ext_isinteger(simplify(((~m) + 1)/(~n))) ? +(~g)^intpart((~m))*((~g)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r), (~x)) : nothing) + +("1_1_3_6_9", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q)*((~e) + (~!f)*(~x)^(~n))^ (~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~q), (~r), (~x)) && + igt((~n), 0) && + ext_isinteger((~m)) && + gcd((~m) + 1, (~n)) != 1 ? +1⨸gcd((~m) + 1, (~n))* int_and_subst( (~x)^(((~m) + 1)⨸gcd((~m) + 1, (~n)) - 1)*((~a) + (~b)*(~x)^((~n)⨸gcd((~m) + 1, (~n))))^(~p)*((~c) + (~d)*(~x)^((~n)⨸gcd((~m) + 1, (~n))))^ (~q)*((~e) + (~f)*(~x)^((~n)⨸gcd((~m) + 1, (~n))))^(~r), (~x), (~x), (~x)^gcd((~m) + 1, (~n)), "1_1_3_6_9") : nothing) + +("1_1_3_6_10", +@rule ∫(((~!g)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^ (~q)*((~e) + (~!f)*(~x)^(~n))^(~r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~q), (~r), (~x)) && + igt((~n), 0) && + isfraction((~m)) ? +ext_den((~m))⨸(~g)* int_and_subst( (~x)^(ext_den((~m))*((~m) + 1) - 1)*((~a) + (~b)*(~x)^(ext_den((~m))*(~n))⨸(~g)^(~n))^(~p)*((~c) + (~d)*(~x)^(ext_den((~m))*(~n))⨸(~g)^(~n))^ (~q)*((~e) + (~f)*(~x)^(ext_den((~m))*(~n))⨸(~g)^(~n))^(~r), (~x), (~x), ((~g)*(~x))^(1⨸ext_den((~m))), "1_1_3_6_10") : nothing) + +("1_1_3_6_11", +@rule ∫(((~!g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e) + (~!f)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + igt((~n), 0) && + lt((~p), -1) && + gt((~q), 0) && + !( + eq((~q), 1) && + simpler((~b)*(~c) - (~a)*(~d), (~b)*(~e) - (~a)*(~f)) + ) ? +-((~b)*(~e) - (~a)*(~f))*((~g)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^ (~q)⨸((~a)*(~b)*(~g)*(~n)*((~p) + 1)) + 1⨸((~a)*(~b)*(~n)*((~p) + 1))* ∫(((~g)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)* simp((~c)*((~b)*(~e)*(~n)*((~p) + 1) + ((~b)*(~e) - (~a)*(~f))*((~m) + 1)) + (~d)*((~b)*(~e)*(~n)*((~p) + 1) + ((~b)*(~e) - (~a)*(~f))*((~m) + (~n)*(~q) + 1))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_6_12", +@rule ∫(((~!g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^ (~q)*((~e) + (~!f)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~q), (~x)) && + igt((~n), 0) && + lt((~p), -1) && + gt((~m) - (~n) + 1, 0) ? +(~g)^((~n) - 1)*((~b)*(~e) - (~a)*(~f))*((~g)*(~x))^((~m) - (~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) + 1)⨸((~b)*(~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1)) - (~g)^(~n)⨸((~b)*(~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1))* ∫(((~g)*(~x))^((~m) - (~n))*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(~q)* simp((~c)*((~b)*(~e) - (~a)*(~f))*((~m) - (~n) + 1) + ((~d)*((~b)*(~e) - (~a)*(~f))*((~m) + (~n)*(~q) + 1) - (~b)*(~n)*((~c)*(~f) - (~d)*(~e))*((~p) + 1))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_6_13", +@rule ∫(((~!g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^ (~q)*((~e) + (~!f)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~q), (~x)) && + igt((~n), 0) && + lt((~p), -1) ? +-((~b)*(~e) - (~a)*(~f))*((~g)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) + 1)⨸((~a)*(~g)*(~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1)) + 1⨸((~a)*(~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1))* ∫(((~g)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(~q)* simp((~c)*((~b)*(~e) - (~a)*(~f))*((~m) + 1) + (~e)*(~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1) + (~d)*((~b)*(~e) - (~a)*(~f))*((~m) + (~n)*((~p) + (~q) + 2) + 1)*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_6_14", +@rule ∫(((~!g)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e) + (~!f)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + igt((~n), 0) && + gt((~q), 0) && + lt((~m), -1) && + !( + eq((~q), 1) && + simpler((~e) + (~f)*(~x)^(~n), (~c) + (~d)*(~x)^(~n)) + ) ? +(~e)*((~g)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(~q)⨸((~a)*(~g)*((~m) + 1)) - 1⨸((~a)*(~g)^(~n)*((~m) + 1))* ∫(((~g)*(~x))^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)* simp((~c)*((~b)*(~e) - (~a)*(~f))*((~m) + 1) + (~e)*(~n)*((~b)*(~c)*((~p) + 1) + (~a)*(~d)*(~q)) + (~d)*(((~b)*(~e) - (~a)*(~f))*((~m) + 1) + (~b)*(~e)*(~n)*((~p) + (~q) + 1))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_6_15", +@rule ∫(((~!g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e) + (~!f)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + igt((~n), 0) && + gt((~q), 0) && + !( + eq((~q), 1) && + simpler((~e) + (~f)*(~x)^(~n), (~c) + (~d)*(~x)^(~n)) + ) ? +(~f)*((~g)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^ (~q)⨸((~b)*(~g)*((~m) + (~n)*((~p) + (~q) + 1) + 1)) + 1⨸((~b)*((~m) + (~n)*((~p) + (~q) + 1) + 1))* ∫(((~g)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)* simp((~c)*(((~b)*(~e) - (~a)*(~f))*((~m) + 1) + (~b)*(~e)*(~n)*((~p) + (~q) + 1)) + ((~d)*((~b)*(~e) - (~a)*(~f))*((~m) + 1) + (~f)*(~n)*(~q)*((~b)*(~c) - (~a)*(~d)) + (~b)*(~e)*(~d)*(~n)*((~p) + (~q) + 1))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_6_16", +@rule ∫(((~!g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e) + (~!f)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~q), (~x)) && + igt((~n), 0) && + gt((~m), (~n) - 1) ? +(~f)*(~g)^((~n) - 1)*((~g)*(~x))^((~m) - (~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) + 1)⨸((~b)*(~d)*((~m) + (~n)*((~p) + (~q) + 1) + 1)) - (~g)^(~n)⨸((~b)*(~d)*((~m) + (~n)*((~p) + (~q) + 1) + 1))* ∫(((~g)*(~x))^((~m) - (~n))*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)* simp((~a)*(~f)* (~c)*((~m) - (~n) + 1) + ((~a)*(~f)*(~d)*((~m) + (~n)*(~q) + 1) + (~b)*((~f)*(~c)*((~m) + (~n)*(~p) + 1) - (~e)*(~d)*((~m) + (~n)*((~p) + (~q) + 1) + 1)))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_6_17", +@rule ∫(((~!g)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e) + (~!f)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~q), (~x)) && + igt((~n), 0) && + lt((~m), -1) ? +(~e)*((~g)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) + 1)⨸((~a)*(~c)* (~g)*((~m) + 1)) + 1⨸((~a)*(~c)*(~g)^(~n)*((~m) + 1))*∫(((~g)*(~x))^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)* simp((~a)*(~f)*(~c)*((~m) + 1) - (~e)*((~b)*(~c) + (~a)*(~d))*((~m) + (~n) + 1) - (~e)*(~n)*((~b)*(~c)*(~p) + (~a)*(~d)*(~q)) - (~b)*(~e)*(~d)*((~m) + (~n)*((~p) + (~q) + 2) + 1)*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_6_18", +@rule ∫(((~!g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^ (~p)*((~e) + (~!f)*(~x)^(~n))/((~c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + igt((~n), 0) ? +∫(ext_expand(((~g)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~e) + (~f)*(~x)^(~n))⨸((~c) + (~d)*(~x)^(~n)), (~x)), (~x)) : nothing) + +("1_1_3_6_19", +@rule ∫(((~!g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e) + (~!f)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~q), (~x)) && + igt((~n), 0) ? +(~e)*∫(((~g)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) + (~f)⨸(~e)^(~n)*∫(((~g)*(~x))^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) : nothing) + +("1_1_3_6_20", +@rule ∫(((~!g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e) + (~!f)*(~x)^(~n))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~q), (~x)) && + igt((~n), 0) && + igt((~r), 0) ? +(~e)*∫(((~g)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^((~r) - 1), (~x)) + (~f)⨸(~e)^(~n)* ∫(((~g)*(~x))^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^((~r) - 1), (~x)) : nothing) + +("1_1_3_6_21", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q)*((~e) + (~!f)*(~x)^(~n))^ (~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~q), (~r), (~x)) && + ilt((~n), 0) && + ext_isinteger((~m)) ? +-int_and_subst(((~a) + (~b)*(~x)^(-(~n)))^(~p)*((~c) + (~d)*(~x)^(-(~n)))^(~q)*((~e) + (~f)*(~x)^(-(~n)))^(~r)⨸(~x)^((~m) + 2), (~x), (~x), 1⨸(~x), "1_1_3_6_21") : nothing) + +("1_1_3_6_22", +@rule ∫(((~!g)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e) + (~!f)*(~x)^(~n))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~q), (~r), (~x)) && + ilt((~n), 0) && + isfraction((~m)) ? +-ext_den((~m))⨸(~g)* int_and_subst(((~a) + (~b)*(~g)^(-(~n))*(~x)^(-ext_den((~m))*(~n)))^(~p)*((~c) + (~d)*(~g)^(-(~n))*(~x)^(-ext_den((~m))*(~n)))^ (~q)*((~e) + (~f)*(~g)^(-(~n))*(~x)^(-ext_den((~m))*(~n)))^(~r)⨸(~x)^(ext_den((~m))*((~m) + 1) + 1), (~x), (~x), 1⨸((~g)*(~x))^(1⨸ext_den((~m))), "1_1_3_6_22") : nothing) + +("1_1_3_6_23", +@rule ∫(((~!g)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e) + (~!f)*(~x)^(~n))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~q), (~r), (~x)) && + ilt((~n), 0) && + !(isrational((~m))) ? +-((~g)*(~x))^(~m)*((~x)^(-1))^(~m)* int_and_subst(((~a) + (~b)*(~x)^(-(~n)))^(~p)*((~c) + (~d)*(~x)^(-(~n)))^(~q)*((~e) + (~f)*(~x)^(-(~n)))^(~r)⨸ (~x)^((~m) + 2), (~x), (~x), 1⨸(~x), "1_1_3_6_23") : nothing) + +("1_1_3_6_24", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q)*((~e) + (~!f)*(~x)^(~n))^ (~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~p), (~q), (~r), (~x)) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n))*((~m) + 1) - 1)*((~a) + (~b)*(~x)^(ext_den((~n))*(~n)))^(~p)*((~c) + (~d)*(~x)^(ext_den((~n))*(~n)))^ (~q)*((~e) + (~f)*(~x)^(ext_den((~n))*(~n)))^(~r), (~x), (~x), (~x)^(1⨸ext_den((~n))), "1_1_3_6_24") : nothing) + +("1_1_3_6_25", +@rule ∫(((~g)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e) + (~!f)*(~x)^(~n))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~q), (~r), (~x)) && + isfraction((~n)) ? +(~g)^intpart((~m))*((~g)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r), (~x)) : nothing) + +("1_1_3_6_26", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q)*((~e) + (~!f)*(~x)^(~n))^ (~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~q), (~r), (~x)) && + ext_isinteger(simplify((~n)/((~m) + 1))) ? +1⨸((~m) + 1)* int_and_subst(((~a) + (~b)*(~x)^simplify((~n)⨸((~m) + 1)))^ (~p)*((~c) + (~d)*(~x)^simplify((~n)⨸((~m) + 1)))^ (~q)*((~e) + (~f)*(~x)^simplify((~n)⨸((~m) + 1)))^(~r), (~x), (~x), (~x)^((~m) + 1), "1_1_3_6_26") : nothing) + +("1_1_3_6_27", +@rule ∫(((~g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e) + (~!f)*(~x)^(~n))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~q), (~r), (~x)) && + ext_isinteger(simplify((~n)/((~m) + 1))) ? +(~g)^intpart((~m))*((~g)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r), (~x)) : nothing) + +("1_1_3_6_28", +@rule ∫(((~!g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e) + (~!f)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~x)) && + lt((~p), -1) && + gt((~q), 0) && + !( + eq((~q), 1) && + simpler((~b)*(~c) - (~a)*(~d), (~b)*(~e) - (~a)*(~f)) + ) ? +-((~b)*(~e) - (~a)*(~f))*((~g)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^ (~q)⨸((~a)*(~b)*(~g)*(~n)*((~p) + 1)) + 1⨸((~a)*(~b)*(~n)*((~p) + 1))* ∫(((~g)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)* simp((~c)*((~b)*(~e)*(~n)*((~p) + 1) + ((~b)*(~e) - (~a)*(~f))*((~m) + 1)) + (~d)*((~b)*(~e)*(~n)*((~p) + 1) + ((~b)*(~e) - (~a)*(~f))*((~m) + (~n)*(~q) + 1))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_6_29", +@rule ∫(((~!g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^ (~q)*((~e) + (~!f)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~q), (~x)) && + lt((~p), -1) ? +-((~b)*(~e) - (~a)*(~f))*((~g)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~q) + 1)⨸((~a)*(~g)*(~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1)) + 1⨸((~a)*(~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1))* ∫(((~g)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^(~q)* simp((~c)*((~b)*(~e) - (~a)*(~f))*((~m) + 1) + (~e)*(~n)*((~b)*(~c) - (~a)*(~d))*((~p) + 1) + (~d)*((~b)*(~e) - (~a)*(~f))*((~m) + (~n)*((~p) + (~q) + 2) + 1)*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_6_30", +@rule ∫(((~!g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e) + (~!f)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + gt((~q), 0) && + !( + eq((~q), 1) && + simpler((~e) + (~f)*(~x)^(~n), (~c) + (~d)*(~x)^(~n)) + ) ? +(~f)*((~g)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^ (~q)⨸((~b)*(~g)*((~m) + (~n)*((~p) + (~q) + 1) + 1)) + 1⨸((~b)*((~m) + (~n)*((~p) + (~q) + 1) + 1))* ∫(((~g)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^((~q) - 1)* simp((~c)*(((~b)*(~e) - (~a)*(~f))*((~m) + 1) + (~b)*(~e)*(~n)*((~p) + (~q) + 1)) + ((~d)*((~b)*(~e) - (~a)*(~f))*((~m) + 1) + (~f)*(~n)*(~q)*((~b)*(~c) - (~a)*(~d)) + (~b)*(~e)*(~d)*(~n)*((~p) + (~q) + 1))*(~x)^(~n), (~x)), (~x)) : nothing) + +("1_1_3_6_31", +@rule ∫(((~!g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^ (~p)*((~e) + (~!f)*(~x)^(~n))/((~c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) ? +∫(ext_expand(((~g)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~e) + (~f)*(~x)^(~n))⨸((~c) + (~d)*(~x)^(~n)), (~x)), (~x)) : nothing) + +("1_1_3_6_32", +@rule ∫(((~!g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*((~c) + (~!d)*(~x)^(~n))^ (~q)*((~e) + (~!f)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~q), (~x)) ? +(~e)*∫(((~g)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) + (~f)*((~g)*(~x))^(~m)⨸(~x)^(~m)*∫((~x)^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) : nothing) + +("1_1_3_6_33", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~!n))^(~!p)*((~c) + (~!d)*(~x)^(~!mn))^ (~!q)*((~e) + (~!f)*(~x)^(~!n))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~r), (~x)) && + eq((~mn), -(~n)) && + ext_isinteger((~q)) ? +∫((~x)^((~m) - (~n)*(~q))*((~a) + (~b)*(~x)^(~n))^(~p)*((~d) + (~c)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r), (~x)) : nothing) + +("1_1_3_6_34", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*(~x)^(~!n))^(~!p)*((~c) + (~!d)*(~x)^(~!mn))^ (~!q)*((~e) + (~!f)*(~x)^(~!n))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~q), (~x)) && + eq((~mn), -(~n)) && + ext_isinteger((~p)) && + ext_isinteger((~r)) ? +∫((~x)^((~m) + (~n)*((~p) + (~r)))*((~b) + (~a)*(~x)^(-(~n)))^(~p)*((~c) + (~d)*(~x)^(-(~n)))^ (~q)*((~f) + (~e)*(~x)^(-(~n)))^(~r), (~x)) : nothing) + +("1_1_3_6_35", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*(~x)^(~!n))^(~!p)*((~c) + (~!d)*(~x)^(~!mn))^ (~q)*((~e) + (~!f)*(~x)^(~!n))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~q), (~r), (~x)) && + eq((~mn), -(~n)) && + !(ext_isinteger((~q))) ? +(~x)^((~n)*fracpart((~q)))*((~c) + (~d)*(~x)^(-(~n)))^fracpart((~q))⨸((~d) + (~c)*(~x)^(~n))^ fracpart((~q))* ∫((~x)^((~m) - (~n)*(~q))*((~a) + (~b)*(~x)^(~n))^(~p)*((~d) + (~c)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r), (~x)) : nothing) + +("1_1_3_6_36", +@rule ∫(((~g)*(~x))^(~m)*((~a) + (~!b)*(~x)^(~!n))^(~!p)*((~c) + (~!d)*(~x)^(~!mn))^ (~!q)*((~e) + (~!f)*(~x)^(~!n))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~q), (~r), (~x)) && + eq((~mn), -(~n)) ? +(~g)^intpart((~m))*((~g)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(-(~n)))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r), (~x)) : nothing) + +# ("1_1_3_6_37", +# @rule ∫(((~!g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e) + (~!f)*(~x)^(~n))^(~!r),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~q), (~r), (~x)) ? +# Unintegrable[((~g)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r), (~x)] : nothing) + +("1_1_3_6_38", +@rule ∫((~u)^(~!m)*((~!a) + (~!b)*(~v)^(~n))^(~!p)*((~!c) + (~!d)*(~v)^(~n))^ (~!q)*((~e) + (~!f)*(~v)^(~n))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~q), (~r), (~x)) && + linear_pair((~u), (~v), (~x)) ? +(~u)^(~m)⨸(ext_coeff((~v), (~x), 1)*(~v)^(~m))* int_and_subst((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e) + (~f)*(~x)^(~n))^(~r), (~x), (~x), (~v), "1_1_3_6_38") : nothing) + +("1_1_3_6_39", +@rule ∫(((~!g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e1) + (~!f1)*(~x)^(~!n2))^(~!r)*((~e2) + (~!f2)*(~x)^(~!n2))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e1), (~f1), (~e2), (~f2), (~g), (~m), (~n), (~p), (~q), (~r), (~x)) && + eq((~n2), (~n)/2) && + eq((~e2)*(~f1) + (~e1)*(~f2), 0) && + ( + ext_isinteger((~r)) || + gt((~e1), 0) && + gt((~e2), 0) + ) ? +∫(((~g)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e1)*(~e2) + (~f1)*(~f2)*(~x)^(~n))^(~r), (~x)) : nothing) + +("1_1_3_6_40", +@rule ∫(((~!g)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^ (~!q)*((~e1) + (~!f1)*(~x)^(~!n2))^(~!r)*((~e2) + (~!f2)*(~x)^(~!n2))^(~!r),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e1), (~f1), (~e2), (~f2), (~g), (~m), (~n), (~p), (~q), (~r), (~x)) && + eq((~n2), (~n)/2) && + eq((~e2)*(~f1) + (~e1)*(~f2), 0) ? +((~e1) + (~f1)*(~x)^((~n)⨸2))^ fracpart((~r))*((~e2) + (~f2)*(~x)^((~n)⨸2))^fracpart((~r))⨸((~e1)*(~e2) + (~f1)*(~f2)*(~x)^(~n))^ fracpart((~r))* ∫(((~g)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q)*((~e1)*(~e2) + (~f1)*(~f2)*(~x)^(~n))^(~r), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.7 P(x) (a+b x^n)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.7 P(x) (a+b x^n)^p.jl new file mode 100644 index 0000000..7820e67 --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.7 P(x) (a+b x^n)^p.jl @@ -0,0 +1,585 @@ +f11372(pq, x) = (@rule (~u)*x^(~m::ext_isinteger) => 1)(pq)!==nothing + +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.1.3.7 P(x) (a+b x^n)^p *) +#(* Int[Pq_*(a_+b_.*x_)^p_,x_Symbol] := With[{n=Denominator[p]}, n/b*Subst[Int[x^(n*p+n-1)*ReplaceAll[Pq,x->-a/b+x^n/b],x],x,(a+b*x)^( 1/n)]] /; FreeQ[{a,b},x] && PolyQ[Pq,x] && FractionQ[p] *) +("1_1_3_7_1", +@rule ∫((~Pq)*((~a) + (~!b)*(~x)^(~!n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~n), (~x)) && + poly((~Pq), (~x)) && + ( + igt((~p), 0) || + eq((~n), 1) + ) ? +∫(ext_expand((~Pq)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)), (~x)) : nothing) + + +("1_1_3_7_2", +@rule ∫((~Pq)*((~a) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~n), (~p), (~x)) && + poly((~Pq), (~x)) && + eq(ext_coeff((~Pq), (~x), 0), 0) && + !(f11372(~Pq, ~x)) ? +∫((~x)*poly_quotient((~Pq), (~x), (~x))*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + + +("1_1_3_7_3", +@rule ∫((~Pq)*((~a) + (~!b)*(~x)^(~!n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~p), (~x)) && + poly((~Pq), (~x)) && + igt((~n), 0) && + ge(exponent_of((~Pq), (~x)), (~n)) && + eq(poly_remainder((~Pq), (~a) + (~b)*(~x)^(~n), (~x)), 0) ? +∫(poly_quotient((~Pq), (~a) + (~b)*(~x)^(~n), (~x))*((~a) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing) + + +# Rule skipped because of "Module" +# Int[Pq_*(a_ + b_.*x_^n_.)^p_, x_Symbol] := Module[{q = Expon[Pq, x], i}, (a + b*x^n)^p* Sum[Coeff[Pq, x, i]*x^(i + 1)/(n*p + i + 1), {i, 0, q}] + a*n*p* Int[(a + b*x^n)^(p - 1)* Sum[Coeff[Pq, x, i]*x^i/(n*p + i + 1), {i, 0, q}], x]] /; FreeQ[{a, b}, x] && PolyQ[Pq, x] && IGtQ[(n - 1)/2, 0] && GtQ[p, 0] + +# Rule skipped because of "Module" +# Int[Pq_*(a_ + b_.*x_^n_)^p_, x_Symbol] := Module[{q = Expon[Pq, x], i}, (a*Coeff[Pq, x, q] - b*x*ExpandToSum[Pq - Coeff[Pq, x, q]*x^q, x])*(a + b*x^n)^(p + 1)/(a*b*n*(p + 1)) + 1/(a*n*(p + 1))* Int[Sum[(n*(p + 1) + i + 1)*Coeff[Pq, x, i]*x^i, {i, 0, q - 1}]*(a + b*x^n)^(p + 1), x] /; q == n - 1] /; FreeQ[{a, b}, x] && PolyQ[Pq, x] && IGtQ[n, 0] && LtQ[p, -1] + +("1_1_3_7_6", +@rule ∫((~Pq)*((~a) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~Pq), (~x)) && + igt((~n), 0) && + lt((~p), -1) && + lt(exponent_of((~Pq), (~x)), (~n) - 1) ? +-(~x)*(~Pq)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~n)*((~p) + 1)) + 1⨸((~a)*(~n)*((~p) + 1))* ∫(expand_to_sum((~n)*((~p) + 1)*(~Pq) + Symbolics.derivative((~x)*(~Pq), (~x)), (~x))*((~a) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing) + + +("1_1_3_7_7", +@rule ∫((~P4)/((~a) + (~!b)*(~x)^4)^(3//2),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~P4), (~x), 4) && + eq(ext_coeff((~P4), (~x), 2), 0) ? +let + d = ext_coeff((~P4), (~x), 0) + e = ext_coeff((~P4), (~x), 1) + f = ext_coeff((~P4), (~x), 3) + g = ext_coeff((~P4), (~x), 4) + + eq((~b)*d + (~a)*g, 0) ? + -((~a)*f + 2*(~a)*g*(~x) - (~b)*e*(~x)^2)⨸(2*(~a)*(~b)*sqrt((~a) + (~b)*(~x)^4)) : nothing +end : nothing) + +("1_1_3_7_8", +@rule ∫((~P6)/((~a) + (~!b)*(~x)^4)^(3//2),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~P6), (~x), 6) && + eq(ext_coeff((~P6), (~x), 1), 0) && + eq(ext_coeff((~P6), (~x), 5), 0) ? +let + d = ext_coeff((~P6), (~x), 0) + e = ext_coeff((~P6), (~x), 2) + f = ext_coeff((~P6), (~x), 3) + g = ext_coeff((~P6), (~x), 4) + h = ext_coeff((~P6), (~x), 6) + + eq((~b)*e - 3*(~a)*h, 0) && + eq((~b)*d + (~a)*g, 0) ? + -((~a)*f - 2*(~b)*d*(~x) - 2*(~a)*h*(~x)^3)⨸(2*(~a)*(~b)*sqrt((~a) + (~b)*(~x)^4)) : nothing +end : nothing) + +# Rule skipped because of "Module" +# Int[Pq_*(a_ + b_.*x_^n_.)^p_, x_Symbol] := With[{q = Expon[Pq, x]}, Module[{Q = PolynomialQuotient[b^(Floor[(q - 1)/n] + 1)*Pq, a + b*x^n, x], R = PolynomialRemainder[b^(Floor[(q - 1)/n] + 1)*Pq, a + b*x^n, x]}, -x* R*(a + b*x^n)^(p + 1)/(a*n*(p + 1)* b^(Floor[(q - 1)/n] + 1)) + 1/(a*n*(p + 1)*b^(Floor[(q - 1)/n] + 1))* Int[(a + b*x^n)^(p + 1)* ExpandToSum[a*n*(p + 1)*Q + n*(p + 1)*R + D[x*R, x], x], x]] /; GeQ[q, n]] /; FreeQ[{a, b}, x] && PolyQ[Pq, x] && IGtQ[n, 0] && LtQ[p, -1] +("1_1_3_7_10", +@rule ∫(((~A) + (~!B)*(~x))/((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~A), (~B), (~x)) && + eq((~a)*(~B)^3 - (~b)*(~A)^3, 0) ? +(~B)^3⨸(~b)*∫(1⨸((~A)^2 - (~A)*(~B)*(~x) + (~B)^2*(~x)^2), (~x)) : nothing) + + +("1_1_3_7_11", +@rule ∫(((~A) + (~!B)*(~x))/((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~A), (~B), (~x)) && + !eq((~a)*(~B)^3 - (~b)*(~A)^3, 0) && + pos((~a)/(~b)) ? +let + r = ext_num(rt((~a)⨸(~b), 3)) + s = ext_den(rt((~a)⨸(~b), 3)) + + -r*((~B)*r - (~A)*s)⨸(3*(~a)*s)*∫(1⨸(r + s*(~x)), (~x)) + r⨸(3*(~a)*s)* ∫((r*((~B)*r + 2*(~A)*s) + s*((~B)*r - (~A)*s)*(~x))⨸(r^2 - r*s*(~x) + s^2*(~x)^2), (~x)) +end : nothing) + +("1_1_3_7_12", +@rule ∫(((~A) + (~!B)*(~x))/((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~A), (~B), (~x)) && + !eq((~a)*(~B)^3 - (~b)*(~A)^3, 0) && + neg((~a)/(~b)) ? +let + r = ext_num(rt(-(~a)⨸(~b), 3)) + s = ext_den(rt(-(~a)⨸(~b), 3)) + + r*((~B)*r + (~A)*s)⨸(3*(~a)*s)*∫(1⨸(r - s*(~x)), (~x)) - r⨸(3*(~a)*s)* ∫((r*((~B)*r - 2*(~A)*s) - s*((~B)*r + (~A)*s)*(~x))⨸(r^2 + r*s*(~x) + s^2*(~x)^2), (~x)) +end : nothing) + +("1_1_3_7_13", +@rule ∫((~P2)/((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~P2), (~x), 2) ? +let + A = ext_coeff((~P2), (~x), 0) + B = ext_coeff((~P2), (~x), 1) + C = ext_coeff((~P2), (~x), 2) + + eq(B^2 - A*C, 0) && + eq((~b)*B^3 + (~a)*C^3, 0) ? + -C^2⨸(~b)*∫(1⨸(B - C*(~x)), (~x)) : nothing +end : nothing) + +("1_1_3_7_14", +@rule ∫((~P2)/((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~P2), (~x), 2) ? +let + A = ext_coeff((~P2), (~x), 0) + B = ext_coeff((~P2), (~x), 1) + C = ext_coeff((~P2), (~x), 2) + q = (~a)⟰(1⨸3)⨸(~b)⟰(1⨸3) + + eq(A*(~b)⟰(2/3) - (~a)⟰(1/3)*(~b)⟰(1/3)*B - 2*(~a)⟰(2/3)*C, 0) ? + C⨸(~b)*∫(1⨸(q + (~x)), (~x)) + (B + C*q)⨸(~b)* ∫(1⨸(q^2 - q*(~x) + (~x)^2), (~x)) : nothing +end : nothing) + +("1_1_3_7_15", +@rule ∫((~P2)/((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~P2), (~x), 2) ? +let + A = ext_coeff((~P2), (~x), 0) + B = ext_coeff((~P2), (~x), 1) + C = ext_coeff((~P2), (~x), 2) + q = (-(~a))⟰(1⨸3)⨸(-(~b))⟰(1⨸3) + + eq(A*(-(~b))⟰(2/3) - (-(~a))⟰(1/3)*(-(~b))⟰(1/3)*B - 2*(-(~a))⟰(2/3)*C, 0) ? + C⨸(~b)*∫(1⨸(q + (~x)), (~x)) + (B + C*q)⨸(~b)* ∫(1⨸(q^2 - q*(~x) + (~x)^2), (~x)) : nothing +end : nothing) + +("1_1_3_7_16", +@rule ∫((~P2)/((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~P2), (~x), 2) ? +let + A = ext_coeff((~P2), (~x), 0) + B = ext_coeff((~P2), (~x), 1) + C = ext_coeff((~P2), (~x), 2) + q = (-(~a))⟰(1⨸3)⨸(~b)⟰(1⨸3) + + eq(A*(~b)⟰(2/3) + (-(~a))⟰(1/3)*(~b)⟰(1/3)*B - 2*(-(~a))⟰(2/3)*C, 0) ? + -C⨸(~b)* ∫(1⨸(q - (~x)), (~x)) + (B - C*q)⨸(~b)*∫(1⨸(q^2 + q*(~x) + (~x)^2), (~x)) : nothing +end : nothing) + +("1_1_3_7_17", +@rule ∫((~P2)/((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~P2), (~x), 2) ? +let + A = ext_coeff((~P2), (~x), 0) + B = ext_coeff((~P2), (~x), 1) + C = ext_coeff((~P2), (~x), 2) + q = (~a)⟰(1⨸3)⨸(-(~b))⟰(1⨸3) + + eq(A*(-(~b))⟰(2/3) + (~a)⟰(1/3)*(-(~b))⟰(1/3)*B - 2*(~a)⟰(2/3)*C, 0) ? + -C⨸(~b)* ∫(1⨸(q - (~x)), (~x)) + (B - C*q)⨸(~b)*∫(1⨸(q^2 + q*(~x) + (~x)^2), (~x)) : nothing +end : nothing) + +("1_1_3_7_18", +@rule ∫((~P2)/((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~P2), (~x), 2) ? +let + A = ext_coeff((~P2), (~x), 0) + B = ext_coeff((~P2), (~x), 1) + C = ext_coeff((~P2), (~x), 2) + q = ((~a)⨸(~b))⟰(1⨸3) + + eq(A - ((~a)/(~b))⟰(1/3)*B - 2*((~a)/(~b))⟰(2/3)*C, 0) ? + C⨸(~b)*∫(1⨸(q + (~x)), (~x)) + (B + C*q)⨸(~b)* ∫(1⨸(q^2 - q*(~x) + (~x)^2), (~x)) : nothing +end : nothing) + +("1_1_3_7_19", +@rule ∫((~P2)/((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~P2), (~x), 2) ? +let + A = ext_coeff((~P2), (~x), 0) + B = ext_coeff((~P2), (~x), 1) + C = ext_coeff((~P2), (~x), 2) + q = rt((~a)⨸(~b), 3) + + eq(A - rt((~a)/(~b), 3)*B - 2*rt((~a)/(~b), 3)^2*C, 0) ? + C⨸(~b)*∫(1⨸(q + (~x)), (~x)) + (B + C*q)⨸(~b)* ∫(1⨸(q^2 - q*(~x) + (~x)^2), (~x)) : nothing +end : nothing) + +("1_1_3_7_20", +@rule ∫((~P2)/((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~P2), (~x), 2) ? +let + A = ext_coeff((~P2), (~x), 0) + B = ext_coeff((~P2), (~x), 1) + C = ext_coeff((~P2), (~x), 2) + q = (-(~a)⨸(~b))⟰(1⨸3) + + eq(A + (-(~a)/(~b))⟰(1/3)*B - 2*(-(~a)/(~b))⟰(2/3)*C, 0) ? + -C⨸(~b)*∫(1⨸(q - (~x)), (~x)) + (B - C*q)⨸(~b)* ∫(1⨸(q^2 + q*(~x) + (~x)^2), (~x)) : nothing +end : nothing) + +("1_1_3_7_21", +@rule ∫((~P2)/((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~P2), (~x), 2) ? +let + A = ext_coeff((~P2), (~x), 0) + B = ext_coeff((~P2), (~x), 1) + C = ext_coeff((~P2), (~x), 2) + q = rt(-(~a)⨸(~b), 3) + + eq(A + rt(-(~a)/(~b), 3)*B - 2*rt(-(~a)/(~b), 3)^2*C, 0) ? + -C⨸(~b)*∫(1⨸(q - (~x)), (~x)) + (B - C*q)⨸(~b)* ∫(1⨸(q^2 + q*(~x) + (~x)^2), (~x)) : nothing +end : nothing) + +("1_1_3_7_22", +@rule ∫((~P2)/((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~P2), (~x), 2) ? +let + A = ext_coeff((~P2), (~x), 0) + B = ext_coeff((~P2), (~x), 1) + C = ext_coeff((~P2), (~x), 2) + + eq((~a)*B^3 - (~b)*A^3, 0) || + !(isrational((~a)/(~b))) ? + ∫((A + B*(~x))⨸((~a) + (~b)*(~x)^3), (~x)) + C*∫((~x)^2⨸((~a) + (~b)*(~x)^3), (~x)) : nothing +end : nothing) + +("1_1_3_7_23", +@rule ∫((~P2)/((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~P2), (~x), 2) ? +let + A = ext_coeff((~P2), (~x), 0) + B = ext_coeff((~P2), (~x), 1) + C = ext_coeff((~P2), (~x), 2) + q = ((~a)⨸(~b))⟰(1⨸3) + + eq(A - B*((~a)/(~b))⟰(1/3) + C*((~a)/(~b))⟰(2/3), 0) ? + q^2⨸(~a)*∫((A + C*q*(~x))⨸(q^2 - q*(~x) + (~x)^2), (~x)) : nothing +end : nothing) + +("1_1_3_7_24", +@rule ∫((~P2)/((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~P2), (~x), 2) ? +let + A = ext_coeff((~P2), (~x), 0) + B = ext_coeff((~P2), (~x), 1) + C = ext_coeff((~P2), (~x), 2) + q = (-(~a)⨸(~b))⟰(1⨸3) + + eq(A + B*(-(~a)/(~b))⟰(1/3) + C*(-(~a)/(~b))⟰(2/3), 0) ? + q⨸(~a)*∫((A*q + (A + B*q)*(~x))⨸(q^2 + q*(~x) + (~x)^2), (~x)) : nothing +end : nothing) + +("1_1_3_7_25", +@rule ∫((~P2)/((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~P2), (~x), 2) && + gt((~a)/(~b), 0) ? +let + A = ext_coeff((~P2), (~x), 0) + B = ext_coeff((~P2), (~x), 1) + C = ext_coeff((~P2), (~x), 2) + q = ((~a)⨸(~b))⟰(1⨸3) + + !eq((~a)*B^3 - (~b)*A^3, 0) && + !eq(A - B*q + C*q^2, 0) ? + q*(A - B*q + C*q^2)⨸(3*(~a))*∫(1⨸(q + (~x)), (~x)) + q⨸(3*(~a))*∫((q*(2*A + B*q - C*q^2) - (A - B*q - 2*C*q^2)* (~x))⨸(q^2 - q*(~x) + (~x)^2), (~x)) : nothing +end : nothing) + +("1_1_3_7_26", +@rule ∫((~P2)/((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~P2), (~x), 2) && + lt((~a)/(~b), 0) ? +let + A = ext_coeff((~P2), (~x), 0) + B = ext_coeff((~P2), (~x), 1) + C = ext_coeff((~P2), (~x), 2) + q = (-(~a)⨸(~b))⟰(1⨸3) + + !eq((~a)*B^3 - (~b)*A^3, 0) && + !eq(A + B*q + C*q^2, 0) ? + q*(A + B*q + C*q^2)⨸(3*(~a))*∫(1⨸(q - (~x)), (~x)) + q⨸(3*(~a))*∫((q*(2*A - B*q - C*q^2) + (A + B*q - 2*C*q^2)* (~x))⨸(q^2 + q*(~x) + (~x)^2), (~x)) : nothing +end : nothing) + +("1_1_3_7_27", +@rule ∫((~Pq)/((~a) + (~!b)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~Pq), (~x)) && + igt((~n)/2, 0) && + exponent_of((~Pq), (~x)) < (~n) ? +let + v = sum([(~x)^iii*(ext_coeff((~Pq), (~x), iii) + ext_coeff((~Pq), (~x), (~n)⨸2 + iii)*(~x)^((~n)⨸2))⨸((~a) + (~b)*(~x)^(~n)) for iii in ( 0):( (~n)⨸2 - 1)]) + + issum(v) ? + ∫(v, (~x)) : nothing +end : nothing) + +("1_1_3_7_28", +@rule ∫(((~c) + (~!d)*(~x))/sqrt((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + pos((~a)) && + eq((~b)*(~c)^3 - 2*(5 - 3*sqrt(3))*(~a)*(~d)^3, 0) ? +let + r = ext_num(simplify((1 - sqrt(3))*(~d)⨸(~c))) + s = ext_den(simplify((1 - sqrt(3))*(~d)⨸(~c))) + + 2*(~d)*s^3*sqrt((~a) + (~b)*(~x)^3)⨸((~a)*r^2*((1 + sqrt(3))*s + r*(~x))) - 3^(1⨸4)*sqrt(2 - sqrt(3))*(~d)*s*(s + r*(~x))* sqrt((s^2 - r*s*(~x) + r^2*(~x)^2)⨸((1 + sqrt(3))*s + r*(~x))^2)⨸ (r^2*sqrt((~a) + (~b)*(~x)^3)* sqrt(s*(s + r*(~x))⨸((1 + sqrt(3))*s + r*(~x))^2))* elliptic_e( asin(((1 - sqrt(3))*s + r*(~x))⨸((1 + sqrt(3))*s + r*(~x))), -7 - 4*sqrt(3)) +end : nothing) + +("1_1_3_7_29", +@rule ∫(((~c) + (~!d)*(~x))/sqrt((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + pos((~a)) && + !eq((~b)*(~c)^3 - 2*(5 - 3*sqrt(3))*(~a)*(~d)^3, 0) ? +let + r = ext_num(rt((~b)⨸(~a), 3)) + s = ext_den(rt((~b)⨸(~a), 3)) + + ((~c)*r - (1 - sqrt(3))*(~d)*s)⨸r*∫(1⨸sqrt((~a) + (~b)*(~x)^3), (~x)) + (~d)⨸r*∫(((1 - sqrt(3))*s + r*(~x))⨸sqrt((~a) + (~b)*(~x)^3), (~x)) +end : nothing) + +("1_1_3_7_30", +@rule ∫(((~c) + (~!d)*(~x))/sqrt((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + neg((~a)) && + eq((~b)*(~c)^3 - 2*(5 + 3*sqrt(3))*(~a)*(~d)^3, 0) ? +let + r = ext_num(simplify((1 + sqrt(3))*(~d)⨸(~c))) + s = ext_den(simplify((1 + sqrt(3))*(~d)⨸(~c))) + + 2*(~d)*s^3*sqrt((~a) + (~b)*(~x)^3)⨸((~a)*r^2*((1 - sqrt(3))*s + r*(~x))) + 3^(1⨸4)*sqrt(2 + sqrt(3))*(~d)*s*(s + r*(~x))* sqrt((s^2 - r*s*(~x) + r^2*(~x)^2)⨸((1 - sqrt(3))*s + r*(~x))^2)⨸ (r^2*sqrt((~a) + (~b)*(~x)^3)* sqrt(-s*(s + r*(~x))⨸((1 - sqrt(3))*s + r*(~x))^2))* elliptic_e( asin(((1 + sqrt(3))*s + r*(~x))⨸((1 - sqrt(3))*s + r*(~x))), -7 + 4*sqrt(3)) +end : nothing) + +("1_1_3_7_31", +@rule ∫(((~c) + (~!d)*(~x))/sqrt((~a) + (~!b)*(~x)^3),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + neg((~a)) && + !eq((~b)*(~c)^3 - 2*(5 + 3*sqrt(3))*(~a)*(~d)^3, 0) ? +let + r = ext_num(rt((~b)⨸(~a), 3)) + s = ext_den(rt((~b)⨸(~a), 3)) + + ((~c)*r - (1 + sqrt(3))*(~d)*s)⨸r*∫(1⨸sqrt((~a) + (~b)*(~x)^3), (~x)) + (~d)⨸r*∫(((1 + sqrt(3))*s + r*(~x))⨸sqrt((~a) + (~b)*(~x)^3), (~x)) +end : nothing) + +("1_1_3_7_32", +@rule ∫(((~c) + (~!d)*(~x)^4)/sqrt((~a) + (~!b)*(~x)^6),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq(2*rt((~b)/(~a), 3)^2*(~c) - (1 - sqrt(3))*(~d), 0) ? +let + r = ext_num(rt((~b)⨸(~a), 3)) + s = ext_den(rt((~b)⨸(~a), 3)) + + (1 + sqrt(3))*(~d)*s^3*(~x)* sqrt((~a) + (~b)*(~x)^6)⨸(2*(~a)*r^2*(s + (1 + sqrt(3))*r*(~x)^2)) - 3^(1⨸4)*(~d)*s*(~x)*(s + r*(~x)^2)* sqrt((s^2 - r*s*(~x)^2 + r^2*(~x)^4)⨸(s + (1 + sqrt(3))*r*(~x)^2)^2)⨸ (2*r^2* sqrt((r*(~x)^2*(s + r*(~x)^2))⨸(s + (1 + sqrt(3))*r*(~x)^2)^2)* sqrt((~a) + (~b)*(~x)^6))* elliptic_e( acos((s + (1 - sqrt(3))*r*(~x)^2)⨸(s + (1 + sqrt(3))*r* (~x)^2)), (2 + sqrt(3))⨸4) +end : nothing) + +("1_1_3_7_33", +@rule ∫(((~c) + (~!d)*(~x)^4)/sqrt((~a) + (~!b)*(~x)^6),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq(2*rt((~b)/(~a), 3)^2*(~c) - (1 - sqrt(3))*(~d), 0) ? +let + q = rt((~b)⨸(~a), 3) + + (2*(~c)*q^2 - (1 - sqrt(3))*(~d))⨸(2*q^2)*∫(1⨸sqrt((~a) + (~b)*(~x)^6), (~x)) + (~d)⨸(2*q^2)*∫((1 - sqrt(3) + 2*q^2*(~x)^4)⨸sqrt((~a) + (~b)*(~x)^6), (~x)) +end : nothing) + +("1_1_3_7_34", +@rule ∫(((~c) + (~!d)*(~x)^2)/sqrt((~a) + (~!b)*(~x)^8),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c)^4 - (~a)*(~d)^4, 0) ? +-(~c)*(~d)*(~x)^3*sqrt(-((~c) - (~d)*(~x)^2)^2⨸((~c)*(~d)*(~x)^2))* sqrt(-(~d)^2*((~a) + (~b)*(~x)^8)⨸((~b)*(~c)^2*(~x)^4))⨸(sqrt(2 + sqrt(2))*((~c) - (~d)*(~x)^2)* sqrt((~a) + (~b)*(~x)^8))* elliptic_f( asin(1⨸2* sqrt((sqrt(2)*(~c)^2 + 2*(~c)*(~d)*(~x)^2 + sqrt(2)*(~d)^2*(~x)^4)⨸((~c)*(~d)* (~x)^2))), -2*(1 - sqrt(2))) : nothing) + + +("1_1_3_7_35", +@rule ∫(((~c) + (~!d)*(~x)^2)/sqrt((~a) + (~!b)*(~x)^8),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c)^4 - (~a)*(~d)^4, 0) ? +((~d) + rt((~b)⨸(~a), 4)*(~c))⨸(2*rt((~b)⨸(~a), 4))* ∫((1 + rt((~b)⨸(~a), 4)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^8), (~x)) - ((~d) - rt((~b)⨸(~a), 4)*(~c))⨸(2*rt((~b)⨸(~a), 4))* ∫((1 - rt((~b)⨸(~a), 4)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^8), (~x)) : nothing) + + +("1_1_3_7_36", +@rule ∫((~Pq)/((~x)*sqrt((~a) + (~!b)*(~x)^(~n))),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~Pq), (~x)) && + igt((~n), 0) && + !eq(ext_coeff((~Pq), (~x), 0), 0) ? +ext_coeff((~Pq), (~x), 0)*∫(1⨸((~x)*sqrt((~a) + (~b)*(~x)^(~n))), (~x)) + ∫(expand_to_sum(((~Pq) - ext_coeff((~Pq), (~x), 0))⨸(~x), (~x))⨸sqrt((~a) + (~b)*(~x)^(~n)), (~x)) : nothing) + + +# Rule skipped because of "Module" +# Int[Pq_*(a_ + b_.*x_^n_)^p_, x_Symbol] := Module[{q = Expon[Pq, x], j, k}, Int[ Sum[x^j*Sum[ Coeff[Pq, x, j + k*n/2]*x^(k*n/2), {k, 0, 2*(q - j)/n + 1}]*(a + b*x^n)^p, {j, 0, n/2 - 1}], x]] /; FreeQ[{a, b, p}, x] && PolyQ[Pq, x] && IGtQ[n/2, 0] && Not[PolyQ[Pq, x^(n/2)]] +("1_1_3_7_38", +@rule ∫((~Pq)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~p), (~x)) && + poly((~Pq), (~x)) && + igt((~n), 0) && + exponent_of((~Pq), (~x)) == (~n) - 1 ? +ext_coeff((~Pq), (~x), (~n) - 1)*∫((~x)^((~n) - 1)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) + ∫( expand_to_sum((~Pq) - ext_coeff((~Pq), (~x), (~n) - 1)*(~x)^((~n) - 1), (~x))*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + + +("1_1_3_7_39", +@rule ∫((~Pq)/((~a) + (~!b)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~Pq), (~x)) && + ext_isinteger((~n)) ? +∫(ext_expand((~Pq)⨸((~a) + (~b)*(~x)^(~n)), (~x)), (~x)) : nothing) + + +("1_1_3_7_40", +@rule ∫((~Pq)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~p), (~x)) && + poly((~Pq), (~x)) && + igt((~n), 0) ? +let + q = exponent_of((~Pq), (~x)) + PQ = ext_coeff((~Pq), (~x), q) + + !eq(q + (~n)*(~p) + 1, 0) && + q - (~n) >= 0 && + ( + ext_isinteger(2*(~p)) || + ext_isinteger((~p) + (q + 1)/(2*(~n))) + ) ? + PQ*(~x)^(q - (~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*(q + (~n)*(~p) + 1)) + 1⨸((~b)*(q + (~n)*(~p) + 1))* ∫(expand_to_sum( (~b)*(q + (~n)*(~p) + 1)*((~Pq) - PQ*(~x)^q) - (~a)*PQ*(q - (~n) + 1)*(~x)^(q - (~n)), (~x))*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing +end : nothing) + +("1_1_3_7_41", +@rule ∫((~Pq)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~p), (~x)) && + poly((~Pq), (~x)) && + ilt((~n), 0) ? +let + q = exponent_of((~Pq), (~x)) + + -int_and_subst(expand_to_sum((~x)^q*substitute((~Pq), Dict( (~x) => (~x)^(-1))), (~x))*((~a) + (~b)*(~x)^(-(~n)))^(~p)⨸(~x)^(q + 2), (~x), (~x), 1⨸(~x), "1_1_3_7_41") +end : nothing) + +("1_1_3_7_42", +@rule ∫((~Pq)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~p), (~x)) && + poly((~Pq), (~x)) && + isfraction((~n)) ? +let + g = ext_den((~n)) + + g*int_and_subst((~x)^(g - 1)*substitute((~Pq), Dict( (~x) => (~x)^g))*((~a) + (~b)*(~x)^(g*(~n)))^(~p), (~x), (~x), (~x)^(1⨸g), "1_1_3_7_42") +end : nothing) + +("1_1_3_7_43", +@rule ∫(((~A) + (~!B)*(~x)^(~!m))*((~a) + (~!b)*(~x)^(~n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~A), (~B), (~m), (~n), (~p), (~x)) && + eq((~m) - (~n) + 1, 0) ? +(~A)*∫(((~a) + (~b)*(~x)^(~n))^(~p), (~x)) + (~B)*∫((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + + +("1_1_3_7_44", +@rule ∫((~P3)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~n), (~x)) && + poly((~P3), (~x)^((~n)/2), 3) && + ilt((~p), -1) ? +let + A = ext_coeff((~P3), (~x)^((~n)⨸2), 0) + B = ext_coeff((~P3), (~x)^((~n)⨸2), 1) + C = ext_coeff((~P3), (~x)^((~n)⨸2), 2) + D = ext_coeff((~P3), (~x)^((~n)⨸2), 3) + + -((~x)*((~b)*A - (~a)*C + ((~b)*B - (~a)*D)*(~x)^((~n)⨸2))*((~a) + (~b)*(~x)^(~n))^((~p) + 1))⨸((~a)*(~b)* (~n)*((~p) + 1)) - 1⨸(2*(~a)*(~b)*(~n)*((~p) + 1))* ∫(((~a) + (~b)*(~x)^(~n))^((~p) + 1)* simp(2*(~a)*C - 2*(~b)*A*((~n)*((~p) + 1) + 1) + ((~a)*D*((~n) + 2) - (~b)*B*((~n)*(2*(~p) + 3) + 2))*(~x)^((~n)⨸2), (~x)), (~x)) +end : nothing) + +("1_1_3_7_45", +@rule ∫((~Pq)*((~a) + (~!b)*(~x)^(~n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~n), (~p), (~x)) && + ( + poly((~Pq), (~x)) || + poly((~Pq), (~x)^(~n)) + ) ? +∫(ext_expand((~Pq)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)), (~x)) : nothing) + + +("1_1_3_7_46", +@rule ∫((~Pq)*((~a) + (~!b)*(~v)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~n), (~p), (~x)) && + linear((~v), (~x)) && + poly((~Pq), (~v)^(~n)) ? +1⨸ext_coeff((~v), (~x), 1)* int_and_subst(substitute((~v), Dict( (~Pq) => (~x)))*((~a) + (~b)*(~x)^(~n))^(~p), (~x), (~x), (~v), "prova_1") : nothing) + +("1_1_3_7_47", +@rule ∫((~Pq)*((~a1) + (~!b1)*(~x)^(~!n))^(~!p)*((~a2) + (~!b2)*(~x)^(~!n))^(~!p),(~x)) => + !contains_var((~a1), (~b1), (~a2), (~b2), (~n), (~p), (~x)) && + poly((~Pq), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ( + ext_isinteger((~p)) || + gt((~a1), 0) && + gt((~a2), 0) + ) ? +∫((~Pq)*((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(2*(~n)))^(~p), (~x)) : nothing) + + +("1_1_3_7_48", +@rule ∫((~Pq)*((~a1) + (~!b1)*(~x)^(~!n))^(~!p)*((~a2) + (~!b2)*(~x)^(~!n))^(~!p),(~x)) => + !contains_var((~a1), (~b1), (~a2), (~b2), (~n), (~p), (~x)) && + poly((~Pq), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + !( + eq((~n), 1) && + linear((~Pq), (~x)) + ) ? +((~a1) + (~b1)*(~x)^(~n))^ fracpart((~p))*((~a2) + (~b2)*(~x)^(~n))^fracpart((~p))⨸((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(2*(~n)))^ fracpart((~p))* ∫((~Pq)*((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(2*(~n)))^(~p), (~x)) : nothing) + + +("1_1_3_7_49", +@rule ∫(((~e) + (~!f)*(~x)^(~!n) + (~!g)*(~x)^(~!n2))*((~a) + (~!b)*(~x)^(~!n))^ (~!p)*((~c) + (~!d)*(~x)^(~!n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + eq((~a)*(~c)*(~f) - (~e)*((~b)*(~c) + (~a)*(~d))*((~n)*((~p) + 1) + 1), 0) && + eq((~a)*(~c)*(~g) - (~b)*(~d)*(~e)*(2*(~n)*((~p) + 1) + 1), 0) ? +(~e)*(~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~c)) : nothing) + + +("1_1_3_7_50", +@rule ∫(((~e) + (~!g)*(~x)^(~!n2))*((~a) + (~!b)*(~x)^(~!n))^(~!p)*((~c) + (~!d)*(~x)^(~!n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~g), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + eq((~n)*((~p) + 1) + 1, 0) && + eq((~a)*(~c)*(~g) - (~b)*(~d)*(~e)*(2*(~n)*((~p) + 1) + 1), 0) ? +(~e)*(~x)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~c)) : nothing) + + +("1_1_3_7_51", +@rule ∫(((~A) + (~!B)*(~x)^(~!m))*((~!a) + (~!b)*(~x)^(~n))^(~!p)*((~c) + (~!d)*(~x)^(~n))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~A), (~B), (~m), (~n), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~m) - (~n) + 1, 0) ? +(~A)*∫(((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) + (~B)*∫((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) : nothing) + + +("1_1_3_7_52", +@rule ∫((~Px)^(~!q)*((~!a) + (~!b)*((~c) + (~!d)*(~x))^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~p), (~x)) && + poly((~Px), (~x)) && + ext_isinteger((~q)) && + isfraction((~n)) ? +let + k = ext_den((~n)) + + k⨸(~d)* int_and_subst( ext_simplify( (~x)^(k - 1)*substitute((~Px), Dict( (~x) => (~x)^k⨸(~d) - (~c)⨸(~d)))^(~q)*((~a) + (~b)*(~x)^(k*(~n)))^(~p), (~x)), (~x), (~x), ((~c) + (~d)*(~x))^(1⨸k), "1_1_3_7_52") +end : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.8 P(x) (c x)^m (a+b x^n)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.8 P(x) (c x)^m (a+b x^n)^p.jl new file mode 100644 index 0000000..81d8c2c --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.3 General/1.1.3.8 P(x) (c x)^m (a+b x^n)^p.jl @@ -0,0 +1,299 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.1.3.8 P(x) (c x)^m (a+b x^n)^p *) +("1_1_3_8_1", +@rule ∫((~x)^(~!m)*((~e) + (~!f)*(~x)^(~!q) + (~!g)*(~x)^(~!r) + (~!h)*(~x)^(~!n))/((~a) + (~!c)*(~x)^(~!n))^(3//2),(~x)) => + !contains_var((~a), (~c), (~e), (~f), (~g), (~h), (~m), (~n), (~x)) && + eq((~q), (~n)/4) && + eq((~r), 3*(~n)/4) && + eq(4*(~m) - (~n) + 4, 0) && + eq((~c)*(~e) + (~a)*(~h), 0) ? +-(2*(~a)*(~g) + 4*(~a)*(~h)*(~x)^((~n)⨸4) - 2*(~c)*(~f)*(~x)^((~n)⨸2))⨸((~a)*(~c)*(~n)*sqrt((~a) + (~c)*(~x)^(~n))) : nothing) + +("1_1_3_8_2", +@rule ∫(((~d)*(~x))^ (~!m)*((~e) + (~!f)*(~x)^(~!q) + (~!g)*(~x)^(~!r) + (~!h)*(~x)^(~!n))/((~a) + (~!c)*(~x)^(~!n))^(3//2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~x)) && + eq(4*(~m) - (~n) + 4, 0) && + eq((~q), (~n)/4) && + eq((~r), 3*(~n)/4) && + eq((~c)*(~e) + (~a)*(~h), 0) ? +((~d)*(~x))^(~m)⨸(~x)^(~m)* ∫((~x)^(~m)*((~e) + (~f)*(~x)^((~n)⨸4) + (~g)*(~x)^((3*(~n))⨸4) + (~h)*(~x)^(~n))⨸((~a) + (~c)*(~x)^(~n))^(3⨸2), (~x)) : nothing) + +("1_1_3_8_3", +@rule ∫(((~!c)*(~x))^(~m)*(~Pq)*((~a) + (~!b)*(~x))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~x)) && + poly((~Pq), (~x)) && + isfraction((~p)) && + ilt((~m), -1) ? +ext_den((~p))⨸(~b)* int_and_subst( (~x)^(ext_den((~p))*(~p) + ext_den((~p)) - 1)*(-(~a)*(~c)⨸(~b) + (~c)*(~x)^ext_den((~p))⨸(~b))^(~m)* substitute((~Pq), Dict( (~x) => -(~a)⨸(~b) + (~x)^ext_den((~p))⨸(~b))), (~x), (~x), ((~a) + (~b)*(~x))^(1⨸ext_den((~p))), "1_1_3_8_3") : nothing) + +# ("1_1_3_8_4", +# @rule ∫((~x)^(~!m)*(~Pq)*((~a) + (~!b)*(~x)^(~n))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~m), (~n), (~p), (~x)) && +# !eq((~m), -1) && +# igt(simplify((~n)/((~m) + 1)), 0) && +# poly((~Pq), (~x)^((~m) + 1)) ? +# 1⨸((~m) + 1)* int_and_subst( SubstFor[(~x)^((~m) + 1), (~Pq), (~x)]*((~a) + (~b)*(~x)^simplify((~n)⨸((~m) + 1)))^(~p), (~x), (~x), (~x)^((~m) + 1), "1_1_3_8_4") : nothing) + +("1_1_3_8_5", +@rule ∫(((~!c)*(~x))^(~!m)*(~Pq)*((~a) + (~!b)*(~x)^(~!n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~n), (~x)) && + poly((~Pq), (~x)) && + ( + igt((~p), 0) || + eq((~n), 1) + ) ? +∫(ext_expand(((~c)*(~x))^(~m)*(~Pq)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)), (~x)) : nothing) + +# ("1_1_3_8_6", +# @rule ∫((~x)^(~!m)*(~Pq)*((~a) + (~!b)*(~x)^(~n))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~m), (~n), (~p), (~x)) && +# poly((~Pq), (~x)^(~n)) && +# ext_isinteger(simplify(((~m) + 1)/(~n))) ? +# 1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*SubstFor[(~x)^(~n), (~Pq), (~x)]*((~a) + (~b)*(~x))^(~p), (~x), (~x), (~x)^(~n), "1_1_3_8_6") : nothing) + +("1_1_3_8_7", +@rule ∫(((~c)*(~x))^(~!m)*(~Pq)*((~a) + (~!b)*(~x)^(~n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~n), (~p), (~x)) && + poly((~Pq), (~x)^(~n)) && + ext_isinteger(simplify(((~m) + 1)/(~n))) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*(~Pq)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +("1_1_3_8_8", +@rule ∫((~x)^(~!m)*(~Pq)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~m), (~n), (~x)) && + poly((~Pq), (~x)) && + eq((~m) - (~n) + 1, 0) && + lt((~p), -1) ? +(~Pq)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*(~n)*((~p) + 1)) - 1⨸((~b)*(~n)*((~p) + 1))*∫(Symbolics.derivative((~Pq), (~x))*((~a) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing) + +("1_1_3_8_9", +@rule ∫(((~!d)*(~x))^(~!m)*(~Pq)*((~a) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~d), (~m), (~n), (~p), (~x)) && + poly((~Pq), (~x)) && + eq(ext_coeff((~Pq), (~x), 0), 0) ? +1⨸(~d)*∫(((~d)*(~x))^((~m) + 1)*poly_quotient((~Pq), (~x), (~x))*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +# ("1_1_3_8_10", +# @rule ∫((~x)^(~!m)*(~Pq)*((~a) + (~!b)*(~x)^(~!n))^(~p),(~x)) => +# !contains_var((~a), (~b), (~x)) && +# poly((~Pq), (~x)) && +# igt((~n), 0) && +# gt((~p), 0) && +# lt((~m) + exponent_of((~Pq), (~x)) + 1, 0) ? +# Module[{(~u) = ∫((~x)^(~m)*(~Pq), (~x))}, (~u)*((~a) + (~b)*(~x)^(~n))^(~p) - (~b)*(~n)*(~p)*∫( (~x)^((~m) + (~n))*((~a) + (~b)*(~x)^(~n))^((~p) - 1)*expand_to_sum((~u)⨸(~x)^((~m) + 1), (~x)), (~x))] : nothing) +# +# ("1_1_3_8_11", +# @rule ∫(((~!c)*(~x))^(~!m)*(~Pq)*((~a) + (~!b)*(~x)^(~!n))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~m), (~x)) && +# poly((~Pq), (~x)) && +# igt(((~n) - 1)/2, 0) && +# gt((~p), 0) ? +# Module[{(~q) = exponent_of((~Pq), (~x)), (~i)}, ((~c)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)* sum([ext_coeff((~Pq), (~x), (~i))*(~x)^((~i) + 1)⨸((~m) + (~n)*(~p) + (~i) + 1) for (~i) in ( 0):( (~q))]) + (~a)*(~n)*(~p)* ∫(((~c)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) - 1)* sum([ext_coeff((~Pq), (~x), (~i))*(~x)^(~i)⨸((~m) + (~n)*(~p) + (~i) + 1) for (~i) in ( 0):( (~q))]), (~x))] : nothing) + +("1_1_3_8_12", +@rule ∫((~x)^2*(~P4)/((~a) + (~!b)*(~x)^4)^(3//2),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~P4), (~x), 4) && + eq(ext_coeff((~P4), (~x), 2), 0) && + eq(ext_coeff((~P4), (~x), 3), 0) && + eq((~b)*ext_coeff((~P4), (~x), 0) - 3*(~a)*ext_coeff((~P4), (~x), 4), 0) ? +-(ext_coeff((~P4), (~x), 1) - 2*ext_coeff((~P4), (~x), 4)*(~x)^3)⨸(2*(~b)*sqrt((~a) + (~b)*(~x)^4)) : nothing) + +# ("1_1_3_8_13", +# @rule ∫((~x)^(~!m)*(~Pq)*((~a) + (~!b)*(~x)^(~!n))^(~p),(~x)) => +# !contains_var((~a), (~b), (~x)) && +# poly((~Pq), (~x)) && +# igt((~n), 0) && +# lt((~p), -1) && +# igt((~m), 0) && +# ge((~m) + exponent_of((~Pq), (~x))], (~n)) ? +# -(~x)* (~R)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~n)*((~p) + 1)* (~b)^(Floor[((~m) + exponent_of((~Pq), (~x))} - 1)⨸(~n)] + 1)) + 1⨸((~a)*(~n)*((~p) + 1)*(~b)^(Floor[((~m) + exponent_of((~Pq), (~x))} - 1)⨸(~n)] + 1))* ∫(((~a) + (~b)*(~x)^(~n))^((~p) + 1)* expand_to_sum((~a)*(~n)*((~p) + 1)*(~Q) + (~n)*((~p) + 1)*(~R) + Symbolics.derivative((~x)*(~R), (~x)), (~x)), (~x))] : nothing) +# +# ("1_1_3_8_14", +# @rule ∫((~x)^(~m)*(~Pq)*((~a) + (~!b)*(~x)^(~!n))^(~p),(~x)) => +# !contains_var((~a), (~b), (~x)) && +# poly((~Pq), (~x)) && +# igt((~n), 0) && +# lt((~p), -1) && +# ilt((~m), 0) ? +# -(~x)* (~R)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)^2*(~n)*((~p) + 1)* (~b)^(Floor[(exponent_of((~Pq), (~x))} - 1)⨸(~n)] + 1)) + 1⨸((~a)*(~n)*((~p) + 1)*(~b)^(Floor[(exponent_of((~Pq), (~x))} - 1)⨸(~n)] + 1))* ∫((~x)^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)* expand_to_sum( (~n)*((~p) + 1)*(~x)^(-(~m))*(~Q) + sum([((~n)*((~p) + 1) + (~i) + 1)⨸(~a)*ext_coeff((~R), (~x), (~i))*(~x)^((~i) - (~m)) for (~i) in ( 0):( (~n) - 1)]), (~x)), (~x))] : nothing) + +("1_1_3_8_15", +@rule ∫((~x)^(~!m)*(~Pq)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~p), (~x)) && + poly((~Pq), (~x)^(~n)) && + igt((~n), 0) && + ext_isinteger((~m)) && + gcd((~m) + 1, (~n)) != 1 ? +1⨸gcd((~m) + 1, (~n))* int_and_subst( (~x)^(((~m) + 1)⨸gcd((~m) + 1, (~n)) - 1)* substitute((~Pq), Dict( (~x) => (~x)^(1⨸gcd((~m) + 1, (~n)))))*((~a) + (~b)*(~x)^((~n)⨸gcd((~m) + 1, (~n))))^(~p), (~x), (~x), (~x)^gcd((~m) + 1, (~n)), "1_1_3_8_15") : nothing) + +("1_1_3_8_16", +@rule ∫(((~!c)*(~x))^(~!m)*(~Pq)/((~a) + (~!b)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~x)) && + poly((~Pq), (~x)) && + igt((~n)/2, 0) && + exponent_of((~Pq), (~x)) < (~n) ? +∫(sum([((~c)*(~x))^((~m) + iii)*(ext_coeff((~Pq), (~x), iii) + ext_coeff((~Pq), (~x), (~n)⨸2 + iii)*(~x)^((~n)⨸2))⨸((~c)^iii*((~a) + (~b)*(~x)^(~n))) for iii in ( 0):( (~n)⨸2 - 1)]), (~x)) : nothing) + +("1_1_3_8_17", +@rule ∫((~Pq)/((~x)*sqrt((~a) + (~!b)*(~x)^(~n))),(~x)) => + !contains_var((~a), (~b), (~x)) && + poly((~Pq), (~x)) && + igt((~n), 0) && + !eq(ext_coeff((~Pq), (~x), 0), 0) ? +ext_coeff((~Pq), (~x), 0)*∫(1⨸((~x)*sqrt((~a) + (~b)*(~x)^(~n))), (~x)) + ∫(expand_to_sum(((~Pq) - ext_coeff((~Pq), (~x), 0))⨸(~x), (~x))⨸sqrt((~a) + (~b)*(~x)^(~n)), (~x)) : nothing) + +# ("1_1_3_8_18", +# @rule ∫(((~!c)*(~x))^(~!m)*(~Pq)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~m), (~p), (~x)) && +# poly((~Pq), (~x)) && +# igt((~n)/2, 0) && +# !(poly((~Pq), (~x)^((~n)/2))) ? +# Module[{(~q) = exponent_of((~Pq), (~x)), (~j), (~k)}, ∫( sum([((~c)*(~x))^((~m) + (~j))⨸(~c)^(~j)* Sum[ext_coeff((~Pq), (~x), (~j) + (~k)*(~n)⨸2)*(~x)^((~k)*(~n)⨸2) for (~k) in ( 0):( 2*((~q) - (~j))⨸(~n) + 1)])*((~a) + (~b)*(~x)^(~n))^(~p), {(~j), 0, (~n)⨸2 - 1}], (~x))] : nothing) + +("1_1_3_8_19", +@rule ∫(((~!c)*(~x))^(~!m)*(~Pq)/((~a) + (~!b)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~x)) && + poly((~Pq), (~x)) && + ext_isinteger((~n)) && + !(igt((~m), 0)) ? +∫(ext_expand(((~c)*(~x))^(~m)*(~Pq)⨸((~a) + (~b)*(~x)^(~n)), (~x)), (~x)) : nothing) + +("1_1_3_8_20", +@rule ∫(((~!c)*(~x))^(~m)*(~Pq)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + poly((~Pq), (~x)) && + igt((~n), 0) && + lt((~m), -1) && + le((~n) - 1, exponent_of((~Pq), (~x))) && + !eq(ext_coeff((~Pq), (~x), 0), 0) ? +ext_coeff((~Pq), (~x), 0)*((~c)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~c)*((~m) + 1)) + 1⨸(2*(~a)*(~c)*((~m) + 1))* ∫(((~c)*(~x))^((~m) + 1)* expand_to_sum( 2*(~a)*((~m) + 1)*((~Pq) - ext_coeff((~Pq), (~x), 0))⨸(~x) - 2*(~b)*ext_coeff((~Pq), (~x), 0)*((~m) + (~n)*((~p) + 1) + 1)*(~x)^((~n) - 1), (~x))*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +("1_1_3_8_21", +@rule ∫(((~!c)*(~x))^(~!m)*(~Pq)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~p), (~x)) && + poly((~Pq), (~x)) && + igt((~n), 0) && + !eq((~m) + exponent_of((~Pq), (~x)) + (~n)*(~p) + 1, 0) && + exponent_of((~Pq), (~x)) - (~n) >= 0 && + ( + ext_isinteger(2*(~p)) || + ext_isinteger((~p) + (exponent_of((~Pq), (~x)) + 1)/(2*(~n))) + ) ? +ext_coeff((~Pq), (~x), exponent_of((~Pq), (~x)))*((~c)*(~x))^((~m) + exponent_of((~Pq), (~x)) - (~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)* (~c)^(exponent_of((~Pq), (~x)) - (~n) + 1)*((~m) + exponent_of((~Pq), (~x)) + (~n)*(~p) + 1)) + 1⨸((~b)*((~m) + exponent_of((~Pq), (~x)) + (~n)*(~p) + 1))* ∫(((~c)*(~x))^(~m)* expand_to_sum( (~b)*((~m) + exponent_of((~Pq), (~x)) + (~n)*(~p) + 1)*((~Pq) - ext_coeff((~Pq), (~x), exponent_of((~Pq), (~x)))*(~x)^exponent_of((~Pq), (~x))) - (~a)*ext_coeff((~Pq), (~x), exponent_of((~Pq), (~x)))*((~m) + exponent_of((~Pq), (~x)) - (~n) + 1)*(~x)^(exponent_of((~Pq), (~x)) - (~n)), (~x))*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +("1_1_3_8_22", +@rule ∫((~x)^(~!m)*(~Pq)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~p), (~x)) && + poly((~Pq), (~x)) && + ilt((~n), 0) && + ext_isinteger((~m)) ? +-int_and_subst(expand_to_sum((~x)^exponent_of((~Pq), (~x))*substitute((~Pq), Dict( (~x) => (~x)^(-1))), (~x))*((~a) + (~b)*(~x)^(-(~n)))^(~p)⨸(~x)^((~m) + exponent_of((~Pq), (~x)) + 2), (~x), (~x), 1⨸(~x), "1_1_3_8_22") : nothing) + +("1_1_3_8_23", +@rule ∫(((~!c)*(~x))^(~!m)*(~Pq)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + poly((~Pq), (~x)) && + ilt((~n), 0) && + isfraction((~m)) ? +-ext_den((~m))⨸(~c)* int_and_subst( expand_to_sum((~x)^(ext_den((~m))*exponent_of((~Pq), (~x)))*substitute((~Pq), Dict( (~x) => (~c)^(-1)*(~x)^(-ext_den((~m))))), (~x))* ((~a) + (~b)*(~c)^(-(~n))*(~x)^(-ext_den((~m))*(~n)))^(~p)⨸(~x)^(ext_den((~m))*((~m) + exponent_of((~Pq), (~x)) + 1) + 1), (~x), (~x), 1⨸((~c)*(~x))^(1⨸ext_den((~m))), "1_1_3_8_23") : nothing) + +("1_1_3_8_24", +@rule ∫(((~!c)*(~x))^(~m)*(~Pq)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~p), (~x)) && + poly((~Pq), (~x)) && + ilt((~n), 0) && + !(isrational((~m))) ? +-((~c)*(~x))^(~m)*((~x)^(-1))^(~m)* int_and_subst( expand_to_sum((~x)^exponent_of((~Pq), (~x))*substitute((~Pq), Dict( (~x) => (~x)^(-1))), (~x))*((~a) + (~b)*(~x)^(-(~n)))^(~p)⨸ (~x)^((~m) + exponent_of((~Pq), (~x)) + 2), (~x), (~x), 1⨸(~x), "1_1_3_8_24") : nothing) + +("1_1_3_8_25", +@rule ∫((~x)^(~!m)*(~Pq)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~m), (~p), (~x)) && + poly((~Pq), (~x)) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n))*((~m) + 1) - 1)*substitute((~Pq), Dict( (~x) => (~x)^ext_den((~n))))*((~a) + (~b)*(~x)^(ext_den((~n))*(~n)))^(~p), (~x), (~x), (~x)^(1⨸ext_den((~n))), "1_1_3_8_25") : nothing) + +("1_1_3_8_26", +@rule ∫(((~c)*(~x))^(~m)*(~Pq)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~p), (~x)) && + poly((~Pq), (~x)) && + isfraction((~n)) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*(~Pq)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +# ("1_1_3_8_27", +# @rule ∫((~x)^(~!m)*(~Pq)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => +# !contains_var((~a), (~b), (~m), (~n), (~p), (~x)) && +# poly((~Pq), (~x)^(~n)) && +# ext_isinteger(simplify((~n)/((~m) + 1))) && +# !(ext_isinteger((~n))) ? +# 1⨸((~m) + 1)* int_and_subst( substitute(SubstFor[(~x)^(~n), Dict( (~Pq), (~x)], (~x) => (~x)^simplify((~n)⨸((~m) + 1))))*((~a) + (~b)*(~x)^simplify((~n)⨸((~m) + 1)))^(~p), (~x), (~x), (~x)^((~m) + 1), "1_1_3_8_27") : nothing) + +("1_1_3_8_28", +@rule ∫(((~c)*(~x))^(~m)*(~Pq)*((~a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~n), (~p), (~x)) && + poly((~Pq), (~x)^(~n)) && + ext_isinteger(simplify((~n)/((~m) + 1))) && + !(ext_isinteger((~n))) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*(~Pq)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +("1_1_3_8_29", +@rule ∫(((~!c)*(~x))^(~!m)*(~Pq)*((~a) + (~!b)*(~x)^(~n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~n), (~p), (~x)) && + ( + poly((~Pq), (~x)) || + poly((~Pq), (~x)^(~n)) + ) && + !(igt((~m), 0)) ? +∫(ext_expand(((~c)*(~x))^(~m)*(~Pq)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)), (~x)) : nothing) + +# ("1_1_3_8_30", +# @rule ∫((~u)^(~!m)*(~Pq)*((~a) + (~!b)*(~v)^(~!n))^(~p),(~x)) => +# !contains_var((~a), (~b), (~m), (~n), (~p), (~x)) && +# linear_pair((~u), (~v), (~x)) && +# poly((~Pq), (~v)^(~n)) ? +# (~u)^(~m)⨸(ext_coeff((~v), (~x), 1)*(~v)^(~m))* int_and_subst((~x)^(~m)*SubstFor[(~v), (~Pq), (~x)]*((~a) + (~b)*(~x)^(~n))^(~p), (~x), (~x), (~v), "1_1_3_8_30") : nothing) + +("1_1_3_8_31", +@rule ∫(((~!c)*(~x))^(~!m)*(~Pq)*((~a1) + (~!b1)*(~x)^(~!n))^(~!p)*((~a2) + (~!b2)*(~x)^(~!n))^(~!p),(~x)) => + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~n), (~p), (~x)) && + poly((~Pq), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + ( + ext_isinteger((~p)) || + gt((~a1), 0) && + gt((~a2), 0) + ) ? +∫(((~c)*(~x))^(~m)*(~Pq)*((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(2*(~n)))^(~p), (~x)) : nothing) + +("1_1_3_8_32", +@rule ∫(((~!c)*(~x))^(~!m)*(~Pq)*((~a1) + (~!b1)*(~x)^(~!n))^(~!p)*((~a2) + (~!b2)*(~x)^(~!n))^(~!p),(~x)) => + !contains_var((~a1), (~b1), (~a2), (~b2), (~c), (~m), (~n), (~p), (~x)) && + poly((~Pq), (~x)) && + eq((~a2)*(~b1) + (~a1)*(~b2), 0) && + !( + eq((~n), 1) && + linear((~Pq), (~x)) + ) ? +((~a1) + (~b1)*(~x)^(~n))^ fracpart((~p))*((~a2) + (~b2)*(~x)^(~n))^fracpart((~p))⨸((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(2*(~n)))^ fracpart((~p))* ∫(((~c)*(~x))^(~m)*(~Pq)*((~a1)*(~a2) + (~b1)*(~b2)*(~x)^(2*(~n)))^(~p), (~x)) : nothing) + +("1_1_3_8_33", +@rule ∫(((~!h)*(~x))^(~!m)*((~e) + (~!f)*(~x)^(~!n) + (~!g)*(~x)^(~!n2))*((~a) + (~!b)*(~x)^(~!n))^ (~!p)*((~c) + (~!d)*(~x)^(~!n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + eq((~a)*(~c)*(~f)*((~m) + 1) - (~e)*((~b)*(~c) + (~a)*(~d))*((~m) + (~n)*((~p) + 1) + 1), 0) && + eq((~a)*(~c)*(~g)*((~m) + 1) - (~b)*(~d)*(~e)*((~m) + 2*(~n)*((~p) + 1) + 1), 0) && + !eq((~m), -1) ? +(~e)*((~h)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~c)* (~h)*((~m) + 1)) : nothing) + +("1_1_3_8_34", +@rule ∫(((~!h)*(~x))^(~!m)*((~e) + (~!g)*(~x)^(~!n2))*((~a) + (~!b)*(~x)^(~!n))^ (~!p)*((~c) + (~!d)*(~x)^(~!n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~g), (~h), (~m), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + eq((~m) + (~n)*((~p) + 1) + 1, 0) && + eq((~a)*(~c)*(~g)*((~m) + 1) - (~b)*(~d)*(~e)*((~m) + 2*(~n)*((~p) + 1) + 1), 0) && + !eq((~m), -1) ? +(~e)*((~h)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*((~c) + (~d)*(~x)^(~n))^((~p) + 1)⨸((~a)*(~c)* (~h)*((~m) + 1)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.4 Improper/1.1.4.1 (a x^j+b x^n)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.4 Improper/1.1.4.1 (a x^j+b x^n)^p.jl new file mode 100644 index 0000000..67fcb4f --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.4 Improper/1.1.4.1 (a x^j+b x^n)^p.jl @@ -0,0 +1,114 @@ +# rules 1_1_4 mostly dont work due to oom problem, there are a lot of lt(0,j,n) statements + +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.1.4.1 (a x^j+b x^n)^p *) +("1_1_4_1_1", +@rule ∫(((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~j), (~n), (~p), (~x)) && + !(ext_isinteger((~p))) && + !eq((~n), (~j)) && + eq((~j)*(~p) - (~n) + (~j) + 1, 0) ? +((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*((~n) - (~j))*((~p) + 1)*(~x)^((~n) - 1)) : nothing) + +("1_1_4_1_2", +@rule ∫(((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~j), (~n), (~x)) && + !(ext_isinteger((~p))) && + !eq((~n), (~j)) && + ilt(simplify(((~n)*(~p) + (~n) - (~j) + 1)/((~n) - (~j))), 0) && + lt((~p), -1) ? +-((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*((~n) - (~j))*((~p) + 1)*(~x)^((~j) - 1)) + ((~n)*(~p) + (~n) - (~j) + 1)⨸((~a)*((~n) - (~j))*((~p) + 1))* ∫(((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1)⨸(~x)^(~j), (~x)) : nothing) + +("1_1_4_1_3", +@rule ∫(((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~j), (~n), (~p), (~x)) && + !(ext_isinteger((~p))) && + !eq((~n), (~j)) && + ilt(simplify(((~n)*(~p) + (~n) - (~j) + 1)/((~n) - (~j))), 0) && + !eq((~j)*(~p) + 1, 0) ? +((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*((~j)*(~p) + 1)*(~x)^((~j) - 1)) - (~b)*((~n)*(~p) + (~n) - (~j) + 1)⨸((~a)*((~j)*(~p) + 1))* ∫((~x)^((~n) - (~j))*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +# 1.1.4.1.4 until 1.1.4.1.7 manually translated for oooomm problem +("1_1_4_1_4", +@rule ∫(((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~x)) && + !(ext_isinteger((~p))) && + lt(0, ~j) && lt(0, ~n) && + gt((~p), 0) && + lt(min(~j,~n)*(~p) + 1, 0) ? +(~x)*((~a)*(~x)^min(~j,~n)+ (~b)*(~x)^max(~j,~n))^(~p)⨸(min(~j,~n)*(~p) + 1) - (~b)*(max(~j,~n) - min(~j,~n))*(~p)⨸(min(~j,~n)*(~p) + 1)*∫((~x)^max(~j,~n)*((~a)*(~x)^min(~j,~n)+ (~b)*(~x)^max(~j,~n))^((~p) - 1), (~x)) : nothing) + +("1_1_4_1_5", +@rule ∫(((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~x)) && + !(ext_isinteger((~p))) && + lt(0, ~j) && lt(0, ~n) && + gt((~p), 0) && + !eq(max(~j,~n)*(~p) + 1, 0) ? +(~x)*((~a)*(~x)^min(~j,~n)+ (~b)*(~x)^max(~j,~n))^(~p)⨸(max(~j,~n)*(~p) + 1) + (~a)*(max(~j,~n) - min(~j,~n))*(~p)⨸(max(~j,~n)*(~p) + 1)*∫((~x)^min(~j,~n)*((~a)*(~x)^min(~j,~n)+ (~b)*(~x)^max(~j,~n))^((~p) - 1), (~x)) : nothing) + +("1_1_4_1_6", +@rule ∫(((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~x)) && + !(ext_isinteger((~p))) && + lt(0, ~j) && lt(0, ~n) && + lt((~p), -1) && + gt(min(~j,~n)*(~p) + 1, max(~j,~n) - min(~j,~n)) ? +((~a)*(~x)^min(~j,~n)+ (~b)*(~x)^max(~j,~n))^((~p) + 1)⨸((~b)*(max(~j,~n) - min(~j,~n))*((~p) + 1)*(~x)^(max(~j,~n) - 1)) - (min(~j,~n)*(~p) - max(~j,~n) + min(~j,~n)+ 1)⨸((~b)*(max(~j,~n) - min(~j,~n))*((~p) + 1))* ∫(((~a)*(~x)^min(~j,~n)+ (~b)*(~x)^max(~j,~n))^((~p) + 1)⨸(~x)^max(~j,~n), (~x)) : nothing) + +("1_1_4_1_7", +@rule ∫(((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~x)) && + !(ext_isinteger((~p))) && + lt(0, ~j) && lt(0, ~n) && + lt((~p), -1) ? +-((~a)*(~x)^min(~j,~n)+ (~b)*(~x)^max(~j,~n))^((~p) + 1)⨸((~a)*(max(~j,~n) - min(~j,~n))*((~p) + 1)*(~x)^(min(~j,~n)- 1)) + (max(~j,~n)*(~p) + max(~j,~n) - min(~j,~n)+ 1)⨸((~a)*(max(~j,~n) - min(~j,~n))*((~p) + 1))* ∫(((~a)*(~x)^min(~j,~n)+ (~b)*(~x)^max(~j,~n))^((~p) + 1)⨸(~x)^min(~j,~n), (~x)) : nothing) + +("1_1_4_1_8", +@rule ∫(((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~j), (~n), (~x)) && + igt((~p) + 1/2, 0) && + !eq((~n), (~j)) && + eq(simplify((~j)*(~p) + 1), 0) ? +(~x)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^(~p)⨸((~p)*((~n) - (~j))) + (~a)*∫((~x)^(~j)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) - 1), (~x)) : nothing) + +("1_1_4_1_9", +@rule ∫(1/sqrt((~!a)*(~x)^2 + (~!b)*(~x)^(~!n)),(~x)) => + !contains_var((~a), (~b), (~n), (~x)) && + !eq((~n), 2) ? +2⨸(2 - (~n))*int_and_subst(1⨸(1 - (~a)*(~x)^2), (~x), (~x), (~x)⨸sqrt((~a)*(~x)^2 + (~b)*(~x)^(~n)), "1_1_4_1_9") : nothing) + +("1_1_4_1_10", +@rule ∫(((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~j), (~n), (~x)) && + ilt((~p) + 1/2, 0) && + !eq((~n), (~j)) && + eq(simplify((~j)*(~p) + 1), 0) ? +-((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*((~n) - (~j))*((~p) + 1)*(~x)^((~j) - 1)) + ((~n)*(~p) + (~n) - (~j) + 1)⨸((~a)*((~n) - (~j))*((~p) + 1))* ∫(((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1)⨸(~x)^(~j), (~x)) : nothing) + +("1_1_4_1_11", +@rule ∫(1/sqrt((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n)),(~x)) => + !contains_var((~a), (~b), (~x)) && + lt(2*((~n) - 1), (~j), (~n)) ? +-2*sqrt((~a)*(~x)^(~j) + (~b)*(~x)^(~n))⨸((~b)*((~n) - 2)*(~x)^((~n) - 1)) - (~a)*(2*(~n) - (~j) - 2)⨸((~b)*((~n) - 2))* ∫(1⨸((~x)^((~n) - (~j))*sqrt((~a)*(~x)^(~j) + (~b)*(~x)^(~n))), (~x)) : nothing) + +#(* Int[(a_.*x_^j_.+b_.*x_^n_.)^p_,x_Symbol] := x*(a*x^j+b*x^n)^p/(p*(n-j)*((a*x^j+b*x^n)/(b*x^n))^p)* Hypergeometric2F1[-p,-p,1-p,-a/(b*x^(n-j))] /; FreeQ[{a,b,j,n,p},x] && Not[IntegerQ[p]] && NeQ[n,j] && EqQ[j*p+1,0] *) +#(* Int[(a_.*x_^j_.+b_.*x_^n_.)^p_,x_Symbol] := x*(a*x^j+b*x^n)^p/((j*p+1)*((a*x^j+b*x^n)/(a*x^j))^p)* Hypergeometric2F1[-p,(j*p+1)/(n-j),(j*p+1)/(n-j)+1,-b*x^(n-j)/a] /; FreeQ[{a,b,j,n,p},x] && Not[IntegerQ[p]] && NeQ[n,j] && NeQ[j*p+1,0] *) +("1_1_4_1_12", +@rule ∫(((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~j), (~n), (~p), (~x)) && + !(ext_isinteger((~p))) && + !eq((~n), (~j)) && + pos((~n) - (~j)) ? +((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^ fracpart((~p))⨸((~x)^((~j)*fracpart((~p)))*((~a) + (~b)*(~x)^((~n) - (~j)))^fracpart((~p)))* ∫((~x)^((~j)*(~p))*((~a) + (~b)*(~x)^((~n) - (~j)))^(~p), (~x)) : nothing) + +("1_1_4_1_13", +@rule ∫(((~!a)*(~u)^(~!j) + (~!b)*(~u)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~j), (~n), (~p), (~x)) && + linear((~u), (~x)) && + !eq((~u), (~x)) ? +1⨸ext_coeff((~u), (~x), 1)*int_and_subst(((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^(~p), (~x), (~x), (~u), "1_1_4_1_13") : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.4 Improper/1.1.4.2 (c x)^m (a x^j+b x^n)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.4 Improper/1.1.4.2 (c x)^m (a x^j+b x^n)^p.jl new file mode 100644 index 0000000..d7f054f --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.4 Improper/1.1.4.2 (c x)^m (a x^j+b x^n)^p.jl @@ -0,0 +1,234 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.1.4.2 (c x)^m (a x^j+b x^n)^p *) +("1_1_4_2_1", +@rule ∫((~x)^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~j), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~p))) && + !eq((~n), (~j)) && + ext_isinteger(simplify((~j)/(~n))) && + eq(simplify((~m) - (~n) + 1), 0) ? +1⨸(~n)*int_and_subst(((~a)*(~x)^simplify((~j)⨸(~n)) + (~b)*(~x))^(~p), (~x), (~x), (~x)^(~n), "1_1_4_2_1") : nothing) + +("1_1_4_2_2", +@rule ∫(((~!c)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~j), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~p))) && + !eq((~n), (~j)) && + eq((~m) + (~n)*(~p) + (~n) - (~j) + 1, 0) && + ( + ext_isinteger((~j)) || + gt((~c), 0) + ) ? +-(~c)^((~j) - 1)*((~c)*(~x))^((~m) - (~j) + 1)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*((~n) - (~j))*((~p) + 1)) : nothing) + +("1_1_4_2_3", +@rule ∫(((~!c)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~j), (~m), (~n), (~x)) && + !(ext_isinteger((~p))) && + !eq((~n), (~j)) && + ilt(simplify(((~m) + (~n)*(~p) + (~n) - (~j) + 1)/((~n) - (~j))), 0) && + lt((~p), -1) && + ( + ext_isinteger((~j)) || + gt((~c), 0) + ) ? +-(~c)^((~j) - 1)*((~c)*(~x))^((~m) - (~j) + 1)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*((~n) - (~j))*((~p) + 1)) + (~c)^(~j)*((~m) + (~n)*(~p) + (~n) - (~j) + 1)⨸((~a)*((~n) - (~j))*((~p) + 1))* ∫(((~c)*(~x))^((~m) - (~j))*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing) + +("1_1_4_2_4", +@rule ∫(((~!c)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~j), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~p))) && + !eq((~n), (~j)) && + ilt(simplify(((~m) + (~n)*(~p) + (~n) - (~j) + 1)/((~n) - (~j))), 0) && + !eq((~m) + (~j)*(~p) + 1, 0) && + ( + ext_isinteger((~j), (~n)) || + gt((~c), 0) + ) ? +(~c)^((~j) - 1)*((~c)*(~x))^((~m) - (~j) + 1)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*((~m) + (~j)*(~p) + 1)) - (~b)*((~m) + (~n)*(~p) + (~n) - (~j) + 1)⨸((~a)*(~c)^((~n) - (~j))*((~m) + (~j)*(~p) + 1))* ∫(((~c)*(~x))^((~m) + (~n) - (~j))*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +("1_1_4_2_5", +@rule ∫(((~c)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~j), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~p))) && + !eq((~n), (~j)) && + ilt(simplify(((~m) + (~n)*(~p) + (~n) - (~j) + 1)/((~n) - (~j))), 0) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +("1_1_4_2_6", +@rule ∫((~x)^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~j), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~p))) && + !eq((~n), (~j)) && + ext_isinteger(simplify((~j)/(~n))) && + ext_isinteger(simplify(((~m) + 1)/(~n))) && + !eq((~n)^2, 1) ? +1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*((~a)*(~x)^simplify((~j)⨸(~n)) + (~b)*(~x))^(~p), (~x), (~x), (~x)^(~n), "1_1_4_2_6") : nothing) + +("1_1_4_2_7", +@rule ∫(((~c)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~j), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~p))) && + !eq((~n), (~j)) && + ext_isinteger(simplify((~j)/(~n))) && + ext_isinteger(simplify(((~m) + 1)/(~n))) && + !eq((~n)^2, 1) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +("1_1_4_2_8", +@rule ∫(((~!c)*(~x))^(~m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !(ext_isinteger((~p))) && + lt(0, (~j), (~n)) && + ( + ext_isinteger((~j), (~n)) || + gt((~c), 0) + ) && + gt((~p), 0) && + lt((~m) + (~j)*(~p) + 1, 0) ? +((~c)*(~x))^((~m) + 1)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^(~p)⨸((~c)*((~m) + (~j)*(~p) + 1)) - (~b)*(~p)*((~n) - (~j))⨸((~c)^(~n)*((~m) + (~j)*(~p) + 1))* ∫(((~c)*(~x))^((~m) + (~n))*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) - 1), (~x)) : nothing) + +("1_1_4_2_9", +@rule ∫(((~!c)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~x)) && + !(ext_isinteger((~p))) && + lt(0, (~j), (~n)) && + ( + ext_isinteger((~j), (~n)) || + gt((~c), 0) + ) && + gt((~p), 0) && + !eq((~m) + (~n)*(~p) + 1, 0) ? +((~c)*(~x))^((~m) + 1)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^(~p)⨸((~c)*((~m) + (~n)*(~p) + 1)) + (~a)*((~n) - (~j))*(~p)⨸((~c)^(~j)*((~m) + (~n)*(~p) + 1))* ∫(((~c)*(~x))^((~m) + (~j))*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) - 1), (~x)) : nothing) + +("1_1_4_2_10", +@rule ∫(((~!c)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !(ext_isinteger((~p))) && + lt(0, (~j), (~n)) && + ( + ext_isinteger((~j), (~n)) || + gt((~c), 0) + ) && + lt((~p), -1) && + gt((~m) + (~j)*(~p) + 1, (~n) - (~j)) ? +(~c)^((~n) - 1)*((~c)*(~x))^((~m) - (~n) + 1)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*((~n) - (~j))*((~p) + 1)) - (~c)^(~n)*((~m) + (~j)*(~p) - (~n) + (~j) + 1)⨸((~b)*((~n) - (~j))*((~p) + 1))* ∫(((~c)*(~x))^((~m) - (~n))*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing) + +("1_1_4_2_11", +@rule ∫(((~!c)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~x)) && + !(ext_isinteger((~p))) && + lt(0, (~j), (~n)) && + ( + ext_isinteger((~j), (~n)) || + gt((~c), 0) + ) && + lt((~p), -1) ? +-(~c)^((~j) - 1)*((~c)*(~x))^((~m) - (~j) + 1)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*((~n) - (~j))*((~p) + 1)) + (~c)^(~j)*((~m) + (~n)*(~p) + (~n) - (~j) + 1)⨸((~a)*((~n) - (~j))*((~p) + 1))* ∫(((~c)*(~x))^((~m) - (~j))*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing) + +("1_1_4_2_12", +@rule ∫(((~!c)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~p), (~x)) && + !(ext_isinteger((~p))) && + lt(0, (~j), (~n)) && + ( + ext_isinteger((~j), (~n)) || + gt((~c), 0) + ) && + gt((~m) + (~j)*(~p) + 1 - (~n) + (~j), 0) && + !eq((~m) + (~n)*(~p) + 1, 0) ? +(~c)^((~n) - 1)*((~c)*(~x))^((~m) - (~n) + 1)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*((~m) + (~n)*(~p) + 1)) - (~a)*(~c)^((~n) - (~j))*((~m) + (~j)*(~p) - (~n) + (~j) + 1)⨸((~b)*((~m) + (~n)*(~p) + 1))* ∫(((~c)*(~x))^((~m) - ((~n) - (~j)))*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +("1_1_4_2_13", +@rule ∫(((~!c)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~p), (~x)) && + !(ext_isinteger((~p))) && + lt(0, (~j), (~n)) && + ( + ext_isinteger((~j), (~n)) || + gt((~c), 0) + ) && + lt((~m) + (~j)*(~p) + 1, 0) ? +(~c)^((~j) - 1)*((~c)*(~x))^((~m) - (~j) + 1)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*((~m) + (~j)*(~p) + 1)) - (~b)*((~m) + (~n)*(~p) + (~n) - (~j) + 1)⨸((~a)*(~c)^((~n) - (~j))*((~m) + (~j)*(~p) + 1))* ∫(((~c)*(~x))^((~m) + (~n) - (~j))*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +("1_1_4_2_14", +@rule ∫((~x)^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~j), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~p))) && + !eq((~n), (~j)) && + ext_isinteger(simplify((~j)/(~n))) && + !eq((~m), -1) && + ext_isinteger(simplify((~n)/((~m) + 1))) && + !(ext_isinteger((~n))) ? +1⨸((~m) + 1)* int_and_subst(((~a)*(~x)^simplify((~j)⨸((~m) + 1)) + (~b)*(~x)^simplify((~n)⨸((~m) + 1)))^(~p), (~x), (~x), (~x)^((~m) + 1), "1_1_4_2_14") : nothing) + +("1_1_4_2_15", +@rule ∫(((~c)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~j), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~p))) && + !eq((~n), (~j)) && + ext_isinteger(simplify((~j)/(~n))) && + !eq((~m), -1) && + ext_isinteger(simplify((~n)/((~m) + 1))) && + !(ext_isinteger((~n))) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +("1_1_4_2_16", +@rule ∫(((~!c)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~j), (~m), (~n), (~x)) && + igt((~p) + 1/2, 0) && + !eq((~n), (~j)) && + eq(simplify((~m) + (~j)*(~p) + 1), 0) && + ( + ext_isinteger((~j)) || + gt((~c), 0) + ) ? +((~c)*(~x))^((~m) + 1)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^(~p)⨸((~c)*(~p)*((~n) - (~j))) + (~a)⨸(~c)^(~j)*∫(((~c)*(~x))^((~m) + (~j))*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) - 1), (~x)) : nothing) + +("1_1_4_2_17", +@rule ∫((~x)^(~!m)/sqrt((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n)),(~x)) => + !contains_var((~a), (~b), (~j), (~n), (~x)) && + eq((~m), (~j)/2 - 1) && + !eq((~n), (~j)) ? +-2⨸((~n) - (~j))* int_and_subst(1⨸(1 - (~a)*(~x)^2), (~x), (~x), (~x)^((~j)⨸2)⨸sqrt((~a)*(~x)^(~j) + (~b)*(~x)^(~n)), "1_1_4_2_17") : nothing) + +("1_1_4_2_18", +@rule ∫(((~!c)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~j), (~m), (~n), (~x)) && + ilt((~p) + 1/2, 0) && + !eq((~n), (~j)) && + eq(simplify((~m) + (~j)*(~p) + 1), 0) && + ( + ext_isinteger((~j)) || + gt((~c), 0) + ) ? +-(~c)^((~j) - 1)*((~c)*(~x))^((~m) - (~j) + 1)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~a)*((~n) - (~j))*((~p) + 1)) + (~c)^(~j)*((~m) + (~n)*(~p) + (~n) - (~j) + 1)⨸((~a)*((~n) - (~j))*((~p) + 1))* ∫(((~c)*(~x))^((~m) - (~j))*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing) + +("1_1_4_2_19", +@rule ∫(((~c)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~j), (~m), (~n), (~p), (~x)) && + ext_isinteger((~p) + 1/2) && + !eq((~n), (~j)) && + eq(simplify((~m) + (~j)*(~p) + 1), 0) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +#(* Int[x_^m_.*(a_.*x_^j_.+b_.*x_^n_.)^p_,x_Symbol] := (a*x^j+b*x^n)^(p+1)/(b*p*(n-j)*x^(n+j*p))*Hypergeometric2F1[1,1,1-p, -a/(b*x^(n-j))] /; FreeQ[{a,b,j,m,n,p},x] && NeQ[n,j] && EqQ[m+j*p+1,0] *) +#(* Int[x_^m_.*(a_.*x_^j_.+b_.*x_^n_.)^p_,x_Symbol] := (a*x^j+b*x^n)^(p+1)/(b*(p-1)*(n-j)*x^(2*n+j*(p-1)))* Hypergeometric2F1[1,2,2-p,-a/(b*x^(n-j))] /; FreeQ[{a,b,j,m,n,p},x] && NeQ[n,j] && EqQ[m+n+(p-1)*j+1,0] *) +#(* Int[x_^m_.*(a_.*x_^j_.+b_.*x_^n_.)^p_,x_Symbol] := (x^(m-j+1)*(a*x^j+b*x^n)^(p+1))/(a*(m+j*p+1))*Hypergeometric2F1[1,( m+n*p+1)/(n-j)+1,(m+j*p+1)/(n-j)+1,-b*x^(n-j)/a] /; FreeQ[{a,b,j,m,n,p},x] && NeQ[n,j] && NeQ[m+j*p+1,0] && NeQ[m+n+(p-1)*j+1,0] *) +("1_1_4_2_20", +@rule ∫(((~!c)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~j), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~p))) && + !eq((~n), (~j)) && + pos((~n) - (~j)) ? +(~c)^intpart((~m))*((~c)*(~x))^fracpart((~m))*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^fracpart((~p))⨸ ((~x)^(fracpart((~m)) + (~j)*fracpart((~p)))*((~a) + (~b)*(~x)^((~n) - (~j)))^ fracpart((~p)))* ∫((~x)^((~m) + (~j)*(~p))*((~a) + (~b)*(~x)^((~n) - (~j)))^(~p), (~x)) : nothing) + +("1_1_4_2_21", +@rule ∫((~u)^(~!m)*((~!a)*(~v)^(~!j) + (~!b)*(~v)^(~!n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~j), (~m), (~n), (~p), (~x)) && + linear_pair((~u), (~v), (~x)) ? +(~u)^(~m)⨸(ext_coeff((~v), (~x), 1)*(~v)^(~m))* int_and_subst((~x)^(~m)*((~a)*(~x)^(~j) + (~b)*(~x)^(~n))^(~p), (~x), (~x), (~v), "1_1_4_2_21") : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.4 Improper/1.1.4.3 (e x)^m (a x^j+b x^k)^p (c+d x^n)^q.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.4 Improper/1.1.4.3 (e x)^m (a x^j+b x^k)^p (c+d x^n)^q.jl new file mode 100644 index 0000000..af9a5ee --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.1 Binomial products/1.1.4 Improper/1.1.4.3 (e x)^m (a x^j+b x^k)^p (c+d x^n)^q.jl @@ -0,0 +1,126 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.1.4.3 (e x)^m (a x^j+b x^k)^p (c+d x^n)^q *) +("1_1_4_3_1", +@rule ∫((~x)^(~!m)*((~!a)*(~x)^(~j) + (~!b)*(~x)^(~!k))^(~p)*((~c) + (~!d)*(~x)^(~n))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~j), (~k), (~m), (~n), (~p), (~q), (~x)) && + !(ext_isinteger((~p))) && + !eq((~k), (~j)) && + ext_isinteger(simplify((~j)/(~n))) && + ext_isinteger(simplify((~k)/(~n))) && + ext_isinteger(simplify(((~m) + 1)/(~n))) && + !eq((~n)^2, 1) ? +1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*((~a)*(~x)^simplify((~j)⨸(~n)) + (~b)*(~x)^simplify((~k)⨸(~n)))^(~p)*((~c) + (~d)*(~x))^(~q), (~x), (~x), (~x)^(~n), "1_1_4_3_1") : nothing) + +("1_1_4_3_2", +@rule ∫(((~e)*(~x))^(~!m)*((~!a)*(~x)^(~j) + (~!b)*(~x)^(~!k))^(~p)*((~c) + (~!d)*(~x)^(~!n))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~j), (~k), (~m), (~n), (~p), (~q), (~x)) && + !(ext_isinteger((~p))) && + !eq((~k), (~j)) && + ext_isinteger(simplify((~j)/(~n))) && + ext_isinteger(simplify((~k)/(~n))) && + ext_isinteger(simplify(((~m) + 1)/(~n))) && + !eq((~n)^2, 1) ? +(~e)^intpart((~m))*((~e)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a)*(~x)^(~j) + (~b)*(~x)^(~k))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) : nothing) + +("1_1_4_3_3", +@rule ∫(((~!e)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!jn))^(~p)*((~c) + (~!d)*(~x)^(~!n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~j), (~m), (~n), (~p), (~x)) && + eq((~jn), (~j) + (~n)) && + !(ext_isinteger((~p))) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)*(~d)*((~m) + (~j)*(~p) + 1) - (~b)*(~c)*((~m) + (~n) + (~p)*((~j) + (~n)) + 1), 0) && + ( + gt((~e), 0) || + ext_isinteger((~j)) + ) && + !eq((~m) + (~j)*(~p) + 1, 0) ? +(~c)*(~e)^((~j) - 1)*((~e)*(~x))^((~m) - (~j) + 1)*((~a)*(~x)^(~j) + (~b)*(~x)^((~j) + (~n)))^((~p) + 1)⨸((~a)*((~m) + (~j)*(~p) + 1)) : nothing) + +("1_1_4_3_4", +@rule ∫(((~!e)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!jn))^(~p)*((~c) + (~!d)*(~x)^(~!n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~j), (~m), (~n), (~x)) && + eq((~jn), (~j) + (~n)) && + !(ext_isinteger((~p))) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + lt((~p), -1) && + gt((~j), 0) && + le((~j), (~m)) && + ( + gt((~e), 0) || + ext_isinteger((~j)) + ) ? +-(~e)^((~j) - 1)*((~b)*(~c) - (~a)*(~d))*((~e)*(~x))^((~m) - (~j) + 1)*((~a)*(~x)^(~j) + (~b)*(~x)^((~j) + (~n)))^((~p) + 1)⨸((~a)*(~b)* (~n)*((~p) + 1)) - (~e)^(~j)*((~a)*(~d)*((~m) + (~j)*(~p) + 1) - (~b)*(~c)*((~m) + (~n) + (~p)*((~j) + (~n)) + 1))⨸((~a)*(~b)* (~n)*((~p) + 1))* ∫(((~e)*(~x))^((~m) - (~j))*((~a)*(~x)^(~j) + (~b)*(~x)^((~j) + (~n)))^((~p) + 1), (~x)) : nothing) + +("1_1_4_3_5", +@rule ∫(((~!e)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!jn))^(~p)*((~c) + (~!d)*(~x)^(~!n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~j), (~p), (~x)) && + eq((~jn), (~j) + (~n)) && + !(ext_isinteger((~p))) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + gt((~n), 0) && + ( + lt((~m) + (~j)*(~p), -1) || + ext_isinteger((~m) - 1/2, (~p) - 1/2) && + lt((~p), 0) && + lt((~m), -(~n)*(~p) - 1) + ) && + ( + gt((~e), 0) || + ext_isinteger((~j), (~n)) + ) && + !eq((~m) + (~j)*(~p) + 1, 0) && + !eq((~m) - (~n) + (~j)*(~p) + 1, 0) ? +(~c)*(~e)^((~j) - 1)*((~e)*(~x))^((~m) - (~j) + 1)*((~a)*(~x)^(~j) + (~b)*(~x)^((~j) + (~n)))^((~p) + 1)⨸((~a)*((~m) + (~j)*(~p) + 1)) + ((~a)*(~d)*((~m) + (~j)*(~p) + 1) - (~b)*(~c)*((~m) + (~n) + (~p)*((~j) + (~n)) + 1))⨸((~a)* (~e)^(~n)*((~m) + (~j)*(~p) + 1))* ∫(((~e)*(~x))^((~m) + (~n))*((~a)*(~x)^(~j) + (~b)*(~x)^((~j) + (~n)))^(~p), (~x)) : nothing) + +("1_1_4_3_6", +@rule ∫(((~!e)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!jn))^(~p)*((~c) + (~!d)*(~x)^(~!n)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~j), (~m), (~n), (~p), (~x)) && + eq((~jn), (~j) + (~n)) && + !(ext_isinteger((~p))) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~m) + (~n) + (~p)*((~j) + (~n)) + 1, 0) && + ( + gt((~e), 0) || + ext_isinteger((~j)) + ) ? +(~d)*(~e)^((~j) - 1)*((~e)*(~x))^((~m) - (~j) + 1)*((~a)*(~x)^(~j) + (~b)*(~x)^((~j) + (~n)))^((~p) + 1)⨸((~b)*((~m) + (~n) + (~p)*((~j) + (~n)) + 1)) - ((~a)*(~d)*((~m) + (~j)*(~p) + 1) - (~b)*(~c)*((~m) + (~n) + (~p)*((~j) + (~n)) + 1))⨸((~b)*((~m) + (~n) + (~p)*((~j) + (~n)) + 1))* ∫(((~e)*(~x))^(~m)*((~a)*(~x)^(~j) + (~b)*(~x)^((~j) + (~n)))^(~p), (~x)) : nothing) + +("1_1_4_3_7", +@rule ∫((~x)^(~!m)*((~!a)*(~x)^(~j) + (~!b)*(~x)^(~!k))^(~p)*((~c) + (~!d)*(~x)^(~!n))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~j), (~k), (~m), (~n), (~p), (~q), (~x)) && + !(ext_isinteger((~p))) && + !eq((~k), (~j)) && + ext_isinteger(simplify((~j)/(~n))) && + ext_isinteger(simplify((~k)/(~n))) && + !eq((~m), -1) && + ext_isinteger(simplify((~n)/((~m) + 1))) && + !(ext_isinteger((~n))) ? +1⨸((~m) + 1)* int_and_subst(((~a)*(~x)^simplify((~j)⨸((~m) + 1)) + (~b)*(~x)^simplify((~k)⨸((~m) + 1)))^ (~p)*((~c) + (~d)*(~x)^simplify((~n)⨸((~m) + 1)))^(~q), (~x), (~x), (~x)^((~m) + 1), "1_1_4_3_7") : nothing) + +("1_1_4_3_8", +@rule ∫(((~e)*(~x))^(~!m)*((~!a)*(~x)^(~j) + (~!b)*(~x)^(~!k))^(~p)*((~c) + (~!d)*(~x)^(~!n))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~j), (~k), (~m), (~n), (~p), (~q), (~x)) && + !(ext_isinteger((~p))) && + !eq((~k), (~j)) && + ext_isinteger(simplify((~j)/(~n))) && + ext_isinteger(simplify((~k)/(~n))) && + !eq((~m), -1) && + ext_isinteger(simplify((~n)/((~m) + 1))) && + !(ext_isinteger((~n))) ? +(~e)^intpart((~m))*((~e)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a)*(~x)^(~j) + (~b)*(~x)^(~k))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) : nothing) + +("1_1_4_3_9", +@rule ∫(((~!e)*(~x))^(~!m)*((~!a)*(~x)^(~!j) + (~!b)*(~x)^(~!jn))^(~p)*((~c) + (~!d)*(~x)^(~!n))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~j), (~m), (~n), (~p), (~q), (~x)) && + eq((~jn), (~j) + (~n)) && + !(ext_isinteger((~p))) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !( + eq((~n), 1) && + eq((~j), 1) + ) ? +(~e)^intpart((~m))*((~e)*(~x))^fracpart((~m))*((~a)*(~x)^(~j) + (~b)*(~x)^((~j) + (~n)))^fracpart((~p))⨸ ((~x)^(fracpart((~m)) + (~j)*fracpart((~p)))*((~a) + (~b)*(~x)^(~n))^fracpart((~p)))* ∫((~x)^((~m) + (~j)*(~p))*((~a) + (~b)*(~x)^(~n))^(~p)*((~c) + (~d)*(~x)^(~n))^(~q), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.1 Quadratic/1.2.1.1 (a+b x+c x^2)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.1 Quadratic/1.2.1.1 (a+b x+c x^2)^p.jl new file mode 100644 index 0000000..6906e61 --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.1 Quadratic/1.2.1.1 (a+b x+c x^2)^p.jl @@ -0,0 +1,145 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.2.1.1 (a+b x+c x^2)^p *) +("1_2_1_1_1", +@rule ∫(((~a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~p), -1) ? +2*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((2*(~p) + 1)*((~b) + 2*(~c)*(~x))) : nothing) + +("1_2_1_1_2", +@rule ∫(1/sqrt((~a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) ? +((~b)⨸2 + (~c)*(~x))⨸sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)*∫(1⨸((~b)⨸2 + (~c)*(~x)), (~x)) : nothing) + +("1_2_1_1_3", +@rule ∫(((~a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~p), -1/2) ? +((~b) + 2*(~c)*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)⨸(2*(~c)*(2*(~p) + 1)) : nothing) + +("1_2_1_1_4", +@rule ∫(((~a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + igt((~p), 0) && + perfect_square((~b)^2 - 4*(~a)*(~c)) ? +1⨸(~c)^(~p)* ∫(simp((~b)⨸2 - rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x), (~x))^(~p)*simp((~b)⨸2 + rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x), (~x))^(~p), (~x)) : nothing) + +("1_2_1_1_5", +@rule ∫(((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + igt((~p), 0) && + ( + eq((~a), 0) || + !(perfect_square((~b)^2 - 4*(~a)*(~c))) + ) ? +∫(ext_expand(((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +("1_2_1_1_6", +@rule ∫(((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + gt((~p), 0) && + ext_isinteger(4*(~p)) ? +((~b) + 2*(~c)*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)⨸(2*(~c)*(2*(~p) + 1)) - (~p)*((~b)^2 - 4*(~a)*(~c))⨸(2*(~c)*(2*(~p) + 1))* ∫(((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_1_7", +@rule ∫(1/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(3//2),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +-2*((~b) + 2*(~c)*(~x))⨸(((~b)^2 - 4*(~a)*(~c))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)) : nothing) + +("1_2_1_1_8", +@rule ∫(((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~p), -1) && + !eq((~p), -3/2) && + ext_isinteger(4*(~p)) ? +((~b) + 2*(~c)*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) - 2*(~c)*(2*(~p) + 3)⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_1_9", +@rule ∫(1/((~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~b), (~c), (~x)) ? +log((~x))⨸(~b) - log((~b) + (~c)*(~x))⨸(~b) : nothing) + +("1_2_1_1_10", +@rule ∫(1/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + pos((~b)^2 - 4*(~a)*(~c)) && + perfect_square((~b)^2 - 4*(~a)*(~c)) ? +(~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(1⨸simp((~b)⨸2 - rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x), (~x)), (~x)) - (~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(1⨸simp((~b)⨸2 + rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x), (~x)), (~x)) : nothing) + +("1_2_1_1_11", +@rule ∫(1/((~a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + isrational(1 - 4*simplify((~a)*(~c)/(~b)^2)) && + ( + eq(1 - 4*simplify((~a)*(~c)/(~b)^2)^2, 1) || + !(isrational((~b)^2 - 4*(~a)*(~c))) + ) ? +-2⨸(~b)*int_and_subst(1⨸(1 - 4*simplify((~a)*(~c)⨸(~b)^2) - (~x)^2), (~x), (~x), 1 + 2*(~c)*(~x)⨸(~b), "1_2_1_1_11") : nothing) + +("1_2_1_1_12", +@rule ∫(1/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +-2*int_and_subst(1⨸simp((~b)^2 - 4*(~a)*(~c) - (~x)^2, (~x)), (~x), (~x), (~b) + 2*(~c)*(~x), "1_2_1_1_12") : nothing) +# -2*substitute(integrate(1⨸simp((~b)^2 - 4*(~a)*(~c) - (~x)^2, (~x)), (~x)), (~x)=>(~b) + 2*(~c)*(~x)) : nothing) + +("1_2_1_1_13", +@rule ∫(((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + gt(4*(~a) - (~b)^2/(~c), 0) ? +1⨸(2*(~c)*(-4*(~c)⨸((~b)^2 - 4*(~a)*(~c)))^(~p))* int_and_subst(simp(1 - (~x)^2⨸((~b)^2 - 4*(~a)*(~c)), (~x))^(~p), (~x), (~x), (~b) + 2*(~c)*(~x), "1_2_1_1_13") : nothing) + +("1_2_1_1_14", +@rule ∫(1/sqrt((~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~b), (~c), (~x)) ? +2*int_and_subst(1⨸(1 - (~c)*(~x)^2), (~x), (~x), (~x)⨸sqrt((~b)*(~x) + (~c)*(~x)^2), "1_2_1_1_14") : nothing) + +("1_2_1_1_15", +@rule ∫(1/sqrt((~a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +2*int_and_subst(1⨸(4*(~c) - (~x)^2), (~x), (~x), ((~b) + 2*(~c)*(~x))⨸sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2), "1_2_1_1_15") : nothing) + +("1_2_1_1_16", +@rule ∫(((~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~b), (~c), (~x)) && + isrational((~p)) && + 3 <= ext_den((~p)) <= 4 ? +((~b)*(~x) + (~c)*(~x)^2)^(~p)⨸(-(~c)*((~b)*(~x) + (~c)*(~x)^2)⨸((~b)^2))^(~p)* ∫((-(~c)*(~x)⨸(~b) - (~c)^2*(~x)^2⨸(~b)^2)^(~p), (~x)) : nothing) + +#(* Int[(a_.+b_.*x_+c_.*x_^2)^p_,x_Symbol] := (a+b*x+c*x^2)^p/(-c*(a+b*x+c*x^2)/(b^2-4*a*c))^p*Int[(-a*c/(b^2-4*a* c)-b*c*x/(b^2-4*a*c)-c^2*x^2/(b^2-4*a*c))^p,x] /; FreeQ[{a,b,c},x] && NeQ[b^2-4*a*c,0] && RationalQ[p] && 3<=Denominator[p]<=4 *) +("1_2_1_1_17", +@rule ∫(((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + isrational((~p)) && + 3 <= ext_den((~p)) <= 4 ? +ext_den((~p))*sqrt(((~b) + 2*(~c)*(~x))^2)⨸((~b) + 2*(~c)*(~x))* int_and_subst((~x)^(ext_den((~p))*((~p) + 1) - 1)⨸sqrt((~b)^2 - 4*(~a)*(~c) + 4*(~c)*(~x)^ext_den((~p))), (~x), (~x), ((~a) + (~b)*(~x) + (~c)*(~x)^2)^(1⨸ext_den((~p))), "1_2_1_1_17") : nothing) + +("1_2_1_1_18", +@rule ∫(((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger(4*(~p))) ? +-((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(rt((~b)^2 - 4*(~a)*(~c), 2)*((~p) + 1)*((rt((~b)^2 - 4*(~a)*(~c), 2) - (~b) - 2*(~c)*(~x))⨸(2*rt((~b)^2 - 4*(~a)*(~c), 2)))^((~p) + 1))* hypergeometric2f1(-(~p), (~p) + 1, (~p) + 2, ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x))⨸(2*rt((~b)^2 - 4*(~a)*(~c), 2))) : nothing) + +("1_2_1_1_19", +@rule ∫(((~!a) + (~!b)*(~u) + (~!c)*(~u)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + linear((~u), (~x)) && + !eq((~u), (~x)) ? +1⨸ext_coeff((~u), (~x), 1)*int_and_subst(((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x), (~x), (~u), "1_2_1_1_19") : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.1 Quadratic/1.2.1.2 (d+e x)^m (a+b x+c x^2)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.1 Quadratic/1.2.1.2 (d+e x)^m (a+b x+c x^2)^p.jl new file mode 100644 index 0000000..976ce87 --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.1 Quadratic/1.2.1.2 (d+e x)^m (a+b x+c x^2)^p.jl @@ -0,0 +1,1309 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.2.1.2 (d+e x)^m (a+b x+c x^2)^p *) +#(* Int[(d_.+e_.*x_)^m_.*(a_+b_.*x_+c_.*x_^2)^p_.,x_Symbol] := 1/c^p*Int[(d+e*x)^m*(b/2+c*x)^(2*p),x] /; FreeQ[{a,b,c,d,e,m},x] && EqQ[b^2-4*a*c,0] && IntegerQ[p] *) +("1_2_1_2_1", +@rule ∫(((~d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger((~p)) ? +∫(((~d) + (~e)*(~x))^((~m) + (~p))*((~a)⨸(~d) + (~c)⨸(~e)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_2_2", +@rule ∫(((~d) + (~!e)*(~x))^(~!m)*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~p), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ( + ext_isinteger((~p)) || + gt((~a), 0) && + gt((~d), 0) && + ext_isinteger((~m) + (~p)) + ) ? +∫(((~d) + (~e)*(~x))^((~m) + (~p))*((~a)⨸(~d) + (~c)⨸(~e)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_2_3", +@rule ∫(((~d) + (~!e)*(~x))/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) ? +(~d)*log((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸(~b) : nothing) + +("1_2_1_2_4", +@rule ∫(((~d) + (~!e)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !eq((~p), -1) ? +(~d)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~b)*((~p) + 1)) : nothing) + +("1_2_1_2_5", +@rule ∫(((~d) + (~!e)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + igt((~p), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) ? +∫(((~d) + (~e)*(~x))^((~p) + 1)*((~a)⨸(~d) + (~c)⨸(~e)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_2_6", +@rule ∫(((~!d) + (~!e)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + ext_isinteger((~p)) && + ( + gt((~p), 0) || + eq((~a), 0) + ) ? +∫(ext_expand(((~d) + (~e)*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +("1_2_1_2_7", +@rule ∫(((~!d) + (~!e)*(~x))/((~a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + nice_sqrt((~b)^2 - 4*(~a)*(~c)) ? +((~c)*(~d) - (~e)*((~b)⨸2 - rt((~b)^2 - 4*(~a)*(~c), 2)⨸2))⨸rt((~b)^2 - 4*(~a)*(~c), 2)* ∫(1⨸((~b)⨸2 - rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x)), (~x)) - ((~c)*(~d) - (~e)*((~b)⨸2 + rt((~b)^2 - 4*(~a)*(~c), 2)⨸2))⨸rt((~b)^2 - 4*(~a)*(~c), 2)* ∫(1⨸((~b)⨸2 + rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x)), (~x)) : nothing) + +("1_2_1_2_8", +@rule ∫(((~d) + (~!e)*(~x))/((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + nice_sqrt(-(~a)*(~c)) ? +((~e)⨸2 + (~c)*(~d)⨸(2*rt(-(~a)*(~c), 2)))*∫(1⨸(-rt(-(~a)*(~c), 2) + (~c)*(~x)), (~x)) + ((~e)⨸2 - (~c)*(~d)⨸(2*rt(-(~a)*(~c), 2)))* ∫(1⨸(rt(-(~a)*(~c), 2) + (~c)*(~x)), (~x)) : nothing) + +#(* original line: Int[(d_. + e_.*x_)/(a_ + b_.*x_ + c_.*x_^2), x_Symbol] := (* (d-b*e/(2*c))*Int[1/(a+b*x+c*x^2),x] + *) (2*c*d - b*e)/(2*c)*Int[1/(a + b*x + c*x^2), x] + e/(2*c)*Int[(b + 2*c*x)/(a + b*x + c*x^2), x] /; FreeQ[{a, b, c, d, e}, x] && NeQ[2*c*d - b*e, 0] && NeQ[b^2 - 4*a*c, 0] && Not[NiceSqrtQ[b^2 - 4*a*c]] *) +("1_2_1_2_9", +@rule ∫(((~!d) + (~!e)*(~x))/((~a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !(nice_sqrt((~b)^2 - 4*(~a)*(~c))) ? +(2*(~c)*(~d) - (~b)*(~e))⨸(2*(~c))*∫(1⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) + (~e)⨸(2*(~c))*∫(((~b) + 2*(~c)*(~x))⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_2_10", +@rule ∫(((~d) + (~!e)*(~x))/((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !(nice_sqrt(-(~a)*(~c))) ? +(~d)*∫(1⨸((~a) + (~c)*(~x)^2), (~x)) + (~e)*∫((~x)⨸((~a) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_2_11", +@rule ∫(((~!d) + (~!e)*(~x))/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(3//2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +-2*((~b)*(~d) - 2*(~a)*(~e) + (2*(~c)*(~d) - (~b)*(~e))*(~x))⨸(((~b)^2 - 4*(~a)*(~c))* sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)) : nothing) + +("1_2_1_2_12", +@rule ∫(((~d) + (~!e)*(~x))/((~a) + (~!c)*(~x)^2)^(3//2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) ? +(-(~a)*(~e) + (~c)*(~d)*(~x))⨸((~a)*(~c)*sqrt((~a) + (~c)*(~x)^2)) : nothing) + +("1_2_1_2_13", +@rule ∫(((~!d) + (~!e)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~p), -1) && + !eq((~p), -3/2) ? +((~b)*(~d) - 2*(~a)*(~e) + (2*(~c)*(~d) - (~b)*(~e))*(~x))⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1) - (2*(~p) + 3)*(2*(~c)*(~d) - (~b)*(~e))⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_14", +@rule ∫(((~d) + (~!e)*(~x))*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + lt((~p), -1) && + !eq((~p), -3/2) ? +((~a)*(~e) - (~c)*(~d)*(~x))⨸(2*(~a)*(~c)*((~p) + 1))*((~a) + (~c)*(~x)^2)^((~p) + 1) + (~d)*(2*(~p) + 3)⨸(2*(~a)*((~p) + 1))*∫(((~a) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_15", +@rule ∫(((~!d) + (~!e)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !eq((~p), -1) ? +(~e)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~c)*((~p) + 1)) + (2*(~c)*(~d) - (~b)*(~e))⨸(2*(~c))* ∫(((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_16", +@rule ∫(((~d) + (~!e)*(~x))*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~p), (~x)) && + !eq((~p), -1) ? +(~e)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~c)*((~p) + 1)) + (~d)*∫(((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_17", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + ext_isinteger((~m)/2) ? +(~e)^(~m)⨸(~c)^((~m)⨸2)*∫(((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + (~m)⨸2), (~x)) : nothing) + +("1_2_1_2_18", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + ext_isinteger(((~m) - 1)/2) ? +(~e)^((~m) - 1)⨸(~c)^(((~m) - 1)⨸2)* ∫(((~d) + (~e)*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + ((~m) - 1)⨸2), (~x)) : nothing) + +("1_2_1_2_19", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !(ext_isinteger((~m))) ? +((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)⨸((~d) + (~e)*(~x))^(2*(~p))*∫(((~d) + (~e)*(~x))^((~m) + 2*(~p)), (~x)) : nothing) + +("1_2_1_2_20", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + igt((~m), 0) && + eq((~m) - 2*(~p) + 1, 0) ? +((~a) + (~b)*(~x) + (~c)*(~x)^2)^ fracpart((~p))⨸((~c)^intpart((~p))*((~b)⨸2 + (~c)*(~x))^(2*fracpart((~p))))* ∫( expand_linear_product(((~b)⨸2 + (~c)*(~x))^(2*(~p)), ((~d) + (~e)*(~x))^(~m), (~b)⨸2, (~c), (~x)), (~x)) : nothing) + +("1_2_1_2_21", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) ? +((~a) + (~b)*(~x) + (~c)*(~x)^2)^ fracpart((~p))⨸((~c)^intpart((~p))*((~b)⨸2 + (~c)*(~x))^(2*fracpart((~p))))* ∫(((~d) + (~e)*(~x))^(~m)*((~b)⨸2 + (~c)*(~x))^(2*(~p)), (~x)) : nothing) + +("1_2_1_2_22", +@rule ∫(((~!e)*(~x))^(~!m)*((~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~b), (~c), (~e), (~m), (~x)) && + ext_isinteger((~p)) ? +1⨸(~e)^(~p)*∫(((~e)*(~x))^((~m) + (~p))*((~b) + (~c)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_2_23", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~p) + 1)) : nothing) + +("1_2_1_2_24", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~p), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~p) + 1)) : nothing) + +("1_2_1_2_25", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + 2*(~p) + 2, 0) ? +(~e)*((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(((~p) + 1)*(2*(~c)*(~d) - (~b)*(~e))) : nothing) + +("1_2_1_2_26", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~p), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + 2*(~p) + 2, 0) ? +(~e)*((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~c)*(~d)*((~p) + 1)) : nothing) + +("1_2_1_2_27", +@rule ∫(((~!d) + (~!e)*(~x))^2*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + lt((~p), -1) ? +(~e)*((~d) + (~e)*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~p) + 1)) - (~e)^2*((~p) + 2)⨸((~c)*((~p) + 1))*∫(((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_28", +@rule ∫(((~d) + (~!e)*(~x))^2*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~p), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + lt((~p), -1) ? +(~e)*((~d) + (~e)*(~x))*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~p) + 1)) - (~e)^2*((~p) + 2)⨸((~c)*((~p) + 1))*∫(((~a) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_29", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ext_isinteger((~m)) && + isrational((~p)) && + ( + lt(0, -(~m), (~p)) || + lt((~p), -(~m), 0) + ) && + !eq((~m), 2) && + !eq((~m), -1) ? +∫(((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~m) + (~p))⨸((~a)⨸(~d) + (~c)*(~x)⨸(~e))^(~m), (~x)) : nothing) + +("1_2_1_2_30", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~p), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ext_isinteger((~m)) && + isrational((~p)) && + ( + lt(0, -(~m), (~p)) || + lt((~p), -(~m), 0) + ) && + !eq((~m), 2) && + !eq((~m), -1) ? +(~d)^(2*(~m))⨸(~a)^(~m)*∫(((~a) + (~c)*(~x)^2)^((~m) + (~p))⨸((~d) - (~e)*(~x))^(~m), (~x)) : nothing) + +("1_2_1_2_31", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + igt(simplify((~m) + (~p)), 0) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~m) + 2*(~p) + 1)) + simplify((~m) + (~p))*(2*(~c)*(~d) - (~b)*(~e))⨸((~c)*((~m) + 2*(~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_32", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~p), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + igt(simplify((~m) + (~p)), 0) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~m) + 2*(~p) + 1)) + 2*(~c)*(~d)*simplify((~m) + (~p))⨸((~c)*((~m) + 2*(~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_33", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ilt(simplify((~m) + 2*(~p) + 2), 0) ? +-(~e)*((~d) + (~e)*(~x))^ (~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(((~m) + (~p) + 1)*(2*(~c)*(~d) - (~b)*(~e))) + (~c)*simplify((~m) + 2*(~p) + 2)⨸(((~m) + (~p) + 1)*(2*(~c)*(~d) - (~b)*(~e)))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_34", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~p), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ilt(simplify((~m) + 2*(~p) + 2), 0) ? +-(~e)*((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~c)*(~d)*((~m) + (~p) + 1)) + simplify((~m) + 2*(~p) + 2)⨸(2*(~d)*((~m) + (~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_35", +@rule ∫(1/(sqrt((~!d) + (~!e)*(~x))*sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) ? +2*(~e)*int_and_subst(1⨸(2*(~c)*(~d) - (~b)*(~e) + (~e)^2*(~x)^2), (~x), (~x), sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸sqrt((~d) + (~e)*(~x)), "1_2_1_2_35") : nothing) + +("1_2_1_2_36", +@rule ∫(1/(sqrt((~d) + (~!e)*(~x))*sqrt((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +2*(~e)*int_and_subst(1⨸(2*(~c)*(~d) + (~e)^2*(~x)^2), (~x), (~x), sqrt((~a) + (~c)*(~x)^2)⨸sqrt((~d) + (~e)*(~x)), "1_2_1_2_36") : nothing) + +("1_2_1_2_37", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + gt((~p), 0) && + ( + lt((~m), -2) || + eq((~m) + 2*(~p) + 1, 0) + ) && + !eq((~m) + (~p) + 1, 0) && + ext_isinteger(2*(~p)) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)⨸((~e)*((~m) + (~p) + 1)) - (~c)*(~p)⨸((~e)^2*((~m) + (~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 2)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_2_38", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + gt((~p), 0) && + ( + lt((~m), -2) || + eq((~m) + 2*(~p) + 1, 0) + ) && + !eq((~m) + (~p) + 1, 0) && + ext_isinteger(2*(~p)) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^(~p)⨸((~e)*((~m) + (~p) + 1)) - (~c)*(~p)⨸((~e)^2*((~m) + (~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 2)*((~a) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_2_39", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + gt((~p), 0) && + ( + le(-2, (~m), 0) || + eq((~m) + (~p) + 1, 0) + ) && + !eq((~m) + 2*(~p) + 1, 0) && + ext_isinteger(2*(~p)) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)⨸((~e)*((~m) + 2*(~p) + 1)) - (~p)*(2*(~c)*(~d) - (~b)*(~e))⨸((~e)^2*((~m) + 2*(~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_2_40", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + gt((~p), 0) && + ( + le(-2, (~m), 0) || + eq((~m) + (~p) + 1, 0) + ) && + !eq((~m) + 2*(~p) + 1, 0) && + ext_isinteger(2*(~p)) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^(~p)⨸((~e)*((~m) + 2*(~p) + 1)) - 2*(~c)*(~d)*(~p)⨸((~e)^2*((~m) + 2*(~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_2_41", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + lt((~p), -1) && + lt(0, (~m), 1) && + ext_isinteger(2*(~p)) ? +(2*(~c)*(~d) - (~b)*(~e))*((~d) + (~e)*(~x))^ (~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~e)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) - (2*(~c)*(~d) - (~b)*(~e))*((~m) + 2*(~p) + 2)⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_42", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + lt((~p), -1) && + lt(0, (~m), 1) && + ext_isinteger(2*(~p)) ? +-(~d)*((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~a)*(~e)*((~p) + 1)) + (~d)*((~m) + 2*(~p) + 2)⨸(2*(~a)*((~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_43", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + lt((~p), -1) && + gt((~m), 1) && + ext_isinteger(2*(~p)) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~p) + 1)) - (~e)^2*((~m) + (~p))⨸((~c)*((~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 2)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_44", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + lt((~p), -1) && + gt((~m), 1) && + ext_isinteger(2*(~p)) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~p) + 1)) - (~e)^2*((~m) + (~p))⨸((~c)*((~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 2)*((~a) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_45", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + gt((~m), 1) && + !eq((~m) + 2*(~p) + 1, 0) && + ext_isinteger(2*(~p)) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~m) + 2*(~p) + 1)) + ((~m) + (~p))*(2*(~c)*(~d) - (~b)*(~e))⨸((~c)*((~m) + 2*(~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_46", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~p), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + gt((~m), 1) && + !eq((~m) + 2*(~p) + 1, 0) && + ext_isinteger(2*(~p)) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~m) + 2*(~p) + 1)) + 2*(~c)*(~d)*((~m) + (~p))⨸((~c)*((~m) + 2*(~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_47", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + lt((~m), 0) && + !eq((~m) + (~p) + 1, 0) && + ext_isinteger(2*(~p)) ? +-(~e)*((~d) + (~e)*(~x))^ (~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(((~m) + (~p) + 1)*(2*(~c)*(~d) - (~b)*(~e))) + (~c)*((~m) + 2*(~p) + 2)⨸(((~m) + (~p) + 1)*(2*(~c)*(~d) - (~b)*(~e)))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_48", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~p), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + lt((~m), 0) && + !eq((~m) + (~p) + 1, 0) && + ext_isinteger(2*(~p)) ? +-(~e)*((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~c)*(~d)*((~m) + (~p) + 1)) + ((~m) + 2*(~p) + 2)⨸(2*(~d)*((~m) + (~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_49", +@rule ∫(((~!e)*(~x))^(~m)*((~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~b), (~c), (~e), (~m), (~x)) && + !(ext_isinteger((~p))) ? +((~e)*(~x))^(~m)*((~b)*(~x) + (~c)*(~x)^2)^(~p)⨸((~x)^((~m) + (~p))*((~b) + (~c)*(~x))^(~p))* ∫((~x)^((~m) + (~p))*((~b) + (~c)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_2_50", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~p), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + gt((~a), 0) && + gt((~d), 0) && + !(igt((~m), 0)) ? +∫(((~d) + (~e)*(~x))^((~m) + (~p))*((~a)⨸(~d) + (~c)⨸(~e)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_2_51", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ( + ext_isinteger((~m)) || + gt((~d), 0) + ) && + gt((~a), 0) && + !( + igt((~m), 0) && + ( + ext_isinteger(3*(~p)) || + ext_isinteger(4*(~p)) + ) + ) ? +(~a)^((~p) + 1)*(~d)^((~m) - 1)*(((~d) - (~e)*(~x))⨸(~d))^((~p) + 1)⨸((~a)⨸(~d) + (~c)*(~x)⨸(~e))^((~p) + 1)* ∫((1 + (~e)*(~x)⨸(~d))^((~m) + (~p))*((~a)⨸(~d) + (~c)⨸(~e)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_2_52", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ( + ext_isinteger((~m)) || + gt((~d), 0) + ) && + !( + igt((~m), 0) && + ( + ext_isinteger(3*(~p)) || + ext_isinteger(4*(~p)) + ) + ) ? +(~d)^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^ fracpart( (~p))⨸((1 + (~e)*(~x)⨸(~d))^fracpart((~p))*((~a)⨸(~d) + ((~c)*(~x))⨸(~e))^fracpart((~p)))* ∫((1 + (~e)*(~x)⨸(~d))^((~m) + (~p))*((~a)⨸(~d) + (~c)⨸(~e)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_2_53", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ( + ext_isinteger((~m)) || + gt((~d), 0) + ) && + !( + igt((~m), 0) && + ( + ext_isinteger(3*(~p)) || + ext_isinteger(4*(~p)) + ) + ) ? +(~d)^((~m) - 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((1 + (~e)*(~x)⨸(~d))^((~p) + 1)*((~a)⨸(~d) + ((~c)*(~x))⨸(~e))^((~p) + 1))* ∫((1 + (~e)*(~x)⨸(~d))^((~m) + (~p))*((~a)⨸(~d) + (~c)⨸(~e)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_2_54", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + !( + ext_isinteger((~m)) || + gt((~d), 0) + ) ? +(~d)^intpart((~m))*((~d) + (~e)*(~x))^fracpart((~m))⨸(1 + (~e)*(~x)⨸(~d))^fracpart((~m))* ∫((1 + (~e)*(~x)⨸(~d))^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_55", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + !( + ext_isinteger((~m)) || + gt((~d), 0) + ) ? +(~d)^intpart((~m))*((~d) + (~e)*(~x))^fracpart((~m))⨸(1 + (~e)*(~x)⨸(~d))^fracpart((~m))* ∫((1 + (~e)*(~x)⨸(~d))^(~m)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_56", +@rule ∫(1/(((~d) + (~!e)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) ? +-4*(~b)*(~c)⨸((~d)*((~b)^2 - 4*(~a)*(~c)))*∫(1⨸((~b) + 2*(~c)*(~x)), (~x)) + (~b)^2⨸((~d)^2*((~b)^2 - 4*(~a)*(~c)))*∫(((~d) + (~e)*(~x))⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_2_57", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + eq((~m) + 2*(~p) + 3, 0) && + !eq((~p), -1) ? +2*(~c)*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~e)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) : nothing) + +("1_2_1_2_58", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + igt((~p), 0) && + !( + eq((~m), 3) && + !eq((~p), 1) + ) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +("1_2_1_2_59", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !eq((~m) + 2*(~p) + 3, 0) && + gt((~p), 0) && + lt((~m), -1) && + !( + ext_isinteger((~m)/2) && + lt((~m) + 2*(~p) + 3, 0) + ) && + ext_isinteger(2*(~p)) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)⨸((~e)*((~m) + 1)) - (~b)*(~p)⨸((~d)*(~e)*((~m) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 2)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_2_60", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !eq((~m) + 2*(~p) + 3, 0) && + gt((~p), 0) && + !(lt((~m), -1)) && + !( + igt(((~m) - 1)/2, 0) && + ( + !(ext_isinteger((~p))) || + lt((~m), 2*(~p)) + ) + ) && + isrational((~m)) && + ext_isinteger(2*(~p)) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)⨸((~e)*((~m) + 2*(~p) + 1)) - (~d)*(~p)*((~b)^2 - 4*(~a)*(~c))⨸((~b)*(~e)*((~m) + 2*(~p) + 1))* ∫(((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_2_61", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !eq((~m) + 2*(~p) + 3, 0) && + lt((~p), -1) && + gt((~m), 1) && + ext_isinteger(2*(~p)) ? +(~d)*((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~b)*((~p) + 1)) - (~d)*(~e)*((~m) - 1)⨸((~b)*((~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 2)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_62", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !eq((~m) + 2*(~p) + 3, 0) && + lt((~p), -1) && + !(gt((~m), 1)) && + isrational((~m)) && + ext_isinteger(2*(~p)) ? +2*(~c)*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~e)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) - 2*(~c)*(~e)*((~m) + 2*(~p) + 3)⨸((~e)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_63", +@rule ∫(1/(((~d) + (~!e)*(~x))*sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) ? +4*(~c)*int_and_subst(1⨸((~b)^2*(~e) - 4*(~a)*(~c)*(~e) + 4*(~c)*(~e)*(~x)^2), (~x), (~x), sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2), "1_2_1_2_63") : nothing) + +("1_2_1_2_64", +@rule ∫(1/(sqrt((~d) + (~!e)*(~x))*sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + lt((~c)/((~b)^2 - 4*(~a)*(~c)), 0) ? +4⨸(~e)*sqrt(-(~c)⨸((~b)^2 - 4*(~a)*(~c)))* int_and_subst(1⨸sqrt(simp(1 - (~b)^2*(~x)^4⨸((~d)^2*((~b)^2 - 4*(~a)*(~c))), (~x))), (~x), (~x), sqrt((~d) + (~e)*(~x)), "1_2_1_2_64") : nothing) + +("1_2_1_2_65", +@rule ∫(sqrt((~d) + (~!e)*(~x))/sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + lt((~c)/((~b)^2 - 4*(~a)*(~c)), 0) ? +4⨸(~e)*sqrt(-(~c)⨸((~b)^2 - 4*(~a)*(~c)))* int_and_subst((~x)^2⨸sqrt(simp(1 - (~b)^2*(~x)^4⨸((~d)^2*((~b)^2 - 4*(~a)*(~c))), (~x))), (~x), (~x), sqrt((~d) + (~e)*(~x)), "1_2_1_2_65") : nothing) + +("1_2_1_2_66", +@rule ∫(((~d) + (~!e)*(~x))^(~m)/sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + eq((~m)^2, 1/4) ? +sqrt(-(~c)*((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸((~b)^2 - 4*(~a)*(~c)))⨸sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)* ∫(((~d) + (~e)*(~x))^(~m)⨸ sqrt(-(~a)*(~c)⨸((~b)^2 - 4*(~a)*(~c)) - (~b)*(~c)*(~x)⨸((~b)^2 - 4*(~a)*(~c)) - (~c)^2*(~x)^2⨸((~b)^2 - 4*(~a)*(~c))), (~x)) : nothing) + +("1_2_1_2_67", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !eq((~m) + 2*(~p) + 3, 0) && + gt((~m), 1) && + !eq((~m) + 2*(~p) + 1, 0) && + ( + ext_isinteger(2*(~p)) || + ext_isinteger((~m)) && + isrational((~p)) || + ext_isodd((~m)) + ) ? +2*(~d)*((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~b)*((~m) + 2*(~p) + 1)) + (~d)^2*((~m) - 1)*((~b)^2 - 4*(~a)*(~c))⨸((~b)^2*((~m) + 2*(~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 2)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_68", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !eq((~m) + 2*(~p) + 3, 0) && + lt((~m), -1) && + ( + ext_isinteger(2*(~p)) || + ext_isinteger((~m)) && + isrational((~p)) || + ext_isinteger(((~m) + 2*(~p) + 3)/2) + ) ? +-2*(~b)*(~d)*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~d)^2*((~m) + 1)*((~b)^2 - 4*(~a)*(~c))) + (~b)^2*((~m) + 2*(~p) + 3)⨸((~d)^2*((~m) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~d) + (~e)*(~x))^((~m) + 2)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_69", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) ? +1⨸(~e)*int_and_subst((~x)^(~m)*((~a) - (~b)^2⨸(4*(~c)) + ((~c)*(~x)^2)⨸(~e)^2)^(~p), (~x), (~x), (~d) + (~e)*(~x), "1_2_1_2_69") : nothing) + +("1_2_1_2_70", +@rule ∫(1/(((~d) + (~!e)*(~x))*((~!a) + (~!c)*(~x)^2)^(1//4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + eq((~c)*(~d)^2 + 2*(~a)*(~e)^2, 0) && + lt((~a), 0) ? +1⨸(2*(-(~a))^(1⨸4)*(~e))* atan((-1 - (~c)*(~x)^2⨸(~a))^(1⨸4)⨸(1 - (~c)*(~d)*(~x)⨸(2*(~a)*(~e)) - sqrt(-1 - (~c)*(~x)^2⨸(~a)))) + 1⨸(4*(-(~a))^(1⨸4)*(~e))* log((1 - (~c)*(~d)*(~x)⨸(2*(~a)*(~e)) + sqrt(-1 - (~c)*(~x)^2⨸(~a)) - (-1 - (~c)*(~x)^2⨸(~a))^(1⨸4))⨸ (1 - (~c)*(~d)*(~x)⨸(2*(~a)*(~e)) + sqrt(-1 - (~c)*(~x)^2⨸(~a)) + (-1 - (~c)*(~x)^2⨸(~a))^(1⨸4))) : nothing) + +("1_2_1_2_71", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + igt((~p), 1) && + igt((~m), 0) && + le((~m), (~p)) ? +(~e)*(~m)*(~d)^((~m) - 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~c)*((~p) + 1)) + ∫((((~d) + (~e)*(~x))^(~m) - (~e)*(~m)*(~d)^((~m) - 1)*(~x))*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_72", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + igt((~p), 0) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +("1_2_1_2_73", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + ext_isinteger((~p)) && + ( + gt((~p), 0) || + eq((~a), 0) && + ext_isinteger((~m)) + ) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +#(* Int[Sqrt[d_.+e_.*x_]/(a_.+b_.*x_+c_.*x_^2),x_Symbol] := With[{q=Rt[(c*d^2-b*d*e+a*e^2)/c,2]}, 1/2*Int[(d+q+e*x)/(Sqrt[d+e*x]*(a+b*x+c*x^2)),x] + 1/2*Int[(d-q+e*x)/(Sqrt[d+e*x]*(a+b*x+c*x^2)),x]] /; FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && NeQ[2*c*d-b*e,0] && LtQ[b^2-4*a*c,0] *) +#(* Int[Sqrt[d_+e_.*x_]/(a_+c_.*x_^2),x_Symbol] := With[{q=Rt[(c*d^2+a*e^2)/c,2]}, 1/2*Int[(d+q+e*x)/(Sqrt[d+e*x]*(a+c*x^2)),x] + 1/2*Int[(d-q+e*x)/(Sqrt[d+e*x]*(a+c*x^2)),x]] /; FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2,0] && LtQ[-a*c,0] *) +#(* Int[Sqrt[d_.+e_.*x_]/(a_.+b_.*x_+c_.*x_^2),x_Symbol] := With[{q=Rt[b^2-4*a*c,2]}, (2*c*d-b*e+e*q)/q*Int[1/(Sqrt[d+e*x]*(b-q+2*c*x)),x] - (2*c*d-b*e-e*q)/q*Int[1/(Sqrt[d+e*x]*(b+q+2*c*x)),x]] /; FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && NeQ[2*c*d-b*e,0] (* && Not[LtQ[b^2-4*a*c,0]] *) *) +#(* Int[Sqrt[d_+e_.*x_]/(a_+c_.*x_^2),x_Symbol] := With[{q=Rt[-a*c,2]}, (c*d+e*q)/(2*q)*Int[1/(Sqrt[d+e*x]*(-q+c*x)),x] - (c*d-e*q)/(2*q)*Int[1/(Sqrt[d+e*x]*(+q+c*x)),x]] /; FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2,0] (* && Not[LtQ[-a*c,0]] *) *) +("1_2_1_2_74", +@rule ∫(sqrt((~!d) + (~!e)*(~x))/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) ? +2*(~e)*int_and_subst((~x)^2⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2 - (2*(~c)*(~d) - (~b)*(~e))*(~x)^2 + (~c)*(~x)^4), (~x), (~x), sqrt((~d) + (~e)*(~x)), "1_2_1_2_74") : nothing) + +("1_2_1_2_75", +@rule ∫(sqrt((~d) + (~!e)*(~x))/((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +2*(~e)*int_and_subst((~x)^2⨸((~c)*(~d)^2 + (~a)*(~e)^2 - 2*(~c)*(~d)*(~x)^2 + (~c)*(~x)^4), (~x), (~x), sqrt((~d) + (~e)*(~x)), "1_2_1_2_75") : nothing) + +("1_2_1_2_76", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + igt((~m), 1) && + ( + !eq((~d), 0) || + gt((~m), 2) + ) ? +∫(polynomial_divide(((~d) + (~e)*(~x))^(~m), (~a) + (~b)*(~x) + (~c)*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_1_2_77", +@rule ∫(((~d) + (~!e)*(~x))^(~m)/((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + igt((~m), 1) && + ( + !eq((~d), 0) || + gt((~m), 2) + ) ? +∫(polynomial_divide(((~d) + (~e)*(~x))^(~m), (~a) + (~c)*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_1_2_78", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + gt((~m), 1) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)⨸((~c)*((~m) - 1)) + 1⨸(~c)* ∫(((~d) + (~e)*(~x))^((~m) - 2)* simp((~c)*(~d)^2 - (~a)*(~e)^2 + (~e)*(2*(~c)*(~d) - (~b)*(~e))*(~x), (~x))⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_2_79", +@rule ∫(((~d) + (~!e)*(~x))^(~m)/((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + gt((~m), 1) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)⨸((~c)*((~m) - 1)) + 1⨸(~c)* ∫(((~d) + (~e)*(~x))^((~m) - 2)* simp((~c)*(~d)^2 - (~a)*(~e)^2 + 2*(~c)*(~d)*(~e)*(~x), (~x))⨸((~a) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_2_80", +@rule ∫(1/(((~!d) + (~!e)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) ? +(~e)^2⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)*∫(1⨸((~d) + (~e)*(~x)), (~x)) + 1⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* ∫(((~c)*(~d) - (~b)*(~e) - (~c)*(~e)*(~x))⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_2_81", +@rule ∫(1/(((~d) + (~!e)*(~x))*((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +(~e)^2⨸((~c)*(~d)^2 + (~a)*(~e)^2)*∫(1⨸((~d) + (~e)*(~x)), (~x)) + 1⨸((~c)*(~d)^2 + (~a)*(~e)^2)*∫(((~c)*(~d) - (~c)*(~e)*(~x))⨸((~a) + (~c)*(~x)^2), (~x)) : nothing) + +#(* Int[1/(Sqrt[d_.+e_.*x_]*(a_.+b_.*x_+c_.*x_^2)),x_Symbol] := With[{q=Rt[(c*d^2-b*d*e+a*e^2)/c,2]}, 1/(2*q)*Int[(d+q+e*x)/(Sqrt[d+e*x]*(a+b*x+c*x^2)),x] - 1/(2*q)*Int[(d-q+e*x)/(Sqrt[d+e*x]*(a+b*x+c*x^2)),x]] /; FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && NeQ[2*c*d-b*e,0] && LtQ[b^2-4*a*c,0] *) +#(* Int[1/(Sqrt[d_+e_.*x_]*(a_+c_.*x_^2)),x_Symbol] := With[{q=Rt[(c*d^2+a*e^2)/c,2]}, 1/(2*q)*Int[(d+q+e*x)/(Sqrt[d+e*x]*(a+c*x^2)),x] - 1/(2*q)*Int[(d-q+e*x)/(Sqrt[d+e*x]*(a+c*x^2)),x]] /; FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2,0] && LtQ[-a*c,0] *) +#(* Int[1/(Sqrt[d_.+e_.*x_]*(a_.+b_.*x_+c_.*x_^2)),x_Symbol] := With[{q=Rt[b^2-4*a*c,2]}, 2*c/q*Int[1/(Sqrt[d+e*x]*(b-q+2*c*x)),x] - 2*c/q*Int[1/(Sqrt[d+e*x]*(b+q+2*c*x)),x]] /; FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] && NeQ[2*c*d-b*e,0] (* && Not[LtQ[b^2-4*a*c,0]] *) *) +#(* Int[1/(Sqrt[d_+e_.*x_]*(a_+c_.*x_^2)),x_Symbol] := With[{q=Rt[-a*c,2]}, c/(2*q)*Int[1/(Sqrt[d+e*x]*(-q+c*x)),x] - c/(2*q)*Int[1/(Sqrt[d+e*x]*(q+c*x)),x]] /; FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2,0] (* && Not[LtQ[-a*c,0]] *) *) +("1_2_1_2_82", +@rule ∫(1/(sqrt((~!d) + (~!e)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) ? +2*(~e)*int_and_subst(1⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2 - (2*(~c)*(~d) - (~b)*(~e))*(~x)^2 + (~c)*(~x)^4), (~x), (~x), sqrt((~d) + (~e)*(~x)), "1_2_1_2_82") : nothing) + +("1_2_1_2_83", +@rule ∫(1/(sqrt((~d) + (~!e)*(~x))*((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +2*(~e)*int_and_subst(1⨸((~c)*(~d)^2 + (~a)*(~e)^2 - 2*(~c)*(~d)*(~x)^2 + (~c)*(~x)^4), (~x), (~x), sqrt((~d) + (~e)*(~x)), "1_2_1_2_83") : nothing) + +("1_2_1_2_84", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + lt((~m), -1) ? +(~e)*((~d) + (~e)*(~x))^((~m) + 1)⨸(((~m) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)) + 1⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* ∫(((~d) + (~e)*(~x))^((~m) + 1)* simp((~c)*(~d) - (~b)*(~e) - (~c)*(~e)*(~x), (~x))⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_2_85", +@rule ∫(((~d) + (~!e)*(~x))^(~m)/((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + lt((~m), -1) ? +(~e)*((~d) + (~e)*(~x))^((~m) + 1)⨸(((~m) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2)) + (~c)⨸((~c)*(~d)^2 + (~a)*(~e)^2)* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~d) - (~e)*(~x))⨸((~a) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_2_86", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !(ext_isinteger((~m))) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m), 1⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)), (~x)) : nothing) + +("1_2_1_2_87", +@rule ∫(((~d) + (~!e)*(~x))^(~m)/((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~m))) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m), 1⨸((~a) + (~c)*(~x)^2), (~x)), (~x)) : nothing) + +("1_2_1_2_88", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + eq((~b)*(~d) + (~a)*(~e), 0) && + eq((~c)*(~d) + (~b)*(~e), 0) && + igt((~m) - (~p) + 1, 0) && + !(ext_isinteger((~p))) ? +((~d) + (~e)*(~x))^ fracpart((~p))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^fracpart((~p))⨸((~a)*(~d) + (~c)*(~e)*(~x)^3)^ fracpart((~p))*∫(((~d) + (~e)*(~x))^((~m) - (~p))*((~a)*(~d) + (~c)*(~e)*(~x)^3)^(~p), (~x)) : nothing) + +("1_2_1_2_89", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)/sqrt((~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d) - (~b)*(~e), 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + eq((~m)^2, 1/4) && + lt((~c), 0) && + isrational((~b)) ? +∫(((~d) + (~e)*(~x))^(~m)⨸(sqrt((~b)*(~x))*sqrt(1 + (~c)⨸(~b)*(~x))), (~x)) : nothing) + +("1_2_1_2_90", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)/sqrt((~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d) - (~b)*(~e), 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + eq((~m)^2, 1/4) ? +sqrt((~x))*sqrt((~b) + (~c)*(~x))⨸sqrt((~b)*(~x) + (~c)*(~x)^2)* ∫(((~d) + (~e)*(~x))^(~m)⨸(sqrt((~x))*sqrt((~b) + (~c)*(~x))), (~x)) : nothing) + +("1_2_1_2_91", +@rule ∫((~x)^(~m)/sqrt((~a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~m)^2, 1/4) ? +2*int_and_subst((~x)^(2*(~m) + 1)⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x), (~x), sqrt((~x)), "1_2_1_2_91") : nothing) + +("1_2_1_2_92", +@rule ∫(((~e)*(~x))^(~m)/sqrt((~a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~m)^2, 1/4) ? +((~e)*(~x))^(~m)⨸(~x)^(~m)*∫((~x)^(~m)⨸sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_2_93", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)/sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + eq((~m)^2, 1/4) ? +2*rt((~b)^2 - 4*(~a)*(~c), 2)*((~d) + (~e)*(~x))^(~m)* sqrt(-(~c)*((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸((~b)^2 - 4*(~a)*(~c)))⨸ ((~c)* sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)*(2*(~c)*((~d) + (~e)*(~x))⨸(2*(~c)*(~d) - (~b)*(~e) - (~e)*rt((~b)^2 - 4*(~a)*(~c), 2)))^(~m))* int_and_subst((1 + 2*(~e)*rt((~b)^2 - 4*(~a)*(~c), 2)* (~x)^2⨸(2*(~c)*(~d) - (~b)*(~e) - (~e)*rt((~b)^2 - 4*(~a)*(~c), 2)))^(~m)⨸sqrt(1 - (~x)^2), (~x), (~x), sqrt(((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x))⨸(2*rt((~b)^2 - 4*(~a)*(~c), 2))), "1_2_1_2_93") : nothing) + +("1_2_1_2_94", +@rule ∫(((~d) + (~!e)*(~x))^(~m)/sqrt((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + eq((~m)^2, 1/4) ? +2*(~a)*rt(-(~c)⨸(~a), 2)*((~d) + (~e)*(~x))^(~m)* sqrt(1 + (~c)*(~x)^2⨸(~a))⨸((~c)* sqrt((~a) + (~c)*(~x)^2)*((~c)*((~d) + (~e)*(~x))⨸((~c)*(~d) - (~a)*(~e)*rt(-(~c)⨸(~a), 2)))^(~m))* int_and_subst((1 + 2*(~a)*(~e)*rt(-(~c)⨸(~a), 2)*(~x)^2⨸((~c)*(~d) - (~a)*(~e)*rt(-(~c)⨸(~a), 2)))^(~m)⨸ sqrt(1 - (~x)^2), (~x), (~x), sqrt((1 - rt(-(~c)⨸(~a), 2)*(~x))⨸2), "1_2_1_2_94") : nothing) + +("1_2_1_2_95", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + eq((~m) + 2*(~p) + 2, 0) && + gt((~p), 0) ? +-((~d) + (~e)*(~x))^((~m) + 1)*((~d)*(~b) - 2*(~a)*(~e) + (2*(~c)*(~d) - (~b)*(~e))*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^ (~p)⨸(2*((~m) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)) + (~p)*((~b)^2 - 4*(~a)*(~c))⨸(2*((~m) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^((~m) + 2)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_2_96", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + eq((~m) + 2*(~p) + 2, 0) && + gt((~p), 0) ? +-((~d) + (~e)*(~x))^((~m) + 1)*(-2*(~a)*(~e) + (2*(~c)*(~d))*(~x))*((~a) + (~c)*(~x)^2)^ (~p)⨸(2*((~m) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2)) - 4*(~a)*(~c)*(~p)⨸(2*((~m) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^((~m) + 2)*((~a) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_2_97", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + eq((~m) + 2*(~p) + 2, 0) && + lt((~p), -1) ? +((~d) + (~e)*(~x))^((~m) - 1)*((~d)*(~b) - 2*(~a)*(~e) + (2*(~c)*(~d) - (~b)*(~e))* (~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) - 2*(2*(~p) + 3)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~d) + (~e)*(~x))^((~m) - 2)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_98", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + eq((~m) + 2*(~p) + 2, 0) && + lt((~p), -1) ? +((~d) + (~e)*(~x))^((~m) - 1)*((~a)*(~e) - (~c)*(~d)*(~x))*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~a)*(~c)*((~p) + 1)) + (2*(~p) + 3)*((~c)*(~d)^2 + (~a)*(~e)^2)⨸(2*(~a)*(~c)*((~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 2)*((~a) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_99", +@rule ∫(1/(((~!d) + (~!e)*(~x))*sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) ? +-2*int_and_subst(1⨸(4*(~c)*(~d)^2 - 4*(~b)*(~d)*(~e) + 4*(~a)*(~e)^2 - (~x)^2), (~x), (~x), (2*(~a)*(~e) - (~b)*(~d) - (2*(~c)*(~d) - (~b)*(~e))*(~x))⨸sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2), "1_2_1_2_99") : nothing) + +("1_2_1_2_100", +@rule ∫(1/(((~d) + (~!e)*(~x))*sqrt((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) ? +-int_and_subst(1⨸((~c)*(~d)^2 + (~a)*(~e)^2 - (~x)^2), (~x), (~x), ((~a)*(~e) - (~c)*(~d)*(~x))⨸sqrt((~a) + (~c)*(~x)^2), "1_2_1_2_100") : nothing) + +("1_2_1_2_101", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !(ext_isinteger((~p))) && + eq((~m) + 2*(~p) + 2, 0) ? +-((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x))*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)⨸ (((~m) + 1)*(2*(~c)*(~d) - (~b)*(~e) + (~e)*rt((~b)^2 - 4*(~a)*(~c), 2))* ((2*(~c)*(~d) - (~b)*(~e) + (~e)*rt((~b)^2 - 4*(~a)*(~c), 2))*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x))⨸((2*(~c)*(~d) - (~b)*(~e) - (~e)*rt((~b)^2 - 4*(~a)*(~c), 2))*((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x))))^(~p))* hypergeometric2f1((~m) + 1, -(~p), (~m) + 2, -4*(~c)* rt((~b)^2 - 4*(~a)*(~c), 2)*((~d) + (~e)* (~x))⨸((2*(~c)*(~d) - (~b)*(~e) - (~e)*rt((~b)^2 - 4*(~a)*(~c), 2))*((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)))) : nothing) + +("1_2_1_2_102", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + 2*(~p) + 2, 0) ? +(rt(-(~a)*(~c), 2) - (~c)*(~x))*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^(~p)⨸ (((~m) + 1)*((~c)*(~d) + (~e)*rt(-(~a)*(~c), 2))*(((~c)*(~d) + (~e)*rt(-(~a)*(~c), 2))*(rt(-(~a)*(~c), 2) + (~c)*(~x))⨸(((~c)*(~d) - (~e)*rt(-(~a)*(~c), 2))*(-rt(-(~a)*(~c), 2) + (~c)*(~x))))^(~p))* hypergeometric2f1((~m) + 1, -(~p), (~m) + 2, 2*(~c)*rt(-(~a)*(~c), 2)*((~d) + (~e)*(~x))⨸(((~c)*(~d) - (~e)*rt(-(~a)*(~c), 2))*(rt(-(~a)*(~c), 2) - (~c)*(~x)))) : nothing) + +("1_2_1_2_103", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + eq((~m) + 2*(~p) + 3, 0) && + lt((~p), -1) ? +((~d) + (~e)*(~x))^ (~m)*((~b) + 2*(~c)*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) + (~m)*(2*(~c)*(~d) - (~b)*(~e))⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_104", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + eq((~m) + 2*(~p) + 3, 0) && + lt((~p), -1) ? +-((~d) + (~e)*(~x))^(~m)*(2*(~c)*(~x))*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(4*(~a)*(~c)*((~p) + 1)) - (~m)*(2*(~c)*(~d))⨸(4*(~a)*(~c)*((~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_105", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + eq((~m) + 2*(~p) + 3, 0) ? +(~e)*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(((~m) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)) + (2*(~c)*(~d) - (~b)*(~e))⨸(2*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_106", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + eq((~m) + 2*(~p) + 3, 0) ? +(~e)*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(((~m) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2)) + (~c)*(~d)⨸((~c)*(~d)^2 + (~a)*(~e)^2)*∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_107", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + gt((~p), 0) && + ( + ext_isinteger((~p)) || + lt((~m), -1) + ) && + !eq((~m), -1) && + !(ilt((~m) + 2*(~p) + 1, 0)) && + int_quadratic((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)⨸((~e)*((~m) + 1)) - (~p)⨸((~e)*((~m) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~b) + 2*(~c)*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_2_108", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + gt((~p), 0) && + ( + ext_isinteger((~p)) || + lt((~m), -1) + ) && + !eq((~m), -1) && + !(ilt((~m) + 2*(~p) + 1, 0)) && + int_quadratic((~a), 0, (~c), (~d), (~e), (~m), (~p), (~x)) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^(~p)⨸((~e)*((~m) + 1)) - 2*(~c)*(~p)⨸((~e)*((~m) + 1))* ∫((~x)*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_2_109", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + gt((~p), 0) && + !eq((~m) + 2*(~p) + 1, 0) && + ( + !(isrational((~m))) || + lt((~m), 1) + ) && + !(ilt((~m) + 2*(~p), 0)) && + int_quadratic((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)⨸((~e)*((~m) + 2*(~p) + 1)) - (~p)⨸((~e)*((~m) + 2*(~p) + 1))* ∫(((~d) + (~e)*(~x))^(~m)* simp((~b)*(~d) - 2*(~a)*(~e) + (2*(~c)*(~d) - (~b)*(~e))*(~x), (~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_2_110", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + gt((~p), 0) && + !eq((~m) + 2*(~p) + 1, 0) && + ( + !(isrational((~m))) || + lt((~m), 1) + ) && + !(ilt((~m) + 2*(~p), 0)) && + int_quadratic((~a), 0, (~c), (~d), (~e), (~m), (~p), (~x)) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^(~p)⨸((~e)*((~m) + 2*(~p) + 1)) + 2*(~p)⨸((~e)*((~m) + 2*(~p) + 1))* ∫(((~d) + (~e)*(~x))^(~m)*simp((~a)*(~e) - (~c)*(~d)*(~x), (~x))*((~a) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_2_111", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + lt((~p), -1) && + gt((~m), 0) && + ( + lt((~m), 1) || + ilt((~m) + 2*(~p) + 3, 0) && + !eq((~m), 2) + ) && + int_quadratic((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) ? +((~d) + (~e)*(~x))^ (~m)*((~b) + 2*(~c)*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) - 1⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~b)*(~e)*(~m) + 2*(~c)*(~d)*(2*(~p) + 3) + 2*(~c)*(~e)*((~m) + 2*(~p) + 3)*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_112", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + lt((~p), -1) && + gt((~m), 0) && + ( + lt((~m), 1) || + ilt((~m) + 2*(~p) + 3, 0) && + !eq((~m), 2) + ) && + int_quadratic((~a), 0, (~c), (~d), (~e), (~m), (~p), (~x)) ? +-(~x)*((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~a)*((~p) + 1)) + 1⨸(2*(~a)*((~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~d)*(2*(~p) + 3) + (~e)*((~m) + 2*(~p) + 3)*(~x))*((~a) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_113", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + lt((~p), -1) && + gt((~m), 1) && + int_quadratic((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) ? +((~d) + (~e)*(~x))^((~m) - 1)*((~d)*(~b) - 2*(~a)*(~e) + (2*(~c)*(~d) - (~b)*(~e))* (~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) + 1⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~d) + (~e)*(~x))^((~m) - 2)* simp((~e)*(2*(~a)*(~e)*((~m) - 1) + (~b)*(~d)*(2*(~p) - (~m) + 4)) - 2*(~c)*(~d)^2*(2*(~p) + 3) + (~e)*((~b)*(~e) - 2*(~d)*(~c))*((~m) + 2*(~p) + 2)*(~x), (~x))* ((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_114", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + lt((~p), -1) && + gt((~m), 1) && + int_quadratic((~a), 0, (~c), (~d), (~e), (~m), (~p), (~x)) ? +((~d) + (~e)*(~x))^((~m) - 1)*((~a)*(~e) - (~c)*(~d)*(~x))*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~a)*(~c)*((~p) + 1)) + 1⨸(((~p) + 1)*(-2*(~a)*(~c)))* ∫(((~d) + (~e)*(~x))^((~m) - 2)* simp((~a)*(~e)^2*((~m) - 1) - (~c)*(~d)^2*(2*(~p) + 3) - (~d)*(~c)*(~e)*((~m) + 2*(~p) + 2)*(~x), (~x))*((~a) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_115", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + lt((~p), -1) && + int_quadratic((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~b)*(~c)*(~d) - (~b)^2*(~e) + 2*(~a)*(~c)*(~e) + (~c)*(2*(~c)*(~d) - (~b)*(~e))* (~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c))*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)) + 1⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c))*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^(~m)* simp((~b)*(~c)*(~d)*(~e)*(2*(~p) - (~m) + 2) + (~b)^2*(~e)^2*((~m) + (~p) + 2) - 2*(~c)^2*(~d)^2*(2*(~p) + 3) - 2*(~a)*(~c)*(~e)^2*((~m) + 2*(~p) + 3) - (~c)*(~e)*(2*(~c)*(~d) - (~b)*(~e))*((~m) + 2*(~p) + 4)*(~x), (~x))* ((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_116", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + lt((~p), -1) && + int_quadratic((~a), 0, (~c), (~d), (~e), (~m), (~p), (~x)) ? +-((~d) + (~e)*(~x))^((~m) + 1)*((~a)*(~e) + (~c)*(~d)*(~x))*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~a)*((~p) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2)) + 1⨸(2*(~a)*((~p) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^(~m)* simp((~c)*(~d)^2*(2*(~p) + 3) + (~a)*(~e)^2*((~m) + 2*(~p) + 3) + (~c)*(~e)*(~d)*((~m) + 2*(~p) + 4)*(~x), (~x))*((~a) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_2_117", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + ifelse(isrational((~m)), gt((~m), 1), sumsimpler((~m), -2)) && + !eq((~m) + 2*(~p) + 1, 0) && + int_quadratic((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~m) + 2*(~p) + 1)) + 1⨸((~c)*((~m) + 2*(~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 2)* simp((~c)*(~d)^2*((~m) + 2*(~p) + 1) - (~e)*((~a)*(~e)*((~m) - 1) + (~b)*(~d)*((~p) + 1)) + (~e)*(2*(~c)*(~d) - (~b)*(~e))*((~m) + (~p))*(~x), (~x))* ((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_118", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ifelse(isrational((~m)), gt((~m), 1), sumsimpler((~m), -2)) && + !eq((~m) + 2*(~p) + 1, 0) && + int_quadratic((~a), 0, (~c), (~d), (~e), (~m), (~p), (~x)) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~m) + 2*(~p) + 1)) + 1⨸((~c)*((~m) + 2*(~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 2)* simp((~c)*(~d)^2*((~m) + 2*(~p) + 1) - (~a)*(~e)^2*((~m) - 1) + 2*(~c)*(~d)*(~e)*((~m) + (~p))*(~x), (~x))*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_119", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !eq((~m), -1) && + ( + lt((~m), -1) && + int_quadratic((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) || + sumsimpler((~m), 1) && + ext_isinteger((~p)) || + ilt(simplify((~m) + 2*(~p) + 3), 0) + ) ? +(~e)*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(((~m) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)) + 1⨸(((~m) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^((~m) + 1)* simp((~c)*(~d)*((~m) + 1) - (~b)*(~e)*((~m) + (~p) + 2) - (~c)*(~e)*((~m) + 2*(~p) + 3)*(~x), (~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_120", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !eq((~m), -1) && + ( + lt((~m), -1) && + int_quadratic((~a), 0, (~c), (~d), (~e), (~m), (~p), (~x)) || + sumsimpler((~m), 1) && + ext_isinteger((~p)) || + ilt(simplify((~m) + 2*(~p) + 3), 0) + ) ? +(~e)*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(((~m) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2)) + (~c)⨸(((~m) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^((~m) + 1)* simp((~d)*((~m) + 1) - (~e)*((~m) + 2*(~p) + 3)*(~x), (~x))*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_2_121", +@rule ∫(1/(((~d) + (~!e)*(~x))*((~a) + (~!c)*(~x)^2)^(1//4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +(~d)*∫(1⨸(((~d)^2 - (~e)^2*(~x)^2)*((~a) + (~c)*(~x)^2)^(1⨸4)), (~x)) - (~e)*∫((~x)⨸(((~d)^2 - (~e)^2*(~x)^2)*((~a) + (~c)*(~x)^2)^(1⨸4)), (~x)) : nothing) + +("1_2_1_2_122", +@rule ∫(1/(((~d) + (~!e)*(~x))*((~a) + (~!c)*(~x)^2)^(3//4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +(~d)*∫(1⨸(((~d)^2 - (~e)^2*(~x)^2)*((~a) + (~c)*(~x)^2)^(3⨸4)), (~x)) - (~e)*∫((~x)⨸(((~d)^2 - (~e)^2*(~x)^2)*((~a) + (~c)*(~x)^2)^(3⨸4)), (~x)) : nothing) + +("1_2_1_2_123", +@rule ∫(((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p)/((~!d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + gt(4*(~a) - (~b)^2/(~c), 0) && + ext_isinteger(4*(~p)) ? +1⨸(-4*(~c)⨸((~b)^2 - 4*(~a)*(~c)))^(~p)* int_and_subst( simp(1 - (~x)^2⨸((~b)^2 - 4*(~a)*(~c)), (~x))^(~p)⨸simp(2*(~c)*(~d) - (~b)*(~e) + (~e)*(~x), (~x)), (~x), (~x), (~b) + 2*(~c)*(~x), "1_2_1_2_123") : nothing) + +("1_2_1_2_124", +@rule ∫(((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p)/((~!d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + !(gt(4*(~a) - (~b)^2/(~c), 0)) && + ext_isinteger(4*(~p)) ? +((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)⨸(-(~c)*((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸((~b)^2 - 4*(~a)*(~c)))^(~p)* ∫((-(~a)*(~c)⨸((~b)^2 - 4*(~a)*(~c)) - (~b)*(~c)*(~x)⨸((~b)^2 - 4*(~a)*(~c)) - (~c)^2*(~x)^2⨸((~b)^2 - 4*(~a)*(~c)))^(~p)⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +("1_2_1_2_125", +@rule ∫(1/(((~!d) + (~!e)*(~x))*((~a) + (~!b)*(~x) + (~!c)*(~x)^2)^(1//3)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + eq((~c)^2*(~d)^2 - (~b)*(~c)*(~d)*(~e) + (~b)^2*(~e)^2 - 3*(~a)*(~c)*(~e)^2, 0) && + pos((~c)*(~e)^2*(2*(~c)*(~d) - (~b)*(~e))) ? +-sqrt(3)*(~c)*(~e)* atan(1⨸sqrt(3) + 2*((~c)*(~d) - (~b)*(~e) - (~c)*(~e)*(~x))⨸(sqrt(3)*rt(3*(~c)*(~e)^2*(2*(~c)*(~d) - (~b)*(~e)), 3)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(1⨸3)))⨸ rt(3*(~c)*(~e)^2*(2*(~c)*(~d) - (~b)*(~e)), 3)^2 - 3*(~c)*(~e)*log((~d) + (~e)*(~x))⨸(2*rt(3*(~c)*(~e)^2*(2*(~c)*(~d) - (~b)*(~e)), 3)^2) + 3*(~c)*(~e)* log((~c)*(~d) - (~b)*(~e) - (~c)*(~e)*(~x) - rt(3*(~c)*(~e)^2*(2*(~c)*(~d) - (~b)*(~e)), 3)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(1⨸3))⨸(2*rt(3*(~c)*(~e)^2*(2*(~c)*(~d) - (~b)*(~e)), 3)^2) : nothing) + +("1_2_1_2_126", +@rule ∫(1/(((~d) + (~!e)*(~x))*((~a) + (~!c)*(~x)^2)^(1//3)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + eq((~c)*(~d)^2 - 3*(~a)*(~e)^2, 0) ? +-sqrt(3)*(~c)*(~e)* atan(1⨸sqrt(3) + 2*(~c)*((~d) - (~e)*(~x))⨸(sqrt(3)*(~d)*rt(6*(~c)^2*(~e)^2⨸(~d)^2, 3)*((~a) + (~c)*(~x)^2)^(1⨸3)))⨸((~d)^2*rt(6*(~c)^2*(~e)^2⨸(~d)^2, 3)^2) - 3*(~c)*(~e)*log((~d) + (~e)*(~x))⨸(2*(~d)^2*rt(6*(~c)^2*(~e)^2⨸(~d)^2, 3)^2) + 3*(~c)*(~e)*log((~c)*(~d) - (~c)*(~e)*(~x) - (~d)*rt(6*(~c)^2*(~e)^2⨸(~d)^2, 3)*((~a) + (~c)*(~x)^2)^(1⨸3))⨸(2*(~d)^2*rt(6*(~c)^2*(~e)^2⨸(~d)^2, 3)^2) : nothing) + +("1_2_1_2_127", +@rule ∫(1/(((~!d) + (~!e)*(~x))*((~a) + (~!b)*(~x) + (~!c)*(~x)^2)^(1//3)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + eq((~c)^2*(~d)^2 - (~b)*(~c)*(~d)*(~e) + (~b)^2*(~e)^2 - 3*(~a)*(~c)*(~e)^2, 0) && + neg((~c)*(~e)^2*(2*(~c)*(~d) - (~b)*(~e))) ? +-sqrt(3)*(~c)*(~e)* atan(1⨸sqrt(3) - 2*((~c)*(~d) - (~b)*(~e) - (~c)*(~e)*(~x))⨸(sqrt(3)*rt(-3*(~c)*(~e)^2*(2*(~c)*(~d) - (~b)*(~e)), 3)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(1⨸3)))⨸ rt(-3*(~c)*(~e)^2*(2*(~c)*(~d) - (~b)*(~e)), 3)^2 - 3*(~c)*(~e)*log((~d) + (~e)*(~x))⨸(2*rt(-3*(~c)*(~e)^2*(2*(~c)*(~d) - (~b)*(~e)), 3)^2) + 3*(~c)*(~e)* log((~c)*(~d) - (~b)*(~e) - (~c)*(~e)*(~x) + rt(-3*(~c)*(~e)^2*(2*(~c)*(~d) - (~b)*(~e)), 3)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(1⨸3))⨸(2*rt(-3*(~c)*(~e)^2*(2*(~c)*(~d) - (~b)*(~e)), 3)^2) : nothing) + +#(* Int[1/((d_+e_.*x_)*(a_+c_.*x_^2)^(1/3)),x_Symbol] := With[{q=Rt[-6*c^2*d*e^2,3]}, -Sqrt[3]*c*e*ArcTan[1/Sqrt[3]-2*(c*d-c*e*x)/(Sqrt[3]*q*(a+c*x^2)^(1/ 3))]/q^2 - 3*c*e*Log[d+e*x]/(2*q^2) + 3*c*e*Log[c*d-c*e*x+q*(a+c*x^2)^(1/3)]/(2*q^2)] /; FreeQ[{a,c,d,e},x] && EqQ[c*d^2-3*a*e^2,0] && NegQ[c^2*d*e^2] *) +("1_2_1_2_128", +@rule ∫(1/(((~d) + (~!e)*(~x))*((~a) + (~!c)*(~x)^2)^(1//3)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + eq((~c)*(~d)^2 + 9*(~a)*(~e)^2, 0) && + gt((~a), 0) ? +(~a)^(1⨸3)* ∫(1⨸(((~d) + (~e)*(~x))*(1 - 3*(~e)*(~x)⨸(~d))^(1⨸3)*(1 + 3*(~e)*(~x)⨸(~d))^(1⨸3)), (~x)) : nothing) + +("1_2_1_2_129", +@rule ∫(1/(((~d) + (~!e)*(~x))*((~a) + (~!c)*(~x)^2)^(1//3)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + eq((~c)*(~d)^2 + 9*(~a)*(~e)^2, 0) && + !(gt((~a), 0)) ? +(1 + (~c)*(~x)^2⨸(~a))^(1⨸3)⨸((~a) + (~c)*(~x)^2)^(1⨸3)* ∫(1⨸(((~d) + (~e)*(~x))*(1 + (~c)*(~x)^2⨸(~a))^(1⨸3)), (~x)) : nothing) + +("1_2_1_2_130", +@rule ∫(1/(((~!d) + (~!e)*(~x))*((~a) + (~!b)*(~x) + (~!c)*(~x)^2)^(1//3)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)^2*(~d)^2 - (~b)*(~c)*(~d)*(~e) - 2*(~b)^2*(~e)^2 + 9*(~a)*(~c)*(~e)^2, 0) ? +((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x))^(1⨸ 3)*((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x))^(1⨸3)⨸((~a) + (~b)*(~x) + (~c)*(~x)^2)^(1⨸3)* ∫(1⨸(((~d) + (~e)*(~x))*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x))^(1⨸3)*((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x))^(1⨸3)), (~x)) : nothing) + +("1_2_1_2_131", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + gt((~a), 0) && + lt((~c), 0) ? +∫(((~d) + (~e)*(~x))^(~m)*(rt((~a), 2) + rt(-(~c), 2)*(~x))^ (~p)*(rt((~a), 2) - rt(-(~c), 2)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_2_132", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ilt((~m), 0) ? +∫(ext_expand(((~a) + (~c)*(~x)^2)^ (~p), ((~d)⨸((~d)^2 - (~e)^2*(~x)^2) - (~e)*(~x)⨸((~d)^2 - (~e)^2*(~x)^2))^(-(~m)), (~x)), (~x)) : nothing) + +("1_2_1_2_133", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !(ext_isinteger((~p))) && + ilt((~m), 0) ? +-(1⨸((~d) + (~e)*(~x)))^(2*(~p))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^ (~p)⨸((~e)*((~e)*((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x))⨸(2*(~c)*((~d) + (~e)*(~x))))^ (~p)*((~e)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x))⨸(2*(~c)*((~d) + (~e)*(~x))))^(~p))* int_and_subst((~x)^(-(~m) - 2*((~p) + 1))*simp(1 - ((~d) - (~e)*((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~c)))*(~x), (~x))^(~p)* simp(1 - ((~d) - (~e)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~c)))*(~x), (~x))^(~p), (~x), (~x), 1⨸((~d) + (~e)*(~x)), "1_2_1_2_133") : nothing) + +("1_2_1_2_134", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) && + !(ext_isinteger((~p))) ? +((~a) + (~b)*(~x) + (~c)*(~x)^2)^ (~p)⨸((~e)*(1 - ((~d) + (~e)*(~x))⨸((~d) - (~e)*((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~c))))^ (~p)*(1 - ((~d) + (~e)*(~x))⨸((~d) - (~e)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~c))))^(~p))* int_and_subst((~x)^(~m)*simp(1 - (~x)⨸((~d) - (~e)*((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~c))), (~x))^(~p)* simp(1 - (~x)⨸((~d) - (~e)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~c))), (~x))^(~p), (~x), (~x), (~d) + (~e)*(~x), "1_2_1_2_134") : nothing) + +("1_2_1_2_135", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) ? +((~a) + (~c)*(~x)^2)^ (~p)⨸((~e)*(1 - ((~d) + (~e)*(~x))⨸((~d) + (~e)*rt(-(~a)*(~c), 2)⨸(~c)))^(~p)*(1 - ((~d) + (~e)*(~x))⨸((~d) - (~e)*rt(-(~a)*(~c), 2)⨸(~c)))^ (~p))* int_and_subst((~x)^(~m)*simp(1 - (~x)⨸((~d) + (~e)*rt(-(~a)*(~c), 2)⨸(~c)), (~x))^(~p)* simp(1 - (~x)⨸((~d) - (~e)*rt(-(~a)*(~c), 2)⨸(~c)), (~x))^(~p), (~x), (~x), (~d) + (~e)*(~x), "1_2_1_2_135") : nothing) + +("1_2_1_2_136", +@rule ∫(((~!d) + (~!e)*(~u))^(~!m)*((~a) + (~!b)*(~u) + (~!c)*(~u)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + linear((~u), (~x)) && + !eq((~u), (~x)) ? +1⨸ext_coeff((~u), (~x), 1)* int_and_subst(((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x), (~x), (~u), "1_2_1_2_136") : nothing) + +("1_2_1_2_137", +@rule ∫(((~!d) + (~!e)*(~u))^(~!m)*((~a) + (~!c)*(~u)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~p), (~x)) && + linear((~u), (~x)) && + !eq((~u), (~x)) ? +1⨸ext_coeff((~u), (~x), 1)* int_and_subst(((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^(~p), (~x), (~x), (~u), "1_2_1_2_137") : nothing) + +#(* IntQuadraticQ[a,b,c,d,e,m,p,x] returns True iff (d+e*x)^m*(a+b*x+c*x^2)^p is integrable wrt x in terms of non-Appell functions. *) IntQuadraticQ[a_, b_, c_, d_, e_, m_, p_, x_] := IntegerQ[p] || IGtQ[m, 0] || IntegersQ[2*m, 2*p] || IntegersQ[m, 4*p] || IntegersQ[m, p + 1/3] && (EqQ[c^2*d^2 - b*c*d*e + b^2*e^2 - 3*a*c*e^2, 0] || EqQ[c^2*d^2 - b*c*d*e - 2*b^2*e^2 + 9*a*c*e^2, 0]) + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.1 Quadratic/1.2.1.3 (d+e x)^m (f+g x) (a+b x+c x^2)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.1 Quadratic/1.2.1.3 (d+e x)^m (f+g x) (a+b x+c x^2)^p.jl new file mode 100644 index 0000000..cd2b9ac --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.1 Quadratic/1.2.1.3 (d+e x)^m (f+g x) (a+b x+c x^2)^p.jl @@ -0,0 +1,783 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.2.1.3 (d+e x)^m (f+g x) (a+b x+c x^2)^p *) +("1_2_1_3_1", +@rule ∫(((~!e)*(~x))^(~!m)*((~f) + (~!g)*(~x))*((~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~b), (~c), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~b)*(~g)*((~m) + (~p) + 1) - (~c)*(~f)*((~m) + 2*(~p) + 2), 0) && + !eq((~m) + 2*(~p) + 2, 0) ? +(~g)*((~e)*(~x))^(~m)*((~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~m) + 2*(~p) + 2)) : nothing) + +("1_2_1_3_2", +@rule ∫((~x)^(~!m)*((~f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~f), (~g), (~p), (~x)) && + ext_isinteger((~m)) && + !(ext_isinteger(2*(~p))) ? +(~f)*∫((~x)^(~m)*((~a) + (~c)*(~x)^2)^(~p), (~x)) + (~g)*∫((~x)^((~m) + 1)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_3_3", +@rule ∫(((~!e)*(~x))^(~!m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~e), (~f), (~g), (~m), (~x)) && + ext_isinteger((~p)) && + ( + gt((~p), 0) || + eq((~a), 0) && + ext_isinteger((~m)) + ) ? +∫(ext_expand(((~e)*(~x))^(~m)*((~f) + (~g)*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +("1_2_1_3_4", +@rule ∫(((~!e)*(~x))^(~!m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~e), (~f), (~g), (~m), (~x)) && + igt((~p), 0) ? +∫(ext_expand(((~e)*(~x))^(~m)*((~f) + (~g)*(~x))*((~a) + (~c)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +("1_2_1_3_5", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*((~f) + (~!g)*(~x))*((~a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~m) + 2*(~p) + 3, 0) && + eq(2*(~c)*(~f) - (~b)*(~g), 0) ? +-(~f)*(~g)*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~b)*((~p) + 1)*((~e)*(~f) - (~d)*(~g))) : nothing) + +("1_2_1_3_6", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq(2*(~c)*(~f) - (~b)*(~g), 0) && + lt((~p), -1) && + gt((~m), 0) ? +(~g)*((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~c)*((~p) + 1)) - (~e)*(~g)*(~m)⨸(2*(~c)*((~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_3_7", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*((~!f) + (~!g)*(~x))*((~a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~m) + 2*(~p) + 3, 0) && + !eq(2*(~c)*(~f) - (~b)*(~g), 0) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) ? +-2*(~c)*((~e)*(~f) - (~d)*(~g))*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(((~p) + 1)*(2*(~c)*(~d) - (~b)*(~e))^2) + (2*(~c)*(~f) - (~b)*(~g))⨸(2*(~c)*(~d) - (~b)*(~e))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_3_8", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) ? +((~a) + (~b)*(~x) + (~c)*(~x)^2)^ fracpart((~p))⨸((~c)^intpart((~p))*((~b)⨸2 + (~c)*(~x))^(2*fracpart((~p))))* ∫(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))*((~b)⨸2 + (~c)*(~x))^(2*(~p)), (~x)) : nothing) + +("1_2_1_3_9", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~p)) && + ( + gt((~p), 0) || + eq((~a), 0) && + ext_isinteger((~m)) + ) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +("1_2_1_3_10", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + igt((~p), 0) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))*((~a) + (~c)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +("1_2_1_3_11", +@rule ∫(((~!d) + (~!e)*(~x))*((~f) + (~!g)*(~x))/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +(~e)*(~g)*(~x)⨸(~c) + 1⨸(~c)*∫(((~c)*(~d)*(~f) - (~a)*(~e)*(~g) + ((~c)*(~e)*(~f) + (~c)*(~d)*(~g) - (~b)*(~e)*(~g))*(~x))⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_3_12", +@rule ∫(((~!d) + (~!e)*(~x))*((~f) + (~!g)*(~x))/((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) ? +(~e)*(~g)*(~x)⨸(~c) + 1⨸(~c)*∫(((~c)*(~d)*(~f) - (~a)*(~e)*(~g) + (~c)*((~e)*(~f) + (~d)*(~g))*(~x))⨸((~a) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_3_13", +@rule ∫(((~!d) + (~!e)*(~x))*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~b)^2*(~e)*(~g)*((~p) + 2) - 2*(~a)*(~c)*(~e)*(~g) + (~c)*(2*(~c)*(~d)*(~f) - (~b)*((~e)*(~f) + (~d)*(~g)))*(2*(~p) + 3), 0) && + !eq((~p), -1) ? +-((~b)*(~e)*(~g)*((~p) + 2) - (~c)*((~e)*(~f) + (~d)*(~g))*(2*(~p) + 3) - 2*(~c)*(~e)*(~g)*((~p) + 1)*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(2* (~c)^2*((~p) + 1)*(2*(~p) + 3)) : nothing) + +("1_2_1_3_14", +@rule ∫(((~!d) + (~!e)*(~x))*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + eq((~a)*(~e)*(~g) - (~c)*(~d)*(~f)*(2*(~p) + 3), 0) && + !eq((~p), -1) ? +(((~e)*(~f) + (~d)*(~g))*(2*(~p) + 3) + 2*(~e)*(~g)*((~p) + 1)*(~x))*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~c)*((~p) + 1)*(2*(~p) + 3)) : nothing) + +("1_2_1_3_15", +@rule ∫(((~!d) + (~!e)*(~x))*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~p), -1) ? +-(2*(~a)*(~c)*((~e)*(~f) + (~d)*(~g)) - (~b)*((~c)*(~d)*(~f) + (~a)*(~e)*(~g)) - ((~b)^2*(~e)*(~g) - (~b)*(~c)*((~e)*(~f) + (~d)*(~g)) + 2*(~c)*((~c)*(~d)*(~f) - (~a)*(~e)*(~g)))*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) - ((~b)^2*(~e)*(~g)*((~p) + 2) - 2*(~a)*(~c)*(~e)*(~g) + (~c)*(2*(~c)*(~d)*(~f) - (~b)*((~e)*(~f) + (~d)*(~g)))*(2*(~p) + 3))⨸((~c)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))*∫(((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_3_16", +@rule ∫(((~!d) + (~!e)*(~x))*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + lt((~p), -1) ? +((~a)*((~e)*(~f) + (~d)*(~g)) - ((~c)*(~d)*(~f) - (~a)*(~e)*(~g))*(~x))*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~a)* (~c)*((~p) + 1)) - ((~a)*(~e)*(~g) - (~c)*(~d)*(~f)*(2*(~p) + 3))⨸(2*(~a)*(~c)*((~p) + 1))* ∫(((~a) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_3_17", +@rule ∫(((~!d) + (~!e)*(~x))*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !(le((~p), -1)) ? +-((~b)*(~e)*(~g)*((~p) + 2) - (~c)*((~e)*(~f) + (~d)*(~g))*(2*(~p) + 3) - 2*(~c)*(~e)*(~g)*((~p) + 1)*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(2* (~c)^2*((~p) + 1)*(2*(~p) + 3)) + ((~b)^2*(~e)*(~g)*((~p) + 2) - 2*(~a)*(~c)*(~e)*(~g) + (~c)*(2*(~c)*(~d)*(~f) - (~b)*((~e)*(~f) + (~d)*(~g)))*(2*(~p) + 3))⨸(2*(~c)^2*(2*(~p) + 3))* ∫(((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_3_18", +@rule ∫(((~!d) + (~!e)*(~x))*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + !(le((~p), -1)) ? +(((~e)*(~f) + (~d)*(~g))*(2*(~p) + 3) + 2*(~e)*(~g)*((~p) + 1)*(~x))*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~c)*((~p) + 1)*(2*(~p) + 3)) - ((~a)*(~e)*(~g) - (~c)*(~d)*(~f)*(2*(~p) + 3))⨸((~c)*(2*(~p) + 3))*∫(((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_3_19", +@rule ∫(((~!e)*(~x))^(~!m)*((~!f) + (~!g)*(~x))*((~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~b), (~c), (~e), (~f), (~g), (~m), (~x)) && + ext_isinteger((~p)) ? +1⨸(~e)^(~p)*∫(((~e)*(~x))^((~m) + (~p))*((~f) + (~g)*(~x))*((~b) + (~c)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_3_20", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger((~p)) ? +∫(((~d) + (~e)*(~x))^((~m) + (~p))*((~f) + (~g)*(~x))*((~a)⨸(~d) + (~c)⨸(~e)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_3_21", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ( + ext_isinteger((~p)) || + gt((~a), 0) && + gt((~d), 0) && + eq((~m) + (~p), 0) + ) ? +∫(((~d) + (~e)*(~x))^((~m) + (~p))*((~f) + (~g)*(~x))*((~a)⨸(~d) + (~c)⨸(~e)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_3_22", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger(2*(~p))) && + ilt((~m), 0) ? +(~d)^(~m)*(~e)^(~m)* ∫(((~f) + (~g)*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~m) + (~p))⨸((~a)*(~e) + (~c)*(~d)*(~x))^(~m), (~x)) : nothing) + +("1_2_1_3_23", +@rule ∫((~x)*((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~p), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ilt((~m), 0) && + eq((~m), -1) && + !(ilt((~p) - 1/2, 0)) ? +(~d)^(~m)*(~e)^(~m)*∫((~x)*((~a) + (~c)*(~x)^2)^((~m) + (~p))⨸((~a)*(~e) + (~c)*(~d)*(~x))^(~m), (~x)) : nothing) + +("1_2_1_3_24", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + eq((~m)*((~g)*((~c)*(~d) - (~b)*(~e)) + (~c)*(~e)*(~f)) + (~e)*((~p) + 1)*(2*(~c)*(~f) - (~b)*(~g)), 0) ? +(~g)*((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~m) + 2*(~p) + 2)) : nothing) + +("1_2_1_3_25", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + eq((~m)*((~d)*(~g) + (~e)*(~f)) + 2*(~e)*(~f)*((~p) + 1), 0) ? +(~g)*((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~m) + 2*(~p) + 2)) : nothing) + +("1_2_1_3_26", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + lt((~p), -1) && + gt((~m), 0) ? +((~g)*((~c)*(~d) - (~b)*(~e)) + (~c)*(~e)*(~f))*((~d) + (~e)*(~x))^ (~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~p) + 1)*(2*(~c)*(~d) - (~b)*(~e))) - (~e)*((~m)*((~g)*((~c)*(~d) - (~b)*(~e)) + (~c)*(~e)*(~f)) + (~e)*((~p) + 1)*(2*(~c)*(~f) - (~b)*(~g)))⨸((~c)*((~p) + 1)*(2*(~c)*(~d) - (~b)*(~e)))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_3_27", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + lt((~p), -1) && + gt((~m), 0) ? +((~d)*(~g) + (~e)*(~f))*((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~c)*(~d)*((~p) + 1)) - (~e)*((~m)*((~d)*(~g) + (~e)*(~f)) + 2*(~e)*(~f)*((~p) + 1))⨸(2*(~c)*(~d)*((~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_3_28", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + sumsimpler((~p), 1) && + sumsimpler((~m), -1) && + !eq((~p), -1) ? +((~g)*((~c)*(~d) - (~b)*(~e)) + (~c)*(~e)*(~f))*((~d) + (~e)*(~x))^ (~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~p) + 1)*(2*(~c)*(~d) - (~b)*(~e))) - (~e)*((~m)*((~g)*((~c)*(~d) - (~b)*(~e)) + (~c)*(~e)*(~f)) + (~e)*((~p) + 1)*(2*(~c)*(~f) - (~b)*(~g)))⨸((~c)*((~p) + 1)*(2*(~c)*(~d) - (~b)*(~e)))* ∫(((~d) + (~e)*(~x))^simplify((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^ simplify((~p) + 1), (~x)) : nothing) + +("1_2_1_3_29", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + sumsimpler((~p), 1) && + sumsimpler((~m), -1) && + !eq((~p), -1) && + !(igt((~m), 0)) ? +((~d)*(~g) + (~e)*(~f))*((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~c)*(~d)*((~p) + 1)) - (~e)*((~m)*((~d)*(~g) + (~e)*(~f)) + 2*(~e)*(~f)*((~p) + 1))⨸(2*(~c)*(~d)*((~p) + 1))* ∫(((~d) + (~e)*(~x))^simplify((~m) - 1)*((~a) + (~c)*(~x)^2)^simplify((~p) + 1), (~x)) : nothing) + +("1_2_1_3_30", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ( + lt((~m), -1) && + !(igt((~m) + (~p) + 1, 0)) || + lt((~m), 0) && + lt((~p), -1) || + eq((~m) + 2*(~p) + 2, 0) + ) && + !eq((~m) + (~p) + 1, 0) ? +((~d)*(~g) - (~e)*(~f))*((~d) + (~e)*(~x))^ (~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((2*(~c)*(~d) - (~b)*(~e))*((~m) + (~p) + 1)) + ((~m)*((~g)*((~c)*(~d) - (~b)*(~e)) + (~c)*(~e)*(~f)) + (~e)*((~p) + 1)*(2*(~c)*(~f) - (~b)*(~g)))⨸((~e)*(2*(~c)*(~d) - (~b)*(~e))*((~m) + (~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_3_31", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ( + lt((~m), -1) && + !(igt((~m) + (~p) + 1, 0)) || + lt((~m), 0) && + lt((~p), -1) || + eq((~m) + 2*(~p) + 2, 0) + ) && + !eq((~m) + (~p) + 1, 0) ? +((~d)*(~g) - (~e)*(~f))*((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~c)*(~d)*((~m) + (~p) + 1)) + ((~m)*((~g)*(~c)*(~d) + (~c)*(~e)*(~f)) + 2*(~e)*(~c)*(~f)*((~p) + 1))⨸((~e)*(2*(~c)*(~d))*((~m) + (~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_3_32", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq((~m) + 2*(~p) + 2, 0) && + ( + !eq((~m), 2) || + eq((~d), 0) + ) ? +(~g)*((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~m) + 2*(~p) + 2)) + ((~m)*((~g)*((~c)*(~d) - (~b)*(~e)) + (~c)*(~e)*(~f)) + (~e)*((~p) + 1)*(2*(~c)*(~f) - (~b)*(~g)))⨸((~c)* (~e)*((~m) + 2*(~p) + 2))*∫(((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_3_33", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !eq((~m) + 2*(~p) + 2, 0) && + !eq((~m), 2) ? +(~g)*((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~m) + 2*(~p) + 2)) + ((~m)*((~d)*(~g) + (~e)*(~f)) + 2*(~e)*(~f)*((~p) + 1))⨸((~e)*((~m) + 2*(~p) + 2))* ∫(((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_3_34", +@rule ∫((~x)^2*((~f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~f), (~g), (~x)) && + eq((~a)*(~g)^2 + (~f)^2*(~c), 0) && + lt((~p), -2) ? +(~x)^2*((~a)*(~g) - (~c)*(~f)*(~x))*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~a)*(~c)*((~p) + 1)) - 1⨸(2*(~a)*(~c)*((~p) + 1))* ∫((~x)*simp(2*(~a)*(~g) - (~c)*(~f)*(2*(~p) + 5)*(~x), (~x))*((~a) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_3_35", +@rule ∫((~x)^2*((~f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~f), (~g), (~p), (~x)) && + eq((~a)*(~g)^2 + (~f)^2*(~c), 0) ? +1⨸(~c)*∫(((~f) + (~g)*(~x))*((~a) + (~c)*(~x)^2)^((~p) + 1), (~x)) - (~a)⨸(~c)*∫(((~f) + (~g)*(~x))*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_3_36", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~f)^2 - (~b)*(~f)*(~g) + (~a)*(~g)^2, 0) && + ext_isinteger((~p)) ? +∫(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^((~p) + 1)*((~a)⨸(~f) + (~c)⨸(~g)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_3_37", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + eq((~c)*(~f)^2 + (~a)*(~g)^2, 0) && + ( + ext_isinteger((~p)) || + gt((~a), 0) && + gt((~f), 0) && + eq((~p), -1) + ) ? +∫(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^((~p) + 1)*((~a)⨸(~f) + (~c)⨸(~g)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_3_38", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger((~m)) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)), (~x)) : nothing) + +("1_2_1_3_39", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))/((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ext_isinteger((~m)) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))⨸((~a) + (~c)*(~x)^2), (~x)), (~x)) : nothing) + +("1_2_1_3_40", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + eq(simplify((~m) + 2*(~p) + 3), 0) && + eq((~b)*((~e)*(~f) + (~d)*(~g)) - 2*((~c)*(~d)*(~f) + (~a)*(~e)*(~g)), 0) ? +-((~e)*(~f) - (~d)*(~g))*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(2*((~p) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)) : nothing) + +("1_2_1_3_41", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + eq(simplify((~m) + 2*(~p) + 3), 0) && + eq((~c)*(~d)*(~f) + (~a)*(~e)*(~g), 0) ? +-((~e)*(~f) - (~d)*(~g))*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*((~p) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2)) : nothing) + +("1_2_1_3_42", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + eq(simplify((~m) + 2*(~p) + 3), 0) && + lt((~p), -1) ? +((~d) + (~e)*(~x))^ (~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)*((~b)*(~f) - 2*(~a)*(~g) + (2*(~c)*(~f) - (~b)*(~g))*(~x))⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) - (~m)*((~b)*((~e)*(~f) + (~d)*(~g)) - 2*((~c)*(~d)*(~f) + (~a)*(~e)*(~g)))⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_3_43", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + eq(simplify((~m) + 2*(~p) + 3), 0) && + lt((~p), -1) ? +((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^((~p) + 1)*((~a)*(~g) - (~c)*(~f)*(~x))⨸(2*(~a)*(~c)*((~p) + 1)) - (~m)*((~c)*(~d)*(~f) + (~a)*(~e)*(~g))⨸(2*(~a)*(~c)*((~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_3_44", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + eq(simplify((~m) + 2*(~p) + 3), 0) ? +-((~e)*(~f) - (~d)*(~g))*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(2*((~p) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)) - ((~b)*((~e)*(~f) + (~d)*(~g)) - 2*((~c)*(~d)*(~f) + (~a)*(~e)*(~g)))⨸(2*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_3_45", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + eq(simplify((~m) + 2*(~p) + 3), 0) ? +-((~e)*(~f) - (~d)*(~g))*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*((~p) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2)) + ((~c)*(~d)*(~f) + (~a)*(~e)*(~g))⨸((~c)*(~d)^2 + (~a)*(~e)^2)* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_3_46", +@rule ∫(((~!e)*(~x))^(~m)*((~f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~e), (~f), (~g), (~p), (~x)) && + !(isrational((~m))) && + !(igt((~p), 0)) ? +(~f)*∫(((~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^(~p), (~x)) + (~g)⨸(~e)*∫(((~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_3_47", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~m), (~p)) && + eq((~b)*(~d) + (~a)*(~e), 0) && + eq((~c)*(~d) + (~b)*(~e), 0) ? +((~d) + (~e)*(~x))^ fracpart((~p))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^fracpart((~p))⨸((~a)*(~d) + (~c)*(~e)*(~x)^3)^ fracpart((~p))*∫(((~f) + (~g)*(~x))*((~a)*(~d) + (~c)*(~e)*(~x)^3)^(~p), (~x)) : nothing) + +("1_2_1_3_48", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + gt((~p), 0) && + lt((~m), -2) && + lt((~m) + 2*(~p), 0) && + !(ilt((~m) + 2*(~p) + 3, 0)) ? +-((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^ (~p)⨸((~e)^2*((~m) + 1)*((~m) + 2)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2))* (((~d)*(~g) - (~e)*(~f)*((~m) + 2))*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2) - (~d)*(~p)*(2*(~c)*(~d) - (~b)*(~e))*((~e)*(~f) - (~d)*(~g)) - (~e)*((~g)*((~m) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2) + (~p)*(2*(~c)*(~d) - (~b)*(~e))*((~e)*(~f) - (~d)*(~g)))*(~x)) - (~p)⨸((~e)^2*((~m) + 1)*((~m) + 2)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^((~m) + 2)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1)* simp(2*(~a)*(~c)*(~e)*((~e)*(~f) - (~d)*(~g))*((~m) + 2) + (~b)^2*(~e)*((~d)*(~g)*((~p) + 1) - (~e)*(~f)*((~m) + (~p) + 2)) + (~b)*((~a)*(~e)^2*(~g)*((~m) + 1) - (~c)*(~d)*((~d)*(~g)*(2*(~p) + 1) - (~e)*(~f)*((~m) + 2*(~p) + 2))) - (~c)*(2*(~c)*(~d)*((~d)*(~g)*(2*(~p) + 1) - (~e)*(~f)*((~m) + 2*(~p) + 2)) - (~e)*(2*(~a)*(~e)*(~g)*((~m) + 1) - (~b)*((~d)*(~g)*((~m) - 2*(~p)) + (~e)*(~f)*((~m) + 2*(~p) + 2))))*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_49", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + gt((~p), 0) && + lt((~m), -2) && + lt((~m) + 2*(~p), 0) && + !(ilt((~m) + 2*(~p) + 3, 0)) ? +-((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^ (~p)⨸((~e)^2*((~m) + 1)*((~m) + 2)*((~c)*(~d)^2 + (~a)*(~e)^2))* (((~d)*(~g) - (~e)*(~f)*((~m) + 2))*((~c)*(~d)^2 + (~a)*(~e)^2) - 2*(~c)*(~d)^2*(~p)*((~e)*(~f) - (~d)*(~g)) - (~e)*((~g)*((~m) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2) + 2*(~c)*(~d)*(~p)*((~e)*(~f) - (~d)*(~g)))*(~x)) - (~p)⨸((~e)^2*((~m) + 1)*((~m) + 2)*((~c)*(~d)^2 + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^((~m) + 2)*((~a) + (~c)*(~x)^2)^((~p) - 1)* simp(2*(~a)*(~c)*(~e)*((~e)*(~f) - (~d)*(~g))*((~m) + 2) - (~c)*(2*(~c)*(~d)*((~d)*(~g)*(2*(~p) + 1) - (~e)*(~f)*((~m) + 2*(~p) + 2)) - 2*(~a)*(~e)^2*(~g)*((~m) + 1))*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_50", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + isrational((~p)) && + (~p) > 0 && + ( + lt((~m), -1) || + eq((~p), 1) || + ext_isinteger((~p)) && + !(isrational((~m))) + ) && + !eq((~m), -1) && + !(ilt((~m) + 2*(~p) + 1, 0)) && + ( + ext_isinteger((~m)) || + ext_isinteger((~p)) || + ext_isinteger(2*(~m), 2*(~p)) + ) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~e)*(~f)*((~m) + 2*(~p) + 2) - (~d)*(~g)*(2*(~p) + 1) + (~e)*(~g)*((~m) + 1)*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)⨸((~e)^2*((~m) + 1)*((~m) + 2*(~p) + 2)) + (~p)⨸((~e)^2*((~m) + 1)*((~m) + 2*(~p) + 2))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1)* simp((~g)*((~b)*(~d) + 2*(~a)*(~e) + 2*(~a)*(~e)*(~m) + 2*(~b)*(~d)*(~p)) - (~f)*(~b)*(~e)*((~m) + 2*(~p) + 2) + ((~g)*(2*(~c)*(~d) + (~b)*(~e) + (~b)*(~e)*(~m) + 4*(~c)*(~d)*(~p)) - 2*(~c)*(~e)*(~f)*((~m) + 2*(~p) + 2))*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_51", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + isrational((~p)) && + (~p) > 0 && + ( + lt((~m), -1) || + eq((~p), 1) || + ext_isinteger((~p)) && + !(isrational((~m))) + ) && + !eq((~m), -1) && + !(ilt((~m) + 2*(~p) + 1, 0)) && + ( + ext_isinteger((~m)) || + ext_isinteger((~p)) || + ext_isinteger(2*(~m), 2*(~p)) + ) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~e)*(~f)*((~m) + 2*(~p) + 2) - (~d)*(~g)*(2*(~p) + 1) + (~e)*(~g)*((~m) + 1)*(~x))*((~a) + (~c)*(~x)^2)^(~p)⨸((~e)^2*((~m) + 1)*((~m) + 2*(~p) + 2)) + (~p)⨸((~e)^2*((~m) + 1)*((~m) + 2*(~p) + 2))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^((~p) - 1)* simp((~g)*(2*(~a)*(~e) + 2*(~a)*(~e)*(~m)) + ((~g)*(2*(~c)*(~d) + 4*(~c)*(~d)*(~p)) - 2*(~c)*(~e)*(~f)*((~m) + 2*(~p) + 2))*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_52", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + gt((~p), 0) && + ( + ext_isinteger((~p)) || + !(isrational((~m))) || + ge((~m), -1) && + lt((~m), 0) + ) && + !(ilt((~m) + 2*(~p), 0)) && + ( + ext_isinteger((~m)) || + ext_isinteger((~p)) || + ext_isinteger(2*(~m), 2*(~p)) + ) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~c)*(~e)*(~f)*((~m) + 2*(~p) + 2) - (~g)*((~c)*(~d) + 2*(~c)*(~d)*(~p) - (~b)*(~e)*(~p)) + (~g)*(~c)*(~e)*((~m) + 2*(~p) + 1)*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)⨸ ((~c)*(~e)^2*((~m) + 2*(~p) + 1)*((~m) + 2*(~p) + 2)) - (~p)⨸((~c)*(~e)^2*((~m) + 2*(~p) + 1)*((~m) + 2*(~p) + 2))* ∫(((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1)* simp((~c)*(~e)*(~f)*((~b)*(~d) - 2*(~a)*(~e))*((~m) + 2*(~p) + 2) + (~g)*((~a)*(~e)*((~b)*(~e) - 2*(~c)*(~d)*(~m) + (~b)*(~e)*(~m)) + (~b)*(~d)*((~b)*(~e)*(~p) - (~c)*(~d) - 2*(~c)*(~d)*(~p))) + ((~c)*(~e)*(~f)*(2*(~c)*(~d) - (~b)*(~e))*((~m) + 2*(~p) + 2) + (~g)*((~b)^2*(~e)^2*((~p) + (~m) + 1) - 2*(~c)^2*(~d)^2*(1 + 2*(~p)) - (~c)*(~e)*((~b)*(~d)*((~m) - 2*(~p)) + 2*(~a)*(~e)*((~m) + 2*(~p) + 1))))*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_53", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + gt((~p), 0) && + ( + ext_isinteger((~p)) || + !(isrational((~m))) || + ge((~m), -1) && + lt((~m), 0) + ) && + !(ilt((~m) + 2*(~p), 0)) && + ( + ext_isinteger((~m)) || + ext_isinteger((~p)) || + ext_isinteger(2*(~m), 2*(~p)) + ) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~c)*(~e)*(~f)*((~m) + 2*(~p) + 2) - (~g)*(~c)*(~d)*(2*(~p) + 1) + (~g)*(~c)*(~e)*((~m) + 2*(~p) + 1)*(~x))*((~a) + (~c)*(~x)^2)^(~p)⨸ ((~c)*(~e)^2*((~m) + 2*(~p) + 1)*((~m) + 2*(~p) + 2)) + 2*(~p)⨸((~c)*(~e)^2*((~m) + 2*(~p) + 1)*((~m) + 2*(~p) + 2))* ∫(((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^((~p) - 1)* simp((~f)*(~a)*(~c)*(~e)^2*((~m) + 2*(~p) + 2) + (~a)*(~c)*(~d)*(~e)*(~g)* (~m) - ((~c)^2*(~f)*(~d)*(~e)*((~m) + 2*(~p) + 2) - (~g)*((~c)^2*(~d)^2*(2*(~p) + 1) + (~a)*(~c)*(~e)^2*((~m) + 2*(~p) + 1)))*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_54", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ilt((~p), -1) && + igt((~m), 0) && + isrational((~a), (~b), (~c), (~d), (~e), (~f), (~g)) ? +∫(((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)*ext_expand(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x)), (~x)), (~x)) : nothing) + +("1_2_1_3_55", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ilt((~p), -1) && + igt((~m), 0) && + isrational((~a), (~c), (~d), (~e), (~f), (~g)) ? +∫(((~a) + (~c)*(~x)^2)^(~p)*ext_expand(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x)), (~x)), (~x)) : nothing) + +("1_2_1_3_56", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + lt((~p), -1) && + gt((~m), 1) && + ( + eq((~m), 2) && + eq((~p), -3) && + isrational((~a), (~b), (~c), (~d), (~e), (~f), (~g)) || + !(ilt((~m) + 2*(~p) + 3, 0)) + ) ? +-((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)*(2*(~a)*(~c)*((~e)*(~f) + (~d)*(~g)) - (~b)*((~c)*(~d)*(~f) + (~a)*(~e)*(~g)) - (2*(~c)^2*(~d)*(~f) + (~b)^2*(~e)*(~g) - (~c)*((~b)*(~e)*(~f) + (~b)*(~d)*(~g) + 2*(~a)*(~e)*(~g)))*(~x))⨸ ((~c)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) - 1⨸((~c)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~d) + (~e)*(~x))^((~m) - 2)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)* simp(2*(~c)^2*(~d)^2*(~f)*(2*(~p) + 3) + (~b)*(~e)*(~g)*((~a)*(~e)*((~m) - 1) + (~b)*(~d)*((~p) + 2)) - (~c)*(2*(~a)*(~e)*((~e)*(~f)*((~m) - 1) + (~d)*(~g)*(~m)) + (~b)*(~d)*((~d)*(~g)*(2*(~p) + 3) - (~e)*(~f)*((~m) - 2*(~p) - 4))) + (~e)*((~b)^2*(~e)*(~g)*((~m) + (~p) + 1) + 2*(~c)^2*(~d)*(~f)*((~m) + 2*(~p) + 2) - (~c)*(2*(~a)*(~e)*(~g)*(~m) + (~b)*((~e)*(~f) + (~d)*(~g))*((~m) + 2*(~p) + 2)))*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_57", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + lt((~p), -1) && + gt((~m), 1) && + ( + eq((~d), 0) || + eq((~m), 2) && + eq((~p), -3) && + isrational((~a), (~c), (~d), (~e), (~f), (~g)) || + !(ilt((~m) + 2*(~p) + 3, 0)) + ) ? +((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)*((~a)*((~e)*(~f) + (~d)*(~g)) - ((~c)*(~d)*(~f) - (~a)*(~e)*(~g))*(~x))⨸(2*(~a)*(~c)*((~p) + 1)) - 1⨸(2*(~a)*(~c)*((~p) + 1))*∫(((~d) + (~e)*(~x))^((~m) - 2)*((~a) + (~c)*(~x)^2)^((~p) + 1)* simp((~a)*(~e)*((~e)*(~f)*((~m) - 1) + (~d)*(~g)*(~m)) - (~c)*(~d)^2*(~f)*(2*(~p) + 3) + (~e)*((~a)*(~e)*(~g)*(~m) - (~c)*(~d)*(~f)*((~m) + 2*(~p) + 2))*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_58", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + lt((~p), -1) && + gt((~m), 0) && + ( + ext_isinteger((~m)) || + ext_isinteger((~p)) || + ext_isinteger(2*(~m), 2*(~p)) + ) ? +((~d) + (~e)*(~x))^ (~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)*((~f)*(~b) - 2*(~a)*(~g) + (2*(~c)*(~f) - (~b)*(~g))*(~x))⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) + 1⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)* simp((~g)*(2*(~a)*(~e)*(~m) + (~b)*(~d)*(2*(~p) + 3)) - (~f)*((~b)*(~e)*(~m) + 2*(~c)*(~d)*(2*(~p) + 3)) - (~e)*(2*(~c)*(~f) - (~b)*(~g))*((~m) + 2*(~p) + 3)*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_59", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + lt((~p), -1) && + gt((~m), 0) && + ( + ext_isinteger((~m)) || + ext_isinteger((~p)) || + ext_isinteger(2*(~m), 2*(~p)) + ) ? +((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^((~p) + 1)*((~a)*(~g) - (~c)*(~f)*(~x))⨸(2*(~a)*(~c)*((~p) + 1)) - 1⨸(2*(~a)*(~c)*((~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)* simp((~a)*(~e)*(~g)*(~m) - (~c)*(~d)*(~f)*(2*(~p) + 3) - (~c)*(~e)*(~f)*((~m) + 2*(~p) + 3)*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_60", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + lt((~p), -1) && + ( + ext_isinteger((~m)) || + ext_isinteger((~p)) || + ext_isinteger(2*(~m), 2*(~p)) + ) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~f)*((~b)*(~c)*(~d) - (~b)^2*(~e) + 2*(~a)*(~c)*(~e)) - (~a)*(~g)*(2*(~c)*(~d) - (~b)*(~e)) + (~c)*((~f)*(2*(~c)*(~d) - (~b)*(~e)) - (~g)*((~b)*(~d) - 2*(~a)*(~e)))* (~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸ (((~p) + 1)*((~b)^2 - 4*(~a)*(~c))*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)) + 1⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c))*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)* simp((~f)*((~b)*(~c)*(~d)*(~e)*(2*(~p) - (~m) + 2) + (~b)^2*(~e)^2*((~p) + (~m) + 2) - 2*(~c)^2*(~d)^2*(2*(~p) + 3) - 2*(~a)*(~c)*(~e)^2*((~m) + 2*(~p) + 3)) - (~g)*((~a)*(~e)*((~b)*(~e) - 2*(~c)*(~d)*(~m) + (~b)*(~e)*(~m)) - (~b)*(~d)*(3*(~c)*(~d) - (~b)*(~e) + 2*(~c)*(~d)*(~p) - (~b)*(~e)*(~p))) + (~c)*(~e)*((~g)*((~b)*(~d) - 2*(~a)*(~e)) - (~f)*(2*(~c)*(~d) - (~b)*(~e)))*((~m) + 2*(~p) + 4)*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_61", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + lt((~p), -1) && + ( + ext_isinteger((~m)) || + ext_isinteger((~p)) || + ext_isinteger(2*(~m), 2*(~p)) + ) ? +-((~d) + (~e)*(~x))^((~m) + 1)*((~f)*(~a)*(~c)*(~e) - (~a)*(~g)*(~c)*(~d) + (~c)*((~c)*(~d)*(~f) + (~a)*(~e)*(~g))*(~x))*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~a)* (~c)*((~p) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2)) + 1⨸(2*(~a)*(~c)*((~p) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^((~p) + 1)* simp((~f)*((~c)^2*(~d)^2*(2*(~p) + 3) + (~a)*(~c)*(~e)^2*((~m) + 2*(~p) + 3)) - (~a)*(~c)*(~d)*(~e)*(~g)*(~m) + (~c)*(~e)*((~c)*(~d)*(~f) + (~a)*(~e)*(~g))*((~m) + 2*(~p) + 4)*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_62", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + isfraction((~m)) && + gt((~m), 0) ? +(~g)*((~d) + (~e)*(~x))^(~m)⨸((~c)*(~m)) + 1⨸(~c)* ∫(((~d) + (~e)*(~x))^((~m) - 1)* simp((~c)*(~d)*(~f) - (~a)*(~e)*(~g) + ((~g)*(~c)*(~d) - (~b)*(~e)*(~g) + (~c)*(~e)*(~f))*(~x), (~x))⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_3_63", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))/((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + isfraction((~m)) && + gt((~m), 0) ? +(~g)*((~d) + (~e)*(~x))^(~m)⨸((~c)*(~m)) + 1⨸(~c)* ∫(((~d) + (~e)*(~x))^((~m) - 1)* simp((~c)*(~d)*(~f) - (~a)*(~e)*(~g) + ((~g)*(~c)*(~d) + (~c)*(~e)*(~f))*(~x), (~x))⨸((~a) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_3_64", +@rule ∫(((~!f) + (~!g)*(~x))/(sqrt((~!d) + (~!e)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) ? +2*int_and_subst(((~e)*(~f) - (~d)*(~g) + (~g)*(~x)^2)⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2 - (2*(~c)*(~d) - (~b)*(~e))*(~x)^2 + (~c)*(~x)^4), (~x), (~x), sqrt((~d) + (~e)*(~x)), "1_2_1_3_64") : nothing) + +("1_2_1_3_65", +@rule ∫(((~!f) + (~!g)*(~x))/(sqrt((~!d) + (~!e)*(~x))*((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +2*int_and_subst(((~e)*(~f) - (~d)*(~g) + (~g)*(~x)^2)⨸((~c)*(~d)^2 + (~a)*(~e)^2 - 2*(~c)*(~d)*(~x)^2 + (~c)*(~x)^4), (~x), (~x), sqrt((~d) + (~e)*(~x)), "1_2_1_3_65") : nothing) + +("1_2_1_3_66", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + isfraction((~m)) && + lt((~m), -1) ? +((~e)*(~f) - (~d)*(~g))*((~d) + (~e)*(~x))^((~m) + 1)⨸(((~m) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)) + 1⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* ∫(((~d) + (~e)*(~x))^((~m) + 1)* simp((~c)*(~d)*(~f) - (~f)*(~b)*(~e) + (~a)*(~e)*(~g) - (~c)*((~e)*(~f) - (~d)*(~g))*(~x), (~x))⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_3_67", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))/((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + isfraction((~m)) && + lt((~m), -1) ? +((~e)*(~f) - (~d)*(~g))*((~d) + (~e)*(~x))^((~m) + 1)⨸(((~m) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2)) + 1⨸((~c)*(~d)^2 + (~a)*(~e)^2)* ∫(((~d) + (~e)*(~x))^((~m) + 1)* simp((~c)*(~d)*(~f) + (~a)*(~e)*(~g) - (~c)*((~e)*(~f) - (~d)*(~g))*(~x), (~x))⨸((~a) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_3_68", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(isrational((~m))) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m), ((~f) + (~g)*(~x))⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)), (~x)) : nothing) + +("1_2_1_3_69", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))/((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(isrational((~m))) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m), ((~f) + (~g)*(~x))⨸((~a) + (~c)*(~x)^2), (~x)), (~x)) : nothing) + +("1_2_1_3_70", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + gt((~m), 0) && + !eq((~m) + 2*(~p) + 2, 0) && + ( + ext_isinteger((~m)) || + ext_isinteger((~p)) || + ext_isinteger(2*(~m), 2*(~p)) + ) && + !( + igt((~m), 0) && + eq((~f), 0) + ) ? +(~g)*((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~m) + 2*(~p) + 2)) + 1⨸((~c)*((~m) + 2*(~p) + 2))*∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)* simp((~m)*((~c)*(~d)*(~f) - (~a)*(~e)*(~g)) + (~d)*(2*(~c)*(~f) - (~b)*(~g))*((~p) + 1) + ((~m)*((~c)*(~e)*(~f) + (~c)*(~d)*(~g) - (~b)*(~e)*(~g)) + (~e)*((~p) + 1)*(2*(~c)*(~f) - (~b)*(~g)))*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_71", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + gt((~m), 0) && + !eq((~m) + 2*(~p) + 2, 0) && + ( + ext_isinteger((~m)) || + ext_isinteger((~p)) || + ext_isinteger(2*(~m), 2*(~p)) + ) && + !( + igt((~m), 0) && + eq((~f), 0) + ) ? +(~g)*((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~m) + 2*(~p) + 2)) + 1⨸((~c)*((~m) + 2*(~p) + 2))*∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~c)*(~x)^2)^(~p)* simp((~c)*(~d)*(~f)*((~m) + 2*(~p) + 2) - (~a)*(~e)*(~g)*(~m) + (~c)*((~e)*(~f)*((~m) + 2*(~p) + 2) + (~d)*(~g)*(~m))*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_72", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + lt((~m), -1) && + ( + ext_isinteger((~m)) || + ext_isinteger((~p)) || + ext_isinteger(2*(~m), 2*(~p)) + ) ? +((~e)*(~f) - (~d)*(~g))*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(((~m) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)) + 1⨸(((~m) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)* simp(((~c)*(~d)*(~f) - (~f)*(~b)*(~e) + (~a)*(~e)*(~g))*((~m) + 1) + (~b)*((~d)*(~g) - (~e)*(~f))*((~p) + 1) - (~c)*((~e)*(~f) - (~d)*(~g))*((~m) + 2*(~p) + 3)*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_73", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + lt((~m), -1) && + ( + ext_isinteger((~m)) || + ext_isinteger((~p)) || + ext_isinteger(2*(~m), 2*(~p)) + ) ? +((~e)*(~f) - (~d)*(~g))*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(((~m) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2)) + 1⨸(((~m) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^(~p)* simp(((~c)*(~d)*(~f) + (~a)*(~e)*(~g))*((~m) + 1) - (~c)*((~e)*(~f) - (~d)*(~g))*((~m) + 2*(~p) + 3)*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_74", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ilt(simplify((~m) + 2*(~p) + 3), 0) && + !eq((~m), -1) ? +((~e)*(~f) - (~d)*(~g))*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(((~m) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)) + 1⨸(((~m) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)* simp(((~c)*(~d)*(~f) - (~f)*(~b)*(~e) + (~a)*(~e)*(~g))*((~m) + 1) + (~b)*((~d)*(~g) - (~e)*(~f))*((~p) + 1) - (~c)*((~e)*(~f) - (~d)*(~g))*((~m) + 2*(~p) + 3)*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_75", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ilt(simplify((~m) + 2*(~p) + 3), 0) && + !eq((~m), -1) ? +((~e)*(~f) - (~d)*(~g))*((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(((~m) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2)) + 1⨸(((~m) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^(~p)* simp(((~c)*(~d)*(~f) + (~a)*(~e)*(~g))*((~m) + 1) - (~c)*((~e)*(~f) - (~d)*(~g))*((~m) + 2*(~p) + 3)*(~x), (~x)), (~x)) : nothing) + +("1_2_1_3_76", +@rule ∫(((~f) + (~!g)*(~x))/(((~!d) + (~!e)*(~x))*sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq(4*(~c)*((~a) - (~d)) - ((~b) - (~e))^2, 0) && + eq((~e)*(~f)*((~b) - (~e)) - 2*(~g)*((~b)*(~d) - (~a)*(~e)), 0) && + !eq((~b)*(~d) - (~a)*(~e), 0) ? +4*(~f)*((~a) - (~d))⨸((~b)*(~d) - (~a)*(~e))* int_and_subst(1⨸(4*((~a) - (~d)) - (~x)^2), (~x), (~x), (2*((~a) - (~d)) + ((~b) - (~e))*(~x))⨸sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2), "1_2_1_3_76") : nothing) + +("1_2_1_3_77", +@rule ∫(((~f) + (~!g)*(~x))/(sqrt((~x))*sqrt((~a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +2*int_and_subst(((~f) + (~g)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x), (~x), sqrt((~x)), "1_2_1_3_77") : nothing) + +("1_2_1_3_78", +@rule ∫(((~f) + (~!g)*(~x))/(sqrt((~x))*sqrt((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~f), (~g), (~x)) ? +2*int_and_subst(((~f) + (~g)*(~x)^2)⨸sqrt((~a) + (~c)*(~x)^4), (~x), (~x), sqrt((~x)), "1_2_1_3_78") : nothing) + +("1_2_1_3_79", +@rule ∫(((~f) + (~!g)*(~x))/(sqrt((~e)*(~x))*sqrt((~a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~e), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +sqrt((~x))⨸sqrt((~e)*(~x))* ∫(((~f) + (~g)*(~x))⨸(sqrt((~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)), (~x)) : nothing) + +("1_2_1_3_80", +@rule ∫(((~f) + (~!g)*(~x))/(sqrt((~e)*(~x))*sqrt((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~e), (~f), (~g), (~x)) ? +sqrt((~x))⨸sqrt((~e)*(~x))*∫(((~f) + (~g)*(~x))⨸(sqrt((~x))*sqrt((~a) + (~c)*(~x)^2)), (~x)) : nothing) + +("1_2_1_3_81", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(igt((~m), 0)) ? +(~g)⨸(~e)*∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) + ((~e)*(~f) - (~d)*(~g))⨸(~e)* ∫(((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_3_82", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(igt((~m), 0)) ? +(~g)⨸(~e)*∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^(~p), (~x)) + ((~e)*(~f) - (~d)*(~g))⨸(~e)* ∫(((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.1 Quadratic/1.2.1.4 (d+e x)^m (f+g x)^n (a+b x+c x^2)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.1 Quadratic/1.2.1.4 (d+e x)^m (f+g x)^n (a+b x+c x^2)^p.jl new file mode 100644 index 0000000..0d599d1 --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.1 Quadratic/1.2.1.4 (d+e x)^m (f+g x)^n (a+b x+c x^2)^p.jl @@ -0,0 +1,1292 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.2.1.4 (d+e x)^m (f+g x)^n (a+b x+c x^2)^p *) +("1_2_1_4_1", +@rule ∫((~x)^(~!m)*((~f) + (~!g)*(~x))^(~!n)*((~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~b), (~c), (~f), (~g), (~m), (~n), (~x)) && + eq((~c)*(~f)*((~m) + 2) - (~b)*(~g)*((~m) + (~n) + 3), 0) && + !eq((~m) + (~n) + 3, 0) ? +(~c)*(~x)^((~m) + 2)*((~f) + (~g)*(~x))^((~n) + 1)⨸((~g)*((~m) + (~n) + 3)) : nothing) + +("1_2_1_4_2", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) ? +((~a) + (~b)*(~x) + (~c)*(~x)^2)^ fracpart((~p))⨸((~c)^intpart((~p))*((~b)⨸2 + (~c)*(~x))^(2*fracpart((~p))))* ∫(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n)*((~b)⨸2 + (~c)*(~x))^(2*(~p)), (~x)) : nothing) + +("1_2_1_4_3", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger((~p)) && + !(igt((~n), 0)) ? +∫(((~d) + (~e)*(~x))^((~m) + (~p))*((~f) + (~g)*(~x))^(~n)*((~a)⨸(~d) + (~c)⨸(~e)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_4_4", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ( + ext_isinteger((~p)) || + gt((~a), 0) && + gt((~d), 0) && + eq((~m) + (~p), 0) + ) ? +∫(((~d) + (~e)*(~x))^((~m) + (~p))*((~f) + (~g)*(~x))^(~n)*((~a)⨸(~d) + (~c)⨸(~e)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_4_5", +@rule ∫((~x)^(~!n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p)/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ( + !(ext_isinteger((~n))) || + !(ext_isinteger(2*(~p))) || + igt((~n), 2) || + gt((~p), 0) && + !eq((~n), 2) + ) ? +∫((~x)^(~n)*((~a)⨸(~d) + (~c)*(~x)⨸(~e))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_4_6", +@rule ∫((~x)^(~!n)*((~a) + (~!c)*(~x)^2)^(~p)/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~n), (~p), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ( + !(ext_isinteger((~n))) || + !(ext_isinteger(2*(~p))) || + igt((~n), 2) || + gt((~p), 0) && + !eq((~n), 2) + ) ? +∫((~x)^(~n)*((~a)⨸(~d) + (~c)*(~x)⨸(~e))*((~a) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_4_7", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ilt((~m), 0) && + ext_isinteger((~n)) && + ( + lt((~n), 0) || + gt((~p), 0) + ) ? +∫(((~a)⨸(~d) + (~c)*(~x)⨸(~e))^(-(~m))*((~f) + (~g)*(~x))^(~n)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~m) + (~p)), (~x)) : nothing) + +("1_2_1_4_8", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~f), 0) && + ilt((~m), -1) && + !( + igt((~n), 0) && + ilt((~m) + (~n), 0) && + !(gt((~p), 1)) + ) ? +(~d)^(2*(~m))⨸(~a)^(~m)*∫(((~f) + (~g)*(~x))^(~n)*((~a) + (~c)*(~x)^2)^((~m) + (~p))⨸((~d) - (~e)*(~x))^(~m), (~x)) : nothing) + +("1_2_1_4_9", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ilt((~m), 0) && + ext_isinteger((~n)) ? +(~d)^(2*(~m))⨸(~a)^(~m)*∫(((~f) + (~g)*(~x))^(~n)*((~a) + (~c)*(~x)^2)^((~m) + (~p))⨸((~d) - (~e)*(~x))^(~m), (~x)) : nothing) + +("1_2_1_4_10", +@rule ∫(((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p)/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + igt((~n), 0) && + ilt((~n) + 2*(~p), 0) ? +-(2*(~c)*(~d) - (~b)*(~e))*((~f) + (~g)*(~x))^ (~n)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~e)*(~p)*((~b)^2 - 4*(~a)*(~c))*((~d) + (~e)*(~x))) - 1⨸((~d)*(~e)*(~p)*((~b)^2 - 4*(~a)*(~c)))*∫(((~f) + (~g)*(~x))^((~n) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)* simp((~b)*((~a)*(~e)*(~g)*(~n) - (~c)*(~d)*(~f)*(2*(~p) + 1)) - 2*(~a)*(~c)*((~d)*(~g)*(~n) - (~e)*(~f)*(2*(~p) + 1)) - (~c)*(~g)*((~b)*(~d) - 2*(~a)*(~e))*((~n) + 2*(~p) + 1)*(~x), (~x)), (~x)) : nothing) + +("1_2_1_4_11", +@rule ∫(((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p)/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + igt((~n), 0) && + ilt((~n) + 2*(~p), 0) ? +(~d)*((~f) + (~g)*(~x))^(~n)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~a)*(~e)*(~p)*((~d) + (~e)*(~x))) - 1⨸(2*(~d)*(~e)*(~p))* ∫(((~f) + (~g)*(~x))^((~n) - 1)*((~a) + (~c)*(~x)^2)^(~p)* simp((~d)*(~g)*(~n) - (~e)*(~f)*(2*(~p) + 1) - (~e)*(~g)*((~n) + 2*(~p) + 1)*(~x), (~x)), (~x)) : nothing) + +("1_2_1_4_12", +@rule ∫(((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p)/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ilt((~n), 0) && + ilt((~n) + 2*(~p), 0) && + !(igt((~n), 0)) ? +((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^ (~p)*((~c)*(~d) - (~b)*(~e) - (~c)*(~e)*(~x))⨸((~p)*(2*(~c)*(~d) - (~b)*(~e))*((~e)*(~f) - (~d)*(~g))) + 1⨸((~p)*(2*(~c)*(~d) - (~b)*(~e))*((~e)*(~f) - (~d)*(~g)))* ∫(((~f) + (~g)*(~x))^(~n)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^ (~p)*((~b)*(~e)*(~g)*((~n) + (~p) + 1) + (~c)*(~e)*(~f)*(2*(~p) + 1) - (~c)*(~d)*(~g)*((~n) + 2*(~p) + 1) + (~c)*(~e)*(~g)*((~n) + 2*(~p) + 2)*(~x)), (~x)) : nothing) + +("1_2_1_4_13", +@rule ∫(((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p)/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ilt((~n), 0) && + ilt((~n) + 2*(~p), 0) && + !(igt((~n), 0)) ? +(~d)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~a)* (~p)*((~e)*(~f) - (~d)*(~g))*((~d) + (~e)*(~x))) + 1⨸((~p)*(2*(~c)*(~d))*((~e)*(~f) - (~d)*(~g)))* ∫(((~f) + (~g)*(~x))^(~n)*((~a) + (~c)*(~x)^2)^ (~p)*((~c)*(~e)*(~f)*(2*(~p) + 1) - (~c)*(~d)*(~g)*((~n) + 2*(~p) + 1) + (~c)*(~e)*(~g)*((~n) + 2*(~p) + 2)*(~x)), (~x)) : nothing) + +("1_2_1_4_14", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) && + eq((~c)*(~e)*(~f) + (~c)*(~d)*(~g) - (~b)*(~e)*(~g), 0) && + !eq((~m) - (~n) - 1, 0) ? +-(~e)*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^ (~n)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~m) - (~n) - 1)) : nothing) + +("1_2_1_4_15", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) && + eq((~e)*(~f) + (~d)*(~g), 0) && + !eq((~m) - (~n) - 1, 0) ? +-(~e)*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^ (~n)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~m) - (~n) - 1)) : nothing) + +("1_2_1_4_16", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) && + eq((~m) - (~n) - 2, 0) ? +-(~e)^2*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(((~n) + 1)*((~c)*(~e)*(~f) + (~c)*(~d)*(~g) - (~b)*(~e)*(~g))) : nothing) + +("1_2_1_4_17", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) && + eq((~m) - (~n) - 2, 0) ? +-(~e)^2*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~n) + 1)*((~e)*(~f) + (~d)*(~g))) : nothing) + +("1_2_1_4_18", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) && + gt((~p), 0) && + lt((~n), -1) && + !( + ext_isinteger((~n) + (~p)) && + le((~n) + (~p) + 2, 0) + ) ? +((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p)⨸((~g)*((~n) + 1)) + (~c)*(~m)⨸((~e)*(~g)*((~n) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_4_19", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) && + gt((~p), 0) && + lt((~n), -1) && + !( + ext_isinteger((~n) + (~p)) && + le((~n) + (~p) + 2, 0) + ) ? +((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~c)*(~x)^2)^(~p)⨸((~g)*((~n) + 1)) + (~c)*(~m)⨸((~e)*(~g)*((~n) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_4_20", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) && + gt((~p), 0) && + !eq((~m) - (~n) - 1, 0) && + !(igt((~n), 0)) && + !( + ext_isinteger((~n) + (~p)) && + lt((~n) + (~p) + 2, 0) + ) && + isrational((~n)) ? +-((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^ (~p)⨸((~g)*((~m) - (~n) - 1)) - (~m)*((~c)*(~e)*(~f) + (~c)*(~d)*(~g) - (~b)*(~e)*(~g))⨸((~e)^2*(~g)*((~m) - (~n) - 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~f) + (~g)*(~x))^(~n)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_4_21", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) && + gt((~p), 0) && + !eq((~m) - (~n) - 1, 0) && + !(igt((~n), 0)) && + !( + ext_isinteger((~n) + (~p)) && + lt((~n) + (~p) + 2, 0) + ) && + isrational((~n)) ? +-((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~c)*(~x)^2)^(~p)⨸((~g)*((~m) - (~n) - 1)) - (~c)*(~m)*((~e)*(~f) + (~d)*(~g))⨸((~e)^2*(~g)*((~m) - (~n) - 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~f) + (~g)*(~x))^(~n)*((~a) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_4_22", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) && + lt((~p), -1) && + gt((~n), 0) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^ (~n)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~p) + 1)) - (~e)*(~g)*(~n)⨸((~c)*((~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_4_23", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) && + lt((~p), -1) && + gt((~n), 0) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^(~n)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~p) + 1)) - (~e)*(~g)*(~n)⨸((~c)*((~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) - 1)*((~a) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_4_24", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) && + lt((~p), -1) && + isrational((~n)) ? +(~e)^2*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(((~p) + 1)*((~c)*(~e)*(~f) + (~c)*(~d)*(~g) - (~b)*(~e)*(~g))) + (~e)^2*(~g)*((~m) - (~n) - 2)⨸(((~p) + 1)*((~c)*(~e)*(~f) + (~c)*(~d)*(~g) - (~b)*(~e)*(~g)))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^(~n)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_4_25", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) && + lt((~p), -1) && + isrational((~n)) ? +(~e)^2*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~p) + 1)*((~e)*(~f) + (~d)*(~g))) + (~e)^2*(~g)*((~m) - (~n) - 2)⨸((~c)*((~p) + 1)*((~e)*(~f) + (~d)*(~g)))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^(~n)*((~a) + (~c)*(~x)^2)^((~p) + 1), (~x)) : nothing) + +("1_2_1_4_26", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) && + gt((~n), 0) && + !eq((~m) - (~n) - 1, 0) && + ( + ext_isinteger(2*(~p)) || + ext_isinteger((~n)) + ) ? +-(~e)*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^ (~n)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~m) - (~n) - 1)) - (~n)*((~c)*(~e)*(~f) + (~c)*(~d)*(~g) - (~b)*(~e)*(~g))⨸((~c)*(~e)*((~m) - (~n) - 1))* ∫(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^((~n) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_4_27", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) && + gt((~n), 0) && + !eq((~m) - (~n) - 1, 0) && + ( + ext_isinteger(2*(~p)) || + ext_isinteger((~n)) + ) ? +-(~e)*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^ (~n)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*((~m) - (~n) - 1)) - (~n)*((~e)*(~f) + (~d)*(~g))⨸((~e)*((~m) - (~n) - 1))* ∫(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^((~n) - 1)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_4_28", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) && + lt((~n), -1) && + ext_isinteger(2*(~p)) ? +-(~e)^2*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸(((~n) + 1)*((~c)*(~e)*(~f) + (~c)*(~d)*(~g) - (~b)*(~e)*(~g))) - (~c)*(~e)*((~m) - (~n) - 2)⨸(((~n) + 1)*((~c)*(~e)*(~f) + (~c)*(~d)*(~g) - (~b)*(~e)*(~g)))* ∫(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_4_29", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p), 0) && + lt((~n), -1) && + ext_isinteger(2*(~p)) ? +-(~e)^2*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(((~n) + 1)*((~c)*(~e)*(~f) + (~c)*(~d)*(~g))) - (~e)*((~m) - (~n) - 2)⨸(((~n) + 1)*((~e)*(~f) + (~d)*(~g)))* ∫(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_4_30", +@rule ∫(sqrt((~d) + (~!e)*(~x))/(((~!f) + (~!g)*(~x))*sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) ? +2*(~e)^2* int_and_subst(1⨸((~c)*((~e)*(~f) + (~d)*(~g)) - (~b)*(~e)*(~g) + (~e)^2*(~g)*(~x)^2), (~x), (~x), sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸sqrt((~d) + (~e)*(~x)), "1_2_1_4_30") : nothing) + +("1_2_1_4_31", +@rule ∫(sqrt((~d) + (~!e)*(~x))/(((~!f) + (~!g)*(~x))*sqrt((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +2*(~e)^2* int_and_subst(1⨸((~c)*((~e)*(~f) + (~d)*(~g)) + (~e)^2*(~g)*(~x)^2), (~x), (~x), sqrt((~a) + (~c)*(~x)^2)⨸sqrt((~d) + (~e)*(~x)), "1_2_1_4_31") : nothing) + +("1_2_1_4_32", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p) - 1, 0) && + eq((~b)*(~e)*(~g)*((~n) + 1) + (~c)*(~e)*(~f)*((~p) + 1) - (~c)*(~d)*(~g)*(2*(~n) + (~p) + 3), 0) && + !eq((~n) + (~p) + 2, 0) ? +(~e)^2*((~d) + (~e)*(~x))^((~m) - 2)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*(~g)*((~n) + (~p) + 2)) : nothing) + +("1_2_1_4_33", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p) - 1, 0) && + eq((~e)*(~f)*((~p) + 1) - (~d)*(~g)*(2*(~n) + (~p) + 3), 0) && + !eq((~n) + (~p) + 2, 0) ? +(~e)^2*((~d) + (~e)*(~x))^((~m) - 2)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)* (~g)*((~n) + (~p) + 2)) : nothing) + +("1_2_1_4_34", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p) - 1, 0) && + lt((~n), -1) && + ext_isinteger(2*(~p)) ? +(~e)^2*((~e)*(~f) - (~d)*(~g))*((~d) + (~e)*(~x))^((~m) - 2)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~g)*((~n) + 1)*((~c)*(~e)*(~f) + (~c)*(~d)*(~g) - (~b)*(~e)*(~g))) - (~e)*((~b)*(~e)*(~g)*((~n) + 1) + (~c)*(~e)*(~f)*((~p) + 1) - (~c)*(~d)*(~g)*(2*(~n) + (~p) + 3))⨸((~g)*((~n) + 1)*((~c)*(~e)*(~f) + (~c)*(~d)*(~g) - (~b)*(~e)*(~g)))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_4_35", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p) - 1, 0) && + lt((~n), -1) && + ext_isinteger(2*(~p)) ? +(~e)^2*((~e)*(~f) - (~d)*(~g))*((~d) + (~e)*(~x))^((~m) - 2)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)* (~g)*((~n) + 1)*((~e)*(~f) + (~d)*(~g))) - (~e)*((~e)*(~f)*((~p) + 1) - (~d)*(~g)*(2*(~n) + (~p) + 3))⨸((~g)*((~n) + 1)*((~e)*(~f) + (~d)*(~g)))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_4_36", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p) - 1, 0) && + !(lt((~n), -1)) && + ext_isinteger(2*(~p)) ? +(~e)^2*((~d) + (~e)*(~x))^((~m) - 2)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*(~g)*((~n) + (~p) + 2)) - ((~b)*(~e)*(~g)*((~n) + 1) + (~c)*(~e)*(~f)*((~p) + 1) - (~c)*(~d)*(~g)*(2*(~n) + (~p) + 3))⨸((~c)* (~g)*((~n) + (~p) + 2))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^(~n)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_4_37", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~p) - 1, 0) && + !(lt((~n), -1)) && + ext_isinteger(2*(~p)) ? +(~e)^2*((~d) + (~e)*(~x))^((~m) - 2)*((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)* (~g)*((~n) + (~p) + 2)) - ((~e)*(~f)*((~p) + 1) - (~d)*(~g)*(2*(~n) + (~p) + 3))⨸((~g)*((~n) + (~p) + 2))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^(~n)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_4_38", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ilt((~m), 0) && + ( + ilt((~n), 0) || + igt((~n), 0) && + ilt((~p) + 1/2, 0) + ) && + !(igt((~n), 0)) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +("1_2_1_4_39", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ext_isinteger((~p) - 1/2) && + ilt((~m), 0) && + ilt((~n), 0) && + !(igt((~n), 0)) ? +∫(ext_expand( 1⨸sqrt((~a) + (~c)*(~x)^2), ((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n)*((~a) + (~c)*(~x)^2)^((~p) + 1⨸2), (~x)), (~x)) : nothing) + +("1_2_1_4_40", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ilt((~m), 0) && + ( + ilt((~n), 0) || + igt((~n), 0) && + ilt((~p) + 1/2, 0) + ) && + !(igt((~n), 0)) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n)*((~a) + (~c)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +("1_2_1_4_41", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ilt((~p) + 1/2, 0) && + igt((~m), 0) && + igt((~n), 0) && + !(igt((~n), 0)) ? +poly_remainder(((~f) + (~g)*(~x))^(~n), (~a)*(~e) + (~c)*(~d)*(~x), (~x))*(2*(~c)*(~d) - (~b)*(~e))*((~d) + (~e)*(~x))^ (~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~e)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) + 1⨸(((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)* expand_to_sum( (~d)*(~e)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))*poly_quotient(((~f) + (~g)*(~x))^(~n), (~a)*(~e) + (~c)*(~d)*(~x), (~x)) - poly_remainder(((~f) + (~g)*(~x))^(~n), (~a)*(~e) + (~c)*(~d)*(~x), (~x))*(2*(~c)*(~d) - (~b)*(~e))*((~m) + 2*(~p) + 2), (~x)), (~x)) : nothing) + +("1_2_1_4_42", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ilt((~p) + 1/2, 0) && + igt((~m), 0) && + igt((~n), 0) && + !(igt((~n), 0)) ? +-(~d)*poly_remainder(((~f) + (~g)*(~x))^(~n), (~a)*(~e) + (~c)*(~d)*(~x), (~x))*((~d) + (~e)*(~x))^(~m)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸(2*(~a)*(~e)*((~p) + 1)) + (~d)⨸(2*(~a)*((~p) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)* expand_to_sum(2*(~a)*(~e)*((~p) + 1)*poly_quotient(((~f) + (~g)*(~x))^(~n), (~a)*(~e) + (~c)*(~d)*(~x), (~x)) + poly_remainder(((~f) + (~g)*(~x))^(~n), (~a)*(~e) + (~c)*(~d)*(~x), (~x))*((~m) + 2*(~p) + 2), (~x)), (~x)) : nothing) + +("1_2_1_4_43", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~n) + 2*(~p) + 1, 0) && + ilt((~m), 0) && + ilt((~n), 0) ? +∫(ext_expand(((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), ((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n), (~x)), (~x)) : nothing) + +("1_2_1_4_44", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + eq((~m) + (~n) + 2*(~p) + 1, 0) && + ilt((~m), 0) && + ilt((~n), 0) ? +∫(ext_expand(((~a) + (~c)*(~x)^2)^(~p), ((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n), (~x)), (~x)) : nothing) + +#(* Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)^n_*(a_.+b_.*x_+c_.*x_^2)^p_,x_ Symbol] := g^n*(d+e*x)^(m+n-1)*(a+b*x+c*x^2)^(p+1)/(c*e^(n-1)*(m+n+2*p+1)) + 1/(c*e^n*(m+n+2*p+1))*Int[(d+e*x)^m*(a+b*x+c*x^2)^p* ExpandToSum[c*e^n*(m+n+2*p+1)*(f+g*x)^n-c*g^n*(m+n+2*p+1)*(d+e*x)^ n+e*g^n*(m+p+n)*(d+e*x)^(n-2)*(b*d-2*a*e+(2*c*d-b*e)*x),x],x] /; FreeQ[{a,b,c,d,e,f,g,m,p},x] && NeQ[e*f-d*g,0] && NeQ[b^2-4*a*c,0] && EqQ[c*d^2-b*d*e+a*e^2,0] && Not[IntegerQ[p]] && NeQ[m+n+2*p+1,0] && IGtQ[n,0] *) +#(* Int[(d_.+e_.*x_)^m_.*(f_.+g_.*x_)^n_*(a_+c_.*x_^2)^p_,x_Symbol] := g^n*(d+e*x)^(m+n-1)*(a+c*x^2)^(p+1)/(c*e^(n-1)*(m+n+2*p+1)) + 1/(c*e^n*(m+n+2*p+1))*Int[(d+e*x)^m*(a+c*x^2)^p* ExpandToSum[c*e^n*(m+n+2*p+1)*(f+g*x)^n-c*g^n*(m+n+2*p+1)*(d+e*x)^ n-2*e*g^n*(m+p+n)*(d+e*x)^(n-2)*(a*e-c*d*x),x],x] /; FreeQ[{a,c,d,e,f,g,m,p},x] && NeQ[e*f-d*g,0] && EqQ[c*d^2+a*e^2,0] && Not[IntegerQ[p]] && NeQ[m+n+2*p+1,0] && IGtQ[n,0] *) +("1_2_1_4_45", +@rule ∫(((~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~b), (~c), (~e), (~f), (~g), (~m), (~n), (~x)) && + !(ext_isinteger((~p))) && + !(igt((~n), 0)) ? +((~e)*(~x))^(~m)*((~b)*(~x) + (~c)*(~x)^2)^(~p)⨸((~x)^((~m) + (~p))*((~b) + (~c)*(~x))^(~p))* ∫((~x)^((~m) + (~p))*((~f) + (~g)*(~x))^(~n)*((~b) + (~c)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_4_46", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + gt((~a), 0) && + gt((~d), 0) && + !(igt((~m), 0)) && + !(igt((~n), 0)) ? +∫(((~d) + (~e)*(~x))^((~m) + (~p))*((~f) + (~g)*(~x))^(~n)*((~a)⨸(~d) + (~c)⨸(~e)*(~x))^(~p), (~x)) : nothing) + +#(* original line: Int[(d_ + e_.*x_)^m_*(f_. + g_.*x_)^n_*(a_. + b_.*x_ + c_.*x_^2)^p_, x_Symbol] := (*(a+b*x+c*x^2)^p/((d+e*x)^p*(a*e+c*d*x)^p)*Int[(d+e*x)^(m+p)*(f+g*x) ^n*(a*e+c*d*x)^p,x] /; *) (a + b*x + c*x^2)^ FracPart[p]/((d + e*x)^FracPart[p]*(a/d + (c*x)/e)^FracPart[p])* Int[(d + e*x)^(m + p)*(f + g*x)^n*(a/d + c/e*x)^p, x] /; FreeQ[{a, b, c, d, e, f, g, m, n}, x] && NeQ[e*f - d*g, 0] && NeQ[b^2 - 4*a*c, 0] && EqQ[c*d^2 - b*d*e + a*e^2, 0] && Not[IntegerQ[p]] && Not[IGtQ[m, 0]] && Not[IGtQ[n, 0]] *) +("1_2_1_4_47", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + !(igt((~m), 0)) && + !(igt((~n), 0)) ? +((~a) + (~b)*(~x) + (~c)*(~x)^2)^ fracpart((~p))⨸(((~d) + (~e)*(~x))^fracpart((~p))*((~a)⨸(~d) + ((~c)*(~x))⨸(~e))^fracpart((~p)))* ∫(((~d) + (~e)*(~x))^((~m) + (~p))*((~f) + (~g)*(~x))^(~n)*((~a)⨸(~d) + (~c)⨸(~e)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_4_48", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + !(igt((~m), 0)) && + !(igt((~n), 0)) ? +((~a) + (~c)*(~x)^2)^ fracpart((~p))⨸(((~d) + (~e)*(~x))^fracpart((~p))*((~a)⨸(~d) + ((~c)*(~x))⨸(~e))^fracpart((~p)))* ∫(((~d) + (~e)*(~x))^((~m) + (~p))*((~f) + (~g)*(~x))^(~n)*((~a)⨸(~d) + (~c)⨸(~e)*(~x))^(~p), (~x)) : nothing) + +("1_2_1_4_49", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger((~p)) && + ( + eq((~p), 1) && + ext_isinteger((~m), (~n)) || + ilt((~m), 0) && + ilt((~n), 0) + ) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +("1_2_1_4_50", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ext_isinteger((~p)) && + ( + eq((~p), 1) && + ext_isinteger((~m), (~n)) || + ilt((~m), 0) && + ilt((~n), 0) + ) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n)*((~a) + (~c)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +("1_2_1_4_51", +@rule ∫(((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p)/(((~!d) + (~!e)*(~x))*((~!f) + (~!g)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + isfraction((~p)) && + gt((~p), 0) ? +((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)⨸((~e)*((~e)*(~f) - (~d)*(~g)))* ∫(((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1)⨸((~d) + (~e)*(~x)), (~x)) - 1⨸((~e)*((~e)*(~f) - (~d)*(~g)))* ∫(simp((~c)*(~d)*(~f) - (~b)*(~e)*(~f) + (~a)*(~e)*(~g) - (~c)*((~e)*(~f) - (~d)*(~g))*(~x), (~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1)⨸((~f) + (~g)*(~x)), (~x)) : nothing) + +("1_2_1_4_52", +@rule ∫(((~a) + (~!c)*(~x)^2)^(~p)/(((~!d) + (~!e)*(~x))*((~!f) + (~!g)*(~x))),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + isfraction((~p)) && + gt((~p), 0) ? +((~c)*(~d)^2 + (~a)*(~e)^2)⨸((~e)*((~e)*(~f) - (~d)*(~g)))* ∫(((~a) + (~c)*(~x)^2)^((~p) - 1)⨸((~d) + (~e)*(~x)), (~x)) - 1⨸((~e)*((~e)*(~f) - (~d)*(~g)))* ∫(simp((~c)*(~d)*(~f) + (~a)*(~e)*(~g) - (~c)*((~e)*(~f) - (~d)*(~g))*(~x), (~x))*((~a) + (~c)*(~x)^2)^((~p) - 1)⨸((~f) + (~g)*(~x)), (~x)) : nothing) + +("1_2_1_4_53", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger((~n), (~p)) && + isfraction((~m)) ? +ext_den((~m))⨸(~e)*int_and_subst((~x)^(ext_den((~m))*((~m) + 1) - 1)*(((~e)*(~f) - (~d)*(~g))⨸(~e) + (~g)*(~x)^ext_den((~m))⨸(~e))^(~n)* (((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)⨸(~e)^2 - (2*(~c)*(~d) - (~b)*(~e))*(~x)^ext_den((~m))⨸(~e)^2 + (~c)*(~x)^(2*ext_den((~m)))⨸(~e)^2)^(~p), (~x), (~x), ((~d) + (~e)*(~x))^(1⨸ext_den((~m))), "1_2_1_4_53") : nothing) + +("1_2_1_4_54", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ext_isinteger((~n), (~p)) && + isfraction((~m)) ? +ext_den((~m))⨸(~e)* int_and_subst( (~x)^(ext_den((~m))*((~m) + 1) - 1)*(((~e)*(~f) - (~d)*(~g))⨸(~e) + (~g)*(~x)^ext_den((~m))⨸(~e))^ (~n)*(((~c)*(~d)^2 + (~a)*(~e)^2)⨸(~e)^2 - 2*(~c)*(~d)*(~x)^ext_den((~m))⨸(~e)^2 + (~c)*(~x)^(2*ext_den((~m)))⨸(~e)^2)^(~p), (~x), (~x), ((~d) + (~e)*(~x))^(1⨸ext_den((~m))), "1_2_1_4_54") : nothing) + +("1_2_1_4_55", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + eq((~m) - (~n), 0) && + eq((~e)*(~f) + (~d)*(~g), 0) && + ( + ext_isinteger((~m)) || + gt((~d), 0) && + gt((~f), 0) + ) ? +∫(((~d)*(~f) + (~e)*(~g)*(~x)^2)^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_4_56", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~f) + (~!g)*(~x))^(~n)*((~!a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + eq((~m) - (~n), 0) && + eq((~e)*(~f) + (~d)*(~g), 0) && + ( + ext_isinteger((~m)) || + gt((~d), 0) && + gt((~f), 0) + ) ? +∫(((~d)*(~f) + (~e)*(~g)*(~x)^2)^(~m)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_4_57", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + eq((~m) - (~n), 0) && + eq((~e)*(~f) + (~d)*(~g), 0) ? +((~d) + (~e)*(~x))^ fracpart((~m))*((~f) + (~g)*(~x))^fracpart((~m))⨸((~d)*(~f) + (~e)*(~g)*(~x)^2)^fracpart((~m))* ∫(((~d)*(~f) + (~e)*(~g)*(~x)^2)^(~m)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_4_58", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~f) + (~!g)*(~x))^(~n)*((~!a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + eq((~m) - (~n), 0) && + eq((~e)*(~f) + (~d)*(~g), 0) ? +((~d) + (~e)*(~x))^ fracpart((~m))*((~f) + (~g)*(~x))^fracpart((~m))⨸((~d)*(~f) + (~e)*(~g)*(~x)^2)^fracpart((~m))* ∫(((~d)*(~f) + (~e)*(~g)*(~x)^2)^(~m)*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_4_59", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + gt((~m), 0) && + gt((~n), 1) ? +(~g)⨸(~c)^2* ∫(simp(2*(~c)*(~e)*(~f) + (~c)*(~d)*(~g) - (~b)*(~e)*(~g) + (~c)*(~e)*(~g)*(~x), (~x))*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) - 2), (~x)) + 1⨸(~c)^2* ∫(simp( (~c)^2*(~d)*(~f)^2 - 2*(~a)*(~c)*(~e)*(~f)*(~g) - (~a)*(~c)*(~d)*(~g)^2 + (~a)*(~b)*(~e)*(~g)^2 + ((~c)^2*(~e)*(~f)^2 + 2*(~c)^2*(~d)*(~f)*(~g) - 2*(~b)*(~c)*(~e)*(~f)*(~g) - (~b)*(~c)*(~d)*(~g)^2 + (~b)^2*(~e)*(~g)^2 - (~a)*(~c)*(~e)*(~g)^2)*(~x), (~x))* ((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) - 2)⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_4_60", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)/((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + gt((~m), 0) && + gt((~n), 1) ? +(~g)⨸(~c)*∫( simp(2*(~e)*(~f) + (~d)*(~g) + (~e)*(~g)*(~x), (~x))*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) - 2), (~x)) + 1⨸(~c)* ∫(simp( (~c)*(~d)*(~f)^2 - 2*(~a)*(~e)*(~f)*(~g) - (~a)*(~d)*(~g)^2 + ((~c)*(~e)*(~f)^2 + 2*(~c)*(~d)*(~f)*(~g) - (~a)*(~e)*(~g)^2)*(~x), (~x))*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) - 2)⨸((~a) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_4_61", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + gt((~m), 0) && + gt((~n), 0) ? +(~e)*(~g)⨸(~c)*∫(((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) - 1), (~x)) + 1⨸(~c)* ∫(simp((~c)*(~d)*(~f) - (~a)*(~e)*(~g) + ((~c)*(~e)*(~f) + (~c)*(~d)*(~g) - (~b)*(~e)*(~g))*(~x), (~x))*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) - 1)⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_4_62", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)/((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + gt((~m), 0) && + gt((~n), 0) ? +(~e)*(~g)⨸(~c)*∫(((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) - 1), (~x)) + 1⨸(~c)* ∫(simp((~c)*(~d)*(~f) - (~a)*(~e)*(~g) + ((~c)*(~e)*(~f) + (~c)*(~d)*(~g))*(~x), (~x))*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) - 1)⨸((~a) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_4_63", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + gt((~m), 0) && + lt((~n), -1) ? +-(~g)*((~e)*(~f) - (~d)*(~g))⨸((~c)*(~f)^2 - (~b)*(~f)*(~g) + (~a)*(~g)^2)* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^(~n), (~x)) + 1⨸((~c)*(~f)^2 - (~b)*(~f)*(~g) + (~a)*(~g)^2)* ∫( simp((~c)*(~d)*(~f) - (~b)*(~d)*(~g) + (~a)*(~e)*(~g) + (~c)*((~e)*(~f) - (~d)*(~g))*(~x), (~x))*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) + 1)⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_4_64", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)/((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + gt((~m), 0) && + lt((~n), -1) ? +-(~g)*((~e)*(~f) - (~d)*(~g))⨸((~c)*(~f)^2 + (~a)*(~g)^2)* ∫(((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^(~n), (~x)) + 1⨸((~c)*(~f)^2 + (~a)*(~g)^2)* ∫( simp((~c)*(~d)*(~f) + (~a)*(~e)*(~g) + (~c)*((~e)*(~f) - (~d)*(~g))*(~x), (~x))*((~d) + (~e)*(~x))^((~m) - 1)*((~f) + (~g)*(~x))^((~n) + 1)⨸((~a) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_1_4_65", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)/(sqrt((~!f) + (~!g)*(~x))*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + igt((~m) + 1/2, 0) ? +∫(ext_expand( 1⨸(sqrt((~d) + (~e)*(~x))*sqrt((~f) + (~g)*(~x))), ((~d) + (~e)*(~x))^((~m) + 1⨸2)⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)), (~x)) : nothing) + +("1_2_1_4_66", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)/(sqrt((~!f) + (~!g)*(~x))*((~!a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + igt((~m) + 1/2, 0) ? +∫(ext_expand( 1⨸(sqrt((~d) + (~e)*(~x))*sqrt((~f) + (~g)*(~x))), ((~d) + (~e)*(~x))^((~m) + 1⨸2)⨸((~a) + (~c)*(~x)^2), (~x)), (~x)) : nothing) + +("1_2_1_4_67", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n), 1⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)), (~x)) : nothing) + +("1_2_1_4_68", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)/((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n), 1⨸((~a) + (~c)*(~x)^2), (~x)), (~x)) : nothing) + +("1_2_1_4_69", +@rule ∫((~x)^2*((~!d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + eq((~b)*(~e)*((~m) + (~p) + 2) + 2*(~c)*(~d)*((~p) + 1), 0) && + eq((~b)*(~d)*((~p) + 1) + (~a)*(~e)*((~m) + 1), 0) && + !eq((~m) + 2*(~p) + 3, 0) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*(~e)*((~m) + 2*(~p) + 3)) : nothing) + +("1_2_1_4_70", +@rule ∫((~x)^2*((~!d) + (~!e)*(~x))^(~!m)*((~!a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~m), (~p), (~x)) && + eq((~d)*((~p) + 1), 0) && + eq((~a)*((~m) + 1), 0) && + !eq((~m) + 2*(~p) + 3, 0) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~c)*(~e)*((~m) + 2*(~p) + 3)) : nothing) + +("1_2_1_4_71", +@rule ∫(((~!g)*(~x))^(~n)*((~!d) + (~!e)*(~x))^(~m)*((~a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~g), (~m), (~n), (~p), (~x)) && + eq((~m) - (~p), 0) && + eq((~b)*(~d) + (~a)*(~e), 0) && + eq((~c)*(~d) + (~b)*(~e), 0) ? +((~d) + (~e)*(~x))^ fracpart((~p))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^fracpart((~p))⨸((~a)*(~d) + (~c)*(~e)*(~x)^3)^ fracpart((~p))*∫(((~g)*(~x))^(~n)*((~a)*(~d) + (~c)*(~e)*(~x)^3)^(~p), (~x)) : nothing) + +("1_2_1_4_72", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*sqrt((~!f) + (~!g)*(~x))* sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger(2*(~m)) && + lt((~m), -1) ? +((~d) + (~e)*(~x))^((~m) + 1)*sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸((~e)*((~m) + 1)) - 1⨸(2*(~e)*((~m) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2))* simp((~b)*(~f) + (~a)*(~g) + 2*((~c)*(~f) + (~b)*(~g))*(~x) + 3*(~c)*(~g)*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_1_4_73", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*sqrt((~!f) + (~!g)*(~x))*sqrt((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ext_isinteger(2*(~m)) && + lt((~m), -1) ? +((~d) + (~e)*(~x))^((~m) + 1)*sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2)⨸((~e)*((~m) + 1)) - 1⨸(2*(~e)*((~m) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2))* simp((~a)*(~g) + 2*(~c)*(~f)*(~x) + 3*(~c)*(~g)*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_1_4_74", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*sqrt((~!f) + (~!g)*(~x))* sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger(2*(~m)) && + !(lt((~m), -1)) ? +2*((~d) + (~e)*(~x))^((~m) + 1)*sqrt((~f) + (~g)*(~x))* sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸((~e)*(2*(~m) + 5)) - 1⨸((~e)*(2*(~m) + 5))* ∫(((~d) + (~e)*(~x))^(~m)⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2))* simp((~b)*(~d)*(~f) - 3*(~a)*(~e)*(~f) + (~a)*(~d)*(~g) + 2*((~c)*(~d)*(~f) - (~b)*(~e)*(~f) + (~b)*(~d)*(~g) - (~a)*(~e)*(~g))* (~x) - ((~c)*(~e)*(~f) - 3*(~c)*(~d)*(~g) + (~b)*(~e)*(~g))*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_1_4_75", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*sqrt((~!f) + (~!g)*(~x))*sqrt((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ext_isinteger(2*(~m)) && + !(lt((~m), -1)) ? +2*((~d) + (~e)*(~x))^((~m) + 1)*sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2)⨸((~e)*(2*(~m) + 5)) + 1⨸((~e)*(2*(~m) + 5))*∫(((~d) + (~e)*(~x))^(~m)⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2))* simp(3*(~a)*(~e)*(~f) - (~a)*(~d)*(~g) - 2*((~c)*(~d)*(~f) - (~a)*(~e)*(~g))*(~x) + ((~c)*(~e)*(~f) - 3*(~c)*(~d)*(~g))*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_1_4_76", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)* sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)/sqrt((~!f) + (~!g)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger(2*(~m)) && + gt((~m), 0) ? +2*((~d) + (~e)*(~x))^(~m)*sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸((~g)*(2*(~m) + 3)) - 1⨸((~g)*(2*(~m) + 3))* ∫(((~d) + (~e)*(~x))^((~m) - 1)⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2))* simp((~b)*(~d)*(~f) + 2*(~a)*((~e)*(~f)*(~m) - (~d)*(~g)*((~m) + 1)) + (2*(~c)*(~d)*(~f) - 2*(~a)*(~e)*(~g) + (~b)*((~e)*(~f) - (~d)*(~g))*(2*(~m) + 1))* (~x) - ((~b)*(~e)*(~g) + 2*(~c)*((~d)*(~g)*(~m) - (~e)*(~f)*((~m) + 1)))*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_1_4_77", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*sqrt((~a) + (~!c)*(~x)^2)/sqrt((~!f) + (~!g)*(~x)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ext_isinteger(2*(~m)) && + gt((~m), 0) ? +2*((~d) + (~e)*(~x))^(~m)*sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2)⨸((~g)*(2*(~m) + 3)) - 1⨸((~g)*(2*(~m) + 3))* ∫(((~d) + (~e)*(~x))^((~m) - 1)⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2))* simp(2*(~a)*((~e)*(~f)*(~m) - (~d)*(~g)*((~m) + 1)) + (2*(~c)*(~d)*(~f) - 2*(~a)*(~e)*(~g))* (~x) - (2*(~c)*((~d)*(~g)*(~m) - (~e)*(~f)*((~m) + 1)))*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_1_4_78", +@rule ∫(sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)/(((~!d) + (~!e)*(~x))*sqrt((~!f) + (~!g)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) ? +((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)⨸(~e)^2* ∫(1⨸(((~d) + (~e)*(~x))*sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)), (~x)) - 1⨸(~e)^2* ∫(((~c)*(~d) - (~b)*(~e) - (~c)*(~e)*(~x))⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)), (~x)) : nothing) + +("1_2_1_4_79", +@rule ∫(sqrt((~a) + (~!c)*(~x)^2)/(((~!d) + (~!e)*(~x))*sqrt((~!f) + (~!g)*(~x))),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +((~c)*(~d)^2 + (~a)*(~e)^2)⨸(~e)^2* ∫(1⨸(((~d) + (~e)*(~x))*sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2)), (~x)) - 1⨸(~e)^2*∫(((~c)*(~d) - (~c)*(~e)*(~x))⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2)), (~x)) : nothing) + +("1_2_1_4_80", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)* sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)/sqrt((~!f) + (~!g)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger(2*(~m)) && + lt((~m), -1) ? +((~d) + (~e)*(~x))^((~m) + 1)*sqrt((~f) + (~g)*(~x))* sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸(((~m) + 1)*((~e)*(~f) - (~d)*(~g))) - 1⨸(2*((~m) + 1)*((~e)*(~f) - (~d)*(~g)))* ∫(((~d) + (~e)*(~x))^((~m) + 1)⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2))* simp((~b)*(~f) + (~a)*(~g)*(2*(~m) + 3) + 2*((~c)*(~f) + (~b)*(~g)*((~m) + 2))*(~x) + (~c)*(~g)*(2*(~m) + 5)*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_1_4_81", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*sqrt((~a) + (~!c)*(~x)^2)/sqrt((~!f) + (~!g)*(~x)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ext_isinteger(2*(~m)) && + lt((~m), -1) ? +((~d) + (~e)*(~x))^((~m) + 1)*sqrt((~f) + (~g)*(~x))* sqrt((~a) + (~c)*(~x)^2)⨸(((~m) + 1)*((~e)*(~f) - (~d)*(~g))) - 1⨸(2*((~m) + 1)*((~e)*(~f) - (~d)*(~g)))* ∫(((~d) + (~e)*(~x))^((~m) + 1)⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2))* simp((~a)*(~g)*(2*(~m) + 3) + 2*((~c)*(~f))*(~x) + (~c)*(~g)*(2*(~m) + 5)*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_1_4_82", +@rule ∫(sqrt( (~!d) + (~!e)*(~x))/(sqrt((~!f) + (~!g)*(~x))*sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) ? +sqrt(2)*sqrt(2*(~c)*(~f) - (~g)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))*sqrt((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x))*((~d) + (~e)*(~x))* sqrt(((~e)*(~f) - (~d)*(~g))*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x))⨸((2*(~c)*(~f) - (~g)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))*((~d) + (~e)*(~x))))* sqrt(((~e)*(~f) - (~d)*(~g))*(2*(~a) + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x))⨸(((~b)*(~f) + rt((~b)^2 - 4*(~a)*(~c), 2)*(~f) - 2*(~a)*(~g))*((~d) + (~e)*(~x))))⨸ ((~g)*sqrt(2*(~c)*(~d) - (~e)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))*sqrt(2*(~a)*(~c)⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)) + (~c)*(~x))* sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2))* elliptic_pi((~e)*(2*(~c)*(~f) - (~g)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))⨸((~g)*(2*(~c)*(~d) - (~e)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))), asin(sqrt(2*(~c)*(~d) - (~e)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))* sqrt((~f) + (~g)*(~x))⨸(sqrt(2*(~c)*(~f) - (~g)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))*sqrt((~d) + (~e)*(~x)))), ((~b)*(~d) + rt((~b)^2 - 4*(~a)*(~c), 2)*(~d) - 2*(~a)*(~e))*(2*(~c)*(~f) - (~g)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))⨸(((~b)*(~f) + rt((~b)^2 - 4*(~a)*(~c), 2)*(~f) - 2*(~a)*(~g))*(2*(~c)*(~d) - (~e)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))))) : nothing) + +("1_2_1_4_83", +@rule ∫(sqrt((~!d) + (~!e)*(~x))/(sqrt((~!f) + (~!g)*(~x))*sqrt((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +sqrt(2)*sqrt(2*(~c)*(~f) - (~g)*rt(-4*(~a)*(~c), 2))*sqrt(-rt(-4*(~a)*(~c), 2) + 2*(~c)*(~x))*((~d) + (~e)*(~x))* sqrt(((~e)*(~f) - (~d)*(~g))*(rt(-4*(~a)*(~c), 2) + 2*(~c)*(~x))⨸((2*(~c)*(~f) - (~g)*rt(-4*(~a)*(~c), 2))*((~d) + (~e)*(~x))))* sqrt(((~e)*(~f) - (~d)*(~g))*(2*(~a) + rt(-4*(~a)*(~c), 2)*(~x))⨸((rt(-4*(~a)*(~c), 2)*(~f) - 2*(~a)*(~g))*((~d) + (~e)*(~x))))⨸ ((~g)*sqrt(2*(~c)*(~d) - (~e)*rt(-4*(~a)*(~c), 2))*sqrt(2*(~a)*(~c)⨸rt(-4*(~a)*(~c), 2) + (~c)*(~x))*sqrt((~a) + (~c)*(~x)^2))* elliptic_pi((~e)*(2*(~c)*(~f) - (~g)*rt(-4*(~a)*(~c), 2))⨸((~g)*(2*(~c)*(~d) - (~e)*rt(-4*(~a)*(~c), 2))), asin(sqrt(2*(~c)*(~d) - (~e)*rt(-4*(~a)*(~c), 2))* sqrt((~f) + (~g)*(~x))⨸(sqrt(2*(~c)*(~f) - (~g)*rt(-4*(~a)*(~c), 2))*sqrt((~d) + (~e)*(~x)))), (rt(-4*(~a)*(~c), 2)*(~d) - 2*(~a)*(~e))*(2*(~c)*(~f) - (~g)*rt(-4*(~a)*(~c), 2))⨸((rt(-4*(~a)*(~c), 2)*(~f) - 2*(~a)*(~g))*(2*(~c)*(~d) - (~e)*rt(-4*(~a)*(~c), 2)))) : nothing) + +("1_2_1_4_84", +@rule ∫(((~!d) + (~!e)*(~x))^(3//2)/(sqrt((~!f) + (~!g)*(~x))* sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) ? +(~e)⨸(~g)*∫(sqrt((~d) + (~e)*(~x))*sqrt((~f) + (~g)*(~x))⨸sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) - ((~e)*(~f) - (~d)*(~g))⨸(~g)* ∫(sqrt((~d) + (~e)*(~x))⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)), (~x)) : nothing) + +("1_2_1_4_85", +@rule ∫(((~!d) + (~!e)*(~x))^(3//2)/(sqrt((~!f) + (~!g)*(~x))*sqrt((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +(~e)⨸(~g)*∫(sqrt((~d) + (~e)*(~x))*sqrt((~f) + (~g)*(~x))⨸sqrt((~a) + (~c)*(~x)^2), (~x)) - ((~e)*(~f) - (~d)*(~g))⨸(~g)* ∫(sqrt((~d) + (~e)*(~x))⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2)), (~x)) : nothing) + +("1_2_1_4_86", +@rule ∫(((~!d) + (~!e)*(~x))^ (~m)/(sqrt((~!f) + (~!g)*(~x))*sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger(2*(~m)) && + ge((~m), 2) ? +2*(~e)^2*((~d) + (~e)*(~x))^((~m) - 2)*sqrt((~f) + (~g)*(~x))* sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸((~c)*(~g)*(2*(~m) - 1)) - 1⨸((~c)*(~g)*(2*(~m) - 1))* ∫(((~d) + (~e)*(~x))^((~m) - 3)⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2))* simp((~b)*(~d)*(~e)^2*(~f) + (~a)*(~e)^2*((~d)*(~g) + 2*(~e)*(~f)*((~m) - 2)) - (~c)*(~d)^3*(~g)*(2*(~m) - 1) + (~e)*((~e)*(2*(~b)*(~d)*(~g) + (~e)*((~b)*(~f) + (~a)*(~g))*(2*(~m) - 3)) + (~c)*(~d)*(2*(~e)*(~f) - 3*(~d)*(~g)*(2*(~m) - 1)))*(~x) + 2*(~e)^2*((~c)*(~e)*(~f) - 3*(~c)*(~d)*(~g) + (~b)*(~e)*(~g))*((~m) - 1)*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_1_4_87", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)/(sqrt((~!f) + (~!g)*(~x))*sqrt((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ext_isinteger(2*(~m)) && + ge((~m), 2) ? +2*(~e)^2*((~d) + (~e)*(~x))^((~m) - 2)*sqrt((~f) + (~g)*(~x))* sqrt((~a) + (~c)*(~x)^2)⨸((~c)*(~g)*(2*(~m) - 1)) - 1⨸((~c)*(~g)*(2*(~m) - 1))* ∫(((~d) + (~e)*(~x))^((~m) - 3)⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2))* simp((~a)*(~e)^2*((~d)*(~g) + 2*(~e)*(~f)*((~m) - 2)) - (~c)*(~d)^3*(~g)*(2*(~m) - 1) + (~e)*((~e)*((~a)*(~e)*(~g)*(2*(~m) - 3)) + (~c)*(~d)*(2*(~e)*(~f) - 3*(~d)*(~g)*(2*(~m) - 1)))*(~x) + 2*(~e)^2*((~c)*(~e)*(~f) - 3*(~c)*(~d)*(~g))*((~m) - 1)*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_1_4_88", +@rule ∫(1/(((~!d) + (~!e)*(~x))*sqrt((~!f) + (~!g)*(~x))*sqrt((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + gt((~a), 0) ? +1⨸sqrt((~a))* ∫(1⨸(((~d) + (~e)*(~x))*sqrt((~f) + (~g)*(~x))*sqrt(1 - rt(-(~c)⨸(~a), 2)*(~x))*sqrt(1 + rt(-(~c)⨸(~a), 2)*(~x))), (~x)) : nothing) + +("1_2_1_4_89", +@rule ∫(1/(((~!d) + (~!e)*(~x))*sqrt((~!f) + (~!g)*(~x))*sqrt((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(gt((~a), 0)) ? +sqrt(1 + (~c)*(~x)^2⨸(~a))⨸sqrt((~a) + (~c)*(~x)^2)* ∫(1⨸(((~d) + (~e)*(~x))*sqrt((~f) + (~g)*(~x))*sqrt(1 - rt(-(~c)⨸(~a), 2)*(~x))*sqrt(1 + rt(-(~c)⨸(~a), 2)*(~x))), (~x)) : nothing) + +("1_2_1_4_90", +@rule ∫(1/(((~!d) + (~!e)*(~x))*sqrt((~!f) + (~!g)*(~x))* sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) ? +sqrt((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x))*sqrt((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x))⨸sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)* ∫(1⨸(((~d) + (~e)*(~x))*sqrt((~f) + (~g)*(~x))*sqrt((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x))* sqrt((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x))), (~x)) : nothing) + +("1_2_1_4_91", +@rule ∫(1/(sqrt((~!d) + (~!e)*(~x))*sqrt((~!f) + (~!g)*(~x))* sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) ? +-2*((~d) + (~e)*(~x))* sqrt(((~e)*(~f) - (~d)*(~g))^2*((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸(((~c)*(~f)^2 - (~b)*(~f)*(~g) + (~a)*(~g)^2)*((~d) + (~e)*(~x))^2))⨸(((~e)*(~f) - (~d)*(~g))* sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2))* int_and_subst( 1⨸sqrt(1 - (2*(~c)*(~d)*(~f) - (~b)*(~e)*(~f) - (~b)*(~d)*(~g) + 2*(~a)*(~e)*(~g))* (~x)^2⨸((~c)*(~f)^2 - (~b)*(~f)*(~g) + (~a)*(~g)^2) + ((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* (~x)^4⨸((~c)*(~f)^2 - (~b)*(~f)*(~g) + (~a)*(~g)^2)), (~x), (~x), sqrt((~f) + (~g)*(~x))⨸sqrt((~d) + (~e)*(~x)), "1_2_1_4_91") : nothing) + +("1_2_1_4_92", +@rule ∫(1/(sqrt((~!d) + (~!e)*(~x))*sqrt((~!f) + (~!g)*(~x))*sqrt((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +-2*((~d) + (~e)*(~x))* sqrt(((~e)*(~f) - (~d)*(~g))^2*((~a) + (~c)*(~x)^2)⨸(((~c)*(~f)^2 + (~a)*(~g)^2)*((~d) + (~e)*(~x))^2))⨸(((~e)* (~f) - (~d)*(~g))*sqrt((~a) + (~c)*(~x)^2))* int_and_subst( 1⨸sqrt(1 - (2*(~c)*(~d)*(~f) + 2*(~a)*(~e)*(~g))* (~x)^2⨸((~c)*(~f)^2 + (~a)*(~g)^2) + ((~c)*(~d)^2 + (~a)*(~e)^2)*(~x)^4⨸((~c)*(~f)^2 + (~a)*(~g)^2)), (~x), (~x), sqrt((~f) + (~g)*(~x))⨸sqrt((~d) + (~e)*(~x)), "1_2_1_4_92") : nothing) + +("1_2_1_4_93", +@rule ∫(1/(((~!d) + (~!e)*(~x))^(3//2)*sqrt((~!f) + (~!g)*(~x))* sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) ? +-(~g)⨸((~e)*(~f) - (~d)*(~g))* ∫(1⨸(sqrt((~d) + (~e)*(~x))*sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)), (~x)) + (~e)⨸((~e)*(~f) - (~d)*(~g))* ∫(sqrt((~f) + (~g)*(~x))⨸(((~d) + (~e)*(~x))^(3⨸2)*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)), (~x)) : nothing) + +("1_2_1_4_94", +@rule ∫(1/(((~!d) + (~!e)*(~x))^(3//2)*sqrt((~!f) + (~!g)*(~x))*sqrt((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +-(~g)⨸((~e)*(~f) - (~d)*(~g))* ∫(1⨸(sqrt((~d) + (~e)*(~x))*sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2)), (~x)) + (~e)⨸((~e)*(~f) - (~d)*(~g))* ∫(sqrt((~f) + (~g)*(~x))⨸(((~d) + (~e)*(~x))^(3⨸2)*sqrt((~a) + (~c)*(~x)^2)), (~x)) : nothing) + +("1_2_1_4_95", +@rule ∫(((~!d) + (~!e)*(~x))^ (~m)/(sqrt((~!f) + (~!g)*(~x))*sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger(2*(~m)) && + le((~m), -2) ? +(~e)^2*((~d) + (~e)*(~x))^((~m) + 1)*sqrt((~f) + (~g)*(~x))* sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸(((~m) + 1)*((~e)*(~f) - (~d)*(~g))*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)) + 1⨸(2*((~m) + 1)*((~e)*(~f) - (~d)*(~g))*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^((~m) + 1)⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2))* simp(2*(~d)*((~c)*(~e)*(~f) - (~c)*(~d)*(~g) + (~b)*(~e)*(~g))*((~m) + 1) - (~e)^2*((~b)*(~f) + (~a)*(~g))*(2*(~m) + 3) + 2*(~e)*((~c)*(~d)*(~g)*((~m) + 1) - (~e)*((~c)*(~f) + (~b)*(~g))*((~m) + 2))*(~x) - (~c)*(~e)^2*(~g)*(2*(~m) + 5)*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_1_4_96", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)/(sqrt((~!f) + (~!g)*(~x))*sqrt((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ext_isinteger(2*(~m)) && + le((~m), -2) ? +(~e)^2*((~d) + (~e)*(~x))^((~m) + 1)*sqrt((~f) + (~g)*(~x))* sqrt((~a) + (~c)*(~x)^2)⨸(((~m) + 1)*((~e)*(~f) - (~d)*(~g))*((~c)*(~d)^2 + (~a)*(~e)^2)) + 1⨸(2*((~m) + 1)*((~e)*(~f) - (~d)*(~g))*((~c)*(~d)^2 + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^((~m) + 1)⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2))* simp(2*(~d)*((~c)*(~e)*(~f) - (~c)*(~d)*(~g))*((~m) + 1) - (~a)*(~e)^2*(~g)*(2*(~m) + 3) + 2*(~e)*((~c)*(~d)*(~g)*((~m) + 1) - (~c)*(~e)*(~f)*((~m) + 2))*(~x) - (~c)*(~e)^2*(~g)*(2*(~m) + 5)*(~x)^2, (~x)), (~x)) : nothing) + +#(* Int[Sqrt[d_.+e_.*x_]*Sqrt[f_.+g_.*x_]/Sqrt[a_.+b_.*x_+c_.*x_^2],x_ Symbol] := 0 /; FreeQ[{a,b,c,d,e,f,g},x] && NeQ[e*f-d*g,0] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] *) +("1_2_1_4_97", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)* sqrt((~!f) + (~!g)*(~x))/sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger(2*(~m)) && + gt((~m), 1) ? +2*(~e)*((~d) + (~e)*(~x))^((~m) - 1)*sqrt((~f) + (~g)*(~x))* sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸((~c)*(2*(~m) + 1)) - 1⨸((~c)*(2*(~m) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 2)⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2))* simp((~e)*((~b)*(~d)*(~f) + (~a)*((~d)*(~g) + 2*(~e)*(~f)*((~m) - 1))) - (~c)*(~d)^2*(~f)*(2*(~m) + 1) + ((~a)*(~e)^2*(~g)*(2*(~m) - 1) - (~c)*(~d)*(4*(~e)*(~f)*(~m) + (~d)*(~g)*(2*(~m) + 1)) + (~b)*(~e)*(2*(~d)*(~g) + (~e)*(~f)*(2*(~m) - 1)))*(~x) + (~e)*(2*(~b)*(~e)*(~g)*(~m) - (~c)*((~e)*(~f) + (~d)*(~g)*(4*(~m) - 1)))*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_1_4_98", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*sqrt((~!f) + (~!g)*(~x))/sqrt((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ext_isinteger(2*(~m)) && + gt((~m), 1) ? +2*(~e)*((~d) + (~e)*(~x))^((~m) - 1)*sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2)⨸((~c)*(2*(~m) + 1)) - 1⨸((~c)*(2*(~m) + 1))* ∫(((~d) + (~e)*(~x))^((~m) - 2)⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2))* simp((~a)*(~e)*((~d)*(~g) + 2*(~e)*(~f)*((~m) - 1)) - (~c)*(~d)^2*(~f)*(2*(~m) + 1) + ((~a)*(~e)^2*(~g)*(2*(~m) - 1) - (~c)*(~d)*(4*(~e)*(~f)*(~m) + (~d)*(~g)*(2*(~m) + 1)))*(~x) - (~c)*(~e)*((~e)*(~f) + (~d)*(~g)*(4*(~m) - 1))*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_1_4_99", +@rule ∫(sqrt((~!f) + (~!g)*(~x))/(((~!d) + (~!e)*(~x))*sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) ? +(~g)⨸(~e)*∫(1⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)), (~x)) + ((~e)*(~f) - (~d)*(~g))⨸(~e)* ∫(1⨸(((~d) + (~e)*(~x))*sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)), (~x)) : nothing) + +("1_2_1_4_100", +@rule ∫(sqrt((~!f) + (~!g)*(~x))/(((~!d) + (~!e)*(~x))*sqrt((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +(~g)⨸(~e)*∫(1⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2)), (~x)) + ((~e)*(~f) - (~d)*(~g))⨸(~e)* ∫(1⨸(((~d) + (~e)*(~x))*sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2)), (~x)) : nothing) + +("1_2_1_4_101", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)* sqrt((~!f) + (~!g)*(~x))/sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger(2*(~m)) && + le((~m), -2) ? +(~e)*((~d) + (~e)*(~x))^((~m) + 1)*sqrt((~f) + (~g)*(~x))* sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸(((~m) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)) + 1⨸(2*((~m) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^((~m) + 1)⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2))* simp(2*(~c)*(~d)*(~f)*((~m) + 1) - (~e)*((~a)*(~g) + (~b)*(~f)*(2*(~m) + 3)) - 2*((~b)*(~e)*(~g)*(2 + (~m)) - (~c)*((~d)*(~g)*((~m) + 1) - (~e)*(~f)*((~m) + 2)))*(~x) - (~c)*(~e)*(~g)*(2*(~m) + 5)*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_1_4_102", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*sqrt((~!f) + (~!g)*(~x))/sqrt((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ext_isinteger(2*(~m)) && + le((~m), -2) ? +(~e)*((~d) + (~e)*(~x))^((~m) + 1)*sqrt((~f) + (~g)*(~x))* sqrt((~a) + (~c)*(~x)^2)⨸(((~m) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2)) + 1⨸(2*((~m) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x))^((~m) + 1)⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2))* simp(2*(~c)*(~d)*(~f)*((~m) + 1) - (~e)*((~a)*(~g)) + 2*(~c)*((~d)*(~g)*((~m) + 1) - (~e)*(~f)*((~m) + 2))*(~x) - (~c)*(~e)*(~g)*(2*(~m) + 5)*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_1_4_103", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + igt((~p), 0) && + ( + igt((~m), 0) || + eq((~m), -2) && + eq((~p), 1) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) + ) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +("1_2_1_4_104", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + igt((~p), 0) && + ( + igt((~m), 0) || + eq((~m), -2) && + eq((~p), 1) && + eq((~d), 0) + ) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n)*((~a) + (~c)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +("1_2_1_4_105", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + igt((~p), 0) && + lt((~m), -1) ? +poly_remainder(((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~d) + (~e)*(~x), (~x))*((~d) + (~e)*(~x))^((~m) + 1)*((~f) + (~g)*(~x))^((~n) + 1)⨸(((~m) + 1)*((~e)*(~f) - (~d)*(~g))) + 1⨸(((~m) + 1)*((~e)*(~f) - (~d)*(~g)))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~f) + (~g)*(~x))^(~n)* expand_to_sum(((~m) + 1)*((~e)*(~f) - (~d)*(~g))*poly_quotient(((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~d) + (~e)*(~x), (~x)) - (~g)*poly_remainder(((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~d) + (~e)*(~x), (~x))*((~m) + (~n) + 2), (~x)), (~x)) : nothing) + +("1_2_1_4_106", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + igt((~p), 0) && + lt((~m), -1) ? +poly_remainder(((~a) + (~c)*(~x)^2)^(~p), (~d) + (~e)*(~x), (~x))*((~d) + (~e)*(~x))^((~m) + 1)*((~f) + (~g)*(~x))^((~n) + 1)⨸(((~m) + 1)*((~e)*(~f) - (~d)*(~g))) + 1⨸(((~m) + 1)*((~e)*(~f) - (~d)*(~g)))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~f) + (~g)*(~x))^(~n)* expand_to_sum(((~m) + 1)*((~e)*(~f) - (~d)*(~g))*poly_quotient(((~a) + (~c)*(~x)^2)^(~p), (~d) + (~e)*(~x), (~x)) - (~g)*poly_remainder(((~a) + (~c)*(~x)^2)^(~p), (~d) + (~e)*(~x), (~x))*((~m) + (~n) + 2), (~x)), (~x)) : nothing) + +("1_2_1_4_107", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + igt((~p), 0) && + !eq((~m) + (~n) + 2*(~p) + 1, 0) && + ( + ext_isinteger((~n)) || + !(ext_isinteger((~m))) + ) ? +(~c)^(~p)*((~d) + (~e)*(~x))^((~m) + 2*(~p))*((~f) + (~g)*(~x))^((~n) + 1)⨸((~g)* (~e)^(2*(~p))*((~m) + (~n) + 2*(~p) + 1)) + 1⨸((~g)*(~e)^(2*(~p))*((~m) + (~n) + 2*(~p) + 1))*∫(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n)* expand_to_sum( (~g)*((~m) + (~n) + 2*(~p) + 1)*((~e)^(2*(~p))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p) - (~c)^(~p)*((~d) + (~e)*(~x))^(2*(~p))) - (~c)^(~p)*((~e)*(~f) - (~d)*(~g))*((~m) + 2*(~p))*((~d) + (~e)*(~x))^(2*(~p) - 1), (~x)), (~x)) : nothing) + +("1_2_1_4_108", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + igt((~p), 0) && + !eq((~m) + (~n) + 2*(~p) + 1, 0) && + ( + ext_isinteger((~n)) || + !(ext_isinteger((~m))) + ) ? +(~c)^(~p)*((~d) + (~e)*(~x))^((~m) + 2*(~p))*((~f) + (~g)*(~x))^((~n) + 1)⨸((~g)* (~e)^(2*(~p))*((~m) + (~n) + 2*(~p) + 1)) + 1⨸((~g)*(~e)^(2*(~p))*((~m) + (~n) + 2*(~p) + 1))*∫(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n)* expand_to_sum( (~g)*((~m) + (~n) + 2*(~p) + 1)*((~e)^(2*(~p))*((~a) + (~c)*(~x)^2)^(~p) - (~c)^(~p)*((~d) + (~e)*(~x))^(2*(~p))) - (~c)^(~p)*((~e)*(~f) - (~d)*(~g))*((~m) + 2*(~p))*((~d) + (~e)*(~x))^(2*(~p) - 1), (~x)), (~x)) : nothing) + +("1_2_1_4_109", +@rule ∫(((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p)/((~!d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~n))) && + !(ext_isinteger((~p))) && + gt((~p), 0) && + lt((~n), -1) ? +((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)⨸((~e)*((~e)*(~f) - (~d)*(~g)))* ∫(((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1)⨸((~d) + (~e)*(~x)), (~x)) - 1⨸((~e)*((~e)*(~f) - (~d)*(~g)))* ∫(((~f) + (~g)*(~x))^ (~n)*((~c)*(~d)*(~f) - (~b)*(~e)*(~f) + (~a)*(~e)*(~g) - (~c)*((~e)*(~f) - (~d)*(~g))*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_4_110", +@rule ∫(((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p)/((~!d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~n))) && + !(ext_isinteger((~p))) && + gt((~p), 0) && + lt((~n), -1) ? +((~c)*(~d)^2 + (~a)*(~e)^2)⨸((~e)*((~e)*(~f) - (~d)*(~g)))* ∫(((~f) + (~g)*(~x))^((~n) + 1)*((~a) + (~c)*(~x)^2)^((~p) - 1)⨸((~d) + (~e)*(~x)), (~x)) - 1⨸((~e)*((~e)*(~f) - (~d)*(~g)))* ∫(((~f) + (~g)*(~x))^ (~n)*((~c)*(~d)*(~f) + (~a)*(~e)*(~g) - (~c)*((~e)*(~f) - (~d)*(~g))*(~x))*((~a) + (~c)*(~x)^2)^((~p) - 1), (~x)) : nothing) + +("1_2_1_4_111", +@rule ∫(((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p)/((~!d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~n))) && + !(ext_isinteger((~p))) && + lt((~p), -1) && + gt((~n), 0) ? +(~e)*((~e)*(~f) - (~d)*(~g))⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* ∫(((~f) + (~g)*(~x))^((~n) - 1)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^((~p) + 1)⨸((~d) + (~e)*(~x)), (~x)) + 1⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* ∫(((~f) + (~g)*(~x))^((~n) - 1)*((~c)*(~d)*(~f) - (~b)*(~e)*(~f) + (~a)*(~e)*(~g) - (~c)*((~e)*(~f) - (~d)*(~g))*(~x))*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_4_112", +@rule ∫(((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p)/((~!d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~n))) && + !(ext_isinteger((~p))) && + lt((~p), -1) && + gt((~n), 0) ? +(~e)*((~e)*(~f) - (~d)*(~g))⨸((~c)*(~d)^2 + (~a)*(~e)^2)* ∫(((~f) + (~g)*(~x))^((~n) - 1)*((~a) + (~c)*(~x)^2)^((~p) + 1)⨸((~d) + (~e)*(~x)), (~x)) + 1⨸((~c)*(~d)^2 + (~a)*(~e)^2)* ∫(((~f) + (~g)*(~x))^((~n) - 1)*((~c)*(~d)*(~f) + (~a)*(~e)*(~g) - (~c)*((~e)*(~f) - (~d)*(~g))*(~x))*((~a) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_1_4_113", +@rule ∫(((~!f) + (~!g)*(~x))^(~n)/(((~!d) + (~!e)*(~x))*sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger((~n) + 1/2) ? +∫(ext_expand( 1⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)), ((~f) + (~g)*(~x))^((~n) + 1⨸2)⨸((~d) + (~e)*(~x)), (~x)), (~x)) : nothing) + +("1_2_1_4_114", +@rule ∫(((~!f) + (~!g)*(~x))^(~n)/(((~!d) + (~!e)*(~x))*sqrt((~a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ext_isinteger((~n) + 1/2) ? +∫(ext_expand( 1⨸(sqrt((~f) + (~g)*(~x))*sqrt((~a) + (~c)*(~x)^2)), ((~f) + (~g)*(~x))^((~n) + 1⨸2)⨸((~d) + (~e)*(~x)), (~x)), (~x)) : nothing) + +("1_2_1_4_115", +@rule ∫(((~!g)*(~x))^(~!n)*((~a) + (~!c)*(~x)^2)^(~p)/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~g), (~n), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + !(ext_isinteger((~n), 2*(~p))) ? +(~d)*((~g)*(~x))^(~n)⨸(~x)^(~n)*∫(((~x)^(~n)*((~a) + (~c)*(~x)^2)^(~p))⨸((~d)^2 - (~e)^2*(~x)^2), (~x)) - (~e)*((~g)*(~x))^(~n)⨸(~x)^(~n)*∫(((~x)^((~n) + 1)*((~a) + (~c)*(~x)^2)^(~p))⨸((~d)^2 - (~e)^2*(~x)^2), (~x)) : nothing) + +("1_2_1_4_116", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ( + ext_isinteger((~p)) || + ilt((~m), 0) && + ilt((~n), 0) + ) && + !( + igt((~m), 0) || + igt((~n), 0) + ) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +("1_2_1_4_117", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ( + ext_isinteger((~p)) || + ilt((~m), 0) && + ilt((~n), 0) + ) && + !( + igt((~m), 0) || + igt((~n), 0) + ) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n)*((~a) + (~c)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +("1_2_1_4_118", +@rule ∫(((~!g)*(~x))^(~!n)*((~d) + (~!e)*(~x))^(~m)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~g), (~n), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ilt((~m), 0) && + !(ext_isinteger((~p))) && + !(ext_isinteger((~n))) ? +((~g)*(~x))^(~n)⨸(~x)^(~n)* ∫(ext_expand( (~x)^(~n)*((~a) + (~c)*(~x)^2)^ (~p), ((~d)⨸((~d)^2 - (~e)^2*(~x)^2) - (~e)*(~x)⨸((~d)^2 - (~e)^2*(~x)^2))^(-(~m)), (~x)), (~x)) : nothing) + +# ("1_2_1_4_119", +# @rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && +# !( +# igt((~m), 0) || +# igt((~n), 0) +# ) ? +# Unintegrable[((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x)] : nothing) + +# ("1_2_1_4_120", +# @rule ∫(((~!d) + (~!e)*(~x))^(~m)*((~!f) + (~!g)*(~x))^(~n)*((~a) + (~!c)*(~x)^2)^(~p),(~x)) => +# !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && +# !( +# igt((~m), 0) || +# igt((~n), 0) +# ) ? +# Unintegrable[((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n)*((~a) + (~c)*(~x)^2)^(~p), (~x)] : nothing) + +("1_2_1_4_121", +@rule ∫(((~!d) + (~!e)*(~u))^(~!m)*((~!f) + (~!g)*(~u))^(~!n)*((~a) + (~!b)*(~u) + (~!c)*(~u)^2)^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + linear((~u), (~x)) && + !eq((~u), (~x)) ? +1⨸ext_coeff((~u), (~x), 1)* int_and_subst(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x), (~x), (~u), "1_2_1_4_121") : nothing) + +("1_2_1_4_122", +@rule ∫(((~!d) + (~!e)*(~u))^(~!m)*((~!f) + (~!g)*(~u))^(~!n)*((~a) + (~!c)*(~u)^2)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + linear((~u), (~x)) && + !eq((~u), (~x)) ? +1⨸ext_coeff((~u), (~x), 1)* int_and_subst(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~n)*((~a) + (~c)*(~x)^2)^(~p), (~x), (~x), (~u), "1_2_1_4_122") : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.1 (a+b x^2+c x^4)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.1 (a+b x^2+c x^4)^p.jl new file mode 100644 index 0000000..bad054b --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.1 (a+b x^2+c x^4)^p.jl @@ -0,0 +1,156 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.2.2.1 (a+b x^2+c x^4)^p *) +#(* Int[(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] := 1/c^p*Int[(b/2+c*x^2)^(2*p),x] /; FreeQ[{a,b,c,p},x] && EqQ[b^2-4*a*c,0] && IntegerQ[p] *) +#(* Int[1/(a_+b_.*x_^2+c_.*x_^4)^(5/4),x_Symbol] := 2*x/(3*a*(a+b*x^2+c*x^4)^(1/4)) + x*(2*a+b*x^2)/(6*a*(a+b*x^2+c*x^4)^(5/4)) /; FreeQ[{a,b,c},x] && EqQ[b^2-4*a*c,0] *) +("1_2_2_1_1", +@rule ∫(((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~p) - 1/2) ? +((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p)⨸((~b) + 2*(~c)*(~x)^2)^(2*(~p))* ∫(((~b) + 2*(~c)*(~x)^2)^(2*(~p)), (~x)) : nothing) + +("1_2_2_1_2", +@rule ∫(((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger(2*(~p))) ? +(~a)^intpart((~p))*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^ fracpart((~p))⨸(1 + 2*(~c)*(~x)^2⨸(~b))^(2*fracpart((~p)))* ∫((1 + 2*(~c)*(~x)^2⨸(~b))^(2*(~p)), (~x)) : nothing) + +("1_2_2_1_3", +@rule ∫(((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + igt((~p), 0) ? +∫(ext_expand(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)), (~x)) : nothing) + +("1_2_2_1_4", +@rule ∫(((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + gt((~p), 0) && + ext_isinteger(2*(~p)) ? +(~x)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p)⨸(4*(~p) + 1) + 2*(~p)⨸(4*(~p) + 1)*∫((2*(~a) + (~b)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) - 1), (~x)) : nothing) + +("1_2_2_1_5", +@rule ∫(((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~p), -1) && + ext_isinteger(2*(~p)) ? +-(~x)*((~b)^2 - 2*(~a)*(~c) + (~b)*(~c)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸(2* (~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) + 1⨸(2*(~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~b)^2 - 2*(~a)*(~c) + 2*((~p) + 1)*((~b)^2 - 4*(~a)*(~c)) + (~b)*(~c)*(4*(~p) + 7)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1), (~x)) : nothing) + +("1_2_2_1_6", +@rule ∫(1/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + pos((~b)^2 - 4*(~a)*(~c)) ? +(~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(1⨸((~b)⨸2 - rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x)^2), (~x)) - (~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(1⨸((~b)⨸2 + rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_2_1_7", +@rule ∫(1/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + neg((~b)^2 - 4*(~a)*(~c)) ? +1⨸(2*(~c)*rt((~a)⨸(~c), 2)*rt(2*(~q) - (~b)⨸(~c), 2))*∫((rt(2*(~q) - (~b)⨸(~c), 2) - (~x))⨸(rt((~a)⨸(~c), 2) - rt(2*(~q) - (~b)⨸(~c), 2)*(~x) + (~x)^2), (~x)) + 1⨸(2*(~c)*rt((~a)⨸(~c), 2)*rt(2*(~q) - (~b)⨸(~c), 2))*∫((rt(2*(~q) - (~b)⨸(~c), 2) + (~x))⨸(rt((~a)⨸(~c), 2) + rt(2*(~q) - (~b)⨸(~c), 2)*(~x) + (~x)^2), (~x)) : nothing) + +("1_2_2_1_8", +@rule ∫(1/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + lt((~c), 0) ? +2*sqrt(-(~c))* ∫(1⨸(sqrt((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2)*sqrt(-(~b) + rt((~b)^2 - 4*(~a)*(~c), 2) - 2*(~c)*(~x)^2)), (~x)) : nothing) + +("1_2_2_1_9", +@rule ∫(1/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + gt((~c)/(~a), 0) && + lt((~b)/(~a), 0) ? +(1 + rt((~c)⨸(~a), 4)^2*(~x)^2)* sqrt(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)⨸((~a)*(1 + rt((~c)⨸(~a), 4)^2*(~x)^2)^2))⨸(2*rt((~c)⨸(~a), 4)* sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* elliptic_f(2*atan(rt((~c)⨸(~a), 4)*(~x)), 1⨸2 - (~b)*rt((~c)⨸(~a), 4)^2⨸(4*(~c))) : nothing) + +("1_2_2_1_10", +@rule ∫(1/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + lt((~a), 0) && + gt((~c), 0) && + ext_isinteger(rt((~b)^2 - 4*(~a)*(~c), 2)) ? +sqrt(-2*(~a) - ((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)* sqrt((2*(~a) + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)⨸rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*sqrt(-(~a))* sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* elliptic_f( asin((~x)⨸sqrt((2*(~a) + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)⨸(2*rt((~b)^2 - 4*(~a)*(~c), 2)))), ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*rt((~b)^2 - 4*(~a)*(~c), 2))) : nothing) + +("1_2_2_1_11", +@rule ∫(1/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + lt((~a), 0) && + gt((~c), 0) ? +sqrt((2*(~a) + ((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)⨸(2*(~a) + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2))* sqrt((2*(~a) + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)⨸rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)* sqrt((~a)⨸(2*(~a) + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)))* elliptic_f( asin((~x)⨸sqrt((2*(~a) + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)⨸(2*rt((~b)^2 - 4*(~a)*(~c), 2)))), ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*rt((~b)^2 - 4*(~a)*(~c), 2))) : nothing) + +("1_2_2_1_12", +@rule ∫(1/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + pos(((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) && + !( + pos(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) && + simpler(rt(((~b) - rt((~b)^2 - 4*(~a)*(~c),2),rt( 2))/(2*(~a)), ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))/(2*(~a)),2)) + ) ? +(2*(~a) + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)* sqrt((2*(~a) + ((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)⨸(2*(~a) + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2))⨸(2*(~a)* rt(((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~a)), 2)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* elliptic_f(atan(rt(((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~a)), 2)*(~x)), 2*rt((~b)^2 - 4*(~a)*(~c), 2)⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))) : nothing) + +("1_2_2_1_13", +@rule ∫(1/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + pos(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) ? +(2*(~a) + ((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)* sqrt((2*(~a) + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)⨸(2*(~a) + ((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2))⨸(2*(~a)* rt(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~a)), 2)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* elliptic_f(atan(rt(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~a)), 2)*(~x)), -2*rt((~b)^2 - 4*(~a)*(~c), 2)⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))) : nothing) + +("1_2_2_1_14", +@rule ∫(1/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + neg(((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) && + !( + neg(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) && + simpler(rt(-((~b) - rt((~b)^2 - 4*(~a)*(~c),2),rt( 2))/(2*(~a)), -((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))/(2*(~a)),2)) + ) ? +sqrt(1 + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2⨸(2*(~a)))* sqrt(1 + ((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2⨸(2*(~a)))⨸(rt(-((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~a)), 2)* sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* elliptic_f(asin(rt(-((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~a)), 2)*(~x)), ((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))) : nothing) + +("1_2_2_1_15", +@rule ∫(1/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + neg(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) ? +sqrt(1 + ((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2⨸(2*(~a)))* sqrt(1 + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2⨸(2*(~a)))⨸(rt(-((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~a)), 2)* sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* elliptic_f(asin(rt(-((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~a)), 2)*(~x)), ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))) : nothing) + +("1_2_2_1_16", +@rule ∫(1/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + pos((~c)/(~a)) ? +(1 + rt((~c)⨸(~a), 4)^2*(~x)^2)* sqrt(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)⨸((~a)*(1 + rt((~c)⨸(~a), 4)^2*(~x)^2)^2))⨸(2*rt((~c)⨸(~a), 4)* sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* elliptic_f(2*atan(rt((~c)⨸(~a), 4)*(~x)), 1⨸2 - (~b)*rt((~c)⨸(~a), 4)^2⨸(4*(~c))) : nothing) + +("1_2_2_1_17", +@rule ∫(1/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + neg((~c)/(~a)) ? +sqrt(1 + 2*(~c)*(~x)^2⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)))* sqrt(1 + 2*(~c)*(~x)^2⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)* ∫(1⨸(sqrt(1 + 2*(~c)*(~x)^2⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)))*sqrt(1 + 2*(~c)*(~x)^2⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))), (~x)) : nothing) + +("1_2_2_1_18", +@rule ∫(((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +(~a)^intpart((~p))*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^ fracpart( (~p))⨸((1 + 2*(~c)*(~x)^2⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))^fracpart((~p))*(1 + 2*(~c)*(~x)^2⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)))^ fracpart((~p)))* ∫((1 + 2*(~c)*(~x)^2⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))^(~p)*(1 + 2*(~c)*(~x)^2⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)))^(~p), (~x)) : nothing) + +("1_2_2_1_19", +@rule ∫((~P4)^(~p),(~x)) => + !contains_var((~p), (~x)) && + poly((~P4), (~x), 4) && + !eq((~p), 2) && + !eq((~p), 3) && + eq(ext_coeff((~P4), (~x), 3)^3 - 4*ext_coeff((~P4), (~x), 2)*ext_coeff((~P4), (~x), 3)*ext_coeff((~P4), (~x), 4) + 8*ext_coeff((~P4), (~x), 1)*ext_coeff((~P4), (~x), 4)^2, 0) && + !eq(ext_coeff((~P4), (~x), 3), 0) ? +int_and_subst(ext_simplify((ext_coeff((~P4), (~x), 0) + ext_coeff((~P4), (~x), 3)^4⨸(256*ext_coeff((~P4), (~x), 4)^3) - ext_coeff((~P4), (~x), 1)*ext_coeff((~P4), (~x), 3)⨸(8*ext_coeff((~P4), (~x), 4)) + (ext_coeff((~P4), (~x), 2) - 3*ext_coeff((~P4), (~x), 3)^2⨸(8*ext_coeff((~P4), (~x), 4)))*(~x)^2 + ext_coeff((~P4), (~x), 4)*(~x)^4)^(~p), (~x)), (~x), (~x), ext_coeff((~P4), (~x), 3)⨸(4*ext_coeff((~P4), (~x), 4)) + (~x), "1_2_2_1_19") : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.2 (d x)^m (a+b x^2+c x^4)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.2 (d x)^m (a+b x^2+c x^4)^p.jl new file mode 100644 index 0000000..d09cc93 --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.2 (d x)^m (a+b x^2+c x^4)^p.jl @@ -0,0 +1,325 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.2.2.2 (d x)^m (a+b x^2+c x^4)^p *) +#(* Int[(d_.*x_)^m_.*(b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] := 1/d^(2*p)*Int[(d*x)^(m+2*p)*(b+c*x^2)^p,x] /; FreeQ[{b,c,d,m},x] && IntegerQ[p] *) +#(* Int[(d_.*x_)^m_.*(b_.*x_^2+c_.*x_^4)^p_,x_Symbol] := (b*x^2+c*x^4)^p/((d*x)^(2*p)*(b+c*x^2)^p)*Int[(d*x)^(m+2*p)*(b+c*x^ 2)^p,x] /; FreeQ[{b,c,d,m,p},x] && Not[IntegerQ[p]] *) +("1_2_2_2_1", +@rule ∫((~x)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) ? +1⨸2*int_and_subst(((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x), (~x), (~x)^2, "1_2_2_2_1") : nothing) + +("1_2_2_2_2", +@rule ∫(((~!d)*(~x))^(~!m)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + igt((~p), 0) && + !(ext_isinteger(((~m) + 1)/2)) ? +∫(ext_expand(((~d)*(~x))^(~m)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)), (~x)) : nothing) + +#(* Int[(d_.*x_)^m_.*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] := 1/c^p*Int[(d*x)^m*(b/2+c*x^2)^(2*p),x] /; FreeQ[{a,b,c,d,m,p},x] && EqQ[b^2-4*a*c,0] && IntegerQ[p] *) +("1_2_2_2_3", +@rule ∫(((~!d)*(~x))^(~!m)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~p), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) && + eq((~m) + 4*(~p) + 5, 0) && + lt((~p), -1) ? +2*((~d)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸((~d)*((~m) + 3)*(2*(~a) + (~b)*(~x)^2)) - ((~d)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸(2*(~a)* (~d)*((~m) + 3)*((~p) + 1)) : nothing) + +("1_2_2_2_4", +@rule ∫(((~!d)*(~x))^(~!m)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~p), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) && + eq((~m) + 4*(~p) + 5, 0) && + !eq((~p), -1/2) ? +((~d)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸(4*(~a)* (~d)*((~p) + 1)*(2*(~p) + 1)) - ((~d)*(~x))^((~m) + 1)*(2*(~a) + (~b)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^ (~p)⨸(4*(~a)*(~d)*(2*(~p) + 1)) : nothing) + +("1_2_2_2_5", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~p) - 1/2) && + ext_isinteger(((~m) - 1)/2) && + ( + gt((~m), 0) || + lt(0, 4*(~p), -(~m) - 1) + ) ? +1⨸2*int_and_subst((~x)^(((~m) - 1)⨸2)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x), (~x), (~x)^2, "1_2_2_2_5") : nothing) + +#(* Int[(d_.*x_)^m_.*(a_+b_.*x_^2+c_.*x_^4)^p_,x_Symbol] := c*(a+b*x^2+c*x^4)^(p+1)/(b/2+c*x^2)^(2*(p+1))*Int[(d*x)^m*(b/2+c*x^ 2)^(2*p),x] /; FreeQ[{a,b,c,d,m,p},x] && EqQ[b^2-4*a*c,0] && IntegerQ[p-1/2] && IGeQ[m,2*p] *) +("1_2_2_2_6", +@rule ∫(((~!d)*(~x))^(~!m)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~p), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~p) - 1/2) ? +((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^ fracpart((~p))⨸((~c)^intpart((~p))*((~b)⨸2 + (~c)*(~x)^2)^(2*fracpart((~p))))* ∫(((~d)*(~x))^(~m)*((~b)⨸2 + (~c)*(~x)^2)^(2*(~p)), (~x)) : nothing) + +("1_2_2_2_7", +@rule ∫(((~!d)*(~x))^(~!m)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~p), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger(2*(~p))) ? +(~a)^intpart((~p))*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^ fracpart((~p))⨸(1 + 2*(~c)*(~x)^2⨸(~b))^(2*fracpart((~p)))* ∫(((~d)*(~x))^(~m)*(1 + 2*(~c)*(~x)^2⨸(~b))^(2*(~p)), (~x)) : nothing) + +("1_2_2_2_8", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + ext_isinteger(((~m) - 1)/2) ? +1⨸2*int_and_subst((~x)^(((~m) - 1)⨸2)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x), (~x), (~x)^2, "1_2_2_2_8") : nothing) + +("1_2_2_2_9", +@rule ∫(((~!d)*(~x))^(~m)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + isfraction((~m)) && + ext_isinteger((~p)) ? +ext_den((~m))⨸(~d)* int_and_subst((~x)^(ext_den((~m))*((~m) + 1) - 1)*((~a) + (~b)*(~x)^(2*ext_den((~m)))⨸(~d)^2 + (~c)*(~x)^(4*ext_den((~m)))⨸(~d)^4)^(~p), (~x), (~x), ((~d)*(~x))^(1⨸ext_den((~m))), "1_2_2_2_9") : nothing) + +("1_2_2_2_10", +@rule ∫(((~!d)*(~x))^(~!m)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + gt((~p), 0) && + gt((~m), 1) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +(~d)*((~d)*(~x))^((~m) - 1)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^ (~p)*(2*(~b)*(~p) + (~c)*((~m) + 4*(~p) - 1)*(~x)^2)⨸((~c)*((~m) + 4*(~p) + 1)*((~m) + 4*(~p) - 1)) - 2*(~p)*(~d)^2⨸((~c)*((~m) + 4*(~p) + 1)*((~m) + 4*(~p) - 1))* ∫(((~d)*(~x))^((~m) - 2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) - 1)* simp((~a)*(~b)*((~m) - 1) - (2*(~a)*(~c)*((~m) + 4*(~p) - 1) - (~b)^2*((~m) + 2*(~p) - 1))* (~x)^2, (~x)), (~x)) : nothing) + +("1_2_2_2_11", +@rule ∫(((~!d)*(~x))^(~!m)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + gt((~p), 0) && + lt((~m), -1) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +((~d)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p)⨸((~d)*((~m) + 1)) - 2*(~p)⨸((~d)^2*((~m) + 1))* ∫(((~d)*(~x))^((~m) + 2)*((~b) + 2*(~c)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) - 1), (~x)) : nothing) + +("1_2_2_2_12", +@rule ∫(((~!d)*(~x))^(~!m)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + gt((~p), 0) && + !eq((~m) + 4*(~p) + 1, 0) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +((~d)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p)⨸((~d)*((~m) + 4*(~p) + 1)) + 2*(~p)⨸((~m) + 4*(~p) + 1)* ∫(((~d)*(~x))^(~m)*(2*(~a) + (~b)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) - 1), (~x)) : nothing) + +("1_2_2_2_13", +@rule ∫(((~!d)*(~x))^(~!m)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~p), -1) && + gt((~m), 1) && + le((~m), 3) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +(~d)*((~d)*(~x))^((~m) - 1)*((~b) + 2*(~c)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸(2*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) - (~d)^2⨸(2*((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~d)*(~x))^((~m) - 2)*((~b)*((~m) - 1) + 2*(~c)*((~m) + 4*(~p) + 5)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1), (~x)) : nothing) + +("1_2_2_2_14", +@rule ∫(((~!d)*(~x))^(~!m)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~p), -1) && + gt((~m), 3) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +-(~d)^3*((~d)*(~x))^((~m) - 3)*(2*(~a) + (~b)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸(2*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) + (~d)^4⨸(2*((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~d)*(~x))^((~m) - 4)*(2*(~a)*((~m) - 3) + (~b)*((~m) + 4*(~p) + 3)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1), (~x)) : nothing) + +("1_2_2_2_15", +@rule ∫(((~!d)*(~x))^(~!m)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~p), -1) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +-((~d)*(~x))^((~m) + 1)*((~b)^2 - 2*(~a)*(~c) + (~b)*(~c)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸(2*(~a)* (~d)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) + 1⨸(2*(~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~d)*(~x))^(~m)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)* simp((~b)^2*((~m) + 2*(~p) + 3) - 2*(~a)*(~c)*((~m) + 4*(~p) + 5) + (~b)*(~c)*((~m) + 4*(~p) + 7)*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_2_2_16", +@rule ∫(((~!d)*(~x))^(~!m)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + gt((~m), 3) && + !eq((~m) + 4*(~p) + 1, 0) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +(~d)^3*((~d)*(~x))^((~m) - 3)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸((~c)*((~m) + 4*(~p) + 1)) - (~d)^4⨸((~c)*((~m) + 4*(~p) + 1))* ∫(((~d)*(~x))^((~m) - 4)* simp((~a)*((~m) - 3) + (~b)*((~m) + 2*(~p) - 1)*(~x)^2, (~x))*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)) : nothing) + +("1_2_2_2_17", +@rule ∫(((~!d)*(~x))^(~m)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~m), -1) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +((~d)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸((~a)*(~d)*((~m) + 1)) - 1⨸((~a)*(~d)^2*((~m) + 1))* ∫(((~d)*(~x))^((~m) + 2)*((~b)*((~m) + 2*(~p) + 3) + (~c)*((~m) + 4*(~p) + 5)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)) : nothing) + +("1_2_2_2_18", +@rule ∫(((~!d)*(~x))^(~m)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~m), -1) ? +((~d)*(~x))^((~m) + 1)⨸((~a)*(~d)*((~m) + 1)) - 1⨸((~a)*(~d)^2)*∫(((~d)*(~x))^((~m) + 2)*((~b) + (~c)*(~x)^2)⨸((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_2_19", +@rule ∫((~x)^(~m)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + igt((~m), 5) ? +∫(polynomial_divide((~x)^(~m), ((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)), (~x)) : nothing) + +("1_2_2_2_20", +@rule ∫(((~!d)*(~x))^(~m)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + gt((~m), 3) ? +(~d)^3*((~d)*(~x))^((~m) - 3)⨸((~c)*((~m) - 3)) - (~d)^4⨸(~c)*∫(((~d)*(~x))^((~m) - 4)*((~a) + (~b)*(~x)^2)⨸((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_2_21", +@rule ∫((~x)^2/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + lt((~b)^2 - 4*(~a)*(~c), 0) && + pos((~a)*(~c)) ? +1⨸2*∫((rt((~a)⨸(~c), 2) + (~x)^2)⨸((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) - 1⨸2*∫((rt((~a)⨸(~c), 2) - (~x)^2)⨸((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_2_22", +@rule ∫((~x)^(~!m)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ge((~m), 3) && + lt((~m), 4) && + neg((~b)^2 - 4*(~a)*(~c)) ? +1⨸(2*(~c)*rt(2*(~q) - (~b)⨸(~c), 2))*∫((~x)^((~m) - 3)*(rt((~a)⨸(~c), 2) + rt(2*(~q) - (~b)⨸(~c), 2)*(~x))⨸(rt((~a)⨸(~c), 2) + rt(2*(~q) - (~b)⨸(~c), 2)*(~x) + (~x)^2), (~x)) - 1⨸(2*(~c)*rt(2*(~q) - (~b)⨸(~c), 2))*∫((~x)^((~m) - 3)*(rt((~a)⨸(~c), 2) - rt(2*(~q) - (~b)⨸(~c), 2)*(~x))⨸(rt((~a)⨸(~c), 2) - rt(2*(~q) - (~b)⨸(~c), 2)*(~x) + (~x)^2), (~x)) : nothing) + +("1_2_2_2_23", +@rule ∫((~x)^(~!m)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ge((~m), 1) && + lt((~m), 3) && + neg((~b)^2 - 4*(~a)*(~c)) ? +1⨸(2*(~c)*rt(2*(~q) - (~b)⨸(~c), 2))*∫((~x)^((~m) - 1)⨸(rt((~a)⨸(~c), 2) - rt(2*(~q) - (~b)⨸(~c), 2)*(~x) + (~x)^2), (~x)) - 1⨸(2*(~c)*rt(2*(~q) - (~b)⨸(~c), 2))*∫((~x)^((~m) - 1)⨸(rt((~a)⨸(~c), 2) + rt(2*(~q) - (~b)⨸(~c), 2)*(~x) + (~x)^2), (~x)) : nothing) + +("1_2_2_2_24", +@rule ∫(((~!d)*(~x))^(~m)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ge((~m), 2) ? +(~d)^2⨸2*((~b)⨸rt((~b)^2 - 4*(~a)*(~c), 2) + 1)*∫(((~d)*(~x))^((~m) - 2)⨸((~b)⨸2 + rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x)^2), (~x)) - (~d)^2⨸2*((~b)⨸rt((~b)^2 - 4*(~a)*(~c), 2) - 1)*∫(((~d)*(~x))^((~m) - 2)⨸((~b)⨸2 - rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_2_2_25", +@rule ∫(((~!d)*(~x))^(~!m)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +(~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(((~d)*(~x))^(~m)⨸((~b)⨸2 - rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x)^2), (~x)) - (~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(((~d)*(~x))^(~m)⨸((~b)⨸2 + rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_2_2_26", +@rule ∫((~x)^2/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + lt((~c), 0) ? +2*sqrt(-(~c))* ∫((~x)^2⨸(sqrt((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2)*sqrt(-(~b) + rt((~b)^2 - 4*(~a)*(~c), 2) - 2*(~c)*(~x)^2)), (~x)) : nothing) + +("1_2_2_2_27", +@rule ∫((~x)^2/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + gt((~c)/(~a), 0) && + lt((~b)/(~a), 0) ? +1⨸rt((~c)⨸(~a), 2)*∫(1⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) - 1⨸rt((~c)⨸(~a), 2)*∫((1 - rt((~c)⨸(~a), 2)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_2_28", +@rule ∫((~x)^2/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + lt((~a), 0) && + gt((~c), 0) ? +-((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~c))*∫(1⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) + 1⨸(2*(~c))*∫(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_2_29", +@rule ∫((~x)^2/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + pos(((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) && + !( + pos(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) && + simpler(rt(((~b) - rt((~b)^2 - 4*(~a)*(~c),2),rt( 2))/(2*(~a)), ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))/(2*(~a)),2)) + ) ? +(~x)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2)⨸(2*(~c)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)) - rt(((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~a)), 2)*(2*(~a) + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)* sqrt((2*(~a) + ((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)⨸(2*(~a) + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2))⨸(2*(~c)* sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* elliptic_e(atan(rt(((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~a)), 2)*(~x)), 2*rt((~b)^2 - 4*(~a)*(~c), 2)⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))) : nothing) + +("1_2_2_2_30", +@rule ∫((~x)^2/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + pos(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) ? +(~x)*((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2)⨸(2*(~c)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)) - rt(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~a)), 2)*(2*(~a) + ((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)* sqrt((2*(~a) + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)⨸(2*(~a) + ((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2))⨸(2*(~c)* sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* elliptic_e(atan(rt(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~a)), 2)*(~x)), -2*rt((~b)^2 - 4*(~a)*(~c), 2)⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))) : nothing) + +("1_2_2_2_31", +@rule ∫((~x)^2/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + neg(((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) && + !( + neg(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) && + simpler(rt(-((~b) - rt((~b)^2 - 4*(~a)*(~c),2),rt( 2))/(2*(~a)), -((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))/(2*(~a)),2)) + ) ? +-((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~c))*∫(1⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) + 1⨸(2*(~c))*∫(((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_2_32", +@rule ∫((~x)^2/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + neg(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) ? +-((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~c))*∫(1⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) + 1⨸(2*(~c))*∫(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_2_33", +@rule ∫((~x)^2/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + pos((~c)/(~a)) ? +1⨸rt((~c)⨸(~a), 2)*∫(1⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) - 1⨸rt((~c)⨸(~a), 2)*∫((1 - rt((~c)⨸(~a), 2)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_2_34", +@rule ∫((~x)^2/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + neg((~c)/(~a)) ? +sqrt(1 + 2*(~c)*(~x)^2⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)))* sqrt(1 + 2*(~c)*(~x)^2⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)* ∫((~x)^2⨸(sqrt(1 + 2*(~c)*(~x)^2⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)))*sqrt(1 + 2*(~c)*(~x)^2⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))), (~x)) : nothing) + +("1_2_2_2_35", +@rule ∫(((~!d)*(~x))^(~!m)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~p), (~x)) ? +(~a)^intpart((~p))*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^fracpart((~p))⨸ ((1 + 2*(~c)*(~x)^2⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))^ fracpart((~p))*(1 + 2*(~c)*(~x)^2⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)))^fracpart((~p)))* ∫(((~d)*(~x))^(~m)*(1 + 2*(~c)*(~x)^2⨸((~b) + sqrt((~b)^2 - 4*(~a)*(~c))))^ (~p)*(1 + 2*(~c)*(~x)^2⨸((~b) - sqrt((~b)^2 - 4*(~a)*(~c))))^(~p), (~x)) : nothing) + +("1_2_2_2_36", +@rule ∫((~u)^(~!m)*((~!a) + (~!b)*(~v)^2 + (~!c)*(~v)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~p), (~x)) && + linear_pair((~u), (~v), (~x)) ? +(~u)^(~m)⨸(ext_coeff((~v), (~x), 1)*(~v)^(~m))* int_and_subst((~x)^(~m)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^(2*2))^(~p), (~x), (~x), (~v), "1_2_2_2_36") : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.3 (d+e x^2)^q (a+b x^2+c x^4)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.3 (d+e x^2)^q (a+b x^2+c x^4)^p.jl new file mode 100644 index 0000000..197e584 --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.3 (d+e x^2)^q (a+b x^2+c x^4)^p.jl @@ -0,0 +1,793 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.2.2.3 (d+e x^2)^q (a+b x^2+c x^4)^p *) +("1_2_2_3_1", +@rule ∫(((~d) + (~!e)*(~x)^2)/((~!b)*(~x)^2 + (~!c)*(~x)^4)^(3//4),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~x)) ? +-2*((~c)*(~d) - (~b)*(~e))*((~b)*(~x)^2 + (~c)*(~x)^4)^(1⨸4)⨸((~b)*(~c)*(~x)) + (~e)⨸(~c)*∫(((~b)*(~x)^2 + (~c)*(~x)^4)^(1⨸4)⨸(~x)^2, (~x)) : nothing) + +("1_2_2_3_2", +@rule ∫(((~d) + (~!e)*(~x)^2)*((~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~p), (~x)) && + !(ext_isinteger((~p))) && + !eq(4*(~p) + 3, 0) && + eq((~b)*(~e)*(2*(~p) + 1) - (~c)*(~d)*(4*(~p) + 3), 0) ? +(~e)*((~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸((~c)*(4*(~p) + 3)*(~x)) : nothing) + +("1_2_2_3_3", +@rule ∫(((~d) + (~!e)*(~x)^2)*((~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~p), (~x)) && + !(ext_isinteger((~p))) && + !eq(4*(~p) + 3, 0) && + !eq((~b)*(~e)*(2*(~p) + 1) - (~c)*(~d)*(4*(~p) + 3), 0) ? +(~e)*((~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸((~c)*(4*(~p) + 3)* (~x)) - (((~b)*(~e)*(2*(~p) + 1) - (~c)*(~d)*(4*(~p) + 3))⨸((~c)*(4*(~p) + 3)))* ∫(((~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)) : nothing) + +("1_2_2_3_4", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!q)*((~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~p), (~q), (~x)) && + !(ext_isinteger((~p))) ? +((~b)*(~x)^2 + (~c)*(~x)^4)^ fracpart((~p))⨸((~x)^(2*fracpart((~p)))*((~b) + (~c)*(~x)^2)^fracpart((~p)))* ∫((~x)^(2*(~p))*((~d) + (~e)*(~x)^2)^(~q)*((~b) + (~c)*(~x)^2)^(~p), (~x)) : nothing) + +#(* Int[(d_+e_.*x_^2)^q_.*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_Symbol] := 1/c^p*Int[(d+e*x^2)^q*(b/2+c*x^2)^(2*p),x] /; FreeQ[{a,b,c,d,e,p,q},x] && EqQ[b^2-4*a*c,0] && IntegerQ[p] *) +("1_2_2_3_5", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~q), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) ? +((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p)⨸((~d) + (~e)*(~x)^2)^(2*(~p))* ∫(((~d) + (~e)*(~x)^2)^((~q) + 2*(~p)), (~x)) : nothing) + +("1_2_2_3_6", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~q), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) ? +((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^ fracpart((~p))⨸((~c)^intpart((~p))*((~b)⨸2 + (~c)*(~x)^2)^(2*fracpart((~p))))* ∫(((~d) + (~e)*(~x)^2)^(~q)*((~b)⨸2 + (~c)*(~x)^2)^(2*(~p)), (~x)) : nothing) + +("1_2_2_3_7", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~q), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger((~p)) ? +∫(((~d) + (~e)*(~x)^2)^((~p) + (~q))*((~a)⨸(~d) + (~c)⨸(~e)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_2_3_8", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~q), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ext_isinteger((~p)) ? +∫(((~d) + (~e)*(~x)^2)^((~p) + (~q))*((~a)⨸(~d) + (~c)⨸(~e)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_2_3_9", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~q), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) ? +((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^ fracpart( (~p))⨸(((~d) + (~e)*(~x)^2)^fracpart((~p))*((~a)⨸(~d) + (~c)*(~x)^2⨸(~e))^fracpart((~p)))* ∫(((~d) + (~e)*(~x)^2)^((~p) + (~q))*((~a)⨸(~d) + (~c)⨸(~e)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_2_3_10", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~p), (~q), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) ? +((~a) + (~c)*(~x)^4)^ fracpart( (~p))⨸(((~d) + (~e)*(~x)^2)^fracpart((~p))*((~a)⨸(~d) + (~c)*(~x)^2⨸(~e))^fracpart((~p)))* ∫(((~d) + (~e)*(~x)^2)^((~p) + (~q))*((~a)⨸(~d) + (~c)⨸(~e)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_2_3_11", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + igt((~p), 0) && + igt((~q), -2) ? +∫(ext_expand(((~d) + (~e)*(~x)^2)^(~q)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)), (~x)) : nothing) + +("1_2_2_3_12", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + igt((~p), 0) && + igt((~q), -2) ? +∫(ext_expand(((~d) + (~e)*(~x)^2)^(~q)*((~a) + (~c)*(~x)^4)^(~p), (~x)), (~x)) : nothing) + +("1_2_2_3_13", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + igt((~p), 0) && + ilt((~q) + 1/2, 0) && + lt(4*(~p) + 2*(~q) + 1, 0) ? +(~a)^(~p)*(~x)*((~d) + (~e)*(~x)^2)^((~q) + 1)⨸(~d) + 1⨸(~d)* ∫((~x)^2*((~d) + (~e)*(~x)^2)^ (~q)*((~d)*poly_quotient(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p) - (~a)^(~p), (~x)^2, (~x)) - (~e)*(~a)^(~p)*(2*(~q) + 3)), (~x)) : nothing) + +("1_2_2_3_14", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + igt((~p), 0) && + ilt((~q) + 1/2, 0) && + lt(4*(~p) + 2*(~q) + 1, 0) ? +(~a)^(~p)*(~x)*((~d) + (~e)*(~x)^2)^((~q) + 1)⨸(~d) + 1⨸(~d)* ∫((~x)^2*((~d) + (~e)*(~x)^2)^ (~q)*((~d)*poly_quotient(((~a) + (~c)*(~x)^4)^(~p) - (~a)^(~p), (~x)^2, (~x)) - (~e)*(~a)^(~p)*(2*(~q) + 3)), (~x)) : nothing) + +("1_2_2_3_15", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + igt((~p), 0) && + lt((~q), -1) ? +-ext_coeff( poly_remainder(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~d) + (~e)*(~x)^2, (~x)), (~x), 0)*(~x)*((~d) + (~e)*(~x)^2)^((~q) + 1)⨸(2*(~d)*((~q) + 1)) + 1⨸(2*(~d)*((~q) + 1))* ∫(((~d) + (~e)*(~x)^2)^((~q) + 1)* expand_to_sum(2*(~d)*((~q) + 1)*poly_quotient(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~d) + (~e)*(~x)^2, (~x)) + ext_coeff( poly_remainder(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~d) + (~e)*(~x)^2, (~x)), (~x), 0)*(2*(~q) + 3), (~x)), (~x)) : nothing) + +("1_2_2_3_16", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + igt((~p), 0) && + lt((~q), -1) ? +-ext_coeff(poly_remainder(((~a) + (~c)*(~x)^4)^(~p), (~d) + (~e)*(~x)^2, (~x)), (~x), 0)*(~x)*((~d) + (~e)*(~x)^2)^((~q) + 1)⨸(2*(~d)*((~q) + 1)) + 1⨸(2*(~d)*((~q) + 1))* ∫(((~d) + (~e)*(~x)^2)^((~q) + 1)* expand_to_sum(2*(~d)*((~q) + 1)*poly_quotient(((~a) + (~c)*(~x)^4)^(~p), (~d) + (~e)*(~x)^2, (~x)) + ext_coeff(poly_remainder(((~a) + (~c)*(~x)^4)^(~p), (~d) + (~e)*(~x)^2, (~x)), (~x), 0)*(2*(~q) + 3), (~x)), (~x)) : nothing) + +("1_2_2_3_17", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~q), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + igt((~p), 0) && + !(lt((~q), -1)) ? +(~c)^(~p)*(~x)^(4*(~p) - 1)*((~d) + (~e)*(~x)^2)^((~q) + 1)⨸((~e)*(4*(~p) + 2*(~q) + 1)) + 1⨸((~e)*(4*(~p) + 2*(~q) + 1))* ∫(((~d) + (~e)*(~x)^2)^(~q)* expand_to_sum( (~e)*(4*(~p) + 2*(~q) + 1)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p) - (~d)*(~c)^(~p)*(4*(~p) - 1)*(~x)^(4*(~p) - 2) - (~e)*(~c)^(~p)*(4*(~p) + 2*(~q) + 1)*(~x)^(4*(~p)), (~x)), (~x)) : nothing) + +("1_2_2_3_18", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~q), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + igt((~p), 0) && + !(lt((~q), -1)) ? +(~c)^(~p)*(~x)^(4*(~p) - 1)*((~d) + (~e)*(~x)^2)^((~q) + 1)⨸((~e)*(4*(~p) + 2*(~q) + 1)) + 1⨸((~e)*(4*(~p) + 2*(~q) + 1))* ∫(((~d) + (~e)*(~x)^2)^(~q)* expand_to_sum( (~e)*(4*(~p) + 2*(~q) + 1)*((~a) + (~c)*(~x)^4)^(~p) - (~d)*(~c)^(~p)*(4*(~p) - 1)*(~x)^(4*(~p) - 2) - (~e)*(~c)^(~p)*(4*(~p) + 2*(~q) + 1)*(~x)^(4*(~p)), (~x)), (~x)) : nothing) + +("1_2_2_3_19", +@rule ∫(((~d) + (~!e)*(~x)^2)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) && + ( + gt(2*(~d)/(~e) - (~b)/(~c), 0) || + !(lt(2*(~d)/(~e) - (~b)/(~c), 0)) && + eq((~d) - (~e)*rt((~a)/(~c), 2), 0) + ) ? +(~e)⨸(2*(~c))*∫(1⨸simp((~d)⨸(~e) + rt(2*(~d)⨸(~e) - (~b)⨸(~c), 2)*(~x) + (~x)^2, (~x)), (~x)) + (~e)⨸(2*(~c))*∫(1⨸simp((~d)⨸(~e) - rt(2*(~d)⨸(~e) - (~b)⨸(~c), 2)*(~x) + (~x)^2, (~x)), (~x)) : nothing) + +("1_2_2_3_20", +@rule ∫(((~d) + (~!e)*(~x)^2)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) && + pos((~d)*(~e)) ? +(~e)⨸(2*(~c))*∫(1⨸simp((~d)⨸(~e) + rt(2*(~d)⨸(~e), 2)*(~x) + (~x)^2, (~x)), (~x)) + (~e)⨸(2*(~c))*∫(1⨸simp((~d)⨸(~e) - rt(2*(~d)⨸(~e), 2)*(~x) + (~x)^2, (~x)), (~x)) : nothing) + +("1_2_2_3_21", +@rule ∫(((~d) + (~!e)*(~x)^2)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) && + gt((~b)^2 - 4*(~a)*(~c), 0) ? +((~e)⨸2 + (2*(~c)*(~d) - (~b)*(~e))⨸(2*rt((~b)^2 - 4*(~a)*(~c), 2)))* ∫(1⨸((~b)⨸2 - rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x)^2), (~x)) + ((~e)⨸2 - (2*(~c)*(~d) - (~b)*(~e))⨸(2*rt((~b)^2 - 4*(~a)*(~c), 2)))* ∫(1⨸((~b)⨸2 + rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_2_3_22", +@rule ∫(((~d) + (~!e)*(~x)^2)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) && + !(gt((~b)^2 - 4*(~a)*(~c), 0)) ? +(~e)⨸(2*(~c)*rt(-2*(~d)⨸(~e) - (~b)⨸(~c), 2))*∫((rt(-2*(~d)⨸(~e) - (~b)⨸(~c), 2) - 2*(~x))⨸simp((~d)⨸(~e) + rt(-2*(~d)⨸(~e) - (~b)⨸(~c), 2)*(~x) - (~x)^2, (~x)), (~x)) + (~e)⨸(2*(~c)*rt(-2*(~d)⨸(~e) - (~b)⨸(~c), 2))*∫((rt(-2*(~d)⨸(~e) - (~b)⨸(~c), 2) + 2*(~x))⨸simp((~d)⨸(~e) - rt(-2*(~d)⨸(~e) - (~b)⨸(~c), 2)*(~x) - (~x)^2, (~x)), (~x)) : nothing) + +("1_2_2_3_23", +@rule ∫(((~d) + (~!e)*(~x)^2)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) && + neg((~d)*(~e)) ? +(~e)⨸(2*(~c)*rt(-2*(~d)⨸(~e), 2))*∫((rt(-2*(~d)⨸(~e), 2) - 2*(~x))⨸simp((~d)⨸(~e) + rt(-2*(~d)⨸(~e), 2)*(~x) - (~x)^2, (~x)), (~x)) + (~e)⨸(2*(~c)*rt(-2*(~d)⨸(~e), 2))*∫((rt(-2*(~d)⨸(~e), 2) + 2*(~x))⨸simp((~d)⨸(~e) - rt(-2*(~d)⨸(~e), 2)*(~x) - (~x)^2, (~x)), (~x)) : nothing) + +("1_2_2_3_24", +@rule ∫(((~d) + (~!e)*(~x)^2)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) && + pos((~b)^2 - 4*(~a)*(~c)) ? +((~e)⨸2 + (2*(~c)*(~d) - (~b)*(~e))⨸(2*rt((~b)^2 - 4*(~a)*(~c), 2)))* ∫(1⨸((~b)⨸2 - rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x)^2), (~x)) + ((~e)⨸2 - (2*(~c)*(~d) - (~b)*(~e))⨸(2*rt((~b)^2 - 4*(~a)*(~c), 2)))* ∫(1⨸((~b)⨸2 + rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_2_3_25", +@rule ∫(((~d) + (~!e)*(~x)^2)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) && + pos(-(~a)*(~c)) ? +((~e)⨸2 + (~c)*(~d)⨸(2*rt(-(~a)*(~c), 2)))*∫(1⨸(-rt(-(~a)*(~c), 2) + (~c)*(~x)^2), (~x)) + ((~e)⨸2 - (~c)*(~d)⨸(2*rt(-(~a)*(~c), 2)))* ∫(1⨸(rt(-(~a)*(~c), 2) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_2_3_26", +@rule ∫(((~d) + (~!e)*(~x)^2)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) && + neg(-(~a)*(~c)) ? +((~d)*rt((~a)*(~c), 2) + (~a)*(~e))⨸(2*(~a)*(~c))* ∫((rt((~a)*(~c), 2) + (~c)*(~x)^2)⨸((~a) + (~c)*(~x)^4), (~x)) + ((~d)*rt((~a)*(~c), 2) - (~a)*(~e))⨸(2*(~a)*(~c))* ∫((rt((~a)*(~c), 2) - (~c)*(~x)^2)⨸((~a) + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_3_27", +@rule ∫(((~d) + (~!e)*(~x)^2)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + neg((~b)^2 - 4*(~a)*(~c)) ? +1⨸(2*(~c)*rt((~a)⨸(~c), 2)*rt(2*(~q) - (~b)⨸(~c), 2))*∫(((~d)*rt(2*(~q) - (~b)⨸(~c), 2) - ((~d) - (~e)*rt((~a)⨸(~c), 2))*(~x))⨸(rt((~a)⨸(~c), 2) - rt(2*(~q) - (~b)⨸(~c), 2)*(~x) + (~x)^2), (~x)) + 1⨸(2*(~c)*rt((~a)⨸(~c), 2)*rt(2*(~q) - (~b)⨸(~c), 2))*∫(((~d)*rt(2*(~q) - (~b)⨸(~c), 2) + ((~d) - (~e)*rt((~a)⨸(~c), 2))*(~x))⨸(rt((~a)⨸(~c), 2) + rt(2*(~q) - (~b)⨸(~c), 2)*(~x) + (~x)^2), (~x)) : nothing) + +("1_2_2_3_28", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger((~q)) ? +∫(ext_expand(((~d) + (~e)*(~x)^2)^(~q)⨸((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)), (~x)) : nothing) + +("1_2_2_3_29", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ext_isinteger((~q)) ? +∫(ext_expand(((~d) + (~e)*(~x)^2)^(~q)⨸((~a) + (~c)*(~x)^4), (~x)), (~x)) : nothing) + +("1_2_2_3_30", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~q))) && + lt((~q), -1) ? +(~e)^2⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)*∫(((~d) + (~e)*(~x)^2)^(~q), (~x)) + 1⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* ∫(((~d) + (~e)*(~x)^2)^((~q) + 1)*((~c)*(~d) - (~b)*(~e) - (~c)*(~e)*(~x)^2)⨸((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_3_31", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~q))) && + lt((~q), -1) ? +(~e)^2⨸((~c)*(~d)^2 + (~a)*(~e)^2)*∫(((~d) + (~e)*(~x)^2)^(~q), (~x)) + (~c)⨸((~c)*(~d)^2 + (~a)*(~e)^2)* ∫(((~d) + (~e)*(~x)^2)^((~q) + 1)*((~d) - (~e)*(~x)^2)⨸((~a) + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_3_32", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~q), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~q))) ? +2*(~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(((~d) + (~e)*(~x)^2)^(~q)⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2), (~x)) - 2*(~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(((~d) + (~e)*(~x)^2)^(~q)⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2), (~x)) : nothing) + +("1_2_2_3_33", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~q), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~q))) ? +-(~c)⨸(2*rt(-(~a)*(~c), 2))*∫(((~d) + (~e)*(~x)^2)^(~q)⨸(rt(-(~a)*(~c), 2) - (~c)*(~x)^2), (~x)) - (~c)⨸(2*rt(-(~a)*(~c), 2))*∫(((~d) + (~e)*(~x)^2)^(~q)⨸(rt(-(~a)*(~c), 2) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_2_3_34", +@rule ∫(((~d) + (~!e)*(~x)^2)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + gt((~p), 0) && + isfraction((~p)) && + ext_isinteger(2*(~p)) ? +(~x)*(2*(~b)*(~e)*(~p) + (~c)*(~d)*(4*(~p) + 3) + (~c)*(~e)*(4*(~p) + 1)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^ (~p)⨸((~c)*(4*(~p) + 1)*(4*(~p) + 3)) + 2*(~p)⨸((~c)*(4*(~p) + 1)*(4*(~p) + 3))* ∫(simp( 2*(~a)*(~c)*(~d)*(4*(~p) + 3) - (~a)*(~b)*(~e) + (2*(~a)*(~c)*(~e)*(4*(~p) + 1) + (~b)*(~c)*(~d)*(4*(~p) + 3) - (~b)^2*(~e)*(2*(~p) + 1))*(~x)^2, (~x))* ((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) - 1), (~x)) : nothing) + +("1_2_2_3_35", +@rule ∫(((~d) + (~!e)*(~x)^2)*((~a) + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + gt((~p), 0) && + isfraction((~p)) && + ext_isinteger(2*(~p)) ? +(~x)*((~d)*(4*(~p) + 3) + (~e)*(4*(~p) + 1)*(~x)^2)*((~a) + (~c)*(~x)^4)^ (~p)⨸((4*(~p) + 1)*(4*(~p) + 3)) + 2*(~p)⨸((4*(~p) + 1)*(4*(~p) + 3))* ∫(simp(2*(~a)*(~d)*(4*(~p) + 3) + (2*(~a)*(~e)*(4*(~p) + 1))*(~x)^2, (~x))*((~a) + (~c)*(~x)^4)^((~p) - 1), (~x)) : nothing) + +("1_2_2_3_36", +@rule ∫(((~d) + (~!e)*(~x)^2)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + lt((~p), -1) && + ext_isinteger(2*(~p)) ? +(~x)*((~a)*(~b)*(~e) - (~d)*((~b)^2 - 2*(~a)*(~c)) - (~c)*((~b)*(~d) - 2*(~a)*(~e))*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸(2* (~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) + 1⨸(2*(~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(simp((2*(~p) + 3)*(~d)*(~b)^2 - (~a)*(~b)*(~e) - 2*(~a)*(~c)*(~d)*(4*(~p) + 5) + (4*(~p) + 7)*((~d)*(~b) - 2*(~a)*(~e))*(~c)*(~x)^2, (~x))* ((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1), (~x)) : nothing) + +("1_2_2_3_37", +@rule ∫(((~d) + (~!e)*(~x)^2)*((~a) + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + lt((~p), -1) && + ext_isinteger(2*(~p)) ? +-(~x)*((~d) + (~e)*(~x)^2)*((~a) + (~c)*(~x)^4)^((~p) + 1)⨸(4*(~a)*((~p) + 1)) + 1⨸(4*(~a)*((~p) + 1))* ∫(simp((~d)*(4*(~p) + 5) + (~e)*(4*(~p) + 7)*(~x)^2, (~x))*((~a) + (~c)*(~x)^4)^((~p) + 1), (~x)) : nothing) + +("1_2_2_3_38", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + lt((~c), 0) ? +2*sqrt(-(~c))* ∫(((~d) + (~e)*(~x)^2)⨸(sqrt((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2)*sqrt(-(~b) + rt((~b)^2 - 4*(~a)*(~c), 2) - 2*(~c)*(~x)^2)), (~x)) : nothing) + +("1_2_2_3_39", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + gt((~a), 0) && + lt((~c), 0) ? +sqrt(-(~c))*∫(((~d) + (~e)*(~x)^2)⨸(sqrt(rt(-(~a)*(~c), 2) + (~c)*(~x)^2)*sqrt(rt(-(~a)*(~c), 2) - (~c)*(~x)^2)), (~x)) : nothing) + +("1_2_2_3_40", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + gt((~c)/(~a), 0) && + lt((~b)/(~a), 0) && + eq((~e) + (~d)*rt((~c)/(~a), 4)^2, 0) ? +-(~d)*(~x)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)⨸((~a)*(1 + rt((~c)⨸(~a), 4)^2*(~x)^2)) + (~d)*(1 + rt((~c)⨸(~a), 4)^2*(~x)^2)* sqrt(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)⨸((~a)*(1 + rt((~c)⨸(~a), 4)^2*(~x)^2)^2))⨸(rt((~c)⨸(~a), 4)* sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* elliptic_e(2*atan(rt((~c)⨸(~a), 4)*(~x)), 1⨸2 - (~b)*rt((~c)⨸(~a), 4)^2⨸(4*(~c))) : nothing) + +("1_2_2_3_41", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + gt((~c)/(~a), 0) && + lt((~b)/(~a), 0) && + !eq((~e) + (~d)*rt((~c)/(~a), 2), 0) ? +((~e) + (~d)*rt((~c)⨸(~a), 2))⨸rt((~c)⨸(~a), 2)*∫(1⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) - (~e)⨸rt((~c)⨸(~a), 2)*∫((1 - rt((~c)⨸(~a), 2)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_3_42", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + lt((~a), 0) && + gt((~c), 0) && + eq(2*(~c)*(~d) - (~e)*((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)), 0) ? +(~e)*(~x)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2)⨸(2*(~c)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)) - (~e)*rt((~b)^2 - 4*(~a)*(~c), 2)*sqrt((2*(~a) + ((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)⨸(2*(~a) + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2))* sqrt((2*(~a) + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)⨸rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~c)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)* sqrt((~a)⨸(2*(~a) + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)))* elliptic_e( asin((~x)⨸sqrt((2*(~a) + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2)⨸(2*rt((~b)^2 - 4*(~a)*(~c), 2)))), ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*rt((~b)^2 - 4*(~a)*(~c), 2))) : nothing) + +("1_2_2_3_43", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + lt((~a), 0) && + gt((~c), 0) && + eq((~c)*(~d) + (~e)*rt(-(~a)*(~c), 2), 0) && + ext_isinteger(rt(-(~a)*(~c), 2)) ? +(~e)*(~x)*(rt(-(~a)*(~c), 2) + (~c)*(~x)^2)⨸((~c)*sqrt((~a) + (~c)*(~x)^4)) - sqrt(2)*(~e)*rt(-(~a)*(~c), 2)*sqrt(-(~a) + rt(-(~a)*(~c), 2)*(~x)^2)* sqrt(((~a) + rt(-(~a)*(~c), 2)*(~x)^2)⨸rt(-(~a)*(~c), 2))⨸(sqrt(-(~a))*(~c)*sqrt((~a) + (~c)*(~x)^4))* elliptic_e(asin((~x)⨸sqrt(((~a) + rt(-(~a)*(~c), 2)*(~x)^2)⨸(2*rt(-(~a)*(~c), 2)))), 1⨸2) : nothing) + +("1_2_2_3_44", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + lt((~a), 0) && + gt((~c), 0) && + eq((~c)*(~d) + (~e)*rt(-(~a)*(~c), 2), 0) ? +(~e)*(~x)*(rt(-(~a)*(~c), 2) + (~c)*(~x)^2)⨸((~c)*sqrt((~a) + (~c)*(~x)^4)) - sqrt(2)*(~e)*rt(-(~a)*(~c), 2)*sqrt(((~a) - rt(-(~a)*(~c), 2)*(~x)^2)⨸((~a) + rt(-(~a)*(~c), 2)*(~x)^2))* sqrt(((~a) + rt(-(~a)*(~c), 2)*(~x)^2)⨸rt(-(~a)*(~c), 2))⨸((~c)*sqrt((~a) + (~c)*(~x)^4)*sqrt((~a)⨸((~a) + rt(-(~a)*(~c), 2)*(~x)^2)))* elliptic_e(asin((~x)⨸sqrt(((~a) + rt(-(~a)*(~c), 2)*(~x)^2)⨸(2*rt(-(~a)*(~c), 2)))), 1⨸2) : nothing) + +("1_2_2_3_45", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + lt((~a), 0) && + gt((~c), 0) && + !eq(2*(~c)*(~d) - (~e)*((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)), 0) ? +(2*(~c)*(~d) - (~e)*((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)))⨸(2*(~c))*∫(1⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) + (~e)⨸(2*(~c))*∫(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_3_46", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + lt((~a), 0) && + gt((~c), 0) && + !eq((~c)*(~d) + (~e)*rt(-(~a)*(~c), 2), 0) ? +((~c)*(~d) + (~e)*rt(-(~a)*(~c), 2))⨸(~c)*∫(1⨸sqrt((~a) + (~c)*(~x)^4), (~x)) - (~e)⨸(~c)*∫((rt(-(~a)*(~c), 2) - (~c)*(~x)^2)⨸sqrt((~a) + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_3_47", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + pos(((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) || + pos(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) ? +(~d)*∫(1⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) + (~e)*∫((~x)^2⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_3_48", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + gt(-(~a)*(~c), 0) ? +(~d)*∫(1⨸sqrt((~a) + (~c)*(~x)^4), (~x)) + (~e)*∫((~x)^2⨸sqrt((~a) + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_3_49", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + neg(((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) && + eq(2*(~c)*(~d) - (~e)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)), 0) && + !(simpler(rt(-((~b) - rt((~b)^2 - 4*(~a)*(~c),2),rt( 2))/(2*(~a)), -((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))/(2*(~a)),2))) ? +-(~a)*(~e)*rt(-((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~a)), 2)*sqrt(1 + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2⨸(2*(~a)))* sqrt(1 + ((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2⨸(2*(~a)))⨸((~c)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* elliptic_e(asin(rt(-((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~a)), 2)*(~x)), ((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))) : nothing) + +("1_2_2_3_50", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + neg(((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) && + !eq(2*(~c)*(~d) - (~e)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)), 0) && + !(simpler(rt(-((~b) - rt((~b)^2 - 4*(~a)*(~c),2),rt( 2))/(2*(~a)), -((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))/(2*(~a)),2))) ? +(2*(~c)*(~d) - (~e)*((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))⨸(2*(~c))*∫(1⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) + (~e)⨸(2*(~c))*∫(((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_3_51", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + neg(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) && + eq(2*(~c)*(~d) - (~e)*((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)), 0) ? +-(~a)*(~e)*rt(-((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~a)), 2)*sqrt(1 + ((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2⨸(2*(~a)))* sqrt(1 + ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))*(~x)^2⨸(2*(~a)))⨸((~c)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* elliptic_e(asin(rt(-((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))⨸(2*(~a)), 2)*(~x)), ((~b) + rt((~b)^2 - 4*(~a)*(~c), 2))⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))) : nothing) + +("1_2_2_3_52", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + neg(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2))/(~a)) && + !eq(2*(~c)*(~d) - (~e)*((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)), 0) ? +(2*(~c)*(~d) - (~e)*((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)))⨸(2*(~c))*∫(1⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) + (~e)⨸(2*(~c))*∫(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_3_53", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + pos((~c)/(~a)) && + eq((~e) + (~d)*rt((~c)/(~a), 4)^2, 0) ? +-(~d)*(~x)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)⨸((~a)*(1 + rt((~c)⨸(~a), 4)^2*(~x)^2)) + (~d)*(1 + rt((~c)⨸(~a), 4)^2*(~x)^2)* sqrt(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)⨸((~a)*(1 + rt((~c)⨸(~a), 4)^2*(~x)^2)^2))⨸(rt((~c)⨸(~a), 4)* sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* elliptic_e(2*atan(rt((~c)⨸(~a), 4)*(~x)), 1⨸2 - (~b)*rt((~c)⨸(~a), 4)^2⨸(4*(~c))) : nothing) + +("1_2_2_3_54", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + pos((~c)/(~a)) && + eq((~e) + (~d)*rt((~c)/(~a), 4)^2, 0) ? +-(~d)*(~x)*sqrt((~a) + (~c)*(~x)^4)⨸((~a)*(1 + rt((~c)⨸(~a), 4)^2*(~x)^2)) + (~d)*(1 + rt((~c)⨸(~a), 4)^2*(~x)^2)* sqrt(((~a) + (~c)*(~x)^4)⨸((~a)*(1 + rt((~c)⨸(~a), 4)^2*(~x)^2)^2))⨸(rt((~c)⨸(~a), 4)*sqrt((~a) + (~c)*(~x)^4))* elliptic_e(2*atan(rt((~c)⨸(~a), 4)*(~x)), 1⨸2) : nothing) + +("1_2_2_3_55", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + pos((~c)/(~a)) && + !eq((~e) + (~d)*rt((~c)/(~a), 2), 0) ? +((~e) + (~d)*rt((~c)⨸(~a), 2))⨸rt((~c)⨸(~a), 2)*∫(1⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) - (~e)⨸rt((~c)⨸(~a), 2)*∫((1 - rt((~c)⨸(~a), 2)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_3_56", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + pos((~c)/(~a)) && + !eq((~e) + (~d)*rt((~c)/(~a), 2), 0) ? +((~e) + (~d)*rt((~c)⨸(~a), 2))⨸rt((~c)⨸(~a), 2)*∫(1⨸sqrt((~a) + (~c)*(~x)^4), (~x)) - (~e)⨸rt((~c)⨸(~a), 2)*∫((1 - rt((~c)⨸(~a), 2)*(~x)^2)⨸sqrt((~a) + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_3_57", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + neg((~c)/(~a)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + gt((~a), 0) ? +(~d)⨸sqrt((~a))*∫(sqrt(1 + (~e)*(~x)^2⨸(~d))⨸sqrt(1 - (~e)*(~x)^2⨸(~d)), (~x)) : nothing) + +("1_2_2_3_58", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + neg((~c)/(~a)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(gt((~a), 0)) ? +sqrt(1 + (~c)*(~x)^4⨸(~a))⨸sqrt((~a) + (~c)*(~x)^4)* ∫(((~d) + (~e)*(~x)^2)⨸sqrt(1 + (~c)*(~x)^4⨸(~a)), (~x)) : nothing) + +("1_2_2_3_59", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + neg((~c)/(~a)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +((~d)*rt(-(~c)⨸(~a), 2) - (~e))⨸rt(-(~c)⨸(~a), 2)*∫(1⨸sqrt((~a) + (~c)*(~x)^4), (~x)) + (~e)⨸rt(-(~c)⨸(~a), 2)*∫((1 + rt(-(~c)⨸(~a), 2)*(~x)^2)⨸sqrt((~a) + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_3_60", +@rule ∫(((~d) + (~!e)*(~x)^2)/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + neg((~c)/(~a)) ? +sqrt(1 + 2*(~c)*(~x)^2⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)))* sqrt(1 + 2*(~c)*(~x)^2⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)* ∫(((~d) + (~e)*(~x)^2)⨸(sqrt(1 + 2*(~c)*(~x)^2⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)))* sqrt(1 + 2*(~c)*(~x)^2⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))), (~x)) : nothing) + +("1_2_2_3_61", +@rule ∫(((~d) + (~!e)*(~x)^2)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) ? +∫(ext_expand(((~d) + (~e)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)), (~x)) : nothing) + +("1_2_2_3_62", +@rule ∫(((~d) + (~!e)*(~x)^2)*((~a) + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +∫(ext_expand(((~d) + (~e)*(~x)^2)*((~a) + (~c)*(~x)^4)^(~p), (~x)), (~x)) : nothing) + +#(* Int[(d_+e_.*x_^2)^2/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] := e^2*x*Sqrt[a+b*x^2+c*x^4]/(3*c) + 2*(3*c*d-b*e)/(3*c)*Int[(d+e*x^2)/Sqrt[a+b*x^2+c*x^4],x] - (3*c*d^2-2*b*d*e+a*e^2)/(3*c)*Int[1/Sqrt[a+b*x^2+c*x^4],x] /; FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && NeQ[c*d^2-b*d*e+a*e^2,0] *) +#(* Int[(d_+e_.*x_^2)^2/Sqrt[a_+c_.*x_^4],x_Symbol] := e^2*x*Sqrt[a+c*x^4]/(3*c) + 2*d*Int[(d+e*x^2)/Sqrt[a+c*x^4],x] - (3*c*d^2+a*e^2)/(3*c)*Int[1/Sqrt[a+c*x^4],x] /; FreeQ[{a,c,d,e},x] && NeQ[c*d^2+a*e^2,0] *) +#(* Int[(d_+e_.*x_^2)^q_/Sqrt[a_+b_.*x_^2+c_.*x_^4],x_Symbol] := e^2*x*(d+e*x^2)^(q-2)*Sqrt[a+b*x^2+c*x^4]/(c*(2*q-1)) + 2*(q-1)*(3*c*d-b*e)/(c*(2*q-1))*Int[(d+e*x^2)^(q-1)/Sqrt[a+b*x^2+c* x^4],x] - (2*q-3)*(3*c*d^2-2*b*d*e+a*e^2)/(c*(2*q-1))*Int[(d+e*x^2)^(q-2)/ Sqrt[a+b*x^2+c*x^4],x] + 2*d*(q-2)*(c*d^2-b*d*e+a*e^2)/(c*(2*q-1))*Int[(d+e*x^2)^(q-3)/Sqrt[ a+b*x^2+c*x^4],x] /; FreeQ[{a,b,c,d,e},x] && NeQ[b^2-4*a*c,0] && IGtQ[q,2] *) +#(* Int[(d_+e_.*x_^2)^q_/Sqrt[a_+c_.*x_^4],x_Symbol] := e^2*x*(d+e*x^2)^(q-2)*Sqrt[a+c*x^4]/(c*(2*q-1)) + 6*d*(q-1)/(2*q-1)*Int[(d+e*x^2)^(q-1)/Sqrt[a+c*x^4],x] - (2*q-3)*(3*c*d^2+a*e^2)/(c*(2*q-1))*Int[(d+e*x^2)^(q-2)/Sqrt[a+c*x^ 4],x] + 2*d*(q-2)*(c*d^2+a*e^2)/(c*(2*q-1))*Int[(d+e*x^2)^(q-3)/Sqrt[a+c*x^ 4],x] /; FreeQ[{a,c,d,e},x] && IGtQ[q,2] *) +("1_2_2_3_63", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + igt((~q), 1) && + lt((~p), -1) ? +(~x)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)*((~a)*(~b)*ext_coeff( poly_remainder(((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 2) - ext_coeff(poly_remainder(((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 0)*((~b)^2 - 2*(~a)*(~c)) - (~c)*((~b)*ext_coeff(poly_remainder(((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 0) - 2*(~a)*ext_coeff( poly_remainder(((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 2))*(~x)^2)⨸(2*(~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) + 1⨸(2*(~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))*∫(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)* expand_to_sum( 2*(~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))* poly_quotient(((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)) + (~b)^2*ext_coeff(poly_remainder(((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 0)*(2*(~p) + 3) - 2*(~a)*(~c)*ext_coeff(poly_remainder(((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 0)*(4*(~p) + 5) - (~a)*(~b)*ext_coeff( poly_remainder(((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 2) + (~c)*(4*(~p) + 7)*((~b)*ext_coeff(poly_remainder(((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 0) - 2*(~a)*ext_coeff( poly_remainder(((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 2))*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_2_3_64", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + igt((~q), 1) ? +(~e)^(~q)*(~x)^(2*(~q) - 3)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸((~c)*(4*(~p) + 2*(~q) + 1)) + 1⨸((~c)*(4*(~p) + 2*(~q) + 1))*∫(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p)* expand_to_sum( (~c)*(4*(~p) + 2*(~q) + 1)*((~d) + (~e)*(~x)^2)^(~q) - (~a)*(2*(~q) - 3)*(~e)^(~q)*(~x)^(2*(~q) - 4) - (~b)*(2*(~p) + 2*(~q) - 1)*(~e)^(~q)*(~x)^(2*(~q) - 2) - (~c)*(4*(~p) + 2*(~q) + 1)*(~e)^(~q)*(~x)^(2*(~q)), (~x)), (~x)) : nothing) + +("1_2_2_3_65", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + igt((~q), 1) ? +(~e)^(~q)*(~x)^(2*(~q) - 3)*((~a) + (~c)*(~x)^4)^((~p) + 1)⨸((~c)*(4*(~p) + 2*(~q) + 1)) + 1⨸((~c)*(4*(~p) + 2*(~q) + 1))*∫(((~a) + (~c)*(~x)^4)^(~p)* expand_to_sum( (~c)*(4*(~p) + 2*(~q) + 1)*((~d) + (~e)*(~x)^2)^(~q) - (~a)*(2*(~q) - 3)*(~e)^(~q)*(~x)^(2*(~q) - 4) - (~c)*(4*(~p) + 2*(~q) + 1)*(~e)^(~q)*(~x)^(2*(~q)), (~x)), (~x)) : nothing) + +("1_2_2_3_66", +@rule ∫(((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p)/((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + igt((~p) + 1/2, 0) ? +-1⨸(~e)^2* ∫(((~c)*(~d) - (~b)*(~e) - (~c)*(~e)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) - 1), (~x)) + ((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)⨸(~e)^2* ∫(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) - 1)⨸((~d) + (~e)*(~x)^2), (~x)) : nothing) + +("1_2_2_3_67", +@rule ∫(((~a) + (~!c)*(~x)^4)^(~p)/((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + igt((~p) + 1/2, 0) ? +-1⨸(~e)^2*∫(((~c)*(~d) - (~c)*(~e)*(~x)^2)*((~a) + (~c)*(~x)^4)^((~p) - 1), (~x)) + ((~c)*(~d)^2 + (~a)*(~e)^2)⨸(~e)^2*∫(((~a) + (~c)*(~x)^4)^((~p) - 1)⨸((~d) + (~e)*(~x)^2), (~x)) : nothing) + +("1_2_2_3_68", +@rule ∫(1/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) ? +1⨸(2*(~d))*∫(1⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) + 1⨸(2*(~d))*∫(((~d) - (~e)*(~x)^2)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)), (~x)) : nothing) + +("1_2_2_3_69", +@rule ∫(1/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) ? +1⨸(2*(~d))*∫(1⨸sqrt((~a) + (~c)*(~x)^4), (~x)) + 1⨸(2*(~d))*∫(((~d) - (~e)*(~x)^2)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~c)*(~x)^4)), (~x)) : nothing) + +("1_2_2_3_70", +@rule ∫(1/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + lt((~c), 0) ? +2*sqrt(-(~c))* ∫(1⨸(((~d) + (~e)*(~x)^2)*sqrt((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2)*sqrt(-(~b) + rt((~b)^2 - 4*(~a)*(~c), 2) - 2*(~c)*(~x)^2)), (~x)) : nothing) + +("1_2_2_3_71", +@rule ∫(1/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + gt((~a), 0) && + lt((~c), 0) ? +sqrt(-(~c))* ∫(1⨸(((~d) + (~e)*(~x)^2)*sqrt(rt(-(~a)*(~c), 2) + (~c)*(~x)^2)*sqrt(rt(-(~a)*(~c), 2) - (~c)*(~x)^2)), (~x)) : nothing) + +("1_2_2_3_72", +@rule ∫(1/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + gt((~b)^2 - 4*(~a)*(~c), 0) && + !(lt((~c), 0)) ? +2*(~c)⨸(2*(~c)*(~d) - (~e)*((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)))*∫(1⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) - (~e)⨸(2*(~c)*(~d) - (~e)*((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)))* ∫(((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)), (~x)) : nothing) + +("1_2_2_3_73", +@rule ∫(1/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + gt(-(~a)*(~c), 0) && + !(lt((~c), 0)) ? +(~c)⨸((~c)*(~d) + (~e)*rt(-(~a)*(~c), 2))*∫(1⨸sqrt((~a) + (~c)*(~x)^4), (~x)) + (~e)⨸((~c)*(~d) + (~e)*rt(-(~a)*(~c), 2))*∫((rt(-(~a)*(~c), 2) - (~c)*(~x)^2)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~c)*(~x)^4)), (~x)) : nothing) + +("1_2_2_3_74", +@rule ∫(1/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) && + pos((~c)/(~a)) ? +((~c)*(~d) + (~a)*(~e)*rt((~c)⨸(~a), 2))⨸((~c)*(~d)^2 - (~a)*(~e)^2)*∫(1⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) - ((~a)*(~e)*((~e) + (~d)*rt((~c)⨸(~a), 2)))⨸((~c)*(~d)^2 - (~a)*(~e)^2)* ∫((1 + rt((~c)⨸(~a), 2)*(~x)^2)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)), (~x)) : nothing) + +("1_2_2_3_75", +@rule ∫(1/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) && + pos((~c)/(~a)) ? +((~c)*(~d) + (~a)*(~e)*rt((~c)⨸(~a), 2))⨸((~c)*(~d)^2 - (~a)*(~e)^2)*∫(1⨸sqrt((~a) + (~c)*(~x)^4), (~x)) - ((~a)*(~e)*((~e) + (~d)*rt((~c)⨸(~a), 2)))⨸((~c)*(~d)^2 - (~a)*(~e)^2)* ∫((1 + rt((~c)⨸(~a), 2)*(~x)^2)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~c)*(~x)^4)), (~x)) : nothing) + +("1_2_2_3_76", +@rule ∫(1/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + neg((~c)/(~a)) && + gt((~a), 0) ? +1⨸((~d)*sqrt((~a))*rt(-(~c)⨸(~a), 4))*elliptic_pi(-(~e)⨸((~d)*rt(-(~c)⨸(~a), 4)^2), asin(rt(-(~c)⨸(~a), 4)*(~x)), -1) : nothing) + +("1_2_2_3_77", +@rule ∫(1/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + neg((~c)/(~a)) && + !(gt((~a), 0)) ? +sqrt(1 + (~c)*(~x)^4⨸(~a))⨸sqrt((~a) + (~c)*(~x)^4)* ∫(1⨸(((~d) + (~e)*(~x)^2)*sqrt(1 + (~c)*(~x)^4⨸(~a))), (~x)) : nothing) + +("1_2_2_3_78", +@rule ∫(1/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + neg((~c)/(~a)) ? +sqrt(1 + 2*(~c)*(~x)^2⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)))* sqrt(1 + 2*(~c)*(~x)^2⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)* ∫( 1⨸(((~d) + (~e)*(~x)^2)*sqrt(1 + 2*(~c)*(~x)^2⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)))* sqrt(1 + 2*(~c)*(~x)^2⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))), (~x)) : nothing) + +("1_2_2_3_79", +@rule ∫(((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p)/((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ilt((~p) + 1/2, 0) ? +1⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* ∫(((~c)*(~d) - (~b)*(~e) - (~c)*(~e)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)) + (~e)^2⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* ∫(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸((~d) + (~e)*(~x)^2), (~x)) : nothing) + +("1_2_2_3_80", +@rule ∫(((~a) + (~!c)*(~x)^4)^(~p)/((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ilt((~p) + 1/2, 0) ? +1⨸((~c)*(~d)^2 + (~a)*(~e)^2)*∫(((~c)*(~d) - (~c)*(~e)*(~x)^2)*((~a) + (~c)*(~x)^4)^(~p), (~x)) + (~e)^2⨸((~c)*(~d)^2 + (~a)*(~e)^2)*∫(((~a) + (~c)*(~x)^4)^((~p) + 1)⨸((~d) + (~e)*(~x)^2), (~x)) : nothing) + +("1_2_2_3_81", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)/sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ilt((~q), -1) ? +-(~e)^2*(~x)*((~d) + (~e)*(~x)^2)^((~q) + 1)* sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)⨸(2*(~d)*((~q) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)) + 1⨸(2*(~d)*((~q) + 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x)^2)^((~q) + 1)⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)* simp((~a)*(~e)^2*(2*(~q) + 3) + 2*(~d)*((~c)*(~d) - (~b)*(~e))*((~q) + 1) - 2*(~e)*((~c)*(~d)*((~q) + 1) - (~b)*(~e)*((~q) + 2))*(~x)^2 + (~c)*(~e)^2*(2*(~q) + 5)*(~x)^4, (~x)), (~x)) : nothing) + +("1_2_2_3_82", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)/sqrt((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + ilt((~q), -1) ? +-(~e)^2*(~x)*((~d) + (~e)*(~x)^2)^((~q) + 1)* sqrt((~a) + (~c)*(~x)^4)⨸(2*(~d)*((~q) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2)) + 1⨸(2*(~d)*((~q) + 1)*((~c)*(~d)^2 + (~a)*(~e)^2))* ∫(((~d) + (~e)*(~x)^2)^((~q) + 1)⨸sqrt((~a) + (~c)*(~x)^4)* simp((~a)*(~e)^2*(2*(~q) + 3) + 2*(~c)*(~d)^2*((~q) + 1) - 2*(~e)*(~c)*(~d)*((~q) + 1)*(~x)^2 + (~c)*(~e)^2*(2*(~q) + 5)*(~x)^4, (~x)), (~x)) : nothing) + +("1_2_2_3_83", +@rule ∫(sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)/((~d) + (~!e)*(~x)^2)^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) && + pos((~e)/(~d)) ? +(~c)*((~d) + (~e)*(~x)^2)* sqrt(((~e)^2*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))⨸((~c)*((~d) + (~e)*(~x)^2)^2))⨸(2*(~d)*(~e)^2*rt((~e)⨸(~d), 2)* sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* elliptic_e(2*atan(rt((~e)⨸(~d), 2)*(~x)), (2*(~c)*(~d) - (~b)*(~e))⨸(4*(~c)*(~d))) : nothing) + +("1_2_2_3_84", +@rule ∫(sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)/((~d) + (~!e)*(~x)^2)^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) ? +(~x)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)⨸(2*(~d)*((~d) + (~e)*(~x)^2)) + (~c)⨸(2*(~d)*(~e)^2)*∫(((~d) - (~e)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) - ((~c)*(~d)^2 - (~a)*(~e)^2)⨸(2*(~d)*(~e)^2)* ∫(1⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)), (~x)) : nothing) + +("1_2_2_3_85", +@rule ∫(sqrt((~a) + (~!c)*(~x)^4)/((~d) + (~!e)*(~x)^2)^2,(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +(~x)*sqrt((~a) + (~c)*(~x)^4)⨸(2*(~d)*((~d) + (~e)*(~x)^2)) + (~c)⨸(2*(~d)*(~e)^2)*∫(((~d) - (~e)*(~x)^2)⨸sqrt((~a) + (~c)*(~x)^4), (~x)) - ((~c)*(~d)^2 - (~a)*(~e)^2)⨸(2*(~d)*(~e)^2)* ∫(1⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~c)*(~x)^4)), (~x)) : nothing) + +# ("1_2_2_3_86", +# @rule ∫(((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && +# !eq((~b)^2 - 4*(~a)*(~c), 0) && +# !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && +# ilt((~q), 0) && +# ext_isinteger((~p) + 1/2) ? +# Module[{(~aa), (~bb), (~cc)}, ∫( ReplaceAll[ ext_expand( 1⨸sqrt((~aa) + (~bb)*(~x)^2 + (~cc)*(~x)^4), ((~d) + (~e)*(~x)^2)^ (~q)*((~aa) + (~bb)*(~x)^2 + (~cc)*(~x)^4)^((~p) + 1⨸2), (~x)), {(~aa) -> (~a), (~bb) -> (~b), (~cc) -> (~c)}], (~x))] : nothing) +# +# ("1_2_2_3_87", +# @rule ∫(((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!c)*(~x)^4)^(~p),(~x)) => +# !contains_var((~a), (~c), (~d), (~e), (~x)) && +# !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && +# ilt((~q), 0) && +# ext_isinteger((~p) + 1/2) ? +# Module[{(~aa), (~cc)}, ∫( ReplaceAll[ ext_expand( 1⨸sqrt((~aa) + (~cc)*(~x)^4), ((~d) + (~e)*(~x)^2)^(~q)*((~aa) + (~cc)*(~x)^4)^((~p) + 1⨸2), (~x)), {(~aa) -> (~a), (~cc) -> (~c)}], (~x))] : nothing) + +("1_2_2_3_88", +@rule ∫(1/(sqrt((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~c)*(~d) - (~b)*(~e), 0) && + gt((~a), 0) && + gt((~d), 0) ? +1⨸(2*sqrt((~a))*sqrt((~d))*rt(-(~e)⨸(~d), 2))* elliptic_f(2*asin(rt(-(~e)⨸(~d), 2)*(~x)), (~b)*(~d)⨸(4*(~a)*(~e))) : nothing) + +("1_2_2_3_89", +@rule ∫(1/(sqrt((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~c)*(~d) - (~b)*(~e), 0) && + !( + gt((~a), 0) && + gt((~d), 0) + ) ? +sqrt(((~d) + (~e)*(~x)^2)⨸(~d))* sqrt(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)⨸(~a))⨸(sqrt((~d) + (~e)*(~x)^2)* sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* ∫(1⨸(sqrt(1 + (~e)⨸(~d)*(~x)^2)*sqrt(1 + (~b)⨸(~a)*(~x)^2 + (~c)⨸(~a)*(~x)^4)), (~x)) : nothing) + +("1_2_2_3_90", +@rule ∫(1/(sqrt((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) ? +(~x)^3*sqrt((~e) + (~d)⨸(~x)^2)* sqrt((~c) + (~b)⨸(~x)^2 + (~a)⨸(~x)^4)⨸(sqrt((~d) + (~e)*(~x)^2)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* ∫(1⨸((~x)^3*sqrt((~e) + (~d)⨸(~x)^2)*sqrt((~c) + (~b)⨸(~x)^2 + (~a)⨸(~x)^4)), (~x)) : nothing) + +("1_2_2_3_91", +@rule ∫(1/(sqrt((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +(~x)^3*sqrt((~e) + (~d)⨸(~x)^2)* sqrt((~c) + (~a)⨸(~x)^4)⨸(sqrt((~d) + (~e)*(~x)^2)*sqrt((~a) + (~c)*(~x)^4))* ∫(1⨸((~x)^3*sqrt((~e) + (~d)⨸(~x)^2)*sqrt((~c) + (~a)⨸(~x)^4)), (~x)) : nothing) + +("1_2_2_3_92", +@rule ∫(sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)/sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~c)*(~d) - (~b)*(~e), 0) && + gt((~a), 0) && + gt((~d), 0) ? +sqrt((~a))⨸(2*sqrt((~d))*rt(-(~e)⨸(~d), 2))* elliptic_e(2*asin(rt(-(~e)⨸(~d), 2)*(~x)), (~b)*(~d)⨸(4*(~a)*(~e))) : nothing) + +("1_2_2_3_93", +@rule ∫(sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)/sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~c)*(~d) - (~b)*(~e), 0) && + !( + gt((~a), 0) && + gt((~d), 0) + ) ? +sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)* sqrt(((~d) + (~e)*(~x)^2)⨸(~d))⨸(sqrt((~d) + (~e)*(~x)^2)*sqrt(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)⨸(~a)))* ∫(sqrt(1 + (~b)⨸(~a)*(~x)^2 + (~c)⨸(~a)*(~x)^4)⨸sqrt(1 + (~e)⨸(~d)*(~x)^2), (~x)) : nothing) + +("1_2_2_3_94", +@rule ∫(sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)/sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) ? +sqrt((~e) + (~d)⨸(~x)^2)* sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)⨸((~x)*sqrt((~d) + (~e)*(~x)^2)*sqrt((~c) + (~b)⨸(~x)^2 + (~a)⨸(~x)^4))* ∫(((~x)*sqrt((~c) + (~b)⨸(~x)^2 + (~a)⨸(~x)^4))⨸sqrt((~e) + (~d)⨸(~x)^2), (~x)) : nothing) + +("1_2_2_3_95", +@rule ∫(sqrt((~a) + (~!c)*(~x)^4)/sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) ? +sqrt((~e) + (~d)⨸(~x)^2)*sqrt((~a) + (~c)*(~x)^4)⨸((~x)*sqrt((~d) + (~e)*(~x)^2)*sqrt((~c) + (~a)⨸(~x)^4))* ∫(((~x)*sqrt((~c) + (~a)⨸(~x)^4))⨸sqrt((~e) + (~d)⨸(~x)^2), (~x)) : nothing) + +("1_2_2_3_96", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~q), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ( + ext_isinteger((~p)) && + ext_isinteger((~q)) || + igt((~p), 0) || + igt((~q), 0) + ) ? +∫(ext_expand(((~d) + (~e)*(~x)^2)^(~q)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)), (~x)) : nothing) + +("1_2_2_3_97", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~p), (~q), (~x)) && + ( + ext_isinteger((~p)) && + ext_isinteger((~q)) || + igt((~p), 0) + ) ? +∫(ext_expand(((~d) + (~e)*(~x)^2)^(~q)*((~a) + (~c)*(~x)^4)^(~p), (~x)), (~x)) : nothing) + +("1_2_2_3_98", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~p), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) && + ilt((~q), 0) ? +∫(ext_expand(((~a) + (~c)*(~x)^4)^ (~p), ((~d)⨸((~d)^2 - (~e)^2*(~x)^4) - (~e)*(~x)^2⨸((~d)^2 - (~e)^2*(~x)^4))^(-(~q)), (~x)), (~x)) : nothing) + +# ("1_2_2_3_99", +# @rule ∫(((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~q), (~x)) ? +# Unintegrable[((~d) + (~e)*(~x)^2)^(~q)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)] : nothing) + +# ("1_2_2_3_100", +# @rule ∫(((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => +# !contains_var((~a), (~c), (~d), (~e), (~p), (~q), (~x)) ? +# Unintegrable[((~d) + (~e)*(~x)^2)^(~q)*((~a) + (~c)*(~x)^4)^(~p), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.4 (f x)^m (d+e x^2)^q (a+b x^2+c x^4)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.4 (f x)^m (d+e x^2)^q (a+b x^2+c x^4)^p.jl new file mode 100644 index 0000000..9ea6a4e --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.4 (f x)^m (d+e x^2)^q (a+b x^2+c x^4)^p.jl @@ -0,0 +1,801 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.2.2.4 (f x)^m (d+e x^2)^q (a+b x^2+c x^4)^p *) +#(* Int[(f_.*x_)^m_.*(e_.*x_^2)^q_.*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_ Symbol] := e^q/f^(2*q)*Int[(f*x)^(m+2*q)*(a+b*x^2+c*x^4)^p,x] /; FreeQ[{a,b,c,e,f,m,p},x] && IntegerQ[q] *) +#(* Int[(f_.*x_)^m_.*(e_.*x_^2)^q_.*(a_+c_.*x_^4)^p_.,x_Symbol] := e^q/f^(2*q)*Int[(f*x)^(m+2*q)*(a+c*x^4)^p,x] /; FreeQ[{a,c,e,f,m,p},x] && IntegerQ[q] *) +("1_2_2_4_1", +@rule ∫((~x)^(~!m)*((~!e)*(~x)^2)^(~q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~e), (~p), (~q), (~x)) && + !(ext_isinteger((~q))) && + ext_isinteger(((~m) - 1)/2) ? +1⨸(2*(~e)^(((~m) - 1)⨸2))* int_and_subst(((~e)*(~x))^((~q) + ((~m) - 1)⨸2)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x), (~x), (~x)^2, "1_2_2_4_1") : nothing) + +("1_2_2_4_2", +@rule ∫((~x)^(~!m)*((~!e)*(~x)^2)^(~q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~e), (~p), (~q), (~x)) && + !(ext_isinteger((~q))) && + ext_isinteger(((~m) - 1)/2) ? +1⨸(2*(~e)^(((~m) - 1)⨸2))* int_and_subst(((~e)*(~x))^((~q) + ((~m) - 1)⨸2)*((~a) + (~c)*(~x)^2)^(~p), (~x), (~x), (~x)^2, "1_2_2_4_2") : nothing) + +("1_2_2_4_3", +@rule ∫(((~!f)*(~x))^(~!m)*((~!e)*(~x)^2)^(~q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~e), (~f), (~m), (~p), (~q), (~x)) && + !(ext_isinteger((~q))) ? +(~e)^intpart((~q))*((~e)*(~x)^2)^ fracpart((~q))⨸((~f)^(2*intpart((~q)))*((~f)*(~x))^(2*fracpart((~q))))* ∫(((~f)*(~x))^((~m) + 2*(~q))*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)) : nothing) + +("1_2_2_4_4", +@rule ∫(((~!f)*(~x))^(~!m)*((~!e)*(~x)^2)^(~q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~e), (~f), (~m), (~p), (~q), (~x)) && + !(ext_isinteger((~q))) ? +(~e)^intpart((~q))*((~e)*(~x)^2)^ fracpart((~q))⨸((~f)^(2*intpart((~q)))*((~f)*(~x))^(2*fracpart((~q))))* ∫(((~f)*(~x))^((~m) + 2*(~q))*((~a) + (~c)*(~x)^4)^(~p), (~x)) : nothing) + +("1_2_2_4_5", +@rule ∫((~x)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~q), (~x)) ? +1⨸2*int_and_subst(((~d) + (~e)*(~x))^(~q)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x), (~x), (~x)^2, "1_2_2_4_5") : nothing) + +("1_2_2_4_6", +@rule ∫((~x)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~p), (~q), (~x)) ? +1⨸2*int_and_subst(((~d) + (~e)*(~x))^(~q)*((~a) + (~c)*(~x)^2)^(~p), (~x), (~x), (~x)^2, "1_2_2_4_6") : nothing) + +#(* Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^q_.*(a_+b_.*x_^2+c_.*x_^4)^p_.,x_ Symbol] := 1/c^p*Int[(f*x)^m*(d+e*x^2)^q*(b/2+c*x^2)^(2*p),x] /; FreeQ[{a,b,c,d,e,f,m,p,q},x] && EqQ[b^2-4*a*c,0] && IntegerQ[p] *) +("1_2_2_4_7", +@rule ∫((~x)^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~q), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) && + igt(((~m) + 1)/2, 0) ? +1⨸2*int_and_subst((~x)^(((~m) - 1)⨸2)*((~d) + (~e)*(~x))^(~q)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x), (~x), (~x)^2, "1_2_2_4_7") : nothing) + +("1_2_2_4_8", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~p), (~q), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) ? +((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^ fracpart((~p))⨸((~c)^intpart((~p))*((~b)⨸2 + (~c)*(~x)^2)^(2*fracpart((~p))))* ∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q)*((~b)⨸2 + (~c)*(~x)^2)^(2*(~p)), (~x)) : nothing) + +("1_2_2_4_9", +@rule ∫((~x)^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~q), (~x)) && + ext_isinteger(((~m) - 1)/2) ? +1⨸2*int_and_subst((~x)^(((~m) - 1)⨸2)*((~d) + (~e)*(~x))^(~q)*((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~p), (~x), (~x), (~x)^2, "1_2_2_4_9") : nothing) + +("1_2_2_4_10", +@rule ∫((~x)^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~p), (~q), (~x)) && + ext_isinteger(((~m) + 1)/2) ? +1⨸2*int_and_subst((~x)^(((~m) - 1)⨸2)*((~d) + (~e)*(~x))^(~q)*((~a) + (~c)*(~x)^2)^(~p), (~x), (~x), (~x)^2, "1_2_2_4_10") : nothing) + +("1_2_2_4_11", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~q), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + ext_isinteger((~p)) ? +∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^((~q) + (~p))*((~a)⨸(~d) + (~c)⨸(~e)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_2_4_12", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~q), (~m), (~q), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + ext_isinteger((~p)) ? +∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^((~q) + (~p))*((~a)⨸(~d) + (~c)⨸(~e)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_2_4_13", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~p), (~q), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) ? +((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^ fracpart( (~p))⨸(((~d) + (~e)*(~x)^2)^fracpart((~p))*((~a)⨸(~d) + ((~c)*(~x)^2)⨸(~e))^fracpart((~p)))* ∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^((~q) + (~p))*((~a)⨸(~d) + (~c)⨸(~e)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_2_4_14", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~m), (~p), (~q), (~x)) && + eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + !(ext_isinteger((~p))) ? +((~a) + (~c)*(~x)^4)^ fracpart( (~p))⨸(((~d) + (~e)*(~x)^2)^fracpart((~p))*((~a)⨸(~d) + ((~c)*(~x)^2)⨸(~e))^fracpart((~p)))* ∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^((~q) + (~p))*((~a)⨸(~d) + (~c)⨸(~e)*(~x)^2)^(~p), (~x)) : nothing) + +("1_2_2_4_15", +@rule ∫((~x)^(~!m)*((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + igt((~p), 0) && + ilt((~q), -1) && + igt((~m)/2, 0) ? +(-(~d))^((~m)⨸2 - 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)^(~p)* (~x)*((~d) + (~e)*(~x)^2)^((~q) + 1)⨸(2*(~e)^(2*(~p) + (~m)⨸2)*((~q) + 1)) + 1⨸(2*(~e)^(2*(~p) + (~m)⨸2)*((~q) + 1))*∫(((~d) + (~e)*(~x)^2)^((~q) + 1)* expand_to_sum( together( 1⨸((~d) + (~e)*(~x)^2)*(2*(~e)^(2*(~p) + (~m)⨸2)*((~q) + 1)* (~x)^(~m)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p) - (-(~d))^((~m)⨸2 - 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)^ (~p)*((~d) + (~e)*(2*(~q) + 3)*(~x)^2))), (~x)), (~x)) : nothing) + +("1_2_2_4_16", +@rule ∫((~x)^(~!m)*((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + igt((~p), 0) && + ilt((~q), -1) && + igt((~m)/2, 0) ? +(-(~d))^((~m)⨸2 - 1)*((~c)*(~d)^2 + (~a)*(~e)^2)^(~p)* (~x)*((~d) + (~e)*(~x)^2)^((~q) + 1)⨸(2*(~e)^(2*(~p) + (~m)⨸2)*((~q) + 1)) + 1⨸(2*(~e)^(2*(~p) + (~m)⨸2)*((~q) + 1))*∫(((~d) + (~e)*(~x)^2)^((~q) + 1)* expand_to_sum( together( 1⨸((~d) + (~e)*(~x)^2)*(2*(~e)^(2*(~p) + (~m)⨸2)*((~q) + 1)*(~x)^(~m)*((~a) + (~c)*(~x)^4)^(~p) - (-(~d))^((~m)⨸2 - 1)*((~c)*(~d)^2 + (~a)*(~e)^2)^ (~p)*((~d) + (~e)*(2*(~q) + 3)*(~x)^2))), (~x)), (~x)) : nothing) + +("1_2_2_4_17", +@rule ∫((~x)^(~m)*((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + igt((~p), 0) && + ilt((~q), -1) && + ilt((~m)/2, 0) ? +(-(~d))^((~m)⨸2 - 1)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)^(~p)* (~x)*((~d) + (~e)*(~x)^2)^((~q) + 1)⨸(2*(~e)^(2*(~p) + (~m)⨸2)*((~q) + 1)) + (-(~d))^((~m)⨸2 - 1)⨸(2*(~e)^(2*(~p))*((~q) + 1))*∫((~x)^(~m)*((~d) + (~e)*(~x)^2)^((~q) + 1)* expand_to_sum( together( 1⨸((~d) + (~e)*(~x)^2)*(2*(-(~d))^(-(~m)⨸2 + 1)* (~e)^(2*(~p))*((~q) + 1)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p) - ((~e)^(-(~m)⨸2)*((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)^(~p)*(~x)^(-(~m)))*((~d) + (~e)*(2*(~q) + 3)*(~x)^2))), (~x)), (~x)) : nothing) + +("1_2_2_4_18", +@rule ∫((~x)^(~m)*((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + igt((~p), 0) && + ilt((~q), -1) && + ilt((~m)/2, 0) ? +(-(~d))^((~m)⨸2 - 1)*((~c)*(~d)^2 + (~a)*(~e)^2)^(~p)* (~x)*((~d) + (~e)*(~x)^2)^((~q) + 1)⨸(2*(~e)^(2*(~p) + (~m)⨸2)*((~q) + 1)) + (-(~d))^((~m)⨸2 - 1)⨸(2*(~e)^(2*(~p))*((~q) + 1))*∫((~x)^(~m)*((~d) + (~e)*(~x)^2)^((~q) + 1)* expand_to_sum( together( 1⨸((~d) + (~e)*(~x)^2)*(2*(-(~d))^(-(~m)⨸2 + 1)* (~e)^(2*(~p))*((~q) + 1)*((~a) + (~c)*(~x)^4)^(~p) - ((~e)^(-(~m)⨸2)*((~c)*(~d)^2 + (~a)*(~e)^2)^(~p)*(~x)^(-(~m)))*((~d) + (~e)*(2*(~q) + 3)*(~x)^2))), (~x)), (~x)) : nothing) + +("1_2_2_4_19", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~q), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + igt((~p), 0) && + igt((~q), -2) ? +∫(ext_expand(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)), (~x)) : nothing) + +("1_2_2_4_20", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~m), (~q), (~x)) && + igt((~p), 0) && + igt((~q), -2) ? +∫(ext_expand(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q)*((~a) + (~c)*(~x)^4)^(~p), (~x)), (~x)) : nothing) + +("1_2_2_4_21", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + igt((~p), 0) && + lt((~q), -1) && + gt((~m), 0) ? +-ext_coeff( poly_remainder(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~d) + (~e)*(~x)^2, (~x)), (~x), 0)*((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^((~q) + 1)⨸(2*(~d)*(~f)*((~q) + 1)) + (~f)⨸(2*(~d)*((~q) + 1))* ∫(((~f)*(~x))^((~m) - 1)*((~d) + (~e)*(~x)^2)^((~q) + 1)* expand_to_sum(2*(~d)*((~q) + 1)*(~x)*poly_quotient(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~d) + (~e)*(~x)^2, (~x)) + ext_coeff( poly_remainder(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~d) + (~e)*(~x)^2, (~x)), (~x), 0)*((~m) + 2*(~q) + 3)*(~x), (~x)), (~x)) : nothing) + +("1_2_2_4_22", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~x)) && + igt((~p), 0) && + lt((~q), -1) && + gt((~m), 0) ? +-ext_coeff(poly_remainder(((~a) + (~c)*(~x)^4)^(~p), (~d) + (~e)*(~x)^2, (~x)), (~x), 0)*((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^((~q) + 1)⨸(2*(~d)*(~f)*((~q) + 1)) + (~f)⨸(2*(~d)*((~q) + 1))* ∫(((~f)*(~x))^((~m) - 1)*((~d) + (~e)*(~x)^2)^((~q) + 1)* expand_to_sum(2*(~d)*((~q) + 1)*(~x)*poly_quotient(((~a) + (~c)*(~x)^4)^(~p), (~d) + (~e)*(~x)^2, (~x)) + ext_coeff(poly_remainder(((~a) + (~c)*(~x)^4)^(~p), (~d) + (~e)*(~x)^2, (~x)), (~x), 0)*((~m) + 2*(~q) + 3)*(~x), (~x)), (~x)) : nothing) + +("1_2_2_4_23", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~q), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + igt((~p), 0) && + lt((~m), -1) ? +poly_remainder(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~f)*(~x), (~x))*((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^((~q) + 1)⨸((~d)*(~f)*((~m) + 1)) + 1⨸((~d)*(~f)^2*((~m) + 1))* ∫(((~f)*(~x))^((~m) + 2)*((~d) + (~e)*(~x)^2)^(~q)* expand_to_sum((~d)*(~f)*((~m) + 1)*poly_quotient(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~f)*(~x), (~x))⨸(~x) - (~e)*poly_remainder(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~f)*(~x), (~x))*((~m) + 2*(~q) + 3), (~x)), (~x)) : nothing) + +("1_2_2_4_24", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~q), (~x)) && + igt((~p), 0) && + lt((~m), -1) ? +poly_remainder(((~a) + (~c)*(~x)^4)^(~p), (~f)*(~x), (~x))*((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^((~q) + 1)⨸((~d)*(~f)*((~m) + 1)) + 1⨸((~d)*(~f)^2*((~m) + 1))* ∫(((~f)*(~x))^((~m) + 2)*((~d) + (~e)*(~x)^2)^(~q)* expand_to_sum((~d)*(~f)*((~m) + 1)*poly_quotient(((~a) + (~c)*(~x)^4)^(~p), (~f)*(~x), (~x))⨸(~x) - (~e)*poly_remainder(((~a) + (~c)*(~x)^4)^(~p), (~f)*(~x), (~x))*((~m) + 2*(~q) + 3), (~x)), (~x)) : nothing) + +("1_2_2_4_25", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~q), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + igt((~p), 0) && + !(ext_isinteger((~q))) && + !eq((~m) + 4*(~p) + 2*(~q) + 1, 0) ? +(~c)^(~p)*((~f)*(~x))^((~m) + 4*(~p) - 1)*((~d) + (~e)*(~x)^2)^((~q) + 1)⨸((~e)* (~f)^(4*(~p) - 1)*((~m) + 4*(~p) + 2*(~q) + 1)) + 1⨸((~e)*((~m) + 4*(~p) + 2*(~q) + 1))*∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q)* expand_to_sum( (~e)*((~m) + 4*(~p) + 2*(~q) + 1)*(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p) - (~c)^(~p)*(~x)^(4*(~p))) - (~d)*(~c)^(~p)*((~m) + 4*(~p) - 1)*(~x)^(4*(~p) - 2), (~x)), (~x)) : nothing) + +("1_2_2_4_26", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~m), (~q), (~x)) && + igt((~p), 0) && + !(ext_isinteger((~q))) && + !eq((~m) + 4*(~p) + 2*(~q) + 1, 0) ? +(~c)^(~p)*((~f)*(~x))^((~m) + 4*(~p) - 1)*((~d) + (~e)*(~x)^2)^((~q) + 1)⨸((~e)* (~f)^(4*(~p) - 1)*((~m) + 4*(~p) + 2*(~q) + 1)) + 1⨸((~e)*((~m) + 4*(~p) + 2*(~q) + 1))*∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q)* expand_to_sum( (~e)*((~m) + 4*(~p) + 2*(~q) + 1)*(((~a) + (~c)*(~x)^4)^(~p) - (~c)^(~p)*(~x)^(4*(~p))) - (~d)*(~c)^(~p)*((~m) + 4*(~p) - 1)*(~x)^(4*(~p) - 2), (~x)), (~x)) : nothing) + +("1_2_2_4_27", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~q), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + isfraction((~m)) && + ext_isinteger((~p)) ? +ext_den((~m))⨸(~f)* int_and_subst( (~x)^(ext_den((~m))*((~m) + 1) - 1)*((~d) + (~e)*(~x)^(2*ext_den((~m)))⨸(~f)^2)^ (~q)*((~a) + (~b)*(~x)^(2*ext_den((~m)))⨸(~f)^ext_den((~m)) + (~c)*(~x)^(4*ext_den((~m)))⨸(~f)^4)^(~p), (~x), (~x), ((~f)*(~x))^(1⨸ext_den((~m))), "1_2_2_4_27") : nothing) + +("1_2_2_4_28", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~p), (~q), (~x)) && + isfraction((~m)) && + ext_isinteger((~p)) ? +ext_den((~m))⨸(~f)* int_and_subst( (~x)^(ext_den((~m))*((~m) + 1) - 1)*((~d) + (~e)*(~x)^(2*ext_den((~m)))⨸(~f))^(~q)*((~a) + (~c)*(~x)^(4*ext_den((~m)))⨸(~f))^(~p), (~x), (~x), ((~f)*(~x))^(1⨸ext_den((~m))), "1_2_2_4_28") : nothing) + +("1_2_2_4_29", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + gt((~p), 0) && + lt((~m), -1) && + (~m) + 4*(~p) + 3 != 0 && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +((~f)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^ (~p)*((~d)*((~m) + 4*(~p) + 3) + (~e)*((~m) + 1)*(~x)^2)⨸((~f)*((~m) + 1)*((~m) + 4*(~p) + 3)) + 2*(~p)⨸((~f)^2*((~m) + 1)*((~m) + 4*(~p) + 3))* ∫(((~f)*(~x))^((~m) + 2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) - 1)* simp(2*(~a)*(~e)*((~m) + 1) - (~b)*(~d)*((~m) + 4*(~p) + 3) + ((~b)*(~e)*((~m) + 1) - 2*(~c)*(~d)*((~m) + 4*(~p) + 3))*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_2_4_30", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~x)) && + gt((~p), 0) && + lt((~m), -1) && + (~m) + 4*(~p) + 3 != 0 && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +((~f)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^4)^ (~p)*((~d)*((~m) + 4*(~p) + 3) + (~e)*((~m) + 1)*(~x)^2)⨸((~f)*((~m) + 1)*((~m) + 4*(~p) + 3)) + 4*(~p)⨸((~f)^2*((~m) + 1)*((~m) + 4*(~p) + 3))* ∫(((~f)*(~x))^((~m) + 2)*((~a) + (~c)*(~x)^4)^((~p) - 1)*((~a)*(~e)*((~m) + 1) - (~c)*(~d)*((~m) + 4*(~p) + 3)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_31", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + gt((~p), 0) && + !eq(4*(~p) + (~m) + 1, 0) && + !eq((~m) + 4*(~p) + 3, 0) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +((~f)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^ (~p)*((~b)*(~e)*2*(~p) + (~c)*(~d)*((~m) + 4*(~p) + 3) + (~c)*(~e)*(4*(~p) + (~m) + 1)*(~x)^2)⨸ ((~c)*(~f)*(4*(~p) + (~m) + 1)*((~m) + 4*(~p) + 3)) + 2*(~p)⨸((~c)*(4*(~p) + (~m) + 1)*((~m) + 4*(~p) + 3))* ∫(((~f)*(~x))^(~m)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) - 1)* simp(2*(~a)*(~c)*(~d)*((~m) + 4*(~p) + 3) - (~a)*(~b)*(~e)*((~m) + 1) + (2*(~a)*(~c)*(~e)*(4*(~p) + (~m) + 1) + (~b)*(~c)*(~d)*((~m) + 4*(~p) + 3) - (~b)^2*(~e)*((~m) + 2*(~p) + 1))*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_2_4_32", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~m), (~x)) && + gt((~p), 0) && + !eq(4*(~p) + (~m) + 1, 0) && + !eq((~m) + 4*(~p) + 3, 0) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +((~f)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^4)^ (~p)*((~c)*(~d)*((~m) + 4*(~p) + 3) + (~c)*(~e)*(4*(~p) + (~m) + 1)*(~x)^2)⨸((~c)* (~f)*(4*(~p) + (~m) + 1)*((~m) + 4*(~p) + 3)) + 4*(~a)*(~p)⨸((4*(~p) + (~m) + 1)*((~m) + 4*(~p) + 3))* ∫(((~f)*(~x))^(~m)*((~a) + (~c)*(~x)^4)^((~p) - 1)* simp((~d)*((~m) + 4*(~p) + 3) + (~e)*(4*(~p) + (~m) + 1)*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_2_4_33", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~p), -1) && + gt((~m), 1) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +(~f)*((~f)*(~x))^((~m) - 1)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)*((~b)*(~d) - 2*(~a)*(~e) - ((~b)*(~e) - 2*(~c)*(~d))*(~x)^2)⨸(2*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) - (~f)^2⨸(2*((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~f)*(~x))^((~m) - 2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)* simp(((~m) - 1)*((~b)*(~d) - 2*(~a)*(~e)) - (4*(~p) + 4 + (~m) + 1)*((~b)*(~e) - 2*(~c)*(~d))* (~x)^2, (~x)), (~x)) : nothing) + +("1_2_2_4_34", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~x)) && + lt((~p), -1) && + gt((~m), 1) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +(~f)*((~f)*(~x))^((~m) - 1)*((~a) + (~c)*(~x)^4)^((~p) + 1)*((~a)*(~e) - (~c)*(~d)*(~x)^2)⨸(4*(~a)* (~c)*((~p) + 1)) - (~f)^2⨸(4*(~a)*(~c)*((~p) + 1))* ∫(((~f)*(~x))^((~m) - 2)*((~a) + (~c)*(~x)^4)^((~p) + 1)*((~a)*(~e)*((~m) - 1) - (~c)*(~d)*(4*(~p) + 4 + (~m) + 1)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_35", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~p), -1) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +-((~f)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)*((~d)*((~b)^2 - 2*(~a)*(~c)) - (~a)*(~b)*(~e) + ((~b)*(~d) - 2*(~a)*(~e))*(~c)*(~x)^2)⨸(2*(~a)*(~f)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) + 1⨸(2*(~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~f)*(~x))^(~m)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)* simp((~d)*((~b)^2*((~m) + 2*((~p) + 1) + 1) - 2*(~a)*(~c)*((~m) + 4*((~p) + 1) + 1)) - (~a)*(~b)*(~e)*((~m) + 1) + (~c)*((~m) + 2*(2*(~p) + 3) + 1)*((~b)*(~d) - 2*(~a)*(~e))*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_2_4_36", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)*((~a) + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~m), (~x)) && + lt((~p), -1) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +-((~f)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^4)^((~p) + 1)*((~d) + (~e)*(~x)^2)⨸(4*(~a)*(~f)*((~p) + 1)) + 1⨸(4*(~a)*((~p) + 1))* ∫(((~f)*(~x))^(~m)*((~a) + (~c)*(~x)^4)^((~p) + 1)* simp((~d)*((~m) + 4*((~p) + 1) + 1) + (~e)*((~m) + 2*(2*(~p) + 3) + 1)*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_2_4_37", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + gt((~m), 1) && + !eq((~m) + 4*(~p) + 3, 0) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +(~e)*(~f)*((~f)*(~x))^((~m) - 1)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸((~c)*((~m) + 4*(~p) + 3)) - (~f)^2⨸((~c)*((~m) + 4*(~p) + 3))* ∫(((~f)*(~x))^((~m) - 2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p)* simp((~a)*(~e)*((~m) - 1) + ((~b)*(~e)*((~m) + 2*(~p) + 1) - (~c)*(~d)*((~m) + 4*(~p) + 3))*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_2_4_38", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)*((~a) + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~p), (~x)) && + gt((~m), 1) && + !eq((~m) + 4*(~p) + 3, 0) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +(~e)*(~f)*((~f)*(~x))^((~m) - 1)*((~a) + (~c)*(~x)^4)^((~p) + 1)⨸((~c)*((~m) + 4*(~p) + 3)) - (~f)^2⨸((~c)*((~m) + 4*(~p) + 3))* ∫(((~f)*(~x))^((~m) - 2)*((~a) + (~c)*(~x)^4)^ (~p)*((~a)*(~e)*((~m) - 1) - (~c)*(~d)*((~m) + 4*(~p) + 3)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_39", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~m), -1) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +(~d)*((~f)*(~x))^((~m) + 1)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸((~a)*(~f)*((~m) + 1)) + 1⨸((~a)*(~f)^2*((~m) + 1))* ∫(((~f)*(~x))^((~m) + 2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p)* simp((~a)*(~e)*((~m) + 1) - (~b)*(~d)*((~m) + 2*(~p) + 3) - (~c)*(~d)*((~m) + 4*(~p) + 5)*(~x)^2, (~x)), (~x)) : nothing) + +("1_2_2_4_40", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)*((~a) + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~p), (~x)) && + lt((~m), -1) && + ext_isinteger(2*(~p)) && + ( + ext_isinteger((~p)) || + ext_isinteger((~m)) + ) ? +(~d)*((~f)*(~x))^((~m) + 1)*((~a) + (~c)*(~x)^4)^((~p) + 1)⨸((~a)*(~f)*((~m) + 1)) + 1⨸((~a)*(~f)^2*((~m) + 1))* ∫(((~f)*(~x))^((~m) + 2)*((~a) + (~c)*(~x)^4)^ (~p)*((~a)*(~e)*((~m) + 1) - (~c)*(~d)*((~m) + 4*(~p) + 5)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_41", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) && + gt((~d)/(~e), 0) && + pos((~c)/(~e)*(2*(~c)*(~d) - (~b)*(~e))) ? +(~e)⨸2*∫(((~f)*(~x))^(~m)⨸((~c)*(~d)⨸(~e) - rt((~c)⨸(~e)*(2*(~c)*(~d) - (~b)*(~e)), 2)*(~x) + (~c)*(~x)^2), (~x)) + (~e)⨸2*∫(((~f)*(~x))^(~m)⨸((~c)*(~d)⨸(~e) + rt((~c)⨸(~e)*(2*(~c)*(~d) - (~b)*(~e)), 2)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_42", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~m), (~x)) && + eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) && + gt((~d)/(~e), 0) ? +(~e)⨸2*∫(((~f)*(~x))^(~m)⨸((~c)*(~d)⨸(~e) - rt(2*(~c)^2*(~d)⨸(~e), 2)*(~x) + (~c)*(~x)^2), (~x)) + (~e)⨸2*∫(((~f)*(~x))^(~m)⨸((~c)*(~d)⨸(~e) + rt(2*(~c)^2*(~d)⨸(~e), 2)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_43", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +((~e)⨸2 + (2*(~c)*(~d) - (~b)*(~e))⨸(2*rt((~b)^2 - 4*(~a)*(~c), 2)))* ∫(((~f)*(~x))^(~m)⨸((~b)⨸2 - rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x)^2), (~x)) + ((~e)⨸2 - (2*(~c)*(~d) - (~b)*(~e))⨸(2*rt((~b)^2 - 4*(~a)*(~c), 2)))* ∫(((~f)*(~x))^(~m)⨸((~b)⨸2 + rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_44", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~m), (~x)) ? +-((~e)⨸2 + (~c)*(~d)⨸(2*rt(-(~a)*(~c), 2)))* ∫(((~f)*(~x))^(~m)⨸(rt(-(~a)*(~c), 2) - (~c)*(~x)^2), (~x)) + ((~e)⨸2 - (~c)*(~d)⨸(2*rt(-(~a)*(~c), 2)))* ∫(((~f)*(~x))^(~m)⨸(rt(-(~a)*(~c), 2) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_45", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~q)) && + ext_isinteger((~m)) ? +∫(ext_expand(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q)⨸((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)), (~x)) : nothing) + +("1_2_2_4_46", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~m), (~x)) && + ext_isinteger((~q)) && + ext_isinteger((~m)) ? +∫(ext_expand(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q)⨸((~a) + (~c)*(~x)^4), (~x)), (~x)) : nothing) + +("1_2_2_4_47", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~q)) && + !(ext_isinteger((~m))) ? +∫(ext_expand(((~f)*(~x))^(~m), ((~d) + (~e)*(~x)^2)^(~q)⨸((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)), (~x)) : nothing) + +("1_2_2_4_48", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~m), (~x)) && + ext_isinteger((~q)) && + !(ext_isinteger((~m))) ? +∫(ext_expand(((~f)*(~x))^(~m), ((~d) + (~e)*(~x)^2)^(~q)⨸((~a) + (~c)*(~x)^4), (~x)), (~x)) : nothing) + +("1_2_2_4_49", +@rule ∫(((~!f)*(~x))^(~!m)*((~!d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~q))) && + gt((~q), 0) && + gt((~m), 3) ? +(~f)^4⨸(~c)^2* ∫(((~f)*(~x))^((~m) - 4)*((~c)*(~d) - (~b)*(~e) + (~c)*(~e)*(~x)^2)*((~d) + (~e)*(~x)^2)^((~q) - 1), (~x)) - (~f)^4⨸(~c)^2* ∫(((~f)*(~x))^((~m) - 4)*((~d) + (~e)*(~x)^2)^((~q) - 1)* simp((~a)*((~c)*(~d) - (~b)*(~e)) + ((~b)*(~c)*(~d) - (~b)^2*(~e) + (~a)*(~c)*(~e))*(~x)^2, (~x))⨸((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_4_50", +@rule ∫(((~!f)*(~x))^(~!m)*((~!d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~q), (~x)) && + !(ext_isinteger((~q))) && + gt((~m), 3) ? +(~f)^4⨸(~c)*∫(((~f)*(~x))^((~m) - 4)*((~d) + (~e)*(~x)^2)^(~q), (~x)) - (~a)*(~f)^4⨸(~c)*∫(((~f)*(~x))^((~m) - 4)*((~d) + (~e)*(~x)^2)^(~q)⨸((~a) + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_4_51", +@rule ∫(((~!f)*(~x))^(~!m)*((~!d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~q))) && + gt((~q), 0) && + gt((~m), 1) && + le((~m), 3) ? +(~e)*(~f)^2⨸(~c)*∫(((~f)*(~x))^((~m) - 2)*((~d) + (~e)*(~x)^2)^((~q) - 1), (~x)) - (~f)^2⨸(~c)* ∫(((~f)*(~x))^((~m) - 2)*((~d) + (~e)*(~x)^2)^((~q) - 1)* simp((~a)*(~e) - ((~c)*(~d) - (~b)*(~e))*(~x)^2, (~x))⨸((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_4_52", +@rule ∫(((~!f)*(~x))^(~!m)*((~!d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~x)) && + !(ext_isinteger((~q))) && + gt((~q), 0) && + gt((~m), 1) && + le((~m), 3) ? +(~e)*(~f)^2⨸(~c)*∫(((~f)*(~x))^((~m) - 2)*((~d) + (~e)*(~x)^2)^((~q) - 1), (~x)) - (~f)^2⨸(~c)* ∫(((~f)*(~x))^((~m) - 2)*((~d) + (~e)*(~x)^2)^((~q) - 1)* simp((~a)*(~e) - (~c)*(~d)*(~x)^2, (~x))⨸((~a) + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_4_53", +@rule ∫(((~!f)*(~x))^(~m)*((~!d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~q))) && + gt((~q), 0) && + lt((~m), 0) ? +(~d)⨸(~a)*∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^((~q) - 1), (~x)) - 1⨸((~a)*(~f)^2)* ∫(((~f)*(~x))^((~m) + 2)*((~d) + (~e)*(~x)^2)^((~q) - 1)* simp((~b)*(~d) - (~a)*(~e) + (~c)*(~d)*(~x)^2, (~x))⨸((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_4_54", +@rule ∫(((~!f)*(~x))^(~m)*((~!d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~x)) && + !(ext_isinteger((~q))) && + gt((~q), 0) && + lt((~m), 0) ? +(~d)⨸(~a)*∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^((~q) - 1), (~x)) + 1⨸((~a)*(~f)^2)* ∫(((~f)*(~x))^((~m) + 2)*((~d) + (~e)*(~x)^2)^((~q) - 1)* simp((~a)*(~e) - (~c)*(~d)*(~x)^2, (~x))⨸((~a) + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_4_55", +@rule ∫(((~!f)*(~x))^(~!m)*((~!d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~q))) && + lt((~q), -1) && + gt((~m), 3) ? +(~d)^2*(~f)^4⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* ∫(((~f)*(~x))^((~m) - 4)*((~d) + (~e)*(~x)^2)^(~q), (~x)) - (~f)^4⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* ∫(((~f)*(~x))^((~m) - 4)*((~d) + (~e)*(~x)^2)^((~q) + 1)* simp((~a)*(~d) + ((~b)*(~d) - (~a)*(~e))*(~x)^2, (~x))⨸((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_4_56", +@rule ∫(((~!f)*(~x))^(~!m)*((~!d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~x)) && + !(ext_isinteger((~q))) && + lt((~q), -1) && + gt((~m), 3) ? +(~d)^2*(~f)^4⨸((~c)*(~d)^2 + (~a)*(~e)^2)*∫(((~f)*(~x))^((~m) - 4)*((~d) + (~e)*(~x)^2)^(~q), (~x)) - (~a)*(~f)^4⨸((~c)*(~d)^2 + (~a)*(~e)^2)* ∫(((~f)*(~x))^((~m) - 4)*((~d) + (~e)*(~x)^2)^((~q) + 1)*((~d) - (~e)*(~x)^2)⨸((~a) + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_4_57", +@rule ∫(((~!f)*(~x))^(~!m)*((~!d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~q))) && + lt((~q), -1) && + gt((~m), 1) && + le((~m), 3) ? +-(~d)*(~e)*(~f)^2⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* ∫(((~f)*(~x))^((~m) - 2)*((~d) + (~e)*(~x)^2)^(~q), (~x)) + (~f)^2⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* ∫(((~f)*(~x))^((~m) - 2)*((~d) + (~e)*(~x)^2)^((~q) + 1)* simp((~a)*(~e) + (~c)*(~d)*(~x)^2, (~x))⨸((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_4_58", +@rule ∫(((~!f)*(~x))^(~!m)*((~!d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~x)) && + !(ext_isinteger((~q))) && + lt((~q), -1) && + gt((~m), 1) && + le((~m), 3) ? +-(~d)*(~e)*(~f)^2⨸((~c)*(~d)^2 + (~a)*(~e)^2)*∫(((~f)*(~x))^((~m) - 2)*((~d) + (~e)*(~x)^2)^(~q), (~x)) + (~f)^2⨸((~c)*(~d)^2 + (~a)*(~e)^2)* ∫(((~f)*(~x))^((~m) - 2)*((~d) + (~e)*(~x)^2)^((~q) + 1)* simp((~a)*(~e) + (~c)*(~d)*(~x)^2, (~x))⨸((~a) + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_4_59", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~q))) && + lt((~q), -1) ? +(~e)^2⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)*∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~x)) + 1⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* ∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^((~q) + 1)* simp((~c)*(~d) - (~b)*(~e) - (~c)*(~e)*(~x)^2, (~x))⨸((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_4_60", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~m), (~x)) && + !(ext_isinteger((~q))) && + lt((~q), -1) ? +(~e)^2⨸((~c)*(~d)^2 + (~a)*(~e)^2)*∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~x)) + (~c)⨸((~c)*(~d)^2 + (~a)*(~e)^2)* ∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^((~q) + 1)*((~d) - (~e)*(~x)^2)⨸((~a) + (~c)*(~x)^4), (~x)) : nothing) + +("1_2_2_4_61", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~q), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~q))) && + ext_isinteger((~m)) ? +∫(ext_expand(((~d) + (~e)*(~x)^2)^(~q), ((~f)*(~x))^(~m)⨸((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)), (~x)) : nothing) + +("1_2_2_4_62", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~q), (~x)) && + !(ext_isinteger((~q))) && + ext_isinteger((~m)) ? +∫(ext_expand(((~d) + (~e)*(~x)^2)^(~q), ((~f)*(~x))^(~m)⨸((~a) + (~c)*(~x)^4), (~x)), (~x)) : nothing) + +("1_2_2_4_63", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~q), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~q))) && + !(ext_isinteger((~m))) ? +∫(ext_expand(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q), 1⨸((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)), (~x)) : nothing) + +("1_2_2_4_64", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~m), (~q), (~x)) && + !(ext_isinteger((~q))) && + !(ext_isinteger((~m))) ? +∫(ext_expand(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q), 1⨸((~a) + (~c)*(~x)^4), (~x)), (~x)) : nothing) + +("1_2_2_4_65", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~q), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +2*(~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q)⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2), (~x)) - 2*(~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q)⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_66", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~q)/((~a) + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~m), (~q), (~x)) ? +-(~c)⨸(2*rt(-(~a)*(~c), 2))*∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q)⨸(rt(-(~a)*(~c), 2) - (~c)*(~x)^2), (~x)) - (~c)⨸(2*rt(-(~a)*(~c), 2))*∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q)⨸(rt(-(~a)*(~c), 2) + (~c)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_67", +@rule ∫(((~!f)*(~x))^(~m)*((~!a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p)/((~!d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + gt((~p), 0) && + lt((~m), -2) ? +1⨸(~d)^2* ∫(((~f)*(~x))^(~m)*((~a)*(~d) + ((~b)*(~d) - (~a)*(~e))*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) - 1), (~x)) + ((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)⨸((~d)^2*(~f)^4)* ∫(((~f)*(~x))^((~m) + 4)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) - 1)⨸((~d) + (~e)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_68", +@rule ∫(((~!f)*(~x))^(~m)*((~a) + (~!c)*(~x)^4)^(~!p)/((~!d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~x)) && + gt((~p), 0) && + lt((~m), -2) ? +(~a)⨸(~d)^2*∫(((~f)*(~x))^(~m)*((~d) - (~e)*(~x)^2)*((~a) + (~c)*(~x)^4)^((~p) - 1), (~x)) + ((~c)*(~d)^2 + (~a)*(~e)^2)⨸((~d)^2*(~f)^4)* ∫(((~f)*(~x))^((~m) + 4)*((~a) + (~c)*(~x)^4)^((~p) - 1)⨸((~d) + (~e)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_69", +@rule ∫(((~!f)*(~x))^(~m)*((~!a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p)/((~!d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + gt((~p), 0) && + lt((~m), 0) ? +1⨸((~d)*(~e))* ∫(((~f)*(~x))^(~m)*((~a)*(~e) + (~c)*(~d)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) - 1), (~x)) - ((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)⨸((~d)*(~e)*(~f)^2)* ∫(((~f)*(~x))^((~m) + 2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) - 1)⨸((~d) + (~e)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_70", +@rule ∫(((~!f)*(~x))^(~m)*((~a) + (~!c)*(~x)^4)^(~!p)/((~!d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~x)) && + gt((~p), 0) && + lt((~m), 0) ? +1⨸((~d)*(~e))*∫(((~f)*(~x))^(~m)*((~a)*(~e) + (~c)*(~d)*(~x)^2)*((~a) + (~c)*(~x)^4)^((~p) - 1), (~x)) - ((~c)*(~d)^2 + (~a)*(~e)^2)⨸((~d)*(~e)*(~f)^2)* ∫(((~f)*(~x))^((~m) + 2)*((~a) + (~c)*(~x)^4)^((~p) - 1)⨸((~d) + (~e)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_71", +@rule ∫(((~!f)*(~x))^(~!m)*((~!a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p)/((~!d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~p), -1) && + gt((~m), 2) ? +-(~f)^4⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* ∫(((~f)*(~x))^((~m) - 4)*((~a)*(~d) + ((~b)*(~d) - (~a)*(~e))*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)) + (~d)^2*(~f)^4⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* ∫(((~f)*(~x))^((~m) - 4)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸((~d) + (~e)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_72", +@rule ∫(((~!f)*(~x))^(~!m)*((~a) + (~!c)*(~x)^4)^(~p)/((~!d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~x)) && + lt((~p), -1) && + gt((~m), 2) ? +-(~a)*(~f)^4⨸((~c)*(~d)^2 + (~a)*(~e)^2)* ∫(((~f)*(~x))^((~m) - 4)*((~d) - (~e)*(~x)^2)*((~a) + (~c)*(~x)^4)^(~p), (~x)) + (~d)^2*(~f)^4⨸((~c)*(~d)^2 + (~a)*(~e)^2)* ∫(((~f)*(~x))^((~m) - 4)*((~a) + (~c)*(~x)^4)^((~p) + 1)⨸((~d) + (~e)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_73", +@rule ∫(((~!f)*(~x))^(~!m)*((~!a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p)/((~!d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~p), -1) && + gt((~m), 0) ? +(~f)^2⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* ∫(((~f)*(~x))^((~m) - 2)*((~a)*(~e) + (~c)*(~d)*(~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)) - (~d)*(~e)*(~f)^2⨸((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2)* ∫(((~f)*(~x))^((~m) - 2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸((~d) + (~e)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_74", +@rule ∫(((~!f)*(~x))^(~!m)*((~a) + (~!c)*(~x)^4)^(~p)/((~!d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~x)) && + lt((~p), -1) && + gt((~m), 0) ? +(~f)^2⨸((~c)*(~d)^2 + (~a)*(~e)^2)* ∫(((~f)*(~x))^((~m) - 2)*((~a)*(~e) + (~c)*(~d)*(~x)^2)*((~a) + (~c)*(~x)^4)^(~p), (~x)) - (~d)*(~e)*(~f)^2⨸((~c)*(~d)^2 + (~a)*(~e)^2)* ∫(((~f)*(~x))^((~m) - 2)*((~a) + (~c)*(~x)^4)^((~p) + 1)⨸((~d) + (~e)*(~x)^2), (~x)) : nothing) + +("1_2_2_4_75", +@rule ∫((~x)^2/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + pos((~c)/(~a)) && + eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) ? +(~d)⨸(2*(~d)*(~e))*∫(1⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) - (~d)⨸(2*(~d)*(~e))* ∫(((~d) - (~e)*(~x)^2)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)), (~x)) : nothing) + +("1_2_2_4_76", +@rule ∫((~x)^2/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + pos((~c)/(~a)) && + eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) ? +(~d)⨸(2*(~d)*(~e))*∫(1⨸sqrt((~a) + (~c)*(~x)^4), (~x)) - (~d)⨸(2*(~d)*(~e))*∫(((~d) - (~e)*(~x)^2)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~c)*(~x)^4)), (~x)) : nothing) + +("1_2_2_4_77", +@rule ∫((~x)^2/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !eq((~c)*(~d)^2 - (~b)*(~d)*(~e) + (~a)*(~e)^2, 0) && + pos((~c)/(~a)) && + !eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) ? +-(~a)*((~e) + (~d)*rt((~c)⨸(~a), 2))⨸((~c)*(~d)^2 - (~a)*(~e)^2)* ∫(1⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) + (~a)*(~d)*((~e) + (~d)*rt((~c)⨸(~a), 2))⨸((~c)*(~d)^2 - (~a)*(~e)^2)* ∫((1 + rt((~c)⨸(~a), 2)*(~x)^2)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)), (~x)) : nothing) + +("1_2_2_4_78", +@rule ∫((~x)^2/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + !eq((~c)*(~d)^2 + (~a)*(~e)^2, 0) && + pos((~c)/(~a)) && + !eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) ? +-(~a)*((~e) + (~d)*rt((~c)⨸(~a), 2))⨸((~c)*(~d)^2 - (~a)*(~e)^2)*∫(1⨸sqrt((~a) + (~c)*(~x)^4), (~x)) + (~a)*(~d)*((~e) + (~d)*rt((~c)⨸(~a), 2))⨸((~c)*(~d)^2 - (~a)*(~e)^2)* ∫((1 + rt((~c)⨸(~a), 2)*(~x)^2)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~c)*(~x)^4)), (~x)) : nothing) + +("1_2_2_4_79", +@rule ∫((~x)^4/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + pos((~c)/(~a)) && + eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) ? +-1⨸(~e)^2*∫(((~d) - (~e)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) + (~d)^2⨸(~e)^2*∫(1⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)), (~x)) : nothing) + +("1_2_2_4_80", +@rule ∫((~x)^4/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + pos((~c)/(~a)) && + eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) ? +-1⨸(~e)^2*∫(((~d) - (~e)*(~x)^2)⨸sqrt((~a) + (~c)*(~x)^4), (~x)) + (~d)^2⨸(~e)^2*∫(1⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~c)*(~x)^4)), (~x)) : nothing) + +("1_2_2_4_81", +@rule ∫((~x)^4/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + pos((~c)/(~a)) && + !eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) && + eq(2*(~c)*(~d) - (~a)*(~e)*rt((~c)/(~a), 2), 0) ? +-1⨸((~e)*rt((~c)⨸(~a), 2))*∫((1 - rt((~c)⨸(~a), 2)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) + (~d)^2⨸((~e)*((~e) - (~d)*rt((~c)⨸(~a), 2)))* ∫((1 + rt((~c)⨸(~a), 2)*(~x)^2)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)), (~x)) : nothing) + +("1_2_2_4_82", +@rule ∫((~x)^4/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + pos((~c)/(~a)) && + !eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) && + eq(2*(~c)*(~d) - (~a)*(~e)*rt((~c)/(~a), 2), 0) ? +-1⨸((~e)*rt((~c)⨸(~a), 2))*∫((1 - rt((~c)⨸(~a), 2)*(~x)^2)⨸sqrt((~a) + (~c)*(~x)^4), (~x)) + (~d)^2⨸((~e)*((~e) - (~d)*rt((~c)⨸(~a), 2)))* ∫((1 + rt((~c)⨸(~a), 2)*(~x)^2)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~c)*(~x)^4)), (~x)) : nothing) + +("1_2_2_4_83", +@rule ∫((~x)^4/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + pos((~c)/(~a)) && + !eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) ? +-(2*(~c)*(~d) - (~a)*(~e)*rt((~c)⨸(~a), 2))⨸((~c)*(~e)*((~e) - (~d)*rt((~c)⨸(~a), 2)))* ∫(1⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) - 1⨸((~e)*rt((~c)⨸(~a), 2))*∫((1 - rt((~c)⨸(~a), 2)*(~x)^2)⨸sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)) + (~d)^2⨸((~e)*((~e) - (~d)*rt((~c)⨸(~a), 2)))* ∫((1 + rt((~c)⨸(~a), 2)*(~x)^2)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)), (~x)) : nothing) + +("1_2_2_4_84", +@rule ∫((~x)^4/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + pos((~c)/(~a)) && + !eq((~c)*(~d)^2 - (~a)*(~e)^2, 0) ? +-(2*(~c)*(~d) - (~a)*(~e)*rt((~c)⨸(~a), 2))⨸((~c)*(~e)*((~e) - (~d)*rt((~c)⨸(~a), 2)))*∫(1⨸sqrt((~a) + (~c)*(~x)^4), (~x)) - 1⨸((~e)*rt((~c)⨸(~a), 2))*∫((1 - rt((~c)⨸(~a), 2)*(~x)^2)⨸sqrt((~a) + (~c)*(~x)^4), (~x)) + (~d)^2⨸((~e)*((~e) - (~d)*rt((~c)⨸(~a), 2)))* ∫((1 + rt((~c)⨸(~a), 2)*(~x)^2)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~c)*(~x)^4)), (~x)) : nothing) + +("1_2_2_4_85", +@rule ∫((~x)^(~m)/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + igt((~m)/2, 2) ? +(~x)^((~m) - 5)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)⨸((~c)*(~e)*((~m) - 3)) - 1⨸((~c)*(~e)*((~m) - 3))* ∫((~x)^((~m) - 6)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* simp((~a)*(~d)*((~m) - 5) + ((~a)*(~e)*((~m) - 5) + (~b)*(~d)*((~m) - 4))* (~x)^2 + ((~b)*(~e)*((~m) - 4) + (~c)*(~d)*((~m) - 3))*(~x)^4, (~x)), (~x)) : nothing) + +("1_2_2_4_86", +@rule ∫((~x)^(~m)/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + igt((~m)/2, 2) ? +(~x)^((~m) - 5)*sqrt((~a) + (~c)*(~x)^4)⨸((~c)*(~e)*((~m) - 3)) - 1⨸((~c)*(~e)*((~m) - 3))* ∫((~x)^((~m) - 6)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~c)*(~x)^4))* simp((~a)*(~d)*((~m) - 5) + (~a)*(~e)*((~m) - 5)*(~x)^2 + (~c)*(~d)*((~m) - 3)*(~x)^4, (~x)), (~x)) : nothing) + +("1_2_2_4_87", +@rule ∫((~x)^(~m)/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ilt((~m)/2, 0) ? +(~x)^((~m) + 1)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)⨸((~a)*(~d)*((~m) + 1)) - 1⨸((~a)*(~d)*((~m) + 1))* ∫((~x)^((~m) + 2)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* simp((~a)*(~e)*((~m) + 1) + (~b)*(~d)*((~m) + 2) + ((~b)*(~e)*((~m) + 2) + (~c)*(~d)*((~m) + 3))*(~x)^2 + (~c)*(~e)*((~m) + 3)*(~x)^4, (~x)), (~x)) : nothing) + +("1_2_2_4_88", +@rule ∫((~x)^(~m)/(((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + ilt((~m)/2, 0) ? +(~x)^((~m) + 1)*sqrt((~a) + (~c)*(~x)^4)⨸((~a)*(~d)*((~m) + 1)) - 1⨸((~a)*(~d)*((~m) + 1))* ∫((~x)^((~m) + 2)⨸(((~d) + (~e)*(~x)^2)*sqrt((~a) + (~c)*(~x)^4))* simp((~a)*(~e)*((~m) + 1) + (~c)*(~d)*((~m) + 3)*(~x)^2 + (~c)*(~e)*((~m) + 3)*(~x)^4, (~x)), (~x)) : nothing) + +("1_2_2_4_89", +@rule ∫((~x)^(~m)/(sqrt((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~m)/2) ? +(~x)^3*sqrt((~e) + (~d)⨸(~x)^2)* sqrt((~c) + (~b)⨸(~x)^2 + (~a)⨸(~x)^4)⨸(sqrt((~d) + (~e)*(~x)^2)*sqrt((~a) + (~b)*(~x)^2 + (~c)*(~x)^4))* ∫((~x)^((~m) - 3)⨸(sqrt((~e) + (~d)⨸(~x)^2)*sqrt((~c) + (~b)⨸(~x)^2 + (~a)⨸(~x)^4)), (~x)) : nothing) + +("1_2_2_4_90", +@rule ∫((~x)^(~m)/(sqrt((~d) + (~!e)*(~x)^2)*sqrt((~a) + (~!c)*(~x)^4)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~x)) && + ext_isinteger((~m)/2) ? +(~x)^3*sqrt((~e) + (~d)⨸(~x)^2)* sqrt((~c) + (~a)⨸(~x)^4)⨸(sqrt((~d) + (~e)*(~x)^2)*sqrt((~a) + (~c)*(~x)^4))* ∫((~x)^((~m) - 3)⨸(sqrt((~e) + (~d)⨸(~x)^2)*sqrt((~c) + (~a)⨸(~x)^4)), (~x)) : nothing) + +("1_2_2_4_91", +@rule ∫((~x)^(~m)*((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~p), -1) && + igt((~q), 1) && + igt((~m)/2, 0) ? +(~x)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)*((~a)*(~b)*ext_coeff( poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 2) - ext_coeff(poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 0)*((~b)^2 - 2*(~a)*(~c)) - (~c)*((~b)*ext_coeff(poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 0) - 2*(~a)*ext_coeff( poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 2))*(~x)^2)⨸(2*(~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) + 1⨸(2*(~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))*∫(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)* simp(expand_to_sum( 2*(~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))* poly_quotient((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)) + (~b)^2*ext_coeff(poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 0)*(2*(~p) + 3) - 2*(~a)*(~c)*ext_coeff(poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 0)*(4*(~p) + 5) - (~a)*(~b)*ext_coeff( poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 2) + (~c)*(4*(~p) + 7)*((~b)*ext_coeff(poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 0) - 2*(~a)*ext_coeff( poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 2))*(~x)^2, (~x)), (~x)), (~x)) : nothing) + +("1_2_2_4_92", +@rule ∫((~x)^(~m)*((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~p), -1) && + igt((~q), 1) && + ilt((~m)/2, 0) ? +(~x)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)*((~a)*(~b)*ext_coeff( poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 2) - ext_coeff(poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 0)*((~b)^2 - 2*(~a)*(~c)) - (~c)*((~b)*ext_coeff(poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 0) - 2*(~a)*ext_coeff( poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 2))*(~x)^2)⨸(2*(~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) + 1⨸(2*(~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫((~x)^(~m)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)* simp(expand_to_sum( 2*(~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))*(~x)^(-(~m))* poly_quotient((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)) + ((~b)^2*ext_coeff(poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 0)*(2*(~p) + 3) - 2*(~a)*(~c)*ext_coeff(poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 0)*(4*(~p) + 5) - (~a)*(~b)*ext_coeff( poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 2))*(~x)^(-(~m)) + (~c)*(4*(~p) + 7)*((~b)*ext_coeff(poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 0) - 2*(~a)*ext_coeff( poly_remainder((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~q), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 2))*(~x)^(2 - (~m)), (~x)), (~x)), (~x)) : nothing) + +("1_2_2_4_93", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~p), (~q), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ( + igt((~p), 0) || + igt((~q), 0) || + ext_isinteger((~m), (~q)) + ) ? +∫(ext_expand(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)), (~x)) : nothing) + +("1_2_2_4_94", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~m), (~p), (~q), (~x)) && + ( + igt((~p), 0) || + igt((~q), 0) || + ext_isinteger((~m), (~q)) + ) ? +∫(ext_expand(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q)*((~a) + (~c)*(~x)^4)^(~p), (~x)), (~x)) : nothing) + +("1_2_2_4_95", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~q)*((~a) + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~m), (~p), (~x)) && + !(ext_isinteger((~p))) && + ilt((~q), 0) ? +((~f)*(~x))^(~m)⨸(~x)^(~m)* ∫(ext_expand( (~x)^(~m)*((~a) + (~c)*(~x)^4)^ (~p), ((~d)⨸((~d)^2 - (~e)^2*(~x)^4) - (~e)*(~x)^2⨸((~d)^2 - (~e)^2*(~x)^4))^(-(~q)), (~x)), (~x)) : nothing) + +# ("1_2_2_4_96", +# @rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~p), (~q), (~x)) ? +# Unintegrable[((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)] : nothing) + +# ("1_2_2_4_97", +# @rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~a) + (~!c)*(~x)^4)^(~!p),(~x)) => +# !contains_var((~a), (~c), (~d), (~e), (~f), (~m), (~p), (~q), (~x)) ? +# Unintegrable[((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~q)*((~a) + (~c)*(~x)^4)^(~p), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.5 P(x) (a+b x^2+c x^4)^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.5 P(x) (a+b x^2+c x^4)^p.jl new file mode 100644 index 0000000..5f2f68e --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.2 Quartic/1.2.2.5 P(x) (a+b x^2+c x^4)^p.jl @@ -0,0 +1,122 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.2.2.5 P(x) (a+b x^2+c x^4)^p *) +("1_2_2_5_1", +@rule ∫((~Pq)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + poly((~Pq), (~x)) && + igt((~p), 0) ? +∫(ext_expand((~Pq)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)), (~x)) : nothing) + +("1_2_2_5_2", +@rule ∫((~Pq)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + poly((~Pq), (~x)) && + eq(ext_coeff((~Pq), (~x), 0), 0) ? +∫((~x)*poly_quotient((~Pq), (~x), (~x))*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)) : nothing) + +("1_2_2_5_3", +@rule ∫((~Pq)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + poly((~Pq), (~x)) && + !(poly((~Pq), (~x)^2)) ? +let + q = exponent_of((~Pq), (~x)) + + ∫( sum([ext_coeff((~Pq), (~x), 2*iii)*(~x)^(2*iii) for iii in ( 0):( q⨸2)])*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^ (~p), (~x)) + ∫( (~x)*sum([ext_coeff((~Pq), (~x), 2*iii + 1)*(~x)^(2*iii) for iii in ( 0):( (q - 1)⨸2)])*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p), (~x)) +end : nothing) + +("1_2_2_5_4", +@rule ∫((~Pq)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + poly((~Pq), (~x)^2) && + eq(exponent_of((~Pq), (~x)), 4) ? +let + d = ext_coeff((~Pq), (~x), 0) + e = ext_coeff((~Pq), (~x), 2) + f = ext_coeff((~Pq), (~x), 4) + + eq((~a)*e - (~b)*d*(2*(~p) + 3), 0) && + eq((~a)*f - (~c)*d*(4*(~p) + 5), 0) ? + d*(~x)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸(~a) : nothing +end : nothing) + +("1_2_2_5_5", +@rule ∫((~Pq)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + poly((~Pq), (~x)^2) && + eq(exponent_of((~Pq), (~x)), 6) ? +let + d = ext_coeff((~Pq), (~x), 0) + e = ext_coeff((~Pq), (~x), 2) + f = ext_coeff((~Pq), (~x), 4) + g = ext_coeff((~Pq), (~x), 6) + + eq(3*(~a)^2*g - (~c)*(4*(~p) + 7)*((~a)*e - (~b)*d*(2*(~p) + 3)), 0) && + eq(3*(~a)^2*f - 3*(~a)*(~c)*d*(4*(~p) + 5) - (~b)*(2*(~p) + 5)*((~a)*e - (~b)*d*(2*(~p) + 3)), 0) ? + (~x)*(3*(~a)*d + ((~a)*e - (~b)*d*(2*(~p) + 3))* (~x)^2)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸(3*(~a)^2) : nothing +end : nothing) + +("1_2_2_5_6", +@rule ∫((~Pq)/((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + poly((~Pq), (~x)^2) && + exponent_of((~Pq), (~x)^2) > 1 ? +∫(ext_expand((~Pq)⨸((~a) + (~b)*(~x)^2 + (~c)*(~x)^4), (~x)), (~x)) : nothing) + +("1_2_2_5_7", +@rule ∫((~Pq)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + poly((~Pq), (~x)^2) && + exponent_of((~Pq), (~x)^2) > 1 && + eq((~b)^2 - 4*(~a)*(~c), 0) ? +((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^ fracpart((~p))⨸((4*(~c))^intpart((~p))*((~b) + 2*(~c)*(~x)^2)^(2*fracpart((~p))))* ∫((~Pq)*((~b) + 2*(~c)*(~x)^2)^(2*(~p)), (~x)) : nothing) + +("1_2_2_5_8", +@rule ∫((~Pq)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + poly((~Pq), (~x)^2) && + exponent_of((~Pq), (~x)^2) > 1 && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + lt((~p), -1) ? +let + d = ext_coeff(poly_remainder((~Pq), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 0) + e = ext_coeff(poly_remainder((~Pq), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)), (~x), 2) + + (~x)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)*((~a)*(~b)*e - d*((~b)^2 - 2*(~a)*(~c)) - (~c)*((~b)*d - 2*(~a)*e)*(~x)^2)⨸(2*(~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) + 1⨸(2*(~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))*∫(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)* expand_to_sum( 2*(~a)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))* poly_quotient((~Pq), (~a) + (~b)*(~x)^2 + (~c)*(~x)^4, (~x)) + (~b)^2*d*(2*(~p) + 3) - 2*(~a)*(~c)*d*(4*(~p) + 5) - (~a)*(~b)*e + (~c)*(4*(~p) + 7)*((~b)*d - 2*(~a)*e)*(~x)^2, (~x)), (~x)) +end : nothing) + +("1_2_2_5_9", +@rule ∫((~Pq)*((~a) + (~!b)*(~x)^2 + (~!c)*(~x)^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + poly((~Pq), (~x)^2) && + exponent_of((~Pq), (~x)^2) > 1 && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !(lt((~p), -1)) ? +let + q = exponent_of((~Pq), (~x)^2) + e = ext_coeff((~Pq), (~x)^2, exponent_of((~Pq), (~x)^2)) + + e*(~x)^(2*q - 3)*((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^((~p) + 1)⨸((~c)*(2*q + 4*(~p) + 1)) + 1⨸((~c)*(2*q + 4*(~p) + 1))*∫(((~a) + (~b)*(~x)^2 + (~c)*(~x)^4)^(~p)* expand_to_sum( (~c)*(2*q + 4*(~p) + 1)*(~Pq) - (~a)*e*(2*q - 3)*(~x)^(2*q - 4) - (~b)*e*(2*q + 2*(~p) - 1)*(~x)^(2*q - 2) - (~c)*e*(2*q + 4*(~p) + 1)*(~x)^(2*q), (~x)), (~x)) +end : nothing) + +("1_2_2_5_10", +@rule ∫((~Pq)*(~Q4)^(~p),(~x)) => + !contains_var((~p), (~x)) && + poly((~Pq), (~x)) && + poly((~Q4), (~x), 4) && + !(igt((~p), 0)) ? +let + a = ext_coeff((~Q4), (~x), 0) + b = ext_coeff((~Q4), (~x), 1) + c = ext_coeff((~Q4), (~x), 2) + d = ext_coeff((~Q4), (~x), 3) + e = ext_coeff((~Q4), (~x), 4) + + eq(d^3 - 4*c*d*e + 8*b*e^2, 0) && + !eq(d, 0) ? + int_and_subst(ext_simplify( substitute((~Pq), Dict( (~x) => -d⨸(4*e) + (~x)))*(a + d^4⨸(256*e^3) - b*d⨸(8*e) + (c - 3*d^2⨸(8*e))*(~x)^2 + e*(~x)^4)^(~p), (~x)), (~x), (~x), d⨸(4*e) + (~x), "1_2_2_5_10") : nothing +end : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.3 General/1.2.3.1 (a+b x^n+c x^(2 n))^p.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.3 General/1.2.3.1 (a+b x^n+c x^(2 n))^p.jl new file mode 100644 index 0000000..1828bc5 --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.2 Trinomial products/1.2.3 General/1.2.3.1 (a+b x^n+c x^(2 n))^p.jl @@ -0,0 +1,98 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.2.3.1 (a+b x^n+c x^(2 n))^p *) +("1_2_3_1_1", +@rule ∫(((~a) + (~!b)*(~x)^(~n) + (~!c)*(~x)^(~!n2))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + eq((~n2), 2*(~n)) && + lt((~n), 0) && + ext_isinteger((~p)) ? +∫((~x)^(2*(~n)*(~p))*((~c) + (~b)*(~x)^(-(~n)) + (~a)*(~x)^(-2*(~n)))^(~p), (~x)) : nothing) + +("1_2_3_1_2", +@rule ∫(((~a) + (~!b)*(~x)^(~n) + (~!c)*(~x)^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + eq((~n2), 2*(~n)) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n)) - 1)*((~a) + (~b)*(~x)^(ext_den((~n))*(~n)) + (~c)*(~x)^(2*ext_den((~n))*(~n)))^(~p), (~x), (~x), (~x)^(1⨸ext_den((~n))), "1_2_3_1_2") : nothing) + +("1_2_3_1_3", +@rule ∫(((~a) + (~!b)*(~x)^(~n) + (~!c)*(~x)^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + eq((~n2), 2*(~n)) && + ilt((~n), 0) ? +-int_and_subst(((~a) + (~b)*(~x)^(-(~n)) + (~c)*(~x)^(-2*(~n)))^(~p)⨸(~x)^2, (~x), (~x), 1⨸(~x), "1_2_3_1_3") : nothing) + +("1_2_3_1_4", +@rule ∫(((~a) + (~!b)*(~x)^(~!n) + (~!c)*(~x)^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + eq((~b)^2 - 4*(~a)*(~c), 0) ? +((~a) + (~b)*(~x)^(~n) + (~c)*(~x)^(2*(~n)))^(~p)⨸((~b) + 2*(~c)*(~x)^(~n))^(2*(~p))* ∫(((~b) + 2*(~c)*(~x)^(~n))^(2*(~p)), (~x)) : nothing) + +("1_2_3_1_5", +@rule ∫(((~a) + (~!b)*(~x)^(~n) + (~!c)*(~x)^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + eq((~n2), 2*(~n)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + igt((~p), 0) ? +∫(ext_expand(((~a) + (~b)*(~x)^(~n) + (~c)*(~x)^(2*(~n)))^(~p), (~x)), (~x)) : nothing) + +("1_2_3_1_6", +@rule ∫(((~a) + (~!b)*(~x)^(~n) + (~!c)*(~x)^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + eq((~n2), 2*(~n)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ilt((~p), -1) ? +-(~x)*((~b)^2 - 2*(~a)*(~c) + (~b)*(~c)*(~x)^(~n))*((~a) + (~b)*(~x)^(~n) + (~c)*(~x)^(2*(~n)))^((~p) + 1)⨸((~a)* (~n)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c))) + 1⨸((~a)*(~n)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c)))* ∫(((~b)^2 - 2*(~a)*(~c) + (~n)*((~p) + 1)*((~b)^2 - 4*(~a)*(~c)) + (~b)*(~c)*((~n)*(2*(~p) + 3) + 1)*(~x)^(~n))*((~a) + (~b)*(~x)^(~n) + (~c)*(~x)^(2*(~n)))^((~p) + 1), (~x)) : nothing) + +("1_2_3_1_7", +@rule ∫(1/((~a) + (~!b)*(~x)^(~n) + (~!c)*(~x)^(~n2)),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + eq((~n2), 2*(~n)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + igt((~n)/2, 0) && + neg((~b)^2 - 4*(~a)*(~c)) ? +1⨸(2*(~c)*rt((~a)⨸(~c), 2)*rt(2*(~q) - (~b)⨸(~c), 2))*∫((rt(2*(~q) - (~b)⨸(~c), 2) - (~x)^((~n)⨸2))⨸(rt((~a)⨸(~c), 2) - rt(2*(~q) - (~b)⨸(~c), 2)*(~x)^((~n)⨸2) + (~x)^(~n)), (~x)) + 1⨸(2*(~c)*rt((~a)⨸(~c), 2)*rt(2*(~q) - (~b)⨸(~c), 2))*∫((rt(2*(~q) - (~b)⨸(~c), 2) + (~x)^((~n)⨸2))⨸(rt((~a)⨸(~c), 2) + rt(2*(~q) - (~b)⨸(~c), 2)*(~x)^((~n)⨸2) + (~x)^(~n)), (~x)) : nothing) + +("1_2_3_1_8", +@rule ∫(1/((~a) + (~!b)*(~x)^(~n) + (~!c)*(~x)^(~n2)),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + eq((~n2), 2*(~n)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +(~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(1⨸((~b)⨸2 - rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x)^(~n)), (~x)) - (~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(1⨸((~b)⨸2 + rt((~b)^2 - 4*(~a)*(~c), 2)⨸2 + (~c)*(~x)^(~n)), (~x)) : nothing) + +("1_2_3_1_9", +@rule ∫(((~a) + (~!b)*(~x)^(~n) + (~!c)*(~x)^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) ? +(~a)^intpart((~p))*((~a) + (~b)*(~x)^(~n) + (~c)*(~x)^(2*(~n)))^fracpart((~p))⨸ ((1 + 2*(~c)*(~x)^(~n)⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2)))^ fracpart((~p))*(1 + 2*(~c)*(~x)^(~n)⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2)))^fracpart((~p)))* ∫((1 + 2*(~c)*(~x)^(~n)⨸((~b) + sqrt((~b)^2 - 4*(~a)*(~c))))^ (~p)*(1 + 2*(~c)*(~x)^(~n)⨸((~b) - sqrt((~b)^2 - 4*(~a)*(~c))))^(~p), (~x)) : nothing) + +("1_2_3_1_10", +@rule ∫(((~a) + (~!b)*(~u)^(~n) + (~!c)*(~u)^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + linear((~u), (~x)) && + !eq((~u), (~x)) ? +1⨸ext_coeff((~u), (~x), 1)* int_and_subst(((~a) + (~b)*(~x)^(~n) + (~c)*(~x)^(2*(~n)))^(~p), (~x), (~x), (~u), "1_2_3_1_10") : nothing) + +("1_2_3_1_11", +@rule ∫(((~a) + (~!b)*(~x)^(~mn) + (~!c)*(~x)^(~!n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + eq((~mn), -(~n)) && + ext_isinteger((~p)) && + pos((~n)) ? +∫(((~b) + (~a)*(~x)^(~n) + (~c)*(~x)^(2*(~n)))^(~p)⨸(~x)^((~n)*(~p)), (~x)) : nothing) + +("1_2_3_1_12", +@rule ∫(((~a) + (~!b)*(~x)^(~mn) + (~!c)*(~x)^(~!n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~p), (~x)) && + eq((~mn), -(~n)) && + !(ext_isinteger((~p))) && + pos((~n)) ? +(~x)^((~n)*fracpart((~p)))*((~a) + (~b)*(~x)^(-(~n)) + (~c)*(~x)^(~n))^ fracpart((~p))⨸((~b) + (~a)*(~x)^(~n) + (~c)*(~x)^(2*(~n)))^fracpart((~p))* ∫(((~b) + (~a)*(~x)^(~n) + (~c)*(~x)^(2*(~n)))^(~p)⨸(~x)^((~n)*(~p)), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/1 Algebraic functions/1.3 Miscellaneous/1.3.4 Normalizing algebraic functions.jl b/src/methods/rule_based/rules2/1 Algebraic functions/1.3 Miscellaneous/1.3.4 Normalizing algebraic functions.jl new file mode 100644 index 0000000..e44f5c6 --- /dev/null +++ b/src/methods/rule_based/rules2/1 Algebraic functions/1.3 Miscellaneous/1.3.4 Normalizing algebraic functions.jl @@ -0,0 +1,468 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 1.3.4 Normalizing algebraic functions *) +("1_3_4_1", +@rule ∫((~!u)*((~!c)*((~d)*((~!a) + (~!b)* (~x)))^(~q))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~q), (~p), (~x)) && + !(ext_isinteger((~q))) && + !(ext_isinteger((~p))) ? +((~c)*((~d)*((~a) + (~b)*(~x)))^(~q))^(~p)⨸((~a) + (~b)*(~x))^((~p)*(~q))*∫((~u)*((~a) + (~b)*(~x))^((~p)*(~q)), (~x)) : nothing) + +("1_3_4_2", +@rule ∫((~!u)*((~!c)*((~!d)*((~!a) + (~!b)* (~x))^(~n))^(~q))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~q), (~p), (~x)) && + !(ext_isinteger((~q))) && + !(ext_isinteger((~p))) ? +((~c)*((~d)*((~a) + (~b)*(~x))^(~n))^(~q))^(~p)⨸((~a) + (~b)*(~x))^((~n)*(~p)*(~q))* ∫((~u)*((~a) + (~b)*(~x))^((~n)*(~p)*(~q)), (~x)) : nothing) + +("1_3_4_3", +@rule ∫((~!u)*((~!c)*((~!a) + (~!b)*(~x)^(~!n))^(~q))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~p), (~q), (~x)) && + ge((~a), 0) ? +simp(((~c)*((~a) + (~b)*(~x)^(~n))^(~q))^(~p)⨸((~a) + (~b)*(~x)^(~n))^((~p)*(~q)))* ∫((~u)*((~a) + (~b)*(~x)^(~n))^((~p)*(~q)), (~x)) : nothing) + +("1_3_4_4", +@rule ∫((~!u)*((~!c)*((~a) + (~!b)*(~x)^(~!n))^(~q))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~p), (~q), (~x)) && + !(ge((~a), 0)) ? +simp(((~c)*((~a) + (~b)*(~x)^(~n))^(~q))^(~p)⨸(1 + (~b)*(~x)^(~n)⨸(~a))^((~p)*(~q)))* ∫((~u)*(1 + (~b)*(~x)^(~n)⨸(~a))^((~p)*(~q)), (~x)) : nothing) + +("1_3_4_5", +@rule ∫((~!u)*((~!e)*((~!a) + (~!b)*(~x)^(~!n))^(~!q)*((~c) + (~!d)*(~x)^(~!n))^(~!q))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) && + ext_isinteger((~q)) && + eq((~b)*(~c) - (~a)*(~d), 0) ? +∫((~u)*((~e)*((~d)⨸(~b))^(~q)*((~a) + (~b)*(~x)^(~n))^(2*(~q)))^(~p), (~x)) : nothing) + +("1_3_4_6", +@rule ∫((~!u)*((~!e)*((~!a) + (~!b)*(~x)^(~!n))^(~q)*((~c) + (~!d)*(~x)^(~!n))^(~q))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) && + ext_isinteger((~q)) && + eq((~b)*(~c) + (~a)*(~d), 0) ? +∫((~u)*((~e)*(-(~a)^2*(~d)⨸(~b) + (~b)*(~d)*(~x)^(2*(~n)))^(~q))^(~p), (~x)) : nothing) + +#(* Int[u_.*((a_.+b_.*x_^n_.)*(c_+d_.*x_^n_.))^p_,x_Symbol] := Int[u*(a+b*x^n)^p*(c+d*x^n)^p,x] /; FreeQ[{a,b,c,d,n,p},x] && EqQ[b+d,0] && GtQ[a,0] && GtQ[c,0] *) +("1_3_4_7", +@rule ∫((~!u)*((~!e)*((~!a) + (~!b)*(~x)^(~!n))*((~c) + (~!d)*(~x)^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) ? +∫((~u)*((~a)*(~c)*(~e) + ((~b)*(~c) + (~a)*(~d))*(~e)*(~x)^(~n) + (~b)*(~d)*(~e)*(~x)^(2*(~n)))^(~p), (~x)) : nothing) + +("1_3_4_8", +@rule ∫((~!u)*((~!e)*((~!a) + (~!b)*(~x)^(~!n))/((~c) + (~!d)*(~x)^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) ? +((~b)*(~e)⨸(~d))^(~p)*∫((~u), (~x)) : nothing) + +("1_3_4_9", +@rule ∫((~!u)*((~!e)*((~!a) + (~!b)*(~x)^(~!n))/((~c) + (~!d)*(~x)^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) && + gt((~b)*(~d)*(~e), 0) && + gt((~c) - (~a)*(~d)/(~b), 0) ? +∫((~u)*((~a)*(~e) + (~b)*(~e)*(~x)^(~n))^(~p)⨸((~c) + (~d)*(~x)^(~n))^(~p), (~x)) : nothing) + +#(* Int[u_.*(e_.*(a_.+b_.*x_^n_.)/(c_+d_.*x_^n_.))^p_,x_Symbol] := Int[u*(a*e+b*e*x^n)^p/(c+d*x^n)^p,x] /; FreeQ[{a,b,c,d,e,n,p},x] && EqQ[b*c+a*d,0] && GtQ[b*e/d,0] && GtQ[c,0] *) +#(* Int[u_.*(e_.*(a_.+b_.*x_^n_.)/(c_+d_.*x_^n_.))^p_,x_Symbol] := Int[u*(-a*e-b*e*x^n)^p/(-c-d*x^n)^p,x] /; FreeQ[{a,b,c,d,e,n,p},x] && EqQ[b*c+a*d,0] && GtQ[b*e/d,0] && LtQ[c,0] *) +("1_3_4_10", +@rule ∫(((~!e)*((~!a) + (~!b)*(~x)^(~!n))/((~c) + (~!d)*(~x)^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + isfraction((~p)) && + ext_isinteger(1/(~n)) ? +ext_den((~p))*(~e)*((~b)*(~c) - (~a)*(~d))⨸(~n)*int_and_subst((~x)^(ext_den((~p))*((~p) + 1) - 1)*(-(~a)*(~e) + (~c)*(~x)^ext_den((~p)))^(1⨸(~n) - 1)⨸((~b)*(~e) - (~d)*(~x)^ext_den((~p)))^(1⨸(~n) + 1), (~x), (~x), ((~e)*((~a) + (~b)*(~x)^(~n))⨸((~c) + (~d)*(~x)^(~n)))^(1⨸ext_den((~p))), "1_3_4_10") : nothing) + +("1_3_4_11", +@rule ∫((~x)^(~!m)*((~!e)*((~!a) + (~!b)*(~x))/((~c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + isfraction((~p)) && + ext_isinteger((~m)) ? +ext_den((~p))*(~e)*((~b)*(~c) - (~a)*(~d))* int_and_subst( (~x)^(ext_den((~p))*((~p) + 1) - 1)*(-(~a)*(~e) + (~c)*(~x)^ext_den((~p)))^(~m)⨸((~b)*(~e) - (~d)*(~x)^ext_den((~p)))^((~m) + 2), (~x), (~x), ((~e)*((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))^(1⨸ext_den((~p))), "1_3_4_11") : nothing) + +("1_3_4_12", +@rule ∫((~x)^(~!m)*((~!e)*((~!a) + (~!b)*(~x)^(~!n))/((~c) + (~!d)*(~x)^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + ext_isinteger(simplify(((~m) + 1)/(~n))) ? +1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*((~e)*((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))^(~p), (~x), (~x), (~x)^(~n), "1_3_4_12") : nothing) + +("1_3_4_13", +@rule ∫(((~f)*(~x))^(~m)*((~!e)*((~!a) + (~!b)*(~x)^(~!n))/((~c) + (~!d)*(~x)^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + ext_isinteger(simplify(((~m) + 1)/(~n))) ? +simp(((~c)*(~x))^(~m)⨸(~x)^(~m))*∫((~x)^(~m)*((~e)*((~a) + (~b)*(~x)^(~n))⨸((~c) + (~d)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("1_3_4_14", +@rule ∫((~u)^(~!r)*((~!e)*((~!a) + (~!b)*(~x)^(~!n))/((~c) + (~!d)*(~x)^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + poly((~u), (~x)) && + isfraction((~p)) && + ext_isinteger(1/(~n)) && + ext_isinteger((~r)) ? +ext_den((~p))*(~e)*((~b)*(~c) - (~a)*(~d))⨸(~n)* int_and_subst( ext_simplify( (~x)^(ext_den((~p))*((~p) + 1) - 1)*(-(~a)*(~e) + (~c)*(~x)^ext_den((~p)))^(1⨸(~n) - 1)⨸((~b)*(~e) - (~d)*(~x)^ext_den((~p)))^(1⨸(~n) + 1)* substitute((~u), Dict( (~x) => (-(~a)*(~e) + (~c)*(~x)^ext_den((~p)))^(1⨸(~n))⨸((~b)*(~e) - (~d)*(~x)^ext_den((~p)))^(1⨸(~n))))^(~r), (~x)), (~x), (~x), ((~e)*((~a) + (~b)*(~x)^(~n))⨸((~c) + (~d)*(~x)^(~n)))^(1⨸ext_den((~p))), "1_3_4_14") : nothing) + +("1_3_4_15", +@rule ∫((~x)^(~!m)*(~u)^(~!r)*((~!e)*((~!a) + (~!b)*(~x)^(~!n))/((~c) + (~!d)*(~x)^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + poly((~u), (~x)) && + isfraction((~p)) && + ext_isinteger(1/(~n)) && + ext_isinteger((~m), (~r)) ? +ext_den((~p))*(~e)*((~b)*(~c) - (~a)*(~d))⨸(~n)* int_and_subst( ext_simplify( (~x)^(ext_den((~p))*((~p) + 1) - 1)*(-(~a)*(~e) + (~c)*(~x)^ext_den((~p)))^(((~m) + 1)⨸(~n) - 1)⨸((~b)*(~e) - (~d)*(~x)^ext_den((~p)))^(((~m) + 1)⨸(~n) + 1)* substitute((~u), Dict( (~x) => (-(~a)*(~e) + (~c)*(~x)^ext_den((~p)))^(1⨸(~n))⨸((~b)*(~e) - (~d)*(~x)^ext_den((~p)))^(1⨸(~n))))^(~r), (~x)), (~x), (~x), ((~e)*((~a) + (~b)*(~x)^(~n))⨸((~c) + (~d)*(~x)^(~n)))^(1⨸ext_den((~p))), "1_3_4_15") : nothing) + +("1_3_4_16", +@rule ∫((~!u)*((~a) + (~b)/((~c) + (~!d)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~x)) ? +∫((~u)*(((~b) + (~a)*(~c) + (~a)*(~d)*(~x)^(~n))⨸((~c) + (~d)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("1_3_4_17", +@rule ∫((~!u)*((~!e)*((~!a) + (~!b)*(~x)^(~!n))^(~!q)*((~c) + (~!d)*(~x)^(~n))^(~!r))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~q), (~r), (~x)) ? +simp(((~e)*((~a) + (~b)*(~x)^(~n))^(~q)*((~c) + (~d)*(~x)^(~n))^(~r))^ (~p)⨸(((~a) + (~b)*(~x)^(~n))^((~p)*(~q))*((~c) + (~d)*(~x)^(~n))^((~p)*(~r))))* ∫((~u)*((~a) + (~b)*(~x)^(~n))^((~p)*(~q))*((~c) + (~d)*(~x)^(~n))^((~p)*(~r)), (~x)) : nothing) + +("1_3_4_18", +@rule ∫(((~!a) + (~!b)*((~c)/(~x))^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~p), (~x)) ? +-(~c)*int_and_subst(((~a) + (~b)*(~x)^(~n))^(~p)⨸(~x)^2, (~x), (~x), (~c)⨸(~x), "1_3_4_18") : nothing) + +("1_3_4_19", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*((~c)/(~x))^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~p), (~x)) && + ext_isinteger((~m)) ? +-(~c)^((~m) + 1)*int_and_subst(((~a) + (~b)*(~x)^(~n))^(~p)⨸(~x)^((~m) + 2), (~x), (~x), (~c)⨸(~x), "1_3_4_19") : nothing) + +("1_3_4_20", +@rule ∫(((~!d)*(~x))^(~m)*((~!a) + (~!b)*((~c)/(~x))^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) ? +-(~c)*((~d)*(~x))^(~m)*((~c)⨸(~x))^(~m)*int_and_subst(((~a) + (~b)*(~x)^(~n))^(~p)⨸(~x)^((~m) + 2), (~x), (~x), (~c)⨸(~x), "1_3_4_20") : nothing) + +("1_3_4_21", +@rule ∫(((~!a) + (~!b)*((~d)/(~x))^(~n) + (~!c)*((~d)/(~x))^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) ? +-(~d)*int_and_subst(((~a) + (~b)*(~x)^(~n) + (~c)*(~x)^(2*(~n)))^(~p)⨸(~x)^2, (~x), (~x), (~d)⨸(~x), "1_3_4_21") : nothing) + +("1_3_4_22", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*((~d)/(~x))^(~n) + (~!c)*((~d)/(~x))^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + ext_isinteger((~m)) ? +-(~d)^((~m) + 1)* int_and_subst(((~a) + (~b)*(~x)^(~n) + (~c)*(~x)^(2*(~n)))^(~p)⨸(~x)^((~m) + 2), (~x), (~x), (~d)⨸(~x), "1_3_4_22") : nothing) + +("1_3_4_23", +@rule ∫(((~!e)*(~x))^(~m)*((~a) + (~!b)*((~d)/(~x))^(~n) + (~!c)*((~d)/(~x))^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + !(ext_isinteger((~m))) ? +-(~d)*((~e)*(~x))^(~m)*((~d)⨸(~x))^(~m)* int_and_subst(((~a) + (~b)*(~x)^(~n) + (~c)*(~x)^(2*(~n)))^(~p)⨸(~x)^((~m) + 2), (~x), (~x), (~d)⨸(~x), "1_3_4_23") : nothing) + +("1_3_4_24", +@rule ∫(((~!a) + (~!b)*((~d)/(~x))^(~n) + (~!c)*(~x)^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~x)) && + eq((~n2), -2*(~n)) && + ext_isinteger(2*(~n)) ? +-(~d)*int_and_subst(((~a) + (~b)*(~x)^(~n) + (~c)⨸(~d)^(2*(~n))*(~x)^(2*(~n)))^(~p)⨸(~x)^2, (~x), (~x), (~d)⨸(~x), "1_3_4_24") : nothing) + +("1_3_4_25", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*((~d)/(~x))^(~n) + (~!c)*(~x)^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~x)) && + eq((~n2), -2*(~n)) && + ext_isinteger(2*(~n)) && + ext_isinteger((~m)) ? +-(~d)^((~m) + 1)* int_and_subst(((~a) + (~b)*(~x)^(~n) + (~c)⨸(~d)^(2*(~n))*(~x)^(2*(~n)))^(~p)⨸(~x)^((~m) + 2), (~x), (~x), (~d)⨸(~x), "1_3_4_25") : nothing) + +("1_3_4_26", +@rule ∫(((~!e)*(~x))^(~m)*((~a) + (~!b)*((~d)/(~x))^(~n) + (~!c)*(~x)^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) && + eq((~n2), -2*(~n)) && + !(ext_isinteger((~m))) && + ext_isinteger(2*(~n)) ? +-(~d)*((~e)*(~x))^(~m)*((~d)⨸(~x))^(~m)* int_and_subst(((~a) + (~b)*(~x)^(~n) + (~c)⨸(~d)^(2*(~n))*(~x)^(2*(~n)))^(~p)⨸(~x)^((~m) + 2), (~x), (~x), (~d)⨸(~x), "1_3_4_26") : nothing) + +("1_3_4_27", +@rule ∫((~!u)*((~!e)*((~a) + (~!b)*(~x)^(~!n))^(~!r))^(~p)*((~!f)*((~c) + (~!d)*(~x)^(~!n))^(~s))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~q), (~r), (~s), (~x)) ? +((~e)*((~a) + (~b)*(~x)^(~n))^(~r))^ (~p)*((~f)*((~c) + (~d)*(~x)^(~n))^(~s))^(~q)⨸(((~a) + (~b)*(~x)^(~n))^((~p)*(~r))*((~c) + (~d)*(~x)^(~n))^((~q)*(~s)))* ∫((~u)*((~a) + (~b)*(~x)^(~n))^((~p)*(~r))*((~c) + (~d)*(~x)^(~n))^((~q)*(~s)), (~x)) : nothing) + +("1_3_4_28", +@rule ∫((~u)^(~m),(~x)) => + !contains_var((~m), (~x)) && + linear((~u), (~x)) && + !(linear_without_simplify((~u), (~x))) ? +∫(expand_to_sum((~u), (~x))^(~m), (~x)) : nothing) + +("1_3_4_29", +@rule ∫((~u)^(~!m)*(~v)^(~!n),(~x)) => + !contains_var((~m), (~n), (~x)) && + linear((~u), (~v), (~x)) && + !(linear_without_simplify((~u), (~v), (~x))) ? +∫(expand_to_sum((~u), (~x))^(~m)*expand_to_sum((~v), (~x))^(~n), (~x)) : nothing) + +("1_3_4_30", +@rule ∫((~u)^(~!m)*(~v)^(~!n)*(~w)^(~!p),(~x)) => + !contains_var((~m), (~n), (~p), (~x)) && + linear((~u), (~v), (~w), (~x)) && + !(linear_without_simplify((~u), (~v), (~w), (~x))) ? +∫(expand_to_sum((~u), (~x))^(~m)*expand_to_sum((~v), (~x))^(~n)*expand_to_sum((~w), (~x))^(~p), (~x)) : nothing) + +("1_3_4_31", +@rule ∫((~u)^(~!m)*(~v)^(~!n)*(~w)^(~!p)*(~z)^(~!q),(~x)) => + !contains_var((~m), (~n), (~p), (~q), (~x)) && + linear((~u), (~v), (~w), (~z), (~x)) && + !(linear_without_simplify((~u), (~v), (~w), (~z), (~x))) ? +∫(expand_to_sum((~u), (~x))^(~m)*expand_to_sum((~v), (~x))^(~n)*expand_to_sum((~w), (~x))^(~p)* expand_to_sum((~z), (~x))^(~q), (~x)) : nothing) + +("1_3_4_32", +@rule ∫((~u)^(~p),(~x)) => + !contains_var((~p), (~x)) && + isbinomial((~u), (~x)) && + !(binomial_without_simplify((~u), (~x))) ? +∫(expand_to_sum((~u), (~x))^(~p), (~x)) : nothing) + +("1_3_4_33", +@rule ∫(((~!c)*(~x))^(~!m)*(~u)^(~!p),(~x)) => + !contains_var((~c), (~m), (~p), (~x)) && + isbinomial((~u), (~x)) && + !(binomial_without_simplify((~u), (~x))) ? +∫(((~c)*(~x))^(~m)*expand_to_sum((~u), (~x))^(~p), (~x)) : nothing) + +("1_3_4_34", +@rule ∫((~u)^(~!p)*(~v)^(~!q),(~x)) => + !contains_var((~p), (~q), (~x)) && + isbinomial([(~u), (~v)], (~x)) && + eq(binomial_degree((~u), (~x)) - binomial_degree((~v), (~x)), 0) && + !(binomial_without_simplify([(~u), (~v)], (~x))) ? +∫(expand_to_sum((~u), (~x))^(~p)*expand_to_sum((~v), (~x))^(~q), (~x)) : nothing) + +("1_3_4_35", +@rule ∫(((~!e)*(~x))^(~!m)*(~u)^(~!p)*(~v)^(~!q),(~x)) => + !contains_var((~e), (~m), (~p), (~q), (~x)) && + isbinomial([(~u), (~v)], (~x)) && + eq(binomial_degree((~u), (~x)) - binomial_degree((~v), (~x)), 0) && + !(binomial_without_simplify([(~u), (~v)], (~x))) ? +∫(((~e)*(~x))^(~m)*expand_to_sum((~u), (~x))^(~p)*expand_to_sum((~v), (~x))^(~q), (~x)) : nothing) + +("1_3_4_36", +@rule ∫((~u)^(~!m)*(~v)^(~!p)*(~w)^(~!q),(~x)) => + !contains_var((~m), (~p), (~q), (~x)) && + isbinomial([(~u), (~v), (~w)], (~x)) && + eq(binomial_degree((~u), (~x)) - binomial_degree((~v), (~x)), 0) && + eq(binomial_degree((~u), (~x)) - binomial_degree((~w), (~x)), 0) && + !(binomial_without_simplify([(~u), (~v), (~w)], (~x))) ? +∫(expand_to_sum((~u), (~x))^(~m)*expand_to_sum((~v), (~x))^(~p)*expand_to_sum((~w), (~x))^(~q), (~x)) : nothing) + +("1_3_4_37", +@rule ∫(((~!g)*(~x))^(~!m)*(~u)^(~!p)*(~v)^(~!q)*(~z)^(~!r),(~x)) => + !contains_var((~g), (~m), (~p), (~q), (~r), (~x)) && + isbinomial([(~u), (~v), (~z)], (~x)) && + eq(binomial_degree((~u), (~x)) - binomial_degree((~v), (~x)), 0) && + eq(binomial_degree((~u), (~x)) - binomial_degree((~z), (~x)), 0) && + !(binomial_without_simplify([(~u), (~v), (~z)], (~x))) ? +∫(((~g)*(~x))^(~m)*expand_to_sum((~u), (~x))^(~p)*expand_to_sum((~v), (~x))^(~q)* expand_to_sum((~z), (~x))^(~r), (~x)) : nothing) + +("1_3_4_38", +@rule ∫(((~!c)*(~x))^(~!m)*(~Pq)*(~u)^(~!p),(~x)) => + !contains_var((~c), (~m), (~p), (~x)) && + poly((~Pq), (~x)) && + isbinomial((~u), (~x)) && + !(binomial_without_simplify((~u), (~x))) ? +∫(((~c)*(~x))^(~m)*(~Pq)*expand_to_sum((~u), (~x))^(~p), (~x)) : nothing) + +("1_3_4_39", +@rule ∫((~u)^(~p),(~x)) => + !contains_var((~p), (~x)) && + generalized_binomial((~u), (~x)) && + !(generalized_binomial_without_simplify((~u), (~x))) ? +∫(expand_to_sum((~u), (~x))^(~p), (~x)) : nothing) + +("1_3_4_40", +@rule ∫(((~!c)*(~x))^(~!m)*(~u)^(~!p),(~x)) => + !contains_var((~c), (~m), (~p), (~x)) && + generalized_binomial((~u), (~x)) && + !(generalized_binomial_without_simplify((~u), (~x))) ? +∫(((~c)*(~x))^(~m)*expand_to_sum((~u), (~x))^(~p), (~x)) : nothing) + +("1_3_4_41", +@rule ∫((~u)^(~p),(~x)) => + !contains_var((~p), (~x)) && + quadratic((~u), (~x)) && + !(quadratic_without_simplify((~u), (~x))) ? +∫(expand_to_sum((~u), (~x))^(~p), (~x)) : nothing) + +("1_3_4_42", +@rule ∫((~u)^(~!m)*(~v)^(~!p),(~x)) => + !contains_var((~m), (~p), (~x)) && + linear((~u), (~x)) && + quadratic((~v), (~x)) && + !( + linear_without_simplify((~u), (~x)) && + quadratic_without_simplify((~v), (~x)) + ) ? +∫(expand_to_sum((~u), (~x))^(~m)*expand_to_sum((~v), (~x))^(~p), (~x)) : nothing) + +("1_3_4_43", +@rule ∫((~u)^(~!m)*(~v)^(~!n)*(~w)^(~!p),(~x)) => + !contains_var((~m), (~n), (~p), (~x)) && + linear((~u), (~v), (~x)) && + quadratic((~w), (~x)) && + !( + linear_without_simplify((~u), (~v), (~x)) && + quadratic_without_simplify((~w), (~x)) + ) ? +∫(expand_to_sum((~u), (~x))^(~m)*expand_to_sum((~v), (~x))^(~n)*expand_to_sum((~w), (~x))^(~p), (~x)) : nothing) + +("1_3_4_44", +@rule ∫((~u)^(~!p)*(~v)^(~!q),(~x)) => + !contains_var((~p), (~q), (~x)) && + quadratic((~u), (~x)) && + quadratic((~v), (~x))&& + !( + quadratic_without_simplify((~u), (~x)) && + quadratic_without_simplify((~v), (~x)) + ) ? +∫(expand_to_sum((~u), (~x))^(~p)*expand_to_sum((~v), (~x))^(~q), (~x)) : nothing) + +("1_3_4_45", +@rule ∫((~z)^(~!m)*(~u)^(~!p)*(~v)^(~!q),(~x)) => + !contains_var((~m), (~p), (~q), (~x)) && + linear((~z), (~x)) && + quadratic((~u), (~x)) && + quadratic((~v), (~x))&& + !( + linear_without_simplify((~z), (~x)) && + quadratic_without_simplify((~u), (~x)) && + quadratic_without_simplify((~v), (~x)) + ) ? +∫(expand_to_sum((~z), (~x))^(~m)*expand_to_sum((~u), (~x))^(~p)*expand_to_sum((~v), (~x))^(~q), (~x)) : nothing) + +("1_3_4_46", +@rule ∫((~Pq)*(~u)^(~!p),(~x)) => + !contains_var((~p), (~x)) && + poly((~Pq), (~x)) && + quadratic((~u), (~x)) && + !(quadratic_without_simplify((~u), (~x))) ? +∫((~Pq)*expand_to_sum((~u), (~x))^(~p), (~x)) : nothing) + +("1_3_4_47", +@rule ∫((~u)^(~!m)*(~Pq)*(~v)^(~!p),(~x)) => + !contains_var((~m), (~p), (~x)) && + poly((~Pq), (~x)) && + linear((~u), (~x)) && + quadratic((~v), (~x)) && + !( + linear_without_simplify((~u), (~x)) && + quadratic_without_simplify((~v), (~x)) + ) ? +∫(expand_to_sum((~u), (~x))^(~m)*(~Pq)*expand_to_sum((~v), (~x))^(~p), (~x)) : nothing) + +("1_3_4_48", +@rule ∫((~u)^(~p),(~x)) => + !contains_var((~p), (~x)) && + trinomial((~u), (~x)) && + !(trinomial_without_simplify((~u), (~x))) ? +∫(expand_to_sum((~u), (~x))^(~p), (~x)) : nothing) + +("1_3_4_49", +@rule ∫(((~!d)*(~x))^(~!m)*(~u)^(~!p),(~x)) => + !contains_var((~d), (~m), (~p), (~x)) && + trinomial((~u), (~x)) && + !(trinomial_without_simplify((~u), (~x))) ? +∫(((~d)*(~x))^(~m)*expand_to_sum((~u), (~x))^(~p), (~x)) : nothing) + +("1_3_4_50", +@rule ∫((~u)^(~!q)*(~v)^(~!p),(~x)) => + !contains_var((~p), (~q), (~x)) && + isbinomial((~u), (~x)) && + trinomial((~v), (~x)) && + !( + binomial_without_simplify((~u), (~x)) && + trinomial_without_simplify((~v), (~x)) + ) ? +∫(expand_to_sum((~u), (~x))^(~q)*expand_to_sum((~v), (~x))^(~p), (~x)) : nothing) + +("1_3_4_51", +@rule ∫((~u)^(~!q)*(~v)^(~!p),(~x)) => + !contains_var((~p), (~q), (~x)) && + isbinomial((~u), (~x)) && + isbinomial((~v), (~x)) && + !( + binomial_without_simplify((~u), (~x)) && + binomial_without_simplify((~v), (~x)) + ) ? +∫(expand_to_sum((~u), (~x))^(~q)*expand_to_sum((~v), (~x))^(~p), (~x)) : nothing) + +("1_3_4_52", +@rule ∫(((~!f)*(~x))^(~!m)*(~z)^(~!q)*(~u)^(~!p),(~x)) => + !contains_var((~f), (~m), (~p), (~q), (~x)) && + isbinomial((~z), (~x)) && + trinomial((~u), (~x)) && + !( + binomial_without_simplify((~z), (~x)) && + trinomial_without_simplify((~u), (~x)) + ) ? +∫(((~f)*(~x))^(~m)*expand_to_sum((~z), (~x))^(~q)*expand_to_sum((~u), (~x))^(~p), (~x)) : nothing) + +("1_3_4_53", +@rule ∫(((~!f)*(~x))^(~!m)*(~z)^(~!q)*(~u)^(~!p),(~x)) => + !contains_var((~f), (~m), (~p), (~q), (~x)) && + isbinomial((~z), (~x)) && + isbinomial((~u), (~x)) && + !( + binomial_without_simplify((~z), (~x)) && + binomial_without_simplify((~u), (~x)) + ) ? +∫(((~f)*(~x))^(~m)*expand_to_sum((~z), (~x))^(~q)*expand_to_sum((~u), (~x))^(~p), (~x)) : nothing) + +("1_3_4_54", +@rule ∫((~Pq)*(~u)^(~!p),(~x)) => + !contains_var((~p), (~x)) && + poly((~Pq), (~x)) && + trinomial((~u), (~x)) && + !(trinomial_without_simplify((~u), (~x))) ? +∫((~Pq)*expand_to_sum((~u), (~x))^(~p), (~x)) : nothing) + +("1_3_4_55", +@rule ∫(((~!d)*(~x))^(~!m)*(~Pq)*(~u)^(~!p),(~x)) => + !contains_var((~d), (~m), (~p), (~x)) && + poly((~Pq), (~x)) && + trinomial((~u), (~x)) && + !(trinomial_without_simplify((~u), (~x))) ? +∫(((~d)*(~x))^(~m)*(~Pq)*expand_to_sum((~u), (~x))^(~p), (~x)) : nothing) + +("1_3_4_56", +@rule ∫((~u)^(~p),(~x)) => + !contains_var((~p), (~x)) && + generalized_trinomial((~u), (~x)) && + !(generalized_trinomial_without_simplify((~u), (~x))) ? +∫(expand_to_sum((~u), (~x))^(~p), (~x)) : nothing) + +("1_3_4_57", +@rule ∫(((~!d)*(~x))^(~!m)*(~u)^(~!p),(~x)) => + !contains_var((~d), (~m), (~p), (~x)) && + generalized_trinomial((~u), (~x)) && + !(generalized_trinomial_without_simplify((~u), (~x))) ? +∫(((~d)*(~x))^(~m)*expand_to_sum((~u), (~x))^(~p), (~x)) : nothing) + +("1_3_4_58", +@rule ∫((~z)*(~u)^(~!p),(~x)) => + !contains_var((~p), (~x)) && + isbinomial((~z), (~x)) && + generalized_trinomial((~u), (~x)) && + eq(binomial_degree((~z), (~x)) - generalized_trinomial_degree((~u), (~x)), 0) && + !( + binomial_without_simplify((~z), (~x)) && + generalized_trinomial_without_simplify((~u), (~x)) + ) ? +∫(expand_to_sum((~z), (~x))*expand_to_sum((~u), (~x))^(~p), (~x)) : nothing) + +("1_3_4_59", +@rule ∫(((~!f)*(~x))^(~!m)*(~z)*(~u)^(~!p),(~x)) => + !contains_var((~f), (~m), (~p), (~x)) && + isbinomial((~z), (~x)) && + generalized_trinomial((~u), (~x)) && + eq(binomial_degree((~z), (~x)) - generalized_trinomial_degree((~u), (~x)), 0) && + !( + binomial_without_simplify((~z), (~x)) && + generalized_trinomial_without_simplify((~u), (~x)) + ) ? +∫(((~f)*(~x))^(~m)*expand_to_sum((~z), (~x))*expand_to_sum((~u), (~x))^(~p), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/2 Exponentials/2.1 (c+d x)^m (a+b (F^(g (e+f x)))^n)^p.jl b/src/methods/rule_based/rules2/2 Exponentials/2.1 (c+d x)^m (a+b (F^(g (e+f x)))^n)^p.jl new file mode 100644 index 0000000..cb1533d --- /dev/null +++ b/src/methods/rule_based/rules2/2 Exponentials/2.1 (c+d x)^m (a+b (F^(g (e+f x)))^n)^p.jl @@ -0,0 +1,106 @@ +file_rules = [ +# (* ::Subsection::Closed:: *) +# (* 2.1 (c+d x)^m (a+b (F^(g (e+f x)))^n)^p *) +("2_1_1", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~!b)*(~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n),(~x)) => + !contains_var((~F), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + gt((~m), 0) && + ext_isinteger(2*(~m)) && + !(USE_GAMMA) ? +((~c) + (~d)*(~x))^(~m)*((~b)*(~F)^((~g)*((~e) + (~f)*(~x))))^(~n)⨸((~f)*(~g)*(~n)*log((~F))) - (~d)*(~m)⨸((~f)*(~g)*(~n)*log((~F)))* ∫(((~c) + (~d)*(~x))^((~m) - 1)*((~b)*(~F)^((~g)*((~e) + (~f)*(~x))))^(~n), (~x)) : nothing) + +("2_1_2", +@rule ∫(((~!c) + (~!d)*(~x))^(~m)*((~!b)*(~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n),(~x)) => + !contains_var((~F), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + lt((~m), -1) && + ext_isinteger(2*(~m)) && + !(USE_GAMMA) ? +((~c) + (~d)*(~x))^((~m) + 1)*((~b)*(~F)^((~g)*((~e) + (~f)*(~x))))^(~n)⨸((~d)*((~m) + 1)) - (~f)*(~g)*(~n)*log((~F))⨸((~d)*((~m) + 1))* ∫(((~c) + (~d)*(~x))^((~m) + 1)*((~b)*(~F)^((~g)*((~e) + (~f)*(~x))))^(~n), (~x)) : nothing) + +("2_1_3", +@rule ∫((~F)^((~!g)*((~!e) + (~!f)*(~x)))/((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~F), (~c), (~d), (~e), (~f), (~g), (~x)) && + !(USE_GAMMA) ? +(~F)^((~g)*((~e) - (~c)*(~f)⨸(~d)))⨸(~d)*SymbolicUtils.expinti((~f)*(~g)*((~c) + (~d)*(~x))*log((~F))⨸(~d)) : nothing) + +("2_1_4", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*(~F)^((~!g)*((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~F), (~c), (~d), (~e), (~f), (~g), (~x)) && + ext_isinteger((~m)) ? +(-(~d))^(~m)*(~F)^((~g)*((~e) - (~c)*(~f)⨸(~d)))⨸((~f)^((~m) + 1)*(~g)^((~m) + 1)*log((~F))^((~m) + 1))* SymbolicUtils.gamma((~m) + 1, -(~f)*(~g)*log((~F))⨸(~d)*((~c) + (~d)*(~x))) : nothing) + +("2_1_5", +@rule ∫((~F)^((~!g)*((~!e) + (~!f)*(~x)))/sqrt((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~F), (~c), (~d), (~e), (~f), (~g), (~x)) && + !(USE_GAMMA) ? +2⨸(~d)*int_and_subst((~F)^((~g)*((~e) - (~c)*(~f)⨸(~d)) + (~f)*(~g)*(~x)^2⨸(~d)), (~x), (~x), sqrt((~c) + (~d)*(~x)), "2_1_5") : nothing) + +("2_1_6", +@rule ∫(((~!c) + (~!d)*(~x))^(~m)*(~F)^((~!g)*((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~F), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + !(ext_isinteger((~m))) ? +-(~F)^((~g)*((~e) - (~c)*(~f)⨸(~d)))*((~c) + (~d)*(~x))^ fracpart( (~m))⨸((~d)*(-(~f)*(~g)*log((~F))⨸(~d))^(intpart((~m)) + 1)*(-(~f)*(~g)* log((~F))*((~c) + (~d)*(~x))⨸(~d))^fracpart((~m)))* SymbolicUtils.gamma((~m) + 1, (-(~f)*(~g)*log((~F))⨸(~d))*((~c) + (~d)*(~x))) : nothing) + +("2_1_7", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~!b)*(~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~n),(~x)) => + !contains_var((~F), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~x)) ? +((~b)*(~F)^((~g)*((~e) + (~f)*(~x))))^(~n)⨸(~F)^((~g)*(~n)*((~e) + (~f)*(~x)))* ∫(((~c) + (~d)*(~x))^(~m)*(~F)^((~g)*(~n)*((~e) + (~f)*(~x))), (~x)) : nothing) + +("2_1_8", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~a) + (~!b)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n))^(~!p),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~x)) && + igt((~p), 0) ? +∫(ext_expand(((~c) + (~d)*(~x))^(~m), ((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n))^(~p), (~x)), (~x)) : nothing) + +("2_1_9", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)/((~a) + (~!b)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + igt((~m), 0) ? +((~c) + (~d)*(~x))^((~m) + 1)⨸((~a)*(~d)*((~m) + 1)) - (~b)⨸(~a)*∫(((~c) + (~d)*(~x))^ (~m)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n)⨸((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n)), (~x)) : nothing) + +# (* Int[(c_.+d_.*x_)^m_./(a_+b_.*(F_^(g_.*(e_.+f_.*x_)))^n_.),x_Symbol] := -(c+d*x)^m/(a*f*g*n*Log[F])*Log[1+a/(b*(F^(g*(e+f*x)))^n)] + d*m/(a*f*g*n*Log[F])*Int[(c+d*x)^(m-1)*Log[1+a/(b*(F^(g*(e+f*x)))^n) ],x] /; FreeQ[{F,a,b,c,d,e,f,g,n},x] && IGtQ[m,0] *) +("2_1_10", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~a) + (~!b)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n))^(~p),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + ilt((~p), 0) && + igt((~m), 0) ? +1⨸(~a)*∫(((~c) + (~d)*(~x))^(~m)*((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n))^((~p) + 1), (~x)) - (~b)⨸(~a)* ∫(((~c) + (~d)*(~x))^(~m)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n)*((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n))^(~p), (~x)) : nothing) + +# TODO find definition of Dist and NormalizePowerOfLinear functinos.... where are they!!!!!?????? +# ("2_1_11", +# @rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~a) + (~!b)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n))^(~p),(~x)) => +# !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && +# igt((~m), 0) && +# lt((~p), -1) ? +# Dist[((~c) + (~d)*(~x))^(~m), IntHide[((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n))^(~p), (~x)], (~x)] - (~d)*(~m)*∫(((~c) + (~d)*(~x))^((~m) - 1)*IntHide[((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n))^(~p), (~x)), (~x)] : nothing) + +# ("2_1_12", +# @rule ∫((~u)^(~!m)*((~!a) + (~!b)*((~F)^((~!g)*(~v)))^(~!n))^(~!p),(~x)) => +# !contains_var((~F), (~a), (~b), (~g), (~n), (~p), (~x)) && +# linear((~v), (~x)) && +# PowerOflinear((~u), (~x)) && +# !( +# linear_without_simplify((~v), (~x)) && +# PowerOflinear_without_simplify((~u), (~x)) +# ) && +# ext_isinteger((~m)) ? +# ∫(NormalizePowerOfLinear[(~u), (~x))^ (~m)*((~a) + (~b)*((~F)^((~g)*expand_to_sum((~v), (~x)]))^(~n))^(~p), (~x)) : nothing) +# +# ("2_1_13", +# @rule ∫((~u)^(~!m)*((~!a) + (~!b)*((~F)^((~!g)*(~v)))^(~!n))^(~!p),(~x)) => +# !contains_var((~F), (~a), (~b), (~g), (~m), (~n), (~p), (~x)) && +# linear((~v), (~x)) && +# PowerOflinear((~u), (~x)) && +# !( +# linear_without_simplify((~v), (~x)) && +# PowerOflinear_without_simplify((~u), (~x)) +# ) && +# !(ext_isinteger((~m))) ? +# Module[{(~uu) = NormalizePowerOfLinear[(~u), (~x)], (~z)}, (~z) = (~If)[PowerQ[(~uu)] && FreeQ[(~uu)[[2]], (~x)], (~uu)[[1]]^((~m)*(~uu)[[2]]), (~uu)^(~m)]; (~uu)^(~m)⨸(~z)*∫((~z)*((~a) + (~b)*((~F)^((~g)*expand_to_sum((~v), (~x))))^(~n))^(~p), (~x))] : nothing) +# +# ("2_1_14", +# @rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~a) + (~!b)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~c) + (~d)*(~x))^(~m)*((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n))^(~p), (~x)] : nothing) + +] diff --git a/src/methods/rule_based/rules2/2 Exponentials/2.2 (c+d x)^m (F^(g (e+f x)))^n (a+b (F^(g (e+f x)))^n)^p.jl b/src/methods/rule_based/rules2/2 Exponentials/2.2 (c+d x)^m (F^(g (e+f x)))^n (a+b (F^(g (e+f x)))^n)^p.jl new file mode 100644 index 0000000..3bb6413 --- /dev/null +++ b/src/methods/rule_based/rules2/2 Exponentials/2.2 (c+d x)^m (F^(g (e+f x)))^n (a+b (F^(g (e+f x)))^n)^p.jl @@ -0,0 +1,28 @@ +file_rules = [ +# (* ::Subsection::Closed:: *) +# (* 2.2 (c+d x)^m (F^(g (e+f x)))^n (a+b (F^(g (e+f x)))^n)^p *) +("2_2_1", +@rule ∫(((~!c) + (~!d)*(~x))^ (~!m)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^ (~!n)/((~a) + (~!b)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + igt((~m), 0) ? +((~c) + (~d)*(~x))^(~m)⨸((~b)*(~f)*(~g)*(~n)*log((~F)))*log(1 + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n)⨸(~a)) - (~d)*(~m)⨸((~b)*(~f)*(~g)*(~n)*log((~F)))* ∫(((~c) + (~d)*(~x))^((~m) - 1)*log(1 + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n)⨸(~a)), (~x)) : nothing) + +("2_2_2", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^ (~!n)*((~!a) + (~!b)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n))^(~!p),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + !eq((~p), -1) ? +((~c) + (~d)*(~x))^ (~m)*((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n))^((~p) + 1)⨸((~b)*(~f)*(~g)*(~n)*((~p) + 1)* log((~F))) - (~d)*(~m)⨸((~b)*(~f)*(~g)*(~n)*((~p) + 1)*log((~F)))* ∫(((~c) + (~d)*(~x))^((~m) - 1)*((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n))^((~p) + 1), (~x)) : nothing) + +# ("2_2_3", +# @rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^ (~!n)*((~!a) + (~!b)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n))^(~!p),(~x)) => +# !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~c) + (~d)*(~x))^(~m)*((~F)^((~g)*((~e) + (~f)*(~x))))^ (~n)*((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n))^(~p), (~x)] : nothing) + +("2_2_4", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~!k)*(~G)^((~!j)*((~!h) + (~!i)*(~x))))^ (~!q)*((~!a) + (~!b)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n))^(~!p),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~j), (~k), (~m), (~n), (~p), (~q), (~x)) && + eq((~f)*(~g)*(~n)*log((~F)) - (~i)*(~j)*(~q)*log((~G)), 0) && + !eq(((~k)*(~G)^((~j)*((~h) + (~i)*(~x))))^(~q) - ((~F)^((~g)*((~e) + (~f)*(~x))))^(~n), 0) ? +((~k)*(~G)^((~j)*((~h) + (~i)*(~x))))^(~q)⨸((~F)^((~g)*((~e) + (~f)*(~x))))^(~n)* ∫(((~c) + (~d)*(~x))^(~m)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n)*((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n))^(~p), (~x)) : nothing) + +] diff --git a/src/methods/rule_based/rules2/2 Exponentials/2.3 Miscellaneous exponentials.jl b/src/methods/rule_based/rules2/2 Exponentials/2.3 Miscellaneous exponentials.jl new file mode 100644 index 0000000..74d4120 --- /dev/null +++ b/src/methods/rule_based/rules2/2 Exponentials/2.3 Miscellaneous exponentials.jl @@ -0,0 +1,772 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 2.3 Miscellaneous exponentials *) +("2_3_1", +@rule ∫(((~F)^((~!c)*((~!a) + (~!b)*(~x))))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~n), (~x)) ? +((~F)^((~c)*((~a) + (~b)*(~x))))^(~n)⨸((~b)*(~c)*(~n)*log((~F))) : nothing) + +("2_3_2", +@rule ∫((~u)*(~F)^((~!c)*(~v)),(~x)) => + !contains_var((~F), (~c), (~x)) && + poly((~u), (~x)) && + linear((~v), (~x)) && + USE_GAMMA ? +∫(ext_expand((~u)*(~F)^((~c)*expand_to_sum((~v), (~x))), (~x)), (~x)) : nothing) + +("2_3_3", +@rule ∫((~u)*(~F)^((~!c)*(~v)),(~x)) => + !contains_var((~F), (~c), (~x)) && + poly((~u), (~x)) && + linear((~v), (~x)) && + !(USE_GAMMA) ? +∫(ext_expand((~F)^((~c)*expand_to_sum((~v), (~x))), (~u), (~x)), (~x)) : nothing) + +("2_3_4", +@rule ∫((~u)^(~!m)*(~F)^((~!c)*(~v))*(~w),(~x)) => + eq(ext_coeff((~u), (~x))*ext_coeff((~w), (~x))*((~m) + 1) - ext_coeff((~v), (~x))*(~c)*(ext_coeff((~u), (~x))*ext_coeff((~w), 1) - ext_coeff((~u), 1)*ext_coeff((~w), (~x)))*log((~F)), 0) && + !contains_var((~F), (~c), (~m), (~x)) && + linear((~u), (~v), (~w), (~x)) ? +ext_coeff((~w), (~x))*(~u)^((~m) + 1)*(~F)^((~c)*(~v))⨸(ext_coeff((~v), (~x))*(~c)*ext_coeff((~u), (~x))*log((~F))) : nothing) + +# ("2_3_5", +# @rule ∫((~w)*(~u)^(~!m)*(~F)^((~!c)*(~v)),(~x)) => +# !contains_var((~F), (~c), (~x)) && +# poly((~w), (~x)) && +# linear((~v), (~x)) && +# PowerOflinear((~u), (~x)) && +# ext_isinteger((~m)) && +# USE_GAMMA ? +# ∫(ext_expand( (~w)*NormalizePowerOfLinear[(~u), (~x)]^(~m)*(~F)^((~c)*expand_to_sum((~v), (~x))), (~x)), (~x)) : nothing) +# +# ("2_3_6", +# @rule ∫((~w)*(~u)^(~!m)*(~F)^((~!c)*(~v)),(~x)) => +# !contains_var((~F), (~c), (~x)) && +# poly((~w), (~x)) && +# linear((~v), (~x)) && +# PowerOflinear((~u), (~x)) && +# ext_isinteger((~m)) && +# !(USE_GAMMA) ? +# ∫(ext_expand((~F)^((~c)*expand_to_sum((~v), (~x))), (~w)*NormalizePowerOfLinear[(~u), (~x)]^(~m), (~x)), (~x)) : nothing) + +# ("2_3_7", +# @rule ∫((~w)*(~u)^(~!m)*(~F)^((~!c)*(~v)),(~x)) => +# !contains_var((~F), (~c), (~m), (~x)) && +# poly((~w), (~x)) && +# linear((~v), (~x)) && +# PowerOflinear((~u), (~x)) && +# !(ext_isinteger((~m))) ? +# Module[{(~uu) = NormalizePowerOfLinear[(~u), (~x)], (~z)}, (~z) = (~If)[PowerQ[(~uu)] && FreeQ[(~uu)[[2]], (~x)], (~uu)[[1]]^((~m)*(~uu)[[2]]), (~uu)^(~m)]; (~uu)^(~m)⨸(~z)*∫(ext_expand((~w)*(~z)*(~F)^((~c)*expand_to_sum((~v), (~x))), (~x)), (~x))] : nothing) + +("2_3_8", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))* log((~!d)*(~x))^(~!n)*((~e) + (~!h)*((~!f) + (~!g)*(~x))*log((~!d)*(~x))),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~n), (~x)) && + eq((~e) - (~f)*(~h)*((~n) + 1), 0) && + eq((~g)*(~h)*((~n) + 1) - (~b)*(~c)*(~e)*log((~F)), 0) && + !eq((~n), -1) ? +(~e)*(~x)*(~F)^((~c)*((~a) + (~b)*(~x)))*log((~d)*(~x))^((~n) + 1)⨸((~n) + 1) : nothing) + +("2_3_9", +@rule ∫((~x)^(~!m)*(~F)^((~!c)*((~!a) + (~!b)*(~x)))* log((~!d)*(~x))^(~!n)*((~e) + (~!h)*((~!f) + (~!g)*(~x))*log((~!d)*(~x))),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~x)) && + eq((~e)*((~m) + 1) - (~f)*(~h)*((~n) + 1), 0) && + eq((~g)*(~h)*((~n) + 1) - (~b)*(~c)*(~e)*log((~F)), 0) && + !eq((~n), -1) ? +(~e)*(~x)^((~m) + 1)*(~F)^((~c)*((~a) + (~b)*(~x)))*log((~d)*(~x))^((~n) + 1)⨸((~n) + 1) : nothing) + +("2_3_10", +@rule ∫((~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~x)) ? +(~F)^((~a) + (~b)*((~c) + (~d)*(~x)))⨸((~b)*(~d)*log((~F))) : nothing) + +("2_3_11", +@rule ∫((~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~x)) && + pos((~b)) ? +(~F)^(~a)*sqrt(π)* SymbolicUtils.erfi(((~c) + (~d)*(~x))*rt((~b)*log((~F)), 2))⨸(2*(~d)*rt((~b)*log((~F)), 2)) : nothing) + +("2_3_12", +@rule ∫((~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~x)) && + neg((~b)) ? +(~F)^(~a)*sqrt(π)* SymbolicUtils.erf(((~c) + (~d)*(~x))*rt(-(~b)*log((~F)), 2))⨸(2*(~d)*rt(-(~b)*log((~F)), 2)) : nothing) + +("2_3_13", +@rule ∫((~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^(~n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~x)) && + ext_isinteger(2/(~n)) && + ilt((~n), 0) ? +((~c) + (~d)*(~x))*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^(~n))⨸(~d) - (~b)*(~n)*log((~F))*∫(((~c) + (~d)*(~x))^(~n)*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^(~n)), (~x)) : nothing) + +("2_3_14", +@rule ∫((~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^(~n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~x)) && + ext_isinteger(2/(~n)) && + !(ext_isinteger((~n))) ? +ext_den((~n))⨸(~d)* int_and_subst((~x)^(ext_den((~n)) - 1)*(~F)^((~a) + (~b)*(~x)^(ext_den((~n))*(~n))), (~x), (~x), ((~c) + (~d)*(~x))^(1⨸ext_den((~n))), "2_3_14") : nothing) + +("2_3_15", +@rule ∫((~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^(~n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~n), (~x)) && + !(ext_isinteger(2/(~n))) ? +-(~F)^(~a)*((~c) + (~d)*(~x))* SymbolicUtils.gamma(1⨸(~n), -(~b)*((~c) + (~d)*(~x))^(~n)*log((~F)))⨸((~d)* (~n)*(-(~b)*((~c) + (~d)*(~x))^(~n)*log((~F)))^(1⨸(~n))) : nothing) + +("2_3_16", +@rule ∫(((~!e) + (~!f)*(~x))^(~!m)*(~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^(~n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + eq((~m), (~n) - 1) && + eq((~d)*(~e) - (~c)*(~f), 0) ? +((~e) + (~f)*(~x))^(~n)*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^(~n))⨸((~b)*(~f)*(~n)*((~c) + (~d)*(~x))^(~n)*log((~F))) : nothing) + +("2_3_17", +@rule ∫((~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^(~n))/((~!e) + (~!f)*(~x)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + eq((~d)*(~e) - (~c)*(~f), 0) ? +(~F)^(~a)*SymbolicUtils.expinti((~b)*((~c) + (~d)*(~x))^(~n)*log((~F)))⨸((~f)*(~n)) : nothing) + +("2_3_18", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*(~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^(~n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + eq((~n), 2*((~m) + 1)) ? +1⨸((~d)*((~m) + 1))*int_and_subst((~F)^((~a) + (~b)*(~x)^2), (~x), (~x), ((~c) + (~d)*(~x))^((~m) + 1), "2_3_18") : nothing) + +("2_3_19", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*(~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^(~n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~x)) && + ext_isinteger(2*((~m) + 1)/(~n)) && + lt(0, ((~m) + 1)/(~n), 5) && + ext_isinteger((~n)) && + ( + lt(0, (~n), (~m) + 1) || + lt((~m), (~n), 0) + ) ? +((~c) + (~d)*(~x))^((~m) - (~n) + 1)*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^(~n))⨸((~b)*(~d)*(~n)*log((~F))) - ((~m) - (~n) + 1)⨸((~b)*(~n)*log((~F)))* ∫(((~c) + (~d)*(~x))^((~m) - (~n))*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^(~n)), (~x)) : nothing) + +("2_3_20", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*(~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^(~n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + ext_isinteger(2*simplify(((~m) + 1)/(~n))) && + lt(0, simplify(((~m) + 1)/(~n)), 5) && + !(isrational((~m))) && + sumsimpler((~m), -(~n)) ? +((~c) + (~d)*(~x))^((~m) - (~n) + 1)*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^(~n))⨸((~b)*(~d)*(~n)*log((~F))) - ((~m) - (~n) + 1)⨸((~b)*(~n)*log((~F)))* ∫(((~c) + (~d)*(~x))^simplify((~m) - (~n))*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^(~n)), (~x)) : nothing) + +("2_3_21", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*(~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^(~n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~x)) && + ext_isinteger(2*((~m) + 1)/(~n)) && + lt(-4, ((~m) + 1)/(~n), 5) && + ext_isinteger( (~n)) && + ( + gt((~n), 0) && + lt((~m), -1) || + gt(-(~n), 0) && + le(-(~n), (~m) + 1) + ) ? +((~c) + (~d)*(~x))^((~m) + 1)*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^(~n))⨸((~d)*((~m) + 1)) - (~b)*(~n)*log((~F))⨸((~m) + 1)* ∫(((~c) + (~d)*(~x))^((~m) + (~n))*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^(~n)), (~x)) : nothing) + +("2_3_22", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*(~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^(~n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + ext_isinteger(2*simplify(((~m) + 1)/(~n))) && + lt(-4, simplify(((~m) + 1)/(~n)), 5) && + !(isrational((~m))) && + sumsimpler((~m), (~n)) ? +((~c) + (~d)*(~x))^((~m) + 1)*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^(~n))⨸((~d)*((~m) + 1)) - (~b)*(~n)*log((~F))⨸((~m) + 1)* ∫(((~c) + (~d)*(~x))^simplify((~m) + (~n))*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^(~n)), (~x)) : nothing) + +("2_3_23", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*(~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^(~n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + ext_isinteger(2*((~m) + 1)/(~n)) && + lt(0, ((~m) + 1)/(~n), 5) && + !(ext_isinteger((~n))) ? +ext_den((~n))⨸(~d)* int_and_subst((~x)^(ext_den((~n))*((~m) + 1) - 1)*(~F)^((~a) + (~b)*(~x)^(ext_den((~n))*(~n))), (~x), (~x), ((~c) + (~d)*(~x))^(1⨸ext_den((~n))), "2_3_23") : nothing) + +("2_3_24", +@rule ∫(((~!e) + (~!f)*(~x))^(~!m)*(~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^(~n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~d)*(~e) - (~c)*(~f), 0) && + ext_isinteger(2*simplify(((~m) + 1)/(~n))) && + !(ext_isinteger((~m))) && + !eq((~f), (~d)) && + !eq((~c)*(~e), 0) ? +((~e) + (~f)*(~x))^(~m)⨸((~c) + (~d)*(~x))^(~m)*∫(((~c) + (~d)*(~x))^(~m)*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^(~n)), (~x)) : nothing) + +# ("2_3_25", +# @rule ∫(((~!e) + (~!f)*(~x))^(~!m)*(~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^(~n)),(~x)) => +# igt(simplify(((~m) + 1)/(~n)), 0) && +# !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && +# eq((~d)*(~e) - (~c)*(~f), 0) && +# !(USE_GAMMA) ? +# -(~F)^(~a)*((~f)⨸(~d))^(~m)⨸((~d)*(~n)*(-(~b)*log((~F)))^simplify(((~m) + 1)⨸(~n)))* simplify(FunctionExpand[SymbolicUtils.gamma(simplify(((~m) + 1)⨸(~n)), -(~b)*((~c) + (~d)*(~x))^(~n)*log((~F)))]) : nothing) + +("2_3_26", +@rule ∫(((~!e) + (~!f)*(~x))^(~!m)*(~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^(~n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~d)*(~e) - (~c)*(~f), 0) ? +-(~F)^(~a)*((~e) + (~f)*(~x))^((~m) + 1)⨸((~f)*(~n)*(-(~b)*((~c) + (~d)*(~x))^(~n)*log((~F)))^(((~m) + 1)⨸(~n)))* SymbolicUtils.gamma(((~m) + 1)⨸(~n), -(~b)*((~c) + (~d)*(~x))^(~n)*log((~F))) : nothing) + +#(* above integral : -F^a*(e+f*x)^(m+1)/(f*n)*ExpIntegralE[1-(m+1)/n,-b*(c+d*x)^n*Log[F] ] *) +("2_3_27", +@rule ∫(((~!e) + (~!f)*(~x))^(~m)*(~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~d)*(~e) - (~c)*(~f), 0) && + isfraction((~m)) && + gt((~m), 1) ? +(~f)*((~e) + (~f)*(~x))^((~m) - 1)*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^2)⨸(2*(~b)*(~d)^2*log((~F))) + ((~d)*(~e) - (~c)*(~f))⨸(~d)*∫(((~e) + (~f)*(~x))^((~m) - 1)*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^2), (~x)) - ((~m) - 1)*(~f)^2⨸(2*(~b)*(~d)^2*log((~F)))* ∫(((~e) + (~f)*(~x))^((~m) - 2)*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^2), (~x)) : nothing) + +("2_3_28", +@rule ∫(((~!e) + (~!f)*(~x))^(~m)*(~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~d)*(~e) - (~c)*(~f), 0) && + lt((~m), -1) ? +(~f)*((~e) + (~f)*(~x))^((~m) + 1)*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^2)⨸(((~m) + 1)*(~f)^2) + 2*(~b)*(~d)*((~d)*(~e) - (~c)*(~f))*log((~F))⨸((~f)^2*((~m) + 1))* ∫(((~e) + (~f)*(~x))^((~m) + 1)*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^2), (~x)) - 2*(~b)*(~d)^2*log((~F))⨸((~f)^2*((~m) + 1))* ∫(((~e) + (~f)*(~x))^((~m) + 2)*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^2), (~x)) : nothing) + +("2_3_29", +@rule ∫(((~!e) + (~!f)*(~x))^(~m)*(~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^(~n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~d)*(~e) - (~c)*(~f), 0) && + igt((~n), 2) && + lt((~m), -1) ? +((~e) + (~f)*(~x))^((~m) + 1)*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^(~n))⨸((~f)*((~m) + 1)) - (~b)*(~d)*(~n)*log((~F))⨸((~f)*((~m) + 1))* ∫(((~e) + (~f)*(~x))^((~m) + 1)*((~c) + (~d)*(~x))^((~n) - 1)*(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^(~n)), (~x)) : nothing) + +("2_3_30", +@rule ∫((~F)^((~!a) + (~b)/((~!c) + (~!d)*(~x)))/((~!e) + (~!f)*(~x)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~d)*(~e) - (~c)*(~f), 0) ? +(~d)⨸(~f)*∫((~F)^((~a) + (~b)⨸((~c) + (~d)*(~x)))⨸((~c) + (~d)*(~x)), (~x)) - ((~d)*(~e) - (~c)*(~f))⨸(~f)*∫((~F)^((~a) + (~b)⨸((~c) + (~d)*(~x)))⨸(((~c) + (~d)*(~x))*((~e) + (~f)*(~x))), (~x)) : nothing) + +("2_3_31", +@rule ∫(((~!e) + (~!f)*(~x))^(~m)*(~F)^((~!a) + (~b)/((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~d)*(~e) - (~c)*(~f), 0) && + ilt((~m), -1) ? +((~e) + (~f)*(~x))^((~m) + 1)*(~F)^((~a) + (~b)⨸((~c) + (~d)*(~x)))⨸((~f)*((~m) + 1)) + (~b)*(~d)*log((~F))⨸((~f)*((~m) + 1))* ∫(((~e) + (~f)*(~x))^((~m) + 1)*(~F)^((~a) + (~b)⨸((~c) + (~d)*(~x)))⨸((~c) + (~d)*(~x))^2, (~x)) : nothing) + +# ("2_3_32", +# @rule ∫((~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^(~n))/((~!e) + (~!f)*(~x)),(~x)) => +# !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && +# !eq((~d)*(~e) - (~c)*(~f), 0) ? +# Unintegrable[(~F)^((~a) + (~b)*((~c) + (~d)*(~x))^(~n))⨸((~e) + (~f)*(~x)), (~x)] : nothing) + +("2_3_33", +@rule ∫((~u)^(~!m)*(~F)^(~v),(~x)) => + !contains_var((~F), (~m), (~x)) && + linear((~u), (~x)) && + isbinomial((~v), (~x)) && + !( + linear_without_simplify((~u), (~x)) && + binomial_without_simplify((~v), (~x)) + ) ? +∫(expand_to_sum((~u), (~x))^(~m)*(~F)^expand_to_sum((~v), (~x)), (~x)) : nothing) + +("2_3_34", +@rule ∫((~u)*(~F)^((~!a) + (~!b)*((~!c) + (~!d)*(~x))^(~n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~n), (~x)) && + poly((~u), (~x)) ? +∫(expand_linear_product((~F)^((~a) + (~b)*((~c) + (~d)*(~x))^(~n)), (~u), (~c), (~d), (~x)), (~x)) : nothing) + +# ("2_3_35", +# @rule ∫((~!u)*(~F)^((~!a) + (~!b)*(~v)),(~x)) => +# !contains_var((~F), (~a), (~b), (~x)) && +# poly((~u), (~x)) && +# PowerOflinear((~v), (~x)) && +# !(PowerOflinear_without_simplify((~v), (~x))) ? +# ∫((~u)*(~F)^((~a) + (~b)*NormalizePowerOfLinear[(~v), (~x)]), (~x)) : nothing) + +#(* Int[u_.*F_^(a_.+b_.*v_^n_),x_Symbol] := Int[u*F^(a+b*ExpandToSum[v,x]^n),x] /; FreeQ[{F,a,b,n},x] && PolynomialQ[u,x] && LinearQ[v,x] && Not[LinearMatchQ[v,x]] *) +#(* Int[u_.*F_^u_,x_Symbol] := Int[u*F^ExpandToSum[u,x],x] /; FreeQ[F,x] && PolynomialQ[u,x] && BinomialQ[u,x] && Not[BinomialMatchQ[u,x]] *) +("2_3_36", +@rule ∫((~F)^((~!a) + (~b)/((~!c) + (~!d)*(~x)))/(((~!e) + (~!f)*(~x))*((~!g) + (~!h)*(~x))),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~d)*(~e) - (~c)*(~f), 0) ? +-(~d)⨸((~f)*((~d)*(~g) - (~c)*(~h)))* int_and_subst((~F)^((~a) - (~b)*(~h)⨸((~d)*(~g) - (~c)*(~h)) + (~d)*(~b)*(~x)⨸((~d)*(~g) - (~c)*(~h)))⨸(~x), (~x), (~x), ((~g) + (~h)*(~x))⨸((~c) + (~d)*(~x)), "2_3_36") : nothing) + +("2_3_37", +@rule ∫(((~!g) + (~!h)*(~x))^(~!m)*(~F)^((~!e) + (~!f)*((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) ? +(~F)^((~e) + (~f)*(~b)⨸(~d))*∫(((~g) + (~h)*(~x))^(~m), (~x)) : nothing) + +("2_3_38", +@rule ∫(((~!g) + (~!h)*(~x))^(~!m)*(~F)^((~!e) + (~!f)*((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)*(~g) - (~c)*(~h), 0) ? +∫(((~g) + (~h)*(~x))^(~m)*(~F)^(((~d)*(~e) + (~b)*(~f))⨸(~d) - (~f)*((~b)*(~c) - (~a)*(~d))⨸((~d)*((~c) + (~d)*(~x)))), (~x)) : nothing) + +("2_3_39", +@rule ∫((~F)^((~!e) + (~!f)*((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))/((~!g) + (~!h)*(~x)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~d)*(~g) - (~c)*(~h), 0) ? +(~d)⨸(~h)*∫((~F)^((~e) + (~f)*((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))⨸((~c) + (~d)*(~x)), (~x)) - ((~d)*(~g) - (~c)*(~h))⨸(~h)* ∫((~F)^((~e) + (~f)*((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))⨸(((~c) + (~d)*(~x))*((~g) + (~h)*(~x))), (~x)) : nothing) + +("2_3_40", +@rule ∫(((~!g) + (~!h)*(~x))^(~m)*(~F)^((~!e) + (~!f)*((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~d)*(~g) - (~c)*(~h), 0) && + ilt((~m), -1) ? +((~g) + (~h)*(~x))^((~m) + 1)*(~F)^((~e) + (~f)*((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))⨸((~h)*((~m) + 1)) - (~f)*((~b)*(~c) - (~a)*(~d))*log((~F))⨸((~h)*((~m) + 1))* ∫(((~g) + (~h)*(~x))^((~m) + 1)*(~F)^((~e) + (~f)*((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))⨸((~c) + (~d)*(~x))^2, (~x)) : nothing) + +("2_3_41", +@rule ∫((~F)^((~!e) + (~!f)*((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))/(((~!g) + (~!h)*(~x))*((~!i) + (~!j)*(~x))),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) && + eq((~d)*(~g) - (~c)*(~h), 0) ? +-(~d)⨸((~h)*((~d)*(~i) - (~c)*(~j)))* int_and_subst( (~F)^((~e) + (~f)*((~b)*(~i) - (~a)*(~j))⨸((~d)*(~i) - (~c)*(~j)) - ((~b)*(~c) - (~a)*(~d))*(~f)*(~x)⨸((~d)*(~i) - (~c)*(~j)))⨸ (~x), (~x), (~x), ((~i) + (~j)*(~x))⨸((~c) + (~d)*(~x)), "2_3_41") : nothing) + +("2_3_42", +@rule ∫((~F)^((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~x)) ? +(~F)^((~a) - (~b)^2⨸(4*(~c)))*∫((~F)^(((~b) + 2*(~c)*(~x))^2⨸(4*(~c))), (~x)) : nothing) + +("2_3_43", +@rule ∫((~F)^(~v),(~x)) => + !contains_var((~F), (~x)) && + quadratic((~v), (~x)) && + !(quadratic_without_simplify((~v), (~x))) ? +∫((~F)^expand_to_sum((~v), (~x)), (~x)) : nothing) + +("2_3_44", +@rule ∫(((~!d) + (~!e)*(~x))*(~F)^((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~b)*(~e) - 2*(~c)*(~d), 0) ? +(~e)*(~F)^((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸(2*(~c)*log((~F))) : nothing) + +("2_3_45", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*(~F)^((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~b)*(~e) - 2*(~c)*(~d), 0) && + gt((~m), 1) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)*(~F)^((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸(2*(~c)*log((~F))) - ((~m) - 1)*(~e)^2⨸(2*(~c)*log((~F)))* ∫(((~d) + (~e)*(~x))^((~m) - 2)*(~F)^((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("2_3_46", +@rule ∫((~F)^((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)/((~!d) + (~!e)*(~x)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~b)*(~e) - 2*(~c)*(~d), 0) ? +1⨸(2*(~e))*(~F)^((~a) - (~b)^2⨸(4*(~c)))* SymbolicUtils.expinti(((~b) + 2*(~c)*(~x))^2*log((~F))⨸(4*(~c))) : nothing) + +("2_3_47", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*(~F)^((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~b)*(~e) - 2*(~c)*(~d), 0) && + lt((~m), -1) ? +((~d) + (~e)*(~x))^((~m) + 1)*(~F)^((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸((~e)*((~m) + 1)) - 2*(~c)*log((~F))⨸((~e)^2*((~m) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 2)*(~F)^((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("2_3_48", +@rule ∫(((~!d) + (~!e)*(~x))*(~F)^((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)*(~e) - 2*(~c)*(~d), 0) ? +(~e)*(~F)^((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸(2*(~c)*log((~F))) - ((~b)*(~e) - 2*(~c)*(~d))⨸(2*(~c))*∫((~F)^((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("2_3_49", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*(~F)^((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)*(~e) - 2*(~c)*(~d), 0) && + gt((~m), 1) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)*(~F)^((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸(2*(~c)*log((~F))) - ((~b)*(~e) - 2*(~c)*(~d))⨸(2*(~c))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*(~F)^((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) - ((~m) - 1)*(~e)^2⨸(2*(~c)*log((~F)))* ∫(((~d) + (~e)*(~x))^((~m) - 2)*(~F)^((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("2_3_50", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*(~F)^((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)*(~e) - 2*(~c)*(~d), 0) && + lt((~m), -1) ? +((~d) + (~e)*(~x))^((~m) + 1)*(~F)^((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸((~e)*((~m) + 1)) - ((~b)*(~e) - 2*(~c)*(~d))*log((~F))⨸((~e)^2*((~m) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*(~F)^((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) - 2*(~c)*log((~F))⨸((~e)^2*((~m) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 2)*(~F)^((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +# ("2_3_51", +# @rule ∫(((~!d) + (~!e)*(~x))^(~!m)*(~F)^((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => +# !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~m), (~x)) ? +# Unintegrable[((~d) + (~e)*(~x))^(~m)*(~F)^((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)] : nothing) + +("2_3_52", +@rule ∫((~u)^(~!m)*(~F)^(~v),(~x)) => + !contains_var((~F), (~m), (~x)) && + linear((~u), (~x)) && + quadratic((~v), (~x)) && + !( + linear_without_simplify((~u), (~x)) && + quadratic_without_simplify((~v), (~x)) + ) ? +∫(expand_to_sum((~u), (~x))^(~m)*(~F)^expand_to_sum((~v), (~x)), (~x)) : nothing) + +("2_3_53", +@rule ∫((~x)^(~!m)*(~F)^((~!e)*((~!c) + (~!d)*(~x)))*((~!a) + (~!b)*(~F)^(~v))^(~p),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~v), 2*(~e)*((~c) + (~d)*(~x))) && + gt((~m), 0) && + ilt((~p), 0) ? +dist((~x)^(~m), ∫((~F)^((~e)*((~c) + (~d)*(~x)))*((~a) + (~b)*(~F)^(~v))^(~p), (~x)), (~x)) - (~m)*∫((~x)^((~m) - 1)*∫((~F)^((~e)*((~c) + (~d)*(~x)))*((~a) + (~b)*(~F)^(~v))^(~p), (~x)), (~x)) : nothing) + +("2_3_54", +@rule ∫(((~F)^((~!e)*((~!c) + (~!d)*(~x))))^ (~!n)*((~a) + (~!b)*((~F)^((~!e)*((~!c) + (~!d)*(~x))))^(~!n))^(~!p),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) ? +1⨸((~d)*(~e)*(~n)*log((~F)))* int_and_subst(((~a) + (~b)*(~x))^(~p), (~x), (~x), ((~F)^((~e)*((~c) + (~d)*(~x))))^(~n), "2_3_54") : nothing) + +("2_3_55", +@rule ∫(((~G)^((~!h)*((~!f) + (~!g)*(~x))))^ (~!m)*((~a) + (~!b)*((~F)^((~!e)*((~!c) + (~!d)*(~x))))^(~!n))^(~!p),(~x)) => + !contains_var((~F), (~G), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~p), (~x)) && + eq((~d)*(~e)*(~n)*log((~F)), (~g)*(~h)*(~m)*log((~G))) ? +((~G)^((~h)*((~f) + (~g)*(~x))))^(~m)⨸((~F)^((~e)*((~c) + (~d)*(~x))))^(~n)* ∫(((~F)^((~e)*((~c) + (~d)*(~x))))^(~n)*((~a) + (~b)*((~F)^((~e)*((~c) + (~d)*(~x))))^(~n))^(~p), (~x)) : nothing) + +("2_3_56", +@rule ∫((~G)^((~!h)*((~!f) + (~!g)*(~x)))*((~a) + (~!b)*(~F)^((~!e)*((~!c) + (~!d)*(~x))))^(~!p),(~x)) => + !contains_var((~F), (~G), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~p), (~x)) && + le(simplify((~g)*(~h)*log((~G))/((~d)*(~e)*log((~F)))), -1) || + ge(simplify((~g)*(~h)*log((~G))/((~d)*(~e)*log((~F)))), 1) ? +ext_den(simplify((~g)*(~h)*log((~G))⨸((~d)*(~e)*log((~F)))))*(~G)^((~f)*(~h) - (~c)*(~g)*(~h)⨸(~d))⨸((~d)*(~e)*log((~F)))* int_and_subst((~x)^(ext_num(simplify((~g)*(~h)*log((~G))⨸((~d)*(~e)*log((~F))))) - 1)*((~a) + (~b)*(~x)^ext_den(simplify((~g)*(~h)*log((~G))⨸((~d)*(~e)*log((~F))))))^(~p), (~x), (~x), (~F)^((~e)*((~c) + (~d)*(~x))⨸ext_den(simplify((~g)*(~h)*log((~G))⨸((~d)*(~e)*log((~F)))))), "2_3_56") : nothing) + +("2_3_57", +@rule ∫((~G)^((~!h)*((~!f) + (~!g)*(~x)))*((~a) + (~!b)*(~F)^((~!e)*((~!c) + (~!d)*(~x))))^(~!p),(~x)) => + !contains_var((~F), (~G), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~p), (~x)) && + lt(simplify((~d)*(~e)*log((~F))/((~g)*(~h)*log((~G)))), -1) || + gt(simplify((~d)*(~e)*log((~F))/((~g)*(~h)*log((~G)))), 1) ? +ext_den(simplify((~d)*(~e)*log((~F))⨸((~g)*(~h)*log((~G)))))⨸((~g)*(~h)*log((~G)))* int_and_subst( (~x)^(ext_den(simplify((~d)*(~e)*log((~F))⨸((~g)*(~h)*log((~G))))) - 1)*((~a) + (~b)*(~F)^((~c)*(~e) - (~d)*(~e)*(~f)⨸(~g))*(~x)^ext_num(simplify((~d)*(~e)*log((~F))⨸((~g)*(~h)*log((~G))))))^(~p), (~x), (~x), (~G)^((~h)*((~f) + (~g)*(~x))⨸ext_den(simplify((~d)*(~e)*log((~F))⨸((~g)*(~h)*log((~G)))))), "2_3_57") : nothing) + +("2_3_58", +@rule ∫((~G)^((~!h)*((~!f) + (~!g)*(~x)))*((~a) + (~!b)*(~F)^((~!e)*((~!c) + (~!d)*(~x))))^(~!p),(~x)) => + !contains_var((~F), (~G), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) && + igt((~p), 0) ? +∫(ext_expand((~G)^((~h)*((~f) + (~g)*(~x)))*((~a) + (~b)*(~F)^((~e)*((~c) + (~d)*(~x))))^(~p), (~x)), (~x)) : nothing) + +("2_3_59", +@rule ∫((~G)^((~!h)*((~!f) + (~!g)*(~x)))*((~a) + (~!b)*(~F)^((~!e)*((~!c) + (~!d)*(~x))))^(~p),(~x)) => + !contains_var((~F), (~G), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~p), (~x)) && + ( + ilt((~p), 0) || + gt((~a), 0) + ) ? +(~a)^(~p)*(~G)^((~h)*((~f) + (~g)*(~x)))⨸((~g)*(~h)*log((~G)))* hypergeometric2f1(-(~p), (~g)*(~h)*log((~G))⨸((~d)*(~e)*log((~F))), (~g)*(~h)*log((~G))⨸((~d)*(~e)*log((~F))) + 1, simplify(-(~b)⨸(~a)*(~F)^((~e)*((~c) + (~d)*(~x))))) : nothing) + +("2_3_60", +@rule ∫((~G)^((~!h)*((~!f) + (~!g)*(~x)))*((~a) + (~!b)*(~F)^((~!e)*((~!c) + (~!d)*(~x))))^(~p),(~x)) => + !contains_var((~F), (~G), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~p), (~x)) && + !( + ilt((~p), 0) || + gt((~a), 0) + ) ? +((~a) + (~b)*(~F)^((~e)*((~c) + (~d)*(~x))))^(~p)⨸(1 + ((~b)⨸(~a))*(~F)^((~e)*((~c) + (~d)*(~x))))^(~p)* ∫((~G)^((~h)*((~f) + (~g)*(~x)))*(1 + (~b)⨸(~a)*(~F)^((~e)*((~c) + (~d)*(~x))))^(~p), (~x)) : nothing) + +("2_3_61", +@rule ∫((~G)^((~!h)*(~u))*((~a) + (~!b)*(~F)^((~!e)*(~v)))^(~p),(~x)) => + !contains_var((~F), (~G), (~a), (~b), (~e), (~h), (~p), (~x)) && + linear((~u), (~v), (~x)) && + !(linear_without_simplify((~u), (~v), (~x))) ? +∫((~G)^((~h)*expand_to_sum((~u), (~x)))*((~a) + (~b)*(~F)^((~e)*expand_to_sum((~v), (~x))))^(~p), (~x)) : nothing) + +#(* Int[(c_.+d_.*x_)^m_.*F_^(g_.*(e_.+f_.*x_))/(a_+b_.*F_^(h_.*(e_.+f_. *x_))),x_Symbol] := 1/b*Int[(c+d*x)^m*F^((g-h)*(e+f*x)),x] - a/b*Int[(c+d*x)^m*F^((g-h)*(e+f*x))/(a+b*F^(h*(e+f*x))),x] /; FreeQ[{F,a,b,c,d,e,f,g,h,m},x] && LeQ[0,g/h-1,g/h] *) +#(* Int[(c_.+d_.*x_)^m_.*F_^(g_.*(e_.+f_.*x_))/(a_+b_.*F_^(h_.*(e_.+f_. *x_))),x_Symbol] := 1/a*Int[(c+d*x)^m*F^(g*(e+f*x)),x] - b/a*Int[(c+d*x)^m*F^((g+h)*(e+f*x))/(a+b*F^(h*(e+f*x))),x] /; FreeQ[{F,a,b,c,d,e,f,g,h,m},x] && LeQ[g/h,g/h+1,0] *) +("2_3_62", +@rule ∫(((~!e) + (~!f)*(~x))^(~!m)*((~!a) + (~!b)*(~F)^(~u))^(~!p)*((~!c) + (~!d)*(~F)^(~v))^(~!q),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + ext_isinteger((~p), (~q)) && + linear((~u), (~v), (~x)) && + isrational(simplify((~u)/(~v))) && + issum(ext_expand(((~e) + (~f)*(~x))^(~m), ((~a) + (~b)*(~F)^(~u))^(~p)*((~c) + (~d)*(~F)^(~v))^(~q), (~x))) ? +∫(ext_expand(((~e) + (~f)*(~x))^(~m), ((~a) + (~b)*(~F)^(~u))^(~p)*((~c) + (~d)*(~F)^(~v))^(~q), (~x)), (~x)) : nothing) + +("2_3_63", +@rule ∫((~G)^((~!h)*((~!f) + (~!g)*(~x)))* (~H)^((~!t)*((~!r) + (~!s)*(~x)))*((~a) + (~!b)*(~F)^((~!e)*((~!c) + (~!d)*(~x))))^(~!p),(~x)) => + !contains_var((~F), (~G), (~H), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~r), (~s), (~t), (~p), (~x)) && + isrational(simplify(((~g)*(~h)*log((~G)) + (~s)*(~t)*log((~H)))/((~d)*(~e)*log((~F))))) ? +ext_den(simplify(((~g)*(~h)*log((~G)) + (~s)*(~t)*log((~H)))⨸((~d)*(~e)*log((~F)))))*(~G)^((~f)*(~h) - (~c)*(~g)*(~h)⨸(~d))*(~H)^((~r)*(~t) - (~c)*(~s)*(~t)⨸(~d))⨸((~d)*(~e)*log((~F)))* int_and_subst((~x)^(ext_num(simplify(((~g)*(~h)*log((~G)) + (~s)*(~t)*log((~H)))⨸((~d)*(~e)*log((~F))))) - 1)*((~a) + (~b)*(~x)^ext_den(simplify(((~g)*(~h)*log((~G)) + (~s)*(~t)*log((~H)))⨸((~d)*(~e)*log((~F))))))^(~p), (~x), (~x), (~F)^((~e)*((~c) + (~d)*(~x))⨸ext_den(simplify(((~g)*(~h)*log((~G)) + (~s)*(~t)*log((~H)))⨸((~d)*(~e)*log((~F)))))), "2_3_63") : nothing) + +("2_3_64", +@rule ∫((~G)^((~!h)*((~!f) + (~!g)*(~x)))* (~H)^((~!t)*((~!r) + (~!s)*(~x)))*((~a) + (~!b)*(~F)^((~!e)*((~!c) + (~!d)*(~x))))^(~!p),(~x)) => + !contains_var((~F), (~G), (~H), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~r), (~s), (~t), (~x)) && + eq((~d)*(~e)*(~p)*log((~F)) + (~g)*(~h)*log((~G)), 0) && + ext_isinteger((~p)) ? +(~G)^(((~f) - (~c)*(~g)⨸(~d))*(~h))* ∫((~H)^((~t)*((~r) + (~s)*(~x)))*((~b) + (~a)*(~F)^(-(~e)*((~c) + (~d)*(~x))))^(~p), (~x)) : nothing) + +("2_3_65", +@rule ∫((~G)^((~!h)*((~!f) + (~!g)*(~x)))* (~H)^((~!t)*((~!r) + (~!s)*(~x)))*((~a) + (~!b)*(~F)^((~!e)*((~!c) + (~!d)*(~x))))^(~!p),(~x)) => + !contains_var((~F), (~G), (~H), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~r), (~s), (~t), (~x)) && + igt((~p), 0) ? +∫(ext_expand( (~G)^((~h)*((~f) + (~g)*(~x)))*(~H)^((~t)*((~r) + (~s)*(~x)))*((~a) + (~b)*(~F)^((~e)*((~c) + (~d)*(~x))))^(~p), (~x)), (~x)) : nothing) + +("2_3_66", +@rule ∫((~G)^((~!h)*((~!f) + (~!g)*(~x)))* (~H)^((~!t)*((~!r) + (~!s)*(~x)))*((~a) + (~!b)*(~F)^((~!e)*((~!c) + (~!d)*(~x))))^(~p),(~x)) => + !contains_var((~F), (~G), (~H), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~r), (~s), (~t), (~x)) && + ilt((~p), 0) ? +(~a)^(~p)*(~G)^((~h)*((~f) + (~g)*(~x)))*(~H)^((~t)*((~r) + (~s)*(~x)))⨸((~g)*(~h)*log((~G)) + (~s)*(~t)*log((~H)))* hypergeometric2f1(-(~p), ((~g)*(~h)*log((~G)) + (~s)*(~t)*log((~H)))⨸((~d)*(~e)* log((~F))), ((~g)*(~h)*log((~G)) + (~s)*(~t)*log((~H)))⨸((~d)*(~e)*log((~F))) + 1, simplify(-(~b)⨸(~a)*(~F)^((~e)*((~c) + (~d)*(~x))))) : nothing) + +("2_3_67", +@rule ∫((~G)^((~!h)*((~!f) + (~!g)*(~x)))* (~H)^((~!t)*((~!r) + (~!s)*(~x)))*((~a) + (~!b)*(~F)^((~!e)*((~!c) + (~!d)*(~x))))^(~p),(~x)) => + !contains_var((~F), (~G), (~H), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~r), (~s), (~t), (~p), (~x)) && + !(ext_isinteger((~p))) ? +(~G)^((~h)*((~f) + (~g)*(~x)))* (~H)^((~t)*((~r) + (~s)*(~x)))*((~a) + (~b)*(~F)^((~e)*((~c) + (~d)*(~x))))^ (~p)⨸(((~g)*(~h)*log((~G)) + (~s)*(~t)*log((~H)))*(((~a) + (~b)*(~F)^((~e)*((~c) + (~d)*(~x))))⨸(~a))^(~p))* hypergeometric2f1(-(~p), ((~g)*(~h)*log((~G)) + (~s)*(~t)*log((~H)))⨸((~d)*(~e)* log((~F))), ((~g)*(~h)*log((~G)) + (~s)*(~t)*log((~H)))⨸((~d)*(~e)*log((~F))) + 1, simplify(-(~b)⨸(~a)*(~F)^((~e)*((~c) + (~d)*(~x))))) : nothing) + +("2_3_68", +@rule ∫((~G)^((~!h)*(~u))*(~H)^((~!t)*(~w))*((~a) + (~!b)*(~F)^((~!e)*(~v)))^(~p),(~x)) => + !contains_var((~F), (~G), (~H), (~a), (~b), (~e), (~h), (~t), (~p), (~x)) && + linear((~u), (~v), (~w), (~x)) && + !(linear_without_simplify((~u), (~v), (~w), (~x))) ? +∫((~G)^((~h)*expand_to_sum((~u), (~x)))* (~H)^((~t)*expand_to_sum((~w), (~x)))*((~a) + (~b)*(~F)^((~e)*expand_to_sum((~v), (~x))))^(~p), (~x)) : nothing) + +("2_3_69", +@rule ∫((~F)^((~!e)*((~!c) + (~!d)*(~x)))*((~!a)*(~x)^(~!n) + (~!b)*(~F)^((~!e)*((~!c) + (~!d)*(~x))))^(~!p),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) && + !eq((~p), -1) ? +((~a)*(~x)^(~n) + (~b)*(~F)^((~e)*((~c) + (~d)*(~x))))^((~p) + 1)⨸((~b)*(~d)*(~e)*((~p) + 1)*log((~F))) - (~a)*(~n)⨸((~b)*(~d)*(~e)*log((~F)))* ∫((~x)^((~n) - 1)*((~a)*(~x)^(~n) + (~b)*(~F)^((~e)*((~c) + (~d)*(~x))))^(~p), (~x)) : nothing) + +("2_3_70", +@rule ∫((~x)^(~!m)* (~F)^((~!e)*((~!c) + (~!d)*(~x)))*((~!a)*(~x)^(~!n) + (~!b)*(~F)^((~!e)*((~!c) + (~!d)*(~x))))^ (~!p),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + !eq((~p), -1) ? +(~x)^(~m)*((~a)*(~x)^(~n) + (~b)*(~F)^((~e)*((~c) + (~d)*(~x))))^((~p) + 1)⨸((~b)*(~d)*(~e)*((~p) + 1)*log((~F))) - (~a)*(~n)⨸((~b)*(~d)*(~e)*log((~F)))* ∫((~x)^((~m) + (~n) - 1)*((~a)*(~x)^(~n) + (~b)*(~F)^((~e)*((~c) + (~d)*(~x))))^(~p), (~x)) - (~m)⨸((~b)*(~d)*(~e)*((~p) + 1)*log((~F)))* ∫((~x)^((~m) - 1)*((~a)*(~x)^(~n) + (~b)*(~F)^((~e)*((~c) + (~d)*(~x))))^((~p) + 1), (~x)) : nothing) + +("2_3_71", +@rule ∫(((~!f) + (~!g)*(~x))^(~!m)/((~!a) + (~!b)*(~F)^(~u) + (~!c)*(~F)^(~v)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~f), (~g), (~x)) && + eq((~v), 2*(~u)) && + linear((~u), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + igt((~m), 0) ? +2*(~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(((~f) + (~g)*(~x))^(~m)⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~F)^(~u)), (~x)) - 2*(~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(((~f) + (~g)*(~x))^(~m)⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~F)^(~u)), (~x)) : nothing) + +("2_3_72", +@rule ∫(((~!f) + (~!g)*(~x))^(~!m)*(~F)^(~u)/((~!a) + (~!b)*(~F)^(~u) + (~!c)*(~F)^(~v)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~f), (~g), (~x)) && + eq((~v), 2*(~u)) && + linear((~u), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + igt((~m), 0) ? +2*(~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(((~f) + (~g)*(~x))^(~m)*(~F)^(~u)⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~F)^(~u)), (~x)) - 2*(~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(((~f) + (~g)*(~x))^(~m)*(~F)^(~u)⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~F)^(~u)), (~x)) : nothing) + +("2_3_73", +@rule ∫(((~!f) + (~!g)*(~x))^(~!m)*((~h) + (~!i)*(~F)^(~u))/((~!a) + (~!b)*(~F)^(~u) + (~!c)*(~F)^(~v)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~f), (~g), (~h), (~i), (~x)) && + eq((~v), 2*(~u)) && + linear((~u), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + igt((~m), 0) ? +(simplify((2*(~c)*(~h) - (~b)*(~i))⨸rt((~b)^2 - 4*(~a)*(~c), 2)) + (~i))* ∫(((~f) + (~g)*(~x))^(~m)⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~F)^(~u)), (~x)) - (simplify((2*(~c)*(~h) - (~b)*(~i))⨸rt((~b)^2 - 4*(~a)*(~c), 2)) - (~i))* ∫(((~f) + (~g)*(~x))^(~m)⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*(~F)^(~u)), (~x)) : nothing) + +("2_3_74", +@rule ∫((~x)^(~!m)/((~!a)*(~F)^((~!c) + (~!d)*(~x)) + (~!b)*(~F)^(~v)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~x)) && + eq((~v), -((~c) + (~d)*(~x))) && + gt((~m), 0) ? +(~x)^(~m)*∫(1⨸((~a)*(~F)^((~c) + (~d)*(~x)) + (~b)*(~F)^(~v)), (~x)) - (~m)*∫((~x)^((~m) - 1)*∫(1⨸((~a)*(~F)^((~c) + (~d)*(~x)) + (~b)*(~F)^(~v)), (~x)), (~x)) : nothing) + +("2_3_75", +@rule ∫((~u)/((~a) + (~!b)*(~F)^(~v) + (~!c)*(~F)^(~w)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~x)) && + eq((~w), -(~v)) && + linear((~v), (~x)) && + ifelse(isrational(ext_coeff((~v), (~x), 1)), gt(ext_coeff((~v), (~x), 1), 0), lt(SymbolicUtils.node_count((~v)), SymbolicUtils.node_count((~w)))) ? +∫((~u)*(~F)^(~v)⨸((~c) + (~a)*(~F)^(~v) + (~b)*(~F)^(2*(~v))), (~x)) : nothing) + +("2_3_76", +@rule ∫((~F)^((~!g)*((~!d) + (~!e)*(~x))^(~!n))/((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~g), (~n), (~x)) ? +∫(ext_expand((~F)^((~g)*((~d) + (~e)*(~x))^(~n)), 1⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)), (~x)) : nothing) + +("2_3_77", +@rule ∫((~F)^((~!g)*((~!d) + (~!e)*(~x))^(~!n))/((~a) + (~!c)*(~x)^2),(~x)) => + !contains_var((~F), (~a), (~c), (~d), (~e), (~g), (~n), (~x)) ? +∫(ext_expand((~F)^((~g)*((~d) + (~e)*(~x))^(~n)), 1⨸((~a) + (~c)*(~x)^2), (~x)), (~x)) : nothing) + +("2_3_78", +@rule ∫((~u)^(~!m)*(~F)^((~!g)*((~!d) + (~!e)*(~x))^(~!n))/((~!a) + (~!b)*(~x) + (~c)*(~x)^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~g), (~n), (~x)) && + poly((~u), (~x)) && + ext_isinteger((~m)) ? +∫(ext_expand((~F)^((~g)*((~d) + (~e)*(~x))^(~n)), (~u)^(~m)⨸((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)), (~x)) : nothing) + +("2_3_79", +@rule ∫((~u)^(~!m)*(~F)^((~!g)*((~!d) + (~!e)*(~x))^(~!n))/((~a) + (~c)*(~x)^2),(~x)) => + !contains_var((~F), (~a), (~c), (~d), (~e), (~g), (~n), (~x)) && + poly((~u), (~x)) && + ext_isinteger((~m)) ? +∫(ext_expand((~F)^((~g)*((~d) + (~e)*(~x))^(~n)), (~u)^(~m)⨸((~a) + (~c)*(~x)^2), (~x)), (~x)) : nothing) + +("2_3_80", +@rule ∫((~F)^(((~!a) + (~!b)*(~x)^4)/(~x)^2),(~x)) => + !contains_var((~F), (~a), (~b), (~x)) ? +sqrt(π)*exp(2*sqrt(-(~a)*log((~F)))*sqrt(-(~b)*log((~F))))* SymbolicUtils.erf((sqrt(-(~a)*log((~F))) + sqrt(-(~b)*log((~F)))*(~x)^2)⨸(~x))⨸ (4*sqrt(-(~b)*log((~F)))) - sqrt(π)*exp(-2*sqrt(-(~a)*log((~F)))*sqrt(-(~b)*log((~F))))* SymbolicUtils.erf((sqrt(-(~a)*log((~F))) - sqrt(-(~b)*log((~F)))*(~x)^2)⨸(~x))⨸ (4*sqrt(-(~b)*log((~F)))) : nothing) + +("2_3_81", +@rule ∫((~x)^(~!m)*(E^(~x) + (~x)^(~!m))^(~n),(~x)) => + isrational((~m), (~n)) && + gt((~m), 0) && + lt((~n), 0) && + !eq((~n), -1) ? +-(ℯ^(~x) + (~x)^(~m))^((~n) + 1)⨸((~n) + 1) + ∫((ℯ^(~x) + (~x)^(~m))^((~n) + 1), (~x)) + (~m)*∫((~x)^((~m) - 1)*(ℯ^(~x) + (~x)^(~m))^(~n), (~x)) : nothing) + +("2_3_82", +@rule ∫((~!u)*(~F)^((~!a)*((~!v) + (~!b)*log((~z)))),(~x)) => + !contains_var((~F), (~a), (~b), (~x)) ? +∫((~u)*(~F)^((~a)*(~v))*(~z)^((~a)*(~b)*log((~F))), (~x)) : nothing) + +("2_3_83", +@rule ∫((~F)^((~!f)*((~!a) + (~!b)*log((~!c)*((~!d) + (~!e)*(~x))^(~!n))^2)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) ? +((~d) + (~e)*(~x))⨸((~e)*(~n)*((~c)*((~d) + (~e)*(~x))^(~n))^(1⨸(~n)))* int_and_subst(ℯ^((~a)*(~f)*log((~F)) + (~x)⨸(~n) + (~b)*(~f)*log((~F))*(~x)^2), (~x), (~x), log((~c)*((~d) + (~e)*(~x))^(~n)), "2_3_83") : nothing) + +("2_3_84", +@rule ∫(((~!g) + (~!h)*(~x))^(~!m)* (~F)^((~!f)*((~!a) + (~!b)*log((~!c)*((~!d) + (~!e)*(~x))^(~!n))^2)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~x)) && + eq((~e)*(~g) - (~d)*(~h), 0) ? +((~g) + (~h)*(~x))^((~m) + 1)⨸((~h)*(~n)*((~c)*((~d) + (~e)*(~x))^(~n))^(((~m) + 1)⨸(~n)))* int_and_subst(ℯ^((~a)*(~f)*log((~F)) + (((~m) + 1)*(~x))⨸(~n) + (~b)*(~f)*log((~F))*(~x)^2), (~x), (~x), log((~c)*((~d) + (~e)*(~x))^(~n)), "2_3_84") : nothing) + +("2_3_85", +@rule ∫(((~!g) + (~!h)*(~x))^(~!m)* (~F)^((~!f)*((~!a) + (~!b)*log((~!c)*((~!d) + (~!e)*(~x))^(~!n))^2)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~n), (~x)) && + igt((~m), 0) ? +1⨸(~e)^((~m) + 1)* int_and_subst( ext_expand((~F)^((~f)*((~a) + (~b)*log((~c)*(~x)^(~n))^2)), ((~e)*(~g) - (~d)*(~h) + (~h)*(~x))^(~m), (~x)), (~x), (~x), (~d) + (~e)*(~x), "2_3_85") : nothing) + +# ("2_3_86", +# @rule ∫(((~!g) + (~!h)*(~x))^(~!m)* (~F)^((~!f)*((~!a) + (~!b)*log((~!c)*((~!d) + (~!e)*(~x))^(~!n))^2)),(~x)) => +# !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~x)) ? +# Unintegrable[((~g) + (~h)*(~x))^(~m)*(~F)^((~f)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n))^2)), (~x)] : nothing) + +("2_3_87", +@rule ∫((~F)^((~!f)*((~!a) + (~!b)*log((~!c)*((~!d) + (~!e)*(~x))^(~!n)))^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + ext_isinteger(2*(~a)*(~b)*(~f)*log((~F))) ? +(~c)^(2*(~a)*(~b)*(~f)*log((~F)))* ∫(((~d) + (~e)*(~x))^(2*(~a)*(~b)*(~f)*(~n)*log((~F)))* (~F)^((~a)^2*(~f) + (~b)^2*(~f)*log((~c)*((~d) + (~e)*(~x))^(~n))^2), (~x)) : nothing) + +("2_3_88", +@rule ∫((~F)^((~!f)*((~!a) + (~!b)*log((~!c)*((~!d) + (~!e)*(~x))^(~!n)))^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + !(ext_isinteger(2*(~a)*(~b)*(~f)*log((~F)))) ? +((~c)*((~d) + (~e)*(~x))^(~n))^(2*(~a)*(~b)*(~f)*log((~F)))⨸((~d) + (~e)*(~x))^(2*(~a)*(~b)*(~f)*(~n)*log((~F)))* ∫(((~d) + (~e)*(~x))^(2*(~a)*(~b)*(~f)*(~n)*log((~F)))* (~F)^((~a)^2*(~f) + (~b)^2*(~f)*log((~c)*((~d) + (~e)*(~x))^(~n))^2), (~x)) : nothing) + +("2_3_89", +@rule ∫(((~!g) + (~!h)*(~x))^(~!m)* (~F)^((~!f)*((~!a) + (~!b)*log((~!c)*((~!d) + (~!e)*(~x))^(~!n)))^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~x)) && + eq((~e)*(~g) - (~d)*(~h), 0) && + ext_isinteger(2*(~a)*(~b)*(~f)*log((~F))) && + ( + ext_isinteger((~m)) || + eq((~h), (~e)) + ) ? +(~h)^(~m)*(~c)^(2*(~a)*(~b)*(~f)*log((~F)))⨸(~e)^(~m)* ∫(((~d) + (~e)*(~x))^((~m) + 2*(~a)*(~b)*(~f)*(~n)*log((~F)))* (~F)^((~a)^2*(~f) + (~b)^2*(~f)*log((~c)*((~d) + (~e)*(~x))^(~n))^2), (~x)) : nothing) + +("2_3_90", +@rule ∫(((~!g) + (~!h)*(~x))^(~!m)* (~F)^((~!f)*((~!a) + (~!b)*log((~!c)*((~!d) + (~!e)*(~x))^(~!n)))^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~x)) && + eq((~e)*(~g) - (~d)*(~h), 0) ? +((~g) + (~h)*(~x))^ (~m)*((~c)*((~d) + (~e)*(~x))^(~n))^(2*(~a)*(~b)*(~f)*log((~F)))⨸((~d) + (~e)*(~x))^((~m) + 2*(~a)*(~b)*(~f)*(~n)*log((~F)))* ∫(((~d) + (~e)*(~x))^((~m) + 2*(~a)*(~b)*(~f)*(~n)*log((~F)))* (~F)^((~a)^2*(~f) + (~b)^2*(~f)*log((~c)*((~d) + (~e)*(~x))^(~n))^2), (~x)) : nothing) + +("2_3_91", +@rule ∫(((~!g) + (~!h)*(~x))^(~!m)* (~F)^((~!f)*((~!a) + (~!b)*log((~!c)*((~!d) + (~!e)*(~x))^(~!n)))^2),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~n), (~x)) && + igt((~m), 0) ? +1⨸(~e)^((~m) + 1)* int_and_subst( ext_expand((~F)^((~f)*((~a) + (~b)*log((~c)*(~x)^(~n)))^2), ((~e)*(~g) - (~d)*(~h) + (~h)*(~x))^(~m), (~x)), (~x), (~x), (~d) + (~e)*(~x), "2_3_91") : nothing) + +# ("2_3_92", +# @rule ∫(((~!g) + (~!h)*(~x))^(~!m)* (~F)^((~!f)*((~!a) + (~!b)*log((~!c)*((~!d) + (~!e)*(~x))^(~!n)))^2),(~x)) => +# !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~x)) ? +# Unintegrable[((~g) + (~h)*(~x))^(~m)*(~F)^((~f)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^2), (~x)] : nothing) + +("2_3_93", +@rule ∫(log((~a) + (~!b)*((~F)^((~!e)*((~!c) + (~!d)*(~x))))^(~!n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + gt((~a), 0) ? +1⨸((~d)*(~e)*(~n)*log((~F)))* int_and_subst(log((~a) + (~b)*(~x))⨸(~x), (~x), (~x), ((~F)^((~e)*((~c) + (~d)*(~x))))^(~n), "2_3_93") : nothing) + +("2_3_94", +@rule ∫(log((~a) + (~!b)*((~F)^((~!e)*((~!c) + (~!d)*(~x))))^(~!n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + !(gt((~a), 0)) ? +(~x)*log((~a) + (~b)*((~F)^((~e)*((~c) + (~d)*(~x))))^(~n)) - (~b)*(~d)*(~e)*(~n)*log((~F))* ∫((~x)*((~F)^((~e)*((~c) + (~d)*(~x))))^(~n)⨸((~a) + (~b)*((~F)^((~e)*((~c) + (~d)*(~x))))^(~n)), (~x)) : nothing) + +#(* Int[u_.*(a_.*F_^v_)^n_,x_Symbol] := a^n*Int[u*F^(n*v),x] /; FreeQ[{F,a},x] && IntegerQ[n] *) +("2_3_95", +@rule ∫((~!u)*((~!a)*(~F)^(~v))^(~n),(~x)) => + !contains_var((~F), (~a), (~n), (~x)) && + !(ext_isinteger((~n))) ? +((~a)*(~F)^(~v))^(~n)⨸(~F)^((~n)*(~v))*∫((~u)*(~F)^((~n)*(~v)), (~x)) : nothing) + +# ("2_3_96", +# @rule ∫((~u),(~x)) => +# FunctionOfExponential[(~u), (~x)]⨸Symbolics.derivative(FunctionOfExponential[(~u), (~x)], (~x))* int_and_subst(FunctionOfExponentialFunction[(~u), (~x)]⨸(~x), (~x), (~x), FunctionOfExponential[(~u), (~x)], "2_3_96")]⨸; FreeQ[{(~a), (~b), (~c)}, (~x)] && InverseFunctionQ[(~F)[(~x)]]]] && FunctionOfExponentialQ[(~u), (~x)] && Not[ MatchQ[(~u), w_*(a_.*v_^n_)^m_ ⨸; FreeQ[{(~a), (~m), (~n)}, (~x)] && IntegerQ[(~m)*(~n)]]] && Not[ MatchQ[(~u), ℯ^(c_.*(a_. + b_.*(~x)))*F_[v_) + +("2_3_97", +@rule ∫((~!u)*((~!a)*(~F)^(~v) + (~!b)*(~F)^(~w))^(~n),(~x)) => + !contains_var((~F), (~a), (~b), (~n), (~x)) && + ilt((~n), 0) && + linear((~v), (~w), (~x)) ? +∫((~u)*(~F)^((~n)*(~v))*((~a) + (~b)*(~F)^expand_to_sum((~w) - (~v), (~x)))^(~n), (~x)) : nothing) + +("2_3_98", +@rule ∫((~!u)*((~!a)*(~F)^(~v) + (~!b)*(~G)^(~w))^(~n),(~x)) => + !contains_var((~F), (~G), (~a), (~b), (~n), (~x)) && + ilt((~n), 0) && + linear((~v), (~w), (~x)) ? +∫((~u)*(~F)^((~n)*(~v))*((~a) + (~b)*ℯ^expand_to_sum(log((~G))*(~w) - log((~F))*(~v), (~x)))^(~n), (~x)) : nothing) + +("2_3_99", +@rule ∫((~!u)*((~!a)*(~F)^(~v) + (~!b)*(~F)^(~w))^(~n),(~x)) => + !contains_var((~F), (~a), (~b), (~n), (~x)) && + !(ext_isinteger((~n))) && + linear((~v), (~w), (~x)) ? +((~a)*(~F)^(~v) + (~b)*(~F)^(~w))^(~n)⨸((~F)^((~n)*(~v))*((~a) + (~b)*(~F)^expand_to_sum((~w) - (~v), (~x)))^(~n))* ∫((~u)*(~F)^((~n)*(~v))*((~a) + (~b)*(~F)^expand_to_sum((~w) - (~v), (~x)))^(~n), (~x)) : nothing) + +("2_3_100", +@rule ∫((~!u)*((~!a)*(~F)^(~v) + (~!b)*(~G)^(~w))^(~n),(~x)) => + !contains_var((~F), (~G), (~a), (~b), (~n), (~x)) && + !(ext_isinteger((~n))) && + linear((~v), (~w), (~x)) ? +((~a)*(~F)^(~v) + (~b)*(~G)^(~w))^ (~n)⨸((~F)^((~n)*(~v))*((~a) + (~b)*ℯ^expand_to_sum(log((~G))*(~w) - log((~F))*(~v), (~x)))^(~n))* ∫((~u)*(~F)^((~n)*(~v))*((~a) + (~b)*ℯ^expand_to_sum(log((~G))*(~w) - log((~F))*(~v), (~x)))^(~n), (~x)) : nothing) + +# ("2_3_101", +# @rule ∫((~!u)*(~F)^(~v)*(~G)^(~w),(~x)) => +# !contains_var((~F), (~G), (~x)) && +# isbinomial((~v)*log((~F)) + (~w)*log((~G)), (~x)) || +# poly((~v)*log((~F)) + (~w)*log((~G)), (~x)) && +# le(Exponent[(~v)*log((~F)) + (~w)*log((~G)), (~x)], 2) ? +# ∫((~u)*NormalizeIntegrand[ℯ^(~v)*log((~F)) + (~w)*log((~G)), (~x)], (~x)) : nothing) + +("2_3_102", +@rule ∫((~F)^(~u)*((~v) + (~w))*(~!y),(~x)) => + !contains_var((~F), (~x)) && + eq(Symbolics.derivative((~v)*(~y)/(log((~F))*Symbolics.derivative((~u), (~x))), (~x)), (~w)*(~y)) ? +(~F)^(~u)*(~v)*(~y)⨸(log((~F))*Symbolics.derivative((~u), (~x))) : nothing) + +# ("2_3_103", +# @rule ∫((~F)^(~u)*(~v)^(~!n)*(~w),(~x)) => +# !contains_var((~F), (~n), (~x)) && +# poly((~u), (~x)) && +# poly((~v), (~x)) && +# poly((~w), (~x)) && +# eq(Exponent[(~w), (~x)], Exponent[log((~F))*(~v)*Symbolics.derivative((~u), (~x)) + ((~n) + 1)*Symbolics.derivative((~v), (~x)), (~x)]) && +# eq((~w)*ext_coeff(log((~F))*(~v)*Symbolics.derivative((~u), (~x)) + ((~n) + 1)*Symbolics.derivative((~v), (~x)), (~x), Exponent[log((~F))*(~v)*Symbolics.derivative((~u), (~x)) + ((~n) + 1)*Symbolics.derivative((~v), (~x)), (~x)]), log((~F))*(~v)*Symbolics.derivative((~u), (~x)) + ((~n) + 1)*Symbolics.derivative((~v), (~x))*ext_coeff((~w), (~x), Exponent[(~w), (~x)])) ? +# ext_coeff((~w), (~x), Exponent[(~w), (~x)])⨸ ext_coeff(log((~F))*(~v)*Symbolics.derivative((~u), (~x)) + ((~n) + 1)*Symbolics.derivative((~v), (~x)), (~x), Exponent[log((~F))*(~v)*Symbolics.derivative((~u), (~x)) + ((~n) + 1)*Symbolics.derivative((~v), (~x)), (~x)])*(~F)^(~u)*(~v)^((~n) + 1) : nothing) + +("2_3_104", +@rule ∫(((~!a) + (~!b)*(~F)^((~!c)*sqrt((~!d) + (~!e)*(~x))/sqrt((~!f) + (~!g)*(~x))))^ (~!n)/((~!A) + (~!B)*(~x) + (~!C)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~C), (~F), (~x)) && + eq((~C)*(~d)*(~f) - (~A)*(~e)*(~g), 0) && + eq((~B)*(~e)*(~g) - (~C)*((~e)*(~f) + (~d)*(~g)), 0) && + igt((~n), 0) ? +2*(~e)*(~g)⨸((~C)*((~e)*(~f) - (~d)*(~g)))* int_and_subst(((~a) + (~b)*(~F)^((~c)*(~x)))^(~n)⨸(~x), (~x), (~x), sqrt((~d) + (~e)*(~x))⨸sqrt((~f) + (~g)*(~x)), "2_3_104") : nothing) + +("2_3_105", +@rule ∫(((~!a) + (~!b)*(~F)^((~!c)*sqrt((~!d) + (~!e)*(~x))/sqrt((~!f) + (~!g)*(~x))))^ (~!n)/((~A) + (~!C)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~C), (~F), (~x)) && + eq((~C)*(~d)*(~f) - (~A)*(~e)*(~g), 0) && + eq((~e)*(~f) + (~d)*(~g), 0) && + igt((~n), 0) ? +2*(~e)*(~g)⨸((~C)*((~e)*(~f) - (~d)*(~g)))* int_and_subst(((~a) + (~b)*(~F)^((~c)*(~x)))^(~n)⨸(~x), (~x), (~x), sqrt((~d) + (~e)*(~x))⨸sqrt((~f) + (~g)*(~x)), "2_3_105") : nothing) + +# ("2_3_106", +# @rule ∫(((~!a) + (~!b)*(~F)^((~!c)*sqrt((~!d) + (~!e)*(~x))/sqrt((~!f) + (~!g)*(~x))))^ (~n)/((~!A) + (~!B)*(~x) + (~!C)*(~x)^2),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~C), (~F), (~n), (~x)) && +# eq((~C)*(~d)*(~f) - (~A)*(~e)*(~g), 0) && +# eq((~B)*(~e)*(~g) - (~C)*((~e)*(~f) + (~d)*(~g)), 0) && +# !(igt((~n), 0)) ? +# Unintegrable[((~a) + (~b)*(~F)^((~c)*sqrt((~d) + (~e)*(~x))⨸sqrt((~f) + (~g)*(~x))))^ (~n)⨸((~A) + (~B)*(~x) + (~C)*(~x)^2), (~x)] : nothing) + +# ("2_3_107", +# @rule ∫(((~!a) + (~!b)*(~F)^((~!c)*sqrt((~!d) + (~!e)*(~x))/sqrt((~!f) + (~!g)*(~x))))^ (~n)/((~A) + (~!C)*(~x)^2),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~C), (~F), (~n), (~x)) && +# eq((~C)*(~d)*(~f) - (~A)*(~e)*(~g), 0) && +# eq((~e)*(~f) + (~d)*(~g), 0) && +# !(igt((~n), 0)) ? +# Unintegrable[((~a) + (~b)*(~F)^((~c)*sqrt((~d) + (~e)*(~x))⨸sqrt((~f) + (~g)*(~x))))^ (~n)⨸((~A) + (~C)*(~x)^2), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.1 (a+b log(c x^n))^p.jl b/src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.1 (a+b log(c x^n))^p.jl new file mode 100644 index 0000000..e0bbf1c --- /dev/null +++ b/src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.1 (a+b log(c x^n))^p.jl @@ -0,0 +1,40 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 3.1.1 (a+b log(c x^n))^p *) +("3_1_1_1", +@rule ∫(log((~!c)*(~x)^(~!n)),(~x)) => + !contains_var((~c), (~n), (~x)) ? +(~x)*log((~c)*(~x)^(~n)) - (~n)*(~x) : nothing) + +("3_1_1_2", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + gt((~p), 0) && + ext_isinteger(2*(~p)) ? +(~x)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p) - (~b)*(~n)*(~p)*∫(((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1), (~x)) : nothing) + +("3_1_1_3", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + lt((~p), -1) && + ext_isinteger(2*(~p)) ? +(~x)*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) + 1)⨸((~b)*(~n)*((~p) + 1)) - 1⨸((~b)*(~n)*((~p) + 1))*∫(((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) + 1), (~x)) : nothing) + +("3_1_1_4", +@rule ∫(1/log((~!c)*(~x)),(~x)) => + !contains_var((~c), (~x)) ? +SymbolicUtils.expinti(log((~c)*(~x)))⨸(~c) : nothing) + +("3_1_1_5", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + ext_isinteger(1/(~n)) ? +1⨸((~n)*(~c)^(1⨸(~n)))*int_and_subst(ℯ^((~x)⨸(~n))*((~a) + (~b)*(~x))^(~p), (~x), (~x), log((~c)*(~x)^(~n)), "3_1_1_5") : nothing) + +("3_1_1_6", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~p), (~x)) ? +(~x)⨸((~n)*((~c)*(~x)^(~n))^(1⨸(~n)))* int_and_subst(ℯ^((~x)⨸(~n))*((~a) + (~b)*(~x))^(~p), (~x), (~x), log((~c)*(~x)^(~n)), "3_1_1_6") : nothing) + + +] diff --git a/src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.2 (d x)^m (a+b log(c x^n))^p.jl b/src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.2 (d x)^m (a+b log(c x^n))^p.jl new file mode 100644 index 0000000..1781e57 --- /dev/null +++ b/src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.2 (d x)^m (a+b log(c x^n))^p.jl @@ -0,0 +1,74 @@ +file_rules = [ +# (* ::Subsection::Closed:: *) +# (* 3.1.2 (d x)^m (a+b log(c x^n))^p *) +("3_1_2_1", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) ? +((~a) + (~b)*log((~c)*(~x)^(~n)))^2⨸(2*(~b)*(~n)) : nothing) + +("3_1_2_2", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~p), (~x)) ? +1⨸((~b)*(~n))*int_and_subst((~x)^(~p), (~x), (~x), (~a) + (~b)*log((~c)*(~x)^(~n)), "3_1_2_2") : nothing) + +("3_1_2_3", +@rule ∫(((~!d)*(~x))^(~!m)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + !eq((~m), -1) && + eq((~a)*((~m) + 1) - (~b)*(~n), 0) ? +(~b)*((~d)*(~x))^((~m) + 1)*log((~c)*(~x)^(~n))⨸((~d)*((~m) + 1)) : nothing) + +("3_1_2_4", +@rule ∫(((~!d)*(~x))^(~!m)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + !eq((~m), -1) ? +((~d)*(~x))^((~m) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))⨸((~d)*((~m) + 1)) - (~b)*(~n)*((~d)*(~x))^((~m) + 1)⨸((~d)*((~m) + 1)^2) : nothing) + +("3_1_2_5", +@rule ∫(((~!d)*(~x))^(~!m)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + !eq((~m), -1) && + gt((~p), 0) ? +((~d)*(~x))^((~m) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸((~d)*((~m) + 1)) - (~b)*(~n)*(~p)⨸((~m) + 1)*∫(((~d)*(~x))^(~m)*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1), (~x)) : nothing) + +("3_1_2_6", +@rule ∫(((~!d)*(~x))^(~!m)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + !eq((~m), -1) && + lt((~p), -1) ? +((~d)*(~x))^((~m) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) + 1)⨸((~b)*(~d)*(~n)*((~p) + 1)) - ((~m) + 1)⨸((~b)*(~n)*((~p) + 1))*∫(((~d)*(~x))^(~m)*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) + 1), (~x)) : nothing) + +("3_1_2_7", +@rule ∫((~x)^(~!m)/log((~!c)*(~x)^(~n)),(~x)) => + !contains_var((~c), (~m), (~n), (~x)) && + eq((~m), (~n) - 1) ? +1⨸(~n)*int_and_subst(1⨸log((~c)*(~x)), (~x), (~x), (~x)^(~n), "3_1_2_7") : nothing) + +("3_1_2_8", +@rule ∫(((~d)*(~x))^(~!m)/log((~!c)*(~x)^(~n)),(~x)) => + !contains_var((~c), (~d), (~m), (~n), (~x)) && + eq((~m), (~n) - 1) ? +((~d)*(~x))^(~m)⨸(~x)^(~m)*∫((~x)^(~m)⨸log((~c)*(~x)^(~n)), (~x)) : nothing) + +("3_1_2_9", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*log((~!c)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + ext_isinteger((~m)) ? +1⨸(~c)^((~m) + 1)*int_and_subst(ℯ^(((~m) + 1)*(~x))*((~a) + (~b)*(~x))^(~p), (~x), (~x), log((~c)*(~x)), "3_1_2_9") : nothing) + +("3_1_2_10", +@rule ∫(((~!d)*(~x))^(~!m)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~x)) ? +((~d)*(~x))^((~m) + 1)⨸((~d)*(~n)*((~c)*(~x)^(~n))^(((~m) + 1)⨸(~n)))* int_and_subst(ℯ^(((~m) + 1)⨸(~n)*(~x))*((~a) + (~b)*(~x))^(~p), (~x), (~x), log((~c)*(~x)^(~n)), "3_1_2_10") : nothing) + +("3_1_2_11", +@rule ∫(((~!d)*(~x)^(~q))^(~m)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~q), (~x)) ? +((~d)*(~x)^(~q))^(~m)⨸(~x)^((~m)*(~q))*∫((~x)^((~m)*(~q))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("3_1_2_12", +@rule ∫(((~!d1)*(~x)^(~q1))^(~m1)*((~!d2)*(~x)^(~q2))^(~m2)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~d2), (~m1), (~m2), (~n), (~p), (~q1), (~q2), (~x)) ? +((~d1)*(~x)^(~q1))^(~m1)*((~d2)*(~x)^(~q2))^(~m2)⨸(~x)^((~m1)*(~q1) + (~m2)*(~q2))* ∫((~x)^((~m1)*(~q1) + (~m2)*(~q2))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +] diff --git a/src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.3 (d+e x^r)^q (a+b log(c x^n))^p.jl b/src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.3 (d+e x^r)^q (a+b log(c x^n))^p.jl new file mode 100644 index 0000000..460f972 --- /dev/null +++ b/src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.3 (d+e x^r)^q (a+b log(c x^n))^p.jl @@ -0,0 +1,154 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 3.1.3 (d+e x^r)^q (a+b log(c x^n))^p *) +("3_1_3_1", +@rule ∫(((~d) + (~!e)*(~x)^(~!r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~r), (~x)) && + igt((~q), 0) ? +∫(((~d) + (~e)*(~x)^(~r))^(~q), (~x))*((~a) + (~b)*log((~c)*(~x)^(~n))) - (~b)*(~n)*∫(simplify(∫(((~d) + (~e)*(~x)^(~r))^(~q), (~x))⨸(~x), (~x)), (~x)) : nothing) + +("3_1_3_2", +@rule ∫(((~d) + (~!e)*(~x)^(~!r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~r), (~x)) && + igt((~q), 0) ? +dist(((~a) + (~b)*log((~c)*(~x)^(~n))), ∫(((~d) + (~e)*(~x)^(~r))^(~q), (~x))) - (~b)*(~n)*∫(simplify(∫(((~d) + (~e)*(~x)^(~r))^(~q), (~x))⨸(~x), (~x)), (~x)) : nothing) + +("3_1_3_3", +@rule ∫(((~d) + (~!e)*(~x)^(~!r))^(~q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~q), (~r), (~x)) && + eq((~r)*((~q) + 1) + 1, 0) ? +(~x)*((~d) + (~e)*(~x)^(~r))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))⨸(~d) - (~b)*(~n)⨸(~d)*∫(((~d) + (~e)*(~x)^(~r))^((~q) + 1), (~x)) : nothing) + +#(* Int[(a_.+b_.*Log[c_.*x_^n_.])^p_./(d_+e_.*x_^r_.),x_Symbol] := 1/e*Int[(a+b*Log[c*x^n])^p/x^r,x] - d/e*Int[(a+b*Log[c*x^n])^p/(x^r*(d+e*x^r)),x] /; FreeQ[{a,b,c,d,e,n,r},x] && IGtQ[p,0] && IGtQ[r,0] *) +("3_1_3_4", +@rule ∫(log((~!c)*(~x))/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~c), (~d), (~e), (~x)) && + eq((~e) + (~c)*(~d), 0) ? +-1⨸(~e)*PolyLog.reli(2, 1 - (~c)*(~x)) : nothing) + +("3_1_3_5", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)))/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + gt(-(~c)*(~d)/(~e), 0) ? +((~a) + (~b)*log(-(~c)*(~d)⨸(~e)))*log((~d) + (~e)*(~x))⨸(~e) + (~b)*∫(log(-(~e)*(~x)⨸(~d))⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +("3_1_3_6", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + igt((~p), 0) ? +log(1 + (~e)*(~x)⨸(~d))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸(~e) - (~b)*(~n)*(~p)⨸(~e)*∫(log(1 + (~e)*(~x)⨸(~d))*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1)⨸(~x), (~x)) : nothing) + +("3_1_3_7", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/((~d) + (~!e)*(~x))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) && + gt((~p), 0) ? +(~x)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸((~d)*((~d) + (~e)*(~x))) - (~b)*(~n)*(~p)⨸(~d)*∫(((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1)⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +("3_1_3_8", +@rule ∫(((~d) + (~!e)*(~x))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~q), (~x)) && + gt((~p), 0) && + !eq((~q), -1) && + ( + eq((~p), 1) || + ext_isinteger(2*(~p), 2*(~q)) && + !(igt((~q), 0)) || + eq((~p), 2) && + !eq((~q), 1) + ) ? +((~d) + (~e)*(~x))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸((~e)*((~q) + 1)) - (~b)*(~n)*(~p)⨸((~e)*((~q) + 1))* ∫((((~d) + (~e)*(~x))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1))⨸(~x), (~x)) : nothing) + +("3_1_3_9", +@rule ∫(((~d) + (~!e)*(~x))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + lt((~p), -1) && + gt((~q), 0) ? +(~x)*((~d) + (~e)*(~x))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) + 1)⨸((~b)*(~n)*((~p) + 1)) + (~d)*(~q)⨸((~b)*(~n)*((~p) + 1))* ∫(((~d) + (~e)*(~x))^((~q) - 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) + 1), (~x)) - ((~q) + 1)⨸((~b)*(~n)*((~p) + 1))* ∫(((~d) + (~e)*(~x))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) + 1), (~x)) : nothing) + +("3_1_3_10", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + gt((~q), 0) ? +(~x)*((~d) + (~e)*(~x)^2)^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))⨸(2*(~q) + 1) - (~b)*(~n)⨸(2*(~q) + 1)*∫(((~d) + (~e)*(~x)^2)^(~q), (~x)) + 2*(~d)*(~q)⨸(2*(~q) + 1)*∫(((~d) + (~e)*(~x)^2)^((~q) - 1)*((~a) + (~b)*log((~c)*(~x)^(~n))), (~x)) : nothing) + +("3_1_3_11", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))/((~d) + (~!e)*(~x)^2)^(3//2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) ? +(~x)*((~a) + (~b)*log((~c)*(~x)^(~n)))⨸((~d)*sqrt((~d) + (~e)*(~x)^2)) - (~b)*(~n)⨸(~d)*∫(1⨸sqrt((~d) + (~e)*(~x)^2), (~x)) : nothing) + +("3_1_3_12", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + lt((~q), -1) ? +-(~x)*((~d) + (~e)*(~x)^2)^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))⨸(2*(~d)*((~q) + 1)) + (~b)*(~n)⨸(2*(~d)*((~q) + 1))*∫(((~d) + (~e)*(~x)^2)^((~q) + 1), (~x)) + (2*(~q) + 3)⨸(2*(~d)*((~q) + 1))* ∫(((~d) + (~e)*(~x)^2)^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n))), (~x)) : nothing) + +("3_1_3_13", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))/((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) ? +∫(1⨸((~d) + (~e)*(~x)^2), (~x))*((~a) + (~b)*log((~c)*(~x)^(~n))) - (~b)*(~n)*∫(∫(1⨸((~d) + (~e)*(~x)^2), (~x))⨸(~x), (~x)) : nothing) + +("3_1_3_14", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))/sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + gt((~d), 0) && + pos((~e)) ? +asinh(rt((~e), 2)*(~x)⨸sqrt((~d)))*((~a) + (~b)*log((~c)*(~x)^(~n)))⨸rt((~e), 2) - (~b)*(~n)⨸rt((~e), 2)*∫(asinh(rt((~e), 2)*(~x)⨸sqrt((~d)))⨸(~x), (~x)) : nothing) + +("3_1_3_15", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))/sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + gt((~d), 0) && + neg((~e)) ? +asin(rt(-(~e), 2)*(~x)⨸sqrt((~d)))*((~a) + (~b)*log((~c)*(~x)^(~n)))⨸rt(-(~e), 2) - (~b)*(~n)⨸rt(-(~e), 2)*∫(asin(rt(-(~e), 2)*(~x)⨸sqrt((~d)))⨸(~x), (~x)) : nothing) + +("3_1_3_16", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))/sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + !(gt((~d), 0)) ? +sqrt(1 + (~e)⨸(~d)*(~x)^2)⨸sqrt((~d) + (~e)*(~x)^2)* ∫(((~a) + (~b)*log((~c)*(~x)^(~n)))⨸sqrt(1 + (~e)⨸(~d)*(~x)^2), (~x)) : nothing) + +("3_1_3_17", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))/(sqrt((~d1) + (~!e1)*(~x))* sqrt((~d2) + (~!e2)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~n), (~x)) && + eq((~d2)*(~e1) + (~d1)*(~e2), 0) ? +sqrt(1 + (~e1)*(~e2)⨸((~d1)*(~d2))*(~x)^2)⨸(sqrt((~d1) + (~e1)*(~x))*sqrt((~d2) + (~e2)*(~x)))* ∫(((~a) + (~b)*log((~c)*(~x)^(~n)))⨸sqrt(1 + (~e1)*(~e2)⨸((~d1)*(~d2))*(~x)^2), (~x)) : nothing) + +("3_1_3_18", +@rule ∫(((~d) + (~!e)*(~x)^(~!r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~q), (~r), (~x)) && + ext_isinteger(2*(~q)) && + ext_isinteger((~r)) && + eq((~r), 1) && + ext_isinteger((~q) - 1/2) || + eq((~r), 2) && + eq((~q), -1) || + !contains_inverse_function((~u), (~x)) ? +dist(((~a) + (~b)*log((~c)*(~x)^(~n))), ∫(((~d) + (~e)*(~x)^(~r))^(~q), (~x)), (~x)) - (~b)*(~n)*∫(simplify(∫(((~d) + (~e)*(~x)^(~r))^(~q), (~x))⨸(~x), (~x)), (~x)) : nothing) + +("3_1_3_19", +@rule ∫(((~d) + (~!e)*(~x)^(~!r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~q), (~r), (~x)) && + ext_isinteger((~q)) && + ( + gt((~q), 0) || + igt((~p), 0) && + ext_isinteger((~r)) + ) && + issum(ext_expand(((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p),(~x))) ? +∫(ext_expand(((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), ((~d) + (~e)*(~x)^(~r))^(~q), (~x)), (~x)) : nothing) + +# ("3_1_3_20", +# @rule ∫(((~d) + (~!e)*(~x)^(~!r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~q), (~r), (~x)) ? +# Unintegrable[((~d) + (~e)*(~x)^(~r))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) +# +# +("3_1_3_21", +@rule ∫((~u)^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~p), (~q), (~x)) && + isbinomial((~u), (~x)) && + !(binomial_without_simplify((~u), (~x))) ? +∫(expand_to_sum((~u), (~x))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.4 (f x)^m (d+e x^r)^q (a+b log(c x^n))^p.jl b/src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.4 (f x)^m (d+e x^r)^q (a+b log(c x^n))^p.jl new file mode 100644 index 0000000..682fa57 --- /dev/null +++ b/src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.4 (f x)^m (d+e x^r)^q (a+b log(c x^n))^p.jl @@ -0,0 +1,237 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 3.1.4 (f x)^m (d+e x^r)^q (a+b log(c x^n))^p *) +("3_1_4_1", +@rule ∫((~x)^(~!m)*((~d) + (~e)/(~x))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + eq((~m), (~q)) && + ext_isinteger((~q)) ? +∫(((~e) + (~d)*(~x))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("3_1_4_2", +@rule ∫((~x)^(~!m)*((~d) + (~!e)*(~x)^(~!r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~r), (~x)) && + igt((~q), 0) && + igt((~m), 0) ? +∫((~x)^(~m)*((~d) + (~e)*(~x)^(~r))^(~q), (~x))*((~a) + (~b)*log((~c)*(~x)^(~n))) - (~b)*(~n)*∫(ext_simplify(∫((~x)^(~m)*((~d) + (~e)*(~x)^(~r))^(~q), (~x))⨸(~x), (~x)), (~x)) : nothing) + +("3_1_4_3", +@rule ∫((~x)^(~!m)*((~d) + (~!e)*(~x)^(~!r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~r), (~x)) && + igt((~q), 0) && + ext_isinteger((~m)) && + !( + eq((~q), 1) && + eq((~m), -1) + ) ? +dist(((~a) + (~b)*log((~c)*(~x)^(~n))), ∫((~x)^(~m)*((~d) + (~e)*(~x)^(~r))^(~q), (~x))) - (~b)*(~n)*∫(ext_simplify(∫((~x)^(~m)*((~d) + (~e)*(~x)^(~r))^(~q), (~x))⨸(~x), (~x)), (~x)) : nothing) + +("3_1_4_4", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^(~!r))^(~q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~q), (~r), (~x)) && + eq((~m) + (~r)*((~q) + 1) + 1, 0) && + !eq((~m), -1) ? +((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^(~r))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))⨸((~d)* (~f)*((~m) + 1)) - (~b)*(~n)⨸((~d)*((~m) + 1))*∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^(~r))^((~q) + 1), (~x)) : nothing) + +("3_1_4_5", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^(~r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~q), (~r), (~x)) && + eq((~m), (~r) - 1) && + igt((~p), 0) && + ( + ext_isinteger((~m)) || + gt((~f), 0) + ) && + eq((~r), (~n)) ? +(~f)^(~m)⨸(~n)*int_and_subst(((~d) + (~e)*(~x))^(~q)*((~a) + (~b)*log((~c)*(~x)))^(~p), (~x), (~x), (~x)^(~n), "3_1_4_5") : nothing) + +("3_1_4_6", +@rule ∫(((~!f)*(~x))^(~!m)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/((~d) + (~!e)*(~x)^(~r)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~r), (~x)) && + eq((~m), (~r) - 1) && + igt((~p), 0) && + ( + ext_isinteger((~m)) || + gt((~f), 0) + ) && + !eq((~r), (~n)) ? +(~f)^(~m)*log(1 + (~e)*(~x)^(~r)⨸(~d))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸((~e)*(~r)) - (~b)*(~f)^(~m)*(~n)*(~p)⨸((~e)*(~r))* ∫(log(1 + (~e)*(~x)^(~r)⨸(~d))*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1)⨸(~x), (~x)) : nothing) + +("3_1_4_7", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^(~r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~q), (~r), (~x)) && + eq((~m), (~r) - 1) && + igt((~p), 0) && + ( + ext_isinteger((~m)) || + gt((~f), 0) + ) && + !eq((~r), (~n)) && + !eq((~q), -1) ? +(~f)^(~m)*((~d) + (~e)*(~x)^(~r))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸((~e)*(~r)*((~q) + 1)) - (~b)*(~f)^(~m)*(~n)*(~p)⨸((~e)*(~r)*((~q) + 1))* ∫(((~d) + (~e)*(~x)^(~r))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1)⨸(~x), (~x)) : nothing) + +("3_1_4_8", +@rule ∫(((~f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^(~r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~q), (~r), (~x)) && + eq((~m), (~r) - 1) && + igt((~p), 0) && + !( + (ext_isinteger((~m)) || + gt((~f), 0)) + ) ? +((~f)*(~x))^(~m)⨸(~x)^(~m)*∫((~x)^(~m)*((~d) + (~e)*(~x)^(~r))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +#(* Int[x_^m_.*(a_.+b_.*Log[c_.*x_^n_.])^p_./(d_+e_.*x_^r_.),x_Symbol] := 1/e*Int[x^(m-r)*(a+b*Log[c*x^n])^p,x] - d/e*Int[(x^(m-r)*(a+b*Log[c*x^n])^p)/(d+e*x^r),x] /; FreeQ[{a,b,c,d,e,m,n,r},x] && IGtQ[p,0] && IGtQ[r,0] && IGeQ[m-r,0] *) +("3_1_4_9", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~n)))/((~x)*((~d) + (~!e)*(~x)^(~!r))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~r), (~x)) && + ext_isinteger((~r)/(~n)) ? +1⨸(~n)*int_and_subst(((~a) + (~b)*log((~c)*(~x)))⨸((~x)*((~d) + (~e)*(~x)^((~r)⨸(~n)))), (~x), (~x), (~x)^(~n), "3_1_4_9") : nothing) + +#(* Int[(a_.+b_.*Log[c_.*x_^n_.])^p_./(x_*(d_+e_.*x_)),x_Symbol] := 1/d*Int[(a+b*Log[c*x^n])^p/x,x] - e/d*Int[(a+b*Log[c*x^n])^p/(d+e*x),x] /; FreeQ[{a,b,c,d,e,n},x] && IGtQ[p,0] *) +#(* Int[(a_.+b_.*Log[c_.*x_^n_.])^p_./(x_*(d_+e_.*x_^r_.)),x_Symbol] := (r*Log[x]-Log[1+(e*x^r)/d])*(a+b*Log[c*x^n])^p/(d*r) - b*n*p/d*Int[Log[x]*(a+b*Log[c*x^n])^(p-1)/x,x] + b*n*p/(d*r)*Int[Log[1+(e*x^r)/d]*(a+b*Log[c*x^n])^(p-1)/x,x] /; FreeQ[{a,b,c,d,e,n,r},x] && IGtQ[p,0] *) +("3_1_4_10", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/((~x)*((~d) + (~!e)*(~x)^(~!r))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~r), (~x)) && + igt((~p), 0) ? +-log(1 + (~d)⨸((~e)*(~x)^(~r)))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸((~d)*(~r)) + (~b)*(~n)*(~p)⨸((~d)*(~r))* ∫(log(1 + (~d)⨸((~e)*(~x)^(~r)))*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1)⨸(~x), (~x)) : nothing) + +("3_1_4_11", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/((~d) + (~!e)*(~x)^(~!r)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~r), (~x)) && + igt((~p), 0) && + igt((~r), 0) && + ilt((~m), -1) ? +1⨸(~d)*∫((~x)^(~m)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) - (~e)⨸(~d)*∫(((~x)^((~m) + (~r))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p))⨸((~d) + (~e)*(~x)^(~r)), (~x)) : nothing) + +("3_1_4_12", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x))^(~q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~q), (~x)) && + eq((~m) + (~q) + 2, 0) && + igt((~p), 0) && + lt((~q), -1) ? +-((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^ (~p)⨸((~d)*(~f)*((~q) + 1)) + (~b)*(~n)*(~p)⨸((~d)*((~q) + 1))* ∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1), (~x)) : nothing) + +("3_1_4_13", +@rule ∫((~x)^(~!m)*((~d) + (~!e)*(~x))^(~q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + ilt((~m) + (~q) + 2, 0) && + igt((~m), 0) ? +dist(((~a) + (~b)*log((~c)*(~x)^(~n))), ∫((~x)^(~m)*((~d) + (~e)*(~x))^(~q), (~x)), (~x)) - (~b)*(~n)*∫(ext_simplify(∫((~x)^(~m)*((~d) + (~e)*(~x))^(~q), (~x))⨸(~x), (~x)), (~x)) : nothing) + +("3_1_4_14", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x))^(~q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + ilt((~m) + (~q) + 2, 0) && + igt((~p), 0) && + lt((~q), -1) && + gt((~m), 0) ? +-((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^ (~p)⨸((~d)*(~f)*((~q) + 1)) + ((~m) + (~q) + 2)⨸((~d)*((~q) + 1))* ∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) + (~b)*(~n)*(~p)⨸((~d)*((~q) + 1))* ∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1), (~x)) : nothing) + +("3_1_4_15", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + ilt((~q), -1) && + gt((~m), 0) ? +((~f)*(~x))^(~m)*((~d) + (~e)*(~x))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))⨸((~e)*((~q) + 1)) - (~f)⨸((~e)*((~q) + 1))* ∫(((~f)*(~x))^((~m) - 1)*((~d) + (~e)*(~x))^((~q) + 1)*((~a)*(~m) + (~b)*(~n) + (~b)*(~m)*log((~c)*(~x)^(~n))), (~x)) : nothing) + +("3_1_4_16", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + ilt((~q), -1) && + ilt((~m), 0) ? +-((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))⨸(2*(~d)* (~f)*((~q) + 1)) + 1⨸(2*(~d)*((~q) + 1))* ∫(((~f)*(~x))^ (~m)*((~d) + (~e)*(~x)^2)^((~q) + 1)*((~a)*((~m) + 2*(~q) + 3) + (~b)*(~n) + (~b)*((~m) + 2*(~q) + 3)*log((~c)*(~x)^(~n))), (~x)) : nothing) + +("3_1_4_17", +@rule ∫((~x)^(~!m)*((~d) + (~!e)*(~x)^2)^(~q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + ext_isinteger((~m)/2) && + ext_isinteger((~q) - 1/2) && + !( + lt((~m) + 2*(~q), -2) || + gt((~d), 0) + ) ? +(~d)^intpart((~q))*((~d) + (~e)*(~x)^2)^fracpart((~q))⨸(1 + (~e)⨸(~d)*(~x)^2)^fracpart((~q))* ∫((~x)^(~m)*(1 + (~e)⨸(~d)*(~x)^2)^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n))), (~x)) : nothing) + +("3_1_4_18", +@rule ∫((~x)^(~!m)*((~d1) + (~!e1)*(~x))^(~q)*((~d2) + (~!e2)*(~x))^ (~q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~n), (~x)) && + eq((~d2)*(~e1) + (~d1)*(~e2), 0) && + ext_isinteger((~m)) && + ext_isinteger((~q) - 1/2) ? +((~d1) + (~e1)*(~x))^(~q)*((~d2) + (~e2)*(~x))^(~q)⨸(1 + (~e1)*(~e2)⨸((~d1)*(~d2))*(~x)^2)^(~q)* ∫((~x)^(~m)*(1 + (~e1)*(~e2)⨸((~d1)*(~d2))*(~x)^2)^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n))), (~x)) : nothing) + +("3_1_4_19", +@rule ∫(((~d) + (~!e)*(~x))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + igt((~p), 0) && + gt((~q), 0) && + ext_isinteger(2*(~q)) ? +(~d)*∫(((~d) + (~e)*(~x))^((~q) - 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸(~x), (~x)) + (~e)*∫(((~d) + (~e)*(~x))^((~q) - 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("3_1_4_20", +@rule ∫(((~d) + (~!e)*(~x))^(~q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + igt((~p), 0) && + lt((~q), -1) && + ext_isinteger(2*(~q)) ? +1⨸(~d)*∫(((~d) + (~e)*(~x))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸(~x), (~x)) - (~e)⨸(~d)*∫(((~d) + (~e)*(~x))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("3_1_4_21", +@rule ∫(((~d) + (~!e)*(~x)^(~!r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~r), (~x)) && + ext_isinteger((~q) - 1/2) ? +∫(((~d) + (~e)*(~x)^(~r))^(~q)⨸(~x), (~x))*((~a) + (~b)*log((~c)*(~x)^(~n))) - (~b)*(~n)*∫(dist(1⨸(~x), ∫(((~d) + (~e)*(~x)^(~r))^(~q)⨸(~x), (~x)), (~x)), (~x)) : nothing) + +("3_1_4_22", +@rule ∫(((~d) + (~!e)*(~x)^(~!r))^(~q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~r), (~x)) && + igt((~p), 0) && + ilt((~q), -1) ? +1⨸(~d)*∫(((~d) + (~e)*(~x)^(~r))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸(~x), (~x)) - (~e)⨸(~d)*∫((~x)^((~r) - 1)*((~d) + (~e)*(~x)^(~r))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +# Nested conditions found, not translating rule: +#Int[(f_.*x_)^m_.*(d_ + e_.*x_^r_.)^q_.*(a_. + b_.*Log[c_.*x_^n_.]), x_Symbol] := With[{u = IntHide[(f*x)^m*(d + e*x^r)^q, x]}, Dist[(a + b*Log[c*x^n]), u, x] - b*n*Int[SimplifyIntegrand[u/x, x], x] /; (EqQ[r, 1] || EqQ[r, 2]) && IntegerQ[m] && IntegerQ[q - 1/2] || InverseFunctionFreeQ[u, x]] /; FreeQ[{a, b, c, d, e, f, m, n, q, r}, x] && IntegerQ[2*q] && (IntegerQ[m] && IntegerQ[r] || IGtQ[q, 0]) + +# Nested conditions found, not translating rule: +#Int[(f_.*x_)^m_.*(d_ + e_.*x_^r_.)^q_.*(a_. + b_.*Log[c_.*x_^n_.]), x_Symbol] := With[{u = ExpandIntegrand[(a + b*Log[c*x^n]), (f*x)^m*(d + e*x^r)^q, x]}, Int[u, x] /; SumQ[u]] /; FreeQ[{a, b, c, d, e, f, m, n, q, r}, x] && IntegerQ[q] && (GtQ[q, 0] || IntegerQ[m] && IntegerQ[r]) + +("3_1_4_25", +@rule ∫((~x)^(~!m)*((~d) + (~!e)*(~x)^(~!r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~r), (~x)) && + ext_isinteger((~q)) && + ext_isinteger((~r)/(~n)) && + ext_isinteger(simplify(((~m) + 1)/(~n))) && + ( + gt(((~m) + 1)/(~n), 0) || + igt((~p), 0) + ) ? +1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*((~d) + (~e)*(~x)^((~r)⨸(~n)))^ (~q)*((~a) + (~b)*log((~c)*(~x)))^(~p), (~x), (~x), (~x)^(~n), "3_1_4_25") : nothing) + +# Nested conditions found, not translating rule: +#Int[(f_.*x_)^m_.*(d_ + e_.*x_^r_.)^q_.*(a_. + b_.*Log[c_.*x_^n_.])^ p_., x_Symbol] := With[{u = ExpandIntegrand[(a + b*Log[c*x^n])^p, (f*x)^m*(d + e*x^r)^q, x]}, Int[u, x] /; SumQ[u]] /; FreeQ[{a, b, c, d, e, f, m, n, p, q, r}, x] && IntegerQ[ q] && (GtQ[q, 0] || IGtQ[p, 0] && IntegerQ[m] && IntegerQ[r]) + +# ("3_1_4_27", +# @rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^(~!r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~q), (~r), (~x)) ? +# Unintegrable[((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^(~r))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) +# +# +("3_1_4_28", +@rule ∫(((~!f)*(~x))^(~!m)*(~u)^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~f), (~m), (~n), (~p), (~q), (~x)) && + isbinomial((~u), (~x)) && + !(binomial_without_simplify((~u), (~x))) ? +∫(((~f)*(~x))^(~m)*expand_to_sum((~u), (~x))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("3_1_4_29", +@rule ∫(((~f) + (~!g)*(~x))^(~!m)*((~d) + (~!e)*(~x))^(~q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~q), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~m) + (~q) + 2, 0) && + igt((~p), 0) && + lt((~q), -1) ? +((~f) + (~g)*(~x))^((~m) + 1)*((~d) + (~e)*(~x))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^ (~p)⨸(((~q) + 1)*((~e)*(~f) - (~d)*(~g))) - (~b)*(~n)*(~p)⨸(((~q) + 1)*((~e)*(~f) - (~d)*(~g)))* ∫(((~f) + (~g)*(~x))^((~m) + 1)*((~d) + (~e)*(~x))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1)⨸(~x), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.5 u (a+b log(c x^n))^p.jl b/src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.5 u (a+b log(c x^n))^p.jl new file mode 100644 index 0000000..77a399e --- /dev/null +++ b/src/methods/rule_based/rules2/3 Logarithms/3.1/3.1.5 u (a+b log(c x^n))^p.jl @@ -0,0 +1,555 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 3.1.5 u (a+b log(c x^n))^p *) +("3_1_5_1", +@rule ∫(((~!A) + (~!B)*log((~!c)*((~!d) + (~!e)*(~x))^(~!n)))/ sqrt((~a) + (~!b)*log((~!c)*((~!d) + (~!e)*(~x))^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~n), (~x)) ? +(~B)*((~d) + (~e)*(~x))*sqrt((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))⨸((~b)*(~e)) + (2*(~A)*(~b) - (~B)*(2*(~a) + (~b)*(~n)))⨸(2*(~b))* ∫(1⨸sqrt((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n))), (~x)) : nothing) + +("3_1_5_2", +@rule ∫((~x)^(~!m)*((~d) + (~e)/(~x))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + eq((~m), (~q)) && + ext_isinteger((~q)) ? +∫(((~e) + (~d)*(~x))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("3_1_5_3", +@rule ∫((~x)^(~!m)*((~d) + (~!e)*(~x)^(~!r))^(~!q)*log((~!c)*(~x)^(~!n)),(~x)) => + !contains_var((~c), (~d), (~e), (~n), (~r), (~x)) && + igt((~q), 0) && + ext_isinteger((~m)) && + !( + eq((~q), 1) && + eq((~m), -1) + ) ? +let + u = ∫((~x)^(~m)*((~d) + (~e)*(~x)^(~r))^(~q), (~x)) + + dist(log((~c)*(~x)^(~n)), u, (~x)) - (~n)*∫(ext_simplify(u⨸(~x), (~x)), (~x)) +end : nothing) + +("3_1_5_4", +@rule ∫((~x)^(~!m)*((~d) + (~!e)*(~x)^(~!r))^(~!q)*((~a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~r), (~x)) && + igt((~q), 0) && + ext_isinteger((~m)) && + !( + eq((~q), 1) && + eq((~m), -1) + ) ? +let + u = ∫((~x)^(~m)*((~d) + (~e)*(~x)^(~r))^(~q), (~x)) + + u*((~a) + (~b)*log((~c)*(~x)^(~n))) - (~b)*(~n)*∫(ext_simplify(u⨸(~x), (~x)), (~x)) +end : nothing) + +("3_1_5_5", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^(~!r))^(~q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~q), (~r), (~x)) && + eq((~m) + (~r)*((~q) + 1) + 1, 0) && + !eq((~m), -1) ? +((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^(~r))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))⨸((~d)* (~f)*((~m) + 1)) - (~b)*(~n)⨸((~d)*((~m) + 1))*∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^(~r))^((~q) + 1), (~x)) : nothing) + +("3_1_5_6", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^(~r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~q), (~r), (~x)) && + eq((~m), (~r) - 1) && + igt((~p), 0) && + ( + ext_isinteger((~m)) || + gt((~f), 0) + ) && + eq((~r), (~n)) ? +(~f)^(~m)⨸(~n)*int_and_subst(((~d) + (~e)*(~x))^(~q)*((~a) + (~b)*log((~c)*(~x)))^(~p), (~x), (~x), (~x)^(~n), "3_1_5_6") : nothing) + +("3_1_5_7", +@rule ∫(((~!f)*(~x))^(~!m)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/((~d) + (~!e)*(~x)^(~r)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~r), (~x)) && + eq((~m), (~r) - 1) && + igt((~p), 0) && + ( + ext_isinteger((~m)) || + gt((~f), 0) + ) && + !eq((~r), (~n)) ? +(~f)^(~m)*log(1 + (~e)*(~x)^(~r)⨸(~d))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸((~e)*(~r)) - (~b)*(~f)^(~m)*(~n)*(~p)⨸((~e)*(~r))* ∫(log(1 + (~e)*(~x)^(~r)⨸(~d))*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1)⨸(~x), (~x)) : nothing) + +("3_1_5_8", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^(~r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~q), (~r), (~x)) && + eq((~m), (~r) - 1) && + igt((~p), 0) && + ( + ext_isinteger((~m)) || + gt((~f), 0) + ) && + !eq((~r), (~n)) && + !eq((~q), -1) ? +(~f)^(~m)*((~d) + (~e)*(~x)^(~r))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸((~e)*(~r)*((~q) + 1)) - (~b)*(~f)^(~m)*(~n)*(~p)⨸((~e)*(~r)*((~q) + 1))* ∫(((~d) + (~e)*(~x)^(~r))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1)⨸(~x), (~x)) : nothing) + +("3_1_5_9", +@rule ∫(((~f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^(~r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~q), (~r), (~x)) && + eq((~m), (~r) - 1) && + igt((~p), 0) && + !( + (ext_isinteger((~m)) || + gt((~f), 0)) + ) ? +((~f)*(~x))^(~m)⨸(~x)^(~m)*∫((~x)^(~m)*((~d) + (~e)*(~x)^(~r))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("3_1_5_10", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + ilt((~q), -1) && + gt((~m), 0) ? +((~f)*(~x))^(~m)*((~d) + (~e)*(~x))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))⨸((~e)*((~q) + 1)) - (~f)⨸((~e)*((~q) + 1))* ∫(((~f)*(~x))^((~m) - 1)*((~d) + (~e)*(~x))^((~q) + 1)*((~a)*(~m) + (~b)*(~n) + (~b)*(~m)*log((~c)*(~x)^(~n))), (~x)) : nothing) + +("3_1_5_11", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + ilt((~q), -1) && + ilt((~m), 0) ? +-((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))⨸(2*(~d)* (~f)*((~q) + 1)) + 1⨸(2*(~d)*((~q) + 1))* ∫(((~f)*(~x))^ (~m)*((~d) + (~e)*(~x)^2)^((~q) + 1)*((~a)*((~m) + 2*(~q) + 3) + (~b)*(~n) + (~b)*((~m) + 2*(~q) + 3)*log((~c)*(~x)^(~n))), (~x)) : nothing) + +("3_1_5_12", +@rule ∫((~x)^(~!m)*((~d) + (~!e)*(~x)^2)^(~q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + ext_isinteger((~m)/2) && + ext_isinteger((~q) - 1/2) && + !( + lt((~m) + 2*(~q), -2) || + gt((~d), 0) + ) ? +(~d)^intpart((~q))*((~d) + (~e)*(~x)^2)^fracpart((~q))⨸(1 + (~e)⨸(~d)*(~x)^2)^fracpart((~q))* ∫((~x)^(~m)*(1 + (~e)⨸(~d)*(~x)^2)^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n))), (~x)) : nothing) + +("3_1_5_13", +@rule ∫((~x)^(~!m)*((~d1) + (~!e1)*(~x))^(~q)*((~d2) + (~!e2)*(~x))^ (~q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~n), (~x)) && + eq((~d2)*(~e1) + (~d1)*(~e2), 0) && + ext_isinteger((~m)) && + ext_isinteger((~q) - 1/2) ? +((~d1) + (~e1)*(~x))^(~q)*((~d2) + (~e2)*(~x))^(~q)⨸(1 + (~e1)*(~e2)⨸((~d1)*(~d2))*(~x)^2)^(~q)* ∫((~x)^(~m)*(1 + (~e1)*(~e2)⨸((~d1)*(~d2))*(~x)^2)^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n))), (~x)) : nothing) + +("3_1_5_14", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~n)))/((~x)*((~d) + (~!e)*(~x)^(~!r))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~r), (~x)) && + ext_isinteger((~r)/(~n)) ? +1⨸(~n)*int_and_subst(((~a) + (~b)*log((~c)*(~x)))⨸((~x)*((~d) + (~e)*(~x)^((~r)⨸(~n)))), (~x), (~x), (~x)^(~n), "3_1_5_14") : nothing) + +("3_1_5_15", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/((~x)*((~d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + igt((~p), 0) ? +1⨸(~d)*∫(((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸(~x), (~x)) - (~e)⨸(~d)*∫(((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +#(* Int[(a_.+b_.*Log[c_.*x_^n_.])^p_./(x_*(d_+e_.*x_^r_.)),x_Symbol] := (r*Log[x]-Log[1+(e*x^r)/d])*(a+b*Log[c*x^n])^p/(d*r) - b*n*p/d*Int[Log[x]*(a+b*Log[c*x^n])^(p-1)/x,x] + b*n*p/(d*r)*Int[Log[1+(e*x^r)/d]*(a+b*Log[c*x^n])^(p-1)/x,x] /; FreeQ[{a,b,c,d,e,n,r},x] && IGtQ[p,0] *) +("3_1_5_16", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/((~x)*((~d) + (~!e)*(~x)^(~!r))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~r), (~x)) && + igt((~p), 0) ? +-log(1 + (~d)⨸((~e)*(~x)^(~r)))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸((~d)*(~r)) + (~b)*(~n)*(~p)⨸((~d)*(~r))* ∫(log(1 + (~d)⨸((~e)*(~x)^(~r)))*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1)⨸(~x), (~x)) : nothing) + +("3_1_5_17", +@rule ∫(((~d) + (~!e)*(~x))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + igt((~p), 0) && + gt((~q), 0) && + ext_isinteger(2*(~q)) ? +(~d)*∫(((~d) + (~e)*(~x))^((~q) - 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸(~x), (~x)) + (~e)*∫(((~d) + (~e)*(~x))^((~q) - 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("3_1_5_18", +@rule ∫(((~d) + (~!e)*(~x))^(~q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + igt((~p), 0) && + lt((~q), -1) && + ext_isinteger(2*(~q)) ? +1⨸(~d)*∫(((~d) + (~e)*(~x))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸(~x), (~x)) - (~e)⨸(~d)*∫(((~d) + (~e)*(~x))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("3_1_5_19", +@rule ∫(((~d) + (~!e)*(~x)^(~!r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~r), (~x)) && + ext_isinteger((~q) - 1/2) ? +let + u = ∫(((~d) + (~e)*(~x)^(~r))^(~q)⨸(~x), (~x)) + + u*((~a) + (~b)*log((~c)*(~x)^(~n))) - (~b)*(~n)*∫(dist(1⨸(~x), u, (~x)), (~x)) +end : nothing) + +("3_1_5_20", +@rule ∫(((~d) + (~!e)*(~x)^(~!r))^(~q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~r), (~x)) && + igt((~p), 0) && + ilt((~q), -1) ? +1⨸(~d)*∫(((~d) + (~e)*(~x)^(~r))^((~q) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸(~x), (~x)) - (~e)⨸(~d)*∫((~x)^((~r) - 1)*((~d) + (~e)*(~x)^(~r))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("3_1_5_21", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^(~!r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~q), (~r), (~x)) && + ext_isinteger(2*(~q)) && + ( + ext_isinteger((~m)) && + ext_isinteger((~r)) || + igt((~q), 0) + ) ? +let + u = ∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^(~r))^(~q), (~x)) + +(eq((~r), 1) || + eq((~r), 2)) && +ext_isinteger((~m)) && +ext_isinteger((~q) - 1/2) || +!contains_inverse_function(u, (~x)) ? + dist(((~a) + (~b)*log((~c)*(~x)^(~n))), u, (~x)) - (~b)*(~n)*∫(ext_simplify(u⨸(~x), (~x)), (~x)) : nothing +end : nothing) + +("3_1_5_22", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^(~!r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~q), (~r), (~x)) && + ext_isinteger((~q)) && + ( + gt((~q), 0) || + ext_isinteger((~m)) && + ext_isinteger((~r)) + ) ? +let + u = ext_expand(((~a) + (~b)*log((~c)*(~x)^(~n))), ((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^(~r))^(~q), (~x)) + + issum(u) ? + ∫(u, (~x)) : nothing +end : nothing) + +("3_1_5_23", +@rule ∫((~x)^(~!m)*((~d) + (~!e)*(~x)^(~!r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~r), (~x)) && + ext_isinteger((~q)) && + ext_isinteger((~r)/(~n)) && + ext_isinteger(simplify(((~m) + 1)/(~n))) && + ( + gt(((~m) + 1)/(~n), 0) || + igt((~p), 0) + ) ? +1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*((~d) + (~e)*(~x)^((~r)⨸(~n)))^ (~q)*((~a) + (~b)*log((~c)*(~x)))^(~p), (~x), (~x), (~x)^(~n), "3_1_5_23") : nothing) + +("3_1_5_24", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^(~!r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~q), (~r), (~x)) && + ext_isinteger( (~q)) && + ( + gt((~q), 0) || + igt((~p), 0) && + ext_isinteger((~m)) && + ext_isinteger((~r)) + ) ? +let + u = ext_expand(((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), ((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^(~r))^(~q), (~x)) + + issum(u) ? + ∫(u, (~x)) : nothing +end : nothing) + +# ("3_1_5_25", +# @rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^(~!r))^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~q), (~r), (~x)) ? +# Unintegrable[((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^(~r))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) + +("3_1_5_26", +@rule ∫(((~!f)*(~x))^(~!m)*(~u)^(~!q)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~f), (~m), (~n), (~p), (~q), (~x)) && + isbinomial((~u), (~x)) && + !(binomial_without_simplify((~u), (~x))) ? +∫(((~f)*(~x))^(~m)*expand_to_sum((~u), (~x))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("3_1_5_27", +@rule ∫((~P)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~p), (~x)) && + poly((~P), (~x)) ? +∫(ext_expand((~P)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)), (~x)) : nothing) + +("3_1_5_28", +@rule ∫((~RF)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + rational_function((~RF), (~x)) && + igt((~p), 0) ? +let + u = ext_expand(((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~RF), (~x)) + + issum(u) ? + ∫(u, (~x)) : nothing +end : nothing) + +("3_1_5_29", +@rule ∫((~RF)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + rational_function((~RF), (~x)) && + igt((~p), 0) ? +let + u = ext_expand((~RF)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) + + issum(u) ? + ∫(u, (~x)) : nothing +end : nothing) + +# ("3_1_5_30", +# @rule ∫((~AF)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~n), (~p), (~x)) && +# algebraic_function((~AF), (~x), True) ? +# Unintegrable[(~AF)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) + +("3_1_5_31", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)*((~d) + (~!e)*log((~!c)*(~x)^(~!n)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + ext_isinteger((~p)) && + ext_isinteger((~q)) ? +∫(ext_expand(((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)*((~d) + (~e)*log((~c)*(~x)^(~n)))^(~q), (~x)), (~x)) : nothing) + +("3_1_5_32", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)*((~!d) + (~!e)*log((~!f)*(~x)^(~!r))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~r), (~x)) ? +let + u = ∫(((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) + + dist((~d) + (~e)*log((~f)*(~x)^(~r)), u, (~x)) - (~e)*(~r)*∫(ext_simplify(u⨸(~x), (~x)), (~x)) +end : nothing) + +("3_1_5_33", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)*((~!d) + (~!e)*log((~!f)*(~x)^(~!r)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~r), (~x)) && + igt((~p), 0) && + igt((~q), 0) ? +(~x)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)*((~d) + (~e)*log((~f)*(~x)^(~r)))^(~q) - (~e)*(~q)*(~r)*∫(((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)*((~d) + (~e)*log((~f)*(~x)^(~r)))^((~q) - 1), (~x)) - (~b)*(~n)*(~p)*∫(((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1)*((~d) + (~e)*log((~f)*(~x)^(~r)))^(~q), (~x)) : nothing) + +# ("3_1_5_34", +# @rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)*((~!d) + (~!e)*log((~!f)*(~x)^(~!r)))^(~!q),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~q), (~r), (~x)) ? +# Unintegrable[((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)*((~d) + (~e)*log((~f)*(~x)^(~r)))^(~q), (~x)] : nothing) + +("3_1_5_35", +@rule ∫(((~!a) + (~!b)*log((~v)))^(~!p)*((~!c) + (~!d)*log((~v)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~p), (~q), (~x)) && + linear((~v), (~x)) && + !eq(ext_coeff((~v), (~x), 0), 0) ? +1⨸ext_coeff((~v), (~x), 1)* int_and_subst(((~a) + (~b)*log((~x)))^(~p)*((~c) + (~d)*log((~x)))^(~q), (~x), (~x), (~v), "3_1_5_35") : nothing) + +("3_1_5_36", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)*((~!d) + (~!e)*log((~!c)*(~x)^(~!n)))^(~!q)/ (~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~q), (~x)) ? +1⨸(~n)*int_and_subst(((~a) + (~b)*(~x))^(~p)*((~d) + (~e)*(~x))^(~q), (~x), (~x), log((~c)*(~x)^(~n)), "3_1_5_36") : nothing) + +("3_1_5_37", +@rule ∫(((~!g)*(~x))^(~!m)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^ (~!p)*((~!d) + (~!e)*log((~!f)*(~x)^(~!r))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~r), (~x)) && + !( + eq((~p), 1) && + eq((~a), 0) && + !eq((~d), 0) + ) ? +let + u = ∫(((~g)*(~x))^(~m)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) + + dist(((~d) + (~e)*log((~f)*(~x)^(~r))), u, (~x)) - (~e)*(~r)*∫(ext_simplify(u⨸(~x), (~x)), (~x)) +end : nothing) + +("3_1_5_38", +@rule ∫(((~!g)*(~x))^(~!m)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^ (~!p)*((~!d) + (~!e)*log((~!f)*(~x)^(~!r)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~r), (~x)) && + igt((~p), 0) && + igt((~q), 0) && + !eq((~m), -1) ? +((~g)*(~x))^((~m) + 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^ (~p)*((~d) + (~e)*log((~f)*(~x)^(~r)))^(~q)⨸((~g)*((~m) + 1)) - (~e)*(~q)*(~r)⨸((~m) + 1)* ∫(((~g)*(~x))^(~m)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)*((~d) + (~e)*log((~f)*(~x)^(~r)))^((~q) - 1), (~x)) - (~b)*(~n)*(~p)⨸((~m) + 1)* ∫(((~g)*(~x))^(~m)*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1)*((~d) + (~e)*log((~f)*(~x)^(~r)))^(~q), (~x)) : nothing) + +# ("3_1_5_39", +# @rule ∫(((~!g)*(~x))^(~!m)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^ (~!p)*((~!d) + (~!e)*log((~!f)*(~x)^(~!r)))^(~!q),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~q), (~r), (~x)) ? +# Unintegrable[((~g)*(~x))^(~m)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)*((~d) + (~e)*log((~f)*(~x)^(~r)))^(~q), (~x)] : nothing) + +("3_1_5_40", +@rule ∫((~u)^(~!m)*((~!a) + (~!b)*log((~v)))^(~!p)*((~!c) + (~!d)*log((~v)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~p), (~q), (~x)) && + linear((~u), (~v), (~x)) ? +let + e = ext_coeff((~u), (~x), 0) + f = ext_coeff((~u), (~x), 1) + g = ext_coeff((~v), (~x), 0) + h = ext_coeff((~v), (~x), 1) + + eq(f*g - e*h, 0) && + !eq(g, 0) ? + 1⨸h* int_and_subst((f*(~x)⨸h)^(~m)*((~a) + (~b)*log((~x)))^(~p)*((~c) + (~d)*log((~x)))^(~q), (~x), (~x), (~v), "3_1_5_40") : nothing +end : nothing) + +("3_1_5_41", +@rule ∫(log((~!d)*((~e) + (~!f)*(~x)^(~!m))^(~!r))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~r), (~m), (~n), (~x)) && + igt((~p), 0) && + isrational( (~m)) && + ( + eq((~p), 1) || + isfraction((~m)) && + ext_isinteger(1/(~m)) || + eq((~r), 1) && + eq((~m), 1) && + eq((~d)*(~e), 1) + ) ? +let + u = ∫(log((~d)*((~e) + (~f)*(~x)^(~m))^(~r)), (~x)) + + dist(((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), u, (~x)) - (~b)*(~n)*(~p)*∫(dist(((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1)⨸(~x), u, (~x)), (~x)) +end : nothing) + +("3_1_5_42", +@rule ∫(log((~!d)*((~e) + (~!f)*(~x)^(~!m))^(~!r))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~r), (~m), (~n), (~x)) && + igt((~p), 0) && + ext_isinteger((~m)) ? +let + u = ∫(((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) + + dist(log((~d)*((~e) + (~f)*(~x)^(~m))^(~r)), u, (~x)) - (~f)*(~m)*(~r)*∫(dist((~x)^((~m) - 1)⨸((~e) + (~f)*(~x)^(~m)), u, (~x)), (~x)) +end : nothing) + +# ("3_1_5_43", +# @rule ∫(log((~!d)*((~e) + (~!f)*(~x)^(~!m))^(~!r))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~r), (~m), (~n), (~p), (~x)) ? +# Unintegrable[log((~d)*((~e) + (~f)*(~x)^(~m))^(~r))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) + +("3_1_5_44", +@rule ∫(log((~!d)*(~u)^(~!r))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~r), (~n), (~p), (~x)) && + isbinomial((~u), (~x)) && + !(binomial_without_simplify((~u), (~x))) ? +∫(log((~d)*expand_to_sum((~u), (~x))^(~r))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("3_1_5_45", +@rule ∫(log((~!d)*((~e) + (~!f)*(~x)^(~!m)))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + igt((~p), 0) && + eq((~d)*(~e), 1) ? +-PolyLog.reli(2, -(~d)*(~f)*(~x)^(~m))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸(~m) + (~b)*(~n)*(~p)⨸(~m)* ∫(PolyLog.reli(2, -(~d)*(~f)*(~x)^(~m))*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1)⨸(~x), (~x)) : nothing) + +("3_1_5_46", +@rule ∫(log((~!d)*((~e) + (~!f)*(~x)^(~!m))^(~!r))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~r), (~m), (~n), (~x)) && + igt((~p), 0) && + !eq((~d)*(~e), 1) ? +log((~d)*((~e) + (~f)*(~x)^(~m))^(~r))*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) + 1)⨸((~b)*(~n)*((~p) + 1)) - (~f)*(~m)*(~r)⨸((~b)*(~n)*((~p) + 1))* ∫((~x)^((~m) - 1)*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) + 1)⨸((~e) + (~f)*(~x)^(~m)), (~x)) : nothing) + +("3_1_5_47", +@rule ∫(((~!g)*(~x))^(~!q)* log((~!d)*((~e) + (~!f)*(~x)^(~!m))^(~!r))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~r), (~m), (~n), (~q), (~x)) && + ( + ext_isinteger(((~q) + 1)/(~m)) || + isrational((~m)) && + isrational((~q)) + ) && + !eq((~q), -1) ? +let + u = ∫(((~g)*(~x))^(~q)*log((~d)*((~e) + (~f)*(~x)^(~m))^(~r)), (~x)) + + dist(((~a) + (~b)*log((~c)*(~x)^(~n))), u, (~x)) - (~b)*(~n)*∫(dist(1⨸(~x), u, (~x)), (~x)) +end : nothing) + +("3_1_5_48", +@rule ∫(((~!g)*(~x))^(~!q)* log((~!d)*((~e) + (~!f)*(~x)^(~!m)))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~q), (~x)) && + igt((~p), 0) && + isrational((~m)) && + isrational((~q)) && + !eq((~q), -1) && + ( + eq((~p), 1) || + isfraction((~m)) && + ext_isinteger(((~q) + 1)/(~m)) || + igt((~q), 0) && + ext_isinteger(((~q) + 1)/(~m)) && + eq((~d)*(~e), 1) + ) ? +let + u = ∫(((~g)*(~x))^(~q)*log((~d)*((~e) + (~f)*(~x)^(~m))), (~x)) + + dist(((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), u, (~x)) - (~b)*(~n)*(~p)*∫(dist(((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1)⨸(~x), u, (~x)), (~x)) +end : nothing) + +("3_1_5_49", +@rule ∫(((~!g)*(~x))^(~!q)* log((~!d)*((~e) + (~!f)*(~x)^(~!m))^(~!r))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~r), (~m), (~n), (~q), (~x)) && + igt((~p), 0) && + isrational((~m)) && + isrational((~q)) ? +let + u = ∫(((~g)*(~x))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) + + dist(log((~d)*((~e) + (~f)*(~x)^(~m))^(~r)), u, (~x)) - (~f)*(~m)*(~r)*∫(dist((~x)^((~m) - 1)⨸((~e) + (~f)*(~x)^(~m)), u, (~x)), (~x)) +end : nothing) + +# ("3_1_5_50", +# @rule ∫(((~!g)*(~x))^(~!q)* log((~!d)*((~e) + (~!f)*(~x)^(~!m))^(~!r))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~r), (~m), (~n), (~p), (~q), (~x)) ? +# Unintegrable[((~g)*(~x))^(~q)*log((~d)*((~e) + (~f)*(~x)^(~m))^(~r))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) + +("3_1_5_51", +@rule ∫(((~!g)*(~x))^(~!q)*log((~!d)*(~u)^(~!r))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~g), (~r), (~n), (~p), (~q), (~x)) && + isbinomial((~u), (~x)) && + !(binomial_without_simplify((~u), (~x))) ? +∫(((~g)*(~x))^(~q)*log((~d)*expand_to_sum((~u), (~x))^(~r))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("3_1_5_52", +@rule ∫(PolyLog.reli((~k), (~!e)*(~x)^(~!q))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~e), (~n), (~q), (~x)) && + igt((~k), 0) ? +-(~b)*(~n)*(~x)*PolyLog.reli((~k), (~e)*(~x)^(~q)) + (~x)*PolyLog.reli((~k), (~e)*(~x)^(~q))*((~a) + (~b)*log((~c)*(~x)^(~n))) + (~b)*(~n)*(~q)*∫(PolyLog.reli((~k) - 1, (~e)*(~x)^(~q)), (~x)) - (~q)*∫(PolyLog.reli((~k) - 1, (~e)*(~x)^(~q))*((~a) + (~b)*log((~c)*(~x)^(~n))), (~x)) : nothing) + +# ("3_1_5_53", +# @rule ∫(PolyLog.reli((~k), (~!e)*(~x)^(~!q))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~e), (~n), (~p), (~q), (~x)) ? +# Unintegrable[PolyLog.reli((~k), (~e)*(~x)^(~q))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) + +("3_1_5_54", +@rule ∫(PolyLog.reli((~k), (~!e)*(~x)^(~!q))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~e), (~k), (~n), (~q), (~x)) && + gt((~p), 0) ? +PolyLog.reli((~k) + 1, (~e)*(~x)^(~q))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸(~q) - (~b)*(~n)*(~p)⨸(~q)*∫(PolyLog.reli((~k) + 1, (~e)*(~x)^(~q))*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) - 1)⨸(~x), (~x)) : nothing) + +("3_1_5_55", +@rule ∫(PolyLog.reli((~k), (~!e)*(~x)^(~!q))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~e), (~k), (~n), (~q), (~x)) && + lt((~p), -1) ? +PolyLog.reli((~k), (~e)*(~x)^(~q))*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) + 1)⨸((~b)*(~n)*((~p) + 1)) - (~q)⨸((~b)*(~n)*((~p) + 1))* ∫(PolyLog.reli((~k) - 1, (~e)*(~x)^(~q))*((~a) + (~b)*log((~c)*(~x)^(~n)))^((~p) + 1)⨸(~x), (~x)) : nothing) + +("3_1_5_56", +@rule ∫(((~!d)*(~x))^(~!m)*PolyLog.reli((~k), (~!e)*(~x)^(~!q))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~q), (~x)) && + igt((~k), 0) ? +-(~b)*(~n)*((~d)*(~x))^((~m) + 1)*PolyLog.reli((~k), (~e)*(~x)^(~q))⨸((~d)*((~m) + 1)^2) + ((~d)*(~x))^((~m) + 1)* PolyLog.reli((~k), (~e)*(~x)^(~q))*((~a) + (~b)*log((~c)*(~x)^(~n)))⨸((~d)*((~m) + 1)) + (~b)*(~n)*(~q)⨸((~m) + 1)^2*∫(((~d)*(~x))^(~m)*PolyLog.reli((~k) - 1, (~e)*(~x)^(~q)), (~x)) - (~q)⨸((~m) + 1)* ∫(((~d)*(~x))^(~m)*PolyLog.reli((~k) - 1, (~e)*(~x)^(~q))*((~a) + (~b)*log((~c)*(~x)^(~n))), (~x)) : nothing) + +# ("3_1_5_57", +# @rule ∫(((~!d)*(~x))^(~!m)* PolyLog.reli((~k), (~!e)*(~x)^(~!q))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) ? +# Unintegrable[((~d)*(~x))^(~m)*PolyLog.reli((~k), (~e)*(~x)^(~q))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) + +("3_1_5_58", +@rule ∫((~!Px)*(~F)((~!d)*((~!e) + (~!f)*(~x)))^(~!m)*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + poly((~Px), (~x)) && + igt((~m), 0) && + in( (~F), [asin, acos, asinh, acosh]) ? +let + u = ∫((~Px)*(~F)((~d)*((~e) + (~f)*(~x)))^(~m), (~x)) + + dist(((~a) + (~b)*log((~c)*(~x)^(~n))), u, (~x)) - (~b)*(~n)*∫(dist(1⨸(~x), u, (~x)), (~x)) +end : nothing) + +("3_1_5_59", +@rule ∫((~!Px)*(~F)((~!d)*((~!e) + (~!f)*(~x)))*((~!a) + (~!b)*log((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + poly((~Px), (~x)) && + in( (~F), [atan, acot, atanh, acoth]) ? +let + u = ∫((~Px)*(~F)((~d)*((~e) + (~f)*(~x))), (~x)) + + dist(((~a) + (~b)*log((~c)*(~x)^(~n))), u, (~x)) - (~b)*(~n)*∫(dist(1⨸(~x), u, (~x)), (~x)) +end : nothing) + + +] diff --git a/src/methods/rule_based/rules2/3 Logarithms/3.2/3.2.1 (f+g x)^m (A+B log(e ((a+b x) over (c+d x))^n))^p.jl b/src/methods/rule_based/rules2/3 Logarithms/3.2/3.2.1 (f+g x)^m (A+B log(e ((a+b x) over (c+d x))^n))^p.jl new file mode 100644 index 0000000..2b98ab1 --- /dev/null +++ b/src/methods/rule_based/rules2/3 Logarithms/3.2/3.2.1 (f+g x)^m (A+B log(e ((a+b x) over (c+d x))^n))^p.jl @@ -0,0 +1,209 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 3.2.1 (f+g x)^m (A+B log(e ((a+b x) over (c+d x))^n))^p *) +("3_2_1_1", +@rule ∫(((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~p), 0) ? +((~a) + (~b)*(~x))*((~A) + (~B)*log((~e)*(((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))^(~n)))^(~p)⨸(~b) - (~B)*(~n)*(~p)*((~b)*(~c) - (~a)*(~d))⨸(~b)* ∫(((~A) + (~B)*log((~e)*(((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))^(~n)))^((~p) - 1)⨸((~c) + (~d)*(~x)), (~x)) : nothing) + +("3_2_1_2", +@rule ∫(((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~n), (~x)) && + eq((~n) + (~mn), 0) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~p), 0) ? +((~a) + (~b)*(~x))*((~A) + (~B)*log((~e)*((~a) + (~b)*(~x))^(~n)⨸((~c) + (~d)*(~x))^(~n)))^(~p)⨸(~b) - (~B)*(~n)*(~p)*((~b)*(~c) - (~a)*(~d))⨸(~b)* ∫(((~A) + (~B)*log((~e)*((~a) + (~b)*(~x))^(~n)⨸((~c) + (~d)*(~x))^(~n)))^((~p) - 1)⨸((~c) + (~d)*(~x)), (~x)) : nothing) + +#(* Int[(A_.+B_.*Log[e_.*((a_.+b_.*x_)^n1_.*(c_.+d_.*x_)^n2_)^n_.])^p_. ,x_Symbol] := (a+b*x)*(A+B*Log[e*((a+b*x)^n1/(c+d*x)^n1)^n])^p/b - B*n*p*(b*c-a*d)/b*Int[(A+B*Log[e*((a+b*x)^n1/(c+d*x)^n1)^n])^(p-1)/( c+d*x),x] /; FreeQ[{a,b,c,d,e,A,B,n},x] && EqQ[n1+n2,0] && GtQ[n1,0] && (EqQ[n1,1] || EqQ[n,1]) && NeQ[b*c-a*d,0] && IGtQ[p,0] *) +# ("3_2_1_3", +# @rule ∫(((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n)))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~n), (~p), (~x)) ? +# Unintegrable[((~A) + (~B)*log((~e)*(((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))^(~n)))^(~p), (~x)] : nothing) + +# ("3_2_1_4", +# @rule ∫(((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn)))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~n), (~p), (~x)) && +# eq((~n) + (~mn), 0) ? +# Unintegrable[((~A) + (~B)*log((~e)*((~a) + (~b)*(~x))^(~n)⨸((~c) + (~d)*(~x))^(~n)))^(~p), (~x)] : nothing) + +("3_2_1_5", +@rule ∫(((~!A) + (~!B)*log((~!e)*((~u)/(~v))^(~!n)))^(~!p),(~x)) => + !contains_var((~e), (~A), (~B), (~n), (~p), (~x)) && + linear((~u), (~v), (~x)) && + !(linear_without_simplify((~u), (~v), (~x))) ? +∫(((~A) + (~B)*log((~e)*(expand_to_sum((~u), (~x))⨸expand_to_sum((~v), (~x)))^(~n)))^(~p), (~x)) : nothing) + +("3_2_1_6", +@rule ∫(((~!A) + (~!B)*log((~!e)*(~u)^(~!n)*(~v)^(~mn)))^(~!p),(~x)) => + !contains_var((~e), (~A), (~B), (~n), (~p), (~x)) && + eq((~n) + (~mn), 0) && + igt((~n), 0) && + linear((~u), (~v), (~x)) && + !(linear_without_simplify((~u), (~v), (~x))) ? +∫(((~A) + (~B)*log((~e)*expand_to_sum((~u), (~x))^(~n)⨸expand_to_sum((~v), (~x))^(~n)))^(~p), (~x)) : nothing) + +("3_2_1_7", +@rule ∫(((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n)))/((~!f) + (~!g)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~b)*(~f) - (~a)*(~g), 0) ? +-log(-((~b)*(~c) - (~a)*(~d))⨸((~d)*((~a) + (~b)*(~x))))*((~A) + (~B)*log((~e)*(((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))^(~n)))⨸(~g) + (~B)*(~n)*((~b)*(~c) - (~a)*(~d))⨸(~g)* ∫(log(-((~b)*(~c) - (~a)*(~d))⨸((~d)*((~a) + (~b)*(~x))))⨸(((~a) + (~b)*(~x))*((~c) + (~d)*(~x))), (~x)) : nothing) + +("3_2_1_8", +@rule ∫(((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn)))/((~!f) + (~!g)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~n), (~x)) && + eq((~n) + (~mn), 0) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~b)*(~f) - (~a)*(~g), 0) ? +-log(-((~b)*(~c) - (~a)*(~d))⨸((~d)*((~a) + (~b)*(~x))))*((~A) + (~B)*log((~e)*((~a) + (~b)*(~x))^(~n)⨸((~c) + (~d)*(~x))^(~n)))⨸(~g) + (~B)*(~n)*((~b)*(~c) - (~a)*(~d))⨸(~g)* ∫(log(-((~b)*(~c) - (~a)*(~d))⨸((~d)*((~a) + (~b)*(~x))))⨸(((~a) + (~b)*(~x))*((~c) + (~d)*(~x))), (~x)) : nothing) + +("3_2_1_9", +@rule ∫(((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n)))/((~!f) + (~!g)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)*(~f) - (~c)*(~g), 0) ? +-log(((~b)*(~c) - (~a)*(~d))⨸((~b)*((~c) + (~d)*(~x))))*((~A) + (~B)*log((~e)*(((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))^(~n)))⨸(~g) + (~B)*(~n)*((~b)*(~c) - (~a)*(~d))⨸(~g)* ∫(log(((~b)*(~c) - (~a)*(~d))⨸((~b)*((~c) + (~d)*(~x))))⨸(((~a) + (~b)*(~x))*((~c) + (~d)*(~x))), (~x)) : nothing) + +("3_2_1_10", +@rule ∫(((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn)))/((~!f) + (~!g)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~n), (~x)) && + eq((~n) + (~mn), 0) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)*(~f) - (~c)*(~g), 0) ? +-log(((~b)*(~c) - (~a)*(~d))⨸((~b)*((~c) + (~d)*(~x))))*((~A) + (~B)*log((~e)*((~a) + (~b)*(~x))^(~n)⨸((~c) + (~d)*(~x))^(~n)))⨸(~g) + (~B)*(~n)*((~b)*(~c) - (~a)*(~d))⨸(~g)* ∫(log(((~b)*(~c) - (~a)*(~d))⨸((~b)*((~c) + (~d)*(~x))))⨸(((~a) + (~b)*(~x))*((~c) + (~d)*(~x))), (~x)) : nothing) + +("3_2_1_11", +@rule ∫(((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n)))/((~!f) + (~!g)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +log((~f) + (~g)*(~x))*((~A) + (~B)*log((~e)*(((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))^(~n)))⨸(~g) - (~b)*(~B)*(~n)⨸(~g)*∫(log((~f) + (~g)*(~x))⨸((~a) + (~b)*(~x)), (~x)) + (~B)*(~d)*(~n)⨸(~g)*∫(log((~f) + (~g)*(~x))⨸((~c) + (~d)*(~x)), (~x)) : nothing) + +("3_2_1_12", +@rule ∫(((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn)))/((~!f) + (~!g)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~n), (~x)) && + eq((~n) + (~mn), 0) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +log((~f) + (~g)*(~x))*((~A) + (~B)*log((~e)*((~a) + (~b)*(~x))^(~n)⨸((~c) + (~d)*(~x))^(~n)))⨸(~g) - (~b)*(~B)*(~n)⨸(~g)*∫(log((~f) + (~g)*(~x))⨸((~a) + (~b)*(~x)), (~x)) + (~B)*(~d)*(~n)⨸(~g)*∫(log((~f) + (~g)*(~x))⨸((~c) + (~d)*(~x)), (~x)) : nothing) + +("3_2_1_13", +@rule ∫(((~!f) + (~!g)*(~x))^ (~!m)*((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~m), -1) && + !eq((~m), -2) ? +((~f) + (~g)*(~x))^((~m) + 1)*((~A) + (~B)*log((~e)*(((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))^(~n)))⨸((~g)*((~m) + 1)) - (~B)*(~n)*((~b)*(~c) - (~a)*(~d))⨸((~g)*((~m) + 1))* ∫(((~f) + (~g)*(~x))^((~m) + 1)⨸(((~a) + (~b)*(~x))*((~c) + (~d)*(~x))), (~x)) : nothing) + +("3_2_1_14", +@rule ∫(((~!f) + (~!g)*(~x))^ (~!m)*((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~m), (~n), (~x)) && + eq((~n) + (~mn), 0) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~m), -1) && + !( + eq((~m), -2) && + ext_isinteger((~n)) + ) ? +((~f) + (~g)*(~x))^((~m) + 1)*((~A) + (~B)*log((~e)*((~a) + (~b)*(~x))^(~n)⨸((~c) + (~d)*(~x))^(~n)))⨸((~g)*((~m) + 1)) - (~B)*(~n)*((~b)*(~c) - (~a)*(~d))⨸((~g)*((~m) + 1))* ∫(((~f) + (~g)*(~x))^((~m) + 1)⨸(((~a) + (~b)*(~x))*((~c) + (~d)*(~x))), (~x)) : nothing) + +("3_2_1_15", +@rule ∫(((~!f) + (~!g)*(~x))^ (~!m)*((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger((~m), (~p)) && + eq((~b)*(~f) - (~a)*(~g), 0) && + ( + gt((~p), 0) || + lt((~m), -1) + ) ? +((~b)*(~c) - (~a)*(~d))^((~m) + 1)*((~g)⨸(~b))^(~m)* int_and_subst((~x)^(~m)*((~A) + (~B)*log((~e)*(~x)^(~n)))^(~p)⨸((~b) - (~d)*(~x))^((~m) + 2), (~x), (~x), ((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)), "3_2_1_15") : nothing) + +("3_2_1_16", +@rule ∫(((~!f) + (~!g)*(~x))^ (~!m)*((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~n), (~x)) && + eq((~n) + (~mn), 0) && + igt((~n), 0) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger((~m), (~p)) && + eq((~b)*(~f) - (~a)*(~g), 0) && + ( + gt((~p), 0) || + lt((~m), -1) + ) ? +((~b)*(~c) - (~a)*(~d))^((~m) + 1)*((~g)⨸(~b))^(~m)* int_and_subst((~x)^(~m)*((~A) + (~B)*log((~e)*(~x)^(~n)))^(~p)⨸((~b) - (~d)*(~x))^((~m) + 2), (~x), (~x), ((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)), "3_2_1_16") : nothing) + +("3_2_1_17", +@rule ∫(((~!f) + (~!g)*(~x))^ (~!m)*((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger((~m), (~p)) && + eq((~d)*(~f) - (~c)*(~g), 0) && + ( + gt((~p), 0) || + lt((~m), -1) + ) ? +((~b)*(~c) - (~a)*(~d))^((~m) + 1)*((~g)⨸(~d))^(~m)* int_and_subst(((~A) + (~B)*log((~e)*(~x)^(~n)))^(~p)⨸((~b) - (~d)*(~x))^((~m) + 2), (~x), (~x), ((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)), "3_2_1_17") : nothing) + +("3_2_1_18", +@rule ∫(((~!f) + (~!g)*(~x))^ (~!m)*((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~n), (~x)) && + eq((~n) + (~mn), 0) && + igt((~n), 0) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger((~m), (~p)) && + eq((~d)*(~f) - (~c)*(~g), 0) && + ( + gt((~p), 0) || + lt((~m), -1) + ) ? +((~b)*(~c) - (~a)*(~d))^((~m) + 1)*((~g)⨸(~d))^(~m)* int_and_subst(((~A) + (~B)*log((~e)*(~x)^(~n)))^(~p)⨸((~b) - (~d)*(~x))^((~m) + 2), (~x), (~x), ((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)), "3_2_1_18") : nothing) + +("3_2_1_19", +@rule ∫(((~!f) + (~!g)*(~x))^ (~!m)*((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger((~m)) && + igt((~p), 0) ? +((~b)*(~c) - (~a)*(~d))* int_and_subst(((~b)*(~f) - (~a)*(~g) - ((~d)*(~f) - (~c)*(~g))*(~x))^ (~m)*((~A) + (~B)*log((~e)*(~x)^(~n)))^(~p)⨸((~b) - (~d)*(~x))^((~m) + 2), (~x), (~x), ((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)), "3_2_1_19") : nothing) + +("3_2_1_20", +@rule ∫(((~!f) + (~!g)*(~x))^ (~!m)*((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~n), (~x)) && + eq((~n) + (~mn), 0) && + igt((~n), 0) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger((~m)) && + igt((~p), 0) ? +((~b)*(~c) - (~a)*(~d))* int_and_subst(((~b)*(~f) - (~a)*(~g) - ((~d)*(~f) - (~c)*(~g))*(~x))^ (~m)*((~A) + (~B)*log((~e)*(~x)^(~n)))^(~p)⨸((~b) - (~d)*(~x))^((~m) + 2), (~x), (~x), ((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)), "3_2_1_20") : nothing) + +# ("3_2_1_21", +# @rule ∫(((~!f) + (~!g)*(~x))^ (~!m)*((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~f) + (~g)*(~x))^(~m)*((~A) + (~B)*log((~e)*(((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))^(~n)))^(~p), (~x)] : nothing) + +# ("3_2_1_22", +# @rule ∫(((~!f) + (~!g)*(~x))^ (~!m)*((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn)))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~m), (~n), (~p), (~x)) && +# eq((~n) + (~mn), 0) && +# ext_isinteger((~n)) ? +# Unintegrable[((~f) + (~g)*(~x))^(~m)*((~A) + (~B)*log((~e)*((~a) + (~b)*(~x))^(~n)⨸((~c) + (~d)*(~x))^(~n)))^(~p), (~x)] : nothing) + +("3_2_1_23", +@rule ∫((~w)^(~!m)*((~!A) + (~!B)*log((~!e)*((~u)/(~v))^(~!n)))^(~!p),(~x)) => + !contains_var((~e), (~A), (~B), (~m), (~n), (~p), (~x)) && + linear((~u), (~v), (~w), (~x)) && + !(linear_without_simplify((~u), (~v), (~w), (~x))) ? +∫(expand_to_sum((~w), (~x))^ (~m)*((~A) + (~B)*log((~e)*(expand_to_sum((~u), (~x))⨸expand_to_sum((~v), (~x)))^(~n)))^(~p), (~x)) : nothing) + +("3_2_1_24", +@rule ∫((~w)^(~!m)*((~!A) + (~!B)*log((~!e)*(~u)^(~!n)*(~v)^(~mn)))^(~!p),(~x)) => + !contains_var((~e), (~A), (~B), (~m), (~n), (~p), (~x)) && + eq((~n) + (~mn), 0) && + igt((~n), 0) && + linear((~u), (~v), (~w), (~x)) && + !(linear_without_simplify((~u), (~v), (~w), (~x))) ? +∫(expand_to_sum((~w), (~x))^ (~m)*((~A) + (~B)*log((~e)*expand_to_sum((~u), (~x))^(~n)⨸expand_to_sum((~v), (~x))^(~n)))^(~p), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/3 Logarithms/3.2/3.2.2 (f+g x)^m (h+i x)^q (A+B log(e ((a+b x) over (c+d x))^n))^p.jl b/src/methods/rule_based/rules2/3 Logarithms/3.2/3.2.2 (f+g x)^m (h+i x)^q (A+B log(e ((a+b x) over (c+d x))^n))^p.jl new file mode 100644 index 0000000..a489ee0 --- /dev/null +++ b/src/methods/rule_based/rules2/3 Logarithms/3.2/3.2.2 (f+g x)^m (h+i x)^q (A+B log(e ((a+b x) over (c+d x))^n))^p.jl @@ -0,0 +1,179 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 3.2.2 (f+g x)^m (h+i x)^q (A+B log(e ((a+b x) over (c+d x))^n))^p *) +("3_2_2_1", +@rule ∫(((~!f) + (~!g)*(~x))^ (~!m)*((~!h) + (~!i)*(~x))*((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~A), (~B), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~b)*(~f) - (~a)*(~g), 0) && + eq((~d)*(~h) - (~c)*(~i), 0) && + igt((~m), -2) ? +((~f) + (~g)*(~x))^((~m) + 1)*((~h) + (~i)*(~x))*((~A) + (~B)*log((~e)*(((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))^(~n)))⨸((~g)*((~m) + 2)) + (~i)*((~b)*(~c) - (~a)*(~d))⨸((~b)*(~d)*((~m) + 2))* ∫(((~f) + (~g)*(~x))^(~m)*((~A) - (~B)*(~n) + (~B)*log((~e)*(((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))^(~n))), (~x)) : nothing) + +("3_2_2_2", +@rule ∫(((~!f) + (~!g)*(~x))^ (~!m)*((~!h) + (~!i)*(~x))*((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~A), (~B), (~m), (~n), (~x)) && + eq((~n) + (~mn), 0) && + igt((~n), 0) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~b)*(~f) - (~a)*(~g), 0) && + eq((~d)*(~h) - (~c)*(~i), 0) && + igt((~m), -2) ? +((~f) + (~g)*(~x))^((~m) + 1)*((~h) + (~i)*(~x))*((~A) + (~B)*log((~e)*((~a) + (~b)*(~x))^(~n)⨸((~c) + (~d)*(~x))^(~n)))⨸((~g)*((~m) + 2)) + (~i)*((~b)*(~c) - (~a)*(~d))⨸((~b)*(~d)*((~m) + 2))* ∫(((~f) + (~g)*(~x))^(~m)*((~A) - (~B)*(~n) + (~B)*log((~e)*((~a) + (~b)*(~x))^(~n)⨸((~c) + (~d)*(~x))^(~n))), (~x)) : nothing) + +("3_2_2_3", +@rule ∫(((~!f) + (~!g)*(~x))^(~!m)*((~!h) + (~!i)*(~x))^ (~!q)*((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~A), (~B), (~n), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~b)*(~f) - (~a)*(~g), 0) && + eq((~d)*(~h) - (~c)*(~i), 0) && + ext_isinteger((~m), (~q)) ? +((~b)*(~c) - (~a)*(~d))^((~m) + (~q) + 1)*((~g)⨸(~b))^(~m)*((~i)⨸(~d))^(~q)* int_and_subst((~x)^(~m)*((~A) + (~B)*log((~e)*(~x)^(~n)))^(~p)⨸((~b) - (~d)*(~x))^((~m) + (~q) + 2), (~x), (~x), ((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)), "3_2_2_3") : nothing) + +("3_2_2_4", +@rule ∫(((~!f) + (~!g)*(~x))^(~!m)*((~!h) + (~!i)*(~x))^ (~!q)*((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~A), (~B), (~n), (~p), (~x)) && + eq((~n) + (~mn), 0) && + igt((~n), 0) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~b)*(~f) - (~a)*(~g), 0) && + eq((~d)*(~h) - (~c)*(~i), 0) && + ext_isinteger((~m), (~q)) ? +((~b)*(~c) - (~a)*(~d))^((~m) + (~q) + 1)*((~g)⨸(~b))^(~m)*((~i)⨸(~d))^(~q)* int_and_subst((~x)^(~m)*((~A) + (~B)*log((~e)*(~x)^(~n)))^(~p)⨸((~b) - (~d)*(~x))^((~m) + (~q) + 2), (~x), (~x), ((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)), "3_2_2_4") : nothing) + +("3_2_2_5", +@rule ∫(((~!f) + (~!g)*(~x))^(~!m)*((~!h) + (~!i)*(~x))^ (~!q)*((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~A), (~B), (~m), (~n), (~p), (~q), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~b)*(~f) - (~a)*(~g), 0) && + eq((~d)*(~h) - (~c)*(~i), 0) && + eq((~m) + (~q) + 2, 0) ? +(~d)^2*((~g)*((~a) + (~b)*(~x))⨸(~b))^ (~m)⨸((~i)^2*((~b)*(~c) - (~a)*(~d))*((~i)*((~c) + (~d)*(~x))⨸(~d))^(~m)*(((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))^(~m))* int_and_subst((~x)^(~m)*((~A) + (~B)*log((~e)*(~x)^(~n)))^(~p), (~x), (~x), ((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)), "3_2_2_5") : nothing) + +("3_2_2_6", +@rule ∫(((~!f) + (~!g)*(~x))^(~!m)*((~!h) + (~!i)*(~x))^ (~!q)*((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~A), (~B), (~m), (~n), (~p), (~q), (~x)) && + eq((~n) + (~mn), 0) && + igt((~n), 0) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~b)*(~f) - (~a)*(~g), 0) && + eq((~d)*(~h) - (~c)*(~i), 0) && + eq((~m) + (~q) + 2, 0) ? +(~d)^2*((~g)*((~a) + (~b)*(~x))⨸(~b))^ (~m)⨸((~i)^2*((~b)*(~c) - (~a)*(~d))*((~i)*((~c) + (~d)*(~x))⨸(~d))^(~m)*(((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))^(~m))* int_and_subst((~x)^(~m)*((~A) + (~B)*log((~e)*(~x)^(~n)))^(~p), (~x), (~x), ((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)), "3_2_2_6") : nothing) + +#(* Int[(f_.+g_.*x_)^m_.*(h_.+i_.*x_)^q_.*(A_.+B_.*Log[e_.*(a_.+b_.*x_) ^n_.*(c_.+d_.*x_)^mn_])^p_.,x_Symbol] := b*d*(f+g*x)^(m+1)/(g*i*(b*c-a*d)*(h+i*x)^(m+1)*((a+b*x)/(c+d*x))^(m+ 1))* Subst[Int[x^m*(A+B*Log[e*x^n])^p,x],x,(a+b*x)/(c+d*x)] /; FreeQ[{a,b,c,d,e,f,g,h,i,A,B,m,n,p,q},x] && EqQ[n+mn,0] && NeQ[b*c-a*d,0] && EqQ[b*f-a*g,0] && EqQ[d*h-c*i,0] && EqQ[m+q+2,0] *) +("3_2_2_7", +@rule ∫(((~!f) + (~!g)*(~x))^(~!m)*((~!h) + (~!i)*(~x))^ (~!q)*((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~A), (~B), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger((~m), (~q)) && + igt((~p), 0) && + eq((~d)*(~h) - (~c)*(~i), 0) ? +((~b)*(~c) - (~a)*(~d))^((~q) + 1)*((~i)⨸(~d))^(~q)* int_and_subst(((~b)*(~f) - (~a)*(~g) - ((~d)*(~f) - (~c)*(~g))*(~x))^ (~m)*((~A) + (~B)*log((~e)*(~x)^(~n)))^(~p)⨸((~b) - (~d)*(~x))^((~m) + (~q) + 2), (~x), (~x), ((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)), "3_2_2_7") : nothing) + +("3_2_2_8", +@rule ∫(((~!f) + (~!g)*(~x))^(~!m)*((~!h) + (~!i)*(~x))^ (~!q)*((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~A), (~B), (~n), (~x)) && + eq((~n) + (~mn), 0) && + igt((~n), 0) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger((~m), (~q)) && + igt((~p), 0) && + eq((~d)*(~h) - (~c)*(~i), 0) ? +((~b)*(~c) - (~a)*(~d))^((~q) + 1)*((~i)⨸(~d))^(~q)* int_and_subst(((~b)*(~f) - (~a)*(~g) - ((~d)*(~f) - (~c)*(~g))*(~x))^ (~m)*((~A) + (~B)*log((~e)*(~x)^(~n)))^(~p)⨸((~b) - (~d)*(~x))^((~m) + (~q) + 2), (~x), (~x), ((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)), "3_2_2_8") : nothing) + +("3_2_2_9", +@rule ∫(((~!f) + (~!g)*(~x))^(~!m)*((~!h) + (~!i)*(~x))^ (~!q)*((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~A), (~B), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger((~m), (~q)) && + igt((~p), 0) ? +((~b)*(~c) - (~a)*(~d))* int_and_subst(((~b)*(~f) - (~a)*(~g) - ((~d)*(~f) - (~c)*(~g))*(~x))^ (~m)*((~b)*(~h) - (~a)*(~i) - ((~d)*(~h) - (~c)*(~i))*(~x))^ (~q)*((~A) + (~B)*log((~e)*(~x)^(~n)))^(~p)⨸((~b) - (~d)*(~x))^((~m) + (~q) + 2), (~x), (~x), ((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)), "3_2_2_9") : nothing) + +("3_2_2_10", +@rule ∫(((~!f) + (~!g)*(~x))^(~!m)*((~!h) + (~!i)*(~x))^ (~!q)*((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~A), (~B), (~n), (~x)) && + eq((~n) + (~mn), 0) && + igt((~n), 0) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger((~m), (~q)) && + igt((~p), 0) ? +((~b)*(~c) - (~a)*(~d))* int_and_subst(((~b)*(~f) - (~a)*(~g) - ((~d)*(~f) - (~c)*(~g))*(~x))^ (~m)*((~b)*(~h) - (~a)*(~i) - ((~d)*(~h) - (~c)*(~i))*(~x))^ (~q)*((~A) + (~B)*log((~e)*(~x)^(~n)))^(~p)⨸((~b) - (~d)*(~x))^((~m) + (~q) + 2), (~x), (~x), ((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)), "3_2_2_10") : nothing) + +# ("3_2_2_11", +# @rule ∫(((~!f) + (~!g)*(~x))^(~!m)*((~!h) + (~!i)*(~x))^ (~!q)*((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~A), (~B), (~m), (~n), (~p), (~q), (~x)) ? +# Unintegrable[((~f) + (~g)*(~x))^(~m)*((~h) + (~i)*(~x))^ (~q)*((~A) + (~B)*log((~e)*(((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))^(~n)))^(~p), (~x)] : nothing) + +# ("3_2_2_12", +# @rule ∫(((~!f) + (~!g)*(~x))^(~!m)*((~!h) + (~!i)*(~x))^ (~!q)*((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn)))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~A), (~B), (~m), (~n), (~p), (~q), (~x)) && +# eq((~n) + (~mn), 0) && +# ext_isinteger((~n)) ? +# Unintegrable[((~f) + (~g)*(~x))^(~m)*((~h) + (~i)*(~x))^ (~q)*((~A) + (~B)*log((~e)*((~a) + (~b)*(~x))^(~n)⨸((~c) + (~d)*(~x))^(~n)))^(~p), (~x)] : nothing) + +("3_2_2_13", +@rule ∫((~w)^(~!m)*(~y)^(~!q)*((~!A) + (~!B)*log((~!e)*((~u)/(~v))^(~!n)))^(~!p),(~x)) => + !contains_var((~e), (~A), (~B), (~m), (~n), (~p), (~q), (~x)) && + linear((~u), (~v), (~w), (~y), (~x)) && + !(linear_without_simplify((~u), (~v), (~w), (~y), (~x))) ? +∫(expand_to_sum((~w), (~x))^(~m)* expand_to_sum((~y), (~x))^ (~q)*((~A) + (~B)*log((~e)*(expand_to_sum((~u), (~x))⨸expand_to_sum((~v), (~x)))^(~n)))^(~p), (~x)) : nothing) + +("3_2_2_14", +@rule ∫((~w)^(~!m)*(~y)^(~!q)*((~!A) + (~!B)*log((~!e)*(~u)^(~!n)*(~v)^(~mn)))^(~!p),(~x)) => + !contains_var((~e), (~A), (~B), (~m), (~n), (~p), (~q), (~x)) && + eq((~n) + (~mn), 0) && + igt((~n), 0) && + linear((~u), (~v), (~w), (~y), (~x)) && + !(linear_without_simplify((~u), (~v), (~w), (~y), (~x))) ? +∫(expand_to_sum((~w), (~x))^(~m)* expand_to_sum((~y), (~x))^ (~q)*((~A) + (~B)*log((~e)*expand_to_sum((~u), (~x))^(~n)⨸expand_to_sum((~v), (~x))^(~n)))^(~p), (~x)) : nothing) + +("3_2_2_15", +@rule ∫((~!w)*((~!A) + (~!B)*log((~!e)*(~u)^(~!n)*(~v)^(~mn)))^(~!p),(~x)) => + !contains_var((~e), (~A), (~B), (~n), (~p), (~x)) && + eq((~n) + (~mn), 0) && + linear((~u), (~v), (~x)) && + !(ext_isinteger((~n))) ? +int_and_subst((~w)*((~A) + (~B)*log((~e)*((~u)⨸(~v))^(~n)))^(~p), (~x), (~e)*((~u)⨸(~v))^(~n), (~e)*(~u)^(~n)⨸(~v)^(~n), "3_2_2_15") : nothing) + +#(* Int[w_.*(A_.+B_.*Log[e_.*(f_.*u_^q_.*v_^mq_)^n_.])^p_.,x_Symbol] := Subst[Int[w*(A+B*Log[e*f^n*(u/v)^(n*q)])^p,x],e*f^n*(u/v)^(n*q),e*( f*(u^q/v^q))^n] /; FreeQ[{e,f,A,B,n,p,q},x] && EqQ[q+mq,0] && LinearQ[{u,v},x] && Not[IntegerQ[n]] *) +("3_2_2_16", +@rule ∫(((~!f) + (~!g)*(~x) + (~!h)*(~x)^2)^ (~!m)*((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~A), (~B), (~n), (~p), (~x)) && + eq((~b)*(~d)*(~f) - (~a)*(~c)*(~h), 0) && + eq((~b)*(~d)*(~g) - (~h)*((~b)*(~c) + (~a)*(~d)), 0) && + ext_isinteger((~m)) ? +(~h)^(~m)⨸((~b)^(~m)*(~d)^(~m))* ∫(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~m)*((~A) + (~B)*log((~e)*(((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)))^(~n)))^ (~p), (~x)) : nothing) + +("3_2_2_17", +@rule ∫(((~!f) + (~!g)*(~x) + (~!h)*(~x)^2)^ (~!m)*((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~A), (~B), (~n), (~p), (~x)) && + eq((~n) + (~mn), 0) && + igt((~n), 0) && + eq((~b)*(~d)*(~f) - (~a)*(~c)*(~h), 0) && + eq((~b)*(~d)*(~g) - (~h)*((~b)*(~c) + (~a)*(~d)), 0) && + ext_isinteger((~m)) ? +(~h)^(~m)⨸((~b)^(~m)*(~d)^(~m))* ∫(((~a) + (~b)*(~x))^(~m)*((~c) + (~d)*(~x))^(~m)*((~A) + (~B)*log((~e)*((~a) + (~b)*(~x))^(~n)⨸((~c) + (~d)*(~x))^(~n)))^ (~p), (~x)) : nothing) + +("3_2_2_18", +@rule ∫((~Px)^(~!m)*((~!A) + (~!B)*log((~!e)*(((~!a) + (~!b)*(~x))/((~!c) + (~!d)*(~x)))^(~!n)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~n), (~x)) && + poly((~Px), (~x), 2) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger((~m)) && + igt((~p), 0) ? +((~b)*(~c) - (~a)*(~d))* int_and_subst(((~b)^2*ext_coeff((~Px), (~x), 0) - (~a)*(~b)*ext_coeff((~Px), (~x), 1) + (~a)^2*ext_coeff((~Px), (~x), 2) - (2*(~b)*(~d)*ext_coeff((~Px), (~x), 0) - (~b)*(~c)*ext_coeff((~Px), (~x), 1) - (~a)*(~d)*ext_coeff((~Px), (~x), 1) + 2*(~a)*(~c)*ext_coeff((~Px), (~x), 2))* (~x) + ((~d)^2*ext_coeff((~Px), (~x), 0) - (~c)*(~d)*ext_coeff((~Px), (~x), 1) + (~c)^2*ext_coeff((~Px), (~x), 2))*(~x)^2)^(~m)*((~A) + (~B)*log((~e)*(~x)^(~n)))^(~p)⨸ ((~b) - (~d)*(~x))^(2*((~m) + 1)), (~x), (~x), ((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)), "3_2_2_18") : nothing) + +("3_2_2_19", +@rule ∫((~Px)^ (~!m)*((~!A) + (~!B)*log((~!e)*((~!a) + (~!b)*(~x))^(~!n)*((~!c) + (~!d)*(~x))^(~mn)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~n), (~x)) && + poly((~Px), (~x), 2) && + eq((~n) + (~mn), 0) && + igt((~n), 0) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger((~m)) && + igt((~p), 0) ? +((~b)*(~c) - (~a)*(~d))* int_and_subst(((~b)^2*ext_coeff((~Px), (~x), 0) - (~a)*(~b)*ext_coeff((~Px), (~x), 1) + (~a)^2*ext_coeff((~Px), (~x), 2) - (2*(~b)*(~d)*ext_coeff((~Px), (~x), 0) - (~b)*(~c)*ext_coeff((~Px), (~x), 1) - (~a)*(~d)*ext_coeff((~Px), (~x), 1) + 2*(~a)*(~c)*ext_coeff((~Px), (~x), 2))* (~x) + ((~d)^2*ext_coeff((~Px), (~x), 0) - (~c)*(~d)*ext_coeff((~Px), (~x), 1) + (~c)^2*ext_coeff((~Px), (~x), 2))*(~x)^2)^(~m)*((~A) + (~B)*log((~e)*(~x)^(~n)))^(~p)⨸ ((~b) - (~d)*(~x))^(2*((~m) + 1)), (~x), (~x), ((~a) + (~b)*(~x))⨸((~c) + (~d)*(~x)), "3_2_2_19") : nothing) + + +] diff --git a/src/methods/rule_based/rules2/3 Logarithms/3.2/3.2.3 u log(e (f (a+b x)^p (c+d x)^q)^r)^s.jl b/src/methods/rule_based/rules2/3 Logarithms/3.2/3.2.3 u log(e (f (a+b x)^p (c+d x)^q)^r)^s.jl new file mode 100644 index 0000000..2185176 --- /dev/null +++ b/src/methods/rule_based/rules2/3 Logarithms/3.2/3.2.3 u log(e (f (a+b x)^p (c+d x)^q)^r)^s.jl @@ -0,0 +1,132 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 3.2.3 u log(e (f (a+b x)^p (c+d x)^q)^r)^s *) +("3_2_3_1", +@rule ∫((~!u)*log((~!e)*((~!f)*((~!a) + (~!b)*(~x))^(~!p)*((~!c) + (~!d)*(~x))^(~!q))^(~!r))^(~!s),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~q), (~r), (~s), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + ext_isinteger((~p)) ? +∫((~u)*log((~e)*((~b)^(~p)*(~f)⨸(~d)^(~p)*((~c) + (~d)*(~x))^((~p) + (~q)))^(~r))^(~s), (~x)) : nothing) + +("3_2_3_2", +@rule ∫(log((~!e)*((~!f)*((~!a) + (~!b)*(~x))^(~!p)*((~!c) + (~!d)*(~x))^(~!q))^(~!r))^(~!s),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~q), (~r), (~s), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~p) + (~q), 0) && + igt((~s), 0) && + lt((~s), 4) ? +((~a) + (~b)*(~x))*log((~e)*((~f)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q))^(~r))^(~s)⨸(~b) - (~r)*(~s)*((~p) + (~q))* ∫(log((~e)*((~f)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q))^(~r))^((~s) - 1), (~x)) + (~q)*(~r)*(~s)*((~b)*(~c) - (~a)*(~d))⨸(~b)* ∫(log((~e)*((~f)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q))^(~r))^((~s) - 1)⨸((~c) + (~d)*(~x)), (~x)) : nothing) + +("3_2_3_3", +@rule ∫(log((~!e)*((~!f)*((~!a) + (~!b)*(~x))^(~!p)*((~!c) + (~!d)*(~x))^(~!q))^(~!r))/((~!g) + (~!h)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~p), (~q), (~r), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +log((~g) + (~h)*(~x))*log((~e)*((~f)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q))^(~r))⨸(~h) - (~b)*(~p)*(~r)⨸(~h)*∫(log((~g) + (~h)*(~x))⨸((~a) + (~b)*(~x)), (~x)) - (~d)*(~q)*(~r)⨸(~h)*∫(log((~g) + (~h)*(~x))⨸((~c) + (~d)*(~x)), (~x)) : nothing) + +("3_2_3_4", +@rule ∫(((~!g) + (~!h)*(~x))^(~!m)* log((~!e)*((~!f)*((~!a) + (~!b)*(~x))^(~!p)*((~!c) + (~!d)*(~x))^(~!q))^(~!r)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~p), (~q), (~r), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~m), -1) ? +((~g) + (~h)*(~x))^((~m) + 1)* log((~e)*((~f)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q))^(~r))⨸((~h)*((~m) + 1)) - (~b)*(~p)*(~r)⨸((~h)*((~m) + 1))*∫(((~g) + (~h)*(~x))^((~m) + 1)⨸((~a) + (~b)*(~x)), (~x)) - (~d)*(~q)*(~r)⨸((~h)*((~m) + 1))*∫(((~g) + (~h)*(~x))^((~m) + 1)⨸((~c) + (~d)*(~x)), (~x)) : nothing) + +("3_2_3_5", +@rule ∫(log((~!e)*((~!f)*((~!a) + (~!b)*(~x))^(~!p)*((~!c) + (~!d)*(~x))^(~!q))^(~!r))^2/((~!g) + (~!h)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~p), (~q), (~r), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~b)*(~g) - (~a)*(~h), 0) ? +∫((log(((~a) + (~b)*(~x))^((~p)*(~r))) + log(((~c) + (~d)*(~x))^((~q)*(~r))))^2⨸((~g) + (~h)*(~x)), (~x)) + (log((~e)*((~f)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q))^(~r)) - log(((~a) + (~b)*(~x))^((~p)*(~r))) - log(((~c) + (~d)*(~x))^((~q)*(~r))))* (2*∫(log(((~c) + (~d)*(~x))^((~q)*(~r)))⨸((~g) + (~h)*(~x)), (~x)) + ∫((log(((~a) + (~b)*(~x))^((~p)*(~r))) - log(((~c) + (~d)*(~x))^((~q)*(~r))) + log((~e)*((~f)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q))^(~r)))⨸((~g) + (~h)*(~x)), (~x))) : nothing) + +#(* Int[Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.]^2/(g_.+h_. *x_),x_Symbol] := Int[(Log[(a+b*x)^(p*r)]+Log[(c+d*x)^(q*r)])^2/(g+h*x),x] + (Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r]-Log[(a+b*x)^(p*r)]-Log[(c+d*x)^(q* r)])* Int[(Log[(a+b*x)^(p*r)]+Log[(c+d*x)^(q*r)]+Log[e*(f*(a+b*x)^p*(c+ d*x)^q)^r])/(g+h*x),x] /; FreeQ[{a,b,c,d,e,f,g,h,p,q,r},x] && NeQ[b*c-a*d,0] && EqQ[b*g-a*h,0] *) +("3_2_3_6", +@rule ∫(log((~!e)*((~!f)*((~!a) + (~!b)*(~x))^(~!p)*((~!c) + (~!d)*(~x))^(~!q))^(~!r))^2/((~!g) + (~!h)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~p), (~q), (~r), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +log((~g) + (~h)*(~x))*log((~e)*((~f)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q))^(~r))^2⨸(~h) - 2*(~b)*(~p)*(~r)⨸(~h)* ∫(log((~g) + (~h)*(~x))*log((~e)*((~f)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q))^(~r))⨸((~a) + (~b)*(~x)), (~x)) - 2*(~d)*(~q)*(~r)⨸(~h)* ∫(log((~g) + (~h)*(~x))*log((~e)*((~f)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q))^(~r))⨸((~c) + (~d)*(~x)), (~x)) : nothing) + +("3_2_3_7", +@rule ∫(((~!g) + (~!h)*(~x))^(~!m)* log((~!e)*((~!f)*((~!a) + (~!b)*(~x))^(~!p)*((~!c) + (~!d)*(~x))^(~!q))^(~!r))^(~s),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~p), (~q), (~r), (~s), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~s), 0) && + !eq((~m), -1) ? +((~g) + (~h)*(~x))^((~m) + 1)* log((~e)*((~f)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q))^(~r))^(~s)⨸((~h)*((~m) + 1)) - (~b)*(~p)*(~r)*(~s)⨸((~h)*((~m) + 1))* ∫(((~g) + (~h)*(~x))^((~m) + 1)* log((~e)*((~f)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q))^(~r))^((~s) - 1)⨸((~a) + (~b)*(~x)), (~x)) - (~d)*(~q)*(~r)*(~s)⨸((~h)*((~m) + 1))* ∫(((~g) + (~h)*(~x))^((~m) + 1)* log((~e)*((~f)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q))^(~r))^((~s) - 1)⨸((~c) + (~d)*(~x)), (~x)) : nothing) + +("3_2_3_8", +@rule ∫(((~!s) + (~!t)*log((~!i)*((~!g) + (~!h)*(~x))^(~!n)))^(~!m)* log((~!e)*((~!f)*((~!a) + (~!b)*(~x))^(~!p)*((~!c) + (~!d)*(~x))^(~!q))^(~!r))/((~!j) + (~!k)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~j), (~k), (~s), (~t), (~m), (~n), (~p), (~q), (~r), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~h)*(~j) - (~g)*(~k), 0) && + igt((~m), 0) ? +((~s) + (~t)*log((~i)*((~g) + (~h)*(~x))^(~n)))^((~m) + 1)* log((~e)*((~f)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q))^(~r))⨸((~k)*(~n)*(~t)*((~m) + 1)) - (~b)*(~p)*(~r)⨸((~k)*(~n)*(~t)*((~m) + 1))* ∫(((~s) + (~t)*log((~i)*((~g) + (~h)*(~x))^(~n)))^((~m) + 1)⨸((~a) + (~b)*(~x)), (~x)) - (~d)*(~q)*(~r)⨸((~k)*(~n)*(~t)*((~m) + 1))* ∫(((~s) + (~t)*log((~i)*((~g) + (~h)*(~x))^(~n)))^((~m) + 1)⨸((~c) + (~d)*(~x)), (~x)) : nothing) + +("3_2_3_9", +@rule ∫(((~!s) + (~!t)*log((~!i)*((~!g) + (~!h)*(~x))^(~!n)))* log((~!e)*((~!f)*((~!a) + (~!b)*(~x))^(~!p)*((~!c) + (~!d)*(~x))^(~!q))^(~!r))/((~!j) + (~!k)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~j), (~k), (~s), (~t), (~n), (~p), (~q), (~r), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +(log((~e)*((~f)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q))^(~r)) - log(((~a) + (~b)*(~x))^((~p)*(~r))) - log(((~c) + (~d)*(~x))^((~q)*(~r))))* ∫(((~s) + (~t)*log((~i)*((~g) + (~h)*(~x))^(~n)))⨸((~j) + (~k)*(~x)), (~x)) + ∫((log(((~a) + (~b)*(~x))^((~p)*(~r)))*((~s) + (~t)*log((~i)*((~g) + (~h)*(~x))^(~n))))⨸((~j) + (~k)*(~x)), (~x)) + ∫((log(((~c) + (~d)*(~x))^((~q)*(~r)))*((~s) + (~t)*log((~i)*((~g) + (~h)*(~x))^(~n))))⨸((~j) + (~k)*(~x)), (~x)) : nothing) + +# ("3_2_3_10", +# @rule ∫(((~!s) + (~!t)*log((~!i)*((~!g) + (~!h)*(~x))^(~!n)))^(~!m)* log((~!e)*((~!f)*((~!a) + (~!b)*(~x))^(~!p)*((~!c) + (~!d)*(~x))^(~!q))^(~!r))^ (~!u)/((~!j) + (~!k)*(~x)),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~j), (~k), (~s), (~t), (~m), (~n), (~p), (~q), (~r), (~u), (~x)) && +# !eq((~b)*(~c) - (~a)*(~d), 0) ? +# Unintegrable[((~s) + (~t)*log((~i)*((~g) + (~h)*(~x))^(~n)))^(~m)* log((~e)*((~f)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q))^(~r))^(~u)⨸((~j) + (~k)*(~x)), (~x)] : nothing) + +# Nested conditions found, not translating rule: +#Int[u_*Log[v_]* Log[e_.*(f_.*(a_. + b_.*x_)^p_.*(c_. + d_.*x_)^q_.)^r_.]^s_., x_Symbol] := With[{g = Simplify[(v - 1)*(c + d*x)/(a + b*x)], h = Simplify[u*(a + b*x)*(c + d*x)]}, -h*PolyLog[2, 1 - v]* Log[e*(f*(a + b*x)^p*(c + d*x)^q)^r]^s/(b*c - a*d) + h*p*r*s* Int[PolyLog[2, 1 - v]* Log[e*(f*(a + b*x)^p*(c + d*x)^q)^r]^(s - 1)/((a + b*x)*(c + d*x)), x] /; FreeQ[{g, h}, x]] /; FreeQ[{a, b, c, d, e, f, p, q, r, s}, x] && NeQ[b*c - a*d, 0] && IGtQ[s, 0] && EqQ[p + q, 0] + +# Nested conditions found, not translating rule: +#Int[v_*Log[i_.*(j_.*(g_. + h_.*x_)^t_.)^u_.]* Log[e_.*(f_.*(a_. + b_.*x_)^p_.*(c_. + d_.*x_)^q_.)^r_.]^s_., x_Symbol] := With[{k = Simplify[v*(a + b*x)*(c + d*x)]}, k*Log[i*(j*(g + h*x)^t)^u]* Log[e*(f*(a + b*x)^p*(c + d*x)^q)^r]^(s + 1)/(p* r*(s + 1)*(b*c - a*d)) - k*h*t*u/(p*r*(s + 1)*(b*c - a*d))* Int[Log[e*(f*(a + b*x)^p*(c + d*x)^q)^r]^(s + 1)/(g + h*x), x] /; FreeQ[k, x]] /; FreeQ[{a, b, c, d, e, f, g, h, i, j, p, q, r, s, t, u}, x] && NeQ[b*c - a*d, 0] && EqQ[p + q, 0] && NeQ[s, -1] + +# Nested conditions found, not translating rule: +#Int[u_*PolyLog[n_, v_]* Log[e_.*(f_.*(a_. + b_.*x_)^p_.*(c_. + d_.*x_)^q_.)^r_.]^s_., x_Symbol] := With[{g = Simplify[v*(c + d*x)/(a + b*x)], h = Simplify[u*(a + b*x)*(c + d*x)]}, h*PolyLog[n + 1, v]* Log[e*(f*(a + b*x)^p*(c + d*x)^q)^r]^s/(b*c - a*d) - h*p*r*s* Int[PolyLog[n + 1, v]* Log[e*(f*(a + b*x)^p*(c + d*x)^q)^r]^(s - 1)/((a + b*x)*(c + d*x)), x] /; FreeQ[{g, h}, x]] /; FreeQ[{a, b, c, d, e, f, n, p, q, r, s}, x] && NeQ[b*c - a*d, 0] && IGtQ[s, 0] && EqQ[p + q, 0] + +("3_2_3_14", +@rule ∫(((~!a) + (~!b)*log((~!c)*sqrt((~!d) + (~!e)*(~x))/sqrt((~!f) + (~!g)*(~x))))^ (~!n)/((~!A) + (~!B)*(~x) + (~!C)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~B), (~C), (~n), (~x)) && + eq((~C)*(~d)*(~f) - (~A)*(~e)*(~g), 0) && + eq((~B)*(~e)*(~g) - (~C)*((~e)*(~f) + (~d)*(~g)), 0) ? +2*(~e)*(~g)⨸((~C)*((~e)*(~f) - (~d)*(~g)))* int_and_subst(((~a) + (~b)*log((~c)*(~x)))^(~n)⨸(~x), (~x), (~x), sqrt((~d) + (~e)*(~x))⨸sqrt((~f) + (~g)*(~x)), "3_2_3_14") : nothing) + +("3_2_3_15", +@rule ∫(((~!a) + (~!b)*log((~!c)*sqrt((~!d) + (~!e)*(~x))/sqrt((~!f) + (~!g)*(~x))))^ (~!n)/((~!A) + (~!C)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~A), (~C), (~n), (~x)) && + eq((~C)*(~d)*(~f) - (~A)*(~e)*(~g), 0) && + eq((~e)*(~f) + (~d)*(~g), 0) ? +(~g)⨸((~C)*(~f))* int_and_subst(((~a) + (~b)*log((~c)*(~x)))^(~n)⨸(~x), (~x), (~x), sqrt((~d) + (~e)*(~x))⨸sqrt((~f) + (~g)*(~x)), "3_2_3_15") : nothing) + +# Nested conditions found, not translating rule: +#Int[RFx_.*Log[e_.*(f_.*(a_. + b_.*x_)^p_.*(c_. + d_.*x_)^q_.)^r_.], x_Symbol] := p*r*Int[RFx*Log[a + b*x], x] + q*r*Int[RFx*Log[c + d*x], x] - (p*r*Log[a + b*x] + q*r*Log[c + d*x] - Log[e*(f*(a + b*x)^p*(c + d*x)^q)^r])*Int[RFx, x] /; FreeQ[{a, b, c, d, e, f, p, q, r}, x] && RationalFunctionQ[RFx, x] && NeQ[b*c - a*d, 0] && Not[ MatchQ[RFx, u_.*(a + b*x)^m_.*(c + d*x)^n_. /; IntegersQ[m, n]]] + +#(* Int[RFx_*Log[e_.*(f_.*(a_.+b_.*x_)^p_.*(c_.+d_.*x_)^q_.)^r_.],x_ Symbol] := With[{u=IntHide[RFx,x]}, u*Log[e*(f*(a+b*x)^p*(c+d*x)^q)^r] - b*p*r*Int[u/(a+b*x),x] - d*q*r*Int[u/(c+d*x),x] /; NonsumQ[u]] /; FreeQ[{a,b,c,d,e,f,p,q,r},x] && RationalFunctionQ[RFx,x] && NeQ[b*c-a*d,0] *) +# Nested conditions found, not translating rule: +#Int[RFx_*Log[e_.*(f_.*(a_. + b_.*x_)^p_.*(c_. + d_.*x_)^q_.)^r_.]^s_., x_Symbol] := With[{u = ExpandIntegrand[Log[e*(f*(a + b*x)^p*(c + d*x)^q)^r]^s, RFx, x]}, Int[u, x] /; SumQ[u]] /; FreeQ[{a, b, c, d, e, f, p, q, r, s}, x] && RationalFunctionQ[RFx, x] && IGtQ[s, 0] + +# ("3_2_3_18", +# @rule ∫(RFx_*log((~!e)*((~!f)*((~!a) + (~!b)*(~x))^(~!p)*((~!c) + (~!d)*(~x))^(~!q))^(~!r))^(~!s),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~q), (~r), (~s), (~x)) && +# RationalFunctionQ[RFx, (~x)] ? +# Unintegrable[RFx*log((~e)*((~f)*((~a) + (~b)*(~x))^(~p)*((~c) + (~d)*(~x))^(~q))^(~r))^(~s), (~x)] : nothing) + +("3_2_3_19", +@rule ∫((~!u)*log((~!e)*((~!f)*(~v)^(~!p)*(~w)^(~!q))^(~!r))^(~!s),(~x)) => + !contains_var((~e), (~f), (~p), (~q), (~r), (~s), (~x)) && + linear((~v), (~w), (~x)) && + !(linear_without_simplify((~v), (~w), (~x))) && + algebraic_function((~u), (~x)) ? +∫((~u)*log((~e)*((~f)*expand_to_sum((~v), (~x))^(~p)*expand_to_sum((~w), (~x))^(~q))^(~r))^(~s), (~x)) : nothing) + +("3_2_3_20", +@rule ∫((~!u)*log((~!e)*((~!f)*((~g) + (~v)/(~w)))^(~!r))^(~!s),(~x)) => + !contains_var((~e), (~f), (~g), (~r), (~s), (~x)) && + linear((~w), (~x)) && + ( + !contains_var((~v), (~x)) || + linear((~v), (~x)) + ) && + algebraic_function((~u), (~x)) ? +∫((~u)*log((~e)*((~f)*expand_to_sum((~v) + (~g)*(~w), (~x))⨸expand_to_sum((~w), (~x)))^(~r))^(~s), (~x)) : nothing) + +#(* Int[Log[g_.*(h_.*(a_.+b_.*x_)^p_.)^q_.]*Log[i_.*(j_.*(c_.+d_.*x_)^ r_.)^s_.]/(e_+f_.*x_),x_Symbol] := 1/f*Subst[Int[Log[g*(h*Simp[-(b*e-a*f)/f+b*x/f,x]^p)^q]*Log[i*(j* Simp[-(d*e-c*f)/f+d*x/f,x]^r)^s]/x,x],x,e+f*x] /; FreeQ[{a,b,c,d,e,f,g,h,i,j,p,q,r,s},x] *) + +] diff --git a/src/methods/rule_based/rules2/3 Logarithms/3.3 u (a+b log(c (d+e x)^n))^p.jl b/src/methods/rule_based/rules2/3 Logarithms/3.3 u (a+b log(c (d+e x)^n))^p.jl new file mode 100644 index 0000000..7fd86b6 --- /dev/null +++ b/src/methods/rule_based/rules2/3 Logarithms/3.3 u (a+b log(c (d+e x)^n))^p.jl @@ -0,0 +1,468 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 3.3 u (a+b log(c (d+e x)^n))^p *) +("3_3_1", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) ? +1⨸(~e)*int_and_subst(((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x), (~x), (~d) + (~e)*(~x), "3_3_1") : nothing) + +("3_3_2", +@rule ∫(((~f) + (~!g)*(~x))^(~!q)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~q), (~x)) && + eq((~e)*(~f) - (~d)*(~g), 0) ? +1⨸(~e)*int_and_subst(((~f)*(~x)⨸(~d))^(~q)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x), (~x), (~d) + (~e)*(~x), "3_3_2") : nothing) + +("3_3_3", +@rule ∫(log((~!c)*((~d) + (~!e)*(~x)^(~!n)))/(~x),(~x)) => + !contains_var((~c), (~d), (~e), (~n), (~x)) && + eq((~c)*(~d), 1) ? +-PolyLog.reli(2, -(~c)*(~e)*(~x)^(~n))⨸(~n) : nothing) + +("3_3_4", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))))/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + gt((~c)*(~d), 0) ? +((~a) + (~b)*log((~c)*(~d)))*log((~x)) + (~b)*∫(log(1 + (~e)*(~x)⨸(~d))⨸(~x), (~x)) : nothing) + +("3_3_5", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))))/((~!f) + (~!g)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~g) + (~c)*((~e)*(~f) - (~d)*(~g)), 0) ? +1⨸(~g)*int_and_subst(((~a) + (~b)*log(1 + (~c)*(~e)*(~x)⨸(~g)))⨸(~x), (~x), (~x), (~f) + (~g)*(~x), "3_3_5") : nothing) + +("3_3_6", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))/((~!f) + (~!g)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) ? +log((~e)*((~f) + (~g)*(~x))⨸((~e)*(~f) - (~d)*(~g)))*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))⨸(~g) - (~b)*(~e)*(~n)⨸(~g)*∫(log(((~e)*((~f) + (~g)*(~x)))⨸((~e)*(~f) - (~d)*(~g)))⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +("3_3_7", +@rule ∫(((~!f) + (~!g)*(~x))^(~!q)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~q), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + !eq((~q), -1) ? +((~f) + (~g)*(~x))^((~q) + 1)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))⨸((~g)*((~q) + 1)) - (~b)*(~e)*(~n)⨸((~g)*((~q) + 1))*∫(((~f) + (~g)*(~x))^((~q) + 1)⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +("3_3_8", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~p)/((~!f) + (~!g)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + igt((~p), 1) ? +log((~e)*((~f) + (~g)*(~x))⨸((~e)*(~f) - (~d)*(~g)))*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p)⨸(~g) - (~b)*(~e)*(~n)*(~p)⨸(~g)* ∫(log(((~e)*((~f) + (~g)*(~x)))⨸((~e)*(~f) - (~d)*(~g)))*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^((~p) - 1)⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +("3_3_9", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~p)/((~!f) + (~!g)*(~x))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + gt((~p), 0) ? +((~d) + (~e)*(~x))*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p)⨸(((~e)*(~f) - (~d)*(~g))*((~f) + (~g)*(~x))) - (~b)*(~e)*(~n)*(~p)⨸((~e)*(~f) - (~d)*(~g))* ∫(((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^((~p) - 1)⨸((~f) + (~g)*(~x)), (~x)) : nothing) + +("3_3_10", +@rule ∫(((~!f) + (~!g)*(~x))^(~!q)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~q), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + gt((~p), 0) && + !eq((~q), -1) && + ext_isinteger(2*(~p), 2*(~q)) && + ( + !(igt((~q), 0)) || + eq((~p), 2) && + !eq((~q), 1) + ) ? +((~f) + (~g)*(~x))^((~q) + 1)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p)⨸((~g)*((~q) + 1)) - (~b)*(~e)*(~n)*(~p)⨸((~g)*((~q) + 1))* ∫(((~f) + (~g)*(~x))^((~q) + 1)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^((~p) - 1)⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +("3_3_11", +@rule ∫(((~!f) + (~!g)*(~x))^(~!q)/((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + igt((~q), 0) ? +∫(ext_expand(((~f) + (~g)*(~x))^(~q)⨸((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n))), (~x)), (~x)) : nothing) + +("3_3_12", +@rule ∫(((~!f) + (~!g)*(~x))^(~!q)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + lt((~p), -1) && + gt((~q), 0) ? +((~d) + (~e)*(~x))*((~f) + (~g)*(~x))^ (~q)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^((~p) + 1)⨸((~b)*(~e)*(~n)*((~p) + 1)) + (~q)*((~e)*(~f) - (~d)*(~g))⨸((~b)*(~e)*(~n)*((~p) + 1))* ∫(((~f) + (~g)*(~x))^((~q) - 1)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^((~p) + 1), (~x)) - ((~q) + 1)⨸((~b)*(~n)*((~p) + 1))* ∫(((~f) + (~g)*(~x))^(~q)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^((~p) + 1), (~x)) : nothing) + +("3_3_13", +@rule ∫(((~!f) + (~!g)*(~x))^(~!q)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + !eq((~e)*(~f) - (~d)*(~g), 0) && + igt((~q), 0) ? +∫(ext_expand(((~f) + (~g)*(~x))^(~q)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p), (~x)), (~x)) : nothing) + +("3_3_14", +@rule ∫(log((~c)/((~d) + (~!e)*(~x)))/((~f) + (~!g)*(~x)^2),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~c), 2*(~d)) && + eq((~e)^2*(~f) + (~d)^2*(~g), 0) ? +-(~e)⨸(~g)*int_and_subst(log(2*(~d)*(~x))⨸(1 - 2*(~d)*(~x)), (~x), (~x), 1⨸((~d) + (~e)*(~x)), "3_3_14") : nothing) + +("3_3_15", +@rule ∫(((~!a) + (~!b)*log((~c)/((~d) + (~!e)*(~x))))/((~f) + (~!g)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~e)^2*(~f) + (~d)^2*(~g), 0) && + gt((~c)/(2*(~d)), 0) ? +((~a) + (~b)*log((~c)⨸(2*(~d))))*∫(1⨸((~f) + (~g)*(~x)^2), (~x)) + (~b)*∫(log(2*(~d)⨸((~d) + (~e)*(~x)))⨸((~f) + (~g)*(~x)^2), (~x)) : nothing) + +("3_3_16", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))/sqrt((~f) + (~!g)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + gt((~f), 0) ? +let + u = ∫(1⨸sqrt((~f) + (~g)*(~x)^2), (~x)) + + u*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n))) - (~b)*(~e)*(~n)*∫(ext_simplify(u⨸((~d) + (~e)*(~x)), (~x)), (~x)) +end : nothing) + +("3_3_17", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))/(sqrt((~f1) + (~!g1)*(~x))* sqrt((~f2) + (~!g2)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f1), (~g1), (~f2), (~g2), (~n), (~x)) && + eq((~f2)*(~g1) + (~f1)*(~g2), 0) && + gt((~f1), 0) && + gt((~f2), 0) ? +let + u = ∫(1⨸sqrt((~f1)*(~f2) + (~g1)*(~g2)*(~x)^2), (~x)) + + u*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n))) - (~b)*(~e)*(~n)*∫(ext_simplify(u⨸((~d) + (~e)*(~x)), (~x)), (~x)) +end : nothing) + +("3_3_18", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))/sqrt((~f) + (~!g)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + !(gt((~f), 0)) ? +sqrt(1 + (~g)⨸(~f)*(~x)^2)⨸sqrt((~f) + (~g)*(~x)^2)* ∫(((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))⨸sqrt(1 + (~g)⨸(~f)*(~x)^2), (~x)) : nothing) + +("3_3_19", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))/(sqrt((~f1) + (~!g1)*(~x))* sqrt((~f2) + (~!g2)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f1), (~g1), (~f2), (~g2), (~n), (~x)) && + eq((~f2)*(~g1) + (~f1)*(~g2), 0) ? +sqrt(1 + (~g1)*(~g2)⨸((~f1)*(~f2))*(~x)^2)⨸(sqrt((~f1) + (~g1)*(~x))*sqrt((~f2) + (~g2)*(~x)))* ∫(((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))⨸sqrt(1 + (~g1)*(~g2)⨸((~f1)*(~f2))*(~x)^2), (~x)) : nothing) + +("3_3_20", +@rule ∫(((~!f) + (~!g)*(~x)^(~r))^(~!q)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~q), (~x)) && + isfraction((~r)) && + igt((~p), 0) ? +let + k = ext_den((~r)) + + k*int_and_subst((~x)^(k - 1)*((~f) + (~g)*(~x)^(k*(~r)))^(~q)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^k)^(~n)))^(~p), (~x), (~x), (~x)^(1⨸k), "3_3_20") +end : nothing) + +("3_3_21", +@rule ∫(((~f) + (~!g)*(~x)^(~r))^(~!q)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~r), (~x)) && + igt((~p), 0) && + ext_isinteger((~q)) && + ( + gt((~q), 0) || + ext_isinteger((~r)) && + !eq((~r), 1) + ) ? +∫(ext_expand(((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p), ((~f) + (~g)*(~x)^(~r))^(~q), (~x)), (~x)) : nothing) + +("3_3_22", +@rule ∫((~x)^(~!m)*log((~!c)*((~d) + (~!e)*(~x)))/((~f) + (~!g)*(~x)),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~c)*(~d), 1) && + ext_isinteger((~m)) ? +∫(ext_expand(log((~c)*((~d) + (~e)*(~x))), (~x)^(~m)⨸((~f) + (~g)*(~x)), (~x)), (~x)) : nothing) + +("3_3_23", +@rule ∫(((~!f) + (~!g)*(~x))^(~!q)*((~!h) + (~!i)*(~x))^ (~!r)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~n), (~p), (~q), (~r), (~x)) && + eq((~e)*(~f) - (~d)*(~g), 0) && + ( + igt((~p), 0) || + igt((~r), 0) + ) && + ext_isinteger(2*(~r)) ? +1⨸(~e)*int_and_subst(((~g)*(~x)⨸(~e))^(~q)*(((~e)*(~h) - (~d)*(~i))⨸(~e) + (~i)*(~x)⨸(~e))^(~r)*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x), (~x), (~d) + (~e)*(~x), "3_3_23") : nothing) + +("3_3_24", +@rule ∫((~x)^(~!m)*((~f) + (~g)/(~x))^(~!q)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~q), (~x)) && + eq((~m), (~q)) && + ext_isinteger((~q)) ? +∫(((~g) + (~f)*(~x))^(~q)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p), (~x)) : nothing) + +("3_3_25", +@rule ∫((~x)^(~!m)*((~!f) + (~!g)*(~x)^(~!r))^ (~!q)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~q), (~r), (~x)) && + eq((~m), (~r) - 1) && + !eq((~q), -1) && + igt((~p), 0) ? +((~f) + (~g)*(~x)^(~r))^((~q) + 1)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p)⨸((~g)*(~r)*((~q) + 1)) - (~b)*(~e)*(~n)*(~p)⨸((~g)*(~r)*((~q) + 1))* ∫(((~f) + (~g)*(~x)^(~r))^((~q) + 1)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^((~p) - 1)⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +("3_3_26", +@rule ∫((~x)^(~!m)*((~f) + (~!g)*(~x)^(~!r))^ (~!q)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~q), (~r), (~x)) && + ext_isinteger((~m)) && + ext_isinteger((~q)) && + ext_isinteger((~r)) ? +let + u = ∫((~x)^(~m)*((~f) + (~g)*(~x)^(~r))^(~q), (~x)) + + !contains_inverse_function(u, (~x)) ? + dist(((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n))), u, (~x)) - (~b)*(~e)*(~n)*∫(ext_simplify(u⨸((~d) + (~e)*(~x)), (~x)), (~x)) : nothing +end : nothing) + +("3_3_27", +@rule ∫((~x)^(~!m)*((~!f) + (~!g)*(~x)^(~r))^ (~!q)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~q), (~x)) && + isfraction((~r)) && + igt((~p), 0) && + ext_isinteger((~m)) ? +let + k = ext_den((~r)) + + k*int_and_subst((~x)^(k*((~m) + 1) - 1)*((~f) + (~g)*(~x)^(k*(~r)))^ (~q)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^k)^(~n)))^(~p), (~x), (~x), (~x)^(1⨸k), "3_3_27") +end : nothing) + +("3_3_28", +@rule ∫(((~!h)*(~x))^(~!m)*((~f) + (~!g)*(~x)^(~!r))^ (~!q)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~p), (~q), (~r), (~x)) && + ext_isinteger((~m)) && + ext_isinteger((~q)) ? +∫(ext_expand(((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^ (~p), ((~h)*(~x))^(~m)*((~f) + (~g)*(~x)^(~r))^(~q), (~x)), (~x)) : nothing) + +("3_3_29", +@rule ∫((~Px)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) && + poly((~Px), (~x)) ? +∫(ext_expand((~Px)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p), (~x)), (~x)) : nothing) + +("3_3_30", +@rule ∫((~RF)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + rational_function((~RF), (~x)) && + ext_isinteger((~p)) ? +let + u = ext_expand(((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p), (~RF), (~x)) + + issum(u) ? + ∫(u, (~x)) : nothing +end : nothing) + +("3_3_31", +@rule ∫((~RF)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + rational_function((~RF), (~x)) && + ext_isinteger((~p)) ? +let + u = ext_expand((~RF)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p), (~x)) + + issum(u) ? + ∫(u, (~x)) : nothing +end : nothing) + +# ("3_3_32", +# @rule ∫((~AF)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) && +# algebraic_function((~AF), (~x), True) ? +# Unintegrable[(~AF)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p), (~x)] : nothing) + +("3_3_33", +@rule ∫((~u)^(~!q)*((~!a) + (~!b)*log((~!c)*(~v)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~p), (~q), (~x)) && + isbinomial((~u), (~x)) && + linear((~v), (~x)) && + !( + binomial_without_simplify((~u), (~x)) && + linear_without_simplify((~v), (~x)) + ) ? +∫(expand_to_sum((~u), (~x))^(~q)*((~a) + (~b)*log((~c)*expand_to_sum((~v), (~x))^(~n)))^(~p), (~x)) : nothing) + +("3_3_34", +@rule ∫(log((~!f)*(~x)^(~!m))*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) ? +-(~x)*((~m) - log((~f)*(~x)^(~m)))*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n))) + (~b)*(~e)*(~m)*(~n)*∫((~x)⨸((~d) + (~e)*(~x)), (~x)) - (~b)*(~e)*(~n)*∫(((~x)*log((~f)*(~x)^(~m)))⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +("3_3_35", +@rule ∫(log((~!f)*(~x)^(~!m))*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + igt((~p), 1) ? +let + u = ∫(((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p), (~x)) + + dist(log((~f)*(~x)^(~m)), u, (~x)) - (~m)*∫(dist(1⨸(~x), u, (~x)), (~x)) +end : nothing) + +# ("3_3_36", +# @rule ∫(log((~!f)*(~x)^(~!m))*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) ? +# Unintegrable[log((~f)*(~x)^(~m))*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p), (~x)] : nothing) + +("3_3_37", +@rule ∫(log((~!f)*(~x)^(~!m))*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) ? +log((~f)*(~x)^(~m))^2*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))⨸(2*(~m)) - (~b)*(~e)*(~n)⨸(2*(~m))*∫(log((~f)*(~x)^(~m))^2⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +("3_3_38", +@rule ∫(((~!g)*(~x))^(~!q)* log((~!f)*(~x)^(~!m))*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~q), (~x)) && + !eq((~q), -1) ? +-1⨸((~g)*((~q) + 1))*((~m)*((~g)*(~x))^((~q) + 1)⨸((~q) + 1) - ((~g)*(~x))^((~q) + 1)* log((~f)*(~x)^(~m)))*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n))) + (~b)*(~e)*(~m)*(~n)⨸((~g)*((~q) + 1)^2)*∫(((~g)*(~x))^((~q) + 1)⨸((~d) + (~e)*(~x)), (~x)) - (~b)*(~e)*(~n)⨸((~g)*((~q) + 1))*∫(((~g)*(~x))^((~q) + 1)*log((~f)*(~x)^(~m))⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +("3_3_39", +@rule ∫(log((~!f)*(~x)^(~!m))*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + igt((~p), 0) ? +log((~f)*(~x)^(~m))^2*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p)⨸(2*(~m)) - (~b)*(~e)*(~n)*(~p)⨸(2*(~m))* ∫(log((~f)*(~x)^(~m))^2*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^((~p) - 1)⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +("3_3_40", +@rule ∫(((~!g)*(~x))^(~!q)* log((~!f)*(~x)^(~!m))*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~q), (~x)) && + igt((~p), 1) && + igt((~q), 0) ? +let + u = ∫(((~g)*(~x))^(~q)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p), (~x)) + + dist(log((~f)*(~x)^(~m)), u, (~x)) - (~m)*∫(dist(1⨸(~x), u, (~x)), (~x)) +end : nothing) + +#(* Int[(g_.*x_)^q_.*Log[f_.*x_^m_.]*(a_.+b_.*Log[c_.*(d_+e_.*x_)^n_.]) ^p_,x_Symbol] := With[{u=IntHide[(a+b*Log[c*(d+e*x)^n])^p,x]}, Dist[(g*x)^q*Log[f*x^m],u,x] - g*m*Int[Dist[(g*x)^(q-1),u,x],x] - g*q*Int[Dist[(g*x)^(q-1)*Log[f*x^m],u,x],x]] /; FreeQ[{a,b,c,d,e,f,g,m,n,q},x] && IGtQ[p,1] *) +# ("3_3_41", +# @rule ∫(((~!g)*(~x))^(~!q)* log((~!f)*(~x)^(~!m))*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~q), (~x)) ? +# Unintegrable[((~g)*(~x))^(~q)*log((~f)*(~x)^(~m))*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p), (~x)] : nothing) + +("3_3_42", +@rule ∫(log((~!f)*((~!g) + (~!h)*(~x))^(~!m))*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~p), (~x)) && + eq((~e)*(~f) - (~d)*(~g), 0) ? +1⨸(~e)*int_and_subst(log((~f)*((~g)*(~x)⨸(~d))^(~m))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p), (~x), (~x), (~d) + (~e)*(~x), "3_3_42") : nothing) + +("3_3_43", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))*((~!f) + (~!g)*log((~!c)*((~d) + (~!e)*(~x))^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) ? +(~x)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))*((~f) + (~g)*log((~c)*((~d) + (~e)*(~x))^(~n))) - (~e)*(~n)* ∫(((~x)*((~b)*(~f) + (~a)*(~g) + 2*(~b)*(~g)*log((~c)*((~d) + (~e)*(~x))^(~n))))⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +("3_3_44", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^ (~!p)*((~!f) + (~!g)*log((~!h)*((~!i) + (~!j)*(~x))^(~!m))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~j), (~m), (~n), (~x)) && + igt((~p), 0) ? +(~x)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p)*((~f) + (~g)*log((~h)*((~i) + (~j)*(~x))^(~m))) - (~g)*(~j)*(~m)*∫((~x)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p)⨸((~i) + (~j)*(~x)), (~x)) - (~b)*(~e)*(~n)*(~p)* ∫((~x)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^((~p) - 1)*((~f) + (~g)*log((~h)*((~i) + (~j)*(~x))^(~m)))⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +# ("3_3_45", +# @rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^ (~!p)*((~!f) + (~!g)*log((~!h)*((~!i) + (~!j)*(~x))^(~!m)))^(~!q),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~j), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^ (~p)*((~f) + (~g)*log((~h)*((~i) + (~j)*(~x))^(~m)))^(~q), (~x)] : nothing) + +("3_3_46", +@rule ∫(((~!k) + (~!l)*(~x))^(~!r)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^ (~!p)*((~!f) + (~!g)*log((~!h)*((~!i) + (~!j)*(~x))^(~!m))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~j), (~k), (~l), (~n), (~p), (~r), (~x)) && + eq((~e)*(~k) - (~d)*(~l), 0) ? +1⨸(~e)*int_and_subst(((~k)*(~x)⨸(~d))^(~r)*((~a) + (~b)*log((~c)*(~x)^(~n)))^ (~p)*((~f) + (~g)*log((~h)*(((~e)*(~i) - (~d)*(~j))⨸(~e) + (~j)*(~x)⨸(~e))^(~m))), (~x), (~x), (~d) + (~e)*(~x), "3_3_46") : nothing) + +("3_3_47", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))*((~!f) + (~!g)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) ? +log((~x))*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))*((~f) + (~g)*log((~c)*((~d) + (~e)*(~x))^(~n))) - (~e)*(~n)* ∫((log((~x))*((~b)*(~f) + (~a)*(~g) + 2*(~b)*(~g)*log((~c)*((~d) + (~e)*(~x))^(~n))))⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +("3_3_48", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))*((~!f) + (~!g)*log((~!c)*((~d) + (~!e)*(~x))^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~m), (~x)) && + !eq((~m), -1) ? +(~x)^((~m) + 1)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))*((~f) + (~g)*log((~c)*((~d) + (~e)*(~x))^(~n)))⨸((~m) + 1) - (~e)*(~n)⨸((~m) + 1)* ∫(((~x)^((~m) + 1)*((~b)*(~f) + (~a)*(~g) + 2*(~b)*(~g)*log((~c)*((~d) + (~e)*(~x))^(~n))))⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +("3_3_49", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))*((~!f) + (~!g)*log((~!h)*((~!i) + (~!j)*(~x))^(~!m)))/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~j), (~m), (~n), (~x)) && + eq((~e)*(~i) - (~d)*(~j), 0) ? +log((~x))*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))*((~f) + (~g)*log((~h)*((~i) + (~j)*(~x))^(~m))) - (~e)*(~g)*(~m)*∫(log((~x))*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))⨸((~d) + (~e)*(~x)), (~x)) - (~b)*(~j)*(~n)*∫(log((~x))*((~f) + (~g)*log((~h)*((~i) + (~j)*(~x))^(~m)))⨸((~i) + (~j)*(~x)), (~x)) : nothing) + +("3_3_50", +@rule ∫(log((~a) + (~!b)*(~x))*log((~c) + (~!d)*(~x))/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +log(-(~b)*(~x)⨸(~a))*log((~a) + (~b)*(~x))*log((~c) + (~d)*(~x)) - 1⨸2*(log(-(~b)*(~x)⨸(~a)) - log(-(~d)*(~x)⨸(~c)))*(log((~a) + (~b)*(~x)) + log((~a)*((~c) + (~d)*(~x))⨸((~c)*((~a) + (~b)*(~x)))))^2 + 1⨸2*(log(-(~b)*(~x)⨸(~a)) - log(-((~b)*(~c) - (~a)*(~d))*(~x)⨸((~a)*((~c) + (~d)*(~x)))) + log(((~b)*(~c) - (~a)*(~d))⨸((~b)*((~c) + (~d)*(~x)))))* log((~a)*((~c) + (~d)*(~x))⨸((~c)*((~a) + (~b)*(~x))))^2 + (log((~c) + (~d)*(~x)) - log((~a)*((~c) + (~d)*(~x))⨸((~c)*((~a) + (~b)*(~x)))))* PolyLog.reli(2, 1 + (~b)*(~x)⨸(~a)) + (log((~a) + (~b)*(~x)) + log((~a)*((~c) + (~d)*(~x))⨸((~c)*((~a) + (~b)*(~x)))))* PolyLog.reli(2, 1 + (~d)*(~x)⨸(~c)) - log((~a)*((~c) + (~d)*(~x))⨸((~c)*((~a) + (~b)*(~x))))* PolyLog.reli(2, (~d)*((~a) + (~b)*(~x))⨸((~b)*((~c) + (~d)*(~x)))) + log((~a)*((~c) + (~d)*(~x))⨸((~c)*((~a) + (~b)*(~x))))* PolyLog.reli(2, (~c)*((~a) + (~b)*(~x))⨸((~a)*((~c) + (~d)*(~x)))) - PolyLog.reli(3, 1 + (~b)*(~x)⨸(~a)) - PolyLog.reli(3, 1 + (~d)*(~x)⨸(~c)) - PolyLog.reli(3, (~d)*((~a) + (~b)*(~x))⨸((~b)*((~c) + (~d)*(~x)))) + PolyLog.reli(3, (~c)*((~a) + (~b)*(~x))⨸((~a)*((~c) + (~d)*(~x)))) : nothing) + +("3_3_51", +@rule ∫(log((~v))*log((~w))/(~x),(~x)) => + linear((~v), (~w), (~x)) && + !(linear_without_simplify((~v), (~w), (~x))) ? +∫(log(expand_to_sum((~v), (~x)))*log(expand_to_sum((~w), (~x)))⨸(~x), (~x)) : nothing) + +("3_3_52", +@rule ∫(log((~!c)*((~d) + (~!e)*(~x))^(~!n))*log((~!h)*((~!i) + (~!j)*(~x))^(~!m))/(~x),(~x)) => + !contains_var((~c), (~d), (~e), (~h), (~i), (~j), (~m), (~n), (~x)) && + !eq((~e)*(~i) - (~d)*(~j), 0) && + !eq((~i) + (~j)*(~x), (~h)*((~i) + (~j)*(~x))^(~m)) ? +(~m)*∫(log((~i) + (~j)*(~x))*log((~c)*((~d) + (~e)*(~x))^(~n))⨸(~x), (~x)) - ((~m)*log((~i) + (~j)*(~x)) - log((~h)*((~i) + (~j)*(~x))^(~m)))* ∫(log((~c)*((~d) + (~e)*(~x))^(~n))⨸(~x), (~x)) : nothing) + +("3_3_53", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))*((~f) + (~!g)*log((~!h)*((~!i) + (~!j)*(~x))^(~!m)))/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~j), (~m), (~n), (~x)) && + !eq((~e)*(~i) - (~d)*(~j), 0) ? +(~f)*∫(((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))⨸(~x), (~x)) + (~g)*∫(log((~h)*((~i) + (~j)*(~x))^(~m))*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))⨸(~x), (~x)) : nothing) + +("3_3_54", +@rule ∫((~x)^(~!r)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^ (~!p)*((~!f) + (~!g)*log((~!h)*((~!i) + (~!j)*(~x))^(~!m))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~j), (~m), (~n), (~x)) && + igt((~p), 0) && + ext_isinteger((~r)) && + ( + eq((~p), 1) || + gt((~r), 0) + ) && + !eq((~r), -1) ? +(~x)^((~r) + 1)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^ (~p)*((~f) + (~g)*log((~h)*((~i) + (~j)*(~x))^(~m)))⨸((~r) + 1) - (~g)*(~j)*(~m)⨸((~r) + 1)* ∫((~x)^((~r) + 1)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^(~p)⨸((~i) + (~j)*(~x)), (~x)) - (~b)*(~e)*(~n)*(~p)⨸((~r) + 1)* ∫((~x)^((~r) + 1)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^((~p) - 1)*((~f) + (~g)*log((~h)*((~i) + (~j)*(~x))^(~m)))⨸((~d) + (~e)*(~x)), (~x)) : nothing) + +("3_3_55", +@rule ∫(((~k) + (~!l)*(~x))^ (~!r)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))*((~!f) + (~!g)*log((~!h)*((~!i) + (~!j)*(~x))^(~!m))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~j), (~k), (~l), (~m), (~n), (~x)) && + ext_isinteger((~r)) ? +1⨸(~l)*int_and_subst((~x)^(~r)*((~a) + (~b)*log((~c)*(-((~e)*(~k) - (~d)*(~l))⨸(~l) + (~e)*(~x)⨸(~l))^(~n)))*((~f) + (~g)*log((~h)*(-((~j)*(~k) - (~i)*(~l))⨸(~l) + (~j)*(~x)⨸(~l))^(~m))), (~x), (~x), (~k) + (~l)*(~x), "3_3_55") : nothing) + +# ("3_3_56", +# @rule ∫(((~!k) + (~!l)*(~x))^(~!r)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^ (~!p)*((~!f) + (~!g)*log((~!h)*((~!i) + (~!j)*(~x))^(~!m)))^(~!q),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~j), (~k), (~l), (~m), (~n), (~p), (~q), (~r), (~x)) ? +# Unintegrable[((~k) + (~l)*(~x))^(~r)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n)))^ (~p)*((~f) + (~g)*log((~h)*((~i) + (~j)*(~x))^(~m)))^(~q), (~x)] : nothing) + +("3_3_57", +@rule ∫(PolyLog.reli((~k), (~h) + (~!i)*(~x))*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n)))^ (~!p)/((~f) + (~!g)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~k), (~n), (~x)) && + eq((~e)*(~f) - (~d)*(~g), 0) && + eq((~g)*(~h) - (~f)*(~i), 0) && + igt((~p), 0) ? +1⨸(~g)*int_and_subst(PolyLog.reli((~k), (~h)*(~x)⨸(~d))*((~a) + (~b)*log((~c)*(~x)^(~n)))^(~p)⨸(~x), (~x), (~x), (~d) + (~e)*(~x), "3_3_57") : nothing) + +("3_3_58", +@rule ∫((~!Px)* (~F)((~!f)*((~!g) + (~!h)*(~x)))*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x))^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~n), (~x)) && + poly((~Px), (~x)) && + in( (~F), [asin, acos, atan, acot, asinh, acosh, atanh, acoth]) ? +let + u = ∫((~Px)*(~F)((~f)*((~g) + (~h)*(~x))), (~x)) + + dist(((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~n))), u, (~x)) - (~b)*(~e)*(~n)*∫(ext_simplify(u⨸((~d) + (~e)*(~x)), (~x)), (~x)) +end : nothing) + +# Error in translation of the line: +# Int[u_.*(a_. + b_.*Log[c_.*v_^n_.])^p_., x_Symbol] := Int[u*(a + b*Log[c*ExpandToSum[v, x]^n])^p, x] /; FreeQ[{a, b, c, n, p}, x] && LinearQ[v, x] && Not[LinearMatchQ[v, x]] && Not[EqQ[n, 1] && MatchQ[c*v, e_.*(f_ + g_.*x) /; FreeQ[{e, f, g}, x]]] + +# ("3_3_60", +# @rule ∫((~!u)*((~!a) + (~!b)*log((~!c)*((~!d)*((~!e) + (~!f)*(~x))^(~!m))^(~n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && +# !(ext_isinteger((~n))) && +# !( +# eq((~d), 1) && +# eq((~m), 1) +# ) && +# contains_int(IntHide[(~u)*((~a) + (~b)*log((~c)*(~d)^(~n)*((~e) + (~f)*(~x))^((~m)*(~n))))^(~p), (~x)]) ? +# int_and_subst((~u)*((~a) + (~b)*log((~c)*(~d)^(~n)*((~e) + (~f)*(~x))^((~m)*(~n))))^(~p), (~x), (~c)*(~d)^(~n)*((~e) + (~f)*(~x))^((~m)*(~n)), (~c)*((~d)*((~e) + (~f)*(~x))^(~m))^(~n), "3_3_60") : nothing) + +# ("3_3_61", +# @rule ∫((~AF)*((~!a) + (~!b)*log((~!c)*((~!d)*((~!e) + (~!f)*(~x))^(~!m))^(~n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && +# algebraic_function((~AF), (~x), True) ? +# Unintegrable[(~AF)*((~a) + (~b)*log((~c)*((~d)*((~e) + (~f)*(~x))^(~m))^(~n)))^(~p), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/3 Logarithms/3.4 u (a+b log(c (d+e x^m)^n))^p.jl b/src/methods/rule_based/rules2/3 Logarithms/3.4 u (a+b log(c (d+e x^m)^n))^p.jl new file mode 100644 index 0000000..5b5d720 --- /dev/null +++ b/src/methods/rule_based/rules2/3 Logarithms/3.4 u (a+b log(c (d+e x^m)^n))^p.jl @@ -0,0 +1,307 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 3.4 u (a+b log(c (d+e x^m)^n))^p *) +# ("3_4_1", +# @rule ∫((~Pq)^(~!m)*log((~u)),(~x)) => +# ext_isinteger((~m)) && +# poly((~Pq), (~x)) && +# rational_function((~u), (~x)) && +# le(RationalFunctionExponents[(~u), (~x))[[2]], exponent_of((~Pq), (~x))] && +# !contains_var(Fullsimplify((~Pq)^(~m)*(1 - (~u))/(~D)[(~u), (~x))), (~x)] ? +# FullSimplify[(~Pq)^(~m)*(1 - (~u))⨸Symbolics.derivative((~u), (~x))]*PolyLog.reli(2, 1 - (~u)) : nothing) + +("3_4_2", +@rule ∫(log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)),(~x)) => + !contains_var((~c), (~d), (~e), (~n), (~p), (~x)) ? +(~x)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)) - (~e)*(~n)*(~p)*∫((~x)^(~n)⨸((~d) + (~e)*(~x)^(~n)), (~x)) : nothing) + +("3_4_3", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~e)/(~x))^(~!p)))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + igt((~q), 0) ? +((~e) + (~d)*(~x))*((~a) + (~b)*log((~c)*((~d) + (~e)⨸(~x))^(~p)))^(~q)⨸(~d) + (~b)*(~e)*(~p)*(~q)⨸(~d)*∫(((~a) + (~b)*log((~c)*((~d) + (~e)⨸(~x))^(~p)))^((~q) - 1)⨸(~x), (~x)) : nothing) + +("3_4_4", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) && + igt((~q), 0) && + ( + eq((~q), 1) || + ext_isinteger((~n)) + ) ? +(~x)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))^(~q) - (~b)*(~e)*(~n)*(~p)*(~q)* ∫((~x)^(~n)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))^((~q) - 1)⨸((~d) + (~e)*(~x)^(~n)), (~x)) : nothing) + +#(* Int[(a_.+b_.*Log[c_.*(d_+e_.*x_^n_)^p_.])^q_,x_Symbol] := With[{k=Denominator[n]}, k*Subst[Int[x^(k-1)*(a+b*Log[c*(d+e*x^(k*n))^p])^q,x],x,x^(1/k)]] /; FreeQ[{a,b,c,d,e,p,q},x] && LtQ[-1,n,1] && (GtQ[n,0] || IGtQ[q,0]) *) +("3_4_5", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~q), (~x)) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n)) - 1)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(ext_den((~n))*(~n)))^(~p)))^(~q), (~x), (~x), (~x)^(1⨸ext_den((~n))), "3_4_5") : nothing) + +# ("3_4_6", +# @rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^(~q),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~q), (~x)) ? +# Unintegrable[((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))^(~q), (~x)] : nothing) + +("3_4_7", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~v)^(~!p)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~q), (~x)) && + isbinomial((~v), (~x)) && + !(binomial_without_simplify((~v), (~x))) ? +∫(((~a) + (~b)*log((~c)*expand_to_sum((~v), (~x))^(~p)))^(~q), (~x)) : nothing) + +("3_4_8", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~x)) && + ext_isinteger( simplify(((~m) + 1)/(~n))) && + ( + gt(((~m) + 1)/(~n), 0) || + igt((~q), 0) + ) && + !( + eq((~q), 1) && + ilt((~n), 0) && + igt((~m), 0) + ) ? +1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~p)))^(~q), (~x), (~x), (~x)^(~n), "3_4_8") : nothing) + +("3_4_9", +@rule ∫(((~!f)*(~x))^(~!m)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !eq((~m), -1) ? +((~f)*(~x))^((~m) + 1)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))⨸((~f)*((~m) + 1)) - (~b)*(~e)*(~n)*(~p)⨸((~f)*((~m) + 1))*∫((~x)^((~n) - 1)*((~f)*(~x))^((~m) + 1)⨸((~d) + (~e)*(~x)^(~n)), (~x)) : nothing) + +("3_4_10", +@rule ∫(((~f)*(~x))^(~m)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~q), (~x)) && + ext_isinteger(simplify(((~m) + 1)/(~n))) && + ( + gt(((~m) + 1)/(~n), 0) || + igt((~q), 0) + ) ? +((~f)*(~x))^(~m)⨸(~x)^(~m)*∫((~x)^(~m)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))^(~q), (~x)) : nothing) + +("3_4_11", +@rule ∫(((~!f)*(~x))^(~!m)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~p), (~x)) && + igt((~q), 1) && + ext_isinteger((~n)) && + !eq((~m), -1) ? +((~f)*(~x))^((~m) + 1)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))^(~q)⨸((~f)*((~m) + 1)) - (~b)*(~e)*(~n)*(~p)*(~q)⨸((~f)^(~n)*((~m) + 1))* ∫(((~f)*(~x))^((~m) + (~n))*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))^((~q) - 1)⨸((~d) + (~e)*(~x)^(~n)), (~x)) : nothing) + +("3_4_12", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^(~q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~q), (~x)) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n))*((~m) + 1) - 1)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(ext_den((~n))*(~n)))^(~p)))^(~q), (~x), (~x), (~x)^(1⨸ext_den((~n))), "3_4_12") : nothing) + +("3_4_13", +@rule ∫(((~f)*(~x))^(~m)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~p), (~q), (~x)) && + isfraction((~n)) ? +((~f)*(~x))^(~m)⨸(~x)^(~m)*∫((~x)^(~m)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))^(~q), (~x)) : nothing) + +# ("3_4_14", +# @rule ∫(((~!f)*(~x))^(~!m)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^(~!q),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~q), (~x)) ? +# Unintegrable[((~f)*(~x))^(~m)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))^(~q), (~x)] : nothing) + +("3_4_15", +@rule ∫(((~!f)*(~x))^(~!m)*((~!a) + (~!b)*log((~!c)*(~v)^(~!p)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~f), (~m), (~p), (~q), (~x)) && + isbinomial((~v), (~x)) && + !(binomial_without_simplify((~v), (~x))) ? +∫(((~f)*(~x))^(~m)*((~a) + (~b)*log((~c)*expand_to_sum((~v), (~x))^(~p)))^(~q), (~x)) : nothing) + +("3_4_16", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))/((~!f) + (~!g)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + isrational((~n)) ? +log((~f) + (~g)*(~x))*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))⨸(~g) - (~b)*(~e)*(~n)*(~p)⨸(~g)*∫((~x)^((~n) - 1)*log((~f) + (~g)*(~x))⨸((~d) + (~e)*(~x)^(~n)), (~x)) : nothing) + +("3_4_17", +@rule ∫(((~!f) + (~!g)*(~x))^(~!r)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~r), (~x)) && + ( + igt((~r), 0) || + isrational((~n)) + ) && + !eq((~r), -1) ? +((~f) + (~g)*(~x))^((~r) + 1)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))⨸((~g)*((~r) + 1)) - (~b)*(~e)*(~n)*(~p)⨸((~g)*((~r) + 1))* ∫((~x)^((~n) - 1)*((~f) + (~g)*(~x))^((~r) + 1)⨸((~d) + (~e)*(~x)^(~n)), (~x)) : nothing) + +# ("3_4_18", +# @rule ∫(((~!f) + (~!g)*(~x))^(~!r)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^(~!q),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~q), (~r), (~x)) ? +# Unintegrable[((~f) + (~g)*(~x))^(~r)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))^(~q), (~x)] : nothing) + +("3_4_19", +@rule ∫((~u)^(~!r)*((~!a) + (~!b)*log((~!c)*(~v)^(~!p)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~q), (~r), (~x)) && + linear((~u), (~x)) && + isbinomial((~v), (~x)) && + !( + linear_without_simplify((~u), (~x)) && + binomial_without_simplify((~v), (~x)) + ) ? +∫(expand_to_sum((~u), (~x))^(~r)*((~a) + (~b)*log((~c)*expand_to_sum((~v), (~x))^(~p)))^(~q), (~x)) : nothing) + +("3_4_20", +@rule ∫((~x)^(~!m)*((~!f) + (~!g)*(~x))^ (~!r)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~q), (~x)) && + ext_isinteger((~m)) && + ext_isinteger((~r)) ? +∫(ext_expand(((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))^(~q), (~x)^(~m)*((~f) + (~g)*(~x))^(~r), (~x)), (~x)) : nothing) + +("3_4_21", +@rule ∫(((~!h)*(~x))^(~m)*((~!f) + (~!g)*(~x))^ (~!r)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~!n))^(~!p)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~p), (~r), (~x)) && + isfraction((~m)) && + ext_isinteger((~n)) && + ext_isinteger((~r)) ? +ext_den((~m))⨸(~h)* int_and_subst( (~x)^(ext_den((~m))*((~m) + 1) - 1)*((~f) + (~g)*(~x)^ext_den((~m))⨸(~h))^ (~r)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(ext_den((~m))*(~n))⨸(~h)^(~n))^(~p)))^(~q), (~x), (~x), ((~h)*(~x))^(1⨸ext_den((~m))), "3_4_21") : nothing) + +# ("3_4_22", +# @rule ∫(((~!h)*(~x))^(~!m)*((~!f) + (~!g)*(~x))^ (~!r)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^(~!q),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~p), (~q), (~r), (~x)) ? +# Unintegrable[((~h)*(~x))^(~m)*((~f) + (~g)*(~x))^(~r)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))^(~q), (~x)] : nothing) + +("3_4_23", +@rule ∫(((~!h)*(~x))^(~!m)*(~u)^(~!r)*((~!a) + (~!b)*log((~!c)*(~v)^(~!p)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~h), (~m), (~p), (~q), (~r), (~x)) && + linear((~u), (~x)) && + isbinomial((~v), (~x)) && + !( + linear_without_simplify((~u), (~x)) && + binomial_without_simplify((~v), (~x)) + ) ? +∫(((~h)*(~x))^(~m)* expand_to_sum((~u), (~x))^(~r)*((~a) + (~b)*log((~c)*expand_to_sum((~v), (~x))^(~p)))^(~q), (~x)) : nothing) + +("3_4_24", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))/((~f) + (~!g)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + ext_isinteger((~n)) ? +∫(1⨸((~f) + (~g)*(~x)^2), (~x))*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p))) - (~b)*(~e)*(~n)*(~p)*∫(∫(1⨸((~f) + (~g)*(~x)^2), (~x))*(~x)^((~n) - 1)⨸((~d) + (~e)*(~x)^(~n)), (~x)) : nothing) + +("3_4_25", +@rule ∫(((~f) + (~!g)*(~x)^(~s))^(~!r)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^ (~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~q), (~r), (~s), (~x)) && + ext_isinteger((~n)) && + igt((~q), 0) && + ext_isinteger((~r)) && + ext_isinteger((~s)) && + ( + eq((~q), 1) || + gt((~r), 0) && + gt((~s), 1) || + lt((~s), 0) && + lt((~r), 0) + ) && + issum(ext_expand(((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))^(~q), ((~f) + (~g)*(~x)^(~s))^(~r), (~x))) ? +∫(ext_expand(((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))^(~q), ((~f) + (~g)*(~x)^(~s))^(~r), (~x)), (~x)) : nothing) + +("3_4_26", +@rule ∫(((~f) + (~!g)*(~x)^(~s))^(~!r)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^ (~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~q), (~r), (~s), (~x)) && + isfraction((~n)) && + ext_isinteger(ext_den((~n))*(~s)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n)) - 1)*((~f) + (~g)*(~x)^(ext_den((~n))*(~s)))^ (~r)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(ext_den((~n))*(~n)))^(~p)))^(~q), (~x), (~x), (~x)^(1⨸ext_den((~n))), "3_4_26") : nothing) + +# ("3_4_27", +# @rule ∫(((~f) + (~!g)*(~x)^(~s))^(~!r) ((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^ (~!q),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~q), (~r), (~s), (~x)) ? +# Unintegrable[((~f) + (~g)*(~x)^(~s))^(~r)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))^(~q), (~x)] : nothing) + +("3_4_28", +@rule ∫((~u)^(~!r)*((~!a) + (~!b)*log((~!c)*(~v)^(~!p)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~q), (~r), (~x)) && + isbinomial([(~u), (~v)], (~x)) && + !(binomial_without_simplify([(~u), (~v)], (~x))) ? +∫(expand_to_sum((~u), (~x))^(~r)*((~a) + (~b)*log((~c)*expand_to_sum((~v), (~x))^(~p)))^(~q), (~x)) : nothing) + +("3_4_29", +@rule ∫((~x)^(~!m)*((~f) + (~!g)*(~x)^(~s))^ (~!r)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~q), (~r), (~s), (~x)) && + ext_isinteger((~r)) && + ext_isinteger((~s)/(~n)) && + ext_isinteger(simplify(((~m) + 1)/(~n))) && + ( + gt(((~m) + 1)/(~n), 0) || + igt((~q), 0) + ) ? +1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*((~f) + (~g)*(~x)^((~s)⨸(~n)))^ (~r)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~p)))^(~q), (~x), (~x), (~x)^(~n), "3_4_29") : nothing) + +("3_4_30", +@rule ∫((~x)^(~!m)*((~f) + (~!g)*(~x)^(~s))^ (~!r)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~q), (~r), (~s), (~x)) && + igt((~q), 0) && + ext_isinteger((~m)) && + ext_isinteger((~r)) && + ext_isinteger((~s)) ? +∫(ext_expand(((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))^(~q), (~x)^(~m)*((~f) + (~g)*(~x)^(~s))^(~r), (~x)), (~x)) : nothing) + +("3_4_31", +@rule ∫(((~f) + (~!g)*(~x)^(~s))^(~!r)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^ (~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~q), (~r), (~s), (~x)) && + isfraction((~n)) && + ext_isinteger(ext_den((~n))*(~s)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n)) - 1)*((~f) + (~g)*(~x)^(ext_den((~n))*(~s)))^ (~r)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(ext_den((~n))*(~n)))^(~p)))^(~q), (~x), (~x), (~x)^(1⨸ext_den((~n))), "3_4_31") : nothing) + +("3_4_32", +@rule ∫((~x)^(~!m)*((~f) + (~!g)*(~x)^(~s))^ (~!r)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~q), (~r), (~s), (~x)) && + isfraction((~n)) && + ext_isinteger(1/(~n)) && + ext_isinteger((~s)/(~n)) ? +1⨸(~n)*int_and_subst((~x)^((~m) + 1⨸(~n) - 1)*((~f) + (~g)*(~x)^((~s)⨸(~n)))^(~r)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x))^(~p)))^ (~q), (~x), (~x), (~x)^(~n), "3_4_32") : nothing) + +("3_4_33", +@rule ∫(((~!h)*(~x))^(~m)*((~!f) + (~!g)*(~x)^(~!s))^ (~!r)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~!n))^(~!p)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~p), (~r), (~x)) && + isfraction((~m)) && + ext_isinteger((~n)) && + ext_isinteger((~s)) ? +ext_den((~m))⨸(~h)* int_and_subst( (~x)^(ext_den((~m))*((~m) + 1) - 1)*((~f) + (~g)*(~x)^(ext_den((~m))*(~s))⨸(~h)^(~s))^ (~r)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(ext_den((~m))*(~n))⨸(~h)^(~n))^(~p)))^(~q), (~x), (~x), ((~h)*(~x))^(1⨸ext_den((~m))), "3_4_33") : nothing) + +# ("3_4_34", +# @rule ∫(((~!h)*(~x))^(~!m)*((~f) + (~!g)*(~x)^(~s))^ (~!r) ((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))^(~!q),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~p), (~q), (~r), (~s), (~x)) ? +# Unintegrable[((~h)*(~x))^(~m)*((~f) + (~g)*(~x)^(~s))^(~r)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))^(~q), (~x)] : nothing) + +("3_4_35", +@rule ∫(((~!h)*(~x))^(~!m)*(~u)^(~!r)*((~!a) + (~!b)*log((~!c)*(~v)^(~!p)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~h), (~m), (~p), (~q), (~r), (~x)) && + isbinomial([(~u), (~v)], (~x)) && + !(binomial_without_simplify([(~u), (~v)], (~x))) ? +∫(((~h)*(~x))^(~m)* expand_to_sum((~u), (~x))^(~r)*((~a) + (~b)*log((~c)*expand_to_sum((~v), (~x))^(~p)))^(~q), (~x)) : nothing) + +("3_4_36", +@rule ∫(log((~!f)*(~x)^(~!q))^(~!m)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p)))/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~q), (~x)) && + !eq((~m), -1) ? +log((~f)*(~x)^(~q))^((~m) + 1)*((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))⨸((~q)*((~m) + 1)) - (~b)*(~e)*(~n)*(~p)⨸((~q)*((~m) + 1))* ∫((~x)^((~n) - 1)*log((~f)*(~x)^(~q))^((~m) + 1)⨸((~d) + (~e)*(~x)^(~n)), (~x)) : nothing) + +("3_4_37", +@rule ∫((~F)((~!f)*(~x))^(~!m)*((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*(~x)^(~n))^(~!p))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~x)) && + in( (~F), [asin, acos, asinh, acosh]) && + igt((~m), 0) && + igt((~n), 1) ? +dist((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)), ∫((~F)((~f)*(~x))^(~m), (~x)), (~x)) - (~b)*(~e)*(~n)*(~p)*∫(ext_simplify(∫((~F)((~f)*(~x))^(~m), (~x))*(~x)^((~n) - 1)⨸((~d) + (~e)*(~x)^(~n)), (~x)), (~x)) : nothing) + +("3_4_38", +@rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*((~!f) + (~!g)*(~x))^(~n))^(~!p)))^(~!q),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + igt((~q), 0) && + ( + eq((~q), 1) || + ext_isinteger((~n)) + ) ? +1⨸(~g)*int_and_subst(((~a) + (~b)*log((~c)*((~d) + (~e)*(~x)^(~n))^(~p)))^(~q), (~x), (~x), (~f) + (~g)*(~x), "3_4_38") : nothing) + +# ("3_4_39", +# @rule ∫(((~!a) + (~!b)*log((~!c)*((~d) + (~!e)*((~!f) + (~!g)*(~x))^(~n))^(~!p)))^(~!q),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~q), (~x)) ? +# Unintegrable[((~a) + (~b)*log((~c)*((~d) + (~e)*((~f) + (~g)*(~x))^(~n))^(~p)))^(~q), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/3 Logarithms/3.5 Miscellaneous logarithms.jl b/src/methods/rule_based/rules2/3 Logarithms/3.5 Miscellaneous logarithms.jl new file mode 100644 index 0000000..b364fcf --- /dev/null +++ b/src/methods/rule_based/rules2/3 Logarithms/3.5 Miscellaneous logarithms.jl @@ -0,0 +1,299 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 3.5 Miscellaneous logarithms *) +# ("3_5_1", +# @rule ∫((~u)*log((~v)),(~x)) => +# !(FalseQ[(~w)])] ? +# With[{(~w) = DerivativeDivides[(~v), (~u)*(1 - (~v)), (~x)]}, (~w)*PolyLog.reli(2, 1 - (~v)) : nothing) +# +# ("3_5_2", +# @rule ∫(((~!a) + (~!b)*log((~u)))*log((~v))*(~w),(~x)) => +# !contains_var((~a), (~b), (~x)) && +# !contains_inverse_function((~u), (~x)) && +# !(FalseQ[DerivativeDivides[(~v), (~w)*(1 - (~v)), (~x)]]) ? +# DerivativeDivides[(~v), (~w)*(1 - (~v)), (~x)]*((~a) + (~b)*log((~u)))*PolyLog.reli(2, 1 - (~v)) - (~b)*∫(ext_simplify(DerivativeDivides[(~v), (~w)*(1 - (~v)), (~x)]*PolyLog.reli(2, 1 - (~v))*(~D)[(~u), (~x)]⨸(~u), (~x)), (~x)) ] : nothing) + +("3_5_3", +@rule ∫(log((~!c)*log((~!d)*(~x)^(~!n))^(~!p)),(~x)) => + !contains_var((~c), (~d), (~n), (~p), (~x)) ? +(~x)*log((~c)*log((~d)*(~x)^(~n))^(~p)) - (~n)*(~p)*∫(1⨸log((~d)*(~x)^(~n)), (~x)) : nothing) + +("3_5_4", +@rule ∫(((~!a) + (~!b)*log((~!c)*log((~!d)*(~x)^(~!n))^(~!p)))/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~x)) ? +log((~d)*(~x)^(~n))*((~a) + (~b)*log((~c)*log((~d)*(~x)^(~n))^(~p)))⨸(~n) - (~b)*(~p)*log((~x)) : nothing) + +("3_5_5", +@rule ∫(((~!e)*(~x))^(~!m)*((~!a) + (~!b)*log((~!c)*log((~!d)*(~x)^(~!n))^(~!p))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + !eq((~m), -1) ? +((~e)*(~x))^((~m) + 1)*((~a) + (~b)*log((~c)*log((~d)*(~x)^(~n))^(~p)))⨸((~e)*((~m) + 1)) - (~b)*(~n)*(~p)⨸((~m) + 1)*∫(((~e)*(~x))^(~m)⨸log((~d)*(~x)^(~n)), (~x)) : nothing) + +("3_5_6", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~Rx)^(~!p)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + rational_function((~Rx), (~x)) && + igt((~n), 0) ? +(~x)*((~a) + (~b)*log((~c)*(~Rx)^(~p)))^(~n) - (~b)*(~n)*(~p)* ∫(ext_simplify( (~x)*((~a) + (~b)*log((~c)*(~Rx)^(~p)))^((~n) - 1)*Symbolics.derivative((~Rx), (~x))⨸(~Rx), (~x)), (~x)) : nothing) + +("3_5_7", +@rule ∫(((~!a) + (~!b)*log((~!c)*(~Rx)^(~!p)))^(~!n)/((~!d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + rational_function((~Rx), (~x)) && + igt((~n), 0) ? +log((~d) + (~e)*(~x))*((~a) + (~b)*log((~c)*(~Rx)^(~p)))^(~n)⨸(~e) - (~b)*(~n)*(~p)⨸(~e)* ∫(log((~d) + (~e)*(~x))*((~a) + (~b)*log((~c)*(~Rx)^(~p)))^((~n) - 1)*Symbolics.derivative((~Rx), (~x))⨸(~Rx), (~x)) : nothing) + +("3_5_8", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*log((~!c)*(~Rx)^(~!p)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~p), (~x)) && + rational_function((~Rx), (~x)) && + igt((~n), 0) && + ( + eq((~n), 1) || + ext_isinteger((~m)) + ) && + !eq((~m), -1) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*log((~c)*(~Rx)^(~p)))^(~n)⨸((~e)*((~m) + 1)) - (~b)*(~n)*(~p)⨸((~e)*((~m) + 1))* ∫(ext_simplify(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*log((~c)*(~Rx)^(~p)))^((~n) - 1)*Symbolics.derivative((~Rx), (~x))⨸(~Rx), (~x)), (~x)) : nothing) + +("3_5_9", +@rule ∫(log((~!c)*(~Rx)^(~!n))/((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~c), (~d), (~e), (~n), (~x)) && + rational_function((~Rx), (~x)) && + !(poly((~Rx), (~x))) ? +∫(1⨸((~d) + (~e)*(~x)^2), (~x))*log((~c)*(~Rx)^(~n)) - (~n)*∫(ext_simplify(∫(1⨸((~d) + (~e)*(~x)^2), (~x))*Symbolics.derivative((~Rx), (~x))⨸(~Rx), (~x)), (~x)) : nothing) + +("3_5_10", +@rule ∫(log((~!c)*(~Px)^(~!n))/(~Qx),(~x)) => + !contains_var((~c), (~n), (~x)) && + quadratic((~Qx), (~x)) && + quadratic((~Px), (~x)) && + eq((~D)[(~Px)/(~Qx), (~x)], 0) ? +∫(1⨸(~Qx), (~x))*log((~c)*(~Px)^(~n)) - (~n)*∫(ext_simplify(∫(1⨸(~Qx), (~x))*Symbolics.derivative((~Px), (~x))⨸(~Px), (~x)), (~x)) : nothing) + +("3_5_11", +@rule ∫((~Gx)*((~!a) + (~!b)*log((~!c)*(~Rx)^(~!p)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + rational_function((~Rx), (~x)) && + rational_function((~Gx), (~x)) && + igt((~n), 0) && + issum(ext_expand(((~a) + (~b)*log((~c)*(~Rx)^(~p)))^(~n), (~Gx), (~x))) ? +∫(ext_expand(((~a) + (~b)*log((~c)*(~Rx)^(~p)))^(~n), (~Gx), (~x)), (~x)) : nothing) + +("3_5_12", +@rule ∫((~Gx)*((~!a) + (~!b)*log((~!c)*(~Rx)^(~!p)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~p), (~x)) && + rational_function((~Rx), (~x)) && + rational_function((~Gx), (~x)) && + igt((~n), 0) && + issum(ext_expand((~Gx)*((~a) + (~b)*log((~c)*(~Rx)^(~p)))^(~n), (~x))) ? +∫(ext_expand((~Gx)*((~a) + (~b)*log((~c)*(~Rx)^(~p)))^(~n), (~x)), (~x)) : nothing) + +# ("3_5_13", +# @rule ∫((~Rx)*((~!a) + (~!b)*log((~u))),(~x)) => +# !contains_var((~a), (~b), (~x)) && +# rational_function((~Rx), (~x)) && +# !(FalseQ[lst]) ? +# lst[[2]]*lst[[4]]* int_and_subst(lst[[1]], (~x), (~x), lst[[3]]^(1⨸lst[[2]]), "3_5_13") : nothing) + +("3_5_14", +@rule ∫(((~!f) + (~!g)*(~x))^(~!m)*log(1 + (~!e)*((~F)^((~!c)*((~!a) + (~!b)*(~x))))^(~!n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~e), (~f), (~g), (~n), (~x)) && + gt((~m), 0) ? +-((~f) + (~g)*(~x))^(~m)*PolyLog.reli(2, -(~e)*((~F)^((~c)*((~a) + (~b)*(~x))))^(~n))⨸((~b)*(~c)*(~n)*log((~F))) + (~g)*(~m)⨸((~b)*(~c)*(~n)*log((~F)))* ∫(((~f) + (~g)*(~x))^((~m) - 1)*PolyLog.reli(2, -(~e)*((~F)^((~c)*((~a) + (~b)*(~x))))^(~n)), (~x)) : nothing) + +("3_5_15", +@rule ∫(((~!f) + (~!g)*(~x))^(~!m)*log((~d) + (~!e)*((~F)^((~!c)*((~!a) + (~!b)*(~x))))^(~!n)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + gt((~m), 0) && + !eq((~d), 1) ? +((~f) + (~g)*(~x))^((~m) + 1)*log((~d) + (~e)*((~F)^((~c)*((~a) + (~b)*(~x))))^(~n))⨸((~g)*((~m) + 1)) - ((~f) + (~g)*(~x))^((~m) + 1)* log(1 + (~e)⨸(~d)*((~F)^((~c)*((~a) + (~b)*(~x))))^(~n))⨸((~g)*((~m) + 1)) + ∫(((~f) + (~g)*(~x))^(~m)*log(1 + (~e)⨸(~d)*((~F)^((~c)*((~a) + (~b)*(~x))))^(~n)), (~x)) : nothing) + +("3_5_16", +@rule ∫(log((~!d) + (~!e)*(~x) + (~!f)*sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~e)^2 - (~c)*(~f)^2, 0) ? +(~x)*log((~d) + (~e)*(~x) + (~f)*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)) + (~f)^2*((~b)^2 - 4*(~a)*(~c))⨸2* ∫((~x)⨸((2*(~d)*(~e) - (~b)*(~f)^2)*((~a) + (~b)*(~x) + (~c)*(~x)^2) - (~f)*((~b)*(~d) - 2*(~a)*(~e) + (2*(~c)*(~d) - (~b)*(~e))*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)), (~x)) : nothing) + +("3_5_17", +@rule ∫(log((~!d) + (~!e)*(~x) + (~!f)*sqrt((~!a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~x)) && + eq((~e)^2 - (~c)*(~f)^2, 0) ? +(~x)*log((~d) + (~e)*(~x) + (~f)*sqrt((~a) + (~c)*(~x)^2)) - (~a)*(~c)*(~f)^2* ∫((~x)⨸((~d)*(~e)*((~a) + (~c)*(~x)^2) + (~f)*((~a)*(~e) - (~c)*(~d)*(~x))*sqrt((~a) + (~c)*(~x)^2)), (~x)) : nothing) + +("3_5_18", +@rule ∫(((~!g)*(~x))^(~!m)* log((~!d) + (~!e)*(~x) + (~!f)*sqrt((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + eq((~e)^2 - (~c)*(~f)^2, 0) && + !eq((~m), -1) && + ext_isinteger(2*(~m)) ? +((~g)*(~x))^((~m) + 1)* log((~d) + (~e)*(~x) + (~f)*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2))⨸((~g)*((~m) + 1)) + (~f)^2*((~b)^2 - 4*(~a)*(~c))⨸(2*(~g)*((~m) + 1))* ∫(((~g)*(~x))^((~m) + 1)⨸((2*(~d)*(~e) - (~b)*(~f)^2)*((~a) + (~b)*(~x) + (~c)*(~x)^2) - (~f)*((~b)*(~d) - 2*(~a)*(~e) + (2*(~c)*(~d) - (~b)*(~e))*(~x))*sqrt((~a) + (~b)*(~x) + (~c)*(~x)^2)), (~x)) : nothing) + +("3_5_19", +@rule ∫(((~!g)*(~x))^(~!m)*log((~!d) + (~!e)*(~x) + (~!f)*sqrt((~!a) + (~!c)*(~x)^2)),(~x)) => + !contains_var((~a), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + eq((~e)^2 - (~c)*(~f)^2, 0) && + !eq((~m), -1) && + ext_isinteger(2*(~m)) ? +((~g)*(~x))^((~m) + 1)*log((~d) + (~e)*(~x) + (~f)*sqrt((~a) + (~c)*(~x)^2))⨸((~g)*((~m) + 1)) - (~a)*(~c)*(~f)^2⨸((~g)*((~m) + 1))* ∫(((~g)*(~x))^((~m) + 1)⨸((~d)*(~e)*((~a) + (~c)*(~x)^2) + (~f)*((~a)*(~e) - (~c)*(~d)*(~x))*sqrt((~a) + (~c)*(~x)^2)), (~x)) : nothing) + +#(* Int[v_.*Log[d_. + e_.*x_ + f_.*Sqrt[u_]], x_Symbol] := Int[v*Log[d + e*x + f*Sqrt[ExpandToSum[u, x]]], x] /; FreeQ[{d, e, f}, x] && QuadraticQ[u, x] && Not[QuadraticMatchQ[u, x]] && (EqQ[v, 1] || MatchQ[v, (g_.*x)^m_. /; FreeQ[{g, m}, x]]) *) +("3_5_20", +@rule ∫(log((~!c)*(~x)^(~!n))^(~!r)/((~x)*((~!a)*(~x)^(~!m) + (~!b)*log((~!c)*(~x)^(~!n))^(~q))),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~n), (~q), (~r), (~x)) && + eq((~r), (~q) - 1) ? +log((~a)*(~x)^(~m) + (~b)*log((~c)*(~x)^(~n))^(~q))⨸((~b)*(~n)*(~q)) - (~a)*(~m)⨸((~b)*(~n)*(~q))*∫((~x)^((~m) - 1)⨸((~a)*(~x)^(~m) + (~b)*log((~c)*(~x)^(~n))^(~q)), (~x)) : nothing) + +("3_5_21", +@rule ∫(log((~!c)*(~x)^(~!n))^(~!r)*((~!a)*(~x)^(~!m) + (~!b)*log((~!c)*(~x)^(~!n))^(~q))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~n), (~p), (~q), (~r), (~x)) && + eq((~r), (~q) - 1) && + igt((~p), 0) ? +∫(ext_expand(log((~c)*(~x)^(~n))^(~r)⨸(~x), ((~a)*(~x)^(~m) + (~b)*log((~c)*(~x)^(~n))^(~q))^(~p), (~x)), (~x)) : nothing) + +("3_5_22", +@rule ∫(log((~!c)*(~x)^(~!n))^(~!r)*((~!a)*(~x)^(~!m) + (~!b)*log((~!c)*(~x)^(~!n))^(~q))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~n), (~p), (~q), (~r), (~x)) && + eq((~r), (~q) - 1) && + !eq((~p), -1) ? +((~a)*(~x)^(~m) + (~b)*log((~c)*(~x)^(~n))^(~q))^((~p) + 1)⨸((~b)*(~n)*(~q)*((~p) + 1)) - (~a)*(~m)⨸((~b)*(~n)*(~q))*∫((~x)^((~m) - 1)*((~a)*(~x)^(~m) + (~b)*log((~c)*(~x)^(~n))^(~q))^(~p), (~x)) : nothing) + +("3_5_23", +@rule ∫(((~!d)*(~x)^(~!m) + (~!e)*log((~!c)*(~x)^(~!n))^(~!r))/((~x)*((~!a)*(~x)^(~!m) + (~!b)*log((~!c)*(~x)^(~!n))^(~q))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~q), (~r), (~x)) && + eq((~r), (~q) - 1) && + eq((~a)*(~e)*(~m) - (~b)*(~d)*(~n)*(~q), 0) ? +(~e)*log((~a)*(~x)^(~m) + (~b)*log((~c)*(~x)^(~n))^(~q))⨸((~b)*(~n)*(~q)) : nothing) + +("3_5_24", +@rule ∫(((~u) + (~!d)*(~x)^(~!m) + (~!e)*log((~!c)*(~x)^(~!n))^(~!r))/((~x)*((~!a)*(~x)^(~!m) + (~!b)*log((~!c)*(~x)^(~!n))^(~q))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~q), (~r), (~x)) && + eq((~r), (~q) - 1) && + eq((~a)*(~e)*(~m) - (~b)*(~d)*(~n)*(~q), 0) ? +(~e)*log((~a)*(~x)^(~m) + (~b)*log((~c)*(~x)^(~n))^(~q))⨸((~b)*(~n)*(~q)) + ∫((~u)⨸((~x)*((~a)*(~x)^(~m) + (~b)*log((~c)*(~x)^(~n))^(~q))), (~x)) : nothing) + +("3_5_25", +@rule ∫(((~!d)*(~x)^(~!m) + (~!e)*log((~!c)*(~x)^(~!n))^(~!r))/((~x)*((~!a)*(~x)^(~!m) + (~!b)*log((~!c)*(~x)^(~!n))^(~q))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~q), (~r), (~x)) && + eq((~r), (~q) - 1) && + !eq((~a)*(~e)*(~m) - (~b)*(~d)*(~n)*(~q), 0) ? +(~e)*log((~a)*(~x)^(~m) + (~b)*log((~c)*(~x)^(~n))^(~q))⨸((~b)*(~n)*(~q)) - ((~a)*(~e)*(~m) - (~b)*(~d)*(~n)*(~q))⨸((~b)*(~n)*(~q))* ∫((~x)^((~m) - 1)⨸((~a)*(~x)^(~m) + (~b)*log((~c)*(~x)^(~n))^(~q)), (~x)) : nothing) + +("3_5_26", +@rule ∫(((~!d)*(~x)^(~!m) + (~!e)*log((~!c)*(~x)^(~!n))^(~!r))*((~!a)*(~x)^(~!m) + (~!b)*log((~!c)*(~x)^(~!n))^(~q))^ (~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~r), (~x)) && + eq((~r), (~q) - 1) && + !eq((~p), -1) && + eq((~a)*(~e)*(~m) - (~b)*(~d)*(~n)*(~q), 0) ? +(~e)*((~a)*(~x)^(~m) + (~b)*log((~c)*(~x)^(~n))^(~q))^((~p) + 1)⨸((~b)*(~n)*(~q)*((~p) + 1)) : nothing) + +("3_5_27", +@rule ∫(((~!d)*(~x)^(~!m) + (~!e)*log((~!c)*(~x)^(~!n))^(~!r))*((~!a)*(~x)^(~!m) + (~!b)*log((~!c)*(~x)^(~!n))^(~q))^ (~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~q), (~r), (~x)) && + eq((~r), (~q) - 1) && + !eq((~p), -1) && + !eq((~a)*(~e)*(~m) - (~b)*(~d)*(~n)*(~q), 0) ? +(~e)*((~a)*(~x)^(~m) + (~b)*log((~c)*(~x)^(~n))^(~q))^((~p) + 1)⨸((~b)*(~n)*(~q)*((~p) + 1)) - ((~a)*(~e)*(~m) - (~b)*(~d)*(~n)*(~q))⨸((~b)*(~n)*(~q))* ∫((~x)^((~m) - 1)*((~a)*(~x)^(~m) + (~b)*log((~c)*(~x)^(~n))^(~q))^(~p), (~x)) : nothing) + +("3_5_28", +@rule ∫(((~!d)*(~x)^(~!m) + (~!e)*(~x)^(~!m)*log((~!c)*(~x)^(~!n)) + (~!f)*log((~!c)*(~x)^(~!n))^ (~!q))/((~x)*((~!a)*(~x)^(~!m) + (~!b)*log((~!c)*(~x)^(~!n))^(~q))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~q), (~x)) && + eq((~e)*(~n) + (~d)*(~m), 0) && + eq((~a)*(~f) + (~b)*(~d)*((~q) - 1), 0) ? +(~d)*log((~c)*(~x)^(~n))⨸((~a)*(~n)*((~a)*(~x)^(~m) + (~b)*log((~c)*(~x)^(~n))^(~q))) : nothing) + +("3_5_29", +@rule ∫(((~d) + (~!e)*log((~!c)*(~x)^(~!n)))/((~!a)*(~x) + (~!b)*log((~!c)*(~x)^(~!n))^(~q))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~q), (~x)) && + eq((~d) + (~e)*(~n)*(~q), 0) ? +-(~e)*log((~c)*(~x)^(~n))⨸((~a)*((~a)*(~x) + (~b)*log((~c)*(~x)^(~n))^(~q))) + ((~d) + (~e)*(~n))⨸(~a)* ∫(1⨸((~x)*((~a)*(~x) + (~b)*log((~c)*(~x)^(~n))^(~q))), (~x)) : nothing) + +("3_5_30", +@rule ∫(log((~u)),(~x)) => + !contains_inverse_function((~u), (~x)) ? +(~x)*log((~u)) - ∫(ext_simplify((~x)*Symbolics.derivative((~u), (~x))⨸(~u), (~x)), (~x)) : nothing) + +("3_5_31", +@rule ∫(log((~u)),(~x)) => + isprod((~u)) ? +(~x)*log((~u)) - ∫(ext_simplify((~x)*simplify(Symbolics.derivative((~u), (~x))⨸(~u)), (~x)), (~x)) : nothing) + +# ("3_5_32", +# @rule ∫(log((~u))/((~!a) + (~!b)*(~x)),(~x)) => +# !contains_var((~a), (~b), (~x)) && +# rational_function((~D)[(~u), (~x)]/(~u), (~x)) && +# ( +# !eq((~a), 0) || +# !( +# isbinomial((~u), (~x)) && +# eq(BinomialDegree[(~u), (~x)]^2, 1) +# ) +# ) ? +# log((~a) + (~b)*(~x))*log((~u))⨸(~b) - 1⨸(~b)*∫(ext_simplify(log((~a) + (~b)*(~x))*Symbolics.derivative((~u), (~x))⨸(~u), (~x)), (~x)) : nothing) + +("3_5_33", +@rule ∫(((~!a) + (~!b)*(~x))^(~!m)*log((~u)),(~x)) => + !contains_var((~a), (~b), (~m), (~x)) && + !contains_inverse_function((~u), (~x)) && + !eq((~m), -1) ? +((~a) + (~b)*(~x))^((~m) + 1)*log((~u))⨸((~b)*((~m) + 1)) - 1⨸((~b)*((~m) + 1))* ∫(ext_simplify(((~a) + (~b)*(~x))^((~m) + 1)*Symbolics.derivative((~u), (~x))⨸(~u), (~x)), (~x)) : nothing) + +("3_5_34", +@rule ∫(log((~u))/(~Qx),(~x)) => + quadratic((~Qx), (~x)) && + !contains_inverse_function((~u), (~x)) ? +∫(1⨸(~Qx), (~x))*log((~u)) - ∫(ext_simplify(∫(1⨸(~Qx), (~x))*Symbolics.derivative((~u), (~x))⨸(~u), (~x)), (~x)) : nothing) + +("3_5_35", +@rule ∫((~u)^((~!a)*(~x))*log((~u)),(~x)) => + !contains_var((~a), (~x)) && + !contains_inverse_function((~u), (~x)) ? +(~u)^((~a)*(~x))⨸(~a) - ∫(ext_simplify((~x)*(~u)^((~a)*(~x) - 1)*Symbolics.derivative((~u), (~x)), (~x)), (~x)) : nothing) + +# ("3_5_36", +# @rule ∫((~v)*log((~u)),(~x)) => +# !contains_inverse_function((~u), (~x)) && +# !contains_inverse_function(IntHide[(~v), (~x)], (~x)) ? +# dist(log((~u)), ∫((~v), (~x)), (~x)) - ∫(ext_simplify(∫((~v), (~x))*(~D)[(~u), (~x)]⨸(~u), (~x)), (~x)) ] : nothing) +# +# ("3_5_37", +# @rule ∫((~v)*log((~u)),(~x)) => +# ProductQ[(~u)] && +# !contains_inverse_function(IntHide[(~v), (~x)], (~x)) ? +# dist(log((~u)), ∫((~v), (~x)), (~x)) - ∫(ext_simplify(∫((~v), (~x))*simplify((~D)[(~u), (~x)]⨸(~u)), (~x)), (~x)) ] : nothing) + +("3_5_38", +@rule ∫(log((~v))*log((~w)),(~x)) => + !contains_inverse_function((~v), (~x)) && + !contains_inverse_function((~w), (~x)) ? +(~x)*log((~v))*log((~w)) - ∫(ext_simplify((~x)*log((~w))*Symbolics.derivative((~v), (~x))⨸(~v), (~x)), (~x)) - ∫(ext_simplify((~x)*log((~v))*Symbolics.derivative((~w), (~x))⨸(~w), (~x)), (~x)) : nothing) + +# ("3_5_39", +# @rule ∫((~u)*log((~v))*log((~w)),(~x)) => +# !contains_inverse_function((~v), (~x)) && +# !contains_inverse_function((~w), (~x)) && +# !contains_inverse_function(IntHide[(~u), (~x)], (~x)) ? +# dist(log((~v))*log((~w)), ∫((~u), (~x)), (~x)) - ∫(ext_simplify(∫((~u), (~x))*log((~w))*(~D)[(~v), (~x)]⨸(~v), (~x)), (~x)) - ∫(ext_simplify(∫((~u), (~x))*log((~v))*(~D)[(~w), (~x)]⨸(~w), (~x)), (~x)) ] : nothing) + +("3_5_40", +@rule ∫((~f)^((~!a)*log((~u))),(~x)) => + !contains_var((~a), (~f), (~x)) ? +∫((~u)^((~a)*log((~f))), (~x)) : nothing) + +#(* If[TrueQ[oLoadShowSteps], Int[u_/x_,x_Symbol] := With[{lst=FunctionOfLog[u,x]}, ShowStep["","Int[F[Log[a*x^n]]/x,x]","Subst[Int[F[x],x],x,Log[a*x^n] ]/n",Hold[ 1/lst[[3]]*Subst[Int[lst[[1]],x],x,Log[lst[[2]]]]]] /; Not[FalseQ[lst]]] /; SimplifyFlag && NonsumQ[u], Int[u_/x_,x_Symbol] := With[{lst=FunctionOfLog[u,x]}, 1/lst[[3]]*Subst[Int[lst[[1]],x],x,Log[lst[[2]]]] /; Not[FalseQ[lst]]] /; NonsumQ[u]] *) +("3_5_41", +@rule ∫((~F)(log(~a*(~x)^~n))/~x, ~x) => +int_and_subst((~F)(~x)/~n, ~x, ~x, log(~a*(~x)^~n), "3_5_41") +) + +("3_5_42", +@rule ∫((~!u)*log(SymbolicUtils.gamma((~v))),(~x)) => +(log(SymbolicUtils.gamma((~v))) - SymbolicUtils.loggamma((~v)))*∫((~u), (~x)) + ∫((~u)*SymbolicUtils.loggamma((~v)), (~x))) + +("3_5_43", +@rule ∫((~!u)*((~!a)*(~x)^(~!m) + (~!b)*(~x)^(~!r)*log((~!c)*(~x)^(~!n))^(~!q))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~n), (~p), (~q), (~r), (~x)) && + ext_isinteger((~p)) ? +∫((~u)*(~x)^((~p)*(~r))*((~a)*(~x)^((~m) - (~r)) + (~b)*log((~c)*(~x)^(~n))^(~q))^(~p), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.0/4.1.0.1 (a sin)^m (b trg)^n.jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.0/4.1.0.1 (a sin)^m (b trg)^n.jl new file mode 100644 index 0000000..922aadb --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.0/4.1.0.1 (a sin)^m (b trg)^n.jl @@ -0,0 +1,207 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.0.1 (a sin)^m (b trg)^n *) +("4_1_0_1_1", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!b)*cos((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + eq((~m) + (~n) + 2, 0) && + !eq((~m), -1) ? +((~a)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~b)*cos((~e) + (~f)*(~x)))^((~n) + 1)⨸((~a)*(~b)*(~f)*((~m) + 1)) : nothing) + +("4_1_0_1_2", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~!m)*cos((~!e) + (~!f)*(~x))^(~!n),(~x)) => + !contains_var((~a), (~e), (~f), (~m), (~x)) && + ext_isinteger(((~n) - 1)/2) && + !( + ext_isinteger(((~m) - 1)/2) && + lt(0, (~m), (~n)) + ) ? +1⨸((~a)*(~f))* int_and_subst((~x)^(~m)*(1 - (~x)^2⨸(~a)^2)^(((~n) - 1)⨸2), (~x), (~x), (~a)*sin((~e) + (~f)*(~x)), "4_1_0_1_2") : nothing) + +("4_1_0_1_3", +@rule ∫(((~!a)*cos((~!e) + (~!f)*(~x)))^(~!m)*sin((~!e) + (~!f)*(~x))^(~!n),(~x)) => + !contains_var((~a), (~e), (~f), (~m), (~x)) && + ext_isinteger(((~n) - 1)/2) && + !( + ext_isinteger(((~m) - 1)/2) && + gt((~m), 0) && + le((~m), (~n)) + ) ? +-1⨸((~a)*(~f))* int_and_subst((~x)^(~m)*(1 - (~x)^2⨸(~a)^2)^(((~n) - 1)⨸2), (~x), (~x), (~a)*cos((~e) + (~f)*(~x)), "4_1_0_1_3") : nothing) + +("4_1_0_1_4", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*cos((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + gt((~m), 1) && + lt((~n), -1) && + ( + ext_isinteger(2*(~m), 2*(~n)) || + eq((~m) + (~n), 0) + ) ? +-(~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), (~x)) : nothing) + +("4_1_0_1_5", +@rule ∫(((~!a)*cos((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + gt((~m), 1) && + lt((~n), -1) && + ( + ext_isinteger(2*(~m), 2*(~n)) || + eq((~m) + (~n), 0) + ) ? +(~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))* ∫(((~a)*cos((~e) + (~f)*(~x)))^((~m) - 2)*((~b)*sin((~e) + (~f)*(~x)))^((~n) + 2), (~x)) : nothing) + +("4_1_0_1_6", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*cos((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~n), (~x)) && + gt((~m), 1) && + !eq((~m) + (~n), 0) && + ext_isinteger(2*(~m), 2*(~n)) ? +-(~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))* ∫(((~b)*cos((~e) + (~f)*(~x)))^(~n)*((~a)*sin((~e) + (~f)*(~x)))^((~m) - 2), (~x)) : nothing) + +("4_1_0_1_7", +@rule ∫(((~!a)*cos((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~n), (~x)) && + gt((~m), 1) && + !eq((~m) + (~n), 0) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~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))* ∫(((~b)*sin((~e) + (~f)*(~x)))^(~n)*((~a)*cos((~e) + (~f)*(~x)))^((~m) - 2), (~x)) : nothing) + +("4_1_0_1_8", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*cos((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~n), (~x)) && + lt((~m), -1) && + ext_isinteger(2*(~m), 2*(~n)) ? +((~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))* ∫(((~b)*cos((~e) + (~f)*(~x)))^(~n)*((~a)*sin((~e) + (~f)*(~x)))^((~m) + 2), (~x)) : nothing) + +("4_1_0_1_9", +@rule ∫(((~!a)*cos((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~n), (~x)) && + lt((~m), -1) && + ext_isinteger(2*(~m), 2*(~n)) ? +-((~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))* ∫(((~b)*sin((~e) + (~f)*(~x)))^(~n)*((~a)*cos((~e) + (~f)*(~x)))^((~m) + 2), (~x)) : nothing) + +("4_1_0_1_10", +@rule ∫(sqrt((~!a)*sin((~!e) + (~!f)*(~x)))*sqrt((~!b)*cos((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) ? +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))), (~x)) : nothing) + +("4_1_0_1_11", +@rule ∫(1/(sqrt((~!a)*sin((~!e) + (~!f)*(~x)))*sqrt((~!b)*cos((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) ? +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))), (~x)) : nothing) + +#(* 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] *) +("4_1_0_1_12", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*cos((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + eq((~m) + (~n), 0) && + gt((~m), 0) && + lt((~m), 1) ? +ext_den((~m))*(~a)*(~b)⨸(~f)* int_and_subst((~x)^(ext_den((~m))*((~m) + 1) - 1)⨸((~a)^2 + (~b)^2*(~x)^(2*ext_den((~m)))), (~x), (~x), ((~a)*sin((~e) + (~f)*(~x)))^(1⨸ext_den((~m)))⨸((~b)*cos((~e) + (~f)*(~x)))^(1⨸ext_den((~m))), "4_1_0_1_12") : nothing) + +("4_1_0_1_13", +@rule ∫(((~!a)*cos((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + eq((~m) + (~n), 0) && + gt((~m), 0) && + lt((~m), 1) ? +-ext_den((~m))*(~a)*(~b)⨸(~f)* int_and_subst((~x)^(ext_den((~m))*((~m) + 1) - 1)⨸((~a)^2 + (~b)^2*(~x)^(2*ext_den((~m)))), (~x), (~x), ((~a)*cos((~e) + (~f)*(~x)))^(1⨸ext_den((~m)))⨸((~b)*sin((~e) + (~f)*(~x)))^(1⨸ext_den((~m))), "4_1_0_1_13") : nothing) + +#(* 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] *) +("4_1_0_1_14", +@rule ∫(((~!a)*cos((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + simpler((~n), (~m)) ? +-(~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) : nothing) + +("4_1_0_1_15", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*cos((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~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) : nothing) + +("4_1_0_1_16", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + eq((~m) - (~n) + 2, 0) && + !eq((~m), -1) ? +(~b)*((~a)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~b)*sec((~e) + (~f)*(~x)))^((~n) - 1)⨸((~a)*(~f)*((~m) + 1)) : nothing) + +("4_1_0_1_17", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + gt((~n), 1) && + gt((~m), 1) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~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), (~x)) : nothing) + +("4_1_0_1_18", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + gt((~n), 1) && + ext_isinteger(2*(~m), 2*(~n)) ? +((~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), (~x)) : nothing) + +("4_1_0_1_19", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + lt((~n), -1) && + lt((~m), -1) && + ext_isinteger(2*(~m), 2*(~n)) ? +((~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), (~x)) : nothing) + +("4_1_0_1_20", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + lt((~n), -1) && + !eq((~m) - (~n), 0) && + ext_isinteger(2*(~m), 2*(~n)) ? +((~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), (~x)) : nothing) + +("4_1_0_1_21", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~n), (~x)) && + gt((~m), 1) && + !eq((~m) - (~n), 0) && + ext_isinteger(2*(~m), 2*(~n)) ? +-(~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), (~x)) : nothing) + +("4_1_0_1_22", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~n), (~x)) && + lt((~m), -1) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~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), (~x)) : nothing) + +("4_1_0_1_23", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + ext_isinteger((~m) - 1/2) && + ext_isinteger((~n) - 1/2) ? +((~b)*cos((~e) + (~f)*(~x)))^(~n)*((~b)*sec((~e) + (~f)*(~x)))^(~n)* ∫(((~a)*sin((~e) + (~f)*(~x)))^(~m)⨸((~b)*cos((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_0_1_24", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) && + lt((~n), 1) ? +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), (~x)) : nothing) + +("4_1_0_1_25", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) ? +(~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), (~x)) : nothing) + +("4_1_0_1_26", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!b)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) ? +((~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)), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.0/4.1.0.2 (a trg)^m (b tan)^n.jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.0/4.1.0.2 (a trg)^m (b tan)^n.jl new file mode 100644 index 0000000..2408e4f --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.0/4.1.0.2 (a trg)^m (b tan)^n.jl @@ -0,0 +1,255 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.0.2 (a trg)^m (b tan)^n *) +("4_1_0_2_1", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + eq((~m) + (~n) - 1, 0) ? +-(~b)*((~a)*sin((~e) + (~f)*(~x)))^(~m)*((~b)*tan((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*(~m)) : nothing) + +("4_1_0_2_2", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~!m)*tan((~!e) + (~!f)*(~x))^(~!n),(~x)) => + !contains_var((~e), (~f), (~x)) && + ext_isinteger((~m), (~n), ((~m) + (~n) - 1)/2) ? +-1⨸(~f)*int_and_subst((1 - (~x)^2)^(((~m) + (~n) - 1)⨸2)⨸(~x)^(~n), (~x), (~x), cos((~e) + (~f)*(~x)), "4_1_0_2_2") : nothing) + +("4_1_0_2_3", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~b), (~e), (~f), (~n), (~x)) && + ext_isinteger((~m)/2) ? +(~b)*free_factors(tan((~e) + (~f)*(~x)), (~x))⨸(~f)* int_and_subst((free_factors(tan((~e) + (~f)*(~x)), (~x))*(~x))^((~m) + (~n))⨸((~b)^2 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^((~m)⨸2 + 1), (~x), (~x), (~b)*tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_0_2_3") : nothing) + +("4_1_0_2_4", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~!m)*tan((~!e) + (~!f)*(~x))^(~!n),(~x)) => + !contains_var((~a), (~e), (~f), (~m), (~x)) && + ext_isinteger(((~n) + 1)/2) ? +free_factors(sin((~e) + (~f)*(~x)), (~x))⨸(~f)* int_and_subst((free_factors(sin((~e) + (~f)*(~x)), (~x))*(~x))^((~m) + (~n))⨸((~a)^2 - free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~n) + 1)⨸2), (~x), (~x), (~a)*sin((~e) + (~f)*(~x))⨸free_factors(sin((~e) + (~f)*(~x)), (~x)), "4_1_0_2_4") : nothing) + +("4_1_0_2_5", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + gt((~n), 1) && + ( + lt((~m), -1) || + eq((~m), -1) && + eq((~n), 3/2) + ) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~b)*((~a)*sin((~e) + (~f)*(~x)))^((~m) + 2)*((~b)*tan((~e) + (~f)*(~x)))^((~n) - 1)⨸((~a)^2* (~f)*((~n) - 1)) - (~b)^2*((~m) + 2)⨸((~a)^2*((~n) - 1))* ∫(((~a)*sin((~e) + (~f)*(~x)))^((~m) + 2)*((~b)*tan((~e) + (~f)*(~x)))^((~n) - 2), (~x)) : nothing) + +("4_1_0_2_6", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + gt((~n), 1) && + ext_isinteger(2*(~m), 2*(~n)) && + !( + gt((~m), 1) && + !(ext_isinteger(((~m) - 1)/2)) + ) ? +(~b)*((~a)*sin((~e) + (~f)*(~x)))^(~m)*((~b)*tan((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*((~n) - 1)) - (~b)^2*((~m) + (~n) - 1)⨸((~n) - 1)* ∫(((~a)*sin((~e) + (~f)*(~x)))^(~m)*((~b)*tan((~e) + (~f)*(~x)))^((~n) - 2), (~x)) : nothing) + +("4_1_0_2_7", +@rule ∫(sqrt((~!a)*sin((~!e) + (~!f)*(~x)))/((~!b)*tan((~!e) + (~!f)*(~x)))^(3//2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) ? +2*sqrt((~a)*sin((~e) + (~f)*(~x)))⨸((~b)*(~f)*sqrt((~b)*tan((~e) + (~f)*(~x)))) + (~a)^2⨸(~b)^2*∫(sqrt((~b)*tan((~e) + (~f)*(~x)))⨸((~a)*sin((~e) + (~f)*(~x)))^(3⨸2), (~x)) : nothing) + +("4_1_0_2_8", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + lt((~n), -1) && + gt((~m), 1) && + ext_isinteger(2*(~m), 2*(~n)) ? +((~a)*sin((~e) + (~f)*(~x)))^(~m)*((~b)*tan((~e) + (~f)*(~x)))^((~n) + 1)⨸((~b)*(~f)*(~m)) - (~a)^2*((~n) + 1)⨸((~b)^2*(~m))* ∫(((~a)*sin((~e) + (~f)*(~x)))^((~m) - 2)*((~b)*tan((~e) + (~f)*(~x)))^((~n) + 2), (~x)) : nothing) + +("4_1_0_2_9", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + lt((~n), -1) && + !eq((~m) + (~n) + 1, 0) && + ext_isinteger(2*(~m), 2*(~n)) && + !( + eq((~n), -3/2) && + eq((~m), 1) + ) ? +((~a)*sin((~e) + (~f)*(~x)))^(~m)*((~b)*tan((~e) + (~f)*(~x)))^((~n) + 1)⨸((~b)*(~f)*((~m) + (~n) + 1)) - ((~n) + 1)⨸((~b)^2*((~m) + (~n) + 1))* ∫(((~a)*sin((~e) + (~f)*(~x)))^(~m)*((~b)*tan((~e) + (~f)*(~x)))^((~n) + 2), (~x)) : nothing) + +("4_1_0_2_10", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~n), (~x)) && + ( + gt((~m), 1) || + eq((~m), 1) && + eq((~n), 1/2) + ) && + ext_isinteger(2*(~m), 2*(~n)) ? +-(~b)*((~a)*sin((~e) + (~f)*(~x)))^(~m)*((~b)*tan((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*(~m)) + (~a)^2*((~m) + (~n) - 1)⨸(~m)* ∫(((~a)*sin((~e) + (~f)*(~x)))^((~m) - 2)*((~b)*tan((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_0_2_11", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~n), (~x)) && + lt((~m), -1) && + !eq((~m) + (~n) + 1, 0) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~b)*((~a)*sin((~e) + (~f)*(~x)))^((~m) + 2)*((~b)*tan((~e) + (~f)*(~x)))^((~n) - 1)⨸((~a)^2* (~f)*((~m) + (~n) + 1)) + ((~m) + 2)⨸((~a)^2*((~m) + (~n) + 1))* ∫(((~a)*sin((~e) + (~f)*(~x)))^((~m) + 2)*((~b)*tan((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_0_2_12", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~m)*tan((~!e) + (~!f)*(~x))^(~n),(~x)) => + !contains_var((~a), (~e), (~f), (~m), (~x)) && + ext_isinteger((~n)) && + !(ext_isinteger((~m))) ? +1⨸(~a)^(~n)*∫(((~a)*sin((~e) + (~f)*(~x)))^((~m) + (~n))⨸cos((~e) + (~f)*(~x))^(~n), (~x)) : nothing) + +("4_1_0_2_13", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + !(ext_isinteger((~n))) && + ( + ilt((~m), 0) || + eq((~m), 1) && + eq((~n), -1/2) || + ext_isinteger((~m) - 1/2, (~n) - 1/2) + ) ? +cos((~e) + (~f)*(~x))^(~n)*((~b)*tan((~e) + (~f)*(~x)))^(~n)⨸((~a)*sin((~e) + (~f)*(~x)))^(~n)* ∫(((~a)*sin((~e) + (~f)*(~x)))^((~m) + (~n))⨸cos((~e) + (~f)*(~x))^(~n), (~x)) : nothing) + +("4_1_0_2_14", +@rule ∫(((~!a)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + !(ext_isinteger((~n))) ? +(~a)*cos( (~e) + (~f)*(~x))^((~n) + 1)*((~b)*tan((~e) + (~f)*(~x)))^((~n) + 1)⨸((~b)*((~a)*sin((~e) + (~f)*(~x)))^((~n) + 1))* ∫(((~a)*sin((~e) + (~f)*(~x)))^((~m) + (~n))⨸cos((~e) + (~f)*(~x))^(~n), (~x)) : nothing) + +("4_1_0_2_15", +@rule ∫(((~!a)*cos((~!e) + (~!f)*(~x)))^(~m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) ? +((~a)*cos((~e) + (~f)*(~x)))^fracpart((~m))*(sec((~e) + (~f)*(~x))⨸(~a))^fracpart((~m))* ∫(((~b)*tan((~e) + (~f)*(~x)))^(~n)⨸(sec((~e) + (~f)*(~x))⨸(~a))^(~m), (~x)) : nothing) + +("4_1_0_2_16", +@rule ∫(((~!a)*cot((~!e) + (~!f)*(~x)))^(~m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) ? +((~a)*cot((~e) + (~f)*(~x)))^(~m)*((~b)*tan((~e) + (~f)*(~x)))^(~m)* ∫(((~b)*tan((~e) + (~f)*(~x)))^((~n) - (~m)), (~x)) : nothing) + +("4_1_0_2_17", +@rule ∫(((~!a)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + eq((~m) + (~n) + 1, 0) ? +-((~a)*sec((~e) + (~f)*(~x)))^(~m)*((~b)*tan((~e) + (~f)*(~x)))^((~n) + 1)⨸((~b)*(~f)*(~m)) : nothing) + +("4_1_0_2_18", +@rule ∫(((~!a)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~e), (~f), (~m), (~x)) && + ext_isinteger(((~n) - 1)/2) && + !( + ext_isinteger((~m)/2) && + lt(0, (~m), (~n) + 1) + ) ? +(~a)⨸(~f)*int_and_subst(((~a)*(~x))^((~m) - 1)*(-1 + (~x)^2)^(((~n) - 1)⨸2), (~x), (~x), sec((~e) + (~f)*(~x)), "4_1_0_2_18") : nothing) + +("4_1_0_2_19", +@rule ∫(sec((~!e) + (~!f)*(~x))^(~m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~b), (~e), (~f), (~n), (~x)) && + ext_isinteger((~m)/2) && + !( + ext_isinteger(((~n) - 1)/2) && + lt(0, (~n), (~m) - 1) + ) ? +1⨸(~f)*int_and_subst(((~b)*(~x))^(~n)*(1 + (~x)^2)^((~m)⨸2 - 1), (~x), (~x), tan((~e) + (~f)*(~x)), "4_1_0_2_19") : nothing) + +("4_1_0_2_20", +@rule ∫(((~!a)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + lt((~n), -1) && + ( + gt((~m), 1) || + eq((~m), 1) && + eq((~n), -3/2) + ) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~a)^2*((~a)*sec((~e) + (~f)*(~x)))^((~m) - 2)*((~b)*tan((~e) + (~f)*(~x)))^((~n) + 1)⨸((~b)* (~f)*((~n) + 1)) - (~a)^2*((~m) - 2)⨸((~b)^2*((~n) + 1))* ∫(((~a)*sec((~e) + (~f)*(~x)))^((~m) - 2)*((~b)*tan((~e) + (~f)*(~x)))^((~n) + 2), (~x)) : nothing) + +("4_1_0_2_21", +@rule ∫(((~!a)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + lt((~n), -1) && + ext_isinteger(2*(~m), 2*(~n)) ? +((~a)*sec((~e) + (~f)*(~x)))^(~m)*((~b)*tan((~e) + (~f)*(~x)))^((~n) + 1)⨸((~b)*(~f)*((~n) + 1)) - ((~m) + (~n) + 1)⨸((~b)^2*((~n) + 1))* ∫(((~a)*sec((~e) + (~f)*(~x)))^(~m)*((~b)*tan((~e) + (~f)*(~x)))^((~n) + 2), (~x)) : nothing) + +("4_1_0_2_22", +@rule ∫(((~!a)*sec((~!e) + (~!f)*(~x)))^(~m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + gt((~n), 1) && + ( + lt((~m), -1) || + eq((~m), -1) && + eq((~n), 3/2) + ) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~b)*((~a)*sec((~e) + (~f)*(~x)))^(~m)*((~b)*tan((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*(~m)) - (~b)^2*((~n) - 1)⨸((~a)^2*(~m))* ∫(((~a)*sec((~e) + (~f)*(~x)))^((~m) + 2)*((~b)*tan((~e) + (~f)*(~x)))^((~n) - 2), (~x)) : nothing) + +("4_1_0_2_23", +@rule ∫(((~!a)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + gt((~n), 1) && + !eq((~m) + (~n) - 1, 0) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~b)*((~a)*sec((~e) + (~f)*(~x)))^(~m)*((~b)*tan((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*((~m) + (~n) - 1)) - (~b)^2*((~n) - 1)⨸((~m) + (~n) - 1)* ∫(((~a)*sec((~e) + (~f)*(~x)))^(~m)*((~b)*tan((~e) + (~f)*(~x)))^((~n) - 2), (~x)) : nothing) + +("4_1_0_2_24", +@rule ∫(((~!a)*sec((~!e) + (~!f)*(~x)))^(~m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~n), (~x)) && + ( + lt((~m), -1) || + eq((~m), -1) && + eq((~n), -1/2) + ) && + ext_isinteger(2*(~m), 2*(~n)) ? +-((~a)*sec((~e) + (~f)*(~x)))^(~m)*((~b)*tan((~e) + (~f)*(~x)))^((~n) + 1)⨸((~b)*(~f)*(~m)) + ((~m) + (~n) + 1)⨸((~a)^2*(~m))* ∫(((~a)*sec((~e) + (~f)*(~x)))^((~m) + 2)*((~b)*tan((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_0_2_25", +@rule ∫(((~!a)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~n), (~x)) && + ( + gt((~m), 1) || + eq((~m), 1) && + eq((~n), 1/2) + ) && + !eq((~m) + (~n) - 1, 0) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~a)^2*((~a)*sec((~e) + (~f)*(~x)))^((~m) - 2)*((~b)*tan((~e) + (~f)*(~x)))^((~n) + 1)⨸((~b)* (~f)*((~m) + (~n) - 1)) + (~a)^2*((~m) - 2)⨸((~m) + (~n) - 1)* ∫(((~a)*sec((~e) + (~f)*(~x)))^((~m) - 2)*((~b)*tan((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_0_2_26", +@rule ∫(sec((~!e) + (~!f)*(~x))/sqrt((~!b)*tan((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~b), (~e), (~f), (~x)) ? +sqrt(sin((~e) + (~f)*(~x)))⨸(sqrt(cos((~e) + (~f)*(~x)))*sqrt((~b)*tan((~e) + (~f)*(~x))))* ∫(1⨸(sqrt(cos((~e) + (~f)*(~x)))*sqrt(sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_0_2_27", +@rule ∫(sqrt((~!b)*tan((~!e) + (~!f)*(~x)))/sec((~!e) + (~!f)*(~x)),(~x)) => + !contains_var((~b), (~e), (~f), (~x)) ? +sqrt(cos((~e) + (~f)*(~x)))*sqrt((~b)*tan((~e) + (~f)*(~x)))⨸sqrt(sin((~e) + (~f)*(~x)))* ∫(sqrt(cos((~e) + (~f)*(~x)))*sqrt(sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_0_2_28", +@rule ∫(((~!a)*sec((~!e) + (~!f)*(~x)))^(~m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + ext_isinteger((~n) + 1/2) && + ext_isinteger((~m) + 1/2) ? +(~a)^((~m) + (~n))*((~b)*tan((~e) + (~f)*(~x)))^ (~n)⨸(((~a)*sec((~e) + (~f)*(~x)))^(~n)*((~b)*sin((~e) + (~f)*(~x)))^(~n))* ∫(((~b)*sin((~e) + (~f)*(~x)))^(~n)⨸cos((~e) + (~f)*(~x))^((~m) + (~n)), (~x)) : nothing) + +#(* Int[(a_.*sec[e_.+f_.*x_])^m_.*(b_.*tan[e_.+f_.*x_])^n_,x_Symbol]:= (a*Sec[e+f*x])^m*(b*Tan[e+f*x])^(n+1)*(Cos[e+f*x]^2)^((m+n+1)/2)/(b* f*(b*Sin[e+f*x])^(n+1))* Subst[Int[x^n/(1-x^2/b^2)^((m+n+1)/2),x],x,b*Sin[e+f*x]] /; FreeQ[{a,b,e,f,m,n},x] && Not[IntegerQ[(n-1)/2]] && Not[IntegerQ[m/2]] *) +("4_1_0_2_29", +@rule ∫(((~!a)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + !(ext_isinteger(((~n) - 1)/2)) && + !(ext_isinteger((~m)/2)) ? +((~a)*sec((~e) + (~f)*(~x)))^ (~m)*((~b)*tan((~e) + (~f)*(~x)))^((~n) + 1)*(cos((~e) + (~f)*(~x))^2)^(((~m) + (~n) + 1)⨸2)⨸((~b)* (~f)*((~n) + 1))* hypergeometric2f1(((~n) + 1)⨸2, ((~m) + (~n) + 1)⨸2, ((~n) + 3)⨸2, sin((~e) + (~f)*(~x))^2) : nothing) + +("4_1_0_2_30", +@rule ∫(((~!a)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) ? +((~a)*csc((~e) + (~f)*(~x)))^fracpart((~m))*(sin((~e) + (~f)*(~x))⨸(~a))^fracpart((~m))* ∫(((~b)*tan((~e) + (~f)*(~x)))^(~n)⨸(sin((~e) + (~f)*(~x))⨸(~a))^(~m), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.0/4.1.0.3 (a csc)^m (b sec)^n.jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.0/4.1.0.3 (a csc)^m (b sec)^n.jl new file mode 100644 index 0000000..648ad26 --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.0/4.1.0.3 (a csc)^m (b sec)^n.jl @@ -0,0 +1,110 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.0.3 (a csc)^m (b sec)^n *) +("4_1_0_3_1", +@rule ∫(((~!a)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + eq((~m) + (~n) - 2, 0) && + !eq((~n), 1) ? +(~a)*(~b)*((~a)*csc((~e) + (~f)*(~x)))^((~m) - 1)*((~b)*sec((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*((~n) - 1)) : nothing) + +("4_1_0_3_2", +@rule ∫(csc((~!e) + (~!f)*(~x))^(~!m)*sec((~!e) + (~!f)*(~x))^(~!n),(~x)) => + !contains_var((~e), (~f), (~x)) && + ext_isinteger((~m), (~n), ((~m) + (~n))/2) ? +1⨸(~f)*int_and_subst((1 + (~x)^2)^(((~m) + (~n))⨸2 - 1)⨸(~x)^(~m), (~x), (~x), tan((~e) + (~f)*(~x)), "4_1_0_3_2") : nothing) + +("4_1_0_3_3", +@rule ∫(((~!a)*csc((~!e) + (~!f)*(~x)))^(~m)*sec((~!e) + (~!f)*(~x))^(~!n),(~x)) => + !contains_var((~a), (~e), (~f), (~m), (~x)) && + ext_isinteger(((~n) + 1)/2) && + !( + ext_isinteger(((~m) + 1)/2) && + lt(0, (~m), (~n)) + ) ? +-1⨸((~f)*(~a)^(~n))* int_and_subst((~x)^((~m) + (~n) - 1)⨸(-1 + (~x)^2⨸(~a)^2)^(((~n) + 1)⨸2), (~x), (~x), (~a)*csc((~e) + (~f)*(~x)), "4_1_0_3_3") : nothing) + +("4_1_0_3_4", +@rule ∫(((~!a)*sec((~!e) + (~!f)*(~x)))^(~m)*csc((~!e) + (~!f)*(~x))^(~!n),(~x)) => + !contains_var((~a), (~e), (~f), (~m), (~x)) && + ext_isinteger(((~n) + 1)/2) && + !( + ext_isinteger(((~m) + 1)/2) && + lt(0, (~m), (~n)) + ) ? +1⨸((~f)*(~a)^(~n))* int_and_subst((~x)^((~m) + (~n) - 1)⨸(-1 + (~x)^2⨸(~a)^2)^(((~n) + 1)⨸2), (~x), (~x), (~a)*sec((~e) + (~f)*(~x)), "4_1_0_3_4") : nothing) + +("4_1_0_3_5", +@rule ∫(((~!a)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + gt((~m), 1) && + lt((~n), -1) && + ext_isinteger(2*(~m), 2*(~n)) ? +-(~a)*((~a)*csc((~e) + (~f)*(~x)))^((~m) - 1)*((~b)*sec((~e) + (~f)*(~x)))^((~n) + 1)⨸((~f)* (~b)*((~m) - 1)) + (~a)^2*((~n) + 1)⨸((~b)^2*((~m) - 1))* ∫(((~a)*csc((~e) + (~f)*(~x)))^((~m) - 2)*((~b)*sec((~e) + (~f)*(~x)))^((~n) + 2), (~x)) : nothing) + +("4_1_0_3_6", +@rule ∫(((~!a)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + gt((~n), 1) && + lt((~m), -1) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~b)*((~a)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~b)*sec((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*(~a)*((~n) - 1)) + (~b)^2*((~m) + 1)⨸((~a)^2*((~n) - 1))* ∫(((~a)*csc((~e) + (~f)*(~x)))^((~m) + 2)*((~b)*sec((~e) + (~f)*(~x)))^((~n) - 2), (~x)) : nothing) + +("4_1_0_3_7", +@rule ∫(((~!a)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~n), (~x)) && + gt((~m), 1) && + ext_isinteger(2*(~m), 2*(~n)) && + !(gt((~n), (~m))) ? +-(~a)*(~b)*((~a)*csc((~e) + (~f)*(~x)))^((~m) - 1)*((~b)*sec((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*((~m) - 1)) + (~a)^2*((~m) + (~n) - 2)⨸((~m) - 1)* ∫(((~a)*csc((~e) + (~f)*(~x)))^((~m) - 2)*((~b)*sec((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_0_3_8", +@rule ∫(((~!a)*csc((~!e) + (~!f)*(~x)))^(~!m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + gt((~n), 1) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~a)*(~b)*((~a)*csc((~e) + (~f)*(~x)))^((~m) - 1)*((~b)*sec((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*((~n) - 1)) + (~b)^2*((~m) + (~n) - 2)⨸((~n) - 1)* ∫(((~a)*csc((~e) + (~f)*(~x)))^(~m)*((~b)*sec((~e) + (~f)*(~x)))^((~n) - 2), (~x)) : nothing) + +("4_1_0_3_9", +@rule ∫(((~!a)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~n), (~x)) && + lt((~m), -1) && + !eq((~m) + (~n), 0) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~b)*((~a)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~b)*sec((~e) + (~f)*(~x)))^((~n) - 1)⨸((~a)*(~f)*((~m) + (~n))) + ((~m) + 1)⨸((~a)^2*((~m) + (~n)))* ∫(((~a)*csc((~e) + (~f)*(~x)))^((~m) + 2)*((~b)*sec((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_0_3_10", +@rule ∫(((~!a)*csc((~!e) + (~!f)*(~x)))^(~!m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + lt((~n), -1) && + !eq((~m) + (~n), 0) && + ext_isinteger(2*(~m), 2*(~n)) ? +-(~a)*((~a)*csc((~e) + (~f)*(~x)))^((~m) - 1)*((~b)*sec((~e) + (~f)*(~x)))^((~n) + 1)⨸((~b)* (~f)*((~m) + (~n))) + ((~n) + 1)⨸((~b)^2*((~m) + (~n)))* ∫(((~a)*csc((~e) + (~f)*(~x)))^(~m)*((~b)*sec((~e) + (~f)*(~x)))^((~n) + 2), (~x)) : nothing) + +("4_1_0_3_11", +@rule ∫(((~!a)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + !(ext_isinteger((~n))) && + eq((~m) + (~n), 0) ? +((~a)*csc((~e) + (~f)*(~x)))^(~m)*((~b)*sec((~e) + (~f)*(~x)))^(~n)⨸tan((~e) + (~f)*(~x))^(~n)* ∫(tan((~e) + (~f)*(~x))^(~n), (~x)) : nothing) + +("4_1_0_3_12", +@rule ∫(((~!a)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + ext_isinteger((~m) - 1/2) && + ext_isinteger((~n) - 1/2) ? +((~a)*csc((~e) + (~f)*(~x)))^(~m)*((~b)*sec((~e) + (~f)*(~x)))^(~n)*((~a)*sin((~e) + (~f)*(~x)))^ (~m)*((~b)*cos((~e) + (~f)*(~x)))^(~n)* ∫(((~a)*sin((~e) + (~f)*(~x)))^(-(~m))*((~b)*cos((~e) + (~f)*(~x)))^(-(~n)), (~x)) : nothing) + +("4_1_0_3_13", +@rule ∫(((~!a)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) && + !(simpler(-(~m), -(~n))) ? +(~a)^2⨸(~b)^2*((~a)*csc((~e) + (~f)*(~x)))^((~m) - 1)*((~b)*sec((~e) + (~f)*(~x)))^((~n) + 1)*((~a)* sin((~e) + (~f)*(~x)))^((~m) - 1)*((~b)*cos((~e) + (~f)*(~x)))^((~n) + 1)* ∫(((~a)*sin((~e) + (~f)*(~x)))^(-(~m))*((~b)*cos((~e) + (~f)*(~x)))^(-(~n)), (~x)) : nothing) + +("4_1_0_3_14", +@rule ∫(((~!a)*sec((~!e) + (~!f)*(~x)))^(~m)*((~!b)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~n), (~x)) ? +(~a)^2⨸(~b)^2*((~a)*sec((~e) + (~f)*(~x)))^((~m) - 1)*((~b)*csc((~e) + (~f)*(~x)))^((~n) + 1)*((~a)* cos((~e) + (~f)*(~x)))^((~m) - 1)*((~b)*sin((~e) + (~f)*(~x)))^((~n) + 1)* ∫(((~a)*cos((~e) + (~f)*(~x)))^(-(~m))*((~b)*sin((~e) + (~f)*(~x)))^(-(~n)), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.1/4.1.1.1 (a+b sin)^n.jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.1/4.1.1.1 (a+b sin)^n.jl new file mode 100644 index 0000000..099d35a --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.1/4.1.1.1 (a+b sin)^n.jl @@ -0,0 +1,230 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.1.1 (a+b sin)^n *) +("4_1_1_1_1", +@rule ∫(sin((~!c) + (~!d)*(~x))^(~n),(~x)) => + !contains_var((~c), (~d), (~x)) && + igt(((~n) - 1)/2, 0) ? +-1⨸(~d)*int_and_subst(ext_expand((1 - (~x)^2)^(((~n) - 1)⨸2), (~x)), (~x), (~x), cos((~c) + (~d)*(~x)), "4_1_1_1_1") : nothing) + +("4_1_1_1_2", +@rule ∫(sin((~!c) + (~!d)*(~x)/2)^2,(~x)) => + !contains_var((~c), (~d), (~x)) ? +(~x)⨸2 - sin(2*(~c) + (~d)*(~x))⨸(2*(~d)) : nothing) + +#(* original line: Int[(b_.*sin[c_. + d_.*x_])^n_, x_Symbol] := (* -Cot[c+d*x]*(c*Sin[c+d*x])^n/(d*n) + b^2*(n-1)/n*Int[(b*Sin[c+d*x])^(n-2),x] *) -b*Cos[c + d*x]*(b*Sin[c + d*x])^(n - 1)/(d*n) + b^2*(n - 1)/n*Int[(b*Sin[c + d*x])^(n - 2), x] /; FreeQ[{b, c, d}, x] && GtQ[n, 1] && IntegerQ[2*n] *) +("4_1_1_1_3", +@rule ∫(((~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~b), (~c), (~d), (~x)) && + gt((~n), 1) && + ext_isinteger(2*(~n)) ? +-(~b)*cos((~c) + (~d)*(~x))*((~b)*sin((~c) + (~d)*(~x)))^((~n) - 1)⨸((~d)*(~n)) + (~b)^2*((~n) - 1)⨸(~n)*∫(((~b)*sin((~c) + (~d)*(~x)))^((~n) - 2), (~x)) : nothing) + +("4_1_1_1_4", +@rule ∫(((~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~b), (~c), (~d), (~x)) && + lt((~n), -1) && + ext_isinteger(2*(~n)) ? +cos((~c) + (~d)*(~x))*((~b)*sin((~c) + (~d)*(~x)))^((~n) + 1)⨸((~b)*(~d)*((~n) + 1)) + ((~n) + 2)⨸((~b)^2*((~n) + 1))*∫(((~b)*sin((~c) + (~d)*(~x)))^((~n) + 2), (~x)) : nothing) + +("4_1_1_1_5", +@rule ∫(sin((~!c) + Pi/2 + (~!d)*(~x)),(~x)) => + !contains_var((~c), (~d), (~x)) ? +sin((~c) + (~d)*(~x))⨸(~d) : nothing) + +("4_1_1_1_6", +@rule ∫(sin((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~c), (~d), (~x)) ? +-cos((~c) + (~d)*(~x))⨸(~d) : nothing) + +# added by Mattia Micheletta Merlin +("4_1_1_1_6_1", +@rule ∫(cos((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~c), (~d), (~x)) ? +sin((~c) + (~d)*(~x))⨸(~d) : nothing) + +#(* Int[1/sin[c_.+d_.*x_],x_Symbol] := Int[Csc[c+d*x],x] /; FreeQ[{c,d},x] *) +("4_1_1_1_7", +@rule ∫(sqrt(sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~c), (~d), (~x)) ? +2⨸(~d)*elliptic_e(1⨸2*((~c) - π⨸2 + (~d)*(~x)), 2) : nothing) + +("4_1_1_1_8", +@rule ∫(1/sqrt(sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~c), (~d), (~x)) ? +2⨸(~d)*elliptic_f(1⨸2*((~c) - π⨸2 + (~d)*(~x)), 2) : nothing) + +("4_1_1_1_9", +@rule ∫(((~b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~b), (~c), (~d), (~x)) && + lt(-1, (~n), 1) && + ext_isinteger(2*(~n)) ? +((~b)*sin((~c) + (~d)*(~x)))^(~n)⨸sin((~c) + (~d)*(~x))^(~n)*∫(sin((~c) + (~d)*(~x))^(~n), (~x)) : nothing) + +#(* Int[(b_.*sin[c_.+d_.*x_])^n_,x_Symbol] := Cos[c+d*x]/(b*d*Sqrt[Cos[c+d*x]^2])*Subst[Int[x^n/Sqrt[1-x^2/b^2],x] ,x,b*Sin[c+d*x]] /; FreeQ[{b,c,d,n},x] && Not[IntegerQ[2*n] || IntegerQ[3*n]] *) +("4_1_1_1_10", +@rule ∫(((~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~b), (~c), (~d), (~n), (~x)) && + !(ext_isinteger(2*(~n))) ? +cos((~c) + (~d)*(~x))*((~b)*sin((~c) + (~d)*(~x)))^((~n) + 1)⨸((~b)*(~d)*((~n) + 1)*sqrt(cos((~c) + (~d)*(~x))^2))* hypergeometric2f1(1⨸2, ((~n) + 1)⨸2, ((~n) + 3)⨸2, sin((~c) + (~d)*(~x))^2) : nothing) + +("4_1_1_1_11", +@rule ∫(((~a) + (~!b)*sin((~!c) + (~!d)*(~x)))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) ? +(2*(~a)^2 + (~b)^2)*(~x)⨸2 - 2*(~a)*(~b)*cos((~c) + (~d)*(~x))⨸(~d) - (~b)^2*cos((~c) + (~d)*(~x))*sin((~c) + (~d)*(~x))⨸(2*(~d)) : nothing) + +("4_1_1_1_12", +@rule ∫(((~a) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + igt((~n), 0) ? +∫(ext_expand(((~a) + (~b)*sin((~c) + (~d)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("4_1_1_1_13", +@rule ∫(sqrt((~a) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~a)^2 - (~b)^2, 0) ? +-2*(~b)*cos((~c) + (~d)*(~x))⨸((~d)*sqrt((~a) + (~b)*sin((~c) + (~d)*(~x)))) : nothing) + +("4_1_1_1_14", +@rule ∫(((~a) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + igt((~n) - 1/2, 0) ? +-(~b)*cos((~c) + (~d)*(~x))*((~a) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 1)⨸((~d)*(~n)) + (~a)*(2*(~n) - 1)⨸(~n)*∫(((~a) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 1), (~x)) : nothing) + +("4_1_1_1_15", +@rule ∫(1/((~a) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~a)^2 - (~b)^2, 0) ? +-cos((~c) + (~d)*(~x))⨸((~d)*((~b) + (~a)*sin((~c) + (~d)*(~x)))) : nothing) + +("4_1_1_1_16", +@rule ∫(1/sqrt((~a) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~a)^2 - (~b)^2, 0) ? +-2⨸(~d)*int_and_subst(1⨸(2*(~a) - (~x)^2), (~x), (~x), (~b)*cos((~c) + (~d)*(~x))⨸sqrt((~a) + (~b)*sin((~c) + (~d)*(~x))), "4_1_1_1_16") : nothing) + +("4_1_1_1_17", +@rule ∫(((~a) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + lt((~n), -1) && + ext_isinteger(2*(~n)) ? +(~b)*cos((~c) + (~d)*(~x))*((~a) + (~b)*sin((~c) + (~d)*(~x)))^(~n)⨸((~a)*(~d)*(2*(~n) + 1)) + ((~n) + 1)⨸((~a)*(2*(~n) + 1))*∫(((~a) + (~b)*sin((~c) + (~d)*(~x)))^((~n) + 1), (~x)) : nothing) + +#(* Int[(a_+b_.*sin[c_.+d_.*x_])^n_,x_Symbol] := a^2*Cos[c+d*x]/(d*Sqrt[a+b*Sin[c+d*x]]*Sqrt[a-b*Sin[c+d*x]])*Subst[Int[(a+b*x)^(n-1/2)/Sqrt[a-b*x],x],x,Sin[c+d*x]] /; FreeQ[{a,b,c,d,n},x] && EqQ[a^2-b^2,0] && Not[IntegerQ[2*n]] *) +("4_1_1_1_18", +@rule ∫(((~a) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger(2*(~n))) && + gt((~a), 0) ? +-2^((~n) + 1⨸2)*(~a)^((~n) - 1⨸2)*(~b)* cos((~c) + (~d)*(~x))⨸((~d)*sqrt((~a) + (~b)*sin((~c) + (~d)*(~x))))* hypergeometric2f1(1⨸2, 1⨸2 - (~n), 3⨸2, 1⨸2*(1 - (~b)*sin((~c) + (~d)*(~x))⨸(~a))) : nothing) + +("4_1_1_1_19", +@rule ∫(((~a) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger(2*(~n))) && + !(gt((~a), 0)) ? +(~a)^intpart((~n))*((~a) + (~b)*sin((~c) + (~d)*(~x)))^ fracpart((~n))⨸(1 + (~b)⨸(~a)*sin((~c) + (~d)*(~x)))^fracpart((~n))* ∫((1 + (~b)⨸(~a)*sin((~c) + (~d)*(~x)))^(~n), (~x)) : nothing) + +("4_1_1_1_20", +@rule ∫(sqrt((~a) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~a) + (~b), 0) ? +2*sqrt((~a) + (~b))⨸(~d)*elliptic_e(1⨸2*((~c) - π⨸2 + (~d)*(~x)), 2*(~b)⨸((~a) + (~b))) : nothing) + +("4_1_1_1_21", +@rule ∫(sqrt((~a) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~a) - (~b), 0) ? +2*sqrt((~a) - (~b))⨸(~d)*elliptic_e(1⨸2*((~c) + π⨸2 + (~d)*(~x)), -2*(~b)⨸((~a) - (~b))) : nothing) + +("4_1_1_1_22", +@rule ∫(sqrt((~a) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + !(gt((~a) + (~b), 0)) ? +sqrt((~a) + (~b)*sin((~c) + (~d)*(~x)))⨸sqrt(((~a) + (~b)*sin((~c) + (~d)*(~x)))⨸((~a) + (~b)))* ∫(sqrt((~a)⨸((~a) + (~b)) + (~b)⨸((~a) + (~b))*sin((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_1_1_1_23", +@rule ∫(((~a) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~n), 1) && + ext_isinteger(2*(~n)) ? +-(~b)*cos((~c) + (~d)*(~x))*((~a) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 1)⨸((~d)*(~n)) + 1⨸(~n)* ∫(((~a) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 2)* simplify((~a)^2*(~n) + (~b)^2*((~n) - 1) + (~a)*(~b)*(2*(~n) - 1)*sin((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_1_1_1_24", +@rule ∫(1/((~a) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + gt((~a)^2 - (~b)^2, 0) && + pos((~a)) ? +(~x)⨸rt((~a)^2 - (~b)^2, 2) + 2⨸((~d)*rt((~a)^2 - (~b)^2, 2))*atan((~b)*cos((~c) + (~d)*(~x))⨸((~a) + rt((~a)^2 - (~b)^2, 2) + (~b)*sin((~c) + (~d)*(~x)))) : nothing) + +("4_1_1_1_25", +@rule ∫(1/((~a) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + gt((~a)^2 - (~b)^2, 0) && + neg((~a)) ? +-(~x)⨸rt((~a)^2 - (~b)^2, 2) - 2⨸((~d)*rt((~a)^2 - (~b)^2, 2))*atan((~b)*cos((~c) + (~d)*(~x))⨸((~a) - rt((~a)^2 - (~b)^2, 2) + (~b)*sin((~c) + (~d)*(~x)))) : nothing) + +("4_1_1_1_26", +@rule ∫(1/((~a) + (~!b)*sin((~!c) + Pi/2 + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +2*free_factors(tan(((~c) + (~d)*(~x))⨸2), (~x))⨸(~d)* int_and_subst(1⨸((~a) + (~b) + ((~a) - (~b))*free_factors(tan(((~c) + (~d)*(~x))⨸2), (~x))^2*(~x)^2), (~x), (~x), tan(((~c) + (~d)*(~x))⨸2)⨸free_factors(tan(((~c) + (~d)*(~x))⨸2), (~x)), "4_1_1_1_26") : nothing) + +("4_1_1_1_27", +@rule ∫(1/((~a) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +2*free_factors(tan(((~c) + (~d)*(~x))⨸2), (~x))⨸(~d)* int_and_subst(1⨸((~a) + 2*(~b)*free_factors(tan(((~c) + (~d)*(~x))⨸2), (~x))*(~x) + (~a)*free_factors(tan(((~c) + (~d)*(~x))⨸2), (~x))^2*(~x)^2), (~x), (~x), tan(((~c) + (~d)*(~x))⨸2)⨸free_factors(tan(((~c) + (~d)*(~x))⨸2), (~x)), "4_1_1_1_27") : nothing) + +("4_1_1_1_28", +@rule ∫(1/sqrt((~a) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~a) + (~b), 0) ? +2⨸((~d)*sqrt((~a) + (~b)))*elliptic_f(1⨸2*((~c) - π⨸2 + (~d)*(~x)), 2*(~b)⨸((~a) + (~b))) : nothing) + +("4_1_1_1_29", +@rule ∫(1/sqrt((~a) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~a) - (~b), 0) ? +2⨸((~d)*sqrt((~a) - (~b)))*elliptic_f(1⨸2*((~c) + π⨸2 + (~d)*(~x)), -2*(~b)⨸((~a) - (~b))) : nothing) + +("4_1_1_1_30", +@rule ∫(1/sqrt((~a) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + !(gt((~a) + (~b), 0)) ? +sqrt(((~a) + (~b)*sin((~c) + (~d)*(~x)))⨸((~a) + (~b)))⨸sqrt((~a) + (~b)*sin((~c) + (~d)*(~x)))* ∫(1⨸sqrt((~a)⨸((~a) + (~b)) + (~b)⨸((~a) + (~b))*sin((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_1_1_1_31", +@rule ∫(((~a) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~n), -1) && + ext_isinteger(2*(~n)) ? +-(~b)*cos( (~c) + (~d)*(~x))*((~a) + (~b)*sin((~c) + (~d)*(~x)))^((~n) + 1)⨸((~d)*((~n) + 1)*((~a)^2 - (~b)^2)) + 1⨸(((~n) + 1)*((~a)^2 - (~b)^2))* ∫(((~a) + (~b)*sin((~c) + (~d)*(~x)))^((~n) + 1)* simplify((~a)*((~n) + 1) - (~b)*((~n) + 2)*sin((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_1_1_1_32", +@rule ∫(((~a) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger(2*(~n))) ? +cos((~c) + (~d)*(~x))⨸((~d)*sqrt(1 + sin((~c) + (~d)*(~x)))*sqrt(1 - sin((~c) + (~d)*(~x))))* int_and_subst(((~a) + (~b)*(~x))^(~n)⨸(sqrt(1 + (~x))*sqrt(1 - (~x))), (~x), (~x), sin((~c) + (~d)*(~x)), "4_1_1_1_32") : nothing) + +("4_1_1_1_33", +@rule ∫(((~a) + (~!b)*sin((~!c) + (~!d)*(~x))*cos((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) ? +∫(((~a) + (~b)*sin(2*(~c) + 2*(~d)*(~x))⨸2)^(~n), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.1/4.1.1.2 (g cos)^p (a+b sin)^m.jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.1/4.1.1.2 (g cos)^p (a+b sin)^m.jl new file mode 100644 index 0000000..928fc1b --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.1/4.1.1.2 (g cos)^p (a+b sin)^m.jl @@ -0,0 +1,331 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.1.2 (g cos)^p (a+b sin)^m *) +("4_1_1_2_1", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~!p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + ext_isinteger(((~p) - 1)/2) && + eq((~a)^2 - (~b)^2, 0) && + ( + ge((~p), -1) || + !(ext_isinteger((~m) + 1/2)) + ) ? +1⨸((~b)^(~p)*(~f))* int_and_subst(((~a) + (~x))^((~m) + ((~p) - 1)⨸2)*((~a) - (~x))^(((~p) - 1)⨸2), (~x), (~x), (~b)*sin((~e) + (~f)*(~x)), "4_1_1_2_1") : nothing) + +("4_1_1_2_2", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~!p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + ext_isinteger(((~p) - 1)/2) && + !eq((~a)^2 - (~b)^2, 0) ? +1⨸((~b)^(~p)*(~f))* int_and_subst(((~a) + (~x))^(~m)*((~b)^2 - (~x)^2)^(((~p) - 1)⨸2), (~x), (~x), (~b)*sin((~e) + (~f)*(~x)), "4_1_1_2_2") : nothing) + +("4_1_1_2_3", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~p), (~x)) && + ( + ext_isinteger(2*(~p)) || + !eq((~a)^2 - (~b)^2, 0) + ) ? +-(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)⨸((~f)*(~g)*((~p) + 1)) + (~a)*∫(((~g)*cos((~e) + (~f)*(~x)))^(~p), (~x)) : nothing) + +("4_1_1_2_4", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m)) && + lt((~p), -1) && + ge(2*(~m) + (~p), 0) ? +((~a)⨸(~g))^(2*(~m))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(2*(~m) + (~p))⨸((~a) - (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) : nothing) + +("4_1_1_2_5", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + eq(simplify((~m) + (~p) + 1), 0) && + !(ilt((~p), 0)) ? +(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸((~a)*(~f)*(~g)*(~m)) : nothing) + +("4_1_1_2_6", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ilt(simplify((~m) + (~p) + 1), 0) && + !eq(2*(~m) + (~p) + 1, 0) && + !(igt((~m), 0)) ? +(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)⨸((~a)*(~f)*(~g)*simplify(2*(~m) + (~p) + 1)) + simplify((~m) + (~p) + 1)⨸((~a)*simplify(2*(~m) + (~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1), (~x)) : nothing) + +("4_1_1_2_7", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + eq(2*(~m) + (~p) - 1, 0) && + !eq((~m), 1) ? +(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)⨸((~f)* (~g)*((~m) - 1)) : nothing) + +("4_1_1_2_8", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + igt(simplify((2*(~m) + (~p) - 1)/2), 0) && + !eq((~m) + (~p), 0) ? +-(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)⨸((~f)* (~g)*((~m) + (~p))) + (~a)*(2*(~m) + (~p) - 1)⨸((~m) + (~p))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1), (~x)) : nothing) + +("4_1_1_2_9", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + gt((~m), 0) && + le((~p), -2*(~m)) && + ext_isinteger((~m) + 1/2, 2*(~p)) ? +-(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)⨸((~a)*(~f)*(~g)*((~p) + 1)) + (~a)*((~m) + (~p) + 1)⨸((~g)^2*((~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1), (~x)) : nothing) + +("4_1_1_2_10", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + gt((~m), 1) && + lt((~p), -1) && + ext_isinteger(2*(~m), 2*(~p)) ? +-2*(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)⨸((~f)* (~g)*((~p) + 1)) + (~b)^2*(2*(~m) + (~p) - 1)⨸((~g)^2*((~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 2), (~x)) : nothing) + +("4_1_1_2_11", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/sqrt((~!g)*cos((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + eq((~a)^2 - (~b)^2, 0) ? +(~a)*sqrt(1 + cos((~e) + (~f)*(~x)))* sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸((~a) + (~a)*cos((~e) + (~f)*(~x)) + (~b)*sin((~e) + (~f)*(~x)))* ∫(sqrt(1 + cos((~e) + (~f)*(~x)))⨸sqrt((~g)*cos((~e) + (~f)*(~x))), (~x)) + (~b)*sqrt(1 + cos((~e) + (~f)*(~x)))* sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸((~a) + (~a)*cos((~e) + (~f)*(~x)) + (~b)*sin((~e) + (~f)*(~x)))* ∫(sin((~e) + (~f)*(~x))⨸(sqrt((~g)*cos((~e) + (~f)*(~x)))*sqrt(1 + cos((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_1_2_12", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + gt((~m), 0) && + !eq((~m) + (~p), 0) && + ext_isinteger(2*(~m), 2*(~p)) ? +-(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)⨸((~f)* (~g)*((~m) + (~p))) + (~a)*(2*(~m) + (~p) - 1)⨸((~m) + (~p))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1), (~x)) : nothing) + +("4_1_1_2_13", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + gt((~p), 1) && + ( + gt((~m), -2) || + eq(2*(~m) + (~p) + 1, 0) || + eq((~m), -2) && + ext_isinteger((~p)) + ) && + !eq((~m) + (~p), 0) && + ext_isinteger(2*(~m), 2*(~p)) ? +(~g)*((~g)*cos((~e) + (~f)*(~x)))^((~p) - 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)* (~f)*((~m) + (~p))) + (~g)^2*((~p) - 1)⨸((~a)*((~m) + (~p)))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1), (~x)) : nothing) + +("4_1_1_2_14", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + le((~m), -2) && + gt((~p), 1) && + !eq(2*(~m) + (~p) + 1, 0) && + !(ilt((~m) + (~p) + 1, 0)) && + ext_isinteger(2*(~m), 2*(~p)) ? +2*(~g)*((~g)*cos((~e) + (~f)*(~x)))^((~p) - 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)* (~f)*(2*(~m) + (~p) + 1)) + (~g)^2*((~p) - 1)⨸((~b)^2*(2*(~m) + (~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 2), (~x)) : nothing) + +("4_1_1_2_15", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + !eq(2*(~m) + (~p) + 1, 0) && + ext_isinteger(2*(~m), 2*(~p)) ? +(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)⨸((~a)*(~f)*(~g)*(2*(~m) + (~p) + 1)) + ((~m) + (~p) + 1)⨸((~a)*(2*(~m) + (~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1), (~x)) : nothing) + +("4_1_1_2_16", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + gt((~p), 1) && + ext_isinteger(2*(~p)) ? +(~g)*((~g)*cos((~e) + (~f)*(~x)))^((~p) - 1)⨸((~b)*(~f)*((~p) - 1)) + (~g)^2⨸(~a)*∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2), (~x)) : nothing) + +("4_1_1_2_17", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ge((~p), 1)) && + ext_isinteger(2*(~p)) ? +(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)⨸((~a)*(~f)*(~g)*((~p) - 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))) + (~p)⨸((~a)*((~p) - 1))*∫(((~g)*cos((~e) + (~f)*(~x)))^(~p), (~x)) : nothing) + +("4_1_1_2_18", +@rule ∫(sqrt((~!g)*cos((~!e) + (~!f)*(~x)))/sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + eq((~a)^2 - (~b)^2, 0) ? +(~g)*sqrt(1 + cos((~e) + (~f)*(~x)))* sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸((~a) + (~a)*cos((~e) + (~f)*(~x)) + (~b)*sin((~e) + (~f)*(~x)))* ∫(sqrt(1 + cos((~e) + (~f)*(~x)))⨸sqrt((~g)*cos((~e) + (~f)*(~x))), (~x)) - (~g)*sqrt(1 + cos((~e) + (~f)*(~x)))* sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸((~b) + (~b)*cos((~e) + (~f)*(~x)) + (~a)*sin((~e) + (~f)*(~x)))* ∫(sin((~e) + (~f)*(~x))⨸(sqrt((~g)*cos((~e) + (~f)*(~x)))*sqrt(1 + cos((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_1_2_19", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(3//2)/sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + eq((~a)^2 - (~b)^2, 0) ? +(~g)*sqrt((~g)*cos((~e) + (~f)*(~x)))*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸((~b)*(~f)) + (~g)^2⨸(2*(~a))*∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸sqrt((~g)*cos((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_1_2_20", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)/sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + gt((~p), 2) && + ext_isinteger(2*(~p)) ? +-2*(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)⨸((~f)* (~g)*(2*(~p) - 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(3⨸2)) + 2*(~a)*((~p) - 2)⨸(2*(~p) - 1)* ∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)⨸((~a) + (~b)*sin((~e) + (~f)*(~x)))^(3⨸2), (~x)) : nothing) + +("4_1_1_2_21", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)/sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + lt((~p), -1) && + ext_isinteger(2*(~p)) ? +-(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)⨸((~a)*(~f)*(~g)*((~p) + 1)* sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))) + (~a)*(2*(~p) + 1)⨸(2*(~g)^2*((~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)⨸((~a) + (~b)*sin((~e) + (~f)*(~x)))^(3⨸2), (~x)) : nothing) + +("4_1_1_2_22", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m)) ? +(~a)^(~m)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)⨸((~f)* (~g)*(1 + sin((~e) + (~f)*(~x)))^(((~p) + 1)⨸2)*(1 - sin((~e) + (~f)*(~x)))^(((~p) + 1)⨸2))* int_and_subst((1 + (~b)⨸(~a)*(~x))^((~m) + ((~p) - 1)⨸2)*(1 - (~b)⨸(~a)*(~x))^(((~p) - 1)⨸2), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_1_2_22") : nothing) + +("4_1_1_2_23", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger((~m))) ? +(~a)^2*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)⨸((~f)* (~g)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(((~p) + 1)⨸2)*((~a) - (~b)*sin((~e) + (~f)*(~x)))^(((~p) + 1)⨸2))* int_and_subst(((~a) + (~b)*(~x))^((~m) + ((~p) - 1)⨸2)*((~a) - (~b)*(~x))^(((~p) - 1)⨸2), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_1_2_23") : nothing) + +("4_1_1_2_24", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt(0, (~m), 1) && + lt((~p), -1) && + ( + ext_isinteger(2*(~m), 2*(~p)) || + ext_isinteger((~m)) + ) ? +-((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)* sin((~e) + (~f)*(~x))⨸((~f)*(~g)*((~p) + 1)) + 1⨸((~g)^2*((~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~a)*((~p) + 2) + (~b)*((~m) + (~p) + 2)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_1_2_25", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~m), 1) && + lt((~p), -1) && + ( + ext_isinteger(2*(~m), 2*(~p)) || + ext_isinteger((~m)) + ) ? +-((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~b) + (~a)*sin((~e) + (~f)*(~x)))⨸((~f)*(~g)*((~p) + 1)) + 1⨸((~g)^2*((~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 2)*((~b)^2*((~m) - 1) + (~a)^2*((~p) + 2) + (~a)*(~b)*((~m) + (~p) + 1)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_1_2_26", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~p), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~m), 1) && + !eq((~m) + (~p), 0) && + ( + ext_isinteger(2*(~m), 2*(~p)) || + ext_isinteger((~m)) + ) ? +-(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)⨸((~f)* (~g)*((~m) + (~p))) + 1⨸((~m) + (~p))* ∫(((~g)*cos((~e) + (~f)*(~x)))^ (~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 2)*((~b)^2*((~m) - 1) + (~a)^2*((~m) + (~p)) + (~a)*(~b)*(2*(~m) + (~p) - 1)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_1_2_27", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + gt((~p), 1) && + ext_isinteger(2*(~m), 2*(~p)) ? +(~g)*((~g)*cos((~e) + (~f)*(~x)))^((~p) - 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)* (~f)*((~m) + 1)) + (~g)^2*((~p) - 1)⨸((~b)*((~m) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)* sin((~e) + (~f)*(~x)), (~x)) : nothing) + +("4_1_1_2_28", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~p), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + ext_isinteger(2*(~m), 2*(~p)) ? +-(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~f)* (~g)*((~a)^2 - (~b)^2)*((~m) + 1)) + 1⨸(((~a)^2 - (~b)^2)*((~m) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^ (~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~a)*((~m) + 1) - (~b)*((~m) + (~p) + 2)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_1_2_29", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~p), 1) && + !eq((~m) + (~p), 0) && + ext_isinteger(2*(~m), 2*(~p)) ? +(~g)*((~g)*cos((~e) + (~f)*(~x)))^((~p) - 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)* (~f)*((~m) + (~p))) + (~g)^2*((~p) - 1)⨸((~b)*((~m) + (~p)))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~b) + (~a)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_1_2_30", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~p), -1) && + ext_isinteger(2*(~m), 2*(~p)) ? +((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~b) - (~a)*sin((~e) + (~f)*(~x)))⨸((~f)*(~g)*((~a)^2 - (~b)^2)*((~p) + 1)) + 1⨸((~g)^2*((~a)^2 - (~b)^2)*((~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~a)^2*((~p) + 2) - (~b)^2*((~m) + (~p) + 2) + (~a)*(~b)*((~m) + (~p) + 3)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_1_2_31", +@rule ∫(1/(sqrt((~!g)*cos((~!e) + (~!f)*(~x)))*sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +2*sqrt(2)*sqrt((~g)*cos((~e) + (~f)*(~x)))* sqrt(((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸(((~a) - (~b))*(1 - sin((~e) + (~f)*(~x)))))⨸ ((~f)*(~g)*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))* sqrt((1 + cos((~e) + (~f)*(~x)) + sin((~e) + (~f)*(~x)))⨸(1 + cos((~e) + (~f)*(~x)) - sin((~e) + (~f)*(~x)))))* int_and_subst(1⨸sqrt(1 + ((~a) + (~b))*(~x)^4⨸((~a) - (~b))), (~x), (~x), sqrt((1 + cos((~e) + (~f)*(~x)) + sin((~e) + (~f)*(~x)))⨸(1 + cos((~e) + (~f)*(~x)) - sin((~e) + (~f)*(~x)))), "4_1_1_2_31") : nothing) + +("4_1_1_2_32", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + eq((~m) + (~p) + 1, 0) ? +(~g)*((~g)*cos((~e) + (~f)*(~x)))^((~p) - 1)*(1 - sin((~e) + (~f)*(~x)))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*(-((~a) - (~b))*(1 - sin((~e) + (~f)*(~x)))⨸(((~a) + (~b))*(1 + sin((~e) + (~f)*(~x)))))^((~m)⨸2)⨸ ((~f)*((~a) + (~b))*((~m) + 1))* hypergeometric2f1((~m) + 1, (~m)⨸2 + 1, (~m) + 2, 2*((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸(((~a) + (~b))*(1 + sin((~e) + (~f)*(~x))))) : nothing) + +("4_1_1_2_33", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + eq((~m) + (~p) + 2, 0) ? +((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~f)* (~g)*((~a) - (~b))*((~p) + 1)) + (~a)⨸((~g)^2*((~a) - (~b)))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)⨸(1 - sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_1_2_34", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ilt((~m) + (~p) + 2, 0) ? +((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~f)* (~g)*((~a) - (~b))*((~p) + 1)) - (~b)*((~m) + (~p) + 2)⨸((~g)^2*((~a) - (~b))*((~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) + (~a)⨸((~g)^2*((~a) - (~b)))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)⨸(1 - sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_1_2_35", +@rule ∫(sqrt((~!g)*cos((~!e) + (~!f)*(~x)))/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +(~a)*(~g)⨸(2*(~b))*∫(1⨸(sqrt((~g)*cos((~e) + (~f)*(~x)))*(rt(-(~a)^2 + (~b)^2, 2) + (~b)*cos((~e) + (~f)*(~x)))), (~x)) - (~a)*(~g)⨸(2*(~b))* ∫(1⨸(sqrt((~g)*cos((~e) + (~f)*(~x)))*(rt(-(~a)^2 + (~b)^2, 2) - (~b)*cos((~e) + (~f)*(~x)))), (~x)) + (~b)*(~g)⨸(~f)* int_and_subst(sqrt((~x))⨸((~g)^2*((~a)^2 - (~b)^2) + (~b)^2*(~x)^2), (~x), (~x), (~g)*cos((~e) + (~f)*(~x)), "4_1_1_2_35") : nothing) + +("4_1_1_2_36", +@rule ∫(1/(sqrt((~!g)*cos((~!e) + (~!f)*(~x)))*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +-(~a)⨸(2*rt(-(~a)^2 + (~b)^2, 2))* ∫(1⨸(sqrt((~g)*cos((~e) + (~f)*(~x)))*(rt(-(~a)^2 + (~b)^2, 2) + (~b)*cos((~e) + (~f)*(~x)))), (~x)) - (~a)⨸(2*rt(-(~a)^2 + (~b)^2, 2))* ∫(1⨸(sqrt((~g)*cos((~e) + (~f)*(~x)))*(rt(-(~a)^2 + (~b)^2, 2) - (~b)*cos((~e) + (~f)*(~x)))), (~x)) + (~b)*(~g)⨸(~f)* int_and_subst(1⨸(sqrt((~x))*((~g)^2*((~a)^2 - (~b)^2) + (~b)^2*(~x)^2)), (~x), (~x), (~g)*cos((~e) + (~f)*(~x)), "4_1_1_2_36") : nothing) + +("4_1_1_2_37", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~p), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ilt((~m), 0) && + !(igt((~m) + (~p) + 1, 0)) ? +(~g)*((~g)*cos((~e) + (~f)*(~x)))^((~p) - 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸ ((~b)* (~f)*((~m) + (~p))*(-(~b)*(1 - sin((~e) + (~f)*(~x)))⨸((~a) + (~b)*sin((~e) + (~f)*(~x))))^(((~p) - 1)⨸ 2)*((~b)*(1 + sin((~e) + (~f)*(~x)))⨸((~a) + (~b)*sin((~e) + (~f)*(~x))))^(((~p) - 1)⨸2))* appell_f1(-(~p) - (~m), (1 - (~p))⨸2, (1 - (~p))⨸2, 1 - (~p) - (~m), ((~a) + (~b))⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), ((~a) - (~b))⨸((~a) + (~b)*sin((~e) + (~f)*(~x)))) : nothing) + +("4_1_1_2_38", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + !(igt((~m), 0)) ? +(~g)*((~g)*cos((~e) + (~f)*(~x)))^((~p) - 1)⨸((~f)*(1 - ((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸((~a) - (~b)))^(((~p) - 1)⨸ 2)*(1 - ((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸((~a) + (~b)))^(((~p) - 1)⨸2))* int_and_subst((-(~b)⨸((~a) - (~b)) - (~b)*(~x)⨸((~a) - (~b)))^(((~p) - 1)⨸2)*((~b)⨸((~a) + (~b)) - (~b)*(~x)⨸((~a) + (~b)))^(((~p) - 1)⨸2)*((~a) + (~b)*(~x))^(~m), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_1_2_38") : nothing) + +("4_1_1_2_39", +@rule ∫(((~!g)*sec((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + !(ext_isinteger((~p))) ? +(~g)^(2*intpart((~p)))*((~g)*cos((~e) + (~f)*(~x)))^fracpart((~p))*((~g)*sec((~e) + (~f)*(~x)))^ fracpart((~p))*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸((~g)*cos((~e) + (~f)*(~x)))^(~p), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.1/4.1.1.3 (g tan)^p (a+b sin)^m.jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.1/4.1.1.3 (g tan)^p (a+b sin)^m.jl new file mode 100644 index 0000000..32a333b --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.1/4.1.1.3 (g tan)^p (a+b sin)^m.jl @@ -0,0 +1,214 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.1.3 (g tan)^p (a+b sin)^m *) +("4_1_1_3_1", +@rule ∫(((~!g)*tan((~!e) + (~!f)*(~x)))^(~!p)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~p), -1) ? +1⨸(~a)*∫(sec((~e) + (~f)*(~x))^2*((~g)*tan((~e) + (~f)*(~x)))^(~p), (~x)) - 1⨸((~b)*(~g))*∫(sec((~e) + (~f)*(~x))*((~g)*tan((~e) + (~f)*(~x)))^((~p) + 1), (~x)) : nothing) + +("4_1_1_3_2", +@rule ∫(tan((~!e) + (~!f)*(~x))^(~!p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(((~p) + 1)/2) ? +1⨸(~f)*int_and_subst((~x)^(~p)*((~a) + (~x))^((~m) - ((~p) + 1)⨸2)⨸((~a) - (~x))^(((~p) + 1)⨸2), (~x), (~x), (~b)*sin((~e) + (~f)*(~x)), "4_1_1_3_2") : nothing) + +("4_1_1_3_3", +@rule ∫(tan((~!e) + (~!f)*(~x))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m), (~p)) && + eq((~p), 2*(~m)) ? +(~a)^(~p)*∫(sin((~e) + (~f)*(~x))^(~p)⨸((~a) - (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) : nothing) + +("4_1_1_3_4", +@rule ∫(tan((~!e) + (~!f)*(~x))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m), (~p)/2) && + ( + lt((~p), 0) || + gt((~m) - (~p)/2, 0) + ) ? +(~a)^(~p)*∫( ext_expand( sin((~e) + (~f)*(~x))^ (~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - (~p)⨸2)⨸((~a) - (~b)*sin((~e) + (~f)*(~x)))^((~p)⨸2), (~x)), (~x)) : nothing) + +("4_1_1_3_5", +@rule ∫(((~!g)*tan((~!e) + (~!f)*(~x)))^(~!p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + igt((~m), 0) ? +∫(ext_expand(((~g)*tan((~e) + (~f)*(~x)))^(~p), ((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)), (~x)) : nothing) + +("4_1_1_3_6", +@rule ∫(((~!g)*tan((~!e) + (~!f)*(~x)))^(~!p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ilt((~m), 0) ? +(~a)^(2*(~m))* ∫(ext_expand(((~g)*tan((~e) + (~f)*(~x)))^(~p)* sec((~e) + (~f)*(~x))^(-(~m)), ((~a)*sec((~e) + (~f)*(~x)) - (~b)*tan((~e) + (~f)*(~x)))^(-(~m)), (~x)), (~x)) : nothing) + +("4_1_1_3_7", +@rule ∫(tan((~!e) + (~!f)*(~x))^2*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger((~m))) && + lt((~m), 0) ? +(~b)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸((~a)*(~f)*(2*(~m) - 1)*cos((~e) + (~f)*(~x))) - 1⨸((~a)^2*(2*(~m) - 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~a)*(~m) - (~b)*(2*(~m) - 1)*sin((~e) + (~f)*(~x)))⨸ cos((~e) + (~f)*(~x))^2, (~x)) : nothing) + +("4_1_1_3_8", +@rule ∫(tan((~!e) + (~!f)*(~x))^2*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger((~m))) && + !(lt((~m), 0)) ? +-((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)*(~m)*cos((~e) + (~f)*(~x))) + 1⨸((~b)*(~m))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~b)*((~m) + 1) + (~a)*sin((~e) + (~f)*(~x)))⨸ cos((~e) + (~f)*(~x))^2, (~x)) : nothing) + +("4_1_1_3_9", +@rule ∫(tan((~!e) + (~!f)*(~x))^4*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m) - 1/2) ? +∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) - ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*(1 - 2*sin((~e) + (~f)*(~x))^2)⨸cos((~e) + (~f)*(~x))^4, (~x)) : nothing) + +("4_1_1_3_10", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)/tan((~!e) + (~!f)*(~x))^2,(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m) - 1/2) && + lt((~m), -1) ? +-((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~a)*(~f)*tan((~e) + (~f)*(~x))) + 1⨸(~b)^2* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~b)*(~m) - (~a)*((~m) + 1)*sin((~e) + (~f)*(~x)))⨸ sin((~e) + (~f)*(~x)), (~x)) : nothing) + +("4_1_1_3_11", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)/tan((~!e) + (~!f)*(~x))^2,(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m) - 1/2) && + !(lt((~m), -1)) ? +-((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸((~f)*tan((~e) + (~f)*(~x))) + 1⨸(~a)* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~b)*(~m) - (~a)*((~m) + 1)*sin((~e) + (~f)*(~x)))⨸ sin((~e) + (~f)*(~x)), (~x)) : nothing) + +("4_1_1_3_12", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)/tan((~!e) + (~!f)*(~x))^4,(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m) - 1/2) && + lt((~m), -1) ? +-2⨸((~a)*(~b))*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 2)⨸sin((~e) + (~f)*(~x))^3, (~x)) + 1⨸(~a)^2* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 2)*(1 + sin((~e) + (~f)*(~x))^2)⨸ sin((~e) + (~f)*(~x))^4, (~x)) : nothing) + +("4_1_1_3_13", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)/tan((~!e) + (~!f)*(~x))^4,(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m) - 1/2) && + !(lt((~m), -1)) ? +∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) + ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*(1 - 2*sin((~e) + (~f)*(~x))^2)⨸sin((~e) + (~f)*(~x))^4, (~x)) : nothing) + +("4_1_1_3_14", +@rule ∫(tan((~!e) + (~!f)*(~x))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger((~m))) && + ext_isinteger((~p)/2) ? +sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))* sqrt((~a) - (~b)*sin((~e) + (~f)*(~x)))⨸((~b)*(~f)*cos((~e) + (~f)*(~x)))* int_and_subst((~x)^(~p)*((~a) + (~x))^((~m) - ((~p) + 1)⨸2)⨸((~a) - (~x))^(((~p) + 1)⨸2), (~x), (~x), (~b)*sin((~e) + (~f)*(~x)), "4_1_1_3_14") : nothing) + +("4_1_1_3_15", +@rule ∫(((~!g)*tan((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~p))) ? +((~g)*tan((~e) + (~f)*(~x)))^((~p) + 1)*((~a) - (~b)*sin((~e) + (~f)*(~x)))^(((~p) + 1)⨸ 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(((~p) + 1)⨸2)⨸((~f)* (~g)*((~b)*sin((~e) + (~f)*(~x)))^((~p) + 1))* int_and_subst((~x)^(~p)*((~a) + (~x))^((~m) - ((~p) + 1)⨸2)⨸((~a) - (~x))^(((~p) + 1)⨸2), (~x), (~x), (~b)*sin((~e) + (~f)*(~x)), "4_1_1_3_15") : nothing) + +("4_1_1_3_16", +@rule ∫(tan((~!e) + (~!f)*(~x))^(~!p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(((~p) + 1)/2) ? +1⨸(~f)*int_and_subst(((~x)^(~p)*((~a) + (~x))^(~m))⨸((~b)^2 - (~x)^2)^(((~p) + 1)⨸2), (~x), (~x), (~b)*sin((~e) + (~f)*(~x)), "4_1_1_3_16") : nothing) + +("4_1_1_3_17", +@rule ∫(((~!g)*tan((~!e) + (~!f)*(~x)))^(~!p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~p), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + igt((~m), 0) ? +∫(ext_expand(((~g)*tan((~e) + (~f)*(~x)))^(~p), ((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)), (~x)) : nothing) + +("4_1_1_3_18", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)/tan((~!e) + (~!f)*(~x))^2,(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*(1 - sin((~e) + (~f)*(~x))^2)⨸sin((~e) + (~f)*(~x))^2, (~x)) : nothing) + +("4_1_1_3_19", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)/tan((~!e) + (~!f)*(~x))^4,(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + ext_isinteger(2*(~m)) ? +-cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸(3*(~a)*(~f)*sin((~e) + (~f)*(~x))^3) - (3*(~a)^2 + (~b)^2*((~m) - 2))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸(3*(~a)^2*(~b)*(~f)*((~m) + 1)* sin((~e) + (~f)*(~x))^2) - 1⨸(3*(~a)^2*(~b)*((~m) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸sin((~e) + (~f)*(~x))^3* simplify(6*(~a)^2 - (~b)^2*((~m) - 1)*((~m) - 2) + (~a)*(~b)*((~m) + 1)*sin((~e) + (~f)*(~x)) - (3*(~a)^2 - (~b)^2*(~m)*((~m) - 2))* sin((~e) + (~f)*(~x))^2), (~x)) : nothing) + +#(* Int[(a_+b_.*sin[e_.+f_.*x_])^m_/tan[e_.+f_.*x_]^4,x_Symbol] := -Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(3*a*f*Sin[e+f*x]^3) - Cos[e+f*x]*(a+b*Sin[e+f*x])^(m+1)/(b*f*m*Sin[e+f*x]^2) - 1/(3*a*b*m)*Int[(a+b*Sin[e+f*x])^m/Sin[e+f*x]^3* Simp[6*a^2-b^2*m*(m-2)+a*b*(m+3)*Sin[e+f*x]-(3*a^2-b^2*m*(m-1))* Sin[e+f*x]^2,x],x] /; FreeQ[{a,b,e,f,m},x] && NeQ[a^2-b^2,0] && Not[LtQ[m,-1]] && IntegerQ[2*m] *) +("4_1_1_3_20", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)/tan((~!e) + (~!f)*(~x))^4,(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + !(lt((~m), -1)) && + ext_isinteger(2*(~m)) ? +-cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸(3*(~a)*(~f)*sin((~e) + (~f)*(~x))^3) - (~b)*((~m) - 2)* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸(6*(~a)^2*(~f)* sin((~e) + (~f)*(~x))^2) - 1⨸(6*(~a)^2)*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸sin((~e) + (~f)*(~x))^2* simplify(8*(~a)^2 - (~b)^2*((~m) - 1)*((~m) - 2) + (~a)*(~b)*(~m)*sin((~e) + (~f)*(~x)) - (6*(~a)^2 - (~b)^2*(~m)*((~m) - 2))*sin((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_1_3_21", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)/tan((~!e) + (~!f)*(~x))^6,(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~m), 1) && + ext_isinteger(2*(~m)) ? +-cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸(5*(~a)*(~f)*sin((~e) + (~f)*(~x))^5) - (~b)*((~m) - 4)* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸(20*(~a)^2*(~f)* sin((~e) + (~f)*(~x))^4) + (~a)*cos( (~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)^2*(~f)*(~m)*((~m) - 1)* sin((~e) + (~f)*(~x))^3) + cos( (~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)*(~m)*sin((~e) + (~f)*(~x))^2) + 1⨸(20*(~a)^2*(~b)^2*(~m)*((~m) - 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸sin((~e) + (~f)*(~x))^4* simplify(60*(~a)^4 - 44*(~a)^2*(~b)^2*((~m) - 1)*(~m) + (~b)^4*(~m)*((~m) - 1)*((~m) - 3)*((~m) - 4) + (~a)*(~b)*(~m)*(20*(~a)^2 - (~b)^2*(~m)*((~m) - 1))*sin((~e) + (~f)*(~x)) - (40*(~a)^4 + (~b)^4*(~m)*((~m) - 1)*((~m) - 2)*((~m) - 4) - 20*(~a)^2*(~b)^2*((~m) - 1)*(2*(~m) + 1))*sin((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_1_3_22", +@rule ∫(((~!g)*tan((~!e) + (~!f)*(~x)))^(~p)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(2*(~p)) && + gt((~p), 1) ? +(~a)⨸((~a)^2 - (~b)^2)*∫(((~g)*tan((~e) + (~f)*(~x)))^(~p)⨸sin((~e) + (~f)*(~x))^2, (~x)) - (~b)*(~g)⨸((~a)^2 - (~b)^2)*∫(((~g)*tan((~e) + (~f)*(~x)))^((~p) - 1)⨸cos((~e) + (~f)*(~x)), (~x)) - (~a)^2*(~g)^2⨸((~a)^2 - (~b)^2)* ∫(((~g)*tan((~e) + (~f)*(~x)))^((~p) - 2)⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_1_3_23", +@rule ∫(((~!g)*tan((~!e) + (~!f)*(~x)))^(~p)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(2*(~p)) && + lt((~p), -1) ? +1⨸(~a)*∫(((~g)*tan((~e) + (~f)*(~x)))^(~p)⨸cos((~e) + (~f)*(~x))^2, (~x)) - (~b)⨸((~a)^2*(~g))*∫(((~g)*tan((~e) + (~f)*(~x)))^((~p) + 1)⨸cos((~e) + (~f)*(~x)), (~x)) - ((~a)^2 - (~b)^2)⨸((~a)^2*(~g)^2)* ∫(((~g)*tan((~e) + (~f)*(~x)))^((~p) + 2)⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_1_3_24", +@rule ∫(sqrt((~!g)*tan((~!e) + (~!f)*(~x)))/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +sqrt(cos((~e) + (~f)*(~x)))*sqrt((~g)*tan((~e) + (~f)*(~x)))⨸sqrt(sin((~e) + (~f)*(~x)))* ∫(sqrt(sin((~e) + (~f)*(~x)))⨸(sqrt(cos((~e) + (~f)*(~x)))*((~a) + (~b)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_1_3_25", +@rule ∫(1/(sqrt((~g)*tan((~!e) + (~!f)*(~x)))*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +sqrt(sin((~e) + (~f)*(~x)))⨸(sqrt(cos((~e) + (~f)*(~x)))*sqrt((~g)*tan((~e) + (~f)*(~x))))* ∫(sqrt(cos((~e) + (~f)*(~x)))⨸(sqrt(sin((~e) + (~f)*(~x)))*((~a) + (~b)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_1_3_26", +@rule ∫(tan((~!e) + (~!f)*(~x))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m), (~p)/2) ? +∫(ext_expand( sin((~e) + (~f)*(~x))^(~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸(1 - sin((~e) + (~f)*(~x))^2)^((~p)⨸2), (~x)), (~x)) : nothing) + +# ("4_1_1_3_27", +# @rule ∫(((~!g)*tan((~!e) + (~!f)*(~x)))^(~!p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m),(~x)) => +# !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) ? +# Unintegrable[((~g)*tan((~e) + (~f)*(~x)))^(~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)] : nothing) + +("4_1_1_3_28", +@rule ∫(((~!g)*cot((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + !(ext_isinteger((~p))) ? +(~g)^(2*intpart((~p)))*((~g)*cot((~e) + (~f)*(~x)))^fracpart((~p))*((~g)*tan((~e) + (~f)*(~x)))^ fracpart((~p))*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸((~g)*tan((~e) + (~f)*(~x)))^(~p), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.10 (c+d x)^m (a+b sin)^n.jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.10 (c+d x)^m (a+b sin)^n.jl new file mode 100644 index 0000000..f989578 --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.10 (c+d x)^m (a+b sin)^n.jl @@ -0,0 +1,252 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.10 (c+d x)^m (a+b sin)^n *) +("4_1_10_1", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*sin((~!e) + (~!f)*(~x)),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~x)) && + gt((~m), 0) ? +-((~c) + (~d)*(~x))^(~m)*cos((~e) + (~f)*(~x))⨸(~f) + (~d)*(~m)⨸(~f)*∫(((~c) + (~d)*(~x))^((~m) - 1)*cos((~e) + (~f)*(~x)), (~x)) : nothing) + +("4_1_10_1_1", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*cos((~!e) + (~!f)*(~x)),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~x)) && + gt((~m), 0) ? +((~c) + (~d)*(~x))^(~m)*sin((~e) + (~f)*(~x))⨸(~f) + (~d)*(~m)⨸(~f)*∫(((~c) + (~d)*(~x))^((~m) - 1)*sin((~e) + (~f)*(~x)), (~x)) : nothing) + +("4_1_10_2", +@rule ∫(((~!c) + (~!d)*(~x))^(~m)*sin((~!e) + (~!f)*(~x)),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~x)) && + lt((~m), -1) ? +((~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)), (~x)) : nothing) + +# ("4_1_10_3", +# @rule ∫(sin((~!e) + (~!f)*Complex[0, (~fz)]*(~x))/((~!c) + (~!d)*(~x)),(~x)) => +# !contains_var((~c), (~d), (~e), (~f), (~fz), (~x)) && +# eq((~d)*(~e) - (~c)*(~f)*(~fz)*(~I), 0) ? +# (~I)*SinhIntegral[(~c)*(~f)*(~fz)⨸(~d) + (~f)*(~fz)*(~x)]⨸(~d) : nothing) + +("4_1_10_4", +@rule ∫(sin((~!e) + (~!f)*(~x))/((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~x)) && + eq((~d)*(~e) - (~c)*(~f), 0) ? +SymbolicUtils.sinint((~e) + (~f)*(~x))⨸(~d) : nothing) + +# ("4_1_10_5", +# @rule ∫(sin((~!e) + (~!f)*Complex[0, (~fz)]*(~x))/((~!c) + (~!d)*(~x)),(~x)) => +# !contains_var((~c), (~d), (~e), (~f), (~fz), (~x)) && +# eq((~d)*((~e) - π/2) - (~c)*(~f)*(~fz)*(~I), 0) && +# neg((~c)*(~f)*(~fz)/(~d), 0) ? +# CoshIntegral[-(~c)*(~f)*(~fz)⨸(~d) - (~f)*(~fz)*(~x)]⨸(~d) : nothing) +# +# ("4_1_10_6", +# @rule ∫(sin((~!e) + (~!f)*Complex[0, (~fz)]*(~x))/((~!c) + (~!d)*(~x)),(~x)) => +# !contains_var((~c), (~d), (~e), (~f), (~fz), (~x)) && +# eq((~d)*((~e) - π/2) - (~c)*(~f)*(~fz)*(~I), 0) ? +# CoshIntegral[(~c)*(~f)*(~fz)⨸(~d) + (~f)*(~fz)*(~x)]⨸(~d) : nothing) + +("4_1_10_7", +@rule ∫(sin((~!e) + (~!f)*(~x))/((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~x)) && + eq((~d)*((~e) - π/2) - (~c)*(~f), 0) ? +SymbolicUtils.cosint((~e) - π⨸2 + (~f)*(~x))⨸(~d) : nothing) + +("4_1_10_8", +@rule ∫(sin((~!e) + (~!f)*(~x))/((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~x)) && + !eq((~d)*(~e) - (~c)*(~f), 0) ? +cos(((~d)*(~e) - (~c)*(~f))⨸(~d))*∫(sin((~c)*(~f)⨸(~d) + (~f)*(~x))⨸((~c) + (~d)*(~x)), (~x)) + sin(((~d)*(~e) - (~c)*(~f))⨸(~d))*∫(cos((~c)*(~f)⨸(~d) + (~f)*(~x))⨸((~c) + (~d)*(~x)), (~x)) : nothing) + +("4_1_10_9", +@rule ∫(sin((~!e) + π/2 + (~!f)*(~x))/sqrt((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~x)) && + complexfree((~f)) && + eq((~d)*(~e) - (~c)*(~f), 0) ? +2⨸(~d)*int_and_subst(cos((~f)*(~x)^2⨸(~d)), (~x), (~x), sqrt((~c) + (~d)*(~x)), "4_1_10_9") : nothing) + +("4_1_10_10", +@rule ∫(sin((~!e) + (~!f)*(~x))/sqrt((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~x)) && + complexfree((~f)) && + eq((~d)*(~e) - (~c)*(~f), 0) ? +2⨸(~d)*int_and_subst(sin((~f)*(~x)^2⨸(~d)), (~x), (~x), sqrt((~c) + (~d)*(~x)), "4_1_10_10") : nothing) + +("4_1_10_11", +@rule ∫(sin((~!e) + (~!f)*(~x))/sqrt((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~x)) && + complexfree((~f)) && + !eq((~d)*(~e) - (~c)*(~f), 0) ? +cos(((~d)*(~e) - (~c)*(~f))⨸(~d))*∫(sin((~c)*(~f)⨸(~d) + (~f)*(~x))⨸sqrt((~c) + (~d)*(~x)), (~x)) + sin(((~d)*(~e) - (~c)*(~f))⨸(~d))*∫(cos((~c)*(~f)⨸(~d) + (~f)*(~x))⨸sqrt((~c) + (~d)*(~x)), (~x)) : nothing) + +("4_1_10_12", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*sin((~!e) + (~!k)*π + (~!f)*(~x)),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~m), (~x)) && + ext_isinteger(2*(~k)) ? +(~I)⨸2*∫(((~c) + (~d)*(~x))^(~m)*ℯ^(-(~I)*(~k)*π)*ℯ^(-(~I)*((~e) + (~f)*(~x))), (~x)) - (~I)⨸2*∫(((~c) + (~d)*(~x))^(~m)*ℯ^((~I)*(~k)*π)*ℯ^((~I)*((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_10_13", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*sin((~!e) + (~!f)*(~x)),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~m), (~x)) ? +(~I)⨸2*∫(((~c) + (~d)*(~x))^(~m)*ℯ^(-(~I)*((~e) + (~f)*(~x))), (~x)) - (~I)⨸2*∫(((~c) + (~d)*(~x))^(~m)*ℯ^((~I)*((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_10_14", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*sin((~!e) + (~!f)*(~x)/2)^2,(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~m), (~x)) ? +1⨸2*∫(((~c) + (~d)*(~x))^(~m), (~x)) - 1⨸2*∫(((~c) + (~d)*(~x))^(~m)*cos(2*(~e) + (~f)*(~x)), (~x)) : nothing) + +("4_1_10_15", +@rule ∫(((~!c) + (~!d)*(~x))*((~!b)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~x)) && + gt((~n), 1) ? +(~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), (~x)) : nothing) + +("4_1_10_16", +@rule ∫(((~!c) + (~!d)*(~x))^(~m)*((~!b)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~x)) && + gt((~n), 1) && + gt((~m), 1) ? +(~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), (~x)) - (~d)^2*(~m)*((~m) - 1)⨸((~f)^2*(~n)^2)* ∫(((~c) + (~d)*(~x))^((~m) - 2)*((~b)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +# ("4_1_10_17", +# @rule ∫(((~!c) + (~!d)*(~x))^(~m)*sin((~!e) + (~!f)*(~x))^(~n),(~x)) => +# !contains_var((~c), (~d), (~e), (~f), (~m), (~x)) && +# igt((~n), 1) && +# ( +# !(isrational((~m))) || +# ge((~m), -1) && +# lt((~m), 1) +# ) ? +# ∫(ExpandTrigReduce[((~c) + (~d)*(~x))^(~m), sin((~e) + (~f)*(~x))^(~n), (~x)], (~x)) : nothing) +# +# ("4_1_10_18", +# @rule ∫(((~!c) + (~!d)*(~x))^(~m)*sin((~!e) + (~!f)*(~x))^(~n),(~x)) => +# !contains_var((~c), (~d), (~e), (~f), (~m), (~x)) && +# igt((~n), 1) && +# ge((~m), -2) && +# lt((~m), -1) ? +# ((~c) + (~d)*(~x))^((~m) + 1)*sin((~e) + (~f)*(~x))^(~n)⨸((~d)*((~m) + 1)) - (~f)*(~n)⨸((~d)*((~m) + 1))* ∫(ExpandTrigReduce[((~c) + (~d)*(~x))^((~m) + 1), cos((~e) + (~f)*(~x))*sin((~e) + (~f)*(~x))^((~n) - 1), (~x)], (~x)) : nothing) + +("4_1_10_19", +@rule ∫(((~!c) + (~!d)*(~x))^(~m)*((~!b)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~x)) && + gt((~n), 1) && + lt((~m), -2) ? +((~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), (~x)) + (~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), (~x)) : nothing) + +("4_1_10_20", +@rule ∫(((~!c) + (~!d)*(~x))*((~!b)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~x)) && + lt((~n), -1) && + !eq((~n), -2) ? +((~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), (~x)) : nothing) + +("4_1_10_21", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~!b)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~x)) && + lt((~n), -1) && + !eq((~n), -2) && + gt((~m), 1) ? +((~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), (~x)) + (~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), (~x)) : nothing) + +("4_1_10_22", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + igt((~n), 0) && + ( + eq((~n), 1) || + igt((~m), 0) || + !eq((~a)^2 - (~b)^2, 0) + ) ? +∫(ext_expand(((~c) + (~d)*(~x))^(~m), ((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("4_1_10_23", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~n)) && + ( + gt((~n), 0) || + igt((~m), 0) + ) ? +(2*(~a))^(~n)* ∫(((~c) + (~d)*(~x))^(~m)*sin(1⨸2*((~e) + π*(~a)⨸(2*(~b))) + (~f)*(~x)⨸2)^(2*(~n)), (~x)) : nothing) + +("4_1_10_24", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~n) + 1/2) && + ( + gt((~n), 0) || + igt((~m), 0) + ) ? +(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)), (~x)) : nothing) + +#(* 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]) *) +#(* 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_1_10_25", +# @rule ∫(((~!c) + (~!d)*(~x))^ (~!m)/((~a) + (~!b)*sin((~!e) + (~!k)*π + (~!f)*Complex[0, (~fz)]*(~x))),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~fz), (~x)) && +# ext_isinteger(2*(~k)) && +# !eq((~a)^2 - (~b)^2, 0) && +# igt((~m), 0) ? +# 2*∫(((~c) + (~d)*(~x))^(~m)*ℯ^(-(~I)*π*((~k) - 1⨸2))* ℯ^(-(~I)*(~e) + (~f)*(~fz)*(~x))⨸((~b) + 2*(~a)*ℯ^(-(~I)*π*((~k) - 1⨸2))*ℯ^(-(~I)*(~e) + (~f)*(~fz)*(~x)) - (~b)*ℯ^(-2*(~I)*(~k)*π)*ℯ^(2*(-(~I)*(~e) + (~f)*(~fz)*(~x)))), (~x)) : nothing) + +("4_1_10_26", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)/((~a) + (~!b)*sin((~!e) + (~!k)*π + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + ext_isinteger(2*(~k)) && + !eq((~a)^2 - (~b)^2, 0) && + igt((~m), 0) ? +2*∫(((~c) + (~d)*(~x))^(~m)*ℯ^((~I)*π*((~k) - 1⨸2))* ℯ^((~I)*((~e) + (~f)*(~x)))⨸((~b) + 2*(~a)*ℯ^((~I)*π*((~k) - 1⨸2))*ℯ^((~I)*((~e) + (~f)*(~x))) - (~b)*ℯ^(2*(~I)*(~k)*π)*ℯ^(2*(~I)*((~e) + (~f)*(~x)))), (~x)) : nothing) + +#(* 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] *) +# ("4_1_10_27", +# @rule ∫(((~!c) + (~!d)*(~x))^(~!m)/((~a) + (~!b)*sin((~!e) + (~!f)*Complex[0, (~fz)]*(~x))),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~fz), (~x)) && +# !eq((~a)^2 - (~b)^2, 0) && +# igt((~m), 0) ? +# 2*∫(((~c) + (~d)*(~x))^(~m)* ℯ^(-(~I)*(~e) + (~f)*(~fz)*(~x))⨸(-(~I)*(~b) + 2*(~a)*ℯ^(-(~I)*(~e) + (~f)*(~fz)*(~x)) + (~I)*(~b)*ℯ^(2*(-(~I)*(~e) + (~f)*(~fz)*(~x)))), (~x)) : nothing) + +("4_1_10_28", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + igt((~m), 0) ? +2*∫(((~c) + (~d)*(~x))^(~m)* ℯ^((~I)*((~e) + (~f)*(~x)))⨸((~I)*(~b) + 2*(~a)*ℯ^((~I)*((~e) + (~f)*(~x))) - (~I)*(~b)*ℯ^(2*(~I)*((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_10_29", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + igt((~m), 0) ? +(~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))), (~x)) - (~b)*(~d)*(~m)⨸((~f)*((~a)^2 - (~b)^2))* ∫(((~c) + (~d)*(~x))^((~m) - 1)*cos((~e) + (~f)*(~x))⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_10_30", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ilt((~n), -2) && + igt((~m), 0) ? +-(~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), (~x)) + (~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), (~x)) - (~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), (~x)) : nothing) + +# ("4_1_10_31", +# @rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) ? +# Unintegrable[((~c) + (~d)*(~x))^(~m)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~n), (~x)] : nothing) + +("4_1_10_32", +@rule ∫((~u)^(~!m)*((~!a) + (~!b)*sin((~v)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~m), (~n), (~x)) && + linear((~u), (~v), (~x)) && + !(linear_without_simplify((~u), (~v), (~x))) ? +∫(expand_to_sum((~u), (~x))^(~m)*((~a) + (~b)*sin(expand_to_sum((~v), (~x))))^(~n), (~x)) : nothing) + +("4_1_10_33", +@rule ∫((~u)^(~!m)*((~!a) + (~!b)*cos((~v)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~m), (~n), (~x)) && + linear((~u), (~v), (~x)) && + !(linear_without_simplify((~u), (~v), (~x))) ? +∫(expand_to_sum((~u), (~x))^(~m)*((~a) + (~b)*cos(expand_to_sum((~v), (~x))))^(~n), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.11 (e x)^m (a+b x^n)^p sin.jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.11 (e x)^m (a+b x^n)^p sin.jl new file mode 100644 index 0000000..0e604c3 --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.11 (e x)^m (a+b x^n)^p sin.jl @@ -0,0 +1,183 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.11 (e x)^m (a+b x^n)^p sin *) +("4_1_11_1", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~!p)*sin((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + igt((~p), 0) ? +∫(ext_expand(sin((~c) + (~d)*(~x)), ((~a) + (~b)*(~x)^(~n))^(~p), (~x)), (~x)) : nothing) + +("4_1_11_2", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~!p)*cos((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + igt((~p), 0) ? +∫(ext_expand(cos((~c) + (~d)*(~x)), ((~a) + (~b)*(~x)^(~n))^(~p), (~x)), (~x)) : nothing) + +("4_1_11_3", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~p)*sin((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + ilt((~p), -1) && + igt((~n), 2) ? +(~x)^(-(~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*sin((~c) + (~d)*(~x))⨸((~b)*(~n)*((~p) + 1)) - (-(~n) + 1)⨸((~b)*(~n)*((~p) + 1))* ∫((~x)^(-(~n))*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*sin((~c) + (~d)*(~x)), (~x)) - (~d)⨸((~b)*(~n)*((~p) + 1))* ∫((~x)^(-(~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*cos((~c) + (~d)*(~x)), (~x)) : nothing) + +("4_1_11_4", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~p)*cos((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + ilt((~p), -1) && + igt((~n), 2) ? +(~x)^(-(~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*cos((~c) + (~d)*(~x))⨸((~b)*(~n)*((~p) + 1)) - (-(~n) + 1)⨸((~b)*(~n)*((~p) + 1))* ∫((~x)^(-(~n))*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*cos((~c) + (~d)*(~x)), (~x)) + (~d)⨸((~b)*(~n)*((~p) + 1))* ∫((~x)^(-(~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*sin((~c) + (~d)*(~x)), (~x)) : nothing) + +("4_1_11_5", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~p)*sin((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + ilt((~p), 0) && + igt((~n), 0) && + ( + eq((~n), 2) || + eq((~p), -1) + ) ? +∫(ext_expand(sin((~c) + (~d)*(~x)), ((~a) + (~b)*(~x)^(~n))^(~p), (~x)), (~x)) : nothing) + +("4_1_11_6", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~p)*cos((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + ilt((~p), 0) && + igt((~n), 0) && + ( + eq((~n), 2) || + eq((~p), -1) + ) ? +∫(ext_expand(cos((~c) + (~d)*(~x)), ((~a) + (~b)*(~x)^(~n))^(~p), (~x)), (~x)) : nothing) + +("4_1_11_7", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~p)*sin((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + ilt((~p), 0) && + ilt((~n), 0) ? +∫((~x)^((~n)*(~p))*((~b) + (~a)*(~x)^(-(~n)))^(~p)*sin((~c) + (~d)*(~x)), (~x)) : nothing) + +("4_1_11_8", +@rule ∫(((~a) + (~!b)*(~x)^(~n))^(~p)*cos((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + ilt((~p), 0) && + ilt((~n), 0) ? +∫((~x)^((~n)*(~p))*((~b) + (~a)*(~x)^(-(~n)))^(~p)*cos((~c) + (~d)*(~x)), (~x)) : nothing) + +# ("4_1_11_9", +# @rule ∫(((~a) + (~!b)*(~x)^(~n))^(~p)*sin((~!c) + (~!d)*(~x)),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~x)) ? +# Unintegrable[((~a) + (~b)*(~x)^(~n))^(~p)*sin((~c) + (~d)*(~x)), (~x)] : nothing) + +# ("4_1_11_10", +# @rule ∫(((~a) + (~!b)*(~x)^(~n))^(~p)*cos((~!c) + (~!d)*(~x)),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~x)) ? +# Unintegrable[((~a) + (~b)*(~x)^(~n))^(~p)*cos((~c) + (~d)*(~x)), (~x)] : nothing) + +("4_1_11_11", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*sin((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + igt((~p), 0) ? +∫(ext_expand(sin((~c) + (~d)*(~x)), ((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)), (~x)) : nothing) + +("4_1_11_12", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*cos((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + igt((~p), 0) ? +∫(ext_expand(cos((~c) + (~d)*(~x)), ((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)), (~x)) : nothing) + +("4_1_11_13", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*sin((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + ilt((~p), -1) && + eq((~m), (~n) - 1) && + ( + ext_isinteger((~n)) || + gt((~e), 0) + ) ? +(~e)^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*sin((~c) + (~d)*(~x))⨸((~b)*(~n)*((~p) + 1)) - (~d)*(~e)^(~m)⨸((~b)*(~n)*((~p) + 1))*∫(((~a) + (~b)*(~x)^(~n))^((~p) + 1)*cos((~c) + (~d)*(~x)), (~x)) : nothing) + +("4_1_11_14", +@rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*cos((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + ilt((~p), -1) && + eq((~m), (~n) - 1) && + ( + ext_isinteger((~n)) || + gt((~e), 0) + ) ? +(~e)^(~m)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*cos((~c) + (~d)*(~x))⨸((~b)*(~n)*((~p) + 1)) + (~d)*(~e)^(~m)⨸((~b)*(~n)*((~p) + 1))*∫(((~a) + (~b)*(~x)^(~n))^((~p) + 1)*sin((~c) + (~d)*(~x)), (~x)) : nothing) + +("4_1_11_15", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*sin((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + ilt((~p), -1) && + igt((~n), 0) && + ( + gt((~m) - (~n) + 1, 0) || + gt((~n), 2) + ) && + isrational((~m)) ? +(~x)^((~m) - (~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*sin((~c) + (~d)*(~x))⨸((~b)*(~n)*((~p) + 1)) - ((~m) - (~n) + 1)⨸((~b)*(~n)*((~p) + 1))* ∫((~x)^((~m) - (~n))*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*sin((~c) + (~d)*(~x)), (~x)) - (~d)⨸((~b)*(~n)*((~p) + 1))* ∫((~x)^((~m) - (~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*cos((~c) + (~d)*(~x)), (~x)) : nothing) + +("4_1_11_16", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*cos((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + ilt((~p), -1) && + igt((~n), 0) && + ( + gt((~m) - (~n) + 1, 0) || + gt((~n), 2) + ) && + isrational((~m)) ? +(~x)^((~m) - (~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*cos((~c) + (~d)*(~x))⨸((~b)*(~n)*((~p) + 1)) - ((~m) - (~n) + 1)⨸((~b)*(~n)*((~p) + 1))* ∫((~x)^((~m) - (~n))*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*cos((~c) + (~d)*(~x)), (~x)) + (~d)⨸((~b)*(~n)*((~p) + 1))* ∫((~x)^((~m) - (~n) + 1)*((~a) + (~b)*(~x)^(~n))^((~p) + 1)*sin((~c) + (~d)*(~x)), (~x)) : nothing) + +("4_1_11_17", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*sin((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + ilt((~p), 0) && + igt((~n), 0) && + ( + eq((~n), 2) || + eq((~p), -1) + ) && + ext_isinteger((~m)) ? +∫(ext_expand(sin((~c) + (~d)*(~x)), (~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)), (~x)) : nothing) + +("4_1_11_18", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*cos((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + ilt((~p), 0) && + igt((~n), 0) && + ( + eq((~n), 2) || + eq((~p), -1) + ) && + ext_isinteger((~m)) ? +∫(ext_expand(cos((~c) + (~d)*(~x)), (~x)^(~m)*((~a) + (~b)*(~x)^(~n))^(~p), (~x)), (~x)) : nothing) + +("4_1_11_19", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*sin((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + ilt((~p), 0) && + ilt((~n), 0) ? +∫((~x)^((~m) + (~n)*(~p))*((~b) + (~a)*(~x)^(-(~n)))^(~p)*sin((~c) + (~d)*(~x)), (~x)) : nothing) + +("4_1_11_20", +@rule ∫((~x)^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~p)*cos((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + ilt((~p), 0) && + ilt((~n), 0) ? +∫((~x)^((~m) + (~n)*(~p))*((~b) + (~a)*(~x)^(-(~n)))^(~p)*cos((~c) + (~d)*(~x)), (~x)) : nothing) + +# ("4_1_11_21", +# @rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*sin((~!c) + (~!d)*(~x)),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*sin((~c) + (~d)*(~x)), (~x)] : nothing) + +# ("4_1_11_22", +# @rule ∫(((~!e)*(~x))^(~!m)*((~a) + (~!b)*(~x)^(~n))^(~!p)*cos((~!c) + (~!d)*(~x)),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~e)*(~x))^(~m)*((~a) + (~b)*(~x)^(~n))^(~p)*cos((~c) + (~d)*(~x)), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.12 (e x)^m (a+b sin(c+d x^n))^p.jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.12 (e x)^m (a+b sin(c+d x^n))^p.jl new file mode 100644 index 0000000..af22ae5 --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.12 (e x)^m (a+b sin(c+d x^n))^p.jl @@ -0,0 +1,667 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.12 (e x)^m (a+b sin(c+d x^n))^p *) +("4_1_12_1", +@rule ∫(sin((~!d)*((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~d), (~e), (~f), (~x)) ? +sqrt(π⨸2)⨸((~f)*rt((~d), 2))*FresnelIntegrals.fresnels(sqrt(2⨸π)*rt((~d), 2)*((~e) + (~f)*(~x))) : nothing) + +("4_1_12_2", +@rule ∫(cos((~!d)*((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~d), (~e), (~f), (~x)) ? +sqrt(π⨸2)⨸((~f)*rt((~d), 2))*FresnelIntegrals.fresnelc(sqrt(2⨸π)*rt((~d), 2)*((~e) + (~f)*(~x))) : nothing) + +("4_1_12_3", +@rule ∫(sin((~c) + (~!d)*((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~x)) ? +sin((~c))*∫(cos((~d)*((~e) + (~f)*(~x))^2), (~x)) + cos((~c))*∫(sin((~d)*((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_12_4", +@rule ∫(cos((~c) + (~!d)*((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~x)) ? +cos((~c))*∫(cos((~d)*((~e) + (~f)*(~x))^2), (~x)) - sin((~c))*∫(sin((~d)*((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_12_5", +@rule ∫(sin((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~x)) && + igt((~n), 2) ? +(~I)⨸2*∫(ℯ^(-(~c)*(~I) - (~d)*(~I)*((~e) + (~f)*(~x))^(~n)), (~x)) - (~I)⨸2*∫(ℯ^((~c)*(~I) + (~d)*(~I)*((~e) + (~f)*(~x))^(~n)), (~x)) : nothing) + +("4_1_12_6", +@rule ∫(cos((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~x)) && + igt((~n), 2) ? +1⨸2*∫(ℯ^(-(~c)*(~I) - (~d)*(~I)*((~e) + (~f)*(~x))^(~n)), (~x)) + 1⨸2*∫(ℯ^((~c)*(~I) + (~d)*(~I)*((~e) + (~f)*(~x))^(~n)), (~x)) : nothing) + +# ("4_1_12_7", +# @rule ∫(((~!a) + (~!b)*sin((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && +# igt((~p), 1) && +# igt((~n), 1) ? +# ∫(ExpandTrigReduce[((~a) + (~b)*sin((~c) + (~d)*((~e) + (~f)*(~x))^(~n)))^(~p), (~x)], (~x)) : nothing) +# +# ("4_1_12_8", +# @rule ∫(((~!a) + (~!b)*cos((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && +# igt((~p), 1) && +# igt((~n), 1) ? +# ∫(ExpandTrigReduce[((~a) + (~b)*cos((~c) + (~d)*((~e) + (~f)*(~x))^(~n)))^(~p), (~x)], (~x)) : nothing) + +("4_1_12_9", +@rule ∫(((~!a) + (~!b)*sin((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + igt((~p), 0) && + ilt((~n), 0) && + eq((~n), -2) ? +-1⨸(~f)*int_and_subst(((~a) + (~b)*sin((~c) + (~d)*(~x)^(-(~n))))^(~p)⨸(~x)^2, (~x), (~x), 1⨸((~e) + (~f)*(~x)), "4_1_12_9") : nothing) + +("4_1_12_10", +@rule ∫(((~!a) + (~!b)*cos((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + igt((~p), 0) && + ilt((~n), 0) && + eq((~n), -2) ? +-1⨸(~f)*int_and_subst(((~a) + (~b)*cos((~c) + (~d)*(~x)^(-(~n))))^(~p)⨸(~x)^2, (~x), (~x), 1⨸((~e) + (~f)*(~x)), "4_1_12_10") : nothing) + +("4_1_12_11", +@rule ∫(((~!a) + (~!b)*sin((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + igt((~p), 0) && + ext_isinteger(1/(~n)) ? +1⨸((~n)*(~f))* int_and_subst((~x)^(1⨸(~n) - 1)*((~a) + (~b)*sin((~c) + (~d)*(~x)))^(~p), (~x), (~x), ((~e) + (~f)*(~x))^(~n), "4_1_12_11") : nothing) + +("4_1_12_12", +@rule ∫(((~!a) + (~!b)*cos((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + igt((~p), 0) && + ext_isinteger(1/(~n)) ? +1⨸((~n)*(~f))* int_and_subst((~x)^(1⨸(~n) - 1)*((~a) + (~b)*cos((~c) + (~d)*(~x)))^(~p), (~x), (~x), ((~e) + (~f)*(~x))^(~n), "4_1_12_12") : nothing) + +# ("4_1_12_13", +# @rule ∫(((~!a) + (~!b)*sin((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && +# igt((~p), 0) && +# isfraction((~n)) ? +# Module[{(~k) = ext_den((~n))}, (~k)⨸(~f)* int_and_subst((~x)^((~k) - 1)*((~a) + (~b)*sin((~c) + (~d)*(~x)^((~k)*(~n))))^(~p), (~x), (~x), ((~e) + (~f)*(~x))^(1⨸(~k)), "4_1_12_13")] : nothing) +# +# ("4_1_12_14", +# @rule ∫(((~!a) + (~!b)*cos((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && +# igt((~p), 0) && +# isfraction((~n)) ? +# Module[{(~k) = ext_den((~n))}, (~k)⨸(~f)* int_and_subst((~x)^((~k) - 1)*((~a) + (~b)*cos((~c) + (~d)*(~x)^((~k)*(~n))))^(~p), (~x), (~x), ((~e) + (~f)*(~x))^(1⨸(~k)), "4_1_12_14")] : nothing) + +("4_1_12_15", +@rule ∫(sin((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~n), (~x)) ? +(~I)⨸2*∫(ℯ^(-(~c)*(~I) - (~d)*(~I)*((~e) + (~f)*(~x))^(~n)), (~x)) - (~I)⨸2*∫(ℯ^((~c)*(~I) + (~d)*(~I)*((~e) + (~f)*(~x))^(~n)), (~x)) : nothing) + +("4_1_12_16", +@rule ∫(cos((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)),(~x)) => + !contains_var((~c), (~d), (~e), (~f), (~n), (~x)) ? +1⨸2*∫(ℯ^(-(~c)*(~I) - (~d)*(~I)*((~e) + (~f)*(~x))^(~n)), (~x)) + 1⨸2*∫(ℯ^((~c)*(~I) + (~d)*(~I)*((~e) + (~f)*(~x))^(~n)), (~x)) : nothing) + +# ("4_1_12_17", +# @rule ∫(((~!a) + (~!b)*sin((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && +# igt((~p), 1) ? +# ∫(ExpandTrigReduce[((~a) + (~b)*sin((~c) + (~d)*((~e) + (~f)*(~x))^(~n)))^(~p), (~x)], (~x)) : nothing) +# +# ("4_1_12_18", +# @rule ∫(((~!a) + (~!b)*cos((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && +# igt((~p), 1) ? +# ∫(ExpandTrigReduce[((~a) + (~b)*cos((~c) + (~d)*((~e) + (~f)*(~x))^(~n)))^(~p), (~x)], (~x)) : nothing) + +# ("4_1_12_19", +# @rule ∫(((~!a) + (~!b)*sin((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) ? +# Unintegrable[((~a) + (~b)*sin((~c) + (~d)*((~e) + (~f)*(~x))^(~n)))^(~p), (~x)] : nothing) + +# ("4_1_12_20", +# @rule ∫(((~!a) + (~!b)*cos((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) ? +# Unintegrable[((~a) + (~b)*cos((~c) + (~d)*((~e) + (~f)*(~x))^(~n)))^(~p), (~x)] : nothing) + +("4_1_12_21", +@rule ∫(((~!a) + (~!b)*sin((~!c) + (~!d)*(~u)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~x)) && + linear((~u), (~x)) && + !(linear_without_simplify((~u), (~x))) ? +∫(((~a) + (~b)*sin((~c) + (~d)*expand_to_sum((~u), (~x))^(~n)))^(~p), (~x)) : nothing) + +("4_1_12_22", +@rule ∫(((~!a) + (~!b)*cos((~!c) + (~!d)*(~u)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~p), (~x)) && + linear((~u), (~x)) && + !(linear_without_simplify((~u), (~x))) ? +∫(((~a) + (~b)*cos((~c) + (~d)*expand_to_sum((~u), (~x))^(~n)))^(~p), (~x)) : nothing) + +("4_1_12_23", +@rule ∫(((~!a) + (~!b)*sin((~u)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~p), (~x)) && + isbinomial((~u), (~x)) && + !(binomial_without_simplify((~u), (~x))) ? +∫(((~a) + (~b)*sin(expand_to_sum((~u), (~x))))^(~p), (~x)) : nothing) + +("4_1_12_24", +@rule ∫(((~!a) + (~!b)*cos((~u)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~p), (~x)) && + isbinomial((~u), (~x)) && + !(binomial_without_simplify((~u), (~x))) ? +∫(((~a) + (~b)*cos(expand_to_sum((~u), (~x))))^(~p), (~x)) : nothing) + +("4_1_12_25", +@rule ∫(sin((~!d)*(~x)^(~!n))/(~x),(~x)) => + !contains_var((~d), (~n), (~x)) ? +SymbolicUtils.sinint((~d)*(~x)^(~n))⨸(~n) : nothing) + +("4_1_12_26", +@rule ∫(cos((~!d)*(~x)^(~!n))/(~x),(~x)) => + !contains_var((~d), (~n), (~x)) ? +SymbolicUtils.cosint((~d)*(~x)^(~n))⨸(~n) : nothing) + +("4_1_12_27", +@rule ∫(sin((~c) + (~!d)*(~x)^(~n))/(~x),(~x)) => + !contains_var((~c), (~d), (~n), (~x)) ? +sin((~c))*∫(cos((~d)*(~x)^(~n))⨸(~x), (~x)) + cos((~c))*∫(sin((~d)*(~x)^(~n))⨸(~x), (~x)) : nothing) + +("4_1_12_28", +@rule ∫(cos((~c) + (~!d)*(~x)^(~n))/(~x),(~x)) => + !contains_var((~c), (~d), (~n), (~x)) ? +cos((~c))*∫(cos((~d)*(~x)^(~n))⨸(~x), (~x)) - sin((~c))*∫(sin((~d)*(~x)^(~n))⨸(~x), (~x)) : nothing) + +("4_1_12_29", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*sin((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~x)) && + ext_isinteger( simplify(((~m) + 1)/(~n))) && + ( + eq((~p), 1) || + eq((~m), (~n) - 1) || + ext_isinteger((~p)) && + gt(simplify(((~m) + 1)/(~n)), 0) + ) ? +1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*((~a) + (~b)*sin((~c) + (~d)*(~x)))^(~p), (~x), (~x), (~x)^(~n), "4_1_12_29") : nothing) + +("4_1_12_30", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*cos((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~x)) && + ext_isinteger( simplify(((~m) + 1)/(~n))) && + ( + eq((~p), 1) || + eq((~m), (~n) - 1) || + ext_isinteger((~p)) && + gt(simplify(((~m) + 1)/(~n)), 0) + ) ? +1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*((~a) + (~b)*cos((~c) + (~d)*(~x)))^(~p), (~x), (~x), (~x)^(~n), "4_1_12_30") : nothing) + +("4_1_12_31", +@rule ∫(((~e)*(~x))^(~m)*((~!a) + (~!b)*sin((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + ext_isinteger(simplify(((~m) + 1)/(~n))) ? +(~e)^intpart((~m))*((~e)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*sin((~c) + (~d)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("4_1_12_32", +@rule ∫(((~e)*(~x))^(~m)*((~!a) + (~!b)*cos((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + ext_isinteger(simplify(((~m) + 1)/(~n))) ? +(~e)^intpart((~m))*((~e)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*cos((~c) + (~d)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("4_1_12_33", +@rule ∫((~x)^(~!m)*sin((~!a) + (~!b)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~m), (~n), (~x)) && + eq((~m), (~n)/2 - 1) ? +2⨸(~n)*int_and_subst(sin((~a) + (~b)*(~x)^2), (~x), (~x), (~x)^((~n)⨸2), "4_1_12_33") : nothing) + +("4_1_12_34", +@rule ∫((~x)^(~!m)*cos((~!a) + (~!b)*(~x)^(~n)),(~x)) => + !contains_var((~a), (~b), (~m), (~n), (~x)) && + eq((~m), (~n)/2 - 1) ? +2⨸(~n)*int_and_subst(cos((~a) + (~b)*(~x)^2), (~x), (~x), (~x)^((~n)⨸2), "4_1_12_34") : nothing) + +("4_1_12_35", +@rule ∫(((~!e)*(~x))^(~!m)*sin((~!c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~c), (~d), (~e), (~x)) && + igt((~n), 0) && + lt((~n), (~m) + 1) ? +-(~e)^((~n) - 1)*((~e)*(~x))^((~m) - (~n) + 1)*cos((~c) + (~d)*(~x)^(~n))⨸((~d)*(~n)) + (~e)^(~n)*((~m) - (~n) + 1)⨸((~d)*(~n))*∫(((~e)*(~x))^((~m) - (~n))*cos((~c) + (~d)*(~x)^(~n)), (~x)) : nothing) + +("4_1_12_36", +@rule ∫(((~!e)*(~x))^(~!m)*cos((~!c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~c), (~d), (~e), (~x)) && + igt((~n), 0) && + lt((~n), (~m) + 1) ? +(~e)^((~n) - 1)*((~e)*(~x))^((~m) - (~n) + 1)*sin((~c) + (~d)*(~x)^(~n))⨸((~d)*(~n)) - (~e)^(~n)*((~m) - (~n) + 1)⨸((~d)*(~n))*∫(((~e)*(~x))^((~m) - (~n))*sin((~c) + (~d)*(~x)^(~n)), (~x)) : nothing) + +("4_1_12_37", +@rule ∫(((~!e)*(~x))^(~m)*sin((~!c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~c), (~d), (~e), (~x)) && + igt((~n), 0) && + lt((~m), -1) ? +((~e)*(~x))^((~m) + 1)*sin((~c) + (~d)*(~x)^(~n))⨸((~e)*((~m) + 1)) - (~d)*(~n)⨸((~e)^(~n)*((~m) + 1))*∫(((~e)*(~x))^((~m) + (~n))*cos((~c) + (~d)*(~x)^(~n)), (~x)) : nothing) + +("4_1_12_38", +@rule ∫(((~!e)*(~x))^(~m)*cos((~!c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~c), (~d), (~e), (~x)) && + igt((~n), 0) && + lt((~m), -1) ? +((~e)*(~x))^((~m) + 1)*cos((~c) + (~d)*(~x)^(~n))⨸((~e)*((~m) + 1)) + (~d)*(~n)⨸((~e)^(~n)*((~m) + 1))*∫(((~e)*(~x))^((~m) + (~n))*sin((~c) + (~d)*(~x)^(~n)), (~x)) : nothing) + +("4_1_12_39", +@rule ∫(((~!e)*(~x))^(~!m)*sin((~!c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~c), (~d), (~e), (~m), (~x)) && + igt((~n), 0) ? +(~I)⨸2*∫(((~e)*(~x))^(~m)*ℯ^(-(~c)*(~I) - (~d)*(~I)*(~x)^(~n)), (~x)) - (~I)⨸2*∫(((~e)*(~x))^(~m)*ℯ^((~c)*(~I) + (~d)*(~I)*(~x)^(~n)), (~x)) : nothing) + +("4_1_12_40", +@rule ∫(((~!e)*(~x))^(~!m)*cos((~!c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~c), (~d), (~e), (~m), (~x)) && + igt((~n), 0) ? +1⨸2*∫(((~e)*(~x))^(~m)*ℯ^(-(~c)*(~I) - (~d)*(~I)*(~x)^(~n)), (~x)) + 1⨸2*∫(((~e)*(~x))^(~m)*ℯ^((~c)*(~I) + (~d)*(~I)*(~x)^(~n)), (~x)) : nothing) + +("4_1_12_41", +@rule ∫((~x)^(~!m)*sin((~!a) + (~!b)*(~x)^(~n)/2)^2,(~x)) => + !contains_var((~a), (~b), (~m), (~n), (~x)) ? +1⨸2*∫((~x)^(~m), (~x)) - 1⨸2*∫((~x)^(~m)*cos(2*(~a) + (~b)*(~x)^(~n)), (~x)) : nothing) + +("4_1_12_42", +@rule ∫((~x)^(~!m)*cos((~!a) + (~!b)*(~x)^(~n)/2)^2,(~x)) => + !contains_var((~a), (~b), (~m), (~n), (~x)) ? +1⨸2*∫((~x)^(~m), (~x)) + 1⨸2*∫((~x)^(~m)*cos(2*(~a) + (~b)*(~x)^(~n)), (~x)) : nothing) + +("4_1_12_43", +@rule ∫((~x)^(~!m)*sin((~!a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~x)) && + igt((~p), 1) && + eq((~m) + (~n), 0) && + !eq((~n), 1) && + ext_isinteger((~n)) ? +(~x)^((~m) + 1)*sin((~a) + (~b)*(~x)^(~n))^(~p)⨸((~m) + 1) - (~b)*(~n)*(~p)⨸((~m) + 1)*∫(sin((~a) + (~b)*(~x)^(~n))^((~p) - 1)*cos((~a) + (~b)*(~x)^(~n)), (~x)) : nothing) + +("4_1_12_44", +@rule ∫((~x)^(~!m)*cos((~!a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~x)) && + igt((~p), 1) && + eq((~m) + (~n), 0) && + !eq((~n), 1) && + ext_isinteger((~n)) ? +(~x)^((~m) + 1)*cos((~a) + (~b)*(~x)^(~n))^(~p)⨸((~m) + 1) + (~b)*(~n)*(~p)⨸((~m) + 1)*∫(cos((~a) + (~b)*(~x)^(~n))^((~p) - 1)*sin((~a) + (~b)*(~x)^(~n)), (~x)) : nothing) + +("4_1_12_45", +@rule ∫((~x)^(~!m)*sin((~!a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~m), (~n), (~x)) && + eq((~m) - 2*(~n) + 1, 0) && + gt((~p), 1) ? +(~n)*sin((~a) + (~b)*(~x)^(~n))^(~p)⨸((~b)^2*(~n)^2*(~p)^2) - (~x)^(~n)*cos((~a) + (~b)*(~x)^(~n))*sin((~a) + (~b)*(~x)^(~n))^((~p) - 1)⨸((~b)*(~n)*(~p)) + ((~p) - 1)⨸(~p)*∫((~x)^(~m)*sin((~a) + (~b)*(~x)^(~n))^((~p) - 2), (~x)) : nothing) + +("4_1_12_46", +@rule ∫((~x)^(~!m)*cos((~!a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~m), (~n), (~x)) && + eq((~m) - 2*(~n) + 1, 0) && + gt((~p), 1) ? +(~n)*cos((~a) + (~b)*(~x)^(~n))^(~p)⨸((~b)^2*(~n)^2*(~p)^2) + (~x)^(~n)*sin((~a) + (~b)*(~x)^(~n))*cos((~a) + (~b)*(~x)^(~n))^((~p) - 1)⨸((~b)*(~n)*(~p)) + ((~p) - 1)⨸(~p)*∫((~x)^(~m)*cos((~a) + (~b)*(~x)^(~n))^((~p) - 2), (~x)) : nothing) + +("4_1_12_47", +@rule ∫((~x)^(~!m)*sin((~!a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~x)) && + gt((~p), 1) && + igt((~n), 0) && + igt((~m), 2*(~n) - 1) ? +((~m) - (~n) + 1)*(~x)^((~m) - 2*(~n) + 1)*sin((~a) + (~b)*(~x)^(~n))^(~p)⨸((~b)^2*(~n)^2*(~p)^2) - (~x)^((~m) - (~n) + 1)*cos((~a) + (~b)*(~x)^(~n))*sin((~a) + (~b)*(~x)^(~n))^((~p) - 1)⨸((~b)*(~n)*(~p)) + ((~p) - 1)⨸(~p)*∫((~x)^(~m)*sin((~a) + (~b)*(~x)^(~n))^((~p) - 2), (~x)) - ((~m) - (~n) + 1)*((~m) - 2*(~n) + 1)⨸((~b)^2*(~n)^2*(~p)^2)* ∫((~x)^((~m) - 2*(~n))*sin((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +("4_1_12_48", +@rule ∫((~x)^(~!m)*cos((~!a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~x)) && + gt((~p), 1) && + igt((~n), 0) && + igt((~m), 2*(~n) - 1) ? +((~m) - (~n) + 1)*(~x)^((~m) - 2*(~n) + 1)*cos((~a) + (~b)*(~x)^(~n))^(~p)⨸((~b)^2*(~n)^2*(~p)^2) + (~x)^((~m) - (~n) + 1)*sin((~a) + (~b)*(~x)^(~n))*cos((~a) + (~b)*(~x)^(~n))^((~p) - 1)⨸((~b)*(~n)*(~p)) + ((~p) - 1)⨸(~p)*∫((~x)^(~m)*cos((~a) + (~b)*(~x)^(~n))^((~p) - 2), (~x)) - ((~m) - (~n) + 1)*((~m) - 2*(~n) + 1)⨸((~b)^2*(~n)^2*(~p)^2)* ∫((~x)^((~m) - 2*(~n))*cos((~a) + (~b)*(~x)^(~n))^(~p), (~x)) : nothing) + +("4_1_12_49", +@rule ∫((~x)^(~!m)*sin((~!a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~x)) && + gt((~p), 1) && + igt((~n), 0) && + ilt((~m), -2*(~n) + 1) && + !eq((~m) + (~n) + 1, 0) ? +(~x)^((~m) + 1)*sin((~a) + (~b)*(~x)^(~n))^(~p)⨸((~m) + 1) - (~b)*(~n)*(~p)*(~x)^((~m) + (~n) + 1)*cos((~a) + (~b)*(~x)^(~n))* sin((~a) + (~b)*(~x)^(~n))^((~p) - 1)⨸(((~m) + 1)*((~m) + (~n) + 1)) - (~b)^2*(~n)^2*(~p)^2⨸(((~m) + 1)*((~m) + (~n) + 1))* ∫((~x)^((~m) + 2*(~n))*sin((~a) + (~b)*(~x)^(~n))^(~p), (~x)) + (~b)^2*(~n)^2*(~p)*((~p) - 1)⨸(((~m) + 1)*((~m) + (~n) + 1))* ∫((~x)^((~m) + 2*(~n))*sin((~a) + (~b)*(~x)^(~n))^((~p) - 2), (~x)) : nothing) + +("4_1_12_50", +@rule ∫((~x)^(~!m)*cos((~!a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~x)) && + gt((~p), 1) && + igt((~n), 0) && + ilt((~m), -2*(~n) + 1) && + !eq((~m) + (~n) + 1, 0) ? +(~x)^((~m) + 1)*cos((~a) + (~b)*(~x)^(~n))^(~p)⨸((~m) + 1) + (~b)*(~n)*(~p)*(~x)^((~m) + (~n) + 1)*sin((~a) + (~b)*(~x)^(~n))* cos((~a) + (~b)*(~x)^(~n))^((~p) - 1)⨸(((~m) + 1)*((~m) + (~n) + 1)) - (~b)^2*(~n)^2*(~p)^2⨸(((~m) + 1)*((~m) + (~n) + 1))* ∫((~x)^((~m) + 2*(~n))*cos((~a) + (~b)*(~x)^(~n))^(~p), (~x)) + (~b)^2*(~n)^2*(~p)*((~p) - 1)⨸(((~m) + 1)*((~m) + (~n) + 1))* ∫((~x)^((~m) + 2*(~n))*cos((~a) + (~b)*(~x)^(~n))^((~p) - 2), (~x)) : nothing) + +("4_1_12_51", +@rule ∫(((~!e)*(~x))^(~m)*((~!a) + (~!b)*sin((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + ext_isinteger((~p)) && + igt((~n), 0) && + isfraction((~m)) ? +ext_den((~m))⨸(~e)* int_and_subst((~x)^(ext_den((~m))*((~m) + 1) - 1)*((~a) + (~b)*sin((~c) + (~d)*(~x)^(ext_den((~m))*(~n))⨸(~e)^(~n)))^(~p), (~x), (~x), ((~e)*(~x))^(1⨸ext_den((~m))), "4_1_12_51") : nothing) + +("4_1_12_52", +@rule ∫(((~!e)*(~x))^(~m)*((~!a) + (~!b)*cos((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + ext_isinteger((~p)) && + igt((~n), 0) && + isfraction((~m)) ? +ext_den((~m))⨸(~e)* int_and_subst((~x)^(ext_den((~m))*((~m) + 1) - 1)*((~a) + (~b)*cos((~c) + (~d)*(~x)^(ext_den((~m))*(~n))⨸(~e)^(~n)))^(~p), (~x), (~x), ((~e)*(~x))^(1⨸ext_den((~m))), "4_1_12_52") : nothing) + +# ("4_1_12_53", +# @rule ∫(((~!e)*(~x))^(~!m)*((~!a) + (~!b)*sin((~!c) + (~!d)*(~x)^(~n)))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && +# igt((~p), 1) && +# igt((~n), 0) ? +# ∫(ExpandTrigReduce[((~e)*(~x))^(~m), ((~a) + (~b)*sin((~c) + (~d)*(~x)^(~n)))^(~p), (~x)], (~x)) : nothing) +# +# ("4_1_12_54", +# @rule ∫(((~!e)*(~x))^(~!m)*((~!a) + (~!b)*cos((~!c) + (~!d)*(~x)^(~n)))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && +# igt((~p), 1) && +# igt((~n), 0) ? +# ∫(ExpandTrigReduce[((~e)*(~x))^(~m), ((~a) + (~b)*cos((~c) + (~d)*(~x)^(~n)))^(~p), (~x)], (~x)) : nothing) + +("4_1_12_55", +@rule ∫((~x)^(~!m)*sin((~!a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~m), (~n), (~x)) && + eq((~m) - 2*(~n) + 1, 0) && + lt((~p), -1) && + !eq((~p), -2) ? +(~x)^(~n)*cos((~a) + (~b)*(~x)^(~n))*sin((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*(~n)*((~p) + 1)) - (~n)*sin((~a) + (~b)*(~x)^(~n))^((~p) + 2)⨸((~b)^2*(~n)^2*((~p) + 1)*((~p) + 2)) + ((~p) + 2)⨸((~p) + 1)*∫((~x)^(~m)*sin((~a) + (~b)*(~x)^(~n))^((~p) + 2), (~x)) : nothing) + +("4_1_12_56", +@rule ∫((~x)^(~!m)*cos((~!a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~m), (~n), (~x)) && + eq((~m) - 2*(~n) + 1, 0) && + lt((~p), -1) && + !eq((~p), -2) ? +-(~x)^(~n)*sin((~a) + (~b)*(~x)^(~n))*cos((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*(~n)*((~p) + 1)) - (~n)*cos((~a) + (~b)*(~x)^(~n))^((~p) + 2)⨸((~b)^2*(~n)^2*((~p) + 1)*((~p) + 2)) + ((~p) + 2)⨸((~p) + 1)*∫((~x)^(~m)*cos((~a) + (~b)*(~x)^(~n))^((~p) + 2), (~x)) : nothing) + +("4_1_12_57", +@rule ∫((~x)^(~!m)*sin((~!a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~x)) && + lt((~p), -1) && + !eq((~p), -2) && + igt((~n), 0) && + igt((~m), 2*(~n) - 1) ? +(~x)^((~m) - (~n) + 1)*cos((~a) + (~b)*(~x)^(~n))* sin((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*(~n)*((~p) + 1)) - ((~m) - (~n) + 1)*(~x)^((~m) - 2*(~n) + 1)* sin((~a) + (~b)*(~x)^(~n))^((~p) + 2)⨸((~b)^2*(~n)^2*((~p) + 1)*((~p) + 2)) + ((~p) + 2)⨸((~p) + 1)*∫((~x)^(~m)*sin((~a) + (~b)*(~x)^(~n))^((~p) + 2), (~x)) + ((~m) - (~n) + 1)*((~m) - 2*(~n) + 1)⨸((~b)^2*(~n)^2*((~p) + 1)*((~p) + 2))* ∫((~x)^((~m) - 2*(~n))*sin((~a) + (~b)*(~x)^(~n))^((~p) + 2), (~x)) : nothing) + +("4_1_12_58", +@rule ∫((~x)^(~!m)*cos((~!a) + (~!b)*(~x)^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~x)) && + lt((~p), -1) && + !eq((~p), -2) && + igt((~n), 0) && + igt((~m), 2*(~n) - 1) ? +-(~x)^((~m) - (~n) + 1)*sin((~a) + (~b)*(~x)^(~n))*cos((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*(~n)*((~p) + 1)) - ((~m) - (~n) + 1)*(~x)^((~m) - 2*(~n) + 1)* cos((~a) + (~b)*(~x)^(~n))^((~p) + 2)⨸((~b)^2*(~n)^2*((~p) + 1)*((~p) + 2)) + ((~p) + 2)⨸((~p) + 1)*∫((~x)^(~m)*cos((~a) + (~b)*(~x)^(~n))^((~p) + 2), (~x)) + ((~m) - (~n) + 1)*((~m) - 2*(~n) + 1)⨸((~b)^2*(~n)^2*((~p) + 1)*((~p) + 2))* ∫((~x)^((~m) - 2*(~n))*cos((~a) + (~b)*(~x)^(~n))^((~p) + 2), (~x)) : nothing) + +("4_1_12_59", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*sin((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + igt((~p), 0) && + ilt((~n), 0) && + ext_isinteger((~m)) && + eq((~n), -2) ? +-int_and_subst(((~a) + (~b)*sin((~c) + (~d)*(~x)^(-(~n))))^(~p)⨸(~x)^((~m) + 2), (~x), (~x), 1⨸(~x), "4_1_12_59") : nothing) + +("4_1_12_60", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*cos((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + igt((~p), 0) && + ilt((~n), 0) && + ext_isinteger((~m)) && + eq((~n), -2) ? +-int_and_subst(((~a) + (~b)*cos((~c) + (~d)*(~x)^(-(~n))))^(~p)⨸(~x)^((~m) + 2), (~x), (~x), 1⨸(~x), "4_1_12_60") : nothing) + +("4_1_12_61", +@rule ∫(((~!e)*(~x))^(~m)*((~!a) + (~!b)*sin((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + igt((~p), 0) && + ilt((~n), 0) && + isfraction((~m)) ? +-ext_den((~m))⨸(~e)* int_and_subst(((~a) + (~b)*sin((~c) + (~d)⨸((~e)^(~n)*(~x)^(ext_den((~m))*(~n)))))^(~p)⨸(~x)^(ext_den((~m))*((~m) + 1) + 1), (~x), (~x), 1⨸((~e)*(~x))^(1⨸ext_den((~m))), "4_1_12_61") : nothing) + +("4_1_12_62", +@rule ∫(((~!e)*(~x))^(~m)*((~!a) + (~!b)*cos((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + igt((~p), 0) && + ilt((~n), 0) && + isfraction((~m)) ? +-ext_den((~m))⨸(~e)* int_and_subst(((~a) + (~b)*cos((~c) + (~d)⨸((~e)^(~n)*(~x)^(ext_den((~m))*(~n)))))^(~p)⨸(~x)^(ext_den((~m))*((~m) + 1) + 1), (~x), (~x), 1⨸((~e)*(~x))^(1⨸ext_den((~m))), "4_1_12_62") : nothing) + +("4_1_12_63", +@rule ∫(((~!e)*(~x))^(~m)*((~!a) + (~!b)*sin((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + igt((~p), 0) && + ilt((~n), 0) && + !(isrational((~m))) ? +-((~e)*(~x))^(~m)*((~x)^(-1))^(~m)* int_and_subst(((~a) + (~b)*sin((~c) + (~d)*(~x)^(-(~n))))^(~p)⨸(~x)^((~m) + 2), (~x), (~x), 1⨸(~x), "4_1_12_63") : nothing) + +("4_1_12_64", +@rule ∫(((~!e)*(~x))^(~m)*((~!a) + (~!b)*cos((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + igt((~p), 0) && + ilt((~n), 0) && + !(isrational((~m))) ? +-((~e)*(~x))^(~m)*((~x)^(-1))^(~m)* int_and_subst(((~a) + (~b)*cos((~c) + (~d)*(~x)^(-(~n))))^(~p)⨸(~x)^((~m) + 2), (~x), (~x), 1⨸(~x), "4_1_12_64") : nothing) + +# ("4_1_12_65", +# @rule ∫((~x)^(~!m)*((~!a) + (~!b)*sin((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && +# ext_isinteger((~p)) && +# isfraction((~n)) ? +# Module[{(~k) = ext_den((~n))}, (~k)*int_and_subst((~x)^((~k)*((~m) + 1) - 1)*((~a) + (~b)*sin((~c) + (~d)*(~x)^((~k)*(~n))))^(~p), (~x), (~x), (~x)^(1⨸(~k)), "4_1_12_65")] : nothing) +# +# ("4_1_12_66", +# @rule ∫((~x)^(~!m)*((~!a) + (~!b)*cos((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && +# ext_isinteger((~p)) && +# isfraction((~n)) ? +# Module[{(~k) = ext_den((~n))}, (~k)*int_and_subst((~x)^((~k)*((~m) + 1) - 1)*((~a) + (~b)*cos((~c) + (~d)*(~x)^((~k)*(~n))))^(~p), (~x), (~x), (~x)^(1⨸(~k)), "4_1_12_66")] : nothing) + +("4_1_12_67", +@rule ∫(((~e)*(~x))^(~m)*((~!a) + (~!b)*sin((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + ext_isinteger((~p)) && + isfraction((~n)) ? +(~e)^intpart((~m))*((~e)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*sin((~c) + (~d)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("4_1_12_68", +@rule ∫(((~e)*(~x))^(~m)*((~!a) + (~!b)*cos((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + ext_isinteger((~p)) && + isfraction((~n)) ? +(~e)^intpart((~m))*((~e)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*cos((~c) + (~d)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("4_1_12_69", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*sin((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + ext_isinteger((~p)) && + !eq((~m), -1) && + igt(simplify((~n)/((~m) + 1)), 0) && + !(ext_isinteger((~n))) ? +1⨸((~m) + 1)* int_and_subst(((~a) + (~b)*sin((~c) + (~d)*(~x)^simplify((~n)⨸((~m) + 1))))^(~p), (~x), (~x), (~x)^((~m) + 1), "4_1_12_69") : nothing) + +("4_1_12_70", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*cos((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + ext_isinteger((~p)) && + !eq((~m), -1) && + igt(simplify((~n)/((~m) + 1)), 0) && + !(ext_isinteger((~n))) ? +1⨸((~m) + 1)* int_and_subst(((~a) + (~b)*cos((~c) + (~d)*(~x)^simplify((~n)⨸((~m) + 1))))^(~p), (~x), (~x), (~x)^((~m) + 1), "4_1_12_70") : nothing) + +("4_1_12_71", +@rule ∫(((~e)*(~x))^(~m)*((~!a) + (~!b)*sin((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + ext_isinteger((~p)) && + !eq((~m), -1) && + igt(simplify((~n)/((~m) + 1)), 0) && + !(ext_isinteger((~n))) ? +(~e)^intpart((~m))*((~e)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*sin((~c) + (~d)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("4_1_12_72", +@rule ∫(((~e)*(~x))^(~m)*((~!a) + (~!b)*cos((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + ext_isinteger((~p)) && + !eq((~m), -1) && + igt(simplify((~n)/((~m) + 1)), 0) && + !(ext_isinteger((~n))) ? +(~e)^intpart((~m))*((~e)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*cos((~c) + (~d)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("4_1_12_73", +@rule ∫(((~!e)*(~x))^(~!m)*sin((~!c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~c), (~d), (~e), (~m), (~n), (~x)) ? +(~I)⨸2*∫(((~e)*(~x))^(~m)*ℯ^(-(~c)*(~I) - (~d)*(~I)*(~x)^(~n)), (~x)) - (~I)⨸2*∫(((~e)*(~x))^(~m)*ℯ^((~c)*(~I) + (~d)*(~I)*(~x)^(~n)), (~x)) : nothing) + +("4_1_12_74", +@rule ∫(((~!e)*(~x))^(~!m)*cos((~!c) + (~!d)*(~x)^(~n)),(~x)) => + !contains_var((~c), (~d), (~e), (~m), (~n), (~x)) ? +1⨸2*∫(((~e)*(~x))^(~m)*ℯ^(-(~c)*(~I) - (~d)*(~I)*(~x)^(~n)), (~x)) + 1⨸2*∫(((~e)*(~x))^(~m)*ℯ^((~c)*(~I) + (~d)*(~I)*(~x)^(~n)), (~x)) : nothing) + +# ("4_1_12_75", +# @rule ∫(((~!e)*(~x))^(~!m)*((~!a) + (~!b)*sin((~!c) + (~!d)*(~x)^(~n)))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && +# igt((~p), 0) ? +# ∫(ExpandTrigReduce[((~e)*(~x))^(~m), ((~a) + (~b)*sin((~c) + (~d)*(~x)^(~n)))^(~p), (~x)], (~x)) : nothing) +# +# ("4_1_12_76", +# @rule ∫(((~!e)*(~x))^(~!m)*((~!a) + (~!b)*cos((~!c) + (~!d)*(~x)^(~n)))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && +# igt((~p), 0) ? +# ∫(ExpandTrigReduce[((~e)*(~x))^(~m), ((~a) + (~b)*cos((~c) + (~d)*(~x)^(~n)))^(~p), (~x)], (~x)) : nothing) + +# ("4_1_12_77", +# @rule ∫(((~!e)*(~x))^(~!m)*((~!a) + (~!b)*sin((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~e)*(~x))^(~m)*((~a) + (~b)*sin((~c) + (~d)*(~x)^(~n)))^(~p), (~x)] : nothing) + +# ("4_1_12_78", +# @rule ∫(((~!e)*(~x))^(~!m)*((~!a) + (~!b)*cos((~!c) + (~!d)*(~x)^(~n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~e)*(~x))^(~m)*((~a) + (~b)*cos((~c) + (~d)*(~x)^(~n)))^(~p), (~x)] : nothing) + +("4_1_12_79", +@rule ∫(((~e)*(~x))^(~!m)*((~!a) + (~!b)*sin((~u)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~m), (~p), (~x)) && + isbinomial((~u), (~x)) && + !(binomial_without_simplify((~u), (~x))) ? +∫(((~e)*(~x))^(~m)*((~a) + (~b)*sin(expand_to_sum((~u), (~x))))^(~p), (~x)) : nothing) + +("4_1_12_80", +@rule ∫(((~e)*(~x))^(~!m)*((~!a) + (~!b)*cos((~u)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~m), (~p), (~x)) && + isbinomial((~u), (~x)) && + !(binomial_without_simplify((~u), (~x))) ? +∫(((~e)*(~x))^(~m)*((~a) + (~b)*cos(expand_to_sum((~u), (~x))))^(~p), (~x)) : nothing) + +("4_1_12_81", +@rule ∫(((~!g) + (~!h)*(~x))^(~!m)*((~!a) + (~!b)*sin((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~x)) && + igt((~p), 0) && + ext_isinteger(1/(~n)) ? +1⨸((~n)*(~f))* int_and_subst( ext_expand(((~a) + (~b)*sin((~c) + (~d)*(~x)))^(~p), (~x)^(1⨸(~n) - 1)*((~g) - (~e)*(~h)⨸(~f) + (~h)*(~x)^(1⨸(~n))⨸(~f))^(~m), (~x)), (~x), (~x), ((~e) + (~f)*(~x))^(~n), "4_1_12_81") : nothing) + +("4_1_12_82", +@rule ∫(((~!g) + (~!h)*(~x))^(~!m)*((~!a) + (~!b)*cos((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~x)) && + igt((~p), 0) && + ext_isinteger(1/(~n)) ? +1⨸((~n)*(~f))* int_and_subst( ext_expand(((~a) + (~b)*cos((~c) + (~d)*(~x)))^(~p), (~x)^(1⨸(~n) - 1)*((~g) - (~e)*(~h)⨸(~f) + (~h)*(~x)^(1⨸(~n))⨸(~f))^(~m), (~x)), (~x), (~x), ((~e) + (~f)*(~x))^(~n), "4_1_12_82") : nothing) + +#(* Int[(g_.+h_.*x_)^m_.*(a_.+b_.*Sin[c_.+d_.*(e_.+f_.*x_)^n_])^p_.,x_ Symbol] := 1/(n*f^(m+1))*Subst[Int[ExpandIntegrand[(a+b*Sin[c+d*x])^p,x^(1/n-1) *(f*g-e*h+h*x^(1/n))^m,x],x],x,(e+f*x)^n] /; FreeQ[{a,b,c,d,e,f,g,h},x] && IGtQ[p,0] && IntegerQ[m] && IntegerQ[1/n] *) +#(* Int[(g_.+h_.*x_)^m_.*(a_.+b_.*Cos[c_.+d_.*(e_.+f_.*x_)^n_])^p_.,x_ Symbol] := 1/(n*f^(m+1))*Subst[Int[ExpandIntegrand[(a+b*Cos[c+d*x])^p,x^(1/n-1) *(f*g-e*h+h*x^(1/n))^m,x],x],x,(e+f*x)^n] /; FreeQ[{a,b,c,d,e,f,g,h},x] && IGtQ[p,0] && IntegerQ[m] && IntegerQ[1/n] *) +# ("4_1_12_83", +# @rule ∫(((~!g) + (~!h)*(~x))^(~!m)*((~!a) + (~!b)*sin((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) && +# igt((~p), 0) && +# igt((~m), 0) ? +# Module[{(~k) = (~If)[FractionQ[(~n)], ext_den((~n)), 1]}, (~k)⨸(~f)^((~m) + 1)* int_and_subst( ext_expand(((~a) + (~b)*sin((~c) + (~d)*(~x)^((~k)*(~n))))^(~p), (~x)^((~k) - 1)*((~f)*(~g) - (~e)*(~h) + (~h)*(~x)^(~k))^(~m), (~x)), (~x), (~x), ((~e) + (~f)*(~x))^(1⨸(~k)), "4_1_12_83")] : nothing) +# +# ("4_1_12_84", +# @rule ∫(((~!g) + (~!h)*(~x))^(~!m)*((~!a) + (~!b)*cos((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) && +# igt((~p), 0) && +# igt((~m), 0) ? +# Module[{(~k) = (~If)[FractionQ[(~n)], ext_den((~n)), 1]}, (~k)⨸(~f)^((~m) + 1)* int_and_subst( ext_expand(((~a) + (~b)*cos((~c) + (~d)*(~x)^((~k)*(~n))))^(~p), (~x)^((~k) - 1)*((~f)*(~g) - (~e)*(~h) + (~h)*(~x)^(~k))^(~m), (~x)), (~x), (~x), ((~e) + (~f)*(~x))^(1⨸(~k)), "4_1_12_84")] : nothing) + +("4_1_12_85", +@rule ∫(((~!g) + (~!h)*(~x))^(~!m)*((~!a) + (~!b)*sin((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~x)) && + igt((~p), 0) && + eq((~f)*(~g) - (~e)*(~h), 0) ? +1⨸(~f)*int_and_subst(((~h)*(~x)⨸(~f))^(~m)*((~a) + (~b)*sin((~c) + (~d)*(~x)^(~n)))^(~p), (~x), (~x), (~e) + (~f)*(~x), "4_1_12_85") : nothing) + +("4_1_12_86", +@rule ∫(((~!g) + (~!h)*(~x))^(~!m)*((~!a) + (~!b)*cos((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~x)) && + igt((~p), 0) && + eq((~f)*(~g) - (~e)*(~h), 0) ? +1⨸(~f)*int_and_subst(((~h)*(~x)⨸(~f))^(~m)*((~a) + (~b)*cos((~c) + (~d)*(~x)^(~n)))^(~p), (~x), (~x), (~e) + (~f)*(~x), "4_1_12_86") : nothing) + +# ("4_1_12_87", +# @rule ∫(((~!g) + (~!h)*(~x))^(~!m)*((~!a) + (~!b)*sin((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~g) + (~h)*(~x))^(~m)*((~a) + (~b)*sin((~c) + (~d)*((~e) + (~f)*(~x))^(~n)))^(~p), (~x)] : nothing) + +# ("4_1_12_88", +# @rule ∫(((~!g) + (~!h)*(~x))^(~!m)*((~!a) + (~!b)*cos((~!c) + (~!d)*((~!e) + (~!f)*(~x))^(~n)))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~g) + (~h)*(~x))^(~m)*((~a) + (~b)*cos((~c) + (~d)*((~e) + (~f)*(~x))^(~n)))^(~p), (~x)] : nothing) + +("4_1_12_89", +@rule ∫((~v)^(~!m)*((~!a) + (~!b)*sin((~!c) + (~!d)*(~u)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~x)) && + linear((~u), (~x)) && + linear((~v), (~x)) && + !( + linear_without_simplify((~u), (~x)) && + linear_without_simplify((~v), (~x)) + ) ? +∫(expand_to_sum((~v), (~x))^(~m)*((~a) + (~b)*sin((~c) + (~d)*expand_to_sum((~u), (~x))^(~n)))^(~p), (~x)) : nothing) + +("4_1_12_90", +@rule ∫((~v)^(~!m)*((~!a) + (~!b)*cos((~!c) + (~!d)*(~u)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~x)) && + linear((~u), (~x)) && + linear((~v), (~x)) && + !( + linear_without_simplify((~u), (~x)) && + linear_without_simplify((~v), (~x)) + ) ? +∫(expand_to_sum((~v), (~x))^(~m)*((~a) + (~b)*cos((~c) + (~d)*expand_to_sum((~u), (~x))^(~n)))^(~p), (~x)) : nothing) + +("4_1_12_91", +@rule ∫((~x)^(~!m)*sin((~!a) + (~!b)*(~x)^(~!n))^(~!p)*cos((~!a) + (~!b)*(~x)^(~!n)),(~x)) => + !contains_var((~a), (~b), (~m), (~n), (~p), (~x)) && + eq((~m), (~n) - 1) && + !eq((~p), -1) ? +sin((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*(~n)*((~p) + 1)) : nothing) + +("4_1_12_92", +@rule ∫((~x)^(~!m)*cos((~!a) + (~!b)*(~x)^(~!n))^(~!p)*sin((~!a) + (~!b)*(~x)^(~!n)),(~x)) => + !contains_var((~a), (~b), (~m), (~n), (~p), (~x)) && + eq((~m), (~n) - 1) && + !eq((~p), -1) ? +-cos((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*(~n)*((~p) + 1)) : nothing) + +("4_1_12_93", +@rule ∫((~x)^(~!m)*sin((~!a) + (~!b)*(~x)^(~!n))^(~!p)*cos((~!a) + (~!b)*(~x)^(~!n)),(~x)) => + !contains_var((~a), (~b), (~p), (~x)) && + lt(0, (~n), (~m) + 1) && + !eq((~p), -1) ? +(~x)^((~m) - (~n) + 1)*sin((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*(~n)*((~p) + 1)) - ((~m) - (~n) + 1)⨸((~b)*(~n)*((~p) + 1))* ∫((~x)^((~m) - (~n))*sin((~a) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing) + +("4_1_12_94", +@rule ∫((~x)^(~!m)*cos((~!a) + (~!b)*(~x)^(~!n))^(~!p)*sin((~!a) + (~!b)*(~x)^(~!n)),(~x)) => + !contains_var((~a), (~b), (~p), (~x)) && + lt(0, (~n), (~m) + 1) && + !eq((~p), -1) ? +-(~x)^((~m) - (~n) + 1)*cos((~a) + (~b)*(~x)^(~n))^((~p) + 1)⨸((~b)*(~n)*((~p) + 1)) + ((~m) - (~n) + 1)⨸((~b)*(~n)*((~p) + 1))* ∫((~x)^((~m) - (~n))*cos((~a) + (~b)*(~x)^(~n))^((~p) + 1), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.13 (d+e x)^m sin(a+b x+c x^2)^n.jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.13 (d+e x)^m sin(a+b x+c x^2)^n.jl new file mode 100644 index 0000000..3e8c052 --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.13 (d+e x)^m sin(a+b x+c x^2)^n.jl @@ -0,0 +1,191 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.13 (d+e x)^m sin(a+b x+c x^2)^n *) +("4_1_13_1", +@rule ∫(sin((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) ? +∫(sin(((~b) + 2*(~c)*(~x))^2⨸(4*(~c))), (~x)) : nothing) + +("4_1_13_2", +@rule ∫(cos((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) ? +∫(cos(((~b) + 2*(~c)*(~x))^2⨸(4*(~c))), (~x)) : nothing) + +("4_1_13_3", +@rule ∫(sin((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +cos(((~b)^2 - 4*(~a)*(~c))⨸(4*(~c)))*∫(sin(((~b) + 2*(~c)*(~x))^2⨸(4*(~c))), (~x)) - sin(((~b)^2 - 4*(~a)*(~c))⨸(4*(~c)))*∫(cos(((~b) + 2*(~c)*(~x))^2⨸(4*(~c))), (~x)) : nothing) + +("4_1_13_4", +@rule ∫(cos((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +cos(((~b)^2 - 4*(~a)*(~c))⨸(4*(~c)))*∫(cos(((~b) + 2*(~c)*(~x))^2⨸(4*(~c))), (~x)) + sin(((~b)^2 - 4*(~a)*(~c))⨸(4*(~c)))*∫(sin(((~b) + 2*(~c)*(~x))^2⨸(4*(~c))), (~x)) : nothing) + +# ("4_1_13_5", +# @rule ∫(sin((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~n),(~x)) => +# !contains_var((~a), (~b), (~c), (~x)) && +# igt((~n), 1) ? +# ∫(ExpandTrigReduce[sin((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~n), (~x)], (~x)) : nothing) +# +# ("4_1_13_6", +# @rule ∫(cos((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~n),(~x)) => +# !contains_var((~a), (~b), (~c), (~x)) && +# igt((~n), 1) ? +# ∫(ExpandTrigReduce[cos((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~n), (~x)], (~x)) : nothing) + +# ("4_1_13_7", +# @rule ∫(sin((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~n), (~x)) ? +# Unintegrable[sin((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~n), (~x)] : nothing) + +# ("4_1_13_8", +# @rule ∫(cos((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~n), (~x)) ? +# Unintegrable[cos((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~n), (~x)] : nothing) + +("4_1_13_9", +@rule ∫(sin((~v))^(~!n),(~x)) => + igt((~n), 0) && + quadratic((~v), (~x)) && + !(quadratic_without_simplify((~v), (~x))) ? +∫(sin(expand_to_sum((~v), (~x)))^(~n), (~x)) : nothing) + +("4_1_13_10", +@rule ∫(cos((~v))^(~!n),(~x)) => + igt((~n), 0) && + quadratic((~v), (~x)) && + !(quadratic_without_simplify((~v), (~x))) ? +∫(cos(expand_to_sum((~v), (~x)))^(~n), (~x)) : nothing) + +("4_1_13_11", +@rule ∫(((~d) + (~!e)*(~x))*sin((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) ? +-(~e)*cos((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸(2*(~c)) : nothing) + +("4_1_13_12", +@rule ∫(((~d) + (~!e)*(~x))*cos((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) ? +(~e)*sin((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸(2*(~c)) : nothing) + +("4_1_13_13", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*sin((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + gt((~m), 1) ? +-(~e)*((~d) + (~e)*(~x))^((~m) - 1)*cos((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸(2*(~c)) + (~e)^2*((~m) - 1)⨸(2*(~c))* ∫(((~d) + (~e)*(~x))^((~m) - 2)*cos((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("4_1_13_14", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*cos((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + gt((~m), 1) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)*sin((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸(2*(~c)) - (~e)^2*((~m) - 1)⨸(2*(~c))* ∫(((~d) + (~e)*(~x))^((~m) - 2)*sin((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("4_1_13_15", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*sin((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + lt((~m), -1) ? +((~d) + (~e)*(~x))^((~m) + 1)*sin((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸((~e)*((~m) + 1)) - 2*(~c)⨸((~e)^2*((~m) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 2)*cos((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("4_1_13_16", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*cos((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq(2*(~c)*(~d) - (~b)*(~e), 0) && + lt((~m), -1) ? +((~d) + (~e)*(~x))^((~m) + 1)*cos((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸((~e)*((~m) + 1)) + 2*(~c)⨸((~e)^2*((~m) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 2)*sin((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("4_1_13_17", +@rule ∫(((~!d) + (~!e)*(~x))*sin((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) ? +-(~e)*cos((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸(2*(~c)) + (2*(~c)*(~d) - (~b)*(~e))⨸(2*(~c))*∫(sin((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("4_1_13_18", +@rule ∫(((~!d) + (~!e)*(~x))*cos((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq(2*(~c)*(~d) - (~b)*(~e), 0) ? +(~e)*sin((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸(2*(~c)) + (2*(~c)*(~d) - (~b)*(~e))⨸(2*(~c))*∫(cos((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("4_1_13_19", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*sin((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)*(~e) - 2*(~c)*(~d), 0) && + gt((~m), 1) ? +-(~e)*((~d) + (~e)*(~x))^((~m) - 1)*cos((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸(2*(~c)) - ((~b)*(~e) - 2*(~c)*(~d))⨸(2*(~c))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*sin((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) + (~e)^2*((~m) - 1)⨸(2*(~c))* ∫(((~d) + (~e)*(~x))^((~m) - 2)*cos((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("4_1_13_20", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*cos((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)*(~e) - 2*(~c)*(~d), 0) && + gt((~m), 1) ? +(~e)*((~d) + (~e)*(~x))^((~m) - 1)*sin((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸(2*(~c)) - ((~b)*(~e) - 2*(~c)*(~d))⨸(2*(~c))* ∫(((~d) + (~e)*(~x))^((~m) - 1)*cos((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) - (~e)^2*((~m) - 1)⨸(2*(~c))* ∫(((~d) + (~e)*(~x))^((~m) - 2)*sin((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("4_1_13_21", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*sin((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)*(~e) - 2*(~c)*(~d), 0) && + lt((~m), -1) ? +((~d) + (~e)*(~x))^((~m) + 1)*sin((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸((~e)*((~m) + 1)) - ((~b)*(~e) - 2*(~c)*(~d))⨸((~e)^2*((~m) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*cos((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) - 2*(~c)⨸((~e)^2*((~m) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 2)*cos((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +("4_1_13_22", +@rule ∫(((~!d) + (~!e)*(~x))^(~m)*cos((~!a) + (~!b)*(~x) + (~!c)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)*(~e) - 2*(~c)*(~d), 0) && + lt((~m), -1) ? +((~d) + (~e)*(~x))^((~m) + 1)*cos((~a) + (~b)*(~x) + (~c)*(~x)^2)⨸((~e)*((~m) + 1)) + ((~b)*(~e) - 2*(~c)*(~d))⨸((~e)^2*((~m) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*sin((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) + 2*(~c)⨸((~e)^2*((~m) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 2)*sin((~a) + (~b)*(~x) + (~c)*(~x)^2), (~x)) : nothing) + +# ("4_1_13_23", +# @rule ∫(((~!d) + (~!e)*(~x))^(~!m)*sin((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && +# igt((~n), 1) ? +# ∫(ExpandTrigReduce[((~d) + (~e)*(~x))^(~m), sin((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~n), (~x)], (~x)) : nothing) +# +# ("4_1_13_24", +# @rule ∫(((~!d) + (~!e)*(~x))^(~!m)*cos((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && +# igt((~n), 1) ? +# ∫(ExpandTrigReduce[((~d) + (~e)*(~x))^(~m), cos((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~n), (~x)], (~x)) : nothing) + +# ("4_1_13_25", +# @rule ∫(((~!d) + (~!e)*(~x))^(~!m)*sin((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) ? +# Unintegrable[((~d) + (~e)*(~x))^(~m)*sin((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~n), (~x)] : nothing) + +# ("4_1_13_26", +# @rule ∫(((~!d) + (~!e)*(~x))^(~!m)*cos((~!a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) ? +# Unintegrable[((~d) + (~e)*(~x))^(~m)*cos((~a) + (~b)*(~x) + (~c)*(~x)^2)^(~n), (~x)] : nothing) + +("4_1_13_27", +@rule ∫((~u)^(~!m)*sin((~v))^(~!n),(~x)) => + !contains_var((~m), (~x)) && + igt((~n), 0) && + linear((~u), (~x)) && + quadratic((~v), (~x)) && + !( + linear_without_simplify((~u), (~x)) && + quadratic_without_simplify((~v), (~x)) + ) ? +∫(expand_to_sum((~u), (~x))^(~m)*sin(expand_to_sum((~v), (~x)))^(~n), (~x)) : nothing) + +("4_1_13_28", +@rule ∫((~u)^(~!m)*cos((~v))^(~!n),(~x)) => + !contains_var((~m), (~x)) && + igt((~n), 0) && + linear((~u), (~x)) && + quadratic((~v), (~x)) && + !( + linear_without_simplify((~u), (~x)) && + quadratic_without_simplify((~v), (~x)) + ) ? +∫(expand_to_sum((~u), (~x))^(~m)*cos(expand_to_sum((~v), (~x)))^(~n), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.2/4.1.2.1 (a+b sin)^m (c+d sin)^n.jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.2/4.1.2.1 (a+b sin)^m (c+d sin)^n.jl new file mode 100644 index 0000000..68c3e2c --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.2/4.1.2.1 (a+b sin)^m (c+d sin)^n.jl @@ -0,0 +1,917 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.2.1 (a+b sin)^m (c+d sin)^n *) +("4_1_2_1_1", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +(2*(~a)*(~c) + (~b)*(~d))*(~x)⨸2 - ((~b)*(~c) + (~a)*(~d))*cos((~e) + (~f)*(~x))⨸(~f) - (~b)*(~d)*cos((~e) + (~f)*(~x))*sin((~e) + (~f)*(~x))⨸(2*(~f)) : nothing) + +("4_1_2_1_2", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))/((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +(~b)*(~x)⨸(~d) - ((~b)*(~c) - (~a)*(~d))⨸(~d)*∫(1⨸((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_1_3", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m)) && + !( + ext_isinteger( (~n)) && + ( + lt((~m), 0) && + gt((~n), 0) || + lt(0, (~n), (~m)) || + lt((~m), (~n), 0) + ) + ) ? +(~a)^(~m)*(~c)^(~m)*∫(cos((~e) + (~f)*(~x))^(2*(~m))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - (~m)), (~x)) : nothing) + +("4_1_2_1_4", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) ? +(~a)*(~c)*cos( (~e) + (~f)*(~x))⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))))* ∫(cos((~e) + (~f)*(~x))⨸((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_1_5", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~n), -1/2) ? +-2*(~b)*cos( (~e) + (~f)*(~x))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)⨸((~f)*(2*(~n) + 1)*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))) : nothing) + +("4_1_2_1_6", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + igt((~m) - 1/2, 0) && + lt((~n), -1) && + !( + ilt((~m) + (~n), 0) && + gt(2*(~m) + (~n) + 1, 0) + ) ? +-2*(~b)*cos( (~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)⨸((~f)*(2*(~n) + 1)) - (~b)*(2*(~m) - 1)⨸((~d)*(2*(~n) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_1_2_1_7", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + igt((~m) - 1/2, 0) && + !(lt((~n), -1)) && + !( + igt((~n) - 1/2, 0) && + lt((~n), (~m)) + ) && + !( + ilt((~m) + (~n), 0) && + gt(2*(~m) + (~n) + 1, 0) + ) ? +-(~b)*cos( (~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)⨸((~f)*((~m) + (~n))) + (~a)*(2*(~m) - 1)⨸((~m) + (~n))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_2_1_8", +@rule ∫(1/(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) ? +cos((~e) + (~f)*(~x))⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))))* ∫(1⨸cos((~e) + (~f)*(~x)), (~x)) : nothing) + +("4_1_2_1_9", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + eq((~m) + (~n) + 1, 0) && + !eq((~m), -1/2) ? +(~b)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~a)*(~f)*(2*(~m) + 1)) : nothing) + +("4_1_2_1_10", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + ilt(simplify((~m) + (~n) + 1), 0) && + !eq((~m), -1/2) && + ( + sumsimpler((~m), 1) || + !(sumsimpler((~n), 1)) + ) ? +(~b)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~a)*(~f)*(2*(~m) + 1)) + ((~m) + (~n) + 1)⨸((~a)*(2*(~m) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_2_1_11", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + !(lt((~m), (~n), -1)) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~b)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~a)*(~f)*(2*(~m) + 1)) + ((~m) + (~n) + 1)⨸((~a)*(2*(~m) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_2_1_12", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + ( + isfraction((~m)) || + !(isfraction((~n))) + ) ? +(~a)^intpart((~m))* (~c)^intpart((~m))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ fracpart((~m))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^fracpart((~m))⨸ cos((~e) + (~f)*(~x))^(2*fracpart((~m)))* ∫(cos((~e) + (~f)*(~x))^(2*(~m))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - (~m)), (~x)) : nothing) + +("4_1_2_1_13", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^2/((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +-(~b)^2*cos((~e) + (~f)*(~x))⨸((~d)*(~f)) + 1⨸(~d)*∫(simp((~a)^2*(~d) - (~b)*((~b)*(~c) - 2*(~a)*(~d))*sin((~e) + (~f)*(~x)), (~x))⨸((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_1_14", +@rule ∫(1/(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +(~b)⨸((~b)*(~c) - (~a)*(~d))*∫(1⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) - (~d)⨸((~b)*(~c) - (~a)*(~d))*∫(1⨸((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_1_15", +@rule ∫(((~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~m), (~x)) ? +(~c)*∫(((~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) + (~d)⨸(~b)*∫(((~b)*sin((~e) + (~f)*(~x)))^((~m) + 1), (~x)) : nothing) + +("4_1_2_1_16", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + eq((~a)*(~d)*(~m) + (~b)*(~c)*((~m) + 1), 0) ? +-(~d)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸((~f)*((~m) + 1)) : nothing) + +("4_1_2_1_17", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1/2) ? +((~b)*(~c) - (~a)*(~d))*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸((~a)*(~f)*(2*(~m) + 1)) + ((~a)*(~d)*(~m) + (~b)*(~c)*((~m) + 1))⨸((~a)*(~b)*(2*(~m) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1), (~x)) : nothing) + +("4_1_2_1_18", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !(lt((~m), -1/2)) ? +-(~d)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸((~f)*((~m) + 1)) + ((~a)*(~d)*(~m) + (~b)*(~c)*((~m) + 1))⨸((~b)*((~m) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) : nothing) + +("4_1_2_1_19", +@rule ∫(((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))/sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) ? +((~b)*(~c) - (~a)*(~d))⨸(~b)*∫(1⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) + (~d)⨸(~b)*∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_1_20", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~m), 0) && + ext_isinteger(2*(~m)) ? +-(~d)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸((~f)*((~m) + 1)) + 1⨸((~m) + 1)* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)* simp((~b)*(~d)*(~m) + (~a)*(~c)*((~m) + 1) + ((~a)*(~d)*(~m) + (~b)*(~c)*((~m) + 1))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_1_21", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + ext_isinteger(2*(~m)) ? +-((~b)*(~c) - (~a)*(~d))* cos((~e) + (~f)* (~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~f)*((~m) + 1)*((~a)^2 - (~b)^2)) + 1⨸(((~m) + 1)*((~a)^2 - (~b)^2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)* simp(((~a)*(~c) - (~b)*(~d))*((~m) + 1) - ((~b)*(~c) - (~a)*(~d))*((~m) + 2)*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_1_22", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger(2*(~m))) && + eq((~c)^2 - (~d)^2, 0) ? +(~c)*cos((~e) + (~f)*(~x))⨸((~f)*sqrt(1 + sin((~e) + (~f)*(~x)))*sqrt(1 - sin((~e) + (~f)*(~x))))* int_and_subst(((~a) + (~b)*(~x))^(~m)*sqrt(1 + (~d)⨸(~c)*(~x))⨸sqrt(1 - (~d)⨸(~c)*(~x)), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_2_1_22") : nothing) + +("4_1_2_1_23", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) ? +((~b)*(~c) - (~a)*(~d))⨸(~b)*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) + (~d)⨸(~b)*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1), (~x)) : nothing) + +("4_1_2_1_24", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!d)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + igt((~m), 0) && + isrational((~n)) ? +∫(ext_expand(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("4_1_2_1_25", +@rule ∫(sin((~!e) + (~!f)*(~x))^2*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1/2) ? +(~b)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸((~a)*(~f)*(2*(~m) + 1)) - 1⨸((~a)^2*(2*(~m) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~a)*(~m) - (~b)*(2*(~m) + 1)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_1_26", +@rule ∫(sin((~!e) + (~!f)*(~x))^2*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(lt((~m), -1/2)) ? +-cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)*((~m) + 2)) + 1⨸((~b)*((~m) + 2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~b)*((~m) + 1) - (~a)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_1_27", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) ? +((~b)*(~c) - (~a)*(~d))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸((~a)*(~f)*(2*(~m) + 1)) + 1⨸((~a)*(~b)*(2*(~m) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)* simp((~a)*(~c)*(~d)*((~m) - 1) + (~b)*((~d)^2 + (~c)^2*((~m) + 1)) + (~d)*((~a)*(~d)*((~m) - 1) + (~b)*(~c)*((~m) + 2))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_1_28", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !(lt((~m), -1)) ? +-(~d)^2*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)*((~m) + 2)) + 1⨸((~b)*((~m) + 2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)* simp((~b)*((~d)^2*((~m) + 1) + (~c)^2*((~m) + 2)) - (~d)*((~a)*(~d) - 2*(~b)*(~c)*((~m) + 2))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_1_29", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~m), 1) && + lt((~n), -1) && + ( + ext_isinteger(2*(~m), 2*(~n)) || + ext_isinteger((~m) + 1/2) || + ext_isinteger((~m)) && + eq((~c), 0) + ) ? +-(~b)^2*((~b)*(~c) - (~a)*(~d))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 2)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~n) + 1)*((~b)*(~c) + (~a)*(~d))) + (~b)^2⨸((~d)*((~n) + 1)*((~b)*(~c) + (~a)*(~d)))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 2)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)* simp((~a)*(~c)*((~m) - 2) - (~b)*(~d)*((~m) - 2*(~n) - 4) - ((~b)*(~c)*((~m) - 1) - (~a)*(~d)*((~m) + 2*(~n) + 1))* sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_1_30", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~m), 1) && + !(lt((~n), -1)) && + ( + ext_isinteger(2*(~m), 2*(~n)) || + ext_isinteger((~m) + 1/2) || + ext_isinteger((~m)) && + eq((~c), 0) + ) ? +-(~b)^2*cos( (~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 2)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~m) + (~n))) + 1⨸((~d)*((~m) + (~n)))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 2)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~a)*(~b)*(~c)*((~m) - 2) + (~b)^2*(~d)*((~n) + 1) + (~a)^2*(~d)*((~m) + (~n)) - (~b)*((~b)*(~c)*((~m) - 1) - (~a)*(~d)*(3*(~m) + 2*(~n) - 2))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_1_31", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~m), -1) && + lt(0, (~n), 1) && + ( + ext_isinteger(2*(~m), 2*(~n)) || + ext_isinteger((~m)) && + eq((~c), 0) + ) ? +(~b)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~a)*(~f)*(2*(~m) + 1)) - 1⨸((~a)*(~b)*(2*(~m) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 1)* simp((~a)*(~d)*(~n) - (~b)*(~c)*((~m) + 1) - (~b)*(~d)*((~m) + (~n) + 1)*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_1_32", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~m), -1) && + gt((~n), 1) && + ( + ext_isinteger(2*(~m), 2*(~n)) || + ext_isinteger((~m)) && + eq((~c), 0) + ) ? +((~b)*(~c) - (~a)*(~d))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 1)⨸((~a)*(~f)*(2*(~m) + 1)) + 1⨸((~a)*(~b)*(2*(~m) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 2)* simp((~b)*((~c)^2*((~m) + 1) + (~d)^2*((~n) - 1)) + (~a)*(~c)*(~d)*((~m) - (~n) + 1) + (~d)*((~a)*(~d)*((~m) - (~n) + 1) + (~b)*(~c)*((~m) + (~n)))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_1_33", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~m), -1) && + !(gt((~n), 0)) && + ( + ext_isinteger(2*(~m), 2*(~n)) || + ext_isinteger((~m)) && + eq((~c), 0) + ) ? +(~b)^2*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~a)*(~f)*(2*(~m) + 1)*((~b)*(~c) - (~a)*(~d))) + 1⨸((~a)*(2*(~m) + 1)*((~b)*(~c) - (~a)*(~d)))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~b)*(~c)*((~m) + 1) - (~a)*(~d)*(2*(~m) + (~n) + 2) + (~b)*(~d)*((~m) + (~n) + 2)*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_1_34", +@rule ∫(((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~n), 1) && + ( + ext_isinteger(2*(~n)) || + eq((~c), 0) + ) ? +-((~b)*(~c) - (~a)*(~d))* cos((~e) + (~f)*(~x))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 1)⨸((~a)* (~f)*((~a) + (~b)*sin((~e) + (~f)*(~x)))) - (~d)⨸((~a)*(~b))* ∫(((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 2)* simp((~b)*(~d)*((~n) - 1) - (~a)*(~c)*(~n) + ((~b)*(~c)*((~n) - 1) - (~a)*(~d)*(~n))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_1_35", +@rule ∫(((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~n), 0) && + ( + ext_isinteger(2*(~n)) || + eq((~c), 0) + ) ? +-(~b)^2*cos( (~e) + (~f)*(~x))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~a)* (~f)*((~b)*(~c) - (~a)*(~d))*((~a) + (~b)*sin((~e) + (~f)*(~x)))) + (~d)⨸((~a)*((~b)*(~c) - (~a)*(~d)))* ∫(((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)*((~a)*(~n) - (~b)*((~n) + 1)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_1_36", +@rule ∫(((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + ( + ext_isinteger(2*(~n)) || + eq((~c), 0) + ) ? +-(~b)*cos((~e) + (~f)*(~x))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~a)*(~f)*((~a) + (~b)*sin((~e) + (~f)*(~x)))) + (~d)*(~n)⨸((~a)*(~b))* ∫(((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 1)*((~a) - (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_1_37", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~n), 0) && + ext_isinteger(2*(~n)) ? +-2*(~b)*cos( (~e) + (~f)*(~x))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)⨸((~f)*(2*(~n) + 1)*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))) + 2*(~n)*((~b)*(~c) + (~a)*(~d))⨸((~b)*(2*(~n) + 1))* ∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 1), (~x)) : nothing) + +("4_1_2_1_38", +@rule ∫(sqrt( (~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(3//2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +-2*(~b)^2* cos((~e) + (~f)*(~x))⨸((~f)*((~b)*(~c) + (~a)*(~d))*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))) : nothing) + +("4_1_2_1_39", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~n), -1) && + !eq(2*(~n) + 3, 0) && + ext_isinteger(2*(~n)) ? +((~b)*(~c) - (~a)*(~d))* cos((~e) + (~f)*(~x))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~f)*((~n) + 1)*((~c)^2 - (~d)^2)* sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))) + (2*(~n) + 3)*((~b)*(~c) - (~a)*(~d))⨸(2*(~b)*((~n) + 1)*((~c)^2 - (~d)^2))* ∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_1_2_1_40", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +-2*(~b)⨸(~f)* int_and_subst(1⨸((~b)*(~c) + (~a)*(~d) - (~d)*(~x)^2), (~x), (~x), (~b)*cos((~e) + (~f)*(~x))⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), "4_1_2_1_40") : nothing) + +("4_1_2_1_41", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/sqrt((~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + eq((~d), (~a)/(~b)) ? +-2⨸(~f)*int_and_subst(1⨸sqrt(1 - (~x)^2⨸(~a)), (~x), (~x), (~b)*cos((~e) + (~f)*(~x))⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), "4_1_2_1_41") : nothing) + +("4_1_2_1_42", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/ sqrt((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +-2*(~b)⨸(~f)* int_and_subst(1⨸((~b) + (~d)*(~x)^2), (~x), (~x), (~b)*cos((~e) + (~f)*(~x))⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), "4_1_2_1_42") : nothing) + +("4_1_2_1_43", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + !(ext_isinteger(2*(~n))) ? +(~a)^2*cos( (~e) + (~f)*(~x))⨸((~f)*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt((~a) - (~b)*sin((~e) + (~f)*(~x))))* int_and_subst(((~c) + (~d)*(~x))^(~n)⨸sqrt((~a) - (~b)*(~x)), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_2_1_43") : nothing) + +("4_1_2_1_44", +@rule ∫(sqrt((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))/ sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +(~d)⨸(~b)*∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) + ((~b)*(~c) - (~a)*(~d))⨸(~b)* ∫(1⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_1_45", +@rule ∫(((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n)/sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~n), 1) && + ext_isinteger(2*(~n)) ? +-2*(~d)*cos( (~e) + (~f)*(~x))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*(2*(~n) - 1)* sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))) - 1⨸((~b)*(2*(~n) - 1))* ∫(((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 2)⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))* simp((~a)*(~c)*(~d) - (~b)*(2*(~d)^2*((~n) - 1) + (~c)^2*(2*(~n) - 1)) + (~d)*((~a)*(~d) - (~b)*(~c)*(4*(~n) - 3))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_1_46", +@rule ∫(((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n)/sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~n), -1) && + ext_isinteger(2*(~n)) ? +-(~d)*cos( (~e) + (~f)*(~x))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~f)*((~n) + 1)*((~c)^2 - (~d)^2)* sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))) - 1⨸(2*(~b)*((~n) + 1)*((~c)^2 - (~d)^2))* ∫(((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)* simp((~a)*(~d) - 2*(~b)*(~c)*((~n) + 1) + (~b)*(~d)*(2*(~n) + 3)*sin((~e) + (~f)*(~x)), (~x))⨸ sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_1_47", +@rule ∫(1/(sqrt( (~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +(~b)⨸((~b)*(~c) - (~a)*(~d))*∫(1⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) - (~d)⨸((~b)*(~c) - (~a)*(~d))* ∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_1_48", +@rule ∫(1/(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*sqrt((~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + eq((~d), (~a)/(~b)) && + gt((~a), 0) ? +-sqrt(2)⨸(sqrt((~a))*(~f))* int_and_subst(1⨸sqrt(1 - (~x)^2), (~x), (~x), (~b)*cos((~e) + (~f)*(~x))⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), "4_1_2_1_48") : nothing) + +("4_1_2_1_49", +@rule ∫(1/(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +-2*(~a)⨸(~f)* int_and_subst(1⨸(2*(~b)^2 - ((~a)*(~c) - (~b)*(~d))*(~x)^2), (~x), (~x), (~b)*cos((~e) + (~f)*(~x))⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), "4_1_2_1_49") : nothing) + +("4_1_2_1_50", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~n), 1) && + ext_isinteger((~n)) ? +-(~d)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*((~m) + (~n))) + 1⨸((~b)*((~m) + (~n)))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 2)* simp((~d)*((~a)*(~c)*(~m) + (~b)*(~d)*((~n) - 1)) + (~b)*(~c)^2*((~m) + (~n)) + (~d)*((~a)*(~d)*(~m) + (~b)*(~c)*((~m) + 2*(~n) - 1))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_1_51", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + ext_isinteger((~m)) ? +(~a)^(~m)*cos((~e) + (~f)*(~x))⨸((~f)*sqrt(1 + sin((~e) + (~f)*(~x)))*sqrt(1 - sin((~e) + (~f)*(~x))))* int_and_subst((1 + (~b)⨸(~a)*(~x))^((~m) - 1⨸2)*((~c) + (~d)*(~x))^(~n)⨸sqrt(1 - (~b)⨸(~a)*(~x)), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_2_1_51") : nothing) + +("4_1_2_1_52", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger((~m))) && + gt((~a), 0) && + gt((~d)/(~b), 0) ? +-(~b)*((~d)⨸(~b))^(~n)* cos((~e) + (~f)*(~x))⨸((~f)*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))* sqrt((~a) - (~b)*sin((~e) + (~f)*(~x))))* int_and_subst(((~a) - (~x))^(~n)*(2*(~a) - (~x))^((~m) - 1⨸2)⨸sqrt((~x)), (~x), (~x), (~a) - (~b)*sin((~e) + (~f)*(~x)), "4_1_2_1_52") : nothing) + +("4_1_2_1_53", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!d)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger((~m))) && + gt((~a), 0) && + !(gt((~d)/(~b), 0)) ? +((~d)⨸(~b))^ intpart((~n))*((~d)*sin((~e) + (~f)*(~x)))^fracpart((~n))⨸((~b)*sin((~e) + (~f)*(~x)))^ fracpart((~n))*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~b)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_2_1_54", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!d)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger((~m))) && + !(gt((~a), 0)) ? +(~a)^intpart((~m))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ fracpart((~m))⨸(1 + (~b)⨸(~a)*sin((~e) + (~f)*(~x)))^fracpart((~m))* ∫((1 + (~b)⨸(~a)*sin((~e) + (~f)*(~x)))^(~m)*((~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_2_1_55", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + !(ext_isinteger((~m))) ? +(~a)^2*cos( (~e) + (~f)*(~x))⨸((~f)*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt((~a) - (~b)*sin((~e) + (~f)*(~x))))* int_and_subst(((~a) + (~b)*(~x))^((~m) - 1⨸2)*((~c) + (~d)*(~x))^(~n)⨸sqrt((~a) - (~b)*(~x)), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_2_1_55") : nothing) + +("4_1_2_1_56", +@rule ∫(((~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^2,(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~m), (~x)) ? +2*(~c)*(~d)⨸(~b)*∫(((~b)*sin((~e) + (~f)*(~x)))^((~m) + 1), (~x)) + ∫(((~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c)^2 + (~d)^2*sin((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_2_1_57", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) ? +-((~b)^2*(~c)^2 - 2*(~a)*(~b)*(~c)*(~d) + (~a)^2*(~d)^2)* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)* (~f)*((~m) + 1)*((~a)^2 - (~b)^2)) - 1⨸((~b)*((~m) + 1)*((~a)^2 - (~b)^2))*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)* simp((~b)*((~m) + 1)*(2*(~b)*(~c)*(~d) - (~a)*((~c)^2 + (~d)^2)) + ((~a)^2*(~d)^2 - 2*(~a)*(~b)*(~c)*(~d)*((~m) + 2) + (~b)^2*((~d)^2*((~m) + 1) + (~c)^2*((~m) + 2)))* sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_1_58", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !(lt((~m), -1)) ? +-(~d)^2*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)*((~m) + 2)) + 1⨸((~b)*((~m) + 2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)* simp((~b)*((~d)^2*((~m) + 1) + (~c)^2*((~m) + 2)) - (~d)*((~a)*(~d) - 2*(~b)*(~c)*((~m) + 2))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +#(* Int[(a_+b_.*sin[e_.+f_.*x_])^m_.*(d_.*sin[e_.+f_.*x_])^n_.,x_ Symbol] := Int[ExpandTrig[(a+b*sin[e+f*x])^m*(d*sin[e+f*x])^n,x],x] /; FreeQ[{a,b,d,e,f,n},x] && NeQ[a^2-b^2,0] && IGtQ[m,0] *) +("4_1_2_1_59", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~m), 2) && + lt((~n), -1) && + ( + ext_isinteger((~m)) || + ext_isinteger(2*(~m), 2*(~n)) + ) ? +-((~b)^2*(~c)^2 - 2*(~a)*(~b)*(~c)*(~d) + (~a)^2*(~d)^2)* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 2)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~n) + 1)*((~c)^2 - (~d)^2)) + 1⨸((~d)*((~n) + 1)*((~c)^2 - (~d)^2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 3)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)* simp((~b)*((~m) - 2)*((~b)*(~c) - (~a)*(~d))^2 + (~a)*(~d)*((~n) + 1)*((~c)*((~a)^2 + (~b)^2) - 2*(~a)*(~b)*(~d)) + ((~b)*((~n) + 1)*((~a)*(~b)*(~c)^2 + (~c)*(~d)*((~a)^2 + (~b)^2) - 3*(~a)*(~b)*(~d)^2) - (~a)*((~n) + 2)*((~b)*(~c) - (~a)*(~d))^2)*sin((~e) + (~f)*(~x)) + (~b)*((~b)^2*((~c)^2 - (~d)^2) - (~m)*((~b)*(~c) - (~a)*(~d))^2 + (~d)*(~n)*(2*(~a)*(~b)*(~c) - (~d)*((~a)^2 + (~b)^2)))*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_2_1_60", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~m), 2) && + ( + ext_isinteger((~m)) || + ext_isinteger(2*(~m), 2*(~n)) + ) && + !( + igt((~n), 2) && + ( + !(ext_isinteger((~m))) || + eq((~a), 0) && + !eq((~c), 0) + ) + ) ? +-(~b)^2*cos( (~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 2)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~m) + (~n))) + 1⨸((~d)*((~m) + (~n)))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 3)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~a)^3*(~d)*((~m) + (~n)) + (~b)^2*((~b)*(~c)*((~m) - 2) + (~a)*(~d)*((~n) + 1)) - (~b)*((~a)*(~b)*(~c) - (~b)^2*(~d)*((~m) + (~n) - 1) - 3*(~a)^2*(~d)*((~m) + (~n)))* sin((~e) + (~f)*(~x)) - (~b)^2*((~b)*(~c)*((~m) - 1) - (~a)*(~d)*(3*(~m) + 2*(~n) - 2))*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_2_1_61", +@rule ∫(sqrt((~!d)*sin((~!e) + (~!f)*(~x)))/((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(3//2),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +-2*(~a)*(~d)* cos((~e) + (~f)*(~x))⨸((~f)*((~a)^2 - (~b)^2)*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))* sqrt((~d)*sin((~e) + (~f)*(~x)))) - (~d)^2⨸((~a)^2 - (~b)^2)* ∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸((~d)*sin((~e) + (~f)*(~x)))^(3⨸2), (~x)) : nothing) + +("4_1_2_1_62", +@rule ∫(sqrt( (~c) + (~!d)*sin((~!e) + (~!f)*(~x)))/((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(3//2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +((~c) - (~d))⨸((~a) - (~b))* ∫(1⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) - ((~b)*(~c) - (~a)*(~d))⨸((~a) - (~b))* ∫((1 + sin((~e) + (~f)*(~x)))⨸(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(3⨸2)* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_1_63", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~m), -1) && + lt(0, (~n), 1) && + ext_isinteger(2*(~m), 2*(~n)) ? +-(~b)*cos( (~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)⨸((~f)*((~m) + 1)*((~a)^2 - (~b)^2)) + 1⨸(((~m) + 1)*((~a)^2 - (~b)^2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 1)* simp((~a)*(~c)*((~m) + 1) + (~b)*(~d)*(~n) + ((~a)*(~d)*((~m) + 1) - (~b)*(~c)*((~m) + 2))*sin((~e) + (~f)*(~x)) - (~b)*(~d)*((~m) + (~n) + 2)*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_2_1_64", +@rule ∫(((~!d)*sin((~!e) + (~!f)*(~x)))^(3//2)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(3//2),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +(~d)⨸(~b)*∫(sqrt((~d)*sin((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) - (~a)*(~d)⨸(~b)*∫(sqrt((~d)*sin((~e) + (~f)*(~x)))⨸((~a) + (~b)*sin((~e) + (~f)*(~x)))^(3⨸2), (~x)) : nothing) + +("4_1_2_1_65", +@rule ∫(((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(3//2)/((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(3//2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +(~d)^2⨸(~b)^2*∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) + ((~b)*(~c) - (~a)*(~d))⨸(~b)^2* ∫(simp((~b)*(~c) + (~a)*(~d) + 2*(~b)*(~d)*sin((~e) + (~f)*(~x)), (~x))⨸(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(3⨸2)*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_1_66", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~m), -1) && + lt(1, (~n), 2) && + ext_isinteger(2*(~m), 2*(~n)) ? +-((~b)*(~c) - (~a)*(~d))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*((~m) + 1)*((~a)^2 - (~b)^2)) + 1⨸(((~m) + 1)*((~a)^2 - (~b)^2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 2)* simp((~c)*((~a)*(~c) - (~b)*(~d))*((~m) + 1) + (~d)*((~b)*(~c) - (~a)*(~d))*((~n) - 1) + ((~d)*((~a)*(~c) - (~b)*(~d))*((~m) + 1) - (~c)*((~b)*(~c) - (~a)*(~d))*((~m) + 2))*sin((~e) + (~f)*(~x)) - (~d)*((~b)*(~c) - (~a)*(~d))*((~m) + (~n) + 1)*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_2_1_67", +@rule ∫(1/(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(3//2)* sqrt((~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +2*(~b)*cos( (~e) + (~f)*(~x))⨸((~f)*((~a)^2 - (~b)^2)*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))* sqrt((~d)*sin((~e) + (~f)*(~x)))) + (~d)⨸((~a)^2 - (~b)^2)* ∫(((~b) + (~a)*sin((~e) + (~f)*(~x)))⨸(sqrt( (~a) + (~b)*sin((~e) + (~f)*(~x)))*((~d)*sin((~e) + (~f)*(~x)))^(3⨸2)), (~x)) : nothing) + +("4_1_2_1_68", +@rule ∫(1/(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(3//2)* sqrt((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +1⨸((~a) - (~b))* ∫(1⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) - (~b)⨸((~a) - (~b))* ∫((1 + sin((~e) + (~f)*(~x)))⨸(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(3⨸2)* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_1_69", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~m), -1) && + ext_isinteger(2*(~m), 2*(~n)) && + ( + eq((~a), 0) && + ext_isinteger((~m)) && + !(ext_isinteger((~n))) || + !( + ext_isinteger(2*(~n)) && + lt((~n), -1) && + ( + ext_isinteger((~n)) && + !(ext_isinteger((~m))) || + eq((~a), 0) + ) + ) + ) ? +-(~b)^2*cos( (~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~f)*((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~a)^2 - (~b)^2)) + 1⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~a)^2 - (~b)^2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~a)*((~b)*(~c) - (~a)*(~d))*((~m) + 1) + (~b)^2*(~d)*((~m) + (~n) + 2) - ((~b)^2*(~c) + (~b)*((~b)*(~c) - (~a)*(~d))*((~m) + 1))* sin((~e) + (~f)*(~x)) - (~b)^2*(~d)*((~m) + (~n) + 3)*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_2_1_70", +@rule ∫(sqrt((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))/((~!a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +(~d)⨸(~b)*∫(1⨸sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) + ((~b)*(~c) - (~a)*(~d))⨸(~b)* ∫(1⨸(((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_1_71", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(3//2)/((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +(~b)⨸(~d)*∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) - ((~b)*(~c) - (~a)*(~d))⨸(~d)* ∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_1_72", +@rule ∫(1/(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~c) + (~d), 0) ? +2⨸((~f)*((~a) + (~b))*sqrt((~c) + (~d)))* elliptic_pi(2*(~b)⨸((~a) + (~b)), 1⨸2*((~e) - π⨸2 + (~f)*(~x)), 2*(~d)⨸((~c) + (~d))) : nothing) + +("4_1_2_1_73", +@rule ∫(1/(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~c) - (~d), 0) ? +2⨸((~f)*((~a) - (~b))*sqrt((~c) - (~d)))* elliptic_pi(-2*(~b)⨸((~a) - (~b)), 1⨸2*((~e) + π⨸2 + (~f)*(~x)), -2*(~d)⨸((~c) - (~d))) : nothing) + +("4_1_2_1_74", +@rule ∫(1/(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + !(gt((~c) + (~d), 0)) ? +sqrt(((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸((~c) + (~d)))⨸sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))* ∫(1⨸(((~a) + (~b)*sin((~e) + (~f)*(~x)))* sqrt((~c)⨸((~c) + (~d)) + (~d)⨸((~c) + (~d))*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_1_75", +@rule ∫(sqrt((~!b)*sin((~!e) + (~!f)*(~x)))/sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~x)) && + gt((~c)^2 - (~d)^2, 0) && + pos(((~c) + (~d))/(~b)) && + gt((~c)^2, 0) ? +2*(~c)*rt((~b)*((~c) + (~d)), 2)*tan((~e) + (~f)*(~x))*sqrt(1 + csc((~e) + (~f)*(~x)))* sqrt(1 - csc((~e) + (~f)*(~x)))⨸((~d)*(~f)*sqrt((~c)^2 - (~d)^2))* elliptic_pi(((~c) + (~d))⨸(~d), asin(sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸sqrt((~b)*sin((~e) + (~f)*(~x)))⨸ rt(((~c) + (~d))⨸(~b), 2)), -((~c) + (~d))⨸((~c) - (~d))) : nothing) + +("4_1_2_1_76", +@rule ∫(sqrt((~!b)*sin((~!e) + (~!f)*(~x)))/sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~c)^2 - (~d)^2, 0) && + pos(((~c) + (~d))/(~b)) ? +2*(~b)*tan((~e) + (~f)*(~x))⨸((~d)*(~f))*rt(((~c) + (~d))⨸(~b), 2)* sqrt((~c)*(1 + csc((~e) + (~f)*(~x)))⨸((~c) - (~d)))* sqrt((~c)*(1 - csc((~e) + (~f)*(~x)))⨸((~c) + (~d)))* elliptic_pi(((~c) + (~d))⨸(~d), asin(sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸sqrt((~b)*sin((~e) + (~f)*(~x)))⨸ rt(((~c) + (~d))⨸(~b), 2)), -((~c) + (~d))⨸((~c) - (~d))) : nothing) + +("4_1_2_1_77", +@rule ∫(sqrt((~!b)*sin((~!e) + (~!f)*(~x)))/sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~c)^2 - (~d)^2, 0) && + neg(((~c) + (~d))/(~b)) ? +sqrt((~b)*sin((~e) + (~f)*(~x)))⨸sqrt(-(~b)*sin((~e) + (~f)*(~x)))* ∫(sqrt(-(~b)*sin((~e) + (~f)*(~x)))⨸sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +#(* Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]/Sqrt[d_.*sin[e_.+f_.*x_]],x_ Symbol] := a*Int[1/(Sqrt[a+b*Sin[e+f*x]]*Sqrt[d*Sin[e+f*x]]),x] + b/d*Int[Sqrt[d*Sin[e+f*x]]/Sqrt[a+b*Sin[e+f*x]],x] /; FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2,0] *) +#(* Int[Sqrt[a_+b_.*sin[e_.+f_.*x_]]/Sqrt[d_.*sin[e_.+f_.*x_]],x_ Symbol] := 2*(a+b*Sin[e+f*x])/(d*f*Rt[(a+b)/d,2]*Cos[e+f*x])*Sqrt[a*(1-Sin[e+f* x])/(a+b*Sin[e+f*x])]*Sqrt[a*(1+Sin[e+f*x])/(a+b*Sin[e+f*x])]* EllipticPi[b/(a+b),ArcSin[Rt[(a+b)/d,2]*(Sqrt[d*Sin[e+f*x]]/Sqrt[ a+b*Sin[e+f*x]])],-(a-b)/(a+b)] /; FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2,0] && PosQ[(a+b)/d] *) +("4_1_2_1_78", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/ sqrt((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + pos(((~a) + (~b))/((~c) + (~d))) ? +2*((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸((~d)*(~f)*rt(((~a) + (~b))⨸((~c) + (~d)), 2)*cos((~e) + (~f)*(~x)))* sqrt(((~b)*(~c) - (~a)*(~d))*(1 + sin((~e) + (~f)*(~x)))⨸(((~c) - (~d))*((~a) + (~b)*sin((~e) + (~f)*(~x)))))* sqrt(-((~b)*(~c) - (~a)*(~d))*(1 - sin((~e) + (~f)*(~x)))⨸(((~c) + (~d))*((~a) + (~b)*sin((~e) + (~f)*(~x)))))* elliptic_pi((~b)*((~c) + (~d))⨸((~d)*((~a) + (~b))), asin(rt(((~a) + (~b))⨸((~c) + (~d)), 2)* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))), ((~a) - (~b))*((~c) + (~d))⨸(((~a) + (~b))*((~c) - (~d)))) : nothing) + +("4_1_2_1_79", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/ sqrt((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + neg(((~a) + (~b))/((~c) + (~d))) ? +sqrt(-(~c) - (~d)*sin((~e) + (~f)*(~x)))⨸sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))* ∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸sqrt(-(~c) - (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_1_80", +@rule ∫(1/(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*sqrt((~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + lt((~a)^2 - (~b)^2, 0) && + eq((~d)^2, 1) && + gt((~b)*(~d), 0) ? +-2*(~d)⨸((~f)*sqrt((~a) + (~b)*(~d)))* elliptic_f( asin(cos((~e) + (~f)*(~x))⨸(1 + (~d)*sin((~e) + (~f)*(~x)))), -((~a) - (~b)*(~d))⨸((~a) + (~b)*(~d))) : nothing) + +("4_1_2_1_81", +@rule ∫(1/(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*sqrt((~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + lt((~a)^2 - (~b)^2, 0) && + gt((~b)^2, 0) && + !( + eq((~d)^2, 1) && + gt((~b)*(~d), 0) + ) ? +sqrt(sign((~b))*sin((~e) + (~f)*(~x)))⨸sqrt((~d)*sin((~e) + (~f)*(~x)))* ∫(1⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt(sign((~b))*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_1_82", +@rule ∫(1/(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*sqrt((~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + gt((~a)^2 - (~b)^2, 0) && + pos(((~a) + (~b))/(~d)) && + gt((~a)^2, 0) ? +-2*sqrt((~a)^2)* sqrt(-cot((~e) + (~f)*(~x))^2)⨸((~a)*(~f)*sqrt((~a)^2 - (~b)^2)*cot((~e) + (~f)*(~x)))* rt(((~a) + (~b))⨸(~d), 2)* elliptic_f( asin(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸sqrt((~d)*sin((~e) + (~f)*(~x)))⨸ rt(((~a) + (~b))⨸(~d), 2)), -((~a) + (~b))⨸((~a) - (~b))) : nothing) + +("4_1_2_1_83", +@rule ∫(1/(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*sqrt((~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + pos(((~a) + (~b))/(~d)) ? +-2*tan((~e) + (~f)*(~x))⨸((~a)*(~f))*rt(((~a) + (~b))⨸(~d), 2)* sqrt((~a)*(1 - csc((~e) + (~f)*(~x)))⨸((~a) + (~b)))* sqrt((~a)*(1 + csc((~e) + (~f)*(~x)))⨸((~a) - (~b)))* elliptic_f( asin(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸sqrt((~d)*sin((~e) + (~f)*(~x)))⨸ rt(((~a) + (~b))⨸(~d), 2)), -((~a) + (~b))⨸((~a) - (~b))) : nothing) + +("4_1_2_1_84", +@rule ∫(1/(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*sqrt((~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + neg(((~a) + (~b))/(~d)) ? +sqrt(-(~d)*sin((~e) + (~f)*(~x)))⨸sqrt((~d)*sin((~e) + (~f)*(~x)))* ∫(1⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt(-(~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_1_85", +@rule ∫(1/(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + pos(((~c) + (~d))/((~a) + (~b))) ? +2*((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸((~f)*((~b)*(~c) - (~a)*(~d))*rt(((~c) + (~d))⨸((~a) + (~b)), 2)* cos((~e) + (~f)*(~x)))* sqrt(((~b)*(~c) - (~a)*(~d))*(1 - sin((~e) + (~f)*(~x)))⨸(((~a) + (~b))*((~c) + (~d)*sin((~e) + (~f)*(~x)))))* sqrt(-((~b)*(~c) - (~a)*(~d))*(1 + sin((~e) + (~f)*(~x)))⨸(((~a) - (~b))*((~c) + (~d)*sin((~e) + (~f)*(~x)))))* elliptic_f( asin(rt(((~c) + (~d))⨸((~a) + (~b)), 2)*(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))))), ((~a) + (~b))*((~c) - (~d))⨸(((~a) - (~b))*((~c) + (~d)))) : nothing) + +("4_1_2_1_86", +@rule ∫(1/(sqrt((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + neg(((~c) + (~d))/((~a) + (~b))) ? +sqrt(-(~a) - (~b)*sin((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))* ∫(1⨸(sqrt(-(~a) - (~b)*sin((~e) + (~f)*(~x)))*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_1_87", +@rule ∫(((~!d)*sin((~!e) + (~!f)*(~x)))^(3//2)/sqrt((~!a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +-(~a)*(~d)⨸(2*(~b))* ∫(sqrt((~d)*sin((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) + (~d)⨸(2*(~b))* ∫(sqrt((~d)*sin((~e) + (~f)*(~x)))*((~a) + 2*(~b)*sin((~e) + (~f)*(~x)))⨸ sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_1_88", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt(0, (~m), 2) && + lt(-1, (~n), 2) && + !eq((~m) + (~n), 0) && + ( + ext_isinteger((~m)) || + ext_isinteger(2*(~m), 2*(~n)) + ) ? +-(~b)*cos( (~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)⨸((~f)*((~m) + (~n))) + 1⨸((~d)*((~m) + (~n)))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 2)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 1)* simp((~a)^2*(~c)*(~d)*((~m) + (~n)) + (~b)*(~d)*((~b)*(~c)*((~m) - 1) + (~a)*(~d)*(~n)) + ((~a)*(~d)*(2*(~b)*(~c) + (~a)*(~d))*((~m) + (~n)) - (~b)*(~d)*((~a)*(~c) - (~b)*(~d)*((~m) + (~n) - 1)))*sin((~e) + (~f)*(~x)) + (~b)*(~d)*((~b)*(~c)*(~n) + (~a)*(~d)*(2*(~m) + (~n) - 1))*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_2_1_89", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + igt((~m), 0) ? +(~b)⨸(~d)*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1), (~x)) - ((~b)*(~c) - (~a)*(~d))⨸(~d)* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_2_1_90", +@rule ∫(((~!d)*sin((~!e) + (~!f)*(~x)))^(~!n)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +(~a)*∫(((~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~a)^2 - (~b)^2*sin((~e) + (~f)*(~x))^2), (~x)) - (~b)⨸(~d)*∫(((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~a)^2 - (~b)^2*sin((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_2_1_91", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!d)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ilt((~m), -1) ? +∫(ext_expand(((~d)*sin((~e) + (~f)*(~x)))^ (~n)*((~a) - (~b)*sin((~e) + (~f)*(~x)))^(-(~m))⨸((~a)^2 - (~b)^2*sin((~e) + (~f)*(~x))^2)^(-(~m)), (~x)), (~x)) : nothing) + +# ("4_1_2_1_92", +# @rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && +# !eq((~b)*(~c) - (~a)*(~d), 0) && +# !eq((~a)^2 - (~b)^2, 0) && +# !eq((~c)^2 - (~d)^2, 0) ? +# Unintegrable[((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)] : nothing) + +#(* Int[(a_.+b_.*sin[e_.+f_.*x_])^m_.*(d_./sin[e_.+f_.*x_])^n_,x_ Symbol] := d^m*Int[(d*Csc[e+f*x])^(n-m)*(b+a*Csc[e+f*x])^m,x] /; FreeQ[{a,b,d,e,f,n},x] && Not[IntegerQ[n]] && IntegerQ[m] *) +#(* Int[(a_.+b_.*cos[e_.+f_.*x_])^m_.*(d_./cos[e_.+f_.*x_])^n_,x_ Symbol] := d^m*Int[(d*Sec[e+f*x])^(n-m)*(b+a*Sec[e+f*x])^m,x] /; FreeQ[{a,b,d,e,f,n},x] && Not[IntegerQ[n]] && IntegerQ[m] *) +("4_1_2_1_93", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!c)*((~!d)*sin((~!e) + (~!f)*(~x)))^(~p))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~n))) ? +(~c)^intpart((~n))*((~c)*((~d)*sin((~e) + (~f)*(~x)))^(~p))^ fracpart((~n))⨸((~d)*sin((~e) + (~f)*(~x)))^((~p)*fracpart((~n)))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~d)*sin((~e) + (~f)*(~x)))^((~n)*(~p)), (~x)) : nothing) + +("4_1_2_1_94", +@rule ∫(((~!a) + (~!b)*cos((~!e) + (~!f)*(~x)))^ (~!m)*((~!c)*((~!d)*cos((~!e) + (~!f)*(~x)))^(~p))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~n))) ? +(~c)^intpart((~n))*((~c)*((~d)*cos((~e) + (~f)*(~x)))^(~p))^ fracpart((~n))⨸((~d)*cos((~e) + (~f)*(~x)))^((~p)*fracpart((~n)))* ∫(((~a) + (~b)*cos((~e) + (~f)*(~x)))^(~m)*((~d)*cos((~e) + (~f)*(~x)))^((~n)*(~p)), (~x)) : nothing) + +("4_1_2_1_95", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~c) + (~!d)*csc((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + ext_isinteger((~n)) ? +∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~d) + (~c)*sin((~e) + (~f)*(~x)))^(~n)⨸sin((~e) + (~f)*(~x))^(~n), (~x)) : nothing) + +("4_1_2_1_96", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~c) + (~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + !(ext_isinteger((~n))) && + ext_isinteger((~m)) ? +∫(((~b) + (~a)*csc((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*csc((~e) + (~f)*(~x)))^(~n)⨸csc((~e) + (~f)*(~x))^(~m), (~x)) : nothing) + +("4_1_2_1_97", +@rule ∫(((~a) + (~!b)*cos((~!e) + (~!f)*(~x)))^(~!m)*((~c) + (~!d)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + !(ext_isinteger((~n))) && + ext_isinteger((~m)) ? +∫(((~b) + (~a)*sec((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sec((~e) + (~f)*(~x)))^(~n)⨸sec((~e) + (~f)*(~x))^(~m), (~x)) : nothing) + +("4_1_2_1_98", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~c) + (~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + !(ext_isinteger((~n))) && + !(ext_isinteger((~m))) ? +sin((~e) + (~f)*(~x))^(~n)*((~c) + (~d)*csc((~e) + (~f)*(~x)))^(~n)⨸((~d) + (~c)*sin((~e) + (~f)*(~x)))^(~n)* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~d) + (~c)*sin((~e) + (~f)*(~x)))^(~n)⨸sin((~e) + (~f)*(~x))^(~n), (~x)) : nothing) + +("4_1_2_1_99", +@rule ∫(((~a) + (~!b)*cos((~!e) + (~!f)*(~x)))^(~m)*((~c) + (~!d)*sec((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + !(ext_isinteger((~n))) && + !(ext_isinteger((~m))) ? +cos((~e) + (~f)*(~x))^(~n)*((~c) + (~d)*sec((~e) + (~f)*(~x)))^(~n)⨸((~d) + (~c)*cos((~e) + (~f)*(~x)))^(~n)* ∫(((~a) + (~b)*cos((~e) + (~f)*(~x)))^(~m)*((~d) + (~c)*cos((~e) + (~f)*(~x)))^(~n)⨸cos((~e) + (~f)*(~x))^(~n), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.2/4.1.2.2 (g cos)^p (a+b sin)^m (c+d sin)^n.jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.2/4.1.2.2 (g cos)^p (a+b sin)^m (c+d sin)^n.jl new file mode 100644 index 0000000..9722cb1 --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.2/4.1.2.2 (g cos)^p (a+b sin)^m (c+d sin)^n.jl @@ -0,0 +1,883 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.2.2 (g cos)^p (a+b sin)^m (c+d sin)^n *) +("4_1_2_2_1", +@rule ∫(cos((~!e) + (~!f)*(~x))*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) ? +1⨸((~b)*(~f))*int_and_subst(((~a) + (~x))^(~m)*((~c) + (~d)⨸(~b)*(~x))^(~n), (~x), (~x), (~b)*sin((~e) + (~f)*(~x)), "4_1_2_2_1") : nothing) + +("4_1_2_2_2", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~p), (~x)) && + ext_isinteger(((~p) - 1)/2) && + ext_isinteger( (~n)) && + ( + lt((~p), 0) && + !eq((~a)^2 - (~b)^2, 0) || + lt(0, (~n), (~p) - 1) || + lt((~p) + 1, -(~n), 2*(~p) + 1) + ) ? +(~a)*∫(cos((~e) + (~f)*(~x))^(~p)*((~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) + (~b)⨸(~d)*∫(cos((~e) + (~f)*(~x))^(~p)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_1_2_2_3", +@rule ∫(cos((~!e) + (~!f)*(~x))^ (~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^(~!n)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~p), (~x)) && + ext_isinteger(((~p) - 1)/2) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger( (~n)) && + ( + lt(0, (~n), ((~p) + 1)/2) || + le((~p), -(~n)) && + lt(-(~n), 2*(~p) - 3) || + gt((~n), 0) && + le((~n), -(~p)) + ) ? +1⨸(~a)*∫(cos((~e) + (~f)*(~x))^((~p) - 2)*((~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) - 1⨸((~b)*(~d))*∫(cos((~e) + (~f)*(~x))^((~p) - 2)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_1_2_2_4", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~c), (~d), (~m), (~n), (~x)) && + ext_isinteger(((~p) - 1)/2) && + eq((~a)^2 - (~b)^2, 0) ? +1⨸((~b)^(~p)*(~f))* int_and_subst(((~a) + (~x))^((~m) + ((~p) - 1)⨸2)*((~a) - (~x))^(((~p) - 1)⨸2)*((~c) + (~d)⨸(~b)*(~x))^ (~n), (~x), (~x), (~b)*sin((~e) + (~f)*(~x)), "4_1_2_2_4") : nothing) + +("4_1_2_2_5", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + ext_isinteger(((~p) - 1)/2) && + !eq((~a)^2 - (~b)^2, 0) ? +1⨸((~b)^(~p)*(~f))* int_and_subst(((~a) + (~x))^(~m)*((~c) + (~d)⨸(~b)*(~x))^(~n)*((~b)^2 - (~x)^2)^(((~p) - 1)⨸2), (~x), (~x), (~b)*sin((~e) + (~f)*(~x)), "4_1_2_2_5") : nothing) + +("4_1_2_2_6", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) ? +(~a)*∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) + (~b)⨸(~d)*∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_1_2_2_7", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^ (~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^(~!n)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) ? +(~g)^2⨸(~a)*∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) - (~g)^2⨸((~b)*(~d))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_1_2_2_8", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m)) && + !( + ext_isinteger((~n)) && + lt((~n)^2, (~m)^2) + ) ? +(~a)^(~m)*(~c)^(~m)⨸(~g)^(2*(~m))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(2*(~m) + (~p))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - (~m)), (~x)) : nothing) + +("4_1_2_2_9", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~p)/2) ? +1⨸((~a)^((~p)⨸2)*(~c)^((~p)⨸2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + (~p)⨸2)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + (~p)⨸2), (~x)) : nothing) + +("4_1_2_2_10", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^ (~p)/(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) ? +(~g)*cos((~e) + (~f)*(~x))⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 1), (~x)) : nothing) + +("4_1_2_2_11", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + eq(2*(~m) + (~p) - 1, 0) && + eq((~m) - (~n) - 1, 0) ? +(~a)^intpart((~m))* (~c)^intpart((~m))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ fracpart((~m))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^fracpart((~m))⨸ ((~g)^(2*intpart((~m)))*((~g)*cos((~e) + (~f)*(~x)))^(2*fracpart((~m))))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(2*(~m) + (~p))⨸((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_12", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + eq(2*(~m) + (~p) - 1, 0) && + !eq((~m) - (~n) - 1, 0) ? +(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~f)*(~g)*((~m) - (~n) - 1)) : nothing) + +("4_1_2_2_13", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + igt(simplify((~m) + (~p)/2 - 1/2), 0) && + lt((~n), -1) && + !eq(2*(~n) + (~p) + 1, 0) && + !( + ilt(simplify((~m) + (~n) + (~p)), 0) && + gt(simplify(2*(~m) + (~n) + 3*(~p)/2 + 1), 0) + ) ? +-2*(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~f)*(~g)*(2*(~n) + (~p) + 1)) - (~b)*(2*(~m) + (~p) - 1)⨸((~d)*(2*(~n) + (~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^ (~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_1_2_2_14", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + igt(simplify((~m) + (~p)/2 - 1/2), 0) && + !(lt((~n), -1)) && + !( + igt(simplify((~n) + (~p)/2 - 1/2), 0) && + gt((~m) - (~n), 0) + ) && + !( + ilt(simplify((~m) + (~n) + (~p)), 0) && + gt(simplify(2*(~m) + (~n) + 3*(~p)/2 + 1), 0) + ) ? +-(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~f)*(~g)*((~m) + (~n) + (~p))) + (~a)*(2*(~m) + (~p) - 1)⨸((~m) + (~n) + (~p))* ∫(((~g)*cos((~e) + (~f)*(~x)))^ (~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_2_2_15", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + eq(2*(~m) + (~p) + 1, 0) ? +(~a)^intpart((~m))* (~c)^intpart((~m))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ fracpart((~m))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^fracpart((~m))⨸ ((~g)^(2*intpart((~m)))*((~g)*cos((~e) + (~f)*(~x)))^(2*fracpart((~m))))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(2*(~m) + (~p)), (~x)) : nothing) + +("4_1_2_2_16", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + eq((~m) + (~n) + (~p) + 1, 0) && + !eq((~m), (~n)) ? +(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~a)*(~f)*(~g)*((~m) - (~n))) : nothing) + +("4_1_2_2_17", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + ilt(simplify((~m) + (~n) + (~p) + 1), 0) && + !eq(2*(~m) + (~p) + 1, 0) && + ( + sumsimpler((~m), 1) || + !(sumsimpler((~n), 1)) + ) ? +(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~a)*(~f)*(~g)*(2*(~m) + (~p) + 1)) + ((~m) + (~n) + (~p) + 1)⨸((~a)*(2*(~m) + (~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^ (~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_2_2_18", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + gt((~m), 0) && + lt((~n), -1) && + !eq(2*(~n) + (~p) + 1, 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +-2*(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~f)*(~g)*(2*(~n) + (~p) + 1)) - (~b)*(2*(~m) + (~p) - 1)⨸((~d)*(2*(~n) + (~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^ (~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_1_2_2_19", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + gt((~m), 0) && + !eq((~m) + (~n) + (~p), 0) && + !(lt(0, (~n), (~m))) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +-(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~f)*(~g)*((~m) + (~n) + (~p))) + (~a)*(2*(~m) + (~p) - 1)⨸((~m) + (~n) + (~p))* ∫(((~g)*cos((~e) + (~f)*(~x)))^ (~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_2_2_20", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + !eq(2*(~m) + (~p) + 1, 0) && + !(lt((~m), (~n), -1)) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~a)*(~f)*(~g)*(2*(~m) + (~p) + 1)) + ((~m) + (~n) + (~p) + 1)⨸((~a)*(2*(~m) + (~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^ (~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_2_2_21", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + ( + isfraction((~m)) || + !(isfraction((~n))) + ) ? +(~a)^intpart((~m))* (~c)^intpart((~m))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ fracpart((~m))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^fracpart((~m))⨸ ((~g)^(2*intpart((~m)))*((~g)*cos((~e) + (~f)*(~x)))^(2*fracpart((~m))))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(2*(~m) + (~p))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - (~m)), (~x)) : nothing) + +("4_1_2_2_22", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + eq((~a)*(~d)*(~m) + (~b)*(~c)*((~m) + (~p) + 1), 0) ? +-(~d)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)⨸((~f)*(~g)*((~m) + (~p) + 1)) : nothing) + +("4_1_2_2_23", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + gt((~m), -1) && + lt((~p), -1) ? +-((~b)*(~c) + (~a)*(~d))*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)⨸((~a)*(~f)*(~g)*((~p) + 1)) + (~b)*((~a)*(~d)*(~m) + (~b)*(~c)*((~m) + (~p) + 1))⨸((~a)*(~g)^2*((~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1), (~x)) : nothing) + +("4_1_2_2_24", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + igt(simplify((2*(~m) + (~p) + 1)/2), 0) && + !eq((~m) + (~p) + 1, 0) ? +-(~d)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)⨸((~f)*(~g)*((~m) + (~p) + 1)) + ((~a)*(~d)*(~m) + (~b)*(~c)*((~m) + (~p) + 1))⨸((~b)*((~m) + (~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) : nothing) + +("4_1_2_2_25", +@rule ∫(cos((~!e) + (~!f)*(~x))^2*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + lt((~m), -3/2) ? +2*((~b)*(~c) - (~a)*(~d))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)^2*(~f)*(2*(~m) + 3)) + 1⨸((~b)^3*(2*(~m) + 3))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 2)*((~b)*(~c) + 2*(~a)*(~d)*((~m) + 1) - (~b)*(~d)*(2*(~m) + 3)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_26", +@rule ∫(cos((~!e) + (~!f)*(~x))^2*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ge((~m), -3/2) && + lt((~m), 0) ? +(~d)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 2)⨸((~b)^2*(~f)*((~m) + 3)) - 1⨸((~b)^2*((~m) + 3))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~b)*(~d)*((~m) + 2) - (~a)*(~c)*((~m) + 3) + ((~b)*(~c)*((~m) + 3) - (~a)*(~d)*((~m) + 4))*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_27", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ( + lt((~m), -1) || + ilt(simplify((~m) + (~p)), 0) + ) && + !eq(2*(~m) + (~p) + 1, 0) ? +((~b)*(~c) - (~a)*(~d))*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)⨸((~a)*(~f)*(~g)*(2*(~m) + (~p) + 1)) + ((~a)*(~d)*(~m) + (~b)*(~c)*((~m) + (~p) + 1))⨸((~a)*(~b)*(2*(~m) + (~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1), (~x)) : nothing) + +("4_1_2_2_28", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~m) + (~p) + 1, 0) ? +-(~d)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)⨸((~f)*(~g)*((~m) + (~p) + 1)) + ((~a)*(~d)*(~m) + (~b)*(~c)*((~m) + (~p) + 1))⨸((~b)*((~m) + (~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) : nothing) + +("4_1_2_2_29", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~m), 0) && + lt((~p), -1) && + ext_isinteger(2*(~m)) && + !( + eq((~m), 1) && + !eq((~c)^2 - (~d)^2, 0) && + simpler((~c) + (~d)*(~x), (~a) + (~b)*(~x)) + ) ? +-((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~d) + (~c)*sin((~e) + (~f)*(~x)))⨸((~f)*(~g)*((~p) + 1)) + 1⨸((~g)^2*((~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)* simp((~a)*(~c)*((~p) + 2) + (~b)*(~d)*(~m) + (~b)*(~c)*((~m) + (~p) + 2)*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_2_30", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~m), 0) && + !(lt((~p), -1)) && + ext_isinteger(2*(~m)) && + !( + eq((~m), 1) && + !eq((~c)^2 - (~d)^2, 0) && + simpler((~c) + (~d)*(~x), (~a) + (~b)*(~x)) + ) ? +-(~d)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)⨸((~f)*(~g)*((~m) + (~p) + 1)) + 1⨸((~m) + (~p) + 1)* ∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)* simp((~a)*(~c)*((~m) + (~p) + 1) + (~b)*(~d)*(~m) + ((~a)*(~d)*(~m) + (~b)*(~c)*((~m) + (~p) + 1))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_2_31", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + gt((~p), 1) && + !eq((~m) + (~p) + 1, 0) && + ext_isinteger(2*(~m)) ? +(~g)*((~g)*cos((~e) + (~f)*(~x)))^((~p) - 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~b)*(~c)*((~m) + (~p) + 1) - (~a)*(~d)*(~p) + (~b)*(~d)*((~m) + 1)*sin((~e) + (~f)*(~x)))⨸((~b)^2* (~f)*((~m) + 1)*((~m) + (~p) + 1)) + (~g)^2*((~p) - 1)⨸((~b)^2*((~m) + 1)*((~m) + (~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)* simp((~b)*(~d)*((~m) + 1) + ((~b)*(~c)*((~m) + (~p) + 1) - (~a)*(~d)*(~p))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_2_32", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + ext_isinteger(2*(~m)) ? +-((~b)*(~c) - (~a)*(~d))*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~f)*(~g)*((~a)^2 - (~b)^2)*((~m) + 1)) + 1⨸(((~a)^2 - (~b)^2)*((~m) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)* simp(((~a)*(~c) - (~b)*(~d))*((~m) + 1) - ((~b)*(~c) - (~a)*(~d))*((~m) + (~p) + 2)*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_2_33", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~p), 1) && + !eq((~m) + (~p), 0) && + !eq((~m) + (~p) + 1, 0) && + ext_isinteger(2*(~m)) ? +(~g)*((~g)*cos((~e) + (~f)*(~x)))^((~p) - 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~b)*(~c)*((~m) + (~p) + 1) - (~a)*(~d)*(~p) + (~b)*(~d)*((~m) + (~p))*sin((~e) + (~f)*(~x)))⨸((~b)^2* (~f)*((~m) + (~p))*((~m) + (~p) + 1)) + (~g)^2*((~p) - 1)⨸((~b)^2*((~m) + (~p))*((~m) + (~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)* simp((~b)*((~a)*(~d)*(~m) + (~b)*(~c)*((~m) + (~p) + 1)) + ((~a)*(~b)*(~c)*((~m) + (~p) + 1) - (~d)*((~a)^2*(~p) - (~b)^2*((~m) + (~p))))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_2_34", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~p), -1) && + ext_isinteger(2*(~m)) ? +((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~b)*(~c) - (~a)*(~d) - ((~a)*(~c) - (~b)*(~d))*sin((~e) + (~f)*(~x)))⨸((~f)*(~g)*((~a)^2 - (~b)^2)*((~p) + 1)) + 1⨸((~g)^2*((~a)^2 - (~b)^2)*((~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)* simp((~c)*((~a)^2*((~p) + 2) - (~b)^2*((~m) + (~p) + 2)) + (~a)*(~b)*(~d)*(~m) + (~b)*((~a)*(~c) - (~b)*(~d))*((~m) + (~p) + 3)*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_2_2_35", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^ (~p)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +(~d)⨸(~b)*∫(((~g)*cos((~e) + (~f)*(~x)))^(~p), (~x)) + ((~b)*(~c) - (~a)*(~d))⨸(~b)* ∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_36", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~p), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + eq((~c)^2 - (~d)^2, 0) ? +(~c)*(~g)*((~g)*cos((~e) + (~f)*(~x)))^((~p) - 1)⨸((~f)*(1 + sin((~e) + (~f)*(~x)))^(((~p) - 1)⨸2)*(1 - sin((~e) + (~f)*(~x)))^(((~p) - 1)⨸2))* int_and_subst((1 + (~d)⨸(~c)*(~x))^(((~p) + 1)⨸2)*(1 - (~d)⨸(~c)*(~x))^(((~p) - 1)⨸2)*((~a) + (~b)*(~x))^(~m), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_2_2_36") : nothing) + +("4_1_2_2_37", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m), (~p)) && + eq(2*(~m) + (~p), 0) ? +(~a)^(2*(~m))*∫(((~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~a) - (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) : nothing) + +("4_1_2_2_38", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)* sin((~!e) + (~!f)*(~x))^2*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + eq((~m) - (~p), 0) ? +-((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸(2*(~b)*(~f)* (~g)*((~m) + 1)) + (~a)⨸(2*(~g)^2)* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1), (~x)) : nothing) + +("4_1_2_2_39", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)* sin((~!e) + (~!f)*(~x))^2*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + eq((~m) + (~p) + 1, 0) ? +(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸((~a)*(~f)*(~g)*(~m)) - 1⨸(~g)^2*∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) : nothing) + +("4_1_2_2_40", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m), (~n), (~p)/2) && + ( + gt((~m), 0) && + gt((~p), 0) && + lt(-(~m) - (~p), (~n), -1) || + gt((~m), 2) && + lt((~p), 0) && + gt((~m) + (~p)/2, 0) + ) ? +1⨸(~a)^(~p)* ∫(ext_expand(((~d)*sin((~e) + (~f)*(~x)))^ (~n)*((~a) - (~b)*sin((~e) + (~f)*(~x)))^((~p)⨸2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + (~p)⨸2), (~x)), (~x)) : nothing) + +("4_1_2_2_41", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + igt((~m), 0) ? +∫(ext_expand(((~g)*cos((~e) + (~f)*(~x)))^ (~p), ((~d)*sin((~e) + (~f)*(~x)))^(~n)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)), (~x)) : nothing) + +("4_1_2_2_42", +@rule ∫(cos((~!e) + (~!f)*(~x))^2*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ( + ilt((~m), 0) || + !(igt((~n), 0)) + ) ? +1⨸(~b)^2* ∫(((~d)*sin((~e) + (~f)*(~x)))^ (~n)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~a) - (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_43", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ilt((~m), 0) ? +((~a)⨸(~g))^(2*(~m))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(2*(~m) + (~p))*((~d)*sin((~e) + (~f)*(~x)))^ (~n)⨸((~a) - (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) : nothing) + +("4_1_2_2_44", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m)) && + isrational((~p)) && + ( + eq(2*(~m) + (~p), 0) || + gt(2*(~m) + (~p), 0) && + lt((~p), -1) + ) ? +((~a)⨸(~g))^(2*(~m))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(2*(~m) + (~p))*((~d)*sin((~e) + (~f)*(~x)))^ (~n)⨸((~a) - (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) : nothing) + +("4_1_2_2_45", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)* sin((~!e) + (~!f)*(~x))^2*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + le((~m), -1/2) && + !eq(2*(~m) + (~p) + 1, 0) ? +(~b)*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)⨸((~a)*(~f)*(~g)*(2*(~m) + (~p) + 1)) - 1⨸((~a)^2*(2*(~m) + (~p) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^ (~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~a)*(~m) - (~b)*(2*(~m) + (~p) + 1)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_46", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)* sin((~!e) + (~!f)*(~x))^2*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~m) + (~p) + 2, 0) ? +-((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)* (~g)*((~m) + (~p) + 2)) + 1⨸((~b)*((~m) + (~p) + 2))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~b)*((~m) + 1) - (~a)*((~p) + 1)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_47", +@rule ∫(cos((~!e) + (~!f)*(~x))^2*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(2*(~m), 2*(~n)) ? +1⨸(~b)^2* ∫(((~d)*sin((~e) + (~f)*(~x)))^ (~n)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~a) - (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_48", +@rule ∫(cos((~!e) + (~!f)*(~x))^4*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) ? +-2⨸((~a)*(~b)*(~d))* ∫(((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 2), (~x)) + 1⨸(~a)^2* ∫(((~d)*sin((~e) + (~f)*(~x)))^ (~n)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 2)*(1 + sin((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_2_2_49", +@rule ∫(cos((~!e) + (~!f)*(~x))^4*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(igt((~m), 0)) ? +1⨸(~d)^4*∫(((~d)*sin((~e) + (~f)*(~x)))^((~n) + 4)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) + ∫(((~d)*sin((~e) + (~f)*(~x)))^(~n)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*(1 - 2*sin((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_2_2_50", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~p)/2) && + ext_isinteger((~m)) ? +(~a)^(~m)*cos( (~e) + (~f)*(~x))⨸((~f)*sqrt(1 + sin((~e) + (~f)*(~x)))*sqrt(1 - sin((~e) + (~f)*(~x))))* int_and_subst(((~d)*(~x))^(~n)*(1 + (~b)⨸(~a)*(~x))^((~m) + ((~p) - 1)⨸2)*(1 - (~b)⨸(~a)*(~x))^(((~p) - 1)⨸2), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_2_2_50") : nothing) + +("4_1_2_2_51", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~p)/2) && + !(ext_isinteger((~m))) ? +cos((~e) + (~f)*(~x))⨸((~a)^((~p) - 2)*(~f)*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))* sqrt((~a) - (~b)*sin((~e) + (~f)*(~x))))* int_and_subst(((~d)*(~x))^(~n)*((~a) + (~b)*(~x))^((~m) + (~p)⨸2 - 1⨸2)*((~a) - (~b)*(~x))^((~p)⨸2 - 1⨸2), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_2_2_51") : nothing) + +("4_1_2_2_52", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + igt((~m), 0) && + ( + ext_isinteger((~p)) || + igt((~n), 0) + ) ? +∫(ext_expand(((~g)*cos((~e) + (~f)*(~x)))^ (~p), ((~d)*sin((~e) + (~f)*(~x)))^(~n)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)), (~x)) : nothing) + +("4_1_2_2_53", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m)) ? +(~a)^(~m)*(~g)*((~g)*cos((~e) + (~f)*(~x)))^((~p) - 1)⨸((~f)*(1 + sin((~e) + (~f)*(~x)))^(((~p) - 1)⨸2)*(1 - sin((~e) + (~f)*(~x)))^(((~p) - 1)⨸2))* int_and_subst(((~d)*(~x))^(~n)*(1 + (~b)⨸(~a)*(~x))^((~m) + ((~p) - 1)⨸2)*(1 - (~b)⨸(~a)*(~x))^(((~p) - 1)⨸2), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_2_2_53") : nothing) + +("4_1_2_2_54", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger((~m))) ? +(~g)*((~g)*cos((~e) + (~f)*(~x)))^((~p) - 1)⨸((~f)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(((~p) - 1)⨸2)*((~a) - (~b)*sin((~e) + (~f)*(~x)))^(((~p) - 1)⨸2))* int_and_subst(((~d)*(~x))^(~n)*((~a) + (~b)*(~x))^((~m) + ((~p) - 1)⨸2)*((~a) - (~b)*(~x))^(((~p) - 1)⨸2), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_2_2_54") : nothing) + +("4_1_2_2_55", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)/ sqrt((~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + eq((~m) + (~p) + 1/2, 0) ? +-(~g)*((~g)*cos((~e) + (~f)*(~x)))^((~p) - 1)* sqrt((~d)*sin((~e) + (~f)*(~x)))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~a)*(~d)* (~f)*((~m) + 1)) + (~g)^2*(2*(~m) + 3)⨸(2*(~a)*((~m) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸ sqrt((~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_56", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)/ sqrt((~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~m), 0) && + eq((~m) + (~p) + 3/2, 0) ? +2*((~g)*cos((~e) + (~f)*(~x)))^((~p) + 1)* sqrt((~d)*sin((~e) + (~f)*(~x)))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸((~d)*(~f)*(~g)*(2*(~m) + 1)) + 2*(~a)*(~m)⨸((~g)^2*(2*(~m) + 1))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)⨸ sqrt((~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_57", +@rule ∫(cos((~!e) + (~!f)*(~x))^2*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ( + igt((~m), 0) || + ext_isinteger(2*(~m), 2*(~n)) + ) ? +∫(((~d)*sin((~e) + (~f)*(~x)))^(~n)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*(1 - sin((~e) + (~f)*(~x))^2), (~x)) : nothing) + +#(* Int[cos[e_.+f_.*x_]^4*sin[e_.+f_.*x_]^n_*(a_+b_.*sin[e_.+f_.*x_])^ m_,x_Symbol] := (a^2-b^2)*Cos[e+f*x]*Sin[e+f*x]^(n+1)*(a+b*Sin[e+f*x])^(m+1)/(a*b^2* d*(m+1)) - (a^2*(n+1)-b^2*(m+n+2))*Cos[e+f*x]*Sin[e+f*x]^(n+1)*(a+b*Sin[e+f*x]) ^(m+2)/(a^2*b^2*d*(n+1)*(m+1)) + 1/(a^2*b*(n+1)*(m+1))*Int[Sin[e+f*x]^(n+1)*(a+b*Sin[e+f*x])^(m+1)* Simp[a^2*(n+1)*(n+2)-b^2*(m+n+2)*(m+n+3)+a*b*(m+1)*Sin[e+f*x]-(a^ 2*(n+1)*(n+3)-b^2*(m+n+2)*(m+n+4))*Sin[e+f*x]^2,x],x] /; FreeQ[{a,b,d,e,f},x] && NeQ[a^2-b^2,0] && IntegersQ[2*m,2*n] && LtQ[m,-1] && LtQ[n,-1] *) +("4_1_2_2_58", +@rule ∫(cos((~!e) + (~!f)*(~x))^4*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(2*(~m), 2*(~n)) && + lt((~m), -1) && + lt((~n), -1) ? +cos((~e) + (~f)*(~x))*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~a)*(~d)* (~f)*((~n) + 1)) - ((~a)^2*((~n) + 1) - (~b)^2*((~m) + (~n) + 2))* cos((~e) + (~f)*(~x))*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~a)^2*(~b)*(~d)^2*(~f)*((~n) + 1)*((~m) + 1)) + 1⨸((~a)^2*(~b)*(~d)*((~n) + 1)*((~m) + 1))* ∫(((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)* simp((~a)^2*((~n) + 1)*((~n) + 2) - (~b)^2*((~m) + (~n) + 2)*((~m) + (~n) + 3) + (~a)*(~b)*((~m) + 1)* sin((~e) + (~f)*(~x)) - ((~a)^2*((~n) + 1)*((~n) + 3) - (~b)^2*((~m) + (~n) + 2)*((~m) + (~n) + 4))*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_2_2_59", +@rule ∫(cos((~!e) + (~!f)*(~x))^4*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(2*(~m), 2*(~n)) && + lt((~m), -1) && + !(lt((~n), -1)) && + ( + lt((~m), -2) || + eq((~m) + (~n) + 4, 0) + ) ? +((~a)^2 - (~b)^2)* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~a)*(~b)^2*(~d)*(~f)*((~m) + 1)) + ((~a)^2*((~n) - (~m) + 1) - (~b)^2*((~m) + (~n) + 2))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 2)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~a)^2*(~b)^2*(~d)*(~f)*((~m) + 1)*((~m) + 2)) - 1⨸((~a)^2*(~b)^2*((~m) + 1)*((~m) + 2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 2)*((~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~a)^2*((~n) + 1)*((~n) + 3) - (~b)^2*((~m) + (~n) + 2)*((~m) + (~n) + 3) + (~a)*(~b)*((~m) + 2)* sin((~e) + (~f)*(~x)) - ((~a)^2*((~n) + 2)*((~n) + 3) - (~b)^2*((~m) + (~n) + 2)*((~m) + (~n) + 4))*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_2_2_60", +@rule ∫(cos((~!e) + (~!f)*(~x))^4*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(2*(~m), 2*(~n)) && + lt((~m), -1) && + !(lt((~n), -1)) && + !eq((~m) + (~n) + 4, 0) ? +((~a)^2 - (~b)^2)* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~a)*(~b)^2*(~d)*(~f)*((~m) + 1)) - cos( (~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 2)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~b)^2*(~d)*(~f)*((~m) + (~n) + 4)) - 1⨸((~a)*(~b)^2*((~m) + 1)*((~m) + (~n) + 4))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~a)^2*((~n) + 1)*((~n) + 3) - (~b)^2*((~m) + (~n) + 2)*((~m) + (~n) + 4) + (~a)*(~b)*((~m) + 1)* sin((~e) + (~f)*(~x)) - ((~a)^2*((~n) + 2)*((~n) + 3) - (~b)^2*((~m) + (~n) + 3)*((~m) + (~n) + 4))*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_2_2_61", +@rule ∫(cos((~!e) + (~!f)*(~x))^4*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ( + igt((~m), 0) || + ext_isinteger(2*(~m), 2*(~n)) + ) && + !((~m) < -1) && + lt((~n), -1) && + ( + lt((~n), -2) || + eq((~m) + (~n) + 4, 0) + ) ? +cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~a)*(~d)* (~f)*((~n) + 1)) - (~b)*((~m) + (~n) + 2)* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 2)⨸((~a)^2*(~d)^2*(~f)*((~n) + 1)*((~n) + 2)) - 1⨸((~a)^2*(~d)^2*((~n) + 1)*((~n) + 2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 2)* simp((~a)^2*(~n)*((~n) + 2) - (~b)^2*((~m) + (~n) + 2)*((~m) + (~n) + 3) + (~a)*(~b)*(~m)*sin( (~e) + (~f)*(~x)) - ((~a)^2*((~n) + 1)*((~n) + 2) - (~b)^2*((~m) + (~n) + 2)*((~m) + (~n) + 4))*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_2_2_62", +@rule ∫(cos((~!e) + (~!f)*(~x))^4*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ( + igt((~m), 0) || + ext_isinteger(2*(~m), 2*(~n)) + ) && + !((~m) < -1) && + lt((~n), -1) && + !eq((~m) + (~n) + 4, 0) ? +cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~a)*(~d)* (~f)*((~n) + 1)) - cos( (~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 2)⨸((~b)*(~d)^2*(~f)*((~m) + (~n) + 4)) + 1⨸((~a)*(~b)*(~d)*((~n) + 1)*((~m) + (~n) + 4))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)* simp((~a)^2*((~n) + 1)*((~n) + 2) - (~b)^2*((~m) + (~n) + 2)*((~m) + (~n) + 4) + (~a)*(~b)*((~m) + 3)* sin((~e) + (~f)*(~x)) - ((~a)^2*((~n) + 1)*((~n) + 3) - (~b)^2*((~m) + (~n) + 3)*((~m) + (~n) + 4))*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_2_2_63", +@rule ∫(cos((~!e) + (~!f)*(~x))^4*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ( + igt((~m), 0) || + ext_isinteger(2*(~m), 2*(~n)) + ) && + !((~m) < -1) && + !(lt((~n), -1)) && + !eq((~m) + (~n) + 3, 0) && + !eq((~m) + (~n) + 4, 0) ? +(~a)*((~n) + 3)* cos((~e) + (~f)*(~x))*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)^2*(~d)* (~f)*((~m) + (~n) + 3)*((~m) + (~n) + 4)) - cos( (~e) + (~f)*(~x))*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~d)^2*(~f)*((~m) + (~n) + 4)) - 1⨸((~b)^2*((~m) + (~n) + 3)*((~m) + (~n) + 4))* ∫(((~d)*sin((~e) + (~f)*(~x)))^(~n)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)* simp((~a)^2*((~n) + 1)*((~n) + 3) - (~b)^2*((~m) + (~n) + 3)*((~m) + (~n) + 4) + (~a)*(~b)*(~m)*sin( (~e) + (~f)*(~x)) - ((~a)^2*((~n) + 2)*((~n) + 3) - (~b)^2*((~m) + (~n) + 3)*((~m) + (~n) + 5))*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_2_2_64", +@rule ∫(cos((~!e) + (~!f)*(~x))^6*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(2*(~m), 2*(~n)) && + !eq((~n), -1) && + !eq((~n), -2) && + !eq((~m) + (~n) + 5, 0) && + !eq((~m) + (~n) + 6, 0) && + !(igt((~m), 0)) ? +cos((~e) + (~f)*(~x))*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~a)*(~d)* (~f)*((~n) + 1)) - (~b)*((~m) + (~n) + 2)* cos((~e) + (~f)*(~x))*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~a)^2*(~d)^2*(~f)*((~n) + 1)*((~n) + 2)) - (~a)*((~n) + 5)* cos((~e) + (~f)*(~x))*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 3)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)^2*(~d)^3* (~f)*((~m) + (~n) + 5)*((~m) + (~n) + 6)) + cos( (~e) + (~f)*(~x))*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 4)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~d)^4*(~f)*((~m) + (~n) + 6)) + 1⨸((~a)^2*(~b)^2*(~d)^2*((~n) + 1)*((~n) + 2)*((~m) + (~n) + 5)*((~m) + (~n) + 6))* ∫(((~d)*sin((~e) + (~f)*(~x)))^((~n) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)* simp((~a)^4*((~n) + 1)*((~n) + 2)*((~n) + 3)*((~n) + 5) - (~a)^2*(~b)^2*((~n) + 2)*(2*(~n) + 1)*((~m) + (~n) + 5)*((~m) + (~n) + 6) + (~b)^4*((~m) + (~n) + 2)*((~m) + (~n) + 3)*((~m) + (~n) + 5)*((~m) + (~n) + 6) + (~a)*(~b)*(~m)*((~a)^2*((~n) + 1)*((~n) + 2) - (~b)^2*((~m) + (~n) + 5)*((~m) + (~n) + 6))* sin((~e) + (~f)*(~x)) - ((~a)^4*((~n) + 1)*((~n) + 2)*(4 + (~n))*((~n) + 5) + (~b)^4*((~m) + (~n) + 2)*((~m) + (~n) + 4)*((~m) + (~n) + 5)*((~m) + (~n) + 6) - (~a)^2*(~b)^2*((~n) + 1)*((~n) + 2)*((~m) + (~n) + 5)*(2*(~n) + 2*(~m) + 13))* sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_2_2_65", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m), 2*(~n), (~p)/2) && + ( + lt((~m), -1) || + eq((~m), -1) && + gt((~p), 0) + ) ? +∫(ext_expand(((~d)*sin((~e) + (~f)*(~x)))^(~n)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*(1 - sin((~e) + (~f)*(~x))^2)^((~p)⨸2), (~x)), (~x)) : nothing) + +("4_1_2_2_66", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)* sin((~!e) + (~!f)*(~x))^(~n)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~p), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~n)) && + ( + lt((~n), 0) || + igt((~p) + 1/2, 0) + ) ? +∫(ext_expand(((~g)*cos((~e) + (~f)*(~x)))^(~p), sin((~e) + (~f)*(~x))^(~n)⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)), (~x)) : nothing) + +("4_1_2_2_67", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^ (~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^(~n)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(2*(~n), 2*(~p)) && + gt((~p), 1) && + ( + le((~n), -2) || + eq((~n), -3/2) && + eq((~p), 3/2) + ) ? +(~g)^2⨸(~a)*∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) - (~b)*(~g)^2⨸((~a)^2*(~d))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1), (~x)) - (~g)^2*((~a)^2 - (~b)^2)⨸((~a)^2*(~d)^2)* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 2)⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_68", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^ (~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^(~n)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(2*(~n), 2*(~p)) && + gt((~p), 1) && + ( + lt((~n), -1) || + eq((~p), 3/2) && + eq((~n), -1/2) + ) ? +(~g)^2⨸((~a)*(~b))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~d)*sin((~e) + (~f)*(~x)))^ (~n)*((~b) - (~a)*sin((~e) + (~f)*(~x))), (~x)) + (~g)^2*((~a)^2 - (~b)^2)⨸((~a)*(~b)*(~d))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_69", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^ (~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^(~n)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(2*(~n), 2*(~p)) && + gt((~p), 1) ? +(~g)^2⨸(~b)^2* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~d)*sin((~e) + (~f)*(~x)))^ (~n)*((~a) - (~b)*sin((~e) + (~f)*(~x))), (~x)) - (~g)^2*((~a)^2 - (~b)^2)⨸(~b)^2* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~d)*sin((~e) + (~f)*(~x)))^ (~n)⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +#(* Int[(g_.*cos[e_.+f_.*x_])^p_*(d_.*sin[e_.+f_.*x_])^n_/(a_+b_.*sin[ e_.+f_.*x_]),x_Symbol] := g^2*Int[(g*Cos[e+f*x])^(p-2)*(d*Sin[e+f*x])^n/(a+b*Sin[e+f*x]),x] - g^2/d^2*Int[(g*Cos[e+f*x])^(p-2)*(d*Sin[e+f*x])^(n+2)/(a+b*Sin[e+f* x]),x] /; FreeQ[{a,b,d,e,f,g},x] && NeQ[a^2-b^2,0] && IntegersQ[2*n,2*p] && GtQ[p,1] *) +("4_1_2_2_70", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^ (~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^(~n)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(2*(~n), 2*(~p)) && + lt((~p), -1) && + gt((~n), 1) ? +(~a)*(~d)^2⨸((~a)^2 - (~b)^2)* ∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~d)*sin((~e) + (~f)*(~x)))^((~n) - 2), (~x)) - (~b)*(~d)⨸((~a)^2 - (~b)^2)* ∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~d)*sin((~e) + (~f)*(~x)))^((~n) - 1), (~x)) - (~a)^2*(~d)^2⨸((~g)^2*((~a)^2 - (~b)^2))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)*((~d)*sin((~e) + (~f)*(~x)))^((~n) - 2)⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_71", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^ (~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^(~n)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(2*(~n), 2*(~p)) && + lt((~p), -1) && + gt((~n), 0) ? +-(~d)⨸((~a)^2 - (~b)^2)* ∫(((~g)*cos((~e) + (~f)*(~x)))^ (~p)*((~d)*sin((~e) + (~f)*(~x)))^((~n) - 1)*((~b) - (~a)*sin((~e) + (~f)*(~x))), (~x)) + (~a)*(~b)*(~d)⨸((~g)^2*((~a)^2 - (~b)^2))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)*((~d)*sin((~e) + (~f)*(~x)))^((~n) - 1)⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_72", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^ (~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^(~n)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(2*(~n), 2*(~p)) && + lt((~p), -1) ? +1⨸((~a)^2 - (~b)^2)* ∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~d)*sin((~e) + (~f)*(~x)))^(~n)*((~a) - (~b)*sin((~e) + (~f)*(~x))), (~x)) - (~b)^2⨸((~g)^2*((~a)^2 - (~b)^2))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) + 2)*((~d)*sin((~e) + (~f)*(~x)))^ (~n)⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_73", +@rule ∫(sqrt( (~!g)*cos((~!e) + (~!f)*(~x)))/(sqrt( sin((~!e) + (~!f)*(~x)))*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +-4*sqrt(2)*(~g)⨸(~f)* int_and_subst((~x)^2⨸((((~a) + (~b))*(~g)^2 + ((~a) - (~b))*(~x)^4)*sqrt(1 - (~x)^4⨸(~g)^2)), (~x), (~x), sqrt((~g)*cos((~e) + (~f)*(~x)))⨸sqrt(1 + sin((~e) + (~f)*(~x))), "4_1_2_2_73") : nothing) + +("4_1_2_2_74", +@rule ∫(sqrt( (~!g)*cos((~!e) + (~!f)*(~x)))/(sqrt( (~d)*sin((~!e) + (~!f)*(~x)))*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +sqrt(sin((~e) + (~f)*(~x)))⨸sqrt((~d)*sin((~e) + (~f)*(~x)))* ∫(sqrt((~g)*cos((~e) + (~f)*(~x)))⨸(sqrt(sin((~e) + (~f)*(~x)))*((~a) + (~b)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_2_75", +@rule ∫(sqrt( (~!d)*sin((~!e) + (~!f)*(~x)))/(sqrt( cos((~!e) + (~!f)*(~x)))*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +2*sqrt(2)*(~d)*((~b) + rt(-(~a)^2 + (~b)^2, 2))⨸((~f)*rt(-(~a)^2 + (~b)^2, 2))* int_and_subst(1⨸(((~d)*((~b) + rt(-(~a)^2 + (~b)^2, 2)) + (~a)*(~x)^2)*sqrt(1 - (~x)^4⨸(~d)^2)), (~x), (~x), sqrt((~d)*sin((~e) + (~f)*(~x)))⨸sqrt(1 + cos((~e) + (~f)*(~x))), "4_1_2_2_75") - 2*sqrt(2)*(~d)*((~b) - rt(-(~a)^2 + (~b)^2, 2))⨸((~f)*rt(-(~a)^2 + (~b)^2, 2))* int_and_subst(1⨸(((~d)*((~b) - rt(-(~a)^2 + (~b)^2, 2)) + (~a)*(~x)^2)*sqrt(1 - (~x)^4⨸(~d)^2)), (~x), (~x), sqrt((~d)*sin((~e) + (~f)*(~x)))⨸sqrt(1 + cos((~e) + (~f)*(~x))), "4_1_2_2_75") : nothing) + +("4_1_2_2_76", +@rule ∫(sqrt( (~!d)*sin((~!e) + (~!f)*(~x)))/(sqrt( (~!g)*cos((~!e) + (~!f)*(~x)))*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +sqrt(cos((~e) + (~f)*(~x)))⨸sqrt((~g)*cos((~e) + (~f)*(~x)))* ∫(sqrt((~d)*sin((~e) + (~f)*(~x)))⨸(sqrt(cos((~e) + (~f)*(~x)))*((~a) + (~b)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_2_77", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^ (~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^(~n)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(2*(~n), 2*(~p)) && + lt(-1, (~p), 1) && + gt((~n), 0) ? +(~d)⨸(~b)*∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~d)*sin((~e) + (~f)*(~x)))^((~n) - 1), (~x)) - (~a)*(~d)⨸(~b)* ∫(((~g)*cos((~e) + (~f)*(~x)))^ (~p)*((~d)*sin((~e) + (~f)*(~x)))^((~n) - 1)⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_78", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^ (~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^(~n)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(2*(~n), 2*(~p)) && + lt(-1, (~p), 1) && + lt((~n), 0) ? +1⨸(~a)*∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) - (~b)⨸((~a)*(~d))* ∫(((~g)*cos((~e) + (~f)*(~x)))^ (~p)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_79", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^2,(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +2*(~a)*(~b)⨸(~d)*∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1), (~x)) + ∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~d)*sin((~e) + (~f)*(~x)))^ (~n)*((~a)^2 + (~b)^2*sin((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_2_2_80", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m)) && + ( + gt((~m), 0) || + ext_isinteger((~n)) + ) ? +∫(ext_expand(((~g)*cos((~e) + (~f)*(~x)))^ (~p), ((~d)*sin((~e) + (~f)*(~x)))^(~n)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)), (~x)) : nothing) + +("4_1_2_2_81", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~g), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m), 2*(~n), 2*(~p)) && + lt((~m), 0) && + gt((~p), 1) && + ( + le((~n), -2) || + eq((~m), -1) && + eq((~n), -3/2) && + eq((~p), 3/2) + ) ? +(~g)^2⨸(~a)* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~d)*sin((~e) + (~f)*(~x)))^ (~n)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1), (~x)) - (~b)*(~g)^2⨸((~a)^2*(~d))* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1), (~x)) - (~g)^2*((~a)^2 - (~b)^2)⨸((~a)^2*(~d)^2)* ∫(((~g)*cos((~e) + (~f)*(~x)))^((~p) - 2)*((~d)*sin((~e) + (~f)*(~x)))^((~n) + 2)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) : nothing) + +("4_1_2_2_82", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m), (~p)) && + eq(2*(~m) + (~p), 0) ? +(~a)^(2*(~m))*∫(((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~a) - (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) : nothing) + +("4_1_2_2_83", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m)) && + ( + eq(2*(~m) + (~p), 0) || + gt(2*(~m) + (~p), 0) && + lt((~p), -1) + ) ? +((~a)⨸(~g))^(2*(~m))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(2*(~m) + (~p))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)⨸((~a) - (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) : nothing) + +("4_1_2_2_84", +@rule ∫(cos((~!e) + (~!f)*(~x))^2*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(2*(~m), 2*(~n)) ? +1⨸(~b)^2* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)*((~a) - (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_2_85", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~p)/2) && + ext_isinteger((~m)) ? +(~a)^(~m)*cos( (~e) + (~f)*(~x))⨸((~f)*sqrt(1 + sin((~e) + (~f)*(~x)))*sqrt(1 - sin((~e) + (~f)*(~x))))* int_and_subst((1 + (~b)⨸(~a)*(~x))^((~m) + ((~p) - 1)⨸2)*(1 - (~b)⨸(~a)*(~x))^(((~p) - 1)⨸2)*((~c) + (~d)*(~x))^ (~n), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_2_2_85") : nothing) + +("4_1_2_2_86", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~p)/2) && + !(ext_isinteger((~m))) ? +cos((~e) + (~f)*(~x))⨸((~a)^((~p) - 2)*(~f)*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))* sqrt((~a) - (~b)*sin((~e) + (~f)*(~x))))* int_and_subst(((~a) + (~b)*(~x))^((~m) + (~p)⨸2 - 1⨸2)*((~a) - (~b)*(~x))^((~p)⨸2 - 1⨸2)*((~c) + (~d)*(~x))^(~n), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_2_2_86") : nothing) + +("4_1_2_2_87", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + igt((~m), 0) && + ( + ext_isinteger((~p)) || + igt((~n), 0) + ) ? +∫(ext_expand(((~g)*cos((~e) + (~f)*(~x)))^ (~p), ((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("4_1_2_2_88", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m)) ? +(~a)^(~m)*(~g)*((~g)*cos((~e) + (~f)*(~x)))^((~p) - 1)⨸((~f)*(1 + sin((~e) + (~f)*(~x)))^(((~p) - 1)⨸2)*(1 - sin((~e) + (~f)*(~x)))^(((~p) - 1)⨸2))* int_and_subst((1 + (~b)⨸(~a)*(~x))^((~m) + ((~p) - 1)⨸2)*(1 - (~b)⨸(~a)*(~x))^(((~p) - 1)⨸2)*((~c) + (~d)*(~x))^ (~n), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_2_2_88") : nothing) + +("4_1_2_2_89", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger((~m))) ? +(~g)*((~g)*cos((~e) + (~f)*(~x)))^((~p) - 1)⨸((~f)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(((~p) - 1)⨸2)*((~a) - (~b)*sin((~e) + (~f)*(~x)))^(((~p) - 1)⨸2))* int_and_subst(((~a) + (~b)*(~x))^((~m) + ((~p) - 1)⨸2)*((~a) - (~b)*(~x))^(((~p) - 1)⨸2)*((~c) + (~d)*(~x))^(~n), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_2_2_89") : nothing) + +("4_1_2_2_90", +@rule ∫(cos((~!e) + (~!f)*(~x))^2*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ( + igt((~m), 0) || + ext_isinteger(2*(~m), 2*(~n)) + ) ? +∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)*(1 - sin((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_2_2_91", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + igt((~p)/2, 0) && + ( + igt((~m), 0) || + ext_isinteger(2*(~m), 2*(~n)) + ) ? +∫(ext_expand(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)*(1 - sin((~e) + (~f)*(~x))^2)^((~p)⨸2), (~x)), (~x)) : nothing) + +("4_1_2_2_92", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger(2*(~m), 2*(~n)) ? +∫(ext_expand(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)), (~x)) : nothing) + +# ("4_1_2_2_93", +# @rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && +# !eq((~a)^2 - (~b)^2, 0) ? +# Unintegrable[((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)] : nothing) + +("4_1_2_2_94", +@rule ∫(((~!g)*sec((~!e) + (~!f)*(~x)))^(~p)*((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~p))) ? +(~g)^(2*intpart((~p)))*((~g)*cos((~e) + (~f)*(~x)))^fracpart((~p))*((~g)*sec((~e) + (~f)*(~x)))^ fracpart((~p))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~g)*cos((~e) + (~f)*(~x)))^(~p), (~x)) : nothing) + +("4_1_2_2_95", +@rule ∫(((~!g)*csc((~!e) + (~!f)*(~x)))^(~p)*((~!a) + (~!b)*cos((~!e) + (~!f)*(~x)))^ (~!m)*((~!c) + (~!d)*cos((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~p))) ? +(~g)^(2*intpart((~p)))*((~g)*sin((~e) + (~f)*(~x)))^fracpart((~p))*((~g)*csc((~e) + (~f)*(~x)))^ fracpart((~p))* ∫(((~a) + (~b)*cos((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*cos((~e) + (~f)*(~x)))^(~n)⨸((~g)*sin((~e) + (~f)*(~x)))^(~p), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.2/4.1.2.3 (g sin)^p (a+b sin)^m (c+d sin)^n.jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.2/4.1.2.3 (g sin)^p (a+b sin)^m (c+d sin)^n.jl new file mode 100644 index 0000000..8e0d45b --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.2/4.1.2.3 (g sin)^p (a+b sin)^m (c+d sin)^n.jl @@ -0,0 +1,320 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.2.3 (g sin)^p (a+b sin)^m (c+d sin)^n *) +("4_1_2_3_1", +@rule ∫(sqrt((~!g)*sin((~!e) + (~!f)*(~x)))* sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/((~c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ( + eq((~a)^2 - (~b)^2, 0) || + eq((~c)^2 - (~d)^2, 0) + ) ? +(~g)⨸(~d)*∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸sqrt((~g)*sin((~e) + (~f)*(~x))), (~x)) - (~c)*(~g)⨸(~d)* ∫(sqrt( (~a) + (~b)*sin((~e) + (~f)*(~x)))⨸(sqrt( (~g)*sin((~e) + (~f)*(~x)))*((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_3_2", +@rule ∫(sqrt((~!g)*sin((~!e) + (~!f)*(~x)))* sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/((~c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +(~b)⨸(~d)*∫(sqrt((~g)*sin((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) - ((~b)*(~c) - (~a)*(~d))⨸(~d)* ∫(sqrt( (~g)*sin((~e) + (~f)*(~x)))⨸(sqrt( (~a) + (~b)*sin((~e) + (~f)*(~x)))*((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_3_3", +@rule ∫(sqrt( (~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/(sqrt( (~!g)*sin((~!e) + (~!f)*(~x)))*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) ? +-2*(~b)⨸(~f)* int_and_subst(1⨸((~b)*(~c) + (~a)*(~d) + (~c)*(~g)*(~x)^2), (~x), (~x), (~b)*cos((~e) + (~f)*(~x))⨸(sqrt((~g)*sin((~e) + (~f)*(~x)))*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))), "4_1_2_3_3") : nothing) + +("4_1_2_3_4", +@rule ∫(sqrt( (~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/(sqrt( sin((~!e) + (~!f)*(~x)))*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~d), (~c)) && + gt((~b)^2 - (~a)^2, 0) && + gt((~b), 0) ? +-sqrt((~a) + (~b))⨸((~c)*(~f))* elliptic_e( asin(cos((~e) + (~f)*(~x))⨸(1 + sin((~e) + (~f)*(~x)))), -((~a) - (~b))⨸((~a) + (~b))) : nothing) + +("4_1_2_3_5", +@rule ∫(sqrt( (~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/(sqrt( (~!g)*sin((~!e) + (~!f)*(~x)))*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + eq((~c)^2 - (~d)^2, 0) ? +-sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt((~d)*sin((~e) + (~f)*(~x))⨸((~c) + (~d)*sin((~e) + (~f)*(~x))))⨸ ((~d)*(~f)*sqrt((~g)*sin((~e) + (~f)*(~x)))* sqrt((~c)^2*((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸(((~a)*(~c) + (~b)*(~d))*((~c) + (~d)*sin((~e) + (~f)*(~x))))))* elliptic_e( asin((~c)* cos((~e) + (~f)*(~x))⨸((~c) + (~d)*sin((~e) + (~f)*(~x)))), ((~b)*(~c) - (~a)*(~d))⨸((~b)*(~c) + (~a)*(~d))) : nothing) + +("4_1_2_3_6", +@rule ∫(sqrt( (~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/(sqrt( (~!g)*sin((~!e) + (~!f)*(~x)))*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +(~a)⨸(~c)*∫(1⨸(sqrt((~g)*sin((~e) + (~f)*(~x)))*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))), (~x)) + ((~b)*(~c) - (~a)*(~d))⨸((~c)*(~g))* ∫(sqrt( (~g)*sin((~e) + (~f)*(~x)))⨸(sqrt( (~a) + (~b)*sin((~e) + (~f)*(~x)))*((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_3_7", +@rule ∫(sqrt( (~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/(sin( (~!e) + (~!f)*(~x))*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) ? +1⨸(~c)*∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸sin((~e) + (~f)*(~x)), (~x)) - (~d)⨸(~c)*∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_3_8", +@rule ∫(sqrt( (~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/(sin( (~!e) + (~!f)*(~x))*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) ? +(~a)⨸(~c)*∫(1⨸(sin((~e) + (~f)*(~x))*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))), (~x)) + ((~b)*(~c) - (~a)*(~d))⨸(~c)* ∫(1⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_3_9", +@rule ∫(sqrt( (~!g)*sin((~!e) + (~!f)*(~x)))/(sqrt( (~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ( + eq((~a)^2 - (~b)^2, 0) || + eq((~c)^2 - (~d)^2, 0) + ) ? +-(~a)*(~g)⨸((~b)*(~c) - (~a)*(~d))* ∫(1⨸(sqrt((~g)*sin((~e) + (~f)*(~x)))*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))), (~x)) + (~c)*(~g)⨸((~b)*(~c) - (~a)*(~d))* ∫(sqrt( (~a) + (~b)*sin((~e) + (~f)*(~x)))⨸(sqrt( (~g)*sin((~e) + (~f)*(~x)))*((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_3_10", +@rule ∫(sqrt( (~!g)*sin((~!e) + (~!f)*(~x)))/(sqrt( (~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +2*sqrt(-cot((~e) + (~f)*(~x))^2)* sqrt((~g)*sin((~e) + (~f)*(~x)))⨸((~f)*((~c) + (~d))*cot((~e) + (~f)*(~x))* sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))))*sqrt(((~b) + (~a)*csc((~e) + (~f)*(~x)))⨸((~a) + (~b)))* elliptic_pi(2*(~c)⨸((~c) + (~d)), asin(sqrt(1 - csc((~e) + (~f)*(~x)))⨸sqrt(2)), 2*(~a)⨸((~a) + (~b))) : nothing) + +("4_1_2_3_11", +@rule ∫(1/(sqrt((~!g)*sin((~!e) + (~!f)*(~x)))* sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ( + eq((~a)^2 - (~b)^2, 0) || + eq((~c)^2 - (~d)^2, 0) + ) ? +(~b)⨸((~b)*(~c) - (~a)*(~d))* ∫(1⨸(sqrt((~g)*sin((~e) + (~f)*(~x)))*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))), (~x)) - (~d)⨸((~b)*(~c) - (~a)*(~d))* ∫(sqrt( (~a) + (~b)*sin((~e) + (~f)*(~x)))⨸(sqrt( (~g)*sin((~e) + (~f)*(~x)))*((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_3_12", +@rule ∫(1/(sqrt((~!g)*sin((~!e) + (~!f)*(~x)))* sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +1⨸(~c)*∫(1⨸(sqrt((~g)*sin((~e) + (~f)*(~x)))*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))), (~x)) - (~d)⨸((~c)*(~g))* ∫(sqrt( (~g)*sin((~e) + (~f)*(~x)))⨸(sqrt( (~a) + (~b)*sin((~e) + (~f)*(~x)))*((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_3_13", +@rule ∫(1/(sin((~!e) + (~!f)*(~x))* sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) ? +(~d)^2⨸((~c)*((~b)*(~c) - (~a)*(~d)))* ∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) + 1⨸((~c)*((~b)*(~c) - (~a)*(~d)))* ∫(((~b)*(~c) - (~a)*(~d) - (~b)*(~d)*sin((~e) + (~f)*(~x)))⨸(sin((~e) + (~f)*(~x))* sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_3_14", +@rule ∫(1/(sin((~!e) + (~!f)*(~x))* sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) ? +1⨸(~c)*∫(1⨸(sin((~e) + (~f)*(~x))*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))), (~x)) - (~d)⨸(~c)*∫(1⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_3_15", +@rule ∫(sqrt( (~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/(sin((~!e) + (~!f)*(~x))* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + eq((~b)*(~c) + (~a)*(~d), 0) ? +-(~d)⨸(~c)*∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) + 1⨸(~c)* ∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸sin((~e) + (~f)*(~x)), (~x)) : nothing) + +("4_1_2_3_16", +@rule ∫(sqrt( (~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/(sin((~!e) + (~!f)*(~x))* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~b)*(~c) + (~a)*(~d), 0) ? +-2*(~a)⨸(~f)* int_and_subst(1⨸(1 - (~a)*(~c)*(~x)^2), (~x), (~x), cos((~e) + (~f)*(~x))⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), "4_1_2_3_16") : nothing) + +("4_1_2_3_17", +@rule ∫(sqrt( (~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/(sin((~!e) + (~!f)*(~x))* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + eq((~c)^2 - (~d)^2, 0) ? +((~b)*(~c) - (~a)*(~d))⨸(~c)* ∫(1⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) + (~a)⨸(~c)* ∫(sqrt( (~c) + (~d)*sin((~e) + (~f)*(~x)))⨸(sin((~e) + (~f)*(~x))*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_3_18", +@rule ∫(sqrt( (~a) + (~!b)*sin((~!e) + (~!f)*(~x)))/(sin((~!e) + (~!f)*(~x))* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +-2*((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸((~c)*(~f)*rt(((~a) + (~b))⨸((~c) + (~d)), 2)*cos((~e) + (~f)*(~x)))* sqrt(-((~b)*(~c) - (~a)*(~d))*(1 - sin((~e) + (~f)*(~x)))⨸(((~c) + (~d))*((~a) + (~b)*sin((~e) + (~f)*(~x)))))* sqrt(((~b)*(~c) - (~a)*(~d))*(1 + sin((~e) + (~f)*(~x)))⨸(((~c) - (~d))*((~a) + (~b)*sin((~e) + (~f)*(~x)))))* elliptic_pi((~a)*((~c) + (~d))⨸((~c)*((~a) + (~b))), asin(rt(((~a) + (~b))⨸((~c) + (~d)), 2)* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))), ((~a) - (~b))*((~c) + (~d))⨸(((~a) + (~b))*((~c) - (~d)))) : nothing) + +("4_1_2_3_19", +@rule ∫(1/(sin((~!e) + (~!f)*(~x))*sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + eq((~c)^2 - (~d)^2, 0) ? +cos((~e) + (~f)*(~x))⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))))* ∫(1⨸(cos((~e) + (~f)*(~x))*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_2_3_20", +@rule ∫(1/(sin((~!e) + (~!f)*(~x))*sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ( + !eq((~a)^2 - (~b)^2, 0) || + !eq((~c)^2 - (~d)^2, 0) + ) ? +-(~b)⨸(~a)*∫(1⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) + 1⨸(~a)* ∫(sqrt( (~a) + (~b)*sin((~e) + (~f)*(~x)))⨸(sin((~e) + (~f)*(~x))*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_3_21", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))/sin((~!e) + (~!f)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + eq((~c)^2 - (~d)^2, 0) ? +sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸cos((~e) + (~f)*(~x))* ∫(cot((~e) + (~f)*(~x)), (~x)) : nothing) + +("4_1_2_3_22", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))/sin((~!e) + (~!f)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ( + !eq((~a)^2 - (~b)^2, 0) || + !eq((~c)^2 - (~d)^2, 0) + ) ? +(~d)*∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) + (~c)*∫( sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸(sin((~e) + (~f)*(~x))*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_2_3_23", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + eq((~p) + 2*(~n), 0) && + ext_isinteger((~n)) ? +(~a)^(~n)*(~c)^(~n)*∫(tan((~e) + (~f)*(~x))^(~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - (~n)), (~x)) : nothing) + +("4_1_2_3_24", +@rule ∫(((~!g)*sin((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + ext_isinteger((~m) - 1/2) ? +sqrt((~a) - (~b)*sin((~e) + (~f)*(~x)))* sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸((~f)*cos((~e) + (~f)*(~x)))* int_and_subst(((~g)*(~x))^(~p)*((~a) + (~b)*(~x))^((~m) - 1⨸2)*((~c) + (~d)*(~x))^(~n)⨸sqrt((~a) - (~b)*(~x)), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_2_3_24") : nothing) + +("4_1_2_3_25", +@rule ∫(((~!g)*sin((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + ( + ext_isinteger((~m), (~n)) || + ext_isinteger((~m), (~p)) || + ext_isinteger((~n), (~p)) + ) && + !eq((~p), 2) ? +∫(ext_expand(((~g)*sin((~e) + (~f)*(~x)))^(~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)), (~x)) : nothing) + +# ("4_1_2_3_26", +# @rule ∫(((~!g)*sin((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && +# !eq((~p), 2) ? +# Unintegrable[((~g)*sin((~e) + (~f)*(~x)))^(~p)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)] : nothing) + +("4_1_2_3_27", +@rule ∫(((~!g)*sin((~!e) + (~!f)*(~x)))^(~!p)*((~!a) + (~!b)*csc((~!e) + (~!f)*(~x)))^ (~!m)*((~c) + (~!d)*csc((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !(ext_isinteger((~p))) && + ext_isinteger((~m)) && + ext_isinteger((~n)) ? +(~g)^((~m) + (~n))* ∫(((~g)*sin((~e) + (~f)*(~x)))^((~p) - (~m) - (~n))*((~b) + (~a)*sin((~e) + (~f)*(~x)))^ (~m)*((~d) + (~c)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_2_3_28", +@rule ∫(((~!g)*sin((~!e) + (~!f)*(~x)))^(~!p)*((~!a) + (~!b)*csc((~!e) + (~!f)*(~x)))^ (~!m)*((~c) + (~!d)*csc((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !(ext_isinteger((~p))) && + !( + ext_isinteger((~m)) && + ext_isinteger((~n)) + ) ? +((~g)*csc((~e) + (~f)*(~x)))^(~p)*((~g)*sin((~e) + (~f)*(~x)))^(~p)* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*csc((~e) + (~f)*(~x)))^(~n)⨸((~g)*csc((~e) + (~f)*(~x)))^(~p), (~x)) : nothing) + +("4_1_2_3_29", +@rule ∫(((~!g)*sin((~!e) + (~!f)*(~x)))^(~!p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~c) + (~!d)*csc((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + ext_isinteger((~n)) ? +(~g)^(~n)*∫(((~g)*sin((~e) + (~f)*(~x)))^((~p) - (~n))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~d) + (~c)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_2_3_30", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~!p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~c) + (~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && + !(ext_isinteger((~n))) && + ext_isinteger((~m)) && + ext_isinteger((~p)) ? +∫(((~b) + (~a)*csc((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*csc((~e) + (~f)*(~x)))^(~n)⨸ csc((~e) + (~f)*(~x))^((~m) + (~p)), (~x)) : nothing) + +("4_1_2_3_31", +@rule ∫(((~!g)*sin((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~c) + (~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + !(ext_isinteger((~n))) && + ext_isinteger((~m)) && + !(ext_isinteger((~p))) ? +csc((~e) + (~f)*(~x))^(~p)*((~g)*sin((~e) + (~f)*(~x)))^(~p)* ∫(((~b) + (~a)*csc((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*csc((~e) + (~f)*(~x)))^(~n)⨸ csc((~e) + (~f)*(~x))^((~m) + (~p)), (~x)) : nothing) + +("4_1_2_3_32", +@rule ∫(((~!g)*sin((~!e) + (~!f)*(~x)))^(~!p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~n))) && + !(ext_isinteger((~m))) ? +((~g)*sin((~e) + (~f)*(~x)))^(~n)*((~c) + (~d)*csc((~e) + (~f)*(~x)))^(~n)⨸((~d) + (~c)*sin((~e) + (~f)*(~x)))^(~n)* ∫(((~g)*sin((~e) + (~f)*(~x)))^((~p) - (~n))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~d) + (~c)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_2_3_33", +@rule ∫(((~!g)*csc((~!e) + (~!f)*(~x)))^(~!p)*((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !(ext_isinteger((~p))) && + ext_isinteger((~m)) && + ext_isinteger((~n)) ? +(~g)^((~m) + (~n))* ∫(((~g)*csc((~e) + (~f)*(~x)))^((~p) - (~m) - (~n))*((~b) + (~a)*csc((~e) + (~f)*(~x)))^ (~m)*((~d) + (~c)*csc((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_2_3_34", +@rule ∫(((~!g)*csc((~!e) + (~!f)*(~x)))^(~!p)*((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !(ext_isinteger((~p))) && + !( + ext_isinteger((~m)) && + ext_isinteger((~n)) + ) ? +((~g)*csc((~e) + (~f)*(~x)))^(~p)*((~g)*sin((~e) + (~f)*(~x)))^(~p)* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~g)*sin((~e) + (~f)*(~x)))^(~p), (~x)) : nothing) + +("4_1_2_3_35", +@rule ∫(((~!g)*csc((~!e) + (~!f)*(~x)))^(~!p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~c) + (~!d)*csc((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + ext_isinteger((~m)) ? +(~g)^(~m)*∫(((~g)*csc((~e) + (~f)*(~x)))^((~p) - (~m))*((~b) + (~a)*csc((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*csc((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_2_3_36", +@rule ∫(csc((~!e) + (~!f)*(~x))^(~!p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*csc((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !(ext_isinteger((~m))) && + ext_isinteger((~n)) && + ext_isinteger((~p)) ? +∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~d) + (~c)*sin((~e) + (~f)*(~x)))^(~n)⨸ sin((~e) + (~f)*(~x))^((~n) + (~p)), (~x)) : nothing) + +("4_1_2_3_37", +@rule ∫(((~!g)*csc((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*csc((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~p), (~x)) && + !(ext_isinteger((~m))) && + ext_isinteger((~n)) && + !(ext_isinteger((~p))) ? +sin((~e) + (~f)*(~x))^(~p)*((~g)*csc((~e) + (~f)*(~x)))^(~p)* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~d) + (~c)*sin((~e) + (~f)*(~x)))^(~n)⨸ sin((~e) + (~f)*(~x))^((~n) + (~p)), (~x)) : nothing) + +("4_1_2_3_38", +@rule ∫(((~!g)*csc((~!e) + (~!f)*(~x)))^(~!p)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~c) + (~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~n))) ? +((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~g)*csc((~e) + (~f)*(~x)))^(~m)⨸((~b) + (~a)*csc((~e) + (~f)*(~x)))^(~m)* ∫(((~g)*csc((~e) + (~f)*(~x)))^((~p) - (~m))*((~b) + (~a)*csc((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*csc((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.3 (a+b sin)^m (c+d sin)^n (A+B sin).jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.3 (a+b sin)^m (c+d sin)^n (A+B sin).jl new file mode 100644 index 0000000..5493e51 --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.3 (a+b sin)^m (c+d sin)^n (A+B sin).jl @@ -0,0 +1,447 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.3.1 (a+b sin)^m (c+d sin)^n (A+B sin) *) +("4_1_3_1", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~!n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~B), (~x)) && + eq((~A)*(~b) + (~a)*(~B), 0) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m)) && + ext_isinteger((~n)) ? +∫(ext_expand( sin((~e) + (~f)*(~x))^(~n)*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~A) + (~B)*sin((~e) + (~f)*(~x))), (~x)), (~x)) : nothing) + +("4_1_3_2", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~n), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m)) && + !( + ext_isinteger( (~n)) && + ( + lt((~m), 0) && + gt((~n), 0) || + lt(0, (~n), (~m)) || + lt((~m), (~n), 0) + ) + ) ? +(~a)^(~m)*(~c)^(~m)* ∫(cos((~e) + (~f)*(~x))^(2*(~m))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - (~m))*((~A) + (~B)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_3_3", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) ? +∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~A)*(~c) + ((~B)*(~c) + (~A)*(~d))*sin((~e) + (~f)*(~x)) + (~B)*(~d)*sin((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_3_4", +@rule ∫(((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)))/(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) ? +((~A)*(~b) + (~a)*(~B))⨸(2*(~a)*(~b))* ∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) + ((~B)*(~c) + (~A)*(~d))⨸(2*(~c)*(~d))* ∫(sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_3_5", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~m), (~n), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + eq((~A)*(~b)*((~m) + (~n) + 1) + (~a)*(~B)*((~m) - (~n)), 0) && + !eq((~m), -1/2) ? +-(~B)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~f)*((~m) + (~n) + 1)) : nothing) + +("4_1_3_6", +@rule ∫(sqrt((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~n), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) ? +(~B)⨸(~d)*∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1), (~x)) - ((~B)*(~c) - (~A)*(~d))⨸(~d)* ∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_3_7", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~m), (~n), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + ( + lt((~m), -1/2) || + ilt((~m) + (~n), 0) && + !(sumsimpler((~n), 1)) + ) && + !eq(2*(~m) + 1, 0) ? +((~A)*(~b) - (~a)*(~B))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~a)*(~f)*(2*(~m) + 1)) + ((~a)*(~B)*((~m) - (~n)) + (~A)*(~b)*((~m) + (~n) + 1))⨸((~a)*(~b)*(2*(~m) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_3_8", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~m), (~n), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !(lt((~m), -1/2)) && + !eq((~m) + (~n) + 1, 0) ? +-(~B)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~f)*((~m) + (~n) + 1)) - ((~B)*(~c)*((~m) - (~n)) - (~A)*(~d)*((~m) + (~n) + 1))⨸((~d)*((~m) + (~n) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_3_9", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + eq((~m) + (~n) + 2, 0) && + eq((~A)*((~a)*(~d)*(~m) + (~b)*(~c)*((~n) + 1)) - (~B)*((~a)*(~c)*(~m) + (~b)*(~d)*((~n) + 1)), 0) ? +((~B)*(~c) - (~A)*(~d))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~f)*((~n) + 1)*((~c)^2 - (~d)^2)) : nothing) + +("4_1_3_10", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~m), 1/2) && + lt((~n), -1) && + ext_isinteger(2*(~m)) && + ( + ext_isinteger(2*(~n)) || + eq((~c), 0) + ) ? +-(~b)^2*((~B)*(~c) - (~A)*(~d))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~n) + 1)*((~b)*(~c) + (~a)*(~d))) - (~b)⨸((~d)*((~n) + 1)*((~b)*(~c) + (~a)*(~d)))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)* simp((~a)*(~A)*(~d)*((~m) - (~n) - 2) - (~B)*((~a)*(~c)*((~m) - 1) + (~b)*(~d)*((~n) + 1)) - ((~A)*(~b)*(~d)*((~m) + (~n) + 1) - (~B)*((~b)*(~c)*(~m) - (~a)*(~d)*((~n) + 1)))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_3_11", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~m), 1/2) && + !(lt((~n), -1)) && + ext_isinteger(2*(~m)) && + ( + ext_isinteger(2*(~n)) || + eq((~c), 0) + ) ? +-(~b)*(~B)*cos( (~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~m) + (~n) + 1)) + 1⨸((~d)*((~m) + (~n) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~a)*(~A)*(~d)*((~m) + (~n) + 1) + (~B)*((~a)*(~c)*((~m) - 1) + (~b)*(~d)*((~n) + 1)) + ((~A)*(~b)*(~d)*((~m) + (~n) + 1) - (~B)*((~b)*(~c)*(~m) - (~a)*(~d)*(2*(~m) + (~n))))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_3_12", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~m), -1/2) && + gt((~n), 0) && + ext_isinteger(2*(~m)) && + ( + ext_isinteger(2*(~n)) || + eq((~c), 0) + ) ? +((~A)*(~b) - (~a)*(~B))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~a)*(~f)*(2*(~m) + 1)) - 1⨸((~a)*(~b)*(2*(~m) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 1)* simp((~A)*((~a)*(~d)*(~n) - (~b)*(~c)*((~m) + 1)) - (~B)*((~a)*(~c)*(~m) + (~b)*(~d)*(~n)) - (~d)*((~a)*(~B)*((~m) - (~n)) + (~A)*(~b)*((~m) + (~n) + 1))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_3_13", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~m), -1/2) && + !(gt((~n), 0)) && + ext_isinteger(2*(~m)) && + ( + ext_isinteger(2*(~n)) || + eq((~c), 0) + ) ? +(~b)*((~A)*(~b) - (~a)*(~B))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~a)*(~f)*(2*(~m) + 1)*((~b)*(~c) - (~a)*(~d))) + 1⨸((~a)*(2*(~m) + 1)*((~b)*(~c) - (~a)*(~d)))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~B)*((~a)*(~c)*(~m) + (~b)*(~d)*((~n) + 1)) + (~A)*((~b)*(~c)*((~m) + 1) - (~a)*(~d)*(2*(~m) + (~n) + 2)) + (~d)*((~A)*(~b) - (~a)*(~B))*((~m) + (~n) + 2)*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_3_14", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + eq((~A)*(~b)*(~d)*(2*(~n) + 3) - (~B)*((~b)*(~c) - 2*(~a)*(~d)*((~n) + 1)), 0) ? +-2*(~b)*(~B)* cos((~e) + (~f)*(~x))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*(2*(~n) + 3)* sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))) : nothing) + +("4_1_3_15", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~n), -1) ? +-(~b)^2*((~B)*(~c) - (~A)*(~d))* cos((~e) + (~f)*(~x))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)* (~f)*((~n) + 1)*((~b)*(~c) + (~a)*(~d))*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))) + ((~A)*(~b)*(~d)*(2*(~n) + 3) - (~B)*((~b)*(~c) - 2*(~a)*(~d)*((~n) + 1)))⨸(2* (~d)*((~n) + 1)*((~b)*(~c) + (~a)*(~d)))* ∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_1_3_16", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + !(lt((~n), -1)) ? +-2*(~b)*(~B)* cos((~e) + (~f)*(~x))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*(2*(~n) + 3)* sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))) + ((~A)*(~b)*(~d)*(2*(~n) + 3) - (~B)*((~b)*(~c) - 2*(~a)*(~d)*((~n) + 1)))⨸((~b)*(~d)*(2*(~n) + 3))* ∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_3_17", +@rule ∫(((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)))/(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +((~A)*(~b) - (~a)*(~B))⨸(~b)* ∫(1⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) + (~B)⨸(~b)*∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_3_18", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~n), 0) && + ( + ext_isinteger((~n)) || + eq((~m) + 1/2, 0) + ) ? +-(~B)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~f)*((~m) + (~n) + 1)) + 1⨸((~b)*((~m) + (~n) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 1)* simp((~A)*(~b)*(~c)*((~m) + (~n) + 1) + (~B)*((~a)*(~c)*(~m) + (~b)*(~d)*(~n)) + ((~A)*(~b)*(~d)*((~m) + (~n) + 1) + (~B)*((~a)*(~d)*(~m) + (~b)*(~c)*(~n)))* sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_3_19", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~n), -1) && + ( + ext_isinteger((~n)) || + eq((~m) + 1/2, 0) + ) ? +((~B)*(~c) - (~A)*(~d))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~f)*((~n) + 1)*((~c)^2 - (~d)^2)) + 1⨸((~b)*((~n) + 1)*((~c)^2 - (~d)^2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)* simp((~A)*((~a)*(~d)*(~m) + (~b)*(~c)*((~n) + 1)) - (~B)*((~a)*(~c)*(~m) + (~b)*(~d)*((~n) + 1)) + (~b)*((~B)*(~c) - (~A)*(~d))*((~m) + (~n) + 2)*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_3_20", +@rule ∫(((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)))/(sqrt( (~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +((~A)*(~b) - (~a)*(~B))⨸((~b)*(~c) - (~a)*(~d))*∫(1⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) + ((~B)*(~c) - (~A)*(~d))⨸((~b)*(~c) - (~a)*(~d))* ∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_3_21", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)))/((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + !eq((~m) + 1/2, 0) ? +(~B)⨸(~d)*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) - ((~B)*(~c) - (~A)*(~d))⨸(~d)* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_3_22", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + !eq((~A)*(~b) + (~a)*(~B), 0) ? +((~A)*(~b) - (~a)*(~B))⨸(~b)* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) + (~B)⨸(~b)*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_1_3_23", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^2*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~n), -1) ? +((~B)*(~c) - (~A)*(~d))*((~b)*(~c) - (~a)*(~d))^2* cos((~e) + (~f)*(~x))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~f)* (~d)^2*((~n) + 1)*((~c)^2 - (~d)^2)) - 1⨸((~d)^2*((~n) + 1)*((~c)^2 - (~d)^2))*∫(((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)* simp((~d)*((~n) + 1)*((~B)*((~b)*(~c) - (~a)*(~d))^2 - (~A)*(~d)*((~a)^2*(~c) + (~b)^2*(~c) - 2*(~a)*(~b)*(~d))) - (((~B)*(~c) - (~A)*(~d))*((~a)^2*(~d)^2*((~n) + 2) + (~b)^2*((~c)^2 + (~d)^2*((~n) + 1))) + 2*(~a)*(~b)*(~d)*((~A)*(~c)*(~d)*((~n) + 2) - (~B)*((~c)^2 + (~d)^2*((~n) + 1))))* sin((~e) + (~f)*(~x)) - (~b)^2*(~B)*(~d)*((~n) + 1)*((~c)^2 - (~d)^2)*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_3_24", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~m), 1) && + lt((~n), -1) ? +-((~b)*(~c) - (~a)*(~d))*((~B)*(~c) - (~A)*(~d))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~n) + 1)*((~c)^2 - (~d)^2)) + 1⨸((~d)*((~n) + 1)*((~c)^2 - (~d)^2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 2)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)* simp((~b)*((~b)*(~c) - (~a)*(~d))*((~B)*(~c) - (~A)*(~d))*((~m) - 1) + (~a)*(~d)*((~a)*(~A)*(~c) + (~b)*(~B)*(~c) - ((~A)*(~b) + (~a)*(~B))*(~d))*((~n) + 1) + ((~b)*((~b)*(~d)*((~B)*(~c) - (~A)*(~d)) + (~a)*((~A)*(~c)*(~d) + (~B)*((~c)^2 - 2*(~d)^2)))*((~n) + 1) - (~a)*((~b)*(~c) - (~a)*(~d))*((~B)*(~c) - (~A)*(~d))*((~n) + 2))*sin((~e) + (~f)*(~x)) + (~b)*((~d)*((~A)*(~b)*(~c) + (~a)*(~B)*(~c) - (~a)*(~A)*(~d))*((~m) + (~n) + 1) - (~b)*(~B)*((~c)^2*(~m) + (~d)^2*((~n) + 1)))*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_3_25", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~m), 1) && + !( + igt((~n), 1) && + ( + !(ext_isinteger((~m))) || + eq((~a), 0) && + !eq((~c), 0) + ) + ) ? +-(~b)*(~B)*cos( (~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~m) + (~n) + 1)) + 1⨸((~d)*((~m) + (~n) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 2)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~a)^2*(~A)*(~d)*((~m) + (~n) + 1) + (~b)*(~B)*((~b)*(~c)*((~m) - 1) + (~a)*(~d)*((~n) + 1)) + ((~a)*(~d)*(2*(~A)*(~b) + (~a)*(~B))*((~m) + (~n) + 1) - (~b)*(~B)*((~a)*(~c) - (~b)*(~d)*((~m) + (~n))))*sin((~e) + (~f)*(~x)) + (~b)*((~A)*(~b)*(~d)*((~m) + (~n) + 1) - (~B)*((~b)*(~c)*(~m) - (~a)*(~d)*(2*(~m) + (~n))))* sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_3_26", +@rule ∫(sqrt( (~c) + (~!d)*sin((~!e) + (~!f)*(~x)))*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)))/((~!b)*sin((~!e) + (~!f)*(~x)))^(3//2),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~c)^2 - (~d)^2, 0) ? +(~B)*(~d)⨸(~b)^2*∫(sqrt((~b)*sin((~e) + (~f)*(~x)))⨸sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) + ∫(((~A)*(~c) + ((~B)*(~c) + (~A)*(~d))*sin((~e) + (~f)*(~x)))⨸(((~b)*sin((~e) + (~f)*(~x)))^(3⨸2)* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_3_27", +@rule ∫(sqrt( (~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)))/((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(3//2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +(~B)⨸(~b)*∫(sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) + ((~A)*(~b) - (~a)*(~B))⨸(~b)* ∫(sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸((~a) + (~b)*sin((~e) + (~f)*(~x)))^(3⨸2), (~x)) : nothing) + +("4_1_3_28", +@rule ∫(((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)))/(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(3//2)* sqrt((~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +2*((~A)*(~b) - (~a)*(~B))* cos((~e) + (~f)*(~x))⨸((~f)*((~a)^2 - (~b)^2)*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))* sqrt((~d)*sin((~e) + (~f)*(~x)))) + (~d)⨸((~a)^2 - (~b)^2)* ∫(((~A)*(~b) - (~a)*(~B) + ((~a)*(~A) - (~b)*(~B))*sin((~e) + (~f)*(~x)))⨸(sqrt( (~a) + (~b)*sin((~e) + (~f)*(~x)))*((~d)*sin((~e) + (~f)*(~x)))^(3⨸2)), (~x)) : nothing) + +("4_1_3_29", +@rule ∫(((~A) + (~!B)*sin((~!e) + (~!f)*(~x)))/(((~!b)*sin((~!e) + (~!f)*(~x)))^(3//2)* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~c)^2 - (~d)^2, 0) && + eq((~A), (~B)) && + pos(((~c) + (~d))/(~b)) ? +-2*(~A)*((~c) - (~d))*tan((~e) + (~f)*(~x))⨸((~f)*(~b)*(~c)^2)*rt(((~c) + (~d))⨸(~b), 2)* sqrt((~c)*(1 + csc((~e) + (~f)*(~x)))⨸((~c) - (~d)))* sqrt((~c)*(1 - csc((~e) + (~f)*(~x)))⨸((~c) + (~d)))* elliptic_e( asin(sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸sqrt((~b)*sin((~e) + (~f)*(~x)))⨸ rt(((~c) + (~d))⨸(~b), 2)), -((~c) + (~d))⨸((~c) - (~d))) : nothing) + +("4_1_3_30", +@rule ∫(((~A) + (~!B)*sin((~!e) + (~!f)*(~x)))/(((~!b)*sin((~!e) + (~!f)*(~x)))^(3//2)* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~c)^2 - (~d)^2, 0) && + eq((~A), (~B)) && + neg(((~c) + (~d))/(~b)) ? +-sqrt(-(~b)*sin((~e) + (~f)*(~x)))⨸sqrt((~b)*sin((~e) + (~f)*(~x)))* ∫(((~A) + (~B)*sin((~e) + (~f)*(~x)))⨸((-(~b)*sin((~e) + (~f)*(~x)))^(3⨸2)* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_3_31", +@rule ∫(((~A) + (~!B)*sin((~!e) + (~!f)*(~x)))/(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(3//2)* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + eq((~A), (~B)) && + pos(((~a) + (~b))/((~c) + (~d))) ? +-2*(~A)*((~c) - (~d))*((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸((~f)*((~b)*(~c) - (~a)*(~d))^2*rt(((~a) + (~b))⨸((~c) + (~d)), 2)* cos((~e) + (~f)*(~x)))* sqrt(((~b)*(~c) - (~a)*(~d))*(1 + sin((~e) + (~f)*(~x)))⨸(((~c) - (~d))*((~a) + (~b)*sin((~e) + (~f)*(~x)))))* sqrt(-((~b)*(~c) - (~a)*(~d))*(1 - sin((~e) + (~f)*(~x)))⨸(((~c) + (~d))*((~a) + (~b)*sin((~e) + (~f)*(~x)))))* elliptic_e( asin(rt(((~a) + (~b))⨸((~c) + (~d)), 2)* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))), ((~a) - (~b))*((~c) + (~d))⨸(((~a) + (~b))*((~c) - (~d)))) : nothing) + +("4_1_3_32", +@rule ∫(((~A) + (~!B)*sin((~!e) + (~!f)*(~x)))/(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(3//2)* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + eq((~A), (~B)) && + neg(((~a) + (~b))/((~c) + (~d))) ? +sqrt(-(~c) - (~d)*sin((~e) + (~f)*(~x)))⨸sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))* ∫(((~A) + (~B)*sin((~e) + (~f)*(~x)))⨸(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(3⨸2)* sqrt(-(~c) - (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_3_33", +@rule ∫(((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)))/(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(3//2)* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + !eq((~A), (~B)) ? +((~A) - (~B))⨸((~a) - (~b))* ∫(1⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) - ((~A)*(~b) - (~a)*(~B))⨸((~a) - (~b))* ∫((1 + sin((~e) + (~f)*(~x)))⨸(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(3⨸2)* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_3_34", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~m), -1) && + gt((~n), 0) ? +((~B)*(~a) - (~A)*(~b))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)⨸((~f)*((~m) + 1)*((~a)^2 - (~b)^2)) + 1⨸(((~m) + 1)*((~a)^2 - (~b)^2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 1)* simp((~c)*((~a)*(~A) - (~b)*(~B))*((~m) + 1) + (~d)*(~n)*((~A)*(~b) - (~a)*(~B)) + ((~d)*((~a)*(~A) - (~b)*(~B))*((~m) + 1) - (~c)*((~A)*(~b) - (~a)*(~B))*((~m) + 2))*sin((~e) + (~f)*(~x)) - (~d)*((~A)*(~b) - (~a)*(~B))*((~m) + (~n) + 2)*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_3_35", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + isrational((~m)) && + (~m) < -1 && + ( + eq((~a), 0) && + ext_isinteger((~m)) && + !(ext_isinteger((~n))) || + !( + ext_isinteger(2*(~n)) && + lt((~n), -1) && + ( + ext_isinteger((~n)) && + !(ext_isinteger((~m))) || + eq((~a), 0) + ) + ) + ) ? +-((~A)*(~b)^2 - (~a)*(~b)*(~B))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(1 + (~n))⨸((~f)*((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~a)^2 - (~b)^2)) + 1⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~a)^2 - (~b)^2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp(((~a)*(~A) - (~b)*(~B))*((~b)*(~c) - (~a)*(~d))*((~m) + 1) + (~b)*(~d)*((~A)*(~b) - (~a)*(~B))*((~m) + (~n) + 2) + ((~A)*(~b) - (~a)*(~B))*((~a)*(~d)*((~m) + 1) - (~b)*(~c)*((~m) + 2))*sin((~e) + (~f)*(~x)) - (~b)*(~d)*((~A)*(~b) - (~a)*(~B))*((~m) + (~n) + 3)*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_3_36", +@rule ∫(((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)))/(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +((~A)*(~b) - (~a)*(~B))⨸((~b)*(~c) - (~a)*(~d))* ∫(1⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) + ((~B)*(~c) - (~A)*(~d))⨸((~b)*(~c) - (~a)*(~d))* ∫(1⨸((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_3_37", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)))/((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +(~B)⨸(~d)*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) - ((~B)*(~c) - (~A)*(~d))⨸(~d)* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_3_38", +@rule ∫(sqrt((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + eq((~n)^2, 1/4) ? +-2*(~B)*cos((~e) + (~f)*(~x))* sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~f)*(2*(~n) + 3)) + 1⨸(2*(~n) + 3)* ∫(((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) - 1)⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))* simp((~a)*(~A)*(~c)*(2*(~n) + 3) + (~B)*((~b)*(~c) + 2*(~a)*(~d)*(~n)) + ((~B)*((~a)*(~c) + (~b)*(~d))*(2*(~n) + 1) + (~A)*((~b)*(~c) + (~a)*(~d))*(2*(~n) + 3))* sin((~e) + (~f)*(~x)) + ((~A)*(~b)*(~d)*(2*(~n) + 3) + (~B)*((~a)*(~d) + 2*(~b)*(~c)*(~n)))*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_3_39", +@rule ∫(((~A) + (~!B)*sin((~!e) + (~!f)*(~x)))/(sqrt(sin((~!e) + (~!f)*(~x)))* sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~B), (~x)) && + gt((~b), 0) && + gt((~b)^2 - (~a)^2, 0) && + eq((~A), (~B)) ? +4*(~A)⨸((~f)*sqrt((~a) + (~b)))* elliptic_pi(-1, -asin( cos((~e) + (~f)*(~x))⨸(1 + sin((~e) + (~f)*(~x)))), -((~a) - (~b))⨸((~a) + (~b))) : nothing) + +("4_1_3_40", +@rule ∫(((~A) + (~!B)*sin((~!e) + (~!f)*(~x)))/(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~d), (~A), (~B), (~x)) && + gt((~b), 0) && + gt((~b)^2 - (~a)^2, 0) && + eq((~A), (~B)) ? +sqrt(sin((~e) + (~f)*(~x)))⨸sqrt((~d)*sin((~e) + (~f)*(~x)))* ∫(((~A) + (~B)*sin((~e) + (~f)*(~x)))⨸(sqrt(sin((~e) + (~f)*(~x)))* sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_3_41", +@rule ∫(((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)))/(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +(~B)⨸(~d)*∫(sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) - ((~B)*(~c) - (~A)*(~d))⨸(~d)* ∫(1⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +# ("4_1_3_42", +# @rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~m), (~n), (~x)) && +# !eq((~b)*(~c) - (~a)*(~d), 0) && +# !eq((~a)^2 - (~b)^2, 0) && +# !eq((~c)^2 - (~d)^2, 0) ? +# Unintegrable[((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)*((~A) + (~B)*sin((~e) + (~f)*(~x))), (~x)] : nothing) + +#(* Int[(a_+b_.*sin[e_.+f_.*x_])^m_*(c_+d_.*sin[e_.+f_.*x_])^n_*(A_.+B_ .*sin[e_.+f_.*x_])^p_,x_Symbol] := a^m*c^m*Int[Cos[e+f*x]^(2*m)*(c+d*Sin[e+f*x])^(n-m)*(A+B*Sin[e+f*x]) ^p,x] /; FreeQ[{a,b,c,d,e,f,A,B,n,p},x] && EqQ[b*c+a*d,0] && EqQ[a^2-b^2,0] && IntegerQ[m] && Not[IntegerQ[n] && (LtQ[m,0] && GtQ[n,0] || LtQ[0,n,m] || LtQ[m,n,0])] *) +#(* Int[(a_+b_.*cos[e_.+f_.*x_])^m_*(c_+d_.*cos[e_.+f_.*x_])^n_*(A_.+B_ .*cos[e_.+f_.*x_])^p_,x_Symbol] := a^m*c^m*Int[Sin[e+f*x]^(2*m)*(c+d*Cos[e+f*x])^(n-m)*(A+B*Cos[e+f*x]) ^p,x] /; FreeQ[{a,b,c,d,e,f,A,B,n,p},x] && EqQ[b*c+a*d,0] && EqQ[a^2-b^2,0] && IntegerQ[m] && Not[IntegerQ[n] && (LtQ[m,0] && GtQ[n,0] || LtQ[0,n,m] || LtQ[m,n,0])] *) +("4_1_3_43", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~m), (~n), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) ? +sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸((~f)*cos((~e) + (~f)*(~x)))* int_and_subst(((~a) + (~b)*(~x))^((~m) - 1⨸2)*((~c) + (~d)*(~x))^((~n) - 1⨸2)*((~A) + (~B)*(~x))^(~p), (~x), (~x), sin((~e) + (~f)*(~x)), "4_1_3_43") : nothing) + +("4_1_3_44", +@rule ∫(((~a) + (~!b)*cos((~!e) + (~!f)*(~x)))^(~!m)*((~c) + (~!d)*cos((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!B)*cos((~!e) + (~!f)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~m), (~n), (~p), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) ? +-sqrt((~a) + (~b)*cos((~e) + (~f)*(~x)))*sqrt((~c) + (~d)*cos((~e) + (~f)*(~x)))⨸((~f)*sin((~e) + (~f)*(~x)))* int_and_subst(((~a) + (~b)*(~x))^((~m) - 1⨸2)*((~c) + (~d)*(~x))^((~n) - 1⨸2)*((~A) + (~B)*(~x))^(~p), (~x), (~x), cos((~e) + (~f)*(~x)), "4_1_3_44") : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.4/4.1.4.1 (a+b sin)^m (A+B sin+C sin^2).jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.4/4.1.4.1 (a+b sin)^m (A+B sin+C sin^2).jl new file mode 100644 index 0000000..1530305 --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.4/4.1.4.1 (a+b sin)^m (A+B sin+C sin^2).jl @@ -0,0 +1,124 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.4.1 (a+b sin)^m (A+B sin+C sin^2) *) +("4_1_4_1_1", +@rule ∫(((~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~b), (~e), (~f), (~B), (~C), (~m), (~x)) ? +1⨸(~b)*∫(((~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~B) + (~C)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_4_1_2", +@rule ∫(((~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~b), (~e), (~f), (~A), (~C), (~m), (~x)) && + eq((~A)*((~m) + 2) + (~C)*((~m) + 1), 0) ? +(~A)*cos((~e) + (~f)*(~x))*((~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)*((~m) + 1)) : nothing) + +("4_1_4_1_3", +@rule ∫(((~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~b), (~e), (~f), (~A), (~C), (~x)) && + lt((~m), -1) ? +(~A)*cos( (~e) + (~f)*(~x))*((~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)*((~m) + 1)) + ((~A)*((~m) + 2) + (~C)*((~m) + 1))⨸((~b)^2*((~m) + 1))*∫(((~b)*sin((~e) + (~f)*(~x)))^((~m) + 2), (~x)) : nothing) + +("4_1_4_1_4", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~!m)*((~A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~e), (~f), (~A), (~C), (~x)) && + igt(((~m) + 1)/2, 0) ? +-1⨸(~f)*int_and_subst((1 - (~x)^2)^(((~m) - 1)⨸2)*((~A) + (~C) - (~C)*(~x)^2), (~x), (~x), cos((~e) + (~f)*(~x)), "4_1_4_1_4") : nothing) + +("4_1_4_1_5", +@rule ∫(((~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~b), (~e), (~f), (~A), (~C), (~m), (~x)) && + !(lt((~m), -1)) ? +-(~C)*cos( (~e) + (~f)*(~x))*((~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)*((~m) + 2)) + ((~A)*((~m) + 2) + (~C)*((~m) + 1))⨸((~m) + 2)*∫(((~b)*sin((~e) + (~f)*(~x)))^(~m), (~x)) : nothing) + +("4_1_4_1_6", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~B), (~C), (~m), (~x)) && + eq((~A)*(~b)^2 - (~a)*(~b)*(~B) + (~a)^2*(~C), 0) ? +1⨸(~b)^2* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)* simp((~b)*(~B) - (~a)*(~C) + (~b)*(~C)*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_1_7", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~C), (~m), (~x)) && + eq((~A)*(~b)^2 + (~a)^2*(~C), 0) ? +(~C)⨸(~b)^2* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*simp(-(~a) + (~b)*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_1_8", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~B), (~C), (~m), (~x)) && + eq((~A) - (~B) + (~C), 0) && + !(ext_isinteger(2*(~m))) ? +((~A) - (~C))*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*(1 + sin((~e) + (~f)*(~x))), (~x)) + (~C)*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*(1 + sin((~e) + (~f)*(~x)))^2, (~x)) : nothing) + +("4_1_4_1_9", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~C), (~m), (~x)) && + eq((~A) + (~C), 0) && + !(ext_isinteger(2*(~m))) ? +((~A) - (~C))*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*(1 + sin((~e) + (~f)*(~x))), (~x)) + (~C)*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*(1 + sin((~e) + (~f)*(~x)))^2, (~x)) : nothing) + +("4_1_4_1_10", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~B), (~C), (~x)) && + lt((~m), -1) && + eq((~a)^2 - (~b)^2, 0) ? +((~A)*(~b) - (~a)*(~B) + (~b)*(~C))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸((~a)*(~f)*(2*(~m) + 1)) + 1⨸((~a)^2*(2*(~m) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)* simp((~a)*(~A)*((~m) + 1) + (~m)*((~b)*(~B) - (~a)*(~C)) + (~b)*(~C)*(2*(~m) + 1)*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_1_11", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~C), (~x)) && + lt((~m), -1) && + eq((~a)^2 - (~b)^2, 0) ? +(~b)*((~A) + (~C))*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸((~a)*(~f)*(2*(~m) + 1)) + 1⨸((~a)^2*(2*(~m) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)* simp((~a)*(~A)*((~m) + 1) - (~a)*(~C)*(~m) + (~b)*(~C)*(2*(~m) + 1)*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_1_12", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~B), (~C), (~x)) && + lt((~m), -1) && + !eq((~a)^2 - (~b)^2, 0) ? +-((~A)*(~b)^2 - (~a)*(~b)*(~B) + (~a)^2*(~C))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)* (~f)*((~m) + 1)*((~a)^2 - (~b)^2)) + 1⨸((~b)*((~m) + 1)*((~a)^2 - (~b)^2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)* simp((~b)*((~a)*(~A) - (~b)*(~B) + (~a)*(~C))*((~m) + 1) - ((~A)*(~b)^2 - (~a)*(~b)*(~B) + (~a)^2*(~C) + (~b)*((~A)*(~b) - (~a)*(~B) + (~b)*(~C))*((~m) + 1))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_1_13", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~C), (~x)) && + lt((~m), -1) && + !eq((~a)^2 - (~b)^2, 0) ? +-((~A)*(~b)^2 + (~a)^2*(~C))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)* (~f)*((~m) + 1)*((~a)^2 - (~b)^2)) + 1⨸((~b)*((~m) + 1)*((~a)^2 - (~b)^2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)* simp((~a)*(~b)*((~A) + (~C))*((~m) + 1) - ((~A)*(~b)^2 + (~a)^2*(~C) + (~b)^2*((~A) + (~C))*((~m) + 1))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_1_14", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~B), (~C), (~m), (~x)) && + !(lt((~m), -1)) ? +-(~C)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)*((~m) + 2)) + 1⨸((~b)*((~m) + 2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)* simp((~A)*(~b)*((~m) + 2) + (~b)*(~C)*((~m) + 1) + ((~b)*(~B)*((~m) + 2) - (~a)*(~C))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_1_15", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~C), (~m), (~x)) && + !(lt((~m), -1)) ? +-(~C)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)*((~m) + 2)) + 1⨸((~b)*((~m) + 2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)* simp((~A)*(~b)*((~m) + 2) + (~b)*(~C)*((~m) + 1) - (~a)*(~C)*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_1_16", +@rule ∫(((~!b)*sin((~!e) + (~!f)*(~x))^(~p))^ (~m)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~b), (~e), (~f), (~A), (~B), (~C), (~m), (~p), (~x)) && + !(ext_isinteger((~m))) ? +((~b)*sin((~e) + (~f)*(~x))^(~p))^(~m)⨸((~b)*sin((~e) + (~f)*(~x)))^((~m)*(~p))* ∫(((~b)*sin((~e) + (~f)*(~x)))^((~m)*(~p))*((~A) + (~B)*sin((~e) + (~f)*(~x)) + (~C)*sin((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_4_1_17", +@rule ∫(((~!b)*cos((~!e) + (~!f)*(~x))^(~p))^ (~m)*((~!A) + (~!B)*cos((~!e) + (~!f)*(~x)) + (~!C)*cos((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~b), (~e), (~f), (~A), (~B), (~C), (~m), (~p), (~x)) && + !(ext_isinteger((~m))) ? +((~b)*cos((~e) + (~f)*(~x))^(~p))^(~m)⨸((~b)*cos((~e) + (~f)*(~x)))^((~m)*(~p))* ∫(((~b)*cos((~e) + (~f)*(~x)))^((~m)*(~p))*((~A) + (~B)*cos((~e) + (~f)*(~x)) + (~C)*cos((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_4_1_18", +@rule ∫(((~!b)*sin((~!e) + (~!f)*(~x))^(~p))^(~m)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~b), (~e), (~f), (~A), (~C), (~m), (~p), (~x)) && + !(ext_isinteger((~m))) ? +((~b)*sin((~e) + (~f)*(~x))^(~p))^(~m)⨸((~b)*sin((~e) + (~f)*(~x)))^((~m)*(~p))* ∫(((~b)*sin((~e) + (~f)*(~x)))^((~m)*(~p))*((~A) + (~C)*sin((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_4_1_19", +@rule ∫(((~!b)*cos((~!e) + (~!f)*(~x))^(~p))^(~m)*((~!A) + (~!C)*cos((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~b), (~e), (~f), (~A), (~C), (~m), (~p), (~x)) && + !(ext_isinteger((~m))) ? +((~b)*cos((~e) + (~f)*(~x))^(~p))^(~m)⨸((~b)*cos((~e) + (~f)*(~x)))^((~m)*(~p))* ∫(((~b)*cos((~e) + (~f)*(~x)))^((~m)*(~p))*((~A) + (~C)*cos((~e) + (~f)*(~x))^2), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.4/4.1.4.2 (a+b sin)^m (c+d sin)^n (A+B sin+C sin^2).jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.4/4.1.4.2 (a+b sin)^m (c+d sin)^n (A+B sin+C sin^2).jl new file mode 100644 index 0000000..f4ed52b --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.4/4.1.4.2 (a+b sin)^m (c+d sin)^n (A+B sin+C sin^2).jl @@ -0,0 +1,401 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.4.2 (a+b sin)^m (c+d sin)^n (A+B sin+C sin^2) *) +("4_1_4_2_1", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~A)*(~b)^2 - (~a)*(~b)*(~B) + (~a)^2*(~C), 0) ? +1⨸(~b)^2* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)*((~b)*(~B) - (~a)*(~C) + (~b)*(~C)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_4_2_2", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~C), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~A)*(~b)^2 + (~a)^2*(~C), 0) ? +-(~C)⨸(~b)^2* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)*((~a) - (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_4_2_3", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) ? +-((~b)*(~c) - (~a)*(~d))*((~A)*(~b)^2 - (~a)*(~b)*(~B) + (~a)^2*(~C))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)^2* (~f)*((~m) + 1)*((~a)^2 - (~b)^2)) - 1⨸((~b)^2*((~m) + 1)*((~a)^2 - (~b)^2))*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)* simp((~b)*((~m) + 1)*(((~b)*(~B) - (~a)*(~C))*((~b)*(~c) - (~a)*(~d)) - (~A)*(~b)*((~a)*(~c) - (~b)*(~d))) + ((~b)* (~B)*((~a)^2*(~d) + (~b)^2*(~d)*((~m) + 1) - (~a)*(~b)*(~c)*((~m) + 2)) + ((~b)*(~c) - (~a)*(~d))*((~A)*(~b)^2*((~m) + 2) + (~C)*((~a)^2 + (~b)^2*((~m) + 1))))* sin((~e) + (~f)*(~x)) - (~b)*(~C)*(~d)*((~m) + 1)*((~a)^2 - (~b)^2)*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_4_2_4", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~C), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) ? +-((~b)*(~c) - (~a)*(~d))*((~A)*(~b)^2 + (~a)^2*(~C))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)^2* (~f)*((~m) + 1)*((~a)^2 - (~b)^2)) + 1⨸((~b)^2*((~m) + 1)*((~a)^2 - (~b)^2))*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)* simp((~b)*((~m) + 1)*((~a)*(~C)*((~b)*(~c) - (~a)*(~d)) + (~A)*(~b)*((~a)*(~c) - (~b)*(~d))) - (((~b)*(~c) - (~a)*(~d))*((~A)*(~b)^2*((~m) + 2) + (~C)*((~a)^2 + (~b)^2*((~m) + 1))))* sin((~e) + (~f)*(~x)) + (~b)*(~C)*(~d)*((~m) + 1)*((~a)^2 - (~b)^2)*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_4_2_5", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !(lt((~m), -1)) ? +-(~C)*(~d)*cos((~e) + (~f)*(~x))* sin((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)*((~m) + 3)) + 1⨸((~b)*((~m) + 3))*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)* simp((~a)*(~C)*(~d) + (~A)*(~b)*(~c)*((~m) + 3) + (~b)*((~B)*(~c)*((~m) + 3) + (~d)*((~C)*((~m) + 2) + (~A)*((~m) + 3)))* sin((~e) + (~f)*(~x)) - (2*(~a)*(~C)*(~d) - (~b)*((~c)*(~C) + (~B)*(~d))*((~m) + 3))* sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_4_2_6", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~C), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !(lt((~m), -1)) ? +-(~C)*(~d)*cos((~e) + (~f)*(~x))* sin((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)*((~m) + 3)) + 1⨸((~b)*((~m) + 3))*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)* simp((~a)*(~C)*(~d) + (~A)*(~b)*(~c)*((~m) + 3) + (~b)*(~d)*((~C)*((~m) + 2) + (~A)*((~m) + 3))* sin((~e) + (~f)*(~x)) - (2*(~a)*(~C)*(~d) - (~b)*(~c)*(~C)*((~m) + 3))*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_4_2_7", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~m), (~n), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + ( + lt((~m), -1/2) || + eq((~m) + (~n) + 2, 0) && + !eq(2*(~m) + 1, 0) + ) ? +((~a)*(~A) - (~b)*(~B) + (~a)*(~C))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸(2*(~b)*(~c)*(~f)*(2*(~m) + 1)) - 1⨸(2*(~b)*(~c)*(~d)*(2*(~m) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~A)*((~c)^2*((~m) + 1) + (~d)^2*(2*(~m) + (~n) + 2)) - (~B)*(~c)*(~d)*((~m) - (~n) - 1) - (~C)*((~c)^2*(~m) - (~d)^2*((~n) + 1)) + (~d)*(((~A)*(~c) + (~B)*(~d))*((~m) + (~n) + 2) - (~c)*(~C)*(3*(~m) - (~n)))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_2_8", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~C), (~m), (~n), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + ( + lt((~m), -1/2) || + eq((~m) + (~n) + 2, 0) && + !eq(2*(~m) + 1, 0) + ) ? +((~a)*(~A) + (~a)*(~C))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸(2*(~b)*(~c)*(~f)*(2*(~m) + 1)) - 1⨸(2*(~b)*(~c)*(~d)*(2*(~m) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~A)*((~c)^2*((~m) + 1) + (~d)^2*(2*(~m) + (~n) + 2)) - (~C)*((~c)^2*(~m) - (~d)^2*((~n) + 1)) + (~d)*((~A)*(~c)*((~m) + (~n) + 2) - (~c)*(~C)*(3*(~m) - (~n)))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_2_9", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^ (~!m)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2)/ sqrt((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~m), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !(lt((~m), -1/2)) ? +-2*(~C)*cos( (~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)*(2*(~m) + 3)* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))) + ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)* simp((~A) + (~C) + (~B)*sin((~e) + (~f)*(~x)), (~x))⨸sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_4_2_10", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2)/ sqrt((~!c) + (~!d)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~C), (~m), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !(lt((~m), -1/2)) ? +-2*(~C)*cos( (~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)*(2*(~m) + 3)* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))) + ((~A) + (~C))*∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)⨸sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_4_2_11", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~m), (~n), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !(lt((~m), -1/2)) && + !eq((~m) + (~n) + 2, 0) ? +-(~C)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~m) + (~n) + 2)) + 1⨸((~b)*(~d)*((~m) + (~n) + 2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~A)*(~b)*(~d)*((~m) + (~n) + 2) + (~C)*((~a)*(~c)*(~m) + (~b)*(~d)*((~n) + 1)) + ((~b)*(~B)*(~d)*((~m) + (~n) + 2) - (~b)*(~c)*(~C)*(2*(~m) + 1))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_2_12", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~C), (~m), (~n), (~x)) && + eq((~b)*(~c) + (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !(lt((~m), -1/2)) && + !eq((~m) + (~n) + 2, 0) ? +-(~C)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~m) + (~n) + 2)) + 1⨸((~b)*(~d)*((~m) + (~n) + 2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~A)*(~b)*(~d)*((~m) + (~n) + 2) + (~C)*((~a)*(~c)*(~m) + (~b)*(~d)*((~n) + 1)) - (~b)*(~c)*(~C)*(2*(~m) + 1)*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_2_13", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~m), -1/2) ? +((~a)*(~A) - (~b)*(~B) + (~a)*(~C))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~f)*((~b)*(~c) - (~a)*(~d))*(2*(~m) + 1)) + 1⨸((~b)*((~b)*(~c) - (~a)*(~d))*(2*(~m) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~A)*((~a)*(~c)*((~m) + 1) - (~b)*(~d)*(2*(~m) + (~n) + 2)) + (~B)*((~b)*(~c)*(~m) + (~a)*(~d)*((~n) + 1)) - (~C)*((~a)*(~c)*(~m) + (~b)*(~d)*((~n) + 1)) + ((~d)*((~a)*(~A) - (~b)*(~B))*((~m) + (~n) + 2) + (~C)*((~b)*(~c)*(2*(~m) + 1) - (~a)*(~d)*((~m) - (~n) - 1)))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_2_14", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~C), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~m), -1/2) ? +(~a)*((~A) + (~C))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~f)*((~b)*(~c) - (~a)*(~d))*(2*(~m) + 1)) + 1⨸((~b)*((~b)*(~c) - (~a)*(~d))*(2*(~m) + 1))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~A)*((~a)*(~c)*((~m) + 1) - (~b)*(~d)*(2*(~m) + (~n) + 2)) - (~C)*((~a)*(~c)*(~m) + (~b)*(~d)*((~n) + 1)) + ((~a)*(~A)*(~d)*((~m) + (~n) + 2) + (~C)*((~b)*(~c)*(2*(~m) + 1) - (~a)*(~d)*((~m) - (~n) - 1)))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_2_15", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + !(lt((~m), -1/2)) && + ( + lt((~n), -1) || + eq((~m) + (~n) + 2, 0) + ) ? +-((~c)^2*(~C) - (~B)*(~c)*(~d) + (~A)*(~d)^2)* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~n) + 1)*((~c)^2 - (~d)^2)) + 1⨸((~b)*(~d)*((~n) + 1)*((~c)^2 - (~d)^2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)* simp((~A)*(~d)*((~a)*(~d)*(~m) + (~b)*(~c)*((~n) + 1)) + ((~c)*(~C) - (~B)*(~d))*((~a)*(~c)*(~m) + (~b)*(~d)*((~n) + 1)) + (~b)*((~d)*((~B)*(~c) - (~A)*(~d))*((~m) + (~n) + 2) - (~C)*((~c)^2*((~m) + 1) + (~d)^2*((~n) + 1)))* sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_2_16", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~C), (~m), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + !(lt((~m), -1/2)) && + ( + lt((~n), -1) || + eq((~m) + (~n) + 2, 0) + ) ? +-((~c)^2*(~C) + (~A)*(~d)^2)* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~n) + 1)*((~c)^2 - (~d)^2)) + 1⨸((~b)*(~d)*((~n) + 1)*((~c)^2 - (~d)^2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)* simp((~A)*(~d)*((~a)*(~d)*(~m) + (~b)*(~c)*((~n) + 1)) + (~c)*(~C)*((~a)*(~c)*(~m) + (~b)*(~d)*((~n) + 1)) - (~b)*((~A)*(~d)^2*((~m) + (~n) + 2) + (~C)*((~c)^2*((~m) + 1) + (~d)^2*((~n) + 1)))* sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_2_17", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + !(lt((~m), -1/2)) && + !eq((~m) + (~n) + 2, 0) ? +-(~C)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~m) + (~n) + 2)) + 1⨸((~b)*(~d)*((~m) + (~n) + 2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~A)*(~b)*(~d)*((~m) + (~n) + 2) + (~C)*((~a)*(~c)*(~m) + (~b)*(~d)*((~n) + 1)) + ((~C)*((~a)*(~d)*(~m) - (~b)*(~c)*((~m) + 1)) + (~b)*(~B)*(~d)*((~m) + (~n) + 2))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_2_18", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~C), (~m), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + !(lt((~m), -1/2)) && + !eq((~m) + (~n) + 2, 0) ? +-(~C)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~m) + (~n) + 2)) + 1⨸((~b)*(~d)*((~m) + (~n) + 2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~A)*(~b)*(~d)*((~m) + (~n) + 2) + (~C)*((~a)*(~c)*(~m) + (~b)*(~d)*((~n) + 1)) + (~C)*((~a)*(~d)*(~m) - (~b)*(~c)*((~m) + 1))*sin((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_1_4_2_19", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~m), 0) && + lt((~n), -1) ? +-((~c)^2*(~C) - (~B)*(~c)*(~d) + (~A)*(~d)^2)* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~n) + 1)*((~c)^2 - (~d)^2)) + 1⨸((~d)*((~n) + 1)*((~c)^2 - (~d)^2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)* simp((~A)*(~d)*((~b)*(~d)*(~m) + (~a)*(~c)*((~n) + 1)) + ((~c)*(~C) - (~B)*(~d))*((~b)*(~c)*(~m) + (~a)*(~d)*((~n) + 1)) - ((~d)*((~A)*((~a)*(~d)*((~n) + 2) - (~b)*(~c)*((~n) + 1)) + (~B)*((~b)*(~d)*((~n) + 1) - (~a)*(~c)*((~n) + 2))) - (~C)*((~b)*(~c)*(~d)*((~n) + 1) - (~a)*((~c)^2 + (~d)^2*((~n) + 1))))*sin((~e) + (~f)*(~x)) + (~b)*((~d)*((~B)*(~c) - (~A)*(~d))*((~m) + (~n) + 2) - (~C)*((~c)^2*((~m) + 1) + (~d)^2*((~n) + 1)))* sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_4_2_20", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~C), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~m), 0) && + lt((~n), -1) ? +-((~c)^2*(~C) + (~A)*(~d)^2)* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~n) + 1)*((~c)^2 - (~d)^2)) + 1⨸((~d)*((~n) + 1)*((~c)^2 - (~d)^2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)* simp((~A)*(~d)*((~b)*(~d)*(~m) + (~a)*(~c)*((~n) + 1)) + (~c)*(~C)*((~b)*(~c)*(~m) + (~a)*(~d)*((~n) + 1)) - ((~A)*(~d)*((~a)*(~d)*((~n) + 2) - (~b)*(~c)*((~n) + 1)) - (~C)*((~b)*(~c)*(~d)*((~n) + 1) - (~a)*((~c)^2 + (~d)^2*((~n) + 1))))*sin((~e) + (~f)*(~x)) - (~b)*((~A)*(~d)^2*((~m) + (~n) + 2) + (~C)*((~c)^2*((~m) + 1) + (~d)^2*((~n) + 1)))* sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_4_2_21", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~m), 0) && + !( + igt((~n), 0) && + ( + !(ext_isinteger((~m))) || + eq((~a), 0) && + !eq((~c), 0) + ) + ) ? +-(~C)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~m) + (~n) + 2)) + 1⨸((~d)*((~m) + (~n) + 2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~a)*(~A)*(~d)*((~m) + (~n) + 2) + (~C)*((~b)*(~c)*(~m) + (~a)*(~d)*((~n) + 1)) + ((~d)*((~A)*(~b) + (~a)*(~B))*((~m) + (~n) + 2) - (~C)*((~a)*(~c) - (~b)*(~d)*((~m) + (~n) + 1)))* sin((~e) + (~f)*(~x)) + ((~C)*((~a)*(~d)*(~m) - (~b)*(~c)*((~m) + 1)) + (~b)*(~B)*(~d)*((~m) + (~n) + 2))* sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_4_2_22", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~C), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + gt((~m), 0) && + !( + igt((~n), 0) && + ( + !(ext_isinteger((~m))) || + eq((~a), 0) && + !eq((~c), 0) + ) + ) ? +-(~C)*cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^ (~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~d)*(~f)*((~m) + (~n) + 2)) + 1⨸((~d)*((~m) + (~n) + 2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) - 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~a)*(~A)*(~d)*((~m) + (~n) + 2) + (~C)*((~b)*(~c)*(~m) + (~a)*(~d)*((~n) + 1)) + ((~A)*(~b)*(~d)*((~m) + (~n) + 2) - (~C)*((~a)*(~c) - (~b)*(~d)*((~m) + (~n) + 1)))*sin((~e) + (~f)*(~x)) + (~C)*((~a)*(~d)*(~m) - (~b)*(~c)*((~m) + 1))*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_4_2_23", +@rule ∫(((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2)/(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(3//2)* sqrt((~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~A), (~B), (~C), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +(~C)⨸((~b)*(~d))*∫(sqrt((~d)*sin((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) + 1⨸(~b)* ∫(((~A)*(~b) + ((~b)*(~B) - (~a)*(~C))*sin((~e) + (~f)*(~x)))⨸(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(3⨸2)* sqrt((~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_4_2_24", +@rule ∫(((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2)/(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(3//2)* sqrt((~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~A), (~C), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +(~C)⨸((~b)*(~d))*∫(sqrt((~d)*sin((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) + 1⨸(~b)* ∫(((~A)*(~b) - (~a)*(~C)*sin((~e) + (~f)*(~x)))⨸(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(3⨸2)* sqrt((~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_4_2_25", +@rule ∫(((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2)/(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(3//2)* sqrt((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +(~C)⨸(~b)^2*∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) + 1⨸(~b)^2* ∫(((~A)*(~b)^2 - (~a)^2*(~C) + (~b)*((~b)*(~B) - 2*(~a)*(~C))*sin((~e) + (~f)*(~x)))⨸(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(3⨸2)* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_4_2_26", +@rule ∫(((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2)/(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(3//2)* sqrt((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~C), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +(~C)⨸(~b)^2*∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))⨸sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) + 1⨸(~b)^2* ∫(((~A)*(~b)^2 - (~a)^2*(~C) - 2*(~a)*(~b)*(~C)*sin((~e) + (~f)*(~x)))⨸(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(3⨸2)* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_4_2_27", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~m), -1) && + ( + eq((~a), 0) && + ext_isinteger((~m)) && + !(ext_isinteger((~n))) || + !( + ext_isinteger(2*(~n)) && + lt((~n), -1) && + ( + ext_isinteger((~n)) && + !(ext_isinteger((~m))) || + eq((~a), 0) + ) + ) + ) ? +-((~A)*(~b)^2 - (~a)*(~b)*(~B) + (~a)^2*(~C))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~f)*((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~a)^2 - (~b)^2)) + 1⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~a)^2 - (~b)^2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~a)*(~A) - (~b)*(~B) + (~a)*(~C)) + (~d)*((~A)*(~b)^2 - (~a)*(~b)*(~B) + (~a)^2*(~C))*((~m) + (~n) + 2) - ((~c)*((~A)*(~b)^2 - (~a)*(~b)*(~B) + (~a)^2*(~C)) + ((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~A)*(~b) - (~a)*(~B) + (~b)*(~C)))*sin((~e) + (~f)*(~x)) - (~d)*((~A)*(~b)^2 - (~a)*(~b)*(~B) + (~a)^2*(~C))*((~m) + (~n) + 3)*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_4_2_28", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~C), (~n), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) && + lt((~m), -1) && + ( + eq((~a), 0) && + ext_isinteger((~m)) && + !(ext_isinteger((~n))) || + !( + ext_isinteger(2*(~n)) && + lt((~n), -1) && + ( + ext_isinteger((~n)) && + !(ext_isinteger((~m))) || + eq((~a), 0) + ) + ) + ) ? +-((~A)*(~b)^2 + (~a)^2*(~C))* cos((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^((~n) + 1)⨸((~f)*((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~a)^2 - (~b)^2)) + 1⨸(((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~a)^2 - (~b)^2))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x)))^((~m) + 1)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^(~n)* simp((~a)*((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~A) + (~C)) + (~d)*((~A)*(~b)^2 + (~a)^2*(~C))*((~m) + (~n) + 2) - ((~c)*((~A)*(~b)^2 + (~a)^2*(~C)) + (~b)*((~m) + 1)*((~b)*(~c) - (~a)*(~d))*((~A) + (~C)))* sin((~e) + (~f)*(~x)) - (~d)*((~A)*(~b)^2 + (~a)^2*(~C))*((~m) + (~n) + 3)*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_4_2_29", +@rule ∫(((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2)/(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +(~C)*(~x)⨸((~b)*(~d)) + ((~A)*(~b)^2 - (~a)*(~b)*(~B) + (~a)^2*(~C))⨸((~b)*((~b)*(~c) - (~a)*(~d)))* ∫(1⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) - ((~c)^2*(~C) - (~B)*(~c)*(~d) + (~A)*(~d)^2)⨸((~d)*((~b)*(~c) - (~a)*(~d)))* ∫(1⨸((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_4_2_30", +@rule ∫(((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2)/(((~a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~C), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +(~C)*(~x)⨸((~b)*(~d)) + ((~A)*(~b)^2 + (~a)^2*(~C))⨸((~b)*((~b)*(~c) - (~a)*(~d)))* ∫(1⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) - ((~c)^2*(~C) + (~A)*(~d)^2)⨸((~d)*((~b)*(~c) - (~a)*(~d)))*∫(1⨸((~c) + (~d)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_4_2_31", +@rule ∫(((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2)/(sqrt( (~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +(~C)⨸((~b)*(~d))*∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) - 1⨸((~b)*(~d))* ∫(simp((~a)*(~c)*(~C) - (~A)*(~b)*(~d) + ((~b)*(~c)*(~C) - (~b)*(~B)*(~d) + (~a)*(~C)*(~d))*sin((~e) + (~f)*(~x)), (~x))⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_4_2_32", +@rule ∫(((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2)/(sqrt( (~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~C), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +(~C)⨸((~b)*(~d))*∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) - 1⨸((~b)*(~d))* ∫(simp((~a)*(~c)*(~C) - (~A)*(~b)*(~d) + ((~b)*(~c)*(~C) + (~a)*(~C)*(~d))*sin((~e) + (~f)*(~x)), (~x))⨸(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))*((~c) + (~d)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_1_4_2_33", +@rule ∫(((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2)/(sqrt((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +-(~C)*cos((~e) + (~f)*(~x))* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸((~d)*(~f)*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))) + 1⨸(2*(~d))* ∫(1⨸(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(3⨸2)*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))))* simp(2*(~a)*(~A)*(~d) - (~C)*((~b)*(~c) - (~a)*(~d)) - 2*((~a)*(~c)*(~C) - (~d)*((~A)*(~b) + (~a)*(~B)))* sin((~e) + (~f)*(~x)) + (2*(~b)*(~B)*(~d) - (~C)*((~b)*(~c) + (~a)*(~d)))*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_4_2_34", +@rule ∫(((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2)/(sqrt((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))* sqrt((~c) + (~!d)*sin((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~C), (~x)) && + !eq((~b)*(~c) - (~a)*(~d), 0) && + !eq((~a)^2 - (~b)^2, 0) && + !eq((~c)^2 - (~d)^2, 0) ? +-(~C)*cos((~e) + (~f)*(~x))* sqrt((~c) + (~d)*sin((~e) + (~f)*(~x)))⨸((~d)*(~f)*sqrt((~a) + (~b)*sin((~e) + (~f)*(~x)))) + 1⨸(2*(~d))* ∫(1⨸(((~a) + (~b)*sin((~e) + (~f)*(~x)))^(3⨸2)*sqrt((~c) + (~d)*sin((~e) + (~f)*(~x))))* simp(2*(~a)*(~A)*(~d) - (~C)*((~b)*(~c) - (~a)*(~d)) - 2*((~a)*(~c)*(~C) - (~A)*(~b)*(~d))*sin((~e) + (~f)*(~x)) - (~C)*((~b)*(~c) + (~a)*(~d))*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_4_2_35", +@rule ∫(((~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~A), (~B), (~C), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +((~b)*(~B) - (~a)*(~C))⨸(~b)^2*∫(((~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) + (~C)⨸((~b)*(~d))*∫(((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1), (~x)) + ((~A)*(~b)^2 - (~a)*(~b)*(~B) + (~a)^2*(~C))⨸(~b)^2* ∫(((~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_1_4_2_36", +@rule ∫(((~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~A), (~C), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +-(~a)*(~C)⨸(~b)^2*∫(((~d)*sin((~e) + (~f)*(~x)))^(~n), (~x)) + (~C)⨸((~b)*(~d))*∫(((~d)*sin((~e) + (~f)*(~x)))^((~n) + 1), (~x)) + ((~A)*(~b)^2 + (~a)^2*(~C))⨸(~b)^2* ∫(((~d)*sin((~e) + (~f)*(~x)))^(~n)⨸((~a) + (~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +# ("4_1_4_2_37", +# @rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~m), (~n), (~x)) && +# !eq((~b)*(~c) - (~a)*(~d), 0) && +# !eq((~a)^2 - (~b)^2, 0) && +# !eq((~c)^2 - (~d)^2, 0) ? +# Unintegrable[((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)*((~A) + (~B)*sin((~e) + (~f)*(~x)) + (~C)*sin((~e) + (~f)*(~x))^2), (~x)] : nothing) + +# ("4_1_4_2_38", +# @rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x)))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~n)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~C), (~m), (~n), (~x)) && +# !eq((~b)*(~c) - (~a)*(~d), 0) && +# !eq((~a)^2 - (~b)^2, 0) && +# !eq((~c)^2 - (~d)^2, 0) ? +# Unintegrable[((~a) + (~b)*sin((~e) + (~f)*(~x)))^(~m)*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)*((~A) + (~C)*sin((~e) + (~f)*(~x))^2), (~x)] : nothing) + +("4_1_4_2_39", +@rule ∫(((~!b)*sin((~!e) + (~!f)*(~x))^(~p))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x)) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) ? +((~b)*sin((~e) + (~f)*(~x))^(~p))^(~m)⨸((~b)*sin((~e) + (~f)*(~x)))^((~m)*(~p))* ∫(((~b)*sin((~e) + (~f)*(~x)))^((~m)*(~p))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)*((~A) + (~B)*sin((~e) + (~f)*(~x)) + (~C)*sin((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_4_2_40", +@rule ∫(((~!b)*cos((~!e) + (~!f)*(~x))^(~p))^(~m)*((~!c) + (~!d)*cos((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!B)*cos((~!e) + (~!f)*(~x)) + (~!C)*cos((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) ? +((~b)*cos((~e) + (~f)*(~x))^(~p))^(~m)⨸((~b)*cos((~e) + (~f)*(~x)))^((~m)*(~p))* ∫(((~b)*cos((~e) + (~f)*(~x)))^((~m)*(~p))*((~c) + (~d)*cos((~e) + (~f)*(~x)))^ (~n)*((~A) + (~B)*cos((~e) + (~f)*(~x)) + (~C)*cos((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_4_2_41", +@rule ∫(((~!b)*sin((~!e) + (~!f)*(~x))^(~p))^(~m)*((~!c) + (~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!C)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~A), (~C), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) ? +((~b)*sin((~e) + (~f)*(~x))^(~p))^(~m)⨸((~b)*sin((~e) + (~f)*(~x)))^((~m)*(~p))* ∫(((~b)*sin((~e) + (~f)*(~x)))^((~m)*(~p))*((~c) + (~d)*sin((~e) + (~f)*(~x)))^ (~n)*((~A) + (~C)*sin((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_4_2_42", +@rule ∫(((~!b)*cos((~!e) + (~!f)*(~x))^(~p))^(~m)*((~!c) + (~!d)*cos((~!e) + (~!f)*(~x)))^ (~!n)*((~!A) + (~!C)*cos((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~A), (~C), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) ? +((~b)*cos((~e) + (~f)*(~x))^(~p))^(~m)⨸((~b)*cos((~e) + (~f)*(~x)))^((~m)*(~p))* ∫(((~b)*cos((~e) + (~f)*(~x)))^((~m)*(~p))*((~c) + (~d)*cos((~e) + (~f)*(~x)))^ (~n)*((~A) + (~C)*cos((~e) + (~f)*(~x))^2), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.5 trig^m (a cos+b sin)^n.jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.5 trig^m (a cos+b sin)^n.jl new file mode 100644 index 0000000..5248465 --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.5 trig^m (a cos+b sin)^n.jl @@ -0,0 +1,333 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.5 trig^m (a cos+b sin)^n *) +("4_1_5_1", +@rule ∫(((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + eq((~a)^2 + (~b)^2, 0) ? +(~a)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^(~n)⨸((~b)*(~d)*(~n)) : nothing) + +("4_1_5_2", +@rule ∫(((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + igt(((~n) - 1)/2, 0) ? +-1⨸(~d)*int_and_subst(((~a)^2 + (~b)^2 - (~x)^2)^(((~n) - 1)⨸2), (~x), (~x), (~b)*cos((~c) + (~d)*(~x)) - (~a)*sin((~c) + (~d)*(~x)), "4_1_5_2") : nothing) + +("4_1_5_3", +@rule ∫(((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + !(ext_isinteger(((~n) - 1)/2)) && + gt((~n), 1) ? +-((~b)*cos((~c) + (~d)*(~x)) - (~a)*sin((~c) + (~d)*(~x)))*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 1)⨸((~d)* (~n)) + ((~n) - 1)*((~a)^2 + (~b)^2)⨸(~n)* ∫(((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 2), (~x)) : nothing) + +("4_1_5_4", +@rule ∫(1/((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) ? +-1⨸(~d)*int_and_subst(1⨸((~a)^2 + (~b)^2 - (~x)^2), (~x), (~x), (~b)*cos((~c) + (~d)*(~x)) - (~a)*sin((~c) + (~d)*(~x)), "4_1_5_4") : nothing) + +("4_1_5_5", +@rule ∫(1/((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) ? +sin((~c) + (~d)*(~x))⨸((~a)*(~d)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))) : nothing) + +("4_1_5_6", +@rule ∫(((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + lt((~n), -1) && + !eq((~n), -2) ? +((~b)*cos((~c) + (~d)*(~x)) - (~a)*sin((~c) + (~d)*(~x)))*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) + 1)⨸((~d)*((~n) + 1)*((~a)^2 + (~b)^2)) + ((~n) + 2)⨸(((~n) + 1)*((~a)^2 + (~b)^2))* ∫(((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) + 2), (~x)) : nothing) + +("4_1_5_7", +@rule ∫(((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !( + ge((~n), 1) || + le((~n), -1) + ) && + gt((~a)^2 + (~b)^2, 0) ? +((~a)^2 + (~b)^2)^((~n)⨸2)*∫((cos((~c) + (~d)*(~x) - atan((~a), (~b))))^(~n), (~x)) : nothing) + +("4_1_5_8", +@rule ∫(((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !( + ge((~n), 1) || + le((~n), -1) + ) && + !( + gt((~a)^2 + (~b)^2, 0) || + eq((~a)^2 + (~b)^2, 0) + ) ? +((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^ (~n)⨸(((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))⨸sqrt((~a)^2 + (~b)^2))^(~n)* ∫(cos((~c) + (~d)*(~x) - atan((~a), (~b)))^(~n), (~x)) : nothing) + +("4_1_5_9", +@rule ∫(sin((~!c) + (~!d)*(~x))^ (~m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~m) + (~n), 0) && + eq((~a)^2 + (~b)^2, 0) && + gt((~n), 1) ? +-(~a)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 1)⨸((~d)*((~n) - 1)* sin((~c) + (~d)*(~x))^((~n) - 1)) + 2*(~b)* ∫(((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 1)⨸ sin((~c) + (~d)*(~x))^((~n) - 1), (~x)) : nothing) + +("4_1_5_10", +@rule ∫(cos((~!c) + (~!d)*(~x))^ (~m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~m) + (~n), 0) && + eq((~a)^2 + (~b)^2, 0) && + gt((~n), 1) ? +(~b)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 1)⨸((~d)*((~n) - 1)* cos((~c) + (~d)*(~x))^((~n) - 1)) + 2*(~a)* ∫(((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 1)⨸ cos((~c) + (~d)*(~x))^((~n) - 1), (~x)) : nothing) + +("4_1_5_11", +@rule ∫(sin((~!c) + (~!d)*(~x))^ (~!m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~m) + (~n), 0) && + eq((~a)^2 + (~b)^2, 0) && + lt((~n), 0) ? +(~a)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^(~n)⨸(2*(~b)*(~d)*(~n)*sin((~c) + (~d)*(~x))^(~n)) + 1⨸(2*(~b))* ∫(((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) + 1)⨸ sin((~c) + (~d)*(~x))^((~n) + 1), (~x)) : nothing) + +("4_1_5_12", +@rule ∫(cos((~!c) + (~!d)*(~x))^ (~!m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~m) + (~n), 0) && + eq((~a)^2 + (~b)^2, 0) && + lt((~n), 0) ? +-(~b)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^(~n)⨸(2*(~a)*(~d)*(~n)*cos((~c) + (~d)*(~x))^(~n)) + 1⨸(2*(~a))* ∫(((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) + 1)⨸ cos((~c) + (~d)*(~x))^((~n) + 1), (~x)) : nothing) + +("4_1_5_13", +@rule ∫(sin((~!c) + (~!d)*(~x))^ (~!m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + eq((~m) + (~n), 0) && + eq((~a)^2 + (~b)^2, 0) && + !(ext_isinteger((~n))) ? +(~a)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^(~n)⨸(2*(~b)*(~d)*(~n)*sin((~c) + (~d)*(~x))^(~n))* hypergeometric2f1(1, (~n), (~n) + 1, ((~b) + (~a)*cot((~c) + (~d)*(~x)))⨸(2*(~b))) : nothing) + +("4_1_5_14", +@rule ∫(cos((~!c) + (~!d)*(~x))^ (~!m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + eq((~m) + (~n), 0) && + eq((~a)^2 + (~b)^2, 0) && + !(ext_isinteger((~n))) ? +-(~b)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^(~n)⨸(2*(~a)*(~d)*(~n)*cos((~c) + (~d)*(~x))^(~n))* hypergeometric2f1(1, (~n), (~n) + 1, ((~a) + (~b)*tan((~c) + (~d)*(~x)))⨸(2*(~a))) : nothing) + +("4_1_5_15", +@rule ∫(sin((~!c) + (~!d)*(~x))^ (~m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~m) + (~n), 0) && + ext_isinteger((~n)) && + !eq((~a)^2 + (~b)^2, 0) ? +∫(((~b) + (~a)*cot((~c) + (~d)*(~x)))^(~n), (~x)) : nothing) + +("4_1_5_16", +@rule ∫(cos((~!c) + (~!d)*(~x))^ (~m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~m) + (~n), 0) && + ext_isinteger((~n)) && + !eq((~a)^2 + (~b)^2, 0) ? +∫(((~a) + (~b)*tan((~c) + (~d)*(~x)))^(~n), (~x)) : nothing) + +("4_1_5_17", +@rule ∫(sin((~!c) + (~!d)*(~x))^ (~!m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + ext_isinteger((~n)) && + ext_isinteger(((~m) + (~n))/2) && + !eq((~n), -1) && + !( + gt((~n), 0) && + gt((~m), 1) + ) ? +1⨸(~d)*int_and_subst((~x)^(~m)*((~a) + (~b)*(~x))^(~n)⨸(1 + (~x)^2)^(((~m) + (~n) + 2)⨸2), (~x), (~x), tan((~c) + (~d)*(~x)), "4_1_5_17") : nothing) + +("4_1_5_18", +@rule ∫(cos((~!c) + (~!d)*(~x))^ (~!m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + ext_isinteger((~n)) && + ext_isinteger(((~m) + (~n))/2) && + !eq((~n), -1) && + !( + gt((~n), 0) && + gt((~m), 1) + ) ? +-1⨸(~d)*int_and_subst((~x)^(~m)*((~b) + (~a)*(~x))^(~n)⨸(1 + (~x)^2)^(((~m) + (~n) + 2)⨸2), (~x), (~x), cot((~c) + (~d)*(~x)), "4_1_5_18") : nothing) + +("4_1_5_19", +@rule ∫(sin((~!c) + (~!d)*(~x))^ (~!m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + ext_isinteger((~m)) && + igt((~n), 0) ? +∫(ext_expand(sin((~c) + (~d)*(~x))^(~m)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("4_1_5_20", +@rule ∫(cos((~!c) + (~!d)*(~x))^ (~!m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + ext_isinteger((~m)) && + igt((~n), 0) ? +∫(ext_expand(cos((~c) + (~d)*(~x))^(~m)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("4_1_5_21", +@rule ∫(sin((~!c) + (~!d)*(~x))^ (~!m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + ilt((~n), 0) ? +(~a)^(~n)*(~b)^(~n)* ∫(sin((~c) + (~d)*(~x))^(~m)*((~b)*cos((~c) + (~d)*(~x)) + (~a)*sin((~c) + (~d)*(~x)))^(-(~n)), (~x)) : nothing) + +("4_1_5_22", +@rule ∫(cos((~!c) + (~!d)*(~x))^ (~!m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + ilt((~n), 0) ? +(~a)^(~n)*(~b)^(~n)* ∫(cos((~c) + (~d)*(~x))^(~m)*((~b)*cos((~c) + (~d)*(~x)) + (~a)*sin((~c) + (~d)*(~x)))^(-(~n)), (~x)) : nothing) + +("4_1_5_23", +@rule ∫(((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n)/ sin((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + lt((~n), -1) ? +(~a)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 1)⨸((~d)*((~n) - 1)) + (~b)*∫(((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 1), (~x)) + (~a)^2* ∫(((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 2)⨸sin((~c) + (~d)*(~x)), (~x)) : nothing) + +("4_1_5_24", +@rule ∫(((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n)/ cos((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + lt((~n), -1) ? +-(~b)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 1)⨸((~d)*((~n) - 1)) + (~a)*∫(((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 1), (~x)) + (~b)^2* ∫(((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 2)⨸cos((~c) + (~d)*(~x)), (~x)) : nothing) + +("4_1_5_25", +@rule ∫(sin((~!c) + (~!d)*(~x))^ (~m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + gt((~n), 1) && + lt((~m), -1) ? +-((~a)^2 + (~b)^2)* ∫(sin((~c) + (~d)*(~x))^((~m) + 2)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 2), (~x)) + 2*(~b)* ∫(sin((~c) + (~d)*(~x))^((~m) + 1)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 1), (~x)) + (~a)^2* ∫(sin((~c) + (~d)*(~x))^(~m)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 2), (~x)) : nothing) + +("4_1_5_26", +@rule ∫(cos((~!c) + (~!d)*(~x))^ (~m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + gt((~n), 1) && + lt((~m), -1) ? +-((~a)^2 + (~b)^2)* ∫(cos((~c) + (~d)*(~x))^((~m) + 2)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 2), (~x)) + 2*(~a)* ∫(cos((~c) + (~d)*(~x))^((~m) + 1)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 1), (~x)) + (~b)^2* ∫(cos((~c) + (~d)*(~x))^(~m)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) - 2), (~x)) : nothing) + +("4_1_5_27", +@rule ∫(sin((~!c) + (~!d)*(~x))/((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) ? +(~b)*(~x)⨸((~a)^2 + (~b)^2) - (~a)⨸((~a)^2 + (~b)^2)* ∫(((~b)*cos((~c) + (~d)*(~x)) - (~a)*sin((~c) + (~d)*(~x)))⨸((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_1_5_28", +@rule ∫(cos((~!c) + (~!d)*(~x))/((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) ? +(~a)*(~x)⨸((~a)^2 + (~b)^2) + (~b)⨸((~a)^2 + (~b)^2)* ∫(((~b)*cos((~c) + (~d)*(~x)) - (~a)*sin((~c) + (~d)*(~x)))⨸((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_1_5_29", +@rule ∫(sin((~!c) + (~!d)*(~x))^ (~m)/((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + gt((~m), 1) ? +-(~a)*sin((~c) + (~d)*(~x))^((~m) - 1)⨸((~d)*((~a)^2 + (~b)^2)*((~m) - 1)) + (~b)⨸((~a)^2 + (~b)^2)*∫(sin((~c) + (~d)*(~x))^((~m) - 1), (~x)) + (~a)^2⨸((~a)^2 + (~b)^2)* ∫(sin((~c) + (~d)*(~x))^((~m) - 2)⨸((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_1_5_30", +@rule ∫(cos((~!c) + (~!d)*(~x))^ (~m)/((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + gt((~m), 1) ? +(~b)*cos((~c) + (~d)*(~x))^((~m) - 1)⨸((~d)*((~a)^2 + (~b)^2)*((~m) - 1)) + (~a)⨸((~a)^2 + (~b)^2)*∫(cos((~c) + (~d)*(~x))^((~m) - 1), (~x)) + (~b)^2⨸((~a)^2 + (~b)^2)* ∫(cos((~c) + (~d)*(~x))^((~m) - 2)⨸((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_1_5_31", +@rule ∫(1/(sin( (~!c) + (~!d)*(~x))*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) ? +1⨸(~a)*∫(cot((~c) + (~d)*(~x)), (~x)) - 1⨸(~a)* ∫(((~b)*cos((~c) + (~d)*(~x)) - (~a)*sin((~c) + (~d)*(~x)))⨸((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_1_5_32", +@rule ∫(1/(cos( (~!c) + (~!d)*(~x))*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) ? +1⨸(~b)*∫(tan((~c) + (~d)*(~x)), (~x)) + 1⨸(~b)* ∫(((~b)*cos((~c) + (~d)*(~x)) - (~a)*sin((~c) + (~d)*(~x)))⨸((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_1_5_33", +@rule ∫(sin((~!c) + (~!d)*(~x))^ (~m)/((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + lt((~m), -1) ? +sin((~c) + (~d)*(~x))^((~m) + 1)⨸((~a)*(~d)*((~m) + 1)) - (~b)⨸(~a)^2*∫(sin((~c) + (~d)*(~x))^((~m) + 1), (~x)) + ((~a)^2 + (~b)^2)⨸(~a)^2* ∫(sin((~c) + (~d)*(~x))^((~m) + 2)⨸((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_1_5_34", +@rule ∫(cos((~!c) + (~!d)*(~x))^ (~m)/((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + lt((~m), -1) ? +-cos((~c) + (~d)*(~x))^((~m) + 1)⨸((~b)*(~d)*((~m) + 1)) - (~a)⨸(~b)^2*∫(cos((~c) + (~d)*(~x))^((~m) + 1), (~x)) + ((~a)^2 + (~b)^2)⨸(~b)^2* ∫(cos((~c) + (~d)*(~x))^((~m) + 2)⨸((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_1_5_35", +@rule ∫(((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n)/ sin((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + lt((~n), -1) ? +-((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) + 1)⨸((~a)*(~d)*((~n) + 1)) - (~b)⨸(~a)^2*∫(((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) + 1), (~x)) + 1⨸(~a)^2* ∫(((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) + 2)⨸sin((~c) + (~d)*(~x)), (~x)) : nothing) + +("4_1_5_36", +@rule ∫(((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n)/ cos((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + lt((~n), -1) ? +((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) + 1)⨸((~b)*(~d)*((~n) + 1)) - (~a)⨸(~b)^2*∫(((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) + 1), (~x)) + 1⨸(~b)^2* ∫(((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) + 2)⨸cos((~c) + (~d)*(~x)), (~x)) : nothing) + +("4_1_5_37", +@rule ∫(sin((~!c) + (~!d)*(~x))^ (~m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + lt((~n), -1) && + lt((~m), -1) ? +((~a)^2 + (~b)^2)⨸(~a)^2* ∫(sin((~c) + (~d)*(~x))^((~m) + 2)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^(~n), (~x)) - 2*(~b)⨸(~a)^2* ∫(sin((~c) + (~d)*(~x))^((~m) + 1)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) + 1), (~x)) + 1⨸(~a)^2* ∫(sin((~c) + (~d)*(~x))^(~m)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) + 2), (~x)) : nothing) + +("4_1_5_38", +@rule ∫(cos((~!c) + (~!d)*(~x))^ (~m)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + lt((~n), -1) && + lt((~m), -1) ? +((~a)^2 + (~b)^2)⨸(~b)^2* ∫(cos((~c) + (~d)*(~x))^((~m) + 2)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^(~n), (~x)) - 2*(~a)⨸(~b)^2* ∫(cos((~c) + (~d)*(~x))^((~m) + 1)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) + 1), (~x)) + 1⨸(~b)^2* ∫(cos((~c) + (~d)*(~x))^(~m)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~n) + 2), (~x)) : nothing) + +("4_1_5_39", +@rule ∫(cos((~!c) + (~!d)*(~x))^(~!m)* sin((~!c) + (~!d)*(~x))^ (~!n)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + igt((~p), 0) ? +∫(ext_expand( cos((~c) + (~d)*(~x))^(~m)*sin((~c) + (~d)*(~x))^(~n)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^(~p), (~x)), (~x)) : nothing) + +("4_1_5_40", +@rule ∫(cos((~!c) + (~!d)*(~x))^(~!m)* sin((~!c) + (~!d)*(~x))^ (~!n)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + ilt((~p), 0) ? +(~a)^(~p)*(~b)^(~p)* ∫(cos((~c) + (~d)*(~x))^(~m)* sin((~c) + (~d)*(~x))^(~n)*((~b)*cos((~c) + (~d)*(~x)) + (~a)*sin((~c) + (~d)*(~x)))^(-(~p)), (~x)) : nothing) + +("4_1_5_41", +@rule ∫(cos((~!c) + (~!d)*(~x))^(~!m)* sin((~!c) + (~!d)*(~x))^ (~!n)/((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + igt((~m), 0) && + igt((~n), 0) ? +(~b)⨸((~a)^2 + (~b)^2)*∫(cos((~c) + (~d)*(~x))^(~m)*sin((~c) + (~d)*(~x))^((~n) - 1), (~x)) + (~a)⨸((~a)^2 + (~b)^2)*∫(cos((~c) + (~d)*(~x))^((~m) - 1)*sin((~c) + (~d)*(~x))^(~n), (~x)) - (~a)*(~b)⨸((~a)^2 + (~b)^2)* ∫(cos((~c) + (~d)*(~x))^((~m) - 1)* sin((~c) + (~d)*(~x))^((~n) - 1)⨸((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_1_5_42", +@rule ∫(cos((~!c) + (~!d)*(~x))^(~!m)* sin((~!c) + (~!d)*(~x))^ (~!n)/((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + ext_isinteger((~m), (~n)) ? +∫(ext_expand( cos((~c) + (~d)*(~x))^(~m)*sin((~c) + (~d)*(~x))^(~n)⨸((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x))), (~x)), (~x)) : nothing) + +("4_1_5_43", +@rule ∫(cos((~!c) + (~!d)*(~x))^(~!m)* sin((~!c) + (~!d)*(~x))^ (~!n)*((~!a)*cos((~!c) + (~!d)*(~x)) + (~!b)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + igt((~m), 0) && + igt((~n), 0) && + ilt((~p), 0) ? +(~b)⨸((~a)^2 + (~b)^2)* ∫(cos((~c) + (~d)*(~x))^(~m)* sin((~c) + (~d)*(~x))^((~n) - 1)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~p) + 1), (~x)) + (~a)⨸((~a)^2 + (~b)^2)* ∫(cos((~c) + (~d)*(~x))^((~m) - 1)* sin((~c) + (~d)*(~x))^(~n)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^((~p) + 1), (~x)) - (~a)*(~b)⨸((~a)^2 + (~b)^2)* ∫(cos((~c) + (~d)*(~x))^((~m) - 1)* sin((~c) + (~d)*(~x))^((~n) - 1)*((~a)*cos((~c) + (~d)*(~x)) + (~b)*sin((~c) + (~d)*(~x)))^(~p), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.6 (a+b cos+c sin)^n.jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.6 (a+b cos+c sin)^n.jl new file mode 100644 index 0000000..8a88960 --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.6 (a+b cos+c sin)^n.jl @@ -0,0 +1,399 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.6 (a+b cos+c sin)^n *) +("4_1_6_1", +@rule ∫(sqrt((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~a)^2 - (~b)^2 - (~c)^2, 0) ? +-2*((~c)*cos((~d) + (~e)*(~x)) - (~b)*sin((~d) + (~e)*(~x)))⨸((~e)* sqrt((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))) : nothing) + +("4_1_6_2", +@rule ∫(((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + gt((~n), 0) ? +-((~c)*cos((~d) + (~e)*(~x)) - (~b)*sin((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^((~n) - 1)⨸((~e)*(~n)) + (~a)*(2*(~n) - 1)⨸(~n)* ∫(((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^((~n) - 1), (~x)) : nothing) + +("4_1_6_3", +@rule ∫(1/((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~a)^2 - (~b)^2 - (~c)^2, 0) ? +-((~c) - (~a)*sin((~d) + (~e)*(~x)))⨸((~c)*(~e)*((~c)*cos((~d) + (~e)*(~x)) - (~b)*sin((~d) + (~e)*(~x)))) : nothing) + +("4_1_6_4", +@rule ∫(1/sqrt((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~a)^2 - (~b)^2 - (~c)^2, 0) ? +∫(1⨸sqrt((~a) + sqrt((~b)^2 + (~c)^2)*cos((~d) + (~e)*(~x) - atan((~b), (~c)))), (~x)) : nothing) + +("4_1_6_5", +@rule ∫(((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + lt((~n), -1) ? +((~c)*cos((~d) + (~e)*(~x)) - (~b)*sin((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^ (~n)⨸((~a)*(~e)*(2*(~n) + 1)) + ((~n) + 1)⨸((~a)*(2*(~n) + 1))* ∫(((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_1_6_6", +@rule ∫(sqrt((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~b)^2 + (~c)^2, 0) ? +(~b)⨸((~c)*(~e))* int_and_subst(sqrt((~a) + (~x))⨸(~x), (~x), (~x), (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)), "4_1_6_6") : nothing) + +("4_1_6_7", +@rule ∫(sqrt((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 + (~c)^2, 0) && + gt((~a) + sqrt((~b)^2 + (~c)^2), 0) ? +∫(sqrt((~a) + sqrt((~b)^2 + (~c)^2)*cos((~d) + (~e)*(~x) - atan((~b), (~c)))), (~x)) : nothing) + +("4_1_6_8", +@rule ∫(sqrt((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + !eq((~b)^2 + (~c)^2, 0) && + !(gt((~a) + sqrt((~b)^2 + (~c)^2), 0)) ? +sqrt((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))⨸ sqrt(((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))⨸((~a) + sqrt((~b)^2 + (~c)^2)))* ∫( sqrt((~a)⨸((~a) + sqrt((~b)^2 + (~c)^2)) + sqrt((~b)^2 + (~c)^2)⨸((~a) + sqrt((~b)^2 + (~c)^2))* cos((~d) + (~e)*(~x) - atan((~b), (~c)))), (~x)) : nothing) + +("4_1_6_9", +@rule ∫(((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + gt((~n), 1) ? +-((~c)*cos((~d) + (~e)*(~x)) - (~b)*sin((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^((~n) - 1)⨸((~e)*(~n)) + 1⨸(~n)* ∫(simp( (~n)*(~a)^2 + ((~n) - 1)*((~b)^2 + (~c)^2) + (~a)*(~b)*(2*(~n) - 1)*cos((~d) + (~e)*(~x)) + (~a)*(~c)*(2*(~n) - 1)*sin((~d) + (~e)*(~x)), (~x))* ((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^((~n) - 2), (~x)) : nothing) + +#(* Int[1/(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] := x/Sqrt[a^2-b^2-c^2] + 2/(e*Sqrt[a^2-b^2-c^2])*ArcTan[(c*Cos[d+e*x]-b*Sin[d+e*x])/(a+Sqrt[ a^2-b^2-c^2]+b*Cos[d+e*x]+c*Sin[d+e*x])] /; FreeQ[{a,b,c,d,e},x] && GtQ[a^2-b^2-c^2,0] *) +#(* Int[1/(a_+b_.*cos[d_.+e_.*x_]+c_.*sin[d_.+e_.*x_]),x_Symbol] := Log[RemoveContent[b^2+c^2+(a*b-c*Rt[-a^2+b^2+c^2,2])*Cos[d+e*x]+(a* c+b*Sqrt[-a^2+b^2+c^2])*Sin[d+e*x],x]]/ (2*e*Rt[-a^2+b^2+c^2,2]) - Log[RemoveContent[b^2+c^2+(a*b+c*Rt[-a^2+b^2+c^2,2])*Cos[d+e*x]+(a* c-b*Sqrt[-a^2+b^2+c^2])*Sin[d+e*x],x]]/ (2*e*Rt[-a^2+b^2+c^2,2]) /; FreeQ[{a,b,c,d,e},x] && LtQ[a^2-b^2-c^2,0] *) +("4_1_6_10", +@rule ∫(1/((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~a) + (~b), 0) ? +-free_factors(cot(((~d) + (~e)*(~x))⨸2), (~x))⨸(~e)*int_and_subst(1⨸((~a) + (~c)*free_factors(cot(((~d) + (~e)*(~x))⨸2), (~x))*(~x)), (~x), (~x), cot(((~d) + (~e)*(~x))⨸2)⨸free_factors(cot(((~d) + (~e)*(~x))⨸2), (~x)), "4_1_6_10") : nothing) + +("4_1_6_11", +@rule ∫(1/((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~a) + (~c), 0) ? +free_factors(tan(((~d) + (~e)*(~x))⨸2 + π⨸4), (~x))⨸(~e)*int_and_subst(1⨸((~a) + (~b)*free_factors(tan(((~d) + (~e)*(~x))⨸2 + π⨸4), (~x))*(~x)), (~x), (~x), tan(((~d) + (~e)*(~x))⨸2 + π⨸4)⨸free_factors(tan(((~d) + (~e)*(~x))⨸2 + π⨸4), (~x)), "4_1_6_11") : nothing) + +("4_1_6_12", +@rule ∫(1/((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~a) - (~c), 0) && + !eq((~a) - (~b), 0) ? +-free_factors(cot(((~d) + (~e)*(~x))⨸2 + π⨸4), (~x))⨸(~e)* int_and_subst(1⨸((~a) + (~b)*free_factors(cot(((~d) + (~e)*(~x))⨸2 + π⨸4), (~x))*(~x)), (~x), (~x), cot(((~d) + (~e)*(~x))⨸2 + π⨸4)⨸free_factors(cot(((~d) + (~e)*(~x))⨸2 + π⨸4), (~x)), "4_1_6_12") : nothing) + +("4_1_6_13", +@rule ∫(1/((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) ? +2*free_factors(tan(((~d) + (~e)*(~x))⨸2), (~x))⨸(~e)* int_and_subst(1⨸((~a) + (~b) + 2*(~c)*free_factors(tan(((~d) + (~e)*(~x))⨸2), (~x))*(~x) + ((~a) - (~b))*free_factors(tan(((~d) + (~e)*(~x))⨸2), (~x))^2*(~x)^2), (~x), (~x), tan(((~d) + (~e)*(~x))⨸2)⨸free_factors(tan(((~d) + (~e)*(~x))⨸2), (~x)), "4_1_6_13") : nothing) + +("4_1_6_14", +@rule ∫(1/sqrt((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~b)^2 + (~c)^2, 0) ? +(~b)⨸((~c)*(~e))* int_and_subst(1⨸((~x)*sqrt((~a) + (~x))), (~x), (~x), (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)), "4_1_6_14") : nothing) + +("4_1_6_15", +@rule ∫(1/sqrt((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2 + (~c)^2, 0) && + gt((~a) + sqrt((~b)^2 + (~c)^2), 0) ? +∫(1⨸sqrt((~a) + sqrt((~b)^2 + (~c)^2)*cos((~d) + (~e)*(~x) - atan((~b), (~c)))), (~x)) : nothing) + +("4_1_6_16", +@rule ∫(1/sqrt((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + !eq((~b)^2 + (~c)^2, 0) && + !(gt((~a) + sqrt((~b)^2 + (~c)^2), 0)) ? +sqrt(((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))⨸((~a) + sqrt((~b)^2 + (~c)^2)))⨸ sqrt((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))* ∫( 1⨸sqrt((~a)⨸((~a) + sqrt((~b)^2 + (~c)^2)) + sqrt((~b)^2 + (~c)^2)⨸((~a) + sqrt((~b)^2 + (~c)^2))* cos((~d) + (~e)*(~x) - atan((~b), (~c)))), (~x)) : nothing) + +("4_1_6_17", +@rule ∫(1/((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(3//2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) ? +2*((~c)*cos((~d) + (~e)*(~x)) - (~b)*sin((~d) + (~e)*(~x)))⨸((~e)*((~a)^2 - (~b)^2 - (~c)^2)* sqrt((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))) + 1⨸((~a)^2 - (~b)^2 - (~c)^2)* ∫(sqrt((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x))), (~x)) : nothing) + +("4_1_6_18", +@rule ∫(((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + lt((~n), -1) && + !eq((~n), -3/2) ? +(-(~c)*cos((~d) + (~e)*(~x)) + (~b)*sin((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^((~n) + 1)⨸((~e)*((~n) + 1)*((~a)^2 - (~b)^2 - (~c)^2)) + 1⨸(((~n) + 1)*((~a)^2 - (~b)^2 - (~c)^2))* ∫(((~a)*((~n) + 1) - (~b)*((~n) + 2)*cos((~d) + (~e)*(~x)) - (~c)*((~n) + 2)*sin((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_1_6_19", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)) + (~!C)*sin((~!d) + (~!e)*(~x)))/((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~C), (~x)) && + eq((~b)^2 + (~c)^2, 0) ? +(2*(~a)*(~A) - (~b)*(~B) - (~c)*(~C))* (~x)⨸(2*(~a)^2) - ((~b)*(~B) + (~c)*(~C))*((~b)*cos((~d) + (~e)*(~x)) - (~c)*sin((~d) + (~e)*(~x)))⨸(2*(~a)*(~b)*(~c)*(~e)) + ((~a)^2*((~b)*(~B) - (~c)*(~C)) - 2*(~a)*(~A)*(~b)^2 + (~b)^2*((~b)*(~B) + (~c)*(~C)))* log((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))⨸(2*(~a)^2* (~b)*(~c)*(~e)) : nothing) + +("4_1_6_20", +@rule ∫(((~!A) + (~!C)*sin((~!d) + (~!e)*(~x)))/((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~C), (~x)) && + eq((~b)^2 + (~c)^2, 0) ? +(2*(~a)*(~A) - (~c)*(~C))*(~x)⨸(2*(~a)^2) - (~C)*cos((~d) + (~e)*(~x))⨸(2*(~a)*(~e)) + (~c)*(~C)*sin((~d) + (~e)*(~x))⨸(2*(~a)*(~b)*(~e)) + (-(~a)^2*(~C) + 2*(~a)*(~c)*(~A) + (~b)^2*(~C))* log((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))⨸(2*(~a)^2* (~b)*(~e)) : nothing) + +("4_1_6_21", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)))/((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~x)) && + eq((~b)^2 + (~c)^2, 0) ? +(2*(~a)*(~A) - (~b)*(~B))*(~x)⨸(2*(~a)^2) - (~b)*(~B)*cos((~d) + (~e)*(~x))⨸(2*(~a)*(~c)*(~e)) + (~B)*sin((~d) + (~e)*(~x))⨸(2*(~a)*(~e)) + ((~a)^2*(~B) - 2*(~a)*(~b)*(~A) + (~b)^2*(~B))* log((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))⨸(2*(~a)^2* (~c)*(~e)) : nothing) + +("4_1_6_22", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)) + (~!C)*sin((~!d) + (~!e)*(~x)))/((~!a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~C), (~x)) && + !eq((~b)^2 + (~c)^2, 0) && + eq((~A)*((~b)^2 + (~c)^2) - (~a)*((~b)*(~B) + (~c)*(~C)), 0) ? +((~b)*(~B) + (~c)*(~C))*(~x)⨸((~b)^2 + (~c)^2) + ((~c)*(~B) - (~b)*(~C))* log((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))⨸((~e)*((~b)^2 + (~c)^2)) : nothing) + +("4_1_6_23", +@rule ∫(((~!A) + (~!C)*sin((~!d) + (~!e)*(~x)))/((~!a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~C), (~x)) && + !eq((~b)^2 + (~c)^2, 0) && + eq((~A)*((~b)^2 + (~c)^2) - (~a)*(~c)*(~C), 0) ? +(~c)*(~C)*(~x)⨸((~b)^2 + (~c)^2) - (~b)*(~C)*log((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))⨸((~e)*((~b)^2 + (~c)^2)) : nothing) + +("4_1_6_24", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)))/((~!a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~x)) && + !eq((~b)^2 + (~c)^2, 0) && + eq((~A)*((~b)^2 + (~c)^2) - (~a)*(~b)*(~B), 0) ? +(~b)*(~B)*(~x)⨸((~b)^2 + (~c)^2) + (~c)*(~B)*log((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))⨸((~e)*((~b)^2 + (~c)^2)) : nothing) + +("4_1_6_25", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)) + (~!C)*sin((~!d) + (~!e)*(~x)))/((~!a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~C), (~x)) && + !eq((~b)^2 + (~c)^2, 0) && + !eq((~A)*((~b)^2 + (~c)^2) - (~a)*((~b)*(~B) + (~c)*(~C)), 0) ? +((~b)*(~B) + (~c)*(~C))*(~x)⨸((~b)^2 + (~c)^2) + ((~c)*(~B) - (~b)*(~C))* log((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))⨸((~e)*((~b)^2 + (~c)^2)) + ((~A)*((~b)^2 + (~c)^2) - (~a)*((~b)*(~B) + (~c)*(~C)))⨸((~b)^2 + (~c)^2)* ∫(1⨸((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x))), (~x)) : nothing) + +("4_1_6_26", +@rule ∫(((~!A) + (~!C)*sin((~!d) + (~!e)*(~x)))/((~!a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~C), (~x)) && + !eq((~b)^2 + (~c)^2, 0) && + !eq((~A)*((~b)^2 + (~c)^2) - (~a)*(~c)*(~C), 0) ? +(~c)*(~C)*((~d) + (~e)*(~x))⨸((~e)*((~b)^2 + (~c)^2)) - (~b)*(~C)*log((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))⨸((~e)*((~b)^2 + (~c)^2)) + ((~A)*((~b)^2 + (~c)^2) - (~a)*(~c)*(~C))⨸((~b)^2 + (~c)^2)* ∫(1⨸((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x))), (~x)) : nothing) + +("4_1_6_27", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)))/((~!a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~x)) && + !eq((~b)^2 + (~c)^2, 0) && + !eq((~A)*((~b)^2 + (~c)^2) - (~a)*(~b)*(~B), 0) ? +(~b)*(~B)*((~d) + (~e)*(~x))⨸((~e)*((~b)^2 + (~c)^2)) + (~c)*(~B)*log((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))⨸((~e)*((~b)^2 + (~c)^2)) + ((~A)*((~b)^2 + (~c)^2) - (~a)*(~b)*(~B))⨸((~b)^2 + (~c)^2)* ∫(1⨸((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x))), (~x)) : nothing) + +("4_1_6_28", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)) + (~!C)*sin((~!d) + (~!e)*(~x)))*((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~C), (~n), (~x)) && + !eq((~n), -1) && + eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + eq(((~b)*(~B) + (~c)*(~C))*(~n) + (~a)*(~A)*((~n) + 1), 0) ? +((~B)*(~c) - (~b)*(~C) - (~a)*(~C)*cos((~d) + (~e)*(~x)) + (~a)*(~B)*sin((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^ (~n)⨸((~a)*(~e)*((~n) + 1)) : nothing) + +("4_1_6_29", +@rule ∫(((~!A) + (~!C)*sin((~!d) + (~!e)*(~x)))*((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~C), (~n), (~x)) && + !eq((~n), -1) && + eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + eq((~c)*(~C)*(~n) + (~a)*(~A)*((~n) + 1), 0) ? +-((~b)*(~C) + (~a)*(~C)*cos((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^ (~n)⨸((~a)*(~e)*((~n) + 1)) : nothing) + +("4_1_6_30", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)))*((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~n), (~x)) && + !eq((~n), -1) && + eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + eq((~b)*(~B)*(~n) + (~a)*(~A)*((~n) + 1), 0) ? +((~B)*(~c) + (~a)*(~B)*sin((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^ (~n)⨸((~a)*(~e)*((~n) + 1)) : nothing) + +("4_1_6_31", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)) + (~!C)*sin((~!d) + (~!e)*(~x)))*((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~C), (~n), (~x)) && + !eq((~n), -1) && + eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + !eq(((~b)*(~B) + (~c)*(~C))*(~n) + (~a)*(~A)*((~n) + 1), 0) ? +((~B)*(~c) - (~b)*(~C) - (~a)*(~C)*cos((~d) + (~e)*(~x)) + (~a)*(~B)*sin((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^ (~n)⨸((~a)*(~e)*((~n) + 1)) + (((~b)*(~B) + (~c)*(~C))*(~n) + (~a)*(~A)*((~n) + 1))⨸((~a)*((~n) + 1))* ∫(((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^(~n), (~x)) : nothing) + +("4_1_6_32", +@rule ∫(((~!A) + (~!C)*sin((~!d) + (~!e)*(~x)))*((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~C), (~n), (~x)) && + !eq((~n), -1) && + eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + !eq((~c)*(~C)*(~n) + (~a)*(~A)*((~n) + 1), 0) ? +-((~b)*(~C) + (~a)*(~C)*cos((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^ (~n)⨸((~a)*(~e)*((~n) + 1)) + ((~c)*(~C)*(~n) + (~a)*(~A)*((~n) + 1))⨸((~a)*((~n) + 1))* ∫(((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^(~n), (~x)) : nothing) + +("4_1_6_33", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)))*((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~n), (~x)) && + !eq((~n), -1) && + eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + !eq((~b)*(~B)*(~n) + (~a)*(~A)*((~n) + 1), 0) ? +((~B)*(~c) + (~a)*(~B)*sin((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^ (~n)⨸((~a)*(~e)*((~n) + 1)) + ((~b)*(~B)*(~n) + (~a)*(~A)*((~n) + 1))⨸((~a)*((~n) + 1))* ∫(((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^(~n), (~x)) : nothing) + +("4_1_6_34", +@rule ∫(((~!B)*cos((~!d) + (~!e)*(~x)) + (~!C)*sin((~!d) + (~!e)*(~x)))*((~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~B), (~C), (~x)) && + !eq((~n), -1) && + !eq((~b)^2 + (~c)^2, 0) && + eq((~b)*(~B) + (~c)*(~C), 0) ? +((~c)*(~B) - (~b)*(~C))*((~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^((~n) + 1)⨸((~e)*((~n) + 1)*((~b)^2 + (~c)^2)) : nothing) + +("4_1_6_35", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)) + (~!C)*sin((~!d) + (~!e)*(~x)))*((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~C), (~x)) && + gt((~n), 0) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) ? +((~B)*(~c) - (~b)*(~C) - (~a)*(~C)*cos((~d) + (~e)*(~x)) + (~a)*(~B)*sin((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^ (~n)⨸((~a)*(~e)*((~n) + 1)) + 1⨸((~a)*((~n) + 1))*∫(((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^((~n) - 1)* simp((~a)*((~b)*(~B) + (~c)*(~C))*(~n) + (~a)^2*(~A)*((~n) + 1) + ((~n)*((~a)^2*(~B) - (~B)*(~c)^2 + (~b)*(~c)*(~C)) + (~a)*(~b)*(~A)*((~n) + 1))* cos((~d) + (~e)*(~x)) + ((~n)*((~b)*(~B)*(~c) + (~a)^2*(~C) - (~b)^2*(~C)) + (~a)*(~c)*(~A)*((~n) + 1))* sin((~d) + (~e)*(~x)), (~x)), (~x)) : nothing) + +("4_1_6_36", +@rule ∫(((~!A) + (~!C)*sin((~!d) + (~!e)*(~x)))*((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~C), (~x)) && + gt((~n), 0) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) ? +-((~b)*(~C) + (~a)*(~C)*cos((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^ (~n)⨸((~a)*(~e)*((~n) + 1)) + 1⨸((~a)*((~n) + 1))*∫(((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^((~n) - 1)* simp((~a)*(~c)*(~C)*(~n) + (~a)^2*(~A)*((~n) + 1) + ((~c)*(~b)*(~C)*(~n) + (~a)*(~b)*(~A)*((~n) + 1))* cos((~d) + (~e)*(~x)) + ((~a)^2*(~C)*(~n) - (~b)^2*(~C)*(~n) + (~a)*(~c)*(~A)*((~n) + 1))* sin((~d) + (~e)*(~x)), (~x)), (~x)) : nothing) + +("4_1_6_37", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)))*((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~x)) && + gt((~n), 0) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) ? +((~B)*(~c) + (~a)*(~B)*sin((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^ (~n)⨸((~a)*(~e)*((~n) + 1)) + 1⨸((~a)*((~n) + 1))*∫(((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^((~n) - 1)* simp((~a)*(~b)*(~B)*(~n) + (~a)^2*(~A)*((~n) + 1) + ((~a)^2*(~B)*(~n) - (~c)^2*(~B)*(~n) + (~a)*(~b)*(~A)*((~n) + 1))* cos((~d) + (~e)*(~x)) + ((~b)*(~c)*(~B)*(~n) + (~a)*(~c)*(~A)*((~n) + 1))*sin((~d) + (~e)*(~x)), (~x)), (~x)) : nothing) + +("4_1_6_38", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)) + (~!C)*sin((~!d) + (~!e)*(~x)))/ sqrt((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~C), (~x)) && + eq((~B)*(~c) - (~b)*(~C), 0) && + !eq((~A)*(~b) - (~a)*(~B), 0) ? +(~B)⨸(~b)*∫(sqrt((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x))), (~x)) + ((~A)*(~b) - (~a)*(~B))⨸(~b)* ∫(1⨸sqrt((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x))), (~x)) : nothing) + +("4_1_6_39", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)) + (~!C)*sin((~!d) + (~!e)*(~x)))/((~!a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~C), (~x)) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + eq((~a)*(~A) - (~b)*(~B) - (~c)*(~C), 0) ? +((~c)*(~B) - (~b)*(~C) - ((~a)*(~C) - (~c)*(~A))*cos((~d) + (~e)*(~x)) + ((~a)*(~B) - (~b)*(~A))*sin((~d) + (~e)*(~x)))⨸ ((~e)*((~a)^2 - (~b)^2 - (~c)^2)*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))) : nothing) + +("4_1_6_40", +@rule ∫(((~!A) + (~!C)*sin((~!d) + (~!e)*(~x)))/((~!a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~C), (~x)) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + eq((~a)*(~A) - (~c)*(~C), 0) ? +-((~b)*(~C) + ((~a)*(~C) - (~c)*(~A))*cos((~d) + (~e)*(~x)) + (~b)*(~A)*sin((~d) + (~e)*(~x)))⨸((~e)*((~a)^2 - (~b)^2 - (~c)^2)*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))) : nothing) + +("4_1_6_41", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)))/((~!a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~x)) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + eq((~a)*(~A) - (~b)*(~B), 0) ? +((~c)*(~B) + (~c)*(~A)*cos((~d) + (~e)*(~x)) + ((~a)*(~B) - (~b)*(~A))* sin((~d) + (~e)*(~x)))⨸((~e)*((~a)^2 - (~b)^2 - (~c)^2)*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))) : nothing) + +("4_1_6_42", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)) + (~!C)*sin((~!d) + (~!e)*(~x)))/((~!a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~C), (~x)) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + !eq((~a)*(~A) - (~b)*(~B) - (~c)*(~C), 0) ? +((~c)*(~B) - (~b)*(~C) - ((~a)*(~C) - (~c)*(~A))*cos((~d) + (~e)*(~x)) + ((~a)*(~B) - (~b)*(~A))*sin((~d) + (~e)*(~x)))⨸ ((~e)*((~a)^2 - (~b)^2 - (~c)^2)*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))) + ((~a)*(~A) - (~b)*(~B) - (~c)*(~C))⨸((~a)^2 - (~b)^2 - (~c)^2)* ∫(1⨸((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x))), (~x)) : nothing) + +("4_1_6_43", +@rule ∫(((~!A) + (~!C)*sin((~!d) + (~!e)*(~x)))/((~!a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~C), (~x)) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + !eq((~a)*(~A) - (~c)*(~C), 0) ? +-((~b)*(~C) + ((~a)*(~C) - (~c)*(~A))*cos((~d) + (~e)*(~x)) + (~b)*(~A)*sin((~d) + (~e)*(~x)))⨸((~e)*((~a)^2 - (~b)^2 - (~c)^2)*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))) + ((~a)*(~A) - (~c)*(~C))⨸((~a)^2 - (~b)^2 - (~c)^2)* ∫(1⨸((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x))), (~x)) : nothing) + +("4_1_6_44", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)))/((~!a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~x)) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + !eq((~a)*(~A) - (~b)*(~B), 0) ? +((~c)*(~B) + (~c)*(~A)*cos((~d) + (~e)*(~x)) + ((~a)*(~B) - (~b)*(~A))* sin((~d) + (~e)*(~x)))⨸((~e)*((~a)^2 - (~b)^2 - (~c)^2)*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))) + ((~a)*(~A) - (~b)*(~B))⨸((~a)^2 - (~b)^2 - (~c)^2)* ∫(1⨸((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x))), (~x)) : nothing) + +("4_1_6_45", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)) + (~!C)*sin((~!d) + (~!e)*(~x)))*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~C), (~x)) && + lt((~n), -1) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + !eq((~n), -2) ? +-((~c)*(~B) - (~b)*(~C) - ((~a)*(~C) - (~c)*(~A))*cos((~d) + (~e)*(~x)) + ((~a)*(~B) - (~b)*(~A))*sin((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^((~n) + 1)⨸ ((~e)*((~n) + 1)*((~a)^2 - (~b)^2 - (~c)^2)) + 1⨸(((~n) + 1)*((~a)^2 - (~b)^2 - (~c)^2))* ∫(((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^((~n) + 1)* simp(((~n) + 1)*((~a)*(~A) - (~b)*(~B) - (~c)*(~C)) + ((~n) + 2)*((~a)*(~B) - (~b)*(~A))* cos((~d) + (~e)*(~x)) + ((~n) + 2)*((~a)*(~C) - (~c)*(~A))*sin((~d) + (~e)*(~x)), (~x)), (~x)) : nothing) + +("4_1_6_46", +@rule ∫(((~!A) + (~!C)*sin((~!d) + (~!e)*(~x)))*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~C), (~x)) && + lt((~n), -1) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + !eq((~n), -2) ? +((~b)*(~C) + ((~a)*(~C) - (~c)*(~A))*cos((~d) + (~e)*(~x)) + (~b)*(~A)*sin((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^((~n) + 1)⨸ ((~e)*((~n) + 1)*((~a)^2 - (~b)^2 - (~c)^2)) + 1⨸(((~n) + 1)*((~a)^2 - (~b)^2 - (~c)^2))* ∫(((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^((~n) + 1)* simp(((~n) + 1)*((~a)*(~A) - (~c)*(~C)) - ((~n) + 2)*(~b)*(~A)* cos((~d) + (~e)*(~x)) + ((~n) + 2)*((~a)*(~C) - (~c)*(~A))*sin((~d) + (~e)*(~x)), (~x)), (~x)) : nothing) + +("4_1_6_47", +@rule ∫(((~!A) + (~!B)*cos((~!d) + (~!e)*(~x)))*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~x)) && + lt((~n), -1) && + !eq((~a)^2 - (~b)^2 - (~c)^2, 0) && + !eq((~n), -2) ? +-((~c)*(~B) + (~c)*(~A)*cos((~d) + (~e)*(~x)) + ((~a)*(~B) - (~b)*(~A))*sin((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^((~n) + 1)⨸ ((~e)*((~n) + 1)*((~a)^2 - (~b)^2 - (~c)^2)) + 1⨸(((~n) + 1)*((~a)^2 - (~b)^2 - (~c)^2))* ∫(((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^((~n) + 1)* simp(((~n) + 1)*((~a)*(~A) - (~b)*(~B)) + ((~n) + 2)*((~a)*(~B) - (~b)*(~A))* cos((~d) + (~e)*(~x)) - ((~n) + 2)*(~c)*(~A)*sin((~d) + (~e)*(~x)), (~x)), (~x)) : nothing) + +("4_1_6_48", +@rule ∫(1/((~!a) + (~!b)*sec((~!d) + (~!e)*(~x)) + (~!c)*tan((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) ? +∫(cos((~d) + (~e)*(~x))⨸((~b) + (~a)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x))), (~x)) : nothing) + +("4_1_6_49", +@rule ∫(1/((~!a) + (~!b)*csc((~!d) + (~!e)*(~x)) + (~!c)*cot((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) ? +∫(sin((~d) + (~e)*(~x))⨸((~b) + (~a)*sin((~d) + (~e)*(~x)) + (~c)*cos((~d) + (~e)*(~x))), (~x)) : nothing) + +("4_1_6_50", +@rule ∫(cos((~!d) + (~!e)*(~x))^ (~!n)*((~!a) + (~!b)*sec((~!d) + (~!e)*(~x)) + (~!c)*tan((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + ext_isinteger((~n)) ? +∫(((~b) + (~a)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^(~n), (~x)) : nothing) + +("4_1_6_51", +@rule ∫(sin((~!d) + (~!e)*(~x))^ (~!n)*((~!a) + (~!b)*csc((~!d) + (~!e)*(~x)) + (~!c)*cot((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + ext_isinteger((~n)) ? +∫(((~b) + (~a)*sin((~d) + (~e)*(~x)) + (~c)*cos((~d) + (~e)*(~x)))^(~n), (~x)) : nothing) + +("4_1_6_52", +@rule ∫(cos((~!d) + (~!e)*(~x))^ (~n)*((~!a) + (~!b)*sec((~!d) + (~!e)*(~x)) + (~!c)*tan((~!d) + (~!e)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !(ext_isinteger((~n))) ? +cos((~d) + (~e)*(~x))^ (~n)*((~a) + (~b)*sec((~d) + (~e)*(~x)) + (~c)*tan((~d) + (~e)*(~x)))^ (~n)⨸((~b) + (~a)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^(~n)* ∫(((~b) + (~a)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^(~n), (~x)) : nothing) + +("4_1_6_53", +@rule ∫(sin((~!d) + (~!e)*(~x))^ (~n)*((~!a) + (~!b)*csc((~!d) + (~!e)*(~x)) + (~!c)*cot((~!d) + (~!e)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !(ext_isinteger((~n))) ? +sin((~d) + (~e)*(~x))^ (~n)*((~a) + (~b)*csc((~d) + (~e)*(~x)) + (~c)*cot((~d) + (~e)*(~x)))^ (~n)⨸((~b) + (~a)*sin((~d) + (~e)*(~x)) + (~c)*cos((~d) + (~e)*(~x)))^(~n)* ∫(((~b) + (~a)*sin((~d) + (~e)*(~x)) + (~c)*cos((~d) + (~e)*(~x)))^(~n), (~x)) : nothing) + +("4_1_6_54", +@rule ∫(sec((~!d) + (~!e)*(~x))^ (~!n)*((~!a) + (~!b)*sec((~!d) + (~!e)*(~x)) + (~!c)*tan((~!d) + (~!e)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~m) + (~n), 0) && + ext_isinteger((~n)) ? +∫(1⨸((~b) + (~a)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^(~n), (~x)) : nothing) + +("4_1_6_55", +@rule ∫(csc((~!d) + (~!e)*(~x))^ (~!n)*((~!a) + (~!b)*csc((~!d) + (~!e)*(~x)) + (~!c)*cot((~!d) + (~!e)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~m) + (~n), 0) && + ext_isinteger((~n)) ? +∫(1⨸((~b) + (~a)*sin((~d) + (~e)*(~x)) + (~c)*cos((~d) + (~e)*(~x)))^(~n), (~x)) : nothing) + +("4_1_6_56", +@rule ∫(sec((~!d) + (~!e)*(~x))^ (~!n)*((~!a) + (~!b)*sec((~!d) + (~!e)*(~x)) + (~!c)*tan((~!d) + (~!e)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~m) + (~n), 0) && + !(ext_isinteger((~n))) ? +sec((~d) + (~e)*(~x))^ (~n)*((~b) + (~a)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^ (~n)⨸((~a) + (~b)*sec((~d) + (~e)*(~x)) + (~c)*tan((~d) + (~e)*(~x)))^(~n)* ∫(1⨸((~b) + (~a)*cos((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x)))^(~n), (~x)) : nothing) + +("4_1_6_57", +@rule ∫(csc((~!d) + (~!e)*(~x))^ (~!n)*((~!a) + (~!b)*csc((~!d) + (~!e)*(~x)) + (~!c)*cot((~!d) + (~!e)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~m) + (~n), 0) && + !(ext_isinteger((~n))) ? +csc((~d) + (~e)*(~x))^ (~n)*((~b) + (~a)*sin((~d) + (~e)*(~x)) + (~c)*cos((~d) + (~e)*(~x)))^ (~n)⨸((~a) + (~b)*csc((~d) + (~e)*(~x)) + (~c)*cot((~d) + (~e)*(~x)))^(~n)* ∫(1⨸((~b) + (~a)*sin((~d) + (~e)*(~x)) + (~c)*cos((~d) + (~e)*(~x)))^(~n), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.7 (d trig)^m (a+b (c sin)^n)^p.jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.7 (d trig)^m (a+b (c sin)^n)^p.jl new file mode 100644 index 0000000..49e3ccc --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.7 (d trig)^m (a+b (c sin)^n)^p.jl @@ -0,0 +1,478 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.7 (d trig)^m (a+b (c sin)^n)^p *) +("4_1_7_1", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~B), (~x)) ? +(4*(~A)*(2*(~a) + (~b)) + (~B)*(4*(~a) + 3*(~b)))*(~x)⨸8 - (4*(~A)*(~b) + (~B)*(4*(~a) + 3*(~b)))*cos((~e) + (~f)*(~x))*sin((~e) + (~f)*(~x))⨸(8*(~f)) - (~b)*(~B)*cos((~e) + (~f)*(~x))*sin((~e) + (~f)*(~x))^3⨸(4*(~f)) : nothing) + +("4_1_7_2", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~p)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~B), (~x)) && + gt((~p), 0) ? +-(~B)*cos((~e) + (~f)*(~x))* sin((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x))^2)^(~p)⨸(2*(~f)*((~p) + 1)) + 1⨸(2*((~p) + 1))*∫(((~a) + (~b)*sin((~e) + (~f)*(~x))^2)^((~p) - 1)* simp((~a)*(~B) + 2*(~a)*(~A)*((~p) + 1) + (2*(~A)*(~b)*((~p) + 1) + (~B)*((~b) + 2*(~a)*(~p) + 2*(~b)*(~p)))* sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_7_3", +@rule ∫(((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))^2)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~B), (~x)) ? +(~B)*(~x)⨸(~b) + ((~A)*(~b) - (~a)*(~B))⨸(~b)*∫(1⨸((~a) + (~b)*sin((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_7_4", +@rule ∫(((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))^2)/ sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~B), (~x)) ? +(~B)⨸(~b)*∫(sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))^2), (~x)) + ((~A)*(~b) - (~a)*(~B))⨸(~b)* ∫(1⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_1_7_5", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~p)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~B), (~x)) && + lt((~p), -1) && + !eq((~a) + (~b), 0) ? +-((~A)*(~b) - (~a)*(~B))*cos((~e) + (~f)*(~x))* sin((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x))^2)^((~p) + 1)⨸(2*(~a)* (~f)*((~a) + (~b))*((~p) + 1)) - 1⨸(2*(~a)*((~a) + (~b))*((~p) + 1))*∫(((~a) + (~b)*sin((~e) + (~f)*(~x))^2)^((~p) + 1)* simp((~a)*(~B) - (~A)*(2*(~a)*((~p) + 1) + (~b)*(2*(~p) + 3)) + 2*((~A)*(~b) - (~a)*(~B))*((~p) + 2)*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_7_6", +@rule ∫(((~!a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^ (~p)*((~!A) + (~!B)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~A), (~B), (~x)) && + !(ext_isinteger((~p))) ? +free_factors(tan((~e) + (~f)*(~x)), (~x))*((~a) + (~b)*sin((~e) + (~f)*(~x))^2)^ (~p)*(sec((~e) + (~f)*(~x))^2)^(~p)⨸((~f)*((~a) + ((~a) + (~b))*tan((~e) + (~f)*(~x))^2)^(~p))* int_and_subst(((~a) + ((~a) + (~b))*free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^ (~p)*((~A) + ((~A) + (~B))*free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)⨸(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^((~p) + 2), (~x), (~x), tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_7_6") : nothing) + +("4_1_7_7", +@rule ∫((~!u)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + eq((~a) + (~b), 0) && + ext_isinteger((~p)) ? +(~a)^(~p)*∫(ActivateTrig[(~u)*cos((~e) + (~f)*(~x))^(2*(~p))], (~x)) : nothing) + +("4_1_7_8", +@rule ∫((~!u)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + eq((~a) + (~b), 0) ? +∫(ActivateTrig[(~u)*((~a)*cos((~e) + (~f)*(~x))^2)^(~p)], (~x)) : nothing) + +("4_1_7_9", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + gt((~a), 0) ? +sqrt((~a))⨸(~f)*elliptic_e((~e) + (~f)*(~x), -(~b)⨸(~a)) : nothing) + +("4_1_7_10", +@rule ∫(sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !(gt((~a), 0)) ? +sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))^2)⨸sqrt(1 + (~b)*sin((~e) + (~f)*(~x))^2⨸(~a))* ∫(sqrt(1 + ((~b)*sin((~e) + (~f)*(~x))^2)⨸(~a)), (~x)) : nothing) + +("4_1_7_11", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^2,(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) ? +(8*(~a)^2 + 8*(~a)*(~b) + 3*(~b)^2)*(~x)⨸8 - (~b)*(8*(~a) + 3*(~b))*cos((~e) + (~f)*(~x))*sin((~e) + (~f)*(~x))⨸(8*(~f)) - (~b)^2*cos((~e) + (~f)*(~x))*sin((~e) + (~f)*(~x))^3⨸(4*(~f)) : nothing) + +("4_1_7_12", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !eq((~a) + (~b), 0) && + gt((~p), 1) ? +-(~b)*cos((~e) + (~f)*(~x))* sin((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x))^2)^((~p) - 1)⨸(2*(~f)*(~p)) + 1⨸(2*(~p))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x))^2)^((~p) - 2)* simp((~a)*((~b) + 2*(~a)*(~p)) + (~b)*(2*(~a) + (~b))*(2*(~p) - 1)*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_7_13", +@rule ∫(1/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) ? +free_factors(tan((~e) + (~f)*(~x)), (~x))⨸(~f)* int_and_subst(1⨸((~a) + ((~a) + (~b))*free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2), (~x), (~x), tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_7_13") : nothing) + +("4_1_7_14", +@rule ∫(1/sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + gt((~a), 0) ? +1⨸(sqrt((~a))*(~f))*elliptic_f((~e) + (~f)*(~x), -(~b)⨸(~a)) : nothing) + +("4_1_7_15", +@rule ∫(1/sqrt((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !(gt((~a), 0)) ? +sqrt(1 + (~b)*sin((~e) + (~f)*(~x))^2⨸(~a))⨸sqrt((~a) + (~b)*sin((~e) + (~f)*(~x))^2)* ∫(1⨸sqrt(1 + ((~b)*sin((~e) + (~f)*(~x))^2)⨸(~a)), (~x)) : nothing) + +("4_1_7_16", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !eq((~a) + (~b), 0) && + lt((~p), -1) ? +-(~b)*cos((~e) + (~f)*(~x))* sin((~e) + (~f)*(~x))*((~a) + (~b)*sin((~e) + (~f)*(~x))^2)^((~p) + 1)⨸(2*(~a)* (~f)*((~p) + 1)*((~a) + (~b))) + 1⨸(2*(~a)*((~p) + 1)*((~a) + (~b)))* ∫(((~a) + (~b)*sin((~e) + (~f)*(~x))^2)^((~p) + 1)* simp(2*(~a)*((~p) + 1) + (~b)*(2*(~p) + 3) - 2*(~b)*((~p) + 2)*sin((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_1_7_17", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + !(ext_isinteger((~p))) ? +free_factors(sin((~e) + (~f)*(~x)), (~x))*sqrt(cos((~e) + (~f)*(~x))^2)⨸((~f)*cos((~e) + (~f)*(~x)))* int_and_subst(((~a) + (~b)*free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(~p)⨸sqrt(1 - free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2), (~x), (~x), sin((~e) + (~f)*(~x))⨸free_factors(sin((~e) + (~f)*(~x)), (~x)), "4_1_7_17") : nothing) + +("4_1_7_18", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~!m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + ext_isinteger(((~m) - 1)/2) ? +-free_factors(cos((~e) + (~f)*(~x)), (~x))⨸(~f)* int_and_subst((1 - free_factors(cos((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~m) - 1)⨸2)*((~a) + (~b) - (~b)*free_factors(cos((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(~p), (~x), (~x), cos((~e) + (~f)*(~x))⨸free_factors(cos((~e) + (~f)*(~x)), (~x)), "4_1_7_18") : nothing) + +("4_1_7_19", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + ext_isinteger((~m)/2) && + ext_isinteger((~p)) ? +free_factors(tan((~e) + (~f)*(~x)), (~x))^((~m) + 1)⨸(~f)* int_and_subst( (~x)^(~m)*((~a) + ((~a) + (~b))*free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(~p)⨸(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^((~m)⨸2 + (~p) + 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_7_19") : nothing) + +("4_1_7_20", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + ext_isinteger((~m)/2) && + !(ext_isinteger((~p))) ? +free_factors(sin((~e) + (~f)*(~x)), (~x))^((~m) + 1)*sqrt(cos((~e) + (~f)*(~x))^2)⨸((~f)*cos((~e) + (~f)*(~x)))* int_and_subst((~x)^(~m)*((~a) + (~b)*free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(~p)⨸sqrt(1 - free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2), (~x), (~x), sin((~e) + (~f)*(~x))⨸free_factors(sin((~e) + (~f)*(~x)), (~x)), "4_1_7_20") : nothing) + +("4_1_7_21", +@rule ∫(((~!d)*sin((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~p), (~x)) && + !(ext_isinteger((~m))) ? +-free_factors(cos((~e) + (~f)*(~x)), (~x))* (~d)^(2*intpart(((~m) - 1)⨸2) + 1)*((~d)*sin((~e) + (~f)*(~x)))^(2* fracpart(((~m) - 1)⨸2))⨸((~f)*(sin((~e) + (~f)*(~x))^2)^ fracpart(((~m) - 1)⨸2))* int_and_subst((1 - free_factors(cos((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~m) - 1)⨸2)*((~a) + (~b) - (~b)*free_factors(cos((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(~p), (~x), (~x), cos((~e) + (~f)*(~x))⨸free_factors(cos((~e) + (~f)*(~x)), (~x)), "4_1_7_21") : nothing) + +("4_1_7_22", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~!m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + ext_isinteger(((~m) - 1)/2) ? +free_factors(sin((~e) + (~f)*(~x)), (~x))⨸(~f)* int_and_subst((1 - free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~m) - 1)⨸2)*((~a) + (~b)*free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(~p), (~x), (~x), sin((~e) + (~f)*(~x))⨸free_factors(sin((~e) + (~f)*(~x)), (~x)), "4_1_7_22") : nothing) + +("4_1_7_23", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + ext_isinteger((~m)/2) && + ext_isinteger((~p)) ? +free_factors(tan((~e) + (~f)*(~x)), (~x))⨸(~f)* int_and_subst(((~a) + ((~a) + (~b))*free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(~p)⨸(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^((~m)⨸2 + (~p) + 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_7_23") : nothing) + +("4_1_7_24", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + ext_isinteger((~m)/2) && + !(ext_isinteger((~p))) ? +free_factors(sin((~e) + (~f)*(~x)), (~x))*sqrt(cos((~e) + (~f)*(~x))^2)⨸((~f)*cos((~e) + (~f)*(~x)))* int_and_subst((1 - free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~m) - 1)⨸2)*((~a) + (~b)*free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(~p), (~x), (~x), sin((~e) + (~f)*(~x))⨸free_factors(sin((~e) + (~f)*(~x)), (~x)), "4_1_7_24") : nothing) + +("4_1_7_25", +@rule ∫(((~!d)*cos((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~p), (~x)) && + !(ext_isinteger((~m))) ? +free_factors(sin((~e) + (~f)*(~x)), (~x))*(~d)^(2*intpart(((~m) - 1)⨸2) + 1)*((~d)*cos((~e) + (~f)*(~x)))^(2* fracpart(((~m) - 1)⨸2))⨸((~f)*(cos((~e) + (~f)*(~x))^2)^ fracpart(((~m) - 1)⨸2))* int_and_subst((1 - free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~m) - 1)⨸2)*((~a) + (~b)*free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(~p), (~x), (~x), sin((~e) + (~f)*(~x))⨸free_factors(sin((~e) + (~f)*(~x)), (~x)), "4_1_7_25") : nothing) + +("4_1_7_26", +@rule ∫(tan((~!e) + (~!f)*(~x))^(~!m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + ext_isinteger(((~m) - 1)/2) ? +free_factors(sin((~e) + (~f)*(~x))^2, (~x))^(((~m) + 1)⨸2)⨸(2*(~f))* int_and_subst((~x)^(((~m) - 1)⨸2)*((~a) + (~b)*free_factors(sin((~e) + (~f)*(~x))^2, (~x))*(~x))^(~p)⨸(1 - free_factors(sin((~e) + (~f)*(~x))^2, (~x))*(~x))^(((~m) + 1)⨸2), (~x), (~x), sin((~e) + (~f)*(~x))^2⨸free_factors(sin((~e) + (~f)*(~x))^2, (~x)), "4_1_7_26") : nothing) + +("4_1_7_27", +@rule ∫(((~!d)*tan((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~x)) && + ext_isinteger((~p)) ? +free_factors(tan((~e) + (~f)*(~x)), (~x))⨸(~f)* int_and_subst(((~d)*free_factors(tan((~e) + (~f)*(~x)), (~x))*(~x))^ (~m)*((~a) + ((~a) + (~b))*free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(~p)⨸(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^((~p) + 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_7_27") : nothing) + +("4_1_7_28", +@rule ∫(tan((~!e) + (~!f)*(~x))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + ext_isinteger((~m)/2) && + !(ext_isinteger((~p))) ? +free_factors(sin((~e) + (~f)*(~x)), (~x))^((~m) + 1)*sqrt(cos((~e) + (~f)*(~x))^2)⨸((~f)*cos((~e) + (~f)*(~x)))* int_and_subst((~x)^(~m)*((~a) + (~b)*free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(~p)⨸(1 - free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~m) + 1)⨸2), (~x), (~x), sin((~e) + (~f)*(~x))⨸free_factors(sin((~e) + (~f)*(~x)), (~x)), "4_1_7_28") : nothing) + +("4_1_7_29", +@rule ∫(((~!d)*tan((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~p), (~x)) && + !(ext_isinteger((~m))) ? +free_factors(sin((~e) + (~f)*(~x)), (~x))*((~d)*tan((~e) + (~f)*(~x)))^((~m) + 1)*(cos((~e) + (~f)*(~x))^2)^(((~m) + 1)⨸2)⨸((~d)*(~f)* sin((~e) + (~f)*(~x))^((~m) + 1))* int_and_subst((free_factors(sin((~e) + (~f)*(~x)), (~x))*(~x))^(~m)*((~a) + (~b)*free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(~p)⨸(1 - free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~m) + 1)⨸2), (~x), (~x), sin((~e) + (~f)*(~x))⨸free_factors(sin((~e) + (~f)*(~x)), (~x)), "4_1_7_29") : nothing) + +("4_1_7_30", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~!m)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~p), (~x)) && + ext_isinteger(((~m) - 1)/2) ? +free_factors(sin((~e) + (~f)*(~x)), (~x))⨸(~f)* int_and_subst(((~d)*free_factors(sin((~e) + (~f)*(~x)), (~x))*(~x))^(~n)*(1 - free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~m) - 1)⨸2)*((~a) + (~b)*free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^ (~p), (~x), (~x), sin((~e) + (~f)*(~x))⨸free_factors(sin((~e) + (~f)*(~x)), (~x)), "4_1_7_30") : nothing) + +("4_1_7_31", +@rule ∫(((~!c)*sin((~!e) + (~!f)*(~x)))^(~m)* sin((~!e) + (~!f)*(~x))^(~!n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~e), (~f), (~m), (~p), (~x)) && + ext_isinteger(((~n) - 1)/2) ? +-free_factors(cos((~e) + (~f)*(~x)), (~x))⨸(~f)* int_and_subst(((~c)*free_factors(cos((~e) + (~f)*(~x)), (~x))*(~x))^ (~m)*(1 - free_factors(cos((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~n) - 1)⨸2)*((~a) + (~b) - (~b)*free_factors(cos((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(~p), (~x), (~x), cos((~e) + (~f)*(~x))⨸free_factors(cos((~e) + (~f)*(~x)), (~x)), "4_1_7_31") : nothing) + +("4_1_7_32", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~m)* sin((~!e) + (~!f)*(~x))^(~n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + ext_isinteger((~m)/2) && + ext_isinteger((~n)/2) && + ext_isinteger((~p)) ? +free_factors(tan((~e) + (~f)*(~x)), (~x))^((~n) + 1)⨸(~f)* int_and_subst( (~x)^(~n)*((~a) + ((~a) + (~b))*free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(~p)⨸(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~m) + (~n))⨸2 + (~p) + 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_7_32") : nothing) + +("4_1_7_33", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~m)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~p), (~x)) && + ext_isinteger((~m)/2) ? +free_factors(sin((~e) + (~f)*(~x)), (~x))*sqrt(cos((~e) + (~f)*(~x))^2)⨸((~f)*cos((~e) + (~f)*(~x)))* int_and_subst(((~d)*free_factors(sin((~e) + (~f)*(~x)), (~x))*(~x))^(~n)*(1 - free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~m) - 1)⨸2)*((~a) + (~b)*free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^ (~p), (~x), (~x), sin((~e) + (~f)*(~x))⨸free_factors(sin((~e) + (~f)*(~x)), (~x)), "4_1_7_33") : nothing) + +("4_1_7_34", +@rule ∫(((~!c)*cos((~!e) + (~!f)*(~x)))^(~m)*((~!d)*sin((~!e) + (~!f)*(~x)))^ (~!n)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) ? +free_factors(sin((~e) + (~f)*(~x)), (~x))*(~c)^(2*intpart(((~m) - 1)⨸2) + 1)*((~c)*cos((~e) + (~f)*(~x)))^(2* fracpart(((~m) - 1)⨸2))⨸((~f)*(cos((~e) + (~f)*(~x))^2)^ fracpart(((~m) - 1)⨸2))* int_and_subst(((~d)*free_factors(sin((~e) + (~f)*(~x)), (~x))*(~x))^(~n)*(1 - free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~m) - 1)⨸2)*((~a) + (~b)*free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(~p), (~x), (~x), sin((~e) + (~f)*(~x))⨸free_factors(sin((~e) + (~f)*(~x)), (~x)), "4_1_7_34") : nothing) + +("4_1_7_35", +@rule ∫(((~!b)*sin((~!e) + (~!f)*(~x))^2)^(~p),(~x)) => + !contains_var((~b), (~e), (~f), (~x)) && + !(ext_isinteger((~p))) && + gt((~p), 1) ? +-cot((~e) + (~f)*(~x))*((~b)*sin((~e) + (~f)*(~x))^2)^(~p)⨸(2*(~f)*(~p)) + (~b)*(2*(~p) - 1)⨸(2*(~p))*∫(((~b)*sin((~e) + (~f)*(~x))^2)^((~p) - 1), (~x)) : nothing) + +("4_1_7_36", +@rule ∫(((~!b)*sin((~!e) + (~!f)*(~x))^2)^(~p),(~x)) => + !contains_var((~b), (~e), (~f), (~x)) && + !(ext_isinteger((~p))) && + lt((~p), -1) ? +cot((~e) + (~f)*(~x))*((~b)*sin((~e) + (~f)*(~x))^2)^((~p) + 1)⨸((~b)*(~f)*(2*(~p) + 1)) + 2*((~p) + 1)⨸((~b)*(2*(~p) + 1))*∫(((~b)*sin((~e) + (~f)*(~x))^2)^((~p) + 1), (~x)) : nothing) + +("4_1_7_37", +@rule ∫(tan((~!e) + (~!f)*(~x))^(~!m)*((~!b)*sin((~!e) + (~!f)*(~x))^(~n))^(~!p),(~x)) => + !contains_var((~b), (~e), (~f), (~p), (~x)) && + ext_isinteger(((~m) - 1)/2) && + ext_isinteger((~n)/2) ? +free_factors(sin((~e) + (~f)*(~x))^2, (~x))^(((~m) + 1)⨸2)⨸(2*(~f))* int_and_subst( (~x)^(((~m) - 1)⨸2)*((~b)*free_factors(sin((~e) + (~f)*(~x))^2, (~x))^((~n)⨸2)*(~x)^((~n)⨸2))^(~p)⨸(1 - free_factors(sin((~e) + (~f)*(~x))^2, (~x))*(~x))^(((~m) + 1)⨸2), (~x), (~x), sin((~e) + (~f)*(~x))^2⨸free_factors(sin((~e) + (~f)*(~x))^2, (~x)), "4_1_7_37") : nothing) + +("4_1_7_38", +@rule ∫(tan((~!e) + (~!f)*(~x))^(~!m)*((~!b)*((~!c)*sin((~!e) + (~!f)*(~x)))^(~n))^(~!p),(~x)) => + !contains_var((~b), (~c), (~e), (~f), (~n), (~p), (~x)) && + ilt(((~m) - 1)/2, 0) ? +free_factors(sin((~e) + (~f)*(~x)), (~x))^((~m) + 1)⨸(~f)* int_and_subst((~x)^(~m)*((~b)*((~c)*free_factors(sin((~e) + (~f)*(~x)), (~x))*(~x))^(~n))^(~p)⨸(1 - free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~m) + 1)⨸2), (~x), (~x), sin((~e) + (~f)*(~x))⨸free_factors(sin((~e) + (~f)*(~x)), (~x)), "4_1_7_38") : nothing) + +# ("4_1_7_39", +# @rule ∫((~!u)*((~!b)*sin((~!e) + (~!f)*(~x))^(~n))^(~p),(~x)) => +# ((~b)*free_factors(sin((~e) + (~f)*(~x)), (~x))^(~n))^ intpart((~p))*((~b)*sin((~e) + (~f)*(~x))^(~n))^ fracpart((~p))⨸(sin((~e) + (~f)*(~x))⨸free_factors(sin((~e) + (~f)*(~x)), (~x)))^((~n)*fracpart((~p)))* ∫(ActivateTrig[(~u)]*(sin((~e) + (~f)*(~x))⨸free_factors(sin((~e) + (~f)*(~x)), (~x)))^((~n)*(~p)), (~x))⨸; FreeQ[{(~b), (~e), (~f), (~n), (~p)}, (~x)] && Not[IntegerQ[(~p)]] && IntegerQ[(~n)] && (EqQ[(~u), 1] || MatchQ[(~u), (d_.*trig_[(~e) + (~f)*(~x)])^m_. ⨸; FreeQ[{(~d), (~m)}, (~x)] && MemberQ[{sin, cos, tan, cot, sec, csc}, trig]])) +# +# ("4_1_7_40", +# @rule ∫((~!u)*((~!b)*((~!c)*sin((~!e) + (~!f)*(~x)))^(~n))^(~p),(~x)) => +# (~b)^intpart((~p))*((~b)*((~c)*sin((~e) + (~f)*(~x)))^(~n))^ fracpart((~p))⨸((~c)*sin((~e) + (~f)*(~x)))^((~n)*fracpart((~p)))* ∫(ActivateTrig[(~u)]*((~c)*sin((~e) + (~f)*(~x)))^((~n)*(~p)), (~x)) ⨸; FreeQ[{(~b), (~c), (~e), (~f), (~n), (~p)}, (~x)] && Not[IntegerQ[(~p)]] && Not[IntegerQ[(~n)]] && (EqQ[(~u), 1] || MatchQ[(~u), (d_.*trig_[(~e) + (~f)*(~x)])^m_. ⨸; FreeQ[{(~d), (~m)}, (~x)] && MemberQ[{sin, cos, tan, cot, sec, csc}, trig]])) + +#(* Int[(a_+b_.*sin[e_.+f_.*x_]^4)^p_.,x_Symbol] := With[{ff=FreeFactors[Tan[e+f*x],x]}, -ff/f*Subst[Int[(a+b+2*a*ff^2*x^2+a*ff^4*x^4)^p/(1+ff^2*x^2)^(2*p+1) ,x],x,Cot[e+f*x]/ff]] /; FreeQ[{a,b,e,f},x] && IntegerQ[p] *) +("4_1_7_41", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + ext_isinteger((~p)) ? +free_factors(tan((~e) + (~f)*(~x)), (~x))⨸(~f)* int_and_subst(((~a) + 2*(~a)*free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2 + ((~a) + (~b))*free_factors(tan((~e) + (~f)*(~x)), (~x))^4*(~x)^4)^ (~p)⨸(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(2*(~p) + 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_7_41") : nothing) + +("4_1_7_42", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + ext_isinteger((~p) - 1/2) ? +free_factors(tan((~e) + (~f)*(~x)), (~x))*((~a) + (~b)*sin((~e) + (~f)*(~x))^4)^ (~p)*(sec((~e) + (~f)*(~x))^2)^(2* (~p))⨸((~f)*((~a) + 2*(~a)*tan((~e) + (~f)*(~x))^2 + ((~a) + (~b))*tan((~e) + (~f)*(~x))^4)^(~p))* int_and_subst(((~a) + 2*(~a)*free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2 + ((~a) + (~b))*free_factors(tan((~e) + (~f)*(~x)), (~x))^4*(~x)^4)^ (~p)⨸(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(2*(~p) + 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_7_42") : nothing) + +("4_1_7_43", +@rule ∫(1/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^(~n)),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + ext_isinteger((~n)/2) ? +dist(2⨸((~a)*(~n)), sum([∫(1⨸(1 - sin((~e) + (~f)*(~x))^2⨸((-1)^(4*iii⨸(~n))*rt(-(~a)⨸(~b), (~n)⨸2))), (~x)) for iii in 1:( (~n)⨸2)]), (~x)) : nothing) + +#(* Int[(a_+b_.*sin[e_.+f_.*x_]^n_)^p_,x_Symbol] := With[{ff=FreeFactors[Tan[e+f*x],x]}, -ff/f*Subst[Int[(b+a*(1+ff^2*x^2)^(n/2))^p/(1+ff^2*x^2)^(n*p/2+1),x] ,x,Cot[e+f*x]/ff]] /; FreeQ[{a,b,e,f},x] && IntegerQ[n/2] && IGtQ[p,0] *) +("4_1_7_44", +@rule ∫(((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + ext_isinteger((~n)/2) && + igt((~p), 0) ? +free_factors(tan((~e) + (~f)*(~x)), (~x))⨸(~f)* int_and_subst(((~b)*free_factors(tan((~e) + (~f)*(~x)), (~x))^(~n)*(~x)^(~n) + (~a)*(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^((~n)⨸2))^ (~p)⨸(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^((~n)*(~p)⨸2 + 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_7_44") : nothing) + +("4_1_7_45", +@rule ∫(((~a) + (~!b)*((~!c)*sin((~!e) + (~!f)*(~x)))^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~e), (~f), (~n), (~x)) && + ( + igt((~p), 0) || + eq((~p), -1) && + ext_isinteger((~n)) + ) ? +∫(ext_expand(((~a) + (~b)*((~c)*sin((~e) + (~f)*(~x)))^(~n))^(~p), (~x)), (~x)) : nothing) + +# ("4_1_7_46", +# @rule ∫(((~a) + (~!b)*((~!c)*sin((~!e) + (~!f)*(~x)))^(~n))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~e), (~f), (~n), (~p), (~x)) ? +# Unintegrable[((~a) + (~b)*((~c)*sin((~e) + (~f)*(~x)))^(~n))^(~p), (~x)] : nothing) + +("4_1_7_47", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~!m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + ext_isinteger(((~m) - 1)/2) ? +-free_factors(cos((~e) + (~f)*(~x)), (~x))⨸(~f)* int_and_subst((1 - free_factors(cos((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~m) - 1)⨸2)*((~a) + (~b) - 2*(~b)*free_factors(cos((~e) + (~f)*(~x)), (~x))^2*(~x)^2 + (~b)*free_factors(cos((~e) + (~f)*(~x)), (~x))^4*(~x)^4)^(~p), (~x), (~x), cos((~e) + (~f)*(~x))⨸free_factors(cos((~e) + (~f)*(~x)), (~x)), "4_1_7_47") : nothing) + +("4_1_7_48", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~!m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^(~n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + ext_isinteger(((~m) - 1)/2) && + ext_isinteger((~n)/2) ? +-free_factors(cos((~e) + (~f)*(~x)), (~x))⨸(~f)* int_and_subst((1 - free_factors(cos((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~m) - 1)⨸2)*((~a) + (~b)*(1 - free_factors(cos((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^((~n)⨸2))^ (~p), (~x), (~x), cos((~e) + (~f)*(~x))⨸free_factors(cos((~e) + (~f)*(~x)), (~x)), "4_1_7_48") : nothing) + +("4_1_7_49", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + ext_isinteger((~m)/2) && + ext_isinteger((~p)) ? +free_factors(tan((~e) + (~f)*(~x)), (~x))^((~m) + 1)⨸(~f)* int_and_subst( (~x)^(~m)*((~a) + 2*(~a)*free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2 + ((~a) + (~b))*free_factors(tan((~e) + (~f)*(~x)), (~x))^4*(~x)^4)^ (~p)⨸(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^((~m)⨸2 + 2*(~p) + 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_7_49") : nothing) + +("4_1_7_50", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^(~n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + ext_isinteger((~m)/2) && + ext_isinteger((~n)/2) && + ext_isinteger((~p)) ? +free_factors(tan((~e) + (~f)*(~x)), (~x))^((~m) + 1)⨸(~f)* int_and_subst( (~x)^(~m)*((~a)*(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^((~n)⨸2) + (~b)*free_factors(tan((~e) + (~f)*(~x)), (~x))^(~n)*(~x)^(~n))^ (~p)⨸(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^((~m)⨸2 + (~n)*(~p)⨸2 + 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_7_50") : nothing) + +("4_1_7_51", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + ext_isinteger((~m)/2) && + ext_isinteger((~p) - 1/2) ? +free_factors(tan((~e) + (~f)*(~x)), (~x))^((~m) + 1)*((~a) + (~b)*sin((~e) + (~f)*(~x))^4)^ (~p)*(sec((~e) + (~f)*(~x))^2)^(2*(~p))⨸((~f)* Apart[(~a)*(1 + tan((~e) + (~f)*(~x))^2)^2 + (~b)*tan((~e) + (~f)*(~x))^4]^(~p))* int_and_subst((~x)^(~m)*expand_to_sum((~a)*(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^2 + (~b)*free_factors(tan((~e) + (~f)*(~x)), (~x))^4*(~x)^4, (~x))^ (~p)⨸(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^((~m)⨸2 + 2*(~p) + 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_7_51") : nothing) + +("4_1_7_52", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~!m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^(~n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + ext_isinteger((~m), (~p)) && + ( + eq((~n), 4) || + gt((~p), 0) || + eq((~p), -1) && + ext_isinteger((~n)) + ) ? +∫(ext_expand(sin((~e) + (~f)*(~x))^(~m)*((~a) + (~b)*sin((~e) + (~f)*(~x))^(~n))^(~p), (~x)), (~x)) : nothing) + +("4_1_7_53", +@rule ∫(((~!d)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*((~!c)*sin((~!e) + (~!f)*(~x)))^(~n))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + igt((~p), 0) ? +∫(ext_expand(((~d)*sin((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*((~c)*sin((~e) + (~f)*(~x)))^(~n))^(~p), (~x)), (~x)) : nothing) + +# ("4_1_7_54", +# @rule ∫(((~!d)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*((~!c)*sin((~!e) + (~!f)*(~x)))^(~n))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~d)*sin((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*((~c)*sin((~e) + (~f)*(~x)))^(~n))^(~p), (~x)] : nothing) + +("4_1_7_55", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~!m)*((~a) + (~!b)*((~!c)*sin((~!e) + (~!f)*(~x)))^(~n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~e), (~f), (~n), (~p), (~x)) && + ext_isinteger(((~m) - 1)/2) && + ( + eq((~n), 4) || + gt((~m), 0) || + igt((~p), 0) || + ext_isinteger((~m), (~p)) + ) ? +free_factors(sin((~e) + (~f)*(~x)), (~x))⨸(~f)* int_and_subst((1 - free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~m) - 1)⨸2)*((~a) + (~b)*((~c)*free_factors(sin((~e) + (~f)*(~x)), (~x))*(~x))^(~n))^(~p), (~x), (~x), sin((~e) + (~f)*(~x))⨸free_factors(sin((~e) + (~f)*(~x)), (~x)), "4_1_7_55") : nothing) + +("4_1_7_56", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + ext_isinteger((~m)/2) && + ext_isinteger((~p)) ? +free_factors(tan((~e) + (~f)*(~x)), (~x))⨸(~f)* int_and_subst(((~a) + 2*(~a)*free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2 + ((~a) + (~b))*free_factors(tan((~e) + (~f)*(~x)), (~x))^4*(~x)^4)^ (~p)⨸(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^((~m)⨸2 + 2*(~p) + 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_7_56") : nothing) + +("4_1_7_57", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^(~n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + ext_isinteger((~m)/2) && + ext_isinteger((~n)/2) && + ext_isinteger((~p)) ? +free_factors(tan((~e) + (~f)*(~x)), (~x))⨸(~f)* int_and_subst(((~b)*free_factors(tan((~e) + (~f)*(~x)), (~x))^(~n)*(~x)^(~n) + (~a)*(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^((~n)⨸2))^ (~p)⨸(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^((~m)⨸2 + (~n)*(~p)⨸2 + 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_7_57") : nothing) + +("4_1_7_58", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~m)/((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^(~n)),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + igt((~m)/2, 0) && + ext_isinteger(((~n) - 1)/2) ? +∫(ext_expand((1 - sin((~e) + (~f)*(~x))^2)^((~m)⨸2)⨸((~a) + (~b)*sin((~e) + (~f)*(~x))^(~n)), (~x)), (~x)) : nothing) + +#(* Int[cos[e_.+f_.*x_]^m_*(a_+b_.*sin[e_.+f_.*x_]^n_)^p_,x_Symbol] := Int[ExpandTrig[(1-sin[e+f*x]^2)^(m/2)*(a+b*sin[e+f*x]^n)^p,x],x] /; FreeQ[{a,b,e,f},x] && IntegerQ[m/2] && IntegerQ[(n-1)/2] && ILtQ[p,-1] && LtQ[m,0] *) +("4_1_7_59", +@rule ∫(((~!d)*cos((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*((~!c)*sin((~!e) + (~!f)*(~x)))^(~n))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + igt((~p), 0) ? +∫(ext_expand(((~d)*cos((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*((~c)*sin((~e) + (~f)*(~x)))^(~n))^(~p), (~x)), (~x)) : nothing) + +# ("4_1_7_60", +# @rule ∫(((~!d)*cos((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*((~!c)*sin((~!e) + (~!f)*(~x)))^(~n))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~d)*cos((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*((~c)*sin((~e) + (~f)*(~x)))^(~n))^(~p), (~x)] : nothing) + +("4_1_7_61", +@rule ∫(tan((~!e) + (~!f)*(~x))^(~!m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^(~n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + ext_isinteger(((~m) - 1)/2) && + ext_isinteger((~n)/2) ? +free_factors(sin((~e) + (~f)*(~x))^2, (~x))^(((~m) + 1)⨸2)⨸(2*(~f))* int_and_subst( (~x)^(((~m) - 1)⨸2)*((~a) + (~b)*free_factors(sin((~e) + (~f)*(~x))^2, (~x))^((~n)⨸2)*(~x)^((~n)⨸2))^(~p)⨸(1 - free_factors(sin((~e) + (~f)*(~x))^2, (~x))*(~x))^(((~m) + 1)⨸2), (~x), (~x), sin((~e) + (~f)*(~x))^2⨸free_factors(sin((~e) + (~f)*(~x))^2, (~x)), "4_1_7_61") : nothing) + +("4_1_7_62", +@rule ∫(tan((~!e) + (~!f)*(~x))^(~!m)*((~a) + (~!b)*((~!c)*sin((~!e) + (~!f)*(~x)))^(~n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~e), (~f), (~n), (~p), (~x)) && + ilt(((~m) - 1)/2, 0) ? +free_factors(sin((~e) + (~f)*(~x)), (~x))^((~m) + 1)⨸(~f)* int_and_subst((~x)^(~m)*((~a) + (~b)*((~c)*free_factors(sin((~e) + (~f)*(~x)), (~x))*(~x))^(~n))^(~p)⨸(1 - free_factors(sin((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(((~m) + 1)⨸2), (~x), (~x), sin((~e) + (~f)*(~x))⨸free_factors(sin((~e) + (~f)*(~x)), (~x)), "4_1_7_62") : nothing) + +("4_1_7_63", +@rule ∫(((~!d)*tan((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^4)^(~!p),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~x)) && + ext_isinteger((~p)) ? +free_factors(tan((~e) + (~f)*(~x)), (~x))⨸(~f)* int_and_subst(((~d)*free_factors(tan((~e) + (~f)*(~x)), (~x))*(~x))^(~m)* expand_to_sum((~a)*(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^2 + (~b)*free_factors(tan((~e) + (~f)*(~x)), (~x))^4*(~x)^4, (~x))^ (~p)⨸(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(2*(~p) + 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_7_63") : nothing) + +("4_1_7_64", +@rule ∫(((~!d)*tan((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~x)) && + ext_isinteger((~p) - 1/2) ? +free_factors(tan((~e) + (~f)*(~x)), (~x))*((~a) + (~b)*sin((~e) + (~f)*(~x))^4)^ (~p)*(sec((~e) + (~f)*(~x))^2)^(2*(~p))⨸((~f)* Apart[(~a)*(1 + tan((~e) + (~f)*(~x))^2)^2 + (~b)*tan((~e) + (~f)*(~x))^4]^(~p))* int_and_subst(((~d)*free_factors(tan((~e) + (~f)*(~x)), (~x))*(~x))^(~m)* expand_to_sum((~a)*(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^2 + (~b)*free_factors(tan((~e) + (~f)*(~x)), (~x))^4*(~x)^4, (~x))^ (~p)⨸(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^(2*(~p) + 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_7_64") : nothing) + +("4_1_7_65", +@rule ∫(((~!d)*tan((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^(~n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~x)) && + ext_isinteger((~n)/2) && + igt((~p), 0) ? +free_factors(tan((~e) + (~f)*(~x)), (~x))^((~m) + 1)⨸(~f)* int_and_subst(((~d)*(~x))^ (~m)*((~b)*free_factors(tan((~e) + (~f)*(~x)), (~x))^(~n)*(~x)^(~n) + (~a)*(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^((~n)⨸2))^ (~p)⨸(1 + free_factors(tan((~e) + (~f)*(~x)), (~x))^2*(~x)^2)^((~n)*(~p)⨸2 + 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸free_factors(tan((~e) + (~f)*(~x)), (~x)), "4_1_7_65") : nothing) + +("4_1_7_66", +@rule ∫(((~!d)*tan((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*((~!c)*sin((~!e) + (~!f)*(~x)))^(~n))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + igt((~p), 0) ? +∫(ext_expand(((~d)*tan((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*((~c)*sin((~e) + (~f)*(~x)))^(~n))^(~p), (~x)), (~x)) : nothing) + +# ("4_1_7_67", +# @rule ∫(((~!d)*tan((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*((~!c)*sin((~!e) + (~!f)*(~x)))^(~n))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~d)*tan((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*((~c)*sin((~e) + (~f)*(~x)))^(~n))^(~p), (~x)] : nothing) + +("4_1_7_68", +@rule ∫(((~!d)*cot((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*((~!c)*sin((~!e) + (~!f)*(~x)))^(~n))^ (~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) ? +((~d)*cot((~e) + (~f)*(~x)))^fracpart((~m))*(tan((~e) + (~f)*(~x))⨸(~d))^fracpart((~m))* ∫((tan((~e) + (~f)*(~x))⨸(~d))^(-(~m))*((~a) + (~b)*((~c)*sin((~e) + (~f)*(~x)))^(~n))^(~p), (~x)) : nothing) + +("4_1_7_69", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*((~!c)*sin((~!e) + (~!f)*(~x)))^(~n))^ (~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) ? +((~d)*sec((~e) + (~f)*(~x)))^fracpart((~m))*(cos((~e) + (~f)*(~x))⨸(~d))^fracpart((~m))* ∫((cos((~e) + (~f)*(~x))⨸(~d))^(-(~m))*((~a) + (~b)*((~c)*sin((~e) + (~f)*(~x)))^(~n))^(~p), (~x)) : nothing) + +("4_1_7_70", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*sin((~!e) + (~!f)*(~x))^(~!n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) && + ext_isinteger((~n), (~p)) ? +(~d)^((~n)*(~p))* ∫(((~d)*csc((~e) + (~f)*(~x)))^((~m) - (~n)*(~p))*((~b) + (~a)*csc((~e) + (~f)*(~x))^(~n))^(~p), (~x)) : nothing) + +("4_1_7_71", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*((~!c)*sin((~!e) + (~!f)*(~x)))^(~n))^ (~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) ? +((~d)*csc((~e) + (~f)*(~x)))^fracpart((~m))*(sin((~e) + (~f)*(~x))⨸(~d))^fracpart((~m))* ∫((sin((~e) + (~f)*(~x))⨸(~d))^(-(~m))*((~a) + (~b)*((~c)*sin((~e) + (~f)*(~x)))^(~n))^(~p), (~x)) : nothing) + +("4_1_7_72", +@rule ∫(((~a) + (~!b)*((~!c)*sin((~!e) + (~!f)*(~x)) + (~!d)*cos((~!e) + (~!f)*(~x)))^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~p)^2, 1/4) && + gt((~a), 0) ? +∫(((~a) + (~b)*(sqrt((~c)^2 + (~d)^2)*sin(atan((~c), (~d)) + (~e) + (~f)*(~x)))^2)^(~p), (~x)) : nothing) + +("4_1_7_73", +@rule ∫(((~a) + (~!b)*((~!c)*sin((~!e) + (~!f)*(~x)) + (~!d)*cos((~!e) + (~!f)*(~x)))^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~p)^2, 1/4) && + !(gt((~a), 0)) ? +((~a) + (~b)*((~c)*sin((~e) + (~f)*(~x)) + (~d)*cos((~e) + (~f)*(~x)))^2)^ (~p)⨸(1 + ((~b)*((~c)*sin((~e) + (~f)*(~x)) + (~d)*cos((~e) + (~f)*(~x)))^2)⨸(~a))^(~p)* ∫((1 + ((~b)*((~c)*sin((~e) + (~f)*(~x)) + (~d)*cos((~e) + (~f)*(~x)))^2)⨸(~a))^(~p), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.9 trig^m (a+b sin^n+c sin^(2 n))^p.jl b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.9 trig^m (a+b sin^n+c sin^(2 n))^p.jl new file mode 100644 index 0000000..7b140b2 --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.1 Sine/4.1.9 trig^m (a+b sin^n+c sin^(2 n))^p.jl @@ -0,0 +1,433 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.1.9 trig^m (a+b sin^n+c sin^(2 n))^p *) +("4_1_9_1", +@rule ∫(((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~!n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~!n2))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + eq((~n2), 2*(~n)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~p)) ? +1⨸(4^(~p)*(~c)^(~p))*∫(((~b) + 2*(~c)*sin((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +("4_1_9_2", +@rule ∫(((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~!n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~!n2))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + eq((~n2), 2*(~n)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~p)) ? +1⨸(4^(~p)*(~c)^(~p))*∫(((~b) + 2*(~c)*cos((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +("4_1_9_3", +@rule ∫(((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~!n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) ? +((~a) + (~b)*sin((~d) + (~e)*(~x))^(~n) + (~c)*sin((~d) + (~e)*(~x))^(2*(~n)))^ (~p)⨸((~b) + 2*(~c)*sin((~d) + (~e)*(~x))^(~n))^(2*(~p))* ∫((~u)*((~b) + 2*(~c)*sin((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +("4_1_9_4", +@rule ∫(((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~!n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) ? +((~a) + (~b)*cos((~d) + (~e)*(~x))^(~n) + (~c)*cos((~d) + (~e)*(~x))^(2*(~n)))^ (~p)⨸((~b) + 2*(~c)*cos((~d) + (~e)*(~x))^(~n))^(2*(~p))* ∫((~u)*((~b) + 2*(~c)*cos((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +("4_1_9_5", +@rule ∫(1/((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~!n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~!n2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + eq((~n2), 2*(~n)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +2*(~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(1⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*sin((~d) + (~e)*(~x))^(~n)), (~x)) - 2*(~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(1⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*sin((~d) + (~e)*(~x))^(~n)), (~x)) : nothing) + +("4_1_9_6", +@rule ∫(1/((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~!n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~!n2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + eq((~n2), 2*(~n)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +2*(~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(1⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*cos((~d) + (~e)*(~x))^(~n)), (~x)) - 2*(~c)⨸rt((~b)^2 - 4*(~a)*(~c), 2)*∫(1⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*cos((~d) + (~e)*(~x))^(~n)), (~x)) : nothing) + +("4_1_9_7", +@rule ∫(sin((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~!n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + eq((~n2), 2*(~n)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~p)) ? +1⨸(4^(~p)*(~c)^(~p))*∫(sin((~d) + (~e)*(~x))^(~m)*((~b) + 2*(~c)*sin((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +("4_1_9_8", +@rule ∫(cos((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~!n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + eq((~n2), 2*(~n)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~p)) ? +1⨸(4^(~p)*(~c)^(~p))*∫(cos((~d) + (~e)*(~x))^(~m)*((~b) + 2*(~c)*cos((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +("4_1_9_9", +@rule ∫(sin((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~!n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) ? +((~a) + (~b)*sin((~d) + (~e)*(~x))^(~n) + (~c)*sin((~d) + (~e)*(~x))^(2*(~n)))^ (~p)⨸((~b) + 2*(~c)*sin((~d) + (~e)*(~x))^(~n))^(2*(~p))* ∫(sin((~d) + (~e)*(~x))^(~m)*((~b) + 2*(~c)*sin((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +("4_1_9_10", +@rule ∫(cos((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~!n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) ? +((~a) + (~b)*cos((~d) + (~e)*(~x))^(~n) + (~c)*cos((~d) + (~e)*(~x))^(2*(~n)))^ (~p)⨸((~b) + 2*(~c)*cos((~d) + (~e)*(~x))^(~n))^(2*(~p))* ∫(cos((~d) + (~e)*(~x))^(~m)*((~b) + 2*(~c)*cos((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +# ("4_1_9_11", +# @rule ∫(sin((~!d) + (~!e)*(~x))^ (~m)*((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~n2))^ (~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && +# eq((~n2), 2*(~n)) && +# ext_isinteger((~m)/2) && +# !eq((~b)^2 - 4*(~a)*(~c), 0) && +# ext_isinteger((~n)/2) && +# ext_isinteger((~p)) ? +# Module[{(~f) = free_factors(cot((~d) + (~e)*(~x)), (~x))}, -(~f)⨸(~e)* int_and_subst( expand_to_sum((~c) + (~b)*(1 + (~x)^2)^((~n)⨸2) + (~a)*(1 + (~x)^2)^(~n), (~x))^ (~p)⨸(1 + (~f)^2*(~x)^2)^((~m)⨸2 + (~n)*(~p) + 1), (~x), (~x), cot((~d) + (~e)*(~x))⨸(~f), "4_1_9_11")] : nothing) +# +# ("4_1_9_12", +# @rule ∫(cos((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~n2))^ (~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && +# eq((~n2), 2*(~n)) && +# ext_isinteger((~m)/2) && +# !eq((~b)^2 - 4*(~a)*(~c), 0) && +# ext_isinteger((~n)/2) && +# ext_isinteger((~p)) ? +# Module[{(~f) = free_factors(tan((~d) + (~e)*(~x)), (~x))}, (~f)⨸(~e)* int_and_subst( expand_to_sum((~c) + (~b)*(1 + (~x)^2)^((~n)⨸2) + (~a)*(1 + (~x)^2)^(~n), (~x))^ (~p)⨸(1 + (~f)^2*(~x)^2)^((~m)⨸2 + (~n)*(~p) + 1), (~x), (~x), tan((~d) + (~e)*(~x))⨸(~f), "4_1_9_12")] : nothing) + +("4_1_9_13", +@rule ∫(sin((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~!n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~n2), 2*(~n)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~m), (~n), (~p)) ? +∫(ext_expand( sin((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*sin((~d) + (~e)*(~x))^(~n) + (~c)*sin((~d) + (~e)*(~x))^(2*(~n)))^(~p), (~x)), (~x)) : nothing) + +("4_1_9_14", +@rule ∫(cos((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~!n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~!n2))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~n2), 2*(~n)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~m), (~n), (~p)) ? +∫(ext_expand( cos((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*cos((~d) + (~e)*(~x))^(~n) + (~c)*cos((~d) + (~e)*(~x))^(2*(~n)))^(~p), (~x)), (~x)) : nothing) + +# ("4_1_9_15", +# @rule ∫(cos((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*((~!f)*sin((~!d) + (~!e)*(~x)))^(~!n) + (~!c)*((~!f)*sin((~!d) + (~!e)*(~x)))^(~!n2))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && +# eq((~n2), 2*(~n)) && +# ext_isinteger(((~m) - 1)/2) ? +# Module[{(~g) = free_factors(sin((~d) + (~e)*(~x)), (~x))}, (~g)⨸(~e)* int_and_subst((1 - (~g)^2*(~x)^2)^(((~m) - 1)⨸2)*((~a) + (~b)*((~f)*(~g)*(~x))^(~n) + (~c)*((~f)*(~g)*(~x))^(2*(~n)))^(~p), (~x), (~x), sin((~d) + (~e)*(~x))⨸(~g), "4_1_9_15")] : nothing) +# +# ("4_1_9_16", +# @rule ∫(sin((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*((~!f)*cos((~!d) + (~!e)*(~x)))^(~!n) + (~!c)*((~!f)*cos((~!d) + (~!e)*(~x)))^(~!n2))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~p), (~x)) && +# eq((~n2), 2*(~n)) && +# ext_isinteger(((~m) - 1)/2) ? +# Module[{(~g) = free_factors(cos((~d) + (~e)*(~x)), (~x))}, -(~g)⨸(~e)* int_and_subst((1 - (~g)^2*(~x)^2)^(((~m) - 1)⨸2)*((~a) + (~b)*((~f)*(~g)*(~x))^(~n) + (~c)*((~f)*(~g)*(~x))^(2*(~n)))^(~p), (~x), (~x), cos((~d) + (~e)*(~x))⨸(~g), "4_1_9_16")] : nothing) + +("4_1_9_17", +@rule ∫(cos((~!d) + (~!e)*(~x))^ (~m)*((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~!n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~!n2))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + eq((~n2), 2*(~n)) && + !(ext_isinteger(((~m) - 1)/2)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~p)) ? +1⨸(4^(~p)*(~c)^(~p))*∫(cos((~d) + (~e)*(~x))^(~m)*((~b) + 2*(~c)*sin((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +("4_1_9_18", +@rule ∫(sin((~!d) + (~!e)*(~x))^ (~m)*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~!n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~!n2))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + eq((~n2), 2*(~n)) && + !(ext_isinteger(((~m) - 1)/2)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~p)) ? +1⨸(4^(~p)*(~c)^(~p))*∫(sin((~d) + (~e)*(~x))^(~m)*((~b) + 2*(~c)*cos((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +("4_1_9_19", +@rule ∫(cos((~!d) + (~!e)*(~x))^ (~m)*((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~!n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~!n2))^ (~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + !(ext_isinteger(((~m) - 1)/2)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) ? +((~a) + (~b)*sin((~d) + (~e)*(~x))^(~n) + (~c)*sin((~d) + (~e)*(~x))^(2*(~n)))^ (~p)⨸((~b) + 2*(~c)*sin((~d) + (~e)*(~x))^(~n))^(2*(~p))* ∫(cos((~d) + (~e)*(~x))^(~m)*((~b) + 2*(~c)*sin((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +("4_1_9_20", +@rule ∫(sin((~!d) + (~!e)*(~x))^ (~m)*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~!n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~!n2))^ (~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + !(ext_isinteger(((~m) - 1)/2)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) ? +((~a) + (~b)*cos((~d) + (~e)*(~x))^(~n) + (~c)*cos((~d) + (~e)*(~x))^(2*(~n)))^ (~p)⨸((~b) + 2*(~c)*cos((~d) + (~e)*(~x))^(~n))^(2*(~p))* ∫(sin((~d) + (~e)*(~x))^(~m)*((~b) + 2*(~c)*cos((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +# ("4_1_9_21", +# @rule ∫(cos((~!d) + (~!e)*(~x))^ (~m)*((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~n2))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && +# eq((~n2), 2*(~n)) && +# ext_isinteger((~m)/2) && +# !eq((~b)^2 - 4*(~a)*(~c), 0) && +# ext_isinteger((~n)/2) && +# ext_isinteger((~p)) ? +# Module[{(~f) = free_factors(cot((~d) + (~e)*(~x)), (~x))}, -(~f)^((~m) + 1)⨸(~e)* int_and_subst( (~x)^(~m)*expand_to_sum((~c) + (~b)*(1 + (~x)^2)^((~n)⨸2) + (~a)*(1 + (~x)^2)^(~n), (~x))^ (~p)⨸(1 + (~f)^2*(~x)^2)^((~m)⨸2 + (~n)*(~p) + 1), (~x), (~x), cot((~d) + (~e)*(~x))⨸(~f), "4_1_9_21")] : nothing) +# +# ("4_1_9_22", +# @rule ∫(sin((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~n2))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && +# eq((~n2), 2*(~n)) && +# ext_isinteger((~m)/2) && +# !eq((~b)^2 - 4*(~a)*(~c), 0) && +# ext_isinteger((~n)/2) && +# ext_isinteger((~p)) ? +# Module[{(~f) = free_factors(tan((~d) + (~e)*(~x)), (~x))}, (~f)^((~m) + 1)⨸(~e)* int_and_subst( (~x)^(~m)*expand_to_sum((~c) + (~b)*(1 + (~x)^2)^((~n)⨸2) + (~a)*(1 + (~x)^2)^(~n), (~x))^ (~p)⨸(1 + (~f)^2*(~x)^2)^((~m)⨸2 + (~n)*(~p) + 1), (~x), (~x), tan((~d) + (~e)*(~x))⨸(~f), "4_1_9_22")] : nothing) + +("4_1_9_23", +@rule ∫(cos((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~!n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~!n2))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~n2), 2*(~n)) && + ext_isinteger((~m)/2) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~n), (~p)) ? +∫(ext_expand((1 - sin((~d) + (~e)*(~x))^2)^((~m)⨸2)*((~a) + (~b)*sin((~d) + (~e)*(~x))^(~n) + (~c)*sin((~d) + (~e)*(~x))^(2*(~n)))^(~p), (~x)), (~x)) : nothing) + +("4_1_9_24", +@rule ∫(sin((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~!n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~!n2))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~n2), 2*(~n)) && + ext_isinteger((~m)/2) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~n), (~p)) ? +∫(ext_expand((1 - cos((~d) + (~e)*(~x))^2)^((~m)⨸2)*((~a) + (~b)*cos((~d) + (~e)*(~x))^(~n) + (~c)*cos((~d) + (~e)*(~x))^(2*(~n)))^(~p), (~x)), (~x)) : nothing) + +# ("4_1_9_25", +# @rule ∫(tan((~!d) + (~!e)*(~x))^ (~!m)*((~a) + (~!b)*((~!f)*sin((~!d) + (~!e)*(~x)))^(~n) + (~!c)*((~!f)*sin((~!d) + (~!e)*(~x)))^(~!n2))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && +# ext_isinteger(((~m) - 1)/2) && +# ext_isinteger(2*(~p)) ? +# Module[{(~g) = free_factors(sin((~d) + (~e)*(~x)), (~x))}, (~g)^((~m) + 1)⨸(~e)* int_and_subst( (~x)^(~m)*((~a) + (~b)*((~f)*(~g)*(~x))^(~n) + (~c)*((~f)*(~g)*(~x))^(2*(~n)))^ (~p)⨸(1 - (~g)^2*(~x)^2)^(((~m) + 1)⨸2), (~x), (~x), sin((~d) + (~e)*(~x))⨸(~g), "4_1_9_25")] : nothing) +# +# ("4_1_9_26", +# @rule ∫(cot((~!d) + (~!e)*(~x))^ (~!m)*((~a) + (~!b)*((~!f)*cos((~!d) + (~!e)*(~x)))^(~n) + (~!c)*((~!f)*cos((~!d) + (~!e)*(~x)))^(~!n2))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && +# ext_isinteger(((~m) - 1)/2) && +# ext_isinteger(2*(~p)) ? +# Module[{(~g) = free_factors(cos((~d) + (~e)*(~x)), (~x))}, -(~g)^((~m) + 1)⨸(~e)* int_and_subst( (~x)^(~m)*((~a) + (~b)*((~f)*(~g)*(~x))^(~n) + (~c)*((~f)*(~g)*(~x))^(2*(~n)))^ (~p)⨸(1 - (~g)^2*(~x)^2)^(((~m) + 1)⨸2), (~x), (~x), cos((~d) + (~e)*(~x))⨸(~g), "4_1_9_26")] : nothing) + +("4_1_9_27", +@rule ∫(tan((~!d) + (~!e)*(~x))^ (~m)*((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~!n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~!n2))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + eq((~n2), 2*(~n)) && + !(ext_isinteger(((~m) - 1)/2)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~p)) ? +1⨸(4^(~p)*(~c)^(~p))*∫(tan((~d) + (~e)*(~x))^(~m)*((~b) + 2*(~c)*sin((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +("4_1_9_28", +@rule ∫(cot((~!d) + (~!e)*(~x))^ (~m)*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~!n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~!n2))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + eq((~n2), 2*(~n)) && + !(ext_isinteger(((~m) - 1)/2)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~p)) ? +1⨸(4^(~p)*(~c)^(~p))*∫(cot((~d) + (~e)*(~x))^(~m)*((~b) + 2*(~c)*cos((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +("4_1_9_29", +@rule ∫(tan((~!d) + (~!e)*(~x))^ (~m)*((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~!n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~!n2))^ (~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + !(ext_isinteger(((~m) - 1)/2)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) ? +((~a) + (~b)*sin((~d) + (~e)*(~x))^(~n) + (~c)*sin((~d) + (~e)*(~x))^(2*(~n)))^ (~p)⨸((~b) + 2*(~c)*sin((~d) + (~e)*(~x))^(~n))^(2*(~p))* ∫(tan((~d) + (~e)*(~x))^(~m)*((~b) + 2*(~c)*sin((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +("4_1_9_30", +@rule ∫(cot((~!d) + (~!e)*(~x))^ (~m)*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~!n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~!n2))^ (~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + !(ext_isinteger(((~m) - 1)/2)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) ? +((~a) + (~b)*cos((~d) + (~e)*(~x))^(~n) + (~c)*cos((~d) + (~e)*(~x))^(2*(~n)))^ (~p)⨸((~b) + 2*(~c)*cos((~d) + (~e)*(~x))^(~n))^(2*(~p))* ∫(cot((~d) + (~e)*(~x))^(~m)*((~b) + 2*(~c)*cos((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +# ("4_1_9_31", +# @rule ∫(tan((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~n2))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && +# eq((~n2), 2*(~n)) && +# !(ext_isinteger(((~m) - 1)/2)) && +# !eq((~b)^2 - 4*(~a)*(~c), 0) && +# ext_isinteger((~n)/2) && +# ext_isinteger((~p)) ? +# Module[{(~f) = free_factors(tan((~d) + (~e)*(~x)), (~x))}, (~f)^((~m) + 1)⨸(~e)* int_and_subst( (~x)^(~m)*expand_to_sum( (~c)*(~x)^(2*(~n)) + (~b)*(~x)^(~n)*(1 + (~x)^2)^((~n)⨸2) + (~a)*(1 + (~x)^2)^(~n), (~x))^ (~p)⨸(1 + (~f)^2*(~x)^2)^((~n)*(~p) + 1), (~x), (~x), tan((~d) + (~e)*(~x))⨸(~f), "4_1_9_31")] : nothing) +# +# ("4_1_9_32", +# @rule ∫(cot((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~n2))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && +# eq((~n2), 2*(~n)) && +# !(ext_isinteger(((~m) - 1)/2)) && +# !eq((~b)^2 - 4*(~a)*(~c), 0) && +# ext_isinteger((~n)/2) && +# ext_isinteger((~p)) ? +# Module[{(~f) = free_factors(cot((~d) + (~e)*(~x)), (~x))}, -(~f)^((~m) + 1)⨸(~e)* int_and_subst( (~x)^(~m)*expand_to_sum( (~c)*(~x)^(2*(~n)) + (~b)*(~x)^(~n)*(1 + (~x)^2)^((~n)⨸2) + (~a)*(1 + (~x)^2)^(~n), (~x))^ (~p)⨸(1 + (~f)^2*(~x)^2)^((~n)*(~p) + 1), (~x), (~x), cot((~d) + (~e)*(~x))⨸(~f), "4_1_9_32")] : nothing) + +("4_1_9_33", +@rule ∫(tan((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~!n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~!n2))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~n2), 2*(~n)) && + ext_isinteger((~m)/2) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~n), (~p)) ? +∫(ext_expand( sin((~d) + (~e)*(~x))^ (~m)*((~a) + (~b)*sin((~d) + (~e)*(~x))^(~n) + (~c)*sin((~d) + (~e)*(~x))^(2*(~n)))^ (~p)⨸(1 - sin((~d) + (~e)*(~x))^2)^((~m)⨸2), (~x)), (~x)) : nothing) + +("4_1_9_34", +@rule ∫(cot((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~!n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~!n2))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~n2), 2*(~n)) && + ext_isinteger((~m)/2) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~n), (~p)) ? +∫(ext_expand( cos((~d) + (~e)*(~x))^ (~m)*((~a) + (~b)*cos((~d) + (~e)*(~x))^(~n) + (~c)*cos((~d) + (~e)*(~x))^(2*(~n)))^ (~p)⨸(1 - cos((~d) + (~e)*(~x))^2)^((~m)⨸2), (~x)), (~x)) : nothing) + +# ("4_1_9_35", +# @rule ∫(cot((~!d) + (~!e)*(~x))^ (~!m)*((~a) + (~!b)*((~!f)*sin((~!d) + (~!e)*(~x)))^(~n) + (~!c)*((~!f)*sin((~!d) + (~!e)*(~x)))^(~!n2))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && +# ext_isinteger(((~m) - 1)/2) && +# ext_isinteger(2*(~p)) ? +# Module[{(~g) = free_factors(sin((~d) + (~e)*(~x)), (~x))}, (~g)^((~m) + 1)⨸(~e)* int_and_subst((1 - (~g)^2*(~x)^2)^(((~m) - 1)⨸ 2)*((~a) + (~b)*((~f)*(~g)*(~x))^(~n) + (~c)*((~f)*(~g)*(~x))^(2*(~n)))^(~p)⨸(~x)^(~m), (~x), (~x), sin((~d) + (~e)*(~x))⨸(~g), "4_1_9_35")] : nothing) +# +# ("4_1_9_36", +# @rule ∫(tan((~!d) + (~!e)*(~x))^ (~!m)*((~a) + (~!b)*((~!f)*cos((~!d) + (~!e)*(~x)))^(~n) + (~!c)*((~!f)*cos((~!d) + (~!e)*(~x)))^(~!n2))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~n), (~x)) && +# ext_isinteger(((~m) - 1)/2) && +# ext_isinteger(2*(~p)) ? +# Module[{(~g) = free_factors(cos((~d) + (~e)*(~x)), (~x))}, -(~g)^((~m) + 1)⨸(~e)* int_and_subst((1 - (~g)^2*(~x)^2)^(((~m) - 1)⨸ 2)*((~a) + (~b)*((~f)*(~g)*(~x))^(~n) + (~c)*((~f)*(~g)*(~x))^(2*(~n)))^(~p)⨸(~x)^(~m), (~x), (~x), cos((~d) + (~e)*(~x))⨸(~g), "4_1_9_36")] : nothing) + +("4_1_9_37", +@rule ∫(cot((~!d) + (~!e)*(~x))^ (~m)*((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~!n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~!n2))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + eq((~n2), 2*(~n)) && + !(ext_isinteger(((~m) - 1)/2)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~p)) ? +1⨸(4^(~p)*(~c)^(~p))*∫(cot((~d) + (~e)*(~x))^(~m)*((~b) + 2*(~c)*sin((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +("4_1_9_38", +@rule ∫(tan((~!d) + (~!e)*(~x))^ (~m)*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~!n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~!n2))^ (~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + eq((~n2), 2*(~n)) && + !(ext_isinteger(((~m) - 1)/2)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~p)) ? +1⨸(4^(~p)*(~c)^(~p))*∫(tan((~d) + (~e)*(~x))^(~m)*((~b) + 2*(~c)*cos((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +("4_1_9_39", +@rule ∫(cot((~!d) + (~!e)*(~x))^ (~m)*((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~!n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~!n2))^ (~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + !(ext_isinteger(((~m) - 1)/2)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) ? +((~a) + (~b)*sin((~d) + (~e)*(~x))^(~n) + (~c)*sin((~d) + (~e)*(~x))^(2*(~n)))^ (~p)⨸((~b) + 2*(~c)*sin((~d) + (~e)*(~x))^(~n))^(2*(~p))* ∫(cot((~d) + (~e)*(~x))^(~m)*((~b) + 2*(~c)*sin((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +("4_1_9_40", +@rule ∫(tan((~!d) + (~!e)*(~x))^ (~m)*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~!n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~!n2))^ (~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + eq((~n2), 2*(~n)) && + !(ext_isinteger(((~m) - 1)/2)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~p))) ? +((~a) + (~b)*cos((~d) + (~e)*(~x))^(~n) + (~c)*cos((~d) + (~e)*(~x))^(2*(~n)))^ (~p)⨸((~b) + 2*(~c)*cos((~d) + (~e)*(~x))^(~n))^(2*(~p))* ∫(tan((~d) + (~e)*(~x))^(~m)*((~b) + 2*(~c)*cos((~d) + (~e)*(~x))^(~n))^(2*(~p)), (~x)) : nothing) + +# ("4_1_9_41", +# @rule ∫(cot((~!d) + (~!e)*(~x))^ (~!m)*((~a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~n2))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && +# eq((~n2), 2*(~n)) && +# ext_isinteger((~n)/2) && +# ext_isinteger((~p)) ? +# Module[{(~f) = free_factors(cot((~d) + (~e)*(~x)), (~x))}, -(~f)^((~m) + 1)⨸(~e)* int_and_subst( (~x)^(~m)*expand_to_sum((~c) + (~b)*(1 + (~f)^2*(~x)^2)^((~n)⨸2) + (~a)*(1 + (~f)^2*(~x)^2)^(~n), (~x))^(~p)⨸(1 + (~f)^2*(~x)^2)^((~n)*(~p) + 1), (~x), (~x), cot((~d) + (~e)*(~x))⨸(~f), "4_1_9_41")] : nothing) +# +# ("4_1_9_42", +# @rule ∫(tan((~!d) + (~!e)*(~x))^ (~!m)*((~a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~n2))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && +# eq((~n2), 2*(~n)) && +# ext_isinteger((~n)/2) && +# ext_isinteger((~p)) ? +# Module[{(~f) = free_factors(tan((~d) + (~e)*(~x)), (~x))}, (~f)^((~m) + 1)⨸(~e)* int_and_subst( (~x)^(~m)*expand_to_sum((~c) + (~b)*(1 + (~f)^2*(~x)^2)^((~n)⨸2) + (~a)*(1 + (~f)^2*(~x)^2)^(~n), (~x))^(~p)⨸(1 + (~f)^2*(~x)^2)^((~n)*(~p) + 1), (~x), (~x), tan((~d) + (~e)*(~x))⨸(~f), "4_1_9_42")] : nothing) + +("4_1_9_43", +@rule ∫(cot((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*sin((~!d) + (~!e)*(~x))^(~!n) + (~!c)*sin((~!d) + (~!e)*(~x))^(~!n2))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~n2), 2*(~n)) && + ext_isinteger((~m)/2) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~n), (~p)) ? +∫(ext_expand((1 - sin((~d) + (~e)*(~x))^2)^((~m)⨸ 2)*((~a) + (~b)*sin((~d) + (~e)*(~x))^(~n) + (~c)*sin((~d) + (~e)*(~x))^(2*(~n)))^(~p)⨸ sin((~d) + (~e)*(~x))^(~m), (~x)), (~x)) : nothing) + +("4_1_9_44", +@rule ∫(tan((~!d) + (~!e)*(~x))^ (~!m)*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x))^(~!n) + (~!c)*cos((~!d) + (~!e)*(~x))^(~!n2))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~n2), 2*(~n)) && + ext_isinteger((~m)/2) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~n), (~p)) ? +∫(ext_expand((1 - cos((~d) + (~e)*(~x))^2)^((~m)⨸ 2)*((~a) + (~b)*cos((~d) + (~e)*(~x))^(~n) + (~c)*cos((~d) + (~e)*(~x))^(2*(~n)))^(~p)⨸ cos((~d) + (~e)*(~x))^(~m), (~x)), (~x)) : nothing) + +("4_1_9_45", +@rule ∫(((~A) + (~!B)*sin((~!d) + (~!e)*(~x)))*((~a) + (~!b)*sin((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))^2)^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~n)) ? +1⨸(4^(~n)*(~c)^(~n))* ∫(((~A) + (~B)*sin((~d) + (~e)*(~x)))*((~b) + 2*(~c)*sin((~d) + (~e)*(~x)))^(2*(~n)), (~x)) : nothing) + +("4_1_9_46", +@rule ∫(((~A) + (~!B)*cos((~!d) + (~!e)*(~x)))*((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*cos((~!d) + (~!e)*(~x))^2)^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~n)) ? +1⨸(4^(~n)*(~c)^(~n))* ∫(((~A) + (~B)*cos((~d) + (~e)*(~x)))*((~b) + 2*(~c)*cos((~d) + (~e)*(~x)))^(2*(~n)), (~x)) : nothing) + +("4_1_9_47", +@rule ∫(((~A) + (~!B)*sin((~!d) + (~!e)*(~x)))*((~a) + (~!b)*sin((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))^2)^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~n))) ? +((~a) + (~b)*sin((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x))^2)^ (~n)⨸((~b) + 2*(~c)*sin((~d) + (~e)*(~x)))^(2*(~n))* ∫(((~A) + (~B)*sin((~d) + (~e)*(~x)))*((~b) + 2*(~c)*sin((~d) + (~e)*(~x)))^(2*(~n)), (~x)) : nothing) + +("4_1_9_48", +@rule ∫(((~A) + (~!B)*cos((~!d) + (~!e)*(~x)))*((~a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*cos((~!d) + (~!e)*(~x))^2)^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~x)) && + eq((~b)^2 - 4*(~a)*(~c), 0) && + !(ext_isinteger((~n))) ? +((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*cos((~d) + (~e)*(~x))^2)^ (~n)⨸((~b) + 2*(~c)*cos((~d) + (~e)*(~x)))^(2*(~n))* ∫(((~A) + (~B)*cos((~d) + (~e)*(~x)))*((~b) + 2*(~c)*cos((~d) + (~e)*(~x)))^(2*(~n)), (~x)) : nothing) + +("4_1_9_49", +@rule ∫(((~A) + (~!B)*sin((~!d) + (~!e)*(~x)))/((~!a) + (~!b)*sin((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +((~B) + ((~b)*(~B) - 2*(~A)*(~c))⨸rt((~b)^2 - 4*(~a)*(~c), 2))*∫(1⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*sin((~d) + (~e)*(~x))), (~x)) + ((~B) - ((~b)*(~B) - 2*(~A)*(~c))⨸rt((~b)^2 - 4*(~a)*(~c), 2))*∫(1⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*sin((~d) + (~e)*(~x))), (~x)) : nothing) + +("4_1_9_50", +@rule ∫(((~A) + (~!B)*cos((~!d) + (~!e)*(~x)))/((~!a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*cos((~!d) + (~!e)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) ? +((~B) + ((~b)*(~B) - 2*(~A)*(~c))⨸rt((~b)^2 - 4*(~a)*(~c), 2))*∫(1⨸((~b) + rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*cos((~d) + (~e)*(~x))), (~x)) + ((~B) - ((~b)*(~B) - 2*(~A)*(~c))⨸rt((~b)^2 - 4*(~a)*(~c), 2))*∫(1⨸((~b) - rt((~b)^2 - 4*(~a)*(~c), 2) + 2*(~c)*cos((~d) + (~e)*(~x))), (~x)) : nothing) + +("4_1_9_51", +@rule ∫(((~A) + (~!B)*sin((~!d) + (~!e)*(~x)))*((~!a) + (~!b)*sin((~!d) + (~!e)*(~x)) + (~!c)*sin((~!d) + (~!e)*(~x))^2)^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~n)) ? +∫(ext_expand(((~A) + (~B)*sin((~d) + (~e)*(~x)))*((~a) + (~b)*sin((~d) + (~e)*(~x)) + (~c)*sin((~d) + (~e)*(~x))^2)^(~n), (~x)), (~x)) : nothing) + +("4_1_9_52", +@rule ∫(((~A) + (~!B)*cos((~!d) + (~!e)*(~x)))*((~!a) + (~!b)*cos((~!d) + (~!e)*(~x)) + (~!c)*cos((~!d) + (~!e)*(~x))^2)^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~A), (~B), (~x)) && + !eq((~b)^2 - 4*(~a)*(~c), 0) && + ext_isinteger((~n)) ? +∫(ext_expand(((~A) + (~B)*cos((~d) + (~e)*(~x)))*((~a) + (~b)*cos((~d) + (~e)*(~x)) + (~c)*cos((~d) + (~e)*(~x))^2)^(~n), (~x)), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.3 Tangent/4.3.1.1 (a+b tan)^n.jl b/src/methods/rule_based/rules2/4 Trig functions/4.3 Tangent/4.3.1.1 (a+b tan)^n.jl new file mode 100644 index 0000000..3985b38 --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.3 Tangent/4.3.1.1 (a+b tan)^n.jl @@ -0,0 +1,87 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.3.1.1 (a+b tan)^n *) +("4_3_1_1_1", +@rule ∫(((~!b)*tan((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~b), (~c), (~d), (~x)) && + gt((~n), 1) ? +(~b)*((~b)*tan((~c) + (~d)*(~x)))^((~n) - 1)⨸((~d)*((~n) - 1)) - (~b)^2*∫(((~b)*tan((~c) + (~d)*(~x)))^((~n) - 2), (~x)) : nothing) + +("4_3_1_1_2", +@rule ∫(((~!b)*tan((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~b), (~c), (~d), (~x)) && + lt((~n), -1) ? +((~b)*tan((~c) + (~d)*(~x)))^((~n) + 1)⨸((~b)*(~d)*((~n) + 1)) - 1⨸(~b)^2*∫(((~b)*tan((~c) + (~d)*(~x)))^((~n) + 2), (~x)) : nothing) + +("4_3_1_1_3", +@rule ∫(tan((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~c), (~d), (~x)) ? +-log(cos((~c) + (~d)*(~x)))⨸(~d) : nothing) + +#(* Int[1/tan[c_.+d_.*x_],x_Symbol] := Log[RemoveContent[Sin[c+d*x],x]]/d /; FreeQ[{c,d},x] *) +("4_3_1_1_4", +@rule ∫(((~!b)*tan((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~b), (~c), (~d), (~n), (~x)) && + !(ext_isinteger((~n))) ? +(~b)⨸(~d)*int_and_subst((~x)^(~n)⨸((~b)^2 + (~x)^2), (~x), (~x), (~b)*tan((~c) + (~d)*(~x)), "4_3_1_1_4") : nothing) + +("4_3_1_1_5", +@rule ∫(((~a) + (~!b)*tan((~!c) + (~!d)*(~x)))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) ? +((~a)^2 - (~b)^2)*(~x) + (~b)^2*tan((~c) + (~d)*(~x))⨸(~d) + 2*(~a)*(~b)*∫(tan((~c) + (~d)*(~x)), (~x)) : nothing) + +#(* Int[(a_+b_.*tan[c_.+d_.*x_])^n_,x_Symbol] := Int[ExpandIntegrand[(a+b*Tan[c+d*x])^n,x],x] /; FreeQ[{a,b,c,d},x] && IGtQ[n,0] *) +("4_3_1_1_6", +@rule ∫(((~a) + (~!b)*tan((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + gt((~n), 1) ? +(~b)*((~a) + (~b)*tan((~c) + (~d)*(~x)))^((~n) - 1)⨸((~d)*((~n) - 1)) + 2*(~a)*∫(((~a) + (~b)*tan((~c) + (~d)*(~x)))^((~n) - 1), (~x)) : nothing) + +("4_3_1_1_7", +@rule ∫(((~a) + (~!b)*tan((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + lt((~n), 0) ? +(~a)*((~a) + (~b)*tan((~c) + (~d)*(~x)))^(~n)⨸(2*(~b)*(~d)*(~n)) + 1⨸(2*(~a))*∫(((~a) + (~b)*tan((~c) + (~d)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_3_1_1_8", +@rule ∫(sqrt((~a) + (~!b)*tan((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~a)^2 + (~b)^2, 0) ? +-2*(~b)⨸(~d)*int_and_subst(1⨸(2*(~a) - (~x)^2), (~x), (~x), sqrt((~a) + (~b)*tan((~c) + (~d)*(~x))), "4_3_1_1_8") : nothing) + +("4_3_1_1_9", +@rule ∫(((~a) + (~!b)*tan((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + eq((~a)^2 + (~b)^2, 0) ? +-(~b)⨸(~d)*int_and_subst(((~a) + (~x))^((~n) - 1)⨸((~a) - (~x)), (~x), (~x), (~b)*tan((~c) + (~d)*(~x)), "4_3_1_1_9") : nothing) + +("4_3_1_1_10", +@rule ∫(((~a) + (~!b)*tan((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + gt((~n), 1) ? +(~b)*((~a) + (~b)*tan((~c) + (~d)*(~x)))^((~n) - 1)⨸((~d)*((~n) - 1)) + ∫(((~a)^2 - (~b)^2 + 2*(~a)*(~b)*tan((~c) + (~d)*(~x)))*((~a) + (~b)*tan((~c) + (~d)*(~x)))^((~n) - 2), (~x)) : nothing) + +("4_3_1_1_11", +@rule ∫(((~a) + (~!b)*tan((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + lt((~n), -1) ? +(~b)*((~a) + (~b)*tan((~c) + (~d)*(~x)))^((~n) + 1)⨸((~d)*((~n) + 1)*((~a)^2 + (~b)^2)) + 1⨸((~a)^2 + (~b)^2)* ∫(((~a) - (~b)*tan((~c) + (~d)*(~x)))*((~a) + (~b)*tan((~c) + (~d)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_3_1_1_12", +@rule ∫(1/((~a) + (~!b)*tan((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 + (~b)^2, 0) ? +(~a)*(~x)⨸((~a)^2 + (~b)^2) + (~b)⨸((~a)^2 + (~b)^2)*∫(((~b) - (~a)*tan((~c) + (~d)*(~x)))⨸((~a) + (~b)*tan((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_3_1_1_13", +@rule ∫(((~a) + (~!b)*tan((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !eq((~a)^2 + (~b)^2, 0) ? +(~b)⨸(~d)*int_and_subst(((~a) + (~x))^(~n)⨸((~b)^2 + (~x)^2), (~x), (~x), (~b)*tan((~c) + (~d)*(~x)), "4_3_1_1_13") : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.3 Tangent/4.3.1.2 (d sec)^m (a+b tan)^n.jl b/src/methods/rule_based/rules2/4 Trig functions/4.3 Tangent/4.3.1.2 (d sec)^m (a+b tan)^n.jl new file mode 100644 index 0000000..9cb713d --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.3 Tangent/4.3.1.2 (d sec)^m (a+b tan)^n.jl @@ -0,0 +1,248 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.3.1.2 (d sec)^m (a+b tan)^n *) +("4_3_1_2_1", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~x)) && + ( + ext_isinteger(2*(~m)) || + !eq((~a)^2 + (~b)^2, 0) + ) ? +(~b)*((~d)*sec((~e) + (~f)*(~x)))^(~m)⨸((~f)*(~m)) + (~a)*∫(((~d)*sec((~e) + (~f)*(~x)))^(~m), (~x)) : nothing) + +("4_3_1_2_2", +@rule ∫(sec((~!e) + (~!f)*(~x))^(~m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~n), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + ext_isinteger((~m)/2) ? +1⨸((~a)^((~m) - 2)*(~b)*(~f))* int_and_subst(((~a) - (~x))^((~m)⨸2 - 1)*((~a) + (~x))^((~n) + (~m)⨸2 - 1), (~x), (~x), (~b)*tan((~e) + (~f)*(~x)), "4_3_1_2_2") : nothing) + +("4_3_1_2_3", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + eq(simplify((~m) + (~n)), 0) ? +(~b)*((~d)*sec((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^(~n)⨸((~a)*(~f)*(~m)) : nothing) + +("4_3_1_2_4", +@rule ∫(sec((~!e) + (~!f)*(~x))/sqrt((~a) + (~!b)*tan((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + eq((~a)^2 + (~b)^2, 0) ? +-2*(~a)⨸((~b)*(~f))* int_and_subst(1⨸(2 - (~a)*(~x)^2), (~x), (~x), sec((~e) + (~f)*(~x))⨸sqrt((~a) + (~b)*tan((~e) + (~f)*(~x))), "4_3_1_2_4") : nothing) + +("4_3_1_2_5", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + eq((~m)/2 + (~n), 0) && + gt((~n), 0) ? +(~b)*((~d)*sec((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^(~n)⨸((~a)*(~f)*(~m)) + (~a)⨸(2*(~d)^2)* ∫(((~d)*sec((~e) + (~f)*(~x)))^((~m) + 2)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) - 1), (~x)) : nothing) + +("4_3_1_2_6", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + eq((~m)/2 + (~n), 0) && + lt((~n), -1) ? +2*(~d)^2*((~d)*sec((~e) + (~f)*(~x)))^((~m) - 2)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) + 1)⨸((~b)* (~f)*((~m) - 2)) + 2*(~d)^2⨸(~a)* ∫(((~d)*sec((~e) + (~f)*(~x)))^((~m) - 2)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_3_1_2_7", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + eq(simplify((~m)/2 + (~n)), 0) ? +((~a)⨸(~d))^(2*intpart((~n)))*((~a) + (~b)*tan((~e) + (~f)*(~x)))^ fracpart((~n))*((~a) - (~b)*tan((~e) + (~f)*(~x)))^ fracpart((~n))⨸((~d)*sec((~e) + (~f)*(~x)))^(2*fracpart((~n)))* ∫(1⨸((~a) - (~b)*tan((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_3_1_2_8", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + eq(simplify((~m)/2 + (~n) - 1), 0) ? +2*(~b)*((~d)*sec((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*(~m)) : nothing) + +("4_3_1_2_9", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + igt(simplify((~m)/2 + (~n) - 1), 0) && + !(ext_isinteger((~n))) ? +(~b)*((~d)*sec((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*((~m) + (~n) - 1)) + (~a)*((~m) + 2*(~n) - 2)⨸((~m) + (~n) - 1)* ∫(((~d)*sec((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) - 1), (~x)) : nothing) + +("4_3_1_2_10", +@rule ∫(sqrt((~!d)*sec((~!e) + (~!f)*(~x)))*sqrt((~a) + (~!b)*tan((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 + (~b)^2, 0) ? +-4*(~b)*(~d)^2⨸(~f)* int_and_subst((~x)^2⨸((~a)^2 + (~d)^2*(~x)^4), (~x), (~x), sqrt((~a) + (~b)*tan((~e) + (~f)*(~x)))⨸sqrt((~d)*sec((~e) + (~f)*(~x))), "4_3_1_2_10") : nothing) + +("4_3_1_2_11", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + gt((~n), 1) && + ( + igt((~n)/2, 0) && + ilt((~m) - 1/2, 0) || + eq((~n), 2) && + lt((~m), 0) || + le((~m), -1) && + gt((~m) + (~n), 0) || + ilt((~m), 0) && + lt((~m)/2 + (~n) - 1, 0) && + ext_isinteger((~n)) || + eq((~n), 3/2) && + eq((~m), -1/2) + ) && + ext_isinteger(2*(~m)) ? +2*(~b)*((~d)*sec((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*(~m)) - (~b)^2*((~m) + 2*(~n) - 2)⨸((~d)^2*(~m))* ∫(((~d)*sec((~e) + (~f)*(~x)))^((~m) + 2)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) - 2), (~x)) : nothing) + +("4_3_1_2_12", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + gt((~n), 0) && + lt((~m), -1) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~b)*((~d)*sec((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^(~n)⨸((~a)*(~f)*(~m)) + (~a)*((~m) + (~n))⨸((~m)*(~d)^2)* ∫(((~d)*sec((~e) + (~f)*(~x)))^((~m) + 2)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) - 1), (~x)) : nothing) + +("4_3_1_2_13", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + gt((~n), 0) && + !eq((~m) + (~n) - 1, 0) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~b)*((~d)*sec((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*((~m) + (~n) - 1)) + (~a)*((~m) + 2*(~n) - 2)⨸((~m) + (~n) - 1)* ∫(((~d)*sec((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) - 1), (~x)) : nothing) + +("4_3_1_2_14", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(3//2)/sqrt((~a) + (~!b)*tan((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 + (~b)^2, 0) ? +(~d)*sec((~e) + (~f)*(~x))⨸(sqrt((~a) - (~b)*tan((~e) + (~f)*(~x)))*sqrt((~a) + (~b)*tan((~e) + (~f)*(~x))))* ∫(sqrt((~d)*sec((~e) + (~f)*(~x)))*sqrt((~a) - (~b)*tan((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_3_1_2_15", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + lt((~n), -1) && + ( + ilt((~n)/2, 0) && + igt((~m) - 1/2, 0) || + eq((~n), -2) || + igt((~m) + (~n), 0) || + ext_isinteger((~n), (~m) + 1/2) && + gt(2*(~m) + (~n) + 1, 0) + ) && + ext_isinteger(2*(~m)) ? +2*(~d)^2*((~d)*sec((~e) + (~f)*(~x)))^((~m) - 2)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) + 1)⨸((~b)* (~f)*((~m) + 2*(~n))) - (~d)^2*((~m) - 2)⨸((~b)^2*((~m) + 2*(~n)))* ∫(((~d)*sec((~e) + (~f)*(~x)))^((~m) - 2)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) + 2), (~x)) : nothing) + +("4_3_1_2_16", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + lt((~n), 0) && + gt((~m), 1) && + !(ilt((~m) + (~n), 0)) && + !eq((~m) + (~n) - 1, 0) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~d)^2*((~d)*sec((~e) + (~f)*(~x)))^((~m) - 2)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) + 1)⨸((~b)* (~f)*((~m) + (~n) - 1)) + (~d)^2*((~m) - 2)⨸((~a)*((~m) + (~n) - 1))* ∫(((~d)*sec((~e) + (~f)*(~x)))^((~m) - 2)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_3_1_2_17", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + lt((~n), 0) && + !eq((~m) + 2*(~n), 0) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~a)*((~d)*sec((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^(~n)⨸((~b)*(~f)*((~m) + 2*(~n))) + simplify((~m) + (~n))⨸((~a)*((~m) + 2*(~n)))* ∫(((~d)*sec((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_3_1_2_18", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + igt(simplify((~m) + (~n) - 1), 0) && + isrational((~n)) ? +(~b)*((~d)*sec((~e) + (~f)*(~x)))^ (~m)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*simplify((~m) + (~n) - 1)) + (~a)*((~m) + 2*(~n) - 2)⨸simplify((~m) + (~n) - 1)* ∫(((~d)*sec((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) - 1), (~x)) : nothing) + +("4_3_1_2_19", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 + (~b)^2, 0) && + ilt(simplify((~m) + (~n)), 0) && + !eq((~m) + 2*(~n), 0) ? +(~a)*((~d)*sec((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^(~n)⨸((~b)*(~f)*((~m) + 2*(~n))) + simplify((~m) + (~n))⨸((~a)*((~m) + 2*(~n)))* ∫(((~d)*sec((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~n) + 1), (~x)) : nothing) + +#(* Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] := a^n*(d*Sec[e+f*x])^m/(b*f*(Sec[e+f*x]^2)^(m/2))*Subst[Int[(1+x/a)^( n+m/2-1)*(1-x/a)^(m/2-1),x],x,b*Tan[e+f*x]] /; FreeQ[{a,b,d,e,f,m},x] && EqQ[a^2+b^2,0] && IntegerQ[n] *) +#(* Int[(d_.*sec[e_.+f_.*x_])^m_.*(a_+b_.*tan[e_.+f_.*x_])^n_,x_Symbol] := (d*Sec[e+f*x])^m/(b*f*(Sec[e+f*x]^2)^(m/2))*Subst[Int[(a+x)^n*(1+x^ 2/b^2)^(m/2-1),x],x,b*Tan[e+f*x]] /; FreeQ[{a,b,d,e,f,m,n},x] && EqQ[a^2+b^2,0] *) +("4_3_1_2_20", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 + (~b)^2, 0) ? +((~d)*sec((~e) + (~f)*(~x)))^ (~m)⨸(((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~m)⨸2)*((~a) - (~b)*tan((~e) + (~f)*(~x)))^((~m)⨸2))* ∫(((~a) + (~b)*tan((~e) + (~f)*(~x)))^((~m)⨸2 + (~n))*((~a) - (~b)*tan((~e) + (~f)*(~x)))^((~m)⨸2), (~x)) : nothing) + +("4_3_1_2_21", +@rule ∫(sec((~!e) + (~!f)*(~x))^(~m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~n), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + ext_isinteger((~m)/2) ? +1⨸((~b)*(~f))* int_and_subst(((~a) + (~x))^(~n)*(1 + (~x)^2⨸(~b)^2)^((~m)⨸2 - 1), (~x), (~x), (~b)*tan((~e) + (~f)*(~x)), "4_3_1_2_21") : nothing) + +("4_3_1_2_22", +@rule ∫(((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^2/sec((~!e) + (~!f)*(~x)),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !eq((~a)^2 + (~b)^2, 0) ? +(~b)^2*atanh(sin((~e) + (~f)*(~x)))⨸(~f) - 2*(~a)*(~b)*cos((~e) + (~f)*(~x))⨸(~f) + ((~a)^2 - (~b)^2)*sin((~e) + (~f)*(~x))⨸(~f) : nothing) + +("4_3_1_2_23", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^2,(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + !eq((~m), -1) ? +(~b)*((~d)*sec((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*tan((~e) + (~f)*(~x)))⨸((~f)*((~m) + 1)) + 1⨸((~m) + 1)* ∫(((~d)*sec((~e) + (~f)*(~x)))^ (~m)*((~a)^2*((~m) + 1) - (~b)^2 + (~a)*(~b)*((~m) + 2)*tan((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_3_1_2_24", +@rule ∫(sec((~!e) + (~!f)*(~x))/((~a) + (~!b)*tan((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !eq((~a)^2 + (~b)^2, 0) ? +-1⨸(~f)*int_and_subst(1⨸((~a)^2 + (~b)^2 - (~x)^2), (~x), (~x), ((~b) - (~a)*tan((~e) + (~f)*(~x)))⨸sec((~e) + (~f)*(~x)), "4_3_1_2_24") : nothing) + +("4_3_1_2_25", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~m)/((~a) + (~!b)*tan((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + igt((~m), 1) ? +-(~d)^2⨸(~b)^2*∫(((~d)*sec((~e) + (~f)*(~x)))^((~m) - 2)*((~a) - (~b)*tan((~e) + (~f)*(~x))), (~x)) + (~d)^2*((~a)^2 + (~b)^2)⨸(~b)^2* ∫(((~d)*sec((~e) + (~f)*(~x)))^((~m) - 2)⨸((~a) + (~b)*tan((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_3_1_2_26", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~m)/((~a) + (~!b)*tan((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + ilt((~m), 0) ? +1⨸((~a)^2 + (~b)^2)*∫(((~d)*sec((~e) + (~f)*(~x)))^(~m)*((~a) - (~b)*tan((~e) + (~f)*(~x))), (~x)) + (~b)^2⨸((~d)^2*((~a)^2 + (~b)^2))* ∫(((~d)*sec((~e) + (~f)*(~x)))^((~m) + 2)⨸((~a) + (~b)*tan((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_3_1_2_27", +@rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + !eq((~a)^2 + (~b)^2, 0) && + !(ext_isinteger((~m)/2)) ? +(~d)^(2*intpart((~m)⨸2))*((~d)*sec((~e) + (~f)*(~x)))^(2*fracpart((~m)⨸2))⨸((~b)* (~f)*(sec((~e) + (~f)*(~x))^2)^fracpart((~m)⨸2))* int_and_subst(((~a) + (~x))^(~n)*(1 + (~x)^2⨸(~b)^2)^((~m)⨸2 - 1), (~x), (~x), (~b)*tan((~e) + (~f)*(~x)), "4_3_1_2_27") : nothing) + +("4_3_1_2_28", +@rule ∫(sqrt((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))/sqrt((~!d)*cos((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 + (~b)^2, 0) ? +-4*(~b)⨸(~f)* int_and_subst((~x)^2⨸((~a)^2*(~d)^2 + (~x)^4), (~x), (~x), sqrt((~d)*cos((~e) + (~f)*(~x)))*sqrt((~a) + (~b)*tan((~e) + (~f)*(~x))), "4_3_1_2_28") : nothing) + +("4_3_1_2_29", +@rule ∫(1/(((~!d)*cos((~!e) + (~!f)*(~x)))^(3//2)* sqrt((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 + (~b)^2, 0) ? +1⨸((~d)*cos((~e) + (~f)*(~x))*sqrt((~a) - (~b)*tan((~e) + (~f)*(~x)))* sqrt((~a) + (~b)*tan((~e) + (~f)*(~x))))* ∫(sqrt((~a) - (~b)*tan((~e) + (~f)*(~x)))⨸sqrt((~d)*cos((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_3_1_2_30", +@rule ∫(((~!d)*cos((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + !(ext_isinteger((~m))) ? +((~d)*cos((~e) + (~f)*(~x)))^(~m)*((~d)*sec((~e) + (~f)*(~x)))^(~m)* ∫(((~a) + (~b)*tan((~e) + (~f)*(~x)))^(~n)⨸((~d)*sec((~e) + (~f)*(~x)))^(~m), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.3 Tangent/4.3.1.3 (d sin)^m (a+b tan)^n.jl b/src/methods/rule_based/rules2/4 Trig functions/4.3 Tangent/4.3.1.3 (d sin)^m (a+b tan)^n.jl new file mode 100644 index 0000000..1f8042f --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.3 Tangent/4.3.1.3 (d sin)^m (a+b tan)^n.jl @@ -0,0 +1,49 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.3.1.3 (d sin)^m (a+b tan)^n *) +("4_3_1_3_1", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~n), (~x)) && + ext_isinteger((~m)/2) ? +(~b)⨸(~f)*int_and_subst((~x)^(~m)*((~a) + (~x))^(~n)⨸((~b)^2 + (~x)^2)^((~m)⨸2 + 1), (~x), (~x), (~b)*tan((~e) + (~f)*(~x)), "4_3_1_3_1") : nothing) + +("4_3_1_3_2", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~!m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + ext_isinteger(((~m) - 1)/2) && + igt((~n), 0) ? +∫(ext_expand(sin((~e) + (~f)*(~x))^(~m)*((~a) + (~b)*tan((~e) + (~f)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("4_3_1_3_3", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~!m)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + ext_isinteger(((~m) - 1)/2) && + ilt((~n), 0) && + ( + lt((~m), 5) && + gt((~n), -4) || + eq((~m), 5) && + eq((~n), -1) + ) ? +∫(sin((~e) + (~f)*(~x))^(~m)*((~a)*cos((~e) + (~f)*(~x)) + (~b)*sin((~e) + (~f)*(~x)))^(~n)⨸ cos((~e) + (~f)*(~x))^(~n), (~x)) : nothing) + +("4_3_1_3_4", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + !(ext_isinteger((~m))) ? +((~d)*csc((~e) + (~f)*(~x)))^fracpart((~m))*(sin((~e) + (~f)*(~x))⨸(~d))^fracpart((~m))* ∫(((~a) + (~b)*tan((~e) + (~f)*(~x)))^(~n)⨸(sin((~e) + (~f)*(~x))⨸(~d))^(~m), (~x)) : nothing) + +("4_3_1_3_5", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~!m)* sin((~!e) + (~!f)*(~x))^(~!p)*((~a) + (~!b)*tan((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~p), (~x)) && + ext_isinteger((~n)) ? +∫(cos((~e) + (~f)*(~x))^((~m) - (~n))* sin((~e) + (~f)*(~x))^(~p)*((~a)*cos((~e) + (~f)*(~x)) + (~b)*sin((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_3_1_3_6", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~!m)* cos((~!e) + (~!f)*(~x))^(~!p)*((~a) + (~!b)*cot((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~p), (~x)) && + ext_isinteger((~n)) ? +∫(sin((~e) + (~f)*(~x))^((~m) - (~n))* cos((~e) + (~f)*(~x))^(~p)*((~a)*sin((~e) + (~f)*(~x)) + (~b)*cos((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.1.1 (a+b sec)^n.jl b/src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.1.1 (a+b sec)^n.jl new file mode 100644 index 0000000..9164483 --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.1.1 (a+b sec)^n.jl @@ -0,0 +1,145 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.5.1.1 (a+b sec)^n *) +("4_5_1_1_1", +@rule ∫(csc((~!c) + (~!d)*(~x))^(~n),(~x)) => + !contains_var((~c), (~d), (~x)) && + igt((~n)/2, 0) ? +-1⨸(~d)*int_and_subst(ext_expand((1 + (~x)^2)^((~n)⨸2 - 1), (~x)), (~x), (~x), cot((~c) + (~d)*(~x)), "4_5_1_1_1") : nothing) + +("4_5_1_1_2", +@rule ∫(((~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~b), (~c), (~d), (~x)) && + gt((~n), 1) && + ext_isinteger(2*(~n)) ? +-(~b)*cos((~c) + (~d)*(~x))*((~b)*csc((~c) + (~d)*(~x)))^((~n) - 1)⨸((~d)*((~n) - 1)) + (~b)^2*((~n) - 2)⨸((~n) - 1)*∫(((~b)*csc((~c) + (~d)*(~x)))^((~n) - 2), (~x)) : nothing) + +("4_5_1_1_3", +@rule ∫(((~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~b), (~c), (~d), (~x)) && + lt((~n), -1) && + ext_isinteger(2*(~n)) ? +cos((~c) + (~d)*(~x))*((~b)*csc((~c) + (~d)*(~x)))^((~n) + 1)⨸((~b)*(~d)*(~n)) + ((~n) + 1)⨸((~b)^2*(~n))*∫(((~b)*csc((~c) + (~d)*(~x)))^((~n) + 2), (~x)) : nothing) + +#(* original line: Int[csc[c_. + d_.*x_], x_Symbol] := (* -ArcCoth[Cos[c+d*x]]/d /; *) -ArcTanh[Cos[c + d*x]]/d /; FreeQ[{c, d}, x] *) +("4_5_1_1_4", +@rule ∫(csc((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~c), (~d), (~x)) ? +-atanh(cos((~c) + (~d)*(~x)))⨸(~d) : nothing) + +("4_5_1_1_4_1", +@rule ∫(sec((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~c), (~d), (~x)) ? +atanh(sin((~c) + (~d)*(~x)))⨸(~d) : nothing) + +#(* Int[1/csc[c_.+d_.*x_],x_Symbol] := -Cos[c+d*x]/d /; FreeQ[{c,d},x] *) +("4_5_1_1_5", +@rule ∫(((~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~b), (~c), (~d), (~x)) && + eq((~n)^2, 1/4) ? +((~b)*csc((~c) + (~d)*(~x)))^(~n)*sin((~c) + (~d)*(~x))^(~n)*∫(1⨸sin((~c) + (~d)*(~x))^(~n), (~x)) : nothing) + +("4_5_1_1_6", +@rule ∫(((~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~b), (~c), (~d), (~n), (~x)) && + !(ext_isinteger((~n))) ? +((~b)*csc((~c) + (~d)*(~x)))^((~n) - 1)*((sin((~c) + (~d)*(~x))⨸(~b))^((~n) - 1)* ∫(1⨸(sin((~c) + (~d)*(~x))⨸(~b))^(~n), (~x))) : nothing) + +("4_5_1_1_7", +@rule ∫(((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) ? +(~a)^2*(~x) + 2*(~a)*(~b)*∫(csc((~c) + (~d)*(~x)), (~x)) + (~b)^2*∫(csc((~c) + (~d)*(~x))^2, (~x)) : nothing) + +("4_5_1_1_8", +@rule ∫(sqrt((~a) + (~!b)*csc((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~a)^2 - (~b)^2, 0) ? +-2*(~b)⨸(~d)* int_and_subst(1⨸((~a) + (~x)^2), (~x), (~x), (~b)*cot((~c) + (~d)*(~x))⨸sqrt((~a) + (~b)*csc((~c) + (~d)*(~x))), "4_5_1_1_8") : nothing) + +("4_5_1_1_9", +@rule ∫(((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + gt((~n), 1) && + ext_isinteger(2*(~n)) ? +-(~b)^2*cot((~c) + (~d)*(~x))*((~a) + (~b)*csc((~c) + (~d)*(~x)))^((~n) - 2)⨸((~d)*((~n) - 1)) + (~a)⨸((~n) - 1)* ∫(((~a) + (~b)*csc((~c) + (~d)*(~x)))^((~n) - 2)*((~a)*((~n) - 1) + (~b)*(3*(~n) - 4)*csc((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_5_1_1_10", +@rule ∫(1/sqrt((~a) + (~!b)*csc((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~a)^2 - (~b)^2, 0) ? +1⨸(~a)*∫(sqrt((~a) + (~b)*csc((~c) + (~d)*(~x))), (~x)) - (~b)⨸(~a)*∫(csc((~c) + (~d)*(~x))⨸sqrt((~a) + (~b)*csc((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_5_1_1_11", +@rule ∫(((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + le((~n), -1) && + ext_isinteger(2*(~n)) ? +-cot((~c) + (~d)*(~x))*((~a) + (~b)*csc((~c) + (~d)*(~x)))^(~n)⨸((~d)*(2*(~n) + 1)) + 1⨸((~a)^2*(2*(~n) + 1))* ∫(((~a) + (~b)*csc((~c) + (~d)*(~x)))^((~n) + 1)*((~a)*(2*(~n) + 1) - (~b)*((~n) + 1)*csc((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_5_1_1_12", +@rule ∫(((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger(2*(~n))) && + gt((~a), 0) ? +(~a)^(~n)*cot( (~c) + (~d)*(~x))⨸((~d)*sqrt(1 + csc((~c) + (~d)*(~x)))*sqrt(1 - csc((~c) + (~d)*(~x))))* int_and_subst((1 + (~b)*(~x)⨸(~a))^((~n) - 1⨸2)⨸((~x)*sqrt(1 - (~b)*(~x)⨸(~a))), (~x), (~x), csc((~c) + (~d)*(~x)), "4_5_1_1_12") : nothing) + +("4_5_1_1_13", +@rule ∫(((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger(2*(~n))) && + !(gt((~a), 0)) ? +(~a)^intpart((~n))*((~a) + (~b)*csc((~c) + (~d)*(~x)))^ fracpart((~n))⨸(1 + (~b)⨸(~a)*csc((~c) + (~d)*(~x)))^fracpart((~n))* ∫((1 + (~b)⨸(~a)*csc((~c) + (~d)*(~x)))^(~n), (~x)) : nothing) + +("4_5_1_1_14", +@rule ∫(sqrt((~a) + (~!b)*csc((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +2*((~a) + (~b)*csc((~c) + (~d)*(~x)))⨸((~d)*rt((~a) + (~b), 2)*cot((~c) + (~d)*(~x)))* sqrt((~b)*(1 + csc((~c) + (~d)*(~x)))⨸((~a) + (~b)*csc((~c) + (~d)*(~x))))* sqrt(-(~b)*(1 - csc((~c) + (~d)*(~x)))⨸((~a) + (~b)*csc((~c) + (~d)*(~x))))* elliptic_pi((~a)⨸((~a) + (~b)), asin(rt((~a) + (~b), 2)⨸sqrt((~a) + (~b)*csc((~c) + (~d)*(~x)))), ((~a) - (~b))⨸((~a) + (~b))) : nothing) + +("4_5_1_1_15", +@rule ∫(((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(3//2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +∫(((~a)^2 + (~b)*(2*(~a) - (~b))*csc((~c) + (~d)*(~x)))⨸sqrt((~a) + (~b)*csc((~c) + (~d)*(~x))), (~x)) + (~b)^2* ∫(csc((~c) + (~d)*(~x))*(1 + csc((~c) + (~d)*(~x)))⨸sqrt((~a) + (~b)*csc((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_5_1_1_16", +@rule ∫(((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~n), 2) && + ext_isinteger(2*(~n)) ? +-(~b)^2*cot((~c) + (~d)*(~x))*((~a) + (~b)*csc((~c) + (~d)*(~x)))^((~n) - 2)⨸((~d)*((~n) - 1)) + 1⨸((~n) - 1)*∫(((~a) + (~b)*csc((~c) + (~d)*(~x)))^((~n) - 3)* simp((~a)^3*((~n) - 1) + ((~b)*((~b)^2*((~n) - 2) + 3*(~a)^2*((~n) - 1)))* csc((~c) + (~d)*(~x)) + ((~a)*(~b)^2*(3*(~n) - 4))*csc((~c) + (~d)*(~x))^2, (~x)), (~x)) : nothing) + +("4_5_1_1_17", +@rule ∫(1/((~a) + (~!b)*csc((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +(~x)⨸(~a) - 1⨸(~a)*∫(1⨸(1 + (~a)⨸(~b)*sin((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_5_1_1_18", +@rule ∫(1/sqrt((~a) + (~!b)*csc((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +2*rt((~a) + (~b), 2)⨸((~a)*(~d)*cot((~c) + (~d)*(~x)))* sqrt((~b)*(1 - csc((~c) + (~d)*(~x)))⨸((~a) + (~b)))* sqrt(-(~b)*(1 + csc((~c) + (~d)*(~x)))⨸((~a) - (~b)))* elliptic_pi(((~a) + (~b))⨸(~a), asin(sqrt((~a) + (~b)*csc((~c) + (~d)*(~x)))⨸rt((~a) + (~b), 2)), ((~a) + (~b))⨸((~a) - (~b))) : nothing) + +("4_5_1_1_19", +@rule ∫(((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~n), -1) && + ext_isinteger(2*(~n)) ? +(~b)^2*cot( (~c) + (~d)*(~x))*((~a) + (~b)*csc((~c) + (~d)*(~x)))^((~n) + 1)⨸((~a)*(~d)*((~n) + 1)*((~a)^2 - (~b)^2)) + 1⨸((~a)*((~n) + 1)*((~a)^2 - (~b)^2))* ∫(((~a) + (~b)*csc((~c) + (~d)*(~x)))^((~n) + 1)* simp(((~a)^2 - (~b)^2)*((~n) + 1) - (~a)*(~b)*((~n) + 1)*csc((~c) + (~d)*(~x)) + (~b)^2*((~n) + 2)*csc((~c) + (~d)*(~x))^2, (~x)), (~x)) : nothing) + +# ("4_5_1_1_20", +# @rule ∫(((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && +# !eq((~a)^2 - (~b)^2, 0) && +# !(ext_isinteger(2*(~n))) ? +# Unintegrable[((~a) + (~b)*csc((~c) + (~d)*(~x)))^(~n), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.1.2 (d sec)^n (a+b sec)^m.jl b/src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.1.2 (d sec)^n (a+b sec)^m.jl new file mode 100644 index 0000000..555e05f --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.1.2 (d sec)^n (a+b sec)^m.jl @@ -0,0 +1,663 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.5.1.2 (d sec)^n (a+b sec)^m *) +("4_5_1_2_1", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))*((~!d)*csc((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) ? +(~a)*∫(((~d)*csc((~e) + (~f)*(~x)))^(~n), (~x)) + (~b)⨸(~d)*∫(((~d)*csc((~e) + (~f)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_5_1_2_2", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^2*((~!d)*csc((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) ? +2*(~a)*(~b)⨸(~d)*∫(((~d)*csc((~e) + (~f)*(~x)))^((~n) + 1), (~x)) + ∫(((~d)*csc((~e) + (~f)*(~x)))^(~n)*((~a)^2 + (~b)^2*csc((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_5_1_2_3", +@rule ∫(csc((~!e) + (~!f)*(~x))^2/((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) ? +1⨸(~b)*∫(csc((~e) + (~f)*(~x)), (~x)) - (~a)⨸(~b)*∫(csc((~e) + (~f)*(~x))⨸((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_4", +@rule ∫(csc((~!e) + (~!f)*(~x))^3/((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) ? +-cot((~e) + (~f)*(~x))⨸((~b)*(~f)) - (~a)⨸(~b)*∫(csc((~e) + (~f)*(~x))^2⨸((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_5", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + igt((~m), 0) && + isrational((~n)) ? +∫(ext_expand(((~a) + (~b)*csc((~e) + (~f)*(~x)))^(~m)*((~d)*csc((~e) + (~f)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("4_5_1_2_6", +@rule ∫(csc((~!e) + (~!f)*(~x))*sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) ? +-2*(~b)*cot((~e) + (~f)*(~x))⨸((~f)*sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))) : nothing) + +("4_5_1_2_7", +@rule ∫(csc((~!e) + (~!f)*(~x))*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + gt((~m), 1/2) && + ext_isinteger(2*(~m)) ? +-(~b)*cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 1)⨸((~f)*(~m)) + (~a)*(2*(~m) - 1)⨸(~m)*∫(csc((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 1), (~x)) : nothing) + +("4_5_1_2_8", +@rule ∫(csc((~!e) + (~!f)*(~x))/((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) ? +-cot((~e) + (~f)*(~x))⨸((~f)*((~b) + (~a)*csc((~e) + (~f)*(~x)))) : nothing) + +("4_5_1_2_9", +@rule ∫(csc((~!e) + (~!f)*(~x))/sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) ? +-2⨸(~f)*int_and_subst(1⨸(2*(~a) + (~x)^2), (~x), (~x), (~b)*cot((~e) + (~f)*(~x))⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x))), "4_5_1_2_9") : nothing) + +("4_5_1_2_10", +@rule ∫(csc((~!e) + (~!f)*(~x))*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1/2) && + ext_isinteger(2*(~m)) ? +(~b)*cot( (~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^ (~m)⨸((~a)*(~f)*(2*(~m) + 1)) + ((~m) + 1)⨸((~a)*(2*(~m) + 1))* ∫(csc((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1), (~x)) : nothing) + +("4_5_1_2_11", +@rule ∫(csc((~!e) + (~!f)*(~x))^2*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1/2) ? +-cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^(~m)⨸((~f)*(2*(~m) + 1)) + (~m)⨸((~b)*(2*(~m) + 1))* ∫(csc((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1), (~x)) : nothing) + +("4_5_1_2_12", +@rule ∫(csc((~!e) + (~!f)*(~x))^2*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(lt((~m), -1/2)) ? +-cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^(~m)⨸((~f)*((~m) + 1)) + (~a)*(~m)⨸((~b)*((~m) + 1))*∫(csc((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^(~m), (~x)) : nothing) + +("4_5_1_2_13", +@rule ∫(csc((~!e) + (~!f)*(~x))^3*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1/2) ? +(~b)*cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^(~m)⨸((~a)*(~f)*(2*(~m) + 1)) - 1⨸((~a)^2*(2*(~m) + 1))* ∫(csc((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~a)*(~m) - (~b)*(2*(~m) + 1)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_14", +@rule ∫(csc((~!e) + (~!f)*(~x))^3*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(lt((~m), -1/2)) ? +-cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)*((~m) + 2)) + 1⨸((~b)*((~m) + 2))* ∫(csc((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^ (~m)*((~b)*((~m) + 1) - (~a)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_15", +@rule ∫(sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))*sqrt((~!d)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + gt((~a)*(~d)/(~b), 0) ? +-2*(~a)⨸((~b)*(~f))*sqrt((~a)*(~d)⨸(~b))* int_and_subst(1⨸sqrt(1 + (~x)^2⨸(~a)), (~x), (~x), (~b)*cot((~e) + (~f)*(~x))⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x))), "4_5_1_2_15") : nothing) + +("4_5_1_2_16", +@rule ∫(sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))*sqrt((~!d)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(gt((~a)*(~d)/(~b), 0)) ? +-2*(~b)*(~d)⨸(~f)* int_and_subst(1⨸((~b) - (~d)*(~x)^2), (~x), (~x), (~b)*cot((~e) + (~f)*(~x))⨸(sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))*sqrt((~d)*csc((~e) + (~f)*(~x)))), "4_5_1_2_16") : nothing) + +("4_5_1_2_17", +@rule ∫(sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + gt((~n), 1) && + ext_isinteger(2*(~n)) ? +-2*(~b)*(~d)* cot((~e) + (~f)*(~x))*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*(2*(~n) - 1)* sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))) + 2*(~a)*(~d)*((~n) - 1)⨸((~b)*(2*(~n) - 1))* ∫(sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 1), (~x)) : nothing) + +("4_5_1_2_18", +@rule ∫(sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))/sqrt((~!d)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) ? +-2*(~a)*cot( (~e) + (~f)*(~x))⨸((~f)*sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))*sqrt((~d)*csc((~e) + (~f)*(~x)))) : nothing) + +("4_5_1_2_19", +@rule ∫(sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + lt((~n), -1/2) && + ext_isinteger(2*(~n)) ? +(~a)*cot( (~e) + (~f)*(~x))*((~d)*csc((~e) + (~f)*(~x)))^(~n)⨸((~f)*(~n)*sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))) + (~a)*(2*(~n) + 1)⨸(2*(~b)*(~d)*(~n))* ∫(sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))*((~d)*csc((~e) + (~f)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_5_1_2_20", +@rule ∫(sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) ? +(~a)^2*(~d)* cot((~e) + (~f)*(~x))⨸((~f)*sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))*sqrt((~a) - (~b)*csc((~e) + (~f)*(~x))))* int_and_subst(((~d)*(~x))^((~n) - 1)⨸sqrt((~a) - (~b)*(~x)), (~x), (~x), csc((~e) + (~f)*(~x)), "4_5_1_2_20") : nothing) + +("4_5_1_2_21", +@rule ∫(sqrt((~!d)*csc((~!e) + (~!f)*(~x)))/sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + eq((~d) - (~a)/(~b), 0) && + gt((~a), 0) ? +-sqrt(2)*sqrt((~a))⨸((~b)*(~f))* int_and_subst(1⨸sqrt(1 + (~x)^2), (~x), (~x), (~b)*cot((~e) + (~f)*(~x))⨸((~a) + (~b)*csc((~e) + (~f)*(~x))), "4_5_1_2_21") : nothing) + +("4_5_1_2_22", +@rule ∫(sqrt((~!d)*csc((~!e) + (~!f)*(~x)))/sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) ? +-2*(~b)*(~d)⨸((~a)*(~f))* int_and_subst(1⨸(2*(~b) - (~d)*(~x)^2), (~x), (~x), (~b)*cot((~e) + (~f)*(~x))⨸(sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))*sqrt((~d)*csc((~e) + (~f)*(~x)))), "4_5_1_2_22") : nothing) + +("4_5_1_2_23", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + eq((~m) + (~n), 0) && + gt((~m), 1/2) && + ext_isinteger(2*(~m)) ? +-(~a)*cot( (~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 1)*((~d)*csc((~e) + (~f)*(~x)))^ (~n)⨸((~f)*(~m)) + (~b)*(2*(~m) - 1)⨸((~d)*(~m))* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 1)*((~d)*csc((~e) + (~f)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_5_1_2_24", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + eq((~m) + (~n), 0) && + lt((~m), -1/2) && + ext_isinteger(2*(~m)) ? +(~b)*(~d)*cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^ (~m)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 1)⨸((~a)*(~f)*(2*(~m) + 1)) + (~d)*((~m) + 1)⨸((~b)*(2*(~m) + 1))* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 1), (~x)) : nothing) + +("4_5_1_2_25", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + eq((~m) + (~n) + 1, 0) && + lt((~m), -1/2) ? +-cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^ (~m)*((~d)*csc((~e) + (~f)*(~x)))^(~n)⨸((~f)*(2*(~m) + 1)) + (~m)⨸((~a)*(2*(~m) + 1))* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*csc((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_5_1_2_26", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + eq((~m) + (~n) + 1, 0) && + !(lt((~m), -1/2)) ? +-cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^ (~m)*((~d)*csc((~e) + (~f)*(~x)))^(~n)⨸((~f)*((~m) + 1)) + (~a)*(~m)⨸((~b)*(~d)*((~m) + 1))* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^(~m)*((~d)*csc((~e) + (~f)*(~x)))^((~n) + 1), (~x)) : nothing) + +("4_5_1_2_27", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + gt((~m), 1) && + ( + lt((~n), -1) || + eq((~m), 3/2) && + eq((~n), -1/2) + ) && + ext_isinteger(2*(~m)) ? +(~b)^2*cot( (~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 2)*((~d)*csc((~e) + (~f)*(~x)))^ (~n)⨸((~f)*(~n)) - (~a)⨸((~d)*(~n))* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 2)*((~d)*csc((~e) + (~f)*(~x)))^((~n) + 1)*((~b)*((~m) - 2*(~n) - 2) - (~a)*((~m) + 2*(~n) - 1)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_28", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + gt((~m), 1) && + !eq((~m) + (~n) - 1, 0) && + ext_isinteger(2*(~m)) ? +-(~b)^2*cot( (~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 2)*((~d)*csc((~e) + (~f)*(~x)))^ (~n)⨸((~f)*((~m) + (~n) - 1)) + (~b)⨸((~m) + (~n) - 1)* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 2)*((~d)*csc((~e) + (~f)*(~x)))^ (~n)*((~b)*((~m) + 2*(~n) - 1) + (~a)*(3*(~m) + 2*(~n) - 4)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_29", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + lt(1, (~n), 2) && + ( + ext_isinteger(2*(~m), 2*(~n)) || + ext_isinteger((~m)) + ) ? +(~b)*(~d)*cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^ (~m)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 1)⨸((~a)*(~f)*(2*(~m) + 1)) - (~d)⨸((~a)*(~b)*(2*(~m) + 1))* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 1)*((~a)*((~n) - 1) - (~b)*((~m) + (~n))*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_30", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + gt((~n), 2) && + ( + ext_isinteger(2*(~m), 2*(~n)) || + ext_isinteger((~m)) + ) ? +-(~d)^2*cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^ (~m)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 2)⨸((~f)*(2*(~m) + 1)) + (~d)^2⨸((~a)*(~b)*(2*(~m) + 1))* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 2)*((~b)*((~n) - 2) + (~a)*((~m) - (~n) + 2)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_31", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + ( + ext_isinteger(2*(~m), 2*(~n)) || + ext_isinteger((~m)) + ) ? +-cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^ (~m)*((~d)*csc((~e) + (~f)*(~x)))^(~n)⨸((~f)*(2*(~m) + 1)) + 1⨸((~a)^2*(2*(~m) + 1))* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*csc((~e) + (~f)*(~x)))^ (~n)*((~a)*(2*(~m) + (~n) + 1) - (~b)*((~m) + (~n) + 1)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_32", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(~n)/((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + gt((~n), 1) ? +(~d)^2*cot( (~e) + (~f)*(~x))*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 2)⨸((~f)*((~a) + (~b)*csc((~e) + (~f)*(~x)))) - (~d)^2⨸((~a)*(~b))* ∫(((~d)*csc((~e) + (~f)*(~x)))^((~n) - 2)*((~b)*((~n) - 2) - (~a)*((~n) - 1)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_33", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(~n)/((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + lt((~n), 0) ? +cot((~e) + (~f)*(~x))*((~d)*csc((~e) + (~f)*(~x)))^(~n)⨸((~f)*((~a) + (~b)*csc((~e) + (~f)*(~x)))) - 1⨸(~a)^2*∫(((~d)*csc((~e) + (~f)*(~x)))^(~n)*((~a)*((~n) - 1) - (~b)*(~n)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_34", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(~n)/((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) ? +-(~b)*(~d)*cot( (~e) + (~f)*(~x))*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 1)⨸((~a)*(~f)*((~a) + (~b)*csc((~e) + (~f)*(~x)))) + (~d)*((~n) - 1)⨸((~a)*(~b))* ∫(((~d)*csc((~e) + (~f)*(~x)))^((~n) - 1)*((~a) - (~b)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_35", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(3//2)/sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) ? +(~d)⨸(~b)*∫(sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))*sqrt((~d)*csc((~e) + (~f)*(~x))), (~x)) - (~a)*(~d)⨸(~b)*∫(sqrt((~d)*csc((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_36", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(~n)/sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + gt((~n), 2) && + ext_isinteger(2*(~n)) ? +-2*(~d)^2* cot((~e) + (~f)*(~x))*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 2)⨸((~f)*(2*(~n) - 3)* sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))) + (~d)^2⨸((~b)*(2*(~n) - 3))* ∫(((~d)*csc((~e) + (~f)*(~x)))^((~n) - 2)*(2*(~b)*((~n) - 2) - (~a)*csc((~e) + (~f)*(~x)))⨸ sqrt((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_37", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(~n)/sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + lt((~n), 0) && + ext_isinteger(2*(~n)) ? +cot((~e) + (~f)*(~x))*((~d)*csc((~e) + (~f)*(~x)))^(~n)⨸((~f)*(~n)*sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))) + 1⨸(2*(~b)*(~d)*(~n))* ∫(((~d)*csc((~e) + (~f)*(~x)))^((~n) + 1)*((~a) + (~b)*(2*(~n) + 1)*csc((~e) + (~f)*(~x)))⨸ sqrt((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_38", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + gt((~n), 2) && + !eq((~m) + (~n) - 1, 0) && + ext_isinteger((~n)) ? +-(~d)^2*cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^ (~m)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 2)⨸((~f)*((~m) + (~n) - 1)) + (~d)^2⨸((~b)*((~m) + (~n) - 1))* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^ (~m)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 2)*((~b)*((~n) - 2) + (~a)*(~m)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_39", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger((~m))) && + gt((~a), 0) && + !(ext_isinteger((~n))) && + gt((~a)*(~d)/(~b), 0) ? +-((~a)*(~d)⨸(~b))^(~n)* cot((~e) + (~f)*(~x))⨸((~a)^((~n) - 2)*(~f)*sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))* sqrt((~a) - (~b)*csc((~e) + (~f)*(~x))))* int_and_subst(((~a) - (~x))^((~n) - 1)*(2*(~a) - (~x))^((~m) - 1⨸2)⨸sqrt((~x)), (~x), (~x), (~a) - (~b)*csc((~e) + (~f)*(~x)), "4_5_1_2_39") : nothing) + +("4_5_1_2_40", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger((~m))) && + gt((~a), 0) && + !(ext_isinteger((~n))) && + lt((~a)*(~d)/(~b), 0) ? +-(-(~a)*(~d)⨸(~b))^(~n)* cot((~e) + (~f)*(~x))⨸((~a)^((~n) - 1)*(~f)*sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))* sqrt((~a) - (~b)*csc((~e) + (~f)*(~x))))* int_and_subst((~x)^((~m) - 1⨸2)*((~a) - (~x))^((~n) - 1)⨸sqrt(2*(~a) - (~x)), (~x), (~x), (~a) + (~b)*csc((~e) + (~f)*(~x)), "4_5_1_2_40") : nothing) + +("4_5_1_2_41", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger((~m))) && + gt((~a), 0) ? +(~a)^2*(~d)* cot((~e) + (~f)*(~x))⨸((~f)*sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))* sqrt((~a) - (~b)*csc((~e) + (~f)*(~x))))* int_and_subst(((~d)*(~x))^((~n) - 1)*((~a) + (~b)*(~x))^((~m) - 1⨸2)⨸sqrt((~a) - (~b)*(~x)), (~x), (~x), csc((~e) + (~f)*(~x)), "4_5_1_2_41") : nothing) + +("4_5_1_2_42", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger((~m))) && + !(gt((~a), 0)) ? +(~a)^intpart((~m))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^ fracpart((~m))⨸(1 + (~b)⨸(~a)*csc((~e) + (~f)*(~x)))^fracpart((~m))* ∫((1 + (~b)⨸(~a)*csc((~e) + (~f)*(~x)))^(~m)*((~d)*csc((~e) + (~f)*(~x)))^(~n), (~x)) : nothing) + +("4_5_1_2_43", +@rule ∫(csc((~!e) + (~!f)*(~x))*sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +((~a) - (~b))*∫(csc((~e) + (~f)*(~x))⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) + (~b)*∫(csc((~e) + (~f)*(~x))*(1 + csc((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_44", +@rule ∫(csc((~!e) + (~!f)*(~x))*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~m), 1) && + ext_isinteger(2*(~m)) ? +-(~b)*cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 1)⨸((~f)*(~m)) + 1⨸(~m)* ∫(csc((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 2)*((~b)^2*((~m) - 1) + (~a)^2*(~m) + (~a)*(~b)*(2*(~m) - 1)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +#(* Int[csc[e_.+f_.*x_]/(a_+b_.*csc[e_.+f_.*x_]),x_Symbol] := -2/f*Subst[Int[1/(a+b-(a-b)*x^2),x],x,Cot[e+f*x]/(1+Csc[e+f*x])] /; FreeQ[{a,b,e,f},x] && NeQ[a^2-b^2,0] *) +("4_5_1_2_45", +@rule ∫(csc((~!e) + (~!f)*(~x))/((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +1⨸(~b)*∫(1⨸(1 + (~a)⨸(~b)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_46", +@rule ∫(csc((~!e) + (~!f)*(~x))/sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +-2*rt((~a) + (~b), 2)⨸((~b)*(~f)*cot((~e) + (~f)*(~x)))* sqrt(((~b)*(1 - csc((~e) + (~f)*(~x))))⨸((~a) + (~b)))* sqrt(-(~b)*(1 + csc((~e) + (~f)*(~x)))⨸((~a) - (~b)))* elliptic_f( asin(sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))⨸rt((~a) + (~b), 2)), ((~a) + (~b))⨸((~a) - (~b))) : nothing) + +("4_5_1_2_47", +@rule ∫(csc((~!e) + (~!f)*(~x))*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + ext_isinteger(2*(~m)) ? +-(~b)*cot( (~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)⨸((~f)*((~m) + 1)*((~a)^2 - (~b)^2)) + 1⨸(((~m) + 1)*((~a)^2 - (~b)^2))* ∫(csc((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~a)*((~m) + 1) - (~b)*((~m) + 2)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_48", +@rule ∫(csc((~!e) + (~!f)*(~x))*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger(2*(~m))) ? +cot((~e) + (~f)*(~x))⨸((~f)*sqrt(1 + csc((~e) + (~f)*(~x)))*sqrt(1 - csc((~e) + (~f)*(~x))))* int_and_subst(((~a) + (~b)*(~x))^(~m)⨸(sqrt(1 + (~x))*sqrt(1 - (~x))), (~x), (~x), csc((~e) + (~f)*(~x)), "4_5_1_2_48") : nothing) + +("4_5_1_2_49", +@rule ∫(csc((~!e) + (~!f)*(~x))^2*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~m), 0) ? +-cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^(~m)⨸((~f)*((~m) + 1)) + (~m)⨸((~m) + 1)* ∫(csc((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 1)*((~b) + (~a)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_50", +@rule ∫(csc((~!e) + (~!f)*(~x))^2*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) ? +(~a)*cot( (~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)⨸((~f)*((~m) + 1)*((~a)^2 - (~b)^2)) - 1⨸(((~m) + 1)*((~a)^2 - (~b)^2))* ∫(csc((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~b)*((~m) + 1) - (~a)*((~m) + 2)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_51", +@rule ∫(csc((~!e) + (~!f)*(~x))^2/sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +-∫(csc((~e) + (~f)*(~x))⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) + ∫(csc((~e) + (~f)*(~x))*(1 + csc((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_52", +@rule ∫(csc((~!e) + (~!f)*(~x))^2*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +-(~a)⨸(~b)*∫(csc((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^(~m), (~x)) + 1⨸(~b)*∫(csc((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1), (~x)) : nothing) + +("4_5_1_2_53", +@rule ∫(csc((~!e) + (~!f)*(~x))^3*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) ? +-(~a)^2*cot( (~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)*((~m) + 1)*((~a)^2 - (~b)^2)) + 1⨸((~b)*((~m) + 1)*((~a)^2 - (~b)^2))* ∫(csc((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)* simp((~a)*(~b)*((~m) + 1) - ((~a)^2 + (~b)^2*((~m) + 1))*csc((~e) + (~f)*(~x)), (~x)), (~x)) : nothing) + +("4_5_1_2_54", +@rule ∫(csc((~!e) + (~!f)*(~x))^3*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + !(lt((~m), -1)) ? +-cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)⨸((~b)*(~f)*((~m) + 2)) + 1⨸((~b)*((~m) + 2))* ∫(csc((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^ (~m)*((~b)*((~m) + 1) - (~a)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_55", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~m), 2) && + ( + ext_isinteger((~m)) && + lt((~n), -1) || + ext_isinteger((~m) + 1/2, 2*(~n)) && + le((~n), -1) + ) ? +(~a)^2*cot( (~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 2)*((~d)*csc((~e) + (~f)*(~x)))^ (~n)⨸((~f)*(~n)) - 1⨸((~d)*(~n))*∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 3)*((~d)*csc((~e) + (~f)*(~x)))^((~n) + 1)* simp((~a)^2*(~b)*((~m) - 2*(~n) - 2) - (~a)*(3*(~b)^2*(~n) + (~a)^2*((~n) + 1))*csc((~e) + (~f)*(~x)) - (~b)*((~b)^2*(~n) + (~a)^2*((~m) + (~n) - 1))*csc((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_5_1_2_56", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~m), 2) && + ( + ext_isinteger((~m)) || + ext_isinteger(2*(~m), 2*(~n)) + ) && + !( + igt((~n), 2) && + !(ext_isinteger((~m))) + ) ? +-(~b)^2*cot( (~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 2)*((~d)*csc((~e) + (~f)*(~x)))^ (~n)⨸((~f)*((~m) + (~n) - 1)) + 1⨸((~d)*((~m) + (~n) - 1))* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 3)*((~d)*csc((~e) + (~f)*(~x)))^(~n)* simp((~a)^3*(~d)*((~m) + (~n) - 1) + (~a)*(~b)^2*(~d)*(~n) + (~b)*((~b)^2*(~d)*((~m) + (~n) - 2) + 3*(~a)^2*(~d)*((~m) + (~n) - 1))*csc((~e) + (~f)*(~x)) + (~a)*(~b)^2*(~d)*(3*(~m) + 2*(~n) - 4)*csc((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_5_1_2_57", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + lt(0, (~n), 1) && + ext_isinteger(2*(~m), 2*(~n)) ? +-(~b)*(~d)*cot( (~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*((~m) + 1)*((~a)^2 - (~b)^2)) + 1⨸(((~m) + 1)*((~a)^2 - (~b)^2))* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 1)* simp((~b)*(~d)*((~n) - 1) + (~a)*(~d)*((~m) + 1)*csc((~e) + (~f)*(~x)) - (~b)*(~d)*((~m) + (~n) + 1)*csc((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_5_1_2_58", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + lt(1, (~n), 2) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~a)*(~d)^2* cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 2)⨸((~f)*((~m) + 1)*((~a)^2 - (~b)^2)) - (~d)^2⨸(((~m) + 1)*((~a)^2 - (~b)^2))* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 2)*((~a)*((~n) - 2) + (~b)*((~m) + 1)*csc((~e) + (~f)*(~x)) - (~a)*((~m) + (~n))*csc((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_5_1_2_59", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + ( + igt((~n), 3) || + ext_isinteger((~n) + 1/2, 2*(~m)) && + gt((~n), 2) + ) ? +-(~a)^2*(~d)^3* cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 3)⨸((~b)*(~f)*((~m) + 1)*((~a)^2 - (~b)^2)) + (~d)^3⨸((~b)*((~m) + 1)*((~a)^2 - (~b)^2))* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 3)* simp((~a)^2*((~n) - 3) + (~a)*(~b)*((~m) + 1)*csc((~e) + (~f)*(~x)) - ((~a)^2*((~n) - 2) + (~b)^2*((~m) + 1))* csc((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_5_1_2_60", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ilt((~m) + 1/2, 0) && + ilt((~n), 0) ? +cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*csc((~e) + (~f)*(~x)))^ (~n)⨸((~a)*(~f)*(~n)) - 1⨸((~a)*(~d)*(~n))*∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^(~m)*((~d)*csc((~e) + (~f)*(~x)))^((~n) + 1)* simp((~b)*((~m) + (~n) + 1) - (~a)*((~n) + 1)*csc((~e) + (~f)*(~x)) - (~b)*((~m) + (~n) + 2)*csc((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_5_1_2_61", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~m), -1) && + ext_isinteger(2*(~m), 2*(~n)) ? +(~b)^2*cot( (~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*csc((~e) + (~f)*(~x)))^ (~n)⨸((~a)*(~f)*((~m) + 1)*((~a)^2 - (~b)^2)) + 1⨸((~a)*((~m) + 1)*((~a)^2 - (~b)^2))* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*csc((~e) + (~f)*(~x)))^(~n)* ((~a)^2*((~m) + 1) - (~b)^2*((~m) + (~n) + 1) - (~a)*(~b)*((~m) + 1)*csc((~e) + (~f)*(~x)) + (~b)^2*((~m) + (~n) + 2)*csc((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_5_1_2_62", +@rule ∫(sqrt((~!d)*csc((~!e) + (~!f)*(~x)))/((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +sqrt((~d)*sin((~e) + (~f)*(~x)))*sqrt((~d)*csc((~e) + (~f)*(~x)))⨸(~d)* ∫(sqrt((~d)*sin((~e) + (~f)*(~x)))⨸((~b) + (~a)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_63", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(3//2)/((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +(~d)*sqrt((~d)*sin((~e) + (~f)*(~x)))*sqrt((~d)*csc((~e) + (~f)*(~x)))* ∫(1⨸(sqrt((~d)*sin((~e) + (~f)*(~x)))*((~b) + (~a)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_5_1_2_64", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(5//2)/((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +(~d)⨸(~b)*∫(((~d)*csc((~e) + (~f)*(~x)))^(3⨸2), (~x)) - (~a)*(~d)⨸(~b)*∫(((~d)*csc((~e) + (~f)*(~x)))^(3⨸2)⨸((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_65", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(~n)/((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~n), 3) ? +-(~d)^3*cot((~e) + (~f)*(~x))*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 3)⨸((~b)*(~f)*((~n) - 2)) + (~d)^3⨸((~b)*((~n) - 2))* ∫(((~d)*csc((~e) + (~f)*(~x)))^((~n) - 3)* simp((~a)*((~n) - 3) + (~b)*((~n) - 3)*csc((~e) + (~f)*(~x)) - (~a)*((~n) - 2)*csc((~e) + (~f)*(~x))^2, (~x))⨸((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_66", +@rule ∫(1/(sqrt((~!d)*csc((~!e) + (~!f)*(~x)))*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +(~b)^2⨸((~a)^2*(~d)^2)*∫(((~d)*csc((~e) + (~f)*(~x)))^(3⨸2)⨸((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) + 1⨸(~a)^2*∫(((~a) - (~b)*csc((~e) + (~f)*(~x)))⨸sqrt((~d)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_67", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(~n)/((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + le((~n), -1) && + ext_isinteger(2*(~n)) ? +cot((~e) + (~f)*(~x))*((~d)*csc((~e) + (~f)*(~x)))^(~n)⨸((~a)*(~f)*(~n)) - 1⨸((~a)*(~d)*(~n))*∫(((~d)*csc((~e) + (~f)*(~x)))^((~n) + 1)⨸((~a) + (~b)*csc((~e) + (~f)*(~x)))* simp((~b)*(~n) - (~a)*((~n) + 1)*csc((~e) + (~f)*(~x)) - (~b)*((~n) + 1)*csc((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_5_1_2_68", +@rule ∫(sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))*sqrt((~!d)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +(~a)*∫(sqrt((~d)*csc((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) + (~b)⨸(~d)*∫(((~d)*csc((~e) + (~f)*(~x)))^(3⨸2)⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_69", +@rule ∫(sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~n), 1) && + ext_isinteger(2*(~n)) ? +-2*(~d)*cos((~e) + (~f)*(~x))* sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*(2*(~n) - 1)) + (~d)^2⨸(2*(~n) - 1)* ∫(((~d)*csc((~e) + (~f)*(~x)))^((~n) - 2)* simp(2*(~a)*((~n) - 2) + (~b)*(2*(~n) - 3)*csc((~e) + (~f)*(~x)) + (~a)*csc((~e) + (~f)*(~x))^2, (~x))⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_70", +@rule ∫(sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))/sqrt((~!d)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))⨸(sqrt((~d)*csc((~e) + (~f)*(~x)))* sqrt((~b) + (~a)*sin((~e) + (~f)*(~x))))*∫(sqrt((~b) + (~a)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_71", +@rule ∫(sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + le((~n), -1) && + ext_isinteger(2*(~n)) ? +cot((~e) + (~f)*(~x))*sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))*((~d)*csc((~e) + (~f)*(~x)))^(~n)⨸((~f)*(~n)) - 1⨸(2*(~d)*(~n))* ∫(((~d)*csc((~e) + (~f)*(~x)))^((~n) + 1)* simp((~b) - 2*(~a)*((~n) + 1)*csc((~e) + (~f)*(~x)) - (~b)*(2*(~n) + 3)*csc((~e) + (~f)*(~x))^2, (~x))⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_72", +@rule ∫(sqrt((~!d)*csc((~!e) + (~!f)*(~x)))/sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +sqrt((~d)*csc((~e) + (~f)*(~x)))* sqrt((~b) + (~a)*sin((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))* ∫(1⨸sqrt((~b) + (~a)*sin((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_73", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(3//2)/sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +(~d)*sqrt((~d)*csc((~e) + (~f)*(~x)))* sqrt((~b) + (~a)*sin((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))* ∫(1⨸(sin((~e) + (~f)*(~x))*sqrt((~b) + (~a)*sin((~e) + (~f)*(~x)))), (~x)) : nothing) + +("4_5_1_2_74", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(~n)/sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~n), 2) && + ext_isinteger(2*(~n)) ? +-2*(~d)^2*cos((~e) + (~f)*(~x))*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 2)* sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))⨸((~b)*(~f)*(2*(~n) - 3)) + (~d)^3⨸((~b)*(2*(~n) - 3))* ∫(((~d)*csc((~e) + (~f)*(~x)))^((~n) - 3)⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))* simp(2*(~a)*((~n) - 3) + (~b)*(2*(~n) - 5)*csc((~e) + (~f)*(~x)) - 2*(~a)*((~n) - 2)*csc((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_5_1_2_75", +@rule ∫(1/(csc((~!e) + (~!f)*(~x))*sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +-cos((~e) + (~f)*(~x))*sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))⨸((~a)*(~f)) - (~b)⨸(2*(~a))*∫((1 + csc((~e) + (~f)*(~x))^2)⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_76", +@rule ∫(1/(sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))*sqrt((~!d)*csc((~!e) + (~!f)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +1⨸(~a)*∫(sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))⨸sqrt((~d)*csc((~e) + (~f)*(~x))), (~x)) - (~b)⨸((~a)*(~d))*∫(sqrt((~d)*csc((~e) + (~f)*(~x)))⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_77", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(~n)/sqrt((~a) + (~!b)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt((~n), -1) && + ext_isinteger(2*(~n)) ? +cos((~e) + (~f)*(~x))*((~d)*csc((~e) + (~f)*(~x)))^((~n) + 1)* sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))⨸((~a)*(~d)*(~f)*(~n)) + 1⨸(2*(~a)*(~d)*(~n))*∫(((~d)*csc((~e) + (~f)*(~x)))^((~n) + 1)⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))* simp(-(~b)*(2*(~n) + 1) + 2*(~a)*((~n) + 1)*csc((~e) + (~f)*(~x)) + (~b)*(2*(~n) + 3)*csc((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_5_1_2_78", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(3//2)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + le((~n), -1) && + ext_isinteger(2*(~n)) ? +(~a)*cot((~e) + (~f)*(~x))* sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))*((~d)*csc((~e) + (~f)*(~x)))^(~n)⨸((~f)*(~n)) + 1⨸(2*(~d)*(~n))*∫(((~d)*csc((~e) + (~f)*(~x)))^((~n) + 1)⨸sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))* simp((~a)*(~b)*(2*(~n) - 1) + 2*((~b)^2*(~n) + (~a)^2*((~n) + 1))*csc((~e) + (~f)*(~x)) + (~a)*(~b)*(2*(~n) + 3)*csc((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_5_1_2_79", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + gt((~n), 3) && + ( + ext_isinteger((~n)) || + ext_isinteger(2*(~m), 2*(~n)) + ) && + !(igt((~m), 2)) ? +-(~d)^3*cot( (~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) + 1)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 3)⨸((~b)*(~f)*((~m) + (~n) - 1)) + (~d)^3⨸((~b)*((~m) + (~n) - 1))* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^(~m)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 3)* simp((~a)*((~n) - 3) + (~b)*((~m) + (~n) - 2)*csc((~e) + (~f)*(~x)) - (~a)*((~n) - 2)*csc((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_5_1_2_80", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt(0, (~m), 2) && + lt(0, (~n), 3) && + !eq((~m) + (~n) - 1, 0) && + ( + ext_isinteger((~m)) || + ext_isinteger(2*(~m), 2*(~n)) + ) ? +-(~b)*(~d)*cot( (~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 1)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 1)⨸((~f)*((~m) + (~n) - 1)) + (~d)⨸((~m) + (~n) - 1)* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 2)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 1)* simp((~a)*(~b)*((~n) - 1) + ((~b)^2*((~m) + (~n) - 2) + (~a)^2*((~m) + (~n) - 1))* csc((~e) + (~f)*(~x)) + (~a)*(~b)*(2*(~m) + (~n) - 2)*csc((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_5_1_2_81", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + lt(-1, (~m), 2) && + lt(1, (~n), 3) && + !eq((~m) + (~n) - 1, 0) && + ( + ext_isinteger((~n)) || + ext_isinteger(2*(~m), 2*(~n)) + ) ? +-(~d)^2*cot((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^ (~m)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 2)⨸((~f)*((~m) + (~n) - 1)) + (~d)^2⨸((~b)*((~m) + (~n) - 1))* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 1)*((~d)*csc((~e) + (~f)*(~x)))^((~n) - 2)* simp((~a)*(~b)*((~n) - 2) + (~b)^2*((~m) + (~n) - 2)*csc((~e) + (~f)*(~x)) + (~a)*(~b)*(~m)*csc((~e) + (~f)*(~x))^2, (~x)), (~x)) : nothing) + +("4_5_1_2_82", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(3//2)/sqrt((~!d)*csc((~!e) + (~!f)*(~x))),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +(~a)*∫(sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))⨸sqrt((~d)*csc((~e) + (~f)*(~x))), (~x)) + (~b)⨸(~d)*∫(sqrt((~a) + (~b)*csc((~e) + (~f)*(~x)))*sqrt((~d)*csc((~e) + (~f)*(~x))), (~x)) : nothing) + +("4_5_1_2_83", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(~!n)*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~!m),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m)) ? +sin((~e) + (~f)*(~x))^(~n)*((~d)*csc((~e) + (~f)*(~x)))^(~n)* ∫(((~b) + (~a)*sin((~e) + (~f)*(~x)))^(~m)⨸sin((~e) + (~f)*(~x))^((~m) + (~n)), (~x)) : nothing) + +# ("4_5_1_2_84", +# @rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~!m)*((~!d)*csc((~!e) + (~!f)*(~x)))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~x)) ? +# Unintegrable[((~a) + (~b)*csc((~e) + (~f)*(~x)))^(~m)*((~d)*csc((~e) + (~f)*(~x)))^(~n), (~x)] : nothing) + +("4_5_1_2_85", +@rule ∫(((~!d)*cos((~!e) + (~!f)*(~x)))^(~m)*((~!a) + (~!b)*sec((~!e) + (~!f)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~p), (~x)) && + !(ext_isinteger((~m))) && + !(ext_isinteger((~p))) ? +((~d)*cos((~e) + (~f)*(~x)))^fracpart((~m))*(sec((~e) + (~f)*(~x))⨸(~d))^fracpart((~m))* ∫((sec((~e) + (~f)*(~x))⨸(~d))^(-(~m))*((~a) + (~b)*sec((~e) + (~f)*(~x)))^(~p), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.1.3 (d sin)^n (a+b sec)^m.jl b/src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.1.3 (d sin)^n (a+b sec)^m.jl new file mode 100644 index 0000000..89d9cc0 --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.1.3 (d sin)^n (a+b sec)^m.jl @@ -0,0 +1,51 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.5.1.3 (d sin)^n (a+b sec)^m *) +("4_5_1_3_1", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~!p)*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~!m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~p), (~x)) && + ext_isinteger((~m)) ? +∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~b) + (~a)*sin((~e) + (~f)*(~x)))^(~m)⨸sin((~e) + (~f)*(~x))^(~m), (~x)) : nothing) + +("4_5_1_3_2", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~!p)*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + ext_isinteger(((~p) - 1)/2) && + eq((~a)^2 - (~b)^2, 0) ? +-1⨸((~f)*(~b)^((~p) - 1))* int_and_subst((-(~a) + (~b)*(~x))^(((~p) - 1)⨸2)*((~a) + (~b)*(~x))^((~m) + ((~p) - 1)⨸2)⨸ (~x)^((~p) + 1), (~x), (~x), csc((~e) + (~f)*(~x)), "4_5_1_3_2") : nothing) + +("4_5_1_3_3", +@rule ∫(cos((~!e) + (~!f)*(~x))^(~!p)*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) && + ext_isinteger(((~p) - 1)/2) && + !eq((~a)^2 - (~b)^2, 0) ? +-1⨸(~f)*int_and_subst((-1 + (~x))^(((~p) - 1)⨸2)*(1 + (~x))^(((~p) - 1)⨸2)*((~a) + (~b)*(~x))^(~m)⨸ (~x)^((~p) + 1), (~x), (~x), csc((~e) + (~f)*(~x)), "4_5_1_3_3") : nothing) + +("4_5_1_3_4", +@rule ∫(((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m)/cos((~!e) + (~!f)*(~x))^2,(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~m), (~x)) ? +tan((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^(~m)⨸(~f) + (~b)*(~m)*∫(csc((~e) + (~f)*(~x))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^((~m) - 1), (~x)) : nothing) + +("4_5_1_3_5", +@rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~!p)*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + ( + eq((~a)^2 - (~b)^2, 0) || + ext_isinteger(2*(~m), (~p)) + ) ? +sin((~e) + (~f)*(~x))^ fracpart((~m))*((~a) + (~b)*csc((~e) + (~f)*(~x)))^fracpart((~m))⨸((~b) + (~a)*sin((~e) + (~f)*(~x)))^ fracpart((~m))* ∫(((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~b) + (~a)*sin((~e) + (~f)*(~x)))^(~m)⨸sin((~e) + (~f)*(~x))^(~m), (~x)) : nothing) + +# ("4_5_1_3_6", +# @rule ∫(((~!g)*cos((~!e) + (~!f)*(~x)))^(~!p)*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~!m),(~x)) => +# !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) ? +# Unintegrable[((~g)*cos((~e) + (~f)*(~x)))^(~p)*((~a) + (~b)*csc((~e) + (~f)*(~x)))^(~m), (~x)] : nothing) + +#(* Int[(g_.*sec[e_.+f_.*x_])^p_*(a_+b_.*csc[e_.+f_.*x_])^m_.,x_Symbol] := Int[(g*Sec[e+f*x])^p*(b+a*Sin[e+f*x])^m/Sin[e+f*x]^m,x] /; FreeQ[{a,b,e,f,g,p},x] && Not[IntegerQ[p]] && IntegerQ[m] *) +("4_5_1_3_7", +@rule ∫(((~!g)*sec((~!e) + (~!f)*(~x)))^(~p)*((~a) + (~!b)*csc((~!e) + (~!f)*(~x)))^(~!m),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~g), (~m), (~p), (~x)) && + !(ext_isinteger((~p))) ? +(~g)^intpart((~p))*((~g)*sec((~e) + (~f)*(~x)))^fracpart((~p))*cos((~e) + (~f)*(~x))^fracpart((~p))* ∫(((~a) + (~b)*csc((~e) + (~f)*(~x)))^(~m)⨸cos((~e) + (~f)*(~x))^(~p), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.1.4 (d tan)^n (a+b sec)^m.jl b/src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.1.4 (d tan)^n (a+b sec)^m.jl new file mode 100644 index 0000000..f23f433 --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.1.4 (d tan)^n (a+b sec)^m.jl @@ -0,0 +1,169 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.5.1.4 (d tan)^n (a+b sec)^m *) +("4_5_1_4_1", +@rule ∫(cot((~!c) + (~!d)*(~x))^(~!m)*((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + ext_isinteger(((~m) - 1)/2) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~n)) ? +1⨸((~a)^((~m) - (~n) - 1)*(~b)^(~n)*(~d))* int_and_subst(((~a) - (~b)*(~x))^(((~m) - 1)⨸2)*((~a) + (~b)*(~x))^(((~m) - 1)⨸2 + (~n))⨸ (~x)^((~m) + (~n)), (~x), (~x), sin((~c) + (~d)*(~x)), "4_5_1_4_1") : nothing) + +("4_5_1_4_2", +@rule ∫(cot((~!c) + (~!d)*(~x))^(~!m)*((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + ext_isinteger(((~m) - 1)/2) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger((~n))) ? +-1⨸((~d)*(~b)^((~m) - 1))* int_and_subst((-(~a) + (~b)*(~x))^(((~m) - 1)⨸2)*((~a) + (~b)*(~x))^(((~m) - 1)⨸2 + (~n))⨸(~x), (~x), (~x), csc((~c) + (~d)*(~x)), "4_5_1_4_2") : nothing) + +("4_5_1_4_3", +@rule ∫(((~!e)*cot((~!c) + (~!d)*(~x)))^(~m)*((~a) + (~!b)*csc((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + gt((~m), 1) ? +-(~e)*((~e)*cot((~c) + (~d)*(~x)))^((~m) - 1)*((~a)*(~m) + (~b)*((~m) - 1)*csc((~c) + (~d)*(~x)))⨸((~d)* (~m)*((~m) - 1)) - (~e)^2⨸(~m)* ∫(((~e)*cot((~c) + (~d)*(~x)))^((~m) - 2)*((~a)*(~m) + (~b)*((~m) - 1)*csc((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_5_1_4_4", +@rule ∫(((~!e)*cot((~!c) + (~!d)*(~x)))^(~m)*((~a) + (~!b)*csc((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + lt((~m), -1) ? +-((~e)*cot((~c) + (~d)*(~x)))^((~m) + 1)*((~a) + (~b)*csc((~c) + (~d)*(~x)))⨸((~d)*(~e)*((~m) + 1)) - 1⨸((~e)^2*((~m) + 1))* ∫(((~e)*cot((~c) + (~d)*(~x)))^((~m) + 2)*((~a)*((~m) + 1) + (~b)*((~m) + 2)*csc((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_5_1_4_5", +@rule ∫(((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))/cot((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) ? +∫(((~b) + (~a)*sin((~c) + (~d)*(~x)))⨸cos((~c) + (~d)*(~x)), (~x)) : nothing) + +("4_5_1_4_6", +@rule ∫(((~!e)*cot((~!c) + (~!d)*(~x)))^(~!m)*((~a) + (~!b)*csc((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) ? +(~a)*∫(((~e)*cot((~c) + (~d)*(~x)))^(~m), (~x)) + (~b)*∫(((~e)*cot((~c) + (~d)*(~x)))^(~m)*csc((~c) + (~d)*(~x)), (~x)) : nothing) + +("4_5_1_4_7", +@rule ∫(cot((~!c) + (~!d)*(~x))^(~!m)*((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + ext_isinteger(((~m) - 1)/2) && + !eq((~a)^2 - (~b)^2, 0) ? +-(-1)^(((~m) - 1)⨸2)⨸((~d)*(~b)^((~m) - 1))* int_and_subst(((~b)^2 - (~x)^2)^(((~m) - 1)⨸2)*((~a) + (~x))^(~n)⨸(~x), (~x), (~x), (~b)*csc((~c) + (~d)*(~x)), "4_5_1_4_7") : nothing) + +("4_5_1_4_8", +@rule ∫(((~!e)*cot((~!c) + (~!d)*(~x)))^(~m)*((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + igt((~n), 0) ? +∫(ext_expand(((~e)*cot((~c) + (~d)*(~x)))^(~m), ((~a) + (~b)*csc((~c) + (~d)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("4_5_1_4_9", +@rule ∫(cot((~!c) + (~!d)*(~x))^(~!m)*((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~m)/2) && + ext_isinteger((~n) - 1/2) ? +-2*(~a)^((~m)⨸2 + (~n) + 1⨸2)⨸(~d)* int_and_subst((~x)^(~m)*(2 + (~a)*(~x)^2)^((~m)⨸2 + (~n) - 1⨸2)⨸(1 + (~a)*(~x)^2), (~x), (~x), cot((~c) + (~d)*(~x))⨸sqrt((~a) + (~b)*csc((~c) + (~d)*(~x))), "4_5_1_4_9") : nothing) + +("4_5_1_4_10", +@rule ∫(((~!e)*cot((~!c) + (~!d)*(~x)))^(~m)*((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + ilt((~n), 0) ? +(~a)^(2*(~n))*(~e)^(-2*(~n))* ∫(((~e)*cot((~c) + (~d)*(~x)))^((~m) + 2*(~n))⨸(-(~a) + (~b)*csc((~c) + (~d)*(~x)))^(~n), (~x)) : nothing) + +("4_5_1_4_11", +@rule ∫(((~!e)*cot((~!c) + (~!d)*(~x)))^(~m)*((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + eq((~a)^2 - (~b)^2, 0) && + !(ext_isinteger((~n))) ? +-2^((~m) + (~n) + 1)*((~e)*cot((~c) + (~d)*(~x)))^((~m) + 1)*((~a) + (~b)*csc((~c) + (~d)*(~x)))^ (~n)⨸((~d)*(~e)*((~m) + 1))*((~a)⨸((~a) + (~b)*csc((~c) + (~d)*(~x))))^((~m) + (~n) + 1)* appell_f1(((~m) + 1)⨸2, (~m) + (~n), 1, ((~m) + 3)⨸ 2, -((~a) - (~b)*csc((~c) + (~d)*(~x)))⨸((~a) + (~b)*csc((~c) + (~d)*(~x))), ((~a) - (~b)*csc((~c) + (~d)*(~x)))⨸((~a) + (~b)*csc((~c) + (~d)*(~x)))) : nothing) + +("4_5_1_4_12", +@rule ∫(sqrt((~!e)*cot((~!c) + (~!d)*(~x)))/((~a) + (~!b)*csc((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +1⨸(~a)*∫(sqrt((~e)*cot((~c) + (~d)*(~x))), (~x)) - (~b)⨸(~a)*∫(sqrt((~e)*cot((~c) + (~d)*(~x)))⨸((~b) + (~a)*sin((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_5_1_4_13", +@rule ∫(((~!e)*cot((~!c) + (~!d)*(~x)))^(~m)/((~a) + (~!b)*csc((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + igt((~m) - 1/2, 0) ? +-(~e)^2⨸(~b)^2*∫(((~e)*cot((~c) + (~d)*(~x)))^((~m) - 2)*((~a) - (~b)*csc((~c) + (~d)*(~x))), (~x)) + (~e)^2*((~a)^2 - (~b)^2)⨸(~b)^2* ∫(((~e)*cot((~c) + (~d)*(~x)))^((~m) - 2)⨸((~a) + (~b)*csc((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_5_1_4_14", +@rule ∫(1/(sqrt((~!e)*cot((~!c) + (~!d)*(~x)))*((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +1⨸(~a)*∫(1⨸sqrt((~e)*cot((~c) + (~d)*(~x))), (~x)) - (~b)⨸(~a)*∫(1⨸(sqrt((~e)*cot((~c) + (~d)*(~x)))*((~b) + (~a)*sin((~c) + (~d)*(~x)))), (~x)) : nothing) + +("4_5_1_4_15", +@rule ∫(((~!e)*cot((~!c) + (~!d)*(~x)))^(~m)/((~a) + (~!b)*csc((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ilt((~m) + 1/2, 0) ? +1⨸((~a)^2 - (~b)^2)*∫(((~e)*cot((~c) + (~d)*(~x)))^(~m)*((~a) - (~b)*csc((~c) + (~d)*(~x))), (~x)) + (~b)^2⨸((~e)^2*((~a)^2 - (~b)^2))* ∫(((~e)*cot((~c) + (~d)*(~x)))^((~m) + 2)⨸((~a) + (~b)*csc((~c) + (~d)*(~x))), (~x)) : nothing) + +("4_5_1_4_16", +@rule ∫(cot((~!c) + (~!d)*(~x))^2*((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) ? +∫((-1 + csc((~c) + (~d)*(~x))^2)*((~a) + (~b)*csc((~c) + (~d)*(~x)))^(~n), (~x)) : nothing) + +("4_5_1_4_17", +@rule ∫(cot((~!c) + (~!d)*(~x))^(~m)*((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + igt((~m)/2, 0) && + ext_isinteger((~n) - 1/2) ? +∫(ext_expand(((~a) + (~b)*csc((~c) + (~d)*(~x)))^ (~n), (-1 + csc((~c) + (~d)*(~x))^2)^((~m)⨸2), (~x)), (~x)) : nothing) + +("4_5_1_4_18", +@rule ∫(cot((~!c) + (~!d)*(~x))^(~m)*((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ilt((~m)/2, 0) && + ext_isinteger((~n) - 1/2) && + eq((~m), -2) ? +∫(ext_expand(((~a) + (~b)*csc((~c) + (~d)*(~x)))^ (~n), (-1 + sec((~c) + (~d)*(~x))^2)^(-(~m)⨸2), (~x)), (~x)) : nothing) + +("4_5_1_4_19", +@rule ∫(((~!e)*cot((~!c) + (~!d)*(~x)))^(~m)*((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + igt((~n), 0) ? +∫(ext_expand(((~e)*cot((~c) + (~d)*(~x)))^(~m), ((~a) + (~b)*csc((~c) + (~d)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("4_5_1_4_20", +@rule ∫(cot((~!c) + (~!d)*(~x))^(~!m)*((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~a)^2 - (~b)^2, 0) && + ext_isinteger((~n)) && + ext_isinteger((~m)) && + ( + ext_isinteger((~m)/2) || + le((~m), 1) + ) ? +∫(cos((~c) + (~d)*(~x))^(~m)*((~b) + (~a)*sin((~c) + (~d)*(~x)))^(~n)⨸sin((~c) + (~d)*(~x))^((~m) + (~n)), (~x)) : nothing) + +# ("4_5_1_4_21", +# @rule ∫(((~!e)*cot((~!c) + (~!d)*(~x)))^(~!m)*((~!a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) ? +# Unintegrable[((~e)*cot((~c) + (~d)*(~x)))^(~m)*((~a) + (~b)*csc((~c) + (~d)*(~x)))^(~n), (~x)] : nothing) + +("4_5_1_4_22", +@rule ∫(((~!e)*cot((~!c) + (~!d)*(~x)))^(~m)*((~a) + (~!b)*sec((~!c) + (~!d)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + !(ext_isinteger((~m))) ? +((~e)*cot((~c) + (~d)*(~x)))^(~m)*tan((~c) + (~d)*(~x))^(~m)* ∫(((~a) + (~b)*sec((~c) + (~d)*(~x)))^(~n)⨸tan((~c) + (~d)*(~x))^(~m), (~x)) : nothing) + +("4_5_1_4_23", +@rule ∫(((~!e)*tan((~!c) + (~!d)*(~x))^(~p))^(~m)*((~a) + (~!b)*sec((~!c) + (~!d)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) ? +((~e)*tan((~c) + (~d)*(~x))^(~p))^(~m)⨸((~e)*tan((~c) + (~d)*(~x)))^((~m)*(~p))* ∫(((~e)*tan((~c) + (~d)*(~x)))^((~m)*(~p))*((~a) + (~b)*sec((~c) + (~d)*(~x)))^(~n), (~x)) : nothing) + +("4_5_1_4_24", +@rule ∫(((~!e)*cot((~!c) + (~!d)*(~x))^(~p))^(~m)*((~a) + (~!b)*csc((~!c) + (~!d)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) ? +((~e)*cot((~c) + (~d)*(~x))^(~p))^(~m)⨸((~e)*cot((~c) + (~d)*(~x)))^((~m)*(~p))* ∫(((~e)*cot((~c) + (~d)*(~x)))^((~m)*(~p))*((~a) + (~b)*csc((~c) + (~d)*(~x)))^(~n), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.7 (d trig)^m (a+b (c sec)^n)^p.jl b/src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.7 (d trig)^m (a+b (c sec)^n)^p.jl new file mode 100644 index 0000000..f8a8f41 --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.5 Secant/4.5.7 (d trig)^m (a+b (c sec)^n)^p.jl @@ -0,0 +1,281 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.5.7 (d trig)^m (a+b (c sec)^n)^p *) +# ("4_5_7_1", +# @rule ∫((~!u)*((~a) + (~!b)*sec((~!e) + (~!f)*(~x))^2)^(~p),(~x)) => +# !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && +# eq((~a) + (~b), 0) && +# ext_isinteger((~p)) ? +# (~b)^(~p)*∫(ActivateTrig[(~u)*tan((~e) + (~f)*(~x))^(2*(~p))], (~x)) : nothing) +# +# ("4_5_7_2", +# @rule ∫((~!u)*((~a) + (~!b)*sec((~!e) + (~!f)*(~x))^2)^(~p),(~x)) => +# !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && +# eq((~a) + (~b), 0) ? +# ∫(ActivateTrig[(~u)*((~b)*tan((~e) + (~f)*(~x))^2)^(~p)], (~x)) : nothing) + +("4_5_7_3", +@rule ∫(((~!b)*sec((~!e) + (~!f)*(~x))^2)^(~p),(~x)) => + !contains_var((~b), (~e), (~f), (~p), (~x)) && + !(ext_isinteger((~p))) ? +let + ff = free_factors(tan((~e) + (~f)*(~x)), (~x)) + + (~b)*ff⨸(~f)* int_and_subst(((~b) + (~b)*ff^2*(~x)^2)^((~p) - 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸ff, "4_5_7_3") +end : nothing) + +("4_5_7_4", +@rule ∫(((~!b)*((~!c)*sec((~!e) + (~!f)*(~x)))^(~n))^(~p),(~x)) => + !contains_var((~b), (~c), (~e), (~f), (~n), (~p), (~x)) && + !(ext_isinteger((~p))) ? +(~b)^intpart((~p))*((~b)*((~c)*sec((~e) + (~f)*(~x)))^(~n))^ fracpart((~p))⨸((~c)*sec((~e) + (~f)*(~x)))^((~n)*fracpart((~p)))* ∫(((~c)*sec((~e) + (~f)*(~x)))^((~n)*(~p)), (~x)) : nothing) + +("4_5_7_5", +@rule ∫(tan((~!e) + (~!f)*(~x))^(~!m)*((~!b)*sec((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~b), (~e), (~f), (~p), (~x)) && + !(ext_isinteger((~p))) && + ext_isinteger(((~m) - 1)/2) ? +(~b)⨸(2*(~f))* int_and_subst((-1 + (~x))^(((~m) - 1)⨸2)*((~b)*(~x))^((~p) - 1), (~x), (~x), sec((~e) + (~f)*(~x))^2, "4_5_7_5") : nothing) + +# ("4_5_7_6", +# @rule ∫((~!u)*((~!b)*sec((~!e) + (~!f)*(~x))^(~n))^(~p),(~x)) => +# !contains_var((~b), (~e), (~f), (~n), (~p), (~x)) && +# !(ext_isinteger((~p))) && +# ext_isinteger((~n)) && +# ( +# eq((~u), 1) || +# MatchQ[(~u), (d_.*trig_[(~e) + (~f)*(~x)])^m_. /; !contains_var((~d), (~m), (~x)) && +# in( trig, [sin, cos, tan, cot, sec, csc])] +# ) ? +# let +# ff = free_factors(sec((~e) + (~f)*(~x)), (~x)) +# +# ((~b)*ff^(~n))^ intpart((~p))*((~b)*sec((~e) + (~f)*(~x))^(~n))^ fracpart((~p))⨸(sec((~e) + (~f)*(~x))⨸ff)^((~n)*fracpart((~p)))* ∫(ActivateTrig[(~u)]*(sec((~e) + (~f)*(~x))⨸ff)^((~n)*(~p)), (~x)) +# end : nothing) + +# Error in translation of the line: +# Int[u_.*(b_.*(c_.*sec[e_. + f_.*x_])^n_)^p_, x_Symbol] := b^IntPart[p]*(b*(c*Sec[e + f*x])^n)^ FracPart[p]/(c*Sec[e + f*x])^(n*FracPart[p])* Int[ActivateTrig[u]*(c*Sec[e + f*x])^(n*p), x] /; FreeQ[{b, c, e, f, n, p}, x] && Not[IntegerQ[p]] && Not[IntegerQ[n]] && (EqQ[u, 1] || MatchQ[u, (d_.*trig_[e + f*x])^m_. /; FreeQ[{d, m}, x] && MemberQ[{sin, cos, tan, cot, sec, csc}, trig]]) + +("4_5_7_8", +@rule ∫(1/((~a) + (~!b)*sec((~!e) + (~!f)*(~x))^2),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + !eq((~a) + (~b), 0) ? +(~x)⨸(~a) - (~b)⨸(~a)*∫(1⨸((~b) + (~a)*cos((~e) + (~f)*(~x))^2), (~x)) : nothing) + +("4_5_7_9", +@rule ∫(((~a) + (~!b)*sec((~!e) + (~!f)*(~x))^2)^(~p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + !eq((~a) + (~b), 0) && + !eq((~p), -1) ? +let + ff = free_factors(tan((~e) + (~f)*(~x)), (~x)) + + ff⨸(~f)* int_and_subst(((~a) + (~b) + (~b)*ff^2*(~x)^2)^(~p)⨸(1 + ff^2*(~x)^2), (~x), (~x), tan((~e) + (~f)*(~x))⨸ff, "4_5_7_9") +end : nothing) + +("4_5_7_10", +@rule ∫(((~a) + (~!b)*sec((~!e) + (~!f)*(~x))^4)^(~p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + ext_isinteger(2*(~p)) ? +let + ff = free_factors(tan((~e) + (~f)*(~x)), (~x)) + + ff⨸(~f)* int_and_subst(((~a) + (~b) + 2*(~b)*ff^2*(~x)^2 + (~b)*ff^4*(~x)^4)^(~p)⨸(1 + ff^2*(~x)^2), (~x), (~x), tan((~e) + (~f)*(~x))⨸ff, "4_5_7_10") +end : nothing) + +("4_5_7_11", +@rule ∫(((~a) + (~!b)*sec((~!e) + (~!f)*(~x))^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + ext_isinteger((~n)/2) && + igt((~p), -2) ? +let + ff = free_factors(tan((~e) + (~f)*(~x)), (~x)) + + ff⨸(~f)* int_and_subst(((~a) + (~b)*(1 + ff^2*(~x)^2)^((~n)⨸2))^(~p)⨸(1 + ff^2*(~x)^2), (~x), (~x), tan((~e) + (~f)*(~x))⨸ff, "4_5_7_11") +end : nothing) + +# ("4_5_7_12", +# @rule ∫(((~a) + (~!b)*((~!c)*sec((~!e) + (~!f)*(~x)))^(~n))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~e), (~f), (~n), (~p), (~x)) ? +# Unintegrable[((~a) + (~b)*((~c)*sec((~e) + (~f)*(~x)))^(~n))^(~p), (~x)] : nothing) + +("4_5_7_13", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~m)*((~a) + (~!b)*sec((~!e) + (~!f)*(~x))^(~n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + ext_isinteger((~m)/2) && + ext_isinteger((~n)/2) ? +let + ff = free_factors(tan((~e) + (~f)*(~x)), (~x)) + + ff^((~m) + 1)⨸(~f)* int_and_subst( (~x)^(~m)*expand_to_sum((~a) + (~b)*(1 + ff^2*(~x)^2)^((~n)⨸2), (~x))^ (~p)⨸(1 + ff^2*(~x)^2)^((~m)⨸2 + 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸ff, "4_5_7_13") +end : nothing) + +("4_5_7_14", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~!m)*((~a) + (~!b)*sec((~!e) + (~!f)*(~x))^(~n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + ext_isinteger(((~m) - 1)/2) && + ext_isinteger((~n)) && + ext_isinteger((~p)) ? +let + ff = free_factors(cos((~e) + (~f)*(~x)), (~x)) + + -ff⨸(~f)* int_and_subst((1 - ff^2*(~x)^2)^(((~m) - 1)⨸2)*((~b) + (~a)*(ff*(~x))^(~n))^ (~p)⨸(ff*(~x))^((~n)*(~p)), (~x), (~x), cos((~e) + (~f)*(~x))⨸ff, "4_5_7_14") +end : nothing) + +("4_5_7_15", +@rule ∫(sin((~!e) + (~!f)*(~x))^(~!m)*((~a) + (~!b)*((~!c)*sec((~!e) + (~!f)*(~x)))^(~n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~e), (~f), (~n), (~p), (~x)) && + ext_isinteger(((~m) - 1)/2) && + ( + gt((~m), 0) || + eq((~n), 2) || + eq((~n), 4) + ) ? +let + ff = free_factors(cos((~e) + (~f)*(~x)), (~x)) + + 1⨸((~f)*ff^(~m))* int_and_subst((-1 + ff^2*(~x)^2)^(((~m) - 1)⨸2)*((~a) + (~b)*((~c)*ff*(~x))^(~n))^(~p)⨸ (~x)^((~m) + 1), (~x), (~x), sec((~e) + (~f)*(~x))⨸ff, "4_5_7_15") +end : nothing) + +# ("4_5_7_16", +# @rule ∫(((~!d)*sin((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*((~!c)*sec((~!e) + (~!f)*(~x)))^(~n))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~d)*sin((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*((~c)*sec((~e) + (~f)*(~x)))^(~n))^(~p), (~x)] : nothing) + +("4_5_7_17", +@rule ∫(((~!d)*cos((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*sec((~!e) + (~!f)*(~x))^(~!n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) && + ext_isinteger((~n), (~p)) ? +(~d)^((~n)*(~p))* ∫(((~d)*cos((~e) + (~f)*(~x)))^((~m) - (~n)*(~p))*((~b) + (~a)*cos((~e) + (~f)*(~x))^(~n))^(~p), (~x)) : nothing) + +("4_5_7_18", +@rule ∫(((~!d)*cos((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*((~!c)*sec((~!e) + (~!f)*(~x)))^(~n))^ (~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) ? +((~d)*cos((~e) + (~f)*(~x)))^fracpart((~m))*(sec((~e) + (~f)*(~x))⨸(~d))^fracpart((~m))* ∫((sec((~e) + (~f)*(~x))⨸(~d))^(-(~m))*((~a) + (~b)*((~c)*sec((~e) + (~f)*(~x)))^(~n))^(~p), (~x)) : nothing) + +# Rule skipped because of "Module": +# Int[tan[e_. + f_.*x_]^m_.*(a_ + b_.*sec[e_. + f_.*x_]^n_)^p_., x_Symbol] := Module[{ff = FreeFactors[Cos[e + f*x], x]}, -1/(f*ff^(m + n*p - 1))* Subst[Int[(1 - ff^2*x^2)^((m - 1)/2)*(b + a*(ff*x)^n)^p/ x^(m + n*p), x], x, Cos[e + f*x]/ff]] /; FreeQ[{a, b, e, f, n}, x] && IntegerQ[(m - 1)/2] && IntegerQ[n] && IntegerQ[p] + +("4_5_7_20", +@rule ∫(tan((~!e) + (~!f)*(~x))^(~!m)*((~a) + (~!b)*((~!c)*sec((~!e) + (~!f)*(~x)))^(~n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~e), (~f), (~n), (~p), (~x)) && + ext_isinteger(((~m) - 1)/2) && + ( + gt((~m), 0) || + eq((~n), 2) || + eq((~n), 4) || + igt((~p), 0) || + ext_isinteger(2*(~n), (~p)) + ) ? +let + ff = free_factors(sec((~e) + (~f)*(~x)), (~x)) + + 1⨸(~f)* int_and_subst((-1 + ff^2*(~x)^2)^(((~m) - 1)⨸2)*((~a) + (~b)*((~c)*ff*(~x))^(~n))^(~p)⨸(~x), (~x), (~x), sec((~e) + (~f)*(~x))⨸ff, "4_5_7_20") +end : nothing) + +("4_5_7_21", +@rule ∫(((~!d)*tan((~!e) + (~!f)*(~x)))^(~m)*((~!b)*sec((~!e) + (~!f)*(~x))^2)^(~!p),(~x)) => + !contains_var((~b), (~d), (~e), (~f), (~m), (~p), (~x)) ? +let + ff = free_factors(tan((~e) + (~f)*(~x)), (~x)) + + (~b)*ff⨸(~f)* int_and_subst(((~d)*ff*(~x))^(~m)*((~b) + (~b)*ff^2*(~x)^2)^((~p) - 1), (~x), (~x), tan((~e) + (~f)*(~x))⨸ff, "4_5_7_21") +end : nothing) + +("4_5_7_22", +@rule ∫(((~!d)*tan((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*sec((~!e) + (~!f)*(~x))^(~n))^(~!p),(~x)) => + !contains_var((~a), (~b), (~d), (~e), (~f), (~m), (~p), (~x)) && + ext_isinteger((~n)/2) && + ( + ext_isinteger((~m)/2) || + eq((~n), 2) + ) ? +let + ff = free_factors(tan((~e) + (~f)*(~x)), (~x)) + + ff⨸(~f)* int_and_subst(((~d)*ff*(~x))^ (~m)*((~a) + (~b)*(1 + ff^2*(~x)^2)^((~n)⨸2))^(~p)⨸(1 + ff^2*(~x)^2), (~x), (~x), tan((~e) + (~f)*(~x))⨸ff, "4_5_7_22") +end : nothing) + +("4_5_7_23", +@rule ∫(((~!d)*tan((~!e) + (~!f)*(~x)))^(~m)*((~!b)*((~!c)*sec((~!e) + (~!f)*(~x)))^(~n))^(~!p),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~p), (~n), (~x)) && + gt((~m), 1) && + !eq((~p)*(~n) + (~m) - 1, 0) && + ext_isinteger(2*(~p)*(~n), 2*(~m)) ? +(~d)*((~d)*tan((~e) + (~f)*(~x)))^((~m) - 1)*((~b)*((~c)*sec((~e) + (~f)*(~x)))^(~n))^ (~p)⨸((~f)*((~p)*(~n) + (~m) - 1)) - (~d)^2*((~m) - 1)⨸((~p)*(~n) + (~m) - 1)* ∫(((~d)*tan((~e) + (~f)*(~x)))^((~m) - 2)*((~b)*((~c)*sec((~e) + (~f)*(~x)))^(~n))^(~p), (~x)) : nothing) + +("4_5_7_24", +@rule ∫(((~!d)*tan((~!e) + (~!f)*(~x)))^(~m)*((~!b)*((~!c)*sec((~!e) + (~!f)*(~x)))^(~n))^(~!p),(~x)) => + !contains_var((~b), (~c), (~d), (~e), (~f), (~p), (~n), (~x)) && + lt((~m), -1) && + !eq((~p)*(~n) + (~m) + 1, 0) && + ext_isinteger(2*(~p)*(~n), 2*(~m)) ? +((~d)*tan((~e) + (~f)*(~x)))^((~m) + 1)*((~b)*((~c)*sec((~e) + (~f)*(~x)))^(~n))^(~p)⨸((~d)*(~f)*((~m) + 1)) - ((~p)*(~n) + (~m) + 1)⨸((~d)^2*((~m) + 1))* ∫(((~d)*tan((~e) + (~f)*(~x)))^((~m) + 2)*((~b)*((~c)*sec((~e) + (~f)*(~x)))^(~n))^(~p), (~x)) : nothing) + +# ("4_5_7_25", +# @rule ∫(((~!d)*tan((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*((~!c)*sec((~!e) + (~!f)*(~x)))^(~n))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~d)*tan((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*((~c)*sec((~e) + (~f)*(~x)))^(~n))^(~p), (~x)] : nothing) + +("4_5_7_26", +@rule ∫(((~!d)*cot((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*((~!c)*sec((~!e) + (~!f)*(~x)))^(~n))^ (~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) ? +((~d)*cot((~e) + (~f)*(~x)))^fracpart((~m))*(tan((~e) + (~f)*(~x))⨸(~d))^fracpart((~m))* ∫((tan((~e) + (~f)*(~x))⨸(~d))^(-(~m))*((~a) + (~b)*((~c)*sec((~e) + (~f)*(~x)))^(~n))^(~p), (~x)) : nothing) + +("4_5_7_27", +@rule ∫(sec((~!e) + (~!f)*(~x))^(~m)*((~a) + (~!b)*sec((~!e) + (~!f)*(~x))^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + ext_isinteger((~m)/2) && + ext_isinteger((~n)/2) ? +let + ff = free_factors(tan((~e) + (~f)*(~x)), (~x)) + + ff⨸(~f)* int_and_subst((1 + ff^2*(~x)^2)^((~m)⨸2 - 1)* expand_to_sum((~a) + (~b)*(1 + ff^2*(~x)^2)^((~n)⨸2), (~x))^(~p), (~x), (~x), tan((~e) + (~f)*(~x))⨸ff, "4_5_7_27") +end : nothing) + +("4_5_7_28", +@rule ∫(sec((~!e) + (~!f)*(~x))^(~!m)*((~a) + (~!b)*sec((~!e) + (~!f)*(~x))^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + ext_isinteger(((~m) - 1)/2) && + ext_isinteger((~n)/2) && + ext_isinteger((~p)) ? +let + ff = free_factors(sin((~e) + (~f)*(~x)), (~x)) + + ff⨸(~f)* int_and_subst( expand_to_sum((~b) + (~a)*(1 - ff^2*(~x)^2)^((~n)⨸2), (~x))^ (~p)⨸(1 - ff^2*(~x)^2)^(((~m) + (~n)*(~p) + 1)⨸2), (~x), (~x), sin((~e) + (~f)*(~x))⨸ff, "4_5_7_28") +end : nothing) + +("4_5_7_29", +@rule ∫(sec((~!e) + (~!f)*(~x))^(~!m)*((~a) + (~!b)*sec((~!e) + (~!f)*(~x))^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~p), (~x)) && + ext_isinteger(((~m) - 1)/2) && + ext_isinteger((~n)/2) && + !(ext_isinteger((~p))) ? +let + ff = free_factors(sin((~e) + (~f)*(~x)), (~x)) + + ff⨸(~f)* int_and_subst(((~a) + (~b)⨸(1 - ff^2*(~x)^2)^((~n)⨸2))^ (~p)⨸(1 - ff^2*(~x)^2)^(((~m) + 1)⨸2), (~x), (~x), sin((~e) + (~f)*(~x))⨸ff, "4_5_7_29") +end : nothing) + +("4_5_7_30", +@rule ∫(sec((~!e) + (~!f)*(~x))^(~!m)*((~a) + (~!b)*sec((~!e) + (~!f)*(~x))^(~n))^(~p),(~x)) => + !contains_var((~a), (~b), (~e), (~f), (~x)) && + ext_isinteger((~m), (~n), (~p)) ? +∫(ext_expand(sec((~e) + (~f)*(~x))^(~m)*((~a) + (~b)*sec((~e) + (~f)*(~x))^(~n))^(~p), (~x)), (~x)) : nothing) + +# ("4_5_7_31", +# @rule ∫(((~!d)*sec((~!e) + (~!f)*(~x)))^(~!m)*((~a) + (~!b)*((~!c)*sec((~!e) + (~!f)*(~x)))^(~n))^ (~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~d)*sec((~e) + (~f)*(~x)))^(~m)*((~a) + (~b)*((~c)*sec((~e) + (~f)*(~x)))^(~n))^(~p), (~x)] : nothing) + +("4_5_7_32", +@rule ∫(((~!d)*csc((~!e) + (~!f)*(~x)))^(~m)*((~a) + (~!b)*((~!c)*sec((~!e) + (~!f)*(~x)))^(~n))^ (~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) && + !(ext_isinteger((~m))) ? +((~d)*csc((~e) + (~f)*(~x)))^fracpart((~m))*(sin((~e) + (~f)*(~x))⨸(~d))^fracpart((~m))* ∫((sin((~e) + (~f)*(~x))⨸(~d))^(-(~m))*((~a) + (~b)*((~c)*sec((~e) + (~f)*(~x)))^(~n))^(~p), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.7 Miscellaneous/(a sin(m x) + b cos(n x))^p.pdf b/src/methods/rule_based/rules2/4 Trig functions/4.7 Miscellaneous/(a sin(m x) + b cos(n x))^p.pdf new file mode 100755 index 0000000000000000000000000000000000000000..3ecd18b131e24159510a129f48a869f4ec97f172 GIT binary patch literal 335610 zcma&MV{~L+@Gd;Dor!JRHYdr%M#r`}NjkP|+jcUsZQJGqH^2XV?^^F#_si`Mwd<*R zcAb5?_CDRK>X82ylb~m2V1p(9@%@2iCSoG8Gqi-|<750~Vr%AXPQ>zUQDT&^uy!_a zWR$Q5IGc!>7}*({2nfJBIXjvFY+&6p4|TO`@LCXjxAp5{Y{Gvz_dJxH(2LLJ+gs%d zWe608?Q_*;4Y|gCzQ@L!O0vpYitRUY*&`E$oc|1I_l|#YAgk`CdAT-1_`2uT>v4CP zJ=8z@8XqQP$nkzt)6ePYD!q&G`*_d_;+$su>imQQGBO^$NxnQ~M5rwbrWn>RJo+;- zGPlbs-8^3t>gwxv2ZB;8I}%qN+M;?d!j_A#T31`nBGNQ*;maUgef=y~ruTcCJsf?% z-!Aaq*0pZcVuSG0?Um$dfoZlXRQ(+VBp0?{fn#`+V=7~`tX50OKRWZK25^FOTZ;RA zG$NqF<0k6n#_Hv=W_P!H-+B2gdfwjbR*X-7-hFhWFzN~Zdwo3ROxfn&Jm&_}9j4an z`3P6J^XGK+c|IC+Qlc%6E5oeW=J)zMx_4vj_K~yTof-HvXx#Sxx?5dWy@q*zCKz}< z_yWN!wfBePtIR*3=;g$P+%fY1;T>aNFKrjFtSjtpSgAml1fE*y=R@WX3h|NOzZPNv zQ|+8b;iXF-M%`oG)io~#r@{t=C|6XOD85T`39kpWU(-BQ`4mb*`VpYZdQp7CT^5Tu zocOg4hiW@YA67A6Llp!si>zLvUMQlIAJ?cgfWEz4#(E1;mIv_IVBfI8>B(i^GsHsE zkB1#fx}{+Ml(jO>>~|jc60_8x8b=tilSa^3jI7*c*w+$i+21aN%uN<24y3`K+{*-4 z;~5HK70HnLWI8Ho1wC=3F9ATzY%-FXby+3ud!_tMnmuAVGHYdl)~((ptBz!bD-r4+ zOKp82Vgbmd9eReXRbE0zG^-v9Hp&aIZC)n-7Nz0#Gykygd)=?R%NRn^7wpJ8?}!Mi zyJDeAyc`_rgjtsm#gxmaWrX!orxFM7s+c$_XY7DA`J|2b2V9M#BaYuyGrABZ)oWiM zRsodXpsM1=wf>~KRAkwt3Q}wm|9lC1OM8q~0gY|&`q4J2aZkW+P}K-k>GXbKqz#5_ zobubzrJ;|0O-dWAqFUOl%EK<@_Vz8kOcCt{FFmGBTKckcGPR}Pv{{6G0{4_a6> zE)ObLKUVn}WLv+4?X&f>(q*2j&aO~4qV>UcZc6k`e)-*$MogSV!}*^_4#hK4UU@5vkQ(HC%G7IsA4=$LT5+_%CG2rnoM`zRvtKg=fs1e? zCi7g6!`51;%j%7kXCl~6N`X&e{5O)-yN#5v0{X`2=8|kHp1dLW-gtNkq07uG&-jY3Jrk5a6_XO&2rSB zRz?C(3w^$3pGGMY2(RuNOCKT0rO^3J z*pTdOJi>}kZCw@OWLpBf)50K8u;L#QwNTPX4G&ka!&dl4iM9}MaVB15Al{XrT`n|b zq*E0ks|tKp-!Tt1Ri=nUzjnTGoffKpKY;V3Z*1~6WmXE-BsG0R1K#ERSSrV; zt8?jZitScqD)6;+y?S3-JOB^xhWBqO${?i+@RAzkYdwR#-S)HCt6yDSAY=Jl5J#J` z3?=n4_F3ucY-ym*djYkp+=2-EH6~G#-i# z4cxzCl|R8pOdLjX$Nrp~kma&K2DU|_tbzYf2U7Eu^&@gkX8vedlk!|{9eHMu%k1QZ zf1w70mIFK-c@98h^;X zAm zIR^C4UnXz8mRDw)27kf)y^8LyA^;B2En>XytsNwUaUj%fjw*`KWGfu=zL0D0zLFNVwp~T=f@73al5J z0}4U!5ZfdA;k1YAg)_Hp{jWNteq})LS%=laou>oFa*59|0QiA7CvkZN@Ey=AIN2p* zbrG|KHQxh$UXu9X;%a)TU&1o}WuAlvDy42S^235x6qf4r&k%?OEh*}X#YDZ(+DI(q z9E~V}REw_^xW&(G7@4)LQliaRVoY@6$~a+=UNsJ>4D4B9kZv^rs@`Q8Xo##%7LjkW z4Al>fT_C7)RpIYH)k!~PD%rHK^7z$c;7$by?nI|$?X_YCCt(-cd%elQ?vAmFYEbI91FQGcgaepQx?`pMV zAenfkMdss;c4kLwp)|lB0K&Y7d9^8nhGTZ07vM+`V?$mz@F;_BV^W0#$g)VXVtD}= z+$N1Tp_(M=H~nYd=kTkSm@YA;PRxjUmtKW(5Y@V8t)TV!^ou#=7*&;T5u({3CJ+HKm5ZR~O7n(he#X!L8$S83Y}B;-dy- z0dps$sfq{=udKv5f9=-HhIp->(G>;Ow;gt9!O9skl9{y~p2EVX3tR@;~wT4c9)H;*vatC#X73UX39RgR$mEDb@dqbz#KJTf0mD zI-aTa#n!zhIgy`hD~NQy)m!_?7$P{n6dpet)U*fQD!sYY?qt4LS3+?eQJ2Nr$+To8 zw}mwj=XU=Jcb3Eq3E1Z~lJHpYsZ1G)3|N$yMlDl?(E#tR$t>i&TuXJfU+-d`J!y_G zs*kgLt|YK6BzSK<)DrfrOx;he)#~V)B(QZIY8XXE##cVl zIB70nkruF7MUGKTQonz7EF5gsMHBF(@t8oUr+2h)*fVwB)4DmzSJqc}NCq4}jH!eJ3%Dbd`3 z;S>5;P_U!T@`WOz>2qA+gSX{Go&gIaGB;HECEBA^jTgy%CS zY|9~GgqMV53xm!PqWC&BW319WpBgzfkF#IOr&|M1$>v~<9D~!^&cADn1E_Q>r$vp; zs|721XqjLom1qlwe=`S4I}0D_X%smBGpTY(Hj5vUV_7MBtW7b|F!rwCBw_xsjv9k& z_xKhzzfUXmsi)u% zTrCmKU7;%M%_+z;(F1&D)h++=)3y|lG8Ivjg>V~h7X|{{CD~0rMG1DlwR1ota5iPqhUSS;ZZmOO8 zK5k(c@#YGf=_;g!krani6!9_f!vOBp8%*?z~L{WEe)S`1dga5Fe;9Hh+|p=~IIDXh9G`g}&QtxgB^gAvV4?Z0Q< zQteh{@`yB?M(9#~6tJ&hL(v^x&*~(9d;e=m{m(JNXO8i2Z0F&U+LGUJqJ~F_%USpS zQBbhb+Qw2?1(!oux;6w>4xv8A?r8!P*xW!pYbk-=W=vEe=Rm`5!do9K-swES9uH!G~tIj_^!?1D*5CmhLIKQIANF}9Nfe| zm9xUqoSXtwAe!Vr)JS#-sy>YZAZjeTJXO7tH1S2jp;{#noh8e=A6EQ-9>XJWw>0+T zo=YqB5ovmJA)NBhgD#Ax1GtnGs{29B@8Lnp%_$F25?ehEhHHGD`+r@pZlaWH*k6ZW zBn2k6%WCX0v4C}wQJFY&veuxN&nJ+K*N}fql3SoL)_Mcdd|yGj?*Qx>GR;TPaBCsg zqXKR3&_8qvC16c#jsL&$$hY=iMdiOb%6}spD<{i;-v4yg|Et=<_Ww|AnbftZ!RNI7 z^z|EjZCsH%U!CnpY!+(h808pjHb(`6SZnm(*WuNBA#ZE$SoPCan#-J>h@G49vcUo| z%<}px8dfNEmM2lb!213y)c2(Wn=;I3tMV!P>i7AQlCk}H+tkkI+`Dq@-)q9+5N74^|V*~zH^^}Y(1a8yZ!ZkaCdiPc9N@ndb~e(y%tbo zIqZ=xH<#j}gaOH}d3X;U?H9C*KBXYg_Imby-7^60*UkKC82j_xivP2)$!dTtL8VW} z8JN9NO9df#-jrvwzNi~Hrn@=F^U}}N#j#Vd_UMLG5ievj;|9892@2rzcDP?>+)=O$ zxI)U=cz-)@nYPpaI=Z`==FAb?_>}dh~R3y{kn;Lw8B8|F$ zPAYjf*^ok}IHzn7@-&SemIa8b_123ev)s~}xBpZN8g-8zHHsGt$--U@KDd@bMWdLM zKZJ_^dv#ew{u)FE@~G|l=0_qe^g%aBCHkqPrSx>E|x$)QJU zNGE>KzmKKi+<320WQhli2|4^Nf1aIKNkt>*xR`F%+k6ktMQm-U@-HlzZy-kuf zu6z}~?hg}T$rpWs!slf_U5#O_;gaNAnlnH4A<;Q)&xeE4F#9NZu$ zM%tdKLiBxj*Zz$)vLA2Poy?e;(7Sd0WgHs>A8e!~%{`mA?~BWHhR^Gx2(lB)Rm-3VFG#X^2fxow>%o=@TEp#%vuWfF2@w%(~v%_`$inL_a5LPEp zp_T0KT0LSTOoh-mdW9;5x*P2>KDJ~{l((A!suVf1Vq^c zy>7Y{eAM|<-7SH+#_g}9sU^CrUW@o;yB@!fqt%QS`W~cwC-!Oa)7JR#`ivz$yNBwd za`&S0q2-~CS$-LguU87t`9hyZTgoS$$t_nBo1m>62aP}?4TE;adej2O-sT1VmW9}sRXVRY?NNtn*9zpRWI)~X`_TMp8RYp-g#OVi&(8W96&ojxw z1IWze^(v{5I@UMy3(y~<+x~XznZkE;e`O<@0ATqLlJl@`h>yH|FJ$=`pngX8;l94H?$jGt;G|GACEr>8tFT=7vWiiL$1}+Q?iP z<5pKW(1&*r371DAeR$)zkr=(OYqOl;>y6V+cqj`{#08LNU4K+--hY1KZp6--XG54) z+6t1+U`Z`GbF}?KZ4=S95DXr*?Wyt8@GVDm2JbAQ~ zrzr-9Y238G6j%#LA-)EVRt1P*0uw?b3cY_3;9^18K*?Kv8c#idd^{#vK)R4-37+$}?c5jT8JURAiXjg!;3e-%1&UDZU^)&xN$_tsDAY>Ma z5zvpEA=$pf1-QeFw=w)lxfJcEcrOhv>@#Dt0P z3B*%9(F0o!g9sy2DnuS8)-@Ww4^CJKpk7O1*D zk`4xQRuXTukukCjSK0%Q3hsxouv{#ZLOTibTM+#u{%D|8-01k@WGJ(eo*XJ24dG0b zVINKQesyzyyC=U2)G3e*&)~0fyotm>%IuL-IXod`Zp`Z_8;aZ(DE|V zv!H<4X+qCk9=H2!&6wo3{Z0LN*B9C6HwtTpm5(O z7iegK#p{BcYD&32%XJ86Kqqyc*$k13dEl~h3+Su&Hvhd{4*CIGcu90K`Cc6j`IyD9 z?vx%3`3OKr>mB<8^(gB5L*(^6b3^(!p<2J*7G)*zBt&kC1{jw;X(OcIdSG&JZucA% zJ%X?gAN+qi*hiQOa_L4f@QqmY_tzUxd>$47`dsHSGOCa!+0OFb8cyk$~tz`BN>#AxtowyWlIxXpl}NRT++fFsU&wHR_%BtPnG>}llPw&fSR zak(Kk_hM`p+jDvfnU^uO47in*Yblby;5i2)%^I{7* z*dRVwF399{MkvN1gxn!U(E?7iY=Fh`^784pB_?~GQyxO+!i-K8N|~O$CEO=?p;=3I zQJ9{YzI0GvzgS$GCV&tB-|L~kAjV!I&-lY+1Lnh`fhkAG;sWZNx>nh%fhfJANBzyL z6VCn(M5Lj4PN&Z+R@v$7&fCJYJX!#+6A~aI%>}GD*f$Aw@h;ILvJqcnSL#9q++WwH25{A9K%5CAv5%%$+WWSZ=23 zIK$#S@jZ8AqZGW%ERBuh?*3QmH&qShAD+rIN=&RzrF7|#@|{E~(9)!?mqb=Xy9hdd zCi#M&GB0w~IpO!zf`s(RiWu`F9Y?zM*up}CMUzB$nOWW3hLY^rYU9aZ8(H3EsC=S~ z73!K&mYfK-{3cmq-md>XIZP6~y|f6n={Me;mlKg>drk#9K5@v4aLce{%@IE&D+y-x zw~LsSemIY<|0HZMwmfL*B{mK@coF6D+f%`2Td-LInr z1tLpOm^(sn9G!PU^X&>WP=k%W`ohH2Q&%>wMq3J4a}=pg7T=YPWQtbNZ*CQY=EzMJ zM^;ELH06!*mRNF_JT#%Qj1@b7bHb+nhcjM`LlDJwyLX_+A+G$`KpkwFA$J;nlC*18 zwVu31;^{t9XsrCI!!}lLLG1_yi<{G$<6Y*!Y1%;T`YLwLoX zxH_`ld1IWs9&PQ7h>jYPY9qV3exLiCrm&VejkcdgbmsA!r{>v zw6@62AEZeGd*Y3?bwi=wiKK8HI^?#tXY+@T@~zcgYLU*IANF0J%!s1iAgWk3wcN?K!b^U#d93~F55^6_`Hk*9k=%CEq%tX;}TA6@u5PXz2&Fl zTl8?L>jJyqAaN|4k<|dDI3szHEbTx1D3Hyn-FXShIgnXlpdjECc>4W^^k6@2X!z84 z#a1Oq`+eecOC=~Qs8w6XZRZiZ7aU8{dIXCrQI_a9t{2q9y@#Zo4h~ng$9EimiuDAaOeOt&qM$) zc=tw^G|NPU5a)3RyKo6OENC;Fe$q0&BYZ*^3LlgeF>Kz_Ixx^0yJWQRVGw_*b{!h* z3Wx0u$&MvIk!P;Xq@y3bML;1=0r$c|$TvkT$D%{`Tpk(^pQ3`egNM?_>V_=NvPHBD zRM**oNFM+pf8=|&*c z_BD_DpDR8R->23T)Y?RtDperSCqRC_#dN4EToW*dK;5BD;2j>`RuI|>^26VBm6Il^ zhwDVDs=`>o_2}roaErTXex+>hwY|dK^dV^UKc^HPAaJdYZ(fp@RB@rjY}hl*FcoKR z-O7E_3Hza5i@i&1|6YnLwOMKL#8KAqVdMjpkMDnK{|kCKly%fbxsPDx6eEoRPIHJQ z1AlcU4Aivc@xMh^;+Efm-v^i90&?tk@}lWVmhs?AYu!oXK?P_9@0~pRCPojTDvX`_ zhbMrb(=jQx1zr=8h#ab3R#+q5B&{1#;Jw@<0Y~(i6F_TiK~Ly zSDLPvvnJ}2>fHHEDTKNIoA53cK{OR&!Z!AHJ2XDU@^;u^_xZN>PyJxF_-)T1?&W5( zFDqA?;I8-lm&fsqf-xx5aZ?F03H)($IlGy;w3dpZRXvu*JY+D6u0i^-H3I!47uaui zRoLN>LG={(sfqA1@H6R#%G5|Jm}3$N_DrV)&!@eTAOfPO#0@{(LAbND$una*iW-53%WR7N1UYNs#K^>M zt$_Tl7ZykU4CJju%m*koM#K#TWHJI8``Eus6Sgu+ULLW3nOH0h#31_04D<D1P0L%X zU>llHip18tBGdBM5aOVzLv6FtiIo;yV}tIspL?03^cFWZ$efOaJ9Mea#7q+KZP=SP zpYNJ;T%GI=33UZVilxHxNJ-%da=kHNdRNplS+|uU#(5=5bhP&*w|b~QFOxtlel-1c zG22wpLxhL<81m9h4h)TA828W1L*h-Z#}o5DlaI;EbIWh0gOcF?lA2FE zB*Mv{Ral(4)9^B&8pY-mG!;#ybW& zjE^Zq3KVN>c8Q(1a~B`I&WPyuF1W>dcFQT5AHJMXY%#3(?CL3+0TFLY8?sMm-)=Oo z(QFU*tD14OD=v>bP1NV>^>ntxahf}=GOG_aQSwu4n0&GucD$ZP3ieuV=eklB{WVJ_0qb=6@?EtUtZaO*Jx-#VxKp`% zt=JA6!Nh2u{+5Zv@_!`AL)|bujNJ6yg>O`U{v9RV)4`fn3d`}99(_8qh7o& z(TzO9kote~XEV>9l7VZ^z%_ zWVf`}hp`TL>7LGUWS8-d%F5yIYrZ7kF$`3zZ<)}Qs&5Sr|GTIo`6ZC0=MYfI$G`9Ool7_0ydb83o=z zW__HkEFHCCQZ1}io68q9kKg2v_cb+-*Pbr9inDD!84oW6%4&^FgfKua?^R1lItWzu z*3Hr{>V^d*pD_%C`B=)G>D%~Hj`M14DsBFhD_3zNS8Mqe7>z1!;%uL-Z&PaDqx&Wr zEod}6f+ zi6&y5;rb^|+93eJ#p=kWQr`+nh8D7^`F~1I_#+G3W&l$`wym%RTl0TrPY8gi`L}7H zSo<4EKmbOyG+_JTE4~RNmqkPqGdB=`u*#HxTB)TbqKVNrF<}j|>+gvxE^z(uIl{uJ z-`fsa7TApr6c^FoS$2zkQ$kLb>cRkG+inKbs+=?t(Zzk62&6yksGtRB&hCg(B!PC(^A5FsdW)gJW!F96$|G?J-Du%@bpS} zk0kME35?&>CN1cfETp4@CsX4FF+vHH=voy^rk~Lj!qj2cymC{pX3q9!`c=$&M#DJt zb`BA82kY_WpaWbOMt;OEw>e^(oc&i#!NSghxA+^pZa~5lW@IlIri%Gv$lsF$3=fqF zv9wt+SuaJ;fv{`0V$bA{fz0vqbC|yO;HznFvSPt*w3I|L z9|MWQOM%&}Zf8|miNr>012Ca=vX3|98@B_Ek)jYr5Mr+cS|mG2bz?Wj!_$CX)Xh_? zmRorv|28XGPqHI|)n53ZeXY8a>|4|J}y> zuR-@;>yDF&h57%q@!0>bHXg_SLmTf<*Q$n~#o^P}ckmyz)P`k4XMzP>qs88WxRy%T zAJD3Gp=1+rfAZD%jg_x%RvpKb4qnkKu48CWP!JyP=~a)Al#tAEQHDjEV80mj_hY42 zelM4jJGH8#koMF>ZS=98zc#UiZ<)mr&Zo9kzd|~0lztrQ)-Q>r8zzM<*2|ZG z#Wb54j zezCccJtPSLq_qKXiP2>CX-3P|%r)UN37N*d1}FMoZ*y*5sVO>EEo~8M30~CLXR6vJ zyxbG!)SSFM$(J}gnb*|q_;5%7Xj_L=a|s@`0bk}C)+8A9S(DpZa2bjli#$bvKdsiJ zT}#pid`-3huUm@l$V%QX5qbn zFzlB9_U>NXPd(bPi+Lz4n6mvv?HeV|-ga@77;-iYJkb&C6N!btZS$SJbN+Z39`spf zhdDb2>||!-^9*FM0U?hPqj=LCmbpv+PMj%b5`dlDxx#K`2aQ;m*gFTL^bZe^N(2+u zQcO9R#tDmp&hxJS6AN7Kn0+425wtV!E%7oheJqd+W7DVDUDiUuxqx5Vs`oT!L+2-9 z)3^W~WSnHfsSLP<@dO4B3sTg&XMTN1^+CnB2k4Vzqs!(tV2GfN7!(?%gi_|ooKL7h zyLvJG)fSrv6+{DN34S!oY-vw^E7R)HtwjN;Zb{85Hr+^vC{Fp&h1(1&%mU$Vb}8U1^ZN1Jkb8IAHmZ*y=g!9~B5o5B zYouQRAOe3fEHT7F>`hN^oyy-QBD7zzfZ;)g^}N#=I2D36JRCuQ!iN^8v~-;dd1a0a z_|Zm(h^=CAQ{4!zqIEnfMw_Sl!(KdfE>v3{0v{a2HYxd`y4n9)mj~AIiD^f)W@{Q% z%;Fj`qMr#oKxoyzK=K@#LBXCAKyYISkG`01^?`5Vne?vd^NS;h@H#W!J7OC`P;>k&&&PwU5ZP>m2pk8r!?yt$ z6b$?M$rhZLSCo;=cCc{PfPIeq879~Z;llFqgqZ}Pevuo6!ao24_bMM6Mmz!b;RJne5$Fa&7}0EK{UKv0JL=twt-ZW2FeIZ!GB+w zi!AhRW^ke)Pj02%)#4)GP>&X{j#>p4;EUC+Cb{AKe)hVa^7Z`iG0s`zCyc;{%0KJa z-!iS&nCDYldYvD& zkx`22=MO94e~74&;=}K#sEwMjJG6CciH)a3d9$+*7mU*FjzdyeaYSI(gC8bjTXCo` zACwY%y#>;hh^Vj3fYM&64S|2*6IQwE17mE#c4{Usj-#fyrfx+xKYF@k zp#>U!HEJmY^Vj2-S`w}+O@GPJg(?9x*@yBL2e6eU&R8_-H4!v@Jk0-{Ts*;;n%V#F zte#W$mzI0fX~~qZI{}Aig+pq$oNUn;Bu~~*MG6N8e$9CQiLfcgFuFt6_`rHL^hG1h zA~eno+#Wws`+4|b9ISEbg-4Y{eSAs!mvS^qaG8-N<{1*Myz~waLSZEHU)Gd!UwE*; zF0C;x@f=+LuSB;_ia8_^ISO?JP&i|HMAmm$I+0ZCI~I*U>&A$11IQSjhzULFDnGIx z5g}&mj;Cp9l81RqHLRqNekQ;xzci8jGEZtL2_>pKLm?8e(pJMnA&KpX*+N9QCH2`b zLY21~*G%mxnz!ds7R*%j+%EKeYGc_@=^wWV9ctnoX{rO(<>3iQ{&J#?uHYxo)>`LiLX!Mdeb9Iy zJfOI?NsjMgxebR)**|zdGhCgJa@l(RWPAWEy@wiuUc_`=GTG^Z{jblao95O%yFH1J zO|cvCc0P7LqhsiSBafnRCUMQ=?Ez2lOKL&V5F+72ztaJ6=fBh^WM*Lez#)2^zwS1! zTa{@bd~!aby=2@7_t6m^BNqQ@gY$ItETMW5w%jEK+k8k>qwN%n)({r1ZBbs<`(tk; z8LG*Gv9dgzNmZvnDl?ZAM9F`7HGvanE(mt{JRMN$PC{q-pyR8f5n+46js{Ks0g>j{ zJzxp?7m}z!bFIQ7({v@!_E#I8R;NU_kh=-F$GHeAR09F-M$vZV8Dk>$(xSix8|#=L z(j!zuC#RlHg_n?J_VO{&>RGARe=57!X)D(GMn zedTe1$yycg7Nr#A3(xiw+mKlHX|oN8I_X8VS!+Z`Q+&#tNND;i@Dref@g?4a7*{(o zsT_lXj9w^6M_{Ok>;R1!h8KgQa8^*!r$%2K(%H`LLKvDfRDU0Mvl8RNYwW9goa|{p z+5-w&)J#d?ZxvaN$VX)Uw0HZu!huZxq$8RIe5GVZ9rw_HE_BQp8Vvxj^#&O#N5TpS zXZPUIDDjP8B&ivC*Mo}oKp8$kMV@wF*{(4J4TU~%u}c(6mP>$Yvr9ktbHIX58PUT^z2*yZ9}!LT5t)DnqMqgF}^9q%Rnbc zGDhnwsJA9@S3x}|n7#eYhs$Z8n=c298fy&8Rb&r~t#h;yF|IUThsJ&$ZDw{YQD|`( zvK(oNs={j)ybgX?6c_N4S%x2hK8q*=)z~a~KkBU1*wf#l-0L>{;DBBv=o{Mbz z%c&ih0dJjTpYVeL%{DTfV3z_!n|y=JpaPgtSVH^%L*W0Ba;uPSN!a0bgHNBHsvuLK zIg2ZxfZ8kx9E981T}k$VM2G{V#Jjrrj%E!Fzvz~jD`h2ToQ0aUu(AYX>zOyzo-kbA`D)OaRs zx_ZWLQ9I+=A38l_wT00ximCb@BXz$8YK*zb23fk=P!tLdvn?v8+cy$88Eci!oJn#> zaL=RNr#O4~hTdaI4o1MYNZfN0M68yBJ24CvTNa(l$P94IZ%W_bH^sh=#TNDdm^k_e zhbLN3xzUH@LdIHcirTpUL#+bO2Ok6&ND&ITg&n}A;jNGI|E|`;PSAfI@=tQc_+gXw+X!Xqu-vKE^8zI} z&V`H9UUi&23yF(oG5Kg=XEUh&?qDuJyJQ`;>%~AQD_XU^Hiw|$a+m>&BC!v*IeA%p zpRep4RZu<@NxbptHOW7pXAjp`{tp(#F44vEa4-U^=q23di#wk0#%whmK#TCIStU_us$*>8mHNrnM|FDXdf+jGQd;peyZU z8x;_@eb0b#WpxIYclDsk+RuD-UP8Hpoci}4d~uHhm|glpmmx44k<|Vftn51LGR3Qf z!INyw;I^-y;E~Hq0d)&6NxcZ3qs!_`QJ|a+osrTVo*iP!EC)XD$Ez;104iUqf=+7N}Zh1dA!j~j9W*x|^=;nrcThP35a_zsfBq3FM>rRU)| zT8vX|L+*L23D(jqgZX5#&|CGh1Fx02{mmbj)S1{mVZi}m1Iy*3H)?hPX+uKf8N1b? zw*$E~iaBGTsWbani9`CoHC_f}f5ZIac&Gnvdm+9%nDe=%P|$dXL&rQUnVUV$Y5X%B zv}F#Yzqcx>ouJj>zxW#c6a;=Fy;1Be1yt5-fEZqRp0Rd++>&FNouN@Z*bS~--yIIU zVaL|wC<_LYi0=zl8K*xZ9NE(|dVMFz7IC>5^)g|(SI*GVa>w*|V%{&dH|n&`c8BBa z5DBfdO$D^Y8$#@x6>k+Ey7H?=W(VU}*moAx|0fHadg}6y=&fyo6yI+|H6M&jc*1OG zk<0mgUUk%TeBb=i_jj7-vy+?=5VQgM!&uu<&X9E2Di7Qiz>L>U&%L*~Z?$ujVnau` zZaTqkem~BUJ1=G&?IB!265S4g=FJ@&kUL2zY)>AmG;Siv+qTP1U~`WfejCkL^RSve z=TM}$V~MAt%Z0~rENA`9HG*W%WxcAL#>kk9+Ig|dw4vOV(C*Cji?E0R53wPFk`yc{ z=CwB#O9dozcb~@L&>qWnJ-!c2LC?ak=EOa80MHgb@ux0ipc2y%?3(!&U+z1`0+|RT z0pk5yc$|O8z{V_*z``z5!ksYNl-f7ZS<*bE<(0@y?bMqM9+u*oXY?7oh8#Zwle64| zIjzQV^k7qj;60(L5bRWN$K&AL#$cnM$5)x5+mkQ1Oori@Biiu-yV4j*WS}Gehuu-> zX}^o&Ptacwr|5};rvvAP7*5}<=e3^&Ca$=z3^ABnY6jGpEpR zQd*6#(frk}5 z20x6PXVZxmcmam)1L%951z`fYkX)R@)mW}PFLYhU&}k=q#PV<@v->tfk9;lV zUT0rHK3?)j%fb$X6sCqhex z?>M@eFo8pG+ljK{5D|C(gQjBe7_lK#?q^}TmB#uR){Cf28VD3OQe^|hsW>} znxk@IBXkq8?&Tu++0vJNeF!H}2>c;OCSN#8o1nbrB)%a^kAG(@9RK?|dSv24Lb#>F zHj_6{jA*=(JeBgcx6^qexsZo&vd5}i0)5pZkf2K1LNNa+d0RB}6}w2TWFjoLY)fAD z8ijM$VpB}9TakpyrX!V9|5X)*^CZ`!aUcrcTWHv3(P>|7PU*^~Gz9JB6DD08USr6i zG<1GJVQs3Xgu<3v{=d~$fFjN!`{MA+NPs~FY>DD4p|a`bbVcD1e^?ibhxTSy?z_67 zvXMNkh{i$ru_=*WJ|$No7u5rxXEjkc$p4EgsY_4Lomyk)`JGB*XrL;irqj4>t~1*QuNrcC zE__8@PR%~6n+qFrQF6@& zwB8Kh`fzb#9ok>niKA4p1_0FL)FgqHoLHN>(RSh>Gg{Y)vyQT9kfLcjv*jvsXqeo6 zx9iX!S=T|pg~$kH)>wtnpIT$dee1>za4c54lyr6CRAnf+u#qqTasZ~OPQ0}0#9A~P z&^1(?BWqEFfSHxZt-I_Rs1iI>woWHc^>{m7)O8w%gBTq<>ad(}wTBjJoakM{YLAdrz`EuZMKH#ERqf{pNf& z%lh$y*!ORL1=C?%Bn-oM6+!!4HXNF-L@K|w$@3voY+fJ{p+EOje;9Ays}CEy8l#{H z-D)XXJH^(}2^UL@b%=Ei8@_gW9aIsOq7|FZHn?@urCbdTJrWbhu^KC(Cfg;c*m$;6 zyvO%>W{simqsW4d{NgFM33H^<=i%iz#vtI|%+eYhQ%UG%_pMOk^ki`nm$9QIbGi@z zn|$dEk$v{_AO`XCI3niv>W9}o9624c3+GIN3^YG0u2Q6s$+cB5+y+SlEAI2sESZInfYk5ARg~^_XNu(B;=;7led{mj8Z&pwa7$T z+is1x0bzMHrD#qZdE_tBljlS#VIud(H9Pj0{ z>$Q!IKr?*FN9+6Y@%@N7x0`Gd!&KvF$z;k$4>#neBmFuWiBPeEy&pG2YG4}lm!3_) zXhSYA{T7sa!b%?X97I{BS|e1|7g-x67z*_6Fcd!+O5|{Ma~m{CO&Wsuk8TA`aN^1Z zYfkurlfO&_oG`|fk_E)#Lfn1cb55`OOm)g}AIk5I`J9WV9&=BpTkyw+`42_#@dvl^32O z8&(0z#iIAl>SwE;yk)WMf~BWeo|_aae6+igzj?Upxs^JJ zN0;mm*1k$Y7^4BJi-j-U-DgXG`ErTJ7;k$(rjsWtf2}b();>pNv}^-bYM7ZhtBa+t zCU!b2sD)Ch|1ED>nMjq3KKPO9D*Es*=2EisUntcCm|Ortc1HNo<@$X7D_1h(!wFYM%W+0D`)K?pya@Ou=A;YN~yUxdav>*N&e+43iE`oI3O6u)<>13>a> z1t%HQzfN*(mNQQqo-r_ljD ztQ3BXVFc8Xd;!Kz1vmyVt^A8*uWHHpvI|nq7rvBh^Z_xkW$$7L5=HM~kADErGXQjX z4KOrQZdQRc3jp%JHqG=J0CkZV*#_zyKHB^Ai(kxaH{FAJfKVDWK;OjpvJJp40nKfl z0ZjV4@Z%IjX!cEfPKoMb_s~e2JHCpSWEv2-AY!0 zl4_Yp7H@HY6J7C6UZQOU0Lnbdgtsn!6&uyE3UJh!WE(KIq@7rpcCiYm4AIZ*PU-?$ zHqBh-lVHh9JO0fl|vZs4~d--z~tT1{X>{ z!V;@m`9p{Pnh^+|HxPUjSiE={C*F@EFW9(F)K&35%JvZ>u<}!xT2hn@6WWC#<3d*&$BK=;%}jf`f`U2qGIcU zb!L=QvDsMCil7P2uvEX3{COqQp~^bn1=sX+%t@B`K-m-P;I?lKf6gWoJJiB;cF!ysmbx~58uaVD23w7t>GP!X9H4U0IW$fr1=UE7GGR!R9>E|I_M z{$kfpk@1{ZJUwm&5A!B)s3!ACIfN*4U5oI__o-;nl+&E|24%*Nl5xGV{`N4{8?UNx zD=wh0$Y-yJs7OJ1n{)==Y9-eoJ7HT0s)E@*Wp@H9sX1T;Wjs+^%-3SK z^xc;sW>Dy9y1aH)88DGOI-IsCpOCjWQM!ZE?>I$;xLGTJY){fRlPs25I@3;ZBBW1; zP1m`Vt(|V~5`23#iUs1hCBY!S}ch8scnA%;1ZC%($3w$b(ZKt|5CSWsNxtTJ#p_4iZ}ZLPmOoJ>^OJN7PiXEXp5n@u&1e0JUoRsz$)lpa!8dEW zDQK&-S(j@x$%6yUQcpLtx85uFZ^5N^=AB0S?7@A-&=1L-10TtyP>r%YQuma}B-!MS z3_mv6B=k`^@dk-#6EXTcIols+`UfuAB#)e?ie@bav0$pBl_Sp0Ld`&X(TrwD?Rc;# zDiDq}ai*?uF<)oNh0HtG6uuC@K$%qn0g^uQRMSXiB-7v=KCB66PC=g?fl%7JB($6A z+4WM{r5+47_MueNHF5_K83fhc26Fx-Z-=+H_5C2|W=|s}AEV-eX-B?0IK9nyl@d#< z9e%28=+JS+?o;)3arzQ<;R$T+Om|?Bl=Jg5U|qlV#6}#wf@RjxYIm|38lk1DEdRaC ze=so&*cPugVIPul>A>b*8x3$!R)w6*=M0peB!2lmALjAh?Gv zO^fZSPp_23DlrD)oNCEhyH{6`x-EgyP_@Rgx%oi=Qo*61g zc_n`d4KFkogv+PKz#Pe0n=U*JKqA1SlKyu;nbPX>gqKvktJR~4jFJmZZ7eESDJ#n8 zh#+cm@LLfBLZ9JgmABmR?n%$LrQ*2HgUq*YmNZdfIrh$>j=y9Vr%@%AfM47b=|^rH z<*wxi_wYkgpis@Ew4r4oHp93-or{s(9#q?)@vB4I>rbuFKW-wBmc^G#tIubHErIU0 z0t*L&Zm(|@>*7{=3`8mK_oL^(pQngnnJ;|NQ&LO*KYZ8H9V3ocz27&F4!gacpL%n* zA=6$jZnI9rE1f&qcX|SsTq{~@+AHV1?9K-NIlqHer7sZv7wiHVIr^8aOASbP)QYkj0kO68Ryw zg;aAr5-}@r6>lW~btQObw(b)un&ji~^f_Yl@KQq9&e|*{4}>((v-4La9O>ZZK4+7; z#1S`%vPbc{GpKy&i>N$KC_airaO85qW+2QK@RFNMrc&YNQL(#EQ$tcxI9hnAYeyLq zAI)U)U}DnJ36oI~Cc3?$VY7gL?_e=Me=xY~0;UxZMTS5;4}JlxA?2q|F&C|{cIqkD zLIaRI@*m1zu~4qfiDZ@rpsY0K!~v3sgW@PdBUi!02c=9in*;*!VF(og%*0I+om2eb~MU{#$`{HaNS*8Q$;l*1xE2jh(H$= zHy4Q--c4N3N=s$bolas@I_FENGjJ^jW!0Ca#netOj-dAqfS*!%bPze^*)wW!_sO=0 zo^K3rv|5NZd7GC)oZjY45104pP^48hhdUdNh-jTip3g$O%Y0SLK>)U<^OrsclY|=~ z%LtOQh?oFH-iuYH#q~a~Y2n0Pk9CI(ob5M{iLNL0xMP4qy=yJ4ARC1#P_3iA|q} zhIFii0C2v>oZ45_Og`^N^*~u2_{+()E)X?h8d2cH|82@(eIwN~w8fE9>-?Tsp**Yl zSfF(4bn}-Tk<`3AL=pERGy4r+2zD5Vo97SIWAqewVS#AyHH6FTYTR6_U-CN#XoAsL z5=JBfV=5ApdK1r+URpjZeKx<^16i_lPw*QJGR=oU8Jx!vC0rFw6ps_eTY&@L$AXl$ z0hl8@BgBhfATuHo)O8~1s+g;8flG8ghv2@Lk|zko2l7_{UUGi4Y7T;_CoK(Y-R)7j zZw>RGr}RPIMg}vf6DoxP6uI{YuqkFn!!yhT?Mi=NFG!MgG@&Y4Dra=xY)V4~DzqHU zwG4U%T1hEA{sS7`fd-wVqCzI;_cl=^I!R3rrOaz@XkF)ULKqq3`dZj)R7;rab_M`X z8K4TVIq-b`%#tPuimMoA2Q*79ohVtT@1d#!xf@h*Al_{`K5zjq2`C^NJJ3IaVI2@`l}Q&|_R;S!;lZAi?~DGIRRFmS~c6eB>2|Fh$gyIGZf zMC)~xe6*!qSA#foRn9^;bFL@jqK|u{{V03HWfYX7Rw0j)x4F8u!c?C%TWiKLQW|#e zO+o3B2RA{rF_9SC^q;d$y}$VIpR*4rVadl^u$yd_H?eweIpJ+zWlthMud=h&QYcva zeY)BtdcMzgeLnEim~fcg+ulv79;qUJ%Xz<{k~in;+&x;QpjnYsjC0EGLnWD9z_)#V zWuf58|NS0$=jrgS02y9Q3K5VCbX_%TA;_hFh*k+lV1u9vlfVZ3D|jp$9DTq41dQ?zz*j5yJA^*r!IF;CFE1oZ<8CofPijnx2 z*FQGm$vbQcQJ?Jpisl%JC+Fc%i>I+-QHtRv005lebR;u zDo7g}@h{-N*+^-zPXH76UuAzAg($h94r(z$arOiMxo=OxuL_)$ZIVMWG?nHTj1dU{k z7tg~V{^XoB{ooD4dIokm`@!s8m6?UCPGMBW3jXzCmnIpFBZ+@>+&EJ_ZwDM^=GF-nesBy43T zEfG{}d3n|sgylqBCliz^#yL`~MyD>IzlFq958aw_CWRY*@YFE5u)CoCI zgidN)?7XiUz{$5zi~*oEXYRkv{W#Cqz9T!&Jm+%7?mkzJ4C{))V{2}(Oit2qJu$A zL>PA~L?sQ>UPI3_TOgPJ~=ZEPc(l2eV^0%@P5L$SG-Mb~#3THaAlI(Ug{ zcQIQBwy#^t(OeBRS3E0wt()Do_e3}fj1tTK*N6-Btm)KcU5}$4Y~SIKGhYh5_*=ch z&d!onuVS}ScvDdH%-Bl^%xMP!1JesbwPH=7(|4SLnA&}sE zkiMFG50*;kyDQe}7~RL_R?q&8vP;6sJ!|%PFM`IWP6087 zhb92i45}GEq)alRQMwm6O3*Sp>BbW*R|iz(2(oSLFJ}GCIS?6vBU^FlP#!@dGjn3w zh|&F6Ok+rG`2AVeYFw*HkHbm)b4{9w$u7w?KCb|c@74)|dm~)d@MhzH`lp)l)w*Il zW$Feud#VfSY5A;4KRUkQspp%o*T1j*pZu701gSp%$A`}~2mKz;mt?Zn@>OrABV9+- za--Yd^PUWDk0T@l>TEiWRkpRWBm-l1It1(0I71`LtzE~B3AtT<8Ro(hVvN5SiJyr> zlVf@{=e7#zbUWNQ`+N%Sdc6C~uVTlcz(*^Mj%sggS zM^(j2tJV9z;eHxb@8)PAc1V6706Wm7C6M?%2d*J}_d)9N86q@_AZDh_h#+dVu&X0t z)tu$xoX1N%1$s^JJ_c${7D4(NJE8TpWAT)!0rXgRFKY7+UNKxMTB6fbc=u|>Hh5-0 ze==wCPJpL=|7T+VGq!mvp!wO{31`5~cUeCDwC7xindF2%{gik5UpvN0sp?4uZdJNE zU9kIr%(MxMzszOs1KU^Ic&QLI$x_u3-$J0uRzOc6?9PA{BtC{b``OtM*9~0yb*9|I zEs@nbz54Yz#$GoIUkd=`W#m~Y1P!&2T=hMUep3ju&b>y9aiFy&w+Zu)A@R(?*YoHhN~%(JfcCI-VpWP&+5KJ<;1A%Usd%{_UbkPA2BqrMn^f z_*e-*dpt^9+v8UVBP?N_#W{h0Av<9f-gIw;S*dHy$5tQOBUmzyrww?K*fSI@}cym+5ZlVx?}?jd`c?I z$bq>!q+%9wGvqjbz8%&P;?%&INdxzYjQS`8v8~iGeak#;_%6*wzE&ElZR`>M{l+h{ zW!^~`$)bUC;)xft0i=zdpm>{wJ*Asyk-@1MJIpn(deMYBD%v8uWU@sR?zhhW?tHZM zbNE5?ys=>BJTFjR6aefo^gi^qaM;j`c2gO5nuxH8{%YL37`82rTYWl5l*lVRHR`;* zge|u_gEsCO=l}O`CRN<=h0tZA(&cODLnY3T)xd_~^F13{Xv;i0L*6+>R^p(UjziK} zbjx3CI)bt{ptZ>Naa#K{M8LZD#EKD51B?Ep;oE6NW0N4Cf+xr}X0LDd~WKV{o+#GTTi z@H=xVFVs5TdvUt*3{H^2NOr> zy!6_6Zwb*X^mZ9c!V|8A1E_TSre~_y%1A46J6c3#5DpY+JC+1WrCYaGSEH7c7%md# zTx8X4b?O5&)n9+b%yM0+PB#Hl3EgVQROSb15lp`BZJjsn0nn;t$)xoLt*9T{jP}h4 zl!$;ck0yB9i)Ud&H6lJblywtbi|ZjgH>>4r+E}^6$QM)z(FWYLY%R(*(93l?BkO3k zgc#BNZJl;MKd>vT_NK&eEsv8BnuF+Y<-3~+KE{~KPW2qc;y&aMeFVy&Iel>y)wRMi zR|VM>qUb-4F&V!v2G#W(>qtfjOBlPE0oCmlO?QYa2d=Y}UO^d)f_6NHfenv@cI-sy zKY<8Fa13%+3h^=q(M6`^-510ox+zm2t^MI3yT=Y6z`CZ>JQYy+`pJ3lp*(vR-ODvV9*5r9xA#09h~-i#)vAj zP|t^&7N60gM9t7UsAMGWok%;(W4+n2xI}I5ra<-Yw(5v#?yN*^^(%61*Gp4QgICKW z##&~M8HIM31xM+=Q6qr-@nPuASP&-a8(1{xK;`qnefY(mnIXM3Jen{N#XwI0mAT|)B zY#1pw62KoB$hCtu?+5G6(QN02wQIK>J(>EM<&EYp5Lx=3Bq z7FeTaj?V^r{9=cb5G6#2XvY&Ht|;uEZ5NgYrjd9xVM1I9;bf55iPFsn3Y-c-U|#s8 zR~Lc8MFLEd55Y157?xvsrezxU>@u%5dOXW>0F^fQk*B*&mAnLH<7%k~-QT?8gZt*X zmGjjN?bKd2TCWMOTKTb9$8kGfik0)Uh_08xXS!^uTKPVsMf8sEze72vh;x~K{p3E= zO8UK?kH_lkKSt$4?YND$@t0(_bi3C;!=%sjfB)T`I{X9ioreU^hI;XBAev=Be9b7v zxswBNrfFv-YVQK)f1=w}8!mCKzhE-z!aCi$>^(kjK4h*I-NHD6R=b<9S!|XjNYLyf z&Xyu`gr1)_l9b#fJ!}(evzhakxS<^Ys@{37O)(NUIjEp$% z>LU^7Mad}HiUzk43xb!kI3Jl^=^FMCW;$r)(l zXyW^lIm^85St?$-F!_z1rcaRBV0cO6wjVmO7=Z`}R%*n?2$3Z8tc}qWR0-8Pi6MsiU)SUlAll+>T8p zU5F$%Hj0MwG<``#vOyDQrV>vEjT-Z+B-pS1vb^I@O~Eg64w6XfQzl}&{nkHOL8z$H zo21R{^CEiAfviO}UAnE|p={vm=Kp<~6?8ab#HRqd>fVw+k#(P`Wk{J4UuJS83x?I5 zK-P2_hEVdEG;a8y37N#CAbHOBR)G%-suOpEX|IXg%ZCM@PLudk#PugQ3VIabN{;)>VNpD zzx3^R==*yqC}c@VuGVM%B&tM`HH=|N$|J6h!p=w|JCxs|$y7hNB=PVTe(Ht?us+C%O-uc`3=0Yx{^WOks2M{Aq zO2O9$U6fz!F%I_If`l3MI*%(T&!j6`5kKv5R;yv`spdST`8tkMkwIv@q>g|f7Ug)u zO&TP2&-EI<=^|W)=Mnf+=uL*ec&U{q-*QVlSjO3u1VLu~?v6lT0MS6yXHptmt|t71 zJd%r34gNF&KB(n~ERg)))GVNavnd*N+lB!ne>Rsl(SZCB9KB}Po9+zaF>ww>U{>db zvxQz%=iC+Lym*hyrV=@lv3+Vz+gHniosk~hf^>|1x!bG$1#;O!2fWW0z=}Q2#qoDf8HqdlW#yVZX+02iDpxwQkyaSVq19h|`<-R#16;em(7Mv4 zIa*=l!?bJm@Y4T=J>0dHjW2cAj9gu8s8bH@v)#@w<<_VgQbB~l$o7r8!SF3iFoTEB zVQ%@?7SEG`&i~d5pX(48dg5;t6=Ghb>l}a|Xb=oK->l>h+Gn9xNQ4urkvDvcjYiE> z!d;#T2TMN~#Odi6_zqtH%%-E6X5fdSI)PFrp0!gN2)`M)V^* zw7>~5JJ!Mk8L?9d8yd1y3ORO^(B{%+IE)G^IG2|f;()=CmRA;r4mnt!T=amobMgD? z38}12>oig#;H0B#Xw5&hMk=YSZ^^({WaLys zZlwr19J)@M9XU+tLAD1vt%#v!u1qgDifdpr>f@KUYZlf^3dOQ5gT`a&S}a_qaJ0p; zQ;J3nW%Xipm#r0Q{Fm8YWCL&Q6>J-A?H7#XYIa%S=xrSYG8ReAkvOG6tF&II0SI4 zr5s_ON~T<|rWLlSH>}8SELS#yOBp*yySHCQ_vz)BjDy4m7<4Rhy0#4lBB>WP)Q^cy zvR}l^?4oFeF|xb@ohh<#sT#|ab)^DBx~GNfsJ)WhDHY|sC9)-azGmv zQ&iI~4VDC{brBppQu})FPhcfFL!_W;4W=lO^)ak2qQvumwIC44k=o!PP@=7&LeWL) zLqs4-G{%|1XLFUtp21`HsV2w`=(1IeGQc(_@Dl@mR)r^D9|Oi&e;UNgCu!-kihX49Gf3@>3`Sk-6l zQry}OKk>dl;cniVdOryIxF!38KAija5f#u=Mj$CHMI4j4qDNIsXv%j|JU{6kD9Icx z%}rFW#A!GKr4$iT@MWVZAWDq>8Lq03%IO<5nhR#LP{p>O#Gi923II?$9-n4|aqGcT zT*Yb1SzLEybRg9FDhLx$kc;5k3C?k8oYgw4`(j z{M9V7p5HeR&rcWZ1pdUb?sR$dGVJ7!#hhZG@I^k4-Zg_LL59WeYH^hcoubY$bGVy} z>obB9aFq!w1WZr+E{f!{J{HS5B$t#?;Y&(ILBQ%ErsJEC%`c?TCQFDrJw);+b#B4Q zB1|WoopJ>Mm>unN$)r+ie&;BoBm@--KkV7q(%!cHQe{k1b$p-?@mH{&Pj?qQ4_3~{ z*gC>d78?0g)QAU8C*DibP!c#dqe&=HT+_VFdPQSfW(bC^8r?=fqj;VKSdBu5unF{h zJx|(YyXP92M#v(d;R~WcKk=$_#bKq8wbb#QaiZ*FKP!9`S9j^CP4287iV|3a;mT2;GZk$ z$gzP+J0{0FY{9OlLv?y!!N2>7IN_yiY2#8j!^F^rH zzOa4MSpi??N5`+vU8CT)ZSC?~b_jq-L?8Pe;&BdP@2ioe2NQ5Fp1-%!n*lC`ZPV)A zf|0}fsKqt zj8taJi9JF_6P=BOXA3%jB~S-bVHRNp*BA7ZN|rjtm_aW_3#*$YV$z^JY{@k;h67yh{_PKhov)ilmbs#lKB zV5riRzWgqJeUdJ^aYm(lmd19ugX0@frl4n*y>Eb+!Rx74y%ZJ1;9mL?UF?7L5%1a) zN0&Q9Xuh4CBK$pR4;Ju#|5B~nAP2op;RHJt?qU^?tTUv(0J_p@y{xAe>yXlrGmvZYG)Tq86;N0?yQ(hD;C?j>b&=9xU< zn!|+Onu5SdpgjjMR$g%J?k4$ob6v{cJ?X>ggFG(Oq{+I0O50q0H7MC`Hue7Zx6WXmnLja_wr6}l|Hn}Iq-o|4MW84Q7b)dwy5qgv)0e>gWjuE#`CuSn%=YImg0bXZ4GJ zJX<1X4R037thOEFt5*Mc8Qouc|Iyh1S7+?8O9t3!c72i(;(!}SrPUI_>)Hk(O*TM; z;MWL9e0~uTV${yy?2J-31@+!nIVV8cd_s*4AZ-ri9tC(T^A{AX@@ksF;75=kkr-j$ z>g=)6wy}y`tcU?w1#dkO1YNsJvDG;3I1$N3EQR~9RO!47Q;h~kns2Wrp{BNdfHA@W z%KSyz=2w|n8(h_q)5Ny87zC2?kbHNEB3r=>=Zl54AD$i?@urfN8{X!4Xn)W1>0><4 zMt+h5*3s^gNsP>q+LfG}@CIQf_{+IXIm<+2k7V3YAfBkKn#`LVOA4lFdl>w&GNwwq z=#W8p7RKL?ckR^dE0Z1_|YI(rS&hkd7u__nEsR9?K3VMtiX64Ib z=TH*e)NV?n<#ImZU6h=CWjoFnF`L)O+^V0w6P#lEYu8e@&hOnE2LyaQ~!~U z=+j-QRK%wOq#i=O*6;Ywn0)mq}4m>%PSPFhSn2&h!9nZE=)|bB`cp+at+cO*_jSjHUO7hDwb6*K%a%@0h`3=hIXoDiRA%FNb3I&mS+8Fu zAx+OTixzKtwQFj%SS$7Gc+|MzMi`}KlAcVc<^teE(;wnV&xDa#rs+xsyN`rXSfT4~ zqIK>hKhw9yYQxg&)Tno>T1t5*X^YpBXVi+>jB2}VjIwAuZ%|SEqQ_k@955rztZYwA zu}arDp-8EryYAdFX$)IVGp`L>t<$e6t4P7B!PfdkH*ws7beW!%p;sn0rflU@Sxq0^ zRi={BM!(4@>iRv>H6r#uM^K-i*riG$v^6(J z;~vI>;TT!;NHI=srZNmjPeqil3Xbc6Mr8^S1lo|~Upyj}fT$VZMJ*Sz98p(vu?*$q z7Go?%ZDI?`@Uch;9&WjWBB>Bm73rwX8#Xa8{|~A-U^^79V{j0qQ)(tnr{*`l8Np|8 zW6FF)I_}6Y)8ZgM`-T@37ko2bS61Q^=1EUalj0e*R401%^(R?+z)G3Y(QJ@LokS78 z{#g2opYod|eE#k_8emF-)N`eNBtAqaKSFVNH|0HOLz0T_49NegB>5ANs*y{5jDEXXJh|$;CIRm3Mef#SgDFd|j~nk> zU6`stl)Yg6yZ6AguD%p9Q(4W-rtB|H$8WQdlF7oKzcn1~t~~=~xrA~f=y>nv96HrTa3B-_^&}5n;s)DWl@v?y|ph+RwBy4kXyplUOVMGK@<0>UE_uRafq4 zjN;1-UI{OD3jd~PCi9)e7s4<%Brem^U~XLmsrIYUmwwx6O0P;wSJYB!KN|^kP~cMV zX5$juRx#QS1#|?Asd*}FdH>tjCh6m>fzpndhNnw{SI|&6G4Pt z%&O(FiHMzluR<1hPSaH`qUXy&x_oL>=HdVxzLw<}4Lljc$rsesA>gf_3|)7{$Nu#c zrKC&(>&2=hSI6~2rezqT@v~M{+H(K6VtX6<=uHP{)w17q8QdySTe?cBFjnkw1uc4G zpQi1km^goU4n7s~-s(DbOPBtt1 z;!+2->tF4s-+;xWnUNHF(?QO>`_QK+>=%n9LMUQfa;Bi8jX(BN)SdEiIGqAyKMtOC}MWRI8Fn;3Vq^t?jSo^#`yU|k^ zRcA6oOE$*HtO%G=_i4(i)!CBpQic;vP(q=NF!fsR5?p0bUYhG{gS+wT_D-#n2Qr7R zGa6uJM(#nI9qCn*Gc1ThXKx_eK%0~?6ZYu|lC7hBe9i_txxWcZ0N2ZE;90gBV9stR z3H0v5Wbd=!ohc0xt1-f^M0VPP!ha%fx}2x@XqA8J2+*ly=~buA{(b6J`q2K>jToav zi(#5}$=0MIzd|{^M&!LhL0G-dM*x>5UJrJ2JgNfXT|V&4-fr9r(G`bJ8E;pjIb6jz zwW<0=08QbwfmxMgzvrs7N+)H{0lbQrp%f8{Mx{RA^T8zy7vdb8xPHcht<@gGq!-^& za;^uIXYaz#jMGtzxymo@@B4%-@h-*&A?d>f4^vA?PVB~uSnos5D*Coa5ZRSMYO>!< zEP%6gZK?#59U1P%b4LO%G(T@&kFlXiiL)K2wPPi;SL;8v@5T^4DpPkq^;afy1{8K{Im8(muFHEWW=$2q-KmjlDm_jB_pNeon8(Rl9P*&jDV_yD*{-iWi zA?6LDZI#pVN^mnhVq@B_;0apGIbTJ2-bi4sjzw1k#GeEYT6m8&MJUa-eQ^oW!F#VJE^<~9@;{t7%vb||?Qu}8 zwBng9o7XHR=*boO+j?%jFcpSl8XyisV(d1h*88fRZMJHZyn^~ zFafl*IEXKGeb{Gv_4%d;-2LAs$e#e4pqrl7J#PNdc`aHe5@TaV2wB>tkZ_eT;!so` zlaqLn*^AtUJT8Pz)xHBRrnR=fWi*B1{%9jLoM1zGd*Bdmm|~J*!cjz|U3_pMWWR0( zHO02AhWf2m)t1()pJ+c$%k<(T8lt0GBV0?nR?jI}rG?B*qz7j1T!m}7cbL}V&f&sj}o#bKrYd*aaVZNC2r`giB6nv9o3oh--~ zu|5)^AgA_i2Ezo4(Kz6xYbBm71T+?Q?tQ+rSp77~7yJbm2r3SP% zl+{M5?zk^Ys@+wl^z&6)`JtFyV4&T3IVvi(<74C{BzFG?A$<{Ey_kS>80Xqu%`6_| zA)^p2bm{n@tC!O+QyiDY0^^&rSt@7g+lj3p(j0V0@(}z<$lXbSk$*&~4JMR3UFk6^ zok4eJ{`A;x@b7uVqh69WTdB9K*40|-bG2M5*d7oULXlra5hkU`sM=_^Wjd# zI6S*l9*RZ`)7fRcpRsro<;4{c~WxdO0wqdBL_+af~VY|7a;NREMVTP;P%!HKvY^!SGXqdOx;=oP% zzMc$dCyI@%<54H}fVfMlS34Tnveb#*EyE(YKOW&nIF6Tk89gDkHv5Wa70?xHN>>DK z+{vkEiF#xA|3}z6MpyDh-=eW?=ft*cJ007$?VQ-Q*)cjD+cr9O(lI(tUViUBeE8on z?w3{T?6c0Q8ns7_Q+v(5=A5`M@}#P%yR#UZ8%n=8Rqp$f&X~9!u$foxPEzW7MA`ZW zh3J$mMnO zO5G_a!#!Rn7g{f#$@EN4ev56yf#N|FCIlm=wYTL zmbcW4Vt`)6J!-5z3y`+f_4g3kLMs&PEO5Y`j0`V8(pL{Ys4u__wtwX=PhNd+epu6E zyEEJ7nY(jl#}EAH{9%)Tc)wR0S9_Dba_$#%S~G9F_4oJpY%}i@NIm&=lZ6yGEKA<` z2y5D<3iAAP=$8ynX+B@Eb?Gp&`J~WiE-9WlO@En#B#L~CKVD?x>Ef~U$Z+(`e@V=YuFVQ~$B|N=Mp$z>M!se+}pQ~cMEBixp z4GsB$w3V4H()jV3u=Mdu(R`tKml2En-MD2yJa9%PGu7)b{e;;1djm->evUfT^ciVM zt)mqZqO(U)8D#G>WXAnT#>1pg4~YUO8>-C$7Fu5xF%hCg+L;*_h5ghE*Hq2}sq8wB zHksXiC9l3Vo$npg8^Pk`;vYVpZIU?ohJ#917ZkV0d5b|?9@ z6qZL)D6*p#DB}>}J60pc>okU^k2XQ-FHmK8o%Rr&8y^VAb{_NZAE{t04V0?X6fI0G zVEyNreUIU++}KP|!r2&4P_urU|GanwNd~8T>q0E7|CGtAW!PFUvvumce^kk0zxZuKis!w4{{Bh=XVNNyd4`NqL~xYRcXkU0_9jb z7%NvR=G4GaES!b$MET8HAcik-V467_p9wBc48wJ)~ zSvCyh!q_d2vLq04`4fOUSxMwh=>}vA#)ER_`ftw6FFF=RFFMEvmwMd;+$J^nMfgHO(i z$!4VkEgjyj8^54Hk&sr;AY`^a@y~OgvrC{}sg6LfIE={2jo|E)X;r%TV*3MIC*Ynd}mCw{PwSBm!5v z9wdTB8#@S`>Mv-}U~1Q7{%nIS7y*tTVG#IW)pst`S2(9kwAbw5K| z$H2nFqu}9~?Z%_KEtGi;hWEdiptm6P)U(~Ub$4LNYj}qgA1HDMzM)v^E3^iFI+gWS z&H4n(FAVl>FRca@+Yf)yOaca1s-771o5q=c|kPc|gH#6&LQj=RZU~py1m`}tp@(x9oWR-Ya1O`urto}rw7*G4ftt@Pm$akCB z{wlobwG*!1(znj=C6CuNTgYyiInzcTJwtj+=@t}wqmC3Ll@5%^xK|Rt1hV;z*wq_C z->G+6=}k{#ozr6e6G-T*&%2nJalPAvz@PPS`8S9l(*g@@E=H^+s$ z)by9|U#965E{|cSiaV%CNfeg^*6y0X2kD0+gb_BeB6A1Q3Zn<*8WW7zo_3;Qxefcd z*YIn9V$NBoeZ$C8qdP?IhM?dcya9{N8lk%iW@ zXYgls)R~^WGe19wy=5lz|0g8)e}jGhi#nc%^Z&&JSy=ujDEOaJv?`ONwVj)}3zMXs zv75QLxv8U>xu782|05~wl{+n9pYTl{zjLk0Ul1}>%XxUSWgSczm&Yv~vw@`yaJI=k zOz{gYZB|k}cz>I6+WFndcBsk&8v;UDaI!}~?p?5#_>&3lOJL!-KyL5u;V5lpC-&dQ(*syr>4^j_~+{?T`l8RT4#3`9`W-&Erf0h z#^=Y55@UT`zz|a6NPytXM>^IgySrK_D=eeU92OOa*5y4y{La4HNK%2n%j40@N$((7 zU>EDBi52y?{IkHqMyqkO#JLe8N+T5qy>UOC7Cy>k-Ia;k)j8wJ9`Z>4MqfdBU9UGk zD(pDWADTc1IWl&XsXpL^C!h@a;`4cZdG>p;y?^}3#F+5q^SFM1h(Rp`k=VyLdv&Ev z?G&0+Lan2Voh69B!vD;}$kf`Ewvwz3v*wbrV1Ojy!F>!7%V`S(6nn$<* zg#y>N(`@>(*$%=2ImQ8x_JC3Xarbyhheh3wGF0^e4Q+x67sWjzhb8`#fs13+(H$o? z1Il|MM0l++i9z@?9FoNt#F=KN5#TZFNHL~F50ktTJ^4ijA99FI5-=$Wcx;2Qtry(C zCXFv>0ML9f2ECsU(iJO)cHw*%UKKIVn`18kmz6t*ES7%Zuk;B#F@Rt2lQSgJ*fBiU zZO=9?neY}7^^_6qm9)<$+Ec^bEiF6Abdi`C&Fk%&~|0IkO(zRXD`p)j72Wpme9 zWc=Ejg+4j0npo%FTST)i&* z)Ph=Na$8B5WdhW(RB4ccJ1jbY>k#}MiK0XC1K3?$V>CYHP`@aTJm}zrA$w>HMUXbA z7JS5nR4@o&jVq2Q3Y~JenkbHduvEKoL?NZANdSJ;s4aySXtW&9d0PLBHc*FBvocSK zq%wf{)1AGVlZ+vEnRlb;Mh@O`IapF32LeRn$jTA8*5=d_s(VYF-oL>f7fW|nWVFD3 z&T-WFOj`y@9@0=FH`9_aV)O!+=qXX$91F>dMDuSKyKnN@92Y)z9j$vu~=2A0#iU}ANh0$`0(ib;)fTWS*L5GS2uc!@P4sVIe$7e3!35)c?i>?yZu;>uV6AguU($U1_fXEu4}cU`@9oZ9SgbwT;GoEdA6a8 z+BIy*d1V%)FN({SfLA&SVXHpH&l}2^8|dXE`Nf~y#I5oJ>9y{>Qb^RJ)XZ=AoV!0# z1?5G}UQi``O- ztD7w1>hH?{sJBin!FT&J7zi~U6E71>X4aSmJz>q|I-|GxP^=JRGTQxSj>*t3foUk= zx zi2DG)*V!;TNN*IuFUx6wN#^X=x;U;mXxJ=B@%4dt^^Hq7O9ZASllepO`n_|EpkKGw0Q@ZQ323a#%r;Qxh zyxw`-_=sr5tz#j(@Pd%qHbgYU%BP#XkMn(tY_h5xhgna~%o#$vQsO1kwF${e9JU%ll)v9rh81oEYq^;vcZytawjS4GNoQJND8#tnaVDwvL?6hJVC>QmUk zLq%5zitm%zC?F9qm}|~i3Za-1$S{2iAw;jGt+4e_q|j7@t#Ddk?*G13B-Fpa7TXrO zoj`#9OM^C5PZF7(oH%H(84wqEcEHgTgRt#(iB|-oPGt;d*0J&xC62CIjH<#ka+2R8 zm9|pG2L#SSFv!>uTh~5@ri|{{TIPyMbzzTOq0U=CyFA10K}B!G19d2SG%B#dM)=Rt8PtY!E?@x0?|hEg zdc6XBB2C%sX#F-#9Pi_D>q18{8(fuYpWBZmsnOJEBiP;&vwBI8DVnwO<{lmgwBsz@6^)J+@^*Drzrknje?0v9x_P`QF86%FFm1cMlxDo6KVd+Azu` zevoB!Sg*CLsApu^G>M0;M@s%XkW(u`SA=NBg1mJr_5pJN+CV8D3t{dB%6+iCC=reV zeuDTKz9EAap(FD&}BeOk=WC^v}`L|L{+f_9@Bn-%0$4^~Q-S%w6C-sGcZXOXZU z&PN~IXyYFsk=_PrSm*p$fM%h6xjY_iTV;A4qzMlDK&TL9Mz1(t87m-3t4;nvavJr+ z)%I}qxAkpqv{L=;tP*n6FBF!4m61=Ea-SGUD#ri?3P9j1r2mZoa+cAtspy3`g zzWLfWNr(W2RlqM6HA}j@PM&D2SzL|jD^Z8`#u~+p+66Z}))63riGz7SVMuqeIq4{_ zTa9Hxn1xpPdujicD$NXDGqe#Eub7%~MewXfW`Ax22Jr~=qtBg4Xo0|N>(Qhb*n{^! zk-T!P z0Vkoy-*YtdpWnl8-2Nm&!}Ws7SEOcT>654YK$&~(E(%}#z+D8n_U0k#{i}+v2<#_E z-W+9&#p)uHq7~M`g-;zrucs(m#<7M|^WXMgUVD1Eb0(5h{{$?lT7q~l!|uqI^OT8> z!_YTa`iEh^H6!_o-nreWT0rj;6)XE3sdAM;lie!-VcFEnTQs!JmGZ4uiafe`wY!Qh z*7!{{aU-*mfVL(CJeT@a4Qoh*YQsy_t1Bv8c9k@SQQnQ`2XHhUdTCwlb;x@+tIKYm zA5eMs-7sxkGO^US8w=W0>u=Tq>h|whVVXIT(Ui~97*kw(D*ZFR&G^vlu(CK!Vm{dL zm~s4DWa-L?nx4E0DiqloA^g=P5o%=z`jSgB3@g5&Jhv{YQDWf)UE?mGDPiCpYBxf& z^SjWP0(fEhPbiRmGw$eg+8LyI8dPPT;zA9gjm2cO+n;kILSFv(L2H z7smV`Qlp=fl{ zLNL{a<@Vkf`ZU@5DHK7f+cny_@N4A3^A`d3&$Ka3tm+vQYh|0xRg|(W-@_h zb%L-rlb8c^35IjFiCjyrB+E*O?V>Yo8xF42R#EX^DA|otkz?8OLqL#ypY( zBe9)S}5jB8g6JcE3&lR%zP5|(l}0h9mUT`SVQ)66}AVL zl>0;bap89fx8SZ??rr6Br47@4-RPS!#!L=fbuP**M`P%vL*0iynktgGp-B@ro(Q?5 znmw#xUU;`#V$7|7yts_<6l?m5KsjD~C)miiDMB682`;xd@#O|LjaFN7+K6xgMmT^- zHUHLAbAgdubr(xJNc$xGlg3H)IV02Nk5;qqxixQaRhPY$ma=s!RFeznev*>K6rLoh zN_dLK?mIh~hHkh|7n`4;Dqo$3W_H;0!|C**#sdnd3OESPm07Ul{_)2dRi31`Ti=Jq z^(5vD#W<_~YVY+82xP!OK0FvhJ3Knu^5iNYqI@BtK1)cOayjyurR4lP=>VA+&5>WySDXfBx~ojIivmP__jZ-&z8 z#@7xNUvlImm|}5FGwk0E({a{Bz93y9D$9{kq=DmrhPij8loXUz=?6|;;h*1f-$7N+ z85c;8i$(5B*O##uQvTfzhva>(JLKrbSUGfA`R%B1O8TN0X8VvxJ9VR$NeHFx>tJPp zRKn9BX3ZX!q$&u$6Ampqefd((D@9kQsgcZ$B>YX9HgMUeg+wO8BHo`V=ihie{9F zy&9}pL+YIi6Gy{Kn_sVWP%rr>4)>XQl}jwwnn_CrLL9`W4QJZ{O*rZoV$qz0+^dc*r~ zq1?Upvoaq27*bygKJWPLmc?hj^P_e$1I(I-*Hv5dky16^x|wB`KobBFD+~v6Vc&D&X;ovmQmr*|GncGC1*soXn6*LT9O53dSz9h`yD;;!;fVI+B0(+WWz4I~E) z55)2;i#uL(hxi2qy55^p>}ZE@eDk6Wt3X8YM^1X7Sd3!JD$1yX0)_sTH*>=P-Y1=n zFe2)VjWD1=CH)3fV)G8DF^VZ7c9VNQ78Nj^h%E4FN)*NSf74$;+ ztU~QA_Kshs1rn}PnVPN#pS-$j*mH5}HQaJb!)VOXutzdz6wiC0&!9$Z+8Ik{$Co_& zc#qJZc*}4bCAh}?NO~g8l`7e!rF_+rs6L|wdH?#0*1n^6UM2_|67lf{WNKoA38hxzorM_}jg! z>wPW9-@IY^7HKi3cgU6h#N)z$&xenKKSuye`Yp}wns3_~%VMCX&wG=Yo6iw>plf~A zTRwt3q5EYbH`B39@Sg?SZ<3vY!1VORNxAs$g63}Y*?M}gGdup(tjBi~?l`1W@5v_4 zzxZ)c70pw;Tj_zxr)um2Lb*r1<79%9n>xdF<5m>%K&1y;GN zM3hu|c1$JrPz~{ueQ{)A1618{?t@yW*o(YGS96 zF*bNZf|QzF@*5S4^989wa{r+M{{d&lh_J=coIn$|S4&Em8go&5jN#~*5reaa9OjEpZE8H}KegTpP&R`e2DsaNlhi8j; zOVVJn0iU4Hbv5~0{j*W8A-PAF5$)Nz1NW8K8K|E1zp3H=SDXE>hReau#qz z-g`NAktcJAdp+6he*cE}R{m6BIB-PF@X*oqLRdrnjDO~_{Rj1K{`d4?82=PTC^XzK zqTwTK$MHAg^BHEZQa*hzgyJ14))AVK%D~b1*0iJ0at1r3r}y3Tbp5m=qtd6}{Tr1g zh=`Il*s~X;mmehBve_a`&;>xL_QxhOi^5FmAO>^bAxLtbA1&ww(oHP*n2)L? z$n*Y@Et2?8W^d4{Kr_&m{Nk`>LgXZ>zmk-7ah;OYIQu;CMvq~+O=74h79;N^HNLEloB-(n&snF+q1a5-vcUQl8J zpJ`9VrQrvf>OfZz7jWnead-8d=e0*zc@=o#=2kNSiy7whrk9V!PtOy8Ygu&5mkDmq zIRt?bRz@XW#JD}eXdW9w`;{mVh6{xI?+)AR1Tc4zxTcMbFsDra41-&MdI0qEWLq1) zYjBpT5#@ZCDH%kQlEfhPHuxfD?AZ!+XLhb7TNEN|H&X1w3iajT`MZ`mr9B!qBf8ev zFycn+O{vLme%2HjApP5dU$}xY&mky%-pVLHWV28(K^VdL$)kYl_2b!}^%5GHj=dAA zBSpqv>H)G>a3h$^30|4}MQx<9CAtR?T*G}Jje6$pxyfnlXFq;|!<)aS-ean*6@8{a ziu`~C56=DVmW{xvs3J%DwdB)#e={N~-MmW_ACAz$^d}`pZ(L;Z;5EJ7F(w#<5Ai;N zSZ39Bh!>4+YHc7S{9!(pkzQ-uYI<&fQcH`8M%y?}nB?6=g24GeGlF9jNeyhS9ptR3 z6&(IboX9BL7uP%zG8ecl+q91c&u!W_Q%VHS|H+fIX!`oZ2D;-Y4ZZ99OFe^M$|b;Y zXh6-|D;B3Jm}8hEIB%tZrEaTkpLJmmHuqOn_HD8=jWuFy9G}Pu&BEj|@2@}j?|*{H zjG~^}Dn2fIJG%p4dS|!0{qA2)9g0|rW#YdJn*Uz6E@OPbjz1g|naKJA9?`EAJIAF5 zyFd1Rwp|vqUAy!9_G?@zf!19ax(Ew4y@y|LE$mI_nW+)%ZaNzZp+$bC@wL zY+e|7ic4lb4LXJ?TyrbldW1*Tc#JM3ifuE#uO?jcu>>W*8_c3lG7ti~3`P3thKS|C zyb`sb2drCm$k|#`*(vGHi>Hnb@>Bu_Wy1{&y5j`t5 ztzCvzPS+&~Ek7oG(9qNw&o+QM0@6mwHG!I$EZgtSvv2v@uo^|lfqOvy_pZ&)1ujex z*xp5#%)44e#MC(LQ+83j=9fBw;Lm)v7-#36fV;H(-<<04555imWr9FT_ z3Q&V)e^DRc7WEf4W~S@E!33+J!AXJ=jRSE5!jP)Lstw!dqXjYW3}7sx(n1F3nt_(9 z(9PY&Y600~qXuDyL)hC{EZ8>G5jIRYP34CR1!VDm(n4Lb;HQIh(Zl%RZMH{?_)b}L z*|1O>^4=8n7rrwaA6pCH;@d1zE+Mf>P=Hkx;Msfl_jm(POtf1FMifzDo&i0@Or$Ve zWv4$!w=^FvZ-Q^gz6hvB6GNU5erX4f=HXK3N3e>sAwqqDxuW{5;Ae?yY!xiIwNWba zWJi?pt;p6BEvC{x#Z15DfZ{FfG(en3{8q55Ap1#G1DPcxnzm$l*#rseAPQT)9wI)1 z6<^a+Y9j0qJ3_S?3YE=O_<8o({=K-6duI)!Y%sG!9HZrghaztqFrHVzC-!qCxocA?h;}+%n~rxm<=6R!eEQRPF$oyiF2PUh>3) z=EN*08VVW>LYCo{5eP|>1dkSlP3 z2HA?Ru%o|YkkrkVKL1GAhfFkBMUii*qtdU8Hh6Ih#%axJ?Fc59?G(Xh&h++F@KN%v zG!a-LgFK&#i%8QQ2WSj!%=a`pj)(d8?uZPk?l3e~a}Tiqy5W*~N)mFL2-{zcPJC$= z&#waFKLKXU(t#Su&k?Nf{@hXu)*nValX7?hxlu{#Tfh{ep_W3l51)x?)hyBjGuN(D zOJoRPd%k>rE8!Gf>L1Az0>Aq&cQ>ZDc zD!z&L=3!JGeM(Y1@v4Ta^2fV_4y(>?eG0Lu^l(BX`hB;z+uL(;bqP$O7%Wpw4L&t9 zCCDSEU{RFOZVsX4*8JzDP#zh7$@D1HW$wyx^-(n1rh(><6fQP*Oq^{)JxItK_}?}t zZ)VvCNWBk`NmhnEM&{-s2Q!T5CGnWG$Az>j<*7g_SAat8#{CGO}kfS^v;b9tD4L5w12uLZ03Q zE&l5wuE0Yem~?!!(`ch?C^w#|E%5Xhe4a%>u_kA;xd$r&nq7SrR!%=gZQQGE=j-MI z6CW%mvMDgyQlTZLsxVz@&}drSmJ4ew4+&Y>v)jtJ^UTyn+XEk=t9x8Z2+PDxyE#p3 ze@6t#2X~Vyl4Wlz-R9Mkt1y_lA*XYkyspQU%T_d-ndOG5|C^rb7)%PHLH_I_Oa%jL;b&~4IB(&fqEM8gL==@iTD72w&=)aoLmSWln&q&H2gvD@Aubd-jzal%dfx(0bnjy!77Tpk06lA#@} zM7!IXYj&3epzu=@5z{y~>_LYOxRcXT(bC3j6Tq?tT+m9WefRa~BM&QL>}j!DaS4K& z%}WM@7b6*dVin#-5$NYpVwpL_oRln6Y-9TTSvH)XWL&xMIfxDdcti6>z$flThc&x- zy>T+wQEPn$qH8)kNvejTuN-67eA6YtSy8)=4Ou(XzbXw~ZL+4Yjy;8p9XYzCk2G4_ zy8X+v{xLz=VV^=^2BhEn*#4k46z2Rvy@|B5LuKx8t2XB&VgGGUTSd zqOgq6VM~zG{3YvX8Si_K2U^iJ((M~_@3{i=jD2xcgL;$L)-2g4HZy|OV)Mi^+IO6+2&dcJLonQwrKI`0 zgi%4uNoR@@ea5n9AgclamJE<2l4n~kkK@K{>J;@rUiU6l@B2jg$K4Y;Yey=2m&1Sb zQPA|LHcm-m#SB4%F$Dbw{5DZ+mh{eCyK63csFLVJT9EwjG;+c!-&k~J86QX zGjgIpyxV@yXc{C0#EV}3eToBsnp%rZf?XvjTt!oM5Bt=#~T9pY=YLwycVP33jDXjwsmOLu|*URT>Cuo4z3v0fXhM;EY?!Ecn($kw_zR_P^-XuWU3!P! zsH<424l}?Rf58A=R4gDc7a1YS9x&E{rFe2&gJ+2(u)QW2UGkLj{ohi-L9m5SoiId9 z2%%J7?1v4*?#HiMVi}|-`X!o=9tglpZFNKuZFnWBzvLxdBjb(zQLi?8?hEsz8tQ63 za^nSIi6fO@Fb6R8>LO_;p?oJ{?gAL6=G^?wvUNhYP4pLcq?;FfP+JkF4eg>+hTe{S zya(EA(#>(3)2Ely_;#pTPFVO3xgi6m6K=RqlJQuziifMQ)2ui!jTyq@;FxUu%qkL3 zT_<3t5Miy+2Vb_Ub6TSqqB;B zFYcxa4BLPjfcitKMKT5wV1CrlCk*{0duV=lagH=ePkYSpQ*|S7TAID{>MTPx4Zxa; z^233R6iS8zvXAyBh1|JvI+&FPRb7!WylS8>@esBU!g+%+>p1|%h+QB8l;ei?k$E~O zig?f>A+B@ihS3QTOj=b1FtJ1{HLF23ka|B|92Yqr1kmlm9z~ank7AmrHRihvCajIu zr8>CyePh;C72zxKrmI{w_<sp&&D1KK&XBXPBPauvrngQ-Vs2 zz1erI%z%9cmkj7J`g>NJ*6;v!dI}0~cLQC@yKqJRL5U(yBl&*I`t>nd@2;gYxXOwo z0J*S~6o|2DLhM_O_)@M^y;cLK2b=-qMGCrH>#;| ze6)}vp5P1|DA>Aw89U}dS5Uq#66KM2rF>B>Z?lL6D;Tn)uugm6Y0&yOnNVu_v78{^ z8D*A-ACc?{T${tdq^4scf|vW6imSW%K!LB>?iZ}A;`!G&aPQMvSW#cjjaN!PBP_y( zHND%P^JZ-RAxK%6sn;AHs70esOX3}h{MDlXZ2917;blER{M@rbKEjcAn2+b04<-;Z z=CqsnGvn!yz@YMw_WZbbsOEvImwz$70S69ip6&b*U6xmJnD?`7O^YVYp?w(lPEFEl zrhToD(9y;@aDrK$!S^E@DbE5YOol;!z(<^MLzYN3BQipUp_yFU9eU4jlGQ(O7Ec6O z1*!K>9m#a1a#Idb57p;|gr9CQTq#%C z9paVd%N?aL*~n@9ZqD!uUy8r&Smaq@gye_ru}fyawzIg;#a}mFNMAY`Tx;yixH@N_ zv9}HdpRt=B8jeZm=kLbu!YFizjPs1_CbMstUHt?q_Xf~R;MrdJuz;$Kr}>ajhl_82 z{*1b0Kfu-C;|9ShkxK82+{Ejn@&&}4<;J8LJs;fRl_`Sl_2L;zpN{}pKy6{rVxN<4 zQlUn(z{O!DpHX1Ut4fbve2IWfYNo%ve>f|Cr5rZ)^9+oNsm8zuJkrsK&@-J`2KtOf zg8^$Tl(CrY(nN-keIc^e-s8peTXifaBmX-G2;G= z4E?FDo*;9}3g(SN#9{ce+JRP38P+OR=GG;6ZCCaE;p9?avT9{bmdP!YBc(d+oD#;4 zLW&B@Qw9Z@q0Svkzn!GobS)rtm2sJ+(4q1QYdLSll-%?FsTkN2%GS{;@0TgpmJn+V z9YGA15jA>^-BeW6^KuQxy_HPKGBiksW=4C{wtA3JrKpwBYf?W#w#jqc7?MzHbehw* zj{UujTth9;>;~U=34a!v(fz5rpNJKjWf=T)u_KV%kaX{hhsoy0F7H<#Hu~vZeFvAW zP{aM`_WAZZA!xiHzxva$5GvYN5G-Pk$dp2J%b>${D$(x3|iQjag9u1~Z~sFn^!x_V^O0pl*Bv z4hQjuWH^NgYr;gh`Bz4tUS?W7%Nh%g?>%f%W!sBC+%*zsD|(OLOjCU|VsA87K${Lu zBxdhoG9aR;_I>bYdBP(L;t)7(K_JHz(|3C-+#4J(KoRa{o5_n6H2r;e{{IJp*Ej{|)N!ADZwV>cGju z`TwI19RCw__)k#m|AabB>)R&~j5>b?^qL6a{z8kd__>n?5lJW)55@;W0S1aj0VP97 zgU7GRo80(*t-s9HyvTR2Hp?l71_o+yt-q?~*{$jRSi=+dejU8`dd z_dYpYANVzro8Q}xJIU1h`C*N>Db)LNz4&#r+lkNnf&cY5%Voj;(J0^9nML$`M=7Zp zC;9nOP>^S^^*)A9t#mJ{bDSsjUg5pZ9m~0BO%Qt^fjAS^6!PKd&4YeyS+K?5_4#t$ zDB}H#<7jX@x1rW7SHy1-&dBlk}d?5H5Qoh*xrbDV>pBE z&+ok-_0FdC=?-&J@cwqMbMlyF?%(Ur{*_EIE@d%6!~A35Y<_FHzL&j%9m3P+;o>;s zpJs(rV9(3`JftwQ*b0cCAqbH{(2#S(8HN?kB7`X2Sldb*jDmb<37!JveLW0dy}tsl zuMQ*uRhV;78m^Cv$$$if4cJc?^J)oWG=LmbA3+bFx*~6`$=t?vI598$(w%K z6HH+8v^63~g-9?WQ@ZcnC@$&M)EAkP$;0#Yzk?V*zo-;3=BNxX8#lj+`3%QtykPD! z?d;@-$80T)IV?mM?29-J3(fQ1{JOI;s@8^nRGWA?9M+!%JhKkgfd_i5Jr=(-R;vl? zY&g?lVh^!{f@S?ijcow?zzzeT)tYj49%Av+B zBh_)vUrbX^lNo{v5!^m;$rePfp^=oc(AhW+XpoaAu@d9xL@F54BNE^p+K_G*LsOoe z{e5%_K0E)sVShb6U&gG~3r1|K@@EYeR@57Gcl!qz202gl8N<>vD1AnYfp8@PuckYx z9Jjyax9UcoWW4e}hFp=bEe+~RE|`8Bl;0__jYMso^z%B;da^aib;jRA_Inuw{glKR z9D2hOlUUptcn`ibo&y*Oq6pwyBZ7_CCyBW)01W!b!|~pNxRZ&SqQPZ-_qD{gUe116 zGGm)$lnm~wjkV0xsDv0-;H-Do8I=Yr@tVpA2m8*C9+%i#l>k7)Y&?-0n&_ zw%e}`Q+s0}Ua4B?Q?x{nGMoLPN2bGY3mRE)f)(M&SLb0|r0UeyZzZv-zhW5yaBOO{OWq)+We8+X!$ngoGGpe$R({xrj)qqdNP z!kEC&Oc+Vu+aDUcczLF%sh7{G1JHU0j|1=-wLwOT)L5GsM(V)fEps`ov>Kx08nrNE zAy!#q)1Kw}Lw@3_5x60$jtk73(;(BL>CH4WW*Q@e{Kc&qpbd8x2yGrK4B3r_>NKc# zk(j47l!u3!r^Og|IC_>gkeAgJ5o9;!aWKD-Hi~2rdW4N#;*c-sOB~nV7sY5}^(JRj zU3L2QIgyvB7!UoNHv|CNX}d^2{_3)};4K|7i$)_Afk-&Z+_w*{%OI@0E`sBcccd{p z5%r`N?NQ0G80EJFJUDzD0x>?W4(?K|ukOy?&Vr0}(P4)tv__h+4DYNa%9liC*U>E> zXfA>q2pX&@w>|^O+Cl0Rxh2c*{&D#x>mpfJMs7xswkK_T>tosj{za6DrVsFefLb1;DECw| zW;W%SgU=JGoFqk{jU}zg*AJd&gWJUt(58V891|W=A@ml%_9R{v7C+{E-}83oMhYfv z>!UV?Nrlkp?2or`g9W#B^sdX-7#Q2&YcCz}12sm&SIb+0L$DR28$)XFIAF`!8z`o)pjgF4oAve!-Htwn)BqGL>4Q$g z4;4AeCJ~bT-`Fq>n1T^>*!=*7vqf4k6 z7tV$E1wPRt7T!T3X@{yC&qP0bap%9CS~8Br-xtM{9L<>%u2*-@ym>bnmP_Z|@@rLu zxME|amo=X6ZVpd%>SOJl&v)o6_tiM54KD=-e*D8K5D8O#8C2fD6{j91hO}s9)=now z1Y@P1+p5Is;O*!bY#!amg66+z_)1N&dS=One@c_zM==}&diIjXO4tdpj^la3o zC37xQp2~wOUfrR9bJAp9_#K{Nu7)F>QIehZzL}L_uBIg&P$QL@_5PrGJG8l^^T8dp z2J>k=%$EKA*{jf%nSfzUQ6%MFU_tmnJ^?(d-~BS;;`h;)GbURq7}-ei61g=UBg`Rq zB}jW!WIfFBWx_R4Z`gWoi};bPJo+%doExr!ORlIuHAVKmN#2B2@_`%60Ga{|*U)hV zvP|=#oWFiE=(oZo$@oR)WKk*@H1cj)_r$4Lz7P9%o^LXVEmZ;Er}L`5{WOa|IyAqK z95!juv0%6uIe*4R<8Y^(&rcX&$~jYH~o@FKxV<0L&=Qb+Qc9b$AGQAE-qluoKlPtdr&m_B^%2wF)rBYPp zf8>Y?=+u|$GmbgXIFWn1>{B29A{L-*9OodwjFqwbLmaS?Ngl>SNrU)@0!>?rL~n%L z`0ON3PUzYjMF+8aUVnXDz!+!N*69(ZBvULIQ$k|0ey7_`k{qRyFwrP+(yMe%4a)qI z{n$rsu_cToAYQ7NIb}*K;U=AjNCsQCZVA*tRU7YABa*Hp$*I3<5J^3%ZOwE9 zB~X&Bv}D>3rk*#QlurX4N3$u{(M%YgPH24CCdH~lTcONa6JeG&StvhE)8&Ia?H~D% z3IBAv>ZEs6YR5YY>EZeqi+vu{@ zg&iE^9VwkFgfbt zWC(LB36t>h zm1IEH&l9=1Q^<>X7em?z2aA$LzLa&etB*y^N+`502=h;_r!~F3Hd|y_$C;Ea1>sV*$yoAk#oOIhjhXeQl8UPqSJ5z1 z{i6YAwjyiD5lDvA%m|1gc3m?X>K~X5Yh2dY&Sb*AkG$+WFjQTSt{19*{w7ea40t{t z>RL*1**+Kv+VPb1zn_UHVZwQNl)=*2R-r-D1RS5%KHidSm^!k}qqdR*UoO)Q_&__x zSpUv1?60K3W@3g*VL09LtsiR;ai0sH2_L594UT^!!LVSID+cZV*lxO+tUy&UAW1gL zCy)&&g8E$|4qn_+oJhFu8bF0t?x{=<&)}!nYa0SkTO?;5c|O1i2Df~Bcz8pT8zjK?^TJRZ~%| zs4b!@^rF|M3fC4aB=omx{78Jp4)H+7o%gb0%+!&LSn0TL1_{MIA5)A9B=i>^h71va-6~-=E%XeQ^^AR%WinCHN&c zYv(yy2k{>kpLJac5Br?aVZ(|Bh2z{mpDoMYH&hxF8 z636+{NSo)0UigjaICljWNj0<(nZf4Nsy z$6np5P8T zJa^4C7#M#{=7BzulTpp189qXCE%f}U9cxNi=|WL{NuAQO)WdILiOrxBH`72~8L2#0 z@*Y~gPh07D@&i*%oci$Dn-aTPj(5_f9MutiyF;L)e%ofnwHP&ZVJ}o|*qp0tjA!o) zQ)6XB81fZ3i74jpvpCUonQVX2{B>OCrl2=yN+HoeUen%cY&2;x@P%+EeBNGEr*}w|lr` zj6*}dueIrcS-6&CmF4LG7@WkM-JL|ktXm6`pFx*8St@$Roc-$}4I8byZO~%MSrsvl zAhM;4Hl+*-V;~Jp1*1`OpD4*|v6HwoZ)FqYgT=9sco4l1Om!QuaKGhMoYG51xJzH0 zuNbjXSzU0R$mPPRx`A%vpLnf|h4iB2)>~Rq3>c?h-%})dOQq{`>~$}*)s#GHF~%Wy z>ZbF8^>P0ZSiilRV0IgLh00xQPwg*V`+f4HbmT%8=Om~wS#oJ3L@yBmwoKyrM=jbj;`9i z-N|?r$x{E_Z~TN{EMlXexlt4=*0Iv z%@h}Ig-()I_qIg@GRk8@tnJ1{&tN?3qI&vdC-@h1l5G0bAX!9jDENkXux|-% zOpgE(%IeTpXM2W2Ue0({Z8>TOrdH70n)W!uUX(mIx_Zyb2>yItu5b}5sXN9MedfAA zDlfzLo|$y)bY{h5ttof>?#_dkxpmY)6~MiB{L;(%ygadY9l3{rPKQzm1_nGH2soH>K^z(Rs8_?sWa|;_STOWcFzgfxB}CLt+HY`RZa(yw}@3Gxdd?cykthc zXF#b&biX=86CX*=sLa$@*upVkRTKVV5CVaS-1Z%J0kSi7hawYam`1*y1V<@;1bk~RZ z;saqT%I>H69g~^|0Mg5ZB7=}f7$pq{kIJc_WwBlZ~p&8|26r42LG8S z2MhbZjIpw^!Te7K{u%$b%zr8VpDh3T{6BZe!NvT4n<>XX7yEnsKh5ADeck_h1^)MH z5G?;u4MNt$*38+QnTUgfnT7E`7#1QHR#tB2|KwPS*x6YBU+`fz-JkRqHvsJ9Y zf2Ns4-GZD+iP-yqL|L7KB%we8VI(DGNa^P**aDlAogAK~Haa0_MYhybC7SFtY=?8C5z`K#jL<8c?`UC{yQ=!E}Z zV6cXOu;4AeQV&;0!c2z*!q`0q z0R>uxTPcHR_v99)Cq7p62VVp?Jpy8S0FmVR*;fEW&S?jU1%}W9E`&!1bdSUvjyg0k z2Tt_RL?}dXeR@2EaO>Zp1=_4rAit~#+2Kh^>G@5o&WY6F+~~UefcT|-D zh|3Ue6W=o6)EAx7pBL>qFdPUd8Y%*LfKdwDgcwMWkPv8U8nit!p*kp}xu~0ev408t z-7**s4uRdxCD;r2o42zSA(j9^;9H`Ie5!xo-cl2mlQKURbZQO0lIWqA7z*kg(-hnV z{MHfr{{AiySkVkO!VwE1Qh{ADrcQ13r*Wq_dQB7wQ82L6HbXqVK=KDD_Fe7=8Q zCAWn9YxidP>pSVg4-(xnuH3WMuRE+gowRaS!r=o^xcvjPvoeJiD$@S3P0E*SDGvWj z5N2P3QWMfi0yaGe9cXG2(!XyHiSe>(^8mz=hpUss6DWIA$B!t#7wJ|X3ZM@)s}FUf z54EEY^{pS?ryst%gYgwM=cf(-wqgBe$2I7S1MjizD8E+@^3#U*)b2poPaE-T!}Hc} z=)>-!|38_X<)H6Yf{(VR-QF6=ZySEV&a%^A!iiOWH97IiZu9(A^iLea}TmobWafGKwlDw%Hk%tytS%mS6>mS z+yt?qNhLr}?u}Nr!++vD-05Hig^wuzm=J0JT4St*c~i)Rw@shoZ&|)NN!WYXUGU02 zyjsBSZx)o}mq|PV-~3ekq2V`7A|N*Z0en9nSdb+=-{F`v*z&8psuWDH#nw>Kx|Seh zVCQ!eQbtZigk#^D9LRF;hmWUm*u}t3{f7ih3~L|6Ic-u>xOw-6~|-8$h9jreBvOH2~`kTIdFS^!GdfN_qF!Aj2VNvFtCUCa@r zF7bW*Mb;GJ7xVMF^~a`0c;JBxR058zJujop#l^_o_pLDW{-HDc`(6;s(Du|m&dVSy zdYgV9BBg2_uppmeQ&`4eod?n1_>DdS)QA198!ebGSH8t3ZPj1uPt|T^3v>H{1^wDm z+=qDK@&%O%w9{+U-z)T$w=7&!EB7)8-fh+TX)nBWgh}!;=pA%10u$&zp==-CLI0=` z2@{Ac4iq9vkH6P@uNseA{;DC7TXpXwfz<1OfP z0q}SU=siIXmjQZ_P!DJa3t0J^k&v&nbdg82oA(MPVt?9V4MP0#0MG#;K7H_{2teBW zyYV3aY0-l}N(gHEgEdSDYX9SG{;35Ca?cJLOa$qqM7uIB{U{qX~Cs*60*x05Lg1t>>8@C|NYRgQp8AY233@&k6->qBC7I zJAZz8B~2Kq3}X?&p-QPuwAv)*kIA2l8Yr_bR0%X%kuBn%M{fII#87IJ7|eMWc0`DZ zuY!ufLEi!QpT(yaQN$A%*X~zXki=AKBbRYWSi$+K9$bew@=w~e+?Z0E^^*Nfuo2(93})Z!%L z<5wqt;|+WdCJ=(w7Jz&|u6#80?#89&-PQ%c2k##EslPZu1!jFOXn~1;r-?(Ae$|B_ z2Y>D~J$xPR2|k1L@31h1cNYZ>yO6%tF(_$;=h~O2qHcnpznxG8D?5J583fdtZ_Oc? z{z7cAcj#$_hcfM5$H5-8!j3fn5FWh|Is=Iyb@Skv`q?-k^ZAv)e=z~~KYpYAVMlUU z<|eAWVbZ9xA|g~=m_~@?(jnGUjI!b)(Z1T8YTh(hkwbl?o9#_erHjvx{yW)CiNs+Mx6d_ zM*NAa=G*TFwnP{pZVrUb$*Yl`wAF$|;_T0}IX8~%i+;1?N!kjFjDa;I4`J%@NihhY zEMi`7Weg)i1%jQOaBmLgLN$jc^b`eG+f+oqs-H*>-;P;3LG_k(c zj}+lNZ4=D(g4|HGp!J;Q3rL+M zH`E>!9cj(%!c&er2+30T!7d(fE(hjNW*;J2OBfB+LIfX_wITc+%PzwGVf}X12qba} zsp&Clo@r&4UQ8!?v-X;6#T1xSETnSn20+gw z@>3@V*w(ZcaQNz$D2RiE2i(#e-C8toL*Gc&X+!?FTcvusoN8(BlPZX zDs@$rZ)NOC*aIoY%D{PMKNN8xZ14uo(2ZXVq&CCr zNT99)gq3L#NwgzD5!fD{7kYa7TH=pz-o}L|1`r`|uW2r*9|NWmo6U z(7>-Sy(&f~k?;?&l3I!Qtap8nuXi-Q@BLo6fp^A_cQ)^D70X_Qfp0-oaMx+MV6xYU zFM%MUTS#{w_F$U1#^2j#=aJtMSje7-5*?cTbtgz7aXJMWyLK4FY~zA2cCdF}u-~R= zBC+OQ_Nmkuhi~_fuNR2Vk7dUY-gS|iK{_OKj~duQkv*naNS$nr zn;IPrzwZyT$9ItLp5^Zcxs>Ql%%I$l#Vs1gone;gMVJJ&RUExAM~Kcev|q_+EM-8`cP- zhcjwR^QAF*?C6R%!BAV=_WSUWS8b>;G zUE*Wb*#@fnUnIlf+pd0W&9iR!IFL8y)IjH)=_=f#CNp-A0KaEA6P zdJae*Uwvmbfkr;!X23iX_hL4JqC4coq#H9DY;$iz;GRZ!iUqo_({9v#&i2r#%aQd- zbhT~|e+Ys45HS1mhlFgWc8{G3-OQo78oDg+I@u~JTE-lYVlFI3&?Mv>=qy%cjJbiz5t4N&JaE`SKDPCR6uD|)QjCs{fP}2brD)cKjN+xwslYuR z^8`;@asjhLwdOEUk(Ia3T!6Q%uSKmT7d$RMUrYrZIx4+9cD^7&)nB>PDUVl7cvbA{ zIY|@7c56#vv)~~aylNAaJ;1?&d?xD&#)wyeAu;sj4o=!y3Yucx!8l^*(3rMEC0u?( zTlP~kHa*TXyt{FT3eyZ%f)vgUt2Ml%6G(BRMoI>iH6 z4bCiHINBO9fw|h44%a8@#{5C>#pjnR3o?*hjO>{&{G2fgqM^qgs1kO^_J%;mq5uTA znn+8FrnYIZF*#+Zgn$T`*?@>>@q$d!Ba|TL5-?M9AaRJZ&Ze5Q@}n>77~7L;e{b1( zV(WQRa%$J8w?QB*2Zg+fUJ{t6Yp%q{_?}U$v(*={57ZbA&RyxWN%eLB^hh&nEo-Dq z2O4{|Ts^MN6 z{d#>Wj$XT(2}HgBP;~O@UNUrfj4deDPjlqa#TvrhtS+EH`V8X$G0YQDT`KRbl~iEv4=d`tJv zBAno2kpRo{rg%%-pIw}xd!*E+S?`@6>YY7G1|4x%K?qIV^EH&HfAZ@ke}T+>vZJ4M z-{)gMbqWyEU*J1!%0&5>c9|2*k*NR84_q)9C7qs}RKvY}gq)`;am8p2`+8X=JnnDy zXl@pOGNvNIU-TTj=HzV^Wq$57Ehl%Zam9{iU5ZAuPX{k^Z^y8dIhm25s*>IEJu+Pe z@Y(`H`LZzO3fw9F?#f^sImCP6Y}cgXS1WD+!sdDC6o+>zZ}^1-^*k+Ij#P6lrPm5Y z?E{a2Mi%>lq>Jei;D3e}E6SN~+F2oxjgp7O`~;9?Rs4N$vXd~EnBd+ z7c`PPk~VlxanW(cGNUjMyMx%7!zC!)+`-$8u8hSJKk8fUv{N_#E+32*bBBwTZCBz} zq^kwFa#@%O5(QrYP9@uO7t3l*=2aqpVOZkWYg+F|rz_vhhzBcwtA0*h`D~rSiO-vp zlq(J}#=gq4yv%TS+4R)U`uWyeKhzr_{_{dAy|AxB*2eS5NKqcm`dE)g-@%5ppa1PC zOF<@6(S**bCe;Rg_gFWm?G>a^go%(tsiXPuB!w>zOc3%il;@wb_ zHa3UR++g!Gf~CEJEu>ejj_yE-vod*OYcvgnCD9hsL}Xu=eq;BSo(;o-WZwAjU?IdE zORvj2BQ73#qn~i{N1jeym8_srE)fUy<^UoXvJLk_%46-Yk%w7H6_-GekYPY^-YsnS zc_jpa*cS4A3O<5s)x?B6xtX`KfKNTXsXki&Exwu$(Wz#QFQv;fDzqytdI{bll39IE zUptfB8RgZ-ZNgCrbj{n+iBx=@#Z0!-9xndR{V5q69=OxFfzUE&=cFl=>nGC+6}`x} z;{`p41~2o9OUlePMe1jEt!`EixljP7zg$I<6D;VjA4d>K)z>^V2$@-S%r4cjm$^!h zT9F!1Ew$5Kl=)&&|dnl7YMJ#%_UxCzRsyeT>aTPbUPegt20 z{=NAm_Q}f|WprUw2T1Xo`J-#S-B*HxXg~QbEUKqM5Dp5U=Onk%i>1ASe4>Uth*f{^ zyANpg=dhU6Hf)R;G?JGyUw$V2di38kyL%=M7&8Kl5?-J)qZtAe$a65sR`91P0a=vW@ zEtps&o2e!Lw)sJAruw92g0*|W18+Ts(fU$Wv4S%=Q}DvB#>~RB2hj_qLj9w*4CAqX zOZO!@oYH_p@K33-MG{Azf*t$`HKy+I@AkwWaBeIUc7Fpv^!r+Y2q+5dj#L$zVX^Wv zMf9C3<7yT2p!F{l8(IS7drk97=37vyNGOMNBU%n|Gs(SzS64S15*`zkEG#P8}Yi$LvkvjT+#?MMc;?sFToxZC%A#g%N3gp0bSD7acyHTAN*SZ|u zxyz1~6+ER0f;63Th^27^;UD{#k+9-qnvNfQA7>I>GDQ;KIQc~!l-a;;U?T}iTCy)B zRSy9%@A2SAIgIE~VyG#!wAV1PjYie^-ke!0Ft8pD4X()2tZ>pvD8x~!gq$8cY087e zS2oXGj=()LUah85qfWtTRgnRm8l~5$L%(OdF&z zXn3L@YO|zYt8Yic7YG6FE_7M zdZ1OAWr6Q7c&$_o_K~`Fd18ZwrRgP$?>_;55~}3^i+ZZR+$dwjA3N-#lX9Up9)1Ya zHvk{!Iztvv9MSv5xq%QvpURt!@gOsfuw}?cjOCg_nng*{Tu1z=1W1mJ*egZ<0vKy1 z`CMd5(KYf?Y~lLf7>x@)*VKSn20o#07L&z0V$2c9y_mabc--*pE_W{4UI~`b7+mZ3 zSZ(`HYE9%MNTJma-g|3^x(*)0qK9@1oJ}MCz^s5^hG^Uu~M#-+p}ajr$-@* zir(i+>dVtWoq=#OtkVO4Vp?)Q}8o zx?Jnq_8y6NAT7{7bXhhXybk7@hc)Vm7O646XgxB(N6l>9I|*mBB6#{0hKFnZOo%ky5Pz@ zh6&|~iAF!|jymSr#!egpo){X{XOU%OUx^NnU2cj)Va$_u1DX-vpzIkUh&BxVF%oUB zRh^CbfrM3VB}Fxfumtu z)Tpf$j;(I&lvsMv8Jfi=i9oMmKOD~?+6+{gwUM)QJC>n9h7J;E?AGYA42Ec7=$1Qj zNCL)Hzq2j!4?pZOfo|#5;Ntd{t$^bQR+Q{o6asq7rE+?Hj1lLr`e)nUGIMt!zw->`8>XTDmJ9FdZEALx>27Sm9e%1Auo`m*j|I+M-clAi8 zD+x-uPbO24=aLr1B=E*F*%hiX_K0?Ds`V5HnLv7eCLUh+1D+XP9e0RWEXvTgdqkB4I?d3y zuF&ThfB?JnwA`i0YO*g;YG2jiotiDmvUvRQNE41A{$9*04T8g*8?-GrGBzI#O>J$O zj}wazP-51jE*tcYJV3q_SRkmz$-lmKOpR^K?<}7lh+Z=S<-`1yd(+cEKFu*k&)`8Y zO?}^gn($YXriw1-56Qve=Uk-_WZ>n^b_oAzby#4!ZH4^S5~}X>JTl?mWSw4bgD%S5 zacl=JvhP6M20d4$yc&Vo9n+84>5n$MZWXpd5z+Pu1~`EQh2>$myrlbBVnJ~2je+U*19u%AX5ED_A2^^!Z)+rSk%6cZm)A-iEgb)>*NZUS-lxG|LN zBorPD0)UFg{w4@=N6enWQCy~OMmM}9hwVvSgd+|st9I!5Ba<@z-%mEC(p_&5kWD2T z5mHFk{A7;ZFgVyC*CFcGxYfC9ZCE4RWlOGO3L3m5Mp1aaD@h zx*CgCxeFuHD*$rbOizNMsOd&*gt{Wqzz^;^x&-=%kucVZS*K5QRu^oItn1Ojk?tj2 z!GE_iOSwuCLnt_1RD9mHGU~k~sQ4_#dLPQ;=j>pi&!Sjr-=+Lw8xJ9q+8ePJ+&FP_ z?t%bi%=Hm{RwDNu!B^;+yg~X!>&nNnOSz|2Uqo~;NIssO>lg$8ipD%V8J3fsa?m{b z-9^-tQQH#Rys6>fo=fIqz92QkMU5;o)_0g%l+O*Qr!>Q>GzLy?`;pjfc87GJ%kDH* z&|Dg%QK6-a&h4ZkHvdN)`%UW!%rzS&AXw*o<(eOleUjm>7!=|qHA;jD&O_pBD(5NC zPsf!NI4v=L7I^!&wg80!Iah({DRTu{yKiz#2NT6~a=TZ%3U?BAJRHeJ%R zDNgVXuxi-bnPjNza#xRnVzV*HW@$J(em%jgm;4Pygp8~d`v5Ot(BQpe5%fh8^@9+t zg!z)9e;mg63S5rxQFbTpbPLOl{7E-g0)FQQp=|rCGtGzunex=hf|DhkWo3oIG2SBB zW$%5<%uv;falml_`J|;Zx9+ExxXEhl#0gL6L(zv4jk*V_*Zo`w#qEHK^ z8_o7L??bgk%=u+noYfO*0P}8Z#H*j=dDV}Kxgx#pf`Q%x<fB*C zYNQ#caQ|XTm2~Pmf=!#Ar|8jhUgm23>E*oN0~%dAW%4do%Hk)N0N4nCWR;tQ>Zc~r6;J;7d3eM~GbY26Ma zEe~-rn)mW!^H0#kg~M=#cJ|mujQHxiEDz{96=RD|T9tFM#dP>rQCs~$ zTKP5}3MzpVYhUS!)z7L~9p!|eKXd9GLdrRkKU`yeSifKAft{x{0ri7Vj_jGX9!>Pe z{Dc+! zEL(X_U-PG=mJMQnukT>^(Os0b+MdG_^+$sIuzwSyN<0rRsr9jvqT$BAP|iK)>`!bi zzhH!svrq9NM+tpX?RlfG0o^fBHE;xVlz@%>r7O8>nioKeSgWlIOkU}nkYL&)HQ|zlm>mlZu}-%o|%`zTFcj&?Hwx$pUE#sq-LK}gc^Hl=l!JtQ*urYt(rdZjO zNI{!McJ_YL-yatGGU9}65Y!>SI^xk-@#}Bfo@5g06~u2s#I{Sg5T)S1oAn$*LVr0hb7Wjwdvxv$j1~PxNlaH%8(5E&b!y2| zX?E`UM5|N!HGagyy75fsU4wnFK%P~X{8MPLt-eC2?N=P&lsHddgwqE$cc@u3V$*lu zH?~`SJu(TfSU$CCs>4m?$h*={6|n8kfMd%4S0azW=AB(#3{U9i7_V_}lUh!HZ5#0I zZWV|z#|m5&R1}s>T`MM~pH5;XQ7w5N1B&Gm8I>71yr0x_@Rd?@SB<|#Z*V35OVGS~ zqXo#b`RtVU7^{{HmaAx)jEF1-W#;c~W_UqqTYe?#!)Ywn&w1N`RL%ZzkAfmnWflmJ zxAj8HOH$OLrU7^xHTshW)>in1PL4#Lg?!2D)K`rfV1pjy3#q%Xb{?LbbZBJOB@AX7 zPr99OnS^TwOb_SvF$086@BT*au^~q9O#1JLTrIs83$3Oghw*qQ0x@hueyCyN)Q;VQ zXfGE-*7EV2vbXD;KS-N2^l6Dc{`MOuLG*M(jUJ* z25#L}y!<8*xAU?4JoG*yg^c=6$x`V3dcz?`u)(bUhi}sMY5uzt*SW7++-BZ2lU$4% z21&}|T}$}Id#@kbF{#T|*PpdtrfX@%hrI5iM42)!?y7ux&>uKqp-3&XWq*ke+enMi zW@ioZ)Y^2h*Q~eUH(ld8$2rn@AHrts&dSBX=B*!k*hv9wOydkYKj}|5vSf2DS6ZuIlDf>>j=ipNcO6 zw-mYy-JDH!&B&Y02Tpp>v?z3;ZnYOHwq^I4EqVc1BkAGBTu@`xq@JTrp@EbtZ0t&| zqnjB^6NY9S>yB-H-aVfq>=z9$Uo%&tWasSRtd7mM9_cQ&R|sufAEs}U`dH=~0-E-P zX=419>($;UJY1xIC*9027N~^@@oCNK8G+`a7SHFF<43?Y)xnUAV~8to?9F187r}r5 zJM)GBT*PZ&R50&M$H7MBG&3W{pO~7g>lSL{$4YYpCj`qBl+jAdZYL6oggKwcrON)25Oo z)hZgf$g2?kZ;`5z#XASvSP9Nz_XVU63l+s%6M9Ay7uuGzE?&`d>rAp~{NIT$Ia8yT z?+wEyjHxYjR8P-Yc_xkme@^6jd+q8!M#L{{TXZzv?`srGJR5Ko`cejZU}8#Qskilo zfLTD@Sne<+NVxShk|yucRTA)8BVi*ID9GoObC-)uni4kU7@DjZoT!`{uF-h(GULU) z+BhlQ{E(?*59zagwLLYmip1wR{EH>whx2+?^?d(CJKu95b3QkrO<6uW-5{lEQS!Pv zBt1T6nlA$l%phIlVe$kQ(*s~;pg&X0A#%oC`c`Vk7B-{GKy^;GSazNl@Z76 z*5P69(E05mT9d8oNnfH?80m`0XQE84t5sk=6>Ib0{*u=|=zrh~H9dBe(H@(1oS8*8 zXE>y*Ef1DEW^KcN7SPt{<2_=|LmhYIO?=+*!tY9YJ;RWXIwu&p4nitvved)Wq&0P# z?6k>nu(yfLQH$6OgQrT{|4<+77F7UBbWcL^QIH{5{*?24bLo)GXakK$wO;tulMB`S z$_Xd0@XiYc+U4ZU`$sMb2A*X=KZXZe`aL%3R;a%Lwm9 z&`&kYE^xBrb7A5`?&@09PH%DTpi*qfa@b7oe5zzx$ zay+K6M0<($AO^&8J%6sLX;&cn9eprv&g4eY%0-p?eGDCn@2<2;!bW?iZZ_7j+>+K4 zRC6}Of@?W2nvTD-vQ!YTZCfI`W7X^_M3YvkcVAp@qvdLIKpgQT2MrJLfse01I*puU zLv1qMaTH433ElQ3gKRb2BeX&SG8G*dyyw-j(;Cvm8mc(iJnnE~&vK)a=n}Q=&1rt@ zx}0|L`EvKnr9bt_9(dw}8HFVP-jrvT<4M`8#B{;oJ&JjBNkrdkINtN2sbxpy@#s~f z+*)#`Zhxq8zHV0}Kj(yj(FB)>$j8o$C-6)!deS?}hp?vDL(Os_E9;Y>LZ$LU(0MT2uo%1B&j(YfEmYRO`7%CdS86W(Z44&_%uZd3`@Y4@Hl*pP z(>m7MddNhAQJwEBVME++u#c}|5!f`Lh44-mlaNKh))8i>&bE48)k2A0`iCutUU;uJ zlMnLa@2BQP%l;TU3jDoN4ZD#dLD(eWs>~ciiO3mbh)L2?ipdRE z3`moyQIxj2d*}-qoNV*79Ay)L5*#$h=B8Erf@w9%Z zov$!lDu*{EXDQGpT^4N4(d}kaclxYWNKf!*BdCc9ptnl4 zHaeFHQwf&;I`p?BQ+nLy3Q*guLkY}GAK`yK$mM*#Zv%HLVT?QVo2Xms-ZvbfLtJWU zRDfzdO6*TF{e`%T={G~%&qvD{#XK&iu_14snHZGj?1ToOFPEb2r8L)ZceP3%yjiB{ z@nrNm)vbyTT3m0G8k~1jnXFMdmq2`Z1WZ_lr-Kxq+y{Evo=vhkg0luR6T1@Vj-TpU zy0p~aT-BG@pU*qSNw6(^Wew7G9#O<`II6EhT-dTDmc@}REWJd1A^k(X0b%i}xg{bn zNLO0~+wAgZC*qsDH}+h;oGOubgk;=cho&Jfv2l?CV{B>-QxoPy-ooIvvI9RI-ZFTy zPe#&d9)zvpr`(2~CYC%)op(XH{^F2zyRzUQ=xmYe z?@Si~(>KTuB8W0Q(gSkK0A8cgh2Wo`Y; zpD`Y^hlQOJRqG98C^Lr5YirC%eeKyX7G_*5a_mo}c9o$dHf&ue)KvB0{!g$0%2Td3#cA{HNvC$5GS4#vDo(qSF*Pt_*~U zeKljs$ghtm)_vpVI=GsfBX9I?cg>1{cjvk!IDoF}oV{&^eMT9h0tfDL zLvPZum>wX#i@p0tnzB@Q5Snx1_EvpxEU*$^ZIC&LJ!I0Y#RT#+@o_Hiy$MN=gkUAEEDV6wrpSfn`gQO0k zIHR`S=@vv*h%y8*uHh&el_9u2i=3aN^kB>SE{!*=1%0Byo3xeRYb4eu$ABG z#42kESJ@BcufMc^Y4A|szwLTfK?x@C#rB0z^{W>(>h(g$UYcUvI*7G=sdOKkr!fQt zaK}n_TY8UI;^sFlU*D4qds#GN54A>+05Btz^qASsBKEG85H=k=3(un*paFCfzf%Rr zd-d_mA$0oRub&kyCmGqE7UBUXsnv15gvS;MsssCt$G9y^aw<$G9g^75s#K2E*Uu-) z{0yNanzY!xI)(*$DvM?CmoarDQd3kZ@WJ?gdqs4C85bp+f+@_)Xg^TGSSy0XYJ?CM zw*^SlxKY}pG69AbM3YaFY|44wGCpu$;>byL@zhsbQKuGoOutr!^Q_m#!Zy7n5|{3O ze8>DiO6|zwyD3!wYCGKba!;~}U%$B4&>pWtOuj!b$boch!_jf>wyt*xnl^%}!kEN8 z;n+T#slw%@^X5RJOIRqg*@T6!u%&z_5Y%I4=m@Q27g@)KQs+lby|HX}snz}rota$R zzXKH@|6Dn*t1Oj;0vLW~ZZV?q9A4i>1|@J`RRRM#1bR)!gWd4hwk|z(Kdg6!u(D%_ z#pZNOX3*cI2t+}Hd*T*v#-(tWupci;3raMe4ZZiXmfb!%nQZqW%YMQc+m*TgS;Bjr zMePb_!Vu~q?I_}Vb6vg~i{Gojf%VEfPDp$C4az}u(T!7RIB|25No82Gfg(`ZJ*`eC z?N}5V)kv`7Nk*E|WiPT*Jn+INHx0}NBF~zoO$FU^ggvuc`*B}`=8jd%OX+~Q{D-AI z-BRG$x~t?ap;bUrB;G;=OsaqsQKIq5 ziL7-18<7V+QF9zFUa2pxyO((|Ee-ZjE(@f;sncrcGjRWYr|s*gCrQ`_Nm~oRv5kxy zBB~4bB+^>)qNH7uS5&7OMlZg1QpUXH^SbXUekaPH zSyQ738V|MxJ>f*BSp)xgBE5)L@*4Uv2wFhzZIY?WY)xY)HqB5}Be%^LfUojsZcjRg z{|t_nX!W4_>WQ?0{8M$pJp)W;VF z*_1G8V3@LIa4tqF=E>MqYl-q+{;eVs_jbaz;ofL;Is+%hh?T#;nQ$3h&{p^+PawXh zVr;-JDt!`0K98iC^Vi6E4XLwW0)s1A24nH=hzvYgW%1B@eCmc;+3c1p#|NRo3QjkX zv7ro9cEspte^NiD;~Zm zU49fqygWpDYd1DSZ_@_-`0>oaT@SI3>W(pMO3t`XW?czYsSh!zcK&1RZTfG8!?HmC>PUO^$we3?Vqa77bgrr(GR*2Oldh? z{&CK%iyozG&!j;*FvP7%ECN^Qy7VH%nOu0j2o5?P_&ty<>_xnZV)7ZcUwno;@3EM` zc!sd@h>~6(Oy;DL#*c;>xLYU}5d_?g;RQJJ6h;(UAX&Bh{26);5%0z5a67n}lGiAU z^4!}zol(35tL?dmjitXs&|`<|EEWYdpFF@$rNObWMyDziIWYd9<+-2J z%4^fQr3KHZmjzWGNbiW5NJm+?=~b0tmrf<8kE6!GFM@7+4aUuAG<1co=~Y>NvE?_a zKGO?SDf2UhVR6t=q`L#63}y))Yh4lJ44Mk0b6L#_v&$@$4FQwVsU&ztn2@5FGc;#|iJmKPd~K2 zy?xLf3a|0r6f{^V)k{{wGMKp36L)ZLlij#2=9J@S{tNUR&GSa&!|A{bwt%RBDP(Bm zV25B>*qZVpKh?l{)H3@$TCYRqhoUU3Cd!bSP(?E4a1`f`3Ob;ptRd5+faL?W(#^-j zfE2Qrd(YX{mBBcEF=J3~f9;VHPNlmX;$a-xOr0H#3$+yE#H5M ze<@38OBd0CI0(x|PvY}f*QZL=vae{9IM+MRKb?8`YHY7QNd`8r(IP*oJ*(Q_GqRsH z?hIpGOK-}wOvQcs_hBn)g-8m`IO*5n!ts<+9jLao)V&>;7-ES^mr5mO{CdRMCeqa& zmz(At`p3#nZOh5LCabPIqS$rIh}7@sgL`KJ5-6aw`q@%v6brATy+ZN z|2i%3I!yO`%AWJvR&#>SyZ%{me#fWc*~Q=RFvr~a!gKqGS>LVbDtBL-Xma2BQ_0 zzz@7Gc`a_SNr}hi5)Vz4@3uYqITNyQX5FoBb1cYa^OWAP(3{tItW%1PD{+|mGblYb zo=k(w2k}aw}E$ zG_R(+rc4jCp2?`VY>oyy=q`5k%tXIa3SL$+vCe!mEV8|cd0+kImNr#c-5a};H|}}T zO}drTG`AZ3AlWGhFFJHDxIxtu=%DDl5^$Tir>nb9qieUk?M3{ak4q1M>Lvq^L)$m8eHv3XRAep95Lbg|4x^Oj{2}zgpyRh3#W+nyC)4%M7(a}2Z z?%_3&$7Sptug#VG=1Cxizt^EpbeU4?3;@rT^9GNdZ(O3Gx0lxMkwnJ0yl45 zmR7zif64eHiLfN$;t0z~RX6(D;W^R0MeoQvGp@H@HB}m#dWzu*f5><7$|h}=*Iny1VJaw0MH9&gF3G=cH}^eOU+mL$A>v zP970YJ|oiTw$(ypEq*kiTfyQRS%sMev1w1$ZS#dn`%eCs?p?DPS!2S&2AeYElIo!f zxvN{lgN66J0{sPrX6fgH!{UNDQm8FcbKFO2HAl@qCmqWh*)7V=mBVZ)et*u-;C~!r z0P2aNec(yBG!6_pyyfKr>8)%<{6txa4Q`hfX4`F;gUNZb>fHASPPu+@b6=%fbmM0a z>HX5si7(uBC8vA+`}W;O_jF$-dG=>c;f1n#mX^8uWR1QyWC(C0ZsTN#4l!Odc9b$` z517a>5jUOI3LNn~qvw{Ts%6g0!QOXH*zWAiXBxkawpM<8@&JK|%~wxkM`j&6>_BySKC%BwKZPFUpvhJpYKr+{?aLj}J9*VCi(hZPWiw5EHfbyTgumYN z_!5`4l32-Q^^VZJpeE;Y`Xfho3Lb`TPOw@waCy8QeUI`StShg`tbpG+^P87DMZ?Xe3bB-cYybROA`6yo#LyHC(E_pQCC$& z_b>T>yrjn^KzU-!YH(|jD`+BRU$;v{Tu^YQKK@Bo>AacMb|{~;EBA=W1un@h%Zuzn zYX!~nfh=vrW?E^9T{%xL&vxJ16qbHyqb4-usXKIGd_VE9xS?#%n^V)=H`1|X-ss#7 zhd8|Q6LA+0nqTWwvd13WS|87L)SPryaQ;>JUM=>jGIQP=EmZthA6EPuP4q4Adp7AA z8x7XwHN>VHGX?#wg{QimIV<{=_3p>uFs`?80~1?aX>%OMb$MFe2u>SLmynpVi5~Bn zkwnqHCQ0C@_5RrX-A_43d1=Y!aj^AVNY|Z@o(Ixw{q#hg4XO{ysp-{g{EEVT@MbF4 z-PDh9w)DSpIIdthS~{|DbGYH!r^uwZg|&ecreh6KKRH(3dLIp=qfV<(O)@UI#baV+ za(z8U#BH!LOrq#;lvK{p^vZ`)i~RtN>&j!vpPrcT=2#wiM@x6Iqj-WarsSu<1YgIs z>fivagQ-Yu zf24DnvX$3-%{(Q=Bbx1PkppTeiT`psL7|gm3`{MlQSNO@XBEM+#KH7;#r*CwwoJp(h_0^r3cBAq-8recJ@6PTA zos$QnMn6il>xWkA#xGZdCKQ{~>Rb&Fs^FN|>u?$Cnh>8W&^e`BfAac~#=APadbf^8 z2{smbh?g~r4+>_ls|?1EK48XobdaucWo^{Be1GYhz2f>nobf#gcy1E=sf!h^)K{xK zIP0m>d+1e$+_iey`_)gMU8sv2j5+)3-+0B2}#lyfBxjP^yY@krti!||L4g2 za}KM@pW>qD<1TTBV3({Cd+-u3s@BW&8Am_oyUd_vrhU8KM@~lDtXO{Ng3{Fx!}_Vf zv&;rVjUt>R?BDiMH{EP3eHmw}sP@nHYoNPdy;5y`sBBU6u;jMZoU*8Hn1@5yE*-gwbE^Y#V%l5mANmrCi?oAApK#+5X^&Kn0mIz($e zOc+*W&`%3|9J3d5@#6i~tbf8}F0e~OmeJxG(~nM>@?jB8tsf0|!lLuLb}8RKst@|Q z@n=ts_S-$O!Do9zl~$A#P%z)^MU$^DCyLR`vvUlSAv<=b{@3*dz~ZthlzVY2BJuXb z820jP0ws;80xRz}yThu_nCPpkkFL}2ttb4NWNC=fA86Va9DT5P>*VG)yei#D3;OS) z=Tnn?XBjY)%zeGvd=tEFp^5#5M?QW3qTghdQ~YMHD4@V{)X1H9`PQ*^t6{F5HLm&- z0bc66AM&&#qh52Vkj_)N%m)cxvfX#K`&uh*uWm0MUL`Z(svbVX)~@a8Rh2(8(V6+W z)A;?>WwJKrkYmft*>T+8Q6|02Un{Jo7tAQ9DDYi)>*f=kI)m&wGPYtf8%j$*8sxf# z;L+W^`J$kK>3N$gHDjl7&#l^F1~J>%;?tX3Pw%}HiwX7@%EV`-4Pjj@c572L*Z*O! zy7|RE<6hK#vZfErt!MddJVdYmOgz?<*)`ZuyKg<{*?jg6S!R)9|1*Q(3*-I+p|i&f zu046jg8KH2Qjs<|sD~o{=NW#3^BAsr@$8dwp<6URco?eD(TUP3Z4@7`8*KJ3K4hZp zua12v_O=i|gsk~VQQ68=<)To+D(8dQfP7O7?MQ8)XsRt;nuwb^>8bti%8lxL$#1SJ zdQR;T9m_Ucn8v@Xc{yh$h2Tnale*B*3BHi`S7%3W3pG7@@+4c#>{!yE_ak}FZ-HEN z4DXg3vacND;W>NLIy&3S%&biHDEj-!LZ!z6YDdGqn9++^iC>vv+ntptM_weOpFZ;x=vQ1FLq&2x;o%V)BCV>S?}99+SS{cOitPzmECXY>6io?$Sf5l z$WwB3r`AeXW`~09}81UihU|yd$OQ(!77z*!| z8#+_G@I1#S&aUhm%}Fnh#;U#CLgzlw+ao>a{IV5=0+mZ;HFr2hiCHpr!|}Pl%k@T1 znqP|^y=qna1n`BYzf z?yuNNI$&P8;QGq%RmtrSJYJ7n367_BZK{_AoLWDBGf|P8na=I4%x$)X`i=&MZds$y z!`=4789tTso7X3fUyt%RVH}h9w&3BK{WKHh%nK}|V}U(4O=d7z?zBs(u?~Y$i%W;- zF|25}`J?R_Bj&J_nAp+XS;{2K(;6DX&T6BdOxmWw&%h0z^2wycYUl5t6U8Gxs1BXk zY2toseWS1p`@G&~xF2ox%xd(tyZOi0?&o3p`=4%Yqw(efU3phW=ykKn^SRSPj|$H< z|E$gVw9UQ(v1ZDW5sXPwCpuP(eA zxpL+6>`J7+m(-6GasOm&X1(jCGuKfizKv)NudD4g{dPfE56{!I7llot|-N%G;Uuz8}hU4Jhbd`w?TGVn0~m$nN+}lW?h6^+K?SU;*Bz zr~K-7r&BK0^JCsD^@*y>+gevhv`83HCy-T377X4Z`H?>*X-VC$D06LgaEZ~VmP1lP zCnf!2$oCufimNW=hPC{<;nzv`CXOnWhR@<=3)xx92NjvAmZ#F!zxPP2xk?@;s$Wx9 zsjWQNP`>x$t_AD;Vds3SP1lr;CPsov6Rq2lqJF_OH=Eq_uFyI2A9i2T1d=ak*Ld~QHX)rEMYS|q=c%f} zgT<$uG0*fJd5&MCF`9_yHc5K3=w4d3lZ!Pc`8F>7jIHdk%s$VX*PqxU#1t#f1Qa?g z9eNom531z-l*c9)FvfMIhjaKIKK&UbcEZQhL^tu)(RZzD+>s5+Su}PWu{6dEoz`-% zk1`yD-qh23(6R73LVm99jne8GbVtFn;4Ws@+-cq7}Mo+o)!_P&qHs z)b#bXBT*<>$(caTcauSw;;)wAfA!jCql zZq06nnjPIJp%ck(U)_H(!MM*W>NcUNfu89klGE+^ny34|sM_q_n}P{7RDZdca`yc6 zzT3GIfd^zNCvP)F`ehoinU#K}IV!xyWe`Bdr1_NOEluQCewU^agZD??3N>5Elg>Gw zbSS6SxpqLNt=vb*FcPEacEdAIca2SFU;K4Sd4a#4^VGSD7T)S7ErzC}BkSRc^dtAP zZ&Qzs&jHVgtQwXc5ql+nk||An8=7wBqer?(cyD{fulL@dYN*Ahycnp1%Cj%$;%M~? zq18E2Y3s}6kkOwR&b+6_|G-%2%iZhK9Vt#gHpBM{&st~wy)D&!$_lQF8S^SX&2G3l z);wB0gnzVR^xQkwl={cx1Cv*qr(ld`_WXr;~Uc2NKW|@G8sSMoYhk7wrnXK|V zIV{oFUJlYv_XU zW!7eYzai34-gUfnF+q^B;;f*Q`PqO)a@H9ZiFJmxU!T&GK3N$Apk9&WI+jT0Jl)_X zMCH4eqI%uW2=m?cc=W=RB0(x=lbJQvIqs}D(_4Og3hOiID~hp$%}RtM2H1mHe@gVD zcTCS>hLj`@DELl`*yNo^J7FW(@*I71BzCQ3BAVL^(vdrdLF@Wy<|gP#q`jae7Y zt1>f?n|{pfGL<{Eoo8SnlPT4S@v7E1*MI!tw6VOYSoD)-_pqeq6L&SDYJZ`o`KSus zIOP=G()IYp%dEAB7jGncYqWD}dq<$c_n;iF^7g=0`E~F6mQN(VXkOkcWlQYVHle<8 z=I%Es+F<%ePZ$U@YhHI;^D7G{;>{$Ux0z>mri{`Url02=kWP#^=*qwQK!93wrX!Bz z(*Vy+enquhyUPbEuc+T&A)vo?VoYzvn)$P71IxY9@o&+AQBeZ!FSc(zvU$Vy)MkgP zGDU`xgi@?rUq<5H=3MB~Zju3hsogTxMOq&4Ft|zcQQLal>9{O}(inS1L!V5pkkA%- zERM;va4CDb44*6GS>r`>PT%6sou4wQ7)W?R7H-R=NwojKR+vagM^fLU%lmLrBz{Tj zZt%UsnCC|xa>|c-h`xPXYwx^Ut+bSJ)H|Ydq3lHUDbj?MB`jVOLn=*e=052)I?2pJ zc}r*W7D?6w$z{pD_K{29K3?!qcKjfHjV6(yFLif1+AF@s`(B}*Xt5&OV0s~KN2*cQ zLxFuWtC!Ub#yS&;zo||w^ z{)lKlD&@Z2Hy18r)YTMCsBfT1oXPB5UNM~Jj!ii+P{qwHN}rq`LwUx{$9j8N(9ckV zBL9`>k4t!fXd>~P{9^-+smJ;zzg~ss)#d*hV9DW=Pk*g-T0bFUJYeRRTIPyiCdW|3 zk^!^p^^pK6b#tNne9}jMmC#C03oMO<`8}{o`!SJd@o9ZzI%}ze{Ad<)WPO2>U=<6C z%CFNxk3Xl7XERou=U39UudRP?O0vciE-9<`RPUf;k!7AjWZ-@$UGMJTj= z(JM|@C_i+tj3TU!yYeK><6I5i3TM+PGo7&Gdlcxhp0=mz%hfo}Q+EV4)fj-cd)DSHTj~bwxtf@1EE6$6T&vy;7pyiz0mHPlEa( zJ^d5CIz4;&K>VqSJ`u0V6Ly6IBh0$(R`W$XVr~9D*Ay*1rSBaIpRGDbBbVP8W+r== z^V}(GM$t;{`i5AXsz>8x9W`QS;fV4et2q~tkba6jE!kMgQk18GE#aq8=(?4x;_mhV z(-WzKYgvvZrx=%|dIS{DqOB&1UMVn?&PkK+mVUBO^0lk9qzsl$;1c)W%Cs353YN3O z7m?Fs(Bx@i5r`%yXR&HJPtz*#{Cdf&cE)HXhm&-n7^WGrl!)2k%lsr&?jN6< z6K;v^_+I{O%haz*rCj$R-r!|jbSXNZSbF<0W=cy{9zTjxX^(ln?XpFoSj^p_$3D_Y zqYO4V>NPJ-71#r)zMd^ZS2+i?@i-h*A8^Z_b1~cV(ZY;wnawgRsN3Xors}KnUaX{e zC#oMrAM)|i19>5zS#PIzsh-;Q(JuQksw@xU*~&+y;)s57)8gZglu)P)HdvLPG8{K& zpfWXVFc3OE8~R~st!plGtA}ckD~5aVu0l+gF~H)m(n zi7nLyzBYc*310W~PCof+Px8A!_i>5gW|L=3ZHcxmtuA6J?j~g_${PyrD@Cly3qHuC zxVPSXH1O%`&m5wkRQwi0E~XLbmgM{=xkV1{iuh!d_&Dp|o0&P!n_15IX}gigEil4Q zj3n9c=Jlx@#gS^k72{Jf77Mo(-dnfc{?c`7b*#wS{-onW)_Qufys%dH(=`vjyAyO@ zA?>y#4h(8!(LO K*`d>qZbe8pTAOn@bZ&?VU?NlI(Rd!l>Bete_5mnWgdmWPZ%3L&;id?-Fc>CmLKL@#pi5re^kWEoCRMI{__k(u27PJ*y?rSzUHuvaU zd}zNTnQrthi&XlSG4I0kRYH|diOWf@3a@NJ>06ueYI)BJ{1DpE&Zfw=YGpZ#w;VX4 zbjFeU#1~zOy|^RCo}^|E=d{uK5)9qwQsLzr>LuDHzm zEIzlC9QG4Bpe1aX!zb#}_2)9<2Nuc_6z$JCm#MfLX)8Ob(=YpIjND%LAWggJdj#bY z{w*k7-Ki?qyOFg(RedIrKTK`;b&2kLiWk+~(>Sj}nHQ&-Bg=W*-tC=xF?E}fnZ;=I zu@b47mfp3GOQ@u;YMzp7Iv$;xt4g*pO*cuORpLkK%=^u`WA4SV5KGlJ3{q~FOWhZ; z?g?mPjy8UEXI+5L<9iR*VBz4bcGt%k5s_H7F+R$los)P9tO1VpdRuwN4ah!aJ$X*% zzZOP5MlMJ&XWLWTzC%WSZnv|ky3zM;2Z*U&F+~NxB+uYJHJ%uUyP5Qj zr$Z04J{LR}NzRXE51AQaT6()PlBi6%$ zUi&e6h5L~|w?3m{4sAizdrI=ttzjvRw9mEJRLZZBoX^c#*=7=_HWP~VPP!(FHqTn2SCKTgL1jY3j5D@3}X{Kja;9A6Y%~)#K2s zo}>bQnp%^s^h(DXMWv?BJMi4e@{d zM3gK3*GH+>qZdsE!?t%xN>yXIBio*r;%P_gR-o5AmG{U#^+|+!I<|b}(m!2yn_{rN z{6so;*x?Pry3eQ2JPf3|bK}hp>AkW@L5GGkKaOutX)XvC>~RaSIXJ|0Z+y&~0j;kB zu5ND%@z+G^#*CeFkQ!0vSn(SfXyA~`t{8S)y)hR*bL?@>Rgdc8j7*lxj2xw5LjyIP z68dG%oyRm5eZ}9rQdciW>wiCsx;dwvx1H=3Z!5ZU?}s?Q1>=3qbDn{-p?Csse#QJ` z)^88hTjoAfN_zcq^*yCyY9wiB;qtuQ(74r#hm#i?>t2~goKL!pW`1bwrvLVKnA8K6 zH9x(gjIqoSOfkASaB$~skb?&v@oa;ET=cCZU(EJpj88hbB71P((9=RsN{1>&4VS?$ z`Wi2|<_)}Wy3#ds?^O!ei*oVgUB3T0o=TimJv*VPrujTs_8VQIvC*fPZKok}LM@qG zJO(3?;m-tqWUpGTk+EdN6RN(HJy&5hziM^XID*;Q1kpOAI(WtZ!eiS5pp4m3U zgYl> zim~}$^atD)+v5;bLg z)UU?TT_=4e$kwH{Mezqs^Oy`FTlmFmM~7ad2T!|c871wpMb19)+-I4rK))X48M**} znnhp1_?xz1bjLPsz9A6ecSzCu`jM!$tOEStCZY})E2`kdi} z`l8sSuf|;cv*YFsUe1b55h8tuN*rDe zeIkHwX?$Y8SZb?>A^4)6U3sRak`4=1` zauhzq+Sd}4U=EI$pAmOR{1loeGN#sDbEvVDK^|_W;g@^=0gEhS!)@-^FRW1#sOE=H zZjpyo1jtp<(U5W>aIvzKRr-j=-dZ@e2P;Y@bytx{bdd5}#c<_huo znZBR7#z!cl7^ZZzVv7e)p~|yWGMJXM+<7b4E8bI<4HL8(>L?kxz7b|`^_3jFxx87y zNT?IZNy=e$<)O)`hp#vTSG)OWZn5RNiw05}>65-4zjq;Vq^Z|M@;o-kQjPsGUwbe6 zX=Xd^1)(orP2TUNgghHed37_6>f!aUwr>o>mbpXRaL ziW;52_*uB8{ZvLoII6>Y@}%6V%lcM3`bqrEE&rQG<^B4j;VA=Gk~_a!&Jb1>=I3y& zC7zZLUnLD{_s|GdOng#1S)U`e67MFx)gtZA@V+RU)#>i(?oM`KeOO$!QTc1^tA@~W z;E51^HLh{^rvk^BTz>LReD!0?>d%btIBB4zy{?|XWS{>bYivZ*c>YKRjXjUI?6s$j zr|w5&7P?OpoZXob?UT%B{AlE=&~Uy`kWtH`eVI>OiqBgeFPa{&8)XVTG2-;Z zM&r_@tJ|uOdPH?E z*7`(}yCDo2*KC zsd0VV?S{EonoG+rrz(%pb6QA$zFU{P82Dgu^U6>C2!rES3p_klKC2OoQv~4YXZ4>Q zIh#qIvh62!CigVS>uavX#)7ZigP*r|sO1-lfA{0^uC~{B@HlbjXoOgdq4jP~I-}1e($n!&JOY{#C0bAN){F{i1-|pu z|3c{~1m3(I`0h?6J1tEDxkuGdqxcQq?M$hFAVJYo5zFR-9%9$nn-nZthWD^)g--@M zVr$h-SJ^I_9oi%vj4igP7v@+wVp|x(=~j+w+!q&Zb>Q?^{b<;EZ04(&jAXvoYRh9* zgCU=yUjc7S6f%!&Osy67t`RPuGF*G*DZ%MC&`feRyywvC(!J}pq^G}$x_?bDI4C*W za_NO!*R9%tNTx?W#~I&8hbZ0r$x;?0=53joB-47|bkNo_wZB}va%#e#;$E13N3{P= zgK=L*^k#G^>RWD@aAd|ClbmP8))c$)=9B>+EyA_el*%8c3(%{Q4^%TPEzs|}ijhT@ zzrJ#4cI!3XP(Hy}ddcnKepT&cnn{u|r|Imxf=1N*$glULO&2#`ZH8`yU$FHk zA$+VHHae|9xAj#rb%ID|VoSGvX1LLD(on3i-!=Wj=bMr|--0sUW?QeHRHro(OY^cY z&;7t0@VG>h&a+>RaW}~?!uE{i#8!W-IR(-8s=C$3fg_ifEsM=0m4P174ZBAVSAuWm zq->fx+^Bw<|0AzcO6mN_%B~NmNw}h*YJVnq-h;Q7>wT~xQl_6;NiKEQ2^Tbn+KjDY z94n+Ajk#-i*_dXN)W3HWtRw%mBIp!0krwZ8Ymw6|1`!**()zQ(4!4h4(#G+*cNj zQAt}6ye4nV{AIL8Ipyg??EM?Fw_L}PME%h3FpGObuAwCK}@EyV|_^_Quw)+P)6~ zjbW2t;Nh^~OJa!JFFNN)qX4Tt{z02!QyyEbd&^_wjrmu|60#N0TlRiQRZGN=D=r6~ zpUldam5({rmWjGIAW{=x!aRt_%T)!x`ncsqwr%jO!dS23scOT%LT8ptV62a8RO!eU zVe=-7UmgjXAA{8>c7EP8Dmo~;USs?viYuiRbGo)MO-s6NE~r|9u}}6zfsk(d$AJs3 z8k$Edocz44_(&=O?2~^;_+p8WWqo zB~kQPr;i_)Ps}lvRU02tdK)fKaXT@@|EjXRh`dj_El*ZX^`4lRknpZ}C`HAQzO+6makulBP40fYyLT%;`Y8{QoTSw&pUL-{Gb{wh z3+}vlE8(FK+nIZ*$@)x`O5N%;s$!1XyQcoB_ny&skPc|FJqromx_NcY9An_9_>1q9 zQD)=yXQp*JAM*{q6kn(L{;NemInQDM&w5yN$Y6KBIEF(u%B^ZnN!~ZxM8czyPskrpGx3Ua^xmn9klmu5$#4zEwsYVAj9vKR{vYo$Dr zQP-_$J{*0#qN6zVJWkcKMA6Ve6Mh89`dHH&#u9qE9=F?AbPX8TJ)ge7!Sl5$*S$Q= zwrZ=mNPoGeF;;IRRYx!6OGmW87fQ-!`4^vXAM^Vm|D`l?Jg|RnxbK3>g$EMn*xmbP z5UMk0KG$owbseR-~r*_>ig~{@G z(CL-4o_mI$vnx9xO&|FwWGIB_X!$kN>uR$zO*@MU+!wUarqWs+U#wpml%}Z{WoQx* z3hQ@C$T6*C9aoeb{igiHvhzw5HM?u5R{OS^uWKcv`+h;2iD(^9Cvmvg)BcnXv0u-5 zKU&d0?ZbV-ee(Wx5hZhxeHivYFyc-MuX_&7#N&sAcow`5UToQMRsKkjy$}#q_jEzd z>~mnUM$@lWp7Cq(Zd6hMw!I@+9t&d9N=Ns%bbm>8-)H8j8+Q6hD50ai{CtlUq=RtVJDjQZN~{xtV08>#q@~XjUP;SO?JqVZ!g&>sVS~dk4E^vf@sj z`>Z}!JJ(_*_wb`;)Q+(Fz4XNYek2v{+#KXsDKRN=aj`!K?1+i}+nH4Ao*uqx_CB`W z&R)Kr-oi*x$J*Uq_`J2RlfApOud}VS=y^{MPeD~rH#=cEa!i<6lZTA-_uUk-s}?aKq2eD@?v6A!Y0mkzD_>uxZ}7CaI*ZPAa?+SY1+H_+au=s%Shr9|6(OE#7dITLWq^b{wFI*{;#bBoBmko zU#ueeA7uQ;D&BtfxZ}@$8%FXU!~7%i84p`eJ7*6^cBp(06%QZhKNavmr$1&A6@f=R z{jn1~SnH3S#1ISocRL|^`&T>tIiby*L|j6gL>!(EB{H6`u`{NhY!Nz4@pYMlE@;*V#&aXAxVqCc_n}IlazvGX?WNd zEK7)r{gwgtLB_!Nf`^02kVwnOl1M>^!li%lkP?OUPfm3;A^jx8pmW3Vh%%8jq%SfDlK$hs z|8ff6?{mA@#gK#U4E{Q|OO#zyT1r+{47!t#ueZImI|)Dm0O%l~fu7ohvleDnc1Bp1(YRowI(z&pH!SPHa++&vu-(d7?Yyb)Mu!qb z0aR;b_Q!F^3(5eboL~hN2ib90PJ`v+PVT;e^ESK| z0N}|0Kr!a#X=^Rsn-ArG0GkQD+^qw>2+rfB!v0mTg53k|)gxXn0|1`;3IJpSUYw}@?pbvby8AQ;xG!~Ri_?m*&% zBnL?Zk{P6ENEwjKA>D&xh9NN!+(Pj|VuvJ+wm?xptu|r&u}?7}Kpm3-q6pZ528I%7 zptFHGfdnk$0}cGkfDr!?wj2`=&Y^u_eFN;f4^wRrjsA#BqcF*^E)Ynd*T4(RD3r$^ zOcJi3xG=%kX7maezyt$4IR6nyJ5cUkxRw>*KnBeZOkiq+Zh>p> z1#0LWK!>3MGI(M@4zKC(JGvYwA$h_MAcNGSN5Mt(K6V5dgYSYHPmRw5uEVyg=o(NC z=V(ILVQXPt94&#J!W;ql_zzK!F-Nc)ux%c)#2H5z6L~>J zKs#bP!X<11)V&^T>w#rFNQh0P;W!%%Cw3gBH=wW0!!@>Iia<3iS3th)klF}tVSf@n zg8CQ*q_C_8eeWUc_X|=pv0{GDv2yUi2?LJw@zIlmwy(hk+^NnG5I7 z#eW6{AnoFDg8}HTXxRS%(hyGP(C&D%SVS%W?T+}ZGX?+^3?3wU@ErQ^1|B!o6aN|3 zlZ+esJmQCl9sZ;+kMljm|NbIGhChV!GsM>*A^L~tWGiwViEB-7B&Q~al}AB;o9-~ObCZV;bC;t`37zf&YO;aXvQlHl`TcaS*6 z#R{T7#4rD(f9c|nPS7#GMf`2xNMHbrpx-c|vEUi>r&wZL zph@rx5TX~MY{S3?Zx&3V{lEy^)0*%y03~_=q~Z;NNQ7X%45nUx>*3#Y^=Iw>p8nDE ze@o$Bh3Ep=vyc?A1ERD4oMPvZJq_7caQj+0U`Fo(z_Z^z30$F1-htGNJTG7y^nW}T==(*OKx_#C9(Y3V6FfodgF-?wP((lo9uuAh z#kd&y^DIF203;TnKm2(HAbP@tV2l6k{}@rYk0SAi4}BFr2Qb#yABY})@Aued=m$&4 zeuL;ACoi(MBfbM|gPV&Kgrk3AhhdzR;uisBq#k_;;*mCV9kfLq_8o==*Ite$fIg4x zrH9x7G!={sWNZ~ykKi^)B8ULz|K^AIK5Rqk5cvsAKq=zGm^*NfhcST2f+J{qqD^cX z5%TF0RtRU4yK4s0d=BFaEuOkL1+Q%ydm8Mctq+jE%?1BpqGFPx*160 zw*qPO4psx%3kYnmZ_r}c&zNIC8X=sHe!=HgDl9X>GO~6gMV^UDzyyg;WDg^#0fxwP z5bo#F=wWDUJRnVY6pmpBP6Xz#E(MYm_A9|_sQ>ryd5!ElRDaEF1)q0t-+=m+Lv)P9 z3!xsim{1RnN9={z3C@9=7wQ?27kMraTfwy;vKWI_NOvGLLmG$sXA|z_=RW{}@9({f zfE>n*2Dl2qA!M~*1i%3YBq!*qY9jXf!}srf4Ax<&uxn7S$g}(|+^f&SdLMYU27j4C)Nk*geyRvpcJs+=7zpa1h5roer!1I9q<Ayd-|Li~iQ~Ku_{J%{1fg;?$aPQwl7XTjSDRvR_6ff*I{mEk& z(Eyx4-er(yGkiv|;$rWg_ci1_%^kP@E`k=^a|iDIkZ&Q}6Df(W!*_B6aFK8VKJ&ui z{!foe#Odi9tRn=zm`HHyPYUa!kaxI0?-Cd{APMrY1fOxnkM8Nm=VYDh}hwu4Ekk6(B_;~Pt5#uqSoZu&ZHxLB-JU~8Kqfjg? zA}9(J1sMv3qNafGUoHv?*n|)l9Tf#NibC)>%%dp81XxkjEYvKpFERu}jX}XYH7O%C zHHs30ISCU^Y6?z-6*8KO0tHW|MJ{R_P$S)t3s?8AKq2yb1Qo0#heU#+M2R5t^Yidf z!xY8*yEg>|=U=RlG6e+}1s50Oiqx^Pvf`S4cNC-+L&T&&QFEd&2m{kel#Do8 z#NhPM02E{hP?2$=$S5f(C=eS`pajThSp+$$smTSYp~R@;lyF%h)Kn-+a#kuzDh!sI zlYxSVlv)g~je-oZ1qBqA6sDA%v{WQ0WX#`}ASLe~)&5-vGsv3%)BRgj{~)3!UW6gk z19CxIak8Kwpm^bQRETs)H9i`G0FwLP^n&L7=N6>=b0fy)rTBAGbN;@e>v8{ChnN@& z@d_9f|Eg8kilL?!Lb1aP>+b+UvM3Z0?q^acfGYqpuuX&oM1Tl;2!FOl0+9rVq<|FW z$p9HdazKtf02F`%A|;@NNQFacKn?RWfCjq{XaOz6BY+Mf9S-RMJ@HvhtPt4%8^mMqXKK5E9fur%1G@t_0VhN*zy6q7V>*C=5g(iU3jUPaujzF(3x>;y@gt z1dxCz38b(;fD{g;fi%p^02zp~Ko+7LkjHKTd7uDM0VqOL#NjD$3g(r7681Y#1}YF$ zaHtAYVg58Y4N(oKVK>1Upbk+TXh77!p(fCT`Lp0Gb^~YuEr{oUHbiZ39^!c%>Hr<= zI?x5W5cPmQM15cY(E#E%Z~4b`b4>JwylKh+P7XzzL!g4xNEB z%)0;=h_1jDy9nHXJ4AOJdH@fY_XM60y?__?E4Tu@A$sG`2l&9eFYtxv2mG)Lz#sTS z3;=-;192Dxf?)nCxQd+z!5|o72ndB3io-Av2J_dzHS8R?4z5EC2N4h>KqSOS9Nqvo zu(KcvL_v%O(GYKf7>F@Aj0LgS84w5JAjX4uh_^rj!~~ECF%jZ4NCHU^lR+}X6p#Wj z72Jk+8{!m518ES`K{~_?kO46hWI@aV+1M{28;3dI4$R-d;azYS=5xV4>?F8{!#r>w z=I`V10eArO55Xhs1b77UA?D-oF(`of0vtX8Pq5>l5EMZy!eKFZ3iD5K_zXP5j)4+T z3b7PChxi=4fcOH3WuOc@3d%t_#FyX|#8;pKVg+~&@ioNHpb}I+yn*-zG+~E96Aqg}Gt9pQEf8BkE5ufaL!b?`L3{_^L2L)@ z5IaC8#7@wK9RywAJ;e7o>;~O1{{i$s>;b*l0nm%XKF|mA{h%M>NAMBiCoq78gu_8F z1oJ~U90tQMKLS2uKZ4I-6yhitgE)r6aWD?^6JP?{4<^AEh+l9x1*Tzs8izAr2HOW_ z!5qXnFb{DaEI?eq;aBh#+Y1)KBE%)I3~?EUD_{lYSHUW_2dsfLh~L0E#C5O%aRY2Z z+=Tc6d&}afed^A3q;O`4I5E5dDVVRHs19NBs3=vESaTQ24 z8W~D}L2ft4sU z4z2)K4dbagcE}pt{<)ySp%#=laL@Pfdio35Zw|ILK`A&2x|gj5<;kU5@aZ1 zT^viCc3=f!L8vU4z=ac_;avD=A|wlY6O%%K*YA&Vgcu?MB!|fLuh-vdfrI{UZbVVg zG-zU+6%bkf>J8U`TP&O#E*M%Lst0-m?Dl)!|Gf|q_CMax7>KTa-+$`|5FjB0FI+&u z6patP1OQU#4S$V*7K4g~(Mg0jJsz|HbbSImoU%zMNdSyLsCiQ8iqJ;TbrCiFb-~yn zBElfHhdP5fI0Cs zgpf!`;8-FOctig{JPTR~Lj=7F@fTz~bUY$b5&{w!2>3`BBqm@-_{&pDWUV+~f@9%) z|H>T+n!lvPEdhhf104{lM*IR7M#!p=3vLIv7TAFh4R7315azhP$fVE%5hR1LizXn& zZ664S-!29@{IL+6;jh^Jy>Z}T7is*>6~`0uC4tOf6A4T)$kK6TWRHRuvUL!`$bu1# z|67T0kAaGSVnD$N|1EYA@!@jdKVn>{PL1-jYer(m zf>=e388JFib1K?BL>L9#qE4FW0wX%sepq6cI(w+94QlEPjfWL(QXDXRBo)$Rs1m+v zK-vJS3h8t}LE1T>6BCv;;X(D=bOvI!$!-F6VMW``24J_{K-eWhTG1vc6Umw^06_qX z1g#toy-bA}F(oi}&43cy+<`X*3F2r>x+U~()AYd}#UV{l0b_WgM z7ATDg2*y6$4@w5Jsog}_rAu0%nYa+xwW9?#r{Yp-Zw7Tj25_M@&lHc^!8AvQp~3Af zbT9Q0g<+S>6R{1G5C#AQvkP!7CPOwPT3U?l9W8BUoYgL1q=*D@95(6Tx6ngV1+g2a;jht29Hjf$mzk5+l&SyY!&W6m%x=tUUnD^7(HfxT!jrbWDEy? zn6b5vkdC*un$5%#6lenzB?y3>sI)ej4LC^fCKZB3LeY2u(P4|t%YY3vLfD<0#am4l zNC!om`Do0vMR(6AQ=|Osdd4MelVKNvHfjB0$ENN9L(n!14LWI|3ru9TCfn6oKU|iY z?EiU5LzzCxMn?;7QXB*-0vI$Is=#p;(grvgFyxRJ7~27(MM@9f1S05Y*BOb~X3F8+Dw~34n zIz!k+AyuC&?F1UYpO}RqU_tEwDRdav?O-sP)Mg+68cI7FcF_S0h4$IC>~F`tsF)M~N7c9RrHW?%tGf<;8a0BR<)5!fZE zVTkP}+`_CTqeV8(WM=a+j)FL_J2{KDnXR}5MZ*ng8f{H7{oo3%{GU`}6-3iU^D1?d z2s2jFL_tbI(CsiAtaO1HUJ0rA;a8^d`I#*Unvkef8XPMeM#KukE(YBSw+3vqnlVhW zvnDLD$pM{g!qOvpf$DeYOvG%9)51Z#8g}9E87L?@$ayx^;C5&bK?f&kqA-GW*kKrh z;U%r00=**aT4y$K>O#jS3&ZZz&J=b#EEe2ruox|%jgy#yFdV4PLF}R* zMysX6qG1<(W&Hz2+8m4+VHd6@ZvPB+5k3%3sMlZ`wF6|4j?giJKMjXg)7Zrjfoxm@ zcag3mVZe~krDQGJZKifW$I?RP0~9n;M1oz+mQ&bm12&=dbb^F8NpUl2Ym#GV8wLfcVWWxHg6?Ru{NaY)DRh2zJv9*RxHd2hk?XLM z9HEq?v!rW!NR;DjRttoOK|($qPzcW0VKtG`!(E05j2${NG28000=sSSr)?Bo8BBy- zMvpCU0(RC4K!9g(HQ{}enKq#xh1KW_mfrbOSv=4(tjx5G% zg!wXb2<8q`YljWM#otVsXpS#)elaOir7#YZHL66Hs4|+MYel;)kPVcwjfT$lF?f3V zM^1#%WP$k1a8+>!>;)!f8U>v}_&}`3SmAVGh5oYxxSqz3E?`>4WG2|aJmLy=t&kgN zkW|4ijM`|i!fS>sL6VS4l!=!h+76^cgP2cE<{PFME}8|Vm0Ge21TZKdD`W*|gKnHr zKC8r2`$S=8B{q?|SfM7Qv~-SLi!qQcAYaB5PQb)#utE@;rO?_we3sL)|Mb?Bu(kEU zfpY*IE3nQGFSMeimDp&vK?_V!cVLYa1j#EKoJ|4^{OT5yL1!Um+aw!d7c;X!;g!)0 z7m?*jCW$f!lUe`=DIA66hA;slNSzL2LctF48cIF`yQEEU2%zZb04|{UgcYV6pT;hP z#PkYZ41ikMP~kH`QO$&RvlW_&ee4h=vw&ZWgqI2PZ!l644Ywi}BoS9=PNn`rF-g@Y z3n2q0osHkZ=$bBkP|`JwU{h)NW-oL zvoJPMEN05P5_TbWwjwd$&tj%y6nvOSKz2K5GVOp4K#Cwq;($~vV5v-9sx?7mm=<0hMku*jwRwFbV{3R_JD}VhU#!lRjoG z7R{14G^$e!R0QZBs31$**NiY}(3Q}e! zlVEn>0;AA@j!(8rZ5}>_#Cxd9gbl=KRWnH#B4@Od90|KvkY=?a;^#PrT_7stgdt3@ znvi(5TPLxLe6!i8$I~H9&t5xW7yh(pMtEhiQjo{!v4!Sf+JOe}%z{7z=>i5M^u`Qx zPSY4%T<{tYLi~mNJ+y%3aZT{U&>fJZsSt?LWW_X`u*>v==^$<}ILo9vW?N*{A)#QFu*-VS761)wVF%Ly6Pq-s z9Sac2OeAh6&SGjKO#yZhanKHwu^pB9%8cc>n*2)|5_)HF+KiSqg9zZ_4-{~k2!Km; zGpm&5q6)tOoM>eSArg)1lpyUG2h^6N)nUgs?ASgAPv1$SfW>UF8Eh6ClEt{g0=EL* zH6#G;;T0bUz!Bwu|6l{)N=PP2z}rSoNbqJeay||RJWb*X`eug|i3UiZQ}|+?8ORpQ zNLfNWFa?Mva4Vb~3=zo%khIxM2#(N8a;Je^K|tGR(eBhdDGfPR(59_vzOyZ2?V&0$ zYGx%iK|ff6BN$kqzmkD@y-7qz^)bi(<%vjN-MO%(E#xUIT2Dp z!GuUlBd|+sbc%L{S~y{lnAMELvuI;!NALl;N0VM4W{Zl*uxm3pC^cfTQGRJ!0Gfk| z7D#KYR=BW87XV1i_>1TgxuA48M9#2lY87dh5;`<56L#SOqu)?DRtTranbA|ngN1~H zk0|0^n`jl`F4AC;n1G)IThNYu8-@o;R)=UpQn|GihcG2F>;fGMaR+fm|f9Hk%D(KjF(^) zfL-*#+5sk5@J(16Ey4##ieVRArkh~vm?YqB<4(dHvhp1rPN$6q$gqo%1F-l4E&4&m z&}sp)?PiOE!~-f;cvom0J3uB#nBf4J0bKNoB4iD_Xvx?ix){Qkr;OMOv<`(`5I9sN z`ZEi$ieg<6CK`QZr!;jZR-$yk(YJ^emx!T==on2;hhLeJytanYPF5y*%tcx~IB*W2 zV+EcStSHU9?Zifx16p8(n*r8CLCi=zJA_H>;#rZ^q{ow8OwWD?J(DvCW+$aa%mUJ> z?D+&40+<5kU{VXlNusPr^;)qqCxmv)C(2jj%DTtEI=`cIU{=@v!1V(*D z9@hqS~PGIDW;}c&`P&VVHZ9>jaj40=wj}rJ*p1DY=W_c zwD7z20#!4x3>$?)!Mnw3hr?t?iU@tMA{P%vfR`98!UsSZ848RHY+%^MaL^5bP1EQI z^c~*1%LPu-R118G0KUZv88Q;E!&V^MZo%UQbRG}SZJe0M0Cm`THSD( z%??BqmctUen(U{RggvdYfnfU5>cL@iW+#I#<fiV@GmBfbq6jo#+x_m%K2- zfZ5X8Zf*slY5K=g4+1sjBV25?*bsiRf(xN%C`>;f5EQ5wK4zyALlK;)0^!{z&|EDz z%%%?PBOoM7g3D=fYS<;zp~vv#TMYr?3VS+*dnwC9)cA)3iu^#X}vHVHbwP zfO~=68PtIc_#eOlNReHQc6+S;i)uvG;xWwOU+GyTwRDXZsjD zI_aV(-c~_0VK#1K*cFhE7V(dNNH5`xXoux8Suj=r)`Da_MKWXr5h>$N@C*hPc_m3A zyhAzQxWH<`wn2sh>;^<5*xYWr!)kM5kEkFM06sBU!D+%QZ4n)yV-i6SE)!BC4l>TT z)+K)myJ&#Ggv(|YV(p>o%xh?y*aQtTI_)&!Fj+ASqu&?@3Nn{An^W+>X|}kKu{=Dn zOEcx6DhV4JHdzmvEDjSUD{y9+Cxl!RW?4>lLksM1Gel&6Ty`rbSlz%bfd-jQFiOL& zJLJambc0c}dMK@F6$!g!1hm3}Lo>Btw?gp=yAFn38%Z4&9N2}`W+5=(sF#lG1@Qe$A-4G>c*~1H9mol_CJXy?bz!ef4n!1xm?{>Rk1`Gr@gcVi>BT5qC z3LqC*Wn!|1U7W}4OZ%i#X1fSi0ImnR>vdS+vU=Jv*)t##DW;}c!ikm#v5OW!S)Fg2yBa?8+X|hUpp(zW{p++a@^3I)a2~vkO4B(`J*%9N>#DnokYW z49X@%MTm@?;Ds5o#Jm8-LG(;^13`nArfM^baxw41xDs}!xIVd_vQVF0Ypj}H606XP zk)UZKYmbHrw}9*w{(n&9&?da4-T8NO3+mlII}3w ziZ*2H@Dp$nw7?EG!vWY~#GKtKIY{Z-zz0lQ))prjN+}`{c1;eOYzKC24#F-G(h3U> zEz|;-D%uf#S{zVdQ6S?lp-aH7gCa~oufu9<>#()~(Zp)Z5Dpy1(^v{$ZFVGMSRtIU z|N5cJpnz1MVi1{Cl3*kpk|-h6!x6iK{A7pQYB6Bnf#HFYC`&ep>_1X0KpkP%hVO1f z@UO`%4@HS6C?-^Ws#w~{han4tLJ_rDk|borjGAkM+ljN3Bm(>~i6J;87QJ` zX&EI4Rj>zxM<*o;-UYi8!Hx^*UG%|@=V)LAcnR(aP6tMBwzXj!xd@t>Net+Q!+~QE zJTk~6Ag@e#hZKM>SS`C?hYT_0f*r7r9*^h}@Td^nfguywe}W4%5af(7AyYgI;G$RX zQJ^>-E*IK^MGQUuS_@CeNbMJlmwYe zL2%m@2}6;P4G<1X>}sfr*VMFj61@ zF5y;i9+kd|MHN0jIMJ?ACAvhF_NaQCc+?|UNm?e4lPX|H{sjtVS(^aI!zH?rt^;;O zJWFzl0(c2ah0q^X7Ew1w1~%Y98t_I305=-H(}oN(uxrB0fgu1W2P_nJ{E8;~e_k?C!%k}T z;J`Udn5@8=Wl;?B#F%9{zYHyK*eHN=%XlJyWOq06u65x;&jto>-OR+eb{$9aZVIn zey?3YmZ}{I7=Vk?pmyZ6Q&312%Th2)SsomoEH)?w9&jRvMr%+!n@v#^aK%K2q1|>P zag_K3_5lbTHq3LF>5wFIAYFjR$tK#TYi%yKonQ)DwxGuj==co)hX4wU6bOJzpya|0 zPCGqbqDl#5P}ZmtU7|{RR27iy5Cz5S63mL5s$D?u9q6P&$p+C0W95|FMF;xeG&vlS zQv@$DT8GDtN8(mHt`@)sLN{PRl5o4hUAx;3)ZwX{IS>FR0aphMpx5qnI-HQ9lN@Ka z!{zY#T(ao!Aryi!6Q<^62nI<22?sqM(1A~lPzhG1-5|@vNSj4b8Nx}4P~5O7w4UPn zhy2pj9SnSWK-R95`q9(c=WTkS<_^w4xmmKYrKO2Q6^fF^d6qid*EIcE5*|zMUR! zK#^KyT*djbe!{NBBL*ooB6^UTXU`Tfd7-dLO7H^>ZV`%aMq1S4mh6&~6v&UR&@@Jt z9DW?!Rph)nd~_cDa$iO8iYGAX(OPdUWy)a zQt<0Z2rJEW82+HhVB~gSfFfWdP|6*rB@w}c_mf#Kmd?} z;1+$N+wF8ghKz*A>2?JIlH$bU26P?SFUjVBLk;R6WQ7DBqU?1@KrpNbCVTudh@!x5 zz_s;@f-@NTEor_*MoWUR3d27>mv83`=m)oL;zu@GPf_&F1xb?J6ch*(u5%i_I-6 z9@!y70VKETcG5KFB};C1I`HfTakC+aJxXsl9bTvbblQu%ogSH@SQMB~2OiKG3{Kj> zr6`yS=%cDZr_-y-D%!-vAbBB3yEo{tTd?m1Btc0I2c0TqV7y)jL5uo|*t&?WFn`!0 z%QD~#FMFzp229#^n~YvMoEVJVuBs}yVxhy(V5gZlD!XL#8`&RJ%yXFO5NM+!&F!>E zn5gJl=rNwzOi`%VuT(ZZ3(Yk$J3-IW~)tFJ8 zND82H4jgcJz2L6X>y!ahq^zS6F9ZN7z>Ef+9*^4t88Q-Hw?_(vWWU=Tl5jU3o@?{6 zn`DTYPnnvR;bS3QfR!xat{$e2;RK!8?B&>qZ1T0J;$ z&KaV#h9n696nsmk#b5?fxp*iD;lWh-06W#|#zUj9kELSqEZzV`YQvLVjtiASc%E*t zDXu7mS1yIHs~H1k5Xiw4sRh~P@XA&jLJlafS3+N;5V}MzD7;j-iB7Z2Mc7rbhioRE zdcd5+-Et|o+a-Hx`b8m};sLF}K&~w&6DlJ6I71=T2K)lSMSZPhi+ZYZ#0uhC(5i*JY){k{!1b zXMtVx+X>_vMH}sSost!mVV77=*E+lkp5-9hi7v;q-x|-w!&X57gnP1G|9$E^s-7Py*6H(QuI}yE_MgpFr9WOfV(B1pQ2b42Q85NG)lCAOQDpQ3-FO*v8cxr zi1}k^6GxN);XM#>J8jqxC^#p}{$$h>LyT%f5GPsS$>DZ9aP2`?(5mJTQ=~ZAf2>?a zvW0dZve<43gK;`zu^2paL1sn~w-Zl&9v}Mcb{SnJ7q0b5egxWHT!XZ>O_8AFAmZ`| z0044hBxgpI6pJfq#>D0Z1+uS1Kynku{UG3zSfU!yF#HBQ{xWJ*i7rtknp9%}$!(I| zv54Poj|HeoZuDM3Cu5XVlYOc)^R8GY~xUO9+a81@*}R1M$(k3+)qTR4`I(d~vi z%_I>BfV)ya0_tSMrm0i_0)Ru}@<~z2=kqF%q0bF{3CKQgJmC+^-nf_CXvoY#()40( zmK>rx2$E{Z<99iOU>hNMCN>+gi1c=V=cUv(wEqa)Wk9Sjh#E z2vNe6C57@&7KbAYS)~zssfs70iVnXN34*5I?+yCXey<;HZ&*=ea9Or_6|+?~r?BTm zn4-vGS#~QRiMy3xCUgrxYce4yDm1js(L2Otj&oEZMOi z4&t2OAIhbav;&T67z$^DC+GDl_%3$SulU)VN|S0Z7&K4zp9q_YpAIgCs*9>N2YR9B6N5W<=#;O2yek4H(`LN%s zLJFRslJcsmKNwL#!teEl{c0eS4JG{kOn|0huN-!hH2oNe*X@!cAQ_8+juZiPgh}|e zQ#=mIDIRCKNDh@GX#fh#s*kp&`Odb8wTG%2tEQL4CKcJ$RG6+-6?7l#fE-X%C@@Gl zB*pJf1&is3-023ow#%B4vBW2z&-wlFd^C?X{Q-X{9)ixtvp!kGemoQifKs%W^XK8` znxR5IyB|Hq&vu(#BSC-APlm)1jYa`|i`IQwdM!bZ>TyMUKE>z9U}QO;&-Orb|rmbySHTX34%`u z`WPt?@GDW!j`}004t%$Ps!LFjLbqsCi7rv4J*xS*Pq7Al`E1nZ%Ezht6aY1ZPUh|C zelU`hQ<1bKsD}J%#G$H*a3C5%k9}$~?jXivtP0qGz`_sfj!9pM$G}|(KI&D2ctTJv z$5mehG6Yt0zDPt3Cn6xB`g}1p5-M~?(?Prg5Bzca6?h~Vgi12>NJ>Hp_>w7q%qu5+ zuwF=bScG&MR?_cv=er;s6b&~qaFDj9`Odb8wTG(2sF{`66oI+OA)r;2h##`TI^+xa zBT5u~fd}DN)m*qMkD=r}zPLKsuGaeDvIH__)R=FolAxhsla&TX6+eF6Nug0FBt?M{ z(h7?`;^(;T&K!j2OR7mV3Iz#rkw7s?N^kbNkZ+FoJ2JS6E6pz@TeIO9TU=*c< zx2`6FuCO&F3LG)#oYoLOLiKZjym`h_;C1GYYZxP*r2q^pe;V5BNOA zBq?|tBMRcaXdtS_0|`S-c^$Cy7XWipv$GHILaKUM)7SwA@y z3aOzm2IKd4b#=itm14d)DsCsvrXneVf4~+H0&+5(3}-@dDUNGGu8@oNiAXS$4I}nc zGU#rj5K1@$b$iI+2st1bA_W3rRdak(;Z&GHWvVjHgR(}I=n_@hqgu^|R3V0!5NASi zHA^+5qW1}Ovdf9?$5I7;ds27Y*cfxP?rxKpKO=fJbVg}F{5TfQP?nVPBwF!$3x$GOPbO0ke=h6sCe>mlAIT?^(R8wwj3yCi7hG^NKw$bPfJxG>*viz zqTxuiP(UzTuh(O_s3!@>AQiyv$w)Gijb~$#SVR?6yQ*YjnOGjaDrz8#^iDdKjuDYi zz7UNdnU;@5)xmN!?NSFE5f`TCWQ0f&fmkFLrJ9XpV;+3-jH=g}gn1J*s*EnE5>2YL zLNshoMrz&ph__at8V#fOX>_vgLidx|Qm~w@3dtn;ko6>!#Y{Y(jU=McWVzspMguV+ z77Z)0r~sV9Gm9b&?ks@25PUwAN_srrSB*CtXECBEse2?9%SQ4MkW$oGD%F!2s&yu#^+2SM zoNSlcJbVg}F{2hDQA6!fne-0QST@zeDDmUC$gYcr|WI36S)(QzE zulmbgFD5)BSp*>)Gj`!BZt(Mi$PIdf-I=*XF%Zafdyvw_+%;JOf$r|^*kC?iD5n#Z zk}r^t^^~f~Y9XI0=4a?j)uNki^~TQnd)> zL5a|Uo-L$VuPG&yiK4YwCOtSfE0gJ-T^&T5I8y8`WMZ-IW-8{zes>Y)^7-oA*_pv$ zP!zknlPOOofSgVS-z)iiJ`KoH1YNCGi^ZZiH2@G6iJyUTDwRy7ySot&4-O7yDrsMy zu@<-Illf#hQ%)z-$(R^(#)74EDP6^USMcW}DR0VKOc&EcBwp=Kr;tpmX40_*^;FRl zo9hNRlAu6RA_D1TB~6t`P^e5bAm!o6iyBp;OH_#_)!E&tq%)tK-K?epv%9ILlIVRW zIyvaUDDtIxw71kR=JV)7$(PUflrq&)GM7r_>)pN-W_dB4P6omIBz&7N9Y}U}gS+YO zbTwYc`+R}XBf9gc5{z2Bl%AC;mGVW%u#_yMQr-D-=kQ2%AYT|RKzY=3vKk?27BZw)c1V-Zo5`uo#pDXtDK%z&3sHrv8~OO>;Pp=rLeEn@AVs>Z76 zC9$cTjH|P%bag2MSz+Co>P(lDRp?VD7|Rq2vq}qQ_vBN9kz{v%vfaZ6x73qrYG&<9 zO;r+fIXhKpa8&VnrV&h2DB%h)LRukuN*Rt@G%~v@Q%&{ed-GK&NRBIK=JW;-or#%1 zR1`}Y^8l{mM$Z`Kyxu^#zjJXnT(r)91x{Dz!4eMl_xGnp%jHU~kg4~m;YzyE)0^w9 zl=I!?Bg*+Q+?oE)&Rii;$YF|hd9$v0g*>L}M4*uE&t?;yAc?yRJ-yvIRuZ(Nz_dWw z7+hK?Kt!GR6h=qqb$0e2(L0JZaiqJy+L=oA&&{U-*zfPcxpKL8(Gi`a@N=F0{n@Mxo1{#c5Mg=r>;V|N3E0_J;mOh9H3a9)vx9Y@q(*R$bt$@NbarM7 zmCk%;ArZ?qvYolvgPnbuR3n!wL{bTSKW2EifR@sc(dCd1iiV#4e62`Z(|l)J#M(nu zV${q^Y^vqbk$HWUY$e;%nTKNlZzESN)N;L0lFo3tvr?JYv+RgQB|nZWTnAT#mmzcV5&ih*MSkz3YXH;$#E+d9MRv|o1a~oUFn5_l(|~x z!r7q^9&dJrlTK$(r)30JaZ4^5 zq}r@RYMDAJZm*SUrDj*NQmhp7QeMu-2dV?rS*3cUj%&)Ha;U%BU#(?p*}|-$N-0xG z&8}8*Yv-2x1Njw7$?q@uYb8bs1S-X5g({JV;GeXp#{KmoC~H)SE>R_#RL6$OMY&cQ zTR5u}9~+`tF1j&zbaF`m1E>wm&CP3!O0`;Fr8W?$*G2}qW(|}8#oFAVNV$@!N|kak zUad&QVzrnqVbU)S4M`P@wKBU7Z!187wvMUR2CHpDx7OLseqb%t~x(6bp&Pv+KoraiCf*mZ9jqrQT|zII9Gj@qD#j zUp%mOY`9)tk|_<u!BMSn)uS=hpro6?2x)~B7^rgG zx}(PitFy}UYV&HdDq}-ET%&9GyjTohhp5Jpvl^({j>J{ms%uwq$ZDoX>+1&Pbh!~B<4H5$#4dUeilBHb)67@pfbx7nx-HdZ!j4Y<6c^?G-$v(~NF>ayA; zA5-tC)e@c2de>-IS7#k0ad&-qE_uQzowT553-ulkadTL!gH4LUyTD59beNHXW=xn0a>LKFkNZ&}kyWU-v%St&tTpzB_ z?P(^OxTY4ZMF;DHbs|!kJ6h{0)bsP|wbIFpdIm$~b%CBxs0S2?6cMO*%*5(!zW zX|>taRhBiXM3<-%O{yzLYhAuZ_sZpSd(taMsn)vC``PH^st^Xy7+zFbJiJtHG|-3P zM6vFx;m9E$1uCCs$d=CzE%^wAK>!bB~m1ZN6NFTp`v{@T& zG#ZuR`Z2ZP;pPxzINS|=8EuTrK6cH#qZ+f0oz-3I&eXc+b@ujl)tbFMy|vDK*O6Vl zJ&VVB=T%Ebc6Zk^rA}E^moBZNrAlViDZR}4YPdO~XQZFDruojcrquPbYmHUYOJdYW zcO`SoJQ&fg;oe$Tt*g;ByJvQNq~$g`?^i`1oz(TqKgnk2O!3r{r?YG0LUu2-6gnN~>jsAgwOeN9i9qWbJ%r(Y_hDI8r z3+MH*QlTY1TWDZk^KX` z{R3lTNZ*c+k2e<#q=zaar~}RDP~TABk+Y6$^fmf=l%7COezY;#SlB<38OaP)1`-2_ zd5w9E;p%X;ws35qzuYJ-Yz}mvwXA<$wC5DHFB0jC4D}HyBGBktFhG?^q!q2^!o$72 zJ&Hz^=n_?;Np;=WKyP5EZ{4vA`*Z8Ys1Ed^_jA$7@hCpA^%8uR-WLP?tWp61BN+R?MtEgc>huk?)#PqwSIez+_b_Rp+~ z`==@idj9OGN`qsSYo0KNmC^!WgtS75jy5^&+!Kyl+*~-Ye0cfr!hv;TL)`pXCoRt* zI#Zgts-lcG#nrfqijL#i+R5o@i}&J#H#KPovDWG6nok#;#QQqwMHBe{LHv#q{=e7Z zbh#yu?8P@A0{9{UlDe^Y0_mYlHkU7S7E9$ywX3_QR`2cWA80gZ%^rk7m@{|Y5u@{u zT(EG_;;|)5k2-qU@)gIdT($ah$F9N4f!B?%|NQYMoOsg7r=0qQ(>9!b#+hfGea^Y( zoqxfF7j3-wl1-OhcKH=oUbXq^FK)T!+Uu^r;l`V8{?eDfa?7o^ef4(kYj@st_dQ>~ z_rCidc<`ZbeDhlm>mT{{qmNB&ef)`S+js2T_2g6EdHR`WpL_nh-1lDm{!1_a;D@jL z=+)PL{Q4W*?l<51$=mPzlzaER_kaGuo)5W}wpAGPD|p*)8{V3HF@Fhv1AjCBb$)_B zpi^`!bT8|EsQW0e&fp8}x?7G^g4yZ%w+3I=f zCF*u{m--)}){rCQ##4nbp6ld8p9|~4ZFn*yh7n2Q;b|s3H@r5yKE}m#F*CBx&X_0m z_1MF)S7NWnejPt4dusN~hk_4X`w!iLUmy77zyXX&xuxaymU~;i(eh}^u9ly*{A;Usax9xLmU{xP z2L7nxsXN9}P)llUax7=5=VC1P9AYdhC&yyPSmepEtO<{QW-Q;DF_zOGQXabcAN+w| z(OB@_WRCm$0Vm#8{M7?n_|x&uZEipQJMh4KywQ2qfh6}iZuGzJ!LiA2VSVy5oKp_S z2k>7=pZxWcKY#Lv{r~aFzhL|2PoCU=#V3tVqJKK~7p7me{NkBkZUSYLy;rj36?^}- z@94ef?t6LPOM7>6+(-LAdSY+S-pszpN2@

BIB)p0KxX&n-}5a`~CZ8zQ6hd?@zmbT3L17s#xo@K+-M-wjZzt4=!}) z0e1MzEV{FB>|)*hy1(NtjDd=t<@YDI>Cw?Y6}?ZN)+0dH59vofeNx}|>HV2|`uVs6 zA1eB}+WLQ9PWD8Pw@F{YU8%na@2LJY-h+KT-gbQ_-X48F-s`>vhU0R)%^Ghg#(S@C z<*w#=ye0YH@pkHO;T^?)#2bq5b((JExDwdyj9zdzs(F8=6nR8Dej?rvek$G${srzHyb=6#ybt^g z?o7P*`z*Zm`&{l{@xJd1xbyLj?~QoF_fGEXc&qotK>4M3xAO0}C;1_MnAh=ozJ+h4 z_aO5l{2YERKabvn%(wCFdpn`7wS8zmz|U zKbl|0FXvbA$M7rpRs3rHbNsRV8h$O_w){5V!`JxZ_;vg^zn=d*Z{e-{@%#zAjTd-3 zFLHaieY}Hr@+a~q@h;xY*ZGtAQ}|Q)FYu@F8+eKL(0jIdnfLOi^Jnl1@8kV^fIpKz z3-56LJKiY$3qHuJe25S8XY=Rq=kn+A=kpiv7xEYJ5kAVt_&C3jCwsPuzm&g>dx}r+ zNj}A=>HX9E<=i`XOEunQjdxh@!TYU0;P2$`;_v3S@b|#>-OJz4Kfpi8Kg557&+y;m zzr{byKf-7EZ}X4BmQ3(l`N#Pu_-*`leh0sk-^J(nC;6xN@9) z|5N^F{JZ>n{QLaR`49L#{D=Hrejoo4{|o+?{IB#k=#sjWF0ISxvbvluuPf*}bwyoC zSJvOCtLUn_E?u|o8r`+JJ9J;u-Ko1vf4lw;{nzw&@;C7}>(A1ktv^S9uKqmz`ML+V zt=!|f9=<~FDd)b&e~I2*&b_F65N~?_F1J~~jr%^|%lGLX(tShsP2IP+Kl5MFJ*<0# z@78@=_o(hM{RQ09x(VG@-Q&6^bldb->aWso)?bZxvwzIJz&*g-pxe&fqI(oRPT$gc zt*5)IS}B)`orQcZn@OjViFhm;!2|MO0N+mY%J^!y3;!R7e@&+!X2#Fg<86yAdL7SY z`3cY9@~v`vMhS&ND{_d?k||&oD(CF z!672Nl^gl>1m~FGof90j!aI&cOOrhr9zQ8EeBy*WIKE~L?ih*)>cq%@6ehdEI=t0n z9E=REH|Db3R-*}MuzKKbzFxfmz@wZ6S~+ieNLKaUb6-pks*u< zXB^XKb{%;B+L@;~+@@W`;WDK5$NWoxjE4B@Ur9>-zB;PTC( z=amT&>){D|W?~NRoO8i175$cB&xtDSZrQR~ow#T5@|kBtbj^wtD?GWZx@9A)1E>uODy20STnxnB?Uk4J{b z*N#&&pguU!T*_A5(qo7n>M&S0v|{qm!p^K2S^-{D$41AN58~`_WbF`iko5H6 zku{S?aA0`qq)PpqH_==(p{`RWxUuCC+}uNp^*!8{bv>lVAj9Xfql>2RnrMv)5p~O- zVG`FwKK>o`c>2iN$s=ts;m;hM9Epsq*|KFMqK<4?vt{kB1DlS+mkT0WwvLW&*)Y5Y ztu9(V!Q=Q-*C-Ps*RGfl)||lC!F$qxk+J0sC1l4qwB1EhyBt&siUk$MaKHup&6`|7 z7TnV1A$4$qJ8Jm~1&mxy+e@*ntx1ufxIK{ZB-@Bb>uIoPh_)v;@&9em&TDoxx#J-B ziA{@_Yx^p9obou=EMy>$HFW0rsWYyl=**_6GY4;96M=BHF{i^d(GfrRXTxtR44+V+ z;NAbj>Gj(A3CG}aJ=|bI;NWtdqNgom21xIlkTTd#X0|{qZ$u`9%tY(*=as${s$ho& zAn7fMj4nQAxjMY%pcZIHCPzwo09B8yJz>iv#7OCR6#`Z#nuBvA1+EWdR5~y+(TvP4 zuruR(xe5JVoPg1oy*0vLy?ASrzk10r%b$d+q+Y#r`QtiXH@If@img$cTmGa9Gt7?a z4j!dzRNCW4NmU=$b+A*)lTD7>#I9{&2iX3)T|CE*X&2!b&#l{~(~b%3I>DZfeci+S}_wL=R6ZWWkble^Ro@jH=qCFe-v^AeLn7XJRi@swPx`e0r z<}QQK#qAV!syp>-wr|+3`^B#!!C(GL4RRlMe!S*m{i3(|=1&&=WW!JNf4tNc{Euy= z;J@Q@_cs3h_p-tF-VX(T{y{$Y!LuR_?uoao0waFlEu+x&=Cd8a-8f-;Blt$)4gKrS z%E9OHd2Zuq@R?_W!Dlb21+Tw$Gh@w3M9dbm)~?MesR+wea=o^-H99|}6ebTFHf6Xy(-B-$<|o8aZglDF z2?vk$lGzjG%;>HTZfv5I8J#dJTDg2H&tJa+M<;YwL*156v|J4hTZ&oan3c6d z8;G^;LIm^(;-)(hZ#~HNuHbdJi$j!fz3fvDn?XYYvWG zh3L5lanTCYZ*jZO)?W}meT};s@zQCCk2WKc`znrXN38W5-obssi}26;bUxjX?rz=> zkNXDwndr~s=*eTcV|5`!3!mVwFQaeU5P5CluGLR)3H0d>c*qCP>pQslI7=lsS(k8| z5Y7BecQ0}e59@#5Qfj%Q<*k-KwF<4#)+1ZDw&~h7;pf56ZvS1!SshOq&NlMKq;Z+? zKI7{qpXpNbT=RpLVas#YtaY>XZQH4~w*^%=NB9N)Gwvq)Kg3hS_Z^#^R_Au-0oPfs zr`;L%Blx+Cb5r0(I=uW$5zE&L#|~@qLi4ISd%zEadYCn#J0ru6F*J- zYx3FD^3;i`jj8KX_oTL`ew2=<&r5$XeS7-h^wa4dr$0*nHDk?0GS$r0nU}KXX8%3+ zO77qCN9X@ic%*Zz^Rdo1JO5H#UVOiFSGl`aF$D>krjm>&^Dw(wFR8+xI>ahgbIB-M^#%wSlz_PovNnX`It|wDF_H$IW>2 z#O8&~FE_t8>ylZ|&pI&s`axlE%i!IE-yQtZ(4L_`51Rq>J|qrL8@_7z?%^H7uMPil z_#Y$UNNQyE$Y~>A8~J!n`<$cZoHFOBIsY zKRSDK#pp?+d*`p4fA#zqj?^8w^2mJ)+7}cT%wO=#g0~j@a=|AHf3)bjMGr38x#-PB zzgT?L;yV{Vu=u&fZ;Y*35?|7{t*~hX<2F6+-09zwqe;-%Whrv?PV`4?^*ug^8Z?K^NJT&yuacv$8;PMI;MQgykm|z z=BAaNm9MN?wCdf}=db?v&-H%pm&Y28^&flDn!DFLwdN;lH>|yN?FYwwWu3BaaNX*4 zSFC$%ykk5tUKpQ?3FFN1E5`30-!cBi_^-zQvEH^mw!Ulqg7wFJKK%KgfBuihTaLf) zgyso9KCyn{?I*r>(&tWk@#NlE4x*&By@q)`P*mA+m7ubvOmji+wBYUAA-pV;{F#yuPVaB;`Q+b?lma@8i& zrl&Xk=F&4S{r+V~TsC&u-!Io)zUA^yt~le0zh3#ZtD0BMy=vW6=U;XGRS#VC?B+R} zkKMdy^RGAm{_6ItZCAhW#m|57S6lckk6a^N6TIfmYaY1f=hu#3d&+gIulv*Wi?09m z4QJf&>l=Q5!(VRLf8(MXm*2SN#uIMbd(+J~-F|b+&6nT&hc8|9rT_f$bzkAXvgww@ zEfcrwx^>R2zqu`Z+qZAq{?$8gpMCo`?ijh_wXZGs+FN%H-Z^^bgLgi9=Z?E{cNy>c z*#iZ|c6OeDhzwHTbQ29}Yi!!o$CPME+FW_U+WSpL%rc(OVz=_Mqn0-dwlB?)+cV+rf$1t+nw7U+xF77pKbfMZJ%rx zwuiUZwvTRKz5TT9Tejc7eaH46Y=3Y2@3!yXA?yh6sO(s};|n`B?fCMJZ|?Zcj@>&x z+VS5ztvi!D>pPe1T)*?eo!9MrbmuEOf3fqgyG*-+yKZ?>_vGRy?|y32cQ!oT`t+Bc zIr-UT&p!8D&5s-thdT&;RMW8(%QIu>OTpUpV`PjW7K5d*k2x!Hd2Z%P*ev z;&;A3_od29KY#hYAKdhV`+oTJD~n$F(T`4k_1f2FzxJO$R)75Q>l6Qf{XgWui?9Fe z_20h!-)~57q}~{M@Xckk{acOSR=yxrIDzIXSI z-9Om<^WA@Zv*k_Y&HS4qZ?1atj5n`-^Y%9<-hAQBci#N>x45^wZ)M*ad~3y9r@wXC zPx^l{@{_0Ee(deIUw!xC zcb|TD-+Qg^UG&}`-{1N3Gk*TS2TMQr~hK5Y5W{Gszh--po;@BHw=y@tJu z_ddGMyf3rwhv@(6gXNuy_xC8QtCAOzQN{amWVtA|HAz zGL)AfOA7L@7YvuQUShbRwWU?B*Xi0{ZRHA|lnRYbzOWkW^6Jf>JYO{M5r;m~UDmy~ z|Ko3caM`QHS6g@g&E7hlp5xxs=~~`Y z+xWJ^>W|BXkGV#yX#>qRquV%%wRws!=5lIO)%9q*OfWWCb1N3RHS zRIbQF^0<5!j>(~Bi0{NgXR$l?;D@qJQB%bN6(udkZ z7%2O6<4F-dWj*_};#`|!{}Z?I71#c6K78rJ`~OIbcU=6Dx9xw`#V>p0(nokJEzmavOS#4M%5kp`)2x>RypqS~}5jNyi3tW0%Rl>%iV-uSw``Rk7f? zo^JeW1G1d?oXx7&$@0Tq9zPbwEBHOG2J-4__*S0xR<@*zTU@TRSKk((sI_Jgx&wi} zw&S8_)1adpDgM&U)q?B}0noX2(%anovkbquV|^NH?q zfS2$`+j+iPiFSkO*l&;E0Br<#m$OChuwv!rEAfPWfY%+h^qjGa-dUItTmwDX%NDLz zdqP*7$NT=?IA>t}bF(tm;jbS*F7*d4xnlpXUS0F0yI1kItv_|mjra2VZ^2`NuH+6! z(k-fb{>gT$A^N4&_y5Ml3;X}5FZ#Dt2io?}YqfQRuQ=}U-|BYr511}Lp?TE)%jYa| z?O$a)AK?@C%z0gIzW)C24K$ns1C4;&VC|0XI`G>j-mBTo z(Ow(v^jo_;+Jj!V<};f&zQ~8;RY5G5knYww2EfjE zB;3}{cvmiU{m*Chc&Neu=F7MJa9PviI@#zIA$^%p{XClS!MjNe`0*@)96a zNq~^h0-+O%3?-o^F?2*kIwC6SD)x?|BBBT)mIZZL*Rtx0WmnnubKP~xy!@W~&V=HA z_q+T1fBuk6Cdr$b_uhN%InO!IIp_Xn=e{3w$)17rLuUDsk_U_#GKV|Z`{R^^YkoZP z(jO1;Hg@IiozPT+_HOS{o+9xB?;JC_p6(K9j213X$tMHmkWn@i&4fsMn zaKua*lUA_HR1soHTA9}u&@nE4z)r!=i zL-!F*M=EES!NI{q?$FT4jloi`3FfHlMfXB8_5r>`tW+yOy)wb-i&RZr3~sb&j?@1_ zB>Gizys&_2Zua>zO~j9dEGaARN6P7@pik6ArE4h>{Ir-p!B&W_Ft&!PADAxutaq)2 zJOA+9`pX*+e^pyqzI{OdiAVu^e#xE3eA)R2){x?2+4ZKwy=1~qiSezq^ESz2Mz@Yu z)_7*7X7#ycUCYr=H!peP?m71i=r`F{zM+2D#_G_pJ5~plmsid9E8EBX@urp~--g-4 zfyu=qC+=>v#<93xX7xtFA_)io%}fxDIN4}PQEv63N|pTu3b)w?K{(T zFddhy`fRHC~P`LJU#^5!`hOi-Q7YxDXA3`AuET{!vp{KD(v;qP`TwGW{RSl8S z?S8wEnMcY6UWtX^0RCe_x-AY$qvOroTkp)#sH@9NWZJ|n!2oY8z{hJ|6&Z=MxDVx+Dbl{~53%4$gx z>~88|;-hN$$mP#uJ*ET68s~ZD0~VOa^27Hk-~p5(tX3Jh0|a(bWD&cK-tm66kSk%o z#w#Ss7V;MBUb@xas;aEY>3@ zhpEQqiD`X$$Gq**H_z~KqT?S&rGdDJS%3KpWR?60QsZaF$XQxRv?NGzmNG76sO5$m zRvN%!2WrTR>3EZ0JxQPYk++k6op>K=n^ z$Mlpfs-C2%wV|6W4%P+|&wsmfLGu^8-a56VZNfJ@&YU_kb4|<6zO{>Iu9td&lx6zxmCETN~!CQsVF0aO=2P9Rvv_1hFlK`&Ky57?^qTAT7u7 zI5BD~$2;)M7}D|a{CK_9JS52b4ES z$#(9C?x_p^`4YWD+vTBVo^>YjHfKH`6w<7D36)$mUo8|%#jbt{b$p#L zKpN<(OSqArFSIxpCUgj0#zm&Ev&-F;kQByBnDw{YB{uPP0*rV38Iz?vk=hs!7Q|~V zFw5o^bJ#2-nG=)D9IM&f6-VOm`{%U!ax@r?!ms9w6o6q&IqEn8=bH-)nlYZ34pI?; zzt^BZKk<@}xA&NXTTgEJ;ms`z#(#CAF01axMQ?s|69# zwyYp8Qey8pt+_lsy;$r8nZQBRQ=tQ_wgHDy7z*`(!KSNnsX|N0AxvZr45s>oqM<8e z7bRy5Uy9t3abN9S@#V;%dC=LV&wjmQ|CG!r4}I9(Ip_O{x}5sIFFg6>$A>bfq-7LO zUVFpXzS+l1ZaDu)>zupqSl=*tMA;dC<(->$eU+lqpbCG^;014C_aRG&e-Y?L#~7I% zvPpCUsMC|{vTSkX#v_;i_`KFyjuQkVi9-2mj7*epuCkV}TO~cuaRyV!P=kylu8gbY znz)5r2PbhjsG&kf8PRtS=ZBa!cccx)a1wvTD9N_#DM z!-r1{oRFC4PB5^S9#m$D;%kSNe@M0G2FUekp!^g__EK5a+l2)56HdrWE|-dP2TL_M zW2MnKNGq~0^o0|;k}Y0wskqd^IT-(b^vto|?qal3a6jYSoRr~6;tX`;I1&^hP#n0K z!*^7xaxtw+fgx-HhL6DqFWN$M!wRWU1d|5br#eIaR7O%qsCq<<{TgVGpFq6XF(3bR zW&2Vx{(N;qqF?7)Sb1J~x}xdSv`Ks6TPTmM-L-SXV+}fEaeCJ5@_XM(A?EKsByHQb z9x`d4(z})4e^%Hhzo=|i%a6(fY(?k#{M?-N)l=7H1kx^G_4mN_nS<3AnHh4PmW^jK zNE4FAT3L}J47rtpJMMNtWb64BKFo7Gk00|O^N70W2Iw!GHpKd%&|uEKprdDD#ONwh za7?Xdbp-i4kl2eGkCSF<(O^o2(w>1|azFJvnSq!5>m`#Acn}tN;^p7+e-{1^lgQ*S zeVJqO?0QpkVSQ+pbAED5dP_!2_JYD`p)OZfd{^?4^sa)g!mgr~ZR1@ak_)Qc3{hXC_KAqaCdRl>~!8pg@?Kv7vnZN~Vb85z5aMAR;2 z1iaXb_-G!FWsXTSh4`fu=`%5y56$Fsh@85}6x~Bn^&?Td50TI8Mfu!!V?Nq({?c=g zPnbY%_~Xg1?mw__$vFGXOK*9tzntD)+p*x)+`J)8Ijv1yoA!3h+IiEkalgEG?_Y)p zWg8oxC7NfqEdQ#%Sh6eJbd)>a)V6nVXiBQR#5L^xo(F=<`wpCu>&!^)_x6(T-fHZK zyDoppe-1oBcf@LWm|)Sm9F_!Ekj>@1o?_BBwQv3aazpA3`QwC%sT1>OanmeQQ>JEz zJx*&g(V5R)XF@^!lyAJ~j;=0Q&DRT0N?D&Q!-25zWmLv@)L2nN+})OWH` z?M^7D=HVd46g*QNRrj&!vjK)gwL%Pr^dtP|ooy?W$37@;O!e#Bt@3$N-)H*cH;%ir zqH+Kkr+oUSHwv;cXZLyNb?lHQM(YjS-#$<}x7>D*-hhok53@8ZZjh4sm=~%p-U5e8V{2)$gPdmt@w~vD3j-Ju>D&~72)J`tCv}fg=tPkp zKH1Gce~N+!P9{m0?gJ2H85fXh@2eFa7ARKbDOPo2hSZn-P&%*S&dGRf{sS@UPy)DC z)7J$!$IDVTUVZ7X3SsGM_Z(MYEFl5r2H_F@E$re2ay;URBL6DK0!iVP1zvnL3ONA* zeW{D(8}6t-wl&WhfUExK84pVP3G^VpPcDnOP886> z+kD2w3qs1<$w50Yyn-&CfSa=3TrLQ9yZ4vL@HweVKsC`tC{nsz@Dpel>=s1YOh||I zBNzn87mEj7ML+~0WA3dHFV8J}rgr$5Q2ns(xh>~L=<RDPO&uEUm*xLQF05sJzk;&!r~D+f$vD`Jz{! zW=M|<#%GsRfuJ6mJTP^lG%>HfY-ZfNUV#&`g$iL9=!YF)WD00?42LZQ8bS@XV}|KG=S0Ko z!JNYA99uR}L@l-WECa zLM86q35;3H?3Hs_Eo-%F)3wFgLE06WZG}sVw7JPic}aPB-Mrx7c_F`sKdc0?GU)U9iVHd zy#@$b1PEO~EMG^_GaXM30O({=HH;2oSyW0#=JzqIkpqUGo}EOp{-y_wY+Ssr$HHtVuUOE zBL-Guu>49WK#f?6Jo`K4E9KbgrAtWtFT1~9k!SV|7*M`%(k*{zY-l-uX38VA{pX~c zg00G*JV>rLzDs6oSa*B%z|Vc5)TGR|)>+CY_rLp9jxS|k($}S9sqR6xjqoQ(j0wK? z0=dp(&1G|~1(4qHwi|6T6T|E(J;rQX>RAMz(~Oqj-IB(Eqw~xi%#jp1g(QbGH5pQw zR4X+}?UEp&TVREBI5}>IhI8!zRR+1ZMjkLFy`D%f2%&<&LlB~vBZp8Nj<|>Lr+@r< zo$~z?%8e*om~b!AFPs}bH)`~#BU|rR{`$*pU(C4YL2l0v%7|ry3xsod!v=r#(Bk{c z%hE5k1w)g_MCw=5kuAZ<^h_uCI#B}eCw1%eXymPDG!_l32_x#sMjWHbZK%*4Hi+BLa-Va5=C~GGVx?oZ>p5w=?i!iDI>M;HQ$PBuz!NxD z)VabZ5td~3{H296<8cjr%ppy}xrdZV4@Ta32=_|V9o&d#S{kbX%Ln)`#-^P5t#$f( zEu34eRldrp5^*>?P#k8Sj5Mc}QkS{Q zvBYi8@sZ@Dr0!HSPfYTp`m#c)HQBylzU6o$w8p7Ok)dc(d^o_wg3u|4Eh7h70<4Sf zo8;}(H>M0G@AGLHb(6p$#CA)-W>Z}QU_lsXs1*$92h}_we)vvKRO@WiOrZ%%8Kv+&s{=VmWF4Xe|*o<=GZ0m-gKMkFjIMe)sjv zr$#m?OETDoT{Uy-2klG(nsL8NCa>w$|){0GHyC{fMCdI=Be*0PN=h{DOxfU(K5#)@-p-?hdTwNU1!dI6XI+#l1 z@hgkH5r`7AV}UBBlsC03l%o}`%0s6fio`#3iZq?t$bPd?IQP#W`$;5CI2U<_y@Bp1 z330^7)bUK0!6q#gy7XL^k!W?g?r1d8@UPKCdb=EFG?T6?Sx)WkieU6$?aOwC!?o zh@b4>AXh5tqjngZI2QiFq?s^RC~qiiCf9mQDz8L^hdr6ETsTv3pg3Ef8LpnVJT)!b zd|El`XANZS$@i^>r%lP|g1Nkwo4*$`I2>GmvO0tJ%5#Gp_9#cZ+O%@g4K<}f2`k#A zmTPaq<^|Noj`r$_q~Z8(;BBC2U<x1_{^jg02^4TqhGj8ZszEuz-R&ra4Na2@%A$=+E$l0gDEHj0y)*D+S>XO6l8+ zpb}0$%gyWQ`6YY%V~PXF;}R!C$}ut^4?Yni6PV$00fHCZgoS6o_M#s_5<_fF1}Q@c zTNBnuAlQTzEf4(D|B6Y z&otc%wu9#kOt+rJOsTgA+Nbl50#-C|f8XT7n8wFO!X}e%Q^bF5QT2;xa zK^Qz-9SHE-@#91t4virK`4CJhHXU^^5j6A(?WajbiyhwP_A?A}*v7D(U1!9FXn5iSOI9!@U8pPSmJhDi% zs<9O%#R4F74mBvf0^vF}atS6ZGH9&Q`pP@WzMfk%yMj|azSi-yzmghup zG%8SSUi9<9sfcysmC-FyhX;O$6!S;ES6Y>~>A14VQWF1?Q1VZjQ6uxmDegdYQ1l?; zPq~%pa&>^q)?^q`tszZ`wN5k8+Q2qg>+Q{nGiLjgv5?0Vl;y>OgHBXK`MnrR z^t3HptQ>z+`BC{``Jx-ipx01PnXjyGXng0$wy($3H@@@2)^E7iUQ_mM-g*y~(C{{y zwq?UT%4a?IEhg~~z5Vgp@Quo+```U^4ILrH;x??B1@WFm@-QUX=;u0Gl2$QY4v~*{ z3+^lW-`Wv25t9i9k9dEk?Y&^w#lznC9V%E6-8&=>YCdYvuLV|A$gacK@L4G>d=+I! z@icx$@f89(gC~7?@HgGq&}7r5r$d$f=FUw`%W0eZ!q%sk-(4|q0DE%8@W^|@xdM0! z6IXr=zIzf`sVpCk z<`DH{qHc7_=(6d|T~@8_o3_kqw0}T#)7HFqCZ;^7#d)k$6r*xDJ`lk zqTf(!2)zz~odY}bFDnkmG#28b*#NPOfuA|67KT4Krtxi60>-`#30ThZGp7{JN%i>q zE$e&xBVeoYJrJ4qS1ejUYN^NsmAA>F#U$aXMErKmpY0j?))6klqh{mnx1wAgia(VY zPLbA|sQ|$@eLeEmUa9dzYD|!tyX5&G=TdOoVoJc$$1>b9!P3etG_+b4BzIv)th6jj z!I`~wNwV9!aoU#y2Z&j^%_(N4Bb-QZ4uRPm6)9&;hNH|;>u7ScI|K(6DaTQ?%^N6nmZsG@YtzP?$7CixBAP8Qy*G8Xi}WbXZJtc`77e- zpZlx+lMk+{nGtW!v1jgYoA%nEVGY!dJPD2TI%G>?TIE_`j~HsBSps!J3-Sa6NzjC} zFl#m25VqqiSJ<<5aAz8=21rh;snaghc4-lc*dDbD*F(5PAc569lBlE<5+Aj7;34jc zTvUE}niNJZX7GO$vi|v@ko6Gm=?>TdT33_AY?Q~P*=MmgN((hz(rU!H8K&El=kdG_26Vcyuv+|Eq@7{+$0;0#~1p&tn5#qNYs;8&Qh|c7S~8Ryscqt#v@^+k?P_)fw@Pc(qt@&o?vdzqYqT`_ ztC2e4k4z9&<7Nbn7L{nAvQVXnTNBlLPed?8r@~eQ#7wd&Y+?n0;%-^w!28f0gwGu4 z=wd`jXe5lfY;*|6EgNZu>6MXC#6$;!56y%~=~uatW1sYWGm9OJ&*5}f{JBdQ+NE6n zgG*lib9e=>VYVq|(laOIxe}uh=iog>NsG#L9ZdqpFNmHOML~^YOIk$a2&1QPNvAug z=N)=I#)mCJG=Q-h79-MXMD#@PlAu&TswF`nIw_rGOM}QTX(pKqtcbKSfv%AqOC|`$ zZF-{T1WC*535Ud5I=rZFfruEA3n*!)hWU|mNL@1eMPsSb(8t#`Ro6bJYgw#*Q1Hm! zq&)Z`F|q#7B16ff-za~I{OY&tMfO7EG3d{Ph?AWVc>wFn{0h7MdCY)@c}QNS*W_qM zXgHaX0qRgO=(Z-6Pt?rQtkQ6rPFyUx#7uD+rl=F5NT3-wK3y2b3=_JTHerLXSCD}0 z1#O52rEUSGJ_wZhG5|x&CzOItTc=y7>(X)Ayo|0891pLBXEC)g*m#|f7gZ0c=YjQY zri7XDTfNM z&`dqSXlBqNnh**{lxi@E`1o5cwFmg_p1qm;gse+#+`Z57iywOQ(mLFcLs`!K7THG< zcJ~lL6gNiwAE;9>z1eJt9m@cuI57x zmTg%qXd0wMvB1H2iWmb;iHfJng{DNAnU-kSnqg&jl$u;fcjk2|QqYXl8B9N+2vX8P$B3rmjIwNJu2YeVke>lea9D53SPhe@b4Lsb!0zvYX^WnsQ z{x0#^<;#(nRw~4CTf|#%ZT?{z@L`eG@cA>q&@{b4Hh}5pxE72JxR7c{sxhJC2?#0L z<7vzGliv$*q@AM1OypWj;Fm*}mom4=uHy3iQTGOg3;dR8{u%)lbr=>K|Rg_(p7G=|7aqg>x z8e$II-2HzVIjUjW?1?XrPV+Pu6nBnZ|3KT4MWp&|QIp~KH}@I)(Lh~#=#!ae&uYad zUSe+${XXBKh9M(Hg$`IMovxHSI@UjrX1ZcxAg-VaN57YQj+!&pZ1wc@M0A+1KA5jV z5Dz=N&*k!1ge%P%_P$7K7{t~($8mGHC1kZ`g*j|*cdkw`3y3YTuC>h3bXtpHGHx*F z4Qa?O%FvhU2k9I2ZF)hUhO;U3FQgfmgxyw)-nU1L&DAw=4b`wA+M%B#*Y7F{rEfj#y?4BAHAvh=>_*aro7ds&z!|$p1xtHyrN;w zFW8>@ln+~PToKGHM`6ha{l}b%Y;HQ+zN~w6Nu)b9V-_T+>GC%~yUW0AjF)XN-r9IX zN@_f#JkvZ~oW?}avJD|{i^a9qU;(MImx)VDGgB$F0Zrp5kh;K>Kv#fESS!9nc?}hA zP@@ePOg|}0Dj=PJf?Jj3yOzZ0O=eUX3?SUZx%c(0l&4K-BFwI7kJSY94jgeXLw@aV z+c#8q<`y>C^;u1?#TS*8+|_y~vCN*)R+j#jt-u+Vq#XHf>%KIntHk(DW(cb|7Wq`! zu~l3zPZ*joG<7bI0uSqIk7#rF{XRA1x`DMr=h@Rj_8O!#vxC@1whd8Mx?mPmAF&qI zNZiEU#)>S96;9ByNo%z)rP&$R9eht4GF`-PvPl|Y(#pJM! zfp0@2C6acZ>>@auR@`T?_sn7WToUEcd+SPu>>k_tAR@@jd_YBgtzTllr)~-qTq2 zmMz(Awm@oOVz}?cWX8>`l^fd;GSuh|8|)?=mAo*4$l7{s7!Y4;WXu+`*X(r{m+buPB14Bb9~5JlVL11jxaVG+l+z{=SNl;5vANKI?>5WuQBbjnvFD;g0`_VMgTh- zUDaYL-KaP~=%5)mR4sL)?k>t{u#jeIcY#ts`^Q$8JE==*$yl{2MN7t{DbIX#?4z!< zE=}N1N2_NAgqb?q>NOdAdP3YAd(vP3(14IE<5b4;uVU@|Dn~m%z!tN`)?qorikgb& zi!<{PACcOuUGA`Nb&iQ48~ka-c3Y~g1Qbe!t<*Ni)@WZ;I@;b? z9`=s!N`erL7*#`;t6ovBWS2`nlWhLgFKd+dl^+_P7@DK&bF5*?`kd@ivuo!5<@X(# zGIq@G*SGBLuBns4q&Q7$MyCB(fHj}tJm7Y>>>aKIafw-f8! z*{gH?1#kM&$JY%zH>bV3wiFW4M_oS$6VL2@zT94GZ?tpnBbPstCxCp9cLp2*XRB$B zbERpyGwcq>YeBMXAUps(Z#EkpjySu;Zn12z+8kD^jkns!i`XwDA!Mt`u$Ec}SsSfw zR>7L!NvN>CkYL#Dve+2GN~0pzbC^F~AyYKi_*Y#=MvXCHQ$RYds_`qTo!_g~Ja}}c z!8m6Ai07MLJqmTcX5LHFcihKKc8^YpoOb0HdOQ+gBpKlc>PYg&nxgSN%$BT zL1OCV66Q`s^f#~wo@>-dA z)wx0zeIY?6uN`29os{=MURY6%B5mj66DO24m+nJ47Q-SeHJ<&m`tI?}GP%x+kbQr6 z{dW>Reglbf#wCO*ox?${aL$@II&bx^7FXECxp2(5nV#PoH$JX4Zb_UN7w2K`BJ_?3 ziQ5-%*6YoCq^K}b^FeQpieWGALk!`{J!0R12U10^Hys(mSdRVYV^5sVJFo1_`|9DW zHQAZEq`H#YDalD0=5xRIlS6|0#6NYfov|1mF~;ZQWOoeYwonG98i$evh;lNe!XTkhXzS%||IiGKZQbyq>xfrF!VFeCC|IgUMp^ZTT5#-n{bE@~qPA(!4>bgR%zY zjT4(vO%|L-#s)0*4TwC(xyoF(pv%SgEmx4~OeqK#u)&b82B!>q2YDO4ZC=3}EC^P3UkDm@=UP0wGb}zc zVw|+V65IB_+PK868oWhn$N`)ffZ6qX7_jx{TRN6UteSYKUaO@W+dN`k-IGnMR=oe{ zPNQYU*s5Ktu*=z_Nv+RJU$oV=?!8$%cX6|P!!p#pJ|T0&=y8?ta(tweUEQxPFmXWN zQ9Z}_=G8+-w~TEWyQ5dzVUFXOZP#hL(a?4QN2_V2iE26F>a_iT)NIo>bvB%3LR>@2+_)Jj6wPT8M5mc`?=@R|d&M{>#o@^m zpj|`y&~)!BaQX`Nx{6tPQ3}6iQbW^)eQ$g=v2n~_w!L~mdABUIVdd2Qeab2}tZF&H zzPCsDe%9P&U!LAWEOTeA{3LQq{d;Y<+}1p*?t{fQ@0x_{u-_;%_(Ql?>N#wbhnYFX zp2AsB&sAw2#12edOjc>a#;|==;?h){qle@2+#apYXw>O8=nV)e865QX(?ZLUFH}>j zZ_+Q*b5Y-c>JSSYQ@slggu$E)4?^!jR4i(%krNs%u(^^!BLQ(z`*WQmf%toIbRA-q zL{TpS3X?xHdu-!{?g@MQ%|A+}9`!UoyWqY@PO4tSj{fZpv+pkp^&TtGzoSv+F7&Fp4gNTH4f>|on=w=HO|H%YR$L7k z#^6efB}TaHbral8n(YAqjymW608?I9?mpTv<>7@_0eD;m0QkIn`=|i?sbPHcKP5I{ zz^GTQAn?35{i(AX>OPyZayiA{s{Z4C41r~xrO3r=)V65_t=(a-(7s>?sM(FOC9{^A1Qm()QsJtf72{l} zk8u@-QjHW_Y8Q7*mo=zx@(W|1J$Ct6#`+h=7UpJidv)5eRXyME&G$DCLG+F=*2`b< zdc+7q%qBTW>lBI-oX(=s;sM1|ob^R5#j7lBd3x3hD~9H2pUZi8vd~3LC9WJkiShZe z_9a=oG+|1=kBKv_WlAhKgNZB2S?elsao%3x#TifL%9P6L%C5>7ZGz}-tZ0`S`eyn- zX%lQ%l^uy@pdTD|EYjb7q!?Y}z=puVcc%^h~c7xN9v~to7JIg{c=Io}+f8aWWyO?C=R(X;EhnVHss_Y}}S8nna&{z|w}aRLe2`wH zrdBfd@)ZC};4HY#RAu#Yon_dJz#@mv->0kaW}we4U8!Bej}GUX_eCO^Gn0o7PSo6M zvaML_tH8Tfq)vC$iItpz<8FvH)a?SwrTrtJ%%$ zexz>ESl$;Zd!v#y<||}P4pvp&)-kpQNg`3UMkP4-zeXxvdgb_5HjUmQyrYfW3cT;D z2xLBldonPmoT#` zLY**0=oFTS0JLFTu97(FXt1YI*;-BG=#&!Gg#oC!Fc;Qv(frnErjbhML<9ZTP&(p6 zk)NInE5(o39#0~t?_5BZ(!q06dhWpl9OPQ)CnWPSN<{@0vp_kWHQ7u$_@@7o(b;sB z(b;f4qceyMk_N#JPbV{_7X3=nCTS^=Lvyx=3gd(p3{;>gRS4H%PEwQ7jQFV&QE+G{~&15`?m zu)idO&b)dT8~2VfgM7*-_PokfW3|4(J{pO;)iMooF*uq8C=$xk@S2TRSekvJxfv$A8btaIdbxg)Za+6KrRNxX=N7JN&xRf}0%Crl zEEj_CS8|yRa=J3o(`cbxtsSETiwz;WY`X#n5zh$_6cru%ql4%nh zf;l%OS9Wvm+|=}HQ=N%5>5iq-f)SjLeavCXb@M{1&ve>sX5vq|ncP!2-8Py5ujao8 zUB$TL9OS(th!mtjBvg^AswxUisCm0mQ(Fy~S_w~_hL&id3C#qcA=662ZQZl?NvFu{Mnf5*(K%S=^cBb4<0%5rv$>ItHX9y9Z@T18J=J@~D~?3l+Nr_2#n?Jo*W zSHN{a=73x)q@zb+dXAKqUdflG*QQVA$C@TP8`2x{7Vrz4)APExHa=|aa4yMnnyiU@ zrj%KyBQ$xJ^|=zF>`Lyj1ghXOp+yoB5|2qfhRe*NRqcchEUu?djb;)!NF{jmN=Z;#G-lU;2&>b z0yphR@mmHL6|Sn*%v)5wV9w%1OteF`)^oQ5F8NiF4#G( z;&Szb(Q9wpR4_9qD_pR6HMNsplPy9IcQ-018|BJLj?vju*}3Kgjv47K*^ zi_1DA!j9O^BqrLjL_RL(S%%4TKFh>e;@CJjj}+v|d1^V9T6hFmhZNBmh#FD9nuq`d z6#bxaWWPF63Xasu>nL<87kb!0UjCXHRZ}uE`lcjQB_zq2%`>%!*g$U1%`JVWW~TQ| zcGb9(`({p=DRFmCKR*11aY>#8*`GW(!Q+4O#Eh437&b8_Azt=-M#d%io;l9oLe!n*lbtIZ2YqS-;~)@JHt-a8GlMG%dk)u11^_nbD{z-r8grM_=?u1Twi=cX+P*a z`inwrU8EsIwH}ln%BOwNS{zl*Vuhx9q=ApII z8z(8F*k`AVoVtTdxnb%qwPt6ze`CWPf4;kY>50OgS819xzir6$?bC+MM42!_cHMZj z5~UAwuRP{|twbry!s5iLQG&tZ(>aOJnv}Zyu6#B>zw8+%%aT=})shv?60&gZ&r4M* zXsHTXm0T%Rp$L>B^=SN`qEdWEP5QrhE-i51OI#zr2YBiHp z-6hm9q`TyIy}Kk(AE3J=kd{neJ-SQq`fART`WJ|2tAFuc^etG{{WTw9C*w=aRs;zuc%&$sm5vH~ zB{=Dd^h&VOm0+bSDJwm1@bnwnv)c<-_pz5yx3dZCcYZD&YMw3|@^nF2LEivnt@|hU z2W#C|#?iv^$dFvqcVrz7=nlm7eX$O#^)-Zb$Uf*)alnj@>4CiB;e7hOkVU>qT%%P< zGqkH3?xXSWf6rahl7x_(=KF!ghNlY44DpTSivA}aJKAt6rX8Y*eel+=Q4#+ozn!^h z=$NUO?pgED!DTylQl9(QS9HjK#dzyHlJDk8cYl9(`^|DcM#S)s$8NBaTY9sN)lhuGP0^;IA|F0I^wvZu3}0>SA|L( zQ!S(V3TmnIHChH!O_fYE?dHEHlK)ko{1?n}I=18|&-7}O^$V>2|G+d`yoNWvQ+3I0 zOIfN*ROVIPX+xrW@o&+6l$~v~NB82-uNZ(U%(4!OfG~l87FRWw!oL2?E1i$MQf?N# zhVC}?mDC*>eXm<_g}Nj2qLizsm)h1gN*lqfLqy@F+Xm0}D6Ma8i$yQ!- z}Bq#jrb=A>C@8DK99Suxrih2=@FCp2?M*b`KHhM&MhO(%_ev(I8v&MiL zA5L9*!K_aaf>qTeRG0$xQAaz&56EVT5pl%suw+K`^dNhl#j6^?KU9a$KfD@OaJ zQt`dg3+nKHNUBq49_r(?U`$v%~Hg65kXZ@SJ6ly ztWT5zh}tZ^u_a zogvmWRqdII%5xexSJ6BC#p@cSQj{uyJc!zP?jOTX&L7=A=E>938pm8*JGy=Jock;C z^aD3feSPB#{qzd^TElL{j+YKgD&Ukm$!y0jpSk<*%@fdoY`Ss}SCVq1Z?)L-jA3;4 zdTxlJskY|y;>}yIH5i--DD)Bj2=C}7*}&@Tx@uRQYl=&Nojoh}g^G21JT8sk@_4oi zTJ+h_qT|{!b5gh8*$z`p7yGdXq3-`-!B`1ACN@*2$eG`sg811C=iR zcj#>~keP%$V!b}*v zc$n*)7FrrwF|vJv;N&Na%nFJ5x}u`8o%xcT*+{c6F&UN%0Cm*4gACCpwAm2#x34EANVFxv&k%-M?*iv0 z+U_FSZRlF20`B>>G)1NwuTW8!9i0uP4jwpaM8g*wo9=B)*Nyze{5{9AvvO9| z?tdU3J#<1t28^g1e&M#J`^Kj0>YkW-;7E2>`kLB(58l=0&z&+ZZA#z7{#m}l36s*s z_fH)_Br$#dzzO^N$o)MjFJ%@i3g`B5#Q7ZAn->jSQdBrRSV`PVhbYM?^-p(z5U7l{U3k4fBz@!9`)noa(hU2dk(uRx?U^^?~I|33ROfS*6l|DWci{(2QHQi)=fuEZY4k zD&I%pK*RTx-QuyIYPh5Pi+B7$is|m{bNO5T7&6j|!HtaNk#B^4L4itJWpKD{c(6Wg zbiq91^t9;(#^ft`3nf2GR-jp1*0oHbrO;c*6$Tx5i+6($5=BQ|A@6ms&89lhW3-iL zXP0_kD9O)r>~nhdA#Orj`t9T5kl3IyMYNfdy2p`yOY>*cZBA?9q8UE1y^cWH^^N?X z^Jsc$`ISz7P=>wnB%00_>%{Td==ayI&U@1TaqRCY zvxg0Oe)2u9AKScc+r)btXPAw5C0NGxuRb`kbM38nuNg7n@n2kemG86uDICbYZO!_3 z(=;iM-n95rz#itz<$UQDR1H$wmc^7a_sdIH8&_Kw+rzGv2}?7Vlu5<}-k+Rc^Ey!P`X|?uMj;Um{3%MB%9V$X)XsX}f+adZ((fI68ghv5Girw8m1pMG=(!_%D!4 z5a3zl(o$upat8m0;zY_a{D1!VXUgGw?b#qRn z{<|NqC;=wR;;hm_XfqQN$Fv?cW`PJm`{38n)zFOo5yf18ZY(#QTg5LIR*ISx27-gA zQ3WGvG)}}S?I)ca3r|aWQd?)19jw`5wmj*u*z4`A9hMpMg9(E4p|mhkr5Y(UorU%y zv-*(?Pi3swLy86Z#9!)@7Or+&tou{^sz1K+%9lOtS6yGRLpdwks`MpiBDb-}l{KWZ zEpnJ0-UfgaVEtuLS{6#OdX&I5{g zi*mDCUqDU^ZoWC@SNUX%h!P>T1sn}`91Yrz3(>o$e~(Rtg$1S%@W~gvnfInrf(Iny zoj3sm?nT$)*Z2ssXWHd~CS+i;tWmF#P=#+Wvh1sz0ZAhUjw3ey49-?ESWTKUdIQTD zQE6m1@;bBGt1HmSI!-4$Nr6*#_VzNPED_!smYgC(gm}=%GgiWb3LbPFiW28lRkTFa zj#g*tC)!>(eH_}JMGnrneU8#ZK5B@($4+j&y_Gzoq>W*NWG>pV*Bu~+1EfxQ>VWbC zrt0!mP`x7|3ucVs$!BbK4ld>oGOa1$*C0huXEd3#NG#WyOx?ta+*7L~6eKHvXltT1 zKdaFO4b{38#4D~4S+iawW<4)}n>#LN09Z?sQ|%iS2I%8<+Kt;=&@W17M;|rqcH2&o zGez4aT#Qyf!wRTwGc^J+8xTtrie`<(G6vM14uHaFs9;wMGLb$&)0lk(RlDNfd+NF) z5#^o_xt9e#BjT9Geviks?DswI-g;VTV}p@%y-jM^barOs4rrJ9%QuQu;&4Ry;-SZX zDKFJ!#b@Pt(!BocoM6aPoITQ0>m8ImEI3*-(K$MQx-{1jmX;ucpv$q^xg#k!6g$bw@@Zp_DITSU=Cx(r|QUcj-EE6VUvTPs%+K za&;u34EzTg!2_sMVH_>|e!8NF#A?8wF7@LnCWSf*_|@Gdk1YNG`yHm?g+G^0SxNKreEXP^fFlu@i{j6~sIZ;1mkFI2WJ)=W|I z3tZ2a!BsbG_c-uD(^-UR*hSo>x!>1jp*}U$>5hK-B17}(ut~s!d zKiMPr(>oT^lJRjndb+v4r}@_`zESz?&c>bZ4LQ3mS|y$xc>MceXEsN>59DN>qB{PU z%t2`*zXH{>xlARqN}i-Q@kyzHoZ{jBL6zf~3CW`ZQ;NoxwK8*)TLKGDUd!y+LQ+ zm!@q!!0zpMrCbJ)Fux}4~E}8Y8LB|-Mm00oG-sx7NmdVrJ=|2=% zpjj+G6fr^CJ)O1|C@eq|Jhgiw?Vs+%GvV_~si?}kz$QKr{qoFRhbaq}uT@+D;NlCbX?2+BSZZa{1vImpc}HG^y4`kyvr2IGIdR3g+;QFLkl;j5AcxBh z(uKIYX|GO9B8J3E8jUV?zz%pugodDUyY&tvY~s^qwVFT>X$_~$qQyZNJ9|nnTT(1R z3um$Doo*)1iC#T6ruumG@w3NOasiPam?O)l_)5#Ov00GMwb4TRE^T}r|19bwa^Bss z-vu}3SeREg(zaFVPdBPHhZG~>A8agj$?1P&y~qC3T4-TKWPKc2nylQKLY5>eTQiPk zDBF_Bq7>!UWU|zz^qhH-e2L=OSEsI9zwQ^mz{3cxA+mr)WdXVTDY8kvMt+79J#;2# zbJ@0#ZMbcMG+&x)lEBO|PUi-6oOR$+K)p<_A2uH+w`+(_Z`5cF2Ca5Otf3kzI^mHa z`=7*xmZR{whPF^!2189-E~$Z68w{k*i3qWvH(Pe2a8ZZ6PPpCC9QZ5wt*X}+wOusB z6^5%BW%{v{FOvmnp0qJhtY0lnca3GZBD!|rS!>nplg2O4S%Kpyj=kpV8r5<~&GBRH zq0uAzME;NPQ_qWih77OdWJD#_UH+WEA5n=^FnlZII=zPXBxxK8UR_#3D6ODic$!?$ zY+q=fn!Sj0Xcp_*^x@=izTGTl>@^s~r1*H}-XuO3$;hq#ETUUtNCP!bDx*q$H!2|Lut77H)wqBfuTujsSBgfiDTcgWaq=q?CXbx(PWKZZ zlH%V^xNC@Hym|A;S10KG{i;{k+(2bXLyox1}zHEfTFtNO5I}*?I6sX{sfJjla ztG)_PXoF{cWD}$rnmA7de*a>BD1(>Uw(x> zz%D!bWaQA0$P(Q1$;;JZA?{g^jPW#15*Y1v9mjX#M9-)w8ih{nZM4sytf|+uXao&C z@PbAJE>M_VghRh5PNm*k6jY0ar%y$mJat-_FZlnNC|sbQkK=t_fKEA~=A5mQ#}}aR z1HhTx5N&scGVcx1ZiswM2I9kmxJJZ>(Qio&DQ8Hf(jci3Cxi+TjV?11^o8W*knN0y z^PI8Th*%_A259%`%&}YQjao#Vc$)AX-3hUf1wnBF+yV7?Ehqxv;F-^keWvuo!x=yS z9`^<z9BDd%!**;W1JZnN=ZeS(1GAN3&&RmW& zwH^hTWG=Uu()=v>i19LRw}xq<+ba8Gx|Uu|80lkazhl7Kx0pDSDN(>VIo}IHqTB8G zE)jk`-CqDDYVTe|L+FI!n`YV-FL;#}@brVCs6;};->n)lp{{=PZEW`BoMG$d zuGpWSlc6bbR#g=l?>G1sFSb>>l!XfKw8u@Z5B2L$XXF%SWN0iJGDI%Z5nkgVaT+fl z)RhR8`X#zm##PoZVk1W9ci>&V6D7mPYP&xh>cJ=_5r#F64lvr5MlIB&=U1sc&@Isp z_tElO8(aL?aZ>Qjp_9t_w)xX{9GO3J+Y7AyREAz52&^$1;Hgi(a*wnF^lXB-JE#X!st;%+w zE8UKC-j$fovgZ60q@VSN&#A5cMyEdqMlCzR7X};k-3OW ziC-As70<=TTRU1(!YOP@bbwLfSdH1xFc&^lXD{Y+R$u(Tw7m&@RMq(ge9v8GpUj$> zOlC4mwn;MCw;^H4Wfj7bu!9(g$|@=W1X&G&;ED($pw@lGS~o=8P^^k*txK&aSc|pp zR@AnCYlTd{=RJ2O8))0__kAr61ZK|Md+s^!d6(yX9ys`q*8rjh(kEC}ggHE|m3*rF zDN^!PqSLd>gAWUov?0u0M0v2|?x_=gJ#g^Y!%tm(c;v{&!o0lsg;P83&S#J3Tz&o0 zg>zZyqj+Qe_%nt*bwPwZ&Mt{AI%CZK%kO&bobluTuxP@?r6r>?6YKB0YQncS>|n+P zbJirj`{z!xJ;tbKaA9qq8olAR;KM;Ns7*D+k~p9!q}GBb!UFLEJ#8gWL?POS_sf~FF@KTN9!cTQwRCq9 zke+Ju@3Fa%0`IC$=_7~+dh9a|I-x&1&3W>7I>W;^Uik5NOTmmkUUdI^{W3179eMxU z%XY6>avmG}h{3e#nu%|Ww&vFzo^#LB(aFcw?tf|DsufqhT?vj2@#KT&e$g~#;konA zd3&M^Olx{*Rb#Nxw{z#z`0sQ2pEt)j!Jk*UWA)ZYE6ehvSY=kz#Msm=US$hEE!i`C7q&KzX&IJLoe?EQ2Xp87^0V@hWX$`J+H5ND=ri24nf(e^rmyxd zDKeZA)BdJsOuLguua!A=d1s}E;@J(Uc=p*k?}n^r`o^=|H%dmYYL>rXbiu*`sX&e7 z$43;*E;vyj84=7*FZiKAMnJnbw&cGGX}Ob;3TgSHONO-kser&c8PZZ1mk(wF>6VV8 z!AaGvx5WF^xjMFp`Qb?wb9U6#40O(|u0tEu-?yBxree*a`)cZDOrHAbu90giw_GT- zbu?rIS|&{V{mQE89k+`w_>I0_shb>V_nFeeJvrT7oYP$jb5eIuy3^8j zbEOrWrG-rd?{rLP1s`o0!&o%HlkB+;yZPYIQI+$zpW}BI2Z7&R z+(7*9i8oK-cbB%mLw5d7yu5|`q8{GCYLQNPUN7t9MtO#OzPtwgmwG*WQ;^DxP~_|XtQcT{u=ZxdIQ1!DdANBkQRvmfYOD!H$b2X`lNiRfz?W5nJNyGH2qZ*?~usH zI~Wt-hqPf91QW3tN{4{nH`w4$8Gu!xv>vWW;EngNFWvPUau=bxLu^nV##)lS5)64z z04_c}v2JwYmT%aV_~w^&Cx5&^`peZPU(vPF`Sn(392|?^3VFg=YK_5Omo`M4l|Dc1 z!gL+*b=g-#P1WXh=yNk|^rAp^#=gtt@)9-NPA}p?%TBPG(>fuSf|m#gpu!9MWh4qj zxKN7E7?us~6jI@&w0{p`021JY-6O^T@$)6c|J+x7UU}4%-CVKa(%^;Pg}*8<_~y6Z z2tem@YyOJWp-MI_EPm7R+1tM}neH_^F1cRRU-t0}A6N|cnw%G1`Pa)3j|YX<;EgsT z=T?R8!oM#3n6)!N)$yks#r*frvS;oq|WtH}5wEVTK%pCkD6xoZK z5#?E}p4TXcAV@`$J*UWMNB!Dkhzh={J(-y`7Hj^VD9GQ-!2nMy1ZJMxsk%DYd;vF) z;ybnx4&CIRk`ym=|NK@7olNdwaw@c$InBQ)zjZ%x>)31h4Ovh$dQ#wK@1EO6UfaK6 zLCKiuu3LQ%-8J&My6C#naZ}v4xc1#T_Nw}vHMOHB`Q_%{9vod#Q`@@ciI*BnE9x&; z+i~*A7e|+b#$34Oz@f&{K-0Oake_`S9y>(_5;80!RGU$bqfG+h9GBu4R`}ATejVNI z$OU1C2?lTwiIQ#`CtGr&4ul(~4T17cEJZ*D8rp~%QfL)FZI`Y>_dHp4+f4sv{uV+27HC;% zOiai;8T9K2<6%es0ofsa7#a2_JD*U^W-G*h6#NTAEd7LK@40el~%TT2% zd!F4jncaCX@onPUH`#O3+5R^YM-xYJ&u8ME?@ZqFt*UXguv#yISsk(Oaekx5Z$W2l zG84I!`8$L^DE@+S>bN=(e<6O$DCF3W{>)~R)nKqP z`m-!sb?;&_$eaJ)@6^cR_(gY0zsc8jEG=XE5^u-Y^NE6v>q^+&iKB(=5wSHfzSYjsmZa@Jmo59~l_S=kjDn~Jzz{LN1CcTN&%$tg0e$%KTb#Dw= z%dJhIxo)#60HR>0&@cF@)D?uJ1uu$FVMLk!diCoax29f>(f^Wo`)@c(S;N~874`xb zoC%IjG#@ds6#|nY77s!00lVT@Wy0tyV>nh>`^UV;y7;^Cj5lI;`~y450~>lTaOjatQy?on5|c}md}Ez7 z!#p!EE4VQ0-0aoHwSo4m_TchJTei#LPPg0B(=XM8%<}8}8PhWsWUR=LGlpCYQkwi| ze!bV@#4kw?(8~ceh?z@Ei-y+f_vO2{wqn{H%)T{a8>kz%dil15^QrNYf-B(%j`h)U z3B4*EnzTeA@h7~l z7k@fAh*@sj{QQNtyfR|+Sx;?ms2lzDjuY(ei|YnyJpEuf%dTrq+;e2%UA2RAXnjoU z{EL1EeEULJV-C^(JT0M0XaXz;dlAHcE2a!%J)?kS&Oo>^P81ft|@^Tm95Gm z*ZGwT`n3+a#BqtYEwVIkX?_;lRppFSNw)G`x%T>0CXtwYqS0XkH)K3BG&x6_3r{$gjuzyfx}Er>2Tuv8)A{Z&=3O21 znyZc|NyD&lL3Y!2x>s`gFS}s*;$w%dXU>K5 z)-GCe-lb1G61k)zP@J)7@vm=4T+#gQ#aCUGc=V^Mt~&?T^A>S{e2@4i%)8?WNF0I4 zjoWN&GaSc=@4(L&$dx`32i#8n5ZFo>~VNeL?eXnr=qO{+IrN4SFXSIZ;9*hB7I5~ zG!Yt5!cWqt^8Ly2RW$}ZCRoD|jZA;i(Vrkx@g9z)ceL+#M*vx7Gn)Ij|4QHUx8(O| zxL6<%n0$Yt?JAakJAVar48Dqg9qu0Y!@lI-7o_U%6DsxjY4-qcLX!}tY16Ly%T3pQ zM;D8EgM0R=l+8bxr)G3tr*>^ZPYL2~$yX^m(RMA%*De9irvt>MpMqOLvzz_ZT=N@- z_n=J0-VoojVeaI=5DDi21%0y2bXtvC)b~36Nf(F;I76LG-cCYni~s!Jowhg9Jw*f&C1=JDgGG17Kvfds6%V{XS>@g}xEF*Grh?H8}@ zs22~42RrK7hl!j-4&l0apC-qmo`tFO2-l)Vf@4vwkmGH(pa6y)DQK~HF3t!o7SEZlqPJMPyssLl*jV(^q+)H*3e+%UBpQ*S3xuQ0x~0z39438tf|SQKN?5EE0ZhyDfI6)b-cvWl)7c6GV=F+YFmXo4@a3fO>jFc7B|4Y*?bg)1~m?MtiYXJn3GfOUYnP_uiE~@%VhQsQiaj} zGTgFRFlO8re~JET7FjgMy%7hIxNkcu<-xpAX-0it4-w1eK@yjW)6hkK?^|@(l%UjmQIp zM<~53fNxby`9%cI)pYmvqWb_vJ~~OZ;cYvT|tEy;00wfS)zyZRTUX z{fV*Iv4gP>N|2|{1joW2b=fkB1#b!H4VwZc>H_R0%g{sPL`>1YX^d~>w&sl1j5aX7 zWuToo+!S6EZVyYgP!Ha>MPPo@SwrArux8yFApWU9z~S?WNe(z2alnB3EgF-BD zSZ16mOH09PRB)J74b6=t<0FOx(+{8~#VdPg5EN)hA;Qy?RC)z}g3@$BARl{kc8&5<}VN&+)*I4gW*QACyJTl^gTX@c!D#TCl|Byz!RBaL?Em>GY!6 zDdn?skGk|6Wr?!HE%`DxVY}Led~kgZM=o(0ywYxFyc8zVnAw*X4_SY3=`RYj2PB*S zlsWPT{Pk9!An)qIj)!n2H8Z5o(VHHR@3$1l9TNhu9Mml|s02m41hl~fkm4Hx!Z?$R zY)I_#_#HP#Ol(w6Vn3=D?K$n{GM4q$kj=HvCvH@h8mt#zRkZVDy>xJA`R`w{Du#dm z4Ri3Yutugc%!Q8R3u_!B98)3Sw%ma#trK-wK=^^shbaLcr$n$Co6%+qDIsH-Qf6#W z8jN5CbhX-AU0akb#z$@S6wE&f_1EVC?%$NSaMEQn6XyrnwpRX%pV;)jO^H?bEpaB`t-|-LQ_PhzVb;_3LbI}4^Bl{pihWF)=bdQN$EmO= z@i$~Y{CH=c>g{z-LzMj;kzh%XiG?(KNB23+uH>!)^J`uSjUoB?81Q=3?Cw$ecqNAo z@;f>mM%CgP40(z#BKZ<+n^^wc{8jq`%@@%N`#b+?egt~JX4Iq#h5qRM9xb#8`&386 zfPn*F9Ms?*G^hbhXld~gPj-HVzJRoNkbcTd{Up#&2&BJK$KenDgTfK#L7l!qH>mtz z?vc8KLEnUfBaX~CsQStVga+{ zQ7-L0?LUgEZn&Q5*zlcOPXf&58+OaY36mxb8*ul;@lz+Ayy55nP08eB@y?%rM>1ml zu1CarSlE$_CvD9(#FId`^@u+EcHtgQ#j1?j$#K3}dUWAxI*dKW-YftEE>L7k?@k56 zsmPX(&HX8@!}nTYcgmmQZwLR8HoE3d!2|1iHA96P@rfXig;3>VER0u9*|-hH_9SH0eCw3rsdJ?9(Yx+~#{W%^@rQOE>otDwtKsoKf43I@Zx&wH-Yw=e=V4Cswf?c5*@7PL zJ}ewfz8l@1cz3dw>}TFRRG_YAdS1EBxp;T7H!b;Y-UH3Y?x)S7@IdmqL(L(qg;0oh zK>y6U52vo1WjANz-Pu~d^v}F|sPGQP&QNWPkKGzd4X-^@*jw}svVWt>|KIZ@^3Fv% z5;RAFcmk*ikR_Y{w4OhByuVQ#@|nQj>V#?)no{WiNg*FdAv*za6{QtE9aZEsAg)X$ z3Jr)0J47Le*7qo%xoiFRce3~=ii63CljwD1Y=M#`qc;z^;4x~Y4tP@!^QFl?pYafZ zlSEJ+SUrbmc)QUf$yVPZplb%*MjK%Gg5?n_*>K1~Q(hOP5y}_hFX$V8HfbwA7~OJS zd|Y;R|J>4nuC+P8YOS0Y&Ka0nGQ^>q_^Tbc1qG#(ChWQ~np;pbbu=cFO;PIQ-|>hg zL$!*p+L_8)8Tqh;iK4HCe@+4W{U;yFktQhh;OAs7C~5Lu%$G};rVjAQMRGj~C1=Wt z(B;_J4;od7F^X?r2T?|mzg#Uy?8;_|;n#G@1(FTx;}CY{xwn~%m&|OL*|Hcfbi+V> zB=3+Aid89l9hdi(eRs#UJ0GE>)!BelpSl&UamZQoIo>6PucF-t5 z2ScnV*D(}Sy2J?54}wzTG2*@ujYj8VIGX4o@i?aiH?nvprVJ?t%FqxD1BscQZRO&T zOLzZt=lb3McTQKIxIF!?Rn!1}`#;#~9(~{UC#IvV-wixF^tM48WIiMX&_k2>lV4+_=dMfUvUp|;p}!a^B6haTrX7a0Xq@G z6_lH?)+LE13`9AQWkB`>v3Dv>-DANM_#8P6mtssjarO6)(2Isb*O2Ip-J6&tEk$nJ zO;;{c*2Ls?+j04z*K@m*&t0qV;lg9uYVQ54tE4IY#ulx-BI3L`%{Q_!Jke)JtW2|9 ze18Agh2e$%{{1t|w0i%IoqI3ex&4qfK?%Vprt4%dQ1LrD9gJS;yL)jr5|I1yy@{7U z-F(N|zvEUmvelh1IPly)gRLjUJge}ux|9@2tOB#b3)Lg@Z2{{PlHS%W7R8O^xdk;r z8Tm^PG+}KMhZol}WzaHZ8ZHKHtTx4Jku7O;te1o-bxg??)84cOOOvJDBFT7=52NC9lB=Vg`5#Dpkq~x^-dzvi&VRx}xfLG0S$IPo)I*B}Dl8CZ zp*uI5A2KO!h|!T&OV^#7jRvC$cfQHM+y>Nb@XxfkDzLc9WmRsIx5&4Vrk#c6z))it zZkS?N2Iv=|uh2X|jok(`b{hcLC$3G@6--1YW0FmvtTCXoil!r079+D>l~jPl^bm!i zhQs=AW+QH6h7GTN*}1Dd z%d?l}TKs61%S01MW+-&2-U9g$i!l%ojC$AFRoEy`M%5_GC$WVdBEwWe(C^I;`VHG# z0X8-3Gq+i!P*QG~@<52@d+;jT|A{_N4Fbjq`+LwRLV^LZo>0z07i@1GVqQ3)f^JVO z;s>7!J+--y9Pxa%Ae7j7d2dZ(@r%pFbGl`T6N4}BcqXY#Ox*o{k$31K0-;a;q23YB z$`6)jAwD*xDZUKm^<{fwv1)y}w>Ec#Z$#FJY&B;{?quJDlG(!9hB?00+_OtoB9Gag zw%XQ~u_|~`c3W;+UMS0Ew+GOY9q>CG57`55{N!+EW(5?#-R>#eLD>{i#DXv2_j`o0 zo#-VDln0s|YG9UQk)z$y7BB=HnSm@R>~z>9OS^}8JYijav1MbJwu>1X1?bjd2tZV( z3JeZSDF8kMugCBTLkf9^r+~jqB0bS#VSfos>GlCH5&56ilc=H8yl9VAqIr0&i2$G# z_v$@Pgj9OKw|Lz+3BUVt^0&KQ`&!qmfs}48b-MV$?m*OuLhw;j{o zSX^Fy{F!xEE=Xl#`R>uOv73d;NXbFL{2K?;b6`yZH-k_n06A%6AV} zLwyIf-6=$XFAmC5x^$jrwbbrWoSA-W8UW>Km)h)Z$Q-!VBBVW_79%x9ImkNukbGOM zZG>&AZMjXcW#?qq+xBMrx3!_%o4E}_CN{fdOIj)d!F8{4p14W^r>WnGNYc6*6O&?) zu+_aa`yliCn}+^_=FL3oueTo_P3o?L*n5$@qP0_>y6lmQZ>=9TNPaO^8e21U@sZJ^ z#w4Co-cI~Iab;zbKb+C=azSbB2O#55RjE=n#9kv< z3;bQ7nQ?!c8XrWaDy$q#>nZ3>$^)*6C?Ak=nO3o42Bp+Alt^M6;n)%vtTgLeX=GfPDAR<{0X`w6lRer2d#W&(FJrM z-!w{Q=`;2v!IW?qXmDF^6+$6Ux8QnEUxZnuZeuvcRnnCmJN=(;{JZb+&F(9o`ADo? zE;d}C4m|lDto$cpt!xBVCkq+}_By3enXW997y4JqYy5gBmHbW31|6{&_=0^2p5!lF zvMno+Ws{iU(`GVL8swV*4?Lg&VI)T@c2rXT3$CFj6toAl9&oRS^kheI_N?b?ceP9% zGwGfhYh?6&Q?I-Ak}C$^I~sB@wZDpA9KCSe_&T*d{D42NeZhIpo>Mxz2uG&yzG#zO zK*yE}8`V~OZaB9pcWCaJ%H-UI%G?mnHszwwMY$^rt%U{7FKjLra+SGep`+kUmtu1@ zxSH@or%Qo!C+;R&`f65?1%sJiWXoxvHW#zvpws)QGgwe8>ss?zULG7}8ntHMK4amwxii~Ci?#hg)<0|(_k=+9X;<=o9-ecJRf zliT6TumPP3{cfzDxY*FS8kL;5@QkQM_1{UicN`K5)J!qWDFU+17&ry&K+(6G!NC(k zI4A;`p#2gW;KwlJCG=Uzu@)!CDkqNybhqJ-*T9Gp2K%5>5}krGT1KqFXgfVy%+_0nuJTmqVYz6GjnMfwmx6 z>2Fk9z*PhmcQbDeVkVo#j0U0gW;+^$>>)>)qm@IkC9}ifa*_!*6Ce0gsB|l4r^{JS z_YBc@o#hoQUuD}{;zx)cVIf2_+h*tDfE?ejm|nT-l1eMUsFORRnf0XGf~FYi8>0L> zRNypxLn_lVv$?3XNEV6;Y4cNpG&SyJJ;puuXKmbAK?aSBXpgkm_QMPGgAeyVY@z}gVh?Lq2Qrz*t%_r?>l5sGlZ>8DMlwO;nkpjS)l08M-50@Dk zn-rCNm&_IQj8y5X^vO2x?wsM5i6ec4+)5MMgY1HwXLFtiCi?f%bd!HPVd$mlc4+-g zH?2?nDyN668xuNom+9g_T%S%o65dK&7bo>d-ATwt;%O(VgrZ0IE$|zhuU9#ruNMsq zctqHTXPc=y#byWGQAgNO?!d@Fs>!6DEU|TN;!k#%X4l`=?0Q{YNeO?loev~tDO+(4 z`gw(ZO;%PQ*o($DD*zf_AXif~zQc9P^(zhfHWzcbKvb5}(>5r2O19|rS{oMV zo4Yq7jC7vMWjo{z6e;!a0wrl%8$6?|pn;)9x|_B48%_p}>>kd^6wME>N0X86OWKW*# zsnPxeGR!;EEGy3&Bkm*8UdnSs6SL$?xc25KVXwMm7-8LiMu4-efi*Pr+tWINjTkYC zcuhwIM|G)jHj)}=g)%31ASmCDn1NKwdNw|w9}2%X2#~kNrAVv@``5#HmQFL9wekOw*fb^F=}*h= zIo%=ee?@EBCFJQlEA>EDEUY}M96RC+$~o~J5aky0m~f@$(TK#WE9B&uOth%6_$9Jf z5J%HAK%>HbbR_oFkIbXBh}!cp^#Yqcp0CnRx%v60$VwLUk(DecEU33Z_hJiVa70_7 zT`VgshwQ~8;xSUjE(|4=H03Ux$%4GR(@0ICAj83~Tq@%9=8ILLc^pOyD!r#OTc_ww zQg!M-YfnnACbqSMDEmK1P%12;XaB~GC$oI8L7&50XTk_ri>0s@VIbiveCRKTOF%SI zx;hkgheBa3O}|I*+x=m`m|71!upned>cT_vL$#q1p{b$e0CYsM zBlV%Z5#83eQ1y4kCiWy6;MqfC!Jm zz=-zWsTQI(9%0JT=*hpgN@;jqkJrRM($c$^?aC{H&W_jF)D%O??wqr-l4j!K^J`lR zFc--9!A59mo&AMv>O@VgvoNPFXL?#nv(pr($?7fKS&+5MK zXReD%)?bkG97uAW1Cos1U2>j%T_<9^!zoGHp6G_{>O3cEL@-?ajJPKZLl+5C%0_ev ze(pc`m($CA7LAM=oMU;NC5sncGP~tJhuGgga60`@Q<{`9k(Xk2QDvrl2Ay}byO;9a zt=0IC3G1=DJ!%>Q*nok0QLs4)L6ADzh&}fXezuL|XWOw8f{^j3SVRdo3$3yuI8lXm zJ3hf982C(bgpW@USg)|T^Ipw*ux6kk1p~+nH0zzD12X8NZUV| z<(CKGdI{q@Yp+7ri}K1bwFcL#qwAGX($bU%4Sm>lNwKmWL`n26^vlRFn8<8$%ZDbG z?z%ds&`1#h18A4hA{1}xGF3Wv>UwDYsH#TucY!*hdy@3jp`q8e8JW@eA1CZK!@~w@ zcEbZsO&c}~>_+d2!(U*!G+P2{C7LqSeyVy*S>xyZKc@*}=b+5bYa-H)fl(*TebVvWl=E!&Roiv{Bq|G3)A%^L2fPvkY zc#E;;PBZ2)9*zZ zlpH=UHOYBt(B?%1)I`L=l%COL1#sokmwepGNh@$JMkY4rbhjxDZ#&I+$AkfW#?uOY z^j?~Y%C7NHm%FBGG>0}?-@4&u;oQ_ytHe{Qtn_-ju8u3d@zJPiNcLBw7FV%9cCjJ*m@_L%Qi@fb#$>B&pWDOYQtzf{w0_OA} zutqJ!x6kpViy?Q$(I_d+Ge)r)9oY!aVnQuQy%3M-BN_v#)^*7yEU9D_9pB{3$MZYB zNxbvtt~fmL`8AuBg5A4+`r=hBv_|#$-@rbQrdt_&zEyoS-6Adwe$O_sklu)R+xT0I=O@mgD+*?GGdrK1>#l;0F z#Wz%zlcH})ryX@?Ycaf-z5zSE+V&(3R^ptgfY)9bhv8`;sWi9v!w zHc351;n-!p6yt1R`I#@YWW>4^Jp|%YvZ5>3yC+I1Dol1;S(MIrxJoi)kbfp-ALZy}g_s&n71~ zhxGPxTS;#(R{>1In%n&tva?$wEb@!0dt^1W!oT(aaQ>XCyr=ox2rS#L)+mqnWffAL26`m{%t~Kr}Kt&$` zgN6n|eTmblsMbPVzO7zYV;iL#Vbg(1k$@FcQPV&ZV8qpk5W^sHbS4W;x@23R3r1S! z=NyNxCVoi#amC^b+3?>o@J=K)PMY%jC%1eyv3bhxpW6I+dB>Ilak2DUjn)t|V0oRL zbM>Y>630&7wS@V0zy867whI#<-t@+Y>)9coUL;|4=XbhU%3shi5*4b!U4~|Box>-3 z9Fv%m5kZzh?@cc(FdDpwISn2Fg*-KNIVckX5>#s#VVG)I4oFZO{getY^O8FG5Iu3-Cc<86TDr5g<%m_7|G#M_aR zXcK7DQo505iTkdQ?M$IfQtYEtljoCXLzT{gUeE zaB&K>Bo#3?FZVQA+#XWDE*pvcilp_6wMUe2@UnX={q|1W!Vy5Q1p9hQsuolxl&9*l z%JNIl|Ma)tJfmCc*Hqd&FAJr~UU^w4{q{)7VlD`+^C$T1J}_2arAACL=%nT8p~<-m zLUVFgDyvQH;Y%XsM(9k|kwjc|Dd&%MgoXvDuuv96~;z zHxB4198i5G2r39!mdqv_$hmZmOlU(F!>@U=ae@lwkH1X%}>soHua;W)9x5mE)_*Po*DRRPm00retM~kS#`Fcw$s6i-?@&q~Y;JpFW7loF z5fU2k7ON0f7a`+05URNLB3-?1q%d8WUU6Q<5~n_c*!$z;K+@u{6z^z?v4>;N$HZ7n z@?>TPcY5sMf#n0mfdlI>51TA(U@Uio-EN5ul#M=`6gO6v&)3k<(9|%ip}j$_+F*QY zP;xnNirZvw2Ie72;esOgH$WO;Noc?#Y$5`D)@Z+JgcM0C4sB&%jx@o=t{(~KRV7`$ z?47nzJL?BDZogsllo@A_dTzqp-<(lqt$VDsc6wE;Uu{A3%zn$Fw+>lURaRe;8=g_M z@TZAZwY(@R5}7}C<%1=9&)iW{w^ZckCCIunKdC*_TOz&c ztSIZqNxYC(_8+9u?Y14U^$BNhxpb_Rd5CBh0a>pX7NN$}MV&_pi#CARWIa9eDr^J_ zBn?YEq3;{K1p~>55uo)YSO{5CQ(4+>G5k(KF$RQ~RPJu(L`#dG8JiyCGCocH# zxepT;pea1Xj|U5vn5~oKRmf8o2_RlBatw6T_y!iKzR}rD`AtP{pxtT9G#2dA>4_7QS`izF zS64HGc&uaxv|H?Ps2m_EXolbjI2(Sbkg`cWIMa!F7X>SR6noK|R8=V_A2W^?owRoT z!o=}g&f0(0$BFOy)l^(R^9%8he|qd!Uq%|E36`CB=!_AM-u}v^hs39DO>|5@Yk?uL zgk5X?=kL#bV)EFXV;$=g&+fkCVMY2@WM6jNHTKDcH~jkK-8y8hI(?`ZZ|Z!AXM)12 zO*#lsSN%bdAP9m{CzibgxB4ZlNZbpY2nEF~`cK|O1ugk&dY!Oh#fK|az*l<^Yi18T zpIT~FfVV5NBk<>}P@)TiT0^v!QDBd?b){G&Pl8|M6Xri9xI1508z_^+_Tw*XcC%%_ z)tcsm)~W3EL_KXD$>Z@`(rl8~8U=gG2avJ!S$fP*yNPHSv zKDc7Mk`4fo523*WJB{=blD-b5dVo{ZaQJ%Z$%j^(tRtp0+}wP}gGV0pP2V%=;wub# zu}DlW9hEb5=!oi$;nJ_qA2e#&#Tml_umU4HKZU@{+rl^k>Z!S=45?Hao0;J*OCMX9 zGdt&k39U0)&su6<5n3^P^@O$=%g%C)eX{d4M4ixxDaXq|vb6csL=whJZ9Ev-R8t*^ z6)z97uw$bzVq-tB{$vi)>B8lMXp^0d$r&_gmTeYm+K^pXK4ofQ(WY2&d2D7~@sRvj zZEQqrYHWE-iOrlfvp%+WrbEaaA@`Ta4vP&9LwELXs$n(#Yl88}uBPg?YOy-EqFO4R zx}&|26&A*(>?|gEVc2)9=osCc9S07-c;nBnoe_HTpeTC6oRT?{c@S1A|tNG_toI5Q)=kN!6KUkSL zq3+xxH;-QTESq-x_&-Fps(NoVJFjeE-PDI`%Z&YQn>_F8enVns$6Dt6^e^BkS5Gb7 zlE31PenW?|RrejQ%X`~h;>!r1e{NN+!;AxQRa1OU&B;dTi8EG}PZ-(puJZOH_Zu@U zAARJ>D9d@J->}(pO8dJknU>6@;+m?7fpDl}XK7j8%@lv@JHOU@_+HUE#!93~*ee0V z-w|8HmLsA^#N_}|ilI(Q{{y}WpQ=Z`Cj*@MxD7cKzduv3+~9@v1j__kmEj|4K|Bdp z;~>;>$Sw9CE}$B=e3eiLugo&*?tk`ri*@4p zWA;sb;aMg^Q2v>7x82nd;cOSuOz_)u#Kbik{C)J;PPHtHyj zQ56Wt(8tj*L`AM+#45t;0%_RDZ7^j*gV=-=FUK$4h2laN#s0W!z~<-q>KHA#q5`Wx58Ws(O8$Bl&eY{(ZB+-iB|axx!@e z-{_mM=PJtS%PAlQrw3htctelt(5^)mUg-R*AwSvC8xe*IcdD5e=FBd?Bxgyv9098T z#c;$O4oA8hcd4m2kJ@-ksf~AtB`vO2vYg7ChF9{ARMx&y3RZ?NntG3*xz|?~42K(n z<>98F8rB8F=+ixJ+aC-U7>&c#;cV#8isJ+J7nFVT4UR_GX zv@5hIzu0!m8*@{IEu5k-8(pecDgP*5rJH!#Mq8~5_v8;1TSwpY#Do#U_s<@(ygrgv zKfB++#id0x7fw}|k4Ve<`F2{Z;r8S=zS!+|uYId=R8u7KKz(U#yyE6F7tQZSJJ8no zg}6z1hhuCmSN*xBNv3m6o1{%yikE7K?l4eT9BN3Lgw_N448K+@iRv?xnb8U0S3FLq z?U2WqcTka>&d{Sa11mFZG2CY81h1}N2$=V03I+)@?g#eRopE3YxR5zk#$rq+cPBM` zzqbzFHg~yQag7m}F#8U!e;iNeGdPgxwJimUoQ%nAkFH+Sx@N^a5S|{kAilWntc6WK zo>OMEntV2!PiMBUd%tF{e0<~j3(iXX>$Ak!(_@jwJBwpW+W&Hn7~8!r9xQjDlP4|x z!fBX`ZSWC>NRM!DBTr4&e-Cnz?g)%;Pou^q{w;I@R+PKI&F=!;^ET;`lg(qK z4Ejx)eew$_gM5h%pmLcYU4!ww;CM!T1)Hrrxg)9B1?_$KtT-W2AzhQG0AC}nq5Cs> zAxCxTz86JYgZw=TE8nL+P2Zim0vbWVRnRDGL*i8y*Tx!?cokRhsBndxE&Us~?}!SA z(k7KjO}Gi2P5`O(?YJ=7qWlH-QVoV*)EES?mORSDeNQkkk$7TXA|a~#=#TrJNF-3J zz%{n92gJG3?Ys+dj%wD~bMoUlyEl`}&v$$91O2Y1<1d`w>vWdy1ta~V(GClX0_Jyn z@B{tMO>X-4kWa!p!p3rFc*;gzO6QI7+8t_p4P6K5OVo0qUap9y9nNgw{OhluKmYn| z3r5YIH*(}WTowID|Bab9a@5?pqejldiN+bt=Iciw51Gr)ruT(gv`n3dA`;rZc``YP zOC$8sUCP^d?=ZaABfS4UW$HvB-lb{W7w>jh_&k+OEJnSg*j_9O#Rd9bz|bB3NXz~e z7npit=y)zMpI_loPy%wC6@$1eBwp>%eU=2|p!y)_ns`nTxkFs((T}xJ3u6|1H=W76 zy3Oxft8Tw9P^UOY=2=;jwb^#It<4722dmb{j{GfsifY`i@EOo*-0z>{dYa)_c}$Hp z$H2^9SYReK*%tB^`c}}72-l^q92ImBs^BXm0U+f*RrIHL&Q|+|BXG*087tE8A~G?& ze$K0Z+8vNyymkjig>4v}t4_2LmTxduA7ua+ejm~pnJ@|80EvvoEozP zW0n;C0!I1pkJ@VJR~-s#bIeEMPmU59Ug4q_R5Q0I=5%wJn4@bDt97HrVY)`!Oxp#vRr+>YyL)Md zEf!%(*<@i)K>^E_f>~LYW=GuFS^n%uZC&<|qDW(81t2MaU)6`G@P^`tV6j`mNFiC` zYP>ZrdLi0gt0^)UWDCKqLc|^^kEjtj5-|!Yr~;q}@7QLPGq<6Un)10Y;Tk{=2c=eO zNW`MQ3rvmjbAC3 z99v#8C;pJQzkTHj)^c9&S5KAzvQ{`~V2pKW>XtGq0>_P&lw{Y74rOSk_BuTQO~ zoNyAIj{JC)5Eq_PHx-HyCv!B$8Y`z(ov)iy+9tN^mpR%q+9GRWY0WjQHElIg^(>@& z+iRt28>HB30ZQGJlUwC-W;^@gA>=!2oWq?{oXedGe(qOqcQV0gcP?_aJJ&g{bLyPV zx^_K8`ARmJe3?Gc_e{TdytX#FBV-qBiX#Bn3@TgJ)baC(z#g)m71rg|Q zE+Gf}81!6&Pza2&BBl1a7-fl^IO&vhVN&&7hpKkw5>i8c;jcpy??<>65=Q@`gX z&Dt0%sgB`FxuZTl@cfG>J}}`(;$IzXp4@UWl=vj^ z?@Z4#zS4@KqD8~c88-Bly<5T4Ja0{LPWh{myy;DiZ_i(T>4+L-I`72RY>Cdn>*O)M zmktY`q;{r8=AnlXN!satIISPz?;V|d?A; z&@0Q5PxY~kKK-N_z6|t}W~4cpM>f3DU~WRUhS{QQearii_dBoD3ffAq&S8<@O(V+S zX<6Q@(E?`A?f@2kD9~l8P@{LZMxRmu)e$T3$hejR@di*}N+4r~G_LNP`x2c8cX#-9 zA7sJ`n}>=72n~1iM!qf2^dEX>_l`H5nkID_m1#R z@k(Ke%9bN4^JNtV3bPiZ&Cgnuwlb?N+!itVe9W_m5W1dTaate{^k;az_H?JiOVOGK z(V9ngc-Yg31X*?+iYPrIHR?`uJeBRwa2_NiU%)O>+RajXl;u5AhMxI0vbq_MguqzlgX~fY0Fhs3 z0_I`5yg*)omh&MOOH9f~SF$8U^KH>kbXIgxRJK^s57`2tfEcg^eA$NpP_u!Kc)LzA zN!y8TxU%7!N|=H!_Kj3Fvsd}38>@>%E`$x@V3))qAu)8#+-jB}M~ha1lnIH8lRF-Z zyvRH+M#OQE7ZYE-$lm!`>W;1Q!&|qW7_X0?%HW~ll_I(Uu&`OeqP}$ z!l~pS6?F$f$Y38_7X|P(BoUyZ9s(*vwjKmsh9&NHxE+}XyG7smZ44PrmO1#YuYVqubdL%MssAJ|(T1!112H+3A$5$m=2 z{E&Y?&EGhXCYYfVew#XVN}4u$}!nQ~# zGAptuA_or6vMsW;+a#OK!u7%JR!7{H&eD6#E#Eh|Y)V}G!UR*~)l$J_uKR46-gF?R z&iMN!#~!%h2F?Z3*gS1bUTTZ9{pRhvwri9ybI)A9NqY{GSvQ}eMqwG~Hz^GFKGu%x zi{r62kebq7sYAZQM0>@AN0ZTKuh7Y3!;yqXLkKD&oPz7-e!1s1fn#u*Ey6WWDq`Kc zr1xE=p52?-dp0dzq*u1-^wpK>bf5MVMe{v-*If{-$@Dk48tUe(BOg`|W|iMyO@)Ok z)#(e^Qf>$3EV`xkY#e~WJ?(a8w@cmoB68{jjR2)BN!bxwb|`yR_M&XL>$zFIUe_Ui z(k0S#p-#U!GU(Jm3j;m7Dwz9}xzi(`dkXsa|Bm;vbCH9#$l$?|5pH8{{-o@=>qE&$ zw>5NbL3NGGywhZ!x1izzR4YD9%n~(4Q$ITNt(iQ5;cR=y^_DfMx)0@|2qsTS^X>BxY4t9e*y-q1r+{?@RgM#TWm5B$&J5EK6Z9?k`xn{?=I+@P9t0Z$+- z4i;q(O~YW67BVwufv-bEpLO~slrXdE`a4EDrXf2!#F-V$s&96+y4qYALWja-C>VB5 zcP?-)B@a26;mzce>A)z+)n+<(rQ3jr+aYPwLtzQ#2hj$SE7;7~(A*jUchwWg+R_K< zhUyj|R*|?yjm0*UeELAa`XZ<(G*yq770k-Fz5QhlyYGr!D?Y!Im3-p=?Q3?+udTjV ztZ3~p>FS-2CkeFR!H!1M7UZ#WDQ3ze{OMm>Or8mHNG)FUBTp{r+=yt$@wxm{=Tanw z5dE@nW>cmp;GJ5GkNty#MUl8t*pq5wn&gx64EbgmsU$Ey<;K}27)wy%BY9F9H(r6} zU-+VcXX_1;ya|wAqd6?(n){n-&4bNT%x$K{W+V7c1&N!GawPUlCTkfOY{){$mO9;# ze6E;21$ya0*!h}7LFiGLkJ?VXL>FJ(y;L_7MxLTi<<~(Fd83qpi_(XFDXiaF1 zx0?H$gjkc}P>(oMR1>-+Ks}oHQu*+aR3LfD5<*_@e(@6x$A|~m8A?nSsfOVa&Q{gr zmFo92FjA+IK>w_4f{k|fvC*7W6k@}$(dn|NXqT%2uql-8<-c^)!F|!Jmj_VQDpsZC z!ji$*P2=MuNH{rRy-TXDpgF|K0mwrx5$!{?Dmb$vU^Lh=p}= zp@Eg_>h)&`qnWB3sh^~qr(3MEm4j`3l%-ie-O{GlmDw8z{cAL>hawE{e@y}Z{8=I2&Dv2LS#0+tfo zQ@{YfW=$E$Dq5#4ixEX7A3ERpi>X}2OMc*zIDl1)sJKOjegldU#xBoSBRh~j_a@?r z*Pmh2SP|RA^v@*jD*xxc=!D!nbNYbb=CwY>qN9oY$JymWP&>Xc{%u5XO{pl)$^lPw^G4q3_>6 z&R1(VS`Kn2Bs;XXYZ=PE`2Hipk2t-6Cl=`o?Dz;eE~7SNVpBOf8vTBrpVUS_@((TR zr@f25A3H$F;oncmI@tM6?H#3IH}76%oi#WEzl81122)ju&r0kKlg)CI&<-C@$lB9j zXfm`L(6VZ@WM*dg&1S!UlhK4Ey~#<3B(cyrodCSDoI2BxZq91ONT_7vQ(%Qu4uu1L z$P3+o+^Wq;=9w%|~?6o_ZRv9bKLfYmt)79`P>FL04r;O4^v;af5Q@+2RA8 z&*g7?YH~$!QOr~@ykh24lONgm0W3~p87$29jdII9Eh82E(46+JR`h1EQg19$taY={cncgVN*_1L2FK1PJ4lpgG8p)THy6%NrKz%4!b3H zTbPB#{EUNszauX@uqzz0A>K^25%3-Y+%s}5)S{Hcu5foMiI;>dK}M0{!*-@oq_X=^R&2PU1@PPB2UW~7b#zVJcH=MAy82nq!ujUhH^ zk!ZxPxJA%Ld_Sa(=m%?hj}f^St&MmD>?p|^4~DZx!pOHvLL@>Ln%WcEbyAm+HtG>K zuNE*hiwRj-G_qDLxH&OPCtzn(3y-Nwa$Ohd7a8V;+x2VQx@rnT+DOqcx(Af8Ig&9e z7`)UUz+n?ev)L}SSltkh3RtYU{@|P=nZx?Vp|>oy9XBkzb3pCjjJFTH5nXX^eAS3F zS9eG4s>`1%8B@UCd8Xm~{?h7`tIL)}F4;I_$e^9)NmrfRc;DCKiwD_rCxlW>wzLyh zp}+Qh*zXcBN?sJBNwgV4h9bi#X_Vm-Jy;)I%e}_h%u(V>QEDSRd}vQ=2`kCS@Q^xJ zCd|3$0|SN6mX@~3YH?ewmg&}oRenS380=Y$=5 z7(8Ohnw|sO%3;;fhSARX7m%;t%}?Spwf72-!7rt5xa8Yl0p3NFw2zOcG3^}|#-w&C zYJ_$x%7k3^B({LmSbeNvYu31F$ZA3XKH2FjTt z(@|gMTx29TrfftKYo`vohS7mcPJ4HtPTnVZqD1Vksrc#PdulmW={X4Y6|7hhN}PC( zDX}jOG|Vql=9rwTHl1jfFMaVS;xM`M0o-SqK|q68I&$)P!pVJ#*<%Lp4dmWFQY)}j z+-_I8q?e=e6nU;J%j+P7=7#S2B~ILr&ZW!IRq2N4Rtn3V`u1FwO$%%Z!ocioTW%;< z%+0k09t)$F)$Z6!y?bEbEXTj66Of7wvZe`Ajz4>FdIPN;e^5O{DA4A-5`8A5^eZ)oT$C&kW4~84=)u`h=Ndo0xq0}(D%E6(R~3#ftg9L==j|%7tHvF!WY+_CPADIq zqR_-@{Kozn3WMBeberWQg$FOv;;|$ro}+P4jwdF#Zu^Tr;g<%+Afamxa!Vp|h|L3? z1F$T~XA*=d=TNvF4+bHZOFHjYUrrc5>D+m9epi?4Zz-?3WWvV#mMvY(21BDaFE`X$ zH|gzhro5a5!`;Cb*DSbtVC~d7M%}~D-Zr>q(2QYK4bz!1@#;-~6vydM$zD2byK!HAU6n3S=qVlKvfHYI&lo+Xj8T#0cdlqv7ZwDTxB3VAJ4{NTe9-hk z!!98MjkESTZfiD+8#TKmf)Y>^JZ`5(t55zv*Iwp!>2~eC;7=zj zA_>!{l_k&n=FSU~TxeUh_i%=J_`gzfJt)-c;qBFVi@MKxt_94;yaVs|pnICg{bMqBZ_j*wE9Ax|#hpWx@aBsGEgnerZ&Wq|nZVYuVcvHH=u0HKR-$ zc9x?Puz`x^{DeR(NQVSH4Sq^+OoetzTuXl=_|Q3+`cSJ=?D?_NoEk#~KfaB3nVN8F zn95C}VEV;#V<>Kf@^-Dntu7cjQ>*5URYNOo0=yz1cGS$_!Ypx-*e=R|RiehC0(y#9 zhl@m1s;CQxBf+TmhylfQ^hb7`&XvS@{tw(uIJImzANncBfs}bfP4oNv` zuV`f8*8$9D2nCF<*eoG#*=38{opFFz}HlRgyEn+>HC?+HE> z-kn>-@?W2`OD!|yT{VBx?r@mh8&0$Y*{$KkoSfU|NF$#NT)XkIYcIS1RVIX8FJ{%< zyW_gaIaRNF>A~SQsYA}nwieC#`=yDKiNCUESp2O|Ovb&6 zZu^$|I!nYg*%L$eKA-ImRA;0+RlbfeEoHBSPeCRjE?EDS}iR!D*=0Bz$JHS5xzTZj=qJPiZp zAn8?%S56GYVyz1=bxn26b!~MLs|a&GOcK%6AsLtC=+xSOX+%U^81bl3E5eTh=H?l3 zH`z^GA&pq8=3=l)8nLFSrkT(-kghCgE?HfIZ6&}(DHoar`84DHmft%`z!%j2)) zomZ-144FpbIvN~J4zxcvz?l;Tv=fyp)P8%)n8^CRoVZprvMlWI(#JtJALs>%{!a*O z(U=&wjSXX29gD>+xJBXrFYN>-o~Kx(Yfy=igp55ziw_TEFZpk8L2wDp6x{S6RUuuo z<@ypx39Mu5;3~4+ibeh>{}idy4p-B4is^So%!wfC4=98mQ;Y}9d@OU^tk9_YXjI`X zvshNu0lP-^c1T3w3$z>pP9}T}6g4i{KxmWa$1wf&Zw?h$r({zZ2b`zJ0`3eP96xd9^- zsaaxFDlcSWREXN6;b?2LExILodlb4KItY8f1#yM$N4gUBjIb{`hKezY)i8^Jej{d&g=4L; zw%C@~n=w6*S!k1JE@>@kE0Jg_iFmc41|BjLZ={Bx`%L-K+a z)AI)Mg6rW08!U!2)UeY~AF=nTk5EF+=1?7|k2qxT>6@Wnj$}nzS_);5T36lS6$g4i z1%@v@dPx?tQ4R&PB~DUmNg*9kE_tvd@ibo8pSDlRO@cZu!RmYQQN9DP27is``wg-= z9zqP`c>`gq^yfe4!G`o!1YfQWp(^fN@aV`&R5t}366+yuAc{^gTdYQuKU>r(qI@Z) zrwy1M0wzwffM?*e z3gWn8q!WoX4R=t$?*Ly$d@T4GR#5wQorC|3CyJkezo1$@{vBOE_<1x|1ywRV;G@Q( zpy*RRj+Lep+SC|ojZrBsjliN_4-#)laVyzMwK77PqRc_lrO0rzI++-@(LeIB8U$Hq zD;BSaRbas?NZmZ(35tZ30|Z=BCS42n(0JSPUJ>h2l}0}P#yuU%VF|2?iti_IAmJ+U zTy$^ns|2HS@@J}adHx^v-UCX?@_ZkDpSMh(o!+<1Y?&>?)?s&9+77+5ORoz{@3JTz z2`u2Q4JkobOEi{fY(ER4VieF=@R!)4Attd9V@o25F~%gyzI@mHyffQaO!A%cedqko z`72u)-g(OX+|OOFOF*Uz^t6A)tPf+<8ei#*e0c(}V%p6=K7ZwX7+n%|0i&y+HRYpsVsv^`dQ21;Yu30|WkqS$0X`Ov zlTIHMtHhDw3~?j+-UTsfN{T4GVFnZsL^}!y6dkp;>W&%Y1L)x4RfSzZA-We5wt{wr znw5C+3rnkWs`s5{W$hvLjnf1>2bwkwC_-CN1!KgR<6I8@jupKPW3~V%A49sR3DQZ~)-3*abykk<4NoldCr_f>piKs58p4(SrHtDBLd@%m>hgWHdg<` z{fC$Tuz;;Dng+V=Z1>U`HW8>MsSUB)FS>{f-n~>Sa0xhFqJ9DS! z^B`9cS5J0!p{HbAGlFzeZOmfjQz2&Nn4Kco!IlE_u8X zu#sZJEU4i^hWw}&_CT);Y^Wg4 zPK*0d#v3m=dK=)_fHB7NF0dlR!#oOtk<+U$nDA;dBEHDS34|9!C$ag$hw^*;nQ!v< zzU>dxqe7@e^|_5O8*{TvJhMn$-QtCJFoJhbqv1h*IxS zVU~Tdez|?6{|e_0x2>#*3a{u>NvT#z@G>Ew=`-+yj7Jog{W2- znh%E75xD#|p>l@uB%F;eNOrQ$=rxLVTgH)0IGJrmR&iMHDrm{44hqdQrr@X6F3}L9 z7%}b`62o&^Q4O^wQ;T6fifFiBjCh)jQCLj?PaDE+8Yx3c90{mIFY%IHaYWr?iOWu~ z>2X&0(Ss*myj|YCSAFP)>ax*7PZ?a=y_2*3pl>=#9nHT;&(< zF?L_;!9Tl3*K!D5IRD#S5{DdKVzbLjMjR=kFZd(cm+*X;oyBl$@Q;-p8g%w}S<c=DLQa+&|=XC0_@QB z2&Rxz6L&HB>-M25Pp*0G`CG*x488Z&LiQ^;`~1@q30OTLA zR?a5+k^qEZwAd_dRv~nR<%IU*f+EMq0@kavoV1+$t86hlSfHh>te9svHOE40(Dv~f zWV(ldy$Rq2us~}#B0ON~M8LF`3(;Q~K~b&D z7XO@iP(8hK$B)zdWNoT!T-3CC?o-m`tMkPNZu>FIYu)vy6~@CYQ~!ANRq9K(me0%b z8rRNQ^3$0qVHC<-&w2Q z9UURnMNKvO>OY_P+r{-KyfpvYeX_qt-3ctf>!8=(#BOH*pQ9SqOTh~LmHG|Qt>A1k zn4>{MR^(M=ai$1I^YeIprP2 zc{w@Jt+S^cz2fqlic9i>dD)w0jDC6h`nCa0Tk1AfC+2#^-G;Py`*xFa&6Rb#`X=Tn zt+hX%Ge-Tad9V8SDHFzyOC)|gtNznN*D=$)iE}2XSKe{BX5^%A=9X_)pQ*TM=nrlh zGHNEg%>NHLPpJ}8{=Gb3@Pi3pj791%!M&1FRgiwFf;4q2gG8lRM;W9)*I(ry;-3y) zcfu?aq%0c?+dv>=BRjtoXWeEC&JVIcj}k~UVW9*v;64oCFTVgE&eEk0vb$}K!@jQf zQb-g;_EHPUvwrauf>5`@NcPLcn-ifa`l#7f>?)kxSN%mtl_a}oPK9`#vJv2oP49e*S)$NC^4O`w{L350Eie6-h@U1P zrGk+pFc@9KaqWJk-1&!(J0|X*I(1{;EhpH56VK=FsBgS==&2JMM-3k_r2TKozs^5B zV8plqQUVqW^49W~as&LRS+Hl2`@!9F7j|!?uqWYEP`z5@tMQHX&Gs$vZuJ>P&^1H_ z;AwOX1*(ozR$6lN+oHnIBNizXNKYUFDpuy^=0r<&Z$Uh!GTj-Kqq5;DK^Q$~_X_70 zr|3LB%KkOKlRB;>%BWH_-dV%1ruGVMf$;lDL7Fak0TCH&QoT^0pr&Z(J03|%VWGk3 z1>zNfX(Ij*l*CDx#~a?!fry;Gw0(>kLEv`!i~)#Wy<#rjgs9`MkyzLT-O;)P#geecJ;=Z2qg zU1Ee{bz4V8XG+tov;4Yn6f0|>PgzD&W~Ry1Vzz*H$)ZC=tLOoqQei>ONXzD~#Bl_| zPZ3Yh$peTC_!>rC=*UX6_Smxz>%3;oqNDZgYR(aSR1gkwx)E`O%W2oDBI~A3`#H(mOsvO9c@u1% zW$@c=A={MPCAnMEw%T?x0Gl9WjIi z=L5EAw=)G0)_@y~O2agR2gm7BBE@mwQ<)u2aLD?RT1aZvugou*yYSvYgNCz%EH>lL zetj&lyXGvrXYhc;O$S#jUdx4J>b^0!oXg6NtYCxK1Nnhh3P;SVn{ax`o&!xZOY#eT z3w;w5_9e>Daw!L4_r;V-&v4HyHr2jEG5G_5mZ0Dc0_MeRZZR35P>h1nv^2<&GS{0a_Rp z+ICdo&^J_U3{p@HTrcHjQ(GPPvE}Nx`j=0hc|&Ko!`lA<@tW@h6@0U8!1gIu#}3WxJ{mc&{? z^-Gk$#Q1CPp!~)60}aXFknIk;J&w>6-7NpB{_XV7*{{yD-^kpj-%^8T*yZA%+8-3B zwu|kGxTO6SOlu!-*Op)<3W5DQU2%C_{XN5jlY=vIS6LV4Zp<}?BRYLcrqPgJ&>|GN zJuQg6WEIt94JFo?Hw;o0NPP*xQ#KUEiu$ibRqlR-U?>1nR5+$^R^iq{xsdkVgM9}q zl`Y0>v8>qIn6%u%9NdJk<8N#QSw@#FqRVVE0`){gT!XSD*?^P6%{wY~;qjPtA0fQ? zUj<|kVCWK)QC>;k**O30_4A&cx8R{fV!Tc{eByeYVL)MQZNCqn{V;LkpxWhu8&0sN zH~p}>s!~yxvo@uyr1+dpeW*5u4ad0EBcek%qy$v_@(tj}s1(lpfV5m+KvW-4td zE-4Nsq!lHbOT>~A*T6l(Gb19qT|XIKGNi;P=>oQVYZVX(ab{|2=nh706cl6Y@ zywL%=12|lCso=EaqlJmSq^=;eGxOpTE#}g3exNg1+Z2UrMyuG$|q|N6U*{^JLz#p+({mj*h-|HJvHS2r1(a4gi(mP|P zh_^0L7j4@zZ}h17!>X$H*KIsCf95^297AtxnDfTvRdt2AeSB_bky9Ms{MmA zUWf=FKKu=0pn2&0iU~R1oFcKmI7VFQ*y_-Gvod{|K3}sx;P(3i1a=TM5w@G(2C!Vb zdmOe7s?5@Z>A`4?5x3CLC`|W}{u%y_e#KAC&|yDlz7A$(`7;9tLXzKbK#xcr6}^)s zgTto9J2kv_(!~^GNx?VjH3nNQTwS9k5U(86Yjd|eB7vv`!lZn&W7)!=w=F6RUw`$G zx`|mi6|F7mKkq-y%GJsF^2&VGvVaX~dwg7JnOL^(<59yZ?spfI-?+GZQYdO~&meqw zwIMpRh;wRD?r0&^6|q0jileUQYOEozg9isl6A^_QWhGe$gcT%wnRCkL$UN;y*eBY@ zMCL@+M6Qsxny-xLfoH0PCkoS|zW!;Iz8z*I_h3$r4+S4t2Ys^Lw8JE#p5tJeYX=Nx z#3vr8aD}?HLGB0T!#;D*X;{(PhR}R>lJcw`f!JZ zJAgYdtrL1eb`rf-%=kPBaM!t zLuFF>%b(W`c_&)M3YgX?`!XBge-p@)~e2aC~P-D!(AgH3&gSXGF6VG{qR9 z8WJrMpy^4Z)HVHA<#Zt;kP>43bDG@#>nawwW?yaH#J9Onx4*|K+W#CH;3=M!Us#tn z_RwVC7;B$2bG|KSRA|}_6VitlNo`lB#M`dP^vO_u`H?+b)RlsjpVuE%|21XC#^}Uq z2`%$}-v~C56|Q2ghua_LVlPr|%dnBJaz47m5b**#Tc*z&rX|k85@%)j1L^63Kyxqz zV=R;v40T;^Z?Lze?#Gw9Fj2?~YC=P!!K&cM;EdqLpb{kWJb0`?AMqc2Bjaqw7a39` zDw#5ZSs^K?t$hc`23^V>At{*#KDZnV=Y?GNwK1;xdNJ%haad! z41LO2PylE;YbcRPmA446#7-rHMh041wBvJ|hwPx#F(+r7tYiSXl2Xbc%FRB`9bYpZgbz5}%z&P|e`rmbEJ!Y03f=O-1?3e}p zpYj1C-UonG=q%}eU~y8JCWOgznrvZgJ=L8z3DGH>P%&4{W;0$Fe0aaWvK^g&Q(|K`h z#Kl2?Hr`{|`h#zT&W64SNr;z+Lf+s3pQNcJ4ajy~&v4>7c$B3bm%*hp5JNIMse9yc zn(q0_RV=5gu78WokUol@|7ZalrL!kg0M*iiAx^I71cVff( zV{Gtz=?e9YgX%rZq&gO;pWUuL%%-Uiuy1}P9%Z+E^Nze*y}A9?R+-m+y!!CpgBH5DMoCWVb+z)Jt)aMaZs!-T7 zL)oaDQVa?Km)Y=JQK2TnGIzaOcGn3_Ai)mf^eYx6&1rF`g-v5E_gS`vUsJwPgrb1RNq~EKsJh=h|&jTou#$D8rV!c zCyL|&wroSFXJ6#oHFPFFP-uA34gPxO~0|iRyx3ceS}Ci{e_n z>XsL8U2tTyH||>c>$^r53>Y{uH@kmi?7;@{!S<>2Az9-$E>BF$NDn^P`Xe}GE0&qW zAGXgkF1R9ldiMWpe=wMtF=Jrs{vzz~xeFi5AHw$UD||oU(_5IX$Xk@-%q{9C?l3et zwq!QNjd`?`6Hu^ZAUcH7692(Qir481nsS@+aP5Q-7RWn{+zm)WYo2?%fIcQryZL9A zt}NZ*m;Jf9{!&3UW^9jD5sPxH%7{Ac7%G%`r8aJ%PA?#d@JHyqknDAxj(O)z1czI5 zrjiimIY@CLsF_St!; znSRUr=ifOb^=XVoD@4<-UyL7-=%4wEes$%A@%;@eSKN8io~iRk4*Er;vhC2pcd~4T z{BUF`-A7ve4S4ykO3W)XERj|iHtErXwab9yM_1B9fz4-YQ6wTWvmNG6y&1Rx`dvsi zn|dG&5WAs#%(PZ))b9|9O8~Zq42%Kl0Vb*Iyosol3n`E!KwHWTqKYcSuHy3Xmze#$ zW%uuhDy>Rw1(*D-P%nJF13Y^E$zsj1E+n|vqA z>V>>mk%pUV1gHJw|X|e%VMRd7>FWLx@>XOrht-|e<@0c!2S}fr2 zp>C|y#5IV3?j}jk#c1wfgLE!VFE$6a0HO23!hMNBW^2e=Xq#=R53RK{qAF;+<%)nw z)bfDMc!|}yGc%M)nZIV39~I%D;q_sH)d**X6psBwv=AOowkdZyo&%-)NaG|GkEV1wlns0Xt%{0&?xs}~a8vP;qOyi!Up%z#wZ~=^%pN#9nwv_8@gXdJLcU~+LUl}vxlLxq~v+QqnUnl$aF-MLl%wrx=9`oo{cL+Vly&3Fv zP}mCwF@Flkad%{*4=QX}1GayZ@Ju z>;G#$u3l#>~R4iDhQ8vQ6~KEbIbB9V&9I)kfnbJ-ea0NnJcUE3fjluKh0e z&Wt)`-Zln$-p*SF*C}WNdir;;v|}j)TcgBHIR%6t!>3HwiBxivn1n2*&xfu;Q4Ubl#E%r1-uz?!(EqpBA@7%kOUs z*XFT5sLP}CGuO;4$q|q@lCh#4-E3pz@db5`7yyPa5d%jU8g9_LPZ{0M;G}E-j zw9j)3B*M{ zJB#bS{#QM&M)eJ`4=YQ3No}nHJDDO8d~P=3^~5zWn|PrFB3{BS)QLm>K*s}6^Z#zj zg2`?Qn<`90O_Mq%ZZer1HblE{cGDrYXSeUQ`Qm5;PNi=diB3z$J1aHY)TY#k6d((Oi)Ohtb^WytbQ$) zQJcenWuZTaXodekplh^(++tV;$)jkcY({WisB%l7&% zwvnVr9(S{1xGVF>Ny_aJ*2x6}q4!v>{$L>B%|`KeGQQ7&oV&zwVsKYsK4JgKqVAH2 zN=f~t0{p3vGPx7-kV~x>BFf2NG80Zi6N`+&=WH>vp|Aeez}g^DjrGd{#SPz&(quSC>1==P|=IH-0pJ z@)YSOXVil`_w0)oAYC@Ce&So(e`N7Gm)}-d*?0WVGkMkHhmZal_b)H}&frCdg#+_{ zJh7*U<(W#o;ey=4T5oNjte~t>R9gKm0 z#B$K@f?I*YI|Mu7GIcp0+G_GUvZhl!P%NXBvvv>yAgQITD`g+6su9V7YK+6LLaZSy z=!d;>Z2#};CQg0%$!k8DICn~fco<6PqOZ~Op@cF&uWnKGu!Twc?m~xQmSRd)0 zSATQWWvkWS+yn~P)$3UB#pl$+SMR?K`AAE}%)af#aJ%l^{n_j(jp_%Gqz7O{9K)Hh z1I_e-V~avp>P2+5ok^_3ts}|1;ArOShUup08g+7DyWN+r!8&YuH=0PUc5 zvNfErH2`<&9Lfmiw0AorQ)hF0zf4M?bVm}L2f>~}m?>JIm>UyZr*v`2kf$PuAKsk? zFqLxhNYU>EQ-bK0QpFPpMY=l5_2Tlp)7Pr6wLjf1uG`vlT~qyw8`6X8hTtYpWx**9}_y=Lzwp;pwk0nYuUQ zy5?EWPH=}yqInA|9{*4}Q+lZJcJ*)b7cTkRpI3Zw-Hy*jj+x^`&C{K-SuqYy6t*p| z8dI(|@40qhpV4m&UD6VbX0pEI&7h<~o`J03;RnZs3UtQ7TErxOgFXjab(6?4 z`xIwn6c@MX4Q{>OkhhzcLkxw00q#fd-EFJ1+eDkKvbJ)5rP#N|Ff^*K)Q`|l*KYts zci+ms{q@KDI{UPN`QYKqlbK>>raq(1U@LB;>WEZ^p-1pSs|Agn>w4^BoVW}til{X& zgP=?v7+|r4JYFhkH8wqdl*?9*pYX$tYM6=au3hWVs0b4h$TW#9k_^N@Y85$^$i^~tFl2W!eImuwUplU1Z8B%} z?4otZa?z&Ef%?!47;OK^S-{ewo%QAOHFz7G`cdjv@&ovmauF{i=Ej{Poim(L@7ah} zWFvGYuc^kg43;BG>?kMEs^uhFwVXstDko879$+3}o(=zDn_1VHm&m~+%%wn463rgh zZe%9VS*Q!^Bpp-iZ6+Hs6K#k=@~lKD$L>bGC5M^#@ADE)!zK>O^W*Lceb6${z^1}X-qN;dh^~m@v)71E4|Ek=r%nBFjY+@Z`J-4uxrzKi> zTB3zA5{A}f-l3%<@6Z*Am@*D#G#IZ^q#erR%FmQ<(PrI7097afaSowB3IJ*eh=z6C@}-MR%Rr=fSGuMkIx-Jh_JMRU>KVZw$@MYL(s!gE zpu#$1h02*XAMDF)uHx>@AD$I_I&s+K06l=-Yv(rXhSJQ9Ip*5^-`TWrpWqnFcCq`z4 zBGal%YV0=CO%}Uga7$utzEEu( z1&csv(J~X2Yy>(Sma+{nM{J0`0_Vcc6BPT|!|X5Y0tz$Cjb?@wBs5{Z=OrM|5LOnW`s9;?=9tw)MG5lWHX+W~_h!b5)ngz)%0n%hW zOaZNVDVEG+kjmnb-mZxZt^BO3W+E{6Ygca~F!!d3yN0-noI@XeaC+{S5D{mV&dG0dMVO_ZYf-0ZFsfeIDbd_T9SO$hh>6aN4z0{f>P6u39 zI6GVu9vhw!-W=A4!%kFSpie0qffvTJ87NWzwex(aWy)ELHPL^^Te19hP{&yk%-kMs}K zZW`hkVTzjcnI`W**MKYfyZZZ(FMN4!TcY*pe#54u56c(t79IBTFW(eSI7lW$od2Vlg1Ug=%;@#NLe?sdh{iy# z_)xS^iH7WH%2JRS7*b>gQd^yYJ#08>K-HXL(%X2YM~Zu^bABBbF&f-RRNz|ijt=y3 zz|$%x5#jzP75<$)v7!B~4Ri=rip48Wuy0ksMX7z+&tWTd??~#LuO3;PMS7a7h{=NB z^FNy`KztYqs*)2m^g2<308x$`B(T}jk&kl-_~f=})4F(0sR>0enX~P0aXa|Fq#cYr z!LQM0axd?zn!J&Y<3~bhOK)53gB?KD(iA^V{aLXm$Z1V>RsfndVLA zo#sR47tG%R)MWUG;r-2KXD&L(M%0d&KSCUg9;x9OLMYRMfIxn~BN3h7>)+s){PrOw zM*y-K&~1f@ueFag#1S{APdIM1kVf>5fl!eu1oifYbs#X&HZTn`2)J$S3-uLs?I%lK zT`5jK-ZKLArPsnK9ld1?m>*h+3$N_1(k*MOpY-ePAAVmNqQE%iNE>qR;y?&k23|(_kty(V1Ui~`kcS=VkPXnC`?KGj#kUXbs9hDo- z)~!HVYNu|$4hV-7@6(aSpqfJ+`YEExM$@HiJ?t%>#W;>z*@o0q+kcUo!p04c z7D`J(C4sql5{esvJ+e?FR7gTW!*$p|sT>r{Xu1UP;j7NUNx94+W#G+kylAY^VBGdR?HXKcc50ub8XpdL1E_n$dT^krchgb#RFt)JTz5 zAR7e|M#@G}Y9`whH;pyTHmxviHSIUygj#LZaA!v9k~@m@j4idJ|1a}WT8+0WuDtTi zWwfd6L2N30O6{ujGR;x_iqFv|yq9R`nv-hPa#E05D!MUSEdS-~vrYZG%pAEmu2Nw; zQf{gioCOkPrY>Fpo}W5S`6*DJrIr942s}C0nV-@!uKzAU)r*+Z1qe}Be)P@3ZmaUa z^_}vblzCBDo|JjYO|3sJWWkM$!i`Mks9LnP3oS=g=^f#n?%j~gQSoy2bj()RZL{SF ze!E|!#8ew4rrH8FLmPEgaMPBoJ1sE<&;%&WF6|VMYAw|gW62;^b+VU&bIn3WLcpcp z`qHCImOnV>=_Tv>R1J7(aow0ZHmXC72x9FmTJnl# zq$(pLBGV#EBO4;Rh%I7A5h*@V@y`Cp!;!y4E<_BGJiRhyBZYtXr(YGNz z2Mo;dxVJ7h{kkVVOC*jVO=3nr4y2OjUA{e)YE@az=W4|!%|5Z|-p~59zZelq#T&03xVf^j&TlQ5b!x%u z{}5llTm93b#mh@FUe2BT^QZP21LoH6huof0+t0Gge}g^j2UN>>=(?xO(`|{>rhw9C z7MpBZ!IqeI1e=Nt$*fXR(vem2ID;Y4xW^W%5A6#{lw8{Fe5N$3v^14mqJuCU$3Thj ztsWNvEJipPfx8T&rPn1LTB z-w26EvPAfKB5k^Fv2Tl6(i7x^gcQ>k2}>}e+90#jV4|R$(^|(GpEzN;J`#NEs2|8F7jr@6<*qr#2hB2V0~zA~vKFPpQ09hu_Te z{aWG)_9~@mDD8wuLM)kj(n6iIl2|{ao;vJJvLvMMpIG*?n)n<0WcAvWjl=Jp!=6=7 z&-%yM(S6Em9j=@O!`Ml62zx8iJa@w#)%pJRbL=XU&)+mMtHc%YPzH*}p*i9=;?TfK zzv1tKV0jV%x5WiUqNb-#)M|ANaL3$WP=7OV6$__lIKr`vNTj$=JTkrVdudxU)`7Oz z5(wmY%gHt@FLzK!d|{5eurNm>G6oq}uk^)*ISy~m(_l?!RXzBNiD2Dvys9UEar|&e z$csY(6r@xRi?^YrE@As8h#qUgi8Uo`Y~Ehwh?DP`rhy4?{T!oi0|>9eI%g+DZ>-R9n!p3D);g=GL zyYAlWjCl{=GAxdj;rv!SYdW2K(*2xvMrfn|MWrSW78*;%jy2sa<8wbadjB~wI&S@t*=$PFxSGw z((%q#yO(*r`P?WW&^j`-YV-AN)WF(SN#+B3SP$oFF|i8|^9{UbU zw)Q#ZK-Hk(qY40Z1#%2cJSM&W7w0)bpzHM&i?;pjDLn{jPW^K zs}A}1jPcM7JWIf}rc=|J$i@+VLmB9R3BN(-(6~QDEv|)Jj9v(#wr9MRY9I4}u_%d1 zi?Y$E;oOXnQY$)w6&bjTq8>cbb}=m03N?UXm@Ui^cL=7?vjzf}GI*XPICTP5H%Jm9 zbsvCm8j(7EhAo4w60bx%mI&ZF4UJJU*nk?~@V{s_D|%5%mux^B=V*+{d<#LHBwN}^ zaM8^Q5N-{%8tIn?6pj;S7=VM|f+0fOTc-#UUuPr!_qp3d@2j`ns*Q%{twvfgH7so`}G18c)e6>D@K9(ABxJU*-*#+Rzy5T{N1A1!Ll z*3ruSKpd#wFTM+(+zSSq{}ly5uS>wgr^zBm6ep3$_k#X zrPO5Bv$g2r5_!00I9_5h#kU%^5EMVBzcuMyFxP7IWAu~tEA=~&l+kE!^>Rgz?yZV= z1-iE?0RHiLBEytcZFl2S*(>Gcv6t-j?3V&EDzEi2(*dlX_bSo$(w}Y_&=+{aS~B&^ z$#6MiI2yfhivV_q8vH1U!$HA`5myV4X#M5fq=aFaZ1PK)MUp;JEpPimy+?iZDK-P8 zX4T9OAg^JAhWxnc(5-_84>-2=&@F$-ij0{&W-$UBqo-!*C4ociH|?ys9XXS$kx_;6Cz=yd-dlsSPf{GwPTwW9{r zgc_oqiGWAvwnlYP>oDDL>onbT>r&knIuqbzIeS|Guwz!8UJrCx>GueDiVz0ms7wZ6 zG@eTM>`pMj+fheo0mc`zeyS*vUXuPm>X%yx2mxsQT7=U;iS1M|${VfkfsLEI-5j|3 zk!o^jBQ7R=a96x7u11Q)c}K3jOML}ispR?KgD1pr`~B?u>Kd&1En>R#3D{VQz-4bS zOREe^9a{~TI~AbC0VW9Y7s>uTm?X(sFNbVrXGWw9_s76BGB#zgEW43q8G+Ue2#!zJ z=IwyHo|maZNaIu8A0wY;qRR+oWRjGO`g?cC`i6%mTaD>51yxECPh5sTEQB1}AF*^E))bFIDxC zn;&dhml*W%eb?W$s%d=v+DYT;4ee$Zs3-=Yt z*^{cSyyuEpBidqe)@-(@I5BomxYB9Lv=mHJcjfmDnnL#I(*A>|E)W=dPOOyHDZd2L zbX6h@!26Gw=;hQ1uyO2wGLb&9$mxiZ$Y4L9gMlgXY(L;NAWf{aoT2=x8Yzspc+0)F zy%}8Il5rh4I3HRUn}M^6E<*hXR7{iRzdbRzP%1J+En!F4S!3wys51N6Um zi_=%+HHl5q4og$|x{MupJEDM$biP!E7HqF1ICR+uZE_5idb_-P#3lJ z*Hzla=tkOf9Dkl-dfkASWNb%e9O^ogu_|X$MW@88_d3K+&mJO`ZPgQ~N%dQa}CG<9k1qo_}6#yJqhlxcMzVXA7@ux#Ok-j?H(x zbKDym)4um|7P#-{zunz*nfl(%D4fQsA;YaqQugpwo0}MH)PtMSH9I`Du+hCTytr_O z!5Fw4Wf)FD7u0!dVkz9r>?1aN41rD0mtMXwS;&=^7VI|ugw}yVb-tQ+sR6zA+zSm{ zA2hs5wZ5H^xm0embIKRpO7gC`Q)hhC_VNdFrce3nz7dG!7(GyBS=TQftp19!ahq_gies;>SQ8?N8qFsbhC%db5& z7c(Vps!_UsB4&{%{5Wx0u4}1C9J`!hH~eKJBIM>ar-$6>xjE^fOS9@GK#gh3FU_yb zug{mG-RX4+-K>LNHPNpUTL<))%S`C0LBD6_{ zu+ceG@32%23q|2liM(Vfiwj@5%t%TF_;Tm|>cGWJx?7Gcx%rVNbmDXn0g7cdvutH!e24Bn`A&mUa^NFV3$Z`cvmYeZqW@eHlS42sW5N5qIGsRghx7$Ye9R~L-NT~wlXcD!4WZ#%?D1@Grpd5EXBi`~^Y^K{+8+ep z6V%s}Y#&NsC8$e!2b?^LDz@)9Q+!6LHexrlsGZu_HI*$$sX?S3=#Ot-KsBBY|Mof7h5CEYVkHHnya}{}virxen zS-jYpS5Z?$yT#iYNC#-OMQ}@8^6a)m{ytnBmW8N9U z>V${S`y>)M=tOjdEF!bO|DbCir{n$24_o+7gPlyYSbQh#%zo5{HSzTr(%aoOKDi_v z`=45wyx!%YW6bPmFA|ZO!}yB?L)%IDYyJC}QCOIr$lx>5+fUnkS-v0oB%eFuv?*bA zRGT0&d}dUJs;zAJQN7@L)J^kvoc0u38as2Y^lcI=8h=gAnb^63xZ?(P?kq@tsBbE& z2{D&p1l&kpbxxtgbL0HV;X!X@AXZ?#-hFs})$pLZDo|8pNlk=JzGi=6z*91K)YS)y z03Hej`Hr=v1o2FMDk$ zB^L$jY9eoNAd zvYdW{eumCeo18mIy$iPB!h{QRhoEZ|*^#2tVIKn++^IwXq{Jt1?$_i36hq#_kJjOG z(p|hub{t_l7yonbH9+{+bxMCPQ~Zvj&~ui6&%e}>=s8)|cG1yb;wi-;{R7(4D~wB& zrtYD7HysDbZQQT0m+JxejNl^ON=_W_UM?hlAI)o+r)?bFN#wcpawkdu=tTwfaw!R- zsMAfA-vTx&>7MP05$=o^!_cLA`-^LR%;szIi9RMOq8dqxb#jsUI=(Pnh1ltv+v5FgU=S(Z|%{+%`EskrgQphDuGksk3H1 z#DvMK0#<7XT+Am0KJ`|Kd zx0TI%yH{N6y#UXmV;yL#_IV|)yJ%MXaFeGLS5iByd#_>L+YOk{<*#a(t|^%#6ELN{ zuwU|Pxi21SIl%4|hYqgaV7cs*=BxGnX0~mcp||T%Raen}R_QD6ywhXMt4VKt^+cMZ zIyLrzGoRhEPJX<{$d@!f@Fj@2GPr&&{PO$A~>ZJ-WKEeS_bzZv&S>=B900)1n-O{#@Fy$%*TC_Jl+E4+uH z=fL>F^&GKIXnL;aj7ZZ#uW>~ODQkeB@#_RRb#BUWu-#rZ=2H5u`(F9R#7z@id1U~# zOt*;+Ti;M+zn&{_S;b&m=~QFX?{*lJF^ZuNcCs4M_ZKdG#i&bmM2cSg02&U*ZEY^I z)9Yxc3qKOk6+eP| ztA}WwJCoFhIC6CI_;OSrJkojYx~v88`?M>T|E^aX;b)%bZn@z`cIULjz%`DSTvyiT zjSPiqa1hNcuC0^vhiC`UsMn3VqG6(pIGZBn=N1=!d(n{;#f_*GKEQQPhH!bp+trez zCL4>(1{6oS1oE*kAy_{))H=gf2iL5`Z8|4-qAqRDok^N=Ty0V)hK!1aS6_%}_B`x4 zC>$0iN{(K1sFKrm=z}|1-bbRdH)Xo)t+&|NqKm9KRM|eD?&6%L;MGNd%O{RgVzAdu zPl#YbP#B6PkcZ00YpAogiaLAgHS)8`*Hl+|EBR|QyiCGmO+IJ3@FFl-T?wn$6k_-z zglsxJ(p4IYIqwyw%vSP=W91u?PaN65u&m>Wx&!)i9Z#Gn9A*o&dJdbJp2Zob@g(JU z9Z&L#6F*7TeDtp>q6cC8d~9EIc~ae_oxtR2Cc;|aXml4lgtc`e>quZ{?dvxD+ zjCgW##Ipxh@$K#HIkWzQ=S=wzo-_MW&(UXgjA!a4o-?J(yyjfuIbC;RT5r!$cPXn= z&%sXoT6hvIeW{a`k#LFiNSR7PIE!yba@D|KNSw*Z)7H{uPk#Mok3AVTmi8o?TuKd* zAMZ(+pjE`{%ipVlpC=}y*-S=$p1}38i+AZ(2~-_Lrv0s3oPE47X3fUS=>6du zDOd3EYtNc4{17MEhJ0C*gV`K*GiU&`k@9*gK2q(8V`bFrbKOzg$8Oi&l|M~?IyExk zSNv&C^lR4#7|RZ5L;=8O#yivV?$AxaYw3Aj;a8~Nf+kWb3%Wc_cT1PCP2^7tChVYi zB;tXDodxXtkqxN!!iV-$<%^C{LPMmg!un{BrPuVFbKQUTTzOZQ=hpT9T-}0>@j_p` zAqc@^BCCZ{PgeyoD&^Bo7}^4Wx? ztO6n?3dvR1WKEAm#zXv_`*4|@enDfBFtRYtNCK_lPhI%y;|{wF8OFQeov0q_D1WD4 z@_#W_TCYhlU{W798bJn{e6qTWGgns;b2ZIH`rp*+9(>$tV`lAj7d}vT@p`K&VSMs+ zU>ML&#e0t%%{ovpRN^fu7ofbWe2%uv9ART(%&06jBfy3QSe1v>*w}I%o2^4Oe7Pjn zh-?)M0kd_xke8mh9o;zJ~!Z+#`D2K9k$z4m-fh5I!iocvPDg>mozf&~Oep zuXt(Pey+m){<(?@*yRFy%+=08WH zcQ09c{kwAyA5@j43)Sn6-bAw2RA@+4ZOmaCGuTQ8o8@4B9a|pBv$=N^$c4-)5MrsU(r6H84>uS-sU=*J_at>5N8$c)%*@4Njr;YP{U_7e z$V~P4suQbj%e;NF+;CXEp+zlcueXQ>jP1g`z*f^xrcH@MMWt-EjZLSj4K__-Rp1a4 zBjIqs=K+hg*0kY{1)8JLm;rsK%|?S8D`;~dVW(>@FYjYC0ffzBbz2YwwK!ZwF=xzP z+{e+!;b?Zo+)ih#AjV=&uh$tZiueNV@WDu|Tqr6&;07C&&F*qJW9*>NCnkBkPLuIK zn#1Wt|BO(2syd{fUXiUD2ekvMV}spwDK2N#EV(GU}Avmw+XGYNtJH%V=1- z_7UaH2m2N8{>$X{2UG)_)CniO;PoNtRasRJUUS!kzJZrr1SakLnZGhr@xx)H`Y)iW zf}?U&0w?_FwH~;0Om;D^lj)rd0>9F-)gsQ&BcQ=W&1HO=9$7qY`bQK8M{wj1ELxesB8J-G9HX@zKFGT@gF#?I_i7M`i-BWBcHtHoZCYec*NMoeg@3 z=%hvEgXM-hZ#^bKeP%xMsPDiuF>_%CM#p-mopkuWez27*Egl}oHyKQ#J7W{gb z-{=5)C{UUoo$KDJs8*d36BG<44=_ak-MXfLpeRJFm+ z5@|!f{oRI&Re0Z>w?*rkIjh;96NZzYIe&l zI5hDNu;ixki>F&>u3B)}lQm#)8-_>cDU^hN0WW0 zU9|gz{ivsC<1(CPcd$0W>9F-8zundgEI)*){9OwMyP*4mCD*G{>EJuu{q%oTT>gFT z#A}wXzLpI+1hK2?fMZxYe&8^>Z_?8T<%ZjSa9535&xI?A$k4CP@<8^MB_u_-AxVmI zS#jdYYcg5COtv(gjqGQh0 zE>|;Y9M32ZGkchahYj8P(pXwp@PX(w81(o^E*(xA@^()A?{Pysy&j0C%T1Sb#~pww zHt2>^_M~u@;y&QF042(Cbti9b$mvTBQ2HGT!C8YQi-uPnwDkC9JD276@P(0;MphY@ z+)gFYO@?zADGFX#&2#KYIgWReVlnM6>J^EWnX5F!@7S;@Eknl6aOCuqV?`XQ{*i4< z;(lA$O7)|Gt)c3aEW>8tvdo$iUj~BA5MO0Pd8iPKJFGbTG=uy`-z2JV_|bF zY^IqlHm)~{Khm-3Xr<)^jAFLJWPm9FwufC8U}*u?9$=pb*!=-^Q-IA4tPY3+0^<<- zWImG@oTx8(7);5v*cgxbZJAw%N+xD{9lL2xGw4uNn!FgWqgmK+?0Tlv=}2>+ftf3t zWp*~w&Z_M!3OU#b#q&1Rh3zwne=xFljqD*Ky9Gh*fZ+CdJa#9YCyUi+-ETc*70p(& z)n>=Za@cXQ(ri7q8oH&+PV=LMEn0_QD)B9L-|lst`wfY}cGGTa+fBhY{6s&~f9uw* z>wX_-zfK*)9DI}9?Fv*>=(``oM?O;jT-`Ebr3Q*Ju%f=DBCD+97`8vnw*HxI)^Jhm zZ0>IgCg2$29F79=vIFPP2Aj0gdc=LVjf%{$puR*K$X)9s!a^3rGdoDl|kBSp8AL`zxYE7H4J26U| zPm4AmJ{ceyB`0I=G8s zO~0`>y@MkZXX{XM$(_9Z6R(x9K3 ztrl4Auwm@Y0(0Xf0wH$j3}%boqKFI^kFHs7fhEPwVLcd>^akaSXhUfL;NkREyO3rD z<`Z{4px4N*MLkrfi4O$@wbj!Dq2KafV)v+&h4zm3fnn0TF%UE>FnvGvy!csB%J_(>=4$l6EH%PbVy5*4%tYM zeF<)WAhM|}GN>Sm3+gB$sEDBAsH3tr6p6C7Nd*5`rZ{50e zPn|loojP^SDH;5)3~)`t5>kJDfInI%EI5SG1v5U1i1mjKeafaH!jUZv;nYeLwl7!-W)bEbY7Wvvjjm59nND|-BloiQixLWE6JiOS z7_6bq9IWH%c7@VkM#iX*#91g{1|7MB%UDqBWaGde#5Hz1lL}yI5*SLsQ@n<_v)~^F*aueJYerOy zK>81E)8;&zAR<>JNAp>EYx(;^M5n+Wf+WlXqjF&858w zIll8Gnv9*cZ)7EN_dciMxPq+nEms7YB%kko&mv}Sf5{9!!3>J@Q8OrFHd8swh+S}{(_}=|@`6IaI=Y3VZ`{Xh*YG*Xi8=Z((8hC!NDs-w8jvv2BZklld#P}kP3z9wD32I zMHPlH#&Ke3b~w-$0&PHA0@+2*gLPwKWR(r^9V7<=gNSpHOcC;Qp=PhV`Sxz+n0PaZ ze&oTXZrU=k(q|&u=Ty8jwtp>(ty-t!@f;|=)B#BL8VoSJa)*Hfb;YGQn zLYY{ggwWDxig1{n1&Wx@fAaPE{_T6`n}3oum~%7Voa27p_w8fTv-nqKW*kU8*Zn*( z9-hm;;G6IJ()SigCPCzG5=YW}ANt;Vsio^*UHh%?ISNj;E&BUvR%Xf17Rnp}?S};= zRrN7sS`1kfLb`*ADHui*q)AN{%ZXY}+>}g*E>pO6HJ2D^j9%TQBrYYfDod0#=nCQ6 zBO_z=+k*7512RokV3ZD3Er@BaDlmaoL?R4i^h`7xq0}cb5s_G0K}0KC^~lq{FJJ!X z(I-jV=?gDj;g0s8D%S8Z{WtRP8PMgVZ~0E0`{eVNNx=snfBG(oeR!fb=}=Op@6(4T zvsPQ^Ymnc9QQX8WEGfdWl&2<~$BiL5L}v_vaXQpzu?Z4x3^j&^_Jv_N1c8}8TnCK` zorywLCR0NB5YiM3%V+Iqw`bY+!dbN00OQ2uArAkbjW(kj(FWjaD3#Ay!src~G1-2>W-Rncn2h=D#RBGHvXz%(;be@Ni$QXJH~+b8s=|O4 zsN{-EQWnZdiJa+5@p5?ocebwX!dd+V zTm-}k^je8*s_%ne$?d+Mgp0z^|0d04U)IXU^Nn&03_@-}Tz$z%2xPlq*NA_DS$SCy znHV%D$Q#55sc@{JlF)@5DdB3kxp;$LC?h4Z8rfVKtOeCX4j&UR!8vi_0-Loj)YX0H zM@Ii4?k+I>M*M-CfscHwZ`AE%Ql0SIB>ZBKx|1&Oe?h$`Fvcn{_9So*mega*L=hDc zMT;V8Bj^n}QXNdXW62^NF&K?-^%tL@NnnC_ChAVm7!z;{hfa`f$>b_^V$AB0cz%13 zqQgKMAZH0R8chk?>Fwa3se&p^+e2l_?HY{4uo8eE3dU=CT(S7Ct78H}3{d)W_P6b) z?2ON33;n?yGh6?md1J3dT-N(V_YmJ3l0$`_Y*JdFgUVVzW+AyE))!Jj-i-C-&LIDa z>0j6G+q3T>BD?3N)S!iTo><;~W7~E7zk7V&_4sb;A<&JPPJ&LqJ^kLbPwso!yM~hW zp#Rz{ljUD2wqnONhs!4kC5NWvk*YkBVkOQ@qRJqn(n)?gv7{4udU!gmN+bDcM3F{j z#gU>ok`YacqKGOgJ&M8=NM}B2%qP?G3Ez=N=)63#*hYG-Bq~2Q!5nFh$jVGgG$k5y zGLlmaDWP&%T54D-7vc;vm?9lZxfnhC_scReyVJ;wwE1Z?IgR6!2$bVDC#9w&niG;_ zA>d>4v*bCOLrsx5*FM4+ift>fJr^+P39OGDWF8r~Wy=%6Oao)&#kVhfcvgSz?Q?9l zXYxQMLlFWW`U6soxYISKZVqc?tfgK3hc$L;8W9C4IC2~xY!anHCB~47nWZ2FUM_H4 zH-6+uh8jYOP@_ryRkm()rEfxX`sQVMDcaomw=}m7eQ4;kaibq{pZ)=(TGbKi5 zWOk|V(=oGr#pSb_|Fq~xrQGxJ=+sL)Wtx=9NpWB1WhN=_+^&v3N)%ggKIET>@zdNV z57N+M7o%qz$)(mLwQOJB?SJzfy6*-yUP$M5K~MCVl7)>pW?=|v)!5@b&w?-TlB1zmU6r0f8sv zRQN{u4xR0A#?nXj?+<>)u*ug+#yiG;dCP5ENEjnCi4*3#D}~A$c?Fk26eaf*Scu7z zW}ylTS!^O66X`ROTBFBEBaNetbW14d3niUeGEM8&Qlll=kX#$?38%VneR!W%2XgB| zwIQh~VJTr&X8IPLfP(>JV)|m^jInW5ans|d69XUV_$w^Uw7wi*wLBUv0uMJVC z?@T4>i7CmbhC3|@iTe0BT}-S#%%JCG*rO1*K>c}fg904{l>ZPnLKT1~3`oM+3{`g) z^Xnjqlo%!S3GK;sa&hfP>ah6Lvb8&_HvivX782b6>?B6y0gh6rDxt>A%9^kTp1mXH zsfjZaGJ5tuTj6{B0G(iby5qg)h1vO|J)b!G58XX$I!WUj%O~__(j{G`yRvkVkM-x1 z6rX`_c4hC{0N*ZkOYVAv^n8^7_n}~%6>J|c1|xbB?4B~nh>|1S$s{d;EKrejxTsde zsA!)OW40WVdbA}WHZm$DDuzOY5gm;k)|4n?N=j5zN^*RhDIz5TZAh(3gigms6=5v+ zOclQ+g5*cwti_awm5C}G+@ngti96VH2oBd|q$ec?C9>VaaI8?nt6AlS2OGlBA+*6M zDob*RTA|sJnh>w&GZG`rG1$;Z+L9I*8%l8&d`5b3cyttm#7f9s{4Bd5P!U#gIIr;q zc4*^?7nl%Hyn6u`VMjyQl^?vRB<}VKI~=e1rN*p+gwYMP#>O~tWh>4zf%F1|;qsnw8BFrFrdH8(0UFH#p~h%jlj2(2_}jV7%r&u+_!j>(G&9+Huo z5`spN5koaG1QP0)kd%;>c`?Skn7kCMhBGbZ_=N0)tfa)a*zDNk^t2#NN|A;{V&?_- zD^oORLK>A^2H6bu9OUYJn9n1Y>Li@NXisVLJxDa^? zvK+Q&EVTnkgyX*zn}yUkBK0TjQThw(BK|Z_W$HNu6}M@i&FlkuUcqNL&!NFzCwF~pBLuq zg*?@NfHkS7p7LGCTGO5{=*{?jACnkdm?}=ne#A;F4(E3_jnxoTC8S7wqFfY$BeqU4 z8pDi>jij25<>|&ksDno_BT)$9L>C=cj}sg~9Tl7q85PyXJmt2*m5RviF}l#0 zU{we_H;2STMax6ORNLjK$9^{Wp2$TtvWXA>dc@%3U+GA~2x+$x8#@@4**1Z&3>xUX z!srW2JedV##KG#=(HR(l(Pv4bS#k21(|6^E{tq5~XbtJwy32gjcRXUuL)F^ve7C}T zelm?Ei)BAvKKu7KsjvUkqFeZE-;a~$_?{<4#lvpC^cIK%z5#1_*h;<$hhPUv=KLj; z#9#+e{{Z$C$q7Q&V7kW=n&?ACA#!La#}kzT=K!n}ci~}dWl&;MM27>;)LQ6UXw}*b zIB`+qz&o`*WQ$U!(LkK1?d-dU z?&zOScc9ddV0~~Br8dDo>eh5UEU+TNF>heBml;CCgTvrsBPa~k^g%KMW)yvRuu2ya z9<0`CXpmZ~q(LZfE?h*#z}gzZ@-%Ve{-gGp==$u3NfL>%kciXsKxuJHx2`*FO#1RaPlip z_-;^cS3C(%lEr92bGQZEzf0~|FoDd>CEb~%dkE=DBfY7NQ|eKZCKYMGF%fizjHJl0 z3qj`bO!$#oVYfQ+3o2?-r!I~rixWw7VuU4m`8YC;traO(F(SQXuCXx!L%at=@bszL z#+s>fr?ySyr^dxbSnc_am}E<0Y+OxrYNE_IJ#3buqG0sUlF_-@im68c(IgsoB)e-%6_))Jd4Lh97}TU!iR6yU8p+=W|c)D z=E8^ev$*rmo~R4)4_y*0Khq>jQ&^a6f-$TG&M>g5GG&^$Zh)*;#%z#~APww@1w9!L znEXx2#BriD3LEJJGO9Er!%`G7M~9uIBGTf|f#(XorRmm>eP1n{S(?6P@2+v9>T2>v z58pbmq1*S-9(m>1XWp6hTh`>8$PRMnjIxGREfsf1=befl=F4yBx~ZkKa!2>fiV{nT zb8`6zU-{6|yC=0*-QG9bTt0H<*GFBW#$7s7SW=LYb^Ykv5LwcTzyEW?m!rzlA6xG# zADQ~lt)zD26JCAI@PzO@GU3kHvbAxS?wfc|PStqdo}rb=^)#uyrY^5&+2*M=vx+iv zW=`T~@2sAxnR#Z3@3`-s+mcEOiD~nh_xs0ZrKA;(tu#Plab=~iR<>Ue4_+<@J`qS8woEbxPF$wJKw`h|ol8e?yQ`pKR ztj-J$3R^9Q8NupQ>vBjB+i>PfS2n51CUMy@bBsi0jL1w)-+KwmN< zDiWi;ZX1rx!iJE*JC8hZ?gHcvb>bas0YWRls`6|dtma-X%I$y6&KCJm%vyr&4WTJG zatAHraZik>X#*Mu>fGr-WjYI3-DBZMOa%rW?S!=evHnelFxmd~?zM5ZxNddL&d|&# zy){-rB6mDCY1>J1S9SS|F`D=$*SZVGs}{zph~Z^<(^}u9qfhqdKU_D$@K{V|l##sq z{9iwOi3a^R8K(`-iOF3)y8M^%-AP8@!vyjg!JCl00i#_kxTkdRPOq0N(Wpsp2FXb4 zjk`IHj*god*8~&)`)P;YQc0-}- z>1cSAJDW%gW4t~t`mrBn&-RR}>^V@L+W!_`(sNr639lR7HYQrz-g8^&(+eS0`8T&+ zzD>3QAtn5Zr<8=sI8_Lwyy{niu?Y zEhR}G8XT(0&WevSgaw7Mc`4Kw9Lk)x1qW+Wm&z%`h*3*nl@4=$=EA4Io@{Yg9FCQ2 zm8!!*8@jpLHca0k`B^r5dY2 z;4|5f$OcRdkxV};1*;cfycBPlJ-mFF@8T~@J^L@`Je&h=a0c0*^KfoX!UMx&-YrNk zp0}?k(f8-`jpxbs85za#c`J8J-|MS5zxsmgwD0E*RpEC_KOfbmJabz9=IPgXnW;Um zXF^Jh$~QB+v`vu`Ps)-dlnNCAk z))!1BR)dqBWighdiP?;VlJMv>ro%4?5ryOrFth(p1-PD2vH?eBbP4aow?dR%NITB$RIbTfe{jKY{jwhUm`6N1Vo_=AH(fWm zC0i@Mu}7ve&QlpPXII4gei#w&`&DJk5_X|{tJp3RtT$kLB3KW!V)ZE4m(U|AX>j}` zYUbAl>`>Tt2D3vsB$V{fYk`|Vgr8_C=G)Qs}aCuzJ#}m z2?bk?YcZVoe+pT$l@K9M{4bE73g8U85iG=E;qgagMH0_SMI9fH~}*{v*V4K*ZoqIcuAhwg=Mw5i%WU z#SZ(RRxF{SO_~Gfw4;NOTgZgf+O{Aq*U(C0Y1oN7{J1E^=2QVUQ>t~=cQIZN)L%@Tno8pZyeug=p{0qi zrVDk=rqa2VHVf5&C5rP~q`}{i>^-5^iZI8>{wC&YOo$I*0}%2Ryfz7KhbaTIwsTNw zJ7};l$~uys7Lv^J7HV4XU?kK{wb*t{(wO%Bkz|Vil8t@W!Yt?h>Tf>)Iyaqg>8T8; zzx`YbwH#0lthHHKnfO?X09vf`Yhcqr`RUxuwoDqGIYffYXv+L81+Zl;iItzV%$l^h zY-=Z#p*#q#@;TI{NQZYp*9EL!Bsm0Jg*p=8u{I=@{$1dSHk2#auHmeL?A#;lE6jC_jJKy;+n zz!yUQ5sg|dmPM#1;bbSF=C2d#sr+uCz3J2{o|y`RHt)d7jcM)`FwH$--q{S=L_bQH zE6ykMCg(&3_xKS_Fps8JC%of7FRFlJP=T);?{exRM6+81Z<&I<i^>?bb?G;oHCGytbm>^mku2JiPVTqc*xy;u5y%^fdiW z1$ZW$MFPizg8NFrRUh+%cZ#j-q_e&xuhxQJF6IqiE;`1Cv<_-Vk-3@pF!$ncSLzJ- zZx`H@nxOQ^xL1b~4oR6qEWeLJCvhe!W#9PTe>P_MU9)#R-7tOH*Q;u`mge}j#FG}w zvz900eZ$IERyXY%nqTDUo_cu9q3No7Sfy>NnTjuJxWQ)bNIx5B#2QAY$oU6_A8t}k-Ewzs_H4>(BsZzy3;UFd|Bflw|WalOt%0ebXyD|R;?P4vB(-IvM z4;r@TLoXv((_ZBJAMLGGx6H!GMoDKyZKaGW@geQ$`T za!)uQhJd3|VOJHRW}K{tJGRj(NUy{nwwyi>t1`b-nJug&Wj7d`nP3Ye=-R+^Mp#Tk z#3Am$vUCt%h`-Qb!ODs$+dv(X?SxCxD7F-1O9D~20a=xq*@cRW0*77ofzNmKfs2=e z(ltY?n>xMYuHRXC^EVrI{QSm|A({p2N0gK7-4!=|v2NoJ=j3lf4d$wI8Hb<9P0SsV z*Ela#n=th0{R?~Notd2$dUke-)?D)Ed)j+3*j)LBM#!J1FJX)ceFC1fWjwqNpC$TJ z`cvZiTK@d+>GJnz#9=50FYCX9&sL5`+K|WLf|=qx5oo_49eOcccDVlz^%Fmj71POI z08BY&coI4-Y}f%%mR5ioo)~HgmA}xx;4ppZ@TH}4yMPB^XZhbz@Ej_4@H=dkZ=p;3 zoB8s?K<4+?@eW-E++P4bEFZZNXbC7mBTCE%SS5x7FM21^*)J_UER~nflHMT-j+f)L zLAbGe9DLU0V{{A4N46U8;K+c#@qd#~fo5uKNsw9-8WkTO8=(mWf)`%TJqz*YSx81f z1}2d-p?ii~m|t56O+ukQjed+Cj7Q|l)I-jR!?W}1aTIZFY{}i%wJhI$}g^oWhLp2~@@#c*xofGIeBRaXx&J4$nyEl2a1nb2sZ!Hl?R?QAVAtC~-50#f^k= z0i<(myoMMEU4redV93URE$p0uau}zCA0`IJ7%lVyn^m3!0UXpfQbY3~p=BzNl3+n- z+fd+Op3@*cN`wPMr9xrAc+Fgwf-EGJH_RAcxnfe+)Q6V$_K>;{?2hp(rWuW^Z^{ny zu1-nq|G8j<`_Tzg??@%Hwv^paQ+da2`+uD_Wm=c5lFEm~1>f`M)Un%13UU499epQ|4O(r&^^P*r{d%j<^Y_hsaLYjm#xcXg6%nLENet zyjduWD}il9SZ@S`cY}7Iu`6MMybjhY*vJyZb(kfwU5K%Uq$MilFQ@x1n%+s<=KQO@ zf60$$e%Y4xj@x%JolGJViE8XC_Ag0UgwNZ+-*fQbL7$84W?uwpUjJ)QLGJY(I>`iz7^?aurEd zk%g2@rt>H@(mYxLf95o#81@l_D=`LU=LWiiZ z;ZbNBZJG&>gi#A4$XqC|CIoFsQmH~6n~P+jo1^@e_sjz3b+)$vJ+TWySlIBtXn&na zH(9e~dNJY+8nrMUvq-de@s17G!Z0mJKhaQ`nMGhP0qt5)l!2HAl29h8DM*2#yWiBE zS@0(_3x15^O8M!un-kM}{?hV3AD?#VN@UOURU7x+wM0AA_a3%o|9;D?(CV~B#<&|E z#)-IDsh4-B@!#o3PTK8z<$G-b6#k-qS~V|7CUYFjvdqs2O+Q$ax6qMVm_Os!MK{%M zb__ol88s`@l&1+fn44JbD7*jLrbV+>STl6e_#o(_S>P?x}5Z-(J&;O&XGJg z_o3i?G5*BCTp@XLTtd7#PG$@@=nPtImU1)9{4kwDONN=~T{s~K%)~ok>SJ0;kSwDT z1WhGLVb9-;2WCk@IQE~E!=RnSiHczna+#nH79nVaO{lGF^L<@i<<|*Yd23R)<-NYW zYwd|(Yr#BUt-MqIJxzr?gX5I^2JSC{R(2@%S%Tn2DV4)XKb(T!5X4eHg4Edm zM66Scoy=lee6{>C`7XrH5MvLpSa>hsJC&~?mielH-+SM0q=ZvFM!}ZoKZHL6?j%kJ zl3!ukh4v?S=J^(DiXTeC;j+wwr#MfZ=T=ajd65&QxJ(k68+~@p^-N#=*(NfhdnNBzQl5e)F?^EIe{f=;Rls~`tA zp(NdAwdUs9a~zJW$Yt3%m?d+9vyzqu<8bhNhgFvo6SK)6OWC9phYWZTXR8e;(fKDi zCQirDz{U#9-bSkBElD{vKQC+qPDG5S!a=)QnZRR@kfpHga>mBZ&6|76!>@HTAL<$D zKzqnyy&4v@r4<4!N-T&Mh^B;P=qIci%H$VAZN#2sBU4DTd!KCB0z6R9^`0}`_ zwCGhiDD9f;oKSq^SxKwq1Et*>tWVhry?Lfe`#+R6lu=nI=m;4rXSh)-6VA^Il$9w9 zv$B%cX52E@ZmDeSyU#WI*1FuJN_XFVWT<=Yhy^ptb0Qn(j9f6IB0Ew(bD*pVPS4gk zGoC!OqrJ@O*)|uUZS7@zNKdD2M%PVujOktCsO`CB3;FZaWnFpY3*`w_6E~5o<=VNK zCD{w>8)~OC;G@Z3R*}3+<2vo}EIi#lb;^{u88c@#w6{CsHkF3TaxybE$yxQCY34D*6<13N31sREtUpM^SJ$~83%&Bz?oIV*QO#TFymXB;8R*CUEzfESir z;r@0(z|vqEV0&XpIq<8mve}?+oYb=}gD*=hY1-#@*aKrvj(6m6ntxtLz0m6CQcmI(x<5W1h152_wmdh@Lv* z^%2)6ym+T`a)~|HmN4J4E+}tItu42*(3)4AaW-*Le15uVSnpFy))B>bFW){%rVb50 z7m*kqRNnok=ihIev2;?}$&+JOA9?HRE<%G$=I{?f!#{dsr|+|0U%7pvDLr2?(pAq- z51zd<#~5#kH{LeJQ(-p5C&n8#3a#$Sr!b%S2|5YWxK?glN!qlDEpx1M=bDDEO;@fl z)tz>`TTZvuOq}SPGIi>l)>h}%Y<=n06tU6$XZq(BojsY$sLyCS*sC>bdT(;wS+u1O;^O%rRJ^##hz+}eW4H%`u|UjO0m>Ma>1jY_2kwJO-vj%AvpnbaEPX`Rk=S`!It53wP$)=RE!cCx7d)<)z>f2>>P z3+W!HV*S94hrUT&iA_EssBT$V_{fm5Da*K^Os)(b1T)Kcmvd=CNbvMc)z!nTn^R>I zhHs8mZPx4M(QMMkIW*{6;sL#Ez-BJ~al9vnQEW@1tFg^VEQE;>9VkLr4M6D|HJn4! z{C!UxbeK|d>Oj{k5Ck3KBQk;)nu#zRDda<&w_l$*!(pG3smaKjmY+T6`dMjldHDqi ztKQf=-r2P6`LEZ;m6i;T%v9UFW$r__dPXJZH*A=xPt|7T#}rIy-!!wV=Q?Nq8>3d& z4;wSiIlVMHHaLS%yy4X+?-`EGUfrV_Rgei=mBC7W%*MBFTKoI?Cs&V#v5oQ>Q*7zN z9giHJ$D=y zlq6YKq^E~FEWBB+DI6ZW)I5Bd+@jg!C@kc3n_~t?=5e>Zf9C{++}SuW*BEx(7&*Mkw)>6CIA>>_QhDUy+(+(MDF31QmY0_o zuN|FGTzKxIgu-#z|BSaLg;j5S=eFc=84C08y0Y9!89|97hUAWv@BZ~*ZGS^*rTLNP z#;kn?b>Yb+YI|Y9EF)xc90efdq1F?4rv5z}h>{^^v5R0@5?B=ukX|O{(iBt-1D!V5Z zQNtPc;J5Mod2qo8uurAnW&sM}@ESkxR497E5B1 zJ?svHK@+n%U6!QT%;Y3Ytj(k(O!t(nDF+XCjL@mCQsvz+1A(x8CFKB0dSH8eL4)ca*;~XV15n0)xGWdxK zGlnNEm4}D%F`Gk!WoeruL>UoSs*#Y|T@=cW-gPzG2+vXWbTaX7m#4r!S&wp=|iS2pE|+~pR%7MSB{?*Gj{X4>sSB# z-A7kc856Uj=KP-97?+!5kT(=HZG7ltQ`5eM!$QqD@%-yCnF(yM!aW9g&Q4hmw6Po| zksRdLu_kAx6w zmt)%0TIak4l->nfOp7Tqx6tBq9zA|yJzqSdXKdp9y5MN7B3KoZ9POMstX~ON6YH>k zM$1!I%D;nd{e+S<9MBY=02>KlWlS)|#+nk0vS_VJ1sk9^Q#2nNl@Jm73cP!I_T|Z6u!@8zRwkBcFAtHs(eeyYL%6gVrL|XKSUQQ z9>Xe4$%Q`!VKuYegdq9ch1Wrpv&@MgMgS(5qYF3m%_I+IJg9igry)OI{{2zRcZA}7 zPvCte)R_SQYwD8&@8ewp#cW!FcYQlvmc zQIo46L3ke$1O=x%!pUSSpf1Oj)QoMkKxS)j(D%1AKJh^Rr@q=_#{?VSI$S z7RH9t%hDlA-1SP+Fn$i~A?g$Jm$G3c7Ys|K^M7 z0_;;luJHuik;9||42`r&z@!ulzG&}N82d9|J&O@Ln}3s~#t04HBar7W^&RHdA|&iD z&=sI3D}v3+WSsok@kht|4wFepXY&07G01;OM~fdW_WeYH0j1X$ulSb&I~AN6_D>Zh zW-gjUMZwdB2A`zlq<=u{r3_O>VUGx(L`xzzG{oiNxwD}~5MmMk{V68OVkR6ZmT;)e zfpJwR!yVH4kjMIawoai!OC?2dGu6C zhHt>WDWfRCb#JQdV5%?Z`xD>$YFJQ4_V2%RMMg;G{{0{@SH(|2+YrmPujsV(w`v974u%FH2!9H-s{) zZ0t;dB3fE3g=Jhk9V>+8LcB)`v-m|qSb_LpdZ!eYaj|r-5LOED$D}ZeKO=-yLi`s} zSjHvMe+pqW%H6<=IKZYEIEeYGS$bZ~OO2HC_|;N+z~r|{VL2DcKOuz`h!^3jLBVdA zL9ueFF@nX){BT0(cG(?Lyq24)%oM`xBqV>?HQ;{zWe-BUQMp`5gT)1xtQ6l3M!a76 zln@_`c(d|lA*@BbO8J!(mT{5Fe+XecgRfFbVZc{~3t@v0?~uYQzElVs5g$xN8X5uL zPs4B_{Tv}pIKxxbB7||Q9^l_9g<1R#Asofvs6;%Y7#!7$LVS#n{v#>O(q9z9aV))* zZ``1K+36p_>L4La0*hChgfKJ4)v87OlNmm05&vuO3`L9p51l;ggHOQ>M*AVl4VHAvc+Wn zmpmP2m$|du)!=S%wJ$Jx8_k_f?md#Ag- z*4t%narK(JI^1{_;2OQHon}{uxy{|);_2*kH<;)33P3BTjVr~|cHyS2-P_Pr-)Z)= znin;B>YE0=3mBf(`sS_%yxQqCH+VYQnvsF4wZYuh?g8+6?nn$tZQ zW_Qax_EG>1K$jB#M~sBz4W8Ed=5}{SXS=7K(SA_wcs&4Xn1DdK2f1{*TUbT4dys2` zcTsDz*EKj(;Or7Hb+?;QTra4F->%NKu1<45pLWyAk>Pl`I@H-gtUvf zi~lk0)lbDc5$?562R|D-DF18I4SI%?dyevl_{aID`A4t8(gxN00?vF@iUYvij(GOW z46&4lt4F!KD5sZe`mlV>P*cwVt`3CK{{ys)YoKLc1?^h8c?67E z{dEeZYXHVAz_lI5U}k{=>`4=1|1)joBc&Jh(iTWvkNXzfvv%RZdmX@byg)Y*&LX5N z7jo#t({>2k+52W8*Irz^1lozYir6(GMJuo{<1I$tHsQS%K<~tdQP|AQ64LoTR@NGaY^#VkXK+#1gA*-7vDdn~KiuWvSJ!-KFIf}V<0=gM@?0FlW zxCAU%$r(;8FZK?@oKb~^+`=zwJJ*(*J#QA?PsdvsNWp4iULYriAuIg=HALL6hWvj{ zqXFm)|5mhLGw@~g#aaTRhQFn=T>n^hF?UAstMM9!)P4%El89wtC1_ZH`Sk?x_ zED}oY#aoPOe}u^57@b)w9iS;|JFJC@zhcdc;Vz_aLoG47vzqEgZuPkO;jq@+j1+^R z{jr8vZ)R|YLd`B0II>R;%D`X^9v^aqx@|$4PShSNA?p(^gqm=l8>p`iga?gMNXOc5 z*EPM>{2$W{j2{c}hWiiiT>HENOO$3nzqYsgzxIxyeeD zgfi%sDZs14qa@a-L0HFxV4b3am(WmlIx=U354s5K&_?1k?`UY}#==%U9&#Wvmk2K# z7OXl`;B6rdlSKx6E@VPWBO47lSD5nbm`3t2p%g&sU5GW*P^^ZAL;gDgYp4{23A+KkaEt3{%{?4J$85If(Y|a zxvUE|3e%&9y8+WmGdd9?WgE8;9fb`yUFf2VK!;us??!G3w-hU~<=hHxCAW%O&8^|q za(&!7ct^dNyM?=zyA4|R8*nDw?c64AGj|8Kg}W2y6;WpRw|LhC9kV3x&Mr zxZ_ZXQE@L2HFuJGi93ar;A!p*_X_ta_ZoMWdmUOCZ*XsNf92kWPuFwMt$vStAE#XY zjXTd>;6CI&;yy;x{*?QS`<(lN`;z;L`cc{hI;A<$0WJ6s!msp97*ddC_Bl)C&I7uPw42P0oWH>1% zBgjZnLP|*)DJK=Al2qX^`q8ACj3HymI5M70fUZ^zG`1#_DP$^{23J%w$V^g8W|7(C zIyfY}p3EV0aaPnkQcoI)n>3R7q=|UQ4P*gnCM~3ucu5;sNZLsU>4c3>H(5k_NH19o zzadM=QnHLJCo9NGvWl#R>%O(5kE|m%k(SMoNujl4t7k$1^^X zzOkCZPXP^v*H|spK_5PphEW5w*}~zQ(L^I*QyooXXe^DR@ic*&X(COc7Me^`Xev#k z=`@25p_w#`X44#+ORdyK?bHEXxO`YpIB6jcn;A-n(c!e1j-VrH2`!~%++DOBx^k7Y zijJbAX*C@~$I@|hJe@!%LgQu;TBhs2lCGkw z=^DD0_R)3pCVDfyh2BbUqwDDgx)GKDo9JeG2i*c)+O2dO-A;GVo%AkxH@%1MqPyuH zx|iNd_t8Jm{WvT4e)<4CKo8Of=^^?MeV87mkI+ZyWAt%)gg!x^q)*X5)2Hb(^eBCn z9;46EEl8yoL{gI(i7N<#oKC59Pz4 zU~A;V`3N2daPv`oG#|sq@^O4TpTL`;hnd7%_+&nXPvz72bUuS0!e{bXd^VrM=i+=t z8*hj2>O9D-3wS4A$QSWL`CKpTbY&r}5MI8T?GXmY>DX=C9-H`0M#O{9N9}&*SU)2Hwp#^7CEqp8Q#gUE+`F6g8@8rAqZhjGT^m`%ey^&wSFXfl<%lQ@jN`4jOSI77@{93+` zU&r6X-^|~_-^$;{uje=L8*wP>CVn%22fu~Cli$j3+IkjuC_m6cK=x0I+-eCif2<6QM! zoo+?5co`=~HVYToxCU>htQkLw3F6~c@iIY7)hb*><}(O!EFU%L2U&N#Z)m-r*M%^gV#YOdFg-NY~&y#Vir# zV&S5h1=L;j^^mk^76*dzQLdI2mwalIyVJ$jGb>pmhI!3ucTat@s|6vU(yY!ZMH}Q>oi18EhI(!YYIU`F zA&T*~HMtcno>oTO4mV^t4Qf}T$5UXl=N0-xg++?dcDofvbdR@3 z?$&u-&CTvkWoe5GmD#FviPxa=dQW?OS4(5FyC^8P!yG7 zBXSEDO=TdV#vKR-jT(R&G=Cth85KyPnI8y>wP%-V&+Z5sJ@7_Q(?D1@dY-FY)`TBL zb*HDf!L9HJ7iG1Cp+~~7TEx&JHuGw!1$)G6(3k;;K{pJ9Rb%Vj4W8y^mui6&2wpJ1 z-R*8|hUCptuNvon-0Tlb@CRC@0AJZUpLe&;S5A}=@=6Fz6cO?Y7u96{d+kynXvzQ@ zK^+5O*;H2GPFCP)Vu8EF0#B3RcS-Q4iSWC`0#B0)+$9xw#sI{iMT5e%gTlQ7VL6)c z{0>bi>n>tXfT&LjDoZQH4(DqpIu_W7X9d9mMAo1z}~Ycr$HKV$H-B_k1x?s0Ycf%0VvVAS*-PS4ug^X0cHP zImj4r`B+z5n@cgy)iSTaMaOs130-ui2W^XqMq6o(ho9W!l}{1InyIcXrIa&Y-sItH zIy}J)hCfH0^w58=5r!=hV`wz(XaxWuSFazMvOm|J@!4eb! ziD2oWaHA1k7J|Y62~}vj!yn4G1w!^fXy9pHATB=;DhPy}fsi=#0&;$lKd!(U2nF&e z@aJL63&67lpx6RXYyl|t02F%wiro*zY7gLN55Thr@UsUX+XIm80mzO3WJdrp4Ds1y zf^s+lG;jp+a0K#j1oChM@^A$5a0K$m3*?a($RjV1M_wS0yg(iUbjb_kkr&8An&N<8 zULcQx09M#imas1fyipLqsvz)&Gk}#dfQvJLi!*?WGXU8cfb0xFb_O6j1CR>?kP8Fl zEezyQ7|5eAkVj!4kHSD6g@HT@19=n%@+b=AQ549dD3C`{AdjLz9z}sXiUN5Q1@dqX zK=J1R`bw0vS^ZCKR(~Egt3MB$)t`sW>d(Vw_2*%;`tz_^{pGM(19{j2c?{s3?~k(< ziEp5*O79lf9Qgtt0KP^TpK;9>hkd70x)!SDH}|$RK~I$OTpja)DKXTws+T7l@OXt+Le0h=Z%J zCcsr7BCZZ8ULYp!1!CeVEGTdlh>B~WlulSP;J#G4FO#n2(zQamR!Y|@@meP3Unb>W zCgooyWCgooy9TQvT&q{^e5s9TQvTxF$yQk|i4^nR&O9^8xh4keK zzY2d>EX;^~8atar!|NHl7MN1umCqyh!Rpt5A}m$gd}Pdva!w8>1qNi=57?T6e3$( zZJvc{@K<71LGwK=?q(_6fV5J)stGm5a8aW?(&NPpCn>hmpHK~wh;e}eN=Z;~=|!P@ zQf!O6MGCcIzY zxC<0kqP*>{Mz<0;u`3qE>>?0EKrU>tyWP9U)6m(}>TSKj>uGhj>jF{IJ?Plk>1}5# z0jA8M6GEL{7R~O3$u8dst$8VwCrxqr&OB)nVHi=K`&aVfADNpUPB(HS9sZRJa>4#Qcb6$^<^S;$`t`BKXP6hEB-#s5Z;9|LE;pTR*o ze~I#?`e5%$C9*rDeDe|V*M7d#CRsW^21OD>%;Ey+{O!-~kl+rPHiFIdB{qPE<#TVkFm>G0u$Q{ux{11j;2&pj_ev%7ux-R#_o&0u>S`P$6*w6%r>_$E3W*b`kn*pP@~@EcuaNSul=82X@~@Qguaxqyl=82X@~@Qg zuaxo^=V@D|I8Wm$r zL6w9-l|+H6B3T0@L25zd#5i7I-nZF>4D9(<|5Yd;?ghl``8FxuCUOt?w!)y6t`1MV ztC@*}MBYJUXE5UnDB&umh0Hs63UX?3iE`IqNKFGb0zY84iHw!qR>l}~2!A}H?CIKs zc~*fw*1UZ2ic?+$0FFF~Lvu>}kW=EIoC5mRJg4+tp_EQ!XTX_B=|oNxoR*YMSiuGhKFA(DGP%Oz_naoI&VRft7A@sy8}XP$fWhIYa+zTu?rBZ zs;WfHtYvUl$NqTi`a_ErK60)w-B82?;~Rl5Wq16O_=S5B;feUG!G1o@fN6Ghw&Gpr z)Q+1v+RQ~vo;cpjyy*iD{s#X_Z)>psKl#7B7eD9?h68&aThttF_SQFZTH%-ZYh!UD z7EB{sE8PKmAvP5_Yhk7!?djl-3cKDM+rt*_;DU)?FF@&(ph@sdjksqy;Lmiub(LwB zLOrB!bl)!_L`nCoGL1#lC}^MCf~+|6K2yunXgOzfDKwc1IR0Gaq(ru7igl7TYfwz= zz40qzq3pmu6QQWU^!=Kls=zdrMzD`HaS$+>v9(^EJ!5wI@V`V}w{61n4}E&TxU*%? zsxX^%m29qc6+dndj>)A|lk;Hc`I;-&-Sg@R|J!jurOlRU%~0^uWI=|ca&KF&z$Tf~ z>od%@q9W%Y-B+fNn`4W&#)^r<$NP0M2dnDZ60JDvY8t%lL=HTk?Dck9iikxIAXe^eaGN1AZ3R?wO?jzx6-lz4CVPqZ{qXo!kX6=SYe*E*6eSayuuV$?&ZQXAX!n zjdySF2)SpPm@DzW&v$_wAKYe?K~A>#&+Bk*_yS>OJ_-y3^A~>|RxKQ>*;Z z{O4~>J~p|rc*lg-GM718*NjrUx$BKFeYCZY`_qYaA5Eb=I?}$Czgt)SVl{xAaVfH3 zt45(hV}`>Yp0}>Nm&Fp<%AMAg+g9jjztQ#&Px~&*q-Dm(#&5Xt>fZMM`|WL&4t89( z4j+C~=$j*cuK)g{6045k2=@(FWO6IcCcI*eV-Z?-LpHt^_j)(iHv8~DKR7vI=cJ09 zeHHaTScBMOolJ&q)HkT>plJ~9#s?o>HYWAQ*PorxdGE}$&LLfo_w_$GZc7h0{+n06 zi#+dnNqg^-f6?+&udI9R*D0^Pu>06_?+^7A2P(L~Z#}*9o!CDI?T!lB^6m%m4`nR< z$Hn_P4sHCfXhZS#8=fs}dF!Ubmi~{vIph-}<=hqZ@snd~(S5^GEN5Jl=M0 z^Jf#EEWCF~_S?mO%L|(4q`Oz%V7d9{>*_Z?GV5s3yK`@wwkF!~?_t~btO~w&&aIDU zJ+*iLs}Fu)e)70AYOUEAGUVCGKb3xbz4f!r>7I4Zw|)Ar`yYILMOk~d7Gum}j4|`1 zF~&vy0`DC7(+%!NI5X-0Wv^xfP7%f!ryXk)dl4IOAkPfkT34?A|7FAp5gHE0RoVE7 zHIw}V6#riasQ-2BIcB~2Qf2!CQx@#Hc_L>y@!Z>S#gEpO6#lDY)2h@jw}x?3-j7|S z9sYXU(PO`qt>5X{wg@$KWW>t$y% zD)uzg=EiTYYkm2_$f8y5llMRSVAoAi->%zcOnrQLYWJVsE-YH}+2g72ME;if&0A+8 zW=&1}aohTJeHs5Bb?+RV+0(6y#x^>(ZN4!(ww-ir+qTg$x?^-~t7F@??VJ96+~3(} z+&jj-W1n&Vde^MCR;^iURXz38tU0URZzX8=BOk%|y~oB<5<=kZLANL0;e^;e7Ml3i zVnkuQ?-!&hv@Ts7@LWl}!`b?9b!y~6rNpfvi&VnWAp8pbE0kpy{pX)Mg}RtJRN%kQ zDM_F(p6vY$^V03}&_oM`s^c)vJz*w|f;xGcMQho79XtMk{&(zoWc0uL@3H4!y_nMt z-0?RKbB10*h)Pv>%fR<)r$Yl#*`Fliyk%QHLL?qZ*nlpT+GW2o-t|4d^1`VVvj1_t9{2zj{Zu6>?b=E^8VPdL}hyt#tln z&lr=^5cuq{`##2Tz-^bNK#0&{UpI6+w;ORtY3De1w$81FRIJVDUMoptZf*LK(oMw@Yg?awS8JdyVhn z8B#S6I$uqFRz8Z*wVUI6IB^){pd5f{L;X8Dxegn@+ct55B1NgyB8(jztH3;uZF+z~lgJXdLMXW~X- za@f##5!^g>Uiyae16G5WieW-vNfivorQZ6RwWRXO+SPhzPT-*5hOaaTN77waHk2y9 znfTaJmy0%ocLNz%ovM}vuF;2|7ti?|7?}*0s}rP7kM?2+2d(oE!ZAJ~%p+0l=bf7E^v9_6LdEEdPc#0l<`>$V~d*Ar934 zKiCcu1oYqM8t9)UzyPVLZkkTIe(7$e*sjI3^G%XmwYR7Or8NGFhZ1_X!M1nayvgXINe8+ zf>JQ<8CQH`fhz2JR09BK>ZQDBsIgjs2*(!6+{Y3$pIGe7s?OSrxJhg#=q4Jm12TfW z`^4wSPDeB+VS03YEv9R$lX}eSbf}VfF0^^XsE>ULlc>{W9gtp&JubvlSJ zgQr+n%LmAk@ss5GGN@BxEw~NbXx1vFf!Eh7j7(%AP7vJCa)|yE=B7P?0VUq{lJNCI z6OQOx;*`wMU#`ju-1811H6-_+09E=4PznE_M-WMLf6*i8|AeOhxk=Ce0tA2P5$7ix zV*7+9W~RR|>JK^k6q){rjQ+L%6ZD9Jk?eE4{bWn{Hp1qg{%#J0B1)o!qDr#d9Dlj3j?Df}-O7Ya;ijPIO9t(2Y>(GdlD$rttrkP9^)p5DH-`cq}EK zWxTD1PQ4(+q8^uWP@=fJ%gC3xq*5n}ZIUVn?tIP67vD(DD$ zosS#`=WPdek*5HC3~Kxm60P5%Lq*Fo@$)TBlMPSqOBd%Nz5zckd#x%Ox@$53=^5x( z;B^l^v_&5}M@bFa)0hpr5X!kZII*piR`Iap~**`NUG4(i#x1$_~Q6 z_`a5L{tHw3ZxQ4F4O4P*v@&Q9<2Wu4F1XgAiDme1OA0p zKQyv&r9Hp3q^bWx}l5Kq1x(*_Kin(sndT!qbRjSF%qIw=Z*kG3hXxa zk0z+$im6)0jwHyaf&&ddG75;wZeWGA-yvPDVQ*04*C|}PZj$e`Li?kv;&V@mG6jHT zd?Hrrr@e~NKlK0Llnn&t-zJj(vYX}l5BwRO{%)Ru24#Z#H>(-gr)BD2Ry9~A1jc{= z7yT18{&^!9)8|xw4u~)#utORvoVig;o7uqb>7%Y^^l_&$wHU;)5DW^#&*{2;Uw<*A6a<_9iYX3$!; z2n6nMX+G1YSS;8rgWt5@E60DTv!F_;9cg7w(KCp2^~CTj+X15k6_m zo4CwdP%!>Jm!ey&^(;5h&NFBj{%Ob&R|aGfc2Ut7Oi~ZR1VN7Nhj&?&IWS};DOApPpx%^fuU@3S>H;Pt*b5IZ6|W z?*cTq$q{_jrMh{0_{JZB9cCMD7PX0`g<}D4}-G1oiT&h=SBe{pGzGM=60V>0e^|IpKc5cf8Y6m_HX+@Fo;hL#M##eQSAl<%mI5c@dETlMm6SE_Pqa+jvOntKu*`G>rikgx_ zEy6^iKjP!=@!BTZ5!PQ2+X#Fx$GPht_&js!$5Uf8HKJ8!`{tpjjV*V6!x$R* z!pZw_rVCdP#V{H{g{h3r4}*1$#~kXL4(1i0h6*F&HL#-~i60sPF(8e?e}e=ji~$-S zJmmp02Jb_X0jGcr!^+3#L)Zti^AqrD0|G+8yRHEe=KvH_^y*}GB`samz+ztmYO&aL znw49F@_`fMXXj&NA}9`jdQDJ21UDMNJvCjr^tGcdJ;WDHj4 z5@^>ilLf|3%GlZpGVVe}tUH$Ip!4dH7YULG!eV`l^2 zxjjQZbj9b94Z&Hy)HBrvfGmDM7$7JzsuhPbk4`PVR{efmD=-NB%0iO{ue>x5?2^0> zq>2PN*y%AhW-yS#E)NL_^q3=xZjB6~+j#%sp7H@mm$wv=sr}et?(4>kKkqEv^o8n~ z&_jCkMMB#et{3$&o~kl>i#`2d6PO-YoCh;8f&g-~2PL%Q?1Mj`o?7&ez`h0oPz>tP zA<3g4*LP~^6QY&$11Guu3gCQ&;Ph8r0H)7PX9A0{yRr4dIkdyu1hx>4%EHb20BRFx z{M<)RUhJ)r>r}wKWaG1hwbd{0o@_{%hi-VAKoMo{HufOSm9~i6AT1yMcA#XtWWF5k zekj|y8#1~gsIRR+x0OIQlf}|Z7XSCCP213}79&n?0jzC||r^k#->2kFiA@Izt9PYo?Y z!Kk&C&iTsQ^f{#k?$}0hy7>*uKUVR4KyHIaXp*ctHkGdV3h?Eov-J&20(;aSUO0)6 zMl$E$``UIxgOtAe6K2|pM8Hr$$}hoCQD$a#(bV|ALNxioEc6Tvc^i|C-Zye(@(9$Q zICsO&`uAA-Ha_`DvUlzb^dl&{KCO*7C(nh=yute+13NuilVCu~!|X@RPCzRMHow~t zmm(ZT?UG;+|LUZ#^991sC5Br9(hW*f{VF~X3`IGM?Si)}7Ibq={$3Q_go9M_^rGI} zEpS9L72pK6iYtIlQQTYawYd*g+FLH2tHyda2%;@uAC^^|ob`0!=IE$rU??w68g>AK z!V&r==2nFSU5tKB*+C;cJq{dl3WoTCUK+)k3h5O5RX7guJLIb+{j>!Su3A_*9dpoE zc#5Xvj25mMd!9}&H<0RD;U1qSLd0rzWcR<{&en@@CqhlV7h!H2Chlhd+gnzFm%a$Pz?Qs{7AFdZ9gxZgTii|Q z`zaC_6pKrZ5VbL1Wv3I^_0PdU_#}VAu{~hj33fi+&3fe>;k4K!8Yo!^-3ewSKt9Yn z6oybVXmZuqHjwTF0}_Bj{(6~OyUVf}-0mH^avTedVIm@RP;3RHLcf)a3$zRWHw2$9*%1Stqn(+xvv+=I|+ z&;kln(5C#4TVNtiG%j}mD3JCPZbC5E_hCFrls@R$pdP&bxN*FoTe@LDm{m> zWtc&m%I2J4;l=_`-01Cvqn|&?znqzC0^Y*|{UxFNU&Nh|XFY;-0bjt{i5upBB?`2) zifq|wVf>)4>})|Y2wmnRlwbtgBIe$;wjSO6$n3cpiPuAolV9%~EPLn5zEGRcV@xO& zM!MbrymEmHj(?cb1r&UY5QC|FEDS&mykE>UzY}lskAnzqqA-TlS42bC#Pg^z5Y^Mz zL#fmT0tE0rGK1qJV;0c997ZfySLl<^%cDYi{xA}df0>*5x=3uy8L;k~eByfv4Ap%* zY?sD1y+s`ME{XeU01|NgK~G4EWWTUPxW2(C&OsW7Q+)glTvWRfiK7@ACFZv(4Fw4s z1!j$ToA2NbBJP!{K-(y8RRPqn_^coFEh1Vsmv0Dx;EOLlVZa01>3bj2!d4CvvBpOh z8q|8KUpkQ#7gE4o)$N`$G_;WXhhFflxU&1>yQ;D;*cT!YwD;L#!cU`c$jb6kPt~@! zHS2a0l7YWqIjMeO;a5&bc{rk;xZh|&abPHnrkDKg`e7nM4md;zKBA|`4Jog5`hrm5m$0eT!M&?h&e{@qoVXB7 zfu%xtS#bm&Q0;^k!EVE!XUYp`h}>&%6HAyP3DFh5^$j@UNLI?{X zrM4yBU9b;sOz1mn0Z7qq`O!)`x}b=zF(^ZD1rcI=cc1RaI6u0p=z8uDy}Yr`Kd9);N7=(h0-^JaKVMOjadm`lt zOFs}87Cv;P7kVQn3H}H|-rC;Vui&p&ObS>aFB=%P_Zy$bz}E}<*3aQq@iCfrOCzC& zvw|t)*`<}y16Jl9lPN)v!Y_t~hru zTi7=ip<|%RcB-oO!csRktd%f{;dABHikZea2j0@OH7W1aVDk{hY%S*KthT?=OZ(if zNO0yu^mT(H@aL?B;25#?ZE`vRMQON&+T87gdCgvwc6C4$Z)(}TJ0DK zjCtJ{2wHv%S2x;^Y1gu?7LXk64j++HEhn1ukJ4YiN-)fI3tXVIlB#*h8t&}qwiXO>N2 zpgIJ1;Gj^%yMc&~(y3*hL%)f)dhQ=r1+u59mr_yQXt&nE4^8!L{l|CsaZo-%&);yk zbQCJQTQf&vS8mySx^}Y{oj#2ep)^_TnXP+n=B%RIVN~BHUZ54uT?<#j8S$fR^99C- zX5NV47Ko|C{M9pvg1LSonb0JD9N0PmYQ`6H$?0sZWJdb|Pxe&rX|OFkO3r5Ge zJhwd;7Bqmbwdp?!{8J#Jwo1X2u0_9#FIPdC-lkvQ?D24U8kTSw^H|rmvfXI0|#YXrxeu0|cDKV#@vf>@s{u z3l^wxWcSVugdnF~1&aq&Wl++w9H093>z9nmH^Dvgq1gp?S;FoIOps#nr6Nlb?<9gA zTJ;y%=5gPW0VjfQ{oJKCY_mG&_g8V#jhA*`4npAzzuU#G$qy{I)hcr&QVU{E4N4hz zclVQkpzLcz#r}+5T5cRZ@?q7t?-euQ8(_H(H&M@J-tb0r)tQ#(?C^zhPL-E> zE26k@0tkwoz^Omo*vObzes2e67Zb6%b1W6~N9 zweDW~ca;1)B8%I7$q4(i@H;uTjtDbcj))&IgwnF)O**@+q0qF*ViXkcAoGUBIw1T6 zEp61b@9KV3-5P|`fgWhiE$HW3)aoN z5j8%ivBvYO??ovgE2#eMAB*Q>paJrfh}-jhvK^}`q>xyUi?Ct%d8awwX<4iQ7@xT zFLYhjEbO+6%9Kpp3FJEkAG8YHdQ*zEy=)HT}Nhtz`E(c9gimRz*0Dy&0ryjp3q?-uq&8#Zn0?Tu$7qj8~USgz8t`jC+zJxiQ9cOR!*=BJ9 zIQ6YLxxn`IL+X<1{w&@=8o?}k!MQ(W!!}kLw6q+ht)Hs+0zg1yxv~))(yaGHzF_Vz z(vb#3$;3Oiy_%Gmc?#UiCPG$DSd8_2M4h(1fDD>xZ$OLhywHaZK2+iZb2~NosgJE0 zzLE!*16UNjuq!ivo*!eTFSZzR>{`t~5!4&2WfYcd_&B*;K3WqfuXcA@lMN_cz=k*R zY}o@k5p2KMDEqM%*;fx1Sib@GrLU7S8?h8<7|$TYXfTg2My?ikv(JoCw+vGz?{9jz zMwU$@74No;5uf51+wR(;t{(R(vG{!)F2op*0&+TE)+nxL6Nzz|Pz;$*y{KO%0z(gQ zH)#wXV%O#q8a8opa^^^E)egXrhCA&Huvb3PM6I;Ar)WCd?)Qk;ag2XFIz_6d`gt8R zvjfP5b;A;l-x?u$SMqo7&Tay%C-tLT+D!>VksLWDcGJhhaCydaN!VJMRN`{G2}xV} zp0xHvh8@SNVf-(6?Pm209+VqeDDm`>R{}5W83+>KbqY}^^*EQdr+(hD!o)Dc*N;M` zeaE$jZ95rQ8zWp&4wX&>-B1fv9-QZibJ`?QS=NTJw&Uy=Npz+mJt_ztKrFl6G{^29 zljJ&qtK#AUjg(JWy-D}nu;1X6H}8n?NW5PP7p8be$Vw^RinuSdKIBH^x-VOVvPF;u z)#H8DI!X0cf(WMJMajS^+-r~I-%D1_(C}4Vq?OxuS_5cV?;Ciy=hdcq%T6)FY;DlO z7VEfz?$^Os1hp+NaOT5Eex*BOUcO$oxovmuMW!{uF?%X_^Y8qHr`m`^st=9fObs5J z84&CL5U3#`j>W-HaE*UbO)E@3Cm*?8k&LV$%U(4j12QH-Cj2ZhfSiX!zFmc}!nb28 zDT#ZfQne8aSDH>!Av2|#LmiiF<=d|9#yX$e{LO%IcF)7XkTYno#yyc}Lp|}HOPtQ+ zMFDjlbdRi8a$K=$lBc9?v^l3<<)*5_SvPI@0khl=!+szjd{2yucoc7hF|9pQrFv%5 z1r-uaM!MAr=lP~o1XUrieDz6tgg^OqApv7bdf4oT{T%eg{*@NB2(obx2k%e^j(HG- z36&_N9jLX853|<6a&PuVm8Psgt4=V#@Z@&$Y_lChdHDy;MWyobH#|{7l{1njTL$X~ z31$;a8ziW8>;Bky_l;HBY9kq8@<&#Wn11 zQz{Hjir$TEBZ+!D0WlF%lJY$mlpFya;Vt!EK(JOS9%2_-HU)%2R5A4}%w0Jz#1|8U zk#rMgjw#U~1-#$O4Je1DUf(a$8XUjyGY;IhQ|O2Hw5Dh`ksI$vh(ex78e`o%+jr?3 z>}KDY>9~K}^08Mei6LM&6thtVx7iU|>KiJ$eR>sW;kLf|vD(&(On0ztjw6PXvw@s) zabQG1ZF+*?zB8gYT+{ZGCH$!gwe8$TqO$lvwBV|zV4G|jz|Yk+spRCIJ(=qh1)38w zM_)3uSh1en3^U@afqW9G|Ag6HY((xm?t%S8fifo%t5B<=5lDhV{50i7eSna{%nCuk z6$syU#=|!zojKRcRG8PC&%-yWnpq&1QMrBDdjGf+ zl`0e17@5r+xo%~Rc%Rb+YMq=9FPD306cvKoY6`7+Y!DyBumQFkEwGo-E9Z3LX2Z{D z)!o`27n4ETsaQpnnM4Z+ZH_xH6~WcJaF}u|cw;@u`ob~9+pg3jxmbXO$7I+HKCBF~ z{X4$}BuSF2M~kIJ`~Z}}G{&8kL6u$&gwNuO8`bU+J8)MwC?)|Y#w}tG40+B#1O~QQ z1_S;`>}`L|b$rg#M%LHf`7a*0;#mzRtMD#?lhL%BxBYOn>))w6D5R}S=zl}c&w}9c zF3vquCdiB#8I4Ud%pIIyVUJH7$(6Cw7wPKqG2)5?hU+%C0`I~s-!mqvEmhF&7sT;N zxy>-O5D8+mqWRY`NMm3w*GDev9yHzd!JsCx@pw{Qy_f_{Dj(zOC?QLMRn47oeR?9q z$(IPZ+%V{J3s50xX6~XLb>lIfjj1+o#t8KAPtoma4y%ksjjCZf#$S1?5+76CisQ@E z*C2DkFc)mh+$Z;ES^*7fcI}?t2N_f;!k>;pS9@7^6=y^YZ)Nx2#d=%VC#cipOp+bl z_VunCzb5BXm3dgzyE3`&$Ki~`v_jJ#GB;;QzqEPx;tKXoXjtcWUsB1sUlj`atc=`L zDMGie_z$NhhH8hQ3eWSDc!_kA^<)jpd7R3k8Z z!#}ztx9*xCnCOQ!ch>TC=4d1l+m&gjk%6_Ddx_M4!zX#Hlgn~^CF8OL7QQs8D04{a z>?up6$6=mhUnXy$F2v+@U2Q3!yd*;O3tE}``b-uEU12#pxb}BsXPhf*%J^;+#AJ;q zuI8lPukiTb7RlpA8o1;H&pD|Rci~&b{Il-qFVAxvp_9@69OdUp4AP=kgUU+GFN3~5 z+)VojTli%twdn>D%zQq1Bvz5_3uXR!C|HnB>I--mG=r1L=9*DCkAy4^DVB9AvN18| zx=RHu&Y|qHVoyMpm2Pd*ws^QX*+*j4L^d5YlCjTIDiiY#8*YAmt>GD=Zs#g?ioGRC zmsMPE{(gf7?yh>;7A%uKl=iH{E7RLcy^bS-(MgtQ(560bzk(>U3@QmL2NRVPGE|>W zjn5Ta8#3F@w3??taA_eJU|Q90<`4Eho~D5C zVU$woT9nLdlzZz6Hnq2Nn`oCY)Yu(ZDU?q-jk+H^gteTE%yh+R+|KJJs8x)HUuM`$ z|4elofBZQSX5VM~^;p!_rv&Q_c|pR^%4W1loBe~+6NN5M06ymi*i-Ag2z}z7)OQ+0 zlh%8mJVc%^4$!GI$QdtxkPalSxer@QodvxWrys@jC3iLhj=&U`N~TasEa_AxTRhs0 zm=iuj`C^hRnnFuYor>l`jw<36s)+`@ZPevN!-B)4;|{)1ZaYZ0mv(cC^zGLvQTyY_ z1#(SUJ-Oeui&lIZn(YHu z*YGUOkSuRe(TcYqOB4MJ$+lZRxu#b~p~JSdJv%~Yd;i)!rDtw5JKH>^==`MGSInzQ zQhSf`m+j|hHqVSuRM-1)gon}$uJrzUUWx1_c0QOS$OC=!!7uwA3ZB1{hRqlz$1ZAS zuZVusF$;ItC2hz>~!uHEvhtbg|@%C zpUUw7@v5W)2{9*9_P$GmD;YCIdM6hg<_a3l;EEQo)AwIzv0)Ad*6XbHcxe`dtL|`g z7%zu9%G#S{7V1M1Z7zv;65ibBe$oVIx2HyK9PrS_5Pu$Xv%(gz>PNVu_9jt!lcm}s z=av3gV#_&+Bm%k6?IDlqBn?OlV3pNPuNd<=Sf#jvJ%seuK0t6`^EzyL7gg2P>>{U< z?8b1;z2T*?`CQ@dB(R5k3!!V3U%Fu!gwHEPfb3+$>z?5@^h_K_P>pK|}bsJW?@x!zOA zyA^i9BV^OaQ~POL%Yn2+B*Yncl0gt^!F_fl_%gIQ0(?G%^5W^qiy|&BT{*B~T)0*f z-^uwr>r4neG-(G#DM}QmcpBpHwOX*(+E=4^Ik?uAop!l{eXTQkc`7^L`n|Cd| z)-;3z)ksKKt;#9I#uds_Cj`H&#xJYo(Rvq`l=Ok3DoLP9^%771Jbk(REx^TYA*uLe zZV-7dJm-fPsIJruqMfMiYI7wNp>cbjLMy-}%DbcP>F^@8PgOL$h`9lEjqn?{o$dC< zYu5h7=>XQ9`=f$aBZeSp@%#nX`MbryS=qs&WGq@*N;<&ee*LGm72J>+$IioV)|-%T z%g!m2$Ggs2HZ4Qn?(>*;Ptz6q;tXzwJKQ#OobKJTq~jO|6Uyu8pOPPS5~6+h>lS&K z>7MZ~dQD1jf+s_#v>aBzJe}c<+-%eM9RZ96Qn}c}81YV(!*(hy44Urb4V~>)0sxP7 zisKUkkI6jz&is%L@qsunjx^-f;v$9{Z;vmZZv3s=*^S6q$8epkWPx~c)WXMQAsEkL ziVK9#>exOD)OSXLtH>mC3$E0D{SP@UmT+aF8=r2(%8aF#w@6E}zme$4A!ITaaDHDMdkl;VnO^Cl7JLWF_a`;%~I*c_40TZKPx-~%q6LON{d*m3Y0lLo9A?Q zrxhUkNJZA6r?UMZ$8c-YMjMRkR$ANB?7M7mgdV!L`8Vm;y`&Vl8|1%&Ki+xjHVi6cbi z>L$vGr6=mXanX!W!KE-~%Jh96O&O4oe-E5U)E=$$a?)ibjg9zCdl5dNB zQn;a5^|mkIv%j~2hgu1O3zw9zt4bUhQ@&9fg_5s`IK(;&Er9@v19B0s?)hNjf`UwJ zKyqWYr-P4WCf^ z%kz>YiyNurvfYFcz8I3lb>*7T1Sr4&J-2m}g2hHr3z4W$i}K~Z5_kkRnA)ztk*(jNhInW3 zV}S;3VxHV+Tu}Bh2LNlvU`)x9FEY-m5DB@S5=_O@hlP7M^1=uxIgvmE%E++G4tx%Y zj8%obY7}y|Xc%u2$AHuQl16?|LA2aQ_>n-Tul4UuIKR?ddkNTQ!?X|#@Ex5$*sPK5 zCH7beDjg1Zyb|eD(OkARL7u&wx}SyO`pcNI?js;hPCT7>^`z+@F82atb}gcgV~2@cQ>Wk0`ds0YPp|bRw5rAD@?HapQ9sgkb>1LQ z&X__v3iHvy<5vbIAke(>8T@eqsK&|+Oy@IG= z(t^!=FM&9=@UTtdSHe;qF);(G$XWl*c*@~Y&#mPYwcQa-x>E5?f0XAwVoID3%`MDW zi73C)xmB)w)FUhJ1tEguf=aZO8{djNvv|gMbzD4<`rQ$n+VT*qRl)5jpn|^NP$rhk zJjVJ|#+&Ty@dl$2zhYaz`kKf4wonbj#E*=?vm0b;qfDN}ahKN}Qr`SagT-{N3s!=M zh&n+QL*Wzo>*MM8LDTe69clBx0AiA+y_3CIspAs|ezlIgK_8yHs>K0cgM(Wv$^)y? zE9+U7RNg$c<7%~GAo79VrX}+W5t`2&F@K9+UhF|^?+wpR(EJzc_H|pT;8Aw3<%aVc z&$sDnc0y-27)t+Ms>Z2k&+QA#-(%J%NMpQ#kaz-1x7RK}k5}Ig2=X>fLyksfe0F1_ zqCXamZrdY3p~7va_bM+@(pkPS(LYeZ%I5i<~YU>sxzEl#hJ{&8tFxgijthG}Sqk}*^y7f#MA&ja@7?;^nS|AQ1M;fM^ zqMJ9Ms2Z#GdVcnKHOIKEQv~JswThA#{-hoG;J7HmVgX^|0d7!j zI0ah-(gL}blAhJCiRno!whA{EdV~U&Js~k5>-ZM? z;%8F$NgbV;f%NzSh+1zWbQk6GFU(`?zMf#bLE?$;Zv|12ohi0}MS+-M34|~VRr=)i zV?&Ua_XGsjBV=qBCa78wWSydRFFz$KZ;g*?&#I#nB(e)7TIYtR1ULEK1ip=IZPKgZ z+qx`kr2#x=ZXwC>fm_hiBbNyJ!6#8{;u)`;*3}@dOr#~A6B3QikRF9*K^p=-As8KA*7b~u`!dRj@vD*dve9>kbjf*Ny(|s zF=<&P&&G>leK%~6lYLy2KBHaVK2X1PSF$bmh9_<1XBltYh`&Sk%kSh&n*wQOVp$W6pYo0uV0;Y zI#;<0z^8W=`e*kn87j_teiPC>XfPel4|i2t4r{B-_4!?|-!qq6UKP$I#LCs*L7a-* z<_rVQ3@vH8@$PgdV*qCBFJ)y7PbsUnH+WAZD-^Y05vj;vs(t5z!Jq`B`Mw^VO+1LxUrc z+c@bYJ2Z|0o@h37w^8;-e_T>ko_)Arn(cLEpLeWPy88k1!}l2khT(f(TW1ol?{_6F zG>k0)D3lgA)qS8w%=eIq%KnoI{+Fmspw-`Wu?p#LagC=1M*BxPN`k=toO8#ht6sWw z=jmPez_X)Oq!&WFN1~Eh!B{sZo$Eza?Bg&iujzIn=5hc}A^u2%95gCMCVpIZYL?I| zJgr*une85&w2UC@Q${R{I+{?X>tD;)ZEW<5{e9kMhr*L%=hj{CY9xx`-`cHF(T13M zhvcyzWT|!3l3C~jsm~f|`bD@hMc~8Gc(X8{wqAlAdl3%oF;t9+nP3o0F~SOyfN1Jc z)kdXm;=LCk2;HZ6<=DV@th%y2r7pOP2Vpi2=wLO_wIn|%5VR0s>x#I^kBNuZ8MlIC zPGFdM^TzUO^VHF(GYHW<>~3!ZEYMu@mHq0Np1NNW00gFBFWut3d3u?SLNoYq9p;Ml zs~H`5o$U{Sl^$_4YKfq|LEa>DeCKzO0KvXmRqYte^BWY+gPD;w*mhH}Q;QHkB|h`~ z6?c<^yQL}ii&0%$!!!ocs;DVUpJl6-;zfwtd*CIQY-T5d^7=#BL~491HO84l3S}nb4%-)?Y`(7}Xk%A<{Jn(&yBNnUC=d=3j zXvz4F(MCNN>p~hI^>JoujWr17e%~o#BlP?vHNI1`-sp{@tDQ9EIjr!nxEEbkr{%;< zNetR!9Oy_!S>*cz?!NoZ`6M?}6OJ20?aqOa{XA5A&8blaF)yq!*f?UzY~u^x5qaR9 z7Zv@Ps;~CEO5`+!@n0#GybcOq+ODm~UTbd+! zZ`l^!(SuTy&Xmkq)|m}_#LthXk`C;OdV)whysYvgAW}`n?56>D7VK2c4tUFq`%NAh ziA5DRj}D&?3P1t_G`VIu#sxV(O^uUO_)&X~gygqlw&0Db z1Hhiur0cXM+cmPwl*d}adj!J-mO_19Ft#N)D%q><&wlUVubWu2fccivR_T@o-2mO|o7YN9_#f$57uV!g6Sfy1MuT+S*b$>Y|tt6d)6Ibg%GQ zBCTw5_&MNnnL`$fO8^KiLkm{U<=nkYsd%2h+Q^JxW^b-bpGGabx0hUvDu;3JR<qNm${?G9bkdf8D=yjI?PB%mqG! zz4r{9k}Cnd%UD;aSrL)*WV(Bz2_8==V^zj5y9B`s=LXnUlWV$tqsd zG_!n>fSIEQa|}6ryuqWIEwz5W-cus>Lghm`g`y?H`C$K5Nhy(sJ}ZW5svvdahXYuv z@JVk^OTfCjm0FvX%~973re)LjJ1&h73z3z;v2lA604}D4<46gd(?J$SWATPqQi`RP z`!~2l8!aOC1so|cCUPZ>7oP$91-g$tsviy4fU6KE$m6uD z$E5IM9KlduY)t|iS#!0Bmx@xs+ZmhIW zG$}Tb$?GyYOvx@bBAs^FuqltSDO|)-yR~?i7!$yq^V0}JhFhyq8=SNlOSj2$EGMmqp9B$s(U3BXP=L-_S@9+X9nsL2F16k1GRj3Y`-k?-0J^AoK)xCDs~ z%@p$_pa-n@Tb30nFU3fb&2{YN#N@hZZ;9?YF&zaf%g(YMyqg&D=C+4yv<7P%L#bsB zXUC;T$nagA-z5$2zMt8+H)~tF*nxdD0PNU#K-DPmoITb$eT=ABn>>b~@n1{icVJ$2>gl}FOU6ub80-=p%q6|btQYVyYTN>t-HK9rX6(&zOVCcOAWy;4E8A{h{sHV{gikKT}l(`4=yISBy5)EoIHfWF_rv z_DvP-k&c}dOMUC3Y>cK#v~3|r{Fr?YJ<24q^7q)R;k06>yPxb(cfJrfTM5*kN8 zN1-t%b>v(aIOTtFJc0b{ zL@u@FbDvVS*vYq6z4WA{>i zJT6MX5-j8mHDDbWl$KJL`fD{gjuD^y9I#%)rWuyra6bKno7{t-58Cuu6zlexa>jOtSiGG(z!uT%yR)BpdrH2N zlGK}8tD5}#PxpM*h3mT_cbKDOlX_w4SSwhcHkz&Q?XbN|uS&)#LLRJLpV6l6fu-t& zV1@y9aYi@7eYo=PrBDsO!s4W+7V8KQuCX@Cqr8x%tZu{9O#C3dp<(B$ITZ{f?ATC3 zGoIT5GBzP@bvnBLGkCW->Pg()5VJ7X`zEO zrW!e>y-(pTdV3ZLM1sA?Q?LeKX|G8KlIGy3m6dfg>}} zCyS9P%h_DBE{Qf8g6;EdMtz^%kIr*mo6x-Nh=OR@4m+Z#m)(824FU@Sc)QE>u(K?8 zKGDunuWBG5lk8g%5=GLEdOp;b@Z(yL{qy8=vzYcoh zPDEgv8PsI4dKkW5rSv@Nt@WQSCc}EEyU?8ujEItCIs$owT-aQJ80qq$I`E9%Fgv0% zwOfvKnnV*@+~ALs^`vSuIKZN5O00glLV<0B+#B_Sv2q_j#yAplc>-9^_>&y5LiB7I-STy<>w$ zofIu{1Bdrcb1ot1G;)QSN&9AN>z?JrzD$sr%irrqOcTw9Hd>)#`5W1TqEN$gmn}V) z{gzdep})*tmchf5rE;ZRGVa~I*ajzY7;ytvP11L2;H>TCMHr0@z7X-0STwuF;@oxI z>Bqy~&W?)5GOC@G_hI4IdJG!PhyCjmeLP0Z>XBOqbA=B}H;=Ojad?!Rq!aUF_pB9yXj`ck_?98w)R_mnm94HuJS2A(~R_ z!XYI9B)09;h~9~XflhE=4oiFUP2sX`X#!>h_A3U}0ts=YsU|h!LaR^P0R@VSSLUG) zzlrNa_X&G1yp0r3!3suUh69>_!<&{&cEK7PjwLM4p{+aBFcz@kA#VS=4Hj36$t;seka{dX%j7;XaqvPsP*~!E& z_vnbr^jE)+6HYzgo+^{63Vudpk_=w;zW+r}_IUbcjp$mHUD;hL zD|6L~=w6leVXpC7_iJdUnkX{!!f#K{ZXvlK~dgzK!jenGrGv$y6g>TJ;@^SnKu(HSpm{=7;|TAFM8 zp2{)n>7~@6BmwGSW4s2!G{Fa)Oe~jP_aW-K_F^&i0IbJbXqsuW+WAm<#_=hUAI8le zS_@5$Xf|ZyFvBE6+it*yCVX58CrTyaWW#U9J&My@g`94_Fp})2xvGdM^!QnGzD#RK z@JQ6%wN0pKVH$5}jp)J_F0V--YH=->&iPQ=jXZu1cW5J@isqBR?N7wp1MVS>Me2jPian4FMpk;}l`&Z&iu zt9wPpS!@>UeKSO*+Ft#If>J^M$_0+On06=VC2gI!O`yTDIf8~Usy9h=$nImvd53aG!dB z<-5YVR3zoMRNwD9^Q3__)wntrO~LmRA43oM#4c^!3dgT{lD|LeNoux9OwfY)`rAEM(N0_ z8bMs!!yjX&u1dnQUG>{XwVmCK3NT)~&rFE>FwYN|=2+zQ6>$DY6f`F$TpGxtMg4aP z2a8F9-FnOUbn0&PTz7=tP$(ae*5c?2tVB1}~6JKusG z^(PJzhs&_FY4=KlM1tawaPd@+gF2-@#Fb?`GLb7dFxRxrL(#?AJ|B8noXQe0hIYNf5do{rzVBblKP_ znm61YkBfDBxO^ru#DrgD!e(ojl?|i*mOfzyle$-J($}BuZW!*Vm9E4-RIQs=xOZt~?lfgTRu=j>(+SfU!Qpo`C5l2@D(rlBFqaGA6)HP6W6c z>(bY9%g&WrL0&mdPxsWhc9CnN3c(@Wu^N8L>&Lj9oAkB>w_C=wVy)W#LRcd1GLE?+ zy8XG7$@T!BvKGClz0WtYgWHVwQM57gqN&H1+`G+Znl^hc49f2qT#zA{4RS1Ir4Qu?U{odteWNx#Q1^zP`s#FYO+vT#kT@1xyMRSOglq)(T zrpD=WmV@!s2O;JL33JIaLSa>Q`w ziR^ppJ53Lj7ezk`4~a366`KCr%%F`(#R%Ef2{NI`6SiK}NNC$%+zX#f11=Vn21cew zLaf`wk0yEPpSd%SZ;c?3Rrf+lY6~aUTUg+~T1EkGT9Js@ZM*_BstYh}6b&X#`fU0f z^Il|{do)@siZM%cajw;B$hOg$=Qiuj@~_K^NCU&SrOPgh!WSJyWcOLS*gr=lO&tkI zUt!3Oe<#@#lIH(LLl03vLL^UF&~QsKEhWld>r#@EJXn;}8(Yd^2vkzX7Y~ckJe(H~ z7LOl3EpQZ)-4KwZrHLA@1SePc$uU($B5_J!bKJF}gu}*H#lO|old4U#+|aJ*O^J$C zdL$C&w{A?^Xd-uR!+6v!DSHAO{uG6ORm_2~Z>UzGG(b@*h98Tgwk{Dmu%(vl{WbAL z=ITv!w^Hrc@T||00&QI7^6rHFRE&34M3kr@ibG5;LgmJe(UscS=4#hNd`{RFgj?%I z{`g@^SvSW=FV1hU&Oei{Pap3)9Wd&6atY0c_Wr=;_8YtD%Ql+*@`r@$VQ**QeTAd! zdjx8TW0=XoZKKkSiYabvGp0xhF0U*Co;roIMRfxVE2w_Pw7Ze_zP)`NCq|tdrT05+ ze0B^k^J=+RyV+i45$~Uzsqj=nv;_iWa@)QXJ`-ubC-KITb!JH`NAVW=6U{rpt)A>O zRa@vBmM)M_3w|u{OrH{uE*8lA+VY`P=J^6!ZA*k$55LFOS?gYtbhr))iPo}^{vReN8c-wskRWve(_9e z4s`CtbmcoMzHJv@8mHlY zBvY3>Ikxv^b?S=2H?zyGtR zONcVt`6y+3WGM;Za4jqD=FPFwK*hHJnG9`btPkWAKmO5)y&loq3Ft}2Rq3`2CPu~W#gH{H6qztwUWCE-7xbY1WC!2o7mS=X|s zu3H5mpkhU+k}SvU8PPC&;72n7RGa0XOF?Kz<5+u!zJ8=BZfw7%G03!MpeV)V`<9nd z_G9}n24`P*YtGw>B_YSxoEW>f1@(|HQS3}_l-mzqyaHv&OJ68l(^%3kzH9W2!v>P~ z^$fsYb*gSe4(Q0TR-k*kK;^(h%T*1J#PKP1;5*zmT_$xb*FEF{U7qkluA2>1;1AxiI3XO4fVb z!}pRIA!O(>kd=)=Nw(J`!VZ7=)9YxzH|o71zm~SjHoP%C*e{ahEnpU>4;+%{+Vv>` zHXgX(9Pz!^JC^f;dv#wFr`>#nwBT>!r|3$eWDlXx4|B*LZu{@EHT?N`4N4Naz3_t} zL@J%X6Z)IUgz$G;{8FlER)Y@gR^sqQa=Xr(&Im_R>O)s1uTG+sSU#X)*KosJR7Mt~!?(Ma|s=vRoe-iZ) z=*X62?Jc!t1b7tRGu%kaQ{AQP26_^l_o$~ssd&70ie^Uq#!Bk~SQ+`zHC$1Tsj(o zxz+YeK2c%em<}MvgYLkb0?5S>OF(lHS6j}|PHMG*?y9^#qeBi1B0p}@GR zDn~TIbx>rYLX zi0kV#NJ#b;9_WTa&rMewf>@d&F0a^uNjk<>Pcs0IHUqy1pq;G_&?LXQ83o_%^7}x{bYrJXLWed01meV&Yl|BOmX)RQ#SGQ=&9z|1#w6#Yv8*F6-`Ofgm1~v z$L{Me2l`EkkRo&4Y-~M-XkAilY@-;aR0P zLsS0247hp-683)B;ncL`xnkycU*k`YiPIP?+_h@@;PHv1lt=gHA>h`kC&oCFWj<@P z=k~8Q1hE1yOH(LPu^8XcKUU!F%1A}6k5T0LohTR=$qy^JM~EC505{qV=Z3y0Y*+5fQESF zTHMDB>775T>Jj_8mD7{>B}mRF;wpp2gJiqQ${QP?^G9y^)s`~?Q)2>fSR0A-%`C+r zSoWb?GFen5&s=>-7A{zk>f~O2WF>K%lTD>n2F>oE*eJ~u5Rlh1eF}PLCg8y`kIEmh z>e%nHud$33D$`>xV5}phkjc53TaNsOyKNC6?Avvby+ zPE3^N6SAO@!jq6N0amuyrdPZ5b%Kr>CI5~6(_|;j1aM3xBQD1m==slj2G%K}3IW2_ zgw?YP?MU8a{nTf|+;JgZJdEOzd~Ri2a)wE#Pz;DZlUxATr)pToA(3Mv7Rjo*%m#Un zhu52RZFB}(;koA^SVvxn?cgSDAl?!{46c@4@w`)ZQwp(Y22B18Xh&g;M26v3`VrhS z;@X)-m7!rBq=}knKzE)9A>bH;eSEr>_0#*4b}0@t6K5B9So$CopvF$u3^`Mcy<_8 zh>#FR6_d#>D7_KwT_dRMb#W;N$vV78?G*A;=!tt3orlT7HT$)jV7bHeCt)&9?7$M2 zCD5Yz!V$e2nHc@`M^nuC^t?cc*fYf)kX0UCV*uJ1^>3ajhXO`-U~3a_&bXNZys2PJ=_4=$3ehW%pV&F<=yBsKVv>G(vAzFQ(#0pw=JH z4Bn`ewJ9c7>aUh9v6ZX?4C`y}!3M2K#{fXUF!uBI^0++YxRS?)aYVEdx1;U3cEGj5 zm$UrX77#@p78{qK{Of*nH&`R7=SbdUi<~C_l~y(YDlaoCaWGLJ0ZlxWxIEYAWd%+d zonV@Qb!?(3m)#@D_JHf;5%%`%?nM)24`RFSh6>e?PC2N{uz`RxTb7n+fO=&$vf*JuM&c;}N)lMwoT2o1^sA|q~+ zFd)HfZ@6_VbPQ)i@)^b_#KlBEWrcBnS~BBbJj7(!#qA|nIGo2|Lp__YGc^CcgaC2$ z65c_OMR<8kdR10?GE!bvDcc!vgz;pWNc8vfTO`2) z_=({+DgZjR{)DjOs-GhzNjN;#S^Nj}<9XsLpsyF16%>1RD#!gD7i(`BFPUx8%2Ujr zRU!=6^;+(;{cqaQgP$c!wEjL0KV^cxl*W zhm$;TH+Yapix?djCDRSZ@m=6@qGheDnc>&MNoZqGlny|DlEU>wWMkacA^E%LXg0xw zZ@6x(S!iQjeACM=IIy{OOk8ny7)HFSf)hmgQ}>*pHnWb>6%=_D&i+W|m|fuzOmGA_ z^ODW_Q1F=*|v#mbzah4G*32zOS$Vrq}! zPJT{}EMBd3I~N@%L2Iq@pNLVtrgEw}1wY#_VgGb-5R8LC32;lSP+Fcby#TLM# zbGYe|jaltkrNXM5nO(ZRB|wH@OM##xrzI&v%|;p%$m~SEOZB<|FZ{JO$}#)p5!VlC zhOuZ^KH+0=+*^M_=|&+k#`oNArNyA>V4#FzQj&)L*hNAdDTk7SX)f^t!&2YlymSLY ztni336#gynQqG!5Q*?<0&9)Kf=gHi_2WmwOH7gnm*00x4`&8lqBS8{{wA5+16Iy_~ z*lP8$CBi2H+iIn%f|h-pi^w28WV5Bqp~ zYV~kNs{N2(==H~Wt}Dj^v3{?8#2_Hfj{cx+o&&Dk1cydGa85rQ>(xR$5sKo}GEZW#+}zv#WJF@$#~tN) zYP?-2N#Dz~%L9~+e3Cm0FZc-6flAH#h)MZbviFuSg~!P|YzKOk_hy`#&ym;FN+TIi z_GX({$)ii@AX2=&lX4J1-(3@i#lXCec^ntQFYv+8G1!ffvC;!Qn)y9gRw-EojjBCr zUkeq>{C-gVs9evF>%Wp`r<6E9z&@)5}c@s6nj0+9R zCd~HiI7v7lozT8nmCh@PQZ-oLGTwlB6ZyShVfuEGS!%evKQOcbRz|BlF~oj`IwjEV zxE#*G7v@3{dTpJVv)?25XXizIMt6cAWZvqE!Td{~@~MlEwbLevs&-D{CGwZ5?f~Mq zFzyqE+6&dLlN)fKYe4q)iOc=Pk;7*5Z>cKz0Gm|T3E_F}BjJNavPuM;VZ;&JmySQa za3;$867N#5`I{mw)tTyX6OXKj6@^4^y)QFD;K`Ardg`3`!BTJrIbqGVALwt3D}%b& zJNu1LzIS+d`c8>JSE#WXyWwf?puz{GU8)pYt z2TI2@E;4NMB!Yz9tCFrd~2|3gb22Y^d~RfNtrFbD=BsD;6q82#UN(0BT_PxP%41)e_~9=vtr9{K#@HQ^`HQ(@)@5^`=(Kcg0`# zsX`6yayRaAG$!n#8rMJ?*Et~i6_{I62m>H&qZ4gM(N0N^x{tJc!k+zBQY9ABZ$d8p zqP|7~Srh-#cwRS0-~v%l@_S6pmIooLjGpVllaC40`_hc6QIv3Sz-=hW;xr!XBR}HO z@#qsFF@ah;nHOPV=LO@NYPAWYLFxw^JtITX7T)4^)rlz!`th~+L2uJYqt~-g0V(;X!5S)NJs) zD)pA5^UW_Kovj(C-|KD!Zr!_whKix9-df%K7;P>Rn2I2s#d9?`GGjKOW?7q9X{-!0 zw+^X)_Pxy>|L~UWBoUVs2*y+wHhtLMl=#Y|(%tX2VDCDN zuFN`1jNP8}eAf?01#ggmCHQGvoXT4?`F;8r8#>IC6(e;0Ts+Gdf!PYdnVpIT0NYbjLiX1 z`iG4pKJUw;RaTH^D0UWQ=QO-jpawH!T;QwJtWmldX&FpCU*{ty zFZ(7UO9%)C4QS3->vE774uCIpk=i=_!)*YPV#OM2BM6^5!LjYFs0D#uMuD;u8s1Sz zFV|-*5hN&<9+Dun6d`|!S8HJa+SJ?a{rcOKiV2laNa4yS-uP1II04gi@JKow9A;ff z&Q}SOqx<%$Qpv2RDaS+B36(6cmkSO$DA~@DlZ3Z+6j93Y&5*t?&(aark7;m8Q2P(m zK{PfWl+QtkcSoFLH5glJI_pf2@xYagn(O`t{-KHT)7-M4Cu)T0 z>mKqx3JqJ7mAo-xUN+v;KBRG@mV*O@9d!R-Svtkm=q_C?I?`_*uvIRGPd{7v#p}F# zFJa#&LtV`XUHd#bH6MA=mf#vLUAiOY)`AH9t=T;RQ-?c9^1Um3rHAAeCj7NwJf5(a zlt*=`*fbSfE25%Ed4z4K3+us|R^jfzzIeKnu^1cD2%U?lA$Ttupf)!k@S=5T+Qa+d z)5NKMC*#f@lIaB&HR2(&+TO>M!Dnd|lkh3zqi3NPFkcj;9L7++UC zdbPt5s%W?>`SWq9L}Cb}d?&oq_V}#)BurM*1nnlh9RgoaxC6P3#uiv~7a#VLB4{}( zC>L=EXKQsq^!#1WuN<_}Hg`oPlH7V{Mn}N;Od0}-_W<>?V-%{vsW%D(;0mmjF7m^& zxDPNcx8KTrcsZe(GRg(36*_rtEE?>G&Uow+Dr|?km_66;eeR&>Z2}ZzO8njlslgX% zQIkm&A79-}b@4%OnuL1`D>>^khrEg`PdR@uh$IEIxrXss`p<2?{6-0x6)fhAl&jma z{+PaUr&$|N^5ihPI!svFrCE&JjJRFaG*gYrk-p#=N3#2(fgvFpbfCHgg}Q>n3c{+q znKRLY0sqT_IID1J4Fmb6mvyq~aVRoht;SOJjTW@aayY;e?~YQlf_YJ zlBLzJ1!epwW}JYH;*Zfr(L!|Bjx}!2du$e{N)?aK1y3RHd_{qukN7_a#jWy^bEZ<^JYdc|e?doo#YqpfPAi-! z$Y6q=!EY57Mi{PDHGEbtMTUW9$^x^|+pa2FnPj+WQE1e?%CO6maXxQ6r#WsY*lXp? zgM(8iGb*ZTW4L1Cyf>BDJ|`jr67!$s>9yJ^6Yp+jA5Xk-pG=hL?Ef;=nX|;J&E{gT zRktdX{(&HfQlAe*H$c>k8vFX^FaJR7+8ZdRZa^J-&OG4uM}c8ok@PBTUI#KL&_nuQ z38Cl3vDr=RTdun$$*W#|+U?SWVzrWm_0o<8w{jj=_>J9B;p>-DR^ZsDG#a8+H z9wXS`NFt8VvkNe)26lZ;aDTU!qX?gE^+N91D|kRvqjnV8-Sw@Cn|(z+u(jC4lt#~5 zVcmu!YVcB|AfJK)9f^-}Q{<6QN?}ve?+GPnG}}G$yDuvYyDsXOhKpdL#vF`bsC?-d z*;B8*Y+;11?~wWEu+$0KZL>qu5&7`o*Ua{7x3~46+5`!oqlc6Fez}z;t$G+v$1N6P z(E!c>=K#1!lJgL_S;?R-WZu4-BAO@E&@Zv`E2}AjvlXCkOSJpP85USTNMRZ|vlU3( z*3ob4u0N|28-v6^h3%PD9Bg%alNLR@2X+{07OrkUN6{xhm`2N`_~v%UBNahnZ6S_+ zdFmyH7NGG^Qag?-L)K+x^-RF4A)iEa@PzIR)okk%Ep6(S^`Ckx`u)(%-(bDYeyV0X zf4(W?r)r)vPW&cG`;6h!eWA8~;(T}d76!xb9PY$bnidLp>CwT9ieRiZt$7RfPsZw} zx%J4YCu&MFm9qCQ=c5+7ukKu(E`3KYaw{%{05Zj7nhJa{fI=|1byp%SL=l~cR( zqIbO6@gVtDh#EX<<|?U5sPW-r(c<}>%zodVq6D6rh$jhU>n%6qrrSMI+%x?iFh5q}PGQ*_k#$&RG)eBJ7sVe@tiq~BzJ`gPBkvhS2B9SH zb@zj1<5m&;#vCCK1J$B8Q1URS8P3BA-`=qh&5^?viQ6KcunfmBCX# zT>q5~1LzWt5o*6#=+T1El`i7s$wDXqOUOc6UwLMVvpHwy*hoApL<~A9W%XMwiqoNq z^OC@+O8>SLS@g0=nsX^9asV-GYXI43`V-(x-U7E^zG(r;=}%s_2;O_B(jO@5$Ybr@ zPk4|;1PbHAPg}`HW{JgzYM=dZ9qQp6KQ$(emz9BRGa3c=`zf2ae%-MF@>Mj#hq4a* zdO{GX^fdBc1~MKdKJK>h)t=noqL7MfE29OvAsdp!*3c|#c)~1@Mk3{DeWSVS49}_Iy&?k0dD-;b%=ukQGD)Oyf0PQc*3E%j^iy z4V18XoXG=<9^}l>9JUKWIJtzUONuXoHk#DA#~H||yCKVI`=)KU0mknQYD*h21JdMmzs3UrVJe?9d7W&G_>Kz^_nwi_%Kk8+ecdi_;k&;&}9~JVATsp6mgy z>RCLBbgg74V@PbNkdkax+bFYY(@^o0Ruy)vz;7Camw?XLqiFDWHleAnWn~>gAXG3l z`B%f91Jwql24 z05H=ewU~s-I&Iym$f$NAuNzJR=04$%1CRU;%r7hB=Z~@beb1$@L*+}QBMP$|@(ubD z*v1qJ3B8&xZ1lonpn6ja>kwnhrS05P8J13!@bdV=GsF32s>PKC;I61eS$xEfuR?>{ zgV8mR+4^OzNn^4SfR5n+0M<5#DlTDO*4~4>M<@tP}2+5MU2oX=l6Q9!4IH? zONfU}LUG1DsxucUJKvBz#sEt5NmF@RI43ubK+SK82;;Etp#6t7xlHkAzJ{Kq(gkV+ z@jF_?rDuKv;Nf{3qgu?T&+)S*i=?6?E#&*N8d0%9KY72%WJ}uSDrd-;O0RQ*mRU;E z8C~xWaS-N^)r~obu%LthdICeC;wD2M4KjH;%j73_Qv(o^;tB=~cPFgc?q$S%$}GS4 z_Hz7Z8pv;<6jBQ*iOd3BH3RDeUdEt7<)tT$g7e*upS#>?OtgB9w)X`JsWF|3-LtOY z7a4()14f|}FUeh^T0P*518*`>BosQ_4}zH6Ujc`#dK5%DQ0PCqwtCeoX2r-!FzaYLhxTj~(GHPhpxveX4vNPnmPiZ951 z3>;nbfPMlC&~X@@)bphKlv0iBG6Mxhbp0xp!d_bZi2!ak#UDQTPf#(@x`r&19)p2>&tJUbj9t^1T$?RcAEr*1za36r`qmX45Onpxi)hAnt(17M^E zJv+*^zY>3T{tTmyE{3x|{u4U=T2%#=YH^!wFbDwK7|GYC=;kil+)@Hx|bhrm~WTDig_}Uw4X3`!%Fe4pv|15F^XZ^ zZa(kq*SIZfHJyIw7y|`5lZJ{qNu-TrNMC#inzf|`+oj^_LPknC}{#&dmjfHC!3~@d00p;w;TcJpCD z=Id#(yUIBcyu=j|Y*ZeyJcmvwPlLr#iPJ?3AmeS=bVRP{YUExyWTzNT86DTa-W2J9 z?#jop*ysbt8g=tRu+|Q(+;jY&v=f}PB{6NCvL^`)EF2k2F@!gX_Y-% zO6nfkRutql`ugH&|DO*^ue=$RLqn=YK>3ZG$g;j4fo|CvO1I^szJ&^dZ|O8xAFn=g z0rPiHA%5B;#Jn#Mv4DV3(*4QRvpf6aOb8Op;xuiQGX3;#LC{U6lt6ci0U8F56?oPv zNz8Na-E`wwZ}v!&3o;8w2$q1q5XQ2@)uZQT3DRXI*fQ?WGIeUF@?RArsX$!`sXP~IqWLRCZ6_(z)RpTL_Xxuce{ogO5QL_o zMGc9O7(?<9kPttHr1jS5PT=2Y_&KriDhem3t1DvSm1X0TB&f}hGKvH$^3QMe(@qP7 zp5{KAQ&K_)NhtowT~Me2sVVa8E3H51dbrOKCQOg#EHpUeO?n*kz*nNtrpuNsWxRu% zHwe-oiKA|mlJsBNa9bmj;L*CbI5L&vh2F7FB53U^wUFK4J`$9{Yn)`lsRr79{aG2q zO}T*{p38R~>{WGz8zGK@s3_LEwJ&#&=^tq)D4x*jAlr^q{BorR0}3G!65d+!V3Y7$ zhQJnIoQj`G@y`7Wtuz4IHrLgQ*fWAcYfiVRI1j?+9O4lFx~bi!XKS8TRLbXMY00;d zP1pS4?GdBnyVlMN!i!P`qpe92q!~q9jFF~r7mej+usWEM{+7OCoTh&^O1o0!W?B@piHoJV(8` zw}6Wwl6RdP;Z6nj5D!SH^NCjPo{XW{xPM>`?2#q_v-X;h?fZJ)fL!eajVla9f=Hfz5i{@ar>4sR78ZekFH2>AFYQw>xIff*Ms%wD!Aa?`o zFsETz`cO-SB{XUWyuI|p;vHULA?pUdX}Ts6u@$WoVYv%JqKE{>ifriR$z`juQN&jqH7~E zSPj@c(i&|Wj}l4t;NyuB>Rl1g+2M&Q;#l2I(@>Z;jUD#{$q4-aAoBCEvY-r?I~ z!p)J^batAw%&$dUAf?I@MH7|ZV@)GA$#XVBRbDzzT=Qtf^4#8moS_%-(}T4U+vg1< z;0X{vsal|RkP>E0BxY{sQVE5*I8rB1u(#2F;Ds=cJeyD+L^w^_ho9y&@on786I8Fv zjaS-7FOIt8cW74eKdzILdMA<+Cqf7-$gd}q7N9f`5}&yFf2&un>ooj+R2Wr!Nj!n2 zIZ&v3z-@%R0zaoriM$YM28-I(oTRIzAIioWe&p50h-|MG0G6Eaj_2&(iDm1(r-m-y)VLwa}juE9v9TTRQ$WOY*8 zH5boIfS5=>K`If)Y`M_g9i2FMHn~T0FNN-GHpa3cT`?Zl{yc_~b5MiWdPPxnKwx9D zfH|wc;~@X6s;!5cuejBi#wG`{>-0+vowhadpj`Dqv^b<$W`zicH4_VwlJFhsHy-mC zqR31k6&9J3&C^1%(%;?Ck#>sF+4*(+vq-jn&g26yOe%CRIvLwT!zDQe1gaHZzW4Ym z(O%SbBcatUl34g@>x2}G74KHtNLR_98q88fmE&T(5(dP#Cb?h^Zf|%(z@^zKMb7-n zMY>Vn4(FTZZdA>YC5bOS?YRn8>>{{|1B};7aL*aPIm-6sJ35^ektOWV^qHvQ*Gj~S zAC&RC9g~j-%B|(PN>v^-ca$|Kl!aHp4ppV^OxH^pw%RIXPQyEu6u%lAT?9Z@u;PTz zS4Fct`|vz|Zj_yIV)xD&>o*D=5c@%!FUfb`pmwC6c&Mg6Xj{f9dnRhw!`;IiE}=U? zQ}$k8E2t+OGW{7e;g;is|fh1^>vR<)7onZvg^gVxpV0|b1rKHe=LRNW|U z4z^d({9TOcuo_WlFp`8si>_+zAGy5|do zk_eqgGN^g4>U1W)D0yji_W^xtYAVQ&u0xbqUw7|JX7eFb-Iki-Enj+#$OsG$57UQ> zsuAZ@ADmfPvrD*@03yOq(HXy{=4|3*C`ZdFNcA$7$j#6Qq9YC=3^a})+yWo;`1rVN zh!_FjRG3}{l*6KdF!7DY z4i)CxvLMNFbH7zcd2G-Xp5+}g(~9SmrCVaq!PLaLan^fZcGClxRA*s5L7cE+<|kTO zs#!55DRlLfOXz+rD`6X3RBPk^AZ~8$089MFc3^LdND=^u8g+mkl(m-h`$V(jBrvhi z^>*$g)^x<#ILJ?>n_aBn!jmuxE;jC-Qk-Off4tLk18;(>Rtco!PUJ1ed!o+`fmzm} zke+lHS=f1$#Za6U5^C#?71;pG*Gg4fCr9P&fIc{VSGK=@rqkBcGOl790TYW9RrlJZ z+IKKO7UDZdl!n=2yyVOlsu4qm~DlL*=tR&e#|J3Tk=#xBjoTL@&L{hgy9Qt&v7`_COaJc^G@s@ z-~BG-uxgh6?&>?tE;K;dyEuhD`dlCbq15|%b$uL>mfxM7uWEs$Hr$(KaOq2K^Kp9m zGbeZ*%*Z=+r`>JM-PT7_`)HB4D&p~14ugT}otDX=c3#@|G(Q|cPy^DzQcx@bK*{S5 zOUfkmJf1#*`Vt*ZyRXK=`#sxf%{!8mZ@gRr4QJ}16!AmfKF62iVAO*)IwT(6L&kCn{FT=7WOYHMUhg*i&Z`er@61$|aip{cBvr-KTwD9XB$&-VErCd}6zPJx(g zx_=TzOgYa&;8sRU;wD7X#h|+nhr}2tcPYwl2pf-k?Jm$hjB>HEpmPY5sHYs2 zFL|whso|r>168i4OM^3|`M`8adD@_QkqinksWGNZ5ilz+e65?l65UxyfK7n6Mz*v@ zu6N2TKEopsjA{0Ufz$->t`)1J^{|Qvwyn!5jzg>V!DI;SN0jpUVHmBLvlCfrVhM z8zkem2o6Mv0?^D})qsrBH282nc0|S$AI<`sRLS7Zg$r6jJ_+z8h`*w7reRZTFK;xh zg^SBPL?&I%eiOk_d-TKU^6M$3BU~^Zl4d$~w~z+tNP1AyxRWK}(xthBSOz`L7llE+ zn{M%!O5J62B*bJI0)m*(o`W451CGslQKg%@6#8bmU$D!Lt6-MVxk;a`aaIlsQPd^(@Y-audh-5_`Z^(&T<{s&%^ zfp%?Cgo{X=d4G6j(lb zfgln5jg={%J%-WT)(50v5I=eOa3!bvD7{HPGoDiy_ba>we^jojZ|}z%g;esYTMX*A z758DuP=x&&QdzUmbVSXmb2dy36{EX35i8Qil_Oj#xQ^;r9yuX;6txb+2Bs7DKB>9E z_~7|1SS686MpR6HNY`bU1&%|`VPT9VX8R#-_tW2n^g4oU`};=QT!y!?)8(YIO8GS+ z_plBwbN^#YYUq>vJt8?dzy*GYy{TehH`P+V+<)j^L&ATjR=Cox>;>;WL^kcqhbJs* zP*#%-c0{7WRex4Am&^H7c_)aqf}!Eyb>;>=NA&9mT$7XF)mjTr#P~%I?Ccxxn;bxF>D$N3+{|dl{P56x@4))le9y=L z>QPVRV3*-9=;i;DN%}X|<=^0>oXkud|AJz&{2Pk--y%t644lnPYz&G z|BWL3!y{#+|2v12{ofqY|6&CH0**4Wa{dQ#^v|1r5J#E+Vu}7A#8KwIoc5pQ{KX~x z%e8-qqnsT7xBUO;gMZUo|Dw_U<>UWk=l+)=Xa0A{h3#A%EleE$alQU4+RPmP5o{*L ze+B#Rc-epPX#Y1pEx~`FaR15o{l5YK?=JX1d})UN&$EGmpy;=`_H!jy=LV6x9)GwVCR71 zU}E@}1K9rP|5lhe|8CY_Ct&>R6O2rM{Km-kr~U6k{hO(O8}wfi2OARhr$6ecNUaY8CM3qo z8c0C_WnRVG3U+ucY!brG zXaEinwW9vB{TKqeKk(=vps_y42`2zXdK(4?01(p-*Emz`ljpF0dO|=1Xy4%Q@BkbD zfr7v=7)RThfAj;40Dy3OcX>Ukz&0v@zKJqc6BY_s6@oMmE3<^Nn@j9%)zseSYy9mycNj0N~u>@nPIWH(rnt5rF#U zmOB8m;Fy`3grDJb1}4U^`o`~JLEsNczySW=N2g;mK0>h5MLGG+DIwJE9x*-32rf-^ z?loqRKs>KA?cd_Syi!Wg%ip$lZZ@d1aosluy+#roCmLy35bBs({s1uFLP}l=O6c+V zS>-_iWBizJY6=ZZAgdZ_ngIt@momNAkDX$@B%;Vlz)sZh-JjV{8(2Jj+v4xv_CLR~ zdE-f6aF{P{K`k3EnNBjS7@1Btr==KL;0}4xv+!fh@!a|I9MGkP0>8{8LE;8SxhXGt< zxhpaPt*t;NdKN}^i0M1Bb=0$S0NLG9=I_+r(FSB^Y7K!|z_YOf{afAsPGJ2<_`3xg z(81aIZ_EzVx3e|}S?TLRKn|d#sg)x{R8F9!qlJU14R{y*T4DyEyuw|H5vT-FVglOR zd_QZy05ect4}4kaSul#YIDo9~LNl}ctK8*|ne`X@vo_nm%3W%i*?+M=Yjgao+-07b z^B4Q0HVebQ3hNzX{Kb?(b`F2GVEUyhg75ZU_}64v|7^el{BhHXf>-F@eB6nwe~EV~ zVPX4AyvqO!`(NVSgjqO%iXay-hUkg&C%TKz%J382MP+6DiSA;tGW|q%8DeGr7yV4o zox<|30+}3E)}Qo`)UdJvr3LN4d**JKtn5D##4tI2B8Xvf{zP}fWCO3{AFp6> z3-(_SB09$}2oad`7rcuJ_9WnEuZ6X>9mM01f$=AUcqTG1{bbA#jQJ;njK}hw*$G)# z8UJxjFf#nRT_GX z)xW~BL8`wG=C@nwudp1D>R(|wA=Tf)f~}7<$jCw5+S(ifG6KH?$VWQkcgOSn&E=1p zckT`XvH%snJAO#S`VWHGreI(513~Oku$%dTAT}x3!w7;${Z~BBI}8yM>}7soh`3-s z^9w`7274MI@H>&Uqn(761IXA;&jLdG@z4?a@xl$(AOsemkd*`Y)EJmM|Ch`P{GSqd z!rxsx=)W}f@81=yt>i2qyf-7*^Ze7|du=;=kin1l;5(V~r~ISo9cP2s>Uxm31=tEf z2oQM#8zKk+B6DC{1R+4=j*aE+0Q}wuE2IF~2OFdS*#|qM0NDq}pX&n|j`Oz#f>6ND z>F*VS)ER;QTVwijjUYwlyG4S;EdQ}ekUA^mGC>Nzo%Y|;$j<(U2HB3|4-F!j?3{mS z5c&Makp1_v{bS1hd*%KyX8*l-|CqD?UO%uw`(yne8?yekevk^=f2<#*&JO(F8pogO z2Ptyitsevid$zyV4^n4@Tt7(RM_zu64Uq|K&wfHC2*?Dq(*OOM{SE31ls%yIDilWWK|YwZY2;xzoXBOBQmIgY6Y~?vNGOzXQk`;PtT7v#?MG zL7W4yefj}aK!(N;7;K&X*{ouA-#_Nx@$c^ipx+4iqOf+h`jh^%=M+sX3?V5C@CShy z6xcldKoExoY@U7~h%*Q_Pv1?>3rA}Q$Z#D0Tp)i7oWMT_>yO97pYYdZ0l|LUdw=6! z*ToP22_djR)c;ch`z31|h|T`TM{7Af)1SYnFx-8`{!wQ9r>x-c{UfG|siA`jWEB}b z2Rl<24F>w}-{~2?|NHlUTEBPj>*t(*f6Dn4LQv4!#hng(`vB-z7??S~-==Kej~kQ6 zZxIX}?Z9t74nKa60a+RTTQ)KUU(Fzp3&;Rz67ErKAvp+f&5ZAZ@`gfPJG~IPmpXU5 zAa2zCmy9yye3!QpM_QQ+XCGxK4csr1We2YH&z6Rk5Pl-&X4y}lAFS8 z0;7qQ-jKz8LN6j^O_hCg@^CRY*G%imf0-M7WWW>ZnW70sQFs5_+02A)*%d|eN4LkG zx<+Fj&)iwU&Q7_q7%{JBb5U!$2u+rI22W5vPpp>|zoE<2Wo8WwnZp-1D0v@V(IpUJ zS#-D^yeNtj)1SEZ_I4;+=JUmA6L+b$(NzytDNQQn28NAxjvS@UnVJ#(HCD0WSt+0J zwikj{Kn`oo#Vt{Lf8$qr7`_CmKAA@}YL_yz#u6@5Lsu))EZ3OxfTw@`r>77rT*6S6u}TZWht37K+O+Hbu7=NruHDw$UBh26DH% zfsnXl%jYQr#p-6wDo%AA94FIbT}+;zE6PK?M|8m!%xln;Ozz796_d^;ziq=Ksw=Hs z@UgcOR?O;Maa?lKt-DnvO(yufyyVUQRb9kokbXw^1%bDEY`4h=|H@F4IjW=f%}(N^ zoKg=_q<04gf!71wTkiE6COEba`C}rM=&ldX7-G~8m^j(O(>)!7Zf%!Co@yCR^GCup zc@Kv==c1@S$oZu4;UT@){l_mRVISO=ISxiZD~D#dTu<42KDnksQ@MJsjnw#Dxw)(? zl{fB02pW&k+%T$cqSDs#%!2SR6*+?pmPxKjn$`|!rsIq2TdS(fNw@4Tl$^|m!{|MD zhv{AM&8XGEpSYG12i~;`V{=3z+Kuq-;?(oG(M><2V_rhj9g-_7P6W2pe&LX&mPe>W zK8kq;qct9e{&7zhuK>rr=f%wZ`|_Sd%B~eLSc1$J+8MeaOQ55bcmGSML`t0&@?|l( zbxm_(Y;DQ*FOAP)w5Y376zo4;1wCg9xKdxk@3l5h^%|$6?R+|jJ+Oq9`)+$!7`=%+ z%~igEdz}`fP0hO>^60%a)zSaiv!R%C zk9R>a?1NA{`HK^O!Gs0=_7qZqQ052ZnevRBF1O9j<%r_NE3H|+(@6BTxfY(Q$OsyQ z%Vs#f&vc}VS6u@<(6$6=E$dzm1y8OT0MDG8yX>XNC)`&oI}RA=qMD-nuNy#BuT+A< zc}0yaNI0nPQ$LwKrQGfsFd7u1<~GvH4cXo)!QaD$%VMoxjhZTiS*l4h8k2mm{T2V> z79YEhW#1seZ0Ra>;kkQ7&^@A1;dz#^l@%G9-23(MT&goy(eVnrPe)>^dZ3a6o1ESm z21${)#mKhmzWS*2m@D(+ z?z$|$5W#h)(eqY%;+=L2f~vZGg^EUGiU}$z{=4xvXM)xiqV~~;qQG~xbrSQEZ_aEz ziQCcM=Uy@CmBX*dHoUX(<4D;7Q9L+JAq<$c~}&jPs7z; zE)FqI8I9Na(kzNVXrwI*?^a%W)Dn+P0FAE}k*m@JvAdYw)be*ZAuRf23)fbP35_9m zQZKQ3$Wdx{%XQx?7-ZRcLib7uv5cvlDts76ofvnhxdEt(HjI}-KJYHT+#_!03*v`1 z4psHbUFP9#!-20B$B{9o@^M`vvMdR=r5Z2ul?9Lu7cGp>@rZgmB=Dz)3-hp{zaou^ zahz@@X`5P>T0aU+mfMBy@7-TUwJ{D>j`K<8YwzlohAY_Icknrx-@yz?Xj>#=KI5m$SPM0 z#cRQh=20!8tZrx8Ey{0%J2xk*kXQOnR#t~pxDNGsY?oKNgX@3JT*TB_?tR zIx)e2c=ckB(JXNYm8>^Y+bKc)0r82jY5RKDv3g1A{k9S2)_a+uQ{*ORTL%a^^d&;W z43!w8F4Ri-f!};>wpDa1=aJPln#jviN-rCHHwoMkRhB1*(bIv!Cccim8Uz6*0u_iRZcH&rho^mrZ zu}}qX3T1d8IJFBr9%`+PyePui4n#%^(nz5`gljDHb)U=`SR6rYbSj{XxYDsyHRjw6 zdoWtcf?S4RX(d&Ef7!BYjKFiq!ndbUtx&b_y$bsbxkmYP$Dm&ZeBt6am+V|ZvvdJ9 zQAf4x*N=FMP4+!sW_YYvcpn%TmkDPQEb2-1=vLXNC+UHD_d~zN4rmKu?HtP@Y>4^G z1uZ&gHak`<5a*z6STZ!P!hC}^m-`s4^R_zQsk!>GI_<71D3`d6qE}}D`zEZSt8)_= z#x;b1azfx8QpD_knt>@91S4Y`<(;}|y``nX+V+2(!b*EB0AawxdyXol9u!_uuOf@?a>vx9oB*3h%4FNw{Ma77b~ zZ11VGjq)(eaJ&5xva++ZaQN$JS$9}K{y~ytcV7QNesl`GyB*?igv*0Bm6gG|x7zWP zra26Nt1UA%#vSgwMaudHW?k2baR37~b*J&;WLnICarZncIZA9phy6Mag#O6})T&4w zlN((1K;T#+VNI+0yjy}xzS41}6h=5T{0mMmHf_D0k01Wg|MnR7|_ zZp6_Z3lST{(mi%~x1iVC{cRj0+dUiO9AAkySE0+Ycym>C%t+=hnr%&dpE^{F=4t!- z)xR;dd*U^<7@0Nv%HM2BCAb(H^-@jR&jn#Dm)#K^N#u!p{_0E9aE0?E)Qoe|xR#-u zxHYYUYL6>J`u)gTM#3QG=$brBq`q8C?p}NBV+#=F@u$PB-73VI(tL#NZd@X*aq`fX z4{+74&B|(GDoe`uGfH)`v}F2_RYk}Vw}^5OS@x9m-sgt+oB0=QE_5foW+r(^ZvIqG z#63}%YK%EGfAfj*~xKOCkf)Du!Em<)%}keEIE&kX~pELj7{cUp0RcF zWo2ZqgqN~QP3(ScFfyn1k>68b?66)1xa5&>Ca|o^squ)g3>KI?tH0e2vP40{74;Zk z!`h(fMzUE5)d0yy_{7PLE0wT&G2kjvABeVemS#6A-=FrkMpa*$t$;qs&p$IW*EXkl zQo9CCgwc~4!PKWlhjZB?=5C&8P``YE!7D^HvG{y*Y{OXV^CR0Vwm@rOJ(mYhNSC>| z2j;)n!`ZH}$m=Z~Cp~B}i$?1n9?qxbY ze`T`sHJ+CNK8Q%Jou3-iPi0$9ifXDZx+dDM3qQYUjYF1RHm0?3|7B9;2iU9b%?Hk* zJ4!FI5maIw>-~VhC6goNKAdvZ4t(#$ORDPmh7}X)ole(>*MXU7WZRo@1>x5HYLiJAM{8AV0*a&QG0Q_H0?8 zd~QjrPezmWc+UB_*p}5d^Jv~(A>&cfrNW!MumMbyt=WhfWs}ld8I74#R9k+7;B-F;i@_Ux0>g4YXem=TXpQ4VWyB`1UZP#l)-h$KFV zyj-PmYDzm2y{GuGqUG?U5ddL1hGGuhNM}BnBig}?8pl&EWuVTxd9|g%S6&I9%3*TzhM}?8nf*hQ`$+*; zcF1r8&pi-ZKowl{w(rK_gZfM-Pa+DEbJCR~)BOg-UTgW&NLIW$Pjyn0^lCn%JY-@Y71&2*!=1vhCd81w4M2yv<$8#4I&OEF4H z1uf0YJ z8%m}r7c+uK%H5KcpsPR@(v7vZ_@G>-%+qImGKEL@PLM&)Goz=FzY&IR2n}Ebe4idw zEJpOr1)UrEvytOdoC}XfUR~!^YUPqvNqxYxsBsIC9ElXV3#ZS@m}H9)M>X44XvG|E zmx2u?wa18auggPkKmqO@AMFzeJxvVXv=#^xmk(!N(#yQ8?&UK5;uf8Uw19be#?Wze zj*YFc*PL?niHibBra#FV2X@GNsm*SwL4>p!Xx;b>i>xy)4bAIiNx}uYnO5V|sY>b< z`?4tLZSHn6+Z>%zoD1ifdzgHvP$kDO$`VQHc#kazJF&zk&)U_#I`>HsM+b{-LaT;m z^W~hOY3|d--9`~=8s?ta;%@GqntNiJ*kwH4I%30LHw|x`GM+`OcX~G*K3hIjjA+tH zn@!N^TQ%FRj^l6eMj3x^*6N;1<}vKidoo@hQ4d>`0TU1GofL+YYaomZ^#+4@^Wf11O7Yp>ttV`v20i();UA*--&e|A=-nrJ{ zp>NBEjci@^5)()*yoosowU82r!&zqo!rkHLT38< zYEdkJ((a!Aa66vNwT61NksxWr3?l`9j-`EvWeGuTt*{b0X(@=};`5ez4S$HwAsXQM z2YJI-g&QQycv}HEX#8eJuUQ$L04W4rED&M2LOM!JFo~-|?^VCVaVlAY(=)Uz_Kcc$ zw@FJci@Y5I2X;$Xb-osliUuyo9F8x2TnuJBd$*6xe&5;3&3p9o$<20~$cs>;P|oZG z5^?iR$1O4-9k&2oTYa9uhV?~IIOPq;+5%x6f8;Z(wu?9)X5I5=Se~Tg4@hO9u@43@ zp-p_ycmy9%lY38~HAVZny>-e=vv(dTPgo5(h31Ypz@bW2q=$>`n3w5m_r!5rAej%Z z2xaPT-;jg9z{W#wN`Kh)@y#Luj>J*6iiqr5MULksrg=Y}mUKzZb-;1vo@6jKMa@nI z&C69KMMOHyIGtp`ni_!tGMM*dNKtw7xXMWM1@%eqa+1*y4MSoi5ov4*@)SIG;DP^Od0|($TLqwp&?^aS z-Nf_E`NR)fuZsn-pyj{UnG!}-NX|^}S$9yCLVsfd9d=pBR64XQ9O;BfM|t&l848CM zw3=9yV7+$4_|-JGmSowLk3dsV>Ws_X=M#y4{o)Ld_5^i3E9}XFtCkH*XM3Zdx6sSC z9CKj~-*#jj8?_5|O_G_uv4yOe$Bm_3w>QwB@3b?-(9w><3V$1fW;`KtTG)#|TB^`; z=)7In^W|AY;p?*Is?=Ye#Y#RFgIhI?;S(57j+yFhMjvbI^-T-%>8?FKiT&(RC(~Fc zNyE_RmVvE77m*eQ+kd5TJt>H!I#l+USfDlZ$+fmL+sk-)2JZW2UjjbPv5O~^Y?JVe zQ^`vO6FH!_=Wec;`qPQs6Z-t@jm~Z=U+TNV8TQpRhle6^b)o`rVPg0fT)5yjB8P62 zGEW0$L%XX2QXCjbtc1!FIGc{=GGvoYj&KZ*eDV@^XVNR!2%+>vk~^I8UX}3ZY;e%H zZ;KmlaEc(kP!J*K)|43hqNI($eKLiE_f5C$AX(CyUs@_ZvO$M)B4JrdM?97twqT;@ z6uLmx_L7-oK1!bQm4jvY&U8<4RG(dt2jVeifyt6N8LP`7!yQS?G;Q??(g@u+cAO9U?cifl+M|d( zwCv&yC}3AX04CZisqLfYCNiW1bg7YTT-D$JxpRC-Ow2Z)99HH$-;>iwH5T zr_`xHiBzd|HQVkZwb<$_hDqp6*1%MPZ~W>v>Buk0S`-AvaW!gM3IHn9B*ZD}QZTJW zO!M&00k0k;w|y93SY0VJZ!!R)wFR%8VFxVU_S#t}2G0}=k?N58C9dho*^x&i34e~p zlABaCmAh)`^}!zCm$%@;VAc;WnL4%Ctm}Mgi}cmYR@+V_dP={W7?f0;iU+=>zrf8pcmb z;d<3V(`xNk(@N-q$p@yMvAr%oY13@ERU|TVa8oxJ4o0L!XW_lXbgCp`P=*s(VN%-u0!Uswq!t^%-t% zu=+>c1HGC;N1b9hjEh!X*!$hWmIijzY~Lf#WD+sDwJl}toMBl_KEzJ4#>3;C!JVv0 z3YJ|=ATF~a;N;=n^=3G>nWM%A;OQ09S3}zY`CO!wX_|Df9%aj?*vm1XF{~mgajI2z z>&pz)OlDj>!i~eF7RhB+B@*3m(RpuTu{YCPWs#?PSuc^{%Lcbd{msPw82KQkLYde- zz0Lr9HNf{#oR+>`yBJX#tM>iOj}>NO&YtX7Z6_;NRkXenLN7!Kc0*e~+V>tI-1LNNjCnb;_Gt;zlBzhF^oOL(QV{Zs{19N7Jg(?0=r-`Gl{;aK#GZI--^2)?Wd3aNtFot+f*UU&oxjr9F ze^8_bqD76~STux~eYuBB@wJKI5*MTVbRGFqiT6Toe_>ywdR=HNpmali^jLC>3gEfz~2-Crl1e7zd^F`C(R$)Q{1g-@vXI8J_}-357R zg9LdzDS|S{<{NUO>XL`xRCJ|*B^8}ar2oz<9-U-iOGGc3V|CsJsK|*pEIy3l3ZkvI z$f?+U`sAFQ2B|iW&|Q}~ymqZ70Hjwmh4qE{+8TwYB=qkz%9^GH&zc+o0^(uh0QG|{ zQA=_698hQX4wEG5$1V3L<8(NWJ^7cg_^(^b`m&42FA=Xz+K$#z{EeZ%4M}260y1wS ze6njSXTEWEBt1@ms-!7+8jUk3d$xRqYps?}@^Yh;;WZrn=gAx81Cm;f;yC+kmvI>x z8a936`)!4cD(Dsd_Pdk;JSq!vqV*I_PoK9v?T6E!R;BP{ii3ar0FZ$rHQ2VX5Tz0} z@z&vEHXS|ms_Eh_{F)sLtc^mIHW!^hXSw$ddBfV+boi=AIU-;~R02z9KAtt(-7_^y~mrrlDDuwyOtDEP2_1|7+zX;Iugx|-wmwp_K6~-4NOp2V}BeI-e)MTro zvO#)jXrHB%=@)X;BG6t3%p`HY41jIrRD*N7Oo2+x=%~W>c`Y+RiFfPt7AN}n;k?&j zlNX6uf5Og85J3^WFiwKgR9VR4KCJ>i-Wky>Tq3v1J51tWol*U$c+RuNkRVbr-b;L` z^S$9jb_up3F>_dA?ARw$GqqX{gekq+$zmB?aEBlzf~?&%j(3mcxb(%`R%;LfjrZoR zaNAZCZF0^7&>QlO$yoA=m7Sb3kFVVWP%bEW$V~c^{Bb@{R1R~gcx83Ls}6KhVU>jH zWp+#pt(3l5{LJnzf(ial6N>!6T-T;cYno!i&QpWJqbuRB0ow1P7sZJ)u1s6-K^ z2CpHc_Uce4b46if7LKFe{1_!o7Mk!1_tsS{==H@Y)flb}%;)$sNyM)&W@{#lk|llU z13a2>nzTQgA-ohS!5)M6gX;PCR+rFLdpnI7ODw;cWcBN(XRvQ}TBx6BY<=4+U`29? zT$AdBn(*f3Dvws}AH{$CtY~U6Itabr`^a7>=B2(q2+uS}^V6936uylTF7+0XCSz+g zM)}H^?lM!fW8o-p-uvc790K!}Bl6(eipqdg7~@eNLj_!mBzSTP4z5%TU(%Cr?LlZ~0Zz#7{=AT8JTQbXV-b`fJ$XaZ%# ze?-VLW?QvjlxSb4Rk%WwJ2S`+Lf9fVIsr`7&_B|%RTMcC{+ywBK+!A;+!idtSMche z0;ajXzTC9POo!)`8iR$`(|A9n(Ggk-9ZP?*;y!cghpoA|=NHQ5%cmP8%ha#l2TfED zBB3p-(MxMZmO%<)N088*d&M=}{bfM}o=qn(Nol1Pyj3ujYjddfHhLRpne%TVrb^xN zD6r?c<14Sv{n-5F9<3wvV`ccj`kX$~ujZV^#Sg-z-!4H7M2|#uZFEQeg5GE~$n;I? z>&q6TS*VUOA3pno3HYV=^*5Ri^GLLi@9TgJB%fVk9(wdDqZ_!jXi%TEV-D_4!=#4? z_Si}B^^XLW4Kh~SWutZ$LFECfV3(U1_E=(g4YT4#YRILxc#Esr$}d{ZBpX)hL@Q6r zDMfcAa9aZM6=o|tSjoM@lD$=y!Z^}nOC`=^ZsNd!yyqg-xnrBjIA;G1)^^YQY!IKd8KiXPer6p~%v@$1F1 z0F{u+GK2}@m>^U?uIKC6E729Q>@GgEsPR&g7Tveq74l(hVPDztXzARcQBii=Qqd3> z=5UnoDagGU=iu=NDe-j2iCj)WLYj#eV}16}Q{9_>F}c5w~#v_}0x`*(;U2G*_N z4<*ThA2mHC@bC@0vk|HS%7YbAn&R^X81*zs6P;s)uE#_-b7pm^gBsm~=_zPA%0k{| z@p6^~7avELVkU2UJBzb3?=2P8Og!pvIJIv-$P-b#>H9!&Y<|*xg&ON+FBkiw=UHZE z-c@9whj^_DO=YqYuvsMA>FGxj??)NY-umh9h&~n38$+q|VZw`qA-kNojq9ihE$DnX z8d%mzZ&eLDh628(Y3d+uErTy^zDQM-bv@hKr}KzJXwc|2J?y8mQ5*}kjtgf940W5sM-44R z7g9l8$tX!51$vj+s}EM6gyLT@REri#otZUw?yE*Uq@wrFdHGU$6d$vNv$HOUMPVSf zxES;4vfvZxDG`5*6ly4P$>;J^%NsVTHj>;!id7C)GbV+_Z}{k^gB_D?R?P9ac{89Q zvh;h`D9)G(py9=?;RvsimpA|#1YwqAX5G3N5)4Up#ulz%Qu$Lj#7>M{SV%&iP0{|5N?seMJ$(gWIHap z*v{4FR0R@iKIVMMkoQu0d~Sd4)8r7JUDBldych9h_`Z|5Ls>=s>-JYidy@qFVx+Tz zpT8j>`K1XE5$YW;U96EX#ikTIxn+`|boZ#0!zd)QKMa2z8lFfgxQk{Q%q(Y!n4yN) zi~o35@S9zrZe4}E@$m;&QQV~W1V#CaS}^ybapv9zVZF4}q;U7FH1`D^jeH1@TNL-Z zCn3+7ESic*(?TfQhx0PvpyC`u$ckkTioSCr=RKb!=ybMJ0m0qL$_c~N&t%TE*5sg| z*77zJg*+H(#IzRI%+vGvr&O!$hxCu&mv$UMh@(sX74r|w*Hm^so{WjBP`JZNo0(Mh z%f!D{$V)n7IXGw=u7?Z+GTX&O_sUybDaTKkJY!;#E2A_&3bM_ z4?5y3V^>Q(iORilj)*GR0q^nNhX%XrUk{=M#c^qBQF$Khstf{cMZ$CllqQXIjE?%N ztu(gZ8;o`dSsq~1NbGXk4~7)iK;U89m{)Xd>bwwA3d-ABB!`eh@xBrO5Wn0tJPFy4#DvQs zJQC#kQgDdGqvaXLR~t#MB87tZ zvNg(WteRK$a~tLqvNGDoJh_74mV;6mp6+ED3eJ`fx{swND`s8JKoa@ay1K)D$;xDzvVaN$j3~RHou@Nel)$K`lgeP-Anrbw!c-FcWZ`G z1Q~!kk4FCjn8iiA=!pIhhqeU!%HvaV7G7?Uw1_iLnOAT)vRnj5V&^9=myyW?;B?)C zOFbX*5o-P5YGv^+b9fn~Xc;jh&U_l;b! zT5igWej<|q+I{G9(UqqPf06U@oaIR4NLlbp^fmq2B*Tzy>Ch#6p?~QML&l)awP1Ic zhy1u~jdR1UQ1pTJaYF+(h}re}Mu~yU9tb`r0bBFdIwKTQWc%U$-BJ&~I_8@+Jby!F zp&8N8_L$4^Iszd)!~2<(1h*ANvl-ns#0+mqX;Rx63#rP;?^@Hv z)@g_SZG3n6I=T5NkZQrfj$Gm3=!6VO_dKXeMXpc1BJd`$J&LF7yKeFNJ4j z%B53h=r#7EGUnbA!b|mOXh+U9=vm#FbE_YqMS-LR@LTNB2M92*Xt7E0ZA$jDv`uOc zTFUKoJfGMfP;F`MCFD}~w-4=H`kHS=bdvnm5=mhRZQ3hz z!xi`}s0YeX#D|)$S>CBj`@B={qm3gRx`;5hFeRoS-DLrW!v1a^V}b-cR+C(}&!$m6 z5~2;9MkvaBlu(R-KgDfLZ~$@D0ncT@q=q)p+Q3i=TQcy$GL?NAd?E}y8pTO53W25P z*U0j)QVtk*^GL_2;*$XnM& za7S)0sK3y>$I0=!d%ygchFHCrC<4ibwsrrr9P%ZEW}jIH|>uknVu^8@0z__`3K4V6C_MNe3ZSsm4{v{WnT zJUX4GKIxtw8xQF$9PYK~a4~+Zf%)vd@-XcOBGaI&S~A8DOWU`?ks+FH#9diA9wsuW z_hzh9>C#L<-}D1AJE67B1@h^cUpeAA9hL!Q^{{i%)UV(snILvCIUnhE)nv4X%eL8tb?dBqv}>pdmX1cwKG?_`?j znBY^<`$3mgN-#ufpT2PAXT~qtAtKVZOrEH@v(A5%>gD6}lk@+$s_VD)^hT-9M1=j9PP^Y(jr03%hoG{^&eP>8rf zUGyPq3qyqpodF4#sB+$JZu?B|G+Or4Z4SXq_MVkvRg({o@JnfjbC<2h<&FqQJ`QSQ zOmx1!V#2=(`P89E!{9+#D8_Qe*D$fJ#fC+o&Xt3yF^DmQ`*OkHg^|ZK^a_Jph1fe z4LK+I6sm|8TkWjk8xa=%(Ct^BvFUBG{<^S zrDs$n$O}!yvu;K1Wfkzqk+Nw(7=1TtAZ8#f%P50qgtC`g!4}B_9!J-Bn=S?6W^#>r zG&P7!-t+ORH#xEav(=6uOC-bX3la|5=j%<>mM~S}@ddbMJXu2_&n4g&;>9N>0T13f zMB4i;H|n-QAI;)7cbHY?2bZ8A=fBa@k_&pYCFk3!RZ;R5hRpL@|5Slj7Jh(Q-GwHz zQl-N(>2#AToUkZM^5b#r%*Tex?)GQdlzV+M$yy)6ubN9ucaG{3_s!colPk z&Z4Ecbp4dvY3w$omBt#sjmTrBihL-Y{boAR3R^n5-4xkAF7pu?2iN-p<4(IGvWDh; z23_gftlLfs`}WoP&m(ZLZe1bT85Z`b%-2(H>{wWgdWC5Q>nVcG$&U_tX5@!NIJ7P< zvCE7yBR{ylQp|2v<`GMYf9&6iOVDbJp*|bG+Yo%yX?TA2w7#{pmZv(@*=Dsx>MZH9 zArLr!Utor+^Ux(YjSDKz*xp9NvAW?+oeMi7Db+zvgqqoSz=*bt2!@M)LF4HV{eC6N z2#a{-Cq6*a!w>CqgIPE6h>C~aLF}*3n*CM_yX)&V;O?1dldk%)Y$A$@@R7-!o=jU zpq#=zS;Uz484Emm(XlctM2#-}S8%gYSe7%VI|DM~a2P({urNv3)98&`%s2 zE-ycI2q>TA#VfO`6kW&2w7(jjHX&zq9g8++yZq!@JP@?}&~KA7XT!=7Eqz_!TrfoD zXiR3!_bh+jpML<;uL)*R^MPjEr9q2==)`Pv^p$|CR?gh%^C3R;V&Vp~7vuGW3KQ00 z8w~HrJock-4(xhh9fFG-p9^#+Gd^j__V|Dj`?Vw1oq%wYdpaj9@K%UJx!Hk2&Gz-v z-YVu(7N>HVDKpz{7eRP;azEL&r2gCRo@+;^#fDwkjus7(7@tWeDVp19BpG;CZjIiG zoyYR}-huGTL+wzpG8O4usyMX|T;t{`0eE>!?emHIG6bQSAt`i-C}q)Uh?DvCZJ4g9 z6Hn*6K3)`t#J0>YYa8*&=POs{y3|&v3l*ZpX6zty+pTe0VG*Kn@M>|#WiCGb*rpyo z{1z|JQ_yBmRXgqp(g!MMw81Jjk8Uo5bCySBd48|uioKtCXSZ+j>ZNYc>k6n4VG zCo+KUqHe)7i5&bPsBI}j&(TN_hZ{fOR)T06Z|hl5Q7;2dlhMQX-N>fLL!@?#w7NR_ z@4NQ$6siV%i}L4WOv|(OUCt}EIg=tup$^!rCKJu8`V8DrOZ+4Qv5&rul5{&WwI~;4 z=iS^mj_}nuccV6x$+b8!552c@T`Ne{gPjUNwhuX<({8!$8tdR=ULT}(PIM>VpM$4; zsG*D6KS}m!o`kUR5{AGS*Q|leX*y8m>Kn&I(+M-BMif5<&P6ZUitT9->XV!DZ}?S2 zM#zz!RZmQ_#8WL1w^*lTTozR{^5lq;d$o2CvT-LqJ0(974dKkX0x@qho4BB(xqOqy zg(<)sX_x9#`4Hy>(7HA&C+2=RkjGOIxc-`BgfH)vVc7=sn^s2?dOOdDJQ#0YwUa`z zbSFZqA8vsxUW?0TzJ5YcsECf*e{%1&u0tZu{8{UH1*17M_Y7Tt#fODKzvbgYY2Zp7 zBmbikC>ypJa#1kLo?y;u|^Mc~m*l5w(?ihl=%00}1m5)L!G!iQ>nzLluu_ z$kr>xL}6TrBLN*=EJ$=GlCAH;4f?8>ZRfV2gnGVMR-guQlrdlvk;*|uG7I-6UrLBP zR*ayZLI{2d+DOwq1;q4*q~K7Yr8$P-sZz+u*x0n;E{+UW^_H};J4yLzn6xK#s*#Ie3*gXG4)>Dg8 z6s(olFIs&eg%X@}_bX^WU%l{UT5v`Dk{RI#*CGNRExG3hRYFwzH8M-ELFK*SG)vYf z1I23@zDiU$grxJ6(a$q{^!KMnZ9V3N&EXe6#bV zxM0$HFZ}4xTwk=*oat-FOim#EAfi|$SJ5Ht^w9|a2`|YdJ#A2K^W_5@^{tY;i3dC} zq00SCC)UU=ExkRm%=EZ}`I)XeHHkjE+_NYqaZ0ubuxPzfXD)B{BcJCp>_)@EQ4py= z(d{M@d&U1cPineWZ%U_}Xjb>VYb$U&iPmUF^-YNi3Y9H9!zyxY7_H#Wmey{%ju2<= zBcQ3+6lEVhDz>)sAS3JN=5l6M!nkWJsX3`@>$J!!WjCd2gqIlaJU&@oh}c zT*_RQkFq|MH9X1ZH>;y3Ubo0ojJ;)aT)VQUYi5i&W@ctP#x~nA#xXN9Gcz+YGutu8 z%*@Qp%>10S&)RFhbM8Cu{!mG?R8zC0QQc#7PpLlPC6x1A^ODtXB!`i87yUhN;zB2OM{T&G;CnspvX`zPzO6`;kNf?U5eSgV^%VwjDD)n?;GUW4+mo5~BXlF}cwHqe*&0Sl8#rT(E zJfk?HK$QtQDHqK|^Vpn4%t!h>_ph}p#+_6it`@lAO38=>&Jdm7{6M)l_r1@T)ND<$ zpOobChGig35;#<-=v-R#Ro13ffKAe->MAT)Xe)YBuCV0P_PHf#Q)}yt?vmF7+P&q( zIH-G)U3(a(5gEtPz%(JNRAQcG?C8KyBkx%2IyH*dt*={rD$Q5HHDE3<>cM_E4Mnfv z;EiY{36(*vG2d|mlHAMyh+(r4x6~V)&x4I$xb2^)JQ6Ah6d(X*zuLB)OyRa&3{?@V z-!LM$`LVw@7%J?O-3{^$%%n3GGg($Va@z?dfVfut{ytI(%W}A3wrGE%eDM&XeJ?i7Roa^}DSiW`?Nb z2c*NJYD*yyd{DLXkYGwI#UK|Z<++9q%yPJ&<7xw0P3X1oifb3H-Z2zWPl)adYl2EY z{Qzt0YZHIZ?lqqhHa`h_nHA9WJqD}K_-g@1^*!(1v>^+`A{F4H?P0~BsbBcFMYFv5Ia-?G!UCiESng$Y^;MC3vCu!VRSO1hW=BKZEe95yYaz z0^oF(73|Q&e%jF*$T~b$rSpZI5BAMcOL}3yRA=nNhs!bYs!7BjM<_nobUI611b%qfz^I0DN*R;`?P-iy1SdG&?2foC6Ly z2-~L84%*w!+y&Ji;lmf6B%oL4ZtT85FTyQJ4e?;mB%DlwI}c8dx~5^27XS(mY}aXsogb zo6IaOl1OA2O8)a|$rsdt6lwjEBi&=>fTuKN3)7Q8XUeAdp>=*(PVGO)x7w5KmoZjxU|@rqnKHDy*PQz> zDTm5|$sHEqYGAC-Oqtwj(I{T>o}w=Hse15Zc!TKK-?jUhdwAl(CGTG0L-QKu^b_S& zZ0YuiEq0YuJ-31i1MT#wk4xsK#<9q$6POWX zW0ASaA@DdFFv@kMBN|gu$A{zl0GeVyB*En?^&}P*W;m`%u3F60bhGS)c_YNn*tow^GWGlfMPlfVZkMTkAbO3W9DKKEBhFPi*epPT711@PyZ<7dl40XyEVF~5T zpL?)OstDqFFhTnzoxrroZT`dPZ4g%z?3?e%@4-og9_^U`5>QBze8SfwFV&K1FX5Dk z>z2oaEXb(WQ8Z)Zl!Q|~4uiOyMNY1!`nj9fAiu<~O7g;R%s2;j2VSfB_g_>oUvQ=_ zu`4(3&=Urth=d+nTGIi57c%^uFN#L2T&@<+M=J65Ll_Of1eX7g;}4yAM!ZpRHOsLVz22D8t~vdNJJEHzR+D(>vZZjPB1xxKZjO$I**8TjNnuv7(k&bcQKyw3Sd>8~?MFUE$^0v~N8s z*x8jwCTm4ws za&TB$REGK4m-0083yN<{aLpqM;2P9)*BV%7c4tv)dKq!kT^7evcct3??-!wpbzi>e zX0n!k1ZR-xQqSatu^lKFI+YvngvS0(r~Y0YF`8dHNZjGuQynV!D{o-B<0WjCKB0EA zcV22e|BE$Ll1Vyu)=(SGcf=F{KipPA< zQDM-ljbH(UF76mfGXt8^-cKz*?&zsmAf#oxLBv(gL(iD^eca|tQs7XX`KV0v><22c z3D)iGoV;HmK85D$%Chsd!zexByWV=c}1VSS%E6HCYX+~4;( z+D{nk6J4)j%q+F2wG*n=E%lmxDMxz%zLrJLR@ zC1{NuMyvGoX9RZGIiy7r-6)V-3(iwY6K@GXEaXBOA}6I$kO49O+UFU1iXT$s94P4- zv4R)Sp{iW%h6v-zwg@D3LW%f87wrs}`CyW;p;hZAEtiK^Qm>p@8~OZC<(3bZd{gs= zcPUo4W5|9BL4kK2Fh+(hDpJY!j4oIE*vY}JwHwqvl{q*ndY!sscHiPjJE=2?F;NQ$ z_cPy@Id$5it>xzL0Sl3;jVhJG8HaSWlx7Ibx>Jj+9;D^Em{`VKPcL@`OeKqN;Ht?w zpk>Dl)PqbE6z7Y)nctq^*u5}Qt2l#XpuT;@dg~6{O=^G8W``91dN)9UCNCc9L0E>M zDl?|_!%lINd!2&=1;Q1~M;)`%!SQ*<98=89^`mJFt zoBV4w6*p#g^?P&o#`Sq&0onGN0Zt>U<*vXG>jX|Be^eD;ElDbh>cJsi5<&@aWAua{-iE?2Y z71zKMTbaB5O(l>W>-V>96+f<734IlM7t-?zcT8&<0)hu-Uul>+Z^a~x{L!l2O8JTI z9bB@#2hFHL!jDxDruG{}c)JppB)KRT`YVl@baF-%(~#n#9dur2O>r(kGBwOHIEiur zoo24!_p#F!82BO5OUN%tYeM$-7LLif8Pk5!--kqPBwN~ZIAk%+Z1h8vGn3MMZ~c3q zh&=W@*#vWrCK2nJ94>N@N+CDqGkWN^JXZ;9-}pH~^HVFb@jVUnvlK1;rjdo}-Xw1L zqwuZOH}%<#SVAOjwXc?CGHWI0X*&SWJ8@d`X|H~H2cb&lNTynpZtN~6r?Fw{TBS^!*=$TRqZE>;ttqM;*0g&$cI+*}tr ze%VkOJ!^6}JfT3$uIURDz1mN-W0alz{i1hhXtd%7__Cj=Ndv%Y37-*fTAaWqvfg(b zC3Uhyy{e#tXt#aB+T%#c+ucrK@0=Ru%$;*lDzrRR9};d^$^PDe0C1@T)v()<=jSGr ztmyigtAuy$??|9XP>262v{t->^hCfem3z5w=t9=u5lJvEtDCf+&$8DJEg?fIc7vD_ z*)z+n{@~1lX6jgNA~Jq0)lsHPNxC-m1AHRa_d;32d%g8Xa?~4@+be zfTl7PoMI=pYh1yWh!a+_=H~UnwWR=YzW_Avp~3iK;9(eZ5GE2`g@>H~!WxEOD$K_QX*5h!G?h2MjnR-LY2c?NIazQeOo_N4OKbZ1gm~%7zAQe#vIz2u z5cpG53iI^D<*no->)2fhEu3PwV@PWC8f1mXYZQ^-2E=zLzFPzAN=FJJkqiJ}=qSZb z&Mm_G9u%4;`yg&gKh5n!3DU%$3Z(--!MuWb?U9BMr1sou7F_ToE_}C zXQI2Ufqih&6z&+nEN7qjJ6Mm+hZkNV<1}Ut^l$`bA0=DN%x0M)S@(M43^;rg%_tOM z{Wv5YY>qM6f25&IR-T%icU_uZ$up2QsD}w~5hvp;IWR@?K-b6rB@Q1|%5`f_b42%^ zNZ&4XyR{<+E4l&vyK5sfa@r$SOGH4U&!-f#S%bUc$8oO+8mCesyp;UvQRA4NOzxK(4g87Q z(Tur8t?`RZe1f7p(WE2vArq(8jw@*TfpxuRe{Xg(5X5KIyvux%gJUbXV}(oG5-w|v zpMj_L@84X)l5Q|4=f@m}h5Q~y$O1HfM7C8>3EiFWc$q~Uf;&_msqXf!#4q$kFqkJb zwM5_%c1LkWHZ!%xbeyD8!yfHR;`Hc`e@(;!<`z!> zdGzv|*BF{as)qVk<5#|dPk@4_7!jfCM`+0|P64w%BcXYIMokjXV43n)3(q$X!lER^ zuJ44T@;FQ^`{hd%T7}xKF2v~%oBC-Awbr&RbXsVFnT?&F2v$XrcXC7R>j7%l4gEI= zZlXZh2jN=k(=cOd$Cu%A%6cm`?W%>?!GxMAUvn!07`zkp#isf#L^Wrq@4bQ2=WKs+xL?(vyH}!yzQs~({v5AlbxQ}T~qj~JQ5+f zw|s>biUmTd)^9pc2P&4*=|znQ<*8UwKQ46g(~p`19pAGbE@9#E&HJ`(&aaScY*u9V*A# z4%BMrgy#(?uB0t6qTV+-4@jpZpfp+E0QFJ4J zafFW9Uh73Ep<))Bh@gIsZLp#Ldi7ih5U;(IBT?IhD_8U#VuvpwD{Ysj+IJ(=iuu+c z$-|`DV&Xo*tV^^~DYu<)vqkf~(c)H zAydfGhpio)c#<`R}fILT7Fph9>etXP3dyO{F#EZ`r(k95k+aWs-R&iKF0k zMT%_w5m?;BWwVxI^(g=2> z(m%mVAuf`y^Q=7@JN>)m7rS)}wKym@#6jm%M|TIzR`aVFLU)jnH(Icb(s2%xM;YcZ zRPE)sWE#=S_Pmjq{-TUqJt{U!ib{i)Oh01xPJ#_u=mina zjeq`p?Z^Kvv1WX7 zoZmYtL5D`|h8zu??do{Gp*o9U)G#pgI|dY`+OA|_0brrV4cA}GtD$E0nZStVHv5~d zmstXXhBEnZ{IBpOxi)dSS{#=Cv`URge_)XgZ-?aZC-KWNhXz$N_e_J~z5f*uPbk^6*i_ z%Su)!;FQ9Vyv|=$pBk&4P&$xqs+1z72RsQ)U8a>E!m7T2CuZU4seYiEUQC~My^b=) zb-@5k)r95q_6v2J2oW+c1n<)mbj|2Q$OkEF*DAn+k+%UWs>>L~ zt`)U*V2%-dA0E0Mh-#}tpsni^>KW8V+!@Bwq+_2xde>rIi|>m7$hKXOWt7S^<)ttp zer6S~iD|@6FSYmb2jM4L501Tq-m+)7X@1LsR>7-3D+>(?-p|y}P$;+un!Rv(vymFh z7R}CkOgRF0XyP_Y`eV@Q!W7-2m1BFRBOV!c`*SZ|(v?^9iJ@vv;Hsrv3>G=w*RG9( z{z5t!Ba2x0!oi0m2`oZVS2tsT-B-@l5PTsTOuOOoEi*I=|MtrWRY(w*C`R&`2!CQA zLNR(261clutD4BfXk0~!7C6%)bz$BoPBswG@D+MVR&r99gjv#~l1(jiBcIp?`%@8; zgz;*iy=gpA0eAG)PB6S_Dbdxjqmja1gmF}B%@R8)zsiOK;@YQcG@#~E&4K=A^g!FI zkft&R3uU7XD4=59mTcr#Wd3g=L$ZNl>G*^2=sOM5tZ9Sn-;7dpt1BLGHFR(3|lY2vjD)jAKy4#scecI1ydY+?TpB`T+xBQ zlZ1ME$M|B^$xgOBLEe{CSLTDNN~3!+q3LJBtrjz{?NsiJ6cAPNotH$<2c5c*%J-o${={VbRn0Hj5YJeCd1l%P(o(&+saV5FC@ZTaA0yX0;YQth^>6K8 zB<|vDcuV;(3T0UeTP+Bqp})~ZKs!g-kx3n$u_e!l4`stK-9Z#t0TrLjC$aT#&1g`w zzb$6%8o8zzrIag9N$0^-y5Ob?4Y0NsH7o3ZR|%te@LrOz^R~+(1zK#5U3PkN>aKy` zM_F8?K`(5j>R!Lmph=I_bGC2E+bM~xp1#a`{5+&5d}YA%d)`mMMfKjaEYTn{IK5$e zq$umsp`h8-jNeS1t)y8)rexW58wUB{v|*}`VB|#5>QVxG0otqZdx9&nG3zho;x=1L zwBm-jTMqUCP2c4e9d*iwFz09R^_j*f)w14xg{FH-vjthFVv@M5G6GRt$=q+O(47wE zHx0wV#8KB&8J=+ay`0bax8m#7TGzfSC^wjB`q-^2&W@01xG^aefcrUZf_qTc>XY&* zj+ydE=sEqi*u9lLNPu=jZiuBpOZ6;>t$}lTsLY8Y3yfy{!x$=;M^wSH>0Ty+cGaZXp@vjW z)E%|K;FKk^fi?%69>$|{G)sxIHi4LozIxa>_~i&(LJ96G>^1s()y2}*s7(|m5@b-0 zE`DV&oeqFMFzD=DVLl}BnY}O|cO&DvGeyP4x?Q(cG$_OFmEP~_!}|jTNK(|y&PfJ? z+|CJ-&&do?2IJww^RefV{?tvE?tfBQ{z{ww7nOyDiG%rXDhtaW?8twIT?iT2>DiiC z+gsWGg{2#KHjchkNi> z;b4Pd{e(mOW&f%BQ~xP{-}C=hGk+2m{**ss{9V`>Sz$OopUd`1pZN2^|F^ET2@1KVz}}YrH@6_}l-# zeE6K}AKf3{|BU;e^&kBo-JkN;T-h1_>i^T`_*{#>`~I$(|E$k{jrT|QZ$t#k|1DTZ z%)s2y;15=a=0B)H%q;&Ayq`!RT1GZj0(J&g0#;Vm|2=Zq*f{sX7RSFn4gb1gB>0SjPrA{6u{ao+Kf~s~uKsUW z9B01`l;c-0KH!7B#fokx$2up)*r(S9fk5F{830ax6l)O#1@TZ&x$$3o?Za4nrwjaj zKd#bubZ(vAt1^`)?0BvPAB;90*4--F7F0Jpw34csjt_5!m%7Xeh8fspG=X_Np}ol# zXOOpH?){g2g;{kh88lsz!*IQ`@Rx=rqDF>Gfr1FQbu2@*WrD$gz)*p&{eZM(yrcc2 z3HU`(p8R79F+fhePf<4^p@G4A{R4!7fYg7^#sFt}o+G(c(}HP33h?8u0HgBreZ+7k59mZB|v;@IlG2M zKz0rRO)f;%UhO$h0RVFz9c#W#FYf6j`28L9ORu9}K`l#5pPMblM{tb~A?_}Hiz(l4 zV7_c=GC~HE^CxSmD+>w10bK#{yIbJ;@D;K1Ki^eJ`($Ar)n@}aC3AP;o%(u%37ioQ zc36WVXcqMU<6!|;Lk-zLc8+tk&6bygw)4R|fTFj&7n zD4S+#V-#1Ur}@Exb$-AKA`i=I1!o}4&dgs~A-)|m+SmDYex4CS!o>u6zNrRv1_uNG zC|c-5Ha$6o5Fh}`_JW-ACB%4o3H{h`S^QWCK~mBey7@4p#MBA~MF3s@3Z!vP}D-v;X0(&k&uGK#=2HYf(Rez<-uBL(_# zZU5Q`4k9S4>dO!B4~uC7?(a?40jiVTPKz1Ia)*HgOymif%db#fkwm_$MF4U8f*TB~ z2w$1lgE%YOZVC+qkE3&0HU-AdKe6FMAS-ZDN(#pE;^7Lcll_4&1Xf&}V?T!qPDKT! z&e|9KeNs^YX9@MUEh1kn<)r<>^bDy?@ntOsMk=K_k1XNCny{kK$oDH z*=Dp>6mcb&|Ht{`2D^}VCU5meUoJm3$0*jeA*hItF27Q78pd$(Hop=*hDFdE_HR;d2$LEq13Adfe(xj;I2xs;76?H55cRB1AhJw3GRLSF-QRNxRMmo;koZN4j~}{Q>8|i5=hTI%Am9y|%W$`3ho1L(nxk5)SMT3Tc znH=g0OBF?^g{l&2AKO{kZJ2J_IGS+H_lMBjMaKmFK3Vft33T00(*iq2)D^ftrXqh# zcc?>k(}q4R$8Jkwvlk5=g~6kTkj+ovu3l*sgZ;eO#Gc(=Lt)=t?;qfZ=x*zz067h^ zO%)4@&nOrWu5YM}P->Vs1=%44G8~wsBz;~gjt=&HUMUU^mVF=f&;?)LYsHWQ-j=E3 ziTXdReED@c?#01BuSpeA@6DoSWf!Y(Tl~5`RdOP`JyU#$C?36*Y#jK(!91680=hp% z#2@i#u#^+_DSYH#z~9GgC{B}bDPRDbNw|T3nj(LMQji?b?Fa%2>ir0U!XLqmdjGKG z`|1b-9{m-l-WZlZ@n;KkyIYc_~Qaqj8OX#{|6@2yPZ%zVTWiC zkUW(42Lg>7Mld~$XsOQ!rUH%%rl-~yc^Gf6M#K_O^N#`Ed^qpdny>jVe@P_o*9FsP zSD@>TG67SN!z{f}kQ}c_N(le=gXC@g!;i?29}t#a%E7bX)qI7Y7K`{Z1mM7@9fblC zAd6m7#Bly^oDooyCle+@KAK+A#1Oa76DGYrnjhTo@<@w5xHz)IZ9wuUi-c>DMAl%@ zrJL-e6yCF7e57e3Rx6>X;84M5R$Kx=lKe#(A!#?EmnJ)eP&Z05snwVkGfZn%Q^Qj)SWC(r z8-0KYOmqH56_yPn_h>z+oWqdAX^!UDY zktK}3y&ckGyF2epSclq+cHhb+p!rti>dEI%kPqbD)Wp9ghll}H0<>!G*-_~e4a0x_ zun0~F?!9^;fG9Zcb;cJ1C94Kq5VA@%tI0^vJBBdVL7+bt)bt)1P5QAgcj+_|?eL*A zfFB6${eJ$me}l!XXO2pGin;*CrpLTu1QkMS`@cyGrcBbvNmrDQ%S6L5)7iR(WLE%7k~ z?rqyq^bJX#isG$GGR9QkD2g~Z9>&zGof_`P%V+#~n|?4BQplc7F!p&bdqsvwp?t9J z%hYV1M_v;G`=i1xdxZzZ!vy|IesJQ+KfOLRFif5seIrJqSc&)n^YPR|aT&D<2nAQF zradO7Mv^CA>?AB!AYcWtg{eNX5=QZlhweBch`yYteQt#VAyo9uOG*R9Jl{J8xfk@n zrbNNfwnQ>QC4u|>?0P@IE{4l+n{~1Ks)SGaVG8@YHvjPY^nDo9^x!D?IhYJHWzv1@ z>B-a6Y479d=0q#8L+0{A^jQo4@B>#+6K@}z0AW+O6lJ$h0h54;=IiZBtCwi`f!4-C zO!KkQ3SQ`{6I3sTZWy@> ztL9zX_>l^I2{xD@C1fdhT1QljQT2K`Ig5>+JQ<$SSELS^p$-=IS@bu1x_yIH;{j2h zVEk`YhU|69nn{f3!0=MSdiuFU3l`K<_YIg>_4oSFMOCChnOCbPl%znw zdxNbijCRSrgZVH)08&zo#AHm@{V~dzBR71CN&GFzJcHO1@|B0{pUV-|1B=^57j)qJ zD8|;m&xzMeytI{gy36^s@QT)7z-ixhf;h_Y?vcW)Op}nQtozxWxxC4Mw@<+3g-1&! zq&hxf?~hy?%&9U3u>*PE_1b9Pd|Si242R*u7zo^>vy#48U*?B$m-s!u16QK!K{^(c z3biJtI0&em)LGZ~jAsIkmj6Cv*PfI^{HcoP-Vpsd`}pe~^-LkB#Ly4Hy%ar*-|EU& zz2?Rz71aCHe|SNSDtn=cZUP2ZHr2HQ%ICar*ig-qR%W3%fF8f{P*QPECd;OJ)|+^W z_!c^@hK-J9%hgS<*v8HH`z9o{QX)}xGu!rL7d6LJG*hUqmJa)<{*Jlz@D@4|S1Cci zcssdo_HT>n*7UQ_yqu!QRv6~4%x^lW$G_YfIj7Rjn%!ovHn4&f@iKEL5l_BinrsXZ z-}SgWfh)6mJ}*}XrvF^(t_xt2X2G6q4Ru(4tNA``_DIs7Tgh*47_s8yh;7Fsuh?L_ zr6LjGojgVZ>J&Y%{>_m5ZXWUkw(vlB>=1e~4MOH%zNfBGr$Xvs_qL3btBg0v;+~|U zsdp1n>ob7`245(rb@_g2`@wTwTM+-XA@YJvA)BmRwJ!4O_n&rhiH)v)2Dd{ZWp)0_ z^|3}L5E&+%A(iuqA^ZTIo5TdW@LOl;umDUUvZdBOuqe(pI*kcC3^(Hv^&-h&_;{8F%lt~FM9+sd8{!yCk#CKwkSFA3 z4o1U3>-bTHR-hqTyxM8g5?aSsM{r2rJwqud#^jeebw1=QxthyaofkJthNLoXiC~oh z_ve5datJ=Gu}6FA6H>09%N|p$8wiaTxPh_SE%7+q_I@u~q{UOD1oHiQX1!TuHkMv# zR2snx9=EzI;nd;j-~+K0@fO_IV-CP+hFH21daZX&b&{JU?vw|QPCW>;R_93CH>{jU z4KQprpbG{on@lnTq;8ZOMKMj$IHf}mE96}?f$NfK2T)@qWojNx3Z=P8fpf?3%wJy? zGwNhSi)XFm5~Y9rp54T!gMcf|go#r%Nai(ApYKGra|lk6y%wL7zamkD_K1Sm3uWxOgkX-*7{x&X*)0a8Pc!-~Ta3;upGKw_xdT zb0kl@ATHBqOXGC=MafBVOF&LQBt1bu>K(J~n)TLG1YhplrB@*%H~5`awGUZ7lYLG( z&*kEaV#nfne0p$Q^BCC~w;qE~dqciye(^ahLmENs=+l-wmT+VD4dKS*;C=iR_P!&IlW0Ttx0Cau~Nx&hWzmr5WnY$g%8obxJo2MELN zWgdEQ?=@_>@kRho5fn$C(w!V3k(j{#bO*#ch0d9mK7<5eThj>JZ`xrCRklfOMw}D* ztv2)wBeBqvQbL9ZHN`-oE8xEN z#gvlpIo7=;ws(k{ej!XiFVkT^2u)Wk%~JF((T5+(;z{IGAZ&vcgApR#$R{0>yq-rI z^~j(GH(Fy1|M-D@;zGn;gA6SRp>P-g~3W_Iji>FeV>!6TxH$# zzN>p?#Aj}r%}a4tHy=2TuyE&Xr?MUBYM z%~F2kMc<=58lI!~x1?J-dloMOyQq4&y`#3_-CYGq;_fNCLL;k)_R0&Ms{tA*7}u&u z7=lJJ6gH%e9_;JPvrTw+3$pGn$*H4n>hfF75ocl5L)S$YNrB(c_ZnL!Qqj!UPl3m~ zvX-P;vAXH}`>C!Y^fdh5>cnZ6CU=^~7rL&86*hk5SMN!|?&6a~G@~iabhq0T4k+8A zLWiU?k*2|fBt#0OCx#4)Zun>87Q9!dp}E#fOuGqrH)04pa@d@v zG6y+ShS{UBPLB`LjVU}OJUpk6DLNap#Gf>rM>(EF6P**3Rlri~|6^j+i51g@4lTnepK3rQ_U!?5U3&DeLb+&f@psI| zDtM%)i{N)$_pda4$=^rj8eWHm3Fh{J`vHVTTx^ub?-0*td$2}u)Hb7gEymEMrsQxb zaaBVcYc3B~{e5O52_I0`b~7W2*rGHXj>$jTU!+YOuKY+yBq-c&zvp}I42U*oFl&sz z2DI1Sg1_bLOB1?ujY_l;FsK|Bi+47hK2HV1Y%wTx_4K2i@%Xbl7Ldj;h%WUK9y&@T znY~zEQXPe_Ry_N3nS#DC5LF%QT9JUyhkFUBR4&(8*dv5i$E+{$r3NF7C)DqF=nH-w zxljpePE5T1sgbspoTD5Q-6PI;kOtVkbdzHy_3dWwR_BC_1gG`Q=_>VGn|Vf#O$pm- zgNtWFkMfJR2xUNMb7whjyQqv3J>Dou^ECW^MEk4b?oOzvKk)#~)g=KoQ5@e~kKf!rV?buMB?;vGyTZ}d)$hfr<=*8tH zU=$vV6tdvm`(ZJE@sO;xPf9ZA0= zi})jJ1Cdr2aZuqqsuI)oF;q@H9Rw@LI0b4f@Cr|6AbE&TT?j`YsnJ8g( z&UoeRokvX7ijJ+8)h>zqZAw4d+sB-o;8xhJ)SL`&vYLLI663TJ{?4(7otaloy$2`@ z*6pzwhNTWYMqCa1`-H9tBHX#!0rGE}L>36bI6Nw5G*uuCv0z%JNpKzX0~hGq3!Ytj zYrm~iw_x1@R$`g!CD&J;e@-Zm1s0RM3->kFbDb0}R*Ykz#AsjHoDe1w5HK54awggzBZH zHP`8Y|DlrrcczLOh^zf*!!7Y}@5*`LUn6u#HNP?IXsVhmq@f zfP(qb0SkKCCh`+^eEYQ5nl+)*g2`f8zTCU;Y0~RVE$+@QC$uv)yiVvsGxh|Y2Pqyw z_5+HJ(dFB%uS^^qpsk@+?&P#MSpC&6WE!Pffjmq;9%d=%d};?lL^!ZrKXerbB-^dn z`fB%XNC7F&*-cB0kgAxsfX&|L#Gg-UyL+-*|Drx*OrBMO(@m97n|-TU z@>5Zu<&xbJA8kHL&55hvKs?w5;eOT^UMbe9=nGzRCpqb^M;DH)#IkHuH3|yrN2l4P z1+&Xf{4`mj$0p<}nqrunXJ#*6SDj6A35`5Z0_{^p=9UZ59>^r`Y~q0T_MkmS6%6KH zUifleXe(W@;YQ1qG*73SHLyg=38-Fp+}nr=(*{JT)Uk(L1ocsBp)Cl=DYQE9 z$ywoH3*Fp-G1{`+Ee?8Crgn(OWk_dsGzh%kzh|<@mT!ckz|H5LG+W1)m(~ph$$dsy zukOJ^3~E&Iegd?Br_Lg8(kEpJdkV?OTC}NS1Y?x^ejsuzv|l!#P`-$5X=L7f9zyEm zYsStEs};4n1Ha@W{hovy)x0mZFZ@&9KRGGyJ&;~+O&EKpdQ#>t68bC<{e;1VpVD8) z5B4qD^w?5FFo$o9H(}8!GygzK?QoXvoX%m>DGo^zLGeS`$kp;iZoIU}E^q#{jUq2D zI0rC3dF<=dfpdEapp(J zfFPh!=?Xx5E29O|mZ9Elg%}VtnVzsX8tk`@rx+zGWd>iM=j!pxqBJfxofr)=G}bfBuXOqSEwE9^2}$oqw7FT}5^??E88tPslH(400) z4ii3}1!tIYhw6k+5mh@x8-&hV2%^9eQhsvZMe;`LAJd6e(2_-`W*0`#@!l?b`du8q z`p9~>E5=Mb%vJ0A!5&@&QJ!=sHdZj22SprB*o7tV7f{ayzr8N>&az)g= zU1q+Mso8C=y`kD?&>lBE#4|scLIhV!WUnAEhaB^Q6$@6{^?q{g;<`c-$4c_}L3`PR zXFBF69;5l%+VaL!i1Vqm4X)khH93XGhX&~!V>-)Rk%Jh+xw8p!)Lz9Dk+GXltdNQ9 z*NNUsq9QJKHUoQ^)e@#>_0$kC1tVl<%Sy0h_D0Nzj>Wb$&hpUK>b`8HnclC5ScQ!5 zG0s~I#U~dh*hzW7PuE-i*Q6(Ep9H9KmIQ37nnR69z(qjjs%;*hc#_ld4l8WAZI+dk z&T3tRE6i=>HvSc@A`d0P$tqQB+`e-zEOFSapF6$nWAg;02W zlj$(_P+9?+XK=U!E>U*ezVDvO-p!sQWQ&(Nuzb+x# za~_mSO)T!^&oCpZ3!B*sd(TC38}vNoG@>{lM=gIc&nTw#F98Qqj!*$28#ckI5Mr6O;WYk`NFAgpG zwO~4$;nyisq-yA>)IjM)=71!GKoSpVgwDNF(%yuBiosVnXM|VHGLG$eC-#Vr!W6Mj z8tm#rcDxQk=;hg5jxWkuXA)1MF?I!%82Ol^+EAW6d{b0r^T{kG2D2G~M^by;=&2gk zkdo?Gh}Dr0_^iM)ydvyibcpCvo(u_%PW7pyr`mg8R-?nMncttU5y{V23^o=E=E6@c zIX7}5+)i~`OBLQ9|#124fi!Se0x;g=hunxUb)K~tmNfL=^GSV;gl7# zt(3I8L7Q4my6CAD?%}AeBoGF$+4qaXmt+&#F&Z1N9=mMnh^*>#Ja~q}HIlpT{JC;G z3RygBEs!>fV*eAEO0N)nEPclb&u*4J{-5$IU>TlM+1>gcr=f?Q+0C~{IkmC1^fyDE zA=n+vv<9?O)5)k%1c>j(6N$A3*X{ciy_J$@-8JdnyTUm}ddgACB5A&T&qaqxou$rK z(S3l1pk70nQ_4X=Mv#Ao!rGT~NdF+TFH5l(B7Cbv4AwVNqb7A{7#z9O+=E1XQH&8W z`32cSXB|#GS^iqU4;hnY<+G1GXgaFx99`ICms`W)0x;N_3Ae^neIAjSqYha{2arZi zqT)qmSzSuxHkw|XiJNZwX5IbabyZ{srt3@;69MdxN)*>*hvabj>kY z@3PZ%z{3H@&Fc8+%QYyH0lu@OQD>w0Iu*JiySYnPOdE*+L1M~Uf>?QTva%Gvk(5KO z9#<>A-J*INn3$Wk5;3*{;-PHhLcJNfeg9u=zu31`x~M8-TgsbGU+M6>Zdfhg-`pPz zZdXJ7Zqp;d#-=xSdW+-D8(l+XX#K$OCr+cz)QvV6k3wqVf_PjKXZoaT&6$F1Mh=Hy zjZ1QBF2#37cp_%hF?j0_0o_UXFv(a)`AM zy?DP{c=u+L%CiGEq90ltZqaA$T7H#<|4(UW0TtEOJ@BVA5`qZQBMnkB!wev$QqoFG zN~hG&sf0))-6)7OQW8?qAl=d>ozl(!4)6J%;#=$c*7u*a?z-phyU*F@?6dbdhqajB z)Tx*jpb8@lc*`bD8{12BDDRREX4dzXy-AZoX?wlA;U<`&Oj>nxoz@RCuVBOtl-_Wb z>+o6Xd4lxXvzy0dS2X?87kU>l1L+m@$AiD83Z4VsuRHQ}LMP1&(+_klWSmNi5IKK0 z5Y5J?ab>T_dvY^zu8hJhMUQGZuf#=_wkXdRp zFu}Pmy_t4>{R4%P=p@e|icrUNcHS+GQQ00dzl=1xJIkd7CG})GV2a145oOhnLm3k8 zR<+cK%o5|NRmsIGiYHI35GlXOD-c!ZFnEwWfWS4ozq0uCWl6!Q{FggLDYrhXW!9D( zQ)rIlUI&>+wOl!U-H;fzgF0$OdRxGWJc*W;c{G+mGqBRETxm?_ljHu1K?`SHEZWVO z?y24Gp1C~Ed2A8yEWY|sZoGkibeA`O-q(Z9L>p1%%672jA{%ES>$YgWN>L9(np;>Rmp9p^mGxVU~m33JTgH`rg`>RIT|A zpE40OL=#r^g_s&@;i+lZx;4Heed{8d{(DNtdt81~r3^A#yx{g^ zMiD>an`0n&;v=hErA%$?2d4xpx_Kw88VaLW<)|t=^FP*^dhNR1(p-y6wLk~2zq_1_ zfF>)KX`W#j^sT0kBXESuz^R#bxk^y_;1d=n;ae}lITD=HtI$q3ptJ848_CM; z`vq38&}p^{W?4*@*+AkzeiP2nV1y|&+(xUwd}J9 zgaFZbCa(bx(cbu0d$#D5K`34P-D;gjoD=A&Cg=4g%KPua{JK`v=XwJ0aNin{xk+<0 zK7Z8s)$`qON~Oq4wVV7~aKQkdnSLA-ZI3Fcx`S7q^9Sk7Bj|=7Xebty`x~56Hk7B9 z^{UBM=-ivLKe+0KKR$anD_bnI8`~4#{_a8NXkhv_8&tmb`QzL2VG9Kq+Fj5-E2mlE z_Jw#`_!L>@OUa;Gbky?hK9>3oIW+m@yi#B3#ADo-YAw20g)L4g3uiy*tFFY2?M0KX;3v%pLpdQOj@xyq3XU5HSax{a6 zygVwYC11v_!rg?JA579&(QMnC)75LTwATwA4AIye4}Iy@7P|U6 zC3?xfb4VPBejKFkB{V8?KSWnlP;|0j@GL*fyIH|Ts-SNj+$FkVcH(}58MAn2Ch6u& zf+T0TFT|-dA8co4KfV}U%}>IAF-XlRvS?~8(kGtA-Dr`CSI!Wb0T8X-cb{J&C_$TP zxK1_Gh;J58#!TZ%7=k8zu|HS zLu6|6!VoboH=gn!H>C%?+}QP4(;Y>zDr=+RZSytvZGyERAA$!sH{QD1%&Qa+kJ=_H zC9b|CauP3Ieu$YVWb#rZMIwZfJ?Z<^k2M|8NZDh)m9%NWvf4dUW0vhF(GM88x}PrNA4&6+ z?2C7LF(VLTOtbVM33ofOQeL?%h!lb+eU{3v=Y^Gu2d6H0PB!v(xX{E#9a2qx3FTdt zm#!_`an{92yRqN0JFD`@N%=cB4_Rk2=7w&Lknf9Q{h5XPjW&m0i!GT@iky~MUs{uN zXCTU$hEJO-O+xPO=`TY)`tzqIht|0r{=j6^$t4+YCx33XUraK=VBFo{FGOQ5T-w$i z%7)Q(|HP2fGR`0l59f1Ke%iUU5!#}Xmm@=Rm*T%@J0V}*pQQV-3)HUz2!VsRw8!kLH6jU4i@l<_=Mf#8vAv;+RLSSgug_jQ?02{D zviJ&NQ}>8|&GmFqDaXotgKE#wV{u}^t+QfIN%w|>m#x)F-u)gc@PI%8_d#0a?oBTC zd+Sd2GOH|Q7`0hR5VE!zJSx=U;XzaSo3@Jr@Sv`F<2<)6%CrNP{ztk4$+m3He9qa` z_$Wpxr37*1RQ#VGyp`BZeM_2dnMBx3LkHUq^CQxd6l9`GCRJ+to}Z>s`zR(>qJ6GJ z;}DIsKLM37N37}$U4ibo=ybJM@=)Kvli&nedW)jl%1O^8vh!VJjI3364WUP~EOk4>ynhmWn_-J0B)ytBA~~wu)M}H9Q8%a)GrTJzm+SW|V)Ce`e4*q=ClW1jZ>4Qt+Xl-DrAK{B41 z%zs90QkY$)CUz<)!161k{&O`=tX3iSvD7@NRw0zG7~9EIFEgQ_Jd(7jTEf9z8&6^2 z3vHb>(F8g^>f^TbCPf|`@<&HUJ6TM}rb6f+iN1wOLtBLE3BD~f57oL_4#v&R+cv>Y zcZ|jCAFF+e-Cw__Q~z02W4eMI#Gh2rvkVQEO6KacxYN$;tMw^5YG6eHg`eT1XCePC z>x|rKUY802v+TKtr zt(z%&gyVG(R8>^#e=oY;Zh~I0q-&izd46zz!_5o((X@=SMvQYMJ%oR7rd!^i#V

    YJbUK$l+8E&wV3+H;{_rJO6g_IZ$@__d0FvMM{+(ZkW28ytkO&OM6Bgh zhd;k97j`2}pdmHg&nIc4U?{EH{fyv_LqHb8(b!aG=#?PltFlwR#&wS>ad){K7;2|U zlgphD%^d6?&O^n+9iC~__YYk;Q^+VdE2&lp^${F9u2nMN%pl3&n~2YJl8gylRjNW@lEm*b_{$0qXgo5|VwK3E0CUab)1eqojLT-bd z)Jf8f_l`s?v)o!`Y;zTl#kL5Ay3{;JMTi*wK&{c!x!G{Ac$;75S%-ps`~B)nD*?sR z$kxz@=Y=6;REN^(>gke`G{Y+Uo+yuHQ5Vt;0x0jf#`cZs@{->ATT zyW@I`Hr|AsAd}l7kbzw8lbSj!Oqb*ueEA4nt#F*j)b52@bN(K`;9xGk;mSMvF1D@` zUiXRDh$j`+kmzvia1A|eiDo*@zFpO(h1Tmr?bjnQBA*MqjPH{R{1VRkwZg9am9$Cf zB9mp~L(Hf0p&!sVtf=TP=E%o0qY4r63Yc0FGM`X5ZsQ!ih!0~KP*9}Tq#dn0E4k`r znxC!YmDK9R!*`{@R1@}EX|V@f?fP!?Yd2XT@hb-tjQSg77Hx@{^j9_wE6tySM>JK6 zGDp7%HJlPW*zJVV9(emFlE`4Ze0p2ze$IWbA#?oH2K#>4U4Ufqm7ETwZ5x=V}D-brI#hS|}Z}nsb&4`!u0N z8}=dPP{*?7UE5-6Cks!<$>AxrpDVvYn&~xJTX(~&70>MH5~y0+d$$B0Y$lnT48Lg& zM4M2bV(_&{6*h>=TyP%Oc{Ez)5I`KW_etDh#QSDyn5=>4D1oo-H7a?9w``#z*3`<@ z3Aewh+Y6}5bTyz9|FN)u1AT{EuvJQ+wy}|0n|4)0#u!6)CBBb!*@b9QXq=GL@8d+G zn##fxoUK49er4lnraC7OZKveXvu{Cqy(Ec@QF)GjRuI|;R#AfMjPl0{6M7t*q>EZl zX6O^KWbkH4?_alLiJt4T9o^8`Z?p`$6)tvq>i9FeK%=Vz1s4&ddfAuZG0lNdP`FLS^!QH!~4$e+@%vU-NPSb>S)CRyi%R9v))fyUC3l%i0VrR<(wzR zpY=$(mMk_rts2kO1L*I=oi0+DGC`2Pl z@Nrlo_RJx-tZXceELD45rc5FI6Pwjl8E$--h)hEAlmyA3+ zMfpDO5vw+;05|4wNvF-xy8PywWen=t{s4*H!vnKuzBZ>hnyS09Gei5-kwfZsQ`CF- zn(uMHn-UAUxDZ2{uJf`NY7PX=f0Oj{ebqyqrA&+E&abGVtyAZ%)Rn{R8EqZ`8QSTr z5<7t!HTp+}e@GM9W!tmx&o6M`$S=O?WAiz2FXx*KRycO@^*XUUyvO%xJ?nUyo6YBD zmDa{_3wQbWy*~MVlD=oTRyOmTTZAQPPgO0PzrYK3ImIA1EjeNnLpDl#SG1)~AU;k| zu4br$Y6bgihgM}^0owfaRK^u;1;$+^fZ+N`Og;)TWAQC}M@K(~un5ikZix7n(T#}q z??REieE9FvJws4pz&_P^wO>pzh03W~y0;zk`}cjTOpCsTZf=%PnMZ#j*R@cudvJEj zb}np=6~&od)g5mCKqZ-9a(l_MN^1O8U85B5dDZNIa_)g@=Lg)*r`nUATbYasD@} zNsjGFRG(3u$b9jc1I|9HQqSQ4wY_hT64}xk?lt(A7|lr{e4?w2tb|E8l&#^T7E1*> zeyaI=+bIUi+M!X#sCtB~%vo*2vJDm5G6TX$OAp`m3kj_X0X5f%JOOq1)>% z_YZxJ!y`u1S$sZ(C91!AcR-mbF^IOcR`$l!hpuZpEBMgERi)Q8kTX)ntw ziqq!9Q(2Vx6LKz)4PGK+IXt;J1$4 zQmEj6wg*{!hI6Hpt344q9`W8F;ug{w7MbKCIES zwrcD{QB4|KQO^Dtoj0dSh^8e!jiFr)D!e05?PFpUpHxx&6HH84q#X4h*4y07S=J<* z%+)3b6J?s*d%NrMpg!jq2zr3<+n~^%gQ6H0)Hr|~7dLQ6Y7qHG}X?1A%HmGjA{!3SIpGFk&?b66bd`xy({u>o)K&z@a(tjNCJ z_Ks9bg4E^Vt6pvN4!XM|9;Ubeon3r4`LPiU<)X$J`)JbUVP}$JRP4H_y6v6F@vv0R zKH|s>_@hFPau($Uap??S#b(~Om%*jMJJho5h6=YV7ShQ5pNllxwF>So+=%9>D+wkl z;Bp(ePg+r}v{y{lr4n`HrD!G3@_=E#e#_c{Gd-sLs%uX)Q!<5fS!{LUn|#NQ_QfUb zgJF53`zgCsP0x8WyKk@cr!*|Iowm1pEo=)9@x zl_TBC;G}!=@d9t_ieP$yxegmg8A55<~iIGxT zW47q*^uSf8gF||S-hr_8u9fp?9IC#PYFWFJa6i*2S49S~W^GKUgfataP+}{^9o1v? zwvhMYo!Z}S>G}12dch^N+8(|?Y<~KFq;SK5V^3q-NRr9c`Qb|?mbQ^>%G7}!-G?=P ztEZAlS~8-Rc4ghi#AZXMZ6sMimaot`hbBZeJo2{)po1pa4{&BB>c$7d zPOH024Kic`wb9OeSiUwD^oxk zTHK-8Dhuqe&rz;94`ReJBdjQe`@9%w^QDCcIJ_6z@Xceuk-lY6;Qk$YE~!t^SeB%A z47Yy~QF0t^MmQL_gh-9mpr=(H9=)Q?KC`{G-`(Y@){~N^ati)~k1qe2hjm8t_`3L& z9Q>T>YzVi9+ZC*LpPjFc;yt2Ud^q!d6Nf($WtjM$zL&B5Oa5dfp=i%)xn9d%HT&|0 zHPmg<{^T!%#jvR{sZXQU$5(J=npT)QvrKwRWN;q#B`%EXy(j4Kmsz^{pwIe>xQ{=A zzEk&_NnF`oHLE&nue5@0XH)*hV)f#xCU1Sggdu86JsY(BBkqiGIz?^VudaGWAA3HJ zyzWq=;zGzqdVxtBEJX9r^Z|1yv6kDb8kwf733Z`yR%A2t1HbH@;zp=1`t) zU-AzJ8R$)x$d~|=;fxb!j^rCgCBsRx9*Hr@D+o-irKSZM4XrT`9cxkpXKfXY>kD?E zWM5(p{PziG4>y&+GPR8<2PT^hJ#au(QVvBoLf2;zUF=QOJ(yFV8kNP6XP8c4>uDlB z-W5}pTVXQ8x~4tOe9U&;KGl!E?G2?%a13(}Z@%7Ehi^`IVq!XxL{%)6n?o9(V+C_+ zJ+se;$FV|K=};B5+rGWh4mr#%A{ok02~wvySg#0)DiU?GXX9)WtFZB2&vbE9Afsbv zJvbwlV;7y*x)GJJnvH^u8y3<>E>Y<=SD$#NdhqlC*~U|dMhNxir?(|yBB}i`TyGl8 zH}%B%*P+X4^D3zmOk?)3D}+stWUrNIrV`$A_VHSDUw)nCCg7#Hye*yv{CFix_iV<{ zR}h@C(f=gL72#DbRr|s+{!Tejt6Y&<fvczGYlSVSa&Z-#H!~sX@mNGbte;&e z4yE*|3yycXRRXbuJ22;sSbB)UT*dcfI5+<2YqLYiU6t3OBNg70vr6zWfim}Q_9ck) z;ARQfBsTFY3rq#f6s8`Oz1IJ}&zkL3*^aZHxp_*!hMn0q^WJPB@6#W1ROWf;N6wEw zD(*y;-g=K{D0|GPffsR`nqqo7TozHR93P-nRcnZfhFd+i5qO5oW#V5 z;xM!(@i`5IUw4FSRzg$AF^;cfQ51I)+JX)zt2=>;T#F{!aA5{|IDvk|Q$NvMpRo#S z-=|AGZ@pH0R^0f#H9dDLtm zwgrWW5v3w-cnkS*tDujn$F%$NJpwbb0-;%0ZZRUFzR1G?*XHxABn|cWWR`xs@_Joh zQq|$z&+B0YzF+e4#S-+R!gqSU!M;DSvz;V8euS#Z>^y+p^}(^xiY&lkK1kEz=tZ}1 zp@9TnXHRPe*7%z)#j`h+@Us`x)(hBH+>I)qK>5K4;$S7q>ag&jxL*QdR@rScp{NWzemQ6f-vY z%#L20R}`w=gswL1Bu%}vsWW)X@zi-{JCFpG`PN#_s0LrZFUR`6nz4Vz(3h!vy@)2B zO^=cisb!XJ05=d1575_AUWQfUFNJ(@Mm5VvsbXSiVIO@MB|8uAJ7YEdOqjwgE5Xa3 zQJd%_u9nRrip8GjKE`OzMh;RvHKO>e-Q+ewA zHH0cFZ6slWMd@4IOjIx8d<1-a=6U6`DclRuK&1s~Y<)>t@{DrO?h>xq~SoG|MA14uYHF1@1v*1e~vX1c!HAu31nG7!$huzP(S_r zhC=1(m~Ww!D6Hw06 zi!@2ioA}r`Uya3meCMueL`%pCMOWY2Iz*E1x-TL*q9x}pfdE)FKB!v7;(iWE3yW;x zJBvfXc{E>F($rAH&PB9o6YX$1wX{BIEfxI76oYPQOV1-jY;-ps(T2sY`m!k;6;!RL z*(>a0&%gIXV-tJTxfoELQ`K(LAzv%Casd1&0C~)G5etH3#w0-~hiS=xf%dg7rE`rr zz21r2#1^B@Y-Q(@-KPDN?j{R^1!~ui^kDHJzm|;?-Yw1as8UEz zuORH&YSo*C;l(>l90ZguIGrWyOhT}<)Lc~t_{kSJcC9!1?aDjwYJSW3{f}9@^IitM z^o1__6^@eE*^+80$|N%v4X5FClfHttjFvXKw>ii9>J;p!Ze}DHj#92rjYJZ6^WFFm z1e3eXd8PZ0-UFF3gctE23HvFQzo_OUWUWj?ZfqY_EAqD;JAYr$icl81U~no<3$lWYxFzn=@8 zcpabPZ=U;IG1mmX(9gKK;L(TwT=;qt=Ructv+uFTA8f{jU;hQ!f}|@Txh7yZoD1?d zvIR*$xlB9x56Bko%g7e^Khz6OfO)|Q;zC}W{{hwl`ZN5212=|9~sXfMcifHwZV zfHrv{aDc1=kW`Sw72y7(33`8h-#ZN(LAb!-jz`LQ{~5nvGbB8;&G1uwD&DHY=a zL6Du72Z}Hd1W9&57I{HXWP~G&+#u)=DHH_#vjGk<2c}2&b8~@Uyxbs74q;0R zTR;l|LPokghr9v8(#}TD00Fuf@z1$=8Bg;+*!Yt#bJ+$q$9)S6OIw7x=1>0q0hs~( zeSy9CAFN&Y_qP%KtF@odHUF!%iz)o?to>NG{~u$!Sf~CwYnS(f|G|^se-Dm-b0z%p z68^uK`|slf{$qjufA|vo-v`P?F8#c@B1eY+lE@B7G#(Bq6Mcj_?1GmB0HTly1%e?1 z8Ms}92MBfnL;_OpLU`dTdCIaEscPb2F(4H(f=e1{HOGP zWMipsr)OXTV)|)c1U(WF1Bp6XS=!h#a|qiQ=m6}tUljh5npj$h0P7lvN#rhs6U@sA zgFwJMU@({mI07(oaxyY=$XM$C2Mt9NTXUcV4JI8B!o)&@=^4mTgBf%OqzlrsL})Ns zARjfDwXE1JbeaDdf}@RrAvPyKh{6W8)W1H!6AV}+4MBg)kTZq+fGmE}47E zWf>R@?4+0U02$A3GF~1iFk!#62j=BLPU0^z2oH=Cn4`-w$YmK62ImD5;uk$Aj2oFx zzsR`25M*dwmhoI}kBb`y0VexbJ#H9sr}#w%gK+a))`LNK0B+f3Js#vb|7%?+{5Kms zoSg8>J_TevKpg*4mxmKD@|%nca@l`CPmufLrMhsQ-}L}TU)BRdAeZ_AfdS`?-(^tX z(E5uFKo15)&t(~aYWrQrd#QiGSDL`kOY?@5UG^U!gCe)~pT`EsxVSId-~kjb%@Lr- z%l%tjUT!3q?dSHOU@ick_PY$Zu3XXsBJejEjPugifcALczv%%XeyJ}|Fbr}z?vb*~ z^8tkdNps21P$-1+H@i>>u*zKOA3!Pm%`OxI98Q1J`z + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)^2 - (~d)^2, 0) ? +sin((~a) - (~c) + ((~b) - (~d))*(~x))⨸(2*((~b) - (~d))) - sin((~a) + (~c) + ((~b) + (~d))*(~x))⨸(2*((~b) + (~d))) : nothing) + +("4_7_4_2", +@rule ∫(cos((~!a) + (~!b)*(~x))*cos((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)^2 - (~d)^2, 0) ? +sin((~a) - (~c) + ((~b) - (~d))*(~x))⨸(2*((~b) - (~d))) + sin((~a) + (~c) + ((~b) + (~d))*(~x))⨸(2*((~b) + (~d))) : nothing) + +("4_7_4_3", +@rule ∫(sin((~!a) + (~!b)*(~x))*cos((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + !eq((~b)^2 - (~d)^2, 0) ? +-cos((~a) - (~c) + ((~b) - (~d))*(~x))⨸(2*((~b) - (~d))) - cos((~a) + (~c) + ((~b) + (~d))*(~x))⨸(2*((~b) + (~d))) : nothing) + +("4_7_4_4", +@rule ∫(cos((~!a) + (~!b)*(~x))^2*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~g), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + igt((~p)/2, 0) ? +1⨸2*∫(((~g)*sin((~c) + (~d)*(~x)))^(~p), (~x)) + 1⨸2*∫(cos((~c) + (~d)*(~x))*((~g)*sin((~c) + (~d)*(~x)))^(~p), (~x)) : nothing) + +("4_7_4_5", +@rule ∫(sin((~!a) + (~!b)*(~x))^2*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~g), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + igt((~p)/2, 0) ? +1⨸2*∫(((~g)*sin((~c) + (~d)*(~x)))^(~p), (~x)) - 1⨸2*∫(cos((~c) + (~d)*(~x))*((~g)*sin((~c) + (~d)*(~x)))^(~p), (~x)) : nothing) + +("4_7_4_6", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~!m)*sin((~!c) + (~!d)*(~x))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + ext_isinteger((~p)) ? +2^(~p)⨸(~e)^(~p)*∫(((~e)*cos((~a) + (~b)*(~x)))^((~m) + (~p))*sin((~a) + (~b)*(~x))^(~p), (~x)) : nothing) + +("4_7_4_7", +@rule ∫(((~!f)*sin((~!a) + (~!b)*(~x)))^(~!n)*sin((~!c) + (~!d)*(~x))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~f), (~n), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + ext_isinteger((~p)) ? +2^(~p)⨸(~f)^(~p)*∫(cos((~a) + (~b)*(~x))^(~p)*((~f)*sin((~a) + (~b)*(~x)))^((~n) + (~p)), (~x)) : nothing) + +("4_7_4_8", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~m)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~g), (~m), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + eq((~m) + (~p) - 1, 0) ? +(~e)^2*((~e)*cos((~a) + (~b)*(~x)))^((~m) - 2)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸(2*(~b)* (~g)*((~p) + 1)) : nothing) + +("4_7_4_9", +@rule ∫(((~!e)*sin((~!a) + (~!b)*(~x)))^(~m)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~g), (~m), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + eq((~m) + (~p) - 1, 0) ? +-(~e)^2*((~e)*sin((~a) + (~b)*(~x)))^((~m) - 2)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸(2*(~b)* (~g)*((~p) + 1)) : nothing) + +("4_7_4_10", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~!m)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~g), (~m), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + eq((~m) + 2*(~p) + 2, 0) ? +-((~e)*cos((~a) + (~b)*(~x)))^(~m)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸((~b)*(~g)*(~m)) : nothing) + +("4_7_4_11", +@rule ∫(((~!e)*sin((~!a) + (~!b)*(~x)))^(~!m)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~g), (~m), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + eq((~m) + 2*(~p) + 2, 0) ? +((~e)*sin((~a) + (~b)*(~x)))^(~m)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸((~b)*(~g)*(~m)) : nothing) + +("4_7_4_12", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~m)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~g), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + gt((~m), 2) && + lt((~p), -1) && + ( + gt((~m), 3) || + eq((~p), -3/2) + ) && + ext_isinteger(2*(~m), 2*(~p)) ? +(~e)^2*((~e)*cos((~a) + (~b)*(~x)))^((~m) - 2)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸(2*(~b)* (~g)*((~p) + 1)) + (~e)^4*((~m) + (~p) - 1)⨸(4*(~g)^2*((~p) + 1))* ∫(((~e)*cos((~a) + (~b)*(~x)))^((~m) - 4)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 2), (~x)) : nothing) + +("4_7_4_13", +@rule ∫(((~!e)*sin((~!a) + (~!b)*(~x)))^(~m)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~g), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + gt((~m), 2) && + lt((~p), -1) && + ( + gt((~m), 3) || + eq((~p), -3/2) + ) && + ext_isinteger(2*(~m), 2*(~p)) ? +-(~e)^2*((~e)*sin((~a) + (~b)*(~x)))^((~m) - 2)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸(2*(~b)* (~g)*((~p) + 1)) + (~e)^4*((~m) + (~p) - 1)⨸(4*(~g)^2*((~p) + 1))* ∫(((~e)*sin((~a) + (~b)*(~x)))^((~m) - 4)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 2), (~x)) : nothing) + +("4_7_4_14", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~m)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~g), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + gt((~m), 1) && + lt((~p), -1) && + !eq((~m) + 2*(~p) + 2, 0) && + ( + lt((~p), -2) || + eq((~m), 2) + ) && + ext_isinteger(2*(~m), 2*(~p)) ? +((~e)*cos((~a) + (~b)*(~x)))^(~m)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸(2*(~b)*(~g)*((~p) + 1)) + (~e)^2*((~m) + 2*(~p) + 2)⨸(4*(~g)^2*((~p) + 1))* ∫(((~e)*cos((~a) + (~b)*(~x)))^((~m) - 2)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 2), (~x)) : nothing) + +("4_7_4_15", +@rule ∫(((~!e)*sin((~!a) + (~!b)*(~x)))^(~m)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~g), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + gt((~m), 1) && + lt((~p), -1) && + !eq((~m) + 2*(~p) + 2, 0) && + ( + lt((~p), -2) || + eq((~m), 2) + ) && + ext_isinteger(2*(~m), 2*(~p)) ? +-((~e)*sin((~a) + (~b)*(~x)))^(~m)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸(2*(~b)*(~g)*((~p) + 1)) + (~e)^2*((~m) + 2*(~p) + 2)⨸(4*(~g)^2*((~p) + 1))* ∫(((~e)*sin((~a) + (~b)*(~x)))^((~m) - 2)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 2), (~x)) : nothing) + +("4_7_4_16", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~m)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~g), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + gt((~m), 1) && + !eq((~m) + 2*(~p), 0) && + ext_isinteger(2*(~m), 2*(~p)) ? +(~e)^2*((~e)*cos((~a) + (~b)*(~x)))^((~m) - 2)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸(2*(~b)* (~g)*((~m) + 2*(~p))) + (~e)^2*((~m) + (~p) - 1)⨸((~m) + 2*(~p))* ∫(((~e)*cos((~a) + (~b)*(~x)))^((~m) - 2)*((~g)*sin((~c) + (~d)*(~x)))^(~p), (~x)) : nothing) + +("4_7_4_17", +@rule ∫(((~!e)*sin((~!a) + (~!b)*(~x)))^(~m)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~g), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + gt((~m), 1) && + !eq((~m) + 2*(~p), 0) && + ext_isinteger(2*(~m), 2*(~p)) ? +-(~e)^2*((~e)*sin((~a) + (~b)*(~x)))^((~m) - 2)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸(2*(~b)* (~g)*((~m) + 2*(~p))) + (~e)^2*((~m) + (~p) - 1)⨸((~m) + 2*(~p))* ∫(((~e)*sin((~a) + (~b)*(~x)))^((~m) - 2)*((~g)*sin((~c) + (~d)*(~x)))^(~p), (~x)) : nothing) + +("4_7_4_18", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~m)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~g), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + lt((~m), -1) && + !eq((~m) + 2*(~p) + 2, 0) && + !eq((~m) + (~p) + 1, 0) && + ext_isinteger(2*(~m), 2*(~p)) ? +-((~e)*cos((~a) + (~b)*(~x)))^ (~m)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸(2*(~b)*(~g)*((~m) + (~p) + 1)) + ((~m) + 2*(~p) + 2)⨸((~e)^2*((~m) + (~p) + 1))* ∫(((~e)*cos((~a) + (~b)*(~x)))^((~m) + 2)*((~g)*sin((~c) + (~d)*(~x)))^(~p), (~x)) : nothing) + +("4_7_4_19", +@rule ∫(((~!e)*sin((~!a) + (~!b)*(~x)))^(~m)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~g), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + lt((~m), -1) && + !eq((~m) + 2*(~p) + 2, 0) && + !eq((~m) + (~p) + 1, 0) && + ext_isinteger(2*(~m), 2*(~p)) ? +((~e)*sin((~a) + (~b)*(~x)))^(~m)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸(2*(~b)*(~g)*((~m) + (~p) + 1)) + ((~m) + 2*(~p) + 2)⨸((~e)^2*((~m) + (~p) + 1))* ∫(((~e)*sin((~a) + (~b)*(~x)))^((~m) + 2)*((~g)*sin((~c) + (~d)*(~x)))^(~p), (~x)) : nothing) + +("4_7_4_20", +@rule ∫(cos((~!a) + (~!b)*(~x))*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~g), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + gt((~p), 0) && + ext_isinteger(2*(~p)) ? +2*sin((~a) + (~b)*(~x))*((~g)*sin((~c) + (~d)*(~x)))^(~p)⨸((~d)*(2*(~p) + 1)) + 2*(~p)*(~g)⨸(2*(~p) + 1)*∫(sin((~a) + (~b)*(~x))*((~g)*sin((~c) + (~d)*(~x)))^((~p) - 1), (~x)) : nothing) + +("4_7_4_21", +@rule ∫(sin((~!a) + (~!b)*(~x))*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~g), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + gt((~p), 0) && + ext_isinteger(2*(~p)) ? +-2*cos((~a) + (~b)*(~x))*((~g)*sin((~c) + (~d)*(~x)))^(~p)⨸((~d)*(2*(~p) + 1)) + 2*(~p)*(~g)⨸(2*(~p) + 1)*∫(cos((~a) + (~b)*(~x))*((~g)*sin((~c) + (~d)*(~x)))^((~p) - 1), (~x)) : nothing) + +("4_7_4_22", +@rule ∫(cos((~!a) + (~!b)*(~x))*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~g), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + lt((~p), -1) && + ext_isinteger(2*(~p)) ? +cos((~a) + (~b)*(~x))*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸(2*(~b)*(~g)*((~p) + 1)) + (2*(~p) + 3)⨸(2*(~g)*((~p) + 1))* ∫(sin((~a) + (~b)*(~x))*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1), (~x)) : nothing) + +("4_7_4_23", +@rule ∫(sin((~!a) + (~!b)*(~x))*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~g), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + lt((~p), -1) && + ext_isinteger(2*(~p)) ? +-sin((~a) + (~b)*(~x))*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸(2*(~b)*(~g)*((~p) + 1)) + (2*(~p) + 3)⨸(2*(~g)*((~p) + 1))* ∫(cos((~a) + (~b)*(~x))*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1), (~x)) : nothing) + +("4_7_4_24", +@rule ∫(cos((~!a) + (~!b)*(~x))/sqrt(sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) ? +-asin(cos((~a) + (~b)*(~x)) - sin((~a) + (~b)*(~x)))⨸(~d) + log(cos((~a) + (~b)*(~x)) + sin((~a) + (~b)*(~x)) + sqrt(sin((~c) + (~d)*(~x))))⨸(~d) : nothing) + +("4_7_4_25", +@rule ∫(sin((~!a) + (~!b)*(~x))/sqrt(sin((~!c) + (~!d)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) ? +-asin(cos((~a) + (~b)*(~x)) - sin((~a) + (~b)*(~x)))⨸(~d) - log(cos((~a) + (~b)*(~x)) + sin((~a) + (~b)*(~x)) + sqrt(sin((~c) + (~d)*(~x))))⨸(~d) : nothing) + +("4_7_4_26", +@rule ∫(((~!g)*sin((~!c) + (~!d)*(~x)))^(~p)/cos((~!a) + (~!b)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~g), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + ext_isinteger(2*(~p)) ? +2*(~g)*∫(sin((~a) + (~b)*(~x))*((~g)*sin((~c) + (~d)*(~x)))^((~p) - 1), (~x)) : nothing) + +("4_7_4_27", +@rule ∫(((~!g)*sin((~!c) + (~!d)*(~x)))^(~p)/sin((~!a) + (~!b)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~g), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + ext_isinteger(2*(~p)) ? +2*(~g)*∫(cos((~a) + (~b)*(~x))*((~g)*sin((~c) + (~d)*(~x)))^((~p) - 1), (~x)) : nothing) + +#(* Int[(e_.*cos[a_.+b_.*x_])^m_*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] := -(e*Cos[a+b*x])^(m+1)*Sin[a+b*x]*(g*Sin[c+d*x])^p/(b*e*(m+p+1)*(Sin[ a+b*x]^2)^((p+1)/2))* Hypergeometric2F1[-(p-1)/2,(m+p+1)/2,(m+p+3)/2,Cos[a+b*x]^2] /; FreeQ[{a,b,c,d,e,g,m,p},x] && EqQ[b*c-a*d,0] && EqQ[d/b,2] && Not[IntegerQ[p]] && Not[IntegerQ[m+p]] *) +#(* Int[(f_.*sin[a_.+b_.*x_])^n_.*(g_.*sin[c_.+d_.*x_])^p_,x_Symbol] := -Cos[a+b*x]*(f*Sin[a+b*x])^(n+1)*(g*Sin[c+d*x])^p/(b*f*(p+1)*(Sin[a+ b*x]^2)^((n+p+1)/2))* Hypergeometric2F1[-(n+p-1)/2,(p+1)/2,(p+3)/2,Cos[a+b*x]^2] /; FreeQ[{a,b,c,d,f,g,n,p},x] && EqQ[b*c-a*d,0] && EqQ[d/b,2] && Not[IntegerQ[p]] && Not[IntegerQ[n+p]] *) +("4_7_4_28", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~!m)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~g), (~m), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) ? +((~g)*sin((~c) + (~d)*(~x)))^(~p)⨸(((~e)*cos((~a) + (~b)*(~x)))^(~p)*sin((~a) + (~b)*(~x))^(~p))* ∫(((~e)*cos((~a) + (~b)*(~x)))^((~m) + (~p))*sin((~a) + (~b)*(~x))^(~p), (~x)) : nothing) + +("4_7_4_29", +@rule ∫(((~!f)*sin((~!a) + (~!b)*(~x)))^(~!n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~f), (~g), (~n), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) ? +((~g)*sin((~c) + (~d)*(~x)))^(~p)⨸(cos((~a) + (~b)*(~x))^(~p)*((~f)*sin((~a) + (~b)*(~x)))^(~p))* ∫(cos((~a) + (~b)*(~x))^(~p)*((~f)*sin((~a) + (~b)*(~x)))^((~n) + (~p)), (~x)) : nothing) + +("4_7_4_30", +@rule ∫(cos((~!a) + (~!b)*(~x))^2* sin((~!a) + (~!b)*(~x))^2*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~g), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + igt((~p)/2, 0) ? +1⨸4*∫(((~g)*sin((~c) + (~d)*(~x)))^(~p), (~x)) - 1⨸4*∫(cos((~c) + (~d)*(~x))^2*((~g)*sin((~c) + (~d)*(~x)))^(~p), (~x)) : nothing) + +("4_7_4_31", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~!m)*((~!f)*sin((~!a) + (~!b)*(~x)))^(~!n)* sin((~!c) + (~!d)*(~x))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + ext_isinteger((~p)) ? +2^(~p)⨸((~e)^(~p)*(~f)^(~p))* ∫(((~e)*cos((~a) + (~b)*(~x)))^((~m) + (~p))*((~f)*sin((~a) + (~b)*(~x)))^((~n) + (~p)), (~x)) : nothing) + +("4_7_4_32", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~!m)*((~!f)*sin((~!a) + (~!b)*(~x)))^ (~!n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + eq((~m) + (~p) + 1, 0) ? +(~e)*((~e)*cos((~a) + (~b)*(~x)))^((~m) - 1)*((~f)*sin((~a) + (~b)*(~x)))^((~n) + 1)*((~g)*sin((~c) + (~d)*(~x)))^(~p)⨸((~b)*(~f)*((~n) + (~p) + 1)) : nothing) + +("4_7_4_33", +@rule ∫(((~!e)*sin((~!a) + (~!b)*(~x)))^(~m)*((~!f)*cos((~!a) + (~!b)*(~x)))^ (~n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + eq((~m) + (~p) + 1, 0) ? +-(~e)*((~e)*sin((~a) + (~b)*(~x)))^((~m) - 1)*((~f)*cos((~a) + (~b)*(~x)))^((~n) + 1)*((~g)*sin((~c) + (~d)*(~x)))^(~p)⨸((~b)*(~f)*((~n) + (~p) + 1)) : nothing) + +("4_7_4_34", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~!m)*((~!f)*sin((~!a) + (~!b)*(~x)))^ (~!n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + eq((~m) + (~n) + 2*(~p) + 2, 0) && + !eq((~m) + (~p) + 1, 0) ? +-((~e)*cos((~a) + (~b)*(~x)))^((~m) + 1)*((~f)*sin((~a) + (~b)*(~x)))^((~n) + 1)*((~g)*sin((~c) + (~d)*(~x)))^(~p)⨸((~b)*(~e)*(~f)*((~m) + (~p) + 1)) : nothing) + +("4_7_4_35", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~m)*((~!f)*sin((~!a) + (~!b)*(~x)))^ (~n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + gt((~m), 3) && + lt((~p), -1) && + !eq((~n) + (~p) + 1, 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +(~e)^2*((~e)*cos((~a) + (~b)*(~x)))^((~m) - 2)*((~f)*sin((~a) + (~b)*(~x)))^ (~n)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸(2*(~b)*(~g)*((~n) + (~p) + 1)) + (~e)^4*((~m) + (~p) - 1)⨸(4*(~g)^2*((~n) + (~p) + 1))* ∫(((~e)*cos((~a) + (~b)*(~x)))^((~m) - 4)*((~f)*sin((~a) + (~b)*(~x)))^ (~n)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 2), (~x)) : nothing) + +("4_7_4_36", +@rule ∫(((~!e)*sin((~!a) + (~!b)*(~x)))^(~m)*((~!f)*cos((~!a) + (~!b)*(~x)))^ (~n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + gt((~m), 3) && + lt((~p), -1) && + !eq((~n) + (~p) + 1, 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +-(~e)^2*((~e)*sin((~a) + (~b)*(~x)))^((~m) - 2)*((~f)*cos((~a) + (~b)*(~x)))^ (~n)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸(2*(~b)*(~g)*((~n) + (~p) + 1)) + (~e)^4*((~m) + (~p) - 1)⨸(4*(~g)^2*((~n) + (~p) + 1))* ∫(((~e)*sin((~a) + (~b)*(~x)))^((~m) - 4)*((~f)*cos((~a) + (~b)*(~x)))^ (~n)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 2), (~x)) : nothing) + +("4_7_4_37", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~m)*((~!f)*sin((~!a) + (~!b)*(~x)))^ (~!n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + gt((~m), 1) && + lt((~p), -1) && + !eq((~m) + (~n) + 2*(~p) + 2, 0) && + !eq((~n) + (~p) + 1, 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) && + ( + lt((~p), -2) || + eq((~m), 2) || + eq((~m), 3) + ) ? +((~e)*cos((~a) + (~b)*(~x)))^(~m)*((~f)*sin((~a) + (~b)*(~x)))^ (~n)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸(2*(~b)*(~g)*((~n) + (~p) + 1)) + (~e)^2*((~m) + (~n) + 2*(~p) + 2)⨸(4*(~g)^2*((~n) + (~p) + 1))* ∫(((~e)*cos((~a) + (~b)*(~x)))^((~m) - 2)*((~f)*sin((~a) + (~b)*(~x)))^ (~n)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 2), (~x)) : nothing) + +("4_7_4_38", +@rule ∫(((~!e)*sin((~!a) + (~!b)*(~x)))^(~m)*((~!f)*cos((~!a) + (~!b)*(~x)))^ (~!n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + gt((~m), 1) && + lt((~p), -1) && + !eq((~m) + (~n) + 2*(~p) + 2, 0) && + !eq((~n) + (~p) + 1, 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) && + ( + lt((~p), -2) || + eq((~m), 2) || + eq((~m), 3) + ) ? +-((~e)*sin((~a) + (~b)*(~x)))^(~m)*((~f)*cos((~a) + (~b)*(~x)))^ (~n)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 1)⨸(2*(~b)*(~g)*((~n) + (~p) + 1)) + (~e)^2*((~m) + (~n) + 2*(~p) + 2)⨸(4*(~g)^2*((~n) + (~p) + 1))* ∫(((~e)*sin((~a) + (~b)*(~x)))^((~m) - 2)*((~f)*cos((~a) + (~b)*(~x)))^ (~n)*((~g)*sin((~c) + (~d)*(~x)))^((~p) + 2), (~x)) : nothing) + +("4_7_4_39", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~m)*((~!f)*sin((~!a) + (~!b)*(~x)))^ (~n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + gt((~m), 1) && + lt((~n), -1) && + !eq((~n) + (~p) + 1, 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +(~e)*((~e)*cos((~a) + (~b)*(~x)))^((~m) - 1)*((~f)*sin((~a) + (~b)*(~x)))^((~n) + 1)*((~g)*sin((~c) + (~d)*(~x)))^(~p)⨸((~b)*(~f)*((~n) + (~p) + 1)) + (~e)^2*((~m) + (~p) - 1)⨸((~f)^2*((~n) + (~p) + 1))* ∫(((~e)*cos((~a) + (~b)*(~x)))^((~m) - 2)*((~f)*sin((~a) + (~b)*(~x)))^((~n) + 2)*((~g)* sin((~c) + (~d)*(~x)))^(~p), (~x)) : nothing) + +("4_7_4_40", +@rule ∫(((~!e)*sin((~!a) + (~!b)*(~x)))^(~m)*((~!f)*cos((~!a) + (~!b)*(~x)))^ (~n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + gt((~m), 1) && + lt((~n), -1) && + !eq((~n) + (~p) + 1, 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +-(~e)*((~e)*sin((~a) + (~b)*(~x)))^((~m) - 1)*((~f)*cos((~a) + (~b)*(~x)))^((~n) + 1)*((~g)*sin((~c) + (~d)*(~x)))^(~p)⨸((~b)*(~f)*((~n) + (~p) + 1)) + (~e)^2*((~m) + (~p) - 1)⨸((~f)^2*((~n) + (~p) + 1))* ∫(((~e)*sin((~a) + (~b)*(~x)))^((~m) - 2)*((~f)*cos((~a) + (~b)*(~x)))^((~n) + 2)*((~g)* sin((~c) + (~d)*(~x)))^(~p), (~x)) : nothing) + +("4_7_4_41", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~m)*((~!f)*sin((~!a) + (~!b)*(~x)))^ (~!n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + gt((~m), 1) && + !eq((~m) + (~n) + 2*(~p), 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +(~e)*((~e)*cos((~a) + (~b)*(~x)))^((~m) - 1)*((~f)*sin((~a) + (~b)*(~x)))^((~n) + 1)*((~g)*sin((~c) + (~d)*(~x)))^(~p)⨸((~b)*(~f)*((~m) + (~n) + 2*(~p))) + (~e)^2*((~m) + (~p) - 1)⨸((~m) + (~n) + 2*(~p))* ∫(((~e)*cos((~a) + (~b)*(~x)))^((~m) - 2)*((~f)*sin((~a) + (~b)*(~x)))^(~n)*((~g)*sin((~c) + (~d)*(~x)))^ (~p), (~x)) : nothing) + +("4_7_4_42", +@rule ∫(((~!e)*sin((~!a) + (~!b)*(~x)))^(~m)*((~!f)*cos((~!a) + (~!b)*(~x)))^ (~!n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + gt((~m), 1) && + !eq((~m) + (~n) + 2*(~p), 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +-(~e)*((~e)*sin((~a) + (~b)*(~x)))^((~m) - 1)*((~f)*cos((~a) + (~b)*(~x)))^((~n) + 1)*((~g)*sin((~c) + (~d)*(~x)))^(~p)⨸((~b)*(~f)*((~m) + (~n) + 2*(~p))) + (~e)^2*((~m) + (~p) - 1)⨸((~m) + (~n) + 2*(~p))* ∫(((~e)*sin((~a) + (~b)*(~x)))^((~m) - 2)*((~f)*cos((~a) + (~b)*(~x)))^(~n)*((~g)*sin((~c) + (~d)*(~x)))^ (~p), (~x)) : nothing) + +("4_7_4_43", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~m)*((~!f)*sin((~!a) + (~!b)*(~x)))^ (~!n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + lt((~m), -1) && + gt((~n), 0) && + gt((~p), 0) && + !eq((~m) + (~n) + 2*(~p), 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +-(~f)*((~e)*cos((~a) + (~b)*(~x)))^((~m) + 1)*((~f)*sin((~a) + (~b)*(~x)))^((~n) - 1)*((~g)*sin((~c) + (~d)*(~x)))^(~p)⨸((~b)*(~e)*((~m) + (~n) + 2*(~p))) + 2*(~f)*(~g)*((~n) + (~p) - 1)⨸((~e)*((~m) + (~n) + 2*(~p)))* ∫(((~e)*cos((~a) + (~b)*(~x)))^((~m) + 1)*((~f)*sin((~a) + (~b)*(~x)))^((~n) - 1)*((~g)* sin((~c) + (~d)*(~x)))^((~p) - 1), (~x)) : nothing) + +("4_7_4_44", +@rule ∫(((~!e)*sin((~!a) + (~!b)*(~x)))^(~m)*((~!f)*cos((~!a) + (~!b)*(~x)))^ (~!n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + lt((~m), -1) && + gt((~n), 0) && + gt((~p), 0) && + !eq((~m) + (~n) + 2*(~p), 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +(~f)*((~e)*sin((~a) + (~b)*(~x)))^((~m) + 1)*((~f)*cos((~a) + (~b)*(~x)))^((~n) - 1)*((~g)*sin((~c) + (~d)*(~x)))^(~p)⨸((~b)*(~e)*((~m) + (~n) + 2*(~p))) + 2*(~f)*(~g)*((~n) + (~p) - 1)⨸((~e)*((~m) + (~n) + 2*(~p)))* ∫(((~e)*sin((~a) + (~b)*(~x)))^((~m) + 1)*((~f)*cos((~a) + (~b)*(~x)))^((~n) - 1)*((~g)* sin((~c) + (~d)*(~x)))^((~p) - 1), (~x)) : nothing) + +("4_7_4_45", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~m)*((~!f)*sin((~!a) + (~!b)*(~x)))^ (~!n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + lt((~m), -1) && + gt((~n), 0) && + lt((~p), -1) && + !eq((~m) + (~n) + 2*(~p) + 2, 0) && + !eq((~m) + (~p) + 1, 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +-((~e)*cos((~a) + (~b)*(~x)))^((~m) + 1)*((~f)*sin((~a) + (~b)*(~x)))^((~n) + 1)*((~g)*sin((~c) + (~d)*(~x)))^(~p)⨸((~b)*(~e)*(~f)*((~m) + (~p) + 1)) + (~f)*((~m) + (~n) + 2*(~p) + 2)⨸(2*(~e)*(~g)*((~m) + (~p) + 1))* ∫(((~e)*cos((~a) + (~b)*(~x)))^((~m) + 1)*((~f)*sin((~a) + (~b)*(~x)))^((~n) - 1)*((~g)* sin((~c) + (~d)*(~x)))^((~p) + 1), (~x)) : nothing) + +("4_7_4_46", +@rule ∫(((~!e)*sin((~!a) + (~!b)*(~x)))^(~m)*((~!f)*cos((~!a) + (~!b)*(~x)))^ (~!n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + lt((~m), -1) && + gt((~n), 0) && + lt((~p), -1) && + !eq((~m) + (~n) + 2*(~p) + 2, 0) && + !eq((~m) + (~p) + 1, 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +((~e)*sin((~a) + (~b)*(~x)))^((~m) + 1)*((~f)*cos((~a) + (~b)*(~x)))^((~n) + 1)*((~g)*sin((~c) + (~d)*(~x)))^ (~p)⨸((~b)*(~e)*(~f)*((~m) + (~p) + 1)) + (~f)*((~m) + (~n) + 2*(~p) + 2)⨸(2*(~e)*(~g)*((~m) + (~p) + 1))* ∫(((~e)*sin((~a) + (~b)*(~x)))^((~m) + 1)*((~f)*cos((~a) + (~b)*(~x)))^((~n) - 1)*((~g)* sin((~c) + (~d)*(~x)))^((~p) + 1), (~x)) : nothing) + +("4_7_4_47", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~m)*((~!f)*sin((~!a) + (~!b)*(~x)))^ (~!n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + lt((~m), -1) && + !eq((~m) + (~n) + 2*(~p) + 2, 0) && + !eq((~m) + (~p) + 1, 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +-((~e)*cos((~a) + (~b)*(~x)))^((~m) + 1)*((~f)*sin((~a) + (~b)*(~x)))^((~n) + 1)*((~g)*sin((~c) + (~d)*(~x)))^(~p)⨸((~b)*(~e)*(~f)*((~m) + (~p) + 1)) + ((~m) + (~n) + 2*(~p) + 2)⨸((~e)^2*((~m) + (~p) + 1))* ∫(((~e)*cos((~a) + (~b)*(~x)))^((~m) + 2)*((~f)*sin((~a) + (~b)*(~x)))^(~n)*((~g)*sin((~c) + (~d)*(~x)))^ (~p), (~x)) : nothing) + +("4_7_4_48", +@rule ∫(((~!e)*sin((~!a) + (~!b)*(~x)))^(~m)*((~!f)*cos((~!a) + (~!b)*(~x)))^ (~!n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) && + lt((~m), -1) && + !eq((~m) + (~n) + 2*(~p) + 2, 0) && + !eq((~m) + (~p) + 1, 0) && + ext_isinteger(2*(~m), 2*(~n), 2*(~p)) ? +((~e)*sin((~a) + (~b)*(~x)))^((~m) + 1)*((~f)*cos((~a) + (~b)*(~x)))^((~n) + 1)*((~g)*sin((~c) + (~d)*(~x)))^ (~p)⨸((~b)*(~e)*(~f)*((~m) + (~p) + 1)) + ((~m) + (~n) + 2*(~p) + 2)⨸((~e)^2*((~m) + (~p) + 1))* ∫(((~e)*sin((~a) + (~b)*(~x)))^((~m) + 2)*((~f)*cos((~a) + (~b)*(~x)))^(~n)*((~g)*sin((~c) + (~d)*(~x)))^ (~p), (~x)) : nothing) + +#(* Int[(e_.*cos[a_.+b_.*x_])^m_*(f_.*sin[a_.+b_.*x_])^n_.*(g_.*sin[c_. +d_.*x_])^p_,x_Symbol] := -(e*Cos[a+b*x])^(m+1)*(f*Sin[a+b*x])^(n+1)*(g*Sin[c+d*x])^p/(b*e*f*( m+p+1)*(Sin[a+b*x]^2)^((n+p+1)/2))* Hypergeometric2F1[-(n+p-1)/2,(m+p+1)/2,(m+p+3)/2,Cos[a+b*x]^2] /; FreeQ[{a,b,c,d,e,f,g,m,n,p},x] && EqQ[b*c-a*d,0] && EqQ[d/b,2] && Not[IntegerQ[p]] && Not[IntegerQ[m+p]] && Not[IntegerQ[n+p]] *) +("4_7_4_49", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~!m)*((~!f)*sin((~!a) + (~!b)*(~x)))^ (~!n)*((~!g)*sin((~!c) + (~!d)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~p), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), 2) && + !(ext_isinteger((~p))) ? +((~g)*sin((~c) + (~d)*(~x)))^(~p)⨸(((~e)*cos((~a) + (~b)*(~x)))^(~p)*((~f)*sin((~a) + (~b)*(~x)))^(~p))* ∫(((~e)*cos((~a) + (~b)*(~x)))^((~m) + (~p))*((~f)*sin((~a) + (~b)*(~x)))^((~n) + (~p)), (~x)) : nothing) + +("4_7_4_50", +@rule ∫(((~!e)*cos((~!a) + (~!b)*(~x)))^(~!m)*sin((~!c) + (~!d)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + eq((~b)*(~c) - (~a)*(~d), 0) && + eq((~d)/(~b), Abs[(~m) + 2]) ? +-((~m) + 2)*((~e)*cos((~a) + (~b)*(~x)))^((~m) + 1)* cos(((~m) + 1)*((~a) + (~b)*(~x)))⨸((~d)*(~e)*((~m) + 1)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/4 Trig functions/4.7 Miscellaneous/4.7.7 F^(c (a+b x)) trig(d+e x)^n.jl b/src/methods/rule_based/rules2/4 Trig functions/4.7 Miscellaneous/4.7.7 F^(c (a+b x)) trig(d+e x)^n.jl new file mode 100644 index 0000000..167bd7e --- /dev/null +++ b/src/methods/rule_based/rules2/4 Trig functions/4.7 Miscellaneous/4.7.7 F^(c (a+b x)) trig(d+e x)^n.jl @@ -0,0 +1,356 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 4.7.7 F^(c (a+b x)) trig(d+e*x)^n *) +("4_7_7_1", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*sin((~!d) + (~!e)*(~x)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~e)^2 + (~b)^2*(~c)^2*log((~F))^2, 0) ? +(~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) : nothing) + +("4_7_7_2", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*cos((~!d) + (~!e)*(~x)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~e)^2 + (~b)^2*(~c)^2*log((~F))^2, 0) ? +(~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) : nothing) + +("4_7_7_3", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*sin((~!d) + (~!e)*(~x))^(~n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~e)^2*(~n)^2 + (~b)^2*(~c)^2*log((~F))^2, 0) && + gt((~n), 1) ? +(~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), (~x)) : nothing) + +("4_7_7_4", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*cos((~!d) + (~!e)*(~x))^(~m),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~e)^2*(~m)^2 + (~b)^2*(~c)^2*log((~F))^2, 0) && + gt((~m), 1) ? +(~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)* ∫((~F)^((~c)*((~a) + (~b)*(~x)))*cos((~d) + (~e)*(~x))^((~m) - 2), (~x)) : nothing) + +("4_7_7_5", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*sin((~!d) + (~!e)*(~x))^(~n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + eq((~e)^2*((~n) + 2)^2 + (~b)^2*(~c)^2*log((~F))^2, 0) && + !eq((~n), -1) && + !eq((~n), -2) ? +-(~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)) : nothing) + +("4_7_7_6", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*cos((~!d) + (~!e)*(~x))^(~n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + eq((~e)^2*((~n) + 2)^2 + (~b)^2*(~c)^2*log((~F))^2, 0) && + !eq((~n), -1) && + !eq((~n), -2) ? +-(~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)) : nothing) + +("4_7_7_7", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*sin((~!d) + (~!e)*(~x))^(~n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~e)^2*((~n) + 2)^2 + (~b)^2*(~c)^2*log((~F))^2, 0) && + lt((~n), -1) && + !eq((~n), -2) ? +-(~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), (~x)) : nothing) + +("4_7_7_8", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*cos((~!d) + (~!e)*(~x))^(~n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~e)^2*((~n) + 2)^2 + (~b)^2*(~c)^2*log((~F))^2, 0) && + lt((~n), -1) && + !eq((~n), -2) ? +-(~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))* ∫((~F)^((~c)*((~a) + (~b)*(~x)))*cos((~d) + (~e)*(~x))^((~n) + 2), (~x)) : nothing) + +("4_7_7_9", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*sin((~!d) + (~!e)*(~x))^(~n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + !(ext_isinteger((~n))) ? +ℯ^((~I)*(~n)*((~d) + (~e)*(~x)))*sin((~d) + (~e)*(~x))^(~n)⨸(-1 + ℯ^(2*(~I)*((~d) + (~e)*(~x))))^(~n)* ∫((~F)^((~c)*((~a) + (~b)*(~x)))*(-1 + ℯ^(2*(~I)*((~d) + (~e)*(~x))))^(~n)⨸ℯ^((~I)*(~n)*((~d) + (~e)*(~x))), (~x)) : nothing) + +("4_7_7_10", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*cos((~!d) + (~!e)*(~x))^(~n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + !(ext_isinteger((~n))) ? +ℯ^((~I)*(~n)*((~d) + (~e)*(~x)))*cos((~d) + (~e)*(~x))^(~n)⨸(1 + ℯ^(2*(~I)*((~d) + (~e)*(~x))))^(~n)* ∫((~F)^((~c)*((~a) + (~b)*(~x)))*(1 + ℯ^(2*(~I)*((~d) + (~e)*(~x))))^(~n)⨸ℯ^((~I)*(~n)*((~d) + (~e)*(~x))), (~x)) : nothing) + +("4_7_7_11", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*tan((~!d) + (~!e)*(~x))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + ext_isinteger((~n)) ? +(~I)^(~n)*∫( ext_expand( (~F)^((~c)*((~a) + (~b)*(~x)))*(1 - ℯ^(2*(~I)*((~d) + (~e)*(~x))))^ (~n)⨸(1 + ℯ^(2*(~I)*((~d) + (~e)*(~x))))^(~n), (~x)), (~x)) : nothing) + +("4_7_7_12", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*cot((~!d) + (~!e)*(~x))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + ext_isinteger((~n)) ? +(-(~I))^(~n)* ∫(ext_expand( (~F)^((~c)*((~a) + (~b)*(~x)))*(1 + ℯ^(2*(~I)*((~d) + (~e)*(~x))))^ (~n)⨸(1 - ℯ^(2*(~I)*((~d) + (~e)*(~x))))^(~n), (~x)), (~x)) : nothing) + +("4_7_7_13", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*sec((~!d) + (~!e)*(~x))^(~n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~e)^2*(~n)^2 + (~b)^2*(~c)^2*log((~F))^2, 0) && + lt((~n), -1) ? +(~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), (~x)) : nothing) + +("4_7_7_14", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*csc((~!d) + (~!e)*(~x))^(~n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~e)^2*(~n)^2 + (~b)^2*(~c)^2*log((~F))^2, 0) && + lt((~n), -1) ? +(~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))* ∫((~F)^((~c)*((~a) + (~b)*(~x)))*csc((~d) + (~e)*(~x))^((~n) + 2), (~x)) : nothing) + +("4_7_7_15", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*sec((~!d) + (~!e)*(~x))^(~n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + eq((~b)^2*(~c)^2*log((~F))^2 + (~e)^2*((~n) - 2)^2, 0) && + !eq((~n), 1) && + !eq((~n), 2) ? +-(~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)) : nothing) + +("4_7_7_16", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*csc((~!d) + (~!e)*(~x))^(~n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + eq((~b)^2*(~c)^2*log((~F))^2 + (~e)^2*((~n) - 2)^2, 0) && + !eq((~n), 1) && + !eq((~n), 2) ? +-(~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)) : nothing) + +("4_7_7_17", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*sec((~!d) + (~!e)*(~x))^(~n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2*(~c)^2*log((~F))^2 + (~e)^2*((~n) - 2)^2, 0) && + gt((~n), 1) && + !eq((~n), 2) ? +-(~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), (~x)) : nothing) + +("4_7_7_18", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*csc((~!d) + (~!e)*(~x))^(~n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~b)^2*(~c)^2*log((~F))^2 + (~e)^2*((~n) - 2)^2, 0) && + gt((~n), 1) && + !eq((~n), 2) ? +-(~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))* ∫((~F)^((~c)*((~a) + (~b)*(~x)))*csc((~d) + (~e)*(~x))^((~n) - 2), (~x)) : nothing) + +#(* 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_7_7_19", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*sec((~!d) + (~!k)*π + (~!e)*(~x))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + ext_isinteger(4*(~k)) && + ext_isinteger((~n)) ? +2^(~n)*ℯ^((~I)*(~k)*(~n)*π)*ℯ^((~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)), -ℯ^(2*(~I)*(~k)*π)*ℯ^(2*(~I)*((~d) + (~e)*(~x)))) : nothing) + +("4_7_7_20", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*sec((~!d) + (~!e)*(~x))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + ext_isinteger((~n)) ? +2^(~n)*ℯ^((~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)), -ℯ^(2*(~I)*((~d) + (~e)*(~x)))) : nothing) + +("4_7_7_21", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*csc((~!d) + (~!k)*π + (~!e)*(~x))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + ext_isinteger(4*(~k)) && + ext_isinteger((~n)) ? +(-2*(~I))^(~n)*ℯ^((~I)*(~k)*(~n)*π)* ℯ^((~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)), ℯ^(2*(~I)*(~k)*π)*ℯ^(2*(~I)*((~d) + (~e)*(~x)))) : nothing) + +("4_7_7_22", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*csc((~!d) + (~!e)*(~x))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + ext_isinteger((~n)) ? +(-2*(~I))^(~n)*ℯ^((~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)), ℯ^(2*(~I)*((~d) + (~e)*(~x)))) : nothing) + +("4_7_7_23", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*sec((~!d) + (~!e)*(~x))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + !(ext_isinteger((~n))) ? +(1 + ℯ^(2*(~I)*((~d) + (~e)*(~x))))^(~n)*sec((~d) + (~e)*(~x))^(~n)⨸ℯ^((~I)*(~n)*((~d) + (~e)*(~x)))* ∫(ext_simplify( (~F)^((~c)*((~a) + (~b)*(~x)))*ℯ^((~I)*(~n)*((~d) + (~e)*(~x)))⨸(1 + ℯ^(2*(~I)*((~d) + (~e)*(~x))))^(~n), (~x)), (~x)) : nothing) + +("4_7_7_24", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*csc((~!d) + (~!e)*(~x))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && + !(ext_isinteger((~n))) ? +(1 - ℯ^(-2*(~I)*((~d) + (~e)*(~x))))^(~n)*csc((~d) + (~e)*(~x))^(~n)⨸ℯ^(-(~I)*(~n)*((~d) + (~e)*(~x)))* ∫(ext_simplify( (~F)^((~c)*((~a) + (~b)*(~x)))*ℯ^(-(~I)*(~n)*((~d) + (~e)*(~x)))⨸(1 - ℯ^(-2*(~I)*((~d) + (~e)*(~x))))^(~n), (~x)), (~x)) : nothing) + +("4_7_7_25", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*((~f) + (~!g)*sin((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~f)^2 - (~g)^2, 0) && + ilt((~n), 0) ? +2^(~n)*(~f)^(~n)* ∫((~F)^((~c)*((~a) + (~b)*(~x)))*cos((~d)⨸2 - (~f)*π⨸(4*(~g)) + (~e)*(~x)⨸2)^(2*(~n)), (~x)) : nothing) + +("4_7_7_26", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*((~f) + (~!g)*cos((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~f) - (~g), 0) && + ilt((~n), 0) ? +2^(~n)*(~f)^(~n)*∫((~F)^((~c)*((~a) + (~b)*(~x)))*cos((~d)⨸2 + (~e)*(~x)⨸2)^(2*(~n)), (~x)) : nothing) + +("4_7_7_27", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*((~f) + (~!g)*cos((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~f) + (~g), 0) && + ilt((~n), 0) ? +2^(~n)*(~f)^(~n)*∫((~F)^((~c)*((~a) + (~b)*(~x)))*sin((~d)⨸2 + (~e)*(~x)⨸2)^(2*(~n)), (~x)) : nothing) + +("4_7_7_28", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*((~f) + (~!g)*sin((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + eq((~f)^2 - (~g)^2, 0) && + !(ext_isinteger((~n))) ? +((~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)^(2*(~n)), (~x)) : nothing) + +("4_7_7_29", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*((~f) + (~!g)*cos((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + eq((~f) - (~g), 0) && + !(ext_isinteger((~n))) ? +((~f) + (~g)*cos((~d) + (~e)*(~x)))^(~n)⨸cos((~d)⨸2 + (~e)*(~x)⨸2)^(2*(~n))* ∫((~F)^((~c)*((~a) + (~b)*(~x)))*cos((~d)⨸2 + (~e)*(~x)⨸2)^(2*(~n)), (~x)) : nothing) + +("4_7_7_30", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*((~f) + (~!g)*cos((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + eq((~f) + (~g), 0) && + !(ext_isinteger((~n))) ? +((~f) + (~g)*cos((~d) + (~e)*(~x)))^(~n)⨸sin((~d)⨸2 + (~e)*(~x)⨸2)^(2*(~n))* ∫((~F)^((~c)*((~a) + (~b)*(~x)))*sin((~d)⨸2 + (~e)*(~x)⨸2)^(2*(~n)), (~x)) : nothing) + +("4_7_7_31", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))* cos((~!d) + (~!e)*(~x))^(~!m)*((~f) + (~!g)*sin((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~f)^2 - (~g)^2, 0) && + ext_isinteger((~m), (~n)) && + eq((~m) + (~n), 0) ? +(~g)^(~n)*∫((~F)^((~c)*((~a) + (~b)*(~x)))*tan((~f)*π⨸(4*(~g)) - (~d)⨸2 - (~e)*(~x)⨸2)^(~m), (~x)) : nothing) + +("4_7_7_32", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))* sin((~!d) + (~!e)*(~x))^(~!m)*((~f) + (~!g)*cos((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~f) - (~g), 0) && + ext_isinteger((~m), (~n)) && + eq((~m) + (~n), 0) ? +(~f)^(~n)*∫((~F)^((~c)*((~a) + (~b)*(~x)))*tan((~d)⨸2 + (~e)*(~x)⨸2)^(~m), (~x)) : nothing) + +("4_7_7_33", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))* sin((~!d) + (~!e)*(~x))^(~!m)*((~f) + (~!g)*cos((~!d) + (~!e)*(~x)))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~f) + (~g), 0) && + ext_isinteger((~m), (~n)) && + eq((~m) + (~n), 0) ? +(~f)^(~n)*∫((~F)^((~c)*((~a) + (~b)*(~x)))*cot((~d)⨸2 + (~e)*(~x)⨸2)^(~m), (~x)) : nothing) + +("4_7_7_34", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*((~h) + (~!i)*cos((~!d) + (~!e)*(~x)))/((~f) + (~!g)*sin((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~x)) && + eq((~f)^2 - (~g)^2, 0) && + eq((~h)^2 - (~i)^2, 0) && + eq((~g)*(~h) - (~f)*(~i), 0) ? +2*(~i)*∫((~F)^((~c)*((~a) + (~b)*(~x)))*(cos((~d) + (~e)*(~x))⨸((~f) + (~g)*sin((~d) + (~e)*(~x)))), (~x)) + ∫((~F)^((~c)*((~a) + (~b)*(~x)))*(((~h) - (~i)*cos((~d) + (~e)*(~x)))⨸((~f) + (~g)*sin((~d) + (~e)*(~x)))), (~x)) : nothing) + +("4_7_7_35", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*((~h) + (~!i)*sin((~!d) + (~!e)*(~x)))/((~f) + (~!g)*cos((~!d) + (~!e)*(~x))),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~i), (~x)) && + eq((~f)^2 - (~g)^2, 0) && + eq((~h)^2 - (~i)^2, 0) && + eq((~g)*(~h) + (~f)*(~i), 0) ? +2*(~i)*∫((~F)^((~c)*((~a) + (~b)*(~x)))*(sin((~d) + (~e)*(~x))⨸((~f) + (~g)*cos((~d) + (~e)*(~x)))), (~x)) + ∫((~F)^((~c)*((~a) + (~b)*(~x)))*(((~h) - (~i)*sin((~d) + (~e)*(~x)))⨸((~f) + (~g)*cos((~d) + (~e)*(~x)))), (~x)) : nothing) + +("4_7_7_36", +@rule ∫((~F)^((~!c)*(~u))*(~G)((~v))^(~!n),(~x)) => + !contains_var((~F), (~c), (~n), (~x)) && + istrig((~G)) && + linear((~u), (~v), (~x)) && + !(linear_without_simplify((~u), (~v), (~x))) ? +∫((~F)^((~c)*expand_to_sum((~u), (~x)))*(~G)(expand_to_sum((~v), (~x)))^(~n), (~x)) : nothing) + +# Rule skipped because of "Module": +# 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] + +# Rule skipped because of "Module": +# 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] + +("4_7_7_39", +@rule ∫(((~!f)*(~x))^(~m)*(~F)^((~!c)*((~!a) + (~!b)*(~x)))*sin((~!d) + (~!e)*(~x)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + ( + lt((~m), -1) || + sumsimpler((~m), 1) + ) ? +((~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)), (~x)) - (~b)*(~c)*log((~F))⨸((~f)*((~m) + 1))* ∫(((~f)*(~x))^((~m) + 1)*(~F)^((~c)*((~a) + (~b)*(~x)))*sin((~d) + (~e)*(~x)), (~x)) : nothing) + +("4_7_7_40", +@rule ∫(((~!f)*(~x))^(~m)*(~F)^((~!c)*((~!a) + (~!b)*(~x)))*cos((~!d) + (~!e)*(~x)),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + ( + lt((~m), -1) || + sumsimpler((~m), 1) + ) ? +((~f)*(~x))^((~m) + 1)⨸((~f)*((~m) + 1))*(~F)^((~c)*((~a) + (~b)*(~x)))*cos((~d) + (~e)*(~x)) + (~e)⨸((~f)*((~m) + 1))* ∫(((~f)*(~x))^((~m) + 1)*(~F)^((~c)*((~a) + (~b)*(~x)))*sin((~d) + (~e)*(~x)), (~x)) - (~b)*(~c)*log((~F))⨸((~f)*((~m) + 1))* ∫(((~f)*(~x))^((~m) + 1)*(~F)^((~c)*((~a) + (~b)*(~x)))*cos((~d) + (~e)*(~x)), (~x)) : nothing) + +#(* 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] *) +("4_7_7_41", +@rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*sin((~!d) + (~!e)*(~x))^(~!m)* cos((~!f) + (~!g)*(~x))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + igt((~m), 0) && + igt((~n), 0) ? +∫(expand_trig_reduce((~F)^((~c)*((~a) + (~b)*(~x))), sin((~d) + (~e)*(~x))^(~m)*cos((~f) + (~g)*(~x))^(~n), (~x)), (~x)) : nothing) + +("4_7_7_42", +@rule ∫((~x)^(~!p)*(~F)^((~!c)*((~!a) + (~!b)*(~x)))*sin((~!d) + (~!e)*(~x))^(~!m)* cos((~!f) + (~!g)*(~x))^(~!n),(~x)) => + !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + igt((~m), 0) && + igt((~n), 0) && + igt((~p), 0) ? +∫(expand_trig_reduce((~x)^(~p)*(~F)^((~c)*((~a) + (~b)*(~x))), sin((~d) + (~e)*(~x))^(~m)*cos((~f) + (~g)*(~x))^(~n), (~x)), (~x)) : nothing) + +# ("4_7_7_43", +# @rule ∫((~F)^((~!c)*((~!a) + (~!b)*(~x)))*(~G)((~!d) + (~!e)*(~x))^(~!m)*(~H)((~!d) + (~!e)*(~x))^(~!n),(~x)) => +# !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~x)) && +# igt((~m), 0) && +# igt((~n), 0) && +# istrig((~G)) && +# istrig((~H)) ? +# ∫(ExpandTrigToExp[(~F)^((~c)*((~a) + (~b)*(~x))), (~G)((~d) + (~e)*(~x))^(~m)*(~H)((~d) + (~e)*(~x))^(~n), (~x)], (~x)) : nothing) +# +# ("4_7_7_44", +# @rule ∫((~F)^(~u)*sin((~v))^(~!n),(~x)) => +# !contains_var((~F), (~x)) && +# ( +# linear((~u), (~x)) || +# poly((~u), (~x), 2) +# ) && +# ( +# linear((~v), (~x)) || +# poly((~v), (~x), 2) +# ) && +# igt((~n), 0) ? +# ∫(ExpandTrigToExp[(~F)^(~u), sin((~v))^(~n), (~x)], (~x)) : nothing) +# +# ("4_7_7_45", +# @rule ∫((~F)^(~u)*cos((~v))^(~!n),(~x)) => +# !contains_var((~F), (~x)) && +# ( +# linear((~u), (~x)) || +# poly((~u), (~x), 2) +# ) && +# ( +# linear((~v), (~x)) || +# poly((~v), (~x), 2) +# ) && +# igt((~n), 0) ? +# ∫(ExpandTrigToExp[(~F)^(~u), cos((~v))^(~n), (~x)], (~x)) : nothing) +# +# ("4_7_7_46", +# @rule ∫((~F)^(~u)*sin((~v))^(~!m)*cos((~v))^(~!n),(~x)) => +# !contains_var((~F), (~x)) && +# ( +# linear((~u), (~x)) || +# poly((~u), (~x), 2) +# ) && +# ( +# linear((~v), (~x)) || +# poly((~v), (~x), 2) +# ) && +# igt((~m), 0) && +# igt((~n), 0) ? +# ∫(ExpandTrigToExp[(~F)^(~u), sin((~v))^(~m)*cos((~v))^(~n), (~x)], (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/5 Inverse trig functions/5.1 Inverse sine/5.1.1 (a+b arcsin(c x))^n.jl b/src/methods/rule_based/rules2/5 Inverse trig functions/5.1 Inverse sine/5.1.1 (a+b arcsin(c x))^n.jl new file mode 100644 index 0000000..dc70525 --- /dev/null +++ b/src/methods/rule_based/rules2/5 Inverse trig functions/5.1 Inverse sine/5.1.1 (a+b arcsin(c x))^n.jl @@ -0,0 +1,39 @@ +file_rules = [ +# (* ::Subsection::Closed:: *) +# (* 5.1.1 (a+b arcsin(c x))^n *) +("5_1_1_1", +@rule ∫(((~!a) + (~!b)*asin((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~n), 0) ? +(~x)*((~a) + (~b)*asin((~c)*(~x)))^(~n) - (~b)*(~c)*(~n)*∫((~x)*((~a) + (~b)*asin((~c)*(~x)))^((~n) - 1)⨸sqrt(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("5_1_1_2", +@rule ∫(((~!a) + (~!b)*acos((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~n), 0) ? +(~x)*((~a) + (~b)*acos((~c)*(~x)))^(~n) + (~b)*(~c)*(~n)*∫((~x)*((~a) + (~b)*acos((~c)*(~x)))^((~n) - 1)⨸sqrt(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("5_1_1_3", +@rule ∫(((~!a) + (~!b)*asin((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + lt((~n), -1) ? +sqrt(1 - (~c)^2*(~x)^2)*((~a) + (~b)*asin((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) + (~c)⨸((~b)*((~n) + 1))* ∫((~x)*((~a) + (~b)*asin((~c)*(~x)))^((~n) + 1)⨸sqrt(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("5_1_1_4", +@rule ∫(((~!a) + (~!b)*acos((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + lt((~n), -1) ? +-sqrt(1 - (~c)^2*(~x)^2)*((~a) + (~b)*acos((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) - (~c)⨸((~b)*((~n) + 1))* ∫((~x)*((~a) + (~b)*acos((~c)*(~x)))^((~n) + 1)⨸sqrt(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("5_1_1_5", +@rule ∫(((~!a) + (~!b)*asin((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) ? +1⨸((~b)*(~c))*int_and_subst((~x)^(~n)*cos(-(~a)⨸(~b) + (~x)⨸(~b)), (~x), (~x), (~a) + (~b)*asin((~c)*(~x)), "5_1_1_5") : nothing) + +("5_1_1_6", +@rule ∫(((~!a) + (~!b)*acos((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) ? +-1⨸((~b)*(~c))*int_and_subst((~x)^(~n)*sin(-(~a)⨸(~b) + (~x)⨸(~b)), (~x), (~x), (~a) + (~b)*acos((~c)*(~x)), "5_1_1_6") : nothing) + + +] diff --git a/src/methods/rule_based/rules2/5 Inverse trig functions/5.1 Inverse sine/5.1.2 (d x)^m (a+b arcsin(c x))^n.jl b/src/methods/rule_based/rules2/5 Inverse trig functions/5.1 Inverse sine/5.1.2 (d x)^m (a+b arcsin(c x))^n.jl new file mode 100644 index 0000000..b214948 --- /dev/null +++ b/src/methods/rule_based/rules2/5 Inverse trig functions/5.1 Inverse sine/5.1.2 (d x)^m (a+b arcsin(c x))^n.jl @@ -0,0 +1,99 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 5.1.2 (d x)^m (a+b arcsin(c x))^n *) +#(* Int[(a_.+b_.*ArcSin[c_.*x_])^n_./x_,x_Symbol] := 1/b*Subst[Int[x^n*Cot[-a/b+x/b],x],x,a+b*ArcSin[c*x]] /; FreeQ[{a,b,c},x] && IGtQ[n,0] *) +#(* Int[(a_.+b_.*ArcCos[c_.*x_])^n_./x_,x_Symbol] := -1/b*Subst[Int[x^n*Tan[-a/b+x/b],x],x,a+b*ArcCos[c*x]] /; FreeQ[{a,b,c},x] && IGtQ[n,0] *) +("5_1_2_1", +@rule ∫(((~!a) + (~!b)*asin((~!c)*(~x)))^(~!n)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~n), 0) ? +int_and_subst(((~a) + (~b)*(~x))^(~n)*cot((~x)), (~x), (~x), asin((~c)*(~x)), "5_1_2_1") : nothing) + +("5_1_2_2", +@rule ∫(((~!a) + (~!b)*acos((~!c)*(~x)))^(~!n)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~n), 0) ? +-int_and_subst(((~a) + (~b)*(~x))^(~n)*tan((~x)), (~x), (~x), acos((~c)*(~x)), "5_1_2_2") : nothing) + +("5_1_2_3", +@rule ∫(((~!d)*(~x))^(~!m)*((~!a) + (~!b)*asin((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + igt((~n), 0) && + !eq((~m), -1) ? +((~d)*(~x))^((~m) + 1)*((~a) + (~b)*asin((~c)*(~x)))^(~n)⨸((~d)*((~m) + 1)) - (~b)*(~c)*(~n)⨸((~d)*((~m) + 1))* ∫(((~d)*(~x))^((~m) + 1)*((~a) + (~b)*asin((~c)*(~x)))^((~n) - 1)⨸sqrt(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("5_1_2_4", +@rule ∫(((~!d)*(~x))^(~!m)*((~!a) + (~!b)*acos((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + igt((~n), 0) && + !eq((~m), -1) ? +((~d)*(~x))^((~m) + 1)*((~a) + (~b)*acos((~c)*(~x)))^(~n)⨸((~d)*((~m) + 1)) + (~b)*(~c)*(~n)⨸((~d)*((~m) + 1))* ∫(((~d)*(~x))^((~m) + 1)*((~a) + (~b)*acos((~c)*(~x)))^((~n) - 1)⨸sqrt(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("5_1_2_5", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*asin((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~m), 0) && + gt((~n), 0) ? +(~x)^((~m) + 1)*((~a) + (~b)*asin((~c)*(~x)))^(~n)⨸((~m) + 1) - (~b)*(~c)*(~n)⨸((~m) + 1)* ∫((~x)^((~m) + 1)*((~a) + (~b)*asin((~c)*(~x)))^((~n) - 1)⨸sqrt(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("5_1_2_6", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acos((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~m), 0) && + gt((~n), 0) ? +(~x)^((~m) + 1)*((~a) + (~b)*acos((~c)*(~x)))^(~n)⨸((~m) + 1) + (~b)*(~c)*(~n)⨸((~m) + 1)* ∫((~x)^((~m) + 1)*((~a) + (~b)*acos((~c)*(~x)))^((~n) - 1)⨸sqrt(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("5_1_2_7", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*asin((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~m), 0) && + ge((~n), -2) && + lt((~n), -1) ? +(~x)^(~m)*sqrt(1 - (~c)^2*(~x)^2)*((~a) + (~b)*asin((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) - 1⨸((~b)^2*(~c)^((~m) + 1)*((~n) + 1))* int_and_subst( ExpandTrigReduce[(~x)^((~n) + 1), sin(-(~a)⨸(~b) + (~x)⨸(~b))^((~m) - 1)*((~m) - ((~m) + 1)*sin(-(~a)⨸(~b) + (~x)⨸(~b))^2), (~x)], (~x), (~x), (~a) + (~b)*asin((~c)*(~x)), "5_1_2_7") : nothing) + +("5_1_2_8", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acos((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~m), 0) && + ge((~n), -2) && + lt((~n), -1) ? +-(~x)^(~m)*sqrt( 1 - (~c)^2*(~x)^2)*((~a) + (~b)*acos((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) - 1⨸((~b)^2*(~c)^((~m) + 1)*((~n) + 1))* int_and_subst( ExpandTrigReduce[(~x)^((~n) + 1), cos(-(~a)⨸(~b) + (~x)⨸(~b))^((~m) - 1)*((~m) - ((~m) + 1)*cos(-(~a)⨸(~b) + (~x)⨸(~b))^2), (~x)], (~x), (~x), (~a) + (~b)*acos((~c)*(~x)), "5_1_2_8") : nothing) + +("5_1_2_9", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*asin((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~m), 0) && + lt((~n), -2) ? +(~x)^(~m)*sqrt(1 - (~c)^2*(~x)^2)*((~a) + (~b)*asin((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) - (~m)⨸((~b)*(~c)*((~n) + 1))* ∫((~x)^((~m) - 1)*((~a) + (~b)*asin((~c)*(~x)))^((~n) + 1)⨸sqrt(1 - (~c)^2*(~x)^2), (~x)) + (~c)*((~m) + 1)⨸((~b)*((~n) + 1))* ∫((~x)^((~m) + 1)*((~a) + (~b)*asin((~c)*(~x)))^((~n) + 1)⨸sqrt(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("5_1_2_10", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acos((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~m), 0) && + lt((~n), -2) ? +-(~x)^(~m)*sqrt( 1 - (~c)^2*(~x)^2)*((~a) + (~b)*acos((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) + (~m)⨸((~b)*(~c)*((~n) + 1))* ∫((~x)^((~m) - 1)*((~a) + (~b)*acos((~c)*(~x)))^((~n) + 1)⨸sqrt(1 - (~c)^2*(~x)^2), (~x)) - (~c)*((~m) + 1)⨸((~b)*((~n) + 1))* ∫((~x)^((~m) + 1)*((~a) + (~b)*acos((~c)*(~x)))^((~n) + 1)⨸sqrt(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("5_1_2_11", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*asin((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + igt((~m), 0) ? +1⨸((~b)*(~c)^((~m) + 1))* int_and_subst((~x)^(~n)*sin(-(~a)⨸(~b) + (~x)⨸(~b))^(~m)*cos(-(~a)⨸(~b) + (~x)⨸(~b)), (~x), (~x), (~a) + (~b)*asin((~c)*(~x)), "5_1_2_11") : nothing) + +("5_1_2_12", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acos((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + igt((~m), 0) ? +-1⨸((~b)*(~c)^((~m) + 1))* int_and_subst((~x)^(~n)*cos(-(~a)⨸(~b) + (~x)⨸(~b))^(~m)*sin(-(~a)⨸(~b) + (~x)⨸(~b)), (~x), (~x), (~a) + (~b)*acos((~c)*(~x)), "5_1_2_12") : nothing) + +# ("5_1_2_13", +# @rule ∫(((~!d)*(~x))^(~!m)*((~!a) + (~!b)*asin((~!c)*(~x)))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) ? +# Unintegrable[((~d)*(~x))^(~m)*((~a) + (~b)*asin((~c)*(~x)))^(~n), (~x)] : nothing) + +# ("5_1_2_14", +# @rule ∫(((~!d)*(~x))^(~!m)*((~!a) + (~!b)*acos((~!c)*(~x)))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) ? +# Unintegrable[((~d)*(~x))^(~m)*((~a) + (~b)*acos((~c)*(~x)))^(~n), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/5 Inverse trig functions/5.3 Inverse tangent/5.3.1 (a+b arctan(c x^n))^p.jl b/src/methods/rule_based/rules2/5 Inverse trig functions/5.3 Inverse tangent/5.3.1 (a+b arctan(c x^n))^p.jl new file mode 100644 index 0000000..368e3d1 --- /dev/null +++ b/src/methods/rule_based/rules2/5 Inverse trig functions/5.3 Inverse tangent/5.3.1 (a+b arctan(c x^n))^p.jl @@ -0,0 +1,77 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 5.3.1 (a+b arctan(c x^n))^p *) +("5_3_1_1", +@rule ∫(((~!a) + (~!b)*atan((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + igt((~p), 0) && + ( + eq((~n), 1) || + eq((~p), 1) + ) ? +(~x)*((~a) + (~b)*atan((~c)*(~x)^(~n)))^(~p) - (~b)*(~c)*(~n)*(~p)* ∫((~x)^(~n)*((~a) + (~b)*atan((~c)*(~x)^(~n)))^((~p) - 1)⨸(1 + (~c)^2*(~x)^(2*(~n))), (~x)) : nothing) + +("5_3_1_2", +@rule ∫(((~!a) + (~!b)*acot((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + igt((~p), 0) && + ( + eq((~n), 1) || + eq((~p), 1) + ) ? +(~x)*((~a) + (~b)*acot((~c)*(~x)^(~n)))^(~p) + (~b)*(~c)*(~n)*(~p)* ∫((~x)^(~n)*((~a) + (~b)*acot((~c)*(~x)^(~n)))^((~p) - 1)⨸(1 + (~c)^2*(~x)^(2*(~n))), (~x)) : nothing) + +("5_3_1_3", +@rule ∫(((~!a) + (~!b)*atan((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + igt((~n), 0) ? +∫(ext_expand(((~a) + ((~I)*(~b)*log(1 - (~I)*(~c)*(~x)^(~n)))⨸ 2 - ((~I)*(~b)*log(1 + (~I)*(~c)*(~x)^(~n)))⨸2)^(~p), (~x)), (~x)) : nothing) + +("5_3_1_4", +@rule ∫(((~!a) + (~!b)*acot((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + igt((~n), 0) ? +∫(ext_expand(((~a) + ((~I)*(~b)*log(1 - (~I)*(~x)^(-(~n))⨸(~c)))⨸ 2 - ((~I)*(~b)*log(1 + (~I)*(~x)^(-(~n))⨸(~c)))⨸2)^(~p), (~x)), (~x)) : nothing) + +("5_3_1_5", +@rule ∫(((~!a) + (~!b)*atan((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + ilt((~n), 0) ? +∫(((~a) + (~b)*acot((~x)^(-(~n))⨸(~c)))^(~p), (~x)) : nothing) + +("5_3_1_6", +@rule ∫(((~!a) + (~!b)*acot((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + ilt((~n), 0) ? +∫(((~a) + (~b)*atan((~x)^(-(~n))⨸(~c)))^(~p), (~x)) : nothing) + +("5_3_1_7", +@rule ∫(((~!a) + (~!b)*atan((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n)) - 1)*((~a) + (~b)*atan((~c)*(~x)^(ext_den((~n))*(~n))))^(~p), (~x), (~x), (~x)^(1⨸ext_den((~n))), "5_3_1_7") : nothing) + +("5_3_1_8", +@rule ∫(((~!a) + (~!b)*acot((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n)) - 1)*((~a) + (~b)*acot((~c)*(~x)^(ext_den((~n))*(~n))))^(~p), (~x), (~x), (~x)^(1⨸ext_den((~n))), "5_3_1_8") : nothing) + +# ("5_3_1_9", +# @rule ∫(((~!a) + (~!b)*atan((~!c)*(~x)^(~!n)))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~n), (~p), (~x)) ? +# Unintegrable[((~a) + (~b)*atan((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) + +# ("5_3_1_10", +# @rule ∫(((~!a) + (~!b)*acot((~!c)*(~x)^(~!n)))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~n), (~p), (~x)) ? +# Unintegrable[((~a) + (~b)*acot((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/5 Inverse trig functions/5.3 Inverse tangent/5.3.2 (d x)^m (a+b arctan(c x^n))^p.jl b/src/methods/rule_based/rules2/5 Inverse trig functions/5.3 Inverse tangent/5.3.2 (d x)^m (a+b arctan(c x^n))^p.jl new file mode 100644 index 0000000..8b298c1 --- /dev/null +++ b/src/methods/rule_based/rules2/5 Inverse trig functions/5.3 Inverse tangent/5.3.2 (d x)^m (a+b arctan(c x^n))^p.jl @@ -0,0 +1,181 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 5.3.2 (d x)^m (a+b arctan(c x^n))^p *) +("5_3_2_1", +@rule ∫(((~!a) + (~!b)*atan((~!c)*(~x)))/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) ? +(~a)*log((~x)) + (~I)*(~b)⨸2*∫(log(1 - (~I)*(~c)*(~x))⨸(~x), (~x)) - (~I)*(~b)⨸2*∫(log(1 + (~I)*(~c)*(~x))⨸(~x), (~x)) : nothing) + +("5_3_2_2", +@rule ∫(((~!a) + (~!b)*acot((~!c)*(~x)))/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) ? +(~a)*log((~x)) + (~I)*(~b)⨸2*∫(log(1 - (~I)⨸((~c)*(~x)))⨸(~x), (~x)) - (~I)*(~b)⨸2*∫(log(1 + (~I)⨸((~c)*(~x)))⨸(~x), (~x)) : nothing) + +("5_3_2_3", +@rule ∫(((~!a) + (~!b)*atan((~!c)*(~x)))^(~p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) ? +2*((~a) + (~b)*atan((~c)*(~x)))^(~p)*atanh(1 - 2⨸(1 + (~I)*(~c)*(~x))) - 2*(~b)*(~c)*(~p)* ∫(((~a) + (~b)*atan((~c)*(~x)))^((~p) - 1)* atanh(1 - 2⨸(1 + (~I)*(~c)*(~x)))⨸(1 + (~c)^2*(~x)^2), (~x)) : nothing) + +("5_3_2_4", +@rule ∫(((~!a) + (~!b)*acot((~!c)*(~x)))^(~p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) ? +2*((~a) + (~b)*acot((~c)*(~x)))^(~p)*acoth(1 - 2⨸(1 + (~I)*(~c)*(~x))) + 2*(~b)*(~c)*(~p)* ∫(((~a) + (~b)*acot((~c)*(~x)))^((~p) - 1)* acoth(1 - 2⨸(1 + (~I)*(~c)*(~x)))⨸(1 + (~c)^2*(~x)^2), (~x)) : nothing) + +("5_3_2_5", +@rule ∫(((~!a) + (~!b)*atan((~!c)*(~x)^(~n)))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + igt((~p), 0) ? +1⨸(~n)*int_and_subst(((~a) + (~b)*atan((~c)*(~x)))^(~p)⨸(~x), (~x), (~x), (~x)^(~n), "5_3_2_5") : nothing) + +("5_3_2_6", +@rule ∫(((~!a) + (~!b)*acot((~!c)*(~x)^(~n)))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + igt((~p), 0) ? +1⨸(~n)*int_and_subst(((~a) + (~b)*acot((~c)*(~x)))^(~p)⨸(~x), (~x), (~x), (~x)^(~n), "5_3_2_6") : nothing) + +("5_3_2_7", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*atan((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~n), (~x)) && + igt((~p), 0) && + ( + eq((~p), 1) || + eq((~n), 1) && + ext_isinteger((~m)) + ) && + !eq((~m), -1) ? +(~x)^((~m) + 1)*((~a) + (~b)*atan((~c)*(~x)^(~n)))^(~p)⨸((~m) + 1) - (~b)*(~c)*(~n)*(~p)⨸((~m) + 1)* ∫((~x)^((~m) + (~n))*((~a) + (~b)*atan((~c)*(~x)^(~n)))^((~p) - 1)⨸(1 + (~c)^2*(~x)^(2*(~n))), (~x)) : nothing) + +("5_3_2_8", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acot((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~n), (~x)) && + igt((~p), 0) && + ( + eq((~p), 1) || + eq((~n), 1) && + ext_isinteger((~m)) + ) && + !eq((~m), -1) ? +(~x)^((~m) + 1)*((~a) + (~b)*acot((~c)*(~x)^(~n)))^(~p)⨸((~m) + 1) + (~b)*(~c)*(~n)*(~p)⨸((~m) + 1)* ∫((~x)^((~m) + (~n))*((~a) + (~b)*acot((~c)*(~x)^(~n)))^((~p) - 1)⨸(1 + (~c)^2*(~x)^(2*(~n))), (~x)) : nothing) + +("5_3_2_9", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*atan((~!c)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~n), (~x)) && + igt((~p), 1) && + ext_isinteger(simplify(((~m) + 1)/(~n))) ? +1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*((~a) + (~b)*atan((~c)*(~x)))^(~p), (~x), (~x), (~x)^(~n), "5_3_2_9") : nothing) + +("5_3_2_10", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acot((~!c)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~n), (~x)) && + igt((~p), 1) && + ext_isinteger(simplify(((~m) + 1)/(~n))) ? +1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*((~a) + (~b)*acot((~c)*(~x)))^(~p), (~x), (~x), (~x)^(~n), "5_3_2_10") : nothing) + +("5_3_2_11", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*atan((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + igt((~n), 0) && + ext_isinteger((~m)) ? +∫(ext_expand( (~x)^(~m)*((~a) + ((~I)*(~b)*log(1 - (~I)*(~c)*(~x)^(~n)))⨸2 - ((~I)*(~b)*log(1 + (~I)*(~c)*(~x)^(~n)))⨸2)^(~p), (~x)), (~x)) : nothing) + +("5_3_2_12", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acot((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + igt((~n), 0) && + ext_isinteger((~m)) ? +∫(ext_expand( (~x)^(~m)*((~a) + ((~I)*(~b)*log(1 - (~I)*(~x)^(-(~n))⨸(~c)))⨸2 - ((~I)*(~b)*log(1 + (~I)*(~x)^(-(~n))⨸(~c)))⨸ 2)^(~p), (~x)), (~x)) : nothing) + +("5_3_2_13", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*atan((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + igt((~n), 0) && + isfraction((~m)) ? +ext_den((~m))*int_and_subst((~x)^(ext_den((~m))*((~m) + 1) - 1)*((~a) + (~b)*atan((~c)*(~x)^(ext_den((~m))*(~n))))^(~p), (~x), (~x), (~x)^(1⨸ext_den((~m))), "5_3_2_13") : nothing) + +("5_3_2_14", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acot((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + igt((~n), 0) && + isfraction((~m)) ? +ext_den((~m))*int_and_subst((~x)^(ext_den((~m))*((~m) + 1) - 1)*((~a) + (~b)*acot((~c)*(~x)^(ext_den((~m))*(~n))))^(~p), (~x), (~x), (~x)^(1⨸ext_den((~m))), "5_3_2_14") : nothing) + +("5_3_2_15", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*atan((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + ilt((~n), 0) ? +∫((~x)^(~m)*((~a) + (~b)*acot((~x)^(-(~n))⨸(~c)))^(~p), (~x)) : nothing) + +("5_3_2_16", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acot((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + ilt((~n), 0) ? +∫((~x)^(~m)*((~a) + (~b)*atan((~x)^(-(~n))⨸(~c)))^(~p), (~x)) : nothing) + +("5_3_2_17", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*atan((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n))*((~m) + 1) - 1)*((~a) + (~b)*atan((~c)*(~x)^(ext_den((~n))*(~n))))^(~p), (~x), (~x), (~x)^(1⨸ext_den((~n))), "5_3_2_17") : nothing) + +("5_3_2_18", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acot((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n))*((~m) + 1) - 1)*((~a) + (~b)*acot((~c)*(~x)^(ext_den((~n))*(~n))))^(~p), (~x), (~x), (~x)^(1⨸ext_den((~n))), "5_3_2_18") : nothing) + +("5_3_2_19", +@rule ∫(((~d)*(~x))^(~m)*((~!a) + (~!b)*atan((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + ext_isinteger((~n)) && + !eq((~m), -1) ? +((~d)*(~x))^((~m) + 1)*((~a) + (~b)*atan((~c)*(~x)^(~n)))⨸((~d)*((~m) + 1)) - (~b)*(~c)*(~n)⨸((~d)^(~n)*((~m) + 1))*∫(((~d)*(~x))^((~m) + (~n))⨸(1 + (~c)^2*(~x)^(2*(~n))), (~x)) : nothing) + +("5_3_2_20", +@rule ∫(((~d)*(~x))^(~m)*((~!a) + (~!b)*acot((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + ext_isinteger((~n)) && + !eq((~m), -1) ? +((~d)*(~x))^((~m) + 1)*((~a) + (~b)*acot((~c)*(~x)^(~n)))⨸((~d)*((~m) + 1)) + (~b)*(~c)*(~n)⨸((~d)^(~n)*((~m) + 1))*∫(((~d)*(~x))^((~m) + (~n))⨸(1 + (~c)^2*(~x)^(2*(~n))), (~x)) : nothing) + +("5_3_2_21", +@rule ∫(((~!d)*(~x))^(~m)*((~!a) + (~!b)*atan((~!c)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + igt((~p), 0) && + ( + eq((~p), 1) || + isrational((~m), (~n)) + ) ? +(~d)^intpart((~m))*((~d)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*atan((~c)*(~x)))^(~p), (~x)) : nothing) + +("5_3_2_22", +@rule ∫(((~!d)*(~x))^(~m)*((~!a) + (~!b)*acot((~!c)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + igt((~p), 0) && + ( + eq((~p), 1) || + isrational((~m), (~n)) + ) ? +(~d)^intpart((~m))*((~d)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*acot((~c)*(~x)))^(~p), (~x)) : nothing) + +# ("5_3_2_23", +# @rule ∫(((~!d)*(~x))^(~!m)*((~!a) + (~!b)*atan((~!c)*(~x)^(~!n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~d)*(~x))^(~m)*((~a) + (~b)*atan((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) + +# ("5_3_2_24", +# @rule ∫(((~!d)*(~x))^(~!m)*((~!a) + (~!b)*acot((~!c)*(~x)^(~!n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~d)*(~x))^(~m)*((~a) + (~b)*acot((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.1 (a+b arcsinh(c x))^n.jl b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.1 (a+b arcsinh(c x))^n.jl new file mode 100644 index 0000000..a9acbe4 --- /dev/null +++ b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.1 (a+b arcsinh(c x))^n.jl @@ -0,0 +1,22 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 7.1.1 (a+b arcsinh(c x))^n *) +("7_1_1_1", +@rule ∫(((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~n), 0) ? +(~x)*((~a) + (~b)*asinh((~c)*(~x)))^(~n) - (~b)*(~c)*(~n)*∫((~x)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1)⨸sqrt(1 + (~c)^2*(~x)^2), (~x)) : nothing) + +("7_1_1_2", +@rule ∫(((~!a) + (~!b)*asinh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + lt((~n), -1) ? +sqrt(1 + (~c)^2*(~x)^2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) - (~c)⨸((~b)*((~n) + 1))* ∫((~x)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1)⨸sqrt(1 + (~c)^2*(~x)^2), (~x)) : nothing) + +("7_1_1_3", +@rule ∫(((~!a) + (~!b)*asinh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) ? +1⨸((~b)*(~c))* int_and_subst((~x)^(~n)*cosh(-(~a)⨸(~b) + (~x)⨸(~b)), (~x), (~x), (~a) + (~b)*asinh((~c)*(~x)), "7_1_1_3") : nothing) + + +] diff --git a/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.2 (d x)^m (a+b arcsinh(c x))^n.jl b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.2 (d x)^m (a+b arcsinh(c x))^n.jl new file mode 100644 index 0000000..8b183f8 --- /dev/null +++ b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.2 (d x)^m (a+b arcsinh(c x))^n.jl @@ -0,0 +1,51 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 7.1.2 (d x)^m (a+b arcsinh(c x))^n *) +("7_1_2_1", +@rule ∫(((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~n), 0) ? +1⨸(~b)*int_and_subst((~x)^(~n)*coth(-(~a)⨸(~b) + (~x)⨸(~b)), (~x), (~x), (~a) + (~b)*asinh((~c)*(~x)), "7_1_2_1") : nothing) + +("7_1_2_2", +@rule ∫(((~!d)*(~x))^(~!m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + igt((~n), 0) && + !eq((~m), -1) ? +((~d)*(~x))^((~m) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸((~d)*((~m) + 1)) - (~b)*(~c)*(~n)⨸((~d)*((~m) + 1))* ∫(((~d)*(~x))^((~m) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1)⨸sqrt(1 + (~c)^2*(~x)^2), (~x)) : nothing) + +("7_1_2_3", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~m), 0) && + gt((~n), 0) ? +(~x)^((~m) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸((~m) + 1) - (~b)*(~c)*(~n)⨸((~m) + 1)* ∫((~x)^((~m) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1)⨸sqrt(1 + (~c)^2*(~x)^2), (~x)) : nothing) + +("7_1_2_4", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~m), 0) && + ge((~n), -2) && + lt((~n), -1) ? +(~x)^(~m)*sqrt( 1 + (~c)^2*(~x)^2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) - 1⨸((~b)^2*(~c)^((~m) + 1)*((~n) + 1))* int_and_subst(expand_trig_reduce((~x)^((~n) + 1), sinh(-(~a)⨸(~b) + (~x)⨸(~b))^((~m) - 1)*((~m) + ((~m) + 1)*sinh(-(~a)⨸(~b) + (~x)⨸(~b))^2), (~x)), (~x), (~x), (~a) + (~b)*asinh((~c)*(~x)), "7_1_2_4") : nothing) + +("7_1_2_5", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~m), 0) && + lt((~n), -2) ? +(~x)^(~m)*sqrt( 1 + (~c)^2*(~x)^2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) - (~m)⨸((~b)*(~c)*((~n) + 1))* ∫((~x)^((~m) - 1)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1)⨸sqrt(1 + (~c)^2*(~x)^2), (~x)) - (~c)*((~m) + 1)⨸((~b)*((~n) + 1))* ∫((~x)^((~m) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1)⨸sqrt(1 + (~c)^2*(~x)^2), (~x)) : nothing) + +("7_1_2_6", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + igt((~m), 0) ? +1⨸((~b)*(~c)^((~m) + 1))* int_and_subst((~x)^(~n)*sinh(-(~a)⨸(~b) + (~x)⨸(~b))^(~m)*cosh(-(~a)⨸(~b) + (~x)⨸(~b)), (~x), (~x), (~a) + (~b)*asinh((~c)*(~x)), "7_1_2_6") : nothing) + +# ("7_1_2_7", +# @rule ∫(((~!d)*(~x))^(~!m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) ? +# Unintegrable[((~d)*(~x))^(~m)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.3 (d+e x^2)^p (a+b arcsinh(c x))^n.jl b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.3 (d+e x^2)^p (a+b arcsinh(c x))^n.jl new file mode 100644 index 0000000..c237848 --- /dev/null +++ b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.3 (d+e x^2)^p (a+b arcsinh(c x))^n.jl @@ -0,0 +1,125 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 7.1.3 (d+e x^2)^p (a+b arcsinh(c x))^n *) +#(* Int[(a_.+b_.*ArcSinh[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] := 1/c*Simp[Sqrt[1+c^2*x^2]/Sqrt[d+e*x^2]]*Subst[Int[(a+b*x)^n,x],x, ArcSinh[c*x]] /; FreeQ[{a,b,c,d,e,n},x] && EqQ[e,c^2*d] *) +("7_1_3_1", +@rule ∫(1/(sqrt((~d) + (~!e)*(~x)^2)*((~!a) + (~!b)*asinh((~!c)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~e), (~c)^2*(~d)) ? +1⨸((~b)*(~c))*simp(sqrt(1 + (~c)^2*(~x)^2)⨸sqrt((~d) + (~e)*(~x)^2))* log((~a) + (~b)*asinh((~c)*(~x))) : nothing) + +("7_1_3_2", +@rule ∫(((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n)/sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + eq((~e), (~c)^2*(~d)) && + !eq((~n), -1) ? +1⨸((~b)*(~c)*((~n) + 1))* simp(sqrt(1 + (~c)^2*(~x)^2)⨸ sqrt((~d) + (~e)*(~x)^2))*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1) : nothing) + +("7_1_3_3", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~e), (~c)^2*(~d)) && + igt((~p), 0) ? +dist((~a) + (~b)*asinh((~c)*(~x)), ∫(((~d) + (~e)*(~x)^2)^(~p), (~x)), (~x)) - (~b)*(~c)*∫(ext_simplify(∫(((~d) + (~e)*(~x)^2)^(~p), (~x))⨸sqrt(1 + (~c)^2*(~x)^2), (~x)), (~x)) : nothing) + +("7_1_3_4", +@rule ∫(sqrt((~d) + (~!e)*(~x)^2)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~e), (~c)^2*(~d)) && + gt((~n), 0) ? +(~x)*sqrt((~d) + (~e)*(~x)^2)*((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸2 - (~b)*(~c)*(~n)⨸2*simp(sqrt((~d) + (~e)*(~x)^2)⨸sqrt(1 + (~c)^2*(~x)^2))* ∫((~x)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1), (~x)) + 1⨸2*simp(sqrt((~d) + (~e)*(~x)^2)⨸sqrt(1 + (~c)^2*(~x)^2))* ∫(((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸sqrt(1 + (~c)^2*(~x)^2), (~x)) : nothing) + +("7_1_3_5", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~e), (~c)^2*(~d)) && + gt((~n), 0) && + gt((~p), 0) ? +(~x)*((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸(2*(~p) + 1) + 2*(~d)*(~p)⨸(2*(~p) + 1)* ∫(((~d) + (~e)*(~x)^2)^((~p) - 1)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)) - (~b)*(~c)*(~n)⨸(2*(~p) + 1)*simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* ∫((~x)*(1 + (~c)^2*(~x)^2)^((~p) - 1⨸2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_1_3_6", +@rule ∫(((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n)/((~d) + (~!e)*(~x)^2)^(3//2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~e), (~c)^2*(~d)) && + gt((~n), 0) ? +(~x)*((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸((~d)*sqrt((~d) + (~e)*(~x)^2)) - (~b)*(~c)*(~n)⨸(~d)*simp(sqrt(1 + (~c)^2*(~x)^2)⨸sqrt((~d) + (~e)*(~x)^2))* ∫((~x)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1)⨸(1 + (~c)^2*(~x)^2), (~x)) : nothing) + +("7_1_3_7", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~e), (~c)^2*(~d)) && + gt((~n), 0) && + lt((~p), -1) && + !eq((~p), -3/2) ? +-(~x)*((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸(2*(~d)*((~p) + 1)) + (2*(~p) + 3)⨸(2*(~d)*((~p) + 1))* ∫(((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)) + (~b)*(~c)*(~n)⨸(2*((~p) + 1))*simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* ∫((~x)*(1 + (~c)^2*(~x)^2)^((~p) + 1⨸2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_1_3_8", +@rule ∫(((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n)/((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~e), (~c)^2*(~d)) && + igt((~n), 0) ? +1⨸((~c)*(~d))*int_and_subst(((~a) + (~b)*(~x))^(~n)*sech((~x)), (~x), (~x), asinh((~c)*(~x)), "7_1_3_8") : nothing) + +#(* Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_,x_Symbol] := d^p*(1+c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n+1)/(b*c*(n+1)) - c*d^p*(2*p+1)/(b*(n+1))*Int[x*(1+c^2*x^2)^(p-1/2)*(a+b*ArcSinh[c*x]) ^(n+1),x] /; FreeQ[{a,b,c,d,e,p},x] && EqQ[e,c^2*d] && LtQ[n,-1] && (IntegerQ[p] || GtQ[d,0]) *) +("7_1_3_9", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + eq((~e), (~c)^2*(~d)) && + lt((~n), -1) ? +simp(sqrt(1 + (~c)^2*(~x)^2)*((~d) + (~e)*(~x)^2)^ (~p))*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) - (~c)*(2*(~p) + 1)⨸((~b)*((~n) + 1))*simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* ∫((~x)*(1 + (~c)^2*(~x)^2)^((~p) - 1⨸2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1), (~x)) : nothing) + +("7_1_3_10", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + eq((~e), (~c)^2*(~d)) && + igt(2*(~p), 0) ? +1⨸((~b)*(~c))*simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* int_and_subst((~x)^(~n)*cosh(-(~a)⨸(~b) + (~x)⨸(~b))^(2*(~p) + 1), (~x), (~x), (~a) + (~b)*asinh((~c)*(~x)), "7_1_3_10") : nothing) + +("7_1_3_11", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~e), (~c)^2*(~d)) && + ( + igt((~p), 0) || + ilt((~p) + 1/2, 0) + ) ? +dist((~a) + (~b)*asinh((~c)*(~x)), ∫(((~d) + (~e)*(~x)^2)^(~p), (~x)), (~x)) - (~b)*(~c)*∫(ext_simplify(∫(((~d) + (~e)*(~x)^2)^(~p), (~x))⨸sqrt(1 + (~c)^2*(~x)^2), (~x)), (~x)) : nothing) + +("7_1_3_12", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + !eq((~e), (~c)^2*(~d)) && + ext_isinteger((~p)) && + ( + (~p) > 0 || + igt((~n), 0) + ) ? +∫(ext_expand(((~a) + (~b)*asinh((~c)*(~x)))^(~n), ((~d) + (~e)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +# ("7_1_3_13", +# @rule ∫(((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) ? +# Unintegrable[((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)] : nothing) + +("7_1_3_14", +@rule ∫(((~d) + (~!e)*(~x))^(~p)*((~f) + (~!g)*(~x))^(~q)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + eq((~e)*(~f) + (~d)*(~g), 0) && + eq((~c)^2*(~d)^2 + (~e)^2, 0) && + half_integer((~p), (~q)) && + ge((~p) - (~q), 0) && + gt((~d), 0) && + lt((~g)/(~e), 0) ? +(-(~d)^2*(~g)⨸(~e))^(~q)* ∫(((~d) + (~e)*(~x))^((~p) - (~q))*(1 + (~c)^2*(~x)^2)^(~q)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)) : nothing) + +("7_1_3_15", +@rule ∫(((~d) + (~!e)*(~x))^(~p)*((~f) + (~!g)*(~x))^(~q)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + eq((~e)*(~f) + (~d)*(~g), 0) && + eq((~c)^2*(~d)^2 + (~e)^2, 0) && + half_integer((~p), (~q)) && + ge((~p) - (~q), 0) ? +((~d) + (~e)*(~x))^(~q)*((~f) + (~g)*(~x))^(~q)⨸(1 + (~c)^2*(~x)^2)^(~q)* ∫(((~d) + (~e)*(~x))^((~p) - (~q))*(1 + (~c)^2*(~x)^2)^(~q)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.4 (f x)^m (d+e x^2)^p (a+b arcsinh(c x))^n.jl b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.4 (f x)^m (d+e x^2)^p (a+b arcsinh(c x))^n.jl new file mode 100644 index 0000000..3902074 --- /dev/null +++ b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.4 (f x)^m (d+e x^2)^p (a+b arcsinh(c x))^n.jl @@ -0,0 +1,269 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 7.1.4 (f x)^m (d+e x^2)^p (a+b arcsinh(c x))^n *) +("7_1_4_1", +@rule ∫((~x)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n)/((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~e), (~c)^2*(~d)) && + igt((~n), 0) ? +1⨸(~e)*int_and_subst(((~a) + (~b)*(~x))^(~n)*tanh((~x)), (~x), (~x), asinh((~c)*(~x)), "7_1_4_1") : nothing) + +("7_1_4_2", +@rule ∫((~x)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + eq((~e), (~c)^2*(~d)) && + gt((~n), 0) && + !eq((~p), -1) ? +((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸(2*(~e)*((~p) + 1)) - (~b)*(~n)⨸(2*(~c)*((~p) + 1))*simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* ∫((1 + (~c)^2*(~x)^2)^((~p) + 1⨸2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_1_4_3", +@rule ∫(((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n)/((~x)*((~d) + (~!e)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~e), (~c)^2*(~d)) && + igt((~n), 0) ? +1⨸(~d)*int_and_subst(((~a) + (~b)*(~x))^(~n)⨸(cosh((~x))*sinh((~x))), (~x), (~x), asinh((~c)*(~x)), "7_1_4_3") : nothing) + +("7_1_4_4", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~p), (~x)) && + eq((~e), (~c)^2*(~d)) && + gt((~n), 0) && + eq((~m) + 2*(~p) + 3, 0) && + !eq((~m), -1) ? +((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^ (~n)⨸((~d)*(~f)*((~m) + 1)) - (~b)*(~c)*(~n)⨸((~f)*((~m) + 1))*simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)^2*(~x)^2)^((~p) + 1⨸2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_1_4_5", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x)))/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~e), (~c)^2*(~d)) && + igt((~p), 0) ? +((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*asinh((~c)*(~x)))⨸(2*(~p)) - (~b)*(~c)*(~d)^(~p)⨸(2*(~p))*∫((1 + (~c)^2*(~x)^2)^((~p) - 1⨸2), (~x)) + (~d)*∫(((~d) + (~e)*(~x)^2)^((~p) - 1)*((~a) + (~b)*asinh((~c)*(~x)))⨸(~x), (~x)) : nothing) + +("7_1_4_6", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~e), (~c)^2*(~d)) && + igt((~p), 0) && + ilt(((~m) + 1)/2, 0) ? +((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*asinh((~c)*(~x)))⨸((~f)*((~m) + 1)) - (~b)*(~c)*(~d)^(~p)⨸((~f)*((~m) + 1))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)^2*(~x)^2)^((~p) - 1⨸2), (~x)) - 2*(~e)*(~p)⨸((~f)^2*((~m) + 1))* ∫(((~f)*(~x))^((~m) + 2)*((~d) + (~e)*(~x)^2)^((~p) - 1)*((~a) + (~b)*asinh((~c)*(~x))), (~x)) : nothing) + +("7_1_4_7", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + eq((~e), (~c)^2*(~d)) && + igt((~p), 0) ? +dist((~a) + (~b)*asinh((~c)*(~x)), ∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~p), (~x)), (~x)) - (~b)*(~c)*∫(ext_simplify(∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~p), (~x))⨸sqrt(1 + (~c)^2*(~x)^2), (~x)), (~x)) : nothing) + +("7_1_4_8", +@rule ∫((~x)^(~m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*asinh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~e), (~c)^2*(~d)) && + ext_isinteger((~p) - 1/2) && + !eq((~p), -1/2) && + ( + igt(((~m) + 1)/2, 0) || + ilt(((~m) + 2*(~p) + 3)/2, 0) + ) ? +dist((~a) + (~b)*asinh((~c)*(~x)), ∫((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~p), (~x))) - (~b)*(~c)*simp(sqrt((~d) + (~e)*(~x)^2)⨸sqrt(1 + (~c)^2*(~x)^2))* ∫(ext_simplify(∫((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~p), (~x))⨸sqrt((~d) + (~e)*(~x)^2), (~x)), (~x)) : nothing) + +("7_1_4_9", +@rule ∫(((~!f)*(~x))^(~m)*sqrt((~d) + (~!e)*(~x)^2)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~e), (~c)^2*(~d)) && + gt((~n), 0) && + lt((~m), -1) ? +((~f)*(~x))^((~m) + 1)* sqrt((~d) + (~e)*(~x)^2)*((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸((~f)*((~m) + 1)) - (~b)*(~c)*(~n)⨸((~f)*((~m) + 1))*simp(sqrt((~d) + (~e)*(~x)^2)⨸sqrt(1 + (~c)^2*(~x)^2))* ∫(((~f)*(~x))^((~m) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1), (~x)) - (~c)^2⨸((~f)^2*((~m) + 1))*simp(sqrt((~d) + (~e)*(~x)^2)⨸sqrt(1 + (~c)^2*(~x)^2))* ∫(((~f)*(~x))^((~m) + 2)*((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸sqrt(1 + (~c)^2*(~x)^2), (~x)) : nothing) + +("7_1_4_10", +@rule ∫(((~!f)*(~x))^(~m)*sqrt((~d) + (~!e)*(~x)^2)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + eq((~e), (~c)^2*(~d)) && + igt((~n), 0) && + ( + igt((~m), -2) || + eq((~n), 1) + ) ? +((~f)*(~x))^((~m) + 1)* sqrt((~d) + (~e)*(~x)^2)*((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸((~f)*((~m) + 2)) - (~b)*(~c)*(~n)⨸((~f)*((~m) + 2))*simp(sqrt((~d) + (~e)*(~x)^2)⨸sqrt(1 + (~c)^2*(~x)^2))* ∫(((~f)*(~x))^((~m) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1), (~x)) + 1⨸((~m) + 2)*simp(sqrt((~d) + (~e)*(~x)^2)⨸sqrt(1 + (~c)^2*(~x)^2))* ∫(((~f)*(~x))^(~m)*((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸sqrt(1 + (~c)^2*(~x)^2), (~x)) : nothing) + +("7_1_4_11", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~e), (~c)^2*(~d)) && + gt((~n), 0) && + gt((~p), 0) && + lt((~m), -1) ? +((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸((~f)*((~m) + 1)) - 2*(~e)*(~p)⨸((~f)^2*((~m) + 1))* ∫(((~f)*(~x))^((~m) + 2)*((~d) + (~e)*(~x)^2)^((~p) - 1)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)) - (~b)*(~c)*(~n)⨸((~f)*((~m) + 1))*simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)^2*(~x)^2)^((~p) - 1⨸2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_1_4_12", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + eq((~e), (~c)^2*(~d)) && + gt((~n), 0) && + gt((~p), 0) && + !(lt((~m), -1)) ? +((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^ (~p)*((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸((~f)*((~m) + 2*(~p) + 1)) + 2*(~d)*(~p)⨸((~m) + 2*(~p) + 1)* ∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^((~p) - 1)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)) - (~b)*(~c)*(~n)⨸((~f)*((~m) + 2*(~p) + 1))*simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)^2*(~x)^2)^((~p) - 1⨸2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_1_4_13", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~x)) && + eq((~e), (~c)^2*(~d)) && + gt((~n), 0) && + ilt((~m), -1) ? +((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^ (~n)⨸((~d)*(~f)*((~m) + 1)) - (~c)^2*((~m) + 2*(~p) + 3)⨸((~f)^2*((~m) + 1))* ∫(((~f)*(~x))^((~m) + 2)*((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)) - (~b)*(~c)*(~n)⨸((~f)*((~m) + 1))*simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)^2*(~x)^2)^((~p) + 1⨸2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_1_4_14", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~e), (~c)^2*(~d)) && + gt((~n), 0) && + lt((~p), -1) && + igt((~m), 1) ? +(~f)*((~f)*(~x))^((~m) - 1)*((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^ (~n)⨸(2*(~e)*((~p) + 1)) - (~f)^2*((~m) - 1)⨸(2*(~e)*((~p) + 1))* ∫(((~f)*(~x))^((~m) - 2)*((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)) - (~b)*(~f)*(~n)⨸(2*(~c)*((~p) + 1))*simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* ∫(((~f)*(~x))^((~m) - 1)*(1 + (~c)^2*(~x)^2)^((~p) + 1⨸2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_1_4_15", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + eq((~e), (~c)^2*(~d)) && + gt((~n), 0) && + lt((~p), -1) && + !(gt((~m), 1)) && + ( + ext_isinteger((~m)) || + ext_isinteger((~p)) || + eq((~n), 1) + ) ? +-((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^ (~n)⨸(2*(~d)*(~f)*((~p) + 1)) + ((~m) + 2*(~p) + 3)⨸(2*(~d)*((~p) + 1))* ∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)) + (~b)*(~c)*(~n)⨸(2*(~f)*((~p) + 1))*simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)^2*(~x)^2)^((~p) + 1⨸2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_1_4_16", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~x)) && + eq((~e), (~c)^2*(~d)) && + gt((~n), 0) && + igt((~m), 1) && + !eq((~m) + 2*(~p) + 1, 0) ? +(~f)*((~f)*(~x))^((~m) - 1)*((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^ (~n)⨸((~e)*((~m) + 2*(~p) + 1)) - (~f)^2*((~m) - 1)⨸((~c)^2*((~m) + 2*(~p) + 1))* ∫(((~f)*(~x))^((~m) - 2)*((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)) - (~b)*(~f)*(~n)⨸((~c)*((~m) + 2*(~p) + 1))*simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* ∫(((~f)*(~x))^((~m) - 1)*(1 + (~c)^2*(~x)^2)^((~p) + 1⨸2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_1_4_17", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~p), (~x)) && + eq((~e), (~c)^2*(~d)) && + lt((~n), -1) && + eq((~m) + 2*(~p) + 1, 0) ? +((~f)*(~x))^(~m)* sqrt(1 + (~c)^2*(~x)^2)*((~d) + (~e)*(~x)^2)^ (~p)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) - (~f)*(~m)⨸((~b)*(~c)*((~n) + 1))*simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* ∫(((~f)*(~x))^((~m) - 1)*(1 + (~c)^2*(~x)^2)^((~p) - 1⨸2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1), (~x)) : nothing) + +("7_1_4_18", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~e), (~c)^2*(~d)) && + lt((~n), -1) && + igt(2*(~p), 0) && + !eq((~m) + 2*(~p) + 1, 0) && + igt((~m), -3) ? +((~f)*(~x))^(~m)* sqrt(1 + (~c)^2*(~x)^2)*((~d) + (~e)*(~x)^2)^ (~p)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) - (~f)*(~m)⨸((~b)*(~c)*((~n) + 1))*simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* ∫(((~f)*(~x))^((~m) - 1)*(1 + (~c)^2*(~x)^2)^((~p) - 1⨸2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1), (~x)) - (~c)*((~m) + 2*(~p) + 1)⨸((~b)*(~f)*((~n) + 1))* simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)^2*(~x)^2)^((~p) - 1⨸2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1), (~x)) : nothing) + +#(* Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcSinh[c_.*x_])^n_,x_ Symbol] := (f*x)^m*Simp[Sqrt[1+c^2*x^2]*(d+e*x^2)^p]*(a+b*ArcSinh[c*x])^(n+1)/( b*c*(n+1)) - f*m/(b*c*(n+1))*Simp[(d+e*x^2)^p/(1+c^2*x^2)^p]*Int[(f*x)^(m-1)*(1+ c^2*x^2)^(p+1/2)*(a+b*ArcSinh[c*x])^(n+1),x] - c*(2*p+1)/(b*f*(n+1))*Simp[(d+e*x^2)^p/(1+c^2*x^2)^p]*Int[(f*x)^(m+ 1)*(1+c^2*x^2)^(p-1/2)*(a+b*ArcSinh[c*x])^(n+1),x] /; FreeQ[{a,b,c,d,e,f,m,p},x] && EqQ[e,c^2*d] && LtQ[n,-1] && IntegerQ[2*p] && NeQ[p,-1/2] && IGtQ[m,-3] *) +("7_1_4_19", +@rule ∫(((~!f)*(~x))^(~m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n)/sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~e), (~c)^2*(~d)) && + gt((~n), 0) && + igt((~m), 1) ? +(~f)*((~f)*(~x))^((~m) - 1)*sqrt((~d) + (~e)*(~x)^2)*((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸((~e)*(~m)) - (~b)*(~f)*(~n)⨸((~c)*(~m))*simp(sqrt(1 + (~c)^2*(~x)^2)⨸sqrt((~d) + (~e)*(~x)^2))* ∫(((~f)*(~x))^((~m) - 1)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1), (~x)) - (~f)^2*((~m) - 1)⨸((~c)^2*(~m))* ∫((((~f)*(~x))^((~m) - 2)*((~a) + (~b)*asinh((~c)*(~x)))^(~n))⨸sqrt((~d) + (~e)*(~x)^2), (~x)) : nothing) + +("7_1_4_20", +@rule ∫((~x)^(~m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n)/sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~e), (~c)^2*(~d)) && + igt((~n), 0) && + ext_isinteger((~m)) ? +1⨸(~c)^((~m) + 1)*simp(sqrt(1 + (~c)^2*(~x)^2)⨸sqrt((~d) + (~e)*(~x)^2))* int_and_subst(((~a) + (~b)*(~x))^(~n)*sinh((~x))^(~m), (~x), (~x), asinh((~c)*(~x)), "7_1_4_20") : nothing) + +("7_1_4_21", +@rule ∫(((~!f)*(~x))^(~m)*((~!a) + (~!b)*asinh((~!c)*(~x)))/sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + eq((~e), (~c)^2*(~d)) && + !(ext_isinteger((~m))) ? +((~f)*(~x))^((~m) + 1)⨸((~f)*((~m) + 1))* simp(sqrt(1 + (~c)^2*(~x)^2)⨸sqrt((~d) + (~e)*(~x)^2))*((~a) + (~b)*asinh((~c)*(~x)))* hypergeometric2f1(1⨸2, (1 + (~m))⨸2, (3 + (~m))⨸2, -(~c)^2*(~x)^2) - (~b)*(~c)*((~f)*(~x))^((~m) + 2)⨸((~f)^2*((~m) + 1)*((~m) + 2))* simp(sqrt(1 + (~c)^2*(~x)^2)⨸sqrt((~d) + (~e)*(~x)^2))* hypergeometricpFq([1, 1 + (~m)⨸2, 1 + (~m)⨸2], [3⨸2 + (~m)⨸2, 2 + (~m)⨸2], -(~c)^2*(~x)^2) : nothing) + +("7_1_4_22", +@rule ∫(((~!f)*(~x))^(~!m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~n)/sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + eq((~e), (~c)^2*(~d)) && + lt((~n), -1) ? +((~f)*(~x))^(~m)⨸((~b)*(~c)*((~n) + 1))* simp(sqrt(1 + (~c)^2*(~x)^2)⨸ sqrt((~d) + (~e)*(~x)^2))*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1) - (~f)*(~m)⨸((~b)*(~c)*((~n) + 1))*simp(sqrt(1 + (~c)^2*(~x)^2)⨸sqrt((~d) + (~e)*(~x)^2))* ∫(((~f)*(~x))^((~m) - 1)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1), (~x)) : nothing) + +("7_1_4_23", +@rule ∫((~x)^(~!m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + eq((~e), (~c)^2*(~d)) && + igt(2*(~p) + 2, 0) && + igt((~m), 0) ? +1⨸((~b)*(~c)^((~m) + 1))*simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* int_and_subst((~x)^(~n)*sinh(-(~a)⨸(~b) + (~x)⨸(~b))^(~m)*cosh(-(~a)⨸(~b) + (~x)⨸(~b))^(2*(~p) + 1), (~x), (~x), (~a) + (~b)*asinh((~c)*(~x)), "7_1_4_23") : nothing) + +("7_1_4_24", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~e), (~c)^2*(~d)) && + igt((~p) + 1/2, 0) && + !(igt(((~m) + 1)/2, 0)) && + ( + eq((~m), -1) || + eq((~m), -2) + ) ? +∫(ext_expand(((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸ sqrt((~d) + (~e)*(~x)^2), ((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^((~p) + 1⨸2), (~x)), (~x)) : nothing) + +("7_1_4_25", +@rule ∫((~x)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + !eq((~e), (~c)^2*(~d)) && + !eq((~p), -1) ? +((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*asinh((~c)*(~x)))⨸(2*(~e)*((~p) + 1)) - (~b)*(~c)⨸(2*(~e)*((~p) + 1))*∫(((~d) + (~e)*(~x)^2)^((~p) + 1)⨸sqrt(1 + (~c)^2*(~x)^2), (~x)) : nothing) + +("7_1_4_26", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !eq((~e), (~c)^2*(~d)) && + ext_isinteger((~p)) && + ( + gt((~p), 0) || + igt(((~m) - 1)/2, 0) && + le((~m) + (~p), 0) + ) ? +dist((~a) + (~b)*asinh((~c)*(~x)), ∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~p), (~x)), (~x)) - (~b)*(~c)*∫(ext_simplify(∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~p), (~x))⨸sqrt(1 + (~c)^2*(~x)^2), (~x)), (~x)) : nothing) + +("7_1_4_27", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~e), (~c)^2*(~d)) && + igt((~n), 0) && + ext_isinteger((~p)) && + ext_isinteger((~m)) ? +∫(ext_expand(((~a) + (~b)*asinh((~c)*(~x)))^(~n), ((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +# ("7_1_4_28", +# @rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)] : nothing) + +("7_1_4_29", +@rule ∫(((~!h)*(~x))^(~!m)*((~d) + (~!e)*(~x))^(~p)*((~f) + (~!g)*(~x))^ (~q)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~x)) && + eq((~e)*(~f) + (~d)*(~g), 0) && + eq((~c)^2*(~d)^2 + (~e)^2, 0) && + half_integer((~p), (~q)) && + ge((~p) - (~q), 0) && + gt((~d), 0) && + lt((~g)/(~e), 0) ? +(-(~d)^2*(~g)⨸(~e))^(~q)* ∫(((~h)*(~x))^(~m)*((~d) + (~e)*(~x))^((~p) - (~q))*(1 + (~c)^2*(~x)^2)^(~q)*((~a) + (~b)*asinh((~c)*(~x)))^ (~n), (~x)) : nothing) + +("7_1_4_30", +@rule ∫(((~!h)*(~x))^(~!m)*((~d) + (~!e)*(~x))^(~p)*((~f) + (~!g)*(~x))^ (~q)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~x)) && + eq((~e)*(~f) + (~d)*(~g), 0) && + eq((~c)^2*(~d)^2 + (~e)^2, 0) && + half_integer((~p), (~q)) && + ge((~p) - (~q), 0) ? +(-(~d)^2*(~g)⨸(~e))^intpart((~q))*((~d) + (~e)*(~x))^ fracpart((~q))*((~f) + (~g)*(~x))^fracpart((~q))⨸(1 + (~c)^2*(~x)^2)^fracpart((~q))* ∫(((~h)*(~x))^(~m)*((~d) + (~e)*(~x))^((~p) - (~q))*(1 + (~c)^2*(~x)^2)^ (~q)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.5 u (a+b arcsinh(c x))^n.jl b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.5 u (a+b arcsinh(c x))^n.jl new file mode 100644 index 0000000..b787d90 --- /dev/null +++ b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.5 u (a+b arcsinh(c x))^n.jl @@ -0,0 +1,267 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 7.1.5 u (a+b arcsinh(c x))^n *) +("7_1_5_1", +@rule ∫(((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n)/((~!d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + igt((~n), 0) ? +int_and_subst(((~a) + (~b)*(~x))^(~n)*cosh((~x))⨸((~c)*(~d) + (~e)*sinh((~x))), (~x), (~x), asinh((~c)*(~x)), "7_1_5_1") : nothing) + +("7_1_5_2", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + igt((~n), 0) && + !eq((~m), -1) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸((~e)*((~m) + 1)) - (~b)*(~c)*(~n)⨸((~e)*((~m) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1)⨸ sqrt(1 + (~c)^2*(~x)^2), (~x)) : nothing) + +("7_1_5_3", +@rule ∫(((~d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + igt((~m), 0) && + lt((~n), -1) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("7_1_5_4", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + igt((~m), 0) ? +1⨸(~c)^((~m) + 1)* int_and_subst(((~a) + (~b)*(~x))^(~n)*cosh((~x))*((~c)*(~d) + (~e)*sinh((~x)))^(~m), (~x), (~x), asinh((~c)*(~x)), "7_1_5_4") : nothing) + +("7_1_5_5", +@rule ∫((~Px)*((~!a) + (~!b)*asinh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + poly((~Px), (~x)) ? +dist((~a) + (~b)*asinh((~c)*(~x)), ∫(ExpandExpression[(~Px), (~x)], (~x)), (~x)) - (~b)*(~c)*∫(ext_simplify(∫(ExpandExpression[(~Px), (~x)], (~x))⨸sqrt(1 + (~c)^2*(~x)^2), (~x)), (~x)) : nothing) + +#(* Int[Px_*(a_.+b_.*ArcSinh[c_.*x_])^n_.,x_Symbol] := With[{u=IntHide[Px,x]}, Dist[(a+b*ArcSinh[c*x])^n,u,x] - b*c*n*Int[SimplifyIntegrand[u*(a+b*ArcSinh[c*x])^(n-1)/Sqrt[1+c^2*x^2] ,x],x]] /; FreeQ[{a,b,c},x] && PolynomialQ[Px,x] && IGtQ[n,0] *) +("7_1_5_6", +@rule ∫((~Px)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + poly((~Px), (~x)) ? +∫(ext_expand((~Px)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("7_1_5_7", +@rule ∫((~Px)*((~!d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*asinh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + poly((~Px), (~x)) ? +dist((~a) + (~b)*asinh((~c)*(~x)), ∫((~Px)*((~d) + (~e)*(~x))^(~m), (~x)), (~x)) - (~b)*(~c)*∫(ext_simplify(∫((~Px)*((~d) + (~e)*(~x))^(~m), (~x))⨸sqrt(1 + (~c)^2*(~x)^2), (~x)), (~x)) : nothing) + +("7_1_5_8", +@rule ∫(((~!f) + (~!g)*(~x))^(~!p)*((~d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^ (~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + igt((~n), 0) && + igt((~p), 0) && + ilt((~m), 0) && + lt((~m) + (~p) + 1, 0) ? +dist(((~a) + (~b)*asinh((~c)*(~x)))^(~n), ∫(((~f) + (~g)*(~x))^(~p)*((~d) + (~e)*(~x))^(~m), (~x)), (~x)) - (~b)*(~c)*(~n)*∫( ext_simplify( ∫(((~f) + (~g)*(~x))^(~p)*((~d) + (~e)*(~x))^(~m), (~x))*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1)⨸sqrt(1 + (~c)^2*(~x)^2), (~x)), (~x)) : nothing) + +("7_1_5_9", +@rule ∫(((~!f) + (~!g)*(~x) + (~!h)*(~x)^2)^ (~!p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~n)/((~d) + (~!e)*(~x))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) && + igt((~n), 0) && + igt((~p), 0) && + eq((~e)*(~g) - 2*(~d)*(~h), 0) ? +dist(((~a) + (~b)*asinh((~c)*(~x)))^(~n), ∫(((~f) + (~g)*(~x) + (~h)*(~x)^2)^(~p)⨸((~d) + (~e)*(~x))^2, (~x)), (~x)) - (~b)*(~c)*(~n)*∫( ext_simplify( ∫(((~f) + (~g)*(~x) + (~h)*(~x)^2)^(~p)⨸((~d) + (~e)*(~x))^2, (~x))*((~a) + (~b)*asinh((~c)*(~x)))^((~n) - 1)⨸sqrt(1 + (~c)^2*(~x)^2), (~x)), (~x)) : nothing) + +("7_1_5_10", +@rule ∫((~Px)*((~d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + poly((~Px), (~x)) && + igt((~n), 0) && + ext_isinteger((~m)) ? +∫(ext_expand((~Px)*((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("7_1_5_11", +@rule ∫(((~f) + (~!g)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*asinh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~e), (~c)^2*(~d)) && + igt((~m), 0) && + ilt((~p) + 1/2, 0) && + gt((~d), 0) && + ( + lt((~m), -2*(~p) - 1) || + gt((~m), 3) + ) ? +dist((~a) + (~b)*asinh((~c)*(~x)), ∫(((~f) + (~g)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~p), (~x)), (~x)) - (~b)*(~c)*∫(dist(1⨸sqrt(1 + (~c)^2*(~x)^2), ∫(((~f) + (~g)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~p), (~x)), (~x)), (~x)) : nothing) + +("7_1_5_12", +@rule ∫(((~f) + (~!g)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^ (~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~e), (~c)^2*(~d)) && + igt((~m), 0) && + ext_isinteger((~p) + 1/2) && + gt((~d), 0) && + igt((~n), 0) && + ( + eq((~n), 1) && + gt((~p), -1) || + gt((~p), 0) || + eq((~m), 1) || + eq((~m), 2) && + lt((~p), -2) + ) ? +∫(ext_expand(((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*asinh((~c)*(~x)))^ (~n), ((~f) + (~g)*(~x))^(~m), (~x)), (~x)) : nothing) + +("7_1_5_13", +@rule ∫(((~!f) + (~!g)*(~x))^(~m)* sqrt((~d) + (~!e)*(~x)^2)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~e), (~c)^2*(~d)) && + ilt((~m), 0) && + gt((~d), 0) && + igt((~n), 0) ? +((~f) + (~g)*(~x))^ (~m)*((~d) + (~e)*(~x)^2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)* sqrt((~d))*((~n) + 1)) - 1⨸((~b)*(~c)*sqrt((~d))*((~n) + 1))* ∫(((~d)*(~g)*(~m) + 2*(~e)*(~f)*(~x) + (~e)*(~g)*((~m) + 2)*(~x)^2)*((~f) + (~g)*(~x))^((~m) - 1)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1), (~x)) : nothing) + +("7_1_5_14", +@rule ∫(((~f) + (~!g)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^ (~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~e), (~c)^2*(~d)) && + ext_isinteger((~m)) && + igt((~p) + 1/2, 0) && + gt((~d), 0) && + igt((~n), 0) ? +∫(ext_expand( sqrt((~d) + (~e)*(~x)^2)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), ((~f) + (~g)*(~x))^ (~m)*((~d) + (~e)*(~x)^2)^((~p) - 1⨸2), (~x)), (~x)) : nothing) + +("7_1_5_15", +@rule ∫(((~f) + (~!g)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^ (~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~e), (~c)^2*(~d)) && + ilt((~m), 0) && + igt((~p) - 1/2, 0) && + gt((~d), 0) && + igt((~n), 0) ? +((~f) + (~g)*(~x))^ (~m)*((~d) + (~e)*(~x)^2)^((~p) + 1⨸2)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)* sqrt((~d))*((~n) + 1)) - 1⨸((~b)*(~c)*sqrt((~d))*((~n) + 1))* ∫( ext_expand(((~f) + (~g)*(~x))^((~m) - 1)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1), ((~d)*(~g)*(~m) + (~e)*(~f)*(2*(~p) + 1)*(~x) + (~e)*(~g)*((~m) + 2*(~p) + 1)*(~x)^2)*((~d) + (~e)*(~x)^2)^((~p) - 1⨸2), (~x)), (~x)) : nothing) + +("7_1_5_16", +@rule ∫(((~f) + (~!g)*(~x))^(~!m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~n)/ sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~e), (~c)^2*(~d)) && + igt((~m), 0) && + gt((~d), 0) && + lt((~n), -1) ? +((~f) + (~g)*(~x))^(~m)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*sqrt((~d))*((~n) + 1)) - (~g)*(~m)⨸((~b)*(~c)*sqrt((~d))*((~n) + 1))* ∫(((~f) + (~g)*(~x))^((~m) - 1)*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1), (~x)) : nothing) + +("7_1_5_17", +@rule ∫(((~f) + (~!g)*(~x))^(~!m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n)/ sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + eq((~e), (~c)^2*(~d)) && + ext_isinteger((~m)) && + gt((~d), 0) && + ( + gt((~m), 0) || + igt((~n), 0) + ) ? +1⨸((~c)^((~m) + 1)*sqrt((~d)))* int_and_subst(((~a) + (~b)*(~x))^(~n)*((~c)*(~f) + (~g)*sinh((~x)))^(~m), (~x), (~x), asinh((~c)*(~x)), "7_1_5_17") : nothing) + +("7_1_5_18", +@rule ∫(((~f) + (~!g)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^ (~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + eq((~e), (~c)^2*(~d)) && + ext_isinteger((~m)) && + ilt((~p) + 1/2, 0) && + gt((~d), 0) && + igt((~n), 0) ? +∫(ext_expand(((~a) + (~b)*asinh((~c)*(~x)))^(~n)⨸ sqrt((~d) + (~e)*(~x)^2), ((~f) + (~g)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^((~p) + 1⨸2), (~x)), (~x)) : nothing) + +("7_1_5_19", +@rule ∫(((~f) + (~!g)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^ (~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + eq((~e), (~c)^2*(~d)) && + ext_isinteger((~m)) && + ext_isinteger((~p) - 1/2) && + !(gt((~d), 0)) ? +simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* ∫(((~f) + (~g)*(~x))^(~m)*(1 + (~c)^2*(~x)^2)^(~p)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)) : nothing) + +("7_1_5_20", +@rule ∫(log((~!h)*((~!f) + (~!g)*(~x))^(~!m))*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n)/ sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~x)) && + eq((~e), (~c)^2*(~d)) && + gt((~d), 0) && + igt((~n), 0) ? +log((~h)*((~f) + (~g)*(~x))^(~m))*((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)* sqrt((~d))*((~n) + 1)) - (~g)*(~m)⨸((~b)*(~c)*sqrt((~d))*((~n) + 1))* ∫(((~a) + (~b)*asinh((~c)*(~x)))^((~n) + 1)⨸((~f) + (~g)*(~x)), (~x)) : nothing) + +("7_1_5_21", +@rule ∫(log((~!h)*((~!f) + (~!g)*(~x))^(~!m))*((~d) + (~!e)*(~x)^2)^ (~p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~x)) && + eq((~e), (~c)^2*(~d)) && + ext_isinteger((~p) - 1/2) && + !(gt((~d), 0)) ? +simp(((~d) + (~e)*(~x)^2)^(~p)⨸(1 + (~c)^2*(~x)^2)^(~p))* ∫(log((~h)*((~f) + (~g)*(~x))^(~m))*(1 + (~c)^2*(~x)^2)^(~p)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)) : nothing) + +("7_1_5_22", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~f) + (~!g)*(~x))^(~m)*((~!a) + (~!b)*asinh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + ilt((~m) + 1/2, 0) ? +dist((~a) + (~b)*asinh((~c)*(~x)), ∫(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~m), (~x)), (~x)) - (~b)*(~c)*∫(dist(1⨸sqrt(1 + (~c)^2*(~x)^2), ∫(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~m), (~x)), (~x)), (~x)) : nothing) + +("7_1_5_23", +@rule ∫(((~d) + (~!e)*(~x))^(~!m)*((~f) + (~!g)*(~x))^(~!m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^ (~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + ext_isinteger((~m)) ? +∫(ext_expand(((~a) + (~b)*asinh((~c)*(~x)))^ (~n), ((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~m), (~x)), (~x)) : nothing) + +("7_1_5_24", +@rule ∫((~u)*((~!a) + (~!b)*asinh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !contains_inverse_function(IntHide[(~u), (~x)], (~x)) ? +dist((~a) + (~b)*asinh((~c)*(~x)), ∫((~u), (~x)), (~x)) - (~b)*(~c)*∫(ext_simplify(∫((~u), (~x))⨸sqrt(1 + (~c)^2*(~x)^2), (~x)), (~x)) : nothing) + +("7_1_5_25", +@rule ∫((~Px)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + poly((~Px), (~x)) && + eq((~e), (~c)^2*(~d)) && + ext_isinteger((~p) - 1/2) && + issum(ext_expand((~Px)*((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*asinh[(~c)*(~x)])^(~n), (~x))) ? +∫(ext_expand((~Px)*((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("7_1_5_26", +@rule ∫((~!Px)*((~f) + (~!g)*((~d) + (~!e)*(~x)^2)^(~p))^ (~!m)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + poly((~Px), (~x)) && + eq((~e), (~c)^2*(~d)) && + igt((~p) + 1/2, 0) && + ext_isinteger((~m), (~n)) && + issum(ext_expand( (~Px)*((~f) + (~g)*((~d) + (~e)*(~x)^2)^(~p))^(~m)*((~a) + (~b)*asinh[(~c)*(~x)])^(~n), (~x))) ? +∫(ext_expand( (~Px)*((~f) + (~g)*((~d) + (~e)*(~x)^2)^(~p))^(~m)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("7_1_5_27", +@rule ∫((~RF)*asinh((~!c)*(~x))^(~!n),(~x)) => + !contains_var((~c), (~x)) && + rational_function((~RF), (~x)) && + igt((~n), 0) && + issum(ext_expand(asinh[(~c)*(~x)]^(~n), (~RF), (~x))) ? +∫(ext_expand(asinh((~c)*(~x))^(~n), (~RF), (~x)), (~x)) : nothing) + +("7_1_5_28", +@rule ∫((~RF)*((~a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + rational_function((~RF), (~x)) && + igt((~n), 0) ? +∫(ext_expand((~RF)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("7_1_5_29", +@rule ∫((~RF)*((~d) + (~!e)*(~x)^2)^(~p)*asinh((~!c)*(~x))^(~!n),(~x)) => + !contains_var((~c), (~d), (~e), (~x)) && + rational_function((~RF), (~x)) && + igt((~n), 0) && + eq((~e), (~c)^2*(~d)) && + ext_isinteger((~p) - 1/2) && + issum(ext_expand(((~d) + (~e)*(~x)^2)^(~p)*asinh[(~c)*(~x)]^(~n), (~RF), (~x))) ? +∫(ext_expand(((~d) + (~e)*(~x)^2)^(~p)*asinh((~c)*(~x))^(~n), (~RF), (~x)), (~x)) : nothing) + +("7_1_5_30", +@rule ∫((~RF)*((~d) + (~!e)*(~x)^2)^(~p)*((~a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + rational_function((~RF), (~x)) && + igt((~n), 0) && + eq((~e), (~c)^2*(~d)) && + ext_isinteger((~p) - 1/2) ? +∫(ext_expand(((~d) + (~e)*(~x)^2)^(~p), (~RF)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)), (~x)) : nothing) + +# ("7_1_5_31", +# @rule ∫((~!u)*((~!a) + (~!b)*asinh((~!c)*(~x)))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~n), (~x)) ? +# Unintegrable[(~u)*((~a) + (~b)*asinh((~c)*(~x)))^(~n), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.6 Miscellaneous inverse hyperbolic sine.jl b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.6 Miscellaneous inverse hyperbolic sine.jl new file mode 100644 index 0000000..82b9ed8 --- /dev/null +++ b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.1 Inverse hyperbolic sine/7.1.6 Miscellaneous inverse hyperbolic sine.jl @@ -0,0 +1,130 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 7.1.6 Miscellaneous inverse hyperbolic sine *) +("7_1_6_1", +@rule ∫(((~!a) + (~!b)*asinh((~c) + (~!d)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) ? +1⨸(~d)*int_and_subst(((~a) + (~b)*asinh((~x)))^(~n), (~x), (~x), (~c) + (~d)*(~x), "7_1_6_1") : nothing) + +("7_1_6_2", +@rule ∫(((~!e) + (~!f)*(~x))^(~!m)*((~!a) + (~!b)*asinh((~c) + (~!d)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) ? +1⨸(~d)*int_and_subst((((~d)*(~e) - (~c)*(~f))⨸(~d) + (~f)*(~x)⨸(~d))^(~m)*((~a) + (~b)*asinh((~x)))^(~n), (~x), (~x), (~c) + (~d)*(~x), "7_1_6_2") : nothing) + +("7_1_6_3", +@rule ∫(((~!A) + (~!B)*(~x) + (~!C)*(~x)^2)^(~!p)*((~!a) + (~!b)*asinh((~c) + (~!d)*(~x)))^ (~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~A), (~B), (~C), (~n), (~p), (~x)) && + eq((~B)*(1 + (~c)^2) - 2*(~A)*(~c)*(~d), 0) && + eq(2*(~c)*(~C) - (~B)*(~d), 0) ? +1⨸(~d)*int_and_subst(((~C)⨸(~d)^2 + (~C)⨸(~d)^2*(~x)^2)^(~p)*((~a) + (~b)*asinh((~x)))^(~n), (~x), (~x), (~c) + (~d)*(~x), "7_1_6_3") : nothing) + +("7_1_6_4", +@rule ∫(((~!e) + (~!f)*(~x))^(~!m)*((~!A) + (~!B)*(~x) + (~!C)*(~x)^2)^ (~!p)*((~!a) + (~!b)*asinh((~c) + (~!d)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~m), (~n), (~p), (~x)) && + eq((~B)*(1 + (~c)^2) - 2*(~A)*(~c)*(~d), 0) && + eq(2*(~c)*(~C) - (~B)*(~d), 0) ? +1⨸(~d)*int_and_subst((((~d)*(~e) - (~c)*(~f))⨸(~d) + (~f)*(~x)⨸(~d))^(~m)*((~C)⨸(~d)^2 + (~C)⨸(~d)^2*(~x)^2)^ (~p)*((~a) + (~b)*asinh((~x)))^(~n), (~x), (~x), (~c) + (~d)*(~x), "7_1_6_4") : nothing) + +("7_1_6_5", +@rule ∫(sqrt((~!a) + (~!b)*asinh((~c) + (~!d)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~c)^2, -1) ? +(~x)*sqrt((~a) + (~b)*asinh((~c) + (~d)*(~x)^2)) - sqrt(π)*(~x)*(cosh((~a)⨸(2*(~b))) - (~c)*sinh((~a)⨸(2*(~b))))* FresnelIntegrals.fresnelc(sqrt(-(~c)⨸(π*(~b)))*sqrt((~a) + (~b)*asinh((~c) + (~d)*(~x)^2)))⨸ (sqrt(-((~c)⨸(~b)))*(cosh(asinh((~c) + (~d)*(~x)^2)⨸2) + (~c)*sinh(asinh((~c) + (~d)*(~x)^2)⨸2))) + sqrt(π)*(~x)*(cosh((~a)⨸(2*(~b))) + (~c)*sinh((~a)⨸(2*(~b))))* FresnelIntegrals.fresnels(sqrt(-(~c)⨸(π*(~b)))*sqrt((~a) + (~b)*asinh((~c) + (~d)*(~x)^2)))⨸ (sqrt(-((~c)⨸(~b)))*(cosh(asinh((~c) + (~d)*(~x)^2)⨸2) + (~c)*sinh(asinh((~c) + (~d)*(~x)^2)⨸2))) : nothing) + +("7_1_6_6", +@rule ∫(((~!a) + (~!b)*asinh((~c) + (~!d)*(~x)^2))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~c)^2, -1) && + gt((~n), 1) ? +(~x)*((~a) + (~b)*asinh((~c) + (~d)*(~x)^2))^(~n) - 2*(~b)*(~n)* sqrt(2*(~c)*(~d)*(~x)^2 + (~d)^2*(~x)^4)*((~a) + (~b)*asinh((~c) + (~d)*(~x)^2))^((~n) - 1)⨸((~d)*(~x)) + 4*(~b)^2*(~n)*((~n) - 1)*∫(((~a) + (~b)*asinh((~c) + (~d)*(~x)^2))^((~n) - 2), (~x)) : nothing) + +("7_1_6_7", +@rule ∫(1/((~!a) + (~!b)*asinh((~c) + (~!d)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~c)^2, -1) ? +(~x)*((~c)*cosh((~a)⨸(2*(~b))) - sinh((~a)⨸(2*(~b))))* coshintegral(((~a) + (~b)*asinh((~c) + (~d)*(~x)^2))⨸(2*(~b)))⨸ (2* (~b)*(cosh(asinh((~c) + (~d)*(~x)^2)⨸2) + (~c)*sinh((1⨸2)*asinh((~c) + (~d)*(~x)^2)))) + (~x)*(cosh((~a)⨸(2*(~b))) - (~c)*sinh((~a)⨸(2*(~b))))* sinhintegral(((~a) + (~b)*asinh((~c) + (~d)*(~x)^2))⨸(2*(~b)))⨸ (2* (~b)*(cosh(asinh((~c) + (~d)*(~x)^2)⨸2) + (~c)*sinh((1⨸2)*asinh((~c) + (~d)*(~x)^2)))) : nothing) + +("7_1_6_8", +@rule ∫(1/sqrt((~!a) + (~!b)*asinh((~c) + (~!d)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~c)^2, -1) ? +((~c) + 1)*sqrt(π⨸2)*(~x)*(cosh((~a)⨸(2*(~b))) - sinh((~a)⨸(2*(~b))))* SymbolicUtils.erfi(sqrt((~a) + (~b)*asinh((~c) + (~d)*(~x)^2))⨸sqrt(2*(~b)))⨸ (2* sqrt((~b))*(cosh(asinh((~c) + (~d)*(~x)^2)⨸2) + (~c)*sinh(asinh((~c) + (~d)*(~x)^2)⨸2))) + ((~c) - 1)*sqrt(π⨸2)*(~x)*(cosh((~a)⨸(2*(~b))) + sinh((~a)⨸(2*(~b))))* SymbolicUtils.erf(sqrt((~a) + (~b)*asinh((~c) + (~d)*(~x)^2))⨸sqrt(2*(~b)))⨸ (2* sqrt((~b))*(cosh(asinh((~c) + (~d)*(~x)^2)⨸2) + (~c)*sinh(asinh((~c) + (~d)*(~x)^2)⨸2))) : nothing) + +("7_1_6_9", +@rule ∫(1/((~!a) + (~!b)*asinh((~c) + (~!d)*(~x)^2))^(3//2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~c)^2, -1) ? +-sqrt(2*(~c)*(~d)*(~x)^2 + (~d)^2*(~x)^4)⨸((~b)*(~d)*(~x)*sqrt((~a) + (~b)*asinh((~c) + (~d)*(~x)^2))) - (-(~c)⨸(~b))^(3⨸2)*sqrt(π)*(~x)*(cosh((~a)⨸(2*(~b))) - (~c)*sinh((~a)⨸(2*(~b))))* FresnelIntegrals.fresnelc(sqrt(-(~c)⨸(π*(~b)))*sqrt((~a) + (~b)*asinh((~c) + (~d)*(~x)^2)))⨸ (cosh(asinh((~c) + (~d)*(~x)^2)⨸2) + (~c)*sinh(asinh((~c) + (~d)*(~x)^2)⨸2)) + (-(~c)⨸(~b))^(3⨸2)*sqrt(π)*(~x)*(cosh((~a)⨸(2*(~b))) + (~c)*sinh((~a)⨸(2*(~b))))* FresnelIntegrals.fresnels(sqrt(-(~c)⨸(π*(~b)))*sqrt((~a) + (~b)*asinh((~c) + (~d)*(~x)^2)))⨸ (cosh(asinh((~c) + (~d)*(~x)^2)⨸2) + (~c)*sinh(asinh((~c) + (~d)*(~x)^2)⨸2)) : nothing) + +("7_1_6_10", +@rule ∫(1/((~!a) + (~!b)*asinh((~c) + (~!d)*(~x)^2))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~c)^2, -1) ? +-sqrt(2*(~c)*(~d)*(~x)^2 + (~d)^2*(~x)^4)⨸(2*(~b)*(~d)*(~x)*((~a) + (~b)*asinh((~c) + (~d)*(~x)^2))) + (~x)*(cosh((~a)⨸(2*(~b))) - (~c)*sinh((~a)⨸(2*(~b))))* coshintegral(((~a) + (~b)*asinh((~c) + (~d)*(~x)^2))⨸(2*(~b)))⨸ (4* (~b)^2*(cosh(asinh((~c) + (~d)*(~x)^2)⨸2) + (~c)*sinh(asinh((~c) + (~d)*(~x)^2)⨸2))) + (~x)*((~c)*cosh((~a)⨸(2*(~b))) - sinh((~a)⨸(2*(~b))))* sinhintegral(((~a) + (~b)*asinh((~c) + (~d)*(~x)^2))⨸(2*(~b)))⨸ (4* (~b)^2*(cosh(asinh((~c) + (~d)*(~x)^2)⨸2) + (~c)*sinh(asinh((~c) + (~d)*(~x)^2)⨸2))) : nothing) + +("7_1_6_11", +@rule ∫(((~!a) + (~!b)*asinh((~c) + (~!d)*(~x)^2))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~c)^2, -1) && + lt((~n), -1) && + !eq((~n), -2) ? +-(~x)*((~a) + (~b)*asinh((~c) + (~d)*(~x)^2))^((~n) + 2)⨸(4*(~b)^2*((~n) + 1)*((~n) + 2)) + sqrt( 2*(~c)*(~d)*(~x)^2 + (~d)^2*(~x)^4)*((~a) + (~b)*asinh((~c) + (~d)*(~x)^2))^((~n) + 1)⨸(2*(~b)*(~d)*((~n) + 1)* (~x)) + 1⨸(4*(~b)^2*((~n) + 1)*((~n) + 2))* ∫(((~a) + (~b)*asinh((~c) + (~d)*(~x)^2))^((~n) + 2), (~x)) : nothing) + +("7_1_6_12", +@rule ∫(asinh((~!a)*(~x)^(~p))^(~!n)/(~x),(~x)) => + !contains_var((~a), (~p), (~x)) && + igt((~n), 0) ? +1⨸(~p)*int_and_subst((~x)^(~n)*coth((~x)), (~x), (~x), asinh((~a)*(~x)^(~p)), "7_1_6_12") : nothing) + +("7_1_6_13", +@rule ∫((~!u)*asinh((~c)/((~!a) + (~!b)*(~x)^(~!n)))^(~!m),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~m), (~x)) ? +∫((~u)*acsch((~a)⨸(~c) + (~b)*(~x)^(~n)⨸(~c))^(~m), (~x)) : nothing) + +("7_1_6_14", +@rule ∫(asinh(sqrt(-1 + (~!b)*(~x)^2))^(~!n)/sqrt(-1 + (~!b)*(~x)^2),(~x)) => + !contains_var((~b), (~n), (~x)) ? +sqrt((~b)*(~x)^2)⨸((~b)*(~x))* int_and_subst(asinh((~x))^(~n)⨸sqrt(1 + (~x)^2), (~x), (~x), sqrt(-1 + (~b)*(~x)^2), "7_1_6_14") : nothing) + +("7_1_6_15", +@rule ∫((~f)^((~!c)*asinh((~!a) + (~!b)*(~x))^(~!n)),(~x)) => + !contains_var((~a), (~b), (~c), (~f), (~x)) && + igt((~n), 0) ? +1⨸(~b)*int_and_subst((~f)^((~c)*(~x)^(~n))*cosh((~x)), (~x), (~x), asinh((~a) + (~b)*(~x)), "7_1_6_15") : nothing) + +("7_1_6_16", +@rule ∫((~x)^(~!m)*(~f)^((~!c)*asinh((~!a) + (~!b)*(~x))^(~!n)),(~x)) => + !contains_var((~a), (~b), (~c), (~f), (~x)) && + igt((~m), 0) && + igt((~n), 0) ? +1⨸(~b)*int_and_subst((-(~a)⨸(~b) + sinh((~x))⨸(~b))^(~m)*(~f)^((~c)*(~x)^(~n))*cosh((~x)), (~x), (~x), asinh((~a) + (~b)*(~x)), "7_1_6_16") : nothing) + +("7_1_6_17", +@rule ∫(asinh((~u)),(~x)) => + !contains_inverse_function((~u), (~x)) && + !(function_of_exponential((~u), (~x))) ? +(~x)*asinh((~u)) - ∫(ext_simplify((~x)*Symbolics.derivative((~u), (~x))⨸sqrt(1 + (~u)^2), (~x)), (~x)) : nothing) + +("7_1_6_18", +@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~!a) + (~!b)*asinh((~u))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + !eq((~m), -1) && + !contains_inverse_function((~u), (~x)) && + !(function_of_exponential((~u), (~x))) ? +((~c) + (~d)*(~x))^((~m) + 1)*((~a) + (~b)*asinh((~u)))⨸((~d)*((~m) + 1)) - (~b)⨸((~d)*((~m) + 1))* ∫(ext_simplify(((~c) + (~d)*(~x))^((~m) + 1)*Symbolics.derivative((~u), (~x))⨸sqrt(1 + (~u)^2), (~x)), (~x)) : nothing) + +("7_1_6_20", +@rule ∫(ℯ^((~!n)*asinh((~u))),(~x)) => + ext_isinteger((~n)) && + poly((~u), (~x)) ? +∫(((~u) + sqrt(1 + (~u)^2))^(~n), (~x)) : nothing) + +("7_1_6_21", +@rule ∫((~x)^(~!m)*ℯ^((~!n)*asinh((~u))),(~x)) => + isrational((~m)) && + ext_isinteger((~n)) && + poly((~u), (~x)) ? +∫((~x)^(~m)*((~u) + sqrt(1 + (~u)^2))^(~n), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.1 (a+b arccosh(c x))^n.jl b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.1 (a+b arccosh(c x))^n.jl new file mode 100644 index 0000000..15adf3f --- /dev/null +++ b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.1 (a+b arccosh(c x))^n.jl @@ -0,0 +1,22 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 7.2.1 (a+b arccosh(c x))^n *) +("7_2_1_1", +@rule ∫(((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + gt((~n), 0) ? +(~x)*((~a) + (~b)*acosh((~c)*(~x)))^(~n) - (~b)*(~c)*(~n)* ∫((~x)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1)⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))), (~x)) : nothing) + +("7_2_1_2", +@rule ∫(((~!a) + (~!b)*acosh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + lt((~n), -1) ? +sqrt(1 + (~c)*(~x))* sqrt(-1 + (~c)*(~x))*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) - (~c)⨸((~b)*((~n) + 1))* ∫((~x)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))), (~x)) : nothing) + +("7_2_1_3", +@rule ∫(((~!a) + (~!b)*acosh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) ? +1⨸((~b)*(~c))* int_and_subst((~x)^(~n)*sinh(-(~a)⨸(~b) + (~x)⨸(~b)), (~x), (~x), (~a) + (~b)*acosh((~c)*(~x)), "7_2_1_3") : nothing) + + +] diff --git a/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.2 (d x)^m (a+b arccosh(c x))^n.jl b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.2 (d x)^m (a+b arccosh(c x))^n.jl new file mode 100644 index 0000000..cd551eb --- /dev/null +++ b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.2 (d x)^m (a+b arccosh(c x))^n.jl @@ -0,0 +1,51 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 7.2.2 (d x)^m (a+b arccosh(c x))^n *) +("7_2_2_1", +@rule ∫(((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~n), 0) ? +1⨸(~b)*int_and_subst((~x)^(~n)*tanh(-(~a)⨸(~b) + (~x)⨸(~b)), (~x), (~x), (~a) + (~b)*acosh((~c)*(~x)), "7_2_2_1") : nothing) + +("7_2_2_2", +@rule ∫(((~!d)*(~x))^(~!m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~x)) && + igt((~n), 0) && + !eq((~m), -1) ? +((~d)*(~x))^((~m) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸((~d)*((~m) + 1)) - (~b)*(~c)*(~n)⨸((~d)*((~m) + 1))* ∫(((~d)*(~x))^((~m) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1)⨸(sqrt(1 + (~c)*(~x))* sqrt(-1 + (~c)*(~x))), (~x)) : nothing) + +("7_2_2_3", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~m), 0) && + gt((~n), 0) ? +(~x)^((~m) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸((~m) + 1) - (~b)*(~c)*(~n)⨸((~m) + 1)* ∫((~x)^((~m) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1)⨸(sqrt(1 + (~c)*(~x))* sqrt(-1 + (~c)*(~x))), (~x)) : nothing) + +("7_2_2_4", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~m), 0) && + ge((~n), -2) && + lt((~n), -1) ? +(~x)^(~m)*sqrt(1 + (~c)*(~x))* sqrt(-1 + (~c)*(~x))*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) + 1⨸((~b)^2*(~c)^((~m) + 1)*((~n) + 1))* int_and_subst(expand_trig_reduce((~x)^((~n) + 1), cosh(-(~a)⨸(~b) + (~x)⨸(~b))^((~m) - 1)*((~m) - ((~m) + 1)*cosh(-(~a)⨸(~b) + (~x)⨸(~b))^2), (~x)), (~x), (~x), (~a) + (~b)*acosh((~c)*(~x)), "7_2_2_4") : nothing) + +("7_2_2_5", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~m), 0) && + lt((~n), -2) ? +(~x)^(~m)*sqrt(1 + (~c)*(~x))* sqrt(-1 + (~c)*(~x))*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) + (~m)⨸((~b)*(~c)*((~n) + 1))* ∫((~x)^((~m) - 1)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸(sqrt(1 + (~c)*(~x))* sqrt(-1 + (~c)*(~x))), (~x)) - (~c)*((~m) + 1)⨸((~b)*((~n) + 1))* ∫((~x)^((~m) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸(sqrt(1 + (~c)*(~x))* sqrt(-1 + (~c)*(~x))), (~x)) : nothing) + +("7_2_2_6", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + igt((~m), 0) ? +1⨸((~b)*(~c)^((~m) + 1))* int_and_subst((~x)^(~n)*cosh(-(~a)⨸(~b) + (~x)⨸(~b))^(~m)*sinh(-(~a)⨸(~b) + (~x)⨸(~b)), (~x), (~x), (~a) + (~b)*acosh((~c)*(~x)), "7_2_2_6") : nothing) + +# ("7_2_2_7", +# @rule ∫(((~!d)*(~x))^(~!m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) ? +# Unintegrable[((~d)*(~x))^(~m)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.3 (d+e x^2)^p (a+b arccosh(c x))^n.jl b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.3 (d+e x^2)^p (a+b arccosh(c x))^n.jl new file mode 100644 index 0000000..949e273 --- /dev/null +++ b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.3 (d+e x^2)^p (a+b arccosh(c x))^n.jl @@ -0,0 +1,185 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 7.2.3 (d+e x^2)^p (a+b arccosh(c x))^n *) +("7_2_3_1", +@rule ∫(((~d1) + (~!e1)*(~x))^(~!p)*((~d2) + (~!e2)*(~x))^ (~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~n), (~x)) && + eq((~d2)*(~e1) + (~d1)*(~e2), 0) && + ext_isinteger((~p)) ? +∫(((~d1)*(~d2) + (~e1)*(~e2)*(~x)^2)^(~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)) : nothing) + +#(* Int[(a_.+b_.*ArcCosh[c_.*x_])^n_./Sqrt[d_+e_.*x_^2],x_Symbol] := 1/c*Simp[Sqrt[1+c*x]*Sqrt[-1+c*x]/Sqrt[d+e*x^2]]*Subst[Int[(a+b*x)^ n,x],x,ArcCosh[c*x]] /; FreeQ[{a,b,c,d,e,n},x] && EqQ[c^2*d+e,0] *) +("7_2_3_2", +@rule ∫(1/(sqrt((~d) + (~!e)*(~x)^2)*((~!a) + (~!b)*acosh((~!c)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~c)^2*(~d) + (~e), 0) ? +1⨸((~b)*(~c))*simp(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))⨸sqrt((~d) + (~e)*(~x)^2))* log((~a) + (~b)*acosh((~c)*(~x))) : nothing) + +("7_2_3_3", +@rule ∫(1/(sqrt((~d1) + (~!e1)*(~x))* sqrt((~d2) + (~!e2)*(~x))*((~!a) + (~!b)*acosh((~!c)*(~x)))),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) ? +1⨸((~b)*(~c))*simp(sqrt(1 + (~c)*(~x))⨸sqrt((~d1) + (~e1)*(~x)))* simp(sqrt(-1 + (~c)*(~x))⨸sqrt((~d2) + (~e2)*(~x)))*log((~a) + (~b)*acosh((~c)*(~x))) : nothing) + +("7_2_3_4", +@rule ∫(((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n)/sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + !eq((~n), -1) ? +1⨸((~b)*(~c)*((~n) + 1))* simp(sqrt(1 + (~c)*(~x))* sqrt(-1 + (~c)*(~x))⨸sqrt((~d) + (~e)*(~x)^2))*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1) : nothing) + +("7_2_3_5", +@rule ∫(((~!a) + (~!b)*acosh((~!c)*(~x)))^ (~!n)/(sqrt((~d1) + (~!e1)*(~x))*sqrt((~d2) + (~!e2)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~n), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + !eq((~n), -1) ? +1⨸((~b)*(~c)*((~n) + 1))*simp(sqrt(1 + (~c)*(~x))⨸sqrt((~d1) + (~e1)*(~x)))* simp(sqrt(-1 + (~c)*(~x))⨸sqrt((~d2) + (~e2)*(~x)))*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1) : nothing) + +("7_2_3_6", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + igt((~p), 0) ? +dist((~a) + (~b)*acosh((~c)*(~x)), ∫(((~d) + (~e)*(~x)^2)^(~p), (~x)), (~x)) - (~b)*(~c)*∫(ext_simplify(∫(((~d) + (~e)*(~x)^2)^(~p), (~x))⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))), (~x)), (~x)) : nothing) + +("7_2_3_7", +@rule ∫(sqrt((~d) + (~!e)*(~x)^2)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + gt((~n), 0) ? +(~x)*sqrt((~d) + (~e)*(~x)^2)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸2 - (~b)*(~c)*(~n)⨸2*simp(sqrt((~d) + (~e)*(~x)^2)⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))))* ∫((~x)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) - 1⨸2*simp(sqrt((~d) + (~e)*(~x)^2)⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))))* ∫(((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))), (~x)) : nothing) + +("7_2_3_8", +@rule ∫(sqrt((~d1) + (~!e1)*(~x))* sqrt((~d2) + (~!e2)*(~x))*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + gt((~n), 0) ? +(~x)*sqrt((~d1) + (~e1)*(~x))*sqrt((~d2) + (~e2)*(~x))*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸2 - (~b)*(~c)*(~n)⨸2*simp(sqrt((~d1) + (~e1)*(~x))⨸sqrt(1 + (~c)*(~x)))* simp(sqrt((~d2) + (~e2)*(~x))⨸sqrt(-1 + (~c)*(~x)))* ∫((~x)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) - 1⨸2*simp(sqrt((~d1) + (~e1)*(~x))⨸sqrt(1 + (~c)*(~x)))* simp(sqrt((~d2) + (~e2)*(~x))⨸sqrt(-1 + (~c)*(~x)))* ∫(((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))), (~x)) : nothing) + +("7_2_3_9", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + gt((~n), 0) && + gt((~p), 0) ? +(~x)*((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸(2*(~p) + 1) + 2*(~d)*(~p)⨸(2*(~p) + 1)* ∫(((~d) + (~e)*(~x)^2)^((~p) - 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)) - (~b)*(~c)*(~n)⨸(2*(~p) + 1)*simp(((~d) + (~e)*(~x)^2)^(~p)⨸((1 + (~c)*(~x))^(~p)*(-1 + (~c)*(~x))^(~p)))* ∫( (~x)*(1 + (~c)*(~x))^((~p) - 1⨸2)*(-1 + (~c)*(~x))^((~p) - 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_3_10", +@rule ∫(((~d1) + (~!e1)*(~x))^(~!p)*((~d2) + (~!e2)*(~x))^ (~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + gt((~n), 0) && + gt((~p), 0) ? +(~x)*((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^(~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸(2*(~p) + 1) + 2*(~d1)*(~d2)*(~p)⨸(2*(~p) + 1)* ∫(((~d1) + (~e1)*(~x))^((~p) - 1)*((~d2) + (~e2)*(~x))^((~p) - 1)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n), (~x)) - (~b)*(~c)*(~n)⨸(2*(~p) + 1)*simp(((~d1) + (~e1)*(~x))^(~p)⨸(1 + (~c)*(~x))^(~p))* simp(((~d2) + (~e2)*(~x))^(~p)⨸(-1 + (~c)*(~x))^(~p))* ∫( (~x)*(1 + (~c)*(~x))^((~p) - 1⨸2)*(-1 + (~c)*(~x))^((~p) - 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_3_11", +@rule ∫(((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n)/((~d) + (~!e)*(~x)^2)^(3//2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + gt((~n), 0) ? +(~x)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸((~d)*sqrt((~d) + (~e)*(~x)^2)) + (~b)*(~c)*(~n)⨸(~d)*simp(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))⨸sqrt((~d) + (~e)*(~x)^2))* ∫((~x)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1)⨸(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("7_2_3_12", +@rule ∫(((~!a) + (~!b)*acosh((~!c)*(~x)))^ (~!n)/(((~d1) + (~!e1)*(~x))^(3//2)*((~d2) + (~!e2)*(~x))^(3//2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + gt((~n), 0) ? +(~x)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n)⨸((~d1)*(~d2)*sqrt((~d1) + (~e1)*(~x))*sqrt((~d2) + (~e2)*(~x))) + (~b)*(~c)*(~n)⨸((~d1)*(~d2))*simp(sqrt(1 + (~c)*(~x))⨸sqrt((~d1) + (~e1)*(~x)))* simp(sqrt(-1 + (~c)*(~x))⨸sqrt((~d2) + (~e2)*(~x)))* ∫((~x)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1)⨸(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("7_2_3_13", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + gt((~n), 0) && + lt((~p), -1) && + !eq((~p), -3/2) ? +-(~x)*((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸(2*(~d)*((~p) + 1)) + (2*(~p) + 3)⨸(2*(~d)*((~p) + 1))* ∫(((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)) - (~b)*(~c)*(~n)⨸(2*((~p) + 1))* simp(((~d) + (~e)*(~x)^2)^(~p)⨸((1 + (~c)*(~x))^(~p)*(-1 + (~c)*(~x))^(~p)))* ∫( (~x)*(1 + (~c)*(~x))^((~p) + 1⨸2)*(-1 + (~c)*(~x))^((~p) + 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_3_14", +@rule ∫(((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^(~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^ (~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + gt((~n), 0) && + lt((~p), -1) && + !eq((~p), -3/2) ? +-(~x)*((~d1) + (~e1)*(~x))^((~p) + 1)*((~d2) + (~e2)*(~x))^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n)⨸(2*(~d1)*(~d2)*((~p) + 1)) + (2*(~p) + 3)⨸(2*(~d1)*(~d2)*((~p) + 1))* ∫(((~d1) + (~e1)*(~x))^((~p) + 1)*((~d2) + (~e2)*(~x))^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n), (~x)) - (~b)*(~c)*(~n)⨸(2*((~p) + 1))*simp(((~d1) + (~e1)*(~x))^(~p)⨸(1 + (~c)*(~x))^(~p))* simp(((~d2) + (~e2)*(~x))^(~p)⨸(-1 + (~c)*(~x))^(~p))* ∫( (~x)*(1 + (~c)*(~x))^((~p) + 1⨸2)*(-1 + (~c)*(~x))^((~p) + 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_3_15", +@rule ∫(((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n)/((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + igt((~n), 0) ? +-1⨸((~c)*(~d))*int_and_subst(((~a) + (~b)*(~x))^(~n)*csch((~x)), (~x), (~x), acosh((~c)*(~x)), "7_2_3_15") : nothing) + +("7_2_3_16", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + lt((~n), -1) && + ext_isinteger(2*(~p)) ? +simp(sqrt(1 + (~c)*(~x))* sqrt(-1 + (~c)*(~x))*((~d) + (~e)*(~x)^2)^(~p))*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸((~b)* (~c)*((~n) + 1)) - (~c)*(2*(~p) + 1)⨸((~b)*((~n) + 1))* simp(((~d) + (~e)*(~x)^2)^(~p)⨸((1 + (~c)*(~x))^(~p)*(-1 + (~c)*(~x))^(~p)))* ∫( (~x)*(1 + (~c)*(~x))^((~p) - 1⨸2)*(-1 + (~c)*(~x))^((~p) - 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1), (~x)) : nothing) + +("7_2_3_17", +@rule ∫(((~d1) + (~!e1)*(~x))^(~!p)*((~d2) + (~!e2)*(~x))^ (~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~p), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + lt((~n), -1) && + ext_isinteger((~p) + 1/2) ? +sqrt(1 + (~c)*(~x))* sqrt(-1 + (~c)*(~x))*((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^ (~p)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) - (~c)*(2*(~p) + 1)⨸((~b)*((~n) + 1))*simp(((~d1) + (~e1)*(~x))^(~p)⨸(1 + (~c)*(~x))^(~p))* simp(((~d2) + (~e2)*(~x))^(~p)⨸(-1 + (~c)*(~x))^(~p))* ∫((~x)*(-1 + (~c)^2*(~x)^2)^((~p) - 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1), (~x)) : nothing) + +("7_2_3_18", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + igt(2*(~p), 0) ? +1⨸((~b)*(~c))*simp(((~d) + (~e)*(~x)^2)^(~p)⨸((1 + (~c)*(~x))^(~p)*(-1 + (~c)*(~x))^(~p)))* int_and_subst((~x)^(~n)*sinh(-(~a)⨸(~b) + (~x)⨸(~b))^(2*(~p) + 1), (~x), (~x), (~a) + (~b)*acosh((~c)*(~x)), "7_2_3_18") : nothing) + +("7_2_3_19", +@rule ∫(((~d1) + (~!e1)*(~x))^(~!p)*((~d2) + (~!e2)*(~x))^ (~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~n), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + igt(2*(~p), 0) ? +1⨸((~b)*(~c))*simp(((~d1) + (~e1)*(~x))^(~p)⨸(1 + (~c)*(~x))^(~p))* simp(((~d2) + (~e2)*(~x))^(~p)⨸(-1 + (~c)*(~x))^(~p))* int_and_subst((~x)^(~n)*sinh(-(~a)⨸(~b) + (~x)⨸(~b))^(2*(~p) + 1), (~x), (~x), (~a) + (~b)*acosh((~c)*(~x)), "7_2_3_19") : nothing) + +("7_2_3_20", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~c)^2*(~d) + (~e), 0) && + ( + igt((~p), 0) || + ilt((~p) + 1/2, 0) + ) ? +dist((~a) + (~b)*acosh((~c)*(~x)), ∫(((~d) + (~e)*(~x)^2)^(~p), (~x)), (~x)) - (~b)*(~c)*∫(ext_simplify(∫(((~d) + (~e)*(~x)^2)^(~p), (~x))⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))), (~x)), (~x)) : nothing) + +#(* Int[(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] := 1/(b*c^(2*p+1))*Subst[Int[x^n*(c^2*d+e*Cosh[-a/b+x/b]^2)^p*Sinh[-a/ b+x/b],x],x,a+b*ArcCosh[c*x]] /; FreeQ[{a,b,c,d,e,n},x] && IGtQ[p,0] *) +("7_2_3_21", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + !eq((~c)^2*(~d) + (~e), 0) && + ext_isinteger((~p)) && + ( + (~p) > 0 || + igt((~n), 0) + ) ? +∫(ext_expand(((~a) + (~b)*acosh((~c)*(~x)))^(~n), ((~d) + (~e)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +# ("7_2_3_22", +# @rule ∫(((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~p), (~x)) ? +# Unintegrable[((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)] : nothing) + +# ("7_2_3_23", +# @rule ∫(((~d1) + (~!e1)*(~x))^(~!p)*((~d2) + (~!e2)*(~x))^ (~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~n), (~p), (~x)) ? +# Unintegrable[((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^(~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.4 (f x)^m (d+e x^2)^p (a+b arccosh(c x))^n.jl b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.4 (f x)^m (d+e x^2)^p (a+b arccosh(c x))^n.jl new file mode 100644 index 0000000..48b5c47 --- /dev/null +++ b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.4 (f x)^m (d+e x^2)^p (a+b arccosh(c x))^n.jl @@ -0,0 +1,467 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 7.2.4 (f x)^m (d+e x^2)^p (a+b arccosh(c x))^n *) +("7_2_4_1", +@rule ∫(((~!f)*(~x))^(~!m)*((~d1) + (~!e1)*(~x))^(~!p)*((~d2) + (~!e2)*(~x))^ (~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~m), (~n), (~x)) && + eq((~d2)*(~e1) + (~d1)*(~e2), 0) && + ext_isinteger((~p)) ? +∫(((~f)*(~x))^(~m)*((~d1)*(~d2) + (~e1)*(~e2)*(~x)^2)^(~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)) : nothing) + +("7_2_4_2", +@rule ∫((~x)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n)/((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + igt((~n), 0) ? +1⨸(~e)*int_and_subst(((~a) + (~b)*(~x))^(~n)*coth((~x)), (~x), (~x), acosh((~c)*(~x)), "7_2_4_2") : nothing) + +("7_2_4_3", +@rule ∫((~x)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + gt((~n), 0) && + !eq((~p), -1) ? +((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸(2*(~e)*((~p) + 1)) - (~b)*(~n)⨸(2*(~c)*((~p) + 1))* simp(((~d) + (~e)*(~x)^2)^(~p)⨸((1 + (~c)*(~x))^(~p)*(-1 + (~c)*(~x))^(~p)))* ∫((1 + (~c)*(~x))^((~p) + 1⨸2)*(-1 + (~c)*(~x))^((~p) + 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_4_4", +@rule ∫((~x)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~p), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + gt((~n), 0) && + !eq((~p), -1) ? +((~d1) + (~e1)*(~x))^((~p) + 1)*((~d2) + (~e2)*(~x))^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n)⨸(2*(~e1)*(~e2)*((~p) + 1)) - (~b)*(~n)⨸(2*(~c)*((~p) + 1))*simp(((~d1) + (~e1)*(~x))^(~p)⨸(1 + (~c)*(~x))^(~p))* simp(((~d2) + (~e2)*(~x))^(~p)⨸(-1 + (~c)*(~x))^(~p))* ∫((1 + (~c)*(~x))^((~p) + 1⨸2)*(-1 + (~c)*(~x))^((~p) + 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_4_5", +@rule ∫(((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n)/((~x)*((~d) + (~!e)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + igt((~n), 0) ? +-1⨸(~d)*int_and_subst(((~a) + (~b)*(~x))^(~n)⨸(cosh((~x))*sinh((~x))), (~x), (~x), acosh((~c)*(~x)), "7_2_4_5") : nothing) + +("7_2_4_6", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~p), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + gt((~n), 0) && + eq((~m) + 2*(~p) + 3, 0) && + !eq((~m), -1) ? +((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n)⨸((~d)*(~f)*((~m) + 1)) + (~b)*(~c)*(~n)⨸((~f)*((~m) + 1))* simp(((~d) + (~e)*(~x)^2)^(~p)⨸((1 + (~c)*(~x))^(~p)*(-1 + (~c)*(~x))^(~p)))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)*(~x))^((~p) + 1⨸2)*(-1 + (~c)*(~x))^((~p) + 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_4_7", +@rule ∫(((~!f)*(~x))^(~m)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~m), (~p), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + gt((~n), 0) && + eq((~m) + 2*(~p) + 3, 0) && + !eq((~p), -1) ? +((~f)*(~x))^((~m) + 1)*((~d1) + (~e1)*(~x))^((~p) + 1)*((~d2) + (~e2)*(~x))^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸((~d1)*(~d2)*(~f)*((~m) + 1)) + (~b)*(~c)*(~n)⨸((~f)*((~m) + 1))*simp(((~d1) + (~e1)*(~x))^(~p)⨸(1 + (~c)*(~x))^(~p))* simp(((~d2) + (~e2)*(~x))^(~p)⨸(-1 + (~c)*(~x))^(~p))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)*(~x))^((~p) + 1⨸2)*(-1 + (~c)*(~x))^((~p) + 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_4_8", +@rule ∫(((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + igt((~p), 0) ? +((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*acosh((~c)*(~x)))⨸(2*(~p)) - (~b)*(~c)*(-(~d))^(~p)⨸(2*(~p))* ∫((1 + (~c)*(~x))^((~p) - 1⨸2)*(-1 + (~c)*(~x))^((~p) - 1⨸2), (~x)) + (~d)*∫(((~d) + (~e)*(~x)^2)^((~p) - 1)*((~a) + (~b)*acosh((~c)*(~x)))⨸(~x), (~x)) : nothing) + +("7_2_4_9", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + igt((~p), 0) && + ilt(((~m) + 1)/2, 0) ? +((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*acosh((~c)*(~x)))⨸((~f)*((~m) + 1)) - (~b)*(~c)*(-(~d))^(~p)⨸((~f)*((~m) + 1))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)*(~x))^((~p) - 1⨸2)*(-1 + (~c)*(~x))^((~p) - 1⨸2), (~x)) - 2*(~e)*(~p)⨸((~f)^2*((~m) + 1))* ∫(((~f)*(~x))^((~m) + 2)*((~d) + (~e)*(~x)^2)^((~p) - 1)*((~a) + (~b)*acosh((~c)*(~x))), (~x)) : nothing) + +("7_2_4_10", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + igt((~p), 0) ? +dist((~a) + (~b)*acosh((~c)*(~x)), ∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~p), (~x)), (~x)) - (~b)*(~c)*∫(ext_simplify(∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~p), (~x))⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))), (~x)), (~x)) : nothing) + +("7_2_4_11", +@rule ∫((~x)^(~m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*acosh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + ext_isinteger((~p) - 1/2) && + !eq((~p), -1/2) && + ( + igt(((~m) + 1)/2, 0) || + ilt(((~m) + 2*(~p) + 3)/2, 0) + ) ? +dist((~a) + (~b)*acosh((~c)*(~x)), ∫((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~p), (~x))) - (~b)*(~c)*simp(sqrt((~d) + (~e)*(~x)^2)⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))))* ∫(ext_simplify(∫((~x)^(~m)*((~d) + (~e)*(~x)^2)^(~p), (~x))⨸sqrt((~d) + (~e)*(~x)^2), (~x)), (~x)) : nothing) + +("7_2_4_12", +@rule ∫((~x)^(~m)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + ext_isinteger((~p) - 1/2) && + !eq((~p), -1/2) && + ( + igt(((~m) + 1)/2, 0) || + ilt(((~m) + 2*(~p) + 3)/2, 0) + ) ? +dist((~a) + (~b)*acosh((~c)*(~x)), ∫((~x)^(~m)*((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^(~p), (~x))) - (~b)*(~c)* simp(sqrt((~d1) + (~e1)*(~x))* sqrt((~d2) + (~e2)*(~x))⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))))* ∫(ext_simplify(∫((~x)^(~m)*((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^(~p), (~x))⨸(sqrt((~d1) + (~e1)*(~x))*sqrt((~d2) + (~e2)*(~x))), (~x)), (~x)) : nothing) + +("7_2_4_13", +@rule ∫(((~!f)*(~x))^(~m)*sqrt((~d) + (~!e)*(~x)^2)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + gt((~n), 0) && + lt((~m), -1) ? +((~f)*(~x))^((~m) + 1)* sqrt((~d) + (~e)*(~x)^2)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸((~f)*((~m) + 1)) - (~b)*(~c)*(~n)⨸((~f)*((~m) + 1))* simp(sqrt((~d) + (~e)*(~x)^2)⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))))* ∫(((~f)*(~x))^((~m) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) - (~c)^2⨸((~f)^2*((~m) + 1))* simp(sqrt((~d) + (~e)*(~x)^2)⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))))* ∫(((~f)*(~x))^((~m) + 2)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n)⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))), (~x)) : nothing) + +("7_2_4_14", +@rule ∫(((~!f)*(~x))^(~m)*sqrt((~d1) + (~!e1)*(~x))* sqrt((~d2) + (~!e2)*(~x))*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + gt((~n), 0) && + lt((~m), -1) ? +((~f)*(~x))^((~m) + 1)*sqrt((~d1) + (~e1)*(~x))* sqrt((~d2) + (~e2)*(~x))*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸((~f)*((~m) + 1)) - (~b)*(~c)*(~n)⨸((~f)*((~m) + 1))*simp(sqrt((~d1) + (~e1)*(~x))⨸sqrt(1 + (~c)*(~x)))* simp(sqrt((~d2) + (~e2)*(~x))⨸sqrt(-1 + (~c)*(~x)))* ∫(((~f)*(~x))^((~m) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) - (~c)^2⨸((~f)^2*((~m) + 1))*simp(sqrt((~d1) + (~e1)*(~x))⨸sqrt(1 + (~c)*(~x)))* simp(sqrt((~d2) + (~e2)*(~x))⨸sqrt(-1 + (~c)*(~x)))* ∫((((~f)*(~x))^((~m) + 2)*((~a) + (~b)*acosh((~c)*(~x)))^(~n))⨸(sqrt(1 + (~c)*(~x))* sqrt(-1 + (~c)*(~x))), (~x)) : nothing) + +("7_2_4_15", +@rule ∫(((~!f)*(~x))^(~m)*sqrt((~d) + (~!e)*(~x)^2)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + igt((~n), 0) && + ( + igt((~m), -2) || + eq((~n), 1) + ) ? +((~f)*(~x))^((~m) + 1)* sqrt((~d) + (~e)*(~x)^2)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸((~f)*((~m) + 2)) - (~b)*(~c)*(~n)⨸((~f)*((~m) + 2))* simp(sqrt((~d) + (~e)*(~x)^2)⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))))* ∫(((~f)*(~x))^((~m) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) - 1⨸((~m) + 2)*simp(sqrt((~d) + (~e)*(~x)^2)⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))))* ∫(((~f)*(~x))^ (~m)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))), (~x)) : nothing) + +("7_2_4_16", +@rule ∫(((~!f)*(~x))^(~m)*sqrt((~d1) + (~!e1)*(~x))* sqrt((~d2) + (~!e2)*(~x))*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~m), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + igt((~n), 0) && + ( + igt((~m), -2) || + eq((~n), 1) + ) ? +((~f)*(~x))^((~m) + 1)*sqrt((~d1) + (~e1)*(~x))* sqrt((~d2) + (~e2)*(~x))*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸((~f)*((~m) + 2)) - (~b)*(~c)*(~n)⨸((~f)*((~m) + 2))*simp(sqrt((~d1) + (~e1)*(~x))⨸sqrt(1 + (~c)*(~x)))* simp(sqrt((~d2) + (~e2)*(~x))⨸sqrt(-1 + (~c)*(~x)))* ∫(((~f)*(~x))^((~m) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) - 1⨸((~m) + 2)*simp(sqrt((~d1) + (~e1)*(~x))⨸sqrt(1 + (~c)*(~x)))* simp(sqrt((~d2) + (~e2)*(~x))⨸sqrt(-1 + (~c)*(~x)))* ∫(((~f)*(~x))^ (~m)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))), (~x)) : nothing) + +("7_2_4_17", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + gt((~n), 0) && + gt((~p), 0) && + lt((~m), -1) ? +((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸((~f)*((~m) + 1)) - 2*(~e)*(~p)⨸((~f)^2*((~m) + 1))* ∫(((~f)*(~x))^((~m) + 2)*((~d) + (~e)*(~x)^2)^((~p) - 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)) - (~b)*(~c)*(~n)⨸((~f)*((~m) + 1))* simp(((~d) + (~e)*(~x)^2)^(~p)⨸((1 + (~c)*(~x))^(~p)*(-1 + (~c)*(~x))^(~p)))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)*(~x))^((~p) - 1⨸2)*(-1 + (~c)*(~x))^((~p) - 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_4_18", +@rule ∫(((~!f)*(~x))^(~m)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + gt((~n), 0) && + gt((~p), 0) && + lt((~m), -1) ? +((~f)*(~x))^((~m) + 1)*((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^ (~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸((~f)*((~m) + 1)) - 2*(~e1)*(~e2)*(~p)⨸((~f)^2*((~m) + 1))* ∫(((~f)*(~x))^((~m) + 2)*((~d1) + (~e1)*(~x))^((~p) - 1)*((~d2) + (~e2)*(~x))^((~p) - 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)) - (~b)*(~c)*(~n)⨸((~f)*((~m) + 1))*simp(((~d1) + (~e1)*(~x))^(~p)⨸(1 + (~c)*(~x))^(~p))* simp(((~d2) + (~e2)*(~x))^(~p)⨸(-1 + (~c)*(~x))^(~p))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)*(~x))^((~p) - 1⨸2)*(-1 + (~c)*(~x))^((~p) - 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +#(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_ Symbol] := f*(f*x)^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcCosh[c*x])^n/(e*(m+2*p+1)) + f^2*(m-1)/(c^2*(m+2*p+1))*Int[(f*x)^(m-2)*(d+e*x^2)^p*(a+b*ArcCosh[ c*x])^n,x] - b*f*n/(c*(m+2*p+1))*Simp[(d+e*x^2)^p/((1+c*x)^p*(-1+c*x)^p)]* Int[(f*x)^(m-1)*(-1+c^2*x^2)^(p+1/2)*(a+b*ArcCosh[c*x])^(n-1),x] /; FreeQ[{a,b,c,d,e,f,p},x] && EqQ[c^2*d+e,0] && GtQ[n,0] && EqQ[n,1] && IGtQ[p+1/2,0] && IGtQ[(m-1)/2,0] *) +#(* Int[(f_.*x_)^m_*(d_+e_.*x_^2)^p_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_ Symbol] := f*(f*x)^(m-1)*(d+e*x^2)^(p+1)*(a+b*ArcCosh[c*x])^n/(2*e*(p+1)) - f^2*(m-1)/(2*e*(p+1))*Int[(f*x)^(m-2)*(d+e*x^2)^(p+1)*(a+b*ArcCosh[ c*x])^n,x] - b*f*n/(2*c*(p+1))*Simp[(d+e*x^2)^p/((1+c*x)^p*(-1+c*x)^p)]* Int[(f*x)^(m-1)*(1+c*x)^(p+1/2)*(-1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x] )^(n-1),x] /; FreeQ[{a,b,c,d,e,f},x] && EqQ[c^2*d+e,0] && GtQ[n,0] && EqQ[n,1] && ILtQ[p-1/2,0] && IGtQ[(m-1)/2,0] *) +("7_2_4_19", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + gt((~n), 0) && + gt((~p), 0) && + !(lt((~m), -1)) ? +((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^ (~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸((~f)*((~m) + 2*(~p) + 1)) + 2*(~d)*(~p)⨸((~m) + 2*(~p) + 1)* ∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^((~p) - 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)) - (~b)*(~c)*(~n)⨸((~f)*((~m) + 2*(~p) + 1))* simp(((~d) + (~e)*(~x)^2)^(~p)⨸((1 + (~c)*(~x))^(~p)*(-1 + (~c)*(~x))^(~p)))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)*(~x))^((~p) - 1⨸2)*(-1 + (~c)*(~x))^((~p) - 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_4_20", +@rule ∫(((~!f)*(~x))^(~m)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~m), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + gt((~n), 0) && + gt((~p), 0) && + !(lt((~m), -1)) ? +((~f)*(~x))^((~m) + 1)*((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^ (~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸((~f)*((~m) + 2*(~p) + 1)) + 2*(~d1)*(~d2)*(~p)⨸((~m) + 2*(~p) + 1)* ∫(((~f)*(~x))^ (~m)*((~d1) + (~e1)*(~x))^((~p) - 1)*((~d2) + (~e2)*(~x))^((~p) - 1)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n), (~x)) - (~b)*(~c)*(~n)⨸((~f)*((~m) + 2*(~p) + 1))*simp(((~d1) + (~e1)*(~x))^(~p)⨸(1 + (~c)*(~x))^(~p))* simp(((~d2) + (~e2)*(~x))^(~p)⨸(-1 + (~c)*(~x))^(~p))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)*(~x))^((~p) - 1⨸2)*(-1 + (~c)*(~x))^((~p) - 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_4_21", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + gt((~n), 0) && + ilt((~m), -1) ? +((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n)⨸((~d)*(~f)*((~m) + 1)) + (~c)^2*((~m) + 2*(~p) + 3)⨸((~f)^2*((~m) + 1))* ∫(((~f)*(~x))^((~m) + 2)*((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)) + (~b)*(~c)*(~n)⨸((~f)*((~m) + 1))* simp(((~d) + (~e)*(~x)^2)^(~p)⨸((1 + (~c)*(~x))^(~p)*(-1 + (~c)*(~x))^(~p)))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)*(~x))^((~p) + 1⨸2)*(-1 + (~c)*(~x))^((~p) + 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_4_22", +@rule ∫(((~!f)*(~x))^(~m)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~p), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + gt((~n), 0) && + ilt((~m), -1) ? +((~f)*(~x))^((~m) + 1)*((~d1) + (~e1)*(~x))^((~p) + 1)*((~d2) + (~e2)*(~x))^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸((~d1)*(~d2)*(~f)*((~m) + 1)) + (~c)^2*((~m) + 2*(~p) + 3)⨸((~f)^2*((~m) + 1))* ∫(((~f)*(~x))^((~m) + 2)*((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^ (~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)) + (~b)*(~c)*(~n)⨸((~f)*((~m) + 1))*simp(((~d1) + (~e1)*(~x))^(~p)⨸(1 + (~c)*(~x))^(~p))* simp(((~d2) + (~e2)*(~x))^(~p)⨸(-1 + (~c)*(~x))^(~p))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)*(~x))^((~p) + 1⨸2)*(-1 + (~c)*(~x))^((~p) + 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_4_23", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + gt((~n), 0) && + lt((~p), -1) && + igt((~m), 1) ? +(~f)*((~f)*(~x))^((~m) - 1)*((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n)⨸(2*(~e)*((~p) + 1)) - (~f)^2*((~m) - 1)⨸(2*(~e)*((~p) + 1))* ∫(((~f)*(~x))^((~m) - 2)*((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)) - (~b)*(~f)*(~n)⨸(2*(~c)*((~p) + 1))* simp(((~d) + (~e)*(~x)^2)^(~p)⨸((1 + (~c)*(~x))^(~p)*(-1 + (~c)*(~x))^(~p)))* ∫(((~f)*(~x))^((~m) - 1)*(1 + (~c)*(~x))^((~p) + 1⨸2)*(-1 + (~c)*(~x))^((~p) + 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_4_24", +@rule ∫(((~!f)*(~x))^(~m)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + gt((~n), 0) && + lt((~p), -1) && + igt((~m), 1) ? +(~f)*((~f)*(~x))^((~m) - 1)*((~d1) + (~e1)*(~x))^((~p) + 1)*((~d2) + (~e2)*(~x))^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸(2*(~e1)*(~e2)*((~p) + 1)) - (~f)^2*((~m) - 1)⨸(2*(~e1)*(~e2)*((~p) + 1))* ∫(((~f)*(~x))^((~m) - 2)*((~d1) + (~e1)*(~x))^((~p) + 1)*((~d2) + (~e2)*(~x))^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)) - (~b)*(~f)*(~n)⨸(2*(~c)*((~p) + 1))*simp(((~d1) + (~e1)*(~x))^(~p)⨸(1 + (~c)*(~x))^(~p))* simp(((~d2) + (~e2)*(~x))^(~p)⨸(-1 + (~c)*(~x))^(~p))* ∫(((~f)*(~x))^((~m) - 1)*(1 + (~c)*(~x))^((~p) + 1⨸2)*(-1 + (~c)*(~x))^((~p) + 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_4_25", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + gt((~n), 0) && + lt((~p), -1) && + !(gt((~m), 1)) && + ( + ext_isinteger((~m)) || + ext_isinteger((~p)) || + eq((~n), 1) + ) ? +-((~f)*(~x))^((~m) + 1)*((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n)⨸(2*(~d)*(~f)*((~p) + 1)) + ((~m) + 2*(~p) + 3)⨸(2*(~d)*((~p) + 1))* ∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)) - (~b)*(~c)*(~n)⨸(2*(~f)*((~p) + 1))* simp(((~d) + (~e)*(~x)^2)^(~p)⨸((1 + (~c)*(~x))^(~p)*(-1 + (~c)*(~x))^(~p)))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)*(~x))^((~p) + 1⨸2)*(-1 + (~c)*(~x))^((~p) + 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_4_26", +@rule ∫(((~!f)*(~x))^(~m)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~m), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + gt((~n), 0) && + lt((~p), -1) && + !(gt((~m), 1)) && + ( + ext_isinteger((~m)) || + eq((~n), 1) + ) ? +-((~f)*(~x))^((~m) + 1)*((~d1) + (~e1)*(~x))^((~p) + 1)*((~d2) + (~e2)*(~x))^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸(2*(~d1)*(~d2)*(~f)*((~p) + 1)) + ((~m) + 2*(~p) + 3)⨸(2*(~d1)*(~d2)*((~p) + 1))* ∫(((~f)*(~x))^ (~m)*((~d1) + (~e1)*(~x))^((~p) + 1)*((~d2) + (~e2)*(~x))^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n), (~x)) - (~b)*(~c)*(~n)⨸(2*(~f)*((~p) + 1))*simp(((~d1) + (~e1)*(~x))^(~p)⨸(1 + (~c)*(~x))^(~p))* simp(((~d2) + (~e2)*(~x))^(~p)⨸(-1 + (~c)*(~x))^(~p))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)*(~x))^((~p) + 1⨸2)*(-1 + (~c)*(~x))^((~p) + 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_4_27", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~p), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + gt((~n), 0) && + igt((~m), 1) && + !eq((~m) + 2*(~p) + 1, 0) ? +(~f)*((~f)*(~x))^((~m) - 1)*((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n)⨸((~e)*((~m) + 2*(~p) + 1)) + (~f)^2*((~m) - 1)⨸((~c)^2*((~m) + 2*(~p) + 1))* ∫(((~f)*(~x))^((~m) - 2)*((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)) - (~b)*(~f)*(~n)⨸((~c)*((~m) + 2*(~p) + 1))* simp(((~d) + (~e)*(~x)^2)^(~p)⨸((1 + (~c)*(~x))^(~p)*(-1 + (~c)*(~x))^(~p)))* ∫(((~f)*(~x))^((~m) - 1)*(1 + (~c)*(~x))^((~p) + 1⨸2)*(-1 + (~c)*(~x))^((~p) + 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_4_28", +@rule ∫(((~!f)*(~x))^(~m)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~p), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + gt((~n), 0) && + igt((~m), 1) && + !eq((~m) + 2*(~p) + 1, 0) ? +(~f)*((~f)*(~x))^((~m) - 1)*((~d1) + (~e1)*(~x))^((~p) + 1)*((~d2) + (~e2)*(~x))^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸((~e1)*(~e2)*((~m) + 2*(~p) + 1)) + (~f)^2*((~m) - 1)⨸((~c)^2*((~m) + 2*(~p) + 1))* ∫(((~f)*(~x))^((~m) - 2)*((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^ (~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)) - (~b)*(~f)*(~n)⨸((~c)*((~m) + 2*(~p) + 1))*simp(((~d1) + (~e1)*(~x))^(~p)⨸(1 + (~c)*(~x))^(~p))* simp(((~d2) + (~e2)*(~x))^(~p)⨸(-1 + (~c)*(~x))^(~p))* ∫(((~f)*(~x))^((~m) - 1)*(1 + (~c)*(~x))^((~p) + 1⨸2)*(-1 + (~c)*(~x))^((~p) + 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) : nothing) + +("7_2_4_29", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~p), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + lt((~n), -1) && + eq((~m) + 2*(~p) + 1, 0) ? +((~f)*(~x))^(~m)* simp(sqrt(1 + (~c)*(~x))* sqrt(-1 + (~c)*(~x))*((~d) + (~e)*(~x)^2)^(~p))*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸((~b)* (~c)*((~n) + 1)) + (~f)*(~m)⨸((~b)*(~c)*((~n) + 1))* simp(((~d) + (~e)*(~x)^2)^(~p)⨸((1 + (~c)*(~x))^(~p)*(-1 + (~c)*(~x))^(~p)))* ∫(((~f)*(~x))^((~m) - 1)*(1 + (~c)*(~x))^((~p) - 1⨸2)*(-1 + (~c)*(~x))^((~p) - 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1), (~x)) : nothing) + +("7_2_4_30", +@rule ∫(((~!f)*(~x))^(~!m)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~m), (~p), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + lt((~n), -1) && + eq((~m) + 2*(~p) + 1, 0) ? +((~f)*(~x))^(~m)* simp(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))*((~d1) + (~e1)*(~x))^(~p))*((~d2) + (~e2)*(~x))^ (~p)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) + (~f)*(~m)⨸((~b)*(~c)*((~n) + 1))*simp(((~d1) + (~e1)*(~x))^(~p)⨸(1 + (~c)*(~x))^(~p))* simp(((~d2) + (~e2)*(~x))^(~p)⨸(-1 + (~c)*(~x))^(~p))* ∫(((~f)*(~x))^((~m) - 1)*(1 + (~c)*(~x))^((~p) - 1⨸2)*(-1 + (~c)*(~x))^((~p) - 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1), (~x)) : nothing) + +("7_2_4_31", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~p), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + lt((~n), -1) && + igt(2*(~p), 0) && + !eq((~m) + 2*(~p) + 1, 0) && + igt((~m), -3) ? +((~f)*(~x))^(~m)* simp(sqrt(1 + (~c)*(~x))* sqrt(-1 + (~c)*(~x))*((~d) + (~e)*(~x)^2)^(~p))*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸((~b)* (~c)*((~n) + 1)) + (~f)*(~m)⨸((~b)*(~c)*((~n) + 1))* simp(((~d) + (~e)*(~x)^2)^(~p)⨸((1 + (~c)*(~x))^(~p)*(-1 + (~c)*(~x))^(~p)))* ∫(((~f)*(~x))^((~m) - 1)*(1 + (~c)*(~x))^((~p) - 1⨸2)*(-1 + (~c)*(~x))^((~p) - 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1), (~x)) - (~c)*((~m) + 2*(~p) + 1)⨸((~b)*(~f)*((~n) + 1))* simp(((~d) + (~e)*(~x)^2)^(~p)⨸((1 + (~c)*(~x))^(~p)*(-1 + (~c)*(~x))^(~p)))* ∫(((~f)*(~x))^((~m) + 1)*(1 + (~c)*(~x))^((~p) - 1⨸2)*(-1 + (~c)*(~x))^((~p) - 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1), (~x)) : nothing) + +("7_2_4_32", +@rule ∫(((~!f)*(~x))^(~!m)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~m), (~p), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + lt((~n), -1) && + igt((~p) + 1/2, 0) && + !eq((~m) + 2*(~p) + 1, 0) && + igt((~m), -3) ? +((~f)*(~x))^(~m)*sqrt(1 + (~c)*(~x))* sqrt(-1 + (~c)*(~x))*((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^ (~p)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1)) + (~f)*(~m)⨸((~b)*(~c)*((~n) + 1))*simp(((~d1) + (~e1)*(~x))^(~p)⨸(1 + (~c)*(~x))^(~p))* simp(((~d2) + (~e2)*(~x))^(~p)⨸(-1 + (~c)*(~x))^(~p))* ∫(((~f)*(~x))^((~m) - 1)*(-1 + (~c)^2*(~x)^2)^((~p) - 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1), (~x)) - (~c)*((~m) + 2*(~p) + 1)⨸((~b)*(~f)*((~n) + 1))*simp(((~d1) + (~e1)*(~x))^(~p)⨸(1 + (~c)*(~x))^(~p))* simp(((~d2) + (~e2)*(~x))^(~p)⨸(-1 + (~c)*(~x))^(~p))* ∫(((~f)*(~x))^((~m) + 1)*(-1 + (~c)^2*(~x)^2)^((~p) - 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1), (~x)) : nothing) + +#(* Int[(f_.*x_)^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_ Symbol] := (f*x)^m*Simp[Sqrt[1+c*x]*Sqrt[-1+c*x]*(d+e*x^2)^p]*(a+b*ArcCosh[c*x] )^(n+1)/(b*c*(n+1)) - f*m/(b*c*(n+1))*Simp[(d+e*x^2)^p/((1+c*x)^p*(-1+c*x)^p)]* Int[(f*x)^(m-1)*(1+c*x)^(p+1/2)*(-1+c*x)^(p+1/2)*(a+b*ArcCosh[c*x] )^(n+1),x] - c*(2*p+1)/(b*f*(n+1))*Simp[(d+e*x^2)^p/((1+c*x)^p*(-1+c*x)^p)]* Int[(f*x)^(m+1)*(1+c*x)^(p-1/2)*(-1+c*x)^(p-1/2)*(a+b*ArcCosh[c*x] )^(n+1),x] /; FreeQ[{a,b,c,d,e,f,m,p},x] && EqQ[c^2*d+e,0] && LtQ[n,-1] && NeQ[p,-1/2] && IntegerQ[2*p] && IGtQ[m,-3] *) +#(* Int[(f_.*x_)^m_.*(d1_+e1_.*x_)^p_*(d2_+e2_.*x_)^p_*(a_.+b_.* ArcCosh[c_.*x_])^n_,x_Symbol] := (f*x)^m*Sqrt[1+c*x]*Sqrt[-1+c*x]*(d1+e1*x)^p*(d2+e2*x)^p*(a+b* ArcCosh[c*x])^(n+1)/(b*c*(n+1)) - f*m/(b*c*(n+1))*Simp[(d1+e1*x)^p/(1+c*x)^p]*Simp[(d2+e2*x)^p/(-1+c* x)^p]* Int[(f*x)^(m-1)*(-1+c^2*x^2)^(p+1/2)*(a+b*ArcCosh[c*x])^(n+1),x] - c*(2*p+1)/(b*f*(n+1))*Simp[(d1+e1*x)^p/(1+c*x)^p]*Simp[(d2+e2*x)^p/( -1+c*x)^p]* Int[(f*x)^(m+1)*(-1+c^2*x^2)^(p-1/2)*(a+b*ArcCosh[c*x])^(n+1),x] /; FreeQ[{a,b,c,d1,e1,d2,e2,f,m,p},x] && EqQ[e1,c*d1] && EqQ[e2,-c*d2] && LtQ[n,-1] && ILtQ[p+1/2,0] && IGtQ[m,-3] *) +("7_2_4_33", +@rule ∫(((~!f)*(~x))^(~m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n)/sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + gt((~n), 0) && + igt((~m), 1) ? +(~f)*((~f)*(~x))^((~m) - 1)*sqrt((~d) + (~e)*(~x)^2)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸((~e)*(~m)) - (~b)*(~f)*(~n)⨸((~c)*(~m))*simp(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))⨸sqrt((~d) + (~e)*(~x)^2))* ∫(((~f)*(~x))^((~m) - 1)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) + (~f)^2*((~m) - 1)⨸((~c)^2*(~m))* ∫(((~f)*(~x))^((~m) - 2)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸sqrt((~d) + (~e)*(~x)^2), (~x)) : nothing) + +("7_2_4_34", +@rule ∫(((~!f)*(~x))^ (~m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^ (~!n)/(sqrt((~d1) + (~!e1)*(~x))*sqrt((~d2) + (~!e2)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + gt((~n), 0) && + igt((~m), 1) ? +(~f)*((~f)*(~x))^((~m) - 1)*sqrt((~d1) + (~e1)*(~x))* sqrt((~d2) + (~e2)*(~x))*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸((~e1)*(~e2)*(~m)) - (~b)*(~f)*(~n)⨸((~c)*(~m))*simp(sqrt(1 + (~c)*(~x))⨸sqrt((~d1) + (~e1)*(~x)))* simp(sqrt(-1 + (~c)*(~x))⨸sqrt((~d2) + (~e2)*(~x)))* ∫(((~f)*(~x))^((~m) - 1)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1), (~x)) + (~f)^2*((~m) - 1)⨸((~c)^2*(~m))* ∫(((~f)*(~x))^((~m) - 2)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n)⨸(sqrt((~d1) + (~e1)*(~x))*sqrt((~d2) + (~e2)*(~x))), (~x)) : nothing) + +("7_2_4_35", +@rule ∫((~x)^(~m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n)/sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + igt((~n), 0) && + ext_isinteger((~m)) ? +1⨸(~c)^((~m) + 1)*simp(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))⨸sqrt((~d) + (~e)*(~x)^2))* int_and_subst(((~a) + (~b)*(~x))^(~n)*cosh((~x))^(~m), (~x), (~x), acosh((~c)*(~x)), "7_2_4_35") : nothing) + +("7_2_4_36", +@rule ∫((~x)^(~m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^ (~!n)/(sqrt((~d1) + (~!e1)*(~x))*sqrt((~d2) + (~!e2)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + igt((~n), 0) && + ext_isinteger((~m)) ? +1⨸(~c)^((~m) + 1)*simp(sqrt(1 + (~c)*(~x))⨸sqrt((~d1) + (~e1)*(~x)))* simp(sqrt(-1 + (~c)*(~x))⨸sqrt((~d2) + (~e2)*(~x)))* int_and_subst(((~a) + (~b)*(~x))^(~n)*cosh((~x))^(~m), (~x), (~x), acosh((~c)*(~x)), "7_2_4_36") : nothing) + +("7_2_4_37", +@rule ∫(((~!f)*(~x))^(~m)*((~!a) + (~!b)*acosh((~!c)*(~x)))/sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + !(ext_isinteger((~m))) ? +((~f)*(~x))^((~m) + 1)⨸((~f)*((~m) + 1))*simp(sqrt(1 - (~c)^2*(~x)^2)⨸sqrt((~d) + (~e)*(~x)^2))* ((~a) + (~b)*acosh((~c)*(~x)))* hypergeometric2f1(1⨸2, (1 + (~m))⨸2, (3 + (~m))⨸2, (~c)^2*(~x)^2) + (~b)*(~c)*((~f)*(~x))^((~m) + 2)⨸((~f)^2*((~m) + 1)*((~m) + 2))* simp(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))⨸sqrt((~d) + (~e)*(~x)^2))* hypergeometricpFq([1, 1 + (~m)⨸2, 1 + (~m)⨸2], [3⨸2 + (~m)⨸2, 2 + (~m)⨸2], (~c)^2*(~x)^2) : nothing) + +("7_2_4_38", +@rule ∫(((~!f)*(~x))^ (~m)*((~!a) + (~!b)*acosh((~!c)*(~x)))/(sqrt((~d1) + (~!e1)*(~x))* sqrt((~d2) + (~!e2)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~m), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + !(ext_isinteger((~m))) ? +((~f)*(~x))^((~m) + 1)⨸((~f)*((~m) + 1))* simp(sqrt(1 - (~c)^2*(~x)^2)⨸(sqrt((~d1) + (~e1)*(~x))*sqrt((~d2) + (~e2)*(~x))))* ((~a) + (~b)*acosh((~c)*(~x)))* hypergeometric2f1(1⨸2, (1 + (~m))⨸2, (3 + (~m))⨸2, (~c)^2*(~x)^2) + (~b)*(~c)*((~f)*(~x))^((~m) + 2)⨸((~f)^2*((~m) + 1)*((~m) + 2))* simp(sqrt(1 + (~c)*(~x))⨸sqrt((~d1) + (~e1)*(~x)))* simp(sqrt(-1 + (~c)*(~x))⨸sqrt((~d2) + (~e2)*(~x)))* hypergeometricpFq([1, 1 + (~m)⨸2, 1 + (~m)⨸2], [3⨸2 + (~m)⨸2, 2 + (~m)⨸2], (~c)^2*(~x)^2) : nothing) + +("7_2_4_39", +@rule ∫(((~!f)*(~x))^(~!m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~n)/sqrt((~d) + (~!e)*(~x)^2),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + lt((~n), -1) ? +((~f)*(~x))^(~m)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1))* simp(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))⨸sqrt((~d) + (~e)*(~x)^2)) - (~f)*(~m)⨸((~b)*(~c)*((~n) + 1))* simp(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))⨸sqrt((~d) + (~e)*(~x)^2))* ∫(((~f)*(~x))^((~m) - 1)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1), (~x)) : nothing) + +("7_2_4_40", +@rule ∫(((~!f)*(~x))^ (~!m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^ (~n)/(sqrt((~d1) + (~!e1)*(~x))*sqrt((~d2) + (~!e2)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~m), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + lt((~n), -1) ? +((~f)*(~x))^(~m)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*((~n) + 1))* simp(sqrt(1 + (~c)*(~x))⨸sqrt((~d1) + (~e1)*(~x)))* simp(sqrt(-1 + (~c)*(~x))⨸sqrt((~d2) + (~e2)*(~x))) - (~f)*(~m)⨸((~b)*(~c)*((~n) + 1))*simp(sqrt(1 + (~c)*(~x))⨸sqrt((~d1) + (~e1)*(~x)))* simp(sqrt(-1 + (~c)*(~x))⨸sqrt((~d2) + (~e2)*(~x)))* ∫(((~f)*(~x))^((~m) - 1)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1), (~x)) : nothing) + +("7_2_4_41", +@rule ∫((~x)^(~!m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + igt(2*(~p) + 2, 0) && + igt((~m), 0) ? +1⨸((~b)*(~c)^((~m) + 1))*simp(((~d) + (~e)*(~x)^2)^(~p)⨸((1 + (~c)*(~x))^(~p)*(-1 + (~c)*(~x))^(~p)))* int_and_subst((~x)^(~n)*cosh(-(~a)⨸(~b) + (~x)⨸(~b))^(~m)*sinh(-(~a)⨸(~b) + (~x)⨸(~b))^(2*(~p) + 1), (~x), (~x), (~a) + (~b)*acosh((~c)*(~x)), "7_2_4_41") : nothing) + +("7_2_4_42", +@rule ∫((~x)^(~!m)*((~d1) + (~!e1)*(~x))^(~!p)*((~d2) + (~!e2)*(~x))^ (~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~n), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + igt((~p) + 3/2, 0) && + igt((~m), 0) ? +1⨸((~b)*(~c)^((~m) + 1))*simp(((~d1) + (~e1)*(~x))^(~p)⨸(1 + (~c)*(~x))^(~p))* simp(((~d2) + (~e2)*(~x))^(~p)⨸(-1 + (~c)*(~x))^(~p))* int_and_subst((~x)^(~n)*cosh(-(~a)⨸(~b) + (~x)⨸(~b))^(~m)*sinh(-(~a)⨸(~b) + (~x)⨸(~b))^(2*(~p) + 1), (~x), (~x), (~a) + (~b)*acosh((~c)*(~x)), "7_2_4_42") : nothing) + +("7_2_4_43", +@rule ∫(((~!f)*(~x))^(~m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + igt((~p) + 1/2, 0) && + !(igt(((~m) + 1)/2, 0)) && + ( + eq((~m), -1) || + eq((~m), -2) + ) ? +∫(ext_expand(((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸ sqrt((~d) + (~e)*(~x)^2), ((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^((~p) + 1⨸2), (~x)), (~x)) : nothing) + +("7_2_4_44", +@rule ∫(((~!f)*(~x))^(~m)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~m), (~n), (~x)) && + eq((~e1), (~c)*(~d1)) && + eq((~e2), -(~c)*(~d2)) && + gt((~d1), 0) && + lt((~d2), 0) && + igt((~p) + 1/2, 0) && + !(igt(((~m) + 1)/2, 0)) && + ( + eq((~m), -1) || + eq((~m), -2) + ) ? +∫(ext_expand(((~a) + (~b)*acosh((~c)*(~x)))^ (~n)⨸(sqrt((~d1) + (~e1)*(~x))*sqrt((~d2) + (~e2)*(~x))), ((~f)*(~x))^ (~m)*((~d1) + (~e1)*(~x))^((~p) + 1⨸2)*((~d2) + (~e2)*(~x))^((~p) + 1⨸2), (~x)), (~x)) : nothing) + +("7_2_4_45", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)*((~!a) + (~!b)*acosh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !eq((~c)^2*(~d) + (~e), 0) && + !eq((~m), -1) && + !eq((~m), -3) ? +(~d)*((~f)*(~x))^((~m) + 1)*((~a) + (~b)*acosh((~c)*(~x)))⨸((~f)*((~m) + 1)) + (~e)*((~f)*(~x))^((~m) + 3)*((~a) + (~b)*acosh((~c)*(~x)))⨸((~f)^3*((~m) + 3)) - (~b)*(~c)⨸((~f)*((~m) + 1)*((~m) + 3))* ∫(((~f)*(~x))^((~m) + 1)*((~d)*((~m) + 3) + (~e)*((~m) + 1)*(~x)^2)⨸(sqrt(1 + (~c)*(~x))* sqrt(-1 + (~c)*(~x))), (~x)) : nothing) + +("7_2_4_46", +@rule ∫((~x)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~p), (~x)) && + !eq((~c)^2*(~d) + (~e), 0) && + !eq((~p), -1) ? +((~d) + (~e)*(~x)^2)^((~p) + 1)*((~a) + (~b)*acosh((~c)*(~x)))⨸(2*(~e)*((~p) + 1)) - (~b)*(~c)⨸(2*(~e)*((~p) + 1))* ∫(((~d) + (~e)*(~x)^2)^((~p) + 1)⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))), (~x)) : nothing) + +("7_2_4_47", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~x)) && + !eq((~c)^2*(~d) + (~e), 0) && + ext_isinteger((~p)) && + ( + gt((~p), 0) || + igt(((~m) - 1)/2, 0) && + le((~m) + (~p), 0) + ) ? +dist((~a) + (~b)*acosh((~c)*(~x)), ∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~p), (~x)), (~x)) - (~b)*(~c)*∫(ext_simplify(∫(((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~p), (~x))⨸(sqrt(1 + (~c)*(~x))*sqrt(-1 + (~c)*(~x))), (~x)), (~x)) : nothing) + +#(* Int[x_^m_.*(d_+e_.*x_^2)^p_.*(a_.+b_.*ArcCosh[c_.*x_])^n_,x_Symbol] := 1/(b*c^(m+2*p+1))*Subst[Int[x^n*Cosh[-a/b+x/b]^m*(c^2*d+e*Cosh[-a/b+ x/b]^2)^p*Sinh[-a/b+x/b],x],x,a+b*ArcCosh[c*x]] /; FreeQ[{a,b,c,d,e,n},x] && IGtQ[m,0] && IGtQ[p,0] *) +("7_2_4_48", +@rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~x)) && + !eq((~c)^2*(~d) + (~e), 0) && + igt((~n), 0) && + ext_isinteger((~p)) && + ext_isinteger((~m)) ? +∫(ext_expand(((~a) + (~b)*acosh((~c)*(~x)))^(~n), ((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~p), (~x)), (~x)) : nothing) + +# ("7_2_4_49", +# @rule ∫(((~!f)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~f)*(~x))^(~m)*((~d) + (~e)*(~x)^2)^(~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)] : nothing) + +# ("7_2_4_50", +# @rule ∫(((~!f)*(~x))^(~!m)*((~d1) + (~!e1)*(~x))^(~!p)*((~d2) + (~!e2)*(~x))^ (~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~f)*(~x))^(~m)*((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^ (~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.5 u (a+b arccosh(c x))^n.jl b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.5 u (a+b arccosh(c x))^n.jl new file mode 100644 index 0000000..c4cc77a --- /dev/null +++ b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.5 u (a+b arccosh(c x))^n.jl @@ -0,0 +1,312 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 7.2.5 u (a+b arccosh(c x))^n *) +("7_2_5_1", +@rule ∫(((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n)/((~!d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + igt((~n), 0) ? +int_and_subst(((~a) + (~b)*(~x))^(~n)*sinh((~x))⨸((~c)*(~d) + (~e)*cosh((~x))), (~x), (~x), acosh((~c)*(~x)), "7_2_5_1") : nothing) + +("7_2_5_2", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + igt((~n), 0) && + !eq((~m), -1) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^(~n)⨸((~e)*((~m) + 1)) - (~b)*(~c)*(~n)⨸((~e)*((~m) + 1))* ∫(((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1)⨸(sqrt(-1 + (~c)*(~x))* sqrt(1 + (~c)*(~x))), (~x)) : nothing) + +("7_2_5_3", +@rule ∫(((~d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + igt((~m), 0) && + lt((~n), -1) ? +∫(ext_expand(((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("7_2_5_4", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + igt((~m), 0) ? +1⨸(~c)^((~m) + 1)* int_and_subst(((~a) + (~b)*(~x))^(~n)*sinh((~x))*((~c)*(~d) + (~e)*cosh((~x)))^(~m), (~x), (~x), acosh((~c)*(~x)), "7_2_5_4") : nothing) + +("7_2_5_5", +@rule ∫((~Px)*((~!a) + (~!b)*acosh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + poly((~Px), (~x)) ? +dist((~a) + (~b)*acosh((~c)*(~x)), ∫(ExpandExpression[(~Px), (~x)], (~x)), (~x)) - (~b)*(~c)*sqrt(1 - (~c)^2*(~x)^2)⨸(sqrt(-1 + (~c)*(~x))*sqrt(1 + (~c)*(~x)))* ∫(ext_simplify(∫(ExpandExpression[(~Px), (~x)], (~x))⨸sqrt(1 - (~c)^2*(~x)^2), (~x)), (~x)) : nothing) + +#(* Int[Px_*(a_.+b_.*ArcCosh[c_.*x_])^n_.,x_Symbol] := With[{u=IntHide[Px,x]}, Dist[(a+b*ArcCosh[c*x])^n,u,x] - b*c*n*Sqrt[1-c^2*x^2]/(Sqrt[-1+c*x]*Sqrt[1+c*x])*Int[ SimplifyIntegrand[u*(a+b*ArcCosh[c*x])^(n-1)/Sqrt[1-c^2*x^2],x],x]] /; FreeQ[{a,b,c},x] && PolyQ[Px,x] && IGtQ[n,0] *) +("7_2_5_6", +@rule ∫((~Px)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + poly((~Px), (~x)) ? +∫(ext_expand((~Px)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("7_2_5_7", +@rule ∫((~Px)*((~!d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*acosh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~x)) && + poly((~Px), (~x)) ? +dist((~a) + (~b)*acosh((~c)*(~x)), ∫((~Px)*((~d) + (~e)*(~x))^(~m), (~x)), (~x)) - (~b)*(~c)*sqrt(1 - (~c)^2*(~x)^2)⨸(sqrt(-1 + (~c)*(~x))*sqrt(1 + (~c)*(~x)))* ∫(ext_simplify(∫((~Px)*((~d) + (~e)*(~x))^(~m), (~x))⨸sqrt(1 - (~c)^2*(~x)^2), (~x)), (~x)) : nothing) + +("7_2_5_8", +@rule ∫(((~!f) + (~!g)*(~x))^(~!p)*((~d) + (~!e)*(~x))^(~m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^ (~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + igt((~n), 0) && + igt((~p), 0) && + ilt((~m), 0) && + lt((~m) + (~p) + 1, 0) ? +dist(((~a) + (~b)*acosh((~c)*(~x)))^(~n), ∫(((~f) + (~g)*(~x))^(~p)*((~d) + (~e)*(~x))^(~m), (~x)), (~x)) - (~b)*(~c)*(~n)* ∫(ext_simplify( ∫(((~f) + (~g)*(~x))^(~p)*((~d) + (~e)*(~x))^(~m), (~x))*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1)⨸(sqrt(-1 + (~c)*(~x))*sqrt(1 + (~c)*(~x))), (~x)), (~x)) : nothing) + +("7_2_5_9", +@rule ∫(((~!f) + (~!g)*(~x) + (~!h)*(~x)^2)^ (~!p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~n)/((~d) + (~!e)*(~x))^2,(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~x)) && + igt((~n), 0) && + igt((~p), 0) && + eq((~e)*(~g) - 2*(~d)*(~h), 0) ? +dist(((~a) + (~b)*acosh((~c)*(~x)))^(~n), ∫(((~f) + (~g)*(~x) + (~h)*(~x)^2)^(~p)⨸((~d) + (~e)*(~x))^2, (~x)), (~x)) - (~b)*(~c)*(~n)* ∫(ext_simplify( ∫(((~f) + (~g)*(~x) + (~h)*(~x)^2)^(~p)⨸((~d) + (~e)*(~x))^2, (~x))*((~a) + (~b)*acosh((~c)*(~x)))^((~n) - 1)⨸(sqrt(-1 + (~c)*(~x))*sqrt(1 + (~c)*(~x))), (~x)), (~x)) : nothing) + +("7_2_5_10", +@rule ∫((~Px)*((~d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + poly((~Px), (~x)) && + igt((~n), 0) && + ext_isinteger((~m)) ? +∫(ext_expand((~Px)*((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("7_2_5_11", +@rule ∫(((~f) + (~!g)*(~x))^(~!m)*((~d) + (~!e)*(~x)^2)^(~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^ (~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + ext_isinteger((~p) - 1/2) && + ext_isinteger((~m)) ? +(-(~d))^intpart((~p))*((~d) + (~e)*(~x)^2)^ fracpart((~p))⨸((-1 + (~c)*(~x))^fracpart((~p))*(1 + (~c)*(~x))^fracpart((~p)))* ∫(((~f) + (~g)*(~x))^(~m)*(-1 + (~c)*(~x))^(~p)*(1 + (~c)*(~x))^(~p)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n), (~x)) : nothing) + +("7_2_5_12", +@rule ∫(log((~!h)*((~!f) + (~!g)*(~x))^(~!m))*((~d) + (~!e)*(~x)^2)^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~h), (~m), (~n), (~x)) && + eq((~c)^2*(~d) + (~e), 0) && + ext_isinteger((~p) - 1/2) ? +(-(~d))^intpart((~p))*((~d) + (~e)*(~x)^2)^ fracpart((~p))⨸((-1 + (~c)*(~x))^fracpart((~p))*(1 + (~c)*(~x))^fracpart((~p)))* ∫( log((~h)*((~f) + (~g)*(~x))^(~m))*(-1 + (~c)*(~x))^(~p)*(1 + (~c)*(~x))^(~p)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n), (~x)) : nothing) + +("7_2_5_13", +@rule ∫(((~f) + (~!g)*(~x))^(~!m)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~g), (~x)) && + eq((~e1) - (~c)*(~d1), 0) && + eq((~e2) + (~c)*(~d2), 0) && + igt((~m), 0) && + ilt((~p) + 1/2, 0) && + gt((~d1), 0) && + lt((~d2), 0) && + ( + gt((~m), 3) || + lt((~m), -2*(~p) - 1) + ) ? +dist((~a) + (~b)*acosh((~c)*(~x)), ∫(((~f) + (~g)*(~x))^(~m)*((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^(~p), (~x)), (~x)) - (~b)*(~c)*∫(dist(1⨸(sqrt(-1 + (~c)*(~x))*sqrt(1 + (~c)*(~x))), ∫(((~f) + (~g)*(~x))^(~m)*((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^(~p), (~x)), (~x)), (~x)) : nothing) + +("7_2_5_14", +@rule ∫(((~f) + (~!g)*(~x))^(~!m)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~g), (~x)) && + eq((~e1) - (~c)*(~d1), 0) && + eq((~e2) + (~c)*(~d2), 0) && + igt((~m), 0) && + ext_isinteger((~p) + 1/2) && + gt((~d1), 0) && + lt((~d2), 0) && + igt((~n), 0) && + ( + eq((~n), 1) && + gt((~p), -1) || + gt((~p), 0) || + eq((~m), 1) || + eq((~m), 2) && + lt((~p), -2) + ) ? +∫(ext_expand(((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^ (~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), ((~f) + (~g)*(~x))^(~m), (~x)), (~x)) : nothing) + +("7_2_5_15", +@rule ∫(((~f) + (~!g)*(~x))^(~m)*sqrt((~d1) + (~!e1)*(~x))* sqrt((~d2) + (~!e2)*(~x))*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~g), (~x)) && + eq((~e1) - (~c)*(~d1), 0) && + eq((~e2) + (~c)*(~d2), 0) && + ilt((~m), 0) && + gt((~d1), 0) && + lt((~d2), 0) && + igt((~n), 0) ? +((~f) + (~g)*(~x))^ (~m)*((~d1)*(~d2) + (~e1)*(~e2)*(~x)^2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)* sqrt(-(~d1)*(~d2))*((~n) + 1)) - 1⨸((~b)*(~c)*sqrt(-(~d1)*(~d2))*((~n) + 1))* ∫(((~d1)*(~d2)*(~g)*(~m) + 2*(~e1)*(~e2)*(~f)*(~x) + (~e1)*(~e2)*(~g)*((~m) + 2)*(~x)^2)*((~f) + (~g)*(~x))^((~m) - 1)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1), (~x)) : nothing) + +("7_2_5_16", +@rule ∫(((~f) + (~!g)*(~x))^(~!m)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~g), (~x)) && + eq((~e1) - (~c)*(~d1), 0) && + eq((~e2) + (~c)*(~d2), 0) && + ext_isinteger((~m)) && + igt((~p) + 1/2, 0) && + gt((~d1), 0) && + lt((~d2), 0) && + igt((~n), 0) ? +∫(ext_expand( sqrt((~d1) + (~e1)*(~x))* sqrt((~d2) + (~e2)*(~x))*((~a) + (~b)*acosh((~c)*(~x)))^(~n), ((~f) + (~g)*(~x))^ (~m)*((~d1) + (~e1)*(~x))^((~p) - 1⨸2)*((~d2) + (~e2)*(~x))^((~p) - 1⨸2), (~x)), (~x)) : nothing) + +("7_2_5_17", +@rule ∫(((~f) + (~!g)*(~x))^(~!m)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~g), (~x)) && + eq((~e1) - (~c)*(~d1), 0) && + eq((~e2) + (~c)*(~d2), 0) && + ilt((~m), 0) && + igt((~p) - 1/2, 0) && + gt((~d1), 0) && + lt((~d2), 0) && + igt((~n), 0) ? +((~f) + (~g)*(~x))^ (~m)*((~d1) + (~e1)*(~x))^((~p) + 1⨸2)*((~d2) + (~e2)*(~x))^((~p) + 1⨸2)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)* sqrt(-(~d1)*(~d2))*((~n) + 1)) - 1⨸((~b)*(~c)*sqrt(-(~d1)*(~d2))*((~n) + 1))* ∫( ext_expand(((~f) + (~g)*(~x))^((~m) - 1)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1), ((~d1)*(~d2)*(~g)*(~m) + (~e1)*(~e2)*(~f)*(2*(~p) + 1)*(~x) + (~e1)*(~e2)*(~g)*((~m) + 2*(~p) + 1)*(~x)^2)*((~d1) + (~e1)*(~x))^((~p) - 1⨸2)*((~d2) + (~e2)*(~x))^((~p) - 1⨸2), (~x)), (~x)) : nothing) + +("7_2_5_18", +@rule ∫(((~f) + (~!g)*(~x))^ (~!m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^ (~n)/(sqrt((~d1) + (~!e1)*(~x))*sqrt((~d2) + (~!e2)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~g), (~x)) && + eq((~e1) - (~c)*(~d1), 0) && + eq((~e2) + (~c)*(~d2), 0) && + igt((~m), 0) && + gt((~d1), 0) && + lt((~d2), 0) && + lt((~n), -1) ? +((~f) + (~g)*(~x))^ (~m)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)*sqrt(-(~d1)*(~d2))*((~n) + 1)) - (~g)*(~m)⨸((~b)*(~c)*sqrt(-(~d1)*(~d2))*((~n) + 1))* ∫(((~f) + (~g)*(~x))^((~m) - 1)*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1), (~x)) : nothing) + +("7_2_5_19", +@rule ∫(((~f) + (~!g)*(~x))^ (~!m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^ (~!n)/(sqrt((~d1) + (~!e1)*(~x))*sqrt((~d2) + (~!e2)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~g), (~n), (~x)) && + eq((~e1) - (~c)*(~d1), 0) && + eq((~e2) + (~c)*(~d2), 0) && + ext_isinteger((~m)) && + gt((~d1), 0) && + lt((~d2), 0) && + ( + gt((~m), 0) || + igt((~n), 0) + ) ? +1⨸((~c)^((~m) + 1)*sqrt(-(~d1)*(~d2)))* int_and_subst(((~a) + (~b)*(~x))^(~n)*((~c)*(~f) + (~g)*cosh((~x)))^(~m), (~x), (~x), acosh((~c)*(~x)), "7_2_5_19") : nothing) + +("7_2_5_20", +@rule ∫(((~f) + (~!g)*(~x))^(~!m)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~g), (~x)) && + eq((~e1) - (~c)*(~d1), 0) && + eq((~e2) + (~c)*(~d2), 0) && + ext_isinteger((~m)) && + ilt((~p) + 1/2, 0) && + gt((~d1), 0) && + lt((~d2), 0) && + igt((~n), 0) ? +∫(ext_expand(((~a) + (~b)*acosh((~c)*(~x)))^ (~n)⨸(sqrt((~d1) + (~e1)*(~x))*sqrt((~d2) + (~e2)*(~x))), ((~f) + (~g)*(~x))^ (~m)*((~d1) + (~e1)*(~x))^((~p) + 1⨸2)*((~d2) + (~e2)*(~x))^((~p) + 1⨸2), (~x)), (~x)) : nothing) + +("7_2_5_21", +@rule ∫(((~f) + (~!g)*(~x))^(~!m)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~g), (~n), (~x)) && + eq((~e1) - (~c)*(~d1), 0) && + eq((~e2) + (~c)*(~d2), 0) && + ext_isinteger((~m)) && + ext_isinteger((~p) - 1/2) && + !( + gt((~d1), 0) && + lt((~d2), 0) + ) ? +(-(~d1)*(~d2))^intpart((~p))*((~d1) + (~e1)*(~x))^ fracpart((~p))*((~d2) + (~e2)*(~x))^ fracpart((~p))⨸((-1 + (~c)*(~x))^fracpart((~p))*(1 + (~c)*(~x))^fracpart((~p)))* ∫(((~f) + (~g)*(~x))^(~m)*(-1 + (~c)*(~x))^(~p)*(1 + (~c)*(~x))^(~p)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n), (~x)) : nothing) + +("7_2_5_22", +@rule ∫(log((~!h)*((~!f) + (~!g)*(~x))^(~!m))*((~!a) + (~!b)*acosh((~!c)*(~x)))^ (~!n)/(sqrt((~d1) + (~!e1)*(~x))*sqrt((~d2) + (~!e2)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~g), (~h), (~m), (~x)) && + eq((~e1) - (~c)*(~d1), 0) && + eq((~e2) + (~c)*(~d2), 0) && + gt((~d1), 0) && + lt((~d2), 0) && + igt((~n), 0) ? +log((~h)*((~f) + (~g)*(~x))^(~m))*((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸((~b)*(~c)* sqrt(-(~d1)*(~d2))*((~n) + 1)) - (~g)*(~m)⨸((~b)*(~c)*sqrt(-(~d1)*(~d2))*((~n) + 1))* ∫(((~a) + (~b)*acosh((~c)*(~x)))^((~n) + 1)⨸((~f) + (~g)*(~x)), (~x)) : nothing) + +("7_2_5_23", +@rule ∫(log((~!h)*((~!f) + (~!g)*(~x))^(~!m))*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~g), (~h), (~m), (~n), (~x)) && + eq((~e1) - (~c)*(~d1), 0) && + eq((~e2) + (~c)*(~d2), 0) && + ext_isinteger((~p) - 1/2) && + !( + gt((~d1), 0) && + lt((~d2), 0) + ) ? +(-(~d1)*(~d2))^intpart((~p))*((~d1) + (~e1)*(~x))^ fracpart((~p))*((~d2) + (~e2)*(~x))^ fracpart((~p))⨸((-1 + (~c)*(~x))^fracpart((~p))*(1 + (~c)*(~x))^fracpart((~p)))* ∫( log((~h)*((~f) + (~g)*(~x))^(~m))*(-1 + (~c)*(~x))^(~p)*(1 + (~c)*(~x))^(~p)*((~a) + (~b)*acosh((~c)*(~x)))^ (~n), (~x)) : nothing) + +("7_2_5_24", +@rule ∫(((~d) + (~!e)*(~x))^(~m)*((~f) + (~!g)*(~x))^(~m)*((~!a) + (~!b)*acosh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~x)) && + ilt((~m) + 1/2, 0) ? +dist((~a) + (~b)*acosh((~c)*(~x)), ∫(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~m), (~x)), (~x)) - (~b)*(~c)*∫(dist(1⨸(sqrt(-1 + (~c)*(~x))*sqrt(1 + (~c)*(~x))), ∫(((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~m), (~x)), (~x)), (~x)) : nothing) + +("7_2_5_25", +@rule ∫(((~d) + (~!e)*(~x))^(~!m)*((~f) + (~!g)*(~x))^(~!m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^ (~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && + ext_isinteger((~m)) ? +∫(ext_expand(((~a) + (~b)*acosh((~c)*(~x)))^ (~n), ((~d) + (~e)*(~x))^(~m)*((~f) + (~g)*(~x))^(~m), (~x)), (~x)) : nothing) + +("7_2_5_26", +@rule ∫((~u)*((~!a) + (~!b)*acosh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + !contains_inverse_function(IntHide[(~u), (~x)], (~x)) ? +dist((~a) + (~b)*acosh((~c)*(~x)), ∫((~u), (~x)), (~x)) - (~b)*(~c)*sqrt(1 - (~c)^2*(~x)^2)⨸(sqrt(-1 + (~c)*(~x))*sqrt(1 + (~c)*(~x)))* ∫(ext_simplify(∫((~u), (~x))⨸sqrt(1 - (~c)^2*(~x)^2), (~x)), (~x)) : nothing) + +("7_2_5_27", +@rule ∫((~Px)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~n), (~x)) && + poly((~Px), (~x)) && + eq((~e1) - (~c)*(~d1), 0) && + eq((~e2) + (~c)*(~d2), 0) && + ext_isinteger((~p) - 1/2) && + issum(ext_expand( (~Px)*((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^(~p)*((~a) + (~b)*acosh[(~c)*(~x)])^(~n), (~x))) ? +∫(ext_expand( (~Px)*((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^(~p)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("7_2_5_28", +@rule ∫((~!Px)*((~f) + (~!g)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^(~p))^ (~!m)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~f), (~g), (~x)) && + poly((~Px), (~x)) && + eq((~e1) - (~c)*(~d1), 0) && + eq((~e2) + (~c)*(~d2), 0) && + igt((~p) + 1/2, 0) && + ext_isinteger((~m), (~n)) && + issum(ext_expand( (~Px)*((~f) + (~g)*((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^(~p))^(~m)*((~a) + (~b)*acosh[(~c)*(~x)])^(~n), (~x))) ? +∫(ext_expand( (~Px)*((~f) + (~g)*((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^(~p))^(~m)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("7_2_5_29", +@rule ∫((~RF)*acosh((~!c)*(~x))^(~!n),(~x)) => + !contains_var((~c), (~x)) && + rational_function((~RF), (~x)) && + igt((~n), 0) && + issum(ext_expand(acosh[(~c)*(~x)]^(~n), (~RF), (~x))) ? +∫(ext_expand(acosh((~c)*(~x))^(~n), (~RF), (~x)), (~x)) : nothing) + +("7_2_5_30", +@rule ∫((~RF)*((~a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + rational_function((~RF), (~x)) && + igt((~n), 0) ? +∫(ext_expand((~RF)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)), (~x)) : nothing) + +("7_2_5_31", +@rule ∫((~RF)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^(~p)*acosh((~!c)*(~x))^(~!n),(~x)) => + !contains_var((~c), (~d1), (~e1), (~d2), (~e2), (~x)) && + rational_function((~RF), (~x)) && + igt((~n), 0) && + eq((~e1) - (~c)*(~d1), 0) && + eq((~e2) + (~c)*(~d2), 0) && + ext_isinteger((~p) - 1/2) && + issum(ext_expand(((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^(~p)*acosh[(~c)*(~x)]^(~n), (~RF), (~x))) ? +∫(ext_expand(((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^(~p)*acosh((~c)*(~x))^(~n), (~RF), (~x)), (~x)) : nothing) + +("7_2_5_32", +@rule ∫((~RF)*((~d1) + (~!e1)*(~x))^(~p)*((~d2) + (~!e2)*(~x))^ (~p)*((~a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d1), (~e1), (~d2), (~e2), (~x)) && + rational_function((~RF), (~x)) && + igt((~n), 0) && + eq((~e1) - (~c)*(~d1), 0) && + eq((~e2) + (~c)*(~d2), 0) && + ext_isinteger((~p) - 1/2) ? +∫(ext_expand(((~d1) + (~e1)*(~x))^(~p)*((~d2) + (~e2)*(~x))^(~p), (~RF)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)), (~x)) : nothing) + +# ("7_2_5_33", +# @rule ∫((~!u)*((~!a) + (~!b)*acosh((~!c)*(~x)))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~n), (~x)) ? +# Unintegrable[(~u)*((~a) + (~b)*acosh((~c)*(~x)))^(~n), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.6 Miscellaneous inverse hyperbolic cosine.jl b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.6 Miscellaneous inverse hyperbolic cosine.jl new file mode 100644 index 0000000..077f5c6 --- /dev/null +++ b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.2 Inverse hyperbolic cosine/7.2.6 Miscellaneous inverse hyperbolic cosine.jl @@ -0,0 +1,142 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 7.2.6 Miscellaneous inverse hyperbolic cosine *) +("7_2_6_1", +@rule ∫(((~!a) + (~!b)*acosh((~c) + (~!d)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) ? +1⨸(~d)*int_and_subst(((~a) + (~b)*acosh((~x)))^(~n), (~x), (~x), (~c) + (~d)*(~x), "7_2_6_1") : nothing) + +("7_2_6_2", +@rule ∫(((~!e) + (~!f)*(~x))^(~!m)*((~!a) + (~!b)*acosh((~c) + (~!d)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~m), (~n), (~x)) ? +1⨸(~d)*int_and_subst((((~d)*(~e) - (~c)*(~f))⨸(~d) + (~f)*(~x)⨸(~d))^(~m)*((~a) + (~b)*acosh((~x)))^(~n), (~x), (~x), (~c) + (~d)*(~x), "7_2_6_2") : nothing) + +("7_2_6_3", +@rule ∫(((~!A) + (~!B)*(~x) + (~!C)*(~x)^2)^(~!p)*((~!a) + (~!b)*acosh((~c) + (~!d)*(~x)))^ (~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~A), (~B), (~C), (~n), (~p), (~x)) && + eq((~B)*(1 - (~c)^2) + 2*(~A)*(~c)*(~d), 0) && + eq(2*(~c)*(~C) - (~B)*(~d), 0) ? +1⨸(~d)*int_and_subst((-(~C)⨸(~d)^2 + (~C)⨸(~d)^2*(~x)^2)^(~p)*((~a) + (~b)*acosh((~x)))^(~n), (~x), (~x), (~c) + (~d)*(~x), "7_2_6_3") : nothing) + +("7_2_6_4", +@rule ∫(((~!e) + (~!f)*(~x))^(~!m)*((~!A) + (~!B)*(~x) + (~!C)*(~x)^2)^ (~!p)*((~!a) + (~!b)*acosh((~c) + (~!d)*(~x)))^(~!n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~f), (~A), (~B), (~C), (~m), (~n), (~p), (~x)) && + eq((~B)*(1 - (~c)^2) + 2*(~A)*(~c)*(~d), 0) && + eq(2*(~c)*(~C) - (~B)*(~d), 0) ? +1⨸(~d)*int_and_subst((((~d)*(~e) - (~c)*(~f))⨸(~d) + (~f)*(~x)⨸(~d))^(~m)*(-(~C)⨸(~d)^2 + (~C)⨸(~d)^2*(~x)^2)^ (~p)*((~a) + (~b)*acosh((~x)))^(~n), (~x), (~x), (~c) + (~d)*(~x), "7_2_6_4") : nothing) + +("7_2_6_5", +@rule ∫(sqrt((~!a) + (~!b)*acosh(1 + (~!d)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~d), (~x)) ? +2*sqrt((~a) + (~b)*acosh(1 + (~d)*(~x)^2))* sinh((1⨸2)*acosh(1 + (~d)*(~x)^2))^2⨸((~d)*(~x)) - sqrt((~b))*sqrt(π⨸2)*(cosh((~a)⨸(2*(~b))) - sinh((~a)⨸(2*(~b))))* sinh((1⨸2)*acosh(1 + (~d)*(~x)^2))* SymbolicUtils.erfi((1⨸sqrt(2*(~b)))*sqrt((~a) + (~b)*acosh(1 + (~d)*(~x)^2)))⨸((~d)*(~x)) + sqrt((~b))*sqrt(π⨸2)*(cosh((~a)⨸(2*(~b))) + sinh((~a)⨸(2*(~b))))* sinh((1⨸2)*acosh(1 + (~d)*(~x)^2))* SymbolicUtils.erf((1⨸sqrt(2*(~b)))*sqrt((~a) + (~b)*acosh(1 + (~d)*(~x)^2)))⨸((~d)*(~x)) : nothing) + +("7_2_6_6", +@rule ∫(sqrt((~!a) + (~!b)*acosh(-1 + (~!d)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~d), (~x)) ? +2*sqrt((~a) + (~b)*acosh(-1 + (~d)*(~x)^2))* cosh((1⨸2)*acosh(-1 + (~d)*(~x)^2))^2⨸((~d)*(~x)) - sqrt((~b))*sqrt(π⨸2)*(cosh((~a)⨸(2*(~b))) - sinh((~a)⨸(2*(~b))))* cosh((1⨸2)*acosh(-1 + (~d)*(~x)^2))* SymbolicUtils.erfi((1⨸sqrt(2*(~b)))*sqrt((~a) + (~b)*acosh(-1 + (~d)*(~x)^2)))⨸((~d)*(~x)) - sqrt((~b))*sqrt(π⨸2)*(cosh((~a)⨸(2*(~b))) + sinh((~a)⨸(2*(~b))))* cosh((1⨸2)*acosh(-1 + (~d)*(~x)^2))* SymbolicUtils.erf((1⨸sqrt(2*(~b)))*sqrt((~a) + (~b)*acosh(-1 + (~d)*(~x)^2)))⨸((~d)*(~x)) : nothing) + +("7_2_6_7", +@rule ∫(((~!a) + (~!b)*acosh((~c) + (~!d)*(~x)^2))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~c)^2, 1) && + gt((~n), 1) ? +(~x)*((~a) + (~b)*acosh((~c) + (~d)*(~x)^2))^(~n) - 2*(~b)* (~n)*(2*(~c)*(~d)*(~x)^2 + (~d)^2*(~x)^4)*((~a) + (~b)*acosh((~c) + (~d)*(~x)^2))^((~n) - 1)⨸((~d)*(~x)* sqrt(-1 + (~c) + (~d)*(~x)^2)*sqrt(1 + (~c) + (~d)*(~x)^2)) + 4*(~b)^2*(~n)*((~n) - 1)*∫(((~a) + (~b)*acosh((~c) + (~d)*(~x)^2))^((~n) - 2), (~x)) : nothing) + +("7_2_6_8", +@rule ∫(1/((~!a) + (~!b)*acosh(1 + (~!d)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~d), (~x)) ? +(~x)*cosh((~a)⨸(2*(~b)))* coshintegral(((~a) + (~b)*acosh(1 + (~d)*(~x)^2))⨸(2*(~b)))⨸(sqrt(2)*(~b)* sqrt((~d)*(~x)^2)) - (~x)*sinh((~a)⨸(2*(~b)))* sinhintegral(((~a) + (~b)*acosh(1 + (~d)*(~x)^2))⨸(2*(~b)))⨸(sqrt(2)*(~b)* sqrt((~d)*(~x)^2)) : nothing) + +("7_2_6_9", +@rule ∫(1/((~!a) + (~!b)*acosh(-1 + (~!d)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~d), (~x)) ? +-(~x)*sinh((~a)⨸(2*(~b)))* coshintegral(((~a) + (~b)*acosh(-1 + (~d)*(~x)^2))⨸(2*(~b)))⨸(sqrt(2)*(~b)* sqrt((~d)*(~x)^2)) + (~x)*cosh((~a)⨸(2*(~b)))* sinhintegral(((~a) + (~b)*acosh(-1 + (~d)*(~x)^2))⨸(2*(~b)))⨸(sqrt(2)*(~b)* sqrt((~d)*(~x)^2)) : nothing) + +("7_2_6_10", +@rule ∫(1/sqrt((~!a) + (~!b)*acosh(1 + (~!d)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~d), (~x)) ? +sqrt(π⨸2)*(cosh((~a)⨸(2*(~b))) - sinh((~a)⨸(2*(~b))))* sinh(acosh(1 + (~d)*(~x)^2)⨸2)* SymbolicUtils.erfi(sqrt((~a) + (~b)*acosh(1 + (~d)*(~x)^2))⨸sqrt(2*(~b)))⨸(sqrt((~b))*(~d)*(~x)) + sqrt(π⨸2)*(cosh((~a)⨸(2*(~b))) + sinh((~a)⨸(2*(~b))))* sinh(acosh(1 + (~d)*(~x)^2)⨸2)* SymbolicUtils.erf(sqrt((~a) + (~b)*acosh(1 + (~d)*(~x)^2))⨸sqrt(2*(~b)))⨸(sqrt((~b))*(~d)*(~x)) : nothing) + +("7_2_6_11", +@rule ∫(1/sqrt((~!a) + (~!b)*acosh(-1 + (~!d)*(~x)^2)),(~x)) => + !contains_var((~a), (~b), (~d), (~x)) ? +sqrt(π⨸2)*(cosh((~a)⨸(2*(~b))) - sinh((~a)⨸(2*(~b))))* cosh(acosh(-1 + (~d)*(~x)^2)⨸2)* SymbolicUtils.erfi(sqrt((~a) + (~b)*acosh(-1 + (~d)*(~x)^2))⨸sqrt(2*(~b)))⨸(sqrt((~b))*(~d)*(~x)) - sqrt(π⨸2)*(cosh((~a)⨸(2*(~b))) + sinh((~a)⨸(2*(~b))))* cosh(acosh(-1 + (~d)*(~x)^2)⨸2)* SymbolicUtils.erf(sqrt((~a) + (~b)*acosh(-1 + (~d)*(~x)^2))⨸sqrt(2*(~b)))⨸(sqrt((~b))*(~d)*(~x)) : nothing) + +("7_2_6_12", +@rule ∫(1/((~!a) + (~!b)*acosh(1 + (~!d)*(~x)^2))^(3//2),(~x)) => + !contains_var((~a), (~b), (~d), (~x)) ? +-sqrt((~d)*(~x)^2)* sqrt(2 + (~d)*(~x)^2)⨸((~b)*(~d)*(~x)*sqrt((~a) + (~b)*acosh(1 + (~d)*(~x)^2))) + sqrt(π⨸2)*(cosh((~a)⨸(2*(~b))) - sinh((~a)⨸(2*(~b))))* sinh(acosh(1 + (~d)*(~x)^2)⨸2)* SymbolicUtils.erfi(sqrt((~a) + (~b)*acosh(1 + (~d)*(~x)^2))⨸sqrt(2*(~b)))⨸((~b)^(3⨸2)*(~d)*(~x)) - sqrt(π⨸2)*(cosh((~a)⨸(2*(~b))) + sinh((~a)⨸(2*(~b))))* sinh(acosh(1 + (~d)*(~x)^2)⨸2)* SymbolicUtils.erf(sqrt((~a) + (~b)*acosh(1 + (~d)*(~x)^2))⨸sqrt(2*(~b)))⨸((~b)^(3⨸2)*(~d)*(~x)) : nothing) + +("7_2_6_13", +@rule ∫(1/((~!a) + (~!b)*acosh(-1 + (~!d)*(~x)^2))^(3//2),(~x)) => + !contains_var((~a), (~b), (~d), (~x)) ? +-sqrt((~d)*(~x)^2)* sqrt(-2 + (~d)*(~x)^2)⨸((~b)*(~d)*(~x)*sqrt((~a) + (~b)*acosh(-1 + (~d)*(~x)^2))) + sqrt(π⨸2)*(cosh((~a)⨸(2*(~b))) - sinh((~a)⨸(2*(~b))))* cosh(acosh(-1 + (~d)*(~x)^2)⨸2)* SymbolicUtils.erfi(sqrt((~a) + (~b)*acosh(-1 + (~d)*(~x)^2))⨸sqrt(2*(~b)))⨸((~b)^(3⨸2)*(~d)*(~x)) + sqrt(π⨸2)*(cosh((~a)⨸(2*(~b))) + sinh((~a)⨸(2*(~b))))* cosh(acosh(-1 + (~d)*(~x)^2)⨸2)* SymbolicUtils.erf(sqrt((~a) + (~b)*acosh(-1 + (~d)*(~x)^2))⨸sqrt(2*(~b)))⨸((~b)^(3⨸2)*(~d)*(~x)) : nothing) + +("7_2_6_14", +@rule ∫(1/((~!a) + (~!b)*acosh(1 + (~!d)*(~x)^2))^2,(~x)) => + !contains_var((~a), (~b), (~d), (~x)) ? +-sqrt((~d)*(~x)^2)*sqrt(2 + (~d)*(~x)^2)⨸(2*(~b)*(~d)*(~x)*((~a) + (~b)*acosh(1 + (~d)*(~x)^2))) - (~x)*sinh((~a)⨸(2*(~b)))* coshintegral(((~a) + (~b)*acosh(1 + (~d)*(~x)^2))⨸(2*(~b)))⨸(2*sqrt(2)*(~b)^2* sqrt((~d)*(~x)^2)) + (~x)*cosh((~a)⨸(2*(~b)))* sinhintegral(((~a) + (~b)*acosh(1 + (~d)*(~x)^2))⨸(2*(~b)))⨸(2*sqrt(2)*(~b)^2* sqrt((~d)*(~x)^2)) : nothing) + +("7_2_6_15", +@rule ∫(1/((~!a) + (~!b)*acosh(-1 + (~!d)*(~x)^2))^2,(~x)) => + !contains_var((~a), (~b), (~d), (~x)) ? +-sqrt((~d)*(~x)^2)* sqrt(-2 + (~d)*(~x)^2)⨸(2*(~b)*(~d)*(~x)*((~a) + (~b)*acosh(-1 + (~d)*(~x)^2))) + (~x)*cosh((~a)⨸(2*(~b)))* coshintegral(((~a) + (~b)*acosh(-1 + (~d)*(~x)^2))⨸(2*(~b)))⨸(2*sqrt(2)*(~b)^2* sqrt((~d)*(~x)^2)) - (~x)*sinh((~a)⨸(2*(~b)))* sinhintegral(((~a) + (~b)*acosh(-1 + (~d)*(~x)^2))⨸(2*(~b)))⨸(2*sqrt(2)*(~b)^2* sqrt((~d)*(~x)^2)) : nothing) + +("7_2_6_16", +@rule ∫(((~!a) + (~!b)*acosh((~c) + (~!d)*(~x)^2))^(~n),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~x)) && + eq((~c)^2, 1) && + lt((~n), -1) && + !eq((~n), -2) ? +-(~x)*((~a) + (~b)*acosh((~c) + (~d)*(~x)^2))^((~n) + 2)⨸(4*(~b)^2*((~n) + 1)*((~n) + 2)) + (2*(~c)*(~x)^2 + (~d)*(~x)^4)*((~a) + (~b)*acosh((~c) + (~d)*(~x)^2))^((~n) + 1)⨸(2*(~b)*((~n) + 1)*(~x)* sqrt(-1 + (~c) + (~d)*(~x)^2)*sqrt(1 + (~c) + (~d)*(~x)^2)) + 1⨸(4*(~b)^2*((~n) + 1)*((~n) + 2))* ∫(((~a) + (~b)*acosh((~c) + (~d)*(~x)^2))^((~n) + 2), (~x)) : nothing) + +("7_2_6_17", +@rule ∫(acosh((~!a)*(~x)^(~p))^(~!n)/(~x),(~x)) => + !contains_var((~a), (~p), (~x)) && + igt((~n), 0) ? +1⨸(~p)*int_and_subst((~x)^(~n)*tanh((~x)), (~x), (~x), acosh((~a)*(~x)^(~p)), "7_2_6_17") : nothing) + +("7_2_6_18", +@rule ∫((~!u)*acosh((~c)/((~!a) + (~!b)*(~x)^(~!n)))^(~!m),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~m), (~x)) ? +∫((~u)*asech((~a)⨸(~c) + (~b)*(~x)^(~n)⨸(~c))^(~m), (~x)) : nothing) + +("7_2_6_19", +@rule ∫(acosh(sqrt(1 + (~!b)*(~x)^2))^(~!n)/sqrt(1 + (~!b)*(~x)^2),(~x)) => + !contains_var((~b), (~n), (~x)) ? +sqrt(-1 + sqrt(1 + (~b)*(~x)^2))*sqrt(1 + sqrt(1 + (~b)*(~x)^2))⨸((~b)*(~x))* int_and_subst(acosh((~x))^(~n)⨸(sqrt(-1 + (~x))*sqrt(1 + (~x))), (~x), (~x), sqrt(1 + (~b)*(~x)^2), "7_2_6_19") : nothing) + +("7_2_6_20", +@rule ∫((~f)^((~!c)*acosh((~!a) + (~!b)*(~x))^(~!n)),(~x)) => + !contains_var((~a), (~b), (~c), (~f), (~x)) && + igt((~n), 0) ? +1⨸(~b)*int_and_subst((~f)^((~c)*(~x)^(~n))*sinh((~x)), (~x), (~x), acosh((~a) + (~b)*(~x)), "7_2_6_20") : nothing) + +("7_2_6_21", +@rule ∫((~x)^(~!m)*(~f)^((~!c)*acosh((~!a) + (~!b)*(~x))^(~!n)),(~x)) => + !contains_var((~a), (~b), (~c), (~f), (~x)) && + igt((~m), 0) && + igt((~n), 0) ? +1⨸(~b)*int_and_subst((-(~a)⨸(~b) + cosh((~x))⨸(~b))^(~m)*(~f)^((~c)*(~x)^(~n))*sinh((~x)), (~x), (~x), acosh((~a) + (~b)*(~x)), "7_2_6_21") : nothing) + +("7_2_6_22", +@rule ∫(acosh((~u)),(~x)) => + !contains_inverse_function((~u), (~x)) && + !(function_of_exponential((~u), (~x))) ? +(~x)*acosh((~u)) - ∫(ext_simplify((~x)*Symbolics.derivative((~u), (~x))⨸(sqrt(-1 + (~u))*sqrt(1 + (~u))), (~x)), (~x)) : nothing) + +("7_2_6_25", +@rule ∫(ℯ^((~!n)*acosh((~u))),(~x)) => + ext_isinteger((~n)) && + poly((~u), (~x)) ? +∫(((~u) + sqrt(-1 + (~u))*sqrt(1 + (~u)))^(~n), (~x)) : nothing) + +("7_2_6_26", +@rule ∫((~x)^(~!m)*ℯ^((~!n)*acosh((~u))),(~x)) => + isrational((~m)) && + ext_isinteger((~n)) && + poly((~u), (~x)) ? +∫((~x)^(~m)*((~u) + sqrt(-1 + (~u))*sqrt(1 + (~u)))^(~n), (~x)) : nothing) + + +] diff --git a/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.3 Inverse hyperbolic tangent/7.3.1 (a+b arctanh(c x^n))^p.jl b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.3 Inverse hyperbolic tangent/7.3.1 (a+b arctanh(c x^n))^p.jl new file mode 100644 index 0000000..ce9718d --- /dev/null +++ b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.3 Inverse hyperbolic tangent/7.3.1 (a+b arctanh(c x^n))^p.jl @@ -0,0 +1,77 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 7.3.1 (a+b arctanh(c x^n))^p *) +("7_3_1_1", +@rule ∫(((~!a) + (~!b)*atanh((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + igt((~p), 0) && + ( + eq((~n), 1) || + eq((~p), 1) + ) ? +(~x)*((~a) + (~b)*atanh((~c)*(~x)^(~n)))^(~p) - (~b)*(~c)*(~n)*(~p)* ∫((~x)^(~n)*((~a) + (~b)*atanh((~c)*(~x)^(~n)))^((~p) - 1)⨸(1 - (~c)^2*(~x)^(2*(~n))), (~x)) : nothing) + +("7_3_1_2", +@rule ∫(((~!a) + (~!b)*acoth((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + igt((~p), 0) && + ( + eq((~n), 1) || + eq((~p), 1) + ) ? +(~x)*((~a) + (~b)*acoth((~c)*(~x)^(~n)))^(~p) - (~b)*(~c)*(~n)*(~p)* ∫((~x)^(~n)*((~a) + (~b)*acoth((~c)*(~x)^(~n)))^((~p) - 1)⨸(1 - (~c)^2*(~x)^(2*(~n))), (~x)) : nothing) + +("7_3_1_3", +@rule ∫(((~!a) + (~!b)*atanh((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + igt((~n), 0) ? +∫(ext_expand(((~a) + (~b)*log(1 + (~c)*(~x)^(~n))⨸2 - (~b)*log(1 - (~c)*(~x)^(~n))⨸2)^ (~p), (~x)), (~x)) : nothing) + +("7_3_1_4", +@rule ∫(((~!a) + (~!b)*acoth((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + igt((~n), 0) ? +∫(ext_expand(((~a) + (~b)*log(1 + (~x)^(-(~n))⨸(~c))⨸2 - (~b)*log(1 - (~x)^(-(~n))⨸(~c))⨸2)^(~p), (~x)), (~x)) : nothing) + +("7_3_1_5", +@rule ∫(((~!a) + (~!b)*atanh((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + ilt((~n), 0) ? +∫(((~a) + (~b)*acoth((~x)^(-(~n))⨸(~c)))^(~p), (~x)) : nothing) + +("7_3_1_6", +@rule ∫(((~!a) + (~!b)*acoth((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + ilt((~n), 0) ? +∫(((~a) + (~b)*atanh((~x)^(-(~n))⨸(~c)))^(~p), (~x)) : nothing) + +("7_3_1_7", +@rule ∫(((~!a) + (~!b)*atanh((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n)) - 1)*((~a) + (~b)*atanh((~c)*(~x)^(ext_den((~n))*(~n))))^(~p), (~x), (~x), (~x)^(1⨸ext_den((~n))), "7_3_1_7") : nothing) + +("7_3_1_8", +@rule ∫(((~!a) + (~!b)*acoth((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n)) - 1)*((~a) + (~b)*acoth((~c)*(~x)^(ext_den((~n))*(~n))))^(~p), (~x), (~x), (~x)^(1⨸ext_den((~n))), "7_3_1_8") : nothing) + +# ("7_3_1_9", +# @rule ∫(((~!a) + (~!b)*atanh((~!c)*(~x)^(~!n)))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~n), (~p), (~x)) ? +# Unintegrable[((~a) + (~b)*atanh((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) + +# ("7_3_1_10", +# @rule ∫(((~!a) + (~!b)*acoth((~!c)*(~x)^(~!n)))^(~p),(~x)) => +# !contains_var((~a), (~b), (~c), (~n), (~p), (~x)) ? +# Unintegrable[((~a) + (~b)*acoth((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.3 Inverse hyperbolic tangent/7.3.2 (d x)^m (a+b arctanh(c x^n))^p.jl b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.3 Inverse hyperbolic tangent/7.3.2 (d x)^m (a+b arctanh(c x^n))^p.jl new file mode 100644 index 0000000..41a991c --- /dev/null +++ b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.3 Inverse hyperbolic tangent/7.3.2 (d x)^m (a+b arctanh(c x^n))^p.jl @@ -0,0 +1,181 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 7.3.2 (d x)^m (a+b arctanh(c x^n))^p *) +("7_3_2_1", +@rule ∫(((~!a) + (~!b)*atanh((~!c)*(~x)))/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) ? +(~a)*log((~x)) - (~b)⨸2*PolyLog.reli(2, -(~c)*(~x)) + (~b)⨸2*PolyLog.reli(2, (~c)*(~x)) : nothing) + +("7_3_2_2", +@rule ∫(((~!a) + (~!b)*acoth((~!c)*(~x)))/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) ? +(~a)*log((~x)) + (~b)⨸2*PolyLog.reli(2, -1⨸((~c)*(~x))) - (~b)⨸2*PolyLog.reli(2, 1⨸((~c)*(~x))) : nothing) + +("7_3_2_3", +@rule ∫(((~!a) + (~!b)*atanh((~!c)*(~x)))^(~p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) ? +2*((~a) + (~b)*atanh((~c)*(~x)))^(~p)*atanh(1 - 2⨸(1 - (~c)*(~x))) - 2*(~b)*(~c)*(~p)* ∫(((~a) + (~b)*atanh((~c)*(~x)))^((~p) - 1)* atanh(1 - 2⨸(1 - (~c)*(~x)))⨸(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("7_3_2_4", +@rule ∫(((~!a) + (~!b)*acoth((~!c)*(~x)))^(~p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) ? +2*((~a) + (~b)*acoth((~c)*(~x)))^(~p)*acoth(1 - 2⨸(1 - (~c)*(~x))) - 2*(~b)*(~c)*(~p)* ∫(((~a) + (~b)*acoth((~c)*(~x)))^((~p) - 1)* acoth(1 - 2⨸(1 - (~c)*(~x)))⨸(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("7_3_2_5", +@rule ∫(((~!a) + (~!b)*atanh((~!c)*(~x)^(~n)))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + igt((~p), 0) ? +1⨸(~n)*int_and_subst(((~a) + (~b)*atanh((~c)*(~x)))^(~p)⨸(~x), (~x), (~x), (~x)^(~n), "7_3_2_5") : nothing) + +("7_3_2_6", +@rule ∫(((~!a) + (~!b)*acoth((~!c)*(~x)^(~n)))^(~!p)/(~x),(~x)) => + !contains_var((~a), (~b), (~c), (~n), (~x)) && + igt((~p), 0) ? +1⨸(~n)*int_and_subst(((~a) + (~b)*acoth((~c)*(~x)))^(~p)⨸(~x), (~x), (~x), (~x)^(~n), "7_3_2_6") : nothing) + +("7_3_2_7", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*atanh((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~n), (~x)) && + igt((~p), 0) && + ( + eq((~p), 1) || + eq((~n), 1) && + ext_isinteger((~m)) + ) && + !eq((~m), -1) ? +(~x)^((~m) + 1)*((~a) + (~b)*atanh((~c)*(~x)^(~n)))^(~p)⨸((~m) + 1) - (~b)*(~c)*(~n)*(~p)⨸((~m) + 1)* ∫((~x)^((~m) + (~n))*((~a) + (~b)*atanh((~c)*(~x)^(~n)))^((~p) - 1)⨸(1 - (~c)^2*(~x)^(2*(~n))), (~x)) : nothing) + +("7_3_2_8", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acoth((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~n), (~x)) && + igt((~p), 0) && + ( + eq((~p), 1) || + eq((~n), 1) && + ext_isinteger((~m)) + ) && + !eq((~m), -1) ? +(~x)^((~m) + 1)*((~a) + (~b)*acoth((~c)*(~x)^(~n)))^(~p)⨸((~m) + 1) - (~b)*(~c)*(~n)*(~p)⨸((~m) + 1)* ∫((~x)^((~m) + (~n))*((~a) + (~b)*acoth((~c)*(~x)^(~n)))^((~p) - 1)⨸(1 - (~c)^2*(~x)^(2*(~n))), (~x)) : nothing) + +("7_3_2_9", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*atanh((~!c)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~n), (~x)) && + igt((~p), 1) && + ext_isinteger(simplify(((~m) + 1)/(~n))) ? +1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*((~a) + (~b)*atanh((~c)*(~x)))^(~p), (~x), (~x), (~x)^(~n), "7_3_2_9") : nothing) + +("7_3_2_10", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acoth((~!c)*(~x)^(~n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~n), (~x)) && + igt((~p), 1) && + ext_isinteger(simplify(((~m) + 1)/(~n))) ? +1⨸(~n)*int_and_subst((~x)^(simplify(((~m) + 1)⨸(~n)) - 1)*((~a) + (~b)*acoth((~c)*(~x)))^(~p), (~x), (~x), (~x)^(~n), "7_3_2_10") : nothing) + +("7_3_2_11", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*atanh((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + igt((~n), 0) && + ext_isinteger((~m)) ? +∫(ext_expand( (~x)^(~m)*((~a) + (~b)*log(1 + (~c)*(~x)^(~n))⨸2 - (~b)*log(1 - (~c)*(~x)^(~n))⨸2)^(~p), (~x)), (~x)) : nothing) + +("7_3_2_12", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acoth((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + igt((~n), 0) && + ext_isinteger((~m)) ? +∫(ext_expand( (~x)^(~m)*((~a) + (~b)*log(1 + (~x)^(-(~n))⨸(~c))⨸2 - (~b)*log(1 - (~x)^(-(~n))⨸(~c))⨸2)^(~p), (~x)), (~x)) : nothing) + +("7_3_2_13", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*atanh((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + igt((~n), 0) && + isfraction((~m)) ? +ext_den((~m))*int_and_subst((~x)^(ext_den((~m))*((~m) + 1) - 1)*((~a) + (~b)*atanh((~c)*(~x)^(ext_den((~m))*(~n))))^(~p), (~x), (~x), (~x)^(1⨸ext_den((~m))), "7_3_2_13") : nothing) + +("7_3_2_14", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acoth((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~x)) && + igt((~p), 1) && + igt((~n), 0) && + isfraction((~m)) ? +ext_den((~m))*int_and_subst((~x)^(ext_den((~m))*((~m) + 1) - 1)*((~a) + (~b)*acoth((~c)*(~x)^(ext_den((~m))*(~n))))^(~p), (~x), (~x), (~x)^(1⨸ext_den((~m))), "7_3_2_14") : nothing) + +("7_3_2_15", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*atanh((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~x)) && + igt((~p), 1) && + ilt((~n), 0) ? +∫((~x)^(~m)*((~a) + (~b)*acoth((~x)^(-(~n))⨸(~c)))^(~p), (~x)) : nothing) + +("7_3_2_16", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acoth((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~x)) && + igt((~p), 1) && + ilt((~n), 0) ? +∫((~x)^(~m)*((~a) + (~b)*atanh((~x)^(-(~n))⨸(~c)))^(~p), (~x)) : nothing) + +("7_3_2_17", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*atanh((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~x)) && + igt((~p), 1) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n))*((~m) + 1) - 1)*((~a) + (~b)*atanh((~c)*(~x)^(ext_den((~n))*(~n))))^(~p), (~x), (~x), (~x)^(1⨸ext_den((~n))), "7_3_2_17") : nothing) + +("7_3_2_18", +@rule ∫((~x)^(~!m)*((~!a) + (~!b)*acoth((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~m), (~x)) && + igt((~p), 1) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n))*((~m) + 1) - 1)*((~a) + (~b)*acoth((~c)*(~x)^(ext_den((~n))*(~n))))^(~p), (~x), (~x), (~x)^(1⨸ext_den((~n))), "7_3_2_18") : nothing) + +("7_3_2_19", +@rule ∫(((~d)*(~x))^(~m)*((~!a) + (~!b)*atanh((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + ext_isinteger((~n)) && + !eq((~m), -1) ? +((~d)*(~x))^((~m) + 1)*((~a) + (~b)*atanh((~c)*(~x)^(~n)))⨸((~d)*((~m) + 1)) - (~b)*(~c)*(~n)⨸((~d)^(~n)*((~m) + 1))*∫(((~d)*(~x))^((~m) + (~n))⨸(1 - (~c)^2*(~x)^(2*(~n))), (~x)) : nothing) + +("7_3_2_20", +@rule ∫(((~d)*(~x))^(~m)*((~!a) + (~!b)*acoth((~!c)*(~x)^(~!n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + ext_isinteger((~n)) && + !eq((~m), -1) ? +((~d)*(~x))^((~m) + 1)*((~a) + (~b)*acoth((~c)*(~x)^(~n)))⨸((~d)*((~m) + 1)) - (~b)*(~c)*(~n)⨸((~d)^(~n)*((~m) + 1))*∫(((~d)*(~x))^((~m) + (~n))⨸(1 - (~c)^2*(~x)^(2*(~n))), (~x)) : nothing) + +("7_3_2_21", +@rule ∫(((~d)*(~x))^(~m)*((~!a) + (~!b)*atanh((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + igt((~p), 0) && + ( + eq((~p), 1) || + isrational((~m), (~n)) + ) ? +(~d)^intpart((~m))*((~d)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*atanh((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +("7_3_2_22", +@rule ∫(((~d)*(~x))^(~m)*((~!a) + (~!b)*acoth((~!c)*(~x)^(~!n)))^(~!p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && + igt((~p), 0) && + ( + eq((~p), 1) || + isrational((~m), (~n)) + ) ? +(~d)^intpart((~m))*((~d)*(~x))^fracpart((~m))⨸(~x)^fracpart((~m))* ∫((~x)^(~m)*((~a) + (~b)*acoth((~c)*(~x)^(~n)))^(~p), (~x)) : nothing) + +# ("7_3_2_23", +# @rule ∫(((~!d)*(~x))^(~!m)*((~!a) + (~!b)*atanh((~!c)*(~x)^(~!n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~d)*(~x))^(~m)*((~a) + (~b)*atanh((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) + +# ("7_3_2_24", +# @rule ∫(((~!d)*(~x))^(~!m)*((~!a) + (~!b)*acoth((~!c)*(~x)^(~!n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~d)*(~x))^(~m)*((~a) + (~b)*acoth((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.3 Inverse hyperbolic tangent/7.3.3 (d+e x)^m (a+b arctanh(c x^n))^p.jl b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.3 Inverse hyperbolic tangent/7.3.3 (d+e x)^m (a+b arctanh(c x^n))^p.jl new file mode 100644 index 0000000..3efdbda --- /dev/null +++ b/src/methods/rule_based/rules2/7 Inverse hyperbolic functions/7.3 Inverse hyperbolic tangent/7.3.3 (d+e x)^m (a+b arctanh(c x^n))^p.jl @@ -0,0 +1,143 @@ +file_rules = [ +#(* ::Subsection::Closed:: *) +#(* 7.3.3 (d+e x)^m (a+b arctanh(c x^n))^p *) +("7_3_3_1", +@rule ∫(((~!a) + (~!b)*atanh((~!c)*(~x)))^(~!p)/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + igt((~p), 0) && + eq((~c)^2*(~d)^2 - (~e)^2, 0) ? +-((~a) + (~b)*atanh((~c)*(~x)))^(~p)*log(2⨸(1 + (~e)*(~x)⨸(~d)))⨸(~e) + (~b)*(~c)*(~p)⨸(~e)* ∫(((~a) + (~b)*atanh((~c)*(~x)))^((~p) - 1)*log(2⨸(1 + (~e)*(~x)⨸(~d)))⨸(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("7_3_3_2", +@rule ∫(((~!a) + (~!b)*acoth((~!c)*(~x)))^(~!p)/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + igt((~p), 0) && + eq((~c)^2*(~d)^2 - (~e)^2, 0) ? +-((~a) + (~b)*acoth((~c)*(~x)))^(~p)*log(2⨸(1 + (~e)*(~x)⨸(~d)))⨸(~e) + (~b)*(~c)*(~p)⨸(~e)* ∫(((~a) + (~b)*acoth((~c)*(~x)))^((~p) - 1)*log(2⨸(1 + (~e)*(~x)⨸(~d)))⨸(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("7_3_3_3", +@rule ∫(((~!a) + (~!b)*atanh((~!c)*(~x)))/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~c)^2*(~d)^2 - (~e)^2, 0) ? +-((~a) + (~b)*atanh((~c)*(~x)))*log(2⨸(1 + (~c)*(~x)))⨸(~e) + (~b)*(~c)⨸(~e)*∫(log(2⨸(1 + (~c)*(~x)))⨸(1 - (~c)^2*(~x)^2), (~x)) + ((~a) + (~b)*atanh((~c)*(~x)))*log(2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(~e) - (~b)*(~c)⨸(~e)* ∫(log(2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("7_3_3_4", +@rule ∫(((~!a) + (~!b)*acoth((~!c)*(~x)))/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~c)^2*(~d)^2 - (~e)^2, 0) ? +-((~a) + (~b)*acoth((~c)*(~x)))*log(2⨸(1 + (~c)*(~x)))⨸(~e) + (~b)*(~c)⨸(~e)*∫(log(2⨸(1 + (~c)*(~x)))⨸(1 - (~c)^2*(~x)^2), (~x)) + ((~a) + (~b)*acoth((~c)*(~x)))*log(2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(~e) - (~b)*(~c)⨸(~e)* ∫(log(2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("7_3_3_5", +@rule ∫(((~!a) + (~!b)*atanh((~!c)*(~x)))^2/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~c)^2*(~d)^2 - (~e)^2, 0) ? +-((~a) + (~b)*atanh((~c)*(~x)))^2*log(2⨸(1 + (~c)*(~x)))⨸(~e) + (~b)*((~a) + (~b)*atanh((~c)*(~x)))*PolyLog.reli(2, 1 - 2⨸(1 + (~c)*(~x)))⨸(~e) + (~b)^2*PolyLog.reli(3, 1 - 2⨸(1 + (~c)*(~x)))⨸(2*(~e)) + ((~a) + (~b)*atanh((~c)*(~x)))^2* log(2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(~e) - (~b)*((~a) + (~b)*atanh((~c)*(~x)))* PolyLog.reli(2, 1 - 2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(~e) - (~b)^2*PolyLog.reli(3, 1 - 2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(2*(~e)) : nothing) + +("7_3_3_6", +@rule ∫(((~!a) + (~!b)*acoth((~!c)*(~x)))^2/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~c)^2*(~d)^2 - (~e)^2, 0) ? +-((~a) + (~b)*acoth((~c)*(~x)))^2*log(2⨸(1 + (~c)*(~x)))⨸(~e) + (~b)*((~a) + (~b)*acoth((~c)*(~x)))*PolyLog.reli(2, 1 - 2⨸(1 + (~c)*(~x)))⨸(~e) + (~b)^2*PolyLog.reli(3, 1 - 2⨸(1 + (~c)*(~x)))⨸(2*(~e)) + ((~a) + (~b)*acoth((~c)*(~x)))^2* log(2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(~e) - (~b)*((~a) + (~b)*acoth((~c)*(~x)))* PolyLog.reli(2, 1 - 2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(~e) - (~b)^2*PolyLog.reli(3, 1 - 2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(2*(~e)) : nothing) + +("7_3_3_7", +@rule ∫(((~!a) + (~!b)*atanh((~!c)*(~x)))^3/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~c)^2*(~d)^2 - (~e)^2, 0) ? +-((~a) + (~b)*atanh((~c)*(~x)))^3*log(2⨸(1 + (~c)*(~x)))⨸(~e) + 3*(~b)*((~a) + (~b)*atanh((~c)*(~x)))^2*PolyLog.reli(2, 1 - 2⨸(1 + (~c)*(~x)))⨸(2*(~e)) + 3*(~b)^2*((~a) + (~b)*atanh((~c)*(~x)))*PolyLog.reli(3, 1 - 2⨸(1 + (~c)*(~x)))⨸(2*(~e)) + 3*(~b)^3*PolyLog.reli(4, 1 - 2⨸(1 + (~c)*(~x)))⨸(4*(~e)) + ((~a) + (~b)*atanh((~c)*(~x)))^3* log(2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(~e) - 3*(~b)*((~a) + (~b)*atanh((~c)*(~x)))^2* PolyLog.reli(2, 1 - 2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(2*(~e)) - 3*(~b)^2*((~a) + (~b)*atanh((~c)*(~x)))* PolyLog.reli(3, 1 - 2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(2*(~e)) - 3*(~b)^3*PolyLog.reli(4, 1 - 2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(4*(~e)) : nothing) + +("7_3_3_8", +@rule ∫(((~!a) + (~!b)*acoth((~!c)*(~x)))^3/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + !eq((~c)^2*(~d)^2 - (~e)^2, 0) ? +-((~a) + (~b)*acoth((~c)*(~x)))^3*log(2⨸(1 + (~c)*(~x)))⨸(~e) + 3*(~b)*((~a) + (~b)*acoth((~c)*(~x)))^2*PolyLog.reli(2, 1 - 2⨸(1 + (~c)*(~x)))⨸(2*(~e)) + 3*(~b)^2*((~a) + (~b)*acoth((~c)*(~x)))*PolyLog.reli(3, 1 - 2⨸(1 + (~c)*(~x)))⨸(2*(~e)) + 3*(~b)^3*PolyLog.reli(4, 1 - 2⨸(1 + (~c)*(~x)))⨸(4*(~e)) + ((~a) + (~b)*acoth((~c)*(~x)))^3* log(2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(~e) - 3*(~b)*((~a) + (~b)*acoth((~c)*(~x)))^2* PolyLog.reli(2, 1 - 2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(2*(~e)) - 3*(~b)^2*((~a) + (~b)*acoth((~c)*(~x)))* PolyLog.reli(3, 1 - 2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(2*(~e)) - 3*(~b)^3*PolyLog.reli(4, 1 - 2*(~c)*((~d) + (~e)*(~x))⨸(((~c)*(~d) + (~e))*(1 + (~c)*(~x))))⨸(4*(~e)) : nothing) + +("7_3_3_9", +@rule ∫(((~d) + (~!e)*(~x))^(~!q)*((~!a) + (~!b)*atanh((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~q), (~x)) && + !eq((~q), -1) ? +((~d) + (~e)*(~x))^((~q) + 1)*((~a) + (~b)*atanh((~c)*(~x)))⨸((~e)*((~q) + 1)) - (~b)*(~c)⨸((~e)*((~q) + 1))*∫(((~d) + (~e)*(~x))^((~q) + 1)⨸(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("7_3_3_10", +@rule ∫(((~d) + (~!e)*(~x))^(~!q)*((~!a) + (~!b)*acoth((~!c)*(~x))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~q), (~x)) && + !eq((~q), -1) ? +((~d) + (~e)*(~x))^((~q) + 1)*((~a) + (~b)*acoth((~c)*(~x)))⨸((~e)*((~q) + 1)) - (~b)*(~c)⨸((~e)*((~q) + 1))*∫(((~d) + (~e)*(~x))^((~q) + 1)⨸(1 - (~c)^2*(~x)^2), (~x)) : nothing) + +("7_3_3_11", +@rule ∫(((~d) + (~!e)*(~x))^(~!q)*((~!a) + (~!b)*atanh((~!c)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + igt((~p), 1) && + ext_isinteger((~q)) && + !eq((~q), -1) ? +((~d) + (~e)*(~x))^((~q) + 1)*((~a) + (~b)*atanh((~c)*(~x)))^(~p)⨸((~e)*((~q) + 1)) - (~b)*(~c)*(~p)⨸((~e)*((~q) + 1))* ∫(ext_expand(((~a) + (~b)*atanh((~c)*(~x)))^((~p) - 1), ((~d) + (~e)*(~x))^((~q) + 1)⨸(1 - (~c)^2*(~x)^2), (~x)), (~x)) : nothing) + +("7_3_3_12", +@rule ∫(((~d) + (~!e)*(~x))^(~!q)*((~!a) + (~!b)*acoth((~!c)*(~x)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + igt((~p), 1) && + ext_isinteger((~q)) && + !eq((~q), -1) ? +((~d) + (~e)*(~x))^((~q) + 1)*((~a) + (~b)*acoth((~c)*(~x)))^(~p)⨸((~e)*((~q) + 1)) - (~b)*(~c)*(~p)⨸((~e)*((~q) + 1))* ∫(ext_expand(((~a) + (~b)*acoth((~c)*(~x)))^((~p) - 1), ((~d) + (~e)*(~x))^((~q) + 1)⨸(1 - (~c)^2*(~x)^2), (~x)), (~x)) : nothing) + +("7_3_3_13", +@rule ∫(((~!a) + (~!b)*atanh((~!c)*(~x)^(~n)))/((~!d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + ext_isinteger((~n)) ? +log((~d) + (~e)*(~x))*((~a) + (~b)*atanh((~c)*(~x)^(~n)))⨸(~e) - (~b)*(~c)*(~n)⨸(~e)*∫((~x)^((~n) - 1)*log((~d) + (~e)*(~x))⨸(1 - (~c)^2*(~x)^(2*(~n))), (~x)) : nothing) + +("7_3_3_14", +@rule ∫(((~!a) + (~!b)*acoth((~!c)*(~x)^(~n)))/((~!d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + ext_isinteger((~n)) ? +log((~d) + (~e)*(~x))*((~a) + (~b)*acoth((~c)*(~x)^(~n)))⨸(~e) - (~b)*(~c)*(~n)⨸(~e)*∫((~x)^((~n) - 1)*log((~d) + (~e)*(~x))⨸(1 - (~c)^2*(~x)^(2*(~n))), (~x)) : nothing) + +("7_3_3_15", +@rule ∫(((~!a) + (~!b)*atanh((~!c)*(~x)^(~n)))/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n)) - 1)*((~a) + (~b)*atanh((~c)*(~x)^(ext_den((~n))*(~n))))⨸((~d) + (~e)*(~x)^ext_den((~n))), (~x), (~x), (~x)^(1⨸ext_den((~n))), "7_3_3_15") : nothing) + +("7_3_3_16", +@rule ∫(((~!a) + (~!b)*acoth((~!c)*(~x)^(~n)))/((~d) + (~!e)*(~x)),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~x)) && + isfraction((~n)) ? +ext_den((~n))*int_and_subst((~x)^(ext_den((~n)) - 1)*((~a) + (~b)*acoth((~c)*(~x)^(ext_den((~n))*(~n))))⨸((~d) + (~e)*(~x)^ext_den((~n))), (~x), (~x), (~x)^(1⨸ext_den((~n))), "7_3_3_16") : nothing) + +("7_3_3_17", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*atanh((~!c)*(~x)^(~n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + !eq((~m), -1) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*atanh((~c)*(~x)^(~n)))⨸((~e)*((~m) + 1)) - (~b)*(~c)*(~n)⨸((~e)*((~m) + 1))* ∫((~x)^((~n) - 1)*((~d) + (~e)*(~x))^((~m) + 1)⨸(1 - (~c)^2*(~x)^(2*(~n))), (~x)) : nothing) + +("7_3_3_18", +@rule ∫(((~!d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*acoth((~!c)*(~x)^(~n))),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~x)) && + !eq((~m), -1) ? +((~d) + (~e)*(~x))^((~m) + 1)*((~a) + (~b)*acoth((~c)*(~x)^(~n)))⨸((~e)*((~m) + 1)) - (~b)*(~c)*(~n)⨸((~e)*((~m) + 1))* ∫((~x)^((~n) - 1)*((~d) + (~e)*(~x))^((~m) + 1)⨸(1 - (~c)^2*(~x)^(2*(~n))), (~x)) : nothing) + +("7_3_3_19", +@rule ∫(((~d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*atanh((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + igt((~p), 1) && + igt((~m), 0) ? +∫(ext_expand(((~a) + (~b)*atanh((~c)*(~x)^(~n)))^(~p), ((~d) + (~e)*(~x))^(~m), (~x)), (~x)) : nothing) + +("7_3_3_20", +@rule ∫(((~d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*acoth((~!c)*(~x)^(~n)))^(~p),(~x)) => + !contains_var((~a), (~b), (~c), (~d), (~e), (~n), (~x)) && + igt((~p), 1) && + igt((~m), 0) ? +∫(ext_expand(((~a) + (~b)*acoth((~c)*(~x)^(~n)))^(~p), ((~d) + (~e)*(~x))^(~m), (~x)), (~x)) : nothing) + +# ("7_3_3_21", +# @rule ∫(((~!d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*atanh((~!c)*(~x)^(~n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*atanh((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) + +# ("7_3_3_22", +# @rule ∫(((~!d) + (~!e)*(~x))^(~!m)*((~!a) + (~!b)*acoth((~!c)*(~x)^(~n)))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~e), (~m), (~n), (~p), (~x)) ? +# Unintegrable[((~d) + (~e)*(~x))^(~m)*((~a) + (~b)*acoth((~c)*(~x)^(~n)))^(~p), (~x)] : nothing) + + +] diff --git a/src/methods/rule_based/rules2/9 Miscellaneous/0.1 Integrand simplification rules.jl b/src/methods/rule_based/rules2/9 Miscellaneous/0.1 Integrand simplification rules.jl new file mode 100644 index 0000000..8eeed03 --- /dev/null +++ b/src/methods/rule_based/rules2/9 Miscellaneous/0.1 Integrand simplification rules.jl @@ -0,0 +1,179 @@ +file_rules = [ +# # (* ::Subsection::Closed:: *) +# # (* 9.1 Integrand simplification rules *) +# # (* Int[u_.*(v_+w_)^p_.,x_Symbol] := Int[u*w^p,x] /; FreeQ[p,x] && EqQ[v,0] *) +# ("0_1_0", +# @rule ∫(+(~~a),~x) => sum(map(f -> ∫(f,~x), ~a))) +# +# ("0_1_6", +# @rule ∫((~!u)*((~!a)*(~v) + (~!b)*(~v) + (~!w))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~x)) && +# contains_var((~v), (~x)) ? +# ∫((~u)*(((~a) + (~b))*(~v) + (~w))^(~p), (~x)) : nothing) +# +# ("0_1_7", +# @rule ∫((~!u)*(~Px)^(~p),(~x)) => +# poly((~Px), (~x)) && +# !(isrational((~p))) && +# !contains_var((~p), (~x)) && +# isrational(simplify((~p))) ? +# ∫((~u)*(~Px)^simplify((~p)), (~x)) : nothing) + +("0_1_8", +:(∫((~a),(~x)) ) => :( + !contains_var((~a), (~x)) ? +(~a)*(~x) : nothing)) + +# ("0_1_12", +# @rule ∫(*(~~a),~x) => +# let +# out = prod([contains_var(el,~x) ? 1 : el for el in ~a]) +# eq(out,1) ? (return nothing) : (return out*∫(prod([contains_var(el,~x) ? el : 1 for el in ~a]),~x)) +# end : nothing +# ) +# +# # TODO if pattern matching was better 0_1_12_[1,2,3] would be handled by 0_1_12 +("0_1_12_1", +:(∫((~a)/(~u),(~x)) ) => :( + !contains_var(~a, ~x) && + !eq(~a,1) ? +(~a)*∫(1/(~u), ~x) : nothing)) + +("0_1_12_2", +:(∫((~a * ~v)/(~u),(~x)) ) => :( + !contains_var(~a, ~x) && + !eq(~a,1) ? +(~a)*∫((~v)/(~u), ~x) : nothing)) + +("0_1_12_3", +:(∫((~v)/(~a * ~u),(~x)) ) => :( + !contains_var(~a, ~x) && + !eq(~a,1) ? +(1⨸(~a))*∫((~v)/(~u), ~x) : nothing)) + +# +# ("0_1_13", +# @rule ∫((~!u)*((~!a)*(~x)^(~n))^(~m),(~x)) => +# !contains_var((~a), (~m), (~n), (~x)) && +# !(ext_isinteger((~m))) ? +# (~a)^intpart((~m))*((~a)*(~x)^(~n))^fracpart((~m))⨸(~x)^((~n)*fracpart((~m)))* ∫((~u)*(~x)^((~m)*(~n)), (~x)) : nothing) +# +# ("0_1_14", +# @rule ∫((~!u)*(~v)^(~!m)*((~b)*(~v))^(~n),(~x)) => +# !contains_var((~b), (~n), (~x)) && +# ext_isinteger((~m)) ? +# 1⨸(~b)^(~m)*∫((~u)*((~b)*(~v))^((~m) + (~n)), (~x)) : nothing) +# +# ("0_1_15", +# @rule ∫((~!u)*((~!a)*(~v))^(~m)*((~!b)*(~v))^(~n),(~x)) => +# !contains_var((~a), (~b), (~m), (~x)) && +# !(ext_isinteger((~m))) && +# igt((~n) + 1/2, 0) && +# ext_isinteger((~m) + (~n)) ? +# (~a)^((~m) + 1⨸2)*(~b)^((~n) - 1⨸2)*sqrt((~b)*(~v))⨸sqrt((~a)*(~v))*∫((~u)*(~v)^((~m) + (~n)), (~x)) : nothing) +# +# # (* Int[u_.*(a_.*v_)^m_*(b_.*v_)^n_,x_Symbol] := b^(n-1/2)*Sqrt[b*v]/(a^(n-1/2)*Sqrt[a*v])*Int[u*(a*v)^(m+n),x] /; FreeQ[{a,b,m},x] && Not[IntegerQ[m]] && IGtQ[n+1/2,0] && Not[IntegerQ[m+n]] *) +# ("0_1_16", +# @rule ∫((~!u)*((~!a)*(~v))^(~m)*((~!b)*(~v))^(~n),(~x)) => +# !contains_var((~a), (~b), (~m), (~x)) && +# !(ext_isinteger((~m))) && +# ilt((~n) - 1/2, 0) && +# ext_isinteger((~m) + (~n)) ? +# (~a)^((~m) - 1⨸2)*(~b)^((~n) + 1⨸2)*sqrt((~a)*(~v))⨸sqrt((~b)*(~v))*∫((~u)*(~v)^((~m) + (~n)), (~x)) : nothing) +# +# # (* Int[u_.*(a_.*v_)^m_*(b_.*v_)^n_,x_Symbol] := b^(n+1/2)*Sqrt[a*v]/(a^(n+1/2)*Sqrt[b*v])*Int[u*(a*v)^(m+n),x] /; FreeQ[{a,b,m},x] && Not[IntegerQ[m]] && ILtQ[n-1/2,0] && Not[IntegerQ[m+n]] *) +# ("0_1_17", +# @rule ∫((~!u)*((~!a)*(~v))^(~m)*((~!b)*(~v))^(~n),(~x)) => +# !contains_var((~a), (~b), (~m), (~n), (~x)) && +# !(ext_isinteger((~m))) && +# !(ext_isinteger((~n))) && +# ext_isinteger((~m) + (~n)) ? +# (~a)^((~m) + (~n))*((~b)*(~v))^(~n)⨸((~a)*(~v))^(~n)*∫((~u)*(~v)^((~m) + (~n)), (~x)) : nothing) +# +# ("0_1_18", +# @rule ∫((~!u)*((~!a)*(~v))^(~m)*((~!b)*(~v))^(~n),(~x)) => +# !contains_var((~a), (~b), (~m), (~n), (~x)) && +# !(ext_isinteger((~m))) && +# !(ext_isinteger((~n))) && +# !(ext_isinteger((~m) + (~n))) ? +# (~b)^intpart((~n))*((~b)*(~v))^fracpart((~n))⨸((~a)^intpart((~n))*((~a)*(~v))^fracpart((~n)))* ∫((~u)*((~a)*(~v))^((~m) + (~n)), (~x)) : nothing) +# +# ("0_1_19", +# @rule ∫((~!u)*((~a) + (~!b)*(~v))^(~!m)*((~c) + (~!d)*(~v))^(~!n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~n), (~x)) && +# eq((~b)*(~c) - (~a)*(~d), 0) && +# ext_isinteger((~m)) && +# ( +# !(ext_isinteger((~n))) || +# simpler((~c) + (~d)*(~x), (~a) + (~b)*(~x)) +# ) ? +# ((~b)⨸(~d))^(~m)*∫((~u)*((~c) + (~d)*(~v))^((~m) + (~n)), (~x)) : nothing) +# +# ("0_1_20", +# @rule ∫((~!u)*((~a) + (~!b)*(~v))^(~m)*((~c) + (~!d)*(~v))^(~n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && +# eq((~b)*(~c) - (~a)*(~d), 0) && +# gt((~b)/(~d), 0) && +# !( +# ext_isinteger((~m)) || +# ext_isinteger((~n)) +# ) ? +# ((~b)⨸(~d))^(~m)*∫((~u)*((~c) + (~d)*(~v))^((~m) + (~n)), (~x)) : nothing) +# +# ("0_1_21", +# @rule ∫((~!u)*((~a) + (~!b)*(~v))^(~m)*((~c) + (~!d)*(~v))^(~n),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && +# eq((~b)*(~c) - (~a)*(~d), 0) && +# !( +# ext_isinteger((~m)) || +# ext_isinteger((~n)) || +# gt((~b)/(~d), 0) +# ) ? +# ((~a) + (~b)*(~v))^(~m)⨸((~c) + (~d)*(~v))^(~m)*∫((~u)*((~c) + (~d)*(~v))^((~m) + (~n)), (~x)) : nothing) +# +# # (* Int[u_.*(a_.*v_)^m_*(b_.*v_+c_.*v_^2),x_Symbol] := 1/a*Int[u*(a*v)^(m+1)*(b+c*v),x] /; FreeQ[{a,b,c},x] && LeQ[m,-1] *) +# ("0_1_22", +# @rule ∫((~!u)*((~a) + (~!b)*(~v))^(~m)*((~!A) + (~!B)*(~v) + (~!C)*(~v)^2),(~x)) => +# !contains_var((~a), (~b), (~A), (~B), (~C), (~x)) && +# eq((~A)*(~b)^2 - (~a)*(~b)*(~B) + (~a)^2*(~C), 0) && +# le((~m), -1) ? +# 1⨸(~b)^2*∫((~u)*((~a) + (~b)*(~v))^((~m) + 1)*simplify((~b)*(~B) - (~a)*(~C) + (~b)*(~C)*(~v), (~x)), (~x)) : nothing) +# +# ("0_1_23", +# @rule ∫((~!u)*((~a) + (~!b)*(~x)^(~!n))^(~!m)*((~c) + (~!d)*(~x)^(~!q))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~x)) && +# eq((~q), -(~n)) && +# ext_isinteger((~p)) && +# eq((~a)*(~c) - (~b)*(~d), 0) && +# !( +# ext_isinteger((~m)) && +# neg((~n)) +# ) ? +# ((~d)⨸(~a))^(~p)*∫((~u)*((~a) + (~b)*(~x)^(~n))^((~m) + (~p))⨸(~x)^((~n)*(~p)), (~x)) : nothing) +# +# ("0_1_24", +# @rule ∫((~!u)*((~a) + (~!b)*(~x)^(~!n))^(~!m)*((~c) + (~!d)*(~x)^(~j))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~d), (~m), (~n), (~p), (~x)) && +# eq((~j), 2*(~n)) && +# eq((~p), -(~m)) && +# eq((~b)^2*(~c) + (~a)^2*(~d), 0) && +# gt((~a), 0) && +# lt((~d), 0) ? +# (-(~b)^2⨸(~d))^(~m)*∫((~u)*((~a) - (~b)*(~x)^(~n))^(-(~m)), (~x)) : nothing) +# +# ("0_1_25", +# @rule ∫((~!u)*((~a) + (~!b)*(~x) + (~!c)*(~x)^2)^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~x)) && +# eq((~b)^2 - 4*(~a)*(~c), 0) && +# ext_isinteger((~p)) ? +# ∫((~u)*simplify(((~b)⨸2 + (~c)*(~x))^(2*(~p))⨸(~c)^(~p)), (~x)) : nothing) +# +# ("0_1_26", +# @rule ∫((~!u)*((~a) + (~!b)*(~x)^(~n) + (~!c)*(~x)^(~!n2))^(~!p),(~x)) => +# !contains_var((~a), (~b), (~c), (~n), (~x)) && +# eq(~n2, 2*(~n)) && +# eq((~b)^2 - 4*(~a)*(~c), 0) && +# ext_isinteger((~p)) ? +# 1⨸(~c)^(~p)*∫((~u)*((~b)⨸2 + (~c)*(~x)^(~n))^(2*(~p)), (~x)) : nothing) +# +] \ No newline at end of file diff --git a/test/test_rule2.jl b/test/test_rule2.jl new file mode 100644 index 0000000..d8adfff --- /dev/null +++ b/test/test_rule2.jl @@ -0,0 +1,14 @@ +using Test + +@syms a + +@testset begin + r1 = :(sin(2*~x)) => :(2sin(~x)*cos(~x)) + + @test SymbolicIntegration.rule2(r1, sin(2a)) !== nothing + + r_defslot = :((~x)^(~!m)) => :(((~x)^(~m+1)/(~m+1))) + + @test SymbolicIntegration.rule2(r_defslot, a^2) !== nothing + @test SymbolicIntegration.rule2(r_defslot, a) !== nothing +end \ No newline at end of file From 6cf9eda261a494bc79dfe7d93ce3aefb8736ec53 Mon Sep 17 00:00:00 2001 From: Bumblebee00 Date: Mon, 17 Nov 2025 22:57:12 +0100 Subject: [PATCH 10/17] added some more rules --- src/methods/rule_based/general.jl | 2 +- ...2.1 (c+d x)^m (a+b (F^(g (e+f x)))^n)^p.jl | 40 +++++++++---------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/methods/rule_based/general.jl b/src/methods/rule_based/general.jl index a95d0e4..1162bbd 100644 --- a/src/methods/rule_based/general.jl +++ b/src/methods/rule_based/general.jl @@ -133,7 +133,7 @@ all_rules_paths = [ # # # -# "2 Exponentials/2.1 (c+d x)^m (a+b (F^(g (e+f x)))^n)^p.jl" +"2 Exponentials/2.1 (c+d x)^m (a+b (F^(g (e+f x)))^n)^p.jl" # "2 Exponentials/2.2 (c+d x)^m (F^(g (e+f x)))^n (a+b (F^(g (e+f x)))^n)^p.jl" # "2 Exponentials/2.3 Miscellaneous exponentials.jl" # diff --git a/src/methods/rule_based/rules2/2 Exponentials/2.1 (c+d x)^m (a+b (F^(g (e+f x)))^n)^p.jl b/src/methods/rule_based/rules2/2 Exponentials/2.1 (c+d x)^m (a+b (F^(g (e+f x)))^n)^p.jl index cb1533d..0b3edc0 100644 --- a/src/methods/rule_based/rules2/2 Exponentials/2.1 (c+d x)^m (a+b (F^(g (e+f x)))^n)^p.jl +++ b/src/methods/rule_based/rules2/2 Exponentials/2.1 (c+d x)^m (a+b (F^(g (e+f x)))^n)^p.jl @@ -2,69 +2,69 @@ file_rules = [ # (* ::Subsection::Closed:: *) # (* 2.1 (c+d x)^m (a+b (F^(g (e+f x)))^n)^p *) ("2_1_1", -@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~!b)*(~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n),(~x)) => +:(∫(((~!c) + (~!d)*(~x))^(~!m)*((~!b)*(~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n),(~x)) ) => :( !contains_var((~F), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && gt((~m), 0) && ext_isinteger(2*(~m)) && !(USE_GAMMA) ? -((~c) + (~d)*(~x))^(~m)*((~b)*(~F)^((~g)*((~e) + (~f)*(~x))))^(~n)⨸((~f)*(~g)*(~n)*log((~F))) - (~d)*(~m)⨸((~f)*(~g)*(~n)*log((~F)))* ∫(((~c) + (~d)*(~x))^((~m) - 1)*((~b)*(~F)^((~g)*((~e) + (~f)*(~x))))^(~n), (~x)) : nothing) +((~c) + (~d)*(~x))^(~m)*((~b)*(~F)^((~g)*((~e) + (~f)*(~x))))^(~n)⨸((~f)*(~g)*(~n)*log((~F))) - (~d)*(~m)⨸((~f)*(~g)*(~n)*log((~F)))* ∫(((~c) + (~d)*(~x))^((~m) - 1)*((~b)*(~F)^((~g)*((~e) + (~f)*(~x))))^(~n), (~x)) : nothing)) ("2_1_2", -@rule ∫(((~!c) + (~!d)*(~x))^(~m)*((~!b)*(~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n),(~x)) => +:(∫(((~!c) + (~!d)*(~x))^(~m)*((~!b)*(~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n),(~x)) ) => :( !contains_var((~F), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && lt((~m), -1) && ext_isinteger(2*(~m)) && !(USE_GAMMA) ? -((~c) + (~d)*(~x))^((~m) + 1)*((~b)*(~F)^((~g)*((~e) + (~f)*(~x))))^(~n)⨸((~d)*((~m) + 1)) - (~f)*(~g)*(~n)*log((~F))⨸((~d)*((~m) + 1))* ∫(((~c) + (~d)*(~x))^((~m) + 1)*((~b)*(~F)^((~g)*((~e) + (~f)*(~x))))^(~n), (~x)) : nothing) +((~c) + (~d)*(~x))^((~m) + 1)*((~b)*(~F)^((~g)*((~e) + (~f)*(~x))))^(~n)⨸((~d)*((~m) + 1)) - (~f)*(~g)*(~n)*log((~F))⨸((~d)*((~m) + 1))* ∫(((~c) + (~d)*(~x))^((~m) + 1)*((~b)*(~F)^((~g)*((~e) + (~f)*(~x))))^(~n), (~x)) : nothing)) ("2_1_3", -@rule ∫((~F)^((~!g)*((~!e) + (~!f)*(~x)))/((~!c) + (~!d)*(~x)),(~x)) => +:(∫((~F)^((~!g)*((~!e) + (~!f)*(~x)))/((~!c) + (~!d)*(~x)),(~x)) ) => :( !contains_var((~F), (~c), (~d), (~e), (~f), (~g), (~x)) && !(USE_GAMMA) ? -(~F)^((~g)*((~e) - (~c)*(~f)⨸(~d)))⨸(~d)*SymbolicUtils.expinti((~f)*(~g)*((~c) + (~d)*(~x))*log((~F))⨸(~d)) : nothing) +(~F)^((~g)*((~e) - (~c)*(~f)⨸(~d)))⨸(~d)*SymbolicUtils.expinti((~f)*(~g)*((~c) + (~d)*(~x))*log((~F))⨸(~d)) : nothing)) ("2_1_4", -@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*(~F)^((~!g)*((~!e) + (~!f)*(~x))),(~x)) => +:(∫(((~!c) + (~!d)*(~x))^(~!m)*(~F)^((~!g)*((~!e) + (~!f)*(~x))),(~x)) ) => :( !contains_var((~F), (~c), (~d), (~e), (~f), (~g), (~x)) && ext_isinteger((~m)) ? -(-(~d))^(~m)*(~F)^((~g)*((~e) - (~c)*(~f)⨸(~d)))⨸((~f)^((~m) + 1)*(~g)^((~m) + 1)*log((~F))^((~m) + 1))* SymbolicUtils.gamma((~m) + 1, -(~f)*(~g)*log((~F))⨸(~d)*((~c) + (~d)*(~x))) : nothing) +(-(~d))^(~m)*(~F)^((~g)*((~e) - (~c)*(~f)⨸(~d)))⨸((~f)^((~m) + 1)*(~g)^((~m) + 1)*log((~F))^((~m) + 1))* SymbolicUtils.gamma((~m) + 1, -(~f)*(~g)*log((~F))⨸(~d)*((~c) + (~d)*(~x))) : nothing)) ("2_1_5", -@rule ∫((~F)^((~!g)*((~!e) + (~!f)*(~x)))/sqrt((~!c) + (~!d)*(~x)),(~x)) => +:(∫((~F)^((~!g)*((~!e) + (~!f)*(~x)))/sqrt((~!c) + (~!d)*(~x)),(~x)) ) => :( !contains_var((~F), (~c), (~d), (~e), (~f), (~g), (~x)) && !(USE_GAMMA) ? -2⨸(~d)*int_and_subst((~F)^((~g)*((~e) - (~c)*(~f)⨸(~d)) + (~f)*(~g)*(~x)^2⨸(~d)), (~x), (~x), sqrt((~c) + (~d)*(~x)), "2_1_5") : nothing) +2⨸(~d)*int_and_subst((~F)^((~g)*((~e) - (~c)*(~f)⨸(~d)) + (~f)*(~g)*(~x)^2⨸(~d)), (~x), (~x), sqrt((~c) + (~d)*(~x)), "2_1_5") : nothing)) ("2_1_6", -@rule ∫(((~!c) + (~!d)*(~x))^(~m)*(~F)^((~!g)*((~!e) + (~!f)*(~x))),(~x)) => +:(∫(((~!c) + (~!d)*(~x))^(~m)*(~F)^((~!g)*((~!e) + (~!f)*(~x))),(~x)) ) => :( !contains_var((~F), (~c), (~d), (~e), (~f), (~g), (~m), (~x)) && !(ext_isinteger((~m))) ? --(~F)^((~g)*((~e) - (~c)*(~f)⨸(~d)))*((~c) + (~d)*(~x))^ fracpart( (~m))⨸((~d)*(-(~f)*(~g)*log((~F))⨸(~d))^(intpart((~m)) + 1)*(-(~f)*(~g)* log((~F))*((~c) + (~d)*(~x))⨸(~d))^fracpart((~m)))* SymbolicUtils.gamma((~m) + 1, (-(~f)*(~g)*log((~F))⨸(~d))*((~c) + (~d)*(~x))) : nothing) +-(~F)^((~g)*((~e) - (~c)*(~f)⨸(~d)))*((~c) + (~d)*(~x))^ fracpart( (~m))⨸((~d)*(-(~f)*(~g)*log((~F))⨸(~d))^(intpart((~m)) + 1)*(-(~f)*(~g)* log((~F))*((~c) + (~d)*(~x))⨸(~d))^fracpart((~m)))* SymbolicUtils.gamma((~m) + 1, (-(~f)*(~g)*log((~F))⨸(~d))*((~c) + (~d)*(~x))) : nothing)) ("2_1_7", -@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~!b)*(~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~n),(~x)) => +:(∫(((~!c) + (~!d)*(~x))^(~!m)*((~!b)*(~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~n),(~x)) ) => :( !contains_var((~F), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~x)) ? -((~b)*(~F)^((~g)*((~e) + (~f)*(~x))))^(~n)⨸(~F)^((~g)*(~n)*((~e) + (~f)*(~x)))* ∫(((~c) + (~d)*(~x))^(~m)*(~F)^((~g)*(~n)*((~e) + (~f)*(~x))), (~x)) : nothing) +((~b)*(~F)^((~g)*((~e) + (~f)*(~x))))^(~n)⨸(~F)^((~g)*(~n)*((~e) + (~f)*(~x)))* ∫(((~c) + (~d)*(~x))^(~m)*(~F)^((~g)*(~n)*((~e) + (~f)*(~x))), (~x)) : nothing)) ("2_1_8", -@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~a) + (~!b)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n))^(~!p),(~x)) => +:(∫(((~!c) + (~!d)*(~x))^(~!m)*((~a) + (~!b)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n))^(~!p),(~x)) ) => :( !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~m), (~n), (~x)) && igt((~p), 0) ? -∫(ext_expand(((~c) + (~d)*(~x))^(~m), ((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n))^(~p), (~x)), (~x)) : nothing) +∫(ext_expand(((~c) + (~d)*(~x))^(~m), ((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n))^(~p), (~x)), (~x)) : nothing)) ("2_1_9", -@rule ∫(((~!c) + (~!d)*(~x))^(~!m)/((~a) + (~!b)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n)),(~x)) => +:(∫(((~!c) + (~!d)*(~x))^(~!m)/((~a) + (~!b)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n)),(~x)) ) => :( !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && igt((~m), 0) ? -((~c) + (~d)*(~x))^((~m) + 1)⨸((~a)*(~d)*((~m) + 1)) - (~b)⨸(~a)*∫(((~c) + (~d)*(~x))^ (~m)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n)⨸((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n)), (~x)) : nothing) +((~c) + (~d)*(~x))^((~m) + 1)⨸((~a)*(~d)*((~m) + 1)) - (~b)⨸(~a)*∫(((~c) + (~d)*(~x))^ (~m)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n)⨸((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n)), (~x)) : nothing)) # (* Int[(c_.+d_.*x_)^m_./(a_+b_.*(F_^(g_.*(e_.+f_.*x_)))^n_.),x_Symbol] := -(c+d*x)^m/(a*f*g*n*Log[F])*Log[1+a/(b*(F^(g*(e+f*x)))^n)] + d*m/(a*f*g*n*Log[F])*Int[(c+d*x)^(m-1)*Log[1+a/(b*(F^(g*(e+f*x)))^n) ],x] /; FreeQ[{F,a,b,c,d,e,f,g,n},x] && IGtQ[m,0] *) ("2_1_10", -@rule ∫(((~!c) + (~!d)*(~x))^(~!m)*((~a) + (~!b)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n))^(~p),(~x)) => +:(∫(((~!c) + (~!d)*(~x))^(~!m)*((~a) + (~!b)*((~F)^((~!g)*((~!e) + (~!f)*(~x))))^(~!n))^(~p),(~x)) ) => :( !contains_var((~F), (~a), (~b), (~c), (~d), (~e), (~f), (~g), (~n), (~x)) && ilt((~p), 0) && igt((~m), 0) ? -1⨸(~a)*∫(((~c) + (~d)*(~x))^(~m)*((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n))^((~p) + 1), (~x)) - (~b)⨸(~a)* ∫(((~c) + (~d)*(~x))^(~m)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n)*((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n))^(~p), (~x)) : nothing) +1⨸(~a)*∫(((~c) + (~d)*(~x))^(~m)*((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n))^((~p) + 1), (~x)) - (~b)⨸(~a)* ∫(((~c) + (~d)*(~x))^(~m)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n)*((~a) + (~b)*((~F)^((~g)*((~e) + (~f)*(~x))))^(~n))^(~p), (~x)) : nothing)) # TODO find definition of Dist and NormalizePowerOfLinear functinos.... where are they!!!!!?????? # ("2_1_11", From 8660046ac7f5dbdb7b86603763603154682efd31 Mon Sep 17 00:00:00 2001 From: Bumblebee00 Date: Mon, 17 Nov 2025 23:28:15 +0100 Subject: [PATCH 11/17] removed useless variable --- src/methods/rule_based/rule2.jl | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/methods/rule_based/rule2.jl b/src/methods/rule_based/rule2.jl index 5773ec8..87d1b44 100644 --- a/src/methods/rule_based/rule2.jl +++ b/src/methods/rule_based/rule2.jl @@ -1,10 +1,8 @@ rv = false # rule verbose using Combinatorics: permutations -# empty Base.ImmutableDict of the correct type const SymsType = SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal} -const MatchDict = Base.ImmutableDict{Symbol, SymsType} -const NO_MATCHES = MatchDict() # or {Symbol, Union{Symbol, Real}} ? +const MatchDict = Base.ImmutableDict{Symbol, SymsType} # or {Symbol, Union{Symbol, Real}} ? const FAIL_DICT = MatchDict(:_fail,0) const op_map = Dict(:+ => 0, :* => 1, :^ => 1) @@ -142,7 +140,7 @@ rewrite(matches::MatchDict, rhs::Symbol) = rhs::Symbol rewrite(matches::MatchDict, rhs::Real) = rhs::Real function rule2(rule::Pair{Expr, Expr}, exp::SymsType)::Union{SymsType, Nothing} - m = check_expr_r(exp, rule.first, NO_MATCHES) + m = check_expr_r(exp, rule.first, MatchDict()) rv&&m===FAIL_DICT && println("RULE FAILED MATCH") m===FAIL_DICT && return nothing::Nothing r = rewrite(m, rule.second) From 27a360d3124b83c0f410f8a04df8c037bbf858f3 Mon Sep 17 00:00:00 2001 From: Bumblebee00 Date: Sun, 23 Nov 2025 23:27:42 +0100 Subject: [PATCH 12/17] added verbose levels --- src/methods/rule_based/rule2.jl | 39 +++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/src/methods/rule_based/rule2.jl b/src/methods/rule_based/rule2.jl index 87d1b44..6d84e2d 100644 --- a/src/methods/rule_based/rule2.jl +++ b/src/methods/rule_based/rule2.jl @@ -1,10 +1,18 @@ -rv = false # rule verbose - +# TODO rule condition inside the process? leads to faster cycling trough all the rules? using Combinatorics: permutations + const SymsType = SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal} const MatchDict = Base.ImmutableDict{Symbol, SymsType} # or {Symbol, Union{Symbol, Real}} ? const FAIL_DICT = MatchDict(:_fail,0) const op_map = Dict(:+ => 0, :* => 1, :^ => 1) +""" +Rule verbose level: +0 - print nothing +1 - print "applying rule ... on expr ..." and if the rule succeded or not +2 - print also the result of the rewriting before eval +3 - print also every recursive call +""" +vblvl = 2 """ data is a symbolic expression, we need to check if respects the rule @@ -17,10 +25,10 @@ return value is a ImmutableDict 3) otherwise the dictionary of old + new ones is returned that could look like: Base.ImmutableDict{Symbol, SymbolicUtils.BasicSymbolicImpl.var"typeof(BasicSymbolicImpl)"{SymReal}}(:x => a, :y => b) -TODO matches does assigment or mutation? which is faster? """ +# TODO matches does assigment or mutation? which is faster? function check_expr_r(data::SymsType, rule::Expr, matches::MatchDict) - rv&&println("Checking ",data," against ",rule,", with matches: ",[m for m in matches]...) + vblvl>=3&&println("Checking ",data," against ",rule,", with matches: ",[m for m in matches]...) rule.head != :call && error("It happened, rule head is not a call") #it should never happen # rule is a slot if rule.head == :call && rule.args[1] == :(~) @@ -51,12 +59,12 @@ function check_expr_r(data::SymsType, rule::Expr, matches::MatchDict) else error("defslot error")# it should never happen end - rv = check_expr_r(data, newr, matches) - rv!==FAIL_DICT && return rv::MatchDict + rdict = check_expr_r(data, newr, matches) + rdict!==FAIL_DICT && return rdict::MatchDict # if no normal match, check only the non-defslot part of the rule - rv = check_expr_r(data, rule.args[p==1 ? 3 : 2], matches) + rdict = check_expr_r(data, rule.args[p==1 ? 3 : 2], matches) # if yes match - rv!==FAIL_DICT && return Base.ImmutableDict(rv, rule.args[p+1].args[2].args[2], get(op_map, rule.args[1], -1))::MatchDict + rdict!==FAIL_DICT && return Base.ImmutableDict(rdict, rule.args[p+1].args[2].args[2], get(op_map, rule.args[1], -1))::MatchDict return FAIL_DICT::MatchDict else # rule is a call, check operation and arguments @@ -138,11 +146,18 @@ end rewrite(matches::MatchDict, rhs::Symbol) = rhs::Symbol # called each time in the rhs there is a real (like +1 or -2) rewrite(matches::MatchDict, rhs::Real) = rhs::Real +# called each time in the rhs there is a string, like in int_and_subst calls +rewrite(matches::MatchDict, rhs::String) = rhs::String +# rewrite(matches::MatchDict, rhs) = rhs <--- NOT PRESENT ON PURPOSE, +# i want to know each type exactly -function rule2(rule::Pair{Expr, Expr}, exp::SymsType)::Union{SymsType, Nothing} - m = check_expr_r(exp, rule.first, MatchDict()) - rv&&m===FAIL_DICT && println("RULE FAILED MATCH") +function rule2(rule::Pair{Expr, Expr}, expr::SymsType)::Union{SymsType, Nothing} + vblvl>=1&&println("Applying $rule on $expr") + m = check_expr_r(expr, rule.first, MatchDict()) + vblvl>=1&&m===FAIL_DICT && println("Rule failed to match") m===FAIL_DICT && return nothing::Nothing + vblvl>=1&&println("Rule matched succesfully") r = rewrite(m, rule.second) - return eval(r)::SymsType + vblvl>=2&&println("About to return eval of $r") + return eval(r) end \ No newline at end of file From 289e8c90addb8a6c00cbc62c2a5d5db0c2fa7ed3 Mon Sep 17 00:00:00 2001 From: Bumblebee00 Date: Sun, 23 Nov 2025 23:28:22 +0100 Subject: [PATCH 13/17] rule based now is default sorry --- src/methods.jl | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/methods.jl b/src/methods.jl index d74e77d..9736e03 100644 --- a/src/methods.jl +++ b/src/methods.jl @@ -87,17 +87,19 @@ No rule found for ∫(abs(x), x) ``` """ function integrate(f::Symbolics.Num, x::Symbolics.Num; kwargs...) + result = integrate_rule_based(f, x; kwargs...) + !contains_int(result) && return result + + printstyled(" > RuleBasedMethod(use_gamma=false, verbose=true) failed, returning $result \n";color=:red) + printstyled(" > Sorry we cannot integrate this expression :(\n";color=:red) + result = integrate_risch(f.val, x.val; kwargs...) !contains_int(result) && return result # TODO make them verbose? printstyled("\n > RischMethod(use_algebraic_closure=false, catch_errors=true) failed, returning $result \n";color=:red) printstyled(" > Trying with RuleBasedMethod(use_gamma=false, verbose=true)...\n\n"; color=:red) - result = integrate_rule_based(f, x; kwargs...) - !contains_int(result) && return result - - printstyled(" > RuleBasedMethod(use_gamma=false, verbose=true) failed, returning $result \n";color=:red) - printstyled(" > Sorry we cannot integrate this expression :(\n";color=:red) + end """ @@ -113,7 +115,7 @@ function integrate(f::Symbolics.Num, method=nothing; kwargs...) @warn "Multiple symbolic variables detect. Please pass the integration variable to the `integrate` function as second argument." return nothing elseif length(vars) == 1 - integration_variable = vars[1] + integration_variable = first(vars) else @warn "No integration variable provided" return nothing From b6b355d7b94a5f904cb44d2af2a27db865889f89 Mon Sep 17 00:00:00 2001 From: Bumblebee00 Date: Sun, 23 Nov 2025 23:28:44 +0100 Subject: [PATCH 14/17] fix --- src/methods/risch/frontend.jl | 1 - 1 file changed, 1 deletion(-) diff --git a/src/methods/risch/frontend.jl b/src/methods/risch/frontend.jl index 55e2dd1..16cd517 100644 --- a/src/methods/risch/frontend.jl +++ b/src/methods/risch/frontend.jl @@ -292,7 +292,6 @@ end function analyze_expr(f::SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal} , funs::Vector, vars::Vector{SymbolicUtils.BasicSymbolic{SymbolicUtils.SymReal}}, args::Vector, tanArgs::Vector, expArgs::Vector) - println("fae called with $f") # Handle pure symbols if SymbolicUtils.issym(f) if hash(f) != hash(funs[1]) From fbebc9eddb9374a0d6d7d18ff694bd6b657e9993 Mon Sep 17 00:00:00 2001 From: Bumblebee00 Date: Sun, 23 Nov 2025 23:30:31 +0100 Subject: [PATCH 15/17] refactored two functions to be SUv4 compatible. This is going to be long --- .../rule_based/rules_utility_functions.jl | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/methods/rule_based/rules_utility_functions.jl b/src/methods/rule_based/rules_utility_functions.jl index e3482fb..a0bd087 100644 --- a/src/methods/rule_based/rules_utility_functions.jl +++ b/src/methods/rule_based/rules_utility_functions.jl @@ -27,6 +27,7 @@ function contains_var(expr, var) end end end + println("ctssvars returning false") return false end @@ -59,6 +60,11 @@ end s(u) = isa(Symbolics.unwrap(u), SymbolicUtils.BasicSymbolic) function eq(a, b) + a = SymbolicUtils.unwrap_const(a) + b = SymbolicUtils.unwrap_const(b) + println(a, b) + println(typeof(a), typeof(b)) + !s(a) && !s(b) && println(isequal(a, b)) !s(a) && !s(b) && return isequal(a, b) return SymbolicUtils.simplify(a - b) |> SymbolicUtils._iszero end @@ -236,9 +242,17 @@ function intpart(a) end # Greater than -gt(u, v) = (s(u) || s(v)) ? false : u > v +function gt(u, v) + u = SymbolicUtils.unwrap_const(u) + v = SymbolicUtils.unwrap_const(v) + (s(u) || s(v)) ? false : u > v +end gt(u, v, w) = gt(u, v) && gt(v, w) -ge(u, v) = (s(u) || s(v)) ? false : u >= v +function ge(u, v) + u = SymbolicUtils.unwrap_const(u) + v = SymbolicUtils.unwrap_const(v) + (s(u) || s(v)) ? false : u >= v +end ge(u, v, w) = ge(u, v) && ge(v, w) lt(u, v) = (s(u) || s(v)) ? false : u < v lt(u, v, w) = lt(u, v) && lt(v, w) From a67c887eca2b30bb6f927618f7f2b95abc471b2e Mon Sep 17 00:00:00 2001 From: Bumblebee00 Date: Mon, 24 Nov 2025 00:01:40 +0100 Subject: [PATCH 16/17] handled Rationals support bc SUv4 handlese them differently --- src/methods/rule_based/rule2.jl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/methods/rule_based/rule2.jl b/src/methods/rule_based/rule2.jl index 6d84e2d..b00adc6 100644 --- a/src/methods/rule_based/rule2.jl +++ b/src/methods/rule_based/rule2.jl @@ -12,7 +12,7 @@ Rule verbose level: 2 - print also the result of the rewriting before eval 3 - print also every recursive call """ -vblvl = 2 +vblvl = 0 """ data is a symbolic expression, we need to check if respects the rule @@ -69,6 +69,12 @@ function check_expr_r(data::SymsType, rule::Expr, matches::MatchDict) else # rule is a call, check operation and arguments # - check operation + if (rule.args[1] == ://) && isa(SymbolicUtils.unwrap_const(data), Rational) + # rational is a special case, in the integation rules is present only in between numbers, like 1//2 + r = SymbolicUtils.unwrap_const(data) + r.num == rule.args[2] && r.den == rule.args[3] && return matches::MatchDict + return FAIL_DICT::MatchDict + end !iscall(data) && return FAIL_DICT::MatchDict (Symbol(operation(data)) !== rule.args[1]) && return FAIL_DICT::MatchDict # - check arguments From a5f93494a7aa415d6f0bc477203281ccf00716fc Mon Sep 17 00:00:00 2001 From: Bumblebee00 Date: Mon, 24 Nov 2025 00:06:37 +0100 Subject: [PATCH 17/17] default verbose false for rule method, like it shuld always have been --- src/methods.jl | 4 ++-- src/methods/rule_based/frontend.jl | 2 +- src/methods/rule_based/rules_utility_functions.jl | 5 ----- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/methods.jl b/src/methods.jl index 9736e03..3507362 100644 --- a/src/methods.jl +++ b/src/methods.jl @@ -35,7 +35,7 @@ struct RuleBasedMethod <: AbstractIntegrationMethod use_gamma::Bool verbose::Bool - function RuleBasedMethod(; use_gamma::Bool=false, verbose::Bool=true) + function RuleBasedMethod(; use_gamma::Bool=false, verbose::Bool=false) new(use_gamma, verbose) end end @@ -90,7 +90,7 @@ function integrate(f::Symbolics.Num, x::Symbolics.Num; kwargs...) result = integrate_rule_based(f, x; kwargs...) !contains_int(result) && return result - printstyled(" > RuleBasedMethod(use_gamma=false, verbose=true) failed, returning $result \n";color=:red) + printstyled(" > RuleBasedMethod(use_gamma=false, verbose=false) failed, returning $result \n";color=:red) printstyled(" > Sorry we cannot integrate this expression :(\n";color=:red) result = integrate_risch(f.val, x.val; kwargs...) diff --git a/src/methods/rule_based/frontend.jl b/src/methods/rule_based/frontend.jl index f2bf219..d40b672 100644 --- a/src/methods/rule_based/frontend.jl +++ b/src/methods/rule_based/frontend.jl @@ -111,7 +111,7 @@ function repeated_prewalk(expr) return expr end -function integrate_rule_based(integrand::Symbolics.Num, int_var::Symbolics.Num; use_gamma::Bool=false, verbose::Bool=true, kwargs...) +function integrate_rule_based(integrand::Symbolics.Num, int_var::Symbolics.Num; use_gamma::Bool=false, verbose::Bool=false, kwargs...) global VERBOSE VERBOSE = verbose return simplify(repeated_prewalk(∫(integrand,int_var))) diff --git a/src/methods/rule_based/rules_utility_functions.jl b/src/methods/rule_based/rules_utility_functions.jl index a0bd087..ee05333 100644 --- a/src/methods/rule_based/rules_utility_functions.jl +++ b/src/methods/rule_based/rules_utility_functions.jl @@ -27,7 +27,6 @@ function contains_var(expr, var) end end end - println("ctssvars returning false") return false end @@ -62,10 +61,6 @@ s(u) = isa(Symbolics.unwrap(u), SymbolicUtils.BasicSymbolic) function eq(a, b) a = SymbolicUtils.unwrap_const(a) b = SymbolicUtils.unwrap_const(b) - println(a, b) - println(typeof(a), typeof(b)) - !s(a) && !s(b) && println(isequal(a, b)) - !s(a) && !s(b) && return isequal(a, b) return SymbolicUtils.simplify(a - b) |> SymbolicUtils._iszero end