The bench: four experiments that make the kernel falsifiable
Continuum MFG on one finite-difference kernel — a monotone upwind HJB operator and a
Fokker–Planck operator built as its exact discrete transpose. These four exist to test the kernel, not to
make a claim about the world.
Here the tab metaphor is honest: these are alternatives to each other, four probes of one
discretization. A benchmark with a known answer (02) fixes the observed order; a deliberately non-monotone regime
(03) shows the certificate degrading exactly where the theory says uniqueness fails; an explicit integrator (04)
stalls by design on a skew-dominated Jacobian. Failure modes are the point of this page.
01 · A crowd in one dimension
A population moves to a target through its own density — local aversion cost, or a genuine Lions congestion Hamiltonian — certified by exploitability, not fixed-point residual alone.
try
Fictitious play — convergence & ε-Nash certificate ‖m̃⁽ᵏ⁾−m̄⁽ᵏ⁾‖∞/‖m‖∞ and exploitability, log scale
idle — press Solve equilibrium
iteration
—
residual m
—
exploitability ε
—
residual u (sup)
—
mass drift
—
min m
—
grid nx×nt
—
Amber: density residual. Thin oxblood: value residual. exploitability ε = ∫(Vπ−uBR)(·,0)m₀ — the gain the best deviator can realize; measured every 10 iterations. marks ε < 0, which occurs when the best-response solve and the frozen policy evaluation differ only at rounding scale (observed occasionally in spot checks, at rounding scale (order 1e−10)): the sign carries no economic meaning there and is reported rather than clipped. ε = 0 exactly at the discrete fixed point by construction.
Density m(x,t) forward ▸ space–time
x horizontal, time flowing upward. With crowd interaction on, the density flattens and staggers its arrival before the jam forms — anticipation is the signature of the game.
Value u(x,t) ◂ backward space–time
Solved from the terminal condition backward. The optimal drift is −∂xu/g; the crowd raises u exactly where it is going to be.
Equilibrium vs. crowd-blind flow animated in t
The dashed curve solves the same system with all crowd interaction off — agents who ignore each other. The gap between solid and dashed is exactly what game-theoretic coupling adds.
equilibrium m(·,t) crowd-blind m(·,t) value u(·,t), right axis
02 · The LQ control experiment
Quadratic structure collapses this MFG to a small Riccati system; the PDE solver doesn't know that. Its error against the RK4 reference is measured on a grid sequence — slope −1 is the pass condition.
running cost ½α² + ½q(x − s(t))², s(t) = xc + ρ(m̄(t) − xc)mean-field via the mean
u = ½A(t)x² + B(t)x + C(t): A′ = A² − q, B′ = AB + qs, m̄′ = −(Am̄ + B)Riccati reduction
Grid-refinement study PDE solver vs. Riccati reference (RK4, Δt = 5·10⁻⁵)
idle — the LQ structure collapses the MFG to four ODEs; the PDE solver doesn't know that. Press Run to measure its error.
u measured on the core x∈[0.15,0.85] to exclude the artificial boundary layer of the reflecting walls (the analytic problem lives on ℝ). nt = 2nx throughout; monotone upwind + implicit Euler is a first-order scheme, so slope −1 is the pass condition.
Solution overlay — finest grid numeric vs. analytic
Teal: density m(·,T), computed (solid) vs. Gaussian N(m̄(T), v(T)) from the variance ODE (dashed). Oxblood: value u(·,0), computed vs. ½A(0)x²+B(0)x+C(0). Agreement here means the discrete forward-backward coupling reproduces the exact mean-field interaction through the mean.
03 · Two exits, one pitchfork
Crowd aversion splits the crowd evenly, with a full certificate. Herding is anti-monotone: sweep the coupling with both tilt signs and trace the symmetry breaking yourself — one solve deposits one point.
ε is computed once at termination (one policy-evaluation plus one best-response solve). ε here is iteration-limited, not grid-limited. Measured on the 1D kernel: at a fixed iteration tolerance the residual stalls near 1e−6 on every grid, so refining h and Δt does not drive ε down in any stable way — the apparent slope across four grids ranges from −1.9 to 2.6 depending on the parameter set, which is a sign that ε is dominated by iteration error rather than discretization. Against that, |ε|/(h+Δt) is of order 5e−9, so a naive O(h+Δt) bound sits some nine orders above the measured ε and certifies nothing. Across 51 parameter corners |ε|/residual spans ~2400×, so no calibrated absolute floor is defensible either. The convergence theory for fully-discrete MFG schemes (Bonnans–Liu–Pfeiffer, ESAIM M2AN 2023) supplies rates of the form C·hr with r<1 tied to solution regularity, but never evaluates C — and it is proved for a centered scheme, not the upwind kernel used here. So no absolute floor is available to us from theory either. We therefore report ε beside the residual that limits it: when the residual stalls at the herding plateau while ε stays orders below it, the iteration is orbiting a genuine equilibrium rather than diverging from one. Note that ε measures exploitability at the discrete fixed point; it is not the distance to the continuous MFG solution that those rate theorems bound.
Density m(x,y,t) animated in t
The crowd starts left of center; E₁ and E₂ are the exits. Under crowd aversion it splits evenly. Switch to herding and the split becomes unstable — the tilt sign selects which exit wins.
Bifurcation diagram assembled from your solves
Each completed solve deposits one point: coupling strength c vs. exit asymmetry at time T. Under aversion all points sit on zero. Under herding, sweep c from 0 upward with both tilt signs and the pitchfork appears — symmetric below c* ≈ 0.4 (with a full 1e−6 certificate), broken above it.
04 · The stationary system, solved by flow
The ergodic MFG integrated by the crossed monotone flow of Almulla–Ferreira–Gomes — proximal-implicit, because the explicit toggle stalls, and it should: the flow's Jacobian is skew-dominated.
The flux certificate is maxi|Fi+½| of the scheme's own discrete Fokker–Planck flux: stationarity with reflecting walls forces it to vanish identically, so machine zero here is a structural receipt, not a tolerance. Try the explicit integrator to feel why it exists: the flow's Jacobian is skew-dominated (νΔ and transport enter antisymmetrically), and explicit Euler expands on skew systems at any step size.
Stationary solution m teal · u oxblood · V shaded
Density piles into the wells of V(x) until crowd cost balances potential gain. In aversion mode the dashed curve is the Gibbs measure e−u/ν/Z — an exact structural identity of the continuum solution, reproduced here to O(h).
m(x) Gibbs e−u/ν/Z (aversion mode) u(x), right axisshaded: potential V(x)
A price that clears a market of storage agents, with the imbalance itself as the convergence criterion
Model: Gomes & Saúde, A mean-field game approach to price formation — the balance
condition determines the price as a Lagrange multiplier. Skin: a fleet of batteries choosing when to charge.
REPRODUCED · model structureCERTIFIED · clearing residual ≤ 1e−9PRE-UPDATE · residual measured before the step it judges
The price is not a parameter here; it is the multiplier that makes supply meet demand at every
instant. That makes the certificate unusually clean: the fixed-point residual of the clearing map IS the market
imbalance. There is no separate tolerance to argue about — either the market clears or the number on screen
says it does not. The iteration is Anderson-accelerated on the clearing map, and the residual displayed is computed
before the update it judges, so it cannot be made small by the very step it is measuring.
The economic content is the second panel. A greedy tariff — every agent charging whenever
the price is momentarily low — is the policy most people expect to be efficient. It is not: it rebounds, creating a
new peak where the cheap window was. The page measures the rebound rather than asserting it (+44% on the base
configuration, +81% on the overnight-wind preset), and both numbers move when you move the sliders.
05 · Price formation, in a battery fleet
The Gomes–Saúde clearing price against a posted time-of-use tariff on the same overnight window — the synchronized rebound is the exhibit, and the clearing residual is the convergence criterion.
−∂tu − ν∂xxu + ½(∂xu + ϖ(t))² = 0, u(·,T) = κ(x−x*)²◂ backward · x = state of charge
∂tm − ν∂xxm − ∂x(m·(∂xu+ϖ)) = 0forward ▸
∫α*m dx = Q(t) ⇒ ϖ(t) = −Q(t) − ∫∂xu·m dxmarket clearing · price is the multiplier
try
Market clearing — certificate maxt|D(t)−Q(t)|, Anderson-accelerated fixed point on ϖ
idle — press Solve equilibrium
iteration
—
clearing residual
—
exploitability ε
—
greedy rebound
—
mass drift
—
min m
—
The clearing residual and the fixed-point residual are the same number — an algebraic identity of the quadratic-cost model — so “the market clears to 1e−9” is the convergence criterion. exploitability against the realized price, measured every 25 iterations; machine-level at convergence.
Fleet demand vs. grid supply the rebound exhibit
Shaded: residual supply Q(t) — scarce during the evening peak, abundant under overnight wind. Dashed oxblood: demand under the posted time-of-use tariff — every battery sees the same cheap window and piles in, overshooting supply. Teal: equilibrium demand under the market-clearing price — it hugs the supply curve to the width of the line.
equilibrium demand D(t) greedy demand under posted TOUshaded: supply Q(t)
Price paths ϖ(t) · arbitrary units
Gray dashed: the posted TOU tariff (volume-calibrated by bisection — the utility forecasts total demand perfectly). Amber: the equilibrium clearing price, which anticipates the crowd’s reaction. Negative prices under a wind glut are real — the duck curve, priced.
Fleet state of charge m(x,t) forward ▸ space–time
SoC horizontal, night flowing upward, 20:00 → 08:00. The fleet climbs from 30% toward the 85% morning target — staggered by the price, not by a timer.
What this does not show
The units are dimensionless demo units, not a market. Nothing here is calibrated to a real tariff,
a real fleet, or a real grid, and no number on this page should ever be quoted as one.
The iteration reaches 1e−9 in 37–180 iterations on 12 of 16 slider corners; the other four hit the
200-iteration cap first — cap-limited slow tails at residuals 8.6e−9–1.1e−7, not hard stalls — and the status
line says so. That range is re-measured from this page by its battery on every run, after two earlier prose
ranges (one remembered, one from a superseded ad-hoc sweep) each proved wrong — see the
failure log.
This tab's kernel has a dedicated headless battery (mfg-lab/tests/test-mpr.js · 26 checks, inside
make check): it extracts the kernel from this page at run time, requires the recorded clearing residual
to equal an independent pre-update recomputation bit-for-bit at every iteration, and re-measures the corner
sweep — it converges on 12 corners
(worst clearing residual 9.0e−10, 37–180 iterations); the other four hit the 200-iteration cap with residuals
between 8.6e−9 and 1.1e−7 — against the prose above. Interior presets between the corners land inside the
corner range here (one reaches ~100 iterations).
Make the resource finite, and the price acquires a second component — the water value, a martingale between
the moments the stock binds.
The previous page's price is a multiplier on instantaneous clearing. Add a scarce stock —
a reservoir — and the multiplier gains an intertemporal part. This is where the reproduction ends and my own work
begins; the full note is Price formation with a stock constraint.
PROVED · discrete time, by LP dualityCERTIFIED · zero duality gapOPEN · the continuum statement
On a finite scenario tree the problem is a linear program, so KKT holds with no constraint
qualification and duality is exact. Let w be the multiplier on a node's water balance. Then stationarity in the
release gives the Hotelling trichotomy of price against w; stationarity in the carried stock gives
wn = E[wchild | n] at every node whose stock is interior, stepping down across a
full reservoir and up across an empty one. That is the theorem: the water value is a martingale between
stock-binding events, and it is proved by nothing deeper than LP duality.
The panel below solves the tree exactly — piecewise-linear concave value functions, every
breakpoint tracked — and then certifies rather than trusts the answer: primal feasibility, the trichotomy,
the dual wedge signs and complementary slackness, and a zero duality gap together prove optimality of the
returned primal–dual pair. Only then is the martingale identity read off the certified dual. Move any control and
watch which nodes leave the interior: those are exactly the nodes where the martingale is allowed to break.
The water value on a scenario tree — solved exactly, certified by duality
Price-taking hydro on a finite tree: release h ∈ [0, h̄] against price ϖ, spill s ≥ 0, carry stock
R′ ∈ [0, R̄], linear salvage φR′ at the leaves. The solver is a guess; the certificate is the proof.
max Σ pnϖnhn + Σleaves plφR′lfinite LP · KKT needs no CQ
ϖn vs wn ⇒ h ∈ {0, interior, h̄}Hotelling trichotomy
wn = E[wchild|n] + α̃n − β̃nmartingale off the binding set
try
Certificates optimality proved, then the theorem read off the dual
duality gap (rel)
—
martingale residual
—
trichotomy violations
—
binding / total nodes
—
certified revenue
—
The duality gap is the load-bearing number: primal revenue minus the dual objective built from
the same multipliers. Zero gap proves the returned pair is optimal — no tolerance, no convergence argument. The
martingale residual is then max |wn − E[wchild|n]| over interior nodes only, because
the theorem makes no claim at nodes where the stock binds; the display says how many nodes are excluded so the
certificate cannot be flattered by excluding most of them. Lineage, plainly: water values and their martingale
behaviour are classical in hydro scheduling (the SDDP / Pereira–Pinto line) and in commodity-storage economics.
What is mine is the precise tree-LP statement, its one-page duality proof, and this certificate.
The tree, coloured by regime amber = interior, where the martingale must hold
Each node is drawn at its depth with its water value w. Amber: stock interior — w equals
the probability-weighted average of its children, to machine precision. Oxblood: reservoir full, the value
steps down. Teal: reservoir empty, it steps up. Edge width is conditional probability. The theorem is the
picture: colour tells you exactly where the identity is permitted to break.
What this does not show
The continuum version is open, and is stated as open. What is proved here is the discrete-time
statement on a finite tree. The continuum form — reflected FBSDE well-posedness through the mean-field
coupling — is a conjecture in the note, not a result, and nothing on this page should be read as evidence
for it.
Units are dimensionless, as everywhere in this lab. The real-data work — five years of Brazilian
hourly prices against the flat-window prediction — lives in the note, where it is labelled consistency,
not a test, for a reason worth reading: the published price is the administered output of the official
dispatch model, whose hydro-marginal value is a constructed water value, so the agreement partly
reflects the price's own construction rather than an independent market fact.
One weak check is flagged as weak. The tree's revenue-dominance test compares against random
feasible policies, which is a weak null; there is no local-optimality witness for the tree yet. The
deterministic case has one; the tree does not, and the note says so.
kernel sin-mfg/tools/water_value_tree.js — embedded verbatim in this page, byte-identity gated gate mfg-lab/tests/test-water-value-diff.js — the two copies cannot drift battery sin-mfg/tests/test-water-value.js — 120-tree random sweep, every instance certified full notePrice formation with a stock constraint — the model, the proofs, the data study
Common noise, integrated pathwise — and a balance relation that holds along every realization
Gomes, Gutierrez & Ribeiro, Random supply and price formation (arXiv:2003.01945), §4,
followed verbatim: RK4 for the coefficient ODEs, Euler–Maruyama for the common-noise path.
Along every noise realization the combination ϖ + Π + cQ stays constant to
~5e−15 — not at the end of the solve, but at every step of every path. The mean reverts to the closed form
ϖ̄ = −3+2α, which is an independent check against algebra rather than against another run of the same code.
The seed is printed in the status line and can be typed into the box, so any figure on this page is a
reproducibility receipt rather than an illustration.
06 · Random supply — GGR 2021, verbatim
Section 4 of Gomes–Gutierrez–Ribeiro, A mean field game price model with noise: explicit coefficients, common noise, and a pathwise clearing invariant conserved to machine precision — reproducible by seed.
Pathwise certificates exact along every noise realization
initial price ϖ̄
—
closed form
—
clearing invariant
—
mean-agent clearing
—
corr(Q, ϖ)
—
The invariant ϖ + Π + cQ is conserved to machine precision under Euler–Maruyama — the paper's balance condition as a discrete conservation law. The mean-agent residual is the independent check: 2000 virtual agents trade at v* = −(ϖ+ux)/c and their average matches Q to O(Δt). The initial price obeys ϖ̄ = −3 + 2α exactly in this benchmark — formula (3.7) collapses because a₂³(0) = −⅔. To be exact about whose result this is: ϖ+Π+cQ = 0 is the paper's balance condition (§3.1, Qt = −(1/c)(ϖt+Πt)) — an identity in t, not a conservation law found here. What is ours is the certificate: the scheme carries that clearing constraint pathwise to ~5e−15 on every noise draw, and it is knife-edge — deform the price loading by ε and it breaks at O(ε), while the wrong ray (c₁ = 1.5) drifts at 3.1e−1. Demanding pathwise cancellation of drift and noise in c₀ϖ+c₁Π+c₂Q does force (c₀,c₁,c₂) ∝ (1,1,c), so the ray is unique within constant-coefficient linear functionals; the battery (test-invariant.js) verifies that, it does not derive it.
Supply vs. price paths reproduces Fig. 1 of Gomes–Gutierrez–Ribeiro (2021) on a fresh noise draw
Teal: one realization of the mean-reverting supply. Oxblood, light to dark: the non-anticipative clearing price for the paper's four storage targets α = 0, 0.1, 0.25, 0.5 — same common noise, price anti-correlated with supply, and higher targets bid the whole curve up. Amber: your α.
ODE coefficients the Riccati layer
a₂¹ = 1/(1+2(T−t)) (their explicit solution), a₂², a₂³ from the linear system, and the price-volatility loading (c+a₂²)/(1+a₂³) — the time-dependence they highlight in Section 4.
Agent holdings Xt40 sampled agents · common noise
Spaghetti: agents drawn from m̄ = N(0,1) following the optimal feedback. Dark line: the population mean — which climbs by exactly the cumulative supply, because the market clears.
What this does not show
An honest narrowing, twice. This was written up here as though the conserved quantity were ours. It is
not: the relation is the paper's own §3.1 balance condition. Everything downstream — the pathwise
certification, the mutation tests, the wrong-ray falsifier that drifts 3.1e−1 — is real work and stays; the
framing was wrong and was corrected. One fetch of the source paper would have caught it three sessions earlier,
which is why "read the source before claiming an identity" is now a rule with a place in the failure log.
The uniqueness statement is within the linear ansatz the paper works in — the wrong-ray falsifier shows
the certificate going red off that ray, which is a check of our integrator, not a theorem about the model.
A multi-population Wardrop equilibrium, reproduced live, certified at machine zero — and proved.
Bakaryan, Aoun, de Lima Ribeiro, Hovakimyan & Gomes, Hessian Riemannian Flow for
Multi-Population Wardrop Equilibrium (arXiv:2504.16028). Fig. 1a network, Table I edge order, all three
scenarios. Related: Al Saleh, Bakaryan, Gomes & de Lima Ribeiro, First-order mean-field games on networks and
Wardrop equilibrium, Portugaliae Math. 81 (2024).
REPRODUCED · Table I within its roundingCERTIFIED · relative gap < 1e−16PROVED · S2 exact · S3 enclosedFALSIFIED · S1 refuses, by design
The flow below is the paper's: a Hessian–Riemannian flow with h = Σϑ·log ϑ, which
makes the dynamics replicator-type. Two structural consequences do the work. Kirchhoff conservation is an
algebraic identity of the dynamics — Krϑ̇r = 0, so mass balance holds to ~1e−14
along the entire trajectory rather than being restored by projection — and positivity is kept by the metric
rather than by clipping. Time stepping is RK4 under a merit rule, and once the flow has identified the support an
active-set Newton polish lands the KKT system at machine zero.
The certificate on screen is Wardrop's own 1952 principle turned into a readout: with Bellman
potentials φ computed from current costs, the relative gap Σϑk(ck+φv−φu) / Σϑc
is non-negative and vanishes exactly when every used route is a shortest route. It is not a tolerance we
chose; it is the equilibrium condition itself, evaluated.
07 · Multi-population Wardrop, by Hessian–Riemannian flow
Bakaryan–Aoun–de Lima Ribeiro–Hovakimyan–Gomes (2025): two populations route through one road network. The flow keeps Kirchhoff and positivity by geometry; an active-set Newton polish lands the Wardrop certificate at machine zero.
ϑ̇ = −H(ϑ)⁻¹ F(ϑ) c(ϑ) (HRF, h = Σ ϑ log ϑ — replicator-type, interior by the metric)
try
Hessian–Riemannian flow → active-set Newton polish certificates
idle — press Run flow
flow step—
rel. Wardrop gap—
Kirchhoff max|Kϑ−B|—
min ϑ on support—
cost per unit · pop 1—
cost per unit · pop 2—
Table I max deviation—
vs previous start · Δtotals / Δsplit—
pre-projection |Kϑ−B| per step · PG vs flow—
rel. Wardrop gap — HRF (log) projected gradient, η = 0.4 (comparison) polish tolerance 1e−10
The network Fig. 1a topology · Table I edge order
population 1 · enters node 1 population 2 · enters node 9 exits 8, 10
Per-edge flows ticks: published Table I totals
population 1 population 2 (stacked) Table I total (scenario 1)
From a certificate to a proof new
Everything above is floating point. A relative gap of 7.9e−16 is evidence that we are at an
equilibrium; it is not a proof, because it is a measurement taken in an arithmetic that rounds. So the same
equilibrium was re-derived twice more, in arithmetic that does not round, by a headless battery that extracts this
page's kernel at run time rather than validating a copy of it.
Scenario 2 is solved exactly. Its costs are affine, so the support-KKT system — 38 unknowns:
the flows on used edges and the node potentials — is linear with dyadic-rational data. It is solved over BigInt
fractions: the residual is identically zero, not small; support positivity and every off-support slack are
then decided by exact comparison rather than against a tolerance.
Scenario 3 is enclosed. Its speed–flow relation is a rational function with a cubic, so the
KKT system is genuinely nonlinear and exact solution is not available. Instead a Krawczyk operator in
outward-rounded interval arithmetic proves that a solution exists and is locally unique inside an explicit box
of radius 7.3e−13 around the computed point, with support positivity and strict complementarity verified over the
entire box — not at a point. That is the step from "our solver stopped here" to "the equilibrium is in here."
Scenario 1 refuses, and the battery demands that it refuse. Its cost c = j¹+j² is
monotone but not strictly monotone across populations, so the split direction lies in the null space of the
KKT Jacobian and no enclosure can be contracted. A verifier that reported success there would be broken, so the
check asserts the failure. The totals are still unique — that part is certified — and the split genuinely is not.
What trying to prove it found
Building the interval leg first is what turned up something about the benchmark itself: in Scenario 2,
population 2's unused edge (4,5) carries a slack of exactly zero. There is an unused route that is exactly
as short as the used ones — weak complementarity, not strict. Interval arithmetic returned −1.6e−12 for
that slack and could not decide the sign, because no interval method can ever decide a tie; exact rational
arithmetic decides it immediately. This is a property of the instance, not an error in the paper — but it is the
kind of thing that is invisible to any amount of floating-point measurement, and it is the reason S2's
certificate here is exact rather than enclosed.
What "proved" does and does not mean here
Existence is not the news. Existence of an equilibrium for a monotone problem on a compact polyhedron
is classical (Hartman–Stampacchia). What the enclosure adds is location and local uniqueness: a specific
box, with a specific radius, containing exactly one solution.
Global uniqueness for S2 is the paper's Theorem 4, cited here and not claimed as ours.
The methods are standard and the citations are owed. Krawczyk operators, verified complementarity
(Alefeld and co-authors), interval computation of Nash equilibria (Kubica & Woźniak), certified zeros of
polynomial systems (Breiding, Rose & Timme), and exact Wardrop equilibria for piecewise-linear costs
(Klimm & Warode, SODA 2019) all predate this. What appears to be unclaimed is the instance: a
multi-population network equilibrium with smooth nonlinear costs, which is not a gradient problem, certified
together with its active set.
Provenance. The numbers in this section are measured by the headless battery, not computed in your
browser — they are labelled as such rather than being displayed beside the live readouts, because a number
that is not being recomputed in front of you is a different kind of claim.
battery mfg-lab/tests/test-wardrop-interval.js · 15 checks, 5 falsifiers, inside make check kernel extracted from the validated kernel at run time; sha256 printed on every run S2 exact rational · 38 unknowns · residual ≡ 0 · interval cross-check radius 2.6e−12 S3 Krawczyk enclosure · 38 unknowns · max radius 7.3e−13 · min off-support slack 0.33 S1 refuses to certify — asserted as a required failure rigor outward-rounded intervals, validated against exact BigInt rationals on 8000 random operations falsifiers skipped rounding · corrupted derivative · wrong active set · wrong cost model · corrupted inflow
What this page does not show
Scenario 3 follows §V-C's cost structure — the speed–flow relation, the paper's emission table, trucks at 3× —
but on the Fig. 1a graph with illustrative edge lengths, because the Fig. 3a lengths are not given in the
text. It is therefore "in the style of," not a reproduction, and would become one if those lengths were
available.
Table I is the integer-rounded output of the authors' own run. Our totals agree within that rounding
(max deviation 1.57 on flows of ~100) while carrying a machine-zero certificate. One row, edge (4,7), lists
components summing to 52 against a total of 54; ours is 52. That is a rounding or typesetting artifact in
a published table, which is a normal thing to find and is stated here as such.