diff --git a/handoff/BLOCKMAP_529fe0.md b/handoff/BLOCKMAP_529fe0.md index 1eb6825..f45d8d0 100644 --- a/handoff/BLOCKMAP_529fe0.md +++ b/handoff/BLOCKMAP_529fe0.md @@ -698,3 +698,28 @@ mask = exp(2 · scratch) ⇒ γ = 2·k, где k — масштаб выхода 3. Масштаб выхода design: декод хвоста 1802a24c0 (файл уже есть: nls_dasm/conv_float_a24c0.dis, 184K). 4. Согласование с identity-фазой захватов (гонка финального combine). + +## ДОПОЛНЕНИЕ 24mm7: design выход = точный ln(bands_final); γ создаётся после design + +### Численный тест (multi6/ph034, identity-фаза) +``` +scr@628 − ln(cur@678): max|r| = 9.0e-08 (float32 eps) на 1013 бинах +⇒ k_design = 1 (в момент захвата) +``` +Оговорка: станционарность делает «свежий» и «сталый» scratch +неразличимы; но факт (scr, cur)=(лог, значение) одной пары твёрд. + +### Следствие для γ +γ=1.760561 ≠ 2 ⇒ множитель НЕ только «×2 перед EXP». Источники: +(a) opB/opC не взаимно сокращаются (не чистая упаковка real-FFT); +(b) пост-exp шаги: окно 52d990 (варьируется по позиции — нарушил бы + степенной закон, значит действует на верхнюю половину/после), + pair-scalar th1880/th1ca0, финальный combine df0(FIR, track_i), + где track=exp(scr)=bands_final. +Комбинации дающие γ из {1,2}: 1+2x=1.760561 ⇒ x=0.3802805; +либо лог-доменное смешение track^a·FIR^b c a+2b=1.760561. + +### Статус декода design 1802a24c0 +AVX-512 (zmm, masked {k3}/{k4}), 3822 строки objdump — трансформ-класс. +Для замыкания γ его полный декод МОЖНО НЕ НУЖЕН: достаточно семантики +opB/opC + df0 (десятки инструкций в fn529fe0.dis). diff --git a/handoff/NOTES_LEVEL.md b/handoff/NOTES_LEVEL.md index 18a2649..6124f7a 100644 --- a/handoff/NOTES_LEVEL.md +++ b/handoff/NOTES_LEVEL.md @@ -4021,3 +4021,15 @@ X ∈ {lvl, am·S/res, am·S, S/res, am·res, S·lvl, am·S/√res}; лучши 3. Симулятор: scripts/cascade_sim.py (каркас + валидатор + отбор кадров). Следующий раунд: оп-за-оп декод тела каскада между lvl_raw и scr (частотные IIR с коэф. 24cc → vec6f8/bands_curve), затем C++ порт. + +## 24mm5–24mm7 (продолжение захода) +1. Полная буферная карта полосы-цикла: ДВА круга log→exp, между вторыми — + бидир-IIR ×2 В ЛОГ-ДОМЕНЕ (= спектральное смешение детектора). +2. Design 535a70 (своп аргументов) → 1802a24c0 = тело conv из вопроса 22z. + Вход [r15]=bands_final@678+i, выход scratch@628. +3. Тест: scr == ln(bands_final) с eps float32 (identity-фаза) ⇒ k=1. +4. Перед EXP: FIR[1..n/2] *= 2.0 (@1824c41e0; исправление «÷−1» из 24l). +5. γ=1.760561 возникает после design: кандидаты opB/opC и финальный + combine df0(FIR, track_i); формулы-кандидаты в BLOCKMAP 24mm7. +6. Все правки dataflow 24hh/24ii/24l перенесены в BLOCKMAP (14 порядок, + ACC@7c8, ×2 вместо ÷−1, log#1/log#2 позиции).