anchor.diff:                                 accumulator
                                  accumulator2)))
             (if (and (zerop start)
  -                   (null (indices-present (visible-chunk cloud))))
  +                   (null (indices-present visible-chunk)))
                 (matlisp:gemm! (flt 1) v b (flt 0) x :tt)
  -              (progn
  -                (assert (= 1 (n-stripes visible-chunk)))
  -                (let ((b* (storage b)))
  -                  (declare (optimize (speed 3) #.*no-array-bounds-check*))
  -                  (matlisp:fill-matrix x (flt 0))
  -                  (do-stripes (visible-chunk)
  -                    (do-chunk (i visible-chunk)
  -                      (let ((v*i (aref v* i)))
  -                        (unless (zerop v*i)
  -                          (loop for j of-type index upfrom 0 below c
  -                                for bi of-type index
  -                                upfrom (the! index (* i c)) do
  -                                (incf (aref shared* j)
  -                                      (* v*i (aref b* bi)))))))))))
  +              (let ((b* (storage b)))
  +                (declare (optimize (speed 3) #.*no-array-bounds-check*))
  +                (matlisp:fill-matrix x (flt 0))
  +                (do-stripes (visible-chunk)
  +                  (do-chunk (i visible-chunk)
  +                    (let ((v*i (aref v* i)))
  +                      (unless (zerop v*i)
  +                        (loop for j of-type index upfrom 0 below c
  +                              for bi of-type index
  +                              upfrom (the! index (* i c)) do
  +                              (incf (aref shared* j)
  +                                    (* v*i (aref b* bi))))))))))
             (matlisp:gemm! (flt (if addp 1 -1)) h x
                            (flt 1) (reshape2 accumulator
                                              (matlisp:nrows a)
  
positive.code:          (shared (factored-cloud-shared-chunk cloud))
           (v* (storage v))
           (shared* (storage (nodes shared))))
      (with-segment-gradient-accumulator ((start accumulator accumulator2)
                                          ((cloud-a cloud) trainer))
        (when (and accumulator start)
  
negative.code:                  (= max-n-stripes (chunk-max-n-stripes chunk)))
        (setf (slot-value chunk 'nodes)
              (matlisp:make-real-matrix size max-n-stripes))
        (fill-chunk chunk (default-value chunk) :allp t)
        (setf (slot-value chunk 'inputs)
              (if (typep chunk 'conditioning-chunk)
                  nil
  