Files
BFM-decomp/docs/readability.md
T

1.3 KiB

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.