let
( - ) a b =
let
c = a - b
in
if
(a
lxor
(lnot b))
lor
(b
lxor
c) < 0
then
c
else
raise
Overflow