anchor.diff:            (+ (* m20 n01) (* m21 n11) (* m22 n21))
             (+ (* m20 n02) (* m21 n12) (* m22 n22))))
   
  -(defvecfun mat3-tmul (((m00 m01 m02 m10 m11 m12 m20 m21 m22) m)
  -                      ((n00 n01 n02 n10 n11 n12 n20 n21 n22) n))
  +(defvecfun mat3-mul-lt (((m00 m01 m02 m10 m11 m12 m20 m21 m22) m)
  +                        ((n00 n01 n02 n10 n11 n12 n20 n21 n22) n))
       ((:documentation "Concatenate two matrices with the left one transposed."))
  -  (values (+ (* m00 n00) (* m10 n10) (* m20 n20))
  -          (+ (* m00 n01) (* m10 n11) (* m20 n21))
  -          (+ (* m00 n02) (* m10 n12) (* m20 n22))
  -          (+ (* m01 n00) (* m11 n10) (* m21 n20))
  -          (+ (* m01 n01) (* m11 n11) (* m21 n21))
  -          (+ (* m01 n02) (* m11 n12) (* m21 n22))
  -          (+ (* m02 n00) (* m12 n10) (* m22 n20))
  -          (+ (* m02 n01) (* m12 n11) (* m22 n21))
  -          (+ (* m02 n02) (* m12 n12) (* m22 n22))))
  +  (mat3-mul* m00 m10 m20 m01 m11 m21 m02 m12 m22
  +             n00 n01 n02 n10 n11 n12 n20 n21 n22))
   
   (defvecfun mat4-mul (((m00 m01 m02 m03 m10 m11 m12 m13
                              m20 m21 m22 m23 m30 m31 m32 m33) m)
  
positive.code:     ((m00 1.0) m01
       m10 (m11 1.0)))
  
  (defvector mat3 ()
      ((m00 1.0) m01 m02
       m10 (m11 1.0) m12
       m20 m21 (m22 1.0)))
  
  (defvector mat4 ()
      ((m00 1.0) m01 m02 m03
       m10 (m11 1.0) m12 m13
       m20 m21 (m22 1.0) m23
       m30 m31 m32 (m33 1.0)))
  
  
  ;; (defun mat3<-rows (a b c)
  
negative.code:         (dst (vec-ensure-store v store)))
      (loop for i from 0 below rows do
           (setf (row-major-aref dst i)
                 (loop for j from 0 below rows
                    sum (* (row-major-aref m (+ (* i rows) j))
                           (row-major-aref v j))))
           finally (return dst))))
  