From 0ed0d5f20083defef7c0cf69d80e1eccf4054698 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 11 Sep 2026 06:29:38 -0600 Subject: [PATCH] =?UTF-8?q?phase-36:=20S104=20s104=5Fe37=20=E2=80=94=20fun?= =?UTF-8?q?c=5F801844D4=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 | 354 +++++++++++----------- .run/P36/delever/ledger.jsonl | 1 + src/ov_SC02_028/ov_SC02_028_jr_8017D898.c | 21 +- 3 files changed, 183 insertions(+), 193 deletions(-) diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index 10a200251..4a133e801 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,5 +1,5 @@ { - "head": "5f04c6b2a", + "head": "488b32588", "stamp": "15956e4a96c4", "generated": "2026-09-11 06:29", "aliases": [ @@ -21,206 +21,206 @@ "main": { "objects": 85, "identical": 85, - "seconds": 6.122000000000002, - "mean_s": 0.072 + "seconds": 6.197, + "mean_s": 0.073 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 4.262000000000001, - "mean_s": 0.133 + "seconds": 4.379, + "mean_s": 0.137 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 4.251000000000001, - "mean_s": 0.133 + "seconds": 4.16, + "mean_s": 0.13 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 3.7280000000000006, - "mean_s": 0.133 + "seconds": 3.6649999999999996, + "mean_s": 0.131 } }, "per_object_seconds": { - "build/src/800.o": 0.682, - "build/src/800_b.o": 0.064, - "build/src/800_b_2.o": 0.263, - "build/src/800_b_o0a.o": 0.063, - "build/src/800_c.o": 0.191, - "build/src/800b2.o": 0.083, - "build/src/apicard1.o": 0.055, - "build/src/apicard2.o": 0.076, - "build/src/apicard3.o": 0.08, - "build/src/apicard4.o": 0.079, - "build/src/apicard5.o": 0.057, - "build/src/apicard6.o": 0.058, - "build/src/apicard7.o": 0.054, - "build/src/boot.o": 0.089, - "build/src/gap.o": 0.06, - "build/src/libapi1.o": 0.063, - "build/src/libapi2.o": 0.051, - "build/src/libc2_1.o": 0.063, - "build/src/libc2_2.o": 0.058, - "build/src/libcd1.o": 0.065, - "build/src/libcd2.o": 0.058, - "build/src/libetc.o": 0.059, - "build/src/libgpu.o": 0.062, - "build/src/libgpu2.o": 0.075, + "build/src/800.o": 0.755, + "build/src/800_b.o": 0.072, + "build/src/800_b_2.o": 0.279, + "build/src/800_b_o0a.o": 0.065, + "build/src/800_c.o": 0.187, + "build/src/800b2.o": 0.064, + "build/src/apicard1.o": 0.067, + "build/src/apicard2.o": 0.059, + "build/src/apicard3.o": 0.065, + "build/src/apicard4.o": 0.057, + "build/src/apicard5.o": 0.082, + "build/src/apicard6.o": 0.084, + "build/src/apicard7.o": 0.063, + "build/src/boot.o": 0.086, + "build/src/gap.o": 0.076, + "build/src/libapi1.o": 0.064, + "build/src/libapi2.o": 0.053, + "build/src/libc2_1.o": 0.059, + "build/src/libc2_2.o": 0.056, + "build/src/libcd1.o": 0.069, + "build/src/libcd2.o": 0.053, + "build/src/libetc.o": 0.055, + "build/src/libgpu.o": 0.056, + "build/src/libgpu2.o": 0.068, "build/src/libgs1.o": 0.061, - "build/src/libgs2.o": 0.056, - "build/src/libgs3.o": 0.059, - "build/src/libgs4.o": 0.059, - "build/src/libgs5.o": 0.059, - "build/src/libgs6.o": 0.062, + "build/src/libgs2.o": 0.048, + "build/src/libgs3.o": 0.057, + "build/src/libgs4.o": 0.057, + "build/src/libgs5.o": 0.058, + "build/src/libgs6.o": 0.069, "build/src/libgs7.o": 0.056, - "build/src/libgs8.o": 0.058, - "build/src/libgte1.o": 0.054, - "build/src/libgte10.o": 0.053, - "build/src/libgte11.o": 0.059, - "build/src/libgte12.o": 0.06, - "build/src/libgte13.o": 0.061, - "build/src/libgte14.o": 0.061, - "build/src/libgte15.o": 0.057, - "build/src/libgte16.o": 0.059, - "build/src/libgte17.o": 0.064, - "build/src/libgte18.o": 0.055, - "build/src/libgte19.o": 0.057, - "build/src/libgte2.o": 0.061, + "build/src/libgs8.o": 0.056, + "build/src/libgte1.o": 0.055, + "build/src/libgte10.o": 0.056, + "build/src/libgte11.o": 0.053, + "build/src/libgte12.o": 0.064, + "build/src/libgte13.o": 0.052, + "build/src/libgte14.o": 0.052, + "build/src/libgte15.o": 0.071, + "build/src/libgte16.o": 0.06, + "build/src/libgte17.o": 0.051, + "build/src/libgte18.o": 0.058, + "build/src/libgte19.o": 0.055, + "build/src/libgte2.o": 0.055, "build/src/libgte20.o": 0.056, - "build/src/libgte21.o": 0.053, - "build/src/libgte22.o": 0.053, - "build/src/libgte23.o": 0.052, - "build/src/libgte24.o": 0.06, - "build/src/libgte25.o": 0.064, - "build/src/libgte26.o": 0.054, - "build/src/libgte27.o": 0.056, - "build/src/libgte28.o": 0.06, - "build/src/libgte29.o": 0.063, + "build/src/libgte21.o": 0.055, + "build/src/libgte22.o": 0.059, + "build/src/libgte23.o": 0.062, + "build/src/libgte24.o": 0.059, + "build/src/libgte25.o": 0.061, + "build/src/libgte26.o": 0.055, + "build/src/libgte27.o": 0.061, + "build/src/libgte28.o": 0.059, + "build/src/libgte29.o": 0.057, "build/src/libgte3.o": 0.059, - "build/src/libgte30.o": 0.065, - "build/src/libgte4.o": 0.061, - "build/src/libgte5.o": 0.058, - "build/src/libgte6.o": 0.06, - "build/src/libgte7.o": 0.057, - "build/src/libgte8.o": 0.056, - "build/src/libgte9.o": 0.059, - "build/src/libmcrd1.o": 0.068, - "build/src/libmcrd2.o": 0.059, - "build/src/libpad1.o": 0.059, - "build/src/libpad2.o": 0.065, - "build/src/sgap.o": 0.062, - "build/src/sgap_2.o": 0.062, - "build/src/sgap_3.o": 0.054, - "build/src/sgap_4.o": 0.07, - "build/src/sgap_5.o": 0.059, - "build/src/sgap_6.o": 0.063, - "build/src/sgap_8.o": 0.067, - "build/src/snd1.o": 0.059, - "build/src/snd10.o": 0.062, - "build/src/snd11.o": 0.063, - "build/src/snd12.o": 0.05, - "build/src/snd2.o": 0.064, - "build/src/snd3.o": 0.059, - "build/src/snd4.o": 0.057, - "build/src/snd5.o": 0.058, - "build/src/snd6.o": 0.06, - "build/src/snd7.o": 0.053, - "build/src/snd8.o": 0.063, - "build/src/snd9.o": 0.061, - "build/src/ov_SC03_014/ov_SC03_014.o": 0.115, - "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.474, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.352, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.052, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.058, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.11, - "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.14, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.105, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.094, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.062, - "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.171, - "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.165, - "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.089, - "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.06, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.061, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.087, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.417, - "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.23, - "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.095, - "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.195, - "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.055, - "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.087, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.063, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.135, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.192, + "build/src/libgte30.o": 0.06, + "build/src/libgte4.o": 0.064, + "build/src/libgte5.o": 0.06, + "build/src/libgte6.o": 0.056, + "build/src/libgte7.o": 0.059, + "build/src/libgte8.o": 0.058, + "build/src/libgte9.o": 0.062, + "build/src/libmcrd1.o": 0.067, + "build/src/libmcrd2.o": 0.064, + "build/src/libpad1.o": 0.064, + "build/src/libpad2.o": 0.061, + "build/src/sgap.o": 0.059, + "build/src/sgap_2.o": 0.06, + "build/src/sgap_3.o": 0.055, + "build/src/sgap_4.o": 0.067, + "build/src/sgap_5.o": 0.052, + "build/src/sgap_6.o": 0.058, + "build/src/sgap_8.o": 0.066, + "build/src/snd1.o": 0.065, + "build/src/snd10.o": 0.061, + "build/src/snd11.o": 0.056, + "build/src/snd12.o": 0.056, + "build/src/snd2.o": 0.065, + "build/src/snd3.o": 0.063, + "build/src/snd4.o": 0.059, + "build/src/snd5.o": 0.06, + "build/src/snd6.o": 0.063, + "build/src/snd7.o": 0.063, + "build/src/snd8.o": 0.064, + "build/src/snd9.o": 0.049, + "build/src/ov_SC03_014/ov_SC03_014.o": 0.127, + "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.486, + "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.057, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.056, + "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.146, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.109, + "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.07, + "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.181, + "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.16, + "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.084, + "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.062, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.068, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.092, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.465, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.25, + "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.099, + "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.194, + "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.054, + "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.064, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.151, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.157, "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.26, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.054, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.052, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.057, - "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.057, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.12, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.494, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.327, - "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.046, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.117, - "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.13, - "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.076, - "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.169, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.066, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.162, - "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.089, - "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.071, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.087, + "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.245, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.048, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.056, + "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.113, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.467, + "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.357, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.044, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.049, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.114, + "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.125, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.098, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.062, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.055, + "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.157, + "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.147, + "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.081, + "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.06, + "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.43, - "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.096, - "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.203, - "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.096, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.055, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.152, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.194, - "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.244, - "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.051, - "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.056, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.057, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.07, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.121, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.435, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.328, - "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.118, - "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.14, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.11, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.068, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.056, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.238, + "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.088, + "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.183, + "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.103, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.063, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.154, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.183, + "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.047, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.25, + "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.059, + "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.055, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.05, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.06, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.111, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.388, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.308, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.051, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.05, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.117, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.149, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.102, + "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.057, "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.162, - "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.144, - "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.06, + "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.15, + "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.083, + "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.053, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.09, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.335, - "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.202, - "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.079, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.16, - "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.055, - "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.074, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.091, + "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.21, + "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.094, + "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.05, + "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.058, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.092, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.434, - "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.045, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.057 + "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.084, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.406, + "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.058, + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.06 }, "ok": true, "seconds": 2.1 diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index ae954a6d0..aea0db96a 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -29572,3 +29572,4 @@ {"ts": "2026-09-11 06:28:44", "label": "s104_e37", "rung": "E", "calib": {"head": "a7ce4408a", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_118/ov_SC03_118_jr_80183830.c", "fn": "func_801860E8", "addr": 2149081320, "aliases": null, "header": false, "includers": 0, "nhash_before": "70b3b4ae9bba7a37fb266487f217cfb6dfbfeaaf", "nhash_after": "49ce409bb746212295020c003799942c8e57a03c", "source": ".run/P36/agents/ov_SC03_097__func_80182498/scratch/copies/ov_SC03_118__func_801860E8.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 2, "seconds": 0.164, "objects": ["build/src/ov_SC03_118/ov_SC03_118_jr_80183830.o", "build/src/ov_SC03_119/ov_SC03_119_jr_80183830.o"], "before_text": "void func_801860E8(s32 a0) {\n\n extern s16 D_801D4360;\n extern s16 D_801D4362;\n extern u8 D_801D4368;\n extern u8 D_801D4369;\n extern u8 D_801D436A;\n\n extern s16 D_801D436C;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_801860E8 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_801860E8 *p;\n s32 x;\n s32 y;\n s32 ang;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_801860E8 *)m = *(Mat32_8018B23C_801860E8 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801D4368;\n *(u8 *)(q + 5) = D_801D4369;\n *(u8 *)(q + 6) = D_801D436A;\n\n p = (Rec_8018B23C_801860E8 *)((s32)&D_801D436C + (a0 << 4));\n x = p->fA + (u16)D_801D4360;\n y = p->fE + (u16)D_801D4362;\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_801860E8 *bp = (Bidx_8018B23C_801860E8 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_801860E8 *)q)->addr =\n ((PTag_8018B23C_801860E8 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_801860E8 *)(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_801860E8(s32 a0) {\n\n extern s16 D_801D4360;\n extern s16 D_801D4362;\n extern u8 D_801D4368;\n extern u8 D_801D4369;\n extern u8 D_801D436A;\n\n extern s16 D_801D436C;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_801860E8 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_801860E8 *p;\n s32 x;\n s32 y;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_801860E8 *)m = *(Mat32_8018B23C_801860E8 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801D4368;\n *(u8 *)(q + 5) = D_801D4369;\n *(u8 *)(q + 6) = D_801D436A;\n\n p = (Rec_8018B23C_801860E8 *)((s32)&D_801D436C + (a0 << 4));\n x = p->fA + (u16)D_801D4360;\n y = p->fE + (u16)D_801D4362;\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_801860E8 *bp = (Bidx_8018B23C_801860E8 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_801860E8 *)q)->addr =\n ((PTag_8018B23C_801860E8 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_801860E8 *)(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:02", "label": "s104_e37", "rung": "E", "calib": {"head": "a2552106b", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c", "fn": "func_8018EBCC", "addr": 2149116876, "aliases": null, "header": false, "includers": 0, "nhash_before": "0a15e4d8f737cbd516ed6a98fbed0eaa11aa313d", "nhash_after": "8e320b8a2428d10302f50e998e5c8176112ef31a", "source": ".run/P36/agents/ov_SC03_097__func_80182498/scratch/copies/ov_SC04_011__func_8018EBCC.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.375, "objects": ["build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o"], "before_text": "void func_8018EBCC(s32 a0) {\n\n extern s16 D_801F1308;\n extern s16 D_801F130A;\n extern u8 D_801F1310;\n extern u8 D_801F1311;\n extern u8 D_801F1312;\n\n extern s16 D_801F1314;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_8018EBCC 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_8018EBCC *p;\n s32 x;\n s32 y;\n s32 ang;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_8018EBCC *)m = *(Mat32_8018B23C_8018EBCC *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801F1310;\n *(u8 *)(q + 5) = D_801F1311;\n *(u8 *)(q + 6) = D_801F1312;\n\n p = (Rec_8018B23C_8018EBCC *)((s32)&D_801F1314 + (a0 << 4));\n x = p->fA + (u16)D_801F1308;\n y = p->fE + (u16)D_801F130A;\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 t3_tus1)\n __asm__ __volatile__(\"\" : \"=r\"(outp)); // !FAKE: launder out-only \u2014 NEEDED DIFFERS (P36 rung B t3_tus1)\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 t3_tus1)\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_8018EBCC *bp = (Bidx_8018B23C_8018EBCC *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_8018EBCC *)q)->addr =\n ((PTag_8018B23C_8018EBCC *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_8018EBCC *)(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_8018EBCC(s32 a0) {\n\n extern s16 D_801F1308;\n extern s16 D_801F130A;\n extern u8 D_801F1310;\n extern u8 D_801F1311;\n extern u8 D_801F1312;\n\n extern s16 D_801F1314;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_8018EBCC 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_8018EBCC *p;\n s32 x;\n s32 y;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_8018EBCC *)m = *(Mat32_8018B23C_8018EBCC *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801F1310;\n *(u8 *)(q + 5) = D_801F1311;\n *(u8 *)(q + 6) = D_801F1312;\n\n p = (Rec_8018B23C_8018EBCC *)((s32)&D_801F1314 + (a0 << 4));\n x = p->fA + (u16)D_801F1308;\n y = p->fE + (u16)D_801F130A;\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_8018EBCC *bp = (Bidx_8018B23C_8018EBCC *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_8018EBCC *)q)->addr =\n ((PTag_8018B23C_8018EBCC *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_8018EBCC *)(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: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"} diff --git a/src/ov_SC02_028/ov_SC02_028_jr_8017D898.c b/src/ov_SC02_028/ov_SC02_028_jr_8017D898.c index 62708740a..54d6efb7b 100644 --- a/src/ov_SC02_028/ov_SC02_028_jr_8017D898.c +++ b/src/ov_SC02_028/ov_SC02_028_jr_8017D898.c @@ -7443,7 +7443,6 @@ void func_801844D4(s32 a0) { Rec_8018B23C_801844D4 *p; s32 x; s32 y; - s32 ang; q = D_800A5E60; @@ -7469,13 +7468,7 @@ void func_801844D4(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 tus9) - __asm__ __volatile__("" : "=r"(outp)); // !FAKE: launder out-only — NEEDED DIFFERS (P36 rung B tus9) - } + ApplyMatrixSV(m, sv, out); *(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3; *(s16 *)(q + 0xA) = y + ((s16)out[1] >> 1) * 3; @@ -7486,18 +7479,14 @@ void func_801844D4(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 tus9) - 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];