# widemul

widemul(x, y)

Multiply `x` and `y`, giving the result as a larger type.

## Examples

1. Multiply two integers and widen the result:

``````julia> widemul(10, 20)
200``````

This example multiplies the integers `10` and `20` and widens the result to a larger type.

2. Multiply two large numbers and handle overflow:

``````julia> a = big(10)^50;
julia> b = big(2)^50;
julia> widemul(a, b)
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000``````

It can handle large numbers and correctly widens the result to accommodate the multiplication.

3. Multiply a negative number with a positive number:
``````julia> widemul(-5, 10)
-50``````

It correctly handles multiplication between negative and positive numbers.

Common mistake example:

``````julia> widemul(3.14, 2.71)
ERROR: MethodError: no method matching widemul(::Float64, ::Float64)``````

In this example, `widemul` does not support floating-point numbers. It only works with integers and their wider types. Make sure to provide integer arguments to `widemul` to avoid such errors.