diff --git a/Data/Number/CReal.hs b/Data/Number/CReal.hs
--- a/Data/Number/CReal.hs
+++ b/Data/Number/CReal.hs
@@ -81,12 +81,12 @@
                   y = x - piBy4 * fromInteger s
   cos x   = if n == 0 then cos_dr y                           else
             if n == 1 then sqrt1By2 * (cos_dr y - sin_dr y)   else
-            if n == 2 then sin_dr y                           else
-            if n == 3 then sqrt1By2 * (cos_dr y + sin_dr y)   else
+            if n == 2 then - sin_dr y                           else
+            if n == 3 then - sqrt1By2 * (cos_dr y + sin_dr y)   else
             if n == 4 then - cos_dr y                         else
             if n == 5 then - sqrt1By2 * (cos_dr y - sin_dr y) else
-            if n == 6 then - sin_dr y                         else
-            {- n == 7 -}   - sqrt1By2 * (cos_dr y + sin_dr y)
+            if n == 6 then sin_dr y                         else
+            {- n == 7 -}   sqrt1By2 * (cos_dr y + sin_dr y)
             where (CR z') = x/piBy4; s = round_uk (z' 2 % 4); n = s `mod` 8
                   y = x - piBy4 * fromInteger s
   atan x  = if t <  -5 then atan_dr (negate (recip x)) - piBy2 else
diff --git a/numbers.cabal b/numbers.cabal
--- a/numbers.cabal
+++ b/numbers.cabal
@@ -1,5 +1,5 @@
 Name:		numbers
-Version:	2008.4.20
+Version:	2008.4.20.1
 License:	BSD3
 Author:		Lennart Augustsson
 Maintainer:	Lennart Augustsson
