#!/usr/bin/env python3
"""
DCT prediction for the proton-to-electron mass ratio.

Polytope inputs:
  z   = 12      (600-cell vertex coordination)
  f_v = 20      (icosahedral vertex-figure face count)
  phi = (1+sqrt(5))/2   (golden ratio)

DCT formula (DCT-SM-01):
  m_p / m_e = z * 153 + 1/phi**4 + 1/z**2

Casimir spectral identity gives Sigma_{C*d} = 154 = 2*7*11 exactly on the 600-cell;
the tree-level term is z * (Sigma_{C*d} - 1) = z * 153 = 1836.
Loop-level corrections: 1/phi**4 from golden-ratio eigenvalue closure, 1/z**2
from the second-order spectral correction on the icosahedral substructure.
"""
import math

z = 12
phi = (1 + math.sqrt(5)) / 2
sigma_Cd = 154

tree     = z * (sigma_Cd - 1)
loop1    = 1 / phi**4
loop2    = 1 / z**2

dct_value = tree + loop1 + loop2
codata    = 1836.15267343            # CODATA 2018 / PDG 2024 m_p / m_e (1836.152673)

residual = abs(dct_value - codata) / codata

print(f"DCT prediction:   m_p/m_e = {dct_value:.6f}")
print(f"CODATA 2018:      m_p/m_e = {codata:.6f}")
print(f"Residual:         |dct - codata| / codata = {residual:.3e}")
print(f"Equivalent:       {residual*100:.2e} %")
