anchor.diff:         (bignum (sys.int::%%bignum-< x y))
          (ratio (ratio-< x y))
          (single-float
  -        (< x (%%truncate-single-float-to-integer y)))
  -       (double-float
  -        (< x (%%truncate-double-float-to-integer y)))))
  +        (bignum-float-compare x y single-float nil))
  +       (double-float
  +        (bignum-float-compare x y double-float nil))))
       (ratio
        (number-dispatch (y :expected-type 'real)
          ((fixnum bignum ratio) (ratio-< x y))
  
positive.code:        (fixnum
          (fixnum-float-compare y x double-float t))
         (bignum
          (< (%%truncate-double-float-to-integer x) y))
         (ratio
          (ratio-< (rational x) y))
         (single-float
  
negative.code:        (fixnum
          (fixnum-float-compare y x single-float t))
         (bignum
          (bignum-float-compare y x single-float t))
         (ratio
          (ratio-< (rational x) y))
         (single-float
  