Fix - and /
Introduce a new macro, as the one for + and * doesn't handle them
correctly
Add some tests for the new functions