text:
# # Dry Atmosphere GCM diagnostics
#
# This file computes selected diagnostics for the GCM and outputs them
# on the spherical interpolated diagnostic grid.
#
# Use it by calling `Diagnostics.setup_atmos_default_diagnostics()`.
#
# TODO:
# - enable zonal means and calculation of covariances using those means
#   - ds.T_zm = mean(.*1., ds.T; dims = 3)
#   - ds.u_zm = mean((ds.u); dims = 3 )
#   - v_zm = mean(ds.v; dims = 3)
#   - w_zm = mean(ds.w; dims = 3)
#   - ds.uvcovariance = (ds.u .- ds.u_zm) * (ds.v .- v_zm)
#   - ds.vTcovariance = (ds.v .- v_zm) * (ds.T .- ds.T_zm)
# - add more variables, including horiz streamfunction from laplacial of vorticity (LN)
# - density weighting
# - maybe change thermo/dyn separation to local/nonlocal vars?

import CUDA
using LinearAlgebra
using Printf
using Statistics

using ..Atmos
using ..Atmos: recover_thermo_state
using ..TurbulenceClosures: turbulence_tensors

"""
    setup_atmos_default_diagnostics(
        ::AtmosGCMConfigType,
        interval::String,
        out_prefix::String;
        writer::AbstractWriter,
        interpol = nothing,
    )

Create and return a `DiagnosticsGroup` containing the "AtmosDefault"
diagnostics for GCM configurations. All the diagnostics in the group will run
at the specified `interval`, be interpolated to the specified boundaries and
resolution, and will be written to files prefixed by `out_prefix` using
`writer`.
"""
function setup_atmos_default_diagnostics(
    ::AtmosGCMConfigType,
    interval::String,
    out_prefix::String;
    writer = NetCDFWriter(),
    interpol = nothing,
)
    # TODO: remove this
    @assert !isnothing(interpol)

    return DiagnosticsGroup(
        "AtmosGCMDefault",
        Diagnostics.atmos_gcm_default_init,
        Diagnostics.atmos_gcm_default_fini,
        Diagnostics.atmos_gcm_default_collect,
        interval,
        out_prefix,
        writer,
        interpol,
    )
end

include("diagnostic_fields.jl")

# 3D variables
function vars_atmos_gcm_default_simple_3d(atmos::AtmosModel, FT)
    @vars begin
        u::FT
        v::FT
        w::FT
        rho::FT
        temp::FT
        pres::FT
        thd::FT                 # θ_dry
        et::FT                  # e_tot
        ei::FT                  # e_int
        ht::FT
        hi::FT
        vort::FT                # Ω₃

        moisture::vars_atmos_gcm_default_simple_3d(atmos.moisture, FT)
    end
end
vars_atmos_gcm_default_simple_3d(::MoistureModel, FT) = @vars()
function vars_atmos_gcm_default_simple_3d(m::EquilMoist, FT)
    @vars begin
        qt::FT                  # q_tot
        ql::FT                  # q_liq
        qv::FT                  # q_vap
        qi::FT                  # q_ice
        thv::FT                 # θ_vir
        thl::FT                 # θ_liq

    end
end
num_atmos_gcm_default_simple_3d_vars(m, FT) =
    varsize(vars_atmos_gcm_default_simple_3d(m, FT))
atmos_gcm_default_simple_3d_vars(m, array) =
    Vars{vars_atmos_gcm_default_simple_3d(m, eltype(array))}(array)

function atmos_gcm_default_simple_3d_vars!(
    atmos::AtmosModel,
    state_prognostic,
    thermo,
    dyni,
    vars,
)
    vars.u = state_prognostic.ρu[1] / state_prognostic.ρ
    vars.v = state_prognostic.ρu[2] / state_prognostic.ρ
    vars.w = state_prognostic.ρu[3] / state_prognostic.ρ
    vars.rho = state_prognostic.ρ
    vars.temp = thermo.temp
    vars.pres = thermo.pres
    vars.thd = thermo.θ_dry
    vars.et = state_prognostic.ρe / state_prognostic.ρ
    vars.ei = thermo.e_int
    vars.ht = thermo.h_tot
    vars.hi = thermo.h_int

    vars.vort = dyni.Ω₃

    atmos_gcm_default_simple_3d_vars!(
        atmos.moisture,
        state_prognostic,
        thermo,
        vars,
    )

    return nothing
end
function atmos_gcm_default_simple_3d_vars!(
    ::MoistureModel,
    state_prognostic,
    thermo,
    vars,
)
    return nothing
end
function atmos_gcm_default_simple_3d_vars!(
    moist::EquilMoist,
    state_prognostic,
    thermo,
    vars,
)
    vars.moisture.qt = state_prognostic.moisture.ρq_tot / state_prognostic.ρ
    vars.moisture.ql = thermo.moisture.q_liq
    vars.moisture.qv = thermo.moisture.q_vap
    vars.moisture.qi = thermo.moisture.q_ice
    vars.moisture.thv = thermo.moisture.θ_vir
    vars.moisture.thl = thermo.moisture.θ_liq_ice

    return nothing
end

# Dynamic variables
function vars_dyn(FT)
    @vars begin
        Ω₁::FT
        Ω₂::FT
        Ω₃::FT
    end
end
dyn_vars(array) = Vars{vars_dyn(eltype(array))}(array)

"""
    atmos_gcm_default_init(dgngrp, currtime)

Initialize the GCM default diagnostics group, establishing the output file's
dimensions and variables.
"""
function atmos_gcm_default_init(dgngrp::DiagnosticsGroup, currtime)
    atmos = Settings.dg.balance_law
    FT = eltype(Settings.Q)
    mpicomm = Settings.mpicomm
    mpirank = MPI.Comm_rank(mpicomm)

    if !(dgngrp.interpol isa InterpolationCubedSphere)
        @warn """
            Diagnostics ($dgngrp.name): currently requires `InterpolationCubedSphere`!
            """
        return nothing
    end

    if mpirank == 0
        # get dimensions for the interpolated grid
        dims = dimensions(dgngrp.interpol)

        # adjust the level dimension for `planet_radius`
        level_val = dims["level"]
        dims["level"] = (
            level_val[1] .- FT(planet_radius(Settings.param_set)),
            level_val[2],
        )

        # set up the variables we're going to be writing
        vars = OrderedDict()
        varnames = map(
            s -> startswith(s, "moisture.") ? s[10:end] : s,
            flattenednames(vars_atmos_gcm_default_simple_3d(atmos, FT)),
        )
        for varname in varnames
            var = Variables[varname]
            vars[varname] = (tuple(collect(keys(dims))...), FT, var.attrib)
        end

        # create the output file
        dprefix = @sprintf(
            "%s_%s_%s",
            dgngrp.out_prefix,
            dgngrp.name,
            Settings.starttime,
        )
        dfilename = joinpath(Settings.output_dir, dprefix)
        init_data(dgngrp.writer, dfilename, dims, vars)
    end

    return nothing
end

"""
    atmos_gcm_default_collect(bl, currtime)

    Master function that performs a global grid traversal to compute various
    diagnostics using the above functions.
"""
function atmos_gcm_default_collect(dgngrp::DiagnosticsGroup, currtime)
    interpol = dgngrp.interpol
    if !(interpol isa InterpolationCubedSphere)
        @warn """
            Diagnostics ($dgngrp.name): currently requires `InterpolationCubedSphere`!
            """
        return nothing
    end

    dg = Settings.dg
    atmos = dg.balance_law
    Q = Settings.Q
    mpicomm = Settings.mpicomm
    mpirank = MPI.Comm_rank(mpicomm)
    grid = dg.grid
    topology = grid.topology
    N = polynomialorder(grid)
    Nq = N + 1
    Nqk = dimensionality(grid) == 2 ? 1 : Nq
    npoints = Nq * Nq * Nqk
    nrealelem = length(topology.realelems)
    nvertelem = topology.stacksize
    nhorzelem = div(nrealelem, nvertelem)

    # get needed arrays onto the CPU
    device = array_device(Q)
    if device isa CPU
        ArrayType = Array
        state_data = Q.realdata
        aux_data = dg.state_auxiliary.realdata
    else
        ArrayType = CUDA.CuArray
        state_data = Array(Q.realdata)
        aux_data = Array(dg.state_auxiliary.realdata)
    end
    FT = eltype(state_data)

    # TODO: can this be done in one pass?
    #
    # Non-local vars, e.g. relative vorticity
    vgrad = VectorGradients(dg, Q)
    vort = Vorticity(dg, vgrad)

    # Compute thermo variables
    thermo_array = Array{FT}(undef, npoints, num_thermo(atmos, FT), nrealelem)
    @visitQ nhorzelem nvertelem Nqk Nq begin
        state = extract_state(dg, state_data, ijk, e, Prognostic())
        aux = extract_state(dg, aux_data, ijk, e, Auxiliary())

        thermo = thermo_vars(atmos, view(thermo_array, ijk, :, e))
        compute_thermo!(atmos, state, aux, thermo)
    end

    # Interpolate the state, thermo and dyn vars to sphere (u and vorticity
    # need projection to zonal, merid). All this may happen on the GPU.
    istate =
        ArrayType{FT}(undef, interpol.Npl, number_states(atmos, Prognostic()))
    interpolate_local!(interpol, Q.realdata, istate)

    ithermo = ArrayType{FT}(undef, interpol.Npl, num_thermo(atmos, FT))
    interpolate_local!(interpol, ArrayType(thermo_array), ithermo)

    idyn = ArrayType{FT}(undef, interpol.Npl, size(vort.data, 2))
    interpolate_local!(interpol, vort.data, idyn)

    # TODO: get indices here without hard-coding them
    _ρu, _ρv, _ρw = 2, 3, 4
    project_cubed_sphere!(interpol, istate, (_ρu, _ρv, _ρw))
    _Ω₁, _Ω₂, _Ω₃ = 1, 2, 3
    project_cubed_sphere!(interpol, idyn, (_Ω₁, _Ω₂, _Ω₃))

    # FIXME: accumulating to rank 0 is not scalable
    all_state_data = accumulate_interpolated_data(mpicomm, interpol, istate)
    all_thermo_data = accumulate_interpolated_data(mpicomm, interpol, ithermo)
    all_dyn_data = accumulate_interpolated_data(mpicomm, interpol, idyn)

    if mpirank == 0
        # get dimensions for the interpolated grid
        dims = dimensions(dgngrp.interpol)

        # set up the array for the diagnostic variables based on the interpolated grid
        nlong = length(dims["long"][1])
        nlat = length(dims["lat"][1])
        nlevel = length(dims["level"][1])

        simple_3d_vars_array = Array{FT}(
            undef,
            nlong,
            nlat,
            nlevel,
            num_atmos_gcm_default_simple_3d_vars(atmos, FT),
        )

        @visitI nlong nlat nlevel begin
            statei = Vars{vars_state(atmos, Prognostic(), FT)}(view(
                all_state_data,
                lo,
                la,
                le,
                :,
            ))
            thermoi = thermo_vars(atmos, view(all_thermo_data, lo, la, le, :))
            dyni = dyn_vars(view(all_dyn_data, lo, la, le, :))
            simple_3d_vars = atmos_gcm_default_simple_3d_vars(
                atmos,
                view(simple_3d_vars_array, lo, la, le, :),
            )

            atmos_gcm_default_simple_3d_vars!(
                atmos,
                statei,
                thermoi,
                dyni,
                simple_3d_vars,
            )
        end

        # assemble the diagnostics for writing
        varvals = OrderedDict()
        varnames = map(
            s -> startswith(s, "moisture.") ? s[10:end] : s,
            flattenednames(vars_atmos_gcm_default_simple_3d(atmos, FT)),
        )
        for (vari, varname) in enumerate(varnames)
            varvals[varname] = simple_3d_vars_array[:, :, :, vari]
        end

        # write output
        append_data(dgngrp.writer, varvals, currtime)
    end

    MPI.Barrier(mpicomm)
    return nothing
end # function collect

function atmos_gcm_default_fini(dgngrp::DiagnosticsGroup, currtime) end

max_stars_repo_name: mwarusz/CLIMA

max_issues_repo_name: mwarusz/CLIMA

max_forks_repo_name: mwarusz/CLIMA


