     (if (or (< long-count 4)
             (< (* short-count 2) long-count))
       nil
-      (let [hm-second-q (half-match* long short (/ (+ long-count 3) 4))
-            hm-third-q (half-match* long short (/ (+ long-count 1) 2))
+      (let [hm-second-q (half-match* long short (quot (+ long-count 3) 4))
+            hm-third-q (half-match* long short (quot (+ long-count 1) 2))
             half-match (cond (and hm-second-q hm-third-q)
                              (if (> (count (first hm-second-q))
                                     (count (first hm-third-q)))


  java.lang.String
  (common-prefix [^String a ^String b]
                 (let [n (Math/min (.length a) (.length b))
                       i (loop [i 0]
                           (if (< i n)
                             (if (not= (.charAt a i) (.charAt b i))
                               i

  use the expensive diff algorithm for this."
  [a b ca cb]
  (let [[short long] (if (> ca cb) [b a] [a b])
        i (int (index-of long short))]
    (if (= i -1)
      nil
      (if (= short a)
