def P(k):
k = ZZ(k)
L = lcm(4, k)
K = CyclotomicField(L)
z = K.gen()
w, ii = z^(L//k), z^(L//4)
alpha = -sum((QQ(m)/k)*ii*(w^m+1)/(w^m-1) for m in range(1,k))
q = alpha.minpoly()
p = ZZ['x'](q*q.denominator())
return ZZ['x'](p / p.content())
P(5) # 3125*x^4 - 2500*x^2 + 16
# Default table selection: [P(k) for k in range(3,25)].Computed by exact arithmetic in $\mathbb Q(\zeta_{\operatorname{lcm}(4,k)})$ from (1), then clearing denominators and taking the primitive positive-leading-coefficient polynomial. Every result has native exact integer coefficients, is irreducible over $\mathbb Q$, and annihilates the defining algebraic number.
All 22 polynomials are independently recovered from the finite Estermann double sum (3) in $\mathbb Q[t]/(\Phi_L)$. Multiplying over all Galois embeddings and removing repeated factors reproduces every primitive polynomial. This uses neither the generator’s cotangent rational expression nor its minimal-polynomial routine; Sage polynomial arithmetic and factorization remain shared dependencies.
A separate direct cotangent evaluation in 512-bit Arb arithmetic checks the 22 values $\alpha_k=c_0(1/k)$ for $3\leq k\leq24$. The balls are finite, have radii below $7.50\times10^{-152}$ and retain at least 505 bits of relative accuracy, exceeding 100 significant decimal digits. Every polynomial encloses zero at its ball; signs at enclosing endpoints and a nonvanishing derivative isolate the root locally. Exact Galois sign identities and the modular-inverse Vasyunin conversion were checked for all 178 reduced numerators in this prefix. Known polynomials at $k=2,3,4,6$, wrong signs and scales at $k=4$, perturbed polynomial constants, and invalid enclosure controls test the checker. Code, argument-selection rationale and detailed evidence are attached.