text:
@testset "7.6.1 u (a+b arccsch(c x))^n" begin
    (a, b, c, d, e, f, m, x, ) = @variables a b c d e f m x

    #= ::Package:: =#

    #= ::Title:: =#
    #=Integrands*of*the*form*u*(a+b*acsch(c*x))^n=#

    #= ::Section::Closed:: =#
    #=Integrands*of*the*form*(d*x)^m*(a+b*acsch(c*x))^n=#

    #= ::Subsection::Closed:: =#
    #=Integrands*of*the*form*x^m*(a+b*acsch(c*x))^n=#

    #= ::Subsubsection::Closed:: =#
    #=n>0=#

    @test_int [x^6*(a + b*acsch(c*x)), x, 7, (5*b*sqrt(1 + 1/(c^2*x^2))*x^2)/(112*c^5) - (5*b*sqrt(1 + 1/(c^2*x^2))*x^4)/(168*c^3) + (b*sqrt(1 + 1/(c^2*x^2))*x^6)/(42*c) + (x^7*(a + b*acsch(c*x)))/7 - (5*b*atanh(sqrt(1 + 1/(c^2*x^2))))/(112*c^7)]
    @test_int [x^5*(a + b*acsch(c*x)), x, 4, (4*b*sqrt(1 + 1/(c^2*x^2))*x)/(45*c^5) - (2*b*sqrt(1 + 1/(c^2*x^2))*x^3)/(45*c^3) + (b*sqrt(1 + 1/(c^2*x^2))*x^5)/(30*c) + (x^6*(a + b*acsch(c*x)))/6]
    @test_int [x^4*(a + b*acsch(c*x)), x, 6, (-3*b*sqrt(1 + 1/(c^2*x^2))*x^2)/(40*c^3) + (b*sqrt(1 + 1/(c^2*x^2))*x^4)/(20*c) + (x^5*(a + b*acsch(c*x)))/5 + (3*b*atanh(sqrt(1 + 1/(c^2*x^2))))/(40*c^5)]
    @test_int [x^3*(a + b*acsch(c*x)), x, 3, -(b*sqrt(1 + 1/(c^2*x^2))*x)/(6*c^3) + (b*sqrt(1 + 1/(c^2*x^2))*x^3)/(12*c) + (x^4*(a + b*acsch(c*x)))/4]
    @test_int [x^2*(a + b*acsch(c*x)), x, 5, (b*sqrt(1 + 1/(c^2*x^2))*x^2)/(6*c) + (x^3*(a + b*acsch(c*x)))/3 - (b*atanh(sqrt(1 + 1/(c^2*x^2))))/(6*c^3)]
    @test_int [x^1*(a + b*acsch(c*x)), x, 2, (b*sqrt(1 + 1/(c^2*x^2))*x)/(2*c) + (x^2*(a + b*acsch(c*x)))/2]
    @test_int [x^0*(a + b*acsch(c*x)), x, 5, a*x + b*x*acsch(c*x) + (b*atanh(sqrt(1 + 1/(c^2*x^2))))/c]
    @test_int [(a + b*acsch(c*x))/x^1, x, 6, -((a + b*acsch(c*x))^2/(2*b)) - (a + b*acsch(c*x))*log(1 - ℯ^(-2*acsch(c*x))) + (1/2)*b*PolyLog(2, ℯ^(-2*acsch(c*x)))]
    @test_int [(a + b*acsch(c*x))/x^2, x, 2, b*c*sqrt(1 + 1/(c^2*x^2)) - (a + b*acsch(c*x))/x]
    @test_int [(a + b*acsch(c*x))/x^3, x, 4, (b*c*sqrt(1 + 1/(c^2*x^2)))/(4*x) - (b*c^2*acsch(c*x))/4 - (a + b*acsch(c*x))/(2*x^2)]
    @test_int [(a + b*acsch(c*x))/x^4, x, 4, -(b*c^3*sqrt(1 + 1/(c^2*x^2)))/3 + (b*c^3*(1 + 1/(c^2*x^2))^(3/2))/9 - (a + b*acsch(c*x))/(3*x^3)]
    @test_int [(a + b*acsch(c*x))/x^5, x, 5, (b*c*sqrt(1 + 1/(c^2*x^2)))/(16*x^3) - (3*b*c^3*sqrt(1 + 1/(c^2*x^2)))/(32*x) + (3*b*c^4*acsch(c*x))/32 - (a + b*acsch(c*x))/(4*x^4)]
    @test_int [(a + b*acsch(c*x))/x^6, x, 4, (b*c^5*sqrt(1 + 1/(c^2*x^2)))/5 - (2*b*c^5*(1 + 1/(c^2*x^2))^(3/2))/15 + (b*c^5*(1 + 1/(c^2*x^2))^(5/2))/25 - (a + b*acsch(c*x))/(5*x^5)]
    @test_int [(a + b*acsch(c*x))/x^7, x, 6, (b*c*sqrt(1 + 1/(c^2*x^2)))/(36*x^5) - (5*b*c^3*sqrt(1 + 1/(c^2*x^2)))/(144*x^3) + (5*b*c^5*sqrt(1 + 1/(c^2*x^2)))/(96*x) - (5*b*c^6*acsch(c*x))/96 - (a + b*acsch(c*x))/(6*x^6)]

    @test_int [x^3*(a + b*acsch(c*x))^2, x, 5, (b^2*x^2)/(12*c^2) - (b*sqrt(1 + 1/(c^2*x^2))*x*(a + b*acsch(c*x)))/(3*c^3) + (b*sqrt(1 + 1/(c^2*x^2))*x^3*(a + b*acsch(c*x)))/(6*c) + (x^4*(a + b*acsch(c*x))^2)/4 - (b^2*log(x))/(3*c^4)]
    @test_int [x^2*(a + b*acsch(c*x))^2, x, 8, (b^2*x)/(3*c^2) + (b*sqrt(1 + 1/(c^2*x^2))*x^2*(a + b*acsch(c*x)))/(3*c) + (x^3*(a + b*acsch(c*x))^2)/3 - (2*b*(a + b*acsch(c*x))*atanh(ℯ^acsch(c*x)))/(3*c^3) - (b^2*PolyLog(2, -ℯ^acsch(c*x)))/(3*c^3) + (b^2*PolyLog(2, ℯ^acsch(c*x)))/(3*c^3)]
    @test_int [x^1*(a + b*acsch(c*x))^2, x, 4, (b*sqrt(1 + 1/(c^2*x^2))*x*(a + b*acsch(c*x)))/c + (x^2*(a + b*acsch(c*x))^2)/2 + (b^2*log(x))/c^2]
    @test_int [x^0*(a + b*acsch(c*x))^2, x, 7, x*(a + b*acsch(c*x))^2 + (4*b*(a + b*acsch(c*x))*atanh(ℯ^acsch(c*x)))/c + (2*b^2*PolyLog(2, -ℯ^acsch(c*x)))/c - (2*b^2*PolyLog(2, ℯ^acsch(c*x)))/c]
    @test_int [(a + b*acsch(c*x))^2/x^1, x, 6, (a + b*acsch(c*x))^3/(3*b) - (a + b*acsch(c*x))^2*log(1 - ℯ^(2*acsch(c*x))) - b*(a + b*acsch(c*x))*PolyLog(2, ℯ^(2*acsch(c*x))) + (b^2*PolyLog(3, ℯ^(2*acsch(c*x))))/2]
    @test_int [(a + b*acsch(c*x))^2/x^2, x, 4, (-2*b^2)/x + 2*b*c*sqrt(1 + 1/(c^2*x^2))*(a + b*acsch(c*x)) - (a + b*acsch(c*x))^2/x]
    @test_int [(a + b*acsch(c*x))^2/x^3, x, 4, -b^2/(4*x^2) - (a*b*c^2*acsch(c*x))/2 - (b^2*c^2*acsch(c*x)^2)/4 + (b*c*sqrt(1 + 1/(c^2*x^2))*(a + b*acsch(c*x)))/(2*x) - (a + b*acsch(c*x))^2/(2*x^2)]
    @test_int [(a + b*acsch(c*x))^2/x^4, x, 5, (-2*b^2)/(27*x^3) + (4*b^2*c^2)/(9*x) - (4*b*c^3*sqrt(1 + 1/(c^2*x^2))*(a + b*acsch(c*x)))/9 + (2*b*c*sqrt(1 + 1/(c^2*x^2))*(a + b*acsch(c*x)))/(9*x^2) - (a + b*acsch(c*x))^2/(3*x^3)]
    @test_int [(a + b*acsch(c*x))^2/x^5, x, 5, -b^2/(32*x^4) + (3*b^2*c^2)/(32*x^2) + (3*a*b*c^4*acsch(c*x))/16 + (3*b^2*c^4*acsch(c*x)^2)/32 + (b*c*sqrt(1 + 1/(c^2*x^2))*(a + b*acsch(c*x)))/(8*x^3) - (3*b*c^3*sqrt(1 + 1/(c^2*x^2))*(a + b*acsch(c*x)))/(16*x) - (a + b*acsch(c*x))^2/(4*x^4)]

    @test_int [x^3*(a + b*acsch(c*x))^3, x, 10, (b^3*sqrt(1 + 1/(c^2*x^2))*x)/(4*c^3) + (b^2*x^2*(a + b*acsch(c*x)))/(4*c^2) - (b*(a + b*acsch(c*x))^2)/(2*c^4) - (b*sqrt(1 + 1/(c^2*x^2))*x*(a + b*acsch(c*x))^2)/(2*c^3) + (b*sqrt(1 + 1/(c^2*x^2))*x^3*(a + b*acsch(c*x))^2)/(4*c) + (x^4*(a + b*acsch(c*x))^3)/4 + (b^2*(a + b*acsch(c*x))*log(1 - ℯ^(2*acsch(c*x))))/c^4 + (b^3*PolyLog(2, ℯ^(2*acsch(c*x))))/(2*c^4)]
    @test_int [x^2*(a + b*acsch(c*x))^3, x, 11, (b^2*x*(a + b*acsch(c*x)))/c^2 + (b*sqrt(1 + 1/(c^2*x^2))*x^2*(a + b*acsch(c*x))^2)/(2*c) + (x^3*(a + b*acsch(c*x))^3)/3 - (b*(a + b*acsch(c*x))^2*atanh(ℯ^acsch(c*x)))/c^3 + (b^3*atanh(sqrt(1 + 1/(c^2*x^2))))/c^3 - (b^2*(a + b*acsch(c*x))*PolyLog(2, -ℯ^acsch(c*x)))/c^3 + (b^2*(a + b*acsch(c*x))*PolyLog(2, ℯ^acsch(c*x)))/c^3 + (b^3*PolyLog(3, -ℯ^acsch(c*x)))/c^3 - (b^3*PolyLog(3, ℯ^acsch(c*x)))/c^3]
    @test_int [x^1*(a + b*acsch(c*x))^3, x, 7, (3*b*(a + b*acsch(c*x))^2)/(2*c^2) + (3*b*sqrt(1 + 1/(c^2*x^2))*x*(a + b*acsch(c*x))^2)/(2*c) + (x^2*(a + b*acsch(c*x))^3)/2 - (3*b^2*(a + b*acsch(c*x))*log(1 - ℯ^(2*acsch(c*x))))/c^2 - (3*b^3*PolyLog(2, ℯ^(2*acsch(c*x))))/(2*c^2)]
    @test_int [x^0*(a + b*acsch(c*x))^3, x, 9, x*(a + b*acsch(c*x))^3 + (6*b*(a + b*acsch(c*x))^2*atanh(ℯ^acsch(c*x)))/c + (6*b^2*(a + b*acsch(c*x))*PolyLog(2, -ℯ^acsch(c*x)))/c - (6*b^2*(a + b*acsch(c*x))*PolyLog(2, ℯ^acsch(c*x)))/c - (6*b^3*PolyLog(3, -ℯ^acsch(c*x)))/c + (6*b^3*PolyLog(3, ℯ^acsch(c*x)))/c]
    @test_int [(a + b*acsch(c*x))^3/x^1, x, 7, (a + b*acsch(c*x))^4/(4*b) - (a + b*acsch(c*x))^3*log(1 - ℯ^(2*acsch(c*x))) - (3*b*(a + b*acsch(c*x))^2*PolyLog(2, ℯ^(2*acsch(c*x))))/2 + (3*b^2*(a + b*acsch(c*x))*PolyLog(3, ℯ^(2*acsch(c*x))))/2 - (3*b^3*PolyLog(4, ℯ^(2*acsch(c*x))))/4]
    @test_int [(a + b*acsch(c*x))^3/x^2, x, 5, 6*b^3*c*sqrt(1 + 1/(c^2*x^2)) - (6*b^2*(a + b*acsch(c*x)))/x + 3*b*c*sqrt(1 + 1/(c^2*x^2))*(a + b*acsch(c*x))^2 - (a + b*acsch(c*x))^3/x]
    @test_int [(a + b*acsch(c*x))^3/x^3, x, 6, (3*b^3*c*sqrt(1 + 1/(c^2*x^2)))/(8*x) - (3*b^3*c^2*acsch(c*x))/8 - (3*b^2*(a + b*acsch(c*x)))/(4*x^2) + (3*b*c*sqrt(1 + 1/(c^2*x^2))*(a + b*acsch(c*x))^2)/(4*x) - (c^2*(a + b*acsch(c*x))^3)/4 - (a + b*acsch(c*x))^3/(2*x^2)]
    @test_int [(a + b*acsch(c*x))^3/x^4, x, 8, (-14*b^3*c^3*sqrt(1 + 1/(c^2*x^2)))/9 + (2*b^3*c^3*(1 + 1/(c^2*x^2))^(3/2))/27 - (2*b^2*(a + b*acsch(c*x)))/(9*x^3) + (4*b^2*c^2*(a + b*acsch(c*x)))/(3*x) - (2*b*c^3*sqrt(1 + 1/(c^2*x^2))*(a + b*acsch(c*x))^2)/3 + (b*c*sqrt(1 + 1/(c^2*x^2))*(a + b*acsch(c*x))^2)/(3*x^2) - (a + b*acsch(c*x))^3/(3*x^3)]
    @test_int [(a + b*acsch(c*x))^3/x^5, x, 10, (3*b^3*c*sqrt(1 + 1/(c^2*x^2)))/(128*x^3) - (45*b^3*c^3*sqrt(1 + 1/(c^2*x^2)))/(256*x) + (45*b^3*c^4*acsch(c*x))/256 - (3*b^2*(a + b*acsch(c*x)))/(32*x^4) + (9*b^2*c^2*(a + b*acsch(c*x)))/(32*x^2) + (3*b*c*sqrt(1 + 1/(c^2*x^2))*(a + b*acsch(c*x))^2)/(16*x^3) - (9*b*c^3*sqrt(1 + 1/(c^2*x^2))*(a + b*acsch(c*x))^2)/(32*x) + (3*c^4*(a + b*acsch(c*x))^3)/32 - (a + b*acsch(c*x))^3/(4*x^4)]

    #= ::Subsubsection::Closed:: =#
    #=n<0=#

    @test_int [x^1/(a + b*acsch(c*x)), x, 0, Unintegrable(x/(a + b*acsch(c*x)), x)]
    @test_int [x^0/(a + b*acsch(c*x)), x, 0, Unintegrable(1/(a + b*acsch(c*x)), x)]
    @test_int [1/(x^1*(a + b*acsch(c*x))), x, 0, Unintegrable(1/(x*(a + b*acsch(c*x))), x)]
    @test_int [1/(x^2*(a + b*acsch(c*x))), x, 4, -((c*cosh(a/b)*CoshIntegral(a/b + acsch(c*x)))/b) + (c*sinh(a/b)*SinhIntegral(a/b + acsch(c*x)))/b]
    @test_int [1/(x^3*(a + b*acsch(c*x))), x, 6, (c^2*CoshIntegral((2*a)/b + 2*acsch(c*x))*sinh((2*a)/b))/(2*b) - (c^2*cosh((2*a)/b)*SinhIntegral((2*a)/b + 2*acsch(c*x)))/(2*b)]
    @test_int [1/(x^4*(a + b*acsch(c*x))), x, 9, (c^3*cosh(a/b)*CoshIntegral(a/b + acsch(c*x)))/(4*b) - (c^3*cosh((3*a)/b)*CoshIntegral((3*a)/b + 3*acsch(c*x)))/(4*b) - (c^3*sinh(a/b)*SinhIntegral(a/b + acsch(c*x)))/(4*b) + (c^3*sinh((3*a)/b)*SinhIntegral((3*a)/b + 3*acsch(c*x)))/(4*b)]

    #= ::Subsection::Closed:: =#
    #=Integrands*of*the*form*(d*x)^m*(a+b*acsch(c*x))^n*with*m*symbolic=#

    @test_int [(d*x)^m*(a + b*acsch(c*x))^3, x, 0, Unintegrable((d*x)^m*(a + b*acsch(c*x))^3, x)]
    @test_int [(d*x)^m*(a + b*acsch(c*x))^2, x, 0, Unintegrable((d*x)^m*(a + b*acsch(c*x))^2, x)]
    @test_int [(d*x)^m*(a + b*acsch(c*x)), x, 3, ((d*x)^(1 + m)*(a + b*acsch(c*x)))/(d*(1 + m)) + (b*(d*x)^m*HypergeometricFunctions._₂F₁(1/2, -(m/2), 1 - m/2, -(1/(c^2*x^2))))/(c*m*(1 + m))]
    @test_int [(d*x)^m/(a + b*acsch(c*x)), x, 0, Unintegrable((d*x)^m/(a + b*acsch(c*x)), x)]
    @test_int [(d*x)^m/(a + b*acsch(c*x))^2, x, 0, Unintegrable((d*x)^m/(a + b*acsch(c*x))^2, x)]

    #= ::Section::Closed:: =#
    #=Integrands*of*the*form*(f*x)^m*(d+e*x)^m*(a+b*acsch(c*x))^n=#

    #= ::Subsection::Closed:: =#
    #=Integrands*of*the*form*(d+e*x)^m*(a+b*acsch(c*x))^n=#

    #= ::Subsubsection::Closed:: =#
    #=n>0=#

    @test_int [(d + e*x)^3*(a + b*acsch(c*x)), x, 11, (b*e*(9*c^2*d^2 - e^2)*sqrt(1 + 1/(c^2*x^2))*x)/(6*c^3) + (b*d*e^2*sqrt(1 + 1/(c^2*x^2))*x^2)/(2*c) + (b*e^3*sqrt(1 + 1/(c^2*x^2))*x^3)/(12*c) - (b*d^4*acsch(c*x))/(4*e) + ((d + e*x)^4*(a + b*acsch(c*x)))/(4*e) + (b*d*(2*c^2*d^2 - e^2)*atanh(sqrt(1 + 1/(c^2*x^2))))/(2*c^3)]
    @test_int [(d + e*x)^2*(a + b*acsch(c*x)), x, 10, (b*d*e*sqrt(1 + 1/(c^2*x^2))*x)/c + (b*e^2*sqrt(1 + 1/(c^2*x^2))*x^2)/(6*c) - (b*d^3*acsch(c*x))/(3*e) + ((d + e*x)^3*(a + b*acsch(c*x)))/(3*e) + (b*(6*c^2*d^2 - e^2)*atanh(sqrt(1 + 1/(c^2*x^2))))/(6*c^3)]
    @test_int [(d + e*x)*(a + b*acsch(c*x)), x, 9, (b*e*sqrt(1 + 1/(c^2*x^2))*x)/(2*c) - (b*d^2*acsch(c*x))/(2*e) + ((d + e*x)^2*(a + b*acsch(c*x)))/(2*e) + (b*d*atanh(sqrt(1 + 1/(c^2*x^2))))/c]
    @test_int [a + b*acsch(c*x), x, 5, a*x + b*x*acsch(c*x) + (b*atanh(sqrt(1 + 1/(c^2*x^2))))/c]
    @test_int [(a + b*acsch(c*x))/(d + e*x), x, 4, ((a + b*acsch(c*x))*log(1 - ((e - sqrt(c^2*d^2 + e^2))*ℯ^acsch(c*x))/(c*d)))/e + ((a + b*acsch(c*x))*log(1 - ((e + sqrt(c^2*d^2 + e^2))*ℯ^acsch(c*x))/(c*d)))/e - ((a + b*acsch(c*x))*log(1 - ℯ^(2*acsch(c*x))))/e + (b*PolyLog(2, ((e - sqrt(c^2*d^2 + e^2))*ℯ^acsch(c*x))/(c*d)))/e + (b*PolyLog(2, ((e + sqrt(c^2*d^2 + e^2))*ℯ^acsch(c*x))/(c*d)))/e - (b*PolyLog(2, ℯ^(2*acsch(c*x))))/(2*e)]
    @test_int [(a + b*acsch(c*x))/(d + e*x)^2, x, 7, (b*acsch(c*x))/(d*e) - (a + b*acsch(c*x))/(e*(d + e*x)) + (b*atanh((c^2*d - e/x)/(c*sqrt(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2)))))/(d*sqrt(c^2*d^2 + e^2))]
    @test_int [(a + b*acsch(c*x))/(d + e*x)^3, x, 8, -(b*c*e*sqrt(1 + 1/(c^2*x^2)))/(2*d*(c^2*d^2 + e^2)*(e + d/x)) + (b*acsch(c*x))/(2*d^2*e) - (a + b*acsch(c*x))/(2*e*(d + e*x)^2) + (b*(2*c^2*d^2 + e^2)*atanh((c^2*d - e/x)/(c*sqrt(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2)))))/(2*d^2*(c^2*d^2 + e^2)^(3/2))]

    #= ::Subsubsection:: =#
    #=n<0=#

    #= ::Subsection::Closed:: =#
    #=Integrands*of*the*form*x^m*(d+e*x)^(p/2)*(a+b*acsch(c*x))=#

    #= ::Subsubsection::Closed:: =#
    #=p>0=#

    #= [x^3*sqrt(d + e*x)*(a + b*acsch(c*x)), x, 39, -((4*b*(25/c^2 + (6*d^2)/e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))/(945*c)) + (8*b*d^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))/(315*c*e^2) - (32*b*d*sqrt(1 + 1/(c^2*x^2))*x*(d + e*x)^(3/2))/(315*c*e^2) + (4*b*sqrt(1 + 1/(c^2*x^2))*x*(d + e*x)^(5/2))/(63*c*e^2) - (2*d^3*(d + e*x)^(3/2)*(a + b*acsch(c*x)))/(3*e^4) + (6*d^2*(d + e*x)^(5/2)*(a + b*acsch(c*x)))/(5*e^4) - (6*d*(d + e*x)^(7/2)*(a + b*acsch(c*x)))/(7*e^4) + (2*(d + e*x)^(9/2)*(a + b*acsch(c*x)))/(9*e^4) + (64*b*sqrt(-c^2)*d^3*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(315*c*e^3*sqrt((d + e*x)/(d + e/sqrt(-c^2)))*sqrt(1 + c^2*x^2)) - (8*b*c*d*(c^2*d^2 - 3*e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(105*(-c^2)^(3/2)*e^3*sqrt((d + e*x)/(d + e/sqrt(-c^2)))*sqrt(1 + c^2*x^2)) - (8*b*c*d*(3*c^2*d^2 + 41*e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(945*(-c^2)^(3/2)*e^3*sqrt((d + e*x)/(d + e/sqrt(-c^2)))*sqrt(1 + c^2*x^2)) - (64*b*sqrt(-c^2)*d^4*sqrt(1 + 1/(c^2*x^2))*x*sqrt((d + e*x)/(d + e/sqrt(-c^2)))*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(315*c*e^3*sqrt(d + e*x)*sqrt(1 + c^2*x^2)) - (8*b*c*d^2*(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt((d + e*x)/(d + e/sqrt(-c^2)))*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(315*(-c^2)^(3/2)*e^3*sqrt(d + e*x)*sqrt(1 + c^2*x^2)) - (4*b*c*(6*c^4*d^4 + 31*c^2*d^2*e^2 + 25*e^4)*sqrt(1 + 1/(c^2*x^2))*x*sqrt((d + e*x)/(d + e/sqrt(-c^2)))*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(945*(-c^2)^(5/2)*e^3*sqrt(d + e*x)*sqrt(1 + c^2*x^2)) + (64*b*c*d^5*sqrt(1 + 1/(c^2*x^2))*x*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(315*e^4*sqrt(d + e*x)*sqrt(1 + c^2*x^2))] =#
    @test_int [x^2*sqrt(d + e*x)*(a + b*acsch(c*x)), x, If(13>=8, 31, 27), If(13>=8, -((4*b*d*sqrt(d + e*x)*(1 + c^2*x^2))/(105*c^3*e*sqrt(1 + 1/(c^2*x^2))*x)) + (4*b*(d + e*x)^(3/2)*(1 + c^2*x^2))/(35*c^3*e*sqrt(1 + 1/(c^2*x^2))*x) + (2*d^2*(d + e*x)^(3/2)*(a + b*acsch(c*x)))/(3*e^3) - (4*d*(d + e*x)^(5/2)*(a + b*acsch(c*x)))/(5*e^3) + (2*(d + e*x)^(7/2)*(a + b*acsch(c*x)))/(7*e^3) - (32*b*c*d^2*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(105*(-c^2)^(3/2)*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))) - (4*b*c*(c^2*d^2 - 3*e^2)*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(35*(-c^2)^(5/2)*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))) + (32*b*c*d^3*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(105*(-c^2)^(3/2)*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) - (4*b*c*d*(c^2*d^2 + e^2)*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(105*(-c^2)^(5/2)*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) - (32*b*d^4*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(105*c*e^3*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)), (4*b*sqrt(d + e*x)*(1 + c^2*x^2))/(35*c^3*sqrt(1 + 1/(c^2*x^2))) + (8*b*d*sqrt(d + e*x)*(1 + c^2*x^2))/(105*c^3*e*sqrt(1 + 1/(c^2*x^2))*x) + (2*d^2*(d + e*x)^(3/2)*(a + b*acsch(c*x)))/(3*e^3) - (4*d*(d + e*x)^(5/2)*(a + b*acsch(c*x)))/(5*e^3) + (2*(d + e*x)^(7/2)*(a + b*acsch(c*x)))/(7*e^3) - (4*b*c*d^2*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(35*(-c^2)^(3/2)*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))) + (4*b*c*(2*c^2*d^2 + 9*e^2)*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(105*(-c^2)^(5/2)*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))) + (32*b*c*d^3*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(105*(-c^2)^(3/2)*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) - (4*b*c*d*(c^2*d^2 + e^2)*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(105*(-c^2)^(5/2)*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) - (32*b*d^4*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(105*c*e^3*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)))]
    @test_int [x^1*sqrt(d + e*x)*(a + b*acsch(c*x)), x, If(13>=8, 24, 20), (4*b*sqrt(d + e*x)*(1 + c^2*x^2))/(15*c^3*sqrt(1 + 1/(c^2*x^2))*x) - (2*d*(d + e*x)^(3/2)*(a + b*acsch(c*x)))/(3*e^2) + (2*(d + e*x)^(5/2)*(a + b*acsch(c*x)))/(5*e^2) + (8*b*c*d*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(15*(-c^2)^(3/2)*e*sqrt(1 + 1/(c^2*x^2))*x*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))) - (8*b*c*d^2*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(15*(-c^2)^(3/2)*e*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) + (4*b*c*(c^2*d^2 + e^2)*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(15*(-c^2)^(5/2)*e*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) + (8*b*d^3*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(15*c*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))]
    @test_int [x^0*sqrt(d + e*x)*(a + b*acsch(c*x)), x, 15, (2*(d + e*x)^(3/2)*(a + b*acsch(c*x)))/(3*e) + (4*b*c*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(3*(-c^2)^(3/2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt((d + e*x)/(d + e/sqrt(-c^2)))) + (4*b*c*d*sqrt((d + e*x)/(d + e/sqrt(-c^2)))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(3*(-c^2)^(3/2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) - (4*b*d^2*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(3*c*e*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))]
    @test_int [sqrt(d + e*x)*(a + b*acsch(c*x))/x^1, x, 0, Unintegrable((sqrt(d + e*x)*(a + b*acsch(c*x)))/x, x)]
    @test_int [sqrt(d + e*x)*(a + b*acsch(c*x))/x^2, x, 0, Unintegrable((sqrt(d + e*x)*(a + b*acsch(c*x)))/x^2, x)]

    @test_int [(d + e*x)^(3/2)*(a + b*acsch(c*x)), x, 22, (4*b*e*sqrt(d + e*x)*(1 + c^2*x^2))/(15*c^3*sqrt(1 + 1/(c^2*x^2))*x) + (2*(d + e*x)^(5/2)*(a + b*acsch(c*x)))/(5*e) + (28*b*c*d*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(15*(-c^2)^(3/2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt((d + e*x)/(d + e/sqrt(-c^2)))) - (4*b*c*(2*c^2*d^2 - e^2)*sqrt((d + e*x)/(d + e/sqrt(-c^2)))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(15*(-c^2)^(5/2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) - (4*b*d^3*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(5*c*e*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))]

    #= ::Subsubsection::Closed:: =#
    #=p<0=#

    @test_int [x^3*(a + b*acsch(c*x))/sqrt(d + e*x), x, 27, (4*b*sqrt(d + e*x)*(1 + c^2*x^2))/(35*c^3*e*sqrt(1 + 1/(c^2*x^2))) - (4*b*d*sqrt(d + e*x)*(1 + c^2*x^2))/(21*c^3*e^2*sqrt(1 + 1/(c^2*x^2))*x) - (2*d^3*sqrt(d + e*x)*(a + b*acsch(c*x)))/e^4 + (2*d^2*(d + e*x)^(3/2)*(a + b*acsch(c*x)))/e^4 - (6*d*(d + e*x)^(5/2)*(a + b*acsch(c*x)))/(5*e^4) + (2*(d + e*x)^(7/2)*(a + b*acsch(c*x)))/(7*e^4) + (24*b*c*d^2*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(35*(-c^2)^(3/2)*e^3*sqrt(1 + 1/(c^2*x^2))*x*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))) + (4*b*c*(2*c^2*d^2 + 9*e^2)*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(105*(-c^2)^(5/2)*e^3*sqrt(1 + 1/(c^2*x^2))*x*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))) - (64*b*c*d^3*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(35*(-c^2)^(3/2)*e^3*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) - (32*b*c*d*(c^2*d^2 + e^2)*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(105*(-c^2)^(5/2)*e^3*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) + (64*b*d^4*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(35*c*e^4*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))]
    @test_int [x^2*(a + b*acsch(c*x))/sqrt(d + e*x), x, 20, (4*b*sqrt(d + e*x)*(1 + c^2*x^2))/(15*c^3*e*sqrt(1 + 1/(c^2*x^2))*x) + (2*d^2*sqrt(d + e*x)*(a + b*acsch(c*x)))/e^3 - (4*d*(d + e*x)^(3/2)*(a + b*acsch(c*x)))/(3*e^3) + (2*(d + e*x)^(5/2)*(a + b*acsch(c*x)))/(5*e^3) - (4*b*c*d*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(5*(-c^2)^(3/2)*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))) + (32*b*c*d^2*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(15*(-c^2)^(3/2)*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) + (4*b*c*(c^2*d^2 + e^2)*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(15*(-c^2)^(5/2)*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) - (32*b*d^3*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(15*c*e^3*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))]
    @test_int [x^1*(a + b*acsch(c*x))/sqrt(d + e*x), x, 14, -((2*d*sqrt(d + e*x)*(a + b*acsch(c*x)))/e^2) + (2*(d + e*x)^(3/2)*(a + b*acsch(c*x)))/(3*e^2) + (4*b*c*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(3*(-c^2)^(3/2)*e*sqrt(1 + 1/(c^2*x^2))*x*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))) - (8*b*c*d*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(3*(-c^2)^(3/2)*e*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) + (8*b*d^2*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(3*c*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))]
    @test_int [x^0*(a + b*acsch(c*x))/sqrt(d + e*x), x, 9, (2*sqrt(d + e*x)*(a + b*acsch(c*x)))/e + (4*b*c*sqrt((d + e*x)/(d + e/sqrt(-c^2)))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/((-c^2)^(3/2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) - (4*b*d*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(c*e*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))]
    @test_int [(a + b*acsch(c*x))/(x^1*sqrt(d + e*x)), x, 0, Unintegrable((a + b*acsch(c*x))/(x*sqrt(d + e*x)), x)]
    @test_int [(a + b*acsch(c*x))/(x^2*sqrt(d + e*x)), x, 0, Unintegrable((a + b*acsch(c*x))/(x^2*sqrt(d + e*x)), x)]

    @test_int [x^3*(a + b*acsch(c*x))/(d + e*x)^(3/2), x, 23, (4*b*sqrt(d + e*x)*(1 + c^2*x^2))/(15*c^3*e^2*sqrt(1 + 1/(c^2*x^2))*x) + (2*d^3*(a + b*acsch(c*x)))/(e^4*sqrt(d + e*x)) + (6*d^2*sqrt(d + e*x)*(a + b*acsch(c*x)))/e^4 - (2*d*(d + e*x)^(3/2)*(a + b*acsch(c*x)))/e^4 + (2*(d + e*x)^(5/2)*(a + b*acsch(c*x)))/(5*e^4) - (32*b*c*d*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(15*(-c^2)^(3/2)*e^3*sqrt(1 + 1/(c^2*x^2))*x*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))) + (8*b*c*d^2*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/((-c^2)^(3/2)*e^3*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) - (4*b*c*(2*c^2*d^2 - e^2)*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(15*(-c^2)^(5/2)*e^3*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) - (64*b*d^3*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(5*c*e^4*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))]
    @test_int [x^2*(a + b*acsch(c*x))/(d + e*x)^(3/2), x, 16, -((2*d^2*(a + b*acsch(c*x)))/(e^3*sqrt(d + e*x))) - (4*d*sqrt(d + e*x)*(a + b*acsch(c*x)))/e^3 + (2*(d + e*x)^(3/2)*(a + b*acsch(c*x)))/(3*e^3) + (4*b*c*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(3*(-c^2)^(3/2)*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))) - (20*b*c*d*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(3*(-c^2)^(3/2)*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) + (32*b*d^2*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(3*c*e^3*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))]
    @test_int [x^1*(a + b*acsch(c*x))/(d + e*x)^(3/2), x, 11, (2*d*(a + b*acsch(c*x)))/(e^2*sqrt(d + e*x)) + (2*sqrt(d + e*x)*(a + b*acsch(c*x)))/e^2 + (4*b*c*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/((-c^2)^(3/2)*e*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) - (8*b*d*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(c*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))]
    @test_int [x^0*(a + b*acsch(c*x))/(d + e*x)^(3/2), x, 6, -((2*(a + b*acsch(c*x)))/(e*sqrt(d + e*x))) + (4*b*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(c*e*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))]
    @test_int [(a + b*acsch(c*x))/(x^1*(d + e*x)^(3/2)), x, 0, Unintegrable((a + b*acsch(c*x))/(x*(d + e*x)^(3/2)), x)]
    @test_int [(a + b*acsch(c*x))/(x^2*(d + e*x)^(3/2)), x, 0, Unintegrable((a + b*acsch(c*x))/(x^2*(d + e*x)^(3/2)), x)]

    @test_int [x^3*(a + b*acsch(c*x))/(d + e*x)^(5/2), x, 31, (4*b*d^2*(1 + c^2*x^2))/(3*c*e^2*(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) + (2*d^3*(a + b*acsch(c*x)))/(3*e^4*(d + e*x)^(3/2)) - (6*d^2*(a + b*acsch(c*x)))/(e^4*sqrt(d + e*x)) - (6*d*sqrt(d + e*x)*(a + b*acsch(c*x)))/e^4 + (2*(d + e*x)^(3/2)*(a + b*acsch(c*x)))/(3*e^4) - (8*b*sqrt(-c^2)*d^2*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(3*c*e^3*(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))) + (4*b*c*(2*c^2*d^2 + e^2)*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(3*(-c^2)^(3/2)*e^3*(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))) - (32*b*c*d*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(3*(-c^2)^(3/2)*e^3*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) + (64*b*d^2*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(3*c*e^4*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))]
    @test_int [x^2*(a + b*acsch(c*x))/(d + e*x)^(5/2), x, 25, -((4*b*d*(1 + c^2*x^2))/(3*c*e*(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))) - (2*d^2*(a + b*acsch(c*x)))/(3*e^3*(d + e*x)^(3/2)) + (4*d*(a + b*acsch(c*x)))/(e^3*sqrt(d + e*x)) + (2*sqrt(d + e*x)*(a + b*acsch(c*x)))/e^3 + (4*b*sqrt(-c^2)*d*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(3*c*e^2*(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))) + (4*b*c*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/((-c^2)^(3/2)*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) - (32*b*d*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(3*c*e^3*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))]
    @test_int [x^1*(a + b*acsch(c*x))/(d + e*x)^(5/2), x, 19, (4*b*(1 + c^2*x^2))/(3*c*(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) + (2*d*(a + b*acsch(c*x)))/(3*e^2*(d + e*x)^(3/2)) - (2*(a + b*acsch(c*x)))/(e^2*sqrt(d + e*x)) - (4*b*sqrt(-c^2)*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(3*c*e*(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt((c^2*(d + e*x))/(c^2*d - sqrt(-c^2)*e))) + (8*b*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(3*c*e^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))]
    @test_int [x^0*(a + b*acsch(c*x))/(d + e*x)^(5/2), x, 12, -((4*b*e*(1 + c^2*x^2))/(3*c*d*(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))) - (2*(a + b*acsch(c*x)))/(3*e*(d + e*x)^(3/2)) + (4*b*sqrt(-c^2)*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(3*c*d*(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt((d + e*x)/(d + e/sqrt(-c^2)))) + (4*b*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(3*c*d*e*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))]
    @test_int [(a + b*acsch(c*x))/(x^1*(d + e*x)^(5/2)), x, 0, Unintegrable((a + b*acsch(c*x))/(x*(d + e*x)^(5/2)), x)]
    @test_int [(a + b*acsch(c*x))/(x^2*(d + e*x)^(5/2)), x, 0, Unintegrable((a + b*acsch(c*x))/(x^2*(d + e*x)^(5/2)), x)]

    @test_int [(a + b*acsch(c*x))/(d + e*x)^(7/2), x, 19, -((4*b*e*(1 + c^2*x^2))/(15*c*d*(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2))*x*(d + e*x)^(3/2))) - (16*b*c*e*(1 + c^2*x^2))/(15*(c^2*d^2 + e^2)^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) - (4*b*e*(1 + c^2*x^2))/(5*c*d^2*(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) - (2*(a + b*acsch(c*x)))/(5*e*(d + e*x)^(5/2)) - (4*b*c*(7*c^2*d^2 + 3*e^2)*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*sqrt(-c^2)*e)/((-c^2)*d + sqrt(-c^2)*e)))/(15*sqrt(-c^2)*d^2*(c^2*d^2 + e^2)^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt((d + e*x)/(d + e/sqrt(-c^2)))) - (4*b*sqrt(-c^2)*sqrt((d + e*x)/(d + e/sqrt(-c^2)))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(15*c*d*(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) + (4*b*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(5*c*d^2*e*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)), -((4*b*e*(1 + c^2*x^2))/(15*c*d*(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2))*x*(d + e*x)^(3/2))) - (16*b*c*e*(1 + c^2*x^2))/(15*(c^2*d^2 + e^2)^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) - (4*b*e*(1 + c^2*x^2))/(5*c*d^2*(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) - (2*(a + b*acsch(c*x)))/(5*e*(d + e*x)^(5/2)) + (16*b*c*sqrt(-c^2)*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(15*(c^2*d^2 + e^2)^2*sqrt(1 + 1/(c^2*x^2))*x*sqrt((d + e*x)/(d + e/sqrt(-c^2)))) + (4*b*sqrt(-c^2)*sqrt(d + e*x)*sqrt(1 + c^2*x^2)*Elliptic.E(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(5*c*d^2*(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt((d + e*x)/(d + e/sqrt(-c^2)))) - (4*b*sqrt(-c^2)*sqrt((d + e*x)/(d + e/sqrt(-c^2)))*sqrt(1 + c^2*x^2)*Elliptic.F(asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), -((2*sqrt(-c^2)*e)/(c^2*d - sqrt(-c^2)*e))))/(15*c*d*(c^2*d^2 + e^2)*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x)) + (4*b*sqrt((sqrt(-c^2)*(d + e*x))/(sqrt(-c^2)*d + e))*sqrt(1 + c^2*x^2)*Elliptic.Pi(2, asin(sqrt(1 - sqrt(-c^2)*x)/sqrt(2)), (2*e)/(sqrt(-c^2)*d + e)))/(5*c*d^2*e*sqrt(1 + 1/(c^2*x^2))*x*sqrt(d + e*x))]

    #= ::Section::Closed:: =#
    #=Integrands*of*the*form*(f*x)^m*(d+e*x^2)^p*(a+b*acsch(c*x))^n=#

    #= ::Subsection::Closed:: =#
    #=Integrands*of*the*form*x^m*(d+e*x^2)^p*(a+b*acsch(c*x))=#

    #= ::Subsubsection::Closed:: =#
    #=p>0=#

    @test_int [x^4*(d + e*x^2)*(a + b*acsch(c*x)), x, 7, -((b*(42*c^2*d - 25*e)*x^2*sqrt(-1 - c^2*x^2))/(560*c^5*sqrt((-c^2)*x^2))) + (b*(42*c^2*d - 25*e)*x^4*sqrt(-1 - c^2*x^2))/(840*c^3*sqrt((-c^2)*x^2)) + (b*e*x^6*sqrt(-1 - c^2*x^2))/(42*c*sqrt((-c^2)*x^2)) + (1/5)*d*x^5*(a + b*acsch(c*x)) + (1/7)*e*x^7*(a + b*acsch(c*x)) - (b*(42*c^2*d - 25*e)*x*atan((c*x)/sqrt(-1 - c^2*x^2)))/(560*c^6*sqrt((-c^2)*x^2))]
    @test_int [x^2*(d + e*x^2)*(a + b*acsch(c*x)), x, 6, (b*(20*c^2*d - 9*e)*x^2*sqrt(-1 - c^2*x^2))/(120*c^3*sqrt((-c^2)*x^2)) + (b*e*x^4*sqrt(-1 - c^2*x^2))/(20*c*sqrt((-c^2)*x^2)) + (1/3)*d*x^3*(a + b*acsch(c*x)) + (1/5)*e*x^5*(a + b*acsch(c*x)) + (b*(20*c^2*d - 9*e)*x*atan((c*x)/sqrt(-1 - c^2*x^2)))/(120*c^4*sqrt((-c^2)*x^2))]
    @test_int [(d + e*x^2)*(a + b*acsch(c*x)), x, 5, (b*e*x^2*sqrt(-1 - c^2*x^2))/(6*c*sqrt((-c^2)*x^2)) + d*x*(a + b*acsch(c*x)) + (1/3)*e*x^3*(a + b*acsch(c*x)) - (b*(6*c^2*d - e)*x*atan((c*x)/sqrt(-1 - c^2*x^2)))/(6*c^2*sqrt((-c^2)*x^2))]
    @test_int [((d + e*x^2)*(a + b*acsch(c*x)))/x^2, x, 4, (b*c*d*sqrt(-1 - c^2*x^2))/sqrt((-c^2)*x^2) - (d*(a + b*acsch(c*x)))/x + e*x*(a + b*acsch(c*x)) - (b*e*x*atan((c*x)/sqrt(-1 - c^2*x^2)))/sqrt((-c^2)*x^2)]
    @test_int [((d + e*x^2)*(a + b*acsch(c*x)))/x^4, x, 4, -((b*c*(2*c^2*d - 9*e)*sqrt(-1 - c^2*x^2))/(9*sqrt((-c^2)*x^2))) + (b*c*d*sqrt(-1 - c^2*x^2))/(9*x^2*sqrt((-c^2)*x^2)) - (d*(a + b*acsch(c*x)))/(3*x^3) - (e*(a + b*acsch(c*x)))/x]
    @test_int [((d + e*x^2)*(a + b*acsch(c*x)))/x^6, x, 5, (2*b*c^3*(12*c^2*d - 25*e)*sqrt(-1 - c^2*x^2))/(225*sqrt((-c^2)*x^2)) + (b*c*d*sqrt(-1 - c^2*x^2))/(25*x^4*sqrt((-c^2)*x^2)) - (b*c*(12*c^2*d - 25*e)*sqrt(-1 - c^2*x^2))/(225*x^2*sqrt((-c^2)*x^2)) - (d*(a + b*acsch(c*x)))/(5*x^5) - (e*(a + b*acsch(c*x)))/(3*x^3)]
    @test_int [((d + e*x^2)*(a + b*acsch(c*x)))/x^8, x, 6, -((8*b*c^5*(30*c^2*d - 49*e)*sqrt(-1 - c^2*x^2))/(3675*sqrt((-c^2)*x^2))) + (b*c*d*sqrt(-1 - c^2*x^2))/(49*x^6*sqrt((-c^2)*x^2)) - (b*c*(30*c^2*d - 49*e)*sqrt(-1 - c^2*x^2))/(1225*x^4*sqrt((-c^2)*x^2)) + (4*b*c^3*(30*c^2*d - 49*e)*sqrt(-1 - c^2*x^2))/(3675*x^2*sqrt((-c^2)*x^2)) - (d*(a + b*acsch(c*x)))/(7*x^7) - (e*(a + b*acsch(c*x)))/(5*x^5)]

    @test_int [x^5*(d + e*x^2)*(a + b*acsch(c*x)), x, 5, (b*(4*c^2*d - 3*e)*x*sqrt(-1 - c^2*x^2))/(24*c^7*sqrt((-c^2)*x^2)) + (b*(8*c^2*d - 9*e)*x*(-1 - c^2*x^2)^(3/2))/(72*c^7*sqrt((-c^2)*x^2)) + (b*(4*c^2*d - 9*e)*x*(-1 - c^2*x^2)^(5/2))/(120*c^7*sqrt((-c^2)*x^2)) - (b*e*x*(-1 - c^2*x^2)^(7/2))/(56*c^7*sqrt((-c^2)*x^2)) + (1/6)*d*x^6*(a + b*acsch(c*x)) + (1/8)*e*x^8*(a + b*acsch(c*x))]
    @test_int [x^3*(d + e*x^2)*(a + b*acsch(c*x)), x, 5, -((b*(3*c^2*d - 2*e)*x*sqrt(-1 - c^2*x^2))/(12*c^5*sqrt((-c^2)*x^2))) - (b*(3*c^2*d - 4*e)*x*(-1 - c^2*x^2)^(3/2))/(36*c^5*sqrt((-c^2)*x^2)) + (b*e*x*(-1 - c^2*x^2)^(5/2))/(30*c^5*sqrt((-c^2)*x^2)) + (1/4)*d*x^4*(a + b*acsch(c*x)) + (1/6)*e*x^6*(a + b*acsch(c*x))]
    @test_int [x*(d + e*x^2)*(a + b*acsch(c*x)), x, 6, (b*(2*c^2*d - e)*x*sqrt(-1 - c^2*x^2))/(4*c^3*sqrt((-c^2)*x^2)) - (b*e*x*(-1 - c^2*x^2)^(3/2))/(12*c^3*sqrt((-c^2)*x^2)) + ((d + e*x^2)^2*(a + b*acsch(c*x)))/(4*e) - (b*c*d^2*x*atan(sqrt(-1 - c^2*x^2)))/(4*e*sqrt((-c^2)*x^2))]
    @test_int [((d + e*x^2)*(a + b*acsch(c*x)))/x, x, 11, (b*e*sqrt(1 + 1/(c^2*x^2))*x)/(2*c) + (1/2)*b*d*acsch(c*x)^2 + (1/2)*e*x^2*(a + b*acsch(c*x)) - b*d*acsch(c*x)*log(1 - ℯ^(2*acsch(c*x))) + b*d*acsch(c*x)*log(1/x) - d*(a + b*acsch(c*x))*log(1/x) - (1/2)*b*d*PolyLog(2, ℯ^(2*acsch(c*x)))]
    @test_int [((d + e*x^2)*(a + b*acsch(c*x)))/x^3, x, 13, (b*c*d*sqrt(1 + 1/(c^2*x^2)))/(4*x) - (1/4)*b*c^2*d*acsch(c*x) + (1/2)*b*e*acsch(c*x)^2 - (d*(a + b*acsch(c*x)))/(2*x^2) - b*e*acsch(c*x)*log(1 - ℯ^(2*acsch(c*x))) + b*e*acsch(c*x)*log(1/x) - e*(a + b*acsch(c*x))*log(1/x) - (1/2)*b*e*PolyLog(2, ℯ^(2*acsch(c*x)))]

    @test_int [x^2*(d + e*x^2)^2*(a + b*acsch(c*x)), x, 7, (b*(280*c^4*d^2 - 252*c^2*d*e + 75*e^2)*x^2*sqrt(-1 - c^2*x^2))/(1680*c^5*sqrt((-c^2)*x^2)) + (b*(84*c^2*d - 25*e)*e*x^4*sqrt(-1 - c^2*x^2))/(840*c^3*sqrt((-c^2)*x^2)) + (b*e^2*x^6*sqrt(-1 - c^2*x^2))/(42*c*sqrt((-c^2)*x^2)) + (1/3)*d^2*x^3*(a + b*acsch(c*x)) + (2/5)*d*e*x^5*(a + b*acsch(c*x)) + (1/7)*e^2*x^7*(a + b*acsch(c*x)) + (b*(280*c^4*d^2 - 252*c^2*d*e + 75*e^2)*x*atan((c*x)/sqrt(-1 - c^2*x^2)))/(1680*c^6*sqrt((-c^2)*x^2))]
    @test_int [x^0*(d + e*x^2)^2*(a + b*acsch(c*x)), x, 6, (b*(40*c^2*d - 9*e)*e*x^2*sqrt(-1 - c^2*x^2))/(120*c^3*sqrt((-c^2)*x^2)) + (b*e^2*x^4*sqrt(-1 - c^2*x^2))/(20*c*sqrt((-c^2)*x^2)) + d^2*x*(a + b*acsch(c*x)) + (2/3)*d*e*x^3*(a + b*acsch(c*x)) + (1/5)*e^2*x^5*(a + b*acsch(c*x)) - (b*(120*c^4*d^2 - 40*c^2*d*e + 9*e^2)*x*atan((c*x)/sqrt(-1 - c^2*x^2)))/(120*c^4*sqrt((-c^2)*x^2))]
    @test_int [((d + e*x^2)^2*(a + b*acsch(c*x)))/x^2, x, 6, (b*c*d^2*sqrt(-1 - c^2*x^2))/sqrt((-c^2)*x^2) + (b*e^2*x^2*sqrt(-1 - c^2*x^2))/(6*c*sqrt((-c^2)*x^2)) - (d^2*(a + b*acsch(c*x)))/x + 2*d*e*x*(a + b*acsch(c*x)) + (1/3)*e^2*x^3*(a + b*acsch(c*x)) - (b*(12*c^2*d - e)*e*x*atan((c*x)/sqrt(-1 - c^2*x^2)))/(6*c^2*sqrt((-c^2)*x^2))]
    @test_int [((d + e*x^2)^2*(a + b*acsch(c*x)))/x^4, x, 6, -((2*b*c*d*(c^2*d - 9*e)*sqrt(-1 - c^2*x^2))/(9*sqrt((-c^2)*x^2))) + (b*c*d^2*sqrt(-1 - c^2*x^2))/(9*x^2*sqrt((-c^2)*x^2)) - (d^2*(a + b*acsch(c*x)))/(3*x^3) - (2*d*e*(a + b*acsch(c*x)))/x + e^2*x*(a + b*acsch(c*x)) - (b*e^2*x*atan((c*x)/sqrt(-1 - c^2*x^2)))/sqrt((-c^2)*x^2)]
    @test_int [((d + e*x^2)^2*(a + b*acsch(c*x)))/x^6, x, 5, (b*c*(24*c^4*d^2 - 100*c^2*d*e + 225*e^2)*sqrt(-1 - c^2*x^2))/(225*sqrt((-c^2)*x^2)) + (b*c*d^2*sqrt(-1 - c^2*x^2))/(25*x^4*sqrt((-c^2)*x^2)) - (2*b*c*d*(6*c^2*d - 25*e)*sqrt(-1 - c^2*x^2))/(225*x^2*sqrt((-c^2)*x^2)) - (d^2*(a + b*acsch(c*x)))/(5*x^5) - (2*d*e*(a + b*acsch(c*x)))/(3*x^3) - (e^2*(a + b*acsch(c*x)))/x]
    @test_int [((d + e*x^2)^2*(a + b*acsch(c*x)))/x^8, x, 6, -((2*b*c^3*(360*c^4*d^2 - 1176*c^2*d*e + 1225*e^2)*sqrt(-1 - c^2*x^2))/(11025*sqrt((-c^2)*x^2))) + (b*c*d^2*sqrt(-1 - c^2*x^2))/(49*x^6*sqrt((-c^2)*x^2)) - (2*b*c*d*(15*c^2*d - 49*e)*sqrt(-1 - c^2*x^2))/(1225*x^4*sqrt((-c^2)*x^2)) + (b*c*(360*c^4*d^2 - 1176*c^2*d*e + 1225*e^2)*sqrt(-1 - c^2*x^2))/(11025*x^2*sqrt((-c^2)*x^2)) - (d^2*(a + b*acsch(c*x)))/(7*x^7) - (2*d*e*(a + b*acsch(c*x)))/(5*x^5) - (e^2*(a + b*acsch(c*x)))/(3*x^3)]

    @test_int [x^3*(d + e*x^2)^2*(a + b*acsch(c*x)), x, 5, -((b*(6*c^4*d^2 - 8*c^2*d*e + 3*e^2)*x*sqrt(-1 - c^2*x^2))/(24*c^7*sqrt((-c^2)*x^2))) - (b*(6*c^4*d^2 - 16*c^2*d*e + 9*e^2)*x*(-1 - c^2*x^2)^(3/2))/(72*c^7*sqrt((-c^2)*x^2)) + (b*(8*c^2*d - 9*e)*e*x*(-1 - c^2*x^2)^(5/2))/(120*c^7*sqrt((-c^2)*x^2)) - (b*e^2*x*(-1 - c^2*x^2)^(7/2))/(56*c^7*sqrt((-c^2)*x^2)) + (1/4)*d^2*x^4*(a + b*acsch(c*x)) + (1/3)*d*e*x^6*(a + b*acsch(c*x)) + (1/8)*e^2*x^8*(a + b*acsch(c*x))]
    @test_int [x^1*(d + e*x^2)^2*(a + b*acsch(c*x)), x, 6, (b*(3*c^4*d^2 - 3*c^2*d*e + e^2)*x*sqrt(-1 - c^2*x^2))/(6*c^5*sqrt((-c^2)*x^2)) - (b*(3*c^2*d - 2*e)*e*x*(-1 - c^2*x^2)^(3/2))/(18*c^5*sqrt((-c^2)*x^2)) + (b*e^2*x*(-1 - c^2*x^2)^(5/2))/(30*c^5*sqrt((-c^2)*x^2)) + ((d + e*x^2)^3*(a + b*acsch(c*x)))/(6*e) - (b*c*d^3*x*atan(sqrt(-1 - c^2*x^2)))/(6*e*sqrt((-c^2)*x^2))]
    @test_int [((d + e*x^2)^2*(a + b*acsch(c*x)))/x^1, x, 12, (b*(6*c^2*d - e)*e*sqrt(1 + 1/(c^2*x^2))*x)/(6*c^3) + (b*e^2*sqrt(1 + 1/(c^2*x^2))*x^3)/(12*c) + (1/2)*b*d^2*acsch(c*x)^2 + d*e*x^2*(a + b*acsch(c*x)) + (1/4)*e^2*x^4*(a + b*acsch(c*x)) - b*d^2*acsch(c*x)*log(1 - ℯ^(2*acsch(c*x))) + b*d^2*acsch(c*x)*log(1/x) - d^2*(a + b*acsch(c*x))*log(1/x) - (1/2)*b*d^2*PolyLog(2, ℯ^(2*acsch(c*x)))]
    @test_int [((d + e*x^2)^2*(a + b*acsch(c*x)))/x^3, x, 14, (b*c*d^2*sqrt(1 + 1/(c^2*x^2)))/(4*x) + (b*e^2*sqrt(1 + 1/(c^2*x^2))*x)/(2*c) - (1/4)*b*c^2*d^2*acsch(c*x) + b*d*e*acsch(c*x)^2 - (d^2*(a + b*acsch(c*x)))/(2*x^2) + (1/2)*e^2*x^2*(a + b*acsch(c*x)) - 2*b*d*e*acsch(c*x)*log(1 - ℯ^(2*acsch(c*x))) + 2*b*d*e*acsch(c*x)*log(1/x) - 2*d*e*(a + b*acsch(c*x))*log(1/x) - b*d*e*PolyLog(2, ℯ^(2*acsch(c*x)))]

    #= ::Subsubsection::Closed:: =#
    #=p<0=#

    @test_int [(x^2*(a + b*acsch(c*x)))/(d + e*x^2), x, 25, (x*(a + b*acsch(c*x)))/e + (b*atanh(sqrt(1 + 1/(c^2*x^2))))/(c*e) + (sqrt(-d)*(a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*e^(3/2)) - (sqrt(-d)*(a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*e^(3/2)) + (sqrt(-d)*(a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*e^(3/2)) - (sqrt(-d)*(a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*e^(3/2)) - (b*sqrt(-d)*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e)))))/(2*e^(3/2)) + (b*sqrt(-d)*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*e^(3/2)) - (b*sqrt(-d)*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e)))))/(2*e^(3/2)) + (b*sqrt(-d)*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*e^(3/2))]
    @test_int [(x*(a + b*acsch(c*x)))/(d + e*x^2), x, 26, -((a + b*acsch(c*x))^2/(b*e)) - ((a + b*acsch(c*x))*log(1 - ℯ^(-2*acsch(c*x))))/e + ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*e) + ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*e) + ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*e) + ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*e) + (b*PolyLog(2, ℯ^(-2*acsch(c*x))))/(2*e) + (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e)))))/(2*e) + (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*e) + (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e)))))/(2*e) + (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*e)]
    @test_int [(a + b*acsch(c*x))/(d + e*x^2), x, 19, ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*sqrt(-d)*sqrt(e)) - ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*sqrt(-d)*sqrt(e)) + ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*sqrt(-d)*sqrt(e)) - ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*sqrt(-d)*sqrt(e)) - (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e)))))/(2*sqrt(-d)*sqrt(e)) + (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*sqrt(-d)*sqrt(e)) - (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e)))))/(2*sqrt(-d)*sqrt(e)) + (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*sqrt(-d)*sqrt(e))]
    @test_int [(a + b*acsch(c*x))/(x*(d + e*x^2)), x, 19, (a + b*acsch(c*x))^2/(2*b*d) - ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*d) - ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*d) - ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*d) - ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*d) - (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e)))))/(2*d) - (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*d) - (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e)))))/(2*d) - (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*d)]
    @test_int [(a + b*acsch(c*x))/(x^2*(d + e*x^2)), x, 24, (b*c*sqrt(1 + 1/(c^2*x^2)))/d - a/(d*x) - (b*acsch(c*x))/(d*x) + (sqrt(e)*(a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*(-d)^(3/2)) - (sqrt(e)*(a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*(-d)^(3/2)) + (sqrt(e)*(a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*(-d)^(3/2)) - (sqrt(e)*(a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*(-d)^(3/2)) - (b*sqrt(e)*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e)))))/(2*(-d)^(3/2)) + (b*sqrt(e)*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*(-d)^(3/2)) - (b*sqrt(e)*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e)))))/(2*(-d)^(3/2)) + (b*sqrt(e)*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*(-d)^(3/2))]

    @test_int [(x^5*(a + b*acsch(c*x)))/(d + e*x^2)^2, x, 31, (b*sqrt(1 + 1/(c^2*x^2))*x)/(2*c*e^2) + (d*(a + b*acsch(c*x)))/(2*e^2*(e + d/x^2)) + (x^2*(a + b*acsch(c*x)))/(2*e^2) + (2*d*(a + b*acsch(c*x))^2)/(b*e^3) - (b*d*atan(sqrt(c^2*d - e)/(c*sqrt(e)*sqrt(1 + 1/(c^2*x^2))*x)))/(2*sqrt(c^2*d - e)*e^(5/2)) + (2*d*(a + b*acsch(c*x))*log(1 - ℯ^(-2*acsch(c*x))))/e^3 - (d*(a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/e^3 - (d*(a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/e^3 - (d*(a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/e^3 - (d*(a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/e^3 - (b*d*PolyLog(2, ℯ^(-2*acsch(c*x))))/e^3 - (b*d*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e)))))/e^3 - (b*d*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/e^3 - (b*d*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e)))))/e^3 - (b*d*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/e^3]
    @test_int [(x^3*(a + b*acsch(c*x)))/(d + e*x^2)^2, x, 29, -((a + b*acsch(c*x))/(2*e*(e + d/x^2))) - (a + b*acsch(c*x))^2/(b*e^2) + (b*atan(sqrt(c^2*d - e)/(c*sqrt(e)*sqrt(1 + 1/(c^2*x^2))*x)))/(2*sqrt(c^2*d - e)*e^(3/2)) - ((a + b*acsch(c*x))*log(1 - ℯ^(-2*acsch(c*x))))/e^2 + ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*e^2) + ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*e^2) + ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*e^2) + ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*e^2) + (b*PolyLog(2, ℯ^(-2*acsch(c*x))))/(2*e^2) + (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e)))))/(2*e^2) + (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*e^2) + (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e)))))/(2*e^2) + (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*e^2)]
    @test_int [(x*(a + b*acsch(c*x)))/(d + e*x^2)^2, x, 7, -((a + b*acsch(c*x))/(2*e*(d + e*x^2))) + (b*c*x*atan(sqrt(-1 - c^2*x^2)))/(2*d*e*sqrt((-c^2)*x^2)) + (b*c*x*atanh((sqrt(e)*sqrt(-1 - c^2*x^2))/sqrt(c^2*d - e)))/(2*d*sqrt(c^2*d - e)*sqrt(e)*sqrt((-c^2)*x^2))]
    @test_int [(a + b*acsch(c*x))/(x*(d + e*x^2)^2), x, 24, -((e*(a + b*acsch(c*x)))/(2*d^2*(e + d/x^2))) + (a + b*acsch(c*x))^2/(2*b*d^2) + (b*sqrt(e)*atan(sqrt(c^2*d - e)/(c*sqrt(e)*sqrt(1 + 1/(c^2*x^2))*x)))/(2*d^2*sqrt(c^2*d - e)) - ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*d^2) - ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*d^2) - ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*d^2) - ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*d^2) - (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e)))))/(2*d^2) - (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*d^2) - (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e)))))/(2*d^2) - (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*d^2)]

    @test_int [(x^4*(a + b*acsch(c*x)))/(d + e*x^2)^2, x, 51, -((d*(a + b*acsch(c*x)))/(4*e^2*(sqrt(-d)*sqrt(e) - d/x))) + (d*(a + b*acsch(c*x)))/(4*e^2*(sqrt(-d)*sqrt(e) + d/x)) + (x*(a + b*acsch(c*x)))/e^2 + (b*atanh(sqrt(1 + 1/(c^2*x^2))))/(c*e^2) + (b*sqrt(d)*atanh((c^2*d - (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(4*sqrt(c^2*d - e)*e^2) + (b*sqrt(d)*atanh((c^2*d + (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(4*sqrt(c^2*d - e)*e^2) + (3*sqrt(-d)*(a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(4*e^(5/2)) - (3*sqrt(-d)*(a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(4*e^(5/2)) + (3*sqrt(-d)*(a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(4*e^(5/2)) - (3*sqrt(-d)*(a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(4*e^(5/2)) - (3*b*sqrt(-d)*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e)))))/(4*e^(5/2)) + (3*b*sqrt(-d)*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(4*e^(5/2)) - (3*b*sqrt(-d)*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e)))))/(4*e^(5/2)) + (3*b*sqrt(-d)*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(4*e^(5/2))]
    @test_int [(x^2*(a + b*acsch(c*x)))/(d + e*x^2)^2, x, 27, (a + b*acsch(c*x))/(4*e*(sqrt(-d)*sqrt(e) - d/x)) - (a + b*acsch(c*x))/(4*e*(sqrt(-d)*sqrt(e) + d/x)) - (b*atanh((c^2*d - (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(4*sqrt(d)*sqrt(c^2*d - e)*e) - (b*atanh((c^2*d + (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(4*sqrt(d)*sqrt(c^2*d - e)*e) + ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(4*sqrt(-d)*e^(3/2)) - ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(4*sqrt(-d)*e^(3/2)) + ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(4*sqrt(-d)*e^(3/2)) - ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(4*sqrt(-d)*e^(3/2)) - (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e)))))/(4*sqrt(-d)*e^(3/2)) + (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(4*sqrt(-d)*e^(3/2)) - (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e)))))/(4*sqrt(-d)*e^(3/2)) + (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(4*sqrt(-d)*e^(3/2))]
    @test_int [(a + b*acsch(c*x))/(d + e*x^2)^2, x, 47, -((a + b*acsch(c*x))/(4*d*(sqrt(-d)*sqrt(e) - d/x))) + (a + b*acsch(c*x))/(4*d*(sqrt(-d)*sqrt(e) + d/x)) + (b*atanh((c^2*d - (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(4*d^(3/2)*sqrt(c^2*d - e)) + (b*atanh((c^2*d + (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(4*d^(3/2)*sqrt(c^2*d - e)) - ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(4*(-d)^(3/2)*sqrt(e)) + ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(4*(-d)^(3/2)*sqrt(e)) - ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(4*(-d)^(3/2)*sqrt(e)) + ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(4*(-d)^(3/2)*sqrt(e)) + (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e)))))/(4*(-d)^(3/2)*sqrt(e)) - (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(4*(-d)^(3/2)*sqrt(e)) + (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e)))))/(4*(-d)^(3/2)*sqrt(e)) - (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(4*(-d)^(3/2)*sqrt(e))]
    @test_int [(a + b*acsch(c*x))/(x^2*(d + e*x^2)^2), x, 50, (b*c*sqrt(1 + 1/(c^2*x^2)))/d^2 - a/(d^2*x) - (b*acsch(c*x))/(d^2*x) + (e*(a + b*acsch(c*x)))/(4*d^2*(sqrt(-d)*sqrt(e) - d/x)) - (e*(a + b*acsch(c*x)))/(4*d^2*(sqrt(-d)*sqrt(e) + d/x)) - (b*e*atanh((c^2*d - (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(4*d^(5/2)*sqrt(c^2*d - e)) - (b*e*atanh((c^2*d + (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(4*d^(5/2)*sqrt(c^2*d - e)) - (3*sqrt(e)*(a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(4*(-d)^(5/2)) + (3*sqrt(e)*(a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(4*(-d)^(5/2)) - (3*sqrt(e)*(a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(4*(-d)^(5/2)) + (3*sqrt(e)*(a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(4*(-d)^(5/2)) + (3*b*sqrt(e)*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e)))))/(4*(-d)^(5/2)) - (3*b*sqrt(e)*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(4*(-d)^(5/2)) + (3*b*sqrt(e)*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e)))))/(4*(-d)^(5/2)) - (3*b*sqrt(e)*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(4*(-d)^(5/2))]

    @test_int [(x^5*(a + b*acsch(c*x)))/(d + e*x^2)^3, x, 33, (b*c*d*sqrt(1 + 1/(c^2*x^2)))/(8*(c^2*d - e)*e^2*(e + d/x^2)*x) - (a + b*acsch(c*x))/(4*e*(e + d/x^2)^2) - (a + b*acsch(c*x))/(2*e^2*(e + d/x^2)) - (a + b*acsch(c*x))^2/(b*e^3) + (b*(c^2*d - 2*e)*atan(sqrt(c^2*d - e)/(c*sqrt(e)*sqrt(1 + 1/(c^2*x^2))*x)))/(8*(c^2*d - e)^(3/2)*e^(5/2)) + (b*atan(sqrt(c^2*d - e)/(c*sqrt(e)*sqrt(1 + 1/(c^2*x^2))*x)))/(2*sqrt(c^2*d - e)*e^(5/2)) - ((a + b*acsch(c*x))*log(1 - ℯ^(-2*acsch(c*x))))/e^3 + ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*e^3) + ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*e^3) + ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*e^3) + ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*e^3) + (b*PolyLog(2, ℯ^(-2*acsch(c*x))))/(2*e^3) + (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e)))))/(2*e^3) + (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*e^3) + (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e)))))/(2*e^3) + (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*e^3)]
    @test_int [(x^3*(a + b*acsch(c*x)))/(d + e*x^2)^3, x, 6, -((b*c*x*sqrt(-1 - c^2*x^2))/(8*(c^2*d - e)*e*sqrt((-c^2)*x^2)*(d + e*x^2))) + (x^4*(a + b*acsch(c*x)))/(4*d*(d + e*x^2)^2) + (b*c*(c^2*d - 2*e)*x*atanh((sqrt(e)*sqrt(-1 - c^2*x^2))/sqrt(c^2*d - e)))/(8*d*(c^2*d - e)^(3/2)*e^(3/2)*sqrt((-c^2)*x^2))]
    @test_int [(x*(a + b*acsch(c*x)))/(d + e*x^2)^3, x, 8, (b*c*x*sqrt(-1 - c^2*x^2))/(8*d*(c^2*d - e)*sqrt((-c^2)*x^2)*(d + e*x^2)) - (a + b*acsch(c*x))/(4*e*(d + e*x^2)^2) + (b*c*x*atan(sqrt(-1 - c^2*x^2)))/(4*d^2*e*sqrt((-c^2)*x^2)) + (b*c*(3*c^2*d - 2*e)*x*atanh((sqrt(e)*sqrt(-1 - c^2*x^2))/sqrt(c^2*d - e)))/(8*d^2*(c^2*d - e)^(3/2)*sqrt(e)*sqrt((-c^2)*x^2))]
    @test_int [(a + b*acsch(c*x))/(x*(d + e*x^2)^3), x, 28, -((b*c*e*sqrt(1 + 1/(c^2*x^2)))/(8*d^2*(c^2*d - e)*(e + d/x^2)*x)) + (e^2*(a + b*acsch(c*x)))/(4*d^3*(e + d/x^2)^2) - (e*(a + b*acsch(c*x)))/(d^3*(e + d/x^2)) + (a + b*acsch(c*x))^2/(2*b*d^3) - (b*(c^2*d - 2*e)*sqrt(e)*atan(sqrt(c^2*d - e)/(c*sqrt(e)*sqrt(1 + 1/(c^2*x^2))*x)))/(8*d^3*(c^2*d - e)^(3/2)) + (b*sqrt(e)*atan(sqrt(c^2*d - e)/(c*sqrt(e)*sqrt(1 + 1/(c^2*x^2))*x)))/(d^3*sqrt(c^2*d - e)) - ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*d^3) - ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*d^3) - ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*d^3) - ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*d^3) - (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e)))))/(2*d^3) - (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(2*d^3) - (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e)))))/(2*d^3) - (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(2*d^3)]

    @test_int [(x^4*(a + b*acsch(c*x)))/(d + e*x^2)^3, x, 35, -((b*c*sqrt(-d)*sqrt(1 + 1/(c^2*x^2)))/(16*(c^2*d - e)*e^(3/2)*(sqrt(-d)*sqrt(e) - d/x))) - (b*c*sqrt(-d)*sqrt(1 + 1/(c^2*x^2)))/(16*(c^2*d - e)*e^(3/2)*(sqrt(-d)*sqrt(e) + d/x)) + (sqrt(-d)*(a + b*acsch(c*x)))/(16*e^(3/2)*(sqrt(-d)*sqrt(e) - d/x)^2) + (3*(a + b*acsch(c*x)))/(16*e^2*(sqrt(-d)*sqrt(e) - d/x)) - (sqrt(-d)*(a + b*acsch(c*x)))/(16*e^(3/2)*(sqrt(-d)*sqrt(e) + d/x)^2) - (3*(a + b*acsch(c*x)))/(16*e^2*(sqrt(-d)*sqrt(e) + d/x)) - (3*b*atanh((c^2*d - (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(16*sqrt(d)*sqrt(c^2*d - e)*e^2) + (b*atanh((c^2*d - (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(16*sqrt(d)*(c^2*d - e)^(3/2)*e) - (3*b*atanh((c^2*d + (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(16*sqrt(d)*sqrt(c^2*d - e)*e^2) + (b*atanh((c^2*d + (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(16*sqrt(d)*(c^2*d - e)^(3/2)*e) + (3*(a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(16*sqrt(-d)*e^(5/2)) - (3*(a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(16*sqrt(-d)*e^(5/2)) + (3*(a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(16*sqrt(-d)*e^(5/2)) - (3*(a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(16*sqrt(-d)*e^(5/2)) - (3*b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e)))))/(16*sqrt(-d)*e^(5/2)) + (3*b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(16*sqrt(-d)*e^(5/2)) - (3*b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e)))))/(16*sqrt(-d)*e^(5/2)) + (3*b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(16*sqrt(-d)*e^(5/2))]
    @test_int [(x^2*(a + b*acsch(c*x)))/(d + e*x^2)^3, x, 63, -((b*c*sqrt(1 + 1/(c^2*x^2)))/(16*sqrt(-d)*(c^2*d - e)*sqrt(e)*(sqrt(-d)*sqrt(e) - d/x))) - (b*c*sqrt(1 + 1/(c^2*x^2)))/(16*sqrt(-d)*(c^2*d - e)*sqrt(e)*(sqrt(-d)*sqrt(e) + d/x)) + (a + b*acsch(c*x))/(16*sqrt(-d)*sqrt(e)*(sqrt(-d)*sqrt(e) - d/x)^2) + (a + b*acsch(c*x))/(16*d*e*(sqrt(-d)*sqrt(e) - d/x)) - (a + b*acsch(c*x))/(16*sqrt(-d)*sqrt(e)*(sqrt(-d)*sqrt(e) + d/x)^2) - (a + b*acsch(c*x))/(16*d*e*(sqrt(-d)*sqrt(e) + d/x)) - (b*atanh((c^2*d - (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(16*d^(3/2)*(c^2*d - e)^(3/2)) - (b*atanh((c^2*d - (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(16*d^(3/2)*sqrt(c^2*d - e)*e) - (b*atanh((c^2*d + (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(16*d^(3/2)*(c^2*d - e)^(3/2)) - (b*atanh((c^2*d + (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(16*d^(3/2)*sqrt(c^2*d - e)*e) - ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(16*(-d)^(3/2)*e^(3/2)) + ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(16*(-d)^(3/2)*e^(3/2)) - ((a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(16*(-d)^(3/2)*e^(3/2)) + ((a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(16*(-d)^(3/2)*e^(3/2)) + (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e)))))/(16*(-d)^(3/2)*e^(3/2)) - (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(16*(-d)^(3/2)*e^(3/2)) + (b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e)))))/(16*(-d)^(3/2)*e^(3/2)) - (b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(16*(-d)^(3/2)*e^(3/2))]
    @test_int [(a + b*acsch(c*x))/(d + e*x^2)^3, x, 81, -((b*c*sqrt(e)*sqrt(1 + 1/(c^2*x^2)))/(16*(-d)^(3/2)*(c^2*d - e)*(sqrt(-d)*sqrt(e) - d/x))) - (b*c*sqrt(e)*sqrt(1 + 1/(c^2*x^2)))/(16*(-d)^(3/2)*(c^2*d - e)*(sqrt(-d)*sqrt(e) + d/x)) + (sqrt(e)*(a + b*acsch(c*x)))/(16*(-d)^(3/2)*(sqrt(-d)*sqrt(e) - d/x)^2) - (5*(a + b*acsch(c*x)))/(16*d^2*(sqrt(-d)*sqrt(e) - d/x)) - (sqrt(e)*(a + b*acsch(c*x)))/(16*(-d)^(3/2)*(sqrt(-d)*sqrt(e) + d/x)^2) + (5*(a + b*acsch(c*x)))/(16*d^2*(sqrt(-d)*sqrt(e) + d/x)) + (5*b*atanh((c^2*d - (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(16*d^(5/2)*sqrt(c^2*d - e)) + (b*e*atanh((c^2*d - (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(16*d^(5/2)*(c^2*d - e)^(3/2)) + (5*b*atanh((c^2*d + (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(16*d^(5/2)*sqrt(c^2*d - e)) + (b*e*atanh((c^2*d + (sqrt(-d)*sqrt(e))/x)/(c*sqrt(d)*sqrt(c^2*d - e)*sqrt(1 + 1/(c^2*x^2)))))/(16*d^(5/2)*(c^2*d - e)^(3/2)) + (3*(a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(16*(-d)^(5/2)*sqrt(e)) - (3*(a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(16*(-d)^(5/2)*sqrt(e)) + (3*(a + b*acsch(c*x))*log(1 - (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(16*(-d)^(5/2)*sqrt(e)) - (3*(a + b*acsch(c*x))*log(1 + (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(16*(-d)^(5/2)*sqrt(e)) - (3*b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e)))))/(16*(-d)^(5/2)*sqrt(e)) + (3*b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) - sqrt((-c^2)*d + e))))/(16*(-d)^(5/2)*sqrt(e)) - (3*b*PolyLog(2, -((c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e)))))/(16*(-d)^(5/2)*sqrt(e)) + (3*b*PolyLog(2, (c*sqrt(-d)*ℯ^acsch(c*x))/(sqrt(e) + sqrt((-c^2)*d + e))))/(16*(-d)^(5/2)*sqrt(e))]

    #= ::Subsection::Closed:: =#
    #=Integrands*of*the*form*x^m*(d+e*x^2)^(p/2)*(a+b*acsch(c*x))=#

    #= ::Subsubsection::Closed:: =#
    #=p>0=#

    @test_int [x^5*sqrt(d + e*x^2)*(a + b*acsch(c*x)), x, If(13>=8, 12, 13), -((b*(23*c^4*d^2 - 12*c^2*d*e - 75*e^2)*x*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(1680*c^5*e^2*sqrt((-c^2)*x^2))) - (b*(29*c^2*d + 25*e)*x*sqrt(-1 - c^2*x^2)*(d + e*x^2)^(3/2))/(840*c^3*e^2*sqrt((-c^2)*x^2)) + (b*x*sqrt(-1 - c^2*x^2)*(d + e*x^2)^(5/2))/(42*c*e^2*sqrt((-c^2)*x^2)) + (d^2*(d + e*x^2)^(3/2)*(a + b*acsch(c*x)))/(3*e^3) - (2*d*(d + e*x^2)^(5/2)*(a + b*acsch(c*x)))/(5*e^3) + ((d + e*x^2)^(7/2)*(a + b*acsch(c*x)))/(7*e^3) + (b*(105*c^6*d^3 + 35*c^4*d^2*e + 63*c^2*d*e^2 - 75*e^3)*x*atan((sqrt(e)*sqrt(-1 - c^2*x^2))/(c*sqrt(d + e*x^2))))/(1680*c^6*e^(5/2)*sqrt((-c^2)*x^2)) + (8*b*c*d^(7/2)*x*atan(sqrt(d + e*x^2)/(sqrt(d)*sqrt(-1 - c^2*x^2))))/(105*e^3*sqrt((-c^2)*x^2))]
    @test_int [x^3*sqrt(d + e*x^2)*(a + b*acsch(c*x)), x, If(13>=8, 11, 12), (b*(c^2*d - 9*e)*x*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(120*c^3*e*sqrt((-c^2)*x^2)) + (b*x*sqrt(-1 - c^2*x^2)*(d + e*x^2)^(3/2))/(20*c*e*sqrt((-c^2)*x^2)) - (d*(d + e*x^2)^(3/2)*(a + b*acsch(c*x)))/(3*e^2) + ((d + e*x^2)^(5/2)*(a + b*acsch(c*x)))/(5*e^2) - (b*(15*c^4*d^2 + 10*c^2*d*e - 9*e^2)*x*atan((sqrt(e)*sqrt(-1 - c^2*x^2))/(c*sqrt(d + e*x^2))))/(120*c^4*e^(3/2)*sqrt((-c^2)*x^2)) - (2*b*c*d^(5/2)*x*atan(sqrt(d + e*x^2)/(sqrt(d)*sqrt(-1 - c^2*x^2))))/(15*e^2*sqrt((-c^2)*x^2))]
    @test_int [x*sqrt(d + e*x^2)*(a + b*acsch(c*x)), x, 9, (b*x*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(6*c*sqrt((-c^2)*x^2)) + ((d + e*x^2)^(3/2)*(a + b*acsch(c*x)))/(3*e) + (b*(3*c^2*d - e)*x*atan((sqrt(e)*sqrt(-1 - c^2*x^2))/(c*sqrt(d + e*x^2))))/(6*c^2*sqrt(e)*sqrt((-c^2)*x^2)) + (b*c*d^(3/2)*x*atan(sqrt(d + e*x^2)/(sqrt(d)*sqrt(-1 - c^2*x^2))))/(3*e*sqrt((-c^2)*x^2))]
    @test_int [sqrt(d + e*x^2)*(a + b*acsch(c*x))/x^1, x, 0, Unintegrable((sqrt(d + e*x^2)*(a + b*acsch(c*x)))/x, x)]
    @test_int [sqrt(d + e*x^2)*(a + b*acsch(c*x))/x^3, x, 0, Unintegrable((sqrt(d + e*x^2)*(a + b*acsch(c*x)))/x^3, x)]

    @test_int [x^2*sqrt(d + e*x^2)*(a + b*acsch(c*x)), x, 0, Unintegrable(x^2*sqrt(d + e*x^2)*(a + b*acsch(c*x)), x)]
    @test_int [x^0*sqrt(d + e*x^2)*(a + b*acsch(c*x)), x, 0, Unintegrable(sqrt(d + e*x^2)*(a + b*acsch(c*x)), x)]
    @test_int [sqrt(d + e*x^2)*(a + b*acsch(c*x))/x^2, x, 0, Unintegrable((sqrt(d + e*x^2)*(a + b*acsch(c*x)))/x^2, x)]
    @test_int [sqrt(d + e*x^2)*(a + b*acsch(c*x))/x^4, x, 8, -((2*b*c^3*(c^2*d - 2*e)*x^2*sqrt(d + e*x^2))/(9*d*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2))) - (2*b*c*(c^2*d - 2*e)*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(9*d*sqrt((-c^2)*x^2)) + (b*c*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(9*x^2*sqrt((-c^2)*x^2)) - ((d + e*x^2)^(3/2)*(a + b*acsch(c*x)))/(3*d*x^3) + (2*b*c^2*(c^2*d - 2*e)*x*sqrt(d + e*x^2)*Elliptic.E(atan(c*x), 1 - e/(c^2*d)))/(9*d*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2)))) - (b*(c^2*d - 3*e)*e*x*sqrt(d + e*x^2)*Elliptic.F(atan(c*x), 1 - e/(c^2*d)))/(9*d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2))))]
    @test_int [sqrt(d + e*x^2)*(a + b*acsch(c*x))/x^6, x, If(13>=8, 9, 23), If(13>=8, (b*c^3*(24*c^4*d^2 - 19*c^2*d*e - 31*e^2)*x^2*sqrt(d + e*x^2))/(225*d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)) + (b*c*(24*c^4*d^2 - 19*c^2*d*e - 31*e^2)*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(225*d^2*sqrt((-c^2)*x^2)) - (b*c*(12*c^2*d + e)*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(225*d*x^2*sqrt((-c^2)*x^2)) + (b*c*sqrt(-1 - c^2*x^2)*(d + e*x^2)^(3/2))/(25*d*x^4*sqrt((-c^2)*x^2)) - ((d + e*x^2)^(3/2)*(a + b*acsch(c*x)))/(5*d*x^5) + (2*e*(d + e*x^2)^(3/2)*(a + b*acsch(c*x)))/(15*d^2*x^3) - (b*c^2*(24*c^4*d^2 - 19*c^2*d*e - 31*e^2)*x*sqrt(d + e*x^2)*Elliptic.E(atan(c*x), 1 - e/(c^2*d)))/(225*d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2)))) + (2*b*e*(6*c^4*d^2 - 4*c^2*d*e - 15*e^2)*x*sqrt(d + e*x^2)*Elliptic.F(atan(c*x), 1 - e/(c^2*d)))/(225*d^3*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2)))), -((b*c^3*(2*c^2*d - e)*e*x^2*sqrt(d + e*x^2))/(45*d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2))) - (2*b*c^3*e^2*x^2*sqrt(d + e*x^2))/(15*d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)) + (b*c^3*(8*c^4*d^2 - 3*c^2*d*e - 2*e^2)*x^2*sqrt(d + e*x^2))/(75*d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)) - (b*c*(2*c^2*d - e)*e*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(45*d^2*sqrt((-c^2)*x^2)) - (2*b*c*e^2*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(15*d^2*sqrt((-c^2)*x^2)) + (b*c*(8*c^4*d^2 - 3*c^2*d*e - 2*e^2)*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(75*d^2*sqrt((-c^2)*x^2)) + (b*c*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(25*x^4*sqrt((-c^2)*x^2)) - (b*c*(4*c^2*d - e)*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(75*d*x^2*sqrt((-c^2)*x^2)) + (b*c*e*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(45*d*x^2*sqrt((-c^2)*x^2)) - ((d + e*x^2)^(3/2)*(a + b*acsch(c*x)))/(5*d*x^5) + (2*e*(d + e*x^2)^(3/2)*(a + b*acsch(c*x)))/(15*d^2*x^3) + (b*c^2*(2*c^2*d - e)*e*x*sqrt(d + e*x^2)*Elliptic.E(atan(c*x), 1 - e/(c^2*d)))/(45*d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2)))) + (2*b*c^2*e^2*x*sqrt(d + e*x^2)*Elliptic.E(atan(c*x), 1 - e/(c^2*d)))/(15*d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2)))) - (b*c^2*(8*c^4*d^2 - 3*c^2*d*e - 2*e^2)*x*sqrt(d + e*x^2)*Elliptic.E(atan(c*x), 1 - e/(c^2*d)))/(75*d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2)))) + (b*c^2*(4*c^2*d - e)*e*x*sqrt(d + e*x^2)*Elliptic.F(atan(c*x), 1 - e/(c^2*d)))/(75*d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2)))) - (b*c^2*e^2*x*sqrt(d + e*x^2)*Elliptic.F(atan(c*x), 1 - e/(c^2*d)))/(45*d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2)))) - (2*b*e^3*x*sqrt(d + e*x^2)*Elliptic.F(atan(c*x), 1 - e/(c^2*d)))/(15*d^3*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2)))))]

    @test_int [x^3*(d + e*x^2)^(3/2)*(a + b*acsch(c*x)), x, 12, -((b*(3*c^4*d^2 + 38*c^2*d*e - 25*e^2)*x*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(560*c^5*e*sqrt((-c^2)*x^2))) + (b*(13*c^2*d - 25*e)*x*sqrt(-1 - c^2*x^2)*(d + e*x^2)^(3/2))/(840*c^3*e*sqrt((-c^2)*x^2)) + (b*x*sqrt(-1 - c^2*x^2)*(d + e*x^2)^(5/2))/(42*c*e*sqrt((-c^2)*x^2)) - (d*(d + e*x^2)^(5/2)*(a + b*acsch(c*x)))/(5*e^2) + ((d + e*x^2)^(7/2)*(a + b*acsch(c*x)))/(7*e^2) - (b*(35*c^6*d^3 + 35*c^4*d^2*e - 63*c^2*d*e^2 + 25*e^3)*x*atan((sqrt(e)*sqrt(-1 - c^2*x^2))/(c*sqrt(d + e*x^2))))/(560*c^6*e^(3/2)*sqrt((-c^2)*x^2)) - (2*b*c*d^(7/2)*x*atan(sqrt(d + e*x^2)/(sqrt(d)*sqrt(-1 - c^2*x^2))))/(35*e^2*sqrt((-c^2)*x^2))]
    @test_int [x^1*(d + e*x^2)^(3/2)*(a + b*acsch(c*x)), x, 10, (b*(7*c^2*d - 3*e)*x*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(40*c^3*sqrt((-c^2)*x^2)) + (b*x*sqrt(-1 - c^2*x^2)*(d + e*x^2)^(3/2))/(20*c*sqrt((-c^2)*x^2)) + ((d + e*x^2)^(5/2)*(a + b*acsch(c*x)))/(5*e) + (b*(15*c^4*d^2 - 10*c^2*d*e + 3*e^2)*x*atan((sqrt(e)*sqrt(-1 - c^2*x^2))/(c*sqrt(d + e*x^2))))/(40*c^4*sqrt(e)*sqrt((-c^2)*x^2)) + (b*c*d^(5/2)*x*atan(sqrt(d + e*x^2)/(sqrt(d)*sqrt(-1 - c^2*x^2))))/(5*e*sqrt((-c^2)*x^2))]
    @test_int [(d + e*x^2)^(3/2)*(a + b*acsch(c*x))/x^1, x, 0, Unintegrable(((d + e*x^2)^(3/2)*(a + b*acsch(c*x)))/x, x)]
    @test_int [(d + e*x^2)^(3/2)*(a + b*acsch(c*x))/x^3, x, 0, Unintegrable(((d + e*x^2)^(3/2)*(a + b*acsch(c*x)))/x^3, x)]

    @test_int [x^2*(d + e*x^2)^(3/2)*(a + b*acsch(c*x)), x, 0, Unintegrable(x^2*(d + e*x^2)^(3/2)*(a + b*acsch(c*x)), x)]
    @test_int [x^0*(d + e*x^2)^(3/2)*(a + b*acsch(c*x)), x, 0, Unintegrable((d + e*x^2)^(3/2)*(a + b*acsch(c*x)), x)]
    @test_int [(d + e*x^2)^(3/2)*(a + b*acsch(c*x))/x^2, x, 0, Unintegrable(((d + e*x^2)^(3/2)*(a + b*acsch(c*x)))/x^2, x)]
    @test_int [(d + e*x^2)^(3/2)*(a + b*acsch(c*x))/x^4, x, 0, Unintegrable(((d + e*x^2)^(3/2)*(a + b*acsch(c*x)))/x^4, x)]
    @test_int [(d + e*x^2)^(3/2)*(a + b*acsch(c*x))/x^6, x, 9, (b*c^3*(8*c^4*d^2 - 23*c^2*d*e + 23*e^2)*x^2*sqrt(d + e*x^2))/(75*d*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)) + (b*c*(8*c^4*d^2 - 23*c^2*d*e + 23*e^2)*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(75*d*sqrt((-c^2)*x^2)) - (4*b*c*(c^2*d - 2*e)*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(75*x^2*sqrt((-c^2)*x^2)) + (b*c*sqrt(-1 - c^2*x^2)*(d + e*x^2)^(3/2))/(25*x^4*sqrt((-c^2)*x^2)) - ((d + e*x^2)^(5/2)*(a + b*acsch(c*x)))/(5*d*x^5) - (b*c^2*(8*c^4*d^2 - 23*c^2*d*e + 23*e^2)*x*sqrt(d + e*x^2)*Elliptic.E(atan(c*x), 1 - e/(c^2*d)))/(75*d*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2)))) + (b*e*(4*c^4*d^2 - 11*c^2*d*e + 15*e^2)*x*sqrt(d + e*x^2)*Elliptic.F(atan(c*x), 1 - e/(c^2*d)))/(75*d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2))))]
    @test_int [(d + e*x^2)^(3/2)*(a + b*acsch(c*x))/x^8, x, 10, -((b*c^3*(240*c^6*d^3 - 528*c^4*d^2*e + 193*c^2*d*e^2 + 247*e^3)*x^2*sqrt(d + e*x^2))/(3675*d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2))) - (b*c*(240*c^6*d^3 - 528*c^4*d^2*e + 193*c^2*d*e^2 + 247*e^3)*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(3675*d^2*sqrt((-c^2)*x^2)) + (b*c*(120*c^4*d^2 - 159*c^2*d*e - 37*e^2)*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(3675*d*x^2*sqrt((-c^2)*x^2)) - (b*c*(30*c^2*d - 11*e)*sqrt(-1 - c^2*x^2)*(d + e*x^2)^(3/2))/(1225*d*x^4*sqrt((-c^2)*x^2)) + (b*c*sqrt(-1 - c^2*x^2)*(d + e*x^2)^(5/2))/(49*d*x^6*sqrt((-c^2)*x^2)) - ((d + e*x^2)^(5/2)*(a + b*acsch(c*x)))/(7*d*x^7) + (2*e*(d + e*x^2)^(5/2)*(a + b*acsch(c*x)))/(35*d^2*x^5) + (b*c^2*(240*c^6*d^3 - 528*c^4*d^2*e + 193*c^2*d*e^2 + 247*e^3)*x*sqrt(d + e*x^2)*Elliptic.E(atan(c*x), 1 - e/(c^2*d)))/(3675*d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2)))) - (b*e*(120*c^6*d^3 - 249*c^4*d^2*e + 71*c^2*d*e^2 + 210*e^3)*x*sqrt(d + e*x^2)*Elliptic.F(atan(c*x), 1 - e/(c^2*d)))/(3675*d^3*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2))))]

    #= ::Subsubsection::Closed:: =#
    #=p<0=#

    @test_int [x^5*(a + b*acsch(c*x))/sqrt(d + e*x^2), x, 11, -((b*(19*c^2*d + 9*e)*x*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(120*c^3*e^2*sqrt((-c^2)*x^2))) + (b*x*sqrt(-1 - c^2*x^2)*(d + e*x^2)^(3/2))/(20*c*e^2*sqrt((-c^2)*x^2)) + (d^2*sqrt(d + e*x^2)*(a + b*acsch(c*x)))/e^3 - (2*d*(d + e*x^2)^(3/2)*(a + b*acsch(c*x)))/(3*e^3) + ((d + e*x^2)^(5/2)*(a + b*acsch(c*x)))/(5*e^3) + (b*(45*c^4*d^2 + 10*c^2*d*e + 9*e^2)*x*atan((sqrt(e)*sqrt(-1 - c^2*x^2))/(c*sqrt(d + e*x^2))))/(120*c^4*e^(5/2)*sqrt((-c^2)*x^2)) + (8*b*c*d^(5/2)*x*atan(sqrt(d + e*x^2)/(sqrt(d)*sqrt(-1 - c^2*x^2))))/(15*e^3*sqrt((-c^2)*x^2))]
    @test_int [x^3*(a + b*acsch(c*x))/sqrt(d + e*x^2), x, 10, (b*x*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(6*c*e*sqrt((-c^2)*x^2)) - (d*sqrt(d + e*x^2)*(a + b*acsch(c*x)))/e^2 + ((d + e*x^2)^(3/2)*(a + b*acsch(c*x)))/(3*e^2) - (b*(3*c^2*d + e)*x*atan((sqrt(e)*sqrt(-1 - c^2*x^2))/(c*sqrt(d + e*x^2))))/(6*c^2*e^(3/2)*sqrt((-c^2)*x^2)) - (2*b*c*d^(3/2)*x*atan(sqrt(d + e*x^2)/(sqrt(d)*sqrt(-1 - c^2*x^2))))/(3*e^2*sqrt((-c^2)*x^2))]
    @test_int [x^1*(a + b*acsch(c*x))/sqrt(d + e*x^2), x, 9, (sqrt(d + e*x^2)*(a + b*acsch(c*x)))/e + (b*x*atan((sqrt(e)*sqrt(-1 - c^2*x^2))/(c*sqrt(d + e*x^2))))/(sqrt(e)*sqrt((-c^2)*x^2)) + (b*c*sqrt(d)*x*atan(sqrt(d + e*x^2)/(sqrt(d)*sqrt(-1 - c^2*x^2))))/(e*sqrt((-c^2)*x^2))]
    @test_int [(a + b*acsch(c*x))/(x^1*sqrt(d + e*x^2)), x, 0, Unintegrable((a + b*acsch(c*x))/(x*sqrt(d + e*x^2)), x)]
    @test_int [(a + b*acsch(c*x))/(x^3*sqrt(d + e*x^2)), x, 0, Unintegrable((a + b*acsch(c*x))/(x^3*sqrt(d + e*x^2)), x)]

    @test_int [x^2*(a + b*acsch(c*x))/sqrt(d + e*x^2), x, 0, Unintegrable((x^2*(a + b*acsch(c*x)))/sqrt(d + e*x^2), x)]
    @test_int [x^0*(a + b*acsch(c*x))/sqrt(d + e*x^2), x, 0, Unintegrable((a + b*acsch(c*x))/sqrt(d + e*x^2), x)]
    @test_int [(a + b*acsch(c*x))/(x^2*sqrt(d + e*x^2)), x, 8, (b*c^3*x^2*sqrt(d + e*x^2))/(d*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)) + (b*c*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(d*sqrt((-c^2)*x^2)) - (sqrt(d + e*x^2)*(a + b*acsch(c*x)))/(d*x) - (b*c^2*x*sqrt(d + e*x^2)*Elliptic.E(atan(c*x), 1 - e/(c^2*d)))/(d*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2)))) + (b*e*x*sqrt(d + e*x^2)*Elliptic.F(atan(c*x), 1 - e/(c^2*d)))/(d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2))))]
    @test_int [(a + b*acsch(c*x))/(x^4*sqrt(d + e*x^2)), x, 8, -((b*c^3*(2*c^2*d + 5*e)*x^2*sqrt(d + e*x^2))/(9*d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2))) - (b*c*(2*c^2*d + 5*e)*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(9*d^2*sqrt((-c^2)*x^2)) + (b*c*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(9*d*x^2*sqrt((-c^2)*x^2)) - (sqrt(d + e*x^2)*(a + b*acsch(c*x)))/(3*d*x^3) + (2*e*sqrt(d + e*x^2)*(a + b*acsch(c*x)))/(3*d^2*x) + (b*c^2*(2*c^2*d + 5*e)*x*sqrt(d + e*x^2)*Elliptic.E(atan(c*x), 1 - e/(c^2*d)))/(9*d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2)))) - (b*e*(c^2*d + 6*e)*x*sqrt(d + e*x^2)*Elliptic.F(atan(c*x), 1 - e/(c^2*d)))/(9*d^3*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2))))]

    @test_int [x^5*(a + b*acsch(c*x))/(d + e*x^2)^(3/2), x, 10, (b*x*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(6*c*e^2*sqrt((-c^2)*x^2)) - (d^2*(a + b*acsch(c*x)))/(e^3*sqrt(d + e*x^2)) - (2*d*sqrt(d + e*x^2)*(a + b*acsch(c*x)))/e^3 + ((d + e*x^2)^(3/2)*(a + b*acsch(c*x)))/(3*e^3) - (b*(9*c^2*d + e)*x*atan((sqrt(e)*sqrt(-1 - c^2*x^2))/(c*sqrt(d + e*x^2))))/(6*c^2*e^(5/2)*sqrt((-c^2)*x^2)) - (8*b*c*d^(3/2)*x*atan(sqrt(d + e*x^2)/(sqrt(d)*sqrt(-1 - c^2*x^2))))/(3*e^3*sqrt((-c^2)*x^2))]
    @test_int [x^3*(a + b*acsch(c*x))/(d + e*x^2)^(3/2), x, 9, (d*(a + b*acsch(c*x)))/(e^2*sqrt(d + e*x^2)) + (sqrt(d + e*x^2)*(a + b*acsch(c*x)))/e^2 + (b*x*atan((sqrt(e)*sqrt(-1 - c^2*x^2))/(c*sqrt(d + e*x^2))))/(e^(3/2)*sqrt((-c^2)*x^2)) + (2*b*c*sqrt(d)*x*atan(sqrt(d + e*x^2)/(sqrt(d)*sqrt(-1 - c^2*x^2))))/(e^2*sqrt((-c^2)*x^2))]
    @test_int [x^1*(a + b*acsch(c*x))/(d + e*x^2)^(3/2), x, 4, -((a + b*acsch(c*x))/(e*sqrt(d + e*x^2))) - (b*c*x*atan(sqrt(d + e*x^2)/(sqrt(d)*sqrt(-1 - c^2*x^2))))/(sqrt(d)*e*sqrt((-c^2)*x^2))]
    @test_int [(a + b*acsch(c*x))/(x^1*(d + e*x^2)^(3/2)), x, 0, Unintegrable((a + b*acsch(c*x))/(x*(d + e*x^2)^(3/2)), x)]
    @test_int [(a + b*acsch(c*x))/(x^3*(d + e*x^2)^(3/2)), x, 0, Unintegrable((a + b*acsch(c*x))/(x^3*(d + e*x^2)^(3/2)), x)]

    @test_int [x^4*(a + b*acsch(c*x))/(d + e*x^2)^(3/2), x, 0, Unintegrable((x^4*(a + b*acsch(c*x)))/(d + e*x^2)^(3/2), x)]
    @test_int [x^2*(a + b*acsch(c*x))/(d + e*x^2)^(3/2), x, 0, Unintegrable((x^2*(a + b*acsch(c*x)))/(d + e*x^2)^(3/2), x)]
    @test_int [x^0*(a + b*acsch(c*x))/(d + e*x^2)^(3/2), x, 3, (x*(a + b*acsch(c*x)))/(d*sqrt(d + e*x^2)) - (b*x*sqrt(d + e*x^2)*Elliptic.F(atan(c*x), 1 - e/(c^2*d)))/(d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2))))]
    @test_int [(a + b*acsch(c*x))/(x^2*(d + e*x^2)^(3/2)), x, 7, (b*c^3*x^2*sqrt(d + e*x^2))/(d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)) + (b*c*sqrt(-1 - c^2*x^2)*sqrt(d + e*x^2))/(d^2*sqrt((-c^2)*x^2)) - (a + b*acsch(c*x))/(d*x*sqrt(d + e*x^2)) - (2*e*x*(a + b*acsch(c*x)))/(d^2*sqrt(d + e*x^2)) - (b*c^2*x*sqrt(d + e*x^2)*Elliptic.E(atan(c*x), 1 - e/(c^2*d)))/(d^2*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2)))) + (2*b*e*x*sqrt(d + e*x^2)*Elliptic.F(atan(c*x), 1 - e/(c^2*d)))/(d^3*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2))))]

    @test_int [x^5*(a + b*acsch(c*x))/(d + e*x^2)^(5/2), x, 10, (b*c*d*x*sqrt(-1 - c^2*x^2))/(3*(c^2*d - e)*e^2*sqrt((-c^2)*x^2)*sqrt(d + e*x^2)) - (d^2*(a + b*acsch(c*x)))/(3*e^3*(d + e*x^2)^(3/2)) + (2*d*(a + b*acsch(c*x)))/(e^3*sqrt(d + e*x^2)) + (sqrt(d + e*x^2)*(a + b*acsch(c*x)))/e^3 + (b*x*atan((sqrt(e)*sqrt(-1 - c^2*x^2))/(c*sqrt(d + e*x^2))))/(e^(5/2)*sqrt((-c^2)*x^2)) + (8*b*c*sqrt(d)*x*atan(sqrt(d + e*x^2)/(sqrt(d)*sqrt(-1 - c^2*x^2))))/(3*e^3*sqrt((-c^2)*x^2))]
    @test_int [x^3*(a + b*acsch(c*x))/(d + e*x^2)^(5/2), x, 7, -((b*c*x*sqrt(-1 - c^2*x^2))/(3*(c^2*d - e)*e*sqrt((-c^2)*x^2)*sqrt(d + e*x^2))) + (d*(a + b*acsch(c*x)))/(3*e^2*(d + e*x^2)^(3/2)) - (a + b*acsch(c*x))/(e^2*sqrt(d + e*x^2)) - (2*b*c*x*atan(sqrt(d + e*x^2)/(sqrt(d)*sqrt(-1 - c^2*x^2))))/(3*sqrt(d)*e^2*sqrt((-c^2)*x^2))]
    @test_int [x^1*(a + b*acsch(c*x))/(d + e*x^2)^(5/2), x, 5, (b*c*x*sqrt(-1 - c^2*x^2))/(3*d*(c^2*d - e)*sqrt((-c^2)*x^2)*sqrt(d + e*x^2)) - (a + b*acsch(c*x))/(3*e*(d + e*x^2)^(3/2)) - (b*c*x*atan(sqrt(d + e*x^2)/(sqrt(d)*sqrt(-1 - c^2*x^2))))/(3*d^(3/2)*e*sqrt((-c^2)*x^2))]
    @test_int [(a + b*acsch(c*x))/(x^1*(d + e*x^2)^(5/2)), x, 0, Unintegrable((a + b*acsch(c*x))/(x*(d + e*x^2)^(5/2)), x)]
    @test_int [(a + b*acsch(c*x))/(x^3*(d + e*x^2)^(5/2)), x, 0, Unintegrable((a + b*acsch(c*x))/(x^3*(d + e*x^2)^(5/2)), x)]

    @test_int [x^6*(a + b*acsch(c*x))/(d + e*x^2)^(5/2), x, 0, Unintegrable((x^6*(a + b*acsch(c*x)))/(d + e*x^2)^(5/2), x)]
    @test_int [x^4*(a + b*acsch(c*x))/(d + e*x^2)^(5/2), x, 0, Unintegrable((x^4*(a + b*acsch(c*x)))/(d + e*x^2)^(5/2), x)]
    @test_int [x^2*(a + b*acsch(c*x))/(d + e*x^2)^(5/2), x, 7, (b*c*x^2*sqrt(-1 - c^2*x^2))/(3*d*(c^2*d - e)*sqrt((-c^2)*x^2)*sqrt(d + e*x^2)) + (b*c^3*x^2*sqrt(d + e*x^2))/(3*d*(c^2*d - e)*e*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)) + (x^3*(a + b*acsch(c*x)))/(3*d*(d + e*x^2)^(3/2)) - (b*c^2*x*sqrt(d + e*x^2)*Elliptic.E(atan(c*x), 1 - e/(c^2*d)))/(3*d*(c^2*d - e)*e*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2)))) + (b*x*sqrt(d + e*x^2)*Elliptic.F(atan(c*x), 1 - e/(c^2*d)))/(3*d^2*(c^2*d - e)*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2))))]
    @test_int [x^0*(a + b*acsch(c*x))/(d + e*x^2)^(5/2), x, 5, (x*(a + b*acsch(c*x)))/(3*d*(d + e*x^2)^(3/2)) + (2*x*(a + b*acsch(c*x)))/(3*d^2*sqrt(d + e*x^2)) - (b*c*sqrt(e)*x*sqrt(-1 - c^2*x^2)*Elliptic.E(atan((sqrt(e)*x)/sqrt(d)), 1 - (c^2*d)/e))/(3*d^(3/2)*(c^2*d - e)*sqrt((-c^2)*x^2)*sqrt((d*(1 + c^2*x^2))/(d + e*x^2))*sqrt(d + e*x^2)) - (b*(3*c^2*d - 2*e)*x*sqrt(d + e*x^2)*Elliptic.F(atan(c*x), 1 - e/(c^2*d)))/(3*d^3*(c^2*d - e)*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)*sqrt((d + e*x^2)/(d*(1 + c^2*x^2))))]

    #= ::Subsection::Closed:: =#
    #=Integrands*of*the*form*(f*x)^m*(d+e*x^2)^p*(a+b*acsch(c*x))*when*m*symbolic=#

    @test_int [(f*x)^m*(d + e*x^2)^3*(a + b*acsch(c*x)), x, 6, If(13>=8, (b*e*(e^2*(15 + 8*m + m^2)^2 - 3*c^2*d*e*(3 + m)^2*(42 + 13*m + m^2) + 3*c^4*d^2*(840 + 638*m + 179*m^2 + 22*m^3 + m^4))*x*(f*x)^(1 + m)*sqrt(-1 - c^2*x^2))/(c^5*f*(2 + m)*(3 + m)*(4 + m)*(5 + m)*(6 + m)*(7 + m)*sqrt((-c^2)*x^2)) - (b*e^2*(e*(5 + m)^2 - 3*c^2*d*(42 + 13*m + m^2))*x*(f*x)^(3 + m)*sqrt(-1 - c^2*x^2))/(c^3*f^3*(4 + m)*(5 + m)*(6 + m)*(7 + m)*sqrt((-c^2)*x^2)) + (b*e^3*x*(f*x)^(5 + m)*sqrt(-1 - c^2*x^2))/(c*f^5*(6 + m)*(7 + m)*sqrt((-c^2)*x^2)) + (d^3*(f*x)^(1 + m)*(a + b*acsch(c*x)))/(f*(1 + m)) + (3*d^2*e*(f*x)^(3 + m)*(a + b*acsch(c*x)))/(f^3*(3 + m)) + (3*d*e^2*(f*x)^(5 + m)*(a + b*acsch(c*x)))/(f^5*(5 + m)) + (e^3*(f*x)^(7 + m)*(a + b*acsch(c*x)))/(f^7*(7 + m)) - (b*((c^6*d^3*(2 + m)*(4 + m)*(6 + m))/(1 + m) - (e*(1 + m)*(e^2*(15 + 8*m + m^2)^2 - 3*c^2*d*e*(3 + m)^2*(42 + 13*m + m^2) + 3*c^4*d^2*(840 + 638*m + 179*m^2 + 22*m^3 + m^4)))/((3 + m)*(5 + m)*(7 + m)))*x*(f*x)^(1 + m)*sqrt(1 + c^2*x^2)*HypergeometricFunctions._₂F₁(1/2, (1 + m)/2, (3 + m)/2, (-c^2)*x^2))/(c^5*f*(1 + m)*(2 + m)*(4 + m)*(6 + m)*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)), (b*e*(e^2*(15 + 8*m + m^2)^2 - 3*c^2*d*e*(3 + m)^2*(42 + 13*m + m^2) + 3*c^4*d^2*(840 + 638*m + 179*m^2 + 22*m^3 + m^4))*x*(f*x)^(1 + m)*sqrt(-1 - c^2*x^2))/(c^5*f*(6 + m)*(8 + 6*m + m^2)*(105 + 71*m + 15*m^2 + m^3)*sqrt((-c^2)*x^2)) - (b*e^2*(e*(5 + m)^2 - 3*c^2*d*(42 + 13*m + m^2))*x*(f*x)^(3 + m)*sqrt(-1 - c^2*x^2))/(c^3*f^3*(4 + m)*(6 + m)*(35 + 12*m + m^2)*sqrt((-c^2)*x^2)) + (b*e^3*x*(f*x)^(5 + m)*sqrt(-1 - c^2*x^2))/(c*f^5*(6 + m)*(7 + m)*sqrt((-c^2)*x^2)) + (d^3*(f*x)^(1 + m)*(a + b*acsch(c*x)))/(f*(1 + m)) + (3*d^2*e*(f*x)^(3 + m)*(a + b*acsch(c*x)))/(f^3*(3 + m)) + (3*d*e^2*(f*x)^(5 + m)*(a + b*acsch(c*x)))/(f^5*(5 + m)) + (e^3*(f*x)^(7 + m)*(a + b*acsch(c*x)))/(f^7*(7 + m)) - (b*((c^6*d^3*(2 + m)*(4 + m)*(6 + m))/(1 + m) - (e*(1 + m)*(e^2*(15 + 8*m + m^2)^2 - 3*c^2*d*e*(3 + m)^2*(42 + 13*m + m^2) + 3*c^4*d^2*(840 + 638*m + 179*m^2 + 22*m^3 + m^4)))/(105 + 71*m + 15*m^2 + m^3))*x*(f*x)^(1 + m)*sqrt(1 + c^2*x^2)*HypergeometricFunctions._₂F₁(1/2, (1 + m)/2, (3 + m)/2, (-c^2)*x^2))/(c^5*f*(1 + m)*(2 + m)*(4 + m)*(6 + m)*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)))]
    @test_int [(f*x)^m*(d + e*x^2)^2*(a + b*acsch(c*x)), x, 6, If(13>=8, -((b*e*(e*(3 + m)^2 - 2*c^2*d*(20 + 9*m + m^2))*x*(f*x)^(1 + m)*sqrt(-1 - c^2*x^2))/(c^3*f*(2 + m)*(3 + m)*(4 + m)*(5 + m)*sqrt((-c^2)*x^2))) + (b*e^2*x*(f*x)^(3 + m)*sqrt(-1 - c^2*x^2))/(c*f^3*(4 + m)*(5 + m)*sqrt((-c^2)*x^2)) + (d^2*(f*x)^(1 + m)*(a + b*acsch(c*x)))/(f*(1 + m)) + (2*d*e*(f*x)^(3 + m)*(a + b*acsch(c*x)))/(f^3*(3 + m)) + (e^2*(f*x)^(5 + m)*(a + b*acsch(c*x)))/(f^5*(5 + m)) - (b*(c^4*d^2*(2 + m)*(3 + m)*(4 + m)*(5 + m) + e*(1 + m)^2*(e*(3 + m)^2 - 2*c^2*d*(20 + 9*m + m^2)))*x*(f*x)^(1 + m)*sqrt(1 + c^2*x^2)*HypergeometricFunctions._₂F₁(1/2, (1 + m)/2, (3 + m)/2, (-c^2)*x^2))/(c^3*f*(1 + m)^2*(2 + m)*(3 + m)*(4 + m)*(5 + m)*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)), -((b*e*(e*(3 + m)^2 - 2*c^2*d*(20 + 9*m + m^2))*x*(f*x)^(1 + m)*sqrt(-1 - c^2*x^2))/(c^3*f*(4 + m)*(5 + m)*(6 + 5*m + m^2)*sqrt((-c^2)*x^2))) + (b*e^2*x*(f*x)^(3 + m)*sqrt(-1 - c^2*x^2))/(c*f^3*(4 + m)*(5 + m)*sqrt((-c^2)*x^2)) + (d^2*(f*x)^(1 + m)*(a + b*acsch(c*x)))/(f*(1 + m)) + (2*d*e*(f*x)^(3 + m)*(a + b*acsch(c*x)))/(f^3*(3 + m)) + (e^2*(f*x)^(5 + m)*(a + b*acsch(c*x)))/(f^5*(5 + m)) - (b*(c^4*d^2*(2 + m)*(3 + m)*(4 + m)*(5 + m) + e*(1 + m)^2*(e*(3 + m)^2 - 2*c^2*d*(20 + 9*m + m^2)))*x*(f*x)^(1 + m)*sqrt(1 + c^2*x^2)*HypergeometricFunctions._₂F₁(1/2, (1 + m)/2, (3 + m)/2, (-c^2)*x^2))/(c^3*f*(1 + m)^2*(2 + m)*(3 + m)*(4 + m)*(5 + m)*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)))]
    @test_int [(f*x)^m*(d + e*x^2)*(a + b*acsch(c*x)), x, 5, (b*e*x*(f*x)^(1 + m)*sqrt(-1 - c^2*x^2))/(c*f*(6 + 5*m + m^2)*sqrt((-c^2)*x^2)) + (d*(f*x)^(1 + m)*(a + b*acsch(c*x)))/(f*(1 + m)) + (e*(f*x)^(3 + m)*(a + b*acsch(c*x)))/(f^3*(3 + m)) + (b*(e*(1 + m)^2 - c^2*d*(2 + m)*(3 + m))*x*(f*x)^(1 + m)*sqrt(1 + c^2*x^2)*HypergeometricFunctions._₂F₁(1/2, (1 + m)/2, (3 + m)/2, (-c^2)*x^2))/(c*f*(1 + m)^2*(2 + m)*(3 + m)*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2))]
    @test_int [((f*x)^m*(a + b*acsch(c*x)))/(d + e*x^2), x, 0, Unintegrable(((f*x)^m*(a + b*acsch(c*x)))/(d + e*x^2), x)]
    @test_int [((f*x)^m*(a + b*acsch(c*x)))/(d + e*x^2)^2, x, 0, Unintegrable(((f*x)^m*(a + b*acsch(c*x)))/(d + e*x^2)^2, x)]

    @test_int [(f*x)^m*(d + e*x^2)^(3/2)*(a + b*acsch(c*x)), x, 0, Unintegrable((f*x)^m*(d + e*x^2)^(3/2)*(a + b*acsch(c*x)), x)]
    @test_int [(f*x)^m*sqrt(d + e*x^2)*(a + b*acsch(c*x)), x, 0, Unintegrable((f*x)^m*sqrt(d + e*x^2)*(a + b*acsch(c*x)), x)]
    @test_int [((f*x)^m*(a + b*acsch(c*x)))/sqrt(d + e*x^2), x, 0, Unintegrable(((f*x)^m*(a + b*acsch(c*x)))/sqrt(d + e*x^2), x)]
    @test_int [((f*x)^m*(a + b*acsch(c*x)))/(d + e*x^2)^(3/2), x, 0, Unintegrable(((f*x)^m*(a + b*acsch(c*x)))/(d + e*x^2)^(3/2), x)]

    #= ::Section::Closed:: =#
    #=Integrands*of*the*form*(f*x)^m*(d+e*x^4)^p*(a+b*acsch(c*x))^n=#

    #= ::Subsection::Closed:: =#
    #=Integrands*of*the*form*x^m*(d+e*x^4)^(p/2)*(a+b*acsch(c*x))=#

    #= ::Subsubsection:: =#
    #=p>0=#

    #= ::Subsubsection::Closed:: =#
    #=p<0=#

    @test_int [x^11*(a + b*acsch(c*x))/sqrt(1 - c^4*x^4), x, 16, -((4*b*sqrt(1 - c^2*x^2)*sqrt(1 + c^2*x^2))/(15*c^13*sqrt(1 + 1/(c^2*x^2))*x)) + (7*b*(1 - c^2*x^2)^(3/2)*sqrt(1 + c^2*x^2))/(90*c^13*sqrt(1 + 1/(c^2*x^2))*x) - (13*b*(1 - c^2*x^2)^(5/2)*sqrt(1 + c^2*x^2))/(150*c^13*sqrt(1 + 1/(c^2*x^2))*x) + (3*b*(1 - c^2*x^2)^(7/2)*sqrt(1 + c^2*x^2))/(70*c^13*sqrt(1 + 1/(c^2*x^2))*x) - (b*(1 - c^2*x^2)^(9/2)*sqrt(1 + c^2*x^2))/(90*c^13*sqrt(1 + 1/(c^2*x^2))*x) - (sqrt(1 - c^4*x^4)*(a + b*acsch(c*x)))/(2*c^12) + ((1 - c^4*x^4)^(3/2)*(a + b*acsch(c*x)))/(3*c^12) - ((1 - c^4*x^4)^(5/2)*(a + b*acsch(c*x)))/(10*c^12) + (4*b*sqrt(1 + c^2*x^2)*atanh(sqrt(1 - c^2*x^2)))/(15*c^13*sqrt(1 + 1/(c^2*x^2))*x)]
    @test_int [x^7*(a + b*acsch(c*x))/sqrt(1 - c^4*x^4), x, 13, -((b*sqrt(1 - c^2*x^2)*sqrt(1 + c^2*x^2))/(3*c^9*sqrt(1 + 1/(c^2*x^2))*x)) + (b*(1 - c^2*x^2)^(3/2)*sqrt(1 + c^2*x^2))/(18*c^9*sqrt(1 + 1/(c^2*x^2))*x) - (b*(1 - c^2*x^2)^(5/2)*sqrt(1 + c^2*x^2))/(30*c^9*sqrt(1 + 1/(c^2*x^2))*x) - (sqrt(1 - c^4*x^4)*(a + b*acsch(c*x)))/(2*c^8) + ((1 - c^4*x^4)^(3/2)*(a + b*acsch(c*x)))/(6*c^8) + (b*sqrt(1 + c^2*x^2)*atanh(sqrt(1 - c^2*x^2)))/(3*c^9*sqrt(1 + 1/(c^2*x^2))*x)]
    @test_int [x^3*(a + b*acsch(c*x))/sqrt(1 - c^4*x^4), x, 8, (b*x*sqrt(1 - c^4*x^4))/(2*c^3*sqrt((-c^2)*x^2)*sqrt(-1 - c^2*x^2)) - (sqrt(1 - c^4*x^4)*(a + b*acsch(c*x)))/(2*c^4) - (b*x*atan(sqrt(1 - c^4*x^4)/sqrt(-1 - c^2*x^2)))/(2*c^3*sqrt((-c^2)*x^2)), -((b*sqrt(1 - c^2*x^2)*sqrt(1 + c^2*x^2))/(2*c^5*sqrt(1 + 1/(c^2*x^2))*x)) - (sqrt(1 - c^4*x^4)*(a + b*acsch(c*x)))/(2*c^4) + (b*sqrt(1 + c^2*x^2)*atanh(sqrt(1 - c^2*x^2)))/(2*c^5*sqrt(1 + 1/(c^2*x^2))*x)]
    @test_int [(a + b*acsch(c*x))/(x^1*sqrt(1 - c^4*x^4)), x, 0, Unintegrable((a + b*acsch(c*x))/(x*sqrt(1 - c^4*x^4)), x)]
    @test_int [(a + b*acsch(c*x))/(x^5*sqrt(1 - c^4*x^4)), x, 0, Unintegrable((a + b*acsch(c*x))/(x^5*sqrt(1 - c^4*x^4)), x)]

    #= ::Section:: =#
    #=Integrands*of*the*form*u*(a+b*acsch(c*x))^n=#
    end

ext: jl

max_stars_repo_path: test/7 Inverse hyperbolic functions/7.6 Inverse hyperbolic cosecant/7.6.1 u (a+b arccsch(c x))^n.jl