Generator

The tree an error budget opens, against a rectangle that does not move

Rendered here at the parameters it defaults to, with every essay that calls it — which is the same list as the blast radius of changing it.
The tree an error budget opens, against a rectangle that does not moveA pattern of 16 characters over 4 symbols in 3,000 characters. The rising line is the interval extensions the walk performs, multiplying by 17, 13, 10 for each error added; the flat line is the whole dynamic-programming table, which costs 48,000 cells whatever k is because k only decides which of the filled cells count as answers. They do not cross inside this range. The vertical axis is logarithmic.10010³10⁴errors allowed, kacts0123index walkthe whole table3,000 characters · m = 16 · 4 symbolsno crossing in range

The tree an error budget opens, against a rectangle that does not move

A pattern of 16 characters over 4 symbols in 3,000 characters. The rising line is the interval extensions the walk performs, multiplying by 17, 13, 10 for each error added; the flat line is the whole dynamic-programming table, which costs 48,000 cells whatever k is because k only decides which of the filled cells count as answers. They do not cross inside this range. The vertical axis is logarithmic.

Drawn at 700 × 430, wide on the page. Everything above is what error-budget returns with no arguments; the caption is the generator's own, computed from the numbers in the drawing rather than written beside it.

7 essays call error-budget. The drawing above is what it returns with no arguments at all; every call below passes it something, because a placement that passes nothing draws whichever member of the family the generator happens to default to rather than the one its essay argues about — which is what optcheck and figfill exist to catch.

Where it is called

Changing this generator changes every one of these figures.

10010³10⁴10⁵errors allowed, kacts01234index walkthe whole table4,000 characters · m = 16 · 4 symbolscrossing at k = 4 What a bound is

The branches an error opens

10010³10⁴errors allowed, kacts0123index walkthe whole table3,000 characters · m = 20 · 4 symbolsno crossing in range The index that replaces the text

The search that spends a budget

010010³10⁴interval extensions48.1%68.5%69.8%errors allowed · share removed belowno pruningpruned on D4,000 characters · m = 1669.8% removed at k = 3 What a bound is

The branch that cannot reach an answer

atgaattcatgagtgacaag00000111111112222222errorsthe pattern, left to right · D belowleast errors neededD, the bound4 symbols · m = 2090 ranks · 2 resets The data that is not a number

The errors the rest of the pattern needs

ranks to compute D72extensions removed27,906extensions remaining12,051one search · k = 3 · 4,000 charactersand one more index: 17,033 bits4,000 characters · m = 16388 extensions a rank The other axis

A bound that has to be paid for

the whole table60,00060,000r · 0rkcounting filter24,84315,369r · 0rkseed filter17,7452,415r · 1,377rkindex walk00r · 177,046rkn = 3,000 · m = 20 · q = 4cells drawn · r = characters read, rk = index rankscells computed6 occurrences What is taught wrongly

Three savings in three currencies

atgaattcatgagtgacaag00000111111112222222errorsthe pattern, left to right · D belowleast errors neededD, the bound4 symbols · m = 2090 ranks · 2 resets What is taught wrongly

The pruning that loses an occurrence

The library, page 2 of 5 — where error-budget sits