 ;; @@
 (def run-config
   (let [vars '[x]
-        functions (expression/get-function-symbols #{:plus :minus :times :sin :cos})
+        functions (expression/get-function-symbols #{:plus :minus :times})
         terminals (expression/make-terminals vars)
+        size-limit 128
         ea-config (sso/sso-ea-config
-                    {:tournament-size 5
-                     :goal :error-pp
-                     :binary-ops [{:op (partial genetics/ninety-ten-sl-crossover 80) :repeat 25}]
-                     :unary-ops [{:op (partial genetics/random-tree-mutation functions terminals 5) :repeat 10}
-                                 {:op identity :repeat 40}]})]
+                    {:tournament-size 3
+                     :goal :error
+                     :binary-ops [{:op (partial genetics/ninety-ten-sl-crossover size-limit) :repeat 40}]
+                     :unary-ops [{:op (partial genetics/random-tree-mutation functions terminals 5) :repeat 5}
+                                 {:op identity :repeat 5}]})
+        score-functions {:complexity score/size
+                         :error (partial score/chi-squared vars data-sin)
+                         ;;:error-pp (partial score/chi-squared-pp vars data-sin 0.001)
+                         }]
     {:initial-zeitgeist      (evolution/make-zeitgeist
-                               (genetics/ramped-half-and-half-population functions terminals 100 8))
+                               (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-sin))
-                              :error-pp (memoize (partial score/abs-error-pp vars data-sin 0.08))}
+     :score-functions        score-functions
+     :transformations        [(partial transform/apply-to-fraction
+                                       (partial transform/hill-descent
+                                                genetics/twiddle-constants
+                                                (:error score-functions))
+                                       0.5)
+                              #(map (partial transform/apply-to-genotype
+                                             (partial genetics/trim-hard size-limit)) %)]
      :stopping-condition     #(>= (:age %) 500)
      :reporting-function     (fn [z] (print ".") (flush))}))
 ;; @@

  (plot/list-plot (map (fn [x] [(first (first x)) (second x)]) data-sin))
  (plot/plot
    (expression/functionalise (:genotype (first (sort-by :error < (:rabble result)))) '[x])
    [0 40]))
