Fixed-point lanes, tiny MAC, identical semantics.
Purpose. Map the lane math to a tiny, deterministic hardware substrate without changing semantics. Classical values remain untouched: phi((m,a)) = m. The lane uses the same kernel: clamp → rapidity map → u-space fuse → inverse map. Optional gate applies on alignment only.
# Core kernel (lane-only; classical m is unchanged)
a_c := clamp(a, -1+eps_a, +1-eps_a)
u := atanh(a_c)
U += w * u
W += w
a_out := tanh( U / max(W, eps_w) )
# Optional gate
RSI := a_out
RSI_env := g * RSI # mode "mul"
# or
RSI_env := tanh( g * atanh(RSI) ) # mode "u_scale"
G1) Micro-architecture (streaming)
Blocks (in order): CLAMP → ATANH_LUT → W_MUL → ACC_UW → DIV_SAT → TANH_LUT → BAND → STAMP
- CLAMP: implements
a_c := max(-1+eps_a, min(1-eps_a, a)). - ATANH_LUT: piecewise LUT + short polynomial giving
u ≈ atanh(a_c). - W_MUL: fixed-point multiply for
w*uand integer add forW += w. - ACC_UW: accumulators for
UandW. - DIV_SAT: computes
u_bar := U / max(W, eps_w)with divide-by-zero guard. - TANH_LUT: piecewise LUT + polynomial for
a_out := tanh(u_bar). - BAND: compares
a_out(orRSI_env) to thresholds for A++/A+/A0/A-/A–. - STAMP: emits one-line ASCII with fields and a
knobs_hash. - Merge/restart state: only
(U, W)plus manifest constants.
# Minimal stamp fields (illustrative)
stamp := "SSMCLOCK1|iso_utc|svc=lane_hw|U=" + fmt(U) + "|W=" + fmt(W) +
"|RSI=" + fmt(a_out) + "|g=" + fmt(g) + "|RSI_env=" + fmt(RSI_env) +
"|band=" + band + "|fx=" + fx_fmt + "|manifest=" + knobs_hash
G2) Numeric ranges and fixed-point formats
Max rapidity to cover (with eps_a = 1e-6):u_max = atanh(1 - eps_a) = 0.5 * ln((2 - eps_a)/eps_a) ≈ 7.254325 → cover at least [-7.5, +7.5].
Recommended fixed-point (lane-only):
- 16-bit (low cost):
Q4.12foru,U/W, andw*u. Range[-8, +8)with step≈ 2.44e-4. - 32-bit (comfort):
Q6.26foru,U/W, andw*u. Range[-32, +32)with step≈ 1.49e-8. - Weights
w: if uniform,w := 1(integer). Ifw := |m|^gamma, quantizewtoQ6.10orQ8.8depending on spread.
Guard constants (manifest): eps_a = 1e-6, eps_w = 1e-12. Pre-quantize for RTL: eps_a_fx := to_fx(eps_a), eps_w_fx := to_fx(eps_w).
# Fixed-point choices (copy-paste checklist)
u_fmt := Q6.26 # or Q4.12 for tiny builds
a_fmt := Q2.14
w_fmt := Q8.8 # if using strength-aware weights
eps_a := 1e-6
eps_w := 1e-12
cover_u_range := [-7.5, +7.5]
G3) Piecewise LUTs (tanh / atanh)
atanh (segments on a_c ∈ [0, 1 - eps_a], mirror to negatives):
Example 16-bit segmentation: {0..0.5, 0.5..0.8, 0.8..0.95, 0.95..0.995, 0.995..0.999999}.
Each segment stores k0 + k1*x + k2*x^2 in fixed-point.
Error target: |delta_u| <= 1e-4. Monotone across segment joins.
tanh (segments on u ∈ [0, 4], saturation above 4):
Example 16-bit segmentation: {0..0.5, 0.5..1.0, 1.0..2.0, 2.0..4.0}.
Error target: |delta_a| <= 1e-4. Monotone across joins.
# LUT policy (concise)
atanh:
domain_pos := [0..1-eps_a]
segments := 5
poly_degree := 2
target_error := 1e-4
symmetry := odd -> mirror for negatives
tanh:
domain_pos := [0..4], saturate beyond
segments := 4
poly_degree := 2
target_error := 1e-4
symmetry := odd -> mirror for negatives
One-line takeaway. A tiny streaming MAC with two monotone LUTs (atanh in, tanh out) and (U,W) fusing gives deterministic, order-invariant, stamp-ready results that match software semantics, while phi((m,a)) = m keeps classical numbers pristine.
Navigation
Previous: SSM-AI – Appendix F — SSM-Audit CFO Pack (F8–F9)
Next: SSM-AI – Appendix G — SSMH Acceleration Parity (G4–G7)
Directory of Pages
SSM-AI — Table of Contents