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

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

                            (if (empty? (rest (:history ind)))
                              1000000
                              (let [diffs (mapv (fn [[a b]] (- a b))
                                                (partition 2 1 (mapv (partial reduce +) (:history ind))))
                                    improvements (mapv #(if (neg? %) 1.0 0.0) 
                                                       diffs)
                                    persistence 0.5
