From bb39251e3feb702280580bb7c1274494546771f2 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 11 Sep 2026 06:30:11 -0600 Subject: [PATCH] =?UTF-8?q?phase-36:=20S104=20s104=5Fe37=20=E2=80=94=20fun?= =?UTF-8?q?c=5F80184918=20banked=20at=200=20through=20the=20whole-object?= =?UTF-8?q?=20gate=20+=20propagated=20=E2=80=94=20e37=20copy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .run/P36/delever/calibration.json | 346 +++++++++++----------- .run/P36/delever/ledger.jsonl | 1 + src/ov_SC06_016/ov_SC06_016_jr_801839D0.c | 21 +- 3 files changed, 179 insertions(+), 189 deletions(-) diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index e71c9d3a0..4fcbeb336 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,5 +1,5 @@ { - "head": "0ed0d5f20", + "head": "16258f7e1", "stamp": "15956e4a96c4", "generated": "2026-09-11 06:29", "aliases": [ @@ -21,206 +21,206 @@ "main": { "objects": 85, "identical": 85, - "seconds": 6.125000000000002, + "seconds": 6.146999999999997, "mean_s": 0.072 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 4.381999999999999, - "mean_s": 0.137 + "seconds": 4.341, + "mean_s": 0.136 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 4.161999999999999, + "seconds": 4.151999999999999, "mean_s": 0.13 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 3.666, + "seconds": 3.68, "mean_s": 0.131 } }, "per_object_seconds": { - "build/src/800.o": 0.717, - "build/src/800_b.o": 0.073, - "build/src/800_b_2.o": 0.294, - "build/src/800_b_o0a.o": 0.063, - "build/src/800_c.o": 0.185, - "build/src/800b2.o": 0.071, - "build/src/apicard1.o": 0.067, - "build/src/apicard2.o": 0.058, - "build/src/apicard3.o": 0.057, - "build/src/apicard4.o": 0.062, - "build/src/apicard5.o": 0.078, - "build/src/apicard6.o": 0.068, - "build/src/apicard7.o": 0.079, - "build/src/boot.o": 0.08, - "build/src/gap.o": 0.081, + "build/src/800.o": 0.735, + "build/src/800_b.o": 0.082, + "build/src/800_b_2.o": 0.288, + "build/src/800_b_o0a.o": 0.061, + "build/src/800_c.o": 0.171, + "build/src/800b2.o": 0.065, + "build/src/apicard1.o": 0.076, + "build/src/apicard2.o": 0.057, + "build/src/apicard3.o": 0.071, + "build/src/apicard4.o": 0.059, + "build/src/apicard5.o": 0.074, + "build/src/apicard6.o": 0.057, + "build/src/apicard7.o": 0.075, + "build/src/boot.o": 0.079, + "build/src/gap.o": 0.064, "build/src/libapi1.o": 0.068, - "build/src/libapi2.o": 0.055, - "build/src/libc2_1.o": 0.062, - "build/src/libc2_2.o": 0.052, - "build/src/libcd1.o": 0.062, - "build/src/libcd2.o": 0.054, - "build/src/libetc.o": 0.055, - "build/src/libgpu.o": 0.054, - "build/src/libgpu2.o": 0.078, - "build/src/libgs1.o": 0.055, - "build/src/libgs2.o": 0.057, - "build/src/libgs3.o": 0.051, - "build/src/libgs4.o": 0.056, - "build/src/libgs5.o": 0.052, + "build/src/libapi2.o": 0.052, + "build/src/libc2_1.o": 0.059, + "build/src/libc2_2.o": 0.054, + "build/src/libcd1.o": 0.065, + "build/src/libcd2.o": 0.056, + "build/src/libetc.o": 0.057, + "build/src/libgpu.o": 0.055, + "build/src/libgpu2.o": 0.059, + "build/src/libgs1.o": 0.053, + "build/src/libgs2.o": 0.054, + "build/src/libgs3.o": 0.059, + "build/src/libgs4.o": 0.059, + "build/src/libgs5.o": 0.057, "build/src/libgs6.o": 0.07, "build/src/libgs7.o": 0.054, - "build/src/libgs8.o": 0.058, - "build/src/libgte1.o": 0.055, - "build/src/libgte10.o": 0.052, - "build/src/libgte11.o": 0.057, - "build/src/libgte12.o": 0.056, - "build/src/libgte13.o": 0.053, - "build/src/libgte14.o": 0.061, + "build/src/libgs8.o": 0.057, + "build/src/libgte1.o": 0.059, + "build/src/libgte10.o": 0.054, + "build/src/libgte11.o": 0.059, + "build/src/libgte12.o": 0.054, + "build/src/libgte13.o": 0.059, + "build/src/libgte14.o": 0.056, "build/src/libgte15.o": 0.059, - "build/src/libgte16.o": 0.053, - "build/src/libgte17.o": 0.062, - "build/src/libgte18.o": 0.054, - "build/src/libgte19.o": 0.057, - "build/src/libgte2.o": 0.057, - "build/src/libgte20.o": 0.058, - "build/src/libgte21.o": 0.052, - "build/src/libgte22.o": 0.056, - "build/src/libgte23.o": 0.062, - "build/src/libgte24.o": 0.055, - "build/src/libgte25.o": 0.064, + "build/src/libgte16.o": 0.06, + "build/src/libgte17.o": 0.06, + "build/src/libgte18.o": 0.057, + "build/src/libgte19.o": 0.058, + "build/src/libgte2.o": 0.051, + "build/src/libgte20.o": 0.06, + "build/src/libgte21.o": 0.06, + "build/src/libgte22.o": 0.057, + "build/src/libgte23.o": 0.055, + "build/src/libgte24.o": 0.061, + "build/src/libgte25.o": 0.063, "build/src/libgte26.o": 0.056, - "build/src/libgte27.o": 0.053, - "build/src/libgte28.o": 0.051, - "build/src/libgte29.o": 0.048, - "build/src/libgte3.o": 0.06, - "build/src/libgte30.o": 0.058, - "build/src/libgte4.o": 0.059, - "build/src/libgte5.o": 0.053, - "build/src/libgte6.o": 0.057, - "build/src/libgte7.o": 0.055, - "build/src/libgte8.o": 0.06, - "build/src/libgte9.o": 0.059, - "build/src/libmcrd1.o": 0.062, - "build/src/libmcrd2.o": 0.061, - "build/src/libpad1.o": 0.059, - "build/src/libpad2.o": 0.067, + "build/src/libgte27.o": 0.059, + "build/src/libgte28.o": 0.057, + "build/src/libgte29.o": 0.056, + "build/src/libgte3.o": 0.058, + "build/src/libgte30.o": 0.06, + "build/src/libgte4.o": 0.06, + "build/src/libgte5.o": 0.057, + "build/src/libgte6.o": 0.064, + "build/src/libgte7.o": 0.061, + "build/src/libgte8.o": 0.061, + "build/src/libgte9.o": 0.061, + "build/src/libmcrd1.o": 0.072, + "build/src/libmcrd2.o": 0.063, + "build/src/libpad1.o": 0.061, + "build/src/libpad2.o": 0.058, "build/src/sgap.o": 0.058, - "build/src/sgap_2.o": 0.062, - "build/src/sgap_3.o": 0.062, - "build/src/sgap_4.o": 0.066, - "build/src/sgap_5.o": 0.057, - "build/src/sgap_6.o": 0.059, - "build/src/sgap_8.o": 0.067, - "build/src/snd1.o": 0.062, - "build/src/snd10.o": 0.057, - "build/src/snd11.o": 0.058, - "build/src/snd12.o": 0.057, - "build/src/snd2.o": 0.071, - "build/src/snd3.o": 0.062, - "build/src/snd4.o": 0.054, - "build/src/snd5.o": 0.059, - "build/src/snd6.o": 0.065, - "build/src/snd7.o": 0.059, - "build/src/snd8.o": 0.059, - "build/src/snd9.o": 0.064, + "build/src/sgap_2.o": 0.066, + "build/src/sgap_3.o": 0.058, + "build/src/sgap_4.o": 0.065, + "build/src/sgap_5.o": 0.058, + "build/src/sgap_6.o": 0.058, + "build/src/sgap_8.o": 0.064, + "build/src/snd1.o": 0.067, + "build/src/snd10.o": 0.06, + "build/src/snd11.o": 0.06, + "build/src/snd12.o": 0.06, + "build/src/snd2.o": 0.066, + "build/src/snd3.o": 0.06, + "build/src/snd4.o": 0.059, + "build/src/snd5.o": 0.056, + "build/src/snd6.o": 0.06, + "build/src/snd7.o": 0.052, + "build/src/snd8.o": 0.052, + "build/src/snd9.o": 0.06, "build/src/ov_SC03_014/ov_SC03_014.o": 0.117, - "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.488, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.386, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.055, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.059, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.121, - "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.153, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.116, - "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.078, - "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.162, - "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.103, + "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.489, + "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.372, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.067, + "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.115, + "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.112, + "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.19, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.068, + "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.16, + "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.061, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.057, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.082, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.451, - "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.231, - "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.089, - "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.199, - "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.094, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.069, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.143, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.179, - "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.044, - "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.263, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.052, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.053, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.054, - "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.069, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.114, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.481, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.36, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.041, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.044, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.097, - "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.145, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.099, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.063, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.056, - "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.168, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.059, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.159, - "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.065, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.075, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.417, - "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.239, - "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.081, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.055, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.084, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.464, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.227, + "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.083, + "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.181, + "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.051, + "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.088, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.054, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.169, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.189, + "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.05, + "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.239, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.049, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.052, + "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.056, + "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.067, + "build/src/ov_SC03_015/ov_SC03_015.o": 0.105, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.464, + "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.367, + "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.051, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.109, + "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.139, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.088, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.066, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.053, + "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.15, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.062, + "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.148, + "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.086, + "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.055, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.068, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.09, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.4, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.231, + "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.189, - "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.051, - "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.085, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.062, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.15, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.19, - "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.05, - "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.247, - "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.06, - "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.053, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.052, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.068, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.124, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.409, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.312, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.047, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.049, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.096, - "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.141, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.104, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.073, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.059, - "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.161, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.061, - "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.158, - "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.078, - "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.068, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.078, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.33, - "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.194, - "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.083, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.159, - "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.053, - "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.085, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.064, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.095, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.409, + "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.054, + "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.09, + "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.161, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.198, + "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.041, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.254, + "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.052, + "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.056, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.054, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.058, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.099, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.399, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.341, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.042, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.052, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.104, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.139, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.1, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.071, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.058, + "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.165, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.058, + "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.084, + "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.061, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.064, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.083, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.342, + "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.217, + "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.084, + "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.146, + "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.054, + "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.092, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.062, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.088, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.413, "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.057, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.056 + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.055 }, "ok": true, "seconds": 2.1 diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index 960cf9455..658b11c9f 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -29574,3 +29574,4 @@ {"ts": "2026-09-11 06:29:19", "label": "s104_e37", "rung": "E", "calib": {"head": "5f04c6b2a", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c", "fn": "func_80187314", "addr": 2149085972, "aliases": null, "header": false, "includers": 0, "nhash_before": "1b81efe73a8f58e7f402be1cab04aa2adb1c18a3", "nhash_after": "f08c391b7258a64de85ad56a9667b419e0af174a", "source": ".run/P36/agents/ov_SC03_097__func_80182498/scratch/copies/ov_SC06_000__func_80187314.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.265, "objects": ["build/src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.o"], "before_text": "void func_80187314(s32 a0) {\n\n extern s16 D_801B1DE8;\n extern s16 D_801B1DEA;\n extern u8 D_801B1DF0;\n extern u8 D_801B1DF1;\n extern u8 D_801B1DF2;\n\n extern s16 D_801B1DF4;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_80187314 D_800A651C[];\n\n s32 m[8]; /* sp+0x10 */\n u8 sv[8]; /* sp+0x30 */\n u16 out[4]; /* sp+0x38 */\n s32 scale[4]; /* sp+0x40 */\n\n u8 *q;\n Rec_8018B23C_80187314 *p;\n s32 x;\n s32 y;\n s32 ang;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_80187314 *)m = *(Mat32_8018B23C_80187314 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801B1DF0;\n *(u8 *)(q + 5) = D_801B1DF1;\n *(u8 *)(q + 6) = D_801B1DF2;\n\n p = (Rec_8018B23C_80187314 *)((s32)&D_801B1DF4 + (a0 << 4));\n x = p->fA + (u16)D_801B1DE8;\n y = p->fE + (u16)D_801B1DEA;\n RotMatrixZ(p->f6, m);\n\n scale[0] = *(s16 *)((s32)p + 2);\n scale[1] = *(s16 *)((s32)p + 2);\n scale[2] = *(s16 *)((s32)p + 2);\n func_8004901C(m, scale);\n\n *(s16 *)(sv + 4) = 0;\n *(s16 *)(sv + 2) = 0;\n *(s16 *)(sv + 0) = p->f0;\n {\n void *svp = sv;\n void *outp = out;\n ApplyMatrixSV(m, svp, outp);\n __asm__ __volatile__(\"\" : \"=r\"(svp)); // !FAKE: launder out-only \u2014 NEEDED DIFFERS (P36 rung B tus7)\n __asm__ __volatile__(\"\" : \"=r\"(outp)); // !FAKE: launder out-only \u2014 NEEDED DIFFERS (P36 rung B tus7)\n }\n\n *(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3;\n *(s16 *)(q + 0xA) = y + ((s16)out[1] >> 1) * 3;\n *(s16 *)(q + 0xC) = x - ((s16)out[0] >> 1);\n *(s16 *)(q + 0xE) = y - ((s16)out[1] >> 1);\n x = x + out[0];\n *(s16 *)(q + 0x10) = x;\n y = y + out[1];\n *(s16 *)(q + 0x12) = y;\n\n ang = -0x400;\n if (p->f0 & 1) {\n ang = 0x400;\n }\n RotMatrixZ(ang, m);\n\n *(s16 *)(sv + 0) = 2;\n {\n /* lever C: sp+0x10 IS &m, but spelled so cse cannot fold it to $s4 */\n register u8 *spr __asm__(\"$29\"); // !FAKE: pin $29 \u2014 NEEDED DIFFERS (P36 rung B tus7)\n ApplyMatrixSV(spr + 0x10, sv, out);\n }\n\n *(s16 *)(q + 0x10) = *(u16 *)(q + 0x10) + out[0];\n *(s16 *)(q + 0x12) = *(u16 *)(q + 0x12) + out[1];\n\n {\n Bidx_8018B23C_80187314 *bp = (Bidx_8018B23C_80187314 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_80187314 *)q)->addr =\n ((PTag_8018B23C_80187314 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_80187314 *)(D_800A651C[bp->f].a + 0x40))->addr = (u32)q;\n func_80016638(&D_800A6518[bp->f * 20], 0x10, 1);\n }\n}\n", "after_text": "void func_80187314(s32 a0) {\n\n extern s16 D_801B1DE8;\n extern s16 D_801B1DEA;\n extern u8 D_801B1DF0;\n extern u8 D_801B1DF1;\n extern u8 D_801B1DF2;\n\n extern s16 D_801B1DF4;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_80187314 D_800A651C[];\n\n s32 m[8]; /* sp+0x10 */\n u8 sv[8]; /* sp+0x30 */\n u16 out[4]; /* sp+0x38 */\n s32 scale[4]; /* sp+0x40 */\n\n u8 *q;\n Rec_8018B23C_80187314 *p;\n s32 x;\n s32 y;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_80187314 *)m = *(Mat32_8018B23C_80187314 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801B1DF0;\n *(u8 *)(q + 5) = D_801B1DF1;\n *(u8 *)(q + 6) = D_801B1DF2;\n\n p = (Rec_8018B23C_80187314 *)((s32)&D_801B1DF4 + (a0 << 4));\n x = p->fA + (u16)D_801B1DE8;\n y = p->fE + (u16)D_801B1DEA;\n RotMatrixZ(p->f6, m);\n\n scale[0] = *(s16 *)((s32)p + 2);\n scale[1] = *(s16 *)((s32)p + 2);\n scale[2] = *(s16 *)((s32)p + 2);\n func_8004901C(m, scale);\n\n *(s16 *)(sv + 4) = 0;\n *(s16 *)(sv + 2) = 0;\n *(s16 *)(sv + 0) = p->f0;\n ApplyMatrixSV(m, sv, out);\n\n *(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3;\n *(s16 *)(q + 0xA) = y + ((s16)out[1] >> 1) * 3;\n *(s16 *)(q + 0xC) = x - ((s16)out[0] >> 1);\n *(s16 *)(q + 0xE) = y - ((s16)out[1] >> 1);\n x = x + out[0];\n *(s16 *)(q + 0x10) = x;\n y = y + out[1];\n *(s16 *)(q + 0x12) = y;\n\n if (p->f0 & 1) {\n RotMatrixZ(0x400, m);\n } else {\n RotMatrixZ(-0x400, m);\n }\n\n *(s16 *)(sv + 0) = 2;\n ApplyMatrixSV(m, sv, out);\n\n *(s16 *)(q + 0x10) = *(u16 *)(q + 0x10) + out[0];\n *(s16 *)(q + 0x12) = *(u16 *)(q + 0x12) + out[1];\n\n {\n Bidx_8018B23C_80187314 *bp = (Bidx_8018B23C_80187314 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_80187314 *)q)->addr =\n ((PTag_8018B23C_80187314 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_80187314 *)(D_800A651C[bp->f].a + 0x40))->addr = (u32)q;\n func_80016638(&D_800A6518[bp->f * 20], 0x10, 1);\n }\n}\n"} {"ts": "2026-09-11 06:29:36", "label": "s104_e37", "rung": "E", "calib": {"head": "488b32588", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC02_028/ov_SC02_028_jr_8017D898.c", "fn": "func_801844D4", "addr": 2149074132, "aliases": null, "header": false, "includers": 0, "nhash_before": "c34b4054c32f52fb31f2f066b6e8a02791cb9bd4", "nhash_after": "77276259830e6293a6a06d04b319a52c9c73837e", "source": ".run/P36/agents/ov_SC03_097__func_80182498/scratch/copies/ov_SC02_028__func_801844D4.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.16, "objects": ["build/src/ov_SC02_028/ov_SC02_028_jr_8017D898.o"], "before_text": "void func_801844D4(s32 a0) {\n\n extern s16 D_801D3180;\n extern s16 D_801D3182;\n extern u8 D_801D3188;\n extern u8 D_801D3189;\n extern u8 D_801D318A;\n\n extern s16 D_801D318C;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_801844D4 D_800A651C[];\n\n s32 m[8]; /* sp+0x10 */\n u8 sv[8]; /* sp+0x30 */\n u16 out[4]; /* sp+0x38 */\n s32 scale[4]; /* sp+0x40 */\n\n u8 *q;\n Rec_8018B23C_801844D4 *p;\n s32 x;\n s32 y;\n s32 ang;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_801844D4 *)m = *(Mat32_8018B23C_801844D4 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801D3188;\n *(u8 *)(q + 5) = D_801D3189;\n *(u8 *)(q + 6) = D_801D318A;\n\n p = (Rec_8018B23C_801844D4 *)((s32)&D_801D318C + (a0 << 4));\n x = p->fA + (u16)D_801D3180;\n y = p->fE + (u16)D_801D3182;\n RotMatrixZ(p->f6, m);\n\n scale[0] = *(s16 *)((s32)p + 2);\n scale[1] = *(s16 *)((s32)p + 2);\n scale[2] = *(s16 *)((s32)p + 2);\n func_8004901C(m, scale);\n\n *(s16 *)(sv + 4) = 0;\n *(s16 *)(sv + 2) = 0;\n *(s16 *)(sv + 0) = p->f0;\n {\n void *svp = sv;\n void *outp = out;\n ApplyMatrixSV(m, svp, outp);\n __asm__ __volatile__(\"\" : \"=r\"(svp)); // !FAKE: launder out-only \u2014 NEEDED DIFFERS (P36 rung B tus9)\n __asm__ __volatile__(\"\" : \"=r\"(outp)); // !FAKE: launder out-only \u2014 NEEDED DIFFERS (P36 rung B tus9)\n }\n\n *(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3;\n *(s16 *)(q + 0xA) = y + ((s16)out[1] >> 1) * 3;\n *(s16 *)(q + 0xC) = x - ((s16)out[0] >> 1);\n *(s16 *)(q + 0xE) = y - ((s16)out[1] >> 1);\n x = x + out[0];\n *(s16 *)(q + 0x10) = x;\n y = y + out[1];\n *(s16 *)(q + 0x12) = y;\n\n ang = -0x400;\n if (p->f0 & 1) {\n ang = 0x400;\n }\n RotMatrixZ(ang, m);\n\n *(s16 *)(sv + 0) = 2;\n {\n /* lever C: sp+0x10 IS &m, but spelled so cse cannot fold it to $s4 */\n register u8 *spr __asm__(\"$29\"); // !FAKE: pin $29 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n ApplyMatrixSV(spr + 0x10, sv, out);\n }\n\n *(s16 *)(q + 0x10) = *(u16 *)(q + 0x10) + out[0];\n *(s16 *)(q + 0x12) = *(u16 *)(q + 0x12) + out[1];\n\n {\n Bidx_8018B23C_801844D4 *bp = (Bidx_8018B23C_801844D4 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_801844D4 *)q)->addr =\n ((PTag_8018B23C_801844D4 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_801844D4 *)(D_800A651C[bp->f].a + 0x40))->addr = (u32)q;\n func_80016638(&D_800A6518[bp->f * 20], 0x10, 1);\n }\n}\n", "after_text": "void func_801844D4(s32 a0) {\n\n extern s16 D_801D3180;\n extern s16 D_801D3182;\n extern u8 D_801D3188;\n extern u8 D_801D3189;\n extern u8 D_801D318A;\n\n extern s16 D_801D318C;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_801844D4 D_800A651C[];\n\n s32 m[8]; /* sp+0x10 */\n u8 sv[8]; /* sp+0x30 */\n u16 out[4]; /* sp+0x38 */\n s32 scale[4]; /* sp+0x40 */\n\n u8 *q;\n Rec_8018B23C_801844D4 *p;\n s32 x;\n s32 y;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_801844D4 *)m = *(Mat32_8018B23C_801844D4 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801D3188;\n *(u8 *)(q + 5) = D_801D3189;\n *(u8 *)(q + 6) = D_801D318A;\n\n p = (Rec_8018B23C_801844D4 *)((s32)&D_801D318C + (a0 << 4));\n x = p->fA + (u16)D_801D3180;\n y = p->fE + (u16)D_801D3182;\n RotMatrixZ(p->f6, m);\n\n scale[0] = *(s16 *)((s32)p + 2);\n scale[1] = *(s16 *)((s32)p + 2);\n scale[2] = *(s16 *)((s32)p + 2);\n func_8004901C(m, scale);\n\n *(s16 *)(sv + 4) = 0;\n *(s16 *)(sv + 2) = 0;\n *(s16 *)(sv + 0) = p->f0;\n ApplyMatrixSV(m, sv, out);\n\n *(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3;\n *(s16 *)(q + 0xA) = y + ((s16)out[1] >> 1) * 3;\n *(s16 *)(q + 0xC) = x - ((s16)out[0] >> 1);\n *(s16 *)(q + 0xE) = y - ((s16)out[1] >> 1);\n x = x + out[0];\n *(s16 *)(q + 0x10) = x;\n y = y + out[1];\n *(s16 *)(q + 0x12) = y;\n\n if (p->f0 & 1) {\n RotMatrixZ(0x400, m);\n } else {\n RotMatrixZ(-0x400, m);\n }\n\n *(s16 *)(sv + 0) = 2;\n ApplyMatrixSV(m, sv, out);\n\n *(s16 *)(q + 0x10) = *(u16 *)(q + 0x10) + out[0];\n *(s16 *)(q + 0x12) = *(u16 *)(q + 0x12) + out[1];\n\n {\n Bidx_8018B23C_801844D4 *bp = (Bidx_8018B23C_801844D4 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_801844D4 *)q)->addr =\n ((PTag_8018B23C_801844D4 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_801844D4 *)(D_800A651C[bp->f].a + 0x40))->addr = (u32)q;\n func_80016638(&D_800A6518[bp->f * 20], 0x10, 1);\n }\n}\n"} {"ts": "2026-09-11 06:29:53", "label": "s104_e37", "rung": "E", "calib": {"head": "0ed0d5f20", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_104/ov_SC03_104_jr_80182038.c", "fn": "func_80185E34", "addr": 2149080628, "aliases": null, "header": false, "includers": 0, "nhash_before": "cf9607e52aaba379c3b19aab15379490654263c8", "nhash_after": "e37fc9915be39de25cfe4f804eb04dac5faaae78", "source": ".run/P36/agents/ov_SC03_097__func_80182498/scratch/copies/ov_SC03_104__func_80185E34.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.11, "objects": ["build/src/ov_SC03_104/ov_SC03_104_jr_80182038.o"], "before_text": "void func_80185E34(s32 a0) {\n\n extern s16 D_801C0130;\n extern s16 D_801C0132;\n extern u8 D_801C0138;\n extern u8 D_801C0139;\n extern u8 D_801C013A;\n\n extern s16 D_801C013C;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_80185E34 D_800A651C[];\n\n s32 m[8]; /* sp+0x10 */\n u8 sv[8]; /* sp+0x30 */\n u16 out[4]; /* sp+0x38 */\n s32 scale[4]; /* sp+0x40 */\n\n u8 *q;\n Rec_8018B23C_80185E34 *p;\n s32 x;\n s32 y;\n s32 ang;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_80185E34 *)m = *(Mat32_8018B23C_80185E34 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801C0138;\n *(u8 *)(q + 5) = D_801C0139;\n *(u8 *)(q + 6) = D_801C013A;\n\n p = (Rec_8018B23C_80185E34 *)((s32)&D_801C013C + (a0 << 4));\n x = p->fA + (u16)D_801C0130;\n y = p->fE + (u16)D_801C0132;\n RotMatrixZ(p->f6, m);\n\n scale[0] = *(s16 *)((s32)p + 2);\n scale[1] = *(s16 *)((s32)p + 2);\n scale[2] = *(s16 *)((s32)p + 2);\n func_8004901C(m, scale);\n\n *(s16 *)(sv + 4) = 0;\n *(s16 *)(sv + 2) = 0;\n *(s16 *)(sv + 0) = p->f0;\n {\n void *svp = sv;\n void *outp = out;\n ApplyMatrixSV(m, svp, outp);\n __asm__ __volatile__(\"\" : \"=r\"(svp)); // !FAKE: launder out-only \u2014 NEEDED DIFFERS (P36 rung B tus9)\n __asm__ __volatile__(\"\" : \"=r\"(outp)); // !FAKE: launder out-only \u2014 NEEDED DIFFERS (P36 rung B tus9)\n }\n\n *(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3;\n *(s16 *)(q + 0xA) = y + ((s16)out[1] >> 1) * 3;\n *(s16 *)(q + 0xC) = x - ((s16)out[0] >> 1);\n *(s16 *)(q + 0xE) = y - ((s16)out[1] >> 1);\n x = x + out[0];\n *(s16 *)(q + 0x10) = x;\n y = y + out[1];\n *(s16 *)(q + 0x12) = y;\n\n ang = -0x400;\n if (p->f0 & 1) {\n ang = 0x400;\n }\n RotMatrixZ(ang, m);\n\n *(s16 *)(sv + 0) = 2;\n {\n /* lever C: sp+0x10 IS &m, but spelled so cse cannot fold it to $s4 */\n register u8 *spr __asm__(\"$29\"); // !FAKE: pin $29 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n ApplyMatrixSV(spr + 0x10, sv, out);\n }\n\n *(s16 *)(q + 0x10) = *(u16 *)(q + 0x10) + out[0];\n *(s16 *)(q + 0x12) = *(u16 *)(q + 0x12) + out[1];\n\n {\n Bidx_8018B23C_80185E34 *bp = (Bidx_8018B23C_80185E34 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_80185E34 *)q)->addr =\n ((PTag_8018B23C_80185E34 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_80185E34 *)(D_800A651C[bp->f].a + 0x40))->addr = (u32)q;\n func_80016638(&D_800A6518[bp->f * 20], 0x10, 1);\n }\n}\n", "after_text": "void func_80185E34(s32 a0) {\n\n extern s16 D_801C0130;\n extern s16 D_801C0132;\n extern u8 D_801C0138;\n extern u8 D_801C0139;\n extern u8 D_801C013A;\n\n extern s16 D_801C013C;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_80185E34 D_800A651C[];\n\n s32 m[8]; /* sp+0x10 */\n u8 sv[8]; /* sp+0x30 */\n u16 out[4]; /* sp+0x38 */\n s32 scale[4]; /* sp+0x40 */\n\n u8 *q;\n Rec_8018B23C_80185E34 *p;\n s32 x;\n s32 y;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_80185E34 *)m = *(Mat32_8018B23C_80185E34 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801C0138;\n *(u8 *)(q + 5) = D_801C0139;\n *(u8 *)(q + 6) = D_801C013A;\n\n p = (Rec_8018B23C_80185E34 *)((s32)&D_801C013C + (a0 << 4));\n x = p->fA + (u16)D_801C0130;\n y = p->fE + (u16)D_801C0132;\n RotMatrixZ(p->f6, m);\n\n scale[0] = *(s16 *)((s32)p + 2);\n scale[1] = *(s16 *)((s32)p + 2);\n scale[2] = *(s16 *)((s32)p + 2);\n func_8004901C(m, scale);\n\n *(s16 *)(sv + 4) = 0;\n *(s16 *)(sv + 2) = 0;\n *(s16 *)(sv + 0) = p->f0;\n ApplyMatrixSV(m, sv, out);\n\n *(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3;\n *(s16 *)(q + 0xA) = y + ((s16)out[1] >> 1) * 3;\n *(s16 *)(q + 0xC) = x - ((s16)out[0] >> 1);\n *(s16 *)(q + 0xE) = y - ((s16)out[1] >> 1);\n x = x + out[0];\n *(s16 *)(q + 0x10) = x;\n y = y + out[1];\n *(s16 *)(q + 0x12) = y;\n\n if (p->f0 & 1) {\n RotMatrixZ(0x400, m);\n } else {\n RotMatrixZ(-0x400, m);\n }\n\n *(s16 *)(sv + 0) = 2;\n ApplyMatrixSV(m, sv, out);\n\n *(s16 *)(q + 0x10) = *(u16 *)(q + 0x10) + out[0];\n *(s16 *)(q + 0x12) = *(u16 *)(q + 0x12) + out[1];\n\n {\n Bidx_8018B23C_80185E34 *bp = (Bidx_8018B23C_80185E34 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_80185E34 *)q)->addr =\n ((PTag_8018B23C_80185E34 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_80185E34 *)(D_800A651C[bp->f].a + 0x40))->addr = (u32)q;\n func_80016638(&D_800A6518[bp->f * 20], 0x10, 1);\n }\n}\n"} +{"ts": "2026-09-11 06:30:10", "label": "s104_e37", "rung": "E", "calib": {"head": "16258f7e1", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_016/ov_SC06_016_jr_801839D0.c", "fn": "func_80184918", "addr": 2149075224, "aliases": null, "header": false, "includers": 0, "nhash_before": "73a90a105a926642726f67f616719041688bfc7c", "nhash_after": "aeba71f1293913b02e0d3f33e088c26601815112", "source": ".run/P36/agents/ov_SC03_097__func_80182498/scratch/copies/ov_SC06_016__func_80184918.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.055, "objects": ["build/src/ov_SC06_016/ov_SC06_016_jr_801839D0.o"], "before_text": "void func_80184918(s32 a0) {\n\n extern s16 D_8019FF08;\n extern s16 D_8019FF0A;\n extern u8 D_8019FF10;\n extern u8 D_8019FF11;\n extern u8 D_8019FF12;\n\n extern s16 D_8019FF14;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_80184918 D_800A651C[];\n\n s32 m[8]; /* sp+0x10 */\n u8 sv[8]; /* sp+0x30 */\n u16 out[4]; /* sp+0x38 */\n s32 scale[4]; /* sp+0x40 */\n\n u8 *q;\n Rec_8018B23C_80184918 *p;\n s32 x;\n s32 y;\n s32 ang;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_80184918 *)m = *(Mat32_8018B23C_80184918 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_8019FF10;\n *(u8 *)(q + 5) = D_8019FF11;\n *(u8 *)(q + 6) = D_8019FF12;\n\n p = (Rec_8018B23C_80184918 *)((s32)&D_8019FF14 + (a0 << 4));\n x = p->fA + (u16)D_8019FF08;\n y = p->fE + (u16)D_8019FF0A;\n RotMatrixZ(p->f6, m);\n\n scale[0] = *(s16 *)((s32)p + 2);\n scale[1] = *(s16 *)((s32)p + 2);\n scale[2] = *(s16 *)((s32)p + 2);\n func_8004901C(m, scale);\n\n *(s16 *)(sv + 4) = 0;\n *(s16 *)(sv + 2) = 0;\n *(s16 *)(sv + 0) = p->f0;\n {\n void *svp = sv;\n void *outp = out;\n ApplyMatrixSV(m, svp, outp);\n __asm__ __volatile__(\"\" : \"=r\"(svp)); // !FAKE: launder out-only \u2014 NEEDED DIFFERS (P36 rung B tus10)\n __asm__ __volatile__(\"\" : \"=r\"(outp)); // !FAKE: launder out-only \u2014 NEEDED DIFFERS (P36 rung B tus10)\n }\n\n *(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3;\n *(s16 *)(q + 0xA) = y + ((s16)out[1] >> 1) * 3;\n *(s16 *)(q + 0xC) = x - ((s16)out[0] >> 1);\n *(s16 *)(q + 0xE) = y - ((s16)out[1] >> 1);\n x = x + out[0];\n *(s16 *)(q + 0x10) = x;\n y = y + out[1];\n *(s16 *)(q + 0x12) = y;\n\n ang = -0x400;\n if (p->f0 & 1) {\n ang = 0x400;\n }\n RotMatrixZ(ang, m);\n\n *(s16 *)(sv + 0) = 2;\n {\n /* lever C: sp+0x10 IS &m, but spelled so cse cannot fold it to $s4 */\n register u8 *spr __asm__(\"$29\"); // !FAKE: pin $29 \u2014 NEEDED DIFFERS (P36 rung B tus10)\n ApplyMatrixSV(spr + 0x10, sv, out);\n }\n\n *(s16 *)(q + 0x10) = *(u16 *)(q + 0x10) + out[0];\n *(s16 *)(q + 0x12) = *(u16 *)(q + 0x12) + out[1];\n\n {\n Bidx_8018B23C_80184918 *bp = (Bidx_8018B23C_80184918 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_80184918 *)q)->addr =\n ((PTag_8018B23C_80184918 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_80184918 *)(D_800A651C[bp->f].a + 0x40))->addr = (u32)q;\n func_80016638(&D_800A6518[bp->f * 20], 0x10, 1);\n }\n}\n", "after_text": "void func_80184918(s32 a0) {\n\n extern s16 D_8019FF08;\n extern s16 D_8019FF0A;\n extern u8 D_8019FF10;\n extern u8 D_8019FF11;\n extern u8 D_8019FF12;\n\n extern s16 D_8019FF14;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_80184918 D_800A651C[];\n\n s32 m[8]; /* sp+0x10 */\n u8 sv[8]; /* sp+0x30 */\n u16 out[4]; /* sp+0x38 */\n s32 scale[4]; /* sp+0x40 */\n\n u8 *q;\n Rec_8018B23C_80184918 *p;\n s32 x;\n s32 y;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_80184918 *)m = *(Mat32_8018B23C_80184918 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_8019FF10;\n *(u8 *)(q + 5) = D_8019FF11;\n *(u8 *)(q + 6) = D_8019FF12;\n\n p = (Rec_8018B23C_80184918 *)((s32)&D_8019FF14 + (a0 << 4));\n x = p->fA + (u16)D_8019FF08;\n y = p->fE + (u16)D_8019FF0A;\n RotMatrixZ(p->f6, m);\n\n scale[0] = *(s16 *)((s32)p + 2);\n scale[1] = *(s16 *)((s32)p + 2);\n scale[2] = *(s16 *)((s32)p + 2);\n func_8004901C(m, scale);\n\n *(s16 *)(sv + 4) = 0;\n *(s16 *)(sv + 2) = 0;\n *(s16 *)(sv + 0) = p->f0;\n ApplyMatrixSV(m, sv, out);\n\n *(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3;\n *(s16 *)(q + 0xA) = y + ((s16)out[1] >> 1) * 3;\n *(s16 *)(q + 0xC) = x - ((s16)out[0] >> 1);\n *(s16 *)(q + 0xE) = y - ((s16)out[1] >> 1);\n x = x + out[0];\n *(s16 *)(q + 0x10) = x;\n y = y + out[1];\n *(s16 *)(q + 0x12) = y;\n\n if (p->f0 & 1) {\n RotMatrixZ(0x400, m);\n } else {\n RotMatrixZ(-0x400, m);\n }\n\n *(s16 *)(sv + 0) = 2;\n ApplyMatrixSV(m, sv, out);\n\n *(s16 *)(q + 0x10) = *(u16 *)(q + 0x10) + out[0];\n *(s16 *)(q + 0x12) = *(u16 *)(q + 0x12) + out[1];\n\n {\n Bidx_8018B23C_80184918 *bp = (Bidx_8018B23C_80184918 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_80184918 *)q)->addr =\n ((PTag_8018B23C_80184918 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_80184918 *)(D_800A651C[bp->f].a + 0x40))->addr = (u32)q;\n func_80016638(&D_800A6518[bp->f * 20], 0x10, 1);\n }\n}\n"} diff --git a/src/ov_SC06_016/ov_SC06_016_jr_801839D0.c b/src/ov_SC06_016/ov_SC06_016_jr_801839D0.c index a1a0e0957..1b5dc105d 100644 --- a/src/ov_SC06_016/ov_SC06_016_jr_801839D0.c +++ b/src/ov_SC06_016/ov_SC06_016_jr_801839D0.c @@ -3807,7 +3807,6 @@ void func_80184918(s32 a0) { Rec_8018B23C_80184918 *p; s32 x; s32 y; - s32 ang; q = D_800A5E60; @@ -3833,13 +3832,7 @@ void func_80184918(s32 a0) { *(s16 *)(sv + 4) = 0; *(s16 *)(sv + 2) = 0; *(s16 *)(sv + 0) = p->f0; - { - void *svp = sv; - void *outp = out; - ApplyMatrixSV(m, svp, outp); - __asm__ __volatile__("" : "=r"(svp)); // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus10) - __asm__ __volatile__("" : "=r"(outp)); // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus10) - } + ApplyMatrixSV(m, sv, out); *(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3; *(s16 *)(q + 0xA) = y + ((s16)out[1] >> 1) * 3; @@ -3850,18 +3843,14 @@ void func_80184918(s32 a0) { y = y + out[1]; *(s16 *)(q + 0x12) = y; - ang = -0x400; if (p->f0 & 1) { - ang = 0x400; + RotMatrixZ(0x400, m); + } else { + RotMatrixZ(-0x400, m); } - RotMatrixZ(ang, m); *(s16 *)(sv + 0) = 2; - { - /* lever C: sp+0x10 IS &m, but spelled so cse cannot fold it to $s4 */ - register u8 *spr __asm__("$29"); // !FAKE: pin $29 — NEEDED DIFFERS (P36 rung B tus10) - ApplyMatrixSV(spr + 0x10, sv, out); - } + ApplyMatrixSV(m, sv, out); *(s16 *)(q + 0x10) = *(u16 *)(q + 0x10) + out[0]; *(s16 *)(q + 0x12) = *(u16 *)(q + 0x12) + out[1];