1       subroutine   finsum   ( timhrz, timesq, timvrt, hrzcmp, sqcmpn,
 
    2      $                        vrtcmp, ccmstr, rcmstr, output )
 
   13       integer            hrzcmp, sqcmpn, vrtcmp, output
 
   15       integer            ccmstr (*), rcmstr (*)
 
   17       real               timesq, timhrz, timvrt
 
   21       if  ( hrzcmp .gt. 0 )  
then 
   22          write (output, 60000) hrzcmp, timhrz
 
   23          call 
fnrsum( 1, hrzcmp, ccmstr, rcmstr, output ) 
 
   26       if  ( sqcmpn .gt. 0 )  
then 
   27          write (output, 61000) sqcmpn, timesq
 
   28          call 
fnrsum( hrzcmp + 1, hrzcmp + sqcmpn, ccmstr, rcmstr,
 
   32       if  ( vrtcmp .gt. 0 )  
then 
   33          write (output, 62000) vrtcmp, timvrt
 
   34          call 
fnrsum( hrzcmp + sqcmpn + 1, hrzcmp + sqcmpn + vrtcmp,
 
   35      $                 ccmstr, rcmstr, output ) 
 
   40 60000 
format (/
'0fine decomposition of horizontal block (hr-hc)',
 
   41      $        /
'      number of connected components:', i10,
 
   42      $        /
'                       time required:', 1pe10.1,
 
   43      $        /
'0                    component    rows  columns' )
 
   45 61000 
format (/
'0fine decomposition of     square block (sr-sc)',
 
   46      $        /
'         number of strong components:', i10,
 
   47      $        /
'                       time required:', 1pe10.1,
 
   48      $        /
'0                    component    rows  columns' )
 
   50 62000 
format (/
'0fine decomposition of   vertical block (vr-vc)',
 
   51      $        /
'      number of connected components:', i10,
 
   52      $        /
'                       time required:', 1pe10.1,
 
   53      $        /
'0                    component    rows  columns' )
 
subroutine finsum(timhrz, timesq, timvrt, hrzcmp, sqcmpn, vrtcmp, ccmstr, rcmstr, output)
 
subroutine fnrsum(fstcmp, lstcmp, ccmstr, rcmstr, output)