asin and acos wrong



(I deleted the prompt since it looks like a citation.  This is the
ANSI CL version of GCL, by the way).

(lisp-implementation-version)
"GCL-2-5.2000000000000002"

(scale-float 1.0 -24)
1.0

This seems to explain everything since the code (in trigi.lisp) is

#.(SETQ EPS #+PDP10 (FSC 1.0 -26.)
	    #+cl ;(ASH 1.0 #+3600 -24. #-3600 -31.)
	    (scale-float 1.0 -24)
            #-(or PDP10 Cl) 1.4E-8)

[...]

(DEFMFUN ASIN (NUM)
  (LET ((YFLO (FLOAT NUM)))
    (COND ((> (ABS YFLO) 1.0) (LOGARC '%ASIN YFLO))
	  ((< (ABS YFLO) #.(SQRT EPS)) YFLO)
	  (T (*$ (ATAN (ABS YFLO) (SQRT (-$ 1.0 (*$ YFLO YFLO))))
		 (IF (< YFLO 0.0) -1.0 1.0))))))

So the second clause always returns the argument.

Wolfgang