Blog
[the browser compiler runs a spec's constant asserts, not its function tests; 7 lesson-spec fixes wait on gHashTag/t27 PR 7496; no lesson claims a speed or a hardware result] A new course on the GoldenFloat family: one rule, E = round((N - 1) / phi^2), splits every width from GF4 to GF1024. 27 lessons in 9 modules of 3, each opening a table drawn from one spec and the spec itself.

Course 3 is GoldenFloat: one family of float formats from arXiv:2606.05017, where one rule picks the split for every width. Of the N - 1 bits after the sign, round((N - 1) / phi^2) go to the exponent and the rest to the mantissa. The family spec lists 17 widths, from GF4 to GF1024, and marks GF16 primary.
Each of the 27 lessons opens a black-and-white table drawn from one spec: the fields of one format, its bias and its distance from 1 / phi, or the values a test checks. Every number in a table is a constant or a test value of the spec the lesson opens, or arithmetic of them. Where a test writes its value in rather than computing it, as in gf_competitive.t27, the lesson says so. Where a comment and the code of a spec disagree, the lesson says which is which: in gf8.t27 a comment gives 15.5 as the largest value and the code computes 31.
The 27 lessons sit in 9 modules of 3: the rule and its numbers; why phi, why three; GF4 to GF8; ten to fourteen bits; GF16 at work; GF32 to GF64; GF96 to GF256; the widest rungs, then trits; more trits, then the decode. 7 lesson specs (phi_ratio, phi_split_optimality, radix_economy, gf8, gf12, gf24, gf32) did not compile clean in the browser compiler; each got the smallest change that makes it compile, and the same change is proposed upstream as gHashTag/t27 PR 7496.
| # | Lesson | Spec | Widget |
|---|---|---|---|
| 1 | A float cut by phi | numeric/goldenfloat_family.t27 | table |
| 2 | Phi as a ratio | numeric/phi_ratio.t27 | table |
| 3 | Lucas numbers stay whole | numeric/lucas_accumulator.t27 | table |
| 4 | Why the split is phi | math/phi_split_optimality.t27 | table |
| 5 | Why base three | math/radix_economy.t27 | table |
| 6 | Phi in sixteen bits | numeric/gf_competitive.t27 | table |
| 7 | GF4: four bits | numeric/gf4.t27 | table |
| 8 | GF6: six bits | numeric/gf6.t27 | table |
| 9 | GF8: one byte | numeric/gf8.t27 | table |
| 10 | GF10: ten bits | numeric/gf10.t27 | table |
| 11 | GF12: twelve bits | numeric/gf12.t27 | table |
| 12 | GF14: fourteen bits | numeric/gf14.t27 | table |
| 13 | GF16: the primary format | numeric/gf16.t27 | table |
| 14 | Two products, one sum | ternary/gft_dot2.t27 | table |
| 15 | GF20 and GF24 | numeric/gf24.t27 | table |
| 16 | GF32: a single | numeric/gf32.t27 | table |
| 17 | GF48: forty-eight bits | numeric/gf48.t27 | table |
| 18 | GF64: a double | numeric/gf64.t27 | table |
| 19 | GF96: ninety-six bits | numeric/gf96.t27 | table |
| 20 | GF128: a quad | numeric/gf128.t27 | table |
| 21 | GF256: two hundred fifty-six bits | numeric/gf256.t27 | table |
| 22 | GF512: five hundred twelve bits | numeric/gf512.t27 | table |
| 23 | GF1024: one kilobit | numeric/gf1024.t27 | table |
| 24 | GF-T8: an exponent in trits | numeric/gft8.t27 | table |
| 25 | GF-T16: six trits | numeric/gft16.t27 | table |
| 26 | GF-T32: twelve trits | numeric/gft32.t27 | table |
| 27 | Decode in one step | math/gf_competitive.t27 | table |
No lesson claims a speed, an accuracy on a model or a result on hardware. The decode lesson counts steps as the spec writes them, not a timing. Each format spec says its bias is an open question: it is chosen per format, not derived from the closed form.
Work with me
I work contract and part-time on hardware-AI, FPGA/RTL and ML systems — from specification and open toolchains to reproducible measurements.