From 27a23a12bcbf259af7e131a26439db2f969c8023 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 11 Sep 2026 01:57:45 -0600 Subject: [PATCH] =?UTF-8?q?phase-36:=20S104=20s104=5Fe5=20=E2=80=94=20func?= =?UTF-8?q?=5F80182B74=20banked=20at=200=20through=20the=20whole-object=20?= =?UTF-8?q?gate=20+=20propagated=20=E2=80=94=20e5=20copy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .run/P36/delever/calibration.json | 350 +++++++++++----------- .run/P36/delever/ledger.jsonl | 1 + src/ov_SC06_032/ov_SC06_032_jr_80182890.c | 19 +- 3 files changed, 183 insertions(+), 187 deletions(-) diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index fd75d7a58..7d735ff95 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,5 +1,5 @@ { - "head": "818d784e8", + "head": "14fba3411", "stamp": "15956e4a96c4", "generated": "2026-09-11 01:57", "aliases": [ @@ -21,206 +21,206 @@ "main": { "objects": 85, "identical": 85, - "seconds": 6.698000000000002, - "mean_s": 0.079 + "seconds": 6.484999999999998, + "mean_s": 0.076 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 4.578999999999999, - "mean_s": 0.143 + "seconds": 4.5950000000000015, + "mean_s": 0.144 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 4.457, - "mean_s": 0.139 + "seconds": 4.393999999999999, + "mean_s": 0.137 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 3.817, - "mean_s": 0.136 + "seconds": 3.898000000000001, + "mean_s": 0.139 } }, "per_object_seconds": { - "build/src/800.o": 0.733, - "build/src/800_b.o": 0.073, - "build/src/800_b_2.o": 0.302, - "build/src/800_b_o0a.o": 0.07, - "build/src/800_c.o": 0.195, - "build/src/800b2.o": 0.089, - "build/src/apicard1.o": 0.07, - "build/src/apicard2.o": 0.062, - "build/src/apicard3.o": 0.077, - "build/src/apicard4.o": 0.052, - "build/src/apicard5.o": 0.081, - "build/src/apicard6.o": 0.056, - "build/src/apicard7.o": 0.075, - "build/src/boot.o": 0.093, - "build/src/gap.o": 0.058, - "build/src/libapi1.o": 0.069, - "build/src/libapi2.o": 0.057, - "build/src/libc2_1.o": 0.055, - "build/src/libc2_2.o": 0.056, - "build/src/libcd1.o": 0.069, - "build/src/libcd2.o": 0.063, - "build/src/libetc.o": 0.069, - "build/src/libgpu.o": 0.057, - "build/src/libgpu2.o": 0.065, - "build/src/libgs1.o": 0.062, - "build/src/libgs2.o": 0.057, - "build/src/libgs3.o": 0.072, - "build/src/libgs4.o": 0.079, - "build/src/libgs5.o": 0.063, - "build/src/libgs6.o": 0.075, - "build/src/libgs7.o": 0.065, - "build/src/libgs8.o": 0.06, + "build/src/800.o": 0.728, + "build/src/800_b.o": 0.067, + "build/src/800_b_2.o": 0.319, + "build/src/800_b_o0a.o": 0.09, + "build/src/800_c.o": 0.182, + "build/src/800b2.o": 0.078, + "build/src/apicard1.o": 0.059, + "build/src/apicard2.o": 0.084, + "build/src/apicard3.o": 0.064, + "build/src/apicard4.o": 0.078, + "build/src/apicard5.o": 0.069, + "build/src/apicard6.o": 0.062, + "build/src/apicard7.o": 0.068, + "build/src/boot.o": 0.077, + "build/src/gap.o": 0.088, + "build/src/libapi1.o": 0.066, + "build/src/libapi2.o": 0.058, + "build/src/libc2_1.o": 0.069, + "build/src/libc2_2.o": 0.066, + "build/src/libcd1.o": 0.074, + "build/src/libcd2.o": 0.059, + "build/src/libetc.o": 0.06, + "build/src/libgpu.o": 0.061, + "build/src/libgpu2.o": 0.064, + "build/src/libgs1.o": 0.058, + "build/src/libgs2.o": 0.067, + "build/src/libgs3.o": 0.061, + "build/src/libgs4.o": 0.067, + "build/src/libgs5.o": 0.053, + "build/src/libgs6.o": 0.069, + "build/src/libgs7.o": 0.059, + "build/src/libgs8.o": 0.059, "build/src/libgte1.o": 0.063, - "build/src/libgte10.o": 0.062, - "build/src/libgte11.o": 0.065, - "build/src/libgte12.o": 0.074, - "build/src/libgte13.o": 0.052, - "build/src/libgte14.o": 0.066, - "build/src/libgte15.o": 0.06, - "build/src/libgte16.o": 0.062, + "build/src/libgte10.o": 0.057, + "build/src/libgte11.o": 0.063, + "build/src/libgte12.o": 0.064, + "build/src/libgte13.o": 0.064, + "build/src/libgte14.o": 0.052, + "build/src/libgte15.o": 0.069, + "build/src/libgte16.o": 0.07, "build/src/libgte17.o": 0.064, - "build/src/libgte18.o": 0.061, - "build/src/libgte19.o": 0.066, - "build/src/libgte2.o": 0.061, - "build/src/libgte20.o": 0.06, - "build/src/libgte21.o": 0.069, - "build/src/libgte22.o": 0.061, - "build/src/libgte23.o": 0.065, - "build/src/libgte24.o": 0.065, - "build/src/libgte25.o": 0.06, - "build/src/libgte26.o": 0.068, - "build/src/libgte27.o": 0.063, - "build/src/libgte28.o": 0.057, - "build/src/libgte29.o": 0.057, - "build/src/libgte3.o": 0.07, - "build/src/libgte30.o": 0.067, - "build/src/libgte4.o": 0.062, - "build/src/libgte5.o": 0.058, - "build/src/libgte6.o": 0.073, + "build/src/libgte18.o": 0.059, + "build/src/libgte19.o": 0.059, + "build/src/libgte2.o": 0.058, + "build/src/libgte20.o": 0.061, + "build/src/libgte21.o": 0.061, + "build/src/libgte22.o": 0.06, + "build/src/libgte23.o": 0.061, + "build/src/libgte24.o": 0.058, + "build/src/libgte25.o": 0.059, + "build/src/libgte26.o": 0.061, + "build/src/libgte27.o": 0.061, + "build/src/libgte28.o": 0.055, + "build/src/libgte29.o": 0.06, + "build/src/libgte3.o": 0.06, + "build/src/libgte30.o": 0.065, + "build/src/libgte4.o": 0.061, + "build/src/libgte5.o": 0.061, + "build/src/libgte6.o": 0.06, "build/src/libgte7.o": 0.061, - "build/src/libgte8.o": 0.065, - "build/src/libgte9.o": 0.062, - "build/src/libmcrd1.o": 0.077, - "build/src/libmcrd2.o": 0.067, - "build/src/libpad1.o": 0.057, - "build/src/libpad2.o": 0.068, - "build/src/sgap.o": 0.086, - "build/src/sgap_2.o": 0.077, - "build/src/sgap_3.o": 0.073, + "build/src/libgte8.o": 0.062, + "build/src/libgte9.o": 0.059, + "build/src/libmcrd1.o": 0.072, + "build/src/libmcrd2.o": 0.06, + "build/src/libpad1.o": 0.059, + "build/src/libpad2.o": 0.069, + "build/src/sgap.o": 0.068, + "build/src/sgap_2.o": 0.062, + "build/src/sgap_3.o": 0.062, "build/src/sgap_4.o": 0.069, - "build/src/sgap_5.o": 0.06, - "build/src/sgap_6.o": 0.062, - "build/src/sgap_8.o": 0.075, - "build/src/snd1.o": 0.079, - "build/src/snd10.o": 0.069, - "build/src/snd11.o": 0.066, - "build/src/snd12.o": 0.071, - "build/src/snd2.o": 0.071, - "build/src/snd3.o": 0.072, - "build/src/snd4.o": 0.078, - "build/src/snd5.o": 0.067, - "build/src/snd6.o": 0.072, - "build/src/snd7.o": 0.071, - "build/src/snd8.o": 0.064, - "build/src/snd9.o": 0.069, - "build/src/ov_SC03_014/ov_SC03_014.o": 0.138, - "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.492, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.39, - "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.056, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.118, - "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.156, - "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.075, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.067, - "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.173, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.083, - "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.183, - "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.097, - "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.074, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.076, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.086, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.458, - "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.102, - "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.203, - "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.058, - "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.102, - "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.159, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.195, - "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.264, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.061, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.053, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.053, - "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.072, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.121, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.503, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.384, + "build/src/sgap_5.o": 0.063, + "build/src/sgap_6.o": 0.06, + "build/src/sgap_8.o": 0.072, + "build/src/snd1.o": 0.063, + "build/src/snd10.o": 0.066, + "build/src/snd11.o": 0.059, + "build/src/snd12.o": 0.057, + "build/src/snd2.o": 0.066, + "build/src/snd3.o": 0.063, + "build/src/snd4.o": 0.063, + "build/src/snd5.o": 0.064, + "build/src/snd6.o": 0.069, + "build/src/snd7.o": 0.061, + "build/src/snd8.o": 0.061, + "build/src/snd9.o": 0.066, + "build/src/ov_SC03_014/ov_SC03_014.o": 0.129, + "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.525, + "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.402, + "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.064, + "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.113, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.085, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.065, + "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.164, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.073, + "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.177, + "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.091, + "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.057, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.099, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.478, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.275, + "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.191, + "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.06, + "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.092, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.072, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.168, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.192, + "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.045, + "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.246, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.057, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.062, + "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.058, + "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.068, + "build/src/ov_SC03_015/ov_SC03_015.o": 0.116, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.493, + "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.05, - "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.095, - "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.153, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.105, - "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.064, - "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.165, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.07, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.17, - "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.08, + "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.115, + "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.14, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.103, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.073, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.058, + "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.175, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.061, + "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.154, + "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.064, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.067, - "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.44, - "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.256, - "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.097, - "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.188, - "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.101, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.07, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.168, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.208, - "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.043, - "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.28, - "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.058, + "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.093, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.431, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.264, + "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.094, + "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.204, + "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.052, + "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.094, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.065, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.171, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.189, + "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.049, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.278, + "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.053, "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.06, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.053, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.072, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.122, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.408, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.325, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.057, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.071, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.123, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.435, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.324, "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.052, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.124, - "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.1, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.075, - "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.175, - "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.076, - "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.068, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.062, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.092, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.351, - "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.222, - "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.1, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.161, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.056, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.102, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.153, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.114, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.077, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.064, + "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.171, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.083, + "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.167, + "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.082, + "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.069, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.076, + "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.344, + "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.229, + "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.096, + "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.166, "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.056, - "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.09, + "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.089, "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.095, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.412, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.091, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.423, "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.054, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.056 + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.051 }, "ok": true, "seconds": 2.2 diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index e5aad03f0..1569a3d99 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -29411,3 +29411,4 @@ {"ts": "2026-09-11 01:56:47", "label": "s104_e5", "rung": "E", "calib": {"head": "e1577f2f7", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", "fn": "func_80186BAC", "addr": 2149084076, "aliases": null, "header": false, "includers": 0, "nhash_before": "9b681de33d5fd8ff1ede72cdb44edad95fb88fc5", "nhash_after": "a007882f32290dd43ba023728b5056d7fd499ff2", "source": "propagate:src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c:func_8018B9D4", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.299, "objects": ["build/src/ov_SC06_032/ov_SC06_032_jr_80182890.o"], "before_text": "void func_80186BAC(s32 param_1)\n{\n struct { u16 a; u16 b; s16 c; u16 d; } t1;\n struct { u16 a; u16 b; s16 c; u16 d; } t2;\n s32 r1, r2, r3, r4;\n s32 pad[2];\n s32 var_ea;\n s32 var_fe;\n s32 var_a0;\n s32 var_v0;\n register s32 zr __asm__(\"$0\"); // !FAKE: pin $0 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n\n func_80186E9C((void *)param_1, 0, (u16 *)(param_1 + 0xE8), 0x81818);\n func_80186E9C((void *)param_1, 1, (u16 *)(param_1 + 0xE8), 0x204040);\n t1.b = 0;\n t1.a = 0;\n t1.c = -*(u16 *)(param_1 + 0xE8);\n t2.b = 0;\n t2.a = 0;\n t2.c = -*(u16 *)(param_1 + 0xEA);\n (void)r1; (void)r2; (void)r3; (void)r4; (void)pad;\n if (func_8012DEB8(param_1, &t1, &t2) != 0) {\n D_80126B96 = 0x4018;\n D_80126B98 = 0x96;\n }\n var_ea = *(s16 *)(param_1 + 0xEA);\n var_fe = *(s16 *)(param_1 + 0xFE);\n var_a0 = var_ea + zr;\n if (var_ea < var_fe) {\n var_v0 = var_a0 + 0x40;\n *(s16 *)(param_1 + 0xEA) = var_v0;\n if ((var_v0 << 16) >> 16 >= *(s16 *)(param_1 + 0xFE)) {\n *(s16 *)(param_1 + 0xEA) = *(s16 *)(param_1 + 0xFE);\n func_80186E18(param_1);\n }\n } else {\n var_v0 = *(u16 *)(param_1 + 0xE8) + 0x40;\n *(u16 *)(param_1 + 0xE8) = var_v0;\n if ((var_v0 << 16) >> 16 < *(s16 *)(param_1 + 0xFE)) {\n return;\n }\n if (*(s32 *)(param_1 + 0xCC) != 0) {\n func_80016714((void *)*(s32 *)(param_1 + 0xCC), 0x38);\n }\n *(s32 *)(*(s32 *)(param_1 + 0x64) + 0xD0) = 0;\n func_8012C218((void *)param_1);\n }\n}\n", "after_text": "void func_80186BAC(s32 param_1)\n{\n struct { u16 a; u16 b; s16 c; u16 d; } t1;\n struct { u16 a; u16 b; s16 c; u16 d; } t2;\n\n func_80186E9C((void *)param_1, 0, (u16 *)(param_1 + 0xE8), 0x81818);\n func_80186E9C((void *)param_1, 1, (u16 *)(param_1 + 0xE8), 0x204040);\n t1.b = 0;\n t1.a = 0;\n t1.c = -*(u16 *)(param_1 + 0xE8);\n t2.b = 0;\n t2.a = 0;\n t2.c = -*(u16 *)(param_1 + 0xEA);\n if (func_8012DEB8(param_1, &t1, &t2) != 0) {\n D_80126B96 = 0x4018;\n D_80126B98 = 0x96;\n }\n if (*(s16 *)(param_1 + 0xEA) < *(s16 *)(param_1 + 0xFE)) {\n *(s16 *)(param_1 + 0xEA) += 0x40;\n if (*(s16 *)(param_1 + 0xEA) >= *(s16 *)(param_1 + 0xFE)) {\n *(s16 *)(param_1 + 0xEA) = *(s16 *)(param_1 + 0xFE);\n func_80186E18(param_1);\n }\n } else {\n *(s16 *)(param_1 + 0xE8) += 0x40;\n if (*(s16 *)(param_1 + 0xE8) < *(s16 *)(param_1 + 0xFE)) {\n return;\n }\n if (*(s32 *)(param_1 + 0xCC) != 0) {\n func_80016714((void *)*(s32 *)(param_1 + 0xCC), 0x38);\n }\n *(s32 *)(*(s32 *)(param_1 + 0x64) + 0xD0) = 0;\n func_8012C218((void *)param_1);\n }\n}\n"} {"ts": "2026-09-11 01:57:08", "label": "s104_e5", "rung": "E", "calib": {"head": "6f5cb6bef", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", "fn": "func_80185F4C", "addr": 2149080908, "aliases": null, "header": false, "includers": 0, "nhash_before": "0404649bdc10358c42c17d61053bf994b0f301e9", "nhash_after": "c0412b9697d936c12a2a5899c5ee3a2ea5500e65", "source": ".run/P36/agents/ov_SC06_018__func_8018AD74/scratch/copy_func_80185F4C.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.285, "objects": ["build/src/ov_SC06_032/ov_SC06_032_jr_80182890.o"], "before_text": "void func_80185F4C(s32 a0, s32 a1, s32 a2, s32 a3)\n{\n extern Blk20_8018AF88_80186160 D_800AE620;\n extern s32 D_801BEF1C;\n Blk20_8018AF88_80186160 local;\n Blk20_8018AF88_80186160 *m;\n s32 vec[3];\n s32 e;\n\n local = D_800AE620;\n e = func_8012C658((s16)a1, (s16)a2, a0);\n if (e != 0) {\n __asm__(\"\" : \"=r\"(e) : \"0\"(e)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B tus9)\n m = &local;\n *(u16 *)(e + 0xA) = *(u16 *)(e + 0xA) - 0x80;\n RotMatrixY((s16)a3, m);\n func_800484EC((s32)m, (s32)&D_801BEF1C, (s32)vec);\n *(s32 *)(e + 0x10) = vec[0];\n *(s32 *)(e + 0x14) = 0xFFD80000;\n *(s32 *)(e + 0x18) = vec[2];\n }\n}\n", "after_text": "void func_80185F4C(s32 a0, s32 a1, s32 a2, s32 a3)\n{\n extern Blk20_8018AF88_80186160 D_800AE620;\n extern s32 D_801BEF1C;\n Blk20_8018AF88_80186160 local;\n Blk20_8018AF88_80186160 *m;\n s32 vec[3];\n s32 e;\n\n local = D_800AE620;\n e = func_8012C658((s16)a1, (s16)a2, a0);\n do { } while (0); // !FAKE: do-while \u2014 its NOTE_INSN_LOOP_END ends cse1's extended block (cse.c:8054), so m below is not folded onto the struct copy's address pseudo (cse.c:846-862) and is set AFTER e's copy: sched1 then ranks it last by LUID (sched.c:2428) (P36 S104 e5 minimum-lever)\n m = &local;\n if (e != 0) {\n *(u16 *)(e + 0xA) = *(u16 *)(e + 0xA) - 0x80;\n RotMatrixY((s16)a3, m);\n func_800484EC((s32)m, (s32)&D_801BEF1C, (s32)vec);\n *(s32 *)(e + 0x10) = vec[0];\n *(s32 *)(e + 0x14) = 0xFFD80000;\n *(s32 *)(e + 0x18) = vec[2];\n }\n}\n"} {"ts": "2026-09-11 01:57:26", "label": "s104_e5", "rung": "E", "calib": {"head": "818d784e8", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_020/ov_SC06_020_jr_80180B04.c", "fn": "func_80181F40", "addr": 2149064512, "aliases": null, "header": false, "includers": 0, "nhash_before": "2e6c7f55c6e269aec23485203a88cc6fd1d397eb", "nhash_after": "fa7cbce73ca1d195a972414203b710243cbea69a", "source": ".run/P36/agents/ov_SC06_018__func_80187DD0/scratch/copy_func_80181F40.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.124, "objects": ["build/src/ov_SC06_020/ov_SC06_020_jr_80180B04.o"], "before_text": "void func_80181F40(s32 param_1)\n{\n s32 t1 = *(s32 *)(param_1 + 0x64);\n s32 pad[2];\n\n if (*(s16 *)(t1 + 0x36) != *(s16 *)(param_1 + 0x10A)) {\n func_8012C218((void *)param_1);\n return;\n }\n {\n if ((*(u32 *)(t1 + 0xE0) & 4) != 0) {\n func_8012E8A8((u8 *)param_1);\n return;\n }\n {\n s32 a2 = *(s32 *)(*(s32 *)(t1 + 0x20) + 0x20);\n s32 a3 = param_1 + 0xFC;\n\n if (a2 != 0) {\n if ((a2 & 0x1000000) != 0) {\n s32 a1 = a2 & 0xFEFFFFFF;\n register u32 v0 __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n u32 a0;\n u32 v1a;\n u32 v1b;\n u32 v0b;\n u32 v1;\n\n *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66);\n\n v0 = *(u32 *)(a1 + 0x60);\n a0 = *(u8 *)(a1 + 0x61);\n v1a = (v0 & 0xF) << 8;\n a0 = a0 | v1a;\n v1b = ((s32)v0 >> 16) & 0xFF;\n v0b = (v0 & 0xF0) << 4;\n v1 = v1b | v0b;\n *(u16 *)(param_1 + 0x104) = (u16)a0;\n *(u16 *)(param_1 + 0x106) = (u16)v1;\n\n *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63);\n *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64);\n *(s16 *)(param_1 + 0x100) = (s8)*(u8 *)(a1 + 0x65);\n } else {\n *(UAlign12_80181F40 *)(param_1 + 0xFC) = *(UAlign12_80181F40 *)(a2 + 0x90);\n }\n *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = a3;\n }\n\n if ((*(u32 *)(t1 + 0xE0) & 0x80) != 0) {\n if (*(u16 *)(param_1 + 0x34) == 0) {\n s16 sVar2 = *(u16 *)(param_1 + 0x108) + 0x40;\n *(s16 *)(param_1 + 0x108) = sVar2;\n if (sVar2 > 0x200) {\n *(u16 *)(param_1 + 0x108) = 0x200;\n *(s16 *)(param_1 + 0x34) = *(s16 *)(param_1 + 0x34) + 1;\n }\n } else {\n u16 uVar3 = *(u16 *)(param_1 + 0x108) - 0x80;\n *(u16 *)(param_1 + 0x108) = uVar3;\n if ((s16)uVar3 < 0) {\n *(u16 *)(param_1 + 0x108) = 0;\n *(u16 *)(param_1 + 0x34) = 0;\n *(u32 *)(t1 + 0xE0) = *(u32 *)(t1 + 0xE0) & ~0x80;\n }\n }\n }\n\n *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + *(u16 *)(param_1 + 0x108);\n\n *(u32 *)(param_1 + 4) = *(u32 *)(t1 + 4);\n *(u32 *)(param_1 + 8) = *(u32 *)(t1 + 8);\n *(u32 *)(param_1 + 0xC) = *(u32 *)(t1 + 0xC);\n\n *(UAlign8_80181F40 *)(param_1 + 0x50) = *(UAlign8_80181F40 *)(t1 + 0x50);\n\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_80181F40 *)(dst + 0x10) = *(UAlign8_80181F40 *)(src + 0x10);\n }\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_80181F40 *)(dst + 0x18) = *(UAlign8_80181F40 *)(src + 0x18);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u32 *)(dst + 4) = *(u32 *)(src + 4);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u16 *)(dst + 0x2C) = *(u16 *)(src + 0x2C);\n }\n }\n }\n}\n", "after_text": "void func_80181F40(s32 param_1)\n{\n s32 t1 = *(s32 *)(param_1 + 0x64);\n s32 pad[2];\n\n if (*(s16 *)(t1 + 0x36) != *(s16 *)(param_1 + 0x10A)) {\n func_8012C218((void *)param_1);\n return;\n }\n {\n if ((*(u32 *)(t1 + 0xE0) & 4) != 0) {\n func_8012E8A8((u8 *)param_1);\n return;\n }\n {\n s32 a2 = *(s32 *)(*(s32 *)(t1 + 0x20) + 0x20);\n s32 a3 = param_1 + 0xFC;\n\n if (a2 != 0) {\n if ((a2 & 0x1000000) != 0) {\n s32 a1 = a2 & 0xFEFFFFFF;\n u32 v0;\n u32 a0;\n u32 v1;\n\n *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66);\n\n v0 = *(u32 *)(a1 + 0x60);\n a0 = *(u8 *)(a1 + 0x61) | ((v0 & 0xF) << 8);\n v1 = (((s32)v0 >> 16) & 0xFF) | ((v0 & 0xF0) << 4);\n do { // !FAKE: do-while \u2014 flow counts the stores' refs at loop depth 2 (flow.c mark_used_regs, reg_n_refs += loop_depth), which lifts a0's quantity over a1's in qty_compare_1 (local-alloc.c:1598); its LOOP notes also keep sched1 from moving the 0x104 store above v1's or (sched.c:2053-2074), so w's quantity ties the (w & 0xF) one at 13333 and wins on qty number (P36 S104 e5 minimum-lever)\n *(u16 *)(param_1 + 0x104) = a0;\n *(u16 *)(param_1 + 0x106) = v1;\n } while (0);\n\n *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63);\n *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64);\n *(s16 *)(param_1 + 0x100) = (s8)*(u8 *)(a1 + 0x65);\n } else {\n *(UAlign12_80181F40 *)(param_1 + 0xFC) = *(UAlign12_80181F40 *)(a2 + 0x90);\n }\n *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = a3;\n }\n\n if ((*(u32 *)(t1 + 0xE0) & 0x80) != 0) {\n if (*(u16 *)(param_1 + 0x34) == 0) {\n s16 sVar2 = *(u16 *)(param_1 + 0x108) + 0x40;\n *(s16 *)(param_1 + 0x108) = sVar2;\n if (sVar2 > 0x200) {\n *(u16 *)(param_1 + 0x108) = 0x200;\n *(s16 *)(param_1 + 0x34) = *(s16 *)(param_1 + 0x34) + 1;\n }\n } else {\n u16 uVar3 = *(u16 *)(param_1 + 0x108) - 0x80;\n *(u16 *)(param_1 + 0x108) = uVar3;\n if ((s16)uVar3 < 0) {\n *(u16 *)(param_1 + 0x108) = 0;\n *(u16 *)(param_1 + 0x34) = 0;\n *(u32 *)(t1 + 0xE0) = *(u32 *)(t1 + 0xE0) & ~0x80;\n }\n }\n }\n\n *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + *(u16 *)(param_1 + 0x108);\n\n *(u32 *)(param_1 + 4) = *(u32 *)(t1 + 4);\n *(u32 *)(param_1 + 8) = *(u32 *)(t1 + 8);\n *(u32 *)(param_1 + 0xC) = *(u32 *)(t1 + 0xC);\n\n *(UAlign8_80181F40 *)(param_1 + 0x50) = *(UAlign8_80181F40 *)(t1 + 0x50);\n\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_80181F40 *)(dst + 0x10) = *(UAlign8_80181F40 *)(src + 0x10);\n }\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_80181F40 *)(dst + 0x18) = *(UAlign8_80181F40 *)(src + 0x18);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u32 *)(dst + 4) = *(u32 *)(src + 4);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u16 *)(dst + 0x2C) = *(u16 *)(src + 0x2C);\n }\n }\n }\n}\n"} +{"ts": "2026-09-11 01:57:44", "label": "s104_e5", "rung": "E", "calib": {"head": "14fba3411", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_032/ov_SC06_032_jr_80182890.c", "fn": "func_80182B74", "addr": 2149067636, "aliases": null, "header": false, "includers": 0, "nhash_before": "b90bd75c5070ae79d80f5b86107b6686c130b106", "nhash_after": "793afeb763af8a4ae85074c1650f8424fd0166ff", "source": ".run/P36/agents/ov_SC06_018__func_80187DD0/scratch/copy_func_80182B74.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.282, "objects": ["build/src/ov_SC06_032/ov_SC06_032_jr_80182890.o"], "before_text": "void func_80182B74(s32 param_1)\n{\n s32 t1 = *(s32 *)(param_1 + 0x64);\n s32 pad[2];\n\n if (*(s16 *)(t1 + 0x36) != *(s16 *)(param_1 + 0x10A)) {\n func_8012C218((void *)param_1);\n return;\n }\n {\n if ((*(u32 *)(t1 + 0xE0) & 4) != 0) {\n func_8012E8A8((u8 *)param_1);\n return;\n }\n {\n s32 a2 = *(s32 *)(*(s32 *)(t1 + 0x20) + 0x20);\n s32 a3 = param_1 + 0xFC;\n\n if (a2 != 0) {\n if ((a2 & 0x1000000) != 0) {\n s32 a1 = a2 & 0xFEFFFFFF;\n register u32 v0 __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n u32 a0;\n u32 v1a;\n u32 v1b;\n u32 v0b;\n u32 v1;\n\n *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66);\n\n v0 = *(u32 *)(a1 + 0x60);\n a0 = *(u8 *)(a1 + 0x61);\n v1a = (v0 & 0xF) << 8;\n a0 = a0 | v1a;\n v1b = ((s32)v0 >> 16) & 0xFF;\n v0b = (v0 & 0xF0) << 4;\n v1 = v1b | v0b;\n *(u16 *)(param_1 + 0x104) = (u16)a0;\n *(u16 *)(param_1 + 0x106) = (u16)v1;\n\n *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63);\n *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64);\n *(s16 *)(param_1 + 0x100) = (s8)*(u8 *)(a1 + 0x65);\n } else {\n *(UAlign12_80182B74 *)(param_1 + 0xFC) = *(UAlign12_80182B74 *)(a2 + 0x90);\n }\n *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = a3;\n }\n\n if ((*(u32 *)(t1 + 0xE0) & 0x80) != 0) {\n if (*(u16 *)(param_1 + 0x34) == 0) {\n s16 sVar2 = *(u16 *)(param_1 + 0x108) + 0x40;\n *(s16 *)(param_1 + 0x108) = sVar2;\n if (sVar2 > 0x200) {\n *(u16 *)(param_1 + 0x108) = 0x200;\n *(s16 *)(param_1 + 0x34) = *(s16 *)(param_1 + 0x34) + 1;\n }\n } else {\n u16 uVar3 = *(u16 *)(param_1 + 0x108) - 0x80;\n *(u16 *)(param_1 + 0x108) = uVar3;\n if ((s16)uVar3 < 0) {\n *(u16 *)(param_1 + 0x108) = 0;\n *(u16 *)(param_1 + 0x34) = 0;\n *(u32 *)(t1 + 0xE0) = *(u32 *)(t1 + 0xE0) & ~0x80;\n }\n }\n }\n\n *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + *(u16 *)(param_1 + 0x108);\n\n *(u32 *)(param_1 + 4) = *(u32 *)(t1 + 4);\n *(u32 *)(param_1 + 8) = *(u32 *)(t1 + 8);\n *(u32 *)(param_1 + 0xC) = *(u32 *)(t1 + 0xC);\n\n *(UAlign8_80182B74 *)(param_1 + 0x50) = *(UAlign8_80182B74 *)(t1 + 0x50);\n\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_80182B74 *)(dst + 0x10) = *(UAlign8_80182B74 *)(src + 0x10);\n }\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_80182B74 *)(dst + 0x18) = *(UAlign8_80182B74 *)(src + 0x18);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u32 *)(dst + 4) = *(u32 *)(src + 4);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u16 *)(dst + 0x2C) = *(u16 *)(src + 0x2C);\n }\n }\n }\n}\n", "after_text": "void func_80182B74(s32 param_1)\n{\n s32 t1 = *(s32 *)(param_1 + 0x64);\n s32 pad[2];\n\n if (*(s16 *)(t1 + 0x36) != *(s16 *)(param_1 + 0x10A)) {\n func_8012C218((void *)param_1);\n return;\n }\n {\n if ((*(u32 *)(t1 + 0xE0) & 4) != 0) {\n func_8012E8A8((u8 *)param_1);\n return;\n }\n {\n s32 a2 = *(s32 *)(*(s32 *)(t1 + 0x20) + 0x20);\n s32 a3 = param_1 + 0xFC;\n\n if (a2 != 0) {\n if ((a2 & 0x1000000) != 0) {\n s32 a1 = a2 & 0xFEFFFFFF;\n u32 v0;\n u32 a0;\n u32 v1;\n\n *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66);\n\n v0 = *(u32 *)(a1 + 0x60);\n a0 = *(u8 *)(a1 + 0x61) | ((v0 & 0xF) << 8);\n v1 = (((s32)v0 >> 16) & 0xFF) | ((v0 & 0xF0) << 4);\n do { // !FAKE: do-while \u2014 flow counts the stores' refs at loop depth 2 (flow.c mark_used_regs, reg_n_refs += loop_depth), which lifts a0's quantity over a1's in qty_compare_1 (local-alloc.c:1598); its LOOP notes also keep sched1 from moving the 0x104 store above v1's or (sched.c:2053-2074), so w's quantity ties the (w & 0xF) one at 13333 and wins on qty number (P36 S104 e5 minimum-lever)\n *(u16 *)(param_1 + 0x104) = a0;\n *(u16 *)(param_1 + 0x106) = v1;\n } while (0);\n\n *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63);\n *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64);\n *(s16 *)(param_1 + 0x100) = (s8)*(u8 *)(a1 + 0x65);\n } else {\n *(UAlign12_80182B74 *)(param_1 + 0xFC) = *(UAlign12_80182B74 *)(a2 + 0x90);\n }\n *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = a3;\n }\n\n if ((*(u32 *)(t1 + 0xE0) & 0x80) != 0) {\n if (*(u16 *)(param_1 + 0x34) == 0) {\n s16 sVar2 = *(u16 *)(param_1 + 0x108) + 0x40;\n *(s16 *)(param_1 + 0x108) = sVar2;\n if (sVar2 > 0x200) {\n *(u16 *)(param_1 + 0x108) = 0x200;\n *(s16 *)(param_1 + 0x34) = *(s16 *)(param_1 + 0x34) + 1;\n }\n } else {\n u16 uVar3 = *(u16 *)(param_1 + 0x108) - 0x80;\n *(u16 *)(param_1 + 0x108) = uVar3;\n if ((s16)uVar3 < 0) {\n *(u16 *)(param_1 + 0x108) = 0;\n *(u16 *)(param_1 + 0x34) = 0;\n *(u32 *)(t1 + 0xE0) = *(u32 *)(t1 + 0xE0) & ~0x80;\n }\n }\n }\n\n *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + *(u16 *)(param_1 + 0x108);\n\n *(u32 *)(param_1 + 4) = *(u32 *)(t1 + 4);\n *(u32 *)(param_1 + 8) = *(u32 *)(t1 + 8);\n *(u32 *)(param_1 + 0xC) = *(u32 *)(t1 + 0xC);\n\n *(UAlign8_80182B74 *)(param_1 + 0x50) = *(UAlign8_80182B74 *)(t1 + 0x50);\n\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_80182B74 *)(dst + 0x10) = *(UAlign8_80182B74 *)(src + 0x10);\n }\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_80182B74 *)(dst + 0x18) = *(UAlign8_80182B74 *)(src + 0x18);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u32 *)(dst + 4) = *(u32 *)(src + 4);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u16 *)(dst + 0x2C) = *(u16 *)(src + 0x2C);\n }\n }\n }\n}\n"} diff --git a/src/ov_SC06_032/ov_SC06_032_jr_80182890.c b/src/ov_SC06_032/ov_SC06_032_jr_80182890.c index e88c87bf5..6aa60372b 100644 --- a/src/ov_SC06_032/ov_SC06_032_jr_80182890.c +++ b/src/ov_SC06_032/ov_SC06_032_jr_80182890.c @@ -2949,24 +2949,19 @@ void func_80182B74(s32 param_1) if (a2 != 0) { if ((a2 & 0x1000000) != 0) { s32 a1 = a2 & 0xFEFFFFFF; - register u32 v0 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9) + u32 v0; u32 a0; - u32 v1a; - u32 v1b; - u32 v0b; u32 v1; *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66); v0 = *(u32 *)(a1 + 0x60); - a0 = *(u8 *)(a1 + 0x61); - v1a = (v0 & 0xF) << 8; - a0 = a0 | v1a; - v1b = ((s32)v0 >> 16) & 0xFF; - v0b = (v0 & 0xF0) << 4; - v1 = v1b | v0b; - *(u16 *)(param_1 + 0x104) = (u16)a0; - *(u16 *)(param_1 + 0x106) = (u16)v1; + a0 = *(u8 *)(a1 + 0x61) | ((v0 & 0xF) << 8); + v1 = (((s32)v0 >> 16) & 0xFF) | ((v0 & 0xF0) << 4); + do { // !FAKE: do-while — flow counts the stores' refs at loop depth 2 (flow.c mark_used_regs, reg_n_refs += loop_depth), which lifts a0's quantity over a1's in qty_compare_1 (local-alloc.c:1598); its LOOP notes also keep sched1 from moving the 0x104 store above v1's or (sched.c:2053-2074), so w's quantity ties the (w & 0xF) one at 13333 and wins on qty number (P36 S104 e5 minimum-lever) + *(u16 *)(param_1 + 0x104) = a0; + *(u16 *)(param_1 + 0x106) = v1; + } while (0); *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63); *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64);