From b85229360e4ff62d4043b999766cb607c02fcd29 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 11 Sep 2026 03:12:23 -0600 Subject: [PATCH] =?UTF-8?q?phase-36:=20S104=20s104=5Fe21=20=E2=80=94=20fun?= =?UTF-8?q?c=5F80037EA0=20banked=20at=200=20through=20the=20whole-object?= =?UTF-8?q?=20gate=20+=20propagated=20=E2=80=94=20$16=20pin=20=E2=86=92=20?= =?UTF-8?q?0:=20p=20derived=20from=20the=20counter=20(loop.c:4196-4197,=20?= =?UTF-8?q?:6022-6024)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .run/P36/delever/calibration.json | 368 +++++++++++++++--------------- .run/P36/delever/ledger.jsonl | 1 + src/800_c.c | 15 +- 3 files changed, 190 insertions(+), 194 deletions(-) diff --git a/.run/P36/delever/calibration.json b/.run/P36/delever/calibration.json index bb4b5b26c..9d8f2c6a8 100644 --- a/.run/P36/delever/calibration.json +++ b/.run/P36/delever/calibration.json @@ -1,7 +1,7 @@ { - "head": "60af118e8", + "head": "566bfdd12", "stamp": "15956e4a96c4", - "generated": "2026-09-11 03:11", + "generated": "2026-09-11 03:12", "aliases": [ "main", "ov_SC03_014", @@ -21,207 +21,207 @@ "main": { "objects": 85, "identical": 85, - "seconds": 9.703000000000001, - "mean_s": 0.114 + "seconds": 8.738000000000001, + "mean_s": 0.103 }, "ov_SC03_014": { "objects": 32, "identical": 32, - "seconds": 6.4380000000000015, - "mean_s": 0.201 + "seconds": 5.764000000000002, + "mean_s": 0.18 }, "ov_SC03_015": { "objects": 32, "identical": 32, - "seconds": 4.8050000000000015, - "mean_s": 0.15 + "seconds": 5.544999999999999, + "mean_s": 0.173 }, "ov_SC04_011": { "objects": 28, "identical": 28, - "seconds": 9.448000000000002, - "mean_s": 0.337 + "seconds": 4.706000000000001, + "mean_s": 0.168 } }, "per_object_seconds": { - "build/src/800.o": 0.58, - "build/src/800_b.o": 0.119, - "build/src/800_b_2.o": 0.356, - "build/src/800_b_o0a.o": 0.109, - "build/src/800_c.o": 0.283, - "build/src/800b2.o": 0.092, - "build/src/apicard1.o": 0.112, - "build/src/apicard2.o": 0.086, - "build/src/apicard3.o": 0.099, - "build/src/apicard4.o": 0.106, - "build/src/apicard5.o": 0.093, - "build/src/apicard6.o": 0.073, - "build/src/apicard7.o": 0.097, - "build/src/boot.o": 0.12, - "build/src/gap.o": 0.113, - "build/src/libapi1.o": 0.082, - "build/src/libapi2.o": 0.204, - "build/src/libc2_1.o": 0.197, - "build/src/libc2_2.o": 0.199, - "build/src/libcd1.o": 0.192, - "build/src/libcd2.o": 0.187, - "build/src/libetc.o": 0.184, - "build/src/libgpu.o": 0.183, - "build/src/libgpu2.o": 0.174, - "build/src/libgs1.o": 0.171, - "build/src/libgs2.o": 0.168, - "build/src/libgs3.o": 0.17, - "build/src/libgs4.o": 0.177, - "build/src/libgs5.o": 0.17, - "build/src/libgs6.o": 0.146, - "build/src/libgs7.o": 0.123, - "build/src/libgs8.o": 0.116, - "build/src/libgte1.o": 0.08, - "build/src/libgte10.o": 0.105, - "build/src/libgte11.o": 0.112, - "build/src/libgte12.o": 0.117, - "build/src/libgte13.o": 0.087, - "build/src/libgte14.o": 0.089, + "build/src/800.o": 0.84, + "build/src/800_b.o": 0.093, + "build/src/800_b_2.o": 0.351, + "build/src/800_b_o0a.o": 0.103, + "build/src/800_c.o": 0.235, + "build/src/800b2.o": 0.095, + "build/src/apicard1.o": 0.096, + "build/src/apicard2.o": 0.071, + "build/src/apicard3.o": 0.092, + "build/src/apicard4.o": 0.088, + "build/src/apicard5.o": 0.098, + "build/src/apicard6.o": 0.108, + "build/src/apicard7.o": 0.082, + "build/src/boot.o": 0.145, + "build/src/gap.o": 0.076, + "build/src/libapi1.o": 0.092, + "build/src/libapi2.o": 0.067, + "build/src/libc2_1.o": 0.087, + "build/src/libc2_2.o": 0.071, + "build/src/libcd1.o": 0.089, + "build/src/libcd2.o": 0.107, + "build/src/libetc.o": 0.066, + "build/src/libgpu.o": 0.083, + "build/src/libgpu2.o": 0.096, + "build/src/libgs1.o": 0.072, + "build/src/libgs2.o": 0.078, + "build/src/libgs3.o": 0.068, + "build/src/libgs4.o": 0.077, + "build/src/libgs5.o": 0.09, + "build/src/libgs6.o": 0.088, + "build/src/libgs7.o": 0.066, + "build/src/libgs8.o": 0.085, + "build/src/libgte1.o": 0.094, + "build/src/libgte10.o": 0.073, + "build/src/libgte11.o": 0.068, + "build/src/libgte12.o": 0.075, + "build/src/libgte13.o": 0.088, + "build/src/libgte14.o": 0.092, "build/src/libgte15.o": 0.103, - "build/src/libgte16.o": 0.086, - "build/src/libgte17.o": 0.102, - "build/src/libgte18.o": 0.104, - "build/src/libgte19.o": 0.091, - "build/src/libgte2.o": 0.067, - "build/src/libgte20.o": 0.121, - "build/src/libgte21.o": 0.082, - "build/src/libgte22.o": 0.078, - "build/src/libgte23.o": 0.081, - "build/src/libgte24.o": 0.062, - "build/src/libgte25.o": 0.068, - "build/src/libgte26.o": 0.064, - "build/src/libgte27.o": 0.063, - "build/src/libgte28.o": 0.069, - "build/src/libgte29.o": 0.057, + "build/src/libgte16.o": 0.07, + "build/src/libgte17.o": 0.104, + "build/src/libgte18.o": 0.077, + "build/src/libgte19.o": 0.094, + "build/src/libgte2.o": 0.089, + "build/src/libgte20.o": 0.074, + "build/src/libgte21.o": 0.095, + "build/src/libgte22.o": 0.095, + "build/src/libgte23.o": 0.071, + "build/src/libgte24.o": 0.095, + "build/src/libgte25.o": 0.094, + "build/src/libgte26.o": 0.081, + "build/src/libgte27.o": 0.082, + "build/src/libgte28.o": 0.118, + "build/src/libgte29.o": 0.077, "build/src/libgte3.o": 0.067, - "build/src/libgte30.o": 0.055, - "build/src/libgte4.o": 0.061, - "build/src/libgte5.o": 0.047, - "build/src/libgte6.o": 0.04, - "build/src/libgte7.o": 0.043, - "build/src/libgte8.o": 0.036, - "build/src/libgte9.o": 0.036, - "build/src/libmcrd1.o": 0.039, - "build/src/libmcrd2.o": 0.036, - "build/src/libpad1.o": 0.096, - "build/src/libpad2.o": 0.123, - "build/src/sgap.o": 0.121, - "build/src/sgap_2.o": 0.102, - "build/src/sgap_3.o": 0.119, - "build/src/sgap_4.o": 0.085, - "build/src/sgap_5.o": 0.109, - "build/src/sgap_6.o": 0.088, - "build/src/sgap_8.o": 0.108, - "build/src/snd1.o": 0.103, - "build/src/snd10.o": 0.132, - "build/src/snd11.o": 0.109, - "build/src/snd12.o": 0.103, - "build/src/snd2.o": 0.085, - "build/src/snd3.o": 0.124, - "build/src/snd4.o": 0.088, - "build/src/snd5.o": 0.073, - "build/src/snd6.o": 0.075, - "build/src/snd7.o": 0.087, + "build/src/libgte30.o": 0.107, + "build/src/libgte4.o": 0.082, + "build/src/libgte5.o": 0.102, + "build/src/libgte6.o": 0.096, + "build/src/libgte7.o": 0.134, + "build/src/libgte8.o": 0.095, + "build/src/libgte9.o": 0.097, + "build/src/libmcrd1.o": 0.083, + "build/src/libmcrd2.o": 0.08, + "build/src/libpad1.o": 0.086, + "build/src/libpad2.o": 0.125, + "build/src/sgap.o": 0.102, + "build/src/sgap_2.o": 0.075, + "build/src/sgap_3.o": 0.086, + "build/src/sgap_4.o": 0.09, + "build/src/sgap_5.o": 0.088, + "build/src/sgap_6.o": 0.075, + "build/src/sgap_8.o": 0.099, + "build/src/snd1.o": 0.12, + "build/src/snd10.o": 0.092, + "build/src/snd11.o": 0.079, + "build/src/snd12.o": 0.094, + "build/src/snd2.o": 0.14, + "build/src/snd3.o": 0.104, + "build/src/snd4.o": 0.073, + "build/src/snd5.o": 0.091, + "build/src/snd6.o": 0.09, + "build/src/snd7.o": 0.074, "build/src/snd8.o": 0.065, - "build/src/snd9.o": 0.079, - "build/src/ov_SC03_014/ov_SC03_014.o": 0.116, - "build/src/ov_SC03_014/ov_SC03_014_after.o": 1.188, - "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 1.085, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.072, - "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.08, - "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.14, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.102, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013F350.o": 0.079, - "build/src/ov_SC03_014/ov_SC03_014_jr_8013FFD8.o": 0.069, - "build/src/ov_SC03_014/ov_SC03_014_jr_80140608.o": 0.113, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.043, - "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.105, - "build/src/ov_SC03_014/ov_SC03_014_jr_801588CC.o": 0.148, - "build/src/ov_SC03_014/ov_SC03_014_jr_80159C84.o": 0.104, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.13, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015AE2C.o": 0.141, - "build/src/ov_SC03_014/ov_SC03_014_jr_8015C32C.o": 0.431, - "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.29, - "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.149, + "build/src/snd9.o": 0.083, + "build/src/ov_SC03_014/ov_SC03_014.o": 0.15, + "build/src/ov_SC03_014/ov_SC03_014_after.o": 0.63, + "build/src/ov_SC03_014/ov_SC03_014_jr_8012ACE0.o": 0.449, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135888.o": 0.094, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135A4C.o": 0.102, + "build/src/ov_SC03_014/ov_SC03_014_jr_80135D20.o": 0.141, + "build/src/ov_SC03_014/ov_SC03_014_jr_801380E0.o": 0.218, + "build/src/ov_SC03_014/ov_SC03_014_jr_8013C98C.o": 0.163, + "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.223, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015444C.o": 0.095, + "build/src/ov_SC03_014/ov_SC03_014_jr_80154C24.o": 0.218, + "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.089, + "build/src/ov_SC03_014/ov_SC03_014_jr_8015A3C8.o": 0.085, + "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.541, + "build/src/ov_SC03_014/ov_SC03_014_jr_8016AB6C.o": 0.321, + "build/src/ov_SC03_014/ov_SC03_014_jr_80171B4C.o": 0.121, "build/src/ov_SC03_014/ov_SC03_014_jr_801734BC.o": 0.237, - "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.145, - "build/src/ov_SC03_014/ov_SC03_014_jr_80178D40.o": 0.156, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017A4AC.o": 0.114, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.107, - "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.23, - "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.082, - "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.283, - "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.115, - "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.105, - "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.06, - "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.104, - "build/src/ov_SC03_015/ov_SC03_015.o": 0.14, - "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.397, - "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.289, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.076, - "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.071, - "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.135, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.129, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.091, - "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.069, - "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.182, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.116, - "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.191, - "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.127, - "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.125, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.087, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.154, - "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.389, - "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.267, - "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.148, - "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.23, - "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.091, - "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.142, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.108, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.191, - "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.222, - "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.055, - "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.218, - "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.054, - "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.059, - "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.051, - "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.07, - "build/src/ov_SC04_011/ov_SC04_011.o": 0.083, - "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.337, - "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.259, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.158, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.158, - "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.432, - "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.484, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.466, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.434, - "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.431, - "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.489, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.46, - "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.493, - "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.451, - "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.431, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.459, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.473, - "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.558, - "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.517, - "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.475, - "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.492, - "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.06, - "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.095, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.079, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.111, - "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.432, - "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.057, - "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.074 + "build/src/ov_SC03_014/ov_SC03_014_jr_801789AC.o": 0.073, + "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.087, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017AE2C.o": 0.206, + "build/src/ov_SC03_014/ov_SC03_014_jr_8017EB7C.o": 0.244, + "build/src/ov_SC03_014/ov_SC03_014_jr_80184440.o": 0.06, + "build/src/ov_SC03_014/ov_SC03_014_jr_801848E4.o": 0.317, + "build/src/ov_SC03_014/ov_SC03_014_o0b.o": 0.099, + "build/src/ov_SC03_014/ov_SC03_014_o0c.o": 0.085, + "build/src/ov_SC03_014/ov_SC03_014_o0d.o": 0.089, + "build/src/ov_SC03_014/ov_SC03_014_o0e.o": 0.078, + "build/src/ov_SC03_015/ov_SC03_015.o": 0.145, + "build/src/ov_SC03_015/ov_SC03_015_after.o": 0.596, + "build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.467, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.055, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.06, + "build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.134, + "build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.199, + "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.092, + "build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.07, + "build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.214, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.117, + "build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.184, + "build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.106, + "build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.088, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.096, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.114, + "build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.539, + "build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.324, + "build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.113, + "build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.242, + "build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.078, + "build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.124, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.117, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.215, + "build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.225, + "build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.063, + "build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.351, + "build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.067, + "build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.068, + "build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.065, + "build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.084, + "build/src/ov_SC04_011/ov_SC04_011.o": 0.145, + "build/src/ov_SC04_011/ov_SC04_011_after.o": 0.475, + "build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.396, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.054, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.069, + "build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.136, + "build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.199, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.139, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.082, + "build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.082, + "build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.203, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.096, + "build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.204, + "build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.106, + "build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.112, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.075, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.126, + "build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.409, + "build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.241, + "build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.122, + "build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.192, + "build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.071, + "build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.107, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.081, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.118, + "build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.537, + "build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.059, + "build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.07 }, "ok": true, - "seconds": 18.8 + "seconds": 2.7 } diff --git a/.run/P36/delever/ledger.jsonl b/.run/P36/delever/ledger.jsonl index 188f3e7e0..70a59ef4a 100644 --- a/.run/P36/delever/ledger.jsonl +++ b/.run/P36/delever/ledger.jsonl @@ -29479,3 +29479,4 @@ {"ts": "2026-09-11 03:10:52", "label": "s104_e24", "rung": "E", "calib": {"head": "41a2f9c24", "stamp": "15956e4a96c4"}, "tu": "src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.c", "fn": "func_80185B70", "addr": 2149079920, "aliases": null, "header": false, "includers": 0, "nhash_before": "3aaf812bf8aec6c72bc7d882fb8ad99879915449", "nhash_after": "cae470f8fd845c7a6efc8e9582423d8c4bbeb1c7", "source": ".run/P36/agents/ov_SC06_016__func_80180E24/scratch/sib2_a.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.367, "objects": ["build/src/ov_SC04_005/ov_SC04_005_jr_8017BEBC.o"], "before_text": "s32 func_80185B70(s32 a0) {\n s32 s2;\n\n s2 = func_80132EF4(a0, 0x4F);\n if (s2 == 0) {\n return 0;\n }\n\n *(s16 *)(s2 + 0xA) = *(u16 *)(s2 + 0xA) - 0x28;\n\n /* NOTE (this is the whole match, do not \"tidy\" it): each block MUST own its\n * own r/val/base locals. With one shared `r` across all three blocks, the\n * /32 block's remainder pseudo conflicts with the rand()-result pseudo, so\n * global.c's expand_preferences() cannot merge their preferences (it needs\n * a non-conflicting REG_DEAD copy). The result pseudo then has NO hard-reg\n * preference of its own, prune_preferences() puts $v1 into its\n * regs_someone_prefers set, and find_reg's pass 0 skips $v1 and lands the\n * value in $a0 instead of the target's $v1 (4 wrong instructions). */\n {\n s32 r, val, base;\n r = rand() % 28;\n base = *(s16 *)(s2 + 0x6);\n val = (rand() & 1) ? (base + r) : (base - r);\n *(s16 *)(s2 + 0x6) = val;\n }\n {\n s32 r, val, base;\n r = rand() % 32;\n base = *(s16 *)(s2 + 0xA);\n val = (rand() & 1) ? (base + r) : (base - r);\n *(s16 *)(s2 + 0xA) = val;\n }\n {\n s32 r, val, base;\n r = rand() % 28;\n base = *(s16 *)(s2 + 0xE);\n val = (rand() & 1) ? (base + r) : (base - r);\n *(s16 *)(s2 + 0xE) = val;\n }\n\n {\n s32 v0, v1;\n\n if (rand() & 1) {\n v1 = *(s32 *)(s2 + 0x20);\n v0 = -0x2000;\n *(s16 *)(v1 + 0x1C) = v0;\n } else {\n v1 = *(s32 *)(s2 + 0x20);\n v0 = 0x2000;\n *(s16 *)(v1 + 0x1C) = v0;\n }\n *(s16 *)(v1 + 0x1A) = v0;\n do { *(s16 *)(v1 + 0x18) = v0; } while (0);\n }\n\n /* Zero-byte scheduling fence (\u00a7190-C). Without it BOTH sched1 and sched2\n * independently hoist the call's `move $a0,$s3` + `li $a1,0x7F3` above the\n * two trailing `sh` stores (they feed the jal, so they carry the higher\n * INSN_PRIORITY), and reorg then fills the delay slot with `sh 0x18`\n * instead of the target's `addiu $a1`. -fno-schedule-insns{,2} alone does\n * not reproduce the target order -- only both together do, hence a real\n * barrier rather than a statement reorder. */\n ((s32 (*)())func_80185CEC)(a0, 0x7F3);\n return s2;\n}\n", "after_text": "s32 func_80185B70(s32 a0) {\n s32 s2;\n\n s2 = func_80132EF4(a0, 0x4F);\n if (s2 == 0) {\n return 0;\n }\n\n *(s16 *)(s2 + 0xA) = *(u16 *)(s2 + 0xA) - 0x28;\n\n /* NOTE (this is the whole match, do not \"tidy\" it): each block MUST own its\n * own r/val/base locals. With one shared `r` across all three blocks, the\n * /32 block's remainder pseudo conflicts with the rand()-result pseudo, so\n * global.c's expand_preferences() cannot merge their preferences (it needs\n * a non-conflicting REG_DEAD copy). The result pseudo then has NO hard-reg\n * preference of its own, prune_preferences() puts $v1 into its\n * regs_someone_prefers set, and find_reg's pass 0 skips $v1 and lands the\n * value in $a0 instead of the target's $v1 (4 wrong instructions). */\n {\n s32 r, val, base;\n r = rand() % 28;\n base = *(s16 *)(s2 + 0x6);\n val = (rand() & 1) ? (base + r) : (base - r);\n *(s16 *)(s2 + 0x6) = val;\n }\n {\n s32 r, val, base;\n r = rand() % 32;\n base = *(s16 *)(s2 + 0xA);\n val = (rand() & 1) ? (base + r) : (base - r);\n *(s16 *)(s2 + 0xA) = val;\n }\n {\n s32 r, val, base;\n r = rand() % 28;\n base = *(s16 *)(s2 + 0xE);\n val = (rand() & 1) ? (base + r) : (base - r);\n *(s16 *)(s2 + 0xE) = val;\n }\n\n {\n s32 v0, v1;\n\n if (rand() & 1) {\n v1 = *(s32 *)(s2 + 0x20);\n v0 = -0x2000;\n *(s16 *)(v1 + 0x1C) = v0;\n *(s16 *)(v1 + 0x1A) = v0;\n *(s16 *)(v1 + 0x18) = v0;\n } else {\n v1 = *(s32 *)(s2 + 0x20);\n v0 = 0x2000;\n *(s16 *)(v1 + 0x1C) = v0;\n *(s16 *)(v1 + 0x1A) = v0;\n *(s16 *)(v1 + 0x18) = v0;\n }\n }\n\n /* Zero-byte scheduling fence (\u00a7190-C). Without it BOTH sched1 and sched2\n * independently hoist the call's `move $a0,$s3` + `li $a1,0x7F3` above the\n * two trailing `sh` stores (they feed the jal, so they carry the higher\n * INSN_PRIORITY), and reorg then fills the delay slot with `sh 0x18`\n * instead of the target's `addiu $a1`. -fno-schedule-insns{,2} alone does\n * not reproduce the target order -- only both together do, hence a real\n * barrier rather than a statement reorder. */\n ((s32 (*)())func_80185CEC)(a0, 0x7F3);\n return s2;\n}\n"} {"ts": "2026-09-11 03:11:26", "label": "s104_e21", "rung": "E", "calib": {"head": "02f0dd3c4", "stamp": "15956e4a96c4"}, "tu": "src/800_c.c", "fn": "func_800359B0", "addr": 2147703216, "aliases": null, "header": false, "includers": 0, "nhash_before": "921794b869068cc30d2871bb0c76f93189a093f0", "nhash_after": "82de0441464be8b646380f93b5eff895b5e0b558", "source": ".run/P36/agents/main__func_800359B0/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.136, "objects": ["build/src/800_c.o"], "before_text": "void func_800359B0(s32 arg0) {\n u8 result[8];\n s32 sync;\n\n switch (*(u8 *)(arg0 + 3)) {\n case 1:\n case 2:\n func_800434BC();\n *(u8 *)(arg0 + 2) = 0;\n break;\n case 4:\n func_800434BC();\n *(u8 *)(arg0 + 2) = 1;\n *(u8 *)(arg0 + 3) = 0x10;\n break;\n case 6:\n case 7:\n func_8003EDE8(0, (u32)((D_8006AEEC * D_800A4EFA) >> 7 & 0xFF) * 3 >> 2,\n (u32)((D_8006AEEC * D_800A4EFA) >> 7 & 0xFF) * 3 >> 2);\n *(u8 *)(arg0 + 2) = 1;\n D_8007620C = 0;\n *(u8 *)(arg0 + 3) = 0xB;\n break;\n case 5:\n func_800434BC();\n *(u8 *)(arg0 + 3) = 8;\n /* fall through */\n case 8:\n func_8003EDE8(0, 0, 0);\n if (func_800435CC(9, 0, 0) == 0) {\n *(u8 *)(arg0 + 2) = 1;\n *(u8 *)(arg0 + 3) = 0x10;\n D_80076104 = 0;\n return;\n }\n D_8007620C = 0;\n D_80076104 = 0;\n *(u8 *)(arg0 + 3) = 9;\n /* fall through */\n case 9:\n sync = func_8004355C(1, result);\n if (sync == 0) {\n D_80076104 = D_80076104 + 1;\n if ((s16)D_80076104 >= 0x12D) {\n func_800434BC();\n do_flag:\n D_80076214 = 1;\n *(u8 *)(arg0 + 2) = 0;\n return;\n }\n *(u8 *)(arg0 + 2) = 1;\n return;\n }\n if (sync == 5 && (result[0] & 0x10)) {\n D_80076214 = 1;\n }\n *(u8 *)(arg0 + 2) = 0;\n break;\n case 11:\n func_8003EDE8(0, D_8006AEEC >> 1, D_8006AEEC >> 1);\n *(u8 *)(arg0 + 3) = 0xC;\n break;\n case 12:\n func_8003EDE8(0, D_8006AEEC >> 2, D_8006AEEC >> 2);\n *(u8 *)(arg0 + 3) = 0xD;\n break;\n case 13:\n func_8003EDE8(0, 0, 0);\n if (func_800435CC(9, 0, 0) != 0) {\n *(u8 *)(arg0 + 3) = 9;\n return;\n }\n *(u8 *)(arg0 + 3) = 0x10;\n D_80076104 = 0;\n break;\n case 16:\n if (func_800435CC(9, 0, 0) == 0) {\n D_80076104 = D_80076104 + 1;\n if ((s16)D_80076104 >= 0x12D) {\n func_800434BC();\n __asm__ __volatile__(\"\"); /* \u00a7336 cross-jump fence, zero bytes */ // !FAKE: barrier \u2014 NEEDED DIFFERS (P36 rung B tus9)\n goto do_flag;\n }\n break;\n }\n *(u8 *)(arg0 + 3) = 9;\n break;\n case 0:\n case 3:\n case 10:\n case 14:\n case 15:\n case 17:\n case 18:\n default:\n *(u8 *)(arg0 + 2) = 0;\n break;\n }\n}\n", "after_text": "void func_800359B0(s32 arg0) {\n u8 result[8];\n s32 sync;\n\n switch (*(u8 *)(arg0 + 3)) {\n case 1:\n case 2:\n func_800434BC();\n *(u8 *)(arg0 + 2) = 0;\n break;\n case 4:\n func_800434BC();\n *(u8 *)(arg0 + 2) = 1;\n *(u8 *)(arg0 + 3) = 0x10;\n break;\n case 6:\n case 7:\n func_8003EDE8(0, (u32)((D_8006AEEC * D_800A4EFA) >> 7 & 0xFF) * 3 >> 2,\n (u32)((D_8006AEEC * D_800A4EFA) >> 7 & 0xFF) * 3 >> 2);\n *(u8 *)(arg0 + 2) = 1;\n D_8007620C = 0;\n *(u8 *)(arg0 + 3) = 0xB;\n break;\n case 5:\n func_800434BC();\n *(u8 *)(arg0 + 3) = 8;\n /* fall through */\n case 8:\n func_8003EDE8(0, 0, 0);\n if (func_800435CC(9, 0, 0) == 0) {\n *(u8 *)(arg0 + 2) = 1;\n *(u8 *)(arg0 + 3) = 0x10;\n D_80076104 = 0;\n return;\n }\n D_8007620C = 0;\n D_80076104 = 0;\n *(u8 *)(arg0 + 3) = 9;\n /* fall through */\n case 9:\n sync = func_8004355C(1, result);\n if (sync == 0) {\n D_80076104 = D_80076104 + 1;\n if ((s16)D_80076104 >= 0x12D) {\n func_800434BC();\n D_80076214 = 1;\n *(u8 *)(arg0 + 2) = 0;\n break;\n }\n *(u8 *)(arg0 + 2) = 1;\n return;\n }\n if (sync == 5 && (result[0] & 0x10)) {\n D_80076214 = 1;\n }\n *(u8 *)(arg0 + 2) = 0;\n break;\n case 11:\n func_8003EDE8(0, D_8006AEEC >> 1, D_8006AEEC >> 1);\n *(u8 *)(arg0 + 3) = 0xC;\n break;\n case 12:\n func_8003EDE8(0, D_8006AEEC >> 2, D_8006AEEC >> 2);\n *(u8 *)(arg0 + 3) = 0xD;\n break;\n case 13:\n func_8003EDE8(0, 0, 0);\n if (func_800435CC(9, 0, 0) != 0) {\n *(u8 *)(arg0 + 3) = 9;\n return;\n }\n *(u8 *)(arg0 + 3) = 0x10;\n D_80076104 = 0;\n break;\n case 16:\n if (func_800435CC(9, 0, 0) == 0) {\n D_80076104 = D_80076104 + 1;\n if ((s16)D_80076104 >= 0x12D) {\n func_800434BC();\n D_80076214 = 1;\n *(u8 *)(arg0 + 2) = 0;\n }\n break;\n }\n *(u8 *)(arg0 + 3) = 9;\n break;\n case 0:\n case 3:\n case 10:\n case 14:\n case 15:\n case 17:\n case 18:\n default:\n *(u8 *)(arg0 + 2) = 0;\n break;\n }\n}\n"} {"ts": "2026-09-11 03:12:01", "label": "s104_e21", "rung": "E", "calib": {"head": "60af118e8", "stamp": "15956e4a96c4"}, "tu": "src/800_c.c", "fn": "func_80036AF8", "addr": 2147707640, "aliases": null, "header": false, "includers": 0, "nhash_before": "63a7c5a7afb98a8a48c46eaa4a7b271d67a5fd54", "nhash_after": "b9b3bb3d57e370cf24909b47eedde50a2f32906a", "source": ".run/P36/agents/main__func_80036AF8/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.128, "objects": ["build/src/800_c.o"], "before_text": "void func_80036AF8(CdlLOC *loc, s32 flags) {\n register s32 zr __asm__(\"$0\"); // !FAKE: pin $0 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n CdReq req;\n s32 mode;\n s32 n;\n s32 idx;\n s32 lo;\n s16 h;\n s32 drv;\n s32 hi;\n u8 b;\n s32 i;\n s32 ret;\n u8 *rec;\n u8 *rec2;\n u8 *tbl;\n s32 hoff;\n\n mode = flags + zr;\n if (!(flags & 0x4000)) {\n return;\n }\n\n n = flags & 0xF;\n idx = n + zr;\n lo = (s32)(flags << 16) >> 20;\n drv = ((s32)(flags << 16) >> 25) & 0x1F;\n hi = drv + zr;\n h = lo & 0x1F;\n if (lo & 1) {\n if (*(u8 *)((u8 *)&D_8006A6A0 + drv * 0x48) != 0) {\n idx = n + 4;\n } else {\n idx = n + 8;\n }\n }\n\n h = h >> 1;\n rec = (u8 *)*(s32 *)((u8 *)&D_8006A69C + hi * 0x48);\n rec2 = rec + (h << 6);\n b = *(u8 *)(rec2 + (idx << 2) + 1);\n if ((b & 0xF0) == 0) {\n return;\n }\n\n if (D_8006AEE8 != 0) {\n if ((b & 0xF) == 0) {\n return;\n }\n if ((b & 0xF) == 1) {\n for (i = 0; i < D_8006AEE8; i++) {\n func_80034DFC(*(short *)(&D_80078F10 + i));\n (&D_80078F10)[i] = 0;\n }\n D_8006AEE8 = 0;\n }\n }\n\n req.f08 = (s32)func_80035270;\n D_800A46BA = 0;\n if (h != 0) {\n ret = CdPosToInt(loc);\n hoff = hi * 0x48;\n tbl = (u8 *)&D_8006A6A4;\n req.f0c = ret + *(s32 *)(tbl + hoff + h * 4);\n } else {\n req.f0c = CdPosToInt(loc);\n }\n req.f10 = (s16)mode;\n req.f1c = (s32)func_80036D24;\n req.f24 = (s32)func_800359B0;\n req.f20 = 0;\n req.f28 = (s32)func_80036FB0;\n ret = func_80034CF0((u8 *)&req);\n if (ret != 0) {\n (&D_80078F10)[D_8006AEE8] = ret;\n D_8006AEE8 = D_8006AEE8 + 1;\n }\n D_800A4F1A = 1;\n}\n", "after_text": "void func_80036AF8(CdlLOC *loc, s32 flags) {\n CdReq req;\n s16 mode;\n s16 idx;\n s16 lo;\n s16 h;\n s16 drv;\n u8 b;\n s32 i;\n s32 ret;\n u8 *rec;\n u8 *rec2;\n u8 *tbl;\n s32 hoff;\n\n mode = flags;\n if (!(mode & 0x4000)) {\n return;\n }\n\n idx = mode & 0xF;\n lo = mode >> 4;\n drv = (mode >> 9) & 0x1F;\n h = lo & 0x1F;\n if (lo & 1) {\n if (*(u8 *)((u8 *)&D_8006A6A0 + drv * 0x48) != 0) {\n idx += 4;\n } else {\n idx += 8;\n }\n }\n\n h = h >> 1;\n rec = (u8 *)*(s32 *)((u8 *)&D_8006A69C + drv * 0x48);\n rec2 = rec + (h << 6);\n b = *(u8 *)(rec2 + (idx << 2) + 1);\n if ((b & 0xF0) == 0) {\n return;\n }\n\n if (D_8006AEE8 != 0) {\n if ((b & 0xF) == 0) {\n return;\n }\n if ((b & 0xF) == 1) {\n for (i = 0; i < D_8006AEE8; i++) {\n func_80034DFC(*(short *)(&D_80078F10 + i));\n (&D_80078F10)[i] = 0;\n }\n D_8006AEE8 = 0;\n }\n }\n\n req.f08 = (s32)func_80035270;\n D_800A46BA = 0;\n if (h != 0) {\n ret = CdPosToInt(loc);\n hoff = drv * 0x48;\n tbl = (u8 *)&D_8006A6A4;\n req.f0c = ret + *(s32 *)(tbl + hoff + h * 4);\n } else {\n req.f0c = CdPosToInt(loc);\n }\n req.f10 = mode;\n req.f1c = (s32)func_80036D24;\n req.f24 = (s32)func_800359B0;\n req.f20 = 0;\n req.f28 = (s32)func_80036FB0;\n ret = func_80034CF0((u8 *)&req);\n if (ret != 0) {\n (&D_80078F10)[D_8006AEE8] = ret;\n D_8006AEE8 = D_8006AEE8 + 1;\n }\n D_800A4F1A = 1;\n}\n"} +{"ts": "2026-09-11 03:12:21", "label": "s104_e21", "rung": "E", "calib": {"head": "566bfdd12", "stamp": "15956e4a96c4"}, "tu": "src/800_c.c", "fn": "func_80037EA0", "addr": 2147712672, "aliases": null, "header": false, "includers": 0, "nhash_before": "6e2bd9a37a822743d95db18f6051ba939380d587", "nhash_after": "bd201a50227b807e1a3d7ff27da52550511c365c", "source": ".run/P36/agents/main__func_80037EA0/body.c", "verdict": "LEVER-FREE", "sites": [], "compiles": 1, "seconds": 0.117, "objects": ["build/src/800_c.o"], "before_text": "void func_80037EA0(void)\n{\n extern void func_8003D3B4(s32, s32);\n register u8 *p __asm__(\"$16\"); // !FAKE: pin $16 \u2014 NEEDED DIFFERS (P36 rung B tus9)\n s32 i;\n u32 mask;\n\n i = 0;\n mask = 0xFFF9FFFF;\n p = D_800C6E2E;\n do {\n if (p[-4] != 0 && p[-1] == 0 && p[0] != 0) {\n func_8003D3B4(i, 8);\n *(u32 *)(p - 0x4A) &= mask;\n p[0] = 0;\n }\n i++;\n p += 0x60;\n } while (i < 0x10);\n}\n", "after_text": "void func_80037EA0(void)\n{\n extern void func_8003D3B4(s32, s32);\n u8 *p;\n s32 i;\n\n for (i = 0; i < 0x10; i++) {\n p = &D_800C6E2E[i * 0x60];\n if (p[-4] != 0 && p[-1] == 0 && p[0] != 0) {\n func_8003D3B4(i, 8);\n *(u32 *)(p - 0x4A) &= ~0x60000;\n p[0] = 0;\n }\n }\n}\n"} diff --git a/src/800_c.c b/src/800_c.c index ef69913e4..2f92fa373 100644 --- a/src/800_c.c +++ b/src/800_c.c @@ -2315,22 +2315,17 @@ extern u8 D_800C6E2E[]; void func_80037EA0(void) { extern void func_8003D3B4(s32, s32); - register u8 *p __asm__("$16"); // !FAKE: pin $16 — NEEDED DIFFERS (P36 rung B tus9) + u8 *p; s32 i; - u32 mask; - i = 0; - mask = 0xFFF9FFFF; - p = D_800C6E2E; - do { + for (i = 0; i < 0x10; i++) { + p = &D_800C6E2E[i * 0x60]; if (p[-4] != 0 && p[-1] == 0 && p[0] != 0) { func_8003D3B4(i, 8); - *(u32 *)(p - 0x4A) &= mask; + *(u32 *)(p - 0x4A) &= ~0x60000; p[0] = 0; } - i++; - p += 0x60; - } while (i < 0x10); + } } void func_80037F3C(void)