                             (throw 
                               (Exception. 
                                 ":print-history must be true for :gens-since-total-error-improvement"))
-                            (let [diffs (mapv (fn [[a b]] (- a b)) (partition 2 1 (:history ind)))]
+                            (let [diffs (mapv (fn [[a b]] (- a b)) 
+                                              (partition 2 1 (mapv (partial reduce +) 
+                                                                   (:history ind))))]
                               (if (or (empty? diffs)
                                       (not (some neg? diffs)))
                                 1000000

                            (throw 
                              (Exception. 
                                ":print-history must be true for :gens-since-total-error-change"))
                            (let [hist (:history ind)]
                              (if (or (empty? hist)
                                      (apply = hist))
                                1000000

                            (throw 
                              (Exception. 
                                ":print-history must be true for :discounted-total-error-new-best-ratio"))
                            (let [hist (mapv (partial reduce +) (:history ind))]
                              (if (empty? (rest hist))
                                1000000
                                (loop [remaining hist
