type_census — 2026-09-12T07:20:21Z at da26c05d6 (src stamp ab7aba1c21c89889, tool 9870539c77); 7305 files (4121 TUs + 3181 headers), 99130 function definitions; walk 61.0 s, total 197.6 s

DEFINITIONS  7255 struct/union bodies (+0 enums): canonical header 1179 · .c file-scope 4085 · .c block-scope 1904 · per-function shared headers 63 · other headers 24 · include/ 0
             3143 distinct names · 527 distinct layouts (0 unresolved) · 206 duplicate classes covering 2823 names (tier 1 122 same-named, tier 2 84 opaque; 46 layout-twin classes / 1867 names kept apart) · 585 exact-text classes / 4460 copies · 40 VARIANT names (>1 layout) · 141 dead canonical names · 74 canonical names redefined in .c · 1781 scalar/alias typedefs · 157 forward decls
CAST SITES   deref 503016 = P 409007 + I 60666 + X 13800 + M 19543   (+ A address-of 18912; + C typed cast-member 36681) in 69497 bodies · coverage OK (raw {'P': 409007, 'I': 60666, 'X': 13800, 'A': 18912, 'C': 36681, 'M': 19543}) · refused 0 · absolute 0 · readability regex over raw text 411850
             by base: param 276860 · local 149915 · gaddr 40122 · nested 24076 · global 8860 · other 1678 · addr-of 1349 · ident 156
             by width: s4 145167 · u2 142775 · s2 131818 · u1 43174 · agg 13472 · p4 12016 · u4 11165 · s1 3429
             top bases: a0(param) 92255 · param_1(param) 81595 · arg0(param) 67704 · p(local) 18043 · p(param) 11784 · s0(local) 10368 · cach(local) 8246 · s1(local) 7137 · buf(local) 7067 · flag(local) 5453 · *(s32 *)(a0 + 0x20)(nested) 5215 · iVar2(local) 5160 · dst(local) 4874 · iVar1(local) 4836 · iVar3(local) 4693 · e(local) 3918
DECLARATIONS 99130 function definitions (1889 K&R) · 4279362 extern function declarations over 12139 names (3870 spelled >1 way) · 6415 names with >1 body text · 1078837 data externs over 55569 symbols (18442 typed >1 way) · asm-label aliases 5749 (225 names) · builtins {'memcpy': 301, 'abs': 144} · attributes {'packed': 63, 'aligned': 12}
             lying declarations 98648 over 1609 callees {'K&R-empty': 91357, 'narrow': 7291}
STRUCT MAP   18760 types explain 498896/503016 deref sites (99.2 %); unassigned 4120; 4054 types span ≥2 bodies (441056 sites), 14706 single-body; types with conflicts 729, suspect 11
             merges by evidence {'param': 36550, 'assign': 14717, 'ret-of': 3410, 'arg': 10176, 'return': 1523, 'assign&': 1051, 'arg&': 270, 'field': 9623}; vetoed {'arg-conduit': 115291, 'ret-of-multisource': 6651, 'assign-multisource': 34545, 'arg&-conduit': 14516, 'field-multisource': 7008, 'ret-of': 683, 'assign&-multisource': 12499, 'arg&-no-overlap': 3455, 'assign': 347, 'arg-no-overlap': 43018, 'assign&': 69, 'arg': 182, 'return': 12, 'field': 3220}
             Unkstruct_800B5CB8     sites  107598 bodies  11186 fields  134 size≥0x10c width-conflicts 50 sign-mixed 55 merges {'param': 9464, 'assign': 7396, 'arg': 6960, 'field': 2617} at D_800B5CB8,D_800D3888,D_80181448 ptr D_8006386C,D_80074778,D_80074780
             Unkstruct_80126B58     sites   65397 bodies  17047 fields  175 size≥0x24c width-conflicts 50 sign-mixed 60 merges {'param': 2100, 'arg': 1086, 'assign&': 106, 'field': 51} at D_80126B58 ptr D_80126B58
             Unkstruct_8018E71C     sites    6745 bodies    396 fields    7 size≥0x10 width-conflicts 0 sign-mixed 0 merges {'param': 18, 'arg': 15, 'assign&': 2} at D_8018E71C
             Unkstruct_dac960ce     sites    4464 bodies    124 fields   13 size≥0x24c width-conflicts 0 sign-mixed 2 merges {'param': 2} 
             Unkstruct_0caecd54     sites    4340 bodies    124 fields   23 size≥0xfe width-conflicts 0 sign-mixed 1 merges {'param': 2, 'assign': 1, 'return': 1} 
             Unkstruct_f8ed2b9f     sites    4061 bodies   4061 fields    1 size≥0x217 width-conflicts 0 sign-mixed 0 merges {'param': 2} 
             Unkstruct_a32b99a1     sites    3936 bodies    123 fields    8 size≥0x4b width-conflicts 0 sign-mixed 1 merges {} 
             Unkstruct_8e3dbe51     sites    3930 bodies    131 fields    5 size≥0x4c width-conflicts 0 sign-mixed 1 merges {} 
             Unkstruct_8014A1B0     sites    3778 bodies    542 fields   13 size≥0xfe width-conflicts 0 sign-mixed 1 merges {'field': 13, 'arg': 10, 'param': 10, 'return': 1} 
             Unkstruct_80128EA8     sites    3311 bodies    632 fields   18 size≥0x38 width-conflicts 0 sign-mixed 13 merges {'arg': 23, 'ret-of': 19, 'field': 7, 'param': 2} 
             Unkstruct_ade2e8a0     sites    3271 bodies    196 fields   26 size≥0xa4 width-conflicts 3 sign-mixed 9 merges {'param': 268, 'arg': 133} 
             Unkstruct_1fa9e810     sites    3144 bodies    131 fields    3 size≥0x49 width-conflicts 0 sign-mixed 0 merges {} 
