(defun cl:mod (number divisor)
  (if (= (abs number) (abs divisor))
      (if (and (integerp number) (integerp divisor)) 0 0.0)
      (let* ((i-quotient (/ (truncate number) (truncate divisor)))
             (f-quotient (/ (float number) divisor))
             (quotient (if (or (= i-quotient f-quotient)  ; integer result
                               (not (minusp f-quotient)))
                           (truncate f-quotient)
                           (1- (truncate f-quotient)))))
        (- number (* quotient divisor)))))
The