(asin (n) `(*math.asin ,n))
(acos (n) `(*math.acos ,n))
(atan (y &optional x) (if x `(*math.atan2 ,y ,x) `(*math.atan ,y)))
+ (sinh (n) `((lambda (x) (return (/ (- (exp x) (exp (- x))) 2))) ,n))
+ (cosh (n) `((lambda (x) (return (/ (+ (exp x) (exp (- x))) 2))) ,n))
+ (tanh (n) `((lambda (x) (return (/ (- (exp x) (exp (- x))) (+ (exp x) (exp (- x)))))) ,n))
+ (asinh (n) `((lambda (x) (return (log (+ x (sqrt (1+ (* x x))))))) ,n))
+ (acosh (n) `((lambda (x) (return (* 2 (log (+ (sqrt (/ (1+ x) 2)) (sqrt (/ (1- x) 2))))))) ,n))
+ (atanh (n) `((lambda (x) (return (/ (- (log (+ 1 x)) (log (- 1 x))) 2))) ,n))
(abs (n) `(*math.abs ,n))
(evenp (n) `(not (oddp ,n)))
(oddp (n) `(% ,n 2))