                  1000000))))))
      
 ;; a solution, for testing purposes
-#_(reduce + (e '(formula 4 integer_eq exec_if 
-                         (r r float_mult r float_mult 3.141592 float_mult 4.0 float_mult 3.0 float_div)
-                         (formula 0 integer_eq exec_if
-                                  (r 3.141592 float_mult 2.0 float_mult)
-                                  (formula 1 integer_eq exec_if
-                                           (r r float_mult 3.141592 float_mult)
-                                           (formula 2 integer_eq exec_if
-                                                    (r r float_mult h float_mult 3.141592 float_mult)
-                                                    (r r float_mult h float_mult 3.141592 float_mult 3.0 float_div)))))))
-
-
-
+(reduce + (e '(circle-circumference? 
+                exec_if 
+                (r 3.141592 float_mult 2.0 float_mult)
+                (circle-area? 
+                  exec_if 
+                  (r r float_mult 3.141592 float_mult)
+                  (cylinder-volume? 
+                    exec_if 
+                    (r r float_mult h float_mult 3.141592 float_mult)
+                    (cone-volume? 
+                      exec_if 
+                      (r r float_mult h float_mult 3.141592 float_mult 3.0 float_div)
+                      (r r float_mult r float_mult 3.141592 float_mult 4.0 float_mult 3.0 float_div)))))))
 
 (pushgp 
   :atom-generators (concat (list (fn [] (lrand-int 5))
                                  (fn [] (float (lrand-int 5)))
                                  (fn [] Math/PI)
-                                 'formula
                                  'r
                                  'h
                                  (tag-instruction-erc [:exec :integer :float :boolean] 1000)
                                  (tagged-instruction-erc 1000)
                                  )
+                           (take 30 (cycle [(tag-instruction-erc [:exec :integer :float :boolean] 1000)
+                                            (tagged-instruction-erc 1000)
+                                            'exec_if]))
+                           mode-test-instructions
                            '(integer_add
                               integer_eq
                               integer_swap

  :node-selection-method :size-tournament
  :node-selection-tournament-size 2
  :node-selection-leaf-probability 0.1
  :pop-when-tagging true
  :use-historically-assessed-hardness false
  )


  :error-function e
  :use-single-thread false
  :population-size 1000
  :trivial-geography-radius 10
  :error-threshold 0.01
  :max-generations 1001
  :max-points 250
  :evalpush-limit 500
  :evalpush-time-limit 0
  :tournament-size 7
  :reuse-errors true
