diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index 5c246c5762..325b1b9070 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,5 +1,5 @@ { - "head": "6a8274398", + "head": "f1a4328bb", "stamp": "15956e4a96c4", "generated": "2026-09-11 04:42", "aliases": [ @@ -21,207 +21,207 @@ "main": { "objects": 85, "identical": 85, - "seconds": 9.287, - "mean_s": 0.109 + "seconds": 9.711, + "mean_s": 0.114 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 6.083, - "mean_s": 0.19 + "seconds": 6.379000000000002, + "mean_s": 0.199 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 5.843, - "mean_s": 0.183 + "seconds": 5.904999999999999, + "mean_s": 0.185 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 5.035000000000001, - "mean_s": 0.18 + "seconds": 5.137, + "mean_s": 0.183 } }, "per_object_seconds": { - "build/src/800.o": 0.903, - "build/src/800_b.o": 0.096, - "build/src/800_b_2.o": 0.39, - "build/src/800_b_o0a.o": 0.124, - "build/src/800_c.o": 0.251, - "build/src/800b2.o": 0.11, - "build/src/apicard1.o": 0.149, - "build/src/apicard2.o": 0.123, - "build/src/apicard3.o": 0.118, - "build/src/apicard4.o": 0.119, - "build/src/apicard5.o": 0.119, - "build/src/apicard6.o": 0.096, - "build/src/apicard7.o": 0.086, - "build/src/boot.o": 0.122, - "build/src/gap.o": 0.071, - "build/src/libapi1.o": 0.095, - "build/src/libapi2.o": 0.064, - "build/src/libc2_1.o": 0.076, - "build/src/libc2_2.o": 0.113, - "build/src/libcd1.o": 0.087, - "build/src/libcd2.o": 0.097, - "build/src/libetc.o": 0.098, - "build/src/libgpu.o": 0.094, - "build/src/libgpu2.o": 0.102, - "build/src/libgs1.o": 0.078, - "build/src/libgs2.o": 0.102, - "build/src/libgs3.o": 0.084, - "build/src/libgs4.o": 0.104, - "build/src/libgs5.o": 0.084, - "build/src/libgs6.o": 0.085, - "build/src/libgs7.o": 0.066, - "build/src/libgs8.o": 0.083, - "build/src/libgte1.o": 0.076, - "build/src/libgte10.o": 0.097, - "build/src/libgte11.o": 0.13, - "build/src/libgte12.o": 0.084, - "build/src/libgte13.o": 0.105, - "build/src/libgte14.o": 0.071, - "build/src/libgte15.o": 0.086, - "build/src/libgte16.o": 0.112, - "build/src/libgte17.o": 0.069, - "build/src/libgte18.o": 0.081, - "build/src/libgte19.o": 0.104, - "build/src/libgte2.o": 0.07, - "build/src/libgte20.o": 0.071, - "build/src/libgte21.o": 0.072, - "build/src/libgte22.o": 0.106, - "build/src/libgte23.o": 0.084, - "build/src/libgte24.o": 0.088, - "build/src/libgte25.o": 0.092, - "build/src/libgte26.o": 0.07, - "build/src/libgte27.o": 0.084, - "build/src/libgte28.o": 0.081, - "build/src/libgte29.o": 0.089, - "build/src/libgte3.o": 0.128, - "build/src/libgte30.o": 0.095, - "build/src/libgte4.o": 0.071, - "build/src/libgte5.o": 0.099, - "build/src/libgte6.o": 0.151, - "build/src/libgte7.o": 0.08, - "build/src/libgte8.o": 0.08, - "build/src/libgte9.o": 0.076, - "build/src/libmcrd1.o": 0.093, - "build/src/libmcrd2.o": 0.122, - "build/src/libpad1.o": 0.102, - "build/src/libpad2.o": 0.121, - "build/src/sgap.o": 0.085, - "build/src/sgap_2.o": 0.099, - "build/src/sgap_3.o": 0.094, - "build/src/sgap_4.o": 0.11, - "build/src/sgap_5.o": 0.09, - "build/src/sgap_6.o": 0.122, - "build/src/sgap_8.o": 0.081, - "build/src/snd1.o": 0.105, - "build/src/snd10.o": 0.077, - "build/src/snd11.o": 0.094, - "build/src/snd12.o": 0.087, - "build/src/snd2.o": 0.076, - "build/src/snd3.o": 0.094, - "build/src/snd4.o": 0.08, - "build/src/snd5.o": 0.074, - "build/src/snd6.o": 0.081, - "build/src/snd7.o": 0.124, - "build/src/snd8.o": 0.071, - "build/src/snd9.o": 0.114, - "build/src/ov_SC03_014/ov_SC03_014.o": 0.157, - "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.576, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.454, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.117, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.123, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.143, - "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.207, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.143, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.135, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.082, - "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.211, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.143, - "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.26, - "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.119, - "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.119, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.075, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.136, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.619, - "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.339, - "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.124, - "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.234, - "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.116, - "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.137, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.082, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.219, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.277, - "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.056, - "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.355, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.078, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.085, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.073, - "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.089, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.136, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.604, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.457, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.08, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.102, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.166, - "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.184, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.131, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.087, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.109, - "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.225, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.091, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.213, - "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.151, - "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.079, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.107, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.113, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.536, - "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.326, - "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.135, - "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.236, - "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.114, - "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.122, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.094, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.23, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.255, - "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.087, - "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.353, - "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.065, - "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.095, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.084, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.076, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.176, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.516, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.435, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.057, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.075, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.139, - "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.184, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.105, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.092, - "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.214, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.102, - "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.214, - "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.113, - "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.099, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.08, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.109, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.466, - "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.268, - "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.125, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.212, - "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.088, - "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.124, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.088, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.15, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.49, - "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.081, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.069 + "build/src/800.o": 0.875, + "build/src/800_b.o": 0.085, + "build/src/800_b_2.o": 0.435, + "build/src/800_b_o0a.o": 0.121, + "build/src/800_c.o": 0.227, + "build/src/800b2.o": 0.091, + "build/src/apicard1.o": 0.099, + "build/src/apicard2.o": 0.09, + "build/src/apicard3.o": 0.069, + "build/src/apicard4.o": 0.12, + "build/src/apicard5.o": 0.12, + "build/src/apicard6.o": 0.1, + "build/src/apicard7.o": 0.115, + "build/src/boot.o": 0.125, + "build/src/gap.o": 0.141, + "build/src/libapi1.o": 0.098, + "build/src/libapi2.o": 0.079, + "build/src/libc2_1.o": 0.084, + "build/src/libc2_2.o": 0.079, + "build/src/libcd1.o": 0.081, + "build/src/libcd2.o": 0.089, + "build/src/libetc.o": 0.071, + "build/src/libgpu.o": 0.111, + "build/src/libgpu2.o": 0.085, + "build/src/libgs1.o": 0.119, + "build/src/libgs2.o": 0.085, + "build/src/libgs3.o": 0.072, + "build/src/libgs4.o": 0.086, + "build/src/libgs5.o": 0.12, + "build/src/libgs6.o": 0.1, + "build/src/libgs7.o": 0.082, + "build/src/libgs8.o": 0.089, + "build/src/libgte1.o": 0.069, + "build/src/libgte10.o": 0.104, + "build/src/libgte11.o": 0.131, + "build/src/libgte12.o": 0.101, + "build/src/libgte13.o": 0.084, + "build/src/libgte14.o": 0.093, + "build/src/libgte15.o": 0.107, + "build/src/libgte16.o": 0.084, + "build/src/libgte17.o": 0.118, + "build/src/libgte18.o": 0.097, + "build/src/libgte19.o": 0.07, + "build/src/libgte2.o": 0.094, + "build/src/libgte20.o": 0.086, + "build/src/libgte21.o": 0.107, + "build/src/libgte22.o": 0.083, + "build/src/libgte23.o": 0.146, + "build/src/libgte24.o": 0.081, + "build/src/libgte25.o": 0.1, + "build/src/libgte26.o": 0.102, + "build/src/libgte27.o": 0.097, + "build/src/libgte28.o": 0.113, + "build/src/libgte29.o": 0.088, + "build/src/libgte3.o": 0.124, + "build/src/libgte30.o": 0.097, + "build/src/libgte4.o": 0.115, + "build/src/libgte5.o": 0.091, + "build/src/libgte6.o": 0.084, + "build/src/libgte7.o": 0.13, + "build/src/libgte8.o": 0.089, + "build/src/libgte9.o": 0.123, + "build/src/libmcrd1.o": 0.16, + "build/src/libmcrd2.o": 0.074, + "build/src/libpad1.o": 0.078, + "build/src/libpad2.o": 0.157, + "build/src/sgap.o": 0.148, + "build/src/sgap_2.o": 0.086, + "build/src/sgap_3.o": 0.121, + "build/src/sgap_4.o": 0.094, + "build/src/sgap_5.o": 0.107, + "build/src/sgap_6.o": 0.116, + "build/src/sgap_8.o": 0.129, + "build/src/snd1.o": 0.077, + "build/src/snd10.o": 0.096, + "build/src/snd11.o": 0.079, + "build/src/snd12.o": 0.07, + "build/src/snd2.o": 0.088, + "build/src/snd3.o": 0.081, + "build/src/snd4.o": 0.081, + "build/src/snd5.o": 0.077, + "build/src/snd6.o": 0.129, + "build/src/snd7.o": 0.097, + "build/src/snd8.o": 0.112, + "build/src/snd9.o": 0.103, + "build/src/ov_SC03_014/ov_SC03_014.o": 0.158, + "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.693, + "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.496, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.085, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.083, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.153, + "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.215, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.153, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.103, + "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.222, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.137, + "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.185, + "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.134, + "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.109, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.096, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.158, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.577, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.368, + "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.123, + "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.291, + "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.077, + "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.127, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.138, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.227, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.237, + "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.11, + "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.377, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.093, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.081, + "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.136, + "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.142, + "build/src/ov_SC03_015/ov_SC03_015.o": 0.137, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.571, + "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.522, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.054, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.108, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.142, + "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.172, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.159, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.118, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.098, + "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.202, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.1, + "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.211, + "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.144, + "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.126, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.078, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.148, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.54, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.331, + "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.131, + "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.258, + "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.063, + "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.137, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.086, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.227, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.234, + "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.067, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.354, + "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.106, + "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.086, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.076, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.119, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.207, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.565, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.427, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.094, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.068, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.146, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.17, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.187, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.117, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.123, + "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.204, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.103, + "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.195, + "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.141, + "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.094, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.108, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.125, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.431, + "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.274, + "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.114, + "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.216, + "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.077, + "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.122, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.072, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.128, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.486, + "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.075, + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.068 }, "ok": true, - "seconds": 2.8 + "seconds": 2.9 } diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index 08b783f8bb..acb8591d93 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -29523,3 +29523,4 @@ {"ts": "2026-09-11 04:41:39", "label": "s104_e33", "rung": "E", "calib": {"head": "47166c6d3", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c", "fn": "func_8017E830", "addr": 2149050416, "aliases": null, "header": false, "includers": 0, "nhash_before": "5b4fd150ecfe52e06efad1f39a43de85304f7575", "nhash_after": "6bc528fc69fdbdd30b940d4e86929e083f255274", "source": ".run/P36/agents/ov_SC04_015__func_8017E830/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.185, "objects": ["build/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.o"], "before_text": "void func_8017E830(s32 a0)\n{\n /* frame: vars = 0x50 - ROUND8(args 0x10) - ROUND8(4*6 regs) = 0x28 (cookbook 164-53/162i1) */\n s32 pad[10];\n s32 fval;\n s32 n1;\n s32 s4;\n s32 s1, s2;\n u8 *p;\n s32 u_lo, u_hi;\n s32 X, Y;\n s32 x_lo, y_lo, x_hi, y_hi;\n\n if (*(s16 *)(a0 + 0) == 2) {\n fval = *(s16 *)(a0 + 0x18);\n D_801C8C60 = 1;\n\n n1 = fval + 1;\n s4 = ((n1 & 7) << 2) + 0x140;\n s1 = (n1 / 8) * 24;\n\n p = (u8 *)func_80010A08(0x28);\n s2 = s1 + 0x160;\n *(u16 *)(p + 0xE) = GetClut(0x160, 0x1BA);\n *(u16 *)(p + 0x16) = GetTPage(0, 0, s4 & 0x3C0, s2 & -0x100);\n\n p[3] = 9;\n *(u32 *)(p + 4) = 0x808080;\n p[7] = 0x2C;\n __asm__(\"\"); // !FAKE: barrier \u2014 NEEDED DIFFERS (P36 rung B tus7)\n\n u_hi = (s4 & 0x3F) << 2;\n u_lo = u_hi;\n u_hi += 0x10;\n s1 = s1 + 0x178;\n p[0xC] = u_lo;\n p[0xD] = s2;\n p[0x14] = u_hi;\n p[0x15] = s2;\n p[0x1C] = u_lo;\n p[0x1D] = s1;\n p[0x24] = u_hi;\n p[0x25] = s1;\n\n X = *(s16 *)(a0 + 0x10);\n Y = *(s16 *)(a0 + 0x14);\n x_lo = X - 8;\n y_lo = Y - 9;\n x_hi = X + 8;\n y_hi = Y + 0xF;\n *(s16 *)(p + 0x8) = x_lo;\n *(s16 *)(p + 0xA) = y_lo;\n *(s16 *)(p + 0x10) = x_hi;\n *(s16 *)(p + 0x12) = y_lo;\n *(s16 *)(p + 0x18) = x_lo;\n *(s16 *)(p + 0x1A) = y_hi;\n *(s16 *)(p + 0x20) = x_hi;\n *(s16 *)(p + 0x22) = y_hi;\n\n AddPrim(*(s32 *)((u8 *)&D_800A651C + ((u16)D_800B9A02 * 0x14)) + 4, p);\n }\n}\n", "after_text": "void func_8017E830(s32 a0)\n{\n /* frame: vars = 0x50 - ROUND8(args 0x10) - ROUND8(4*6 regs) = 0x28 (cookbook 164-53/162i1) */\n s32 pad[10];\n s32 fval;\n s32 n1;\n s32 s4;\n s32 s1, s2;\n u8 *p;\n s32 u;\n u8 u_lo;\n s32 u_hi;\n s32 X, Y;\n s32 x_lo, y_lo, x_hi, y_hi;\n\n if (*(s16 *)(a0 + 0) == 2) {\n fval = *(s16 *)(a0 + 0x18);\n D_801C8C60 = 1;\n\n n1 = fval + 1;\n s4 = ((n1 & 7) << 2) + 0x140;\n s1 = (n1 / 8) * 24;\n\n p = (u8 *)func_80010A08(0x28);\n s2 = s1 + 0x160;\n *(u16 *)(p + 0xE) = GetClut(0x160, 0x1BA);\n *(u16 *)(p + 0x16) = GetTPage(0, 0, s4 & 0x3C0, s2 & -0x100);\n\n p[3] = 9;\n *(u32 *)(p + 4) = 0x808080;\n p[7] = 0x2C;\n\n u = (s4 & 0x3F) << 2;\n u_lo = u;\n u_hi = u + 0x10;\n s1 = s1 + 0x178;\n p[0xC] = u_lo;\n p[0xD] = s2;\n p[0x14] = u_hi;\n p[0x15] = s2;\n p[0x1C] = u_lo;\n p[0x1D] = s1;\n p[0x24] = u_hi;\n p[0x25] = s1;\n\n X = *(s16 *)(a0 + 0x10);\n Y = *(s16 *)(a0 + 0x14);\n x_lo = X - 8;\n y_lo = Y - 9;\n x_hi = X + 8;\n y_hi = Y + 0xF;\n *(s16 *)(p + 0x8) = x_lo;\n *(s16 *)(p + 0xA) = y_lo;\n *(s16 *)(p + 0x10) = x_hi;\n *(s16 *)(p + 0x12) = y_lo;\n *(s16 *)(p + 0x18) = x_lo;\n *(s16 *)(p + 0x1A) = y_hi;\n *(s16 *)(p + 0x20) = x_hi;\n *(s16 *)(p + 0x22) = y_hi;\n\n AddPrim(*(s32 *)((u8 *)&D_800A651C + ((u16)D_800B9A02 * 0x14)) + 4, p);\n }\n}\n"} {"ts": "2026-09-11 04:42:00", "label": "s104_e33", "rung": "E", "calib": {"head": "cf872da51", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c", "fn": "func_8017EE80", "addr": 2149052032, "aliases": null, "header": false, "includers": 0, "nhash_before": "8843c1efad04ed57adab37eceebc3d8dd20040ae", "nhash_after": "c868b2a3c361339d539109ee62eca22bc37042b4", "source": ".run/P36/agents/ov_SC04_015__func_8017EE80/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.21, "objects": ["build/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.o"], "before_text": "void func_8017EE80(s32 a0)\n{\n s32 s4;\n s32 s3;\n register s32 s2 __asm__(\"$18\"); // !FAKE: pin $18 \u2014 NEEDED DIFFERS (P36 rung B tus7)\n s32 s1;\n s32 s0;\n s32 v0;\n s32 v1;\n u16 buf[10];\n\n s4 = a0;\n s3 = (s32)D_80188838[*(s16 *)(s4 + 0x70)];\n if (s3 == 0) {\n return;\n }\n s2 = s3 + 6;\n for (;;) {\n s1 = ((s32 (*)(void))func_8012C194)();\n if (s1 != 0) {\n v1 = 0;\n s0 = (s32)&D_801C8C64;\n while (v1 < 0x20) {\n if (*(s16 *)s0 == 0) {\n break;\n }\n v1 += 1;\n s0 += 0x1C;\n }\n v0 = 0x20;\n if (v1 == v0) {\n goto next;\n }\n *(s32 *)(s0 + 0xC) = s1;\n func_8001CC3C(s1, 0, 0, 0);\n *(s32 *)(s1 + 0x20) = (s32)D_801886BC;\n *(u8 *)(s1 + 0x27) = 0x4C;\n *(u16 *)(s1 + 0x2C) = 0xC020;\n *(u16 *)(s1 + 0x1A) = 0x2000;\n *(u16 *)(s1 + 0x18) = 0x2000;\n *(u32 *)(s1 + 4) |= 0x50000000;\n func_80128EA8(s1, s0 + 0x14, (s32)D_801886C8);\n v0 = 1;\n *(u16 *)(s0 + 0x0) = v0;\n v0 = *(u16 *)s3;\n *(u16 *)(s0 + 0x4) = v0;\n v0 = *(u16 *)(s2 - 4);\n *(u16 *)(s0 + 0x6) = v0;\n v0 = *(u16 *)(s2 - 2);\n *(s32 *)(s0 + 0x10) = s4;\n *(u16 *)(s0 + 0x8) = v0;\n v0 = *(u16 *)s3;\n buf[0] = v0;\n v0 = *(u16 *)(s2 - 4);\n buf[1] = v0;\n v1 = *(u16 *)(s2 - 2);\n buf[2] = v1;\n v0 = 0x3DB;\n buf[3] = v0;\n buf[5] = 0;\n buf[4] = 0;\n *(u32 *)&buf[8] = 0;\n buf[7] = 0;\n v0 = 0x7FFF;\n buf[6] = v0;\n func_8012C51C(buf, s4);\n }\nnext:\n v1 = *(s16 *)s2;\n if (v1 == -1) {\n break;\n }\n s2 += 8;\n s3 += 8;\n }\n}\n", "after_text": "void func_8017EE80(s32 a0)\n{\n u8 *e;\n s32 obj;\n s32 slot;\n s32 i;\n u16 buf[10];\n\n e = (u8 *)D_80188838[*(s16 *)(a0 + 0x70)];\n if (e == 0) {\n return;\n }\n for (;;) {\n obj = ((s32 (*)(void))func_8012C194)();\n if (obj != 0) {\n i = 0;\n slot = (s32)&D_801C8C64;\n while (i < 0x20) {\n if (*(s16 *)slot == 0) {\n break;\n }\n i += 1;\n slot += 0x1C;\n }\n if (i != 0x20) {\n *(s32 *)(slot + 0xC) = obj;\n func_8001CC3C(obj, 0, 0, 0);\n *(s32 *)(obj + 0x20) = (s32)D_801886BC;\n *(u8 *)(obj + 0x27) = 0x4C;\n *(u16 *)(obj + 0x2C) = 0xC020;\n *(u16 *)(obj + 0x1A) = 0x2000;\n *(u16 *)(obj + 0x18) = 0x2000;\n *(u32 *)(obj + 4) |= 0x50000000;\n func_80128EA8(obj, slot + 0x14, (s32)D_801886C8);\n *(u16 *)(slot + 0x0) = 1;\n *(u16 *)(slot + 0x4) = *(u16 *)e;\n *(u16 *)(slot + 0x6) = *(u16 *)(e + 2);\n *(u16 *)(slot + 0x8) = *(u16 *)(e + 4);\n *(s32 *)(slot + 0x10) = a0;\n buf[0] = *(u16 *)e;\n buf[1] = *(u16 *)(e + 2);\n buf[2] = *(u16 *)(e + 4);\n buf[3] = 0x3DB;\n buf[5] = 0;\n buf[4] = 0;\n *(u32 *)&buf[8] = 0;\n buf[7] = 0;\n buf[6] = 0x7FFF;\n func_8012C51C(buf, a0);\n }\n }\n if (*(s16 *)(e + 6) == -1) {\n break;\n }\n e += 8;\n }\n}\n"} {"ts": "2026-09-11 04:42:22", "label": "s104_e33", "rung": "E", "calib": {"head": "6a8274398", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c", "fn": "func_8017E2CC", "addr": 2149049036, "aliases": null, "header": false, "includers": 0, "nhash_before": "55ccc6baa1f7d3e71eb9ba8c52afd9babc2f4751", "nhash_after": "21b79ed16d1c8f410682e12af0240c54c0582df9", "source": ".run/P36/agents/ov_SC04_015__func_8017E2CC/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.23, "objects": ["build/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.o"], "before_text": "void func_8017E2CC(s32 param_1) {\n s32 *s2 = &D_80126B58;\n s32 *s1 = &D_800AE6A8;\n register s32 v1 asm(\"$3\"); // !FAKE: pin $3 \u2014 NEEDED DIFFERS (P36 rung B tus7)\n register s32 v0 asm(\"$2\"); // !FAKE: pin $2 \u2014 NEEDED DIFFERS (P36 rung B tus7)\n\n if (D_801C8B74 != 0) {\n v1 = D_801C8B78;\n if (v1 == 0x7FFF) {\n func_8002D4C8(4, 0x76C);\n } else {\n if (v1 >= 0x300) {\n func_8002D4C8(4, 0x76C);\n } else if (v1 < 0x101) {\n func_8002D4C8(0x76C, 0x107F);\n } else {\n v0 = 0x300 - v1;\n v1 = (v0 << 7) - v0;\n func_8002D4C8(0x76C, (v1 / 512 & 0x7F) | 0x1000);\n }\n D_801C8B78 = 0x7FFF;\n }\n switch (D_801C8B60) {\n case 0:\n if (func_800CF8B4() != 0) {\n if ((s1[2] & 0x80FFFFFF) == 0 && (s2[0x11] & 0x8000000) != 0) {\n func_8014CBE8();\n func_80178B18(param_1, &D_80188590);\n D_801C8B60 = 1;\n }\n }\n break;\n case 1:\n func_801789AC(param_1);\n break;\n }\n } else {\n D_801C8B60 = 0;\n func_8017EA2C();\n func_8017ED28();\n v1 = D_801C8B78;\n if (v1 == 0x7FFF) {\n func_8002D4C8(4, 0x76C);\n } else {\n if (v1 >= 0x300) {\n func_8002D4C8(4, 0x76C);\n } else if (v1 < 0x101) {\n func_8002D4C8(0x76C, 0x107F);\n } else {\n v0 = 0x300 - v1;\n v1 = (v0 << 7) - v0;\n func_8002D4C8(0x76C, (v1 / 512 & 0x7F) | 0x1000);\n }\n D_801C8B78 = 0x7FFF;\n }\n }\n}\n", "after_text": "void func_8017E2CC(s32 param_1) {\n s32 *s2 = &D_80126B58;\n s32 *s1 = &D_800AE6A8;\n s32 t;\n\n if (D_801C8B74 != 0) {\n t = D_801C8B78;\n if (t == 0x7FFF) {\n func_8002D4C8(4, 0x76C);\n } else {\n if (t >= 0x300) {\n func_8002D4C8(4, 0x76C);\n } else if (t < 0x101) {\n func_8002D4C8(0x76C, 0x107F);\n } else {\n func_8002D4C8(0x76C, (((0x300 - t) * 127) / 512 & 0x7F) | 0x1000);\n }\n D_801C8B78 = 0x7FFF;\n }\n switch (D_801C8B60) {\n case 0:\n if (func_800CF8B4() != 0) {\n if ((s1[2] & 0x80FFFFFF) == 0 && (s2[0x11] & 0x8000000) != 0) {\n func_8014CBE8();\n func_80178B18(param_1, &D_80188590);\n D_801C8B60 = 1;\n }\n }\n break;\n case 1:\n func_801789AC(param_1);\n break;\n }\n } else {\n D_801C8B60 = 0;\n func_8017EA2C();\n func_8017ED28();\n t = D_801C8B78;\n if (t == 0x7FFF) {\n func_8002D4C8(4, 0x76C);\n } else {\n if (t >= 0x300) {\n func_8002D4C8(4, 0x76C);\n } else if (t < 0x101) {\n func_8002D4C8(0x76C, 0x107F);\n } else {\n func_8002D4C8(0x76C, (((0x300 - t) * 127) / 512 & 0x7F) | 0x1000);\n }\n D_801C8B78 = 0x7FFF;\n }\n }\n}\n"} +{"ts": "2026-09-11 04:42:43", "label": "s104_e33", "rung": "E", "calib": {"head": "f1a4328bb", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c", "fn": "func_8017F0EC", "addr": 2149052652, "aliases": null, "header": false, "includers": 0, "nhash_before": "cabb7b52359db55db2af5faff2cc8e86f9ac43c1", "nhash_after": "ec584e5459f527fe62412d27efad90ebbfcc9bb9", "source": ".run/P36/agents/ov_SC04_015__func_8017F0EC/body_minlever.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.194, "objects": ["build/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.o"], "before_text": "void func_8017F0EC(s32 a0) {\n extern void func_8002D4C8(s32 a0, s32 a1);\n extern s32 func_80013328(s32 a0, s32 a1);\n extern s32 func_80128ED8(s32 param_1, s32 *param_2);\n extern s32 VectorNormalSS(void *a0, void *a1);\n extern s32 func_800132BC(void *a0, void *a1);\n extern void func_8012F568(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4, s32 a5);\n extern s32 func_80132EF4(s32 arg0, s32 arg1);\n extern u8 D_80126B5C;\n extern u16 D_80126B5E;\n extern u16 D_80126B62;\n extern u16 D_80126B66;\n extern u16 D_801C8B64;\n extern u16 D_801C8B66;\n extern u16 D_801C8B68;\n extern s16 D_801C8B70;\n extern s32 D_801C8B78;\n u16 sp18[3];\n u16 sp20[3];\n u16 *q;\n s32 v0;\n s32 p;\n s32 t;\n s32 d;\n\n switch (*(u16 *)(a0 + 0x34)) {\n case 0:\n v0 = func_80013328(a0 + 4, (s32)&D_80126B5C);\n if (v0 < D_801C8B78) {\n D_801C8B78 = v0;\n }\n q = sp18;\n q[0] = *(u16 *)(a0 + 0x6);\n q[1] = *(u16 *)(a0 + 0xA);\n q[2] = *(u16 *)(a0 + 0xE);\n sp20[0] = D_80126B5E;\n sp20[1] = D_80126B62;\n sp20[2] = D_80126B66;\n if (func_800132BC(sp20, q) < 0x401) {\n {\n s32 _m = (s32)&D_801C8B64;\n __asm__ __volatile__(\"\" : \"=r\"(_m) : \"0\"(_m)); // !FAKE: launder \u2014 NEEDED DIFFERS (P36 rung B tus7)\n D_801C8B64 = sp20[0] - q[0];\n D_801C8B66 = sp20[1] - q[1];\n D_801C8B68 = sp20[2] - q[2];\n VectorNormalSS((void *)_m, (void *)_m);\n }\n func_8012F568(1, 0x4201, 0, 4, (s32)q, (s32)&D_801C8B64);\n }\n v0 = *(u16 *)(a0 + 0x76) + 1;\n *(u16 *)(a0 + 0x76) = v0;\n if ((s16)v0 > 0x64) {\n *(u16 *)(a0 + 0x76) = 0x64;\n }\n if (*(u16 *)(a0 + 0x5C) & 1) {\n if (*(u16 *)(a0 + 0x5E) == 0x23) {\n v0 = *(u16 *)(a0 + 0x76) - 8;\n *(u16 *)(a0 + 0x76) = v0;\n if ((s16)v0 > 0) {\n *(u16 *)(a0 + 0x34) = 1;\n *(s32 *)(a0 + 0x1C) = 3;\n func_8002D4C8(0x76D, 0);\n } else {\n t = (u16)D_801C8B70;\n *(u16 *)(a0 + 0x34) = 2;\n *(u16 *)(a0 + 0x5C) = 0;\n *(u16 *)(a0 + 0x76) = 0;\n D_801C8B70 = t - 1;\n func_8002D4C8(0x76B, 0);\n func_80132EF4(a0, 0x4E);\n func_8002D4C8(4, 0x76C);\n }\n }\n }\n break;\n case 1:\n v0 = func_80013328(a0 + 4, (s32)&D_80126B5C);\n if (v0 < D_801C8B78) {\n D_801C8B78 = v0;\n }\n v0 = *(u16 *)(a0 + 0x76) + 1;\n *(u16 *)(a0 + 0x76) = v0;\n if ((s16)v0 > 0x64) {\n *(u16 *)(a0 + 0x76) = 0x64;\n }\n v0 = *(s32 *)(a0 + 0x1C) - 1;\n *(s32 *)(a0 + 0x1C) = v0;\n if (v0 == 0) {\n *(u16 *)(a0 + 0x34) = 0;\n }\n *(u16 *)(a0 + 0x5C) = 0x8000;\n break;\n case 2:\n *(u16 *)(a0 + 0x5C) = 0;\n break;\n }\n d = (*(s16 *)(a0 + 0x76) * 12288) / 100;\n p = *(s32 *)(a0 + 0xCC);\n *(u16 *)(p + 0x1A) = d;\n *(u16 *)(p + 0x18) = d;\n p = *(s32 *)(a0 + 0xCC);\n *(u16 *)(p + 0x8) = *(u16 *)(a0 + 0x6);\n *(u16 *)(p + 0xA) = *(u16 *)(a0 + 0xA);\n *(u16 *)(p + 0xC) = *(u16 *)(a0 + 0xE);\n func_80128ED8(p, (s32 *)(a0 + 0xD0));\n}\n", "after_text": "void func_8017F0EC(s32 a0) {\n extern void func_8002D4C8(s32 a0, s32 a1);\n extern s32 func_80013328(s32 a0, s32 a1);\n extern s32 func_80128ED8(s32 param_1, s32 *param_2);\n extern s32 VectorNormalSS(void *a0, void *a1);\n extern s32 func_800132BC(void *a0, void *a1);\n extern void func_8012F568(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4, s32 a5);\n extern s32 func_80132EF4(s32 arg0, s32 arg1);\n extern u8 D_80126B5C;\n extern u16 D_80126B5E;\n extern u16 D_80126B62;\n extern u16 D_80126B66;\n extern u16 D_801C8B64;\n extern u16 D_801C8B66;\n extern u16 D_801C8B68;\n extern s16 D_801C8B70;\n extern s32 D_801C8B78;\n extern u16 D_801C8B64_arg __asm__(\"D_801C8B64\"); /* a class-E declaration alias (deferred to the structs phase, like R26): D_801C8B64 (func_8012F568's 6th argument) \u2014 cse2 would reuse the pre-call address pseudo across VectorNormalSS (cse.c:6776-6803, exp_equiv_p compares SYMBOL_REF names by pointer) (P36 S104 e33 minimum-lever) */\n u16 sp18[3];\n u16 sp20[3];\n u16 *q;\n s32 v0;\n s32 p;\n s32 t;\n s32 d;\n\n switch (*(u16 *)(a0 + 0x34)) {\n case 0:\n v0 = func_80013328(a0 + 4, (s32)&D_80126B5C);\n if (v0 < D_801C8B78) {\n D_801C8B78 = v0;\n }\n q = sp18;\n q[0] = *(u16 *)(a0 + 0x6);\n q[1] = *(u16 *)(a0 + 0xA);\n q[2] = *(u16 *)(a0 + 0xE);\n sp20[0] = D_80126B5E;\n sp20[1] = D_80126B62;\n sp20[2] = D_80126B66;\n if (func_800132BC(sp20, q) < 0x401) {\n D_801C8B64 = sp20[0] - q[0];\n D_801C8B66 = sp20[1] - q[1];\n D_801C8B68 = sp20[2] - q[2];\n VectorNormalSS(&D_801C8B64, &D_801C8B64);\n func_8012F568(1, 0x4201, 0, 4, (s32)q, (s32)&D_801C8B64_arg);\n }\n v0 = *(u16 *)(a0 + 0x76) + 1;\n *(u16 *)(a0 + 0x76) = v0;\n if ((s16)v0 > 0x64) {\n *(u16 *)(a0 + 0x76) = 0x64;\n }\n if (*(u16 *)(a0 + 0x5C) & 1) {\n if (*(u16 *)(a0 + 0x5E) == 0x23) {\n v0 = *(u16 *)(a0 + 0x76) - 8;\n *(u16 *)(a0 + 0x76) = v0;\n if ((s16)v0 > 0) {\n *(u16 *)(a0 + 0x34) = 1;\n *(s32 *)(a0 + 0x1C) = 3;\n func_8002D4C8(0x76D, 0);\n } else {\n t = (u16)D_801C8B70;\n *(u16 *)(a0 + 0x34) = 2;\n *(u16 *)(a0 + 0x5C) = 0;\n *(u16 *)(a0 + 0x76) = 0;\n D_801C8B70 = t - 1;\n func_8002D4C8(0x76B, 0);\n func_80132EF4(a0, 0x4E);\n func_8002D4C8(4, 0x76C);\n }\n }\n }\n break;\n case 1:\n v0 = func_80013328(a0 + 4, (s32)&D_80126B5C);\n if (v0 < D_801C8B78) {\n D_801C8B78 = v0;\n }\n v0 = *(u16 *)(a0 + 0x76) + 1;\n *(u16 *)(a0 + 0x76) = v0;\n if ((s16)v0 > 0x64) {\n *(u16 *)(a0 + 0x76) = 0x64;\n }\n v0 = *(s32 *)(a0 + 0x1C) - 1;\n *(s32 *)(a0 + 0x1C) = v0;\n if (v0 == 0) {\n *(u16 *)(a0 + 0x34) = 0;\n }\n *(u16 *)(a0 + 0x5C) = 0x8000;\n break;\n case 2:\n *(u16 *)(a0 + 0x5C) = 0;\n break;\n }\n d = (*(s16 *)(a0 + 0x76) * 12288) / 100;\n p = *(s32 *)(a0 + 0xCC);\n *(u16 *)(p + 0x1A) = d;\n *(u16 *)(p + 0x18) = d;\n p = *(s32 *)(a0 + 0xCC);\n *(u16 *)(p + 0x8) = *(u16 *)(a0 + 0x6);\n *(u16 *)(p + 0xA) = *(u16 *)(a0 + 0xA);\n *(u16 *)(p + 0xC) = *(u16 *)(a0 + 0xE);\n func_80128ED8(p, (s32 *)(a0 + 0xD0));\n}\n"} diff --git a/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c b/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c index 7f60660f61..66804fd8e9 100644 --- a/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c +++ b/src/ov_SC04_015/ov_SC04_015_jr_8017AE2C.c @@ -5291,6 +5291,7 @@ void func_8017F0EC(s32 a0) { extern u16 D_801C8B68; extern s16 D_801C8B70; extern s32 D_801C8B78; + extern u16 D_801C8B64_arg __asm__("D_801C8B64"); /* a class-E declaration alias (deferred to the structs phase, like R26): D_801C8B64 (func_8012F568's 6th argument) — cse2 would reuse the pre-call address pseudo across VectorNormalSS (cse.c:6776-6803, exp_equiv_p compares SYMBOL_REF names by pointer) (P36 S104 e33 minimum-lever) */ u16 sp18[3]; u16 sp20[3]; u16 *q; @@ -5313,15 +5314,11 @@ void func_8017F0EC(s32 a0) { sp20[1] = D_80126B62; sp20[2] = D_80126B66; if (func_800132BC(sp20, q) < 0x401) { - { - s32 _m = (s32)&D_801C8B64; - __asm__ __volatile__("" : "=r"(_m) : "0"(_m)); // !FAKE: launder — NEEDED DIFFERS (P36 rung B tus7) - D_801C8B64 = sp20[0] - q[0]; - D_801C8B66 = sp20[1] - q[1]; - D_801C8B68 = sp20[2] - q[2]; - VectorNormalSS((void *)_m, (void *)_m); - } - func_8012F568(1, 0x4201, 0, 4, (s32)q, (s32)&D_801C8B64); + D_801C8B64 = sp20[0] - q[0]; + D_801C8B66 = sp20[1] - q[1]; + D_801C8B68 = sp20[2] - q[2]; + VectorNormalSS(&D_801C8B64, &D_801C8B64); + func_8012F568(1, 0x4201, 0, 4, (s32)q, (s32)&D_801C8B64_arg); } v0 = *(u16 *)(a0 + 0x76) + 1; *(u16 *)(a0 + 0x76) = v0;