math: fail more often with FUZZY and HARD limits
FUZZY and HARD are related because FUZZY is a tiny bit less restricted
than HARD. This change makes them both more restricted and reduces the
number of "buffer overflow" false positives.
Function returns used to not be FUZZY so I have reverted to the old
behavior. I will eventually want to store this information in the database
but it's not there now.
In handling subtraction then if we don't know one side then it doesn't
make sense to talk about HARD restrictions. Although possibly FUZZY makes
sense... I may change that later.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>