anchor.diff:                      let z' = Array.copy z
                       BLAS.dgemv(1., x, y, 1., z')
                       z'
  +            // BLAS
               member o.Mul_V_M(x, y) =
                   if Array.isEmpty x then
                       Array.zeroCreate (Array2D.length2 y)
  
positive.code:                     for i = 0 to m - 1 do
                          Buffer.BlockCopy(x, 0, r, i * xbytes, xbytes)
                      r
              member o.RepeatReshapeCopy_V_MCols(n, x) = // Non-BLAS
                  if Array.isEmpty x then
                      Array2D.empty<float>
                  else
  
negative.code:                     let z = Array.zeroCreate (Array2D.length1 x)
                      BLAS.sgemv(1.f, x, y, 0.f, z)
                      z
              // BLAS
              member o.Mul_M_V_Add_V(x, y, z) =
                  if Array2D.isEmpty x then
                      Array.empty
  