Non conosco fortran, ma probabilmente è un problema di rappresentazione dei numeri floating point...
Ovviamente i numeri reali sono continui, al contrario i numeri floating point rappresentabili non lo sono... Probabilmente quel numero è il numero floating point più vicino a 4.9

L'unica cosa che ti posso consigliare è di usare il tipo di dato con il maggior numero di bit per la mantissa...solitamente si chiamano double...mentre i float hanno veramente pochi bit per la mantissa...