0.8.3.2:
[sbcl.git] / src / code / print.lisp
index 68dffb6..7cd5d36 100644 (file)
       (declare (ignore sig))
       (if (= x 0.0e0)
          (values (float 0.0e0 original-x) 1)
-         (let* ((ex (round (* exponent (log 2e0 10))))
+         (let* ((ex (locally (declare (optimize (safety 0)))
+                       (the fixnum
+                         (round (* exponent (log 2e0 10))))))
                 (x (if (minusp ex)
                        (if (float-denormalized-p x)
                            #!-long-float
                      (z y (* y m))
                      (ex ex (1- ex)))
                     ((>= z 0.1e0)
-                     (values (float z original-x) ex))))))))))
+                     (values (float z original-x) ex))
+                   (declare (long-float m) (integer ex))))
+              (declare (long-float d))))))))
 (eval-when (:compile-toplevel :execute)
   (setf *read-default-float-format* 'single-float))
 \f