The same actual argument cannot be used more than once in a procedure call if the corresponding dummy arguments are assigned new values. For example, with:
SUBROUTINE FUNNY(X, Y)
X = 2.0
Y = 3.0
END
A call such as: CALL FUNNY(A, A)A similar restriction applies to variables which are returned via a common block and also through the procedure argument list.