Files
BFM-decomp/docs/worklist.md
T
Drew T 93d2851ab2 feat(phase-30): T0e2+T0f — autopsy refreshed (108 stranded MATCHes); frontier regenerated; the three populations PINNED (docs/frontier-p30.md)
- Autopsy 1,349 rows: 1,178 near / 63 nobuild / 108 match_one-MATCH (T1 fuel, 3x the S16 sample);
  0 classifier errors; second-oracle agree.
- THE -O0 PIN: 18 fam / 2,192 open members = 2,131 o0b-route-eligible + 61 SC07-only; 15/18
  exemplar-matched. The 'WALLED ~1,287' framing dissolves — T2 generalizes rollout_801457a4_o0.py
  (proven 130/130); jr+o0 composites (0x8013c414, 0x8013c0f8) probe x1 first.
- Zero-crack: 114 fam / 3,166 members / ~204k w-ins (28 substantial). Concentration top-20 24.0% /
  top-100 44.8%. Worklist fresh: 101 live / 261,789 gain-ins (stale 160/583k gone).
- T0 COMPLETE (a-f) — report point #1 = docs/frontier-p30.md
2026-07-30 16:45:09 -06:00

25 KiB
Raw Blame History

Worklist — remaining functions ranked by byte-weighted project gain

Generated by tools/worklist.py from .run/fuel_manifest.json + .run/backlog.jsonl. Ranked by byte-weighted gain gain_ins = reach × nins (fleet instructions made byte-identical once matched and propagated ×138 — the decomp.dev-comparable metric the giants move, NOT function-count). %rem = share of ALL remaining gain; cum% = running total (shows how few giants capture most of it). close = backlog match_one mismatch count (lower = nearer; blank = not yet attempted). Byte-gate (harvest_verify) is the sole arbiter (G3/P9).

Live stubs: 101 · total remaining gain: 261,789 ins (1,047,156 bytes ×-fleet)

Idiom-class summary (the groups)

class count gain_ins % of remaining
GIANT 2 50,094 19.1%
STRUCT 25 3,971 1.5%
PINS 18 61,412 23.5%
WAVE 49 125,832 48.1%
O0 3 4,196 1.6%
O1 1 4,692 1.8%
STUB 3 11,592 4.4%

Top 40 remaining gains (all classes)

