From 44413c5afdf7c0e9317a337301c237f196785a4c Mon Sep 17 00:00:00 2001 From: lucaferranti Date: Mon, 31 May 2021 16:41:32 +0300 Subject: [PATCH 01/10] fixed bugs towards ITF1788 compliance * fixed typo in po_rev2 * fixed power_rev for exponent zero integer * added support for decorated intervals * added methods with one less parameter with x=R * fixed cosh_rev * added mul_rev_to_pair * added tests from ITF1788 test suite --- src/IntervalContractors.jl | 4 +- src/arithmetic.jl | 24 +- src/decorated.jl | 35 + src/hyperbolic.jl | 2 +- test/Non1788tests/hyperbolic.jl | 11 - test/libieeep1788_mul_rev.jl | 702 ++++++++++++ test/libieeep1788_rev.jl | 1798 ++++++++++++++++++++++++++++--- test/pow_rev.jl | 1616 +++++++++++++++++++++++++++ test/runtests.jl | 1 + 9 files changed, 4005 insertions(+), 188 deletions(-) create mode 100644 src/decorated.jl create mode 100644 test/libieeep1788_mul_rev.jl create mode 100644 test/pow_rev.jl diff --git a/src/IntervalContractors.jl b/src/IntervalContractors.jl index 5ed9dc2..aa0286d 100644 --- a/src/IntervalContractors.jl +++ b/src/IntervalContractors.jl @@ -12,7 +12,8 @@ export plus_rev, minus_rev, inv_rev, asin_rev, acos_rev, atan_rev, sinh_rev, cosh_rev, tanh_rev, asinh_rev, acosh_rev, atanh_rev, - mul_rev_IEEE1788 + mul_rev_IEEE1788, mul_rev_to_pair, + pow_rev1, pow_rev2 using IntervalArithmetic @@ -32,6 +33,7 @@ include("inverse_trig.jl") include("hyperbolic.jl") include("inverse_hyperbolic.jl") include("extrema.jl") +include("decorated.jl") """ Dictionary mapping functions to their reverse functions. diff --git a/src/arithmetic.jl b/src/arithmetic.jl index ee645a6..e973b28 100644 --- a/src/arithmetic.jl +++ b/src/arithmetic.jl @@ -90,7 +90,12 @@ inv_rev(a,b) = inv_rev(promote(a,b)...) """ Reverse power """ -function power_rev(a::Interval, b::Interval, n::Integer) # a = b^n, log(a) = n.log(b), b = a^(1/n) +function power_rev(a::Interval{T}, b::Interval{T}, n::Integer) where T # a = b^n, log(a) = n.log(b), b = a^(1/n) + + if iszero(n) + 1 ∈ a && return (a, entireinterval(T) ∩ b, n) + return (a, emptyinterval(T), n) + end if n == 2 # a = b^2 root = √a @@ -117,6 +122,7 @@ function power_rev(a::Interval, b::Interval, n::Integer) # a = b^n, log(a) = n return (a, b, n) end +power_rev(a::Interval{T}, n::Integer) where T = power_rev(a, entireinterval(T), n) function power_rev(a::Interval, b::Interval, c::Interval) # a = b^c @@ -162,8 +168,6 @@ function sqr_rev(c, x) # c = x^2; refine x return (c, hull(x1, x2)) end -sqr_rev(c) = sqr_rev(c, -∞..∞) - """ Reverse abs """ @@ -210,5 +214,17 @@ function pow_rev1(b, c, x) # c = x^b end function pow_rev2(a, c, x) # c = a^x - return x ∩ (log(c) / lob(a)) + return x ∩ (log(c) / log(a)) +end + +mul_rev_to_pair(b::Interval, c::Interval) = extended_div(c, b) + +function mul_rev_to_pair(b::DecoratedInterval{T}, c::DecoratedInterval{T}) where T + (isnai(b) || isnai(c)) && return (nai(T), nai(T)) + + 0 ∉ b && return (c/b, DecoratedInterval(emptyinterval(T), trv)) + + x1, x2 = extended_div(interval(c), interval(b)) + return (DecoratedInterval(x1, trv), DecoratedInterval(x2, trv)) end + diff --git a/src/decorated.jl b/src/decorated.jl new file mode 100644 index 0000000..8970cf2 --- /dev/null +++ b/src/decorated.jl @@ -0,0 +1,35 @@ +entiredecorated(T) = DecoratedInterval(entireinterval(T)) + +for op in (:sqr_rev, :abs_rev, :sin_rev, :cos_rev, :tan_rev, :cosh_rev, :sinh_rev, :tanh_rev) + @eval begin + function $op(a::DecoratedInterval{T}, x::DecoratedInterval{T}) where T + ( isnai(a) || isnai(x) ) && return nai(T) + bare = $op(interval(a), interval(x)) + return (DecoratedInterval(bare[1], trv), DecoratedInterval(bare[2], trv)) + end + end + @eval $op(a::Interval{T}) where T = $op(a, entireinterval(T)) + @eval $op(a::DecoratedInterval{T}) where T = $op(a, entiredecorated(T)) +end + +function power_rev(a::DecoratedInterval{T}, x::DecoratedInterval{T}, n::Integer) where T + ( isnai(a) || isnai(x) ) && return nai(T) + bare = power_rev(interval(a), interval(x), n) + return (DecoratedInterval(bare[1], trv), DecoratedInterval(bare[2], trv), n) +end + +power_rev(a::DecoratedInterval{T}, n::Integer) where T = power_rev(a, entiredecorated(T), n) + +for op in (:mul_rev_IEEE1788, :pow_rev1, :pow_rev2) + @eval begin + function $op(b::DecoratedInterval{T}, c::DecoratedInterval{T}, x::DecoratedInterval{T}) where T + (isnai(b) || isnai(c) || isnai(x) ) && return nai(T) + bare = $op(interval(b), interval(c), interval(x)) + return DecoratedInterval(bare, trv) + end + end + + @eval $op(a::Interval{T}, b::Interval{T}) where T = $op(a, b, entireinterval(T)) + @eval $op(a::DecoratedInterval{T}, b::DecoratedInterval{T}) where T = $op(a, b, entiredecorated(T)) + +end \ No newline at end of file diff --git a/src/hyperbolic.jl b/src/hyperbolic.jl index 2f97755..1c09fbe 100644 --- a/src/hyperbolic.jl +++ b/src/hyperbolic.jl @@ -12,7 +12,7 @@ Reverse function for `cosh`. """ function cosh_rev(y::Interval,x::Interval) y_new = y ∩ Interval(1.,∞) - x = x ∩ acosh(y) + x = (x ∩ acosh(y)) ∪ (x ∩ -acosh(y)) return y_new, x end diff --git a/test/Non1788tests/hyperbolic.jl b/test/Non1788tests/hyperbolic.jl index 96dbab6..d098581 100644 --- a/test/Non1788tests/hyperbolic.jl +++ b/test/Non1788tests/hyperbolic.jl @@ -24,17 +24,6 @@ isapprox(x::Interval,y::Interval) = isapprox(x.lo,y.lo,atol=1E-4) && isapprox(x. @test isapprox(sinh_rev(Interval(-1.0, 25.0), -∞..∞)[2], Interval(-0.881374, 3.91243)) end -@testset "cosh_rev_test" begin - @test isapprox(cosh_rev(∅, -∞..∞)[2], ∅) - @test isapprox(cosh_rev(Interval(-10.0, -1.0), -∞..∞)[2], ∅) - @test isapprox(cosh_rev(Interval(0.0, Inf), -∞..∞)[2], Interval(0.0, ∞)) - @test isapprox(cosh_rev(Interval(0.0, 1.0), -∞..∞)[2], Interval(0, 0)) - @test isapprox(cosh_rev(Interval(-0.5, 1.0), -∞..∞)[2], Interval(0, 0)) - @test isapprox(cosh_rev(Interval(-1000.0, 1.0), -∞..∞)[2], Interval(0, 0)) - @test isapprox(cosh_rev(Interval(0.0, 25.0), -∞..∞)[2], Interval(0, 3.91163)) - @test isapprox(cosh_rev(Interval(-1.0, 25.0), -∞..∞)[2], Interval(0, 3.91163)) -end - @testset "tanh_rev_test" begin @test tanh_rev(∅, -∞..∞)[2] == ∅ @test tanh_rev(Interval(-10.0, -1.0), -∞..∞)[2] == ∅ diff --git a/test/libieeep1788_mul_rev.jl b/test/libieeep1788_mul_rev.jl new file mode 100644 index 0000000..8944dac --- /dev/null +++ b/test/libieeep1788_mul_rev.jl @@ -0,0 +1,702 @@ +@testset "minimal_mulRevToPair_test" begin + + @test mul_rev_to_pair(emptyinterval(), interval(1.0, 2.0))[1] == emptyinterval() && mul_rev_to_pair(emptyinterval(), interval(1.0, 2.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(1.0, 2.0), emptyinterval())[1] == emptyinterval() && mul_rev_to_pair(interval(1.0, 2.0), emptyinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(emptyinterval(), emptyinterval())[1] == emptyinterval() && mul_rev_to_pair(emptyinterval(), emptyinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, -0.4))[1] == Interval(0x1.999999999999AP-3, 0x1.5P+4) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, -0.4))[1] == Interval(0x1.999999999999AP-3, Inf) && mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, -0.4))[1] == Interval(-Inf, -0x1.745D1745D1745P-2) && mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, -0.4))[2] == Interval(0x1.999999999999AP-3, Inf) + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, -0.4))[1] == Interval(-Inf, -0x1.745D1745D1745P-2) && mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, -0.4))[1] == Interval(-0x1.A400000000001P+7, -0x1.745D1745D1745P-2) && mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, -0.4))[1] == emptyinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, -0.4))[1] == Interval(0.0, 0x1.5P+4) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, -0.4))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, -0.4))[1] == Interval(-Inf, -0x1.745D1745D1745P-2) && mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, -0.4))[2] == Interval(0.0, Inf) + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, -0.4))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, -0.4))[2] == Interval(0x1.999999999999AP-3, Inf) + + @test mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, -0.4))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, -0.4))[1] == Interval(-0x1.A400000000001P+7, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(-2.1, -0.4))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(entireinterval(), interval(-2.1, -0.4))[2] == Interval(0.0, Inf) + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, 0.0))[1] == Interval(0.0, 0x1.5P+4) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, 0.0))[1] == Interval(-0x1.A400000000001P+7, 0.0) && mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, 0.0))[1] == Interval(0.0, 0x1.5P+4) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, 0.0))[1] == Interval(-0x1.A400000000001P+7, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, 0.12))[1] == Interval(-0x1.3333333333333P+0, 0x1.5P+4) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, 0.12))[1] == Interval(-0x1.A400000000001P+7 , 0x1.8P+3) && mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, 0.12))[1] == Interval(-0x1.3333333333333P+0, 0x1.5P+4) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, 0.12))[1] == Interval(-0x1.A400000000001P+7 , 0x1.8P+3) && mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, 0.12))[1] == Interval(-0x1.3333333333333P+0, 0.0) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, 0.12))[1] == Interval(0.0, 0x1.8P+3) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, 0.12))[1] == Interval(-0x1.3333333333333P+0, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(0.0, 0.12))[1] == Interval(0.0, 0x1.8P+3) && mul_rev_to_pair(interval(0.01, Inf), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.01, 0.12))[1] == Interval(-0x1.3333333333333P+0, -0x1.47AE147AE147BP-8) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.01, 0.12))[1] == Interval(-Inf, -0x1.47AE147AE147BP-8) && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.01, 0.12))[1] == Interval(-Inf, -0x1.47AE147AE147BP-8) && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.01, 0.12))[2] == Interval(0x1.29E4129E4129DP-7, Inf) + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.01, 0.12))[1] == Interval(0x1.29E4129E4129DP-7, Inf) && mul_rev_to_pair(interval(0.0, 1.1), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.01, 0.12))[1] == Interval(0x1.29E4129E4129DP-7, 0x1.8P+3) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.01, 0.12))[1] == emptyinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.01, 0.12))[1] == Interval(-0x1.3333333333333P+0, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.01, 0.12))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.01, 0.12))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.01, 0.12))[2] == Interval(0x1.29E4129E4129DP-7, Inf) + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.01, 0.12))[1] == Interval(-Inf, -0x1.47AE147AE147BP-8) && mul_rev_to_pair(interval(-2.0, Inf), interval(0.01, 0.12))[2] == Interval(0.0, Inf) + + @test mul_rev_to_pair(interval(0.0, Inf), interval(0.01, 0.12))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(0.0, Inf), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(0.01, 0.12))[1] == Interval(0.0, 0x1.8P+3) && mul_rev_to_pair(interval(0.01, Inf), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(0.01, 0.12))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(entireinterval(), interval(0.01, 0.12))[2] == Interval(0.0, Inf) + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, 0.0))[1] == Interval(0.0, 0.0) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, 0.0))[1] == Interval(0.0, 0.0) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, 0.0))[1] == Interval(0.0, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(0.0, 0.0))[1] == Interval(0.0, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, -0.1))[1] == Interval(0x1.999999999999AP-5, Inf) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, -0.1))[1] == Interval(0x1.999999999999AP-5 , Inf) && mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, -0.1))[1] == Interval(-Inf , -0x1.745D1745D1745P-4) && mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, -0.1))[2] == Interval(0x1.999999999999AP-5 , Inf) + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, -0.1))[1] == Interval(-Inf, -0x1.745D1745D1745P-4) && mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, -0.1))[1] == Interval(-Inf, -0x1.745D1745D1745P-4) && mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, -0.1))[1] == emptyinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, -0.1))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, -0.1))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, -0.1))[1] == Interval(-Inf, -0x1.745D1745D1745P-4) && mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, -0.1))[2] == Interval(0.0, Inf) + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, -0.1))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, -0.1))[2] == Interval(0x1.999999999999AP-5 , Inf) + + @test mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, -0.1))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, -0.1))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(-Inf, -0.1))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(entireinterval(), interval(-Inf, -0.1))[2] == Interval(0.0, Inf) + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, 0.0))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, 0.0))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, 0.0))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, 0.0))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, 0.3))[1] == Interval(-0x1.8P+1, Inf) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, 0.3))[1] == Interval(-Inf, 0x1.EP+4) && mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, 0.3))[1] == Interval(-0x1.8P+1, Inf) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, 0.3))[1] == Interval(-Inf, 0x1.EP+4) && mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-0.21, Inf))[1] == Interval(-Inf , 0x1.0CCCCCCCCCCCDP+1) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-0.21, Inf))[1] == Interval(-0x1.5P+4, Inf) && mul_rev_to_pair(interval(0.01, 1.1), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-0.21, Inf))[1] == Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(-0.21, Inf))[1] == Interval(-0x1.5P+4, Inf) && mul_rev_to_pair(interval(0.01, Inf), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, Inf))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(0.0, Inf))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(0.01, Inf), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.04, Inf))[1] == Interval(-Inf, -0x1.47AE147AE147BP-6) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.04, Inf))[1] == Interval(-Inf, -0x1.47AE147AE147BP-6) && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.04, Inf))[1] == Interval(-Inf, -0x1.47AE147AE147BP-6) && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.04, Inf))[2] == Interval(0x1.29E4129E4129DP-5, Inf) + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.04, Inf))[1] == Interval(0x1.29E4129E4129DP-5, Inf) && mul_rev_to_pair(interval(0.0, 1.1), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.04, Inf))[1] == Interval(0x1.29E4129E4129DP-5, Inf) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.04, Inf))[1] == emptyinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.04, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.04, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.04, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.04, Inf))[2] == Interval(0x1.29E4129E4129DP-5, Inf) + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.04, Inf))[1] == Interval(-Inf, -0x1.47AE147AE147BP-6) && mul_rev_to_pair(interval(-2.0, Inf), interval(0.04, Inf))[2] == Interval(0.0, Inf) + + @test mul_rev_to_pair(interval(0.0, Inf), interval(0.04, Inf))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(0.0, Inf), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(0.04, Inf))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(0.01, Inf), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(0.04, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(entireinterval(), interval(0.04, Inf))[2] == Interval(0.0, Inf) + + @test mul_rev_to_pair(interval(-2.0, -0.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, -0.1), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(0.01, 1.1), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, -0.1), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(0.01, Inf), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), entireinterval())[1] == entireinterval() && mul_rev_to_pair(entireinterval(), entireinterval())[2] == emptyinterval() + +end + +@testset "minimal_mulRevToPair_dec_test" begin + + @test isnai(mul_rev_to_pair(nai(), DecoratedInterval(interval(1.0,2.0), def))[1]) && isnai(mul_rev_to_pair(nai(), DecoratedInterval(interval(1.0,2.0), def))[2]) + + @test isnai(mul_rev_to_pair(DecoratedInterval(interval(1.0,2.0), com), nai())[1]) && isnai(mul_rev_to_pair(DecoratedInterval(interval(1.0,2.0), com), nai())[2]) + + @test isnai(mul_rev_to_pair(nai(), nai())[1]) && isnai(mul_rev_to_pair(nai(), nai())[2]) + + @test mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0, 2.0), def))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0, 2.0), def))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0, 2.0), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0, 2.0), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(1.0, 2.0), com), DecoratedInterval(emptyinterval(), trv))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(1.0, 2.0), com), DecoratedInterval(emptyinterval(), trv))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(1.0, 2.0), com), DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(1.0, 2.0), com), DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(emptyinterval(), trv))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(emptyinterval(), trv))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[1] == DecoratedInterval(Interval(0x1.999999999999AP-3, 0x1.5P+4), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[1]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-3, 0x1.5P+4), com)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), com))[1] == DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), com))[1]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), dac))[2] == DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7, -0x1.745D1745D1745P-2), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7, -0x1.745D1745D1745P-2), com)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), def))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), def))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1] == DecoratedInterval(Interval(0.0, 0x1.5P+4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.5P+4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, -0.4), com))[1] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, -0.4), com))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, -0.4), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, -0.4), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2] == DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, -0.4), com))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, -0.4), com))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, -0.4), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, -0.4), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, -0.4), def))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), def) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, -0.4), def))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), def)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, -0.4), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, -0.4), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0x1.5P+4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.5P+4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0x1.5P+4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.5P+4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), def) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), def)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7 , 0x1.8P+3), def) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7 , 0x1.8P+3), def)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), def) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), def)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7 , 0x1.8P+3), def) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7 , 0x1.8P+3), def)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), com)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(Interval(0.0, 0x1.8P+3), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.8P+3), com)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(Interval(0.0, 0x1.8P+3), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.8P+3), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, -0x1.47AE147AE147BP-8), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, -0x1.47AE147AE147BP-8), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(0x1.29E4129E4129DP-7, 0x1.8P+3), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-7, 0x1.8P+3), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(0.0, 0x1.8P+3), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.8P+3), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0.0), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0.0), com)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0.0), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0.0), com)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(0x1.999999999999AP-5, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-5, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf , -0x1.745D1745D1745P-4), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf , -0x1.745D1745D1745P-4), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(Interval(-0x1.8P+1, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.8P+1, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(Interval(-Inf, 0x1.EP+4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0x1.EP+4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(Interval(-0x1.8P+1, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.8P+1, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(Interval(-Inf, 0x1.EP+4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0x1.EP+4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(Interval(-Inf , 0x1.0CCCCCCCCCCCDP+1), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf , 0x1.0CCCCCCCCCCCDP+1), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(Interval(-0x1.5P+4, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.5P+4, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(Interval(-0x1.5P+4, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.5P+4, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + +end + diff --git a/test/libieeep1788_rev.jl b/test/libieeep1788_rev.jl index c557422..a2225db 100644 --- a/test/libieeep1788_rev.jl +++ b/test/libieeep1788_rev.jl @@ -1,232 +1,1688 @@ -#= - Copyright 2013-2015 Marco Nehmeier (nehmeier@informatik.uni-wuerzburg.de) - Copyright 2015-2016 Oliver Heimlich +@testset "minimal_sqr_rev_test" begin - Original author: Marco Nehmeier (unit tests in libieeep1788, - original license: Apache License 2.0) - Converted into portable ITL format by Oliver Heimlich with minor corrections. + @test sqr_rev(emptyinterval())[2] == emptyinterval() - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + @test sqr_rev(interval(-10.0,-1.0))[2] == emptyinterval() - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + @test sqr_rev(interval(0.0,Inf))[2] == entireinterval() - You should have received a copy of the GNU General Public License - along with this program; if not, see . -=# -#Language imports + @test sqr_rev(interval(0.0,1.0))[2] == Interval(-1.0,1.0) -#Test library imports -using Test + @test sqr_rev(interval(-0.5,1.0))[2] == Interval(-1.0,1.0) -#Arithmetic library imports -using IntervalArithmetic + @test sqr_rev(interval(-1000.0,1.0))[2] == Interval(-1.0,1.0) -#Preamble -setprecision(53) -setprecision(Interval, Float64) -# setrounding(Interval, :correct) -@format full + @test sqr_rev(interval(0.0,25.0))[2] == Interval(-5.0,5.0) + + @test sqr_rev(interval(-1.0,25.0))[2] == Interval(-5.0,5.0) + + @test sqr_rev(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7))[2] == Interval(-0x1.999999999999BP-4,0x1.999999999999BP-4) + + @test sqr_rev(interval(0.0,0x1.FFFFFFFFFFFE1P+1))[2] == Interval(-0x1.ffffffffffff1p+0,0x1.ffffffffffff1p+0) -@testset "minimal_sqr_rev_test" begin - @test sqr_rev(∅, -∞..∞)[2] == ∅ - @test sqr_rev(Interval(-10.0, -1.0), -∞..∞)[2] == ∅ - @test sqr_rev(Interval(0.0, Inf), -∞..∞)[2] == entireinterval(Float64) - @test sqr_rev(Interval(0.0, 1.0), -∞..∞)[2] == Interval(-1.0, 1.0) - @test sqr_rev(Interval(-0.5, 1.0), -∞..∞)[2] == Interval(-1.0, 1.0) - @test sqr_rev(Interval(-1000.0, 1.0), -∞..∞)[2] == Interval(-1.0, 1.0) - @test sqr_rev(Interval(0.0, 25.0), -∞..∞)[2] == Interval(-5.0, 5.0) - @test sqr_rev(Interval(-1.0, 25.0), -∞..∞)[2] == Interval(-5.0, 5.0) - @test sqr_rev(Interval(0x1.47ae147ae147bp-7, 0x1.47ae147ae147cp-7), -∞..∞)[2] == Interval(-0x1.999999999999bp-4, 0x1.999999999999bp-4) - @test sqr_rev(Interval(0.0, 0x1.fffffffffffe1p+1), -∞..∞)[2] == Interval(-0x1.ffffffffffff1p+0, 0x1.ffffffffffff1p+0) end @testset "minimal_sqr_rev_bin_test" begin - @test sqr_rev(∅, Interval(-5.0, 1.0))[2] == ∅ - @test sqr_rev(Interval(-10.0, -1.0), Interval(-5.0, 1.0))[2] == ∅ - @test sqr_rev(Interval(0.0, Inf), Interval(-5.0, 1.0))[2] == Interval(-5.0, 1.0) - @test sqr_rev(Interval(0.0, 1.0), Interval(-0.1, 1.0))[2] == Interval(-0.1, 1.0) - @test sqr_rev(Interval(-0.5, 1.0), Interval(-0.1, 1.0))[2] == Interval(-0.1, 1.0) - @test sqr_rev(Interval(-1000.0, 1.0), Interval(-0.1, 1.0))[2] == Interval(-0.1, 1.0) - @test sqr_rev(Interval(0.0, 25.0), Interval(-4.1, 6.0))[2] == Interval(-4.1, 5.0) - @test sqr_rev(Interval(-1.0, 25.0), Interval(-4.1, 7.0))[2] == Interval(-4.1, 5.0) - @test sqr_rev(Interval(1.0, 25.0), Interval(0.0, 7.0))[2] == Interval(1.0, 5.0) - @test sqr_rev(Interval(0x1.47ae147ae147bp-7, 0x1.47ae147ae147cp-7), Interval(-0.1, Inf))[2] == Interval(-0.1, 0x1.999999999999bp-4) - @test sqr_rev(Interval(0.0, 0x1.fffffffffffe1p+1), Interval(-0.1, Inf))[2] == Interval(-0.1, 0x1.ffffffffffff1p+0) + + @test sqr_rev(emptyinterval(), interval(-5.0,1.0))[2] == emptyinterval() + + @test sqr_rev(interval(-10.0,-1.0), interval(-5.0,1.0))[2] == emptyinterval() + + @test sqr_rev(interval(0.0,Inf), interval(-5.0,1.0))[2] == Interval(-5.0,1.0) + + @test sqr_rev(interval(0.0,1.0), interval(-0.1,1.0))[2] == Interval(-0.1,1.0) + + @test sqr_rev(interval(-0.5,1.0), interval(-0.1,1.0))[2] == Interval(-0.1,1.0) + + @test sqr_rev(interval(-1000.0,1.0), interval(-0.1,1.0))[2] == Interval(-0.1,1.0) + + @test sqr_rev(interval(0.0,25.0), interval(-4.1,6.0))[2] == Interval(-4.1,5.0) + + @test sqr_rev(interval(-1.0,25.0), interval(-4.1,7.0))[2] == Interval(-4.1,5.0) + + @test sqr_rev(interval(1.0,25.0), interval(0.0,7.0))[2] == Interval(1.0,5.0) + + @test sqr_rev(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), interval(-0.1,Inf))[2] == Interval(-0.1,0x1.999999999999BP-4) + + @test sqr_rev(interval(0.0,0x1.FFFFFFFFFFFE1P+1), interval(-0.1,Inf))[2] == Interval(-0.1,0x1.ffffffffffff1p+0) + end @testset "minimal_sqr_rev_dec_test" begin + + @test sqr_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sqr_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sqr_rev(DecoratedInterval(interval(-10.0,-1.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sqr_rev(DecoratedInterval(interval(-10.0,-1.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sqr_rev(DecoratedInterval(interval(0.0,Inf), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,Inf), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test sqr_rev(DecoratedInterval(interval(0.0,1.0), def))[2] == DecoratedInterval(Interval(-1.0,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,1.0), def))[2]) == decoration(DecoratedInterval(Interval(-1.0,1.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(-0.5,1.0), dac))[2] == DecoratedInterval(Interval(-1.0,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-0.5,1.0), dac))[2]) == decoration(DecoratedInterval(Interval(-1.0,1.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(-1000.0,1.0), com))[2] == DecoratedInterval(Interval(-1.0,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-1000.0,1.0), com))[2]) == decoration(DecoratedInterval(Interval(-1.0,1.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(0.0,25.0), def))[2] == DecoratedInterval(Interval(-5.0,5.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,25.0), def))[2]) == decoration(DecoratedInterval(Interval(-5.0,5.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(-1.0,25.0), dac))[2] == DecoratedInterval(Interval(-5.0,5.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-1.0,25.0), dac))[2]) == decoration(DecoratedInterval(Interval(-5.0,5.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), com))[2] == DecoratedInterval(Interval(-0x1.999999999999BP-4,0x1.999999999999BP-4), trv) && decoration(sqr_rev(DecoratedInterval(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.999999999999BP-4,0x1.999999999999BP-4), trv)) + + @test sqr_rev(DecoratedInterval(interval(0.0,0x1.FFFFFFFFFFFE1P+1), def))[2] == DecoratedInterval(Interval(-0x1.ffffffffffff1p+0,0x1.ffffffffffff1p+0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,0x1.FFFFFFFFFFFE1P+1), def))[2]) == decoration(DecoratedInterval(Interval(-0x1.ffffffffffff1p+0,0x1.ffffffffffff1p+0), trv)) + end @testset "minimal_sqr_rev_dec_bin_test" begin + + @test sqr_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.0,1.0), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sqr_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.0,1.0), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sqr_rev(DecoratedInterval(interval(-10.0,-1.0), com), DecoratedInterval(interval(-5.0,1.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sqr_rev(DecoratedInterval(interval(-10.0,-1.0), com), DecoratedInterval(interval(-5.0,1.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sqr_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(-5.0,1.0), dac))[2] == DecoratedInterval(Interval(-5.0,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(-5.0,1.0), dac))[2]) == decoration(DecoratedInterval(Interval(-5.0,1.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(0.0,1.0), dac), DecoratedInterval(interval(-0.1,1.0), def))[2] == DecoratedInterval(Interval(-0.1,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,1.0), dac), DecoratedInterval(interval(-0.1,1.0), def))[2]) == decoration(DecoratedInterval(Interval(-0.1,1.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(-0.5,1.0), def), DecoratedInterval(interval(-0.1,1.0), dac))[2] == DecoratedInterval(Interval(-0.1,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-0.5,1.0), def), DecoratedInterval(interval(-0.1,1.0), dac))[2]) == decoration(DecoratedInterval(Interval(-0.1,1.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(-1000.0,1.0), com), DecoratedInterval(interval(-0.1,1.0), def))[2] == DecoratedInterval(Interval(-0.1,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-1000.0,1.0), com), DecoratedInterval(interval(-0.1,1.0), def))[2]) == decoration(DecoratedInterval(Interval(-0.1,1.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(0.0,25.0), def), DecoratedInterval(interval(-4.1,6.0), com))[2] == DecoratedInterval(Interval(-4.1,5.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,25.0), def), DecoratedInterval(interval(-4.1,6.0), com))[2]) == decoration(DecoratedInterval(Interval(-4.1,5.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(-1.0,25.0), dac), DecoratedInterval(interval(-4.1,7.0), def))[2] == DecoratedInterval(Interval(-4.1,5.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-1.0,25.0), dac), DecoratedInterval(interval(-4.1,7.0), def))[2]) == decoration(DecoratedInterval(Interval(-4.1,5.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(1.0,25.0), dac), DecoratedInterval(interval(0.0,7.0), def))[2] == DecoratedInterval(Interval(1.0,5.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(1.0,25.0), dac), DecoratedInterval(interval(0.0,7.0), def))[2]) == decoration(DecoratedInterval(Interval(1.0,5.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), def), DecoratedInterval(interval(-0.1,Inf), dac))[2] == DecoratedInterval(Interval(-0.1,0x1.999999999999BP-4), trv) && decoration(sqr_rev(DecoratedInterval(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), def), DecoratedInterval(interval(-0.1,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(-0.1,0x1.999999999999BP-4), trv)) + + @test sqr_rev(DecoratedInterval(interval(0.0,0x1.FFFFFFFFFFFE1P+1), dac), DecoratedInterval(interval(-0.1,Inf), dac))[2] == DecoratedInterval(Interval(-0.1,0x1.ffffffffffff1p+0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,0x1.FFFFFFFFFFFE1P+1), dac), DecoratedInterval(interval(-0.1,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(-0.1,0x1.ffffffffffff1p+0), trv)) + end @testset "minimal_abs_rev_test" begin - @test abs_rev(∅, -∞..∞)[2] == ∅ - @test abs_rev(Interval(-1.1, -0.4), -∞..∞)[2] == ∅ - @test abs_rev(Interval(0.0, Inf), -∞..∞)[2] == entireinterval(Float64) - @test abs_rev(Interval(1.1, 2.1), -∞..∞)[2] == Interval(-2.1, 2.1) - @test abs_rev(Interval(-1.1, 2.0), -∞..∞)[2] == Interval(-2.0, 2.0) - @test abs_rev(Interval(-1.1, 0.0), -∞..∞)[2] == Interval(0.0, 0.0) - @test abs_rev(Interval(-1.9, 0.2), -∞..∞)[2] == Interval(-0.2, 0.2) - @test abs_rev(Interval(0.0, 0.2), -∞..∞)[2] == Interval(-0.2, 0.2) - @test abs_rev(Interval(-1.5, Inf), -∞..∞)[2] == entireinterval(Float64) + + @test abs_rev(emptyinterval())[2] == emptyinterval() + + @test abs_rev(interval(-1.1,-0.4))[2] == emptyinterval() + + @test abs_rev(interval(0.0,Inf))[2] == entireinterval() + + @test abs_rev(interval(1.1,2.1))[2] == Interval(-2.1,2.1) + + @test abs_rev(interval(-1.1,2.0))[2] == Interval(-2.0,2.0) + + @test abs_rev(interval(-1.1,0.0))[2] == Interval(0.0,0.0) + + @test abs_rev(interval(-1.9,0.2))[2] == Interval(-0.2,0.2) + + @test abs_rev(interval(0.0,0.2))[2] == Interval(-0.2,0.2) + + @test abs_rev(interval(-1.5,Inf))[2] == entireinterval() + end @testset "minimal_abs_rev_bin_test" begin - @test abs_rev(∅, Interval(-1.1, 5.0))[2] == ∅ - @test abs_rev(Interval(-1.1, -0.4), Interval(-1.1, 5.0))[2] == ∅ - @test abs_rev(Interval(0.0, Inf), Interval(-1.1, 5.0))[2] == Interval(-1.1, 5.0) - @test abs_rev(Interval(1.1, 2.1), Interval(-1.0, 5.0))[2] == Interval(1.1, 2.1) - @test abs_rev(Interval(-1.1, 2.0), Interval(-1.1, 5.0))[2] == Interval(-1.1, 2.0) - @test abs_rev(Interval(-1.1, 0.0), Interval(-1.1, 5.0))[2] == Interval(0.0, 0.0) - @test abs_rev(Interval(-1.9, 0.2), Interval(-1.1, 5.0))[2] == Interval(-0.2, 0.2) + + @test abs_rev(emptyinterval(), interval(-1.1,5.0))[2] == emptyinterval() + + @test abs_rev(interval(-1.1,-0.4), interval(-1.1,5.0))[2] == emptyinterval() + + @test abs_rev(interval(0.0,Inf), interval(-1.1,5.0))[2] == Interval(-1.1,5.0) + + @test abs_rev(interval(1.1,2.1), interval(-1.0,5.0))[2] == Interval(1.1,2.1) + + @test abs_rev(interval(-1.1,2.0), interval(-1.1,5.0))[2] == Interval(-1.1,2.0) + + @test abs_rev(interval(-1.1,0.0), interval(-1.1,5.0))[2] == Interval(0.0,0.0) + + @test abs_rev(interval(-1.9,0.2), interval(-1.1,5.0))[2] == Interval(-0.2,0.2) + end @testset "minimal_abs_rev_dec_test" begin + + @test abs_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(abs_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.1,-0.4), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,-0.4), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test abs_rev(DecoratedInterval(interval(0.0,Inf), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(abs_rev(DecoratedInterval(interval(0.0,Inf), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test abs_rev(DecoratedInterval(interval(1.1,2.1), com))[2] == DecoratedInterval(Interval(-2.1,2.1), trv) && decoration(abs_rev(DecoratedInterval(interval(1.1,2.1), com))[2]) == decoration(DecoratedInterval(Interval(-2.1,2.1), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.1,2.0), def))[2] == DecoratedInterval(Interval(-2.0,2.0), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,2.0), def))[2]) == decoration(DecoratedInterval(Interval(-2.0,2.0), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.1,0.0), dac))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,0.0), dac))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.9,0.2), com))[2] == DecoratedInterval(Interval(-0.2,0.2), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.9,0.2), com))[2]) == decoration(DecoratedInterval(Interval(-0.2,0.2), trv)) + + @test abs_rev(DecoratedInterval(interval(0.0,0.2), def))[2] == DecoratedInterval(Interval(-0.2,0.2), trv) && decoration(abs_rev(DecoratedInterval(interval(0.0,0.2), def))[2]) == decoration(DecoratedInterval(Interval(-0.2,0.2), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.5,Inf), def))[2] == DecoratedInterval(entireinterval(), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.5,Inf), def))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + end @testset "minimal_abs_rev_dec_bin_test" begin + + @test abs_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.1,5.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(abs_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.1,5.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.1,-0.4), dac), DecoratedInterval(interval(-1.1,5.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,-0.4), dac), DecoratedInterval(interval(-1.1,5.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test abs_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(-1.1,5.0), def))[2] == DecoratedInterval(Interval(-1.1,5.0), trv) && decoration(abs_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(-1.1,5.0), def))[2]) == decoration(DecoratedInterval(Interval(-1.1,5.0), trv)) + + @test abs_rev(DecoratedInterval(interval(1.1,2.1), dac), DecoratedInterval(interval(-1.0,5.0), def))[2] == DecoratedInterval(Interval(1.1,2.1), trv) && decoration(abs_rev(DecoratedInterval(interval(1.1,2.1), dac), DecoratedInterval(interval(-1.0,5.0), def))[2]) == decoration(DecoratedInterval(Interval(1.1,2.1), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.1,2.0), com), DecoratedInterval(interval(-1.1,5.0), def))[2] == DecoratedInterval(Interval(-1.1,2.0), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,2.0), com), DecoratedInterval(interval(-1.1,5.0), def))[2]) == decoration(DecoratedInterval(Interval(-1.1,2.0), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.1,0.0), def), DecoratedInterval(interval(-1.1,5.0), def))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,0.0), def), DecoratedInterval(interval(-1.1,5.0), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.9,0.2), dac), DecoratedInterval(interval(-1.1,5.0), def))[2] == DecoratedInterval(Interval(-0.2,0.2), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.9,0.2), dac), DecoratedInterval(interval(-1.1,5.0), def))[2]) == decoration(DecoratedInterval(Interval(-0.2,0.2), trv)) + end @testset "minimal_pown_rev_test" begin + @test power_rev(emptyinterval(), 0)[2] == emptyinterval() + + @test power_rev(interval(1.0,1.0), 0)[2] == entireinterval() + + @test power_rev(interval(-1.0,5.0), 0)[2] == entireinterval() + + @test power_rev(interval(-1.0,0.0), 0)[2] == emptyinterval() + + @test power_rev(interval(-1.0,-0.0), 0)[2] == emptyinterval() + + @test power_rev(interval(1.1,10.0), 0)[2] == emptyinterval() + + @test power_rev(emptyinterval(), 1)[2] == emptyinterval() + + @test power_rev(entireinterval(), 1)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), 1)[2] == Interval(0.0,0.0) + + @test power_rev(interval(-0.0,-0.0), 1)[2] == Interval(0.0,0.0) + + @test power_rev(interval(13.1,13.1), 1)[2] == Interval(13.1,13.1) + + @test power_rev(interval(-7451.145,-7451.145), 1)[2] == Interval(-7451.145,-7451.145) + + @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 1)[2] == Interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023) + + @test power_rev(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 1)[2] == Interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023) + + @test power_rev(interval(0.0,Inf), 1)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-0.0,Inf), 1)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-Inf,0.0), 1)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-Inf,-0.0), 1)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-324.3,2.5), 1)[2] == Interval(-324.3,2.5) + + @test power_rev(interval(0.01,2.33), 1)[2] == Interval(0.01,2.33) + + @test power_rev(interval(-1.9,-0.33), 1)[2] == Interval(-1.9,-0.33) + + @test power_rev(emptyinterval(), 2)[2] == emptyinterval() + + @test power_rev(interval(-5.0,-1.0), 2)[2] == emptyinterval() + + @test power_rev(interval(0.0,Inf), 2)[2] == entireinterval() + + @test power_rev(interval(-0.0,Inf), 2)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), 2)[2] == Interval(0.0,0.0) + + @test power_rev(interval(-0.0,-0.0), 2)[2] == Interval(0.0,0.0) + + @test power_rev(interval(0x1.573851EB851EBP+7,0x1.573851EB851ECP+7), 2)[2] == Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3) + + @test power_rev(interval(0x1.A794A4E7CFAADP+25,0x1.A794A4E7CFAAEP+25), 2)[2] == Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12) + + @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 2)[2] == Interval(-0x1p+512,0x1p+512) + + @test power_rev(interval(0.0,0x1.9AD27D70A3D72P+16), 2)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + + @test power_rev(interval(-0.0,0x1.9AD27D70A3D72P+16), 2)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + + @test power_rev(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), 2)[2] == Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), 2)[2] == Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0) + + @test power_rev(emptyinterval(), 8)[2] == emptyinterval() + + @test power_rev(entireinterval(), 8)[2] == entireinterval() + + @test power_rev(interval(0.0,Inf), 8)[2] == entireinterval() + + @test power_rev(interval(-0.0,Inf), 8)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), 8)[2] == Interval(0.0,0.0) + + @test power_rev(interval(-0.0,-0.0), 8)[2] == Interval(0.0,0.0) + + @test power_rev(interval(0x1.9D8FD495853F5P+29,0x1.9D8FD495853F6P+29), 8)[2] == Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3) + + @test power_rev(interval(0x1.DFB1BB622E70DP+102,0x1.DFB1BB622E70EP+102), 8)[2] == Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12) + + @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 8)[2] == Interval(-0x1p+128,0x1p+128) + + @test power_rev(interval(0.0,0x1.A87587109655P+66), 8)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + + @test power_rev(interval(-0.0,0x1.A87587109655P+66), 8)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + + @test power_rev(interval(0x1.CD2B297D889BDP-54,0x1.B253D9F33CE4DP+9), 8)[2] == Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(0x1.26F1FCDD502A3P-13,0x1.53ABD7BFC4FC6P+7), 8)[2] == Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0) + + @test power_rev(emptyinterval(), 3)[2] == emptyinterval() + + @test power_rev(entireinterval(), 3)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), 3)[2] == Interval(0.0,0.0) + + @test power_rev(interval(-0.0,-0.0), 3)[2] == Interval(0.0,0.0) + + @test power_rev(interval(0x1.1902E978D4FDEP+11,0x1.1902E978D4FDFP+11), 3)[2] == Interval(0x1.a333333333332p+3,0x1.a333333333334p+3) + + @test power_rev(interval(-0x1.81460637B9A3DP+38,-0x1.81460637B9A3CP+38), 3)[2] == Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12) + + @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 3)[2] == Interval(0x1.428a2f98d728ap+341,0x1.428a2f98d728bp+341) + + @test power_rev(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 3)[2] == Interval(-0x1.428a2f98d728bp+341, -0x1.428a2f98d728ap+341) + + @test power_rev(interval(0.0,Inf), 3)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-0.0,Inf), 3)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-Inf,0.0), 3)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-Inf,-0.0), 3)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-0x1.0436D2F418938P+25,0x1.F4P+3), 3)[2] == Interval(-0x1.444cccccccccep+8,0x1.4p+1) + + @test power_rev(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), 3)[2] == Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), 3)[2] == Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) + + @test power_rev(emptyinterval(), 7)[2] == emptyinterval() + + @test power_rev(entireinterval(), 7)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), 7)[2] == Interval(0.0,0.0) + + @test power_rev(interval(-0.0,-0.0), 7)[2] == Interval(0.0,0.0) + + @test power_rev(interval(0x1.F91D1B185493BP+25,0x1.F91D1B185493CP+25), 7)[2] == Interval(0x1.a333333333332p+3,0x1.a333333333334p+3) + + @test power_rev(interval(-0x1.07B1DA32F9B59P+90,-0x1.07B1DA32F9B58P+90), 7)[2] == Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12) + + @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 7)[2] == Interval(0x1.381147622f886p+146,0x1.381147622f887p+146) + + @test power_rev(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 7)[2] == Interval(-0x1.381147622f887p+146,-0x1.381147622f886p+146) + + @test power_rev(interval(0.0,Inf), 7)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-0.0,Inf), 7)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-Inf,0.0), 7)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-Inf,-0.0), 7)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-0x1.4F109959E6D7FP+58,0x1.312DP+9), 7)[2] == Interval(-0x1.444cccccccccep+8,0x1.4p+1) + + @test power_rev(interval(0x1.6849B86A12B9BP-47,0x1.74D0373C76313P+8), 7)[2] == Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(-0x1.658C775099757P+6,-0x1.BEE30301BF47AP-12), 7)[2] == Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) + + @test power_rev(emptyinterval(), -2)[2] == emptyinterval() + + @test power_rev(interval(0.0,Inf), -2)[2] == entireinterval() + + @test power_rev(interval(-0.0,Inf), -2)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), -2)[2] == emptyinterval() + + @test power_rev(interval(-0.0,-0.0), -2)[2] == emptyinterval() + + @test power_rev(interval(-10.0,0.0), -2)[2] == emptyinterval() + + @test power_rev(interval(-10.0,-0.0), -2)[2] == emptyinterval() + + @test_skip power_rev(interval(0x1.7DE3A077D1568P-8,0x1.7DE3A077D1569P-8), -2)[2] == Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3) + + @test_skip power_rev(interval(0x1.3570290CD6E14P-26,0x1.3570290CD6E15P-26), -2)[2] == Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12) + + @test power_rev(interval(0x0P+0,0x0.0000000000001P-1022), -2)[2] == entireinterval() + + @test power_rev(interval(0x1.3F0C482C977C9P-17,Inf), -2)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + + @test power_rev(interval(0x1.793D85EF38E47P-3,0x1.388P+13), -2)[2] == Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), -2)[2] == Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0) + + @test power_rev(emptyinterval(), -8)[2] == emptyinterval() + + @test power_rev(interval(0.0,Inf), -8)[2] == entireinterval() + + @test power_rev(interval(-0.0,Inf), -8)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), -8)[2] == emptyinterval() + + @test power_rev(interval(-0.0,-0.0), -8)[2] == emptyinterval() + + @test_skip power_rev(interval(0x1.3CEF39247CA6DP-30,0x1.3CEF39247CA6EP-30), -8)[2] == Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3) + + @test_skip power_rev(interval(0x1.113D9EF0A99ACP-103,0x1.113D9EF0A99ADP-103), -8)[2] == Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12) + + @test power_rev(interval(0x0P+0,0x0.0000000000001P-1022), -8)[2] == entireinterval() + + @test power_rev(interval(0x1.34CC3764D1E0CP-67,Inf), -8)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + + @test power_rev(interval(0x1.2DC80DB11AB7CP-10,0x1.1C37937E08P+53), -8)[2] == Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(0x1.81E104E61630DP-8,0x1.BC64F21560E34P+12), -8)[2] == Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0) + + @test power_rev(emptyinterval(), -1)[2] == emptyinterval() + + @test power_rev(entireinterval(), -1)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), -1)[2] == emptyinterval() + + @test power_rev(interval(-0.0,-0.0), -1)[2] == emptyinterval() + + @test power_rev(interval(0x1.38ABF82EE6986P-4,0x1.38ABF82EE6987P-4), -1)[2] == Interval(0x1.a333333333332p+3,0x1.a333333333335p+3) + + @test power_rev(interval(-0x1.197422C9048BFP-13,-0x1.197422C9048BEP-13), -1)[2] == Interval(-0x1.d1b251eb851eep+12,-0x1.d1b251eb851ebp+12) + + @test power_rev(interval(0x0.4P-1022,0x0.4000000000001P-1022), -1)[2] == Interval(0x1.ffffffffffff8p+1023,Inf) + + @test power_rev(interval(-0x0.4000000000001P-1022,-0x0.4P-1022), -1)[2] == Interval(-Inf,-0x1.ffffffffffff8p+1023) + + @test power_rev(interval(0.0,Inf), -1)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-0.0,Inf), -1)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-Inf,0.0), -1)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-Inf,-0.0), -1)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), -1)[2] == Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(-0x1.83E0F83E0F83EP+1,-0x1.0D79435E50D79P-1), -1)[2] == Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) + + @test power_rev(emptyinterval(), -3)[2] == emptyinterval() + + @test power_rev(entireinterval(), -3)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), -3)[2] == emptyinterval() + + @test power_rev(interval(-0.0,-0.0), -3)[2] == emptyinterval() + + @test_skip power_rev(interval(0x1.D26DF4D8B1831P-12,0x1.D26DF4D8B1832P-12), -3)[2] == Interval(0x1.a333333333332p+3,0x1.a333333333334p+3) + + @test_skip power_rev(interval(-0x1.54347DED91B19P-39,-0x1.54347DED91B18P-39), -3)[2] == Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12) + + @test power_rev(interval(0x0P+0,0x0.0000000000001P-1022), -3)[2] == Interval(0x1p+358,Inf) + + @test power_rev(interval(-0x0.0000000000001P-1022,-0x0P+0), -3)[2] == Interval(-Inf,-0x1p+358) + + @test power_rev(interval(0.0,Inf), -3)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-0.0,Inf), -3)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-Inf,0.0), -3)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-Inf,-0.0), -3)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(0x1.43CFBA61AACABP-4,0x1.E848P+19), -3)[2] == Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(-0x1.BD393CE9E8E7CP+4,-0x1.2A95F6F7C066CP-3), -3)[2] == Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) + + @test power_rev(emptyinterval(), -7)[2] == emptyinterval() + + @test power_rev(entireinterval(), -7)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), -7)[2] == emptyinterval() + + @test power_rev(interval(-0.0,-0.0), -7)[2] == emptyinterval() + + @test_skip power_rev(interval(0x1.037D76C912DBCP-26,0x1.037D76C912DBDP-26), -7)[2] == Interval(0x1.a333333333332p+3,0x1.a333333333334p+3) + + @test_skip power_rev(interval(-0x1.F10F41FB8858FP-91,-0x1.F10F41FB8858EP-91), -7)[2] == Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12) + + @test power_rev(interval(0x0P+0,0x0.0000000000001P-1022), -7)[2] == Interval(0x1.588cea3f093bcp+153,Inf) + + @test power_rev(interval(-0x0.0000000000001P-1022,-0x0P+0), -7)[2] == Interval(-Inf,-0x1.588cea3f093bcp+153) + + @test power_rev(interval(0.0,Inf), -7)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-0.0,Inf), -7)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-Inf,0.0), -7)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-Inf,-0.0), -7)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(0x1.5F934D64162A9P-9,0x1.6BCC41E9P+46), -7)[2] == Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(-0x1.254CDD3711DDBP+11,-0x1.6E95C4A761E19P-7), -7)[2] == Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) + end @testset "minimal_pown_rev_bin_test" begin -end + @test power_rev(emptyinterval(), interval(1.0,1.0), 0)[2] == emptyinterval() -@testset "minimal_pown_rev_dec_test" begin + @test power_rev(interval(1.0,1.0), interval(1.0,1.0), 0)[2] == Interval(1.0,1.0) -end + @test power_rev(interval(-1.0,5.0), interval(-51.0,12.0), 0)[2] == Interval(-51.0,12.0) -@testset "minimal_pown_rev_dec_bin_test" begin + @test power_rev(interval(-1.0,0.0), interval(5.0,10.0), 0)[2] == emptyinterval() -end + @test power_rev(interval(-1.0,-0.0), interval(-1.0,1.0), 0)[2] == emptyinterval() -@testset "minimal_sin_rev_test" begin - @test sin_rev(∅, -∞..∞)[2] == ∅ - @test sin_rev(Interval(-2.0, -1.1), -∞..∞)[2] == ∅ - @test sin_rev(Interval(1.1, 2.0), -∞..∞)[2] == ∅ - @test sin_rev(Interval(-1.0, 1.0), -∞..∞)[2] == entireinterval(Float64) - @test sin_rev(Interval(0.0, 0.0), -∞..∞)[2] == entireinterval(Float64) - @test sin_rev(Interval(0x1.1a62633145c06p-53, 0x1.1a62633145c07p-53), -∞..∞)[2] == entireinterval(Float64) -end + @test power_rev(interval(1.1,10.0), interval(1.0,41.0), 0)[2] == emptyinterval() -@testset "minimal_sin_rev_bin_test" begin - @test sin_rev(∅, Interval(-1.2, 12.1))[2] == ∅ - @test sin_rev(Interval(-2.0, -1.1), Interval(-5.0, 5.0))[2] == ∅ - @test sin_rev(Interval(1.1, 2.0), Interval(-5.0, 5.0))[2] == ∅ - @test sin_rev(Interval(-1.0, 1.0), Interval(-1.2, 12.1))[2] == Interval(-1.2, 12.1) - @test sin_rev(Interval(0.0, 0.0), Interval(-1.0, 1.0))[2] == Interval(0.0, 0.0) - @test sin_rev(Interval(-0.0, -0.0), Interval(2.0, 2.5))[2] == ∅ - @test sin_rev(Interval(-0.0, -0.0), Interval(3.0, 3.5))[2] == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) - @test sin_rev(Interval(0x1.fffffffffffffp-1, 0x1p+0), Interval(1.57, 1.58))[2] == Interval(0x1.921fb50442d18p+0, 0x1.921fb58442d1ap+0) - @test sin_rev(Interval(0.0, 0x1p+0), Interval(-0.1, 1.58))[2] == Interval(0.0, 1.58) - @test sin_rev(Interval(0x1.1a62633145c06p-53, 0x1.1a62633145c07p-53), Interval(3.14, 3.15))[2] == Interval(0x1.921fb54442d17p+1, 0x1.921fb54442d19p+1) - @test sin_rev(Interval(-0x1.72cece675d1fdp-52, -0x1.72cece675d1fcp-52), Interval(3.14, 3.15))[2] == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d1ap+1) - @test sin_rev(Interval(-0x1.72cece675d1fdp-52, 0x1.1a62633145c07p-53), Interval(3.14, 3.15))[2] == Interval(0x1.921fb54442d17p+1, 0x1.921fb54442d1ap+1) - @test sin_rev(Interval(0.0, 1.0), Interval(-0.1, 3.15))[2] == Interval(0.0, 0x1.921fb54442d19p+1) - @test sin_rev(Interval(0.0, 1.0), Interval(-0.1, 3.15))[2] == Interval(-0.0, 0x1.921fb54442d19p+1) - @test sin_rev(Interval(-0x1.72cece675d1fdp-52, 1.0), Interval(-0.1, 3.15))[2] == Interval(-0x1.72cece675d1fep-52, 0x1.921fb54442d1ap+1) - @test sin_rev(Interval(-0x1.72cece675d1fdp-52, 1.0), Interval(0.0, 3.15))[2] == Interval(0.0, 0x1.921fb54442d1ap+1) - @test sin_rev(Interval(0x1.1a62633145c06p-53, 0x1p+0), Interval(3.14, 3.15))[2] == Interval(3.14, 0x1.921fb54442d19p+1) - @test sin_rev(Interval(-0x1.72cece675d1fdp-52, 0x1p+0), Interval(1.57, 3.15))[2] == Interval(1.57, 0x1.921fb54442d1ap+1) - @test sin_rev(Interval(0x1.1a62633145c06p-53, 0x1.1a62633145c07p-53), Interval(-Inf, 3.15))[2] == Interval(-Inf, 0x1.921fb54442d19p+1) - @test sin_rev(Interval(-0x1.72cece675d1fdp-52, -0x1.72cece675d1fcp-52), Interval(3.14, Inf))[2] == Interval(0x1.921fb54442d18p+1, Inf) -end + @test power_rev(emptyinterval(), interval(0.0,100.1), 1)[2] == emptyinterval() -@testset "minimal_sin_rev_dec_test" begin -end + @test power_rev(entireinterval(), interval(-5.1,10.0), 1)[2] == Interval(-5.1,10.0) -@testset "minimal_sin_rev_dec_bin_test" begin -end + @test power_rev(interval(0.0,0.0), interval(-10.0,5.1), 1)[2] == Interval(0.0,0.0) -@testset "minimal_cos_rev_test" begin - @test cos_rev(∅, -∞..∞)[2] == ∅ - @test cos_rev(Interval(-2.0, -1.1), -∞..∞)[2] == ∅ - @test cos_rev(Interval(1.1, 2.0), -∞..∞)[2] == ∅ - @test cos_rev(Interval(-1.0, 1.0), -∞..∞)[2] == entireinterval(Float64) - @test cos_rev(Interval(0.0, 0.0), -∞..∞)[2] == entireinterval(Float64) - @test cos_rev(Interval(0x1.1a62633145c06p-53, 0x1.1a62633145c07p-53), -∞..∞)[2] == entireinterval(Float64) -end + @test power_rev(interval(-0.0,-0.0), interval(1.0,5.0), 1)[2] == emptyinterval() -@testset "minimal_cos_rev_bin_test" begin - @test cos_rev(∅, Interval(-1.2, 12.1))[2] == ∅ - @test cos_rev(Interval(-2.0, -1.1), Interval(-5.0, 5.0))[2] == ∅ - @test cos_rev(Interval(1.1, 2.0), Interval(-5.0, 5.0))[2] == ∅ - @test cos_rev(Interval(-1.0, 1.0), Interval(-1.2, 12.1))[2] == Interval(-1.2, 12.1) - @test cos_rev(Interval(1.0, 1.0), Interval(-0.1, 0.1))[2] == Interval(0.0, 0.0) - @test cos_rev(Interval(-1.0, -1.0), Interval(3.14, 3.15))[2] == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d1ap+1) - @test cos_rev(Interval(0x1.1a62633145c06p-54, 0x1.1a62633145c07p-54), Interval(1.57, 1.58))[2] == Interval(0x1.921fb54442d17p+0, 0x1.921fb54442d19p+0) - @test cos_rev(Interval(-0x1.72cece675d1fdp-53, -0x1.72cece675d1fcp-53), Interval(1.57, 1.58))[2] == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d1ap+0) - @test cos_rev(Interval(-0x1.72cece675d1fdp-53, 0x1.1a62633145c07p-54), Interval(1.57, 1.58))[2] == Interval(0x1.921fb54442d17p+0, 0x1.921fb54442d1ap+0) - @test cos_rev(Interval(0x1.1a62633145c06p-54, 1.0), Interval(-2.0, 2.0))[2] == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) - @test cos_rev(Interval(0x1.1a62633145c06p-54, 1.0), Interval(0.0, 2.0))[2] == Interval(0.0, 0x1.921fb54442d19p+0) - @test cos_rev(Interval(-0x1.72cece675d1fdp-53, 1.0), Interval(-0.1, 1.5708))[2] == Interval(-0.1, 0x1.921fb54442d1ap+0) - @test cos_rev(Interval(-0x1p+0, -0x1.fffffffffffffp-1), Interval(3.14, 3.15))[2] == Interval(0x1.921fb52442d18p+1, 0x1.921fb56442d1ap+1) - @test cos_rev(Interval(-0x1p+0, -0x1.fffffffffffffp-1), Interval(-3.15, -3.14))[2] == Interval(-0x1.921fb56442d1ap+1, -0x1.921fb52442d18p+1) - @test cos_rev(Interval(-0x1p+0, -0x1.fffffffffffffp-1), Interval(9.42, 9.45))[2] == Interval(0x1.2d97c7eb321d2p+3, 0x1.2d97c7fb321d3p+3) - @test cos_rev(Interval(0x1.87996529f9d92p-1, 1.0), Interval(-1.0, 0.1))[2] == Interval(-0x1.6666666666667p-1, 0.1) - @test cos_rev(Interval(-0x1.aa22657537205p-2, 0x1.14a280fb5068cp-1), Interval(0.0, 2.1))[2] == Interval(0x1.fffffffffffffp-1, 0x1.0000000000001p+1) - @test cos_rev(Interval(0x1.1a62633145c06p-53, 0x1.1a62633145c07p-53), Interval(-Inf, 1.58))[2] == Interval(-Inf, 0x1.921fb54442d18p+0) - @test cos_rev(Interval(0x1.1a62633145c06p-53, 0x1.1a62633145c07p-53), Interval(-Inf, 1.5))[2] == Interval(-Inf, -0x1.921fb54442d17p+0) - @test cos_rev(Interval(-0x1.72cece675d1fdp-52, -0x1.72cece675d1fcp-52), Interval(-1.58, Inf))[2] == Interval(-0x1.921fb54442d1ap+0, Inf) - @test cos_rev(Interval(-0x1.72cece675d1fdp-52, -0x1.72cece675d1fcp-52), Interval(-1.5, Inf))[2] == Interval(0x1.921fb54442d19p+0, Inf) -end + @test power_rev(emptyinterval(), interval(5.0,17.1), 2)[2] == emptyinterval() -@testset "minimal_cos_rev_dec_test" begin -end + @test power_rev(interval(-5.0,-1.0), interval(5.0,17.1), 2)[2] == emptyinterval() -@testset "minimal_cos_rev_dec_bin_test" begin -end + @test power_rev(interval(0.0,Inf), interval(5.6,27.544), 2)[2] == Interval(5.6,27.544) -@testset "minimal_tan_rev_test" begin - @test tan_rev(∅, -∞..∞)[2] == ∅ - @test tan_rev(Interval(-1.0, 1.0), -∞..∞)[2] == entireinterval(Float64) - @test tan_rev(Interval(-156.0, -12.0), -∞..∞)[2] == entireinterval(Float64) - @test tan_rev(Interval(0.0, 0.0), -∞..∞)[2] == entireinterval(Float64) - @test tan_rev(Interval(0x1.1a62633145c06p-53, 0x1.1a62633145c07p-53), -∞..∞)[2] == entireinterval(Float64) -end + @test power_rev(interval(0.0,0.0), interval(1.0,2.0), 2)[2] == emptyinterval() -@testset "minimal_tan_rev_bin_test" begin - @test tan_rev(∅, Interval(-1.5708, 1.5708))[2] == ∅ - @test tan_rev(entireinterval(Float64), Interval(-1.5708, 1.5708))[2] == Interval(-1.5708, 1.5708) - @test tan_rev(Interval(0.0, 0.0), Interval(-1.5708, 1.5708))[2] == Interval(0.0, 0.0) - @test tan_rev(Interval(0x1.d02967c31cdb4p+53, 0x1.d02967c31cdb5p+53), Interval(-1.5708, 1.5708))[2] == Interval(-0x1.921fb54442d1bp+0, 0x1.921fb54442d19p+0) - @test tan_rev(Interval(-0x1.1a62633145c07p-53, -0x1.1a62633145c06p-53), Interval(3.14, 3.15))[2] == Interval(0x1.921fb54442d17p+1, 0x1.921fb54442d19p+1) - @test tan_rev(Interval(0x1.72cece675d1fcp-52, 0x1.72cece675d1fdp-52), Interval(-3.15, 3.15))[2] == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d1ap+1) - @test tan_rev(Interval(-0x1.d02967c31p+53, 0x1.d02967c31p+53), Interval(-Inf, 1.5707965))[2] == Interval(-Inf, +0x1.921fb82c2bd7fp0) - @test tan_rev(Interval(-0x1.d02967c31p+53, 0x1.d02967c31p+53), Interval(-1.5707965, Inf))[2] == Interval(-0x1.921fb82c2bd7fp0, Inf) - @test tan_rev(Interval(-0x1.d02967c31p+53, 0x1.d02967c31p+53), Interval(-1.5707965, 1.5707965))[2] == Interval(-0x1.921fb82c2bd7fp0, +0x1.921fb82c2bd7fp0) - @test tan_rev(Interval(-0x1.d02967c31cdb5p+53, 0x1.d02967c31cdb5p+53), Interval(-1.5707965, 1.5707965))[2] == Interval(-1.5707965, 1.5707965) -end + @test power_rev(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), interval(1.0,Inf), 2)[2] == Interval(1.0,0x1.2a3d70a3d70a5p+1) -@testset "minimal_tan_rev_dec_test" begin -end + @test power_rev(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), interval(-Inf,-1.0), 2)[2] == Interval(-0x1.e666666666667p+0,-1.0) -@testset "minimal_tan_rev_dec_bin_test" begin -end + @test power_rev(emptyinterval(), interval(-23.0,-1.0), 3)[2] == emptyinterval() -@testset "minimal_cosh_rev_test" begin + @test power_rev(entireinterval(), interval(-23.0,-1.0), 3)[2] == Interval(-23.0,-1.0) -end + @test power_rev(interval(0.0,0.0), interval(1.0,2.0), 3)[2] == emptyinterval() -@testset "minimal_cosh_rev_bin_test" begin + @test power_rev(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), interval(1.0,Inf), 3)[2] == Interval(1.0,0x1.2a3d70a3d70a5p+1) -end + @test power_rev(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), interval(-Inf,-1.0), 3)[2] == Interval(-0x1.e666666666667p+0,-1.0) -@testset "minimal_cosh_rev_dec_test" begin + @test power_rev(emptyinterval(), interval(-3.0,17.3), -2)[2] == emptyinterval() -end + @test power_rev(interval(0.0,Inf), interval(-5.1,-0.1), -2)[2] == Interval(-5.1,-0.1) -@testset "minimal_cosh_rev_dec_bin_test" begin + @test power_rev(interval(0.0,0.0), interval(27.2,55.1), -2)[2] == emptyinterval() + + @test power_rev(interval(0x1.3F0C482C977C9P-17,Inf), interval(-Inf,-0x1.FFFFFFFFFFFFFp1023), -2)[2] == emptyinterval() + + @test power_rev(interval(0x1.793D85EF38E47P-3,0x1.388P+13), interval(1.0,Inf), -2)[2] == Interval(1.0,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), interval(-Inf,-1.0), -2)[2] == Interval(-0x1.e666666666667p+0,-1.0) + + @test power_rev(emptyinterval(), interval(-5.1,55.5), -1)[2] == emptyinterval() + + @test power_rev(entireinterval(), interval(-5.1,55.5), -1)[2] == Interval(-5.1,55.5) + + @test power_rev(interval(0.0,0.0), interval(-5.1,55.5), -1)[2] == emptyinterval() + + @test power_rev(interval(-Inf,-0.0), interval(-1.0,1.0), -1)[2] == Interval(-1.0,0.0) + + @test power_rev(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), interval(-1.0,0.0), -1)[2] == emptyinterval() + + @test power_rev(emptyinterval(), interval(-5.1,55.5), -3)[2] == emptyinterval() + + @test power_rev(entireinterval(), interval(-5.1,55.5), -3)[2] == Interval(-5.1,55.5) + + @test power_rev(interval(0.0,0.0), interval(-5.1,55.5), -3)[2] == emptyinterval() + + @test power_rev(interval(-Inf,0.0), interval(5.1,55.5), -3)[2] == emptyinterval() + + @test power_rev(interval(-Inf,-0.0), interval(-32.0,1.1), -3)[2] == Interval(-32.0,0.0) + +end + +@testset "minimal_pown_rev_dec_test" begin + + @test power_rev(DecoratedInterval(emptyinterval(), trv), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(1.0,1.0), com), 0)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(1.0,1.0), com), 0)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-1.0,5.0), dac), 0)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,5.0), dac), 0)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-1.0,0.0), def), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,0.0), def), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-1.0,-0.0), dac), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,-0.0), dac), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(1.1,10.0), com), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(1.1,10.0), com), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), 1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), 1)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), 1)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), com), 1)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), com), 1)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 1)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 1)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(13.1,13.1), def), 1)[2] == DecoratedInterval(Interval(13.1,13.1), trv) && decoration(power_rev(DecoratedInterval(interval(13.1,13.1), def), 1)[2]) == decoration(DecoratedInterval(Interval(13.1,13.1), trv)) + + @test power_rev(DecoratedInterval(interval(-7451.145,-7451.145), dac), 1)[2] == DecoratedInterval(Interval(-7451.145,-7451.145), trv) && decoration(power_rev(DecoratedInterval(interval(-7451.145,-7451.145), dac), 1)[2]) == decoration(DecoratedInterval(Interval(-7451.145,-7451.145), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), com), 1)[2] == DecoratedInterval(Interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), com), 1)[2]) == decoration(DecoratedInterval(Interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), com), 1)[2] == DecoratedInterval(Interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), com), 1)[2]) == decoration(DecoratedInterval(Interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), 1)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), 1)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 1)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 1)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,0.0), def), 1)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), def), 1)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 1)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 1)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-324.3,2.5), dac), 1)[2] == DecoratedInterval(Interval(-324.3,2.5), trv) && decoration(power_rev(DecoratedInterval(interval(-324.3,2.5), dac), 1)[2]) == decoration(DecoratedInterval(Interval(-324.3,2.5), trv)) + + @test power_rev(DecoratedInterval(interval(0.01,2.33), com), 1)[2] == DecoratedInterval(Interval(0.01,2.33), trv) && decoration(power_rev(DecoratedInterval(interval(0.01,2.33), com), 1)[2]) == decoration(DecoratedInterval(Interval(0.01,2.33), trv)) + + @test power_rev(DecoratedInterval(interval(-1.9,-0.33), def), 1)[2] == DecoratedInterval(Interval(-1.9,-0.33), trv) && decoration(power_rev(DecoratedInterval(interval(-1.9,-0.33), def), 1)[2]) == decoration(DecoratedInterval(Interval(-1.9,-0.33), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), 2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), 2)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), 2)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), def), 2)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), def), 2)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), com), 2)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), com), 2)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 2)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 2)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.573851EB851EBP+7,0x1.573851EB851ECP+7), def), 2)[2] == DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.573851EB851EBP+7,0x1.573851EB851ECP+7), def), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.A794A4E7CFAADP+25,0x1.A794A4E7CFAAEP+25), def), 2)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.A794A4E7CFAADP+25,0x1.A794A4E7CFAAEP+25), def), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), dac), 2)[2] == DecoratedInterval(Interval(-0x1p+512,0x1p+512), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), dac), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1p+512,0x1p+512), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0x1.9AD27D70A3D72P+16), dac), 2)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0x1.9AD27D70A3D72P+16), dac), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,0x1.9AD27D70A3D72P+16), def), 2)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,0x1.9AD27D70A3D72P+16), def), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), com), 2)[2] == DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), com), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), def), 2)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), def), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), 8)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 8)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), 8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), 8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), 8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), 8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), 8)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), 8)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 8)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 8)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.9D8FD495853F5P+29,0x1.9D8FD495853F6P+29), com), 8)[2] == DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.9D8FD495853F5P+29,0x1.9D8FD495853F6P+29), com), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.DFB1BB622E70DP+102,0x1.DFB1BB622E70EP+102), dac), 8)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.DFB1BB622E70DP+102,0x1.DFB1BB622E70EP+102), dac), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), def), 8)[2] == DecoratedInterval(Interval(-0x1p+128,0x1p+128), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), def), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1p+128,0x1p+128), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0x1.A87587109655P+66), dac), 8)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0x1.A87587109655P+66), dac), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,0x1.A87587109655P+66), def), 8)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,0x1.A87587109655P+66), def), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.CD2B297D889BDP-54,0x1.B253D9F33CE4DP+9), com), 8)[2] == DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.CD2B297D889BDP-54,0x1.B253D9F33CE4DP+9), com), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.26F1FCDD502A3P-13,0x1.53ABD7BFC4FC6P+7), dac), 8)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.26F1FCDD502A3P-13,0x1.53ABD7BFC4FC6P+7), dac), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), 3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), 3)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), 3)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), dac), 3)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), dac), 3)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), def), 3)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), def), 3)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.1902E978D4FDEP+11,0x1.1902E978D4FDFP+11), com), 3)[2] == DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.1902E978D4FDEP+11,0x1.1902E978D4FDFP+11), com), 3)[2]) == decoration(DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.81460637B9A3DP+38,-0x1.81460637B9A3CP+38), def), 3)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.81460637B9A3DP+38,-0x1.81460637B9A3CP+38), def), 3)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), dac), 3)[2] == DecoratedInterval(Interval(0x1.428a2f98d728ap+341,0x1.428a2f98d728bp+341), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), dac), 3)[2]) == decoration(DecoratedInterval(Interval(0x1.428a2f98d728ap+341,0x1.428a2f98d728bp+341), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), com), 3)[2] == DecoratedInterval(Interval(-0x1.428a2f98d728bp+341, -0x1.428a2f98d728ap+341), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), com), 3)[2]) == decoration(DecoratedInterval(Interval(-0x1.428a2f98d728bp+341, -0x1.428a2f98d728ap+341), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), def), 3)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), def), 3)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), def), 3)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), def), 3)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,0.0), dac), 3)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), dac), 3)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 3)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 3)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.0436D2F418938P+25,0x1.F4P+3), com), 3)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.4p+1), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.0436D2F418938P+25,0x1.F4P+3), com), 3)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.4p+1), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), dac), 3)[2] == DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), dac), 3)[2]) == decoration(DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), def), 3)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), def), 3)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), 7)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 7)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), 7)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), 7)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), com), 7)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), com), 7)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 7)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 7)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.F91D1B185493BP+25,0x1.F91D1B185493CP+25), def), 7)[2] == DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.F91D1B185493BP+25,0x1.F91D1B185493CP+25), def), 7)[2]) == decoration(DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.07B1DA32F9B59P+90,-0x1.07B1DA32F9B58P+90), dac), 7)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.07B1DA32F9B59P+90,-0x1.07B1DA32F9B58P+90), dac), 7)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), com), 7)[2] == DecoratedInterval(Interval(0x1.381147622f886p+146,0x1.381147622f887p+146), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), com), 7)[2]) == decoration(DecoratedInterval(Interval(0x1.381147622f886p+146,0x1.381147622f887p+146), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), def), 7)[2] == DecoratedInterval(Interval(-0x1.381147622f887p+146,-0x1.381147622f886p+146), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), def), 7)[2]) == decoration(DecoratedInterval(Interval(-0x1.381147622f887p+146,-0x1.381147622f886p+146), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), 7)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), 7)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 7)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 7)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,0.0), def), 7)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), def), 7)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 7)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 7)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.4F109959E6D7FP+58,0x1.312DP+9), dac), 7)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.4p+1), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.4F109959E6D7FP+58,0x1.312DP+9), dac), 7)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.4p+1), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.6849B86A12B9BP-47,0x1.74D0373C76313P+8), com), 7)[2] == DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.6849B86A12B9BP-47,0x1.74D0373C76313P+8), com), 7)[2]) == decoration(DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.658C775099757P+6,-0x1.BEE30301BF47AP-12), def), 7)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.658C775099757P+6,-0x1.BEE30301BF47AP-12), def), 7)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), -2)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), -2)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -2)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -2)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), com), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), com), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-10.0,0.0), dac), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-10.0,0.0), dac), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-10.0,-0.0), def), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-10.0,-0.0), def), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test_skip power_rev(DecoratedInterval(interval(0x1.7DE3A077D1568P-8,0x1.7DE3A077D1569P-8), dac), -2)[2] == DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.7DE3A077D1568P-8,0x1.7DE3A077D1569P-8), dac), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv)) + + @test_skip power_rev(DecoratedInterval(interval(0x1.3570290CD6E14P-26,0x1.3570290CD6E15P-26), def), -2)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.3570290CD6E14P-26,0x1.3570290CD6E15P-26), def), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), com), -2)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), com), -2)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.3F0C482C977C9P-17,Inf), dac), -2)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.3F0C482C977C9P-17,Inf), dac), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.793D85EF38E47P-3,0x1.388P+13), def), -2)[2] == DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.793D85EF38E47P-3,0x1.388P+13), def), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), com), -2)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), com), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), -8)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), -8)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), def), -8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), def), -8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), -8)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), -8)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -8)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -8)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test_skip power_rev(DecoratedInterval(interval(0x1.3CEF39247CA6DP-30,0x1.3CEF39247CA6EP-30), com), -8)[2] == DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.3CEF39247CA6DP-30,0x1.3CEF39247CA6EP-30), com), -8)[2]) == decoration(DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv)) + + @test_skip power_rev(DecoratedInterval(interval(0x1.113D9EF0A99ACP-103,0x1.113D9EF0A99ADP-103), def), -8)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.113D9EF0A99ACP-103,0x1.113D9EF0A99ADP-103), def), -8)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), dac), -8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), dac), -8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.34CC3764D1E0CP-67,Inf), def), -8)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.34CC3764D1E0CP-67,Inf), def), -8)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.2DC80DB11AB7CP-10,0x1.1C37937E08P+53), com), -8)[2] == DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.2DC80DB11AB7CP-10,0x1.1C37937E08P+53), com), -8)[2]) == decoration(DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.81E104E61630DP-8,0x1.BC64F21560E34P+12), def), -8)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.81E104E61630DP-8,0x1.BC64F21560E34P+12), def), -8)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), -1)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), -1)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), dac), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), dac), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.38ABF82EE6986P-4,0x1.38ABF82EE6987P-4), def), -1)[2] == DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333335p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.38ABF82EE6986P-4,0x1.38ABF82EE6987P-4), def), -1)[2]) == decoration(DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333335p+3), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.197422C9048BFP-13,-0x1.197422C9048BEP-13), dac), -1)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851eep+12,-0x1.d1b251eb851ebp+12), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.197422C9048BFP-13,-0x1.197422C9048BEP-13), dac), -1)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851eep+12,-0x1.d1b251eb851ebp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x0.4P-1022,0x0.4000000000001P-1022), dac), -1)[2] == DecoratedInterval(Interval(0x1.ffffffffffff8p+1023,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0x0.4P-1022,0x0.4000000000001P-1022), dac), -1)[2]) == decoration(DecoratedInterval(Interval(0x1.ffffffffffff8p+1023,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0x0.4000000000001P-1022,-0x0.4P-1022), def), -1)[2] == DecoratedInterval(Interval(-Inf,-0x1.ffffffffffff8p+1023), trv) && decoration(power_rev(DecoratedInterval(interval(-0x0.4000000000001P-1022,-0x0.4P-1022), def), -1)[2]) == decoration(DecoratedInterval(Interval(-Inf,-0x1.ffffffffffff8p+1023), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), -1)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), -1)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -1)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -1)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,0.0), dac), -1)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), dac), -1)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -1)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -1)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), com), -1)[2] == DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), com), -1)[2]) == decoration(DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.83E0F83E0F83EP+1,-0x1.0D79435E50D79P-1), com), -1)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.83E0F83E0F83EP+1,-0x1.0D79435E50D79P-1), com), -1)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), -3)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), -3)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test_skip power_rev(DecoratedInterval(interval(0x1.D26DF4D8B1831P-12,0x1.D26DF4D8B1832P-12), com), -3)[2] == DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.D26DF4D8B1831P-12,0x1.D26DF4D8B1832P-12), com), -3)[2]) == decoration(DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv)) + + @test_skip power_rev(DecoratedInterval(interval(-0x1.54347DED91B19P-39,-0x1.54347DED91B18P-39), def), -3)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.54347DED91B19P-39,-0x1.54347DED91B18P-39), def), -3)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), dac), -3)[2] == DecoratedInterval(Interval(0x1p+358,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), dac), -3)[2]) == decoration(DecoratedInterval(Interval(0x1p+358,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0x0.0000000000001P-1022,-0x0P+0), def), -3)[2] == DecoratedInterval(Interval(-Inf,-0x1p+358), trv) && decoration(power_rev(DecoratedInterval(interval(-0x0.0000000000001P-1022,-0x0P+0), def), -3)[2]) == decoration(DecoratedInterval(Interval(-Inf,-0x1p+358), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), -3)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), -3)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -3)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -3)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,0.0), def), -3)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), def), -3)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -3)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -3)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.43CFBA61AACABP-4,0x1.E848P+19), com), -3)[2] == DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.43CFBA61AACABP-4,0x1.E848P+19), com), -3)[2]) == decoration(DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.BD393CE9E8E7CP+4,-0x1.2A95F6F7C066CP-3), def), -3)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.BD393CE9E8E7CP+4,-0x1.2A95F6F7C066CP-3), def), -3)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), -7)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), -7)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), -7)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), -7)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), com), -7)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), com), -7)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), def), -7)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), def), -7)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test_skip power_rev(DecoratedInterval(interval(0x1.037D76C912DBCP-26,0x1.037D76C912DBDP-26), dac), -7)[2] == DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.037D76C912DBCP-26,0x1.037D76C912DBDP-26), dac), -7)[2]) == decoration(DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv)) + + @test_skip power_rev(DecoratedInterval(interval(-0x1.F10F41FB8858FP-91,-0x1.F10F41FB8858EP-91), dac), -7)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.F10F41FB8858FP-91,-0x1.F10F41FB8858EP-91), dac), -7)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), def), -7)[2] == DecoratedInterval(Interval(0x1.588cea3f093bcp+153,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), def), -7)[2]) == decoration(DecoratedInterval(Interval(0x1.588cea3f093bcp+153,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0x0.0000000000001P-1022,-0x0P+0), def), -7)[2] == DecoratedInterval(Interval(-Inf,-0x1.588cea3f093bcp+153), trv) && decoration(power_rev(DecoratedInterval(interval(-0x0.0000000000001P-1022,-0x0P+0), def), -7)[2]) == decoration(DecoratedInterval(Interval(-Inf,-0x1.588cea3f093bcp+153), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), -7)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), -7)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), def), -7)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), def), -7)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,0.0), dac), -7)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), dac), -7)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -7)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -7)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.5F934D64162A9P-9,0x1.6BCC41E9P+46), com), -7)[2] == DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.5F934D64162A9P-9,0x1.6BCC41E9P+46), com), -7)[2]) == decoration(DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.254CDD3711DDBP+11,-0x1.6E95C4A761E19P-7), com), -7)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.254CDD3711DDBP+11,-0x1.6E95C4A761E19P-7), com), -7)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv)) + +end + +@testset "minimal_pown_rev_dec_bin_test" begin + + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0,1.0), def), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0,1.0), def), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(1.0,1.0), dac), DecoratedInterval(interval(1.0,1.0), dac), 0)[2] == DecoratedInterval(Interval(1.0,1.0), trv) && decoration(power_rev(DecoratedInterval(interval(1.0,1.0), dac), DecoratedInterval(interval(1.0,1.0), dac), 0)[2]) == decoration(DecoratedInterval(Interval(1.0,1.0), trv)) + + @test power_rev(DecoratedInterval(interval(-1.0,5.0), def), DecoratedInterval(interval(-51.0,12.0), dac), 0)[2] == DecoratedInterval(Interval(-51.0,12.0), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,5.0), def), DecoratedInterval(interval(-51.0,12.0), dac), 0)[2]) == decoration(DecoratedInterval(Interval(-51.0,12.0), trv)) + + @test power_rev(DecoratedInterval(interval(-1.0,0.0), com), DecoratedInterval(interval(5.0,10.0), dac), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,0.0), com), DecoratedInterval(interval(5.0,10.0), dac), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-1.0,-0.0), dac), DecoratedInterval(interval(-1.0,1.0), def), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,-0.0), dac), DecoratedInterval(interval(-1.0,1.0), def), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(1.1,10.0), def), DecoratedInterval(interval(1.0,41.0), dac), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(1.1,10.0), def), DecoratedInterval(interval(1.0,41.0), dac), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(0.0,100.1), dac), 1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(0.0,100.1), dac), 1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,10.0), def), 1)[2] == DecoratedInterval(Interval(-5.1,10.0), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,10.0), def), 1)[2]) == decoration(DecoratedInterval(Interval(-5.1,10.0), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), com), DecoratedInterval(interval(-10.0,5.1), dac), 1)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), com), DecoratedInterval(interval(-10.0,5.1), dac), 1)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(1.0,5.0), dac), 1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(1.0,5.0), dac), 1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(5.0,17.1), def), 2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(5.0,17.1), def), 2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), DecoratedInterval(interval(5.6,27.544), dac), 2)[2] == DecoratedInterval(Interval(5.6,27.544), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), DecoratedInterval(interval(5.6,27.544), dac), 2)[2]) == decoration(DecoratedInterval(Interval(5.6,27.544), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(1.0,2.0), def), 2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(1.0,2.0), def), 2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), com), DecoratedInterval(interval(1.0,Inf), def), 2)[2] == DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), com), DecoratedInterval(interval(1.0,Inf), def), 2)[2]) == decoration(DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), dac), DecoratedInterval(interval(-Inf,-1.0), def), 2)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), dac), DecoratedInterval(interval(-Inf,-1.0), def), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-23.0,-1.0), dac), 3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-23.0,-1.0), dac), 3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-23.0,-1.0), com), 3)[2] == DecoratedInterval(Interval(-23.0,-1.0), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-23.0,-1.0), com), 3)[2]) == decoration(DecoratedInterval(Interval(-23.0,-1.0), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(1.0,2.0), dac), 3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(1.0,2.0), dac), 3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), com), DecoratedInterval(interval(1.0,Inf), dac), 3)[2] == DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), com), DecoratedInterval(interval(1.0,Inf), dac), 3)[2]) == decoration(DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), com), DecoratedInterval(interval(-Inf,-1.0), dac), 3)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), com), DecoratedInterval(interval(-Inf,-1.0), dac), 3)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-3.0,17.3), def), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-3.0,17.3), def), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), DecoratedInterval(interval(-5.1,-0.1), dac), -2)[2] == DecoratedInterval(Interval(-5.1,-0.1), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), DecoratedInterval(interval(-5.1,-0.1), dac), -2)[2]) == decoration(DecoratedInterval(Interval(-5.1,-0.1), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(27.2,55.1), dac), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(27.2,55.1), dac), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.3F0C482C977C9P-17,Inf), def), DecoratedInterval(interval(-Inf,-0x1.FFFFFFFFFFFFFp1023), dac), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.3F0C482C977C9P-17,Inf), def), DecoratedInterval(interval(-Inf,-0x1.FFFFFFFFFFFFFp1023), dac), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.793D85EF38E47P-3,0x1.388P+13), com), DecoratedInterval(interval(1.0,Inf), dac), -2)[2] == DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.793D85EF38E47P-3,0x1.388P+13), com), DecoratedInterval(interval(1.0,Inf), dac), -2)[2]) == decoration(DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), com), DecoratedInterval(interval(-Inf,-1.0), dac), -2)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), com), DecoratedInterval(interval(-Inf,-1.0), dac), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.1,55.5), def), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.1,55.5), def), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,55.5), dac), -1)[2] == DecoratedInterval(Interval(-5.1,55.5), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,55.5), dac), -1)[2]) == decoration(DecoratedInterval(Interval(-5.1,55.5), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), dac), DecoratedInterval(interval(-5.1,55.5), def), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), dac), DecoratedInterval(interval(-5.1,55.5), def), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), dac), DecoratedInterval(interval(-1.0,1.0), com), -1)[2] == DecoratedInterval(Interval(-1.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), dac), DecoratedInterval(interval(-1.0,1.0), com), -1)[2]) == decoration(DecoratedInterval(Interval(-1.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), def), DecoratedInterval(interval(-1.0,0.0), dac), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), def), DecoratedInterval(interval(-1.0,0.0), dac), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.1,55.5), dac), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.1,55.5), dac), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,55.5), def), -3)[2] == DecoratedInterval(Interval(-5.1,55.5), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,55.5), def), -3)[2]) == decoration(DecoratedInterval(Interval(-5.1,55.5), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(-5.1,55.5), def), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(-5.1,55.5), def), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,0.0), dac), DecoratedInterval(interval(5.1,55.5), com), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), dac), DecoratedInterval(interval(5.1,55.5), com), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), dac), DecoratedInterval(interval(-32.0,1.1), def), -3)[2] == DecoratedInterval(Interval(-32.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), dac), DecoratedInterval(interval(-32.0,1.1), def), -3)[2]) == decoration(DecoratedInterval(Interval(-32.0,0.0), trv)) + +end + +@testset "minimal_sin_rev_test" begin + + @test sin_rev(emptyinterval())[2] == emptyinterval() + + @test sin_rev(interval(-2.0,-1.1))[2] == emptyinterval() + + @test sin_rev(interval(1.1, 2.0))[2] == emptyinterval() + + @test sin_rev(interval(-1.0,1.0))[2] == entireinterval() + + @test sin_rev(interval(0.0,0.0))[2] == entireinterval() + + @test sin_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53))[2] == entireinterval() + +end + +@testset "minimal_sin_rev_bin_test" begin + + @test sin_rev(emptyinterval(), interval(-1.2,12.1))[2] == emptyinterval() + + @test sin_rev(interval(-2.0,-1.1), interval(-5.0, 5.0))[2] == emptyinterval() + + @test sin_rev(interval(1.1, 2.0), interval(-5.0, 5.0))[2] == emptyinterval() + + @test sin_rev(interval(-1.0,1.0), interval(-1.2,12.1))[2] == Interval(-1.2,12.1) + + @test sin_rev(interval(0.0,0.0), interval(-1.0,1.0))[2] == Interval(0.0,0.0) + + @test sin_rev(interval(-0.0,-0.0), interval(2.0,2.5))[2] == emptyinterval() + + @test sin_rev(interval(-0.0,-0.0), interval(3.0,3.5))[2] == Interval(0x1.921fb54442d18p+1,0x1.921fb54442d19p+1) + + @test sin_rev(interval(0x1.FFFFFFFFFFFFFP-1,0x1P+0), interval(1.57,1.58, ))[2] == Interval(0x1.921fb50442d18p+0,0x1.921fb58442d1ap+0) + + @test sin_rev(interval(0.0,0x1P+0), interval(-0.1,1.58))[2] == Interval(0.0,1.58) + + @test sin_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), interval(3.14,3.15))[2] == Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1) + + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), interval(3.14,3.15))[2] == Interval(0x1.921FB54442D18P+1,0x1.921FB54442D1aP+1) + + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,0x1.1A62633145C07P-53), interval(3.14,3.15))[2] == Interval(0x1.921FB54442D17P+1,0x1.921FB54442D1aP+1) + + @test sin_rev(interval(0.0,1.0), interval(-0.1,3.15))[2] == Interval(0.0,0x1.921FB54442D19P+1) + + @test sin_rev(interval(0.0,1.0), interval(-0.1,3.15))[2] == Interval(-0.0,0x1.921FB54442D19P+1) + + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,1.0), interval(-0.1,3.15))[2] == Interval(-0x1.72cece675d1fep-52,0x1.921FB54442D1aP+1) + + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,1.0), interval(0.0,3.15))[2] == Interval(0.0,0x1.921FB54442D1aP+1) + + @test sin_rev(interval(0x1.1A62633145C06P-53,0x1P+0), interval(3.14,3.15))[2] == Interval(3.14,0x1.921FB54442D19P+1) + + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,0x1P+0), interval(1.57,3.15))[2] == Interval(1.57,0x1.921FB54442D1AP+1) + + @test sin_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), interval(-Inf,3.15))[2] == Interval(-Inf,0x1.921FB54442D19P+1) + + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), interval(3.14,Inf))[2] == Interval(0x1.921FB54442D18P+1,Inf) + +end + +@testset "minimal_sin_rev_dec_test" begin + + @test sin_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(-2.0,-1.1), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(-2.0,-1.1), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(1.1, 2.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(1.1, 2.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(-1.0,1.0), com))[2] == DecoratedInterval(entireinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(-1.0,1.0), com))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(0.0,0.0), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(0.0,0.0), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), def))[2] == DecoratedInterval(entireinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), def))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + +end + +@testset "minimal_sin_rev_dec_bin_test" begin + + @test sin_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.2,12.1), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.2,12.1), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(-2.0,-1.1), def), DecoratedInterval(interval(-5.0, 5.0), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(-2.0,-1.1), def), DecoratedInterval(interval(-5.0, 5.0), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(1.1, 2.0), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(1.1, 2.0), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(-1.0,1.0), com), DecoratedInterval(interval(-1.2,12.1), def))[2] == DecoratedInterval(Interval(-1.2,12.1), trv) && decoration(sin_rev(DecoratedInterval(interval(-1.0,1.0), com), DecoratedInterval(interval(-1.2,12.1), def))[2]) == decoration(DecoratedInterval(Interval(-1.2,12.1), trv)) + + @test sin_rev(DecoratedInterval(interval(0.0,0.0), dac), DecoratedInterval(interval(-1.0,1.0), def))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(sin_rev(DecoratedInterval(interval(0.0,0.0), dac), DecoratedInterval(interval(-1.0,1.0), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test sin_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(2.0,2.5), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(2.0,2.5), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(3.0,3.5), dac))[2] == DecoratedInterval(Interval(0x1.921fb54442d18p+1,0x1.921fb54442d19p+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(3.0,3.5), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1,0x1.921fb54442d19p+1), trv)) + + @test sin_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFP-1,0x1P+0), dac), DecoratedInterval(interval(1.57,1.58), dac))[2] == DecoratedInterval(Interval(0x1.921fb50442d18p+0,0x1.921fb58442d1ap+0), trv) && decoration(sin_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFP-1,0x1P+0), dac), DecoratedInterval(interval(1.57,1.58), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921fb50442d18p+0,0x1.921fb58442d1ap+0), trv)) + + @test sin_rev(DecoratedInterval(interval(0.0,0x1P+0), com), DecoratedInterval(interval(-0.1,1.58), dac))[2] == DecoratedInterval(Interval(0.0,1.58), trv) && decoration(sin_rev(DecoratedInterval(interval(0.0,0x1P+0), com), DecoratedInterval(interval(-0.1,1.58), dac))[2]) == decoration(DecoratedInterval(Interval(0.0,1.58), trv)) + + @test sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(3.14,3.15), def))[2] == DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1), trv) && decoration(sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(3.14,3.15), def))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1), trv)) + + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), com), DecoratedInterval(interval(3.14,3.15), dac))[2] == DecoratedInterval(Interval(0x1.921FB54442D18P+1,0x1.921FB54442D1aP+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), com), DecoratedInterval(interval(3.14,3.15), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D18P+1,0x1.921FB54442D1aP+1), trv)) + + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,0x1.1A62633145C07P-53), dac), DecoratedInterval(interval(3.14,3.15), com))[2] == DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D1aP+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,0x1.1A62633145C07P-53), dac), DecoratedInterval(interval(3.14,3.15), com))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D1aP+1), trv)) + + @test sin_rev(DecoratedInterval(interval(0.0,1.0), def), DecoratedInterval(interval(-0.1,3.15), def))[2] == DecoratedInterval(Interval(0.0,0x1.921FB54442D19P+1), trv) && decoration(sin_rev(DecoratedInterval(interval(0.0,1.0), def), DecoratedInterval(interval(-0.1,3.15), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0x1.921FB54442D19P+1), trv)) + + @test sin_rev(DecoratedInterval(interval(0.0,1.0), dac), DecoratedInterval(interval(-0.1,3.15), com))[2] == DecoratedInterval(Interval(-0.0,0x1.921FB54442D19P+1), trv) && decoration(sin_rev(DecoratedInterval(interval(0.0,1.0), dac), DecoratedInterval(interval(-0.1,3.15), com))[2]) == decoration(DecoratedInterval(Interval(-0.0,0x1.921FB54442D19P+1), trv)) + + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,1.0), def), DecoratedInterval(interval(-0.1,3.15), def))[2] == DecoratedInterval(Interval(-0x1.72cece675d1fep-52,0x1.921FB54442D1aP+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,1.0), def), DecoratedInterval(interval(-0.1,3.15), def))[2]) == decoration(DecoratedInterval(Interval(-0x1.72cece675d1fep-52,0x1.921FB54442D1aP+1), trv)) + + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,1.0), com), DecoratedInterval(interval(0.0,3.15), dac))[2] == DecoratedInterval(Interval(0.0,0x1.921FB54442D1aP+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,1.0), com), DecoratedInterval(interval(0.0,3.15), dac))[2]) == decoration(DecoratedInterval(Interval(0.0,0x1.921FB54442D1aP+1), trv)) + + @test sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1P+0), def), DecoratedInterval(interval(3.14,3.15), com))[2] == DecoratedInterval(Interval(3.14,0x1.921FB54442D19P+1), trv) && decoration(sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1P+0), def), DecoratedInterval(interval(3.14,3.15), com))[2]) == decoration(DecoratedInterval(Interval(3.14,0x1.921FB54442D19P+1), trv)) + + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,0x1P+0), dac), DecoratedInterval(interval(1.57,3.15), com))[2] == DecoratedInterval(Interval(1.57,0x1.921FB54442D1AP+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,0x1P+0), dac), DecoratedInterval(interval(1.57,3.15), com))[2]) == decoration(DecoratedInterval(Interval(1.57,0x1.921FB54442D1AP+1), trv)) + + @test sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(-Inf,3.15), dac))[2] == DecoratedInterval(Interval(-Inf,0x1.921FB54442D19P+1), trv) && decoration(sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(-Inf,3.15), dac))[2]) == decoration(DecoratedInterval(Interval(-Inf,0x1.921FB54442D19P+1), trv)) + + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), com), DecoratedInterval(interval(3.14,Inf), dac))[2] == DecoratedInterval(Interval(0x1.921FB54442D18P+1,Inf), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), com), DecoratedInterval(interval(3.14,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D18P+1,Inf), trv)) + +end + +@testset "minimal_cos_rev_test" begin + + @test cos_rev(emptyinterval())[2] == emptyinterval() + + @test cos_rev(interval(-2.0,-1.1))[2] == emptyinterval() + + @test cos_rev(interval(1.1, 2.0))[2] == emptyinterval() + + @test cos_rev(interval(-1.0,1.0))[2] == entireinterval() + + @test cos_rev(interval(0.0,0.0))[2] == entireinterval() + + @test cos_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53))[2] == entireinterval() + +end + +@testset "minimal_cos_rev_bin_test" begin + + @test cos_rev(emptyinterval(), interval(-1.2,12.1))[2] == emptyinterval() + + @test cos_rev(interval(-2.0,-1.1), interval(-5.0, 5.0))[2] == emptyinterval() + + @test cos_rev(interval(1.1, 2.0), interval(-5.0, 5.0))[2] == emptyinterval() + + @test cos_rev(interval(-1.0,1.0), interval(-1.2,12.1))[2] == Interval(-1.2,12.1) + + @test cos_rev(interval(1.0,1.0), interval(-0.1,0.1))[2] == Interval(0.0,0.0) + + @test cos_rev(interval(-1.0,-1.0), interval(3.14,3.15))[2] == Interval(0x1.921fb54442d18p+1,0x1.921fb54442d1ap+1) + + @test cos_rev(interval(0x1.1A62633145C06P-54,0x1.1A62633145C07P-54), interval(1.57,1.58))[2] == Interval(0x1.921FB54442D17P+0,0x1.921FB54442D19P+0) + + @test cos_rev(interval(-0x1.72CECE675D1FDP-53,-0x1.72CECE675D1FCP-53), interval(1.57,1.58))[2] == Interval(0x1.921FB54442D18P+0,0x1.921FB54442D1AP+0) + + @test cos_rev(interval(-0x1.72CECE675D1FDP-53,0x1.1A62633145C07P-54), interval(1.57,1.58))[2] == Interval(0x1.921FB54442D17P+0,0x1.921FB54442D1aP+0) + + @test cos_rev(interval(0x1.1A62633145C06P-54,1.0), interval(-2.0,2.0))[2] == Interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0) + + @test cos_rev(interval(0x1.1A62633145C06P-54,1.0), interval(0.0,2.0))[2] == Interval(0.0,0x1.921FB54442D19P+0) + + @test cos_rev(interval(-0x1.72CECE675D1FDP-53,1.0), interval(-0.1,1.5708))[2] == Interval(-0.1,0x1.921FB54442D1aP+0) + + @test cos_rev(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), interval(3.14,3.15))[2] == Interval(0x1.921fb52442d18p+1,0x1.921fb56442d1ap+1) + + @test cos_rev(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), interval(-3.15,-3.14))[2] == Interval(-0x1.921fb56442d1ap+1,-0x1.921fb52442d18p+1) + + @test cos_rev(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), interval(9.42,9.45))[2] == Interval(0x1.2d97c7eb321d2p+3,0x1.2d97c7fb321d3p+3) + + @test cos_rev(interval(0x1.87996529F9D92P-1,1.0), interval(-1.0,0.1))[2] == Interval(-0x1.6666666666667p-1,0.1) + + @test cos_rev(interval(-0x1.AA22657537205P-2,0x1.14A280FB5068CP-1), interval(0.0,2.1))[2] == Interval(0x1.fffffffffffffp-1,0x1.0000000000001p+1) + + @test cos_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), interval(-Inf,1.58))[2] == Interval(-Inf,0x1.921FB54442D18P+0) + + @test cos_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), interval(-Inf,1.5))[2] == Interval(-Inf,-0x1.921FB54442D17P+0) + + @test cos_rev(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), interval(-1.58,Inf))[2] == Interval(-0x1.921fb54442d1ap+0,Inf) + + @test cos_rev(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), interval(-1.5,Inf))[2] == Interval(0x1.921fb54442d19p+0,Inf) + +end + +@testset "minimal_cos_rev_dec_test" begin + + @test cos_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cos_rev(DecoratedInterval(interval(-2.0,-1.1), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(-2.0,-1.1), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cos_rev(DecoratedInterval(interval(1.1, 2.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(1.1, 2.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cos_rev(DecoratedInterval(interval(-1.0,1.0), com))[2] == DecoratedInterval(entireinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(-1.0,1.0), com))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test cos_rev(DecoratedInterval(interval(0.0,0.0), def))[2] == DecoratedInterval(entireinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(0.0,0.0), def))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + +end + +@testset "minimal_cos_rev_dec_bin_test" begin + + @test cos_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.2,12.1), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.2,12.1), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cos_rev(DecoratedInterval(interval(-2.0,-1.1), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(-2.0,-1.1), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cos_rev(DecoratedInterval(interval(1.1, 2.0), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(1.1, 2.0), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cos_rev(DecoratedInterval(interval(-1.0,1.0), dac), DecoratedInterval(interval(-1.2,12.1), def))[2] == DecoratedInterval(Interval(-1.2,12.1), trv) && decoration(cos_rev(DecoratedInterval(interval(-1.0,1.0), dac), DecoratedInterval(interval(-1.2,12.1), def))[2]) == decoration(DecoratedInterval(Interval(-1.2,12.1), trv)) + + @test cos_rev(DecoratedInterval(interval(1.0,1.0), def), DecoratedInterval(interval(-0.1,0.1), dac))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(cos_rev(DecoratedInterval(interval(1.0,1.0), def), DecoratedInterval(interval(-0.1,0.1), dac))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test cos_rev(DecoratedInterval(interval(-1.0,-1.0), com), DecoratedInterval(interval(3.14,3.15), dac))[2] == DecoratedInterval(Interval(0x1.921fb54442d18p+1,0x1.921fb54442d1ap+1), trv) && decoration(cos_rev(DecoratedInterval(interval(-1.0,-1.0), com), DecoratedInterval(interval(3.14,3.15), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1,0x1.921fb54442d1ap+1), trv)) + + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,0x1.1A62633145C07P-54), def), DecoratedInterval(interval(1.57,1.58), def))[2] == DecoratedInterval(Interval(0x1.921FB54442D17P+0,0x1.921FB54442D19P+0), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,0x1.1A62633145C07P-54), def), DecoratedInterval(interval(1.57,1.58), def))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D17P+0,0x1.921FB54442D19P+0), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,-0x1.72CECE675D1FCP-53), dac), DecoratedInterval(interval(1.57,1.58), dac))[2] == DecoratedInterval(Interval(0x1.921FB54442D18P+0,0x1.921FB54442D1AP+0), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,-0x1.72CECE675D1FCP-53), dac), DecoratedInterval(interval(1.57,1.58), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D18P+0,0x1.921FB54442D1AP+0), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,0x1.1A62633145C07P-54), com), DecoratedInterval(interval(1.57,1.58), dac))[2] == DecoratedInterval(Interval(0x1.921FB54442D17P+0,0x1.921FB54442D1aP+0), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,0x1.1A62633145C07P-54), com), DecoratedInterval(interval(1.57,1.58), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D17P+0,0x1.921FB54442D1aP+0), trv)) + + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,1.0), def), DecoratedInterval(interval(-2.0,2.0), com))[2] == DecoratedInterval(Interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,1.0), def), DecoratedInterval(interval(-2.0,2.0), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0), trv)) + + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,1.0), dac), DecoratedInterval(interval(0.0,2.0), def))[2] == DecoratedInterval(Interval(0.0,0x1.921FB54442D19P+0), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,1.0), dac), DecoratedInterval(interval(0.0,2.0), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0x1.921FB54442D19P+0), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,1.0), def), DecoratedInterval(interval(-0.1,1.5708), dac))[2] == DecoratedInterval(Interval(-0.1,0x1.921FB54442D1aP+0), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,1.0), def), DecoratedInterval(interval(-0.1,1.5708), dac))[2]) == decoration(DecoratedInterval(Interval(-0.1,0x1.921FB54442D1aP+0), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), dac), DecoratedInterval(interval(3.14,3.15), def))[2] == DecoratedInterval(Interval(0x1.921fb52442d18p+1,0x1.921fb56442d1ap+1), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), dac), DecoratedInterval(interval(3.14,3.15), def))[2]) == decoration(DecoratedInterval(Interval(0x1.921fb52442d18p+1,0x1.921fb56442d1ap+1), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), def), DecoratedInterval(interval(-3.15,-3.14), com))[2] == DecoratedInterval(Interval(-0x1.921fb56442d1ap+1,-0x1.921fb52442d18p+1), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), def), DecoratedInterval(interval(-3.15,-3.14), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.921fb56442d1ap+1,-0x1.921fb52442d18p+1), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), def), DecoratedInterval(interval(9.42,9.45), dac))[2] == DecoratedInterval(Interval(0x1.2d97c7eb321d2p+3,0x1.2d97c7fb321d3p+3), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), def), DecoratedInterval(interval(9.42,9.45), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.2d97c7eb321d2p+3,0x1.2d97c7fb321d3p+3), trv)) + + @test cos_rev(DecoratedInterval(interval(0x1.87996529F9D92P-1,1.0), dac), DecoratedInterval(interval(-1.0,0.1), def))[2] == DecoratedInterval(Interval(-0x1.6666666666667p-1,0.1), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.87996529F9D92P-1,1.0), dac), DecoratedInterval(interval(-1.0,0.1), def))[2]) == decoration(DecoratedInterval(Interval(-0x1.6666666666667p-1,0.1), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1.AA22657537205P-2,0x1.14A280FB5068CP-1), com), DecoratedInterval(interval(0.0,2.1), dac))[2] == DecoratedInterval(Interval(0x1.fffffffffffffp-1,0x1.0000000000001p+1), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.AA22657537205P-2,0x1.14A280FB5068CP-1), com), DecoratedInterval(interval(0.0,2.1), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.fffffffffffffp-1,0x1.0000000000001p+1), trv)) + + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(-Inf,1.58), dac))[2] == DecoratedInterval(Interval(-Inf,0x1.921FB54442D18P+0), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(-Inf,1.58), dac))[2]) == decoration(DecoratedInterval(Interval(-Inf,0x1.921FB54442D18P+0), trv)) + + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), def), DecoratedInterval(interval(-Inf,1.5), dac))[2] == DecoratedInterval(Interval(-Inf,-0x1.921FB54442D17P+0), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), def), DecoratedInterval(interval(-Inf,1.5), dac))[2]) == decoration(DecoratedInterval(Interval(-Inf,-0x1.921FB54442D17P+0), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), dac), DecoratedInterval(interval(-1.58,Inf), dac))[2] == DecoratedInterval(Interval(-0x1.921fb54442d1ap+0,Inf), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), dac), DecoratedInterval(interval(-1.58,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d1ap+0,Inf), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), def), DecoratedInterval(interval(-1.5,Inf), dac))[2] == DecoratedInterval(Interval(0x1.921fb54442d19p+0,Inf), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), def), DecoratedInterval(interval(-1.5,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921fb54442d19p+0,Inf), trv)) + +end + +@testset "minimal_tan_rev_test" begin + + @test tan_rev(emptyinterval())[2] == emptyinterval() + + @test tan_rev(interval(-1.0,1.0))[2] == entireinterval() + + @test tan_rev(interval(-156.0,-12.0))[2] == entireinterval() + + @test tan_rev(interval(0.0,0.0))[2] == entireinterval() + + @test tan_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53))[2] == entireinterval() + +end + +@testset "minimal_tan_rev_bin_test" begin + + @test tan_rev(emptyinterval(), interval(-1.5708,1.5708))[2] == emptyinterval() + + @test tan_rev(entireinterval(), interval(-1.5708,1.5708))[2] == Interval(-1.5708,1.5708) + + @test tan_rev(interval(0.0,0.0), interval(-1.5708,1.5708))[2] == Interval(0.0,0.0) + + @test tan_rev(interval(0x1.D02967C31CDB4P+53,0x1.D02967C31CDB5P+53), interval(-1.5708,1.5708))[2] == Interval(-0x1.921fb54442d1bp+0,0x1.921fb54442d19p+0) + + @test tan_rev(interval(-0x1.1A62633145C07P-53,-0x1.1A62633145C06P-53), interval(3.14,3.15))[2] == Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1) + + @test tan_rev(interval(0x1.72CECE675D1FCP-52,0x1.72CECE675D1FDP-52), interval(-3.15,3.15))[2] == Interval(-0x1.921FB54442D19P+1,0x1.921FB54442D1aP+1) + + @test tan_rev(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), interval(-Inf,1.5707965))[2] == Interval(-Inf, +0x1.921FB82C2BD7Fp0) + + @test tan_rev(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), interval(-1.5707965,Inf))[2] == Interval(-0x1.921FB82C2BD7Fp0, +Inf) + + @test tan_rev(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), interval(-1.5707965,1.5707965))[2] == Interval(-0x1.921FB82C2BD7Fp0, +0x1.921FB82C2BD7Fp0) + + @test tan_rev(interval(-0x1.D02967C31CDB5P+53,0x1.D02967C31CDB5P+53), interval(-1.5707965,1.5707965))[2] == Interval(-1.5707965,1.5707965) + +end + +@testset "minimal_tan_rev_dec_test" begin + + @test tan_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(tan_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test tan_rev(DecoratedInterval(interval(-1.0,1.0), com))[2] == DecoratedInterval(entireinterval(), trv) && decoration(tan_rev(DecoratedInterval(interval(-1.0,1.0), com))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test tan_rev(DecoratedInterval(interval(-156.0,-12.0), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(tan_rev(DecoratedInterval(interval(-156.0,-12.0), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test tan_rev(DecoratedInterval(interval(0.0,0.0), def))[2] == DecoratedInterval(entireinterval(), trv) && decoration(tan_rev(DecoratedInterval(interval(0.0,0.0), def))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test tan_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com))[2] == DecoratedInterval(entireinterval(), trv) && decoration(tan_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + +end + +@testset "minimal_tan_rev_dec_bin_test" begin + + @test tan_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.5708,1.5708), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(tan_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.5708,1.5708), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test tan_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-1.5708,1.5708), dac))[2] == DecoratedInterval(Interval(-1.5708,1.5708), trv) && decoration(tan_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-1.5708,1.5708), dac))[2]) == decoration(DecoratedInterval(Interval(-1.5708,1.5708), trv)) + + @test tan_rev(DecoratedInterval(interval(0.0,0.0), com), DecoratedInterval(interval(-1.5708,1.5708), def))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(tan_rev(DecoratedInterval(interval(0.0,0.0), com), DecoratedInterval(interval(-1.5708,1.5708), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test tan_rev(DecoratedInterval(interval(0x1.D02967C31CDB4P+53,0x1.D02967C31CDB5P+53), dac), DecoratedInterval(interval(-1.5708,1.5708), def))[2] == DecoratedInterval(Interval(-0x1.921fb54442d1bp+0,0x1.921fb54442d19p+0), trv) && decoration(tan_rev(DecoratedInterval(interval(0x1.D02967C31CDB4P+53,0x1.D02967C31CDB5P+53), dac), DecoratedInterval(interval(-1.5708,1.5708), def))[2]) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d1bp+0,0x1.921fb54442d19p+0), trv)) + + @test tan_rev(DecoratedInterval(interval(-0x1.1A62633145C07P-53,-0x1.1A62633145C06P-53), def), DecoratedInterval(interval(3.14,3.15), dac))[2] == DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1), trv) && decoration(tan_rev(DecoratedInterval(interval(-0x1.1A62633145C07P-53,-0x1.1A62633145C06P-53), def), DecoratedInterval(interval(3.14,3.15), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1), trv)) + + @test tan_rev(DecoratedInterval(interval(0x1.72CECE675D1FCP-52,0x1.72CECE675D1FDP-52), com), DecoratedInterval(interval(-3.15,3.15), com))[2] == DecoratedInterval(Interval(-0x1.921FB54442D19P+1,0x1.921FB54442D1aP+1), trv) && decoration(tan_rev(DecoratedInterval(interval(0x1.72CECE675D1FCP-52,0x1.72CECE675D1FDP-52), com), DecoratedInterval(interval(-3.15,3.15), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.921FB54442D19P+1,0x1.921FB54442D1aP+1), trv)) + + @test tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), def), DecoratedInterval(interval(-Inf,1.5707965), def))[2] == DecoratedInterval(Interval(-Inf,0x1.921FB82C2BD7Fp0), trv) && decoration(tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), def), DecoratedInterval(interval(-Inf,1.5707965), def))[2]) == decoration(DecoratedInterval(Interval(-Inf,0x1.921FB82C2BD7Fp0), trv)) + + @test tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), com), DecoratedInterval(interval(-1.5707965,Inf), dac))[2] == DecoratedInterval(Interval(-0x1.921FB82C2BD7Fp0,Inf), trv) && decoration(tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), com), DecoratedInterval(interval(-1.5707965,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(-0x1.921FB82C2BD7Fp0,Inf), trv)) + + @test tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), com), DecoratedInterval(interval(-1.5707965,1.5707965), com))[2] == DecoratedInterval(Interval(-0x1.921FB82C2BD7Fp0,0x1.921FB82C2BD7Fp0), trv) && decoration(tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), com), DecoratedInterval(interval(-1.5707965,1.5707965), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.921FB82C2BD7Fp0,0x1.921FB82C2BD7Fp0), trv)) + + @test tan_rev(DecoratedInterval(interval(-0x1.D02967C31CDB5P+53,0x1.D02967C31CDB5P+53), dac), DecoratedInterval(interval(-1.5707965,1.5707965), def))[2] == DecoratedInterval(Interval(-1.5707965,1.5707965), trv) && decoration(tan_rev(DecoratedInterval(interval(-0x1.D02967C31CDB5P+53,0x1.D02967C31CDB5P+53), dac), DecoratedInterval(interval(-1.5707965,1.5707965), def))[2]) == decoration(DecoratedInterval(Interval(-1.5707965,1.5707965), trv)) + +end + +@testset "minimal_cosh_rev_test" begin + + @test cosh_rev(emptyinterval())[2] == emptyinterval() + + @test cosh_rev(interval(1.0,Inf))[2] == entireinterval() + + @test cosh_rev(interval(0.0,Inf))[2] == entireinterval() + + @test cosh_rev(interval(1.0,1.0))[2] == Interval(0.0,0.0) + + @test cosh_rev(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432))[2] == Interval(-0x1.2C903022DD7ABP+8,0x1.2C903022DD7ABP+8) + +end + +@testset "minimal_cosh_rev_bin_test" begin + + @test cosh_rev(emptyinterval(), interval(0.0,Inf))[2] == emptyinterval() + + @test cosh_rev(interval(1.0,Inf), interval(0.0,Inf))[2] == Interval(0.0,Inf) + + @test cosh_rev(interval(0.0,Inf), interval(1.0,2.0))[2] == Interval(1.0,2.0) + + @test cosh_rev(interval(1.0,1.0), interval(1.0,Inf))[2] == emptyinterval() + + @test cosh_rev(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), interval(-Inf,0.0))[2] == Interval(-0x1.2C903022DD7ABP+8,-0x1.fffffffffffffp-1) + +end + +@testset "minimal_cosh_rev_dec_test" begin + + @test cosh_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cosh_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cosh_rev(DecoratedInterval(interval(1.0,Inf), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(cosh_rev(DecoratedInterval(interval(1.0,Inf), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test cosh_rev(DecoratedInterval(interval(0.0,Inf), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(cosh_rev(DecoratedInterval(interval(0.0,Inf), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test cosh_rev(DecoratedInterval(interval(1.0,1.0), def))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(cosh_rev(DecoratedInterval(interval(1.0,1.0), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test cosh_rev(DecoratedInterval(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), com))[2] == DecoratedInterval(Interval(-0x1.2C903022DD7ABP+8,0x1.2C903022DD7ABP+8), trv) && decoration(cosh_rev(DecoratedInterval(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.2C903022DD7ABP+8,0x1.2C903022DD7ABP+8), trv)) + +end + +@testset "minimal_cosh_rev_dec_bin_test" begin + + @test cosh_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(0.0,Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cosh_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(0.0,Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cosh_rev(DecoratedInterval(interval(1.0,Inf), def), DecoratedInterval(interval(0.0,Inf), dac))[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(cosh_rev(DecoratedInterval(interval(1.0,Inf), def), DecoratedInterval(interval(0.0,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test cosh_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(1.0,2.0), com))[2] == DecoratedInterval(Interval(1.0,2.0), trv) && decoration(cosh_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(1.0,2.0), com))[2]) == decoration(DecoratedInterval(Interval(1.0,2.0), trv)) + + @test cosh_rev(DecoratedInterval(interval(1.0,1.0), dac), DecoratedInterval(interval(1.0,Inf), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cosh_rev(DecoratedInterval(interval(1.0,1.0), dac), DecoratedInterval(interval(1.0,Inf), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cosh_rev(DecoratedInterval(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), com), DecoratedInterval(interval(-Inf,0.0), dac))[2] == DecoratedInterval(Interval(-0x1.2C903022DD7ABP+8,-0x1.fffffffffffffp-1), trv) && decoration(cosh_rev(DecoratedInterval(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), com), DecoratedInterval(interval(-Inf,0.0), dac))[2]) == decoration(DecoratedInterval(Interval(-0x1.2C903022DD7ABP+8,-0x1.fffffffffffffp-1), trv)) + +end + +@testset "minimal_mul_rev_test" begin + + @test mul_rev_IEEE1788(emptyinterval(), interval(1.0, 2.0)) == emptyinterval() + + @test mul_rev_IEEE1788(interval(1.0, 2.0), emptyinterval()) == emptyinterval() + + @test mul_rev_IEEE1788(emptyinterval(), emptyinterval()) == emptyinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, -0.4)) == Interval(0x1.999999999999AP-3, 0x1.5P+4) + + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-2.1, -0.4)) == Interval(0x1.999999999999AP-3, Inf) + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, -0.4)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-2.1, -0.4)) == Interval(-Inf, -0x1.745D1745D1745P-2) + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, -0.4)) == Interval(-0x1.A400000000001P+7, -0x1.745D1745D1745P-2) + + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, -0.4)) == emptyinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-2.1, -0.4)) == Interval(0.0, 0x1.5P+4) + + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-2.1, -0.4)) == Interval(0.0, Inf) + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-2.1, -0.4)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-2.1, -0.4)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-2.1, -0.4)) == Interval(-Inf, 0.0) + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-2.1, -0.4)) == Interval(-0x1.A400000000001P+7, 0.0) + + @test mul_rev_IEEE1788(entireinterval(), interval(-2.1, -0.4)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, 0.0)) == Interval(0.0, 0x1.5P+4) + + @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-2.1, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(-2.1, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, 0.0)) == Interval(-0x1.A400000000001P+7, 0.0) + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-2.1, 0.0)) == Interval(0.0, 0x1.5P+4) + + @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-2.1, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-2.1, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-2.1, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(-2.1, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-2.1, 0.0)) == Interval(-0x1.A400000000001P+7, 0.0) + + @test mul_rev_IEEE1788(entireinterval(), interval(-2.1, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, 0.12)) == Interval(-0x1.3333333333333P+0, 0x1.5P+4) + + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, 0.12)) == Interval(-0x1.A400000000001P+7 , 0x1.8P+3) + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-2.1, 0.12)) == Interval(-0x1.3333333333333P+0, 0x1.5P+4) + + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-2.1, 0.12)) == Interval(-0x1.A400000000001P+7 , 0x1.8P+3) + + @test mul_rev_IEEE1788(entireinterval(), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, 0.12)) == Interval(-0x1.3333333333333P+0, 0.0) + + @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, 0.12)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, 0.12)) == Interval(0.0, 0x1.8P+3) + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, 0.12)) == Interval(-0x1.3333333333333P+0, 0.0) + + @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, 0.12)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, 0.12)) == Interval(0.0, 0x1.8P+3) + + @test mul_rev_IEEE1788(entireinterval(), interval(0.0, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.01, 0.12)) == Interval(-0x1.3333333333333P+0, -0x1.47AE147AE147BP-8) + + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.01, 0.12)) == Interval(-Inf, -0x1.47AE147AE147BP-8) + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.01, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.01, 0.12)) == Interval(0x1.29E4129E4129DP-7, Inf) + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.01, 0.12)) == Interval(0x1.29E4129E4129DP-7, 0x1.8P+3) + + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.01, 0.12)) == emptyinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.01, 0.12)) == Interval(-0x1.3333333333333P+0, 0.0) + + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.01, 0.12)) == Interval(-Inf, 0.0) + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.01, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.01, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.01, 0.12)) == Interval(0.0, Inf) + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.01, 0.12)) == Interval(0.0, 0x1.8P+3) + + @test mul_rev_IEEE1788(entireinterval(), interval(0.01, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, 0.0)) == Interval(0.0, 0.0) + + @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, 0.0)) == Interval(0.0, 0.0) + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, 0.0)) == Interval(0.0, 0.0) + + @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, 0.0)) == Interval(0.0, 0.0) + + @test_skip mul_rev_IEEE1788(entireinterval(), interval(0.0, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-Inf, -0.1)) == Interval(0x1.999999999999AP-5, Inf) + + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-Inf, -0.1)) == Interval(0x1.999999999999AP-5 , Inf) + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-Inf, -0.1)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-Inf, -0.1)) == Interval(-Inf, -0x1.745D1745D1745P-4) + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-Inf, -0.1)) == Interval(-Inf, -0x1.745D1745D1745P-4) + + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, -0.1)) == emptyinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-Inf, -0.1)) == Interval(0.0, Inf) + + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-Inf, -0.1)) == Interval(0.0, Inf) + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-Inf, -0.1)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-Inf, -0.1)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-Inf, -0.1)) == Interval(-Inf, 0.0) + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-Inf, -0.1)) == Interval(-Inf, 0.0) + + @test mul_rev_IEEE1788(entireinterval(), interval(-Inf, -0.1)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-Inf, 0.0)) == Interval(0.0, Inf) + + @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-Inf, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-Inf, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(-Inf, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-Inf, 0.0)) == Interval(0.0, Inf) + + @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-Inf, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-Inf, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-Inf, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(-Inf, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test mul_rev_IEEE1788(entireinterval(), interval(-Inf, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-Inf, 0.3)) == Interval(-0x1.8P+1, Inf) + + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-Inf, 0.3)) == Interval(-Inf, 0x1.EP+4) + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-Inf, 0.3)) == Interval(-0x1.8P+1, Inf) + + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-Inf, 0.3)) == Interval(-Inf, 0x1.EP+4) + + @test mul_rev_IEEE1788(entireinterval(), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-0.21, Inf)) == Interval(-Inf , 0x1.0CCCCCCCCCCCDP+1) + + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-0.21, Inf)) == Interval(-0x1.5P+4, Inf) + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-0.21, Inf)) == Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1) + + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-0.21, Inf)) == Interval(-0x1.5P+4, Inf) + + @test mul_rev_IEEE1788(entireinterval(), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, Inf)) == Interval(-Inf, 0.0) + + @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, Inf)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, Inf)) == Interval(-Inf, 0.0) + + @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, Inf)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test mul_rev_IEEE1788(entireinterval(), interval(0.0, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.04, Inf)) == Interval(-Inf, -0x1.47AE147AE147BP-6) + + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.04, Inf)) == Interval(-Inf, -0x1.47AE147AE147BP-6) + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.04, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.04, Inf)) == Interval(0x1.29E4129E4129DP-5, Inf) + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.04, Inf)) == Interval(0x1.29E4129E4129DP-5, Inf) + + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.04, Inf)) == emptyinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.04, Inf)) == Interval(-Inf, 0.0) + + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.04, Inf)) == Interval(-Inf, 0.0) + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.04, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.04, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.04, Inf)) == Interval(0.0, Inf) + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.04, Inf)) == Interval(0.0, Inf) + + @test mul_rev_IEEE1788(entireinterval(), interval(0.04, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 0.0), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, 1.1), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), entireinterval()) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 0.0), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, Inf), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(entireinterval(), entireinterval()) == entireinterval() + +end + +@testset "minimal_mul_rev_ten_test" begin + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, -0.4), interval(-2.1, -0.4)) == emptyinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, -0.4), interval(-2.1, -0.4)) == Interval(-2.1, -0.4) + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, 0.0), interval(-2.1, 0.0)) == Interval(-2.1,0.0) + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, 0.12), interval(0.0, 0.12)) == Interval(0.0, 0.0) + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.04, Inf), interval(0.04, Inf)) == Interval(0.04, Inf) + +end + +@testset "minimal_mul_rev_dec_test" begin + + @test isnai(mul_rev_IEEE1788(nai(), DecoratedInterval(interval(1.0,2.0), dac))) + + @test isnai(mul_rev_IEEE1788(DecoratedInterval(interval(1.0,2.0), dac), nai())) + + @test isnai(mul_rev_IEEE1788(nai(), nai())) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac)) == DecoratedInterval(Interval(0x1.999999999999AP-3, 0x1.5P+4), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac))) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-3, 0x1.5P+4), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.0), def)) == DecoratedInterval(Interval(0.0, 0x1.5P+4), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.0), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.5P+4), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, 0.12), dac)) == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, 0.12), dac))) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com)) == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com))) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(0.01, 0.12), dac)) == DecoratedInterval(Interval(0x1.29E4129E4129DP-7, 0x1.8P+3), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(0.01, 0.12), dac))) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-7, 0x1.8P+3), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), def)) == DecoratedInterval(Interval(-Inf, 0x1.EP+4), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), def))) == decoration(DecoratedInterval(Interval(-Inf, 0x1.EP+4), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), trv), DecoratedInterval(interval(-0.21, Inf), dac)) == DecoratedInterval(Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), trv), DecoratedInterval(interval(-0.21, Inf), dac))) == decoration(DecoratedInterval(Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1), trv)) + +end + +@testset "minimal_mul_rev_dec_ten_test" begin + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac), DecoratedInterval(interval(-2.1, -0.4), dac)) == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac), DecoratedInterval(interval(-2.1, -0.4), dac))) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, -0.4), com), DecoratedInterval(interval(-2.1, -0.4), com)) == DecoratedInterval(Interval(-2.1, -0.4), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, -0.4), com), DecoratedInterval(interval(-2.1, -0.4), com))) == decoration(DecoratedInterval(Interval(-2.1, -0.4), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), dac)) == DecoratedInterval(Interval(-2.1,0.0), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), dac))) == decoration(DecoratedInterval(Interval(-2.1,0.0), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com), DecoratedInterval(interval(0.0, 0.12), com)) == DecoratedInterval(Interval(0.0, 0.0), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com), DecoratedInterval(interval(0.0, 0.12), com))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(0.04, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac)) == DecoratedInterval(Interval(0.04, Inf), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(0.04, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))) == decoration(DecoratedInterval(Interval(0.04, Inf), trv)) + +end -end -# FactCheck.exitstatus() diff --git a/test/pow_rev.jl b/test/pow_rev.jl new file mode 100644 index 0000000..0448f3c --- /dev/null +++ b/test/pow_rev.jl @@ -0,0 +1,1616 @@ +@testset "minimal.powRev1_test" begin + + @test pow_rev1(emptyinterval(), emptyinterval(), emptyinterval()) == emptyinterval() + + @test pow_rev1(emptyinterval(), entireinterval(), emptyinterval()) == emptyinterval() + + @test pow_rev1(entireinterval(), emptyinterval(), emptyinterval()) == emptyinterval() + + @test pow_rev1(entireinterval(), entireinterval(), emptyinterval()) == emptyinterval() + + @test pow_rev1(emptyinterval(), emptyinterval(), entireinterval()) == emptyinterval() + + @test pow_rev1(emptyinterval(), entireinterval(), entireinterval()) == emptyinterval() + + @test pow_rev1(entireinterval(), emptyinterval(), entireinterval()) == emptyinterval() + + @test pow_rev1(entireinterval(), entireinterval(), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), entireinterval(), interval(-Inf,-1.0)) == emptyinterval() + + @test_skip pow_rev1(interval(-Inf,-1.0), entireinterval(), interval(-Inf,0.0)) == emptyinterval() + + @test_skip pow_rev1(interval(-Inf,0.0), entireinterval(), interval(-Inf,0.0)) == emptyinterval() + + @test pow_rev1(interval(-Inf,0.0), interval(-Inf,0.0), entireinterval()) == emptyinterval() + + @test_skip pow_rev1(interval(-Inf,0.0), interval(-Inf,0.9), interval(0.0,1.0)) == emptyinterval() + + @test_skip pow_rev1(interval(-Inf,0.0), interval(1.1,Inf), interval(1.0,Inf)) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,Inf), interval(1.1,Inf), interval(0.0,1.0)) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,Inf), interval(-Inf,0.9), interval(1.0,Inf)) == emptyinterval() + + @test pow_rev1(interval(0.0,0.0), interval(1.0,1.0), interval(-Inf,0.0)) == emptyinterval() + + @test pow_rev1(entireinterval(), interval(0.0,0.0), entireinterval()) == Interval(0.0,0.0) + + @test pow_rev1(entireinterval(), interval(-Inf,0.0), entireinterval()) == Interval(0.0,0.0) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,0.0), entireinterval()) == Interval(0.0,0.0) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,0.0), entireinterval()) == Interval(0.0,0.0) + + @test pow_rev1(interval(1.0,2.0), interval(0.0,0.0), entireinterval()) == Interval(0.0,0.0) + + @test pow_rev1(interval(1.0,1.0), interval(0.0,0.0), interval(0.0,0.0)) == Interval(0.0,0.0) + + @test pow_rev1(entireinterval(), interval(1.0,1.0), interval(1.0,1.0)) == Interval(1.0,1.0) + + @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,1.0), entireinterval()) == Interval(0.0,Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,1.0), interval(2.0,3.0)) == Interval(2.0,3.0) + + @test_skip pow_rev1(entireinterval(), interval(1.0,1.0), entireinterval()) == Interval(0.0,Inf) + + @test_skip pow_rev1(entireinterval(), interval(1.0,1.0), interval(20.0,30.0)) == Interval(20.0,30.0) + + @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,1.0), interval(1.0,1.0)) == Interval(1.0,1.0) + + @test pow_rev1(interval(-4.0,-2.0), interval(0.0,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-Inf,-2.0), interval(0.0,0.5), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,-2.0), interval(-Inf,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-Inf,-2.0), interval(-Inf,0.5), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,-2.0), interval(0.25,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, 2.0) + + @test pow_rev1(interval(-Inf,-2.0), interval(0.25,0.5), entireinterval()) == Interval(1.0, 2.0) + + @test pow_rev1(interval(-4.0,-2.0), interval(0.25,1.0), entireinterval()) == Interval(1.0, 2.0) + + @test pow_rev1(interval(-Inf,-2.0), interval(0.25,1.0), entireinterval()) == Interval(1.0, 2.0) + + @test pow_rev1(interval(-4.0,-2.0), interval(1.0,1.0), entireinterval()) == Interval(1.0, 1.0) + + @test pow_rev1(interval(-Inf,-2.0), interval(1.0,1.0), entireinterval()) == Interval(1.0, 1.0) + + @test pow_rev1(interval(-4.0,-2.0), interval(0.0,1.0), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,-2.0), interval(0.0,1.0), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,-2.0), interval(0.0,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + + @test pow_rev1(interval(-Inf,-2.0), interval(0.0,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + + @test pow_rev1(interval(-4.0,-2.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,-2.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,-2.0), interval(-Inf,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + + @test pow_rev1(interval(-Inf,-2.0), interval(-Inf,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + + @test pow_rev1(interval(-4.0,-2.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,-2.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,-2.0), interval(0.5,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(-Inf,-2.0), interval(0.5,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(-4.0,-2.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(-Inf,-2.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(-4.0,-2.0), interval(1.0,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 1.0) + + @test pow_rev1(interval(-Inf,-2.0), interval(1.0,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 1.0) + + @test pow_rev1(interval(-4.0,-2.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,-2.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,-2.0), interval(2.0,4.0), entireinterval()) == Interval(0.5, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(-Inf,-2.0), interval(2.0,4.0), entireinterval()) == Interval(0.5, 1.0) + + @test pow_rev1(interval(-4.0,-2.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(-Inf,-2.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,0.0), interval(0.0,0.5), entireinterval()) == emptyinterval() + + @test pow_rev1(interval(0.0,0.0), interval(-Inf,0.5), entireinterval()) == emptyinterval() + + @test pow_rev1(interval(0.0,0.0), interval(0.25,0.5), entireinterval()) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,0.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,0.0), interval(2.0,4.0), entireinterval()) == emptyinterval() + + @test pow_rev1(interval(0.0,0.0), interval(2.0,Inf), entireinterval()) == emptyinterval() + + @test pow_rev1(interval(-4.0,0.0), interval(0.0,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(0.0,0.5), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(-Inf,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(-Inf,0.5), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(0.25,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(0.25,0.5), entireinterval()) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(-4.0,0.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-Inf,0.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,0.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-Inf,0.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,0.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-Inf,0.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,0.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-Inf,0.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,0.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-Inf,0.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(2.0,4.0), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(-Inf,0.0), interval(2.0,4.0), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,0.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(-Inf,0.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.0,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(-Inf,0.5), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test_skip pow_rev1(interval(-Inf,4.0), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test_skip pow_rev1(interval(-Inf,4.0), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(0.0,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(-Inf,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(-4.0,Inf), interval(0.0,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(entireinterval(), interval(0.0,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(-4.0,Inf), interval(-Inf,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(entireinterval(), interval(-Inf,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.25,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.25,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.25,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.25,0.5), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test_skip pow_rev1(interval(-Inf,4.0), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(-4.0,Inf), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(0.25,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.25,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(-4.0,Inf), interval(0.25,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(entireinterval(), interval(0.25,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-Inf,4.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,Inf), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(entireinterval(), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-Inf,4.0), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-4.0,Inf), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(entireinterval(), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(-Inf,4.0), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(-4.0,Inf), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(entireinterval(), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(2.0,4.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(2.0,4.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(2.0,4.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(2.0,4.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(2.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(2.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(2.0,4.0), interval(0.0,1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(-Inf,4.0), interval(2.0,4.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(2.0,Inf), interval(0.0,1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(-Inf,4.0), interval(2.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-4.0,Inf), interval(2.0,4.0), interval(0.0,1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(entireinterval(), interval(2.0,4.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-4.0,Inf), interval(2.0,Inf), interval(0.0,1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(entireinterval(), interval(2.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(2.0,4.0), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test_skip pow_rev1(interval(-Inf,4.0), interval(2.0,4.0), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(2.0,Inf), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test_skip pow_rev1(interval(-Inf,4.0), interval(2.0,Inf), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(2.0,4.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(2.0,4.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(2.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(2.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,0.5), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,0.5), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,0.5), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,0.5), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,0.5), interval(1.0, Inf)) == emptyinterval() + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,0.5), interval(1.0, Inf)) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,Inf), interval(0.0,0.5), interval(1.0, Inf)) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,Inf), interval(-Inf,0.5), interval(1.0, Inf)) == emptyinterval() + + @test pow_rev1(interval(0.0,4.0), interval(0.25,0.5), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(0.0,Inf), interval(0.25,0.5), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(0.0,Inf), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(0.25,0.5), interval(1.0, Inf)) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,Inf), interval(0.25,0.5), interval(1.0, Inf)) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,4.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,Inf), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(0.0,4.0), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(0.0,Inf), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(0.0,4.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,Inf), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(0.0,4.0), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(0.0,Inf), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(2.0,4.0), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(2.0,Inf), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(2.0,4.0), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(2.0,Inf), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(2.0,4.0), interval(0.0,1.0)) == emptyinterval() + + @test pow_rev1(interval(0.0,4.0), interval(2.0,Inf), interval(0.0,1.0)) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,Inf), interval(2.0,4.0), interval(0.0,1.0)) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,Inf), interval(2.0,Inf), interval(0.0,1.0)) == emptyinterval() + + @test pow_rev1(interval(0.0,4.0), interval(2.0,4.0), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(2.0,Inf), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(2.0,4.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(2.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(2.0,4.0), interval(0.0,0.5), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(2.0,4.0), interval(-Inf,0.5), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(2.0,Inf), interval(0.0,0.5), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(2.0,Inf), interval(-Inf,0.5), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(2.0,4.0), interval(0.25,0.5), entireinterval()) == Interval(0.5, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(2.0,Inf), interval(0.25,0.5), entireinterval()) == Interval(0.5, 1.0) + + @test pow_rev1(interval(2.0,4.0), interval(0.25,1.0), entireinterval()) == Interval(0.5, 1.0) + + @test pow_rev1(interval(2.0,4.0), interval(1.0,1.0), entireinterval()) == Interval(1.0, 1.0) + + @test pow_rev1(interval(2.0,Inf), interval(0.25,1.0), entireinterval()) == Interval(0.5, 1.0) + + @test pow_rev1(interval(2.0,Inf), interval(1.0,1.0), entireinterval()) == Interval(1.0, 1.0) + + @test pow_rev1(interval(2.0,4.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(2.0,Inf), interval(0.0,1.0), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(2.0,4.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(2.0,4.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(2.0,4.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(2.0,4.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(2.0,Inf), interval(0.0,2.0), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(2.0,Inf), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(2.0,Inf), interval(-Inf,2.0), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(2.0,Inf), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(2.0,4.0), interval(0.5,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(2.0,4.0), interval(0.5,Inf), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + + @test pow_rev1(interval(2.0,Inf), interval(0.5,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(2.0,Inf), interval(0.5,Inf), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + + @test pow_rev1(interval(2.0,4.0), interval(1.0,2.0), entireinterval()) == Interval(1.0, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(2.0,4.0), interval(1.0,Inf), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(2.0,Inf), interval(1.0,2.0), entireinterval()) == Interval(1.0, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(2.0,Inf), interval(1.0,Inf), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(2.0,4.0), interval(2.0,4.0), entireinterval()) == Interval(0x1.306FE0A31B715p0, 2.0) + + @test pow_rev1(interval(2.0,4.0), interval(2.0,Inf), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(2.0,Inf), interval(2.0,4.0), entireinterval()) == Interval(1.0, 2.0) + + @test pow_rev1(interval(2.0,Inf), interval(2.0,Inf), entireinterval()) == Interval(1.0, Inf) + +end + +@testset "minimal.powRev2_test" begin + + @test pow_rev2(emptyinterval(), emptyinterval(), emptyinterval()) == emptyinterval() + + @test pow_rev2(emptyinterval(), entireinterval(), emptyinterval()) == emptyinterval() + + @test pow_rev2(entireinterval(), emptyinterval(), emptyinterval()) == emptyinterval() + + @test pow_rev2(entireinterval(), entireinterval(), emptyinterval()) == emptyinterval() + + @test pow_rev2(emptyinterval(), emptyinterval(), entireinterval()) == emptyinterval() + + @test pow_rev2(emptyinterval(), entireinterval(), entireinterval()) == emptyinterval() + + @test pow_rev2(entireinterval(), emptyinterval(), entireinterval()) == emptyinterval() + + @test pow_rev2(entireinterval(), entireinterval(), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 0.0), interval(-Inf, -0.1), entireinterval()) == emptyinterval() + + @test pow_rev2(interval(0.0, 0.0), interval(0.1, Inf), entireinterval()) == emptyinterval() + + @test pow_rev2(interval(0.0, 0.0), interval(0.0, 0.0), interval(-Inf, 0.0)) == emptyinterval() + + @test_skip pow_rev2(interval(-Inf, 0.9), interval(0.0, 0.9), interval(-Inf, 0.0)) == emptyinterval() + + @test_skip pow_rev2(interval(1.1, Inf), interval(1.1, Inf), interval(-Inf, 0.0)) == emptyinterval() + + @test_skip pow_rev2(interval(-Inf, 0.9), interval(1.1, Inf), interval(0.0, Inf)) == emptyinterval() + + @test_skip pow_rev2(interval(1.1, Inf), interval(0.0, 0.9), interval(0.0, Inf)) == emptyinterval() + + @test_skip pow_rev2(interval(0.0, 0.0), interval(0.0, 0.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(-Inf, 0.0), interval(-Inf, 0.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(-Inf, 0.0), interval(-Inf, 0.0), interval(1.0, 2.0)) == Interval(1.0, 2.0) + + @test_skip pow_rev2(entireinterval(), interval(0.0, 0.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev2(entireinterval(), interval(-Inf, 0.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(entireinterval(), interval(-Inf, 0.0), interval(1.0, 2.0)) == Interval(1.0, 2.0) + + @test_skip pow_rev2(interval(0.0, 0.0), entireinterval(), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(-Inf, 0.0), entireinterval(), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(-Inf, 0.0), entireinterval(), interval(1.0, 2.0)) == Interval(1.0, 2.0) + + @test_skip pow_rev2(interval(1.0, 1.0), entireinterval(), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(1.0, 1.0), interval(2.0, 3.0)) == Interval(2.0, 3.0) + + @test_skip pow_rev2(entireinterval(), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(entireinterval(), interval(1.0, 1.0), interval(2.0, 3.0)) == Interval(2.0, 3.0) + + @test pow_rev2(interval(2.0, 3.0), interval(1.0, 1.0), entireinterval()) == Interval(0.0, 0.0) + + @test pow_rev2(interval(2.0, 3.0), interval(1.0, 1.0), interval(2.0, 3.0)) == emptyinterval() + + @test pow_rev2(interval(0.0, 0.5), interval(0.0, 0.5), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 0.5), interval(0.0, 0.5), interval(-Inf, 0.0)) == emptyinterval() + + @test_skip pow_rev2(interval(0.0, 0.5), interval(0.25, 0.5), entireinterval()) == Interval(0.0, 2.0) + + @test_skip pow_rev2(interval(0.0, 0.25), interval(0.5, 1.0), entireinterval()) == Interval(0.0, 0.5) + + @test pow_rev2(interval(0.0, 0.25), interval(1.0, 1.0), entireinterval()) == Interval(0.0, 0.0) + + @test pow_rev2(interval(0.0, 0.25), interval(0.0, 1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 0.25), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(0.0, 0.0) + + @test_skip pow_rev2(interval(0.0, 0.25), interval(0.0, 2.0), entireinterval()) == Interval(-0.5, Inf) + + @test pow_rev2(interval(0.0, 0.25), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.0, 0.25), interval(0.5, 2.0), entireinterval()) == Interval(-0.5, 0.5) + + @test_skip pow_rev2(interval(0.0, 0.25), interval(0.5, Inf), entireinterval()) == Interval(-Inf, 0.5) + + @test_skip pow_rev2(interval(0.0, 0.25), interval(1.0, 2.0), entireinterval()) == Interval(-0.5, 0.0) + + @test pow_rev2(interval(0.0, 0.25), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, 0.0) + + @test pow_rev2(interval(0.0, 0.25), interval(1.0, Inf), entireinterval()) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 0.25), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, 0.0) + + @test_skip pow_rev2(interval(0.0, 0.25), interval(2.0, 4.0), entireinterval()) == Interval(-1.0, 0.0) + + @test_skip pow_rev2(interval(0.0, 0.25), interval(2.0, 4.0), interval(0.0, Inf)) == emptyinterval() + + @test pow_rev2(interval(0.0, 0.25), interval(2.0, Inf), entireinterval()) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 0.25), interval(2.0, Inf), interval(0.0, Inf)) == emptyinterval() + + @test_skip pow_rev2(interval(0.25, 0.5), interval(0.0, 0.5), entireinterval()) == Interval(0.5, Inf) + + @test_skip pow_rev2(interval(0.25, 0.5), interval(0.25, 0.5), entireinterval()) == Interval(0.5, 2.0) + + @test_skip pow_rev2(interval(0.25, 0.5), interval(0.5, 1.0), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev2(interval(0.25, 0.5), interval(1.0, 1.0), entireinterval()) == Interval(0.0, 0.0) + + @test pow_rev2(interval(0.25, 0.5), interval(0.0, 1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.25, 0.5), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(0.0, 0.0) + + @test_skip pow_rev2(interval(0.25, 0.5), interval(0.0, 2.0), entireinterval()) == Interval(-1.0, Inf) + + @test pow_rev2(interval(0.25, 0.5), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.25, 0.5), interval(0.5, 2.0), entireinterval()) == Interval(-1.0, 1.0) + + @test_skip pow_rev2(interval(0.25, 0.5), interval(0.5, Inf), entireinterval()) == Interval(-Inf, 1.0) + + @test_skip pow_rev2(interval(0.25, 0.5), interval(1.0, 2.0), entireinterval()) == Interval(-1.0, 0.0) + + @test pow_rev2(interval(0.25, 0.5), interval(1.0, Inf), entireinterval()) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.25, 0.5), interval(2.0, 4.0), entireinterval()) == Interval(-2.0, -0.5) + + @test_skip pow_rev2(interval(0.25, 0.5), interval(2.0, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(0.0, 0.5), entireinterval()) == Interval(0.5, Inf) + + @test pow_rev2(interval(1.0, 1.0), interval(0.0, 0.5), entireinterval()) == emptyinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(0.25, 0.5), entireinterval()) == Interval(0.5, Inf) + + @test pow_rev2(interval(1.0, 1.0), interval(0.25, 0.5), entireinterval()) == emptyinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.25, 1.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.25, 1.0), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.25, 1.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.25, 1.0), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(2.0, 4.0), entireinterval()) == Interval(-Inf, -0.5) + + @test pow_rev2(interval(1.0, 1.0), interval(2.0, 4.0), entireinterval()) == emptyinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(2.0, Inf), entireinterval()) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, 1.0), interval(2.0, Inf), entireinterval()) == emptyinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 0.5), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(0.0, 0.5), interval(-Inf, 0.0)) == emptyinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 1.0), interval(0.25, 0.5), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(0.25, 0.5), interval(-Inf, 0.0)) == emptyinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(0.25, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.0, 1.0), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 1.0), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.0, 1.0), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 1.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 1.0), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 1.0), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 1.0), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(1.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 1.0), interval(2.0, 4.0), entireinterval()) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 1.0), interval(2.0, 4.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(2.0, 4.0), interval(0.0, Inf)) == emptyinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(2.0, Inf), entireinterval()) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 1.0), interval(2.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(2.0, Inf), interval(0.0, Inf)) == emptyinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 0.5), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.0, 2.0), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 0.5), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(0.25, 0.5), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.0, 2.0), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + + @test pow_rev2(interval(0.0, 2.0), interval(0.25, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(0.25, 0.5), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -0.0) + + @test pow_rev2(interval(0.0, Inf), interval(0.25, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.0, 2.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 2.0), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 2.0), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.0, Inf), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, Inf), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, Inf), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 2.0), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(1.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 2.0), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(1.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(2.0, 4.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(2.0, 4.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 2.0), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(2.0, 4.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(2.0, 4.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(2.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(2.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 2.0), interval(2.0, Inf), interval(0.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(2.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(2.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(2.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 0.5), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.5, 2.0), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + + @test_skip pow_rev2(interval(0.5, 2.0), interval(0.0, 0.5), interval(0.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(0.0, 0.5), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.5, Inf), interval(0.0, 0.5), interval(0.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(0.25, 0.5), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.5, 2.0), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + + @test_skip pow_rev2(interval(0.5, 2.0), interval(0.25, 0.5), interval(0.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(0.25, 0.5), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.5, Inf), interval(0.25, 0.5), interval(0.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.5, 2.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.5, 2.0), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.5, 2.0), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.5, Inf), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.5, Inf), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, Inf), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.5, Inf), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, Inf), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, Inf), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, Inf), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, Inf), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, Inf), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, 2.0), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, 2.0), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, Inf), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, 2.0), interval(1.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, 2.0), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(1.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, Inf), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(2.0, 4.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.5, 2.0), interval(2.0, 4.0), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + + @test_skip pow_rev2(interval(0.5, 2.0), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(2.0, 4.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.5, Inf), interval(2.0, 4.0), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + + @test pow_rev2(interval(0.5, Inf), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(0.0, 0.5), entireinterval()) == Interval(-Inf, -1.0) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + + @test pow_rev2(interval(1.0, 2.0), interval(0.0, 0.5), interval(0.0, Inf)) == emptyinterval() + + @test pow_rev2(interval(1.0, Inf), interval(0.0, 0.5), entireinterval()) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, Inf), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, Inf), interval(0.0, 0.5), interval(0.0, Inf)) == emptyinterval() + + @test_skip pow_rev2(interval(1.0, 2.0), interval(0.25, 0.5), entireinterval()) == Interval(-Inf, -1.0) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + + @test pow_rev2(interval(1.0, 2.0), interval(0.25, 0.5), interval(0.0, Inf)) == emptyinterval() + + @test pow_rev2(interval(1.0, Inf), interval(0.25, 0.5), entireinterval()) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, Inf), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, Inf), interval(0.25, 0.5), interval(0.0, Inf)) == emptyinterval() + + @test_skip pow_rev2(interval(1.0, 2.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, 2.0), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(1.0, Inf), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, Inf), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, Inf), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, 2.0), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(1.0, Inf), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, Inf), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, Inf), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, 2.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, 2.0), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, 2.0), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, Inf), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, Inf), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, Inf), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, 2.0), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, 2.0), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, 2.0), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, Inf), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, Inf), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, Inf), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, 2.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, 2.0), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, 2.0), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, Inf), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, Inf), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, Inf), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, 2.0), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, 2.0), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, 2.0), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, Inf), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, Inf), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, Inf), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, 2.0), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, Inf), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(2.0, 4.0), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev2(interval(1.0, Inf), interval(2.0, 4.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, 2.0), interval(2.0, 4.0), interval(-Inf, 0.0)) == emptyinterval() + + @test_skip pow_rev2(interval(1.0, Inf), interval(2.0, 4.0), interval(-Inf, 0.0)) == emptyinterval() + + @test_skip pow_rev2(interval(1.0, 2.0), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev2(interval(1.0, Inf), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(2.0, 4.0), interval(0.0, 0.5), entireinterval()) == Interval(-Inf, -0.5) + + @test pow_rev2(interval(2.0, Inf), interval(0.0, 0.5), entireinterval()) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(2.0, Inf), interval(0.0, 0.5), interval(0.0, Inf)) == emptyinterval() + + @test_skip pow_rev2(interval(2.0, 4.0), interval(0.25, 0.5), entireinterval()) == Interval(-2.0, -0.5) + + @test_skip pow_rev2(interval(2.0, Inf), interval(0.25, 0.5), entireinterval()) == Interval(-2.0, 0.0) + + @test_skip pow_rev2(interval(2.0, Inf), interval(0.25, 0.5), interval(0.0, Inf)) == emptyinterval() + + @test_skip pow_rev2(interval(2.0, 4.0), interval(0.5, 1.0), entireinterval()) == Interval(-1.0, 0.0) + + @test_skip pow_rev2(interval(2.0, Inf), interval(0.5, 1.0), entireinterval()) == Interval(-1.0, 0.0) + + @test pow_rev2(interval(2.0, 4.0), interval(1.0, 1.0), entireinterval()) == Interval(0.0, 0.0) + + @test pow_rev2(interval(2.0, Inf), interval(1.0, 1.0), entireinterval()) == Interval(0.0, 0.0) + + @test pow_rev2(interval(2.0, 4.0), interval(0.0, 1.0), entireinterval()) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(2.0, Inf), interval(0.0, 1.0), entireinterval()) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(2.0, 4.0), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, 0.0) + + @test pow_rev2(interval(2.0, Inf), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, 0.0) + + @test_skip pow_rev2(interval(2.0, 4.0), interval(0.0, 2.0), entireinterval()) == Interval(-Inf, 1.0) + + @test_skip pow_rev2(interval(2.0, Inf), interval(0.0, 2.0), entireinterval()) == Interval(-Inf, 1.0) + + @test_skip pow_rev2(interval(2.0, 4.0), interval(0.5, 2.0), entireinterval()) == Interval(-1.0, 1.0) + + @test_skip pow_rev2(interval(2.0, Inf), interval(0.5, 2.0), entireinterval()) == Interval(-1.0, 1.0) + + @test_skip pow_rev2(interval(2.0, 4.0), interval(1.0, 2.0), entireinterval()) == Interval(0.0, 1.0) + + @test_skip pow_rev2(interval(2.0, Inf), interval(1.0, 2.0), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev2(interval(2.0, 4.0), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(0.0, 0.0) + + @test pow_rev2(interval(2.0, Inf), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(0.0, 0.0) + + @test_skip pow_rev2(interval(2.0, 4.0), interval(2.0, 4.0), entireinterval()) == Interval(0.5, 2.0) + + @test_skip pow_rev2(interval(2.0, Inf), interval(2.0, 4.0), entireinterval()) == Interval(0.0, 2.0) + + @test_skip pow_rev2(interval(2.0, Inf), interval(2.0, 4.0), interval(-Inf, 0.0)) == emptyinterval() + + @test_skip pow_rev2(interval(2.0, 4.0), interval(2.0, Inf), entireinterval()) == Interval(0.5, Inf) + + @test pow_rev2(interval(2.0, Inf), interval(2.0, Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(2.0, Inf), interval(2.0, Inf), interval(-Inf, 0.0)) == emptyinterval() + +end + diff --git a/test/runtests.jl b/test/runtests.jl index be1dfad..3e551a3 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -5,6 +5,7 @@ using Test @testset "IntervalContractors tests" begin include("abs_rev.jl") include("libieeep1788_rev.jl") + include("libieeep1788_mul_rev.jl") include("Non1788tests.jl") @testset "power_rev for odd power" begin From b6e90d54e11bc958ebbbcc8643f34f0bdb7a3a7a Mon Sep 17 00:00:00 2001 From: lucaferranti Date: Wed, 2 Jun 2021 08:49:53 +0300 Subject: [PATCH 02/10] fix mul_rev_IEEE --- src/arithmetic.jl | 4 +-- test/libieeep1788_rev.jl | 66 ++++++++++++++++++++-------------------- 2 files changed, 34 insertions(+), 36 deletions(-) diff --git a/src/arithmetic.jl b/src/arithmetic.jl index e973b28..e8321f6 100644 --- a/src/arithmetic.jl +++ b/src/arithmetic.jl @@ -205,9 +205,7 @@ According to the IEEE-1788 standard: When `∘` is commutative, these agree and we write `∘_rev(b, c, x)`. """ -function mul_rev_IEEE1788(b, c, x) # c = b*x - return x ∩ (c / b) -end +mul_rev_IEEE1788(b, c, x) = mul_rev(c, x, b)[2] function pow_rev1(b, c, x) # c = x^b return x ∩ c^(1/b) # replace by 1//b diff --git a/test/libieeep1788_rev.jl b/test/libieeep1788_rev.jl index a2225db..4261516 100644 --- a/test/libieeep1788_rev.jl +++ b/test/libieeep1788_rev.jl @@ -1322,25 +1322,25 @@ end @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, 0.0)) == Interval(0.0, 0x1.5P+4) - @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-2.1, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-2.1, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, 0.0)) == Interval(-0x1.A400000000001P+7, 0.0) - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-2.1, 0.0)) == Interval(0.0, 0x1.5P+4) - @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-2.1, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-2.1, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-2.1, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-2.1, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-2.1, 0.0)) == Interval(-0x1.A400000000001P+7, 0.0) @@ -1356,7 +1356,7 @@ end @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, 0.12)) == Interval(-0x1.A400000000001P+7 , 0x1.8P+3) - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, 0.12)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-2.1, 0.12)) == Interval(-0x1.3333333333333P+0, 0x1.5P+4) @@ -1374,25 +1374,25 @@ end @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, 0.12)) == Interval(-0x1.3333333333333P+0, 0.0) - @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, 0.12)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, 0.12)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, 0.12)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, 0.12)) == Interval(0.0, 0x1.8P+3) - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, 0.12)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, 0.12)) == Interval(-0x1.3333333333333P+0, 0.0) - @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, 0.12)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, 0.12)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, 0.12)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, 0.12)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, 0.12)) == Interval(0.0, 0x1.8P+3) @@ -1426,29 +1426,29 @@ end @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, 0.0)) == Interval(0.0, 0.0) - @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, 0.0)) == Interval(0.0, 0.0) - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, 0.0)) == Interval(0.0, 0.0) - @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, 0.0)) == Interval(0.0, 0.0) - @test_skip mul_rev_IEEE1788(entireinterval(), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(entireinterval(), interval(0.0, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-Inf, -0.1)) == Interval(0x1.999999999999AP-5, Inf) @@ -1478,25 +1478,25 @@ end @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-Inf, 0.0)) == Interval(0.0, Inf) - @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-Inf, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-Inf, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-Inf, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-Inf, 0.0)) == Interval(0.0, Inf) - @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-Inf, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-Inf, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-Inf, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-Inf, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) @@ -1512,7 +1512,7 @@ end @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-Inf, 0.3)) == Interval(-Inf, 0x1.EP+4) - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, 0.3)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, 0.3)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-Inf, 0.3)) == Interval(-0x1.8P+1, Inf) @@ -1538,7 +1538,7 @@ end @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-0.21, Inf)) == Interval(-0x1.5P+4, Inf) - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-0.21, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-0.21, Inf)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-0.21, Inf)) == Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1) @@ -1556,25 +1556,25 @@ end @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, Inf)) == Interval(-Inf, 0.0) - @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, Inf)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, Inf)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, Inf)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, Inf)) == Interval(0.0, Inf) - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, Inf)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, Inf)) == Interval(-Inf, 0.0) - @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, Inf)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, Inf)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, Inf)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, Inf)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) @@ -1616,7 +1616,7 @@ end @test mul_rev_IEEE1788(interval(0.01, 1.1), entireinterval()) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), entireinterval()) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), entireinterval()) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), entireinterval()) == entireinterval() From 5251d8174de02a42d7726fab79052c6b8dd8a008 Mon Sep 17 00:00:00 2001 From: lucaferranti <49938764+lucaferranti@users.noreply.github.com> Date: Fri, 27 Aug 2021 14:21:23 +0300 Subject: [PATCH 03/10] bump IA version (#50) --- Project.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Project.toml b/Project.toml index 6ed7298..6747dfa 100644 --- a/Project.toml +++ b/Project.toml @@ -1,12 +1,12 @@ name = "IntervalContractors" uuid = "15111844-de3b-5229-b4ba-526f2f385dc9" -version = "0.4.3" +version = "0.4.4" [deps] IntervalArithmetic = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" [compat] -IntervalArithmetic = "0.16, 0.17, 0.18" +IntervalArithmetic = "0.16, 0.17, 0.18, 0.19" julia = "1.3, 1.4, 1.5" [extras] From 6babeacc70591714ed33005a8fbb1cc9c9d68ee8 Mon Sep 17 00:00:00 2001 From: lucaferranti <49938764+lucaferranti@users.noreply.github.com> Date: Sun, 17 Oct 2021 12:18:33 +0300 Subject: [PATCH 04/10] Update Project.toml (#51) --- Project.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Project.toml b/Project.toml index 6747dfa..17fa0d9 100644 --- a/Project.toml +++ b/Project.toml @@ -1,12 +1,12 @@ name = "IntervalContractors" uuid = "15111844-de3b-5229-b4ba-526f2f385dc9" -version = "0.4.4" +version = "0.4.5" [deps] IntervalArithmetic = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" [compat] -IntervalArithmetic = "0.16, 0.17, 0.18, 0.19" +IntervalArithmetic = "0.16, 0.17, 0.18, 0.19, 0.20" julia = "1.3, 1.4, 1.5" [extras] From 75ab7c5c2d2035f4995beda93ffd487cf5cf9058 Mon Sep 17 00:00:00 2001 From: lucaferranti Date: Mon, 31 May 2021 16:41:32 +0300 Subject: [PATCH 05/10] fixed bugs towards ITF1788 compliance * fixed typo in po_rev2 * fixed power_rev for exponent zero integer * added support for decorated intervals * added methods with one less parameter with x=R * fixed cosh_rev * added mul_rev_to_pair * added tests from ITF1788 test suite --- src/IntervalContractors.jl | 4 +- src/arithmetic.jl | 24 +- src/decorated.jl | 35 + src/hyperbolic.jl | 2 +- test/Non1788tests/hyperbolic.jl | 11 - test/libieeep1788_mul_rev.jl | 702 ++++++++++++ test/libieeep1788_rev.jl | 1798 ++++++++++++++++++++++++++++--- test/pow_rev.jl | 1616 +++++++++++++++++++++++++++ test/runtests.jl | 1 + 9 files changed, 4005 insertions(+), 188 deletions(-) create mode 100644 src/decorated.jl create mode 100644 test/libieeep1788_mul_rev.jl create mode 100644 test/pow_rev.jl diff --git a/src/IntervalContractors.jl b/src/IntervalContractors.jl index 5ed9dc2..aa0286d 100644 --- a/src/IntervalContractors.jl +++ b/src/IntervalContractors.jl @@ -12,7 +12,8 @@ export plus_rev, minus_rev, inv_rev, asin_rev, acos_rev, atan_rev, sinh_rev, cosh_rev, tanh_rev, asinh_rev, acosh_rev, atanh_rev, - mul_rev_IEEE1788 + mul_rev_IEEE1788, mul_rev_to_pair, + pow_rev1, pow_rev2 using IntervalArithmetic @@ -32,6 +33,7 @@ include("inverse_trig.jl") include("hyperbolic.jl") include("inverse_hyperbolic.jl") include("extrema.jl") +include("decorated.jl") """ Dictionary mapping functions to their reverse functions. diff --git a/src/arithmetic.jl b/src/arithmetic.jl index ee645a6..e973b28 100644 --- a/src/arithmetic.jl +++ b/src/arithmetic.jl @@ -90,7 +90,12 @@ inv_rev(a,b) = inv_rev(promote(a,b)...) """ Reverse power """ -function power_rev(a::Interval, b::Interval, n::Integer) # a = b^n, log(a) = n.log(b), b = a^(1/n) +function power_rev(a::Interval{T}, b::Interval{T}, n::Integer) where T # a = b^n, log(a) = n.log(b), b = a^(1/n) + + if iszero(n) + 1 ∈ a && return (a, entireinterval(T) ∩ b, n) + return (a, emptyinterval(T), n) + end if n == 2 # a = b^2 root = √a @@ -117,6 +122,7 @@ function power_rev(a::Interval, b::Interval, n::Integer) # a = b^n, log(a) = n return (a, b, n) end +power_rev(a::Interval{T}, n::Integer) where T = power_rev(a, entireinterval(T), n) function power_rev(a::Interval, b::Interval, c::Interval) # a = b^c @@ -162,8 +168,6 @@ function sqr_rev(c, x) # c = x^2; refine x return (c, hull(x1, x2)) end -sqr_rev(c) = sqr_rev(c, -∞..∞) - """ Reverse abs """ @@ -210,5 +214,17 @@ function pow_rev1(b, c, x) # c = x^b end function pow_rev2(a, c, x) # c = a^x - return x ∩ (log(c) / lob(a)) + return x ∩ (log(c) / log(a)) +end + +mul_rev_to_pair(b::Interval, c::Interval) = extended_div(c, b) + +function mul_rev_to_pair(b::DecoratedInterval{T}, c::DecoratedInterval{T}) where T + (isnai(b) || isnai(c)) && return (nai(T), nai(T)) + + 0 ∉ b && return (c/b, DecoratedInterval(emptyinterval(T), trv)) + + x1, x2 = extended_div(interval(c), interval(b)) + return (DecoratedInterval(x1, trv), DecoratedInterval(x2, trv)) end + diff --git a/src/decorated.jl b/src/decorated.jl new file mode 100644 index 0000000..8970cf2 --- /dev/null +++ b/src/decorated.jl @@ -0,0 +1,35 @@ +entiredecorated(T) = DecoratedInterval(entireinterval(T)) + +for op in (:sqr_rev, :abs_rev, :sin_rev, :cos_rev, :tan_rev, :cosh_rev, :sinh_rev, :tanh_rev) + @eval begin + function $op(a::DecoratedInterval{T}, x::DecoratedInterval{T}) where T + ( isnai(a) || isnai(x) ) && return nai(T) + bare = $op(interval(a), interval(x)) + return (DecoratedInterval(bare[1], trv), DecoratedInterval(bare[2], trv)) + end + end + @eval $op(a::Interval{T}) where T = $op(a, entireinterval(T)) + @eval $op(a::DecoratedInterval{T}) where T = $op(a, entiredecorated(T)) +end + +function power_rev(a::DecoratedInterval{T}, x::DecoratedInterval{T}, n::Integer) where T + ( isnai(a) || isnai(x) ) && return nai(T) + bare = power_rev(interval(a), interval(x), n) + return (DecoratedInterval(bare[1], trv), DecoratedInterval(bare[2], trv), n) +end + +power_rev(a::DecoratedInterval{T}, n::Integer) where T = power_rev(a, entiredecorated(T), n) + +for op in (:mul_rev_IEEE1788, :pow_rev1, :pow_rev2) + @eval begin + function $op(b::DecoratedInterval{T}, c::DecoratedInterval{T}, x::DecoratedInterval{T}) where T + (isnai(b) || isnai(c) || isnai(x) ) && return nai(T) + bare = $op(interval(b), interval(c), interval(x)) + return DecoratedInterval(bare, trv) + end + end + + @eval $op(a::Interval{T}, b::Interval{T}) where T = $op(a, b, entireinterval(T)) + @eval $op(a::DecoratedInterval{T}, b::DecoratedInterval{T}) where T = $op(a, b, entiredecorated(T)) + +end \ No newline at end of file diff --git a/src/hyperbolic.jl b/src/hyperbolic.jl index 2f97755..1c09fbe 100644 --- a/src/hyperbolic.jl +++ b/src/hyperbolic.jl @@ -12,7 +12,7 @@ Reverse function for `cosh`. """ function cosh_rev(y::Interval,x::Interval) y_new = y ∩ Interval(1.,∞) - x = x ∩ acosh(y) + x = (x ∩ acosh(y)) ∪ (x ∩ -acosh(y)) return y_new, x end diff --git a/test/Non1788tests/hyperbolic.jl b/test/Non1788tests/hyperbolic.jl index 96dbab6..d098581 100644 --- a/test/Non1788tests/hyperbolic.jl +++ b/test/Non1788tests/hyperbolic.jl @@ -24,17 +24,6 @@ isapprox(x::Interval,y::Interval) = isapprox(x.lo,y.lo,atol=1E-4) && isapprox(x. @test isapprox(sinh_rev(Interval(-1.0, 25.0), -∞..∞)[2], Interval(-0.881374, 3.91243)) end -@testset "cosh_rev_test" begin - @test isapprox(cosh_rev(∅, -∞..∞)[2], ∅) - @test isapprox(cosh_rev(Interval(-10.0, -1.0), -∞..∞)[2], ∅) - @test isapprox(cosh_rev(Interval(0.0, Inf), -∞..∞)[2], Interval(0.0, ∞)) - @test isapprox(cosh_rev(Interval(0.0, 1.0), -∞..∞)[2], Interval(0, 0)) - @test isapprox(cosh_rev(Interval(-0.5, 1.0), -∞..∞)[2], Interval(0, 0)) - @test isapprox(cosh_rev(Interval(-1000.0, 1.0), -∞..∞)[2], Interval(0, 0)) - @test isapprox(cosh_rev(Interval(0.0, 25.0), -∞..∞)[2], Interval(0, 3.91163)) - @test isapprox(cosh_rev(Interval(-1.0, 25.0), -∞..∞)[2], Interval(0, 3.91163)) -end - @testset "tanh_rev_test" begin @test tanh_rev(∅, -∞..∞)[2] == ∅ @test tanh_rev(Interval(-10.0, -1.0), -∞..∞)[2] == ∅ diff --git a/test/libieeep1788_mul_rev.jl b/test/libieeep1788_mul_rev.jl new file mode 100644 index 0000000..8944dac --- /dev/null +++ b/test/libieeep1788_mul_rev.jl @@ -0,0 +1,702 @@ +@testset "minimal_mulRevToPair_test" begin + + @test mul_rev_to_pair(emptyinterval(), interval(1.0, 2.0))[1] == emptyinterval() && mul_rev_to_pair(emptyinterval(), interval(1.0, 2.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(1.0, 2.0), emptyinterval())[1] == emptyinterval() && mul_rev_to_pair(interval(1.0, 2.0), emptyinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(emptyinterval(), emptyinterval())[1] == emptyinterval() && mul_rev_to_pair(emptyinterval(), emptyinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, -0.4))[1] == Interval(0x1.999999999999AP-3, 0x1.5P+4) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, -0.4))[1] == Interval(0x1.999999999999AP-3, Inf) && mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, -0.4))[1] == Interval(-Inf, -0x1.745D1745D1745P-2) && mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, -0.4))[2] == Interval(0x1.999999999999AP-3, Inf) + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, -0.4))[1] == Interval(-Inf, -0x1.745D1745D1745P-2) && mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, -0.4))[1] == Interval(-0x1.A400000000001P+7, -0x1.745D1745D1745P-2) && mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, -0.4))[1] == emptyinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, -0.4))[1] == Interval(0.0, 0x1.5P+4) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, -0.4))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, -0.4))[1] == Interval(-Inf, -0x1.745D1745D1745P-2) && mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, -0.4))[2] == Interval(0.0, Inf) + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, -0.4))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, -0.4))[2] == Interval(0x1.999999999999AP-3, Inf) + + @test mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, -0.4))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, -0.4))[1] == Interval(-0x1.A400000000001P+7, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, -0.4))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(-2.1, -0.4))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(entireinterval(), interval(-2.1, -0.4))[2] == Interval(0.0, Inf) + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, 0.0))[1] == Interval(0.0, 0x1.5P+4) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, 0.0))[1] == Interval(-0x1.A400000000001P+7, 0.0) && mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, 0.0))[1] == Interval(0.0, 0x1.5P+4) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, 0.0))[1] == Interval(-0x1.A400000000001P+7, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(-2.1, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, 0.12))[1] == Interval(-0x1.3333333333333P+0, 0x1.5P+4) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, 0.12))[1] == Interval(-0x1.A400000000001P+7 , 0x1.8P+3) && mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, 0.12))[1] == Interval(-0x1.3333333333333P+0, 0x1.5P+4) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, 0.12))[1] == Interval(-0x1.A400000000001P+7 , 0x1.8P+3) && mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(-2.1, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, 0.12))[1] == Interval(-0x1.3333333333333P+0, 0.0) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, 0.12))[1] == Interval(0.0, 0x1.8P+3) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, 0.12))[1] == Interval(-0x1.3333333333333P+0, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(0.0, 0.12))[1] == Interval(0.0, 0x1.8P+3) && mul_rev_to_pair(interval(0.01, Inf), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(0.0, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.01, 0.12))[1] == Interval(-0x1.3333333333333P+0, -0x1.47AE147AE147BP-8) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.01, 0.12))[1] == Interval(-Inf, -0x1.47AE147AE147BP-8) && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.01, 0.12))[1] == Interval(-Inf, -0x1.47AE147AE147BP-8) && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.01, 0.12))[2] == Interval(0x1.29E4129E4129DP-7, Inf) + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.01, 0.12))[1] == Interval(0x1.29E4129E4129DP-7, Inf) && mul_rev_to_pair(interval(0.0, 1.1), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.01, 0.12))[1] == Interval(0x1.29E4129E4129DP-7, 0x1.8P+3) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.01, 0.12))[1] == emptyinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.01, 0.12))[1] == Interval(-0x1.3333333333333P+0, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.01, 0.12))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.01, 0.12))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.01, 0.12))[2] == Interval(0x1.29E4129E4129DP-7, Inf) + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.01, 0.12))[1] == Interval(-Inf, -0x1.47AE147AE147BP-8) && mul_rev_to_pair(interval(-2.0, Inf), interval(0.01, 0.12))[2] == Interval(0.0, Inf) + + @test mul_rev_to_pair(interval(0.0, Inf), interval(0.01, 0.12))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(0.0, Inf), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(0.01, 0.12))[1] == Interval(0.0, 0x1.8P+3) && mul_rev_to_pair(interval(0.01, Inf), interval(0.01, 0.12))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(0.01, 0.12))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(entireinterval(), interval(0.01, 0.12))[2] == Interval(0.0, Inf) + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, 0.0))[1] == Interval(0.0, 0.0) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, 0.0))[1] == Interval(0.0, 0.0) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, 0.0))[1] == Interval(0.0, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(0.0, 0.0))[1] == Interval(0.0, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(0.0, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, -0.1))[1] == Interval(0x1.999999999999AP-5, Inf) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, -0.1))[1] == Interval(0x1.999999999999AP-5 , Inf) && mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, -0.1))[1] == Interval(-Inf , -0x1.745D1745D1745P-4) && mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, -0.1))[2] == Interval(0x1.999999999999AP-5 , Inf) + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, -0.1))[1] == Interval(-Inf, -0x1.745D1745D1745P-4) && mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, -0.1))[1] == Interval(-Inf, -0x1.745D1745D1745P-4) && mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, -0.1))[1] == emptyinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, -0.1))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, -0.1))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, -0.1))[1] == Interval(-Inf, -0x1.745D1745D1745P-4) && mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, -0.1))[2] == Interval(0.0, Inf) + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, -0.1))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, -0.1))[2] == Interval(0x1.999999999999AP-5 , Inf) + + @test mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, -0.1))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, -0.1))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, -0.1))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(-Inf, -0.1))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(entireinterval(), interval(-Inf, -0.1))[2] == Interval(0.0, Inf) + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, 0.0))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, 0.0))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, 0.0))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, 0.0))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(-Inf, 0.0))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, 0.3))[1] == Interval(-0x1.8P+1, Inf) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, 0.3))[1] == Interval(-Inf, 0x1.EP+4) && mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, 0.3))[1] == Interval(-0x1.8P+1, Inf) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, 0.3))[1] == Interval(-Inf, 0x1.EP+4) && mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(-Inf, 0.3))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-0.21, Inf))[1] == Interval(-Inf , 0x1.0CCCCCCCCCCCDP+1) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-0.21, Inf))[1] == Interval(-0x1.5P+4, Inf) && mul_rev_to_pair(interval(0.01, 1.1), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-0.21, Inf))[1] == Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(-0.21, Inf))[1] == Interval(-0x1.5P+4, Inf) && mul_rev_to_pair(interval(0.01, Inf), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(-0.21, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, Inf))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(0.0, Inf))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(0.01, Inf), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(0.0, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.04, Inf))[1] == Interval(-Inf, -0x1.47AE147AE147BP-6) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.04, Inf))[1] == Interval(-Inf, -0x1.47AE147AE147BP-6) && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.04, Inf))[1] == Interval(-Inf, -0x1.47AE147AE147BP-6) && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.04, Inf))[2] == Interval(0x1.29E4129E4129DP-5, Inf) + + @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.04, Inf))[1] == Interval(0x1.29E4129E4129DP-5, Inf) && mul_rev_to_pair(interval(0.0, 1.1), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.04, Inf))[1] == Interval(0x1.29E4129E4129DP-5, Inf) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.04, Inf))[1] == emptyinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.04, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.04, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.04, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.04, Inf))[2] == Interval(0x1.29E4129E4129DP-5, Inf) + + @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.04, Inf))[1] == Interval(-Inf, -0x1.47AE147AE147BP-6) && mul_rev_to_pair(interval(-2.0, Inf), interval(0.04, Inf))[2] == Interval(0.0, Inf) + + @test mul_rev_to_pair(interval(0.0, Inf), interval(0.04, Inf))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(0.0, Inf), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), interval(0.04, Inf))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(0.01, Inf), interval(0.04, Inf))[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), interval(0.04, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(entireinterval(), interval(0.04, Inf))[2] == Interval(0.0, Inf) + + @test mul_rev_to_pair(interval(-2.0, -0.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, -0.1), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 0.0), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, 1.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 1.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, 1.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(0.01, 1.1), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, 0.0), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, -0.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, -0.1), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 0.0), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-Inf, 1.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(-2.0, Inf), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.0, Inf), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(interval(0.01, Inf), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(0.01, Inf), entireinterval())[2] == emptyinterval() + + @test mul_rev_to_pair(entireinterval(), entireinterval())[1] == entireinterval() && mul_rev_to_pair(entireinterval(), entireinterval())[2] == emptyinterval() + +end + +@testset "minimal_mulRevToPair_dec_test" begin + + @test isnai(mul_rev_to_pair(nai(), DecoratedInterval(interval(1.0,2.0), def))[1]) && isnai(mul_rev_to_pair(nai(), DecoratedInterval(interval(1.0,2.0), def))[2]) + + @test isnai(mul_rev_to_pair(DecoratedInterval(interval(1.0,2.0), com), nai())[1]) && isnai(mul_rev_to_pair(DecoratedInterval(interval(1.0,2.0), com), nai())[2]) + + @test isnai(mul_rev_to_pair(nai(), nai())[1]) && isnai(mul_rev_to_pair(nai(), nai())[2]) + + @test mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0, 2.0), def))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0, 2.0), def))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0, 2.0), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0, 2.0), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(1.0, 2.0), com), DecoratedInterval(emptyinterval(), trv))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(1.0, 2.0), com), DecoratedInterval(emptyinterval(), trv))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(1.0, 2.0), com), DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(1.0, 2.0), com), DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(emptyinterval(), trv))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(emptyinterval(), trv))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[1] == DecoratedInterval(Interval(0x1.999999999999AP-3, 0x1.5P+4), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[1]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-3, 0x1.5P+4), com)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), com))[1] == DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), com))[1]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), dac))[2] == DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7, -0x1.745D1745D1745P-2), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7, -0x1.745D1745D1745P-2), com)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), def))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), def))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1] == DecoratedInterval(Interval(0.0, 0x1.5P+4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.5P+4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, -0.4), com))[1] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, -0.4), com))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, -0.4), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, -0.4), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2] == DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, -0.4), com))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, -0.4), com))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, -0.4), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, -0.4), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, -0.4), def))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), def) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, -0.4), def))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), def)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, -0.4), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, -0.4), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0x1.5P+4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.5P+4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0x1.5P+4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.5P+4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), def) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), def)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7 , 0x1.8P+3), def) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7 , 0x1.8P+3), def)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), def) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), def)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7 , 0x1.8P+3), def) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7 , 0x1.8P+3), def)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), com)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(Interval(0.0, 0x1.8P+3), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.8P+3), com)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(Interval(0.0, 0x1.8P+3), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.8P+3), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, -0x1.47AE147AE147BP-8), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, -0x1.47AE147AE147BP-8), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(0x1.29E4129E4129DP-7, 0x1.8P+3), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-7, 0x1.8P+3), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(0.0, 0x1.8P+3), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.8P+3), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0.0), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0.0), com)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0.0), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0.0), com)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(0x1.999999999999AP-5, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-5, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf , -0x1.745D1745D1745P-4), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf , -0x1.745D1745D1745P-4), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(Interval(-0x1.8P+1, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.8P+1, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(Interval(-Inf, 0x1.EP+4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0x1.EP+4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(Interval(-0x1.8P+1, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.8P+1, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(Interval(-Inf, 0x1.EP+4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0x1.EP+4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(Interval(-Inf , 0x1.0CCCCCCCCCCCDP+1), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf , 0x1.0CCCCCCCCCCCDP+1), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(Interval(-0x1.5P+4, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.5P+4, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(Interval(-0x1.5P+4, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.5P+4, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + +end + diff --git a/test/libieeep1788_rev.jl b/test/libieeep1788_rev.jl index c557422..a2225db 100644 --- a/test/libieeep1788_rev.jl +++ b/test/libieeep1788_rev.jl @@ -1,232 +1,1688 @@ -#= - Copyright 2013-2015 Marco Nehmeier (nehmeier@informatik.uni-wuerzburg.de) - Copyright 2015-2016 Oliver Heimlich +@testset "minimal_sqr_rev_test" begin - Original author: Marco Nehmeier (unit tests in libieeep1788, - original license: Apache License 2.0) - Converted into portable ITL format by Oliver Heimlich with minor corrections. + @test sqr_rev(emptyinterval())[2] == emptyinterval() - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + @test sqr_rev(interval(-10.0,-1.0))[2] == emptyinterval() - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + @test sqr_rev(interval(0.0,Inf))[2] == entireinterval() - You should have received a copy of the GNU General Public License - along with this program; if not, see . -=# -#Language imports + @test sqr_rev(interval(0.0,1.0))[2] == Interval(-1.0,1.0) -#Test library imports -using Test + @test sqr_rev(interval(-0.5,1.0))[2] == Interval(-1.0,1.0) -#Arithmetic library imports -using IntervalArithmetic + @test sqr_rev(interval(-1000.0,1.0))[2] == Interval(-1.0,1.0) -#Preamble -setprecision(53) -setprecision(Interval, Float64) -# setrounding(Interval, :correct) -@format full + @test sqr_rev(interval(0.0,25.0))[2] == Interval(-5.0,5.0) + + @test sqr_rev(interval(-1.0,25.0))[2] == Interval(-5.0,5.0) + + @test sqr_rev(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7))[2] == Interval(-0x1.999999999999BP-4,0x1.999999999999BP-4) + + @test sqr_rev(interval(0.0,0x1.FFFFFFFFFFFE1P+1))[2] == Interval(-0x1.ffffffffffff1p+0,0x1.ffffffffffff1p+0) -@testset "minimal_sqr_rev_test" begin - @test sqr_rev(∅, -∞..∞)[2] == ∅ - @test sqr_rev(Interval(-10.0, -1.0), -∞..∞)[2] == ∅ - @test sqr_rev(Interval(0.0, Inf), -∞..∞)[2] == entireinterval(Float64) - @test sqr_rev(Interval(0.0, 1.0), -∞..∞)[2] == Interval(-1.0, 1.0) - @test sqr_rev(Interval(-0.5, 1.0), -∞..∞)[2] == Interval(-1.0, 1.0) - @test sqr_rev(Interval(-1000.0, 1.0), -∞..∞)[2] == Interval(-1.0, 1.0) - @test sqr_rev(Interval(0.0, 25.0), -∞..∞)[2] == Interval(-5.0, 5.0) - @test sqr_rev(Interval(-1.0, 25.0), -∞..∞)[2] == Interval(-5.0, 5.0) - @test sqr_rev(Interval(0x1.47ae147ae147bp-7, 0x1.47ae147ae147cp-7), -∞..∞)[2] == Interval(-0x1.999999999999bp-4, 0x1.999999999999bp-4) - @test sqr_rev(Interval(0.0, 0x1.fffffffffffe1p+1), -∞..∞)[2] == Interval(-0x1.ffffffffffff1p+0, 0x1.ffffffffffff1p+0) end @testset "minimal_sqr_rev_bin_test" begin - @test sqr_rev(∅, Interval(-5.0, 1.0))[2] == ∅ - @test sqr_rev(Interval(-10.0, -1.0), Interval(-5.0, 1.0))[2] == ∅ - @test sqr_rev(Interval(0.0, Inf), Interval(-5.0, 1.0))[2] == Interval(-5.0, 1.0) - @test sqr_rev(Interval(0.0, 1.0), Interval(-0.1, 1.0))[2] == Interval(-0.1, 1.0) - @test sqr_rev(Interval(-0.5, 1.0), Interval(-0.1, 1.0))[2] == Interval(-0.1, 1.0) - @test sqr_rev(Interval(-1000.0, 1.0), Interval(-0.1, 1.0))[2] == Interval(-0.1, 1.0) - @test sqr_rev(Interval(0.0, 25.0), Interval(-4.1, 6.0))[2] == Interval(-4.1, 5.0) - @test sqr_rev(Interval(-1.0, 25.0), Interval(-4.1, 7.0))[2] == Interval(-4.1, 5.0) - @test sqr_rev(Interval(1.0, 25.0), Interval(0.0, 7.0))[2] == Interval(1.0, 5.0) - @test sqr_rev(Interval(0x1.47ae147ae147bp-7, 0x1.47ae147ae147cp-7), Interval(-0.1, Inf))[2] == Interval(-0.1, 0x1.999999999999bp-4) - @test sqr_rev(Interval(0.0, 0x1.fffffffffffe1p+1), Interval(-0.1, Inf))[2] == Interval(-0.1, 0x1.ffffffffffff1p+0) + + @test sqr_rev(emptyinterval(), interval(-5.0,1.0))[2] == emptyinterval() + + @test sqr_rev(interval(-10.0,-1.0), interval(-5.0,1.0))[2] == emptyinterval() + + @test sqr_rev(interval(0.0,Inf), interval(-5.0,1.0))[2] == Interval(-5.0,1.0) + + @test sqr_rev(interval(0.0,1.0), interval(-0.1,1.0))[2] == Interval(-0.1,1.0) + + @test sqr_rev(interval(-0.5,1.0), interval(-0.1,1.0))[2] == Interval(-0.1,1.0) + + @test sqr_rev(interval(-1000.0,1.0), interval(-0.1,1.0))[2] == Interval(-0.1,1.0) + + @test sqr_rev(interval(0.0,25.0), interval(-4.1,6.0))[2] == Interval(-4.1,5.0) + + @test sqr_rev(interval(-1.0,25.0), interval(-4.1,7.0))[2] == Interval(-4.1,5.0) + + @test sqr_rev(interval(1.0,25.0), interval(0.0,7.0))[2] == Interval(1.0,5.0) + + @test sqr_rev(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), interval(-0.1,Inf))[2] == Interval(-0.1,0x1.999999999999BP-4) + + @test sqr_rev(interval(0.0,0x1.FFFFFFFFFFFE1P+1), interval(-0.1,Inf))[2] == Interval(-0.1,0x1.ffffffffffff1p+0) + end @testset "minimal_sqr_rev_dec_test" begin + + @test sqr_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sqr_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sqr_rev(DecoratedInterval(interval(-10.0,-1.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sqr_rev(DecoratedInterval(interval(-10.0,-1.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sqr_rev(DecoratedInterval(interval(0.0,Inf), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,Inf), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test sqr_rev(DecoratedInterval(interval(0.0,1.0), def))[2] == DecoratedInterval(Interval(-1.0,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,1.0), def))[2]) == decoration(DecoratedInterval(Interval(-1.0,1.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(-0.5,1.0), dac))[2] == DecoratedInterval(Interval(-1.0,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-0.5,1.0), dac))[2]) == decoration(DecoratedInterval(Interval(-1.0,1.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(-1000.0,1.0), com))[2] == DecoratedInterval(Interval(-1.0,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-1000.0,1.0), com))[2]) == decoration(DecoratedInterval(Interval(-1.0,1.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(0.0,25.0), def))[2] == DecoratedInterval(Interval(-5.0,5.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,25.0), def))[2]) == decoration(DecoratedInterval(Interval(-5.0,5.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(-1.0,25.0), dac))[2] == DecoratedInterval(Interval(-5.0,5.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-1.0,25.0), dac))[2]) == decoration(DecoratedInterval(Interval(-5.0,5.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), com))[2] == DecoratedInterval(Interval(-0x1.999999999999BP-4,0x1.999999999999BP-4), trv) && decoration(sqr_rev(DecoratedInterval(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.999999999999BP-4,0x1.999999999999BP-4), trv)) + + @test sqr_rev(DecoratedInterval(interval(0.0,0x1.FFFFFFFFFFFE1P+1), def))[2] == DecoratedInterval(Interval(-0x1.ffffffffffff1p+0,0x1.ffffffffffff1p+0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,0x1.FFFFFFFFFFFE1P+1), def))[2]) == decoration(DecoratedInterval(Interval(-0x1.ffffffffffff1p+0,0x1.ffffffffffff1p+0), trv)) + end @testset "minimal_sqr_rev_dec_bin_test" begin + + @test sqr_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.0,1.0), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sqr_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.0,1.0), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sqr_rev(DecoratedInterval(interval(-10.0,-1.0), com), DecoratedInterval(interval(-5.0,1.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sqr_rev(DecoratedInterval(interval(-10.0,-1.0), com), DecoratedInterval(interval(-5.0,1.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sqr_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(-5.0,1.0), dac))[2] == DecoratedInterval(Interval(-5.0,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(-5.0,1.0), dac))[2]) == decoration(DecoratedInterval(Interval(-5.0,1.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(0.0,1.0), dac), DecoratedInterval(interval(-0.1,1.0), def))[2] == DecoratedInterval(Interval(-0.1,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,1.0), dac), DecoratedInterval(interval(-0.1,1.0), def))[2]) == decoration(DecoratedInterval(Interval(-0.1,1.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(-0.5,1.0), def), DecoratedInterval(interval(-0.1,1.0), dac))[2] == DecoratedInterval(Interval(-0.1,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-0.5,1.0), def), DecoratedInterval(interval(-0.1,1.0), dac))[2]) == decoration(DecoratedInterval(Interval(-0.1,1.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(-1000.0,1.0), com), DecoratedInterval(interval(-0.1,1.0), def))[2] == DecoratedInterval(Interval(-0.1,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-1000.0,1.0), com), DecoratedInterval(interval(-0.1,1.0), def))[2]) == decoration(DecoratedInterval(Interval(-0.1,1.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(0.0,25.0), def), DecoratedInterval(interval(-4.1,6.0), com))[2] == DecoratedInterval(Interval(-4.1,5.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,25.0), def), DecoratedInterval(interval(-4.1,6.0), com))[2]) == decoration(DecoratedInterval(Interval(-4.1,5.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(-1.0,25.0), dac), DecoratedInterval(interval(-4.1,7.0), def))[2] == DecoratedInterval(Interval(-4.1,5.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-1.0,25.0), dac), DecoratedInterval(interval(-4.1,7.0), def))[2]) == decoration(DecoratedInterval(Interval(-4.1,5.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(1.0,25.0), dac), DecoratedInterval(interval(0.0,7.0), def))[2] == DecoratedInterval(Interval(1.0,5.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(1.0,25.0), dac), DecoratedInterval(interval(0.0,7.0), def))[2]) == decoration(DecoratedInterval(Interval(1.0,5.0), trv)) + + @test sqr_rev(DecoratedInterval(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), def), DecoratedInterval(interval(-0.1,Inf), dac))[2] == DecoratedInterval(Interval(-0.1,0x1.999999999999BP-4), trv) && decoration(sqr_rev(DecoratedInterval(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), def), DecoratedInterval(interval(-0.1,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(-0.1,0x1.999999999999BP-4), trv)) + + @test sqr_rev(DecoratedInterval(interval(0.0,0x1.FFFFFFFFFFFE1P+1), dac), DecoratedInterval(interval(-0.1,Inf), dac))[2] == DecoratedInterval(Interval(-0.1,0x1.ffffffffffff1p+0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,0x1.FFFFFFFFFFFE1P+1), dac), DecoratedInterval(interval(-0.1,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(-0.1,0x1.ffffffffffff1p+0), trv)) + end @testset "minimal_abs_rev_test" begin - @test abs_rev(∅, -∞..∞)[2] == ∅ - @test abs_rev(Interval(-1.1, -0.4), -∞..∞)[2] == ∅ - @test abs_rev(Interval(0.0, Inf), -∞..∞)[2] == entireinterval(Float64) - @test abs_rev(Interval(1.1, 2.1), -∞..∞)[2] == Interval(-2.1, 2.1) - @test abs_rev(Interval(-1.1, 2.0), -∞..∞)[2] == Interval(-2.0, 2.0) - @test abs_rev(Interval(-1.1, 0.0), -∞..∞)[2] == Interval(0.0, 0.0) - @test abs_rev(Interval(-1.9, 0.2), -∞..∞)[2] == Interval(-0.2, 0.2) - @test abs_rev(Interval(0.0, 0.2), -∞..∞)[2] == Interval(-0.2, 0.2) - @test abs_rev(Interval(-1.5, Inf), -∞..∞)[2] == entireinterval(Float64) + + @test abs_rev(emptyinterval())[2] == emptyinterval() + + @test abs_rev(interval(-1.1,-0.4))[2] == emptyinterval() + + @test abs_rev(interval(0.0,Inf))[2] == entireinterval() + + @test abs_rev(interval(1.1,2.1))[2] == Interval(-2.1,2.1) + + @test abs_rev(interval(-1.1,2.0))[2] == Interval(-2.0,2.0) + + @test abs_rev(interval(-1.1,0.0))[2] == Interval(0.0,0.0) + + @test abs_rev(interval(-1.9,0.2))[2] == Interval(-0.2,0.2) + + @test abs_rev(interval(0.0,0.2))[2] == Interval(-0.2,0.2) + + @test abs_rev(interval(-1.5,Inf))[2] == entireinterval() + end @testset "minimal_abs_rev_bin_test" begin - @test abs_rev(∅, Interval(-1.1, 5.0))[2] == ∅ - @test abs_rev(Interval(-1.1, -0.4), Interval(-1.1, 5.0))[2] == ∅ - @test abs_rev(Interval(0.0, Inf), Interval(-1.1, 5.0))[2] == Interval(-1.1, 5.0) - @test abs_rev(Interval(1.1, 2.1), Interval(-1.0, 5.0))[2] == Interval(1.1, 2.1) - @test abs_rev(Interval(-1.1, 2.0), Interval(-1.1, 5.0))[2] == Interval(-1.1, 2.0) - @test abs_rev(Interval(-1.1, 0.0), Interval(-1.1, 5.0))[2] == Interval(0.0, 0.0) - @test abs_rev(Interval(-1.9, 0.2), Interval(-1.1, 5.0))[2] == Interval(-0.2, 0.2) + + @test abs_rev(emptyinterval(), interval(-1.1,5.0))[2] == emptyinterval() + + @test abs_rev(interval(-1.1,-0.4), interval(-1.1,5.0))[2] == emptyinterval() + + @test abs_rev(interval(0.0,Inf), interval(-1.1,5.0))[2] == Interval(-1.1,5.0) + + @test abs_rev(interval(1.1,2.1), interval(-1.0,5.0))[2] == Interval(1.1,2.1) + + @test abs_rev(interval(-1.1,2.0), interval(-1.1,5.0))[2] == Interval(-1.1,2.0) + + @test abs_rev(interval(-1.1,0.0), interval(-1.1,5.0))[2] == Interval(0.0,0.0) + + @test abs_rev(interval(-1.9,0.2), interval(-1.1,5.0))[2] == Interval(-0.2,0.2) + end @testset "minimal_abs_rev_dec_test" begin + + @test abs_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(abs_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.1,-0.4), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,-0.4), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test abs_rev(DecoratedInterval(interval(0.0,Inf), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(abs_rev(DecoratedInterval(interval(0.0,Inf), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test abs_rev(DecoratedInterval(interval(1.1,2.1), com))[2] == DecoratedInterval(Interval(-2.1,2.1), trv) && decoration(abs_rev(DecoratedInterval(interval(1.1,2.1), com))[2]) == decoration(DecoratedInterval(Interval(-2.1,2.1), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.1,2.0), def))[2] == DecoratedInterval(Interval(-2.0,2.0), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,2.0), def))[2]) == decoration(DecoratedInterval(Interval(-2.0,2.0), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.1,0.0), dac))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,0.0), dac))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.9,0.2), com))[2] == DecoratedInterval(Interval(-0.2,0.2), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.9,0.2), com))[2]) == decoration(DecoratedInterval(Interval(-0.2,0.2), trv)) + + @test abs_rev(DecoratedInterval(interval(0.0,0.2), def))[2] == DecoratedInterval(Interval(-0.2,0.2), trv) && decoration(abs_rev(DecoratedInterval(interval(0.0,0.2), def))[2]) == decoration(DecoratedInterval(Interval(-0.2,0.2), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.5,Inf), def))[2] == DecoratedInterval(entireinterval(), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.5,Inf), def))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + end @testset "minimal_abs_rev_dec_bin_test" begin + + @test abs_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.1,5.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(abs_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.1,5.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.1,-0.4), dac), DecoratedInterval(interval(-1.1,5.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,-0.4), dac), DecoratedInterval(interval(-1.1,5.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test abs_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(-1.1,5.0), def))[2] == DecoratedInterval(Interval(-1.1,5.0), trv) && decoration(abs_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(-1.1,5.0), def))[2]) == decoration(DecoratedInterval(Interval(-1.1,5.0), trv)) + + @test abs_rev(DecoratedInterval(interval(1.1,2.1), dac), DecoratedInterval(interval(-1.0,5.0), def))[2] == DecoratedInterval(Interval(1.1,2.1), trv) && decoration(abs_rev(DecoratedInterval(interval(1.1,2.1), dac), DecoratedInterval(interval(-1.0,5.0), def))[2]) == decoration(DecoratedInterval(Interval(1.1,2.1), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.1,2.0), com), DecoratedInterval(interval(-1.1,5.0), def))[2] == DecoratedInterval(Interval(-1.1,2.0), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,2.0), com), DecoratedInterval(interval(-1.1,5.0), def))[2]) == decoration(DecoratedInterval(Interval(-1.1,2.0), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.1,0.0), def), DecoratedInterval(interval(-1.1,5.0), def))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,0.0), def), DecoratedInterval(interval(-1.1,5.0), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test abs_rev(DecoratedInterval(interval(-1.9,0.2), dac), DecoratedInterval(interval(-1.1,5.0), def))[2] == DecoratedInterval(Interval(-0.2,0.2), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.9,0.2), dac), DecoratedInterval(interval(-1.1,5.0), def))[2]) == decoration(DecoratedInterval(Interval(-0.2,0.2), trv)) + end @testset "minimal_pown_rev_test" begin + @test power_rev(emptyinterval(), 0)[2] == emptyinterval() + + @test power_rev(interval(1.0,1.0), 0)[2] == entireinterval() + + @test power_rev(interval(-1.0,5.0), 0)[2] == entireinterval() + + @test power_rev(interval(-1.0,0.0), 0)[2] == emptyinterval() + + @test power_rev(interval(-1.0,-0.0), 0)[2] == emptyinterval() + + @test power_rev(interval(1.1,10.0), 0)[2] == emptyinterval() + + @test power_rev(emptyinterval(), 1)[2] == emptyinterval() + + @test power_rev(entireinterval(), 1)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), 1)[2] == Interval(0.0,0.0) + + @test power_rev(interval(-0.0,-0.0), 1)[2] == Interval(0.0,0.0) + + @test power_rev(interval(13.1,13.1), 1)[2] == Interval(13.1,13.1) + + @test power_rev(interval(-7451.145,-7451.145), 1)[2] == Interval(-7451.145,-7451.145) + + @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 1)[2] == Interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023) + + @test power_rev(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 1)[2] == Interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023) + + @test power_rev(interval(0.0,Inf), 1)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-0.0,Inf), 1)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-Inf,0.0), 1)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-Inf,-0.0), 1)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-324.3,2.5), 1)[2] == Interval(-324.3,2.5) + + @test power_rev(interval(0.01,2.33), 1)[2] == Interval(0.01,2.33) + + @test power_rev(interval(-1.9,-0.33), 1)[2] == Interval(-1.9,-0.33) + + @test power_rev(emptyinterval(), 2)[2] == emptyinterval() + + @test power_rev(interval(-5.0,-1.0), 2)[2] == emptyinterval() + + @test power_rev(interval(0.0,Inf), 2)[2] == entireinterval() + + @test power_rev(interval(-0.0,Inf), 2)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), 2)[2] == Interval(0.0,0.0) + + @test power_rev(interval(-0.0,-0.0), 2)[2] == Interval(0.0,0.0) + + @test power_rev(interval(0x1.573851EB851EBP+7,0x1.573851EB851ECP+7), 2)[2] == Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3) + + @test power_rev(interval(0x1.A794A4E7CFAADP+25,0x1.A794A4E7CFAAEP+25), 2)[2] == Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12) + + @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 2)[2] == Interval(-0x1p+512,0x1p+512) + + @test power_rev(interval(0.0,0x1.9AD27D70A3D72P+16), 2)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + + @test power_rev(interval(-0.0,0x1.9AD27D70A3D72P+16), 2)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + + @test power_rev(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), 2)[2] == Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), 2)[2] == Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0) + + @test power_rev(emptyinterval(), 8)[2] == emptyinterval() + + @test power_rev(entireinterval(), 8)[2] == entireinterval() + + @test power_rev(interval(0.0,Inf), 8)[2] == entireinterval() + + @test power_rev(interval(-0.0,Inf), 8)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), 8)[2] == Interval(0.0,0.0) + + @test power_rev(interval(-0.0,-0.0), 8)[2] == Interval(0.0,0.0) + + @test power_rev(interval(0x1.9D8FD495853F5P+29,0x1.9D8FD495853F6P+29), 8)[2] == Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3) + + @test power_rev(interval(0x1.DFB1BB622E70DP+102,0x1.DFB1BB622E70EP+102), 8)[2] == Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12) + + @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 8)[2] == Interval(-0x1p+128,0x1p+128) + + @test power_rev(interval(0.0,0x1.A87587109655P+66), 8)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + + @test power_rev(interval(-0.0,0x1.A87587109655P+66), 8)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + + @test power_rev(interval(0x1.CD2B297D889BDP-54,0x1.B253D9F33CE4DP+9), 8)[2] == Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(0x1.26F1FCDD502A3P-13,0x1.53ABD7BFC4FC6P+7), 8)[2] == Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0) + + @test power_rev(emptyinterval(), 3)[2] == emptyinterval() + + @test power_rev(entireinterval(), 3)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), 3)[2] == Interval(0.0,0.0) + + @test power_rev(interval(-0.0,-0.0), 3)[2] == Interval(0.0,0.0) + + @test power_rev(interval(0x1.1902E978D4FDEP+11,0x1.1902E978D4FDFP+11), 3)[2] == Interval(0x1.a333333333332p+3,0x1.a333333333334p+3) + + @test power_rev(interval(-0x1.81460637B9A3DP+38,-0x1.81460637B9A3CP+38), 3)[2] == Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12) + + @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 3)[2] == Interval(0x1.428a2f98d728ap+341,0x1.428a2f98d728bp+341) + + @test power_rev(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 3)[2] == Interval(-0x1.428a2f98d728bp+341, -0x1.428a2f98d728ap+341) + + @test power_rev(interval(0.0,Inf), 3)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-0.0,Inf), 3)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-Inf,0.0), 3)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-Inf,-0.0), 3)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-0x1.0436D2F418938P+25,0x1.F4P+3), 3)[2] == Interval(-0x1.444cccccccccep+8,0x1.4p+1) + + @test power_rev(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), 3)[2] == Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), 3)[2] == Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) + + @test power_rev(emptyinterval(), 7)[2] == emptyinterval() + + @test power_rev(entireinterval(), 7)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), 7)[2] == Interval(0.0,0.0) + + @test power_rev(interval(-0.0,-0.0), 7)[2] == Interval(0.0,0.0) + + @test power_rev(interval(0x1.F91D1B185493BP+25,0x1.F91D1B185493CP+25), 7)[2] == Interval(0x1.a333333333332p+3,0x1.a333333333334p+3) + + @test power_rev(interval(-0x1.07B1DA32F9B59P+90,-0x1.07B1DA32F9B58P+90), 7)[2] == Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12) + + @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 7)[2] == Interval(0x1.381147622f886p+146,0x1.381147622f887p+146) + + @test power_rev(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 7)[2] == Interval(-0x1.381147622f887p+146,-0x1.381147622f886p+146) + + @test power_rev(interval(0.0,Inf), 7)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-0.0,Inf), 7)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-Inf,0.0), 7)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-Inf,-0.0), 7)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-0x1.4F109959E6D7FP+58,0x1.312DP+9), 7)[2] == Interval(-0x1.444cccccccccep+8,0x1.4p+1) + + @test power_rev(interval(0x1.6849B86A12B9BP-47,0x1.74D0373C76313P+8), 7)[2] == Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(-0x1.658C775099757P+6,-0x1.BEE30301BF47AP-12), 7)[2] == Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) + + @test power_rev(emptyinterval(), -2)[2] == emptyinterval() + + @test power_rev(interval(0.0,Inf), -2)[2] == entireinterval() + + @test power_rev(interval(-0.0,Inf), -2)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), -2)[2] == emptyinterval() + + @test power_rev(interval(-0.0,-0.0), -2)[2] == emptyinterval() + + @test power_rev(interval(-10.0,0.0), -2)[2] == emptyinterval() + + @test power_rev(interval(-10.0,-0.0), -2)[2] == emptyinterval() + + @test_skip power_rev(interval(0x1.7DE3A077D1568P-8,0x1.7DE3A077D1569P-8), -2)[2] == Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3) + + @test_skip power_rev(interval(0x1.3570290CD6E14P-26,0x1.3570290CD6E15P-26), -2)[2] == Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12) + + @test power_rev(interval(0x0P+0,0x0.0000000000001P-1022), -2)[2] == entireinterval() + + @test power_rev(interval(0x1.3F0C482C977C9P-17,Inf), -2)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + + @test power_rev(interval(0x1.793D85EF38E47P-3,0x1.388P+13), -2)[2] == Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), -2)[2] == Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0) + + @test power_rev(emptyinterval(), -8)[2] == emptyinterval() + + @test power_rev(interval(0.0,Inf), -8)[2] == entireinterval() + + @test power_rev(interval(-0.0,Inf), -8)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), -8)[2] == emptyinterval() + + @test power_rev(interval(-0.0,-0.0), -8)[2] == emptyinterval() + + @test_skip power_rev(interval(0x1.3CEF39247CA6DP-30,0x1.3CEF39247CA6EP-30), -8)[2] == Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3) + + @test_skip power_rev(interval(0x1.113D9EF0A99ACP-103,0x1.113D9EF0A99ADP-103), -8)[2] == Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12) + + @test power_rev(interval(0x0P+0,0x0.0000000000001P-1022), -8)[2] == entireinterval() + + @test power_rev(interval(0x1.34CC3764D1E0CP-67,Inf), -8)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + + @test power_rev(interval(0x1.2DC80DB11AB7CP-10,0x1.1C37937E08P+53), -8)[2] == Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(0x1.81E104E61630DP-8,0x1.BC64F21560E34P+12), -8)[2] == Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0) + + @test power_rev(emptyinterval(), -1)[2] == emptyinterval() + + @test power_rev(entireinterval(), -1)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), -1)[2] == emptyinterval() + + @test power_rev(interval(-0.0,-0.0), -1)[2] == emptyinterval() + + @test power_rev(interval(0x1.38ABF82EE6986P-4,0x1.38ABF82EE6987P-4), -1)[2] == Interval(0x1.a333333333332p+3,0x1.a333333333335p+3) + + @test power_rev(interval(-0x1.197422C9048BFP-13,-0x1.197422C9048BEP-13), -1)[2] == Interval(-0x1.d1b251eb851eep+12,-0x1.d1b251eb851ebp+12) + + @test power_rev(interval(0x0.4P-1022,0x0.4000000000001P-1022), -1)[2] == Interval(0x1.ffffffffffff8p+1023,Inf) + + @test power_rev(interval(-0x0.4000000000001P-1022,-0x0.4P-1022), -1)[2] == Interval(-Inf,-0x1.ffffffffffff8p+1023) + + @test power_rev(interval(0.0,Inf), -1)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-0.0,Inf), -1)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-Inf,0.0), -1)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-Inf,-0.0), -1)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), -1)[2] == Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(-0x1.83E0F83E0F83EP+1,-0x1.0D79435E50D79P-1), -1)[2] == Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) + + @test power_rev(emptyinterval(), -3)[2] == emptyinterval() + + @test power_rev(entireinterval(), -3)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), -3)[2] == emptyinterval() + + @test power_rev(interval(-0.0,-0.0), -3)[2] == emptyinterval() + + @test_skip power_rev(interval(0x1.D26DF4D8B1831P-12,0x1.D26DF4D8B1832P-12), -3)[2] == Interval(0x1.a333333333332p+3,0x1.a333333333334p+3) + + @test_skip power_rev(interval(-0x1.54347DED91B19P-39,-0x1.54347DED91B18P-39), -3)[2] == Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12) + + @test power_rev(interval(0x0P+0,0x0.0000000000001P-1022), -3)[2] == Interval(0x1p+358,Inf) + + @test power_rev(interval(-0x0.0000000000001P-1022,-0x0P+0), -3)[2] == Interval(-Inf,-0x1p+358) + + @test power_rev(interval(0.0,Inf), -3)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-0.0,Inf), -3)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-Inf,0.0), -3)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-Inf,-0.0), -3)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(0x1.43CFBA61AACABP-4,0x1.E848P+19), -3)[2] == Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(-0x1.BD393CE9E8E7CP+4,-0x1.2A95F6F7C066CP-3), -3)[2] == Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) + + @test power_rev(emptyinterval(), -7)[2] == emptyinterval() + + @test power_rev(entireinterval(), -7)[2] == entireinterval() + + @test power_rev(interval(0.0,0.0), -7)[2] == emptyinterval() + + @test power_rev(interval(-0.0,-0.0), -7)[2] == emptyinterval() + + @test_skip power_rev(interval(0x1.037D76C912DBCP-26,0x1.037D76C912DBDP-26), -7)[2] == Interval(0x1.a333333333332p+3,0x1.a333333333334p+3) + + @test_skip power_rev(interval(-0x1.F10F41FB8858FP-91,-0x1.F10F41FB8858EP-91), -7)[2] == Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12) + + @test power_rev(interval(0x0P+0,0x0.0000000000001P-1022), -7)[2] == Interval(0x1.588cea3f093bcp+153,Inf) + + @test power_rev(interval(-0x0.0000000000001P-1022,-0x0P+0), -7)[2] == Interval(-Inf,-0x1.588cea3f093bcp+153) + + @test power_rev(interval(0.0,Inf), -7)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-0.0,Inf), -7)[2] == Interval(0.0,Inf) + + @test power_rev(interval(-Inf,0.0), -7)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(-Inf,-0.0), -7)[2] == Interval(-Inf,0.0) + + @test power_rev(interval(0x1.5F934D64162A9P-9,0x1.6BCC41E9P+46), -7)[2] == Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(-0x1.254CDD3711DDBP+11,-0x1.6E95C4A761E19P-7), -7)[2] == Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) + end @testset "minimal_pown_rev_bin_test" begin -end + @test power_rev(emptyinterval(), interval(1.0,1.0), 0)[2] == emptyinterval() -@testset "minimal_pown_rev_dec_test" begin + @test power_rev(interval(1.0,1.0), interval(1.0,1.0), 0)[2] == Interval(1.0,1.0) -end + @test power_rev(interval(-1.0,5.0), interval(-51.0,12.0), 0)[2] == Interval(-51.0,12.0) -@testset "minimal_pown_rev_dec_bin_test" begin + @test power_rev(interval(-1.0,0.0), interval(5.0,10.0), 0)[2] == emptyinterval() -end + @test power_rev(interval(-1.0,-0.0), interval(-1.0,1.0), 0)[2] == emptyinterval() -@testset "minimal_sin_rev_test" begin - @test sin_rev(∅, -∞..∞)[2] == ∅ - @test sin_rev(Interval(-2.0, -1.1), -∞..∞)[2] == ∅ - @test sin_rev(Interval(1.1, 2.0), -∞..∞)[2] == ∅ - @test sin_rev(Interval(-1.0, 1.0), -∞..∞)[2] == entireinterval(Float64) - @test sin_rev(Interval(0.0, 0.0), -∞..∞)[2] == entireinterval(Float64) - @test sin_rev(Interval(0x1.1a62633145c06p-53, 0x1.1a62633145c07p-53), -∞..∞)[2] == entireinterval(Float64) -end + @test power_rev(interval(1.1,10.0), interval(1.0,41.0), 0)[2] == emptyinterval() -@testset "minimal_sin_rev_bin_test" begin - @test sin_rev(∅, Interval(-1.2, 12.1))[2] == ∅ - @test sin_rev(Interval(-2.0, -1.1), Interval(-5.0, 5.0))[2] == ∅ - @test sin_rev(Interval(1.1, 2.0), Interval(-5.0, 5.0))[2] == ∅ - @test sin_rev(Interval(-1.0, 1.0), Interval(-1.2, 12.1))[2] == Interval(-1.2, 12.1) - @test sin_rev(Interval(0.0, 0.0), Interval(-1.0, 1.0))[2] == Interval(0.0, 0.0) - @test sin_rev(Interval(-0.0, -0.0), Interval(2.0, 2.5))[2] == ∅ - @test sin_rev(Interval(-0.0, -0.0), Interval(3.0, 3.5))[2] == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d19p+1) - @test sin_rev(Interval(0x1.fffffffffffffp-1, 0x1p+0), Interval(1.57, 1.58))[2] == Interval(0x1.921fb50442d18p+0, 0x1.921fb58442d1ap+0) - @test sin_rev(Interval(0.0, 0x1p+0), Interval(-0.1, 1.58))[2] == Interval(0.0, 1.58) - @test sin_rev(Interval(0x1.1a62633145c06p-53, 0x1.1a62633145c07p-53), Interval(3.14, 3.15))[2] == Interval(0x1.921fb54442d17p+1, 0x1.921fb54442d19p+1) - @test sin_rev(Interval(-0x1.72cece675d1fdp-52, -0x1.72cece675d1fcp-52), Interval(3.14, 3.15))[2] == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d1ap+1) - @test sin_rev(Interval(-0x1.72cece675d1fdp-52, 0x1.1a62633145c07p-53), Interval(3.14, 3.15))[2] == Interval(0x1.921fb54442d17p+1, 0x1.921fb54442d1ap+1) - @test sin_rev(Interval(0.0, 1.0), Interval(-0.1, 3.15))[2] == Interval(0.0, 0x1.921fb54442d19p+1) - @test sin_rev(Interval(0.0, 1.0), Interval(-0.1, 3.15))[2] == Interval(-0.0, 0x1.921fb54442d19p+1) - @test sin_rev(Interval(-0x1.72cece675d1fdp-52, 1.0), Interval(-0.1, 3.15))[2] == Interval(-0x1.72cece675d1fep-52, 0x1.921fb54442d1ap+1) - @test sin_rev(Interval(-0x1.72cece675d1fdp-52, 1.0), Interval(0.0, 3.15))[2] == Interval(0.0, 0x1.921fb54442d1ap+1) - @test sin_rev(Interval(0x1.1a62633145c06p-53, 0x1p+0), Interval(3.14, 3.15))[2] == Interval(3.14, 0x1.921fb54442d19p+1) - @test sin_rev(Interval(-0x1.72cece675d1fdp-52, 0x1p+0), Interval(1.57, 3.15))[2] == Interval(1.57, 0x1.921fb54442d1ap+1) - @test sin_rev(Interval(0x1.1a62633145c06p-53, 0x1.1a62633145c07p-53), Interval(-Inf, 3.15))[2] == Interval(-Inf, 0x1.921fb54442d19p+1) - @test sin_rev(Interval(-0x1.72cece675d1fdp-52, -0x1.72cece675d1fcp-52), Interval(3.14, Inf))[2] == Interval(0x1.921fb54442d18p+1, Inf) -end + @test power_rev(emptyinterval(), interval(0.0,100.1), 1)[2] == emptyinterval() -@testset "minimal_sin_rev_dec_test" begin -end + @test power_rev(entireinterval(), interval(-5.1,10.0), 1)[2] == Interval(-5.1,10.0) -@testset "minimal_sin_rev_dec_bin_test" begin -end + @test power_rev(interval(0.0,0.0), interval(-10.0,5.1), 1)[2] == Interval(0.0,0.0) -@testset "minimal_cos_rev_test" begin - @test cos_rev(∅, -∞..∞)[2] == ∅ - @test cos_rev(Interval(-2.0, -1.1), -∞..∞)[2] == ∅ - @test cos_rev(Interval(1.1, 2.0), -∞..∞)[2] == ∅ - @test cos_rev(Interval(-1.0, 1.0), -∞..∞)[2] == entireinterval(Float64) - @test cos_rev(Interval(0.0, 0.0), -∞..∞)[2] == entireinterval(Float64) - @test cos_rev(Interval(0x1.1a62633145c06p-53, 0x1.1a62633145c07p-53), -∞..∞)[2] == entireinterval(Float64) -end + @test power_rev(interval(-0.0,-0.0), interval(1.0,5.0), 1)[2] == emptyinterval() -@testset "minimal_cos_rev_bin_test" begin - @test cos_rev(∅, Interval(-1.2, 12.1))[2] == ∅ - @test cos_rev(Interval(-2.0, -1.1), Interval(-5.0, 5.0))[2] == ∅ - @test cos_rev(Interval(1.1, 2.0), Interval(-5.0, 5.0))[2] == ∅ - @test cos_rev(Interval(-1.0, 1.0), Interval(-1.2, 12.1))[2] == Interval(-1.2, 12.1) - @test cos_rev(Interval(1.0, 1.0), Interval(-0.1, 0.1))[2] == Interval(0.0, 0.0) - @test cos_rev(Interval(-1.0, -1.0), Interval(3.14, 3.15))[2] == Interval(0x1.921fb54442d18p+1, 0x1.921fb54442d1ap+1) - @test cos_rev(Interval(0x1.1a62633145c06p-54, 0x1.1a62633145c07p-54), Interval(1.57, 1.58))[2] == Interval(0x1.921fb54442d17p+0, 0x1.921fb54442d19p+0) - @test cos_rev(Interval(-0x1.72cece675d1fdp-53, -0x1.72cece675d1fcp-53), Interval(1.57, 1.58))[2] == Interval(0x1.921fb54442d18p+0, 0x1.921fb54442d1ap+0) - @test cos_rev(Interval(-0x1.72cece675d1fdp-53, 0x1.1a62633145c07p-54), Interval(1.57, 1.58))[2] == Interval(0x1.921fb54442d17p+0, 0x1.921fb54442d1ap+0) - @test cos_rev(Interval(0x1.1a62633145c06p-54, 1.0), Interval(-2.0, 2.0))[2] == Interval(-0x1.921fb54442d19p+0, 0x1.921fb54442d19p+0) - @test cos_rev(Interval(0x1.1a62633145c06p-54, 1.0), Interval(0.0, 2.0))[2] == Interval(0.0, 0x1.921fb54442d19p+0) - @test cos_rev(Interval(-0x1.72cece675d1fdp-53, 1.0), Interval(-0.1, 1.5708))[2] == Interval(-0.1, 0x1.921fb54442d1ap+0) - @test cos_rev(Interval(-0x1p+0, -0x1.fffffffffffffp-1), Interval(3.14, 3.15))[2] == Interval(0x1.921fb52442d18p+1, 0x1.921fb56442d1ap+1) - @test cos_rev(Interval(-0x1p+0, -0x1.fffffffffffffp-1), Interval(-3.15, -3.14))[2] == Interval(-0x1.921fb56442d1ap+1, -0x1.921fb52442d18p+1) - @test cos_rev(Interval(-0x1p+0, -0x1.fffffffffffffp-1), Interval(9.42, 9.45))[2] == Interval(0x1.2d97c7eb321d2p+3, 0x1.2d97c7fb321d3p+3) - @test cos_rev(Interval(0x1.87996529f9d92p-1, 1.0), Interval(-1.0, 0.1))[2] == Interval(-0x1.6666666666667p-1, 0.1) - @test cos_rev(Interval(-0x1.aa22657537205p-2, 0x1.14a280fb5068cp-1), Interval(0.0, 2.1))[2] == Interval(0x1.fffffffffffffp-1, 0x1.0000000000001p+1) - @test cos_rev(Interval(0x1.1a62633145c06p-53, 0x1.1a62633145c07p-53), Interval(-Inf, 1.58))[2] == Interval(-Inf, 0x1.921fb54442d18p+0) - @test cos_rev(Interval(0x1.1a62633145c06p-53, 0x1.1a62633145c07p-53), Interval(-Inf, 1.5))[2] == Interval(-Inf, -0x1.921fb54442d17p+0) - @test cos_rev(Interval(-0x1.72cece675d1fdp-52, -0x1.72cece675d1fcp-52), Interval(-1.58, Inf))[2] == Interval(-0x1.921fb54442d1ap+0, Inf) - @test cos_rev(Interval(-0x1.72cece675d1fdp-52, -0x1.72cece675d1fcp-52), Interval(-1.5, Inf))[2] == Interval(0x1.921fb54442d19p+0, Inf) -end + @test power_rev(emptyinterval(), interval(5.0,17.1), 2)[2] == emptyinterval() -@testset "minimal_cos_rev_dec_test" begin -end + @test power_rev(interval(-5.0,-1.0), interval(5.0,17.1), 2)[2] == emptyinterval() -@testset "minimal_cos_rev_dec_bin_test" begin -end + @test power_rev(interval(0.0,Inf), interval(5.6,27.544), 2)[2] == Interval(5.6,27.544) -@testset "minimal_tan_rev_test" begin - @test tan_rev(∅, -∞..∞)[2] == ∅ - @test tan_rev(Interval(-1.0, 1.0), -∞..∞)[2] == entireinterval(Float64) - @test tan_rev(Interval(-156.0, -12.0), -∞..∞)[2] == entireinterval(Float64) - @test tan_rev(Interval(0.0, 0.0), -∞..∞)[2] == entireinterval(Float64) - @test tan_rev(Interval(0x1.1a62633145c06p-53, 0x1.1a62633145c07p-53), -∞..∞)[2] == entireinterval(Float64) -end + @test power_rev(interval(0.0,0.0), interval(1.0,2.0), 2)[2] == emptyinterval() -@testset "minimal_tan_rev_bin_test" begin - @test tan_rev(∅, Interval(-1.5708, 1.5708))[2] == ∅ - @test tan_rev(entireinterval(Float64), Interval(-1.5708, 1.5708))[2] == Interval(-1.5708, 1.5708) - @test tan_rev(Interval(0.0, 0.0), Interval(-1.5708, 1.5708))[2] == Interval(0.0, 0.0) - @test tan_rev(Interval(0x1.d02967c31cdb4p+53, 0x1.d02967c31cdb5p+53), Interval(-1.5708, 1.5708))[2] == Interval(-0x1.921fb54442d1bp+0, 0x1.921fb54442d19p+0) - @test tan_rev(Interval(-0x1.1a62633145c07p-53, -0x1.1a62633145c06p-53), Interval(3.14, 3.15))[2] == Interval(0x1.921fb54442d17p+1, 0x1.921fb54442d19p+1) - @test tan_rev(Interval(0x1.72cece675d1fcp-52, 0x1.72cece675d1fdp-52), Interval(-3.15, 3.15))[2] == Interval(-0x1.921fb54442d19p+1, 0x1.921fb54442d1ap+1) - @test tan_rev(Interval(-0x1.d02967c31p+53, 0x1.d02967c31p+53), Interval(-Inf, 1.5707965))[2] == Interval(-Inf, +0x1.921fb82c2bd7fp0) - @test tan_rev(Interval(-0x1.d02967c31p+53, 0x1.d02967c31p+53), Interval(-1.5707965, Inf))[2] == Interval(-0x1.921fb82c2bd7fp0, Inf) - @test tan_rev(Interval(-0x1.d02967c31p+53, 0x1.d02967c31p+53), Interval(-1.5707965, 1.5707965))[2] == Interval(-0x1.921fb82c2bd7fp0, +0x1.921fb82c2bd7fp0) - @test tan_rev(Interval(-0x1.d02967c31cdb5p+53, 0x1.d02967c31cdb5p+53), Interval(-1.5707965, 1.5707965))[2] == Interval(-1.5707965, 1.5707965) -end + @test power_rev(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), interval(1.0,Inf), 2)[2] == Interval(1.0,0x1.2a3d70a3d70a5p+1) -@testset "minimal_tan_rev_dec_test" begin -end + @test power_rev(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), interval(-Inf,-1.0), 2)[2] == Interval(-0x1.e666666666667p+0,-1.0) -@testset "minimal_tan_rev_dec_bin_test" begin -end + @test power_rev(emptyinterval(), interval(-23.0,-1.0), 3)[2] == emptyinterval() -@testset "minimal_cosh_rev_test" begin + @test power_rev(entireinterval(), interval(-23.0,-1.0), 3)[2] == Interval(-23.0,-1.0) -end + @test power_rev(interval(0.0,0.0), interval(1.0,2.0), 3)[2] == emptyinterval() -@testset "minimal_cosh_rev_bin_test" begin + @test power_rev(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), interval(1.0,Inf), 3)[2] == Interval(1.0,0x1.2a3d70a3d70a5p+1) -end + @test power_rev(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), interval(-Inf,-1.0), 3)[2] == Interval(-0x1.e666666666667p+0,-1.0) -@testset "minimal_cosh_rev_dec_test" begin + @test power_rev(emptyinterval(), interval(-3.0,17.3), -2)[2] == emptyinterval() -end + @test power_rev(interval(0.0,Inf), interval(-5.1,-0.1), -2)[2] == Interval(-5.1,-0.1) -@testset "minimal_cosh_rev_dec_bin_test" begin + @test power_rev(interval(0.0,0.0), interval(27.2,55.1), -2)[2] == emptyinterval() + + @test power_rev(interval(0x1.3F0C482C977C9P-17,Inf), interval(-Inf,-0x1.FFFFFFFFFFFFFp1023), -2)[2] == emptyinterval() + + @test power_rev(interval(0x1.793D85EF38E47P-3,0x1.388P+13), interval(1.0,Inf), -2)[2] == Interval(1.0,0x1.2a3d70a3d70a5p+1) + + @test power_rev(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), interval(-Inf,-1.0), -2)[2] == Interval(-0x1.e666666666667p+0,-1.0) + + @test power_rev(emptyinterval(), interval(-5.1,55.5), -1)[2] == emptyinterval() + + @test power_rev(entireinterval(), interval(-5.1,55.5), -1)[2] == Interval(-5.1,55.5) + + @test power_rev(interval(0.0,0.0), interval(-5.1,55.5), -1)[2] == emptyinterval() + + @test power_rev(interval(-Inf,-0.0), interval(-1.0,1.0), -1)[2] == Interval(-1.0,0.0) + + @test power_rev(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), interval(-1.0,0.0), -1)[2] == emptyinterval() + + @test power_rev(emptyinterval(), interval(-5.1,55.5), -3)[2] == emptyinterval() + + @test power_rev(entireinterval(), interval(-5.1,55.5), -3)[2] == Interval(-5.1,55.5) + + @test power_rev(interval(0.0,0.0), interval(-5.1,55.5), -3)[2] == emptyinterval() + + @test power_rev(interval(-Inf,0.0), interval(5.1,55.5), -3)[2] == emptyinterval() + + @test power_rev(interval(-Inf,-0.0), interval(-32.0,1.1), -3)[2] == Interval(-32.0,0.0) + +end + +@testset "minimal_pown_rev_dec_test" begin + + @test power_rev(DecoratedInterval(emptyinterval(), trv), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(1.0,1.0), com), 0)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(1.0,1.0), com), 0)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-1.0,5.0), dac), 0)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,5.0), dac), 0)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-1.0,0.0), def), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,0.0), def), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-1.0,-0.0), dac), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,-0.0), dac), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(1.1,10.0), com), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(1.1,10.0), com), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), 1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), 1)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), 1)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), com), 1)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), com), 1)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 1)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 1)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(13.1,13.1), def), 1)[2] == DecoratedInterval(Interval(13.1,13.1), trv) && decoration(power_rev(DecoratedInterval(interval(13.1,13.1), def), 1)[2]) == decoration(DecoratedInterval(Interval(13.1,13.1), trv)) + + @test power_rev(DecoratedInterval(interval(-7451.145,-7451.145), dac), 1)[2] == DecoratedInterval(Interval(-7451.145,-7451.145), trv) && decoration(power_rev(DecoratedInterval(interval(-7451.145,-7451.145), dac), 1)[2]) == decoration(DecoratedInterval(Interval(-7451.145,-7451.145), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), com), 1)[2] == DecoratedInterval(Interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), com), 1)[2]) == decoration(DecoratedInterval(Interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), com), 1)[2] == DecoratedInterval(Interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), com), 1)[2]) == decoration(DecoratedInterval(Interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), 1)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), 1)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 1)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 1)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,0.0), def), 1)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), def), 1)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 1)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 1)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-324.3,2.5), dac), 1)[2] == DecoratedInterval(Interval(-324.3,2.5), trv) && decoration(power_rev(DecoratedInterval(interval(-324.3,2.5), dac), 1)[2]) == decoration(DecoratedInterval(Interval(-324.3,2.5), trv)) + + @test power_rev(DecoratedInterval(interval(0.01,2.33), com), 1)[2] == DecoratedInterval(Interval(0.01,2.33), trv) && decoration(power_rev(DecoratedInterval(interval(0.01,2.33), com), 1)[2]) == decoration(DecoratedInterval(Interval(0.01,2.33), trv)) + + @test power_rev(DecoratedInterval(interval(-1.9,-0.33), def), 1)[2] == DecoratedInterval(Interval(-1.9,-0.33), trv) && decoration(power_rev(DecoratedInterval(interval(-1.9,-0.33), def), 1)[2]) == decoration(DecoratedInterval(Interval(-1.9,-0.33), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), 2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), 2)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), 2)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), def), 2)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), def), 2)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), com), 2)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), com), 2)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 2)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 2)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.573851EB851EBP+7,0x1.573851EB851ECP+7), def), 2)[2] == DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.573851EB851EBP+7,0x1.573851EB851ECP+7), def), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.A794A4E7CFAADP+25,0x1.A794A4E7CFAAEP+25), def), 2)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.A794A4E7CFAADP+25,0x1.A794A4E7CFAAEP+25), def), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), dac), 2)[2] == DecoratedInterval(Interval(-0x1p+512,0x1p+512), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), dac), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1p+512,0x1p+512), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0x1.9AD27D70A3D72P+16), dac), 2)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0x1.9AD27D70A3D72P+16), dac), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,0x1.9AD27D70A3D72P+16), def), 2)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,0x1.9AD27D70A3D72P+16), def), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), com), 2)[2] == DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), com), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), def), 2)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), def), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), 8)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 8)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), 8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), 8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), 8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), 8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), 8)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), 8)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 8)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 8)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.9D8FD495853F5P+29,0x1.9D8FD495853F6P+29), com), 8)[2] == DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.9D8FD495853F5P+29,0x1.9D8FD495853F6P+29), com), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.DFB1BB622E70DP+102,0x1.DFB1BB622E70EP+102), dac), 8)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.DFB1BB622E70DP+102,0x1.DFB1BB622E70EP+102), dac), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), def), 8)[2] == DecoratedInterval(Interval(-0x1p+128,0x1p+128), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), def), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1p+128,0x1p+128), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0x1.A87587109655P+66), dac), 8)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0x1.A87587109655P+66), dac), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,0x1.A87587109655P+66), def), 8)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,0x1.A87587109655P+66), def), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.CD2B297D889BDP-54,0x1.B253D9F33CE4DP+9), com), 8)[2] == DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.CD2B297D889BDP-54,0x1.B253D9F33CE4DP+9), com), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.26F1FCDD502A3P-13,0x1.53ABD7BFC4FC6P+7), dac), 8)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.26F1FCDD502A3P-13,0x1.53ABD7BFC4FC6P+7), dac), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), 3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), 3)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), 3)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), dac), 3)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), dac), 3)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), def), 3)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), def), 3)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.1902E978D4FDEP+11,0x1.1902E978D4FDFP+11), com), 3)[2] == DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.1902E978D4FDEP+11,0x1.1902E978D4FDFP+11), com), 3)[2]) == decoration(DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.81460637B9A3DP+38,-0x1.81460637B9A3CP+38), def), 3)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.81460637B9A3DP+38,-0x1.81460637B9A3CP+38), def), 3)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), dac), 3)[2] == DecoratedInterval(Interval(0x1.428a2f98d728ap+341,0x1.428a2f98d728bp+341), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), dac), 3)[2]) == decoration(DecoratedInterval(Interval(0x1.428a2f98d728ap+341,0x1.428a2f98d728bp+341), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), com), 3)[2] == DecoratedInterval(Interval(-0x1.428a2f98d728bp+341, -0x1.428a2f98d728ap+341), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), com), 3)[2]) == decoration(DecoratedInterval(Interval(-0x1.428a2f98d728bp+341, -0x1.428a2f98d728ap+341), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), def), 3)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), def), 3)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), def), 3)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), def), 3)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,0.0), dac), 3)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), dac), 3)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 3)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 3)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.0436D2F418938P+25,0x1.F4P+3), com), 3)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.4p+1), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.0436D2F418938P+25,0x1.F4P+3), com), 3)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.4p+1), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), dac), 3)[2] == DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), dac), 3)[2]) == decoration(DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), def), 3)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), def), 3)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), 7)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 7)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), 7)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), 7)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), com), 7)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), com), 7)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 7)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 7)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.F91D1B185493BP+25,0x1.F91D1B185493CP+25), def), 7)[2] == DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.F91D1B185493BP+25,0x1.F91D1B185493CP+25), def), 7)[2]) == decoration(DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.07B1DA32F9B59P+90,-0x1.07B1DA32F9B58P+90), dac), 7)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.07B1DA32F9B59P+90,-0x1.07B1DA32F9B58P+90), dac), 7)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), com), 7)[2] == DecoratedInterval(Interval(0x1.381147622f886p+146,0x1.381147622f887p+146), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), com), 7)[2]) == decoration(DecoratedInterval(Interval(0x1.381147622f886p+146,0x1.381147622f887p+146), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), def), 7)[2] == DecoratedInterval(Interval(-0x1.381147622f887p+146,-0x1.381147622f886p+146), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), def), 7)[2]) == decoration(DecoratedInterval(Interval(-0x1.381147622f887p+146,-0x1.381147622f886p+146), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), 7)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), 7)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 7)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 7)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,0.0), def), 7)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), def), 7)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 7)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 7)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.4F109959E6D7FP+58,0x1.312DP+9), dac), 7)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.4p+1), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.4F109959E6D7FP+58,0x1.312DP+9), dac), 7)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.4p+1), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.6849B86A12B9BP-47,0x1.74D0373C76313P+8), com), 7)[2] == DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.6849B86A12B9BP-47,0x1.74D0373C76313P+8), com), 7)[2]) == decoration(DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.658C775099757P+6,-0x1.BEE30301BF47AP-12), def), 7)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.658C775099757P+6,-0x1.BEE30301BF47AP-12), def), 7)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), -2)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), -2)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -2)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -2)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), com), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), com), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-10.0,0.0), dac), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-10.0,0.0), dac), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-10.0,-0.0), def), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-10.0,-0.0), def), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test_skip power_rev(DecoratedInterval(interval(0x1.7DE3A077D1568P-8,0x1.7DE3A077D1569P-8), dac), -2)[2] == DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.7DE3A077D1568P-8,0x1.7DE3A077D1569P-8), dac), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv)) + + @test_skip power_rev(DecoratedInterval(interval(0x1.3570290CD6E14P-26,0x1.3570290CD6E15P-26), def), -2)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.3570290CD6E14P-26,0x1.3570290CD6E15P-26), def), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), com), -2)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), com), -2)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.3F0C482C977C9P-17,Inf), dac), -2)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.3F0C482C977C9P-17,Inf), dac), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.793D85EF38E47P-3,0x1.388P+13), def), -2)[2] == DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.793D85EF38E47P-3,0x1.388P+13), def), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), com), -2)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), com), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), -8)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), -8)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), def), -8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), def), -8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), -8)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), -8)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -8)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -8)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test_skip power_rev(DecoratedInterval(interval(0x1.3CEF39247CA6DP-30,0x1.3CEF39247CA6EP-30), com), -8)[2] == DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.3CEF39247CA6DP-30,0x1.3CEF39247CA6EP-30), com), -8)[2]) == decoration(DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv)) + + @test_skip power_rev(DecoratedInterval(interval(0x1.113D9EF0A99ACP-103,0x1.113D9EF0A99ADP-103), def), -8)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.113D9EF0A99ACP-103,0x1.113D9EF0A99ADP-103), def), -8)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), dac), -8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), dac), -8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.34CC3764D1E0CP-67,Inf), def), -8)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.34CC3764D1E0CP-67,Inf), def), -8)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.2DC80DB11AB7CP-10,0x1.1C37937E08P+53), com), -8)[2] == DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.2DC80DB11AB7CP-10,0x1.1C37937E08P+53), com), -8)[2]) == decoration(DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.81E104E61630DP-8,0x1.BC64F21560E34P+12), def), -8)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.81E104E61630DP-8,0x1.BC64F21560E34P+12), def), -8)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), -1)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), -1)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), dac), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), dac), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.38ABF82EE6986P-4,0x1.38ABF82EE6987P-4), def), -1)[2] == DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333335p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.38ABF82EE6986P-4,0x1.38ABF82EE6987P-4), def), -1)[2]) == decoration(DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333335p+3), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.197422C9048BFP-13,-0x1.197422C9048BEP-13), dac), -1)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851eep+12,-0x1.d1b251eb851ebp+12), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.197422C9048BFP-13,-0x1.197422C9048BEP-13), dac), -1)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851eep+12,-0x1.d1b251eb851ebp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x0.4P-1022,0x0.4000000000001P-1022), dac), -1)[2] == DecoratedInterval(Interval(0x1.ffffffffffff8p+1023,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0x0.4P-1022,0x0.4000000000001P-1022), dac), -1)[2]) == decoration(DecoratedInterval(Interval(0x1.ffffffffffff8p+1023,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0x0.4000000000001P-1022,-0x0.4P-1022), def), -1)[2] == DecoratedInterval(Interval(-Inf,-0x1.ffffffffffff8p+1023), trv) && decoration(power_rev(DecoratedInterval(interval(-0x0.4000000000001P-1022,-0x0.4P-1022), def), -1)[2]) == decoration(DecoratedInterval(Interval(-Inf,-0x1.ffffffffffff8p+1023), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), -1)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), -1)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -1)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -1)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,0.0), dac), -1)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), dac), -1)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -1)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -1)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), com), -1)[2] == DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), com), -1)[2]) == decoration(DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.83E0F83E0F83EP+1,-0x1.0D79435E50D79P-1), com), -1)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.83E0F83E0F83EP+1,-0x1.0D79435E50D79P-1), com), -1)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), -3)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), -3)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test_skip power_rev(DecoratedInterval(interval(0x1.D26DF4D8B1831P-12,0x1.D26DF4D8B1832P-12), com), -3)[2] == DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.D26DF4D8B1831P-12,0x1.D26DF4D8B1832P-12), com), -3)[2]) == decoration(DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv)) + + @test_skip power_rev(DecoratedInterval(interval(-0x1.54347DED91B19P-39,-0x1.54347DED91B18P-39), def), -3)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.54347DED91B19P-39,-0x1.54347DED91B18P-39), def), -3)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), dac), -3)[2] == DecoratedInterval(Interval(0x1p+358,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), dac), -3)[2]) == decoration(DecoratedInterval(Interval(0x1p+358,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0x0.0000000000001P-1022,-0x0P+0), def), -3)[2] == DecoratedInterval(Interval(-Inf,-0x1p+358), trv) && decoration(power_rev(DecoratedInterval(interval(-0x0.0000000000001P-1022,-0x0P+0), def), -3)[2]) == decoration(DecoratedInterval(Interval(-Inf,-0x1p+358), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), -3)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), -3)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -3)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -3)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,0.0), def), -3)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), def), -3)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -3)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -3)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.43CFBA61AACABP-4,0x1.E848P+19), com), -3)[2] == DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.43CFBA61AACABP-4,0x1.E848P+19), com), -3)[2]) == decoration(DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.BD393CE9E8E7CP+4,-0x1.2A95F6F7C066CP-3), def), -3)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.BD393CE9E8E7CP+4,-0x1.2A95F6F7C066CP-3), def), -3)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), -7)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), -7)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), -7)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), -7)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), com), -7)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), com), -7)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), def), -7)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), def), -7)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test_skip power_rev(DecoratedInterval(interval(0x1.037D76C912DBCP-26,0x1.037D76C912DBDP-26), dac), -7)[2] == DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.037D76C912DBCP-26,0x1.037D76C912DBDP-26), dac), -7)[2]) == decoration(DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv)) + + @test_skip power_rev(DecoratedInterval(interval(-0x1.F10F41FB8858FP-91,-0x1.F10F41FB8858EP-91), dac), -7)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.F10F41FB8858FP-91,-0x1.F10F41FB8858EP-91), dac), -7)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv)) + + @test power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), def), -7)[2] == DecoratedInterval(Interval(0x1.588cea3f093bcp+153,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), def), -7)[2]) == decoration(DecoratedInterval(Interval(0x1.588cea3f093bcp+153,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0x0.0000000000001P-1022,-0x0P+0), def), -7)[2] == DecoratedInterval(Interval(-Inf,-0x1.588cea3f093bcp+153), trv) && decoration(power_rev(DecoratedInterval(interval(-0x0.0000000000001P-1022,-0x0P+0), def), -7)[2]) == decoration(DecoratedInterval(Interval(-Inf,-0x1.588cea3f093bcp+153), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), -7)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), -7)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,Inf), def), -7)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), def), -7)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,0.0), dac), -7)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), dac), -7)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -7)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -7)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.5F934D64162A9P-9,0x1.6BCC41E9P+46), com), -7)[2] == DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.5F934D64162A9P-9,0x1.6BCC41E9P+46), com), -7)[2]) == decoration(DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.254CDD3711DDBP+11,-0x1.6E95C4A761E19P-7), com), -7)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.254CDD3711DDBP+11,-0x1.6E95C4A761E19P-7), com), -7)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv)) + +end + +@testset "minimal_pown_rev_dec_bin_test" begin + + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0,1.0), def), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0,1.0), def), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(1.0,1.0), dac), DecoratedInterval(interval(1.0,1.0), dac), 0)[2] == DecoratedInterval(Interval(1.0,1.0), trv) && decoration(power_rev(DecoratedInterval(interval(1.0,1.0), dac), DecoratedInterval(interval(1.0,1.0), dac), 0)[2]) == decoration(DecoratedInterval(Interval(1.0,1.0), trv)) + + @test power_rev(DecoratedInterval(interval(-1.0,5.0), def), DecoratedInterval(interval(-51.0,12.0), dac), 0)[2] == DecoratedInterval(Interval(-51.0,12.0), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,5.0), def), DecoratedInterval(interval(-51.0,12.0), dac), 0)[2]) == decoration(DecoratedInterval(Interval(-51.0,12.0), trv)) + + @test power_rev(DecoratedInterval(interval(-1.0,0.0), com), DecoratedInterval(interval(5.0,10.0), dac), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,0.0), com), DecoratedInterval(interval(5.0,10.0), dac), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-1.0,-0.0), dac), DecoratedInterval(interval(-1.0,1.0), def), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,-0.0), dac), DecoratedInterval(interval(-1.0,1.0), def), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(1.1,10.0), def), DecoratedInterval(interval(1.0,41.0), dac), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(1.1,10.0), def), DecoratedInterval(interval(1.0,41.0), dac), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(0.0,100.1), dac), 1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(0.0,100.1), dac), 1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,10.0), def), 1)[2] == DecoratedInterval(Interval(-5.1,10.0), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,10.0), def), 1)[2]) == decoration(DecoratedInterval(Interval(-5.1,10.0), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), com), DecoratedInterval(interval(-10.0,5.1), dac), 1)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), com), DecoratedInterval(interval(-10.0,5.1), dac), 1)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(1.0,5.0), dac), 1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(1.0,5.0), dac), 1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(5.0,17.1), def), 2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(5.0,17.1), def), 2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), DecoratedInterval(interval(5.6,27.544), dac), 2)[2] == DecoratedInterval(Interval(5.6,27.544), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), DecoratedInterval(interval(5.6,27.544), dac), 2)[2]) == decoration(DecoratedInterval(Interval(5.6,27.544), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(1.0,2.0), def), 2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(1.0,2.0), def), 2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), com), DecoratedInterval(interval(1.0,Inf), def), 2)[2] == DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), com), DecoratedInterval(interval(1.0,Inf), def), 2)[2]) == decoration(DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), dac), DecoratedInterval(interval(-Inf,-1.0), def), 2)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), dac), DecoratedInterval(interval(-Inf,-1.0), def), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-23.0,-1.0), dac), 3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-23.0,-1.0), dac), 3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-23.0,-1.0), com), 3)[2] == DecoratedInterval(Interval(-23.0,-1.0), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-23.0,-1.0), com), 3)[2]) == decoration(DecoratedInterval(Interval(-23.0,-1.0), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(1.0,2.0), dac), 3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(1.0,2.0), dac), 3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), com), DecoratedInterval(interval(1.0,Inf), dac), 3)[2] == DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), com), DecoratedInterval(interval(1.0,Inf), dac), 3)[2]) == decoration(DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), com), DecoratedInterval(interval(-Inf,-1.0), dac), 3)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), com), DecoratedInterval(interval(-Inf,-1.0), dac), 3)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-3.0,17.3), def), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-3.0,17.3), def), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), DecoratedInterval(interval(-5.1,-0.1), dac), -2)[2] == DecoratedInterval(Interval(-5.1,-0.1), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), DecoratedInterval(interval(-5.1,-0.1), dac), -2)[2]) == decoration(DecoratedInterval(Interval(-5.1,-0.1), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(27.2,55.1), dac), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(27.2,55.1), dac), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.3F0C482C977C9P-17,Inf), def), DecoratedInterval(interval(-Inf,-0x1.FFFFFFFFFFFFFp1023), dac), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.3F0C482C977C9P-17,Inf), def), DecoratedInterval(interval(-Inf,-0x1.FFFFFFFFFFFFFp1023), dac), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.793D85EF38E47P-3,0x1.388P+13), com), DecoratedInterval(interval(1.0,Inf), dac), -2)[2] == DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.793D85EF38E47P-3,0x1.388P+13), com), DecoratedInterval(interval(1.0,Inf), dac), -2)[2]) == decoration(DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), com), DecoratedInterval(interval(-Inf,-1.0), dac), -2)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), com), DecoratedInterval(interval(-Inf,-1.0), dac), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.1,55.5), def), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.1,55.5), def), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,55.5), dac), -1)[2] == DecoratedInterval(Interval(-5.1,55.5), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,55.5), dac), -1)[2]) == decoration(DecoratedInterval(Interval(-5.1,55.5), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), dac), DecoratedInterval(interval(-5.1,55.5), def), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), dac), DecoratedInterval(interval(-5.1,55.5), def), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), dac), DecoratedInterval(interval(-1.0,1.0), com), -1)[2] == DecoratedInterval(Interval(-1.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), dac), DecoratedInterval(interval(-1.0,1.0), com), -1)[2]) == decoration(DecoratedInterval(Interval(-1.0,0.0), trv)) + + @test power_rev(DecoratedInterval(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), def), DecoratedInterval(interval(-1.0,0.0), dac), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), def), DecoratedInterval(interval(-1.0,0.0), dac), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.1,55.5), dac), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.1,55.5), dac), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,55.5), def), -3)[2] == DecoratedInterval(Interval(-5.1,55.5), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,55.5), def), -3)[2]) == decoration(DecoratedInterval(Interval(-5.1,55.5), trv)) + + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(-5.1,55.5), def), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(-5.1,55.5), def), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,0.0), dac), DecoratedInterval(interval(5.1,55.5), com), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), dac), DecoratedInterval(interval(5.1,55.5), com), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), dac), DecoratedInterval(interval(-32.0,1.1), def), -3)[2] == DecoratedInterval(Interval(-32.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), dac), DecoratedInterval(interval(-32.0,1.1), def), -3)[2]) == decoration(DecoratedInterval(Interval(-32.0,0.0), trv)) + +end + +@testset "minimal_sin_rev_test" begin + + @test sin_rev(emptyinterval())[2] == emptyinterval() + + @test sin_rev(interval(-2.0,-1.1))[2] == emptyinterval() + + @test sin_rev(interval(1.1, 2.0))[2] == emptyinterval() + + @test sin_rev(interval(-1.0,1.0))[2] == entireinterval() + + @test sin_rev(interval(0.0,0.0))[2] == entireinterval() + + @test sin_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53))[2] == entireinterval() + +end + +@testset "minimal_sin_rev_bin_test" begin + + @test sin_rev(emptyinterval(), interval(-1.2,12.1))[2] == emptyinterval() + + @test sin_rev(interval(-2.0,-1.1), interval(-5.0, 5.0))[2] == emptyinterval() + + @test sin_rev(interval(1.1, 2.0), interval(-5.0, 5.0))[2] == emptyinterval() + + @test sin_rev(interval(-1.0,1.0), interval(-1.2,12.1))[2] == Interval(-1.2,12.1) + + @test sin_rev(interval(0.0,0.0), interval(-1.0,1.0))[2] == Interval(0.0,0.0) + + @test sin_rev(interval(-0.0,-0.0), interval(2.0,2.5))[2] == emptyinterval() + + @test sin_rev(interval(-0.0,-0.0), interval(3.0,3.5))[2] == Interval(0x1.921fb54442d18p+1,0x1.921fb54442d19p+1) + + @test sin_rev(interval(0x1.FFFFFFFFFFFFFP-1,0x1P+0), interval(1.57,1.58, ))[2] == Interval(0x1.921fb50442d18p+0,0x1.921fb58442d1ap+0) + + @test sin_rev(interval(0.0,0x1P+0), interval(-0.1,1.58))[2] == Interval(0.0,1.58) + + @test sin_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), interval(3.14,3.15))[2] == Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1) + + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), interval(3.14,3.15))[2] == Interval(0x1.921FB54442D18P+1,0x1.921FB54442D1aP+1) + + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,0x1.1A62633145C07P-53), interval(3.14,3.15))[2] == Interval(0x1.921FB54442D17P+1,0x1.921FB54442D1aP+1) + + @test sin_rev(interval(0.0,1.0), interval(-0.1,3.15))[2] == Interval(0.0,0x1.921FB54442D19P+1) + + @test sin_rev(interval(0.0,1.0), interval(-0.1,3.15))[2] == Interval(-0.0,0x1.921FB54442D19P+1) + + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,1.0), interval(-0.1,3.15))[2] == Interval(-0x1.72cece675d1fep-52,0x1.921FB54442D1aP+1) + + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,1.0), interval(0.0,3.15))[2] == Interval(0.0,0x1.921FB54442D1aP+1) + + @test sin_rev(interval(0x1.1A62633145C06P-53,0x1P+0), interval(3.14,3.15))[2] == Interval(3.14,0x1.921FB54442D19P+1) + + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,0x1P+0), interval(1.57,3.15))[2] == Interval(1.57,0x1.921FB54442D1AP+1) + + @test sin_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), interval(-Inf,3.15))[2] == Interval(-Inf,0x1.921FB54442D19P+1) + + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), interval(3.14,Inf))[2] == Interval(0x1.921FB54442D18P+1,Inf) + +end + +@testset "minimal_sin_rev_dec_test" begin + + @test sin_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(-2.0,-1.1), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(-2.0,-1.1), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(1.1, 2.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(1.1, 2.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(-1.0,1.0), com))[2] == DecoratedInterval(entireinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(-1.0,1.0), com))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(0.0,0.0), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(0.0,0.0), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), def))[2] == DecoratedInterval(entireinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), def))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + +end + +@testset "minimal_sin_rev_dec_bin_test" begin + + @test sin_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.2,12.1), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.2,12.1), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(-2.0,-1.1), def), DecoratedInterval(interval(-5.0, 5.0), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(-2.0,-1.1), def), DecoratedInterval(interval(-5.0, 5.0), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(1.1, 2.0), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(1.1, 2.0), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(-1.0,1.0), com), DecoratedInterval(interval(-1.2,12.1), def))[2] == DecoratedInterval(Interval(-1.2,12.1), trv) && decoration(sin_rev(DecoratedInterval(interval(-1.0,1.0), com), DecoratedInterval(interval(-1.2,12.1), def))[2]) == decoration(DecoratedInterval(Interval(-1.2,12.1), trv)) + + @test sin_rev(DecoratedInterval(interval(0.0,0.0), dac), DecoratedInterval(interval(-1.0,1.0), def))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(sin_rev(DecoratedInterval(interval(0.0,0.0), dac), DecoratedInterval(interval(-1.0,1.0), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test sin_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(2.0,2.5), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(2.0,2.5), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test sin_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(3.0,3.5), dac))[2] == DecoratedInterval(Interval(0x1.921fb54442d18p+1,0x1.921fb54442d19p+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(3.0,3.5), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1,0x1.921fb54442d19p+1), trv)) + + @test sin_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFP-1,0x1P+0), dac), DecoratedInterval(interval(1.57,1.58), dac))[2] == DecoratedInterval(Interval(0x1.921fb50442d18p+0,0x1.921fb58442d1ap+0), trv) && decoration(sin_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFP-1,0x1P+0), dac), DecoratedInterval(interval(1.57,1.58), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921fb50442d18p+0,0x1.921fb58442d1ap+0), trv)) + + @test sin_rev(DecoratedInterval(interval(0.0,0x1P+0), com), DecoratedInterval(interval(-0.1,1.58), dac))[2] == DecoratedInterval(Interval(0.0,1.58), trv) && decoration(sin_rev(DecoratedInterval(interval(0.0,0x1P+0), com), DecoratedInterval(interval(-0.1,1.58), dac))[2]) == decoration(DecoratedInterval(Interval(0.0,1.58), trv)) + + @test sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(3.14,3.15), def))[2] == DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1), trv) && decoration(sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(3.14,3.15), def))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1), trv)) + + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), com), DecoratedInterval(interval(3.14,3.15), dac))[2] == DecoratedInterval(Interval(0x1.921FB54442D18P+1,0x1.921FB54442D1aP+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), com), DecoratedInterval(interval(3.14,3.15), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D18P+1,0x1.921FB54442D1aP+1), trv)) + + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,0x1.1A62633145C07P-53), dac), DecoratedInterval(interval(3.14,3.15), com))[2] == DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D1aP+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,0x1.1A62633145C07P-53), dac), DecoratedInterval(interval(3.14,3.15), com))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D1aP+1), trv)) + + @test sin_rev(DecoratedInterval(interval(0.0,1.0), def), DecoratedInterval(interval(-0.1,3.15), def))[2] == DecoratedInterval(Interval(0.0,0x1.921FB54442D19P+1), trv) && decoration(sin_rev(DecoratedInterval(interval(0.0,1.0), def), DecoratedInterval(interval(-0.1,3.15), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0x1.921FB54442D19P+1), trv)) + + @test sin_rev(DecoratedInterval(interval(0.0,1.0), dac), DecoratedInterval(interval(-0.1,3.15), com))[2] == DecoratedInterval(Interval(-0.0,0x1.921FB54442D19P+1), trv) && decoration(sin_rev(DecoratedInterval(interval(0.0,1.0), dac), DecoratedInterval(interval(-0.1,3.15), com))[2]) == decoration(DecoratedInterval(Interval(-0.0,0x1.921FB54442D19P+1), trv)) + + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,1.0), def), DecoratedInterval(interval(-0.1,3.15), def))[2] == DecoratedInterval(Interval(-0x1.72cece675d1fep-52,0x1.921FB54442D1aP+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,1.0), def), DecoratedInterval(interval(-0.1,3.15), def))[2]) == decoration(DecoratedInterval(Interval(-0x1.72cece675d1fep-52,0x1.921FB54442D1aP+1), trv)) + + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,1.0), com), DecoratedInterval(interval(0.0,3.15), dac))[2] == DecoratedInterval(Interval(0.0,0x1.921FB54442D1aP+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,1.0), com), DecoratedInterval(interval(0.0,3.15), dac))[2]) == decoration(DecoratedInterval(Interval(0.0,0x1.921FB54442D1aP+1), trv)) + + @test sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1P+0), def), DecoratedInterval(interval(3.14,3.15), com))[2] == DecoratedInterval(Interval(3.14,0x1.921FB54442D19P+1), trv) && decoration(sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1P+0), def), DecoratedInterval(interval(3.14,3.15), com))[2]) == decoration(DecoratedInterval(Interval(3.14,0x1.921FB54442D19P+1), trv)) + + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,0x1P+0), dac), DecoratedInterval(interval(1.57,3.15), com))[2] == DecoratedInterval(Interval(1.57,0x1.921FB54442D1AP+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,0x1P+0), dac), DecoratedInterval(interval(1.57,3.15), com))[2]) == decoration(DecoratedInterval(Interval(1.57,0x1.921FB54442D1AP+1), trv)) + + @test sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(-Inf,3.15), dac))[2] == DecoratedInterval(Interval(-Inf,0x1.921FB54442D19P+1), trv) && decoration(sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(-Inf,3.15), dac))[2]) == decoration(DecoratedInterval(Interval(-Inf,0x1.921FB54442D19P+1), trv)) + + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), com), DecoratedInterval(interval(3.14,Inf), dac))[2] == DecoratedInterval(Interval(0x1.921FB54442D18P+1,Inf), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), com), DecoratedInterval(interval(3.14,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D18P+1,Inf), trv)) + +end + +@testset "minimal_cos_rev_test" begin + + @test cos_rev(emptyinterval())[2] == emptyinterval() + + @test cos_rev(interval(-2.0,-1.1))[2] == emptyinterval() + + @test cos_rev(interval(1.1, 2.0))[2] == emptyinterval() + + @test cos_rev(interval(-1.0,1.0))[2] == entireinterval() + + @test cos_rev(interval(0.0,0.0))[2] == entireinterval() + + @test cos_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53))[2] == entireinterval() + +end + +@testset "minimal_cos_rev_bin_test" begin + + @test cos_rev(emptyinterval(), interval(-1.2,12.1))[2] == emptyinterval() + + @test cos_rev(interval(-2.0,-1.1), interval(-5.0, 5.0))[2] == emptyinterval() + + @test cos_rev(interval(1.1, 2.0), interval(-5.0, 5.0))[2] == emptyinterval() + + @test cos_rev(interval(-1.0,1.0), interval(-1.2,12.1))[2] == Interval(-1.2,12.1) + + @test cos_rev(interval(1.0,1.0), interval(-0.1,0.1))[2] == Interval(0.0,0.0) + + @test cos_rev(interval(-1.0,-1.0), interval(3.14,3.15))[2] == Interval(0x1.921fb54442d18p+1,0x1.921fb54442d1ap+1) + + @test cos_rev(interval(0x1.1A62633145C06P-54,0x1.1A62633145C07P-54), interval(1.57,1.58))[2] == Interval(0x1.921FB54442D17P+0,0x1.921FB54442D19P+0) + + @test cos_rev(interval(-0x1.72CECE675D1FDP-53,-0x1.72CECE675D1FCP-53), interval(1.57,1.58))[2] == Interval(0x1.921FB54442D18P+0,0x1.921FB54442D1AP+0) + + @test cos_rev(interval(-0x1.72CECE675D1FDP-53,0x1.1A62633145C07P-54), interval(1.57,1.58))[2] == Interval(0x1.921FB54442D17P+0,0x1.921FB54442D1aP+0) + + @test cos_rev(interval(0x1.1A62633145C06P-54,1.0), interval(-2.0,2.0))[2] == Interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0) + + @test cos_rev(interval(0x1.1A62633145C06P-54,1.0), interval(0.0,2.0))[2] == Interval(0.0,0x1.921FB54442D19P+0) + + @test cos_rev(interval(-0x1.72CECE675D1FDP-53,1.0), interval(-0.1,1.5708))[2] == Interval(-0.1,0x1.921FB54442D1aP+0) + + @test cos_rev(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), interval(3.14,3.15))[2] == Interval(0x1.921fb52442d18p+1,0x1.921fb56442d1ap+1) + + @test cos_rev(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), interval(-3.15,-3.14))[2] == Interval(-0x1.921fb56442d1ap+1,-0x1.921fb52442d18p+1) + + @test cos_rev(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), interval(9.42,9.45))[2] == Interval(0x1.2d97c7eb321d2p+3,0x1.2d97c7fb321d3p+3) + + @test cos_rev(interval(0x1.87996529F9D92P-1,1.0), interval(-1.0,0.1))[2] == Interval(-0x1.6666666666667p-1,0.1) + + @test cos_rev(interval(-0x1.AA22657537205P-2,0x1.14A280FB5068CP-1), interval(0.0,2.1))[2] == Interval(0x1.fffffffffffffp-1,0x1.0000000000001p+1) + + @test cos_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), interval(-Inf,1.58))[2] == Interval(-Inf,0x1.921FB54442D18P+0) + + @test cos_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), interval(-Inf,1.5))[2] == Interval(-Inf,-0x1.921FB54442D17P+0) + + @test cos_rev(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), interval(-1.58,Inf))[2] == Interval(-0x1.921fb54442d1ap+0,Inf) + + @test cos_rev(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), interval(-1.5,Inf))[2] == Interval(0x1.921fb54442d19p+0,Inf) + +end + +@testset "minimal_cos_rev_dec_test" begin + + @test cos_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cos_rev(DecoratedInterval(interval(-2.0,-1.1), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(-2.0,-1.1), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cos_rev(DecoratedInterval(interval(1.1, 2.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(1.1, 2.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cos_rev(DecoratedInterval(interval(-1.0,1.0), com))[2] == DecoratedInterval(entireinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(-1.0,1.0), com))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test cos_rev(DecoratedInterval(interval(0.0,0.0), def))[2] == DecoratedInterval(entireinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(0.0,0.0), def))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + +end + +@testset "minimal_cos_rev_dec_bin_test" begin + + @test cos_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.2,12.1), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.2,12.1), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cos_rev(DecoratedInterval(interval(-2.0,-1.1), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(-2.0,-1.1), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cos_rev(DecoratedInterval(interval(1.1, 2.0), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(1.1, 2.0), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cos_rev(DecoratedInterval(interval(-1.0,1.0), dac), DecoratedInterval(interval(-1.2,12.1), def))[2] == DecoratedInterval(Interval(-1.2,12.1), trv) && decoration(cos_rev(DecoratedInterval(interval(-1.0,1.0), dac), DecoratedInterval(interval(-1.2,12.1), def))[2]) == decoration(DecoratedInterval(Interval(-1.2,12.1), trv)) + + @test cos_rev(DecoratedInterval(interval(1.0,1.0), def), DecoratedInterval(interval(-0.1,0.1), dac))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(cos_rev(DecoratedInterval(interval(1.0,1.0), def), DecoratedInterval(interval(-0.1,0.1), dac))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test cos_rev(DecoratedInterval(interval(-1.0,-1.0), com), DecoratedInterval(interval(3.14,3.15), dac))[2] == DecoratedInterval(Interval(0x1.921fb54442d18p+1,0x1.921fb54442d1ap+1), trv) && decoration(cos_rev(DecoratedInterval(interval(-1.0,-1.0), com), DecoratedInterval(interval(3.14,3.15), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1,0x1.921fb54442d1ap+1), trv)) + + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,0x1.1A62633145C07P-54), def), DecoratedInterval(interval(1.57,1.58), def))[2] == DecoratedInterval(Interval(0x1.921FB54442D17P+0,0x1.921FB54442D19P+0), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,0x1.1A62633145C07P-54), def), DecoratedInterval(interval(1.57,1.58), def))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D17P+0,0x1.921FB54442D19P+0), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,-0x1.72CECE675D1FCP-53), dac), DecoratedInterval(interval(1.57,1.58), dac))[2] == DecoratedInterval(Interval(0x1.921FB54442D18P+0,0x1.921FB54442D1AP+0), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,-0x1.72CECE675D1FCP-53), dac), DecoratedInterval(interval(1.57,1.58), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D18P+0,0x1.921FB54442D1AP+0), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,0x1.1A62633145C07P-54), com), DecoratedInterval(interval(1.57,1.58), dac))[2] == DecoratedInterval(Interval(0x1.921FB54442D17P+0,0x1.921FB54442D1aP+0), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,0x1.1A62633145C07P-54), com), DecoratedInterval(interval(1.57,1.58), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D17P+0,0x1.921FB54442D1aP+0), trv)) + + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,1.0), def), DecoratedInterval(interval(-2.0,2.0), com))[2] == DecoratedInterval(Interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,1.0), def), DecoratedInterval(interval(-2.0,2.0), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0), trv)) + + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,1.0), dac), DecoratedInterval(interval(0.0,2.0), def))[2] == DecoratedInterval(Interval(0.0,0x1.921FB54442D19P+0), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,1.0), dac), DecoratedInterval(interval(0.0,2.0), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0x1.921FB54442D19P+0), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,1.0), def), DecoratedInterval(interval(-0.1,1.5708), dac))[2] == DecoratedInterval(Interval(-0.1,0x1.921FB54442D1aP+0), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,1.0), def), DecoratedInterval(interval(-0.1,1.5708), dac))[2]) == decoration(DecoratedInterval(Interval(-0.1,0x1.921FB54442D1aP+0), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), dac), DecoratedInterval(interval(3.14,3.15), def))[2] == DecoratedInterval(Interval(0x1.921fb52442d18p+1,0x1.921fb56442d1ap+1), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), dac), DecoratedInterval(interval(3.14,3.15), def))[2]) == decoration(DecoratedInterval(Interval(0x1.921fb52442d18p+1,0x1.921fb56442d1ap+1), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), def), DecoratedInterval(interval(-3.15,-3.14), com))[2] == DecoratedInterval(Interval(-0x1.921fb56442d1ap+1,-0x1.921fb52442d18p+1), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), def), DecoratedInterval(interval(-3.15,-3.14), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.921fb56442d1ap+1,-0x1.921fb52442d18p+1), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), def), DecoratedInterval(interval(9.42,9.45), dac))[2] == DecoratedInterval(Interval(0x1.2d97c7eb321d2p+3,0x1.2d97c7fb321d3p+3), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), def), DecoratedInterval(interval(9.42,9.45), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.2d97c7eb321d2p+3,0x1.2d97c7fb321d3p+3), trv)) + + @test cos_rev(DecoratedInterval(interval(0x1.87996529F9D92P-1,1.0), dac), DecoratedInterval(interval(-1.0,0.1), def))[2] == DecoratedInterval(Interval(-0x1.6666666666667p-1,0.1), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.87996529F9D92P-1,1.0), dac), DecoratedInterval(interval(-1.0,0.1), def))[2]) == decoration(DecoratedInterval(Interval(-0x1.6666666666667p-1,0.1), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1.AA22657537205P-2,0x1.14A280FB5068CP-1), com), DecoratedInterval(interval(0.0,2.1), dac))[2] == DecoratedInterval(Interval(0x1.fffffffffffffp-1,0x1.0000000000001p+1), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.AA22657537205P-2,0x1.14A280FB5068CP-1), com), DecoratedInterval(interval(0.0,2.1), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.fffffffffffffp-1,0x1.0000000000001p+1), trv)) + + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(-Inf,1.58), dac))[2] == DecoratedInterval(Interval(-Inf,0x1.921FB54442D18P+0), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(-Inf,1.58), dac))[2]) == decoration(DecoratedInterval(Interval(-Inf,0x1.921FB54442D18P+0), trv)) + + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), def), DecoratedInterval(interval(-Inf,1.5), dac))[2] == DecoratedInterval(Interval(-Inf,-0x1.921FB54442D17P+0), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), def), DecoratedInterval(interval(-Inf,1.5), dac))[2]) == decoration(DecoratedInterval(Interval(-Inf,-0x1.921FB54442D17P+0), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), dac), DecoratedInterval(interval(-1.58,Inf), dac))[2] == DecoratedInterval(Interval(-0x1.921fb54442d1ap+0,Inf), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), dac), DecoratedInterval(interval(-1.58,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d1ap+0,Inf), trv)) + + @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), def), DecoratedInterval(interval(-1.5,Inf), dac))[2] == DecoratedInterval(Interval(0x1.921fb54442d19p+0,Inf), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), def), DecoratedInterval(interval(-1.5,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921fb54442d19p+0,Inf), trv)) + +end + +@testset "minimal_tan_rev_test" begin + + @test tan_rev(emptyinterval())[2] == emptyinterval() + + @test tan_rev(interval(-1.0,1.0))[2] == entireinterval() + + @test tan_rev(interval(-156.0,-12.0))[2] == entireinterval() + + @test tan_rev(interval(0.0,0.0))[2] == entireinterval() + + @test tan_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53))[2] == entireinterval() + +end + +@testset "minimal_tan_rev_bin_test" begin + + @test tan_rev(emptyinterval(), interval(-1.5708,1.5708))[2] == emptyinterval() + + @test tan_rev(entireinterval(), interval(-1.5708,1.5708))[2] == Interval(-1.5708,1.5708) + + @test tan_rev(interval(0.0,0.0), interval(-1.5708,1.5708))[2] == Interval(0.0,0.0) + + @test tan_rev(interval(0x1.D02967C31CDB4P+53,0x1.D02967C31CDB5P+53), interval(-1.5708,1.5708))[2] == Interval(-0x1.921fb54442d1bp+0,0x1.921fb54442d19p+0) + + @test tan_rev(interval(-0x1.1A62633145C07P-53,-0x1.1A62633145C06P-53), interval(3.14,3.15))[2] == Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1) + + @test tan_rev(interval(0x1.72CECE675D1FCP-52,0x1.72CECE675D1FDP-52), interval(-3.15,3.15))[2] == Interval(-0x1.921FB54442D19P+1,0x1.921FB54442D1aP+1) + + @test tan_rev(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), interval(-Inf,1.5707965))[2] == Interval(-Inf, +0x1.921FB82C2BD7Fp0) + + @test tan_rev(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), interval(-1.5707965,Inf))[2] == Interval(-0x1.921FB82C2BD7Fp0, +Inf) + + @test tan_rev(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), interval(-1.5707965,1.5707965))[2] == Interval(-0x1.921FB82C2BD7Fp0, +0x1.921FB82C2BD7Fp0) + + @test tan_rev(interval(-0x1.D02967C31CDB5P+53,0x1.D02967C31CDB5P+53), interval(-1.5707965,1.5707965))[2] == Interval(-1.5707965,1.5707965) + +end + +@testset "minimal_tan_rev_dec_test" begin + + @test tan_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(tan_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test tan_rev(DecoratedInterval(interval(-1.0,1.0), com))[2] == DecoratedInterval(entireinterval(), trv) && decoration(tan_rev(DecoratedInterval(interval(-1.0,1.0), com))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test tan_rev(DecoratedInterval(interval(-156.0,-12.0), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(tan_rev(DecoratedInterval(interval(-156.0,-12.0), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test tan_rev(DecoratedInterval(interval(0.0,0.0), def))[2] == DecoratedInterval(entireinterval(), trv) && decoration(tan_rev(DecoratedInterval(interval(0.0,0.0), def))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test tan_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com))[2] == DecoratedInterval(entireinterval(), trv) && decoration(tan_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + +end + +@testset "minimal_tan_rev_dec_bin_test" begin + + @test tan_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.5708,1.5708), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(tan_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.5708,1.5708), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test tan_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-1.5708,1.5708), dac))[2] == DecoratedInterval(Interval(-1.5708,1.5708), trv) && decoration(tan_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-1.5708,1.5708), dac))[2]) == decoration(DecoratedInterval(Interval(-1.5708,1.5708), trv)) + + @test tan_rev(DecoratedInterval(interval(0.0,0.0), com), DecoratedInterval(interval(-1.5708,1.5708), def))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(tan_rev(DecoratedInterval(interval(0.0,0.0), com), DecoratedInterval(interval(-1.5708,1.5708), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test tan_rev(DecoratedInterval(interval(0x1.D02967C31CDB4P+53,0x1.D02967C31CDB5P+53), dac), DecoratedInterval(interval(-1.5708,1.5708), def))[2] == DecoratedInterval(Interval(-0x1.921fb54442d1bp+0,0x1.921fb54442d19p+0), trv) && decoration(tan_rev(DecoratedInterval(interval(0x1.D02967C31CDB4P+53,0x1.D02967C31CDB5P+53), dac), DecoratedInterval(interval(-1.5708,1.5708), def))[2]) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d1bp+0,0x1.921fb54442d19p+0), trv)) + + @test tan_rev(DecoratedInterval(interval(-0x1.1A62633145C07P-53,-0x1.1A62633145C06P-53), def), DecoratedInterval(interval(3.14,3.15), dac))[2] == DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1), trv) && decoration(tan_rev(DecoratedInterval(interval(-0x1.1A62633145C07P-53,-0x1.1A62633145C06P-53), def), DecoratedInterval(interval(3.14,3.15), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1), trv)) + + @test tan_rev(DecoratedInterval(interval(0x1.72CECE675D1FCP-52,0x1.72CECE675D1FDP-52), com), DecoratedInterval(interval(-3.15,3.15), com))[2] == DecoratedInterval(Interval(-0x1.921FB54442D19P+1,0x1.921FB54442D1aP+1), trv) && decoration(tan_rev(DecoratedInterval(interval(0x1.72CECE675D1FCP-52,0x1.72CECE675D1FDP-52), com), DecoratedInterval(interval(-3.15,3.15), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.921FB54442D19P+1,0x1.921FB54442D1aP+1), trv)) + + @test tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), def), DecoratedInterval(interval(-Inf,1.5707965), def))[2] == DecoratedInterval(Interval(-Inf,0x1.921FB82C2BD7Fp0), trv) && decoration(tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), def), DecoratedInterval(interval(-Inf,1.5707965), def))[2]) == decoration(DecoratedInterval(Interval(-Inf,0x1.921FB82C2BD7Fp0), trv)) + + @test tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), com), DecoratedInterval(interval(-1.5707965,Inf), dac))[2] == DecoratedInterval(Interval(-0x1.921FB82C2BD7Fp0,Inf), trv) && decoration(tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), com), DecoratedInterval(interval(-1.5707965,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(-0x1.921FB82C2BD7Fp0,Inf), trv)) + + @test tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), com), DecoratedInterval(interval(-1.5707965,1.5707965), com))[2] == DecoratedInterval(Interval(-0x1.921FB82C2BD7Fp0,0x1.921FB82C2BD7Fp0), trv) && decoration(tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), com), DecoratedInterval(interval(-1.5707965,1.5707965), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.921FB82C2BD7Fp0,0x1.921FB82C2BD7Fp0), trv)) + + @test tan_rev(DecoratedInterval(interval(-0x1.D02967C31CDB5P+53,0x1.D02967C31CDB5P+53), dac), DecoratedInterval(interval(-1.5707965,1.5707965), def))[2] == DecoratedInterval(Interval(-1.5707965,1.5707965), trv) && decoration(tan_rev(DecoratedInterval(interval(-0x1.D02967C31CDB5P+53,0x1.D02967C31CDB5P+53), dac), DecoratedInterval(interval(-1.5707965,1.5707965), def))[2]) == decoration(DecoratedInterval(Interval(-1.5707965,1.5707965), trv)) + +end + +@testset "minimal_cosh_rev_test" begin + + @test cosh_rev(emptyinterval())[2] == emptyinterval() + + @test cosh_rev(interval(1.0,Inf))[2] == entireinterval() + + @test cosh_rev(interval(0.0,Inf))[2] == entireinterval() + + @test cosh_rev(interval(1.0,1.0))[2] == Interval(0.0,0.0) + + @test cosh_rev(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432))[2] == Interval(-0x1.2C903022DD7ABP+8,0x1.2C903022DD7ABP+8) + +end + +@testset "minimal_cosh_rev_bin_test" begin + + @test cosh_rev(emptyinterval(), interval(0.0,Inf))[2] == emptyinterval() + + @test cosh_rev(interval(1.0,Inf), interval(0.0,Inf))[2] == Interval(0.0,Inf) + + @test cosh_rev(interval(0.0,Inf), interval(1.0,2.0))[2] == Interval(1.0,2.0) + + @test cosh_rev(interval(1.0,1.0), interval(1.0,Inf))[2] == emptyinterval() + + @test cosh_rev(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), interval(-Inf,0.0))[2] == Interval(-0x1.2C903022DD7ABP+8,-0x1.fffffffffffffp-1) + +end + +@testset "minimal_cosh_rev_dec_test" begin + + @test cosh_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cosh_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cosh_rev(DecoratedInterval(interval(1.0,Inf), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(cosh_rev(DecoratedInterval(interval(1.0,Inf), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test cosh_rev(DecoratedInterval(interval(0.0,Inf), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(cosh_rev(DecoratedInterval(interval(0.0,Inf), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + + @test cosh_rev(DecoratedInterval(interval(1.0,1.0), def))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(cosh_rev(DecoratedInterval(interval(1.0,1.0), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + + @test cosh_rev(DecoratedInterval(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), com))[2] == DecoratedInterval(Interval(-0x1.2C903022DD7ABP+8,0x1.2C903022DD7ABP+8), trv) && decoration(cosh_rev(DecoratedInterval(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.2C903022DD7ABP+8,0x1.2C903022DD7ABP+8), trv)) + +end + +@testset "minimal_cosh_rev_dec_bin_test" begin + + @test cosh_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(0.0,Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cosh_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(0.0,Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cosh_rev(DecoratedInterval(interval(1.0,Inf), def), DecoratedInterval(interval(0.0,Inf), dac))[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(cosh_rev(DecoratedInterval(interval(1.0,Inf), def), DecoratedInterval(interval(0.0,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + + @test cosh_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(1.0,2.0), com))[2] == DecoratedInterval(Interval(1.0,2.0), trv) && decoration(cosh_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(1.0,2.0), com))[2]) == decoration(DecoratedInterval(Interval(1.0,2.0), trv)) + + @test cosh_rev(DecoratedInterval(interval(1.0,1.0), dac), DecoratedInterval(interval(1.0,Inf), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cosh_rev(DecoratedInterval(interval(1.0,1.0), dac), DecoratedInterval(interval(1.0,Inf), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test cosh_rev(DecoratedInterval(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), com), DecoratedInterval(interval(-Inf,0.0), dac))[2] == DecoratedInterval(Interval(-0x1.2C903022DD7ABP+8,-0x1.fffffffffffffp-1), trv) && decoration(cosh_rev(DecoratedInterval(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), com), DecoratedInterval(interval(-Inf,0.0), dac))[2]) == decoration(DecoratedInterval(Interval(-0x1.2C903022DD7ABP+8,-0x1.fffffffffffffp-1), trv)) + +end + +@testset "minimal_mul_rev_test" begin + + @test mul_rev_IEEE1788(emptyinterval(), interval(1.0, 2.0)) == emptyinterval() + + @test mul_rev_IEEE1788(interval(1.0, 2.0), emptyinterval()) == emptyinterval() + + @test mul_rev_IEEE1788(emptyinterval(), emptyinterval()) == emptyinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, -0.4)) == Interval(0x1.999999999999AP-3, 0x1.5P+4) + + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-2.1, -0.4)) == Interval(0x1.999999999999AP-3, Inf) + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, -0.4)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-2.1, -0.4)) == Interval(-Inf, -0x1.745D1745D1745P-2) + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, -0.4)) == Interval(-0x1.A400000000001P+7, -0x1.745D1745D1745P-2) + + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, -0.4)) == emptyinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-2.1, -0.4)) == Interval(0.0, 0x1.5P+4) + + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-2.1, -0.4)) == Interval(0.0, Inf) + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-2.1, -0.4)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-2.1, -0.4)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-2.1, -0.4)) == Interval(-Inf, 0.0) + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-2.1, -0.4)) == Interval(-0x1.A400000000001P+7, 0.0) + + @test mul_rev_IEEE1788(entireinterval(), interval(-2.1, -0.4)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, 0.0)) == Interval(0.0, 0x1.5P+4) + + @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-2.1, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(-2.1, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, 0.0)) == Interval(-0x1.A400000000001P+7, 0.0) + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-2.1, 0.0)) == Interval(0.0, 0x1.5P+4) + + @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-2.1, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-2.1, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-2.1, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(-2.1, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-2.1, 0.0)) == Interval(-0x1.A400000000001P+7, 0.0) + + @test mul_rev_IEEE1788(entireinterval(), interval(-2.1, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, 0.12)) == Interval(-0x1.3333333333333P+0, 0x1.5P+4) + + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, 0.12)) == Interval(-0x1.A400000000001P+7 , 0x1.8P+3) + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-2.1, 0.12)) == Interval(-0x1.3333333333333P+0, 0x1.5P+4) + + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-2.1, 0.12)) == Interval(-0x1.A400000000001P+7 , 0x1.8P+3) + + @test mul_rev_IEEE1788(entireinterval(), interval(-2.1, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, 0.12)) == Interval(-0x1.3333333333333P+0, 0.0) + + @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, 0.12)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, 0.12)) == Interval(0.0, 0x1.8P+3) + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, 0.12)) == Interval(-0x1.3333333333333P+0, 0.0) + + @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, 0.12)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, 0.12)) == Interval(0.0, 0x1.8P+3) + + @test mul_rev_IEEE1788(entireinterval(), interval(0.0, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.01, 0.12)) == Interval(-0x1.3333333333333P+0, -0x1.47AE147AE147BP-8) + + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.01, 0.12)) == Interval(-Inf, -0x1.47AE147AE147BP-8) + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.01, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.01, 0.12)) == Interval(0x1.29E4129E4129DP-7, Inf) + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.01, 0.12)) == Interval(0x1.29E4129E4129DP-7, 0x1.8P+3) + + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.01, 0.12)) == emptyinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.01, 0.12)) == Interval(-0x1.3333333333333P+0, 0.0) + + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.01, 0.12)) == Interval(-Inf, 0.0) + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.01, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.01, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.01, 0.12)) == Interval(0.0, Inf) + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.01, 0.12)) == Interval(0.0, 0x1.8P+3) + + @test mul_rev_IEEE1788(entireinterval(), interval(0.01, 0.12)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, 0.0)) == Interval(0.0, 0.0) + + @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, 0.0)) == Interval(0.0, 0.0) + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, 0.0)) == Interval(0.0, 0.0) + + @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, 0.0)) == Interval(0.0, 0.0) + + @test_skip mul_rev_IEEE1788(entireinterval(), interval(0.0, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-Inf, -0.1)) == Interval(0x1.999999999999AP-5, Inf) + + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-Inf, -0.1)) == Interval(0x1.999999999999AP-5 , Inf) + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-Inf, -0.1)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-Inf, -0.1)) == Interval(-Inf, -0x1.745D1745D1745P-4) + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-Inf, -0.1)) == Interval(-Inf, -0x1.745D1745D1745P-4) + + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, -0.1)) == emptyinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-Inf, -0.1)) == Interval(0.0, Inf) + + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-Inf, -0.1)) == Interval(0.0, Inf) + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-Inf, -0.1)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-Inf, -0.1)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-Inf, -0.1)) == Interval(-Inf, 0.0) + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-Inf, -0.1)) == Interval(-Inf, 0.0) + + @test mul_rev_IEEE1788(entireinterval(), interval(-Inf, -0.1)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-Inf, 0.0)) == Interval(0.0, Inf) + + @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-Inf, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-Inf, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(-Inf, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-Inf, 0.0)) == Interval(0.0, Inf) + + @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-Inf, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-Inf, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-Inf, 0.0)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(-Inf, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test mul_rev_IEEE1788(entireinterval(), interval(-Inf, 0.0)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-Inf, 0.3)) == Interval(-0x1.8P+1, Inf) + + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-Inf, 0.3)) == Interval(-Inf, 0x1.EP+4) + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-Inf, 0.3)) == Interval(-0x1.8P+1, Inf) + + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-Inf, 0.3)) == Interval(-Inf, 0x1.EP+4) + + @test mul_rev_IEEE1788(entireinterval(), interval(-Inf, 0.3)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-0.21, Inf)) == Interval(-Inf , 0x1.0CCCCCCCCCCCDP+1) + + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-0.21, Inf)) == Interval(-0x1.5P+4, Inf) + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-0.21, Inf)) == Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1) + + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-0.21, Inf)) == Interval(-0x1.5P+4, Inf) + + @test mul_rev_IEEE1788(entireinterval(), interval(-0.21, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, Inf)) == Interval(-Inf, 0.0) + + @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, Inf)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, Inf)) == Interval(-Inf, 0.0) + + @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, Inf)) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test mul_rev_IEEE1788(entireinterval(), interval(0.0, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.04, Inf)) == Interval(-Inf, -0x1.47AE147AE147BP-6) + + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.04, Inf)) == Interval(-Inf, -0x1.47AE147AE147BP-6) + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.04, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.04, Inf)) == Interval(0x1.29E4129E4129DP-5, Inf) + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.04, Inf)) == Interval(0x1.29E4129E4129DP-5, Inf) + + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.04, Inf)) == emptyinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.04, Inf)) == Interval(-Inf, 0.0) + + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.04, Inf)) == Interval(-Inf, 0.0) + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.04, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.04, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.04, Inf)) == Interval(0.0, Inf) + + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.04, Inf)) == Interval(0.0, Inf) + + @test mul_rev_IEEE1788(entireinterval(), interval(0.04, Inf)) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 0.0), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, 1.1), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, 1.1), entireinterval()) == entireinterval() + + @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 0.0), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(-Inf, 1.1), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(-2.0, Inf), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.0, Inf), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(interval(0.01, Inf), entireinterval()) == entireinterval() + + @test mul_rev_IEEE1788(entireinterval(), entireinterval()) == entireinterval() + +end + +@testset "minimal_mul_rev_ten_test" begin + + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, -0.4), interval(-2.1, -0.4)) == emptyinterval() + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, -0.4), interval(-2.1, -0.4)) == Interval(-2.1, -0.4) + + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, 0.0), interval(-2.1, 0.0)) == Interval(-2.1,0.0) + + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, 0.12), interval(0.0, 0.12)) == Interval(0.0, 0.0) + + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.04, Inf), interval(0.04, Inf)) == Interval(0.04, Inf) + +end + +@testset "minimal_mul_rev_dec_test" begin + + @test isnai(mul_rev_IEEE1788(nai(), DecoratedInterval(interval(1.0,2.0), dac))) + + @test isnai(mul_rev_IEEE1788(DecoratedInterval(interval(1.0,2.0), dac), nai())) + + @test isnai(mul_rev_IEEE1788(nai(), nai())) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac)) == DecoratedInterval(Interval(0x1.999999999999AP-3, 0x1.5P+4), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac))) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-3, 0x1.5P+4), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.0), def)) == DecoratedInterval(Interval(0.0, 0x1.5P+4), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.0), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.5P+4), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, 0.12), dac)) == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, 0.12), dac))) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com)) == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com))) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(0.01, 0.12), dac)) == DecoratedInterval(Interval(0x1.29E4129E4129DP-7, 0x1.8P+3), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(0.01, 0.12), dac))) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-7, 0x1.8P+3), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), def)) == DecoratedInterval(Interval(-Inf, 0x1.EP+4), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), def))) == decoration(DecoratedInterval(Interval(-Inf, 0x1.EP+4), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), trv), DecoratedInterval(interval(-0.21, Inf), dac)) == DecoratedInterval(Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), trv), DecoratedInterval(interval(-0.21, Inf), dac))) == decoration(DecoratedInterval(Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1), trv)) + +end + +@testset "minimal_mul_rev_dec_ten_test" begin + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac), DecoratedInterval(interval(-2.1, -0.4), dac)) == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac), DecoratedInterval(interval(-2.1, -0.4), dac))) == decoration(DecoratedInterval(emptyinterval(), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, -0.4), com), DecoratedInterval(interval(-2.1, -0.4), com)) == DecoratedInterval(Interval(-2.1, -0.4), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, -0.4), com), DecoratedInterval(interval(-2.1, -0.4), com))) == decoration(DecoratedInterval(Interval(-2.1, -0.4), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), dac)) == DecoratedInterval(Interval(-2.1,0.0), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), dac))) == decoration(DecoratedInterval(Interval(-2.1,0.0), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com), DecoratedInterval(interval(0.0, 0.12), com)) == DecoratedInterval(Interval(0.0, 0.0), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com), DecoratedInterval(interval(0.0, 0.12), com))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) + + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(0.04, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac)) == DecoratedInterval(Interval(0.04, Inf), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(0.04, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))) == decoration(DecoratedInterval(Interval(0.04, Inf), trv)) + +end -end -# FactCheck.exitstatus() diff --git a/test/pow_rev.jl b/test/pow_rev.jl new file mode 100644 index 0000000..0448f3c --- /dev/null +++ b/test/pow_rev.jl @@ -0,0 +1,1616 @@ +@testset "minimal.powRev1_test" begin + + @test pow_rev1(emptyinterval(), emptyinterval(), emptyinterval()) == emptyinterval() + + @test pow_rev1(emptyinterval(), entireinterval(), emptyinterval()) == emptyinterval() + + @test pow_rev1(entireinterval(), emptyinterval(), emptyinterval()) == emptyinterval() + + @test pow_rev1(entireinterval(), entireinterval(), emptyinterval()) == emptyinterval() + + @test pow_rev1(emptyinterval(), emptyinterval(), entireinterval()) == emptyinterval() + + @test pow_rev1(emptyinterval(), entireinterval(), entireinterval()) == emptyinterval() + + @test pow_rev1(entireinterval(), emptyinterval(), entireinterval()) == emptyinterval() + + @test pow_rev1(entireinterval(), entireinterval(), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), entireinterval(), interval(-Inf,-1.0)) == emptyinterval() + + @test_skip pow_rev1(interval(-Inf,-1.0), entireinterval(), interval(-Inf,0.0)) == emptyinterval() + + @test_skip pow_rev1(interval(-Inf,0.0), entireinterval(), interval(-Inf,0.0)) == emptyinterval() + + @test pow_rev1(interval(-Inf,0.0), interval(-Inf,0.0), entireinterval()) == emptyinterval() + + @test_skip pow_rev1(interval(-Inf,0.0), interval(-Inf,0.9), interval(0.0,1.0)) == emptyinterval() + + @test_skip pow_rev1(interval(-Inf,0.0), interval(1.1,Inf), interval(1.0,Inf)) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,Inf), interval(1.1,Inf), interval(0.0,1.0)) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,Inf), interval(-Inf,0.9), interval(1.0,Inf)) == emptyinterval() + + @test pow_rev1(interval(0.0,0.0), interval(1.0,1.0), interval(-Inf,0.0)) == emptyinterval() + + @test pow_rev1(entireinterval(), interval(0.0,0.0), entireinterval()) == Interval(0.0,0.0) + + @test pow_rev1(entireinterval(), interval(-Inf,0.0), entireinterval()) == Interval(0.0,0.0) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,0.0), entireinterval()) == Interval(0.0,0.0) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,0.0), entireinterval()) == Interval(0.0,0.0) + + @test pow_rev1(interval(1.0,2.0), interval(0.0,0.0), entireinterval()) == Interval(0.0,0.0) + + @test pow_rev1(interval(1.0,1.0), interval(0.0,0.0), interval(0.0,0.0)) == Interval(0.0,0.0) + + @test pow_rev1(entireinterval(), interval(1.0,1.0), interval(1.0,1.0)) == Interval(1.0,1.0) + + @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,1.0), entireinterval()) == Interval(0.0,Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,1.0), interval(2.0,3.0)) == Interval(2.0,3.0) + + @test_skip pow_rev1(entireinterval(), interval(1.0,1.0), entireinterval()) == Interval(0.0,Inf) + + @test_skip pow_rev1(entireinterval(), interval(1.0,1.0), interval(20.0,30.0)) == Interval(20.0,30.0) + + @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,1.0), interval(1.0,1.0)) == Interval(1.0,1.0) + + @test pow_rev1(interval(-4.0,-2.0), interval(0.0,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-Inf,-2.0), interval(0.0,0.5), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,-2.0), interval(-Inf,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-Inf,-2.0), interval(-Inf,0.5), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,-2.0), interval(0.25,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, 2.0) + + @test pow_rev1(interval(-Inf,-2.0), interval(0.25,0.5), entireinterval()) == Interval(1.0, 2.0) + + @test pow_rev1(interval(-4.0,-2.0), interval(0.25,1.0), entireinterval()) == Interval(1.0, 2.0) + + @test pow_rev1(interval(-Inf,-2.0), interval(0.25,1.0), entireinterval()) == Interval(1.0, 2.0) + + @test pow_rev1(interval(-4.0,-2.0), interval(1.0,1.0), entireinterval()) == Interval(1.0, 1.0) + + @test pow_rev1(interval(-Inf,-2.0), interval(1.0,1.0), entireinterval()) == Interval(1.0, 1.0) + + @test pow_rev1(interval(-4.0,-2.0), interval(0.0,1.0), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,-2.0), interval(0.0,1.0), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,-2.0), interval(0.0,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + + @test pow_rev1(interval(-Inf,-2.0), interval(0.0,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + + @test pow_rev1(interval(-4.0,-2.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,-2.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,-2.0), interval(-Inf,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + + @test pow_rev1(interval(-Inf,-2.0), interval(-Inf,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + + @test pow_rev1(interval(-4.0,-2.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,-2.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,-2.0), interval(0.5,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(-Inf,-2.0), interval(0.5,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(-4.0,-2.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(-Inf,-2.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(-4.0,-2.0), interval(1.0,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 1.0) + + @test pow_rev1(interval(-Inf,-2.0), interval(1.0,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 1.0) + + @test pow_rev1(interval(-4.0,-2.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,-2.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,-2.0), interval(2.0,4.0), entireinterval()) == Interval(0.5, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(-Inf,-2.0), interval(2.0,4.0), entireinterval()) == Interval(0.5, 1.0) + + @test pow_rev1(interval(-4.0,-2.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(-Inf,-2.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,0.0), interval(0.0,0.5), entireinterval()) == emptyinterval() + + @test pow_rev1(interval(0.0,0.0), interval(-Inf,0.5), entireinterval()) == emptyinterval() + + @test pow_rev1(interval(0.0,0.0), interval(0.25,0.5), entireinterval()) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,0.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,0.0), interval(2.0,4.0), entireinterval()) == emptyinterval() + + @test pow_rev1(interval(0.0,0.0), interval(2.0,Inf), entireinterval()) == emptyinterval() + + @test pow_rev1(interval(-4.0,0.0), interval(0.0,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(0.0,0.5), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(-Inf,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(-Inf,0.5), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(0.25,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(0.25,0.5), entireinterval()) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(-4.0,0.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-Inf,0.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,0.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-Inf,0.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,0.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-Inf,0.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,0.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,0.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-Inf,0.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,0.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-Inf,0.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,0.0), interval(2.0,4.0), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(-Inf,0.0), interval(2.0,4.0), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,0.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(-Inf,0.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.0,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(-Inf,0.5), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test_skip pow_rev1(interval(-Inf,4.0), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test_skip pow_rev1(interval(-Inf,4.0), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(0.0,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(-Inf,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(-4.0,Inf), interval(0.0,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(entireinterval(), interval(0.0,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(-4.0,Inf), interval(-Inf,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(entireinterval(), interval(-Inf,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.25,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.25,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.25,0.5), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.25,0.5), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test_skip pow_rev1(interval(-Inf,4.0), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(-4.0,Inf), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(0.25,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.25,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(-4.0,Inf), interval(0.25,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(entireinterval(), interval(0.25,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-Inf,4.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,Inf), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(entireinterval(), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-Inf,4.0), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-4.0,Inf), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(entireinterval(), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(-Inf,4.0), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(-4.0,Inf), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(entireinterval(), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-Inf,4.0), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,Inf), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(entireinterval(), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(-4.0,4.0), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(2.0,4.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(2.0,4.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,4.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-Inf,4.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(2.0,4.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(2.0,4.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(2.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(entireinterval(), interval(2.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(2.0,4.0), interval(0.0,1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(-Inf,4.0), interval(2.0,4.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(2.0,Inf), interval(0.0,1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(-Inf,4.0), interval(2.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-4.0,Inf), interval(2.0,4.0), interval(0.0,1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(entireinterval(), interval(2.0,4.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-4.0,Inf), interval(2.0,Inf), interval(0.0,1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(entireinterval(), interval(2.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(2.0,4.0), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test_skip pow_rev1(interval(-Inf,4.0), interval(2.0,4.0), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test_skip pow_rev1(interval(-4.0,4.0), interval(2.0,Inf), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test_skip pow_rev1(interval(-Inf,4.0), interval(2.0,Inf), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(2.0,4.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(2.0,4.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(-4.0,Inf), interval(2.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(entireinterval(), interval(2.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,0.5), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,0.5), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,0.5), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,0.5), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,0.5), interval(1.0, Inf)) == emptyinterval() + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,0.5), interval(1.0, Inf)) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,Inf), interval(0.0,0.5), interval(1.0, Inf)) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,Inf), interval(-Inf,0.5), interval(1.0, Inf)) == emptyinterval() + + @test pow_rev1(interval(0.0,4.0), interval(0.25,0.5), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(0.0,Inf), interval(0.25,0.5), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(0.0,Inf), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(0.25,0.5), interval(1.0, Inf)) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,Inf), interval(0.25,0.5), interval(1.0, Inf)) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,4.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,Inf), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(0.0,4.0), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(0.0,Inf), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(0.0,4.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,Inf), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(0.0,4.0), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(0.0,Inf), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,Inf), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + + @test pow_rev1(interval(0.0,4.0), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(2.0,4.0), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(2.0,Inf), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(2.0,4.0), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(2.0,Inf), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(2.0,4.0), interval(0.0,1.0)) == emptyinterval() + + @test pow_rev1(interval(0.0,4.0), interval(2.0,Inf), interval(0.0,1.0)) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,Inf), interval(2.0,4.0), interval(0.0,1.0)) == emptyinterval() + + @test_skip pow_rev1(interval(0.0,Inf), interval(2.0,Inf), interval(0.0,1.0)) == emptyinterval() + + @test pow_rev1(interval(0.0,4.0), interval(2.0,4.0), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(0.0,4.0), interval(2.0,Inf), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(2.0,4.0), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(0.0,Inf), interval(2.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + + @test pow_rev1(interval(2.0,4.0), interval(0.0,0.5), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(2.0,4.0), interval(-Inf,0.5), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(2.0,Inf), interval(0.0,0.5), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(2.0,Inf), interval(-Inf,0.5), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(2.0,4.0), interval(0.25,0.5), entireinterval()) == Interval(0.5, 0x1.AE89F995AD3AEp-1) + + @test pow_rev1(interval(2.0,Inf), interval(0.25,0.5), entireinterval()) == Interval(0.5, 1.0) + + @test pow_rev1(interval(2.0,4.0), interval(0.25,1.0), entireinterval()) == Interval(0.5, 1.0) + + @test pow_rev1(interval(2.0,4.0), interval(1.0,1.0), entireinterval()) == Interval(1.0, 1.0) + + @test pow_rev1(interval(2.0,Inf), interval(0.25,1.0), entireinterval()) == Interval(0.5, 1.0) + + @test pow_rev1(interval(2.0,Inf), interval(1.0,1.0), entireinterval()) == Interval(1.0, 1.0) + + @test pow_rev1(interval(2.0,4.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(2.0,Inf), interval(0.0,1.0), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev1(interval(2.0,4.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(2.0,4.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(2.0,4.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(2.0,4.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(2.0,Inf), interval(0.0,2.0), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(2.0,Inf), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(2.0,Inf), interval(-Inf,2.0), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(2.0,Inf), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev1(interval(2.0,4.0), interval(0.5,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(2.0,4.0), interval(0.5,Inf), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + + @test pow_rev1(interval(2.0,Inf), interval(0.5,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(2.0,Inf), interval(0.5,Inf), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + + @test pow_rev1(interval(2.0,4.0), interval(1.0,2.0), entireinterval()) == Interval(1.0, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(2.0,4.0), interval(1.0,Inf), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(2.0,Inf), interval(1.0,2.0), entireinterval()) == Interval(1.0, 0x1.6A09E667F3BCDp0) + + @test pow_rev1(interval(2.0,Inf), interval(1.0,Inf), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev1(interval(2.0,4.0), interval(2.0,4.0), entireinterval()) == Interval(0x1.306FE0A31B715p0, 2.0) + + @test pow_rev1(interval(2.0,4.0), interval(2.0,Inf), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + + @test pow_rev1(interval(2.0,Inf), interval(2.0,4.0), entireinterval()) == Interval(1.0, 2.0) + + @test pow_rev1(interval(2.0,Inf), interval(2.0,Inf), entireinterval()) == Interval(1.0, Inf) + +end + +@testset "minimal.powRev2_test" begin + + @test pow_rev2(emptyinterval(), emptyinterval(), emptyinterval()) == emptyinterval() + + @test pow_rev2(emptyinterval(), entireinterval(), emptyinterval()) == emptyinterval() + + @test pow_rev2(entireinterval(), emptyinterval(), emptyinterval()) == emptyinterval() + + @test pow_rev2(entireinterval(), entireinterval(), emptyinterval()) == emptyinterval() + + @test pow_rev2(emptyinterval(), emptyinterval(), entireinterval()) == emptyinterval() + + @test pow_rev2(emptyinterval(), entireinterval(), entireinterval()) == emptyinterval() + + @test pow_rev2(entireinterval(), emptyinterval(), entireinterval()) == emptyinterval() + + @test pow_rev2(entireinterval(), entireinterval(), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 0.0), interval(-Inf, -0.1), entireinterval()) == emptyinterval() + + @test pow_rev2(interval(0.0, 0.0), interval(0.1, Inf), entireinterval()) == emptyinterval() + + @test pow_rev2(interval(0.0, 0.0), interval(0.0, 0.0), interval(-Inf, 0.0)) == emptyinterval() + + @test_skip pow_rev2(interval(-Inf, 0.9), interval(0.0, 0.9), interval(-Inf, 0.0)) == emptyinterval() + + @test_skip pow_rev2(interval(1.1, Inf), interval(1.1, Inf), interval(-Inf, 0.0)) == emptyinterval() + + @test_skip pow_rev2(interval(-Inf, 0.9), interval(1.1, Inf), interval(0.0, Inf)) == emptyinterval() + + @test_skip pow_rev2(interval(1.1, Inf), interval(0.0, 0.9), interval(0.0, Inf)) == emptyinterval() + + @test_skip pow_rev2(interval(0.0, 0.0), interval(0.0, 0.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(-Inf, 0.0), interval(-Inf, 0.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(-Inf, 0.0), interval(-Inf, 0.0), interval(1.0, 2.0)) == Interval(1.0, 2.0) + + @test_skip pow_rev2(entireinterval(), interval(0.0, 0.0), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev2(entireinterval(), interval(-Inf, 0.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(entireinterval(), interval(-Inf, 0.0), interval(1.0, 2.0)) == Interval(1.0, 2.0) + + @test_skip pow_rev2(interval(0.0, 0.0), entireinterval(), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(-Inf, 0.0), entireinterval(), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(-Inf, 0.0), entireinterval(), interval(1.0, 2.0)) == Interval(1.0, 2.0) + + @test_skip pow_rev2(interval(1.0, 1.0), entireinterval(), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(1.0, 1.0), interval(2.0, 3.0)) == Interval(2.0, 3.0) + + @test_skip pow_rev2(entireinterval(), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(entireinterval(), interval(1.0, 1.0), interval(2.0, 3.0)) == Interval(2.0, 3.0) + + @test pow_rev2(interval(2.0, 3.0), interval(1.0, 1.0), entireinterval()) == Interval(0.0, 0.0) + + @test pow_rev2(interval(2.0, 3.0), interval(1.0, 1.0), interval(2.0, 3.0)) == emptyinterval() + + @test pow_rev2(interval(0.0, 0.5), interval(0.0, 0.5), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 0.5), interval(0.0, 0.5), interval(-Inf, 0.0)) == emptyinterval() + + @test_skip pow_rev2(interval(0.0, 0.5), interval(0.25, 0.5), entireinterval()) == Interval(0.0, 2.0) + + @test_skip pow_rev2(interval(0.0, 0.25), interval(0.5, 1.0), entireinterval()) == Interval(0.0, 0.5) + + @test pow_rev2(interval(0.0, 0.25), interval(1.0, 1.0), entireinterval()) == Interval(0.0, 0.0) + + @test pow_rev2(interval(0.0, 0.25), interval(0.0, 1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 0.25), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(0.0, 0.0) + + @test_skip pow_rev2(interval(0.0, 0.25), interval(0.0, 2.0), entireinterval()) == Interval(-0.5, Inf) + + @test pow_rev2(interval(0.0, 0.25), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.0, 0.25), interval(0.5, 2.0), entireinterval()) == Interval(-0.5, 0.5) + + @test_skip pow_rev2(interval(0.0, 0.25), interval(0.5, Inf), entireinterval()) == Interval(-Inf, 0.5) + + @test_skip pow_rev2(interval(0.0, 0.25), interval(1.0, 2.0), entireinterval()) == Interval(-0.5, 0.0) + + @test pow_rev2(interval(0.0, 0.25), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, 0.0) + + @test pow_rev2(interval(0.0, 0.25), interval(1.0, Inf), entireinterval()) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 0.25), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, 0.0) + + @test_skip pow_rev2(interval(0.0, 0.25), interval(2.0, 4.0), entireinterval()) == Interval(-1.0, 0.0) + + @test_skip pow_rev2(interval(0.0, 0.25), interval(2.0, 4.0), interval(0.0, Inf)) == emptyinterval() + + @test pow_rev2(interval(0.0, 0.25), interval(2.0, Inf), entireinterval()) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 0.25), interval(2.0, Inf), interval(0.0, Inf)) == emptyinterval() + + @test_skip pow_rev2(interval(0.25, 0.5), interval(0.0, 0.5), entireinterval()) == Interval(0.5, Inf) + + @test_skip pow_rev2(interval(0.25, 0.5), interval(0.25, 0.5), entireinterval()) == Interval(0.5, 2.0) + + @test_skip pow_rev2(interval(0.25, 0.5), interval(0.5, 1.0), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev2(interval(0.25, 0.5), interval(1.0, 1.0), entireinterval()) == Interval(0.0, 0.0) + + @test pow_rev2(interval(0.25, 0.5), interval(0.0, 1.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.25, 0.5), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(0.0, 0.0) + + @test_skip pow_rev2(interval(0.25, 0.5), interval(0.0, 2.0), entireinterval()) == Interval(-1.0, Inf) + + @test pow_rev2(interval(0.25, 0.5), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.25, 0.5), interval(0.5, 2.0), entireinterval()) == Interval(-1.0, 1.0) + + @test_skip pow_rev2(interval(0.25, 0.5), interval(0.5, Inf), entireinterval()) == Interval(-Inf, 1.0) + + @test_skip pow_rev2(interval(0.25, 0.5), interval(1.0, 2.0), entireinterval()) == Interval(-1.0, 0.0) + + @test pow_rev2(interval(0.25, 0.5), interval(1.0, Inf), entireinterval()) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.25, 0.5), interval(2.0, 4.0), entireinterval()) == Interval(-2.0, -0.5) + + @test_skip pow_rev2(interval(0.25, 0.5), interval(2.0, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(0.0, 0.5), entireinterval()) == Interval(0.5, Inf) + + @test pow_rev2(interval(1.0, 1.0), interval(0.0, 0.5), entireinterval()) == emptyinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(0.25, 0.5), entireinterval()) == Interval(0.5, Inf) + + @test pow_rev2(interval(1.0, 1.0), interval(0.25, 0.5), entireinterval()) == emptyinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.25, 1.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.25, 1.0), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.25, 1.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.25, 1.0), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 1.0), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(2.0, 4.0), entireinterval()) == Interval(-Inf, -0.5) + + @test pow_rev2(interval(1.0, 1.0), interval(2.0, 4.0), entireinterval()) == emptyinterval() + + @test_skip pow_rev2(interval(0.25, 1.0), interval(2.0, Inf), entireinterval()) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, 1.0), interval(2.0, Inf), entireinterval()) == emptyinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 0.5), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(0.0, 0.5), interval(-Inf, 0.0)) == emptyinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 1.0), interval(0.25, 0.5), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(0.25, 0.5), interval(-Inf, 0.0)) == emptyinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(0.25, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.0, 1.0), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 1.0), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.0, 1.0), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 1.0), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 1.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 1.0), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 1.0), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 1.0), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(1.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 1.0), interval(2.0, 4.0), entireinterval()) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 1.0), interval(2.0, 4.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(2.0, 4.0), interval(0.0, Inf)) == emptyinterval() + + @test pow_rev2(interval(0.0, 1.0), interval(2.0, Inf), entireinterval()) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 1.0), interval(2.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 1.0), interval(2.0, Inf), interval(0.0, Inf)) == emptyinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 0.5), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.0, 2.0), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 0.5), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(0.25, 0.5), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.0, 2.0), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + + @test pow_rev2(interval(0.0, 2.0), interval(0.25, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(0.25, 0.5), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -0.0) + + @test pow_rev2(interval(0.0, Inf), interval(0.25, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.0, 2.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 2.0), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, 2.0), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.0, Inf), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, Inf), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.0, Inf), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 2.0), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 2.0), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 2.0), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(1.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, 2.0), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(1.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(2.0, 4.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(2.0, 4.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 2.0), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(2.0, 4.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(2.0, 4.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.0, 2.0), interval(2.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, 2.0), interval(2.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.0, 2.0), interval(2.0, Inf), interval(0.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev2(interval(0.0, Inf), interval(2.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.0, Inf), interval(2.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.0, Inf), interval(2.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 0.5), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.5, 2.0), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + + @test_skip pow_rev2(interval(0.5, 2.0), interval(0.0, 0.5), interval(0.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(0.0, 0.5), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.5, Inf), interval(0.0, 0.5), interval(0.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(0.25, 0.5), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.5, 2.0), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + + @test_skip pow_rev2(interval(0.5, 2.0), interval(0.25, 0.5), interval(0.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(0.25, 0.5), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.5, Inf), interval(0.25, 0.5), interval(0.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.5, 2.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.5, 2.0), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.5, 2.0), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.5, Inf), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(0.5, Inf), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, Inf), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(0.5, Inf), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, Inf), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, Inf), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, 2.0), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, Inf), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, Inf), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, 2.0), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, Inf), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, 2.0), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, 2.0), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, Inf), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, 2.0), interval(1.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, 2.0), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(0.5, Inf), interval(1.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(0.5, Inf), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(0.5, 2.0), interval(2.0, 4.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.5, 2.0), interval(2.0, 4.0), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + + @test_skip pow_rev2(interval(0.5, 2.0), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev2(interval(0.5, Inf), interval(2.0, 4.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(0.5, Inf), interval(2.0, 4.0), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + + @test pow_rev2(interval(0.5, Inf), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(0.0, 0.5), entireinterval()) == Interval(-Inf, -1.0) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + + @test pow_rev2(interval(1.0, 2.0), interval(0.0, 0.5), interval(0.0, Inf)) == emptyinterval() + + @test pow_rev2(interval(1.0, Inf), interval(0.0, 0.5), entireinterval()) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, Inf), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, Inf), interval(0.0, 0.5), interval(0.0, Inf)) == emptyinterval() + + @test_skip pow_rev2(interval(1.0, 2.0), interval(0.25, 0.5), entireinterval()) == Interval(-Inf, -1.0) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + + @test pow_rev2(interval(1.0, 2.0), interval(0.25, 0.5), interval(0.0, Inf)) == emptyinterval() + + @test pow_rev2(interval(1.0, Inf), interval(0.25, 0.5), entireinterval()) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, Inf), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, Inf), interval(0.25, 0.5), interval(0.0, Inf)) == emptyinterval() + + @test_skip pow_rev2(interval(1.0, 2.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, 2.0), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(1.0, Inf), interval(0.5, 1.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, Inf), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, Inf), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, 2.0), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(1.0, Inf), interval(0.0, 1.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, Inf), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, Inf), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, 2.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, 2.0), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, 2.0), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, Inf), interval(0.0, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, Inf), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, Inf), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, 2.0), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, 2.0), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, 2.0), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, Inf), interval(0.0, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, Inf), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, Inf), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, 2.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, 2.0), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, 2.0), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, Inf), interval(0.5, 2.0), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, Inf), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, Inf), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, 2.0), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, 2.0), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, 2.0), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, Inf), interval(0.5, Inf), entireinterval()) == entireinterval() + + @test pow_rev2(interval(1.0, Inf), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, Inf), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, Inf), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, 2.0), entireinterval()) == entireinterval() + + @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(1.0, 2.0), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, Inf), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(1.0, 2.0), interval(2.0, 4.0), entireinterval()) == Interval(1.0, Inf) + + @test pow_rev2(interval(1.0, Inf), interval(2.0, 4.0), entireinterval()) == Interval(0.0, Inf) + + @test pow_rev2(interval(1.0, 2.0), interval(2.0, 4.0), interval(-Inf, 0.0)) == emptyinterval() + + @test_skip pow_rev2(interval(1.0, Inf), interval(2.0, 4.0), interval(-Inf, 0.0)) == emptyinterval() + + @test_skip pow_rev2(interval(1.0, 2.0), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(1.0, Inf) + + @test pow_rev2(interval(1.0, Inf), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(2.0, 4.0), interval(0.0, 0.5), entireinterval()) == Interval(-Inf, -0.5) + + @test pow_rev2(interval(2.0, Inf), interval(0.0, 0.5), entireinterval()) == Interval(-Inf, 0.0) + + @test_skip pow_rev2(interval(2.0, Inf), interval(0.0, 0.5), interval(0.0, Inf)) == emptyinterval() + + @test_skip pow_rev2(interval(2.0, 4.0), interval(0.25, 0.5), entireinterval()) == Interval(-2.0, -0.5) + + @test_skip pow_rev2(interval(2.0, Inf), interval(0.25, 0.5), entireinterval()) == Interval(-2.0, 0.0) + + @test_skip pow_rev2(interval(2.0, Inf), interval(0.25, 0.5), interval(0.0, Inf)) == emptyinterval() + + @test_skip pow_rev2(interval(2.0, 4.0), interval(0.5, 1.0), entireinterval()) == Interval(-1.0, 0.0) + + @test_skip pow_rev2(interval(2.0, Inf), interval(0.5, 1.0), entireinterval()) == Interval(-1.0, 0.0) + + @test pow_rev2(interval(2.0, 4.0), interval(1.0, 1.0), entireinterval()) == Interval(0.0, 0.0) + + @test pow_rev2(interval(2.0, Inf), interval(1.0, 1.0), entireinterval()) == Interval(0.0, 0.0) + + @test pow_rev2(interval(2.0, 4.0), interval(0.0, 1.0), entireinterval()) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(2.0, Inf), interval(0.0, 1.0), entireinterval()) == Interval(-Inf, 0.0) + + @test pow_rev2(interval(2.0, 4.0), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, 0.0) + + @test pow_rev2(interval(2.0, Inf), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, 0.0) + + @test_skip pow_rev2(interval(2.0, 4.0), interval(0.0, 2.0), entireinterval()) == Interval(-Inf, 1.0) + + @test_skip pow_rev2(interval(2.0, Inf), interval(0.0, 2.0), entireinterval()) == Interval(-Inf, 1.0) + + @test_skip pow_rev2(interval(2.0, 4.0), interval(0.5, 2.0), entireinterval()) == Interval(-1.0, 1.0) + + @test_skip pow_rev2(interval(2.0, Inf), interval(0.5, 2.0), entireinterval()) == Interval(-1.0, 1.0) + + @test_skip pow_rev2(interval(2.0, 4.0), interval(1.0, 2.0), entireinterval()) == Interval(0.0, 1.0) + + @test_skip pow_rev2(interval(2.0, Inf), interval(1.0, 2.0), entireinterval()) == Interval(0.0, 1.0) + + @test pow_rev2(interval(2.0, 4.0), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(0.0, 0.0) + + @test pow_rev2(interval(2.0, Inf), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(0.0, 0.0) + + @test_skip pow_rev2(interval(2.0, 4.0), interval(2.0, 4.0), entireinterval()) == Interval(0.5, 2.0) + + @test_skip pow_rev2(interval(2.0, Inf), interval(2.0, 4.0), entireinterval()) == Interval(0.0, 2.0) + + @test_skip pow_rev2(interval(2.0, Inf), interval(2.0, 4.0), interval(-Inf, 0.0)) == emptyinterval() + + @test_skip pow_rev2(interval(2.0, 4.0), interval(2.0, Inf), entireinterval()) == Interval(0.5, Inf) + + @test pow_rev2(interval(2.0, Inf), interval(2.0, Inf), entireinterval()) == Interval(0.0, Inf) + + @test_skip pow_rev2(interval(2.0, Inf), interval(2.0, Inf), interval(-Inf, 0.0)) == emptyinterval() + +end + diff --git a/test/runtests.jl b/test/runtests.jl index be1dfad..3e551a3 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -5,6 +5,7 @@ using Test @testset "IntervalContractors tests" begin include("abs_rev.jl") include("libieeep1788_rev.jl") + include("libieeep1788_mul_rev.jl") include("Non1788tests.jl") @testset "power_rev for odd power" begin From 8068bab59d3e89bad3b0af3cc0a2e8e953d29d98 Mon Sep 17 00:00:00 2001 From: lucaferranti Date: Wed, 2 Jun 2021 08:49:53 +0300 Subject: [PATCH 06/10] fix mul_rev_IEEE --- src/arithmetic.jl | 4 +-- test/libieeep1788_rev.jl | 66 ++++++++++++++++++++-------------------- 2 files changed, 34 insertions(+), 36 deletions(-) diff --git a/src/arithmetic.jl b/src/arithmetic.jl index e973b28..e8321f6 100644 --- a/src/arithmetic.jl +++ b/src/arithmetic.jl @@ -205,9 +205,7 @@ According to the IEEE-1788 standard: When `∘` is commutative, these agree and we write `∘_rev(b, c, x)`. """ -function mul_rev_IEEE1788(b, c, x) # c = b*x - return x ∩ (c / b) -end +mul_rev_IEEE1788(b, c, x) = mul_rev(c, x, b)[2] function pow_rev1(b, c, x) # c = x^b return x ∩ c^(1/b) # replace by 1//b diff --git a/test/libieeep1788_rev.jl b/test/libieeep1788_rev.jl index a2225db..4261516 100644 --- a/test/libieeep1788_rev.jl +++ b/test/libieeep1788_rev.jl @@ -1322,25 +1322,25 @@ end @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, 0.0)) == Interval(0.0, 0x1.5P+4) - @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-2.1, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-2.1, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, 0.0)) == Interval(-0x1.A400000000001P+7, 0.0) - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-2.1, 0.0)) == Interval(0.0, 0x1.5P+4) - @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-2.1, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-2.1, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-2.1, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-2.1, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-2.1, 0.0)) == Interval(-0x1.A400000000001P+7, 0.0) @@ -1356,7 +1356,7 @@ end @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, 0.12)) == Interval(-0x1.A400000000001P+7 , 0x1.8P+3) - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, 0.12)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-2.1, 0.12)) == Interval(-0x1.3333333333333P+0, 0x1.5P+4) @@ -1374,25 +1374,25 @@ end @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, 0.12)) == Interval(-0x1.3333333333333P+0, 0.0) - @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, 0.12)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, 0.12)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, 0.12)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, 0.12)) == Interval(0.0, 0x1.8P+3) - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, 0.12)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, 0.12)) == Interval(-0x1.3333333333333P+0, 0.0) - @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, 0.12)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, 0.12)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, 0.12)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, 0.12)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, 0.12)) == Interval(0.0, 0x1.8P+3) @@ -1426,29 +1426,29 @@ end @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, 0.0)) == Interval(0.0, 0.0) - @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, 0.0)) == Interval(0.0, 0.0) - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, 0.0)) == Interval(0.0, 0.0) - @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, 0.0)) == Interval(0.0, 0.0) - @test_skip mul_rev_IEEE1788(entireinterval(), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(entireinterval(), interval(0.0, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-Inf, -0.1)) == Interval(0x1.999999999999AP-5, Inf) @@ -1478,25 +1478,25 @@ end @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-Inf, 0.0)) == Interval(0.0, Inf) - @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-Inf, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-Inf, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-Inf, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-Inf, 0.0)) == Interval(0.0, Inf) - @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-Inf, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-Inf, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-Inf, 0.0)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-Inf, 0.0)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) @@ -1512,7 +1512,7 @@ end @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-Inf, 0.3)) == Interval(-Inf, 0x1.EP+4) - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, 0.3)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, 0.3)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-Inf, 0.3)) == Interval(-0x1.8P+1, Inf) @@ -1538,7 +1538,7 @@ end @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-0.21, Inf)) == Interval(-0x1.5P+4, Inf) - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(-0.21, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-0.21, Inf)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-0.21, Inf)) == Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1) @@ -1556,25 +1556,25 @@ end @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, Inf)) == Interval(-Inf, 0.0) - @test_skip mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, Inf)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, Inf)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, Inf)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, Inf)) == Interval(0.0, Inf) - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, Inf)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, Inf)) == Interval(-Inf, 0.0) - @test_skip mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, Inf)) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, Inf)) == entireinterval() @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, Inf)) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, Inf)) == entireinterval() @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) @@ -1616,7 +1616,7 @@ end @test mul_rev_IEEE1788(interval(0.01, 1.1), entireinterval()) == entireinterval() - @test_skip mul_rev_IEEE1788(interval(0.0, 0.0), entireinterval()) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), entireinterval()) == entireinterval() @test mul_rev_IEEE1788(interval(-Inf, -0.1), entireinterval()) == entireinterval() From 4371384304b34a167f48cb6dd521380d5b219514 Mon Sep 17 00:00:00 2001 From: lucaferranti Date: Thu, 27 Jan 2022 21:23:45 +0200 Subject: [PATCH 07/10] added docstrings for power_rev, pow_rev1, pow_rev2 --- .gitignore | 1 + src/arithmetic.jl | 86 ++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 79 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 8c960ec..3f02ca7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ *.jl.cov *.jl.*.cov *.jl.mem +Manifest.toml diff --git a/src/arithmetic.jl b/src/arithmetic.jl index e8321f6..4d1f824 100644 --- a/src/arithmetic.jl +++ b/src/arithmetic.jl @@ -1,6 +1,16 @@ """ -Reverse plus + plus_rev(a::Interval, b::Interval[, c::Interval]) + +Reverse addition. Calculates the preimage of `a = b + c` for `b` and `c`. + +### Output + +The triplet `(a, b_new, c_new)` where + +- `a` remains unchanged +- `b_new` is the interval hull of the set ``{x ∈ b : ∃ y ∈ c, x + y ∈ a}`` +- `c_new` is the interval hull of the set ``{y ∈ c : ∃ x ∈ b, x + y ∈ a}`` """ function plus_rev(a::Interval, b::Interval, c::Interval) # a = b + c # a = a ∩ (b + c) # add this line for plus contractor (as opposed to reverse function) @@ -13,7 +23,17 @@ end plus_rev(a,b,c) = plus_rev(promote(a,b,c)...) """ -Reverse minus + minus_rev(a::Interval, b::Interval[, c::Interval]) + +Reverse subtraction. Calculates the preimage of `a = b - c` for `b` and `c`. + +### Output + +The triplet `(a, b_new, c_new)` where + +- `a` remains unchanged +- `b_new` is the interval hull of the set ``{x ∈ b : ∃ y ∈ c, x - y ∈ a}`` +- `c_new` is the interval hull of the set ``{y ∈ c : ∃ x ∈ b, x - y ∈ a}`` """ function minus_rev(a::Interval, b::Interval, c::Interval) # a = b - c @@ -76,7 +96,16 @@ end div_rev(a,b,c) = div_rev(promote(a,b,c)...) """ -Reverse inverse + inv_rev(a::Interval, b::Interval) + +Reverse inverse. Calculates the interval hull of the preimage of a = b⁻¹ + +### Output + +Pair `(a, b_new)` where + +- `a` is unchanged +- `b_new` is the interval hull of the set ``{x ∈ b : x⁻¹ ∈ a}`` """ function inv_rev(a::Interval, b::Interval) # a = inv(b) @@ -88,7 +117,16 @@ end inv_rev(a,b) = inv_rev(promote(a,b)...) """ -Reverse power + power_rev(a::Interval, b::Interval, n::Integer) + +Reverse power. Calculates the preimage of `a = bⁿ`. + +### Output + +The triplet `(a, b_new, n)` where + +- `a` and `n` are unchanged +- `b_new` is the interval hull of the set ``{x ∈ b : xⁿ ∈ a}`` """ function power_rev(a::Interval{T}, b::Interval{T}, n::Integer) where T # a = b^n, log(a) = n.log(b), b = a^(1/n) @@ -141,7 +179,16 @@ power_rev(a, b, c) = power_rev(promote(a, b, c)...) """ -Reverse square root + sqrt_rev(a::Interval, b::Interval) + +Reverse square root. Calculates the preimage of `a = √b`. + +### Output + +The pair `(a, b_new)` where + +- `a` is unchanged +- `b_new` is the interval hull of the set ``{x ∈ b : √x ∈ a}`` """ function sqrt_rev(a::Interval, b::Interval) # a = sqrt(b) @@ -204,25 +251,48 @@ According to the IEEE-1788 standard: When `∘` is commutative, these agree and we write `∘_rev(b, c, x)`. """ - mul_rev_IEEE1788(b, c, x) = mul_rev(c, x, b)[2] +""" + pow_rev1(b::Interval, c::Interval[, x::Interval]) + +Reverse power 1. Computes the preimage of ``c=xᵇ`` with respect to `x`. If `x` is not +provided, then it is by default the whole real line ℝ. + +### Output + +- `x_new` the interval hull of the set ``{t ∈ x : ∃ y ∈ b, tʸ ∈ c} +""" function pow_rev1(b, c, x) # c = x^b return x ∩ c^(1/b) # replace by 1//b end +""" + pow_rev2(b::Interval, c::Interval[, x::Interval]) + +Reverse power 2. Computes the preimage of ``c = aˣ`` with respect to `x`. If `x` is not +provided, then it is by default the whole real line ℝ. + +### Output + +- `x_new` the interval hull of the set ``{t ∈ x : ∃ y ∈ b, tʸ ∈ c} +""" function pow_rev2(a, c, x) # c = a^x return x ∩ (log(c) / log(a)) end +""" + mul_rev_to_pair(b::Interval, c::Interval) + +# TODO: add docstring +""" mul_rev_to_pair(b::Interval, c::Interval) = extended_div(c, b) function mul_rev_to_pair(b::DecoratedInterval{T}, c::DecoratedInterval{T}) where T (isnai(b) || isnai(c)) && return (nai(T), nai(T)) 0 ∉ b && return (c/b, DecoratedInterval(emptyinterval(T), trv)) - + x1, x2 = extended_div(interval(c), interval(b)) return (DecoratedInterval(x1, trv), DecoratedInterval(x2, trv)) end - From f3f0884ca153de8eb038ad692d3c57f86cfa7bee Mon Sep 17 00:00:00 2001 From: lucaferranti Date: Thu, 27 Jan 2022 21:35:59 +0200 Subject: [PATCH 08/10] updated tests --- test/abs_rev.jl | 93 +- test/libieeep1788_mul_rev.jl | 688 +++++++-------- test/libieeep1788_rev.jl | 1554 ++++++++++++++++---------------- test/pow_rev.jl | 1608 +++++++++++++++++----------------- test/runtests.jl | 1 + 5 files changed, 1970 insertions(+), 1974 deletions(-) diff --git a/test/abs_rev.jl b/test/abs_rev.jl index b63258c..a233069 100644 --- a/test/abs_rev.jl +++ b/test/abs_rev.jl @@ -1,57 +1,52 @@ -#= - Copyright 2015-2016 Oliver Heimlich +@testset "minimal.absRevBin_test" begin - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. + @test abs_rev(emptyinterval(), entireinterval())[2] === emptyinterval() - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + @test abs_rev(interval(0.0, 1.0), emptyinterval())[2] === emptyinterval() - You should have received a copy of the GNU General Public License - along with this program; if not, see . -=# -#Language imports + @test abs_rev(interval(0.0, 1.0), interval(7.0, 9.0))[2] === emptyinterval() -#Test library imports -using Test + @test abs_rev(emptyinterval(), interval(0.0, 1.0))[2] === emptyinterval() -#Arithmetic library imports -using IntervalArithmetic + @test abs_rev(interval(-2.0, -1.0), entireinterval())[2] === emptyinterval() -#Preamble -setprecision(53) -setprecision(Interval, Float64) -# setrounding(Interval, :correct) -@format full + @test abs_rev(interval(1.0, 1.0), entireinterval())[2] === Interval(-1.0, 1.0) + + @test abs_rev(interval(0.0, 0.0), entireinterval())[2] === Interval(0.0, 0.0) + + @test abs_rev(interval(-1.0, -1.0), entireinterval())[2] === emptyinterval() + + @test abs_rev(interval(0x1.FFFFFFFFFFFFFp1023, 0x1.FFFFFFFFFFFFFp1023), entireinterval())[2] === Interval(-0x1.FFFFFFFFFFFFFp1023, 0x1.FFFFFFFFFFFFFp1023) + + @test abs_rev(interval(0x1p-1022, 0x1p-1022), entireinterval())[2] === Interval(-0x1p-1022, 0x1p-1022) + + @test abs_rev(interval(-0x1p-1022, -0x1p-1022), entireinterval())[2] === emptyinterval() + + @test abs_rev(interval(-0x1.FFFFFFFFFFFFFp1023, -0x1.FFFFFFFFFFFFFp1023), entireinterval())[2] === emptyinterval() + + @test abs_rev(interval(1.0, 2.0), entireinterval())[2] === Interval(-2.0, 2.0) + + @test abs_rev(interval(1.0, 2.0), interval(0.0, 2.0))[2] === Interval(1.0, 2.0) + + @test abs_rev(interval(0.0, 1.0), interval(-0.5, 2.0))[2] === Interval(-0.5, 1.0) + + @test abs_rev(interval(-1.0, 1.0), entireinterval())[2] === Interval(-1.0, 1.0) + + @test abs_rev(interval(-1.0, 0.0), entireinterval())[2] === Interval(0.0, 0.0) + + @test abs_rev(interval(0.0, Inf), entireinterval())[2] === entireinterval() + + @test abs_rev(entireinterval(), entireinterval())[2] === entireinterval() + + @test abs_rev(interval(-Inf, 0.0), entireinterval())[2] === Interval(0.0, 0.0) + + @test abs_rev(interval(1.0, Inf), interval(-Inf, 0.0))[2] === Interval(-Inf, -1.0) + + @test abs_rev(interval(-1.0, Inf), entireinterval())[2] === entireinterval() + + @test abs_rev(interval(-Inf, -1.0), entireinterval())[2] === emptyinterval() + + @test abs_rev(interval(-Inf, 1.0), entireinterval())[2] === Interval(-1.0, 1.0) -@testset "minimal.absRevBin_test" begin - @test abs_rev(∅, entireinterval(Float64))[2] == ∅ - @test abs_rev(Interval(0.0, 1.0), ∅)[2] == ∅ - @test abs_rev(Interval(0.0, 1.0), Interval(7.0, 9.0))[2] == ∅ - @test abs_rev(∅, Interval(0.0, 1.0))[2] == ∅ - @test abs_rev(Interval(-2.0, -1.0), entireinterval(Float64))[2] == ∅ - @test abs_rev(Interval(1.0, 1.0), entireinterval(Float64))[2] == Interval(-1.0, 1.0) - @test abs_rev(Interval(0.0, 0.0), entireinterval(Float64))[2] == Interval(0.0, 0.0) - @test abs_rev(Interval(-1.0, -1.0), entireinterval(Float64))[2] == ∅ - @test abs_rev(Interval(0x1.fffffffffffffp1023, 0x1.fffffffffffffp1023), entireinterval(Float64))[2] == Interval(-0x1.fffffffffffffp1023, 0x1.fffffffffffffp1023) - @test abs_rev(Interval(0x1p-1022, 0x1p-1022), entireinterval(Float64))[2] == Interval(-0x1p-1022, 0x1p-1022) - @test abs_rev(Interval(-0x1p-1022, -0x1p-1022), entireinterval(Float64))[2] == ∅ - @test abs_rev(Interval(-0x1.fffffffffffffp1023, -0x1.fffffffffffffp1023), entireinterval(Float64))[2] == ∅ - @test abs_rev(Interval(1.0, 2.0), entireinterval(Float64))[2] == Interval(-2.0, 2.0) - @test abs_rev(Interval(1.0, 2.0), Interval(0.0, 2.0))[2] == Interval(1.0, 2.0) - @test abs_rev(Interval(0.0, 1.0), Interval(-0.5, 2.0))[2] == Interval(-0.5, 1.0) - @test abs_rev(Interval(-1.0, 1.0), entireinterval(Float64))[2] == Interval(-1.0, 1.0) - @test abs_rev(Interval(-1.0, 0.0), entireinterval(Float64))[2] == Interval(0.0, 0.0) - @test abs_rev(Interval(0.0, Inf), entireinterval(Float64))[2] == entireinterval(Float64) - @test abs_rev(entireinterval(Float64), entireinterval(Float64))[2] == entireinterval(Float64) - @test abs_rev(Interval(-Inf, 0.0), entireinterval(Float64))[2] == Interval(0.0, 0.0) - @test abs_rev(Interval(1.0, Inf), Interval(-Inf, 0.0))[2] == Interval(-Inf, -1.0) - @test abs_rev(Interval(-1.0, Inf), entireinterval(Float64))[2] == entireinterval(Float64) - @test abs_rev(Interval(-Inf, -1.0), entireinterval(Float64))[2] == ∅ - @test abs_rev(Interval(-Inf, 1.0), entireinterval(Float64))[2] == Interval(-1.0, 1.0) end -# FactCheck.exitstatus() + diff --git a/test/libieeep1788_mul_rev.jl b/test/libieeep1788_mul_rev.jl index 8944dac..010549d 100644 --- a/test/libieeep1788_mul_rev.jl +++ b/test/libieeep1788_mul_rev.jl @@ -1,348 +1,348 @@ @testset "minimal_mulRevToPair_test" begin - @test mul_rev_to_pair(emptyinterval(), interval(1.0, 2.0))[1] == emptyinterval() && mul_rev_to_pair(emptyinterval(), interval(1.0, 2.0))[2] == emptyinterval() + @test mul_rev_to_pair(emptyinterval(), interval(1.0, 2.0))[1] === emptyinterval() && mul_rev_to_pair(emptyinterval(), interval(1.0, 2.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(1.0, 2.0), emptyinterval())[1] == emptyinterval() && mul_rev_to_pair(interval(1.0, 2.0), emptyinterval())[2] == emptyinterval() + @test mul_rev_to_pair(interval(1.0, 2.0), emptyinterval())[1] === emptyinterval() && mul_rev_to_pair(interval(1.0, 2.0), emptyinterval())[2] === emptyinterval() - @test mul_rev_to_pair(emptyinterval(), emptyinterval())[1] == emptyinterval() && mul_rev_to_pair(emptyinterval(), emptyinterval())[2] == emptyinterval() + @test mul_rev_to_pair(emptyinterval(), emptyinterval())[1] === emptyinterval() && mul_rev_to_pair(emptyinterval(), emptyinterval())[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, -0.4))[1] == Interval(0x1.999999999999AP-3, 0x1.5P+4) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, -0.4))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, -0.4))[1] === Interval(0x1.999999999999AP-3, 0x1.5P+4) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, -0.4))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, -0.4))[1] == Interval(0x1.999999999999AP-3, Inf) && mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, -0.4))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, -0.4))[1] === Interval(0x1.999999999999AP-3, Inf) && mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, -0.4))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, -0.4))[1] == Interval(-Inf, -0x1.745D1745D1745P-2) && mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, -0.4))[2] == Interval(0x1.999999999999AP-3, Inf) + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, -0.4))[1] === Interval(-Inf, -0x1.745D1745D1745P-2) && mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, -0.4))[2] === Interval(0x1.999999999999AP-3, Inf) - @test mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, -0.4))[1] == Interval(-Inf, -0x1.745D1745D1745P-2) && mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, -0.4))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, -0.4))[1] === Interval(-Inf, -0x1.745D1745D1745P-2) && mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, -0.4))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, -0.4))[1] == Interval(-0x1.A400000000001P+7, -0x1.745D1745D1745P-2) && mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, -0.4))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, -0.4))[1] === Interval(-0x1.A400000000001P+7, -0x1.745D1745D1745P-2) && mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, -0.4))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, -0.4))[1] == emptyinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, -0.4))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, -0.4))[1] === emptyinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, -0.4))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, -0.4))[1] == Interval(0.0, 0x1.5P+4) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, -0.4))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, -0.4))[1] === Interval(0.0, 0x1.5P+4) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, -0.4))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, -0.4))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, -0.4))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, -0.4))[1] === Interval(0.0, Inf) && mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, -0.4))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, -0.4))[1] == Interval(-Inf, -0x1.745D1745D1745P-2) && mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, -0.4))[2] == Interval(0.0, Inf) + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, -0.4))[1] === Interval(-Inf, -0x1.745D1745D1745P-2) && mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, -0.4))[2] === Interval(0.0, Inf) - @test mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, -0.4))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, -0.4))[2] == Interval(0x1.999999999999AP-3, Inf) + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, -0.4))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, -0.4))[2] === Interval(0x1.999999999999AP-3, Inf) - @test mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, -0.4))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, -0.4))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, -0.4))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, -0.4))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, -0.4))[1] == Interval(-0x1.A400000000001P+7, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, -0.4))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, -0.4))[1] === Interval(-0x1.A400000000001P+7, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, -0.4))[2] === emptyinterval() - @test mul_rev_to_pair(entireinterval(), interval(-2.1, -0.4))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(entireinterval(), interval(-2.1, -0.4))[2] == Interval(0.0, Inf) + @test mul_rev_to_pair(entireinterval(), interval(-2.1, -0.4))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(entireinterval(), interval(-2.1, -0.4))[2] === Interval(0.0, Inf) - @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, 0.0))[1] == Interval(0.0, 0x1.5P+4) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, 0.0))[1] === Interval(0.0, 0x1.5P+4) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, 0.0))[1] == Interval(-0x1.A400000000001P+7, 0.0) && mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, 0.0))[1] === Interval(-0x1.A400000000001P+7, 0.0) && mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, 0.0))[1] == Interval(0.0, 0x1.5P+4) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, 0.0))[1] === Interval(0.0, 0x1.5P+4) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, 0.0))[1] == Interval(-0x1.A400000000001P+7, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, 0.0))[1] === Interval(-0x1.A400000000001P+7, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(entireinterval(), interval(-2.1, 0.0))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(-2.1, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(entireinterval(), interval(-2.1, 0.0))[1] === entireinterval() && mul_rev_to_pair(entireinterval(), interval(-2.1, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, 0.12))[1] == Interval(-0x1.3333333333333P+0, 0x1.5P+4) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, 0.12))[1] === Interval(-0x1.3333333333333P+0, 0x1.5P+4) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-2.1, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, 0.12))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-2.1, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, 0.12))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-2.1, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, 0.12))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-2.1, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, 0.12))[1] == Interval(-0x1.A400000000001P+7 , 0x1.8P+3) && mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, 0.12))[1] === Interval(-0x1.A400000000001P+7 , 0x1.8P+3) && mul_rev_to_pair(interval(0.01, 1.1), interval(-2.1, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, 0.12))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-2.1, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, 0.12))[1] == Interval(-0x1.3333333333333P+0, 0x1.5P+4) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, 0.12))[1] === Interval(-0x1.3333333333333P+0, 0x1.5P+4) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-2.1, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, 0.12))[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-2.1, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, 0.12))[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-2.1, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, 0.12))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-2.1, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, 0.12))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-2.1, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, 0.12))[1] == Interval(-0x1.A400000000001P+7 , 0x1.8P+3) && mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, 0.12))[1] === Interval(-0x1.A400000000001P+7 , 0x1.8P+3) && mul_rev_to_pair(interval(0.01, Inf), interval(-2.1, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(entireinterval(), interval(-2.1, 0.12))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(-2.1, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(entireinterval(), interval(-2.1, 0.12))[1] === entireinterval() && mul_rev_to_pair(entireinterval(), interval(-2.1, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, 0.12))[1] == Interval(-0x1.3333333333333P+0, 0.0) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, 0.12))[1] === Interval(-0x1.3333333333333P+0, 0.0) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, 0.12))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, 0.12))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, 0.12))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, 0.12))[1] == Interval(0.0, 0x1.8P+3) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, 0.12))[1] === Interval(0.0, 0x1.8P+3) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, 0.12))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, 0.12))[1] == Interval(-0x1.3333333333333P+0, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, 0.12))[1] === Interval(-0x1.3333333333333P+0, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, 0.12))[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, 0.12))[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, 0.12))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, Inf), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(0.0, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, Inf), interval(0.0, 0.12))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(0.0, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, Inf), interval(0.0, 0.12))[1] == Interval(0.0, 0x1.8P+3) && mul_rev_to_pair(interval(0.01, Inf), interval(0.0, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, Inf), interval(0.0, 0.12))[1] === Interval(0.0, 0x1.8P+3) && mul_rev_to_pair(interval(0.01, Inf), interval(0.0, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(entireinterval(), interval(0.0, 0.12))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(0.0, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(entireinterval(), interval(0.0, 0.12))[1] === entireinterval() && mul_rev_to_pair(entireinterval(), interval(0.0, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.01, 0.12))[1] == Interval(-0x1.3333333333333P+0, -0x1.47AE147AE147BP-8) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.01, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.01, 0.12))[1] === Interval(-0x1.3333333333333P+0, -0x1.47AE147AE147BP-8) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.01, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.01, 0.12))[1] == Interval(-Inf, -0x1.47AE147AE147BP-8) && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.01, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.01, 0.12))[1] === Interval(-Inf, -0x1.47AE147AE147BP-8) && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.01, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.01, 0.12))[1] == Interval(-Inf, -0x1.47AE147AE147BP-8) && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.01, 0.12))[2] == Interval(0x1.29E4129E4129DP-7, Inf) + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.01, 0.12))[1] === Interval(-Inf, -0x1.47AE147AE147BP-8) && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.01, 0.12))[2] === Interval(0x1.29E4129E4129DP-7, Inf) - @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.01, 0.12))[1] == Interval(0x1.29E4129E4129DP-7, Inf) && mul_rev_to_pair(interval(0.0, 1.1), interval(0.01, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.01, 0.12))[1] === Interval(0x1.29E4129E4129DP-7, Inf) && mul_rev_to_pair(interval(0.0, 1.1), interval(0.01, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.01, 0.12))[1] == Interval(0x1.29E4129E4129DP-7, 0x1.8P+3) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.01, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.01, 0.12))[1] === Interval(0x1.29E4129E4129DP-7, 0x1.8P+3) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.01, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.01, 0.12))[1] == emptyinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.01, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.01, 0.12))[1] === emptyinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.01, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.01, 0.12))[1] == Interval(-0x1.3333333333333P+0, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.01, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.01, 0.12))[1] === Interval(-0x1.3333333333333P+0, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.01, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.01, 0.12))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.01, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.01, 0.12))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.01, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.01, 0.12))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.01, 0.12))[2] == Interval(0x1.29E4129E4129DP-7, Inf) + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.01, 0.12))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.01, 0.12))[2] === Interval(0x1.29E4129E4129DP-7, Inf) - @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.01, 0.12))[1] == Interval(-Inf, -0x1.47AE147AE147BP-8) && mul_rev_to_pair(interval(-2.0, Inf), interval(0.01, 0.12))[2] == Interval(0.0, Inf) + @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.01, 0.12))[1] === Interval(-Inf, -0x1.47AE147AE147BP-8) && mul_rev_to_pair(interval(-2.0, Inf), interval(0.01, 0.12))[2] === Interval(0.0, Inf) - @test mul_rev_to_pair(interval(0.0, Inf), interval(0.01, 0.12))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(0.0, Inf), interval(0.01, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, Inf), interval(0.01, 0.12))[1] === Interval(0.0, Inf) && mul_rev_to_pair(interval(0.0, Inf), interval(0.01, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, Inf), interval(0.01, 0.12))[1] == Interval(0.0, 0x1.8P+3) && mul_rev_to_pair(interval(0.01, Inf), interval(0.01, 0.12))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, Inf), interval(0.01, 0.12))[1] === Interval(0.0, 0x1.8P+3) && mul_rev_to_pair(interval(0.01, Inf), interval(0.01, 0.12))[2] === emptyinterval() - @test mul_rev_to_pair(entireinterval(), interval(0.01, 0.12))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(entireinterval(), interval(0.01, 0.12))[2] == Interval(0.0, Inf) + @test mul_rev_to_pair(entireinterval(), interval(0.01, 0.12))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(entireinterval(), interval(0.01, 0.12))[2] === Interval(0.0, Inf) - @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, 0.0))[1] == Interval(0.0, 0.0) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, 0.0))[1] === Interval(0.0, 0.0) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, 0.0))[1] == Interval(0.0, 0.0) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, 0.0))[1] === Interval(0.0, 0.0) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, 0.0))[1] == Interval(0.0, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, 0.0))[1] === Interval(0.0, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, Inf), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(0.0, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, Inf), interval(0.0, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(0.0, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, Inf), interval(0.0, 0.0))[1] == Interval(0.0, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(0.0, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, Inf), interval(0.0, 0.0))[1] === Interval(0.0, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(0.0, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(entireinterval(), interval(0.0, 0.0))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(0.0, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(entireinterval(), interval(0.0, 0.0))[1] === entireinterval() && mul_rev_to_pair(entireinterval(), interval(0.0, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, -0.1))[1] == Interval(0x1.999999999999AP-5, Inf) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, -0.1))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, -0.1))[1] === Interval(0x1.999999999999AP-5, Inf) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, -0.1))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, -0.1))[1] == Interval(0x1.999999999999AP-5 , Inf) && mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, -0.1))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, -0.1))[1] === Interval(0x1.999999999999AP-5 , Inf) && mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, -0.1))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, -0.1))[1] == Interval(-Inf , -0x1.745D1745D1745P-4) && mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, -0.1))[2] == Interval(0x1.999999999999AP-5 , Inf) + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, -0.1))[1] === Interval(-Inf , -0x1.745D1745D1745P-4) && mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, -0.1))[2] === Interval(0x1.999999999999AP-5 , Inf) - @test mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, -0.1))[1] == Interval(-Inf, -0x1.745D1745D1745P-4) && mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, -0.1))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, -0.1))[1] === Interval(-Inf, -0x1.745D1745D1745P-4) && mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, -0.1))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, -0.1))[1] == Interval(-Inf, -0x1.745D1745D1745P-4) && mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, -0.1))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, -0.1))[1] === Interval(-Inf, -0x1.745D1745D1745P-4) && mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, -0.1))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, -0.1))[1] == emptyinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, -0.1))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, -0.1))[1] === emptyinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, -0.1))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, -0.1))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, -0.1))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, -0.1))[1] === Interval(0.0, Inf) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, -0.1))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, -0.1))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, -0.1))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, -0.1))[1] === Interval(0.0, Inf) && mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, -0.1))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, -0.1))[1] == Interval(-Inf, -0x1.745D1745D1745P-4) && mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, -0.1))[2] == Interval(0.0, Inf) + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, -0.1))[1] === Interval(-Inf, -0x1.745D1745D1745P-4) && mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, -0.1))[2] === Interval(0.0, Inf) - @test mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, -0.1))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, -0.1))[2] == Interval(0x1.999999999999AP-5 , Inf) + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, -0.1))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, -0.1))[2] === Interval(0x1.999999999999AP-5 , Inf) - @test mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, -0.1))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, -0.1))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, -0.1))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, -0.1))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, -0.1))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, -0.1))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, -0.1))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, -0.1))[2] === emptyinterval() - @test mul_rev_to_pair(entireinterval(), interval(-Inf, -0.1))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(entireinterval(), interval(-Inf, -0.1))[2] == Interval(0.0, Inf) + @test mul_rev_to_pair(entireinterval(), interval(-Inf, -0.1))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(entireinterval(), interval(-Inf, -0.1))[2] === Interval(0.0, Inf) - @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, 0.0))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, 0.0))[1] === Interval(0.0, Inf) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, 0.0))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, 0.0))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, 0.0))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, 0.0))[1] === Interval(0.0, Inf) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, 0.0))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, 0.0))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, 0.0))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(entireinterval(), interval(-Inf, 0.0))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(-Inf, 0.0))[2] == emptyinterval() + @test mul_rev_to_pair(entireinterval(), interval(-Inf, 0.0))[1] === entireinterval() && mul_rev_to_pair(entireinterval(), interval(-Inf, 0.0))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, 0.3))[1] == Interval(-0x1.8P+1, Inf) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, 0.3))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, 0.3))[1] === Interval(-0x1.8P+1, Inf) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-Inf, 0.3))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, 0.3))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, 0.3))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-Inf, 0.3))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, 0.3))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, 0.3))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-Inf, 0.3))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, 0.3))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, 0.3))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-Inf, 0.3))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, 0.3))[1] == Interval(-Inf, 0x1.EP+4) && mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, 0.3))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, 0.3))[1] === Interval(-Inf, 0x1.EP+4) && mul_rev_to_pair(interval(0.01, 1.1), interval(-Inf, 0.3))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, 0.3))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, 0.3))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-Inf, 0.3))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, 0.3))[1] == Interval(-0x1.8P+1, Inf) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, 0.3))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, 0.3))[1] === Interval(-0x1.8P+1, Inf) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-Inf, 0.3))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, 0.3))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, 0.3))[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-Inf, 0.3))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, 0.3))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, 0.3))[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-Inf, 0.3))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, 0.3))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, 0.3))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-Inf, 0.3))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, 0.3))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, 0.3))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-Inf, 0.3))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, 0.3))[1] == Interval(-Inf, 0x1.EP+4) && mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, 0.3))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, 0.3))[1] === Interval(-Inf, 0x1.EP+4) && mul_rev_to_pair(interval(0.01, Inf), interval(-Inf, 0.3))[2] === emptyinterval() - @test mul_rev_to_pair(entireinterval(), interval(-Inf, 0.3))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(-Inf, 0.3))[2] == emptyinterval() + @test mul_rev_to_pair(entireinterval(), interval(-Inf, 0.3))[1] === entireinterval() && mul_rev_to_pair(entireinterval(), interval(-Inf, 0.3))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-0.21, Inf))[1] == Interval(-Inf , 0x1.0CCCCCCCCCCCDP+1) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-0.21, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(-0.21, Inf))[1] === Interval(-Inf , 0x1.0CCCCCCCCCCCDP+1) && mul_rev_to_pair(interval(-2.0, -0.1), interval(-0.21, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-0.21, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(-0.21, Inf))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(-0.21, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-0.21, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(-0.21, Inf))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(-0.21, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 1.1), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-0.21, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 1.1), interval(-0.21, Inf))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(-0.21, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, 1.1), interval(-0.21, Inf))[1] == Interval(-0x1.5P+4, Inf) && mul_rev_to_pair(interval(0.01, 1.1), interval(-0.21, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, 1.1), interval(-0.21, Inf))[1] === Interval(-0x1.5P+4, Inf) && mul_rev_to_pair(interval(0.01, 1.1), interval(-0.21, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 0.0), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-0.21, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 0.0), interval(-0.21, Inf))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(-0.21, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-0.21, Inf))[1] == Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-0.21, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(-0.21, Inf))[1] === Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1) && mul_rev_to_pair(interval(-Inf, -0.1), interval(-0.21, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-0.21, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(-0.21, Inf))[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(-0.21, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-0.21, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(-0.21, Inf))[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(-0.21, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, Inf), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-0.21, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, Inf), interval(-0.21, Inf))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(-0.21, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, Inf), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-0.21, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, Inf), interval(-0.21, Inf))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(-0.21, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, Inf), interval(-0.21, Inf))[1] == Interval(-0x1.5P+4, Inf) && mul_rev_to_pair(interval(0.01, Inf), interval(-0.21, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, Inf), interval(-0.21, Inf))[1] === Interval(-0x1.5P+4, Inf) && mul_rev_to_pair(interval(0.01, Inf), interval(-0.21, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(entireinterval(), interval(-0.21, Inf))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(-0.21, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(entireinterval(), interval(-0.21, Inf))[1] === entireinterval() && mul_rev_to_pair(entireinterval(), interval(-0.21, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, Inf))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.0, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, Inf))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.0, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, Inf))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.0, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, Inf))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), interval(0.0, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, Inf))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, Inf))[1] === Interval(0.0, Inf) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.0, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, Inf))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.0, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, Inf))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.0, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, Inf))[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.0, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, Inf))[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.0, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, Inf))[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), interval(0.0, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, Inf), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(0.0, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, Inf), interval(0.0, Inf))[1] === entireinterval() && mul_rev_to_pair(interval(0.0, Inf), interval(0.0, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, Inf), interval(0.0, Inf))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(0.01, Inf), interval(0.0, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, Inf), interval(0.0, Inf))[1] === Interval(0.0, Inf) && mul_rev_to_pair(interval(0.01, Inf), interval(0.0, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(entireinterval(), interval(0.0, Inf))[1] == entireinterval() && mul_rev_to_pair(entireinterval(), interval(0.0, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(entireinterval(), interval(0.0, Inf))[1] === entireinterval() && mul_rev_to_pair(entireinterval(), interval(0.0, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.04, Inf))[1] == Interval(-Inf, -0x1.47AE147AE147BP-6) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.04, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, -0.1), interval(0.04, Inf))[1] === Interval(-Inf, -0x1.47AE147AE147BP-6) && mul_rev_to_pair(interval(-2.0, -0.1), interval(0.04, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.04, Inf))[1] == Interval(-Inf, -0x1.47AE147AE147BP-6) && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.04, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 0.0), interval(0.04, Inf))[1] === Interval(-Inf, -0x1.47AE147AE147BP-6) && mul_rev_to_pair(interval(-2.0, 0.0), interval(0.04, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.04, Inf))[1] == Interval(-Inf, -0x1.47AE147AE147BP-6) && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.04, Inf))[2] == Interval(0x1.29E4129E4129DP-5, Inf) + @test mul_rev_to_pair(interval(-2.0, 1.1), interval(0.04, Inf))[1] === Interval(-Inf, -0x1.47AE147AE147BP-6) && mul_rev_to_pair(interval(-2.0, 1.1), interval(0.04, Inf))[2] === Interval(0x1.29E4129E4129DP-5, Inf) - @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.04, Inf))[1] == Interval(0x1.29E4129E4129DP-5, Inf) && mul_rev_to_pair(interval(0.0, 1.1), interval(0.04, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 1.1), interval(0.04, Inf))[1] === Interval(0x1.29E4129E4129DP-5, Inf) && mul_rev_to_pair(interval(0.0, 1.1), interval(0.04, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.04, Inf))[1] == Interval(0x1.29E4129E4129DP-5, Inf) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.04, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, 1.1), interval(0.04, Inf))[1] === Interval(0x1.29E4129E4129DP-5, Inf) && mul_rev_to_pair(interval(0.01, 1.1), interval(0.04, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.04, Inf))[1] == emptyinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.04, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 0.0), interval(0.04, Inf))[1] === emptyinterval() && mul_rev_to_pair(interval(0.0, 0.0), interval(0.04, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.04, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.04, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, -0.1), interval(0.04, Inf))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, -0.1), interval(0.04, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.04, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.04, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 0.0), interval(0.04, Inf))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, 0.0), interval(0.04, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.04, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.04, Inf))[2] == Interval(0x1.29E4129E4129DP-5, Inf) + @test mul_rev_to_pair(interval(-Inf, 1.1), interval(0.04, Inf))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(interval(-Inf, 1.1), interval(0.04, Inf))[2] === Interval(0x1.29E4129E4129DP-5, Inf) - @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.04, Inf))[1] == Interval(-Inf, -0x1.47AE147AE147BP-6) && mul_rev_to_pair(interval(-2.0, Inf), interval(0.04, Inf))[2] == Interval(0.0, Inf) + @test mul_rev_to_pair(interval(-2.0, Inf), interval(0.04, Inf))[1] === Interval(-Inf, -0x1.47AE147AE147BP-6) && mul_rev_to_pair(interval(-2.0, Inf), interval(0.04, Inf))[2] === Interval(0.0, Inf) - @test mul_rev_to_pair(interval(0.0, Inf), interval(0.04, Inf))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(0.0, Inf), interval(0.04, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, Inf), interval(0.04, Inf))[1] === Interval(0.0, Inf) && mul_rev_to_pair(interval(0.0, Inf), interval(0.04, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, Inf), interval(0.04, Inf))[1] == Interval(0.0, Inf) && mul_rev_to_pair(interval(0.01, Inf), interval(0.04, Inf))[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, Inf), interval(0.04, Inf))[1] === Interval(0.0, Inf) && mul_rev_to_pair(interval(0.01, Inf), interval(0.04, Inf))[2] === emptyinterval() - @test mul_rev_to_pair(entireinterval(), interval(0.04, Inf))[1] == Interval(-Inf, 0.0) && mul_rev_to_pair(entireinterval(), interval(0.04, Inf))[2] == Interval(0.0, Inf) + @test mul_rev_to_pair(entireinterval(), interval(0.04, Inf))[1] === Interval(-Inf, 0.0) && mul_rev_to_pair(entireinterval(), interval(0.04, Inf))[2] === Interval(0.0, Inf) - @test mul_rev_to_pair(interval(-2.0, -0.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, -0.1), entireinterval())[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, -0.1), entireinterval())[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, -0.1), entireinterval())[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 0.0), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), entireinterval())[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 0.0), entireinterval())[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 0.0), entireinterval())[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, 1.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), entireinterval())[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, 1.1), entireinterval())[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, 1.1), entireinterval())[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 1.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), entireinterval())[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 1.1), entireinterval())[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 1.1), entireinterval())[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, 1.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(0.01, 1.1), entireinterval())[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, 1.1), entireinterval())[1] === entireinterval() && mul_rev_to_pair(interval(0.01, 1.1), entireinterval())[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, 0.0), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), entireinterval())[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, 0.0), entireinterval())[1] === entireinterval() && mul_rev_to_pair(interval(0.0, 0.0), entireinterval())[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, -0.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, -0.1), entireinterval())[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, -0.1), entireinterval())[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, -0.1), entireinterval())[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 0.0), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), entireinterval())[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 0.0), entireinterval())[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 0.0), entireinterval())[2] === emptyinterval() - @test mul_rev_to_pair(interval(-Inf, 1.1), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), entireinterval())[2] == emptyinterval() + @test mul_rev_to_pair(interval(-Inf, 1.1), entireinterval())[1] === entireinterval() && mul_rev_to_pair(interval(-Inf, 1.1), entireinterval())[2] === emptyinterval() - @test mul_rev_to_pair(interval(-2.0, Inf), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), entireinterval())[2] == emptyinterval() + @test mul_rev_to_pair(interval(-2.0, Inf), entireinterval())[1] === entireinterval() && mul_rev_to_pair(interval(-2.0, Inf), entireinterval())[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.0, Inf), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(0.0, Inf), entireinterval())[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.0, Inf), entireinterval())[1] === entireinterval() && mul_rev_to_pair(interval(0.0, Inf), entireinterval())[2] === emptyinterval() - @test mul_rev_to_pair(interval(0.01, Inf), entireinterval())[1] == entireinterval() && mul_rev_to_pair(interval(0.01, Inf), entireinterval())[2] == emptyinterval() + @test mul_rev_to_pair(interval(0.01, Inf), entireinterval())[1] === entireinterval() && mul_rev_to_pair(interval(0.01, Inf), entireinterval())[2] === emptyinterval() - @test mul_rev_to_pair(entireinterval(), entireinterval())[1] == entireinterval() && mul_rev_to_pair(entireinterval(), entireinterval())[2] == emptyinterval() + @test mul_rev_to_pair(entireinterval(), entireinterval())[1] === entireinterval() && mul_rev_to_pair(entireinterval(), entireinterval())[2] === emptyinterval() end @@ -354,349 +354,349 @@ end @test isnai(mul_rev_to_pair(nai(), nai())[1]) && isnai(mul_rev_to_pair(nai(), nai())[2]) - @test mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0, 2.0), def))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0, 2.0), def))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0, 2.0), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0, 2.0), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0, 2.0), def))[1] === DecoratedInterval(emptyinterval(), trv) && mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0, 2.0), def))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(1.0, 2.0), com), DecoratedInterval(emptyinterval(), trv))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(1.0, 2.0), com), DecoratedInterval(emptyinterval(), trv))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(1.0, 2.0), com), DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(1.0, 2.0), com), DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(1.0, 2.0), com), DecoratedInterval(emptyinterval(), trv))[1] === DecoratedInterval(emptyinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(1.0, 2.0), com), DecoratedInterval(emptyinterval(), trv))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(emptyinterval(), trv))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(emptyinterval(), trv))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(emptyinterval(), trv))[1] === DecoratedInterval(emptyinterval(), trv) && mul_rev_to_pair(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(emptyinterval(), trv))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[1] == DecoratedInterval(Interval(0x1.999999999999AP-3, 0x1.5P+4), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[1]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-3, 0x1.5P+4), com)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[1] === DecoratedInterval(Interval(0x1.999999999999AP-3, 0x1.5P+4), com) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), com))[1] == DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), com))[1]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), com))[1] === DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), dac))[2] == DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), dac))[1] === DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), dac))[2] === DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[1] === DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7, -0x1.745D1745D1745P-2), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7, -0x1.745D1745D1745P-2), com)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[1] === DecoratedInterval(Interval(-0x1.A400000000001P+7, -0x1.745D1745D1745P-2), com) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, -0.4), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), def))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), def))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), def))[1] === DecoratedInterval(emptyinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, -0.4), def))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1] == DecoratedInterval(Interval(0.0, 0x1.5P+4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.5P+4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1] === DecoratedInterval(Interval(0.0, 0x1.5P+4), dac) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, -0.4), com))[1] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, -0.4), com))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, -0.4), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, -0.4), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, -0.4), com))[1] === DecoratedInterval(Interval(0.0, Inf), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, -0.4), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[1] === DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-2), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), trv), DecoratedInterval(interval(-2.1, -0.4), def))[2] === DecoratedInterval(Interval(0.0, Inf), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2] == DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1] === DecoratedInterval(Interval(-Inf, 0.0), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2] === DecoratedInterval(Interval(0x1.999999999999AP-3, Inf), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, -0.4), com))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, -0.4), com))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, -0.4), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, -0.4), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, -0.4), com))[1] === DecoratedInterval(Interval(-Inf, 0.0), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, -0.4), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, -0.4), def))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), def) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, -0.4), def))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), def)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, -0.4), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, -0.4), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, -0.4), def))[1] === DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), def) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, -0.4), def))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[1] === DecoratedInterval(Interval(-Inf, 0.0), trv) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, -0.4), dac))[2] === DecoratedInterval(Interval(0.0, Inf), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0x1.5P+4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.5P+4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] === DecoratedInterval(Interval(0.0, 0x1.5P+4), dac) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] === DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0x1.5P+4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.5P+4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] === DecoratedInterval(Interval(0.0, 0x1.5P+4), dac) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] === DecoratedInterval(Interval(-0x1.A400000000001P+7, 0.0), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-2.1, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), def) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), def)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] === DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), def) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7 , 0x1.8P+3), def) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7 , 0x1.8P+3), def)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] === DecoratedInterval(Interval(-0x1.A400000000001P+7 , 0x1.8P+3), def) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), def) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), def)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] === DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), def) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.A400000000001P+7 , 0x1.8P+3), def) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.A400000000001P+7 , 0x1.8P+3), def)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] === DecoratedInterval(Interval(-0x1.A400000000001P+7 , 0x1.8P+3), def) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-2.1, 0.12), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-2.1, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), com)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1] === DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), com) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(Interval(0.0, 0x1.8P+3), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.8P+3), com)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[1] === DecoratedInterval(Interval(0.0, 0x1.8P+3), com) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.12), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.12), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] === DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), dac) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(Interval(0.0, 0x1.8P+3), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.8P+3), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] === DecoratedInterval(Interval(0.0, 0x1.8P+3), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.12), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.12), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.12), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.12), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, -0x1.47AE147AE147BP-8), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, -0x1.47AE147AE147BP-8), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] === DecoratedInterval(Interval(-0x1.3333333333333P+0, -0x1.47AE147AE147BP-8), dac) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] === DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] === DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] === DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] === DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(0x1.29E4129E4129DP-7, 0x1.8P+3), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-7, 0x1.8P+3), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] === DecoratedInterval(Interval(0x1.29E4129E4129DP-7, 0x1.8P+3), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] === DecoratedInterval(emptyinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] === DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), dac) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] === DecoratedInterval(Interval(-Inf, 0.0), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] === DecoratedInterval(Interval(-Inf, 0.0), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] === DecoratedInterval(Interval(0x1.29E4129E4129DP-7, Inf), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] === DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-8), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] === DecoratedInterval(Interval(0.0, Inf), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] === DecoratedInterval(Interval(0.0, Inf), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(0.0, 0x1.8P+3), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, 0x1.8P+3), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] === DecoratedInterval(Interval(0.0, 0x1.8P+3), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.01, 0.12), dac))[1] === DecoratedInterval(Interval(-Inf, 0.0), trv) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.01, 0.12), dac))[2] === DecoratedInterval(Interval(0.0, Inf), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0.0), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0.0), com)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1] === DecoratedInterval(Interval(0.0, 0.0), com) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0.0), com) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0.0), com)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[1] === DecoratedInterval(Interval(0.0, 0.0), com) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(0.0, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), com), DecoratedInterval(interval(0.0, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] === DecoratedInterval(Interval(0.0, 0.0), dac) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(Interval(0.0, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(Interval(0.0, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] === DecoratedInterval(Interval(0.0, 0.0), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.0), com))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.0), com))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, 0.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(0x1.999999999999AP-5, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-5, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] === DecoratedInterval(Interval(0x1.999999999999AP-5, Inf), dac) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] === DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf , -0x1.745D1745D1745P-4), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf , -0x1.745D1745D1745P-4), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] === DecoratedInterval(Interval(-Inf , -0x1.745D1745D1745P-4), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] === DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] === DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] === DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] === DecoratedInterval(emptyinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] === DecoratedInterval(Interval(0.0, Inf), dac) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] === DecoratedInterval(Interval(0.0, Inf), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] === DecoratedInterval(Interval(-Inf, -0x1.745D1745D1745P-4), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] === DecoratedInterval(Interval(0.0, Inf), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] === DecoratedInterval(Interval(-Inf, 0.0), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] === DecoratedInterval(Interval(0x1.999999999999AP-5 , Inf), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] === DecoratedInterval(Interval(-Inf, 0.0), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] === DecoratedInterval(Interval(-Inf, 0.0), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[1] === DecoratedInterval(Interval(-Inf, 0.0), trv) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, -0.1), dac))[2] === DecoratedInterval(Interval(0.0, Inf), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] === DecoratedInterval(Interval(0.0, Inf), dac) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] === DecoratedInterval(Interval(-Inf, 0.0), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] === DecoratedInterval(Interval(0.0, Inf), dac) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] === DecoratedInterval(Interval(-Inf, 0.0), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.0), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(Interval(-0x1.8P+1, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.8P+1, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] === DecoratedInterval(Interval(-0x1.8P+1, Inf), dac) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(Interval(-Inf, 0x1.EP+4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0x1.EP+4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] === DecoratedInterval(Interval(-Inf, 0x1.EP+4), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(Interval(-0x1.8P+1, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.8P+1, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] === DecoratedInterval(Interval(-0x1.8P+1, Inf), dac) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(Interval(-Inf, 0x1.EP+4), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0x1.EP+4), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] === DecoratedInterval(Interval(-Inf, 0x1.EP+4), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-Inf, 0.3), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(Interval(-Inf , 0x1.0CCCCCCCCCCCDP+1), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf , 0x1.0CCCCCCCCCCCDP+1), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] === DecoratedInterval(Interval(-Inf , 0x1.0CCCCCCCCCCCDP+1), dac) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(Interval(-0x1.5P+4, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.5P+4, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] === DecoratedInterval(Interval(-0x1.5P+4, Inf), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] === DecoratedInterval(Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1), dac) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(Interval(-0x1.5P+4, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-0x1.5P+4, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] === DecoratedInterval(Interval(-0x1.5P+4, Inf), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-0.21, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(-0.21, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] === DecoratedInterval(Interval(-Inf, 0.0), dac) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] === DecoratedInterval(Interval(0.0, Inf), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] === DecoratedInterval(Interval(-Inf, 0.0), dac) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] === DecoratedInterval(Interval(0.0, Inf), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, Inf), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, Inf), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.0, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] === DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), dac) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] === DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] === DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] === DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] === DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] === DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(emptyinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] === DecoratedInterval(emptyinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] === DecoratedInterval(Interval(-Inf, 0.0), dac) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] === DecoratedInterval(Interval(-Inf, 0.0), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] === DecoratedInterval(Interval(-Inf, 0.0), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] === DecoratedInterval(Interval(0x1.29E4129E4129DP-5, Inf), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] === DecoratedInterval(Interval(-Inf, -0x1.47AE147AE147BP-6), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] === DecoratedInterval(Interval(0.0, Inf), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] === DecoratedInterval(Interval(0.0, Inf), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(0.0, Inf), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(0.0, Inf), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] === DecoratedInterval(Interval(0.0, Inf), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] == DecoratedInterval(Interval(-Inf, 0.0), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.04, Inf), dac))[1]) == decoration(DecoratedInterval(Interval(-Inf, 0.0), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] == DecoratedInterval(Interval(0.0, Inf), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.04, Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0.0, Inf), trv)) + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.04, Inf), dac))[1] === DecoratedInterval(Interval(-Inf, 0.0), trv) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(interval(0.04, Inf), dac))[2] === DecoratedInterval(Interval(0.0, Inf), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(entireinterval(), dac))[1] === DecoratedInterval(entireinterval(), dac) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(entireinterval(), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1] === DecoratedInterval(entireinterval(), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), dac)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(entireinterval(), dac))[1] === DecoratedInterval(entireinterval(), dac) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(entireinterval(), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(entireinterval(), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 0.0), dac), DecoratedInterval(entireinterval(), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(entireinterval(), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-Inf, 1.1), dac), DecoratedInterval(entireinterval(), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(-2.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(interval(0.0, Inf), dac), DecoratedInterval(entireinterval(), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), dac) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), dac)) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(entireinterval(), dac))[1] === DecoratedInterval(entireinterval(), dac) && mul_rev_to_pair(DecoratedInterval(interval(0.01, Inf), dac), DecoratedInterval(entireinterval(), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(entireinterval(), dac))[1] == DecoratedInterval(entireinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(entireinterval(), dac))[1]) == decoration(DecoratedInterval(entireinterval(), trv)) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(entireinterval(), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(entireinterval(), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(entireinterval(), dac))[1] === DecoratedInterval(entireinterval(), trv) && mul_rev_to_pair(DecoratedInterval(entireinterval(), dac), DecoratedInterval(entireinterval(), dac))[2] === DecoratedInterval(emptyinterval(), trv) end diff --git a/test/libieeep1788_rev.jl b/test/libieeep1788_rev.jl index 4261516..c8e2140 100644 --- a/test/libieeep1788_rev.jl +++ b/test/libieeep1788_rev.jl @@ -1,1650 +1,1650 @@ @testset "minimal_sqr_rev_test" begin - @test sqr_rev(emptyinterval())[2] == emptyinterval() + @test sqr_rev(emptyinterval())[2] === emptyinterval() - @test sqr_rev(interval(-10.0,-1.0))[2] == emptyinterval() + @test sqr_rev(interval(-10.0,-1.0))[2] === emptyinterval() - @test sqr_rev(interval(0.0,Inf))[2] == entireinterval() + @test sqr_rev(interval(0.0,Inf))[2] === entireinterval() - @test sqr_rev(interval(0.0,1.0))[2] == Interval(-1.0,1.0) + @test sqr_rev(interval(0.0,1.0))[2] === Interval(-1.0,1.0) - @test sqr_rev(interval(-0.5,1.0))[2] == Interval(-1.0,1.0) + @test sqr_rev(interval(-0.5,1.0))[2] === Interval(-1.0,1.0) - @test sqr_rev(interval(-1000.0,1.0))[2] == Interval(-1.0,1.0) + @test sqr_rev(interval(-1000.0,1.0))[2] === Interval(-1.0,1.0) - @test sqr_rev(interval(0.0,25.0))[2] == Interval(-5.0,5.0) + @test sqr_rev(interval(0.0,25.0))[2] === Interval(-5.0,5.0) - @test sqr_rev(interval(-1.0,25.0))[2] == Interval(-5.0,5.0) + @test sqr_rev(interval(-1.0,25.0))[2] === Interval(-5.0,5.0) - @test sqr_rev(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7))[2] == Interval(-0x1.999999999999BP-4,0x1.999999999999BP-4) + @test sqr_rev(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7))[2] === Interval(-0x1.999999999999BP-4,0x1.999999999999BP-4) - @test sqr_rev(interval(0.0,0x1.FFFFFFFFFFFE1P+1))[2] == Interval(-0x1.ffffffffffff1p+0,0x1.ffffffffffff1p+0) + @test sqr_rev(interval(0.0,0x1.FFFFFFFFFFFE1P+1))[2] === Interval(-0x1.ffffffffffff1p+0,0x1.ffffffffffff1p+0) end @testset "minimal_sqr_rev_bin_test" begin - @test sqr_rev(emptyinterval(), interval(-5.0,1.0))[2] == emptyinterval() + @test sqr_rev(emptyinterval(), interval(-5.0,1.0))[2] === emptyinterval() - @test sqr_rev(interval(-10.0,-1.0), interval(-5.0,1.0))[2] == emptyinterval() + @test sqr_rev(interval(-10.0,-1.0), interval(-5.0,1.0))[2] === emptyinterval() - @test sqr_rev(interval(0.0,Inf), interval(-5.0,1.0))[2] == Interval(-5.0,1.0) + @test sqr_rev(interval(0.0,Inf), interval(-5.0,1.0))[2] === Interval(-5.0,1.0) - @test sqr_rev(interval(0.0,1.0), interval(-0.1,1.0))[2] == Interval(-0.1,1.0) + @test sqr_rev(interval(0.0,1.0), interval(-0.1,1.0))[2] === Interval(-0.1,1.0) - @test sqr_rev(interval(-0.5,1.0), interval(-0.1,1.0))[2] == Interval(-0.1,1.0) + @test sqr_rev(interval(-0.5,1.0), interval(-0.1,1.0))[2] === Interval(-0.1,1.0) - @test sqr_rev(interval(-1000.0,1.0), interval(-0.1,1.0))[2] == Interval(-0.1,1.0) + @test sqr_rev(interval(-1000.0,1.0), interval(-0.1,1.0))[2] === Interval(-0.1,1.0) - @test sqr_rev(interval(0.0,25.0), interval(-4.1,6.0))[2] == Interval(-4.1,5.0) + @test sqr_rev(interval(0.0,25.0), interval(-4.1,6.0))[2] === Interval(-4.1,5.0) - @test sqr_rev(interval(-1.0,25.0), interval(-4.1,7.0))[2] == Interval(-4.1,5.0) + @test sqr_rev(interval(-1.0,25.0), interval(-4.1,7.0))[2] === Interval(-4.1,5.0) - @test sqr_rev(interval(1.0,25.0), interval(0.0,7.0))[2] == Interval(1.0,5.0) + @test sqr_rev(interval(1.0,25.0), interval(0.0,7.0))[2] === Interval(1.0,5.0) - @test sqr_rev(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), interval(-0.1,Inf))[2] == Interval(-0.1,0x1.999999999999BP-4) + @test sqr_rev(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), interval(-0.1,Inf))[2] === Interval(-0.1,0x1.999999999999BP-4) - @test sqr_rev(interval(0.0,0x1.FFFFFFFFFFFE1P+1), interval(-0.1,Inf))[2] == Interval(-0.1,0x1.ffffffffffff1p+0) + @test sqr_rev(interval(0.0,0x1.FFFFFFFFFFFE1P+1), interval(-0.1,Inf))[2] === Interval(-0.1,0x1.ffffffffffff1p+0) end @testset "minimal_sqr_rev_dec_test" begin - @test sqr_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sqr_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test sqr_rev(DecoratedInterval(emptyinterval(), trv))[2] === DecoratedInterval(emptyinterval(), trv) - @test sqr_rev(DecoratedInterval(interval(-10.0,-1.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sqr_rev(DecoratedInterval(interval(-10.0,-1.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test sqr_rev(DecoratedInterval(interval(-10.0,-1.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test sqr_rev(DecoratedInterval(interval(0.0,Inf), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,Inf), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test sqr_rev(DecoratedInterval(interval(0.0,Inf), dac))[2] === DecoratedInterval(entireinterval(), trv) - @test sqr_rev(DecoratedInterval(interval(0.0,1.0), def))[2] == DecoratedInterval(Interval(-1.0,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,1.0), def))[2]) == decoration(DecoratedInterval(Interval(-1.0,1.0), trv)) + @test sqr_rev(DecoratedInterval(interval(0.0,1.0), def))[2] === DecoratedInterval(Interval(-1.0,1.0), trv) - @test sqr_rev(DecoratedInterval(interval(-0.5,1.0), dac))[2] == DecoratedInterval(Interval(-1.0,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-0.5,1.0), dac))[2]) == decoration(DecoratedInterval(Interval(-1.0,1.0), trv)) + @test sqr_rev(DecoratedInterval(interval(-0.5,1.0), dac))[2] === DecoratedInterval(Interval(-1.0,1.0), trv) - @test sqr_rev(DecoratedInterval(interval(-1000.0,1.0), com))[2] == DecoratedInterval(Interval(-1.0,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-1000.0,1.0), com))[2]) == decoration(DecoratedInterval(Interval(-1.0,1.0), trv)) + @test sqr_rev(DecoratedInterval(interval(-1000.0,1.0), com))[2] === DecoratedInterval(Interval(-1.0,1.0), trv) - @test sqr_rev(DecoratedInterval(interval(0.0,25.0), def))[2] == DecoratedInterval(Interval(-5.0,5.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,25.0), def))[2]) == decoration(DecoratedInterval(Interval(-5.0,5.0), trv)) + @test sqr_rev(DecoratedInterval(interval(0.0,25.0), def))[2] === DecoratedInterval(Interval(-5.0,5.0), trv) - @test sqr_rev(DecoratedInterval(interval(-1.0,25.0), dac))[2] == DecoratedInterval(Interval(-5.0,5.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-1.0,25.0), dac))[2]) == decoration(DecoratedInterval(Interval(-5.0,5.0), trv)) + @test sqr_rev(DecoratedInterval(interval(-1.0,25.0), dac))[2] === DecoratedInterval(Interval(-5.0,5.0), trv) - @test sqr_rev(DecoratedInterval(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), com))[2] == DecoratedInterval(Interval(-0x1.999999999999BP-4,0x1.999999999999BP-4), trv) && decoration(sqr_rev(DecoratedInterval(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.999999999999BP-4,0x1.999999999999BP-4), trv)) + @test sqr_rev(DecoratedInterval(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), com))[2] === DecoratedInterval(Interval(-0x1.999999999999BP-4,0x1.999999999999BP-4), trv) - @test sqr_rev(DecoratedInterval(interval(0.0,0x1.FFFFFFFFFFFE1P+1), def))[2] == DecoratedInterval(Interval(-0x1.ffffffffffff1p+0,0x1.ffffffffffff1p+0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,0x1.FFFFFFFFFFFE1P+1), def))[2]) == decoration(DecoratedInterval(Interval(-0x1.ffffffffffff1p+0,0x1.ffffffffffff1p+0), trv)) + @test sqr_rev(DecoratedInterval(interval(0.0,0x1.FFFFFFFFFFFE1P+1), def))[2] === DecoratedInterval(Interval(-0x1.ffffffffffff1p+0,0x1.ffffffffffff1p+0), trv) end @testset "minimal_sqr_rev_dec_bin_test" begin - @test sqr_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.0,1.0), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sqr_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.0,1.0), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test sqr_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.0,1.0), def))[2] === DecoratedInterval(emptyinterval(), trv) - @test sqr_rev(DecoratedInterval(interval(-10.0,-1.0), com), DecoratedInterval(interval(-5.0,1.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sqr_rev(DecoratedInterval(interval(-10.0,-1.0), com), DecoratedInterval(interval(-5.0,1.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test sqr_rev(DecoratedInterval(interval(-10.0,-1.0), com), DecoratedInterval(interval(-5.0,1.0), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test sqr_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(-5.0,1.0), dac))[2] == DecoratedInterval(Interval(-5.0,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(-5.0,1.0), dac))[2]) == decoration(DecoratedInterval(Interval(-5.0,1.0), trv)) + @test sqr_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(-5.0,1.0), dac))[2] === DecoratedInterval(Interval(-5.0,1.0), trv) - @test sqr_rev(DecoratedInterval(interval(0.0,1.0), dac), DecoratedInterval(interval(-0.1,1.0), def))[2] == DecoratedInterval(Interval(-0.1,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,1.0), dac), DecoratedInterval(interval(-0.1,1.0), def))[2]) == decoration(DecoratedInterval(Interval(-0.1,1.0), trv)) + @test sqr_rev(DecoratedInterval(interval(0.0,1.0), dac), DecoratedInterval(interval(-0.1,1.0), def))[2] === DecoratedInterval(Interval(-0.1,1.0), trv) - @test sqr_rev(DecoratedInterval(interval(-0.5,1.0), def), DecoratedInterval(interval(-0.1,1.0), dac))[2] == DecoratedInterval(Interval(-0.1,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-0.5,1.0), def), DecoratedInterval(interval(-0.1,1.0), dac))[2]) == decoration(DecoratedInterval(Interval(-0.1,1.0), trv)) + @test sqr_rev(DecoratedInterval(interval(-0.5,1.0), def), DecoratedInterval(interval(-0.1,1.0), dac))[2] === DecoratedInterval(Interval(-0.1,1.0), trv) - @test sqr_rev(DecoratedInterval(interval(-1000.0,1.0), com), DecoratedInterval(interval(-0.1,1.0), def))[2] == DecoratedInterval(Interval(-0.1,1.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-1000.0,1.0), com), DecoratedInterval(interval(-0.1,1.0), def))[2]) == decoration(DecoratedInterval(Interval(-0.1,1.0), trv)) + @test sqr_rev(DecoratedInterval(interval(-1000.0,1.0), com), DecoratedInterval(interval(-0.1,1.0), def))[2] === DecoratedInterval(Interval(-0.1,1.0), trv) - @test sqr_rev(DecoratedInterval(interval(0.0,25.0), def), DecoratedInterval(interval(-4.1,6.0), com))[2] == DecoratedInterval(Interval(-4.1,5.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,25.0), def), DecoratedInterval(interval(-4.1,6.0), com))[2]) == decoration(DecoratedInterval(Interval(-4.1,5.0), trv)) + @test sqr_rev(DecoratedInterval(interval(0.0,25.0), def), DecoratedInterval(interval(-4.1,6.0), com))[2] === DecoratedInterval(Interval(-4.1,5.0), trv) - @test sqr_rev(DecoratedInterval(interval(-1.0,25.0), dac), DecoratedInterval(interval(-4.1,7.0), def))[2] == DecoratedInterval(Interval(-4.1,5.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(-1.0,25.0), dac), DecoratedInterval(interval(-4.1,7.0), def))[2]) == decoration(DecoratedInterval(Interval(-4.1,5.0), trv)) + @test sqr_rev(DecoratedInterval(interval(-1.0,25.0), dac), DecoratedInterval(interval(-4.1,7.0), def))[2] === DecoratedInterval(Interval(-4.1,5.0), trv) - @test sqr_rev(DecoratedInterval(interval(1.0,25.0), dac), DecoratedInterval(interval(0.0,7.0), def))[2] == DecoratedInterval(Interval(1.0,5.0), trv) && decoration(sqr_rev(DecoratedInterval(interval(1.0,25.0), dac), DecoratedInterval(interval(0.0,7.0), def))[2]) == decoration(DecoratedInterval(Interval(1.0,5.0), trv)) + @test sqr_rev(DecoratedInterval(interval(1.0,25.0), dac), DecoratedInterval(interval(0.0,7.0), def))[2] === DecoratedInterval(Interval(1.0,5.0), trv) - @test sqr_rev(DecoratedInterval(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), def), DecoratedInterval(interval(-0.1,Inf), dac))[2] == DecoratedInterval(Interval(-0.1,0x1.999999999999BP-4), trv) && decoration(sqr_rev(DecoratedInterval(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), def), DecoratedInterval(interval(-0.1,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(-0.1,0x1.999999999999BP-4), trv)) + @test sqr_rev(DecoratedInterval(interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7), def), DecoratedInterval(interval(-0.1,Inf), dac))[2] === DecoratedInterval(Interval(-0.1,0x1.999999999999BP-4), trv) - @test sqr_rev(DecoratedInterval(interval(0.0,0x1.FFFFFFFFFFFE1P+1), dac), DecoratedInterval(interval(-0.1,Inf), dac))[2] == DecoratedInterval(Interval(-0.1,0x1.ffffffffffff1p+0), trv) && decoration(sqr_rev(DecoratedInterval(interval(0.0,0x1.FFFFFFFFFFFE1P+1), dac), DecoratedInterval(interval(-0.1,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(-0.1,0x1.ffffffffffff1p+0), trv)) + @test sqr_rev(DecoratedInterval(interval(0.0,0x1.FFFFFFFFFFFE1P+1), dac), DecoratedInterval(interval(-0.1,Inf), dac))[2] === DecoratedInterval(Interval(-0.1,0x1.ffffffffffff1p+0), trv) end @testset "minimal_abs_rev_test" begin - @test abs_rev(emptyinterval())[2] == emptyinterval() + @test abs_rev(emptyinterval())[2] === emptyinterval() - @test abs_rev(interval(-1.1,-0.4))[2] == emptyinterval() + @test abs_rev(interval(-1.1,-0.4))[2] === emptyinterval() - @test abs_rev(interval(0.0,Inf))[2] == entireinterval() + @test abs_rev(interval(0.0,Inf))[2] === entireinterval() - @test abs_rev(interval(1.1,2.1))[2] == Interval(-2.1,2.1) + @test abs_rev(interval(1.1,2.1))[2] === Interval(-2.1,2.1) - @test abs_rev(interval(-1.1,2.0))[2] == Interval(-2.0,2.0) + @test abs_rev(interval(-1.1,2.0))[2] === Interval(-2.0,2.0) - @test abs_rev(interval(-1.1,0.0))[2] == Interval(0.0,0.0) + @test abs_rev(interval(-1.1,0.0))[2] === Interval(0.0,0.0) - @test abs_rev(interval(-1.9,0.2))[2] == Interval(-0.2,0.2) + @test abs_rev(interval(-1.9,0.2))[2] === Interval(-0.2,0.2) - @test abs_rev(interval(0.0,0.2))[2] == Interval(-0.2,0.2) + @test abs_rev(interval(0.0,0.2))[2] === Interval(-0.2,0.2) - @test abs_rev(interval(-1.5,Inf))[2] == entireinterval() + @test abs_rev(interval(-1.5,Inf))[2] === entireinterval() end @testset "minimal_abs_rev_bin_test" begin - @test abs_rev(emptyinterval(), interval(-1.1,5.0))[2] == emptyinterval() + @test abs_rev(emptyinterval(), interval(-1.1,5.0))[2] === emptyinterval() - @test abs_rev(interval(-1.1,-0.4), interval(-1.1,5.0))[2] == emptyinterval() + @test abs_rev(interval(-1.1,-0.4), interval(-1.1,5.0))[2] === emptyinterval() - @test abs_rev(interval(0.0,Inf), interval(-1.1,5.0))[2] == Interval(-1.1,5.0) + @test abs_rev(interval(0.0,Inf), interval(-1.1,5.0))[2] === Interval(-1.1,5.0) - @test abs_rev(interval(1.1,2.1), interval(-1.0,5.0))[2] == Interval(1.1,2.1) + @test abs_rev(interval(1.1,2.1), interval(-1.0,5.0))[2] === Interval(1.1,2.1) - @test abs_rev(interval(-1.1,2.0), interval(-1.1,5.0))[2] == Interval(-1.1,2.0) + @test abs_rev(interval(-1.1,2.0), interval(-1.1,5.0))[2] === Interval(-1.1,2.0) - @test abs_rev(interval(-1.1,0.0), interval(-1.1,5.0))[2] == Interval(0.0,0.0) + @test abs_rev(interval(-1.1,0.0), interval(-1.1,5.0))[2] === Interval(0.0,0.0) - @test abs_rev(interval(-1.9,0.2), interval(-1.1,5.0))[2] == Interval(-0.2,0.2) + @test abs_rev(interval(-1.9,0.2), interval(-1.1,5.0))[2] === Interval(-0.2,0.2) end @testset "minimal_abs_rev_dec_test" begin - @test abs_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(abs_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test abs_rev(DecoratedInterval(emptyinterval(), trv))[2] === DecoratedInterval(emptyinterval(), trv) - @test abs_rev(DecoratedInterval(interval(-1.1,-0.4), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,-0.4), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test abs_rev(DecoratedInterval(interval(-1.1,-0.4), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test abs_rev(DecoratedInterval(interval(0.0,Inf), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(abs_rev(DecoratedInterval(interval(0.0,Inf), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test abs_rev(DecoratedInterval(interval(0.0,Inf), dac))[2] === DecoratedInterval(entireinterval(), trv) - @test abs_rev(DecoratedInterval(interval(1.1,2.1), com))[2] == DecoratedInterval(Interval(-2.1,2.1), trv) && decoration(abs_rev(DecoratedInterval(interval(1.1,2.1), com))[2]) == decoration(DecoratedInterval(Interval(-2.1,2.1), trv)) + @test abs_rev(DecoratedInterval(interval(1.1,2.1), com))[2] === DecoratedInterval(Interval(-2.1,2.1), trv) - @test abs_rev(DecoratedInterval(interval(-1.1,2.0), def))[2] == DecoratedInterval(Interval(-2.0,2.0), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,2.0), def))[2]) == decoration(DecoratedInterval(Interval(-2.0,2.0), trv)) + @test abs_rev(DecoratedInterval(interval(-1.1,2.0), def))[2] === DecoratedInterval(Interval(-2.0,2.0), trv) - @test abs_rev(DecoratedInterval(interval(-1.1,0.0), dac))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,0.0), dac))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + @test abs_rev(DecoratedInterval(interval(-1.1,0.0), dac))[2] === DecoratedInterval(Interval(0.0,0.0), trv) - @test abs_rev(DecoratedInterval(interval(-1.9,0.2), com))[2] == DecoratedInterval(Interval(-0.2,0.2), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.9,0.2), com))[2]) == decoration(DecoratedInterval(Interval(-0.2,0.2), trv)) + @test abs_rev(DecoratedInterval(interval(-1.9,0.2), com))[2] === DecoratedInterval(Interval(-0.2,0.2), trv) - @test abs_rev(DecoratedInterval(interval(0.0,0.2), def))[2] == DecoratedInterval(Interval(-0.2,0.2), trv) && decoration(abs_rev(DecoratedInterval(interval(0.0,0.2), def))[2]) == decoration(DecoratedInterval(Interval(-0.2,0.2), trv)) + @test abs_rev(DecoratedInterval(interval(0.0,0.2), def))[2] === DecoratedInterval(Interval(-0.2,0.2), trv) - @test abs_rev(DecoratedInterval(interval(-1.5,Inf), def))[2] == DecoratedInterval(entireinterval(), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.5,Inf), def))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test abs_rev(DecoratedInterval(interval(-1.5,Inf), def))[2] === DecoratedInterval(entireinterval(), trv) end @testset "minimal_abs_rev_dec_bin_test" begin - @test abs_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.1,5.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(abs_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.1,5.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test abs_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.1,5.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test abs_rev(DecoratedInterval(interval(-1.1,-0.4), dac), DecoratedInterval(interval(-1.1,5.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,-0.4), dac), DecoratedInterval(interval(-1.1,5.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test abs_rev(DecoratedInterval(interval(-1.1,-0.4), dac), DecoratedInterval(interval(-1.1,5.0), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test abs_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(-1.1,5.0), def))[2] == DecoratedInterval(Interval(-1.1,5.0), trv) && decoration(abs_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(-1.1,5.0), def))[2]) == decoration(DecoratedInterval(Interval(-1.1,5.0), trv)) + @test abs_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(-1.1,5.0), def))[2] === DecoratedInterval(Interval(-1.1,5.0), trv) - @test abs_rev(DecoratedInterval(interval(1.1,2.1), dac), DecoratedInterval(interval(-1.0,5.0), def))[2] == DecoratedInterval(Interval(1.1,2.1), trv) && decoration(abs_rev(DecoratedInterval(interval(1.1,2.1), dac), DecoratedInterval(interval(-1.0,5.0), def))[2]) == decoration(DecoratedInterval(Interval(1.1,2.1), trv)) + @test abs_rev(DecoratedInterval(interval(1.1,2.1), dac), DecoratedInterval(interval(-1.0,5.0), def))[2] === DecoratedInterval(Interval(1.1,2.1), trv) - @test abs_rev(DecoratedInterval(interval(-1.1,2.0), com), DecoratedInterval(interval(-1.1,5.0), def))[2] == DecoratedInterval(Interval(-1.1,2.0), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,2.0), com), DecoratedInterval(interval(-1.1,5.0), def))[2]) == decoration(DecoratedInterval(Interval(-1.1,2.0), trv)) + @test abs_rev(DecoratedInterval(interval(-1.1,2.0), com), DecoratedInterval(interval(-1.1,5.0), def))[2] === DecoratedInterval(Interval(-1.1,2.0), trv) - @test abs_rev(DecoratedInterval(interval(-1.1,0.0), def), DecoratedInterval(interval(-1.1,5.0), def))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.1,0.0), def), DecoratedInterval(interval(-1.1,5.0), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + @test abs_rev(DecoratedInterval(interval(-1.1,0.0), def), DecoratedInterval(interval(-1.1,5.0), def))[2] === DecoratedInterval(Interval(0.0,0.0), trv) - @test abs_rev(DecoratedInterval(interval(-1.9,0.2), dac), DecoratedInterval(interval(-1.1,5.0), def))[2] == DecoratedInterval(Interval(-0.2,0.2), trv) && decoration(abs_rev(DecoratedInterval(interval(-1.9,0.2), dac), DecoratedInterval(interval(-1.1,5.0), def))[2]) == decoration(DecoratedInterval(Interval(-0.2,0.2), trv)) + @test abs_rev(DecoratedInterval(interval(-1.9,0.2), dac), DecoratedInterval(interval(-1.1,5.0), def))[2] === DecoratedInterval(Interval(-0.2,0.2), trv) end @testset "minimal_pown_rev_test" begin - @test power_rev(emptyinterval(), 0)[2] == emptyinterval() + @test power_rev(emptyinterval(), 0)[2] === emptyinterval() - @test power_rev(interval(1.0,1.0), 0)[2] == entireinterval() + @test power_rev(interval(1.0,1.0), 0)[2] === entireinterval() - @test power_rev(interval(-1.0,5.0), 0)[2] == entireinterval() + @test power_rev(interval(-1.0,5.0), 0)[2] === entireinterval() - @test power_rev(interval(-1.0,0.0), 0)[2] == emptyinterval() + @test power_rev(interval(-1.0,0.0), 0)[2] === emptyinterval() - @test power_rev(interval(-1.0,-0.0), 0)[2] == emptyinterval() + @test power_rev(interval(-1.0,-0.0), 0)[2] === emptyinterval() - @test power_rev(interval(1.1,10.0), 0)[2] == emptyinterval() + @test power_rev(interval(1.1,10.0), 0)[2] === emptyinterval() - @test power_rev(emptyinterval(), 1)[2] == emptyinterval() + @test power_rev(emptyinterval(), 1)[2] === emptyinterval() - @test power_rev(entireinterval(), 1)[2] == entireinterval() + @test power_rev(entireinterval(), 1)[2] === entireinterval() - @test power_rev(interval(0.0,0.0), 1)[2] == Interval(0.0,0.0) + @test power_rev(interval(0.0,0.0), 1)[2] === Interval(0.0,0.0) - @test power_rev(interval(-0.0,-0.0), 1)[2] == Interval(0.0,0.0) + @test power_rev(interval(-0.0,-0.0), 1)[2] === Interval(0.0,0.0) - @test power_rev(interval(13.1,13.1), 1)[2] == Interval(13.1,13.1) + @test power_rev(interval(13.1,13.1), 1)[2] === Interval(13.1,13.1) - @test power_rev(interval(-7451.145,-7451.145), 1)[2] == Interval(-7451.145,-7451.145) + @test power_rev(interval(-7451.145,-7451.145), 1)[2] === Interval(-7451.145,-7451.145) - @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 1)[2] == Interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023) + @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 1)[2] === Interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023) - @test power_rev(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 1)[2] == Interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023) + @test power_rev(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 1)[2] === Interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023) - @test power_rev(interval(0.0,Inf), 1)[2] == Interval(0.0,Inf) + @test power_rev(interval(0.0,Inf), 1)[2] === Interval(0.0,Inf) - @test power_rev(interval(-0.0,Inf), 1)[2] == Interval(0.0,Inf) + @test power_rev(interval(-0.0,Inf), 1)[2] === Interval(0.0,Inf) - @test power_rev(interval(-Inf,0.0), 1)[2] == Interval(-Inf,0.0) + @test power_rev(interval(-Inf,0.0), 1)[2] === Interval(-Inf,0.0) - @test power_rev(interval(-Inf,-0.0), 1)[2] == Interval(-Inf,0.0) + @test power_rev(interval(-Inf,-0.0), 1)[2] === Interval(-Inf,0.0) - @test power_rev(interval(-324.3,2.5), 1)[2] == Interval(-324.3,2.5) + @test power_rev(interval(-324.3,2.5), 1)[2] === Interval(-324.3,2.5) - @test power_rev(interval(0.01,2.33), 1)[2] == Interval(0.01,2.33) + @test power_rev(interval(0.01,2.33), 1)[2] === Interval(0.01,2.33) - @test power_rev(interval(-1.9,-0.33), 1)[2] == Interval(-1.9,-0.33) + @test power_rev(interval(-1.9,-0.33), 1)[2] === Interval(-1.9,-0.33) - @test power_rev(emptyinterval(), 2)[2] == emptyinterval() + @test power_rev(emptyinterval(), 2)[2] === emptyinterval() - @test power_rev(interval(-5.0,-1.0), 2)[2] == emptyinterval() + @test power_rev(interval(-5.0,-1.0), 2)[2] === emptyinterval() - @test power_rev(interval(0.0,Inf), 2)[2] == entireinterval() + @test power_rev(interval(0.0,Inf), 2)[2] === entireinterval() - @test power_rev(interval(-0.0,Inf), 2)[2] == entireinterval() + @test power_rev(interval(-0.0,Inf), 2)[2] === entireinterval() - @test power_rev(interval(0.0,0.0), 2)[2] == Interval(0.0,0.0) + @test power_rev(interval(0.0,0.0), 2)[2] === Interval(0.0,0.0) - @test power_rev(interval(-0.0,-0.0), 2)[2] == Interval(0.0,0.0) + @test power_rev(interval(-0.0,-0.0), 2)[2] === Interval(0.0,0.0) - @test power_rev(interval(0x1.573851EB851EBP+7,0x1.573851EB851ECP+7), 2)[2] == Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3) + @test power_rev(interval(0x1.573851EB851EBP+7,0x1.573851EB851ECP+7), 2)[2] === Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3) - @test power_rev(interval(0x1.A794A4E7CFAADP+25,0x1.A794A4E7CFAAEP+25), 2)[2] == Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12) + @test power_rev(interval(0x1.A794A4E7CFAADP+25,0x1.A794A4E7CFAAEP+25), 2)[2] === Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12) - @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 2)[2] == Interval(-0x1p+512,0x1p+512) + @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 2)[2] === Interval(-0x1p+512,0x1p+512) - @test power_rev(interval(0.0,0x1.9AD27D70A3D72P+16), 2)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + @test power_rev(interval(0.0,0x1.9AD27D70A3D72P+16), 2)[2] === Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) - @test power_rev(interval(-0.0,0x1.9AD27D70A3D72P+16), 2)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + @test power_rev(interval(-0.0,0x1.9AD27D70A3D72P+16), 2)[2] === Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) - @test power_rev(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), 2)[2] == Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1) + @test power_rev(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), 2)[2] === Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1) - @test power_rev(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), 2)[2] == Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0) + @test power_rev(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), 2)[2] === Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0) - @test power_rev(emptyinterval(), 8)[2] == emptyinterval() + @test power_rev(emptyinterval(), 8)[2] === emptyinterval() - @test power_rev(entireinterval(), 8)[2] == entireinterval() + @test power_rev(entireinterval(), 8)[2] === entireinterval() - @test power_rev(interval(0.0,Inf), 8)[2] == entireinterval() + @test power_rev(interval(0.0,Inf), 8)[2] === entireinterval() - @test power_rev(interval(-0.0,Inf), 8)[2] == entireinterval() + @test power_rev(interval(-0.0,Inf), 8)[2] === entireinterval() - @test power_rev(interval(0.0,0.0), 8)[2] == Interval(0.0,0.0) + @test power_rev(interval(0.0,0.0), 8)[2] === Interval(0.0,0.0) - @test power_rev(interval(-0.0,-0.0), 8)[2] == Interval(0.0,0.0) + @test power_rev(interval(-0.0,-0.0), 8)[2] === Interval(0.0,0.0) - @test power_rev(interval(0x1.9D8FD495853F5P+29,0x1.9D8FD495853F6P+29), 8)[2] == Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3) + @test power_rev(interval(0x1.9D8FD495853F5P+29,0x1.9D8FD495853F6P+29), 8)[2] === Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3) - @test power_rev(interval(0x1.DFB1BB622E70DP+102,0x1.DFB1BB622E70EP+102), 8)[2] == Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12) + @test power_rev(interval(0x1.DFB1BB622E70DP+102,0x1.DFB1BB622E70EP+102), 8)[2] === Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12) - @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 8)[2] == Interval(-0x1p+128,0x1p+128) + @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 8)[2] === Interval(-0x1p+128,0x1p+128) - @test power_rev(interval(0.0,0x1.A87587109655P+66), 8)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + @test power_rev(interval(0.0,0x1.A87587109655P+66), 8)[2] === Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) - @test power_rev(interval(-0.0,0x1.A87587109655P+66), 8)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + @test power_rev(interval(-0.0,0x1.A87587109655P+66), 8)[2] === Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) - @test power_rev(interval(0x1.CD2B297D889BDP-54,0x1.B253D9F33CE4DP+9), 8)[2] == Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1) + @test power_rev(interval(0x1.CD2B297D889BDP-54,0x1.B253D9F33CE4DP+9), 8)[2] === Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1) - @test power_rev(interval(0x1.26F1FCDD502A3P-13,0x1.53ABD7BFC4FC6P+7), 8)[2] == Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0) + @test power_rev(interval(0x1.26F1FCDD502A3P-13,0x1.53ABD7BFC4FC6P+7), 8)[2] === Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0) - @test power_rev(emptyinterval(), 3)[2] == emptyinterval() + @test power_rev(emptyinterval(), 3)[2] === emptyinterval() - @test power_rev(entireinterval(), 3)[2] == entireinterval() + @test power_rev(entireinterval(), 3)[2] === entireinterval() - @test power_rev(interval(0.0,0.0), 3)[2] == Interval(0.0,0.0) + @test power_rev(interval(0.0,0.0), 3)[2] === Interval(0.0,0.0) - @test power_rev(interval(-0.0,-0.0), 3)[2] == Interval(0.0,0.0) + @test power_rev(interval(-0.0,-0.0), 3)[2] === Interval(0.0,0.0) - @test power_rev(interval(0x1.1902E978D4FDEP+11,0x1.1902E978D4FDFP+11), 3)[2] == Interval(0x1.a333333333332p+3,0x1.a333333333334p+3) + @test power_rev(interval(0x1.1902E978D4FDEP+11,0x1.1902E978D4FDFP+11), 3)[2] === Interval(0x1.a333333333332p+3,0x1.a333333333334p+3) - @test power_rev(interval(-0x1.81460637B9A3DP+38,-0x1.81460637B9A3CP+38), 3)[2] == Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12) + @test power_rev(interval(-0x1.81460637B9A3DP+38,-0x1.81460637B9A3CP+38), 3)[2] === Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12) - @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 3)[2] == Interval(0x1.428a2f98d728ap+341,0x1.428a2f98d728bp+341) + @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 3)[2] === Interval(0x1.428a2f98d728ap+341,0x1.428a2f98d728bp+341) - @test power_rev(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 3)[2] == Interval(-0x1.428a2f98d728bp+341, -0x1.428a2f98d728ap+341) + @test power_rev(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 3)[2] === Interval(-0x1.428a2f98d728bp+341, -0x1.428a2f98d728ap+341) - @test power_rev(interval(0.0,Inf), 3)[2] == Interval(0.0,Inf) + @test power_rev(interval(0.0,Inf), 3)[2] === Interval(0.0,Inf) - @test power_rev(interval(-0.0,Inf), 3)[2] == Interval(0.0,Inf) + @test power_rev(interval(-0.0,Inf), 3)[2] === Interval(0.0,Inf) - @test power_rev(interval(-Inf,0.0), 3)[2] == Interval(-Inf,0.0) + @test power_rev(interval(-Inf,0.0), 3)[2] === Interval(-Inf,0.0) - @test power_rev(interval(-Inf,-0.0), 3)[2] == Interval(-Inf,0.0) + @test power_rev(interval(-Inf,-0.0), 3)[2] === Interval(-Inf,0.0) - @test power_rev(interval(-0x1.0436D2F418938P+25,0x1.F4P+3), 3)[2] == Interval(-0x1.444cccccccccep+8,0x1.4p+1) + @test power_rev(interval(-0x1.0436D2F418938P+25,0x1.F4P+3), 3)[2] === Interval(-0x1.444cccccccccep+8,0x1.4p+1) - @test power_rev(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), 3)[2] == Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) + @test power_rev(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), 3)[2] === Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) - @test power_rev(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), 3)[2] == Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) + @test power_rev(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), 3)[2] === Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) - @test power_rev(emptyinterval(), 7)[2] == emptyinterval() + @test power_rev(emptyinterval(), 7)[2] === emptyinterval() - @test power_rev(entireinterval(), 7)[2] == entireinterval() + @test power_rev(entireinterval(), 7)[2] === entireinterval() - @test power_rev(interval(0.0,0.0), 7)[2] == Interval(0.0,0.0) + @test power_rev(interval(0.0,0.0), 7)[2] === Interval(0.0,0.0) - @test power_rev(interval(-0.0,-0.0), 7)[2] == Interval(0.0,0.0) + @test power_rev(interval(-0.0,-0.0), 7)[2] === Interval(0.0,0.0) - @test power_rev(interval(0x1.F91D1B185493BP+25,0x1.F91D1B185493CP+25), 7)[2] == Interval(0x1.a333333333332p+3,0x1.a333333333334p+3) + @test power_rev(interval(0x1.F91D1B185493BP+25,0x1.F91D1B185493CP+25), 7)[2] === Interval(0x1.a333333333332p+3,0x1.a333333333334p+3) - @test power_rev(interval(-0x1.07B1DA32F9B59P+90,-0x1.07B1DA32F9B58P+90), 7)[2] == Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12) + @test power_rev(interval(-0x1.07B1DA32F9B59P+90,-0x1.07B1DA32F9B58P+90), 7)[2] === Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12) - @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 7)[2] == Interval(0x1.381147622f886p+146,0x1.381147622f887p+146) + @test power_rev(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 7)[2] === Interval(0x1.381147622f886p+146,0x1.381147622f887p+146) - @test power_rev(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 7)[2] == Interval(-0x1.381147622f887p+146,-0x1.381147622f886p+146) + @test power_rev(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 7)[2] === Interval(-0x1.381147622f887p+146,-0x1.381147622f886p+146) - @test power_rev(interval(0.0,Inf), 7)[2] == Interval(0.0,Inf) + @test power_rev(interval(0.0,Inf), 7)[2] === Interval(0.0,Inf) - @test power_rev(interval(-0.0,Inf), 7)[2] == Interval(0.0,Inf) + @test power_rev(interval(-0.0,Inf), 7)[2] === Interval(0.0,Inf) - @test power_rev(interval(-Inf,0.0), 7)[2] == Interval(-Inf,0.0) + @test power_rev(interval(-Inf,0.0), 7)[2] === Interval(-Inf,0.0) - @test power_rev(interval(-Inf,-0.0), 7)[2] == Interval(-Inf,0.0) + @test power_rev(interval(-Inf,-0.0), 7)[2] === Interval(-Inf,0.0) - @test power_rev(interval(-0x1.4F109959E6D7FP+58,0x1.312DP+9), 7)[2] == Interval(-0x1.444cccccccccep+8,0x1.4p+1) + @test power_rev(interval(-0x1.4F109959E6D7FP+58,0x1.312DP+9), 7)[2] === Interval(-0x1.444cccccccccep+8,0x1.4p+1) - @test power_rev(interval(0x1.6849B86A12B9BP-47,0x1.74D0373C76313P+8), 7)[2] == Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) + @test power_rev(interval(0x1.6849B86A12B9BP-47,0x1.74D0373C76313P+8), 7)[2] === Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) - @test power_rev(interval(-0x1.658C775099757P+6,-0x1.BEE30301BF47AP-12), 7)[2] == Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) + @test power_rev(interval(-0x1.658C775099757P+6,-0x1.BEE30301BF47AP-12), 7)[2] === Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) - @test power_rev(emptyinterval(), -2)[2] == emptyinterval() + @test power_rev(emptyinterval(), -2)[2] === emptyinterval() - @test power_rev(interval(0.0,Inf), -2)[2] == entireinterval() + @test power_rev(interval(0.0,Inf), -2)[2] === entireinterval() - @test power_rev(interval(-0.0,Inf), -2)[2] == entireinterval() + @test power_rev(interval(-0.0,Inf), -2)[2] === entireinterval() - @test power_rev(interval(0.0,0.0), -2)[2] == emptyinterval() + @test power_rev(interval(0.0,0.0), -2)[2] === emptyinterval() - @test power_rev(interval(-0.0,-0.0), -2)[2] == emptyinterval() + @test power_rev(interval(-0.0,-0.0), -2)[2] === emptyinterval() - @test power_rev(interval(-10.0,0.0), -2)[2] == emptyinterval() + @test power_rev(interval(-10.0,0.0), -2)[2] === emptyinterval() - @test power_rev(interval(-10.0,-0.0), -2)[2] == emptyinterval() + @test power_rev(interval(-10.0,-0.0), -2)[2] === emptyinterval() - @test_skip power_rev(interval(0x1.7DE3A077D1568P-8,0x1.7DE3A077D1569P-8), -2)[2] == Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3) + @test_broken power_rev(interval(0x1.7DE3A077D1568P-8,0x1.7DE3A077D1569P-8), -2)[2] === Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3) - @test_skip power_rev(interval(0x1.3570290CD6E14P-26,0x1.3570290CD6E15P-26), -2)[2] == Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12) + @test_broken power_rev(interval(0x1.3570290CD6E14P-26,0x1.3570290CD6E15P-26), -2)[2] === Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12) - @test power_rev(interval(0x0P+0,0x0.0000000000001P-1022), -2)[2] == entireinterval() + @test power_rev(interval(0x0P+0,0x0.0000000000001P-1022), -2)[2] === entireinterval() - @test power_rev(interval(0x1.3F0C482C977C9P-17,Inf), -2)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + @test power_rev(interval(0x1.3F0C482C977C9P-17,Inf), -2)[2] === Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) - @test power_rev(interval(0x1.793D85EF38E47P-3,0x1.388P+13), -2)[2] == Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1) + @test power_rev(interval(0x1.793D85EF38E47P-3,0x1.388P+13), -2)[2] === Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1) - @test power_rev(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), -2)[2] == Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0) + @test power_rev(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), -2)[2] === Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0) - @test power_rev(emptyinterval(), -8)[2] == emptyinterval() + @test power_rev(emptyinterval(), -8)[2] === emptyinterval() - @test power_rev(interval(0.0,Inf), -8)[2] == entireinterval() + @test power_rev(interval(0.0,Inf), -8)[2] === entireinterval() - @test power_rev(interval(-0.0,Inf), -8)[2] == entireinterval() + @test power_rev(interval(-0.0,Inf), -8)[2] === entireinterval() - @test power_rev(interval(0.0,0.0), -8)[2] == emptyinterval() + @test power_rev(interval(0.0,0.0), -8)[2] === emptyinterval() - @test power_rev(interval(-0.0,-0.0), -8)[2] == emptyinterval() + @test power_rev(interval(-0.0,-0.0), -8)[2] === emptyinterval() - @test_skip power_rev(interval(0x1.3CEF39247CA6DP-30,0x1.3CEF39247CA6EP-30), -8)[2] == Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3) + @test_broken power_rev(interval(0x1.3CEF39247CA6DP-30,0x1.3CEF39247CA6EP-30), -8)[2] === Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3) - @test_skip power_rev(interval(0x1.113D9EF0A99ACP-103,0x1.113D9EF0A99ADP-103), -8)[2] == Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12) + @test_broken power_rev(interval(0x1.113D9EF0A99ACP-103,0x1.113D9EF0A99ADP-103), -8)[2] === Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12) - @test power_rev(interval(0x0P+0,0x0.0000000000001P-1022), -8)[2] == entireinterval() + @test power_rev(interval(0x0P+0,0x0.0000000000001P-1022), -8)[2] === entireinterval() - @test power_rev(interval(0x1.34CC3764D1E0CP-67,Inf), -8)[2] == Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) + @test power_rev(interval(0x1.34CC3764D1E0CP-67,Inf), -8)[2] === Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8) - @test power_rev(interval(0x1.2DC80DB11AB7CP-10,0x1.1C37937E08P+53), -8)[2] == Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1) + @test power_rev(interval(0x1.2DC80DB11AB7CP-10,0x1.1C37937E08P+53), -8)[2] === Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1) - @test power_rev(interval(0x1.81E104E61630DP-8,0x1.BC64F21560E34P+12), -8)[2] == Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0) + @test power_rev(interval(0x1.81E104E61630DP-8,0x1.BC64F21560E34P+12), -8)[2] === Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0) - @test power_rev(emptyinterval(), -1)[2] == emptyinterval() + @test power_rev(emptyinterval(), -1)[2] === emptyinterval() - @test power_rev(entireinterval(), -1)[2] == entireinterval() + @test power_rev(entireinterval(), -1)[2] === entireinterval() - @test power_rev(interval(0.0,0.0), -1)[2] == emptyinterval() + @test power_rev(interval(0.0,0.0), -1)[2] === emptyinterval() - @test power_rev(interval(-0.0,-0.0), -1)[2] == emptyinterval() + @test power_rev(interval(-0.0,-0.0), -1)[2] === emptyinterval() - @test power_rev(interval(0x1.38ABF82EE6986P-4,0x1.38ABF82EE6987P-4), -1)[2] == Interval(0x1.a333333333332p+3,0x1.a333333333335p+3) + @test power_rev(interval(0x1.38ABF82EE6986P-4,0x1.38ABF82EE6987P-4), -1)[2] === Interval(0x1.a333333333332p+3,0x1.a333333333335p+3) - @test power_rev(interval(-0x1.197422C9048BFP-13,-0x1.197422C9048BEP-13), -1)[2] == Interval(-0x1.d1b251eb851eep+12,-0x1.d1b251eb851ebp+12) + @test power_rev(interval(-0x1.197422C9048BFP-13,-0x1.197422C9048BEP-13), -1)[2] === Interval(-0x1.d1b251eb851eep+12,-0x1.d1b251eb851ebp+12) - @test power_rev(interval(0x0.4P-1022,0x0.4000000000001P-1022), -1)[2] == Interval(0x1.ffffffffffff8p+1023,Inf) + @test power_rev(interval(0x0.4P-1022,0x0.4000000000001P-1022), -1)[2] === Interval(0x1.ffffffffffff8p+1023,Inf) - @test power_rev(interval(-0x0.4000000000001P-1022,-0x0.4P-1022), -1)[2] == Interval(-Inf,-0x1.ffffffffffff8p+1023) + @test power_rev(interval(-0x0.4000000000001P-1022,-0x0.4P-1022), -1)[2] === Interval(-Inf,-0x1.ffffffffffff8p+1023) - @test power_rev(interval(0.0,Inf), -1)[2] == Interval(0.0,Inf) + @test power_rev(interval(0.0,Inf), -1)[2] === Interval(0.0,Inf) - @test power_rev(interval(-0.0,Inf), -1)[2] == Interval(0.0,Inf) + @test power_rev(interval(-0.0,Inf), -1)[2] === Interval(0.0,Inf) - @test power_rev(interval(-Inf,0.0), -1)[2] == Interval(-Inf,0.0) + @test power_rev(interval(-Inf,0.0), -1)[2] === Interval(-Inf,0.0) - @test power_rev(interval(-Inf,-0.0), -1)[2] == Interval(-Inf,0.0) + @test power_rev(interval(-Inf,-0.0), -1)[2] === Interval(-Inf,0.0) - @test power_rev(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), -1)[2] == Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) + @test power_rev(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), -1)[2] === Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) - @test power_rev(interval(-0x1.83E0F83E0F83EP+1,-0x1.0D79435E50D79P-1), -1)[2] == Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) + @test power_rev(interval(-0x1.83E0F83E0F83EP+1,-0x1.0D79435E50D79P-1), -1)[2] === Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) - @test power_rev(emptyinterval(), -3)[2] == emptyinterval() + @test power_rev(emptyinterval(), -3)[2] === emptyinterval() - @test power_rev(entireinterval(), -3)[2] == entireinterval() + @test power_rev(entireinterval(), -3)[2] === entireinterval() - @test power_rev(interval(0.0,0.0), -3)[2] == emptyinterval() + @test power_rev(interval(0.0,0.0), -3)[2] === emptyinterval() - @test power_rev(interval(-0.0,-0.0), -3)[2] == emptyinterval() + @test power_rev(interval(-0.0,-0.0), -3)[2] === emptyinterval() - @test_skip power_rev(interval(0x1.D26DF4D8B1831P-12,0x1.D26DF4D8B1832P-12), -3)[2] == Interval(0x1.a333333333332p+3,0x1.a333333333334p+3) + @test_broken power_rev(interval(0x1.D26DF4D8B1831P-12,0x1.D26DF4D8B1832P-12), -3)[2] === Interval(0x1.a333333333332p+3,0x1.a333333333334p+3) - @test_skip power_rev(interval(-0x1.54347DED91B19P-39,-0x1.54347DED91B18P-39), -3)[2] == Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12) + @test_broken power_rev(interval(-0x1.54347DED91B19P-39,-0x1.54347DED91B18P-39), -3)[2] === Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12) - @test power_rev(interval(0x0P+0,0x0.0000000000001P-1022), -3)[2] == Interval(0x1p+358,Inf) + @test power_rev(interval(0x0P+0,0x0.0000000000001P-1022), -3)[2] === Interval(0x1p+358,Inf) - @test power_rev(interval(-0x0.0000000000001P-1022,-0x0P+0), -3)[2] == Interval(-Inf,-0x1p+358) + @test power_rev(interval(-0x0.0000000000001P-1022,-0x0P+0), -3)[2] === Interval(-Inf,-0x1p+358) - @test power_rev(interval(0.0,Inf), -3)[2] == Interval(0.0,Inf) + @test power_rev(interval(0.0,Inf), -3)[2] === Interval(0.0,Inf) - @test power_rev(interval(-0.0,Inf), -3)[2] == Interval(0.0,Inf) + @test power_rev(interval(-0.0,Inf), -3)[2] === Interval(0.0,Inf) - @test power_rev(interval(-Inf,0.0), -3)[2] == Interval(-Inf,0.0) + @test power_rev(interval(-Inf,0.0), -3)[2] === Interval(-Inf,0.0) - @test power_rev(interval(-Inf,-0.0), -3)[2] == Interval(-Inf,0.0) + @test power_rev(interval(-Inf,-0.0), -3)[2] === Interval(-Inf,0.0) - @test power_rev(interval(0x1.43CFBA61AACABP-4,0x1.E848P+19), -3)[2] == Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) + @test power_rev(interval(0x1.43CFBA61AACABP-4,0x1.E848P+19), -3)[2] === Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) - @test power_rev(interval(-0x1.BD393CE9E8E7CP+4,-0x1.2A95F6F7C066CP-3), -3)[2] == Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) + @test power_rev(interval(-0x1.BD393CE9E8E7CP+4,-0x1.2A95F6F7C066CP-3), -3)[2] === Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) - @test power_rev(emptyinterval(), -7)[2] == emptyinterval() + @test power_rev(emptyinterval(), -7)[2] === emptyinterval() - @test power_rev(entireinterval(), -7)[2] == entireinterval() + @test power_rev(entireinterval(), -7)[2] === entireinterval() - @test power_rev(interval(0.0,0.0), -7)[2] == emptyinterval() + @test power_rev(interval(0.0,0.0), -7)[2] === emptyinterval() - @test power_rev(interval(-0.0,-0.0), -7)[2] == emptyinterval() + @test power_rev(interval(-0.0,-0.0), -7)[2] === emptyinterval() - @test_skip power_rev(interval(0x1.037D76C912DBCP-26,0x1.037D76C912DBDP-26), -7)[2] == Interval(0x1.a333333333332p+3,0x1.a333333333334p+3) + @test_broken power_rev(interval(0x1.037D76C912DBCP-26,0x1.037D76C912DBDP-26), -7)[2] === Interval(0x1.a333333333332p+3,0x1.a333333333334p+3) - @test_skip power_rev(interval(-0x1.F10F41FB8858FP-91,-0x1.F10F41FB8858EP-91), -7)[2] == Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12) + @test_broken power_rev(interval(-0x1.F10F41FB8858FP-91,-0x1.F10F41FB8858EP-91), -7)[2] === Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12) - @test power_rev(interval(0x0P+0,0x0.0000000000001P-1022), -7)[2] == Interval(0x1.588cea3f093bcp+153,Inf) + @test power_rev(interval(0x0P+0,0x0.0000000000001P-1022), -7)[2] === Interval(0x1.588cea3f093bcp+153,Inf) - @test power_rev(interval(-0x0.0000000000001P-1022,-0x0P+0), -7)[2] == Interval(-Inf,-0x1.588cea3f093bcp+153) + @test power_rev(interval(-0x0.0000000000001P-1022,-0x0P+0), -7)[2] === Interval(-Inf,-0x1.588cea3f093bcp+153) - @test power_rev(interval(0.0,Inf), -7)[2] == Interval(0.0,Inf) + @test power_rev(interval(0.0,Inf), -7)[2] === Interval(0.0,Inf) - @test power_rev(interval(-0.0,Inf), -7)[2] == Interval(0.0,Inf) + @test power_rev(interval(-0.0,Inf), -7)[2] === Interval(0.0,Inf) - @test power_rev(interval(-Inf,0.0), -7)[2] == Interval(-Inf,0.0) + @test power_rev(interval(-Inf,0.0), -7)[2] === Interval(-Inf,0.0) - @test power_rev(interval(-Inf,-0.0), -7)[2] == Interval(-Inf,0.0) + @test power_rev(interval(-Inf,-0.0), -7)[2] === Interval(-Inf,0.0) - @test power_rev(interval(0x1.5F934D64162A9P-9,0x1.6BCC41E9P+46), -7)[2] == Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) + @test power_rev(interval(0x1.5F934D64162A9P-9,0x1.6BCC41E9P+46), -7)[2] === Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1) - @test power_rev(interval(-0x1.254CDD3711DDBP+11,-0x1.6E95C4A761E19P-7), -7)[2] == Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) + @test power_rev(interval(-0x1.254CDD3711DDBP+11,-0x1.6E95C4A761E19P-7), -7)[2] === Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2) end @testset "minimal_pown_rev_bin_test" begin - @test power_rev(emptyinterval(), interval(1.0,1.0), 0)[2] == emptyinterval() + @test power_rev(emptyinterval(), interval(1.0,1.0), 0)[2] === emptyinterval() - @test power_rev(interval(1.0,1.0), interval(1.0,1.0), 0)[2] == Interval(1.0,1.0) + @test power_rev(interval(1.0,1.0), interval(1.0,1.0), 0)[2] === Interval(1.0,1.0) - @test power_rev(interval(-1.0,5.0), interval(-51.0,12.0), 0)[2] == Interval(-51.0,12.0) + @test power_rev(interval(-1.0,5.0), interval(-51.0,12.0), 0)[2] === Interval(-51.0,12.0) - @test power_rev(interval(-1.0,0.0), interval(5.0,10.0), 0)[2] == emptyinterval() + @test power_rev(interval(-1.0,0.0), interval(5.0,10.0), 0)[2] === emptyinterval() - @test power_rev(interval(-1.0,-0.0), interval(-1.0,1.0), 0)[2] == emptyinterval() + @test power_rev(interval(-1.0,-0.0), interval(-1.0,1.0), 0)[2] === emptyinterval() - @test power_rev(interval(1.1,10.0), interval(1.0,41.0), 0)[2] == emptyinterval() + @test power_rev(interval(1.1,10.0), interval(1.0,41.0), 0)[2] === emptyinterval() - @test power_rev(emptyinterval(), interval(0.0,100.1), 1)[2] == emptyinterval() + @test power_rev(emptyinterval(), interval(0.0,100.1), 1)[2] === emptyinterval() - @test power_rev(entireinterval(), interval(-5.1,10.0), 1)[2] == Interval(-5.1,10.0) + @test power_rev(entireinterval(), interval(-5.1,10.0), 1)[2] === Interval(-5.1,10.0) - @test power_rev(interval(0.0,0.0), interval(-10.0,5.1), 1)[2] == Interval(0.0,0.0) + @test power_rev(interval(0.0,0.0), interval(-10.0,5.1), 1)[2] === Interval(0.0,0.0) - @test power_rev(interval(-0.0,-0.0), interval(1.0,5.0), 1)[2] == emptyinterval() + @test power_rev(interval(-0.0,-0.0), interval(1.0,5.0), 1)[2] === emptyinterval() - @test power_rev(emptyinterval(), interval(5.0,17.1), 2)[2] == emptyinterval() + @test power_rev(emptyinterval(), interval(5.0,17.1), 2)[2] === emptyinterval() - @test power_rev(interval(-5.0,-1.0), interval(5.0,17.1), 2)[2] == emptyinterval() + @test power_rev(interval(-5.0,-1.0), interval(5.0,17.1), 2)[2] === emptyinterval() - @test power_rev(interval(0.0,Inf), interval(5.6,27.544), 2)[2] == Interval(5.6,27.544) + @test power_rev(interval(0.0,Inf), interval(5.6,27.544), 2)[2] === Interval(5.6,27.544) - @test power_rev(interval(0.0,0.0), interval(1.0,2.0), 2)[2] == emptyinterval() + @test power_rev(interval(0.0,0.0), interval(1.0,2.0), 2)[2] === emptyinterval() - @test power_rev(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), interval(1.0,Inf), 2)[2] == Interval(1.0,0x1.2a3d70a3d70a5p+1) + @test power_rev(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), interval(1.0,Inf), 2)[2] === Interval(1.0,0x1.2a3d70a3d70a5p+1) - @test power_rev(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), interval(-Inf,-1.0), 2)[2] == Interval(-0x1.e666666666667p+0,-1.0) + @test power_rev(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), interval(-Inf,-1.0), 2)[2] === Interval(-0x1.e666666666667p+0,-1.0) - @test power_rev(emptyinterval(), interval(-23.0,-1.0), 3)[2] == emptyinterval() + @test power_rev(emptyinterval(), interval(-23.0,-1.0), 3)[2] === emptyinterval() - @test power_rev(entireinterval(), interval(-23.0,-1.0), 3)[2] == Interval(-23.0,-1.0) + @test power_rev(entireinterval(), interval(-23.0,-1.0), 3)[2] === Interval(-23.0,-1.0) - @test power_rev(interval(0.0,0.0), interval(1.0,2.0), 3)[2] == emptyinterval() + @test power_rev(interval(0.0,0.0), interval(1.0,2.0), 3)[2] === emptyinterval() - @test power_rev(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), interval(1.0,Inf), 3)[2] == Interval(1.0,0x1.2a3d70a3d70a5p+1) + @test power_rev(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), interval(1.0,Inf), 3)[2] === Interval(1.0,0x1.2a3d70a3d70a5p+1) - @test power_rev(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), interval(-Inf,-1.0), 3)[2] == Interval(-0x1.e666666666667p+0,-1.0) + @test power_rev(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), interval(-Inf,-1.0), 3)[2] === Interval(-0x1.e666666666667p+0,-1.0) - @test power_rev(emptyinterval(), interval(-3.0,17.3), -2)[2] == emptyinterval() + @test power_rev(emptyinterval(), interval(-3.0,17.3), -2)[2] === emptyinterval() - @test power_rev(interval(0.0,Inf), interval(-5.1,-0.1), -2)[2] == Interval(-5.1,-0.1) + @test power_rev(interval(0.0,Inf), interval(-5.1,-0.1), -2)[2] === Interval(-5.1,-0.1) - @test power_rev(interval(0.0,0.0), interval(27.2,55.1), -2)[2] == emptyinterval() + @test power_rev(interval(0.0,0.0), interval(27.2,55.1), -2)[2] === emptyinterval() - @test power_rev(interval(0x1.3F0C482C977C9P-17,Inf), interval(-Inf,-0x1.FFFFFFFFFFFFFp1023), -2)[2] == emptyinterval() + @test power_rev(interval(0x1.3F0C482C977C9P-17,Inf), interval(-Inf,-0x1.FFFFFFFFFFFFFp1023), -2)[2] === emptyinterval() - @test power_rev(interval(0x1.793D85EF38E47P-3,0x1.388P+13), interval(1.0,Inf), -2)[2] == Interval(1.0,0x1.2a3d70a3d70a5p+1) + @test power_rev(interval(0x1.793D85EF38E47P-3,0x1.388P+13), interval(1.0,Inf), -2)[2] === Interval(1.0,0x1.2a3d70a3d70a5p+1) - @test power_rev(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), interval(-Inf,-1.0), -2)[2] == Interval(-0x1.e666666666667p+0,-1.0) + @test power_rev(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), interval(-Inf,-1.0), -2)[2] === Interval(-0x1.e666666666667p+0,-1.0) - @test power_rev(emptyinterval(), interval(-5.1,55.5), -1)[2] == emptyinterval() + @test power_rev(emptyinterval(), interval(-5.1,55.5), -1)[2] === emptyinterval() - @test power_rev(entireinterval(), interval(-5.1,55.5), -1)[2] == Interval(-5.1,55.5) + @test power_rev(entireinterval(), interval(-5.1,55.5), -1)[2] === Interval(-5.1,55.5) - @test power_rev(interval(0.0,0.0), interval(-5.1,55.5), -1)[2] == emptyinterval() + @test power_rev(interval(0.0,0.0), interval(-5.1,55.5), -1)[2] === emptyinterval() - @test power_rev(interval(-Inf,-0.0), interval(-1.0,1.0), -1)[2] == Interval(-1.0,0.0) + @test power_rev(interval(-Inf,-0.0), interval(-1.0,1.0), -1)[2] === Interval(-1.0,0.0) - @test power_rev(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), interval(-1.0,0.0), -1)[2] == emptyinterval() + @test power_rev(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), interval(-1.0,0.0), -1)[2] === emptyinterval() - @test power_rev(emptyinterval(), interval(-5.1,55.5), -3)[2] == emptyinterval() + @test power_rev(emptyinterval(), interval(-5.1,55.5), -3)[2] === emptyinterval() - @test power_rev(entireinterval(), interval(-5.1,55.5), -3)[2] == Interval(-5.1,55.5) + @test power_rev(entireinterval(), interval(-5.1,55.5), -3)[2] === Interval(-5.1,55.5) - @test power_rev(interval(0.0,0.0), interval(-5.1,55.5), -3)[2] == emptyinterval() + @test power_rev(interval(0.0,0.0), interval(-5.1,55.5), -3)[2] === emptyinterval() - @test power_rev(interval(-Inf,0.0), interval(5.1,55.5), -3)[2] == emptyinterval() + @test power_rev(interval(-Inf,0.0), interval(5.1,55.5), -3)[2] === emptyinterval() - @test power_rev(interval(-Inf,-0.0), interval(-32.0,1.1), -3)[2] == Interval(-32.0,0.0) + @test power_rev(interval(-Inf,-0.0), interval(-32.0,1.1), -3)[2] === Interval(-32.0,0.0) end @testset "minimal_pown_rev_dec_test" begin - @test power_rev(DecoratedInterval(emptyinterval(), trv), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), 0)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(1.0,1.0), com), 0)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(1.0,1.0), com), 0)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(interval(1.0,1.0), com), 0)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(-1.0,5.0), dac), 0)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,5.0), dac), 0)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-1.0,5.0), dac), 0)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(-1.0,0.0), def), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,0.0), def), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-1.0,0.0), def), 0)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(-1.0,-0.0), dac), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,-0.0), dac), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-1.0,-0.0), dac), 0)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(1.1,10.0), com), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(1.1,10.0), com), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(1.1,10.0), com), 0)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(emptyinterval(), trv), 1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), 1)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(entireinterval(), def), 1)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), 1)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(entireinterval(), def), 1)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(0.0,0.0), com), 1)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), com), 1)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0.0), com), 1)[2] === DecoratedInterval(Interval(0.0,0.0), trv) - @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 1)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 1)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 1)[2] === DecoratedInterval(Interval(0.0,0.0), trv) - @test power_rev(DecoratedInterval(interval(13.1,13.1), def), 1)[2] == DecoratedInterval(Interval(13.1,13.1), trv) && decoration(power_rev(DecoratedInterval(interval(13.1,13.1), def), 1)[2]) == decoration(DecoratedInterval(Interval(13.1,13.1), trv)) + @test power_rev(DecoratedInterval(interval(13.1,13.1), def), 1)[2] === DecoratedInterval(Interval(13.1,13.1), trv) - @test power_rev(DecoratedInterval(interval(-7451.145,-7451.145), dac), 1)[2] == DecoratedInterval(Interval(-7451.145,-7451.145), trv) && decoration(power_rev(DecoratedInterval(interval(-7451.145,-7451.145), dac), 1)[2]) == decoration(DecoratedInterval(Interval(-7451.145,-7451.145), trv)) + @test power_rev(DecoratedInterval(interval(-7451.145,-7451.145), dac), 1)[2] === DecoratedInterval(Interval(-7451.145,-7451.145), trv) - @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), com), 1)[2] == DecoratedInterval(Interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), com), 1)[2]) == decoration(DecoratedInterval(Interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), trv)) + @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), com), 1)[2] === DecoratedInterval(Interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), trv) - @test power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), com), 1)[2] == DecoratedInterval(Interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), com), 1)[2]) == decoration(DecoratedInterval(Interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), trv)) + @test power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), com), 1)[2] === DecoratedInterval(Interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), trv) - @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), 1)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), 1)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), 1)[2] === DecoratedInterval(Interval(0.0,Inf), trv) - @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 1)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 1)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 1)[2] === DecoratedInterval(Interval(0.0,Inf), trv) - @test power_rev(DecoratedInterval(interval(-Inf,0.0), def), 1)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), def), 1)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-Inf,0.0), def), 1)[2] === DecoratedInterval(Interval(-Inf,0.0), trv) - @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 1)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 1)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 1)[2] === DecoratedInterval(Interval(-Inf,0.0), trv) - @test power_rev(DecoratedInterval(interval(-324.3,2.5), dac), 1)[2] == DecoratedInterval(Interval(-324.3,2.5), trv) && decoration(power_rev(DecoratedInterval(interval(-324.3,2.5), dac), 1)[2]) == decoration(DecoratedInterval(Interval(-324.3,2.5), trv)) + @test power_rev(DecoratedInterval(interval(-324.3,2.5), dac), 1)[2] === DecoratedInterval(Interval(-324.3,2.5), trv) - @test power_rev(DecoratedInterval(interval(0.01,2.33), com), 1)[2] == DecoratedInterval(Interval(0.01,2.33), trv) && decoration(power_rev(DecoratedInterval(interval(0.01,2.33), com), 1)[2]) == decoration(DecoratedInterval(Interval(0.01,2.33), trv)) + @test power_rev(DecoratedInterval(interval(0.01,2.33), com), 1)[2] === DecoratedInterval(Interval(0.01,2.33), trv) - @test power_rev(DecoratedInterval(interval(-1.9,-0.33), def), 1)[2] == DecoratedInterval(Interval(-1.9,-0.33), trv) && decoration(power_rev(DecoratedInterval(interval(-1.9,-0.33), def), 1)[2]) == decoration(DecoratedInterval(Interval(-1.9,-0.33), trv)) + @test power_rev(DecoratedInterval(interval(-1.9,-0.33), def), 1)[2] === DecoratedInterval(Interval(-1.9,-0.33), trv) - @test power_rev(DecoratedInterval(emptyinterval(), trv), 2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), 2)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), 2)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), 2)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), 2)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(-0.0,Inf), def), 2)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), def), 2)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,Inf), def), 2)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(0.0,0.0), com), 2)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), com), 2)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0.0), com), 2)[2] === DecoratedInterval(Interval(0.0,0.0), trv) - @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 2)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 2)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 2)[2] === DecoratedInterval(Interval(0.0,0.0), trv) - @test power_rev(DecoratedInterval(interval(0x1.573851EB851EBP+7,0x1.573851EB851ECP+7), def), 2)[2] == DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.573851EB851EBP+7,0x1.573851EB851ECP+7), def), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv)) + @test power_rev(DecoratedInterval(interval(0x1.573851EB851EBP+7,0x1.573851EB851ECP+7), def), 2)[2] === DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv) - @test power_rev(DecoratedInterval(interval(0x1.A794A4E7CFAADP+25,0x1.A794A4E7CFAAEP+25), def), 2)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.A794A4E7CFAADP+25,0x1.A794A4E7CFAAEP+25), def), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv)) + @test power_rev(DecoratedInterval(interval(0x1.A794A4E7CFAADP+25,0x1.A794A4E7CFAAEP+25), def), 2)[2] === DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv) - @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), dac), 2)[2] == DecoratedInterval(Interval(-0x1p+512,0x1p+512), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), dac), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1p+512,0x1p+512), trv)) + @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), dac), 2)[2] === DecoratedInterval(Interval(-0x1p+512,0x1p+512), trv) - @test power_rev(DecoratedInterval(interval(0.0,0x1.9AD27D70A3D72P+16), dac), 2)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0x1.9AD27D70A3D72P+16), dac), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0x1.9AD27D70A3D72P+16), dac), 2)[2] === DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) - @test power_rev(DecoratedInterval(interval(-0.0,0x1.9AD27D70A3D72P+16), def), 2)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,0x1.9AD27D70A3D72P+16), def), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,0x1.9AD27D70A3D72P+16), def), 2)[2] === DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) - @test power_rev(DecoratedInterval(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), com), 2)[2] == DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), com), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv)) + @test power_rev(DecoratedInterval(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), com), 2)[2] === DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv) - @test power_rev(DecoratedInterval(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), def), 2)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), def), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv)) + @test power_rev(DecoratedInterval(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), def), 2)[2] === DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv) - @test power_rev(DecoratedInterval(emptyinterval(), trv), 8)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 8)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), 8)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(entireinterval(), def), 8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), 8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(entireinterval(), def), 8)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), 8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), 8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), 8)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 8)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(0.0,0.0), def), 8)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), 8)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), 8)[2] === DecoratedInterval(Interval(0.0,0.0), trv) - @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 8)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 8)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 8)[2] === DecoratedInterval(Interval(0.0,0.0), trv) - @test power_rev(DecoratedInterval(interval(0x1.9D8FD495853F5P+29,0x1.9D8FD495853F6P+29), com), 8)[2] == DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.9D8FD495853F5P+29,0x1.9D8FD495853F6P+29), com), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv)) + @test power_rev(DecoratedInterval(interval(0x1.9D8FD495853F5P+29,0x1.9D8FD495853F6P+29), com), 8)[2] === DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv) - @test power_rev(DecoratedInterval(interval(0x1.DFB1BB622E70DP+102,0x1.DFB1BB622E70EP+102), dac), 8)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.DFB1BB622E70DP+102,0x1.DFB1BB622E70EP+102), dac), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv)) + @test power_rev(DecoratedInterval(interval(0x1.DFB1BB622E70DP+102,0x1.DFB1BB622E70EP+102), dac), 8)[2] === DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv) - @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), def), 8)[2] == DecoratedInterval(Interval(-0x1p+128,0x1p+128), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), def), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1p+128,0x1p+128), trv)) + @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), def), 8)[2] === DecoratedInterval(Interval(-0x1p+128,0x1p+128), trv) - @test power_rev(DecoratedInterval(interval(0.0,0x1.A87587109655P+66), dac), 8)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0x1.A87587109655P+66), dac), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0x1.A87587109655P+66), dac), 8)[2] === DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) - @test power_rev(DecoratedInterval(interval(-0.0,0x1.A87587109655P+66), def), 8)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,0x1.A87587109655P+66), def), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,0x1.A87587109655P+66), def), 8)[2] === DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) - @test power_rev(DecoratedInterval(interval(0x1.CD2B297D889BDP-54,0x1.B253D9F33CE4DP+9), com), 8)[2] == DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.CD2B297D889BDP-54,0x1.B253D9F33CE4DP+9), com), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv)) + @test power_rev(DecoratedInterval(interval(0x1.CD2B297D889BDP-54,0x1.B253D9F33CE4DP+9), com), 8)[2] === DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv) - @test power_rev(DecoratedInterval(interval(0x1.26F1FCDD502A3P-13,0x1.53ABD7BFC4FC6P+7), dac), 8)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.26F1FCDD502A3P-13,0x1.53ABD7BFC4FC6P+7), dac), 8)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv)) + @test power_rev(DecoratedInterval(interval(0x1.26F1FCDD502A3P-13,0x1.53ABD7BFC4FC6P+7), dac), 8)[2] === DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv) - @test power_rev(DecoratedInterval(emptyinterval(), trv), 3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), 3)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(entireinterval(), def), 3)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), 3)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(entireinterval(), def), 3)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(0.0,0.0), dac), 3)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), dac), 3)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0.0), dac), 3)[2] === DecoratedInterval(Interval(0.0,0.0), trv) - @test power_rev(DecoratedInterval(interval(-0.0,-0.0), def), 3)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), def), 3)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), def), 3)[2] === DecoratedInterval(Interval(0.0,0.0), trv) - @test power_rev(DecoratedInterval(interval(0x1.1902E978D4FDEP+11,0x1.1902E978D4FDFP+11), com), 3)[2] == DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.1902E978D4FDEP+11,0x1.1902E978D4FDFP+11), com), 3)[2]) == decoration(DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv)) + @test power_rev(DecoratedInterval(interval(0x1.1902E978D4FDEP+11,0x1.1902E978D4FDFP+11), com), 3)[2] === DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv) - @test power_rev(DecoratedInterval(interval(-0x1.81460637B9A3DP+38,-0x1.81460637B9A3CP+38), def), 3)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.81460637B9A3DP+38,-0x1.81460637B9A3CP+38), def), 3)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv)) + @test power_rev(DecoratedInterval(interval(-0x1.81460637B9A3DP+38,-0x1.81460637B9A3CP+38), def), 3)[2] === DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv) - @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), dac), 3)[2] == DecoratedInterval(Interval(0x1.428a2f98d728ap+341,0x1.428a2f98d728bp+341), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), dac), 3)[2]) == decoration(DecoratedInterval(Interval(0x1.428a2f98d728ap+341,0x1.428a2f98d728bp+341), trv)) + @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), dac), 3)[2] === DecoratedInterval(Interval(0x1.428a2f98d728ap+341,0x1.428a2f98d728bp+341), trv) - @test power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), com), 3)[2] == DecoratedInterval(Interval(-0x1.428a2f98d728bp+341, -0x1.428a2f98d728ap+341), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), com), 3)[2]) == decoration(DecoratedInterval(Interval(-0x1.428a2f98d728bp+341, -0x1.428a2f98d728ap+341), trv)) + @test power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), com), 3)[2] === DecoratedInterval(Interval(-0x1.428a2f98d728bp+341, -0x1.428a2f98d728ap+341), trv) - @test power_rev(DecoratedInterval(interval(0.0,Inf), def), 3)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), def), 3)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + @test power_rev(DecoratedInterval(interval(0.0,Inf), def), 3)[2] === DecoratedInterval(Interval(0.0,Inf), trv) - @test power_rev(DecoratedInterval(interval(-0.0,Inf), def), 3)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), def), 3)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,Inf), def), 3)[2] === DecoratedInterval(Interval(0.0,Inf), trv) - @test power_rev(DecoratedInterval(interval(-Inf,0.0), dac), 3)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), dac), 3)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-Inf,0.0), dac), 3)[2] === DecoratedInterval(Interval(-Inf,0.0), trv) - @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 3)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 3)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 3)[2] === DecoratedInterval(Interval(-Inf,0.0), trv) - @test power_rev(DecoratedInterval(interval(-0x1.0436D2F418938P+25,0x1.F4P+3), com), 3)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.4p+1), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.0436D2F418938P+25,0x1.F4P+3), com), 3)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.4p+1), trv)) + @test power_rev(DecoratedInterval(interval(-0x1.0436D2F418938P+25,0x1.F4P+3), com), 3)[2] === DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.4p+1), trv) - @test power_rev(DecoratedInterval(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), dac), 3)[2] == DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), dac), 3)[2]) == decoration(DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv)) + @test power_rev(DecoratedInterval(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), dac), 3)[2] === DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) - @test power_rev(DecoratedInterval(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), def), 3)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), def), 3)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv)) + @test power_rev(DecoratedInterval(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), def), 3)[2] === DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) - @test power_rev(DecoratedInterval(emptyinterval(), trv), 7)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), 7)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), 7)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(entireinterval(), def), 7)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), 7)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(entireinterval(), def), 7)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(0.0,0.0), com), 7)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), com), 7)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0.0), com), 7)[2] === DecoratedInterval(Interval(0.0,0.0), trv) - @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 7)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 7)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), 7)[2] === DecoratedInterval(Interval(0.0,0.0), trv) - @test power_rev(DecoratedInterval(interval(0x1.F91D1B185493BP+25,0x1.F91D1B185493CP+25), def), 7)[2] == DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.F91D1B185493BP+25,0x1.F91D1B185493CP+25), def), 7)[2]) == decoration(DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv)) + @test power_rev(DecoratedInterval(interval(0x1.F91D1B185493BP+25,0x1.F91D1B185493CP+25), def), 7)[2] === DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv) - @test power_rev(DecoratedInterval(interval(-0x1.07B1DA32F9B59P+90,-0x1.07B1DA32F9B58P+90), dac), 7)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.07B1DA32F9B59P+90,-0x1.07B1DA32F9B58P+90), dac), 7)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv)) + @test power_rev(DecoratedInterval(interval(-0x1.07B1DA32F9B59P+90,-0x1.07B1DA32F9B58P+90), dac), 7)[2] === DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv) - @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), com), 7)[2] == DecoratedInterval(Interval(0x1.381147622f886p+146,0x1.381147622f887p+146), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), com), 7)[2]) == decoration(DecoratedInterval(Interval(0x1.381147622f886p+146,0x1.381147622f887p+146), trv)) + @test power_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), com), 7)[2] === DecoratedInterval(Interval(0x1.381147622f886p+146,0x1.381147622f887p+146), trv) - @test power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), def), 7)[2] == DecoratedInterval(Interval(-0x1.381147622f887p+146,-0x1.381147622f886p+146), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), def), 7)[2]) == decoration(DecoratedInterval(Interval(-0x1.381147622f887p+146,-0x1.381147622f886p+146), trv)) + @test power_rev(DecoratedInterval(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), def), 7)[2] === DecoratedInterval(Interval(-0x1.381147622f887p+146,-0x1.381147622f886p+146), trv) - @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), 7)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), 7)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), 7)[2] === DecoratedInterval(Interval(0.0,Inf), trv) - @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 7)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 7)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), 7)[2] === DecoratedInterval(Interval(0.0,Inf), trv) - @test power_rev(DecoratedInterval(interval(-Inf,0.0), def), 7)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), def), 7)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-Inf,0.0), def), 7)[2] === DecoratedInterval(Interval(-Inf,0.0), trv) - @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 7)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 7)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), 7)[2] === DecoratedInterval(Interval(-Inf,0.0), trv) - @test power_rev(DecoratedInterval(interval(-0x1.4F109959E6D7FP+58,0x1.312DP+9), dac), 7)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.4p+1), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.4F109959E6D7FP+58,0x1.312DP+9), dac), 7)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.4p+1), trv)) + @test power_rev(DecoratedInterval(interval(-0x1.4F109959E6D7FP+58,0x1.312DP+9), dac), 7)[2] === DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.4p+1), trv) - @test power_rev(DecoratedInterval(interval(0x1.6849B86A12B9BP-47,0x1.74D0373C76313P+8), com), 7)[2] == DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.6849B86A12B9BP-47,0x1.74D0373C76313P+8), com), 7)[2]) == decoration(DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv)) + @test power_rev(DecoratedInterval(interval(0x1.6849B86A12B9BP-47,0x1.74D0373C76313P+8), com), 7)[2] === DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) - @test power_rev(DecoratedInterval(interval(-0x1.658C775099757P+6,-0x1.BEE30301BF47AP-12), def), 7)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.658C775099757P+6,-0x1.BEE30301BF47AP-12), def), 7)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv)) + @test power_rev(DecoratedInterval(interval(-0x1.658C775099757P+6,-0x1.BEE30301BF47AP-12), def), 7)[2] === DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) - @test power_rev(DecoratedInterval(emptyinterval(), trv), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), -2)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), -2)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), -2)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), -2)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -2)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -2)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -2)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(0.0,0.0), def), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), -2)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(-0.0,-0.0), com), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), com), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), com), -2)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(-10.0,0.0), dac), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-10.0,0.0), dac), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-10.0,0.0), dac), -2)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(-10.0,-0.0), def), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-10.0,-0.0), def), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-10.0,-0.0), def), -2)[2] === DecoratedInterval(emptyinterval(), trv) - @test_skip power_rev(DecoratedInterval(interval(0x1.7DE3A077D1568P-8,0x1.7DE3A077D1569P-8), dac), -2)[2] == DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.7DE3A077D1568P-8,0x1.7DE3A077D1569P-8), dac), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv)) + @test_broken power_rev(DecoratedInterval(interval(0x1.7DE3A077D1568P-8,0x1.7DE3A077D1569P-8), dac), -2)[2] === DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv) - @test_skip power_rev(DecoratedInterval(interval(0x1.3570290CD6E14P-26,0x1.3570290CD6E15P-26), def), -2)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.3570290CD6E14P-26,0x1.3570290CD6E15P-26), def), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv)) + @test_broken power_rev(DecoratedInterval(interval(0x1.3570290CD6E14P-26,0x1.3570290CD6E15P-26), def), -2)[2] === DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv) - @test power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), com), -2)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), com), -2)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), com), -2)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(0x1.3F0C482C977C9P-17,Inf), dac), -2)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.3F0C482C977C9P-17,Inf), dac), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + @test power_rev(DecoratedInterval(interval(0x1.3F0C482C977C9P-17,Inf), dac), -2)[2] === DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) - @test power_rev(DecoratedInterval(interval(0x1.793D85EF38E47P-3,0x1.388P+13), def), -2)[2] == DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.793D85EF38E47P-3,0x1.388P+13), def), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv)) + @test power_rev(DecoratedInterval(interval(0x1.793D85EF38E47P-3,0x1.388P+13), def), -2)[2] === DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv) - @test power_rev(DecoratedInterval(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), com), -2)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), com), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv)) + @test power_rev(DecoratedInterval(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), com), -2)[2] === DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv) - @test power_rev(DecoratedInterval(emptyinterval(), trv), -8)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), -8)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), -8)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(0.0,Inf), def), -8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), def), -8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0.0,Inf), def), -8)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -8)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(0.0,0.0), def), -8)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), -8)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), -8)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -8)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -8)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -8)[2] === DecoratedInterval(emptyinterval(), trv) - @test_skip power_rev(DecoratedInterval(interval(0x1.3CEF39247CA6DP-30,0x1.3CEF39247CA6EP-30), com), -8)[2] == DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.3CEF39247CA6DP-30,0x1.3CEF39247CA6EP-30), com), -8)[2]) == decoration(DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv)) + @test_broken power_rev(DecoratedInterval(interval(0x1.3CEF39247CA6DP-30,0x1.3CEF39247CA6EP-30), com), -8)[2] === DecoratedInterval(Interval(-0x1.a333333333334p+3,0x1.a333333333334p+3), trv) - @test_skip power_rev(DecoratedInterval(interval(0x1.113D9EF0A99ACP-103,0x1.113D9EF0A99ADP-103), def), -8)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.113D9EF0A99ACP-103,0x1.113D9EF0A99ADP-103), def), -8)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv)) + @test_broken power_rev(DecoratedInterval(interval(0x1.113D9EF0A99ACP-103,0x1.113D9EF0A99ADP-103), def), -8)[2] === DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,0x1.d1b251eb851edp+12), trv) - @test power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), dac), -8)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), dac), -8)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), dac), -8)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(0x1.34CC3764D1E0CP-67,Inf), def), -8)[2] == DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.34CC3764D1E0CP-67,Inf), def), -8)[2]) == decoration(DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv)) + @test power_rev(DecoratedInterval(interval(0x1.34CC3764D1E0CP-67,Inf), def), -8)[2] === DecoratedInterval(Interval(-0x1.444cccccccccep+8,0x1.444cccccccccep+8), trv) - @test power_rev(DecoratedInterval(interval(0x1.2DC80DB11AB7CP-10,0x1.1C37937E08P+53), com), -8)[2] == DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.2DC80DB11AB7CP-10,0x1.1C37937E08P+53), com), -8)[2]) == decoration(DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv)) + @test power_rev(DecoratedInterval(interval(0x1.2DC80DB11AB7CP-10,0x1.1C37937E08P+53), com), -8)[2] === DecoratedInterval(Interval(-0x1.2a3d70a3d70a5p+1,0x1.2a3d70a3d70a5p+1), trv) - @test power_rev(DecoratedInterval(interval(0x1.81E104E61630DP-8,0x1.BC64F21560E34P+12), def), -8)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.81E104E61630DP-8,0x1.BC64F21560E34P+12), def), -8)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv)) + @test power_rev(DecoratedInterval(interval(0x1.81E104E61630DP-8,0x1.BC64F21560E34P+12), def), -8)[2] === DecoratedInterval(Interval(-0x1.e666666666667p+0,0x1.e666666666667p+0), trv) - @test power_rev(DecoratedInterval(emptyinterval(), trv), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), -1)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(entireinterval(), def), -1)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), -1)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(entireinterval(), def), -1)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(0.0,0.0), dac), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), dac), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0.0), dac), -1)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -1)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(0x1.38ABF82EE6986P-4,0x1.38ABF82EE6987P-4), def), -1)[2] == DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333335p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.38ABF82EE6986P-4,0x1.38ABF82EE6987P-4), def), -1)[2]) == decoration(DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333335p+3), trv)) + @test power_rev(DecoratedInterval(interval(0x1.38ABF82EE6986P-4,0x1.38ABF82EE6987P-4), def), -1)[2] === DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333335p+3), trv) - @test power_rev(DecoratedInterval(interval(-0x1.197422C9048BFP-13,-0x1.197422C9048BEP-13), dac), -1)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851eep+12,-0x1.d1b251eb851ebp+12), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.197422C9048BFP-13,-0x1.197422C9048BEP-13), dac), -1)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851eep+12,-0x1.d1b251eb851ebp+12), trv)) + @test power_rev(DecoratedInterval(interval(-0x1.197422C9048BFP-13,-0x1.197422C9048BEP-13), dac), -1)[2] === DecoratedInterval(Interval(-0x1.d1b251eb851eep+12,-0x1.d1b251eb851ebp+12), trv) - @test power_rev(DecoratedInterval(interval(0x0.4P-1022,0x0.4000000000001P-1022), dac), -1)[2] == DecoratedInterval(Interval(0x1.ffffffffffff8p+1023,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0x0.4P-1022,0x0.4000000000001P-1022), dac), -1)[2]) == decoration(DecoratedInterval(Interval(0x1.ffffffffffff8p+1023,Inf), trv)) + @test power_rev(DecoratedInterval(interval(0x0.4P-1022,0x0.4000000000001P-1022), dac), -1)[2] === DecoratedInterval(Interval(0x1.ffffffffffff8p+1023,Inf), trv) - @test power_rev(DecoratedInterval(interval(-0x0.4000000000001P-1022,-0x0.4P-1022), def), -1)[2] == DecoratedInterval(Interval(-Inf,-0x1.ffffffffffff8p+1023), trv) && decoration(power_rev(DecoratedInterval(interval(-0x0.4000000000001P-1022,-0x0.4P-1022), def), -1)[2]) == decoration(DecoratedInterval(Interval(-Inf,-0x1.ffffffffffff8p+1023), trv)) + @test power_rev(DecoratedInterval(interval(-0x0.4000000000001P-1022,-0x0.4P-1022), def), -1)[2] === DecoratedInterval(Interval(-Inf,-0x1.ffffffffffff8p+1023), trv) - @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), -1)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), -1)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), -1)[2] === DecoratedInterval(Interval(0.0,Inf), trv) - @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -1)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -1)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -1)[2] === DecoratedInterval(Interval(0.0,Inf), trv) - @test power_rev(DecoratedInterval(interval(-Inf,0.0), dac), -1)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), dac), -1)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-Inf,0.0), dac), -1)[2] === DecoratedInterval(Interval(-Inf,0.0), trv) - @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -1)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -1)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -1)[2] === DecoratedInterval(Interval(-Inf,0.0), trv) - @test power_rev(DecoratedInterval(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), com), -1)[2] == DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), com), -1)[2]) == decoration(DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv)) + @test power_rev(DecoratedInterval(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), com), -1)[2] === DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) - @test power_rev(DecoratedInterval(interval(-0x1.83E0F83E0F83EP+1,-0x1.0D79435E50D79P-1), com), -1)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.83E0F83E0F83EP+1,-0x1.0D79435E50D79P-1), com), -1)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv)) + @test power_rev(DecoratedInterval(interval(-0x1.83E0F83E0F83EP+1,-0x1.0D79435E50D79P-1), com), -1)[2] === DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) - @test power_rev(DecoratedInterval(emptyinterval(), trv), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), -3)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(entireinterval(), def), -3)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), -3)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(entireinterval(), def), -3)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(0.0,0.0), def), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), -3)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), dac), -3)[2] === DecoratedInterval(emptyinterval(), trv) - @test_skip power_rev(DecoratedInterval(interval(0x1.D26DF4D8B1831P-12,0x1.D26DF4D8B1832P-12), com), -3)[2] == DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.D26DF4D8B1831P-12,0x1.D26DF4D8B1832P-12), com), -3)[2]) == decoration(DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv)) + @test_broken power_rev(DecoratedInterval(interval(0x1.D26DF4D8B1831P-12,0x1.D26DF4D8B1832P-12), com), -3)[2] === DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv) - @test_skip power_rev(DecoratedInterval(interval(-0x1.54347DED91B19P-39,-0x1.54347DED91B18P-39), def), -3)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.54347DED91B19P-39,-0x1.54347DED91B18P-39), def), -3)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv)) + @test_broken power_rev(DecoratedInterval(interval(-0x1.54347DED91B19P-39,-0x1.54347DED91B18P-39), def), -3)[2] === DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv) - @test power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), dac), -3)[2] == DecoratedInterval(Interval(0x1p+358,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), dac), -3)[2]) == decoration(DecoratedInterval(Interval(0x1p+358,Inf), trv)) + @test power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), dac), -3)[2] === DecoratedInterval(Interval(0x1p+358,Inf), trv) - @test power_rev(DecoratedInterval(interval(-0x0.0000000000001P-1022,-0x0P+0), def), -3)[2] == DecoratedInterval(Interval(-Inf,-0x1p+358), trv) && decoration(power_rev(DecoratedInterval(interval(-0x0.0000000000001P-1022,-0x0P+0), def), -3)[2]) == decoration(DecoratedInterval(Interval(-Inf,-0x1p+358), trv)) + @test power_rev(DecoratedInterval(interval(-0x0.0000000000001P-1022,-0x0P+0), def), -3)[2] === DecoratedInterval(Interval(-Inf,-0x1p+358), trv) - @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), -3)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), -3)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), -3)[2] === DecoratedInterval(Interval(0.0,Inf), trv) - @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -3)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -3)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,Inf), dac), -3)[2] === DecoratedInterval(Interval(0.0,Inf), trv) - @test power_rev(DecoratedInterval(interval(-Inf,0.0), def), -3)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), def), -3)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-Inf,0.0), def), -3)[2] === DecoratedInterval(Interval(-Inf,0.0), trv) - @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -3)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -3)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -3)[2] === DecoratedInterval(Interval(-Inf,0.0), trv) - @test power_rev(DecoratedInterval(interval(0x1.43CFBA61AACABP-4,0x1.E848P+19), com), -3)[2] == DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.43CFBA61AACABP-4,0x1.E848P+19), com), -3)[2]) == decoration(DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv)) + @test power_rev(DecoratedInterval(interval(0x1.43CFBA61AACABP-4,0x1.E848P+19), com), -3)[2] === DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) - @test power_rev(DecoratedInterval(interval(-0x1.BD393CE9E8E7CP+4,-0x1.2A95F6F7C066CP-3), def), -3)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.BD393CE9E8E7CP+4,-0x1.2A95F6F7C066CP-3), def), -3)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv)) + @test power_rev(DecoratedInterval(interval(-0x1.BD393CE9E8E7CP+4,-0x1.2A95F6F7C066CP-3), def), -3)[2] === DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) - @test power_rev(DecoratedInterval(emptyinterval(), trv), -7)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), -7)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), -7)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(entireinterval(), def), -7)[2] == DecoratedInterval(entireinterval(), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), -7)[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test power_rev(DecoratedInterval(entireinterval(), def), -7)[2] === DecoratedInterval(entireinterval(), trv) - @test power_rev(DecoratedInterval(interval(0.0,0.0), com), -7)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), com), -7)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0.0), com), -7)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(-0.0,-0.0), def), -7)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), def), -7)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), def), -7)[2] === DecoratedInterval(emptyinterval(), trv) - @test_skip power_rev(DecoratedInterval(interval(0x1.037D76C912DBCP-26,0x1.037D76C912DBDP-26), dac), -7)[2] == DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.037D76C912DBCP-26,0x1.037D76C912DBDP-26), dac), -7)[2]) == decoration(DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv)) + @test_broken power_rev(DecoratedInterval(interval(0x1.037D76C912DBCP-26,0x1.037D76C912DBDP-26), dac), -7)[2] === DecoratedInterval(Interval(0x1.a333333333332p+3,0x1.a333333333334p+3), trv) - @test_skip power_rev(DecoratedInterval(interval(-0x1.F10F41FB8858FP-91,-0x1.F10F41FB8858EP-91), dac), -7)[2] == DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.F10F41FB8858FP-91,-0x1.F10F41FB8858EP-91), dac), -7)[2]) == decoration(DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv)) + @test_broken power_rev(DecoratedInterval(interval(-0x1.F10F41FB8858FP-91,-0x1.F10F41FB8858EP-91), dac), -7)[2] === DecoratedInterval(Interval(-0x1.d1b251eb851edp+12,-0x1.d1b251eb851ebp+12), trv) - @test power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), def), -7)[2] == DecoratedInterval(Interval(0x1.588cea3f093bcp+153,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), def), -7)[2]) == decoration(DecoratedInterval(Interval(0x1.588cea3f093bcp+153,Inf), trv)) + @test power_rev(DecoratedInterval(interval(0x0P+0,0x0.0000000000001P-1022), def), -7)[2] === DecoratedInterval(Interval(0x1.588cea3f093bcp+153,Inf), trv) - @test power_rev(DecoratedInterval(interval(-0x0.0000000000001P-1022,-0x0P+0), def), -7)[2] == DecoratedInterval(Interval(-Inf,-0x1.588cea3f093bcp+153), trv) && decoration(power_rev(DecoratedInterval(interval(-0x0.0000000000001P-1022,-0x0P+0), def), -7)[2]) == decoration(DecoratedInterval(Interval(-Inf,-0x1.588cea3f093bcp+153), trv)) + @test power_rev(DecoratedInterval(interval(-0x0.0000000000001P-1022,-0x0P+0), def), -7)[2] === DecoratedInterval(Interval(-Inf,-0x1.588cea3f093bcp+153), trv) - @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), -7)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), -7)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), -7)[2] === DecoratedInterval(Interval(0.0,Inf), trv) - @test power_rev(DecoratedInterval(interval(-0.0,Inf), def), -7)[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,Inf), def), -7)[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,Inf), def), -7)[2] === DecoratedInterval(Interval(0.0,Inf), trv) - @test power_rev(DecoratedInterval(interval(-Inf,0.0), dac), -7)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), dac), -7)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-Inf,0.0), dac), -7)[2] === DecoratedInterval(Interval(-Inf,0.0), trv) - @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -7)[2] == DecoratedInterval(Interval(-Inf,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -7)[2]) == decoration(DecoratedInterval(Interval(-Inf,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), def), -7)[2] === DecoratedInterval(Interval(-Inf,0.0), trv) - @test power_rev(DecoratedInterval(interval(0x1.5F934D64162A9P-9,0x1.6BCC41E9P+46), com), -7)[2] == DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.5F934D64162A9P-9,0x1.6BCC41E9P+46), com), -7)[2]) == decoration(DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv)) + @test power_rev(DecoratedInterval(interval(0x1.5F934D64162A9P-9,0x1.6BCC41E9P+46), com), -7)[2] === DecoratedInterval(Interval(0x1.47ae147ae147ap-7,0x1.2a3d70a3d70a5p+1), trv) - @test power_rev(DecoratedInterval(interval(-0x1.254CDD3711DDBP+11,-0x1.6E95C4A761E19P-7), com), -7)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.254CDD3711DDBP+11,-0x1.6E95C4A761E19P-7), com), -7)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv)) + @test power_rev(DecoratedInterval(interval(-0x1.254CDD3711DDBP+11,-0x1.6E95C4A761E19P-7), com), -7)[2] === DecoratedInterval(Interval(-0x1.e666666666667p+0,-0x1.51eb851eb851ep-2), trv) end @testset "minimal_pown_rev_dec_bin_test" begin - @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0,1.0), def), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0,1.0), def), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(1.0,1.0), def), 0)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(1.0,1.0), dac), DecoratedInterval(interval(1.0,1.0), dac), 0)[2] == DecoratedInterval(Interval(1.0,1.0), trv) && decoration(power_rev(DecoratedInterval(interval(1.0,1.0), dac), DecoratedInterval(interval(1.0,1.0), dac), 0)[2]) == decoration(DecoratedInterval(Interval(1.0,1.0), trv)) + @test power_rev(DecoratedInterval(interval(1.0,1.0), dac), DecoratedInterval(interval(1.0,1.0), dac), 0)[2] === DecoratedInterval(Interval(1.0,1.0), trv) - @test power_rev(DecoratedInterval(interval(-1.0,5.0), def), DecoratedInterval(interval(-51.0,12.0), dac), 0)[2] == DecoratedInterval(Interval(-51.0,12.0), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,5.0), def), DecoratedInterval(interval(-51.0,12.0), dac), 0)[2]) == decoration(DecoratedInterval(Interval(-51.0,12.0), trv)) + @test power_rev(DecoratedInterval(interval(-1.0,5.0), def), DecoratedInterval(interval(-51.0,12.0), dac), 0)[2] === DecoratedInterval(Interval(-51.0,12.0), trv) - @test power_rev(DecoratedInterval(interval(-1.0,0.0), com), DecoratedInterval(interval(5.0,10.0), dac), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,0.0), com), DecoratedInterval(interval(5.0,10.0), dac), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-1.0,0.0), com), DecoratedInterval(interval(5.0,10.0), dac), 0)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(-1.0,-0.0), dac), DecoratedInterval(interval(-1.0,1.0), def), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-1.0,-0.0), dac), DecoratedInterval(interval(-1.0,1.0), def), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-1.0,-0.0), dac), DecoratedInterval(interval(-1.0,1.0), def), 0)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(1.1,10.0), def), DecoratedInterval(interval(1.0,41.0), dac), 0)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(1.1,10.0), def), DecoratedInterval(interval(1.0,41.0), dac), 0)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(1.1,10.0), def), DecoratedInterval(interval(1.0,41.0), dac), 0)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(0.0,100.1), dac), 1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(0.0,100.1), dac), 1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(0.0,100.1), dac), 1)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,10.0), def), 1)[2] == DecoratedInterval(Interval(-5.1,10.0), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,10.0), def), 1)[2]) == decoration(DecoratedInterval(Interval(-5.1,10.0), trv)) + @test power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,10.0), def), 1)[2] === DecoratedInterval(Interval(-5.1,10.0), trv) - @test power_rev(DecoratedInterval(interval(0.0,0.0), com), DecoratedInterval(interval(-10.0,5.1), dac), 1)[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), com), DecoratedInterval(interval(-10.0,5.1), dac), 1)[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0.0), com), DecoratedInterval(interval(-10.0,5.1), dac), 1)[2] === DecoratedInterval(Interval(0.0,0.0), trv) - @test power_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(1.0,5.0), dac), 1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(1.0,5.0), dac), 1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(1.0,5.0), dac), 1)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(5.0,17.1), def), 2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(5.0,17.1), def), 2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(5.0,17.1), def), 2)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), DecoratedInterval(interval(5.6,27.544), dac), 2)[2] == DecoratedInterval(Interval(5.6,27.544), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), DecoratedInterval(interval(5.6,27.544), dac), 2)[2]) == decoration(DecoratedInterval(Interval(5.6,27.544), trv)) + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), DecoratedInterval(interval(5.6,27.544), dac), 2)[2] === DecoratedInterval(Interval(5.6,27.544), trv) - @test power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(1.0,2.0), def), 2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(1.0,2.0), def), 2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(1.0,2.0), def), 2)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), com), DecoratedInterval(interval(1.0,Inf), def), 2)[2] == DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), com), DecoratedInterval(interval(1.0,Inf), def), 2)[2]) == decoration(DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv)) + @test power_rev(DecoratedInterval(interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2), com), DecoratedInterval(interval(1.0,Inf), def), 2)[2] === DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv) - @test power_rev(DecoratedInterval(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), dac), DecoratedInterval(interval(-Inf,-1.0), def), 2)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), dac), DecoratedInterval(interval(-Inf,-1.0), def), 2)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv)) + @test power_rev(DecoratedInterval(interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1), dac), DecoratedInterval(interval(-Inf,-1.0), def), 2)[2] === DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv) - @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-23.0,-1.0), dac), 3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-23.0,-1.0), dac), 3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-23.0,-1.0), dac), 3)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-23.0,-1.0), com), 3)[2] == DecoratedInterval(Interval(-23.0,-1.0), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-23.0,-1.0), com), 3)[2]) == decoration(DecoratedInterval(Interval(-23.0,-1.0), trv)) + @test power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-23.0,-1.0), com), 3)[2] === DecoratedInterval(Interval(-23.0,-1.0), trv) - @test power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(1.0,2.0), dac), 3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(1.0,2.0), dac), 3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(1.0,2.0), dac), 3)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), com), DecoratedInterval(interval(1.0,Inf), dac), 3)[2] == DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), com), DecoratedInterval(interval(1.0,Inf), dac), 3)[2]) == decoration(DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv)) + @test power_rev(DecoratedInterval(interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3), com), DecoratedInterval(interval(1.0,Inf), dac), 3)[2] === DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv) - @test power_rev(DecoratedInterval(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), com), DecoratedInterval(interval(-Inf,-1.0), dac), 3)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv) && decoration(power_rev(DecoratedInterval(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), com), DecoratedInterval(interval(-Inf,-1.0), dac), 3)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv)) + @test power_rev(DecoratedInterval(interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5), com), DecoratedInterval(interval(-Inf,-1.0), dac), 3)[2] === DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv) - @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-3.0,17.3), def), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-3.0,17.3), def), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-3.0,17.3), def), -2)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), DecoratedInterval(interval(-5.1,-0.1), dac), -2)[2] == DecoratedInterval(Interval(-5.1,-0.1), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,Inf), dac), DecoratedInterval(interval(-5.1,-0.1), dac), -2)[2]) == decoration(DecoratedInterval(Interval(-5.1,-0.1), trv)) + @test power_rev(DecoratedInterval(interval(0.0,Inf), dac), DecoratedInterval(interval(-5.1,-0.1), dac), -2)[2] === DecoratedInterval(Interval(-5.1,-0.1), trv) - @test power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(27.2,55.1), dac), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(27.2,55.1), dac), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(27.2,55.1), dac), -2)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(0x1.3F0C482C977C9P-17,Inf), def), DecoratedInterval(interval(-Inf,-0x1.FFFFFFFFFFFFFp1023), dac), -2)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.3F0C482C977C9P-17,Inf), def), DecoratedInterval(interval(-Inf,-0x1.FFFFFFFFFFFFFp1023), dac), -2)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0x1.3F0C482C977C9P-17,Inf), def), DecoratedInterval(interval(-Inf,-0x1.FFFFFFFFFFFFFp1023), dac), -2)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(0x1.793D85EF38E47P-3,0x1.388P+13), com), DecoratedInterval(interval(1.0,Inf), dac), -2)[2] == DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.793D85EF38E47P-3,0x1.388P+13), com), DecoratedInterval(interval(1.0,Inf), dac), -2)[2]) == decoration(DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv)) + @test power_rev(DecoratedInterval(interval(0x1.793D85EF38E47P-3,0x1.388P+13), com), DecoratedInterval(interval(1.0,Inf), dac), -2)[2] === DecoratedInterval(Interval(1.0,0x1.2a3d70a3d70a5p+1), trv) - @test power_rev(DecoratedInterval(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), com), DecoratedInterval(interval(-Inf,-1.0), dac), -2)[2] == DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), com), DecoratedInterval(interval(-Inf,-1.0), dac), -2)[2]) == decoration(DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv)) + @test power_rev(DecoratedInterval(interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3), com), DecoratedInterval(interval(-Inf,-1.0), dac), -2)[2] === DecoratedInterval(Interval(-0x1.e666666666667p+0,-1.0), trv) - @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.1,55.5), def), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.1,55.5), def), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.1,55.5), def), -1)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,55.5), dac), -1)[2] == DecoratedInterval(Interval(-5.1,55.5), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,55.5), dac), -1)[2]) == decoration(DecoratedInterval(Interval(-5.1,55.5), trv)) + @test power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,55.5), dac), -1)[2] === DecoratedInterval(Interval(-5.1,55.5), trv) - @test power_rev(DecoratedInterval(interval(0.0,0.0), dac), DecoratedInterval(interval(-5.1,55.5), def), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), dac), DecoratedInterval(interval(-5.1,55.5), def), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0.0), dac), DecoratedInterval(interval(-5.1,55.5), def), -1)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(-Inf,-0.0), dac), DecoratedInterval(interval(-1.0,1.0), com), -1)[2] == DecoratedInterval(Interval(-1.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), dac), DecoratedInterval(interval(-1.0,1.0), com), -1)[2]) == decoration(DecoratedInterval(Interval(-1.0,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), dac), DecoratedInterval(interval(-1.0,1.0), com), -1)[2] === DecoratedInterval(Interval(-1.0,0.0), trv) - @test power_rev(DecoratedInterval(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), def), DecoratedInterval(interval(-1.0,0.0), dac), -1)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), def), DecoratedInterval(interval(-1.0,0.0), dac), -1)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0x1.B77C278DBBE13P-2,0x1.9P+6), def), DecoratedInterval(interval(-1.0,0.0), dac), -1)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.1,55.5), dac), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.1,55.5), dac), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-5.1,55.5), dac), -3)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,55.5), def), -3)[2] == DecoratedInterval(Interval(-5.1,55.5), trv) && decoration(power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,55.5), def), -3)[2]) == decoration(DecoratedInterval(Interval(-5.1,55.5), trv)) + @test power_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-5.1,55.5), def), -3)[2] === DecoratedInterval(Interval(-5.1,55.5), trv) - @test power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(-5.1,55.5), def), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(-5.1,55.5), def), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(0.0,0.0), def), DecoratedInterval(interval(-5.1,55.5), def), -3)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(-Inf,0.0), dac), DecoratedInterval(interval(5.1,55.5), com), -3)[2] == DecoratedInterval(emptyinterval(), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,0.0), dac), DecoratedInterval(interval(5.1,55.5), com), -3)[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test power_rev(DecoratedInterval(interval(-Inf,0.0), dac), DecoratedInterval(interval(5.1,55.5), com), -3)[2] === DecoratedInterval(emptyinterval(), trv) - @test power_rev(DecoratedInterval(interval(-Inf,-0.0), dac), DecoratedInterval(interval(-32.0,1.1), def), -3)[2] == DecoratedInterval(Interval(-32.0,0.0), trv) && decoration(power_rev(DecoratedInterval(interval(-Inf,-0.0), dac), DecoratedInterval(interval(-32.0,1.1), def), -3)[2]) == decoration(DecoratedInterval(Interval(-32.0,0.0), trv)) + @test power_rev(DecoratedInterval(interval(-Inf,-0.0), dac), DecoratedInterval(interval(-32.0,1.1), def), -3)[2] === DecoratedInterval(Interval(-32.0,0.0), trv) end @testset "minimal_sin_rev_test" begin - @test sin_rev(emptyinterval())[2] == emptyinterval() + @test sin_rev(emptyinterval())[2] === emptyinterval() - @test sin_rev(interval(-2.0,-1.1))[2] == emptyinterval() + @test sin_rev(interval(-2.0,-1.1))[2] === emptyinterval() - @test sin_rev(interval(1.1, 2.0))[2] == emptyinterval() + @test sin_rev(interval(1.1, 2.0))[2] === emptyinterval() - @test sin_rev(interval(-1.0,1.0))[2] == entireinterval() + @test sin_rev(interval(-1.0,1.0))[2] === entireinterval() - @test sin_rev(interval(0.0,0.0))[2] == entireinterval() + @test sin_rev(interval(0.0,0.0))[2] === entireinterval() - @test sin_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53))[2] == entireinterval() + @test sin_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53))[2] === entireinterval() end @testset "minimal_sin_rev_bin_test" begin - @test sin_rev(emptyinterval(), interval(-1.2,12.1))[2] == emptyinterval() + @test sin_rev(emptyinterval(), interval(-1.2,12.1))[2] === emptyinterval() - @test sin_rev(interval(-2.0,-1.1), interval(-5.0, 5.0))[2] == emptyinterval() + @test sin_rev(interval(-2.0,-1.1), interval(-5.0, 5.0))[2] === emptyinterval() - @test sin_rev(interval(1.1, 2.0), interval(-5.0, 5.0))[2] == emptyinterval() + @test sin_rev(interval(1.1, 2.0), interval(-5.0, 5.0))[2] === emptyinterval() - @test sin_rev(interval(-1.0,1.0), interval(-1.2,12.1))[2] == Interval(-1.2,12.1) + @test sin_rev(interval(-1.0,1.0), interval(-1.2,12.1))[2] === Interval(-1.2,12.1) - @test sin_rev(interval(0.0,0.0), interval(-1.0,1.0))[2] == Interval(0.0,0.0) + @test sin_rev(interval(0.0,0.0), interval(-1.0,1.0))[2] === Interval(0.0,0.0) - @test sin_rev(interval(-0.0,-0.0), interval(2.0,2.5))[2] == emptyinterval() + @test sin_rev(interval(-0.0,-0.0), interval(2.0,2.5))[2] === emptyinterval() - @test sin_rev(interval(-0.0,-0.0), interval(3.0,3.5))[2] == Interval(0x1.921fb54442d18p+1,0x1.921fb54442d19p+1) + @test sin_rev(interval(-0.0,-0.0), interval(3.0,3.5))[2] === Interval(0x1.921fb54442d18p+1,0x1.921fb54442d19p+1) - @test sin_rev(interval(0x1.FFFFFFFFFFFFFP-1,0x1P+0), interval(1.57,1.58, ))[2] == Interval(0x1.921fb50442d18p+0,0x1.921fb58442d1ap+0) + @test sin_rev(interval(0x1.FFFFFFFFFFFFFP-1,0x1P+0), interval(1.57,1.58, ))[2] === Interval(0x1.921fb50442d18p+0,0x1.921fb58442d1ap+0) - @test sin_rev(interval(0.0,0x1P+0), interval(-0.1,1.58))[2] == Interval(0.0,1.58) + @test sin_rev(interval(0.0,0x1P+0), interval(-0.1,1.58))[2] === Interval(0.0,1.58) - @test sin_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), interval(3.14,3.15))[2] == Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1) + @test sin_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), interval(3.14,3.15))[2] === Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1) - @test sin_rev(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), interval(3.14,3.15))[2] == Interval(0x1.921FB54442D18P+1,0x1.921FB54442D1aP+1) + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), interval(3.14,3.15))[2] === Interval(0x1.921FB54442D18P+1,0x1.921FB54442D1aP+1) - @test sin_rev(interval(-0x1.72CECE675D1FDP-52,0x1.1A62633145C07P-53), interval(3.14,3.15))[2] == Interval(0x1.921FB54442D17P+1,0x1.921FB54442D1aP+1) + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,0x1.1A62633145C07P-53), interval(3.14,3.15))[2] === Interval(0x1.921FB54442D17P+1,0x1.921FB54442D1aP+1) - @test sin_rev(interval(0.0,1.0), interval(-0.1,3.15))[2] == Interval(0.0,0x1.921FB54442D19P+1) + @test sin_rev(interval(0.0,1.0), interval(-0.1,3.15))[2] === Interval(0.0,0x1.921FB54442D19P+1) - @test sin_rev(interval(0.0,1.0), interval(-0.1,3.15))[2] == Interval(-0.0,0x1.921FB54442D19P+1) + @test sin_rev(interval(0.0,1.0), interval(-0.1,3.15))[2] === Interval(-0.0,0x1.921FB54442D19P+1) - @test sin_rev(interval(-0x1.72CECE675D1FDP-52,1.0), interval(-0.1,3.15))[2] == Interval(-0x1.72cece675d1fep-52,0x1.921FB54442D1aP+1) + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,1.0), interval(-0.1,3.15))[2] === Interval(-0x1.72cece675d1fep-52,0x1.921FB54442D1aP+1) - @test sin_rev(interval(-0x1.72CECE675D1FDP-52,1.0), interval(0.0,3.15))[2] == Interval(0.0,0x1.921FB54442D1aP+1) + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,1.0), interval(0.0,3.15))[2] === Interval(0.0,0x1.921FB54442D1aP+1) - @test sin_rev(interval(0x1.1A62633145C06P-53,0x1P+0), interval(3.14,3.15))[2] == Interval(3.14,0x1.921FB54442D19P+1) + @test sin_rev(interval(0x1.1A62633145C06P-53,0x1P+0), interval(3.14,3.15))[2] === Interval(3.14,0x1.921FB54442D19P+1) - @test sin_rev(interval(-0x1.72CECE675D1FDP-52,0x1P+0), interval(1.57,3.15))[2] == Interval(1.57,0x1.921FB54442D1AP+1) + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,0x1P+0), interval(1.57,3.15))[2] === Interval(1.57,0x1.921FB54442D1AP+1) - @test sin_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), interval(-Inf,3.15))[2] == Interval(-Inf,0x1.921FB54442D19P+1) + @test sin_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), interval(-Inf,3.15))[2] === Interval(-Inf,0x1.921FB54442D19P+1) - @test sin_rev(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), interval(3.14,Inf))[2] == Interval(0x1.921FB54442D18P+1,Inf) + @test sin_rev(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), interval(3.14,Inf))[2] === Interval(0x1.921FB54442D18P+1,Inf) end @testset "minimal_sin_rev_dec_test" begin - @test sin_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test sin_rev(DecoratedInterval(emptyinterval(), trv))[2] === DecoratedInterval(emptyinterval(), trv) - @test sin_rev(DecoratedInterval(interval(-2.0,-1.1), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(-2.0,-1.1), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test sin_rev(DecoratedInterval(interval(-2.0,-1.1), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test sin_rev(DecoratedInterval(interval(1.1, 2.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(1.1, 2.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test sin_rev(DecoratedInterval(interval(1.1, 2.0), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test sin_rev(DecoratedInterval(interval(-1.0,1.0), com))[2] == DecoratedInterval(entireinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(-1.0,1.0), com))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test sin_rev(DecoratedInterval(interval(-1.0,1.0), com))[2] === DecoratedInterval(entireinterval(), trv) - @test sin_rev(DecoratedInterval(interval(0.0,0.0), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(0.0,0.0), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test sin_rev(DecoratedInterval(interval(0.0,0.0), dac))[2] === DecoratedInterval(entireinterval(), trv) - @test sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), def))[2] == DecoratedInterval(entireinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), def))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), def))[2] === DecoratedInterval(entireinterval(), trv) end @testset "minimal_sin_rev_dec_bin_test" begin - @test sin_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.2,12.1), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.2,12.1), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test sin_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.2,12.1), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test sin_rev(DecoratedInterval(interval(-2.0,-1.1), def), DecoratedInterval(interval(-5.0, 5.0), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(-2.0,-1.1), def), DecoratedInterval(interval(-5.0, 5.0), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test sin_rev(DecoratedInterval(interval(-2.0,-1.1), def), DecoratedInterval(interval(-5.0, 5.0), def))[2] === DecoratedInterval(emptyinterval(), trv) - @test sin_rev(DecoratedInterval(interval(1.1, 2.0), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(1.1, 2.0), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test sin_rev(DecoratedInterval(interval(1.1, 2.0), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test sin_rev(DecoratedInterval(interval(-1.0,1.0), com), DecoratedInterval(interval(-1.2,12.1), def))[2] == DecoratedInterval(Interval(-1.2,12.1), trv) && decoration(sin_rev(DecoratedInterval(interval(-1.0,1.0), com), DecoratedInterval(interval(-1.2,12.1), def))[2]) == decoration(DecoratedInterval(Interval(-1.2,12.1), trv)) + @test sin_rev(DecoratedInterval(interval(-1.0,1.0), com), DecoratedInterval(interval(-1.2,12.1), def))[2] === DecoratedInterval(Interval(-1.2,12.1), trv) - @test sin_rev(DecoratedInterval(interval(0.0,0.0), dac), DecoratedInterval(interval(-1.0,1.0), def))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(sin_rev(DecoratedInterval(interval(0.0,0.0), dac), DecoratedInterval(interval(-1.0,1.0), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + @test sin_rev(DecoratedInterval(interval(0.0,0.0), dac), DecoratedInterval(interval(-1.0,1.0), def))[2] === DecoratedInterval(Interval(0.0,0.0), trv) - @test sin_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(2.0,2.5), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(sin_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(2.0,2.5), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test sin_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(2.0,2.5), trv))[2] === DecoratedInterval(emptyinterval(), trv) - @test sin_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(3.0,3.5), dac))[2] == DecoratedInterval(Interval(0x1.921fb54442d18p+1,0x1.921fb54442d19p+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(3.0,3.5), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1,0x1.921fb54442d19p+1), trv)) + @test sin_rev(DecoratedInterval(interval(-0.0,-0.0), def), DecoratedInterval(interval(3.0,3.5), dac))[2] === DecoratedInterval(Interval(0x1.921fb54442d18p+1,0x1.921fb54442d19p+1), trv) - @test sin_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFP-1,0x1P+0), dac), DecoratedInterval(interval(1.57,1.58), dac))[2] == DecoratedInterval(Interval(0x1.921fb50442d18p+0,0x1.921fb58442d1ap+0), trv) && decoration(sin_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFP-1,0x1P+0), dac), DecoratedInterval(interval(1.57,1.58), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921fb50442d18p+0,0x1.921fb58442d1ap+0), trv)) + @test sin_rev(DecoratedInterval(interval(0x1.FFFFFFFFFFFFFP-1,0x1P+0), dac), DecoratedInterval(interval(1.57,1.58), dac))[2] === DecoratedInterval(Interval(0x1.921fb50442d18p+0,0x1.921fb58442d1ap+0), trv) - @test sin_rev(DecoratedInterval(interval(0.0,0x1P+0), com), DecoratedInterval(interval(-0.1,1.58), dac))[2] == DecoratedInterval(Interval(0.0,1.58), trv) && decoration(sin_rev(DecoratedInterval(interval(0.0,0x1P+0), com), DecoratedInterval(interval(-0.1,1.58), dac))[2]) == decoration(DecoratedInterval(Interval(0.0,1.58), trv)) + @test sin_rev(DecoratedInterval(interval(0.0,0x1P+0), com), DecoratedInterval(interval(-0.1,1.58), dac))[2] === DecoratedInterval(Interval(0.0,1.58), trv) - @test sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(3.14,3.15), def))[2] == DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1), trv) && decoration(sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(3.14,3.15), def))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1), trv)) + @test sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(3.14,3.15), def))[2] === DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1), trv) - @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), com), DecoratedInterval(interval(3.14,3.15), dac))[2] == DecoratedInterval(Interval(0x1.921FB54442D18P+1,0x1.921FB54442D1aP+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), com), DecoratedInterval(interval(3.14,3.15), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D18P+1,0x1.921FB54442D1aP+1), trv)) + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), com), DecoratedInterval(interval(3.14,3.15), dac))[2] === DecoratedInterval(Interval(0x1.921FB54442D18P+1,0x1.921FB54442D1aP+1), trv) - @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,0x1.1A62633145C07P-53), dac), DecoratedInterval(interval(3.14,3.15), com))[2] == DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D1aP+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,0x1.1A62633145C07P-53), dac), DecoratedInterval(interval(3.14,3.15), com))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D1aP+1), trv)) + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,0x1.1A62633145C07P-53), dac), DecoratedInterval(interval(3.14,3.15), com))[2] === DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D1aP+1), trv) - @test sin_rev(DecoratedInterval(interval(0.0,1.0), def), DecoratedInterval(interval(-0.1,3.15), def))[2] == DecoratedInterval(Interval(0.0,0x1.921FB54442D19P+1), trv) && decoration(sin_rev(DecoratedInterval(interval(0.0,1.0), def), DecoratedInterval(interval(-0.1,3.15), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0x1.921FB54442D19P+1), trv)) + @test sin_rev(DecoratedInterval(interval(0.0,1.0), def), DecoratedInterval(interval(-0.1,3.15), def))[2] === DecoratedInterval(Interval(0.0,0x1.921FB54442D19P+1), trv) - @test sin_rev(DecoratedInterval(interval(0.0,1.0), dac), DecoratedInterval(interval(-0.1,3.15), com))[2] == DecoratedInterval(Interval(-0.0,0x1.921FB54442D19P+1), trv) && decoration(sin_rev(DecoratedInterval(interval(0.0,1.0), dac), DecoratedInterval(interval(-0.1,3.15), com))[2]) == decoration(DecoratedInterval(Interval(-0.0,0x1.921FB54442D19P+1), trv)) + @test sin_rev(DecoratedInterval(interval(0.0,1.0), dac), DecoratedInterval(interval(-0.1,3.15), com))[2] === DecoratedInterval(Interval(-0.0,0x1.921FB54442D19P+1), trv) - @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,1.0), def), DecoratedInterval(interval(-0.1,3.15), def))[2] == DecoratedInterval(Interval(-0x1.72cece675d1fep-52,0x1.921FB54442D1aP+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,1.0), def), DecoratedInterval(interval(-0.1,3.15), def))[2]) == decoration(DecoratedInterval(Interval(-0x1.72cece675d1fep-52,0x1.921FB54442D1aP+1), trv)) + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,1.0), def), DecoratedInterval(interval(-0.1,3.15), def))[2] === DecoratedInterval(Interval(-0x1.72cece675d1fep-52,0x1.921FB54442D1aP+1), trv) - @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,1.0), com), DecoratedInterval(interval(0.0,3.15), dac))[2] == DecoratedInterval(Interval(0.0,0x1.921FB54442D1aP+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,1.0), com), DecoratedInterval(interval(0.0,3.15), dac))[2]) == decoration(DecoratedInterval(Interval(0.0,0x1.921FB54442D1aP+1), trv)) + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,1.0), com), DecoratedInterval(interval(0.0,3.15), dac))[2] === DecoratedInterval(Interval(0.0,0x1.921FB54442D1aP+1), trv) - @test sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1P+0), def), DecoratedInterval(interval(3.14,3.15), com))[2] == DecoratedInterval(Interval(3.14,0x1.921FB54442D19P+1), trv) && decoration(sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1P+0), def), DecoratedInterval(interval(3.14,3.15), com))[2]) == decoration(DecoratedInterval(Interval(3.14,0x1.921FB54442D19P+1), trv)) + @test sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1P+0), def), DecoratedInterval(interval(3.14,3.15), com))[2] === DecoratedInterval(Interval(3.14,0x1.921FB54442D19P+1), trv) - @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,0x1P+0), dac), DecoratedInterval(interval(1.57,3.15), com))[2] == DecoratedInterval(Interval(1.57,0x1.921FB54442D1AP+1), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,0x1P+0), dac), DecoratedInterval(interval(1.57,3.15), com))[2]) == decoration(DecoratedInterval(Interval(1.57,0x1.921FB54442D1AP+1), trv)) + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,0x1P+0), dac), DecoratedInterval(interval(1.57,3.15), com))[2] === DecoratedInterval(Interval(1.57,0x1.921FB54442D1AP+1), trv) - @test sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(-Inf,3.15), dac))[2] == DecoratedInterval(Interval(-Inf,0x1.921FB54442D19P+1), trv) && decoration(sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(-Inf,3.15), dac))[2]) == decoration(DecoratedInterval(Interval(-Inf,0x1.921FB54442D19P+1), trv)) + @test sin_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(-Inf,3.15), dac))[2] === DecoratedInterval(Interval(-Inf,0x1.921FB54442D19P+1), trv) - @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), com), DecoratedInterval(interval(3.14,Inf), dac))[2] == DecoratedInterval(Interval(0x1.921FB54442D18P+1,Inf), trv) && decoration(sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), com), DecoratedInterval(interval(3.14,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D18P+1,Inf), trv)) + @test sin_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), com), DecoratedInterval(interval(3.14,Inf), dac))[2] === DecoratedInterval(Interval(0x1.921FB54442D18P+1,Inf), trv) end @testset "minimal_cos_rev_test" begin - @test cos_rev(emptyinterval())[2] == emptyinterval() + @test cos_rev(emptyinterval())[2] === emptyinterval() - @test cos_rev(interval(-2.0,-1.1))[2] == emptyinterval() + @test cos_rev(interval(-2.0,-1.1))[2] === emptyinterval() - @test cos_rev(interval(1.1, 2.0))[2] == emptyinterval() + @test cos_rev(interval(1.1, 2.0))[2] === emptyinterval() - @test cos_rev(interval(-1.0,1.0))[2] == entireinterval() + @test cos_rev(interval(-1.0,1.0))[2] === entireinterval() - @test cos_rev(interval(0.0,0.0))[2] == entireinterval() + @test cos_rev(interval(0.0,0.0))[2] === entireinterval() - @test cos_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53))[2] == entireinterval() + @test cos_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53))[2] === entireinterval() end @testset "minimal_cos_rev_bin_test" begin - @test cos_rev(emptyinterval(), interval(-1.2,12.1))[2] == emptyinterval() + @test cos_rev(emptyinterval(), interval(-1.2,12.1))[2] === emptyinterval() - @test cos_rev(interval(-2.0,-1.1), interval(-5.0, 5.0))[2] == emptyinterval() + @test cos_rev(interval(-2.0,-1.1), interval(-5.0, 5.0))[2] === emptyinterval() - @test cos_rev(interval(1.1, 2.0), interval(-5.0, 5.0))[2] == emptyinterval() + @test cos_rev(interval(1.1, 2.0), interval(-5.0, 5.0))[2] === emptyinterval() - @test cos_rev(interval(-1.0,1.0), interval(-1.2,12.1))[2] == Interval(-1.2,12.1) + @test cos_rev(interval(-1.0,1.0), interval(-1.2,12.1))[2] === Interval(-1.2,12.1) - @test cos_rev(interval(1.0,1.0), interval(-0.1,0.1))[2] == Interval(0.0,0.0) + @test cos_rev(interval(1.0,1.0), interval(-0.1,0.1))[2] === Interval(0.0,0.0) - @test cos_rev(interval(-1.0,-1.0), interval(3.14,3.15))[2] == Interval(0x1.921fb54442d18p+1,0x1.921fb54442d1ap+1) + @test cos_rev(interval(-1.0,-1.0), interval(3.14,3.15))[2] === Interval(0x1.921fb54442d18p+1,0x1.921fb54442d1ap+1) - @test cos_rev(interval(0x1.1A62633145C06P-54,0x1.1A62633145C07P-54), interval(1.57,1.58))[2] == Interval(0x1.921FB54442D17P+0,0x1.921FB54442D19P+0) + @test cos_rev(interval(0x1.1A62633145C06P-54,0x1.1A62633145C07P-54), interval(1.57,1.58))[2] === Interval(0x1.921FB54442D17P+0,0x1.921FB54442D19P+0) - @test cos_rev(interval(-0x1.72CECE675D1FDP-53,-0x1.72CECE675D1FCP-53), interval(1.57,1.58))[2] == Interval(0x1.921FB54442D18P+0,0x1.921FB54442D1AP+0) + @test cos_rev(interval(-0x1.72CECE675D1FDP-53,-0x1.72CECE675D1FCP-53), interval(1.57,1.58))[2] === Interval(0x1.921FB54442D18P+0,0x1.921FB54442D1AP+0) - @test cos_rev(interval(-0x1.72CECE675D1FDP-53,0x1.1A62633145C07P-54), interval(1.57,1.58))[2] == Interval(0x1.921FB54442D17P+0,0x1.921FB54442D1aP+0) + @test cos_rev(interval(-0x1.72CECE675D1FDP-53,0x1.1A62633145C07P-54), interval(1.57,1.58))[2] === Interval(0x1.921FB54442D17P+0,0x1.921FB54442D1aP+0) - @test cos_rev(interval(0x1.1A62633145C06P-54,1.0), interval(-2.0,2.0))[2] == Interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0) + @test cos_rev(interval(0x1.1A62633145C06P-54,1.0), interval(-2.0,2.0))[2] === Interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0) - @test cos_rev(interval(0x1.1A62633145C06P-54,1.0), interval(0.0,2.0))[2] == Interval(0.0,0x1.921FB54442D19P+0) + @test cos_rev(interval(0x1.1A62633145C06P-54,1.0), interval(0.0,2.0))[2] === Interval(0.0,0x1.921FB54442D19P+0) - @test cos_rev(interval(-0x1.72CECE675D1FDP-53,1.0), interval(-0.1,1.5708))[2] == Interval(-0.1,0x1.921FB54442D1aP+0) + @test cos_rev(interval(-0x1.72CECE675D1FDP-53,1.0), interval(-0.1,1.5708))[2] === Interval(-0.1,0x1.921FB54442D1aP+0) - @test cos_rev(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), interval(3.14,3.15))[2] == Interval(0x1.921fb52442d18p+1,0x1.921fb56442d1ap+1) + @test cos_rev(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), interval(3.14,3.15))[2] === Interval(0x1.921fb52442d18p+1,0x1.921fb56442d1ap+1) - @test cos_rev(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), interval(-3.15,-3.14))[2] == Interval(-0x1.921fb56442d1ap+1,-0x1.921fb52442d18p+1) + @test cos_rev(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), interval(-3.15,-3.14))[2] === Interval(-0x1.921fb56442d1ap+1,-0x1.921fb52442d18p+1) - @test cos_rev(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), interval(9.42,9.45))[2] == Interval(0x1.2d97c7eb321d2p+3,0x1.2d97c7fb321d3p+3) + @test cos_rev(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), interval(9.42,9.45))[2] === Interval(0x1.2d97c7eb321d2p+3,0x1.2d97c7fb321d3p+3) - @test cos_rev(interval(0x1.87996529F9D92P-1,1.0), interval(-1.0,0.1))[2] == Interval(-0x1.6666666666667p-1,0.1) + @test cos_rev(interval(0x1.87996529F9D92P-1,1.0), interval(-1.0,0.1))[2] === Interval(-0x1.6666666666667p-1,0.1) - @test cos_rev(interval(-0x1.AA22657537205P-2,0x1.14A280FB5068CP-1), interval(0.0,2.1))[2] == Interval(0x1.fffffffffffffp-1,0x1.0000000000001p+1) + @test cos_rev(interval(-0x1.AA22657537205P-2,0x1.14A280FB5068CP-1), interval(0.0,2.1))[2] === Interval(0x1.fffffffffffffp-1,0x1.0000000000001p+1) - @test cos_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), interval(-Inf,1.58))[2] == Interval(-Inf,0x1.921FB54442D18P+0) + @test cos_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), interval(-Inf,1.58))[2] === Interval(-Inf,0x1.921FB54442D18P+0) - @test cos_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), interval(-Inf,1.5))[2] == Interval(-Inf,-0x1.921FB54442D17P+0) + @test cos_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), interval(-Inf,1.5))[2] === Interval(-Inf,-0x1.921FB54442D17P+0) - @test cos_rev(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), interval(-1.58,Inf))[2] == Interval(-0x1.921fb54442d1ap+0,Inf) + @test cos_rev(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), interval(-1.58,Inf))[2] === Interval(-0x1.921fb54442d1ap+0,Inf) - @test cos_rev(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), interval(-1.5,Inf))[2] == Interval(0x1.921fb54442d19p+0,Inf) + @test cos_rev(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), interval(-1.5,Inf))[2] === Interval(0x1.921fb54442d19p+0,Inf) end @testset "minimal_cos_rev_dec_test" begin - @test cos_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test cos_rev(DecoratedInterval(emptyinterval(), trv))[2] === DecoratedInterval(emptyinterval(), trv) - @test cos_rev(DecoratedInterval(interval(-2.0,-1.1), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(-2.0,-1.1), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test cos_rev(DecoratedInterval(interval(-2.0,-1.1), def))[2] === DecoratedInterval(emptyinterval(), trv) - @test cos_rev(DecoratedInterval(interval(1.1, 2.0), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(1.1, 2.0), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test cos_rev(DecoratedInterval(interval(1.1, 2.0), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test cos_rev(DecoratedInterval(interval(-1.0,1.0), com))[2] == DecoratedInterval(entireinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(-1.0,1.0), com))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test cos_rev(DecoratedInterval(interval(-1.0,1.0), com))[2] === DecoratedInterval(entireinterval(), trv) - @test cos_rev(DecoratedInterval(interval(0.0,0.0), def))[2] == DecoratedInterval(entireinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(0.0,0.0), def))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test cos_rev(DecoratedInterval(interval(0.0,0.0), def))[2] === DecoratedInterval(entireinterval(), trv) - @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), dac))[2] === DecoratedInterval(entireinterval(), trv) end @testset "minimal_cos_rev_dec_bin_test" begin - @test cos_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.2,12.1), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.2,12.1), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test cos_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.2,12.1), def))[2] === DecoratedInterval(emptyinterval(), trv) - @test cos_rev(DecoratedInterval(interval(-2.0,-1.1), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(-2.0,-1.1), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test cos_rev(DecoratedInterval(interval(-2.0,-1.1), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test cos_rev(DecoratedInterval(interval(1.1, 2.0), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cos_rev(DecoratedInterval(interval(1.1, 2.0), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test cos_rev(DecoratedInterval(interval(1.1, 2.0), dac), DecoratedInterval(interval(-5.0, 5.0), com))[2] === DecoratedInterval(emptyinterval(), trv) - @test cos_rev(DecoratedInterval(interval(-1.0,1.0), dac), DecoratedInterval(interval(-1.2,12.1), def))[2] == DecoratedInterval(Interval(-1.2,12.1), trv) && decoration(cos_rev(DecoratedInterval(interval(-1.0,1.0), dac), DecoratedInterval(interval(-1.2,12.1), def))[2]) == decoration(DecoratedInterval(Interval(-1.2,12.1), trv)) + @test cos_rev(DecoratedInterval(interval(-1.0,1.0), dac), DecoratedInterval(interval(-1.2,12.1), def))[2] === DecoratedInterval(Interval(-1.2,12.1), trv) - @test cos_rev(DecoratedInterval(interval(1.0,1.0), def), DecoratedInterval(interval(-0.1,0.1), dac))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(cos_rev(DecoratedInterval(interval(1.0,1.0), def), DecoratedInterval(interval(-0.1,0.1), dac))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + @test cos_rev(DecoratedInterval(interval(1.0,1.0), def), DecoratedInterval(interval(-0.1,0.1), dac))[2] === DecoratedInterval(Interval(0.0,0.0), trv) - @test cos_rev(DecoratedInterval(interval(-1.0,-1.0), com), DecoratedInterval(interval(3.14,3.15), dac))[2] == DecoratedInterval(Interval(0x1.921fb54442d18p+1,0x1.921fb54442d1ap+1), trv) && decoration(cos_rev(DecoratedInterval(interval(-1.0,-1.0), com), DecoratedInterval(interval(3.14,3.15), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921fb54442d18p+1,0x1.921fb54442d1ap+1), trv)) + @test cos_rev(DecoratedInterval(interval(-1.0,-1.0), com), DecoratedInterval(interval(3.14,3.15), dac))[2] === DecoratedInterval(Interval(0x1.921fb54442d18p+1,0x1.921fb54442d1ap+1), trv) - @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,0x1.1A62633145C07P-54), def), DecoratedInterval(interval(1.57,1.58), def))[2] == DecoratedInterval(Interval(0x1.921FB54442D17P+0,0x1.921FB54442D19P+0), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,0x1.1A62633145C07P-54), def), DecoratedInterval(interval(1.57,1.58), def))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D17P+0,0x1.921FB54442D19P+0), trv)) + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,0x1.1A62633145C07P-54), def), DecoratedInterval(interval(1.57,1.58), def))[2] === DecoratedInterval(Interval(0x1.921FB54442D17P+0,0x1.921FB54442D19P+0), trv) - @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,-0x1.72CECE675D1FCP-53), dac), DecoratedInterval(interval(1.57,1.58), dac))[2] == DecoratedInterval(Interval(0x1.921FB54442D18P+0,0x1.921FB54442D1AP+0), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,-0x1.72CECE675D1FCP-53), dac), DecoratedInterval(interval(1.57,1.58), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D18P+0,0x1.921FB54442D1AP+0), trv)) + @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,-0x1.72CECE675D1FCP-53), dac), DecoratedInterval(interval(1.57,1.58), dac))[2] === DecoratedInterval(Interval(0x1.921FB54442D18P+0,0x1.921FB54442D1AP+0), trv) - @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,0x1.1A62633145C07P-54), com), DecoratedInterval(interval(1.57,1.58), dac))[2] == DecoratedInterval(Interval(0x1.921FB54442D17P+0,0x1.921FB54442D1aP+0), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,0x1.1A62633145C07P-54), com), DecoratedInterval(interval(1.57,1.58), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D17P+0,0x1.921FB54442D1aP+0), trv)) + @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,0x1.1A62633145C07P-54), com), DecoratedInterval(interval(1.57,1.58), dac))[2] === DecoratedInterval(Interval(0x1.921FB54442D17P+0,0x1.921FB54442D1aP+0), trv) - @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,1.0), def), DecoratedInterval(interval(-2.0,2.0), com))[2] == DecoratedInterval(Interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,1.0), def), DecoratedInterval(interval(-2.0,2.0), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0), trv)) + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,1.0), def), DecoratedInterval(interval(-2.0,2.0), com))[2] === DecoratedInterval(Interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0), trv) - @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,1.0), dac), DecoratedInterval(interval(0.0,2.0), def))[2] == DecoratedInterval(Interval(0.0,0x1.921FB54442D19P+0), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,1.0), dac), DecoratedInterval(interval(0.0,2.0), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0x1.921FB54442D19P+0), trv)) + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-54,1.0), dac), DecoratedInterval(interval(0.0,2.0), def))[2] === DecoratedInterval(Interval(0.0,0x1.921FB54442D19P+0), trv) - @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,1.0), def), DecoratedInterval(interval(-0.1,1.5708), dac))[2] == DecoratedInterval(Interval(-0.1,0x1.921FB54442D1aP+0), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,1.0), def), DecoratedInterval(interval(-0.1,1.5708), dac))[2]) == decoration(DecoratedInterval(Interval(-0.1,0x1.921FB54442D1aP+0), trv)) + @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-53,1.0), def), DecoratedInterval(interval(-0.1,1.5708), dac))[2] === DecoratedInterval(Interval(-0.1,0x1.921FB54442D1aP+0), trv) - @test cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), dac), DecoratedInterval(interval(3.14,3.15), def))[2] == DecoratedInterval(Interval(0x1.921fb52442d18p+1,0x1.921fb56442d1ap+1), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), dac), DecoratedInterval(interval(3.14,3.15), def))[2]) == decoration(DecoratedInterval(Interval(0x1.921fb52442d18p+1,0x1.921fb56442d1ap+1), trv)) + @test cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), dac), DecoratedInterval(interval(3.14,3.15), def))[2] === DecoratedInterval(Interval(0x1.921fb52442d18p+1,0x1.921fb56442d1ap+1), trv) - @test cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), def), DecoratedInterval(interval(-3.15,-3.14), com))[2] == DecoratedInterval(Interval(-0x1.921fb56442d1ap+1,-0x1.921fb52442d18p+1), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), def), DecoratedInterval(interval(-3.15,-3.14), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.921fb56442d1ap+1,-0x1.921fb52442d18p+1), trv)) + @test cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), def), DecoratedInterval(interval(-3.15,-3.14), com))[2] === DecoratedInterval(Interval(-0x1.921fb56442d1ap+1,-0x1.921fb52442d18p+1), trv) - @test cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), def), DecoratedInterval(interval(9.42,9.45), dac))[2] == DecoratedInterval(Interval(0x1.2d97c7eb321d2p+3,0x1.2d97c7fb321d3p+3), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), def), DecoratedInterval(interval(9.42,9.45), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.2d97c7eb321d2p+3,0x1.2d97c7fb321d3p+3), trv)) + @test cos_rev(DecoratedInterval(interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1), def), DecoratedInterval(interval(9.42,9.45), dac))[2] === DecoratedInterval(Interval(0x1.2d97c7eb321d2p+3,0x1.2d97c7fb321d3p+3), trv) - @test cos_rev(DecoratedInterval(interval(0x1.87996529F9D92P-1,1.0), dac), DecoratedInterval(interval(-1.0,0.1), def))[2] == DecoratedInterval(Interval(-0x1.6666666666667p-1,0.1), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.87996529F9D92P-1,1.0), dac), DecoratedInterval(interval(-1.0,0.1), def))[2]) == decoration(DecoratedInterval(Interval(-0x1.6666666666667p-1,0.1), trv)) + @test cos_rev(DecoratedInterval(interval(0x1.87996529F9D92P-1,1.0), dac), DecoratedInterval(interval(-1.0,0.1), def))[2] === DecoratedInterval(Interval(-0x1.6666666666667p-1,0.1), trv) - @test cos_rev(DecoratedInterval(interval(-0x1.AA22657537205P-2,0x1.14A280FB5068CP-1), com), DecoratedInterval(interval(0.0,2.1), dac))[2] == DecoratedInterval(Interval(0x1.fffffffffffffp-1,0x1.0000000000001p+1), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.AA22657537205P-2,0x1.14A280FB5068CP-1), com), DecoratedInterval(interval(0.0,2.1), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.fffffffffffffp-1,0x1.0000000000001p+1), trv)) + @test cos_rev(DecoratedInterval(interval(-0x1.AA22657537205P-2,0x1.14A280FB5068CP-1), com), DecoratedInterval(interval(0.0,2.1), dac))[2] === DecoratedInterval(Interval(0x1.fffffffffffffp-1,0x1.0000000000001p+1), trv) - @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(-Inf,1.58), dac))[2] == DecoratedInterval(Interval(-Inf,0x1.921FB54442D18P+0), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(-Inf,1.58), dac))[2]) == decoration(DecoratedInterval(Interval(-Inf,0x1.921FB54442D18P+0), trv)) + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com), DecoratedInterval(interval(-Inf,1.58), dac))[2] === DecoratedInterval(Interval(-Inf,0x1.921FB54442D18P+0), trv) - @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), def), DecoratedInterval(interval(-Inf,1.5), dac))[2] == DecoratedInterval(Interval(-Inf,-0x1.921FB54442D17P+0), trv) && decoration(cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), def), DecoratedInterval(interval(-Inf,1.5), dac))[2]) == decoration(DecoratedInterval(Interval(-Inf,-0x1.921FB54442D17P+0), trv)) + @test cos_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), def), DecoratedInterval(interval(-Inf,1.5), dac))[2] === DecoratedInterval(Interval(-Inf,-0x1.921FB54442D17P+0), trv) - @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), dac), DecoratedInterval(interval(-1.58,Inf), dac))[2] == DecoratedInterval(Interval(-0x1.921fb54442d1ap+0,Inf), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), dac), DecoratedInterval(interval(-1.58,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d1ap+0,Inf), trv)) + @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), dac), DecoratedInterval(interval(-1.58,Inf), dac))[2] === DecoratedInterval(Interval(-0x1.921fb54442d1ap+0,Inf), trv) - @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), def), DecoratedInterval(interval(-1.5,Inf), dac))[2] == DecoratedInterval(Interval(0x1.921fb54442d19p+0,Inf), trv) && decoration(cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), def), DecoratedInterval(interval(-1.5,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921fb54442d19p+0,Inf), trv)) + @test cos_rev(DecoratedInterval(interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52), def), DecoratedInterval(interval(-1.5,Inf), dac))[2] === DecoratedInterval(Interval(0x1.921fb54442d19p+0,Inf), trv) end @testset "minimal_tan_rev_test" begin - @test tan_rev(emptyinterval())[2] == emptyinterval() + @test tan_rev(emptyinterval())[2] === emptyinterval() - @test tan_rev(interval(-1.0,1.0))[2] == entireinterval() + @test tan_rev(interval(-1.0,1.0))[2] === entireinterval() - @test tan_rev(interval(-156.0,-12.0))[2] == entireinterval() + @test tan_rev(interval(-156.0,-12.0))[2] === entireinterval() - @test tan_rev(interval(0.0,0.0))[2] == entireinterval() + @test tan_rev(interval(0.0,0.0))[2] === entireinterval() - @test tan_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53))[2] == entireinterval() + @test tan_rev(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53))[2] === entireinterval() end @testset "minimal_tan_rev_bin_test" begin - @test tan_rev(emptyinterval(), interval(-1.5708,1.5708))[2] == emptyinterval() + @test tan_rev(emptyinterval(), interval(-1.5708,1.5708))[2] === emptyinterval() - @test tan_rev(entireinterval(), interval(-1.5708,1.5708))[2] == Interval(-1.5708,1.5708) + @test tan_rev(entireinterval(), interval(-1.5708,1.5708))[2] === Interval(-1.5708,1.5708) - @test tan_rev(interval(0.0,0.0), interval(-1.5708,1.5708))[2] == Interval(0.0,0.0) + @test tan_rev(interval(0.0,0.0), interval(-1.5708,1.5708))[2] === Interval(0.0,0.0) - @test tan_rev(interval(0x1.D02967C31CDB4P+53,0x1.D02967C31CDB5P+53), interval(-1.5708,1.5708))[2] == Interval(-0x1.921fb54442d1bp+0,0x1.921fb54442d19p+0) + @test tan_rev(interval(0x1.D02967C31CDB4P+53,0x1.D02967C31CDB5P+53), interval(-1.5708,1.5708))[2] === Interval(-0x1.921fb54442d1bp+0,0x1.921fb54442d19p+0) - @test tan_rev(interval(-0x1.1A62633145C07P-53,-0x1.1A62633145C06P-53), interval(3.14,3.15))[2] == Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1) + @test tan_rev(interval(-0x1.1A62633145C07P-53,-0x1.1A62633145C06P-53), interval(3.14,3.15))[2] === Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1) - @test tan_rev(interval(0x1.72CECE675D1FCP-52,0x1.72CECE675D1FDP-52), interval(-3.15,3.15))[2] == Interval(-0x1.921FB54442D19P+1,0x1.921FB54442D1aP+1) + @test tan_rev(interval(0x1.72CECE675D1FCP-52,0x1.72CECE675D1FDP-52), interval(-3.15,3.15))[2] === Interval(-0x1.921FB54442D19P+1,0x1.921FB54442D1aP+1) - @test tan_rev(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), interval(-Inf,1.5707965))[2] == Interval(-Inf, +0x1.921FB82C2BD7Fp0) + @test tan_rev(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), interval(-Inf,1.5707965))[2] === Interval(-Inf, +0x1.921FB82C2BD7Fp0) - @test tan_rev(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), interval(-1.5707965,Inf))[2] == Interval(-0x1.921FB82C2BD7Fp0, +Inf) + @test tan_rev(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), interval(-1.5707965,Inf))[2] === Interval(-0x1.921FB82C2BD7Fp0, +Inf) - @test tan_rev(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), interval(-1.5707965,1.5707965))[2] == Interval(-0x1.921FB82C2BD7Fp0, +0x1.921FB82C2BD7Fp0) + @test tan_rev(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), interval(-1.5707965,1.5707965))[2] === Interval(-0x1.921FB82C2BD7Fp0, +0x1.921FB82C2BD7Fp0) - @test tan_rev(interval(-0x1.D02967C31CDB5P+53,0x1.D02967C31CDB5P+53), interval(-1.5707965,1.5707965))[2] == Interval(-1.5707965,1.5707965) + @test tan_rev(interval(-0x1.D02967C31CDB5P+53,0x1.D02967C31CDB5P+53), interval(-1.5707965,1.5707965))[2] === Interval(-1.5707965,1.5707965) end @testset "minimal_tan_rev_dec_test" begin - @test tan_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(tan_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test tan_rev(DecoratedInterval(emptyinterval(), trv))[2] === DecoratedInterval(emptyinterval(), trv) - @test tan_rev(DecoratedInterval(interval(-1.0,1.0), com))[2] == DecoratedInterval(entireinterval(), trv) && decoration(tan_rev(DecoratedInterval(interval(-1.0,1.0), com))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test tan_rev(DecoratedInterval(interval(-1.0,1.0), com))[2] === DecoratedInterval(entireinterval(), trv) - @test tan_rev(DecoratedInterval(interval(-156.0,-12.0), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(tan_rev(DecoratedInterval(interval(-156.0,-12.0), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test tan_rev(DecoratedInterval(interval(-156.0,-12.0), dac))[2] === DecoratedInterval(entireinterval(), trv) - @test tan_rev(DecoratedInterval(interval(0.0,0.0), def))[2] == DecoratedInterval(entireinterval(), trv) && decoration(tan_rev(DecoratedInterval(interval(0.0,0.0), def))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test tan_rev(DecoratedInterval(interval(0.0,0.0), def))[2] === DecoratedInterval(entireinterval(), trv) - @test tan_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com))[2] == DecoratedInterval(entireinterval(), trv) && decoration(tan_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test tan_rev(DecoratedInterval(interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53), com))[2] === DecoratedInterval(entireinterval(), trv) end @testset "minimal_tan_rev_dec_bin_test" begin - @test tan_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.5708,1.5708), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(tan_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.5708,1.5708), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test tan_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(-1.5708,1.5708), def))[2] === DecoratedInterval(emptyinterval(), trv) - @test tan_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-1.5708,1.5708), dac))[2] == DecoratedInterval(Interval(-1.5708,1.5708), trv) && decoration(tan_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-1.5708,1.5708), dac))[2]) == decoration(DecoratedInterval(Interval(-1.5708,1.5708), trv)) + @test tan_rev(DecoratedInterval(entireinterval(), def), DecoratedInterval(interval(-1.5708,1.5708), dac))[2] === DecoratedInterval(Interval(-1.5708,1.5708), trv) - @test tan_rev(DecoratedInterval(interval(0.0,0.0), com), DecoratedInterval(interval(-1.5708,1.5708), def))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(tan_rev(DecoratedInterval(interval(0.0,0.0), com), DecoratedInterval(interval(-1.5708,1.5708), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + @test tan_rev(DecoratedInterval(interval(0.0,0.0), com), DecoratedInterval(interval(-1.5708,1.5708), def))[2] === DecoratedInterval(Interval(0.0,0.0), trv) - @test tan_rev(DecoratedInterval(interval(0x1.D02967C31CDB4P+53,0x1.D02967C31CDB5P+53), dac), DecoratedInterval(interval(-1.5708,1.5708), def))[2] == DecoratedInterval(Interval(-0x1.921fb54442d1bp+0,0x1.921fb54442d19p+0), trv) && decoration(tan_rev(DecoratedInterval(interval(0x1.D02967C31CDB4P+53,0x1.D02967C31CDB5P+53), dac), DecoratedInterval(interval(-1.5708,1.5708), def))[2]) == decoration(DecoratedInterval(Interval(-0x1.921fb54442d1bp+0,0x1.921fb54442d19p+0), trv)) + @test tan_rev(DecoratedInterval(interval(0x1.D02967C31CDB4P+53,0x1.D02967C31CDB5P+53), dac), DecoratedInterval(interval(-1.5708,1.5708), def))[2] === DecoratedInterval(Interval(-0x1.921fb54442d1bp+0,0x1.921fb54442d19p+0), trv) - @test tan_rev(DecoratedInterval(interval(-0x1.1A62633145C07P-53,-0x1.1A62633145C06P-53), def), DecoratedInterval(interval(3.14,3.15), dac))[2] == DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1), trv) && decoration(tan_rev(DecoratedInterval(interval(-0x1.1A62633145C07P-53,-0x1.1A62633145C06P-53), def), DecoratedInterval(interval(3.14,3.15), dac))[2]) == decoration(DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1), trv)) + @test tan_rev(DecoratedInterval(interval(-0x1.1A62633145C07P-53,-0x1.1A62633145C06P-53), def), DecoratedInterval(interval(3.14,3.15), dac))[2] === DecoratedInterval(Interval(0x1.921FB54442D17P+1,0x1.921FB54442D19P+1), trv) - @test tan_rev(DecoratedInterval(interval(0x1.72CECE675D1FCP-52,0x1.72CECE675D1FDP-52), com), DecoratedInterval(interval(-3.15,3.15), com))[2] == DecoratedInterval(Interval(-0x1.921FB54442D19P+1,0x1.921FB54442D1aP+1), trv) && decoration(tan_rev(DecoratedInterval(interval(0x1.72CECE675D1FCP-52,0x1.72CECE675D1FDP-52), com), DecoratedInterval(interval(-3.15,3.15), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.921FB54442D19P+1,0x1.921FB54442D1aP+1), trv)) + @test tan_rev(DecoratedInterval(interval(0x1.72CECE675D1FCP-52,0x1.72CECE675D1FDP-52), com), DecoratedInterval(interval(-3.15,3.15), com))[2] === DecoratedInterval(Interval(-0x1.921FB54442D19P+1,0x1.921FB54442D1aP+1), trv) - @test tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), def), DecoratedInterval(interval(-Inf,1.5707965), def))[2] == DecoratedInterval(Interval(-Inf,0x1.921FB82C2BD7Fp0), trv) && decoration(tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), def), DecoratedInterval(interval(-Inf,1.5707965), def))[2]) == decoration(DecoratedInterval(Interval(-Inf,0x1.921FB82C2BD7Fp0), trv)) + @test tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), def), DecoratedInterval(interval(-Inf,1.5707965), def))[2] === DecoratedInterval(Interval(-Inf,0x1.921FB82C2BD7Fp0), trv) - @test tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), com), DecoratedInterval(interval(-1.5707965,Inf), dac))[2] == DecoratedInterval(Interval(-0x1.921FB82C2BD7Fp0,Inf), trv) && decoration(tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), com), DecoratedInterval(interval(-1.5707965,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(-0x1.921FB82C2BD7Fp0,Inf), trv)) + @test tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), com), DecoratedInterval(interval(-1.5707965,Inf), dac))[2] === DecoratedInterval(Interval(-0x1.921FB82C2BD7Fp0,Inf), trv) - @test tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), com), DecoratedInterval(interval(-1.5707965,1.5707965), com))[2] == DecoratedInterval(Interval(-0x1.921FB82C2BD7Fp0,0x1.921FB82C2BD7Fp0), trv) && decoration(tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), com), DecoratedInterval(interval(-1.5707965,1.5707965), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.921FB82C2BD7Fp0,0x1.921FB82C2BD7Fp0), trv)) + @test tan_rev(DecoratedInterval(interval(-0x1.D02967C31p+53,0x1.D02967C31p+53), com), DecoratedInterval(interval(-1.5707965,1.5707965), com))[2] === DecoratedInterval(Interval(-0x1.921FB82C2BD7Fp0,0x1.921FB82C2BD7Fp0), trv) - @test tan_rev(DecoratedInterval(interval(-0x1.D02967C31CDB5P+53,0x1.D02967C31CDB5P+53), dac), DecoratedInterval(interval(-1.5707965,1.5707965), def))[2] == DecoratedInterval(Interval(-1.5707965,1.5707965), trv) && decoration(tan_rev(DecoratedInterval(interval(-0x1.D02967C31CDB5P+53,0x1.D02967C31CDB5P+53), dac), DecoratedInterval(interval(-1.5707965,1.5707965), def))[2]) == decoration(DecoratedInterval(Interval(-1.5707965,1.5707965), trv)) + @test tan_rev(DecoratedInterval(interval(-0x1.D02967C31CDB5P+53,0x1.D02967C31CDB5P+53), dac), DecoratedInterval(interval(-1.5707965,1.5707965), def))[2] === DecoratedInterval(Interval(-1.5707965,1.5707965), trv) end @testset "minimal_cosh_rev_test" begin - @test cosh_rev(emptyinterval())[2] == emptyinterval() + @test cosh_rev(emptyinterval())[2] === emptyinterval() - @test cosh_rev(interval(1.0,Inf))[2] == entireinterval() + @test cosh_rev(interval(1.0,Inf))[2] === entireinterval() - @test cosh_rev(interval(0.0,Inf))[2] == entireinterval() + @test cosh_rev(interval(0.0,Inf))[2] === entireinterval() - @test cosh_rev(interval(1.0,1.0))[2] == Interval(0.0,0.0) + @test cosh_rev(interval(1.0,1.0))[2] === Interval(0.0,0.0) - @test cosh_rev(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432))[2] == Interval(-0x1.2C903022DD7ABP+8,0x1.2C903022DD7ABP+8) + @test cosh_rev(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432))[2] === Interval(-0x1.2C903022DD7ABP+8,0x1.2C903022DD7ABP+8) end @testset "minimal_cosh_rev_bin_test" begin - @test cosh_rev(emptyinterval(), interval(0.0,Inf))[2] == emptyinterval() + @test cosh_rev(emptyinterval(), interval(0.0,Inf))[2] === emptyinterval() - @test cosh_rev(interval(1.0,Inf), interval(0.0,Inf))[2] == Interval(0.0,Inf) + @test cosh_rev(interval(1.0,Inf), interval(0.0,Inf))[2] === Interval(0.0,Inf) - @test cosh_rev(interval(0.0,Inf), interval(1.0,2.0))[2] == Interval(1.0,2.0) + @test cosh_rev(interval(0.0,Inf), interval(1.0,2.0))[2] === Interval(1.0,2.0) - @test cosh_rev(interval(1.0,1.0), interval(1.0,Inf))[2] == emptyinterval() + @test cosh_rev(interval(1.0,1.0), interval(1.0,Inf))[2] === emptyinterval() - @test cosh_rev(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), interval(-Inf,0.0))[2] == Interval(-0x1.2C903022DD7ABP+8,-0x1.fffffffffffffp-1) + @test cosh_rev(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), interval(-Inf,0.0))[2] === Interval(-0x1.2C903022DD7ABP+8,-0x1.fffffffffffffp-1) end @testset "minimal_cosh_rev_dec_test" begin - @test cosh_rev(DecoratedInterval(emptyinterval(), trv))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cosh_rev(DecoratedInterval(emptyinterval(), trv))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test cosh_rev(DecoratedInterval(emptyinterval(), trv))[2] === DecoratedInterval(emptyinterval(), trv) - @test cosh_rev(DecoratedInterval(interval(1.0,Inf), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(cosh_rev(DecoratedInterval(interval(1.0,Inf), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test cosh_rev(DecoratedInterval(interval(1.0,Inf), dac))[2] === DecoratedInterval(entireinterval(), trv) - @test cosh_rev(DecoratedInterval(interval(0.0,Inf), dac))[2] == DecoratedInterval(entireinterval(), trv) && decoration(cosh_rev(DecoratedInterval(interval(0.0,Inf), dac))[2]) == decoration(DecoratedInterval(entireinterval(), trv)) + @test cosh_rev(DecoratedInterval(interval(0.0,Inf), dac))[2] === DecoratedInterval(entireinterval(), trv) - @test cosh_rev(DecoratedInterval(interval(1.0,1.0), def))[2] == DecoratedInterval(Interval(0.0,0.0), trv) && decoration(cosh_rev(DecoratedInterval(interval(1.0,1.0), def))[2]) == decoration(DecoratedInterval(Interval(0.0,0.0), trv)) + @test cosh_rev(DecoratedInterval(interval(1.0,1.0), def))[2] === DecoratedInterval(Interval(0.0,0.0), trv) - @test cosh_rev(DecoratedInterval(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), com))[2] == DecoratedInterval(Interval(-0x1.2C903022DD7ABP+8,0x1.2C903022DD7ABP+8), trv) && decoration(cosh_rev(DecoratedInterval(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), com))[2]) == decoration(DecoratedInterval(Interval(-0x1.2C903022DD7ABP+8,0x1.2C903022DD7ABP+8), trv)) + @test cosh_rev(DecoratedInterval(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), com))[2] === DecoratedInterval(Interval(-0x1.2C903022DD7ABP+8,0x1.2C903022DD7ABP+8), trv) end @testset "minimal_cosh_rev_dec_bin_test" begin - @test cosh_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(0.0,Inf), dac))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cosh_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(0.0,Inf), dac))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test cosh_rev(DecoratedInterval(emptyinterval(), trv), DecoratedInterval(interval(0.0,Inf), dac))[2] === DecoratedInterval(emptyinterval(), trv) - @test cosh_rev(DecoratedInterval(interval(1.0,Inf), def), DecoratedInterval(interval(0.0,Inf), dac))[2] == DecoratedInterval(Interval(0.0,Inf), trv) && decoration(cosh_rev(DecoratedInterval(interval(1.0,Inf), def), DecoratedInterval(interval(0.0,Inf), dac))[2]) == decoration(DecoratedInterval(Interval(0.0,Inf), trv)) + @test cosh_rev(DecoratedInterval(interval(1.0,Inf), def), DecoratedInterval(interval(0.0,Inf), dac))[2] === DecoratedInterval(Interval(0.0,Inf), trv) - @test cosh_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(1.0,2.0), com))[2] == DecoratedInterval(Interval(1.0,2.0), trv) && decoration(cosh_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(1.0,2.0), com))[2]) == decoration(DecoratedInterval(Interval(1.0,2.0), trv)) + @test cosh_rev(DecoratedInterval(interval(0.0,Inf), def), DecoratedInterval(interval(1.0,2.0), com))[2] === DecoratedInterval(Interval(1.0,2.0), trv) - @test cosh_rev(DecoratedInterval(interval(1.0,1.0), dac), DecoratedInterval(interval(1.0,Inf), def))[2] == DecoratedInterval(emptyinterval(), trv) && decoration(cosh_rev(DecoratedInterval(interval(1.0,1.0), dac), DecoratedInterval(interval(1.0,Inf), def))[2]) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test cosh_rev(DecoratedInterval(interval(1.0,1.0), dac), DecoratedInterval(interval(1.0,Inf), def))[2] === DecoratedInterval(emptyinterval(), trv) - @test cosh_rev(DecoratedInterval(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), com), DecoratedInterval(interval(-Inf,0.0), dac))[2] == DecoratedInterval(Interval(-0x1.2C903022DD7ABP+8,-0x1.fffffffffffffp-1), trv) && decoration(cosh_rev(DecoratedInterval(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), com), DecoratedInterval(interval(-Inf,0.0), dac))[2]) == decoration(DecoratedInterval(Interval(-0x1.2C903022DD7ABP+8,-0x1.fffffffffffffp-1), trv)) + @test cosh_rev(DecoratedInterval(interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432), com), DecoratedInterval(interval(-Inf,0.0), dac))[2] === DecoratedInterval(Interval(-0x1.2C903022DD7ABP+8,-0x1.fffffffffffffp-1), trv) end @testset "minimal_mul_rev_test" begin - @test mul_rev_IEEE1788(emptyinterval(), interval(1.0, 2.0)) == emptyinterval() + @test mul_rev_IEEE1788(emptyinterval(), interval(1.0, 2.0)) === emptyinterval() - @test mul_rev_IEEE1788(interval(1.0, 2.0), emptyinterval()) == emptyinterval() + @test mul_rev_IEEE1788(interval(1.0, 2.0), emptyinterval()) === emptyinterval() - @test mul_rev_IEEE1788(emptyinterval(), emptyinterval()) == emptyinterval() + @test mul_rev_IEEE1788(emptyinterval(), emptyinterval()) === emptyinterval() - @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, -0.4)) == Interval(0x1.999999999999AP-3, 0x1.5P+4) + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, -0.4)) === Interval(0x1.999999999999AP-3, 0x1.5P+4) - @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-2.1, -0.4)) == Interval(0x1.999999999999AP-3, Inf) + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-2.1, -0.4)) === Interval(0x1.999999999999AP-3, Inf) - @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, -0.4)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, -0.4)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-2.1, -0.4)) == Interval(-Inf, -0x1.745D1745D1745P-2) + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-2.1, -0.4)) === Interval(-Inf, -0x1.745D1745D1745P-2) - @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, -0.4)) == Interval(-0x1.A400000000001P+7, -0x1.745D1745D1745P-2) + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, -0.4)) === Interval(-0x1.A400000000001P+7, -0x1.745D1745D1745P-2) - @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, -0.4)) == emptyinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, -0.4)) === emptyinterval() - @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-2.1, -0.4)) == Interval(0.0, 0x1.5P+4) + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-2.1, -0.4)) === Interval(0.0, 0x1.5P+4) - @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-2.1, -0.4)) == Interval(0.0, Inf) + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-2.1, -0.4)) === Interval(0.0, Inf) - @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-2.1, -0.4)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-2.1, -0.4)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-2.1, -0.4)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-2.1, -0.4)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-2.1, -0.4)) == Interval(-Inf, 0.0) + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-2.1, -0.4)) === Interval(-Inf, 0.0) - @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-2.1, -0.4)) == Interval(-0x1.A400000000001P+7, 0.0) + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-2.1, -0.4)) === Interval(-0x1.A400000000001P+7, 0.0) - @test mul_rev_IEEE1788(entireinterval(), interval(-2.1, -0.4)) == entireinterval() + @test mul_rev_IEEE1788(entireinterval(), interval(-2.1, -0.4)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, 0.0)) == Interval(0.0, 0x1.5P+4) + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, 0.0)) === Interval(0.0, 0x1.5P+4) - @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-2.1, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-2.1, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, 0.0)) == Interval(-0x1.A400000000001P+7, 0.0) + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, 0.0)) === Interval(-0x1.A400000000001P+7, 0.0) - @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-2.1, 0.0)) == Interval(0.0, 0x1.5P+4) + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-2.1, 0.0)) === Interval(0.0, 0x1.5P+4) - @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-2.1, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-2.1, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-2.1, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-2.1, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-2.1, 0.0)) == Interval(-0x1.A400000000001P+7, 0.0) + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-2.1, 0.0)) === Interval(-0x1.A400000000001P+7, 0.0) - @test mul_rev_IEEE1788(entireinterval(), interval(-2.1, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(entireinterval(), interval(-2.1, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, 0.12)) == Interval(-0x1.3333333333333P+0, 0x1.5P+4) + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, 0.12)) === Interval(-0x1.3333333333333P+0, 0x1.5P+4) - @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-2.1, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-2.1, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-2.1, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-2.1, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, 0.12)) == Interval(-0x1.A400000000001P+7 , 0x1.8P+3) + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, 0.12)) === Interval(-0x1.A400000000001P+7 , 0x1.8P+3) - @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-2.1, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-2.1, 0.12)) == Interval(-0x1.3333333333333P+0, 0x1.5P+4) + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-2.1, 0.12)) === Interval(-0x1.3333333333333P+0, 0x1.5P+4) - @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-2.1, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-2.1, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-2.1, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-2.1, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-2.1, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-2.1, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-2.1, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-2.1, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-2.1, 0.12)) == Interval(-0x1.A400000000001P+7 , 0x1.8P+3) + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-2.1, 0.12)) === Interval(-0x1.A400000000001P+7 , 0x1.8P+3) - @test mul_rev_IEEE1788(entireinterval(), interval(-2.1, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(entireinterval(), interval(-2.1, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, 0.12)) == Interval(-0x1.3333333333333P+0, 0.0) + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, 0.12)) === Interval(-0x1.3333333333333P+0, 0.0) - @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, 0.12)) == Interval(0.0, 0x1.8P+3) + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, 0.12)) === Interval(0.0, 0x1.8P+3) - @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, 0.12)) == Interval(-0x1.3333333333333P+0, 0.0) + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, 0.12)) === Interval(-0x1.3333333333333P+0, 0.0) - @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, 0.12)) == Interval(0.0, 0x1.8P+3) + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, 0.12)) === Interval(0.0, 0x1.8P+3) - @test mul_rev_IEEE1788(entireinterval(), interval(0.0, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(entireinterval(), interval(0.0, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.01, 0.12)) == Interval(-0x1.3333333333333P+0, -0x1.47AE147AE147BP-8) + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.01, 0.12)) === Interval(-0x1.3333333333333P+0, -0x1.47AE147AE147BP-8) - @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.01, 0.12)) == Interval(-Inf, -0x1.47AE147AE147BP-8) + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.01, 0.12)) === Interval(-Inf, -0x1.47AE147AE147BP-8) - @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.01, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.01, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.01, 0.12)) == Interval(0x1.29E4129E4129DP-7, Inf) + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.01, 0.12)) === Interval(0x1.29E4129E4129DP-7, Inf) - @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.01, 0.12)) == Interval(0x1.29E4129E4129DP-7, 0x1.8P+3) + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.01, 0.12)) === Interval(0x1.29E4129E4129DP-7, 0x1.8P+3) - @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.01, 0.12)) == emptyinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.01, 0.12)) === emptyinterval() - @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.01, 0.12)) == Interval(-0x1.3333333333333P+0, 0.0) + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.01, 0.12)) === Interval(-0x1.3333333333333P+0, 0.0) - @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.01, 0.12)) == Interval(-Inf, 0.0) + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.01, 0.12)) === Interval(-Inf, 0.0) - @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.01, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.01, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.01, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.01, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.01, 0.12)) == Interval(0.0, Inf) + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.01, 0.12)) === Interval(0.0, Inf) - @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.01, 0.12)) == Interval(0.0, 0x1.8P+3) + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.01, 0.12)) === Interval(0.0, 0x1.8P+3) - @test mul_rev_IEEE1788(entireinterval(), interval(0.01, 0.12)) == entireinterval() + @test mul_rev_IEEE1788(entireinterval(), interval(0.01, 0.12)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, 0.0)) == Interval(0.0, 0.0) + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, 0.0)) === Interval(0.0, 0.0) - @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, 0.0)) == Interval(0.0, 0.0) + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, 0.0)) === Interval(0.0, 0.0) - @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, 0.0)) == Interval(0.0, 0.0) + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, 0.0)) === Interval(0.0, 0.0) - @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, 0.0)) == Interval(0.0, 0.0) + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, 0.0)) === Interval(0.0, 0.0) - @test mul_rev_IEEE1788(entireinterval(), interval(0.0, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(entireinterval(), interval(0.0, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-Inf, -0.1)) == Interval(0x1.999999999999AP-5, Inf) + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-Inf, -0.1)) === Interval(0x1.999999999999AP-5, Inf) - @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-Inf, -0.1)) == Interval(0x1.999999999999AP-5 , Inf) + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-Inf, -0.1)) === Interval(0x1.999999999999AP-5 , Inf) - @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-Inf, -0.1)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-Inf, -0.1)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-Inf, -0.1)) == Interval(-Inf, -0x1.745D1745D1745P-4) + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-Inf, -0.1)) === Interval(-Inf, -0x1.745D1745D1745P-4) - @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-Inf, -0.1)) == Interval(-Inf, -0x1.745D1745D1745P-4) + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-Inf, -0.1)) === Interval(-Inf, -0x1.745D1745D1745P-4) - @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, -0.1)) == emptyinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, -0.1)) === emptyinterval() - @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-Inf, -0.1)) == Interval(0.0, Inf) + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-Inf, -0.1)) === Interval(0.0, Inf) - @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-Inf, -0.1)) == Interval(0.0, Inf) + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-Inf, -0.1)) === Interval(0.0, Inf) - @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-Inf, -0.1)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-Inf, -0.1)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-Inf, -0.1)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-Inf, -0.1)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-Inf, -0.1)) == Interval(-Inf, 0.0) + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-Inf, -0.1)) === Interval(-Inf, 0.0) - @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-Inf, -0.1)) == Interval(-Inf, 0.0) + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-Inf, -0.1)) === Interval(-Inf, 0.0) - @test mul_rev_IEEE1788(entireinterval(), interval(-Inf, -0.1)) == entireinterval() + @test mul_rev_IEEE1788(entireinterval(), interval(-Inf, -0.1)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-Inf, 0.0)) == Interval(0.0, Inf) + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-Inf, 0.0)) === Interval(0.0, Inf) - @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-Inf, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-Inf, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-Inf, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-Inf, 0.0)) == Interval(0.0, Inf) + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-Inf, 0.0)) === Interval(0.0, Inf) - @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-Inf, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-Inf, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-Inf, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-Inf, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test mul_rev_IEEE1788(entireinterval(), interval(-Inf, 0.0)) == entireinterval() + @test mul_rev_IEEE1788(entireinterval(), interval(-Inf, 0.0)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-Inf, 0.3)) == Interval(-0x1.8P+1, Inf) + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-Inf, 0.3)) === Interval(-0x1.8P+1, Inf) - @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-Inf, 0.3)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-Inf, 0.3)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-Inf, 0.3)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-Inf, 0.3)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-Inf, 0.3)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-Inf, 0.3)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-Inf, 0.3)) == Interval(-Inf, 0x1.EP+4) + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-Inf, 0.3)) === Interval(-Inf, 0x1.EP+4) - @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, 0.3)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-Inf, 0.3)) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-Inf, 0.3)) == Interval(-0x1.8P+1, Inf) + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-Inf, 0.3)) === Interval(-0x1.8P+1, Inf) - @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-Inf, 0.3)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-Inf, 0.3)) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-Inf, 0.3)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-Inf, 0.3)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-Inf, 0.3)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-Inf, 0.3)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-Inf, 0.3)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-Inf, 0.3)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-Inf, 0.3)) == Interval(-Inf, 0x1.EP+4) + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-Inf, 0.3)) === Interval(-Inf, 0x1.EP+4) - @test mul_rev_IEEE1788(entireinterval(), interval(-Inf, 0.3)) == entireinterval() + @test mul_rev_IEEE1788(entireinterval(), interval(-Inf, 0.3)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-0.21, Inf)) == Interval(-Inf , 0x1.0CCCCCCCCCCCDP+1) + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-0.21, Inf)) === Interval(-Inf , 0x1.0CCCCCCCCCCCDP+1) - @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-0.21, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(-0.21, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-0.21, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-0.21, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-0.21, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(-0.21, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-0.21, Inf)) == Interval(-0x1.5P+4, Inf) + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-0.21, Inf)) === Interval(-0x1.5P+4, Inf) - @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-0.21, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(-0.21, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-0.21, Inf)) == Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1) + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(-0.21, Inf)) === Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1) - @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-0.21, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(-0.21, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-0.21, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(-0.21, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-0.21, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(-0.21, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-0.21, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(-0.21, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-0.21, Inf)) == Interval(-0x1.5P+4, Inf) + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(-0.21, Inf)) === Interval(-0x1.5P+4, Inf) - @test mul_rev_IEEE1788(entireinterval(), interval(-0.21, Inf)) == entireinterval() + @test mul_rev_IEEE1788(entireinterval(), interval(-0.21, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, Inf)) == Interval(-Inf, 0.0) + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.0, Inf)) === Interval(-Inf, 0.0) - @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.0, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.0, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.0, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, Inf)) == Interval(0.0, Inf) + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.0, Inf)) === Interval(0.0, Inf) - @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.0, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, Inf)) == Interval(-Inf, 0.0) + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, Inf)) === Interval(-Inf, 0.0) - @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.0, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.0, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.0, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.0, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test mul_rev_IEEE1788(entireinterval(), interval(0.0, Inf)) == entireinterval() + @test mul_rev_IEEE1788(entireinterval(), interval(0.0, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.04, Inf)) == Interval(-Inf, -0x1.47AE147AE147BP-6) + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(0.04, Inf)) === Interval(-Inf, -0x1.47AE147AE147BP-6) - @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.04, Inf)) == Interval(-Inf, -0x1.47AE147AE147BP-6) + @test mul_rev_IEEE1788(interval(-2.0, 0.0), interval(0.04, Inf)) === Interval(-Inf, -0x1.47AE147AE147BP-6) - @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.04, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.04, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.04, Inf)) == Interval(0x1.29E4129E4129DP-5, Inf) + @test mul_rev_IEEE1788(interval(0.0, 1.1), interval(0.04, Inf)) === Interval(0x1.29E4129E4129DP-5, Inf) - @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.04, Inf)) == Interval(0x1.29E4129E4129DP-5, Inf) + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(0.04, Inf)) === Interval(0x1.29E4129E4129DP-5, Inf) - @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.04, Inf)) == emptyinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), interval(0.04, Inf)) === emptyinterval() - @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.04, Inf)) == Interval(-Inf, 0.0) + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.04, Inf)) === Interval(-Inf, 0.0) - @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.04, Inf)) == Interval(-Inf, 0.0) + @test mul_rev_IEEE1788(interval(-Inf, 0.0), interval(0.04, Inf)) === Interval(-Inf, 0.0) - @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.04, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 1.1), interval(0.04, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.04, Inf)) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, Inf), interval(0.04, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.04, Inf)) == Interval(0.0, Inf) + @test mul_rev_IEEE1788(interval(0.0, Inf), interval(0.04, Inf)) === Interval(0.0, Inf) - @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.04, Inf)) == Interval(0.0, Inf) + @test mul_rev_IEEE1788(interval(0.01, Inf), interval(0.04, Inf)) === Interval(0.0, Inf) - @test mul_rev_IEEE1788(entireinterval(), interval(0.04, Inf)) == entireinterval() + @test mul_rev_IEEE1788(entireinterval(), interval(0.04, Inf)) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, -0.1), entireinterval()) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, -0.1), entireinterval()) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, 0.0), entireinterval()) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 0.0), entireinterval()) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, 1.1), entireinterval()) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, 1.1), entireinterval()) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, 1.1), entireinterval()) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 1.1), entireinterval()) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, 1.1), entireinterval()) == entireinterval() + @test mul_rev_IEEE1788(interval(0.01, 1.1), entireinterval()) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, 0.0), entireinterval()) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, 0.0), entireinterval()) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, -0.1), entireinterval()) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, -0.1), entireinterval()) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, 0.0), entireinterval()) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 0.0), entireinterval()) === entireinterval() - @test mul_rev_IEEE1788(interval(-Inf, 1.1), entireinterval()) == entireinterval() + @test mul_rev_IEEE1788(interval(-Inf, 1.1), entireinterval()) === entireinterval() - @test mul_rev_IEEE1788(interval(-2.0, Inf), entireinterval()) == entireinterval() + @test mul_rev_IEEE1788(interval(-2.0, Inf), entireinterval()) === entireinterval() - @test mul_rev_IEEE1788(interval(0.0, Inf), entireinterval()) == entireinterval() + @test mul_rev_IEEE1788(interval(0.0, Inf), entireinterval()) === entireinterval() - @test mul_rev_IEEE1788(interval(0.01, Inf), entireinterval()) == entireinterval() + @test mul_rev_IEEE1788(interval(0.01, Inf), entireinterval()) === entireinterval() - @test mul_rev_IEEE1788(entireinterval(), entireinterval()) == entireinterval() + @test mul_rev_IEEE1788(entireinterval(), entireinterval()) === entireinterval() end @testset "minimal_mul_rev_ten_test" begin - @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, -0.4), interval(-2.1, -0.4)) == emptyinterval() + @test mul_rev_IEEE1788(interval(-2.0, -0.1), interval(-2.1, -0.4), interval(-2.1, -0.4)) === emptyinterval() - @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, -0.4), interval(-2.1, -0.4)) == Interval(-2.1, -0.4) + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(-2.1, -0.4), interval(-2.1, -0.4)) === Interval(-2.1, -0.4) - @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, 0.0), interval(-2.1, 0.0)) == Interval(-2.1,0.0) + @test mul_rev_IEEE1788(interval(0.01, 1.1), interval(-2.1, 0.0), interval(-2.1, 0.0)) === Interval(-2.1,0.0) - @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, 0.12), interval(0.0, 0.12)) == Interval(0.0, 0.0) + @test mul_rev_IEEE1788(interval(-Inf, -0.1), interval(0.0, 0.12), interval(0.0, 0.12)) === Interval(0.0, 0.0) - @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.04, Inf), interval(0.04, Inf)) == Interval(0.04, Inf) + @test mul_rev_IEEE1788(interval(-2.0, 1.1), interval(0.04, Inf), interval(0.04, Inf)) === Interval(0.04, Inf) end @@ -1656,33 +1656,33 @@ end @test isnai(mul_rev_IEEE1788(nai(), nai())) - @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac)) == DecoratedInterval(Interval(0x1.999999999999AP-3, 0x1.5P+4), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac))) == decoration(DecoratedInterval(Interval(0x1.999999999999AP-3, 0x1.5P+4), trv)) + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac)) === DecoratedInterval(Interval(0x1.999999999999AP-3, 0x1.5P+4), trv) - @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.0), def)) == DecoratedInterval(Interval(0.0, 0x1.5P+4), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.0), def))) == decoration(DecoratedInterval(Interval(0.0, 0x1.5P+4), trv)) + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), def), DecoratedInterval(interval(-2.1, 0.0), def)) === DecoratedInterval(Interval(0.0, 0x1.5P+4), trv) - @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, 0.12), dac)) == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, 0.12), dac))) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), trv)) + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), com), DecoratedInterval(interval(-2.1, 0.12), dac)) === DecoratedInterval(Interval(-0x1.3333333333333P+0, 0x1.5P+4), trv) - @test mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com)) == DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com))) == decoration(DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), trv)) + @test mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com)) === DecoratedInterval(Interval(-0x1.3333333333333P+0, 0.0), trv) - @test mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(0.01, 0.12), dac)) == DecoratedInterval(Interval(0x1.29E4129E4129DP-7, 0x1.8P+3), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(0.01, 0.12), dac))) == decoration(DecoratedInterval(Interval(0x1.29E4129E4129DP-7, 0x1.8P+3), trv)) + @test mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), def), DecoratedInterval(interval(0.01, 0.12), dac)) === DecoratedInterval(Interval(0x1.29E4129E4129DP-7, 0x1.8P+3), trv) - @test mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), def)) == DecoratedInterval(Interval(-Inf, 0x1.EP+4), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), def))) == decoration(DecoratedInterval(Interval(-Inf, 0x1.EP+4), trv)) + @test mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), dac), DecoratedInterval(interval(-Inf, 0.3), def)) === DecoratedInterval(Interval(-Inf, 0x1.EP+4), trv) - @test mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), trv), DecoratedInterval(interval(-0.21, Inf), dac)) == DecoratedInterval(Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), trv), DecoratedInterval(interval(-0.21, Inf), dac))) == decoration(DecoratedInterval(Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1), trv)) + @test mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), trv), DecoratedInterval(interval(-0.21, Inf), dac)) === DecoratedInterval(Interval(-Inf, 0x1.0CCCCCCCCCCCDP+1), trv) end @testset "minimal_mul_rev_dec_ten_test" begin - @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac), DecoratedInterval(interval(-2.1, -0.4), dac)) == DecoratedInterval(emptyinterval(), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac), DecoratedInterval(interval(-2.1, -0.4), dac))) == decoration(DecoratedInterval(emptyinterval(), trv)) + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, -0.1), dac), DecoratedInterval(interval(-2.1, -0.4), dac), DecoratedInterval(interval(-2.1, -0.4), dac)) === DecoratedInterval(emptyinterval(), trv) - @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, -0.4), com), DecoratedInterval(interval(-2.1, -0.4), com)) == DecoratedInterval(Interval(-2.1, -0.4), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, -0.4), com), DecoratedInterval(interval(-2.1, -0.4), com))) == decoration(DecoratedInterval(Interval(-2.1, -0.4), trv)) + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(-2.1, -0.4), com), DecoratedInterval(interval(-2.1, -0.4), com)) === DecoratedInterval(Interval(-2.1, -0.4), trv) - @test mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), dac)) == DecoratedInterval(Interval(-2.1,0.0), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), dac))) == decoration(DecoratedInterval(Interval(-2.1,0.0), trv)) + @test mul_rev_IEEE1788(DecoratedInterval(interval(0.01, 1.1), com), DecoratedInterval(interval(-2.1, 0.0), dac), DecoratedInterval(interval(-2.1, 0.0), dac)) === DecoratedInterval(Interval(-2.1,0.0), trv) - @test mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com), DecoratedInterval(interval(0.0, 0.12), com)) == DecoratedInterval(Interval(0.0, 0.0), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com), DecoratedInterval(interval(0.0, 0.12), com))) == decoration(DecoratedInterval(Interval(0.0, 0.0), trv)) + @test mul_rev_IEEE1788(DecoratedInterval(interval(-Inf, -0.1), dac), DecoratedInterval(interval(0.0, 0.12), com), DecoratedInterval(interval(0.0, 0.12), com)) === DecoratedInterval(Interval(0.0, 0.0), trv) - @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(0.04, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac)) == DecoratedInterval(Interval(0.04, Inf), trv) && decoration(mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(0.04, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac))) == decoration(DecoratedInterval(Interval(0.04, Inf), trv)) + @test mul_rev_IEEE1788(DecoratedInterval(interval(-2.0, 1.1), def), DecoratedInterval(interval(0.04, Inf), dac), DecoratedInterval(interval(0.04, Inf), dac)) === DecoratedInterval(Interval(0.04, Inf), trv) end diff --git a/test/pow_rev.jl b/test/pow_rev.jl index 0448f3c..d2b64ff 100644 --- a/test/pow_rev.jl +++ b/test/pow_rev.jl @@ -1,1616 +1,1616 @@ @testset "minimal.powRev1_test" begin - @test pow_rev1(emptyinterval(), emptyinterval(), emptyinterval()) == emptyinterval() + @test pow_rev1(emptyinterval(), emptyinterval(), emptyinterval()) === emptyinterval() - @test pow_rev1(emptyinterval(), entireinterval(), emptyinterval()) == emptyinterval() + @test pow_rev1(emptyinterval(), entireinterval(), emptyinterval()) === emptyinterval() - @test pow_rev1(entireinterval(), emptyinterval(), emptyinterval()) == emptyinterval() + @test pow_rev1(entireinterval(), emptyinterval(), emptyinterval()) === emptyinterval() - @test pow_rev1(entireinterval(), entireinterval(), emptyinterval()) == emptyinterval() + @test pow_rev1(entireinterval(), entireinterval(), emptyinterval()) === emptyinterval() - @test pow_rev1(emptyinterval(), emptyinterval(), entireinterval()) == emptyinterval() + @test pow_rev1(emptyinterval(), emptyinterval(), entireinterval()) === emptyinterval() - @test pow_rev1(emptyinterval(), entireinterval(), entireinterval()) == emptyinterval() + @test pow_rev1(emptyinterval(), entireinterval(), entireinterval()) === emptyinterval() - @test pow_rev1(entireinterval(), emptyinterval(), entireinterval()) == emptyinterval() + @test pow_rev1(entireinterval(), emptyinterval(), entireinterval()) === emptyinterval() - @test pow_rev1(entireinterval(), entireinterval(), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(entireinterval(), entireinterval(), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(entireinterval(), entireinterval(), interval(-Inf,-1.0)) == emptyinterval() + @test pow_rev1(entireinterval(), entireinterval(), interval(-Inf,-1.0)) === emptyinterval() - @test_skip pow_rev1(interval(-Inf,-1.0), entireinterval(), interval(-Inf,0.0)) == emptyinterval() + @test_broken pow_rev1(interval(-Inf,-1.0), entireinterval(), interval(-Inf,0.0)) === emptyinterval() - @test_skip pow_rev1(interval(-Inf,0.0), entireinterval(), interval(-Inf,0.0)) == emptyinterval() + @test_broken pow_rev1(interval(-Inf,0.0), entireinterval(), interval(-Inf,0.0)) === emptyinterval() - @test pow_rev1(interval(-Inf,0.0), interval(-Inf,0.0), entireinterval()) == emptyinterval() + @test pow_rev1(interval(-Inf,0.0), interval(-Inf,0.0), entireinterval()) === emptyinterval() - @test_skip pow_rev1(interval(-Inf,0.0), interval(-Inf,0.9), interval(0.0,1.0)) == emptyinterval() + @test_broken pow_rev1(interval(-Inf,0.0), interval(-Inf,0.9), interval(0.0,1.0)) === emptyinterval() - @test_skip pow_rev1(interval(-Inf,0.0), interval(1.1,Inf), interval(1.0,Inf)) == emptyinterval() + @test_broken pow_rev1(interval(-Inf,0.0), interval(1.1,Inf), interval(1.0,Inf)) === emptyinterval() - @test_skip pow_rev1(interval(0.0,Inf), interval(1.1,Inf), interval(0.0,1.0)) == emptyinterval() + @test_broken pow_rev1(interval(0.0,Inf), interval(1.1,Inf), interval(0.0,1.0)) === emptyinterval() - @test_skip pow_rev1(interval(0.0,Inf), interval(-Inf,0.9), interval(1.0,Inf)) == emptyinterval() + @test_broken pow_rev1(interval(0.0,Inf), interval(-Inf,0.9), interval(1.0,Inf)) === emptyinterval() - @test pow_rev1(interval(0.0,0.0), interval(1.0,1.0), interval(-Inf,0.0)) == emptyinterval() + @test pow_rev1(interval(0.0,0.0), interval(1.0,1.0), interval(-Inf,0.0)) === emptyinterval() - @test pow_rev1(entireinterval(), interval(0.0,0.0), entireinterval()) == Interval(0.0,0.0) + @test pow_rev1(entireinterval(), interval(0.0,0.0), entireinterval()) === Interval(0.0,0.0) - @test pow_rev1(entireinterval(), interval(-Inf,0.0), entireinterval()) == Interval(0.0,0.0) + @test pow_rev1(entireinterval(), interval(-Inf,0.0), entireinterval()) === Interval(0.0,0.0) - @test pow_rev1(interval(0.0,Inf), interval(-Inf,0.0), entireinterval()) == Interval(0.0,0.0) + @test pow_rev1(interval(0.0,Inf), interval(-Inf,0.0), entireinterval()) === Interval(0.0,0.0) - @test pow_rev1(interval(0.0,Inf), interval(0.0,0.0), entireinterval()) == Interval(0.0,0.0) + @test pow_rev1(interval(0.0,Inf), interval(0.0,0.0), entireinterval()) === Interval(0.0,0.0) - @test pow_rev1(interval(1.0,2.0), interval(0.0,0.0), entireinterval()) == Interval(0.0,0.0) + @test pow_rev1(interval(1.0,2.0), interval(0.0,0.0), entireinterval()) === Interval(0.0,0.0) - @test pow_rev1(interval(1.0,1.0), interval(0.0,0.0), interval(0.0,0.0)) == Interval(0.0,0.0) + @test pow_rev1(interval(1.0,1.0), interval(0.0,0.0), interval(0.0,0.0)) === Interval(0.0,0.0) - @test pow_rev1(entireinterval(), interval(1.0,1.0), interval(1.0,1.0)) == Interval(1.0,1.0) + @test pow_rev1(entireinterval(), interval(1.0,1.0), interval(1.0,1.0)) === Interval(1.0,1.0) - @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,1.0), entireinterval()) == Interval(0.0,Inf) + @test_broken pow_rev1(interval(0.0,0.0), interval(1.0,1.0), entireinterval()) === Interval(0.0,Inf) - @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,1.0), interval(2.0,3.0)) == Interval(2.0,3.0) + @test_broken pow_rev1(interval(0.0,0.0), interval(1.0,1.0), interval(2.0,3.0)) === Interval(2.0,3.0) - @test_skip pow_rev1(entireinterval(), interval(1.0,1.0), entireinterval()) == Interval(0.0,Inf) + @test_broken pow_rev1(entireinterval(), interval(1.0,1.0), entireinterval()) === Interval(0.0,Inf) - @test_skip pow_rev1(entireinterval(), interval(1.0,1.0), interval(20.0,30.0)) == Interval(20.0,30.0) + @test_broken pow_rev1(entireinterval(), interval(1.0,1.0), interval(20.0,30.0)) === Interval(20.0,30.0) - @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,1.0), interval(1.0,1.0)) == Interval(1.0,1.0) + @test_broken pow_rev1(interval(0.0,0.0), interval(1.0,1.0), interval(1.0,1.0)) === Interval(1.0,1.0) - @test pow_rev1(interval(-4.0,-2.0), interval(0.0,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + @test pow_rev1(interval(-4.0,-2.0), interval(0.0,0.5), entireinterval()) === Interval(0x1.306FE0A31B715p0, Inf) - @test pow_rev1(interval(-Inf,-2.0), interval(0.0,0.5), entireinterval()) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,-2.0), interval(0.0,0.5), entireinterval()) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,-2.0), interval(-Inf,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + @test pow_rev1(interval(-4.0,-2.0), interval(-Inf,0.5), entireinterval()) === Interval(0x1.306FE0A31B715p0, Inf) - @test pow_rev1(interval(-Inf,-2.0), interval(-Inf,0.5), entireinterval()) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,-2.0), interval(-Inf,0.5), entireinterval()) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,-2.0), interval(0.25,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, 2.0) + @test pow_rev1(interval(-4.0,-2.0), interval(0.25,0.5), entireinterval()) === Interval(0x1.306FE0A31B715p0, 2.0) - @test pow_rev1(interval(-Inf,-2.0), interval(0.25,0.5), entireinterval()) == Interval(1.0, 2.0) + @test pow_rev1(interval(-Inf,-2.0), interval(0.25,0.5), entireinterval()) === Interval(1.0, 2.0) - @test pow_rev1(interval(-4.0,-2.0), interval(0.25,1.0), entireinterval()) == Interval(1.0, 2.0) + @test pow_rev1(interval(-4.0,-2.0), interval(0.25,1.0), entireinterval()) === Interval(1.0, 2.0) - @test pow_rev1(interval(-Inf,-2.0), interval(0.25,1.0), entireinterval()) == Interval(1.0, 2.0) + @test pow_rev1(interval(-Inf,-2.0), interval(0.25,1.0), entireinterval()) === Interval(1.0, 2.0) - @test pow_rev1(interval(-4.0,-2.0), interval(1.0,1.0), entireinterval()) == Interval(1.0, 1.0) + @test pow_rev1(interval(-4.0,-2.0), interval(1.0,1.0), entireinterval()) === Interval(1.0, 1.0) - @test pow_rev1(interval(-Inf,-2.0), interval(1.0,1.0), entireinterval()) == Interval(1.0, 1.0) + @test pow_rev1(interval(-Inf,-2.0), interval(1.0,1.0), entireinterval()) === Interval(1.0, 1.0) - @test pow_rev1(interval(-4.0,-2.0), interval(0.0,1.0), entireinterval()) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,-2.0), interval(0.0,1.0), entireinterval()) === Interval(1.0, Inf) - @test pow_rev1(interval(-Inf,-2.0), interval(0.0,1.0), entireinterval()) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,-2.0), interval(0.0,1.0), entireinterval()) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,-2.0), interval(0.0,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + @test pow_rev1(interval(-4.0,-2.0), interval(0.0,2.0), entireinterval()) === Interval(0x1.6A09E667F3BCCp-1, Inf) - @test pow_rev1(interval(-Inf,-2.0), interval(0.0,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + @test pow_rev1(interval(-Inf,-2.0), interval(0.0,2.0), entireinterval()) === Interval(0x1.6A09E667F3BCCp-1, Inf) - @test pow_rev1(interval(-4.0,-2.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,-2.0), interval(0.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,-2.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,-2.0), interval(0.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,-2.0), interval(-Inf,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + @test pow_rev1(interval(-4.0,-2.0), interval(-Inf,2.0), entireinterval()) === Interval(0x1.6A09E667F3BCCp-1, Inf) - @test pow_rev1(interval(-Inf,-2.0), interval(-Inf,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + @test pow_rev1(interval(-Inf,-2.0), interval(-Inf,2.0), entireinterval()) === Interval(0x1.6A09E667F3BCCp-1, Inf) - @test pow_rev1(interval(-4.0,-2.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,-2.0), interval(-Inf,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,-2.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,-2.0), interval(-Inf,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,-2.0), interval(0.5,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 0x1.6A09E667F3BCDp0) + @test pow_rev1(interval(-4.0,-2.0), interval(0.5,2.0), entireinterval()) === Interval(0x1.6A09E667F3BCCp-1, 0x1.6A09E667F3BCDp0) - @test pow_rev1(interval(-Inf,-2.0), interval(0.5,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 0x1.6A09E667F3BCDp0) + @test pow_rev1(interval(-Inf,-2.0), interval(0.5,2.0), entireinterval()) === Interval(0x1.6A09E667F3BCCp-1, 0x1.6A09E667F3BCDp0) - @test pow_rev1(interval(-4.0,-2.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + @test pow_rev1(interval(-4.0,-2.0), interval(0.5,Inf), entireinterval()) === Interval(0.0, 0x1.6A09E667F3BCDp0) - @test pow_rev1(interval(-Inf,-2.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + @test pow_rev1(interval(-Inf,-2.0), interval(0.5,Inf), entireinterval()) === Interval(0.0, 0x1.6A09E667F3BCDp0) - @test pow_rev1(interval(-4.0,-2.0), interval(1.0,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 1.0) + @test pow_rev1(interval(-4.0,-2.0), interval(1.0,2.0), entireinterval()) === Interval(0x1.6A09E667F3BCCp-1, 1.0) - @test pow_rev1(interval(-Inf,-2.0), interval(1.0,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 1.0) + @test pow_rev1(interval(-Inf,-2.0), interval(1.0,2.0), entireinterval()) === Interval(0x1.6A09E667F3BCCp-1, 1.0) - @test pow_rev1(interval(-4.0,-2.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,-2.0), interval(1.0,Inf), entireinterval()) === Interval(0.0, 1.0) - @test pow_rev1(interval(-Inf,-2.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, 1.0) + @test pow_rev1(interval(-Inf,-2.0), interval(1.0,Inf), entireinterval()) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,-2.0), interval(2.0,4.0), entireinterval()) == Interval(0.5, 0x1.AE89F995AD3AEp-1) + @test pow_rev1(interval(-4.0,-2.0), interval(2.0,4.0), entireinterval()) === Interval(0.5, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(interval(-Inf,-2.0), interval(2.0,4.0), entireinterval()) == Interval(0.5, 1.0) + @test pow_rev1(interval(-Inf,-2.0), interval(2.0,4.0), entireinterval()) === Interval(0.5, 1.0) - @test pow_rev1(interval(-4.0,-2.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test pow_rev1(interval(-4.0,-2.0), interval(2.0,Inf), entireinterval()) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(interval(-Inf,-2.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, 1.0) + @test pow_rev1(interval(-Inf,-2.0), interval(2.0,Inf), entireinterval()) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,0.0), interval(0.0,0.5), entireinterval()) == emptyinterval() + @test pow_rev1(interval(0.0,0.0), interval(0.0,0.5), entireinterval()) === emptyinterval() - @test pow_rev1(interval(0.0,0.0), interval(-Inf,0.5), entireinterval()) == emptyinterval() + @test pow_rev1(interval(0.0,0.0), interval(-Inf,0.5), entireinterval()) === emptyinterval() - @test pow_rev1(interval(0.0,0.0), interval(0.25,0.5), entireinterval()) == emptyinterval() + @test pow_rev1(interval(0.0,0.0), interval(0.25,0.5), entireinterval()) === emptyinterval() - @test_skip pow_rev1(interval(0.0,0.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,0.0), interval(0.25,1.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,0.0), interval(1.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,0.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,0.0), interval(0.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,0.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,0.0), interval(0.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,0.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,0.0), interval(0.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,0.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,0.0), interval(-Inf,2.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,0.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,0.0), interval(-Inf,Inf), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,0.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,0.0), interval(0.5,2.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,0.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,0.0), interval(0.5,Inf), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,0.0), interval(1.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,0.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,0.0), interval(1.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(0.0,0.0), interval(2.0,4.0), entireinterval()) == emptyinterval() + @test pow_rev1(interval(0.0,0.0), interval(2.0,4.0), entireinterval()) === emptyinterval() - @test pow_rev1(interval(0.0,0.0), interval(2.0,Inf), entireinterval()) == emptyinterval() + @test pow_rev1(interval(0.0,0.0), interval(2.0,Inf), entireinterval()) === emptyinterval() - @test pow_rev1(interval(-4.0,0.0), interval(0.0,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + @test pow_rev1(interval(-4.0,0.0), interval(0.0,0.5), entireinterval()) === Interval(0x1.306FE0A31B715p0, Inf) - @test pow_rev1(interval(-Inf,0.0), interval(0.0,0.5), entireinterval()) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,0.0), interval(0.0,0.5), entireinterval()) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,0.0), interval(-Inf,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + @test pow_rev1(interval(-4.0,0.0), interval(-Inf,0.5), entireinterval()) === Interval(0x1.306FE0A31B715p0, Inf) - @test pow_rev1(interval(-Inf,0.0), interval(-Inf,0.5), entireinterval()) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,0.0), interval(-Inf,0.5), entireinterval()) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,0.0), interval(0.25,0.5), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + @test pow_rev1(interval(-4.0,0.0), interval(0.25,0.5), entireinterval()) === Interval(0x1.306FE0A31B715p0, Inf) - @test pow_rev1(interval(-Inf,0.0), interval(0.25,0.5), entireinterval()) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,0.0), interval(0.25,0.5), entireinterval()) === Interval(1.0, Inf) - @test_skip pow_rev1(interval(-4.0,0.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(-4.0,0.0), interval(0.25,1.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(-Inf,0.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(-Inf,0.0), interval(0.25,1.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(-4.0,0.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(-4.0,0.0), interval(1.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(-Inf,0.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(-Inf,0.0), interval(1.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(-4.0,0.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(-4.0,0.0), interval(0.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(-Inf,0.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(-Inf,0.0), interval(0.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,0.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,0.0), interval(0.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,0.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,0.0), interval(0.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,0.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,0.0), interval(0.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,0.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,0.0), interval(0.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,0.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,0.0), interval(-Inf,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,0.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,0.0), interval(-Inf,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,0.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,0.0), interval(-Inf,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,0.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,0.0), interval(-Inf,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,0.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,0.0), interval(0.5,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,0.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,0.0), interval(0.5,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,0.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,0.0), interval(0.5,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,0.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,0.0), interval(0.5,Inf), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(-4.0,0.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(-4.0,0.0), interval(1.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(-Inf,0.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(-Inf,0.0), interval(1.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(-4.0,0.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(-4.0,0.0), interval(1.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(-Inf,0.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(-Inf,0.0), interval(1.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,0.0), interval(2.0,4.0), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test pow_rev1(interval(-4.0,0.0), interval(2.0,4.0), entireinterval()) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(interval(-Inf,0.0), interval(2.0,4.0), entireinterval()) == Interval(0.0, 1.0) + @test pow_rev1(interval(-Inf,0.0), interval(2.0,4.0), entireinterval()) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,0.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test pow_rev1(interval(-4.0,0.0), interval(2.0,Inf), entireinterval()) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(interval(-Inf,0.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, 1.0) + @test pow_rev1(interval(-Inf,0.0), interval(2.0,Inf), entireinterval()) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,4.0), interval(0.0,0.5), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(0.0,0.5), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(0.0,0.5), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(0.0,0.5), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(-Inf,0.5), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,0.5), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(-Inf,0.5), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,0.5), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(0.0,0.5), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(0.0,0.5), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(entireinterval(), interval(0.0,0.5), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(entireinterval(), interval(0.0,0.5), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(-Inf,0.5), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,0.5), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(entireinterval(), interval(-Inf,0.5), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(entireinterval(), interval(-Inf,0.5), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(-4.0,4.0), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test_broken pow_rev1(interval(-4.0,4.0), interval(0.0,0.5), interval(0.0, 1.0)) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test_skip pow_rev1(interval(-Inf,4.0), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test_broken pow_rev1(interval(-Inf,4.0), interval(0.0,0.5), interval(0.0, 1.0)) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test_skip pow_rev1(interval(-4.0,4.0), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test_broken pow_rev1(interval(-4.0,4.0), interval(-Inf,0.5), interval(0.0, 1.0)) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test_skip pow_rev1(interval(-Inf,4.0), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test_broken pow_rev1(interval(-Inf,4.0), interval(-Inf,0.5), interval(0.0, 1.0)) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(interval(-4.0,Inf), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,Inf), interval(0.0,0.5), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(entireinterval(), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(entireinterval(), interval(0.0,0.5), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,Inf), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,0.5), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(entireinterval(), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(entireinterval(), interval(-Inf,0.5), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test_skip pow_rev1(interval(-4.0,4.0), interval(0.0,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + @test_broken pow_rev1(interval(-4.0,4.0), interval(0.0,0.5), interval(1.0, Inf)) === Interval(0x1.306FE0A31B715p0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(0.0,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(0.0,0.5), interval(1.0, Inf)) === Interval(1.0, Inf) - @test_skip pow_rev1(interval(-4.0,4.0), interval(-Inf,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + @test_broken pow_rev1(interval(-4.0,4.0), interval(-Inf,0.5), interval(1.0, Inf)) === Interval(0x1.306FE0A31B715p0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(-Inf,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,0.5), interval(1.0, Inf)) === Interval(1.0, Inf) - @test_skip pow_rev1(interval(-4.0,Inf), interval(0.0,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + @test_broken pow_rev1(interval(-4.0,Inf), interval(0.0,0.5), interval(1.0, Inf)) === Interval(0x1.306FE0A31B715p0, Inf) - @test pow_rev1(entireinterval(), interval(0.0,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(entireinterval(), interval(0.0,0.5), interval(1.0, Inf)) === Interval(1.0, Inf) - @test_skip pow_rev1(interval(-4.0,Inf), interval(-Inf,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + @test_broken pow_rev1(interval(-4.0,Inf), interval(-Inf,0.5), interval(1.0, Inf)) === Interval(0x1.306FE0A31B715p0, Inf) - @test pow_rev1(entireinterval(), interval(-Inf,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(entireinterval(), interval(-Inf,0.5), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(0.25,0.5), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(0.25,0.5), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(0.25,0.5), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(0.25,0.5), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(0.25,0.5), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(0.25,0.5), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(entireinterval(), interval(0.25,0.5), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(entireinterval(), interval(0.25,0.5), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(-4.0,4.0), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test_broken pow_rev1(interval(-4.0,4.0), interval(0.25,0.5), interval(0.0, 1.0)) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test_skip pow_rev1(interval(-Inf,4.0), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test_broken pow_rev1(interval(-Inf,4.0), interval(0.25,0.5), interval(0.0, 1.0)) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(interval(-4.0,Inf), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,Inf), interval(0.25,0.5), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(entireinterval(), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(entireinterval(), interval(0.25,0.5), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test_skip pow_rev1(interval(-4.0,4.0), interval(0.25,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + @test_broken pow_rev1(interval(-4.0,4.0), interval(0.25,0.5), interval(1.0, Inf)) === Interval(0x1.306FE0A31B715p0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(0.25,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(0.25,0.5), interval(1.0, Inf)) === Interval(1.0, Inf) - @test_skip pow_rev1(interval(-4.0,Inf), interval(0.25,0.5), interval(1.0, Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + @test_broken pow_rev1(interval(-4.0,Inf), interval(0.25,0.5), interval(1.0, Inf)) === Interval(0x1.306FE0A31B715p0, Inf) - @test pow_rev1(entireinterval(), interval(0.25,0.5), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(entireinterval(), interval(0.25,0.5), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(0.25,1.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(0.25,1.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(-4.0,4.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(-4.0,4.0), interval(1.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(-Inf,4.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(-Inf,4.0), interval(1.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(0.25,1.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(entireinterval(), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(entireinterval(), interval(0.25,1.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(-4.0,Inf), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(-4.0,Inf), interval(1.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(entireinterval(), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(entireinterval(), interval(1.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,4.0), interval(0.25,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-Inf,4.0), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-Inf,4.0), interval(0.25,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test_skip pow_rev1(interval(-4.0,4.0), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test_broken pow_rev1(interval(-4.0,4.0), interval(1.0,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test_skip pow_rev1(interval(-Inf,4.0), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test_broken pow_rev1(interval(-Inf,4.0), interval(1.0,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,Inf), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,Inf), interval(0.25,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(entireinterval(), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(entireinterval(), interval(0.25,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test_skip pow_rev1(interval(-4.0,Inf), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test_broken pow_rev1(interval(-4.0,Inf), interval(1.0,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test_skip pow_rev1(entireinterval(), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test_broken pow_rev1(entireinterval(), interval(1.0,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,4.0), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(0.25,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(0.25,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test_skip pow_rev1(interval(-4.0,4.0), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev1(interval(-4.0,4.0), interval(1.0,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test_skip pow_rev1(interval(-Inf,4.0), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev1(interval(-Inf,4.0), interval(1.0,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(0.25,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(entireinterval(), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(entireinterval(), interval(0.25,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test_skip pow_rev1(interval(-4.0,Inf), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev1(interval(-4.0,Inf), interval(1.0,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test_skip pow_rev1(entireinterval(), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev1(entireinterval(), interval(1.0,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(0.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(0.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(0.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(entireinterval(), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(entireinterval(), interval(0.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,4.0), interval(0.0,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-Inf,4.0), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-Inf,4.0), interval(0.0,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,Inf), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,Inf), interval(0.0,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(entireinterval(), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(entireinterval(), interval(0.0,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,4.0), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(0.0,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(0.0,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(0.0,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(entireinterval(), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(entireinterval(), interval(0.0,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(0.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(0.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(0.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(0.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(0.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(entireinterval(), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(entireinterval(), interval(0.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(0.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(entireinterval(), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(entireinterval(), interval(0.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(entireinterval(), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(entireinterval(), interval(-Inf,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(entireinterval(), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(entireinterval(), interval(-Inf,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,4.0), interval(0.0,2.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-Inf,4.0), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-Inf,4.0), interval(0.0,2.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,4.0), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,4.0), interval(0.0,Inf), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-Inf,4.0), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-Inf,4.0), interval(0.0,Inf), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,4.0), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,2.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-Inf,4.0), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,2.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,4.0), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,Inf), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-Inf,4.0), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,Inf), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,Inf), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,Inf), interval(0.0,2.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(entireinterval(), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(entireinterval(), interval(0.0,2.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,Inf), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,Inf), interval(0.0,Inf), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(entireinterval(), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(entireinterval(), interval(0.0,Inf), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,Inf), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,2.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(entireinterval(), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(entireinterval(), interval(-Inf,2.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,Inf), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,Inf), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(entireinterval(), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(entireinterval(), interval(-Inf,Inf), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,4.0), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(0.0,2.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(0.0,2.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(0.0,Inf), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(0.0,Inf), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,2.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,2.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(-Inf,Inf), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(-Inf,Inf), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(0.0,2.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(entireinterval(), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(entireinterval(), interval(0.0,2.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(0.0,Inf), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(entireinterval(), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(entireinterval(), interval(0.0,Inf), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,2.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(entireinterval(), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(entireinterval(), interval(-Inf,2.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(-Inf,Inf), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(entireinterval(), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(entireinterval(), interval(-Inf,Inf), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(0.5,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(0.5,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(0.5,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(0.5,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(0.5,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(entireinterval(), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(entireinterval(), interval(0.5,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(0.5,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(entireinterval(), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(entireinterval(), interval(0.5,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,4.0), interval(0.5,2.0), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-Inf,4.0), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-Inf,4.0), interval(0.5,2.0), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,4.0), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,4.0), interval(0.5,Inf), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-Inf,4.0), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-Inf,4.0), interval(0.5,Inf), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,Inf), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,Inf), interval(0.5,2.0), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(entireinterval(), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(entireinterval(), interval(0.5,2.0), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,Inf), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,Inf), interval(0.5,Inf), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(entireinterval(), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(entireinterval(), interval(0.5,Inf), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,4.0), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(0.5,2.0), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(0.5,2.0), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(0.5,Inf), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(0.5,Inf), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(0.5,2.0), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(entireinterval(), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(entireinterval(), interval(0.5,2.0), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(0.5,Inf), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(entireinterval(), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(entireinterval(), interval(0.5,Inf), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(1.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(1.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(1.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(1.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(1.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(entireinterval(), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(entireinterval(), interval(1.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(1.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(entireinterval(), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(entireinterval(), interval(1.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,4.0), interval(1.0,2.0), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-Inf,4.0), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-Inf,4.0), interval(1.0,2.0), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,4.0), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,4.0), interval(1.0,Inf), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-Inf,4.0), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-Inf,4.0), interval(1.0,Inf), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,Inf), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,Inf), interval(1.0,2.0), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(entireinterval(), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(entireinterval(), interval(1.0,2.0), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,Inf), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-4.0,Inf), interval(1.0,Inf), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(entireinterval(), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(entireinterval(), interval(1.0,Inf), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(-4.0,4.0), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(1.0,2.0), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(1.0,2.0), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(1.0,Inf), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(1.0,Inf), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(1.0,2.0), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(entireinterval(), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(entireinterval(), interval(1.0,2.0), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(1.0,Inf), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(entireinterval(), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(entireinterval(), interval(1.0,Inf), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(2.0,4.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(2.0,4.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(2.0,4.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(2.0,4.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,4.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,4.0), interval(2.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-Inf,4.0), interval(2.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-Inf,4.0), interval(2.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(2.0,4.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(2.0,4.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(entireinterval(), interval(2.0,4.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(entireinterval(), interval(2.0,4.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(2.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(2.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(entireinterval(), interval(2.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(entireinterval(), interval(2.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(-4.0,4.0), interval(2.0,4.0), interval(0.0,1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test_broken pow_rev1(interval(-4.0,4.0), interval(2.0,4.0), interval(0.0,1.0)) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(interval(-Inf,4.0), interval(2.0,4.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-Inf,4.0), interval(2.0,4.0), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test_skip pow_rev1(interval(-4.0,4.0), interval(2.0,Inf), interval(0.0,1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test_broken pow_rev1(interval(-4.0,4.0), interval(2.0,Inf), interval(0.0,1.0)) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(interval(-Inf,4.0), interval(2.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(-Inf,4.0), interval(2.0,Inf), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test_skip pow_rev1(interval(-4.0,Inf), interval(2.0,4.0), interval(0.0,1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test_broken pow_rev1(interval(-4.0,Inf), interval(2.0,4.0), interval(0.0,1.0)) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(entireinterval(), interval(2.0,4.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(entireinterval(), interval(2.0,4.0), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test_skip pow_rev1(interval(-4.0,Inf), interval(2.0,Inf), interval(0.0,1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test_broken pow_rev1(interval(-4.0,Inf), interval(2.0,Inf), interval(0.0,1.0)) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(entireinterval(), interval(2.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(entireinterval(), interval(2.0,Inf), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test_skip pow_rev1(interval(-4.0,4.0), interval(2.0,4.0), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + @test_broken pow_rev1(interval(-4.0,4.0), interval(2.0,4.0), interval(1.0,Inf)) === Interval(0x1.306FE0A31B715p0, Inf) - @test_skip pow_rev1(interval(-Inf,4.0), interval(2.0,4.0), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + @test_broken pow_rev1(interval(-Inf,4.0), interval(2.0,4.0), interval(1.0,Inf)) === Interval(0x1.306FE0A31B715p0, Inf) - @test_skip pow_rev1(interval(-4.0,4.0), interval(2.0,Inf), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + @test_broken pow_rev1(interval(-4.0,4.0), interval(2.0,Inf), interval(1.0,Inf)) === Interval(0x1.306FE0A31B715p0, Inf) - @test_skip pow_rev1(interval(-Inf,4.0), interval(2.0,Inf), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + @test_broken pow_rev1(interval(-Inf,4.0), interval(2.0,Inf), interval(1.0,Inf)) === Interval(0x1.306FE0A31B715p0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(2.0,4.0), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(2.0,4.0), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(entireinterval(), interval(2.0,4.0), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(entireinterval(), interval(2.0,4.0), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(-4.0,Inf), interval(2.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(-4.0,Inf), interval(2.0,Inf), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(entireinterval(), interval(2.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(entireinterval(), interval(2.0,Inf), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(0.0,0.5), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test pow_rev1(interval(0.0,4.0), interval(0.0,0.5), entireinterval()) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(interval(0.0,4.0), interval(-Inf,0.5), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test pow_rev1(interval(0.0,4.0), interval(-Inf,0.5), entireinterval()) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(interval(0.0,Inf), interval(0.0,0.5), entireinterval()) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,Inf), interval(0.0,0.5), entireinterval()) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,Inf), interval(-Inf,0.5), entireinterval()) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,Inf), interval(-Inf,0.5), entireinterval()) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,4.0), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test pow_rev1(interval(0.0,4.0), interval(0.0,0.5), interval(0.0, 1.0)) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(interval(0.0,4.0), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test pow_rev1(interval(0.0,4.0), interval(-Inf,0.5), interval(0.0, 1.0)) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(interval(0.0,Inf), interval(0.0,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,Inf), interval(0.0,0.5), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,Inf), interval(-Inf,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,Inf), interval(-Inf,0.5), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,4.0), interval(0.0,0.5), interval(1.0, Inf)) == emptyinterval() + @test pow_rev1(interval(0.0,4.0), interval(0.0,0.5), interval(1.0, Inf)) === emptyinterval() - @test pow_rev1(interval(0.0,4.0), interval(-Inf,0.5), interval(1.0, Inf)) == emptyinterval() + @test pow_rev1(interval(0.0,4.0), interval(-Inf,0.5), interval(1.0, Inf)) === emptyinterval() - @test_skip pow_rev1(interval(0.0,Inf), interval(0.0,0.5), interval(1.0, Inf)) == emptyinterval() + @test_broken pow_rev1(interval(0.0,Inf), interval(0.0,0.5), interval(1.0, Inf)) === emptyinterval() - @test_skip pow_rev1(interval(0.0,Inf), interval(-Inf,0.5), interval(1.0, Inf)) == emptyinterval() + @test_broken pow_rev1(interval(0.0,Inf), interval(-Inf,0.5), interval(1.0, Inf)) === emptyinterval() - @test pow_rev1(interval(0.0,4.0), interval(0.25,0.5), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test pow_rev1(interval(0.0,4.0), interval(0.25,0.5), entireinterval()) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(interval(0.0,Inf), interval(0.25,0.5), entireinterval()) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,Inf), interval(0.25,0.5), entireinterval()) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,4.0), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test pow_rev1(interval(0.0,4.0), interval(0.25,0.5), interval(0.0, 1.0)) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(interval(0.0,Inf), interval(0.25,0.5), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,Inf), interval(0.25,0.5), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,4.0), interval(0.25,0.5), interval(1.0, Inf)) == emptyinterval() + @test pow_rev1(interval(0.0,4.0), interval(0.25,0.5), interval(1.0, Inf)) === emptyinterval() - @test_skip pow_rev1(interval(0.0,Inf), interval(0.25,0.5), interval(1.0, Inf)) == emptyinterval() + @test_broken pow_rev1(interval(0.0,Inf), interval(0.25,0.5), interval(1.0, Inf)) === emptyinterval() - @test_skip pow_rev1(interval(0.0,4.0), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,4.0), interval(0.25,1.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,4.0), interval(1.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,Inf), interval(0.25,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,Inf), interval(0.25,1.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,Inf), interval(1.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,4.0), interval(0.25,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test_broken pow_rev1(interval(0.0,4.0), interval(1.0,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,Inf), interval(0.25,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,Inf), interval(0.25,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test_broken pow_rev1(interval(0.0,Inf), interval(1.0,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test_skip pow_rev1(interval(0.0,4.0), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev1(interval(0.0,4.0), interval(0.25,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev1(interval(0.0,4.0), interval(1.0,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test_skip pow_rev1(interval(0.0,Inf), interval(0.25,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev1(interval(0.0,Inf), interval(0.25,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev1(interval(0.0,Inf), interval(1.0,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test_skip pow_rev1(interval(0.0,4.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,4.0), interval(0.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,Inf), interval(0.0,1.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,Inf), interval(0.0,1.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,4.0), interval(0.0,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,Inf), interval(0.0,1.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,Inf), interval(0.0,1.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test_skip pow_rev1(interval(0.0,4.0), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev1(interval(0.0,4.0), interval(0.0,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test_skip pow_rev1(interval(0.0,Inf), interval(0.0,1.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev1(interval(0.0,Inf), interval(0.0,1.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(0.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(0.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(-Inf,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(-Inf,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(0.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(0.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(0.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(-Inf,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(-Inf,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(-Inf,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,4.0), interval(0.0,2.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,4.0), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,4.0), interval(0.0,Inf), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,4.0), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,4.0), interval(-Inf,2.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,4.0), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,4.0), interval(-Inf,Inf), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,Inf), interval(0.0,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,Inf), interval(0.0,2.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,Inf), interval(0.0,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,Inf), interval(0.0,Inf), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,Inf), interval(-Inf,2.0), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,Inf), interval(-Inf,2.0), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,Inf), interval(-Inf,Inf), interval(0.0, 1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,Inf), interval(-Inf,Inf), interval(0.0, 1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,4.0), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(0.0,2.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(0.0,Inf), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(-Inf,2.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(-Inf,Inf), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(0.0,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(0.0,2.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(0.0,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(0.0,Inf), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(-Inf,2.0), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(-Inf,2.0), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(-Inf,Inf), interval(1.0, Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(-Inf,Inf), interval(1.0, Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(0.5,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(0.5,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(0.5,2.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(0.5,2.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(0.5,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(0.5,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,4.0), interval(0.5,2.0), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,4.0), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,4.0), interval(0.5,Inf), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,Inf), interval(0.5,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,Inf), interval(0.5,2.0), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,Inf), interval(0.5,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test pow_rev1(interval(0.0,Inf), interval(0.5,Inf), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,4.0), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(0.5,2.0), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(0.5,Inf), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(0.5,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(0.5,2.0), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(0.5,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(0.5,Inf), interval(1.0,Inf)) === Interval(1.0, Inf) - @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,4.0), interval(1.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,4.0), interval(1.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,2.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,Inf), interval(1.0,2.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev1(interval(0.0,Inf), interval(1.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test_broken pow_rev1(interval(0.0,4.0), interval(1.0,2.0), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test_skip pow_rev1(interval(0.0,4.0), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test_broken pow_rev1(interval(0.0,4.0), interval(1.0,Inf), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,2.0), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test_broken pow_rev1(interval(0.0,Inf), interval(1.0,2.0), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test_skip pow_rev1(interval(0.0,Inf), interval(1.0,Inf), interval(0.0,1.0)) == Interval(0.0, 1.0) + @test_broken pow_rev1(interval(0.0,Inf), interval(1.0,Inf), interval(0.0,1.0)) === Interval(0.0, 1.0) - @test pow_rev1(interval(0.0,4.0), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(1.0,2.0), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(1.0,Inf), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(1.0,2.0), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(1.0,2.0), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(1.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(1.0,Inf), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(2.0,4.0), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(2.0,4.0), entireinterval()) === Interval(0x1.306FE0A31B715p0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(2.0,Inf), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(2.0,Inf), entireinterval()) === Interval(0x1.306FE0A31B715p0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(2.0,4.0), entireinterval()) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(2.0,4.0), entireinterval()) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(2.0,Inf), entireinterval()) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(2.0,Inf), entireinterval()) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(2.0,4.0), interval(0.0,1.0)) == emptyinterval() + @test pow_rev1(interval(0.0,4.0), interval(2.0,4.0), interval(0.0,1.0)) === emptyinterval() - @test pow_rev1(interval(0.0,4.0), interval(2.0,Inf), interval(0.0,1.0)) == emptyinterval() + @test pow_rev1(interval(0.0,4.0), interval(2.0,Inf), interval(0.0,1.0)) === emptyinterval() - @test_skip pow_rev1(interval(0.0,Inf), interval(2.0,4.0), interval(0.0,1.0)) == emptyinterval() + @test_broken pow_rev1(interval(0.0,Inf), interval(2.0,4.0), interval(0.0,1.0)) === emptyinterval() - @test_skip pow_rev1(interval(0.0,Inf), interval(2.0,Inf), interval(0.0,1.0)) == emptyinterval() + @test_broken pow_rev1(interval(0.0,Inf), interval(2.0,Inf), interval(0.0,1.0)) === emptyinterval() - @test pow_rev1(interval(0.0,4.0), interval(2.0,4.0), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(2.0,4.0), interval(1.0,Inf)) === Interval(0x1.306FE0A31B715p0, Inf) - @test pow_rev1(interval(0.0,4.0), interval(2.0,Inf), interval(1.0,Inf)) == Interval(0x1.306FE0A31B715p0, Inf) + @test pow_rev1(interval(0.0,4.0), interval(2.0,Inf), interval(1.0,Inf)) === Interval(0x1.306FE0A31B715p0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(2.0,4.0), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(2.0,4.0), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(0.0,Inf), interval(2.0,Inf), interval(1.0,Inf)) == Interval(1.0, Inf) + @test pow_rev1(interval(0.0,Inf), interval(2.0,Inf), interval(1.0,Inf)) === Interval(1.0, Inf) - @test pow_rev1(interval(2.0,4.0), interval(0.0,0.5), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test pow_rev1(interval(2.0,4.0), interval(0.0,0.5), entireinterval()) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(interval(2.0,4.0), interval(-Inf,0.5), entireinterval()) == Interval(0.0, 0x1.AE89F995AD3AEp-1) + @test pow_rev1(interval(2.0,4.0), interval(-Inf,0.5), entireinterval()) === Interval(0.0, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(interval(2.0,Inf), interval(0.0,0.5), entireinterval()) == Interval(0.0, 1.0) + @test pow_rev1(interval(2.0,Inf), interval(0.0,0.5), entireinterval()) === Interval(0.0, 1.0) - @test pow_rev1(interval(2.0,Inf), interval(-Inf,0.5), entireinterval()) == Interval(0.0, 1.0) + @test pow_rev1(interval(2.0,Inf), interval(-Inf,0.5), entireinterval()) === Interval(0.0, 1.0) - @test pow_rev1(interval(2.0,4.0), interval(0.25,0.5), entireinterval()) == Interval(0.5, 0x1.AE89F995AD3AEp-1) + @test pow_rev1(interval(2.0,4.0), interval(0.25,0.5), entireinterval()) === Interval(0.5, 0x1.AE89F995AD3AEp-1) - @test pow_rev1(interval(2.0,Inf), interval(0.25,0.5), entireinterval()) == Interval(0.5, 1.0) + @test pow_rev1(interval(2.0,Inf), interval(0.25,0.5), entireinterval()) === Interval(0.5, 1.0) - @test pow_rev1(interval(2.0,4.0), interval(0.25,1.0), entireinterval()) == Interval(0.5, 1.0) + @test pow_rev1(interval(2.0,4.0), interval(0.25,1.0), entireinterval()) === Interval(0.5, 1.0) - @test pow_rev1(interval(2.0,4.0), interval(1.0,1.0), entireinterval()) == Interval(1.0, 1.0) + @test pow_rev1(interval(2.0,4.0), interval(1.0,1.0), entireinterval()) === Interval(1.0, 1.0) - @test pow_rev1(interval(2.0,Inf), interval(0.25,1.0), entireinterval()) == Interval(0.5, 1.0) + @test pow_rev1(interval(2.0,Inf), interval(0.25,1.0), entireinterval()) === Interval(0.5, 1.0) - @test pow_rev1(interval(2.0,Inf), interval(1.0,1.0), entireinterval()) == Interval(1.0, 1.0) + @test pow_rev1(interval(2.0,Inf), interval(1.0,1.0), entireinterval()) === Interval(1.0, 1.0) - @test pow_rev1(interval(2.0,4.0), interval(0.0,1.0), entireinterval()) == Interval(0.0, 1.0) + @test pow_rev1(interval(2.0,4.0), interval(0.0,1.0), entireinterval()) === Interval(0.0, 1.0) - @test pow_rev1(interval(2.0,Inf), interval(0.0,1.0), entireinterval()) == Interval(0.0, 1.0) + @test pow_rev1(interval(2.0,Inf), interval(0.0,1.0), entireinterval()) === Interval(0.0, 1.0) - @test pow_rev1(interval(2.0,4.0), interval(0.0,2.0), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + @test pow_rev1(interval(2.0,4.0), interval(0.0,2.0), entireinterval()) === Interval(0.0, 0x1.6A09E667F3BCDp0) - @test pow_rev1(interval(2.0,4.0), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(2.0,4.0), interval(0.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(2.0,4.0), interval(-Inf,2.0), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + @test pow_rev1(interval(2.0,4.0), interval(-Inf,2.0), entireinterval()) === Interval(0.0, 0x1.6A09E667F3BCDp0) - @test pow_rev1(interval(2.0,4.0), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(2.0,4.0), interval(-Inf,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(2.0,Inf), interval(0.0,2.0), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + @test pow_rev1(interval(2.0,Inf), interval(0.0,2.0), entireinterval()) === Interval(0.0, 0x1.6A09E667F3BCDp0) - @test pow_rev1(interval(2.0,Inf), interval(0.0,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(2.0,Inf), interval(0.0,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(2.0,Inf), interval(-Inf,2.0), entireinterval()) == Interval(0.0, 0x1.6A09E667F3BCDp0) + @test pow_rev1(interval(2.0,Inf), interval(-Inf,2.0), entireinterval()) === Interval(0.0, 0x1.6A09E667F3BCDp0) - @test pow_rev1(interval(2.0,Inf), interval(-Inf,Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev1(interval(2.0,Inf), interval(-Inf,Inf), entireinterval()) === Interval(0.0, Inf) - @test pow_rev1(interval(2.0,4.0), interval(0.5,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 0x1.6A09E667F3BCDp0) + @test pow_rev1(interval(2.0,4.0), interval(0.5,2.0), entireinterval()) === Interval(0x1.6A09E667F3BCCp-1, 0x1.6A09E667F3BCDp0) - @test pow_rev1(interval(2.0,4.0), interval(0.5,Inf), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + @test pow_rev1(interval(2.0,4.0), interval(0.5,Inf), entireinterval()) === Interval(0x1.6A09E667F3BCCp-1, Inf) - @test pow_rev1(interval(2.0,Inf), interval(0.5,2.0), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, 0x1.6A09E667F3BCDp0) + @test pow_rev1(interval(2.0,Inf), interval(0.5,2.0), entireinterval()) === Interval(0x1.6A09E667F3BCCp-1, 0x1.6A09E667F3BCDp0) - @test pow_rev1(interval(2.0,Inf), interval(0.5,Inf), entireinterval()) == Interval(0x1.6A09E667F3BCCp-1, Inf) + @test pow_rev1(interval(2.0,Inf), interval(0.5,Inf), entireinterval()) === Interval(0x1.6A09E667F3BCCp-1, Inf) - @test pow_rev1(interval(2.0,4.0), interval(1.0,2.0), entireinterval()) == Interval(1.0, 0x1.6A09E667F3BCDp0) + @test pow_rev1(interval(2.0,4.0), interval(1.0,2.0), entireinterval()) === Interval(1.0, 0x1.6A09E667F3BCDp0) - @test pow_rev1(interval(2.0,4.0), interval(1.0,Inf), entireinterval()) == Interval(1.0, Inf) + @test pow_rev1(interval(2.0,4.0), interval(1.0,Inf), entireinterval()) === Interval(1.0, Inf) - @test pow_rev1(interval(2.0,Inf), interval(1.0,2.0), entireinterval()) == Interval(1.0, 0x1.6A09E667F3BCDp0) + @test pow_rev1(interval(2.0,Inf), interval(1.0,2.0), entireinterval()) === Interval(1.0, 0x1.6A09E667F3BCDp0) - @test pow_rev1(interval(2.0,Inf), interval(1.0,Inf), entireinterval()) == Interval(1.0, Inf) + @test pow_rev1(interval(2.0,Inf), interval(1.0,Inf), entireinterval()) === Interval(1.0, Inf) - @test pow_rev1(interval(2.0,4.0), interval(2.0,4.0), entireinterval()) == Interval(0x1.306FE0A31B715p0, 2.0) + @test pow_rev1(interval(2.0,4.0), interval(2.0,4.0), entireinterval()) === Interval(0x1.306FE0A31B715p0, 2.0) - @test pow_rev1(interval(2.0,4.0), interval(2.0,Inf), entireinterval()) == Interval(0x1.306FE0A31B715p0, Inf) + @test pow_rev1(interval(2.0,4.0), interval(2.0,Inf), entireinterval()) === Interval(0x1.306FE0A31B715p0, Inf) - @test pow_rev1(interval(2.0,Inf), interval(2.0,4.0), entireinterval()) == Interval(1.0, 2.0) + @test pow_rev1(interval(2.0,Inf), interval(2.0,4.0), entireinterval()) === Interval(1.0, 2.0) - @test pow_rev1(interval(2.0,Inf), interval(2.0,Inf), entireinterval()) == Interval(1.0, Inf) + @test pow_rev1(interval(2.0,Inf), interval(2.0,Inf), entireinterval()) === Interval(1.0, Inf) end @testset "minimal.powRev2_test" begin - @test pow_rev2(emptyinterval(), emptyinterval(), emptyinterval()) == emptyinterval() + @test pow_rev2(emptyinterval(), emptyinterval(), emptyinterval()) === emptyinterval() - @test pow_rev2(emptyinterval(), entireinterval(), emptyinterval()) == emptyinterval() + @test pow_rev2(emptyinterval(), entireinterval(), emptyinterval()) === emptyinterval() - @test pow_rev2(entireinterval(), emptyinterval(), emptyinterval()) == emptyinterval() + @test pow_rev2(entireinterval(), emptyinterval(), emptyinterval()) === emptyinterval() - @test pow_rev2(entireinterval(), entireinterval(), emptyinterval()) == emptyinterval() + @test pow_rev2(entireinterval(), entireinterval(), emptyinterval()) === emptyinterval() - @test pow_rev2(emptyinterval(), emptyinterval(), entireinterval()) == emptyinterval() + @test pow_rev2(emptyinterval(), emptyinterval(), entireinterval()) === emptyinterval() - @test pow_rev2(emptyinterval(), entireinterval(), entireinterval()) == emptyinterval() + @test pow_rev2(emptyinterval(), entireinterval(), entireinterval()) === emptyinterval() - @test pow_rev2(entireinterval(), emptyinterval(), entireinterval()) == emptyinterval() + @test pow_rev2(entireinterval(), emptyinterval(), entireinterval()) === emptyinterval() - @test pow_rev2(entireinterval(), entireinterval(), entireinterval()) == entireinterval() + @test pow_rev2(entireinterval(), entireinterval(), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, 0.0), interval(-Inf, -0.1), entireinterval()) == emptyinterval() + @test pow_rev2(interval(0.0, 0.0), interval(-Inf, -0.1), entireinterval()) === emptyinterval() - @test pow_rev2(interval(0.0, 0.0), interval(0.1, Inf), entireinterval()) == emptyinterval() + @test pow_rev2(interval(0.0, 0.0), interval(0.1, Inf), entireinterval()) === emptyinterval() - @test pow_rev2(interval(0.0, 0.0), interval(0.0, 0.0), interval(-Inf, 0.0)) == emptyinterval() + @test pow_rev2(interval(0.0, 0.0), interval(0.0, 0.0), interval(-Inf, 0.0)) === emptyinterval() - @test_skip pow_rev2(interval(-Inf, 0.9), interval(0.0, 0.9), interval(-Inf, 0.0)) == emptyinterval() + @test_broken pow_rev2(interval(-Inf, 0.9), interval(0.0, 0.9), interval(-Inf, 0.0)) === emptyinterval() - @test_skip pow_rev2(interval(1.1, Inf), interval(1.1, Inf), interval(-Inf, 0.0)) == emptyinterval() + @test_broken pow_rev2(interval(1.1, Inf), interval(1.1, Inf), interval(-Inf, 0.0)) === emptyinterval() - @test_skip pow_rev2(interval(-Inf, 0.9), interval(1.1, Inf), interval(0.0, Inf)) == emptyinterval() + @test_broken pow_rev2(interval(-Inf, 0.9), interval(1.1, Inf), interval(0.0, Inf)) === emptyinterval() - @test_skip pow_rev2(interval(1.1, Inf), interval(0.0, 0.9), interval(0.0, Inf)) == emptyinterval() + @test_broken pow_rev2(interval(1.1, Inf), interval(0.0, 0.9), interval(0.0, Inf)) === emptyinterval() - @test_skip pow_rev2(interval(0.0, 0.0), interval(0.0, 0.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev2(interval(0.0, 0.0), interval(0.0, 0.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(-Inf, 0.0), interval(-Inf, 0.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test_broken pow_rev2(interval(-Inf, 0.0), interval(-Inf, 0.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(-Inf, 0.0), interval(-Inf, 0.0), interval(1.0, 2.0)) == Interval(1.0, 2.0) + @test_broken pow_rev2(interval(-Inf, 0.0), interval(-Inf, 0.0), interval(1.0, 2.0)) === Interval(1.0, 2.0) - @test_skip pow_rev2(entireinterval(), interval(0.0, 0.0), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev2(entireinterval(), interval(0.0, 0.0), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev2(entireinterval(), interval(-Inf, 0.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test_broken pow_rev2(entireinterval(), interval(-Inf, 0.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(entireinterval(), interval(-Inf, 0.0), interval(1.0, 2.0)) == Interval(1.0, 2.0) + @test_broken pow_rev2(entireinterval(), interval(-Inf, 0.0), interval(1.0, 2.0)) === Interval(1.0, 2.0) - @test_skip pow_rev2(interval(0.0, 0.0), entireinterval(), entireinterval()) == Interval(0.0, Inf) + @test_broken pow_rev2(interval(0.0, 0.0), entireinterval(), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(-Inf, 0.0), entireinterval(), interval(0.0, Inf)) == Interval(0.0, Inf) + @test_broken pow_rev2(interval(-Inf, 0.0), entireinterval(), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(-Inf, 0.0), entireinterval(), interval(1.0, 2.0)) == Interval(1.0, 2.0) + @test_broken pow_rev2(interval(-Inf, 0.0), entireinterval(), interval(1.0, 2.0)) === Interval(1.0, 2.0) - @test_skip pow_rev2(interval(1.0, 1.0), entireinterval(), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, 1.0), entireinterval(), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(1.0, 1.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, 1.0), interval(1.0, 1.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(1.0, 1.0), interval(1.0, 1.0), interval(2.0, 3.0)) == Interval(2.0, 3.0) + @test_broken pow_rev2(interval(1.0, 1.0), interval(1.0, 1.0), interval(2.0, 3.0)) === Interval(2.0, 3.0) - @test_skip pow_rev2(entireinterval(), interval(1.0, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(entireinterval(), interval(1.0, 1.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(entireinterval(), interval(1.0, 1.0), interval(2.0, 3.0)) == Interval(2.0, 3.0) + @test_broken pow_rev2(entireinterval(), interval(1.0, 1.0), interval(2.0, 3.0)) === Interval(2.0, 3.0) - @test pow_rev2(interval(2.0, 3.0), interval(1.0, 1.0), entireinterval()) == Interval(0.0, 0.0) + @test pow_rev2(interval(2.0, 3.0), interval(1.0, 1.0), entireinterval()) === Interval(0.0, 0.0) - @test pow_rev2(interval(2.0, 3.0), interval(1.0, 1.0), interval(2.0, 3.0)) == emptyinterval() + @test pow_rev2(interval(2.0, 3.0), interval(1.0, 1.0), interval(2.0, 3.0)) === emptyinterval() - @test pow_rev2(interval(0.0, 0.5), interval(0.0, 0.5), entireinterval()) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 0.5), interval(0.0, 0.5), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(0.0, 0.5), interval(0.0, 0.5), interval(-Inf, 0.0)) == emptyinterval() + @test_broken pow_rev2(interval(0.0, 0.5), interval(0.0, 0.5), interval(-Inf, 0.0)) === emptyinterval() - @test_skip pow_rev2(interval(0.0, 0.5), interval(0.25, 0.5), entireinterval()) == Interval(0.0, 2.0) + @test_broken pow_rev2(interval(0.0, 0.5), interval(0.25, 0.5), entireinterval()) === Interval(0.0, 2.0) - @test_skip pow_rev2(interval(0.0, 0.25), interval(0.5, 1.0), entireinterval()) == Interval(0.0, 0.5) + @test_broken pow_rev2(interval(0.0, 0.25), interval(0.5, 1.0), entireinterval()) === Interval(0.0, 0.5) - @test pow_rev2(interval(0.0, 0.25), interval(1.0, 1.0), entireinterval()) == Interval(0.0, 0.0) + @test pow_rev2(interval(0.0, 0.25), interval(1.0, 1.0), entireinterval()) === Interval(0.0, 0.0) - @test pow_rev2(interval(0.0, 0.25), interval(0.0, 1.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 0.25), interval(0.0, 1.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 0.25), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(0.0, 0.0) + @test pow_rev2(interval(0.0, 0.25), interval(0.0, 1.0), interval(-Inf, 0.0)) === Interval(0.0, 0.0) - @test_skip pow_rev2(interval(0.0, 0.25), interval(0.0, 2.0), entireinterval()) == Interval(-0.5, Inf) + @test_broken pow_rev2(interval(0.0, 0.25), interval(0.0, 2.0), entireinterval()) === Interval(-0.5, Inf) - @test pow_rev2(interval(0.0, 0.25), interval(0.0, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, 0.25), interval(0.0, Inf), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.0, 0.25), interval(0.5, 2.0), entireinterval()) == Interval(-0.5, 0.5) + @test_broken pow_rev2(interval(0.0, 0.25), interval(0.5, 2.0), entireinterval()) === Interval(-0.5, 0.5) - @test_skip pow_rev2(interval(0.0, 0.25), interval(0.5, Inf), entireinterval()) == Interval(-Inf, 0.5) + @test_broken pow_rev2(interval(0.0, 0.25), interval(0.5, Inf), entireinterval()) === Interval(-Inf, 0.5) - @test_skip pow_rev2(interval(0.0, 0.25), interval(1.0, 2.0), entireinterval()) == Interval(-0.5, 0.0) + @test_broken pow_rev2(interval(0.0, 0.25), interval(1.0, 2.0), entireinterval()) === Interval(-0.5, 0.0) - @test pow_rev2(interval(0.0, 0.25), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, 0.0) + @test pow_rev2(interval(0.0, 0.25), interval(1.0, 2.0), interval(0.0, Inf)) === Interval(0.0, 0.0) - @test pow_rev2(interval(0.0, 0.25), interval(1.0, Inf), entireinterval()) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 0.25), interval(1.0, Inf), entireinterval()) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, 0.25), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, 0.0) + @test pow_rev2(interval(0.0, 0.25), interval(1.0, Inf), interval(0.0, Inf)) === Interval(0.0, 0.0) - @test_skip pow_rev2(interval(0.0, 0.25), interval(2.0, 4.0), entireinterval()) == Interval(-1.0, 0.0) + @test_broken pow_rev2(interval(0.0, 0.25), interval(2.0, 4.0), entireinterval()) === Interval(-1.0, 0.0) - @test_skip pow_rev2(interval(0.0, 0.25), interval(2.0, 4.0), interval(0.0, Inf)) == emptyinterval() + @test_broken pow_rev2(interval(0.0, 0.25), interval(2.0, 4.0), interval(0.0, Inf)) === emptyinterval() - @test pow_rev2(interval(0.0, 0.25), interval(2.0, Inf), entireinterval()) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 0.25), interval(2.0, Inf), entireinterval()) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(0.0, 0.25), interval(2.0, Inf), interval(0.0, Inf)) == emptyinterval() + @test_broken pow_rev2(interval(0.0, 0.25), interval(2.0, Inf), interval(0.0, Inf)) === emptyinterval() - @test_skip pow_rev2(interval(0.25, 0.5), interval(0.0, 0.5), entireinterval()) == Interval(0.5, Inf) + @test_broken pow_rev2(interval(0.25, 0.5), interval(0.0, 0.5), entireinterval()) === Interval(0.5, Inf) - @test_skip pow_rev2(interval(0.25, 0.5), interval(0.25, 0.5), entireinterval()) == Interval(0.5, 2.0) + @test_broken pow_rev2(interval(0.25, 0.5), interval(0.25, 0.5), entireinterval()) === Interval(0.5, 2.0) - @test_skip pow_rev2(interval(0.25, 0.5), interval(0.5, 1.0), entireinterval()) == Interval(0.0, 1.0) + @test_broken pow_rev2(interval(0.25, 0.5), interval(0.5, 1.0), entireinterval()) === Interval(0.0, 1.0) - @test pow_rev2(interval(0.25, 0.5), interval(1.0, 1.0), entireinterval()) == Interval(0.0, 0.0) + @test pow_rev2(interval(0.25, 0.5), interval(1.0, 1.0), entireinterval()) === Interval(0.0, 0.0) - @test pow_rev2(interval(0.25, 0.5), interval(0.0, 1.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev2(interval(0.25, 0.5), interval(0.0, 1.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev2(interval(0.25, 0.5), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(0.0, 0.0) + @test pow_rev2(interval(0.25, 0.5), interval(0.0, 1.0), interval(-Inf, 0.0)) === Interval(0.0, 0.0) - @test_skip pow_rev2(interval(0.25, 0.5), interval(0.0, 2.0), entireinterval()) == Interval(-1.0, Inf) + @test_broken pow_rev2(interval(0.25, 0.5), interval(0.0, 2.0), entireinterval()) === Interval(-1.0, Inf) - @test pow_rev2(interval(0.25, 0.5), interval(0.0, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.25, 0.5), interval(0.0, Inf), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.25, 0.5), interval(0.5, 2.0), entireinterval()) == Interval(-1.0, 1.0) + @test_broken pow_rev2(interval(0.25, 0.5), interval(0.5, 2.0), entireinterval()) === Interval(-1.0, 1.0) - @test_skip pow_rev2(interval(0.25, 0.5), interval(0.5, Inf), entireinterval()) == Interval(-Inf, 1.0) + @test_broken pow_rev2(interval(0.25, 0.5), interval(0.5, Inf), entireinterval()) === Interval(-Inf, 1.0) - @test_skip pow_rev2(interval(0.25, 0.5), interval(1.0, 2.0), entireinterval()) == Interval(-1.0, 0.0) + @test_broken pow_rev2(interval(0.25, 0.5), interval(1.0, 2.0), entireinterval()) === Interval(-1.0, 0.0) - @test pow_rev2(interval(0.25, 0.5), interval(1.0, Inf), entireinterval()) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.25, 0.5), interval(1.0, Inf), entireinterval()) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(0.25, 0.5), interval(2.0, 4.0), entireinterval()) == Interval(-2.0, -0.5) + @test_broken pow_rev2(interval(0.25, 0.5), interval(2.0, 4.0), entireinterval()) === Interval(-2.0, -0.5) - @test_skip pow_rev2(interval(0.25, 0.5), interval(2.0, Inf), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(0.25, 0.5), interval(2.0, Inf), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.25, 1.0), interval(0.0, 0.5), entireinterval()) == Interval(0.5, Inf) + @test_broken pow_rev2(interval(0.25, 1.0), interval(0.0, 0.5), entireinterval()) === Interval(0.5, Inf) - @test pow_rev2(interval(1.0, 1.0), interval(0.0, 0.5), entireinterval()) == emptyinterval() + @test pow_rev2(interval(1.0, 1.0), interval(0.0, 0.5), entireinterval()) === emptyinterval() - @test_skip pow_rev2(interval(0.25, 1.0), interval(0.25, 0.5), entireinterval()) == Interval(0.5, Inf) + @test_broken pow_rev2(interval(0.25, 1.0), interval(0.25, 0.5), entireinterval()) === Interval(0.5, Inf) - @test pow_rev2(interval(1.0, 1.0), interval(0.25, 0.5), entireinterval()) == emptyinterval() + @test pow_rev2(interval(1.0, 1.0), interval(0.25, 0.5), entireinterval()) === emptyinterval() - @test_skip pow_rev2(interval(0.25, 1.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(0.25, 1.0), interval(0.5, 1.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.25, 1.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(0.25, 1.0), interval(1.0, 1.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(1.0, 1.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, 1.0), interval(0.5, 1.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(1.0, 1.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, 1.0), interval(1.0, 1.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.25, 1.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(0.25, 1.0), interval(0.0, 1.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(1.0, 1.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, 1.0), interval(0.0, 1.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.25, 1.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.25, 1.0), interval(0.0, 2.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(1.0, 1.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, 1.0), interval(0.0, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.25, 1.0), interval(0.0, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.25, 1.0), interval(0.0, Inf), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(1.0, 1.0), interval(0.0, Inf), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, 1.0), interval(0.0, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.25, 1.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.25, 1.0), interval(0.5, 2.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(1.0, 1.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, 1.0), interval(0.5, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.25, 1.0), interval(0.5, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.25, 1.0), interval(0.5, Inf), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(1.0, 1.0), interval(0.5, Inf), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, 1.0), interval(0.5, Inf), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.25, 1.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(0.25, 1.0), interval(1.0, 2.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(1.0, 1.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, 1.0), interval(1.0, 2.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.25, 1.0), interval(1.0, Inf), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(0.25, 1.0), interval(1.0, Inf), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(1.0, 1.0), interval(1.0, Inf), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, 1.0), interval(1.0, Inf), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.25, 1.0), interval(2.0, 4.0), entireinterval()) == Interval(-Inf, -0.5) + @test_broken pow_rev2(interval(0.25, 1.0), interval(2.0, 4.0), entireinterval()) === Interval(-Inf, -0.5) - @test pow_rev2(interval(1.0, 1.0), interval(2.0, 4.0), entireinterval()) == emptyinterval() + @test pow_rev2(interval(1.0, 1.0), interval(2.0, 4.0), entireinterval()) === emptyinterval() - @test_skip pow_rev2(interval(0.25, 1.0), interval(2.0, Inf), entireinterval()) == Interval(-Inf, 0.0) + @test_broken pow_rev2(interval(0.25, 1.0), interval(2.0, Inf), entireinterval()) === Interval(-Inf, 0.0) - @test pow_rev2(interval(1.0, 1.0), interval(2.0, Inf), entireinterval()) == emptyinterval() + @test pow_rev2(interval(1.0, 1.0), interval(2.0, Inf), entireinterval()) === emptyinterval() - @test pow_rev2(interval(0.0, 1.0), interval(0.0, 0.5), entireinterval()) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 0.5), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(0.0, 1.0), interval(0.0, 0.5), interval(-Inf, 0.0)) == emptyinterval() + @test_broken pow_rev2(interval(0.0, 1.0), interval(0.0, 0.5), interval(-Inf, 0.0)) === emptyinterval() - @test pow_rev2(interval(0.0, 1.0), interval(0.0, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 0.5), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 1.0), interval(0.25, 0.5), entireinterval()) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 1.0), interval(0.25, 0.5), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(0.0, 1.0), interval(0.25, 0.5), interval(-Inf, 0.0)) == emptyinterval() + @test_broken pow_rev2(interval(0.0, 1.0), interval(0.25, 0.5), interval(-Inf, 0.0)) === emptyinterval() - @test pow_rev2(interval(0.0, 1.0), interval(0.25, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 1.0), interval(0.25, 0.5), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(0.0, 1.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(0.0, 1.0), interval(0.5, 1.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(0.0, 1.0), interval(1.0, 1.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.0, 1.0), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test_broken pow_rev2(interval(0.0, 1.0), interval(0.5, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test_broken pow_rev2(interval(0.0, 1.0), interval(1.0, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, 1.0), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 1.0), interval(0.5, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test_broken pow_rev2(interval(0.0, 1.0), interval(1.0, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(0.0, 1.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(0.0, 1.0), interval(0.0, 1.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.0, 1.0), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test_broken pow_rev2(interval(0.0, 1.0), interval(0.0, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, 1.0), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 1.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, 1.0), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, 1.0), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 1.0), interval(0.0, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 1.0), interval(0.0, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, 1.0), interval(0.0, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, 1.0), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 1.0), interval(0.0, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, 1.0), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 1.0), interval(0.0, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 1.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, 1.0), interval(0.5, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, 1.0), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 1.0), interval(0.5, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, 1.0), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 1.0), interval(0.5, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 1.0), interval(0.5, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, 1.0), interval(0.5, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, 1.0), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 1.0), interval(0.5, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, 1.0), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 1.0), interval(0.5, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(0.0, 1.0), interval(1.0, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, 1.0), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 1.0), interval(1.0, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test_broken pow_rev2(interval(0.0, 1.0), interval(1.0, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, Inf), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(0.0, 1.0), interval(1.0, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, 1.0), interval(1.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 1.0), interval(1.0, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(0.0, 1.0), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test_broken pow_rev2(interval(0.0, 1.0), interval(1.0, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 1.0), interval(2.0, 4.0), entireinterval()) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 1.0), interval(2.0, 4.0), entireinterval()) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, 1.0), interval(2.0, 4.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 1.0), interval(2.0, 4.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(0.0, 1.0), interval(2.0, 4.0), interval(0.0, Inf)) == emptyinterval() + @test_broken pow_rev2(interval(0.0, 1.0), interval(2.0, 4.0), interval(0.0, Inf)) === emptyinterval() - @test pow_rev2(interval(0.0, 1.0), interval(2.0, Inf), entireinterval()) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 1.0), interval(2.0, Inf), entireinterval()) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, 1.0), interval(2.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 1.0), interval(2.0, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(0.0, 1.0), interval(2.0, Inf), interval(0.0, Inf)) == emptyinterval() + @test_broken pow_rev2(interval(0.0, 1.0), interval(2.0, Inf), interval(0.0, Inf)) === emptyinterval() - @test pow_rev2(interval(0.0, 2.0), interval(0.0, 0.5), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 0.5), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.0, 2.0), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + @test_broken pow_rev2(interval(0.0, 2.0), interval(0.0, 0.5), interval(-Inf, 0.0)) === Interval(-Inf, -1.0) - @test pow_rev2(interval(0.0, 2.0), interval(0.0, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 0.5), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, Inf), interval(0.0, 0.5), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, Inf), interval(0.0, 0.5), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, Inf), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, Inf), interval(0.0, 0.5), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, Inf), interval(0.0, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, Inf), interval(0.0, 0.5), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 2.0), interval(0.25, 0.5), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, 2.0), interval(0.25, 0.5), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.0, 2.0), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + @test_broken pow_rev2(interval(0.0, 2.0), interval(0.25, 0.5), interval(-Inf, 0.0)) === Interval(-Inf, -1.0) - @test pow_rev2(interval(0.0, 2.0), interval(0.25, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 2.0), interval(0.25, 0.5), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, Inf), interval(0.25, 0.5), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, Inf), interval(0.25, 0.5), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, Inf), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -0.0) + @test pow_rev2(interval(0.0, Inf), interval(0.25, 0.5), interval(-Inf, 0.0)) === Interval(-Inf, -0.0) - @test pow_rev2(interval(0.0, Inf), interval(0.25, 0.5), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, Inf), interval(0.25, 0.5), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 2.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 1.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.0, 2.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(0.0, 2.0), interval(1.0, 1.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, 2.0), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(0.0, 2.0), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test_broken pow_rev2(interval(0.0, 2.0), interval(1.0, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, 2.0), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(0.0, 2.0), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test_broken pow_rev2(interval(0.0, 2.0), interval(1.0, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, Inf), interval(0.5, 1.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, Inf), interval(0.5, 1.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.0, Inf), interval(1.0, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(0.0, Inf), interval(1.0, 1.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, Inf), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, Inf), interval(0.5, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(0.0, Inf), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test_broken pow_rev2(interval(0.0, Inf), interval(1.0, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, Inf), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, Inf), interval(0.5, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(0.0, Inf), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test_broken pow_rev2(interval(0.0, Inf), interval(1.0, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 2.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 1.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, 2.0), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, 2.0), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, Inf), interval(0.0, 1.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, Inf), interval(0.0, 1.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, Inf), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, Inf), interval(0.0, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, Inf), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, Inf), interval(0.0, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 2.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, 2.0), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, 2.0), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 2.0), interval(0.0, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, Inf), interval(0.0, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, Inf), interval(0.0, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, Inf), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, Inf), interval(0.0, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, Inf), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, Inf), interval(0.0, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 2.0), interval(0.0, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, 2.0), interval(0.0, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, 2.0), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 2.0), interval(0.0, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, 2.0), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 2.0), interval(0.0, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, Inf), interval(0.0, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, Inf), interval(0.0, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, Inf), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, Inf), interval(0.0, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, Inf), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, Inf), interval(0.0, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 2.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, 2.0), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, 2.0), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 2.0), interval(0.5, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, Inf), interval(0.5, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, Inf), interval(0.5, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, Inf), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, Inf), interval(0.5, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, Inf), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, Inf), interval(0.5, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 2.0), interval(0.5, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, 2.0), interval(0.5, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, 2.0), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 2.0), interval(0.5, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, 2.0), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 2.0), interval(0.5, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, Inf), interval(0.5, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, Inf), interval(0.5, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, Inf), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, Inf), interval(0.5, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, Inf), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, Inf), interval(0.5, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 2.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, 2.0), interval(1.0, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, 2.0), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 2.0), interval(1.0, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, 2.0), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 2.0), interval(1.0, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, Inf), interval(1.0, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, Inf), interval(1.0, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, Inf), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, Inf), interval(1.0, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, Inf), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, Inf), interval(1.0, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 2.0), interval(1.0, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, 2.0), interval(1.0, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, 2.0), interval(1.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 2.0), interval(1.0, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, 2.0), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, 2.0), interval(1.0, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, Inf), interval(1.0, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, Inf), interval(1.0, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, Inf), interval(1.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, Inf), interval(1.0, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, Inf), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, Inf), interval(1.0, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 2.0), interval(2.0, 4.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, 2.0), interval(2.0, 4.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, 2.0), interval(2.0, 4.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 2.0), interval(2.0, 4.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(0.0, 2.0), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev2(interval(0.0, 2.0), interval(2.0, 4.0), interval(0.0, Inf)) === Interval(1.0, Inf) - @test pow_rev2(interval(0.0, Inf), interval(2.0, 4.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, Inf), interval(2.0, 4.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, Inf), interval(2.0, 4.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, Inf), interval(2.0, 4.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, Inf), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, Inf), interval(2.0, 4.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.0, 2.0), interval(2.0, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, 2.0), interval(2.0, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, 2.0), interval(2.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, 2.0), interval(2.0, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(0.0, 2.0), interval(2.0, Inf), interval(0.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev2(interval(0.0, 2.0), interval(2.0, Inf), interval(0.0, Inf)) === Interval(1.0, Inf) - @test pow_rev2(interval(0.0, Inf), interval(2.0, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.0, Inf), interval(2.0, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.0, Inf), interval(2.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.0, Inf), interval(2.0, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.0, Inf), interval(2.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.0, Inf), interval(2.0, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.5, 2.0), interval(0.0, 0.5), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 0.5), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.5, 2.0), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + @test_broken pow_rev2(interval(0.5, 2.0), interval(0.0, 0.5), interval(-Inf, 0.0)) === Interval(-Inf, -1.0) - @test_skip pow_rev2(interval(0.5, 2.0), interval(0.0, 0.5), interval(0.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev2(interval(0.5, 2.0), interval(0.0, 0.5), interval(0.0, Inf)) === Interval(1.0, Inf) - @test pow_rev2(interval(0.5, Inf), interval(0.0, 0.5), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, Inf), interval(0.0, 0.5), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, Inf), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, Inf), interval(0.0, 0.5), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(0.5, Inf), interval(0.0, 0.5), interval(0.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev2(interval(0.5, Inf), interval(0.0, 0.5), interval(0.0, Inf)) === Interval(1.0, Inf) - @test pow_rev2(interval(0.5, 2.0), interval(0.25, 0.5), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, 2.0), interval(0.25, 0.5), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.5, 2.0), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + @test_broken pow_rev2(interval(0.5, 2.0), interval(0.25, 0.5), interval(-Inf, 0.0)) === Interval(-Inf, -1.0) - @test_skip pow_rev2(interval(0.5, 2.0), interval(0.25, 0.5), interval(0.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev2(interval(0.5, 2.0), interval(0.25, 0.5), interval(0.0, Inf)) === Interval(1.0, Inf) - @test pow_rev2(interval(0.5, Inf), interval(0.25, 0.5), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, Inf), interval(0.25, 0.5), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, Inf), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, Inf), interval(0.25, 0.5), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(0.5, Inf), interval(0.25, 0.5), interval(0.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev2(interval(0.5, Inf), interval(0.25, 0.5), interval(0.0, Inf)) === Interval(1.0, Inf) - @test pow_rev2(interval(0.5, 2.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 1.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.5, 2.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(0.5, 2.0), interval(1.0, 1.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, 2.0), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(0.5, 2.0), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test_broken pow_rev2(interval(0.5, 2.0), interval(1.0, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.5, 2.0), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(0.5, 2.0), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test_broken pow_rev2(interval(0.5, 2.0), interval(1.0, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.5, Inf), interval(0.5, 1.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, Inf), interval(0.5, 1.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.5, Inf), interval(1.0, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(0.5, Inf), interval(1.0, 1.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, Inf), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, Inf), interval(0.5, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(0.5, Inf), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test_broken pow_rev2(interval(0.5, Inf), interval(1.0, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.5, Inf), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.5, Inf), interval(0.5, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(0.5, Inf), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test_broken pow_rev2(interval(0.5, Inf), interval(1.0, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.5, 2.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 1.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, 2.0), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.5, 2.0), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.5, Inf), interval(0.0, 1.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, Inf), interval(0.0, 1.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, Inf), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, Inf), interval(0.0, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.5, Inf), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.5, Inf), interval(0.0, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.5, 2.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, 2.0), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.5, 2.0), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.5, 2.0), interval(0.0, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.5, Inf), interval(0.0, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, Inf), interval(0.0, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, Inf), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, Inf), interval(0.0, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.5, Inf), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.5, Inf), interval(0.0, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.5, 2.0), interval(0.0, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, 2.0), interval(0.0, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, 2.0), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, 2.0), interval(0.0, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.5, 2.0), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.5, 2.0), interval(0.0, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.5, Inf), interval(0.0, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, Inf), interval(0.0, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, Inf), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, Inf), interval(0.0, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.5, Inf), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.5, Inf), interval(0.0, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.5, 2.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, 2.0), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.5, 2.0), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.5, 2.0), interval(0.5, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.5, Inf), interval(0.5, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, Inf), interval(0.5, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, Inf), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, Inf), interval(0.5, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.5, Inf), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.5, Inf), interval(0.5, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.5, 2.0), interval(0.5, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, 2.0), interval(0.5, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, 2.0), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, 2.0), interval(0.5, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.5, 2.0), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.5, 2.0), interval(0.5, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.5, Inf), interval(0.5, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, Inf), interval(0.5, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, Inf), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, Inf), interval(0.5, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.5, Inf), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.5, Inf), interval(0.5, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.5, 2.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, 2.0), interval(1.0, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, 2.0), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, 2.0), interval(1.0, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.5, 2.0), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.5, 2.0), interval(1.0, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.5, Inf), interval(1.0, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, Inf), interval(1.0, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, Inf), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, Inf), interval(1.0, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.5, Inf), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.5, Inf), interval(1.0, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.5, 2.0), interval(1.0, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, 2.0), interval(1.0, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, 2.0), interval(1.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, 2.0), interval(1.0, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.5, 2.0), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.5, 2.0), interval(1.0, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.5, Inf), interval(1.0, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, Inf), interval(1.0, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(0.5, Inf), interval(1.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(0.5, Inf), interval(1.0, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(0.5, Inf), interval(1.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.5, Inf), interval(1.0, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(0.5, 2.0), interval(2.0, 4.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, 2.0), interval(2.0, 4.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.5, 2.0), interval(2.0, 4.0), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + @test_broken pow_rev2(interval(0.5, 2.0), interval(2.0, 4.0), interval(-Inf, 0.0)) === Interval(-Inf, -1.0) - @test_skip pow_rev2(interval(0.5, 2.0), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev2(interval(0.5, 2.0), interval(2.0, 4.0), interval(0.0, Inf)) === Interval(1.0, Inf) - @test pow_rev2(interval(0.5, Inf), interval(2.0, 4.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(0.5, Inf), interval(2.0, 4.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(0.5, Inf), interval(2.0, 4.0), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + @test_broken pow_rev2(interval(0.5, Inf), interval(2.0, 4.0), interval(-Inf, 0.0)) === Interval(-Inf, -1.0) - @test pow_rev2(interval(0.5, Inf), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(0.5, Inf), interval(2.0, 4.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(1.0, 2.0), interval(0.0, 0.5), entireinterval()) == Interval(-Inf, -1.0) + @test_broken pow_rev2(interval(1.0, 2.0), interval(0.0, 0.5), entireinterval()) === Interval(-Inf, -1.0) - @test_skip pow_rev2(interval(1.0, 2.0), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + @test_broken pow_rev2(interval(1.0, 2.0), interval(0.0, 0.5), interval(-Inf, 0.0)) === Interval(-Inf, -1.0) - @test pow_rev2(interval(1.0, 2.0), interval(0.0, 0.5), interval(0.0, Inf)) == emptyinterval() + @test pow_rev2(interval(1.0, 2.0), interval(0.0, 0.5), interval(0.0, Inf)) === emptyinterval() - @test pow_rev2(interval(1.0, Inf), interval(0.0, 0.5), entireinterval()) == Interval(-Inf, 0.0) + @test pow_rev2(interval(1.0, Inf), interval(0.0, 0.5), entireinterval()) === Interval(-Inf, 0.0) - @test pow_rev2(interval(1.0, Inf), interval(0.0, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(1.0, Inf), interval(0.0, 0.5), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(1.0, Inf), interval(0.0, 0.5), interval(0.0, Inf)) == emptyinterval() + @test_broken pow_rev2(interval(1.0, Inf), interval(0.0, 0.5), interval(0.0, Inf)) === emptyinterval() - @test_skip pow_rev2(interval(1.0, 2.0), interval(0.25, 0.5), entireinterval()) == Interval(-Inf, -1.0) + @test_broken pow_rev2(interval(1.0, 2.0), interval(0.25, 0.5), entireinterval()) === Interval(-Inf, -1.0) - @test_skip pow_rev2(interval(1.0, 2.0), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, -1.0) + @test_broken pow_rev2(interval(1.0, 2.0), interval(0.25, 0.5), interval(-Inf, 0.0)) === Interval(-Inf, -1.0) - @test pow_rev2(interval(1.0, 2.0), interval(0.25, 0.5), interval(0.0, Inf)) == emptyinterval() + @test pow_rev2(interval(1.0, 2.0), interval(0.25, 0.5), interval(0.0, Inf)) === emptyinterval() - @test pow_rev2(interval(1.0, Inf), interval(0.25, 0.5), entireinterval()) == Interval(-Inf, 0.0) + @test pow_rev2(interval(1.0, Inf), interval(0.25, 0.5), entireinterval()) === Interval(-Inf, 0.0) - @test pow_rev2(interval(1.0, Inf), interval(0.25, 0.5), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(1.0, Inf), interval(0.25, 0.5), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(1.0, Inf), interval(0.25, 0.5), interval(0.0, Inf)) == emptyinterval() + @test_broken pow_rev2(interval(1.0, Inf), interval(0.25, 0.5), interval(0.0, Inf)) === emptyinterval() - @test_skip pow_rev2(interval(1.0, 2.0), interval(0.5, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, 2.0), interval(0.5, 1.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, 2.0), interval(1.0, 1.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(1.0, 2.0), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(1.0, 2.0), interval(0.5, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test_broken pow_rev2(interval(1.0, 2.0), interval(1.0, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(1.0, 2.0), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test_broken pow_rev2(interval(1.0, 2.0), interval(0.5, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test_broken pow_rev2(interval(1.0, 2.0), interval(1.0, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(1.0, Inf), interval(0.5, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, Inf), interval(0.5, 1.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, Inf), interval(1.0, 1.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(1.0, Inf), interval(0.5, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(1.0, Inf), interval(0.5, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test_broken pow_rev2(interval(1.0, Inf), interval(1.0, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(1.0, Inf), interval(0.5, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test_broken pow_rev2(interval(1.0, Inf), interval(0.5, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test_broken pow_rev2(interval(1.0, Inf), interval(1.0, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(1.0, 2.0), interval(0.0, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, 2.0), interval(0.0, 1.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(1.0, 2.0), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(1.0, 2.0), interval(0.0, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(1.0, 2.0), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test_broken pow_rev2(interval(1.0, 2.0), interval(0.0, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(1.0, Inf), interval(0.0, 1.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, Inf), interval(0.0, 1.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(1.0, Inf), interval(0.0, 1.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(1.0, Inf), interval(0.0, 1.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(1.0, Inf), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test_broken pow_rev2(interval(1.0, Inf), interval(0.0, 1.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(1.0, 2.0), interval(0.0, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(1.0, 2.0), interval(0.0, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(1.0, 2.0), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(1.0, 2.0), interval(0.0, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(1.0, 2.0), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(1.0, 2.0), interval(0.0, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(1.0, Inf), interval(0.0, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(1.0, Inf), interval(0.0, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(1.0, Inf), interval(0.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(1.0, Inf), interval(0.0, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(1.0, Inf), interval(0.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(1.0, Inf), interval(0.0, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(1.0, 2.0), interval(0.0, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(1.0, 2.0), interval(0.0, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(1.0, 2.0), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(1.0, 2.0), interval(0.0, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(1.0, 2.0), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(1.0, 2.0), interval(0.0, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(1.0, Inf), interval(0.0, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(1.0, Inf), interval(0.0, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(1.0, Inf), interval(0.0, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(1.0, Inf), interval(0.0, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(1.0, Inf), interval(0.0, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(1.0, Inf), interval(0.0, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(1.0, 2.0), interval(0.5, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(1.0, 2.0), interval(0.5, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(1.0, 2.0), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(1.0, 2.0), interval(0.5, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(1.0, 2.0), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(1.0, 2.0), interval(0.5, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(1.0, Inf), interval(0.5, 2.0), entireinterval()) == entireinterval() + @test pow_rev2(interval(1.0, Inf), interval(0.5, 2.0), entireinterval()) === entireinterval() - @test pow_rev2(interval(1.0, Inf), interval(0.5, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(1.0, Inf), interval(0.5, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(1.0, Inf), interval(0.5, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(1.0, Inf), interval(0.5, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(1.0, 2.0), interval(0.5, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(1.0, 2.0), interval(0.5, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(1.0, 2.0), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(1.0, 2.0), interval(0.5, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(1.0, 2.0), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(1.0, 2.0), interval(0.5, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(1.0, Inf), interval(0.5, Inf), entireinterval()) == entireinterval() + @test pow_rev2(interval(1.0, Inf), interval(0.5, Inf), entireinterval()) === entireinterval() - @test pow_rev2(interval(1.0, Inf), interval(0.5, Inf), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test pow_rev2(interval(1.0, Inf), interval(0.5, Inf), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(1.0, Inf), interval(0.5, Inf), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(1.0, Inf), interval(0.5, Inf), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, 2.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, 2.0), interval(1.0, 2.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, Inf), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, 2.0), interval(1.0, Inf), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, Inf), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, Inf), interval(1.0, Inf), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, 2.0), entireinterval()) == entireinterval() + @test_broken pow_rev2(interval(1.0, Inf), interval(1.0, 2.0), entireinterval()) === entireinterval() - @test_skip pow_rev2(interval(1.0, 2.0), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test_broken pow_rev2(interval(1.0, 2.0), interval(1.0, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(1.0, Inf), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(-Inf, 0.0) + @test_broken pow_rev2(interval(1.0, Inf), interval(1.0, 2.0), interval(-Inf, 0.0)) === Interval(-Inf, 0.0) - @test pow_rev2(interval(1.0, 2.0), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(1.0, 2.0), interval(1.0, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test pow_rev2(interval(1.0, Inf), interval(1.0, 2.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(1.0, Inf), interval(1.0, 2.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(1.0, 2.0), interval(2.0, 4.0), entireinterval()) == Interval(1.0, Inf) + @test_broken pow_rev2(interval(1.0, 2.0), interval(2.0, 4.0), entireinterval()) === Interval(1.0, Inf) - @test pow_rev2(interval(1.0, Inf), interval(2.0, 4.0), entireinterval()) == Interval(0.0, Inf) + @test pow_rev2(interval(1.0, Inf), interval(2.0, 4.0), entireinterval()) === Interval(0.0, Inf) - @test pow_rev2(interval(1.0, 2.0), interval(2.0, 4.0), interval(-Inf, 0.0)) == emptyinterval() + @test pow_rev2(interval(1.0, 2.0), interval(2.0, 4.0), interval(-Inf, 0.0)) === emptyinterval() - @test_skip pow_rev2(interval(1.0, Inf), interval(2.0, 4.0), interval(-Inf, 0.0)) == emptyinterval() + @test_broken pow_rev2(interval(1.0, Inf), interval(2.0, 4.0), interval(-Inf, 0.0)) === emptyinterval() - @test_skip pow_rev2(interval(1.0, 2.0), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(1.0, Inf) + @test_broken pow_rev2(interval(1.0, 2.0), interval(2.0, 4.0), interval(0.0, Inf)) === Interval(1.0, Inf) - @test pow_rev2(interval(1.0, Inf), interval(2.0, 4.0), interval(0.0, Inf)) == Interval(0.0, Inf) + @test pow_rev2(interval(1.0, Inf), interval(2.0, 4.0), interval(0.0, Inf)) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(2.0, 4.0), interval(0.0, 0.5), entireinterval()) == Interval(-Inf, -0.5) + @test_broken pow_rev2(interval(2.0, 4.0), interval(0.0, 0.5), entireinterval()) === Interval(-Inf, -0.5) - @test pow_rev2(interval(2.0, Inf), interval(0.0, 0.5), entireinterval()) == Interval(-Inf, 0.0) + @test pow_rev2(interval(2.0, Inf), interval(0.0, 0.5), entireinterval()) === Interval(-Inf, 0.0) - @test_skip pow_rev2(interval(2.0, Inf), interval(0.0, 0.5), interval(0.0, Inf)) == emptyinterval() + @test_broken pow_rev2(interval(2.0, Inf), interval(0.0, 0.5), interval(0.0, Inf)) === emptyinterval() - @test_skip pow_rev2(interval(2.0, 4.0), interval(0.25, 0.5), entireinterval()) == Interval(-2.0, -0.5) + @test_broken pow_rev2(interval(2.0, 4.0), interval(0.25, 0.5), entireinterval()) === Interval(-2.0, -0.5) - @test_skip pow_rev2(interval(2.0, Inf), interval(0.25, 0.5), entireinterval()) == Interval(-2.0, 0.0) + @test_broken pow_rev2(interval(2.0, Inf), interval(0.25, 0.5), entireinterval()) === Interval(-2.0, 0.0) - @test_skip pow_rev2(interval(2.0, Inf), interval(0.25, 0.5), interval(0.0, Inf)) == emptyinterval() + @test_broken pow_rev2(interval(2.0, Inf), interval(0.25, 0.5), interval(0.0, Inf)) === emptyinterval() - @test_skip pow_rev2(interval(2.0, 4.0), interval(0.5, 1.0), entireinterval()) == Interval(-1.0, 0.0) + @test_broken pow_rev2(interval(2.0, 4.0), interval(0.5, 1.0), entireinterval()) === Interval(-1.0, 0.0) - @test_skip pow_rev2(interval(2.0, Inf), interval(0.5, 1.0), entireinterval()) == Interval(-1.0, 0.0) + @test_broken pow_rev2(interval(2.0, Inf), interval(0.5, 1.0), entireinterval()) === Interval(-1.0, 0.0) - @test pow_rev2(interval(2.0, 4.0), interval(1.0, 1.0), entireinterval()) == Interval(0.0, 0.0) + @test pow_rev2(interval(2.0, 4.0), interval(1.0, 1.0), entireinterval()) === Interval(0.0, 0.0) - @test pow_rev2(interval(2.0, Inf), interval(1.0, 1.0), entireinterval()) == Interval(0.0, 0.0) + @test pow_rev2(interval(2.0, Inf), interval(1.0, 1.0), entireinterval()) === Interval(0.0, 0.0) - @test pow_rev2(interval(2.0, 4.0), interval(0.0, 1.0), entireinterval()) == Interval(-Inf, 0.0) + @test pow_rev2(interval(2.0, 4.0), interval(0.0, 1.0), entireinterval()) === Interval(-Inf, 0.0) - @test pow_rev2(interval(2.0, Inf), interval(0.0, 1.0), entireinterval()) == Interval(-Inf, 0.0) + @test pow_rev2(interval(2.0, Inf), interval(0.0, 1.0), entireinterval()) === Interval(-Inf, 0.0) - @test pow_rev2(interval(2.0, 4.0), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, 0.0) + @test pow_rev2(interval(2.0, 4.0), interval(0.0, 1.0), interval(0.0, Inf)) === Interval(0.0, 0.0) - @test pow_rev2(interval(2.0, Inf), interval(0.0, 1.0), interval(0.0, Inf)) == Interval(0.0, 0.0) + @test pow_rev2(interval(2.0, Inf), interval(0.0, 1.0), interval(0.0, Inf)) === Interval(0.0, 0.0) - @test_skip pow_rev2(interval(2.0, 4.0), interval(0.0, 2.0), entireinterval()) == Interval(-Inf, 1.0) + @test_broken pow_rev2(interval(2.0, 4.0), interval(0.0, 2.0), entireinterval()) === Interval(-Inf, 1.0) - @test_skip pow_rev2(interval(2.0, Inf), interval(0.0, 2.0), entireinterval()) == Interval(-Inf, 1.0) + @test_broken pow_rev2(interval(2.0, Inf), interval(0.0, 2.0), entireinterval()) === Interval(-Inf, 1.0) - @test_skip pow_rev2(interval(2.0, 4.0), interval(0.5, 2.0), entireinterval()) == Interval(-1.0, 1.0) + @test_broken pow_rev2(interval(2.0, 4.0), interval(0.5, 2.0), entireinterval()) === Interval(-1.0, 1.0) - @test_skip pow_rev2(interval(2.0, Inf), interval(0.5, 2.0), entireinterval()) == Interval(-1.0, 1.0) + @test_broken pow_rev2(interval(2.0, Inf), interval(0.5, 2.0), entireinterval()) === Interval(-1.0, 1.0) - @test_skip pow_rev2(interval(2.0, 4.0), interval(1.0, 2.0), entireinterval()) == Interval(0.0, 1.0) + @test_broken pow_rev2(interval(2.0, 4.0), interval(1.0, 2.0), entireinterval()) === Interval(0.0, 1.0) - @test_skip pow_rev2(interval(2.0, Inf), interval(1.0, 2.0), entireinterval()) == Interval(0.0, 1.0) + @test_broken pow_rev2(interval(2.0, Inf), interval(1.0, 2.0), entireinterval()) === Interval(0.0, 1.0) - @test pow_rev2(interval(2.0, 4.0), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(0.0, 0.0) + @test pow_rev2(interval(2.0, 4.0), interval(1.0, 2.0), interval(-Inf, 0.0)) === Interval(0.0, 0.0) - @test pow_rev2(interval(2.0, Inf), interval(1.0, 2.0), interval(-Inf, 0.0)) == Interval(0.0, 0.0) + @test pow_rev2(interval(2.0, Inf), interval(1.0, 2.0), interval(-Inf, 0.0)) === Interval(0.0, 0.0) - @test_skip pow_rev2(interval(2.0, 4.0), interval(2.0, 4.0), entireinterval()) == Interval(0.5, 2.0) + @test_broken pow_rev2(interval(2.0, 4.0), interval(2.0, 4.0), entireinterval()) === Interval(0.5, 2.0) - @test_skip pow_rev2(interval(2.0, Inf), interval(2.0, 4.0), entireinterval()) == Interval(0.0, 2.0) + @test_broken pow_rev2(interval(2.0, Inf), interval(2.0, 4.0), entireinterval()) === Interval(0.0, 2.0) - @test_skip pow_rev2(interval(2.0, Inf), interval(2.0, 4.0), interval(-Inf, 0.0)) == emptyinterval() + @test_broken pow_rev2(interval(2.0, Inf), interval(2.0, 4.0), interval(-Inf, 0.0)) === emptyinterval() - @test_skip pow_rev2(interval(2.0, 4.0), interval(2.0, Inf), entireinterval()) == Interval(0.5, Inf) + @test_broken pow_rev2(interval(2.0, 4.0), interval(2.0, Inf), entireinterval()) === Interval(0.5, Inf) - @test pow_rev2(interval(2.0, Inf), interval(2.0, Inf), entireinterval()) == Interval(0.0, Inf) + @test pow_rev2(interval(2.0, Inf), interval(2.0, Inf), entireinterval()) === Interval(0.0, Inf) - @test_skip pow_rev2(interval(2.0, Inf), interval(2.0, Inf), interval(-Inf, 0.0)) == emptyinterval() + @test_broken pow_rev2(interval(2.0, Inf), interval(2.0, Inf), interval(-Inf, 0.0)) === emptyinterval() end diff --git a/test/runtests.jl b/test/runtests.jl index 3e551a3..d1ed439 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -6,6 +6,7 @@ using Test include("abs_rev.jl") include("libieeep1788_rev.jl") include("libieeep1788_mul_rev.jl") + include("pow_rev.jl") include("Non1788tests.jl") @testset "power_rev for odd power" begin From 6c59f1b4f076897e5a61b79d35d7b14a41dc948f Mon Sep 17 00:00:00 2001 From: lucaferranti Date: Fri, 4 Feb 2022 17:50:49 +0200 Subject: [PATCH 09/10] updated docstrings --- Project.toml | 2 +- src/arithmetic.jl | 62 ++++++++++++++++++++++++++++++++++++++--------- src/hyperbolic.jl | 36 ++++++++++++++++++++++++--- src/trig.jl | 39 ++++++++++++++++++++++------- 4 files changed, 114 insertions(+), 25 deletions(-) diff --git a/Project.toml b/Project.toml index 17fa0d9..7ed4090 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "IntervalContractors" uuid = "15111844-de3b-5229-b4ba-526f2f385dc9" -version = "0.4.5" +version = "0.4.6" [deps] IntervalArithmetic = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" diff --git a/src/arithmetic.jl b/src/arithmetic.jl index 1979d29..d27aecf 100644 --- a/src/arithmetic.jl +++ b/src/arithmetic.jl @@ -119,7 +119,8 @@ inv_rev(a,b) = inv_rev(promote(a,b)...) """ power_rev(a::Interval, b::Interval, n::Integer) -Reverse power. Calculates the preimage of `a = bⁿ`. +Reverse power. Calculates the preimage of `a = bⁿ`. See section 10.5.4 of the +IEEE 1788-2015 standard for interval arithmetic. ### Output @@ -203,7 +204,17 @@ sqrt_rev(a,b) = sqrt_rev(promote(a,b)...) # IEEE-1788 style """ -Reverse sqr + sqrt_rev(c::Interval[, x::Interval]) + +Reverse square. Calculates the preimage of `a = x²`. If `x` is not provided, then +byt default ``[-∞, ∞]`` is used. See section 10.5.4 of the IEEE 1788-2015 standard for interval arithmetic. + +### Output + +The pair `(c, x_new)` where + +- `c` is unchanged +- `x_new` is the interval hull of the set ``{x ∈ b : x² ∈ a}`` """ function sqr_rev(c, x) # c = x^2; refine x @@ -216,7 +227,17 @@ function sqr_rev(c, x) # c = x^2; refine x end """ -Reverse abs + abs_rev(c::Interval[, x::Interval]) + +Reverse absolute value. Calculates the preimage of `a = |x|`. If `x` is not provided, then +byt default ``[-∞, ∞]`` is used. See section 10.5.4 of the IEEE 1788-2015 standard for interval arithmetic. + +### Output + +The pair `(c, x_new)` where + +- `c` is unchanged +- `x_new` is the interval hull of the set ``{x ∈ b : |x| ∈ a}`` """ function abs_rev(y, x) # y = abs(x); refine x @@ -244,20 +265,23 @@ sign_rev(a,b) = sign_rev(promote(a,b)...) ## IEEE-1788 versions: """ -According to the IEEE-1788 standard: + mul_rev_IEEE1788(b::Interval, c::Interval[, x::Interval]) -- `∘_rev1(b, c, x)` is the subset of `x` such that `x ∘ b` is defined and in `c`; -- `∘_rev2(a, c, x)` is the subset of `x` such that `a ∘ x` is defined and in `c` +Reverse multiplication. Computes the preimage of ``c=x * b`` with respect to `x`. If `x` is not provided, +then byt default ``[-∞, ∞]`` is used.. See section 10.5.4 of the IEEE 1788-2015 standard for interval arithmetic. + +### Output -When `∘` is commutative, these agree and we write `∘_rev(b, c, x)`. +- `x_new` the interval hull of the set ``{t ∈ x : ∃ y ∈ b, t*y ∈ c} """ mul_rev_IEEE1788(b, c, x) = mul_rev(c, x, b)[2] """ pow_rev1(b::Interval, c::Interval[, x::Interval]) -Reverse power 1. Computes the preimage of ``c=xᵇ`` with respect to `x`. If `x` is not -provided, then it is by default the whole real line ℝ. +Reverse power 1. Computes the preimage of ``c=xᵇ`` with respect to `x`. If `x` is not provided, +then byt default ``[-∞, ∞]`` is used.. See section 10.5.4 of the +IEEE 1788-2015 standard for interval arithmetic. ### Output @@ -270,8 +294,8 @@ end """ pow_rev2(b::Interval, c::Interval[, x::Interval]) -Reverse power 2. Computes the preimage of ``c = aˣ`` with respect to `x`. If `x` is not -provided, then it is by default the whole real line ℝ. +Reverse power 2. Computes the preimage of ``c = aˣ`` with respect to `x`. If `x` is not provided, then +byt default ``[-∞, ∞]`` is used. See section 10.5.4 of the IEEE 1788-2015 standard for interval arithmetic. ### Output @@ -284,7 +308,21 @@ end """ mul_rev_to_pair(b::Interval, c::Interval) -# TODO: add docstring +Computes the division c/b, but returns a pair of intervals instead of a single interval. +If the set corresponding to c/b is composed by two disjoint intervals, then it returns the +two intervals. If c/b is a single or empty interval, then the second interval in the pair +is set to empty. See section 10.5.5 of the IEEE 1788-2015 standard for interval arithmetic. + +### Example + +```jldoctest +julia> mul_rev_to_pair(-1..1, 1..2) +([-∞, -1], [1, ∞]) + +julia> mul_rev_to_pair(1..2, 3..4) +([1.5, 4], ∅) +``` + """ mul_rev_to_pair(b::Interval, c::Interval) = extended_div(c, b) diff --git a/src/hyperbolic.jl b/src/hyperbolic.jl index 1c09fbe..bed36cc 100644 --- a/src/hyperbolic.jl +++ b/src/hyperbolic.jl @@ -1,5 +1,15 @@ """ -Reverse function for `sinh`. + sinh_rev(c::Interval[, x::Interval]) + +Reverse hyperbolic sine. Calculates the preimage of `a = sinh(x)`. If `x` is not provided, then +byt default ``[-∞, ∞]`` is used. See section 10.5.4 of the IEEE 1788-2015 standard for interval arithmetic. + +### Output + +The pair `(c, x_new)` where + +- `c` is unchanged +- `x_new` is the interval hull of the set ``{x ∈ b : sinh(x) ∈ a}`` """ function sinh_rev(y::Interval, x::Interval) x = x ∩ asinh(y) @@ -8,7 +18,17 @@ function sinh_rev(y::Interval, x::Interval) end """ -Reverse function for `cosh`. + cosh_rev(c::Interval[, x::Interval]) + +Reverse square root. Calculates the preimage of `a = cosh(x)`. If `x` is not provided, then +byt default ``[-∞, ∞]`` is used. See section 10.5.4 of the IEEE 1788-2015 standard for interval arithmetic. + +### Output + +The pair `(c, x_new)` where + +- `c` is unchanged +- `x_new` is the interval hull of the set ``{x ∈ b : cosh(x) ∈ a}`` """ function cosh_rev(y::Interval,x::Interval) y_new = y ∩ Interval(1.,∞) @@ -18,7 +38,17 @@ function cosh_rev(y::Interval,x::Interval) end """ -Reverse function for `tanh`. + tanh_rev(c::Interval[, x::Interval]) + +Reverse square root. Calculates the preimage of `a = tanh(x)`. If `x` is not provided, then +byt default ``[-∞, ∞]`` is used. See section 10.5.4 of the IEEE 1788-2015 standard for interval arithmetic. + +### Output + +The pair `(c, x_new)` where + +- `c` is unchanged +- `x_new` is the interval hull of the set ``{x ∈ b : tanh(x) ∈ a}`` """ function tanh_rev(y::Interval,x::Interval) y_new = y ∩ Interval(-1.,1.) diff --git a/src/trig.jl b/src/trig.jl index a3a1fba..77ab181 100644 --- a/src/trig.jl +++ b/src/trig.jl @@ -37,10 +37,17 @@ sin!(X::IntervalBox) = periodise(sin_main, two_pi)(X) ∪ periodise(sin_reverse, # Reverse function for sin; does not alter y """ - sin_rev(y::Interval, x::Interval) + sin_rev(c::Interval[, x::Interval]) -Reverse function for `sin`: -- find the subset of `x` such that ``y = \\sin(x)`` for the given `y`. +Reverse sine. Calculates the preimage of `a = sin(x)`. If `x` is not provided, then +byt default ``[-∞, ∞]`` is used. See section 10.5.4 of the IEEE 1788-2015 standard for interval arithmetic. + +### Output + +The pair `(c, x_new)` where + +- `c` is unchanged +- `x_new` is the interval hull of the set ``{x ∈ b : sin(x) ∈ a}`` """ function sin_rev(y::Interval, x::Interval) @@ -90,10 +97,17 @@ cos!(X::IntervalBox) = periodise(cos_main, two_pi)(X) ∪ periodise(cos_reverse, # Reverse function for cos; does not alter y """ - cos_rev(y::Interval, x::Interval) + cos_rev(c::Interval[, x::Interval]) + +Reverse cosine. Calculates the preimage of `a = cos(x)`. If `x` is not provided, then +byt default ``[-∞, ∞]`` is used. See section 10.5.4 of the IEEE 1788-2015 standard for interval arithmetic. + +### Output -Reverse function for `cos`: -- find the subset of `x` such that ``y = \\cos(x)`` for the given `y`. +The pair `(c, x_new)` where + +- `c` is unchanged +- `x_new` is the interval hull of the set ``{x ∈ b : cos(x) ∈ a}`` """ function cos_rev(y::Interval, x::Interval) @@ -128,10 +142,17 @@ end tan!(X::IntervalBox) = periodise(tan_main, Interval{Float64}(π))(X) """ - tan_rev(y::Interval, x::Interval) + tan_rev(c::Interval[, x::Interval]) + +Reverse tangent. Calculates the preimage of `a = tan(x)`. If `x` is not provided, then +byt default ``[-∞, ∞]`` is used. See section 10.5.4 of the IEEE 1788-2015 standard for interval arithmetic. + +### Output + +The pair `(c, x_new)` where -Reverse function for `tan`: -- find the subset of `x` such that ``y = \\tan(x)`` for the given `y`. +- `c` is unchanged +- `x_new` is the interval hull of the set ``{x ∈ b : tan(x) ∈ a}`` """ function tan_rev(y::Interval, x::Interval) From 3d5bc2353082fd96125860b303394618e17f744c Mon Sep 17 00:00:00 2001 From: lucaferranti Date: Fri, 4 Feb 2022 18:08:25 +0200 Subject: [PATCH 10/10] updated CI --- .github/workflows/CI.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 604bb36..3bf06e4 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -11,8 +11,7 @@ jobs: fail-fast: false matrix: version: - - '1.5' - - '1.6' + - '1' - 'nightly' os: - ubuntu-latest