anchor.diff:                                            :start position :end end))
                            (decimal-error-cond (nil :return-p t)
                              decimal-conversion-syntax))
  -                       (multiple-value-bind (iexponent slots fsld lsfd)
  -                           (%parse-decimal string position end)
  -                         (declare (ignore iexponent))
  -                         (setf (df-slots nan) slots
  -                               (df-first-slot-last-digit nan) fsld
  -                               (df-last-slot-first-digit nan) lsfd)))
  +                       (let ((position (position #\0 string :start position :end end
  +                                                 :test-not #'char=)))
  +                         (when position
  +                           (multiple-value-bind (iexponent slots fsld lsfd)
  +                               (%parse-decimal string position end)
  +                             (declare (ignore iexponent))
  +                             (setf (df-slots nan) slots
  +                                   (df-first-slot-last-digit nan) fsld
  +                                   (df-last-slot-first-digit nan) lsfd)))))
                        nan))
                     ((or (string-equal "inf" string :start2 position :end2 end)
                          (string-equal "infinity" string :start2 position :end2 end))
  
positive.code:                                         (or (digit-char-p char)
                                              (member char '(#\+ #\-))))
                                        (digit-char-p (char string (1- end))))
                             ;; parse-integer accepts leading and trailing whitespaces
                             (decimal-error-cond (nil :return-p t)
                               decimal-conversion-syntax))
                           (handler-case (parse-integer string :start (1+ e-position)
  
negative.code:                            (parse-error ()
                               (decimal-error-cond (nil :return-p t)
                                 decimal-conversion-syntax))))
                          ;; There is an "E" but no exponent after it
                          (t (decimal-error-cond (nil :return-p t)
                               decimal-conversion-syntax)))))
      (unless (plusp digits)
  