      program mainc This program calculates the variance of the first 10**9 integersc using both cpus on the dual processor Macintosh.c To compile with the Absoft Fortran compiler, use:c f77 -O -Q92 adder.f MacMP.f "{SharedLibraries}"MPLibrary -o adder.out      implicit none      integer TickCount      external TickCount      integer NINT      parameter (NINT=1000000000)      integer n, n1, n2, start1, start2      integer start_program, end_program      double precision sum11, sum12, sum21, sum22, mean, mesq      integer idtask, nproc, nargs      external adder      nargs = 4      n = NINT      n1 = NINT/2      n2 = NINT      start1 = 0      start2 = n1      start_program = TickCount()            call MP_INIT(nproc)c Use second cpu to compute partial sums for second group      call MP_TASKSTART(idtask,adder,nargs,n2,start2,sum21,sum22)c Use main cpu to compute partial sums for first group      call adder(n1,start1,sum11,sum12)c Wait for second cpu to complete      call MP_TASKWAIT(idtask)      call MP_END()c Add partial sums together      mean = (sum11 + sum21) / n      mesq = (sum12 + sum22) / n      write (*,'(i15,1x,f20.3,1x,f21.3)') n, mean, mesq - (mean * mean)      end_program = TickCount()      write (*,*)      write (*,'("time in sec: ",f7.2)') (end_program-start_program)/60.      write (*,*) 'hit carriage return to quit'      pause      stop      end      subroutine adder(n,start,s1,s2)      integer n, start      double precision s1, s2      integer i      double precision ls1, ls2      ls1 = 0      ls2 = 0      do 10 i = start, n-1      ls1 = ls1 + dble(i)      ls2 = ls2 + dble(i)*i   10 continue      s1 = ls1      s2 = ls2      return      end