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.
logical function is_leap_year(year)! returns .true. if year is a leap year, otherwise .false.integer,intent(in)::yearlogical::cond1,cond2,cond3cond1=.false.cond2=.false.cond3=.false.is_leap_year=.true.if(mod(year,4)==0)cond1=.true.if(mod(year,100)==0)cond2=.true.if(mod(year,400)==0)cond3=.true.if(cond1.eqv..false.)thenis_leap_year=.false.else if((cond2).and.(cond3.eqv..false.))is_leap_year=.false.end if end function is_leap_year