Both of the values of spacing(1.0) and epsilon(1.0) is 0.5**23 in single precision, and 0.5**52 in double precision.
The value of spacing(1.0) is however not equal to that of epsilon(1.0) in quadruple precision.
The value of epsilon(1.0) is close to 0.5**112 (but not equal to), whereas that of spacing(1.0) is 0.5**109.
Isn't it problematic that spacing(1.0) is not equal to epsilon(1.0) in quadruple precision?
How many bits is the length of the mantissa in quadruple precision?
If Absoft Pro FORTRAN adopts double_double precision, I suppose it should be 105 bits, and the values of spacing(1.0) and epsilon(1.0) should be 0.5**105.
In the case of that the compiler adopts the binary128 format defined in IEEE754-2008, it should be 112 bits, and the values of them should be 0.5**112.