diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index dcd6169de..c4d966994 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,5 +1,5 @@ { - "head": "2561d27b3", + "head": "fa11bde64", "stamp": "15956e4a96c4", "generated": "2026-09-11 01:55", "aliases": [ @@ -21,207 +21,207 @@ "main": { "objects": 85, "identical": 85, - "seconds": 7.933000000000003, - "mean_s": 0.093 + "seconds": 6.608999999999999, + "mean_s": 0.078 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 5.275999999999999, - "mean_s": 0.165 + "seconds": 4.464, + "mean_s": 0.14 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 5.105000000000001, - "mean_s": 0.16 + "seconds": 4.343000000000001, + "mean_s": 0.136 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 4.364000000000001, - "mean_s": 0.156 + "seconds": 3.7600000000000007, + "mean_s": 0.134 } }, "per_object_seconds": { - "build/src/800.o": 0.811, - "build/src/800_b.o": 0.091, - "build/src/800_b_2.o": 0.332, - "build/src/800_b_o0a.o": 0.103, - "build/src/800_c.o": 0.21, - "build/src/800b2.o": 0.083, - "build/src/apicard1.o": 0.07, - "build/src/apicard2.o": 0.076, - "build/src/apicard3.o": 0.09, - "build/src/apicard4.o": 0.073, - "build/src/apicard5.o": 0.072, - "build/src/apicard6.o": 0.099, - "build/src/apicard7.o": 0.086, - "build/src/boot.o": 0.124, - "build/src/gap.o": 0.079, - "build/src/libapi1.o": 0.082, - "build/src/libapi2.o": 0.063, - "build/src/libc2_1.o": 0.079, - "build/src/libc2_2.o": 0.069, - "build/src/libcd1.o": 0.112, - "build/src/libcd2.o": 0.066, - "build/src/libetc.o": 0.081, - "build/src/libgpu.o": 0.095, - "build/src/libgpu2.o": 0.103, - "build/src/libgs1.o": 0.08, - "build/src/libgs2.o": 0.071, - "build/src/libgs3.o": 0.07, - "build/src/libgs4.o": 0.078, - "build/src/libgs5.o": 0.101, - "build/src/libgs6.o": 0.083, - "build/src/libgs7.o": 0.066, - "build/src/libgs8.o": 0.067, - "build/src/libgte1.o": 0.07, - "build/src/libgte10.o": 0.087, - "build/src/libgte11.o": 0.075, - "build/src/libgte12.o": 0.096, - "build/src/libgte13.o": 0.067, - "build/src/libgte14.o": 0.095, - "build/src/libgte15.o": 0.072, - "build/src/libgte16.o": 0.068, - "build/src/libgte17.o": 0.072, - "build/src/libgte18.o": 0.073, + "build/src/800.o": 0.737, + "build/src/800_b.o": 0.111, + "build/src/800_b_2.o": 0.305, + "build/src/800_b_o0a.o": 0.067, + "build/src/800_c.o": 0.188, + "build/src/800b2.o": 0.094, + "build/src/apicard1.o": 0.064, + "build/src/apicard2.o": 0.07, + "build/src/apicard3.o": 0.079, + "build/src/apicard4.o": 0.063, + "build/src/apicard5.o": 0.065, + "build/src/apicard6.o": 0.06, + "build/src/apicard7.o": 0.072, + "build/src/boot.o": 0.105, + "build/src/gap.o": 0.089, + "build/src/libapi1.o": 0.056, + "build/src/libapi2.o": 0.058, + "build/src/libc2_1.o": 0.06, + "build/src/libc2_2.o": 0.059, + "build/src/libcd1.o": 0.068, + "build/src/libcd2.o": 0.062, + "build/src/libetc.o": 0.059, + "build/src/libgpu.o": 0.068, + "build/src/libgpu2.o": 0.058, + "build/src/libgs1.o": 0.054, + "build/src/libgs2.o": 0.06, + "build/src/libgs3.o": 0.064, + "build/src/libgs4.o": 0.065, + "build/src/libgs5.o": 0.061, + "build/src/libgs6.o": 0.088, + "build/src/libgs7.o": 0.061, + "build/src/libgs8.o": 0.06, + "build/src/libgte1.o": 0.064, + "build/src/libgte10.o": 0.06, + "build/src/libgte11.o": 0.058, + "build/src/libgte12.o": 0.076, + "build/src/libgte13.o": 0.059, + "build/src/libgte14.o": 0.054, + "build/src/libgte15.o": 0.062, + "build/src/libgte16.o": 0.06, + "build/src/libgte17.o": 0.061, + "build/src/libgte18.o": 0.055, "build/src/libgte19.o": 0.063, - "build/src/libgte2.o": 0.097, - "build/src/libgte20.o": 0.081, - "build/src/libgte21.o": 0.068, - "build/src/libgte22.o": 0.061, - "build/src/libgte23.o": 0.088, - "build/src/libgte24.o": 0.067, - "build/src/libgte25.o": 0.062, - "build/src/libgte26.o": 0.067, - "build/src/libgte27.o": 0.066, - "build/src/libgte28.o": 0.083, - "build/src/libgte29.o": 0.072, - "build/src/libgte3.o": 0.068, - "build/src/libgte30.o": 0.069, - "build/src/libgte4.o": 0.076, - "build/src/libgte5.o": 0.071, - "build/src/libgte6.o": 0.112, - "build/src/libgte7.o": 0.12, - "build/src/libgte8.o": 0.083, - "build/src/libgte9.o": 0.069, - "build/src/libmcrd1.o": 0.073, - "build/src/libmcrd2.o": 0.062, - "build/src/libpad1.o": 0.078, - "build/src/libpad2.o": 0.085, - "build/src/sgap.o": 0.078, - "build/src/sgap_2.o": 0.074, - "build/src/sgap_3.o": 0.068, - "build/src/sgap_4.o": 0.094, - "build/src/sgap_5.o": 0.066, - "build/src/sgap_6.o": 0.08, - "build/src/sgap_8.o": 0.077, - "build/src/snd1.o": 0.081, - "build/src/snd10.o": 0.07, - "build/src/snd11.o": 0.094, - "build/src/snd12.o": 0.078, - "build/src/snd2.o": 0.077, - "build/src/snd3.o": 0.085, - "build/src/snd4.o": 0.068, - "build/src/snd5.o": 0.106, - "build/src/snd6.o": 0.091, - "build/src/snd7.o": 0.081, - "build/src/snd8.o": 0.071, - "build/src/snd9.o": 0.113, - "build/src/ov_SC03_014/ov_SC03_014.o": 0.133, - "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.563, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.438, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.066, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.063, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.157, - "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.205, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.119, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.11, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.095, - "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.199, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.103, - "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.189, - "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.114, - "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.086, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.082, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.105, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.518, - "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.288, - "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.112, - "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.222, - "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.071, - "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.11, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.077, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.185, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.222, - "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.066, - "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.308, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.058, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.069, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.066, - "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.077, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.141, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.547, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.43, + "build/src/libgte2.o": 0.061, + "build/src/libgte20.o": 0.058, + "build/src/libgte21.o": 0.065, + "build/src/libgte22.o": 0.062, + "build/src/libgte23.o": 0.068, + "build/src/libgte24.o": 0.062, + "build/src/libgte25.o": 0.063, + "build/src/libgte26.o": 0.069, + "build/src/libgte27.o": 0.069, + "build/src/libgte28.o": 0.066, + "build/src/libgte29.o": 0.055, + "build/src/libgte3.o": 0.06, + "build/src/libgte30.o": 0.061, + "build/src/libgte4.o": 0.065, + "build/src/libgte5.o": 0.064, + "build/src/libgte6.o": 0.068, + "build/src/libgte7.o": 0.071, + "build/src/libgte8.o": 0.059, + "build/src/libgte9.o": 0.061, + "build/src/libmcrd1.o": 0.074, + "build/src/libmcrd2.o": 0.065, + "build/src/libpad1.o": 0.068, + "build/src/libpad2.o": 0.071, + "build/src/sgap.o": 0.062, + "build/src/sgap_2.o": 0.069, + "build/src/sgap_3.o": 0.063, + "build/src/sgap_4.o": 0.069, + "build/src/sgap_5.o": 0.059, + "build/src/sgap_6.o": 0.061, + "build/src/sgap_8.o": 0.069, + "build/src/snd1.o": 0.071, + "build/src/snd10.o": 0.063, + "build/src/snd11.o": 0.061, + "build/src/snd12.o": 0.066, + "build/src/snd2.o": 0.068, + "build/src/snd3.o": 0.062, + "build/src/snd4.o": 0.065, + "build/src/snd5.o": 0.066, + "build/src/snd6.o": 0.065, + "build/src/snd7.o": 0.059, + "build/src/snd8.o": 0.062, + "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.47, + "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.068, + "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.081, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.072, + "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.179, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.07, + "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.164, + "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.103, + "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.074, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.062, + "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.458, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.254, + "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.087, + "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.18, + "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.06, + "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.093, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.063, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.167, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.195, + "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.049, + "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.257, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.056, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.056, + "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.056, + "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.069, + "build/src/ov_SC03_015/ov_SC03_015.o": 0.099, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.488, + "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.365, "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.048, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.055, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.131, - "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.167, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.133, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.075, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.062, - "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.189, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.089, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.195, - "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.095, - "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.073, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.081, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.105, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.522, - "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.304, - "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.112, - "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.219, - "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.065, - "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.115, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.071, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.184, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.246, - "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.059, - "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.301, - "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.067, - "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.078, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.066, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.08, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.135, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.457, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.389, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.061, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.06, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.122, - "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.164, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.121, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.08, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.069, - "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.19, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.089, - "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.174, - "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.097, - "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.066, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.087, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.106, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.372, - "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.23, - "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.11, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.189, - "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.07, - "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.111, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.075, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.113, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.498, - "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.062, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.067 + "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.118, + "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.148, + "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.066, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.056, + "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.176, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.07, + "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.167, + "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.061, + "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.09, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.434, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.266, + "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.087, + "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.187, + "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.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.16, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.2, + "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.051, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.267, + "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.059, + "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.054, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.055, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.071, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.112, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.405, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.318, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.053, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.057, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.124, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.132, + "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.071, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.063, + "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.058, + "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.156, + "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.063, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.069, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.084, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.344, + "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.216, + "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.092, + "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.16, + "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.056, + "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.082, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.063, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.095, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.413, + "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.05, + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.059 }, "ok": true, - "seconds": 2.5 + "seconds": 2.2 } diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index a3685b95a..a887364aa 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -29406,3 +29406,4 @@ {"ts": "2026-09-11 01:55:05", "label": "s104_e5", "rung": "E", "calib": {"head": "72d805da3", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_018/ov_SC06_018_jr_80187AEC.c", "fn": "func_80187DD0", "addr": 2149088720, "aliases": null, "header": false, "includers": 0, "nhash_before": "8492e29ebd9132beb5d36d3fa05665d14f5ad0eb", "nhash_after": "5d926dd4f495cadf503bfe0ce98319c9c00ecf5b", "source": ".run/P36/agents/ov_SC06_018__func_80187DD0/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.187, "objects": ["build/src/ov_SC06_018/ov_SC06_018_jr_80187AEC.o"], "before_text": "void func_80187DD0(s32 param_1)\n{\n s32 t1 = *(s32 *)(param_1 + 0x64);\n s32 pad[2];\n\n if (*(s16 *)(t1 + 0x36) != *(s16 *)(param_1 + 0x10A)) {\n func_8012C218((void *)param_1);\n return;\n }\n {\n if ((*(u32 *)(t1 + 0xE0) & 4) != 0) {\n func_8012E8A8((u8 *)param_1);\n return;\n }\n {\n s32 a2 = *(s32 *)(*(s32 *)(t1 + 0x20) + 0x20);\n s32 a3 = param_1 + 0xFC;\n\n if (a2 != 0) {\n if ((a2 & 0x1000000) != 0) {\n s32 a1 = a2 & 0xFEFFFFFF;\n register u32 v0 __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n u32 a0;\n u32 v1a;\n u32 v1b;\n u32 v0b;\n u32 v1;\n\n *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66);\n\n v0 = *(u32 *)(a1 + 0x60);\n a0 = *(u8 *)(a1 + 0x61);\n v1a = (v0 & 0xF) << 8;\n a0 = a0 | v1a;\n v1b = ((s32)v0 >> 16) & 0xFF;\n v0b = (v0 & 0xF0) << 4;\n v1 = v1b | v0b;\n *(u16 *)(param_1 + 0x104) = (u16)a0;\n *(u16 *)(param_1 + 0x106) = (u16)v1;\n\n *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63);\n *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64);\n *(s16 *)(param_1 + 0x100) = (s8)*(u8 *)(a1 + 0x65);\n } else {\n *(UAlign12 *)(param_1 + 0xFC) = *(UAlign12 *)(a2 + 0x90);\n }\n *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = a3;\n }\n\n if ((*(u32 *)(t1 + 0xE0) & 0x80) != 0) {\n if (*(u16 *)(param_1 + 0x34) == 0) {\n s16 sVar2 = *(u16 *)(param_1 + 0x108) + 0x40;\n *(s16 *)(param_1 + 0x108) = sVar2;\n if (sVar2 > 0x200) {\n *(u16 *)(param_1 + 0x108) = 0x200;\n *(s16 *)(param_1 + 0x34) = *(s16 *)(param_1 + 0x34) + 1;\n }\n } else {\n u16 uVar3 = *(u16 *)(param_1 + 0x108) - 0x80;\n *(u16 *)(param_1 + 0x108) = uVar3;\n if ((s16)uVar3 < 0) {\n *(u16 *)(param_1 + 0x108) = 0;\n *(u16 *)(param_1 + 0x34) = 0;\n *(u32 *)(t1 + 0xE0) = *(u32 *)(t1 + 0xE0) & ~0x80;\n }\n }\n }\n\n *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + *(u16 *)(param_1 + 0x108);\n\n *(u32 *)(param_1 + 4) = *(u32 *)(t1 + 4);\n *(u32 *)(param_1 + 8) = *(u32 *)(t1 + 8);\n *(u32 *)(param_1 + 0xC) = *(u32 *)(t1 + 0xC);\n\n *(UAlign8 *)(param_1 + 0x50) = *(UAlign8 *)(t1 + 0x50);\n\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8 *)(dst + 0x10) = *(UAlign8 *)(src + 0x10);\n }\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8 *)(dst + 0x18) = *(UAlign8 *)(src + 0x18);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u32 *)(dst + 4) = *(u32 *)(src + 4);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u16 *)(dst + 0x2C) = *(u16 *)(src + 0x2C);\n }\n }\n }\n}\n", "after_text": "void func_80187DD0(s32 param_1)\n{\n s32 t1 = *(s32 *)(param_1 + 0x64);\n s32 pad[2];\n\n if (*(s16 *)(t1 + 0x36) != *(s16 *)(param_1 + 0x10A)) {\n func_8012C218((void *)param_1);\n return;\n }\n {\n if ((*(u32 *)(t1 + 0xE0) & 4) != 0) {\n func_8012E8A8((u8 *)param_1);\n return;\n }\n {\n s32 a2 = *(s32 *)(*(s32 *)(t1 + 0x20) + 0x20);\n s32 a3 = param_1 + 0xFC;\n\n if (a2 != 0) {\n if ((a2 & 0x1000000) != 0) {\n s32 a1 = a2 & 0xFEFFFFFF;\n u32 v0;\n u32 a0;\n u32 v1;\n\n *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66);\n\n v0 = *(u32 *)(a1 + 0x60);\n a0 = *(u8 *)(a1 + 0x61) | ((v0 & 0xF) << 8);\n v1 = (((s32)v0 >> 16) & 0xFF) | ((v0 & 0xF0) << 4);\n do { // !FAKE: do-while \u2014 flow counts the stores' refs at loop depth 2 (flow.c:1440-1449, :2711 reg_n_refs += loop_depth), which lifts a0's quantity over a1's in qty_compare_1 (local-alloc.c:1598); its LOOP notes also keep sched1 from moving the 0x104 store above v1's or (sched.c:2053-2074), so w's quantity ties the (w & 0xF) one at 13333 and wins on qty number (P36 S104 e5 minimum-lever)\n *(u16 *)(param_1 + 0x104) = a0;\n *(u16 *)(param_1 + 0x106) = v1;\n } while (0);\n\n *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63);\n *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64);\n *(s16 *)(param_1 + 0x100) = (s8)*(u8 *)(a1 + 0x65);\n } else {\n *(UAlign12 *)(param_1 + 0xFC) = *(UAlign12 *)(a2 + 0x90);\n }\n *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = a3;\n }\n\n if ((*(u32 *)(t1 + 0xE0) & 0x80) != 0) {\n if (*(u16 *)(param_1 + 0x34) == 0) {\n s16 sVar2 = *(u16 *)(param_1 + 0x108) + 0x40;\n *(s16 *)(param_1 + 0x108) = sVar2;\n if (sVar2 > 0x200) {\n *(u16 *)(param_1 + 0x108) = 0x200;\n *(s16 *)(param_1 + 0x34) = *(s16 *)(param_1 + 0x34) + 1;\n }\n } else {\n u16 uVar3 = *(u16 *)(param_1 + 0x108) - 0x80;\n *(u16 *)(param_1 + 0x108) = uVar3;\n if ((s16)uVar3 < 0) {\n *(u16 *)(param_1 + 0x108) = 0;\n *(u16 *)(param_1 + 0x34) = 0;\n *(u32 *)(t1 + 0xE0) = *(u32 *)(t1 + 0xE0) & ~0x80;\n }\n }\n }\n\n *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + *(u16 *)(param_1 + 0x108);\n\n *(u32 *)(param_1 + 4) = *(u32 *)(t1 + 4);\n *(u32 *)(param_1 + 8) = *(u32 *)(t1 + 8);\n *(u32 *)(param_1 + 0xC) = *(u32 *)(t1 + 0xC);\n\n *(UAlign8 *)(param_1 + 0x50) = *(UAlign8 *)(t1 + 0x50);\n\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8 *)(dst + 0x10) = *(UAlign8 *)(src + 0x10);\n }\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8 *)(dst + 0x18) = *(UAlign8 *)(src + 0x18);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u32 *)(dst + 4) = *(u32 *)(src + 4);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u16 *)(dst + 0x2C) = *(u16 *)(src + 0x2C);\n }\n }\n }\n}\n"} {"ts": "2026-09-11 01:55:24", "label": "s104_e5", "rung": "E", "calib": {"head": "30a9a2095", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_022/ov_SC06_022_jr_80184A28.c", "fn": "func_80185E64", "addr": 2149080676, "aliases": null, "header": false, "includers": 0, "nhash_before": "8ad8ac49097346b63bde5dd3987ba9fba8201f9c", "nhash_after": "bb86f4fc30f21fbc358315dae8e2118a7085c1aa", "source": ".run/P36/agents/ov_SC06_018__func_80187DD0/scratch/copy_func_80185E64.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.215, "objects": ["build/src/ov_SC06_022/ov_SC06_022_jr_80184A28.o"], "before_text": "void func_80185E64(s32 param_1)\n{\n s32 t1 = *(s32 *)(param_1 + 0x64);\n s32 pad[2];\n\n if (*(s16 *)(t1 + 0x36) != *(s16 *)(param_1 + 0x10A)) {\n func_8012C218((void *)param_1);\n return;\n }\n {\n if ((*(u32 *)(t1 + 0xE0) & 4) != 0) {\n func_8012E8A8((u8 *)param_1);\n return;\n }\n {\n s32 a2 = *(s32 *)(*(s32 *)(t1 + 0x20) + 0x20);\n s32 a3 = param_1 + 0xFC;\n\n if (a2 != 0) {\n if ((a2 & 0x1000000) != 0) {\n s32 a1 = a2 & 0xFEFFFFFF;\n register u32 v0 __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n u32 a0;\n u32 v1a;\n u32 v1b;\n u32 v0b;\n u32 v1;\n\n *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66);\n\n v0 = *(u32 *)(a1 + 0x60);\n a0 = *(u8 *)(a1 + 0x61);\n v1a = (v0 & 0xF) << 8;\n a0 = a0 | v1a;\n v1b = ((s32)v0 >> 16) & 0xFF;\n v0b = (v0 & 0xF0) << 4;\n v1 = v1b | v0b;\n *(u16 *)(param_1 + 0x104) = (u16)a0;\n *(u16 *)(param_1 + 0x106) = (u16)v1;\n\n *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63);\n *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64);\n *(s16 *)(param_1 + 0x100) = (s8)*(u8 *)(a1 + 0x65);\n } else {\n *(UAlign12_80185E64 *)(param_1 + 0xFC) = *(UAlign12_80185E64 *)(a2 + 0x90);\n }\n *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = a3;\n }\n\n if ((*(u32 *)(t1 + 0xE0) & 0x80) != 0) {\n if (*(u16 *)(param_1 + 0x34) == 0) {\n s16 sVar2 = *(u16 *)(param_1 + 0x108) + 0x40;\n *(s16 *)(param_1 + 0x108) = sVar2;\n if (sVar2 > 0x200) {\n *(u16 *)(param_1 + 0x108) = 0x200;\n *(s16 *)(param_1 + 0x34) = *(s16 *)(param_1 + 0x34) + 1;\n }\n } else {\n u16 uVar3 = *(u16 *)(param_1 + 0x108) - 0x80;\n *(u16 *)(param_1 + 0x108) = uVar3;\n if ((s16)uVar3 < 0) {\n *(u16 *)(param_1 + 0x108) = 0;\n *(u16 *)(param_1 + 0x34) = 0;\n *(u32 *)(t1 + 0xE0) = *(u32 *)(t1 + 0xE0) & ~0x80;\n }\n }\n }\n\n *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + *(u16 *)(param_1 + 0x108);\n\n *(u32 *)(param_1 + 4) = *(u32 *)(t1 + 4);\n *(u32 *)(param_1 + 8) = *(u32 *)(t1 + 8);\n *(u32 *)(param_1 + 0xC) = *(u32 *)(t1 + 0xC);\n\n *(UAlign8_80185E64 *)(param_1 + 0x50) = *(UAlign8_80185E64 *)(t1 + 0x50);\n\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_80185E64 *)(dst + 0x10) = *(UAlign8_80185E64 *)(src + 0x10);\n }\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_80185E64 *)(dst + 0x18) = *(UAlign8_80185E64 *)(src + 0x18);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u32 *)(dst + 4) = *(u32 *)(src + 4);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u16 *)(dst + 0x2C) = *(u16 *)(src + 0x2C);\n }\n }\n }\n}\n", "after_text": "void func_80185E64(s32 param_1)\n{\n s32 t1 = *(s32 *)(param_1 + 0x64);\n s32 pad[2];\n\n if (*(s16 *)(t1 + 0x36) != *(s16 *)(param_1 + 0x10A)) {\n func_8012C218((void *)param_1);\n return;\n }\n {\n if ((*(u32 *)(t1 + 0xE0) & 4) != 0) {\n func_8012E8A8((u8 *)param_1);\n return;\n }\n {\n s32 a2 = *(s32 *)(*(s32 *)(t1 + 0x20) + 0x20);\n s32 a3 = param_1 + 0xFC;\n\n if (a2 != 0) {\n if ((a2 & 0x1000000) != 0) {\n s32 a1 = a2 & 0xFEFFFFFF;\n u32 v0;\n u32 a0;\n u32 v1;\n\n *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66);\n\n v0 = *(u32 *)(a1 + 0x60);\n a0 = *(u8 *)(a1 + 0x61) | ((v0 & 0xF) << 8);\n v1 = (((s32)v0 >> 16) & 0xFF) | ((v0 & 0xF0) << 4);\n do { // !FAKE: do-while \u2014 flow counts the stores' refs at loop depth 2 (flow.c mark_used_regs, reg_n_refs += loop_depth), which lifts a0's quantity over a1's in qty_compare_1 (local-alloc.c:1598); its LOOP notes also keep sched1 from moving the 0x104 store above v1's or (sched.c:2053-2074), so w's quantity ties the (w & 0xF) one at 13333 and wins on qty number (P36 S104 e5 minimum-lever)\n *(u16 *)(param_1 + 0x104) = a0;\n *(u16 *)(param_1 + 0x106) = v1;\n } while (0);\n\n *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63);\n *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64);\n *(s16 *)(param_1 + 0x100) = (s8)*(u8 *)(a1 + 0x65);\n } else {\n *(UAlign12_80185E64 *)(param_1 + 0xFC) = *(UAlign12_80185E64 *)(a2 + 0x90);\n }\n *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = a3;\n }\n\n if ((*(u32 *)(t1 + 0xE0) & 0x80) != 0) {\n if (*(u16 *)(param_1 + 0x34) == 0) {\n s16 sVar2 = *(u16 *)(param_1 + 0x108) + 0x40;\n *(s16 *)(param_1 + 0x108) = sVar2;\n if (sVar2 > 0x200) {\n *(u16 *)(param_1 + 0x108) = 0x200;\n *(s16 *)(param_1 + 0x34) = *(s16 *)(param_1 + 0x34) + 1;\n }\n } else {\n u16 uVar3 = *(u16 *)(param_1 + 0x108) - 0x80;\n *(u16 *)(param_1 + 0x108) = uVar3;\n if ((s16)uVar3 < 0) {\n *(u16 *)(param_1 + 0x108) = 0;\n *(u16 *)(param_1 + 0x34) = 0;\n *(u32 *)(t1 + 0xE0) = *(u32 *)(t1 + 0xE0) & ~0x80;\n }\n }\n }\n\n *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + *(u16 *)(param_1 + 0x108);\n\n *(u32 *)(param_1 + 4) = *(u32 *)(t1 + 4);\n *(u32 *)(param_1 + 8) = *(u32 *)(t1 + 8);\n *(u32 *)(param_1 + 0xC) = *(u32 *)(t1 + 0xC);\n\n *(UAlign8_80185E64 *)(param_1 + 0x50) = *(UAlign8_80185E64 *)(t1 + 0x50);\n\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_80185E64 *)(dst + 0x10) = *(UAlign8_80185E64 *)(src + 0x10);\n }\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_80185E64 *)(dst + 0x18) = *(UAlign8_80185E64 *)(src + 0x18);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u32 *)(dst + 4) = *(u32 *)(src + 4);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u16 *)(dst + 0x2C) = *(u16 *)(src + 0x2C);\n }\n }\n }\n}\n"} {"ts": "2026-09-11 01:55:42", "label": "s104_e5", "rung": "E", "calib": {"head": "2561d27b3", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_033/ov_SC06_033_jr_80186574.c", "fn": "func_80186858", "addr": 2149083224, "aliases": null, "header": false, "includers": 0, "nhash_before": "37590b3a969a6abc99c7adb92772054247f898f3", "nhash_after": "f51377e75a8a90981abd169c15cf509faadd87f4", "source": ".run/P36/agents/ov_SC06_018__func_80187DD0/scratch/copy_func_80186858.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.14, "objects": ["build/src/ov_SC06_033/ov_SC06_033_jr_80186574.o"], "before_text": "void func_80186858(s32 param_1)\n{\n s32 t1 = *(s32 *)(param_1 + 0x64);\n s32 pad[2];\n\n if (*(s16 *)(t1 + 0x36) != *(s16 *)(param_1 + 0x10A)) {\n func_8012C218((void *)param_1);\n return;\n }\n {\n if ((*(u32 *)(t1 + 0xE0) & 4) != 0) {\n func_8012E8A8((u8 *)param_1);\n return;\n }\n {\n s32 a2 = *(s32 *)(*(s32 *)(t1 + 0x20) + 0x20);\n s32 a3 = param_1 + 0xFC;\n\n if (a2 != 0) {\n if ((a2 & 0x1000000) != 0) {\n s32 a1 = a2 & 0xFEFFFFFF;\n register u32 v0 __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n u32 a0;\n u32 v1a;\n u32 v1b;\n u32 v0b;\n u32 v1;\n\n *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66);\n\n v0 = *(u32 *)(a1 + 0x60);\n a0 = *(u8 *)(a1 + 0x61);\n v1a = (v0 & 0xF) << 8;\n a0 = a0 | v1a;\n v1b = ((s32)v0 >> 16) & 0xFF;\n v0b = (v0 & 0xF0) << 4;\n v1 = v1b | v0b;\n *(u16 *)(param_1 + 0x104) = (u16)a0;\n *(u16 *)(param_1 + 0x106) = (u16)v1;\n\n *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63);\n *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64);\n *(s16 *)(param_1 + 0x100) = (s8)*(u8 *)(a1 + 0x65);\n } else {\n *(UAlign12_80186858 *)(param_1 + 0xFC) = *(UAlign12_80186858 *)(a2 + 0x90);\n }\n *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = a3;\n }\n\n if ((*(u32 *)(t1 + 0xE0) & 0x80) != 0) {\n if (*(u16 *)(param_1 + 0x34) == 0) {\n s16 sVar2 = *(u16 *)(param_1 + 0x108) + 0x40;\n *(s16 *)(param_1 + 0x108) = sVar2;\n if (sVar2 > 0x200) {\n *(u16 *)(param_1 + 0x108) = 0x200;\n *(s16 *)(param_1 + 0x34) = *(s16 *)(param_1 + 0x34) + 1;\n }\n } else {\n u16 uVar3 = *(u16 *)(param_1 + 0x108) - 0x80;\n *(u16 *)(param_1 + 0x108) = uVar3;\n if ((s16)uVar3 < 0) {\n *(u16 *)(param_1 + 0x108) = 0;\n *(u16 *)(param_1 + 0x34) = 0;\n *(u32 *)(t1 + 0xE0) = *(u32 *)(t1 + 0xE0) & ~0x80;\n }\n }\n }\n\n *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + *(u16 *)(param_1 + 0x108);\n\n *(u32 *)(param_1 + 4) = *(u32 *)(t1 + 4);\n *(u32 *)(param_1 + 8) = *(u32 *)(t1 + 8);\n *(u32 *)(param_1 + 0xC) = *(u32 *)(t1 + 0xC);\n\n *(UAlign8_80186858 *)(param_1 + 0x50) = *(UAlign8_80186858 *)(t1 + 0x50);\n\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_80186858 *)(dst + 0x10) = *(UAlign8_80186858 *)(src + 0x10);\n }\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_80186858 *)(dst + 0x18) = *(UAlign8_80186858 *)(src + 0x18);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u32 *)(dst + 4) = *(u32 *)(src + 4);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u16 *)(dst + 0x2C) = *(u16 *)(src + 0x2C);\n }\n }\n }\n}\n", "after_text": "void func_80186858(s32 param_1)\n{\n s32 t1 = *(s32 *)(param_1 + 0x64);\n s32 pad[2];\n\n if (*(s16 *)(t1 + 0x36) != *(s16 *)(param_1 + 0x10A)) {\n func_8012C218((void *)param_1);\n return;\n }\n {\n if ((*(u32 *)(t1 + 0xE0) & 4) != 0) {\n func_8012E8A8((u8 *)param_1);\n return;\n }\n {\n s32 a2 = *(s32 *)(*(s32 *)(t1 + 0x20) + 0x20);\n s32 a3 = param_1 + 0xFC;\n\n if (a2 != 0) {\n if ((a2 & 0x1000000) != 0) {\n s32 a1 = a2 & 0xFEFFFFFF;\n u32 v0;\n u32 a0;\n u32 v1;\n\n *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66);\n\n v0 = *(u32 *)(a1 + 0x60);\n a0 = *(u8 *)(a1 + 0x61) | ((v0 & 0xF) << 8);\n v1 = (((s32)v0 >> 16) & 0xFF) | ((v0 & 0xF0) << 4);\n do { // !FAKE: do-while \u2014 flow counts the stores' refs at loop depth 2 (flow.c mark_used_regs, reg_n_refs += loop_depth), which lifts a0's quantity over a1's in qty_compare_1 (local-alloc.c:1598); its LOOP notes also keep sched1 from moving the 0x104 store above v1's or (sched.c:2053-2074), so w's quantity ties the (w & 0xF) one at 13333 and wins on qty number (P36 S104 e5 minimum-lever)\n *(u16 *)(param_1 + 0x104) = a0;\n *(u16 *)(param_1 + 0x106) = v1;\n } while (0);\n\n *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63);\n *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64);\n *(s16 *)(param_1 + 0x100) = (s8)*(u8 *)(a1 + 0x65);\n } else {\n *(UAlign12_80186858 *)(param_1 + 0xFC) = *(UAlign12_80186858 *)(a2 + 0x90);\n }\n *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = a3;\n }\n\n if ((*(u32 *)(t1 + 0xE0) & 0x80) != 0) {\n if (*(u16 *)(param_1 + 0x34) == 0) {\n s16 sVar2 = *(u16 *)(param_1 + 0x108) + 0x40;\n *(s16 *)(param_1 + 0x108) = sVar2;\n if (sVar2 > 0x200) {\n *(u16 *)(param_1 + 0x108) = 0x200;\n *(s16 *)(param_1 + 0x34) = *(s16 *)(param_1 + 0x34) + 1;\n }\n } else {\n u16 uVar3 = *(u16 *)(param_1 + 0x108) - 0x80;\n *(u16 *)(param_1 + 0x108) = uVar3;\n if ((s16)uVar3 < 0) {\n *(u16 *)(param_1 + 0x108) = 0;\n *(u16 *)(param_1 + 0x34) = 0;\n *(u32 *)(t1 + 0xE0) = *(u32 *)(t1 + 0xE0) & ~0x80;\n }\n }\n }\n\n *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + *(u16 *)(param_1 + 0x108);\n\n *(u32 *)(param_1 + 4) = *(u32 *)(t1 + 4);\n *(u32 *)(param_1 + 8) = *(u32 *)(t1 + 8);\n *(u32 *)(param_1 + 0xC) = *(u32 *)(t1 + 0xC);\n\n *(UAlign8_80186858 *)(param_1 + 0x50) = *(UAlign8_80186858 *)(t1 + 0x50);\n\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_80186858 *)(dst + 0x10) = *(UAlign8_80186858 *)(src + 0x10);\n }\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_80186858 *)(dst + 0x18) = *(UAlign8_80186858 *)(src + 0x18);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u32 *)(dst + 4) = *(u32 *)(src + 4);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u16 *)(dst + 0x2C) = *(u16 *)(src + 0x2C);\n }\n }\n }\n}\n"} +{"ts": "2026-09-11 01:56:00", "label": "s104_e5", "rung": "E", "calib": {"head": "fa11bde64", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC06_024/ov_SC06_024_jr_80186F00.c", "fn": "func_8018833C", "addr": 2149090108, "aliases": null, "header": false, "includers": 0, "nhash_before": "f68e697d7f28702b899f0472eaf93dc8d9986bbd", "nhash_after": "f5cf8b35e01b014249c8daf8c6e7fee655c71ad5", "source": ".run/P36/agents/ov_SC06_018__func_80187DD0/scratch/copy_func_8018833C.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.21, "objects": ["build/src/ov_SC06_024/ov_SC06_024_jr_80186F00.o"], "before_text": "void func_8018833C(s32 param_1)\n{\n s32 t1 = *(s32 *)(param_1 + 0x64);\n s32 pad[2];\n\n if (*(s16 *)(t1 + 0x36) != *(s16 *)(param_1 + 0x10A)) {\n ((void (*)(void *))func_8012C218)((void *)param_1);\n return;\n }\n {\n if ((*(u32 *)(t1 + 0xE0) & 4) != 0) {\n func_8012E8A8((u8 *)param_1);\n return;\n }\n {\n s32 a2 = *(s32 *)(*(s32 *)(t1 + 0x20) + 0x20);\n s32 a3 = param_1 + 0xFC;\n\n if (a2 != 0) {\n if ((a2 & 0x1000000) != 0) {\n s32 a1 = a2 & 0xFEFFFFFF;\n register u32 v0 __asm__(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n u32 a0;\n u32 v1a;\n u32 v1b;\n u32 v0b;\n u32 v1;\n\n *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66);\n\n v0 = *(u32 *)(a1 + 0x60);\n a0 = *(u8 *)(a1 + 0x61);\n v1a = (v0 & 0xF) << 8;\n a0 = a0 | v1a;\n v1b = ((s32)v0 >> 16) & 0xFF;\n v0b = (v0 & 0xF0) << 4;\n v1 = v1b | v0b;\n *(u16 *)(param_1 + 0x104) = (u16)a0;\n *(u16 *)(param_1 + 0x106) = (u16)v1;\n\n *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63);\n *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64);\n *(s16 *)(param_1 + 0x100) = (s8)*(u8 *)(a1 + 0x65);\n } else {\n *(UAlign12_8018833C *)(param_1 + 0xFC) = *(UAlign12_8018833C *)(a2 + 0x90);\n }\n *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = a3;\n }\n\n if ((*(u32 *)(t1 + 0xE0) & 0x80) != 0) {\n if (*(u16 *)(param_1 + 0x34) == 0) {\n s16 sVar2 = *(u16 *)(param_1 + 0x108) + 0x40;\n *(s16 *)(param_1 + 0x108) = sVar2;\n if (sVar2 > 0x200) {\n *(u16 *)(param_1 + 0x108) = 0x200;\n *(s16 *)(param_1 + 0x34) = *(s16 *)(param_1 + 0x34) + 1;\n }\n } else {\n u16 uVar3 = *(u16 *)(param_1 + 0x108) - 0x80;\n *(u16 *)(param_1 + 0x108) = uVar3;\n if ((s16)uVar3 < 0) {\n *(u16 *)(param_1 + 0x108) = 0;\n *(u16 *)(param_1 + 0x34) = 0;\n *(u32 *)(t1 + 0xE0) = *(u32 *)(t1 + 0xE0) & ~0x80;\n }\n }\n }\n\n *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + *(u16 *)(param_1 + 0x108);\n\n *(u32 *)(param_1 + 4) = *(u32 *)(t1 + 4);\n *(u32 *)(param_1 + 8) = *(u32 *)(t1 + 8);\n *(u32 *)(param_1 + 0xC) = *(u32 *)(t1 + 0xC);\n\n *(UAlign8_8018833C *)(param_1 + 0x50) = *(UAlign8_8018833C *)(t1 + 0x50);\n\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_8018833C *)(dst + 0x10) = *(UAlign8_8018833C *)(src + 0x10);\n }\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_8018833C *)(dst + 0x18) = *(UAlign8_8018833C *)(src + 0x18);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u32 *)(dst + 4) = *(u32 *)(src + 4);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u16 *)(dst + 0x2C) = *(u16 *)(src + 0x2C);\n }\n }\n }\n}\n", "after_text": "void func_8018833C(s32 param_1)\n{\n s32 t1 = *(s32 *)(param_1 + 0x64);\n s32 pad[2];\n\n if (*(s16 *)(t1 + 0x36) != *(s16 *)(param_1 + 0x10A)) {\n ((void (*)(void *))func_8012C218)((void *)param_1);\n return;\n }\n {\n if ((*(u32 *)(t1 + 0xE0) & 4) != 0) {\n func_8012E8A8((u8 *)param_1);\n return;\n }\n {\n s32 a2 = *(s32 *)(*(s32 *)(t1 + 0x20) + 0x20);\n s32 a3 = param_1 + 0xFC;\n\n if (a2 != 0) {\n if ((a2 & 0x1000000) != 0) {\n s32 a1 = a2 & 0xFEFFFFFF;\n u32 v0;\n u32 a0;\n u32 v1;\n\n *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66);\n\n v0 = *(u32 *)(a1 + 0x60);\n a0 = *(u8 *)(a1 + 0x61) | ((v0 & 0xF) << 8);\n v1 = (((s32)v0 >> 16) & 0xFF) | ((v0 & 0xF0) << 4);\n do { // !FAKE: do-while \u2014 flow counts the stores' refs at loop depth 2 (flow.c mark_used_regs, reg_n_refs += loop_depth), which lifts a0's quantity over a1's in qty_compare_1 (local-alloc.c:1598); its LOOP notes also keep sched1 from moving the 0x104 store above v1's or (sched.c:2053-2074), so w's quantity ties the (w & 0xF) one at 13333 and wins on qty number (P36 S104 e5 minimum-lever)\n *(u16 *)(param_1 + 0x104) = a0;\n *(u16 *)(param_1 + 0x106) = v1;\n } while (0);\n\n *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63);\n *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64);\n *(s16 *)(param_1 + 0x100) = (s8)*(u8 *)(a1 + 0x65);\n } else {\n *(UAlign12_8018833C *)(param_1 + 0xFC) = *(UAlign12_8018833C *)(a2 + 0x90);\n }\n *(s32 *)(*(s32 *)(param_1 + 0x20) + 0x20) = a3;\n }\n\n if ((*(u32 *)(t1 + 0xE0) & 0x80) != 0) {\n if (*(u16 *)(param_1 + 0x34) == 0) {\n s16 sVar2 = *(u16 *)(param_1 + 0x108) + 0x40;\n *(s16 *)(param_1 + 0x108) = sVar2;\n if (sVar2 > 0x200) {\n *(u16 *)(param_1 + 0x108) = 0x200;\n *(s16 *)(param_1 + 0x34) = *(s16 *)(param_1 + 0x34) + 1;\n }\n } else {\n u16 uVar3 = *(u16 *)(param_1 + 0x108) - 0x80;\n *(u16 *)(param_1 + 0x108) = uVar3;\n if ((s16)uVar3 < 0) {\n *(u16 *)(param_1 + 0x108) = 0;\n *(u16 *)(param_1 + 0x34) = 0;\n *(u32 *)(t1 + 0xE0) = *(u32 *)(t1 + 0xE0) & ~0x80;\n }\n }\n }\n\n *(u16 *)(a3 + 6) = *(u16 *)(a3 + 6) + *(u16 *)(param_1 + 0x108);\n\n *(u32 *)(param_1 + 4) = *(u32 *)(t1 + 4);\n *(u32 *)(param_1 + 8) = *(u32 *)(t1 + 8);\n *(u32 *)(param_1 + 0xC) = *(u32 *)(t1 + 0xC);\n\n *(UAlign8_8018833C *)(param_1 + 0x50) = *(UAlign8_8018833C *)(t1 + 0x50);\n\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_8018833C *)(dst + 0x10) = *(UAlign8_8018833C *)(src + 0x10);\n }\n {\n s32 dst = *(s32 *)(param_1 + 0x20);\n s32 src = *(s32 *)(t1 + 0x20);\n *(UAlign8_8018833C *)(dst + 0x18) = *(UAlign8_8018833C *)(src + 0x18);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u32 *)(dst + 4) = *(u32 *)(src + 4);\n }\n {\n s32 src = *(s32 *)(t1 + 0x20);\n s32 dst = *(s32 *)(param_1 + 0x20);\n *(u16 *)(dst + 0x2C) = *(u16 *)(src + 0x2C);\n }\n }\n }\n}\n"} diff --git a/src/ov_SC06_024/ov_SC06_024_jr_80186F00.c b/src/ov_SC06_024/ov_SC06_024_jr_80186F00.c index 193a61867..35c0271db 100644 --- a/src/ov_SC06_024/ov_SC06_024_jr_80186F00.c +++ b/src/ov_SC06_024/ov_SC06_024_jr_80186F00.c @@ -3759,24 +3759,19 @@ void func_8018833C(s32 param_1) if (a2 != 0) { if ((a2 & 0x1000000) != 0) { s32 a1 = a2 & 0xFEFFFFFF; - register u32 v0 __asm__("$2"); // !FAKE: pin $2 — NEEDED DIFFERS (P36 rung B tus9) + u32 v0; u32 a0; - u32 v1a; - u32 v1b; - u32 v0b; u32 v1; *(u16 *)(param_1 + 0x102) = *(u16 *)(a1 + 0x66); v0 = *(u32 *)(a1 + 0x60); - a0 = *(u8 *)(a1 + 0x61); - v1a = (v0 & 0xF) << 8; - a0 = a0 | v1a; - v1b = ((s32)v0 >> 16) & 0xFF; - v0b = (v0 & 0xF0) << 4; - v1 = v1b | v0b; - *(u16 *)(param_1 + 0x104) = (u16)a0; - *(u16 *)(param_1 + 0x106) = (u16)v1; + a0 = *(u8 *)(a1 + 0x61) | ((v0 & 0xF) << 8); + v1 = (((s32)v0 >> 16) & 0xFF) | ((v0 & 0xF0) << 4); + do { // !FAKE: do-while — flow counts the stores' refs at loop depth 2 (flow.c mark_used_regs, reg_n_refs += loop_depth), which lifts a0's quantity over a1's in qty_compare_1 (local-alloc.c:1598); its LOOP notes also keep sched1 from moving the 0x104 store above v1's or (sched.c:2053-2074), so w's quantity ties the (w & 0xF) one at 13333 and wins on qty number (P36 S104 e5 minimum-lever) + *(u16 *)(param_1 + 0x104) = a0; + *(u16 *)(param_1 + 0x106) = v1; + } while (0); *(s16 *)(param_1 + 0xFC) = (s8)*(u8 *)(a1 + 0x63); *(s16 *)(param_1 + 0xFE) = (s8)*(u8 *)(a1 + 0x64);