n = 88 open ★=

48150≤s(88)≤49440765268792950000000000000

The best packing known for 88 squares, side 9.88815305…, David Ellsworth 2024
9.6209.888
91011
9.38110.381
nn+1

Proven

9.620000≤s(88)≤9.888154

  • new result
  • exact

Citation record n-088

lowerwand125 after Tokoharu, Levy et al. 2026, GitHub (confirmed T-091)

upperEllsworth 2024, Squares in Squares (confirmed T-101)

Open

  • optimality

Bounds

Best known packing

9.88815305…

9.88815305375857
Found by
David Ellsworth 2024
Construction
hand
Source
[Kingbird]
Evidence
E-kingbird-upper-register
Minimal polynomial, degree 20

254016s20−43279488s19+3506260608s18−179642577984s17+6530192527760s16−179088304328704s15+3846118270819200s14−66261902137415296s13+930479746642904384s12−10759858027891736896s11+103070340120029179008s10−819709665351861223904s9+5405590814889373243192s8−29412949608198679086720s7+130831566348158107359392s6−468664620024162429231904s5+1321046745485882223459068s4−2825402176181244872057384s3+4315682289270565775115128s2−4199847844458434080013540s+1959329723251932809573425=0

Verified upper bound

49440765268792950000000000000

9.88815305375858

The reported value, verified here.

Evidence
E-evand-exact-ceilings-2026-10-05-exact-replay, E-evand-exact-ceilings-2026-10-05-source-replay
Reported lower bound

48150

Proved by
wand125 2026
Kind
counting
Scope
Unrestricted unit-square packing with independent rotations and disjoint interiors.
Note
wand125's square-packing-bounds (4 October 2026) reports s(88)≥481/50 from a density of 562 uniform rectangles of total mass 8799999/100000, at core side 9977/10000 on 201 net half-angles, accepted there at every angle by its research copy of Tokoharu's verify.cpp at threshold one. It is above the 769/80 of the source's mixed_n88_L96125 of earlier that day (T-090). sqverify-fast decided it here on 5 October 2026 at all 201 net directions.
Source
[wand125 mixed bounds evening 2026-10-04]
Evidence
E-n088-wand125-mixed-962-report
Verified lower bound

48150

The reported value, verified here.

Evidence
E-n088-wand125-mixed-962-sqverify-fast-replay
Gap

0.26815305…

Verified upper minus verified lower.

Results in the register

Verification

upper: replayed here; lower: replayed here

—

Rigidity

not rigid, numerically checked, numerical multiprecision

Evidence: E-translation-escape-not-rigid

Scope

Square 67 of the retained witness (witness id 68) translates 0.170252 along (0.707107, -0.707107) with the packing still valid, so the configuration admits a non-trivial feasible motion; 7 of its 88 squares do. Every constraint is exactly affine in the slide parameter, so the arithmetic carries no linearization error, but the coordinates are the witness's own finite-precision transcription: this settles the retained configuration, not the true optimum. Rigidity and optimality are independent, and this bears only on the former.

s(88) — open

Exact certificate, 2026-10-06. Evan Daniel’s square-packing published on 5 October 2026 an exact rational certificate of this packing, decided here over ℚ by two exact checkers that share no code with each other or with the source, and by the source’s own two run here: it proves s(88)≤9.88815305375858, the verified upper bound (T-101). Until then the verified upper bound was the trivial grid bound 10.

External intake, 2026-10-05 (evening certificates). wand125’s mixed-certificate source reports s(88)≥481/50=9.62 (T-091), from a density of 562 rectangles of total mass 8799999/100000<88, accepted there at every net angle by its research copy of Tokoharu’s checker at threshold one. It is above the source’s 769/80 of earlier that day, by 0.0075. It supersedes the source’s mixed_n88_L96125 of earlier that day (T-090). sqverify-fast, this repository’s clean-room verifier, decided it here on 5 October 2026 at all 201 net directions, so it is also the verified lower bound: confirmed, independently re-implemented. wand125’s README says parts of the work were produced with AI assistance under human direction.

External intake, 2026-10-05 (morning certificates). wand125’s mixed-certificate source reports the mixed certificate mixed_n88_L96125 at side 769/80=9.6125 (T-090), since superseded (T-091), from a density of 502 rectangles of total mass 8799999/100000<88, accepted there at every net angle by its research copy of Tokoharu’s checker at threshold one. It is above the 48/5 this case reported, by 0.0125. It supersedes the source’s mixed_n88_L960. sqverify-fast, this repository’s clean-room verifier, decided it here on 6 October 2026 at all 201 net directions: confirmed, independently re-implemented. The verified lower bound is unchanged, the certificate above being higher. wand125’s README says parts of the work were produced with AI assistance under human direction.

External intake, 2026-10-03. wand125’s mixed-certificate source reports the mixed certificate mixed_n88_L960 at side 48/5=9.6 (T-082), since superseded (T-090), from a density of 443 rectangles of total mass 8799999/100000<88, accepted there at every net angle by its research copy of Tokoharu’s checker at threshold one. It is above the 237/25 this case reported, by 0.12. sqverify-fast, this repository’s clean-room verifier, decided it here on 6 October 2026 at all 201 net directions: confirmed, independently re-implemented. The verified lower bound is unchanged, the certificate above being higher. wand125’s README says parts of the work were produced with AI assistance under human direction.

Reported from n=87, 2026-10-02 (afternoon). wand125’s mixed-certificate source reports s(87)≥237/25=9.48 (T-075), from a density of total mass 8699999/100000<88. It is above this count’s own certificates, and a packing of 88 squares contains one of 87, so it gave s(88)≥237/25=9.48 by monotonicity, the reported lower bound until the intakes above. Its complete replay here on 3 October 2026 returned the certificate’s own record at all 201 directions, so it was also the verified lower bound here until 5 October. wand125’s README says parts of the work were produced with AI assistance under human direction.

