Files
BFM-decomp/docs/progress.fleet.md
T
Drew T 3a67dd609f feat(phase-26): func_8017BEBC (952 ins, ×113) CLOSED + banked ×1 — the §47 live-length slider
The largest unmatched core in the game, walled at close=2 for the permuter (25 min, no close) and
queued for a gdb-on-cc1 read. Closed WITHOUT gdb — the RTL dumps were the oracle:

- THE TIE, byte-measured (.lreg): &g.sz1 pseudo 228 refs 13 / live_length 783; &g.sz2 pseudo 230
  refs 13 / 782 -> pri = int(390000/L) = 498 == 498, an exact int-truncation tie in global.c:594
  allocno_compare. Tie-break = creation order -> allocation follows emission; the target needs them
  to DIFFER (allocation sz2-first, emission sz1-first). The shipped operand-permutation workaround
  could only pick one (close=2 vs close=10).
- THE FIX (§47): restore NATURAL operand order (emission correct) + ONE zero-byte
  `__asm__ volatile ("")` placed BETWEEN two existing GTE volatile asms (no new cse/sched barrier —
  one is already there) -> +1 static insn at global-alloc time -> L 784/783 -> pri 497 vs 498 ->
  the tie SPLITS toward the shorter-lived (later-created) pseudo, which is ALWAYS the direction
  "allocation != creation" requires. All 10 grants cascade; MATCH 952/952 first try; the slider
  emits only #APP/#NO_APP (zero bytes). PIN-FREE, ×113 template-safe.
- BANKED ×1 in ov_SC01_000 through the WHOLE-BINARY gate (jr fn — match_one is not the arbiter,
  §8a): lazy isolation -> new region ov_SC01_000_jr_8017BEBC + 9-piece jtbl interleave -> splice ->
  BYTE-IDENTICAL. One TU-visible decl reconcile en route (D_800B9A02: declare the TU's `short`,
  force the unsigned halfword at use `(*(u16*)&D_800B9A02)` — §8d sub-class (b)).
- R22 clean-fleet 136/136 BYTE-IDENTICAL; 0 NON_MATCHING (G4). The ×113 sibling sweep is IMM-class
  (scattered addresses) -> Task-8 mechanical work via the imm engine.
- cookbook §47 (the slider method + the placement rule + the direction law); decision-log (R31).
2026-07-13 22:02:46 -06:00

