 (plot/list-plot (:min (:error @metrics)) :joined true)
 ;; @@
 ;; =>
-;;; {"type":"vega","content":{"axes":[{"scale":"x","type":"x"},{"scale":"y","type":"y"}],"scales":[{"name":"x","type":"linear","range":"width","zero":false,"domain":{"data":"d5fc7b63-edcb-4525-97f1-a72fe7116bc6","field":"data.x"}},{"name":"y","type":"linear","range":"height","nice":true,"zero":false,"domain":{"data":"d5fc7b63-edcb-4525-97f1-a72fe7116bc6","field":"data.y"}}],"marks":[{"type":"line","from":{"data":"d5fc7b63-edcb-4525-97f1-a72fe7116bc6"},"properties":{"enter":{"x":{"scale":"x","field":"data.x"},"y":{"scale":"y","field":"data.y"},"stroke":{"value":"#FF29D2"},"strokeWidth":{"value":2},"strokeOpacity":{"value":1}}}}],"data":[{"name":"d5fc7b63-edcb-4525-97f1-a72fe7116bc6","values":[{"x":0,"y":223.505174590454},{"x":1,"y":178.505174590454},{"x":2,"y":120.66759491494707},{"x":3,"y":54.42628957938593},{"x":4,"y":54.42628957938593},{"x":5,"y":30.087401202055677},{"x":6,"y":30.087401202055677},{"x":7,"y":30.087401202055677},{"x":8,"y":30.087401202055677},{"x":9,"y":30.087401202055677},{"x":10,"y":30.087401202055677},{"x":11,"y":30.087401202055677},{"x":12,"y":30.087401202055677},{"x":13,"y":30.087401202055677},{"x":14,"y":30.087401202055677},{"x":15,"y":30.087401202055677},{"x":16,"y":30.087401202055677},{"x":17,"y":30.087401202055677},{"x":18,"y":30.087401202055677},{"x":19,"y":30.087401202055677},{"x":20,"y":30.087401202055677},{"x":21,"y":30.087401202055677},{"x":22,"y":30.087401202055677},{"x":23,"y":30.087401202055677},{"x":24,"y":30.087401202055677},{"x":25,"y":24.164391577950525},{"x":26,"y":24.164391577950525},{"x":27,"y":30.087401202055677},{"x":28,"y":22.242347590240367},{"x":29,"y":22.242347590240367},{"x":30,"y":22.242347590240367},{"x":31,"y":22.242347590240367},{"x":32,"y":19.05659642320557},{"x":33,"y":19.05659642320557},{"x":34,"y":19.05659642320557},{"x":35,"y":19.05659642320557},{"x":36,"y":22.242347590240367},{"x":37,"y":22.242347590240367},{"x":38,"y":22.242347590240367},{"x":39,"y":22.242347590240367},{"x":40,"y":22.242347590240367},{"x":41,"y":22.242347590240367},{"x":42,"y":22.242347590240367},{"x":43,"y":22.242347590240367},{"x":44,"y":17.470457053246506},{"x":45,"y":18.315817656717563},{"x":46,"y":18.315817656717563},{"x":47,"y":18.315817656717563},{"x":48,"y":18.315817656717563},{"x":49,"y":18.315817656717563}]}],"width":400,"height":247.2187957763672,"padding":{"bottom":20,"top":10,"right":10,"left":50}},"value":"#gorilla_repl.vega.VegaView{:content {:axes [{:scale \"x\", :type \"x\"} {:scale \"y\", :type \"y\"}], :scales [{:name \"x\", :type \"linear\", :range \"width\", :zero false, :domain {:data \"d5fc7b63-edcb-4525-97f1-a72fe7116bc6\", :field \"data.x\"}} {:name \"y\", :type \"linear\", :range \"height\", :nice true, :zero false, :domain {:data \"d5fc7b63-edcb-4525-97f1-a72fe7116bc6\", :field \"data.y\"}}], :marks [{:type \"line\", :from {:data \"d5fc7b63-edcb-4525-97f1-a72fe7116bc6\"}, :properties {:enter {:x {:scale \"x\", :field \"data.x\"}, :y {:scale \"y\", :field \"data.y\"}, :stroke {:value \"#FF29D2\"}, :strokeWidth {:value 2}, :strokeOpacity {:value 1}}}}], :data [{:name \"d5fc7b63-edcb-4525-97f1-a72fe7116bc6\", :values ({:x 0, :y 223.505174590454} {:x 1, :y 178.505174590454} {:x 2, :y 120.66759491494707} {:x 3, :y 54.42628957938593} {:x 4, :y 54.42628957938593} {:x 5, :y 30.087401202055677} {:x 6, :y 30.087401202055677} {:x 7, :y 30.087401202055677} {:x 8, :y 30.087401202055677} {:x 9, :y 30.087401202055677} {:x 10, :y 30.087401202055677} {:x 11, :y 30.087401202055677} {:x 12, :y 30.087401202055677} {:x 13, :y 30.087401202055677} {:x 14, :y 30.087401202055677} {:x 15, :y 30.087401202055677} {:x 16, :y 30.087401202055677} {:x 17, :y 30.087401202055677} {:x 18, :y 30.087401202055677} {:x 19, :y 30.087401202055677} {:x 20, :y 30.087401202055677} {:x 21, :y 30.087401202055677} {:x 22, :y 30.087401202055677} {:x 23, :y 30.087401202055677} {:x 24, :y 30.087401202055677} {:x 25, :y 24.164391577950525} {:x 26, :y 24.164391577950525} {:x 27, :y 30.087401202055677} {:x 28, :y 22.242347590240367} {:x 29, :y 22.242347590240367} {:x 30, :y 22.242347590240367} {:x 31, :y 22.242347590240367} {:x 32, :y 19.05659642320557} {:x 33, :y 19.05659642320557} {:x 34, :y 19.05659642320557} {:x 35, :y 19.05659642320557} {:x 36, :y 22.242347590240367} {:x 37, :y 22.242347590240367} {:x 38, :y 22.242347590240367} {:x 39, :y 22.242347590240367} {:x 40, :y 22.242347590240367} {:x 41, :y 22.242347590240367} {:x 42, :y 22.242347590240367} {:x 43, :y 22.242347590240367} {:x 44, :y 17.470457053246506} {:x 45, :y 18.315817656717563} {:x 46, :y 18.315817656717563} {:x 47, :y 18.315817656717563} {:x 48, :y 18.315817656717563} {:x 49, :y 18.315817656717563})}], :width 400, :height 247.2188, :padding {:bottom 20, :top 10, :right 10, :left 50}}}"}
+;;; {"type":"vega","content":{"axes":[{"scale":"x","type":"x"},{"scale":"y","type":"y"}],"scales":[{"name":"x","type":"linear","range":"width","zero":false,"domain":{"data":"b740099d-a9d2-4bf8-8db2-e550dc137819","field":"data.x"}},{"name":"y","type":"linear","range":"height","nice":true,"zero":false,"domain":{"data":"b740099d-a9d2-4bf8-8db2-e550dc137819","field":"data.y"}}],"marks":[{"type":"line","from":{"data":"b740099d-a9d2-4bf8-8db2-e550dc137819"},"properties":{"enter":{"x":{"scale":"x","field":"data.x"},"y":{"scale":"y","field":"data.y"},"stroke":{"value":"#FF29D2"},"strokeWidth":{"value":2},"strokeOpacity":{"value":1}}}}],"data":[{"name":"b740099d-a9d2-4bf8-8db2-e550dc137819","values":[{"x":0,"y":515.8878421671188},{"x":1,"y":116.00057269306672},{"x":2,"y":149.39374183562254},{"x":3,"y":4.76213668062272},{"x":4,"y":3.458799713255983},{"x":5,"y":3.458799713255983},{"x":6,"y":1.619691892375399},{"x":7,"y":2.79118612199858},{"x":8,"y":0.20123392557094366},{"x":9,"y":0.20123392557094366},{"x":10,"y":1.154373011647822},{"x":11,"y":0.20123392557094366},{"x":12,"y":0.20123392557094366},{"x":13,"y":0.20123392557094366},{"x":14,"y":0.20123392557094366},{"x":15,"y":0.20123392557094366},{"x":16,"y":0.15487495708893384},{"x":17,"y":0.15487495708893384},{"x":18,"y":0.15487495708893384},{"x":19,"y":7.787561283168281},{"x":20,"y":6.923571138203412},{"x":21,"y":6.6413069050834075},{"x":22,"y":4.859615440573812},{"x":23,"y":5.414987119634954},{"x":24,"y":5.094815944800423},{"x":25,"y":5.236719624343387},{"x":26,"y":5.236719624343387},{"x":27,"y":5.256420996569606},{"x":28,"y":3.8192860175652648},{"x":29,"y":3.8192860175652648},{"x":30,"y":4.407030135856599},{"x":31,"y":5.264193523196274},{"x":32,"y":5.264193523196274},{"x":33,"y":5.264193523196274},{"x":34,"y":4.901847948514247},{"x":35,"y":5.264193523196274},{"x":36,"y":3.6297801937235876},{"x":37,"y":5.264193523196274},{"x":38,"y":5.264193523196274},{"x":39,"y":4.770330662590287},{"x":40,"y":4.770330662590287},{"x":41,"y":4.357467939496756},{"x":42,"y":4.4265105575422075},{"x":43,"y":4.4265105575422075},{"x":44,"y":4.901847948514247},{"x":45,"y":5.264193523196274},{"x":46,"y":4.824581517679444},{"x":47,"y":3.4118193456639236},{"x":48,"y":3.4118193456639236},{"x":49,"y":3.4118193456639236}]}],"width":400,"height":247.2187957763672,"padding":{"bottom":20,"top":10,"right":10,"left":50}},"value":"#gorilla_repl.vega.VegaView{:content {:axes [{:scale \"x\", :type \"x\"} {:scale \"y\", :type \"y\"}], :scales [{:name \"x\", :type \"linear\", :range \"width\", :zero false, :domain {:data \"b740099d-a9d2-4bf8-8db2-e550dc137819\", :field \"data.x\"}} {:name \"y\", :type \"linear\", :range \"height\", :nice true, :zero false, :domain {:data \"b740099d-a9d2-4bf8-8db2-e550dc137819\", :field \"data.y\"}}], :marks [{:type \"line\", :from {:data \"b740099d-a9d2-4bf8-8db2-e550dc137819\"}, :properties {:enter {:x {:scale \"x\", :field \"data.x\"}, :y {:scale \"y\", :field \"data.y\"}, :stroke {:value \"#FF29D2\"}, :strokeWidth {:value 2}, :strokeOpacity {:value 1}}}}], :data [{:name \"b740099d-a9d2-4bf8-8db2-e550dc137819\", :values ({:x 0, :y 515.8878421671188} {:x 1, :y 116.00057269306672} {:x 2, :y 149.39374183562254} {:x 3, :y 4.76213668062272} {:x 4, :y 3.458799713255983} {:x 5, :y 3.458799713255983} {:x 6, :y 1.619691892375399} {:x 7, :y 2.79118612199858} {:x 8, :y 0.20123392557094366} {:x 9, :y 0.20123392557094366} {:x 10, :y 1.154373011647822} {:x 11, :y 0.20123392557094366} {:x 12, :y 0.20123392557094366} {:x 13, :y 0.20123392557094366} {:x 14, :y 0.20123392557094366} {:x 15, :y 0.20123392557094366} {:x 16, :y 0.15487495708893384} {:x 17, :y 0.15487495708893384} {:x 18, :y 0.15487495708893384} {:x 19, :y 7.787561283168281} {:x 20, :y 6.923571138203412} {:x 21, :y 6.6413069050834075} {:x 22, :y 4.859615440573812} {:x 23, :y 5.414987119634954} {:x 24, :y 5.094815944800423} {:x 25, :y 5.236719624343387} {:x 26, :y 5.236719624343387} {:x 27, :y 5.256420996569606} {:x 28, :y 3.8192860175652648} {:x 29, :y 3.8192860175652648} {:x 30, :y 4.407030135856599} {:x 31, :y 5.264193523196274} {:x 32, :y 5.264193523196274} {:x 33, :y 5.264193523196274} {:x 34, :y 4.901847948514247} {:x 35, :y 5.264193523196274} {:x 36, :y 3.6297801937235876} {:x 37, :y 5.264193523196274} {:x 38, :y 5.264193523196274} {:x 39, :y 4.770330662590287} {:x 40, :y 4.770330662590287} {:x 41, :y 4.357467939496756} {:x 42, :y 4.4265105575422075} {:x 43, :y 4.4265105575422075} {:x 44, :y 4.901847948514247} {:x 45, :y 5.264193523196274} {:x 46, :y 4.824581517679444} {:x 47, :y 3.4118193456639236} {:x 48, :y 3.4118193456639236} {:x 49, :y 3.4118193456639236})}], :width 400, :height 247.2188, :padding {:bottom 20, :top 10, :right 10, :left 50}}}"}
 ;; <=
 
 ;; @@
 (:time @metrics)
 ;; @@
 ;; =>
