Any Destination, If You Write the Order

Five voters hold fixed ideal points in the plane. A voter strictly prefers the proposal strictly closer in Euclidean distance, an equidistant voter abstains, and one proposal beats another iff more voters prefer it. From the start pin, the page hunts a chain of majority-winning proposals that ends EXACTLY on the target pin, and separately composes that relation over a 1024 by 1024 grid to look for a central region that no opening winner can eliminate. For the default voters there is none: the 43,298 points that beat the start pin between them eliminate all 1,048,576 points of the grid, the start pin included, since anything that beats it beats it. Press Symmetric core and the whole grid survives instead, because there nothing beats the centre at all. Nothing, or everything, and no blob in between.

Every figure on this page is derived from the stated coordinates and the stated rule. Nothing is recalled from a table or a paper.

The instrument

Drag the pins and the voters, or select a pin and use the arrow keys. Blue circle: start. Orange cross: target. Yellow squares: voters. Blue wash: points that beat the centre. Red wash: points an opening winner beats. Green: survivors, points in neither wash. For the default voters there are none, so you will see no green until you press Symmetric core, where there is nothing but green.

path: waiting for the engine

The checks, run in your browser before any headline is shown

wasm hash: pending

battery: waiting for the engine

battery: waiting for the engine

control: waiting for the engine

planted core: not yet run; press the button

full-size decomposition: not yet run; press Run full grid

The reversed-preference control and the planted-core control are re-runnable with their buttons. The planted control doctors the DATA, not the code: the five ideal points become exactly radially symmetric, where a majority core provably exists, and the same unmodified search must report failure from the core rather than loop.

The result

pending
of grid points untouched after two rounds, at N = 1024
Zero is the answer, not a failure to compute one. The specification for this piece expected a small bounded blob here; there is no blob. Load the Symmetric core and run the full grid again, and this figure reads 100 per cent, because an empty win set eliminates nothing. Nothing, or everything. This figure describes the instance the last full run was launched with, so after you move a pin it is stale until you run it again.
heatmap: JavaScript reference at 64 per side until the engine arrives

What it cost

inner-loop steps counted by the engine: 0
full-run wall time: pending
workers: pending
cost factor: pending

Honesty

Two decompositions agreeing rules out a stripe-boundary error and very little else. Every check on this page, in the browser and offline, shares one majority predicate; a shared misreading of the tie rule or of what "reachable" means would pass all of them. Under exact radial symmetry the win set of the core must be EMPTY over all 1,048,576 points: that is Plott's condition, a theorem the grid code was never told, and it is the strongest check here.

The engine and the reference use no transcendental function at all: only sqrt, floor, ceil and popcount, each correctly rounded or exact under IEEE 754 in both wasm and JavaScript. The agreement between the two implementations is therefore a property of this page, not of which browser opened it; no platform Math whose rounding ECMA-262 leaves unspecified is consulted anywhere.

The byte-for-byte rebuild check is offline: your browser cannot compile C. It runs in research/any-destination-if-you-write-the-order/verify-any-destination-if-you-write-the-order.mjs, together with the whole-grid independent recount, the boundedness band, the cross-method recomposition and three negative controls.