\section{How the computation was done} \label{app:howdone} This appendix records how the work was organised, since this bears on how the result should be judged. \subsection*{Organisation} The work was divided among many instances of the same AI system, several at a time, each with a narrow brief and no memory of the others except through files. One instance coordinated. It wrote the briefs, kept a design document with the conventions and the current state of each quantity, and decided what to believe. Three rules were imposed from the start. The first was that no number enters the result unless two independently written programs agree on it, or it has been checked against an exact result. It was kept with one exception, recorded in section~\ref{sec:independent}: the coefficients of piece (b) from $y^7$ onwards come from a single engine. The independence extended to the method. For the vertex coefficients, for instance, one construction used the $9j$ symbols of \cite{ITT}, and another used explicit harmonic polynomials in $\mathbb{R}^4$ restricted to the sphere. Three contraction engines were written on top of them. The second was that every program must pass a gate before it is used in production. A gate is a case with a known answer, run by the same code with no change but the input. The gates were the $su(2)$ sector, the matrix models with $N=2$ and $3$, the two-loop results of AMMPV, the supertrace identities and, later, the exact two-loop energies. The third was that a disagreement is never averaged or argued away. It is pursued until one side is shown to be wrong. The Coulomb counterterm of section~\ref{sec:cutoff} was found this way. Two engines agreed with each other and disagreed with the Bethe ansatz, and it took the dispersion test to show that both were faithfully computing the wrong theory.