Conversion from real to integer

Whatever the (too big) value of x, gfortran and ifort always print -2147483230
but ifx prints 0