Fortran library function names are called intrinsic function names. Normally, a name in the table of intrinsic function names (Section C.2) refers to the Fortran library function with that name. However, the name can refer to a user-defined function when the name appears in an EXTERNAL statement.
Except when used in an EXTERNAL statement, intrinsic function names are local to the program unit that refers to them, so they can be used for other purposes in other program units. The data type of an intrinsic function does not change if you use an IMPLICIT statement to change the implied data type rules.
Intrinsic and user-defined functions cannot have the same name if they appear in the same program unit.
For details on the EXTERNAL statement, see Section 4.8.