Different compilers may give different list-directed output. Note that Gfortran outputs 17 significant digits, whereas Ifort outputs 15. You should take this into account when comparing.

If you want a specific number of significant digits to be output, you need to specify an appropriate output format, such as ES23.15, instead of using list-directed output.

It was not stated explicitly, but this is allowed by the fortran standard. The standard gives much leeway to the processor in list-directed output. It is not just the numbers of digits that are printed, but also the line lengths and record structure that can change with compiler options, different versions of the same compilers, and different compilers.

If you want to compare outputs, say with something like a diff command, then programmers should avoid list-directed i/o and use explicit formats instead. Even some explicit formats, such as g0 and e0, can vary from compiler to compiler. It is unfortunate that the standard was not more specific when these formats were introduced, and now, because of backwards compatibility, it would be problematic to change the standard.

One thing that @seme4ka008 needed to know is that computers cannot do the mathematics that people learn at school. Every computer is of finite size, and their innards are made of atoms that have finite sizes. So they cannot store infinitely many digits. However many digits they stop after, there will always be problems with real (or complex) numbers.

And supposing we could store an infinite number of digits, a mere addition would take an infinite time! We are limited by space and time.

Only symbolic computing can do such computations. We can manipulate numbers like \pi without knowing all their infinite digits because we know their properties and use them in our computations.

All that can be resumed telling that machine numbers (real) are not real numbers (\mathbb{R}). Just a finite subset.

Floating point numbers are a finite subset of the mathematical rational numbers, which of course in turn are a countably infinite subset of the mathematical real numbers, which themselves form an uncountable set.

A possibly better version can be found in the successor to Sun Microsystems Their floating point group fixed a variety of minor issues in the original ACM paper