anchor.diff:          (pop results))
         (munge-sample-results events results))))
   
  -(defun sample (events function &key (samples 10) (report :table)
  +(defun sample (function &key (events (default-events)) (samples 10) (report :table)
                  (discard-first t))
     (let ((results (%sample events function samples discard-first)))
       (ecase report
  
positive.code:                         :name ,name
                          :short-description ,description
                          :description ,description
                          :native nil
                          :papi nil)))
  
  
negative.code: (defun find-event-or-lose (name)
    (or (find-event name) (perfpiece-error "no such event ~S" name)))
  
  (defun default-events ()
    (nconc (delete-if (lambda (x) (papi-event-p (find-event x)))
                      (list-available-event-names))
           (list :papi-tot-cyc :papi-tot-ins :papi-l2-dcm :papi-l2-icm)))
  
  ;;;; Event Sets
  
  ;;; TODO: add multiplexing. We can support it by (1) using PAPI's
  ;;; multiplexing API or (2) doing it ourselves with the SAMPLE
  ;;; function.
  
  (declaim (inline papi-start papi-stop papi-accum papi-write))
  
  