# name class reach nins gain_ins %rem cum% cached region close where it stuck best draft
1 func_801412A8 GIANT 138 198 27324 10.44 10.4 Y main 110 110 mismatch (count-exact 198/198). S11 LUID(x)alloc: register-assignment permutation + prim2 store-schedule.… .run/backlog_drafts/func_801412A8.c
2 func_80178004 GIANT 138 165 22770 8.70 19.1 Y jr_801734BC 91 [Phase-27 T8 corrected] close=91 pure local-alloc regalloc wall (§52 flagship; the 'MATCH' claim was a retrac… .run/backlog_drafts/func_80178004.c
3 func_8012E014 WAVE 138 73 10074 3.85 23.0 Y jr_8012ACE0 0 none — MATCH (expected; straightforward struct-field + global-copy body) .run/backlog_drafts/func_8012E014.c
4 func_80133298 WAVE 138 65 8970 3.43 26.4 Y jr_8012ACE0 0 none — MATCH (65 ins, relocation-masked) .run/backlog_drafts/func_80133298.c
5 func_8014E5B4 PINS 138 59 8142 3.11 29.5 Y after 23 none — MATCH .run/backlog_drafts/func_8014E5B4.c
6 func_8012B77C WAVE 138 58 8004 3.06 32.6 Y jr_8012ACE0 33 gcc instruction-scheduler load-ordering + 1st-ratan2 delay-slot fill differ (s2 subtraction lands early inste… .run/backlog_drafts/func_8012B77C.c
7 func_80175820 WAVE 138 55 7590 2.90 35.5 Y jr_801734BC 4 body BYTE-EXACT (52 ins match); only residual is target's phantom 0x10 stack frame (args_size=16 from an elim… .run/backlog_drafts/func_80175820.c
8 func_801758FC WAVE 138 55 7590 2.90 38.4 Y jr_801734BC 0 none — MATCH (55 ins) .run/backlog_drafts/func_801758FC.c
9 func_80176144 WAVE 138 53 7314 2.79 41.2 Y jr_801734BC 0 none — MATCH .run/backlog_drafts/func_80176144.c
10 func_80151C54 PINS 138 52 7176 2.74 43.9 Y after 0 match_one MATCH but gate rejected (declaration/TU plumbing) .run/backlog_drafts/func_80151C54.c
11 func_8012F49C WAVE 138 51 7038 2.69 46.6 Y jr_8012ACE0 0 none — MATCH (51 ins, relocation-masked) .run/backlog_drafts/func_8012F49C.c
12 func_801376E8 WAVE 138 51 7038 2.69 49.3 Y jr_80135D20 0 none — MATCH (51 ins). 3 levers: (1) adjacent-field array u16 D_80126A14[] for A14/A16 .run/backlog_drafts/func_801376E8.c
13 func_8014C4AC WAVE 138 47 6486 2.48 51.8 Y after 0 none — MATCH .run/backlog_drafts/func_8014C4AC.c
14 func_80151B98 PINS 138 47 6486 2.48 54.2 Y after 15 PINS: 15 mismatch .run/backlog_drafts/func_80151B98.c
15 func_80163764 PINS 138 42 5796 2.21 56.5 Y jr_8015C32C 10 none — MATCH (42 ins). pins $s2/$s1/$s0/$s3 + u32 counter (sltiu) + init order s2,s3,i,p .run/backlog_drafts/func_80163764.c
16 func_80146AFC PINS 138 40 5520 2.11 58.6 Y after 13 none — MATCH .run/backlog_drafts/func_80146AFC.c
17 func_80131A34 PINS 138 37 5106 1.95 60.5 Y jr_8012ACE0 3 3-off — (a) prologue saves $ra before $s0 (target: $s0 then $ra) and (b) return-0 path reuses $a1's proven-ze… .run/backlog_drafts/func_80131A34.c
18 func_80151664 PINS 138 35 4830 1.84 62.4 Y after 0 none — MATCH (35 ins, relocation-masked); canonical externs kept, call-site casts only .run/backlog_drafts/func_80151664.c
19 func_80161A90 O1 138 34 4692 1.79 64.2 Y jr_8015C32C 26 WAVE: 26 mismatch .run/backlog_drafts/func_80161A90.c
20 func_8012EFB8 STUB 138 32 4416 1.69 65.8 Y jr_8012ACE0 11 none — MATCH (32 ins, byte-verified via objdump -dz; match_one's default objdump elides the 2 consecutive rtp… .run/backlog_drafts/func_8012EFB8.c
21 func_80147364 WAVE 138 30 4140 1.58 67.4 Y after 4 none — MATCH (30 ins). Lever: hoist &D_80126B58 into a local ptr u8 *p=&D_80126B58; so gcc .run/backlog_drafts/func_80147364.c
22 func_8016706C WAVE 138 30 4140 1.58 69.0 Y jr_8015C32C 0 none — MATCH (pending gate) .run/backlog_drafts/func_8016706C.c
23 func_801708B0 WAVE 138 30 4140 1.58 70.6 Y jr_8016AB6C 0 match_one MATCH but gate rejected (declaration/TU plumbing) .run/backlog_drafts/func_801708B0.c
24 func_80170CF0 PINS 138 30 4140 1.58 72.2 Y jr_8016AB6C 17 PINS: 17 mismatch .run/backlog_drafts/func_80170CF0.c
25 func_8012F274 WAVE 138 29 4002 1.53 73.7 Y jr_8012ACE0 0 none — MATCH (29 ins, match_one byte-clean via relocation-masked pipeline) .run/backlog_drafts/func_8012F274.c
26 func_80131CF4 WAVE 138 29 4002 1.53 75.2 Y jr_8012ACE0 15 15 mismatches cascade from a 2-instruction gap — target reloads *param_1 (lw v0,0(a0)) into v0 before the loo… .run/backlog_drafts/func_80131CF4.c
27 func_8016BA68 STUB 138 29 4002 1.53 76.8 Y jr_8016AB6C 1 STUB: 1 mismatch .run/backlog_drafts/func_8016BA68.c
28 func_8013C08C O0 138 27 3726 1.42 78.2 Y o0 26 WAVE: 26 mismatch .run/backlog_drafts/func_8013C08C.c
29 func_80168B70 WAVE 138 27 3726 1.42 79.6 Y jr_8015C32C 0 match_one MATCH but gate rejected (declaration/TU plumbing) .run/backlog_drafts/func_80168B70.c
30 func_80137614 WAVE 138 26 3588 1.37 81.0 Y jr_80135D20 0 none — MATCH (sibling func_8013767C pattern; all 3 params live across the call) .run/backlog_drafts/func_80137614.c
31 func_8016130C WAVE 138 26 3588 1.37 82.3 Y jr_8015C32C 9 WAVE: 9 mismatch .run/backlog_drafts/func_8016130C.c
32 func_8016F0E4 PINS 138 26 3588 1.37 83.7 Y jr_8016AB6C 0 match_one MATCH but gate rejected (declaration/TU plumbing) .run/backlog_drafts/func_8016F0E4.c
33 func_801733FC PINS 138 25 3450 1.32 85.0 Y jr_80171B4C 0 none — modeled on sibling func_80173460 (packed 8-byte struct copy + two s16=1 stores) .run/backlog_drafts/func_801733FC.c
34 func_8012A598 WAVE 138 24 3312 1.27 86.3 Y a 0 none — MATCH (24 ins, relocation-masked) .run/backlog_drafts/func_8012A598.c
35 func_801466F0 WAVE 138 24 3312 1.27 87.6 Y after 4 none — MATCH (struct param-spill + branch-polarity) .run/backlog_drafts/func_801466F0.c
36 func_8016191C WAVE 138 24 3312 1.27 88.8 Y jr_8015C32C 20 none — MATCH (24 ins). early-return-per-arm: each arm sets $v0 directly + j-tail merges .run/backlog_drafts/func_8016191C.c
37 func_8015C030 WAVE 138 23 3174 1.21 90.0 Y jr_8015AE2C 17 WAVE: 17 mismatch .run/backlog_drafts/func_8015C030.c
38 func_80162CCC STUB 138 23 3174 1.21 91.2 Y jr_8015C32C 0 none — MATCH expected; direct translation, psVar1 as u16* gives lhu, $s0=param_1 survives both calls .run/backlog_drafts/func_80162CCC.c
39 func_8016BF50 WAVE 138 22 3036 1.16 92.4 Y jr_8016AB6C 0 none — MATCH; short buf[3] keeps all 3 stores live + hoisting (int)(p+0x34) into a local .run/backlog_drafts/func_8016BF50.c
40 func_801718AC WAVE 138 22 3036 1.16 93.6 Y jr_8016AB6C won't compile standalone (loose-typing / missing decl) .run/backlog_drafts/func_801718AC.c

GIANT hand-decomp queue — 2 fns, 19.1% of all remaining gain

# name class reach nins gain_ins %rem cached region close where it stuck best draft
1 func_801412A8 GIANT 138 198 27324 10.44 Y main 110 110 mismatch (count-exact 198/198). S11 LUID(x)alloc: register-assignment permutation + prim2 store-schedule.… .run/backlog_drafts/func_801412A8.c
2 func_80178004 GIANT 138 165 22770 8.70 Y jr_801734BC 91 [Phase-27 T8 corrected] close=91 pure local-alloc regalloc wall (§52 flagship; the 'MATCH' claim was a retrac… .run/backlog_drafts/func_80178004.c

Idiom-group tables

STRUCT — 25 fns, 1.5% of remaining gain

# name class reach nins gain_ins %rem cached region close where it stuck best draft
1 func_8017C974 STRUCT 1 947 947 0.36 Y jr_8017AE2C
2 func_8018103C STRUCT 1 579 579 0.22 Y jr_8017AE2C
3 func_80183324 STRUCT 1 324 324 0.12 Y jr_80182268
4 func_8017FD14 STRUCT 1 249 249 0.10 Y jr_8017AE2C
5 func_80181BE4 STRUCT 1 201 201 0.08 Y jr_8017AE2C
6 func_8018308C STRUCT 1 166 166 0.06 Y jr_80182268
7 func_80180C90 STRUCT 1 160 160 0.06 Y jr_8017AE2C
8 func_80183834 STRUCT 1 135 135 0.05 Y jr_80182268
9 func_80181948 STRUCT 1 132 132 0.05 Y jr_8017AE2C
10 func_80185E68 STRUCT 1 132 132 0.05 Y jr_80182268 131 STRUCT: 131 mismatch .run/backlog_drafts/func_80185E68.c
11 func_80181F08 STRUCT 1 117 117 0.04 Y jr_8017AE2C
12 func_80182C9C STRUCT 1 101 101 0.04 Y jr_80182268 none — MATCH (101 ins). Inner-switch break-to-shared-tail must be written as .run/backlog_drafts/func_80182C9C.c
13 func_801820DC STRUCT 1 94 94 0.04 Y jr_8017AE2C 0 none — MATCH (switch on entity state at 0x34, inner jtbl on (s8)(u70>>8)) .run/backlog_drafts/func_801820DC.c
14 func_80182E7C STRUCT 1 85 85 0.03 Y jr_80182268 0 none — MATCH (85 ins, relocation-masked). Two switch-codegen levers: .run/backlog_drafts/func_80182E7C.c
15 func_8018281C STRUCT 1 76 76 0.03 Y jr_80182268 0 none — MATCH (76 ins). jtbl forced via explicit case 4/6 (count>=5 over MIPS tablejump threshold); case-5 blo… .run/backlog_drafts/func_8018281C.c
16 func_80180B64 STRUCT 1 75 75 0.03 Y jr_8017AE2C none — MATCH (75 ins, relocation-masked) .run/backlog_drafts/func_80180B64.c
17 func_80159A20 STRUCT 1 58 58 0.02 Y jr_801588CC none — MATCH. Key lever: block tail-MERGE (gcc shared bne ...,$L1 cross-jump) by making the two return-test… .run/backlog_drafts/func_80159A20.c
18 func_8015FBE0 STRUCT 1 58 58 0.02 Y jr_8015C32C 1 none — MATCH .run/backlog_drafts/func_8015FBE0.c
19 func_80183CF4 STRUCT 1 57 57 0.02 Y jr_80182268 0 none — MATCH (clean switch + jtbl; orchestrator owns jtbl/rodata migration) .run/backlog_drafts/func_80183CF4.c
20 func_80183AF0 STRUCT 1 47 47 0.02 Y jr_80182268 0 none — MATCH (mask pinned $a1/$5 + p pinned $v0/$2; switch w/ distributed func_8012C218 tail via dup calls + … .run/backlog_drafts/func_80183AF0.c
21 func_80183BAC STRUCT 1 41 41 0.02 Y jr_80182268 0 switch jump-table dispatch (jtbl_801D9420); verifying case grouping 0,1,2,5,6/3,7/4 emits the target table + … .run/backlog_drafts/func_80183BAC.c
22 func_80183C50 STRUCT 1 41 41 0.02 Y jr_80182268 0 none — MATCH (cross-jump exploit §cookbook L1543: dup func_8012C218 into case3/7 + case4 → merged jal;nop) .run/backlog_drafts/func_80183C50.c
23 func_801754A8 STRUCT 1 37 37 0.01 Y jr_801734BC 0 none — MATCH (37 ins, relocation-masked proxy) .run/backlog_drafts/func_801754A8.c
24 func_801549F8 STRUCT 1 31 31 0.01 Y jr_8015444C 0 none — MATCH (31 ins). Re-tie barrier on the index defeats gcc's pointer-giv .run/backlog_drafts/func_801549F8.c
25 func_80142A10 STRUCT 1 28 28 0.01 Y main 1 none — MATCH (pending byte-gate) .run/backlog_drafts/func_80142A10.c

PINS — 18 fns, 23.5% of remaining gain

# name class reach nins gain_ins %rem cached region close where it stuck best draft
1 func_8014E5B4 PINS 138 59 8142 3.11 Y after 23 none — MATCH .run/backlog_drafts/func_8014E5B4.c
2 func_80151C54 PINS 138 52 7176 2.74 Y after 0 match_one MATCH but gate rejected (declaration/TU plumbing) .run/backlog_drafts/func_80151C54.c
3 func_80151B98 PINS 138 47 6486 2.48 Y after 15 PINS: 15 mismatch .run/backlog_drafts/func_80151B98.c
4 func_80163764 PINS 138 42 5796 2.21 Y jr_8015C32C 10 none — MATCH (42 ins). pins $s2/$s1/$s0/$s3 + u32 counter (sltiu) + init order s2,s3,i,p .run/backlog_drafts/func_80163764.c
5 func_80146AFC PINS 138 40 5520 2.11 Y after 13 none — MATCH .run/backlog_drafts/func_80146AFC.c
6 func_80131A34 PINS 138 37 5106 1.95 Y jr_8012ACE0 3 3-off — (a) prologue saves $ra before $s0 (target: $s0 then $ra) and (b) return-0 path reuses $a1's proven-ze… .run/backlog_drafts/func_80131A34.c
7 func_80151664 PINS 138 35 4830 1.84 Y after 0 none — MATCH (35 ins, relocation-masked); canonical externs kept, call-site casts only .run/backlog_drafts/func_80151664.c
8 func_80170CF0 PINS 138 30 4140 1.58 Y jr_8016AB6C 17 PINS: 17 mismatch .run/backlog_drafts/func_80170CF0.c
9 func_8016F0E4 PINS 138 26 3588 1.37 Y jr_8016AB6C 0 match_one MATCH but gate rejected (declaration/TU plumbing) .run/backlog_drafts/func_8016F0E4.c
10 func_801733FC PINS 138 25 3450 1.32 Y jr_80171B4C 0 none — modeled on sibling func_80173460 (packed 8-byte struct copy + two s16=1 stores) .run/backlog_drafts/func_801733FC.c
11 func_80131CA8 PINS 138 19 2622 1.00 Y jr_8012ACE0 0 none — MATCH (call-through-fnptr dispatcher: explicit return 1/return 0) .run/backlog_drafts/func_80131CA8.c
12 func_80156600 PINS 138 18 2484 0.95 Y jr_80154C24 none — MATCH (simple counted scan, do-while form per Ghidra-C) .run/backlog_drafts/func_80156600.c
13 func_80161208 PINS 138 14 1932 0.74 Y jr_8015C32C 0 none — MATCH expected (param saved across call → natural $s0, no pin needed) .run/backlog_drafts/func_80161208.c
14 func_80184C0C PINS 1 48 48 0.02 Y jr_80182268 1 none — MATCH (array-of-struct %lo-fold for &D_8018AEB8[idx], stride 0x34) .run/backlog_drafts/func_80184C0C.c
15 func_80161C24 PINS 1 29 29 0.01 Y jr_8015C32C 1 none — MATCH (array-of-struct %lo-fold; even/odd u16 fields at off 0/2, stride 4) .run/backlog_drafts/func_80161C24.c
16 func_80182988 PINS 1 22 22 0.01 Y jr_80182268 0 none — MATCH (u16 store of 0xAA10 forces ori, not sign-extended addiu) .run/backlog_drafts/func_80182988.c
17 func_80157D20 PINS 1 21 21 0.01 Y jr_80154C24 0 none — MATCH expected (call, indexed u16-global load as 2nd arg, then call; param_1 saved across all three ca… .run/backlog_drafts/func_80157D20.c
18 func_80161CD0 PINS 1 20 20 0.01 Y jr_8015C32C 14 param_2 must survive the call in $s0; try plain C first then pin to $16 .run/backlog_drafts/func_80161CD0.c

WAVE — 49 fns, 48.1% of remaining gain

# name class reach nins gain_ins %rem cached region close where it stuck best draft
1 func_8012E014 WAVE 138 73 10074 3.85 Y jr_8012ACE0 0 none — MATCH (expected; straightforward struct-field + global-copy body) .run/backlog_drafts/func_8012E014.c
2 func_80133298 WAVE 138 65 8970 3.43 Y jr_8012ACE0 0 none — MATCH (65 ins, relocation-masked) .run/backlog_drafts/func_80133298.c
3 func_8012B77C WAVE 138 58 8004 3.06 Y jr_8012ACE0 33 gcc instruction-scheduler load-ordering + 1st-ratan2 delay-slot fill differ (s2 subtraction lands early inste… .run/backlog_drafts/func_8012B77C.c
4 func_80175820 WAVE 138 55 7590 2.90 Y jr_801734BC 4 body BYTE-EXACT (52 ins match); only residual is target's phantom 0x10 stack frame (args_size=16 from an elim… .run/backlog_drafts/func_80175820.c
5 func_801758FC WAVE 138 55 7590 2.90 Y jr_801734BC 0 none — MATCH (55 ins) .run/backlog_drafts/func_801758FC.c
6 func_80176144 WAVE 138 53 7314 2.79 Y jr_801734BC 0 none — MATCH .run/backlog_drafts/func_80176144.c
7 func_8012F49C WAVE 138 51 7038 2.69 Y jr_8012ACE0 0 none — MATCH (51 ins, relocation-masked) .run/backlog_drafts/func_8012F49C.c
8 func_801376E8 WAVE 138 51 7038 2.69 Y jr_80135D20 0 none — MATCH (51 ins). 3 levers: (1) adjacent-field array u16 D_80126A14[] for A14/A16 .run/backlog_drafts/func_801376E8.c
9 func_8014C4AC WAVE 138 47 6486 2.48 Y after 0 none — MATCH .run/backlog_drafts/func_8014C4AC.c
10 func_80147364 WAVE 138 30 4140 1.58 Y after 4 none — MATCH (30 ins). Lever: hoist &D_80126B58 into a local ptr u8 *p=&D_80126B58; so gcc .run/backlog_drafts/func_80147364.c
11 func_8016706C WAVE 138 30 4140 1.58 Y jr_8015C32C 0 none — MATCH (pending gate) .run/backlog_drafts/func_8016706C.c
12 func_801708B0 WAVE 138 30 4140 1.58 Y jr_8016AB6C 0 match_one MATCH but gate rejected (declaration/TU plumbing) .run/backlog_drafts/func_801708B0.c
13 func_8012F274 WAVE 138 29 4002 1.53 Y jr_8012ACE0 0 none — MATCH (29 ins, match_one byte-clean via relocation-masked pipeline) .run/backlog_drafts/func_8012F274.c
14 func_80131CF4 WAVE 138 29 4002 1.53 Y jr_8012ACE0 15 15 mismatches cascade from a 2-instruction gap — target reloads *param_1 (lw v0,0(a0)) into v0 before the loo… .run/backlog_drafts/func_80131CF4.c
15 func_80168B70 WAVE 138 27 3726 1.42 Y jr_8015C32C 0 match_one MATCH but gate rejected (declaration/TU plumbing) .run/backlog_drafts/func_80168B70.c
16 func_80137614 WAVE 138 26 3588 1.37 Y jr_80135D20 0 none — MATCH (sibling func_8013767C pattern; all 3 params live across the call) .run/backlog_drafts/func_80137614.c
17 func_8016130C WAVE 138 26 3588 1.37 Y jr_8015C32C 9 WAVE: 9 mismatch .run/backlog_drafts/func_8016130C.c
18 func_8012A598 WAVE 138 24 3312 1.27 Y a 0 none — MATCH (24 ins, relocation-masked) .run/backlog_drafts/func_8012A598.c
19 func_801466F0 WAVE 138 24 3312 1.27 Y after 4 none — MATCH (struct param-spill + branch-polarity) .run/backlog_drafts/func_801466F0.c
20 func_8016191C WAVE 138 24 3312 1.27 Y jr_8015C32C 20 none — MATCH (24 ins). early-return-per-arm: each arm sets $v0 directly + j-tail merges .run/backlog_drafts/func_8016191C.c
21 func_8015C030 WAVE 138 23 3174 1.21 Y jr_8015AE2C 17 WAVE: 17 mismatch .run/backlog_drafts/func_8015C030.c
22 func_8016BF50 WAVE 138 22 3036 1.16 Y jr_8016AB6C 0 none — MATCH; short buf[3] keeps all 3 stores live + hoisting (int)(p+0x34) into a local .run/backlog_drafts/func_8016BF50.c
23 func_801718AC WAVE 138 22 3036 1.16 Y jr_8016AB6C won't compile standalone (loose-typing / missing decl) .run/backlog_drafts/func_801718AC.c
24 func_80146A6C WAVE 138 18 2484 0.95 Y after 5 none — MATCH .run/backlog_drafts/func_80146A6C.c
25 func_8017C294 WAVE 2 246 492 0.19 Y jr_8017AE2C 230 structurally matched (246 ins, param_3 in $fp, spurious psVar7[1] giv killed via .run/backlog_drafts/func_8017C294.c
26 func_80176734 WAVE 1 371 371 0.14 Y jr_801734BC
27 func_8017F7E8 WAVE 1 177 177 0.07 Y jr_8017AE2C 11 WAVE: 11 mismatch .run/backlog_drafts/func_8017F7E8.c
28 func_80185BA4 WAVE 1 177 177 0.07 Y jr_80182268 won't compile standalone (loose-typing / missing decl)
29 func_80186078 WAVE 1 174 174 0.07 Y jr_80182268
30 func_8017FAAC WAVE 1 154 154 0.06 Y jr_8017AE2C
31 func_801865EC WAVE 1 125 125 0.05 Y jr_80182268
32 func_8017DAEC WAVE 1 113 113 0.04 Y jr_8017AE2C
33 func_80183FB8 WAVE 1 101 101 0.04 Y jr_80182268 none — MATCH (relocation-masked match_one, 101/101 ins) .run/backlog_drafts/func_80183FB8.c
34 func_80184D50 WAVE 1 98 98 0.04 Y jr_80182268 0 none — MATCH (98 ins, relocation-masked) .run/backlog_drafts/func_80184D50.c
35 func_80183DE0 WAVE 1 91 91 0.03 Y jr_80182268 testing if(!=1) layout + counter-before-pointer init order .run/backlog_drafts/func_80183DE0.c
36 func_8016EC0C WAVE 1 88 88 0.03 Y jr_8016AB6C 2 none — MATCH (88 ins). Sparse switch(uVar2) = gcc's beq-pivot+slti comparison .run/backlog_drafts/func_8016EC0C.c
37 func_8017F114 WAVE 1 75 75 0.03 Y jr_8017AE2C 1 none — MATCH .run/backlog_drafts/func_8017F114.c
38 func_801842C8 WAVE 1 62 62 0.02 Y jr_80182268 0 none — MATCH .run/backlog_drafts/func_801842C8.c
39 func_801378F0 WAVE 1 58 58 0.02 n jr_80135D20
40 func_8016E9EC WAVE 1 53 53 0.02 Y jr_8016AB6C 11 11 left — all GNU scheduler/canon tie-breaks (regs all match via pins): (a) prologue hoists addiu a1,0x1C i… .run/backlog_drafts/func_8016E9EC.c

(+9 more WAVE fns — see .run/worklist.json)

O0 — 3 fns, 1.6% of remaining gain

# name class reach nins gain_ins %rem cached region close where it stuck best draft
1 func_8013C08C O0 138 27 3726 1.42 Y o0 26 WAVE: 26 mismatch .run/backlog_drafts/func_8013C08C.c
2 func_8013B83C O0 1 272 272 0.10 Y o0
3 func_8013BD74 O0 1 198 198 0.08 Y o0 192 none — MATCH .run/backlog_drafts/func_8013BD74.c

O1 — 1 fns, 1.8% of remaining gain

# name class reach nins gain_ins %rem cached region close where it stuck best draft
1 func_80161A90 O1 138 34 4692 1.79 Y jr_8015C32C 26 WAVE: 26 mismatch .run/backlog_drafts/func_80161A90.c

STUB — 3 fns, 4.4% of remaining gain

# name class reach nins gain_ins %rem cached region close where it stuck best draft
1 func_8012EFB8 STUB 138 32 4416 1.69 Y jr_8012ACE0 11 none — MATCH (32 ins, byte-verified via objdump -dz; match_one's default objdump elides the 2 consecutive rtp… .run/backlog_drafts/func_8012EFB8.c
2 func_8016BA68 STUB 138 29 4002 1.53 Y jr_8016AB6C 1 STUB: 1 mismatch .run/backlog_drafts/func_8016BA68.c
3 func_80162CCC STUB 138 23 3174 1.21 Y jr_8015C32C 0 none — MATCH expected; direct translation, psVar1 as u16* gives lhu, $s0=param_1 survives both calls .run/backlog_drafts/func_80162CCC.c