allora già in fortran la rappresentazione di un decimale in precisione doppia è così :

0.581 equivale a 0.581D0 viene rappresentato come 0.58099999999999996.
con D0 lo dichiaro esplicitamente.
Se invece non lo dichiaro ma viene automaticamente trasformato dal fortran con la dichiarazione :
IMPLICIT DOUBLE PRECISION (A-H,O-Z)
ottengo un altro valore ancora più scorretto (si parla dalla 6° cifra in poi).

Il programma convertito integra una centinaia di righe di formule, e il risultato viene sballato piano piano ad ogni operazione.
Ottenendo infine un errore dalla 4° cifra decimale in poi.

Premetto che il software ha tante sottrazioni divisioni moltiplicazioni somme sequenziali (mi pare di aver letto che anche possa generare problemi).
Le parentesi sono messe tutte al posto giusto.

Tutte le variabili in fortran sono dichiarate con doppia precisione.

in js (il tipo non deve essere dichiarato e da quanto ne so al momento di assegnazione al tipo di dato js una già la precisione doppia)
sono tutti numerici e le 4 variabili acquisite da form sono state tutte passate sotto la funzione parseFloat()