Two questions:
   1. That `(size_t)` cast before, did not check for negative strides? Do we have to check for negative/zero strides? I am not clear about this. It might be that this level of BLAS uses them like numpy does. Or do the callers check this?
   2. Can you cast the `strideab` to `int` before this check. That should fix the "too large stride" trap.