math: handle lists of numbers binopped together better
Say you have "x = 1,3,5" and "y = 2" then we can find "x * y" by doing the
multiplications individually 1 * 2, 3 * 2, 5 * 2. And combining the
results. The old way was just to take the highest and lowest numbers and
figuring out the range of the results.
Also this improves MOD operation a lot because that wasn't handling it
correctly if the left side was a single value.
Reported-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>