diff --git a/packages/cultmath/tests/CultMath.Tests/NoiseBoundTests.cs b/packages/cultmath/tests/CultMath.Tests/NoiseBoundTests.cs index 395ca389..110a8e24 100644 --- a/packages/cultmath/tests/CultMath.Tests/NoiseBoundTests.cs +++ b/packages/cultmath/tests/CultMath.Tests/NoiseBoundTests.cs @@ -893,9 +893,9 @@ public sealed class NoiseBoundTests /// (warp 0 and the Aetheria warp, N = 8, slices of length log-uniform in [0.5, 100] from a drawn /// depth), AffineBound is exactly the intersection of its two sound pieces (the affine arithmetic's /// own, and the interval composition over the forms' ranges), and where the interval piece does not - /// already prove the slice empty the affine piece is the narrower of the two in at least MinWins of - /// the slices and the intersection is narrower than the interval piece in total width by at least - /// MinGain. The affine piece alone is wider in total (the shared symbol pays where the forms are + /// already prove the slice empty the affine piece is the narrower of the two in at least 35% of + /// them and the intersection is narrower than the interval piece in total width by at least 0.5% + /// (measured: 43% and 1.1%). The affine piece alone is wider in total (the shared symbol pays where the forms are /// correlated and loses to the clipped ranges where they are not), so it is the intersection's gain /// that measures it. The cost contract (IntervalSkipHalvesEvaluations) sees only the sum, in which /// af_snoise's Hessian forms already beat iv_snoise_ball; this is the test that sees af_add, af_mul and @@ -926,6 +926,8 @@ public sealed class NoiseBoundTests output.WriteLine($"IV-REPORT affine composition: {open} open slices, affine narrower in {wins} ({(double)wins / open:F3}), intersection width {intersectionWidth:F1} against the interval piece's {intervalWidth:F1} ({intersectionWidth / intervalWidth:F3})"); Assert.True(open > 0, "no slice is open"); + Assert.True(wins >= 0.35 * open, $"the affine piece is narrower than the interval piece in {wins} of {open} open slices, under 35%"); + Assert.True(intersectionWidth <= 0.995 * intervalWidth, $"the intersection's width {intersectionWidth:F1} is not under 0.995 of the interval piece's {intervalWidth:F1}"); } // Why a field is not ten bands deep and wide, or null. The band G is the span of s where only the