diff --git a/Numeric/RAD.hs b/Numeric/RAD.hs
--- a/Numeric/RAD.hs
+++ b/Numeric/RAD.hs
@@ -233,9 +233,10 @@
     log     = unary log recip
     sqrt    = unary sqrt (recip . (2*) . sqrt)
     RAD (C x) ** RAD (C y) = lift (x ** y)
-    x ** y  = RAD (B (vx ** vy) (vy/vx) (log (vx)) x y)
+    x ** y  = RAD (B vz (vy*vz/vx) (vz*log vx) x y)
         where vx = primal x
               vy = primal y
+              vz = vx ** vy
     sin     = unary sin cos
     cos     = unary cos (negate . sin)
     asin    = unary asin (recip . sqrt . (1-) . (^2))
diff --git a/rad.cabal b/rad.cabal
--- a/rad.cabal
+++ b/rad.cabal
@@ -1,5 +1,5 @@
 Name:                rad
-Version:             0.1.1
+Version:             0.1.2
 License:             BSD3
 License-File:        LICENSE
 Copyright:           Edward Kmett 2010
