When a new NetEBMult object is created, the compiler guesses the expression width based on the sum of the operand widths. When we duplicate an expression, we need to override this with the width from the original expression, to make sure the duplicated expression has the same width.
(I'm not certain that the code that guesses expression widths when a NetExpr obect is created is actually needed any more, but from past experience, I want to change as little as possible in the v0.9 expression elaboration code).
Also attached is a regression test to add to the test suite. No special flags or gold file needed.