anchor.diff:    (return (aref nbr offset)))
   
   (defun cell-number-of-particles-cpu (offset nbr)
  -  (mem-aref nbr offset))
  +  (memory-block-aref nbr offset))
   
   (defkernel cell-nth-particle (int ((n int) (offset int) (nbr int*)))
     (return (aref nbr (+ offset n 1))))   ; increment need because n begins with 0
   
   (defun cell-nth-particle-cpu (n offset nbr)
  -  (mem-aref nbr (+ offset n 1)))
  +  (memory-block-aref nbr (+ offset n 1)))
   
   ;; returns dummy integer to avoid __host__ qualifier
   (defkernel insert-cell (int ((p int) (offset int) (nbr int*)))
  
positive.code:                (grad-spiky-kernel dr)))))
  
  (defun pressure-term-cpu (i j dr rho prs)
    (symbol-macrolet ((rhoj (mem-aref rho j))
                      (prsi (mem-aref prs i))
                      (prsj (mem-aref prs j)))
      (float4-scale-flipped-cpu (/ (* (- pmass) (+ prsi prsj))
                                   (* 2.0 rhoj))
                                (grad-spiky-kernel-cpu dr))))
  
negative.code: ;;     (setf (car val) 'make-float4))
  ;;   `(defparameter ,var ,val))
  
  (defkernel-symbol-macro h 0.01)
  (defkernel-symbol-macro dt 0.004)
  (defkernel-symbol-macro pi 3.1415927)
  (defkernel-symbol-macro visc 0.2)
  (defkernel-symbol-macro limit 200.0)
  (defkernel-symbol-macro pmass 0.00020543)
  (defkernel-symbol-macro radius 0.004)
  (defkernel-symbol-macro epsilon 0.00001)
  (defkernel-symbol-macro extdamp 256.0)
  (defkernel-symbol-macro simscale 0.004)
  (defkernel-symbol-macro intstiff 3.0)
  (defkernel-symbol-macro extstiff 10000.0)
  (defkernel-symbol-macro restdensity 600.0)
  (defkernel-symbol-macro pdist (expt (/ pmass restdensity) (/ 1.0 3.0)))
  (defkernel-symbol-macro g (float4 0.0 -9.8 0.0 0.0))
  
  (defparameter h           0.01)
  (defparameter dt          0.004)
  