"""PREREG_controls_2026-09-22 outcome into article/sim_numerics.md, as the pre-registration prescribes: C1 passed for every detector (the claim of 8.6 stands, with the numbers), and K1 - with the multiplicity known the classical transformation is much cheaper - stated plainly. New section 9.1 (Tables 9b, 9c); a sentence each in the abstract, 8.3, 8.6, the conclusion, and the future work. Exact anchors, each found exactly once, or nothing is written. python -u apply_article_controls.py """ from __future__ import annotations PATH = "article/sim_numerics.md" REPL = [] def R(old, new): REPL.append((old, new)) R("and without them the lead is 2403 against 3569, on the simple-root families alone 737 against 747.", "and without them the lead is 2403 against 3569, on the simple-root families alone 737 against 747. " "Against simpler detectors put in the place of the analogy — Lagouanelle's multiplicity estimate " "with the same memory, Chandrupatla's acceptance band, or none — it wins on that corpus in total " "and problem by problem (3656 against 4488, 6236 and 6165); against the classical transformation " "$\\operatorname{sign}(f)|f|^{1/m}$ with the multiplicity given in advance it loses every multiple or " "fractional root, by a factor of 2.4 to 6.8 — the price of estimating the order.") R("classical since Schröder [16] and Traub [17]; what is new here is only where $m$ comes from.", "classical since Schröder [16] and Traub [17]; what is new here is only where $m$ comes from. With " "the multiplicity given in advance the transformation is far cheaper still (§9.1): the contribution " "is the estimate, and its price is measured there.") R("Roots.jl's `Order1B` and `Order2B` [12]); Chandrupatla takes the decision to halve by an empirical acceptance band [3].", "Roots.jl's `Order1B` and `Order2B` [12]); Chandrupatla takes the decision to halve by an empirical " "acceptance band [3]. §9.1 puts this claim against the detectors a reader would try first, and " "against the transformation with the multiplicity known in advance.") SEC91 = """ ### 9.1 Controls: simpler detectors, and the multiplicity known in advance Two controls ask whether the gain of §8 comes from the recognition by analogy or only from the split (7) with any reasonable detector. Both were pre-registered, with what the paper would say under every outcome, before the run (`sweep_controls.py`). **Other detectors in A′.** A′ is run with only its detector swapped; the memory, the split, the exit and the five readings of §8.4 are unchanged. (a) *Lagouanelle's estimate* $m_L=1/(1-\\theta)$, $\\theta=ff''/f'^2$ from the parabola through the last three points ($m_L=\\infty$ for $\\theta\\ge1$), with the same memory — once seen, held until the exit, a hysteresis — entering at $m_L\\ge2$ and at $0