      SUBROUTINE stream_triad (a,b,c,scalar,n)
      REAL*8 c(n),a(n),b(n),scalar
      INTEGER AHEAD
      PARAMETER (AHEAD=128)

      IF (n.LE.AHEAD+1) THEN
         DO j = 1,n
            a(j) = b(j) + scalar*c(j)
         END DO
      ELSE
         DO j = 1,n-AHEAD,16
!IBM*       CACHE_ZERO (a(j+AHEAD))
            DO i=0,15
                 a(j+i) = b(j+i) + scalar*c(j+i)
            END DO
         END DO
         DO j = n-AHEAD+1,n
            a(j) = b(j) + scalar*c(j)
         END DO
      END IF
      END
