Your free trial has ended.
Try the live demo or log in .
By: ValentinHirschi <valentin.hirschi@gmail.com>
Use the contour box for real-mass three-mass boxes in every labelling NinjaRS found D0(p² = 20602, 6775, 113296, -106553; s12 = 80235, s23 = -4769; m² = 8315.178393760001, 100, 8315.178393760001, 0; mu² = 8315.178393760001) depending on the order of its propagators: in the 8 relabellings with these channels the real part was +1.714058e-8 instead of -9.718748e-9 (COLLIER -9.718748e-9 - 8.341413e-9 i), on every route and precision except DoubleFloat in 4 of them, and in OneLOop 3.6 itself in double and quadruple precision. Those relabellings took OneLOop's real-mass boxf33 chart, which OneLOop uses outside timelike configurations; the others took its contour box (boxc) at the vanishing-width limit. In a sweep of 400 random real-mass boxes in all 24 relabellings, scored against OneLOop 3.6's own complex-mass route in quadruple precision extrapolated to vanishing widths, boxf33 was wrong in some relabellings of 39 of 154 three-mass boxes and the contour box in none. Three-mass finite boxes now use the contour representation wherever it supports the kinematics (`finite_three_mass_representation`, hand-written `boxes::d0`). Correcting boxf33's root lips to p + i eps instead of p(1 + i eps) fixed only 9 of the 39. The contour box lost 8 to 10 digits in binary64 at a pseudo-threshold next to a massless line (an external invariant equal to its massive neighbour's mass), where an edge quadratic of `s3` has an analytic double root that rounded coefficients turn into a rounding-sized discriminant. `s3` now takes its double-root forms when the discriminant leaves 1024 |b|² unchanged at the working precision (expression and hand-written kernel): exactly and nearly on-shell inputs keep 14 to 15 digits instead of 8, invariants 3e-8 to 5e-7 (relative) from such a threshold keep 6.5 instead of 8, and 128 bits and more decide exactly as before. Four-mass boxes keep OneLOop's selection: its boxf4 chart was wrong in 12 of the 1432 relabellings that took it (8 of 88 boxes), but the contour box costs 1.5 to 4 times as much on the recorded NinjaRS streams, whose 174 distinct real-mass boxes are right in all 24 relabellings. Tests: tests/d0_real_mass_orderings.rs checks the NinjaRS box and 12 sweep boxes in all 24 relabellings on every binary64 route, DoubleFloat, and native code and interpreted expressions at 128 bits (all images agree to 1e-30). tests/data/permutation_regressions.txt: lines 471-474 and 585-588 stored OneLOop's wrong boxf33 imaginary parts (-26.894, -0.15379) and now hold the contour values at 256 bits (+27.690, +0.058428); lines 471-474 keep nine digits in binary64 at their exact pseudo-threshold (5.8e-10 to 7.8e-10, allowed up to 2e-9). Native code regenerated, D0 SymJIT asset rebuilt. Oracle sweeps (D0, four seeds, native, generated and expression routes): every row flagged against OneLOop was checked; they are OneLOop's wrong real-mass values (fixed here: one value in all 24 relabellings, equal to OneLOop's own vanishing-width limit), binary64 at exact pseudo-thresholds next to a massless line (2e-10 to 8e-10), or rows where OneLOop's double and quadruple precision disagree. Retired instructions per call on the recorded NinjaRS streams: D0 +0.08% (max +0.18%), C0 unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>