1% ============================================================================2% Technical Appendices3% ============================================================================4\newpage5\begin{appendices}6\renewcommand{\thetable}{A\arabic{table}}7\renewcommand{\thefigure}{A\arabic{figure}}8\setcounter{table}{0}9\setcounter{figure}{0}1011\section{Reproducibility statement}12\label{app:repro}1314The repository \code{wp34\_uqo} (series directory \code{beyond-square-root-barrier} under \code{mathematiques/})15contains every script, result file and figure source. All experiments are re-runnable from the repository root:16\begin{lstlisting}17uv venv --python 3.12 .venv && uv pip install -r requirements.txt # Python environment18.venv/bin/python -m pytest -q tests/ # cross-implementation gates19.venv/bin/python experiments/baselines/secp256k1_facts.py # Table 2 (needs PARI/GP `gp`)20.venv/bin/python experiments/baselines/scalar_mult_opcount.py # GLV operation counts21.venv/bin/python theory/elliptic_curves/symbolic_checks.py # SymPy checks S1-S622.venv/bin/python theory/elliptic_curves/orbit_quotient_counterexample.py # H0523.venv/bin/python experiments/synthetic_ecdlp/index_calculus_probe.py # H0624.venv/bin/python experiments/synthetic_ecdlp/preprocessing_python.py # H1225.venv/bin/python experiments/automated_discovery/identity_search.py # H02, H0726cargo build --release --manifest-path experiments/synthetic_ecdlp/rho_engine/Cargo.toml27.venv/bin/python experiments/synthetic_ecdlp/ecdlp_study.py all # job files (PARI/GP)28.venv/bin/python experiments/synthetic_ecdlp/run_batch_remote.py ... # H04, H08-H11 (see README)29.venv/bin/python experiments/synthetic_ecdlp/analyze_ecdlp.py30.venv/bin/python experiments/signature_benchmarks/run_bench.py # H13-H14 (builds sigbench)31.venv/bin/python experiments/reduced_round_sha256/diffusion.py # H15 (also bias_test.py,32 preimage_sat.py, collision_sat.py, local_collision.py; run_cluster.sh) # H16-H1933cd formal && lake build # H21, H22, H25 (Lean 4.35)34.venv/bin/python experiments/automated_discovery/registry.py # discovery log + hypothesis table35.venv/bin/python scripts/make_tables.py scripts/make_sha_tables.py # tables/numbers*.tex36cd paper && make # main.pdf37\end{lstlisting}38Every result JSON carries a provenance block (host name, CPU, cores, RAM, OS, Python and library versions, seed,39command line, UTC timestamp, elapsed time). Random seeds are fixed in the scripts (default 34) and recorded.40Raw solver outputs and the Rust batch outputs are kept next to the aggregated files.4142\section{Computational environment}43\label{app:env}4445\begin{table}[htbp]46 \centering\footnotesize47 \caption{Hardware and software used (measured, from the provenance blocks).}48 \label{tab:env}49 {\footnotesize50 \begin{tabular}{@{}p{2.6cm}p{2.4cm}p{2.1cm}rrp{5.2cm}@{}}51 \toprule52 Role & Machine & CPU & Cores & RAM & Used for \\53 \midrule54 development, reference checks, figures & laptop & Apple M5 Max & 18 & 48 GB & tests, SymPy/PARI, Python experiments, signature benchmarks \\55 benchmarking & M3U96a (Mac Studio) & Apple M3 Ultra & 28 & 96 GB & signature benchmarks (second hardware point), ECDLP scaling, parallel efficiency \\56 benchmarking & M3U96b (Mac Studio) & Apple M3 Ultra & 28 & 96 GB & SAT/SMT grids, ECDLP scaling \\57 \bottomrule58 \end{tabular}59 }60 \par\smallskip{\footnotesize Software: macOS 27.0; Python 3.12 (uv), SymPy 1.14, NumPy 2.5, python-sat 1.9 (CaDiCaL 1.9.5 bindings), Z3 4.15 (\code{z3-solver}), CaDiCaL 2.x and Kissat 4.x binaries, PARI/GP 2.19; Rust 1.95--1.96 (\code{k256} 0.14, \code{secp256k1} 0.33 / \libsecp{}); Lean 4.35.0 (\code{bv\_decide} with bundled CaDiCaL); TeX Live 2026. Exact versions are in each result file. No GPU was used.}6162\end{table}6364\section{Full secp256k1 constants}65\label{app:constants}66\begin{lstlisting}67p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F68n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D036414169G.x = 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F8179870G.y = 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B871beta = 7AE96A2B 657C0710 6E64479E AC3434E9 9CF04975 12F58995 C1396C28 719501EE72lambda = 5363AD4C C05C30E0 A5261C02 8812645A 122E22EA 20816678 DF02967C 1B23BD7273a1 = 3086D221 A7D46BCD E86C90E4 9284EB15 (= (t - f)/2 - 1)74b1 = -E4437ED6 010E8828 6F547FA9 0ABFE4C3 (= -f)75a2 = 114CA50F 7A8E2F3F 657C1108 D9D44CFD8 (= a1 - b1 = (t + f)/2 - 1)76b2 = a177t = 432420386565659656852420866390673177327 (trace of Frobenius)78f = 303414439467246543595250775667605759171 (4p = t^2 + 3 f^2)79\end{lstlisting}8081\input{appendix/app_results}8283\end{appendices}84