From f85baa2baaa4e63ad3be304ebbc719662c692d18 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 11 Sep 2026 04:46:22 -0600 Subject: [PATCH] =?UTF-8?q?phase-36:=20S104=20s104=5Fe30=20=E2=80=94=20fun?= =?UTF-8?q?c=5F801836D4=20banked=20at=200=20through=20the=20whole-object?= =?UTF-8?q?=20gate=20+=20propagated=20=E2=80=94=202=20pins=20=E2=86=92=200?= =?UTF-8?q?:=20the=20test=20+=20copy=20in=20each=20case=20on=20a=20case-lo?= =?UTF-8?q?cal=20tw=20(cse.c:4836;=20local-alloc.c:1486-1500)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .run/P36/delever/calibration.json | 352 +++++++++++----------- .run/P36/delever/ledger.jsonl | 1 + src/ov_SC04_011/ov_SC04_011_jr_8017D494.c | 48 +-- 3 files changed, 206 insertions(+), 195 deletions(-) diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index fc6cffc58..c84ca6e0f 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,7 +1,7 @@ { - "head": "5fa21c77e", + "head": "fa7272156", "stamp": "15956e4a96c4", - "generated": "2026-09-11 04:45", + "generated": "2026-09-11 04:46", "aliases": [ "main", "ov_SC03_014", @@ -21,206 +21,206 @@ "main": { "objects": 85, "identical": 85, - "seconds": 6.252000000000001, - "mean_s": 0.074 + "seconds": 6.3560000000000025, + "mean_s": 0.075 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 4.372, - "mean_s": 0.137 + "seconds": 4.298999999999999, + "mean_s": 0.134 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 4.160999999999999, - "mean_s": 0.13 + "seconds": 4.229000000000001, + "mean_s": 0.132 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 3.6609999999999996, - "mean_s": 0.131 + "seconds": 3.684, + "mean_s": 0.132 } }, "per_object_seconds": { - "build/src/800.o": 0.677, - "build/src/800_b.o": 0.067, - "build/src/800_b_2.o": 0.279, - "build/src/800_b_o0a.o": 0.093, - "build/src/800_c.o": 0.184, - "build/src/800b2.o": 0.066, - "build/src/apicard1.o": 0.067, - "build/src/apicard2.o": 0.063, - "build/src/apicard3.o": 0.056, - "build/src/apicard4.o": 0.056, - "build/src/apicard5.o": 0.085, - "build/src/apicard6.o": 0.066, - "build/src/apicard7.o": 0.073, - "build/src/boot.o": 0.089, - "build/src/gap.o": 0.077, - "build/src/libapi1.o": 0.071, - "build/src/libapi2.o": 0.056, - "build/src/libc2_1.o": 0.06, + "build/src/800.o": 0.671, + "build/src/800_b.o": 0.074, + "build/src/800_b_2.o": 0.275, + "build/src/800_b_o0a.o": 0.062, + "build/src/800_c.o": 0.178, + "build/src/800b2.o": 0.087, + "build/src/apicard1.o": 0.065, + "build/src/apicard2.o": 0.065, + "build/src/apicard3.o": 0.068, + "build/src/apicard4.o": 0.067, + "build/src/apicard5.o": 0.058, + "build/src/apicard6.o": 0.092, + "build/src/apicard7.o": 0.079, + "build/src/boot.o": 0.098, + "build/src/gap.o": 0.074, + "build/src/libapi1.o": 0.075, + "build/src/libapi2.o": 0.058, + "build/src/libc2_1.o": 0.065, "build/src/libc2_2.o": 0.059, - "build/src/libcd1.o": 0.063, - "build/src/libcd2.o": 0.064, - "build/src/libetc.o": 0.055, - "build/src/libgpu.o": 0.068, - "build/src/libgpu2.o": 0.067, - "build/src/libgs1.o": 0.043, - "build/src/libgs2.o": 0.062, - "build/src/libgs3.o": 0.062, - "build/src/libgs4.o": 0.059, - "build/src/libgs5.o": 0.058, - "build/src/libgs6.o": 0.078, - "build/src/libgs7.o": 0.059, - "build/src/libgs8.o": 0.064, - "build/src/libgte1.o": 0.064, - "build/src/libgte10.o": 0.057, - "build/src/libgte11.o": 0.051, - "build/src/libgte12.o": 0.061, - "build/src/libgte13.o": 0.064, - "build/src/libgte14.o": 0.055, - "build/src/libgte15.o": 0.057, - "build/src/libgte16.o": 0.055, - "build/src/libgte17.o": 0.057, - "build/src/libgte18.o": 0.059, - "build/src/libgte19.o": 0.057, - "build/src/libgte2.o": 0.055, - "build/src/libgte20.o": 0.054, - "build/src/libgte21.o": 0.052, - "build/src/libgte22.o": 0.057, - "build/src/libgte23.o": 0.061, - "build/src/libgte24.o": 0.062, - "build/src/libgte25.o": 0.058, - "build/src/libgte26.o": 0.061, - "build/src/libgte27.o": 0.055, - "build/src/libgte28.o": 0.071, - "build/src/libgte29.o": 0.065, + "build/src/libcd1.o": 0.065, + "build/src/libcd2.o": 0.054, + "build/src/libetc.o": 0.057, + "build/src/libgpu.o": 0.061, + "build/src/libgpu2.o": 0.075, + "build/src/libgs1.o": 0.06, + "build/src/libgs2.o": 0.063, + "build/src/libgs3.o": 0.064, + "build/src/libgs4.o": 0.058, + "build/src/libgs5.o": 0.055, + "build/src/libgs6.o": 0.067, + "build/src/libgs7.o": 0.065, + "build/src/libgs8.o": 0.059, + "build/src/libgte1.o": 0.06, + "build/src/libgte10.o": 0.066, + "build/src/libgte11.o": 0.066, + "build/src/libgte12.o": 0.063, + "build/src/libgte13.o": 0.063, + "build/src/libgte14.o": 0.061, + "build/src/libgte15.o": 0.058, + "build/src/libgte16.o": 0.062, + "build/src/libgte17.o": 0.06, + "build/src/libgte18.o": 0.063, + "build/src/libgte19.o": 0.056, + "build/src/libgte2.o": 0.059, + "build/src/libgte20.o": 0.059, + "build/src/libgte21.o": 0.058, + "build/src/libgte22.o": 0.06, + "build/src/libgte23.o": 0.066, + "build/src/libgte24.o": 0.063, + "build/src/libgte25.o": 0.055, + "build/src/libgte26.o": 0.062, + "build/src/libgte27.o": 0.059, + "build/src/libgte28.o": 0.065, + "build/src/libgte29.o": 0.062, "build/src/libgte3.o": 0.057, - "build/src/libgte30.o": 0.063, - "build/src/libgte4.o": 0.058, - "build/src/libgte5.o": 0.067, - "build/src/libgte6.o": 0.059, - "build/src/libgte7.o": 0.062, - "build/src/libgte8.o": 0.06, - "build/src/libgte9.o": 0.058, + "build/src/libgte30.o": 0.06, + "build/src/libgte4.o": 0.065, + "build/src/libgte5.o": 0.059, + "build/src/libgte6.o": 0.062, + "build/src/libgte7.o": 0.063, + "build/src/libgte8.o": 0.063, + "build/src/libgte9.o": 0.063, "build/src/libmcrd1.o": 0.07, - "build/src/libmcrd2.o": 0.061, - "build/src/libpad1.o": 0.06, - "build/src/libpad2.o": 0.066, + "build/src/libmcrd2.o": 0.062, + "build/src/libpad1.o": 0.069, + "build/src/libpad2.o": 0.059, "build/src/sgap.o": 0.064, - "build/src/sgap_2.o": 0.065, - "build/src/sgap_3.o": 0.061, - "build/src/sgap_4.o": 0.06, - "build/src/sgap_5.o": 0.055, - "build/src/sgap_6.o": 0.063, - "build/src/sgap_8.o": 0.07, - "build/src/snd1.o": 0.071, - "build/src/snd10.o": 0.062, - "build/src/snd11.o": 0.053, - "build/src/snd12.o": 0.061, - "build/src/snd2.o": 0.062, - "build/src/snd3.o": 0.059, - "build/src/snd4.o": 0.062, + "build/src/sgap_2.o": 0.061, + "build/src/sgap_3.o": 0.06, + "build/src/sgap_4.o": 0.063, + "build/src/sgap_5.o": 0.065, + "build/src/sgap_6.o": 0.061, + "build/src/sgap_8.o": 0.063, + "build/src/snd1.o": 0.065, + "build/src/snd10.o": 0.054, + "build/src/snd11.o": 0.057, + "build/src/snd12.o": 0.063, + "build/src/snd2.o": 0.067, + "build/src/snd3.o": 0.061, + "build/src/snd4.o": 0.06, "build/src/snd5.o": 0.062, - "build/src/snd6.o": 0.064, + "build/src/snd6.o": 0.061, "build/src/snd7.o": 0.064, - "build/src/snd8.o": 0.053, - "build/src/snd9.o": 0.066, - "build/src/ov_SC03_014/ov_SC03_014.o": 0.121, + "build/src/snd8.o": 0.067, + "build/src/snd9.o": 0.067, + "build/src/ov_SC03_014/ov_SC03_014.o": 0.118, "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.475, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.395, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.06, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.055, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.129, - "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.144, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.112, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.073, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.064, - "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.167, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.067, - "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.152, - "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.079, - "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.063, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.069, + "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.384, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.058, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.06, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.12, + "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.148, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.121, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.072, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.059, + "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.17, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.069, + "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.161, + "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.093, + "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.066, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.062, "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.089, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.47, - "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.252, - "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.087, - "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.188, - "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.049, - "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.089, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.058, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.162, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.183, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.428, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.222, + "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.092, + "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.189, + "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.05, + "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.085, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.057, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.16, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.178, "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.048, - "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.245, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.062, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.054, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.052, - "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.059, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.117, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.446, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.349, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.047, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.041, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.099, - "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.142, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.097, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.069, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.061, - "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.172, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.063, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.129, + "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.248, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.045, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.052, + "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.051, + "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.069, + "build/src/ov_SC03_015/ov_SC03_015.o": 0.106, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.473, + "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.388, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.051, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.05, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.107, + "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.154, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.1, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.07, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.059, + "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.158, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.065, + "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.147, "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.083, - "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.059, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.059, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.087, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.418, - "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.257, - "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.086, - "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.182, - "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.056, - "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.093, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.068, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.166, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.179, - "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.046, - "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.267, - "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.058, - "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.054, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.05, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.061, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.114, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.405, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.317, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.049, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.048, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.111, - "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.134, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.113, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.069, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.063, - "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.167, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.063, - "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.15, - "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.085, - "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.063, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.066, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.081, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.332, + "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.058, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.058, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.079, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.425, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.241, + "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.098, + "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.191, + "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.053, + "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.095, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.067, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.157, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.193, + "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.048, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.243, + "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.049, + "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.05, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.051, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.062, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.105, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.391, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.33, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.045, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.053, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.115, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.121, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.092, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.072, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.062, + "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.17, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.066, + "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.163, + "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.088, + "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.059, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.067, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.086, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.336, "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.207, - "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.091, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.154, - "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.057, - "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.083, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.054, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.094, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.395, - "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.044, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.052 + "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.089, + "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.164, + "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.051, + "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.084, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.063, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.085, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.409, + "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.054, + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.057 }, "ok": true, "seconds": 2.1 diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index 7926e1c1b..de4a74966 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -29529,3 +29529,4 @@ {"ts": "2026-09-11 04:44:33", "label": "s104_e34", "rung": "E", "calib": {"head": "fb0ae9fd0", "stamp": "15956e4a96c4"}, "tu": "src/resident/resident_jr_800D128C.c", "fn": "func_800D1658", "addr": 2148341336, "aliases": null, "header": false, "includers": 0, "nhash_before": "b742564c378407aaafdd0776a54ec03e12bc0a44", "nhash_after": "da2044ed00052ff27f49b6e0880c9e8413cd172e", "source": ".run/P36/agents/resident__func_800D1658/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.054, "objects": ["build/src/resident/resident_jr_800D128C.o"], "before_text": "s16 func_800D1658(s32 arg0) {\n extern int func_800291B4(int);\n extern void func_800291A0(int, int);\n extern void func_8002D4C8(int, int);\n extern s16 D_8010EDEC;\n register int v __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus10)\n register int t __asm__(\"$3\"); // !FAKE: pin $3 \u2014 NEEDED DIFFERS (P36 rung B tus10)\n int id;\n register short ret __asm__(\"$16\"); // !FAKE: pin $16 \u2014 NEEDED DIFFERS (P36 rung B tus10)\n int slot;\n\n slot = (arg0 & 0xFF) + 0x2F;\n id = func_800291B4(slot) & 0xFF;\n if (id == 0) {\n return 0;\n }\n v = *(s16 *)((u8 *)&D_8010EDEC + id * 0xC);\n if (v > 0) {\n goto ok;\n }\n ret = v;\n t = ret & 0xFFFF;\n if (t != 0x8000) {\n goto bad;\n }\n if (id == 0x27) {\n goto bad;\n }\nok:\n func_800291A0(slot, 0);\n func_8002D4C8(0x462, 0);\n ret = 1;\n goto out;\nbad:\n ret = 0;\n func_8002D4C8(0x45F, 0);\nout:\n return ret;\n}\n", "after_text": "s16 func_800D1658(s32 arg0) {\n extern int func_800291B4(int);\n extern void func_800291A0(int, int);\n extern void func_8002D4C8(int, int);\n extern s16 D_8010EDEC;\n int v;\n short ret;\n int id;\n int slot;\n\n slot = (arg0 & 0xFF) + 0x2F;\n id = func_800291B4(slot) & 0xFF;\n if (id == 0) {\n return 0;\n }\n v = *(s16 *)((u8 *)&D_8010EDEC + id * 0xC);\n ret = v;\n if (v > 0 || ((u16)ret == 0x8000 && id != 0x27)) {\n func_800291A0(slot, 0);\n func_8002D4C8(0x462, 0);\n ret = 1;\n } else {\n ret = 0;\n func_8002D4C8(0x45F, 0);\n }\n return ret;\n}\n"} {"ts": "2026-09-11 04:44:50", "label": "s104_e34", "rung": "E", "calib": {"head": "889a7ad13", "stamp": "15956e4a96c4"}, "tu": "src/resident/resident_jr_800D128C.c", "fn": "func_800D128C", "addr": 2148340364, "aliases": null, "header": false, "includers": 0, "nhash_before": "3966a1dc23b49483ad5442aa7353ccbc03b8d2e5", "nhash_after": "adb83ce44813b9a0d15c247e78506e2232b4ac92", "source": ".run/P36/agents/resident__func_800D128C/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.052, "objects": ["build/src/resident/resident_jr_800D128C.o"], "before_text": "s32 func_800D128C(s32 arg0, s32 arg1) {\n s32 ret = 3;\n s32 flag = 1;\n s32 id = 0;\n s32 obj = (s32)&D_80126B58;\n s32 val;\n s32 sel;\n\n switch ((u8)arg0) {\n case 9:\n func_8014BD24(obj, 5);\n val = 0;\n ret = 1;\n break;\n case 106:\n func_8014BB24(obj, 0x12C, 1);\n val = 0x12C;\n break;\n case 1:\n func_8014BB24(obj, 0x96, 1);\n __asm__ __volatile__(\"\"); /* \u00a75a cross-jump barrier \u2014 load-bearing */ // !FAKE: barrier \u2014 NEEDED DIFFERS (P36 rung B tus10)\n val = 0x96;\n break;\n case 2:\n func_8014BCC0(obj, 5);\n ret = 4;\n /* fallthrough */\n case 13:\n lab1334:\n val = 0x19;\n break;\n case 3:\n func_8014BCC0(obj, 0x19);\n ret = 5;\n goto lab1334; /* \u00a7162: the backward j is a source goto */\n case 17:\n func_8014BCC0(obj, 5);\n ret = 4;\n val = 0xA;\n break;\n case 18:\n func_8014BCC0(obj, 0xA);\n ret = 5;\n val = 0xA;\n break;\n case 12:\n func_8014BCC0(obj, 5);\n ret = 5;\n val = 2;\n break;\n case 11:\n func_8014BB24(obj, 0x1E, 1);\n val = 0xA;\n break;\n case 8:\n func_8014B944(obj, 0x500000, 1);\n val = 5;\n ret = 2;\n break;\n case 109:\n func_8014B944(obj, 0x900000, 1);\n val = 5;\n ret = 2;\n break;\n case 4:\n ret = 7;\n /* fallthrough */\n case 15:\n val = 0x50;\n break;\n case 5:\n ret = 7;\n /* fallthrough */\n case 16:\n __asm__ __volatile__(\"\" ::: \"memory\"); /* \u00a75a barrier \u2014 MUST differ from case 1's */ // !FAKE: barrier memory \u2014 NEEDED DIFFERS (P36 rung B tus10)\n val = 0x96;\n break;\n case 107:\n if ((s16)arg1 >= 0x13) {\n val = 0x14;\n } else {\n val = (s16)arg1 + 2;\n }\n val = val * 25;\n func_8014BD24(obj, val);\n ret = 7;\n break;\n case 6:\n func_8014BD24(obj, 5);\n ret = 7;\n val = 0xFA;\n break;\n case 7:\n func_8014BD24(obj, 5);\n ret = 7;\n val = 0x3E7;\n break;\n case 83:\n func_8014BB24(obj, 0xA, 1);\n val = 0xA;\n break;\n case 84:\n func_8014BCC0(obj, 5);\n ret = 5;\n val = 5;\n break;\n case 85:\n func_8014BB24(obj, 0x32, 1);\n val = 0x32;\n break;\n case 112:\n func_8014BC0C(obj, 0x19);\n ret = 7;\n val = 0x3E7;\n break;\n case 76:\n case 113:\n ret = 7;\n val = 5;\n break;\n case 114:\n func_8014BB24(obj, 0x64, 1);\n /* fallthrough */\n case 14:\n val = 0x32;\n break;\n case 115:\n func_8014BB24(obj, 0x96, 1);\n /* fallthrough */\n case 105:\n val = 0x64;\n break;\n case 116:\n func_8014BB24(obj, 0x96, 1);\n val = 0xC8;\n break;\n case 117:\n func_8014BB24(obj, 0xC8, 1);\n val = 0x96;\n break;\n case 118:\n func_8014BB24(obj, 0xFA, 1);\n /* fallthrough */\n case 104:\n val = 0x12C;\n break;\n case 119:\n func_8014BB24(obj, 0x1F4, 1);\n val = 0x1F4;\n break;\n case 87:\n val = 0xA;\n ret = 1;\n break;\n default:\n ret = 0;\n break;\n }\n\n sel = ret;\n __asm__ __volatile__(\"\" : \"=r\"(sel) : \"0\"(sel)); /* keeps `addu $v1,$s1,$zero` alive */ // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B tus10)\n switch (sel) {\n case 0:\n id = 0x45F;\n flag = 0;\n break;\n case 1:\n id = 0x464;\n func_8014B2A8();\n func_8014BB24(obj, val, 1);\n break;\n case 2:\n func_8014BD24(obj, val);\n id = 0x464;\n break;\n case 3:\n func_8014BD24(obj, val);\n id = 0x45C;\n break;\n case 4:\n func_8014BD24(obj, val);\n id = 0x463;\n break;\n case 5:\n func_8014BD24(obj, val);\n id = 0x465;\n break;\n case 7:\n func_8014BB24(obj, val, 1);\n id = 0x45C;\n break;\n case 8:\n func_8014BCC0(obj, val);\n id = 0x45C;\n break;\n default:\n flag = 0;\n break;\n }\n\n if ((u16)id != 0) {\n func_8002D4C8((u16)id, 0);\n }\n return flag;\n}\n", "after_text": "s32 func_800D128C(s32 arg0, s32 arg1) {\n s16 ret = 3;\n s32 flag = 1;\n s32 id = 0;\n s32 obj = (s32)&D_80126B58;\n s32 val;\n /* func_8014BB24 under a second declaration: cross-jump compares call targets by the\n * symbol-name POINTER (rtx_renumbered_equal_p, jump.c:3991-3992), so case 117's call stays\n * apart from case 1's (METHOD step 3 declaration alias; same bytes, same relocation). */\n extern void func_8014BB24_alt(s32, s32, s32) __asm__(\"func_8014BB24\");\n\n switch ((u8)arg0) {\n case 9:\n func_8014BD24(obj, 5);\n val = 0;\n ret = 1;\n break;\n case 106:\n func_8014BB24(obj, 0x12C, 1);\n val = 0x12C;\n break;\n case 1:\n func_8014BB24(obj, 0x96, 1);\n goto set96;\n case 2:\n func_8014BCC0(obj, 5);\n ret = 4;\n /* fallthrough */\n case 13:\n lab1334:\n val = 0x19;\n break;\n case 3:\n func_8014BCC0(obj, 0x19);\n ret = 5;\n goto lab1334;\n case 17:\n func_8014BCC0(obj, 5);\n ret = 4;\n val = 0xA;\n break;\n case 18:\n func_8014BCC0(obj, 0xA);\n ret = 5;\n val = 0xA;\n break;\n case 12:\n func_8014BCC0(obj, 5);\n ret = 5;\n val = 2;\n break;\n case 11:\n func_8014BB24(obj, 0x1E, 1);\n val = 0xA;\n break;\n case 8:\n func_8014B944(obj, 0x500000, 1);\n val = 5;\n ret = 2;\n break;\n case 109:\n func_8014B944(obj, 0x900000, 1);\n val = 5;\n ret = 2;\n break;\n case 4:\n ret = 7;\n /* fallthrough */\n case 15:\n val = 0x50;\n break;\n case 5:\n ret = 7;\n /* fallthrough */\n case 16:\n set96:\n val = 0x96;\n break;\n case 107:\n if ((s16)arg1 >= 0x13) {\n val = 0x14;\n } else {\n val = (s16)arg1 + 2;\n }\n val = val * 25;\n func_8014BD24(obj, val);\n ret = 7;\n break;\n case 6:\n func_8014BD24(obj, 5);\n ret = 7;\n val = 0xFA;\n break;\n case 7:\n func_8014BD24(obj, 5);\n ret = 7;\n val = 0x3E7;\n break;\n case 83:\n func_8014BB24(obj, 0xA, 1);\n val = 0xA;\n break;\n case 84:\n func_8014BCC0(obj, 5);\n ret = 5;\n val = 5;\n break;\n case 85:\n func_8014BB24(obj, 0x32, 1);\n val = 0x32;\n break;\n case 112:\n func_8014BC0C(obj, 0x19);\n ret = 7;\n val = 0x3E7;\n break;\n case 76:\n case 113:\n ret = 7;\n val = 5;\n break;\n case 114:\n func_8014BB24(obj, 0x64, 1);\n /* fallthrough */\n case 14:\n val = 0x32;\n break;\n case 115:\n func_8014BB24(obj, 0x96, 1);\n /* fallthrough */\n case 105:\n val = 0x64;\n break;\n case 116:\n func_8014BB24(obj, 0x96, 1);\n val = 0xC8;\n break;\n case 117:\n func_8014BB24_alt(obj, 0xC8, 1);\n goto set96;\n case 118:\n func_8014BB24(obj, 0xFA, 1);\n /* fallthrough */\n case 104:\n val = 0x12C;\n break;\n case 119:\n func_8014BB24(obj, 0x1F4, 1);\n val = 0x1F4;\n break;\n case 87:\n val = 0xA;\n ret = 1;\n break;\n default:\n ret = 0;\n break;\n }\n\n switch (ret) {\n case 0:\n id = 0x45F;\n flag = 0;\n break;\n case 1:\n id = 0x464;\n func_8014B2A8();\n func_8014BB24(obj, val, 1);\n break;\n case 2:\n func_8014BD24(obj, val);\n id = 0x464;\n break;\n case 3:\n func_8014BD24(obj, val);\n id = 0x45C;\n break;\n case 4:\n func_8014BD24(obj, val);\n id = 0x463;\n break;\n case 5:\n func_8014BD24(obj, val);\n id = 0x465;\n break;\n case 7:\n func_8014BB24(obj, val, 1);\n id = 0x45C;\n break;\n case 8:\n func_8014BCC0(obj, val);\n id = 0x45C;\n break;\n default:\n flag = 0;\n break;\n }\n\n if ((u16)id != 0) {\n func_8002D4C8((u16)id, 0);\n }\n return flag;\n}\n"} {"ts": "2026-09-11 04:46:03", "label": "s104_e30", "rung": "E", "calib": {"head": "5fa21c77e", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "fn": "func_80180B24", "addr": 2149059364, "aliases": null, "header": false, "includers": 0, "nhash_before": "b488397c96ddd1cf7398047ab2a0a0c410ed9f95", "nhash_after": "cb6b74d0532dd27664b4823a24f64e7957e2600d", "source": ".run/P36/agents/ov_SC04_011__func_80180B24/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.374, "objects": ["build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o"], "before_text": "void func_80180B24(s32 s0)\n{\n /* BLOCK scope on purpose (house style, TU l.5019/5156): the TU defines\n * `void func_80183BD0(s32 a0)` at ~l.7238 and its earlier block-scope `(u8 *a0)` externs\n * sit in limbo; a FILE-scope decl here would let gcc-2.7.2's pushdecl merge that\n * prototype into the global (different_binding_level) and the definition then errors\n * `conflicting types for func_80183BD0` -- measured on a spliced-TU cc1 run. */\n extern void func_80183BD0(u8 *a0);\n struct Ent_80180B24 *p;\n s32 a;\n s32 ta;\n s32 tb;\n s32 tc;\n s32 s1;\n s32 s3;\n s16 x;\n s16 y;\n s16 buf[3];\n\n p = (struct Ent_80180B24 *)s0;\n s3 = (s32)&aB58_80180B24[0];\n if (*(u16 *)(s0 + 0x34) == 4) {\n s1 = aFC4C[D_801EFD20];\n x = *(u16 *)(*(s32 *)(s1 + 0x20) + 0x12) & 0xFFF;\n if (x >= 0x800) {\n x |= 0xF000;\n }\n func_80183880((s32)s0);\n y = *(u16 *)(*(s32 *)(s1 + 0x20) + 0x12) & 0xFFF;\n if (y >= 0x800) {\n y |= 0xF000;\n }\n if ((x < -0x200 && -0x201 < y) || (-0x200 < x && y < -0x1FF)) {\n func_8002D4C8(0x9C3, 0);\n }\n if (((s32 (*)(u8 *))func_8012BEE8)((u8 *)s0) != 0) {\n buf[0] = *(u16 *)(s3 + 6);\n buf[1] = *(u16 *)(s3 + 0xA) - 0x50;\n buf[2] = *(u16 *)(s3 + 0xE);\n func_80183BD0((u8 *)s0);\n func_80183564((s32)s0, buf);\n *(u16 *)(s0 + 0xE0) = 0x10;\n *(u16 *)(s0 + 0x34) = 0;\n }\n return;\n }\n if (((s32 (*)(int, int))func_801833D4)((int)s0, 0) != 0) {\n switch (*(u16 *)(s0 + 0x34)) {\n case 0:\n /* \u00a749-variant/\u00a730#3: zero-byte re-ties set reg_n_sets=2, killing sched1's\n * birthing_insn_p LAUNCH_PRIORITY boost that glued each add to its store;\n * yields the target's load*3 / add*3 / store*3 order. */\n ta = *(u16 *)(s0 + 0xF4) + 1;\n tb = *(u16 *)(s0 + 0xF2) + 1;\n __asm__(\"\" : \"=r\"(ta) : \"0\"(ta)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B t3_tus1)\n __asm__(\"\" : \"=r\"(tb) : \"0\"(tb)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B t3_tus1)\n *(u16 *)(s0 + 0xF4) = ta;\n *(u16 *)(s0 + 0xF2) = tb;\n *(u16 *)(s0 + 0x34) = *(u16 *)(s0 + 0x34) + 1;\n func_8002D4C8(0x992, 0);\n break;\n case 1:\n /* struct-member spelling (MEM_IN_STRUCT_P) on the s0 fields defeats the false\n * alias against the D_801EFD40 store. */\n D_801EFD40 = D_801EFD40 & 0xFFFE;\n a = p->unkF4 + 1;\n p->unkF4 = a + (p->unkF2 & 1);\n tc = p->unk34 + 1;\n __asm__(\"\" : \"=r\"(tc) : \"0\"(tc)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B t3_tus1)\n p->unk34 = tc;\n break;\n case 2:\n if (*(s16 *)(s0 + 0x76) == 0) {\n func_80180E80((u8 *)s0);\n return;\n }\n *(u16 *)(s0 + 0xF4) = 0;\n func_80183BAC((u8 *)s0);\n *(u16 *)(s0 + 0x34) = 3;\n break;\n case 3:\n ((void (*)(s32))func_801837C4)(s0);\n func_80183BAC((u8 *)s0);\n *(s32 *)(s0 + 0x1C) = 0x80;\n *(u16 *)(s0 + 0x100) = 0;\n *(u16 *)(s0 + 0x34) = 4;\n return;\n }\n func_80183564((s32)s0, (s16 *)(D_80194470 + (*(s16 *)(s0 + 0xF4) * 8)));\n *(u16 *)(s0 + 0xE0) = 0x10;\n } else {\n /* store 0xE0 in BOTH arms: cross_jump merges the sh at the join, and the s16 local\n * yields the un-coalesced addu $v1,$v0,$zero that stops reorg stealing the decrement. */\n s16 v0 = *(s16 *)(s0 + 0xE0);\n if (v0 != 0) {\n *(s16 *)(s0 + 0xE0) = v0 - 1;\n } else {\n func_80183A28((u8 *)s0);\n *(s16 *)(s0 + 0xE0) = 0x10;\n }\n if (*(u16 *)(s0 + 0x34) == 0) {\n u16 flag = D_801EFD40;\n if (!(flag & 1)) {\n s1 = aFC4C[D_801EFD20];\n if ((u16)(((*(u16 *)(s0 + 0x106) & 0xFFF) -\n (*(u16 *)(*(s32 *)(s1 + 0x20) + 0x12) & 0xFFF)) - 0x180) >= 0xD01) {\n D_801EFD40 = flag | 1;\n func_8002D4C8(0x7E3, 0);\n }\n }\n }\n }\n}\n", "after_text": "void func_80180B24(s32 s0)\n{\n /* BLOCK scope on purpose (house style, TU l.5019/5156): the TU defines\n * `void func_80183BD0(s32 a0)` at ~l.7238 and its earlier block-scope `(u8 *a0)` externs\n * sit in limbo; a FILE-scope decl here would let gcc-2.7.2's pushdecl merge that\n * prototype into the global (different_binding_level) and the definition then errors\n * `conflicting types for func_80183BD0` -- measured on a spliced-TU cc1 run. */\n extern void func_80183BD0(u8 *a0);\n struct Ent_80180B24 *p;\n s32 a;\n s32 s1;\n s32 s3;\n s16 x;\n s16 y;\n s16 buf[3];\n\n p = (struct Ent_80180B24 *)s0;\n s3 = (s32)&aB58_80180B24[0];\n if (*(u16 *)(s0 + 0x34) == 4) {\n s1 = aFC4C[D_801EFD20];\n x = *(u16 *)(*(s32 *)(s1 + 0x20) + 0x12) & 0xFFF;\n if (x >= 0x800) {\n x |= 0xF000;\n }\n func_80183880((s32)s0);\n y = *(u16 *)(*(s32 *)(s1 + 0x20) + 0x12) & 0xFFF;\n if (y >= 0x800) {\n y |= 0xF000;\n }\n if ((x < -0x200 && -0x201 < y) || (-0x200 < x && y < -0x1FF)) {\n func_8002D4C8(0x9C3, 0);\n }\n if (((s32 (*)(u8 *))func_8012BEE8)((u8 *)s0) != 0) {\n buf[0] = *(u16 *)(s3 + 6);\n buf[1] = *(u16 *)(s3 + 0xA) - 0x50;\n buf[2] = *(u16 *)(s3 + 0xE);\n func_80183BD0((u8 *)s0);\n func_80183564((s32)s0, buf);\n *(u16 *)(s0 + 0xE0) = 0x10;\n *(u16 *)(s0 + 0x34) = 0;\n }\n return;\n }\n if (((s32 (*)(int, int))func_801833D4)((int)s0, 0) != 0) {\n switch (*(u16 *)(s0 + 0x34)) {\n case 0:\n /* Post-increments on the u16 fields: the add's destination is a SUBREG of the\n * field's HImode value, so sched1's birthing_insn_p (sched.c:2477-2490) gives the\n * adds no LAUNCH_PRIORITY boost and the target's load*3 / add*3 / store*3 order\n * falls out (was two zero-byte asm re-ties). */\n p->unkF4++;\n p->unkF2++;\n p->unk34++;\n func_8002D4C8(0x992, 0);\n break;\n case 1:\n /* struct-member spelling (MEM_IN_STRUCT_P) on the s0 fields defeats the false\n * alias against the D_801EFD40 store; unk34++ as a post-increment (no asm). */\n D_801EFD40 = D_801EFD40 & 0xFFFE;\n a = p->unkF4 + 1;\n p->unkF4 = a + (p->unkF2 & 1);\n p->unk34++;\n break;\n case 2:\n if (*(s16 *)(s0 + 0x76) == 0) {\n func_80180E80((u8 *)s0);\n return;\n }\n *(u16 *)(s0 + 0xF4) = 0;\n func_80183BAC((u8 *)s0);\n *(u16 *)(s0 + 0x34) = 3;\n break;\n case 3:\n ((void (*)(s32))func_801837C4)(s0);\n func_80183BAC((u8 *)s0);\n *(s32 *)(s0 + 0x1C) = 0x80;\n *(u16 *)(s0 + 0x100) = 0;\n *(u16 *)(s0 + 0x34) = 4;\n return;\n }\n func_80183564((s32)s0, (s16 *)(D_80194470 + (*(s16 *)(s0 + 0xF4) * 8)));\n *(u16 *)(s0 + 0xE0) = 0x10;\n } else {\n /* store 0xE0 in BOTH arms: cross_jump merges the sh at the join, and the s16 local\n * yields the un-coalesced addu $v1,$v0,$zero that stops reorg stealing the decrement. */\n s16 v0 = *(s16 *)(s0 + 0xE0);\n if (v0 != 0) {\n *(s16 *)(s0 + 0xE0) = v0 - 1;\n } else {\n func_80183A28((u8 *)s0);\n *(s16 *)(s0 + 0xE0) = 0x10;\n }\n if (*(u16 *)(s0 + 0x34) == 0) {\n u16 flag = D_801EFD40;\n if (!(flag & 1)) {\n s1 = aFC4C[D_801EFD20];\n if ((u16)(((*(u16 *)(s0 + 0x106) & 0xFFF) -\n (*(u16 *)(*(s32 *)(s1 + 0x20) + 0x12) & 0xFFF)) - 0x180) >= 0xD01) {\n D_801EFD40 = flag | 1;\n func_8002D4C8(0x7E3, 0);\n }\n }\n }\n }\n}\n"} +{"ts": "2026-09-11 04:46:21", "label": "s104_e30", "rung": "E", "calib": {"head": "fa7272156", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "fn": "func_801836D4", "addr": 2149070548, "aliases": null, "header": false, "includers": 0, "nhash_before": "dd551ed34c5642e73cc1c20cd2e7d336497b55ec", "nhash_after": "a82bf68758e88f28761748302e8b033bacf71fe0", "source": ".run/P36/agents/ov_SC04_011__func_801836D4/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.375, "objects": ["build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o"], "before_text": "s32 func_801836D4(void *a0, void *a1) {\n s16 buf[16]; /* dead-store scratch: forces frame 0x28 */\n register u16 b __asm__(\"$3\"); // !FAKE: pin $3 \u2014 NEEDED DIFFERS (P36 rung B t3_tus1)\n u16 a;\n s16 diff;\n s16 v1;\n register s32 tw __asm__(\"$2\"); /* SImode -> lh */ // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B t3_tus1)\n s16 t16; /* HImode copy of tw -> addu $a1,$v0,$0 */\n s16 xr; /* xor result back in $v0 */\n\n if (*(s16 *)((s32)a0 + 0xEA) != 0) {\n *(s16 *)((s32)a0 + 0xEA) = *(s16 *)((s32)a0 + 0xEA) - 1;\n }\n\n v1 = *(s16 *)((s32)a0 + 0xE2);\n switch (v1) {\n case 0:\n a = *(u16 *)((s32)a0 + 0xE4);\n b = *(u16 *)((s32)a1 + 0x6);\n diff = a - b;\n buf[0] = diff;\n tw = *(s16 *)((s32)a0 + 0xEC);\n break;\n case 1:\n a = *(u16 *)((s32)a0 + 0xE6);\n b = *(u16 *)((s32)a1 + 0xA);\n diff = a - b;\n buf[1] = diff;\n tw = *(s16 *)((s32)a0 + 0xEE);\n break;\n case 2:\n a = *(u16 *)((s32)a0 + 0xE8);\n b = *(u16 *)((s32)a1 + 0xE);\n diff = a - b;\n buf[2] = diff;\n tw = *(s16 *)((s32)a0 + 0xF0);\n break;\n default:\n goto default_case;\n }\n\n if (tw == 0) goto ret1;\n t16 = tw;\n if (diff == 0) goto ret1;\n xr = diff ^ t16;\n if (xr >= 0) goto default_case;\nret1:\n return 1;\n\ndefault_case:\n return *(s16 *)((s32)a0 + 0xEA) == 0;\n}\n", "after_text": "s32 func_801836D4(void *a0, void *a1) {\n s16 buf[16]; /* dead-store scratch: forces frame 0x28 */\n s16 diff;\n s16 v1;\n s16 t16;\n s16 xr;\n\n if (*(s16 *)((s32)a0 + 0xEA) != 0) {\n *(s16 *)((s32)a0 + 0xEA) = *(s16 *)((s32)a0 + 0xEA) - 1;\n }\n\n v1 = *(s16 *)((s32)a0 + 0xE2);\n switch (v1) {\n case 0: {\n s32 tw;\n\n diff = *(u16 *)((s32)a0 + 0xE4) - *(u16 *)((s32)a1 + 0x6);\n buf[0] = diff;\n tw = *(s16 *)((s32)a0 + 0xEC);\n t16 = tw;\n if (tw == 0) {\n return 1;\n }\n break;\n }\n case 1: {\n s32 tw;\n\n diff = *(u16 *)((s32)a0 + 0xE6) - *(u16 *)((s32)a1 + 0xA);\n buf[1] = diff;\n tw = *(s16 *)((s32)a0 + 0xEE);\n t16 = tw;\n if (tw == 0) {\n return 1;\n }\n break;\n }\n case 2: {\n s32 tw;\n\n diff = *(u16 *)((s32)a0 + 0xE8) - *(u16 *)((s32)a1 + 0xE);\n buf[2] = diff;\n tw = *(s16 *)((s32)a0 + 0xF0);\n t16 = tw;\n if (tw == 0) {\n return 1;\n }\n break;\n }\n default:\n goto default_case;\n }\n\n if (diff == 0) goto ret1;\n xr = diff ^ t16;\n if (xr >= 0) goto default_case;\nret1:\n return 1;\n\ndefault_case:\n return *(s16 *)((s32)a0 + 0xEA) == 0;\n}\n"} diff --git a/src/ov_SC04_011/ov_SC04_011_jr_8017D494.c b/src/ov_SC04_011/ov_SC04_011_jr_8017D494.c index 1a499d939..c4fac11a4 100644 --- a/src/ov_SC04_011/ov_SC04_011_jr_8017D494.c +++ b/src/ov_SC04_011/ov_SC04_011_jr_8017D494.c @@ -7046,13 +7046,10 @@ void func_801835B0(s32 a0) */ s32 func_801836D4(void *a0, void *a1) { s16 buf[16]; /* dead-store scratch: forces frame 0x28 */ - register u16 b __asm__("$3"); // !FAKE: pin $3 — NEEDED DIFFERS (P36 rung B t3_tus1) - u16 a; s16 diff; s16 v1; - register s32 tw __asm__("$2"); /* SImode -> lh */ // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B t3_tus1) - s16 t16; /* HImode copy of tw -> addu $a1,$v0,$0 */ - s16 xr; /* xor result back in $v0 */ + s16 t16; + s16 xr; if (*(s16 *)((s32)a0 + 0xEA) != 0) { *(s16 *)((s32)a0 + 0xEA) = *(s16 *)((s32)a0 + 0xEA) - 1; @@ -7060,33 +7057,46 @@ s32 func_801836D4(void *a0, void *a1) { v1 = *(s16 *)((s32)a0 + 0xE2); switch (v1) { - case 0: - a = *(u16 *)((s32)a0 + 0xE4); - b = *(u16 *)((s32)a1 + 0x6); - diff = a - b; + case 0: { + s32 tw; + + diff = *(u16 *)((s32)a0 + 0xE4) - *(u16 *)((s32)a1 + 0x6); buf[0] = diff; tw = *(s16 *)((s32)a0 + 0xEC); + t16 = tw; + if (tw == 0) { + return 1; + } break; - case 1: - a = *(u16 *)((s32)a0 + 0xE6); - b = *(u16 *)((s32)a1 + 0xA); - diff = a - b; + } + case 1: { + s32 tw; + + diff = *(u16 *)((s32)a0 + 0xE6) - *(u16 *)((s32)a1 + 0xA); buf[1] = diff; tw = *(s16 *)((s32)a0 + 0xEE); + t16 = tw; + if (tw == 0) { + return 1; + } break; - case 2: - a = *(u16 *)((s32)a0 + 0xE8); - b = *(u16 *)((s32)a1 + 0xE); - diff = a - b; + } + case 2: { + s32 tw; + + diff = *(u16 *)((s32)a0 + 0xE8) - *(u16 *)((s32)a1 + 0xE); buf[2] = diff; tw = *(s16 *)((s32)a0 + 0xF0); + t16 = tw; + if (tw == 0) { + return 1; + } break; + } default: goto default_case; } - if (tw == 0) goto ret1; - t16 = tw; if (diff == 0) goto ret1; xr = diff ^ t16; if (xr >= 0) goto default_case;