diff --git a/cbits/float.c b/cbits/float.c
index 6dc6f9be92db03c94b18f4561cf996704b9884c1..e2ef91a0a5575b0ad7bbf50ad06ae3cac5099946 100644
--- a/cbits/float.c
+++ b/cbits/float.c
@@ -72,15 +72,15 @@ integer_cbits_encodeDouble (I_ size, StgByteArray ba, I_ e) /* result = s * 2^e
 
     /* Convert MP_INT to a double; knows a lot about internal rep! */
     for(r = 0.0, i = __abs(size)-1; i >= 0; i--)
-	r = (r * GMP_BASE) + arr[i];
+        r = (r * GMP_BASE) + arr[i];
 
     /* Now raise to the exponent */
     if ( r != 0.0 ) /* Lennart suggests this avoids a bug in MIPS's ldexp */
-	r = ldexp(r, e);
+        r = ldexp(r, e);
 
     /* sign is encoded in the size */
     if (size < 0)
-	r = -r;
+        r = -r;
 
     return r;
 }
@@ -94,15 +94,15 @@ integer_cbits_encodeFloat (I_ size, StgByteArray ba, I_ e) /* result = s * 2^e *
 
     /* Convert MP_INT to a float; knows a lot about internal rep! */
     for(r = 0.0, i = __abs(size)-1; i >= 0; i--)
-	r = (r * GMP_BASE) + arr[i];
+        r = (r * GMP_BASE) + arr[i];
 
     /* Now raise to the exponent */
     if ( r != 0.0 ) /* Lennart suggests this avoids a bug in MIPS's ldexp */
-	r = ldexp(r, e);
+        r = ldexp(r, e);
 
     /* sign is encoded in the size */
     if (size < 0)
-	r = -r;
+        r = -r;
 
     return r;
 }
@@ -113,58 +113,58 @@ void
 integer_cbits_decodeDouble (MP_INT *man, I_ *exp, StgDouble dbl)
 {
     /* Do some bit fiddling on IEEE */
-    unsigned int low, high; 	     	/* assuming 32 bit ints */
+    unsigned int low, high;                      /* assuming 32 bit ints */
     int sign, iexp;
-    union { double d; unsigned int i[2]; } u;	/* assuming 32 bit ints, 64 bit double */
+    union { double d; unsigned int i[2]; } u;    /* assuming 32 bit ints, 64 bit double */
 
     ASSERT(sizeof(unsigned int ) == 4            );
     ASSERT(sizeof(dbl          ) == SIZEOF_DOUBLE);
     ASSERT(sizeof(man->_mp_d[0]) == SIZEOF_LIMB_T);
     ASSERT(DNBIGIT*SIZEOF_LIMB_T >= SIZEOF_DOUBLE);
 
-    u.d = dbl;	    /* grab chunks of the double */
+    u.d = dbl;            /* grab chunks of the double */
     low = u.i[L];
     high = u.i[H];
 
     /* we know the MP_INT* passed in has size zero, so we realloc
-    	no matter what.
+            no matter what.
     */
     man->_mp_alloc = DNBIGIT;
 
     if (low == 0 && (high & ~DMSBIT) == 0) {
-	man->_mp_size = 0;
-	*exp = 0L;
+        man->_mp_size = 0;
+        *exp = 0L;
     } else {
-	man->_mp_size = DNBIGIT;
-	iexp = ((high >> 20) & 0x7ff) + MY_DMINEXP;
-	sign = high;
-
-	high &= DHIGHBIT-1;
-	if (iexp != MY_DMINEXP)	/* don't add hidden bit to denorms */
-	    high |= DHIGHBIT;
-	else {
-	    iexp++;
-	    /* A denorm, normalize the mantissa */
-	    while (! (high & DHIGHBIT)) {
-		high <<= 1;
-		if (low & DMSBIT)
-		    high++;
-		low <<= 1;
-		iexp--;
-	    }
-	}
+        man->_mp_size = DNBIGIT;
+        iexp = ((high >> 20) & 0x7ff) + MY_DMINEXP;
+        sign = high;
+
+        high &= DHIGHBIT-1;
+        if (iexp != MY_DMINEXP)        /* don't add hidden bit to denorms */
+            high |= DHIGHBIT;
+        else {
+            iexp++;
+            /* A denorm, normalize the mantissa */
+            while (! (high & DHIGHBIT)) {
+                high <<= 1;
+                if (low & DMSBIT)
+                    high++;
+                low <<= 1;
+                iexp--;
+            }
+        }
         *exp = (I_) iexp;
 #if DNBIGIT == 2
-	man->_mp_d[0] = (mp_limb_t)low;
-	man->_mp_d[1] = (mp_limb_t)high;
+        man->_mp_d[0] = (mp_limb_t)low;
+        man->_mp_d[1] = (mp_limb_t)high;
 #else
 #if DNBIGIT == 1
-	man->_mp_d[0] = ((mp_limb_t)high) << 32 | (mp_limb_t)low;
+        man->_mp_d[0] = ((mp_limb_t)high) << 32 | (mp_limb_t)low;
 #else
 #error Cannot cope with DNBIGIT
 #endif
 #endif
-	if (sign < 0)
-	    man->_mp_size = -man->_mp_size;
+        if (sign < 0)
+            man->_mp_size = -man->_mp_size;
     }
 }