Supongo que puedo tener algún problema de estabilidad numérica
Así que pruébalo. Actualmente tiene un problema hipotético, es decir, no hay ningún problema.
Si realiza la prueba y la hipótesis se materializa en un problema real , entonces debería preocuparse por solucionarlo.
Es decir, la precisión de punto flotante puede causar problemas, pero puede confirmar si realmente lo hace para sus datos, antes de priorizar eso sobre todo lo demás.
... me faltará más caché?
Mil flotadores son 4Kb: cabe en la memoria caché de un sistema moderno de mercado masivo (si tiene otra plataforma en mente, díganos de qué se trata).
El único riesgo es que el prefetcher no lo ayudará al iterar hacia atrás, pero, por supuesto, su vector ya puede estar en caché. Realmente no puede determinar esto hasta que realice un perfil en el contexto de su programa completo, por lo que no tiene sentido preocuparse hasta que tenga un programa completo.
¿Hay alguna otra solución inteligente?
No se preocupe por las cosas que podrían convertirse en problemas, hasta que realmente se conviertan en problemas. A lo más, vale la pena señalar posibles problemas y estructurar su código para que pueda reemplazar la solución más simple posible con una cuidadosamente optimizada más adelante, sin volver a escribir todo lo demás.