int_rules_5_1_6 = @theory begin

    #= ::Subsection::Closed:: =#
    #= 5.1.6*Miscellaneous*inverse*sine =#
    @apply_utils Antiderivative((~(a') + ~(b') * asin(~c + ~(d') * ~x)) ^ ~(n'), ~x) => (1 / ~d) * Subst(Antiderivative((~a + ~b * asin(~x)) ^ ~n, ~x), ~x, ~c + ~d * ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~n], ~x)
    @apply_utils Antiderivative((~(a') + ~(b') * acos(~c + ~(d') * ~x)) ^ ~(n'), ~x) => (1 / ~d) * Subst(Antiderivative((~a + ~b * acos(~x)) ^ ~n, ~x), ~x, ~c + ~d * ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~n], ~x)
    @apply_utils Antiderivative((~(e') + ~(f') * ~x) ^ ~(m') * (~(a') + ~(b') * asin(~c + ~(d') * ~x)) ^ ~(n'), ~x) => (1 / ~d) * Subst(Antiderivative(((~d * ~e - ~c * ~f) / ~d + (~f * ~x) / ~d) ^ ~m * (~a + ~b * asin(~x)) ^ ~n, ~x), ~x, ~c + ~d * ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n], ~x)
    @apply_utils Antiderivative((~(e') + ~(f') * ~x) ^ ~(m') * (~(a') + ~(b') * acos(~c + ~(d') * ~x)) ^ ~(n'), ~x) => (1 / ~d) * Subst(Antiderivative(((~d * ~e - ~c * ~f) / ~d + (~f * ~x) / ~d) ^ ~m * (~a + ~b * acos(~x)) ^ ~n, ~x), ~x, ~c + ~d * ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~m, ~n], ~x)
    @apply_utils Antiderivative((~(A') + ~(B') * ~x + ~(C') * (~x) ^ 2) ^ ~(p') * (~(a') + ~(b') * asin(~c + ~(d') * ~x)) ^ ~(n'), ~x) => (1 / ~d) * Subst(Antiderivative((-(~C) / (~d) ^ 2 + (~C / (~d) ^ 2) * (~x) ^ 2) ^ ~p * (~a + ~b * asin(~x)) ^ ~n, ~x), ~x, ~c + ~d * ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~A, ~B, ~C, ~n, ~p], ~x) && (EqQ(~B * (1 - (~c) ^ 2) + 2 * ~A * ~c * ~d, 0) && EqQ(2 * ~c * ~C - ~B * ~d, 0))
    @apply_utils Antiderivative((~(A') + ~(B') * ~x + ~(C') * (~x) ^ 2) ^ ~(p') * (~(a') + ~(b') * acos(~c + ~(d') * ~x)) ^ ~(n'), ~x) => (1 / ~d) * Subst(Antiderivative((-(~C) / (~d) ^ 2 + (~C / (~d) ^ 2) * (~x) ^ 2) ^ ~p * (~a + ~b * acos(~x)) ^ ~n, ~x), ~x, ~c + ~d * ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~A, ~B, ~C, ~n, ~p], ~x) && (EqQ(~B * (1 - (~c) ^ 2) + 2 * ~A * ~c * ~d, 0) && EqQ(2 * ~c * ~C - ~B * ~d, 0))
    @apply_utils Antiderivative((~(e') + ~(f') * ~x) ^ ~(m') * (~(A') + ~(B') * ~x + ~(C') * (~x) ^ 2) ^ ~(p') * (~(a') + ~(b') * asin(~c + ~(d') * ~x)) ^ ~(n'), ~x) => (1 / ~d) * Subst(Antiderivative(((~d * ~e - ~c * ~f) / ~d + (~f * ~x) / ~d) ^ ~m * (-(~C) / (~d) ^ 2 + (~C / (~d) ^ 2) * (~x) ^ 2) ^ ~p * (~a + ~b * asin(~x)) ^ ~n, ~x), ~x, ~c + ~d * ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~A, ~B, ~C, ~m, ~n, ~p], ~x) && (EqQ(~B * (1 - (~c) ^ 2) + 2 * ~A * ~c * ~d, 0) && EqQ(2 * ~c * ~C - ~B * ~d, 0))
    @apply_utils Antiderivative((~(e') + ~(f') * ~x) ^ ~(m') * (~(A') + ~(B') * ~x + ~(C') * (~x) ^ 2) ^ ~(p') * (~(a') + ~(b') * acos(~c + ~(d') * ~x)) ^ ~(n'), ~x) => (1 / ~d) * Subst(Antiderivative(((~d * ~e - ~c * ~f) / ~d + (~f * ~x) / ~d) ^ ~m * (-(~C) / (~d) ^ 2 + (~C / (~d) ^ 2) * (~x) ^ 2) ^ ~p * (~a + ~b * acos(~x)) ^ ~n, ~x), ~x, ~c + ~d * ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~e, ~f, ~A, ~B, ~C, ~m, ~n, ~p], ~x) && (EqQ(~B * (1 - (~c) ^ 2) + 2 * ~A * ~c * ~d, 0) && EqQ(2 * ~c * ~C - ~B * ~d, 0))
    @apply_utils Antiderivative(sqrt(~(a') + ~(b') * asin(~c + ~(d') * (~x) ^ 2)), ~x) => (~x * sqrt(~a + ~b * asin(~c + ~d * (~x) ^ 2)) - (sqrt(pi) * ~x * (cos(~a / (2 * ~b)) + ~c * sin(~a / (2 * ~b))) * FresnelC(sqrt(~c / (pi * ~b)) * sqrt(~a + ~b * asin(~c + ~d * (~x) ^ 2)))) / (sqrt(~c / ~b) * (cos(asin(~c + ~d * (~x) ^ 2) / 2) - ~c * sin(asin(~c + ~d * (~x) ^ 2) / 2)))) + (sqrt(pi) * ~x * (cos(~a / (2 * ~b)) - ~c * sin(~a / (2 * ~b))) * FresnelS(sqrt(~c / (pi * ~b)) * sqrt(~a + ~b * asin(~c + ~d * (~x) ^ 2)))) / (sqrt(~c / ~b) * (cos(asin(~c + ~d * (~x) ^ 2) / 2) - ~c * sin(asin(~c + ~d * (~x) ^ 2) / 2))) <-- FreeQ([~a, ~b, ~c, ~d], ~x) && EqQ((~c) ^ 2, 1)
    @apply_utils Antiderivative(sqrt(~(a') + ~(b') * acos(1 + ~(d') * (~x) ^ 2)), ~x) => ((-2 * sqrt(~a + ~b * acos(1 + ~d * (~x) ^ 2)) * sin(acos(1 + ~d * (~x) ^ 2) / 2) ^ 2) / (~d * ~x) - (2 * sqrt(pi) * sin(~a / (2 * ~b)) * sin(acos(1 + ~d * (~x) ^ 2) / 2) * FresnelC(sqrt(1 / (pi * ~b)) * sqrt(~a + ~b * acos(1 + ~d * (~x) ^ 2)))) / (sqrt(1 / ~b) * ~d * ~x)) + (2 * sqrt(pi) * cos(~a / (2 * ~b)) * sin(acos(1 + ~d * (~x) ^ 2) / 2) * FresnelS(sqrt(1 / (pi * ~b)) * sqrt(~a + ~b * acos(1 + ~d * (~x) ^ 2)))) / (sqrt(1 / ~b) * ~d * ~x) <-- FreeQ([~a, ~b, ~d], ~x)
    @apply_utils Antiderivative(sqrt(~(a') + ~(b') * acos(-1 + ~(d') * (~x) ^ 2)), ~x) => ((2 * sqrt(~a + ~b * acos(-1 + ~d * (~x) ^ 2)) * cos((1 / 2) * acos(-1 + ~d * (~x) ^ 2)) ^ 2) / (~d * ~x) - (2 * sqrt(pi) * cos(~a / (2 * ~b)) * cos(acos(-1 + ~d * (~x) ^ 2) / 2) * FresnelC(sqrt(1 / (pi * ~b)) * sqrt(~a + ~b * acos(-1 + ~d * (~x) ^ 2)))) / (sqrt(1 / ~b) * ~d * ~x)) - (2 * sqrt(pi) * sin(~a / (2 * ~b)) * cos(acos(-1 + ~d * (~x) ^ 2) / 2) * FresnelS(sqrt(1 / (pi * ~b)) * sqrt(~a + ~b * acos(-1 + ~d * (~x) ^ 2)))) / (sqrt(1 / ~b) * ~d * ~x) <-- FreeQ([~a, ~b, ~d], ~x)
    @apply_utils Antiderivative((~(a') + ~(b') * asin(~c + ~(d') * (~x) ^ 2)) ^ ~n, ~x) => (~x * (~a + ~b * asin(~c + ~d * (~x) ^ 2)) ^ ~n + (2 * ~b * ~n * sqrt(-2 * ~c * ~d * (~x) ^ 2 - (~d) ^ 2 * (~x) ^ 4) * (~a + ~b * asin(~c + ~d * (~x) ^ 2)) ^ (~n - 1)) / (~d * ~x)) - 4 * (~b) ^ 2 * ~n * (~n - 1) * Antiderivative((~a + ~b * asin(~c + ~d * (~x) ^ 2)) ^ (~n - 2), ~x) <-- FreeQ([~a, ~b, ~c, ~d], ~x) && (EqQ((~c) ^ 2, 1) && GtQ(~n, 1))
    @apply_utils Antiderivative((~(a') + ~(b') * acos(~c + ~(d') * (~x) ^ 2)) ^ ~n, ~x) => (~x * (~a + ~b * acos(~c + ~d * (~x) ^ 2)) ^ ~n - (2 * ~b * ~n * sqrt(-2 * ~c * ~d * (~x) ^ 2 - (~d) ^ 2 * (~x) ^ 4) * (~a + ~b * acos(~c + ~d * (~x) ^ 2)) ^ (~n - 1)) / (~d * ~x)) - 4 * (~b) ^ 2 * ~n * (~n - 1) * Antiderivative((~a + ~b * acos(~c + ~d * (~x) ^ 2)) ^ (~n - 2), ~x) <-- FreeQ([~a, ~b, ~c, ~d], ~x) && (EqQ((~c) ^ 2, 1) && GtQ(~n, 1))
    @apply_utils Antiderivative(1 / (~(a') + ~(b') * asin(~c + ~(d') * (~x) ^ 2)), ~x) => (-(~x) * (~c * cos(~a / (2 * ~b)) - sin(~a / (2 * ~b))) * CosIntegral((~c / (2 * ~b)) * (~a + ~b * asin(~c + ~d * (~x) ^ 2)))) / (2 * ~b * (cos(asin(~c + ~d * (~x) ^ 2) / 2) - ~c * sin(asin(~c + ~d * (~x) ^ 2) / 2))) - (~x * (~c * cos(~a / (2 * ~b)) + sin(~a / (2 * ~b))) * SinIntegral((~c / (2 * ~b)) * (~a + ~b * asin(~c + ~d * (~x) ^ 2)))) / (2 * ~b * (cos(asin(~c + ~d * (~x) ^ 2) / 2) - ~c * sin(asin(~c + ~d * (~x) ^ 2) / 2))) <-- FreeQ([~a, ~b, ~c, ~d], ~x) && EqQ((~c) ^ 2, 1)
    @apply_utils Antiderivative(1 / (~(a') + ~(b') * acos(1 + ~(d') * (~x) ^ 2)), ~x) => (~x * cos(~a / (2 * ~b)) * CosIntegral((~a + ~b * acos(1 + ~d * (~x) ^ 2)) / (2 * ~b))) / (sqrt(2) * ~b * sqrt(-(~d) * (~x) ^ 2)) + (~x * sin(~a / (2 * ~b)) * SinIntegral((~a + ~b * acos(1 + ~d * (~x) ^ 2)) / (2 * ~b))) / (sqrt(2) * ~b * sqrt(-(~d) * (~x) ^ 2)) <-- FreeQ([~a, ~b, ~d], ~x)
    @apply_utils Antiderivative(1 / (~(a') + ~(b') * acos(-1 + ~(d') * (~x) ^ 2)), ~x) => (~x * sin(~a / (2 * ~b)) * CosIntegral((~a + ~b * acos(-1 + ~d * (~x) ^ 2)) / (2 * ~b))) / (sqrt(2) * ~b * sqrt(~d * (~x) ^ 2)) - (~x * cos(~a / (2 * ~b)) * SinIntegral((~a + ~b * acos(-1 + ~d * (~x) ^ 2)) / (2 * ~b))) / (sqrt(2) * ~b * sqrt(~d * (~x) ^ 2)) <-- FreeQ([~a, ~b, ~d], ~x)
    @apply_utils Antiderivative(1 / sqrt(~(a') + ~(b') * asin(~c + ~(d') * (~x) ^ 2)), ~x) => (-(sqrt(pi)) * ~x * (cos(~a / (2 * ~b)) - ~c * sin(~a / (2 * ~b))) * FresnelC((1 / (sqrt(~b * ~c) * sqrt(pi))) * sqrt(~a + ~b * asin(~c + ~d * (~x) ^ 2)))) / (sqrt(~b * ~c) * (cos(asin(~c + ~d * (~x) ^ 2) / 2) - ~c * sin(asin(~c + ~d * (~x) ^ 2) / 2))) - (sqrt(pi) * ~x * (cos(~a / (2 * ~b)) + ~c * sin(~a / (2 * ~b))) * FresnelS((1 / (sqrt(~b * ~c) * sqrt(pi))) * sqrt(~a + ~b * asin(~c + ~d * (~x) ^ 2)))) / (sqrt(~b * ~c) * (cos(asin(~c + ~d * (~x) ^ 2) / 2) - ~c * sin(asin(~c + ~d * (~x) ^ 2) / 2))) <-- FreeQ([~a, ~b, ~c, ~d], ~x) && EqQ((~c) ^ 2, 1)
    @apply_utils Antiderivative(1 / sqrt(~(a') + ~(b') * acos(1 + ~(d') * (~x) ^ 2)), ~x) => (-2 * sqrt(pi / ~b) * cos(~a / (2 * ~b)) * sin(acos(1 + ~d * (~x) ^ 2) / 2) * FresnelC(sqrt(1 / (pi * ~b)) * sqrt(~a + ~b * acos(1 + ~d * (~x) ^ 2)))) / (~d * ~x) - (2 * sqrt(pi / ~b) * sin(~a / (2 * ~b)) * sin(acos(1 + ~d * (~x) ^ 2) / 2) * FresnelS(sqrt(1 / (pi * ~b)) * sqrt(~a + ~b * acos(1 + ~d * (~x) ^ 2)))) / (~d * ~x) <-- FreeQ([~a, ~b, ~d], ~x)
    @apply_utils Antiderivative(1 / sqrt(~(a') + ~(b') * acos(-1 + ~(d') * (~x) ^ 2)), ~x) => (2 * sqrt(pi / ~b) * sin(~a / (2 * ~b)) * cos(acos(-1 + ~d * (~x) ^ 2) / 2) * FresnelC(sqrt(1 / (pi * ~b)) * sqrt(~a + ~b * acos(-1 + ~d * (~x) ^ 2)))) / (~d * ~x) - (2 * sqrt(pi / ~b) * cos(~a / (2 * ~b)) * cos(acos(-1 + ~d * (~x) ^ 2) / 2) * FresnelS(sqrt(1 / (pi * ~b)) * sqrt(~a + ~b * acos(-1 + ~d * (~x) ^ 2)))) / (~d * ~x) <-- FreeQ([~a, ~b, ~d], ~x)
    @apply_utils Antiderivative(1 / (~(a') + ~(b') * asin(~c + ~(d') * (~x) ^ 2)) ^ (3 / 2), ~x) => (-(sqrt(-2 * ~c * ~d * (~x) ^ 2 - (~d) ^ 2 * (~x) ^ 4)) / (~b * ~d * ~x * sqrt(~a + ~b * asin(~c + ~d * (~x) ^ 2))) - ((~c / ~b) ^ (3 / 2) * sqrt(pi) * ~x * (cos(~a / (2 * ~b)) + ~c * sin(~a / (2 * ~b))) * FresnelC(sqrt(~c / (pi * ~b)) * sqrt(~a + ~b * asin(~c + ~d * (~x) ^ 2)))) / (cos((1 / 2) * asin(~c + ~d * (~x) ^ 2)) - ~c * sin(asin(~c + ~d * (~x) ^ 2) / 2))) + ((~c / ~b) ^ (3 / 2) * sqrt(pi) * ~x * (cos(~a / (2 * ~b)) - ~c * sin(~a / (2 * ~b))) * FresnelS(sqrt(~c / (pi * ~b)) * sqrt(~a + ~b * asin(~c + ~d * (~x) ^ 2)))) / (cos((1 / 2) * asin(~c + ~d * (~x) ^ 2)) - ~c * sin(asin(~c + ~d * (~x) ^ 2) / 2)) <-- FreeQ([~a, ~b, ~c, ~d], ~x) && EqQ((~c) ^ 2, 1)
    @apply_utils Antiderivative(1 / (~(a') + ~(b') * acos(1 + ~(d') * (~x) ^ 2)) ^ (3 / 2), ~x) => (sqrt(-2 * ~d * (~x) ^ 2 - (~d) ^ 2 * (~x) ^ 4) / (~b * ~d * ~x * sqrt(~a + ~b * acos(1 + ~d * (~x) ^ 2))) - (2 * (1 / ~b) ^ (3 / 2) * sqrt(pi) * sin(~a / (2 * ~b)) * sin(acos(1 + ~d * (~x) ^ 2) / 2) * FresnelC(sqrt(1 / (pi * ~b)) * sqrt(~a + ~b * acos(1 + ~d * (~x) ^ 2)))) / (~d * ~x)) + (2 * (1 / ~b) ^ (3 / 2) * sqrt(pi) * cos(~a / (2 * ~b)) * sin(acos(1 + ~d * (~x) ^ 2) / 2) * FresnelS(sqrt(1 / (pi * ~b)) * sqrt(~a + ~b * acos(1 + ~d * (~x) ^ 2)))) / (~d * ~x) <-- FreeQ([~a, ~b, ~d], ~x)
    @apply_utils Antiderivative(1 / (~(a') + ~(b') * acos(-1 + ~(d') * (~x) ^ 2)) ^ (3 / 2), ~x) => (sqrt(2 * ~d * (~x) ^ 2 - (~d) ^ 2 * (~x) ^ 4) / (~b * ~d * ~x * sqrt(~a + ~b * acos(-1 + ~d * (~x) ^ 2))) - (2 * (1 / ~b) ^ (3 / 2) * sqrt(pi) * cos(~a / (2 * ~b)) * cos(acos(-1 + ~d * (~x) ^ 2) / 2) * FresnelC(sqrt(1 / (pi * ~b)) * sqrt(~a + ~b * acos(-1 + ~d * (~x) ^ 2)))) / (~d * ~x)) - (2 * (1 / ~b) ^ (3 / 2) * sqrt(pi) * sin(~a / (2 * ~b)) * cos(acos(-1 + ~d * (~x) ^ 2) / 2) * FresnelS(sqrt(1 / (pi * ~b)) * sqrt(~a + ~b * acos(-1 + ~d * (~x) ^ 2)))) / (~d * ~x) <-- FreeQ([~a, ~b, ~d], ~x)
    @apply_utils Antiderivative(1 / (~(a') + ~(b') * asin(~c + ~(d') * (~x) ^ 2)) ^ 2, ~x) => (-(sqrt(-2 * ~c * ~d * (~x) ^ 2 - (~d) ^ 2 * (~x) ^ 4)) / (2 * ~b * ~d * ~x * (~a + ~b * asin(~c + ~d * (~x) ^ 2))) - (~x * (cos(~a / (2 * ~b)) + ~c * sin(~a / (2 * ~b))) * CosIntegral((~c / (2 * ~b)) * (~a + ~b * asin(~c + ~d * (~x) ^ 2)))) / (4 * (~b) ^ 2 * (cos(asin(~c + ~d * (~x) ^ 2) / 2) - ~c * sin(asin(~c + ~d * (~x) ^ 2) / 2)))) + (~x * (cos(~a / (2 * ~b)) - ~c * sin(~a / (2 * ~b))) * SinIntegral((~c / (2 * ~b)) * (~a + ~b * asin(~c + ~d * (~x) ^ 2)))) / (4 * (~b) ^ 2 * (cos(asin(~c + ~d * (~x) ^ 2) / 2) - ~c * sin(asin(~c + ~d * (~x) ^ 2) / 2))) <-- FreeQ([~a, ~b, ~c, ~d], ~x) && EqQ((~c) ^ 2, 1)
    @apply_utils Antiderivative(1 / (~(a') + ~(b') * acos(1 + ~(d') * (~x) ^ 2)) ^ 2, ~x) => (sqrt(-2 * ~d * (~x) ^ 2 - (~d) ^ 2 * (~x) ^ 4) / (2 * ~b * ~d * ~x * (~a + ~b * acos(1 + ~d * (~x) ^ 2))) + (~x * sin(~a / (2 * ~b)) * CosIntegral((~a + ~b * acos(1 + ~d * (~x) ^ 2)) / (2 * ~b))) / (2 * sqrt(2) * (~b) ^ 2 * sqrt(-(~d) * (~x) ^ 2))) - (~x * cos(~a / (2 * ~b)) * SinIntegral((~a + ~b * acos(1 + ~d * (~x) ^ 2)) / (2 * ~b))) / (2 * sqrt(2) * (~b) ^ 2 * sqrt(-(~d) * (~x) ^ 2)) <-- FreeQ([~a, ~b, ~d], ~x)
    @apply_utils Antiderivative(1 / (~(a') + ~(b') * acos(-1 + ~(d') * (~x) ^ 2)) ^ 2, ~x) => (sqrt(2 * ~d * (~x) ^ 2 - (~d) ^ 2 * (~x) ^ 4) / (2 * ~b * ~d * ~x * (~a + ~b * acos(-1 + ~d * (~x) ^ 2))) - (~x * cos(~a / (2 * ~b)) * CosIntegral((~a + ~b * acos(-1 + ~d * (~x) ^ 2)) / (2 * ~b))) / (2 * sqrt(2) * (~b) ^ 2 * sqrt(~d * (~x) ^ 2))) - (~x * sin(~a / (2 * ~b)) * SinIntegral((~a + ~b * acos(-1 + ~d * (~x) ^ 2)) / (2 * ~b))) / (2 * sqrt(2) * (~b) ^ 2 * sqrt(~d * (~x) ^ 2)) <-- FreeQ([~a, ~b, ~d], ~x)
    @apply_utils Antiderivative((~(a') + ~(b') * asin(~c + ~(d') * (~x) ^ 2)) ^ ~n, ~x) => ((~x * (~a + ~b * asin(~c + ~d * (~x) ^ 2)) ^ (~n + 2)) / (4 * (~b) ^ 2 * (~n + 1) * (~n + 2)) + (sqrt(-2 * ~c * ~d * (~x) ^ 2 - (~d) ^ 2 * (~x) ^ 4) * (~a + ~b * asin(~c + ~d * (~x) ^ 2)) ^ (~n + 1)) / (2 * ~b * ~d * (~n + 1) * ~x)) - (1 / (4 * (~b) ^ 2 * (~n + 1) * (~n + 2))) * Antiderivative((~a + ~b * asin(~c + ~d * (~x) ^ 2)) ^ (~n + 2), ~x) <-- FreeQ([~a, ~b, ~c, ~d], ~x) && (EqQ((~c) ^ 2, 1) && (LtQ(~n, -1) && NeQ(~n, -2)))
    @apply_utils Antiderivative((~(a') + ~(b') * acos(~c + ~(d') * (~x) ^ 2)) ^ ~n, ~x) => ((~x * (~a + ~b * acos(~c + ~d * (~x) ^ 2)) ^ (~n + 2)) / (4 * (~b) ^ 2 * (~n + 1) * (~n + 2)) - (sqrt(-2 * ~c * ~d * (~x) ^ 2 - (~d) ^ 2 * (~x) ^ 4) * (~a + ~b * acos(~c + ~d * (~x) ^ 2)) ^ (~n + 1)) / (2 * ~b * ~d * (~n + 1) * ~x)) - (1 / (4 * (~b) ^ 2 * (~n + 1) * (~n + 2))) * Antiderivative((~a + ~b * acos(~c + ~d * (~x) ^ 2)) ^ (~n + 2), ~x) <-- FreeQ([~a, ~b, ~c, ~d], ~x) && (EqQ((~c) ^ 2, 1) && (LtQ(~n, -1) && NeQ(~n, -2)))
    @apply_utils Antiderivative(asin(~(a') * (~x) ^ ~p) ^ ~(n') / ~x, ~x) => (1 / ~p) * Subst(Antiderivative((~x) ^ ~n * cot(~x), ~x), ~x, asin(~a * (~x) ^ ~p)) <-- FreeQ([~a, ~p], ~x) && IGtQ(~n, 0)
    @apply_utils Antiderivative(acos(~(a') * (~x) ^ ~p) ^ ~(n') / ~x, ~x) => (-1 / ~p) * Subst(Antiderivative((~x) ^ ~n * tan(~x), ~x), ~x, acos(~a * (~x) ^ ~p)) <-- FreeQ([~a, ~p], ~x) && IGtQ(~n, 0)
    @apply_utils Antiderivative(~(u') * asin(~(c') / (~(a') + ~(b') * (~x) ^ ~(n'))) ^ ~(m'), ~x) => Antiderivative(~u * acsc(~a / ~c + (~b * (~x) ^ ~n) / ~c) ^ ~m, ~x) <-- FreeQ([~a, ~b, ~c, ~n, ~m], ~x)
    @apply_utils Antiderivative(~(u') * acos(~(c') / (~(a') + ~(b') * (~x) ^ ~(n'))) ^ ~(m'), ~x) => Antiderivative(~u * asec(~a / ~c + (~b * (~x) ^ ~n) / ~c) ^ ~m, ~x) <-- FreeQ([~a, ~b, ~c, ~n, ~m], ~x)
    @apply_utils Antiderivative(asin(sqrt(1 + ~(b') * (~x) ^ 2)) ^ ~(n') / sqrt(1 + ~(b') * (~x) ^ 2), ~x) => (sqrt(-(~b) * (~x) ^ 2) / (~b * ~x)) * Subst(Antiderivative(asin(~x) ^ ~n / sqrt(1 - (~x) ^ 2), ~x), ~x, sqrt(1 + ~b * (~x) ^ 2)) <-- FreeQ([~b, ~n], ~x)
    @apply_utils Antiderivative(acos(sqrt(1 + ~(b') * (~x) ^ 2)) ^ ~(n') / sqrt(1 + ~(b') * (~x) ^ 2), ~x) => (sqrt(-(~b) * (~x) ^ 2) / (~b * ~x)) * Subst(Antiderivative(acos(~x) ^ ~n / sqrt(1 - (~x) ^ 2), ~x), ~x, sqrt(1 + ~b * (~x) ^ 2)) <-- FreeQ([~b, ~n], ~x)
    @apply_utils Antiderivative(~(u') * (~f) ^ (~(c') * asin(~(a') + ~(b') * ~x) ^ ~(n')), ~x) => (1 / ~b) * Subst(Antiderivative(ReplaceAll(~u, (~x->begin
                                        #= none:1 =#
                                        #= none:3 =#
                                        -(~a) / ~b + sin(~x) / ~b
                                    end)) * (~f) ^ (~c * (~x) ^ ~n) * cos(~x), ~x), ~x, asin(~a + ~b * ~x)) <-- FreeQ([~a, ~b, ~c, ~f], ~x) && IGtQ(~n, 0)
    @apply_utils Antiderivative(~(u') * (~f) ^ (~(c') * acos(~(a') + ~(b') * ~x) ^ ~(n')), ~x) => (-1 / ~b) * Subst(Antiderivative(ReplaceAll(~u, (~x->begin
                                        #= none:1 =#
                                        #= none:3 =#
                                        -(~a) / ~b + cos(~x) / ~b
                                    end)) * (~f) ^ (~c * (~x) ^ ~n) * sin(~x), ~x), ~x, acos(~a + ~b * ~x)) <-- FreeQ([~a, ~b, ~c, ~f], ~x) && IGtQ(~n, 0)
    @apply_utils Antiderivative(asin(~(a') * (~x) ^ 2 + ~(b') * sqrt(~c + ~(d') * (~x) ^ 2)), ~x) => ~x * asin(~a * (~x) ^ 2 + ~b * sqrt(~c + ~d * (~x) ^ 2)) - ((~x * sqrt((~b) ^ 2 * ~d + (~a) ^ 2 * (~x) ^ 2 + 2 * ~a * ~b * sqrt(~c + ~d * (~x) ^ 2))) / sqrt(-((~x) ^ 2) * ((~b) ^ 2 * ~d + (~a) ^ 2 * (~x) ^ 2 + 2 * ~a * ~b * sqrt(~c + ~d * (~x) ^ 2)))) * Antiderivative((~x * (~b * ~d + 2 * ~a * sqrt(~c + ~d * (~x) ^ 2))) / (sqrt(~c + ~d * (~x) ^ 2) * sqrt((~b) ^ 2 * ~d + (~a) ^ 2 * (~x) ^ 2 + 2 * ~a * ~b * sqrt(~c + ~d * (~x) ^ 2))), ~x) <-- FreeQ([~a, ~b, ~c, ~d], ~x) && EqQ((~b) ^ 2 * ~c, 1)
    @apply_utils Antiderivative(acos(~(a') * (~x) ^ 2 + ~(b') * sqrt(~c + ~(d') * (~x) ^ 2)), ~x) => ~x * acos(~a * (~x) ^ 2 + ~b * sqrt(~c + ~d * (~x) ^ 2)) + ((~x * sqrt((~b) ^ 2 * ~d + (~a) ^ 2 * (~x) ^ 2 + 2 * ~a * ~b * sqrt(~c + ~d * (~x) ^ 2))) / sqrt(-((~x) ^ 2) * ((~b) ^ 2 * ~d + (~a) ^ 2 * (~x) ^ 2 + 2 * ~a * ~b * sqrt(~c + ~d * (~x) ^ 2)))) * Antiderivative((~x * (~b * ~d + 2 * ~a * sqrt(~c + ~d * (~x) ^ 2))) / (sqrt(~c + ~d * (~x) ^ 2) * sqrt((~b) ^ 2 * ~d + (~a) ^ 2 * (~x) ^ 2 + 2 * ~a * ~b * sqrt(~c + ~d * (~x) ^ 2))), ~x) <-- FreeQ([~a, ~b, ~c, ~d], ~x) && EqQ((~b) ^ 2 * ~c, 1)
    @apply_utils Antiderivative(asin(~u), ~x) => ~x * asin(~u) - Antiderivative(SimplifyIntegrand((~x * D(~u, ~x)) / sqrt(1 - (~u) ^ 2), ~x), ~x) <-- InverseFunctionFreeQ(~u, ~x) && Not(FunctionOfExponentialQ(~u, ~x))
    @apply_utils Antiderivative(acos(~u), ~x) => ~x * acos(~u) + Antiderivative(SimplifyIntegrand((~x * D(~u, ~x)) / sqrt(1 - (~u) ^ 2), ~x), ~x) <-- InverseFunctionFreeQ(~u, ~x) && Not(FunctionOfExponentialQ(~u, ~x))
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) ^ ~(m') * (~(a') + ~(b') * asin(~u)), ~x) => ((~c + ~d * ~x) ^ (~m + 1) * (~a + ~b * asin(~u))) / (~d * (~m + 1)) - (~b / (~d * (~m + 1))) * Antiderivative(SimplifyIntegrand(((~c + ~d * ~x) ^ (~m + 1) * D(~u, ~x)) / sqrt(1 - (~u) ^ 2), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~m], ~x) && (NeQ(~m, -1) && (InverseFunctionFreeQ(~u, ~x) && (Not(FunctionOfQ((~c + ~d * ~x) ^ (~m + 1), ~u, ~x)) && Not(FunctionOfExponentialQ(~u, ~x)))))
    @apply_utils Antiderivative((~(c') + ~(d') * ~x) ^ ~(m') * (~(a') + ~(b') * acos(~u)), ~x) => ((~c + ~d * ~x) ^ (~m + 1) * (~a + ~b * acos(~u))) / (~d * (~m + 1)) + (~b / (~d * (~m + 1))) * Antiderivative(SimplifyIntegrand(((~c + ~d * ~x) ^ (~m + 1) * D(~u, ~x)) / sqrt(1 - (~u) ^ 2), ~x), ~x) <-- FreeQ([~a, ~b, ~c, ~d, ~m], ~x) && (NeQ(~m, -1) && (InverseFunctionFreeQ(~u, ~x) && (Not(FunctionOfQ((~c + ~d * ~x) ^ (~m + 1), ~u, ~x)) && Not(FunctionOfExponentialQ(~u, ~x)))))
    @apply_utils Antiderivative(~v * (~(a') + ~(b') * asin(~u)), ~x) => With([w = IntHide(~v, ~x)], Dist(~a + ~b * asin(~u), w, ~x) - ~b * Antiderivative(SimplifyIntegrand((w * D(~u, ~x)) / sqrt(1 - (~u) ^ 2), ~x), ~x) <-- InverseFunctionFreeQ(w, ~x)) <-- FreeQ([~a, ~b], ~x) && (InverseFunctionFreeQ(~u, ~x) && Not(MatchQ(~v, (~(c') + ~(d') * ~x) ^ ~(m') <-- FreeQ([c, d, m], ~x))))
    @apply_utils Antiderivative(~v * (~(a') + ~(b') * acos(~u)), ~x) => With([w = IntHide(~v, ~x)], Dist(~a + ~b * acos(~u), w, ~x) + ~b * Antiderivative(SimplifyIntegrand((w * D(~u, ~x)) / sqrt(1 - (~u) ^ 2), ~x), ~x) <-- InverseFunctionFreeQ(w, ~x)) <-- FreeQ([~a, ~b], ~x) && (InverseFunctionFreeQ(~u, ~x) && Not(MatchQ(~v, (~(c') + ~(d') * ~x) ^ ~(m') <-- FreeQ([c, d, m], ~x))))
end
