diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index 80c9f8567..332d06596 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,5 +1,5 @@ { - "head": "e178021ab", + "head": "ff3f630f7", "stamp": "15956e4a96c4", "generated": "2026-09-11 06:31", "aliases": [ @@ -21,206 +21,206 @@ "main": { "objects": 85, "identical": 85, - "seconds": 6.1170000000000035, - "mean_s": 0.072 + "seconds": 6.176, + "mean_s": 0.073 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 4.390999999999999, - "mean_s": 0.137 + "seconds": 4.309999999999998, + "mean_s": 0.135 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 4.226999999999999, - "mean_s": 0.132 + "seconds": 4.169, + "mean_s": 0.13 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 3.6610000000000005, - "mean_s": 0.131 + "seconds": 3.646000000000001, + "mean_s": 0.13 } }, "per_object_seconds": { - "build/src/800.o": 0.691, - "build/src/800_b.o": 0.078, - "build/src/800_b_2.o": 0.272, - "build/src/800_b_o0a.o": 0.063, - "build/src/800_c.o": 0.185, - "build/src/800b2.o": 0.069, - "build/src/apicard1.o": 0.061, - "build/src/apicard2.o": 0.062, - "build/src/apicard3.o": 0.069, - "build/src/apicard4.o": 0.067, - "build/src/apicard5.o": 0.072, - "build/src/apicard6.o": 0.068, - "build/src/apicard7.o": 0.059, - "build/src/boot.o": 0.085, - "build/src/gap.o": 0.07, - "build/src/libapi1.o": 0.077, - "build/src/libapi2.o": 0.047, - "build/src/libc2_1.o": 0.073, - "build/src/libc2_2.o": 0.056, - "build/src/libcd1.o": 0.063, - "build/src/libcd2.o": 0.057, - "build/src/libetc.o": 0.056, - "build/src/libgpu.o": 0.067, - "build/src/libgpu2.o": 0.069, - "build/src/libgs1.o": 0.058, - "build/src/libgs2.o": 0.05, - "build/src/libgs3.o": 0.045, - "build/src/libgs4.o": 0.054, - "build/src/libgs5.o": 0.055, - "build/src/libgs6.o": 0.068, - "build/src/libgs7.o": 0.057, - "build/src/libgs8.o": 0.054, - "build/src/libgte1.o": 0.055, - "build/src/libgte10.o": 0.051, - "build/src/libgte11.o": 0.056, - "build/src/libgte12.o": 0.057, - "build/src/libgte13.o": 0.064, - "build/src/libgte14.o": 0.062, - "build/src/libgte15.o": 0.059, - "build/src/libgte16.o": 0.055, - "build/src/libgte17.o": 0.061, - "build/src/libgte18.o": 0.059, - "build/src/libgte19.o": 0.058, + "build/src/800.o": 0.721, + "build/src/800_b.o": 0.067, + "build/src/800_b_2.o": 0.28, + "build/src/800_b_o0a.o": 0.062, + "build/src/800_c.o": 0.172, + "build/src/800b2.o": 0.067, + "build/src/apicard1.o": 0.06, + "build/src/apicard2.o": 0.073, + "build/src/apicard3.o": 0.061, + "build/src/apicard4.o": 0.066, + "build/src/apicard5.o": 0.069, + "build/src/apicard6.o": 0.056, + "build/src/apicard7.o": 0.077, + "build/src/boot.o": 0.081, + "build/src/gap.o": 0.055, + "build/src/libapi1.o": 0.069, + "build/src/libapi2.o": 0.057, + "build/src/libc2_1.o": 0.062, + "build/src/libc2_2.o": 0.055, + "build/src/libcd1.o": 0.067, + "build/src/libcd2.o": 0.063, + "build/src/libetc.o": 0.06, + "build/src/libgpu.o": 0.054, + "build/src/libgpu2.o": 0.068, + "build/src/libgs1.o": 0.054, + "build/src/libgs2.o": 0.057, + "build/src/libgs3.o": 0.051, + "build/src/libgs4.o": 0.056, + "build/src/libgs5.o": 0.051, + "build/src/libgs6.o": 0.074, + "build/src/libgs7.o": 0.058, + "build/src/libgs8.o": 0.06, + "build/src/libgte1.o": 0.062, + "build/src/libgte10.o": 0.056, + "build/src/libgte11.o": 0.051, + "build/src/libgte12.o": 0.054, + "build/src/libgte13.o": 0.062, + "build/src/libgte14.o": 0.05, + "build/src/libgte15.o": 0.06, + "build/src/libgte16.o": 0.057, + "build/src/libgte17.o": 0.05, + "build/src/libgte18.o": 0.061, + "build/src/libgte19.o": 0.061, "build/src/libgte2.o": 0.055, - "build/src/libgte20.o": 0.055, + "build/src/libgte20.o": 0.062, "build/src/libgte21.o": 0.055, - "build/src/libgte22.o": 0.061, - "build/src/libgte23.o": 0.059, - "build/src/libgte24.o": 0.054, - "build/src/libgte25.o": 0.061, - "build/src/libgte26.o": 0.055, - "build/src/libgte27.o": 0.052, - "build/src/libgte28.o": 0.078, - "build/src/libgte29.o": 0.056, + "build/src/libgte22.o": 0.056, + "build/src/libgte23.o": 0.063, + "build/src/libgte24.o": 0.059, + "build/src/libgte25.o": 0.064, + "build/src/libgte26.o": 0.059, + "build/src/libgte27.o": 0.057, + "build/src/libgte28.o": 0.072, + "build/src/libgte29.o": 0.059, "build/src/libgte3.o": 0.059, - "build/src/libgte30.o": 0.057, - "build/src/libgte4.o": 0.059, + "build/src/libgte30.o": 0.059, + "build/src/libgte4.o": 0.06, "build/src/libgte5.o": 0.057, - "build/src/libgte6.o": 0.057, - "build/src/libgte7.o": 0.055, - "build/src/libgte8.o": 0.059, - "build/src/libgte9.o": 0.057, - "build/src/libmcrd1.o": 0.069, - "build/src/libmcrd2.o": 0.061, - "build/src/libpad1.o": 0.062, - "build/src/libpad2.o": 0.063, + "build/src/libgte6.o": 0.059, + "build/src/libgte7.o": 0.058, + "build/src/libgte8.o": 0.064, + "build/src/libgte9.o": 0.05, + "build/src/libmcrd1.o": 0.059, + "build/src/libmcrd2.o": 0.067, + "build/src/libpad1.o": 0.065, + "build/src/libpad2.o": 0.084, "build/src/sgap.o": 0.059, - "build/src/sgap_2.o": 0.053, - "build/src/sgap_3.o": 0.054, + "build/src/sgap_2.o": 0.059, + "build/src/sgap_3.o": 0.063, "build/src/sgap_4.o": 0.07, - "build/src/sgap_5.o": 0.055, - "build/src/sgap_6.o": 0.06, + "build/src/sgap_5.o": 0.056, + "build/src/sgap_6.o": 0.062, "build/src/sgap_8.o": 0.066, - "build/src/snd1.o": 0.066, - "build/src/snd10.o": 0.057, + "build/src/snd1.o": 0.063, + "build/src/snd10.o": 0.053, "build/src/snd11.o": 0.059, - "build/src/snd12.o": 0.059, - "build/src/snd2.o": 0.065, - "build/src/snd3.o": 0.059, - "build/src/snd4.o": 0.059, - "build/src/snd5.o": 0.061, - "build/src/snd6.o": 0.068, - "build/src/snd7.o": 0.066, - "build/src/snd8.o": 0.049, - "build/src/snd9.o": 0.062, - "build/src/ov_SC03_014/ov_SC03_014.o": 0.122, - "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.51, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.389, + "build/src/snd12.o": 0.06, + "build/src/snd2.o": 0.062, + "build/src/snd3.o": 0.061, + "build/src/snd4.o": 0.06, + "build/src/snd5.o": 0.06, + "build/src/snd6.o": 0.067, + "build/src/snd7.o": 0.06, + "build/src/snd8.o": 0.058, + "build/src/snd9.o": 0.069, + "build/src/ov_SC03_014/ov_SC03_014.o": 0.118, + "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.511, + "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.364, "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.054, - "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.124, - "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.145, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.118, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.074, - "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.166, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.079, - "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.154, - "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.053, - "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.08, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.457, - "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.228, - "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.173, - "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.044, - "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.097, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.058, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.133, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.197, - "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.052, - "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.27, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.06, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.053, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.06, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.058, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.115, + "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.147, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.101, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.076, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.061, + "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.165, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.071, + "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.169, + "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.074, + "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.054, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.073, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.092, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.421, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.231, + "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.09, + "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.167, + "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.055, + "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.096, + "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.175, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.186, + "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.258, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.043, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.058, + "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.048, "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.068, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.115, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.489, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.373, - "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.046, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.12, - "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.126, - "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.074, + "build/src/ov_SC03_015/ov_SC03_015.o": 0.112, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.46, + "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.34, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.045, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.041, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.118, + "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.124, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.106, + "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.051, - "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.158, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.059, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.144, - "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.079, - "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.054, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.084, - "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.255, - "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.1, - "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.177, - "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.06, - "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.086, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.057, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.158, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.175, + "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.163, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.067, + "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.146, + "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.058, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.061, + "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.423, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.235, + "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.091, + "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.182, + "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.101, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.064, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.162, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.193, "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.046, - "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.267, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.261, "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.054, - "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.051, + "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.058, "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.055, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.065, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.122, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.409, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.33, - "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.053, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.11, - "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.146, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.095, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.06, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.06, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.098, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.4, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.342, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.05, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.046, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.101, + "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.1, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.062, "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.061, - "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.146, - "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.063, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.052, - "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.343, - "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.2, - "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.099, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.157, - "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.075, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.056, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.084, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.412, - "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.043, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.054 + "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.165, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.066, + "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.147, + "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.08, + "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.058, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.058, + "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.329, + "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.219, + "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.101, + "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.159, + "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.051, + "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.077, + "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.091, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.416, + "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.045, + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.047 }, "ok": true, "seconds": 2.1 diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index f6686eba5..9a9ce2c2a 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -29579,3 +29579,4 @@ {"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"} {"ts": "2026-09-11 06:31:17", "label": "s104_e37", "rung": "E", "calib": {"head": "e178021ab", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC02_011/ov_SC02_011_jr_80188E3C.c", "fn": "func_8018B2C4", "addr": 2149102276, "aliases": null, "header": false, "includers": 0, "nhash_before": "44e0111dda88ecb712fec02f52b37077322746b0", "nhash_after": "dbbb783696ef754ac6664cfa2fc4fb8e6f1f6ace", "source": ".run/P36/agents/ov_SC03_097__func_80182498/scratch/copies/ov_SC02_011__func_8018B2C4.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.176, "objects": ["build/src/ov_SC02_011/ov_SC02_011_jr_80188E3C.o"], "before_text": "void func_8018B2C4(s32 a0) {\n\n extern s16 D_801EB5D0;\n extern s16 D_801EB5D2;\n extern u8 D_801EB5D8;\n extern u8 D_801EB5D9;\n extern u8 D_801EB5DA;\n\n extern s16 D_801EB5DC;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_8018B2C4 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_8018B2C4 *p;\n s32 x;\n s32 y;\n s32 ang;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_8018B2C4 *)m = *(Mat32_8018B23C_8018B2C4 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801EB5D8;\n *(u8 *)(q + 5) = D_801EB5D9;\n *(u8 *)(q + 6) = D_801EB5DA;\n\n p = (Rec_8018B23C_8018B2C4 *)((s32)&D_801EB5DC + (a0 << 4));\n x = p->fA + (u16)D_801EB5D0;\n y = p->fE + (u16)D_801EB5D2;\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_8018B2C4 *bp = (Bidx_8018B23C_8018B2C4 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_8018B2C4 *)q)->addr =\n ((PTag_8018B23C_8018B2C4 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_8018B2C4 *)(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_8018B2C4(s32 a0) {\n\n extern s16 D_801EB5D0;\n extern s16 D_801EB5D2;\n extern u8 D_801EB5D8;\n extern u8 D_801EB5D9;\n extern u8 D_801EB5DA;\n\n extern s16 D_801EB5DC;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_8018B2C4 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_8018B2C4 *p;\n s32 x;\n s32 y;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_8018B2C4 *)m = *(Mat32_8018B23C_8018B2C4 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_801EB5D8;\n *(u8 *)(q + 5) = D_801EB5D9;\n *(u8 *)(q + 6) = D_801EB5DA;\n\n p = (Rec_8018B23C_8018B2C4 *)((s32)&D_801EB5DC + (a0 << 4));\n x = p->fA + (u16)D_801EB5D0;\n y = p->fE + (u16)D_801EB5D2;\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_8018B2C4 *bp = (Bidx_8018B23C_8018B2C4 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_8018B2C4 *)q)->addr =\n ((PTag_8018B23C_8018B2C4 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_8018B2C4 *)(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:34", "label": "s104_e37", "rung": "E", "calib": {"head": "ff3f630f7", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC07_002/ov_SC07_002_jr_8017C8D0.c", "fn": "func_80185150", "addr": 2149077328, "aliases": null, "header": false, "includers": 0, "nhash_before": "8d7fbad7157492873b3af958c64a25e18f8af40f", "nhash_after": "e04d60e1d57288a33a9813523b07f00aefed604a", "source": ".run/P36/agents/ov_SC03_097__func_80182498/scratch/copies/ov_SC07_002__func_80185150.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.202, "objects": ["build/src/ov_SC07_002/ov_SC07_002_jr_8017C8D0.o"], "before_text": "void func_80185150(s32 a0) {\n\n extern s16 D_8019FD70;\n extern s16 D_8019FD72;\n extern u8 D_8019FD78;\n extern u8 D_8019FD79;\n extern u8 D_8019FD7A;\n\n extern s16 D_8019FD7C;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_80185150 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_80185150 *p;\n s32 x;\n s32 y;\n s32 ang;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_80185150 *)m = *(Mat32_8018B23C_80185150 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_8019FD78;\n *(u8 *)(q + 5) = D_8019FD79;\n *(u8 *)(q + 6) = D_8019FD7A;\n\n p = (Rec_8018B23C_80185150 *)((s32)&D_8019FD7C + (a0 << 4));\n x = p->fA + (u16)D_8019FD70;\n y = p->fE + (u16)D_8019FD72;\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_80185150 *bp = (Bidx_8018B23C_80185150 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_80185150 *)q)->addr =\n ((PTag_8018B23C_80185150 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_80185150 *)(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_80185150(s32 a0) {\n\n extern s16 D_8019FD70;\n extern s16 D_8019FD72;\n extern u8 D_8019FD78;\n extern u8 D_8019FD79;\n extern u8 D_8019FD7A;\n\n extern s16 D_8019FD7C;\n extern u8 *D_800A5E60;\n extern s32 D_800AE620;\n extern u8 D_800A6518[];\n extern Ot_8018B23C_80185150 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_80185150 *p;\n s32 x;\n s32 y;\n\n q = D_800A5E60;\n\n *(Mat32_8018B23C_80185150 *)m = *(Mat32_8018B23C_80185150 *)&D_800AE620;\n\n D_800A5E60 = q + 0x14;\n *(u8 *)(q + 3) = 4;\n *(u8 *)(q + 7) = 0x22;\n *(u8 *)(q + 4) = D_8019FD78;\n *(u8 *)(q + 5) = D_8019FD79;\n *(u8 *)(q + 6) = D_8019FD7A;\n\n p = (Rec_8018B23C_80185150 *)((s32)&D_8019FD7C + (a0 << 4));\n x = p->fA + (u16)D_8019FD70;\n y = p->fE + (u16)D_8019FD72;\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_80185150 *bp = (Bidx_8018B23C_80185150 *)&D_800B9A02;\n\n /* addPrim(&D_800A651C[bp->f].a[0x10], q) */\n ((PTag_8018B23C_80185150 *)q)->addr =\n ((PTag_8018B23C_80185150 *)(D_800A651C[bp->f].a + 0x40))->addr;\n ((PTag_8018B23C_80185150 *)(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_002/ov_SC07_002_jr_8017C8D0.c b/src/ov_SC07_002/ov_SC07_002_jr_8017C8D0.c index 1f5d491a1..e6ef550ea 100644 --- a/src/ov_SC07_002/ov_SC07_002_jr_8017C8D0.c +++ b/src/ov_SC07_002/ov_SC07_002_jr_8017C8D0.c @@ -7957,7 +7957,6 @@ void func_80185150(s32 a0) { Rec_8018B23C_80185150 *p; s32 x; s32 y; - s32 ang; q = D_800A5E60; @@ -7983,13 +7982,7 @@ void func_80185150(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; @@ -8000,18 +7993,14 @@ void func_80185150(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];