Hénon and Heiles's 1964 numerical experiment hangs on one number: orbits in V = ½(x²+y²) + x²y − y³/3 stay bound only below the critical energy 1/6. Does that threshold — and the KAM order-to-chaos march toward it that the module draws — really emerge from the equations of motion alone, with nothing about saddles or 1/6 coded anywhere in the recovery?
▶ Run this simulationRead how it works
The Hénon–Heiles escape energy 1/6 recovered from the bare equations of motion — axis bisection lands 7.2e-14 relative, 12-seed generic ensembles bracket it deterministically at 0.16675 ± 0.00025 (below 1/6 escape is impossible, +0.2% above every seed escapes), the coupling law E_esc = 1/(6λ²) free-fits to slope −2 ± 4e-16, the integrable λ=0 rival produces neither threshold nor sea — and the derisk EXECUTES the shipped module (sha256-pinned mechanical strip + new Function): the default screen is pinned strict (116 orbits/67 chaotic, both point clouds sha256, the full 176-char HUD), the executed leapfrog holds both stationary points as bit-exact fixed points and hits the closed-form KDK saddle eigenvalue to 3e-10 with Richardson → the continuum value 1, and the classifier's threshold band (69/59) and 8×-budget zero-flip convergence are exact integers
Headless generator coding ONLY the accelerations ẍ = −x − 2λxy, ÿ = −y − λ(x² − y²); 1/6 is loaded from the reference solely to score. Two independent recoveries: (1) the symmetry axis x = 0 is dynamically invariant, so a launch (0,0,0,√2E) probes the barrier through the saddle with only logarithmically diverging escape times — a 60-step RK4 bisection (dt 0.002, dt-halving self-check, drift-gated) pins the threshold; (2) 12 hardcoded seeds × 100 generic in-well section orbits per energy on a 0.0005-spaced grid — escape (r > 4) is energetically impossible below the barrier and certain-within-T just above it, so every seed returns the same bracket. Perturbation: re-bisect from scratch at λ = 0.7, 1.0, 1.4 and free-fit log Ê vs log λ. Module reconciliation: a verbatim replica of HenonHeilesModule's deterministic Benettin pipeline (same float-accumulated IC grid, leapfrog expression order, twin renormalisation, λ-threshold 0.012) pins the on-screen orbit counts as integers and gates the KAM monotonicity 0.000 → 0.578 → 0.882 across E = 1/12, 1/8, 0.16. Rival: λ = 0, the integrable decoupled oscillator, through the same machinery. Honest-module certificate: gates G–K execute the sha256-pinned shipped module source itself (mechanical strip + new Function with recorder stubs), pin the executed default screen (counts, clouds, HUD) strict, calibrate the executed integrator at the saddle against closed forms never fed to it, and pin the classifier's threshold/budget systematics as exact integers.
V = ½(x²+y²) + λ(x²y − y³/3) confines orbits iff E < E_esc(λ) = 1/(6λ²); below the threshold escape is energetically impossible, above it generic orbits leave through the three saddle channels
HONEST-MODULE CERTIFICATE (zero module edits): the derisk EXECUTES the shipped src/modules/HenonHeilesModule.ts — sha256-pinned source, mechanical TS strip (21 exact-string pairs + 12 static rewrites, every count asserted), new Function with Babylon/DOM recorder stubs — and pins the default ?world=henonheiles screen strict: 116 in-well orbits, 67 chaotic, _regFrac === 49/116, max energy drift === 1.9492019187605791e-4 bit-exactly, both thin-instance point clouds (7840 + 10720 pts) sha256-pinned, and the full 176-char HUD string ===. The pre-existing re-typed replica is now itself gated bit-for-bit against the executed source (counts AND maxEdrift strict-===). Screen↔oracle closed both ways: the displayed 'escape 0.167' is the correctly-rounded known value AND the oracle's independent axis recovery rounds to the same 3-digit display. Instrument calibration on the executed integrator: the minimum (0,0,0,0) and saddle (0,1,0,0) are bit-exact fixed points of the shipped leapfrog over 1000 steps; a central-difference tangent-map probe at the saddle returns the closed-form KDK eigenvalue ln(1+dt²/2+dt√(1+dt²/4))/dt to 3.0e-10 with |det−1| = 4.5e-12 (symplectic), and Richardson (DT, DT/2) lands on the continuum saddle eigenvalue 1 = √(−V″) to 9.1e-10 — the shipped instrument's finite-dt bias on λ is exact and disclosed: −2.604e-5 at unit curvature (≈ −DT²/24). Classifier systematics exact, not vibes: LYAP_THRESH ×½/×2 gives a 69/59-of-116 band around the shipped 67, and an 8× integration budget (patched through the shared executed class object) flips ZERO of 116 classifications — the 160-crossing budget is converged for this section. Residual disclosure unchanged: finite-time Benettin classification near sticky tori is threshold-banded, and the pinned counts validate the pipeline, not a universal chaotic-area value.
26/26 pass first attempt, ~4 s; tamper 1 (known_value → 0.171) ⇒ exit 1 with recovered value unchanged; tamper 2 (one-char module_sha256 flip) ⇒ exit 1 on the source-integrity gate alone
Hénon & Heiles, Astron. J. 69, 73 (1964): the escape/dissociation energy E_esc = 1/6 of their galactic-potential model — the energy of the three barrier saddles — plus their KAM-scenario observation that invariant curves progressively break between E = 1/12 and E = 1/6. Non-circular in the estimator sense: the generator codes only the accelerations; no saddle-finding, no ∇V = 0 algebra, and no 1/6 anywhere in the recovery — the axis probe measures where the DYNAMICS stops turning back, the ensemble measures where generic orbits start leaving, and both land on the same number, which scales as 1/(6λ²) under a coupling sweep fitted free. Companion to the lab's chaos arc (logistic/Feigenbaum, stdmap KAM breakup, dblpendulum Lyapunov); this world adds the Hamiltonian escape threshold — the sharp energetic edge the KAM sea spreads toward.
npm run derisk -- henonheiles (scripts/henonheiles-derisk.mjs)scripts/oracles/henonheiles.reference.jsonM. Hénon and C. Heiles, 'The applicability of the third integral of motion: Some numerical experiments', Astron. J. 69, 73–79 (1964); G. Benettin, L. Galgani, J.-M. Strelcyn, Phys. Rev. A 14, 2338 (1976).