If one input of a MUL that needs to expanded is sign extended and
the other is zero extended, we can use an unsigned mul and apply
a correction. If the signed number is negative, we subtract the lower
bits of the zero extended input.
Fixes PR57549, but not in the same way.
clang-format not found in user’s local PATH; not linting file.