From f37af138f944cecbdd8b558e3632485cfe2ff437 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Thu, 10 Sep 2026 23:42:44 -0600 Subject: [PATCH] =?UTF-8?q?phase-36:=20S104=20s104=5Fd33=20=E2=80=94=20fun?= =?UTF-8?q?c=5F8017DD70=20banked=20at=200=20through=20the=20whole-object?= =?UTF-8?q?=20gate=20+=20propagated=20=E2=80=94=203=20levers=20=E2=86=92?= =?UTF-8?q?=200:=20s16=20c=20and=20s16=20changed,=20the=20per-arm=20copy?= =?UTF-8?q?=20temps=20deleted,=20one=20flag=20test=20after=20the=20join=20?= =?UTF-8?q?(combine.c:7926-7942;=20global.c:594-607)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .run/P36/delever/calibration.json | 370 +++++++++++----------- .run/P36/delever/ledger.jsonl | 3 + src/ov_SC01_005/ov_SC01_005_jr_8017C340.c | 55 ++-- src/ov_SC01_008/ov_SC01_008_jr_8017BE9C.c | 55 ++-- src/ov_SC01_009/ov_SC01_009_jr_8017BE9C.c | 55 ++-- 5 files changed, 257 insertions(+), 281 deletions(-) diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index cc0af0d86..18ee2c43d 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,7 +1,7 @@ { - "head": "563b9ab14", + "head": "caba5c450", "stamp": "15956e4a96c4", - "generated": "2026-09-10 23:40", + "generated": "2026-09-10 23:41", "aliases": [ "main", "ov_SC03_014", @@ -21,207 +21,207 @@ "main": { "objects": 85, "identical": 85, - "seconds": 10.475000000000003, - "mean_s": 0.123 + "seconds": 10.677000000000007, + "mean_s": 0.126 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 6.836, - "mean_s": 0.214 + "seconds": 6.895, + "mean_s": 0.215 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 6.6480000000000015, - "mean_s": 0.208 + "seconds": 6.6789999999999985, + "mean_s": 0.209 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 6.328999999999998, - "mean_s": 0.226 + "seconds": 6.277999999999999, + "mean_s": 0.224 } }, "per_object_seconds": { - "build/src/800.o": 0.906, - "build/src/800_b.o": 0.116, - "build/src/800_b_2.o": 0.327, - "build/src/800_b_o0a.o": 0.086, - "build/src/800_c.o": 0.262, - "build/src/800b2.o": 0.12, - "build/src/apicard1.o": 0.111, - "build/src/apicard2.o": 0.123, - "build/src/apicard3.o": 0.141, - "build/src/apicard4.o": 0.136, - "build/src/apicard5.o": 0.083, - "build/src/apicard6.o": 0.122, - "build/src/apicard7.o": 0.086, - "build/src/boot.o": 0.119, - "build/src/gap.o": 0.13, - "build/src/libapi1.o": 0.122, - "build/src/libapi2.o": 0.075, - "build/src/libc2_1.o": 0.079, - "build/src/libc2_2.o": 0.072, - "build/src/libcd1.o": 0.084, - "build/src/libcd2.o": 0.09, - "build/src/libetc.o": 0.087, - "build/src/libgpu.o": 0.111, - "build/src/libgpu2.o": 0.11, - "build/src/libgs1.o": 0.084, + "build/src/800.o": 0.983, + "build/src/800_b.o": 0.151, + "build/src/800_b_2.o": 0.492, + "build/src/800_b_o0a.o": 0.141, + "build/src/800_c.o": 0.34, + "build/src/800b2.o": 0.136, + "build/src/apicard1.o": 0.134, + "build/src/apicard2.o": 0.11, + "build/src/apicard3.o": 0.098, + "build/src/apicard4.o": 0.083, + "build/src/apicard5.o": 0.111, + "build/src/apicard6.o": 0.104, + "build/src/apicard7.o": 0.083, + "build/src/boot.o": 0.154, + "build/src/gap.o": 0.099, + "build/src/libapi1.o": 0.085, + "build/src/libapi2.o": 0.084, + "build/src/libc2_1.o": 0.106, + "build/src/libc2_2.o": 0.095, + "build/src/libcd1.o": 0.152, + "build/src/libcd2.o": 0.089, + "build/src/libetc.o": 0.11, + "build/src/libgpu.o": 0.102, + "build/src/libgpu2.o": 0.122, + "build/src/libgs1.o": 0.074, "build/src/libgs2.o": 0.097, - "build/src/libgs3.o": 0.108, - "build/src/libgs4.o": 0.105, - "build/src/libgs5.o": 0.089, - "build/src/libgs6.o": 0.153, - "build/src/libgs7.o": 0.128, - "build/src/libgs8.o": 0.142, - "build/src/libgte1.o": 0.059, - "build/src/libgte10.o": 0.089, - "build/src/libgte11.o": 0.094, - "build/src/libgte12.o": 0.124, - "build/src/libgte13.o": 0.16, - "build/src/libgte14.o": 0.195, - "build/src/libgte15.o": 0.132, - "build/src/libgte16.o": 0.084, - "build/src/libgte17.o": 0.083, - "build/src/libgte18.o": 0.127, - "build/src/libgte19.o": 0.128, - "build/src/libgte2.o": 0.061, - "build/src/libgte20.o": 0.061, - "build/src/libgte21.o": 0.107, - "build/src/libgte22.o": 0.133, - "build/src/libgte23.o": 0.12, - "build/src/libgte24.o": 0.091, - "build/src/libgte25.o": 0.1, - "build/src/libgte26.o": 0.108, - "build/src/libgte27.o": 0.144, - "build/src/libgte28.o": 0.09, - "build/src/libgte29.o": 0.125, - "build/src/libgte3.o": 0.117, - "build/src/libgte30.o": 0.106, - "build/src/libgte4.o": 0.127, - "build/src/libgte5.o": 0.097, - "build/src/libgte6.o": 0.102, - "build/src/libgte7.o": 0.107, - "build/src/libgte8.o": 0.089, - "build/src/libgte9.o": 0.129, - "build/src/libmcrd1.o": 0.121, - "build/src/libmcrd2.o": 0.083, - "build/src/libpad1.o": 0.103, - "build/src/libpad2.o": 0.105, - "build/src/sgap.o": 0.097, - "build/src/sgap_2.o": 0.108, - "build/src/sgap_3.o": 0.128, - "build/src/sgap_4.o": 0.126, - "build/src/sgap_5.o": 0.135, - "build/src/sgap_6.o": 0.135, - "build/src/sgap_8.o": 0.141, - "build/src/snd1.o": 0.181, - "build/src/snd10.o": 0.121, - "build/src/snd11.o": 0.106, - "build/src/snd12.o": 0.106, - "build/src/snd2.o": 0.095, - "build/src/snd3.o": 0.081, - "build/src/snd4.o": 0.12, - "build/src/snd5.o": 0.08, - "build/src/snd6.o": 0.085, - "build/src/snd7.o": 0.093, - "build/src/snd8.o": 0.111, - "build/src/snd9.o": 0.121, - "build/src/ov_SC03_014/ov_SC03_014.o": 0.161, - "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.695, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.56, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.121, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.077, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.196, - "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.212, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.162, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.121, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.127, - "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.23, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.096, - "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.208, - "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.124, - "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.094, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.085, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.159, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.718, - "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.38, - "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.17, - "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.296, - "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.12, - "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.171, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.099, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.243, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.278, - "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.095, - "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.41, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.079, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.105, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.122, - "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.122, + "build/src/libgs3.o": 0.084, + "build/src/libgs4.o": 0.121, + "build/src/libgs5.o": 0.083, + "build/src/libgs6.o": 0.093, + "build/src/libgs7.o": 0.141, + "build/src/libgs8.o": 0.104, + "build/src/libgte1.o": 0.156, + "build/src/libgte10.o": 0.08, + "build/src/libgte11.o": 0.1, + "build/src/libgte12.o": 0.072, + "build/src/libgte13.o": 0.114, + "build/src/libgte14.o": 0.135, + "build/src/libgte15.o": 0.082, + "build/src/libgte16.o": 0.082, + "build/src/libgte17.o": 0.085, + "build/src/libgte18.o": 0.108, + "build/src/libgte19.o": 0.093, + "build/src/libgte2.o": 0.123, + "build/src/libgte20.o": 0.128, + "build/src/libgte21.o": 0.157, + "build/src/libgte22.o": 0.089, + "build/src/libgte23.o": 0.102, + "build/src/libgte24.o": 0.134, + "build/src/libgte25.o": 0.117, + "build/src/libgte26.o": 0.098, + "build/src/libgte27.o": 0.096, + "build/src/libgte28.o": 0.11, + "build/src/libgte29.o": 0.123, + "build/src/libgte3.o": 0.105, + "build/src/libgte30.o": 0.099, + "build/src/libgte4.o": 0.103, + "build/src/libgte5.o": 0.115, + "build/src/libgte6.o": 0.095, + "build/src/libgte7.o": 0.162, + "build/src/libgte8.o": 0.131, + "build/src/libgte9.o": 0.132, + "build/src/libmcrd1.o": 0.1, + "build/src/libmcrd2.o": 0.139, + "build/src/libpad1.o": 0.135, + "build/src/libpad2.o": 0.111, + "build/src/sgap.o": 0.101, + "build/src/sgap_2.o": 0.089, + "build/src/sgap_3.o": 0.137, + "build/src/sgap_4.o": 0.121, + "build/src/sgap_5.o": 0.086, + "build/src/sgap_6.o": 0.089, + "build/src/sgap_8.o": 0.089, + "build/src/snd1.o": 0.12, + "build/src/snd10.o": 0.095, + "build/src/snd11.o": 0.112, + "build/src/snd12.o": 0.109, + "build/src/snd2.o": 0.104, + "build/src/snd3.o": 0.082, + "build/src/snd4.o": 0.085, + "build/src/snd5.o": 0.076, + "build/src/snd6.o": 0.103, + "build/src/snd7.o": 0.086, + "build/src/snd8.o": 0.13, + "build/src/snd9.o": 0.091, + "build/src/ov_SC03_014/ov_SC03_014.o": 0.235, + "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.729, + "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.518, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.128, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.082, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.175, + "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.208, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.173, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.126, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.116, + "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.262, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.134, + "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.232, + "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.129, + "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.097, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.114, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.134, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.633, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.412, + "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.134, + "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.265, + "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.105, + "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.149, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.111, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.241, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.262, + "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.083, + "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.488, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.119, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.108, + "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.091, + "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.102, "build/src/ov_SC03_015/ov_SC03_015.o": 0.161, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.689, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.508, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.117, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.077, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.152, - "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.185, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.152, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.124, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.087, - "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.234, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.113, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.31, - "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.144, - "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.122, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.142, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.657, + "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.523, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.095, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.121, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.158, + "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.214, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.168, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.113, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.146, + "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.285, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.135, + "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.27, + "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.121, + "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.107, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.087, "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.126, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.659, - "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.353, - "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.133, - "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.26, - "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.104, - "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.198, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.155, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.264, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.285, - "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.078, - "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.356, - "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.079, - "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.091, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.075, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.115, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.23, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.639, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.543, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.137, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.07, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.231, - "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.253, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.177, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.143, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.102, - "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.218, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.145, - "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.284, - "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.174, - "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.145, - "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.151, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.531, - "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.335, - "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.18, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.26, - "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.106, - "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.136, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.109, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.145, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.574, - "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.074, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.098 + "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.631, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.326, + "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.119, + "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.256, + "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.135, + "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.137, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.085, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.267, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.245, + "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.111, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.417, + "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.096, + "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.119, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.124, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.124, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.167, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.674, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.509, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.131, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.08, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.195, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.214, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.188, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.151, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.139, + "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.258, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.131, + "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.249, + "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.118, + "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.097, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.088, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.146, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.557, + "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.321, + "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.132, + "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.254, + "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.125, + "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.164, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.107, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.153, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.752, + "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.079, + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.099 }, "ok": true, - "seconds": 3.8 + "seconds": 3.7 } diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index 0b78677e3..7199e4e87 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -29271,3 +29271,6 @@ {"ts": "2026-09-10 23:41:06", "label": "s104_d30", "rung": "E", "calib": {"head": "563b9ab14", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c", "fn": "func_801811DC", "addr": 2149061084, "aliases": null, "header": false, "includers": 0, "nhash_before": "2814f778781e206d51f20c56fbc093933b312dfa", "nhash_after": "8718e07765de1f1a57ea3c0704f764f649ca4cd7", "source": ".run/P36/agents/ov_SC06_010__func_80183884/scratch/copies/ov_SC06_018__func_801811DC.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.404, "objects": ["build/src/ov_SC06_018/ov_SC06_018_jr_8017C24C.o"], "before_text": "void func_801811DC(s32 a0) {\n\n extern u8 D_801AD4D0[];\n\n /* \u00a7137/K3+K5: unpinned, the a0-copy allocno (R=37/L=137, pri 13503) is\n * ranked first and first-fits $s0, pushing `tbl` to $s1 \u2014 a clean 2-reg\n * perm no source reordering can flip (pri(tbl) = 394). Pinning `tbl` to\n * $16 makes $s0 \"already dirty\" in find_reg pass 0: the a0 copy conflicts\n * with it and opens $s1, and case 3's `d` (which does NOT conflict with\n * `tbl`) grabs $s0 in pass 0 \u2014 exactly the target's assignment. */\n register s32 tbl __asm__(\"$16\"); // !FAKE: pin $16 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 ns;\n\n tbl = (s32)D_801AD4D0;\n ((void (*)(s32, s32))func_8012B1B4)(a0, tbl);\n func_8012CBCC(a0);\n\n switch (*(u16 *)(a0 + 0x34)) {\n case 0:\n if (func_801808A4(a0, 0x48) != 0 ||\n ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) >\n 0x3FFFF) {\n s32 r = func_8012B608(\n *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 8);\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r;\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF;\n ((void (*)(s32, s32))func_8012B1B4)(a0, tbl);\n } else {\n goto set1;\n }\n break;\n\n case 1:\n if (func_801808A4(a0, 0x48) == 0 &&\n ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) <=\n 0x3FFFF) {\n break;\n }\n goto st2;\n\n case 2: {\n s32 r = func_8012B608(\n *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 0x10);\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r;\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF;\n }\n func_801808A4(a0, 0x48);\n {\n s16 c = *(s16 *)(a0 + 0x102);\n if (c == 0) {\n ns = 3;\n goto setstate;\n }\n *(s16 *)(a0 + 0x102) = c - 1;\n }\n break;\n\n case 3: {\n void *p88 = (void *)(a0 + 0x88);\n s32 d = ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88);\n if (func_801808A4(a0, 0x48) == 0) {\n if (d > 0x40000) {\n s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), p88), 1);\n if (r >= -0xFF && r <= 0xFF) {\n break;\n }\n } else {\n goto set1;\n }\n }\n }\n /* fall through into st2 */\n st2:\n *(u16 *)(a0 + 0x34) = 2;\n *(u16 *)(a0 + 0x102) = (rand() & 7) + 8;\n break;\n\n set1:\n ns = 1;\n setstate:\n *(u16 *)(a0 + 0x34) = ns;\n break;\n }\n\n {\n s16 t = *(s16 *)(a0 + 0x100);\n if (t != 0) {\n *(s16 *)(a0 + 0x100) = t - 1;\n } else if (((s32(*)(s32))func_8012BE54)(a0) <= 0x24000) {\n *(s16 *)(a0 + 0x2) = 5;\n *(s16 *)(a0 + 0x100) = 0x3C;\n }\n }\n}\n", "after_text": "void func_801811DC(s32 a0) {\n\n extern u8 D_801AD4D0[];\n\n /* No pin (P36 S104 d30): case 3's two call results share ONE local\n * `ret` \u2014 flow counts 4 refs over a live length of 5 (the B608 piece's\n * copy from $v0 is folded into its compare by combine only afterwards),\n * so allocno_compare (global.c:595-607) ranks it at 16000, above the a0\n * copy's 13503. `ret` is allocated first and takes $s0; the a0 copy\n * conflicts with it and takes $s1; `tbl` does not conflict with `ret`\n * and takes $s0 in find_reg pass 0 (global.c:945-953) \u2014 exactly the\n * target's assignment. One `d` plus one `r` (refs 2, pri 4000) lose to\n * the a0 copy and give the 2-register permutation the old $16 pin hid. */\n s32 tbl;\n s32 ns;\n\n tbl = (s32)D_801AD4D0;\n ((void (*)(s32, s32))func_8012B1B4)(a0, tbl);\n func_8012CBCC(a0);\n\n switch (*(u16 *)(a0 + 0x34)) {\n case 0:\n if (func_801808A4(a0, 0x48) != 0 ||\n ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) >\n 0x3FFFF) {\n s32 r = func_8012B608(\n *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 8);\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r;\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF;\n ((void (*)(s32, s32))func_8012B1B4)(a0, tbl);\n } else {\n goto set1;\n }\n break;\n\n case 1:\n if (func_801808A4(a0, 0x48) == 0 &&\n ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) <=\n 0x3FFFF) {\n break;\n }\n goto st2;\n\n case 2: {\n s32 r = func_8012B608(\n *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 0x10);\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r;\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF;\n }\n func_801808A4(a0, 0x48);\n {\n s16 c = *(s16 *)(a0 + 0x102);\n if (c == 0) {\n ns = 3;\n goto setstate;\n }\n *(s16 *)(a0 + 0x102) = c - 1;\n }\n break;\n\n case 3: {\n void *p88 = (void *)(a0 + 0x88);\n s32 ret = ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88);\n if (func_801808A4(a0, 0x48) == 0) {\n if (ret > 0x40000) {\n ret = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), p88), 1);\n if (ret >= -0xFF && ret <= 0xFF) {\n break;\n }\n } else {\n goto set1;\n }\n }\n }\n /* fall through into st2 */\n st2:\n *(u16 *)(a0 + 0x34) = 2;\n *(u16 *)(a0 + 0x102) = (rand() & 7) + 8;\n break;\n\n set1:\n ns = 1;\n setstate:\n *(u16 *)(a0 + 0x34) = ns;\n break;\n }\n\n {\n s16 t = *(s16 *)(a0 + 0x100);\n if (t != 0) {\n *(s16 *)(a0 + 0x100) = t - 1;\n } else if (((s32(*)(s32))func_8012BE54)(a0) <= 0x24000) {\n *(s16 *)(a0 + 0x2) = 5;\n *(s16 *)(a0 + 0x100) = 0x3C;\n }\n }\n}\n"} {"ts": "2026-09-10 23:41:35", "label": "s104_d30", "rung": "E", "calib": {"head": "563b9ab14", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_033/ov_SC06_033_jr_8017C24C.c", "fn": "func_8017FC64", "addr": 2149055588, "aliases": null, "header": false, "includers": 0, "nhash_before": "2814f778781e206d51f20c56fbc093933b312dfa", "nhash_after": "8718e07765de1f1a57ea3c0704f764f649ca4cd7", "source": "propagate:src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c:func_801811DC", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.302, "objects": ["build/src/ov_SC06_033/ov_SC06_033_jr_8017C24C.o"], "before_text": "void func_8017FC64(s32 a0) {\n\n extern u8 D_801A7CF4[];\n\n /* \u00a7137/K3+K5: unpinned, the a0-copy allocno (R=37/L=137, pri 13503) is\n * ranked first and first-fits $s0, pushing `tbl` to $s1 \u2014 a clean 2-reg\n * perm no source reordering can flip (pri(tbl) = 394). Pinning `tbl` to\n * $16 makes $s0 \"already dirty\" in find_reg pass 0: the a0 copy conflicts\n * with it and opens $s1, and case 3's `d` (which does NOT conflict with\n * `tbl`) grabs $s0 in pass 0 \u2014 exactly the target's assignment. */\n register s32 tbl __asm__(\"$16\"); // !FAKE: pin $16 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 ns;\n\n tbl = (s32)D_801A7CF4;\n ((void (*)(s32, s32))func_8012B1B4)(a0, tbl);\n func_8012CBCC(a0);\n\n switch (*(u16 *)(a0 + 0x34)) {\n case 0:\n if (func_8017F32C(a0, 0x48) != 0 ||\n ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) >\n 0x3FFFF) {\n s32 r = func_8012B608(\n *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 8);\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r;\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF;\n ((void (*)(s32, s32))func_8012B1B4)(a0, tbl);\n } else {\n goto set1;\n }\n break;\n\n case 1:\n if (func_8017F32C(a0, 0x48) == 0 &&\n ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) <=\n 0x3FFFF) {\n break;\n }\n goto st2;\n\n case 2: {\n s32 r = func_8012B608(\n *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 0x10);\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r;\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF;\n }\n func_8017F32C(a0, 0x48);\n {\n s16 c = *(s16 *)(a0 + 0x102);\n if (c == 0) {\n ns = 3;\n goto setstate;\n }\n *(s16 *)(a0 + 0x102) = c - 1;\n }\n break;\n\n case 3: {\n void *p88 = (void *)(a0 + 0x88);\n s32 d = ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88);\n if (func_8017F32C(a0, 0x48) == 0) {\n if (d > 0x40000) {\n s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), p88), 1);\n if (r >= -0xFF && r <= 0xFF) {\n break;\n }\n } else {\n goto set1;\n }\n }\n }\n /* fall through into st2 */\n st2:\n *(u16 *)(a0 + 0x34) = 2;\n *(u16 *)(a0 + 0x102) = (rand() & 7) + 8;\n break;\n\n set1:\n ns = 1;\n setstate:\n *(u16 *)(a0 + 0x34) = ns;\n break;\n }\n\n {\n s16 t = *(s16 *)(a0 + 0x100);\n if (t != 0) {\n *(s16 *)(a0 + 0x100) = t - 1;\n } else if (((s32(*)(s32))func_8012BE54)(a0) <= 0x24000) {\n *(s16 *)(a0 + 0x2) = 5;\n *(s16 *)(a0 + 0x100) = 0x3C;\n }\n }\n}\n", "after_text": "void func_8017FC64(s32 a0) {\n\n extern u8 D_801A7CF4[];\n\n /* No pin (P36 S104 d30): case 3's two call results share ONE local\n * `ret` \u2014 flow counts 4 refs over a live length of 5 (the B608 piece's\n * copy from $v0 is folded into its compare by combine only afterwards),\n * so allocno_compare (global.c:595-607) ranks it at 16000, above the a0\n * copy's 13503. `ret` is allocated first and takes $s0; the a0 copy\n * conflicts with it and takes $s1; `tbl` does not conflict with `ret`\n * and takes $s0 in find_reg pass 0 (global.c:945-953) \u2014 exactly the\n * target's assignment. One `d` plus one `r` (refs 2, pri 4000) lose to\n * the a0 copy and give the 2-register permutation the old $16 pin hid. */\n s32 tbl;\n s32 ns;\n\n tbl = (s32)D_801A7CF4;\n ((void (*)(s32, s32))func_8012B1B4)(a0, tbl);\n func_8012CBCC(a0);\n\n switch (*(u16 *)(a0 + 0x34)) {\n case 0:\n if (func_8017F32C(a0, 0x48) != 0 ||\n ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) >\n 0x3FFFF) {\n s32 r = func_8012B608(\n *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 8);\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r;\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF;\n ((void (*)(s32, s32))func_8012B1B4)(a0, tbl);\n } else {\n goto set1;\n }\n break;\n\n case 1:\n if (func_8017F32C(a0, 0x48) == 0 &&\n ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) <=\n 0x3FFFF) {\n break;\n }\n goto st2;\n\n case 2: {\n s32 r = func_8012B608(\n *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 0x10);\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r;\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF;\n }\n func_8017F32C(a0, 0x48);\n {\n s16 c = *(s16 *)(a0 + 0x102);\n if (c == 0) {\n ns = 3;\n goto setstate;\n }\n *(s16 *)(a0 + 0x102) = c - 1;\n }\n break;\n\n case 3: {\n void *p88 = (void *)(a0 + 0x88);\n s32 ret = ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88);\n if (func_8017F32C(a0, 0x48) == 0) {\n if (ret > 0x40000) {\n ret = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), p88), 1);\n if (ret >= -0xFF && ret <= 0xFF) {\n break;\n }\n } else {\n goto set1;\n }\n }\n }\n /* fall through into st2 */\n st2:\n *(u16 *)(a0 + 0x34) = 2;\n *(u16 *)(a0 + 0x102) = (rand() & 7) + 8;\n break;\n\n set1:\n ns = 1;\n setstate:\n *(u16 *)(a0 + 0x34) = ns;\n break;\n }\n\n {\n s16 t = *(s16 *)(a0 + 0x100);\n if (t != 0) {\n *(s16 *)(a0 + 0x100) = t - 1;\n } else if (((s32(*)(s32))func_8012BE54)(a0) <= 0x24000) {\n *(s16 *)(a0 + 0x2) = 5;\n *(s16 *)(a0 + 0x100) = 0x3C;\n }\n }\n}\n"} {"ts": "2026-09-10 23:41:36", "label": "s104_d30", "rung": "E", "calib": {"head": "563b9ab14", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", "fn": "func_80188F1C", "addr": 2149093148, "aliases": null, "header": false, "includers": 0, "nhash_before": "2814f778781e206d51f20c56fbc093933b312dfa", "nhash_after": "8718e07765de1f1a57ea3c0704f764f649ca4cd7", "source": "propagate:src/ov_SC06_018/ov_SC06_018_jr_8017C24C.c:func_801811DC", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.496, "objects": ["build/src/ov_SC06_032/ov_SC06_032_jr_80182890.o"], "before_text": "void func_80188F1C(s32 a0) {\n\n extern u8 D_801C2CEC[];\n\n /* \u00a7137/K3+K5: unpinned, the a0-copy allocno (R=37/L=137, pri 13503) is\n * ranked first and first-fits $s0, pushing `tbl` to $s1 \u2014 a clean 2-reg\n * perm no source reordering can flip (pri(tbl) = 394). Pinning `tbl` to\n * $16 makes $s0 \"already dirty\" in find_reg pass 0: the a0 copy conflicts\n * with it and opens $s1, and case 3's `d` (which does NOT conflict with\n * `tbl`) grabs $s0 in pass 0 \u2014 exactly the target's assignment. */\n register s32 tbl __asm__(\"$16\"); // !FAKE: pin $16 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 ns;\n\n tbl = (s32)D_801C2CEC;\n ((void (*)(s32, s32))func_8012B1B4)(a0, tbl);\n func_8012CBCC(a0);\n\n switch (*(u16 *)(a0 + 0x34)) {\n case 0:\n if (func_801885E4(a0, 0x48) != 0 ||\n ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) >\n 0x3FFFF) {\n s32 r = func_8012B608(\n *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 8);\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r;\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF;\n ((void (*)(s32, s32))func_8012B1B4)(a0, tbl);\n } else {\n goto set1;\n }\n break;\n\n case 1:\n if (func_801885E4(a0, 0x48) == 0 &&\n ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) <=\n 0x3FFFF) {\n break;\n }\n goto st2;\n\n case 2: {\n s32 r = func_8012B608(\n *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 0x10);\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r;\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF;\n }\n func_801885E4(a0, 0x48);\n {\n s16 c = *(s16 *)(a0 + 0x102);\n if (c == 0) {\n ns = 3;\n goto setstate;\n }\n *(s16 *)(a0 + 0x102) = c - 1;\n }\n break;\n\n case 3: {\n void *p88 = (void *)(a0 + 0x88);\n s32 d = ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88);\n if (func_801885E4(a0, 0x48) == 0) {\n if (d > 0x40000) {\n s32 r = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), p88), 1);\n if (r >= -0xFF && r <= 0xFF) {\n break;\n }\n } else {\n goto set1;\n }\n }\n }\n /* fall through into st2 */\n st2:\n *(u16 *)(a0 + 0x34) = 2;\n *(u16 *)(a0 + 0x102) = (rand() & 7) + 8;\n break;\n\n set1:\n ns = 1;\n setstate:\n *(u16 *)(a0 + 0x34) = ns;\n break;\n }\n\n {\n s16 t = *(s16 *)(a0 + 0x100);\n if (t != 0) {\n *(s16 *)(a0 + 0x100) = t - 1;\n } else if (((s32(*)(s32))func_8012BE54)(a0) <= 0x24000) {\n *(s16 *)(a0 + 0x2) = 5;\n *(s16 *)(a0 + 0x100) = 0x3C;\n }\n }\n}\n", "after_text": "void func_80188F1C(s32 a0) {\n\n extern u8 D_801C2CEC[];\n\n /* No pin (P36 S104 d30): case 3's two call results share ONE local\n * `ret` \u2014 flow counts 4 refs over a live length of 5 (the B608 piece's\n * copy from $v0 is folded into its compare by combine only afterwards),\n * so allocno_compare (global.c:595-607) ranks it at 16000, above the a0\n * copy's 13503. `ret` is allocated first and takes $s0; the a0 copy\n * conflicts with it and takes $s1; `tbl` does not conflict with `ret`\n * and takes $s0 in find_reg pass 0 (global.c:945-953) \u2014 exactly the\n * target's assignment. One `d` plus one `r` (refs 2, pri 4000) lose to\n * the a0 copy and give the 2-register permutation the old $16 pin hid. */\n s32 tbl;\n s32 ns;\n\n tbl = (s32)D_801C2CEC;\n ((void (*)(s32, s32))func_8012B1B4)(a0, tbl);\n func_8012CBCC(a0);\n\n switch (*(u16 *)(a0 + 0x34)) {\n case 0:\n if (func_801885E4(a0, 0x48) != 0 ||\n ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) >\n 0x3FFFF) {\n s32 r = func_8012B608(\n *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 8);\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r;\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF;\n ((void (*)(s32, s32))func_8012B1B4)(a0, tbl);\n } else {\n goto set1;\n }\n break;\n\n case 1:\n if (func_801885E4(a0, 0x48) == 0 &&\n ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)(a0 + 0x88)) <=\n 0x3FFFF) {\n break;\n }\n goto st2;\n\n case 2: {\n s32 r = func_8012B608(\n *(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), (void *)(a0 + 0x88)), 0x10);\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) + r;\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) =\n *(u16 *)(*(s32 *)(a0 + 0x20) + 0x12) & 0xFFF;\n }\n func_801885E4(a0, 0x48);\n {\n s16 c = *(s16 *)(a0 + 0x102);\n if (c == 0) {\n ns = 3;\n goto setstate;\n }\n *(s16 *)(a0 + 0x102) = c - 1;\n }\n break;\n\n case 3: {\n void *p88 = (void *)(a0 + 0x88);\n s32 ret = ((s32(*)(s32, u16 *))func_8012BE98)(a0, (u16 *)p88);\n if (func_801885E4(a0, 0x48) == 0) {\n if (ret > 0x40000) {\n ret = func_8012B608(*(s16 *)(*(s32 *)(a0 + 0x20) + 0x12),\n func_8012B744((void *)(a0 + 4), p88), 1);\n if (ret >= -0xFF && ret <= 0xFF) {\n break;\n }\n } else {\n goto set1;\n }\n }\n }\n /* fall through into st2 */\n st2:\n *(u16 *)(a0 + 0x34) = 2;\n *(u16 *)(a0 + 0x102) = (rand() & 7) + 8;\n break;\n\n set1:\n ns = 1;\n setstate:\n *(u16 *)(a0 + 0x34) = ns;\n break;\n }\n\n {\n s16 t = *(s16 *)(a0 + 0x100);\n if (t != 0) {\n *(s16 *)(a0 + 0x100) = t - 1;\n } else if (((s32(*)(s32))func_8012BE54)(a0) <= 0x24000) {\n *(s16 *)(a0 + 0x2) = 5;\n *(s16 *)(a0 + 0x100) = 0x3C;\n }\n }\n}\n"} +{"ts": "2026-09-10 23:42:26", "label": "s104_d33", "rung": "E", "calib": {"head": "caba5c450", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC01_008/ov_SC01_008_jr_8017BE9C.c", "fn": "func_8017DD70", "addr": 2149047664, "aliases": null, "header": false, "includers": 0, "nhash_before": "7c147697204380ae6428642d8ce5f681445a1388", "nhash_after": "ae17fae8199b3b4a8aa424c0b0953fb02c62c0c6", "source": ".run/P36/agents/ov_SC01_008__func_8017DD70/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.121, "objects": ["build/src/ov_SC01_008/ov_SC01_008_jr_8017BE9C.o"], "before_text": "s32 func_8017DD70(void) {\n\n extern u32 D_801A3458;\n extern u16 D_8011511A;\n extern u16 D_80115120;\n extern u16 D_80115122;\n extern u8 D_80115138[];\n extern u8 D_80115140[];\n extern u8 D_80115142;\n s32 flags;\n s32 val;\n u16 *p11a;\n register s32 c __asm__(\"$19\"); // !FAKE: pin $19 \u2014 NEEDED DIFFERS (P36 rung B tus8)\n s16 ret;\n s32 changed;\n u8 *pb;\n u8 *pe;\n s32 d;\n s32 nz;\n s32 c3;\n s32 off;\n\n changed = 0;\n flags = func_80014ED4(0);\n if ((flags & 0xFFFF) != 0) {\n D_801A3458 = 0;\n }\n val = func_80015018(0);\n p11a = &D_8011511A;\n ret = func_8014168C(*(s16 *)p11a);\n c = D_80115138[*p11a];\n\n if ((flags & 0x40) != 0) {\n ret = func_8017EC68(c, ret);\n nz = ret != 0;\n return ret & -nz;\n }\n\n if ((flags & 0x10) != 0) {\n __asm__ (\"\" : \"=r\"(c3) : \"0\"(c)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B tus8)\n if (c3 < 6) {\n if (c3 != 1) {\n return -1;\n }\n } else {\n func_8002D4C8(0x473, 0);\n *p11a = *p11a - 1;\n }\n return 0;\n }\n\n off = (s32)(*p11a) * 2;\n {\n u8 *base1 = (u8 *)p11a + 0x2E;\n pb = base1 + off;\n }\n {\n u8 *base2 = (u8 *)p11a + 0x3E;\n pe = base2 + off;\n }\n\n if ((val & 0xFFFF) != 0) {\n if ((val & 0xFFFF) == D_80115120) {\n D_80115122 = D_80115122 - 1;\n if (D_80115122 == 0) {\n flags = val & 0xF000;\n D_80115122 = 3;\n }\n } else {\n D_80115120 = val;\n D_80115122 = 8;\n }\n } else {\n D_80115120 = 0;\n D_80115122 = 0xC;\n }\n\n if ((flags & 0x1000) != 0) {\n u8 b2 = *pb;\n *pb = b2 - 1;\n changed = 1;\n if ((u8)(b2 - 1) > 0x7F) {\n if (c < 6) {\n *pb = *pe - 1;\n } else {\n *pb = 0;\n changed = 0;\n }\n }\n }\n\n if ((flags & 0x4000) != 0) {\n u8 b2 = *pb;\n u8 b4 = b2 + 1;\n *pb = b4;\n changed = 1;\n if (*pe <= b4) {\n if (c < 6) {\n *pb = 0;\n } else {\n *pb = b2;\n changed = 0;\n }\n }\n }\n\n {\n u8 b2 = *pb;\n s32 result;\n d = (s16)((s8)b2 - (s8)D_80115140[D_8011511A]);\n if (d >= 6) {\n D_80115140[D_8011511A] = b2 - 5;\n result = changed;\n } else {\n if (d < 0) {\n D_80115140[D_8011511A] = b2;\n }\n result = changed;\n }\n\n if (result) {\n func_8002D4C8(0x45A, 0);\n if (D_8011511A != 1) {\n return 0;\n }\n __asm__ (\"\" : \"=r\"(c3) : \"0\"(c)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B tus8)\n if (c3 == 9) {\n D_80115142 = 0;\n }\n func_8017D890();\n }\n }\n\n return 0;\n}\n", "after_text": "s32 func_8017DD70(void) {\n\n extern u32 D_801A3458;\n extern u16 D_8011511A;\n extern u16 D_80115120;\n extern u16 D_80115122;\n extern u8 D_80115138[];\n extern u8 D_80115140[];\n extern u8 D_80115142;\n s32 flags;\n s32 val;\n u16 *p11a;\n s16 c;\n s16 ret;\n s16 changed;\n u8 *pb;\n u8 *pe;\n s32 d;\n s32 nz;\n s32 off;\n\n changed = 0;\n flags = func_80014ED4(0);\n if ((u16)flags != 0) {\n D_801A3458 = 0;\n }\n val = func_80015018(0);\n p11a = &D_8011511A;\n ret = func_8014168C(*(s16 *)p11a);\n c = D_80115138[*p11a];\n\n if (flags & 0x40) {\n ret = func_8017EC68(c, ret);\n nz = ret != 0;\n return ret & -nz;\n }\n\n if (flags & 0x10) {\n if (c < 6) {\n if (c != 1) {\n return -1;\n }\n } else {\n func_8002D4C8(0x473, 0);\n *p11a = *p11a - 1;\n }\n return 0;\n }\n\n off = (s32)(*p11a) * 2;\n {\n u8 *base1 = (u8 *)p11a + 0x2E;\n pb = base1 + off;\n }\n {\n u8 *base2 = (u8 *)p11a + 0x3E;\n pe = base2 + off;\n }\n\n if ((u16)val != 0) {\n if ((u16)val == D_80115120) {\n if (--D_80115122 == 0) {\n flags = val & 0xF000;\n D_80115122 = 3;\n }\n } else {\n D_80115120 = val;\n D_80115122 = 8;\n }\n } else {\n D_80115120 = 0;\n D_80115122 = 0xC;\n }\n\n if (flags & 0x1000) {\n u8 b2 = *pb;\n *pb = b2 - 1;\n changed = 1;\n if ((u8)(b2 - 1) > 0x7F) {\n if (c < 6) {\n *pb = *pe - 1;\n } else {\n *pb = 0;\n changed = 0;\n }\n }\n }\n\n if (flags & 0x4000) {\n u8 b2 = *pb;\n u8 b4 = b2 + 1;\n *pb = b4;\n changed = 1;\n if (*pe <= b4) {\n if (c < 6) {\n *pb = 0;\n } else {\n *pb = b2;\n changed = 0;\n }\n }\n }\n\n {\n u8 b2 = *pb;\n d = (s16)((s8)b2 - (s8)D_80115140[D_8011511A]);\n if (d >= 6) {\n D_80115140[D_8011511A] = b2 - 5;\n } else if (d < 0) {\n D_80115140[D_8011511A] = b2;\n }\n }\n\n if (changed != 0) {\n func_8002D4C8(0x45A, 0);\n if (D_8011511A != 1) {\n return 0;\n }\n if (c == 9) {\n D_80115142 = 0;\n }\n func_8017D890();\n }\n\n return 0;\n}\n"} +{"ts": "2026-09-10 23:42:42", "label": "s104_d33", "rung": "E", "calib": {"head": "caba5c450", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC01_009/ov_SC01_009_jr_8017BE9C.c", "fn": "func_8017DC10", "addr": 2149047312, "aliases": null, "header": false, "includers": 0, "nhash_before": "7c147697204380ae6428642d8ce5f681445a1388", "nhash_after": "ae17fae8199b3b4a8aa424c0b0953fb02c62c0c6", "source": "propagate:src/ov_SC01_008/ov_SC01_008_jr_8017BE9C.c:func_8017DD70", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.133, "objects": ["build/src/ov_SC01_009/ov_SC01_009_jr_8017BE9C.o"], "before_text": "s32 func_8017DC10(void) {\n\n extern u32 D_801F32B8;\n extern u16 D_8011511A;\n extern u16 D_80115120;\n extern u16 D_80115122;\n extern u8 D_80115138[];\n extern u8 D_80115140[];\n extern u8 D_80115142;\n s32 flags;\n s32 val;\n u16 *p11a;\n register s32 c __asm__(\"$19\"); // !FAKE: pin $19 \u2014 NEEDED DIFFERS (P36 rung B tus8)\n s16 ret;\n s32 changed;\n u8 *pb;\n u8 *pe;\n s32 d;\n s32 nz;\n s32 c3;\n s32 off;\n\n changed = 0;\n flags = func_80014ED4(0);\n if ((flags & 0xFFFF) != 0) {\n D_801F32B8 = 0;\n }\n val = func_80015018(0);\n p11a = &D_8011511A;\n ret = func_8014168C(*(s16 *)p11a);\n c = D_80115138[*p11a];\n\n if ((flags & 0x40) != 0) {\n ret = func_8017EB08(c, ret);\n nz = ret != 0;\n return ret & -nz;\n }\n\n if ((flags & 0x10) != 0) {\n __asm__ (\"\" : \"=r\"(c3) : \"0\"(c)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B tus8)\n if (c3 < 6) {\n if (c3 != 1) {\n return -1;\n }\n } else {\n func_8002D4C8(0x473, 0);\n *p11a = *p11a - 1;\n }\n return 0;\n }\n\n off = (s32)(*p11a) * 2;\n {\n u8 *base1 = (u8 *)p11a + 0x2E;\n pb = base1 + off;\n }\n {\n u8 *base2 = (u8 *)p11a + 0x3E;\n pe = base2 + off;\n }\n\n if ((val & 0xFFFF) != 0) {\n if ((val & 0xFFFF) == D_80115120) {\n D_80115122 = D_80115122 - 1;\n if (D_80115122 == 0) {\n flags = val & 0xF000;\n D_80115122 = 3;\n }\n } else {\n D_80115120 = val;\n D_80115122 = 8;\n }\n } else {\n D_80115120 = 0;\n D_80115122 = 0xC;\n }\n\n if ((flags & 0x1000) != 0) {\n u8 b2 = *pb;\n *pb = b2 - 1;\n changed = 1;\n if ((u8)(b2 - 1) > 0x7F) {\n if (c < 6) {\n *pb = *pe - 1;\n } else {\n *pb = 0;\n changed = 0;\n }\n }\n }\n\n if ((flags & 0x4000) != 0) {\n u8 b2 = *pb;\n u8 b4 = b2 + 1;\n *pb = b4;\n changed = 1;\n if (*pe <= b4) {\n if (c < 6) {\n *pb = 0;\n } else {\n *pb = b2;\n changed = 0;\n }\n }\n }\n\n {\n u8 b2 = *pb;\n s32 result;\n d = (s16)((s8)b2 - (s8)D_80115140[D_8011511A]);\n if (d >= 6) {\n D_80115140[D_8011511A] = b2 - 5;\n result = changed;\n } else {\n if (d < 0) {\n D_80115140[D_8011511A] = b2;\n }\n result = changed;\n }\n\n if (result) {\n func_8002D4C8(0x45A, 0);\n if (D_8011511A != 1) {\n return 0;\n }\n __asm__ (\"\" : \"=r\"(c3) : \"0\"(c)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B tus8)\n if (c3 == 9) {\n D_80115142 = 0;\n }\n func_8017D730();\n }\n }\n\n return 0;\n}\n", "after_text": "s32 func_8017DC10(void) {\n\n extern u32 D_801F32B8;\n extern u16 D_8011511A;\n extern u16 D_80115120;\n extern u16 D_80115122;\n extern u8 D_80115138[];\n extern u8 D_80115140[];\n extern u8 D_80115142;\n s32 flags;\n s32 val;\n u16 *p11a;\n s16 c;\n s16 ret;\n s16 changed;\n u8 *pb;\n u8 *pe;\n s32 d;\n s32 nz;\n s32 off;\n\n changed = 0;\n flags = func_80014ED4(0);\n if ((u16)flags != 0) {\n D_801F32B8 = 0;\n }\n val = func_80015018(0);\n p11a = &D_8011511A;\n ret = func_8014168C(*(s16 *)p11a);\n c = D_80115138[*p11a];\n\n if (flags & 0x40) {\n ret = func_8017EB08(c, ret);\n nz = ret != 0;\n return ret & -nz;\n }\n\n if (flags & 0x10) {\n if (c < 6) {\n if (c != 1) {\n return -1;\n }\n } else {\n func_8002D4C8(0x473, 0);\n *p11a = *p11a - 1;\n }\n return 0;\n }\n\n off = (s32)(*p11a) * 2;\n {\n u8 *base1 = (u8 *)p11a + 0x2E;\n pb = base1 + off;\n }\n {\n u8 *base2 = (u8 *)p11a + 0x3E;\n pe = base2 + off;\n }\n\n if ((u16)val != 0) {\n if ((u16)val == D_80115120) {\n if (--D_80115122 == 0) {\n flags = val & 0xF000;\n D_80115122 = 3;\n }\n } else {\n D_80115120 = val;\n D_80115122 = 8;\n }\n } else {\n D_80115120 = 0;\n D_80115122 = 0xC;\n }\n\n if (flags & 0x1000) {\n u8 b2 = *pb;\n *pb = b2 - 1;\n changed = 1;\n if ((u8)(b2 - 1) > 0x7F) {\n if (c < 6) {\n *pb = *pe - 1;\n } else {\n *pb = 0;\n changed = 0;\n }\n }\n }\n\n if (flags & 0x4000) {\n u8 b2 = *pb;\n u8 b4 = b2 + 1;\n *pb = b4;\n changed = 1;\n if (*pe <= b4) {\n if (c < 6) {\n *pb = 0;\n } else {\n *pb = b2;\n changed = 0;\n }\n }\n }\n\n {\n u8 b2 = *pb;\n d = (s16)((s8)b2 - (s8)D_80115140[D_8011511A]);\n if (d >= 6) {\n D_80115140[D_8011511A] = b2 - 5;\n } else if (d < 0) {\n D_80115140[D_8011511A] = b2;\n }\n }\n\n if (changed != 0) {\n func_8002D4C8(0x45A, 0);\n if (D_8011511A != 1) {\n return 0;\n }\n if (c == 9) {\n D_80115142 = 0;\n }\n func_8017D730();\n }\n\n return 0;\n}\n"} +{"ts": "2026-09-10 23:42:43", "label": "s104_d33", "rung": "E", "calib": {"head": "caba5c450", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC01_005/ov_SC01_005_jr_8017C340.c", "fn": "func_8017E3DC", "addr": 2149049308, "aliases": null, "header": false, "includers": 0, "nhash_before": "7c147697204380ae6428642d8ce5f681445a1388", "nhash_after": "ae17fae8199b3b4a8aa424c0b0953fb02c62c0c6", "source": "propagate:src/ov_SC01_008/ov_SC01_008_jr_8017BE9C.c:func_8017DD70", "verdict": "LEVER-FREE", "sites": [], "compiles": 2, "seconds": 0.255, "objects": ["build/src/ov_SC01_005/ov_SC01_005_jr_8017C340.o", "build/src/ov_SC01_006/ov_SC01_006_jr_8017C340.o"], "before_text": "s32 func_8017E3DC(void) {\n\n extern u32 D_801CD9A8;\n extern u16 D_8011511A;\n extern u16 D_80115120;\n extern u16 D_80115122;\n extern u8 D_80115138[];\n extern u8 D_80115140[];\n extern u8 D_80115142;\n s32 flags;\n s32 val;\n u16 *p11a;\n register s32 c __asm__(\"$19\"); // !FAKE: pin $19 \u2014 NEEDED DIFFERS (P36 rung B tus8)\n s16 ret;\n s32 changed;\n u8 *pb;\n u8 *pe;\n s32 d;\n s32 nz;\n s32 c3;\n s32 off;\n\n changed = 0;\n flags = func_80014ED4(0);\n if ((flags & 0xFFFF) != 0) {\n D_801CD9A8 = 0;\n }\n val = func_80015018(0);\n p11a = &D_8011511A;\n ret = func_8014168C(*(s16 *)p11a);\n c = D_80115138[*p11a];\n\n if ((flags & 0x40) != 0) {\n ret = func_8017F2D4(c, ret);\n nz = ret != 0;\n return ret & -nz;\n }\n\n if ((flags & 0x10) != 0) {\n __asm__ (\"\" : \"=r\"(c3) : \"0\"(c)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B tus8)\n if (c3 < 6) {\n if (c3 != 1) {\n return -1;\n }\n } else {\n func_8002D4C8(0x473, 0);\n *p11a = *p11a - 1;\n }\n return 0;\n }\n\n off = (s32)(*p11a) * 2;\n {\n u8 *base1 = (u8 *)p11a + 0x2E;\n pb = base1 + off;\n }\n {\n u8 *base2 = (u8 *)p11a + 0x3E;\n pe = base2 + off;\n }\n\n if ((val & 0xFFFF) != 0) {\n if ((val & 0xFFFF) == D_80115120) {\n D_80115122 = D_80115122 - 1;\n if (D_80115122 == 0) {\n flags = val & 0xF000;\n D_80115122 = 3;\n }\n } else {\n D_80115120 = val;\n D_80115122 = 8;\n }\n } else {\n D_80115120 = 0;\n D_80115122 = 0xC;\n }\n\n if ((flags & 0x1000) != 0) {\n u8 b2 = *pb;\n *pb = b2 - 1;\n changed = 1;\n if ((u8)(b2 - 1) > 0x7F) {\n if (c < 6) {\n *pb = *pe - 1;\n } else {\n *pb = 0;\n changed = 0;\n }\n }\n }\n\n if ((flags & 0x4000) != 0) {\n u8 b2 = *pb;\n u8 b4 = b2 + 1;\n *pb = b4;\n changed = 1;\n if (*pe <= b4) {\n if (c < 6) {\n *pb = 0;\n } else {\n *pb = b2;\n changed = 0;\n }\n }\n }\n\n {\n u8 b2 = *pb;\n s32 result;\n d = (s16)((s8)b2 - (s8)D_80115140[D_8011511A]);\n if (d >= 6) {\n D_80115140[D_8011511A] = b2 - 5;\n result = changed;\n } else {\n if (d < 0) {\n D_80115140[D_8011511A] = b2;\n }\n result = changed;\n }\n\n if (result) {\n func_8002D4C8(0x45A, 0);\n if (D_8011511A != 1) {\n return 0;\n }\n __asm__ (\"\" : \"=r\"(c3) : \"0\"(c)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B tus8)\n if (c3 == 9) {\n D_80115142 = 0;\n }\n func_8017DEFC();\n }\n }\n\n return 0;\n}\n", "after_text": "s32 func_8017E3DC(void) {\n\n extern u32 D_801CD9A8;\n extern u16 D_8011511A;\n extern u16 D_80115120;\n extern u16 D_80115122;\n extern u8 D_80115138[];\n extern u8 D_80115140[];\n extern u8 D_80115142;\n s32 flags;\n s32 val;\n u16 *p11a;\n s16 c;\n s16 ret;\n s16 changed;\n u8 *pb;\n u8 *pe;\n s32 d;\n s32 nz;\n s32 off;\n\n changed = 0;\n flags = func_80014ED4(0);\n if ((u16)flags != 0) {\n D_801CD9A8 = 0;\n }\n val = func_80015018(0);\n p11a = &D_8011511A;\n ret = func_8014168C(*(s16 *)p11a);\n c = D_80115138[*p11a];\n\n if (flags & 0x40) {\n ret = func_8017F2D4(c, ret);\n nz = ret != 0;\n return ret & -nz;\n }\n\n if (flags & 0x10) {\n if (c < 6) {\n if (c != 1) {\n return -1;\n }\n } else {\n func_8002D4C8(0x473, 0);\n *p11a = *p11a - 1;\n }\n return 0;\n }\n\n off = (s32)(*p11a) * 2;\n {\n u8 *base1 = (u8 *)p11a + 0x2E;\n pb = base1 + off;\n }\n {\n u8 *base2 = (u8 *)p11a + 0x3E;\n pe = base2 + off;\n }\n\n if ((u16)val != 0) {\n if ((u16)val == D_80115120) {\n if (--D_80115122 == 0) {\n flags = val & 0xF000;\n D_80115122 = 3;\n }\n } else {\n D_80115120 = val;\n D_80115122 = 8;\n }\n } else {\n D_80115120 = 0;\n D_80115122 = 0xC;\n }\n\n if (flags & 0x1000) {\n u8 b2 = *pb;\n *pb = b2 - 1;\n changed = 1;\n if ((u8)(b2 - 1) > 0x7F) {\n if (c < 6) {\n *pb = *pe - 1;\n } else {\n *pb = 0;\n changed = 0;\n }\n }\n }\n\n if (flags & 0x4000) {\n u8 b2 = *pb;\n u8 b4 = b2 + 1;\n *pb = b4;\n changed = 1;\n if (*pe <= b4) {\n if (c < 6) {\n *pb = 0;\n } else {\n *pb = b2;\n changed = 0;\n }\n }\n }\n\n {\n u8 b2 = *pb;\n d = (s16)((s8)b2 - (s8)D_80115140[D_8011511A]);\n if (d >= 6) {\n D_80115140[D_8011511A] = b2 - 5;\n } else if (d < 0) {\n D_80115140[D_8011511A] = b2;\n }\n }\n\n if (changed != 0) {\n func_8002D4C8(0x45A, 0);\n if (D_8011511A != 1) {\n return 0;\n }\n if (c == 9) {\n D_80115142 = 0;\n }\n func_8017DEFC();\n }\n\n return 0;\n}\n"} diff --git a/src/ov_SC01_005/ov_SC01_005_jr_8017C340.c b/src/ov_SC01_005/ov_SC01_005_jr_8017C340.c index 5515346b1..c32187353 100644 --- a/src/ov_SC01_005/ov_SC01_005_jr_8017C340.c +++ b/src/ov_SC01_005/ov_SC01_005_jr_8017C340.c @@ -3871,19 +3871,18 @@ s32 func_8017E3DC(void) { s32 flags; s32 val; u16 *p11a; - register s32 c __asm__("$19"); // !FAKE: pin $19 — NEEDED DIFFERS (P36 rung B tus8) + s16 c; s16 ret; - s32 changed; + s16 changed; u8 *pb; u8 *pe; s32 d; s32 nz; - s32 c3; s32 off; changed = 0; flags = func_80014ED4(0); - if ((flags & 0xFFFF) != 0) { + if ((u16)flags != 0) { D_801CD9A8 = 0; } val = func_80015018(0); @@ -3891,16 +3890,15 @@ s32 func_8017E3DC(void) { ret = func_8014168C(*(s16 *)p11a); c = D_80115138[*p11a]; - if ((flags & 0x40) != 0) { + if (flags & 0x40) { ret = func_8017F2D4(c, ret); nz = ret != 0; return ret & -nz; } - if ((flags & 0x10) != 0) { - __asm__ ("" : "=r"(c3) : "0"(c)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus8) - if (c3 < 6) { - if (c3 != 1) { + if (flags & 0x10) { + if (c < 6) { + if (c != 1) { return -1; } } else { @@ -3920,10 +3918,9 @@ s32 func_8017E3DC(void) { pe = base2 + off; } - if ((val & 0xFFFF) != 0) { - if ((val & 0xFFFF) == D_80115120) { - D_80115122 = D_80115122 - 1; - if (D_80115122 == 0) { + if ((u16)val != 0) { + if ((u16)val == D_80115120) { + if (--D_80115122 == 0) { flags = val & 0xF000; D_80115122 = 3; } @@ -3936,7 +3933,7 @@ s32 func_8017E3DC(void) { D_80115122 = 0xC; } - if ((flags & 0x1000) != 0) { + if (flags & 0x1000) { u8 b2 = *pb; *pb = b2 - 1; changed = 1; @@ -3950,7 +3947,7 @@ s32 func_8017E3DC(void) { } } - if ((flags & 0x4000) != 0) { + if (flags & 0x4000) { u8 b2 = *pb; u8 b4 = b2 + 1; *pb = b4; @@ -3967,29 +3964,23 @@ s32 func_8017E3DC(void) { { u8 b2 = *pb; - s32 result; d = (s16)((s8)b2 - (s8)D_80115140[D_8011511A]); if (d >= 6) { D_80115140[D_8011511A] = b2 - 5; - result = changed; - } else { - if (d < 0) { - D_80115140[D_8011511A] = b2; - } - result = changed; + } else if (d < 0) { + D_80115140[D_8011511A] = b2; } + } - if (result) { - func_8002D4C8(0x45A, 0); - if (D_8011511A != 1) { - return 0; - } - __asm__ ("" : "=r"(c3) : "0"(c)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus8) - if (c3 == 9) { - D_80115142 = 0; - } - func_8017DEFC(); + if (changed != 0) { + func_8002D4C8(0x45A, 0); + if (D_8011511A != 1) { + return 0; } + if (c == 9) { + D_80115142 = 0; + } + func_8017DEFC(); } return 0; diff --git a/src/ov_SC01_008/ov_SC01_008_jr_8017BE9C.c b/src/ov_SC01_008/ov_SC01_008_jr_8017BE9C.c index 3e7ecbf27..8b3126766 100644 --- a/src/ov_SC01_008/ov_SC01_008_jr_8017BE9C.c +++ b/src/ov_SC01_008/ov_SC01_008_jr_8017BE9C.c @@ -3860,19 +3860,18 @@ s32 func_8017DD70(void) { s32 flags; s32 val; u16 *p11a; - register s32 c __asm__("$19"); // !FAKE: pin $19 — NEEDED DIFFERS (P36 rung B tus8) + s16 c; s16 ret; - s32 changed; + s16 changed; u8 *pb; u8 *pe; s32 d; s32 nz; - s32 c3; s32 off; changed = 0; flags = func_80014ED4(0); - if ((flags & 0xFFFF) != 0) { + if ((u16)flags != 0) { D_801A3458 = 0; } val = func_80015018(0); @@ -3880,16 +3879,15 @@ s32 func_8017DD70(void) { ret = func_8014168C(*(s16 *)p11a); c = D_80115138[*p11a]; - if ((flags & 0x40) != 0) { + if (flags & 0x40) { ret = func_8017EC68(c, ret); nz = ret != 0; return ret & -nz; } - if ((flags & 0x10) != 0) { - __asm__ ("" : "=r"(c3) : "0"(c)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus8) - if (c3 < 6) { - if (c3 != 1) { + if (flags & 0x10) { + if (c < 6) { + if (c != 1) { return -1; } } else { @@ -3909,10 +3907,9 @@ s32 func_8017DD70(void) { pe = base2 + off; } - if ((val & 0xFFFF) != 0) { - if ((val & 0xFFFF) == D_80115120) { - D_80115122 = D_80115122 - 1; - if (D_80115122 == 0) { + if ((u16)val != 0) { + if ((u16)val == D_80115120) { + if (--D_80115122 == 0) { flags = val & 0xF000; D_80115122 = 3; } @@ -3925,7 +3922,7 @@ s32 func_8017DD70(void) { D_80115122 = 0xC; } - if ((flags & 0x1000) != 0) { + if (flags & 0x1000) { u8 b2 = *pb; *pb = b2 - 1; changed = 1; @@ -3939,7 +3936,7 @@ s32 func_8017DD70(void) { } } - if ((flags & 0x4000) != 0) { + if (flags & 0x4000) { u8 b2 = *pb; u8 b4 = b2 + 1; *pb = b4; @@ -3956,29 +3953,23 @@ s32 func_8017DD70(void) { { u8 b2 = *pb; - s32 result; d = (s16)((s8)b2 - (s8)D_80115140[D_8011511A]); if (d >= 6) { D_80115140[D_8011511A] = b2 - 5; - result = changed; - } else { - if (d < 0) { - D_80115140[D_8011511A] = b2; - } - result = changed; + } else if (d < 0) { + D_80115140[D_8011511A] = b2; } + } - if (result) { - func_8002D4C8(0x45A, 0); - if (D_8011511A != 1) { - return 0; - } - __asm__ ("" : "=r"(c3) : "0"(c)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus8) - if (c3 == 9) { - D_80115142 = 0; - } - func_8017D890(); + if (changed != 0) { + func_8002D4C8(0x45A, 0); + if (D_8011511A != 1) { + return 0; } + if (c == 9) { + D_80115142 = 0; + } + func_8017D890(); } return 0; diff --git a/src/ov_SC01_009/ov_SC01_009_jr_8017BE9C.c b/src/ov_SC01_009/ov_SC01_009_jr_8017BE9C.c index e10bc3739..8fc6ec6c9 100644 --- a/src/ov_SC01_009/ov_SC01_009_jr_8017BE9C.c +++ b/src/ov_SC01_009/ov_SC01_009_jr_8017BE9C.c @@ -3799,19 +3799,18 @@ s32 func_8017DC10(void) { s32 flags; s32 val; u16 *p11a; - register s32 c __asm__("$19"); // !FAKE: pin $19 — NEEDED DIFFERS (P36 rung B tus8) + s16 c; s16 ret; - s32 changed; + s16 changed; u8 *pb; u8 *pe; s32 d; s32 nz; - s32 c3; s32 off; changed = 0; flags = func_80014ED4(0); - if ((flags & 0xFFFF) != 0) { + if ((u16)flags != 0) { D_801F32B8 = 0; } val = func_80015018(0); @@ -3819,16 +3818,15 @@ s32 func_8017DC10(void) { ret = func_8014168C(*(s16 *)p11a); c = D_80115138[*p11a]; - if ((flags & 0x40) != 0) { + if (flags & 0x40) { ret = func_8017EB08(c, ret); nz = ret != 0; return ret & -nz; } - if ((flags & 0x10) != 0) { - __asm__ ("" : "=r"(c3) : "0"(c)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus8) - if (c3 < 6) { - if (c3 != 1) { + if (flags & 0x10) { + if (c < 6) { + if (c != 1) { return -1; } } else { @@ -3848,10 +3846,9 @@ s32 func_8017DC10(void) { pe = base2 + off; } - if ((val & 0xFFFF) != 0) { - if ((val & 0xFFFF) == D_80115120) { - D_80115122 = D_80115122 - 1; - if (D_80115122 == 0) { + if ((u16)val != 0) { + if ((u16)val == D_80115120) { + if (--D_80115122 == 0) { flags = val & 0xF000; D_80115122 = 3; } @@ -3864,7 +3861,7 @@ s32 func_8017DC10(void) { D_80115122 = 0xC; } - if ((flags & 0x1000) != 0) { + if (flags & 0x1000) { u8 b2 = *pb; *pb = b2 - 1; changed = 1; @@ -3878,7 +3875,7 @@ s32 func_8017DC10(void) { } } - if ((flags & 0x4000) != 0) { + if (flags & 0x4000) { u8 b2 = *pb; u8 b4 = b2 + 1; *pb = b4; @@ -3895,29 +3892,23 @@ s32 func_8017DC10(void) { { u8 b2 = *pb; - s32 result; d = (s16)((s8)b2 - (s8)D_80115140[D_8011511A]); if (d >= 6) { D_80115140[D_8011511A] = b2 - 5; - result = changed; - } else { - if (d < 0) { - D_80115140[D_8011511A] = b2; - } - result = changed; + } else if (d < 0) { + D_80115140[D_8011511A] = b2; } + } - if (result) { - func_8002D4C8(0x45A, 0); - if (D_8011511A != 1) { - return 0; - } - __asm__ ("" : "=r"(c3) : "0"(c)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus8) - if (c3 == 9) { - D_80115142 = 0; - } - func_8017D730(); + if (changed != 0) { + func_8002D4C8(0x45A, 0); + if (D_8011511A != 1) { + return 0; } + if (c == 9) { + D_80115142 = 0; + } + func_8017D730(); } return 0;