diff --git a/knead.cabal b/knead.cabal
--- a/knead.cabal
+++ b/knead.cabal
@@ -1,5 +1,5 @@
 Name:             knead
-Version:          0.4.1
+Version:          0.4.2
 License:          BSD3
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -49,7 +49,7 @@
 Build-Type:       Simple
 
 Source-Repository this
-  Tag:         0.4.1
+  Tag:         0.4.2
   Type:        darcs
   Location:    http://hub.darcs.net/thielema/knead/
 
@@ -59,7 +59,7 @@
 
 Library
   Build-Depends:
-    llvm-extra >=0.8 && <0.9,
+    llvm-extra >=0.8.1 && <0.9,
     llvm-tf >=3.1.1 && <3.2,
     tfp >=1.0 && <1.1,
     comfort-array >=0.3 && <0.5,
diff --git a/src/Data/Array/Knead/Expression.hs b/src/Data/Array/Knead/Expression.hs
--- a/src/Data/Array/Knead/Expression.hs
+++ b/src/Data/Array/Knead/Expression.hs
@@ -3,6 +3,7 @@
 module Data.Array.Knead.Expression where
 
 import qualified LLVM.Extra.Multi.Value as MultiValue
+import qualified LLVM.Extra.FastMath as FastMath
 import qualified LLVM.Extra.Arithmetic as A
 import qualified LLVM.Extra.Control as C
 import qualified LLVM.Core as LLVM
@@ -381,6 +382,13 @@
 
 floatFromBool8 :: (MultiValue.NativeFloating a ar) => Exp Bool8 -> Exp a
 floatFromBool8 = liftM MultiValue.floatFromBool8
+
+
+fromFastMath :: Exp (FastMath.Number flags a) -> Exp a
+fromFastMath = lift1 FastMath.mvDenumber
+
+toFastMath :: Exp a -> Exp (FastMath.Number flags a)
+toFastMath = lift1 FastMath.mvNumber
 
 
 minBound, maxBound :: (MultiValue.Bounded a) => Exp a
