anchor.diff:              (def-la-wrapper (,c-lisp-name ,lisp-name) ,result-type
                 ,@args))))
   
  +
  +
  +;;;;;;;;;;;;;;;;;;;;
  +;;; LEVEL 1 BLAS ;;;
  +;;;;;;;;;;;;;;;;;;;;
  +(def-la ("cblas_dscal" dscal) :void
  +  (n cblas-size-t (:length x))
  +  (alpha :double)
  +  (x :vector :inout))
  +
  +(def-la ("cblas_daxpy" daxpy) :void
  +  (n cblas-size-t (:length x) (:length y))
  +  (alpha :double)
  +  (x :vector)
  +  (y :vector))
  +
  +;; (def-la ("cblas_daxpy" daxpy) :void
  +;;   (n cblas-size-t (:length x))
  +;;   (alpha :double)
  +
  +;;;;;;;;;;;;;;;;;;;;
  +;;; LEVEL 2 BLAS ;;;
  +;;;;;;;;;;;;;;;;;;;;
  +
  +;;;;;;;;;;;;;;;;;;;;
  +;;; LEVEL 3 BLAS ;;;
  +;;;;;;;;;;;;;;;;;;;;
  +
  +
  +;;;;;;;;;;;;;
  +;;; AMINO ;;;
  +;;;;;;;;;;;;;
  +
   (def-la ("aa_la_d_angle" d-angle) :double
     (n size-t (:length x) (:length y))
     (x :vector)
     (y :vector))
  -
  -(def-la ("cblas_dscal" dscal) :void
  -  (n cblas-size-t (:length x))
  -  (alpha :double)
  -  (x :vector :inout))
   
   
   ;; (defcfun "aa_la_d_angle" :double
  
positive.code:                     `((,name :pointer)
                        (,(extra-arg-symbol name type) size-t)))
                     (otherwise (list (list name type)))))))
  
  ;; TODO:
  ;;   - output and in/out parameters
  
negative.code:                                       (cons (cons name :stride) (prefix-gensym "STRIDE" name))))))))
      (labels ((var-symbol (name type)
                 (cdr (assoc (cons name type) var-alist :test #'equal)))
               (true-arg (name type params)
                 (cond
                   ((eq type :vector)
  