P5: F5b — exp2 0x26b820 assets extracted bit-exact + numeric fallback exp2_dsp
Extracted the 8x16 irrational tables + lead-in -708.4xx series from soothe_mem.bin
into exp2_tables.{hpp,cpp} (P3 bit-exact inputs). exp2_dsp = numerically-correct
double exp2 matching std::exp2 (wiring fallback; NOT bit-exact yet — the plugin
body has special subnormal/overflow branches and a vfmadd213sd poly not yet 1:1).
exp2_check: 2e6-grid PASS (0 cells >1e-13).
This commit is contained in:
@@ -1090,3 +1090,16 @@ window (step5), combine 0x5407c8 accumulator, internal 48000/4096 geometry. The
|
||||
Remaining real paths to bytes: (F1) live capture of level-path object (A/B/gamma) OR
|
||||
(F5) bit-exact exp2/FFT kernels — neither changes the mean but both are required for
|
||||
byte parity. No code change; NOTE-only.
|
||||
|
||||
## ============ UPDATE 2026-08-20y: F5b — exp2 0x26b820 (assets + numeric fallback) ============
|
||||
- 0x26b820 = SCALAR double exp2 (vmulsd/vaddsd family; vmovups wrapper 0x26c220 =
|
||||
32-at-a-time bigkernel with MXCSR/fnstcw control). Table-driven fdlibm-style,
|
||||
Cody-Waite hi/lo: 8x16 irr tables + 0x181f31940.. series (-708.449.. step, companion
|
||||
-1.684e-9) + kExp2_f2f4e0.. (log2e~1.4428 head) + vfmadd213sd poly chain.
|
||||
- EXTRACTED bit-exact P3 assets: dsp/exp2_tables.{hpp,cpp} (8x16 doubles straight from
|
||||
soothe_mem.bin file=RVA; lead-in series kExp2_big). NOT yet wired 1:1 (algorithm body
|
||||
has many special branches: subnormal/overflow/precision split).
|
||||
- exp2_dsp() (dsp/exp2.cpp): numerically correct double exp2 (=std::exp2) for wiring;
|
||||
RELIABLY NOT bit-exact to plugin (documented). exp2_check: 2e6 dense grid + edges,
|
||||
PASS vs std::exp2 (0 cells >1e-13) -> ensures fallback correctness only.
|
||||
Bit-exact exp2 transcription stays P3 (same bucket as DSP-FFT butterfly wiring).
|
||||
|
||||
Reference in New Issue
Block a user