merge bugfixes from master
fix some clang warnings
add some brackets to help clang

building with clang and enabling the optimiser seems to change the order
of a * b * c, how odd

add some brackets
update v number