Fix blas and zero-removal algorithm

gg
There's this comment in the code:
``# Check memory access pattern``
So I just check the memory access pattern of the loop body to determine that what actually is being performed is a matrix multiplication. I agree this would theoretically be useless if we assume that the input to coffee is always ffc and that ffc will never change. Since these two hypothesis are not valid, for obvious reasons, I make coffee more robust by checking the memory access pattern of the arrays in the loop body