                            ; Error is float error rounded to 3 decimal places
                            (round-to-n-decimal-places
                             (if (number? result)
-                              (abs (- result correct-output)) ; distance from correct integer
+                              (abs (- result correct-output)) ; distance from correct float
                               1000000.0) ; penalty for no return value
-                            3)
-                             )))]
+                            3))))]
         (if (= data-cases :train)
           (assoc individual :behaviors @behavior :errors errors)
           (assoc individual :test-errors errors))))))


; Atom generators
(def snow-day-atom-generators
  (concat (list
            ;;; end constants
            ;;; end ERCs
            (tag-instruction-erc [:integer :float :boolean :exec] 1000)
            (tagged-instruction-erc 1000)
            ;;; end tag ERCs
            'in1
            'in2
            'in3
            'in4
            ;;; end input instructions
            )
          (registered-for-stacks [:integer :float :boolean :exec])))


;; A list of data domains for the problem. Each domain is a vector containing

  [[(list [0 0.0 0.0 0.0]   ; min size
          [15 15.0 15.0 0.15]   ; same number
          [20 19.99 9.999 0.999]    ; max size
          [20 19.99 9.999 0.0]    ; max snow
          [10 0.0 1.0 0.0]
          [8 10.0 2.0 0.0]
          [13 0.0 0.0 0.0]
          [15 14.56 0.0 0.0]
          [16 18.19 0.0 0.05]
          [8 11.3 0.5 0.3]
          [5 1.3 1.5 0.05]
          [10 0.0 2.0 0.0]
          ) 12 0]
   [(fn [] (vector (rand-int 21) (rand 20) (rand 10) (rand))) 188 2000] ; Random cases
   ])

;;Can make Snow Day test data like this:
