anchor.diff:      ;; FIXEXT:
       (assert (not (same-stripes-p x)))
       (if (transpose-weights-p lump)
  +        ;; a = x*w'
           (gemm! (flt 1) (nodes x) (nodes weights)
                          (flt 0) (nodes lump)
                          :transpose-b? t :lda nx :ldb nx :ldc nl
                          :m n-stripes :n nl :k nx)
  +        ;; a = x*w
           (gemm! (flt 1) (nodes x) (nodes weights)
                          (flt 0) (nodes lump)
                          :lda nx :ldb nl :ldc nl
  
positive.code:          (dw* (derivatives weights))
           (dl* (derivatives lump)))
      (if (transpose-weights-p lump)
          ;; dx += a*w
          (gemm! (flt 1) dl* w* (flt 1) dx*
                         :lda nl :ldb nx :ldc nx
                         :m n-stripes :n nx :k nl)
          ;; dx += a*w'
          (gemm! (flt 1) dl* w* (flt 1) dx*
                         :transpose-b? t :lda nl :ldb nl :ldc nx
                         :m n-stripes :n nx :k nl))
      (if (transpose-weights-p lump)
          ;; dw += a'*x
          (gemm! (flt 1) dl* x* (flt 1) dw*
                         :transpose-a? t
                         :lda nl :ldb nx :ldc nx
                         :m nl :n nx :k n-stripes)
          ;; dw += x'*a
          (gemm! (flt 1) x* dl* (flt 1) dw*
                         :transpose-a? t
                         :lda nx :ldb nl :ldc nl
  
negative.code: 
  (defun ensure-+-ones (lump)
    (let ((n-stripes* (n-stripes* lump)))
      (setf (slot-value lump 'ones)
            (if (ones lump)
                (adjust! (ones lump) n-stripes* 0)
                (make-mat n-stripes* :ctype flt-ctype
                          :initial-element 1)))))
  
  (defmethod transfer-lump ((lump ->+))
    (let* ((nodes (nodes lump))
  