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} (UQO working-paper series, \code{mathematiques/beyond-square-root-barrier}) contains15every 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/run_scaling.py --sizes 20,24,28,32,36,40 # H08-H11 (see README for the cluster split)28cargo run --release --manifest-path experiments/signature_benchmarks/sigbench/Cargo.toml -- ... # H13-H14 (run_bench.py)29.venv/bin/python experiments/reduced_round_sha256/diffusion.py / bias_test.py / preimage_sat.py / collision_sat.py / local_collision.py30cd formal && lake build # H21, H22, H25 (Lean 4.35)31.venv/bin/python experiments/automated_discovery/registry.py # discovery log + Table of hypotheses32.venv/bin/python scripts/make_tables.py && cd paper && make # tables/numbers.tex, main.pdf33\end{lstlisting}34Every result JSON carries a provenance block (host name, CPU, cores, RAM, OS, Python and library versions, seed,35command line, UTC timestamp, elapsed time). Random seeds are fixed in the scripts (default 34) and recorded.36Raw solver outputs and the Rust batch outputs are kept next to the aggregated files.3738\section{Computational environment}39\label{app:env}4041\begin{table}[htbp]42 \centering\footnotesize43 \begin{threeparttable}44 \caption{Hardware and software used (measured, from the provenance blocks).}45 \label{tab:env}46 \begin{tabular}{@{}llllll@{}}47 \toprule48 Role & Machine & CPU & Cores & RAM & Used for \\49 \midrule50 development, reference checks, figures & laptop & Apple M5 Max & 18 & 48 GB & tests, SymPy/PARI, Python experiments, signature benchmarks \\51 benchmarking & M3U96a (Mac Studio) & Apple M3 Ultra & 28 & 96 GB & signature benchmarks (second hardware point), ECDLP scaling, parallel efficiency \\52 benchmarking & M3U96b (Mac Studio) & Apple M3 Ultra & 28 & 96 GB & SAT/SMT grids, ECDLP scaling \\53 \bottomrule54 \end{tabular}55 \begin{tablenotes}\footnotesize56 \item 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.57 \end{tablenotes}58 \end{threeparttable}59\end{table}6061\section{Full secp256k1 constants}62\label{app:constants}63\begin{lstlisting}64p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F65n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D036414166G.x = 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F8179867G.y = 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B868beta = 7AE96A2B 657C0710 6E64479E AC3434E9 9CF04975 12F58995 C1396C28 719501EE69lambda = 5363AD4C C05C30E0 A5261C02 8812645A 122E22EA 20816678 DF02967C 1B23BD7270a1 = 3086D221 A7D46BCD E86C90E4 9284EB15 (= (t - f)/2 - 1)71b1 = -E4437ED6 010E8828 6F547FA9 0ABFE4C3 (= -f)72a2 = 114CA50F 7A8E2F3F 657C1108 D9D44CFD8 (= a1 - b1 = (t + f)/2 - 1)73b2 = a174t = 432420386565659656852420866390673177327 (trace of Frobenius)75f = 303414439467246543595250775667605759171 (4p = t^2 + 3 f^2)76\end{lstlisting}7778\input{appendix/app_results}7980\end{appendices}81