anchor.diff:          end do
   
           !$omp end parallel
  +
  +        print '(A,I,A,I)', 'Expected: ', N ** K, ' Processed: ', count
       end subroutine
   end module
  
positive.code:         start    = -1
          end      = -1
  
          do while (buffer(0) == 0 .and. buffer(1) /= end)
              if (start == -1) then
                  divider = N / real(nthreads)
                  start   = floor(divider * threadid + 1.0) - 1
                  end     = ceiling(start + divider - 1)    + 1
  
                  buffer(1:K) = [(index, index = K - 1, 0, -1)] * start
              end if
  
              print '(I3,4X,4I2)', threadid, buffer(1:K) + 1
  
              buffer(K) = buffer(K) + 1
              index = K
  
negative.code:         integer start, end
          real    divider
  
          integer count
  
          !$omp parallel private(nthreads, threadid, buffer) reduction(+:count)
  
          nthreads = OMP_GET_NUM_THREADS()
          threadid = OMP_GET_THREAD_NUM()
  