atan is inconsistent wrt signed 0
This problem occurs in Maxima tests (narrowed down by Kris Katterjohn):
;; ecl 16.1.2
> (log #c(0.0 -1.0))
#C(0.0 -1.5707964)
> (log #c(-0.0 -1.0))
#C(0.0 -1.5707964)
;; while on 16.1.3:
> (log #c(0.0 -1.0))
#C(0.0 -1.5707964)
> (log #c(-0.0 -1.0))
Condition of type: DIVISION-BY-ZERO
Another issue (but related) with producing NaN's (inconsistent):
(atan -0.0 -0.0) ; -1.5707964
(atan +0.0 +0.0) ; floating-point-invalid-operation