External intake, 2026-10-01. wand125’s rectangle-density source reports a direct 3791/400=9.4775 certificate for this case, whose bound the 2026-10-02 afternoon intake above raises, with total mass 8799/100=87.99<88, accepted by Tokoharu’s unchanged interval checker. The complete 201-direction coverage replay here accepted it again, after this repository’s exact audit checked that the regenerated checker input is the published one and checked the mass and net premises, so it was also the verified lower bound until the 2026-10-02 afternoon intake above. wand125’s README says parts of the work were produced with AI assistance under human direction.

External intake, 2026-09-28. wand125’s rectangle-density source reports a direct 189/20=9.45 certificate for this case, whose reported bound the 2026-10-01 intake above raises, with total mass 8799/100=87.99<88, accepted by Tokoharu’s unchanged interval checker. This repository’s exact audit checks that the regenerated checker input is the published one, and checks the mass and net premises; the complete coverage replay has not yet run here, so the verified lower bound is unchanged. wand125’s README says parts of the work were produced with AI assistance under human direction.

Open. The best known packing gives s(88)≤9.88815306, and the verified lower bound is s(88)≥481/50=9.62, from wand125’s mixed rectangle-density certificate of 4 October, leaving a gap of 0.2682.

The exact certificate

Evan Daniel’s square-packing published on 5 October 2026 exact rational certificates of the packings this register lists as best known, solved from its own witnesses, and offered those that do not lower a printed side as a replay of the existing bounds, asking for nothing to be registered from them. The certificate for this count holds the same 88 squares, each a rational centre and a rational t=tan(θ/2), in a square of side 9.8881530537585723829…, 2.4×10−15 above the side the Kingbird catalogue prints, 9.88815305375857. Square for square, its pose lies within 4.5×10−16 of the binary64 pose the atlas pictures for this count. Evan Daniel’s solver moves the binary64 pose to a nearby exact KKT point of the problem of minimizing the side under non-overlap, computed at 80 digits, and rounds it outward to rationals.

This repository decides the certificate exactly. Converted without rounding, every pair and every wall is decided over ℚ twice, by sqpack’s exact separating-axis test and by an independent checker that shares no code with it, and the source’s own two checkers, run here as retained, accept it as well (receipts). That proves s(88)≤9.88815305375858, the verified upper bound: the certificate’s side rounded up at the fourteen decimals the catalogue prints, as the record writes any certificate of a printed side. It says nothing about optimality. On jlevy/squares#375 its author wrote that the solver, its checkers and the batch “were written with Claude (Anthropic) as a coding and research agent, directed and reviewed by me.”

The verified upper bound and the printed side now agree to one unit of the printed side’s last place, the precision at which the record compares them. The printed side itself is not certified here: the certificate’s side lies above it.

The packing

Found by David Ellsworth in 2024, via a hand construction. Its side length is algebraic of degree 20 over ℚ. As at n=37, the rational polynomial is not the sharpest form available: over ℚ(2) the archived catalogue records a degree-10 factor, whose real root 9.88815305375857238274 was checked here against the recorded value.

The lower bound

The verified field rests on a complete decision here (E-n088-wand125-mixed-962-sqverify-fast-replay, V3/C3) of wand125’s mixed certificate of 4 October by sqverify-fast, this repository’s clean-room measure verifier: all 201 net directions of the retained candidate on 5 October 2026, with two mutants scaled below coverage one refused. It shares no code with the source’s checker, so it decides coverage a second way with the same method; the source’s own checker was not run here.

Until 5 October 2026 the verified field rested on the complete replay here of wand125’s mixed certificate for 87 squares (E-n087-wand125-mixed-948-source-replay, V3/C3): all 201 directions on 3 October 2026, each returning the certificate’s own record. Its mass, 8699999/100000, is below 88, so a packing of 88 at a side below 237/25 would capture at least 88 from it.

From 2 October 2026 until that replay the verified lower bound was 3791/400, by the replayed rectangle certificate of 1 October (E-wand125-rectangle-2026-10-01-source-replay).

Nagamochi’s general closed form, the verified lower bound before both certificates, is now a reported bound (see the correction below). Karakuş’s general bound, independently verified here and below both certificates at this n, applies to every nonsquare N≥8:

s(N)≥12+N−⌊N⌋+14

Correction, 2 October 2026. Until that date the verified lower bound here was Nagamochi’s general closed form, s(N)≥min(⌈N⌉,N−2⌊N⌋+1+1), which is stronger at this n and is now recorded as a reported bound. Its published proof rests on Nagamochi’s Lemma 1, which Karakuş showed false; nothing is disproved, and no packing beating it is known (review of 2 October 2026). This register had recorded that proof as verified, its own error, logged as defect D-516.

See the Frontier corpus summary for the current aggregate count; source-reported bounds are recorded separately.

Verification Code

The programs behind this case’s verified bounds, by their evidence. The code column says how the code that ran stands to the code its producer used. VERIFIERS.md says what each program is and whose it is.

bound evidence run code programs
verified lower E-n088-wand125-mixed-962-sqverify-fast-replay replayed here independent V-sqverify-fast (first-party)
verified upper E-evand-exact-ceilings-2026-10-05-exact-replay replayed here independent V-sqpack-verify, V-check-rational-witness-independent (first-party); V-evand-exact-certificates (first-party, premises)
verified upper E-evand-exact-ceilings-2026-10-05-source-replay replayed here producer’s code V-evand-verify-cert-py, V-evand-verify-cert2-py (external); V-evand-exact-certificates (first-party, premises)