-;;; {"type":"list-like","open":"<span class='clj-vector'>[</span>","close":"<span class='clj-vector'>]</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-long'>10</span>","value":"10"},{"type":"html","content":"<span class='clj-long'>12</span>","value":"12"},{"type":"html","content":"<span class='clj-long'>10</span>","value":"10"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>12</span>","value":"12"},{"type":"html","content":"<span class='clj-long'>12</span>","value":"12"},{"type":"html","content":"<span class='clj-long'>8</span>","value":"8"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>8</span>","value":"8"},{"type":"html","content":"<span class='clj-long'>8</span>","value":"8"},{"type":"html","content":"<span class='clj-long'>7</span>","value":"7"},{"type":"html","content":"<span class='clj-long'>8</span>","value":"8"},{"type":"html","content":"<span class='clj-long'>8</span>","value":"8"},{"type":"html","content":"<span class='clj-long'>8</span>","value":"8"},{"type":"html","content":"<span class='clj-long'>8</span>","value":"8"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>10</span>","value":"10"},{"type":"html","content":"<span class='clj-long'>8</span>","value":"8"},{"type":"html","content":"<span class='clj-long'>8</span>","value":"8"},{"type":"html","content":"<span class='clj-long'>8</span>","value":"8"},{"type":"html","content":"<span class='clj-long'>10</span>","value":"10"},{"type":"html","content":"<span class='clj-long'>11</span>","value":"11"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>10</span>","value":"10"},{"type":"html","content":"<span class='clj-long'>8</span>","value":"8"},{"type":"html","content":"<span class='clj-long'>8</span>","value":"8"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>10</span>","value":"10"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>10</span>","value":"10"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>11</span>","value":"11"},{"type":"html","content":"<span class='clj-long'>10</span>","value":"10"},{"type":"html","content":"<span class='clj-long'>11</span>","value":"11"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>10</span>","value":"10"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>10</span>","value":"10"},{"type":"html","content":"<span class='clj-long'>11</span>","value":"11"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>10</span>","value":"10"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"},{"type":"html","content":"<span class='clj-long'>9</span>","value":"9"}],"value":"[10 12 10 9 12 12 8 9 8 8 7 8 8 8 8 9 10 8 8 8 10 11 9 9 10 8 8 9 9 10 9 9 10 9 9 11 10 11 9 9 10 9 9 9 10 11 9 10 9 9]"}
+;;; {"type":"list-like","open":"<span class='clj-vector'>[</span>","close":"<span class='clj-vector'>]</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-long'>75</span>","value":"75"},{"type":"html","content":"<span class='clj-long'>59</span>","value":"59"},{"type":"html","content":"<span class='clj-long'>51</span>","value":"51"},{"type":"html","content":"<span class='clj-long'>53</span>","value":"53"},{"type":"html","content":"<span class='clj-long'>63</span>","value":"63"},{"type":"html","content":"<span class='clj-long'>70</span>","value":"70"},{"type":"html","content":"<span class='clj-long'>61</span>","value":"61"},{"type":"html","content":"<span class='clj-long'>57</span>","value":"57"},{"type":"html","content":"<span class='clj-long'>45</span>","value":"45"},{"type":"html","content":"<span class='clj-long'>37</span>","value":"37"},{"type":"html","content":"<span class='clj-long'>41</span>","value":"41"},{"type":"html","content":"<span class='clj-long'>51</span>","value":"51"},{"type":"html","content":"<span class='clj-long'>56</span>","value":"56"},{"type":"html","content":"<span class='clj-long'>42</span>","value":"42"},{"type":"html","content":"<span class='clj-long'>42</span>","value":"42"},{"type":"html","content":"<span class='clj-long'>39</span>","value":"39"},{"type":"html","content":"<span class='clj-long'>39</span>","value":"39"},{"type":"html","content":"<span class='clj-long'>47</span>","value":"47"},{"type":"html","content":"<span class='clj-long'>41</span>","value":"41"},{"type":"html","content":"<span class='clj-long'>42</span>","value":"42"},{"type":"html","content":"<span class='clj-long'>42</span>","value":"42"},{"type":"html","content":"<span class='clj-long'>41</span>","value":"41"},{"type":"html","content":"<span class='clj-long'>48</span>","value":"48"},{"type":"html","content":"<span class='clj-long'>43</span>","value":"43"},{"type":"html","content":"<span class='clj-long'>46</span>","value":"46"},{"type":"html","content":"<span class='clj-long'>46</span>","value":"46"},{"type":"html","content":"<span class='clj-long'>47</span>","value":"47"},{"type":"html","content":"<span class='clj-long'>48</span>","value":"48"},{"type":"html","content":"<span class='clj-long'>51</span>","value":"51"},{"type":"html","content":"<span class='clj-long'>58</span>","value":"58"},{"type":"html","content":"<span class='clj-long'>48</span>","value":"48"},{"type":"html","content":"<span class='clj-long'>47</span>","value":"47"},{"type":"html","content":"<span class='clj-long'>62</span>","value":"62"},{"type":"html","content":"<span class='clj-long'>41</span>","value":"41"},{"type":"html","content":"<span class='clj-long'>51</span>","value":"51"},{"type":"html","content":"<span class='clj-long'>49</span>","value":"49"},{"type":"html","content":"<span class='clj-long'>48</span>","value":"48"},{"type":"html","content":"<span class='clj-long'>47</span>","value":"47"},{"type":"html","content":"<span class='clj-long'>47</span>","value":"47"},{"type":"html","content":"<span class='clj-long'>48</span>","value":"48"},{"type":"html","content":"<span class='clj-long'>57</span>","value":"57"},{"type":"html","content":"<span class='clj-long'>51</span>","value":"51"},{"type":"html","content":"<span class='clj-long'>45</span>","value":"45"},{"type":"html","content":"<span class='clj-long'>45</span>","value":"45"},{"type":"html","content":"<span class='clj-long'>51</span>","value":"51"},{"type":"html","content":"<span class='clj-long'>50</span>","value":"50"},{"type":"html","content":"<span class='clj-long'>72</span>","value":"72"},{"type":"html","content":"<span class='clj-long'>64</span>","value":"64"},{"type":"html","content":"<span class='clj-long'>51</span>","value":"51"},{"type":"html","content":"<span class='clj-long'>45</span>","value":"45"}],"value":"[75 59 51 53 63 70 61 57 45 37 41 51 56 42 42 39 39 47 41 42 42 41 48 43 46 46 47 48 51 58 48 47 62 41 51 49 48 47 47 48 57 51 45 45 51 50 72 64 51 45]"}
 ;; <=
 
 ;; @@
 (first (sort-by :error < (:rabble result)))
 ;; @@
 ;; =>
