Simplify `errortest` generation
Use `ASSERT` macro
`mul_` should not called recursively