SSM-AI – Appendix G — SSMH Acceleration Parity (G1–G3)

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*u and integer add for W += w.
  • ACC_UW: accumulators for U and W.
  • 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 (or RSI_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.254325cover at least [-7.5, +7.5].

Recommended fixed-point (lane-only):

  • 16-bit (low cost): Q4.12 for u, U/W, and w*u. Range [-8, +8) with step ≈ 2.44e-4.
  • 32-bit (comfort): Q6.26 for u, U/W, and w*u. Range [-32, +32) with step ≈ 1.49e-8.
  • Weights w: if uniform, w := 1 (integer). If w := |m|^gamma, quantize w to Q6.10 or Q8.8 depending 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