Mul nonalloc

Fixes #807 

All tests pass