@testset "minimal_pos_test" begin
    @test +(interval(1.0,2.0)) == interval(1.0,2.0)
    @test +(emptyinterval()) == emptyinterval()
    @test +(entireinterval()) == entireinterval()
    @test +(interval(1.0,Inf)) == interval(1.0,Inf)
    @test +(interval(-Inf,-1.0)) == interval(-Inf,-1.0)
    @test +(interval(0.0,2.0)) == interval(0.0,2.0)
    @test +(interval(-0.0,2.0)) == interval(0.0,2.0)
    @test +(interval(-2.5,-0.0)) == interval(-2.5,0.0)
    @test +(interval(-2.5,0.0)) == interval(-2.5,0.0)
    @test +(interval(-0.0,-0.0)) == interval(0.0,0.0)
    @test +(interval(0.0,0.0)) == interval(0.0,0.0)
end

@testset "minimal_neg_test" begin
    @test -(interval(1.0,2.0)) == interval(-2.0,-1.0)
    @test -(emptyinterval()) == emptyinterval()
    @test -(entireinterval()) == entireinterval()
    @test -(interval(1.0,Inf)) == interval(-Inf,-1.0)
    @test -(interval(-Inf,1.0)) == interval(-1.0,Inf)
    @test -(interval(0.0,2.0)) == interval(-2.0,0.0)
    @test -(interval(-0.0,2.0)) == interval(-2.0,0.0)
    @test -(interval(-2.0,0.0)) == interval(0.0,2.0)
    @test -(interval(-2.0,-0.0)) == interval(0.0,2.0)
    @test -(interval(0.0,-0.0)) == interval(0.0,0.0)
    @test -(interval(-0.0,-0.0)) == interval(0.0,0.0)
end

@testset "minimal_add_test" begin
    @test +(emptyinterval(), emptyinterval()) == emptyinterval()
    @test +(interval(-1.0,1.0), emptyinterval()) == emptyinterval()
    @test +(emptyinterval(), interval(-1.0,1.0)) == emptyinterval()
    @test +(emptyinterval(), entireinterval()) == emptyinterval()
    @test +(entireinterval(), emptyinterval()) == emptyinterval()
    @test +(entireinterval(), interval(-Inf,1.0)) == entireinterval()
    @test +(entireinterval(), interval(-1.0,1.0)) == entireinterval()
    @test +(entireinterval(), interval(-1.0,Inf)) == entireinterval()
    @test +(entireinterval(), entireinterval()) == entireinterval()
    @test +(interval(-Inf,1.0), entireinterval()) == entireinterval()
    @test +(interval(-1.0,1.0), entireinterval()) == entireinterval()
    @test +(interval(-1.0,Inf), entireinterval()) == entireinterval()
    @test +(interval(-Inf,2.0), interval(-Inf,4.0)) == interval(-Inf,6.0)
    @test +(interval(-Inf,2.0), interval(3.0,4.0)) == interval(-Inf,6.0)
    @test +(interval(-Inf,2.0), interval(3.0,Inf)) == entireinterval()
    @test +(interval(1.0,2.0), interval(-Inf,4.0)) == interval(-Inf,6.0)
    @test +(interval(1.0,2.0), interval(3.0,4.0)) == interval(4.0,6.0)
    @test +(interval(1.0,2.0), interval(3.0,Inf)) == interval(4.0,Inf)
    @test +(interval(1.0,Inf), interval(-Inf,4.0)) == entireinterval()
    @test +(interval(1.0,Inf), interval(3.0,4.0)) == interval(4.0,Inf)
    @test +(interval(1.0,Inf), interval(3.0,Inf)) == interval(4.0,Inf)
    @test +(interval(1.0,0x1.FFFFFFFFFFFFFp1023), interval(3.0,4.0)) == interval(4.0,Inf)
    @test +(interval(-0x1.FFFFFFFFFFFFFp1023,2.0), interval(-3.0,4.0)) == interval(-Inf,6.0)
    @test +(interval(-0x1.FFFFFFFFFFFFFp1023,2.0), interval(-3.0,0x1.FFFFFFFFFFFFFp1023)) == entireinterval()
    @test +(interval(1.0,0x1.FFFFFFFFFFFFFp1023), interval(0.0,0.0)) == interval(1.0,0x1.FFFFFFFFFFFFFp1023)
    @test +(interval(1.0,0x1.FFFFFFFFFFFFFp1023), interval(-0.0,-0.0)) == interval(1.0,0x1.FFFFFFFFFFFFFp1023)
    @test +(interval(0.0,0.0), interval(-3.0,4.0)) == interval(-3.0,4.0)
    @test +(interval(-0.0,-0.0), interval(-3.0,0x1.FFFFFFFFFFFFFp1023)) == interval(-3.0,0x1.FFFFFFFFFFFFFp1023)
    @test +(interval(0x1.FFFFFFFFFFFFP+0,0x1.FFFFFFFFFFFFP+0), interval(0x1.999999999999AP-4,0x1.999999999999AP-4)) == interval(0x1.0CCCCCCCCCCC4P+1,0x1.0CCCCCCCCCCC5P+1)
    @test +(interval(0x1.FFFFFFFFFFFFP+0,0x1.FFFFFFFFFFFFP+0), interval(-0x1.999999999999AP-4,-0x1.999999999999AP-4)) == interval(0x1.E666666666656P+0,0x1.E666666666657P+0)
    @test +(interval(-0x1.FFFFFFFFFFFFP+0,0x1.FFFFFFFFFFFFP+0), interval(0x1.999999999999AP-4,0x1.999999999999AP-4)) == interval(-0x1.E666666666657P+0,0x1.0CCCCCCCCCCC5P+1)
end

@testset "minimal_sub_test" begin
    @test -(emptyinterval(), emptyinterval()) == emptyinterval()
    @test -(interval(-1.0,1.0), emptyinterval()) == emptyinterval()
    @test -(emptyinterval(), interval(-1.0,1.0)) == emptyinterval()
    @test -(emptyinterval(), entireinterval()) == emptyinterval()
    @test -(entireinterval(), emptyinterval()) == emptyinterval()
    @test -(entireinterval(), interval(-Inf,1.0)) == entireinterval()
    @test -(entireinterval(), interval(-1.0,1.0)) == entireinterval()
    @test -(entireinterval(), interval(-1.0,Inf)) == entireinterval()
    @test -(entireinterval(), entireinterval()) == entireinterval()
    @test -(interval(-Inf,1.0), entireinterval()) == entireinterval()
    @test -(interval(-1.0,1.0), entireinterval()) == entireinterval()
    @test -(interval(-1.0,Inf), entireinterval()) == entireinterval()
    @test -(interval(-Inf,2.0), interval(-Inf,4.0)) == entireinterval()
    @test -(interval(-Inf,2.0), interval(3.0,4.0)) == interval(-Inf,-1.0)
    @test -(interval(-Inf,2.0), interval(3.0,Inf)) == interval(-Inf,-1.0)
    @test -(interval(1.0,2.0), interval(-Inf,4.0)) == interval(-3.0,Inf)
    @test -(interval(1.0,2.0), interval(3.0,4.0)) == interval(-3.0,-1.0)
    @test -(interval(1.0,2.0), interval(3.0,Inf)) == interval(-Inf,-1.0)
    @test -(interval(1.0,Inf), interval(-Inf,4.0)) == interval(-3.0,Inf)
    @test -(interval(1.0,Inf), interval(3.0,4.0)) == interval(-3.0,Inf)
    @test -(interval(1.0,Inf), interval(3.0,Inf)) == entireinterval()
    @test -(interval(1.0,0x1.FFFFFFFFFFFFFp1023), interval(-3.0,4.0)) == interval(-3.0,Inf)
    @test -(interval(-0x1.FFFFFFFFFFFFFp1023,2.0), interval(3.0,4.0)) == interval(-Inf,-1.0)
    @test -(interval(-0x1.FFFFFFFFFFFFFp1023,2.0), interval(-0x1.FFFFFFFFFFFFFp1023,4.0)) == entireinterval()
    @test -(interval(1.0,0x1.FFFFFFFFFFFFFp1023), interval(0.0,0.0)) == interval(1.0,0x1.FFFFFFFFFFFFFp1023)
    @test -(interval(1.0,0x1.FFFFFFFFFFFFFp1023), interval(-0.0,-0.0)) == interval(1.0,0x1.FFFFFFFFFFFFFp1023)
    @test -(interval(0.0,0.0), interval(-3.0,4.0)) == interval(-4.0,3.0)
    @test -(interval(-0.0,-0.0), interval(-3.0,0x1.FFFFFFFFFFFFFp1023)) == interval(-0x1.FFFFFFFFFFFFFp1023,3.0)
    @test -(interval(0x1.FFFFFFFFFFFFP+0,0x1.FFFFFFFFFFFFP+0), interval(0x1.999999999999AP-4,0x1.999999999999AP-4)) == interval(0x1.E666666666656P+0,0x1.E666666666657P+0)
    @test -(interval(0x1.FFFFFFFFFFFFP+0,0x1.FFFFFFFFFFFFP+0), interval(-0x1.999999999999AP-4,-0x1.999999999999AP-4)) == interval(0x1.0CCCCCCCCCCC4P+1,0x1.0CCCCCCCCCCC5P+1)
    @test -(interval(-0x1.FFFFFFFFFFFFP+0,0x1.FFFFFFFFFFFFP+0), interval(0x1.999999999999AP-4,0x1.999999999999AP-4)) == interval(-0x1.0CCCCCCCCCCC5P+1,0x1.E666666666657P+0)
end

@testset "minimal_mul_test" begin
    @test *(emptyinterval(), emptyinterval()) == emptyinterval()
    @test *(interval(-1.0,1.0), emptyinterval()) == emptyinterval()
    @test *(emptyinterval(), interval(-1.0,1.0)) == emptyinterval()
    @test *(emptyinterval(), entireinterval()) == emptyinterval()
    @test *(entireinterval(), emptyinterval()) == emptyinterval()
    @test *(interval(0.0,0.0), emptyinterval()) == emptyinterval()
    @test *(emptyinterval(), interval(0.0,0.0)) == emptyinterval()
    @test *(interval(-0.0,-0.0), emptyinterval()) == emptyinterval()
    @test *(emptyinterval(), interval(-0.0,-0.0)) == emptyinterval()
    @test *(entireinterval(), interval(0.0,0.0)) == interval(0.0,0.0)
    @test *(entireinterval(), interval(-0.0,-0.0)) == interval(0.0,0.0)
    @test *(entireinterval(), interval(-5.0, -1.0)) == entireinterval()
    @test *(entireinterval(), interval(-5.0, 3.0)) == entireinterval()
    @test *(entireinterval(), interval(1.0, 3.0)) == entireinterval()
    @test *(entireinterval(), interval(-Inf, -1.0)) == entireinterval()
    @test *(entireinterval(), interval(-Inf, 3.0)) == entireinterval()
    @test *(entireinterval(), interval(-5.0, Inf)) == entireinterval()
    @test *(entireinterval(), interval(1.0, Inf)) == entireinterval()
    @test *(entireinterval(), entireinterval()) == entireinterval()
    @test *(interval(1.0,Inf), interval(0.0,0.0)) == interval(0.0,0.0)
    @test *(interval(1.0,Inf), interval(-0.0,-0.0)) == interval(0.0,0.0)
    @test *(interval(1.0,Inf), interval(-5.0, -1.0)) == interval(-Inf,-1.0)
    @test *(interval(1.0,Inf), interval(-5.0, 3.0)) == entireinterval()
    @test *(interval(1.0,Inf), interval(1.0, 3.0)) == interval(1.0,Inf)
    @test *(interval(1.0,Inf), interval(-Inf, -1.0)) == interval(-Inf,-1.0)
    @test *(interval(1.0,Inf), interval(-Inf, 3.0)) == entireinterval()
    @test *(interval(1.0,Inf), interval(-5.0, Inf)) == entireinterval()
    @test *(interval(1.0,Inf), interval(1.0, Inf)) == interval(1.0,Inf)
    @test *(interval(1.0,Inf), entireinterval()) == entireinterval()
    @test *(interval(-1.0,Inf), interval(0.0,0.0)) == interval(0.0,0.0)
    @test *(interval(-1.0,Inf), interval(-0.0,-0.0)) == interval(0.0,0.0)
    @test *(interval(-1.0,Inf), interval(-5.0, -1.0)) == interval(-Inf,5.0)
    @test *(interval(-1.0,Inf), interval(-5.0, 3.0)) == entireinterval()
    @test *(interval(-1.0,Inf), interval(1.0, 3.0)) == interval(-3.0,Inf)
    @test *(interval(-1.0,Inf), interval(-Inf, -1.0)) == entireinterval()
    @test *(interval(-1.0,Inf), interval(-Inf, 3.0)) == entireinterval()
    @test *(interval(-1.0,Inf), interval(-5.0, Inf)) == entireinterval()
    @test *(interval(-1.0,Inf), interval(1.0, Inf)) == entireinterval()
    @test *(interval(-1.0,Inf), entireinterval()) == entireinterval()
    @test *(interval(-Inf,3.0), interval(0.0,0.0)) == interval(0.0,0.0)
    @test *(interval(-Inf,3.0), interval(-0.0,-0.0)) == interval(0.0,0.0)
    @test *(interval(-Inf,3.0), interval(-5.0, -1.0)) == interval(-15.0,Inf)
    @test *(interval(-Inf,3.0), interval(-5.0, 3.0)) == entireinterval()
    @test *(interval(-Inf,3.0), interval(1.0, 3.0)) == interval(-Inf,9.0)
    @test *(interval(-Inf,3.0), interval(-Inf, -1.0)) == entireinterval()
    @test *(interval(-Inf,3.0), interval(-Inf, 3.0)) == entireinterval()
    @test *(interval(-Inf,3.0), interval(-5.0, Inf)) == entireinterval()
    @test *(interval(-Inf,3.0), interval(1.0, Inf)) == entireinterval()
    @test *(interval(-Inf,3.0), entireinterval()) == entireinterval()
    @test *(interval(-Inf,-3.0), interval(0.0,0.0)) == interval(0.0,0.0)
    @test *(interval(-Inf,-3.0), interval(-0.0,-0.0)) == interval(0.0,0.0)
    @test *(interval(-Inf,-3.0), interval(-5.0, -1.0)) == interval(3.0,Inf)
    @test *(interval(-Inf,-3.0), interval(-5.0, 3.0)) == entireinterval()
    @test *(interval(-Inf,-3.0), interval(1.0, 3.0)) == interval(-Inf,-3.0)
    @test *(interval(-Inf,-3.0), interval(-Inf, -1.0)) == interval(3.0,Inf)
    @test *(interval(-Inf,-3.0), interval(-Inf, 3.0)) == entireinterval()
    @test *(interval(-Inf,-3.0), interval(-5.0, Inf)) == entireinterval()
    @test *(interval(-Inf,-3.0), interval(1.0, Inf)) == interval(-Inf,-3.0)
    @test *(interval(-Inf,-3.0), entireinterval()) == entireinterval()
    @test *(interval(0.0,0.0), interval(0.0,0.0)) == interval(0.0,0.0)
    @test *(interval(0.0,0.0), interval(-0.0,-0.0)) == interval(0.0,0.0)
    @test *(interval(0.0,0.0), interval(-5.0, -1.0)) == interval(0.0,0.0)
    @test *(interval(0.0,0.0), interval(-5.0, 3.0)) == interval(0.0,0.0)
    @test *(interval(0.0,0.0), interval(1.0, 3.0)) == interval(0.0,0.0)
    @test *(interval(0.0,0.0), interval(-Inf, -1.0)) == interval(0.0,0.0)
    @test *(interval(0.0,0.0), interval(-Inf, 3.0)) == interval(0.0,0.0)
    @test *(interval(0.0,0.0), interval(-5.0, Inf)) == interval(0.0,0.0)
    @test *(interval(0.0,0.0), interval(1.0, Inf)) == interval(0.0,0.0)
    @test *(interval(0.0,0.0), entireinterval()) == interval(0.0,0.0)
    @test *(interval(-0.0,-0.0), interval(0.0,0.0)) == interval(0.0,0.0)
    @test *(interval(-0.0,-0.0), interval(-0.0,-0.0)) == interval(0.0,0.0)
    @test *(interval(-0.0,-0.0), interval(-5.0, -1.0)) == interval(0.0,0.0)
    @test *(interval(-0.0,-0.0), interval(-5.0, 3.0)) == interval(0.0,0.0)
    @test *(interval(-0.0,-0.0), interval(1.0, 3.0)) == interval(0.0,0.0)
    @test *(interval(-0.0,-0.0), interval(-Inf, -1.0)) == interval(0.0,0.0)
    @test *(interval(-0.0,-0.0), interval(-Inf, 3.0)) == interval(0.0,0.0)
    @test *(interval(-0.0,-0.0), interval(-5.0, Inf)) == interval(0.0,0.0)
    @test *(interval(-0.0,-0.0), interval(1.0, Inf)) == interval(0.0,0.0)
    @test *(interval(-0.0,-0.0), entireinterval()) == interval(0.0,0.0)
    @test *(interval(1.0,5.0), interval(0.0,0.0)) == interval(0.0,0.0)
    @test *(interval(1.0,5.0), interval(-0.0,-0.0)) == interval(0.0,0.0)
    @test *(interval(1.0,5.0), interval(-5.0, -1.0)) == interval(-25.0,-1.0)
    @test *(interval(1.0,5.0), interval(-5.0, 3.0)) == interval(-25.0,15.0)
    @test *(interval(1.0,5.0), interval(1.0, 3.0)) == interval(1.0,15.0)
    @test *(interval(1.0,5.0), interval(-Inf, -1.0)) == interval(-Inf,-1.0)
    @test *(interval(1.0,5.0), interval(-Inf, 3.0)) == interval(-Inf,15.0)
    @test *(interval(1.0,5.0), interval(-5.0, Inf)) == interval(-25.0,Inf)
    @test *(interval(1.0,5.0), interval(1.0, Inf)) == interval(1.0,Inf)
    @test *(interval(1.0,5.0), entireinterval()) == entireinterval()
    @test *(interval(-1.0,5.0), interval(0.0,0.0)) == interval(0.0,0.0)
    @test *(interval(-1.0,5.0), interval(-0.0,-0.0)) == interval(0.0,0.0)
    @test *(interval(-1.0,5.0), interval(-5.0, -1.0)) == interval(-25.0,5.0)
    @test *(interval(-1.0,5.0), interval(-5.0, 3.0)) == interval(-25.0,15.0)
    @test *(interval(-10.0,2.0), interval(-5.0, 3.0)) == interval(-30.0,50.0)
    @test *(interval(-1.0,5.0), interval(-1.0, 10.0)) == interval(-10.0,50.0)
    @test *(interval(-2.0,2.0), interval(-5.0, 3.0)) == interval(-10.0,10.0)
    @test *(interval(-1.0,5.0), interval(1.0, 3.0)) == interval(-3.0,15.0)
    @test *(interval(-1.0,5.0), interval(-Inf, -1.0)) == entireinterval()
    @test *(interval(-1.0,5.0), interval(-Inf, 3.0)) == entireinterval()
    @test *(interval(-1.0,5.0), interval(-5.0, Inf)) == entireinterval()
    @test *(interval(-1.0,5.0), interval(1.0, Inf)) == entireinterval()
    @test *(interval(-1.0,5.0), entireinterval()) == entireinterval()
    @test *(interval(-10.0,-5.0), interval(0.0,0.0)) == interval(0.0,0.0)
    @test *(interval(-10.0,-5.0), interval(-0.0,-0.0)) == interval(0.0,0.0)
    @test *(interval(-10.0,-5.0), interval(-5.0, -1.0)) == interval(5.0,50.0)
    @test *(interval(-10.0,-5.0), interval(-5.0, 3.0)) == interval(-30.0,50.0)
    @test *(interval(-10.0,-5.0), interval(1.0, 3.0)) == interval(-30.0,-5.0)
    @test *(interval(-10.0,-5.0), interval(-Inf, -1.0)) == interval(5.0,Inf)
    @test *(interval(-10.0,-5.0), interval(-Inf, 3.0)) == interval(-30.0,Inf)
    @test *(interval(-10.0,-5.0), interval(-5.0, Inf)) == interval(-Inf,50.0)
    @test *(interval(-10.0,-5.0), interval(1.0, Inf)) == interval(-Inf,-5.0)
    @test *(interval(-10.0,-5.0), entireinterval()) == entireinterval()
    @test *(interval(0x1.999999999999AP-4,0x1.FFFFFFFFFFFFP+0), interval(-0x1.FFFFFFFFFFFFP+0, Inf)) == interval(-0x1.FFFFFFFFFFFE1P+1,Inf)
    @test *(interval(-0x1.999999999999AP-4,0x1.FFFFFFFFFFFFP+0), interval(-0x1.FFFFFFFFFFFFP+0,-0x1.999999999999AP-4)) == interval(-0x1.FFFFFFFFFFFE1P+1,0x1.999999999998EP-3)
    @test *(interval(-0x1.999999999999AP-4,0x1.999999999999AP-4), interval(-0x1.FFFFFFFFFFFFP+0,0x1.999999999999AP-4)) == interval(-0x1.999999999998EP-3,0x1.999999999998EP-3)
    @test *(interval(-0x1.FFFFFFFFFFFFP+0,-0x1.999999999999AP-4), interval(0x1.999999999999AP-4,0x1.FFFFFFFFFFFFP+0)) == interval(-0x1.FFFFFFFFFFFE1P+1,-0x1.47AE147AE147BP-7)
end

