   ^{:stack-types [:float]}
   (fn [state]
     (if (not (empty? (:float state)))
-      (push-item (dec (stack-ref :float 0 state))
-                 :float
-                 (pop-item :float state))
-      state)))
+      (push-item (keep-number-reasonable (dec (stack-ref :float 0 state)))
+                 :float
+                 (pop-item :float state))
+      state)))

  (fn [state]
    (if (not (empty? (:string state)))
      (try (pop-item :string
                     (push-item (Float/parseFloat (top-item :string state))
                                :float state))
        (catch Exception e state))
      state)))

  ^{:stack-types [:float]}
  (fn [state]
    (if (not (empty? (:float state)))
      (push-item (keep-number-reasonable (inc (stack-ref :float 0 state)))
                 :float
                 (pop-item :float state))
      state)))
