> And I'll concede my perceived necessity to denote an ambiguously signed
> infinity in exchange for the prevention of incorrectly signed infinities,
> which means that the region about 0 must be considered correspondingly
> invalid, (i.e. both are considered NaN or 0/0). yielding:
>
>
> / NaN \ or equivalently: / 0/0 \
> / | \ / | \
> -Inf | +Inf -1/0 | +1/0
> ------+------- (reciprocal projection axis) ------+------
> -0.0 | 0.0 -0.0 | +0.0
> \ | / \ | /
> \ NaN / \ 0/0 /
> | |
> 0 0
> (negative projection axis) (negative projection axis)
>
> (where NaN and +-Inf may be thought of as symbols defined as 0/0 and +-1/0)
>
> Which helps eliminates the ordering concern, although it's likely still a
> good idea to define (= -0.0 0 +0.0) => #t, and (< -0.0 0 +0.0) => #t, etc.
>
> However then 0/0 denotes all ambiguities in either sign or value, even those
> which may be very small, then Therefore:
>
> (+ +0.0 -0.0) => 0/0 [aka NaN]
>
> as otherwise:
>
> (/ (+ +0.0 -0.0 +0.0)) :: (/ (+ 0 +0.0)) :: (/ +0.0) => +Inf
>
> [which would be incorrect]
>
> Thereby one can argue that this is actually good, as then the iterative sum
> of alternating infinitely small value about 0 is considered ambiguous, which
> would typically be the case. and correspondingly yield 0/0 for all
> ambiguities in either sign or significant magnitude.
>
> (tan pi/2) => 0/0
> (/ 0.0 0.0) => 0/0
and as it may not be obvious, the difference between any two equivalently
valued inexact value is an exact 0. I.e.:
(- 1.5 1.5) => 0
as there is no inexact 0, as that would imply a value about 0 with an
ambiguous sign, which would both have a value range which overlaps +0.0,
0, and +0.0; and who's reciprocal was not self consistent. (or if one
chooses, an exact 0 is equivalent to an inexact 0, both mean absolute 0.)