anchor.diff:  (is (cl-cuda::cffi-type 'void   ) :void                  )
   (is (cl-cuda::cffi-type 'int    ) :int                   )
   (is (cl-cuda::cffi-type 'float  ) :float                 )
  -(is (cl-cuda::cffi-type 'float3 ) 'float3                )
  -(is (cl-cuda::cffi-type 'float4 ) 'float4                )
  +(is (cl-cuda::cffi-type 'float3 ) '(:struct float3)      )
  +(is (cl-cuda::cffi-type 'float4 ) '(:struct float4)      )
   (is (cl-cuda::cffi-type 'float* ) 'cl-cuda::cu-device-ptr)
   (is (cl-cuda::cffi-type 'float3*) 'cl-cuda::cu-device-ptr)
   (is (cl-cuda::cffi-type 'float4*) 'cl-cuda::cu-device-ptr)
  
positive.code: (is       (expand-macro '(* 1 2))   '(cl-cuda::%mul 1 2))
  (is       (expand-macro '(* 1 2 3)) '(cl-cuda::%mul (cl-cuda::%mul 1 2) 3))
  (is-error (expand-macro '(/))       simple-error)
  (is       (expand-macro '(/ 1))     '(cl-cuda::%div 1 1))
  (is       (expand-macro '(/ 1 2))   '(cl-cuda::%div 1 2))
  (is       (expand-macro '(/ 1 2 3)) '(cl-cuda::%div (cl-cuda::%div 1 2) 3))
  
  
negative.code: (is       (expand-macro '(+ 1 2))   '(cl-cuda::%add 1 2))
  (is       (expand-macro '(+ 1 2 3)) '(cl-cuda::%add (cl-cuda::%add 1 2) 3))
  (is-error (expand-macro '(-))       simple-error)
  (is       (expand-macro '(- 1))     '(cl-cuda::%negate 1))
  (is       (expand-macro '(- 1 2))   '(cl-cuda::%sub 1 2))
  (is       (expand-macro '(- 1 2 3)) '(cl-cuda::%sub (cl-cuda::%sub 1 2) 3))
  (is       (expand-macro '(*))       1)
  