anchor.diff:  
   (defun main ()
     (let* (;; Grid and block dims.
  -         (neighbor-map-grid-dim '(25 13 1))
  -         (neighbor-map-block-dim '(13 1 1))
  -         (particle-grid-dim '(16 1 1))
  +         (neighbor-map-grid-dim '(45 37 1))
  +         (neighbor-map-block-dim '(37 1 1))
  +         (particle-grid-dim '(512 1 1))
            (particle-block-dim '(64 1 1))
            ;; Get initial condition.
            (particles (initial-condition init-min init-max (/ pdist simscale)))
  
positive.code:           (initialize pos vel particles)
            (sync-memory-block pos :host-to-device)
            (sync-memory-block vel :host-to-device)
  ;          (output 0 pos)
            ;; Do simulation.
            (time
             (loop repeat 300
  
negative.code: (defglobal size-y int)
  (defglobal size-z int)
  
  (defparameter h           0.005)
  (defparameter pmass       (/ 0.00020543 8.0))
  (defparameter simscale    0.004)
  (defparameter restdensity 600.0)
  (defparameter pdist       (expt (/ pmass restdensity) (/ 1.0 3.0)))
  (defparameter g           (make-float4 0.0 -9.8 0.0 0.0))
  (defparameter delta       (/ h simscale))
  (defparameter box-min     (make-float4 -10.0  0.0 -10.0 0.0))
  (defparameter box-max     (make-float4  30.0 50.0  30.0 0.0))
  (defparameter init-min    (make-float4 -10.0  0.0 -10.0 0.0))
  (defparameter init-max    (make-float4   0.0 40.0  30.0 0.0))
  (defparameter capacity    400)  ; # of particles contained in one cell
  
  
  ;;
  