(log (+ number (sqrt (- (* number number) 1.0d0))) #.(exp 1.0d0)))
(declaim (inline %atanh))
(defun %atanh (number)
- (let ((ratio (/ (1+ number) (1- number))))
+ (let ((ratio (/ (+ 1 number) (- 1 number))))
;; Were we effectively zero?
(if (= ratio -1.0d0)
0.0d0
(when (zerop (logior y-ihi y-lo))
(return-from real-expt (coerce 1d0 rtype)))
;; +-NaN return x+y
+ ;; FIXME: Hardcoded qNaN/sNaN values are not portable.
(when (or (> x-ihi #x7ff00000)
(and (= x-ihi #x7ff00000) (/= x-lo 0))
(> y-ihi #x7ff00000)