nearest(x, s) returns the processor-representable number nearest to x in the direction indicated by the sign of s.
Fortran 95 and later
result = nearest(x, s)
x - Shall be of type real.s - Shall be of type real and not equal to zero.The return value is of the same type as x. If s is positive, nearest returns the processor-representable number greater than x and nearest to it. If s is negative, nearest returns the processor-representable number smaller than x and nearest to it.
program test_nearest
real :: x, y
x = nearest(42.0, 1.0)
y = nearest(42.0, -1.0)
write (*,"(3(g20.15))") x, y, x - y
end program test_nearest