anchor.diff:       (* (float4-z a) (float4-z b))
        (* (float4-w a) (float4-w b))))
   
  -(defkernel pow (float ((b float) (p float)))
  -  (return (expt b p)))
  +(defkernelmacro pow (x n)
  +  (check-type n fixnum)
  +  `(* ,@(loop repeat n collect x)))
  +
  +;; (defkernel pow (float ((b float) (p float)))
  +;;   (return (expt b p)))
   
   (defun pow-cpu (b p)
     (float (expt b p) 0.0))
  
positive.code: 
  (defkernel grad-spiky-kernel (float4 ((x float4)))
    (let ((r (norm x)))
      (return (* (/ -45.0 (* pi (pow h 6.0)))
                 (pow (- h r) 2.0)
                 (/ x r)))))
  
  (defun grad-spiky-kernel-cpu (x)
  
negative.code: 
  (defkernel rap-visc-kernel (float ((x float4)))
    (let ((r (norm x)))
      (return (* (/ 45.0 (* pi (pow h 6)))
                 (- h r)))))
  
  (defun rap-visc-kernel-cpu (x)
  