\section{The computations}\label{sec:computations} Most of the computations were done in \texttt{Magma} \cite{magma}, version V2.30-1, using the package \texttt{mdmagma} of Derickx and Sutherland \cite{mdmagma} and the models of $X_1(N)$ of Sutherland \cite{sutherland,sutherlandX1}, and the independent checks were done in SageMath \cite{sagemath}. For the computations with modular symbols of large level in \Cref{lem:nonstrange} we exported the sparse matrices of $T_2$ from \texttt{Magma} and computed the sequences in our own exact \texttt{C++} code, checking the first $64$ terms against \texttt{Magma} in every case, and the certificates of linear complexity were checked independently with FLINT. In the code the diamond operators act on $q$-expansions, and the matrix of $\dm a$ there is the matrix of $\dm a^{-1}$ in our notation (this is \gitlink{audit11/full103/build.m}{checked} when the models are built), so the operators written $T_q-\dm q-q$ and $T_q-1-q\dm q$ in the code are $A_q$ and $B_q$ up to a diamond operator, which does not change the rank conditions. All the computations were performed on the \textit{Mordell} server at the Department of Mathematics, University of Zagreb, with an AMD EPYC 9175F CPU (16 cores, 32 threads) and 384 GB of RAM, between 28 October and 3 November 2026. In total they took about $1400$ CPU hours. The case $d=22$ alone took about $900$ of them, and the computations of \Cref{lem:nonstrange} for all the degrees together about $1100$. These numbers are the sums of the running times of the individual jobs, which we \gitlink{notes/cpu_time.py}{read off} from their log files (see \githubbare{notes/cpu_time.md}), and they include some exploratory computations that are not used in the proofs. The main obstacle to determining $S(23)$ in the same way would be disk space. The data for $d=20$, $21$ and $22$ take about $30$, $85$ and $220$ GB, and since $B(d)$ doubles with each degree, we \gitlink{notes/cpu_time.md}{estimate} that $d=23$ would need about $600$ GB (and several thousand CPU hours), mostly for \Cref{lem:nonstrange}. \subsection*{Data availability and reproducibility} All the code for the computations in this paper, the logs, the machine-readable ledgers and the certificates that fit in a repository are available at \begin{center} \url{https://github.com/F-Najman/Sd} \end{center} All the links to the repository point to its revision \href{https://github.com/F-Najman/Sd/tree/0f661c120f73046f759ac67c89c8a9ae14427c4f}{\texttt{0f661c1}}. In the digital version of this paper, the words reporting a computation, such as ``we \gitlink{degree22/verify_prime_coverage.py}{compute}'', are links to the corresponding script. The repository is organized by degree: the folder \githubdir{audit11} contains the computations for $d\leq 11$ (and \githubdir{audit10} the transfer to $d=10$), and the folders \githubdir{degree12}, \dots, \githubdir{degree22} those for the larger degrees. Each computation for degree $d$ reuses the certificates for the smaller degrees, after checking that the closed points used there are the same, so the certificates for a given prime are spread over the folders of the degrees in which they were first needed. For each degree, the file \path{final_coverage.json} records for every prime up to the bound of \Cref{table:bound} the reason it is excluded or the example showing that it occurs, \path{support_coverage.json} records the argument used for every possible type of reduction at every prime of \Cref{table:local}, and the scripts \path{verify_coverage.py} (for $d=22$, \githubbare{degree22/verify_final.py}) check these ledgers against the certificates. The folder \githubdir{proofs} contains the detailed accounts of the computations for each degree, with the numbers of divisors checked in each case, and the \path{README.md} file explains how to rerun everything. The complete certificates (about $360$ GB, mostly the matrices of the principal divisor tests and the modular symbol computations) are too large for the repository, and they are available at Harvard Dataverse \cite{Ndata}. The repository contains their SHA256 hashes. The computations were checked in the following ways. The ranks of all the matrices certifying that divisors are not principal (\Cref{lem:mult}), that maps are formal immersions (\Cref{lem:fi,lem:relative}) and the intersection matrices of \Cref{lem:intersection} were recomputed independently in SageMath from the stored matrices, and the relation spaces used in the formal immersion computations were checked to span the full spaces of relations. For $d\geq20$ the census of \Cref{sec:census} was checked against independent point counts, and the list of types of reductions was produced twice, independently. The certificates of linear complexity were checked independently of the code that produced them. The computations for $d\leq 11$, which are also the basis of the computations for the larger degrees, were redone from scratch after a first version, and then checked in an independent review (see \githubbare{proofs/S10_S11_independent_audit.txt}). Finally, \Cref{thm:main} for $d=9$ was also proved, during the work on \cite{N69}, by an independent set of computations, which partly use quotients of $X_1(p)$ instead of $X_1(p)$. These are in \githubdir{degree09}. The local computations at $p=163$ for $d=22$ ($13$ types of reductions on $X_1(163)$, of genus $1027$, with $5124$ certificates, in \githubdir{degree22/full163}) and the computation of \githubbare{degree22/anti173.m} at $p=173$ were made before we noticed that the second bound of \Cref{prop:gonality} a) excludes these primes for $d=22$ directly (\Cref{prop:medium}), so they are not needed for the proof. We should mention that in the first version of the computations for $d\in\{15,16\}$ the element $\alpha$ at $p=97$ was the polynomial $(\sigma^2-1)(\sigma^4-1)$ in a generator $\sigma$ of $\Delta(97)$, which does not kill the strange characters of order $12$, so \Cref{lem:hecke} does not apply. We replaced it by $\sigma^{12}-1$ and $(\sigma-1)\Phi_{12}(\sigma)$ and redid all the affected computations (see \githubbare{proofs/S97_correction.txt}). The computations for the other degrees were not affected.