-;;; {"type":"list-like","open":"<span class='clj-map'>{</span>","close":"<span class='clj-map'>}</span>","separator":", ","items":[{"type":"list-like","open":"","close":"","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:error-pp</span>","value":":error-pp"},{"type":"html","content":"<span class='clj-double'>29.315817656717563</span>","value":"29.315817656717563"}],"value":"[:error-pp 29.315817656717563]"},{"type":"list-like","open":"","close":"","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:error</span>","value":":error"},{"type":"html","content":"<span class='clj-double'>18.315817656717563</span>","value":"18.315817656717563"}],"value":"[:error 18.315817656717563]"},{"type":"list-like","open":"","close":"","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:complexity</span>","value":":complexity"},{"type":"html","content":"<span class='clj-long'>11</span>","value":"11"}],"value":"[:complexity 11]"},{"type":"list-like","open":"","close":"","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:genotype</span>","value":":genotype"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:times</span>","value":":times"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:plus</span>","value":":plus"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:plus</span>","value":":plus"},{"type":"html","content":"<span class='clj-symbol'>x</span>","value":"x"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:times</span>","value":":times"},{"type":"html","content":"<span class='clj-double'>1.360166563753114</span>","value":"1.360166563753114"},{"type":"html","content":"<span class='clj-symbol'>x</span>","value":"x"}],"value":"(:times 1.360166563753114 x)"}],"value":"(:plus x (:times 1.360166563753114 x))"},{"type":"html","content":"<span class='clj-double'>0.31649068804563907</span>","value":"0.31649068804563907"}],"value":"(:plus (:plus x (:times 1.360166563753114 x)) 0.31649068804563907)"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:times</span>","value":":times"},{"type":"html","content":"<span class='clj-double'>1.360166563753114</span>","value":"1.360166563753114"},{"type":"html","content":"<span class='clj-symbol'>x</span>","value":"x"}],"value":"(:times 1.360166563753114 x)"}],"value":"(:times (:plus (:plus x (:times 1.360166563753114 x)) 0.31649068804563907) (:times 1.360166563753114 x))"}],"value":"[:genotype (:times (:plus (:plus x (:times 1.360166563753114 x)) 0.31649068804563907) (:times 1.360166563753114 x))]"},{"type":"list-like","open":"","close":"","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:age</span>","value":":age"},{"type":"html","content":"<span class='clj-long'>50</span>","value":"50"}],"value":"[:age 50]"}],"value":"{:error-pp 29.315817656717563, :error 18.315817656717563, :complexity 11, :genotype (:times (:plus (:plus x (:times 1.360166563753114 x)) 0.31649068804563907) (:times 1.360166563753114 x)), :age 50}"}
+;;; {"type":"list-like","open":"<span class='clj-map'>{</span>","close":"<span class='clj-map'>}</span>","separator":", ","items":[{"type":"list-like","open":"","close":"","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:error-pp</span>","value":":error-pp"},{"type":"html","content":"<span class='clj-double'>173.41181934566393</span>","value":"173.41181934566393"}],"value":"[:error-pp 173.41181934566393]"},{"type":"list-like","open":"","close":"","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:error</span>","value":":error"},{"type":"html","content":"<span class='clj-double'>3.4118193456639236</span>","value":"3.4118193456639236"}],"value":"[:error 3.4118193456639236]"},{"type":"list-like","open":"","close":"","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:complexity</span>","value":":complexity"},{"type":"html","content":"<span class='clj-long'>34</span>","value":"34"}],"value":"[:complexity 34]"},{"type":"list-like","open":"","close":"","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:genotype</span>","value":":genotype"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:plus</span>","value":":plus"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:plus</span>","value":":plus"},{"type":"list-like","open":"<span class='clj-lazy-seq'>(</span>","close":"<span class='clj-lazy-seq'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:cos</span>","value":":cos"},{"type":"html","content":"<span class='clj-double'>1.8258450861912114</span>","value":"1.8258450861912114"}],"value":"(:cos 1.8258450861912114)"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:plus</span>","value":":plus"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:cos</span>","value":":cos"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:div</span>","value":":div"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:sin</span>","value":":sin"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:div</span>","value":":div"},{"type":"html","content":"<span class='clj-symbol'>x</span>","value":"x"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:times</span>","value":":times"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:times</span>","value":":times"},{"type":"html","content":"<span class='clj-symbol'>x</span>","value":"x"},{"type":"html","content":"<span class='clj-symbol'>x</span>","value":"x"}],"value":"(:times x x)"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:minus</span>","value":":minus"},{"type":"html","content":"<span class='clj-double'>1.4109862949116865</span>","value":"1.4109862949116865"},{"type":"html","content":"<span class='clj-double'>1.8189268005097117</span>","value":"1.8189268005097117"}],"value":"(:minus 1.4109862949116865 1.8189268005097117)"}],"value":"(:times (:times x x) (:minus 1.4109862949116865 1.8189268005097117))"}],"value":"(:div x (:times (:times x x) (:minus 1.4109862949116865 1.8189268005097117)))"}],"value":"(:sin (:div x (:times (:times x x) (:minus 1.4109862949116865 1.8189268005097117))))"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:sin</span>","value":":sin"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:cos</span>","value":":cos"},{"type":"list-like","open":"<span class='clj-list'>(</span>","close":"<span class='clj-list'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:sin</span>","value":":sin"},{"type":"html","content":"<span class='clj-double'>1.8189268005097117</span>","value":"1.8189268005097117"}],"value":"(:sin 1.8189268005097117)"}],"value":"(:cos (:sin 1.8189268005097117))"}],"value":"(:sin (:cos (:sin 1.8189268005097117)))"}],"value":"(:div (:sin (:div x (:times (:times x x) (:minus 1.4109862949116865 1.8189268005097117)))) (:sin (:cos (:sin 1.8189268005097117))))"}],"value":"(:cos (:div (:sin (:div x (:times (:times x x) (:minus 1.4109862949116865 1.8189268005097117)))) (:sin (:cos (:sin 1.8189268005097117)))))"},{"type":"list-like","open":"<span class='clj-lazy-seq'>(</span>","close":"<span class='clj-lazy-seq'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:plus</span>","value":":plus"},{"type":"list-like","open":"<span class='clj-lazy-seq'>(</span>","close":"<span class='clj-lazy-seq'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:cos</span>","value":":cos"},{"type":"html","content":"<span class='clj-double'>0.15322189673287234</span>","value":"0.15322189673287234"}],"value":"(:cos 0.15322189673287234)"},{"type":"list-like","open":"<span class='clj-lazy-seq'>(</span>","close":"<span class='clj-lazy-seq'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:times</span>","value":":times"},{"type":"html","content":"<span class='clj-symbol'>x</span>","value":"x"},{"type":"list-like","open":"<span class='clj-lazy-seq'>(</span>","close":"<span class='clj-lazy-seq'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:plus</span>","value":":plus"},{"type":"html","content":"<span class='clj-symbol'>x</span>","value":"x"},{"type":"html","content":"<span class='clj-double'>1.7874436923789487</span>","value":"1.7874436923789487"}],"value":"(:plus x 1.7874436923789487)"}],"value":"(:times x (:plus x 1.7874436923789487))"}],"value":"(:plus (:cos 0.15322189673287234) (:times x (:plus x 1.7874436923789487)))"}],"value":"(:plus (:cos (:div (:sin (:div x (:times (:times x x) (:minus 1.4109862949116865 1.8189268005097117)))) (:sin (:cos (:sin 1.8189268005097117))))) (:plus (:cos 0.15322189673287234) (:times x (:plus x 1.7874436923789487))))"}],"value":"(:plus (:cos 1.8258450861912114) (:plus (:cos (:div (:sin (:div x (:times (:times x x) (:minus 1.4109862949116865 1.8189268005097117)))) (:sin (:cos (:sin 1.8189268005097117))))) (:plus (:cos 0.15322189673287234) (:times x (:plus x 1.7874436923789487)))))"},{"type":"list-like","open":"<span class='clj-lazy-seq'>(</span>","close":"<span class='clj-lazy-seq'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:times</span>","value":":times"},{"type":"html","content":"<span class='clj-symbol'>x</span>","value":"x"},{"type":"list-like","open":"<span class='clj-lazy-seq'>(</span>","close":"<span class='clj-lazy-seq'>)</span>","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:plus</span>","value":":plus"},{"type":"html","content":"<span class='clj-symbol'>x</span>","value":"x"},{"type":"html","content":"<span class='clj-symbol'>x</span>","value":"x"}],"value":"(:plus x x)"}],"value":"(:times x (:plus x x))"}],"value":"(:plus (:plus (:cos 1.8258450861912114) (:plus (:cos (:div (:sin (:div x (:times (:times x x) (:minus 1.4109862949116865 1.8189268005097117)))) (:sin (:cos (:sin 1.8189268005097117))))) (:plus (:cos 0.15322189673287234) (:times x (:plus x 1.7874436923789487))))) (:times x (:plus x x)))"}],"value":"[:genotype (:plus (:plus (:cos 1.8258450861912114) (:plus (:cos (:div (:sin (:div x (:times (:times x x) (:minus 1.4109862949116865 1.8189268005097117)))) (:sin (:cos (:sin 1.8189268005097117))))) (:plus (:cos 0.15322189673287234) (:times x (:plus x 1.7874436923789487))))) (:times x (:plus x x)))]"},{"type":"list-like","open":"","close":"","separator":" ","items":[{"type":"html","content":"<span class='clj-keyword'>:age</span>","value":":age"},{"type":"html","content":"<span class='clj-long'>50</span>","value":"50"}],"value":"[:age 50]"}],"value":"{:error-pp 173.41181934566393, :error 3.4118193456639236, :complexity 34, :genotype (:plus (:plus (:cos 1.8258450861912114) (:plus (:cos (:div (:sin (:div x (:times (:times x x) (:minus 1.4109862949116865 1.8189268005097117)))) (:sin (:cos (:sin 1.8189268005097117))))) (:plus (:cos 0.15322189673287234) (:times x (:plus x 1.7874436923789487))))) (:times x (:plus x x))), :age 50}"}
+;; <=
+
+;; @@
+(plot/histogram (map :complexity (:rabble result)))
+;; @@
+;; =>
+;;; {"type":"vega","content":{"axes":[{"scale":"x","type":"x"},{"scale":"y","type":"y"}],"scales":[{"name":"x","type":"linear","range":"width","zero":false,"domain":{"data":"5fd7a621-0ada-4946-bf6c-a42dca871cc7","field":"data.x"}},{"name":"y","type":"linear","range":"height","nice":true,"zero":false,"domain":{"data":"5fd7a621-0ada-4946-bf6c-a42dca871cc7","field":"data.y"}}],"marks":[{"type":"line","from":{"data":"5fd7a621-0ada-4946-bf6c-a42dca871cc7"},"properties":{"enter":{"x":{"scale":"x","field":"data.x"},"y":{"scale":"y","field":"data.y"},"interpolate":{"value":"step-before"},"fill":{"value":"steelblue"},"fillOpacity":{"value":0.4},"stroke":{"value":"steelblue"},"strokeWidth":{"value":2},"strokeOpacity":{"value":1}}}}],"data":[{"name":"5fd7a621-0ada-4946-bf6c-a42dca871cc7","values":[{"x":1.0,"y":0},{"x":8.375,"y":2.0},{"x":15.75,"y":5.0},{"x":23.125,"y":5.0},{"x":30.5,"y":2.0},{"x":37.875,"y":3.0},{"x":45.25,"y":8.0},{"x":52.625,"y":10.0},{"x":60.0,"y":50.0},{"x":67.375,"y":5.0},{"x":74.75,"y":0}]}],"width":400,"height":247.2187957763672,"padding":{"bottom":20,"top":10,"right":10,"left":50}},"value":"#gorilla_repl.vega.VegaView{:content {:axes [{:scale \"x\", :type \"x\"} {:scale \"y\", :type \"y\"}], :scales [{:name \"x\", :type \"linear\", :range \"width\", :zero false, :domain {:data \"5fd7a621-0ada-4946-bf6c-a42dca871cc7\", :field \"data.x\"}} {:name \"y\", :type \"linear\", :range \"height\", :nice true, :zero false, :domain {:data \"5fd7a621-0ada-4946-bf6c-a42dca871cc7\", :field \"data.y\"}}], :marks [{:type \"line\", :from {:data \"5fd7a621-0ada-4946-bf6c-a42dca871cc7\"}, :properties {:enter {:x {:scale \"x\", :field \"data.x\"}, :y {:scale \"y\", :field \"data.y\"}, :interpolate {:value \"step-before\"}, :fill {:value \"steelblue\"}, :fillOpacity {:value 0.4}, :stroke {:value \"steelblue\"}, :strokeWidth {:value 2}, :strokeOpacity {:value 1}}}}], :data [{:name \"5fd7a621-0ada-4946-bf6c-a42dca871cc7\", :values ({:x 1.0, :y 0} {:x 8.375, :y 2.0} {:x 15.75, :y 5.0} {:x 23.125, :y 5.0} {:x 30.5, :y 2.0} {:x 37.875, :y 3.0} {:x 45.25, :y 8.0} {:x 52.625, :y 10.0} {:x 60.0, :y 50.0} {:x 67.375, :y 5.0} {:x 74.75, :y 0})}], :width 400, :height 247.2188, :padding {:bottom 20, :top 10, :right 10, :left 50}}}"}
+;; <=
+
+;; @@
+(plot/list-plot (:mean (:complexity @metrics)) :joined true)
+;; @@
+;; =>
+;;; {"type":"vega","content":{"axes":[{"scale":"x","type":"x"},{"scale":"y","type":"y"}],"scales":[{"name":"x","type":"linear","range":"width","zero":false,"domain":{"data":"28a63b4c-4d93-4149-a03e-3689ab99699a","field":"data.x"}},{"name":"y","type":"linear","range":"height","nice":true,"zero":false,"domain":{"data":"28a63b4c-4d93-4149-a03e-3689ab99699a","field":"data.y"}}],"marks":[{"type":"line","from":{"data":"28a63b4c-4d93-4149-a03e-3689ab99699a"},"properties":{"enter":{"x":{"scale":"x","field":"data.x"},"y":{"scale":"y","field":"data.y"},"stroke":{"value":"#FF29D2"},"strokeWidth":{"value":2},"strokeOpacity":{"value":1}}}}],"data":[{"name":"28a63b4c-4d93-4149-a03e-3689ab99699a","values":[{"x":0,"y":11.83333333333333},{"x":1,"y":13.33333333333333},{"x":2,"y":13.82222222222222},{"x":3,"y":16.31111111111111},{"x":4,"y":18.57777777777778},{"x":5,"y":19.01111111111111},{"x":6,"y":17.04444444444444},{"x":7,"y":16.77777777777778},{"x":8,"y":16.58888888888889},{"x":9,"y":16.43333333333333},{"x":10,"y":19.91111111111111},{"x":11,"y":21.22222222222222},{"x":12,"y":22.4},{"x":13,"y":20.6},{"x":14,"y":20.84444444444444},{"x":15,"y":19.78888888888889},{"x":16,"y":18.76666666666667},{"x":17,"y":23.63333333333333},{"x":18,"y":24.83333333333333},{"x":19,"y":26.94444444444444},{"x":20,"y":31.18888888888889},{"x":21,"y":30.38888888888889},{"x":22,"y":32.21111111111111},{"x":23,"y":35.71111111111111},{"x":24,"y":41.32222222222222},{"x":25,"y":41.81111111111111},{"x":26,"y":41.0},{"x":27,"y":43.36666666666667},{"x":28,"y":43.65555555555556},{"x":29,"y":45.4},{"x":30,"y":43.4},{"x":31,"y":47.97777777777778},{"x":32,"y":49.15555555555556},{"x":33,"y":45.82222222222222},{"x":34,"y":47.96666666666667},{"x":35,"y":46.54444444444444},{"x":36,"y":45.88888888888889},{"x":37,"y":45.64444444444444},{"x":38,"y":46.71111111111111},{"x":39,"y":49.76666666666667},{"x":40,"y":48.42222222222222},{"x":41,"y":47.85555555555556},{"x":42,"y":49.44444444444444},{"x":43,"y":47.47777777777778},{"x":44,"y":48.51111111111111},{"x":45,"y":48.81111111111111},{"x":46,"y":51.64444444444444},{"x":47,"y":49.42222222222222},{"x":48,"y":47.52222222222222},{"x":49,"y":48.03333333333333}]}],"width":400,"height":247.2187957763672,"padding":{"bottom":20,"top":10,"right":10,"left":50}},"value":"#gorilla_repl.vega.VegaView{:content {:axes [{:scale \"x\", :type \"x\"} {:scale \"y\", :type \"y\"}], :scales [{:name \"x\", :type \"linear\", :range \"width\", :zero false, :domain {:data \"28a63b4c-4d93-4149-a03e-3689ab99699a\", :field \"data.x\"}} {:name \"y\", :type \"linear\", :range \"height\", :nice true, :zero false, :domain {:data \"28a63b4c-4d93-4149-a03e-3689ab99699a\", :field \"data.y\"}}], :marks [{:type \"line\", :from {:data \"28a63b4c-4d93-4149-a03e-3689ab99699a\"}, :properties {:enter {:x {:scale \"x\", :field \"data.x\"}, :y {:scale \"y\", :field \"data.y\"}, :stroke {:value \"#FF29D2\"}, :strokeWidth {:value 2}, :strokeOpacity {:value 1}}}}], :data [{:name \"28a63b4c-4d93-4149-a03e-3689ab99699a\", :values ({:x 0, :y 11.83333333333333} {:x 1, :y 13.33333333333333} {:x 2, :y 13.82222222222222} {:x 3, :y 16.31111111111111} {:x 4, :y 18.57777777777778} {:x 5, :y 19.01111111111111} {:x 6, :y 17.04444444444444} {:x 7, :y 16.77777777777778} {:x 8, :y 16.58888888888889} {:x 9, :y 16.43333333333333} {:x 10, :y 19.91111111111111} {:x 11, :y 21.22222222222222} {:x 12, :y 22.4} {:x 13, :y 20.6} {:x 14, :y 20.84444444444444} {:x 15, :y 19.78888888888889} {:x 16, :y 18.76666666666667} {:x 17, :y 23.63333333333333} {:x 18, :y 24.83333333333333} {:x 19, :y 26.94444444444444} {:x 20, :y 31.18888888888889} {:x 21, :y 30.38888888888889} {:x 22, :y 32.21111111111111} {:x 23, :y 35.71111111111111} {:x 24, :y 41.32222222222222} {:x 25, :y 41.81111111111111} {:x 26, :y 41.0} {:x 27, :y 43.36666666666667} {:x 28, :y 43.65555555555556} {:x 29, :y 45.4} {:x 30, :y 43.4} {:x 31, :y 47.97777777777778} {:x 32, :y 49.15555555555556} {:x 33, :y 45.82222222222222} {:x 34, :y 47.96666666666667} {:x 35, :y 46.54444444444444} {:x 36, :y 45.88888888888889} {:x 37, :y 45.64444444444444} {:x 38, :y 46.71111111111111} {:x 39, :y 49.76666666666667} {:x 40, :y 48.42222222222222} {:x 41, :y 47.85555555555556} {:x 42, :y 49.44444444444444} {:x 43, :y 47.47777777777778} {:x 44, :y 48.51111111111111} {:x 45, :y 48.81111111111111} {:x 46, :y 51.64444444444444} {:x 47, :y 49.42222222222222} {:x 48, :y 47.52222222222222} {:x 49, :y 48.03333333333333})}], :width 400, :height 247.2188, :padding {:bottom 20, :top 10, :right 10, :left 50}}}"}
 ;; <=
 
 ;; **

  (let [vars '[x]
        functions expression/function-symbols
        terminals (expression/make-terminals vars)
        ea-config (sso/sso-ea-config
                    {:tournament-size 5
                     :goal :error-pp
                     :binary-ops [{:op (partial genetics/ninety-ten-sl-crossover 80) :repeat 35}]
                     :unary-ops [{:op (partial genetics/random-tree-mutation functions terminals 5) :repeat 10}
                                 {:op identity :repeat 20}]})]
    {:initial-zeitgeist      (evolution/make-zeitgeist
                               (genetics/ramped-half-and-half-population functions terminals 100 6))
     :ea-config              ea-config
     :score-functions        {:complexity (memoize score/size)
                              :error (memoize (partial score/abs-error vars data))
                              :error-pp (memoize (partial score/abs-error-pp vars data 1))}
     :stopping-condition     #(>= (:age %) 50)
     :reporting-function     (fn [z] (print ".") (flush))}))
;; @@

;; **

;; @@
(def data-sin (map (fn [x] [[x] (Math/sin (/ x 5))]) (range 40)))
;; @@
;; =>
;;; {"type":"html","content":"<span class='clj-var'>#&#x27;algebolic.demo.simple-sr/data-sin</span>","value":"#'algebolic.demo.simple-sr/data-sin"}
