From bdafdf3dd15645a0ef7a6cc617b81b164a971441 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sun, 4 Oct 2026 07:28:03 +0200 Subject: [PATCH] NoiseBoundTests: the affine composition must win in 35% of open slices and narrow the interval piece Co-Authored-By: Claude Sonnet 5.5 --- packages/cultmath/tests/CultMath.Tests/NoiseBoundTests.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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