@testset "minimal_div_test" begin
    @test /(emptyinterval(), emptyinterval()) == emptyinterval()
    @test /(interval(-1.0,1.0), emptyinterval()) == emptyinterval()
    @test /(emptyinterval(), interval(-1.0,1.0)) == emptyinterval()
    @test /(emptyinterval(), interval(0.1,1.0)) == emptyinterval()
    @test /(emptyinterval(), interval(-1.0,-0.1)) == emptyinterval()
    @test /(emptyinterval(), entireinterval()) == emptyinterval()
    @test /(entireinterval(), emptyinterval()) == emptyinterval()
    @test /(interval(0.0,0.0), emptyinterval()) == emptyinterval()
    @test /(emptyinterval(), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(-0.0,-0.0), emptyinterval()) == emptyinterval()
    @test /(emptyinterval(), interval(-0.0,-0.0)) == emptyinterval()
    @test /(entireinterval(), interval(-5.0, -3.0)) == entireinterval()
    @test /(entireinterval(), interval(3.0, 5.0)) == entireinterval()
    @test /(entireinterval(), interval(-Inf, -3.0)) == entireinterval()
    @test /(entireinterval(), interval(3.0,Inf)) == entireinterval()
    @test /(entireinterval(), interval(0.0,0.0)) == emptyinterval()
    @test /(entireinterval(), interval(-0.0,-0.0)) == emptyinterval()
    @test /(entireinterval(), interval(-3.0, 0.0)) == entireinterval()
    @test /(entireinterval(), interval(-3.0, -0.0)) == entireinterval()
    @test /(entireinterval(), interval(-3.0, 3.0)) == entireinterval()
    @test /(entireinterval(), interval(0.0, 3.0)) == entireinterval()
    @test /(entireinterval(), interval(-Inf, 0.0)) == entireinterval()
    @test /(entireinterval(), interval(-0.0, 3.0)) == entireinterval()
    @test /(entireinterval(), interval(-Inf, -0.0)) == entireinterval()
    @test /(entireinterval(), interval(-Inf, 3.0)) == entireinterval()
    @test /(entireinterval(), interval(-3.0, Inf)) == entireinterval()
    @test /(entireinterval(), interval(0.0, Inf)) == entireinterval()
    @test /(entireinterval(), interval(-0.0, Inf)) == entireinterval()
    @test /(entireinterval(), entireinterval()) == entireinterval()
    @test /(interval(-30.0,-15.0), interval(-5.0, -3.0)) == interval(3.0,10.0)
    @test /(interval(-30.0,-15.0), interval(3.0, 5.0)) == interval(-10.0,-3.0)
    @test /(interval(-30.0,-15.0), interval(-Inf, -3.0)) == interval(0.0,10.0)
    @test /(interval(-30.0,-15.0), interval(3.0,Inf)) == interval(-10.0,0.0)
    @test /(interval(-30.0,-15.0), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(-30.0,-15.0), interval(-3.0, 0.0)) == interval(5.0,Inf)
    @test /(interval(-30.0,-15.0), interval(-0.0,-0.0)) == emptyinterval()
    @test /(interval(-30.0,-15.0), interval(-3.0, -0.0)) == interval(5.0,Inf)
    @test /(interval(-30.0,-15.0), interval(-3.0, 3.0)) == entireinterval()
    @test /(interval(-30.0,-15.0), interval(0.0, 3.0)) == interval(-Inf,-5.0)
    @test /(interval(-30.0,-15.0), interval(-Inf, 0.0)) == interval(0.0,Inf)
    @test /(interval(-30.0,-15.0), interval(-0.0, 3.0)) == interval(-Inf,-5.0)
    @test /(interval(-30.0,-15.0), interval(-Inf, -0.0)) == interval(0.0,Inf)
    @test /(interval(-30.0,-15.0), interval(-Inf, 3.0)) == entireinterval()
    @test /(interval(-30.0,-15.0), interval(-3.0, Inf)) == entireinterval()
    @test /(interval(-30.0,-15.0), interval(0.0, Inf)) == interval(-Inf,0.0)
    @test /(interval(-30.0,-15.0), interval(-0.0, Inf)) == interval(-Inf,0.0)
    @test /(interval(-30.0,-15.0), entireinterval()) == entireinterval()
    @test /(interval(-30.0,15.0), interval(-5.0, -3.0)) == interval(-5.0,10.0)
    @test /(interval(-30.0,15.0), interval(3.0, 5.0)) == interval(-10.0,5.0)
    @test /(interval(-30.0,15.0), interval(-Inf, -3.0)) == interval(-5.0,10.0)
    @test /(interval(-30.0,15.0), interval(3.0,Inf)) == interval(-10.0,5.0)
    @test /(interval(-30.0,15.0), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(-30.0,15.0), interval(-0.0,-0.0)) == emptyinterval()
    @test /(interval(-30.0,15.0), interval(-3.0, 0.0)) == entireinterval()
    @test /(interval(-30.0,15.0), interval(-3.0, -0.0)) == entireinterval()
    @test /(interval(-30.0,15.0), interval(-3.0, 3.0)) == entireinterval()
    @test /(interval(-30.0,15.0), interval(0.0, 3.0)) == entireinterval()
    @test /(interval(-30.0,15.0), interval(-Inf, 0.0)) == entireinterval()
    @test /(interval(-30.0,15.0), interval(-0.0, 3.0)) == entireinterval()
    @test /(interval(-30.0,15.0), interval(-Inf, -0.0)) == entireinterval()
    @test /(interval(-30.0,15.0), interval(-Inf, 3.0)) == entireinterval()
    @test /(interval(-30.0,15.0), interval(-3.0, Inf)) == entireinterval()
    @test /(interval(-30.0,15.0), interval(0.0, Inf)) == entireinterval()
    @test /(interval(-30.0,15.0), interval(-0.0, Inf)) == entireinterval()
    @test /(interval(-30.0,15.0), entireinterval()) == entireinterval()
    @test /(interval(15.0,30.0), interval(-5.0, -3.0)) == interval(-10.0,-3.0)
    @test /(interval(15.0,30.0), interval(3.0, 5.0)) == interval(3.0,10.0)
    @test /(interval(15.0,30.0), interval(-Inf, -3.0)) == interval(-10.0,0.0)
    @test /(interval(15.0,30.0), interval(3.0,Inf)) == interval(0.0,10.0)
    @test /(interval(15.0,30.0), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(15.0,30.0), interval(-3.0, 0.0)) == interval(-Inf,-5.0)
    @test /(interval(15.0,30.0), interval(-0.0,-0.0)) == emptyinterval()
    @test /(interval(15.0,30.0), interval(-3.0, -0.0)) == interval(-Inf,-5.0)
    @test /(interval(15.0,30.0), interval(-3.0, 3.0)) == entireinterval()
    @test /(interval(15.0,30.0), interval(0.0, 3.0)) == interval(5.0,Inf)
    @test /(interval(15.0,30.0), interval(-Inf, 0.0)) == interval(-Inf,0.0)
    @test /(interval(15.0,30.0), interval(-0.0, 3.0)) == interval(5.0,Inf)
    @test /(interval(15.0,30.0), interval(-Inf, -0.0)) == interval(-Inf,0.0)
    @test /(interval(15.0,30.0), interval(-Inf, 3.0)) == entireinterval()
    @test /(interval(15.0,30.0), interval(-3.0, Inf)) == entireinterval()
    @test /(interval(15.0,30.0), interval(0.0, Inf)) == interval(0.0,Inf)
    @test /(interval(15.0,30.0), interval(-0.0, Inf)) == interval(0.0,Inf)
    @test /(interval(15.0,30.0), entireinterval()) == entireinterval()
    @test /(interval(0.0,0.0), interval(-5.0, -3.0)) == interval(0.0,0.0)
    @test /(interval(0.0,0.0), interval(3.0, 5.0)) == interval(0.0,0.0)
    @test /(interval(0.0,0.0), interval(-Inf, -3.0)) == interval(0.0,0.0)
    @test /(interval(0.0,0.0), interval(3.0,Inf)) == interval(0.0,0.0)
    @test /(interval(0.0,0.0), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(0.0,0.0), interval(-3.0, 0.0)) == interval(0.0,0.0)
    @test /(interval(0.0,0.0), interval(-0.0,-0.0)) == emptyinterval()
    @test /(interval(0.0,0.0), interval(-3.0, -0.0)) == interval(0.0,0.0)
    @test /(interval(0.0,0.0), interval(-3.0, 3.0)) == interval(0.0,0.0)
    @test /(interval(0.0,0.0), interval(0.0, 3.0)) == interval(0.0,0.0)
    @test /(interval(0.0,0.0), interval(-Inf, 0.0)) == interval(0.0,0.0)
    @test /(interval(0.0,0.0), interval(-0.0, 3.0)) == interval(0.0,0.0)
    @test /(interval(0.0,0.0), interval(-Inf, -0.0)) == interval(0.0,0.0)
    @test /(interval(0.0,0.0), interval(-Inf, 3.0)) == interval(0.0,0.0)
    @test /(interval(0.0,0.0), interval(-3.0, Inf)) == interval(0.0,0.0)
    @test /(interval(0.0,0.0), interval(0.0, Inf)) == interval(0.0,0.0)
    @test /(interval(0.0,0.0), interval(-0.0, Inf)) == interval(0.0,0.0)
    @test /(interval(0.0,0.0), entireinterval()) == interval(0.0,0.0)
    @test /(interval(-0.0,-0.0), interval(-5.0, -3.0)) == interval(0.0,0.0)
    @test /(interval(-0.0,-0.0), interval(3.0, 5.0)) == interval(0.0,0.0)
    @test /(interval(-0.0,-0.0), interval(-Inf, -3.0)) == interval(0.0,0.0)
    @test /(interval(-0.0,-0.0), interval(3.0,Inf)) == interval(0.0,0.0)
    @test /(interval(-0.0,-0.0), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(-0.0,-0.0), interval(-3.0, 0.0)) == interval(0.0,0.0)
    @test /(interval(-0.0,-0.0), interval(-0.0,-0.0)) == emptyinterval()
    @test /(interval(-0.0,-0.0), interval(-3.0, -0.0)) == interval(0.0,0.0)
    @test /(interval(-0.0,-0.0), interval(-3.0, 3.0)) == interval(0.0,0.0)
    @test /(interval(-0.0,-0.0), interval(0.0, 3.0)) == interval(0.0,0.0)
    @test /(interval(-0.0,-0.0), interval(-Inf, 0.0)) == interval(0.0,0.0)
    @test /(interval(-0.0,-0.0), interval(-0.0, 3.0)) == interval(0.0,0.0)
    @test /(interval(-0.0,-0.0), interval(-Inf, -0.0)) == interval(0.0,0.0)
    @test /(interval(-0.0,-0.0), interval(-Inf, 3.0)) == interval(0.0,0.0)
    @test /(interval(-0.0,-0.0), interval(-3.0, Inf)) == interval(0.0,0.0)
    @test /(interval(-0.0,-0.0), interval(0.0, Inf)) == interval(0.0,0.0)
    @test /(interval(-0.0,-0.0), interval(-0.0, Inf)) == interval(0.0,0.0)
    @test /(interval(-0.0,-0.0), entireinterval()) == interval(0.0,0.0)
    @test /(interval(-Inf,-15.0), interval(-5.0, -3.0)) == interval(3.0,Inf)
    @test /(interval(-Inf,-15.0), interval(3.0, 5.0)) == interval(-Inf,-3.0)
    @test /(interval(-Inf,-15.0), interval(-Inf, -3.0)) == interval(0.0,Inf)
    @test /(interval(-Inf,-15.0), interval(3.0,Inf)) == interval(-Inf,0.0)
    @test /(interval(-Inf,-15.0), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(-Inf,-15.0), interval(-3.0, 0.0)) == interval(5.0,Inf)
    @test /(interval(-Inf,-15.0), interval(-0.0,-0.0)) == emptyinterval()
    @test /(interval(-Inf,-15.0), interval(-3.0, -0.0)) == interval(5.0,Inf)
    @test /(interval(-Inf,-15.0), interval(-3.0, 3.0)) == entireinterval()
    @test /(interval(-Inf,-15.0), interval(0.0, 3.0)) == interval(-Inf,-5.0)
    @test /(interval(-Inf,-15.0), interval(-Inf, 0.0)) == interval(0.0,Inf)
    @test /(interval(-Inf,-15.0), interval(-0.0, 3.0)) == interval(-Inf,-5.0)
    @test /(interval(-Inf,-15.0), interval(-Inf, -0.0)) == interval(0.0,Inf)
    @test /(interval(-Inf,-15.0), interval(-Inf, 3.0)) == entireinterval()
    @test /(interval(-Inf,-15.0), interval(-3.0, Inf)) == entireinterval()
    @test /(interval(-Inf,-15.0), interval(0.0, Inf)) == interval(-Inf,0.0)
    @test /(interval(-Inf,-15.0), interval(-0.0, Inf)) == interval(-Inf,0.0)
    @test /(interval(-Inf,-15.0), entireinterval()) == entireinterval()
    @test /(interval(-Inf,15.0), interval(-5.0, -3.0)) == interval(-5.0,Inf)
    @test /(interval(-Inf,15.0), interval(3.0, 5.0)) == interval(-Inf,5.0)
    @test /(interval(-Inf,15.0), interval(-Inf, -3.0)) == interval(-5.0,Inf)
    @test /(interval(-Inf,15.0), interval(3.0,Inf)) == interval(-Inf,5.0)
    @test /(interval(-Inf,15.0), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(-Inf,15.0), interval(-3.0, 0.0)) == entireinterval()
    @test /(interval(-Inf,15.0), interval(-0.0,-0.0)) == emptyinterval()
    @test /(interval(-Inf,15.0), interval(-3.0, -0.0)) == entireinterval()
    @test /(interval(-Inf,15.0), interval(-3.0, 3.0)) == entireinterval()
    @test /(interval(-Inf,15.0), interval(0.0, 3.0)) == entireinterval()
    @test /(interval(-Inf,15.0), interval(-Inf, 0.0)) == entireinterval()
    @test /(interval(-Inf,15.0), interval(-0.0, 3.0)) == entireinterval()
    @test /(interval(-Inf,15.0), interval(-Inf, -0.0)) == entireinterval()
    @test /(interval(-Inf,15.0), interval(-Inf, 3.0)) == entireinterval()
    @test /(interval(-Inf,15.0), interval(-3.0, Inf)) == entireinterval()
    @test /(interval(-Inf,15.0), interval(0.0, Inf)) == entireinterval()
    @test /(interval(-Inf,15.0), interval(-0.0, Inf)) == entireinterval()
    @test /(interval(-Inf,15.0), entireinterval()) == entireinterval()
    @test /(interval(-15.0,Inf), interval(-5.0, -3.0)) == interval(-Inf,5.0)
    @test /(interval(-15.0,Inf), interval(3.0, 5.0)) == interval(-5.0,Inf)
    @test /(interval(-15.0,Inf), interval(-Inf, -3.0)) == interval(-Inf,5.0)
    @test /(interval(-15.0,Inf), interval(3.0,Inf)) == interval(-5.0,Inf)
    @test /(interval(-15.0,Inf), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(-15.0,Inf), interval(-3.0, 0.0)) == entireinterval()
    @test /(interval(-15.0,Inf), interval(-0.0,-0.0)) == emptyinterval()
    @test /(interval(-15.0,Inf), interval(-3.0, -0.0)) == entireinterval()
    @test /(interval(-15.0,Inf), interval(-3.0, 3.0)) == entireinterval()
    @test /(interval(-15.0,Inf), interval(0.0, 3.0)) == entireinterval()
    @test /(interval(-15.0,Inf), interval(-Inf, 0.0)) == entireinterval()
    @test /(interval(-15.0,Inf), interval(-0.0, 3.0)) == entireinterval()
    @test /(interval(-15.0,Inf), interval(-Inf, -0.0)) == entireinterval()
    @test /(interval(-15.0,Inf), interval(-Inf, 3.0)) == entireinterval()
    @test /(interval(-15.0,Inf), interval(-3.0, Inf)) == entireinterval()
    @test /(interval(-15.0,Inf), interval(0.0, Inf)) == entireinterval()
    @test /(interval(-15.0,Inf), interval(-0.0, Inf)) == entireinterval()
    @test /(interval(-15.0,Inf), entireinterval()) == entireinterval()
    @test /(interval(15.0,Inf), interval(-5.0, -3.0)) == interval(-Inf,-3.0)
    @test /(interval(15.0,Inf), interval(3.0, 5.0)) == interval(3.0,Inf)
    @test /(interval(15.0,Inf), interval(-Inf, -3.0)) == interval(-Inf,0.0)
    @test /(interval(15.0,Inf), interval(3.0,Inf)) == interval(0.0,Inf)
    @test /(interval(15.0,Inf), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(15.0,Inf), interval(-3.0, 0.0)) == interval(-Inf,-5.0)
    @test /(interval(15.0,Inf), interval(-0.0,-0.0)) == emptyinterval()
    @test /(interval(15.0,Inf), interval(-3.0, -0.0)) == interval(-Inf,-5.0)
    @test /(interval(15.0,Inf), interval(-3.0, 3.0)) == entireinterval()
    @test /(interval(15.0,Inf), interval(0.0, 3.0)) == interval(5.0,Inf)
    @test /(interval(15.0,Inf), interval(-Inf, 0.0)) == interval(-Inf,0.0)
    @test /(interval(15.0,Inf), interval(-0.0, 3.0)) == interval(5.0,Inf)
    @test /(interval(15.0,Inf), interval(-Inf, -0.0)) == interval(-Inf,0.0)
    @test /(interval(15.0,Inf), interval(-Inf, 3.0)) == entireinterval()
    @test /(interval(15.0,Inf), interval(-3.0, Inf)) == entireinterval()
    @test /(interval(15.0,Inf), interval(0.0, Inf)) == interval(0.0,Inf)
    @test /(interval(15.0,Inf), interval(-0.0, Inf)) == interval(0.0,Inf)
    @test /(interval(15.0,Inf), entireinterval()) == entireinterval()
    @test /(interval(-30.0,0.0), interval(-5.0, -3.0)) == interval(0.0,10.0)
    @test /(interval(-30.0,0.0), interval(3.0, 5.0)) == interval(-10.0,0.0)
    @test /(interval(-30.0,0.0), interval(-Inf, -3.0)) == interval(0.0,10.0)
    @test /(interval(-30.0,0.0), interval(3.0,Inf)) == interval(-10.0,0.0)
    @test /(interval(-30.0,0.0), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(-30.0,0.0), interval(-3.0, 0.0)) == interval(0.0,Inf)
    @test /(interval(-30.0,0.0), interval(-0.0,-0.0)) == emptyinterval()
    @test /(interval(-30.0,0.0), interval(-3.0, -0.0)) == interval(0.0,Inf)
    @test /(interval(-30.0,0.0), interval(-3.0, 3.0)) == entireinterval()
    @test /(interval(-30.0,0.0), interval(0.0, 3.0)) == interval(-Inf,0.0)
    @test /(interval(-30.0,0.0), interval(-Inf, 0.0)) == interval(0.0,Inf)
    @test /(interval(-30.0,0.0), interval(-0.0, 3.0)) == interval(-Inf,0.0)
    @test /(interval(-30.0,0.0), interval(-Inf, -0.0)) == interval(0.0,Inf)
    @test /(interval(-30.0,0.0), interval(-Inf, 3.0)) == entireinterval()
    @test /(interval(-30.0,0.0), interval(-3.0, Inf)) == entireinterval()
    @test /(interval(-30.0,0.0), interval(0.0, Inf)) == interval(-Inf,0.0)
    @test /(interval(-30.0,0.0), interval(-0.0, Inf)) == interval(-Inf,0.0)
    @test /(interval(-30.0,0.0), entireinterval()) == entireinterval()
    @test /(interval(-30.0,-0.0), interval(-5.0, -3.0)) == interval(0.0,10.0)
    @test /(interval(-30.0,-0.0), interval(3.0, 5.0)) == interval(-10.0,0.0)
    @test /(interval(-30.0,-0.0), interval(-Inf, -3.0)) == interval(0.0,10.0)
    @test /(interval(-30.0,-0.0), interval(3.0,Inf)) == interval(-10.0,0.0)
    @test /(interval(-30.0,-0.0), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(-30.0,-0.0), interval(-3.0, 0.0)) == interval(0.0,Inf)
    @test /(interval(-30.0,-0.0), interval(-0.0,-0.0)) == emptyinterval()
    @test /(interval(-30.0,-0.0), interval(-3.0, -0.0)) == interval(0.0,Inf)
    @test /(interval(-30.0,-0.0), interval(-3.0, 3.0)) == entireinterval()
    @test /(interval(-30.0,-0.0), interval(0.0, 3.0)) == interval(-Inf,0.0)
    @test /(interval(-30.0,-0.0), interval(-Inf, 0.0)) == interval(0.0,Inf)
    @test /(interval(-30.0,-0.0), interval(-0.0, 3.0)) == interval(-Inf,0.0)
    @test /(interval(-30.0,-0.0), interval(-Inf, -0.0)) == interval(0.0,Inf)
    @test /(interval(-30.0,-0.0), interval(-Inf, 3.0)) == entireinterval()
    @test /(interval(-30.0,-0.0), interval(-3.0, Inf)) == entireinterval()
    @test /(interval(-30.0,-0.0), interval(0.0, Inf)) == interval(-Inf,0.0)
    @test /(interval(-30.0,-0.0), interval(-0.0, Inf)) == interval(-Inf,0.0)
    @test /(interval(-30.0,-0.0), entireinterval()) == entireinterval()
    @test /(interval(0.0,30.0), interval(-5.0, -3.0)) == interval(-10.0,0.0)
    @test /(interval(0.0,30.0), interval(3.0, 5.0)) == interval(0.0,10.0)
    @test /(interval(0.0,30.0), interval(-Inf, -3.0)) == interval(-10.0,0.0)
    @test /(interval(0.0,30.0), interval(3.0,Inf)) == interval(0.0,10.0)
    @test /(interval(0.0,30.0), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(0.0,30.0), interval(-3.0, 0.0)) == interval(-Inf,0.0)
    @test /(interval(0.0,30.0), interval(-0.0,-0.0)) == emptyinterval()
    @test /(interval(0.0,30.0), interval(-3.0, -0.0)) == interval(-Inf,0.0)
    @test /(interval(0.0,30.0), interval(-3.0, 3.0)) == entireinterval()
    @test /(interval(0.0,30.0), interval(0.0, 3.0)) == interval(0.0,Inf)
    @test /(interval(0.0,30.0), interval(-Inf, 0.0)) == interval(-Inf,0.0)
    @test /(interval(0.0,30.0), interval(-0.0, 3.0)) == interval(0.0,Inf)
    @test /(interval(0.0,30.0), interval(-Inf, -0.0)) == interval(-Inf,0.0)
    @test /(interval(0.0,30.0), interval(-Inf, 3.0)) == entireinterval()
    @test /(interval(0.0,30.0), interval(-3.0, Inf)) == entireinterval()
    @test /(interval(0.0,30.0), interval(0.0, Inf)) == interval(0.0,Inf)
    @test /(interval(0.0,30.0), interval(-0.0, Inf)) == interval(0.0,Inf)
    @test /(interval(0.0,30.0), entireinterval()) == entireinterval()
    @test /(interval(-0.0,30.0), interval(-5.0, -3.0)) == interval(-10.0,0.0)
    @test /(interval(-0.0,30.0), interval(3.0, 5.0)) == interval(0.0,10.0)
    @test /(interval(-0.0,30.0), interval(-Inf, -3.0)) == interval(-10.0,0.0)
    @test /(interval(-0.0,30.0), interval(3.0,Inf)) == interval(0.0,10.0)
    @test /(interval(-0.0,30.0), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(-0.0,30.0), interval(-3.0, 0.0)) == interval(-Inf,0.0)
    @test /(interval(-0.0,30.0), interval(-0.0,-0.0)) == emptyinterval()
    @test /(interval(-0.0,30.0), interval(-3.0, -0.0)) == interval(-Inf,0.0)
    @test /(interval(-0.0,30.0), interval(-3.0, 3.0)) == entireinterval()
    @test /(interval(-0.0,30.0), interval(0.0, 3.0)) == interval(0.0,Inf)
    @test /(interval(-0.0,30.0), interval(-Inf, 0.0)) == interval(-Inf,0.0)
    @test /(interval(-0.0,30.0), interval(-0.0, 3.0)) == interval(0.0,Inf)
    @test /(interval(-0.0,30.0), interval(-Inf, -0.0)) == interval(-Inf,0.0)
    @test /(interval(-0.0,30.0), interval(-Inf, 3.0)) == entireinterval()
    @test /(interval(-0.0,30.0), interval(-3.0, Inf)) == entireinterval()
    @test /(interval(-0.0,30.0), interval(0.0, Inf)) == interval(0.0,Inf)
    @test /(interval(-0.0,30.0), interval(-0.0, Inf)) == interval(0.0,Inf)
    @test /(interval(-0.0,30.0), entireinterval()) == entireinterval()
    @test /(interval(-Inf,0.0), interval(-5.0, -3.0)) == interval(0.0,Inf)
    @test /(interval(-Inf,0.0), interval(3.0, 5.0)) == interval(-Inf,0.0)
    @test /(interval(-Inf,0.0), interval(-Inf, -3.0)) == interval(0.0,Inf)
    @test /(interval(-Inf,0.0), interval(3.0,Inf)) == interval(-Inf,0.0)
    @test /(interval(-Inf,0.0), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(-Inf,0.0), interval(-3.0, 0.0)) == interval(0.0,Inf)
    @test /(interval(-Inf,0.0), interval(-0.0,-0.0)) == emptyinterval()
    @test /(interval(-Inf,0.0), interval(-3.0, -0.0)) == interval(0.0,Inf)
    @test /(interval(-Inf,0.0), interval(-3.0, 3.0)) == entireinterval()
    @test /(interval(-Inf,0.0), interval(0.0, 3.0)) == interval(-Inf,0.0)
    @test /(interval(-Inf,0.0), interval(-Inf, 0.0)) == interval(0.0,Inf)
    @test /(interval(-Inf,0.0), interval(-0.0, 3.0)) == interval(-Inf,0.0)
    @test /(interval(-Inf,0.0), interval(-Inf, -0.0)) == interval(0.0,Inf)
    @test /(interval(-Inf,0.0), interval(-Inf, 3.0)) == entireinterval()
    @test /(interval(-Inf,0.0), interval(-3.0, Inf)) == entireinterval()
    @test /(interval(-Inf,0.0), interval(0.0, Inf)) == interval(-Inf,0.0)
    @test /(interval(-Inf,0.0), interval(-0.0, Inf)) == interval(-Inf,0.0)
    @test /(interval(-Inf,0.0), entireinterval()) == entireinterval()
    @test /(interval(-Inf,-0.0), interval(-5.0, -3.0)) == interval(0.0,Inf)
    @test /(interval(-Inf,-0.0), interval(3.0, 5.0)) == interval(-Inf,0.0)
    @test /(interval(-Inf,-0.0), interval(-Inf, -3.0)) == interval(0.0,Inf)
    @test /(interval(-Inf,-0.0), interval(3.0,Inf)) == interval(-Inf,0.0)
    @test /(interval(-Inf,-0.0), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(-Inf,-0.0), interval(-3.0, 0.0)) == interval(0.0,Inf)
    @test /(interval(-Inf,-0.0), interval(-0.0,-0.0)) == emptyinterval()
    @test /(interval(-Inf,-0.0), interval(-3.0, -0.0)) == interval(0.0,Inf)
    @test /(interval(-Inf,-0.0), interval(-3.0, 3.0)) == entireinterval()
    @test /(interval(-Inf,-0.0), interval(0.0, 3.0)) == interval(-Inf,0.0)
    @test /(interval(-Inf,-0.0), interval(-Inf, 0.0)) == interval(0.0,Inf)
    @test /(interval(-Inf,-0.0), interval(-0.0, 3.0)) == interval(-Inf,0.0)
    @test /(interval(-Inf,-0.0), interval(-Inf, -0.0)) == interval(0.0,Inf)
    @test /(interval(-Inf,-0.0), interval(-Inf, 3.0)) == entireinterval()
    @test /(interval(-Inf,-0.0), interval(-3.0, Inf)) == entireinterval()
    @test /(interval(-Inf,-0.0), interval(0.0, Inf)) == interval(-Inf,0.0)
    @test /(interval(-Inf,-0.0), interval(-0.0, Inf)) == interval(-Inf,0.0)
    @test /(interval(-Inf,-0.0), entireinterval()) == entireinterval()
    @test /(interval(0.0,Inf), interval(-5.0, -3.0)) == interval(-Inf,0.0)
    @test /(interval(0.0,Inf), interval(3.0, 5.0)) == interval(0.0,Inf)
    @test /(interval(0.0,Inf), interval(-Inf, -3.0)) == interval(-Inf,0.0)
    @test /(interval(0.0,Inf), interval(3.0,Inf)) == interval(0.0,Inf)
    @test /(interval(0.0,Inf), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(0.0,Inf), interval(-3.0, 0.0)) == interval(-Inf,0.0)
    @test /(interval(0.0,Inf), interval(-0.0,-0.0)) == emptyinterval()
    @test /(interval(0.0,Inf), interval(-3.0, -0.0)) == interval(-Inf,0.0)
    @test /(interval(0.0,Inf), interval(-3.0, 3.0)) == entireinterval()
    @test /(interval(0.0,Inf), interval(0.0, 3.0)) == interval(0.0,Inf)
    @test /(interval(0.0,Inf), interval(-Inf, 0.0)) == interval(-Inf,0.0)
    @test /(interval(0.0,Inf), interval(-0.0, 3.0)) == interval(0.0,Inf)
    @test /(interval(0.0,Inf), interval(-Inf, -0.0)) == interval(-Inf,0.0)
    @test /(interval(0.0,Inf), interval(-Inf, 3.0)) == entireinterval()
    @test /(interval(0.0,Inf), interval(-3.0, Inf)) == entireinterval()
    @test /(interval(0.0,Inf), interval(0.0, Inf)) == interval(0.0,Inf)
    @test /(interval(0.0,Inf), interval(-0.0, Inf)) == interval(0.0,Inf)
    @test /(interval(0.0,Inf), entireinterval()) == entireinterval()
    @test /(interval(-0.0,Inf), interval(-5.0, -3.0)) == interval(-Inf,0.0)
    @test /(interval(-0.0,Inf), interval(3.0, 5.0)) == interval(0.0,Inf)
    @test /(interval(-0.0,Inf), interval(-Inf, -3.0)) == interval(-Inf,0.0)
    @test /(interval(-0.0,Inf), interval(3.0,Inf)) == interval(0.0,Inf)
    @test /(interval(-0.0,Inf), interval(0.0,0.0)) == emptyinterval()
    @test /(interval(-0.0,Inf), interval(-3.0, 0.0)) == interval(-Inf,0.0)
    @test /(interval(-0.0,Inf), interval(-0.0,-0.0)) == emptyinterval()
    @test /(interval(-0.0,Inf), interval(-3.0, -0.0)) == interval(-Inf,0.0)
    @test /(interval(-0.0,Inf), interval(-3.0, 3.0)) == entireinterval()
    @test /(interval(-0.0,Inf), interval(0.0, 3.0)) == interval(0.0,Inf)
    @test /(interval(-0.0,Inf), interval(-Inf, 0.0)) == interval(-Inf,0.0)
    @test /(interval(-0.0,Inf), interval(-0.0, 3.0)) == interval(0.0,Inf)
    @test /(interval(-0.0,Inf), interval(-Inf, -0.0)) == interval(-Inf,0.0)
    @test /(interval(-0.0,Inf), interval(-Inf, 3.0)) == entireinterval()
    @test /(interval(-0.0,Inf), interval(-3.0, Inf)) == entireinterval()
    @test /(interval(-0.0,Inf), interval(0.0, Inf)) == interval(0.0,Inf)
    @test /(interval(-0.0,Inf), interval(-0.0, Inf)) == interval(0.0,Inf)
    @test /(interval(-0.0,Inf), entireinterval()) == entireinterval()
    @test /(interval(-2.0,-1.0), interval(-10.0, -3.0)) == interval(0x1.9999999999999P-4,0x1.5555555555556P-1)
    @test /(interval(-2.0,-1.0), interval(0.0, 10.0)) == interval(-Inf,-0x1.9999999999999P-4)
    @test /(interval(-2.0,-1.0), interval(-0.0, 10.0)) == interval(-Inf,-0x1.9999999999999P-4)
    @test /(interval(-1.0,2.0), interval(10.0,Inf)) == interval(-0x1.999999999999AP-4,0x1.999999999999AP-3)
    @test /(interval(1.0,3.0), interval(-Inf, -10.0)) == interval(-0x1.3333333333334P-2,0.0)
    @test /(interval(-Inf,-1.0), interval(1.0, 3.0)) == interval(-Inf,-0x1.5555555555555P-2)
end

@testset "minimal_recip_test" begin
    @test inv(interval(-50.0, -10.0)) == interval(-0x1.999999999999AP-4,-0x1.47AE147AE147AP-6)
    @test inv(interval(10.0, 50.0)) == interval(0x1.47AE147AE147AP-6,0x1.999999999999AP-4)
    @test inv(interval(-Inf, -10.0)) == interval(-0x1.999999999999AP-4,0.0)
    @test inv(interval(10.0,Inf)) == interval(0.0,0x1.999999999999AP-4)
    @test inv(interval(0.0,0.0)) == emptyinterval()
    @test inv(interval(-0.0,-0.0)) == emptyinterval()
    @test inv(interval(-10.0, 0.0)) == interval(-Inf,-0x1.9999999999999P-4)
    @test inv(interval(-10.0, -0.0)) == interval(-Inf,-0x1.9999999999999P-4)
    @test inv(interval(-10.0, 10.0)) == entireinterval()
    @test inv(interval(0.0, 10.0)) == interval(0x1.9999999999999P-4,Inf)
    @test inv(interval(-0.0, 10.0)) == interval(0x1.9999999999999P-4,Inf)
    @test inv(interval(-Inf, 0.0)) == interval(-Inf,0.0)
    @test inv(interval(-Inf, -0.0)) == interval(-Inf,0.0)
    @test inv(interval(-Inf, 10.0)) == entireinterval()
    @test inv(interval(-10.0, Inf)) == entireinterval()
    @test inv(interval(0.0, Inf)) == interval(0.0,Inf)
    @test inv(interval(-0.0, Inf)) == interval(0.0,Inf)
    @test inv(entireinterval()) == entireinterval()
end

@testset "minimal_sqr_test" begin
    @test abs2(emptyinterval()) == emptyinterval()
    @test abs2(entireinterval()) == interval(0.0,Inf)
    @test abs2(interval(-Inf,-0x0.0000000000001p-1022)) == interval(0.0,Inf)
    @test abs2(interval(-1.0,1.0)) == interval(0.0,1.0)
    @test abs2(interval(0.0,1.0)) == interval(0.0,1.0)
    @test abs2(interval(-0.0,1.0)) == interval(0.0,1.0)
    @test abs2(interval(-5.0,3.0)) == interval(0.0,25.0)
    @test abs2(interval(-5.0,0.0)) == interval(0.0,25.0)
    @test abs2(interval(-5.0,-0.0)) == interval(0.0,25.0)
    @test abs2(interval(0x1.999999999999AP-4,0x1.999999999999AP-4)) == interval(0x1.47AE147AE147BP-7,0x1.47AE147AE147CP-7)
    @test abs2(interval(-0x1.FFFFFFFFFFFFP+0,0x1.999999999999AP-4)) == interval(0.0,0x1.FFFFFFFFFFFE1P+1)
    @test abs2(interval(-0x1.FFFFFFFFFFFFP+0,-0x1.FFFFFFFFFFFFP+0)) == interval(0x1.FFFFFFFFFFFEP+1,0x1.FFFFFFFFFFFE1P+1)
end

@testset "minimal_sqrt_test" begin
    @test sqrt(emptyinterval()) == emptyinterval()
    @test sqrt(entireinterval()) == interval(0.0,Inf)
    @test sqrt(interval(-Inf,-0x0.0000000000001p-1022)) == emptyinterval()
    @test sqrt(interval(-1.0,1.0)) == interval(0.0,1.0)
    @test sqrt(interval(0.0,1.0)) == interval(0.0,1.0)
    @test sqrt(interval(-0.0,1.0)) == interval(0.0,1.0)
    @test sqrt(interval(-5.0,25.0)) == interval(0.0,5.0)
    @test sqrt(interval(0.0,25.0)) == interval(0.0,5.0)
    @test sqrt(interval(-0.0,25.0)) == interval(0.0,5.0)
    @test sqrt(interval(-5.0,Inf)) == interval(0.0,Inf)
    @test sqrt(interval(0x1.999999999999AP-4,0x1.999999999999AP-4)) == interval(0x1.43D136248490FP-2,0x1.43D136248491P-2)
    @test sqrt(interval(-0x1.FFFFFFFFFFFFP+0,0x1.999999999999AP-4)) == interval(0.0,0x1.43D136248491P-2)
    @test sqrt(interval(0x1.999999999999AP-4,0x1.FFFFFFFFFFFFP+0)) == interval(0x1.43D136248490FP-2,0x1.6A09E667F3BC7P+0)
end

