ich kann Luckie nur beipflichten.
An der Uni Lernt man zwar Strategien nach denen man Berechnungen numerisch "Stabiler" hin bekommt, aber das Float Format ist einfach nicht das selbe wie man es von Mathe her kennt, auch Double löst das Problem nicht annähernd.
Was evtl. hilft, ist dann aber auch schon aufwendiger, Implementiere dir eine Mathe Lib, welche mit Brüchen Rechnen kann.
Wie so etwas "im Ansatz" geht kannst du
Hier z.B. anschauen.