155 lines
8.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# BFM FLEET matching progress (generated by tools/progress.py --fleet — authoritative)
# 136 binaries: main + resident + 134 location overlays. DETERMINISTIC,
# source-derived (committed src/*.c + config/dedup.us.yaml). Live byte gate: `make check-all`;
# cross-binary collapsible-byte leverage: docs/duplicates.cross.md.
# THREE progress metrics (all matter — see the labels):
FLEET fn-count byte-ident: 283329 / 343904 = 82.39% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 8104159 / 12707182 = 63.8% (shipped .text across resident+134 overlays; the decomp.dev-DISPLAY number)
FLEET distinct-code(uniq): 2204606 / 5410077 = 40.7% (51080/84996 unique fns; the DISTINCT-RE number; main EXE not sig'd)
FLEET REAL substantive : 281800 (of which dedup-shared 223275 via 1813 groups / 223725 instances)
FLEET LINKED PsyQ objs : 959
FLEET NON_MATCHING : 7 (0 in any default build — G4)
FLEET INCLUDE_ASM stubs : 60568
FLEET matchable : 343904
| binary | REAL | shared | LINKED | byte-ident | matchable | byte-ident % |
|---|---:|---:|---:|---:|---:|---:|
| main | 54 | 2 | 959 | 1055 | 2096 | 50.3% |
| resident | 123 | 0 | 0 | 125 | 146 | 85.6% |
| ov_SC01_000 | 2076 | 1669 | 0 | 2076 | 2404 | 86.4% |
| ov_SC01_001 | 2080 | 1669 | 0 | 2082 | 2468 | 84.4% |
| ov_SC01_004 | 2072 | 1660 | 0 | 2073 | 2415 | 85.8% |
| ov_SC01_005 | 2098 | 1682 | 0 | 2098 | 2505 | 83.8% |
| ov_SC01_006 | 2098 | 1682 | 0 | 2098 | 2505 | 83.8% |
| ov_SC01_008 | 2071 | 1660 | 0 | 2073 | 2427 | 85.4% |
| ov_SC01_009 | 2092 | 1661 | 0 | 2093 | 2509 | 83.4% |
| ov_SC01_074 | 2076 | 1661 | 0 | 2078 | 2426 | 85.7% |
| ov_SC01_077 | 2311 | 1624 | 0 | 2313 | 2583 | 89.5% |
| ov_SC01_080 | 2108 | 1664 | 0 | 2108 | 2514 | 83.9% |
| ov_SC01_084 | 2115 | 1664 | 0 | 2120 | 2580 | 82.2% |
| ov_SC02_000 | 2161 | 1699 | 0 | 2161 | 2685 | 80.5% |
| ov_SC02_003 | 2161 | 1699 | 0 | 2161 | 2685 | 80.5% |
| ov_SC02_004 | 2077 | 1664 | 0 | 2077 | 2402 | 86.5% |
| ov_SC02_005 | 2178 | 1660 | 0 | 2188 | 2929 | 74.7% |
| ov_SC02_011 | 2183 | 1667 | 0 | 2194 | 2895 | 75.8% |
| ov_SC02_015 | 2082 | 1666 | 0 | 2082 | 2415 | 86.2% |
| ov_SC02_016 | 2107 | 1666 | 0 | 2110 | 2547 | 82.8% |
| ov_SC02_017 | 2150 | 1666 | 0 | 2158 | 2734 | 78.9% |
| ov_SC02_021 | 2088 | 1666 | 0 | 2088 | 2438 | 85.6% |
| ov_SC02_026 | 2097 | 1664 | 0 | 2103 | 2574 | 81.7% |
| ov_SC02_027 | 2122 | 1664 | 0 | 2131 | 2694 | 79.1% |
| ov_SC02_028 | 2123 | 1664 | 0 | 2133 | 2703 | 78.9% |
| ov_SC02_031 | 2111 | 1665 | 0 | 2116 | 2564 | 82.5% |
| ov_SC02_035 | 2088 | 1664 | 0 | 2091 | 2522 | 82.9% |
| ov_SC02_039 | 2072 | 1664 | 0 | 2072 | 2417 | 85.7% |
| ov_SC02_041 | 2099 | 1664 | 0 | 2102 | 2562 | 82.0% |
| ov_SC03_001 | 2204 | 1665 | 0 | 2221 | 2871 | 77.4% |
| ov_SC03_002 | 2134 | 1669 | 0 | 2149 | 2633 | 81.6% |
| ov_SC03_003 | 2077 | 1664 | 0 | 2078 | 2424 | 85.7% |
| ov_SC03_006 | 2144 | 1670 | 0 | 2153 | 2769 | 77.8% |
| ov_SC03_007 | 2124 | 1664 | 0 | 2128 | 2625 | 81.1% |
| ov_SC03_010 | 2087 | 1664 | 0 | 2087 | 2471 | 84.5% |
| ov_SC03_011 | 2092 | 1664 | 0 | 2098 | 2529 | 83.0% |
| ov_SC03_012 | 2071 | 1664 | 0 | 2072 | 2407 | 86.1% |
| ov_SC03_013 | 2088 | 1664 | 0 | 2088 | 2494 | 83.7% |
| ov_SC03_014 | 2136 | 1689 | 0 | 2136 | 2687 | 79.5% |
| ov_SC03_015 | 2139 | 1689 | 0 | 2139 | 2687 | 79.6% |
| ov_SC03_023 | 2077 | 1664 | 0 | 2078 | 2436 | 85.3% |
| ov_SC03_024 | 2131 | 1669 | 0 | 2138 | 2643 | 80.9% |
| ov_SC03_028 | 2114 | 1664 | 0 | 2118 | 2666 | 79.4% |
| ov_SC03_029 | 2115 | 1666 | 0 | 2125 | 2646 | 80.3% |
| ov_SC03_030 | 2094 | 1668 | 0 | 2096 | 2497 | 83.9% |
| ov_SC03_031 | 2088 | 1664 | 0 | 2092 | 2516 | 83.1% |
| ov_SC03_089 | 2105 | 1664 | 0 | 2112 | 2583 | 81.8% |
| ov_SC03_090 | 2107 | 1664 | 0 | 2115 | 2627 | 80.5% |
| ov_SC03_091 | 2108 | 1664 | 0 | 2116 | 2642 | 80.1% |
| ov_SC03_092 | 2114 | 1664 | 0 | 2126 | 2589 | 82.1% |
| ov_SC03_093 | 2095 | 1664 | 0 | 2099 | 2565 | 81.8% |
| ov_SC03_094 | 2090 | 1664 | 0 | 2096 | 2578 | 81.3% |
| ov_SC03_095 | 2081 | 1664 | 0 | 2084 | 2476 | 84.2% |
| ov_SC03_096 | 2081 | 1664 | 0 | 2084 | 2467 | 84.5% |
| ov_SC03_097 | 2104 | 1664 | 0 | 2111 | 2605 | 81.0% |
| ov_SC03_098 | 2088 | 1664 | 0 | 2091 | 2543 | 82.2% |
| ov_SC03_099 | 2082 | 1664 | 0 | 2085 | 2506 | 83.2% |
| ov_SC03_100 | 2089 | 1664 | 0 | 2093 | 2541 | 82.4% |
| ov_SC03_101 | 2090 | 1664 | 0 | 2094 | 2530 | 82.8% |
| ov_SC03_102 | 2085 | 1664 | 0 | 2088 | 2494 | 83.7% |
| ov_SC03_103 | 2089 | 1666 | 0 | 2092 | 2512 | 83.3% |
| ov_SC03_104 | 2108 | 1664 | 0 | 2115 | 2618 | 80.8% |
| ov_SC03_105 | 2102 | 1664 | 0 | 2109 | 2599 | 81.1% |
| ov_SC03_108 | 2074 | 1664 | 0 | 2074 | 2445 | 84.8% |
| ov_SC03_109 | 2075 | 1664 | 0 | 2077 | 2425 | 85.6% |
| ov_SC03_110 | 2080 | 1664 | 0 | 2080 | 2470 | 84.2% |
| ov_SC03_111 | 2088 | 1664 | 0 | 2091 | 2512 | 83.2% |
| ov_SC03_112 | 2086 | 1666 | 0 | 2088 | 2528 | 82.6% |
| ov_SC03_113 | 2080 | 1666 | 0 | 2083 | 2470 | 84.3% |
| ov_SC03_114 | 2070 | 1664 | 0 | 2072 | 2416 | 85.8% |
| ov_SC03_115 | 2084 | 1664 | 0 | 2086 | 2474 | 84.3% |
| ov_SC03_116 | 2078 | 1664 | 0 | 2081 | 2440 | 85.3% |
| ov_SC03_117 | 2096 | 1664 | 0 | 2102 | 2559 | 82.1% |
| ov_SC03_118 | 2139 | 1688 | 0 | 2140 | 2687 | 79.6% |
| ov_SC03_119 | 2136 | 1688 | 0 | 2137 | 2687 | 79.5% |
| ov_SC03_121 | 2081 | 1664 | 0 | 2084 | 2461 | 84.7% |
| ov_SC03_124 | 2153 | 1660 | 0 | 2173 | 2743 | 79.2% |
| ov_SC03_125 | 2116 | 1664 | 0 | 2128 | 2590 | 82.2% |
| ov_SC03_126 | 2078 | 1666 | 0 | 2078 | 2424 | 85.7% |
| ov_SC04_000 | 2095 | 1668 | 0 | 2104 | 2548 | 82.6% |
| ov_SC04_002 | 2109 | 1664 | 0 | 2113 | 2638 | 80.1% |
| ov_SC04_003 | 2087 | 1664 | 0 | 2091 | 2504 | 83.5% |
| ov_SC04_004 | 2101 | 1664 | 0 | 2103 | 2560 | 82.1% |
| ov_SC04_005 | 2102 | 1664 | 0 | 2108 | 2614 | 80.6% |
| ov_SC04_006 | 2078 | 1664 | 0 | 2080 | 2455 | 84.7% |
| ov_SC04_007 | 2097 | 1664 | 0 | 2101 | 2571 | 81.7% |
| ov_SC04_008 | 2074 | 1664 | 0 | 2074 | 2416 | 85.8% |
| ov_SC04_009 | 2082 | 1664 | 0 | 2085 | 2442 | 85.4% |
| ov_SC04_010 | 2078 | 1664 | 0 | 2079 | 2420 | 85.9% |
| ov_SC04_011 | 2128 | 1664 | 0 | 2134 | 2805 | 76.1% |
| ov_SC04_012 | 2076 | 1664 | 0 | 2077 | 2421 | 85.8% |
| ov_SC04_015 | 2136 | 1665 | 0 | 2147 | 2613 | 82.2% |
| ov_SC04_016 | 2075 | 1664 | 0 | 2077 | 2441 | 85.1% |
| ov_SC04_018 | 2182 | 1699 | 0 | 2182 | 2859 | 76.3% |
| ov_SC04_019 | 2188 | 1699 | 0 | 2188 | 2859 | 76.5% |
| ov_SC04_020 | 2105 | 1664 | 0 | 2117 | 2569 | 82.4% |
| ov_SC04_021 | 2077 | 1666 | 0 | 2077 | 2424 | 85.7% |
| ov_SC05_000 | 2081 | 1668 | 0 | 2084 | 2423 | 86.0% |
| ov_SC05_001 | 2097 | 1664 | 0 | 2102 | 2576 | 81.6% |
| ov_SC05_002 | 2080 | 1664 | 0 | 2083 | 2444 | 85.2% |
| ov_SC05_003 | 2080 | 1664 | 0 | 2081 | 2483 | 83.8% |
| ov_SC05_004 | 2078 | 1664 | 0 | 2080 | 2466 | 84.3% |
| ov_SC05_005 | 2082 | 1664 | 0 | 2083 | 2493 | 83.6% |
| ov_SC05_006 | 2076 | 1664 | 0 | 2076 | 2431 | 85.4% |
| ov_SC05_007 | 2083 | 1664 | 0 | 2088 | 2484 | 84.1% |
| ov_SC05_008 | 2102 | 1664 | 0 | 2104 | 2545 | 82.7% |
| ov_SC05_009 | 2078 | 1664 | 0 | 2082 | 2439 | 85.4% |
| ov_SC05_010 | 2102 | 1664 | 0 | 2106 | 2590 | 81.3% |
| ov_SC05_011 | 2079 | 1664 | 0 | 2080 | 2410 | 86.3% |
| ov_SC05_017 | 2178 | 1661 | 0 | 2189 | 2844 | 77.0% |
| ov_SC05_018 | 2128 | 1664 | 0 | 2141 | 2675 | 80.0% |
| ov_SC05_019 | 2077 | 1666 | 0 | 2077 | 2424 | 85.7% |
| ov_SC06_000 | 2138 | 1673 | 0 | 2141 | 2693 | 79.5% |
| ov_SC06_006 | 2086 | 1664 | 0 | 2087 | 2513 | 83.0% |
| ov_SC06_008 | 2102 | 1666 | 0 | 2108 | 2543 | 82.9% |
| ov_SC06_010 | 2089 | 1664 | 0 | 2094 | 2519 | 83.1% |
| ov_SC06_011 | 2086 | 1664 | 0 | 2090 | 2470 | 84.6% |
| ov_SC06_013 | 2079 | 1664 | 0 | 2080 | 2426 | 85.7% |
| ov_SC06_014 | 2083 | 1664 | 0 | 2085 | 2454 | 85.0% |
| ov_SC06_015 | 2080 | 1664 | 0 | 2080 | 2422 | 85.9% |
| ov_SC06_016 | 2098 | 1664 | 0 | 2100 | 2551 | 82.3% |
| ov_SC06_018 | 2096 | 1667 | 0 | 2103 | 2667 | 78.9% |
| ov_SC06_020 | 2086 | 1666 | 0 | 2087 | 2520 | 82.8% |
| ov_SC06_022 | 2102 | 1664 | 0 | 2110 | 2644 | 79.8% |
| ov_SC06_024 | 2108 | 1664 | 0 | 2114 | 2669 | 79.2% |
| ov_SC06_025 | 2095 | 1664 | 0 | 2100 | 2574 | 81.6% |
| ov_SC06_027 | 2070 | 1664 | 0 | 2071 | 2409 | 86.0% |
| ov_SC06_029 | 2123 | 1664 | 0 | 2135 | 2664 | 80.1% |
| ov_SC06_030 | 2081 | 1664 | 0 | 2081 | 2458 | 84.7% |
| ov_SC06_032 | 2092 | 1665 | 0 | 2099 | 2660 | 78.9% |
| ov_SC06_033 | 2096 | 1665 | 0 | 2103 | 2633 | 79.9% |
| ov_SC07_000 | 2095 | 1668 | 0 | 2097 | 2523 | 83.1% |
| ov_SC07_001 | 2082 | 1664 | 0 | 2084 | 2456 | 84.9% |
| ov_SC07_002 | 2099 | 1664 | 0 | 2103 | 2581 | 81.5% |
| ov_SC07_008 | 2066 | 1664 | 0 | 2066 | 2387 | 86.6% |
| ov_SC07_009 | 2077 | 1664 | 0 | 2079 | 2431 | 85.5% |