Skip to content

Commit e75325e

Browse files
Overmindclaude
andcommitted
cm: add s1*s7 cross term at 0.003 — -1 byte Canterbury tier-2
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent ae105b7 commit e75325e

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

lib/cm/cm.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -881,8 +881,8 @@ static uint16_t cm_predict(cm_t *cm, uint32_t pos, int bp, float *str, uint16_t
881881
int cc8 = (cm->prev[0]>='a'&&cm->prev[0]<='z')?0:(cm->prev[0]>='A'&&cm->prev[0]<='Z')?1:(cm->prev[0]>='0'&&cm->prev[0]<='9')?2:3;
882882
int mx8_ctx = (cm->match.active?1:0)*256 + wl8_b*32 + bp*4 + cc8;
883883
float m8 = mixer_mix(&cm->mx8[mx8_ctx], str);
884-
float s4 = stretch(m4); float s1 = stretch(m1), s8 = stretch(m8); float s6 = stretch(m6); float s3 = stretch(m3);
885-
float cross = s1 * s8 * 0.006f + s4 * s8 * 0.003f + s1 * s6 * 0.004f + s3 * s8 * 0.004f;
884+
float s4 = stretch(m4); float s1 = stretch(m1), s8 = stretch(m8); float s6 = stretch(m6); float s3 = stretch(m3); float s7 = stretch(m7);
885+
float cross = s1 * s8 * 0.006f + s4 * s8 * 0.003f + s1 * s6 * 0.004f + s3 * s8 * 0.004f + s1 * s7 * 0.003f;
886886
float mixed = squash((s1*7 + stretch(m2) + stretch(m3) + s4*3 + stretch(m5) + stretch(m6)*4 + stretch(m7)*2 + s8*8 + cross) / 27.0f);
887887

888888
uint16_t mp = (uint16_t)(mixed * PROB_MAX);

0 commit comments

Comments
 (0)