phase-36: S104 s104_d7 — func_80181B18 banked at 0 through the whole-object gate + propagated — 3 levers→0: sub and v declared per switch case (a per-case local crossing a call takes $s0 in local-alloc, local-alloc.c:2101-2106; combine_regs ties v to the constant, :1722/:1773)

This commit is contained in:
Drew T
2026-09-10 21:27:49 -06:00
parent 14210a8e67
commit f2c25f3727
6 changed files with 262 additions and 282 deletions
+186 -186
View File
@@ -1,5 +1,5 @@
{
"head": "78d87919c",
"head": "14210a8e6",
"stamp": "15956e4a96c4",
"generated": "2026-09-10 21:26",
"aliases": [
@@ -21,207 +21,207 @@
"main": {
"objects": 85,
"identical": 85,
"seconds": 11.092999999999998,
"mean_s": 0.131
"seconds": 12.183000000000003,
"mean_s": 0.143
},
"ov_SC03_014": {
"objects": 32,
"identical": 32,
"seconds": 7.255000000000001,
"mean_s": 0.227
"seconds": 7.443000000000002,
"mean_s": 0.233
},
"ov_SC03_015": {
"objects": 32,
"identical": 32,
"seconds": 7.441000000000001,
"mean_s": 0.233
"seconds": 7.43,
"mean_s": 0.232
},
"ov_SC04_011": {
"objects": 28,
"identical": 28,
"seconds": 7.209,
"mean_s": 0.257
"seconds": 6.546,
"mean_s": 0.234
}
},
"per_object_seconds": {
"build/src/800.o": 1.128,
"build/src/800_b.o": 0.181,
"build/src/800_b_2.o": 0.524,
"build/src/800_b_o0a.o": 0.079,
"build/src/800_c.o": 0.343,
"build/src/800b2.o": 0.159,
"build/src/apicard1.o": 0.096,
"build/src/apicard2.o": 0.111,
"build/src/apicard3.o": 0.176,
"build/src/apicard4.o": 0.15,
"build/src/apicard5.o": 0.175,
"build/src/apicard6.o": 0.098,
"build/src/apicard7.o": 0.104,
"build/src/boot.o": 0.204,
"build/src/gap.o": 0.098,
"build/src/libapi1.o": 0.106,
"build/src/libapi2.o": 0.09,
"build/src/libc2_1.o": 0.103,
"build/src/libc2_2.o": 0.088,
"build/src/libcd1.o": 0.095,
"build/src/libcd2.o": 0.087,
"build/src/libetc.o": 0.08,
"build/src/libgpu.o": 0.13,
"build/src/libgpu2.o": 0.122,
"build/src/libgs1.o": 0.074,
"build/src/libgs2.o": 0.08,
"build/src/libgs3.o": 0.086,
"build/src/libgs4.o": 0.092,
"build/src/libgs5.o": 0.126,
"build/src/libgs6.o": 0.114,
"build/src/libgs7.o": 0.096,
"build/src/libgs8.o": 0.122,
"build/src/libgte1.o": 0.107,
"build/src/libgte10.o": 0.117,
"build/src/libgte11.o": 0.097,
"build/src/libgte12.o": 0.091,
"build/src/libgte13.o": 0.088,
"build/src/libgte14.o": 0.131,
"build/src/libgte15.o": 0.102,
"build/src/libgte16.o": 0.112,
"build/src/libgte17.o": 0.121,
"build/src/libgte18.o": 0.114,
"build/src/libgte19.o": 0.091,
"build/src/libgte2.o": 0.086,
"build/src/libgte20.o": 0.106,
"build/src/libgte21.o": 0.079,
"build/src/libgte22.o": 0.116,
"build/src/libgte23.o": 0.087,
"build/src/libgte24.o": 0.088,
"build/src/libgte25.o": 0.111,
"build/src/libgte26.o": 0.083,
"build/src/libgte27.o": 0.117,
"build/src/libgte28.o": 0.12,
"build/src/libgte29.o": 0.105,
"build/src/libgte3.o": 0.085,
"build/src/libgte30.o": 0.105,
"build/src/libgte4.o": 0.103,
"build/src/libgte5.o": 0.09,
"build/src/libgte6.o": 0.129,
"build/src/libgte7.o": 0.1,
"build/src/libgte8.o": 0.113,
"build/src/libgte9.o": 0.093,
"build/src/libmcrd1.o": 0.102,
"build/src/libmcrd2.o": 0.104,
"build/src/libpad1.o": 0.157,
"build/src/libpad2.o": 0.097,
"build/src/sgap.o": 0.112,
"build/src/sgap_2.o": 0.126,
"build/src/sgap_3.o": 0.09,
"build/src/sgap_4.o": 0.137,
"build/src/sgap_5.o": 0.085,
"build/src/sgap_6.o": 0.136,
"build/src/sgap_8.o": 0.124,
"build/src/snd1.o": 0.191,
"build/src/snd10.o": 0.095,
"build/src/snd11.o": 0.122,
"build/src/snd12.o": 0.081,
"build/src/snd2.o": 0.193,
"build/src/snd3.o": 0.105,
"build/src/snd4.o": 0.084,
"build/src/snd5.o": 0.12,
"build/src/snd6.o": 0.131,
"build/src/snd7.o": 0.088,
"build/src/snd8.o": 0.123,
"build/src/snd9.o": 0.086,
"build/src/ov_SC03_014/ov_SC03_014.o": 0.198,
"build/src/ov_SC03_014/ov_SC03_014_after.o": 0.822,
"build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.519,
"build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.107,
"build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.116,
"build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.191,
"build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.266,
"build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.164,
"build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.124,
"build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.148,
"build/src/800.o": 1.179,
"build/src/800_b.o": 0.131,
"build/src/800_b_2.o": 0.509,
"build/src/800_b_o0a.o": 0.145,
"build/src/800_c.o": 0.342,
"build/src/800b2.o": 0.154,
"build/src/apicard1.o": 0.104,
"build/src/apicard2.o": 0.098,
"build/src/apicard3.o": 0.117,
"build/src/apicard4.o": 0.131,
"build/src/apicard5.o": 0.091,
"build/src/apicard6.o": 0.107,
"build/src/apicard7.o": 0.098,
"build/src/boot.o": 0.112,
"build/src/gap.o": 0.12,
"build/src/libapi1.o": 0.124,
"build/src/libapi2.o": 0.104,
"build/src/libc2_1.o": 0.123,
"build/src/libc2_2.o": 0.082,
"build/src/libcd1.o": 0.164,
"build/src/libcd2.o": 0.138,
"build/src/libetc.o": 0.101,
"build/src/libgpu.o": 0.125,
"build/src/libgpu2.o": 0.102,
"build/src/libgs1.o": 0.105,
"build/src/libgs2.o": 0.132,
"build/src/libgs3.o": 0.131,
"build/src/libgs4.o": 0.145,
"build/src/libgs5.o": 0.076,
"build/src/libgs6.o": 0.166,
"build/src/libgs7.o": 0.102,
"build/src/libgs8.o": 0.119,
"build/src/libgte1.o": 0.122,
"build/src/libgte10.o": 0.108,
"build/src/libgte11.o": 0.082,
"build/src/libgte12.o": 0.116,
"build/src/libgte13.o": 0.14,
"build/src/libgte14.o": 0.086,
"build/src/libgte15.o": 0.163,
"build/src/libgte16.o": 0.105,
"build/src/libgte17.o": 0.131,
"build/src/libgte18.o": 0.11,
"build/src/libgte19.o": 0.125,
"build/src/libgte2.o": 0.104,
"build/src/libgte20.o": 0.155,
"build/src/libgte21.o": 0.124,
"build/src/libgte22.o": 0.088,
"build/src/libgte23.o": 0.139,
"build/src/libgte24.o": 0.136,
"build/src/libgte25.o": 0.13,
"build/src/libgte26.o": 0.102,
"build/src/libgte27.o": 0.091,
"build/src/libgte28.o": 0.191,
"build/src/libgte29.o": 0.178,
"build/src/libgte3.o": 0.099,
"build/src/libgte30.o": 0.138,
"build/src/libgte4.o": 0.105,
"build/src/libgte5.o": 0.187,
"build/src/libgte6.o": 0.115,
"build/src/libgte7.o": 0.118,
"build/src/libgte8.o": 0.107,
"build/src/libgte9.o": 0.115,
"build/src/libmcrd1.o": 0.178,
"build/src/libmcrd2.o": 0.121,
"build/src/libpad1.o": 0.11,
"build/src/libpad2.o": 0.179,
"build/src/sgap.o": 0.113,
"build/src/sgap_2.o": 0.114,
"build/src/sgap_3.o": 0.119,
"build/src/sgap_4.o": 0.153,
"build/src/sgap_5.o": 0.12,
"build/src/sgap_6.o": 0.102,
"build/src/sgap_8.o": 0.161,
"build/src/snd1.o": 0.132,
"build/src/snd10.o": 0.103,
"build/src/snd11.o": 0.101,
"build/src/snd12.o": 0.104,
"build/src/snd2.o": 0.109,
"build/src/snd3.o": 0.102,
"build/src/snd4.o": 0.173,
"build/src/snd5.o": 0.114,
"build/src/snd6.o": 0.177,
"build/src/snd7.o": 0.135,
"build/src/snd8.o": 0.111,
"build/src/snd9.o": 0.165,
"build/src/ov_SC03_014/ov_SC03_014.o": 0.201,
"build/src/ov_SC03_014/ov_SC03_014_after.o": 0.742,
"build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.548,
"build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.099,
"build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.111,
"build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.193,
"build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.22,
"build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.184,
"build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.135,
"build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.099,
"build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.255,
"build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.11,
"build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.229,
"build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.204,
"build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.099,
"build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.11,
"build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.173,
"build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.688,
"build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.406,
"build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.159,
"build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.339,
"build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.084,
"build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.133,
"build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.129,
"build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.355,
"build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.273,
"build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.102,
"build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.399,
"build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.101,
"build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.094,
"build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.073,
"build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.085,
"build/src/ov_SC03_015/ov_SC03_015.o": 0.228,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.736,
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.51,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.1,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.1,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.168,
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.257,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.218,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.186,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.181,
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.257,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.129,
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.275,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.157,
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.13,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.142,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.13,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.724,
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.396,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.142,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.302,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.117,
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.202,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.149,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.239,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.307,
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.108,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.408,
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.092,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.099,
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.131,
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.121,
"build/src/ov_SC04_011/ov_SC04_011.o": 0.282,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.704,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.61,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.09,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.127,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.172,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.255,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.174,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.176,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.177,
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.35,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.122,
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.321,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.165,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.172,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.139,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.164,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.632,
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.381,
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.144,
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.281,
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.09,
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.172,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.102,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.169,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.84,
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.091,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.107
"build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.149,
"build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.333,
"build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.171,
"build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.128,
"build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.089,
"build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.137,
"build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.667,
"build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.336,
"build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.149,
"build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.353,
"build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.097,
"build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.198,
"build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.189,
"build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.305,
"build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.285,
"build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.103,
"build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.561,
"build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.091,
"build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.118,
"build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.085,
"build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.112,
"build/src/ov_SC03_015/ov_SC03_015.o": 0.197,
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.816,
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.542,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.073,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.119,
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.165,
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.235,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.179,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.099,
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.1,
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.253,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.141,
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.298,
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.124,
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.087,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.102,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.142,
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.735,
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.393,
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.198,
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.314,
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.082,
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.132,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.148,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.325,
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.347,
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.088,
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.476,
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.127,
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.137,
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.127,
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.129,
"build/src/ov_SC04_011/ov_SC04_011.o": 0.189,
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.696,
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.576,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.128,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.077,
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.247,
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.232,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.201,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.141,
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.118,
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.253,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.096,
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.217,
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.124,
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.113,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.11,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.179,
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.605,
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.35,
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.143,
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.259,
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.083,
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.155,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.115,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.163,
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.779,
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.095,
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.102
},
"ok": true,
"seconds": 4.0
"seconds": 4.1
}
+4
View File
@@ -29077,3 +29077,7 @@
{"ts": "2026-09-10 21:24:41", "label": "s104_d9", "rung": "E", "calib": {"head": "9b85f4253", "stamp": "15956e4a96c4"}, "tu": "src/md_SC04_027/md_SC04_027_jr_801EA8C0.c", "fn": "func_801EAA7C", "addr": 2149493372, "aliases": null, "header": false, "includers": 0, "nhash_before": "d810e5b0e555f82a8d148b4c13f3ca42919149b4", "nhash_after": "f4ac4a29d3eb04341e83236984dae000cb8e8096", "source": "propagate:src/md_SC03_076/md_SC03_076_jr_801F218C.c:func_801F2348", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.064, "objects": ["build/src/md_SC04_027/md_SC04_027_jr_801EA8C0.o"], "before_text": "s32 func_801EAA7C(void) {\n extern s32 func_80029504(void);\n extern s32 func_80029178(s32);\n extern u8 D_801EBD50[];\n extern u8 D_801EBD90[];\n extern s32 D_801E7AAC;\n s32 x;\n s32 t;\n s32 p;\n s32 v;\n\n x = func_80029504();\n if ((u32)(x - 200) < 100) {\n t = 0;\n goto join;\n }\n if (x < 300) {\n t = 1;\n goto join;\n }\n if (func_80029178(250) & 0xFF) {\n t = 0;\n goto join;\n }\n __asm__(\"\"); // !FAKE: barrier \u2014 NEEDED DIFFERS (P36 rung B tus9)\n t = 1;\njoin:\n if (t != 0) {\n p = D_801E7AAC;\n v = (s32)&D_801EBD50;\n } else {\n p = D_801E7AAC;\n v = (s32)&D_801EBD90;\n }\n *(s32 *)(p + 4) = v;\n return v;\n}\n", "after_text": "s32 func_801EAA7C(void) {\n extern s32 func_80029504(void);\n extern s32 func_80029178(s32);\n extern u8 D_801EBD50[];\n extern u8 D_801EBD90[];\n extern s32 D_801E7AAC;\n s32 x;\n s32 t;\n s32 p;\n s32 v;\n\n x = func_80029504();\n if ((u32)(x - 200) < 100) {\n t = 0;\n } else if (x < 300 || (func_80029178(250) & 0xFF) == 0) {\n t = 1;\n } else {\n t = 0;\n }\n if (t != 0) {\n p = D_801E7AAC;\n v = (s32)&D_801EBD50;\n } else {\n p = D_801E7AAC;\n v = (s32)&D_801EBD90;\n }\n *(s32 *)(p + 4) = v;\n return v;\n}\n"}
{"ts": "2026-09-10 21:26:02", "label": "s104_d9", "rung": "E", "calib": {"head": "da9aad38c", "stamp": "15956e4a96c4"}, "tu": "src/md_SC04_027/md_SC04_027_jr_801EA8C0.c", "fn": "func_801EAB04", "addr": 2149493508, "aliases": null, "header": false, "includers": 0, "nhash_before": "645b527941862d2e65ba7e2850449e6e18140dbc", "nhash_after": "a774ae8c58a698b68d19db86484c44a1ef94dcae", "source": ".run/P36/agents/md_SC03_076__func_801F2348/scratch/c/sib_EAB04.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.088, "objects": ["build/src/md_SC04_027/md_SC04_027_jr_801EA8C0.o"], "before_text": "void func_801EAB04(void) {\n extern s32 D_801E7AAC;\n extern s32 D_801EBE24;\n extern s32 D_801EBE58;\n s32 r;\n s32 v;\n\n r = func_80029504();\n v = ((u32)(r - 0xC8) < 0x64) ? 0 :\n ((r < 0x12C) ? 1 :\n (((func_80029178(0xFA) & 0xFF) == 0) ? ({ __asm__ __volatile__(\"\" ::: \"memory\"); 1; }) : 0)); // !FAKE: barrier memory \u2014 NEEDED DIFFERS (P36 rung B tus9)\n if (v) {\n *(s32 *)(D_801E7AAC + 4) = (s32)&D_801EBE24;\n } else {\n *(s32 *)(D_801E7AAC + 4) = (s32)&D_801EBE58;\n }\n}\n", "after_text": "void func_801EAB04(void) {\n extern s32 D_801E7AAC;\n extern s32 D_801EBE24;\n extern s32 D_801EBE58;\n s32 r;\n s32 v;\n\n r = func_80029504();\n if ((u32)(r - 0xC8) < 0x64) {\n v = 0;\n } else if (r < 0x12C || (func_80029178(0xFA) & 0xFF) == 0) {\n v = 1;\n } else {\n v = 0;\n }\n if (v) {\n *(s32 *)(D_801E7AAC + 4) = (s32)&D_801EBE24;\n } else {\n *(s32 *)(D_801E7AAC + 4) = (s32)&D_801EBE58;\n }\n}\n"}
{"ts": "2026-09-10 21:26:46", "label": "s104_d9", "rung": "E", "calib": {"head": "78d87919c", "stamp": "15956e4a96c4"}, "tu": "src/md_SC03_135/md_SC03_135_jr_801E5358.c", "fn": "func_801E559C", "addr": 2149471644, "aliases": null, "header": false, "includers": 0, "nhash_before": "3909ec738c1a379b8b28872b9e8de41eaffc7bdc", "nhash_after": "af945e4d6af5c7eec65c45e847981d6f236e0d80", "source": ".run/P36/agents/md_SC03_076__func_801F2348/scratch/c/sib_E559C.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.069, "objects": ["build/src/md_SC03_135/md_SC03_135_jr_801E5358.o"], "before_text": "void func_801E559C(void) {\n extern s32 D_801E256C;\n extern u8 D_801E68BC[];\n extern u8 D_801E68F0[];\n\n s32 t;\n s32 flag;\n\n t = func_80029504();\n flag = ((u32)(t - 200) < 100u) ? 0 : ((t < 300) ? 1 : (((func_80029178(250) & 0xFF) ? 0 : ({ __asm__(\"\"); 1; })))); // !FAKE: barrier \u2014 NEEDED DIFFERS (P36 rung B tus9)\n if (flag) {\n *(s32 *)(*(s32 *)&D_801E256C + 4) = (s32)D_801E68BC;\n } else {\n *(s32 *)(*(s32 *)&D_801E256C + 4) = (s32)D_801E68F0;\n }\n}\n", "after_text": "void func_801E559C(void) {\n extern s32 D_801E256C;\n extern u8 D_801E68BC[];\n extern u8 D_801E68F0[];\n\n s32 t;\n s32 flag;\n\n t = func_80029504();\n if ((u32)(t - 200) < 100u) {\n flag = 0;\n } else if (t < 300 || (func_80029178(250) & 0xFF) == 0) {\n flag = 1;\n } else {\n flag = 0;\n }\n if (flag) {\n *(s32 *)(*(s32 *)&D_801E256C + 4) = (s32)D_801E68BC;\n } else {\n *(s32 *)(*(s32 *)&D_801E256C + 4) = (s32)D_801E68F0;\n }\n}\n"}
{"ts": "2026-09-10 21:27:23", "label": "s104_d7", "rung": "E", "calib": {"head": "14210a8e6", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC02_026/ov_SC02_026_jr_8017C180.c", "fn": "func_80181B18", "addr": 2149063448, "aliases": null, "header": false, "includers": 0, "nhash_before": "9a97ea23f7d2f14217beaebe2ff4750354085f3b", "nhash_after": "2649e1b5d8751519b152a91b01cffd33e6a3e5f7", "source": ".run/P36/agents/ov_SC02_026__func_80181B18/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.407, "objects": ["build/src/ov_SC02_026/ov_SC02_026_jr_8017C180.o"], "before_text": "void func_80181B18(s32 a0) {\n s32 state; /* $s0 */\n register s32 ent __asm__(\"$17\"); /* $s1 */ // !FAKE: pin $17 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 sub;\n s32 t;\n s32 v;\n s32 cnt;\n\n ent = a0;\n __asm__ volatile(\"\" ::: \"$4\"); // !FAKE: barrier \u2014 NEEDED DIFFERS (P36 rung B tus9)\n state = *(u16 *)(ent + 0x34);\n\n switch (state) {\n case 0:\n if (0x10000 < ((s32 (*)(s32))func_8012BE54)(ent)) {\n return;\n }\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n func_8012E88C((u8 *)ent);\n func_8012B21C((void *)ent);\n return;\n case 1:\n if ((((s32 (*)(s32))func_8012CBCC)(ent) & 0x2000) == 0) {\n return;\n }\n *(s32 *)(ent + 0x1C) = state;\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n func_8002D4C8(0x703, 0);\n /* fallthrough */\n case 2:\n sub = *(s32 *)(ent + 0x20);\n t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);\n v = (t * 0x1c00 >> 12) + 0x400;\n *(s16 *)(sub + 0x1C) = v;\n *(s16 *)(sub + 0x18) = v;\n {\n s32 w = 0x3000 - (t * 0x2800 >> 12);\n *(s16 *)(sub + 0x1A) = w;\n }\n cnt = *(s32 *)(ent + 0x1C) + 1;\n *(s32 *)(ent + 0x1C) = cnt;\n if (cnt < 9) {\n return;\n }\n *(s32 *)(ent + 0x1C) = 1;\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n return;\n case 3:\n sub = *(s32 *)(ent + 0x20);\n t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);\n {\n register s32 lo __asm__(\"$3\"); // !FAKE: pin $3 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n lo = (t << 12) >> 12;\n v = 0x2000 - lo;\n }\n *(s16 *)(sub + 0x1C) = v;\n *(s16 *)(sub + 0x18) = v;\n {\n s32 w = ((t * 0x800) >> 12) + 0x800;\n *(s16 *)(sub + 0x1A) = w;\n }\n cnt = *(s32 *)(ent + 0x1C) + 1;\n *(s32 *)(ent + 0x1C) = cnt;\n if (8 < cnt) {\n *(u16 *)(ent + 2) = 1;\n }\n return;\n }\n}\n", "after_text": "void func_80181B18(s32 ent) {\n s32 state;\n s32 t; /* shared by cases 2 and 3; sub, v and cnt are per case (P36 S104 d7) */\n\n state = *(u16 *)(ent + 0x34);\n\n switch (state) {\n case 0:\n if (0x10000 < ((s32 (*)(s32))func_8012BE54)(ent)) {\n return;\n }\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n func_8012E88C((u8 *)ent);\n func_8012B21C((void *)ent);\n return;\n case 1:\n if ((((s32 (*)(s32))func_8012CBCC)(ent) & 0x2000) == 0) {\n return;\n }\n *(s32 *)(ent + 0x1C) = state;\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n func_8002D4C8(0x703, 0);\n /* fallthrough */\n case 2: {\n s32 sub;\n s32 v;\n s32 cnt;\n\n sub = *(s32 *)(ent + 0x20);\n t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);\n v = (t * 0x1c00 >> 12) + 0x400;\n *(s16 *)(sub + 0x1C) = v;\n *(s16 *)(sub + 0x18) = v;\n *(s16 *)(sub + 0x1A) = 0x3000 - (t * 0x2800 >> 12);\n cnt = *(s32 *)(ent + 0x1C) + 1;\n *(s32 *)(ent + 0x1C) = cnt;\n if (cnt < 9) {\n return;\n }\n *(s32 *)(ent + 0x1C) = 1;\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n return;\n }\n case 3: {\n s32 sub;\n s32 v;\n s32 cnt;\n\n sub = *(s32 *)(ent + 0x20);\n t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);\n v = 0x2000 - ((t << 12) >> 12);\n *(s16 *)(sub + 0x1C) = v;\n *(s16 *)(sub + 0x18) = v;\n *(s16 *)(sub + 0x1A) = (t * 0x800 >> 12) + 0x800;\n cnt = *(s32 *)(ent + 0x1C) + 1;\n *(s32 *)(ent + 0x1C) = cnt;\n if (8 < cnt) {\n *(u16 *)(ent + 2) = 1;\n }\n return;\n }\n }\n}\n"}
{"ts": "2026-09-10 21:27:46", "label": "s104_d7", "rung": "E", "calib": {"head": "14210a8e6", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_091/ov_SC03_091_jr_8018326C.c", "fn": "func_80186F1C", "addr": 2149084956, "aliases": null, "header": false, "includers": 0, "nhash_before": "9a97ea23f7d2f14217beaebe2ff4750354085f3b", "nhash_after": "2649e1b5d8751519b152a91b01cffd33e6a3e5f7", "source": "propagate:src/ov_SC02_026/ov_SC02_026_jr_8017C180.c:func_80181B18", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.27, "objects": ["build/src/ov_SC03_091/ov_SC03_091_jr_8018326C.o"], "before_text": "void func_80186F1C(s32 a0) {\n s32 state; /* $s0 */\n register s32 ent __asm__(\"$17\"); /* $s1 */ // !FAKE: pin $17 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 sub;\n s32 t;\n s32 v;\n s32 cnt;\n\n ent = a0;\n __asm__ volatile(\"\" ::: \"$4\"); // !FAKE: barrier \u2014 NEEDED DIFFERS (P36 rung B tus9)\n state = *(u16 *)(ent + 0x34);\n\n switch (state) {\n case 0:\n if (0x10000 < ((s32 (*)(s32))func_8012BE54)(ent)) {\n return;\n }\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n func_8012E88C((u8 *)ent);\n func_8012B21C((void *)ent);\n return;\n case 1:\n if ((((s32 (*)(s32))func_8012CBCC)(ent) & 0x2000) == 0) {\n return;\n }\n *(s32 *)(ent + 0x1C) = state;\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n func_8002D4C8(0x703, 0);\n /* fallthrough */\n case 2:\n sub = *(s32 *)(ent + 0x20);\n t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);\n v = (t * 0x1c00 >> 12) + 0x400;\n *(s16 *)(sub + 0x1C) = v;\n *(s16 *)(sub + 0x18) = v;\n {\n s32 w = 0x3000 - (t * 0x2800 >> 12);\n *(s16 *)(sub + 0x1A) = w;\n }\n cnt = *(s32 *)(ent + 0x1C) + 1;\n *(s32 *)(ent + 0x1C) = cnt;\n if (cnt < 9) {\n return;\n }\n *(s32 *)(ent + 0x1C) = 1;\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n return;\n case 3:\n sub = *(s32 *)(ent + 0x20);\n t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);\n {\n register s32 lo __asm__(\"$3\"); // !FAKE: pin $3 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n lo = (t << 12) >> 12;\n v = 0x2000 - lo;\n }\n *(s16 *)(sub + 0x1C) = v;\n *(s16 *)(sub + 0x18) = v;\n {\n s32 w = ((t * 0x800) >> 12) + 0x800;\n *(s16 *)(sub + 0x1A) = w;\n }\n cnt = *(s32 *)(ent + 0x1C) + 1;\n *(s32 *)(ent + 0x1C) = cnt;\n if (8 < cnt) {\n *(u16 *)(ent + 2) = 1;\n }\n return;\n }\n}\n", "after_text": "void func_80186F1C(s32 ent) {\n s32 state;\n s32 t; /* shared by cases 2 and 3; sub, v and cnt are per case (P36 S104 d7) */\n\n state = *(u16 *)(ent + 0x34);\n\n switch (state) {\n case 0:\n if (0x10000 < ((s32 (*)(s32))func_8012BE54)(ent)) {\n return;\n }\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n func_8012E88C((u8 *)ent);\n func_8012B21C((void *)ent);\n return;\n case 1:\n if ((((s32 (*)(s32))func_8012CBCC)(ent) & 0x2000) == 0) {\n return;\n }\n *(s32 *)(ent + 0x1C) = state;\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n func_8002D4C8(0x703, 0);\n /* fallthrough */\n case 2: {\n s32 sub;\n s32 v;\n s32 cnt;\n\n sub = *(s32 *)(ent + 0x20);\n t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);\n v = (t * 0x1c00 >> 12) + 0x400;\n *(s16 *)(sub + 0x1C) = v;\n *(s16 *)(sub + 0x18) = v;\n *(s16 *)(sub + 0x1A) = 0x3000 - (t * 0x2800 >> 12);\n cnt = *(s32 *)(ent + 0x1C) + 1;\n *(s32 *)(ent + 0x1C) = cnt;\n if (cnt < 9) {\n return;\n }\n *(s32 *)(ent + 0x1C) = 1;\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n return;\n }\n case 3: {\n s32 sub;\n s32 v;\n s32 cnt;\n\n sub = *(s32 *)(ent + 0x20);\n t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);\n v = 0x2000 - ((t << 12) >> 12);\n *(s16 *)(sub + 0x1C) = v;\n *(s16 *)(sub + 0x18) = v;\n *(s16 *)(sub + 0x1A) = (t * 0x800 >> 12) + 0x800;\n cnt = *(s32 *)(ent + 0x1C) + 1;\n *(s32 *)(ent + 0x1C) = cnt;\n if (8 < cnt) {\n *(u16 *)(ent + 2) = 1;\n }\n return;\n }\n }\n}\n"}
{"ts": "2026-09-10 21:27:47", "label": "s104_d7", "rung": "E", "calib": {"head": "14210a8e6", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_090/ov_SC03_090_jr_8017CA80.c", "fn": "func_80186074", "addr": 2149081204, "aliases": null, "header": false, "includers": 0, "nhash_before": "9a97ea23f7d2f14217beaebe2ff4750354085f3b", "nhash_after": "2649e1b5d8751519b152a91b01cffd33e6a3e5f7", "source": "propagate:src/ov_SC02_026/ov_SC02_026_jr_8017C180.c:func_80181B18", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.501, "objects": ["build/src/ov_SC03_090/ov_SC03_090_jr_8017CA80.o"], "before_text": "void func_80186074(s32 a0) {\n s32 state; /* $s0 */\n register s32 ent __asm__(\"$17\"); /* $s1 */ // !FAKE: pin $17 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 sub;\n s32 t;\n s32 v;\n s32 cnt;\n\n ent = a0;\n __asm__ volatile(\"\" ::: \"$4\"); // !FAKE: barrier \u2014 NEEDED DIFFERS (P36 rung B tus9)\n state = *(u16 *)(ent + 0x34);\n\n switch (state) {\n case 0:\n if (0x10000 < ((s32 (*)(s32))func_8012BE54)(ent)) {\n return;\n }\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n func_8012E88C((u8 *)ent);\n func_8012B21C((void *)ent);\n return;\n case 1:\n if ((((s32 (*)(s32))func_8012CBCC)(ent) & 0x2000) == 0) {\n return;\n }\n *(s32 *)(ent + 0x1C) = state;\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n func_8002D4C8(0x703, 0);\n /* fallthrough */\n case 2:\n sub = *(s32 *)(ent + 0x20);\n t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);\n v = (t * 0x1c00 >> 12) + 0x400;\n *(s16 *)(sub + 0x1C) = v;\n *(s16 *)(sub + 0x18) = v;\n {\n s32 w = 0x3000 - (t * 0x2800 >> 12);\n *(s16 *)(sub + 0x1A) = w;\n }\n cnt = *(s32 *)(ent + 0x1C) + 1;\n *(s32 *)(ent + 0x1C) = cnt;\n if (cnt < 9) {\n return;\n }\n *(s32 *)(ent + 0x1C) = 1;\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n return;\n case 3:\n sub = *(s32 *)(ent + 0x20);\n t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);\n {\n register s32 lo __asm__(\"$3\"); // !FAKE: pin $3 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n lo = (t << 12) >> 12;\n v = 0x2000 - lo;\n }\n *(s16 *)(sub + 0x1C) = v;\n *(s16 *)(sub + 0x18) = v;\n {\n s32 w = ((t * 0x800) >> 12) + 0x800;\n *(s16 *)(sub + 0x1A) = w;\n }\n cnt = *(s32 *)(ent + 0x1C) + 1;\n *(s32 *)(ent + 0x1C) = cnt;\n if (8 < cnt) {\n *(u16 *)(ent + 2) = 1;\n }\n return;\n }\n}\n", "after_text": "void func_80186074(s32 ent) {\n s32 state;\n s32 t; /* shared by cases 2 and 3; sub, v and cnt are per case (P36 S104 d7) */\n\n state = *(u16 *)(ent + 0x34);\n\n switch (state) {\n case 0:\n if (0x10000 < ((s32 (*)(s32))func_8012BE54)(ent)) {\n return;\n }\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n func_8012E88C((u8 *)ent);\n func_8012B21C((void *)ent);\n return;\n case 1:\n if ((((s32 (*)(s32))func_8012CBCC)(ent) & 0x2000) == 0) {\n return;\n }\n *(s32 *)(ent + 0x1C) = state;\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n func_8002D4C8(0x703, 0);\n /* fallthrough */\n case 2: {\n s32 sub;\n s32 v;\n s32 cnt;\n\n sub = *(s32 *)(ent + 0x20);\n t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);\n v = (t * 0x1c00 >> 12) + 0x400;\n *(s16 *)(sub + 0x1C) = v;\n *(s16 *)(sub + 0x18) = v;\n *(s16 *)(sub + 0x1A) = 0x3000 - (t * 0x2800 >> 12);\n cnt = *(s32 *)(ent + 0x1C) + 1;\n *(s32 *)(ent + 0x1C) = cnt;\n if (cnt < 9) {\n return;\n }\n *(s32 *)(ent + 0x1C) = 1;\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n return;\n }\n case 3: {\n s32 sub;\n s32 v;\n s32 cnt;\n\n sub = *(s32 *)(ent + 0x20);\n t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);\n v = 0x2000 - ((t << 12) >> 12);\n *(s16 *)(sub + 0x1C) = v;\n *(s16 *)(sub + 0x18) = v;\n *(s16 *)(sub + 0x1A) = (t * 0x800 >> 12) + 0x800;\n cnt = *(s32 *)(ent + 0x1C) + 1;\n *(s32 *)(ent + 0x1C) = cnt;\n if (8 < cnt) {\n *(u16 *)(ent + 2) = 1;\n }\n return;\n }\n }\n}\n"}
{"ts": "2026-09-10 21:27:48", "label": "s104_d7", "rung": "E", "calib": {"head": "14210a8e6", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_098/ov_SC03_098_jr_8017D898.c", "fn": "func_801814FC", "addr": 2149061884, "aliases": null, "header": false, "includers": 0, "nhash_before": "9a97ea23f7d2f14217beaebe2ff4750354085f3b", "nhash_after": "2649e1b5d8751519b152a91b01cffd33e6a3e5f7", "source": "propagate:src/ov_SC02_026/ov_SC02_026_jr_8017C180.c:func_80181B18", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.346, "objects": ["build/src/ov_SC03_098/ov_SC03_098_jr_8017D898.o"], "before_text": "void func_801814FC(s32 a0) {\n s32 state; /* $s0 */\n register s32 ent __asm__(\"$17\"); /* $s1 */ // !FAKE: pin $17 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 sub;\n s32 t;\n s32 v;\n s32 cnt;\n\n ent = a0;\n __asm__ volatile(\"\" ::: \"$4\"); // !FAKE: barrier \u2014 NEEDED DIFFERS (P36 rung B tus9)\n state = *(u16 *)(ent + 0x34);\n\n switch (state) {\n case 0:\n if (0x10000 < ((s32 (*)(s32))func_8012BE54)(ent)) {\n return;\n }\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n func_8012E88C((u8 *)ent);\n func_8012B21C((void *)ent);\n return;\n case 1:\n if ((((s32 (*)(s32))func_8012CBCC)(ent) & 0x2000) == 0) {\n return;\n }\n *(s32 *)(ent + 0x1C) = state;\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n func_8002D4C8(0x703, 0);\n /* fallthrough */\n case 2:\n sub = *(s32 *)(ent + 0x20);\n t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);\n v = (t * 0x1c00 >> 12) + 0x400;\n *(s16 *)(sub + 0x1C) = v;\n *(s16 *)(sub + 0x18) = v;\n {\n s32 w = 0x3000 - (t * 0x2800 >> 12);\n *(s16 *)(sub + 0x1A) = w;\n }\n cnt = *(s32 *)(ent + 0x1C) + 1;\n *(s32 *)(ent + 0x1C) = cnt;\n if (cnt < 9) {\n return;\n }\n *(s32 *)(ent + 0x1C) = 1;\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n return;\n case 3:\n sub = *(s32 *)(ent + 0x20);\n t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);\n {\n register s32 lo __asm__(\"$3\"); // !FAKE: pin $3 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n lo = (t << 12) >> 12;\n v = 0x2000 - lo;\n }\n *(s16 *)(sub + 0x1C) = v;\n *(s16 *)(sub + 0x18) = v;\n {\n s32 w = ((t * 0x800) >> 12) + 0x800;\n *(s16 *)(sub + 0x1A) = w;\n }\n cnt = *(s32 *)(ent + 0x1C) + 1;\n *(s32 *)(ent + 0x1C) = cnt;\n if (8 < cnt) {\n *(u16 *)(ent + 2) = 1;\n }\n return;\n }\n}\n", "after_text": "void func_801814FC(s32 ent) {\n s32 state;\n s32 t; /* shared by cases 2 and 3; sub, v and cnt are per case (P36 S104 d7) */\n\n state = *(u16 *)(ent + 0x34);\n\n switch (state) {\n case 0:\n if (0x10000 < ((s32 (*)(s32))func_8012BE54)(ent)) {\n return;\n }\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n func_8012E88C((u8 *)ent);\n func_8012B21C((void *)ent);\n return;\n case 1:\n if ((((s32 (*)(s32))func_8012CBCC)(ent) & 0x2000) == 0) {\n return;\n }\n *(s32 *)(ent + 0x1C) = state;\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n func_8002D4C8(0x703, 0);\n /* fallthrough */\n case 2: {\n s32 sub;\n s32 v;\n s32 cnt;\n\n sub = *(s32 *)(ent + 0x20);\n t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);\n v = (t * 0x1c00 >> 12) + 0x400;\n *(s16 *)(sub + 0x1C) = v;\n *(s16 *)(sub + 0x18) = v;\n *(s16 *)(sub + 0x1A) = 0x3000 - (t * 0x2800 >> 12);\n cnt = *(s32 *)(ent + 0x1C) + 1;\n *(s32 *)(ent + 0x1C) = cnt;\n if (cnt < 9) {\n return;\n }\n *(s32 *)(ent + 0x1C) = 1;\n *(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;\n return;\n }\n case 3: {\n s32 sub;\n s32 v;\n s32 cnt;\n\n sub = *(s32 *)(ent + 0x20);\n t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);\n v = 0x2000 - ((t << 12) >> 12);\n *(s16 *)(sub + 0x1C) = v;\n *(s16 *)(sub + 0x18) = v;\n *(s16 *)(sub + 0x1A) = (t * 0x800 >> 12) + 0x800;\n cnt = *(s32 *)(ent + 0x1C) + 1;\n *(s32 *)(ent + 0x1C) = cnt;\n if (8 < cnt) {\n *(u16 *)(ent + 2) = 1;\n }\n return;\n }\n }\n}\n"}
+18 -24
View File
@@ -5918,16 +5918,10 @@ extern void func_8012B21C(void *a0);
extern s32 func_8004787C(s32 a0);
extern void func_8002D4C8(s32 a0, s32 a1);
void func_80181B18(s32 a0) {
s32 state; /* $s0 */
register s32 ent __asm__("$17"); /* $s1 */ // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
s32 sub;
s32 t;
s32 v;
s32 cnt;
void func_80181B18(s32 ent) {
s32 state;
s32 t; /* shared by cases 2 and 3; sub, v and cnt are per case (P36 S104 d7) */
ent = a0;
__asm__ volatile("" ::: "$4"); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
state = *(u16 *)(ent + 0x34);
switch (state) {
@@ -5947,16 +5941,17 @@ void func_80181B18(s32 a0) {
*(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;
func_8002D4C8(0x703, 0);
/* fallthrough */
case 2:
case 2: {
s32 sub;
s32 v;
s32 cnt;
sub = *(s32 *)(ent + 0x20);
t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);
v = (t * 0x1c00 >> 12) + 0x400;
*(s16 *)(sub + 0x1C) = v;
*(s16 *)(sub + 0x18) = v;
{
s32 w = 0x3000 - (t * 0x2800 >> 12);
*(s16 *)(sub + 0x1A) = w;
}
*(s16 *)(sub + 0x1A) = 0x3000 - (t * 0x2800 >> 12);
cnt = *(s32 *)(ent + 0x1C) + 1;
*(s32 *)(ent + 0x1C) = cnt;
if (cnt < 9) {
@@ -5965,20 +5960,18 @@ void func_80181B18(s32 a0) {
*(s32 *)(ent + 0x1C) = 1;
*(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;
return;
case 3:
}
case 3: {
s32 sub;
s32 v;
s32 cnt;
sub = *(s32 *)(ent + 0x20);
t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);
{
register s32 lo __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
lo = (t << 12) >> 12;
v = 0x2000 - lo;
}
v = 0x2000 - ((t << 12) >> 12);
*(s16 *)(sub + 0x1C) = v;
*(s16 *)(sub + 0x18) = v;
{
s32 w = ((t * 0x800) >> 12) + 0x800;
*(s16 *)(sub + 0x1A) = w;
}
*(s16 *)(sub + 0x1A) = (t * 0x800 >> 12) + 0x800;
cnt = *(s32 *)(ent + 0x1C) + 1;
*(s32 *)(ent + 0x1C) = cnt;
if (8 < cnt) {
@@ -5986,6 +5979,7 @@ void func_80181B18(s32 a0) {
}
return;
}
}
}
+18 -24
View File
@@ -7002,16 +7002,10 @@ extern void func_8012B21C(void *a0);
extern s32 func_8004787C(s32 a0);
extern void func_8002D4C8(s32 a0, s32 a1);
void func_80186074(s32 a0) {
s32 state; /* $s0 */
register s32 ent __asm__("$17"); /* $s1 */ // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
s32 sub;
s32 t;
s32 v;
s32 cnt;
void func_80186074(s32 ent) {
s32 state;
s32 t; /* shared by cases 2 and 3; sub, v and cnt are per case (P36 S104 d7) */
ent = a0;
__asm__ volatile("" ::: "$4"); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
state = *(u16 *)(ent + 0x34);
switch (state) {
@@ -7031,16 +7025,17 @@ void func_80186074(s32 a0) {
*(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;
func_8002D4C8(0x703, 0);
/* fallthrough */
case 2:
case 2: {
s32 sub;
s32 v;
s32 cnt;
sub = *(s32 *)(ent + 0x20);
t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);
v = (t * 0x1c00 >> 12) + 0x400;
*(s16 *)(sub + 0x1C) = v;
*(s16 *)(sub + 0x18) = v;
{
s32 w = 0x3000 - (t * 0x2800 >> 12);
*(s16 *)(sub + 0x1A) = w;
}
*(s16 *)(sub + 0x1A) = 0x3000 - (t * 0x2800 >> 12);
cnt = *(s32 *)(ent + 0x1C) + 1;
*(s32 *)(ent + 0x1C) = cnt;
if (cnt < 9) {
@@ -7049,20 +7044,18 @@ void func_80186074(s32 a0) {
*(s32 *)(ent + 0x1C) = 1;
*(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;
return;
case 3:
}
case 3: {
s32 sub;
s32 v;
s32 cnt;
sub = *(s32 *)(ent + 0x20);
t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);
{
register s32 lo __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
lo = (t << 12) >> 12;
v = 0x2000 - lo;
}
v = 0x2000 - ((t << 12) >> 12);
*(s16 *)(sub + 0x1C) = v;
*(s16 *)(sub + 0x18) = v;
{
s32 w = ((t * 0x800) >> 12) + 0x800;
*(s16 *)(sub + 0x1A) = w;
}
*(s16 *)(sub + 0x1A) = (t * 0x800 >> 12) + 0x800;
cnt = *(s32 *)(ent + 0x1C) + 1;
*(s32 *)(ent + 0x1C) = cnt;
if (8 < cnt) {
@@ -7070,6 +7063,7 @@ void func_80186074(s32 a0) {
}
return;
}
}
}
+18 -24
View File
@@ -5342,16 +5342,10 @@ extern void func_8012B21C(void *a0);
extern s32 func_8004787C(s32 a0);
extern void func_8002D4C8(s32 a0, s32 a1);
void func_80186F1C(s32 a0) {
s32 state; /* $s0 */
register s32 ent __asm__("$17"); /* $s1 */ // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
s32 sub;
s32 t;
s32 v;
s32 cnt;
void func_80186F1C(s32 ent) {
s32 state;
s32 t; /* shared by cases 2 and 3; sub, v and cnt are per case (P36 S104 d7) */
ent = a0;
__asm__ volatile("" ::: "$4"); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
state = *(u16 *)(ent + 0x34);
switch (state) {
@@ -5371,16 +5365,17 @@ void func_80186F1C(s32 a0) {
*(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;
func_8002D4C8(0x703, 0);
/* fallthrough */
case 2:
case 2: {
s32 sub;
s32 v;
s32 cnt;
sub = *(s32 *)(ent + 0x20);
t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);
v = (t * 0x1c00 >> 12) + 0x400;
*(s16 *)(sub + 0x1C) = v;
*(s16 *)(sub + 0x18) = v;
{
s32 w = 0x3000 - (t * 0x2800 >> 12);
*(s16 *)(sub + 0x1A) = w;
}
*(s16 *)(sub + 0x1A) = 0x3000 - (t * 0x2800 >> 12);
cnt = *(s32 *)(ent + 0x1C) + 1;
*(s32 *)(ent + 0x1C) = cnt;
if (cnt < 9) {
@@ -5389,20 +5384,18 @@ void func_80186F1C(s32 a0) {
*(s32 *)(ent + 0x1C) = 1;
*(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;
return;
case 3:
}
case 3: {
s32 sub;
s32 v;
s32 cnt;
sub = *(s32 *)(ent + 0x20);
t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);
{
register s32 lo __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
lo = (t << 12) >> 12;
v = 0x2000 - lo;
}
v = 0x2000 - ((t << 12) >> 12);
*(s16 *)(sub + 0x1C) = v;
*(s16 *)(sub + 0x18) = v;
{
s32 w = ((t * 0x800) >> 12) + 0x800;
*(s16 *)(sub + 0x1A) = w;
}
*(s16 *)(sub + 0x1A) = (t * 0x800 >> 12) + 0x800;
cnt = *(s32 *)(ent + 0x1C) + 1;
*(s32 *)(ent + 0x1C) = cnt;
if (8 < cnt) {
@@ -5410,6 +5403,7 @@ void func_80186F1C(s32 a0) {
}
return;
}
}
}
+18 -24
View File
@@ -4511,16 +4511,10 @@ extern void func_8012B21C(void *a0);
extern s32 func_8004787C(s32 a0);
extern void func_8002D4C8(s32 a0, s32 a1);
void func_801814FC(s32 a0) {
s32 state; /* $s0 */
register s32 ent __asm__("$17"); /* $s1 */ // !FAKE: pin $17 — NEEDED DIFFERS (P36 rung B tus9)
s32 sub;
s32 t;
s32 v;
s32 cnt;
void func_801814FC(s32 ent) {
s32 state;
s32 t; /* shared by cases 2 and 3; sub, v and cnt are per case (P36 S104 d7) */
ent = a0;
__asm__ volatile("" ::: "$4"); // !FAKE: barrier — NEEDED DIFFERS (P36 rung B tus9)
state = *(u16 *)(ent + 0x34);
switch (state) {
@@ -4540,16 +4534,17 @@ void func_801814FC(s32 a0) {
*(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;
func_8002D4C8(0x703, 0);
/* fallthrough */
case 2:
case 2: {
s32 sub;
s32 v;
s32 cnt;
sub = *(s32 *)(ent + 0x20);
t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);
v = (t * 0x1c00 >> 12) + 0x400;
*(s16 *)(sub + 0x1C) = v;
*(s16 *)(sub + 0x18) = v;
{
s32 w = 0x3000 - (t * 0x2800 >> 12);
*(s16 *)(sub + 0x1A) = w;
}
*(s16 *)(sub + 0x1A) = 0x3000 - (t * 0x2800 >> 12);
cnt = *(s32 *)(ent + 0x1C) + 1;
*(s32 *)(ent + 0x1C) = cnt;
if (cnt < 9) {
@@ -4558,20 +4553,18 @@ void func_801814FC(s32 a0) {
*(s32 *)(ent + 0x1C) = 1;
*(u16 *)(ent + 0x34) = *(u16 *)(ent + 0x34) + 1;
return;
case 3:
}
case 3: {
s32 sub;
s32 v;
s32 cnt;
sub = *(s32 *)(ent + 0x20);
t = func_8004787C(*(s32 *)(ent + 0x1C) << 7);
{
register s32 lo __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B tus9)
lo = (t << 12) >> 12;
v = 0x2000 - lo;
}
v = 0x2000 - ((t << 12) >> 12);
*(s16 *)(sub + 0x1C) = v;
*(s16 *)(sub + 0x18) = v;
{
s32 w = ((t * 0x800) >> 12) + 0x800;
*(s16 *)(sub + 0x1A) = w;
}
*(s16 *)(sub + 0x1A) = (t * 0x800 >> 12) + 0x800;
cnt = *(s32 *)(ent + 0x1C) + 1;
*(s32 *)(ent + 0x1C) = cnt;
if (8 < cnt) {
@@ -4579,6 +4572,7 @@ void func_801814FC(s32 a0) {
}
return;
}
}
}