diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index c9947d8c1..8d1399f2d 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,5 +1,5 @@ { - "head": "5d95be42f", + "head": "3cff744de", "stamp": "15956e4a96c4", "generated": "2026-09-11 06:30", "aliases": [ @@ -21,206 +21,206 @@ "main": { "objects": 85, "identical": 85, - "seconds": 6.418999999999999, - "mean_s": 0.076 + "seconds": 6.170999999999995, + "mean_s": 0.073 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 4.299999999999999, - "mean_s": 0.134 + "seconds": 4.375000000000001, + "mean_s": 0.137 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 4.22, + "seconds": 4.215, "mean_s": 0.132 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 3.6260000000000003, + "seconds": 3.6499999999999995, "mean_s": 0.13 } }, "per_object_seconds": { - "build/src/800.o": 0.722, - "build/src/800_b.o": 0.066, - "build/src/800_b_2.o": 0.308, - "build/src/800_b_o0a.o": 0.063, - "build/src/800_c.o": 0.178, - "build/src/800b2.o": 0.09, - "build/src/apicard1.o": 0.057, - "build/src/apicard2.o": 0.063, - "build/src/apicard3.o": 0.06, - "build/src/apicard4.o": 0.068, - "build/src/apicard5.o": 0.067, - "build/src/apicard6.o": 0.051, - "build/src/apicard7.o": 0.085, - "build/src/boot.o": 0.103, - "build/src/gap.o": 0.072, - "build/src/libapi1.o": 0.073, - "build/src/libapi2.o": 0.05, - "build/src/libc2_1.o": 0.054, - "build/src/libc2_2.o": 0.057, - "build/src/libcd1.o": 0.063, - "build/src/libcd2.o": 0.052, + "build/src/800.o": 0.703, + "build/src/800_b.o": 0.072, + "build/src/800_b_2.o": 0.289, + "build/src/800_b_o0a.o": 0.059, + "build/src/800_c.o": 0.185, + "build/src/800b2.o": 0.092, + "build/src/apicard1.o": 0.06, + "build/src/apicard2.o": 0.076, + "build/src/apicard3.o": 0.065, + "build/src/apicard4.o": 0.07, + "build/src/apicard5.o": 0.056, + "build/src/apicard6.o": 0.065, + "build/src/apicard7.o": 0.047, + "build/src/boot.o": 0.095, + "build/src/gap.o": 0.083, + "build/src/libapi1.o": 0.082, + "build/src/libapi2.o": 0.056, + "build/src/libc2_1.o": 0.058, + "build/src/libc2_2.o": 0.049, + "build/src/libcd1.o": 0.061, + "build/src/libcd2.o": 0.056, "build/src/libetc.o": 0.058, - "build/src/libgpu.o": 0.059, - "build/src/libgpu2.o": 0.07, - "build/src/libgs1.o": 0.049, - "build/src/libgs2.o": 0.057, + "build/src/libgpu.o": 0.054, + "build/src/libgpu2.o": 0.073, + "build/src/libgs1.o": 0.058, + "build/src/libgs2.o": 0.055, "build/src/libgs3.o": 0.057, "build/src/libgs4.o": 0.055, - "build/src/libgs5.o": 0.055, - "build/src/libgs6.o": 0.074, - "build/src/libgs7.o": 0.06, + "build/src/libgs5.o": 0.057, + "build/src/libgs6.o": 0.073, + "build/src/libgs7.o": 0.054, "build/src/libgs8.o": 0.055, - "build/src/libgte1.o": 0.059, - "build/src/libgte10.o": 0.059, + "build/src/libgte1.o": 0.058, + "build/src/libgte10.o": 0.061, "build/src/libgte11.o": 0.058, - "build/src/libgte12.o": 0.058, - "build/src/libgte13.o": 0.062, - "build/src/libgte14.o": 0.062, - "build/src/libgte15.o": 0.062, - "build/src/libgte16.o": 0.065, - "build/src/libgte17.o": 0.063, - "build/src/libgte18.o": 0.065, - "build/src/libgte19.o": 0.067, - "build/src/libgte2.o": 0.062, - "build/src/libgte20.o": 0.066, - "build/src/libgte21.o": 0.067, - "build/src/libgte22.o": 0.071, - "build/src/libgte23.o": 0.067, - "build/src/libgte24.o": 0.065, - "build/src/libgte25.o": 0.067, - "build/src/libgte26.o": 0.064, - "build/src/libgte27.o": 0.068, - "build/src/libgte28.o": 0.072, - "build/src/libgte29.o": 0.071, - "build/src/libgte3.o": 0.071, - "build/src/libgte30.o": 0.067, - "build/src/libgte4.o": 0.071, - "build/src/libgte5.o": 0.066, - "build/src/libgte6.o": 0.063, - "build/src/libgte7.o": 0.065, - "build/src/libgte8.o": 0.065, - "build/src/libgte9.o": 0.065, - "build/src/libmcrd1.o": 0.068, - "build/src/libmcrd2.o": 0.068, - "build/src/libpad1.o": 0.067, - "build/src/libpad2.o": 0.065, - "build/src/sgap.o": 0.057, - "build/src/sgap_2.o": 0.053, - "build/src/sgap_3.o": 0.063, - "build/src/sgap_4.o": 0.063, - "build/src/sgap_5.o": 0.065, - "build/src/sgap_6.o": 0.058, - "build/src/sgap_8.o": 0.062, - "build/src/snd1.o": 0.068, - "build/src/snd10.o": 0.05, - "build/src/snd11.o": 0.06, - "build/src/snd12.o": 0.063, - "build/src/snd2.o": 0.067, - "build/src/snd3.o": 0.056, - "build/src/snd4.o": 0.058, - "build/src/snd5.o": 0.062, - "build/src/snd6.o": 0.065, - "build/src/snd7.o": 0.056, - "build/src/snd8.o": 0.061, + "build/src/libgte12.o": 0.057, + "build/src/libgte13.o": 0.054, + "build/src/libgte14.o": 0.058, + "build/src/libgte15.o": 0.053, + "build/src/libgte16.o": 0.048, + "build/src/libgte17.o": 0.059, + "build/src/libgte18.o": 0.058, + "build/src/libgte19.o": 0.057, + "build/src/libgte2.o": 0.054, + "build/src/libgte20.o": 0.056, + "build/src/libgte21.o": 0.065, + "build/src/libgte22.o": 0.057, + "build/src/libgte23.o": 0.052, + "build/src/libgte24.o": 0.06, + "build/src/libgte25.o": 0.06, + "build/src/libgte26.o": 0.06, + "build/src/libgte27.o": 0.053, + "build/src/libgte28.o": 0.065, + "build/src/libgte29.o": 0.052, + "build/src/libgte3.o": 0.053, + "build/src/libgte30.o": 0.058, + "build/src/libgte4.o": 0.061, + "build/src/libgte5.o": 0.058, + "build/src/libgte6.o": 0.059, + "build/src/libgte7.o": 0.059, + "build/src/libgte8.o": 0.055, + "build/src/libgte9.o": 0.062, + "build/src/libmcrd1.o": 0.08, + "build/src/libmcrd2.o": 0.064, + "build/src/libpad1.o": 0.063, + "build/src/libpad2.o": 0.06, + "build/src/sgap.o": 0.066, + "build/src/sgap_2.o": 0.055, + "build/src/sgap_3.o": 0.055, + "build/src/sgap_4.o": 0.066, + "build/src/sgap_5.o": 0.058, + "build/src/sgap_6.o": 0.056, + "build/src/sgap_8.o": 0.065, + "build/src/snd1.o": 0.06, + "build/src/snd10.o": 0.063, + "build/src/snd11.o": 0.061, + "build/src/snd12.o": 0.062, + "build/src/snd2.o": 0.063, + "build/src/snd3.o": 0.063, + "build/src/snd4.o": 0.062, + "build/src/snd5.o": 0.056, + "build/src/snd6.o": 0.063, + "build/src/snd7.o": 0.059, + "build/src/snd8.o": 0.063, "build/src/snd9.o": 0.06, - "build/src/ov_SC03_014/ov_SC03_014.o": 0.126, - "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.47, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.355, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.062, + "build/src/ov_SC03_014/ov_SC03_014.o": 0.114, + "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.462, + "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.393, + "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.057, - "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.152, - "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.073, - "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.182, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.072, - "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.157, - "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.086, - "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.056, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.065, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.081, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.422, - "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.24, - "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.196, - "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.057, - "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.095, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.067, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.152, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.172, - "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.237, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.056, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.055, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.05, - "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.066, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.11, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.461, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.112, + "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.115, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.078, + "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.167, + "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.156, + "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.1, + "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.052, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.091, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.454, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.256, + "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.097, + "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.051, + "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.062, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.144, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.18, + "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.047, + "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.273, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.054, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.049, + "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.053, + "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.067, + "build/src/ov_SC03_015/ov_SC03_015.o": 0.111, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.47, "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.352, "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.052, - "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.111, - "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.134, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.109, - "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.054, - "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.159, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.069, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.144, - "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.085, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.052, + "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.137, + "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.061, + "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.166, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.064, + "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.081, "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.056, "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.08, - "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.259, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.088, + "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.263, "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.083, - "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.055, - "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.059, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.163, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.176, - "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.272, - "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.052, - "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.054, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.053, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.063, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.098, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.409, - "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.044, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.048, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.102, - "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.138, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.105, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.058, - "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.162, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.062, - "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.155, + "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.2, + "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.05, + "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.1, + "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.156, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.18, + "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.054, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.248, + "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.059, + "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.045, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.057, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.069, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.097, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.401, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.313, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.048, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.055, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.1, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.136, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.101, + "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.057, + "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.169, + "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.148, "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.057, - "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.081, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.345, + "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.06, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.057, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.08, + "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.209, - "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.093, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.153, - "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.048, - "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.055, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.093, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.408, - "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.051, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.049 + "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.091, + "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.164, + "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.057, + "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.078, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.066, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.09, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.409, + "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.058, + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.058 }, "ok": true, "seconds": 2.1 diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index ce04d008b..433b0ce89 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -29577,3 +29577,4 @@ {"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"} {"ts": "2026-09-11 06:30:26", "label": "s104_e37", "rung": "E", "calib": {"head": "bb39251e3", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_101/ov_SC03_101_jr_8017CA80.c", "fn": "func_801829F8", "addr": 2149067256, "aliases": null, "header": false, "includers": 0, "nhash_before": "8fdcce8441c4f709ab1ef1fd6aa2951d297e33d4", "nhash_after": "0261563814e2c2b007b8b059628406eb40843909", "source": ".run/P36/agents/ov_SC03_097__func_80182498/scratch/copies/ov_SC03_101__func_801829F8.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.156, "objects": ["build/src/ov_SC03_101/ov_SC03_101_jr_8017CA80.o"], "before_text": "void func_801829F8(s32 a0) {\n\n extern s16 D_8019DD78;\n extern s16 D_8019DD7A;\n extern u8 D_8019DD80;\n extern u8 D_8019DD81;\n extern u8 D_8019DD82;\n\n extern s16 D_8019DD84;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_801829F8 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_801829F8 *p;\n s32 x;\n s32 y;\n s32 ang;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_801829F8 *)m = *(Mat32_8018B23C_801829F8 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_8019DD80;\n *(u8 *)(q + 5) = D_8019DD81;\n *(u8 *)(q + 6) = D_8019DD82;\n\n p = (Rec_8018B23C_801829F8 *)((s32)&D_8019DD84 + (a0 << 4));\n x = p->fA + (u16)D_8019DD78;\n y = p->fE + (u16)D_8019DD7A;\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_801829F8 *bp = (Bidx_8018B23C_801829F8 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_801829F8 *)q)->addr =\n ((PTag_8018B23C_801829F8 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_801829F8 *)(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_801829F8(s32 a0) {\n\n extern s16 D_8019DD78;\n extern s16 D_8019DD7A;\n extern u8 D_8019DD80;\n extern u8 D_8019DD81;\n extern u8 D_8019DD82;\n\n extern s16 D_8019DD84;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_801829F8 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_801829F8 *p;\n s32 x;\n s32 y;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_801829F8 *)m = *(Mat32_8018B23C_801829F8 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_8019DD80;\n *(u8 *)(q + 5) = D_8019DD81;\n *(u8 *)(q + 6) = D_8019DD82;\n\n p = (Rec_8018B23C_801829F8 *)((s32)&D_8019DD84 + (a0 << 4));\n x = p->fA + (u16)D_8019DD78;\n y = p->fE + (u16)D_8019DD7A;\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_801829F8 *bp = (Bidx_8018B23C_801829F8 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_801829F8 *)q)->addr =\n ((PTag_8018B23C_801829F8 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_801829F8 *)(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:43", "label": "s104_e37", "rung": "E", "calib": {"head": "5d95be42f", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_024/ov_SC03_024_jr_80183BF8.c", "fn": "func_801865DC", "addr": 2149082588, "aliases": null, "header": false, "includers": 0, "nhash_before": "0e99693eb58b31f9e5652dd6afbf10c22c9d8d1a", "nhash_after": "e149e4e703a101a8aa8e0f0d9cdfe25321b08a0a", "source": ".run/P36/agents/ov_SC03_097__func_80182498/scratch/copies/ov_SC03_024__func_801865DC.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.088, "objects": ["build/src/ov_SC03_024/ov_SC03_024_jr_80183BF8.o"], "before_text": "void func_801865DC(s32 a0) {\n\n extern s16 D_801C14E8;\n extern s16 D_801C14EA;\n extern u8 D_801C14F0;\n extern u8 D_801C14F1;\n extern u8 D_801C14F2;\n\n extern s16 D_801C14F4;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_801865DC 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_801865DC *p;\n s32 x;\n s32 y;\n s32 ang;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_801865DC *)m = *(Mat32_8018B23C_801865DC *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801C14F0;\n *(u8 *)(q + 5) = D_801C14F1;\n *(u8 *)(q + 6) = D_801C14F2;\n\n p = (Rec_8018B23C_801865DC *)((s32)&D_801C14F4 + (a0 << 4));\n x = p->fA + (u16)D_801C14E8;\n y = p->fE + (u16)D_801C14EA;\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_801865DC *bp = (Bidx_8018B23C_801865DC *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_801865DC *)q)->addr =\n ((PTag_8018B23C_801865DC *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_801865DC *)(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_801865DC(s32 a0) {\n\n extern s16 D_801C14E8;\n extern s16 D_801C14EA;\n extern u8 D_801C14F0;\n extern u8 D_801C14F1;\n extern u8 D_801C14F2;\n\n extern s16 D_801C14F4;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_801865DC 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_801865DC *p;\n s32 x;\n s32 y;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_801865DC *)m = *(Mat32_8018B23C_801865DC *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801C14F0;\n *(u8 *)(q + 5) = D_801C14F1;\n *(u8 *)(q + 6) = D_801C14F2;\n\n p = (Rec_8018B23C_801865DC *)((s32)&D_801C14F4 + (a0 << 4));\n x = p->fA + (u16)D_801C14E8;\n y = p->fE + (u16)D_801C14EA;\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_801865DC *bp = (Bidx_8018B23C_801865DC *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_801865DC *)q)->addr =\n ((PTag_8018B23C_801865DC *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_801865DC *)(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:31:00", "label": "s104_e37", "rung": "E", "calib": {"head": "3cff744de", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC07_000/ov_SC07_000_jr_8017F8B8.c", "fn": "func_8018234C", "addr": 2149065548, "aliases": null, "header": false, "includers": 0, "nhash_before": "0c8e2744d41d07bed5d22cdad09a35ab34c70f5b", "nhash_after": "ff2d40b7e296dd28cd1c99ea8128fc68c00edb66", "source": ".run/P36/agents/ov_SC03_097__func_80182498/scratch/copies/ov_SC07_000__func_8018234C.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.083, "objects": ["build/src/ov_SC07_000/ov_SC07_000_jr_8017F8B8.o"], "before_text": "void func_8018234C(s32 a0) {\n\n extern s16 D_801D0970;\n extern s16 D_801D0972;\n extern u8 D_801D0978;\n extern u8 D_801D0979;\n extern u8 D_801D097A;\n\n extern s16 D_801D097C;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_8018234C 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_8018234C *p;\n s32 x;\n s32 y;\n s32 ang;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_8018234C *)m = *(Mat32_8018B23C_8018234C *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801D0978;\n *(u8 *)(q + 5) = D_801D0979;\n *(u8 *)(q + 6) = D_801D097A;\n\n p = (Rec_8018B23C_8018234C *)((s32)&D_801D097C + (a0 << 4));\n x = p->fA + (u16)D_801D0970;\n y = p->fE + (u16)D_801D0972;\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_8018234C *bp = (Bidx_8018B23C_8018234C *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_8018234C *)q)->addr =\n ((PTag_8018B23C_8018234C *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_8018234C *)(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_8018234C(s32 a0) {\n\n extern s16 D_801D0970;\n extern s16 D_801D0972;\n extern u8 D_801D0978;\n extern u8 D_801D0979;\n extern u8 D_801D097A;\n\n extern s16 D_801D097C;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_8018234C 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_8018234C *p;\n s32 x;\n s32 y;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_8018234C *)m = *(Mat32_8018B23C_8018234C *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801D0978;\n *(u8 *)(q + 5) = D_801D0979;\n *(u8 *)(q + 6) = D_801D097A;\n\n p = (Rec_8018B23C_8018234C *)((s32)&D_801D097C + (a0 << 4));\n x = p->fA + (u16)D_801D0970;\n y = p->fE + (u16)D_801D0972;\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_8018234C *bp = (Bidx_8018B23C_8018234C *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_8018234C *)q)->addr =\n ((PTag_8018B23C_8018234C *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_8018234C *)(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_SC07_000/ov_SC07_000_jr_8017F8B8.c b/src/ov_SC07_000/ov_SC07_000_jr_8017F8B8.c index f48118106..4b657871e 100644 --- a/src/ov_SC07_000/ov_SC07_000_jr_8017F8B8.c +++ b/src/ov_SC07_000/ov_SC07_000_jr_8017F8B8.c @@ -4809,7 +4809,6 @@ void func_8018234C(s32 a0) { Rec_8018B23C_8018234C *p; s32 x; s32 y; - s32 ang; q = D_800A5E60; @@ -4835,13 +4834,7 @@ void func_8018234C(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; @@ -4852,18 +4845,14 @@ void func_8018234C(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];