c performs 
c 			 Mandelbrot set test
c
c reference: W.F. Eddy, "The DECstation 3100 - UNIX for Power Users"
c            Chance, V.3,N.2 (1990), pp.42-47
c
c auxiliary routine: TIMER - returns elapsed cpu time in tics of .01 secs

      INTEGER I, J
      INTEGER ITICS0, ITICS1
      REAL CPTIM
      INTEGER BIT(512,512), COUNT
      REAL AA, BB, D
      COMPLEX Z, CC, NEWZ
      DATA NEWZ /(0.0,0.0)/, BB /2.5/, D /1.5/

c mandelbrot set test
      CALL TIMER(ITICS0)
      AA = 3.0 / FLOAT(512)
      DO 30 I = 1, 512
       DO 20 J = 1, 512
        CC = CMPLX(AA*FLOAT(I)-BB,AA*FLOAT(J)-D)
        Z = NEWZ
        COUNT = 256
   10   Z = Z * Z + CC
        COUNT = COUNT - 1
        IF (COUNT.GT.0.AND.CABS(Z).LT.4) GOTO 10
        BIT(J,I) = COUNT + 1
   20  CONTINUE
   30 CONTINUE
      AV = 0.0
      DO 50 I = 1, 512
       DO 40 J = 1, 512
        AV = AV + ALOG(FLOAT(1+IABS(BIT(I,J))))
   40  CONTINUE
   50 CONTINUE

      CALL TIMER(ITICS1)
      CPTIM = FLOAT(ITICS1-ITICS0) / 100.0


c output results to file out.dat
      OPEN (UNIT=6,FILE='out.dat')
      WRITE (6,10000) AV
      WRITE (6,10005) CPTIM
      CLOSE (6)

      STOP
10000 FORMAT (' Mandelbrot set timing'/' log av checksum = ',1PE12.5)
10005 FORMAT (//'  Time (seconds) for Mandelbrot set: ',F12.3)
      END