fixed bug in hadamard_3arg()
put back tricky code reusing found divisor