anchor.diff:         *number-nan*)
         (0
          *number-0*)
  -      (:infinity
  -       *number-infinity*)
  -      (:-infinity
  -       *number--infinity*)
  -      (t
  -       (!number (sinh n))))))
  -
  -(defun %sqrt (x)
  -  (declare (type number-type x))
  -  (let ((n (slot-value x '-number-data)))
  -    (cond ((or (eql n :nan) (< n 0) (eql n :-infinity))
  -	   *number-nan*)
  -	  ((zerop n)
  -	   *number-0*)
  -	  ((eql n :infinity)
  -	   *number-infinity*)
  -	  (t
  -	   (!number (sqrt n))))))
  -
  -(defun %tan (x)
  -  (declare (type number-type x))
  -  (let ((n (slot-value x '-number-data)))
  -    (case n
  -      ((:nan :infinity :-infinity)
  -       *number-nan*)
  -      (0
  -       *number-0*)
  -      (t
  -       (!number (tan n))))))
  -
  -(defun %tanh (x)
  -  (declare (type number-type x))
  -  (let ((n (slot-value x '-number-data)))
  -    (case n
  -      (:nan
  -       *number-nan*)
  -      (0
  -       *number-0*)
  +      (:-0
  +       *number--0*)
         (:infinity
          (!number 1))
         (:-infinity
  
positive.code: 	  (t
  	   (!number (atan y x))))))
  
  (defun %cbrt (x)
    (declare (type number-type x))
    (let ((n (slot-value x '-number-data)))
      (case n
  
negative.code: 	  (t
  	   (!number (log n))))))
  
  (defun -math.log1p (x)
    (declare (type number-type x))
    (let ((n (slot-value x '-number-data)))
      (cond ((or (eql n :nan) (< n -1) (eql n :-infinity))
  