% ============================================================================ % Technical Appendices % ============================================================================ \newpage \begin{appendices} \renewcommand{\thetable}{A\arabic{table}} \renewcommand{\thefigure}{A\arabic{figure}} \setcounter{table}{0} \setcounter{figure}{0} \section{Reproducibility statement} \label{app:repro} The repository \code{wp34\_uqo} (series directory \code{beyond-square-root-barrier} under \code{mathematiques/}) contains every script, result file and figure source. All experiments are re-runnable from the repository root: \begin{lstlisting} uv venv --python 3.12 .venv && uv pip install -r requirements.txt # Python environment .venv/bin/python -m pytest -q tests/ # cross-implementation gates .venv/bin/python experiments/baselines/secp256k1_facts.py # Table 2 (needs PARI/GP `gp`) .venv/bin/python experiments/baselines/scalar_mult_opcount.py # GLV operation counts .venv/bin/python theory/elliptic_curves/symbolic_checks.py # SymPy checks S1-S6 .venv/bin/python theory/elliptic_curves/orbit_quotient_counterexample.py # H05 .venv/bin/python experiments/synthetic_ecdlp/index_calculus_probe.py # H06 .venv/bin/python experiments/synthetic_ecdlp/preprocessing_python.py # H12 .venv/bin/python experiments/automated_discovery/identity_search.py # H02, H07 cargo build --release --manifest-path experiments/synthetic_ecdlp/rho_engine/Cargo.toml .venv/bin/python experiments/synthetic_ecdlp/ecdlp_study.py all # job files (PARI/GP) .venv/bin/python experiments/synthetic_ecdlp/run_batch_remote.py ... # H04, H08-H11 (see README) .venv/bin/python experiments/synthetic_ecdlp/analyze_ecdlp.py .venv/bin/python experiments/signature_benchmarks/run_bench.py # H13-H14 (builds sigbench) .venv/bin/python experiments/reduced_round_sha256/diffusion.py # H15 (also bias_test.py, preimage_sat.py, collision_sat.py, local_collision.py; run_cluster.sh) # H16-H19 cd formal && lake build # H21, H22, H25 (Lean 4.35) .venv/bin/python experiments/automated_discovery/registry.py # discovery log + hypothesis table .venv/bin/python scripts/make_tables.py scripts/make_sha_tables.py # tables/numbers*.tex cd paper && make # main.pdf \end{lstlisting} Every result JSON carries a provenance block (host name, CPU, cores, RAM, OS, Python and library versions, seed, command line, UTC timestamp, elapsed time). Random seeds are fixed in the scripts (default 34) and recorded. Raw solver outputs and the Rust batch outputs are kept next to the aggregated files. \section{Computational environment} \label{app:env} \begin{table}[htbp] \centering\footnotesize \caption{Hardware and software used (measured, from the provenance blocks).} \label{tab:env} {\footnotesize \begin{tabular}{@{}p{2.6cm}p{2.4cm}p{2.1cm}rrp{5.2cm}@{}} \toprule Role & Machine & CPU & Cores & RAM & Used for \\ \midrule development, reference checks, figures & laptop & Apple M5 Max & 18 & 48 GB & tests, SymPy/PARI, Python experiments, signature benchmarks \\ benchmarking & M3U96a (Mac Studio) & Apple M3 Ultra & 28 & 96 GB & signature benchmarks (second hardware point), ECDLP scaling, parallel efficiency \\ benchmarking & M3U96b (Mac Studio) & Apple M3 Ultra & 28 & 96 GB & SAT/SMT grids, ECDLP scaling \\ \bottomrule \end{tabular} } \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.} \end{table} \section{Full secp256k1 constants} \label{app:constants} \begin{lstlisting} p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141 G.x = 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 G.y = 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8 beta = 7AE96A2B 657C0710 6E64479E AC3434E9 9CF04975 12F58995 C1396C28 719501EE lambda = 5363AD4C C05C30E0 A5261C02 8812645A 122E22EA 20816678 DF02967C 1B23BD72 a1 = 3086D221 A7D46BCD E86C90E4 9284EB15 (= (t - f)/2 - 1) b1 = -E4437ED6 010E8828 6F547FA9 0ABFE4C3 (= -f) a2 = 114CA50F 7A8E2F3F 657C1108 D9D44CFD8 (= a1 - b1 = (t + f)/2 - 1) b2 = a1 t = 432420386565659656852420866390673177327 (trace of Frobenius) f = 303414439467246543595250775667605759171 (4p = t^2 + 3 f^2) \end{lstlisting} \input{appendix/app_results} \end{appendices}