;; @@
;; =>
;;; {"type":"vega","content":{"width":400,"height":247.2187957763672,"padding":{"bottom":20,"top":10,"right":10,"left":50},"scales":[{"name":"x","type":"linear","range":"width","zero":false,"domain":{"data":"425b470e-4846-4706-a1b6-97f9a62b62b8","field":"data.x"}},{"name":"y","type":"linear","range":"height","nice":true,"zero":false,"domain":{"data":"425b470e-4846-4706-a1b6-97f9a62b62b8","field":"data.y"}}],"axes":[{"scale":"x","type":"x"},{"scale":"y","type":"y"}],"data":[{"name":"425b470e-4846-4706-a1b6-97f9a62b62b8","values":[{"x":0,"y":1.0},{"x":1,"y":1.143626277109799},{"x":2,"y":1.1753056030855984},{"x":3,"y":1.104944779263175},{"x":4,"y":0.9525936642025125},{"x":5,"y":0.7457474367935206},{"x":6,"y":0.5158922494200839},{"x":7,"y":0.29469159023858404},{"x":8,"y":0.11024703482846354},{"x":9,"y":-0.016144865722250268},{"x":10,"y":-0.07237657788539742},{"x":11,"y":-0.05679043911664561},{"x":12,"y":0.021819559687539014},{"x":13,"y":0.14545805485892604},{"x":14,"y":0.28928176541732464},{"x":15,"y":0.42478219352309343},{"x":16,"y":0.5234293464315906},{"x":17,"y":0.5603552107751018},{"x":18,"y":0.5176498433555137},{"x":19,"y":0.3868849602859007},{"x":20,"y":0.17056520774304706},{"x":21,"y":-0.11767351807028359},{"x":22,"y":-0.45415943277239956},{"x":23,"y":-0.807469499743233},{"x":24,"y":-1.141664642644454},{"x":25,"y":-1.420128313826326},{"x":26,"y":-1.6095905428628794},{"x":27,"y":-1.6838947494406642},{"x":28,"y":-1.6270884906605791},{"x":29,"y":-1.4354894716976325},{"x":30,"y":-1.1184870272753784},{"x":31,"y":-0.6979750502450677},{"x":32,"y":-0.20646019352488287},{"x":33,"y":0.3159670615014286},{"x":34,"y":0.8254869376261842},{"x":35,"y":1.2788284454840708},{"x":36,"y":1.6375218225816455},{"x":37,"y":1.8716775690052636},{"x":38,"y":1.962894237792031},{"x":39,"y":1.9059901268248012}]},{"name":"d1c6c5da-fd15-4df3-898b-cb549c6acbbf","values":[{"x":0,"y":0.8872067169538923},{"x":0.4000000059604645,"y":0.9215330338954979},{"x":0.800000011920929,"y":0.9500264802293128},{"x":1.2000000178813934,"y":0.9725006230335063},{"x":1.600000023841858,"y":0.9886219963106558},{"x":2.0000000298023224,"y":0.9979041952975837},{"x":2.400000035762787,"y":0.9997078670928021},{"x":2.8000000417232513,"y":0.9932480588505794},{"x":3.200000047683716,"y":0.9776107984873057},{"x":3.6000000536441803,"y":0.9517810912763474},{"x":4.000000059604645,"y":0.9146846450839192},{"x":4.400000065565109,"y":0.8652454973350832},{"x":4.800000071525574,"y":0.8024612068843432},{"x":5.200000077486038,"y":0.7254962924071477},{"x":5.600000083446503,"y":0.6337930624506138},{"x":6.000000089406967,"y":0.5271968514431159},{"x":6.400000095367432,"y":0.4060899867123246},{"x":6.800000101327896,"y":0.27152570854659747},{"x":7.200000107288361,"y":0.1253500299333524},{"x":7.600000113248825,"y":-0.029703414090364658},{"x":8.00000011920929,"y":-0.18996254812548874},{"x":8.400000125169754,"y":-0.3508276406771694},{"x":8.800000131130219,"y":-0.5068596466867086},{"x":9.200000137090683,"y":-0.6519577731742273},{"x":9.600000143051147,"y":-0.7796307539837514},{"x":10.000000149011612,"y":-0.8833564863852553},{"x":10.400000154972076,"y":-0.9570129810998295},{"x":10.800000160932541,"y":-0.9953513644277393},{"x":11.200000166893005,"y":-0.9944707650758726},{"x":11.60000017285347,"y":-0.952247354597283},{"x":12.000000178813934,"y":-0.8686674802764985},{"x":12.400000184774399,"y":-0.7460190617077211},{"x":12.800000190734863,"y":-0.5889066009275131},{"x":13.200000196695328,"y":-0.4040724751268761},{"x":13.600000202655792,"y":-0.20002862746166844},{"x":14.000000208616257,"y":0.013474626204747715},{"x":14.400000214576721,"y":0.22609563634387594},{"x":14.800000220537186,"y":0.4276024898331089},{"x":15.20000022649765,"y":0.6085595015734482},{"x":15.600000232458115,"y":0.7609328181303776},{"x":16.00000023841858,"y":0.8785597785552548},{"x":16.400000244379044,"y":0.9574443951788468},{"x":16.800000250339508,"y":0.9958628569506002},{"x":17.200000256299973,"y":0.994284931473623},{"x":17.600000262260437,"y":0.9551363660590356},{"x":18.0000002682209,"y":0.8824414391503282},{"x":18.400000274181366,"y":0.7813923711015435},{"x":18.80000028014183,"y":0.6578932356637828},{"x":19.200000286102295,"y":0.5181212214026699},{"x":19.60000029206276,"y":0.36813918383515404},{"x":20.000000298023224,"y":0.21358232257082543},{"x":20.40000030398369,"y":0.05943036637441048},{"x":20.800000309944153,"y":-0.09013364196932719},{"x":21.200000315904617,"y":-0.23178499942966047},{"x":21.600000321865082,"y":-0.3630519791410775},{"x":22.000000327825546,"y":-0.48225887927695027},{"x":22.40000033378601,"y":-0.588433527781012},{"x":22.800000339746475,"y":-0.681194171336385},{"x":23.20000034570694,"y":-0.760628439061649},{"x":23.600000351667404,"y":-0.8271742757733964},{"x":24.00000035762787,"y":-0.8815098468831803},{"x":24.400000363588333,"y":-0.9244567558548726},{"x":24.800000369548798,"y":-0.9568986835429765},{"x":25.200000375509262,"y":-0.9797158430615244},{"x":25.600000381469727,"y":-0.993734447037795},{"x":26.00000038743019,"y":-0.9996896549476586},{"x":26.400000393390656,"y":-0.9982001269613443},{"x":26.80000039935112,"y":-0.9897522687273622},{"x":27.200000405311584,"y":-0.9746924243599192},{"x":27.60000041127205,"y":-0.953225589472636},{"x":28.000000417232513,"y":-0.9254196130862724},{"x":28.400000423192978,"y":-0.8912142901757464},{"x":28.800000429153442,"y":-0.8504351789810366},{"x":29.200000435113907,"y":-0.8028123783881148},{"x":29.60000044107437,"y":-0.7480048417907307},{"x":30.000000447034836,"y":-0.6856310538355489},{"x":30.4000004529953,"y":-0.6153070192834443},{"x":30.800000458955765,"y":-0.5366924664993171},{"x":31.20000046491623,"y":-0.44954590396185073},{"x":31.600000470876694,"y":-0.3537886371659969},{"x":32.00000047683716,"y":-0.24957701166025997},{"x":32.40000048279762,"y":-0.13738096926723886},{"x":32.80000048875809,"y":-0.01806549498662993},{"x":33.20000049471855,"y":0.1070302512758461},{"x":33.600000500679016,"y":0.23602325480187164},{"x":34.00000050663948,"y":0.3664354225446962},{"x":34.400000512599945,"y":0.4951713263588699},{"x":34.80000051856041,"y":0.6185361900563872},{"x":35.200000524520874,"y":0.7323050043831986},{"x":35.60000053048134,"y":0.8318516974128555},{"x":36.0000005364418,"y":0.912343466410638},{"x":36.40000054240227,"y":0.9689995950942907},{"x":36.80000054836273,"y":0.9974065490669111},{"x":37.200000554323196,"y":0.9938724570530018},{"x":37.60000056028366,"y":0.955795244577385},{"x":38.000000566244125,"y":0.8820110276670984},{"x":38.40000057220459,"y":0.773084412790681},{"x":38.800000578165054,"y":0.6315015261397208},{"x":39.20000058412552,"y":0.46173096531835706},{"x":39.60000059008598,"y":0.2701277914921662}]}],"marks":[{"type":"symbol","from":{"data":"425b470e-4846-4706-a1b6-97f9a62b62b8"},"properties":{"enter":{"x":{"scale":"x","field":"data.x"},"y":{"scale":"y","field":"data.y"},"fill":{"value":"steelblue"},"fillOpacity":{"value":1}},"update":{"shape":"circle","size":{"value":70},"stroke":{"value":"transparent"}},"hover":{"size":{"value":210},"stroke":{"value":"white"}}}},{"type":"line","from":{"data":"d1c6c5da-fd15-4df3-898b-cb549c6acbbf"},"properties":{"enter":{"x":{"scale":"x","field":"data.x"},"y":{"scale":"y","field":"data.y"},"stroke":{"value":"#FF29D2"},"strokeWidth":{"value":2},"strokeOpacity":{"value":1}}}}]},"value":"#gorilla_repl.vega.VegaView{:content {:width 400, :height 247.2188, :padding {:bottom 20, :top 10, :right 10, :left 50}, :scales [{:name \"x\", :type \"linear\", :range \"width\", :zero false, :domain {:data \"425b470e-4846-4706-a1b6-97f9a62b62b8\", :field \"data.x\"}} {:name \"y\", :type \"linear\", :range \"height\", :nice true, :zero false, :domain {:data \"425b470e-4846-4706-a1b6-97f9a62b62b8\", :field \"data.y\"}}], :axes [{:scale \"x\", :type \"x\"} {:scale \"y\", :type \"y\"}], :data ({:name \"425b470e-4846-4706-a1b6-97f9a62b62b8\", :values ({:x 0, :y 1.0} {:x 1, :y 1.143626277109799} {:x 2, :y 1.1753056030855984} {:x 3, :y 1.104944779263175} {:x 4, :y 0.9525936642025125} {:x 5, :y 0.7457474367935206} {:x 6, :y 0.5158922494200839} {:x 7, :y 0.29469159023858404} {:x 8, :y 0.11024703482846354} {:x 9, :y -0.016144865722250268} {:x 10, :y -0.07237657788539742} {:x 11, :y -0.05679043911664561} {:x 12, :y 0.021819559687539014} {:x 13, :y 0.14545805485892604} {:x 14, :y 0.28928176541732464} {:x 15, :y 0.42478219352309343} {:x 16, :y 0.5234293464315906} {:x 17, :y 0.5603552107751018} {:x 18, :y 0.5176498433555137} {:x 19, :y 0.3868849602859007} {:x 20, :y 0.17056520774304706} {:x 21, :y -0.11767351807028359} {:x 22, :y -0.45415943277239956} {:x 23, :y -0.807469499743233} {:x 24, :y -1.141664642644454} {:x 25, :y -1.420128313826326} {:x 26, :y -1.6095905428628794} {:x 27, :y -1.6838947494406642} {:x 28, :y -1.6270884906605791} {:x 29, :y -1.4354894716976325} {:x 30, :y -1.1184870272753784} {:x 31, :y -0.6979750502450677} {:x 32, :y -0.20646019352488287} {:x 33, :y 0.3159670615014286} {:x 34, :y 0.8254869376261842} {:x 35, :y 1.2788284454840708} {:x 36, :y 1.6375218225816455} {:x 37, :y 1.8716775690052636} {:x 38, :y 1.962894237792031} {:x 39, :y 1.9059901268248012})} {:name \"d1c6c5da-fd15-4df3-898b-cb549c6acbbf\", :values ({:x 0, :y 0.8872067169538923} {:x 0.4000000059604645, :y 0.9215330338954979} {:x 0.800000011920929, :y 0.9500264802293128} {:x 1.2000000178813934, :y 0.9725006230335063} {:x 1.600000023841858, :y 0.9886219963106558} {:x 2.0000000298023224, :y 0.9979041952975837} {:x 2.400000035762787, :y 0.9997078670928021} {:x 2.8000000417232513, :y 0.9932480588505794} {:x 3.200000047683716, :y 0.9776107984873057} {:x 3.6000000536441803, :y 0.9517810912763474} {:x 4.000000059604645, :y 0.9146846450839192} {:x 4.400000065565109, :y 0.8652454973350832} {:x 4.800000071525574, :y 0.8024612068843432} {:x 5.200000077486038, :y 0.7254962924071477} {:x 5.600000083446503, :y 0.6337930624506138} {:x 6.000000089406967, :y 0.5271968514431159} {:x 6.400000095367432, :y 0.4060899867123246} {:x 6.800000101327896, :y 0.27152570854659747} {:x 7.200000107288361, :y 0.1253500299333524} {:x 7.600000113248825, :y -0.029703414090364658} {:x 8.00000011920929, :y -0.18996254812548874} {:x 8.400000125169754, :y -0.3508276406771694} {:x 8.800000131130219, :y -0.5068596466867086} {:x 9.200000137090683, :y -0.6519577731742273} {:x 9.600000143051147, :y -0.7796307539837514} {:x 10.000000149011612, :y -0.8833564863852553} {:x 10.400000154972076, :y -0.9570129810998295} {:x 10.800000160932541, :y -0.9953513644277393} {:x 11.200000166893005, :y -0.9944707650758726} {:x 11.60000017285347, :y -0.952247354597283} {:x 12.000000178813934, :y -0.8686674802764985} {:x 12.400000184774399, :y -0.7460190617077211} {:x 12.800000190734863, :y -0.5889066009275131} {:x 13.200000196695328, :y -0.4040724751268761} {:x 13.600000202655792, :y -0.20002862746166844} {:x 14.000000208616257, :y 0.013474626204747715} {:x 14.400000214576721, :y 0.22609563634387594} {:x 14.800000220537186, :y 0.4276024898331089} {:x 15.20000022649765, :y 0.6085595015734482} {:x 15.600000232458115, :y 0.7609328181303776} {:x 16.00000023841858, :y 0.8785597785552548} {:x 16.400000244379044, :y 0.9574443951788468} {:x 16.800000250339508, :y 0.9958628569506002} {:x 17.200000256299973, :y 0.994284931473623} {:x 17.600000262260437, :y 0.9551363660590356} {:x 18.0000002682209, :y 0.8824414391503282} {:x 18.400000274181366, :y 0.7813923711015435} {:x 18.80000028014183, :y 0.6578932356637828} {:x 19.200000286102295, :y 0.5181212214026699} {:x 19.60000029206276, :y 0.36813918383515404} {:x 20.000000298023224, :y 0.21358232257082543} {:x 20.40000030398369, :y 0.05943036637441048} {:x 20.800000309944153, :y -0.09013364196932719} {:x 21.200000315904617, :y -0.23178499942966047} {:x 21.600000321865082, :y -0.3630519791410775} {:x 22.000000327825546, :y -0.48225887927695027} {:x 22.40000033378601, :y -0.588433527781012} {:x 22.800000339746475, :y -0.681194171336385} {:x 23.20000034570694, :y -0.760628439061649} {:x 23.600000351667404, :y -0.8271742757733964} {:x 24.00000035762787, :y -0.8815098468831803} {:x 24.400000363588333, :y -0.9244567558548726} {:x 24.800000369548798, :y -0.9568986835429765} {:x 25.200000375509262, :y -0.9797158430615244} {:x 25.600000381469727, :y -0.993734447037795} {:x 26.00000038743019, :y -0.9996896549476586} {:x 26.400000393390656, :y -0.9982001269613443} {:x 26.80000039935112, :y -0.9897522687273622} {:x 27.200000405311584, :y -0.9746924243599192} {:x 27.60000041127205, :y -0.953225589472636} {:x 28.000000417232513, :y -0.9254196130862724} {:x 28.400000423192978, :y -0.8912142901757464} {:x 28.800000429153442, :y -0.8504351789810366} {:x 29.200000435113907, :y -0.8028123783881148} {:x 29.60000044107437, :y -0.7480048417907307} {:x 30.000000447034836, :y -0.6856310538355489} {:x 30.4000004529953, :y -0.6153070192834443} {:x 30.800000458955765, :y -0.5366924664993171} {:x 31.20000046491623, :y -0.44954590396185073} {:x 31.600000470876694, :y -0.3537886371659969} {:x 32.00000047683716, :y -0.24957701166025997} {:x 32.40000048279762, :y -0.13738096926723886} {:x 32.80000048875809, :y -0.01806549498662993} {:x 33.20000049471855, :y 0.1070302512758461} {:x 33.600000500679016, :y 0.23602325480187164} {:x 34.00000050663948, :y 0.3664354225446962} {:x 34.400000512599945, :y 0.4951713263588699} {:x 34.80000051856041, :y 0.6185361900563872} {:x 35.200000524520874, :y 0.7323050043831986} {:x 35.60000053048134, :y 0.8318516974128555} {:x 36.0000005364418, :y 0.912343466410638} {:x 36.40000054240227, :y 0.9689995950942907} {:x 36.80000054836273, :y 0.9974065490669111} {:x 37.200000554323196, :y 0.9938724570530018} {:x 37.60000056028366, :y 0.955795244577385} {:x 38.000000566244125, :y 0.8820110276670984} {:x 38.40000057220459, :y 0.773084412790681} {:x 38.800000578165054, :y 0.6315015261397208} {:x 39.20000058412552, :y 0.46173096531835706} {:x 39.60000059008598, :y 0.2701277914921662})}), :marks ({:type \"symbol\", :from {:data \"425b470e-4846-4706-a1b6-97f9a62b62b8\"}, :properties {:enter {:x {:scale \"x\", :field \"data.x\"}, :y {:scale \"y\", :field \"data.y\"}, :fill {:value \"steelblue\"}, :fillOpacity {:value 1}}, :update {:shape \"circle\", :size {:value 70}, :stroke {:value \"transparent\"}}, :hover {:size {:value 210}, :stroke {:value \"white\"}}}} {:type \"line\", :from {:data \"d1c6c5da-fd15-4df3-898b-cb549c6acbbf\"}, :properties {:enter {:x {:scale \"x\", :field \"data.x\"}, :y {:scale \"y\", :field \"data.y\"}, :stroke {:value \"#FF29D2\"}, :strokeWidth {:value 2}, :strokeOpacity {:value 1}}}})}}"}
;; <=

