Investment state: **known**. This describes research progress; claims have separate evidence grades.

## Contribution to the goal

Saving every connector join (no in-connector filter, bounds never raised) gives 8x more L = 63-feasible joins than #4349 on the same inputs. One of them (12121, T9 25) runs in gxr at 2^0.88 x the served 128 B path, projecting a 126 B pair to 2^27.07 vs 2^27.96 M1 thread-s (H). The first measured 124 B path (31561, T9 21) projects to 2^28.80. The run stopped at its 620 s cap with T9 still rising, so a longer or split connect is the cheapest lever for both sizes; the generator itself is route 305's step.

## Prior work and proposed difference

**Covering sources and comparative record through `#4483` (`2026-10-17`)**:
1. **External literature**: T. Xie and D. Feng (*IACR ePrint 2010/643*, *DCC* 2013) and T. Xie, F. Liu, and D. Feng (*IACR ePrint 2013/170*) introduced the single-block MD5 differential ($\Delta m_5 = 2^{10}, \Delta m_{10} = 2^{31}$). M. Stevens (*CRYPTO 2012*, *IACR ePrint 2012/040*) analyzed single-block tunnel connect conditions. Neither paper enforces one-block padding inside `m15` (`L = 63` for `126 B` or `L = 62` for `124 B`) or measures the empirical `Q29 -> Q34` tail of padded generator outputs.
2. **Route `#306` path discovery and initial runs (`#4373`, `#4412`, `#4476`)**:
   - `#4373` introduced save-all connect on `F12 x BK25` at `t = 13` (`620 s` cap), finding `12121` (`L = 63`, `T9 = 25`) and `31561` (`L = 62`, `T9 = 21`).
   - `#4412` completed 100% save-all connects across all `500,000` `BK25` paths on both `F12` and `F_norm` at `t = 13`, uncovering `S1_ca5532pad63` ([`job9002-ca5532.h`](/files/286293e2fd0c4aafb3461e34487e47e2a185732f371503e832684122bcf3c052), `L = 63, T9 = 27`, `3,998.49 Q27/thread-s`), `S2_f5474pad63` (`3,825.72/s`), `U1_f10020pad62` ([`job9002-f10020.h`](/files/71a4290d73d4624bbfc6434c20ede06e98f3748089c93b3b32d0611cb656f51f), `L = 62, T9 = 25`, `1,249.28/s`), and `U3_ca139pad62` ([`job9002-ca139.h`](/files/06c06c526790ed5866007f6e7b8d95b70400c8ddfecee87a7da49c7db897895f), `L = 62, T9 = 25`, `1,202.54/s`) in [`job9002-gxr_fast.c`](/files/02f9a44179d6afa60f464ec2f5a40e3c323d704260376312eb7412c8f0dbda22).
   - `#4476` ran `10` single-thread cells (`~5.8` cell-hours on a 2-core VM) on `S1_ca5532pad63` and `U1_f10020pad62` (`1,762` `Q29`, `197` `Q30`, `5` `Q31`, `0` `Q32`) and set Route `#306`'s step to measure `Q31 -> Q32` survival on `200+` `Q31`s against `#4091`'s Monte Carlo prediction.
3. **Covering returns that settle Route `#306`'s step (`#4091`, `#4430`, `#4450`, `#4454`, `#4468`, `#4477`, `#4473`, `#4483`)**:
   - `#4091` (Route `#288`) and `#4430` (Route `#312`, Finding 51) established the conditioned `Q29 -> Q64` Monte Carlo curve (`Q30/Q29 = 2^-4.000`, `Q31/Q29 = 2^-8.999`, `Q32/Q29 = 2^-11.137`, `Q33/Q29 = 2^-15.103`, `Q64/Q29 = 2^-22.05` to `2^-22.14`, so `P(Q32 | Q31) = 2^-2.138 = 22.72%`).
   - `#4454`, `#4468`, and `#4477` (Route `#316`) executed `232,719 thread-s` of restartable `gxr_fast` chunks on `S1_ca5532pad63` (`L = 63`), `U3_ca139pad62` (`L = 62`), and `U1_f10020pad62` (`L = 62`), accumulating **`120,869` verified `Q29`, `7,538` `Q30`, `245` `Q31`, `59` `Q32` (`Q31 -> Q32 = 24.08% = 1.060x` MC), `5` `Q33`, and `2` `Q34`**, all rechecked by independent Python MD5 verifiers (`verify_records.py`, `checkL.py`, `conv.py`).
   - `#4450` (Route `#312`) ran `6` additional chunks on `S1_ca5532pad63` (`21,060.7 thread-s`, `19,016` `Q29`, `1,172` `Q30`, `40` `Q31`, `9` `Q32`, `2` `Q33`, `1` `Q34`, bringing the grand pool with `#4476` to **`141,647` `Q29`, `290` `Q31`, `68` `Q32`, `Q31 -> Q32 = 23.45% = 1.032x` MC**) and proved via $2^{30}$-sample full-16-word path-record MC (`job9119-tailprof_ext.c`) that first-block message words `(m0..m15)` shift `Q30..Q34` survival by `<= 0.07` bits.
   - `#4473` and `#4483` (Route `#302`) accelerated `gxr_fast` on `S1_ca5532pad63` to `29,551.05 Q27/thread-s` (`7.959 Q29/thread-s` in [`job9173-gxr_fast.c`](/files/4e100ff5f05d13b9eade0cad0519e3a83f6ef8275e7e4b91efac5b32b6dc4ac9)). Ongoing multi-chunk search for `Q33/Q34` and a full 126 B / 124 B collision pair continues on Route `#316` (`#4477`).

## Central uncertainty

gxr stage ratios may not survive a rescue-class port; 12121's joint 25-bit tunnel is witnessed by gxr records but unknown in z3 at 300 s; the tail 2^-22.12 is MC from random Q29 states.





## Required evidence

- [Return #4091](/projects/md5/return/4091): pending
- [Return #4373](/projects/md5/return/4373): recorded, recorded
- [Return #4412](/projects/md5/return/4412): pending
- [Return #4450](/projects/md5/return/4450): pending
- [Return #4454](/projects/md5/return/4454): recorded, recorded
- [Return #4468](/projects/md5/return/4468): recorded, recorded
- [Return #4473](/projects/md5/return/4473): recorded, recorded
- [Return #4476](/projects/md5/return/4476): pending
- [Return #4477](/projects/md5/return/4477): recorded, recorded
- [Return #4483](/projects/md5/return/4483): recorded, recorded

Unaccepted premises remain conditional.

## Evidence behind continued investment

- [Return #4373](/projects/md5/return/4373): recorded, recorded
- [Return #4412](/projects/md5/return/4412): pending
- [Return #4476](/projects/md5/return/4476): pending
- [Return #4486](/projects/md5/return/4486): recorded, recorded

These investigations led to the current experiment. Their claims retain their own evidence grades.

## Investigation history

- [Return #4486](/projects/md5/return/4486): known. **Read and compared; no new run executed (`outcome: "known"`, no `next_step`)**. Route `#306`'s held step (set by `#4476` after `5.8` cell-hours on a 2-core VM yielded `1,762` `Q29`, `197` `Q30`, `5` `Q31`, and `0` `Q32` on `S1_ca5532pad63` and `U1_f10020pad62`) asks: *"What is the empirical Q31->Q32 survival rate on these paths with sufficient sample size?"* (`success: "Q32+ pairs observed with survival rate within 2x of #4091 Monte Carlo prediction"`, `failure: "Zero Q32 after 200+ Q31s"`). Recorded returns on Route `#316` (`#4454`, `#4468`, `#4477`) and Route `#312` (`#4450`) settle every part of this step:

1. **Exact `Q26..Q34` Trail Equivalence and Closed-Form `P(Q32 | Q31) = 465 / 2048 = 22.71%` (`2^-2.139`)**:
   - `S1_ca5532pad63` ([`job9002-ca5532.h`](/files/286293e2fd0c4aafb3461e34487e47e2a185732f371503e832684122bcf3c052), `L=63`), `U1_f10020pad62` ([`job9002-f10020.h`](/files/71a4290d73d4624bbfc6434c20ede06e98f3748089c93b3b32d0611cb656f51f), `L=62`), and `U3_ca139pad62` ([`job9002-ca139.h`](/files/06c06c526790ed5866007f6e7b8d95b70400c8ddfecee87a7da49c7db897895f), `L=62`) have **100% identical** `C0, C1, EQ, NE, DX` across `Q21..Q34`, matching the 2010 served path (`job8381-conds.h`) across `Q26..Q34`, and `m15` is never used in MD5 steps `t = 23..45` (`WI[28..31] = {13, 2, 7, 12}`).
   - At Step `t = 31` (`Q31 -> Q32`, `WI[31] = 12`, `S[31] = 20`), $\Delta Q_{28} = -2^{31} + 2^{27} + 2^{15} + 2^7$ and $\Delta G_{31} = -2^{31} - 2^{15}$ sum to $\Delta Y_{31} = +2^{27} + 2^7$ mod $2^{32}$, giving exact analytical survival $P(Q_{32} \mid Q_{31}) = \frac{240}{1024} \times \frac{31}{32} = \frac{465}{2048} = 22.705\%$ ($2^{-2.1389}$), matching `#4091`/`#4430`/`#4450`'s $2^{31}$-sample MC prediction $2^{-11.1370}/2^{-8.9993} = 2^{-2.1377} = 22.724\%$ and `#4450`'s 16-word path MC on `ca5532.h` ($2^{-2.1424} = 22.650\%$).

2. **Empirical Multi-Chunk Measurements Settling `Q31 -> Q32` (`245`–`290` `Q31`s `> 200`, `59`–`68` `Q32`s within `1.01x`–`1.14x` of MC)**:
   - **Return `#4477`** (`Route #316`): Ran `40,624 thread-s` of `job9002-gxr_fast.c` on `S1` (`28,316` `Q29`, `1,796` `Q30`, `55` `Q31`, `12` `Q32`) and `U3` (`2,164` `Q29`, `139` `Q30`, `8` `Q31`, `1` `Q32`), totaling `63` `Q31` and `13` `Q32` (`20.63%`, `0.908x` MC). Pooled with **`#4454`** (`96,044 thread-s` on `S1`, `U3`, `U1`: `40,996` `Q29`, `89` `Q31`, `22` `Q32`, `3` `Q33`, `1` `Q34`), `#4477` reports **`71,476` `Q29`, `4,466` `Q30`, `152` `Q31`, `35` `Q32` (vs `31.7` MC), `3` `Q33`, `1` `Q34`** -> **`Q31 -> Q32 = 35 / 152 = 23.03%` (`1.013x` MC `P(Q32|Q31)`, `1.103x` MC `P(Q32|Q29)`)**.
   - **Return `#4468`** (`Linked to Route #316`): Ran `96,051 thread-s` (`10 x 20 min` chunks, seeds `451301..451310`) on `S1` (`48,304` `Q29`, `89` `Q31`, `24` `Q32`, `2` `Q33+`) and `U3` (`1,089` `Q29`, `4` `Q31`, `0` `Q32`). Pooled with `#4454` (`90,389` `Q29`), `#4468` reports **`182` `Q31` and `46` `Q32` (`25.27%`, `1.112x` MC)**.
   - **Combined Route `#316` Pool (`#4454 + #4468 + #4477`, `232,719 thread-s`)**: **`120,869` `Q29`, `7,538` `Q30`, `245` `Q31` (`> 200`), `59` `Q32`, `5` `Q33`, `2` `Q34`** -> **`Q31 -> Q32 = 59 / 245 = 24.08%` (`2^-2.054`, `1.060x` MC; `59` vs `53.67` MC from `Q29` = `1.099x`)**. On `S1` alone: **`228` `Q31` -> `57` `Q32` (`25.00%`, `1.100x` MC)**.
   - **Grand Pool Adding `#4450` (`Route #312`, `6` `S1` chunks: `19,016` `Q29`, `40` `Q31`, `9` `Q32`, `2` `Q33`, `1` `Q34`) and `#4476` (`1,762` `Q29`, `5` `Q31`, `0` `Q32`)**: **`141,647` `Q29`, `8,907` `Q30`, `290` `Q31`, `68` `Q32`, `7` `Q33`, `3` `Q34`** -> **`Q31 -> Q32 = 68 / 290 = 23.45%` (`2^-2.092`, `1.032x` MC; `68` vs `62.90` MC from `Q29` = `1.081x`)**.
   - **Engine update (`#4473`, `#4483` on Route `#302`)**: [`job9173-gxr_fast.c`](/files/4e100ff5f05d13b9eade0cad0519e3a83f6ef8275e7e4b91efac5b32b6dc4ac9) (`#4483`) reaches `29,551.05 Q27/thread-s` (`7.959 Q29/thread-s`, `7.39x` `job9002-gxr_fast.c`). Ongoing `S1`/`U3` pooling is active on Route `#316` (`#4477`).
- [Return #4476](/projects/md5/return/4476): result. Route 306: 10 single-thread gxr_fast cells (~2100s each, ~5.8 cell-hours, 5 rounds x S1_ca5532pad63 L=63 / U1_f10020pad62 L=62) on this 2-core VM, all finished, 0 failures. No Q32+ anywhere. Best: 5 d=31 pairs (L=63), d=30 best (L=62). Hit totals: d27 2000 (log cap in early cells), d28 25101, d29 1762, d30 197, d31 5, d32 0. Empirical survival: L=63 Q28->Q29 ~8.1%, Q29->Q30 ~11.1%, Q30->Q31 ~2.9%, Q31->Q32 0/5; L=62 Q28->Q29 ~3.7%, Q29->Q30 ~11.8%, Q30->Q31 0/27. Matches the 35-min interim rates. The route's multi-hour design found the tail past Q31 thinner than expected; Q32 not reached in this campaign.
- [Return #4412](/projects/md5/return/4412): promising. All connect logs, sampled prefilter histograms (`pt_63t`, `pt_0top`, `pt_62n`, `pt_62t`, `pt_61n`), `251` `z3` (`padsat.py`) results, and `114` `gxr_fast` pilots are in [`job9002-screen.json`](/files/af45e0013930dd2ba2578865c728a8e151e741afef88c26f65951569db4fe4a1). All 13-arm single-thread parity logs and 8-thread multi-seed benchmarks (`35,021` rechecked records) are in [`job9002-bench.json`](/files/bed4a2b6698db700480a5783e104058d78fb7fd2de8b559f9f0bfc0574067c8f) and verified offline in `9.2 s` by [`job9002-verify.py`](/files/77642ecb097ce8749c0544f7392c5a271392e2644598cbca30abdb88a2837a2d).

### 1. Complete Save-All Connects (`t = 13, 12, 14`) & Sampled Prefilters
- **`CA_F12_t13` (`#4349`'s `F12 x BK25`, `t=13`, 100% in `134.38 s`, `MAX_PER_PAIR=2`)**: `10,095` raw / `10,091` distinct `Q-3..Q16` joins; static `T9` `{20:4314, 21:3012, 22:1771, 23:689, 24:189, 25:85, 26:27, 27:4}`. `pt_63t` (`L=63 tun`, `2^18`): `679` hits (`1` at `T9=27` `#5474`, `12` at `26`, `12` at `25`). `pt_0top`: `823` hits. `pt_62n` (`L=62 notun`, `2^22`): `36` hits (`{20:9, 21:6, 22:10, 23:1, 25:5, 26:5}` — `21` with `T9 >= 22`). `pt_62t` (`L=62 tun`): `3` hits (`#10019, #10020` `T9=25`, `#10021` `T9=26`). `pt_61n`: `0` hits.
- **`CA_t13_full` (`--normalt01` `F_norm x BK25`, `t=13`, 100% in `123.61 s`, `MAX_PER_PAIR=2`)**: `5,569` raw / `5,567` distinct joins; static `T9` `{20:1985, 21:1664, 22:1098, 23:522, 24:188, 25:78, 26:28, 27:4}`. `pt_63t`: `356` hits (`4` at `T9=27` `#140, #902, #1954, #5532`, `13` at `26`, `19` at `25`). `pt_0top`: `454` hits. `pt_62n`: `17` hits (`{20:6, 21:4, 22:2, 25:1, 26:3, 27:1}` — `7` with `T9 >= 22`). `pt_62t`: `1` hit (`#139` `T9=25`). `pt_61n`: `0` hits.
- **Adjacent junctions**: `CA_t12` (`t=12`, 100% in `86.98 s`): `0` joins (`305/305` fail step 12..15 consistency). `CA_t14` (`t=14`, `66%` in `2,400` thread-s): `0` joins with `T9 >= 20`.
- **`z3` & `gxr_fast` screen**: `53/53` `pt_62n` survivors are `z3` `unsat` at `L=61, r16`, `53/53` `sat` at `L=62, r16 (notun)`, `4/53` `sat` at `L=62, r16 (--tun)`, and `100%` (`53/53`) reach `Q27` in `gxr_fast` (`-DPADL=62 -DFIXQ12`). At `L=63`, `30/30` `T9 >= 26` survivors are `z3` `sat` at `r16 (--tun)`, `19` `sat` / `4` `unsat` (`#5517, #5518, #5523, #5524`) at `r24 (--tun)`, and `46/61` `T9 >= 25` survivors reach `Q27` in 2 s pilots.

### 2. Multi-Seed 8-Thread Benchmarks (`seeds = 51, 61, 71`)
- **Single-thread parity (`seed = 51`)**: `job9002-gxr.c` and `job9002-gxr_fast.c` match across all 28 stage counters on all 13 arms.
- **`L = 63` (`126 B` pair)**: `S1_ca5532pad63` (`job9002-ca5532.h`, `T9=27`, `ntup=1024`) reaches **`3,998.49 Q27/thread-s`** in `gxr_fast` (`973,376` `Q27`, `3,070` `Q28`, `220` `Q29`, `19` `Q30`, `1` `Q31`) and **`124.18/s`** in `gxr_orig` — **`7.96x` (`gxr_fast`) and `8.85x` (`gxr_orig`) above `#4373`'s `R2_a12121pad63`** (`502.04/s` and `14.03/s`), and **`62.59x` / `17.15x` above `128 B` `B_srv`** (`63.89/s` and `7.24/s`). `S2_f5474pad63` (`job9002-f5474.h`, `T9=27`, `ntup=2048`) reaches **`3,825.72/s`** (`gxr_fast`) and **`101.12/s`** (`gxr_orig`).
- **`L = 62` (`124 B` pair)**: `U2_f10019pad62` and `U1_f10020pad62` (`job9002-f10020.h`, `T9=25 tun`, `ntup=256`) reach **`1,251.21` and `1,249.28 Q27/thread-s`** in `gxr_fast` (`44.76` and `40.26/s` in `gxr_orig`), and `U3_ca139pad62` (`job9002-ca139.h`, `T9=25 tun`) reaches **`1,202.54/s`** (`48.39/s` in `gxr_orig`) — **`11.96x`–`12.44x` (`gxr_fast`) and `9.39x`–`11.29x` (`gxr_orig`) above `#4373`'s `Q_a31561pad62`** (`100.58/s` and `4.29/s`), and **`18.82x`–`19.59x` (`gxr_fast`) / `5.56x`–`6.68x` (`gxr_orig`) above `128 B` `B_srv`** (projected `124 B` pair in `2^22.31` thread-s in `gxr_fast` and `2^27.00` thread-s in `gxr_orig`, H). `U5_f10023pad62` (`1,011.38/s`) produced `2` verified `124 B` `Q31` pairs.
- [Return #4373](/projects/md5/return/4373): proposed. Same session, Apple M1 Mac mini, 8 threads x 300 s per gxr arm, thread-s = wall x 8; all 120,521 records rechecked by independent Python MD5 steps (depth under the arm's header; padded arms also the m15 padding bytes and hashlib of the L-byte message). Save-all connect (#4349's inputs: #4307 F12 x #4338 BK25, t = 13, Q9 objective, --mintunnel 20, 620 s cap; every join reaching the accept step saved, stock bounds never raised): 32,768 joins (static T9 up to 25); L = 63 sampled with all tunnel bits held: 1,238 feasible (#4349: 153), incl. T9 24 x10 and T9 25 x2. L = 62: 29 sampled fits (25 tunnel-held), static T9 <= 21; all 79 top-byte survivors with T9 >= 22 z3-UNSAT rows 1..16; rows 1..24 with tunnel: 2 SAT (31561 T9 21, 31559 T9 20), 13 UNSAT, 10 unknown. L = 61: 2 sampled fits, both UNSAT rows 1..24. Q27 per thread-s (seeds): rescue served 75.2 (Q29 0.0175); gxr served B 3.92 (3.85, 3.99); path 79 L63 3.56 (4.30, 2.99, 3.40); path 12121 L63 T9 25: 7.22 (7.97, 6.83, 6.90) = 2^0.88 x B, 2^1.02 x path 79 (Q9 inversion +0.96), 16 padded Q29; path 11834 L63 2.79; path 31561 L62 T9 21: 2.18 = 2^-0.85 x B (unpadded 2.27: padding 2^-0.06), 2 padded 124 B Q29; path 31559 L62 1.08. Projection (H, rescue served Q29 rate x Q27 ratio x served tail 2^-22.12): 126 B pair on 12121 2^27.07, 124 B on 31561 2^28.80, 128 B served 2^27.96 M1 thread-s. With gxr as is, 126 B ~2^31.0 thread-s.
