diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index 4fcbeb3364..918af8344c 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,7 +1,7 @@ { - "head": "16258f7e1", + "head": "bb39251e3", "stamp": "15956e4a96c4", - "generated": "2026-09-11 06:29", + "generated": "2026-09-11 06:30", "aliases": [ "main", "ov_SC03_014", @@ -21,206 +21,206 @@ "main": { "objects": 85, "identical": 85, - "seconds": 6.146999999999997, - "mean_s": 0.072 + "seconds": 6.222999999999999, + "mean_s": 0.073 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 4.341, + "seconds": 4.356000000000001, "mean_s": 0.136 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 4.151999999999999, - "mean_s": 0.13 + "seconds": 4.179, + "mean_s": 0.131 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 3.68, - "mean_s": 0.131 + "seconds": 3.6420000000000003, + "mean_s": 0.13 } }, "per_object_seconds": { - "build/src/800.o": 0.735, - "build/src/800_b.o": 0.082, + "build/src/800.o": 0.708, + "build/src/800_b.o": 0.078, "build/src/800_b_2.o": 0.288, - "build/src/800_b_o0a.o": 0.061, - "build/src/800_c.o": 0.171, + "build/src/800_b_o0a.o": 0.064, + "build/src/800_c.o": 0.175, "build/src/800b2.o": 0.065, - "build/src/apicard1.o": 0.076, - "build/src/apicard2.o": 0.057, - "build/src/apicard3.o": 0.071, - "build/src/apicard4.o": 0.059, - "build/src/apicard5.o": 0.074, + "build/src/apicard1.o": 0.082, + "build/src/apicard2.o": 0.06, + "build/src/apicard3.o": 0.072, + "build/src/apicard4.o": 0.068, + "build/src/apicard5.o": 0.075, "build/src/apicard6.o": 0.057, - "build/src/apicard7.o": 0.075, - "build/src/boot.o": 0.079, - "build/src/gap.o": 0.064, - "build/src/libapi1.o": 0.068, - "build/src/libapi2.o": 0.052, - "build/src/libc2_1.o": 0.059, - "build/src/libc2_2.o": 0.054, - "build/src/libcd1.o": 0.065, - "build/src/libcd2.o": 0.056, - "build/src/libetc.o": 0.057, - "build/src/libgpu.o": 0.055, - "build/src/libgpu2.o": 0.059, - "build/src/libgs1.o": 0.053, + "build/src/apicard7.o": 0.062, + "build/src/boot.o": 0.08, + "build/src/gap.o": 0.077, + "build/src/libapi1.o": 0.073, + "build/src/libapi2.o": 0.053, + "build/src/libc2_1.o": 0.056, + "build/src/libc2_2.o": 0.059, + "build/src/libcd1.o": 0.066, + "build/src/libcd2.o": 0.057, + "build/src/libetc.o": 0.058, + "build/src/libgpu.o": 0.061, + "build/src/libgpu2.o": 0.066, + "build/src/libgs1.o": 0.054, "build/src/libgs2.o": 0.054, - "build/src/libgs3.o": 0.059, - "build/src/libgs4.o": 0.059, - "build/src/libgs5.o": 0.057, - "build/src/libgs6.o": 0.07, - "build/src/libgs7.o": 0.054, - "build/src/libgs8.o": 0.057, - "build/src/libgte1.o": 0.059, - "build/src/libgte10.o": 0.054, - "build/src/libgte11.o": 0.059, - "build/src/libgte12.o": 0.054, - "build/src/libgte13.o": 0.059, - "build/src/libgte14.o": 0.056, - "build/src/libgte15.o": 0.059, - "build/src/libgte16.o": 0.06, - "build/src/libgte17.o": 0.06, - "build/src/libgte18.o": 0.057, - "build/src/libgte19.o": 0.058, - "build/src/libgte2.o": 0.051, - "build/src/libgte20.o": 0.06, - "build/src/libgte21.o": 0.06, - "build/src/libgte22.o": 0.057, - "build/src/libgte23.o": 0.055, - "build/src/libgte24.o": 0.061, - "build/src/libgte25.o": 0.063, - "build/src/libgte26.o": 0.056, + "build/src/libgs3.o": 0.049, + "build/src/libgs4.o": 0.063, + "build/src/libgs5.o": 0.058, + "build/src/libgs6.o": 0.067, + "build/src/libgs7.o": 0.058, + "build/src/libgs8.o": 0.058, + "build/src/libgte1.o": 0.058, + "build/src/libgte10.o": 0.052, + "build/src/libgte11.o": 0.05, + "build/src/libgte12.o": 0.06, + "build/src/libgte13.o": 0.06, + "build/src/libgte14.o": 0.064, + "build/src/libgte15.o": 0.065, + "build/src/libgte16.o": 0.059, + "build/src/libgte17.o": 0.05, + "build/src/libgte18.o": 0.058, + "build/src/libgte19.o": 0.056, + "build/src/libgte2.o": 0.056, + "build/src/libgte20.o": 0.051, + "build/src/libgte21.o": 0.056, + "build/src/libgte22.o": 0.061, + "build/src/libgte23.o": 0.056, + "build/src/libgte24.o": 0.053, + "build/src/libgte25.o": 0.053, + "build/src/libgte26.o": 0.06, "build/src/libgte27.o": 0.059, - "build/src/libgte28.o": 0.057, - "build/src/libgte29.o": 0.056, - "build/src/libgte3.o": 0.058, - "build/src/libgte30.o": 0.06, - "build/src/libgte4.o": 0.06, - "build/src/libgte5.o": 0.057, - "build/src/libgte6.o": 0.064, - "build/src/libgte7.o": 0.061, - "build/src/libgte8.o": 0.061, - "build/src/libgte9.o": 0.061, - "build/src/libmcrd1.o": 0.072, - "build/src/libmcrd2.o": 0.063, - "build/src/libpad1.o": 0.061, - "build/src/libpad2.o": 0.058, - "build/src/sgap.o": 0.058, - "build/src/sgap_2.o": 0.066, - "build/src/sgap_3.o": 0.058, - "build/src/sgap_4.o": 0.065, - "build/src/sgap_5.o": 0.058, - "build/src/sgap_6.o": 0.058, - "build/src/sgap_8.o": 0.064, - "build/src/snd1.o": 0.067, - "build/src/snd10.o": 0.06, - "build/src/snd11.o": 0.06, - "build/src/snd12.o": 0.06, - "build/src/snd2.o": 0.066, - "build/src/snd3.o": 0.06, - "build/src/snd4.o": 0.059, - "build/src/snd5.o": 0.056, - "build/src/snd6.o": 0.06, - "build/src/snd7.o": 0.052, - "build/src/snd8.o": 0.052, - "build/src/snd9.o": 0.06, - "build/src/ov_SC03_014/ov_SC03_014.o": 0.117, - "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.489, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.372, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.067, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.06, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.115, + "build/src/libgte28.o": 0.078, + "build/src/libgte29.o": 0.065, + "build/src/libgte3.o": 0.061, + "build/src/libgte30.o": 0.063, + "build/src/libgte4.o": 0.061, + "build/src/libgte5.o": 0.064, + "build/src/libgte6.o": 0.054, + "build/src/libgte7.o": 0.058, + "build/src/libgte8.o": 0.062, + "build/src/libgte9.o": 0.075, + "build/src/libmcrd1.o": 0.065, + "build/src/libmcrd2.o": 0.064, + "build/src/libpad1.o": 0.064, + "build/src/libpad2.o": 0.061, + "build/src/sgap.o": 0.064, + "build/src/sgap_2.o": 0.055, + "build/src/sgap_3.o": 0.063, + "build/src/sgap_4.o": 0.066, + "build/src/sgap_5.o": 0.062, + "build/src/sgap_6.o": 0.06, + "build/src/sgap_8.o": 0.061, + "build/src/snd1.o": 0.066, + "build/src/snd10.o": 0.055, + "build/src/snd11.o": 0.057, + "build/src/snd12.o": 0.062, + "build/src/snd2.o": 0.059, + "build/src/snd3.o": 0.063, + "build/src/snd4.o": 0.064, + "build/src/snd5.o": 0.058, + "build/src/snd6.o": 0.074, + "build/src/snd7.o": 0.061, + "build/src/snd8.o": 0.057, + "build/src/snd9.o": 0.063, + "build/src/ov_SC03_014/ov_SC03_014.o": 0.121, + "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.476, + "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.053, + "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.11, "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.148, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.112, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.113, "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.072, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.059, - "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.19, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.068, - "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.16, - "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.093, - "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.061, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.055, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.084, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.464, - "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.227, - "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.083, - "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.181, - "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.051, - "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.088, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.054, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.169, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.189, - "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.05, - "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.239, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.049, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.052, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.056, - "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.067, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.105, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.464, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.367, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.047, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.051, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.109, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.063, + "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.163, + "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.161, + "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.087, + "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.066, + "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.456, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.252, + "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.085, + "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.102, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.061, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.153, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.17, + "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.27, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.051, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.051, + "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.053, + "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.064, + "build/src/ov_SC03_015/ov_SC03_015.o": 0.112, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.487, + "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.351, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.049, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.044, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.099, "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.139, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.088, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.066, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.053, - "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.15, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.062, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.148, - "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.086, - "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.055, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.068, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.09, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.4, - "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.231, - "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.098, - "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.189, - "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.054, - "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.09, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.068, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.161, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.198, - "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.041, - "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.254, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.097, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.06, + "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.171, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.057, + "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.155, + "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.087, + "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.057, + "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.091, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.421, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.246, + "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.078, + "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.178, + "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.092, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.06, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.165, + "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.048, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.242, "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.052, - "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.056, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.054, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.058, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.099, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.399, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.341, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.042, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.052, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.104, - "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.139, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.1, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.071, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.058, - "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.165, + "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.055, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.053, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.062, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.124, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.388, + "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.048, + "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.113, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.137, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.112, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.059, + "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.147, "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.058, - "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.15, - "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.084, - "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.061, + "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.155, + "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.087, + "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.062, "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.064, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.083, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.342, - "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.217, - "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.084, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.146, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.086, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.329, + "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.196, + "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.155, "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.054, - "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.092, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.062, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.088, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.413, - "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.057, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.055 + "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.06, + "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.403, + "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.052, + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.054 }, "ok": true, "seconds": 2.1 diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index 658b11c9f9..4f22cd9ac3 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -29575,3 +29575,4 @@ {"ts": "2026-09-11 06:29:36", "label": "s104_e37", "rung": "E", "calib": {"head": "488b32588", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC02_028/ov_SC02_028_jr_8017D898.c", "fn": "func_801844D4", "addr": 2149074132, "aliases": null, "header": false, "includers": 0, "nhash_before": "c34b4054c32f52fb31f2f066b6e8a02791cb9bd4", "nhash_after": "77276259830e6293a6a06d04b319a52c9c73837e", "source": ".run/P36/agents/ov_SC03_097__func_80182498/scratch/copies/ov_SC02_028__func_801844D4.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.16, "objects": ["build/src/ov_SC02_028/ov_SC02_028_jr_8017D898.o"], "before_text": "void func_801844D4(s32 a0) {\n\n extern s16 D_801D3180;\n extern s16 D_801D3182;\n extern u8 D_801D3188;\n extern u8 D_801D3189;\n extern u8 D_801D318A;\n\n extern s16 D_801D318C;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_801844D4 D_800A651C[];\n\n s32 m[8]; /* sp+0x10 */\n u8 sv[8]; /* sp+0x30 */\n u16 out[4]; /* sp+0x38 */\n s32 scale[4]; /* sp+0x40 */\n\n u8 *q;\n Rec_8018B23C_801844D4 *p;\n s32 x;\n s32 y;\n s32 ang;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_801844D4 *)m = *(Mat32_8018B23C_801844D4 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801D3188;\n *(u8 *)(q + 5) = D_801D3189;\n *(u8 *)(q + 6) = D_801D318A;\n\n p = (Rec_8018B23C_801844D4 *)((s32)&D_801D318C + (a0 << 4));\n x = p->fA + (u16)D_801D3180;\n y = p->fE + (u16)D_801D3182;\n RotMatrixZ(p->f6, m);\n\n scale[0] = *(s16 *)((s32)p + 2);\n scale[1] = *(s16 *)((s32)p + 2);\n scale[2] = *(s16 *)((s32)p + 2);\n func_8004901C(m, scale);\n\n *(s16 *)(sv + 4) = 0;\n *(s16 *)(sv + 2) = 0;\n *(s16 *)(sv + 0) = p->f0;\n {\n void *svp = sv;\n void *outp = out;\n ApplyMatrixSV(m, svp, outp);\n __asm__ __volatile__(\"\" : \"=r\"(svp)); // !FAKE: launder out-only \u2014 NEEDED DIFFERS (P36 rung B tus9)\n __asm__ __volatile__(\"\" : \"=r\"(outp)); // !FAKE: launder out-only \u2014 NEEDED DIFFERS (P36 rung B tus9)\n }\n\n *(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3;\n *(s16 *)(q + 0xA) = y + ((s16)out[1] >> 1) * 3;\n *(s16 *)(q + 0xC) = x - ((s16)out[0] >> 1);\n *(s16 *)(q + 0xE) = y - ((s16)out[1] >> 1);\n x = x + out[0];\n *(s16 *)(q + 0x10) = x;\n y = y + out[1];\n *(s16 *)(q + 0x12) = y;\n\n ang = -0x400;\n if (p->f0 & 1) {\n ang = 0x400;\n }\n RotMatrixZ(ang, m);\n\n *(s16 *)(sv + 0) = 2;\n {\n /* lever C: sp+0x10 IS &m, but spelled so cse cannot fold it to $s4 */\n register u8 *spr __asm__(\"$29\"); // !FAKE: pin $29 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n ApplyMatrixSV(spr + 0x10, sv, out);\n }\n\n *(s16 *)(q + 0x10) = *(u16 *)(q + 0x10) + out[0];\n *(s16 *)(q + 0x12) = *(u16 *)(q + 0x12) + out[1];\n\n {\n Bidx_8018B23C_801844D4 *bp = (Bidx_8018B23C_801844D4 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_801844D4 *)q)->addr =\n ((PTag_8018B23C_801844D4 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_801844D4 *)(D_800A651C[bp->f].a + 0x40))->addr = (u32)q;\n func_80016638(&D_800A6518[bp->f * 20], 0x10, 1);\n }\n}\n", "after_text": "void func_801844D4(s32 a0) {\n\n extern s16 D_801D3180;\n extern s16 D_801D3182;\n extern u8 D_801D3188;\n extern u8 D_801D3189;\n extern u8 D_801D318A;\n\n extern s16 D_801D318C;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_801844D4 D_800A651C[];\n\n s32 m[8]; /* sp+0x10 */\n u8 sv[8]; /* sp+0x30 */\n u16 out[4]; /* sp+0x38 */\n s32 scale[4]; /* sp+0x40 */\n\n u8 *q;\n Rec_8018B23C_801844D4 *p;\n s32 x;\n s32 y;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_801844D4 *)m = *(Mat32_8018B23C_801844D4 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801D3188;\n *(u8 *)(q + 5) = D_801D3189;\n *(u8 *)(q + 6) = D_801D318A;\n\n p = (Rec_8018B23C_801844D4 *)((s32)&D_801D318C + (a0 << 4));\n x = p->fA + (u16)D_801D3180;\n y = p->fE + (u16)D_801D3182;\n RotMatrixZ(p->f6, m);\n\n scale[0] = *(s16 *)((s32)p + 2);\n scale[1] = *(s16 *)((s32)p + 2);\n scale[2] = *(s16 *)((s32)p + 2);\n func_8004901C(m, scale);\n\n *(s16 *)(sv + 4) = 0;\n *(s16 *)(sv + 2) = 0;\n *(s16 *)(sv + 0) = p->f0;\n ApplyMatrixSV(m, sv, out);\n\n *(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3;\n *(s16 *)(q + 0xA) = y + ((s16)out[1] >> 1) * 3;\n *(s16 *)(q + 0xC) = x - ((s16)out[0] >> 1);\n *(s16 *)(q + 0xE) = y - ((s16)out[1] >> 1);\n x = x + out[0];\n *(s16 *)(q + 0x10) = x;\n y = y + out[1];\n *(s16 *)(q + 0x12) = y;\n\n if (p->f0 & 1) {\n RotMatrixZ(0x400, m);\n } else {\n RotMatrixZ(-0x400, m);\n }\n\n *(s16 *)(sv + 0) = 2;\n ApplyMatrixSV(m, sv, out);\n\n *(s16 *)(q + 0x10) = *(u16 *)(q + 0x10) + out[0];\n *(s16 *)(q + 0x12) = *(u16 *)(q + 0x12) + out[1];\n\n {\n Bidx_8018B23C_801844D4 *bp = (Bidx_8018B23C_801844D4 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_801844D4 *)q)->addr =\n ((PTag_8018B23C_801844D4 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_801844D4 *)(D_800A651C[bp->f].a + 0x40))->addr = (u32)q;\n func_80016638(&D_800A6518[bp->f * 20], 0x10, 1);\n }\n}\n"} {"ts": "2026-09-11 06:29:53", "label": "s104_e37", "rung": "E", "calib": {"head": "0ed0d5f20", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC03_104/ov_SC03_104_jr_80182038.c", "fn": "func_80185E34", "addr": 2149080628, "aliases": null, "header": false, "includers": 0, "nhash_before": "cf9607e52aaba379c3b19aab15379490654263c8", "nhash_after": "e37fc9915be39de25cfe4f804eb04dac5faaae78", "source": ".run/P36/agents/ov_SC03_097__func_80182498/scratch/copies/ov_SC03_104__func_80185E34.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.11, "objects": ["build/src/ov_SC03_104/ov_SC03_104_jr_80182038.o"], "before_text": "void func_80185E34(s32 a0) {\n\n extern s16 D_801C0130;\n extern s16 D_801C0132;\n extern u8 D_801C0138;\n extern u8 D_801C0139;\n extern u8 D_801C013A;\n\n extern s16 D_801C013C;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_80185E34 D_800A651C[];\n\n s32 m[8]; /* sp+0x10 */\n u8 sv[8]; /* sp+0x30 */\n u16 out[4]; /* sp+0x38 */\n s32 scale[4]; /* sp+0x40 */\n\n u8 *q;\n Rec_8018B23C_80185E34 *p;\n s32 x;\n s32 y;\n s32 ang;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_80185E34 *)m = *(Mat32_8018B23C_80185E34 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801C0138;\n *(u8 *)(q + 5) = D_801C0139;\n *(u8 *)(q + 6) = D_801C013A;\n\n p = (Rec_8018B23C_80185E34 *)((s32)&D_801C013C + (a0 << 4));\n x = p->fA + (u16)D_801C0130;\n y = p->fE + (u16)D_801C0132;\n RotMatrixZ(p->f6, m);\n\n scale[0] = *(s16 *)((s32)p + 2);\n scale[1] = *(s16 *)((s32)p + 2);\n scale[2] = *(s16 *)((s32)p + 2);\n func_8004901C(m, scale);\n\n *(s16 *)(sv + 4) = 0;\n *(s16 *)(sv + 2) = 0;\n *(s16 *)(sv + 0) = p->f0;\n {\n void *svp = sv;\n void *outp = out;\n ApplyMatrixSV(m, svp, outp);\n __asm__ __volatile__(\"\" : \"=r\"(svp)); // !FAKE: launder out-only \u2014 NEEDED DIFFERS (P36 rung B tus9)\n __asm__ __volatile__(\"\" : \"=r\"(outp)); // !FAKE: launder out-only \u2014 NEEDED DIFFERS (P36 rung B tus9)\n }\n\n *(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3;\n *(s16 *)(q + 0xA) = y + ((s16)out[1] >> 1) * 3;\n *(s16 *)(q + 0xC) = x - ((s16)out[0] >> 1);\n *(s16 *)(q + 0xE) = y - ((s16)out[1] >> 1);\n x = x + out[0];\n *(s16 *)(q + 0x10) = x;\n y = y + out[1];\n *(s16 *)(q + 0x12) = y;\n\n ang = -0x400;\n if (p->f0 & 1) {\n ang = 0x400;\n }\n RotMatrixZ(ang, m);\n\n *(s16 *)(sv + 0) = 2;\n {\n /* lever C: sp+0x10 IS &m, but spelled so cse cannot fold it to $s4 */\n register u8 *spr __asm__(\"$29\"); // !FAKE: pin $29 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n ApplyMatrixSV(spr + 0x10, sv, out);\n }\n\n *(s16 *)(q + 0x10) = *(u16 *)(q + 0x10) + out[0];\n *(s16 *)(q + 0x12) = *(u16 *)(q + 0x12) + out[1];\n\n {\n Bidx_8018B23C_80185E34 *bp = (Bidx_8018B23C_80185E34 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_80185E34 *)q)->addr =\n ((PTag_8018B23C_80185E34 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_80185E34 *)(D_800A651C[bp->f].a + 0x40))->addr = (u32)q;\n func_80016638(&D_800A6518[bp->f * 20], 0x10, 1);\n }\n}\n", "after_text": "void func_80185E34(s32 a0) {\n\n extern s16 D_801C0130;\n extern s16 D_801C0132;\n extern u8 D_801C0138;\n extern u8 D_801C0139;\n extern u8 D_801C013A;\n\n extern s16 D_801C013C;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_80185E34 D_800A651C[];\n\n s32 m[8]; /* sp+0x10 */\n u8 sv[8]; /* sp+0x30 */\n u16 out[4]; /* sp+0x38 */\n s32 scale[4]; /* sp+0x40 */\n\n u8 *q;\n Rec_8018B23C_80185E34 *p;\n s32 x;\n s32 y;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_80185E34 *)m = *(Mat32_8018B23C_80185E34 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801C0138;\n *(u8 *)(q + 5) = D_801C0139;\n *(u8 *)(q + 6) = D_801C013A;\n\n p = (Rec_8018B23C_80185E34 *)((s32)&D_801C013C + (a0 << 4));\n x = p->fA + (u16)D_801C0130;\n y = p->fE + (u16)D_801C0132;\n RotMatrixZ(p->f6, m);\n\n scale[0] = *(s16 *)((s32)p + 2);\n scale[1] = *(s16 *)((s32)p + 2);\n scale[2] = *(s16 *)((s32)p + 2);\n func_8004901C(m, scale);\n\n *(s16 *)(sv + 4) = 0;\n *(s16 *)(sv + 2) = 0;\n *(s16 *)(sv + 0) = p->f0;\n ApplyMatrixSV(m, sv, out);\n\n *(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3;\n *(s16 *)(q + 0xA) = y + ((s16)out[1] >> 1) * 3;\n *(s16 *)(q + 0xC) = x - ((s16)out[0] >> 1);\n *(s16 *)(q + 0xE) = y - ((s16)out[1] >> 1);\n x = x + out[0];\n *(s16 *)(q + 0x10) = x;\n y = y + out[1];\n *(s16 *)(q + 0x12) = y;\n\n if (p->f0 & 1) {\n RotMatrixZ(0x400, m);\n } else {\n RotMatrixZ(-0x400, m);\n }\n\n *(s16 *)(sv + 0) = 2;\n ApplyMatrixSV(m, sv, out);\n\n *(s16 *)(q + 0x10) = *(u16 *)(q + 0x10) + out[0];\n *(s16 *)(q + 0x12) = *(u16 *)(q + 0x12) + out[1];\n\n {\n Bidx_8018B23C_80185E34 *bp = (Bidx_8018B23C_80185E34 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_80185E34 *)q)->addr =\n ((PTag_8018B23C_80185E34 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_80185E34 *)(D_800A651C[bp->f].a + 0x40))->addr = (u32)q;\n func_80016638(&D_800A6518[bp->f * 20], 0x10, 1);\n }\n}\n"} {"ts": "2026-09-11 06:30:10", "label": "s104_e37", "rung": "E", "calib": {"head": "16258f7e1", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_016/ov_SC06_016_jr_801839D0.c", "fn": "func_80184918", "addr": 2149075224, "aliases": null, "header": false, "includers": 0, "nhash_before": "73a90a105a926642726f67f616719041688bfc7c", "nhash_after": "aeba71f1293913b02e0d3f33e088c26601815112", "source": ".run/P36/agents/ov_SC03_097__func_80182498/scratch/copies/ov_SC06_016__func_80184918.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.055, "objects": ["build/src/ov_SC06_016/ov_SC06_016_jr_801839D0.o"], "before_text": "void func_80184918(s32 a0) {\n\n extern s16 D_8019FF08;\n extern s16 D_8019FF0A;\n extern u8 D_8019FF10;\n extern u8 D_8019FF11;\n extern u8 D_8019FF12;\n\n extern s16 D_8019FF14;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_80184918 D_800A651C[];\n\n s32 m[8]; /* sp+0x10 */\n u8 sv[8]; /* sp+0x30 */\n u16 out[4]; /* sp+0x38 */\n s32 scale[4]; /* sp+0x40 */\n\n u8 *q;\n Rec_8018B23C_80184918 *p;\n s32 x;\n s32 y;\n s32 ang;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_80184918 *)m = *(Mat32_8018B23C_80184918 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_8019FF10;\n *(u8 *)(q + 5) = D_8019FF11;\n *(u8 *)(q + 6) = D_8019FF12;\n\n p = (Rec_8018B23C_80184918 *)((s32)&D_8019FF14 + (a0 << 4));\n x = p->fA + (u16)D_8019FF08;\n y = p->fE + (u16)D_8019FF0A;\n RotMatrixZ(p->f6, m);\n\n scale[0] = *(s16 *)((s32)p + 2);\n scale[1] = *(s16 *)((s32)p + 2);\n scale[2] = *(s16 *)((s32)p + 2);\n func_8004901C(m, scale);\n\n *(s16 *)(sv + 4) = 0;\n *(s16 *)(sv + 2) = 0;\n *(s16 *)(sv + 0) = p->f0;\n {\n void *svp = sv;\n void *outp = out;\n ApplyMatrixSV(m, svp, outp);\n __asm__ __volatile__(\"\" : \"=r\"(svp)); // !FAKE: launder out-only \u2014 NEEDED DIFFERS (P36 rung B tus10)\n __asm__ __volatile__(\"\" : \"=r\"(outp)); // !FAKE: launder out-only \u2014 NEEDED DIFFERS (P36 rung B tus10)\n }\n\n *(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3;\n *(s16 *)(q + 0xA) = y + ((s16)out[1] >> 1) * 3;\n *(s16 *)(q + 0xC) = x - ((s16)out[0] >> 1);\n *(s16 *)(q + 0xE) = y - ((s16)out[1] >> 1);\n x = x + out[0];\n *(s16 *)(q + 0x10) = x;\n y = y + out[1];\n *(s16 *)(q + 0x12) = y;\n\n ang = -0x400;\n if (p->f0 & 1) {\n ang = 0x400;\n }\n RotMatrixZ(ang, m);\n\n *(s16 *)(sv + 0) = 2;\n {\n /* lever C: sp+0x10 IS &m, but spelled so cse cannot fold it to $s4 */\n register u8 *spr __asm__(\"$29\"); // !FAKE: pin $29 \u2014 NEEDED DIFFERS (P36 rung B tus10)\n ApplyMatrixSV(spr + 0x10, sv, out);\n }\n\n *(s16 *)(q + 0x10) = *(u16 *)(q + 0x10) + out[0];\n *(s16 *)(q + 0x12) = *(u16 *)(q + 0x12) + out[1];\n\n {\n Bidx_8018B23C_80184918 *bp = (Bidx_8018B23C_80184918 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_80184918 *)q)->addr =\n ((PTag_8018B23C_80184918 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_80184918 *)(D_800A651C[bp->f].a + 0x40))->addr = (u32)q;\n func_80016638(&D_800A6518[bp->f * 20], 0x10, 1);\n }\n}\n", "after_text": "void func_80184918(s32 a0) {\n\n extern s16 D_8019FF08;\n extern s16 D_8019FF0A;\n extern u8 D_8019FF10;\n extern u8 D_8019FF11;\n extern u8 D_8019FF12;\n\n extern s16 D_8019FF14;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_80184918 D_800A651C[];\n\n s32 m[8]; /* sp+0x10 */\n u8 sv[8]; /* sp+0x30 */\n u16 out[4]; /* sp+0x38 */\n s32 scale[4]; /* sp+0x40 */\n\n u8 *q;\n Rec_8018B23C_80184918 *p;\n s32 x;\n s32 y;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_80184918 *)m = *(Mat32_8018B23C_80184918 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_8019FF10;\n *(u8 *)(q + 5) = D_8019FF11;\n *(u8 *)(q + 6) = D_8019FF12;\n\n p = (Rec_8018B23C_80184918 *)((s32)&D_8019FF14 + (a0 << 4));\n x = p->fA + (u16)D_8019FF08;\n y = p->fE + (u16)D_8019FF0A;\n RotMatrixZ(p->f6, m);\n\n scale[0] = *(s16 *)((s32)p + 2);\n scale[1] = *(s16 *)((s32)p + 2);\n scale[2] = *(s16 *)((s32)p + 2);\n func_8004901C(m, scale);\n\n *(s16 *)(sv + 4) = 0;\n *(s16 *)(sv + 2) = 0;\n *(s16 *)(sv + 0) = p->f0;\n ApplyMatrixSV(m, sv, out);\n\n *(s16 *)(q + 0x8) = x + ((s16)out[0] >> 1) * 3;\n *(s16 *)(q + 0xA) = y + ((s16)out[1] >> 1) * 3;\n *(s16 *)(q + 0xC) = x - ((s16)out[0] >> 1);\n *(s16 *)(q + 0xE) = y - ((s16)out[1] >> 1);\n x = x + out[0];\n *(s16 *)(q + 0x10) = x;\n y = y + out[1];\n *(s16 *)(q + 0x12) = y;\n\n if (p->f0 & 1) {\n RotMatrixZ(0x400, m);\n } else {\n RotMatrixZ(-0x400, m);\n }\n\n *(s16 *)(sv + 0) = 2;\n ApplyMatrixSV(m, sv, out);\n\n *(s16 *)(q + 0x10) = *(u16 *)(q + 0x10) + out[0];\n *(s16 *)(q + 0x12) = *(u16 *)(q + 0x12) + out[1];\n\n {\n Bidx_8018B23C_80184918 *bp = (Bidx_8018B23C_80184918 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_80184918 *)q)->addr =\n ((PTag_8018B23C_80184918 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_80184918 *)(D_800A651C[bp->f].a + 0x40))->addr = (u32)q;\n func_80016638(&D_800A6518[bp->f * 20], 0x10, 1);\n }\n}\n"} +{"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"} diff --git a/src/ov_SC03_101/ov_SC03_101_jr_8017CA80.c b/src/ov_SC03_101/ov_SC03_101_jr_8017CA80.c index 985f6b4d4b..db5cc5afc2 100644 --- a/src/ov_SC03_101/ov_SC03_101_jr_8017CA80.c +++ b/src/ov_SC03_101/ov_SC03_101_jr_8017CA80.c @@ -6330,7 +6330,6 @@ void func_801829F8(s32 a0) { Rec_8018B23C_801829F8 *p; s32 x; s32 y; - s32 ang; q = D_800A5E60; @@ -6356,13 +6355,7 @@ void func_801829F8(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; @@ -6373,18 +6366,14 @@ void func_801829F8(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];