Generate smaller expressions for bounds of x * constant
Bounds inference now goes inside-out

Fixes bugs due to inner bounds that depend on outer bounds.
Simplification rule for clamp(x, y, y)