@testset "minimal_fma_test" begin
    @test fma(emptyinterval(), emptyinterval(), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,1.0), emptyinterval(), emptyinterval()) == emptyinterval()
    @test fma(emptyinterval(), interval(-1.0,1.0), emptyinterval()) == emptyinterval()
    @test fma(emptyinterval(), entireinterval(), emptyinterval()) == emptyinterval()
    @test fma(entireinterval(), emptyinterval(), emptyinterval()) == emptyinterval()
    @test fma(interval(0.0,0.0), emptyinterval(), emptyinterval()) == emptyinterval()
    @test fma(interval(-0.0,-0.0), emptyinterval(), emptyinterval()) == emptyinterval()
    @test fma(emptyinterval(), interval(0.0,0.0), emptyinterval()) == emptyinterval()
    @test fma(emptyinterval(), interval(-0.0,-0.0), emptyinterval()) == emptyinterval()
    @test fma(entireinterval(), interval(0.0,0.0), emptyinterval()) == emptyinterval()
    @test fma(entireinterval(), interval(-0.0,-0.0), emptyinterval()) == emptyinterval()
    @test fma(entireinterval(), interval(-5.0, -1.0), emptyinterval()) == emptyinterval()
    @test fma(entireinterval(), interval(-5.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(entireinterval(), interval(1.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(entireinterval(), interval(-Inf, -1.0), emptyinterval()) == emptyinterval()
    @test fma(entireinterval(), interval(-Inf, 3.0), emptyinterval()) == emptyinterval()
    @test fma(entireinterval(), interval(-5.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(entireinterval(), interval(1.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(entireinterval(), entireinterval(), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,Inf), interval(0.0,0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,Inf), interval(-0.0,-0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,Inf), interval(-5.0, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,Inf), interval(-5.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,Inf), interval(1.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,Inf), interval(-Inf, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,Inf), interval(-Inf, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,Inf), interval(-5.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,Inf), interval(1.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,Inf), entireinterval(), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,Inf), interval(0.0,0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,Inf), interval(-0.0,-0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,Inf), interval(-5.0, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,Inf), interval(-5.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,Inf), interval(1.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,Inf), interval(-Inf, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,Inf), interval(-Inf, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,Inf), interval(-5.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,Inf), interval(1.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,Inf), entireinterval(), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,3.0), interval(0.0,0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,3.0), interval(-0.0,-0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,3.0), interval(-5.0, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,3.0), interval(-5.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,3.0), interval(1.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,3.0), interval(-Inf, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,3.0), interval(-Inf, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,3.0), interval(-5.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,3.0), interval(1.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,3.0), entireinterval(), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,-3.0), interval(0.0,0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,-3.0), interval(-0.0,-0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,-3.0), interval(-5.0, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,-3.0), interval(-5.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,-3.0), interval(1.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,-3.0), interval(-Inf, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,-3.0), interval(-Inf, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,-3.0), interval(-5.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,-3.0), interval(1.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(-Inf,-3.0), entireinterval(), emptyinterval()) == emptyinterval()
    @test fma(interval(0.0,0.0), interval(0.0,0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(0.0,0.0), interval(-0.0,-0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(0.0,0.0), interval(-5.0, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(0.0,0.0), interval(-5.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(0.0,0.0), interval(1.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(0.0,0.0), interval(-Inf, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(0.0,0.0), interval(-Inf, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(0.0,0.0), interval(-5.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(0.0,0.0), interval(1.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(0.0,0.0), entireinterval(), emptyinterval()) == emptyinterval()
    @test fma(interval(-0.0,-0.0), interval(0.0,0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-0.0,-0.0), interval(-0.0,-0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-0.0,-0.0), interval(-5.0, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-0.0,-0.0), interval(-5.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-0.0,-0.0), interval(1.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-0.0,-0.0), interval(-Inf, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-0.0,-0.0), interval(-Inf, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-0.0,-0.0), interval(-5.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(-0.0,-0.0), interval(1.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(-0.0,-0.0), entireinterval(), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,5.0), interval(0.0,0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,5.0), interval(-0.0,-0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,5.0), interval(-5.0, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,5.0), interval(-5.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,5.0), interval(1.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,5.0), interval(-Inf, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,5.0), interval(-Inf, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,5.0), interval(-5.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,5.0), interval(1.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(1.0,5.0), entireinterval(), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,5.0), interval(0.0,0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,5.0), interval(-0.0,-0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,5.0), interval(-5.0, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,5.0), interval(-5.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-10.0,2.0), interval(-5.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,5.0), interval(-1.0, 10.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-2.0,2.0), interval(-5.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,5.0), interval(1.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,5.0), interval(-Inf, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,5.0), interval(-Inf, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,5.0), interval(-5.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,5.0), interval(1.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(-1.0,5.0), entireinterval(), emptyinterval()) == emptyinterval()
    @test fma(interval(-10.0,-5.0), interval(0.0,0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-10.0,-5.0), interval(-0.0,-0.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-10.0,-5.0), interval(-5.0, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-10.0,-5.0), interval(-5.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-10.0,-5.0), interval(1.0, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-10.0,-5.0), interval(-Inf, -1.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-10.0,-5.0), interval(-Inf, 3.0), emptyinterval()) == emptyinterval()
    @test fma(interval(-10.0,-5.0), interval(-5.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(-10.0,-5.0), interval(1.0, Inf), emptyinterval()) == emptyinterval()
    @test fma(interval(-10.0,-5.0), entireinterval(), emptyinterval()) == emptyinterval()
    @test fma(emptyinterval(), emptyinterval(), interval(-Inf,2.0)) == emptyinterval()
    @test fma(interval(-1.0,1.0), emptyinterval(), interval(-Inf,2.0)) == emptyinterval()
    @test fma(emptyinterval(), interval(-1.0,1.0), interval(-Inf,2.0)) == emptyinterval()
    @test fma(emptyinterval(), entireinterval(), interval(-Inf,2.0)) == emptyinterval()
    @test fma(entireinterval(), emptyinterval(), interval(-Inf,2.0)) == emptyinterval()
    @test fma(interval(0.0,0.0), emptyinterval(), interval(-Inf,2.0)) == emptyinterval()
    @test fma(interval(-0.0,-0.0), emptyinterval(), interval(-Inf,2.0)) == emptyinterval()
    @test fma(emptyinterval(), interval(0.0,0.0), interval(-Inf,2.0)) == emptyinterval()
    @test fma(emptyinterval(), interval(-0.0,-0.0), interval(-Inf,2.0)) == emptyinterval()
    @test fma(entireinterval(), interval(0.0,0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(entireinterval(), interval(-0.0,-0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(entireinterval(), interval(-5.0, -1.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(entireinterval(), interval(-5.0, 3.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(entireinterval(), interval(1.0, 3.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(entireinterval(), interval(-Inf, -1.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(entireinterval(), interval(-Inf, 3.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(entireinterval(), interval(-5.0, Inf), interval(-Inf,2.0)) == entireinterval()
    @test fma(entireinterval(), interval(1.0, Inf), interval(-Inf,2.0)) == entireinterval()
    @test fma(entireinterval(), entireinterval(), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(1.0,Inf), interval(0.0,0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(1.0,Inf), interval(-0.0,-0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(1.0,Inf), interval(-5.0, -1.0), interval(-Inf,2.0)) == interval(-Inf,1.0)
    @test fma(interval(1.0,Inf), interval(-5.0, 3.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(1.0,Inf), interval(1.0, 3.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(1.0,Inf), interval(-Inf, -1.0), interval(-Inf,2.0)) == interval(-Inf,1.0)
    @test fma(interval(1.0,Inf), interval(-Inf, 3.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(1.0,Inf), interval(-5.0, Inf), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(1.0,Inf), interval(1.0, Inf), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(1.0,Inf), entireinterval(), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(0.0,0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-1.0,Inf), interval(-0.0,-0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-1.0,Inf), interval(-5.0, -1.0), interval(-Inf,2.0)) == interval(-Inf,7.0)
    @test fma(interval(-1.0,Inf), interval(-5.0, 3.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(1.0, 3.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(-Inf, -1.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(-Inf, 3.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(-5.0, Inf), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(1.0, Inf), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-1.0,Inf), entireinterval(), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(0.0,0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-Inf,3.0), interval(-0.0,-0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-Inf,3.0), interval(-5.0, -1.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(-5.0, 3.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(1.0, 3.0), interval(-Inf,2.0)) == interval(-Inf,11.0)
    @test fma(interval(-Inf,3.0), interval(-Inf, -1.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(-Inf, 3.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(-5.0, Inf), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(1.0, Inf), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-Inf,3.0), entireinterval(), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(0.0,0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-Inf,-3.0), interval(-0.0,-0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-Inf,-3.0), interval(-5.0, -1.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(-5.0, 3.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(1.0, 3.0), interval(-Inf,2.0)) == interval(-Inf,-1.0)
    @test fma(interval(-Inf,-3.0), interval(-Inf, -1.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(-Inf, 3.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(-5.0, Inf), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(1.0, Inf), interval(-Inf,2.0)) == interval(-Inf,-1.0)
    @test fma(interval(-Inf,-3.0), entireinterval(), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(0.0,0.0), interval(0.0,0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(0.0,0.0), interval(-0.0,-0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(0.0,0.0), interval(-5.0, -1.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(0.0,0.0), interval(-5.0, 3.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(0.0,0.0), interval(1.0, 3.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(0.0,0.0), interval(-Inf, -1.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(0.0,0.0), interval(-Inf, 3.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(0.0,0.0), interval(-5.0, Inf), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(0.0,0.0), interval(1.0, Inf), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(0.0,0.0), entireinterval(), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-0.0,-0.0), interval(0.0,0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-0.0,-0.0), interval(-0.0,-0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-0.0,-0.0), interval(-5.0, -1.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-0.0,-0.0), interval(-5.0, 3.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-0.0,-0.0), interval(1.0, 3.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-0.0,-0.0), interval(-Inf, -1.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-0.0,-0.0), interval(-Inf, 3.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-0.0,-0.0), interval(-5.0, Inf), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-0.0,-0.0), interval(1.0, Inf), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-0.0,-0.0), entireinterval(), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(1.0,5.0), interval(0.0,0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(1.0,5.0), interval(-0.0,-0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(1.0,5.0), interval(-5.0, -1.0), interval(-Inf,2.0)) == interval(-Inf,1.0)
    @test fma(interval(1.0,5.0), interval(-5.0, 3.0), interval(-Inf,2.0)) == interval(-Inf,17.0)
    @test fma(interval(1.0,5.0), interval(1.0, 3.0), interval(-Inf,2.0)) == interval(-Inf,17.0)
    @test fma(interval(1.0,5.0), interval(-Inf, -1.0), interval(-Inf,2.0)) == interval(-Inf,1.0)
    @test fma(interval(1.0,5.0), interval(-Inf, 3.0), interval(-Inf,2.0)) == interval(-Inf,17.0)
    @test fma(interval(1.0,5.0), interval(-5.0, Inf), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(1.0,5.0), interval(1.0, Inf), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(1.0,5.0), entireinterval(), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(0.0,0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-1.0,5.0), interval(-0.0,-0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-1.0,5.0), interval(-5.0, -1.0), interval(-Inf,2.0)) == interval(-Inf,7.0)
    @test fma(interval(-1.0,5.0), interval(-5.0, 3.0), interval(-Inf,2.0)) == interval(-Inf,17.0)
    @test fma(interval(-10.0,2.0), interval(-5.0, 3.0), interval(-Inf,2.0)) == interval(-Inf,52.0)
    @test fma(interval(-1.0,5.0), interval(-1.0, 10.0), interval(-Inf,2.0)) == interval(-Inf,52.0)
    @test fma(interval(-2.0,2.0), interval(-5.0, 3.0), interval(-Inf,2.0)) == interval(-Inf,12.0)
    @test fma(interval(-1.0,5.0), interval(1.0, 3.0), interval(-Inf,2.0)) == interval(-Inf,17.0)
    @test fma(interval(-1.0,5.0), interval(-Inf, -1.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(-Inf, 3.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(-5.0, Inf), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(1.0, Inf), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-1.0,5.0), entireinterval(), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-10.0,-5.0), interval(0.0,0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-10.0,-5.0), interval(-0.0,-0.0), interval(-Inf,2.0)) == interval(-Inf,2.0)
    @test fma(interval(-10.0,-5.0), interval(-5.0, -1.0), interval(-Inf,2.0)) == interval(-Inf,52.0)
    @test fma(interval(-10.0,-5.0), interval(-5.0, 3.0), interval(-Inf,2.0)) == interval(-Inf,52.0)
    @test fma(interval(-10.0,-5.0), interval(1.0, 3.0), interval(-Inf,2.0)) == interval(-Inf,-3.0)
    @test fma(interval(-10.0,-5.0), interval(-Inf, -1.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-10.0,-5.0), interval(-Inf, 3.0), interval(-Inf,2.0)) == entireinterval()
    @test fma(interval(-10.0,-5.0), interval(-5.0, Inf), interval(-Inf,2.0)) == interval(-Inf,52.0)
    @test fma(interval(-10.0,-5.0), interval(1.0, Inf), interval(-Inf,2.0)) == interval(-Inf,-3.0)
    @test fma(interval(-10.0,-5.0), entireinterval(), interval(-Inf,2.0)) == entireinterval()
    @test fma(emptyinterval(), emptyinterval(), interval(-2.0,2.0)) == emptyinterval()
    @test fma(interval(-1.0,1.0), emptyinterval(), interval(-2.0,2.0)) == emptyinterval()
    @test fma(emptyinterval(), interval(-1.0,1.0), interval(-2.0,2.0)) == emptyinterval()
    @test fma(emptyinterval(), entireinterval(), interval(-2.0,2.0)) == emptyinterval()
    @test fma(entireinterval(), emptyinterval(), interval(-2.0,2.0)) == emptyinterval()
    @test fma(interval(0.0,0.0), emptyinterval(), interval(-2.0,2.0)) == emptyinterval()
    @test fma(interval(-0.0,-0.0), emptyinterval(), interval(-2.0,2.0)) == emptyinterval()
    @test fma(emptyinterval(), interval(0.0,0.0), interval(-2.0,2.0)) == emptyinterval()
    @test fma(emptyinterval(), interval(-0.0,-0.0), interval(-2.0,2.0)) == emptyinterval()
    @test fma(entireinterval(), interval(0.0,0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(entireinterval(), interval(-0.0,-0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(entireinterval(), interval(-5.0, -1.0), interval(-2.0,2.0)) == entireinterval()
    @test fma(entireinterval(), interval(-5.0, 3.0), interval(-2.0,2.0)) == entireinterval()
    @test fma(entireinterval(), interval(1.0, 3.0), interval(-2.0,2.0)) == entireinterval()
    @test fma(entireinterval(), interval(-Inf, -1.0), interval(-2.0,2.0)) == entireinterval()
    @test fma(entireinterval(), interval(-Inf, 3.0), interval(-2.0,2.0)) == entireinterval()
    @test fma(entireinterval(), interval(-5.0, Inf), interval(-2.0,2.0)) == entireinterval()
    @test fma(entireinterval(), interval(1.0, Inf), interval(-2.0,2.0)) == entireinterval()
    @test fma(entireinterval(), entireinterval(), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(1.0,Inf), interval(0.0,0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(1.0,Inf), interval(-0.0,-0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(1.0,Inf), interval(-5.0, -1.0), interval(-2.0,2.0)) == interval(-Inf,1.0)
    @test fma(interval(1.0,Inf), interval(-5.0, 3.0), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(1.0,Inf), interval(1.0, 3.0), interval(-2.0,2.0)) == interval(-1.0,Inf)
    @test fma(interval(1.0,Inf), interval(-Inf, -1.0), interval(-2.0,2.0)) == interval(-Inf,1.0)
    @test fma(interval(1.0,Inf), interval(-Inf, 3.0), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(1.0,Inf), interval(-5.0, Inf), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(1.0,Inf), interval(1.0, Inf), interval(-2.0,2.0)) == interval(-1.0,Inf)
    @test fma(interval(1.0,Inf), entireinterval(), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(0.0,0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-1.0,Inf), interval(-0.0,-0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-1.0,Inf), interval(-5.0, -1.0), interval(-2.0,2.0)) == interval(-Inf,7.0)
    @test fma(interval(-1.0,Inf), interval(-5.0, 3.0), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(1.0, 3.0), interval(-2.0,2.0)) == interval(-5.0,Inf)
    @test fma(interval(-1.0,Inf), interval(-Inf, -1.0), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(-Inf, 3.0), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(-5.0, Inf), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(1.0, Inf), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-1.0,Inf), entireinterval(), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(0.0,0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-Inf,3.0), interval(-0.0,-0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-Inf,3.0), interval(-5.0, -1.0), interval(-2.0,2.0)) == interval(-17.0,Inf)
    @test fma(interval(-Inf,3.0), interval(-5.0, 3.0), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(1.0, 3.0), interval(-2.0,2.0)) == interval(-Inf,11.0)
    @test fma(interval(-Inf,3.0), interval(-Inf, -1.0), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(-Inf, 3.0), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(-5.0, Inf), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(1.0, Inf), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-Inf,3.0), entireinterval(), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(0.0,0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-Inf,-3.0), interval(-0.0,-0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-Inf,-3.0), interval(-5.0, -1.0), interval(-2.0,2.0)) == interval(1.0,Inf)
    @test fma(interval(-Inf,-3.0), interval(-5.0, 3.0), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(1.0, 3.0), interval(-2.0,2.0)) == interval(-Inf,-1.0)
    @test fma(interval(-Inf,-3.0), interval(-Inf, -1.0), interval(-2.0,2.0)) == interval(1.0,Inf)
    @test fma(interval(-Inf,-3.0), interval(-Inf, 3.0), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(-5.0, Inf), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(1.0, Inf), interval(-2.0,2.0)) == interval(-Inf,-1.0)
    @test fma(interval(-Inf,-3.0), entireinterval(), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(0.0,0.0), interval(0.0,0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(0.0,0.0), interval(-0.0,-0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(0.0,0.0), interval(-5.0, -1.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(0.0,0.0), interval(-5.0, 3.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(0.0,0.0), interval(1.0, 3.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(0.0,0.0), interval(-Inf, -1.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(0.0,0.0), interval(-Inf, 3.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(0.0,0.0), interval(-5.0, Inf), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(0.0,0.0), interval(1.0, Inf), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(0.0,0.0), entireinterval(), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-0.0,-0.0), interval(0.0,0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-0.0,-0.0), interval(-0.0,-0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-0.0,-0.0), interval(-5.0, -1.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-0.0,-0.0), interval(-5.0, 3.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-0.0,-0.0), interval(1.0, 3.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-0.0,-0.0), interval(-Inf, -1.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-0.0,-0.0), interval(-Inf, 3.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-0.0,-0.0), interval(-5.0, Inf), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-0.0,-0.0), interval(1.0, Inf), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-0.0,-0.0), entireinterval(), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(1.0,5.0), interval(0.0,0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(1.0,5.0), interval(-0.0,-0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(1.0,5.0), interval(-5.0, -1.0), interval(-2.0,2.0)) == interval(-27.0,1.0)
    @test fma(interval(1.0,5.0), interval(-5.0, 3.0), interval(-2.0,2.0)) == interval(-27.0,17.0)
    @test fma(interval(1.0,5.0), interval(1.0, 3.0), interval(-2.0,2.0)) == interval(-1.0,17.0)
    @test fma(interval(1.0,5.0), interval(-Inf, -1.0), interval(-2.0,2.0)) == interval(-Inf,1.0)
    @test fma(interval(1.0,5.0), interval(-Inf, 3.0), interval(-2.0,2.0)) == interval(-Inf,17.0)
    @test fma(interval(1.0,5.0), interval(-5.0, Inf), interval(-2.0,2.0)) == interval(-27.0,Inf)
    @test fma(interval(1.0,5.0), interval(1.0, Inf), interval(-2.0,2.0)) == interval(-1.0,Inf)
    @test fma(interval(1.0,5.0), entireinterval(), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(0.0,0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-1.0,5.0), interval(-0.0,-0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-1.0,5.0), interval(-5.0, -1.0), interval(-2.0,2.0)) == interval(-27.0,7.0)
    @test fma(interval(-1.0,5.0), interval(-5.0, 3.0), interval(-2.0,2.0)) == interval(-27.0,17.0)
    @test fma(interval(-10.0,2.0), interval(-5.0, 3.0), interval(-2.0,2.0)) == interval(-32.0,52.0)
    @test fma(interval(-1.0,5.0), interval(-1.0, 10.0), interval(-2.0,2.0)) == interval(-12.0,52.0)
    @test fma(interval(-2.0,2.0), interval(-5.0, 3.0), interval(-2.0,2.0)) == interval(-12.0,12.0)
    @test fma(interval(-1.0,5.0), interval(1.0, 3.0), interval(-2.0,2.0)) == interval(-5.0,17.0)
    @test fma(interval(-1.0,5.0), interval(-Inf, -1.0), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(-Inf, 3.0), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(-5.0, Inf), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(1.0, Inf), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-1.0,5.0), entireinterval(), interval(-2.0,2.0)) == entireinterval()
    @test fma(interval(-10.0,-5.0), interval(0.0,0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-10.0,-5.0), interval(-0.0,-0.0), interval(-2.0,2.0)) == interval(-2.0,2.0)
    @test fma(interval(-10.0,-5.0), interval(-5.0, -1.0), interval(-2.0,2.0)) == interval(3.0,52.0)
    @test fma(interval(-10.0,-5.0), interval(-5.0, 3.0), interval(-2.0,2.0)) == interval(-32.0,52.0)
    @test fma(interval(-10.0,-5.0), interval(1.0, 3.0), interval(-2.0,2.0)) == interval(-32.0,-3.0)
    @test fma(interval(-10.0,-5.0), interval(-Inf, -1.0), interval(-2.0,2.0)) == interval(3.0,Inf)
    @test fma(interval(-10.0,-5.0), interval(-Inf, 3.0), interval(-2.0,2.0)) == interval(-32.0,Inf)
    @test fma(interval(-10.0,-5.0), interval(-5.0, Inf), interval(-2.0,2.0)) == interval(-Inf,52.0)
    @test fma(interval(-10.0,-5.0), interval(1.0, Inf), interval(-2.0,2.0)) == interval(-Inf,-3.0)
    @test fma(interval(-10.0,-5.0), entireinterval(), interval(-2.0,2.0)) == entireinterval()
    @test fma(emptyinterval(), emptyinterval(), interval(-2.0,Inf)) == emptyinterval()
    @test fma(interval(-1.0,1.0), emptyinterval(), interval(-2.0,Inf)) == emptyinterval()
    @test fma(emptyinterval(), interval(-1.0,1.0), interval(-2.0,Inf)) == emptyinterval()
    @test fma(emptyinterval(), entireinterval(), interval(-2.0,Inf)) == emptyinterval()
    @test fma(entireinterval(), emptyinterval(), interval(-2.0,Inf)) == emptyinterval()
    @test fma(interval(0.0,0.0), emptyinterval(), interval(-2.0,Inf)) == emptyinterval()
    @test fma(interval(-0.0,-0.0), emptyinterval(), interval(-2.0,Inf)) == emptyinterval()
    @test fma(emptyinterval(), interval(0.0,0.0), interval(-2.0,Inf)) == emptyinterval()
    @test fma(emptyinterval(), interval(-0.0,-0.0), interval(-2.0,Inf)) == emptyinterval()
    @test fma(entireinterval(), interval(0.0,0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(entireinterval(), interval(-0.0,-0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(entireinterval(), interval(-5.0, -1.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(entireinterval(), interval(-5.0, 3.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(entireinterval(), interval(1.0, 3.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(entireinterval(), interval(-Inf, -1.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(entireinterval(), interval(-Inf, 3.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(entireinterval(), interval(-5.0, Inf), interval(-2.0,Inf)) == entireinterval()
    @test fma(entireinterval(), interval(1.0, Inf), interval(-2.0,Inf)) == entireinterval()
    @test fma(entireinterval(), entireinterval(), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(1.0,Inf), interval(0.0,0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(1.0,Inf), interval(-0.0,-0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(1.0,Inf), interval(-5.0, -1.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(1.0,Inf), interval(-5.0, 3.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(1.0,Inf), interval(1.0, 3.0), interval(-2.0,Inf)) == interval(-1.0,Inf)
    @test fma(interval(1.0,Inf), interval(-Inf, -1.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(1.0,Inf), interval(-Inf, 3.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(1.0,Inf), interval(-5.0, Inf), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(1.0,Inf), interval(1.0, Inf), interval(-2.0,Inf)) == interval(-1.0,Inf)
    @test fma(interval(1.0,Inf), entireinterval(), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(0.0,0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-1.0,Inf), interval(-0.0,-0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-1.0,Inf), interval(-5.0, -1.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(-5.0, 3.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(1.0, 3.0), interval(-2.0,Inf)) == interval(-5.0,Inf)
    @test fma(interval(-1.0,Inf), interval(-Inf, -1.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(-Inf, 3.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(-5.0, Inf), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(1.0, Inf), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-1.0,Inf), entireinterval(), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(0.0,0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-Inf,3.0), interval(-0.0,-0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-Inf,3.0), interval(-5.0, -1.0), interval(-2.0,Inf)) == interval(-17.0,Inf)
    @test fma(interval(-Inf,3.0), interval(-5.0, 3.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(1.0, 3.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(-Inf, -1.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(-Inf, 3.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(-5.0, Inf), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(1.0, Inf), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-Inf,3.0), entireinterval(), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(0.0,0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-Inf,-3.0), interval(-0.0,-0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-Inf,-3.0), interval(-5.0, -1.0), interval(-2.0,Inf)) == interval(1.0,Inf)
    @test fma(interval(-Inf,-3.0), interval(-5.0, 3.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(1.0, 3.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(-Inf, -1.0), interval(-2.0,Inf)) == interval(1.0,Inf)
    @test fma(interval(-Inf,-3.0), interval(-Inf, 3.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(-5.0, Inf), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(1.0, Inf), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-Inf,-3.0), entireinterval(), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(0.0,0.0), interval(0.0,0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(0.0,0.0), interval(-0.0,-0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(0.0,0.0), interval(-5.0, -1.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(0.0,0.0), interval(-5.0, 3.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(0.0,0.0), interval(1.0, 3.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(0.0,0.0), interval(-Inf, -1.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(0.0,0.0), interval(-Inf, 3.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(0.0,0.0), interval(-5.0, Inf), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(0.0,0.0), interval(1.0, Inf), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(0.0,0.0), entireinterval(), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-0.0,-0.0), interval(0.0,0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-0.0,-0.0), interval(-0.0,-0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-0.0,-0.0), interval(-5.0, -1.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-0.0,-0.0), interval(-5.0, 3.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-0.0,-0.0), interval(1.0, 3.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-0.0,-0.0), interval(-Inf, -1.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-0.0,-0.0), interval(-Inf, 3.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-0.0,-0.0), interval(-5.0, Inf), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-0.0,-0.0), interval(1.0, Inf), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-0.0,-0.0), entireinterval(), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(1.0,5.0), interval(0.0,0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(1.0,5.0), interval(-0.0,-0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(1.0,5.0), interval(-5.0, -1.0), interval(-2.0,Inf)) == interval(-27.0,Inf)
    @test fma(interval(1.0,5.0), interval(-5.0, 3.0), interval(-2.0,Inf)) == interval(-27.0,Inf)
    @test fma(interval(1.0,5.0), interval(1.0, 3.0), interval(-2.0,Inf)) == interval(-1.0,Inf)
    @test fma(interval(1.0,5.0), interval(-Inf, -1.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(1.0,5.0), interval(-Inf, 3.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(1.0,5.0), interval(-5.0, Inf), interval(-2.0,Inf)) == interval(-27.0,Inf)
    @test fma(interval(1.0,5.0), interval(1.0, Inf), interval(-2.0,Inf)) == interval(-1.0,Inf)
    @test fma(interval(1.0,5.0), entireinterval(), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(-0.0,-0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-1.0,5.0), interval(0.0,0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-1.0,5.0), interval(-5.0, -1.0), interval(-2.0,Inf)) == interval(-27.0,Inf)
    @test fma(interval(-1.0,5.0), interval(-5.0, 3.0), interval(-2.0,Inf)) == interval(-27.0,Inf)
    @test fma(interval(-10.0,2.0), interval(-5.0, 3.0), interval(-2.0,Inf)) == interval(-32.0,Inf)
    @test fma(interval(-1.0,5.0), interval(-1.0, 10.0), interval(-2.0,Inf)) == interval(-12.0,Inf)
    @test fma(interval(-2.0,2.0), interval(-5.0, 3.0), interval(-2.0,Inf)) == interval(-12.0,Inf)
    @test fma(interval(-1.0,5.0), interval(1.0, 3.0), interval(-2.0,Inf)) == interval(-5.0,Inf)
    @test fma(interval(-1.0,5.0), interval(-Inf, -1.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(-Inf, 3.0), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(-5.0, Inf), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(1.0, Inf), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-1.0,5.0), entireinterval(), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-10.0,-5.0), interval(0.0,0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-10.0,-5.0), interval(-0.0,-0.0), interval(-2.0,Inf)) == interval(-2.0,Inf)
    @test fma(interval(-10.0,-5.0), interval(-5.0, -1.0), interval(-2.0,Inf)) == interval(3.0,Inf)
    @test fma(interval(-10.0,-5.0), interval(-5.0, 3.0), interval(-2.0,Inf)) == interval(-32.0,Inf)
    @test fma(interval(-10.0,-5.0), interval(1.0, 3.0), interval(-2.0,Inf)) == interval(-32.0,Inf)
    @test fma(interval(-10.0,-5.0), interval(-Inf, -1.0), interval(-2.0,Inf)) == interval(3.0,Inf)
    @test fma(interval(-10.0,-5.0), interval(-Inf, 3.0), interval(-2.0,Inf)) == interval(-32.0,Inf)
    @test fma(interval(-10.0,-5.0), interval(-5.0, Inf), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-10.0,-5.0), interval(1.0, Inf), interval(-2.0,Inf)) == entireinterval()
    @test fma(interval(-10.0,-5.0), entireinterval(), interval(-2.0,Inf)) == entireinterval()
    @test fma(emptyinterval(), emptyinterval(), entireinterval()) == emptyinterval()
    @test fma(interval(-1.0,1.0), emptyinterval(), entireinterval()) == emptyinterval()
    @test fma(emptyinterval(), interval(-1.0,1.0), entireinterval()) == emptyinterval()
    @test fma(emptyinterval(), entireinterval(), entireinterval()) == emptyinterval()
    @test fma(entireinterval(), emptyinterval(), entireinterval()) == emptyinterval()
    @test fma(interval(0.0,0.0), emptyinterval(), entireinterval()) == emptyinterval()
    @test fma(interval(-0.0,-0.0), emptyinterval(), entireinterval()) == emptyinterval()
    @test fma(emptyinterval(), interval(0.0,0.0), entireinterval()) == emptyinterval()
    @test fma(emptyinterval(), interval(-0.0,-0.0), entireinterval()) == emptyinterval()
    @test fma(entireinterval(), interval(0.0,0.0), entireinterval()) == entireinterval()
    @test fma(entireinterval(), interval(-0.0,-0.0), entireinterval()) == entireinterval()
    @test fma(entireinterval(), interval(-5.0, -1.0), entireinterval()) == entireinterval()
    @test fma(entireinterval(), interval(-5.0, 3.0), entireinterval()) == entireinterval()
    @test fma(entireinterval(), interval(1.0, 3.0), entireinterval()) == entireinterval()
    @test fma(entireinterval(), interval(-Inf, -1.0), entireinterval()) == entireinterval()
    @test fma(entireinterval(), interval(-Inf, 3.0), entireinterval()) == entireinterval()
    @test fma(entireinterval(), interval(-5.0, Inf), entireinterval()) == entireinterval()
    @test fma(entireinterval(), interval(1.0, Inf), entireinterval()) == entireinterval()
    @test fma(entireinterval(), entireinterval(), entireinterval()) == entireinterval()
    @test fma(interval(1.0,Inf), interval(0.0,0.0), entireinterval()) == entireinterval()
    @test fma(interval(1.0,Inf), interval(-0.0,-0.0), entireinterval()) == entireinterval()
    @test fma(interval(1.0,Inf), interval(-5.0, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(1.0,Inf), interval(-5.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(1.0,Inf), interval(1.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(1.0,Inf), interval(-Inf, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(1.0,Inf), interval(-Inf, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(1.0,Inf), interval(-5.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(1.0,Inf), interval(1.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(1.0,Inf), entireinterval(), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(0.0,0.0), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(-0.0,-0.0), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(-5.0, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(-5.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(1.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(-Inf, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(-Inf, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(-5.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,Inf), interval(1.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,Inf), entireinterval(), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(0.0,0.0), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(-0.0,-0.0), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(-5.0, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(-5.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(1.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(-Inf, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(-Inf, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(-5.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,3.0), interval(1.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,3.0), entireinterval(), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(0.0,0.0), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(-0.0,-0.0), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(-5.0, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(-5.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(1.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(-Inf, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(-Inf, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(-5.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,-3.0), interval(1.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(-Inf,-3.0), entireinterval(), entireinterval()) == entireinterval()
    @test fma(interval(0.0,0.0), interval(0.0,0.0), entireinterval()) == entireinterval()
    @test fma(interval(0.0,0.0), interval(-0.0,-0.0), entireinterval()) == entireinterval()
    @test fma(interval(0.0,0.0), interval(-5.0, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(0.0,0.0), interval(-5.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(0.0,0.0), interval(1.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(0.0,0.0), interval(-Inf, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(0.0,0.0), interval(-Inf, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(0.0,0.0), interval(-5.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(0.0,0.0), interval(1.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(0.0,0.0), entireinterval(), entireinterval()) == entireinterval()
    @test fma(interval(-0.0,-0.0), interval(0.0,0.0), entireinterval()) == entireinterval()
    @test fma(interval(-0.0,-0.0), interval(-0.0,-0.0), entireinterval()) == entireinterval()
    @test fma(interval(-0.0,-0.0), interval(-5.0, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(-0.0,-0.0), interval(-5.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-0.0,-0.0), interval(1.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-0.0,-0.0), interval(-Inf, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(-0.0,-0.0), interval(-Inf, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-0.0,-0.0), interval(-5.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(-0.0,-0.0), interval(1.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(-0.0,-0.0), entireinterval(), entireinterval()) == entireinterval()
    @test fma(interval(1.0,5.0), interval(0.0,0.0), entireinterval()) == entireinterval()
    @test fma(interval(1.0,5.0), interval(-0.0,-0.0), entireinterval()) == entireinterval()
    @test fma(interval(1.0,5.0), interval(-5.0, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(1.0,5.0), interval(-5.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(1.0,5.0), interval(1.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(1.0,5.0), interval(-Inf, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(1.0,5.0), interval(-Inf, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(1.0,5.0), interval(-5.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(1.0,5.0), interval(1.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(1.0,5.0), entireinterval(), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(0.0,0.0), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(-0.0,-0.0), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(-5.0, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(-5.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-10.0,2.0), interval(-5.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(-1.0, 10.0), entireinterval()) == entireinterval()
    @test fma(interval(-2.0,2.0), interval(-5.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(1.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(-Inf, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(-Inf, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(-5.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,5.0), interval(1.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(-1.0,5.0), entireinterval(), entireinterval()) == entireinterval()
    @test fma(interval(-10.0,-5.0), interval(0.0,0.0), entireinterval()) == entireinterval()
    @test fma(interval(-10.0,-5.0), interval(-0.0,-0.0), entireinterval()) == entireinterval()
    @test fma(interval(-10.0,-5.0), interval(-5.0, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(-10.0,-5.0), interval(-5.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-10.0,-5.0), interval(1.0, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-10.0,-5.0), interval(-Inf, -1.0), entireinterval()) == entireinterval()
    @test fma(interval(-10.0,-5.0), interval(-Inf, 3.0), entireinterval()) == entireinterval()
    @test fma(interval(-10.0,-5.0), interval(-5.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(-10.0,-5.0), interval(1.0, Inf), entireinterval()) == entireinterval()
    @test fma(interval(-10.0,-5.0), entireinterval(), entireinterval()) == entireinterval()
    @test fma(interval(0.1,0.5), interval(-5.0, 3.0), interval(-0.1,0.1)) == interval(-0x1.4CCCCCCCCCCCDP+1,0x1.999999999999AP+0)
    @test fma(interval(-0.5,0.2), interval(-5.0, 3.0), interval(-0.1,0.1)) == interval(-0x1.999999999999AP+0,0x1.4CCCCCCCCCCCDP+1)
    @test fma(interval(-0.5,-0.1), interval(2.0, 3.0), interval(-0.1,0.1)) == interval(-0x1.999999999999AP+0,-0x1.999999999999AP-4)
    @test fma(interval(-0.5,-0.1), interval(-Inf, 3.0), interval(-0.1,0.1)) == interval(-0x1.999999999999AP+0,Inf)
end

@testset "minimal_pown_test" begin
    @test ^(emptyinterval(), 0) ⊇ emptyinterval()
    @test ^(entireinterval(), 0) ⊇ interval(1.0,1.0)
    @test ^(interval(0.0,0.0), 0) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.0,-0.0), 0) ⊇ interval(1.0,1.0)
    @test ^(interval(13.1,13.1), 0) ⊇ interval(1.0,1.0)
    @test ^(interval(-7451.145,-7451.145), 0) ⊇ interval(1.0,1.0)
    @test ^(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 0) ⊇ interval(1.0,1.0)
    @test ^(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 0) ⊇ interval(1.0,1.0)
    @test ^(interval(0.0,Inf), 0) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.0,Inf), 0) ⊇ interval(1.0,1.0)
    @test ^(interval(-Inf,0.0), 0) ⊇ interval(1.0,1.0)
    @test ^(interval(-Inf,-0.0), 0) ⊇ interval(1.0,1.0)
    @test ^(interval(-324.3,2.5), 0) ⊇ interval(1.0,1.0)
    @test ^(emptyinterval(), 2) ⊇ emptyinterval()
    @test ^(entireinterval(), 2) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.0), 2) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), 2) ⊇ interval(0.0,0.0)
    @test ^(interval(13.1,13.1), 2) ⊇ interval(0x1.573851EB851EBP+7,0x1.573851EB851ECP+7)
    @test ^(interval(-7451.145,-7451.145), 2) ⊇ interval(0x1.A794A4E7CFAADP+25,0x1.A794A4E7CFAAEP+25)
    @test ^(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 2) ⊇ interval(0x1.FFFFFFFFFFFFFp1023,Inf)
    @test ^(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 2) ⊇ interval(0x1.FFFFFFFFFFFFFp1023,Inf)
    @test ^(interval(0.0,Inf), 2) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), 2) ⊇ interval(0.0,Inf)
    @test ^(interval(-Inf,0.0), 2) ⊇ interval(0.0,Inf)
    @test ^(interval(-Inf,-0.0), 2) ⊇ interval(0.0,Inf)
    @test ^(interval(-324.3,2.5), 2) ⊇ interval(0.0,0x1.9AD27D70A3D72P+16)
    @test ^(interval(0.01,2.33), 2) ⊇ interval(0x1.A36E2EB1C432CP-14,0x1.5B7318FC50482P+2)
    @test ^(interval(-1.9,-0.33), 2) ⊇ interval(0x1.BE0DED288CE7P-4,0x1.CE147AE147AE1P+1)
    @test ^(emptyinterval(), 8) ⊇ emptyinterval()
    @test ^(entireinterval(), 8) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.0), 8) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), 8) ⊇ interval(0.0,0.0)
    @test ^(interval(13.1,13.1), 8) ⊇ interval(0x1.9D8FD495853F5P+29,0x1.9D8FD495853F6P+29)
    @test ^(interval(-7451.145,-7451.145), 8) ⊇ interval(0x1.DFB1BB622E70DP+102,0x1.DFB1BB622E70EP+102)
    @test ^(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 8) ⊇ interval(0x1.FFFFFFFFFFFFFp1023,Inf)
    @test ^(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 8) ⊇ interval(0x1.FFFFFFFFFFFFFp1023,Inf)
    @test ^(interval(0.0,Inf), 8) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), 8) ⊇ interval(0.0,Inf)
    @test ^(interval(-Inf,0.0), 8) ⊇ interval(0.0,Inf)
    @test ^(interval(-Inf,-0.0), 8) ⊇ interval(0.0,Inf)
    @test ^(interval(-324.3,2.5), 8) ⊇ interval(0.0,0x1.A87587109655P+66)
    @test ^(interval(0.01,2.33), 8) ⊇ interval(0x1.CD2B297D889BDP-54,0x1.B253D9F33CE4DP+9)
    @test ^(interval(-1.9,-0.33), 8) ⊇ interval(0x1.26F1FCDD502A3P-13,0x1.53ABD7BFC4FC6P+7)
    @test ^(emptyinterval(), 1) ⊇ emptyinterval()
    @test ^(entireinterval(), 1) ⊇ entireinterval()
    @test ^(interval(0.0,0.0), 1) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), 1) ⊇ interval(0.0,0.0)
    @test ^(interval(13.1,13.1), 1) ⊇ interval(13.1,13.1)
    @test ^(interval(-7451.145,-7451.145), 1) ⊇ interval(-7451.145,-7451.145)
    @test ^(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 1) ⊇ interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023)
    @test ^(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 1) ⊇ interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023)
    @test ^(interval(0.0,Inf), 1) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), 1) ⊇ interval(0.0,Inf)
    @test ^(interval(-Inf,0.0), 1) ⊇ interval(-Inf,0.0)
    @test ^(interval(-Inf,-0.0), 1) ⊇ interval(-Inf,0.0)
    @test ^(interval(-324.3,2.5), 1) ⊇ interval(-324.3,2.5)
    @test ^(interval(0.01,2.33), 1) ⊇ interval(0.01,2.33)
    @test ^(interval(-1.9,-0.33), 1) ⊇ interval(-1.9,-0.33)
    @test ^(emptyinterval(), 3) ⊇ emptyinterval()
    @test ^(entireinterval(), 3) ⊇ entireinterval()
    @test ^(interval(0.0,0.0), 3) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), 3) ⊇ interval(0.0,0.0)
    @test ^(interval(13.1,13.1), 3) ⊇ interval(0x1.1902E978D4FDEP+11,0x1.1902E978D4FDFP+11)
    @test ^(interval(-7451.145,-7451.145), 3) ⊇ interval(-0x1.81460637B9A3DP+38,-0x1.81460637B9A3CP+38)
    @test ^(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 3) ⊇ interval(0x1.FFFFFFFFFFFFFp1023,Inf)
    @test ^(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 3) ⊇ interval(-Inf,-0x1.FFFFFFFFFFFFFp1023)
    @test ^(interval(0.0,Inf), 3) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), 3) ⊇ interval(0.0,Inf)
    @test ^(interval(-Inf,0.0), 3) ⊇ interval(-Inf,0.0)
    @test ^(interval(-Inf,-0.0), 3) ⊇ interval(-Inf,0.0)
    @test ^(interval(-324.3,2.5), 3) ⊇ interval(-0x1.0436D2F418938P+25,0x1.F4P+3)
    @test ^(interval(0.01,2.33), 3) ⊇ interval(0x1.0C6F7A0B5ED8DP-20,0x1.94C75E6362A6P+3)
    @test ^(interval(-1.9,-0.33), 3) ⊇ interval(-0x1.B6F9DB22D0E55P+2,-0x1.266559F6EC5B1P-5)
    @test ^(emptyinterval(), 7) ⊇ emptyinterval()
    @test ^(entireinterval(), 7) ⊇ entireinterval()
    @test ^(interval(0.0,0.0), 7) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), 7) ⊇ interval(0.0,0.0)
    @test ^(interval(13.1,13.1), 7) ⊇ interval(0x1.F91D1B185493BP+25,0x1.F91D1B185493CP+25)
    @test ^(interval(-7451.145,-7451.145), 7) ⊇ interval(-0x1.07B1DA32F9B59P+90,-0x1.07B1DA32F9B58P+90)
    @test ^(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), 7) ⊇ interval(0x1.FFFFFFFFFFFFFp1023,Inf)
    @test ^(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), 7) ⊇ interval(-Inf,-0x1.FFFFFFFFFFFFFp1023)
    @test ^(interval(0.0,Inf), 7) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), 7) ⊇ interval(0.0,Inf)
    @test ^(interval(-Inf,0.0), 7) ⊇ interval(-Inf,0.0)
    @test ^(interval(-Inf,-0.0), 7) ⊇ interval(-Inf,0.0)
    @test ^(interval(-324.3,2.5), 7) ⊇ interval(-0x1.4F109959E6D7FP+58,0x1.312DP+9)
    @test ^(interval(0.01,2.33), 7) ⊇ interval(0x1.6849B86A12B9BP-47,0x1.74D0373C76313P+8)
    @test ^(interval(-1.9,-0.33), 7) ⊇ interval(-0x1.658C775099757P+6,-0x1.BEE30301BF47AP-12)
    @test ^(emptyinterval(), -2) ⊇ emptyinterval()
    @test ^(entireinterval(), -2) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.0), -2) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), -2) ⊇ emptyinterval()
    @test ^(interval(13.1,13.1), -2) ⊇ interval(0x1.7DE3A077D1568P-8,0x1.7DE3A077D1569P-8)
    @test ^(interval(-7451.145,-7451.145), -2) ⊇ interval(0x1.3570290CD6E14P-26,0x1.3570290CD6E15P-26)
    @test ^(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), -2) ⊇ interval(0x0P+0,0x0.0000000000001P-1022)
    @test ^(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), -2) ⊇ interval(0x0P+0,0x0.0000000000001P-1022)
    @test ^(interval(0.0,Inf), -2) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), -2) ⊇ interval(0.0,Inf)
    @test ^(interval(-Inf,0.0), -2) ⊇ interval(0.0,Inf)
    @test ^(interval(-Inf,-0.0), -2) ⊇ interval(0.0,Inf)
    @test ^(interval(-324.3,2.5), -2) ⊇ interval(0x1.3F0C482C977C9P-17,Inf)
    @test ^(interval(0.01,2.33), -2) ⊇ interval(0x1.793D85EF38E47P-3,0x1.388P+13)
    @test ^(interval(-1.9,-0.33), -2) ⊇ interval(0x1.1BA81104F6C8P-2,0x1.25D8FA1F801E1P+3)
    @test ^(emptyinterval(), -8) ⊇ emptyinterval()
    @test ^(entireinterval(), -8) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.0), -8) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), -8) ⊇ emptyinterval()
    @test ^(interval(13.1,13.1), -8) ⊇ interval(0x1.3CEF39247CA6DP-30,0x1.3CEF39247CA6EP-30)
    @test ^(interval(-7451.145,-7451.145), -8) ⊇ interval(0x1.113D9EF0A99ACP-103,0x1.113D9EF0A99ADP-103)
    @test ^(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), -8) ⊇ interval(0x0P+0,0x0.0000000000001P-1022)
    @test ^(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), -8) ⊇ interval(0x0P+0,0x0.0000000000001P-1022)
    @test ^(interval(0.0,Inf), -8) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), -8) ⊇ interval(0.0,Inf)
    @test ^(interval(-Inf,0.0), -8) ⊇ interval(0.0,Inf)
    @test ^(interval(-Inf,-0.0), -8) ⊇ interval(0.0,Inf)
    @test ^(interval(-324.3,2.5), -8) ⊇ interval(0x1.34CC3764D1E0CP-67,Inf)
    @test ^(interval(0.01,2.33), -8) ⊇ interval(0x1.2DC80DB11AB7CP-10,0x1.1C37937E08P+53)
    @test ^(interval(-1.9,-0.33), -8) ⊇ interval(0x1.81E104E61630DP-8,0x1.BC64F21560E34P+12)
    @test ^(emptyinterval(), -1) ⊇ emptyinterval()
    @test ^(entireinterval(), -1) ⊇ entireinterval()
    @test ^(interval(0.0,0.0), -1) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), -1) ⊇ emptyinterval()
    @test ^(interval(13.1,13.1), -1) ⊇ interval(0x1.38ABF82EE6986P-4,0x1.38ABF82EE6987P-4)
    @test ^(interval(-7451.145,-7451.145), -1) ⊇ interval(-0x1.197422C9048BFP-13,-0x1.197422C9048BEP-13)
    @test_broken ^(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), -1) ⊇ interval(0x0.4P-1022,0x0.4000000000001P-1022)
    @test_broken ^(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), -1) ⊇ interval(-0x0.4000000000001P-1022,-0x0.4P-1022)
    @test ^(interval(0.0,Inf), -1) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), -1) ⊇ interval(0.0,Inf)
    @test ^(interval(-Inf,0.0), -1) ⊇ interval(-Inf,0.0)
    @test ^(interval(-Inf,-0.0), -1) ⊇ interval(-Inf,0.0)
    @test ^(interval(-324.3,2.5), -1) ⊇ entireinterval()
    @test ^(interval(0.01,2.33), -1) ⊇ interval(0x1.B77C278DBBE13P-2,0x1.9P+6)
    @test ^(interval(-1.9,-0.33), -1) ⊇ interval(-0x1.83E0F83E0F83EP+1,-0x1.0D79435E50D79P-1)
    @test ^(emptyinterval(), -3) ⊇ emptyinterval()
    @test ^(entireinterval(), -3) ⊇ entireinterval()
    @test ^(interval(0.0,0.0), -3) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), -3) ⊇ emptyinterval()
    @test ^(interval(13.1,13.1), -3) ⊇ interval(0x1.D26DF4D8B1831P-12,0x1.D26DF4D8B1832P-12)
    @test ^(interval(-7451.145,-7451.145), -3) ⊇ interval(-0x1.54347DED91B19P-39,-0x1.54347DED91B18P-39)
    @test ^(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), -3) ⊇ interval(0x0P+0,0x0.0000000000001P-1022)
    @test ^(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), -3) ⊇ interval(-0x0.0000000000001P-1022,-0x0P+0)
    @test ^(interval(0.0,Inf), -3) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), -3) ⊇ interval(0.0,Inf)
    @test ^(interval(-Inf,0.0), -3) ⊇ interval(-Inf,0.0)
    @test ^(interval(-Inf,-0.0), -3) ⊇ interval(-Inf,0.0)
    @test ^(interval(-324.3,2.5), -3) ⊇ entireinterval()
    @test ^(interval(0.01,2.33), -3) ⊇ interval(0x1.43CFBA61AACABP-4,0x1.E848P+19)
    @test ^(interval(-1.9,-0.33), -3) ⊇ interval(-0x1.BD393CE9E8E7CP+4,-0x1.2A95F6F7C066CP-3)
    @test ^(emptyinterval(), -7) ⊇ emptyinterval()
    @test ^(entireinterval(), -7) ⊇ entireinterval()
    @test ^(interval(0.0,0.0), -7) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), -7) ⊇ emptyinterval()
    @test ^(interval(13.1,13.1), -7) ⊇ interval(0x1.037D76C912DBCP-26,0x1.037D76C912DBDP-26)
    @test ^(interval(-7451.145,-7451.145), -7) ⊇ interval(-0x1.F10F41FB8858FP-91,-0x1.F10F41FB8858EP-91)
    @test ^(interval(0x1.FFFFFFFFFFFFFp1023,0x1.FFFFFFFFFFFFFp1023), -7) ⊇ interval(0x0P+0,0x0.0000000000001P-1022)
    @test ^(interval(-0x1.FFFFFFFFFFFFFp1023,-0x1.FFFFFFFFFFFFFp1023), -7) ⊇ interval(-0x0.0000000000001P-1022,-0x0P+0)
    @test ^(interval(0.0,Inf), -7) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), -7) ⊇ interval(0.0,Inf)
    @test ^(interval(-Inf,0.0), -7) ⊇ interval(-Inf,0.0)
    @test ^(interval(-Inf,-0.0), -7) ⊇ interval(-Inf,0.0)
    @test ^(interval(-324.3,2.5), -7) ⊇ entireinterval()
    @test ^(interval(0.01,2.33), -7) ⊇ interval(0x1.5F934D64162A9P-9,0x1.6BCC41E9P+46)
    @test ^(interval(-1.9,-0.33), -7) ⊇ interval(-0x1.254CDD3711DDBP+11,-0x1.6E95C4A761E19P-7)
end

@testset "minimal_pow_test" begin
    @test ^(emptyinterval(), emptyinterval()) ⊇ emptyinterval()
    @test ^(emptyinterval(), entireinterval()) ⊇ emptyinterval()
    @test ^(emptyinterval(), interval(-Inf,-1.0)) ⊇ emptyinterval()
    @test ^(emptyinterval(), interval(-Inf,0.0)) ⊇ emptyinterval()
    @test ^(emptyinterval(), interval(-Inf,-0.0)) ⊇ emptyinterval()
    @test ^(emptyinterval(), interval(0.0,Inf)) ⊇ emptyinterval()
    @test ^(emptyinterval(), interval(-0.0,Inf)) ⊇ emptyinterval()
    @test ^(emptyinterval(), interval(1.0,Inf)) ⊇ emptyinterval()
    @test ^(emptyinterval(), interval(-3.0,5.0)) ⊇ emptyinterval()
    @test ^(emptyinterval(), interval(0.0,0.0)) ⊇ emptyinterval()
    @test ^(emptyinterval(), interval(-0.0,-0.0)) ⊇ emptyinterval()
    @test ^(emptyinterval(), interval(-5.0,-5.0)) ⊇ emptyinterval()
    @test ^(emptyinterval(), interval(5.0,5.0)) ⊇ emptyinterval()
    @test ^(interval(0.1,0.5), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(0.1,0.5), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(0.1,0.5), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(0.1,0.5), interval(0.0,1.0)) ⊇ interval(0x1.999999999999AP-4,1.0)
    @test ^(interval(0.1,0.5), interval(-0.0,1.0)) ⊇ interval(0x1.999999999999AP-4,1.0)
    @test ^(interval(0.1,0.5), interval(0.0,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,1.0)
    @test ^(interval(0.1,0.5), interval(-0.0,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,1.0)
    @test ^(interval(0.1,0.5), interval(0.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.1,0.5), interval(-0.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.1,0.5), interval(0.1,0.1)) ⊇ interval(0x1.96B230BCDC434P-1,0x1.DDB680117AB13P-1)
    @test ^(interval(0.1,0.5), interval(0.1,1.0)) ⊇ interval(0x1.999999999999AP-4,0x1.DDB680117AB13P-1)
    @test ^(interval(0.1,0.5), interval(0.1,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,0x1.DDB680117AB13P-1)
    @test ^(interval(0.1,0.5), interval(0.1,Inf)) ⊇ interval(0.0,0x1.DDB680117AB13P-1)
    @test ^(interval(0.1,0.5), interval(1.0,1.0)) ⊇ interval(0x1.999999999999AP-4,0x1P-1)
    @test ^(interval(0.1,0.5), interval(1.0,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,0x1P-1)
    @test ^(interval(0.1,0.5), interval(1.0,Inf)) ⊇ interval(0.0,0x1P-1)
    @test ^(interval(0.1,0.5), interval(2.5,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,0x1.6A09E667F3BCDP-3)
    @test ^(interval(0.1,0.5), interval(2.5,Inf)) ⊇ interval(0.0,0x1.6A09E667F3BCDP-3)
    @test ^(interval(0.1,0.5), interval(-0.1,0.1)) ⊇ interval(0x1.96B230BCDC434P-1,0x1.4248EF8FC2604P+0)
    @test ^(interval(0.1,0.5), interval(-0.1,1.0)) ⊇ interval(0x1.999999999999AP-4,0x1.4248EF8FC2604P+0)
    @test ^(interval(0.1,0.5), interval(-0.1,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,0x1.4248EF8FC2604P+0)
    @test ^(interval(0.1,0.5), interval(-0.1,Inf)) ⊇ interval(0.0,0x1.4248EF8FC2604P+0)
    @test ^(interval(0.1,0.5), interval(-1.0,0.1)) ⊇ interval(0x1.96B230BCDC434P-1,0x1.4P+3)
    @test ^(interval(0.1,0.5), interval(-1.0,1.0)) ⊇ interval(0x1.999999999999AP-4,0x1.4P+3)
    @test ^(interval(0.1,0.5), interval(-1.0,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,0x1.4P+3)
    @test ^(interval(0.1,0.5), interval(-1.0,Inf)) ⊇ interval(0.0,0x1.4P+3)
    @test ^(interval(0.1,0.5), interval(-2.5,0.1)) ⊇ interval(0x1.96B230BCDC434P-1,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,0.5), interval(-2.5,1.0)) ⊇ interval(0x1.999999999999AP-4,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,0.5), interval(-2.5,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,0.5), interval(-2.5,Inf)) ⊇ interval(0.0,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,0.5), interval(-Inf,0.1)) ⊇ interval(0x1.96B230BCDC434P-1,Inf)
    @test ^(interval(0.1,0.5), interval(-Inf,1.0)) ⊇ interval(0x1.999999999999AP-4,Inf)
    @test ^(interval(0.1,0.5), interval(-Inf,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,Inf)
    @test ^(interval(0.1,0.5), entireinterval()) ⊇ interval(0.0,Inf)
    @test ^(interval(0.1,0.5), interval(-1.0,0.0)) ⊇ interval(1.0,0x1.4P+3)
    @test ^(interval(0.1,0.5), interval(-1.0,-0.0)) ⊇ interval(1.0,0x1.4P+3)
    @test ^(interval(0.1,0.5), interval(-2.5,0.0)) ⊇ interval(1.0,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,0.5), interval(-2.5,-0.0)) ⊇ interval(1.0,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,0.5), interval(-Inf,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.1,0.5), interval(-Inf,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.1,0.5), interval(-0.1,-0.1)) ⊇ interval(0x1.125FBEE250664P+0,0x1.4248EF8FC2604P+0)
    @test ^(interval(0.1,0.5), interval(-1.0,-0.1)) ⊇ interval(0x1.125FBEE250664P+0,0x1.4P+3)
    @test ^(interval(0.1,0.5), interval(-2.5,-0.1)) ⊇ interval(0x1.125FBEE250664P+0,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,0.5), interval(-Inf,-0.1)) ⊇ interval(0x1.125FBEE250664P+0,Inf)
    @test ^(interval(0.1,0.5), interval(-1.0,-1.0)) ⊇ interval(0x1P+1,0x1.4P+3)
    @test ^(interval(0.1,0.5), interval(-2.5,-1.0)) ⊇ interval(0x1P+1,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,0.5), interval(-Inf,-1.0)) ⊇ interval(0x1P+1,Inf)
    @test ^(interval(0.1,0.5), interval(-2.5,-2.5)) ⊇ interval(0x1.6A09E667F3BCCP+2,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,0.5), interval(-Inf,-2.5)) ⊇ interval(0x1.6A09E667F3BCCP+2,Inf)
    @test ^(interval(0.1,1.0), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(0.1,1.0), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(0.1,1.0), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(0.1,1.0), interval(0.0,1.0)) ⊇ interval(0x1.999999999999AP-4,1.0)
    @test ^(interval(0.1,1.0), interval(-0.0,1.0)) ⊇ interval(0x1.999999999999AP-4,1.0)
    @test ^(interval(0.1,1.0), interval(0.0,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,1.0)
    @test ^(interval(0.1,1.0), interval(-0.0,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,1.0)
    @test ^(interval(0.1,1.0), interval(0.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.1,1.0), interval(-0.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.1,1.0), interval(0.1,0.1)) ⊇ interval(0x1.96B230BCDC434P-1,1.0)
    @test ^(interval(0.1,1.0), interval(0.1,1.0)) ⊇ interval(0x1.999999999999AP-4,1.0)
    @test ^(interval(0.1,1.0), interval(0.1,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,1.0)
    @test ^(interval(0.1,1.0), interval(0.1,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.1,1.0), interval(1.0,1.0)) ⊇ interval(0x1.999999999999AP-4,1.0)
    @test ^(interval(0.1,1.0), interval(1.0,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,1.0)
    @test ^(interval(0.1,1.0), interval(1.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.1,1.0), interval(2.5,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,1.0)
    @test ^(interval(0.1,1.0), interval(2.5,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.1,1.0), interval(-0.1,0.1)) ⊇ interval(0x1.96B230BCDC434P-1,0x1.4248EF8FC2604P+0)
    @test ^(interval(0.1,1.0), interval(-0.1,1.0)) ⊇ interval(0x1.999999999999AP-4,0x1.4248EF8FC2604P+0)
    @test ^(interval(0.1,1.0), interval(-0.1,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,0x1.4248EF8FC2604P+0)
    @test ^(interval(0.1,1.0), interval(-0.1,Inf)) ⊇ interval(0.0,0x1.4248EF8FC2604P+0)
    @test ^(interval(0.1,1.0), interval(-1.0,0.1)) ⊇ interval(0x1.96B230BCDC434P-1,0x1.4P+3)
    @test ^(interval(0.1,1.0), interval(-1.0,1.0)) ⊇ interval(0x1.999999999999AP-4,0x1.4P+3)
    @test ^(interval(0.1,1.0), interval(-1.0,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,0x1.4P+3)
    @test ^(interval(0.1,1.0), interval(-1.0,Inf)) ⊇ interval(0.0,0x1.4P+3)
    @test ^(interval(0.1,1.0), interval(-2.5,0.1)) ⊇ interval(0x1.96B230BCDC434P-1,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,1.0), interval(-2.5,1.0)) ⊇ interval(0x1.999999999999AP-4,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,1.0), interval(-2.5,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,1.0), interval(-2.5,Inf)) ⊇ interval(0.0,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,1.0), interval(-Inf,0.1)) ⊇ interval(0x1.96B230BCDC434P-1,Inf)
    @test ^(interval(0.1,1.0), interval(-Inf,1.0)) ⊇ interval(0x1.999999999999AP-4,Inf)
    @test ^(interval(0.1,1.0), interval(-Inf,2.5)) ⊇ interval(0x1.9E7C6E43390B7P-9,Inf)
    @test ^(interval(0.1,1.0), entireinterval()) ⊇ interval(0.0,Inf)
    @test ^(interval(0.1,1.0), interval(-0.1,0.0)) ⊇ interval(1.0,0x1.4248EF8FC2604P+0)
    @test ^(interval(0.1,1.0), interval(-0.1,-0.0)) ⊇ interval(1.0,0x1.4248EF8FC2604P+0)
    @test ^(interval(0.1,1.0), interval(-1.0,0.0)) ⊇ interval(1.0,0x1.4P+3)
    @test ^(interval(0.1,1.0), interval(-1.0,-0.0)) ⊇ interval(1.0,0x1.4P+3)
    @test ^(interval(0.1,1.0), interval(-2.5,0.0)) ⊇ interval(1.0,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,1.0), interval(-2.5,-0.0)) ⊇ interval(1.0,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,1.0), interval(-Inf,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.1,1.0), interval(-Inf,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.1,1.0), interval(-0.1,-0.1)) ⊇ interval(1.0,0x1.4248EF8FC2604P+0)
    @test ^(interval(0.1,1.0), interval(-1.0,-0.1)) ⊇ interval(1.0,0x1.4P+3)
    @test ^(interval(0.1,1.0), interval(-2.5,-0.1)) ⊇ interval(1.0,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,1.0), interval(-Inf,-0.1)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.1,1.0), interval(-1.0,-1.0)) ⊇ interval(1.0,0x1.4P+3)
    @test ^(interval(0.1,1.0), interval(-2.5,-1.0)) ⊇ interval(1.0,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,1.0), interval(-Inf,-1.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.1,1.0), interval(-2.5,-2.5)) ⊇ interval(1.0,0x1.3C3A4EDFA9758P+8)
    @test ^(interval(0.1,1.0), interval(-Inf,-2.5)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.5,1.5), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(0.5,1.5), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(0.5,1.5), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(0.5,1.5), interval(0.0,1.0)) ⊇ interval(0.5,1.5)
    @test ^(interval(0.5,1.5), interval(-0.0,1.0)) ⊇ interval(0.5,1.5)
    @test ^(interval(0.5,1.5), interval(0.0,2.5)) ⊇ interval(0x1.6A09E667F3BCCP-3,0x1.60B9FD68A4555P+1)
    @test ^(interval(0.5,1.5), interval(-0.0,2.5)) ⊇ interval(0x1.6A09E667F3BCCP-3,0x1.60B9FD68A4555P+1)
    @test ^(interval(0.5,1.5), interval(0.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,1.5), interval(-0.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,1.5), interval(0.1,0.1)) ⊇ interval(0x1.DDB680117AB12P-1,0x1.0A97DCE72A0CBP+0)
    @test ^(interval(0.5,1.5), interval(0.1,1.0)) ⊇ interval(0.5,1.5)
    @test ^(interval(0.5,1.5), interval(0.1,2.5)) ⊇ interval(0x1.6A09E667F3BCCP-3,0x1.60B9FD68A4555P+1)
    @test ^(interval(0.5,1.5), interval(0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,1.5), interval(1.0,1.0)) ⊇ interval(0.5,1.5)
    @test ^(interval(0.5,1.5), interval(1.0,2.5)) ⊇ interval(0x1.6A09E667F3BCCP-3,0x1.60B9FD68A4555P+1)
    @test ^(interval(0.5,1.5), interval(1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,1.5), interval(2.5,2.5)) ⊇ interval(0x1.6A09E667F3BCCP-3,0x1.60B9FD68A4555P+1)
    @test ^(interval(0.5,1.5), interval(2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,1.5), interval(-0.1,0.1)) ⊇ interval(0x1.DDB680117AB12P-1,0x1.125FBEE250665P+0)
    @test ^(interval(0.5,1.5), interval(-0.1,1.0)) ⊇ interval(0x1P-1,0x1.8P+0)
    @test ^(interval(0.5,1.5), interval(-0.1,2.5)) ⊇ interval(0x1.6A09E667F3BCCP-3,0x1.60B9FD68A4555P+1)
    @test ^(interval(0.5,1.5), interval(-0.1,Inf)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(0.5,1.5), interval(-1.0,0.1)) ⊇ interval(0x1.5555555555555P-1,0x1P+1)
    @test ^(interval(0.5,1.5), interval(-1.0,1.0)) ⊇ interval(0x1P-1,0x1P+1)
    @test ^(interval(0.5,1.5), interval(-1.0,2.5)) ⊇ interval(0x1.6A09E667F3BCCP-3,0x1.60B9FD68A4555P+1)
    @test ^(interval(0.5,1.5), interval(-1.0,Inf)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(0.5,1.5), interval(-2.5,0.1)) ⊇ interval(0x1.7398BF1D1EE6FP-2,0x1.6A09E667F3BCDP+2)
    @test ^(interval(0.5,1.5), interval(-2.5,1.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,0x1.6A09E667F3BCDP+2)
    @test ^(interval(0.5,1.5), interval(-2.5,2.5)) ⊇ interval(0x1.6A09E667F3BCCP-3,0x1.6A09E667F3BCDP+2)
    @test ^(interval(0.5,1.5), interval(-2.5,Inf)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(0.5,1.5), interval(-Inf,0.1)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(0.5,1.5), interval(-Inf,1.0)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(0.5,1.5), interval(-Inf,2.5)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(0.5,1.5), entireinterval()) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(0.5,1.5), interval(-1.0,0.0)) ⊇ interval(0x1.5555555555555P-1,0x1P+1)
    @test ^(interval(0.5,1.5), interval(-1.0,-0.0)) ⊇ interval(0x1.5555555555555P-1,0x1P+1)
    @test ^(interval(0.5,1.5), interval(-2.5,0.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,0x1.6A09E667F3BCDP+2)
    @test ^(interval(0.5,1.5), interval(-2.5,-0.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,0x1.6A09E667F3BCDP+2)
    @test ^(interval(0.5,1.5), interval(-Inf,0.0)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(0.5,1.5), interval(-Inf,-0.0)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(0.5,1.5), interval(-0.1,-0.1)) ⊇ interval(0x1.EBA7C9E4D31E9P-1,0x1.125FBEE250665P+0)
    @test ^(interval(0.5,1.5), interval(-1.0,-0.1)) ⊇ interval(0x1.5555555555555P-1,0x1P+1)
    @test ^(interval(0.5,1.5), interval(-2.5,-0.1)) ⊇ interval(0x1.7398BF1D1EE6FP-2,0x1.6A09E667F3BCDP+2)
    @test ^(interval(0.5,1.5), interval(-Inf,-0.1)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(0.5,1.5), interval(-1.0,-1.0)) ⊇ interval(0x1.5555555555555P-1,0x1P+1)
    @test ^(interval(0.5,1.5), interval(-2.5,-1.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,0x1.6A09E667F3BCDP+2)
    @test ^(interval(0.5,1.5), interval(-Inf,-1.0)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(0.5,1.5), interval(-2.5,-2.5)) ⊇ interval(0x1.7398BF1D1EE6FP-2,0x1.6A09E667F3BCDP+2)
    @test ^(interval(0.5,1.5), interval(-Inf,-2.5)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(0.5,Inf), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(0.5,Inf), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(0.5,Inf), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(0.5,Inf), interval(0.0,1.0)) ⊇ interval(0.5,Inf)
    @test ^(interval(0.5,Inf), interval(-0.0,1.0)) ⊇ interval(0.5,Inf)
    @test ^(interval(0.5,Inf), interval(0.0,2.5)) ⊇ interval(0x1.6A09E667F3BCCP-3,Inf)
    @test ^(interval(0.5,Inf), interval(-0.0,2.5)) ⊇ interval(0x1.6A09E667F3BCCP-3,Inf)
    @test ^(interval(0.5,Inf), interval(0.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-0.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(0.1,0.1)) ⊇ interval(0x1.DDB680117AB12P-1,Inf)
    @test ^(interval(0.5,Inf), interval(0.1,1.0)) ⊇ interval(0.5,Inf)
    @test ^(interval(0.5,Inf), interval(0.1,2.5)) ⊇ interval(0x1.6A09E667F3BCCP-3,Inf)
    @test ^(interval(0.5,Inf), interval(0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(1.0,1.0)) ⊇ interval(0.5,Inf)
    @test ^(interval(0.5,Inf), interval(1.0,2.5)) ⊇ interval(0x1.6A09E667F3BCCP-3,Inf)
    @test ^(interval(0.5,Inf), interval(1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(2.5,2.5)) ⊇ interval(0x1.6A09E667F3BCCP-3,Inf)
    @test ^(interval(0.5,Inf), interval(2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-0.1,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-0.1,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-0.1,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-1.0,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-1.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-1.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-2.5,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-2.5,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-2.5,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-Inf,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-Inf,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-Inf,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), entireinterval()) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-1.0,0.0)) ⊇ interval(0.0,0x1P+1)
    @test ^(interval(0.5,Inf), interval(-1.0,-0.0)) ⊇ interval(0.0,0x1P+1)
    @test ^(interval(0.5,Inf), interval(-2.5,0.0)) ⊇ interval(0.0,0x1.6A09E667F3BCDP+2)
    @test ^(interval(0.5,Inf), interval(-2.5,-0.0)) ⊇ interval(0.0,0x1.6A09E667F3BCDP+2)
    @test ^(interval(0.5,Inf), interval(-Inf,0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-Inf,-0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-0.1,-0.1)) ⊇ interval(0.0,0x1.125FBEE250665P+0)
    @test ^(interval(0.5,Inf), interval(-1.0,-0.1)) ⊇ interval(0.0,0x1P+1)
    @test ^(interval(0.5,Inf), interval(-2.5,-0.1)) ⊇ interval(0.0,0x1.6A09E667F3BCDP+2)
    @test ^(interval(0.5,Inf), interval(-Inf,-0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-1.0,-1.0)) ⊇ interval(0.0,0x1P+1)
    @test ^(interval(0.5,Inf), interval(-2.5,-1.0)) ⊇ interval(0.0,0x1.6A09E667F3BCDP+2)
    @test ^(interval(0.5,Inf), interval(-Inf,-1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-Inf,-2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.5,Inf), interval(-2.5,-2.5)) ⊇ interval(0.0,0x1.6A09E667F3BCDP+2)
    @test ^(interval(1.0,1.5), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(1.0,1.5), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(1.0,1.5), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(1.0,1.5), interval(0.0,1.0)) ⊇ interval(1.0,0x1.8P+0)
    @test ^(interval(1.0,1.5), interval(-0.0,1.0)) ⊇ interval(1.0,0x1.8P+0)
    @test ^(interval(1.0,1.5), interval(0.0,2.5)) ⊇ interval(1.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.0,1.5), interval(-0.0,2.5)) ⊇ interval(1.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.0,1.5), interval(0.0,Inf)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,1.5), interval(-0.0,Inf)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,1.5), interval(0.1,0.1)) ⊇ interval(1.0,0x1.0A97DCE72A0CBP+0)
    @test ^(interval(1.0,1.5), interval(0.1,1.0)) ⊇ interval(1.0,0x1.8P+0)
    @test ^(interval(1.0,1.5), interval(0.1,2.5)) ⊇ interval(1.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.0,1.5), interval(0.1,Inf)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,1.5), interval(1.0,1.0)) ⊇ interval(1.0,0x1.8P+0)
    @test ^(interval(1.0,1.5), interval(1.0,2.5)) ⊇ interval(1.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.0,1.5), interval(1.0,Inf)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,1.5), interval(2.5,2.5)) ⊇ interval(1.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.0,1.5), interval(2.5,Inf)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,1.5), interval(-0.1,0.1)) ⊇ interval(0x1.EBA7C9E4D31E9P-1,0x1.0A97DCE72A0CBP+0)
    @test ^(interval(1.0,1.5), interval(-0.1,1.0)) ⊇ interval(0x1.EBA7C9E4D31E9P-1,0x1.8P+0)
    @test ^(interval(1.0,1.5), interval(-0.1,2.5)) ⊇ interval(0x1.EBA7C9E4D31E9P-1,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.0,1.5), interval(-0.1,Inf)) ⊇ interval(0x1.EBA7C9E4D31E9P-1,Inf)
    @test ^(interval(1.0,1.5), interval(-1.0,0.1)) ⊇ interval(0x1.5555555555555P-1,0x1.0A97DCE72A0CBP+0)
    @test ^(interval(1.0,1.5), interval(-1.0,1.0)) ⊇ interval(0x1.5555555555555P-1,0x1.8P+0)
    @test ^(interval(1.0,1.5), interval(-1.0,2.5)) ⊇ interval(0x1.5555555555555P-1,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.0,1.5), interval(-1.0,Inf)) ⊇ interval(0x1.5555555555555P-1,Inf)
    @test ^(interval(1.0,1.5), interval(-2.5,0.1)) ⊇ interval(0x1.7398BF1D1EE6FP-2,0x1.0A97DCE72A0CBP+0)
    @test ^(interval(1.0,1.5), interval(-2.5,1.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,0x1.8P+0)
    @test ^(interval(1.0,1.5), interval(-2.5,2.5)) ⊇ interval(0x1.7398BF1D1EE6FP-2,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.0,1.5), interval(-2.5,Inf)) ⊇ interval(0x1.7398BF1D1EE6FP-2,Inf)
    @test ^(interval(1.0,1.5), interval(-Inf,0.1)) ⊇ interval(0x0P+0,0x1.0A97DCE72A0CBP+0)
    @test ^(interval(1.0,1.5), interval(-Inf,1.0)) ⊇ interval(0x0P+0,0x1.8P+0)
    @test ^(interval(1.0,1.5), interval(-Inf,2.5)) ⊇ interval(0x0P+0,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.0,1.5), entireinterval()) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.0,1.5), interval(-1.0,0.0)) ⊇ interval(0x1.5555555555555P-1,1.0)
    @test ^(interval(1.0,1.5), interval(-1.0,-0.0)) ⊇ interval(0x1.5555555555555P-1,1.0)
    @test ^(interval(1.0,1.5), interval(-2.5,0.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,1.0)
    @test ^(interval(1.0,1.5), interval(-2.5,-0.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,1.0)
    @test ^(interval(1.0,1.5), interval(-Inf,0.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,1.5), interval(-Inf,-0.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,1.5), interval(-0.1,-0.1)) ⊇ interval(0x1.EBA7C9E4D31E9P-1,1.0)
    @test ^(interval(1.0,1.5), interval(-1.0,-0.1)) ⊇ interval(0x1.5555555555555P-1,1.0)
    @test ^(interval(1.0,1.5), interval(-2.5,-0.1)) ⊇ interval(0x1.7398BF1D1EE6FP-2,1.0)
    @test ^(interval(1.0,1.5), interval(-Inf,-0.1)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,1.5), interval(-1.0,-1.0)) ⊇ interval(0x1.5555555555555P-1,1.0)
    @test ^(interval(1.0,1.5), interval(-2.5,-1.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,1.0)
    @test ^(interval(1.0,1.5), interval(-Inf,-1.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,1.5), interval(-2.5,-2.5)) ⊇ interval(0x1.7398BF1D1EE6FP-2,1.0)
    @test ^(interval(1.0,1.5), interval(-Inf,-2.5)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,Inf), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(1.0,Inf), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(1.0,Inf), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(1.0,Inf), interval(0.0,1.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,Inf), interval(-0.0,1.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,Inf), interval(0.0,2.5)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,Inf), interval(-0.0,2.5)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,Inf), interval(0.0,Inf)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,Inf), interval(-0.0,Inf)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,Inf), interval(0.1,0.1)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,Inf), interval(0.1,1.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,Inf), interval(0.1,2.5)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,Inf), interval(0.1,Inf)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,Inf), interval(1.0,1.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,Inf), interval(1.0,2.5)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,Inf), interval(1.0,Inf)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,Inf), interval(2.5,2.5)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,Inf), interval(2.5,Inf)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.0,Inf), interval(-0.1,0.1)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.0,Inf), interval(-0.1,1.0)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.0,Inf), interval(-0.1,2.5)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.0,Inf), interval(-0.1,Inf)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.0,Inf), interval(-1.0,0.1)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.0,Inf), interval(-1.0,1.0)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.0,Inf), interval(-1.0,2.5)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.0,Inf), interval(-1.0,Inf)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.0,Inf), interval(-2.5,0.1)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.0,Inf), interval(-2.5,1.0)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.0,Inf), interval(-2.5,2.5)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.0,Inf), interval(-2.5,Inf)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.0,Inf), interval(-Inf,0.1)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.0,Inf), interval(-Inf,1.0)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.0,Inf), interval(-Inf,2.5)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.0,Inf), entireinterval()) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.0,Inf), interval(-1.0,0.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,Inf), interval(-1.0,-0.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,Inf), interval(-2.5,0.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,Inf), interval(-2.5,-0.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,Inf), interval(-Inf,0.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,Inf), interval(-Inf,-0.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,Inf), interval(-0.1,-0.1)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,Inf), interval(-1.0,-0.1)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,Inf), interval(-2.5,-0.1)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,Inf), interval(-Inf,-0.1)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,Inf), interval(-1.0,-1.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,Inf), interval(-2.5,-1.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,Inf), interval(-Inf,-1.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,Inf), interval(-2.5,-2.5)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.0,Inf), interval(-Inf,-2.5)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.1,1.5), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(1.1,1.5), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(1.1,1.5), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(1.1,1.5), interval(0.0,1.0)) ⊇ interval(1.0,0x1.8P+0)
    @test ^(interval(1.1,1.5), interval(-0.0,1.0)) ⊇ interval(1.0,0x1.8P+0)
    @test ^(interval(1.1,1.5), interval(0.0,2.5)) ⊇ interval(1.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.1,1.5), interval(-0.0,2.5)) ⊇ interval(1.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.1,1.5), interval(0.0,Inf)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.1,1.5), interval(-0.0,Inf)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.1,1.5), interval(0.1,0.1)) ⊇ interval(0x1.02739C65D58BFP+0,0x1.0A97DCE72A0CBP+0)
    @test ^(interval(1.1,1.5), interval(0.1,1.0)) ⊇ interval(0x1.02739C65D58BFP+0,0x1.8P+0)
    @test ^(interval(1.1,1.5), interval(0.1,2.5)) ⊇ interval(0x1.02739C65D58BFP+0,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.1,1.5), interval(0.1,Inf)) ⊇ interval(0x1.02739C65D58BFP+0,Inf)
    @test ^(interval(1.1,1.5), interval(1.0,1.0)) ⊇ interval(0x1.199999999999AP+0,0x1.8P+0)
    @test ^(interval(1.1,1.5), interval(1.0,2.5)) ⊇ interval(0x1.199999999999AP+0,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.1,1.5), interval(1.0,Inf)) ⊇ interval(0x1.199999999999AP+0,Inf)
    @test ^(interval(1.1,1.5), interval(2.5,2.5)) ⊇ interval(0x1.44E1080833B25P+0,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.1,1.5), interval(2.5,Inf)) ⊇ interval(0x1.44E1080833B25P+0,Inf)
    @test ^(interval(1.1,1.5), interval(-0.1,0.1)) ⊇ interval(0x1.EBA7C9E4D31E9P-1,0x1.0A97DCE72A0CBP+0)
    @test ^(interval(1.1,1.5), interval(-0.1,1.0)) ⊇ interval(0x1.EBA7C9E4D31E9P-1,0x1.8P+0)
    @test ^(interval(1.1,1.5), interval(-0.1,2.5)) ⊇ interval(0x1.EBA7C9E4D31E9P-1,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.1,1.5), interval(-0.1,Inf)) ⊇ interval(0x1.EBA7C9E4D31E9P-1,Inf)
    @test ^(interval(1.1,1.5), interval(-1.0,0.1)) ⊇ interval(0x1.5555555555555P-1,0x1.0A97DCE72A0CBP+0)
    @test ^(interval(1.1,1.5), interval(-1.0,1.0)) ⊇ interval(0x1.5555555555555P-1,0x1.8P+0)
    @test ^(interval(1.1,1.5), interval(-1.0,2.5)) ⊇ interval(0x1.5555555555555P-1,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.1,1.5), interval(-1.0,Inf)) ⊇ interval(0x1.5555555555555P-1,Inf)
    @test ^(interval(1.1,1.5), interval(-2.5,0.1)) ⊇ interval(0x1.7398BF1D1EE6FP-2,0x1.0A97DCE72A0CBP+0)
    @test ^(interval(1.1,1.5), interval(-2.5,1.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,0x1.8P+0)
    @test ^(interval(1.1,1.5), interval(-2.5,2.5)) ⊇ interval(0x1.7398BF1D1EE6FP-2,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.1,1.5), interval(-2.5,Inf)) ⊇ interval(0x1.7398BF1D1EE6FP-2,Inf)
    @test ^(interval(1.1,1.5), interval(-Inf,0.1)) ⊇ interval(0x0P+0,0x1.0A97DCE72A0CBP+0)
    @test ^(interval(1.1,1.5), interval(-Inf,1.0)) ⊇ interval(0x0P+0,0x1.8P+0)
    @test ^(interval(1.1,1.5), interval(-Inf,2.5)) ⊇ interval(0x0P+0,0x1.60B9FD68A4555P+1)
    @test ^(interval(1.1,1.5), entireinterval()) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.1,1.5), interval(-1.0,0.0)) ⊇ interval(0x1.5555555555555P-1,1.0)
    @test ^(interval(1.1,1.5), interval(-1.0,-0.0)) ⊇ interval(0x1.5555555555555P-1,1.0)
    @test ^(interval(1.1,1.5), interval(-2.5,0.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,1.0)
    @test ^(interval(1.1,1.5), interval(-2.5,-0.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,1.0)
    @test ^(interval(1.1,1.5), interval(-Inf,0.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.1,1.5), interval(-Inf,-0.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.1,1.5), interval(-0.1,-0.1)) ⊇ interval(0x1.EBA7C9E4D31E9P-1,0x1.FB24AF5281928P-1)
    @test ^(interval(1.1,1.5), interval(-1.0,-0.1)) ⊇ interval(0x1.5555555555555P-1,0x1.FB24AF5281928P-1)
    @test ^(interval(1.1,1.5), interval(-2.5,-0.1)) ⊇ interval(0x1.7398BF1D1EE6FP-2,0x1.FB24AF5281928P-1)
    @test ^(interval(1.1,1.5), interval(-Inf,-0.1)) ⊇ interval(0x0P+0,0x1.FB24AF5281928P-1)
    @test ^(interval(1.1,1.5), interval(-1.0,-1.0)) ⊇ interval(0x1.5555555555555P-1,0x1.D1745D1745D17P-1)
    @test ^(interval(1.1,1.5), interval(-2.5,-1.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,0x1.D1745D1745D17P-1)
    @test ^(interval(1.1,1.5), interval(-Inf,-1.0)) ⊇ interval(0x0P+0,0x1.D1745D1745D17P-1)
    @test ^(interval(1.1,1.5), interval(-2.5,-2.5)) ⊇ interval(0x1.7398BF1D1EE6FP-2,0x1.9372D999784C8P-1)
    @test ^(interval(1.1,1.5), interval(-Inf,-2.5)) ⊇ interval(0x0P+0,0x1.9372D999784C8P-1)
    @test ^(interval(1.1,Inf), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(1.1,Inf), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(1.1,Inf), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(1.1,Inf), interval(0.0,1.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.1,Inf), interval(-0.0,1.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.1,Inf), interval(0.0,2.5)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.1,Inf), interval(-0.0,2.5)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.1,Inf), interval(0.0,Inf)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.1,Inf), interval(-0.0,Inf)) ⊇ interval(1.0,Inf)
    @test ^(interval(1.1,Inf), interval(0.1,0.1)) ⊇ interval(0x1.02739C65D58BFP+0,Inf)
    @test ^(interval(1.1,Inf), interval(0.1,1.0)) ⊇ interval(0x1.02739C65D58BFP+0,Inf)
    @test ^(interval(1.1,Inf), interval(0.1,2.5)) ⊇ interval(0x1.02739C65D58BFP+0,Inf)
    @test ^(interval(1.1,Inf), interval(0.1,Inf)) ⊇ interval(0x1.02739C65D58BFP+0,Inf)
    @test ^(interval(1.1,Inf), interval(1.0,1.0)) ⊇ interval(0x1.199999999999AP+0,Inf)
    @test ^(interval(1.1,Inf), interval(1.0,2.5)) ⊇ interval(0x1.199999999999AP+0,Inf)
    @test ^(interval(1.1,Inf), interval(1.0,Inf)) ⊇ interval(0x1.199999999999AP+0,Inf)
    @test ^(interval(1.1,Inf), interval(2.5,2.5)) ⊇ interval(0x1.44E1080833B25P+0,Inf)
    @test ^(interval(1.1,Inf), interval(2.5,Inf)) ⊇ interval(0x1.44E1080833B25P+0,Inf)
    @test ^(interval(1.1,Inf), interval(-0.1,0.1)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.1,Inf), interval(-0.1,1.0)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.1,Inf), interval(-0.1,2.5)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.1,Inf), interval(-0.1,Inf)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.1,Inf), interval(-1.0,0.1)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.1,Inf), interval(-1.0,1.0)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.1,Inf), interval(-1.0,2.5)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.1,Inf), interval(-1.0,Inf)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.1,Inf), interval(-2.5,0.1)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.1,Inf), interval(-2.5,1.0)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.1,Inf), interval(-2.5,2.5)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.1,Inf), interval(-2.5,Inf)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.1,Inf), interval(-Inf,0.1)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.1,Inf), interval(-Inf,1.0)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.1,Inf), interval(-Inf,2.5)) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.1,Inf), entireinterval()) ⊇ interval(0x0P+0,Inf)
    @test ^(interval(1.1,Inf), interval(-1.0,0.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.1,Inf), interval(-1.0,-0.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.1,Inf), interval(-2.5,0.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.1,Inf), interval(-2.5,-0.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.1,Inf), interval(-Inf,0.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.1,Inf), interval(-Inf,-0.0)) ⊇ interval(0x0P+0,1.0)
    @test ^(interval(1.1,Inf), interval(-0.1,-0.1)) ⊇ interval(0x0P+0,0x1.FB24AF5281928P-1)
    @test ^(interval(1.1,Inf), interval(-1.0,-0.1)) ⊇ interval(0x0P+0,0x1.FB24AF5281928P-1)
    @test ^(interval(1.1,Inf), interval(-2.5,-0.1)) ⊇ interval(0x0P+0,0x1.FB24AF5281928P-1)
    @test ^(interval(1.1,Inf), interval(-Inf,-0.1)) ⊇ interval(0x0P+0,0x1.FB24AF5281928P-1)
    @test ^(interval(1.1,Inf), interval(-1.0,-1.0)) ⊇ interval(0x0P+0,0x1.D1745D1745D17P-1)
    @test ^(interval(1.1,Inf), interval(-2.5,-1.0)) ⊇ interval(0x0P+0,0x1.D1745D1745D17P-1)
    @test ^(interval(1.1,Inf), interval(-Inf,-1.0)) ⊇ interval(0x0P+0,0x1.D1745D1745D17P-1)
    @test ^(interval(1.1,Inf), interval(-2.5,-2.5)) ⊇ interval(0x0P+0,0x1.9372D999784C8P-1)
    @test ^(interval(1.1,Inf), interval(-Inf,-2.5)) ⊇ interval(0x0P+0,0x1.9372D999784C8P-1)
    @test ^(interval(0.0,0.5), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(0.0,0.5), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(0.0,0.5), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(0.0,0.5), interval(0.0,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,0.5), interval(-0.0,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,0.5), interval(0.0,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,0.5), interval(-0.0,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,0.5), interval(0.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,0.5), interval(-0.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,0.5), interval(0.1,0.1)) ⊇ interval(0.0,0x1.DDB680117AB13P-1)
    @test ^(interval(0.0,0.5), interval(0.1,1.0)) ⊇ interval(0.0,0x1.DDB680117AB13P-1)
    @test ^(interval(0.0,0.5), interval(0.1,2.5)) ⊇ interval(0.0,0x1.DDB680117AB13P-1)
    @test ^(interval(0.0,0.5), interval(0.1,Inf)) ⊇ interval(0.0,0x1.DDB680117AB13P-1)
    @test ^(interval(0.0,0.5), interval(1.0,1.0)) ⊇ interval(0.0,0.5)
    @test ^(interval(0.0,0.5), interval(1.0,2.5)) ⊇ interval(0.0,0.5)
    @test ^(interval(0.0,0.5), interval(1.0,Inf)) ⊇ interval(0.0,0.5)
    @test ^(interval(0.0,0.5), interval(2.5,2.5)) ⊇ interval(0.0,0x1.6A09E667F3BCDP-3)
    @test ^(interval(0.0,0.5), interval(2.5,Inf)) ⊇ interval(0.0,0x1.6A09E667F3BCDP-3)
    @test ^(interval(0.0,0.5), interval(-0.1,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.5), interval(-0.1,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.5), interval(-0.1,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.5), interval(-0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.5), interval(-1.0,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.5), interval(-1.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.5), interval(-1.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.5), interval(-1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.5), interval(-2.5,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.5), interval(-2.5,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.5), interval(-2.5,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.5), interval(-2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.5), interval(-Inf,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.5), interval(-Inf,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.5), interval(-Inf,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.5), entireinterval()) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.5), interval(-1.0,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,0.5), interval(-1.0,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,0.5), interval(-2.5,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,0.5), interval(-2.5,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,0.5), interval(-Inf,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,0.5), interval(-Inf,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,0.5), interval(-0.1,-0.1)) ⊇ interval(0x1.125FBEE250664P+0,Inf)
    @test ^(interval(0.0,0.5), interval(-1.0,-0.1)) ⊇ interval(0x1.125FBEE250664P+0,Inf)
    @test ^(interval(0.0,0.5), interval(-2.5,-0.1)) ⊇ interval(0x1.125FBEE250664P+0,Inf)
    @test ^(interval(0.0,0.5), interval(-Inf,-0.1)) ⊇ interval(0x1.125FBEE250664P+0,Inf)
    @test ^(interval(0.0,0.5), interval(-1.0,-1.0)) ⊇ interval(0x1P+1,Inf)
    @test ^(interval(0.0,0.5), interval(-2.5,-1.0)) ⊇ interval(0x1P+1,Inf)
    @test ^(interval(0.0,0.5), interval(-Inf,-1.0)) ⊇ interval(0x1P+1,Inf)
    @test ^(interval(0.0,0.5), interval(-2.5,-2.5)) ⊇ interval(0x1.6A09E667F3BCCP+2,Inf)
    @test ^(interval(0.0,0.5), interval(-Inf,-2.5)) ⊇ interval(0x1.6A09E667F3BCCP+2,Inf)
    @test ^(interval(0.0,1.0), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(0.0,1.0), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(0.0,1.0), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(0.0,1.0), interval(0.0,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,1.0), interval(-0.0,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,1.0), interval(0.0,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,1.0), interval(-0.0,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,1.0), interval(0.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,1.0), interval(-0.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,1.0), interval(0.1,0.1)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,1.0), interval(0.1,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,1.0), interval(0.1,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,1.0), interval(0.1,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,1.0), interval(1.0,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,1.0), interval(1.0,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,1.0), interval(1.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,1.0), interval(2.5,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,1.0), interval(2.5,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(0.0,1.0), interval(-0.1,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.0), interval(-0.1,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.0), interval(-0.1,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.0), interval(-0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.0), interval(-1.0,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.0), interval(-1.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.0), interval(-1.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.0), interval(-1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.0), interval(-2.5,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.0), interval(-2.5,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.0), interval(-2.5,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.0), interval(-2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.0), interval(-Inf,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.0), interval(-Inf,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.0), interval(-Inf,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.0), entireinterval()) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.0), interval(-0.1,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,1.0), interval(-0.1,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,1.0), interval(-1.0,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,1.0), interval(-1.0,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,1.0), interval(-2.5,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,1.0), interval(-2.5,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,1.0), interval(-Inf,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,1.0), interval(-Inf,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,1.0), interval(-0.1,-0.1)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,1.0), interval(-1.0,-0.1)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,1.0), interval(-2.5,-0.1)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,1.0), interval(-Inf,-0.1)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,1.0), interval(-1.0,-1.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,1.0), interval(-2.5,-1.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,1.0), interval(-Inf,-1.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,1.0), interval(-2.5,-2.5)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,1.0), interval(-Inf,-2.5)) ⊇ interval(1.0,Inf)
    @test ^(interval(0.0,1.5), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(0.0,1.5), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(0.0,1.5), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(0.0,1.5), interval(0.0,1.0)) ⊇ interval(0.0,1.5)
    @test ^(interval(0.0,1.5), interval(-0.0,1.0)) ⊇ interval(0.0,1.5)
    @test ^(interval(0.0,1.5), interval(0.0,2.5)) ⊇ interval(0.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(0.0,1.5), interval(-0.0,2.5)) ⊇ interval(0.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(0.0,1.5), interval(0.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-0.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(0.1,0.1)) ⊇ interval(0.0,0x1.0A97DCE72A0CBP+0)
    @test ^(interval(0.0,1.5), interval(0.1,1.0)) ⊇ interval(0.0,1.5)
    @test ^(interval(0.0,1.5), interval(0.1,2.5)) ⊇ interval(0.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(0.0,1.5), interval(0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(1.0,1.0)) ⊇ interval(0.0,1.5)
    @test ^(interval(0.0,1.5), interval(1.0,2.5)) ⊇ interval(0.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(0.0,1.5), interval(1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(2.5,2.5)) ⊇ interval(0.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(0.0,1.5), interval(2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-0.1,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-0.1,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-0.1,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-1.0,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-1.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-1.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-2.5,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-2.5,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-2.5,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-Inf,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-Inf,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-Inf,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), entireinterval()) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-1.0,0.0)) ⊇ interval(0x1.5555555555555P-1,Inf)
    @test ^(interval(0.0,1.5), interval(-1.0,-0.0)) ⊇ interval(0x1.5555555555555P-1,Inf)
    @test ^(interval(0.0,1.5), interval(-2.5,0.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,Inf)
    @test ^(interval(0.0,1.5), interval(-2.5,-0.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,Inf)
    @test ^(interval(0.0,1.5), interval(-Inf,0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-Inf,-0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-0.1,-0.1)) ⊇ interval(0x1.EBA7C9E4D31E9P-1,Inf)
    @test ^(interval(0.0,1.5), interval(-1.0,-0.1)) ⊇ interval(0x1.5555555555555P-1,Inf)
    @test ^(interval(0.0,1.5), interval(-2.5,-0.1)) ⊇ interval(0x1.7398BF1D1EE6FP-2,Inf)
    @test ^(interval(0.0,1.5), interval(-Inf,-0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-1.0,-1.0)) ⊇ interval(0x1.5555555555555P-1,Inf)
    @test ^(interval(0.0,1.5), interval(-2.5,-1.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,Inf)
    @test ^(interval(0.0,1.5), interval(-Inf,-1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,1.5), interval(-2.5,-2.5)) ⊇ interval(0x1.7398BF1D1EE6FP-2,Inf)
    @test ^(interval(0.0,1.5), interval(-Inf,-2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(0.0,Inf), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(0.0,Inf), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(0.0,Inf), interval(0.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-0.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(0.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-0.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(0.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-0.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(0.1,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(0.1,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(0.1,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(1.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(1.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(2.5,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-0.1,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-0.1,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-0.1,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-1.0,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-1.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-1.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-2.5,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-2.5,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-2.5,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-Inf,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-Inf,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-Inf,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), entireinterval()) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-1.0,0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-1.0,-0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-2.5,0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-2.5,-0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-Inf,0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-Inf,-0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-0.1,-0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-1.0,-0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-2.5,-0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-Inf,-0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-1.0,-1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-2.5,-1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-Inf,-1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-Inf,-2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,Inf), interval(-2.5,-2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,0.5), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.5), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.0,0.5), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.0,0.5), interval(0.0,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,0.5), interval(-0.0,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,0.5), interval(0.0,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,0.5), interval(-0.0,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,0.5), interval(0.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,0.5), interval(-0.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,0.5), interval(0.1,0.1)) ⊇ interval(0.0,0x1.DDB680117AB13P-1)
    @test ^(interval(-0.0,0.5), interval(0.1,1.0)) ⊇ interval(0.0,0x1.DDB680117AB13P-1)
    @test ^(interval(-0.0,0.5), interval(0.1,2.5)) ⊇ interval(0.0,0x1.DDB680117AB13P-1)
    @test ^(interval(-0.0,0.5), interval(0.1,Inf)) ⊇ interval(0.0,0x1.DDB680117AB13P-1)
    @test ^(interval(-0.0,0.5), interval(1.0,1.0)) ⊇ interval(0.0,0.5)
    @test ^(interval(-0.0,0.5), interval(1.0,2.5)) ⊇ interval(0.0,0.5)
    @test ^(interval(-0.0,0.5), interval(1.0,Inf)) ⊇ interval(0.0,0.5)
    @test ^(interval(-0.0,0.5), interval(2.5,2.5)) ⊇ interval(0.0,0x1.6A09E667F3BCDP-3)
    @test ^(interval(-0.0,0.5), interval(2.5,Inf)) ⊇ interval(0.0,0x1.6A09E667F3BCDP-3)
    @test ^(interval(-0.0,0.5), interval(-0.1,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-0.1,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-0.1,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-1.0,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-1.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-1.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-2.5,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-2.5,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-2.5,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-Inf,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-Inf,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-Inf,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,0.5), entireinterval()) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-1.0,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-1.0,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-2.5,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-2.5,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-Inf,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-Inf,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,0.5), interval(-0.1,-0.1)) ⊇ interval(0x1.125FBEE250664P+0,Inf)
    @test ^(interval(-0.0,0.5), interval(-1.0,-0.1)) ⊇ interval(0x1.125FBEE250664P+0,Inf)
    @test ^(interval(-0.0,0.5), interval(-2.5,-0.1)) ⊇ interval(0x1.125FBEE250664P+0,Inf)
    @test ^(interval(-0.0,0.5), interval(-Inf,-0.1)) ⊇ interval(0x1.125FBEE250664P+0,Inf)
    @test ^(interval(-0.0,0.5), interval(-1.0,-1.0)) ⊇ interval(0x1P+1,Inf)
    @test ^(interval(-0.0,0.5), interval(-2.5,-1.0)) ⊇ interval(0x1P+1,Inf)
    @test ^(interval(-0.0,0.5), interval(-Inf,-1.0)) ⊇ interval(0x1P+1,Inf)
    @test ^(interval(-0.0,0.5), interval(-2.5,-2.5)) ⊇ interval(0x1.6A09E667F3BCCP+2,Inf)
    @test ^(interval(-0.0,0.5), interval(-Inf,-2.5)) ⊇ interval(0x1.6A09E667F3BCCP+2,Inf)
    @test ^(interval(-0.0,1.0), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(-0.0,1.0), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.0,1.0), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.0,1.0), interval(0.0,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,1.0), interval(-0.0,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,1.0), interval(0.0,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,1.0), interval(-0.0,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,1.0), interval(0.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,1.0), interval(-0.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,1.0), interval(0.1,0.1)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,1.0), interval(0.1,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,1.0), interval(0.1,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,1.0), interval(0.1,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,1.0), interval(1.0,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,1.0), interval(1.0,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,1.0), interval(1.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,1.0), interval(2.5,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,1.0), interval(2.5,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.0,1.0), interval(-0.1,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-0.1,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-0.1,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-1.0,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-1.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-1.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-2.5,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-2.5,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-2.5,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-Inf,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-Inf,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-Inf,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.0), entireinterval()) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-0.1,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-0.1,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-1.0,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-1.0,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-2.5,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-2.5,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-Inf,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-Inf,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-0.1,-0.1)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-1.0,-0.1)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-2.5,-0.1)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-Inf,-0.1)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-1.0,-1.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-2.5,-1.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-Inf,-1.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-2.5,-2.5)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,1.0), interval(-Inf,-2.5)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.0,1.5), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(-0.0,1.5), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.0,1.5), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.0,1.5), interval(0.0,1.0)) ⊇ interval(0.0,1.5)
    @test ^(interval(-0.0,1.5), interval(-0.0,1.0)) ⊇ interval(0.0,1.5)
    @test ^(interval(-0.0,1.5), interval(0.0,2.5)) ⊇ interval(0.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(-0.0,1.5), interval(-0.0,2.5)) ⊇ interval(0.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(-0.0,1.5), interval(0.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-0.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(0.1,0.1)) ⊇ interval(0.0,0x1.0A97DCE72A0CBP+0)
    @test ^(interval(-0.0,1.5), interval(0.1,1.0)) ⊇ interval(0.0,1.5)
    @test ^(interval(-0.0,1.5), interval(0.1,2.5)) ⊇ interval(0.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(-0.0,1.5), interval(0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(1.0,1.0)) ⊇ interval(0.0,1.5)
    @test ^(interval(-0.0,1.5), interval(1.0,2.5)) ⊇ interval(0.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(-0.0,1.5), interval(1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(2.5,2.5)) ⊇ interval(0.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(-0.0,1.5), interval(2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-0.1,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-0.1,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-0.1,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-1.0,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-1.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-1.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-2.5,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-2.5,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-2.5,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-Inf,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-Inf,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-Inf,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), entireinterval()) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-1.0,0.0)) ⊇ interval(0x1.5555555555555P-1,Inf)
    @test ^(interval(-0.0,1.5), interval(-1.0,-0.0)) ⊇ interval(0x1.5555555555555P-1,Inf)
    @test ^(interval(-0.0,1.5), interval(-2.5,0.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,Inf)
    @test ^(interval(-0.0,1.5), interval(-2.5,-0.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,Inf)
    @test ^(interval(-0.0,1.5), interval(-Inf,0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-Inf,-0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-0.1,-0.1)) ⊇ interval(0x1.EBA7C9E4D31E9P-1,Inf)
    @test ^(interval(-0.0,1.5), interval(-1.0,-0.1)) ⊇ interval(0x1.5555555555555P-1,Inf)
    @test ^(interval(-0.0,1.5), interval(-2.5,-0.1)) ⊇ interval(0x1.7398BF1D1EE6FP-2,Inf)
    @test ^(interval(-0.0,1.5), interval(-Inf,-0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-1.0,-1.0)) ⊇ interval(0x1.5555555555555P-1,Inf)
    @test ^(interval(-0.0,1.5), interval(-2.5,-1.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,Inf)
    @test ^(interval(-0.0,1.5), interval(-Inf,-1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,1.5), interval(-2.5,-2.5)) ⊇ interval(0x1.7398BF1D1EE6FP-2,Inf)
    @test ^(interval(-0.0,1.5), interval(-Inf,-2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(-0.0,Inf), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.0,Inf), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.0,Inf), interval(0.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-0.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(0.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-0.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(0.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-0.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(0.1,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(0.1,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(0.1,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(1.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(1.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(2.5,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-0.1,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-0.1,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-0.1,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-1.0,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-1.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-1.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-2.5,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-2.5,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-2.5,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-Inf,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-Inf,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-Inf,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), entireinterval()) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-1.0,0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-1.0,-0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-2.5,0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-2.5,-0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-Inf,0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-Inf,-0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-0.1,-0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-1.0,-0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-2.5,-0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-Inf,-0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-1.0,-1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-2.5,-1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-Inf,-1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-Inf,-2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.0,Inf), interval(-2.5,-2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,0.5), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(-0.1,0.5), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.1,0.5), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.1,0.5), interval(0.0,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,0.5), interval(-0.0,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,0.5), interval(0.0,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,0.5), interval(-0.0,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,0.5), interval(0.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,0.5), interval(-0.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,0.5), interval(0.1,0.1)) ⊇ interval(0.0,0x1.DDB680117AB13P-1)
    @test ^(interval(-0.1,0.5), interval(0.1,1.0)) ⊇ interval(0.0,0x1.DDB680117AB13P-1)
    @test ^(interval(-0.1,0.5), interval(0.1,2.5)) ⊇ interval(0.0,0x1.DDB680117AB13P-1)
    @test ^(interval(-0.1,0.5), interval(0.1,Inf)) ⊇ interval(0.0,0x1.DDB680117AB13P-1)
    @test ^(interval(-0.1,0.5), interval(1.0,1.0)) ⊇ interval(0.0,0.5)
    @test ^(interval(-0.1,0.5), interval(1.0,2.5)) ⊇ interval(0.0,0.5)
    @test ^(interval(-0.1,0.5), interval(1.0,Inf)) ⊇ interval(0.0,0.5)
    @test ^(interval(-0.1,0.5), interval(2.5,2.5)) ⊇ interval(0.0,0x1.6A09E667F3BCDP-3)
    @test ^(interval(-0.1,0.5), interval(2.5,Inf)) ⊇ interval(0.0,0x1.6A09E667F3BCDP-3)
    @test ^(interval(-0.1,0.5), interval(-0.1,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-0.1,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-0.1,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-1.0,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-1.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-1.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-2.5,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-2.5,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-2.5,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-Inf,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-Inf,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-Inf,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,0.5), entireinterval()) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-1.0,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-1.0,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-2.5,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-2.5,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-Inf,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-Inf,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,0.5), interval(-0.1,-0.1)) ⊇ interval(0x1.125FBEE250664P+0,Inf)
    @test ^(interval(-0.1,0.5), interval(-1.0,-0.1)) ⊇ interval(0x1.125FBEE250664P+0,Inf)
    @test ^(interval(-0.1,0.5), interval(-2.5,-0.1)) ⊇ interval(0x1.125FBEE250664P+0,Inf)
    @test ^(interval(-0.1,0.5), interval(-Inf,-0.1)) ⊇ interval(0x1.125FBEE250664P+0,Inf)
    @test ^(interval(-0.1,0.5), interval(-1.0,-1.0)) ⊇ interval(0x1P+1,Inf)
    @test ^(interval(-0.1,0.5), interval(-2.5,-1.0)) ⊇ interval(0x1P+1,Inf)
    @test ^(interval(-0.1,0.5), interval(-Inf,-1.0)) ⊇ interval(0x1P+1,Inf)
    @test ^(interval(-0.1,0.5), interval(-2.5,-2.5)) ⊇ interval(0x1.6A09E667F3BCCP+2,Inf)
    @test ^(interval(-0.1,0.5), interval(-Inf,-2.5)) ⊇ interval(0x1.6A09E667F3BCCP+2,Inf)
    @test ^(interval(-0.1,1.0), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(-0.1,1.0), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.1,1.0), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.1,1.0), interval(0.0,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,1.0), interval(-0.0,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,1.0), interval(0.0,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,1.0), interval(-0.0,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,1.0), interval(0.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,1.0), interval(-0.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,1.0), interval(0.1,0.1)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,1.0), interval(0.1,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,1.0), interval(0.1,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,1.0), interval(0.1,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,1.0), interval(1.0,1.0)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,1.0), interval(1.0,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,1.0), interval(1.0,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,1.0), interval(2.5,2.5)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,1.0), interval(2.5,Inf)) ⊇ interval(0.0,1.0)
    @test ^(interval(-0.1,1.0), interval(-0.1,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-0.1,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-0.1,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-1.0,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-1.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-1.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-2.5,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-2.5,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-2.5,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-Inf,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-Inf,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-Inf,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.0), entireinterval()) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-0.1,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-0.1,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-1.0,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-1.0,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-2.5,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-2.5,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-Inf,0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-Inf,-0.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-0.1,-0.1)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-1.0,-0.1)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-2.5,-0.1)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-Inf,-0.1)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-1.0,-1.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-2.5,-1.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-Inf,-1.0)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-2.5,-2.5)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,1.0), interval(-Inf,-2.5)) ⊇ interval(1.0,Inf)
    @test ^(interval(-0.1,1.5), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(-0.1,1.5), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.1,1.5), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.1,1.5), interval(0.0,1.0)) ⊇ interval(0.0,1.5)
    @test ^(interval(-0.1,1.5), interval(-0.0,1.0)) ⊇ interval(0.0,1.5)
    @test ^(interval(-0.1,1.5), interval(0.0,2.5)) ⊇ interval(0.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(-0.1,1.5), interval(-0.0,2.5)) ⊇ interval(0.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(-0.1,1.5), interval(0.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-0.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(0.1,0.1)) ⊇ interval(0.0,0x1.0A97DCE72A0CBP+0)
    @test ^(interval(-0.1,1.5), interval(0.1,1.0)) ⊇ interval(0.0,1.5)
    @test ^(interval(-0.1,1.5), interval(0.1,2.5)) ⊇ interval(0.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(-0.1,1.5), interval(0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(1.0,1.0)) ⊇ interval(0.0,1.5)
    @test ^(interval(-0.1,1.5), interval(1.0,2.5)) ⊇ interval(0.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(-0.1,1.5), interval(1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(2.5,2.5)) ⊇ interval(0.0,0x1.60B9FD68A4555P+1)
    @test ^(interval(-0.1,1.5), interval(2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-0.1,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-0.1,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-0.1,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-1.0,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-1.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-1.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-2.5,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-2.5,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-2.5,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-Inf,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-Inf,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-Inf,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), entireinterval()) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-1.0,0.0)) ⊇ interval(0x1.5555555555555P-1,Inf)
    @test ^(interval(-0.1,1.5), interval(-1.0,-0.0)) ⊇ interval(0x1.5555555555555P-1,Inf)
    @test ^(interval(-0.1,1.5), interval(-2.5,0.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,Inf)
    @test ^(interval(-0.1,1.5), interval(-2.5,-0.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,Inf)
    @test ^(interval(-0.1,1.5), interval(-Inf,0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-Inf,-0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-0.1,-0.1)) ⊇ interval(0x1.EBA7C9E4D31E9P-1,Inf)
    @test ^(interval(-0.1,1.5), interval(-1.0,-0.1)) ⊇ interval(0x1.5555555555555P-1,Inf)
    @test ^(interval(-0.1,1.5), interval(-2.5,-0.1)) ⊇ interval(0x1.7398BF1D1EE6FP-2,Inf)
    @test ^(interval(-0.1,1.5), interval(-Inf,-0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-1.0,-1.0)) ⊇ interval(0x1.5555555555555P-1,Inf)
    @test ^(interval(-0.1,1.5), interval(-2.5,-1.0)) ⊇ interval(0x1.7398BF1D1EE6FP-2,Inf)
    @test ^(interval(-0.1,1.5), interval(-Inf,-1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,1.5), interval(-2.5,-2.5)) ⊇ interval(0x1.7398BF1D1EE6FP-2,Inf)
    @test ^(interval(-0.1,1.5), interval(-Inf,-2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(-0.1,Inf), interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.1,Inf), interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test ^(interval(-0.1,Inf), interval(0.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-0.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(0.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-0.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(0.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-0.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(0.1,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(0.1,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(0.1,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(1.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(1.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(2.5,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-0.1,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-0.1,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-0.1,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-0.1,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-1.0,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-1.0,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-1.0,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-1.0,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-2.5,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-2.5,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-2.5,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-2.5,Inf)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-Inf,0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-Inf,1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-Inf,2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), entireinterval()) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-1.0,0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-1.0,-0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-2.5,0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-2.5,-0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-Inf,0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-Inf,-0.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-0.1,-0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-1.0,-0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-2.5,-0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-Inf,-0.1)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-1.0,-1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-2.5,-1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-Inf,-1.0)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-Inf,-2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(-0.1,Inf), interval(-2.5,-2.5)) ⊇ interval(0.0,Inf)
    @test ^(interval(0.0,0.0), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(0.0,0.0), interval(0.0,0.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,0.0), interval(-0.0,-0.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,0.0), interval(0.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-0.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(0.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-0.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(0.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-0.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(0.1,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(0.1,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(0.1,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(0.1,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(1.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(1.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(1.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(2.5,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(2.5,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-0.1,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-0.1,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-0.1,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-0.1,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-1.0,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-1.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-1.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-1.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-2.5,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-2.5,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-2.5,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-2.5,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-Inf,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-Inf,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-Inf,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), entireinterval()) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,0.0), interval(-1.0,0.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,0.0), interval(-1.0,-0.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,0.0), interval(-2.5,0.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,0.0), interval(-2.5,-0.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,0.0), interval(-Inf,0.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,0.0), interval(-Inf,-0.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,0.0), interval(-0.1,-0.1)) ⊇ emptyinterval()
    @test ^(interval(0.0,0.0), interval(-1.0,-0.1)) ⊇ emptyinterval()
    @test ^(interval(0.0,0.0), interval(-2.5,-0.1)) ⊇ emptyinterval()
    @test ^(interval(0.0,0.0), interval(-Inf,-0.1)) ⊇ emptyinterval()
    @test ^(interval(0.0,0.0), interval(-1.0,-1.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,0.0), interval(-2.5,-1.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,0.0), interval(-Inf,-1.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,0.0), interval(-Inf,-2.5)) ⊇ emptyinterval()
    @test ^(interval(0.0,0.0), interval(-2.5,-2.5)) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), interval(0.0,0.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), interval(-0.0,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), interval(0.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-0.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(0.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-0.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(0.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-0.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(0.1,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(0.1,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(0.1,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(0.1,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(1.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(1.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(1.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(2.5,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(2.5,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-0.1,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-0.1,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-0.1,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-0.1,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-1.0,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-1.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-1.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-1.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-2.5,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-2.5,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-2.5,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-2.5,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-Inf,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-Inf,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-Inf,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), entireinterval()) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,-0.0), interval(-1.0,0.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), interval(-1.0,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), interval(-2.5,0.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), interval(-2.5,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), interval(-Inf,0.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), interval(-Inf,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), interval(-0.1,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), interval(-1.0,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), interval(-2.5,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), interval(-Inf,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), interval(-1.0,-1.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), interval(-2.5,-1.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), interval(-Inf,-1.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), interval(-Inf,-2.5)) ⊇ emptyinterval()
    @test ^(interval(-0.0,-0.0), interval(-2.5,-2.5)) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), interval(0.0,0.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), interval(-0.0,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), interval(0.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-0.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(0.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-0.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(0.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-0.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(0.1,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(0.1,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(0.1,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(0.1,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(1.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(1.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(1.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(2.5,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(2.5,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-0.1,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-0.1,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-0.1,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-0.1,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-1.0,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-1.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-1.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-1.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-2.5,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-2.5,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-2.5,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-2.5,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-Inf,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-Inf,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-Inf,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), entireinterval()) ⊇ interval(0.0,0.0)
    @test ^(interval(-0.0,0.0), interval(-1.0,0.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), interval(-1.0,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), interval(-2.5,0.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), interval(-2.5,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), interval(-Inf,0.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), interval(-Inf,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), interval(-0.1,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), interval(-1.0,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), interval(-2.5,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), interval(-Inf,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), interval(-1.0,-1.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), interval(-2.5,-1.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), interval(-Inf,-1.0)) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), interval(-Inf,-2.5)) ⊇ emptyinterval()
    @test ^(interval(-0.0,0.0), interval(-2.5,-2.5)) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), interval(0.0,0.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), interval(-0.0,-0.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), interval(0.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-0.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(0.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-0.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(0.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-0.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(0.1,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(0.1,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(0.1,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(0.1,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(1.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(1.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(1.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(2.5,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(2.5,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-0.1,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-0.1,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-0.1,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-0.1,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-1.0,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-1.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-1.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-1.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-2.5,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-2.5,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-2.5,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-2.5,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-Inf,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-Inf,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-Inf,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), entireinterval()) ⊇ interval(0.0,0.0)
    @test ^(interval(0.0,-0.0), interval(-1.0,0.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), interval(-1.0,-0.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), interval(-2.5,0.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), interval(-2.5,-0.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), interval(-Inf,0.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), interval(-Inf,-0.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), interval(-0.1,-0.1)) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), interval(-1.0,-0.1)) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), interval(-2.5,-0.1)) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), interval(-Inf,-0.1)) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), interval(-1.0,-1.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), interval(-2.5,-1.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), interval(-Inf,-1.0)) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), interval(-Inf,-2.5)) ⊇ emptyinterval()
    @test ^(interval(0.0,-0.0), interval(-2.5,-2.5)) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), interval(0.0,0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), interval(-0.0,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), interval(0.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-0.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(0.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-0.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(0.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-0.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(0.1,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(0.1,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(0.1,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(0.1,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(1.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(1.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(1.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(2.5,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(2.5,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-0.1,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-0.1,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-0.1,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-0.1,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-1.0,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-1.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-1.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-1.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-2.5,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-2.5,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-2.5,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-2.5,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-Inf,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-Inf,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-Inf,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), entireinterval()) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,0.0), interval(-1.0,0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), interval(-1.0,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), interval(-2.5,0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), interval(-2.5,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), interval(-Inf,0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), interval(-Inf,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), interval(-0.1,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), interval(-1.0,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), interval(-2.5,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), interval(-Inf,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), interval(-1.0,-1.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), interval(-2.5,-1.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), interval(-Inf,-1.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), interval(-Inf,-2.5)) ⊇ emptyinterval()
    @test ^(interval(-1.0,0.0), interval(-2.5,-2.5)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), interval(0.0,0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), interval(-0.0,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), interval(0.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-0.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(0.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-0.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(0.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-0.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(0.1,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(0.1,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(0.1,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(0.1,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(1.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(1.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(1.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(2.5,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(2.5,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-0.1,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-0.1,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-0.1,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-0.1,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-1.0,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-1.0,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-1.0,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-1.0,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-2.5,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-2.5,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-2.5,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-2.5,Inf)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-Inf,0.1)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-Inf,1.0)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-Inf,2.5)) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), entireinterval()) ⊇ interval(0.0,0.0)
    @test ^(interval(-1.0,-0.0), interval(-1.0,0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), interval(-1.0,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), interval(-2.5,0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), interval(-2.5,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), interval(-Inf,0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), interval(-Inf,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), interval(-0.1,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), interval(-1.0,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), interval(-2.5,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), interval(-Inf,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), interval(-1.0,-1.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), interval(-2.5,-1.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), interval(-Inf,-1.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), interval(-Inf,-2.5)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.0), interval(-2.5,-2.5)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), emptyinterval()) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(0.0,0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-0.0,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(0.0,1.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-0.0,1.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(0.0,2.5)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-0.0,2.5)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(0.0,Inf)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-0.0,Inf)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(0.1,0.1)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(0.1,1.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(0.1,2.5)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(0.1,Inf)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(1.0,1.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(1.0,2.5)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(1.0,Inf)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(2.5,2.5)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(2.5,Inf)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-0.1,0.1)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-0.1,1.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-0.1,2.5)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-0.1,Inf)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-1.0,0.1)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-1.0,1.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-1.0,2.5)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-1.0,Inf)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-2.5,0.1)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-2.5,1.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-2.5,2.5)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-2.5,Inf)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-Inf,0.1)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-Inf,1.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-Inf,2.5)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), entireinterval()) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-1.0,0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-1.0,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-2.5,0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-2.5,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-Inf,0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-Inf,-0.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-0.1,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-1.0,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-2.5,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-Inf,-0.1)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-1.0,-1.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-2.5,-1.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-Inf,-1.0)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-Inf,-2.5)) ⊇ emptyinterval()
    @test ^(interval(-1.0,-0.1), interval(-2.5,-2.5)) ⊇ emptyinterval()
end

@testset "minimal_exp_test" begin
    @test exp(emptyinterval()) == emptyinterval()
    @test exp(interval(-Inf,0.0)) == interval(0.0,1.0)
    @test exp(interval(-Inf,-0.0)) == interval(0.0,1.0)
    @test exp(interval(0.0,Inf)) == interval(1.0,Inf)
    @test exp(interval(-0.0,Inf)) == interval(1.0,Inf)
    @test exp(entireinterval()) == interval(0.0,Inf)
    @test exp(interval(-Inf,0x1.62E42FEFA39FP+9)) == interval(0.0,Inf)
    @test exp(interval(0x1.62E42FEFA39FP+9,0x1.62E42FEFA39FP+9)) == interval( 0x1.FFFFFFFFFFFFFP+1023,Inf)
    @test exp(interval(0.0,0x1.62E42FEFA39EP+9)) == interval(1.0,0x1.FFFFFFFFFC32BP+1023)
    @test exp(interval(-0.0,0x1.62E42FEFA39EP+9)) == interval(1.0,0x1.FFFFFFFFFC32BP+1023)
    @test exp(interval(-0x1.6232BDD7ABCD3P+9,0x1.62E42FEFA39EP+9)) == interval(0x0.FFFFFFFFFFE7BP-1022,0x1.FFFFFFFFFC32BP+1023)
    @test exp(interval(-0x1.6232BDD7ABCD3P+8,0x1.62E42FEFA39EP+9)) == interval(0x1.FFFFFFFFFFE7BP-512,0x1.FFFFFFFFFC32BP+1023)
    @test exp(interval(-0x1.6232BDD7ABCD3P+8,0.0)) == interval(0x1.FFFFFFFFFFE7BP-512,1.0)
    @test exp(interval(-0x1.6232BDD7ABCD3P+8,-0.0)) == interval(0x1.FFFFFFFFFFE7BP-512,1.0)
    @test exp(interval(-0x1.6232BDD7ABCD3P+8,1.0)) == interval(0x1.FFFFFFFFFFE7BP-512,0x1.5BF0A8B14576AP+1)
    @test exp(interval(1.0,5.0)) == interval(0x1.5BF0A8B145769P+1,0x1.28D389970339P+7)
    @test exp(interval(-0x1.A934F0979A372P+1,0x1.CEAECFEA8085AP+0)) == interval(0x1.2797F0A337A5FP-5,0x1.86091CC9095C5P+2)
    @test exp(interval(0x1.87F42B972949CP-1,0x1.8B55484710029P+6)) == interval(0x1.1337E9E45812AP+1, 0x1.805A5C88021B6P+142)
    @test exp(interval(0x1.78025C8B3FD39P+3,0x1.9FD8EEF3FA79BP+4)) == interval(0x1.EF461A783114CP+16,0x1.691D36C6B008CP+37)
end

@testset "minimal_exp2_test" begin
    @test exp2(emptyinterval()) ⊇ emptyinterval()
    @test exp2(interval(-Inf,0.0)) ⊇ interval(0.0,1.0)
    @test exp2(interval(-Inf,-0.0)) ⊇ interval(0.0,1.0)
    @test exp2(interval(0.0,Inf)) ⊇ interval(1.0,Inf)
    @test exp2(interval(-0.0,Inf)) ⊇ interval(1.0,Inf)
    @test exp2(entireinterval()) ⊇ interval(0.0,Inf)
    @test exp2(interval(-Inf,1024.0)) ⊇ interval(0.0,Inf)
    @test exp2(interval(1024.0,1024.0)) ⊇ interval(0x1.FFFFFFFFFFFFFP+1023,Inf)
    @test exp2(interval(0.0,1023.0)) ⊇ interval(1.0,0x1P+1023)
    @test exp2(interval(-0.0,1023.0)) ⊇ interval(1.0,0x1P+1023)
    @test exp2(interval(-1022.0,1023.0)) ⊇ interval(0x1P-1022,0x1P+1023)
    @test exp2(interval(-1022.0,0.0)) ⊇ interval(0x1P-1022,1.0)
    @test exp2(interval(-1022.0,-0.0)) ⊇ interval(0x1P-1022,1.0)
    @test exp2(interval(-1022.0,1.0)) ⊇ interval(0x1P-1022,2.0)
    @test exp2(interval(1.0,5.0)) ⊇ interval(2.0,32.0)
    @test exp2(interval(-0x1.A934F0979A372P+1,0x1.CEAECFEA8085AP+0)) ⊇ interval(0x1.9999999999998P-4,0x1.C000000000001P+1)
    @test exp2(interval(0x1.87F42B972949CP-1,0x1.8B55484710029P+6)) ⊇ interval(0x1.B333333333332P+0,0x1.C81FD88228B4FP+98)
    @test exp2(interval(0x1.78025C8B3FD39P+3,0x1.9FD8EEF3FA79BP+4)) ⊇ interval(0x1.AEA0000721857P+11,0x1.FCA0555555559P+25)
end

@testset "minimal_exp10_test" begin
    @test exp10(emptyinterval()) ⊇ emptyinterval()
    @test exp10(interval(-Inf,0.0)) ⊇ interval(0.0,1.0)
    @test exp10(interval(-Inf,-0.0)) ⊇ interval(0.0,1.0)
    @test exp10(interval(0.0,Inf)) ⊇ interval(1.0,Inf)
    @test exp10(interval(-0.0,Inf)) ⊇ interval(1.0,Inf)
    @test exp10(entireinterval()) ⊇ interval(0.0,Inf)
    @test exp10(interval(-Inf,0x1.34413509F79FFP+8)) ⊇ interval(0.0,Inf)
    @test exp10(interval(0x1.34413509F79FFP+8,0x1.34413509F79FFP+8)) ⊇ interval(0x1.FFFFFFFFFFFFFP+1023,Inf)
    @test exp10(interval(0.0,0x1.34413509F79FEP+8)) ⊇ interval(1.0,0x1.FFFFFFFFFFBA1P+1023)
    @test exp10(interval(-0.0,0x1.34413509F79FEP+8)) ⊇ interval(1.0,0x1.FFFFFFFFFFBA1P+1023)
    @test exp10(interval(-0x1.33A7146F72A42P+8,0x1.34413509F79FEP+8)) ⊇ interval(0x0.FFFFFFFFFFFE3P-1022,0x1.FFFFFFFFFFBA1P+1023)
    @test exp10(interval(-0x1.22P+7,0x1.34413509F79FEP+8)) ⊇ interval(0x1.3FAAC3E3FA1F3P-482,0x1.FFFFFFFFFFBA1P+1023)
    @test exp10(interval(-0x1.22P+7,0.0)) ⊇ interval(0x1.3FAAC3E3FA1F3P-482,1.0)
    @test exp10(interval(-0x1.22P+7,-0.0)) ⊇ interval(0x1.3FAAC3E3FA1F3P-482,1.0)
    @test exp10(interval(-0x1.22P+7,1.0)) ⊇ interval(0x1.3FAAC3E3FA1F3P-482,10.0)
    @test exp10(interval(1.0,5.0)) ⊇ interval(10.0,100000.0)
    @test exp10(interval(-0x1.A934F0979A372P+1,0x1.CEAECFEA8085AP+0)) ⊇ interval(0x1.F3A8254311F9AP-12,0x1.00B18AD5B7D56P+6)
    @test exp10(interval(0x1.87F42B972949CP-1,0x1.8B55484710029P+6)) ⊇ interval(0x1.75014B7296807P+2,0x1.3EEC1D47DFB2BP+328)
    @test exp10(interval(0x1.78025C8B3FD39P+3,0x1.9FD8EEF3FA79BP+4)) ⊇ interval(0x1.0608D2279A811P+39,0x1.43AF5D4271CB8P+86)
end

@testset "minimal_log_test" begin
    @test log(emptyinterval()) == emptyinterval()
    @test log(interval(-Inf,0.0)) == emptyinterval()
    @test log(interval(-Inf,-0.0)) == emptyinterval()
    @test log(interval(0.0,1.0)) == interval(-Inf,0.0)
    @test log(interval(-0.0,1.0)) == interval(-Inf,0.0)
    @test log(interval(1.0,Inf)) == interval(0.0,Inf)
    @test log(interval(0.0,Inf)) == entireinterval()
    @test log(interval(-0.0,Inf)) == entireinterval()
    @test log(entireinterval()) == entireinterval()
    @test log(interval(0.0,0x1.FFFFFFFFFFFFFp1023)) == interval(-Inf,0x1.62E42FEFA39FP+9)
    @test log(interval(-0.0,0x1.FFFFFFFFFFFFFp1023)) == interval(-Inf,0x1.62E42FEFA39FP+9)
    @test log(interval(1.0,0x1.FFFFFFFFFFFFFp1023)) == interval(0.0,0x1.62E42FEFA39FP+9)
    @test log(interval(0x0.0000000000001p-1022,0x1.FFFFFFFFFFFFFp1023)) == interval(-0x1.74385446D71C4p9, +0x1.62E42FEFA39Fp9)
    @test log(interval(0x0.0000000000001p-1022,1.0)) == interval(-0x1.74385446D71C4p9,0.0)
    @test log(interval(0x1.5BF0A8B145769P+1,0x1.5BF0A8B145769P+1)) == interval(0x1.FFFFFFFFFFFFFP-1,0x1P+0)
    @test log(interval(0x1.5BF0A8B14576AP+1,0x1.5BF0A8B14576AP+1)) == interval(0x1P+0,0x1.0000000000001P+0)
    @test log(interval(0x0.0000000000001p-1022,0x1.5BF0A8B14576AP+1)) == interval(-0x1.74385446D71C4p9,0x1.0000000000001P+0)
    @test log(interval(0x1.5BF0A8B145769P+1,32.0)) == interval(0x1.FFFFFFFFFFFFFP-1,0x1.BB9D3BEB8C86CP+1)
    @test log(interval(0x1.999999999999AP-4,0x1.CP+1)) == interval(-0x1.26BB1BBB55516P+1,0x1.40B512EB53D6P+0)
    @test log(interval(0x1.B333333333333P+0,0x1.C81FD88228B2FP+98)) == interval(0x1.0FAE81914A99P-1,0x1.120627F6AE7F1P+6)
    @test log(interval(0x1.AEA0000721861P+11,0x1.FCA055555554CP+25)) == interval(0x1.04A1363DB1E63P+3,0x1.203E52C0256B5P+4)
end

@testset "minimal_log2_test" begin
    @test log2(emptyinterval()) == emptyinterval()
    @test log2(interval(-Inf,0.0)) == emptyinterval()
    @test log2(interval(-Inf,-0.0)) == emptyinterval()
    @test log2(interval(0.0,1.0)) == interval(-Inf,0.0)
    @test log2(interval(-0.0,1.0)) == interval(-Inf,0.0)
    @test log2(interval(1.0,Inf)) == interval(0.0,Inf)
    @test log2(interval(0.0,Inf)) == entireinterval()
    @test log2(interval(-0.0,Inf)) == entireinterval()
    @test log2(entireinterval()) == entireinterval()
    @test log2(interval(0.0,0x1.FFFFFFFFFFFFFp1023)) == interval(-Inf,1024.0)
    @test log2(interval(-0.0,0x1.FFFFFFFFFFFFFp1023)) == interval(-Inf,1024.0)
    @test log2(interval(1.0,0x1.FFFFFFFFFFFFFp1023)) == interval(0.0,1024.0)
    @test log2(interval(0x0.0000000000001p-1022,0x1.FFFFFFFFFFFFFp1023)) == interval(-1074.0,1024.0)
    @test log2(interval(0x0.0000000000001p-1022,1.0)) == interval(-1074.0,0.0)
    @test log2(interval(0x0.0000000000001p-1022,2.0)) == interval(-1074.0,1.0)
    @test log2(interval(2.0,32.0)) == interval(1.0,5.0)
    @test log2(interval(0x1.999999999999AP-4,0x1.CP+1)) == interval(-0x1.A934F0979A372P+1,0x1.CEAECFEA8085AP+0)
    @test log2(interval(0x1.B333333333333P+0,0x1.C81FD88228B2FP+98)) == interval(0x1.87F42B972949CP-1,0x1.8B55484710029P+6)
    @test log2(interval(0x1.AEA0000721861P+11,0x1.FCA055555554CP+25)) == interval(0x1.78025C8B3FD39P+3,0x1.9FD8EEF3FA79BP+4)
end

@testset "minimal_log10_test" begin
    @test log10(emptyinterval()) == emptyinterval()
    @test log10(interval(-Inf,0.0)) == emptyinterval()
    @test log10(interval(-Inf,-0.0)) == emptyinterval()
    @test log10(interval(0.0,1.0)) == interval(-Inf,0.0)
    @test log10(interval(-0.0,1.0)) == interval(-Inf,0.0)
    @test log10(interval(1.0,Inf)) == interval(0.0,Inf)
    @test log10(interval(0.0,Inf)) == entireinterval()
    @test log10(interval(-0.0,Inf)) == entireinterval()
    @test log10(entireinterval()) == entireinterval()
    @test log10(interval(0.0,0x1.FFFFFFFFFFFFFp1023)) == interval(-Inf,0x1.34413509F79FFP+8)
    @test log10(interval(-0.0,0x1.FFFFFFFFFFFFFp1023)) == interval(-Inf,0x1.34413509F79FFP+8)
    @test log10(interval(1.0,0x1.FFFFFFFFFFFFFp1023)) == interval(0.0,0x1.34413509F79FFP+8)
    @test log10(interval(0x0.0000000000001p-1022,0x1.FFFFFFFFFFFFFp1023)) == interval(-0x1.434E6420F4374p+8, +0x1.34413509F79FFp+8)
    @test log10(interval(0x0.0000000000001p-1022,1.0)) == interval(-0x1.434E6420F4374p+8 ,0.0)
    @test log10(interval(0x0.0000000000001p-1022,10.0)) == interval(-0x1.434E6420F4374p+8 ,1.0)
    @test log10(interval(10.0,100000.0)) == interval(1.0,5.0)
    @test log10(interval(0x1.999999999999AP-4,0x1.CP+1)) == interval(-0x1P+0,0x1.1690163290F4P-1)
    @test log10(interval(0x1.999999999999AP-4,0x1.999999999999AP-4)) == interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1)
    @test log10(interval(0x1.B333333333333P+0,0x1.C81FD88228B2FP+98)) == interval(0x1.D7F59AA5BECB9P-3,0x1.DC074D84E5AABP+4)
    @test log10(interval(0x1.AEA0000721861P+11,0x1.FCA055555554CP+25)) == interval(0x1.C4C29DD829191P+1,0x1.F4BAEBBA4FA4P+2)
end

@testset "minimal_sin_test" begin
    @test sin(emptyinterval()) == emptyinterval()
    @test sin(interval(0.0,Inf)) == interval(-1.0,1.0)
    @test sin(interval(-0.0,Inf)) == interval(-1.0,1.0)
    @test sin(interval(-Inf,0.0)) == interval(-1.0,1.0)
    @test sin(interval(-Inf,-0.0)) == interval(-1.0,1.0)
    @test sin(entireinterval()) == interval(-1.0,1.0)
    @test sin(interval(0.0,0.0)) == interval(0.0,0.0)
    @test sin(interval(-0.0,-0.0)) == interval(0.0,0.0)
    @test sin(interval(0x1.921FB54442D18P+0,0x1.921FB54442D18P+0)) == interval(0x1.FFFFFFFFFFFFFP-1,0x1P+0)
    @test sin(interval(0x1.921FB54442D19P+0,0x1.921FB54442D19P+0)) == interval(0x1.FFFFFFFFFFFFFP-1,0x1P+0)
    @test sin(interval(0x1.921FB54442D18P+0,0x1.921FB54442D19P+0)) == interval(0x1.FFFFFFFFFFFFFP-1,0x1P+0)
    @test sin(interval(0.0,0x1.921FB54442D18P+0)) == interval(0.0,0x1P+0)
    @test sin(interval(-0.0,0x1.921FB54442D18P+0)) == interval(0.0,0x1P+0)
    @test sin(interval(0.0,0x1.921FB54442D19P+0)) == interval(0.0,0x1P+0)
    @test sin(interval(-0.0,0x1.921FB54442D19P+0)) == interval(0.0,0x1P+0)
    @test sin(interval(0x1.921FB54442D18P+1,0x1.921FB54442D18P+1)) == interval(0x1.1A62633145C06P-53,0x1.1A62633145C07P-53)
    @test sin(interval(0x1.921FB54442D19P+1,0x1.921FB54442D19P+1)) == interval(-0x1.72CECE675D1FDP-52,-0x1.72CECE675D1FCP-52)
    @test sin(interval(0x1.921FB54442D18P+1,0x1.921FB54442D19P+1)) == interval(-0x1.72CECE675D1FDP-52,0x1.1A62633145C07P-53)
    @test sin(interval(0.0,0x1.921FB54442D18P+1)) == interval(0.0,1.0)
    @test sin(interval(-0.0,0x1.921FB54442D18P+1)) == interval(0.0,1.0)
    @test sin(interval(0.0,0x1.921FB54442D19P+1)) == interval(-0x1.72CECE675D1FDP-52,1.0)
    @test sin(interval(-0.0,0x1.921FB54442D19P+1)) == interval(-0x1.72CECE675D1FDP-52,1.0)
    @test sin(interval(0x1.921FB54442D18P+0,0x1.921FB54442D18P+1)) == interval(0x1.1A62633145C06P-53,0x1P+0)
    @test sin(interval(0x1.921FB54442D18P+0,0x1.921FB54442D19P+1)) == interval(-0x1.72CECE675D1FDP-52,0x1P+0)
    @test sin(interval(0x1.921FB54442D19P+0,0x1.921FB54442D18P+1)) == interval(0x1.1A62633145C06P-53,0x1P+0)
    @test sin(interval(0x1.921FB54442D19P+0,0x1.921FB54442D19P+1)) == interval(-0x1.72CECE675D1FDP-52,0x1P+0)
    @test sin(interval(-0x1.921FB54442D18P+0,-0x1.921FB54442D18P+0)) == interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1)
    @test sin(interval(-0x1.921FB54442D19P+0,-0x1.921FB54442D19P+0)) == interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1)
    @test sin(interval(-0x1.921FB54442D19P+0,-0x1.921FB54442D18P+0)) == interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1)
    @test sin(interval(-0x1.921FB54442D18P+0,0.0)) == interval(-0x1P+0,0.0)
    @test sin(interval(-0x1.921FB54442D18P+0,-0.0)) == interval(-0x1P+0,0.0)
    @test sin(interval(-0x1.921FB54442D19P+0,0.0)) == interval(-0x1P+0,0.0)
    @test sin(interval(-0x1.921FB54442D19P+0,-0.0)) == interval(-0x1P+0,0.0)
    @test sin(interval(-0x1.921FB54442D18P+1,-0x1.921FB54442D18P+1)) == interval(-0x1.1A62633145C07P-53,-0x1.1A62633145C06P-53)
    @test sin(interval(-0x1.921FB54442D19P+1,-0x1.921FB54442D19P+1)) == interval(0x1.72CECE675D1FCP-52,0x1.72CECE675D1FDP-52)
    @test sin(interval(-0x1.921FB54442D19P+1,-0x1.921FB54442D18P+1)) == interval(-0x1.1A62633145C07P-53,0x1.72CECE675D1FDP-52)
    @test sin(interval(-0x1.921FB54442D18P+1,0.0)) == interval(-1.0,0.0)
    @test sin(interval(-0x1.921FB54442D18P+1,-0.0)) == interval(-1.0,0.0)
    @test sin(interval(-0x1.921FB54442D19P+1,0.0)) == interval(-1.0,0x1.72CECE675D1FDP-52)
    @test sin(interval(-0x1.921FB54442D19P+1,-0.0)) == interval(-1.0,0x1.72CECE675D1FDP-52)
    @test sin(interval(-0x1.921FB54442D18P+1,-0x1.921FB54442D18P+0)) == interval(-0x1P+0,-0x1.1A62633145C06P-53)
    @test sin(interval(-0x1.921FB54442D19P+1,-0x1.921FB54442D18P+0)) == interval(-0x1P+0,0x1.72CECE675D1FDP-52)
    @test sin(interval(-0x1.921FB54442D18P+1,-0x1.921FB54442D19P+0)) == interval(-0x1P+0,-0x1.1A62633145C06P-53)
    @test sin(interval(-0x1.921FB54442D19P+1,-0x1.921FB54442D19P+0)) == interval(-0x1P+0,0x1.72CECE675D1FDP-52)
    @test sin(interval(-0x1.921FB54442D18P+0,0x1.921FB54442D18P+0)) == interval(-0x1P+0,0x1P+0)
    @test sin(interval(-0x1.921FB54442D18P+0,0x1.921FB54442D19P+0)) == interval(-0x1P+0,0x1P+0)
    @test sin(interval(-0x1.921FB54442D19P+0,0x1.921FB54442D18P+0)) == interval(-0x1P+0,0x1P+0)
    @test sin(interval(-0x1.921FB54442D19P+0,0x1.921FB54442D19P+0)) == interval(-0x1P+0,0x1P+0)
    @test sin(interval(-0.7,0.1)) == interval(-0x1.49D6E694619B9P-1,0x1.98EAECB8BCB2DP-4)
    @test sin(interval(1.0,2.0)) == interval(0x1.AED548F090CEEP-1,1.0)
    @test sin(interval(-3.2,-2.9)) == interval(-0x1.E9FB8D64830E3P-3,0x1.DE33739E82D33P-5)
    @test sin(interval(2.0,3.0)) == interval(0x1.210386DB6D55BP-3,0x1.D18F6EAD1B446P-1)
end

@testset "minimal_cos_test" begin
    @test cos(emptyinterval()) == emptyinterval()
    @test cos(interval(0.0,Inf)) == interval(-1.0,1.0)
    @test cos(interval(-0.0,Inf)) == interval(-1.0,1.0)
    @test cos(interval(-Inf,0.0)) == interval(-1.0,1.0)
    @test cos(interval(-Inf,-0.0)) == interval(-1.0,1.0)
    @test cos(entireinterval()) == interval(-1.0,1.0)
    @test cos(interval(0.0,0.0)) == interval(1.0,1.0)
    @test cos(interval(-0.0,-0.0)) == interval(1.0,1.0)
    @test cos(interval(0x1.921FB54442D18P+0,0x1.921FB54442D18P+0)) == interval(0x1.1A62633145C06P-54,0x1.1A62633145C07P-54)
    @test cos(interval(0x1.921FB54442D19P+0,0x1.921FB54442D19P+0)) == interval(-0x1.72CECE675D1FDP-53,-0x1.72CECE675D1FCP-53)
    @test cos(interval(0x1.921FB54442D18P+0,0x1.921FB54442D19P+0)) == interval(-0x1.72CECE675D1FDP-53,0x1.1A62633145C07P-54)
    @test cos(interval(0.0,0x1.921FB54442D18P+0)) == interval(0x1.1A62633145C06P-54,1.0)
    @test cos(interval(-0.0,0x1.921FB54442D18P+0)) == interval(0x1.1A62633145C06P-54,1.0)
    @test cos(interval(0.0,0x1.921FB54442D19P+0)) == interval(-0x1.72CECE675D1FDP-53,1.0)
    @test cos(interval(-0.0,0x1.921FB54442D19P+0)) == interval(-0x1.72CECE675D1FDP-53,1.0)
    @test cos(interval(0x1.921FB54442D18P+1,0x1.921FB54442D18P+1)) == interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1)
    @test cos(interval(0x1.921FB54442D19P+1,0x1.921FB54442D19P+1)) == interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1)
    @test cos(interval(0x1.921FB54442D18P+1,0x1.921FB54442D19P+1)) == interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1)
    @test cos(interval(0.0,0x1.921FB54442D18P+1)) == interval(-1.0,1.0)
    @test cos(interval(-0.0,0x1.921FB54442D18P+1)) == interval(-1.0,1.0)
    @test cos(interval(0.0,0x1.921FB54442D19P+1)) == interval(-1.0,1.0)
    @test cos(interval(-0.0,0x1.921FB54442D19P+1)) == interval(-1.0,1.0)
    @test cos(interval(0x1.921FB54442D18P+0,0x1.921FB54442D18P+1)) == interval(-1.0,0x1.1A62633145C07P-54)
    @test cos(interval(0x1.921FB54442D18P+0,0x1.921FB54442D19P+1)) == interval(-1.0,0x1.1A62633145C07P-54)
    @test cos(interval(0x1.921FB54442D19P+0,0x1.921FB54442D18P+1)) == interval(-1.0,-0x1.72CECE675D1FCP-53)
    @test cos(interval(0x1.921FB54442D19P+0,0x1.921FB54442D19P+1)) == interval(-1.0,-0x1.72CECE675D1FCP-53)
    @test cos(interval(-0x1.921FB54442D18P+0,-0x1.921FB54442D18P+0)) == interval(0x1.1A62633145C06P-54,0x1.1A62633145C07P-54)
    @test cos(interval(-0x1.921FB54442D19P+0,-0x1.921FB54442D19P+0)) == interval(-0x1.72CECE675D1FDP-53,-0x1.72CECE675D1FCP-53)
    @test cos(interval(-0x1.921FB54442D19P+0,-0x1.921FB54442D18P+0)) == interval(-0x1.72CECE675D1FDP-53,0x1.1A62633145C07P-54)
    @test cos(interval(-0x1.921FB54442D18P+0,0.0)) == interval(0x1.1A62633145C06P-54,1.0)
    @test cos(interval(-0x1.921FB54442D18P+0,-0.0)) == interval(0x1.1A62633145C06P-54,1.0)
    @test cos(interval(-0x1.921FB54442D19P+0,0.0)) == interval(-0x1.72CECE675D1FDP-53,1.0)
    @test cos(interval(-0x1.921FB54442D19P+0,-0.0)) == interval(-0x1.72CECE675D1FDP-53,1.0)
    @test cos(interval(-0x1.921FB54442D18P+1,-0x1.921FB54442D18P+1)) == interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1)
    @test cos(interval(-0x1.921FB54442D19P+1,-0x1.921FB54442D19P+1)) == interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1)
    @test cos(interval(-0x1.921FB54442D19P+1,-0x1.921FB54442D18P+1)) == interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1)
    @test cos(interval(-0x1.921FB54442D18P+1,0.0)) == interval(-1.0,1.0)
    @test cos(interval(-0x1.921FB54442D18P+1,-0.0)) == interval(-1.0,1.0)
    @test cos(interval(-0x1.921FB54442D19P+1,0.0)) == interval(-1.0,1.0)
    @test cos(interval(-0x1.921FB54442D19P+1,-0.0)) == interval(-1.0,1.0)
    @test cos(interval(-0x1.921FB54442D18P+1,-0x1.921FB54442D18P+0)) == interval(-1.0,0x1.1A62633145C07P-54)
    @test cos(interval(-0x1.921FB54442D19P+1,-0x1.921FB54442D18P+0)) == interval(-1.0,0x1.1A62633145C07P-54)
    @test cos(interval(-0x1.921FB54442D18P+1,-0x1.921FB54442D19P+0)) == interval(-1.0,-0x1.72CECE675D1FCP-53)
    @test cos(interval(-0x1.921FB54442D19P+1,-0x1.921FB54442D19P+0)) == interval(-1.0,-0x1.72CECE675D1FCP-53)
    @test cos(interval(-0x1.921FB54442D18P+0,0x1.921FB54442D18P+0)) == interval(0x1.1A62633145C06P-54,1.0)
    @test cos(interval(-0x1.921FB54442D18P+0,0x1.921FB54442D19P+0)) == interval(-0x1.72CECE675D1FDP-53,1.0)
    @test cos(interval(-0x1.921FB54442D19P+0,0x1.921FB54442D18P+0)) == interval(-0x1.72CECE675D1FDP-53,1.0)
    @test cos(interval(-0x1.921FB54442D19P+0,0x1.921FB54442D19P+0)) == interval(-0x1.72CECE675D1FDP-53,1.0)
    @test cos(interval(-0.7,0.1)) == interval(0x1.87996529F9D92P-1,1.0)
    @test cos(interval(1.0,2.0)) == interval(-0x1.AA22657537205P-2,0x1.14A280FB5068CP-1)
    @test cos(interval(-3.2,-2.9)) == interval(-1.0,-0x1.F1216DBA340C8P-1)
    @test cos(interval(2.0,3.0)) == interval(-0x1.FAE04BE85E5D3P-1,-0x1.AA22657537204P-2)
end

@testset "minimal_tan_test" begin
    @test tan(emptyinterval()) == emptyinterval()
    @test tan(interval(0.0,Inf)) == entireinterval()
    @test tan(interval(-0.0,Inf)) == entireinterval()
    @test tan(interval(-Inf,0.0)) == entireinterval()
    @test tan(interval(-Inf,-0.0)) == entireinterval()
    @test tan(entireinterval()) == entireinterval()
    @test tan(interval(0.0,0.0)) == interval(0.0,0.0)
    @test tan(interval(-0.0,-0.0)) == interval(0.0,0.0)
    @test tan(interval(0x1.921FB54442D18P+0,0x1.921FB54442D18P+0)) == interval(0x1.D02967C31CDB4P+53,0x1.D02967C31CDB5P+53)
    @test tan(interval(0x1.921FB54442D19P+0,0x1.921FB54442D19P+0)) == interval(-0x1.617A15494767BP+52,-0x1.617A15494767AP+52)
    @test tan(interval(0x1.921FB54442D18P+0,0x1.921FB54442D19P+0)) == entireinterval()
    @test tan(interval(0x1.921FB54442D18P+1,0x1.921FB54442D18P+1)) == interval(-0x1.1A62633145C07P-53,-0x1.1A62633145C06P-53)
    @test tan(interval(0x1.921FB54442D19P+1,0x1.921FB54442D19P+1)) == interval(0x1.72CECE675D1FCP-52,0x1.72CECE675D1FDP-52)
    @test tan(interval(0.0,0x1.921FB54442D18P+0)) == interval(0.0,0x1.D02967C31CDB5P+53)
    @test tan(interval(-0.0,0x1.921FB54442D18P+0)) == interval(0.0,0x1.D02967C31CDB5P+53)
    @test tan(interval(0.0,0x1.921FB54442D19P+0)) == entireinterval()
    @test tan(interval(-0.0,0x1.921FB54442D19P+0)) == entireinterval()
    @test tan(interval(0.0,0x1.921FB54442D18P+1)) == entireinterval()
    @test tan(interval(-0.0,0x1.921FB54442D18P+1)) == entireinterval()
    @test tan(interval(0.0,0x1.921FB54442D19P+1)) == entireinterval()
    @test tan(interval(-0.0,0x1.921FB54442D19P+1)) == entireinterval()
    @test tan(interval(0x1P-51,0x1.921FB54442D18P+1)) == entireinterval()
    @test tan(interval(0x1P-51,0x1.921FB54442D19P+1)) == entireinterval()
    @test tan(interval(0x1P-52,0x1.921FB54442D18P+1)) == entireinterval()
    @test tan(interval(0x1P-52,0x1.921FB54442D19P+1)) == entireinterval()
    @test tan(interval(-0x1.921FB54442D18P+0,0x1.921FB54442D18P+0)) == interval(-0x1.D02967C31CDB5P+53,0x1.D02967C31CDB5P+53)
    @test tan(interval(-0x1.921FB54442D18P+0,0x1.921FB54442D19P+0)) == entireinterval()
    @test tan(interval(-0x1.921FB54442D19P+0,0x1.921FB54442D18P+0)) == entireinterval()
    @test tan(interval(-0x1.921FB54442D19P+0,0x1.921FB54442D19P+0)) == entireinterval()
    @test tan(interval(-0x1.555475A31A4BEP-2,0x1.999999999999AP-4)) == interval(-0x1.628F4FD931FEFP-2,0x1.9AF8877430B81P-4)
    @test tan(interval(0x1.4E18E147AE148P+12,0x1.4E2028F5C28F6P+12)) == interval(-0x1.D6D67B035B6B4P+2,-0x1.7E42B0760E3F3P+0)
    @test tan(interval(0x1.4E18E147AE148P+12,0x1.546028F5C28F6P+12)) == entireinterval()
    @test tan(interval(0x1.FAE147AE147AEP-1,0x1.028F5C28F5C29P+0)) == interval(0x1.860FADCC59064P+0,0x1.979AD0628469DP+0)
end

@testset "minimal_asin_test" begin
    @test asin(emptyinterval()) == emptyinterval()
    @test asin(interval(0.0,Inf)) == interval(0.0,0x1.921FB54442D19P+0)
    @test asin(interval(-0.0,Inf)) == interval(0.0,0x1.921FB54442D19P+0)
    @test asin(interval(-Inf,0.0)) == interval(-0x1.921FB54442D19P+0,0.0)
    @test asin(interval(-Inf,-0.0)) == interval(-0x1.921FB54442D19P+0,0.0)
    @test asin(entireinterval()) == interval(-0x1.921FB54442D19P+0,0x1.921FB54442D19P+0)
    @test asin(interval(-1.0,1.0)) == interval(-0x1.921FB54442D19P+0,0x1.921FB54442D19P+0)
    @test asin(interval(-Inf,-1.0)) == interval(-0x1.921FB54442D19P+0,-0x1.921FB54442D18P+0)
    @test asin(interval(1.0,Inf)) == interval(0x1.921FB54442D18P+0,0x1.921FB54442D19P+0)
    @test asin(interval(-1.0,-1.0)) == interval(-0x1.921FB54442D19P+0,-0x1.921FB54442D18P+0)
    @test asin(interval(1.0,1.0)) == interval(0x1.921FB54442D18P+0,0x1.921FB54442D19P+0)
    @test asin(interval(0.0,0.0)) == interval(0.0,0.0)
    @test asin(interval(-0.0,-0.0)) == interval(0.0,0.0)
    @test asin(interval(-Inf,-0x1.0000000000001P+0)) == emptyinterval()
    @test asin(interval(0x1.0000000000001P+0,Inf)) == emptyinterval()
    @test asin(interval(-0x1.999999999999AP-4,0x1.999999999999AP-4)) == interval(-0x1.9A49276037885P-4,0x1.9A49276037885P-4)
    @test asin(interval(-0x1.51EB851EB851FP-2,0x1.FFFFFFFFFFFFFP-1)) == interval(-0x1.585FF6E341C3FP-2,0x1.921FB50442D19P+0)
    @test asin(interval(-0x1.FFFFFFFFFFFFFP-1,0x1.FFFFFFFFFFFFFP-1)) == interval(-0x1.921FB50442D19P+0,0x1.921FB50442D19P+0)
end

@testset "minimal_acos_test" begin
    @test acos(emptyinterval()) == emptyinterval()
    @test acos(interval(0.0,Inf)) == interval(0.0,0x1.921FB54442D19P+0)
    @test acos(interval(-0.0,Inf)) == interval(0.0,0x1.921FB54442D19P+0)
    @test acos(interval(-Inf,0.0)) == interval(0x1.921FB54442D18P+0,0x1.921FB54442D19P+1)
    @test acos(interval(-Inf,-0.0)) == interval(0x1.921FB54442D18P+0,0x1.921FB54442D19P+1)
    @test acos(entireinterval()) == interval(0.0,0x1.921FB54442D19P+1)
    @test acos(interval(-1.0,1.0)) == interval(0.0,0x1.921FB54442D19P+1)
    @test acos(interval(-Inf,-1.0)) == interval(0x1.921FB54442D18P+1,0x1.921FB54442D19P+1)
    @test acos(interval(1.0,Inf)) == interval(0.0,0.0)
    @test acos(interval(-1.0,-1.0)) == interval(0x1.921FB54442D18P+1,0x1.921FB54442D19P+1)
    @test acos(interval(1.0,1.0)) == interval(0.0,0.0)
    @test acos(interval(0.0,0.0)) == interval(0x1.921FB54442D18P+0,0x1.921FB54442D19P+0)
    @test acos(interval(-0.0,-0.0)) == interval(0x1.921FB54442D18P+0,0x1.921FB54442D19P+0)
    @test acos(interval(-Inf,-0x1.0000000000001P+0)) == emptyinterval()
    @test acos(interval(0x1.0000000000001P+0,Inf)) == emptyinterval()
    @test acos(interval(-0x1.999999999999AP-4,0x1.999999999999AP-4)) == interval(0x1.787B22CE3F59P+0,0x1.ABC447BA464A1P+0)
    @test acos(interval(-0x1.51EB851EB851FP-2,0x1.FFFFFFFFFFFFFP-1)) == interval(0x1P-26,0x1.E837B2FD13428P+0)
    @test acos(interval(-0x1.FFFFFFFFFFFFFP-1,0x1.FFFFFFFFFFFFFP-1)) == interval(0x1P-26,0x1.921FB52442D19P+1)
end

@testset "minimal_atan_test" begin
    @test atan(emptyinterval()) ⊇ emptyinterval()
    @test atan(interval(0.0,Inf)) ⊇ interval(0.0,0x1.921FB54442D19P+0)
    @test atan(interval(-0.0,Inf)) ⊇ interval(0.0,0x1.921FB54442D19P+0)
    @test atan(interval(-Inf,0.0)) ⊇ interval(-0x1.921FB54442D19P+0,0.0)
    @test atan(interval(-Inf,-0.0)) ⊇ interval(-0x1.921FB54442D19P+0,0.0)
    @test atan(entireinterval()) ⊇ interval(-0x1.921FB54442D19P+0,0x1.921FB54442D19P+0)
    @test atan(interval(0.0,0.0)) ⊇ interval(0.0,0.0)
    @test atan(interval(-0.0,-0.0)) ⊇ interval(0.0,0.0)
    @test atan(interval(1.0,0x1.4C2463567C5ACP+25)) ⊇ interval(0x1.921FB54442D18P-1,0x1.921FB4E19ABD7P+0)
    @test atan(interval(-0x1.FD219490EAAC1P+38,-0x1.1AF1C9D74F06DP+9)) ⊇ interval(-0x1.921FB54440CEBP+0,-0x1.91ABE5C1E4C6DP+0)
end

@testset "minimal_atan2_test" begin
    @test atan(emptyinterval(), emptyinterval()) ⊇ emptyinterval()
    @test atan(emptyinterval(), entireinterval()) ⊇ emptyinterval()
    @test atan(emptyinterval(), interval(0.0, 0.0)) ⊇ emptyinterval()
    @test atan(emptyinterval(), interval(-0.0, 0.0)) ⊇ emptyinterval()
    @test atan(emptyinterval(), interval(0.0, -0.0)) ⊇ emptyinterval()
    @test atan(emptyinterval(), interval(-0.0, -0.0)) ⊇ emptyinterval()
    @test atan(emptyinterval(), interval(-2.0, -0.1)) ⊇ emptyinterval()
    @test atan(emptyinterval(), interval(-2.0, 0.0)) ⊇ emptyinterval()
    @test atan(emptyinterval(), interval(-2.0, -0.0)) ⊇ emptyinterval()
    @test atan(emptyinterval(), interval(-2.0, 1.0)) ⊇ emptyinterval()
    @test atan(emptyinterval(), interval(0.0, 1.0)) ⊇ emptyinterval()
    @test atan(emptyinterval(), interval(-0.0, 1.0)) ⊇ emptyinterval()
    @test atan(emptyinterval(), interval(0.1, 1.0)) ⊇ emptyinterval()
    @test atan(entireinterval(), emptyinterval()) ⊇ emptyinterval()
    @test atan(entireinterval(), entireinterval()) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(entireinterval(), interval(0.0, 0.0)) ⊇ interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0)
    @test atan(entireinterval(), interval(0.0, -0.0)) ⊇ interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0)
    @test atan(entireinterval(), interval(-0.0, 0.0)) ⊇ interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0)
    @test atan(entireinterval(), interval(-0.0, -0.0)) ⊇ interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0)
    @test atan(entireinterval(), interval(-2.0, -0.1)) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(entireinterval(), interval(-2.0, 0.0)) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(entireinterval(), interval(-2.0, -0.0)) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(entireinterval(), interval(-2.0, 1.0)) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(entireinterval(), interval(0.0, 1.0)) ⊇ interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0)
    @test atan(entireinterval(), interval(-0.0, 1.0)) ⊇ interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0)
    @test atan(entireinterval(), interval(0.1, 1.0)) ⊇ interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(0.0, 0.0), emptyinterval()) ⊇ emptyinterval()
    @test atan(interval(0.0, 0.0), entireinterval()) ⊇ interval(0.0,0x1.921FB54442D19P+1)
    @test atan(interval(0.0, 0.0), interval(0.0, 0.0)) ⊇ emptyinterval()
    @test atan(interval(0.0, 0.0), interval(-0.0, 0.0)) ⊇ emptyinterval()
    @test atan(interval(0.0, 0.0), interval(0.0, -0.0)) ⊇ emptyinterval()
    @test atan(interval(0.0, 0.0), interval(-0.0, -0.0)) ⊇ emptyinterval()
    @test atan(interval(0.0, 0.0), interval(-2.0, -0.1)) ⊇ interval(0x1.921FB54442D18P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(0.0, 0.0), interval(-2.0, 0.0)) ⊇ interval(0x1.921FB54442D18P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(0.0, 0.0), interval(-2.0, -0.0)) ⊇ interval(0x1.921FB54442D18P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(0.0, 0.0), interval(-2.0, 1.0)) ⊇ interval(0.0,0x1.921FB54442D19P+1)
    @test atan(interval(0.0, 0.0), interval(0.0, 1.0)) ⊇ interval(0.0,0.0)
    @test atan(interval(0.0, 0.0), interval(-0.0, 1.0)) ⊇ interval(0.0,0.0)
    @test atan(interval(0.0, 0.0), interval(0.1, 1.0)) ⊇ interval(0.0,0.0)
    @test atan(interval(-0.0, 0.0), emptyinterval()) ⊇ emptyinterval()
    @test atan(interval(-0.0, 0.0), entireinterval()) ⊇ interval(0.0,0x1.921FB54442D19P+1)
    @test atan(interval(-0.0, 0.0), interval(0.0, 0.0)) ⊇ emptyinterval()
    @test atan(interval(-0.0, 0.0), interval(-0.0, 0.0)) ⊇ emptyinterval()
    @test atan(interval(-0.0, 0.0), interval(0.0, -0.0)) ⊇ emptyinterval()
    @test atan(interval(-0.0, 0.0), interval(-0.0, -0.0)) ⊇ emptyinterval()
    @test atan(interval(-0.0, 0.0), interval(-2.0, -0.1)) ⊇ interval(0x1.921FB54442D18P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-0.0, 0.0), interval(-2.0, 0.0)) ⊇ interval(0x1.921FB54442D18P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-0.0, 0.0), interval(-2.0, -0.0)) ⊇ interval(0x1.921FB54442D18P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-0.0, 0.0), interval(-2.0, 1.0)) ⊇ interval(0.0,0x1.921FB54442D19P+1)
    @test atan(interval(-0.0, 0.0), interval(0.0, 1.0)) ⊇ interval(0.0,0.0)
    @test atan(interval(-0.0, 0.0), interval(-0.0, 1.0)) ⊇ interval(0.0,0.0)
    @test atan(interval(-0.0, 0.0), interval(0.1, 1.0)) ⊇ interval(0.0,0.0)
    @test atan(interval(0.0, -0.0), emptyinterval()) ⊇ emptyinterval()
    @test atan(interval(0.0, -0.0), entireinterval()) ⊇ interval(0.0,0x1.921FB54442D19P+1)
    @test atan(interval(0.0, -0.0), interval(0.0, 0.0)) ⊇ emptyinterval()
    @test atan(interval(0.0, -0.0), interval(-0.0, 0.0)) ⊇ emptyinterval()
    @test atan(interval(0.0, -0.0), interval(0.0, -0.0)) ⊇ emptyinterval()
    @test atan(interval(0.0, -0.0), interval(-0.0, -0.0)) ⊇ emptyinterval()
    @test atan(interval(0.0, -0.0), interval(-2.0, -0.1)) ⊇ interval(0x1.921FB54442D18P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(0.0, -0.0), interval(-2.0, 0.0)) ⊇ interval(0x1.921FB54442D18P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(0.0, -0.0), interval(-2.0, -0.0)) ⊇ interval(0x1.921FB54442D18P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(0.0, -0.0), interval(-2.0, 1.0)) ⊇ interval(0.0,0x1.921FB54442D19P+1)
    @test atan(interval(0.0, -0.0), interval(0.0, 1.0)) ⊇ interval(0.0,0.0)
    @test atan(interval(0.0, -0.0), interval(-0.0, 1.0)) ⊇ interval(0.0,0.0)
    @test atan(interval(0.0, -0.0), interval(0.1, 1.0)) ⊇ interval(0.0,0.0)
    @test atan(interval(-0.0, -0.0), emptyinterval()) ⊇ emptyinterval()
    @test atan(interval(-0.0, -0.0), entireinterval()) ⊇ interval(0.0,0x1.921FB54442D19P+1)
    @test atan(interval(-0.0, -0.0), interval(0.0, 0.0)) ⊇ emptyinterval()
    @test atan(interval(-0.0, -0.0), interval(-0.0, 0.0)) ⊇ emptyinterval()
    @test atan(interval(-0.0, -0.0), interval(0.0, -0.0)) ⊇ emptyinterval()
    @test atan(interval(-0.0, -0.0), interval(-0.0, -0.0)) ⊇ emptyinterval()
    @test atan(interval(-0.0, -0.0), interval(-2.0, -0.1)) ⊇ interval(0x1.921FB54442D18P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-0.0, -0.0), interval(-2.0, 0.0)) ⊇ interval(0x1.921FB54442D18P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-0.0, -0.0), interval(-2.0, -0.0)) ⊇ interval(0x1.921FB54442D18P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-0.0, -0.0), interval(-2.0, 1.0)) ⊇ interval(0.0,0x1.921FB54442D19P+1)
    @test atan(interval(-0.0, -0.0), interval(0.0, 1.0)) ⊇ interval(0.0,0.0)
    @test atan(interval(-0.0, -0.0), interval(-0.0, 1.0)) ⊇ interval(0.0,0.0)
    @test atan(interval(-0.0, -0.0), interval(0.1, 1.0)) ⊇ interval(0.0,0.0)
    @test atan(interval(-2.0, -0.1), emptyinterval()) ⊇ emptyinterval()
    @test atan(interval(-2.0, -0.1), entireinterval()) ⊇ interval(-0x1.921FB54442D19P+1,0.0)
    @test atan(interval(-2.0, -0.1), interval(0.0, 0.0)) ⊇ interval(-0x1.921FB54442D19P+0, -0x1.921FB54442D18P+0)
    @test atan(interval(-2.0, -0.1), interval(0.0, -0.0)) ⊇ interval(-0x1.921FB54442D19P+0, -0x1.921FB54442D18P+0)
    @test atan(interval(-2.0, -0.1), interval(-0.0, 0.0)) ⊇ interval(-0x1.921FB54442D19P+0, -0x1.921FB54442D18P+0)
    @test atan(interval(-2.0, -0.1), interval(0.0, -0.0)) ⊇ interval(-0x1.921FB54442D19P+0, -0x1.921FB54442D18P+0)
    @test atan(interval(-2.0, -0.1), interval(-2.0, -0.1)) ⊇ interval(-0x1.8BBAABDE5E29CP+1, -0x1.9EE9C8100C211P+0)
    @test atan(interval(-2.0, -0.1), interval(-2.0, 0.0)) ⊇ interval(-0x1.8BBAABDE5E29CP+1, -0x1.921FB54442D18P+0)
    @test atan(interval(-2.0, -0.1), interval(-2.0, -0.0)) ⊇ interval(-0x1.8BBAABDE5E29CP+1, -0x1.921FB54442D18P+0)
    @test atan(interval(-2.0, -0.1), interval(-2.0, 1.0)) ⊇ interval(-0x1.8BBAABDE5E29CP+1, -0x1.983E282E2CC4CP-4)
    @test atan(interval(-2.0, -0.1), interval(0.0, 1.0)) ⊇ interval(-0x1.921FB54442D19P+0, -0x1.983E282E2CC4CP-4)
    @test atan(interval(-2.0, -0.1), interval(-0.0, 1.0)) ⊇ interval(-0x1.921FB54442D19P+0, -0x1.983E282E2CC4CP-4)
    @test atan(interval(-2.0, -0.1), interval(0.1, 1.0)) ⊇ interval(-0x1.8555A2787982P+0, -0x1.983E282E2CC4CP-4)
    @test atan(interval(-2.0, 0.0), emptyinterval()) ⊇ emptyinterval()
    @test atan(interval(-2.0, 0.0), entireinterval()) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-2.0, 0.0), interval(0.0, 0.0)) ⊇ interval(-0x1.921FB54442D19P+0, -0x1.921FB54442D18P+0)
    @test atan(interval(-2.0, 0.0), interval(-0.0, 0.0)) ⊇ interval(-0x1.921FB54442D19P+0, -0x1.921FB54442D18P+0)
    @test atan(interval(-2.0, 0.0), interval(0.0, -0.0)) ⊇ interval(-0x1.921FB54442D19P+0, -0x1.921FB54442D18P+0)
    @test atan(interval(-2.0, 0.0), interval(-0.0, -0.0)) ⊇ interval(-0x1.921FB54442D19P+0, -0x1.921FB54442D18P+0)
    @test atan(interval(-2.0, 0.0), interval(-2.0, -0.1)) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-2.0, 0.0), interval(-2.0, 0.0)) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-2.0, 0.0), interval(-2.0, -0.0)) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-2.0, 0.0), interval(-2.0, 1.0)) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-2.0, 0.0), interval(0.0, 1.0)) ⊇ interval(-0x1.921FB54442D19P+0, 0.0)
    @test atan(interval(-2.0, 0.0), interval(-0.0, 1.0)) ⊇ interval(-0x1.921FB54442D19P+0, 0.0)
    @test atan(interval(-2.0, 0.0), interval(0.1, 1.0)) ⊇ interval(-0x1.8555A2787982P+0, 0.0)
    @test atan(interval(-2.0, -0.0), emptyinterval()) ⊇ emptyinterval()
    @test atan(interval(-2.0, -0.0), entireinterval()) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-2.0, -0.0), interval(0.0, 0.0)) ⊇ interval(-0x1.921FB54442D19P+0, -0x1.921FB54442D18P+0)
    @test atan(interval(-2.0, -0.0), interval(-0.0, 0.0)) ⊇ interval(-0x1.921FB54442D19P+0, -0x1.921FB54442D18P+0)
    @test atan(interval(-2.0, -0.0), interval(0.0, -0.0)) ⊇ interval(-0x1.921FB54442D19P+0, -0x1.921FB54442D18P+0)
    @test atan(interval(-2.0, -0.0), interval(-0.0, -0.0)) ⊇ interval(-0x1.921FB54442D19P+0, -0x1.921FB54442D18P+0)
    @test atan(interval(-2.0, -0.0), interval(-2.0, -0.1)) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-2.0, -0.0), interval(-2.0, 0.0)) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-2.0, -0.0), interval(-2.0, -0.0)) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-2.0, -0.0), interval(-2.0, 1.0)) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-2.0, -0.0), interval(0.0, 1.0)) ⊇ interval(-0x1.921FB54442D19P+0, 0.0)
    @test atan(interval(-2.0, -0.0), interval(-0.0, 1.0)) ⊇ interval(-0x1.921FB54442D19P+0, 0.0)
    @test atan(interval(-2.0, -0.0), interval(0.1, 1.0)) ⊇ interval(-0x1.8555A2787982P+0, 0.0)
    @test atan(interval(-2.0, 1.0), emptyinterval()) ⊇ emptyinterval()
    @test atan(interval(-2.0, 1.0), entireinterval()) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-2.0, 1.0), interval(0.0, 0.0)) ⊇ interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(-2.0, 1.0), interval(-0.0, 0.0)) ⊇ interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(-2.0, 1.0), interval(0.0, -0.0)) ⊇ interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(-2.0, 1.0), interval(-0.0, -0.0)) ⊇ interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(-2.0, 1.0), interval(-2.0, -0.1)) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-2.0, 1.0), interval(-2.0, 0.0)) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-2.0, 1.0), interval(-2.0, -0.0)) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-2.0, 1.0), interval(-2.0, 1.0)) ⊇ interval(-0x1.921FB54442D19P+1, 0x1.921FB54442D19P+1)
    @test atan(interval(-2.0, 1.0), interval(0.0, 1.0)) ⊇ interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(-2.0, 1.0), interval(-0.0, 1.0)) ⊇ interval(-0x1.921FB54442D19P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(-2.0, 1.0), interval(0.1, 1.0)) ⊇ interval(-0x1.8555A2787982P+0, 0x1.789BD2C160054P+0)
    @test atan(interval(-0.0, 1.0), emptyinterval()) ⊇ emptyinterval()
    @test atan(interval(-0.0, 1.0), entireinterval()) ⊇ interval(0.0, 0x1.921FB54442D19P+1)
    @test atan(interval(-0.0, 1.0), interval(0.0, 0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(-0.0, 1.0), interval(-0.0, 0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(-0.0, 1.0), interval(0.0, -0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(-0.0, 1.0), interval(-0.0, -0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(-0.0, 1.0), interval(-2.0, -0.1)) ⊇ interval(0x1.ABA397C7259DDP+0, 0x1.921FB54442D19P+1)
    @test atan(interval(-0.0, 1.0), interval(-2.0, 0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.921FB54442D19P+1)
    @test atan(interval(-0.0, 1.0), interval(-2.0, -0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.921FB54442D19P+1)
    @test atan(interval(-0.0, 1.0), interval(-2.0, 1.0)) ⊇ interval(0.0, 0x1.921FB54442D19P+1)
    @test atan(interval(-0.0, 1.0), interval(0.0, 1.0)) ⊇ interval(0.0,0x1.921FB54442D19P+0)
    @test atan(interval(-0.0, 1.0), interval(-0.0, 1.0)) ⊇ interval(0.0,0x1.921FB54442D19P+0)
    @test atan(interval(-0.0, 1.0), interval(0.1, 1.0)) ⊇ interval(0.0, 0x1.789BD2C160054P+0)
    @test atan(interval(0.0, 1.0), emptyinterval()) ⊇ emptyinterval()
    @test atan(interval(0.0, 1.0), entireinterval()) ⊇ interval(0.0, 0x1.921FB54442D19P+1)
    @test atan(interval(0.0, 1.0), interval(0.0, 0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(0.0, 1.0), interval(-0.0, 0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(0.0, 1.0), interval(0.0, -0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(0.0, 1.0), interval(-0.0, -0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(0.0, 1.0), interval(-2.0, -0.1)) ⊇ interval(0x1.ABA397C7259DDP+0, 0x1.921FB54442D19P+1)
    @test atan(interval(0.0, 1.0), interval(-2.0, 0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.921FB54442D19P+1)
    @test atan(interval(0.0, 1.0), interval(-2.0, -0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.921FB54442D19P+1)
    @test atan(interval(0.0, 1.0), interval(-2.0, 1.0)) ⊇ interval(0.0, 0x1.921FB54442D19P+1)
    @test atan(interval(0.0, 1.0), interval(0.0, 1.0)) ⊇ interval(0.0,0x1.921FB54442D19P+0)
    @test atan(interval(0.0, 1.0), interval(-0.0, 1.0)) ⊇ interval(0.0,0x1.921FB54442D19P+0)
    @test atan(interval(0.0, 1.0), interval(0.1, 1.0)) ⊇ interval(0.0,0x1.789BD2C160054P+0)
    @test atan(interval(0.1, 1.0), emptyinterval()) ⊇ emptyinterval()
    @test atan(interval(0.1, 1.0), entireinterval()) ⊇ interval(0.0, 0x1.921FB54442D19P+1)
    @test atan(interval(0.1, 1.0), interval(0.0, 0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(0.1, 1.0), interval(-0.0, 0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(0.1, 1.0), interval(0.0, -0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(0.1, 1.0), interval(-0.0, -0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.921FB54442D19P+0)
    @test atan(interval(0.1, 1.0), interval(-2.0, -0.1)) ⊇ interval(0x1.ABA397C7259DDP+0, 0x1.8BBAABDE5E29CP+1)
    @test atan(interval(0.1, 1.0), interval(-2.0, 0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.8BBAABDE5E29CP+1)
    @test atan(interval(0.1, 1.0), interval(-2.0, -0.0)) ⊇ interval(0x1.921FB54442D18P+0, 0x1.8BBAABDE5E29CP+1)
    @test atan(interval(0.1, 1.0), interval(-2.0, 1.0)) ⊇ interval(0x1.983E282E2CC4CP-4, 0x1.8BBAABDE5E29CP+1)
    @test atan(interval(0.1, 1.0), interval(0.0, 1.0)) ⊇ interval(0x1.983E282E2CC4CP-4, 0x1.921FB54442D19P+0)
    @test atan(interval(0.1, 1.0), interval(-0.0, 1.0)) ⊇ interval(0x1.983E282E2CC4CP-4, 0x1.921FB54442D19P+0)
    @test atan(interval(0.1, 1.0), interval(0.1, 1.0)) ⊇ interval(0x1.983E282E2CC4CP-4, 0x1.789BD2C160054P+0)
end

@testset "minimal_sinh_test" begin
    @test sinh(emptyinterval()) ⊇ emptyinterval()
    @test sinh(interval(0.0,Inf)) ⊇ interval(0.0,Inf)
    @test sinh(interval(-0.0,Inf)) ⊇ interval(0.0,Inf)
    @test sinh(interval(-Inf,0.0)) ⊇ interval(-Inf,0.0)
    @test sinh(interval(-Inf,-0.0)) ⊇ interval(-Inf,0.0)
    @test sinh(entireinterval()) ⊇ entireinterval()
    @test sinh(interval(0.0,0.0)) ⊇ interval(0.0,0.0)
    @test sinh(interval(-0.0,-0.0)) ⊇ interval(0.0,0.0)
    @test sinh(interval(1.0,0x1.2C903022DD7AAP+8)) ⊇ interval(0x1.2CD9FC44EB982P+0,0x1.89BCA168970C6P+432)
    @test sinh(interval(-0x1.FD219490EAAC1P+38,-0x1.1AF1C9D74F06DP+9)) ⊇ interval(-Inf,-0x1.53045B4F849DEP+815)
    @test sinh(interval(-0x1.199999999999AP+0,0x1.2666666666666P+1)) ⊇ interval(-0x1.55ECFE1B2B215P+0,0x1.3BF72EA61AF1BP+2)
end

@testset "minimal_cosh_test" begin
    @test cosh(emptyinterval()) ⊇ emptyinterval()
    @test cosh(interval(0.0,Inf)) ⊇ interval(1.0,Inf)
    @test cosh(interval(-0.0,Inf)) ⊇ interval(1.0,Inf)
    @test cosh(interval(-Inf,0.0)) ⊇ interval(1.0,Inf)
    @test cosh(interval(-Inf,-0.0)) ⊇ interval(1.0,Inf)
    @test cosh(entireinterval()) ⊇ interval(1.0,Inf)
    @test cosh(interval(0.0,0.0)) ⊇ interval(1.0,1.0)
    @test cosh(interval(-0.0,-0.0)) ⊇ interval(1.0,1.0)
    @test cosh(interval(1.0,0x1.2C903022DD7AAP+8)) ⊇ interval(0x1.8B07551D9F55P+0,0x1.89BCA168970C6P+432)
    @test cosh(interval(-0x1.FD219490EAAC1P+38,-0x1.1AF1C9D74F06DP+9)) ⊇ interval(0x1.53045B4F849DEP+815,Inf)
    @test cosh(interval(-0x1.199999999999AP+0,0x1.2666666666666P+1)) ⊇ interval(1.0,0x1.4261D2B7D6181P+2)
end

@testset "minimal_tanh_test" begin
    @test tanh(emptyinterval()) ⊇ emptyinterval()
    @test tanh(interval(0.0,Inf)) ⊇ interval(0.0,1.0)
    @test tanh(interval(-0.0,Inf)) ⊇ interval(0.0,1.0)
    @test tanh(interval(-Inf,0.0)) ⊇ interval(-1.0,0.0)
    @test tanh(interval(-Inf,-0.0)) ⊇ interval(-1.0,0.0)
    @test tanh(entireinterval()) ⊇ interval(-1.0,1.0)
    @test tanh(interval(0.0,0.0)) ⊇ interval(0.0,0.0)
    @test tanh(interval(-0.0,-0.0)) ⊇ interval(0.0,0.0)
    @test tanh(interval(1.0,0x1.2C903022DD7AAP+8)) ⊇ interval(0x1.85EFAB514F394P-1,0x1P+0)
    @test tanh(interval(-0x1.FD219490EAAC1P+38,-0x1.1AF1C9D74F06DP+9)) ⊇ interval(-0x1P+0,-0x1.FFFFFFFFFFFFFP-1)
    @test tanh(interval(-0x1.199999999999AP+0,0x1.2666666666666P+1)) ⊇ interval(-0x1.99DB01FDE2406P-1,0x1.F5CF31E1C8103P-1)
end

@testset "minimal_asinh_test" begin
    @test asinh(emptyinterval()) ⊇ emptyinterval()
    @test asinh(interval(0.0,Inf)) ⊇ interval(0.0,Inf)
    @test asinh(interval(-0.0,Inf)) ⊇ interval(0.0,Inf)
    @test asinh(interval(-Inf,0.0)) ⊇ interval(-Inf,0.0)
    @test asinh(interval(-Inf,-0.0)) ⊇ interval(-Inf,0.0)
    @test asinh(entireinterval()) ⊇ entireinterval()
    @test asinh(interval(0.0,0.0)) ⊇ interval(0.0,0.0)
    @test asinh(interval(-0.0,-0.0)) ⊇ interval(0.0,0.0)
    @test asinh(interval(1.0,0x1.2C903022DD7AAP+8)) ⊇ interval(0x1.C34366179D426P-1,0x1.9986127438A87P+2)
    @test asinh(interval(-0x1.FD219490EAAC1P+38,-0x1.1AF1C9D74F06DP+9)) ⊇ interval(-0x1.BB86380A6CC45P+4,-0x1.C204D8EB20827P+2)
    @test asinh(interval(-0x1.199999999999AP+0,0x1.2666666666666P+1)) ⊇ interval(-0x1.E693DF6EDF1E7P-1,0x1.91FDC64DE0E51P+0)
end

@testset "minimal_acosh_test" begin
    @test acosh(emptyinterval()) ⊇ emptyinterval()
    @test acosh(interval(0.0,Inf)) ⊇ interval(0.0,Inf)
    @test acosh(interval(-0.0,Inf)) ⊇ interval(0.0,Inf)
    @test acosh(interval(1.0,Inf)) ⊇ interval(0.0,Inf)
    @test acosh(interval(-Inf,1.0)) ⊇ interval(0.0,0.0)
    @test acosh(interval(-Inf,0x1.FFFFFFFFFFFFFP-1)) ⊇ emptyinterval()
    @test acosh(entireinterval()) ⊇ interval(0.0,Inf)
    @test acosh(interval(1.0,1.0)) ⊇ interval(0.0,0.0)
    @test acosh(interval(1.0,0x1.2C903022DD7AAP+8)) ⊇ interval(0.0,0x1.9985FB3D532AFP+2)
    @test acosh(interval(0x1.199999999999AP+0,0x1.2666666666666P+1)) ⊇ interval(0x1.C636C1A882F2CP-2,0x1.799C88E79140DP+0)
    @test acosh(interval(0x1.14D4E82B2B26FP+15,0x1.72DBE91C837B5P+29)) ⊇ interval(0x1.656510B4BAEC3P+3,0x1.52A415EE8455AP+4)
end

@testset "minimal_atanh_test" begin
    @test atanh(emptyinterval()) ⊇ emptyinterval()
    @test atanh(interval(0.0,Inf)) ⊇ interval(0.0,Inf)
    @test atanh(interval(-0.0,Inf)) ⊇ interval(0.0,Inf)
    @test atanh(interval(1.0,Inf)) ⊇ emptyinterval()
    @test atanh(interval(-Inf,0.0)) ⊇ interval(-Inf,0.0)
    @test atanh(interval(-Inf,-0.0)) ⊇ interval(-Inf,0.0)
    @test atanh(interval(-Inf,-1.0)) ⊇ emptyinterval()
    @test atanh(interval(-1.0,1.0)) ⊇ entireinterval()
    @test atanh(interval(0.0,0.0)) ⊇ interval(0.0,0.0)
    @test atanh(interval(-0.0,-0.0)) ⊇ interval(0.0,0.0)
    @test atanh(interval(-1.0,-1.0)) ⊇ emptyinterval()
    @test atanh(interval(1.0,1.0)) ⊇ emptyinterval()
    @test atanh(entireinterval()) ⊇ entireinterval()
    @test atanh(interval(0x1.4C0420F6F08CCP-2,0x1.FFFFFFFFFFFFFP-1)) ⊇ interval(0x1.5871DD2DF9102P-2,0x1.2B708872320E2P+4)
    @test atanh(interval(-0x1.FFB88E9EB6307P-1,0x1.999999999999AP-4)) ⊇ interval(-0x1.06A3A97D7979CP+2,0x1.9AF93CD234413P-4)
end

@testset "minimal_sign_test" begin
    @test sign(emptyinterval()) == emptyinterval()
    @test sign(interval(1.0,2.0)) == interval(1.0,1.0)
    @test sign(interval(-1.0,2.0)) == interval(-1.0,1.0)
    @test sign(interval(-1.0,0.0)) == interval(-1.0,0.0)
    @test sign(interval(0.0,2.0)) == interval(0.0,1.0)
    @test sign(interval(-0.0,2.0)) == interval(0.0,1.0)
    @test sign(interval(-5.0,-2.0)) == interval(-1.0,-1.0)
    @test sign(interval(0.0,0.0)) == interval(0.0,0.0)
    @test sign(interval(-0.0,-0.0)) == interval(0.0,0.0)
    @test sign(interval(-0.0,0.0)) == interval(0.0,0.0)
    @test sign(entireinterval()) == interval(-1.0,1.0)
end

@testset "minimal_ceil_test" begin
    @test ceil(emptyinterval()) == emptyinterval()
    @test ceil(entireinterval()) == entireinterval()
    @test ceil(interval(1.1,2.0)) == interval(2.0,2.0)
    @test ceil(interval(-1.1,2.0)) == interval(-1.0,2.0)
    @test ceil(interval(-1.1,0.0)) == interval(-1.0,0.0)
    @test ceil(interval(-1.1,-0.0)) == interval(-1.0,0.0)
    @test ceil(interval(-1.1,-0.4)) == interval(-1.0,0.0)
    @test ceil(interval(-1.9,2.2)) == interval(-1.0,3.0)
    @test ceil(interval(-1.0,2.2)) == interval(-1.0,3.0)
    @test ceil(interval(0.0,2.2)) == interval(0.0,3.0)
    @test ceil(interval(-0.0,2.2)) == interval(0.0,3.0)
    @test ceil(interval(-1.5,Inf)) == interval(-1.0,Inf)
    @test ceil(interval(0x1.FFFFFFFFFFFFFp1023,Inf)) == interval(0x1.FFFFFFFFFFFFFp1023,Inf)
    @test ceil(interval(-Inf,2.2)) == interval(-Inf,3.0)
    @test ceil(interval(-Inf,-0x1.FFFFFFFFFFFFFp1023)) == interval(-Inf,-0x1.FFFFFFFFFFFFFp1023)
end

@testset "minimal_floor_test" begin
    @test floor(emptyinterval()) == emptyinterval()
    @test floor(entireinterval()) == entireinterval()
    @test floor(interval(1.1,2.0)) == interval(1.0,2.0)
    @test floor(interval(-1.1,2.0)) == interval(-2.0,2.0)
    @test floor(interval(-1.1,0.0)) == interval(-2.0,0.0)
    @test floor(interval(-1.1,-0.0)) == interval(-2.0,0.0)
    @test floor(interval(-1.1,-0.4)) == interval(-2.0,-1.0)
    @test floor(interval(-1.9,2.2)) == interval(-2.0,2.0)
    @test floor(interval(-1.0,2.2)) == interval(-1.0,2.0)
    @test floor(interval(0.0,2.2)) == interval(0.0,2.0)
    @test floor(interval(-0.0,2.2)) == interval(0.0,2.0)
    @test floor(interval(-1.5,Inf)) == interval(-2.0,Inf)
    @test floor(interval(-Inf,2.2)) == interval(-Inf,2.0)
end

@testset "minimal_trunc_test" begin
    @test trunc(emptyinterval()) == emptyinterval()
    @test trunc(entireinterval()) == entireinterval()
    @test trunc(interval(1.1,2.1)) == interval(1.0,2.0)
    @test trunc(interval(-1.1,2.0)) == interval(-1.0,2.0)
    @test trunc(interval(-1.1,0.0)) == interval(-1.0,0.0)
    @test trunc(interval(-1.1,-0.0)) == interval(-1.0,0.0)
    @test trunc(interval(-1.1,-0.4)) == interval(-1.0,0.0)
    @test trunc(interval(-1.9,2.2)) == interval(-1.0,2.0)
    @test trunc(interval(-1.0,2.2)) == interval(-1.0,2.0)
    @test trunc(interval(0.0,2.2)) == interval(0.0,2.0)
    @test trunc(interval(-0.0,2.2)) == interval(0.0,2.0)
    @test trunc(interval(-1.5,Inf)) == interval(-1.0,Inf)
    @test trunc(interval(-Inf,2.2)) == interval(-Inf,2.0)
end

@testset "minimal_round_ties_to_even_test" begin
    @test round(emptyinterval()) == emptyinterval()
    @test round(entireinterval()) == entireinterval()
    @test round(interval(1.1,2.1)) == interval(1.0,2.0)
    @test round(interval(-1.1,2.0)) == interval(-1.0,2.0)
    @test round(interval(-1.1,-0.4)) == interval(-1.0,0.0)
    @test round(interval(-1.1,0.0)) == interval(-1.0,0.0)
    @test round(interval(-1.1,-0.0)) == interval(-1.0,0.0)
    @test round(interval(-1.9,2.2)) == interval(-2.0,2.0)
    @test round(interval(-1.0,2.2)) == interval(-1.0,2.0)
    @test round(interval(1.5,2.1)) == interval(2.0,2.0)
    @test round(interval(-1.5,2.0)) == interval(-2.0,2.0)
    @test round(interval(-1.1,-0.5)) == interval(-1.0,0.0)
    @test round(interval(-1.9,2.5)) == interval(-2.0,2.0)
    @test round(interval(0.0,2.5)) == interval(0.0,2.0)
    @test round(interval(-0.0,2.5)) == interval(0.0,2.0)
    @test round(interval(-1.5,2.5)) == interval(-2.0,2.0)
    @test round(interval(-1.5,Inf)) == interval(-2.0,Inf)
    @test round(interval(-Inf,2.2)) == interval(-Inf,2.0)
end

@testset "minimal_round_ties_to_away_test" begin
    @test round(emptyinterval(), RoundNearestTiesAway) == emptyinterval()
    @test round(entireinterval(), RoundNearestTiesAway) == entireinterval()
    @test round(interval(1.1,2.1), RoundNearestTiesAway) == interval(1.0,2.0)
    @test round(interval(-1.1,2.0), RoundNearestTiesAway) == interval(-1.0,2.0)
    @test round(interval(-1.1,0.0), RoundNearestTiesAway) == interval(-1.0,0.0)
    @test round(interval(-1.1,-0.0), RoundNearestTiesAway) == interval(-1.0,-0.0)
    @test round(interval(-1.1,-0.4), RoundNearestTiesAway) == interval(-1.0,0.0)
    @test round(interval(-1.9,2.2), RoundNearestTiesAway) == interval(-2.0,2.0)
    @test round(interval(-1.0,2.2), RoundNearestTiesAway) == interval(-1.0,2.0)
    @test round(interval(0.5,2.1), RoundNearestTiesAway) == interval(1.0,2.0)
    @test round(interval(-2.5,2.0), RoundNearestTiesAway) == interval(-3.0,2.0)
    @test round(interval(-1.1,-0.5), RoundNearestTiesAway) == interval(-1.0,-1.0)
    @test round(interval(-1.9,2.5), RoundNearestTiesAway) == interval(-2.0,3.0)
    @test round(interval(-1.5,2.5), RoundNearestTiesAway) == interval(-2.0,3.0)
    @test round(interval(0.0,2.5), RoundNearestTiesAway) == interval(0.0,3.0)
    @test round(interval(-0.0,2.5), RoundNearestTiesAway) == interval(0.0,3.0)
    @test round(interval(-1.5,Inf), RoundNearestTiesAway) == interval(-2.0,Inf)
    @test round(interval(-Inf,2.2), RoundNearestTiesAway) == interval(-Inf,2.0)
end

@testset "minimal_abs_test" begin
    @test abs(emptyinterval()) == emptyinterval()
    @test abs(entireinterval()) == interval(0.0,Inf)
    @test abs(interval(1.1,2.1)) == interval(1.1,2.1)
    @test abs(interval(-1.1,2.0)) == interval(0.0,2.0)
    @test abs(interval(-1.1,0.0)) == interval(0.0,1.1)
    @test abs(interval(-1.1,-0.0)) == interval(0.0,1.1)
    @test abs(interval(-1.1,-0.4)) == interval(0.4,1.1)
    @test abs(interval(-1.9,0.2)) == interval(0.0,1.9)
    @test abs(interval(0.0,0.2)) == interval(0.0,0.2)
    @test abs(interval(-0.0,0.2)) == interval(0.0,0.2)
    @test abs(interval(-1.5,Inf)) == interval(0.0,Inf)
    @test abs(interval(-Inf,-2.2)) == interval(2.2,Inf)
end

@testset "minimal_min_test" begin
    @test min(emptyinterval(), interval(1.0,2.0)) == emptyinterval()
    @test min(interval(1.0,2.0), emptyinterval()) == emptyinterval()
    @test min(emptyinterval(), emptyinterval()) == emptyinterval()
    @test min(entireinterval(), interval(1.0,2.0)) == interval(-Inf,2.0)
    @test min(interval(1.0,2.0), entireinterval()) == interval(-Inf,2.0)
    @test min(entireinterval(), entireinterval()) == entireinterval()
    @test min(emptyinterval(), entireinterval()) == emptyinterval()
    @test min(interval(1.0,5.0), interval(2.0,4.0)) == interval(1.0,4.0)
    @test min(interval(0.0,5.0), interval(2.0,4.0)) == interval(0.0,4.0)
    @test min(interval(-0.0,5.0), interval(2.0,4.0)) == interval(0.0,4.0)
    @test min(interval(1.0,5.0), interval(2.0,8.0)) == interval(1.0,5.0)
    @test min(interval(1.0,5.0), entireinterval()) == interval(-Inf,5.0)
    @test min(interval(-7.0,-5.0), interval(2.0,4.0)) == interval(-7.0,-5.0)
    @test min(interval(-7.0,0.0), interval(2.0,4.0)) == interval(-7.0,0.0)
    @test min(interval(-7.0,-0.0), interval(2.0,4.0)) == interval(-7.0,0.0)
end

@testset "minimal_max_test" begin
    @test max(emptyinterval(), interval(1.0,2.0)) == emptyinterval()
    @test max(interval(1.0,2.0), emptyinterval()) == emptyinterval()
    @test max(emptyinterval(), emptyinterval()) == emptyinterval()
    @test max(entireinterval(), interval(1.0,2.0)) == interval(1.0,Inf)
    @test max(interval(1.0,2.0), entireinterval()) == interval(1.0,Inf)
    @test max(entireinterval(), entireinterval()) == entireinterval()
    @test max(emptyinterval(), entireinterval()) == emptyinterval()
    @test max(interval(1.0,5.0), interval(2.0,4.0)) == interval(2.0,5.0)
    @test max(interval(1.0,5.0), interval(2.0,8.0)) == interval(2.0,8.0)
    @test max(interval(-1.0,5.0), entireinterval()) == interval(-1.0,Inf)
    @test max(interval(-7.0,-5.0), interval(2.0,4.0)) == interval(2.0,4.0)
    @test max(interval(-7.0,-5.0), interval(0.0,4.0)) == interval(0.0,4.0)
    @test max(interval(-7.0,-5.0), interval(-0.0,4.0)) == interval(0.0,4.0)
    @test max(interval(-7.0,-5.0), interval(-2.0,0.0)) == interval(-2.0,0.0)
    @test max(interval(-7.0,-5.0), interval(-2.0,-0.0)) == interval(-2.0,0.0)
end

