Auf welchem Rechner wurden die Werte für 'excakt.txt'
berechnet?
Das Problem duerfte sein: Du betreibst da ziemlich
heftige Gleitkomma-arithmtik. Die ist an sich schon
problematisch durch die Rundungefehler die sich im Laufe
der Berechnung einschleichen. Erschwerend kommt auf einem
AVR hinzu, dass die Gleitkomma-Arithmetik lediglich eine
4-Byte Arithmetik ist, selbst wenn du den Datentyp 'double'
anforderst. 4-Byte ist nicht viel und die Rundungsfehler in
der Arithmetik schaukeln sich relativ schnell in Bereiche
hoch, die unsinnige Ergebnisse liefern.
Ich fürchte, dass du nur 3 Alternativen hast:
* Entweder einen Compiler besorgen, der 8-Byte double Typen
besitzt
* Eine sehr sorgfältige Analyse des Codes und Umstrukturierung
um die Rundungsfehler möglichst klein zu kriegen. Bei dem
massiven Einsatz von Winkelfunktionen und deren Umkehrfunktionen,
ist das aber ein in der Praxis sinnloses Unterfangen. Zumindest
dann, wenn du so eine Analyse nicht schon mindestens einmal
gemacht hast.
* Komplette Neuentwicklung, bei der vor allem auf eine wesentlich
einfachere Berechnung Wert gelegt wird.