! eps.f90 note: replacing "d" with "e" gets single precision ! print output after ! program eps print *, 1.0d0 + 1.0d-10 ! 1.00000000010000 print *, 1.0d0 + 1.0d-11 ! 1.00000000001000 print *, 1.0d0 + 1.0d-12 ! 1.00000000000100 print *, 1.0d0 + 1.0d-13 ! 1.00000000000010 print *, 1.0d0 + 1.0d-14 ! 1.00000000000001 print *, 1.0d0 + 1.0d-15 ! 1.00000000000000 bad print *, 1.0d0 + 1.0d-16 ! 1.00000000000000 ok print *, (1.0d0 + 1.0d-10) -1.0 ! 1.000000082740371E-010 print *, (1.0d0 + 1.0d-11) -1.0 ! 1.000000082740371E-011 print *, (1.0d0 + 1.0d-12) -1.0 ! 1.000088900582341E-012 print *, (1.0d0 + 1.0d-13) -1.0 ! 9.992007221626409E-014 print *, (1.0d0 + 1.0d-14) -1.0 ! 9.992007221626409E-015 print *, (1.0d0 + 1.0d-15) -1.0 ! 1.110223024625157E-015 print *, (1.0d0 + 1.0d-16) -1.0 ! 0.00000000000000 ok end