 (def float-divide
   (core/build-instruction
     float-divide
+    "`:float-divide` pops the top two `:float` values (call them `denominator` and `numerator`, respectively). If `denominator` is 0.0, it replaces the two `:float` values; if not, it pushes their quotient."
     :tags #{:arithmetic :base :dangerous}
     (d/consume-top-of :float :as :denominator)
     (d/consume-top-of :float :as :numerator)

(def float-fromchar
  (core/build-instruction
    float-fromchar
    :tags #{:conversion :base :numeric}
    (d/consume-top-of :char :as :arg)
    (d/calculate [:arg] #(double (long %1)) :as :result)

(def float-fromboolean
  (core/build-instruction
    float-fromboolean
    "`:float-fromboolean` pops the top `:boolean` value; if it is `true`, it pushes 1.0, and if `false` it pushes `0.0`"
    :tags #{:conversion :base :numeric}
    (d/consume-top-of :boolean :as :arg)
    (d/calculate [:arg] #(if %1 1.0 0.0) :as :result)