GLOBAL BLOCKS 2123 runs of ≥4 adjacent scalar D_ symbols (14251 symbols): 0x800cf10c+0x34 ×29 (D_800CF10C..D_800CF13C) · 0x800a6580+0x3a ×27 (D_800A6580..D_800A65B8) · 0x801998a4+0x57 ×24 (D_801998A4..D_801998FA) · 0x80199840+0x56 ×23 (D_80199840..D_80199895) · 0x801a9608+0x50 ×22 (D_801A9608..D_801A9654) · 0x801ab708+0x54 ×21 (D_801AB708..D_801AB758) · 0x801b0df0+0x4b ×21 (D_801B0DF0..D_801B0E3A) · 0x801b83a0+0x4e ×21 (D_801B83A0..D_801B83ED)
PARKED (P36)  24 classes / 453 bodies / 691 needed sites → .run/P37/census/parked.tsv; needs {'signature': 13, 'struct': 7, '?': 4}; 22 PARK names are minimum-lever banks
CONTROLS     4/4: player_block_widths OK (D_80078E8C:4/4 D_80078EB2:2/2 D_80078EB4:2/2 D_80078EB6:2/2 D_80078EB8:2/2 [doc-disputed D_80078F08: code 4 vs actor-struct.md 2] [doc-disputed D_80078F0C: code 4 vs actor-struct.md 2]) · matrix_layouts OK (MATRIX=32 MATRIX_L48=48) · prim_layout_class OK (defs in 1192 files, 2 spellings, 1192/1192 in one layout (64 B)) · tu_conflict_D_800A651C OK (s32:1202 | OtBlk[]:9 | OtBlk_80016450[]:8 | u8[]:8 | s32[][5]:6)

duplicate-layout classes (top 12): 8B×293 names (488 defs): GTESVec, GVec8, SIn_8017E95C, SV… | 8B×202 names (0 defs): Blk8L, Blk8S16, Blk8U, Blk8_80126940… | 32B×170 names (277 defs): M32_8017F154, M32_80188094, MATRIX, MATRIX2… | 8B×153 names (341 defs): Blk8_801807DC, Blk8_8018453C, COL_8001EFE0, MoveT… | 32B×129 names (0 defs): B20, Blk20, Blk20_800CB68C, Blk20_8016DF5C… | 4B×111 names (0 defs): B4, B4_80165140, B4_8017F154, B4_80181970… | 64B×91 names (1428 defs): Prim_8016E7C8, Prim_8016E7C8_8016B6BC, Prim_8016E7C8_8016B9F8, Prim_8016E7C8_8016C2C4… | 8B×82 names (0 defs): B8, B8_17F474, B8_80165140, B8_801851A8… | 8B×63 names (211 defs): Ang_8017E95C, DVEC_80183534, SOut_8017E95C, SVEC… | 4B×60 names (68 defs): PTAG_85910, PTag, PTag293C, PTag_1412A8… | 8B×59 names (0 defs): Bc8_80180E0C, CdFileLoc, Cmd_801805C8, M8_8016B6BC… | 16B×54 names (0 defs): B16, B16_8017CDE4, B16_80183ED8, B16_801841C8…
VARIANT names (top 12): Prim×5, Rec×4, Blk8×4, St×4, S×4, V8×4, Vec8×3, Obj×3, Ent×3, Blk16×2, CdReq×2, Blk4×2

type_census: 7255 definitions (527 layouts, 206 duplicate classes, 40 variant camps) · 503016 cast sites in 69497 bodies over 8 base classes (4 forms + A, coverage OK) · 98648 lying declarations / 1609 callees · controls 4/4
struct_map: 18760 types over 18760 clusters explain 498896/503016 sites (99.2 %); 4120 unassigned sites; 729 types with conflicts
