# Session 47: A compact nonlinear multiplier still leaves the text too flat

The proposed exponential feedback family reaches a maximum decoded-rune frequency of **4.1837%** with one shared key, or **5.4288%** with separate keys in each section. Our solved LP1 reference peaks at **12.6472%**. Both constructed known-plaintext recovery controls succeed, but no real-text setting reaches the selected reference screen.

There is no new key or plaintext. This is an exact frequency result for one bounded nonlinear family, not an exclusion of all nonlinear ciphers or every possible English text. The reference threshold itself is not a calibrated language detector, as one control prefix demonstrates below.

## Rule and search space

In the standard 29-rune index order, the decoder is:

```text
P[i] = R + A * 2^((a*C[i-1] + b*C[i-2]) mod 28)
             * (C[i] - C[i-1])                 mod 29

a, b = 0..27
A    = 1..28
R    = 0..28
```

The exponent is reduced modulo 28; rune arithmetic is modulo 29. These are deliberately different moduli. This specified exponent convention treats context values 0 and 28 alike inside the exponent. It is a candidate chosen for a bounded test, not a formula found in Cicada's messages.

Powers of 2 visit every nonzero residue modulo 29. The context multiplier therefore never vanishes. For a fixed preceding pair, the current-rune map is invertible. In particular:

```text
C[i] = C[i-1]  if and only if  P[i] = R
```

A rare plaintext R would explain rare repeated ciphertext neighbors. The rule uses the preceding ciphertext, carries state across words and pages, and has no inserted nulls, skipped symbols or additional clock. The b=0 and a=b=0 cases are included as simpler members.

There are **636,608 parameter settings**. However, A and R merely permute the output histogram of the normalized expression. Exhausting **784 pairs (a,b)** therefore gives exact peak-frequency and histogram-entropy extrema for the entire family. A change to another primitive base would only reparameterize the exponent coefficients and supplies no additional histograms.

We exclude the first two runes of every section so the unknown initial state cannot influence the scored output. The scope remains the eight substantial sections, with 12,931 scored runes. The separate nine-rune segment is excluded.

## Frequency results

| Scope | Maximum decoded-rune frequency |
|---|---:|
| Fitting sections 0, 1, 2, 4, one shared key | 4.5363% |
| Other sections 5, 6, 7, 8, separately screened | 4.4880% |
| All eight sections, one shared key | 541 / 12,931 = **4.1837%** |
| All eight sections, independently chosen keys | 702 / 12,931 = **5.4288%** |
| Solved LP1 reference, same initial-rune exclusion | 247 / 1,953 = **12.6472%** |

The independently keyed bound is exact: each section can select its own maximizing normalized rule, then align its peak with a common plaintext rune using its own output shift. It still falls far below the reference concentration.

The minimum shared-key histogram entropy is **4.8302 bits per rune**, compared with **4.2612** in the solved reference. Lower histogram entropy indicates a more uneven rune distribution. These are empirical histogram quantities, not language entropy-rate estimates. The peak and entropy extrema need not use the same key.

| Section | Scored runes | Maximum count | Maximum frequency |
|---:|---:|---:|---:|
| 0 | 727 | 47 | 6.4649% |
| 1 | 1,143 | 67 | 5.8618% |
| 2 | 1,727 | 90 | 5.2113% |
| 4 | 1,892 | 105 | 5.5497% |
| 5 | 1,019 | 59 | 5.7900% |
| 6 | 1,522 | 87 | 5.7162% |
| 7 | 1,587 | 90 | 5.6711% |
| 8 | 3,314 | 157 | 4.7375% |

The chosen continuation gate required a setting capable of reaching the solved-reference peak on the fitting sections. Zero settings pass. Accordingly, no real-text key was selected, no candidate language ranking was performed, and no frozen-key continuation was attempted. The other-section bound above is an independent descriptive screen, not successful validation of a fitted key.

## What the controls establish, and what they do not

We encrypted two known rune streams: the concatenated decoded LP1 groups and decoded LP2 page 57. The planted keys `(a,b,A,R)` were `(7,11,5,14)` and `(20,6,19,14)` respectively.

For each control, the search used only the first half of the known plaintext and corresponding ciphertext. It enumerated all 784 exponent pairs, solved A and R from two unequal normalized values, and checked the entire prefix. Each yielded exactly its planted key. With parameters frozen, both remaining halves decoded exactly. Whole-stream round trips also passed.

This is **known-plaintext recovery on constructed controls**, not evidence that unknown plaintext can be recovered from the real pages.

There is also a threshold caveat: the genuine LP1 control prefix has a maximum frequency of **12.4617%**, slightly below the 12.6472% reference. A literal application of that threshold would reject it despite its known English origin. The second control prefix peaks at 17.7778%. Thus successful implementation controls do not validate the reference cutoff as a universal language test.

The real-data result remains an exact, much larger mismatch: the fitting-section maximum is only 4.5363%. Even an illustrative relaxation to 8% would admit no setting. That observation does not turn 8% into a calibrated threshold or establish that all English plaintext is impossible.

An independent five-symbol fixture exhausts all 320 full settings and compares them with the 16 normalized histograms. Maximum frequency and minimum entropy agree exactly. The screen also admits the true plaintext peak and entropy for both complete constructed controls.

## A sharper repeated-phrase constraint

The source transcription confirms the two previously audited occurrences:

| LP2 page | Rune offset | Preceding pair | Phrase |
|---:|---:|---|---|
| 27 | 28 | B F = 17, 0 | D J U · B E I |
| 55 | 70 | K X = 5, 14 | D J U · B E I |

Under one shared key, the last four plaintext runes must match, as in the broader two-rune-context family.

This particular exponential rule also constrains the second plaintext rune. At that position the preceding rune is D at both locations, while the older rune differs by 14. The two multipliers therefore differ by a factor of `2^(14*b) = (-1)^b mod 29`.

- If b is even, the second plaintext rune must match.
- If b is odd, the second plaintext runes must differ and sum to `2R mod 29`.

The current-minus-previous difference at that position is nonzero, so the odd-b case cannot collapse to equality. The code checks this identity for all 784 exponent pairs: 392 give second-rune equality, and 392 give reflection about R. Arbitrary nonzero A and any R preserve these relationships.

These are conditional predictions of this candidate family, not a translation of the phrase. Independent keys for the two sections remove the comparison.

## Decision

This compact exponential multiplier does not repair the broad frequency mismatch seen in earlier fixed arithmetic rules. No continuation search is justified by this screen. We retain the exact negative result and its phrase constraints without broadening it into a claim against every compact nonlinear state machine, alternative rune ordering or possible language.

## Evidence and reproduction

- [Reproduction code](/files/nonlinear_scale_audit.py)
- [All 784 histograms for every scope, extrema, controls and phrase checks](/files/nonlinear_scale_results.json)
- [Session 46: unrestricted context-table capacity](/sessions/46.html)
- [Session 39: fixed two-rune linear feedback](/sessions/39.html)

Run `python nonlinear_scale_audit.py` with NumPy and the companion notebook files. The output records transcription and script SHA-256 hashes. Page numbers and offsets are zero-based. The transcription is unchanged.
