Files
BFM-decomp/docs/readability.md
T

19 lines
1.3 KiB
Markdown

# Readability of the matched C — the Gen3 series
> **Generated by `tools/readability_progress.py --snapshot`; never typed (R75).** Companion to
> `docs/levers.md`, which counts the compiler-forcing levers. This one counts the two things that are wrong
> with the source even where no lever remains: call declarations that are FALSE, and memory read through raw
> pointer casts where the original had a struct.
| date | label | commit | lying declarations | of which `()` | of which `(void)` | in a pinned body | raw cast derefs | struct member reads |
|---|---|---|---:|---:|---:|---:|---:|---:|
| 2026-09-10 | P36 S102 — after the 16,759 free declaration repairs | `51028a78d` | 94001 | 86701 | 7300 | 461 | 414148 | 173286 |
| 2026-09-11 | P36 close | `7a7f78e25` | 98648 | 91357 | 7291 | 33 | 411850 | 177902 |
**How to read it.** A *lying declaration* is a call site whose in-scope declaration names fewer parameters
than the callee's own definition. It is not a style problem: on this processor an argument travels in a
register, so a dropped argument removes an instruction, and Phase 36 found register pins inserted to fake
exactly that instruction. *Raw cast derefs* is the struct debt — a struct cannot be recovered from the
binary, only inferred from consistent base+offset+width evidence, so this figure falls as that work lands.