Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
function cross(a,b)REAL(rp),DIMENSION(3),INTENT(IN)::aREAL(rp),DIMENSION(3),INTENT(IN)::bREAL(rp),DIMENSION(3)::crosscross(1)=a(2)*b(3)-a(3)*b(2)cross(2)=a(3)*b(1)-a(1)*b(3)cross(3)=a(1)*b(2)-a(2)*b(1)end function cross