Re-implemented point math to avoid spire's vector space implementation