This is a simplified reproducer for the compiler bug reported in https://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/702117 .
The bug does not occur with version 220.127.116.11, but can be seen with version 18.104.22.168 (32 and 64 bit target). Compiling with /Od is enough to trigger the ICE. If the constant "2d0" in the ASF definition on line-2 is replaced by "2.0" or "2.0e0", the ICE disappears. If the third dummy argument "fot" of the ASF is replaced by something different in name from the second argument of the main function, the ICE disappears.
function fcph(t,fot) cp(c2,t,fot) = c2*t+ (fot/2d0) ! <<== Statement Function fcph = cp(0.024,t,fot) return end