fix a bug in signed modular arithmetic
[sbcl.git] / src / compiler / srctran.lisp
index 3278e7b..7736902 100644 (file)
         (when (and (numberp low) (numberp high))
           (let ((width (max (integer-length high) (integer-length low))))
             (multiple-value-bind (w kind)
-                (best-modular-version width t)
+                (best-modular-version (1+ width) t)
               (when w
                 ;; FIXME: This should be (CUT-TO-WIDTH NODE KIND W T).
                 ;; [ see comment above in LOGAND optimizer ]