pub fn square(a: Interval) -> Interval
Tighter squaring of an interval (tighter than a * a).
a * a
0 ∈ a
[0, max(lo², hi²)]
[min(lo², hi²), max(lo², hi²)]