implement submul, a*b + c
add missing tests