anchor.diff:                          | Some(inv) -> Some(inv)
                           | _ -> None
                       | _ -> None
  +            // LAPACK
               member o.Det_M(x) =
                   if Array2D.isEmpty x then
                       Some(0.)
  
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<float32>
                  else
  
negative.code:                                 det <- det * x'.[i, i]
                          Some(det)
                      | _ -> None
              // Non-BLAS
              member o.ReshapeCopy_MRows_V(x) =
                  if Array2D.isEmpty x then
                      Array.empty<float32>
                  else
                      let r = Array.zeroCreate<float32> x.Length
                      Buffer.BlockCopy(x, 0, r, 0, x.Length * sizeof<float32>)
                      r
              // Non-BLAS
              member o.ReshapeCopy_V_MRows(m, x) =
                  if Array.isEmpty x then
                      Array2D.empty<float32>
                  else
  