;; @@
(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'>18.70233041379562</span>","value":"18.70233041379562"}],"value":"[:error-pp 18.70233041379562]"},{"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'>16.22233041379562</span>","value":"16.22233041379562"}],"value":"[:error 16.22233041379562]"},{"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'>31</span>","value":"31"}],"value":"[:complexity 31]"},{"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'>: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'>: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'>:minus</span>","value":":minus"},{"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":"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":"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-double'>1.9517456882752484</span>","value":"1.9517456882752484"},{"type":"html","content":"<span class='clj-symbol'>x</span>","value":"x"}],"value":"(:plus 1.9517456882752484 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'>: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'>: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'>:minus</span>","value":":minus"},{"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-symbol'>x</span>","value":"x"},{"type":"html","content":"<span class='clj-double'>0.3696992920890696</span>","value":"0.3696992920890696"}],"value":"(:times x 0.3696992920890696)"}],"value":"(:minus x (:times x 0.3696992920890696))"},{"type":"html","content":"<span class='clj-double'>0.3696992920890696</span>","value":"0.3696992920890696"}],"value":"(:times (:minus x (:times x 0.3696992920890696)) 0.3696992920890696)"}],"value":"(:sin (:times (:minus x (:times x 0.3696992920890696)) 0.3696992920890696))"}],"value":"(:minus (:plus 1.9517456882752484 x) (:sin (:times (:minus x (:times x 0.3696992920890696)) 0.3696992920890696)))"},{"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'>: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'>:minus</span>","value":":minus"},{"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-symbol'>x</span>","value":"x"},{"type":"html","content":"<span class='clj-double'>0.3696992920890696</span>","value":"0.3696992920890696"}],"value":"(:times x 0.3696992920890696)"}],"value":"(:minus x (:times x 0.3696992920890696))"},{"type":"html","content":"<span class='clj-double'>0.3514500150647033</span>","value":"0.3514500150647033"}],"value":"(:times (:minus x (:times x 0.3696992920890696)) 0.3514500150647033)"}],"value":"(:sin (:times (:minus x (:times x 0.3696992920890696)) 0.3514500150647033))"}],"value":"(:minus (:minus (:plus 1.9517456882752484 x) (:sin (:times (:minus x (:times x 0.3696992920890696)) 0.3696992920890696))) (:sin (:times (:minus x (:times x 0.3696992920890696)) 0.3514500150647033)))"},{"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'>:minus</span>","value":":minus"},{"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'>:plus</span>","value":":plus"},{"type":"html","content":"<span class='clj-double'>1.5749008586915019</span>","value":"1.5749008586915019"},{"type":"html","content":"<span class='clj-symbol'>x</span>","value":"x"}],"value":"(:plus 1.5749008586915019 x)"}],"value":"(:minus x (:plus 1.5749008586915019 x))"}],"value":"(:sin (:minus x (:plus 1.5749008586915019 x)))"}],"value":"(:minus (:minus (:minus (:plus 1.9517456882752484 x) (:sin (:times (:minus x (:times x 0.3696992920890696)) 0.3696992920890696))) (:sin (:times (:minus x (:times x 0.3696992920890696)) 0.3514500150647033))) (:sin (:minus x (:plus 1.5749008586915019 x))))"},{"type":"html","content":"<span class='clj-double'>0.3696992920890696</span>","value":"0.3696992920890696"}],"value":"(:times (:minus (:minus (:minus (:plus 1.9517456882752484 x) (:sin (:times (:minus x (:times x 0.3696992920890696)) 0.3696992920890696))) (:sin (:times (:minus x (:times x 0.3696992920890696)) 0.3514500150647033))) (:sin (:minus x (:plus 1.5749008586915019 x)))) 0.3696992920890696)"}],"value":"(:sin (:times (:minus (:minus (:minus (:plus 1.9517456882752484 x) (:sin (:times (:minus x (:times x 0.3696992920890696)) 0.3696992920890696))) (:sin (:times (:minus x (:times x 0.3696992920890696)) 0.3514500150647033))) (:sin (:minus x (:plus 1.5749008586915019 x)))) 0.3696992920890696))"}],"value":"[:genotype (:sin (:times (:minus (:minus (:minus (:plus 1.9517456882752484 x) (:sin (:times (:minus x (:times x 0.3696992920890696)) 0.3696992920890696))) (:sin (:times (:minus x (:times x 0.3696992920890696)) 0.3514500150647033))) (:sin (:minus x (:plus 1.5749008586915019 x)))) 0.3696992920890696))]"},{"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'>500</span>","value":"500"}],"value":"[:age 500]"}],"value":"{:error-pp 18.70233041379562, :error 16.22233041379562, :complexity 31, :genotype (:sin (:times (:minus (:minus (:minus (:plus 1.9517456882752484 x) (:sin (:times (:minus x (:times x 0.3696992920890696)) 0.3696992920890696))) (:sin (:times (:minus x (:times x 0.3696992920890696)) 0.3514500150647033))) (:sin (:minus x (:plus 1.5749008586915019 x)))) 0.3696992920890696)), :age 500}"}
;; <=

;; @@
(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":"7a9030b4-ee66-4454-8dab-a0eedcaf49b5","field":"data.x"}},{"name":"y","type":"linear","range":"height","nice":true,"zero":false,"domain":{"data":"7a9030b4-ee66-4454-8dab-a0eedcaf49b5","field":"data.y"}}],"marks":[{"type":"line","from":{"data":"7a9030b4-ee66-4454-8dab-a0eedcaf49b5"},"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":"7a9030b4-ee66-4454-8dab-a0eedcaf49b5","values":[{"x":2.0,"y":0},{"x":9.375,"y":8.0},{"x":16.75,"y":1.0},{"x":24.125,"y":2.0},{"x":31.5,"y":66.0},{"x":38.875,"y":12.0},{"x":46.25,"y":1.0},{"x":53.625,"y":2.0},{"x":61.0,"y":7.0},{"x":68.375,"y":1.0},{"x":75.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 \"7a9030b4-ee66-4454-8dab-a0eedcaf49b5\", :field \"data.x\"}} {:name \"y\", :type \"linear\", :range \"height\", :nice true, :zero false, :domain {:data \"7a9030b4-ee66-4454-8dab-a0eedcaf49b5\", :field \"data.y\"}}], :marks [{:type \"line\", :from {:data \"7a9030b4-ee66-4454-8dab-a0eedcaf49b5\"}, :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 \"7a9030b4-ee66-4454-8dab-a0eedcaf49b5\", :values ({:x 2.0, :y 0} {:x 9.375, :y 8.0} {:x 16.75, :y 1.0} {:x 24.125, :y 2.0} {:x 31.5, :y 66.0} {:x 38.875, :y 12.0} {:x 46.25, :y 1.0} {:x 53.625, :y 2.0} {:x 61.0, :y 7.0} {:x 68.375, :y 1.0} {:x 75.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":"257fd9a0-06f5-41fe-a8df-fcc866aa63a8","field":"data.x"}},{"name":"y","type":"linear","range":"height","nice":true,"zero":false,"domain":{"data":"257fd9a0-06f5-41fe-a8df-fcc866aa63a8","field":"data.y"}}],"marks":[{"type":"line","from":{"data":"257fd9a0-06f5-41fe-a8df-fcc866aa63a8"},"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":"257fd9a0-06f5-41fe-a8df-fcc866aa63a8","values":[{"x":0,"y":14.14},{"x":1,"y":13.13},{"x":2,"y":10.72},{"x":3,"y":5.74},{"x":4,"y":3.29},{"x":5,"y":2.45},{"x":6,"y":2.54},{"x":7,"y":2.4},{"x":8,"y":2.97},{"x":9,"y":2.59},{"x":10,"y":2.62},{"x":11,"y":2.75},{"x":12,"y":2.67},{"x":13,"y":2.47},{"x":14,"y":2.41},{"x":15,"y":1.76},{"x":16,"y":1.51},{"x":17,"y":1.46},{"x":18,"y":1.47},{"x":19,"y":1.9},{"x":20,"y":2.13},{"x":21,"y":1.92},{"x":22,"y":1.67},{"x":23,"y":1.84},{"x":24,"y":1.85},{"x":25,"y":1.92},{"x":26,"y":2.13},{"x":27,"y":1.64},{"x":28,"y":1.96},{"x":29,"y":1.46},{"x":30,"y":1.76},{"x":31,"y":1.61},{"x":32,"y":1.36},{"x":33,"y":1.49},{"x":34,"y":1.55},{"x":35,"y":1.59},{"x":36,"y":1.82},{"x":37,"y":1.84},{"x":38,"y":1.97},{"x":39,"y":1.63},{"x":40,"y":2.18},{"x":41,"y":2.01},{"x":42,"y":1.39},{"x":43,"y":1.23},{"x":44,"y":1.84},{"x":45,"y":1.95},{"x":46,"y":1.69},{"x":47,"y":1.43},{"x":48,"y":2.24},{"x":49,"y":1.9},{"x":50,"y":1.68},{"x":51,"y":1.61},{"x":52,"y":1.69},{"x":53,"y":2.17},{"x":54,"y":1.39},{"x":55,"y":2.09},{"x":56,"y":1.59},{"x":57,"y":1.38},{"x":58,"y":1.33},{"x":59,"y":1.64},{"x":60,"y":1.3},{"x":61,"y":1.64},{"x":62,"y":1.5},{"x":63,"y":1.87},{"x":64,"y":1.21},{"x":65,"y":1.71},{"x":66,"y":1.41},{"x":67,"y":1.52},{"x":68,"y":1.95},{"x":69,"y":1.45},{"x":70,"y":1.46},{"x":71,"y":1.7},{"x":72,"y":1.51},{"x":73,"y":1.74},{"x":74,"y":1.48},{"x":75,"y":1.93},{"x":76,"y":1.81},{"x":77,"y":1.88},{"x":78,"y":2.03},{"x":79,"y":2.0},{"x":80,"y":1.8},{"x":81,"y":1.85},{"x":82,"y":1.5},{"x":83,"y":1.14},{"x":84,"y":2.21},{"x":85,"y":1.69},{"x":86,"y":1.36},{"x":87,"y":1.61},{"x":88,"y":1.68},{"x":89,"y":1.74},{"x":90,"y":1.89},{"x":91,"y":3.62},{"x":92,"y":4.81},{"x":93,"y":8.36},{"x":94,"y":11.82},{"x":95,"y":19.42},{"x":96,"y":24.75},{"x":97,"y":25.16},{"x":98,"y":24.24},{"x":99,"y":22.67},{"x":100,"y":21.29},{"x":101,"y":19.49},{"x":102,"y":17.92},{"x":103,"y":18.12},{"x":104,"y":16.78},{"x":105,"y":15.53},{"x":106,"y":13.54},{"x":107,"y":11.97},{"x":108,"y":10.87},{"x":109,"y":10.63},{"x":110,"y":9.49},{"x":111,"y":9.36},{"x":112,"y":9.43},{"x":113,"y":9.12},{"x":114,"y":9.75},{"x":115,"y":9.75},{"x":116,"y":9.38},{"x":117,"y":9.61},{"x":118,"y":9.63},{"x":119,"y":11.02},{"x":120,"y":11.84},{"x":121,"y":14.75},{"x":122,"y":17.17},{"x":123,"y":18.75},{"x":124,"y":22.11},{"x":125,"y":22.09},{"x":126,"y":23.08},{"x":127,"y":23.3},{"x":128,"y":23.56},{"x":129,"y":20.93},{"x":130,"y":21.67},{"x":131,"y":21.66},{"x":132,"y":22.86},{"x":133,"y":21.88},{"x":134,"y":20.6},{"x":135,"y":20.7},{"x":136,"y":23.0},{"x":137,"y":24.85},{"x":138,"y":27.3},{"x":139,"y":28.7},{"x":140,"y":30.26},{"x":141,"y":30.9},{"x":142,"y":32.14},{"x":143,"y":32.66},{"x":144,"y":30.33},{"x":145,"y":29.99},{"x":146,"y":28.97},{"x":147,"y":29.48},{"x":148,"y":28.61},{"x":149,"y":29.84},{"x":150,"y":29.62},{"x":151,"y":29.51},{"x":152,"y":29.63},{"x":153,"y":29.23},{"x":154,"y":29.46},{"x":155,"y":29.54},{"x":156,"y":28.29},{"x":157,"y":30.35},{"x":158,"y":29.07},{"x":159,"y":29.26},{"x":160,"y":28.48},{"x":161,"y":29.31},{"x":162,"y":29.53},{"x":163,"y":28.73},{"x":164,"y":30.13},{"x":165,"y":29.73},{"x":166,"y":29.26},{"x":167,"y":29.35},{"x":168,"y":29.85},{"x":169,"y":29.06},{"x":170,"y":29.59},{"x":171,"y":29.18},{"x":172,"y":29.33},{"x":173,"y":29.9},{"x":174,"y":28.73},{"x":175,"y":28.99},{"x":176,"y":29.99},{"x":177,"y":28.71},{"x":178,"y":29.57},{"x":179,"y":29.62},{"x":180,"y":29.76},{"x":181,"y":29.44},{"x":182,"y":29.2},{"x":183,"y":28.84},{"x":184,"y":29.18},{"x":185,"y":29.24},{"x":186,"y":29.12},{"x":187,"y":29.1},{"x":188,"y":29.16},{"x":189,"y":29.57},{"x":190,"y":28.47},{"x":191,"y":29.08},{"x":192,"y":29.51},{"x":193,"y":29.05},{"x":194,"y":28.75},{"x":195,"y":29.11},{"x":196,"y":29.3},{"x":197,"y":29.98},{"x":198,"y":29.51},{"x":199,"y":29.27},{"x":200,"y":28.74},{"x":201,"y":30.0},{"x":202,"y":29.56},{"x":203,"y":29.01},{"x":204,"y":29.05},{"x":205,"y":29.33},{"x":206,"y":28.55},{"x":207,"y":28.78},{"x":208,"y":29.52},{"x":209,"y":29.37},{"x":210,"y":28.76},{"x":211,"y":29.61},{"x":212,"y":29.39},{"x":213,"y":30.05},{"x":214,"y":29.98},{"x":215,"y":29.74},{"x":216,"y":30.08},{"x":217,"y":30.78},{"x":218,"y":30.34},{"x":219,"y":32.21},{"x":220,"y":36.41},{"x":221,"y":39.65},{"x":222,"y":40.01},{"x":223,"y":40.08},{"x":224,"y":39.83},{"x":225,"y":40.01},{"x":226,"y":38.09},{"x":227,"y":37.93},{"x":228,"y":37.46},{"x":229,"y":36.43},{"x":230,"y":36.33},{"x":231,"y":36.04},{"x":232,"y":35.28},{"x":233,"y":34.95},{"x":234,"y":35.9},{"x":235,"y":35.71},{"x":236,"y":34.64},{"x":237,"y":34.04},{"x":238,"y":34.28},{"x":239,"y":34.74},{"x":240,"y":32.74},{"x":241,"y":33.99},{"x":242,"y":32.84},{"x":243,"y":33.6},{"x":244,"y":33.17},{"x":245,"y":32.38},{"x":246,"y":32.06},{"x":247,"y":31.92},{"x":248,"y":31.63},{"x":249,"y":31.67},{"x":250,"y":31.64},{"x":251,"y":31.78},{"x":252,"y":31.28},{"x":253,"y":31.43},{"x":254,"y":31.73},{"x":255,"y":32.29},{"x":256,"y":31.91},{"x":257,"y":31.94},{"x":258,"y":31.62},{"x":259,"y":31.72},{"x":260,"y":31.49},{"x":261,"y":31.54},{"x":262,"y":31.77},{"x":263,"y":30.7},{"x":264,"y":31.69},{"x":265,"y":31.35},{"x":266,"y":32.28},{"x":267,"y":31.59},{"x":268,"y":32.02},{"x":269,"y":31.86},{"x":270,"y":31.48},{"x":271,"y":31.24},{"x":272,"y":30.76},{"x":273,"y":31.39},{"x":274,"y":31.69},{"x":275,"y":31.19},{"x":276,"y":30.8},{"x":277,"y":31.64},{"x":278,"y":31.53},{"x":279,"y":31.39},{"x":280,"y":31.16},{"x":281,"y":30.72},{"x":282,"y":31.13},{"x":283,"y":30.87},{"x":284,"y":31.51},{"x":285,"y":30.87},{"x":286,"y":31.34},{"x":287,"y":31.03},{"x":288,"y":30.75},{"x":289,"y":31.3},{"x":290,"y":31.94},{"x":291,"y":31.7},{"x":292,"y":31.76},{"x":293,"y":31.87},{"x":294,"y":31.67},{"x":295,"y":31.72},{"x":296,"y":31.68},{"x":297,"y":31.28},{"x":298,"y":31.31},{"x":299,"y":31.36},{"x":300,"y":32.14},{"x":301,"y":31.44},{"x":302,"y":31.17},{"x":303,"y":32.4},{"x":304,"y":31.58},{"x":305,"y":31.19},{"x":306,"y":30.73},{"x":307,"y":31.2},{"x":308,"y":31.74},{"x":309,"y":31.7},{"x":310,"y":30.94},{"x":311,"y":32.51},{"x":312,"y":31.01},{"x":313,"y":30.91},{"x":314,"y":31.61},{"x":315,"y":31.48},{"x":316,"y":31.73},{"x":317,"y":31.81},{"x":318,"y":30.35},{"x":319,"y":30.61},{"x":320,"y":31.28},{"x":321,"y":31.23},{"x":322,"y":30.85},{"x":323,"y":31.02},{"x":324,"y":31.32},{"x":325,"y":31.46},{"x":326,"y":31.88},{"x":327,"y":31.23},{"x":328,"y":30.82},{"x":329,"y":31.73},{"x":330,"y":31.54},{"x":331,"y":31.36},{"x":332,"y":32.09},{"x":333,"y":31.52},{"x":334,"y":31.61},{"x":335,"y":31.52},{"x":336,"y":32.1},{"x":337,"y":31.4},{"x":338,"y":31.47},{"x":339,"y":31.94},{"x":340,"y":31.58},{"x":341,"y":31.64},{"x":342,"y":31.43},{"x":343,"y":32.49},{"x":344,"y":32.58},{"x":345,"y":32.0},{"x":346,"y":31.57},{"x":347,"y":32.12},{"x":348,"y":31.11},{"x":349,"y":31.71},{"x":350,"y":31.02},{"x":351,"y":31.56},{"x":352,"y":30.93},{"x":353,"y":32.46},{"x":354,"y":30.9},{"x":355,"y":31.76},{"x":356,"y":31.49},{"x":357,"y":30.56},{"x":358,"y":31.22},{"x":359,"y":30.86},{"x":360,"y":30.66},{"x":361,"y":31.39},{"x":362,"y":31.62},{"x":363,"y":32.45},{"x":364,"y":32.51},{"x":365,"y":31.1},{"x":366,"y":30.95},{"x":367,"y":31.91},{"x":368,"y":31.46},{"x":369,"y":31.49},{"x":370,"y":31.08},{"x":371,"y":31.55},{"x":372,"y":32.17},{"x":373,"y":31.81},{"x":374,"y":31.45},{"x":375,"y":31.85},{"x":376,"y":31.83},{"x":377,"y":30.6},{"x":378,"y":30.4},{"x":379,"y":31.0},{"x":380,"y":31.05},{"x":381,"y":31.17},{"x":382,"y":31.83},{"x":383,"y":30.67},{"x":384,"y":32.13},{"x":385,"y":32.0},{"x":386,"y":30.92},{"x":387,"y":31.34},{"x":388,"y":30.94},{"x":389,"y":31.28},{"x":390,"y":32.0},{"x":391,"y":31.41},{"x":392,"y":31.5},{"x":393,"y":31.64},{"x":394,"y":31.25},{"x":395,"y":31.5},{"x":396,"y":31.73},{"x":397,"y":31.52},{"x":398,"y":31.29},{"x":399,"y":31.55},{"x":400,"y":31.44},{"x":401,"y":31.6},{"x":402,"y":31.15},{"x":403,"y":31.27},{"x":404,"y":31.6},{"x":405,"y":30.89},{"x":406,"y":31.73},{"x":407,"y":31.38},{"x":408,"y":31.75},{"x":409,"y":31.74},{"x":410,"y":31.76},{"x":411,"y":31.18},{"x":412,"y":31.93},{"x":413,"y":31.53},{"x":414,"y":31.7},{"x":415,"y":31.38},{"x":416,"y":31.41},{"x":417,"y":30.85},{"x":418,"y":31.72},{"x":419,"y":31.1},{"x":420,"y":31.51},{"x":421,"y":32.0},{"x":422,"y":31.36},{"x":423,"y":31.42},{"x":424,"y":30.93},{"x":425,"y":31.25},{"x":426,"y":31.86},{"x":427,"y":31.19},{"x":428,"y":32.1},{"x":429,"y":31.48},{"x":430,"y":31.63},{"x":431,"y":30.94},{"x":432,"y":31.03},{"x":433,"y":30.97},{"x":434,"y":31.58},{"x":435,"y":31.28},{"x":436,"y":31.88},{"x":437,"y":31.47},{"x":438,"y":31.24},{"x":439,"y":31.57},{"x":440,"y":31.74},{"x":441,"y":30.61},{"x":442,"y":30.87},{"x":443,"y":31.49},{"x":444,"y":31.43},{"x":445,"y":31.7},{"x":446,"y":32.57},{"x":447,"y":31.61},{"x":448,"y":32.14},{"x":449,"y":31.76},{"x":450,"y":32.01},{"x":451,"y":31.14},{"x":452,"y":32.0},{"x":453,"y":31.71},{"x":454,"y":31.97},{"x":455,"y":32.56},{"x":456,"y":32.1},{"x":457,"y":30.59},{"x":458,"y":31.78},{"x":459,"y":31.44},{"x":460,"y":31.43},{"x":461,"y":31.09},{"x":462,"y":30.98},{"x":463,"y":31.12},{"x":464,"y":31.2},{"x":465,"y":31.33},{"x":466,"y":31.09},{"x":467,"y":31.63},{"x":468,"y":31.78},{"x":469,"y":30.89},{"x":470,"y":31.86},{"x":471,"y":31.36},{"x":472,"y":31.6},{"x":473,"y":31.52},{"x":474,"y":30.85},{"x":475,"y":31.58},{"x":476,"y":30.49},{"x":477,"y":31.0},{"x":478,"y":30.86},{"x":479,"y":30.92},{"x":480,"y":32.05},{"x":481,"y":31.32},{"x":482,"y":31.31},{"x":483,"y":31.29},{"x":484,"y":31.78},{"x":485,"y":31.92},{"x":486,"y":32.05},{"x":487,"y":31.48},{"x":488,"y":31.98},{"x":489,"y":31.13},{"x":490,"y":31.67},{"x":491,"y":31.06},{"x":492,"y":31.24},{"x":493,"y":31.37},{"x":494,"y":31.72},{"x":495,"y":31.63},{"x":496,"y":31.45},{"x":497,"y":30.28},{"x":498,"y":31.65},{"x":499,"y":31.28}]}],"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 \"257fd9a0-06f5-41fe-a8df-fcc866aa63a8\", :field \"data.x\"}} {:name \"y\", :type \"linear\", :range \"height\", :nice true, :zero false, :domain {:data \"257fd9a0-06f5-41fe-a8df-fcc866aa63a8\", :field \"data.y\"}}], :marks [{:type \"line\", :from {:data \"257fd9a0-06f5-41fe-a8df-fcc866aa63a8\"}, :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 \"257fd9a0-06f5-41fe-a8df-fcc866aa63a8\", :values ({:x 0, :y 14.14} {:x 1, :y 13.13} {:x 2, :y 10.72} {:x 3, :y 5.74} {:x 4, :y 3.29} {:x 5, :y 2.45} {:x 6, :y 2.54} {:x 7, :y 2.4} {:x 8, :y 2.97} {:x 9, :y 2.59} {:x 10, :y 2.62} {:x 11, :y 2.75} {:x 12, :y 2.67} {:x 13, :y 2.47} {:x 14, :y 2.41} {:x 15, :y 1.76} {:x 16, :y 1.51} {:x 17, :y 1.46} {:x 18, :y 1.47} {:x 19, :y 1.9} {:x 20, :y 2.13} {:x 21, :y 1.92} {:x 22, :y 1.67} {:x 23, :y 1.84} {:x 24, :y 1.85} {:x 25, :y 1.92} {:x 26, :y 2.13} {:x 27, :y 1.64} {:x 28, :y 1.96} {:x 29, :y 1.46} {:x 30, :y 1.76} {:x 31, :y 1.61} {:x 32, :y 1.36} {:x 33, :y 1.49} {:x 34, :y 1.55} {:x 35, :y 1.59} {:x 36, :y 1.82} {:x 37, :y 1.84} {:x 38, :y 1.97} {:x 39, :y 1.63} {:x 40, :y 2.18} {:x 41, :y 2.01} {:x 42, :y 1.39} {:x 43, :y 1.23} {:x 44, :y 1.84} {:x 45, :y 1.95} {:x 46, :y 1.69} {:x 47, :y 1.43} {:x 48, :y 2.24} {:x 49, :y 1.9} {:x 50, :y 1.68} {:x 51, :y 1.61} {:x 52, :y 1.69} {:x 53, :y 2.17} {:x 54, :y 1.39} {:x 55, :y 2.09} {:x 56, :y 1.59} {:x 57, :y 1.38} {:x 58, :y 1.33} {:x 59, :y 1.64} {:x 60, :y 1.3} {:x 61, :y 1.64} {:x 62, :y 1.5} {:x 63, :y 1.87} {:x 64, :y 1.21} {:x 65, :y 1.71} {:x 66, :y 1.41} {:x 67, :y 1.52} {:x 68, :y 1.95} {:x 69, :y 1.45} {:x 70, :y 1.46} {:x 71, :y 1.7} {:x 72, :y 1.51} {:x 73, :y 1.74} {:x 74, :y 1.48} {:x 75, :y 1.93} {:x 76, :y 1.81} {:x 77, :y 1.88} {:x 78, :y 2.03} {:x 79, :y 2.0} {:x 80, :y 1.8} {:x 81, :y 1.85} {:x 82, :y 1.5} {:x 83, :y 1.14} {:x 84, :y 2.21} {:x 85, :y 1.69} {:x 86, :y 1.36} {:x 87, :y 1.61} {:x 88, :y 1.68} {:x 89, :y 1.74} {:x 90, :y 1.89} {:x 91, :y 3.62} {:x 92, :y 4.81} {:x 93, :y 8.36} {:x 94, :y 11.82} {:x 95, :y 19.42} {:x 96, :y 24.75} {:x 97, :y 25.16} {:x 98, :y 24.24} {:x 99, :y 22.67} {:x 100, :y 21.29} {:x 101, :y 19.49} {:x 102, :y 17.92} {:x 103, :y 18.12} {:x 104, :y 16.78} {:x 105, :y 15.53} {:x 106, :y 13.54} {:x 107, :y 11.97} {:x 108, :y 10.87} {:x 109, :y 10.63} {:x 110, :y 9.49} {:x 111, :y 9.36} {:x 112, :y 9.43} {:x 113, :y 9.12} {:x 114, :y 9.75} {:x 115, :y 9.75} {:x 116, :y 9.38} {:x 117, :y 9.61} {:x 118, :y 9.63} {:x 119, :y 11.02} {:x 120, :y 11.84} {:x 121, :y 14.75} {:x 122, :y 17.17} {:x 123, :y 18.75} {:x 124, :y 22.11} {:x 125, :y 22.09} {:x 126, :y 23.08} {:x 127, :y 23.3} {:x 128, :y 23.56} {:x 129, :y 20.93} {:x 130, :y 21.67} {:x 131, :y 21.66} {:x 132, :y 22.86} {:x 133, :y 21.88} {:x 134, :y 20.6} {:x 135, :y 20.7} {:x 136, :y 23.0} {:x 137, :y 24.85} {:x 138, :y 27.3} {:x 139, :y 28.7} {:x 140, :y 30.26} {:x 141, :y 30.9} {:x 142, :y 32.14} {:x 143, :y 32.66} {:x 144, :y 30.33} {:x 145, :y 29.99} {:x 146, :y 28.97} {:x 147, :y 29.48} {:x 148, :y 28.61} {:x 149, :y 29.84} {:x 150, :y 29.62} {:x 151, :y 29.51} {:x 152, :y 29.63} {:x 153, :y 29.23} {:x 154, :y 29.46} {:x 155, :y 29.54} {:x 156, :y 28.29} {:x 157, :y 30.35} {:x 158, :y 29.07} {:x 159, :y 29.26} {:x 160, :y 28.48} {:x 161, :y 29.31} {:x 162, :y 29.53} {:x 163, :y 28.73} {:x 164, :y 30.13} {:x 165, :y 29.73} {:x 166, :y 29.26} {:x 167, :y 29.35} {:x 168, :y 29.85} {:x 169, :y 29.06} {:x 170, :y 29.59} {:x 171, :y 29.18} {:x 172, :y 29.33} {:x 173, :y 29.9} {:x 174, :y 28.73} {:x 175, :y 28.99} {:x 176, :y 29.99} {:x 177, :y 28.71} {:x 178, :y 29.57} {:x 179, :y 29.62} {:x 180, :y 29.76} {:x 181, :y 29.44} {:x 182, :y 29.2} {:x 183, :y 28.84} {:x 184, :y 29.18} {:x 185, :y 29.24} {:x 186, :y 29.12} {:x 187, :y 29.1} {:x 188, :y 29.16} {:x 189, :y 29.57} {:x 190, :y 28.47} {:x 191, :y 29.08} {:x 192, :y 29.51} {:x 193, :y 29.05} {:x 194, :y 28.75} {:x 195, :y 29.11} {:x 196, :y 29.3} {:x 197, :y 29.98} {:x 198, :y 29.51} {:x 199, :y 29.27} {:x 200, :y 28.74} {:x 201, :y 30.0} {:x 202, :y 29.56} {:x 203, :y 29.01} {:x 204, :y 29.05} {:x 205, :y 29.33} {:x 206, :y 28.55} {:x 207, :y 28.78} {:x 208, :y 29.52} {:x 209, :y 29.37} {:x 210, :y 28.76} {:x 211, :y 29.61} {:x 212, :y 29.39} {:x 213, :y 30.05} {:x 214, :y 29.98} {:x 215, :y 29.74} {:x 216, :y 30.08} {:x 217, :y 30.78} {:x 218, :y 30.34} {:x 219, :y 32.21} {:x 220, :y 36.41} {:x 221, :y 39.65} {:x 222, :y 40.01} {:x 223, :y 40.08} {:x 224, :y 39.83} {:x 225, :y 40.01} {:x 226, :y 38.09} {:x 227, :y 37.93} {:x 228, :y 37.46} {:x 229, :y 36.43} {:x 230, :y 36.33} {:x 231, :y 36.04} {:x 232, :y 35.28} {:x 233, :y 34.95} {:x 234, :y 35.9} {:x 235, :y 35.71} {:x 236, :y 34.64} {:x 237, :y 34.04} {:x 238, :y 34.28} {:x 239, :y 34.74} {:x 240, :y 32.74} {:x 241, :y 33.99} {:x 242, :y 32.84} {:x 243, :y 33.6} {:x 244, :y 33.17} {:x 245, :y 32.38} {:x 246, :y 32.06} {:x 247, :y 31.92} {:x 248, :y 31.63} {:x 249, :y 31.67} {:x 250, :y 31.64} {:x 251, :y 31.78} {:x 252, :y 31.28} {:x 253, :y 31.43} {:x 254, :y 31.73} {:x 255, :y 32.29} {:x 256, :y 31.91} {:x 257, :y 31.94} {:x 258, :y 31.62} {:x 259, :y 31.72} {:x 260, :y 31.49} {:x 261, :y 31.54} {:x 262, :y 31.77} {:x 263, :y 30.7} {:x 264, :y 31.69} {:x 265, :y 31.35} {:x 266, :y 32.28} {:x 267, :y 31.59} {:x 268, :y 32.02} {:x 269, :y 31.86} {:x 270, :y 31.48} {:x 271, :y 31.24} {:x 272, :y 30.76} {:x 273, :y 31.39} {:x 274, :y 31.69} {:x 275, :y 31.19} {:x 276, :y 30.8} {:x 277, :y 31.64} {:x 278, :y 31.53} {:x 279, :y 31.39} {:x 280, :y 31.16} {:x 281, :y 30.72} {:x 282, :y 31.13} {:x 283, :y 30.87} {:x 284, :y 31.51} {:x 285, :y 30.87} {:x 286, :y 31.34} {:x 287, :y 31.03} {:x 288, :y 30.75} {:x 289, :y 31.3} {:x 290, :y 31.94} {:x 291, :y 31.7} {:x 292, :y 31.76} {:x 293, :y 31.87} {:x 294, :y 31.67} {:x 295, :y 31.72} {:x 296, :y 31.68} {:x 297, :y 31.28} {:x 298, :y 31.31} {:x 299, :y 31.36} {:x 300, :y 32.14} {:x 301, :y 31.44} {:x 302, :y 31.17} {:x 303, :y 32.4} {:x 304, :y 31.58} {:x 305, :y 31.19} {:x 306, :y 30.73} {:x 307, :y 31.2} {:x 308, :y 31.74} {:x 309, :y 31.7} {:x 310, :y 30.94} {:x 311, :y 32.51} {:x 312, :y 31.01} {:x 313, :y 30.91} {:x 314, :y 31.61} {:x 315, :y 31.48} {:x 316, :y 31.73} {:x 317, :y 31.81} {:x 318, :y 30.35} {:x 319, :y 30.61} {:x 320, :y 31.28} {:x 321, :y 31.23} {:x 322, :y 30.85} {:x 323, :y 31.02} {:x 324, :y 31.32} {:x 325, :y 31.46} {:x 326, :y 31.88} {:x 327, :y 31.23} {:x 328, :y 30.82} {:x 329, :y 31.73} {:x 330, :y 31.54} {:x 331, :y 31.36} {:x 332, :y 32.09} {:x 333, :y 31.52} {:x 334, :y 31.61} {:x 335, :y 31.52} {:x 336, :y 32.1} {:x 337, :y 31.4} {:x 338, :y 31.47} {:x 339, :y 31.94} {:x 340, :y 31.58} {:x 341, :y 31.64} {:x 342, :y 31.43} {:x 343, :y 32.49} {:x 344, :y 32.58} {:x 345, :y 32.0} {:x 346, :y 31.57} {:x 347, :y 32.12} {:x 348, :y 31.11} {:x 349, :y 31.71} {:x 350, :y 31.02} {:x 351, :y 31.56} {:x 352, :y 30.93} {:x 353, :y 32.46} {:x 354, :y 30.9} {:x 355, :y 31.76} {:x 356, :y 31.49} {:x 357, :y 30.56} {:x 358, :y 31.22} {:x 359, :y 30.86} {:x 360, :y 30.66} {:x 361, :y 31.39} {:x 362, :y 31.62} {:x 363, :y 32.45} {:x 364, :y 32.51} {:x 365, :y 31.1} {:x 366, :y 30.95} {:x 367, :y 31.91} {:x 368, :y 31.46} {:x 369, :y 31.49} {:x 370, :y 31.08} {:x 371, :y 31.55} {:x 372, :y 32.17} {:x 373, :y 31.81} {:x 374, :y 31.45} {:x 375, :y 31.85} {:x 376, :y 31.83} {:x 377, :y 30.6} {:x 378, :y 30.4} {:x 379, :y 31.0} {:x 380, :y 31.05} {:x 381, :y 31.17} {:x 382, :y 31.83} {:x 383, :y 30.67} {:x 384, :y 32.13} {:x 385, :y 32.0} {:x 386, :y 30.92} {:x 387, :y 31.34} {:x 388, :y 30.94} {:x 389, :y 31.28} {:x 390, :y 32.0} {:x 391, :y 31.41} {:x 392, :y 31.5} {:x 393, :y 31.64} {:x 394, :y 31.25} {:x 395, :y 31.5} {:x 396, :y 31.73} {:x 397, :y 31.52} {:x 398, :y 31.29} {:x 399, :y 31.55} {:x 400, :y 31.44} {:x 401, :y 31.6} {:x 402, :y 31.15} {:x 403, :y 31.27} {:x 404, :y 31.6} {:x 405, :y 30.89} {:x 406, :y 31.73} {:x 407, :y 31.38} {:x 408, :y 31.75} {:x 409, :y 31.74} {:x 410, :y 31.76} {:x 411, :y 31.18} {:x 412, :y 31.93} {:x 413, :y 31.53} {:x 414, :y 31.7} {:x 415, :y 31.38} {:x 416, :y 31.41} {:x 417, :y 30.85} {:x 418, :y 31.72} {:x 419, :y 31.1} {:x 420, :y 31.51} {:x 421, :y 32.0} {:x 422, :y 31.36} {:x 423, :y 31.42} {:x 424, :y 30.93} {:x 425, :y 31.25} {:x 426, :y 31.86} {:x 427, :y 31.19} {:x 428, :y 32.1} {:x 429, :y 31.48} {:x 430, :y 31.63} {:x 431, :y 30.94} {:x 432, :y 31.03} {:x 433, :y 30.97} {:x 434, :y 31.58} {:x 435, :y 31.28} {:x 436, :y 31.88} {:x 437, :y 31.47} {:x 438, :y 31.24} {:x 439, :y 31.57} {:x 440, :y 31.74} {:x 441, :y 30.61} {:x 442, :y 30.87} {:x 443, :y 31.49} {:x 444, :y 31.43} {:x 445, :y 31.7} {:x 446, :y 32.57} {:x 447, :y 31.61} {:x 448, :y 32.14} {:x 449, :y 31.76} {:x 450, :y 32.01} {:x 451, :y 31.14} {:x 452, :y 32.0} {:x 453, :y 31.71} {:x 454, :y 31.97} {:x 455, :y 32.56} {:x 456, :y 32.1} {:x 457, :y 30.59} {:x 458, :y 31.78} {:x 459, :y 31.44} {:x 460, :y 31.43} {:x 461, :y 31.09} {:x 462, :y 30.98} {:x 463, :y 31.12} {:x 464, :y 31.2} {:x 465, :y 31.33} {:x 466, :y 31.09} {:x 467, :y 31.63} {:x 468, :y 31.78} {:x 469, :y 30.89} {:x 470, :y 31.86} {:x 471, :y 31.36} {:x 472, :y 31.6} {:x 473, :y 31.52} {:x 474, :y 30.85} {:x 475, :y 31.58} {:x 476, :y 30.49} {:x 477, :y 31.0} {:x 478, :y 30.86} {:x 479, :y 30.92} {:x 480, :y 32.05} {:x 481, :y 31.32} {:x 482, :y 31.31} {:x 483, :y 31.29} {:x 484, :y 31.78} {:x 485, :y 31.92} {:x 486, :y 32.05} {:x 487, :y 31.48} {:x 488, :y 31.98} {:x 489, :y 31.13} {:x 490, :y 31.67} {:x 491, :y 31.06} {:x 492, :y 31.24} {:x 493, :y 31.37} {:x 494, :y 31.72} {:x 495, :y 31.63} {:x 496, :y 31.45} {:x 497, :y 30.28} {:x 498, :y 31.65} {:x 499, :y 31.28})}], :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)
        size-limit 60
        ea-config (sso/sso-ea-config
                    {:tournament-size 5
                     :goal :error-pp
                     :binary-ops [{:op (partial genetics/ninety-ten-sl-crossover size-limit) :repeat 40}]
                     :unary-ops [{:op (partial genetics/random-tree-mutation functions terminals 5) :repeat 5}
                                 {:op identity :repeat 5}]})
        score-functions {:complexity score/size
                         :error (partial score/abs-error vars data)
                         :error-pp (partial score/abs-error-pp vars data 5)}]
    {:initial-zeitgeist      (evolution/make-zeitgeist
                               (genetics/ramped-half-and-half-population functions terminals 100 6))
     :ea-config              ea-config
     :transformations        [(partial transform/apply-to-fraction
                                       (partial transform/hill-descent
                                                genetics/twiddle-constants
                                                (:error score-functions))
                                       0.5)
                              #(map (partial transform/apply-to-genotype
                                             (partial genetics/trim-hard size-limit)) %)]
     :score-functions        score-functions
     :stopping-condition     #(>= (:age %) 50)
     :reporting-function     (fn [z] (print ".") (flush))}))
;; @@
