+CODE f^
+ b = reinterpret(Float64, popPS())
+ a = reinterpret(Float64, popPS())
+ pushPS(reinterpret(Int64, a^b + 0.0))
+END-CODE
+
+CODE fsqrt
+ a = reinterpret(Float64, popPS())
+ pushPS(reinterpret(Int64, sqrt(a)))
+END-CODE
+
+CODE f>
+ b = reinterpret(Float64, popPS())
+ a = reinterpret(Float64, popPS())
+ if a > b
+ pushPS(-1)
+ else
+ pushPS(0)
+ end
+END-CODE
+
+CODE f<
+ b = reinterpret(Float64, popPS())
+ a = reinterpret(Float64, popPS())
+ if a < b
+ pushPS(-1)
+ else
+ pushPS(0)
+ end
+END-CODE
+
+CODE f=
+ b = reinterpret(Float64, popPS())
+ a = reinterpret(Float64, popPS())
+ if a == b
+ pushPS(-1)
+ else
+ pushPS(0)
+ end
+END-CODE
+
+: f<=
+ f> invert ;
+
+: f>=
+ f< invert ;
+
+CODE fmod
+ b = reinterpret(Float64, popPS())
+ a = reinterpret(Float64, popPS())
+ pushPS(reinterpret(Int64, a%b + 0.0))
+END-CODE
+
+CODE flog
+ a = reinterpret(Float64, popPS())
+ pushPS(reinterpret(Int64, log(a)))
+END-CODE
+
+CODE fexp
+ a = reinterpret(Float64, popPS())
+ pushPS(reinterpret(Int64, exp(a)))
+END-CODE
+
+CODE fsin
+ a = reinterpret(Float64, popPS())
+ pushPS(reinterpret(Int64, sin(a)))
+END-CODE
+
+CODE fcos
+ a = reinterpret(Float64, popPS())
+ pushPS(reinterpret(Int64, cos(a)))
+END-CODE
+
+CODE ftan
+ a = reinterpret(Float64, popPS())
+ pushPS(reinterpret(Int64, tan(a)))
+END-CODE
+
+CODE fatan
+ a = reinterpret(Float64, popPS())
+ pushPS(reinterpret(Int64, atan(a)))
+END-CODE
+
+CODE fnan?
+ a = reinterpret(Float64, popPS())
+ if isnan(a)
+ pushPS(-1)
+ else
+ pushPS(0)
+ end