fix bugs in c code, remove warnings and format code
diff --git a/version3/c/amcl.h b/version3/c/amcl.h
index f72557d..a976e9f 100644
--- a/version3/c/amcl.h
+++ b/version3/c/amcl.h
@@ -57,11 +57,11 @@
 #define D_TYPE 0
 #define M_TYPE 1
 
-#define FP_ZERO 0
-#define FP_UNITY 1
-#define FP_SPARSER 2
-#define FP_SPARSE 3
-#define FP_DENSE 4
+#define AMCL_FP_ZERO 0
+#define AMCL_FP_UNITY 1
+#define AMCL_AMCL_FP_SPARSER 2
+#define AMCL_FP_SPARSE 3
+#define AMCL_FP_DENSE 4
 
 
 /**
diff --git a/version3/c/big.c b/version3/c/big.c
index 664cccf..3af1912 100644
--- a/version3/c/big.c
+++ b/version3/c/big.c
@@ -143,7 +143,7 @@
     int i;
     BIG_XXX c;
     BIG_XXX_copy(c,a);
-	BIG_XXX_norm(c);
+    BIG_XXX_norm(c);
     for (i=MODBYTES_XXX-1; i>=0; i--)
     {
         b[i]=c[0]&0xff;
@@ -371,8 +371,8 @@
 void BIG_XXX_or(BIG_XXX c,BIG_XXX a,BIG_XXX b)
 {
     int i;
-	BIG_XXX_norm(a);
-	BIG_XXX_norm(b);
+    BIG_XXX_norm(a);
+    BIG_XXX_norm(b);
     for (i=0; i<NLEN_XXX; i++)
         c[i]=a[i]|b[i];
 #ifdef DEBUG_NORM
@@ -876,28 +876,28 @@
 /* Fast combined shift, subtract and norm. Return sign of result */
 int BIG_XXX_ssn(BIG_XXX r,BIG_XXX a,BIG_XXX m)
 {
-	int i,n=NLEN_XXX-1;
-	chunk carry;
-	m[0]=(m[0]>>1)|((m[1]<<(BASEBITS_XXX-1))&BMASK_XXX);
-	r[0]=a[0]-m[0];
+    int i,n=NLEN_XXX-1;
+    chunk carry;
+    m[0]=(m[0]>>1)|((m[1]<<(BASEBITS_XXX-1))&BMASK_XXX);
+    r[0]=a[0]-m[0];
     carry=r[0]>>BASEBITS_XXX;
     r[0]&=BMASK_XXX;
-    
-	for (i=1;i<n;i++)
-	{
-		m[i]=(m[i]>>1)|((m[i+1]<<(BASEBITS_XXX-1))&BMASK_XXX);
-		r[i]=a[i]-m[i]+carry;
-		carry=r[i]>>BASEBITS_XXX;
-		r[i]&=BMASK_XXX;
-	}
-	
-	m[n]>>=1;
-	r[n]=a[n]-m[n]+carry;
+
+    for (i=1; i<n; i++)
+    {
+        m[i]=(m[i]>>1)|((m[i+1]<<(BASEBITS_XXX-1))&BMASK_XXX);
+        r[i]=a[i]-m[i]+carry;
+        carry=r[i]>>BASEBITS_XXX;
+        r[i]&=BMASK_XXX;
+    }
+
+    m[n]>>=1;
+    r[n]=a[n]-m[n]+carry;
 #ifdef DEBUG_NORM
     r[MPV_XXX]=1;
     r[MNV_XXX]=0;
 #endif
-	return ((r[n]>>(CHUNK-1))&1);
+    return ((r[n]>>(CHUNK-1))&1);
 }
 
 /* Faster shift right of a by k bits. Return shifted out part */
@@ -1040,9 +1040,9 @@
 int BIG_XXX_nbits(BIG_XXX a)
 {
     int bts,k=NLEN_XXX-1;
-	BIG_XXX t;
+    BIG_XXX t;
     chunk c;
-	BIG_XXX_copy(t,a);
+    BIG_XXX_copy(t,a);
     BIG_XXX_norm(t);
     while (k>=0 && t[k]==0) k--;
     if (k<0) return 0;
@@ -1060,9 +1060,9 @@
 int BIG_XXX_dnbits(DBIG_XXX a)
 {
     int bts,k=DNLEN_XXX-1;
-	DBIG_XXX t;
+    DBIG_XXX t;
     chunk c;
-	BIG_XXX_dcopy(t,a);
+    BIG_XXX_dcopy(t,a);
     BIG_XXX_dnorm(t);
     while (k>=0 && t[k]==0) k--;
     if (k<0) return 0;
@@ -1083,8 +1083,8 @@
 {
     int k=0;
     BIG_XXX r; /**/
-	BIG_XXX c;
-	BIG_XXX_copy(c,c1);
+    BIG_XXX c;
+    BIG_XXX_copy(c,c1);
 
     BIG_XXX_norm(b);
     if (BIG_XXX_comp(b,c)<0)
@@ -1300,9 +1300,9 @@
 void BIG_XXX_modmul(BIG_XXX r,BIG_XXX a1,BIG_XXX b1,BIG_XXX m)
 {
     DBIG_XXX d;
-	BIG_XXX a,b;
-	BIG_XXX_copy(a,a1);
-	BIG_XXX_copy(b,b1);
+    BIG_XXX a,b;
+    BIG_XXX_copy(a,a1);
+    BIG_XXX_copy(b,b1);
     BIG_XXX_mod(a,m);
     BIG_XXX_mod(b,m);
 
@@ -1315,8 +1315,8 @@
 void BIG_XXX_modsqr(BIG_XXX r,BIG_XXX a1,BIG_XXX m)
 {
     DBIG_XXX d;
-	BIG_XXX a;
-	BIG_XXX_copy(a,a1);
+    BIG_XXX a;
+    BIG_XXX_copy(a,a1);
     BIG_XXX_mod(a,m);
     BIG_XXX_sqr(d,a);
     BIG_XXX_dmod(r,d,m);
@@ -1326,8 +1326,8 @@
 /* SU= 16 */
 void BIG_XXX_modneg(BIG_XXX r,BIG_XXX a1,BIG_XXX m)
 {
-	BIG_XXX a;
-	BIG_XXX_copy(a,a1);
+    BIG_XXX a;
+    BIG_XXX_copy(a,a1);
     BIG_XXX_mod(a,m);
     BIG_XXX_sub(r,m,a);
 }
@@ -1338,9 +1338,9 @@
 {
     DBIG_XXX d;
     BIG_XXX z;
-	BIG_XXX a,b;
-	BIG_XXX_copy(a,a1);
-	BIG_XXX_copy(b,b1);
+    BIG_XXX a,b;
+    BIG_XXX_copy(a,a1);
+    BIG_XXX_copy(b,b1);
 
     BIG_XXX_mod(a,m);
     BIG_XXX_invmodp(z,b,m);
diff --git a/version3/c/big.h b/version3/c/big.h
index 7874450..7e89b36 100644
--- a/version3/c/big.h
+++ b/version3/c/big.h
@@ -18,7 +18,7 @@
 */
 
 /**
- * @file big.h
+ * @file big_XXX.h
  * @author Mike Scott
  * @brief BIG Header File
  *
diff --git a/version3/c/config_big.h b/version3/c/config_big.h
index 76822ed..4640b21 100644
--- a/version3/c/config_big.h
+++ b/version3/c/config_big.h
@@ -18,7 +18,7 @@
 */
 
 /**
- * @file config_big.h
+ * @file config_big_XXX.h
  * @author Mike Scott
  * @brief Config BIG  Header File
  *
diff --git a/version3/c/config_ff.h b/version3/c/config_ff.h
index 173dab7..65595da 100644
--- a/version3/c/config_ff.h
+++ b/version3/c/config_ff.h
@@ -18,7 +18,7 @@
 */
 
 /**
- * @file config_ff.h
+ * @file config_ff_WWW.h
  * @author Mike Scott
  * @brief COnfig FF Header File
  *
diff --git a/version3/c/ecdh.c b/version3/c/ecdh.c
index 953685d..216c509 100644
--- a/version3/c/ecdh.c
+++ b/version3/c/ecdh.c
@@ -33,11 +33,11 @@
  * otherwise it is generated randomly internally */
 int ECP_ZZZ_KEY_PAIR_GENERATE(csprng *RNG,octet* S,octet *W)
 {
-    BIG_XXX r,gx,gy,s;
+    BIG_XXX r,s;
     ECP_ZZZ G;
     int res=0;
 
-	ECP_ZZZ_generator(&G);
+    ECP_ZZZ_generator(&G);
 
     BIG_XXX_rcopy(r,CURVE_Order_ZZZ);
     if (RNG!=NULL)
@@ -59,7 +59,7 @@
 
     ECP_ZZZ_mul(&G,s);
 
-	ECP_ZZZ_toOctet(W,&G,false);  /* To use point compression on public keys, change to true */
+    ECP_ZZZ_toOctet(W,&G,false);  /* To use point compression on public keys, change to true */
 
     return res;
 }
@@ -67,7 +67,7 @@
 /* Validate public key */
 int ECP_ZZZ_PUBLIC_KEY_VALIDATE(octet *W)
 {
-    BIG_XXX q,r,wx,k;
+    BIG_XXX q,r,k;
     ECP_ZZZ WP;
     int valid,nb;
     int res=0;
@@ -75,11 +75,12 @@
     BIG_XXX_rcopy(q,Modulus_YYY);
     BIG_XXX_rcopy(r,CURVE_Order_ZZZ);
 
-	valid=ECP_ZZZ_fromOctet(&WP,W);
-	if (!valid) res=ECDH_INVALID_PUBLIC_KEY;
+    valid=ECP_ZZZ_fromOctet(&WP,W);
+    if (!valid) res=ECDH_INVALID_PUBLIC_KEY;
 
     if (res==0)
-    { /* Check point is not in wrong group */
+    {
+        /* Check point is not in wrong group */
         nb=BIG_XXX_nbits(q);
         BIG_XXX_one(k);
         BIG_XXX_shl(k,(nb+4)/2);
@@ -109,7 +110,7 @@
 
     BIG_XXX_fromBytes(s,S->val);
 
-	valid=ECP_ZZZ_fromOctet(&W,WD);
+    valid=ECP_ZZZ_fromOctet(&W,WD);
 
     if (!valid) res=ECDH_ERROR;
     if (res==0)
@@ -141,12 +142,12 @@
     char h[128];
     octet H= {0,sizeof(h),h};
 
-    BIG_XXX gx,gy,r,s,f,c,d,u,vx,w;
+    BIG_XXX r,s,f,c,d,u,vx,w;
     ECP_ZZZ G,V;
 
     ehashit(sha,F,-1,NULL,&H,sha);
 
-	ECP_ZZZ_generator(&G);
+    ECP_ZZZ_generator(&G);
 
     BIG_XXX_rcopy(r,CURVE_Order_ZZZ);
 
@@ -156,41 +157,42 @@
     if (H.len>MODBYTES_XXX) hlen=MODBYTES_XXX;
     BIG_XXX_fromBytesLen(f,H.val,hlen);
 
-	if (RNG!=NULL)
-	{
-		do
-		{
+    if (RNG!=NULL)
+    {
+        do
+        {
             BIG_XXX_randomnum(u,r,RNG);
             BIG_XXX_randomnum(w,r,RNG); /* side channel masking */
 
 #ifdef AES_S
-			BIG_XXX_mod2m(u,2*AES_S);
+            BIG_XXX_mod2m(u,2*AES_S);
 #endif
-			ECP_ZZZ_copy(&V,&G);
-			ECP_ZZZ_mul(&V,u);
+            ECP_ZZZ_copy(&V,&G);
+            ECP_ZZZ_mul(&V,u);
 
-			ECP_ZZZ_get(vx,vx,&V);
+            ECP_ZZZ_get(vx,vx,&V);
 
-			BIG_XXX_copy(c,vx);
-			BIG_XXX_mod(c,r);
-			if (BIG_XXX_iszilch(c)) continue;
-			
+            BIG_XXX_copy(c,vx);
+            BIG_XXX_mod(c,r);
+            if (BIG_XXX_iszilch(c)) continue;
+
             BIG_XXX_modmul(u,u,w,r);
 
-			BIG_XXX_invmodp(u,u,r);
-			BIG_XXX_modmul(d,s,c,r);
+            BIG_XXX_invmodp(u,u,r);
+            BIG_XXX_modmul(d,s,c,r);
 
-			BIG_XXX_add(d,f,d);
-			
+            BIG_XXX_add(d,f,d);
+
             BIG_XXX_modmul(d,d,w,r);
 
-			BIG_XXX_modmul(d,u,d,r);
-		} while (BIG_XXX_iszilch(d));
-	}
-	else
-	{
-		BIG_XXX_fromBytes(u,K->val);
-		BIG_XXX_mod(u,r);
+            BIG_XXX_modmul(d,u,d,r);
+        }
+        while (BIG_XXX_iszilch(d));
+    }
+    else
+    {
+        BIG_XXX_fromBytes(u,K->val);
+        BIG_XXX_mod(u,r);
 
 #ifdef AES_S
         BIG_XXX_mod2m(u,2*AES_S);
@@ -203,7 +205,7 @@
         BIG_XXX_copy(c,vx);
         BIG_XXX_mod(c,r);
         if (BIG_XXX_iszilch(c)) return ECDH_ERROR;
- 
+
 
         BIG_XXX_invmodp(u,u,r);
         BIG_XXX_modmul(d,s,c,r);
@@ -228,14 +230,14 @@
     char h[128];
     octet H= {0,sizeof(h),h};
 
-    BIG_XXX r,gx,gy,wx,wy,f,c,d,h2;
+    BIG_XXX r,f,c,d,h2;
     int res=0;
     ECP_ZZZ G,WP;
     int valid;
 
     ehashit(sha,F,-1,NULL,&H,sha);
 
-	ECP_ZZZ_generator(&G);
+    ECP_ZZZ_generator(&G);
 
     BIG_XXX_rcopy(r,CURVE_Order_ZZZ);
 
@@ -261,7 +263,7 @@
         BIG_XXX_modmul(f,f,d,r);
         BIG_XXX_modmul(h2,c,d,r);
 
-		valid=ECP_ZZZ_fromOctet(&WP,W);
+        valid=ECP_ZZZ_fromOctet(&WP,W);
 
         if (!valid) res=ECDH_ERROR;
         else
diff --git a/version3/c/ecdh.h b/version3/c/ecdh.h
index 10a1828..cbeae6a 100644
--- a/version3/c/ecdh.h
+++ b/version3/c/ecdh.h
@@ -18,7 +18,7 @@
 */
 
 /**
- * @file ecdh.h
+ * @file ecdh_ZZZ.h
  * @author Mike Scott
  * @brief ECDH Header file for implementation of standard EC protocols
  *
diff --git a/version3/c/ecp.c b/version3/c/ecp.c
index 60eddaa..f0ae94e 100644
--- a/version3/c/ecp.c
+++ b/version3/c/ecp.c
@@ -191,7 +191,7 @@
 
     FP_YYY_mul(&t,v,&t);
     FP_YYY_sub(&t,&t,&one);
-	FP_YYY_norm(&t);
+    FP_YYY_norm(&t);
     if (CURVE_A_ZZZ==1) FP_YYY_sub(v,v,&one);
 
     if (CURVE_A_ZZZ==-1)
@@ -200,10 +200,10 @@
         FP_YYY_norm(v);
         FP_YYY_neg(v,v);
     }
-	FP_YYY_norm(v);
-	FP_YYY_inv(&t,&t);
-	FP_YYY_mul(v,v,&t);
-	FP_YYY_reduce(v);
+    FP_YYY_norm(v);
+    FP_YYY_inv(&t,&t);
+    FP_YYY_mul(v,v,&t);
+    FP_YYY_reduce(v);
 #endif
 
 #if CURVETYPE_ZZZ==MONTGOMERY
@@ -239,7 +239,7 @@
         ECP_ZZZ_inf(P);
         return 0;
     }
- 
+
     FP_YYY_nres(&(P->x),x);
     FP_YYY_one(&(P->z));
     return 1;
@@ -248,11 +248,11 @@
 /* Extract x coordinate as BIG */
 int ECP_ZZZ_get(BIG_XXX x,ECP_ZZZ *P)
 {
-	ECP_ZZZ W;
-	ECP_ZZZ_copy(&W,P);
-	ECP_ZZZ_affine(&W);
+    ECP_ZZZ W;
+    ECP_ZZZ_copy(&W,P);
+    ECP_ZZZ_affine(&W);
     if (ECP_ZZZ_isinf(&W)) return -1;
-    FP_YYY_redc(x,&(Wx));
+    FP_YYY_redc(x,&(W));
     return 0;
 }
 
@@ -262,10 +262,10 @@
 /* SU=16 */
 int ECP_ZZZ_get(BIG_XXX x,BIG_XXX y,ECP_ZZZ *P)
 {
-	ECP_ZZZ W;
+    ECP_ZZZ W;
     int s;
-	ECP_ZZZ_copy(&W,P);
-	ECP_ZZZ_affine(&W);
+    ECP_ZZZ_copy(&W,P);
+    ECP_ZZZ_affine(&W);
 
     if (ECP_ZZZ_isinf(&W)) return -1;
 
@@ -336,26 +336,27 @@
 #endif
 
 void ECP_ZZZ_cfp(ECP_ZZZ *P)
-{ /* multiply point by curves cofactor */
-	BIG_XXX c;
-	int cf=CURVE_Cof_I_ZZZ;
-	if (cf==1) return;
-	if (cf==4)
-	{
-		ECP_ZZZ_dbl(P);
-		ECP_ZZZ_dbl(P);
-		return;
-	}
-	if (cf==8)
-	{
-		ECP_ZZZ_dbl(P);
-		ECP_ZZZ_dbl(P);
-		ECP_ZZZ_dbl(P);
-		return;
-	}
-	BIG_XXX_rcopy(c,CURVE_Cof_ZZZ);
-	ECP_ZZZ_mul(P,c);
-	return;
+{
+    /* multiply point by curves cofactor */
+    BIG_XXX c;
+    int cf=CURVE_Cof_I_ZZZ;
+    if (cf==1) return;
+    if (cf==4)
+    {
+        ECP_ZZZ_dbl(P);
+        ECP_ZZZ_dbl(P);
+        return;
+    }
+    if (cf==8)
+    {
+        ECP_ZZZ_dbl(P);
+        ECP_ZZZ_dbl(P);
+        ECP_ZZZ_dbl(P);
+        return;
+    }
+    BIG_XXX_rcopy(c,CURVE_Cof_ZZZ);
+    ECP_ZZZ_mul(P,c);
+    return;
 }
 
 /* map BIG to point on curve of correct order */
@@ -364,25 +365,26 @@
 void ECP_ZZZ_mapit(ECP_ZZZ *P,octet *W)
 {
     BIG_XXX q,x;
-	BIG_XXX_fromBytes(x,W->val);
+    BIG_XXX_fromBytes(x,W->val);
     BIG_XXX_rcopy(q,Modulus_YYY);
     BIG_XXX_mod(x,q);
 
-	for (;;)
-	{
-		for (;;)
-		{
+    for (;;)
+    {
+        for (;;)
+        {
 #if CURVETYPE_ZZZ!=MONTGOMERY
-			ECP_ZZZ_setx(P,x,0);
+            ECP_ZZZ_setx(P,x,0);
 #else
-			ECP_ZZZ_set(P,x);
+            ECP_ZZZ_set(P,x);
 #endif
-			BIG_XXX_inc(x,1); BIG_XXX_norm(x);
-			if (!ECP_ZZZ_isinf(P)) break;
-		}
-		ECP_ZZZ_cfp(P);
-		if (!ECP_ZZZ_isinf(P)) break;
-	}
+            BIG_XXX_inc(x,1);
+            BIG_XXX_norm(x);
+            if (!ECP_ZZZ_isinf(P)) break;
+        }
+        ECP_ZZZ_cfp(P);
+        if (!ECP_ZZZ_isinf(P)) break;
+    }
 }
 
 /* Convert P to Affine, from (x,y,z) to (x,y) */
@@ -390,12 +392,11 @@
 void ECP_ZZZ_affine(ECP_ZZZ *P)
 {
     FP_YYY one,iz;
-    BIG_XXX b;
     if (ECP_ZZZ_isinf(P)) return;
     FP_YYY_one(&one);
     if (FP_YYY_equals(&(P->z),&one)) return;
 
-	FP_YYY_inv(&iz,&(P->z));
+    FP_YYY_inv(&iz,&(P->z));
     FP_YYY_mul(&(P->x),&(P->x),&iz);
 
 #if CURVETYPE_ZZZ==EDWARDS || CURVETYPE_ZZZ==WEIERSTRASS
@@ -514,20 +515,20 @@
 #else
     BIG_XXX x,y;
     ECP_ZZZ_get(x,y,P);
-	if (compress)
-	{
-		W->val[0]=0x02;
-		if (BIG_XXX_parity(y)==1) W->val[0]=0x03;
-		W->len=MODBYTES_XXX+1;
-		BIG_XXX_toBytes(&(W->val[1]),x);
-	}
-	else
-	{
-		W->val[0]=4;
-		W->len=2*MODBYTES_XXX+1;
-		BIG_XXX_toBytes(&(W->val[1]),x);
-		BIG_XXX_toBytes(&(W->val[MODBYTES_XXX+1]),y);
-	}
+    if (compress)
+    {
+        W->val[0]=0x02;
+        if (BIG_XXX_parity(y)==1) W->val[0]=0x03;
+        W->len=MODBYTES_XXX+1;
+        BIG_XXX_toBytes(&(W->val[1]),x);
+    }
+    else
+    {
+        W->val[0]=4;
+        W->len=2*MODBYTES_XXX+1;
+        BIG_XXX_toBytes(&(W->val[1]),x);
+        BIG_XXX_toBytes(&(W->val[MODBYTES_XXX+1]),y);
+    }
 #endif
 }
 
@@ -542,17 +543,17 @@
     return 0;
 #else
     BIG_XXX x,y;
-	int typ=W->val[0];
-	BIG_XXX_fromBytes(x,&(W->val[1]));
-	if (typ==0x04)
-	{
-		BIG_XXX_fromBytes(y,&(W->val[MODBYTES_XXX+1]));
-		if (ECP_ZZZ_set(P,x,y)) return 1;
-	}
-	if (typ==0x02 || typ==0x03)
-	{
-		if (ECP_ZZZ_setx(P,x,typ&1)) return 1;
-	}
+    int typ=W->val[0];
+    BIG_XXX_fromBytes(x,&(W->val[1]));
+    if (typ==0x04)
+    {
+        BIG_XXX_fromBytes(y,&(W->val[MODBYTES_XXX+1]));
+        if (ECP_ZZZ_set(P,x,y)) return 1;
+    }
+    if (typ==0x02 || typ==0x03)
+    {
+        if (ECP_ZZZ_setx(P,x,typ&1)) return 1;
+    }
     return 0;
 #endif
 }
@@ -591,7 +592,7 @@
         FP_YYY_mul(&y3,&y3,&t0);				//y3.mul(t0);
         FP_YYY_add(&y3,&y3,&x3);				//y3.add(x3);
         FP_YYY_mul(&t1,&(P->x),&(P->y));			//t1.mul(y);
-       
+
         FP_YYY_norm(&t0);					//x.norm();
         FP_YYY_mul(&(P->x),&t0,&t1);		//x.mul(t1);
         FP_YYY_add(&(P->x),&(P->x),&(P->x));	//x.add(x);
@@ -780,7 +781,7 @@
         FP_YYY_mul(&t2,&(P->z),&(Q->z));		//t2.mul(Q.z);
         FP_YYY_add(&t3,&(P->x),&(P->y));		//t3.add(y);
         FP_YYY_norm(&t3);					//t3.norm();
- 
+
         FP_YYY_add(&t4,&(Q->x),&(Q->y));		//t4.add(Q.y);
         FP_YYY_norm(&t4);					//t4.norm();
         FP_YYY_mul(&t3,&t3,&t4);			//t3.mul(t4);
@@ -847,7 +848,7 @@
         FP_YYY_add(&t4,&(Q->x),&(Q->y));		//t4.add(Q.y);
         FP_YYY_norm(&t4);					//t4.norm();//5
         FP_YYY_mul(&t3,&t3,&t4);			//t3.mul(t4);//6
-    
+
         FP_YYY_add(&t4,&t0,&t1);			//t4.add(t1); //t4.norm(); //7
         FP_YYY_sub(&t3,&t3,&t4);			//t3.sub(t4);
         FP_YYY_norm(&t3);					//t3.norm(); //8
@@ -914,7 +915,7 @@
         FP_YYY_mul(&x3,&x3,&t3);			//x3.mul(t3);//39
         FP_YYY_sub(&(P->x),&x3,&t1);			//x3.sub(t1);//40
         FP_YYY_mul(&z3,&z3,&t4);			//z3.mul(t4);//41
- 
+
         FP_YYY_mul(&t1,&t3,&t0);			//t1.mul(t0);//42
         FP_YYY_add(&(P->z),&z3,&t1);			//z3.add(t1);
         FP_YYY_norm(&(P->x));				//x.norm();
@@ -981,9 +982,9 @@
 /* SU=16 */
 void  ECP_ZZZ_sub(ECP_ZZZ *P,ECP_ZZZ *Q)
 {
-	ECP_ZZZ NQ;
-	ECP_ZZZ_copy(&NQ,Q);
-	ECP_ZZZ_neg(&NQ);
+    ECP_ZZZ NQ;
+    ECP_ZZZ_copy(&NQ,Q);
+    ECP_ZZZ_neg(&NQ);
     ECP_ZZZ_add(P,&NQ);
 }
 
@@ -1219,13 +1220,13 @@
 
 void ECP_ZZZ_generator(ECP_ZZZ *G)
 {
-	BIG_XXX x,y;
-	BIG_XXX_rcopy(x,CURVE_Gx_ZZZ);
+    BIG_XXX x,y;
+    BIG_XXX_rcopy(x,CURVE_Gx_ZZZ);
 #if CURVETYPE_ZZZ!=MONTGOMERY
-	BIG_XXX_rcopy(y,CURVE_Gy_ZZZ);
+    BIG_XXX_rcopy(y,CURVE_Gy_ZZZ);
     ECP_ZZZ_set(G,x,y);
 #else
-	ECP_ZZZ_set(G,x);
+    ECP_ZZZ_set(G,x);
 #endif
 }
 
diff --git a/version3/c/ecp.h b/version3/c/ecp.h
index 01dac7c..f07230b 100644
--- a/version3/c/ecp.h
+++ b/version3/c/ecp.h
@@ -18,7 +18,7 @@
 */
 
 /**
- * @file ecp.h
+ * @file ecp_ZZZ.h
  * @author Mike Scott
  * @brief ECP Header File
  *
diff --git a/version3/c/ecp2.c b/version3/c/ecp2.c
index 5463c37..4a6f937 100644
--- a/version3/c/ecp2.c
+++ b/version3/c/ecp2.c
@@ -128,9 +128,9 @@
 /* SU= 16 */
 int ECP2_ZZZ_get(FP2_YYY *x,FP2_YYY *y,ECP2_ZZZ *P)
 {
-	ECP2_ZZZ W;
-	ECP2_ZZZ_copy(&W,P);
-	ECP2_ZZZ_affine(&W);
+    ECP2_ZZZ W;
+    ECP2_ZZZ_copy(&W,P);
+    ECP2_ZZZ_affine(&W);
     if (ECP2_ZZZ_isinf(&W)) return -1;
     FP2_YYY_copy(y,&(W.y));
     FP2_YYY_copy(x,&(W.x));
@@ -259,7 +259,7 @@
 
     if (!FP2_YYY_equals(&y2,&rhs))
     {
-		ECP2_ZZZ_inf(P);
+        ECP2_ZZZ_inf(P);
         return 0;
     }
 
@@ -279,7 +279,7 @@
 
     if (!FP2_YYY_sqrt(&y,&y))
     {
-		ECP2_ZZZ_inf(P);
+        ECP2_ZZZ_inf(P);
         return 0;
     }
 
@@ -444,9 +444,9 @@
 /* SU= 16 */
 void ECP2_ZZZ_sub(ECP2_ZZZ *P,ECP2_ZZZ *Q)
 {
-	ECP2_ZZZ NQ;
-	ECP2_ZZZ_copy(&NQ,Q);
-	ECP2_ZZZ_neg(&NQ);
+    ECP2_ZZZ NQ;
+    ECP2_ZZZ_copy(&NQ,Q);
+    ECP2_ZZZ_neg(&NQ);
     ECP2_ZZZ_add(P,&NQ);
 }
 
@@ -534,15 +534,15 @@
 
 // Bos & Costello https://eprint.iacr.org/2013/458.pdf
 // Faz-Hernandez & Longa & Sanchez  https://eprint.iacr.org/2013/158.pdf
-// Side channel attack secure 
+// Side channel attack secure
 
 void ECP2_ZZZ_mul4(ECP2_ZZZ *P,ECP2_ZZZ Q[4],BIG_XXX u[4])
 {
     int i,j,k,nb,pb,bt;
-	ECP2_ZZZ T[8],W;
+    ECP2_ZZZ T[8],W;
     BIG_XXX t[4],mt;
-	sign8 w[NLEN_XXX*BASEBITS_XXX+1];
-	sign8 s[NLEN_XXX*BASEBITS_XXX+1];
+    sign8 w[NLEN_XXX*BASEBITS_XXX+1];
+    sign8 s[NLEN_XXX*BASEBITS_XXX+1];
 
     for (i=0; i<4; i++)
     {
@@ -552,24 +552,24 @@
 // Precomputed table
     ECP2_ZZZ_copy(&T[0],&Q[0]); // Q[0]
     ECP2_ZZZ_copy(&T[1],&T[0]);
-	ECP2_ZZZ_add(&T[1],&Q[1]);	// Q[0]+Q[1]
+    ECP2_ZZZ_add(&T[1],&Q[1]);	// Q[0]+Q[1]
     ECP2_ZZZ_copy(&T[2],&T[0]);
-	ECP2_ZZZ_add(&T[2],&Q[2]);	// Q[0]+Q[2]
-	ECP2_ZZZ_copy(&T[3],&T[1]);
-	ECP2_ZZZ_add(&T[3],&Q[2]);	// Q[0]+Q[1]+Q[2]
-	ECP2_ZZZ_copy(&T[4],&T[0]);
-	ECP2_ZZZ_add(&T[4],&Q[3]);  // Q[0]+Q[3]
-	ECP2_ZZZ_copy(&T[5],&T[1]);
-	ECP2_ZZZ_add(&T[5],&Q[3]);	// Q[0]+Q[1]+Q[3]
-	ECP2_ZZZ_copy(&T[6],&T[2]);
-	ECP2_ZZZ_add(&T[6],&Q[3]);	// Q[0]+Q[2]+Q[3]
-	ECP2_ZZZ_copy(&T[7],&T[3]);
-	ECP2_ZZZ_add(&T[7],&Q[3]);	// Q[0]+Q[1]+Q[2]+Q[3]
+    ECP2_ZZZ_add(&T[2],&Q[2]);	// Q[0]+Q[2]
+    ECP2_ZZZ_copy(&T[3],&T[1]);
+    ECP2_ZZZ_add(&T[3],&Q[2]);	// Q[0]+Q[1]+Q[2]
+    ECP2_ZZZ_copy(&T[4],&T[0]);
+    ECP2_ZZZ_add(&T[4],&Q[3]);  // Q[0]+Q[3]
+    ECP2_ZZZ_copy(&T[5],&T[1]);
+    ECP2_ZZZ_add(&T[5],&Q[3]);	// Q[0]+Q[1]+Q[3]
+    ECP2_ZZZ_copy(&T[6],&T[2]);
+    ECP2_ZZZ_add(&T[6],&Q[3]);	// Q[0]+Q[2]+Q[3]
+    ECP2_ZZZ_copy(&T[7],&T[3]);
+    ECP2_ZZZ_add(&T[7],&Q[3]);	// Q[0]+Q[1]+Q[2]+Q[3]
 
 // Make it odd
-	pb=1-BIG_XXX_parity(t[0]);
-	BIG_XXX_inc(t[0],pb);
-	BIG_XXX_norm(t[0]);
+    pb=1-BIG_XXX_parity(t[0]);
+    BIG_XXX_inc(t[0],pb);
+    BIG_XXX_norm(t[0]);
 
 // Number of bits
     BIG_XXX_zero(mt);
@@ -579,33 +579,33 @@
     }
     nb=1+BIG_XXX_nbits(mt);
 
-// Sign pivot 
-	s[nb-1]=1;
-	for (i=0;i<nb-1;i++)
-	{
+// Sign pivot
+    s[nb-1]=1;
+    for (i=0; i<nb-1; i++)
+    {
         BIG_XXX_fshr(t[0],1);
-		s[i]=2*BIG_XXX_parity(t[0])-1;
-	}
+        s[i]=2*BIG_XXX_parity(t[0])-1;
+    }
 
 // Recoded exponent
     for (i=0; i<nb; i++)
     {
-		w[i]=0;
-		k=1;
-		for (j=1; j<4; j++)
-		{
-			bt=s[i]*BIG_XXX_parity(t[j]);
-			BIG_XXX_fshr(t[j],1);
+        w[i]=0;
+        k=1;
+        for (j=1; j<4; j++)
+        {
+            bt=s[i]*BIG_XXX_parity(t[j]);
+            BIG_XXX_fshr(t[j],1);
 
-			BIG_XXX_dec(t[j],(bt>>1));
-			BIG_XXX_norm(t[j]);
-			w[i]+=bt*k;
-			k*=2;
+            BIG_XXX_dec(t[j],(bt>>1));
+            BIG_XXX_norm(t[j]);
+            w[i]+=bt*k;
+            k*=2;
         }
-    }		
+    }
 
 // Main loop
-	ECP2_ZZZ_select(P,T,2*w[nb-1]+1);
+    ECP2_ZZZ_select(P,T,2*w[nb-1]+1);
     for (i=nb-2; i>=0; i--)
     {
         ECP2_ZZZ_select(&W,T,2*w[i]+s[i]);
@@ -614,9 +614,9 @@
     }
 
 // apply correction
-	ECP2_ZZZ_copy(&W,P);   
-	ECP2_ZZZ_sub(&W,&Q[0]);
-	ECP2_ZZZ_cmove(P,&W,pb);
+    ECP2_ZZZ_copy(&W,P);
+    ECP2_ZZZ_sub(&W,&Q[0]);
+    ECP2_ZZZ_cmove(P,&W,pb);
 
     ECP2_ZZZ_affine(P);
 }
@@ -713,12 +713,12 @@
 
 void ECP2_ZZZ_generator(ECP2_ZZZ *G)
 {
-	FP2_YYY wx,wy;
+    FP2_YYY wx,wy;
 
-    FP_YYY_rcopy(&(wx.a),CURVE_Pxa_ZZZ); 
-    FP_YYY_rcopy(&(wx.b),CURVE_Pxb_ZZZ); 
-    FP_YYY_rcopy(&(wy.a),CURVE_Pya_ZZZ); 
-    FP_YYY_rcopy(&(wy.b),CURVE_Pyb_ZZZ);     
+    FP_YYY_rcopy(&(wx.a),CURVE_Pxa_ZZZ);
+    FP_YYY_rcopy(&(wx.b),CURVE_Pxb_ZZZ);
+    FP_YYY_rcopy(&(wy.a),CURVE_Pya_ZZZ);
+    FP_YYY_rcopy(&(wy.b),CURVE_Pyb_ZZZ);
 
-	ECP2_ZZZ_set(G,&wx,&wy);
+    ECP2_ZZZ_set(G,&wx,&wy);
 }
diff --git a/version3/c/ecp2.h b/version3/c/ecp2.h
index 32c0420..046953a 100644
--- a/version3/c/ecp2.h
+++ b/version3/c/ecp2.h
@@ -18,7 +18,7 @@
 */
 
 /**
- * @file ecp2.h
+ * @file ecp2_ZZZ.h
  * @author Mike Scott
  * @brief ECP2 Header File
  *
diff --git a/version3/c/ecp4.c b/version3/c/ecp4.c
index e8148c4..3f95f7a 100644
--- a/version3/c/ecp4.c
+++ b/version3/c/ecp4.c
@@ -23,7 +23,7 @@
 
 int ECP4_ZZZ_isinf(ECP4_ZZZ *P)
 {
-	return (FP4_YYY_iszilch(&(P->x)) & FP4_YYY_iszilch(&(P->z)));
+    return (FP4_YYY_iszilch(&(P->x)) & FP4_YYY_iszilch(&(P->z)));
 }
 
 /* Set P=Q */
@@ -31,7 +31,7 @@
 {
     FP4_YYY_copy(&(P->x),&(Q->x));
     FP4_YYY_copy(&(P->y),&(Q->y));
-	FP4_YYY_copy(&(P->z),&(Q->z));
+    FP4_YYY_copy(&(P->z),&(Q->z));
 }
 
 /* set P to Infinity */
@@ -125,9 +125,9 @@
 /* extract x, y from point P */
 int ECP4_ZZZ_get(FP4_YYY *x,FP4_YYY *y,ECP4_ZZZ *P)
 {
-	ECP4_ZZZ W;
-	ECP4_ZZZ_copy(&W,P);
-	ECP4_ZZZ_affine(&W);
+    ECP4_ZZZ W;
+    ECP4_ZZZ_copy(&W,P);
+    ECP4_ZZZ_affine(&W);
     if (ECP4_ZZZ_isinf(&W)) return -1;
     FP4_YYY_copy(y,&(W.y));
     FP4_YYY_copy(x,&(W.x));
@@ -154,16 +154,16 @@
 /* Convert Q to octet string */
 void ECP4_ZZZ_toOctet(octet *W,ECP4_ZZZ *Q)
 {
-	BIG_XXX b;
-	FP4_YYY qx,qy;
-	FP2_YYY pa,pb;
+    BIG_XXX b;
+    FP4_YYY qx,qy;
+    FP2_YYY pa,pb;
 
     ECP4_ZZZ_get(&qx,&qy,Q);
 
-	FP2_YYY_copy(&pa,&(qx.a));
-	FP2_YYY_copy(&pb,&(qx.b));
+    FP2_YYY_copy(&pa,&(qx.a));
+    FP2_YYY_copy(&pb,&(qx.b));
 
-	FP_YYY_redc(b,&(pa.a));
+    FP_YYY_redc(b,&(pa.a));
     BIG_XXX_toBytes(&(W->val[0]),b);
     FP_YYY_redc(b,&(pa.b));
     BIG_XXX_toBytes(&(W->val[MODBYTES_XXX]),b);
@@ -172,10 +172,10 @@
     FP_YYY_redc(b,&(pb.b));
     BIG_XXX_toBytes(&(W->val[3*MODBYTES_XXX]),b);
 
-	FP2_YYY_copy(&pa,&(qy.a));
-	FP2_YYY_copy(&pb,&(qy.b));
-	
-	FP_YYY_redc(b,&(pa.a));
+    FP2_YYY_copy(&pa,&(qy.a));
+    FP2_YYY_copy(&pb,&(qy.b));
+
+    FP_YYY_redc(b,&(pa.a));
     BIG_XXX_toBytes(&(W->val[4*MODBYTES_XXX]),b);
     FP_YYY_redc(b,&(pa.b));
     BIG_XXX_toBytes(&(W->val[5*MODBYTES_XXX]),b);
@@ -190,12 +190,12 @@
 /* restore Q from octet string */
 int ECP4_ZZZ_fromOctet(ECP4_ZZZ *Q,octet *W)
 {
-	BIG_XXX b;
+    BIG_XXX b;
     FP4_YYY qx,qy;
-	FP2_YYY pa,pb;
+    FP2_YYY pa,pb;
 
     BIG_XXX_fromBytes(b,&(W->val[0]));
-	FP_YYY_nres(&(pa.a),b);
+    FP_YYY_nres(&(pa.a),b);
     BIG_XXX_fromBytes(b,&(W->val[MODBYTES_XXX]));
     FP_YYY_nres(&(pa.b),b);
     BIG_XXX_fromBytes(b,&(W->val[2*MODBYTES_XXX]));
@@ -203,11 +203,11 @@
     BIG_XXX_fromBytes(b,&(W->val[3*MODBYTES_XXX]));
     FP_YYY_nres(&(pb.b),b);
 
-	FP2_YYY_copy(&(qx.a),&pa);
-	FP2_YYY_copy(&(qx.b),&pb);
+    FP2_YYY_copy(&(qx.a),&pa);
+    FP2_YYY_copy(&(qx.b),&pb);
 
     BIG_XXX_fromBytes(b,&(W->val[4*MODBYTES_XXX]));
-	FP_YYY_nres(&(pa.a),b);
+    FP_YYY_nres(&(pa.a),b);
     BIG_XXX_fromBytes(b,&(W->val[5*MODBYTES_XXX]));
     FP_YYY_nres(&(pa.b),b);
     BIG_XXX_fromBytes(b,&(W->val[6*MODBYTES_XXX]));
@@ -215,8 +215,8 @@
     BIG_XXX_fromBytes(b,&(W->val[7*MODBYTES_XXX]));
     FP_YYY_nres(&(pb.b),b);
 
-	FP2_YYY_copy(&(qy.a),&pa);
-	FP2_YYY_copy(&(qy.b),&pb);
+    FP2_YYY_copy(&(qy.a),&pa);
+    FP2_YYY_copy(&(qy.b),&pb);
 
 
     if (ECP4_ZZZ_set(Q,&qx,&qy)) return 1;
@@ -228,7 +228,7 @@
 {
     /* calculate RHS of elliptic curve equation */
     FP4_YYY t;
-	FP2_YYY t2;
+    FP2_YYY t2;
     BIG_XXX b;
     FP4_YYY_sqr(&t,x);
 
@@ -239,13 +239,13 @@
     BIG_XXX_rcopy(b,CURVE_B_ZZZ);
 
     FP2_YYY_from_BIG(&t2,b);
-	FP4_YYY_from_FP2(&t,&t2);
+    FP4_YYY_from_FP2(&t,&t2);
 
-#if SEXTIC_TWIST_ZZZ == D_TYPE	
+#if SEXTIC_TWIST_ZZZ == D_TYPE
     FP4_YYY_div_i(&t);   /* IMPORTANT - here we use the correct SEXTIC twist of the curve */
 #endif
 
-#if SEXTIC_TWIST_ZZZ == M_TYPE	
+#if SEXTIC_TWIST_ZZZ == M_TYPE
     FP4_YYY_times_i(&t);   /* IMPORTANT - here we use the correct SEXTIC twist of the curve */
 #endif
 
@@ -264,11 +264,11 @@
 
     if (!FP4_YYY_equals(&y2,&rhs))
     {
-		ECP4_ZZZ_inf(P);
+        ECP4_ZZZ_inf(P);
         return 0;
     }
 
- //   P->inf=0;
+//   P->inf=0;
     FP4_YYY_copy(&(P->x),x);
     FP4_YYY_copy(&(P->y),y);
 
@@ -300,7 +300,7 @@
 /* SU= 8 */
 void ECP4_ZZZ_neg(ECP4_ZZZ *P)
 {
-	FP4_YYY_norm(&(P->y));
+    FP4_YYY_norm(&(P->y));
     FP4_YYY_neg(&(P->y),&(P->y));
     FP4_YYY_norm(&(P->y));
 }
@@ -310,55 +310,55 @@
 /* return -1 for Infinity, 0 for addition, 1 for doubling */
 int ECP4_ZZZ_dbl(ECP4_ZZZ *P)
 {
-    FP4_YYY t0,t1,t2,t3,iy,x3,y3;
+    FP4_YYY t0,t1,t2,iy,x3,y3;
 
-	FP4_YYY_copy(&iy,&(P->y));		//FP4_YYY iy=new FP4_YYY(y);
+    FP4_YYY_copy(&iy,&(P->y));		//FP4_YYY iy=new FP4_YYY(y);
 #if SEXTIC_TWIST_ZZZ==D_TYPE
-	FP4_YYY_times_i(&iy);			//iy.mul_ip(); 
+    FP4_YYY_times_i(&iy);			//iy.mul_ip();
 #endif
 
-	FP4_YYY_sqr(&t0,&(P->y));			//t0.sqr();   
+    FP4_YYY_sqr(&t0,&(P->y));			//t0.sqr();
 #if SEXTIC_TWIST_ZZZ==D_TYPE
-	FP4_YYY_times_i(&t0);			//t0.mul_ip(); 
+    FP4_YYY_times_i(&t0);			//t0.mul_ip();
 #endif
 
-	FP4_YYY_mul(&t1,&iy,&(P->z));	//t1.mul(z);
-	FP4_YYY_sqr(&t2,&(P->z));				//t2.sqr();
+    FP4_YYY_mul(&t1,&iy,&(P->z));	//t1.mul(z);
+    FP4_YYY_sqr(&t2,&(P->z));				//t2.sqr();
 
-	FP4_YYY_add(&(P->z),&t0,&t0);	//z.add(t0); 
-	FP4_YYY_norm(&(P->z));				//z.norm(); 
-	FP4_YYY_add(&(P->z),&(P->z),&(P->z));	//z.add(z); 
-	FP4_YYY_add(&(P->z),&(P->z),&(P->z));	//z.add(z); 
-	FP4_YYY_norm(&(P->z));			//z.norm();  
+    FP4_YYY_add(&(P->z),&t0,&t0);	//z.add(t0);
+    FP4_YYY_norm(&(P->z));				//z.norm();
+    FP4_YYY_add(&(P->z),&(P->z),&(P->z));	//z.add(z);
+    FP4_YYY_add(&(P->z),&(P->z),&(P->z));	//z.add(z);
+    FP4_YYY_norm(&(P->z));			//z.norm();
 
-	FP4_YYY_imul(&t2,&t2,3*CURVE_B_I_ZZZ);	//t2.imul(3*ROM.CURVE_B_I); 
+    FP4_YYY_imul(&t2,&t2,3*CURVE_B_I_ZZZ);	//t2.imul(3*ROM.CURVE_B_I);
 #if SEXTIC_TWIST_ZZZ==M_TYPE
-	FP4_YYY_times_i(&t2);
+    FP4_YYY_times_i(&t2);
 #endif
 
-	FP4_YYY_mul(&x3,&t2,&(P->z));	//x3.mul(z); 
+    FP4_YYY_mul(&x3,&t2,&(P->z));	//x3.mul(z);
 
-	FP4_YYY_add(&y3,&t0,&t2);		//y3.add(t2); 
-	FP4_YYY_norm(&y3);				//y3.norm();
-	FP4_YYY_mul(&(P->z),&(P->z),&t1);	//z.mul(t1);
+    FP4_YYY_add(&y3,&t0,&t2);		//y3.add(t2);
+    FP4_YYY_norm(&y3);				//y3.norm();
+    FP4_YYY_mul(&(P->z),&(P->z),&t1);	//z.mul(t1);
 
-	FP4_YYY_add(&t1,&t2,&t2);		//t1.add(t2); 
-	FP4_YYY_add(&t2,&t2,&t1);		//t2.add(t1); 
-	FP4_YYY_norm(&t2);				//t2.norm();  
-	FP4_YYY_sub(&t0,&t0,&t2);		//t0.sub(t2); 
-	FP4_YYY_norm(&t0);				//t0.norm();                           //y^2-9bz^2
-	FP4_YYY_mul(&y3,&y3,&t0);		//y3.mul(t0); 
-	FP4_YYY_add(&(P->y),&y3,&x3);		//y3.add(x3);                          //(y^2+3z*2)(y^2-9z^2)+3b.z^2.8y^2
+    FP4_YYY_add(&t1,&t2,&t2);		//t1.add(t2);
+    FP4_YYY_add(&t2,&t2,&t1);		//t2.add(t1);
+    FP4_YYY_norm(&t2);				//t2.norm();
+    FP4_YYY_sub(&t0,&t0,&t2);		//t0.sub(t2);
+    FP4_YYY_norm(&t0);				//t0.norm();                           //y^2-9bz^2
+    FP4_YYY_mul(&y3,&y3,&t0);		//y3.mul(t0);
+    FP4_YYY_add(&(P->y),&y3,&x3);		//y3.add(x3);                          //(y^2+3z*2)(y^2-9z^2)+3b.z^2.8y^2
 
-	FP4_YYY_mul(&t1,&(P->x),&iy);		//t1.mul(iy);						//
+    FP4_YYY_mul(&t1,&(P->x),&iy);		//t1.mul(iy);						//
 
-	FP4_YYY_norm(&t0);				//x.norm(); 
-	FP4_YYY_mul(&(P->x),&t0,&t1);	//x.mul(t1); 
-	FP4_YYY_add(&(P->x),&(P->x),&(P->x));	//x.add(x);       //(y^2-9bz^2)xy2
+    FP4_YYY_norm(&t0);				//x.norm();
+    FP4_YYY_mul(&(P->x),&t0,&t1);	//x.mul(t1);
+    FP4_YYY_add(&(P->x),&(P->x),&(P->x));	//x.add(x);       //(y^2-9bz^2)xy2
 
-	FP4_YYY_norm(&(P->x));			//x.norm(); 
+    FP4_YYY_norm(&(P->x));			//x.norm();
 
-	FP4_YYY_norm(&(P->y));			//y.norm();
+    FP4_YYY_norm(&(P->y));			//y.norm();
 
     return 1;
 }
@@ -368,88 +368,88 @@
 int ECP4_ZZZ_add(ECP4_ZZZ *P,ECP4_ZZZ *Q)
 {
     FP4_YYY t0,t1,t2,t3,t4,x3,y3,z3;
-	int b3=3*CURVE_B_I_ZZZ;
+    int b3=3*CURVE_B_I_ZZZ;
 
-	FP4_YYY_mul(&t0,&(P->x),&(Q->x));	//t0.mul(Q.x);         // x.Q.x
-	FP4_YYY_mul(&t1,&(P->y),&(Q->y));	//t1.mul(Q.y);		 // y.Q.y
+    FP4_YYY_mul(&t0,&(P->x),&(Q->x));	//t0.mul(Q.x);         // x.Q.x
+    FP4_YYY_mul(&t1,&(P->y),&(Q->y));	//t1.mul(Q.y);		 // y.Q.y
 
-	FP4_YYY_mul(&t2,&(P->z),&(Q->z));	//t2.mul(Q.z);
-	FP4_YYY_add(&t3,&(P->x),&(P->y));	//t3.add(y); 
-	FP4_YYY_norm(&t3);				//t3.norm();          //t3=X1+Y1         
-	FP4_YYY_add(&t4,&(Q->x),&(Q->y));	//t4.add(Q.y); 
-	FP4_YYY_norm(&t4);				//t4.norm();			//t4=X2+Y2
-	FP4_YYY_mul(&t3,&t3,&t4);		//t3.mul(t4);						//t3=(X1+Y1)(X2+Y2)
-	FP4_YYY_add(&t4,&t0,&t1);		//t4.add(t1);		//t4=X1.X2+Y1.Y2
+    FP4_YYY_mul(&t2,&(P->z),&(Q->z));	//t2.mul(Q.z);
+    FP4_YYY_add(&t3,&(P->x),&(P->y));	//t3.add(y);
+    FP4_YYY_norm(&t3);				//t3.norm();          //t3=X1+Y1
+    FP4_YYY_add(&t4,&(Q->x),&(Q->y));	//t4.add(Q.y);
+    FP4_YYY_norm(&t4);				//t4.norm();			//t4=X2+Y2
+    FP4_YYY_mul(&t3,&t3,&t4);		//t3.mul(t4);						//t3=(X1+Y1)(X2+Y2)
+    FP4_YYY_add(&t4,&t0,&t1);		//t4.add(t1);		//t4=X1.X2+Y1.Y2
 
-	FP4_YYY_sub(&t3,&t3,&t4);		//t3.sub(t4); 
-	FP4_YYY_norm(&t3);				//t3.norm(); 
+    FP4_YYY_sub(&t3,&t3,&t4);		//t3.sub(t4);
+    FP4_YYY_norm(&t3);				//t3.norm();
 #if SEXTIC_TWIST_ZZZ==D_TYPE
-	FP4_YYY_times_i(&t3);			//t3.mul_ip();  //t3=(X1+Y1)(X2+Y2)-(X1.X2+Y1.Y2) = X1.Y2+X2.Y1      
-#endif
-                   
-	FP4_YYY_add(&t4,&(P->y),&(P->z));	//t4.add(z); 
-	FP4_YYY_norm(&t4);				//t4.norm();			//t4=Y1+Z1
-
-	FP4_YYY_add(&x3,&(Q->y),&(Q->z));	//x3.add(Q.z); 
-	FP4_YYY_norm(&x3);				//x3.norm();			//x3=Y2+Z2
-
-	FP4_YYY_mul(&t4,&t4,&x3);		//t4.mul(x3);						//t4=(Y1+Z1)(Y2+Z2)
-
-	FP4_YYY_add(&x3,&t1,&t2);		//x3.add(t2);						//X3=Y1.Y2+Z1.Z2
-	
-	FP4_YYY_sub(&t4,&t4,&x3);		//t4.sub(x3); 
-	FP4_YYY_norm(&t4);				//t4.norm(); 
-#if SEXTIC_TWIST_ZZZ==D_TYPE
-	FP4_YYY_times_i(&t4);			//t4.mul_ip(); //t4=(Y1+Z1)(Y2+Z2) - (Y1.Y2+Z1.Z2) = Y1.Z2+Y2.Z1      
+    FP4_YYY_times_i(&t3);			//t3.mul_ip();  //t3=(X1+Y1)(X2+Y2)-(X1.X2+Y1.Y2) = X1.Y2+X2.Y1
 #endif
 
-	FP4_YYY_add(&x3,&(P->x),&(P->z));	//x3.add(z); 
-	FP4_YYY_norm(&x3);				//x3.norm();	// x3=X1+Z1
-		
-	FP4_YYY_add(&y3,&(Q->x),&(Q->z));	//y3.add(Q.z); 
-	FP4_YYY_norm(&y3);				//y3.norm();				// y3=X2+Z2
-	FP4_YYY_mul(&x3,&x3,&y3);		//x3.mul(y3);							// x3=(X1+Z1)(X2+Z2)
+    FP4_YYY_add(&t4,&(P->y),&(P->z));	//t4.add(z);
+    FP4_YYY_norm(&t4);				//t4.norm();			//t4=Y1+Z1
 
-	FP4_YYY_add(&y3,&t0,&t2);		//y3.add(t2);							// y3=X1.X2+Z1+Z2
-	FP4_YYY_sub(&y3,&x3,&y3);		//y3.rsub(x3); 
-	FP4_YYY_norm(&y3);				//y3.norm();				// y3=(X1+Z1)(X2+Z2) - (X1.X2+Z1.Z2) = X1.Z2+X2.Z1
+    FP4_YYY_add(&x3,&(Q->y),&(Q->z));	//x3.add(Q.z);
+    FP4_YYY_norm(&x3);				//x3.norm();			//x3=Y2+Z2
+
+    FP4_YYY_mul(&t4,&t4,&x3);		//t4.mul(x3);						//t4=(Y1+Z1)(Y2+Z2)
+
+    FP4_YYY_add(&x3,&t1,&t2);		//x3.add(t2);						//X3=Y1.Y2+Z1.Z2
+
+    FP4_YYY_sub(&t4,&t4,&x3);		//t4.sub(x3);
+    FP4_YYY_norm(&t4);				//t4.norm();
 #if SEXTIC_TWIST_ZZZ==D_TYPE
-	FP4_YYY_times_i(&t0);			//t0.mul_ip(); 
-	FP4_YYY_times_i(&t1);			//t1.mul_ip(); 
+    FP4_YYY_times_i(&t4);			//t4.mul_ip(); //t4=(Y1+Z1)(Y2+Z2) - (Y1.Y2+Z1.Z2) = Y1.Z2+Y2.Z1
 #endif
 
-	FP4_YYY_add(&x3,&t0,&t0);		//x3.add(t0); 
-	FP4_YYY_add(&t0,&t0,&x3);		//t0.add(x3); 
-	FP4_YYY_norm(&t0);				//t0.norm();
-	FP4_YYY_imul(&t2,&t2,b3);		//t2.imul(b); 	
+    FP4_YYY_add(&x3,&(P->x),&(P->z));	//x3.add(z);
+    FP4_YYY_norm(&x3);				//x3.norm();	// x3=X1+Z1
+
+    FP4_YYY_add(&y3,&(Q->x),&(Q->z));	//y3.add(Q.z);
+    FP4_YYY_norm(&y3);				//y3.norm();				// y3=X2+Z2
+    FP4_YYY_mul(&x3,&x3,&y3);		//x3.mul(y3);							// x3=(X1+Z1)(X2+Z2)
+
+    FP4_YYY_add(&y3,&t0,&t2);		//y3.add(t2);							// y3=X1.X2+Z1+Z2
+    FP4_YYY_sub(&y3,&x3,&y3);		//y3.rsub(x3);
+    FP4_YYY_norm(&y3);				//y3.norm();				// y3=(X1+Z1)(X2+Z2) - (X1.X2+Z1.Z2) = X1.Z2+X2.Z1
+#if SEXTIC_TWIST_ZZZ==D_TYPE
+    FP4_YYY_times_i(&t0);			//t0.mul_ip();
+    FP4_YYY_times_i(&t1);			//t1.mul_ip();
+#endif
+
+    FP4_YYY_add(&x3,&t0,&t0);		//x3.add(t0);
+    FP4_YYY_add(&t0,&t0,&x3);		//t0.add(x3);
+    FP4_YYY_norm(&t0);				//t0.norm();
+    FP4_YYY_imul(&t2,&t2,b3);		//t2.imul(b);
 #if SEXTIC_TWIST_ZZZ==M_TYPE
-	FP4_YYY_times_i(&t2);
+    FP4_YYY_times_i(&t2);
 #endif
 
-	FP4_YYY_add(&z3,&t1,&t2);		//z3.add(t2); 
-	FP4_YYY_norm(&z3);				//z3.norm();
-	FP4_YYY_sub(&t1,&t1,&t2);		//t1.sub(t2); 
-	FP4_YYY_norm(&t1);				//t1.norm(); 
-	FP4_YYY_imul(&y3,&y3,b3);		//y3.imul(b); 
+    FP4_YYY_add(&z3,&t1,&t2);		//z3.add(t2);
+    FP4_YYY_norm(&z3);				//z3.norm();
+    FP4_YYY_sub(&t1,&t1,&t2);		//t1.sub(t2);
+    FP4_YYY_norm(&t1);				//t1.norm();
+    FP4_YYY_imul(&y3,&y3,b3);		//y3.imul(b);
 #if SEXTIC_TWIST_ZZZ==M_TYPE
-	FP4_YYY_times_i(&y3);
+    FP4_YYY_times_i(&y3);
 #endif
 
-	FP4_YYY_mul(&x3,&y3,&t4);		//x3.mul(t4); 
+    FP4_YYY_mul(&x3,&y3,&t4);		//x3.mul(t4);
 
-	FP4_YYY_mul(&t2,&t3,&t1);		//t2.mul(t1); 
-	FP4_YYY_sub(&(P->x),&t2,&x3);		//x3.rsub(t2);
-	FP4_YYY_mul(&y3,&y3,&t0);		//y3.mul(t0); 
-	FP4_YYY_mul(&t1,&t1,&z3);		//t1.mul(z3); 
-	FP4_YYY_add(&(P->y),&y3,&t1);		//y3.add(t1);
-	FP4_YYY_mul(&t0,&t0,&t3);		//t0.mul(t3); 
-	FP4_YYY_mul(&z3,&z3,&t4);		//z3.mul(t4); 
-	FP4_YYY_add(&(P->z),&z3,&t0);		//z3.add(t0);
+    FP4_YYY_mul(&t2,&t3,&t1);		//t2.mul(t1);
+    FP4_YYY_sub(&(P->x),&t2,&x3);		//x3.rsub(t2);
+    FP4_YYY_mul(&y3,&y3,&t0);		//y3.mul(t0);
+    FP4_YYY_mul(&t1,&t1,&z3);		//t1.mul(z3);
+    FP4_YYY_add(&(P->y),&y3,&t1);		//y3.add(t1);
+    FP4_YYY_mul(&t0,&t0,&t3);		//t0.mul(t3);
+    FP4_YYY_mul(&z3,&z3,&t4);		//z3.mul(t4);
+    FP4_YYY_add(&(P->z),&z3,&t0);		//z3.add(t0);
 
 
-	FP4_YYY_norm(&(P->x));			//x.norm(); 
-	FP4_YYY_norm(&(P->y));			//y.norm();
-	FP4_YYY_norm(&(P->z));			//z.norm();
+    FP4_YYY_norm(&(P->x));			//x.norm();
+    FP4_YYY_norm(&(P->y));			//y.norm();
+    FP4_YYY_norm(&(P->z));			//z.norm();
 
     return 0;
 }
@@ -458,18 +458,18 @@
 /* SU= 16 */
 void ECP4_ZZZ_sub(ECP4_ZZZ *P,ECP4_ZZZ *Q)
 {
-	ECP4_ZZZ NQ;
-	ECP4_ZZZ_copy(&NQ,Q);
-	ECP4_ZZZ_neg(&NQ);
+    ECP4_ZZZ NQ;
+    ECP4_ZZZ_copy(&NQ,Q);
+    ECP4_ZZZ_neg(&NQ);
     ECP4_ZZZ_add(P,&NQ);
 }
 
 
 void ECP4_ZZZ_reduce(ECP4_ZZZ *P)
 {
-	FP4_YYY_reduce(&(P->x));
-	FP4_YYY_reduce(&(P->y));
-	FP4_YYY_reduce(&(P->z));
+    FP4_YYY_reduce(&(P->x));
+    FP4_YYY_reduce(&(P->y));
+    FP4_YYY_reduce(&(P->z));
 }
 
 /* P*=e */
@@ -532,65 +532,65 @@
         ECP4_ZZZ_add(P,&Q);
     }
     ECP4_ZZZ_sub(P,&C); /* apply correction */
-	ECP4_ZZZ_affine(P);
+    ECP4_ZZZ_affine(P);
 }
 
-// calculate frobenius constants 
+// calculate frobenius constants
 void ECP4_ZZZ_frob_constants(FP2_YYY F[3])
 {
     FP_YYY fx,fy;
-	FP2_YYY X;
+    FP2_YYY X;
 
     FP_YYY_rcopy(&fx,Fra_YYY);
     FP_YYY_rcopy(&fy,Frb_YYY);
     FP2_YYY_from_FPs(&X,&fx,&fy);
 
-	FP2_YYY_sqr(&F[0],&X);		// FF=F^2=(1+i)^(p-7)/6
-	FP2_YYY_copy(&F[2],&F[0]);
-	FP2_YYY_mul_ip(&F[2]);		// W=(1+i)^6/6.(1+i)^(p-7)/6 = (1+i)^(p-1)/6
-	FP2_YYY_norm(&F[2]);
-	FP2_YYY_sqr(&F[1],&F[2]);
-	FP2_YYY_mul(&F[2],&F[2],&F[1]);  // W=(1+i)^(p-1)/2
+    FP2_YYY_sqr(&F[0],&X);		// FF=F^2=(1+i)^(p-7)/6
+    FP2_YYY_copy(&F[2],&F[0]);
+    FP2_YYY_mul_ip(&F[2]);		// W=(1+i)^6/6.(1+i)^(p-7)/6 = (1+i)^(p-1)/6
+    FP2_YYY_norm(&F[2]);
+    FP2_YYY_sqr(&F[1],&F[2]);
+    FP2_YYY_mul(&F[2],&F[2],&F[1]);  // W=(1+i)^(p-1)/2
 
-	FP2_YYY_copy(&F[1],&X);
+    FP2_YYY_copy(&F[1],&X);
 
-#if SEXTIC_TWIST_ZZZ == M_TYPE	
-	FP2_YYY_mul_ip(&F[1]);		// (1+i)^12/12.(1+i)^(p-7)/12 = (1+i)^(p+5)/12
-	FP2_YYY_inv(&F[1],&F[1]);		// (1+i)^-(p+5)/12
-	FP2_YYY_sqr(&F[0],&F[1]);		// (1+i)^-(p+5)/6
+#if SEXTIC_TWIST_ZZZ == M_TYPE
+    FP2_YYY_mul_ip(&F[1]);		// (1+i)^12/12.(1+i)^(p-7)/12 = (1+i)^(p+5)/12
+    FP2_YYY_inv(&F[1],&F[1]);		// (1+i)^-(p+5)/12
+    FP2_YYY_sqr(&F[0],&F[1]);		// (1+i)^-(p+5)/6
 #endif
 
-	FP2_YYY_mul_ip(&F[0]);		// FF=(1+i)^(p-7)/6.(1+i) = (1+i)^(p-1)/6					// (1+i)^6/6.(1+i)^-(p+5)/6 = (1+i)^-(p-1)/6
-	FP2_YYY_norm(&F[0]);
-	FP2_YYY_mul(&F[1],&F[1],&F[0]);  // FFF = (1+i)^(p-7)/12 . (1+i)^(p-1)/6 = (1+i)^(p-3)/4	// (1+i)^-(p+5)/12 . (1+i)^-(p-1)/6 = (1+i)^-(p+1)/4
+    FP2_YYY_mul_ip(&F[0]);		// FF=(1+i)^(p-7)/6.(1+i) = (1+i)^(p-1)/6					// (1+i)^6/6.(1+i)^-(p+5)/6 = (1+i)^-(p-1)/6
+    FP2_YYY_norm(&F[0]);
+    FP2_YYY_mul(&F[1],&F[1],&F[0]);  // FFF = (1+i)^(p-7)/12 . (1+i)^(p-1)/6 = (1+i)^(p-3)/4	// (1+i)^-(p+5)/12 . (1+i)^-(p-1)/6 = (1+i)^-(p+1)/4
 
 }
 
 /* Calculates q^n.P using Frobenius constants */
 void ECP4_ZZZ_frob(ECP4_ZZZ *P,FP2_YYY F[3],int n)
 {
-	int i;
-	FP4_YYY X,Y,Z;
+    int i;
+    FP4_YYY X,Y,Z;
 
-	FP4_YYY_copy(&X,&(P->x));
-	FP4_YYY_copy(&Y,&(P->y));
-	FP4_YYY_copy(&Z,&(P->z));
+    FP4_YYY_copy(&X,&(P->x));
+    FP4_YYY_copy(&Y,&(P->y));
+    FP4_YYY_copy(&Z,&(P->z));
 
-	for (i=0;i<n;i++)
-	{
-		FP4_YYY_frob(&X,&F[2]);		// X^p
-		FP4_YYY_pmul(&X,&X,&F[0]);	// X^p.(1+i)^(p-1)/6									// X^p.(1+i)^-(p-1)/6
-		
-		FP4_YYY_frob(&Y,&F[2]);		// Y^p
-		FP4_YYY_pmul(&Y,&Y,&F[1]);
-		FP4_YYY_times_i(&Y);		// Y.p.(1+i)^(p-3)/4.(1+i)^(2/4) = Y^p.(1+i)^(p-1)/4	// (1+i)^-(p+1)/4 .(1+i)^2/4 = Y^p.(1+i)^-(p-1)/4
+    for (i=0; i<n; i++)
+    {
+        FP4_YYY_frob(&X,&F[2]);		// X^p
+        FP4_YYY_pmul(&X,&X,&F[0]);	// X^p.(1+i)^(p-1)/6									// X^p.(1+i)^-(p-1)/6
 
-		FP4_YYY_frob(&Z,&F[2]);
-	}
+        FP4_YYY_frob(&Y,&F[2]);		// Y^p
+        FP4_YYY_pmul(&Y,&Y,&F[1]);
+        FP4_YYY_times_i(&Y);		// Y.p.(1+i)^(p-3)/4.(1+i)^(2/4) = Y^p.(1+i)^(p-1)/4	// (1+i)^-(p+1)/4 .(1+i)^2/4 = Y^p.(1+i)^-(p-1)/4
 
-	FP4_YYY_copy(&(P->x),&X);
-	FP4_YYY_copy(&(P->y),&Y);
-	FP4_YYY_copy(&(P->z),&Z);
+        FP4_YYY_frob(&Z,&F[2]);
+    }
+
+    FP4_YYY_copy(&(P->x),&X);
+    FP4_YYY_copy(&(P->y),&Y);
+    FP4_YYY_copy(&(P->z),&Z);
 }
 
 /* Side channel attack secure */
@@ -600,54 +600,54 @@
 void ECP4_ZZZ_mul8(ECP4_ZZZ *P,ECP4_ZZZ Q[8],BIG_XXX u[8])
 {
     int i,j,k,nb,pb1,pb2,bt;
-	ECP4_ZZZ T1[8],T2[8],W;
+    ECP4_ZZZ T1[8],T2[8],W;
     BIG_XXX mt,t[8];
     sign8 w1[NLEN_XXX*BASEBITS_XXX+1];
     sign8 s1[NLEN_XXX*BASEBITS_XXX+1];
     sign8 w2[NLEN_XXX*BASEBITS_XXX+1];
-    sign8 s2[NLEN_XXX*BASEBITS_XXX+1];	
-	FP2_YYY X[3];
+    sign8 s2[NLEN_XXX*BASEBITS_XXX+1];
+    FP2_YYY X[3];
 
-	ECP4_ZZZ_frob_constants(X);
+    ECP4_ZZZ_frob_constants(X);
 
     for (i=0; i<8; i++)
-	{
+    {
         BIG_XXX_copy(t[i],u[i]);
-	}
+    }
 
 // Precomputed table
     ECP4_ZZZ_copy(&T1[0],&Q[0]); // Q[0]
     ECP4_ZZZ_copy(&T1[1],&T1[0]);
-	ECP4_ZZZ_add(&T1[1],&Q[1]);	// Q[0]+Q[1]
+    ECP4_ZZZ_add(&T1[1],&Q[1]);	// Q[0]+Q[1]
     ECP4_ZZZ_copy(&T1[2],&T1[0]);
-	ECP4_ZZZ_add(&T1[2],&Q[2]);	// Q[0]+Q[2]
-	ECP4_ZZZ_copy(&T1[3],&T1[1]);
-	ECP4_ZZZ_add(&T1[3],&Q[2]);	// Q[0]+Q[1]+Q[2]
-	ECP4_ZZZ_copy(&T1[4],&T1[0]);
-	ECP4_ZZZ_add(&T1[4],&Q[3]);  // Q[0]+Q[3]
-	ECP4_ZZZ_copy(&T1[5],&T1[1]);
-	ECP4_ZZZ_add(&T1[5],&Q[3]);	// Q[0]+Q[1]+Q[3]
-	ECP4_ZZZ_copy(&T1[6],&T1[2]);
-	ECP4_ZZZ_add(&T1[6],&Q[3]);	// Q[0]+Q[2]+Q[3]
-	ECP4_ZZZ_copy(&T1[7],&T1[3]);
-	ECP4_ZZZ_add(&T1[7],&Q[3]);	// Q[0]+Q[1]+Q[2]+Q[3]
+    ECP4_ZZZ_add(&T1[2],&Q[2]);	// Q[0]+Q[2]
+    ECP4_ZZZ_copy(&T1[3],&T1[1]);
+    ECP4_ZZZ_add(&T1[3],&Q[2]);	// Q[0]+Q[1]+Q[2]
+    ECP4_ZZZ_copy(&T1[4],&T1[0]);
+    ECP4_ZZZ_add(&T1[4],&Q[3]);  // Q[0]+Q[3]
+    ECP4_ZZZ_copy(&T1[5],&T1[1]);
+    ECP4_ZZZ_add(&T1[5],&Q[3]);	// Q[0]+Q[1]+Q[3]
+    ECP4_ZZZ_copy(&T1[6],&T1[2]);
+    ECP4_ZZZ_add(&T1[6],&Q[3]);	// Q[0]+Q[2]+Q[3]
+    ECP4_ZZZ_copy(&T1[7],&T1[3]);
+    ECP4_ZZZ_add(&T1[7],&Q[3]);	// Q[0]+Q[1]+Q[2]+Q[3]
 
-//  Use Frobenius 
+//  Use Frobenius
 
-	for (i=0;i<8;i++)
-	{
-		ECP4_ZZZ_copy(&T2[i],&T1[i]);
-		ECP4_ZZZ_frob(&T2[i],X,4);
-	}
+    for (i=0; i<8; i++)
+    {
+        ECP4_ZZZ_copy(&T2[i],&T1[i]);
+        ECP4_ZZZ_frob(&T2[i],X,4);
+    }
 
 // Make them odd
-	pb1=1-BIG_XXX_parity(t[0]);
-	BIG_XXX_inc(t[0],pb1);
-	BIG_XXX_norm(t[0]);
+    pb1=1-BIG_XXX_parity(t[0]);
+    BIG_XXX_inc(t[0],pb1);
+    BIG_XXX_norm(t[0]);
 
-	pb2=1-BIG_XXX_parity(t[4]);
-	BIG_XXX_inc(t[4],pb2);
-	BIG_XXX_norm(t[4]);
+    pb2=1-BIG_XXX_parity(t[4]);
+    BIG_XXX_inc(t[4],pb2);
+    BIG_XXX_norm(t[4]);
 
 // Number of bits
     BIG_XXX_zero(mt);
@@ -657,52 +657,52 @@
     }
     nb=1+BIG_XXX_nbits(mt);
 
-// Sign pivot 
-	s1[nb-1]=1;
-	s2[nb-1]=1;
-	for (i=0;i<nb-1;i++)
-	{
+// Sign pivot
+    s1[nb-1]=1;
+    s2[nb-1]=1;
+    for (i=0; i<nb-1; i++)
+    {
         BIG_XXX_fshr(t[0],1);
-		s1[i]=2*BIG_XXX_parity(t[0])-1;
+        s1[i]=2*BIG_XXX_parity(t[0])-1;
         BIG_XXX_fshr(t[4],1);
-		s2[i]=2*BIG_XXX_parity(t[4])-1;
-	}
+        s2[i]=2*BIG_XXX_parity(t[4])-1;
+    }
 
 
 // Recoded exponents
     for (i=0; i<nb; i++)
     {
-		w1[i]=0;
-		k=1;
-		for (j=1; j<4; j++)
-		{
-			bt=s1[i]*BIG_XXX_parity(t[j]);
-			BIG_XXX_fshr(t[j],1);
+        w1[i]=0;
+        k=1;
+        for (j=1; j<4; j++)
+        {
+            bt=s1[i]*BIG_XXX_parity(t[j]);
+            BIG_XXX_fshr(t[j],1);
 
-			BIG_XXX_dec(t[j],(bt>>1));
-			BIG_XXX_norm(t[j]);
-			w1[i]+=bt*k;
-			k*=2;
+            BIG_XXX_dec(t[j],(bt>>1));
+            BIG_XXX_norm(t[j]);
+            w1[i]+=bt*k;
+            k*=2;
         }
 
-		w2[i]=0;
-		k=1;
-		for (j=5; j<8; j++)
-		{
-			bt=s2[i]*BIG_XXX_parity(t[j]);
-			BIG_XXX_fshr(t[j],1);
+        w2[i]=0;
+        k=1;
+        for (j=5; j<8; j++)
+        {
+            bt=s2[i]*BIG_XXX_parity(t[j]);
+            BIG_XXX_fshr(t[j],1);
 
-			BIG_XXX_dec(t[j],(bt>>1));
-			BIG_XXX_norm(t[j]);
-			w2[i]+=bt*k;
-			k*=2;
+            BIG_XXX_dec(t[j],(bt>>1));
+            BIG_XXX_norm(t[j]);
+            w2[i]+=bt*k;
+            k*=2;
         }
-    }	
+    }
 
 // Main loop
-	ECP4_ZZZ_select(P,T1,2*w1[nb-1]+1);
-	ECP4_ZZZ_select(&W,T2,2*w2[nb-1]+1);
-	ECP4_ZZZ_add(P,&W);
+    ECP4_ZZZ_select(P,T1,2*w1[nb-1]+1);
+    ECP4_ZZZ_select(&W,T2,2*w2[nb-1]+1);
+    ECP4_ZZZ_add(P,&W);
     for (i=nb-2; i>=0; i--)
     {
         ECP4_ZZZ_dbl(P);
@@ -713,14 +713,14 @@
     }
 
 // apply corrections
-	ECP4_ZZZ_copy(&W,P);   
-	ECP4_ZZZ_sub(&W,&Q[0]);
-	ECP4_ZZZ_cmove(P,&W,pb1);
-	ECP4_ZZZ_copy(&W,P);   
-	ECP4_ZZZ_sub(&W,&Q[4]);
-	ECP4_ZZZ_cmove(P,&W,pb2);
+    ECP4_ZZZ_copy(&W,P);
+    ECP4_ZZZ_sub(&W,&Q[0]);
+    ECP4_ZZZ_cmove(P,&W,pb1);
+    ECP4_ZZZ_copy(&W,P);
+    ECP4_ZZZ_sub(&W,&Q[4]);
+    ECP4_ZZZ_cmove(P,&W,pb2);
 
-	ECP4_ZZZ_affine(P);
+    ECP4_ZZZ_affine(P);
 }
 
 /* Map to hash value to point on G2 from random BIG_XXX */
@@ -729,11 +729,11 @@
 {
     BIG_XXX q,one,x,hv;
     FP2_YYY X[3],T;
-	FP4_YYY X4,Y4;
+    FP4_YYY X4;
 
     ECP4_ZZZ xQ, x2Q, x3Q, x4Q;
 
-	BIG_XXX_fromBytes(hv,W->val);
+    BIG_XXX_fromBytes(hv,W->val);
     BIG_XXX_rcopy(q,Modulus_YYY);
     BIG_XXX_one(one);
     BIG_XXX_mod(hv,q);
@@ -741,53 +741,53 @@
     for (;;)
     {
         FP2_YYY_from_BIGs(&T,one,hv);  /*******/
-		FP4_YYY_from_FP2(&X4,&T);
+        FP4_YYY_from_FP2(&X4,&T);
         if (ECP4_ZZZ_setx(Q,&X4)) break;
         BIG_XXX_inc(hv,1);
     }
 
-	ECP4_ZZZ_frob_constants(X);
+    ECP4_ZZZ_frob_constants(X);
 
     BIG_XXX_rcopy(x,CURVE_Bnx_ZZZ);
 
-    // Efficient hash maps to G2 on BLS24 curves - Budroni, Pintore 
-	// Q -> x4Q -x3Q -Q + F(x3Q-x2Q) + F(F(x2Q-xQ)) + F(F(F(xQ-Q))) +F(F(F(F(2Q))))
+    // Efficient hash maps to G2 on BLS24 curves - Budroni, Pintore
+    // Q -> x4Q -x3Q -Q + F(x3Q-x2Q) + F(F(x2Q-xQ)) + F(F(F(xQ-Q))) +F(F(F(F(2Q))))
 
-	ECP4_ZZZ_copy(&xQ,Q);
-	ECP4_ZZZ_mul(&xQ,x);
-	ECP4_ZZZ_copy(&x2Q,&xQ);
-	ECP4_ZZZ_mul(&x2Q,x);
-	ECP4_ZZZ_copy(&x3Q,&x2Q);
-	ECP4_ZZZ_mul(&x3Q,x);
-	ECP4_ZZZ_copy(&x4Q,&x3Q);
-	ECP4_ZZZ_mul(&x4Q,x);
+    ECP4_ZZZ_copy(&xQ,Q);
+    ECP4_ZZZ_mul(&xQ,x);
+    ECP4_ZZZ_copy(&x2Q,&xQ);
+    ECP4_ZZZ_mul(&x2Q,x);
+    ECP4_ZZZ_copy(&x3Q,&x2Q);
+    ECP4_ZZZ_mul(&x3Q,x);
+    ECP4_ZZZ_copy(&x4Q,&x3Q);
+    ECP4_ZZZ_mul(&x4Q,x);
 
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	ECP4_ZZZ_neg(&xQ);
-	ECP4_ZZZ_neg(&x3Q);
+    ECP4_ZZZ_neg(&xQ);
+    ECP4_ZZZ_neg(&x3Q);
 #endif
 
-	ECP4_ZZZ_sub(&x4Q,&x3Q);
-	ECP4_ZZZ_sub(&x4Q,Q);
+    ECP4_ZZZ_sub(&x4Q,&x3Q);
+    ECP4_ZZZ_sub(&x4Q,Q);
 
-	ECP4_ZZZ_sub(&x3Q,&x2Q);
-	ECP4_ZZZ_frob(&x3Q,X,1);
+    ECP4_ZZZ_sub(&x3Q,&x2Q);
+    ECP4_ZZZ_frob(&x3Q,X,1);
 
-	ECP4_ZZZ_sub(&x2Q,&xQ);
-	ECP4_ZZZ_frob(&x2Q,X,2);
+    ECP4_ZZZ_sub(&x2Q,&xQ);
+    ECP4_ZZZ_frob(&x2Q,X,2);
 
-	ECP4_ZZZ_sub(&xQ,Q);
-	ECP4_ZZZ_frob(&xQ,X,3);
+    ECP4_ZZZ_sub(&xQ,Q);
+    ECP4_ZZZ_frob(&xQ,X,3);
 
-	ECP4_ZZZ_dbl(Q);
-	ECP4_ZZZ_frob(Q,X,4);
+    ECP4_ZZZ_dbl(Q);
+    ECP4_ZZZ_frob(Q,X,4);
 
-	ECP4_ZZZ_add(Q,&x4Q);
-	ECP4_ZZZ_add(Q,&x3Q);
-	ECP4_ZZZ_add(Q,&x2Q);
-	ECP4_ZZZ_add(Q,&xQ);
+    ECP4_ZZZ_add(Q,&x4Q);
+    ECP4_ZZZ_add(Q,&x3Q);
+    ECP4_ZZZ_add(Q,&x2Q);
+    ECP4_ZZZ_add(Q,&xQ);
 
-	ECP4_ZZZ_affine(Q);
+    ECP4_ZZZ_affine(Q);
 
 }
 
@@ -795,30 +795,30 @@
 
 void ECP4_ZZZ_generator(ECP4_ZZZ *G)
 {
-	BIG_XXX a,b;
-	FP2_YYY Aa,Bb;
-	FP4_YYY X,Y;
+    BIG_XXX a,b;
+    FP2_YYY Aa,Bb;
+    FP4_YYY X,Y;
 
-	BIG_XXX_rcopy(a,CURVE_Pxaa_ZZZ);
-	BIG_XXX_rcopy(b,CURVE_Pxab_ZZZ);
-	FP2_YYY_from_BIGs(&Aa,a,b);
+    BIG_XXX_rcopy(a,CURVE_Pxaa_ZZZ);
+    BIG_XXX_rcopy(b,CURVE_Pxab_ZZZ);
+    FP2_YYY_from_BIGs(&Aa,a,b);
 
-	BIG_XXX_rcopy(a,CURVE_Pxba_ZZZ);
-	BIG_XXX_rcopy(b,CURVE_Pxbb_ZZZ);
-	FP2_YYY_from_BIGs(&Bb,a,b);
+    BIG_XXX_rcopy(a,CURVE_Pxba_ZZZ);
+    BIG_XXX_rcopy(b,CURVE_Pxbb_ZZZ);
+    FP2_YYY_from_BIGs(&Bb,a,b);
 
-	FP4_YYY_from_FP2s(&X,&Aa,&Bb);
+    FP4_YYY_from_FP2s(&X,&Aa,&Bb);
 
-	BIG_XXX_rcopy(a,CURVE_Pyaa_ZZZ);
-	BIG_XXX_rcopy(b,CURVE_Pyab_ZZZ);
-	FP2_YYY_from_BIGs(&Aa,a,b);
+    BIG_XXX_rcopy(a,CURVE_Pyaa_ZZZ);
+    BIG_XXX_rcopy(b,CURVE_Pyab_ZZZ);
+    FP2_YYY_from_BIGs(&Aa,a,b);
 
-	BIG_XXX_rcopy(a,CURVE_Pyba_ZZZ);
-	BIG_XXX_rcopy(b,CURVE_Pybb_ZZZ);
-	FP2_YYY_from_BIGs(&Bb,a,b);
+    BIG_XXX_rcopy(a,CURVE_Pyba_ZZZ);
+    BIG_XXX_rcopy(b,CURVE_Pybb_ZZZ);
+    FP2_YYY_from_BIGs(&Bb,a,b);
 
-	FP4_YYY_from_FP2s(&Y,&Aa,&Bb);
+    FP4_YYY_from_FP2s(&Y,&Aa,&Bb);
 
-	ECP4_ZZZ_set(G,&X,&Y);
+    ECP4_ZZZ_set(G,&X,&Y);
 }
 
diff --git a/version3/c/ecp4.h b/version3/c/ecp4.h
index 8e022c9..5a0b756 100644
--- a/version3/c/ecp4.h
+++ b/version3/c/ecp4.h
@@ -11,10 +11,10 @@
 
 typedef struct
 {
- //   int inf; /**< Infinity Flag */
+//   int inf; /**< Infinity Flag */
     FP4_YYY x;   /**< x-coordinate of point */
     FP4_YYY y;   /**< y-coordinate of point */
-	FP4_YYY z;
+    FP4_YYY z;
 } ECP4_ZZZ;
 
 
diff --git a/version3/c/ecp8.c b/version3/c/ecp8.c
index dff3594..f807da2 100644
--- a/version3/c/ecp8.c
+++ b/version3/c/ecp8.c
@@ -25,7 +25,7 @@
 
 int ECP8_ZZZ_isinf(ECP8_ZZZ *P)
 {
-	return (FP8_YYY_iszilch(&(P->x)) & FP8_YYY_iszilch(&(P->z)));
+    return (FP8_YYY_iszilch(&(P->x)) & FP8_YYY_iszilch(&(P->z)));
 }
 
 /* Set P=Q */
@@ -41,7 +41,7 @@
 {
     FP8_YYY_zero(&(P->x));
     FP8_YYY_one(&(P->y));
-	FP8_YYY_zero(&(P->z));
+    FP8_YYY_zero(&(P->z));
 }
 
 /* Conditional move Q to P dependant on d */
@@ -125,9 +125,9 @@
 /* extract x, y from point P */
 int ECP8_ZZZ_get(FP8_YYY *x,FP8_YYY *y,ECP8_ZZZ *P)
 {
-	ECP8_ZZZ W;
-	ECP8_ZZZ_copy(&W,P);
-	ECP8_ZZZ_affine(&W);
+    ECP8_ZZZ W;
+    ECP8_ZZZ_copy(&W,P);
+    ECP8_ZZZ_affine(&W);
     if (ECP8_ZZZ_isinf(&W)) return -1;
     FP8_YYY_copy(y,&(W.y));
     FP8_YYY_copy(x,&(W.x));
@@ -154,20 +154,20 @@
 /* Convert Q to octet string */
 void ECP8_ZZZ_toOctet(octet *W,ECP8_ZZZ *Q)
 {
-	BIG_XXX b;
-	FP8_YYY qx,qy;
-	FP4_YYY qa,qb;
-	FP2_YYY pa,pb;
+    BIG_XXX b;
+    FP8_YYY qx,qy;
+    FP4_YYY qa,qb;
+    FP2_YYY pa,pb;
 
     ECP8_ZZZ_get(&qx,&qy,Q);
 
-	FP4_YYY_copy(&qa,&(qx.a));
-	FP4_YYY_copy(&qb,&(qx.b));
+    FP4_YYY_copy(&qa,&(qx.a));
+    FP4_YYY_copy(&qb,&(qx.b));
 
-	FP2_YYY_copy(&pa,&(qa.a));
-	FP2_YYY_copy(&pb,&(qa.b));
+    FP2_YYY_copy(&pa,&(qa.a));
+    FP2_YYY_copy(&pb,&(qa.b));
 
-	FP_YYY_redc(b,&(pa.a));
+    FP_YYY_redc(b,&(pa.a));
     BIG_XXX_toBytes(&(W->val[0]),b);
     FP_YYY_redc(b,&(pa.b));
     BIG_XXX_toBytes(&(W->val[MODBYTES_XXX]),b);
@@ -176,10 +176,10 @@
     FP_YYY_redc(b,&(pb.b));
     BIG_XXX_toBytes(&(W->val[3*MODBYTES_XXX]),b);
 
-	FP2_YYY_copy(&pa,&(qb.a));
-	FP2_YYY_copy(&pb,&(qb.b));
+    FP2_YYY_copy(&pa,&(qb.a));
+    FP2_YYY_copy(&pb,&(qb.b));
 
-	FP_YYY_redc(b,&(pa.a));
+    FP_YYY_redc(b,&(pa.a));
     BIG_XXX_toBytes(&(W->val[4*MODBYTES_XXX]),b);
     FP_YYY_redc(b,&(pa.b));
     BIG_XXX_toBytes(&(W->val[5*MODBYTES_XXX]),b);
@@ -189,13 +189,13 @@
     BIG_XXX_toBytes(&(W->val[7*MODBYTES_XXX]),b);
 
 
-	FP4_YYY_copy(&qa,&(qy.a));
-	FP4_YYY_copy(&qb,&(qy.b));
+    FP4_YYY_copy(&qa,&(qy.a));
+    FP4_YYY_copy(&qb,&(qy.b));
 
-	FP2_YYY_copy(&pa,&(qa.a));
-	FP2_YYY_copy(&pb,&(qa.b));
+    FP2_YYY_copy(&pa,&(qa.a));
+    FP2_YYY_copy(&pb,&(qa.b));
 
-	FP_YYY_redc(b,&(pa.a));
+    FP_YYY_redc(b,&(pa.a));
     BIG_XXX_toBytes(&(W->val[8*MODBYTES_XXX]),b);
     FP_YYY_redc(b,&(pa.b));
     BIG_XXX_toBytes(&(W->val[9*MODBYTES_XXX]),b);
@@ -204,10 +204,10 @@
     FP_YYY_redc(b,&(pb.b));
     BIG_XXX_toBytes(&(W->val[11*MODBYTES_XXX]),b);
 
-	FP2_YYY_copy(&pa,&(qb.a));
-	FP2_YYY_copy(&pb,&(qb.b));
+    FP2_YYY_copy(&pa,&(qb.a));
+    FP2_YYY_copy(&pb,&(qb.b));
 
-	FP_YYY_redc(b,&(pa.a));
+    FP_YYY_redc(b,&(pa.a));
     BIG_XXX_toBytes(&(W->val[12*MODBYTES_XXX]),b);
     FP_YYY_redc(b,&(pa.b));
     BIG_XXX_toBytes(&(W->val[13*MODBYTES_XXX]),b);
@@ -223,13 +223,13 @@
 /* restore Q from octet string */
 int ECP8_ZZZ_fromOctet(ECP8_ZZZ *Q,octet *W)
 {
-	BIG_XXX b;
+    BIG_XXX b;
     FP8_YYY qx,qy;
-	FP4_YYY qa,qb;
-	FP2_YYY pa,pb;
+    FP4_YYY qa,qb;
+    FP2_YYY pa,pb;
 
     BIG_XXX_fromBytes(b,&(W->val[0]));
-	FP_YYY_nres(&(pa.a),b);
+    FP_YYY_nres(&(pa.a),b);
     BIG_XXX_fromBytes(b,&(W->val[MODBYTES_XXX]));
     FP_YYY_nres(&(pa.b),b);
     BIG_XXX_fromBytes(b,&(W->val[2*MODBYTES_XXX]));
@@ -237,11 +237,11 @@
     BIG_XXX_fromBytes(b,&(W->val[3*MODBYTES_XXX]));
     FP_YYY_nres(&(pb.b),b);
 
-	FP2_YYY_copy(&(qa.a),&pa);
-	FP2_YYY_copy(&(qa.b),&pb);
+    FP2_YYY_copy(&(qa.a),&pa);
+    FP2_YYY_copy(&(qa.b),&pb);
 
     BIG_XXX_fromBytes(b,&(W->val[4*MODBYTES_XXX]));
-	FP_YYY_nres(&(pa.a),b);
+    FP_YYY_nres(&(pa.a),b);
     BIG_XXX_fromBytes(b,&(W->val[5*MODBYTES_XXX]));
     FP_YYY_nres(&(pa.b),b);
     BIG_XXX_fromBytes(b,&(W->val[6*MODBYTES_XXX]));
@@ -249,15 +249,15 @@
     BIG_XXX_fromBytes(b,&(W->val[7*MODBYTES_XXX]));
     FP_YYY_nres(&(pb.b),b);
 
-	FP2_YYY_copy(&(qb.a),&pa);
-	FP2_YYY_copy(&(qb.b),&pb);
+    FP2_YYY_copy(&(qb.a),&pa);
+    FP2_YYY_copy(&(qb.b),&pb);
 
-	FP4_YYY_copy(&(qx.a),&qa);
-	FP4_YYY_copy(&(qx.b),&qb);
+    FP4_YYY_copy(&(qx.a),&qa);
+    FP4_YYY_copy(&(qx.b),&qb);
 
 
     BIG_XXX_fromBytes(b,&(W->val[8*MODBYTES_XXX]));
-	FP_YYY_nres(&(pa.a),b);
+    FP_YYY_nres(&(pa.a),b);
     BIG_XXX_fromBytes(b,&(W->val[9*MODBYTES_XXX]));
     FP_YYY_nres(&(pa.b),b);
     BIG_XXX_fromBytes(b,&(W->val[10*MODBYTES_XXX]));
@@ -265,11 +265,11 @@
     BIG_XXX_fromBytes(b,&(W->val[11*MODBYTES_XXX]));
     FP_YYY_nres(&(pb.b),b);
 
-	FP2_YYY_copy(&(qa.a),&pa);
-	FP2_YYY_copy(&(qa.b),&pb);
+    FP2_YYY_copy(&(qa.a),&pa);
+    FP2_YYY_copy(&(qa.b),&pb);
 
     BIG_XXX_fromBytes(b,&(W->val[12*MODBYTES_XXX]));
-	FP_YYY_nres(&(pa.a),b);
+    FP_YYY_nres(&(pa.a),b);
     BIG_XXX_fromBytes(b,&(W->val[13*MODBYTES_XXX]));
     FP_YYY_nres(&(pa.b),b);
     BIG_XXX_fromBytes(b,&(W->val[14*MODBYTES_XXX]));
@@ -277,11 +277,11 @@
     BIG_XXX_fromBytes(b,&(W->val[15*MODBYTES_XXX]));
     FP_YYY_nres(&(pb.b),b);
 
-	FP2_YYY_copy(&(qb.a),&pa);
-	FP2_YYY_copy(&(qb.b),&pb);
+    FP2_YYY_copy(&(qb.a),&pa);
+    FP2_YYY_copy(&(qb.b),&pb);
 
-	FP4_YYY_copy(&(qy.a),&qa);
-	FP4_YYY_copy(&(qy.b),&qb);
+    FP4_YYY_copy(&(qy.a),&qa);
+    FP4_YYY_copy(&(qy.b),&qb);
 
 
     if (ECP8_ZZZ_set(Q,&qx,&qy)) return 1;
@@ -293,8 +293,8 @@
 {
     /* calculate RHS of elliptic curve equation */
     FP8_YYY t;
-	FP4_YYY t4;
-	FP2_YYY t2;
+    FP4_YYY t4;
+    FP2_YYY t2;
     BIG_XXX b;
     FP8_YYY_sqr(&t,x);
 
@@ -305,14 +305,14 @@
     BIG_XXX_rcopy(b,CURVE_B_ZZZ);
 
     FP2_YYY_from_BIG(&t2,b);
-	FP4_YYY_from_FP2(&t4,&t2);
-	FP8_YYY_from_FP4(&t,&t4);
+    FP4_YYY_from_FP2(&t4,&t2);
+    FP8_YYY_from_FP4(&t,&t4);
 
-#if SEXTIC_TWIST_ZZZ == D_TYPE	
+#if SEXTIC_TWIST_ZZZ == D_TYPE
     FP8_YYY_div_i(&t);   /* IMPORTANT - here we use the correct SEXTIC twist of the curve */
 #endif
 
-#if SEXTIC_TWIST_ZZZ == M_TYPE	
+#if SEXTIC_TWIST_ZZZ == M_TYPE
     FP8_YYY_times_i(&t);   /* IMPORTANT - here we use the correct SEXTIC twist of the curve */
 #endif
 
@@ -331,7 +331,7 @@
 
     if (!FP8_YYY_equals(&y2,&rhs))
     {
-		ECP8_ZZZ_inf(P);
+        ECP8_ZZZ_inf(P);
         return 0;
     }
 
@@ -351,7 +351,7 @@
 
     if (!FP8_YYY_sqrt(&y,&y))
     {
-		ECP8_ZZZ_inf(P);
+        ECP8_ZZZ_inf(P);
         return 0;
     }
 
@@ -365,7 +365,7 @@
 /* SU= 8 */
 void ECP8_ZZZ_neg(ECP8_ZZZ *P)
 {
-	FP8_YYY_norm(&(P->y));
+    FP8_YYY_norm(&(P->y));
     FP8_YYY_neg(&(P->y),&(P->y));
     FP8_YYY_norm(&(P->y));
 }
@@ -376,55 +376,55 @@
 /* return -1 for Infinity, 0 for addition, 1 for doubling */
 int ECP8_ZZZ_dbl(ECP8_ZZZ *P)
 {
-    FP8_YYY t0,t1,t2,t3,iy,x3,y3;
+    FP8_YYY t0,t1,t2,iy,x3,y3;
 
-	FP8_YYY_copy(&iy,&(P->y));		//FP8_YYY iy=new FP8_YYY(y);
+    FP8_YYY_copy(&iy,&(P->y));		//FP8_YYY iy=new FP8_YYY(y);
 #if SEXTIC_TWIST_ZZZ==D_TYPE
-	FP8_YYY_times_i(&iy);			//iy.mul_ip(); 
+    FP8_YYY_times_i(&iy);			//iy.mul_ip();
 #endif
 
-	FP8_YYY_sqr(&t0,&(P->y));			//t0.sqr();   
+    FP8_YYY_sqr(&t0,&(P->y));			//t0.sqr();
 #if SEXTIC_TWIST_ZZZ==D_TYPE
-	FP8_YYY_times_i(&t0);			//t0.mul_ip(); 
+    FP8_YYY_times_i(&t0);			//t0.mul_ip();
 #endif
 
-	FP8_YYY_mul(&t1,&iy,&(P->z));	//t1.mul(z);
-	FP8_YYY_sqr(&t2,&(P->z));				//t2.sqr();
+    FP8_YYY_mul(&t1,&iy,&(P->z));	//t1.mul(z);
+    FP8_YYY_sqr(&t2,&(P->z));				//t2.sqr();
 
-	FP8_YYY_add(&(P->z),&t0,&t0);	//z.add(t0); 
-	FP8_YYY_norm(&(P->z));				//z.norm(); 
-	FP8_YYY_add(&(P->z),&(P->z),&(P->z));	//z.add(z); 
-	FP8_YYY_add(&(P->z),&(P->z),&(P->z));	//z.add(z); 
-	FP8_YYY_norm(&(P->z));			//z.norm();  
+    FP8_YYY_add(&(P->z),&t0,&t0);	//z.add(t0);
+    FP8_YYY_norm(&(P->z));				//z.norm();
+    FP8_YYY_add(&(P->z),&(P->z),&(P->z));	//z.add(z);
+    FP8_YYY_add(&(P->z),&(P->z),&(P->z));	//z.add(z);
+    FP8_YYY_norm(&(P->z));			//z.norm();
 
-	FP8_YYY_imul(&t2,&t2,3*CURVE_B_I_ZZZ);	//t2.imul(3*ROM.CURVE_B_I); 
+    FP8_YYY_imul(&t2,&t2,3*CURVE_B_I_ZZZ);	//t2.imul(3*ROM.CURVE_B_I);
 #if SEXTIC_TWIST_ZZZ==M_TYPE
-	FP8_YYY_times_i(&t2);
+    FP8_YYY_times_i(&t2);
 #endif
 
-	FP8_YYY_mul(&x3,&t2,&(P->z));	//x3.mul(z); 
+    FP8_YYY_mul(&x3,&t2,&(P->z));	//x3.mul(z);
 
-	FP8_YYY_add(&y3,&t0,&t2);		//y3.add(t2); 
-	FP8_YYY_norm(&y3);				//y3.norm();
-	FP8_YYY_mul(&(P->z),&(P->z),&t1);	//z.mul(t1);
+    FP8_YYY_add(&y3,&t0,&t2);		//y3.add(t2);
+    FP8_YYY_norm(&y3);				//y3.norm();
+    FP8_YYY_mul(&(P->z),&(P->z),&t1);	//z.mul(t1);
 
-	FP8_YYY_add(&t1,&t2,&t2);		//t1.add(t2); 
-	FP8_YYY_add(&t2,&t2,&t1);		//t2.add(t1); 
-	FP8_YYY_norm(&t2);				//t2.norm();  
-	FP8_YYY_sub(&t0,&t0,&t2);		//t0.sub(t2); 
-	FP8_YYY_norm(&t0);				//t0.norm();                           //y^2-9bz^2
-	FP8_YYY_mul(&y3,&y3,&t0);		//y3.mul(t0); 
-	FP8_YYY_add(&(P->y),&y3,&x3);		//y3.add(x3);                          //(y^2+3z*2)(y^2-9z^2)+3b.z^2.8y^2
+    FP8_YYY_add(&t1,&t2,&t2);		//t1.add(t2);
+    FP8_YYY_add(&t2,&t2,&t1);		//t2.add(t1);
+    FP8_YYY_norm(&t2);				//t2.norm();
+    FP8_YYY_sub(&t0,&t0,&t2);		//t0.sub(t2);
+    FP8_YYY_norm(&t0);				//t0.norm();                           //y^2-9bz^2
+    FP8_YYY_mul(&y3,&y3,&t0);		//y3.mul(t0);
+    FP8_YYY_add(&(P->y),&y3,&x3);		//y3.add(x3);                          //(y^2+3z*2)(y^2-9z^2)+3b.z^2.8y^2
 
-	FP8_YYY_mul(&t1,&(P->x),&iy);		//t1.mul(iy);						//
+    FP8_YYY_mul(&t1,&(P->x),&iy);		//t1.mul(iy);						//
 
-	FP8_YYY_norm(&t0);			//x.norm(); 
-	FP8_YYY_mul(&(P->x),&t0,&t1);	//x.mul(t1); 
-	FP8_YYY_add(&(P->x),&(P->x),&(P->x));	//x.add(x);       //(y^2-9bz^2)xy2
+    FP8_YYY_norm(&t0);			//x.norm();
+    FP8_YYY_mul(&(P->x),&t0,&t1);	//x.mul(t1);
+    FP8_YYY_add(&(P->x),&(P->x),&(P->x));	//x.add(x);       //(y^2-9bz^2)xy2
 
-	FP8_YYY_norm(&(P->x));			//x.norm(); 
+    FP8_YYY_norm(&(P->x));			//x.norm();
 
-	FP8_YYY_norm(&(P->y));			//y.norm();
+    FP8_YYY_norm(&(P->y));			//y.norm();
 
     return 1;
 }
@@ -434,88 +434,88 @@
 int ECP8_ZZZ_add(ECP8_ZZZ *P,ECP8_ZZZ *Q)
 {
     FP8_YYY t0,t1,t2,t3,t4,x3,y3,z3;
-	int b3=3*CURVE_B_I_ZZZ;
+    int b3=3*CURVE_B_I_ZZZ;
 
-	FP8_YYY_mul(&t0,&(P->x),&(Q->x));	//t0.mul(Q.x);         // x.Q.x
-	FP8_YYY_mul(&t1,&(P->y),&(Q->y));	//t1.mul(Q.y);		 // y.Q.y
+    FP8_YYY_mul(&t0,&(P->x),&(Q->x));	//t0.mul(Q.x);         // x.Q.x
+    FP8_YYY_mul(&t1,&(P->y),&(Q->y));	//t1.mul(Q.y);		 // y.Q.y
 
-	FP8_YYY_mul(&t2,&(P->z),&(Q->z));	//t2.mul(Q.z);
-	FP8_YYY_add(&t3,&(P->x),&(P->y));	//t3.add(y); 
-	FP8_YYY_norm(&t3);				//t3.norm();          //t3=X1+Y1         
-	FP8_YYY_add(&t4,&(Q->x),&(Q->y));	//t4.add(Q.y); 
-	FP8_YYY_norm(&t4);				//t4.norm();			//t4=X2+Y2
-	FP8_YYY_mul(&t3,&t3,&t4);		//t3.mul(t4);						//t3=(X1+Y1)(X2+Y2)
-	FP8_YYY_add(&t4,&t0,&t1);		//t4.add(t1);		//t4=X1.X2+Y1.Y2
+    FP8_YYY_mul(&t2,&(P->z),&(Q->z));	//t2.mul(Q.z);
+    FP8_YYY_add(&t3,&(P->x),&(P->y));	//t3.add(y);
+    FP8_YYY_norm(&t3);				//t3.norm();          //t3=X1+Y1
+    FP8_YYY_add(&t4,&(Q->x),&(Q->y));	//t4.add(Q.y);
+    FP8_YYY_norm(&t4);				//t4.norm();			//t4=X2+Y2
+    FP8_YYY_mul(&t3,&t3,&t4);		//t3.mul(t4);						//t3=(X1+Y1)(X2+Y2)
+    FP8_YYY_add(&t4,&t0,&t1);		//t4.add(t1);		//t4=X1.X2+Y1.Y2
 
-	FP8_YYY_sub(&t3,&t3,&t4);		//t3.sub(t4); 
-	FP8_YYY_norm(&t3);				//t3.norm(); 
+    FP8_YYY_sub(&t3,&t3,&t4);		//t3.sub(t4);
+    FP8_YYY_norm(&t3);				//t3.norm();
 #if SEXTIC_TWIST_ZZZ==D_TYPE
-	FP8_YYY_times_i(&t3);			//t3.mul_ip();  //t3=(X1+Y1)(X2+Y2)-(X1.X2+Y1.Y2) = X1.Y2+X2.Y1     
-#endif
-                   
-	FP8_YYY_add(&t4,&(P->y),&(P->z));	//t4.add(z); 
-	FP8_YYY_norm(&t4);				//t4.norm();			//t4=Y1+Z1
-
-	FP8_YYY_add(&x3,&(Q->y),&(Q->z));	//x3.add(Q.z); 
-	FP8_YYY_norm(&x3);				//x3.norm();			//x3=Y2+Z2
-
-	FP8_YYY_mul(&t4,&t4,&x3);		//t4.mul(x3);						//t4=(Y1+Z1)(Y2+Z2)
-
-	FP8_YYY_add(&x3,&t1,&t2);		//x3.add(t2);						//X3=Y1.Y2+Z1.Z2
-	
-	FP8_YYY_sub(&t4,&t4,&x3);		//t4.sub(x3); 
-	FP8_YYY_norm(&t4);				//t4.norm(); 
-#if SEXTIC_TWIST_ZZZ==D_TYPE
-	FP8_YYY_times_i(&t4);			//t4.mul_ip(); //t4=(Y1+Z1)(Y2+Z2) - (Y1.Y2+Z1.Z2) = Y1.Z2+Y2.Z1     
+    FP8_YYY_times_i(&t3);			//t3.mul_ip();  //t3=(X1+Y1)(X2+Y2)-(X1.X2+Y1.Y2) = X1.Y2+X2.Y1
 #endif
 
-	FP8_YYY_add(&x3,&(P->x),&(P->z));	//x3.add(z); 
-	FP8_YYY_norm(&x3);				//x3.norm();	// x3=X1+Z1
-		
-	FP8_YYY_add(&y3,&(Q->x),&(Q->z));	//y3.add(Q.z); 
-	FP8_YYY_norm(&y3);				//y3.norm();				// y3=X2+Z2
-	FP8_YYY_mul(&x3,&x3,&y3);		//x3.mul(y3);							// x3=(X1+Z1)(X2+Z2)
+    FP8_YYY_add(&t4,&(P->y),&(P->z));	//t4.add(z);
+    FP8_YYY_norm(&t4);				//t4.norm();			//t4=Y1+Z1
 
-	FP8_YYY_add(&y3,&t0,&t2);		//y3.add(t2);							// y3=X1.X2+Z1+Z2
-	FP8_YYY_sub(&y3,&x3,&y3);		//y3.rsub(x3); 
-	FP8_YYY_norm(&y3);				//y3.norm();				// y3=(X1+Z1)(X2+Z2) - (X1.X2+Z1.Z2) = X1.Z2+X2.Z1
+    FP8_YYY_add(&x3,&(Q->y),&(Q->z));	//x3.add(Q.z);
+    FP8_YYY_norm(&x3);				//x3.norm();			//x3=Y2+Z2
+
+    FP8_YYY_mul(&t4,&t4,&x3);		//t4.mul(x3);						//t4=(Y1+Z1)(Y2+Z2)
+
+    FP8_YYY_add(&x3,&t1,&t2);		//x3.add(t2);						//X3=Y1.Y2+Z1.Z2
+
+    FP8_YYY_sub(&t4,&t4,&x3);		//t4.sub(x3);
+    FP8_YYY_norm(&t4);				//t4.norm();
 #if SEXTIC_TWIST_ZZZ==D_TYPE
-	FP8_YYY_times_i(&t0);			//t0.mul_ip(); 
-	FP8_YYY_times_i(&t1);			//t1.mul_ip(); 
+    FP8_YYY_times_i(&t4);			//t4.mul_ip(); //t4=(Y1+Z1)(Y2+Z2) - (Y1.Y2+Z1.Z2) = Y1.Z2+Y2.Z1
 #endif
 
-	FP8_YYY_add(&x3,&t0,&t0);		//x3.add(t0); 
-	FP8_YYY_add(&t0,&t0,&x3);		//t0.add(x3); 
-	FP8_YYY_norm(&t0);				//t0.norm();
-	FP8_YYY_imul(&t2,&t2,b3);		//t2.imul(b); 	
+    FP8_YYY_add(&x3,&(P->x),&(P->z));	//x3.add(z);
+    FP8_YYY_norm(&x3);				//x3.norm();	// x3=X1+Z1
+
+    FP8_YYY_add(&y3,&(Q->x),&(Q->z));	//y3.add(Q.z);
+    FP8_YYY_norm(&y3);				//y3.norm();				// y3=X2+Z2
+    FP8_YYY_mul(&x3,&x3,&y3);		//x3.mul(y3);							// x3=(X1+Z1)(X2+Z2)
+
+    FP8_YYY_add(&y3,&t0,&t2);		//y3.add(t2);							// y3=X1.X2+Z1+Z2
+    FP8_YYY_sub(&y3,&x3,&y3);		//y3.rsub(x3);
+    FP8_YYY_norm(&y3);				//y3.norm();				// y3=(X1+Z1)(X2+Z2) - (X1.X2+Z1.Z2) = X1.Z2+X2.Z1
+#if SEXTIC_TWIST_ZZZ==D_TYPE
+    FP8_YYY_times_i(&t0);			//t0.mul_ip();
+    FP8_YYY_times_i(&t1);			//t1.mul_ip();
+#endif
+
+    FP8_YYY_add(&x3,&t0,&t0);		//x3.add(t0);
+    FP8_YYY_add(&t0,&t0,&x3);		//t0.add(x3);
+    FP8_YYY_norm(&t0);				//t0.norm();
+    FP8_YYY_imul(&t2,&t2,b3);		//t2.imul(b);
 #if SEXTIC_TWIST_ZZZ==M_TYPE
-	FP8_YYY_times_i(&t2);
+    FP8_YYY_times_i(&t2);
 #endif
 
-	FP8_YYY_add(&z3,&t1,&t2);		//z3.add(t2); 
-	FP8_YYY_norm(&z3);				//z3.norm();
-	FP8_YYY_sub(&t1,&t1,&t2);		//t1.sub(t2); 
-	FP8_YYY_norm(&t1);				//t1.norm(); 
-	FP8_YYY_imul(&y3,&y3,b3);		//y3.imul(b); 
+    FP8_YYY_add(&z3,&t1,&t2);		//z3.add(t2);
+    FP8_YYY_norm(&z3);				//z3.norm();
+    FP8_YYY_sub(&t1,&t1,&t2);		//t1.sub(t2);
+    FP8_YYY_norm(&t1);				//t1.norm();
+    FP8_YYY_imul(&y3,&y3,b3);		//y3.imul(b);
 #if SEXTIC_TWIST_ZZZ==M_TYPE
-	FP8_YYY_times_i(&y3);
+    FP8_YYY_times_i(&y3);
 #endif
 
-	FP8_YYY_mul(&x3,&y3,&t4);		//x3.mul(t4); 
+    FP8_YYY_mul(&x3,&y3,&t4);		//x3.mul(t4);
 
-	FP8_YYY_mul(&t2,&t3,&t1);		//t2.mul(t1); 
-	FP8_YYY_sub(&(P->x),&t2,&x3);		//x3.rsub(t2);
-	FP8_YYY_mul(&y3,&y3,&t0);		//y3.mul(t0); 
-	FP8_YYY_mul(&t1,&t1,&z3);		//t1.mul(z3); 
-	FP8_YYY_add(&(P->y),&y3,&t1);		//y3.add(t1);
-	FP8_YYY_mul(&t0,&t0,&t3);		//t0.mul(t3); 
-	FP8_YYY_mul(&z3,&z3,&t4);		//z3.mul(t4); 
-	FP8_YYY_add(&(P->z),&z3,&t0);		//z3.add(t0);
+    FP8_YYY_mul(&t2,&t3,&t1);		//t2.mul(t1);
+    FP8_YYY_sub(&(P->x),&t2,&x3);		//x3.rsub(t2);
+    FP8_YYY_mul(&y3,&y3,&t0);		//y3.mul(t0);
+    FP8_YYY_mul(&t1,&t1,&z3);		//t1.mul(z3);
+    FP8_YYY_add(&(P->y),&y3,&t1);		//y3.add(t1);
+    FP8_YYY_mul(&t0,&t0,&t3);		//t0.mul(t3);
+    FP8_YYY_mul(&z3,&z3,&t4);		//z3.mul(t4);
+    FP8_YYY_add(&(P->z),&z3,&t0);		//z3.add(t0);
 
 
-	FP8_YYY_norm(&(P->x));			//x.norm(); 
-	FP8_YYY_norm(&(P->y));			//y.norm();
-	FP8_YYY_norm(&(P->z));			//z.norm();
+    FP8_YYY_norm(&(P->x));			//x.norm();
+    FP8_YYY_norm(&(P->y));			//y.norm();
+    FP8_YYY_norm(&(P->z));			//z.norm();
 
     return 0;
 }
@@ -524,18 +524,18 @@
 /* SU= 16 */
 void ECP8_ZZZ_sub(ECP8_ZZZ *P,ECP8_ZZZ *Q)
 {
-	ECP8_ZZZ NQ;
-	ECP8_ZZZ_copy(&NQ,Q);
-	ECP8_ZZZ_neg(&NQ);
+    ECP8_ZZZ NQ;
+    ECP8_ZZZ_copy(&NQ,Q);
+    ECP8_ZZZ_neg(&NQ);
     ECP8_ZZZ_add(P,&NQ);
 }
 
 
 void ECP8_ZZZ_reduce(ECP8_ZZZ *P)
 {
-	FP8_YYY_reduce(&(P->x));
-	FP8_YYY_reduce(&(P->y));
-	FP8_YYY_reduce(&(P->z));
+    FP8_YYY_reduce(&(P->x));
+    FP8_YYY_reduce(&(P->y));
+    FP8_YYY_reduce(&(P->z));
 }
 
 /* P*=e */
@@ -549,7 +549,7 @@
     sign8 w[1+(NLEN_XXX*BASEBITS_XXX+3)/4];
 
     if (ECP8_ZZZ_isinf(P)) return;
-    
+
     /* precompute table */
 
     ECP8_ZZZ_copy(&Q,P);
@@ -598,80 +598,82 @@
         ECP8_ZZZ_add(P,&Q);
     }
     ECP8_ZZZ_sub(P,&C); /* apply correction */
-	ECP8_ZZZ_affine(P);
+    ECP8_ZZZ_affine(P);
 }
 
 void ECP8_ZZZ_frob_constants(FP2_YYY F[3])
 {
     FP_YYY fx,fy;
-	FP2_YYY X;
+    FP2_YYY X;
 
     FP_YYY_rcopy(&fx,Fra_YYY);
     FP_YYY_rcopy(&fy,Frb_YYY);
     FP2_YYY_from_FPs(&X,&fx,&fy);
 
 
-	FP2_YYY_sqr(&F[0],&X);			// FF=F^2=(1+i)^(p-19)/12
-	FP2_YYY_copy(&F[2],&F[0]);
-	FP2_YYY_mul_ip(&F[2]);			// W=(1+i)^12/12.(1+i)^(p-19)/12 = (1+i)^(p-7)/12
-	FP2_YYY_norm(&F[2]);
-	FP2_YYY_sqr(&F[1],&F[2]);
-	FP2_YYY_mul(&F[2],&F[2],&F[1]);	// W=(1+i)^(p-7)/4
+    FP2_YYY_sqr(&F[0],&X);			// FF=F^2=(1+i)^(p-19)/12
+    FP2_YYY_copy(&F[2],&F[0]);
+    FP2_YYY_mul_ip(&F[2]);			// W=(1+i)^12/12.(1+i)^(p-19)/12 = (1+i)^(p-7)/12
+    FP2_YYY_norm(&F[2]);
+    FP2_YYY_sqr(&F[1],&F[2]);
+    FP2_YYY_mul(&F[2],&F[2],&F[1]);	// W=(1+i)^(p-7)/4
 
-	FP2_YYY_mul_ip(&F[2]);			// W=(1+i)^4/4.W=(1+i)^(p-7)/4 = (1+i)^(p-3)/4
-	FP2_YYY_norm(&F[2]);
+    FP2_YYY_mul_ip(&F[2]);			// W=(1+i)^4/4.W=(1+i)^(p-7)/4 = (1+i)^(p-3)/4
+    FP2_YYY_norm(&F[2]);
 
-	FP2_YYY_copy(&F[1],&X);
+    FP2_YYY_copy(&F[1],&X);
 
-#if SEXTIC_TWIST_ZZZ == M_TYPE	
-	FP2_YYY_mul_ip(&F[1]);		// (1+i)^24/24.(1+i)^(p-19)/24 = (1+i)^(p+5)/24
-	FP2_YYY_inv(&F[1],&F[1]);		// (1+i)^-(p+5)/24
-	FP2_YYY_sqr(&F[0],&F[1]);		// (1+i)^-(p+5)/12
+#if SEXTIC_TWIST_ZZZ == M_TYPE
+    FP2_YYY_mul_ip(&F[1]);		// (1+i)^24/24.(1+i)^(p-19)/24 = (1+i)^(p+5)/24
+    FP2_YYY_inv(&F[1],&F[1]);		// (1+i)^-(p+5)/24
+    FP2_YYY_sqr(&F[0],&F[1]);		// (1+i)^-(p+5)/12
 #endif
 
 
-	FP2_YYY_mul_ip(&F[0]);		// FF=(1+i)^(p-19)/12.(1+i)^12/12 = (1+i)^(p-7)/12					// FF=(1+i)^12/12.(1+i)^-(p+5)/12 = (1+i)^-(p-7)/12
-	FP2_YYY_norm(&F[0]);
+    FP2_YYY_mul_ip(&F[0]);		// FF=(1+i)^(p-19)/12.(1+i)^12/12 = (1+i)^(p-7)/12					// FF=(1+i)^12/12.(1+i)^-(p+5)/12 = (1+i)^-(p-7)/12
+    FP2_YYY_norm(&F[0]);
 
-	FP2_YYY_mul(&F[1],&F[1],&F[0]);  // (1+i)^(p-7)/12 . (1+i)^(p-19)/24 = (1+i)^(p-11)/8				// (1+i)^-(p-7)/12 . (1+i)^-(p+5)/24 = (1+i)^-(p-3)/8
+    FP2_YYY_mul(&F[1],&F[1],&F[0]);  // (1+i)^(p-7)/12 . (1+i)^(p-19)/24 = (1+i)^(p-11)/8				// (1+i)^-(p-7)/12 . (1+i)^-(p+5)/24 = (1+i)^-(p-3)/8
 
 }
 
 /* Calculates q^n.P using Frobenius constant X */
 void ECP8_ZZZ_frob(ECP8_ZZZ *P,FP2_YYY F[3],int n)
 {
-	int i;
-	FP8_YYY X,Y,Z;
+    int i;
+    FP8_YYY X,Y,Z;
 
-	FP8_YYY_copy(&X,&(P->x));
-	FP8_YYY_copy(&Y,&(P->y));
-	FP8_YYY_copy(&Z,&(P->z));
+    FP8_YYY_copy(&X,&(P->x));
+    FP8_YYY_copy(&Y,&(P->y));
+    FP8_YYY_copy(&Z,&(P->z));
 
-	for (i=0;i<n;i++)
-	{
-		FP8_YYY_frob(&X,&F[2]);		// X^p		
-		FP8_YYY_qmul(&X,&X,&F[0]); 
-#if SEXTIC_TWIST_ZZZ == M_TYPE			
-		FP8_YYY_div_i2(&X);			// X^p.(1+i)^-(p-1)/12
-#endif
-#if SEXTIC_TWIST_ZZZ == D_TYPE			
-		FP8_YYY_times_i2(&X);		// X^p.(1+i)^(p-1)/12
-#endif
-
-		FP8_YYY_frob(&Y,&F[2]);		// Y^p
-		FP8_YYY_qmul(&Y,&Y,&F[1]); 
-#if SEXTIC_TWIST_ZZZ == M_TYPE		
-		FP8_YYY_div_i(&Y);			// Y^p.(1+i)^-(p-1)/8
+    for (i=0; i<n; i++)
+    {
+        FP8_YYY_frob(&X,&F[2]);		// X^p
+        FP8_YYY_qmul(&X,&X,&F[0]);
+#if SEXTIC_TWIST_ZZZ == M_TYPE
+        FP8_YYY_div_i2(&X);			// X^p.(1+i)^-(p-1)/12
 #endif
 #if SEXTIC_TWIST_ZZZ == D_TYPE
-		FP8_YYY_times_i2(&Y); FP8_YYY_times_i2(&Y); FP8_YYY_times_i(&Y);  // Y^p.(1+i)^(p-1)/8
+        FP8_YYY_times_i2(&X);		// X^p.(1+i)^(p-1)/12
 #endif
-		FP8_YYY_frob(&Z,&F[2]);
-	}
 
-	FP8_YYY_copy(&(P->x),&X);
-	FP8_YYY_copy(&(P->y),&Y);
-	FP8_YYY_copy(&(P->z),&Z);
+        FP8_YYY_frob(&Y,&F[2]);		// Y^p
+        FP8_YYY_qmul(&Y,&Y,&F[1]);
+#if SEXTIC_TWIST_ZZZ == M_TYPE
+        FP8_YYY_div_i(&Y);			// Y^p.(1+i)^-(p-1)/8
+#endif
+#if SEXTIC_TWIST_ZZZ == D_TYPE
+        FP8_YYY_times_i2(&Y);
+        FP8_YYY_times_i2(&Y);
+        FP8_YYY_times_i(&Y);  // Y^p.(1+i)^(p-1)/8
+#endif
+        FP8_YYY_frob(&Z,&F[2]);
+    }
+
+    FP8_YYY_copy(&(P->x),&X);
+    FP8_YYY_copy(&(P->y),&Y);
+    FP8_YYY_copy(&(P->z),&Z);
 }
 
 /* Side channel attack secure */
@@ -681,71 +683,71 @@
 void ECP8_ZZZ_mul16(ECP8_ZZZ *P,ECP8_ZZZ Q[16],BIG_XXX u[16])
 {
     int i,j,k,nb,pb1,pb2,pb3,pb4,bt;
-	ECP8_ZZZ T1[8],T2[8],T3[8],T4[8],W;
+    ECP8_ZZZ T1[8],T2[8],T3[8],T4[8],W;
     BIG_XXX mt,t[16];
     sign8 w1[NLEN_XXX*BASEBITS_XXX+1];
     sign8 s1[NLEN_XXX*BASEBITS_XXX+1];
     sign8 w2[NLEN_XXX*BASEBITS_XXX+1];
-    sign8 s2[NLEN_XXX*BASEBITS_XXX+1];	
+    sign8 s2[NLEN_XXX*BASEBITS_XXX+1];
     sign8 w3[NLEN_XXX*BASEBITS_XXX+1];
     sign8 s3[NLEN_XXX*BASEBITS_XXX+1];
     sign8 w4[NLEN_XXX*BASEBITS_XXX+1];
-    sign8 s4[NLEN_XXX*BASEBITS_XXX+1];	
+    sign8 s4[NLEN_XXX*BASEBITS_XXX+1];
 
-	FP2_YYY X[3];
-	ECP8_ZZZ_frob_constants(X);
+    FP2_YYY X[3];
+    ECP8_ZZZ_frob_constants(X);
 
     for (i=0; i<16; i++)
-	{
+    {
         BIG_XXX_copy(t[i],u[i]);
-	}
+    }
 // Precomputed table
     ECP8_ZZZ_copy(&T1[0],&Q[0]); // Q[0]
     ECP8_ZZZ_copy(&T1[1],&T1[0]);
-	ECP8_ZZZ_add(&T1[1],&Q[1]);	// Q[0]+Q[1]
+    ECP8_ZZZ_add(&T1[1],&Q[1]);	// Q[0]+Q[1]
     ECP8_ZZZ_copy(&T1[2],&T1[0]);
-	ECP8_ZZZ_add(&T1[2],&Q[2]);	// Q[0]+Q[2]
-	ECP8_ZZZ_copy(&T1[3],&T1[1]);
-	ECP8_ZZZ_add(&T1[3],&Q[2]);	// Q[0]+Q[1]+Q[2]
-	ECP8_ZZZ_copy(&T1[4],&T1[0]);
-	ECP8_ZZZ_add(&T1[4],&Q[3]);  // Q[0]+Q[3]
-	ECP8_ZZZ_copy(&T1[5],&T1[1]);
-	ECP8_ZZZ_add(&T1[5],&Q[3]);	// Q[0]+Q[1]+Q[3]
-	ECP8_ZZZ_copy(&T1[6],&T1[2]);
-	ECP8_ZZZ_add(&T1[6],&Q[3]);	// Q[0]+Q[2]+Q[3]
-	ECP8_ZZZ_copy(&T1[7],&T1[3]);
-	ECP8_ZZZ_add(&T1[7],&Q[3]);	// Q[0]+Q[1]+Q[2]+Q[3]
+    ECP8_ZZZ_add(&T1[2],&Q[2]);	// Q[0]+Q[2]
+    ECP8_ZZZ_copy(&T1[3],&T1[1]);
+    ECP8_ZZZ_add(&T1[3],&Q[2]);	// Q[0]+Q[1]+Q[2]
+    ECP8_ZZZ_copy(&T1[4],&T1[0]);
+    ECP8_ZZZ_add(&T1[4],&Q[3]);  // Q[0]+Q[3]
+    ECP8_ZZZ_copy(&T1[5],&T1[1]);
+    ECP8_ZZZ_add(&T1[5],&Q[3]);	// Q[0]+Q[1]+Q[3]
+    ECP8_ZZZ_copy(&T1[6],&T1[2]);
+    ECP8_ZZZ_add(&T1[6],&Q[3]);	// Q[0]+Q[2]+Q[3]
+    ECP8_ZZZ_copy(&T1[7],&T1[3]);
+    ECP8_ZZZ_add(&T1[7],&Q[3]);	// Q[0]+Q[1]+Q[2]+Q[3]
 
-//  Use Frobenius 
+//  Use Frobenius
 
-	for (i=0;i<8;i++)
-	{
-		ECP8_ZZZ_copy(&T2[i],&T1[i]);
-		ECP8_ZZZ_frob(&T2[i],X,4);
+    for (i=0; i<8; i++)
+    {
+        ECP8_ZZZ_copy(&T2[i],&T1[i]);
+        ECP8_ZZZ_frob(&T2[i],X,4);
 
-		ECP8_ZZZ_copy(&T3[i],&T2[i]);
-		ECP8_ZZZ_frob(&T3[i],X,4);
+        ECP8_ZZZ_copy(&T3[i],&T2[i]);
+        ECP8_ZZZ_frob(&T3[i],X,4);
 
-		ECP8_ZZZ_copy(&T4[i],&T3[i]);
-		ECP8_ZZZ_frob(&T4[i],X,4);
-	}
+        ECP8_ZZZ_copy(&T4[i],&T3[i]);
+        ECP8_ZZZ_frob(&T4[i],X,4);
+    }
 
 // Make them odd
-	pb1=1-BIG_XXX_parity(t[0]);
-	BIG_XXX_inc(t[0],pb1);
-	BIG_XXX_norm(t[0]);
+    pb1=1-BIG_XXX_parity(t[0]);
+    BIG_XXX_inc(t[0],pb1);
+    BIG_XXX_norm(t[0]);
 
-	pb2=1-BIG_XXX_parity(t[4]);
-	BIG_XXX_inc(t[4],pb2);
-	BIG_XXX_norm(t[4]);
+    pb2=1-BIG_XXX_parity(t[4]);
+    BIG_XXX_inc(t[4],pb2);
+    BIG_XXX_norm(t[4]);
 
-	pb3=1-BIG_XXX_parity(t[8]);
-	BIG_XXX_inc(t[8],pb3);
-	BIG_XXX_norm(t[8]);
+    pb3=1-BIG_XXX_parity(t[8]);
+    BIG_XXX_inc(t[8],pb3);
+    BIG_XXX_norm(t[8]);
 
-	pb4=1-BIG_XXX_parity(t[12]);
-	BIG_XXX_inc(t[12],pb4);
-	BIG_XXX_norm(t[12]);
+    pb4=1-BIG_XXX_parity(t[12]);
+    BIG_XXX_inc(t[12],pb4);
+    BIG_XXX_norm(t[12]);
 
 // Number of bits
     BIG_XXX_zero(mt);
@@ -755,88 +757,88 @@
     }
     nb=1+BIG_XXX_nbits(mt);
 
-// Sign pivot 
-	s1[nb-1]=1;
-	s2[nb-1]=1;
-	s3[nb-1]=1;
-	s4[nb-1]=1;
-	for (i=0;i<nb-1;i++)
-	{
+// Sign pivot
+    s1[nb-1]=1;
+    s2[nb-1]=1;
+    s3[nb-1]=1;
+    s4[nb-1]=1;
+    for (i=0; i<nb-1; i++)
+    {
         BIG_XXX_fshr(t[0],1);
-		s1[i]=2*BIG_XXX_parity(t[0])-1;
+        s1[i]=2*BIG_XXX_parity(t[0])-1;
         BIG_XXX_fshr(t[4],1);
-		s2[i]=2*BIG_XXX_parity(t[4])-1;
+        s2[i]=2*BIG_XXX_parity(t[4])-1;
         BIG_XXX_fshr(t[8],1);
-		s3[i]=2*BIG_XXX_parity(t[8])-1;
+        s3[i]=2*BIG_XXX_parity(t[8])-1;
         BIG_XXX_fshr(t[12],1);
-		s4[i]=2*BIG_XXX_parity(t[12])-1;
-	}
+        s4[i]=2*BIG_XXX_parity(t[12])-1;
+    }
 
 
 // Recoded exponents
     for (i=0; i<nb; i++)
     {
-		w1[i]=0;
-		k=1;
-		for (j=1; j<4; j++)
-		{
-			bt=s1[i]*BIG_XXX_parity(t[j]);
-			BIG_XXX_fshr(t[j],1);
+        w1[i]=0;
+        k=1;
+        for (j=1; j<4; j++)
+        {
+            bt=s1[i]*BIG_XXX_parity(t[j]);
+            BIG_XXX_fshr(t[j],1);
 
-			BIG_XXX_dec(t[j],(bt>>1));
-			BIG_XXX_norm(t[j]);
-			w1[i]+=bt*k;
-			k*=2;
+            BIG_XXX_dec(t[j],(bt>>1));
+            BIG_XXX_norm(t[j]);
+            w1[i]+=bt*k;
+            k*=2;
         }
 
-		w2[i]=0;
-		k=1;
-		for (j=5; j<8; j++)
-		{
-			bt=s2[i]*BIG_XXX_parity(t[j]);
-			BIG_XXX_fshr(t[j],1);
+        w2[i]=0;
+        k=1;
+        for (j=5; j<8; j++)
+        {
+            bt=s2[i]*BIG_XXX_parity(t[j]);
+            BIG_XXX_fshr(t[j],1);
 
-			BIG_XXX_dec(t[j],(bt>>1));
-			BIG_XXX_norm(t[j]);
-			w2[i]+=bt*k;
-			k*=2;
+            BIG_XXX_dec(t[j],(bt>>1));
+            BIG_XXX_norm(t[j]);
+            w2[i]+=bt*k;
+            k*=2;
         }
 
-		w3[i]=0;
-		k=1;
-		for (j=9; j<12; j++)
-		{
-			bt=s3[i]*BIG_XXX_parity(t[j]);
-			BIG_XXX_fshr(t[j],1);
+        w3[i]=0;
+        k=1;
+        for (j=9; j<12; j++)
+        {
+            bt=s3[i]*BIG_XXX_parity(t[j]);
+            BIG_XXX_fshr(t[j],1);
 
-			BIG_XXX_dec(t[j],(bt>>1));
-			BIG_XXX_norm(t[j]);
-			w3[i]+=bt*k;
-			k*=2;
+            BIG_XXX_dec(t[j],(bt>>1));
+            BIG_XXX_norm(t[j]);
+            w3[i]+=bt*k;
+            k*=2;
         }
 
-		w4[i]=0;
-		k=1;
-		for (j=13; j<16; j++)
-		{
-			bt=s4[i]*BIG_XXX_parity(t[j]);
-			BIG_XXX_fshr(t[j],1);
+        w4[i]=0;
+        k=1;
+        for (j=13; j<16; j++)
+        {
+            bt=s4[i]*BIG_XXX_parity(t[j]);
+            BIG_XXX_fshr(t[j],1);
 
-			BIG_XXX_dec(t[j],(bt>>1));
-			BIG_XXX_norm(t[j]);
-			w4[i]+=bt*k;
-			k*=2;
+            BIG_XXX_dec(t[j],(bt>>1));
+            BIG_XXX_norm(t[j]);
+            w4[i]+=bt*k;
+            k*=2;
         }
-    }	
+    }
 
 // Main loop
-	ECP8_ZZZ_select(P,T1,2*w1[nb-1]+1);
-	ECP8_ZZZ_select(&W,T2,2*w2[nb-1]+1);
-	ECP8_ZZZ_add(P,&W);
-	ECP8_ZZZ_select(&W,T3,2*w3[nb-1]+1);
-	ECP8_ZZZ_add(P,&W);
-	ECP8_ZZZ_select(&W,T4,2*w4[nb-1]+1);
-	ECP8_ZZZ_add(P,&W);
+    ECP8_ZZZ_select(P,T1,2*w1[nb-1]+1);
+    ECP8_ZZZ_select(&W,T2,2*w2[nb-1]+1);
+    ECP8_ZZZ_add(P,&W);
+    ECP8_ZZZ_select(&W,T3,2*w3[nb-1]+1);
+    ECP8_ZZZ_add(P,&W);
+    ECP8_ZZZ_select(&W,T4,2*w4[nb-1]+1);
+    ECP8_ZZZ_add(P,&W);
 
     for (i=nb-2; i>=0; i--)
     {
@@ -852,20 +854,20 @@
     }
 
 // apply corrections
-	ECP8_ZZZ_copy(&W,P);   
-	ECP8_ZZZ_sub(&W,&Q[0]);
-	ECP8_ZZZ_cmove(P,&W,pb1);
-	ECP8_ZZZ_copy(&W,P);   
-	ECP8_ZZZ_sub(&W,&Q[4]);
-	ECP8_ZZZ_cmove(P,&W,pb2);
+    ECP8_ZZZ_copy(&W,P);
+    ECP8_ZZZ_sub(&W,&Q[0]);
+    ECP8_ZZZ_cmove(P,&W,pb1);
+    ECP8_ZZZ_copy(&W,P);
+    ECP8_ZZZ_sub(&W,&Q[4]);
+    ECP8_ZZZ_cmove(P,&W,pb2);
 
-	ECP8_ZZZ_copy(&W,P);   
-	ECP8_ZZZ_sub(&W,&Q[8]);
-	ECP8_ZZZ_cmove(P,&W,pb3);
-	ECP8_ZZZ_copy(&W,P);   
-	ECP8_ZZZ_sub(&W,&Q[12]);
-	ECP8_ZZZ_cmove(P,&W,pb4);
-	ECP8_ZZZ_affine(P);
+    ECP8_ZZZ_copy(&W,P);
+    ECP8_ZZZ_sub(&W,&Q[8]);
+    ECP8_ZZZ_cmove(P,&W,pb3);
+    ECP8_ZZZ_copy(&W,P);
+    ECP8_ZZZ_sub(&W,&Q[12]);
+    ECP8_ZZZ_cmove(P,&W,pb4);
+    ECP8_ZZZ_affine(P);
 }
 
 /* Map to hash value to point on G2 from random BIG_XXX */
@@ -873,14 +875,13 @@
 void ECP8_ZZZ_mapit(ECP8_ZZZ *Q,octet *W)
 {
     BIG_XXX q,one,x,hv;
-	FP_YYY Fx,Fy;
     FP2_YYY T,X[3];
-	FP4_YYY X4;
-	FP8_YYY X8;
+    FP4_YYY X4;
+    FP8_YYY X8;
 
-    ECP8_ZZZ xQ, x2Q, x3Q, x4Q , x5Q, x6Q, x7Q, x8Q;
+    ECP8_ZZZ xQ, x2Q, x3Q, x4Q, x5Q, x6Q, x7Q, x8Q;
 
-	BIG_XXX_fromBytes(hv,W->val);
+    BIG_XXX_fromBytes(hv,W->val);
     BIG_XXX_rcopy(q,Modulus_YYY);
     BIG_XXX_one(one);
     BIG_XXX_mod(hv,q);
@@ -888,83 +889,83 @@
     for (;;)
     {
         FP2_YYY_from_BIGs(&T,one,hv);  /*******/
-		FP4_YYY_from_FP2(&X4,&T);
-		FP8_YYY_from_FP4(&X8,&X4);
+        FP4_YYY_from_FP2(&X4,&T);
+        FP8_YYY_from_FP4(&X8,&X4);
         if (ECP8_ZZZ_setx(Q,&X8)) break;
         BIG_XXX_inc(hv,1);
     }
 
-	ECP8_ZZZ_frob_constants(X);
+    ECP8_ZZZ_frob_constants(X);
 
     BIG_XXX_rcopy(x,CURVE_Bnx_ZZZ);
 
-    // Efficient hash maps to G2 on BLS48 curves - Budroni, Pintore 
-	// Q -> x8Q -x7Q -Q +  F(x7Q-x6Q) + F(F(x6Q-x5Q)) +F(F(F(x5Q-x4Q))) +F(F(F(F(x4Q-x3Q)))) + F(F(F(F(F(x3Q-x2Q))))) + F(F(F(F(F(F(x2Q-xQ)))))) + F(F(F(F(F(F(F(xQ-Q))))))) +F(F(F(F(F(F(F(F(2Q))))))))
+    // Efficient hash maps to G2 on BLS48 curves - Budroni, Pintore
+    // Q -> x8Q -x7Q -Q +  F(x7Q-x6Q) + F(F(x6Q-x5Q)) +F(F(F(x5Q-x4Q))) +F(F(F(F(x4Q-x3Q)))) + F(F(F(F(F(x3Q-x2Q))))) + F(F(F(F(F(F(x2Q-xQ)))))) + F(F(F(F(F(F(F(xQ-Q))))))) +F(F(F(F(F(F(F(F(2Q))))))))
 
-	ECP8_ZZZ_copy(&xQ,Q);
-	ECP8_ZZZ_mul(&xQ,x);
-	ECP8_ZZZ_copy(&x2Q,&xQ);
-	ECP8_ZZZ_mul(&x2Q,x);
-	ECP8_ZZZ_copy(&x3Q,&x2Q);
-	ECP8_ZZZ_mul(&x3Q,x);
-	ECP8_ZZZ_copy(&x4Q,&x3Q);
+    ECP8_ZZZ_copy(&xQ,Q);
+    ECP8_ZZZ_mul(&xQ,x);
+    ECP8_ZZZ_copy(&x2Q,&xQ);
+    ECP8_ZZZ_mul(&x2Q,x);
+    ECP8_ZZZ_copy(&x3Q,&x2Q);
+    ECP8_ZZZ_mul(&x3Q,x);
+    ECP8_ZZZ_copy(&x4Q,&x3Q);
 
-	ECP8_ZZZ_mul(&x4Q,x);
-	ECP8_ZZZ_copy(&x5Q,&x4Q);
-	ECP8_ZZZ_mul(&x5Q,x);
-	ECP8_ZZZ_copy(&x6Q,&x5Q);
-	ECP8_ZZZ_mul(&x6Q,x);
-	ECP8_ZZZ_copy(&x7Q,&x6Q);
-	ECP8_ZZZ_mul(&x7Q,x);
-	ECP8_ZZZ_copy(&x8Q,&x7Q);
-	ECP8_ZZZ_mul(&x8Q,x);
+    ECP8_ZZZ_mul(&x4Q,x);
+    ECP8_ZZZ_copy(&x5Q,&x4Q);
+    ECP8_ZZZ_mul(&x5Q,x);
+    ECP8_ZZZ_copy(&x6Q,&x5Q);
+    ECP8_ZZZ_mul(&x6Q,x);
+    ECP8_ZZZ_copy(&x7Q,&x6Q);
+    ECP8_ZZZ_mul(&x7Q,x);
+    ECP8_ZZZ_copy(&x8Q,&x7Q);
+    ECP8_ZZZ_mul(&x8Q,x);
 
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	ECP8_ZZZ_neg(&xQ);
-	ECP8_ZZZ_neg(&x3Q);
-	ECP8_ZZZ_neg(&x5Q);
-	ECP8_ZZZ_neg(&x7Q);
+    ECP8_ZZZ_neg(&xQ);
+    ECP8_ZZZ_neg(&x3Q);
+    ECP8_ZZZ_neg(&x5Q);
+    ECP8_ZZZ_neg(&x7Q);
 #endif
 
-	ECP8_ZZZ_sub(&x8Q,&x7Q);
-	ECP8_ZZZ_sub(&x8Q,Q);
+    ECP8_ZZZ_sub(&x8Q,&x7Q);
+    ECP8_ZZZ_sub(&x8Q,Q);
 
-	ECP8_ZZZ_sub(&x7Q,&x6Q);
-	ECP8_ZZZ_frob(&x7Q,X,1);
+    ECP8_ZZZ_sub(&x7Q,&x6Q);
+    ECP8_ZZZ_frob(&x7Q,X,1);
 
-	ECP8_ZZZ_sub(&x6Q,&x5Q);
-	ECP8_ZZZ_frob(&x6Q,X,2);
-	
-	ECP8_ZZZ_sub(&x5Q,&x4Q);
-	ECP8_ZZZ_frob(&x5Q,X,3);
-	
-	ECP8_ZZZ_sub(&x4Q,&x3Q);
-	ECP8_ZZZ_frob(&x4Q,X,4);
+    ECP8_ZZZ_sub(&x6Q,&x5Q);
+    ECP8_ZZZ_frob(&x6Q,X,2);
 
-	ECP8_ZZZ_sub(&x3Q,&x2Q);
-	ECP8_ZZZ_frob(&x3Q,X,5);
+    ECP8_ZZZ_sub(&x5Q,&x4Q);
+    ECP8_ZZZ_frob(&x5Q,X,3);
 
-	ECP8_ZZZ_sub(&x2Q,&xQ);
-	ECP8_ZZZ_frob(&x2Q,X,6);
+    ECP8_ZZZ_sub(&x4Q,&x3Q);
+    ECP8_ZZZ_frob(&x4Q,X,4);
 
-	ECP8_ZZZ_sub(&xQ,Q);
-	ECP8_ZZZ_frob(&xQ,X,7);
+    ECP8_ZZZ_sub(&x3Q,&x2Q);
+    ECP8_ZZZ_frob(&x3Q,X,5);
 
-	ECP8_ZZZ_dbl(Q);
-	ECP8_ZZZ_frob(Q,X,8);
+    ECP8_ZZZ_sub(&x2Q,&xQ);
+    ECP8_ZZZ_frob(&x2Q,X,6);
+
+    ECP8_ZZZ_sub(&xQ,Q);
+    ECP8_ZZZ_frob(&xQ,X,7);
+
+    ECP8_ZZZ_dbl(Q);
+    ECP8_ZZZ_frob(Q,X,8);
 
 
-	ECP8_ZZZ_add(Q,&x8Q);
-	ECP8_ZZZ_add(Q,&x7Q);
-	ECP8_ZZZ_add(Q,&x6Q);
-	ECP8_ZZZ_add(Q,&x5Q);
+    ECP8_ZZZ_add(Q,&x8Q);
+    ECP8_ZZZ_add(Q,&x7Q);
+    ECP8_ZZZ_add(Q,&x6Q);
+    ECP8_ZZZ_add(Q,&x5Q);
 
-	ECP8_ZZZ_add(Q,&x4Q);
-	ECP8_ZZZ_add(Q,&x3Q);
-	ECP8_ZZZ_add(Q,&x2Q);
-	ECP8_ZZZ_add(Q,&xQ);
+    ECP8_ZZZ_add(Q,&x4Q);
+    ECP8_ZZZ_add(Q,&x3Q);
+    ECP8_ZZZ_add(Q,&x2Q);
+    ECP8_ZZZ_add(Q,&xQ);
 
-	ECP8_ZZZ_affine(Q);
+    ECP8_ZZZ_affine(Q);
 
 }
 
@@ -972,54 +973,54 @@
 
 void ECP8_ZZZ_generator(ECP8_ZZZ *G)
 {
-	BIG_XXX a,b;
-	FP2_YYY Aa,Bb;
-	FP4_YYY A,B;
-	FP8_YYY X,Y;
+    BIG_XXX a,b;
+    FP2_YYY Aa,Bb;
+    FP4_YYY A,B;
+    FP8_YYY X,Y;
 
-	BIG_XXX_rcopy(a,CURVE_Pxaaa_ZZZ);
-	BIG_XXX_rcopy(b,CURVE_Pxaab_ZZZ);
-	FP2_YYY_from_BIGs(&Aa,a,b);
+    BIG_XXX_rcopy(a,CURVE_Pxaaa_ZZZ);
+    BIG_XXX_rcopy(b,CURVE_Pxaab_ZZZ);
+    FP2_YYY_from_BIGs(&Aa,a,b);
 
-	BIG_XXX_rcopy(a,CURVE_Pxaba_ZZZ);
-	BIG_XXX_rcopy(b,CURVE_Pxabb_ZZZ);
-	FP2_YYY_from_BIGs(&Bb,a,b);
+    BIG_XXX_rcopy(a,CURVE_Pxaba_ZZZ);
+    BIG_XXX_rcopy(b,CURVE_Pxabb_ZZZ);
+    FP2_YYY_from_BIGs(&Bb,a,b);
 
-	FP4_YYY_from_FP2s(&A,&Aa,&Bb);
+    FP4_YYY_from_FP2s(&A,&Aa,&Bb);
 
-	BIG_XXX_rcopy(a,CURVE_Pxbaa_ZZZ);
-	BIG_XXX_rcopy(b,CURVE_Pxbab_ZZZ);
-	FP2_YYY_from_BIGs(&Aa,a,b);
+    BIG_XXX_rcopy(a,CURVE_Pxbaa_ZZZ);
+    BIG_XXX_rcopy(b,CURVE_Pxbab_ZZZ);
+    FP2_YYY_from_BIGs(&Aa,a,b);
 
-	BIG_XXX_rcopy(a,CURVE_Pxbba_ZZZ);
-	BIG_XXX_rcopy(b,CURVE_Pxbbb_ZZZ);
-	FP2_YYY_from_BIGs(&Bb,a,b);
+    BIG_XXX_rcopy(a,CURVE_Pxbba_ZZZ);
+    BIG_XXX_rcopy(b,CURVE_Pxbbb_ZZZ);
+    FP2_YYY_from_BIGs(&Bb,a,b);
 
-	FP4_YYY_from_FP2s(&B,&Aa,&Bb);
+    FP4_YYY_from_FP2s(&B,&Aa,&Bb);
 
-	FP8_YYY_from_FP4s(&X,&A,&B);
+    FP8_YYY_from_FP4s(&X,&A,&B);
 
-	BIG_XXX_rcopy(a,CURVE_Pyaaa_ZZZ);
-	BIG_XXX_rcopy(b,CURVE_Pyaab_ZZZ);
-	FP2_YYY_from_BIGs(&Aa,a,b);
+    BIG_XXX_rcopy(a,CURVE_Pyaaa_ZZZ);
+    BIG_XXX_rcopy(b,CURVE_Pyaab_ZZZ);
+    FP2_YYY_from_BIGs(&Aa,a,b);
 
-	BIG_XXX_rcopy(a,CURVE_Pyaba_ZZZ);
-	BIG_XXX_rcopy(b,CURVE_Pyabb_ZZZ);
-	FP2_YYY_from_BIGs(&Bb,a,b);
+    BIG_XXX_rcopy(a,CURVE_Pyaba_ZZZ);
+    BIG_XXX_rcopy(b,CURVE_Pyabb_ZZZ);
+    FP2_YYY_from_BIGs(&Bb,a,b);
 
-	FP4_YYY_from_FP2s(&A,&Aa,&Bb);
+    FP4_YYY_from_FP2s(&A,&Aa,&Bb);
 
-	BIG_XXX_rcopy(a,CURVE_Pybaa_ZZZ);
-	BIG_XXX_rcopy(b,CURVE_Pybab_ZZZ);
-	FP2_YYY_from_BIGs(&Aa,a,b);
+    BIG_XXX_rcopy(a,CURVE_Pybaa_ZZZ);
+    BIG_XXX_rcopy(b,CURVE_Pybab_ZZZ);
+    FP2_YYY_from_BIGs(&Aa,a,b);
 
-	BIG_XXX_rcopy(a,CURVE_Pybba_ZZZ);
-	BIG_XXX_rcopy(b,CURVE_Pybbb_ZZZ);
-	FP2_YYY_from_BIGs(&Bb,a,b);
+    BIG_XXX_rcopy(a,CURVE_Pybba_ZZZ);
+    BIG_XXX_rcopy(b,CURVE_Pybbb_ZZZ);
+    FP2_YYY_from_BIGs(&Bb,a,b);
 
-	FP4_YYY_from_FP2s(&B,&Aa,&Bb);
+    FP4_YYY_from_FP2s(&B,&Aa,&Bb);
 
-	FP8_YYY_from_FP4s(&Y,&A,&B);
+    FP8_YYY_from_FP4s(&Y,&A,&B);
 
-	ECP8_ZZZ_set(G,&X,&Y);
+    ECP8_ZZZ_set(G,&X,&Y);
 }
diff --git a/version3/c/ecp8.h b/version3/c/ecp8.h
index 13aff45..2e3a786 100644
--- a/version3/c/ecp8.h
+++ b/version3/c/ecp8.h
@@ -18,7 +18,7 @@
 //    int inf; /**< Infinity Flag */
     FP8_YYY x;   /**< x-coordinate of point */
     FP8_YYY y;   /**< y-coordinate of point */
-	FP8_YYY z;	/**< z-coordinate of point */
+    FP8_YYY z;	/**< z-coordinate of point */
 } ECP8_ZZZ;
 
 
diff --git a/version3/c/ff.h b/version3/c/ff.h
index a50e653..c3be699 100644
--- a/version3/c/ff.h
+++ b/version3/c/ff.h
@@ -18,7 +18,7 @@
 */
 
 /**
- * @file ff.h
+ * @file ff_WWW.h
  * @author Mike Scott
  * @brief FF Header File
  *
diff --git a/version3/c/fp.c b/version3/c/fp.c
index 02a8521..ec1ab9a 100644
--- a/version3/c/fp.c
+++ b/version3/c/fp.c
@@ -208,7 +208,7 @@
 {
     BIG_XXX m,t;
     BIG_XXX_rcopy(m,Modulus_YYY);
-	BIG_XXX_copy(t,x->g);
+    BIG_XXX_copy(t,x->g);
     BIG_XXX_mod(t,m);
     return BIG_XXX_iszilch(t);
 }
@@ -256,9 +256,9 @@
 
 int FP_YYY_equals(FP_YYY *x,FP_YYY *y)
 {
-	FP_YYY xg,yg;
-	FP_YYY_copy(&xg,x);
-	FP_YYY_copy(&yg,y);
+    FP_YYY xg,yg;
+    FP_YYY_copy(&xg,x);
+    FP_YYY_copy(&yg,y);
     FP_YYY_reduce(&xg);
     FP_YYY_reduce(&yg);
     if (BIG_XXX_comp(xg.g,yg.g)==0) return 1;
@@ -348,12 +348,12 @@
         // don't want to do this - only a problem for Montgomery modulus and larger constants
         BIG_XXX_zero(k);
         BIG_XXX_inc(k,c);
-		BIG_XXX_norm(k);
+        BIG_XXX_norm(k);
         FP_YYY_nres(&f,k);
         FP_YYY_mul(r,a,&f);
     }
 #endif
- 
+
     if (s)
     {
         FP_YYY_neg(r,r);
@@ -427,21 +427,21 @@
 // Note that MAXXES is bounded to be 2-bits less than half a word
 static int quo(BIG_XXX n,BIG_XXX m)
 {
-	int sh;
-	chunk num,den;
-	int hb=CHUNK/2;
-	if (TBITS_YYY<hb)
-	{
-		sh=hb-TBITS_YYY;
-		num=(n[NLEN_XXX-1]<<sh)|(n[NLEN_XXX-2]>>(BASEBITS_XXX-sh));
-		den=(m[NLEN_XXX-1]<<sh)|(m[NLEN_XXX-2]>>(BASEBITS_XXX-sh));
-	}
-	else
-	{
-		num=n[NLEN_XXX-1];
-		den=m[NLEN_XXX-1];
-	}
-	return (int)(num/(den+1));
+    int sh;
+    chunk num,den;
+    int hb=CHUNK/2;
+    if (TBITS_YYY<hb)
+    {
+        sh=hb-TBITS_YYY;
+        num=(n[NLEN_XXX-1]<<sh)|(n[NLEN_XXX-2]>>(BASEBITS_XXX-sh));
+        den=(m[NLEN_XXX-1]<<sh)|(m[NLEN_XXX-2]>>(BASEBITS_XXX-sh));
+    }
+    else
+    {
+        num=n[NLEN_XXX-1];
+        den=m[NLEN_XXX-1];
+    }
+    return (int)(num/(den+1));
 }
 
 /* SU= 48 */
@@ -449,33 +449,33 @@
 void FP_YYY_reduce(FP_YYY *a)
 {
     BIG_XXX m,r;
-	int sr,sb,q;
-	chunk carry;
+    int sr,sb,q;
+    chunk carry;
 
     BIG_XXX_rcopy(m,Modulus_YYY);
 
-	BIG_XXX_norm(a->g);
+    BIG_XXX_norm(a->g);
 
-	if (a->XES>16)
-	{
-		q=quo(a->g,m);
-		carry=BIG_XXX_pmul(r,m,q);
-		r[NLEN_XXX-1]+=(carry<<BASEBITS_XXX); // correction - put any carry out back in again
-		BIG_XXX_sub(a->g,a->g,r);
-		BIG_XXX_norm(a->g);
-		sb=2;
-	}
-	else sb=logb2(a->XES-1);  // sb does not depend on the actual data
+    if (a->XES>16)
+    {
+        q=quo(a->g,m);
+        carry=BIG_XXX_pmul(r,m,q);
+        r[NLEN_XXX-1]+=(carry<<BASEBITS_XXX); // correction - put any carry out back in again
+        BIG_XXX_sub(a->g,a->g,r);
+        BIG_XXX_norm(a->g);
+        sb=2;
+    }
+    else sb=logb2(a->XES-1);  // sb does not depend on the actual data
 
-	BIG_XXX_fshl(m,sb);
+    BIG_XXX_fshl(m,sb);
 
-	while (sb>0)
-	{
+    while (sb>0)
+    {
 // constant time...
-		sr=BIG_XXX_ssn(r,a->g,m);  // optimized combined shift, subtract and norm
-		BIG_XXX_cmove(a->g,r,1-sr);
-		sb--;
-	}
+        sr=BIG_XXX_ssn(r,a->g,m);  // optimized combined shift, subtract and norm
+        BIG_XXX_cmove(a->g,r,1-sr);
+        sb--;
+    }
 
     //BIG_XXX_mod(a->g,m);
     a->XES=1;
@@ -538,134 +538,148 @@
 
 static void FP_YYY_fpow(FP_YYY *r,FP_YYY *x)
 {
-	int i,j,k,bw,w,c,nw,lo,m,n;
-	FP_YYY xp[11],t,key;
-	const int ac[]={1,2,3,6,12,15,30,60,120,240,255};
+    int i,j,k,bw,w,c,nw,lo,m,n;
+    FP_YYY xp[11],t,key;
+    const int ac[]= {1,2,3,6,12,15,30,60,120,240,255};
 // phase 1
-	FP_YYY_copy(&xp[0],x);	// 1 
-	FP_YYY_sqr(&xp[1],x); // 2
-	FP_YYY_mul(&xp[2],&xp[1],x);  //3
-	FP_YYY_sqr(&xp[3],&xp[2]);  // 6 
-	FP_YYY_sqr(&xp[4],&xp[3]); // 12
-	FP_YYY_mul(&xp[5],&xp[4],&xp[2]); // 15
-	FP_YYY_sqr(&xp[6],&xp[5]); // 30
-	FP_YYY_sqr(&xp[7],&xp[6]); // 60
-	FP_YYY_sqr(&xp[8],&xp[7]); // 120
-	FP_YYY_sqr(&xp[9],&xp[8]); // 240
-	FP_YYY_mul(&xp[10],&xp[9],&xp[5]); // 255
+    FP_YYY_copy(&xp[0],x);	// 1
+    FP_YYY_sqr(&xp[1],x); // 2
+    FP_YYY_mul(&xp[2],&xp[1],x);  //3
+    FP_YYY_sqr(&xp[3],&xp[2]);  // 6
+    FP_YYY_sqr(&xp[4],&xp[3]); // 12
+    FP_YYY_mul(&xp[5],&xp[4],&xp[2]); // 15
+    FP_YYY_sqr(&xp[6],&xp[5]); // 30
+    FP_YYY_sqr(&xp[7],&xp[6]); // 60
+    FP_YYY_sqr(&xp[8],&xp[7]); // 120
+    FP_YYY_sqr(&xp[9],&xp[8]); // 240
+    FP_YYY_mul(&xp[10],&xp[9],&xp[5]); // 255
 
-#if MODTYPE_YYY==PSEUDO_MERSENNE 
-	n=MODBITS_YYY;
+#if MODTYPE_YYY==PSEUDO_MERSENNE
+    n=MODBITS_YYY;
 #endif
 #if MODTYPE_YYY==GENERALISED_MERSENNE  // Goldilocks ONLY
-	n=MODBITS_YYY/2;
+    n=MODBITS_YYY/2;
 #endif
 
-	if (MOD8_YYY==5)
+    if (MOD8_YYY==5)
     {
-		n-=3;
-		c=(MConst_YYY+5)/8;
-	} else {
-		n-=2;
-		c=(MConst_YYY+3)/4;
-	}
+        n-=3;
+        c=(MConst_YYY+5)/8;
+    }
+    else
+    {
+        n-=2;
+        c=(MConst_YYY+3)/4;
+    }
 
-	bw=0; w=1; while (w<c) {w*=2; bw+=1;}
-	k=w-c;
+    bw=0;
+    w=1;
+    while (w<c)
+    {
+        w*=2;
+        bw+=1;
+    }
+    k=w-c;
 
-	if (k!=0)
-	{
-		i=10; while (ac[i]>k) i--;
-		FP_YYY_copy(&key,&xp[i]); 
-		k-=ac[i];
-	}
-	while (k!=0)
-	{
-		i--;
-		if (ac[i]>k) continue;
-		FP_YYY_mul(&key,&key,&xp[i]);
-		k-=ac[i]; 
-	}
+    if (k!=0)
+    {
+        i=10;
+        while (ac[i]>k) i--;
+        FP_YYY_copy(&key,&xp[i]);
+        k-=ac[i];
+    }
+    while (k!=0)
+    {
+        i--;
+        if (ac[i]>k) continue;
+        FP_YYY_mul(&key,&key,&xp[i]);
+        k-=ac[i];
+    }
 
-// phase 2 
-	FP_YYY_copy(&xp[1],&xp[2]);
-	FP_YYY_copy(&xp[2],&xp[5]);
-	FP_YYY_copy(&xp[3],&xp[10]);
+// phase 2
+    FP_YYY_copy(&xp[1],&xp[2]);
+    FP_YYY_copy(&xp[2],&xp[5]);
+    FP_YYY_copy(&xp[3],&xp[10]);
 
-	j=3; m=8;
-	nw=n-bw;
-	while (2*m<nw)
-	{
-		FP_YYY_copy(&t,&xp[j++]);
-		for (i=0;i<m;i++)
-			FP_YYY_sqr(&t,&t); 
-		FP_YYY_mul(&xp[j],&xp[j-1],&t); 
-		m*=2;
-	}
+    j=3;
+    m=8;
+    nw=n-bw;
+    while (2*m<nw)
+    {
+        FP_YYY_copy(&t,&xp[j++]);
+        for (i=0; i<m; i++)
+            FP_YYY_sqr(&t,&t);
+        FP_YYY_mul(&xp[j],&xp[j-1],&t);
+        m*=2;
+    }
 
-	lo=nw-m;
-	FP_YYY_copy(r,&xp[j]);
+    lo=nw-m;
+    FP_YYY_copy(r,&xp[j]);
 
-	while (lo!=0)
-	{
-		m/=2; j--;
-		if (lo<m) continue;
-		lo-=m;
-		FP_YYY_copy(&t,r);
-		for (i=0;i<m;i++)
-			FP_YYY_sqr(&t,&t);
-		FP_YYY_mul(r,&t,&xp[j]);
-	}
+    while (lo!=0)
+    {
+        m/=2;
+        j--;
+        if (lo<m) continue;
+        lo-=m;
+        FP_YYY_copy(&t,r);
+        for (i=0; i<m; i++)
+            FP_YYY_sqr(&t,&t);
+        FP_YYY_mul(r,&t,&xp[j]);
+    }
 // phase 3
 
-	if (bw!=0)
-	{
-		for (i=0;i<bw;i++ )
-			FP_YYY_sqr(r,r);
-		FP_YYY_mul(r,r,&key);
-	}
+    if (bw!=0)
+    {
+        for (i=0; i<bw; i++ )
+            FP_YYY_sqr(r,r);
+        FP_YYY_mul(r,r,&key);
+    }
 #if MODTYPE_YYY==GENERALISED_MERSENNE  // Goldilocks ONLY
-	FP_YYY_copy(&key,r);
-	FP_YYY_sqr(&t,&key);
-	FP_YYY_mul(r,&t,x);
-	for (i=0;i<n+1;i++)
-		FP_YYY_sqr(r,r);
-	FP_YYY_mul(r,r,&key);
+    FP_YYY_copy(&key,r);
+    FP_YYY_sqr(&t,&key);
+    FP_YYY_mul(r,&t,x);
+    for (i=0; i<n+1; i++)
+        FP_YYY_sqr(r,r);
+    FP_YYY_mul(r,r,&key);
 #endif
 }
 
 void FP_YYY_inv(FP_YYY *r,FP_YYY *x)
 {
-	FP_YYY y,t;
-	FP_YYY_fpow(&y,x);
+    FP_YYY y,t;
+    FP_YYY_fpow(&y,x);
     if (MOD8_YYY==5)
-    { // r=x^3.y^8
-		FP_YYY_sqr(&t,x);
-		FP_YYY_mul(&t,&t,x);
-		FP_YYY_sqr(&y,&y);
-		FP_YYY_sqr(&y,&y);
-		FP_YYY_sqr(&y,&y);
-		FP_YYY_mul(r,&t,&y);
-	} else {
-		FP_YYY_sqr(&y,&y);
-		FP_YYY_sqr(&y,&y);
-		FP_YYY_mul(r,&y,x);
-	}
+    {
+        // r=x^3.y^8
+        FP_YYY_sqr(&t,x);
+        FP_YYY_mul(&t,&t,x);
+        FP_YYY_sqr(&y,&y);
+        FP_YYY_sqr(&y,&y);
+        FP_YYY_sqr(&y,&y);
+        FP_YYY_mul(r,&t,&y);
+    }
+    else
+    {
+        FP_YYY_sqr(&y,&y);
+        FP_YYY_sqr(&y,&y);
+        FP_YYY_mul(r,&y,x);
+    }
 }
 
 #else
 
 void FP_YYY_pow(FP_YYY *r,FP_YYY *a,BIG_XXX b)
 {
-	sign8 w[1+(NLEN_XXX*BASEBITS_XXX+3)/4];
-	FP_YYY tb[16];
-	BIG_XXX t;
-	int i,nb;
+    sign8 w[1+(NLEN_XXX*BASEBITS_XXX+3)/4];
+    FP_YYY tb[16];
+    BIG_XXX t;
+    int i,nb;
 
-	FP_YYY_norm(a);
+    FP_YYY_norm(a);
     BIG_XXX_norm(b);
-	BIG_XXX_copy(t,b);
-	nb=1+(BIG_XXX_nbits(t)+3)/4;
+    BIG_XXX_copy(t,b);
+    nb=1+(BIG_XXX_nbits(t)+3)/4;
     /* convert exponent to 4-bit window */
     for (i=0; i<nb; i++)
     {
@@ -673,22 +687,22 @@
         BIG_XXX_dec(t,w[i]);
         BIG_XXX_norm(t);
         BIG_XXX_fshr(t,4);
-    }	
+    }
 
-	FP_YYY_one(&tb[0]);
-	FP_YYY_copy(&tb[1],a);
-	for (i=2;i<16;i++)
-		FP_YYY_mul(&tb[i],&tb[i-1],a);
-	
-	FP_YYY_copy(r,&tb[w[nb-1]]);
+    FP_YYY_one(&tb[0]);
+    FP_YYY_copy(&tb[1],a);
+    for (i=2; i<16; i++)
+        FP_YYY_mul(&tb[i],&tb[i-1],a);
+
+    FP_YYY_copy(r,&tb[w[nb-1]]);
     for (i=nb-2; i>=0; i--)
     {
-		FP_YYY_sqr(r,r);
-		FP_YYY_sqr(r,r);
-		FP_YYY_sqr(r,r);
-		FP_YYY_sqr(r,r);
-		FP_YYY_mul(r,r,&tb[w[i]]);
-	}
+        FP_YYY_sqr(r,r);
+        FP_YYY_sqr(r,r);
+        FP_YYY_sqr(r,r);
+        FP_YYY_sqr(r,r);
+        FP_YYY_mul(r,r,&tb[w[i]]);
+    }
     FP_YYY_reduce(r);
 }
 
@@ -696,11 +710,11 @@
 void FP_YYY_inv(FP_YYY *w,FP_YYY *x)
 {
 
-	BIG_XXX m2;
-	BIG_XXX_rcopy(m2,Modulus_YYY);
-	BIG_XXX_dec(m2,2);
-	BIG_XXX_norm(m2);
-	FP_YYY_pow(w,x,m2);
+    BIG_XXX m2;
+    BIG_XXX_rcopy(m2,Modulus_YYY);
+    BIG_XXX_dec(m2,2);
+    BIG_XXX_norm(m2);
+    FP_YYY_pow(w,x,m2);
 }
 #endif
 
@@ -743,25 +757,25 @@
         FP_YYY_copy(&i,a); // i=x
         BIG_XXX_fshl(i.g,1); // i=2x
 #if MODTYPE_YYY == PSEUDO_MERSENNE   || MODTYPE_YYY==GENERALISED_MERSENNE
-		FP_YYY_fpow(&v,&i);
+        FP_YYY_fpow(&v,&i);
 #else
         BIG_XXX_dec(b,5);
         BIG_XXX_norm(b);
-        BIG_XXX_fshr(b,3); // (p-5)/8 
+        BIG_XXX_fshr(b,3); // (p-5)/8
         FP_YYY_pow(&v,&i,b); // v=(2x)^(p-5)/8
 #endif
         FP_YYY_mul(&i,&i,&v); // i=(2x)^(p+3)/8
         FP_YYY_mul(&i,&i,&v); // i=(2x)^(p-1)/4
         BIG_XXX_dec(i.g,1);  // i=(2x)^(p-1)/4 - 1
-        FP_YYY_mul(r,a,&v);  
+        FP_YYY_mul(r,a,&v);
         FP_YYY_mul(r,r,&i);
         FP_YYY_reduce(r);
     }
     if (MOD8_YYY==3 || MOD8_YYY==7)
     {
 #if MODTYPE_YYY == PSEUDO_MERSENNE   || MODTYPE_YYY==GENERALISED_MERSENNE
-		FP_YYY_fpow(r,a);
-		FP_YYY_mul(r,r,a);
+        FP_YYY_fpow(r,a);
+        FP_YYY_mul(r,r,a);
 #else
         BIG_XXX_inc(b,1);
         BIG_XXX_norm(b);
diff --git a/version3/c/fp.h b/version3/c/fp.h
index a7883f2..245e6e5 100644
--- a/version3/c/fp.h
+++ b/version3/c/fp.h
@@ -18,7 +18,7 @@
 */
 
 /**
- * @file fp.h
+ * @file fp_YYY.h
  * @author Mike Scott
  * @brief FP Header File
  *
diff --git a/version3/c/fp12.c b/version3/c/fp12.c
index 726e9ec..04d39ac 100644
--- a/version3/c/fp12.c
+++ b/version3/c/fp12.c
@@ -82,7 +82,7 @@
     FP4_YYY_copy(&(w->a),&(x->a));
     FP4_YYY_copy(&(w->b),&(x->b));
     FP4_YYY_copy(&(w->c),&(x->c));
-	w->type=x->type;
+    w->type=x->type;
 }
 
 /* FP12 w=1 */
@@ -92,7 +92,7 @@
     FP4_YYY_one(&(w->a));
     FP4_YYY_zero(&(w->b));
     FP4_YYY_zero(&(w->c));
-	w->type=FP_UNITY;
+    w->type=AMCL_FP_UNITY;
 }
 
 void FP12_YYY_zero(FP12_YYY *w)
@@ -100,7 +100,7 @@
     FP4_YYY_zero(&(w->a));
     FP4_YYY_zero(&(w->b));
     FP4_YYY_zero(&(w->c));
-	w->type=FP_ZERO;
+    w->type=AMCL_FP_ZERO;
 }
 
 /* return 1 if x==y, else 0 */
@@ -129,7 +129,7 @@
     FP4_YYY_copy(&(w->a),a);
     FP4_YYY_zero(&(w->b));
     FP4_YYY_zero(&(w->c));
-	w->type=FP_SPARSER;
+    w->type=AMCL_AMCL_FP_SPARSER;
 }
 
 /* Create FP12 from 3 FP4's */
@@ -139,7 +139,7 @@
     FP4_YYY_copy(&(w->a),a);
     FP4_YYY_copy(&(w->b),b);
     FP4_YYY_copy(&(w->c),c);
-	w->type=FP_DENSE;
+    w->type=AMCL_FP_DENSE;
 }
 
 /* Granger-Scott Unitary Squaring. This does not benefit from lazy reduction */
@@ -180,7 +180,7 @@
     FP4_YYY_add(&(w->b),&B,&(w->b));
     FP4_YYY_add(&(w->c),&C,&(w->c));
 
-	w->type=FP_DENSE;
+    w->type=AMCL_FP_DENSE;
     FP12_YYY_reduce(w);	    /* reduce here as in pow function repeated squarings would trigger multiple reductions */
 }
 
@@ -192,11 +192,11 @@
 
     FP4_YYY A,B,C,D;
 
-	if (x->type<=FP_UNITY)
-	{
-		FP12_YYY_copy(w,x);
-		return;
-	}
+    if (x->type<=AMCL_FP_UNITY)
+    {
+        FP12_YYY_copy(w,x);
+        return;
+    }
 
     FP4_YYY_sqr(&A,&(x->a));
     FP4_YYY_mul(&B,&(x->b),&(x->c));
@@ -229,10 +229,10 @@
     FP4_YYY_add(&(w->b),&C,&D);
     FP4_YYY_add(&(w->c),&(w->c),&A);
 
-	if (x->type==FP_SPARSER)
-		w->type=FP_SPARSE;
-	else
-		w->type=FP_DENSE;
+    if (x->type==AMCL_AMCL_FP_SPARSER)
+        w->type=AMCL_FP_SPARSE;
+    else
+        w->type=AMCL_FP_DENSE;
 
     FP12_YYY_norm(w);
 }
@@ -292,7 +292,7 @@
     FP4_YYY_times_i(&z3);
     FP4_YYY_add(&(w->a),&z0,&z3);
 
-	w->type=FP_DENSE;
+    w->type=AMCL_FP_DENSE;
     FP12_YYY_norm(w);
 }
 
@@ -301,278 +301,280 @@
 /* Usually w is denser than y */
 void FP12_YYY_ssmul(FP12_YYY *w,FP12_YYY *y)
 {
-	FP4_YYY z0,z1,z2,z3,t0,t1;
-	if (w->type==FP_UNITY)
-	{
-		FP12_YYY_copy(w,y);
-		return;
-	}
-	if (y->type==FP_UNITY)
-		return;
+    FP4_YYY z0,z1,z2,z3,t0,t1;
+    if (w->type==AMCL_FP_UNITY)
+    {
+        FP12_YYY_copy(w,y);
+        return;
+    }
+    if (y->type==AMCL_FP_UNITY)
+        return;
 
-	if (y->type >= FP_SPARSE)
-	{
-		FP4_YYY_mul(&z0,&(w->a),&(y->a));  // xa.ya   always 11x11
+    if (y->type >= AMCL_FP_SPARSE)
+    {
+        FP4_YYY_mul(&z0,&(w->a),&(y->a));  // xa.ya   always 11x11
 
 #if SEXTIC_TWIST_ZZZ == M_TYPE
-		if (y->type==FP_SPARSE || w->type==FP_SPARSE)
-		{
-			FP2_YYY_mul(&z2.b,&(w->b).b,&(y->b).b);
-			FP2_YYY_zero(&z2.a);
-			if (y->type!=FP_SPARSE)
-				FP2_YYY_mul(&z2.a,&(w->b).b,&(y->b).a);
-			if (w->type!=FP_SPARSE)
-				FP2_YYY_mul(&z2.a,&(w->b).a,&(y->b).b);
-			FP4_YYY_times_i(&z2);
-		}
-		else
+        if (y->type==AMCL_FP_SPARSE || w->type==AMCL_FP_SPARSE)
+        {
+            FP2_YYY_mul(&z2.b,&(w->b).b,&(y->b).b);
+            FP2_YYY_zero(&z2.a);
+            if (y->type!=AMCL_FP_SPARSE)
+                FP2_YYY_mul(&z2.a,&(w->b).b,&(y->b).a);
+            if (w->type!=AMCL_FP_SPARSE)
+                FP2_YYY_mul(&z2.a,&(w->b).a,&(y->b).b);
+            FP4_YYY_times_i(&z2);
+        }
+        else
 #endif
-			FP4_YYY_mul(&z2,&(w->b),&(y->b));  // xb.yb  could be 00x00 or 01x01 or or 10x10 or 11x00 or 11x10 or 11x01 or 11x11 
+            FP4_YYY_mul(&z2,&(w->b),&(y->b));  // xb.yb  could be 00x00 or 01x01 or or 10x10 or 11x00 or 11x10 or 11x01 or 11x11
 
-		FP4_YYY_add(&t0,&(w->a),&(w->b));  // (xa+xb)
-		FP4_YYY_add(&t1,&(y->a),&(y->b));  // (ya+yb)
+        FP4_YYY_add(&t0,&(w->a),&(w->b));  // (xa+xb)
+        FP4_YYY_add(&t1,&(y->a),&(y->b));  // (ya+yb)
 
-		FP4_YYY_norm(&t0);
-		FP4_YYY_norm(&t1);
+        FP4_YYY_norm(&t0);
+        FP4_YYY_norm(&t1);
 
-		FP4_YYY_mul(&z1,&t0,&t1); // (xa+xb)(ya+yb)  always 11x11
-		FP4_YYY_add(&t0,&(w->b),&(w->c));  // (xb+xc)
-		FP4_YYY_add(&t1,&(y->b),&(y->c));  // (yb+yc)
+        FP4_YYY_mul(&z1,&t0,&t1); // (xa+xb)(ya+yb)  always 11x11
+        FP4_YYY_add(&t0,&(w->b),&(w->c));  // (xb+xc)
+        FP4_YYY_add(&t1,&(y->b),&(y->c));  // (yb+yc)
 
-		FP4_YYY_norm(&t0);
-		FP4_YYY_norm(&t1);
+        FP4_YYY_norm(&t0);
+        FP4_YYY_norm(&t1);
 
-		FP4_YYY_mul(&z3,&t0,&t1);	// (xb+xc)(yb+yc)   could be anything...
-		FP4_YYY_neg(&t0,&z0);		// -(xa.ya)
-		FP4_YYY_neg(&t1,&z2);		// -(xb.yb)
+        FP4_YYY_mul(&z3,&t0,&t1);	// (xb+xc)(yb+yc)   could be anything...
+        FP4_YYY_neg(&t0,&z0);		// -(xa.ya)
+        FP4_YYY_neg(&t1,&z2);		// -(xb.yb)
 
-		FP4_YYY_add(&z1,&z1,&t0);  
-		FP4_YYY_add(&(w->b),&z1,&t1); // /wb = (xa+xb)(ya+yb) -(xa.ya) -(xb.yb)						= xa.yb + xb.ya
+        FP4_YYY_add(&z1,&z1,&t0);
+        FP4_YYY_add(&(w->b),&z1,&t1); // /wb = (xa+xb)(ya+yb) -(xa.ya) -(xb.yb)						= xa.yb + xb.ya
 
-		FP4_YYY_add(&z3,&z3,&t1);        // (xb+xc)(yb+yc) -(xb.yb)
-		FP4_YYY_add(&z2,&z2,&t0);        // (xb.yb) - (xa.ya)
+        FP4_YYY_add(&z3,&z3,&t1);        // (xb+xc)(yb+yc) -(xb.yb)
+        FP4_YYY_add(&z2,&z2,&t0);        // (xb.yb) - (xa.ya)
 
-		FP4_YYY_add(&t0,&(w->a),&(w->c));  // (xa+xc)
-		FP4_YYY_add(&t1,&(y->a),&(y->c));  // (ya+yc)
+        FP4_YYY_add(&t0,&(w->a),&(w->c));  // (xa+xc)
+        FP4_YYY_add(&t1,&(y->a),&(y->c));  // (ya+yc)
 
-		FP4_YYY_norm(&t0);
-		FP4_YYY_norm(&t1);
+        FP4_YYY_norm(&t0);
+        FP4_YYY_norm(&t1);
 
-		FP4_YYY_mul(&t0,&t1,&t0);	// (xa+xc)(ya+yc)    always 11x11
-		FP4_YYY_add(&z2,&z2,&t0);	// (xb.yb) - (xa.ya) + (xa+xc)(ya+yc)
+        FP4_YYY_mul(&t0,&t1,&t0);	// (xa+xc)(ya+yc)    always 11x11
+        FP4_YYY_add(&z2,&z2,&t0);	// (xb.yb) - (xa.ya) + (xa+xc)(ya+yc)
 
 #if SEXTIC_TWIST_ZZZ == D_TYPE
-		if (y->type==FP_SPARSE || w->type==FP_SPARSE)
-		{
-			FP2_YYY_mul(&t0.a,&(w->c).a,&(y->c).a);
-			FP2_YYY_zero(&t0.b);
-			if (y->type!=FP_SPARSE)
-				FP2_YYY_mul(&t0.b,&(w->c).a,&(y->c).b);
-			if (w->type!=FP_SPARSE)
-				FP2_YYY_mul(&t0.b,&(w->c).b,&(y->c).a);
-		}
-		else
+        if (y->type==AMCL_FP_SPARSE || w->type==AMCL_FP_SPARSE)
+        {
+            FP2_YYY_mul(&t0.a,&(w->c).a,&(y->c).a);
+            FP2_YYY_zero(&t0.b);
+            if (y->type!=AMCL_FP_SPARSE)
+                FP2_YYY_mul(&t0.b,&(w->c).a,&(y->c).b);
+            if (w->type!=AMCL_FP_SPARSE)
+                FP2_YYY_mul(&t0.b,&(w->c).b,&(y->c).a);
+        }
+        else
 #endif
-			FP4_YYY_mul(&t0,&(w->c),&(y->c)); // (xc.yc)  could be anything
-			
-		FP4_YYY_neg(&t1,&t0);			  // -(xc.yc) 
+            FP4_YYY_mul(&t0,&(w->c),&(y->c)); // (xc.yc)  could be anything
 
-		FP4_YYY_add(&(w->c),&z2,&t1);		// wc = (xb.yb) - (xa.ya) + (xa+xc)(ya+yc) - (xc.yc)	=  xb.yb + xc.ya + xa.yc
-		FP4_YYY_add(&z3,&z3,&t1);			// (xb+xc)(yb+yc) -(xb.yb) - (xc.yc)					=  xb.yc + xc.yb
-		FP4_YYY_times_i(&t0);				// i.(xc.yc)
-		FP4_YYY_add(&(w->b),&(w->b),&t0);   // wb = (xa+xb)(ya+yb) -(xa.ya) -(xb.yb) +i(xc.yc)
-		FP4_YYY_norm(&z3);
-		FP4_YYY_times_i(&z3);				// i[(xb+xc)(yb+yc) -(xb.yb) - (xc.yc)]					= i(xb.yc + xc.yb)
-		FP4_YYY_add(&(w->a),&z0,&z3);		// wa = xa.ya + i(xb.yc + xc.yb)
-	} else {
-		if (w->type==FP_SPARSER)
-		{
-			FP12_YYY_smul(w,y);
-			return;
-		}
- // dense by sparser - 13m 
+        FP4_YYY_neg(&t1,&t0);			  // -(xc.yc)
+
+        FP4_YYY_add(&(w->c),&z2,&t1);		// wc = (xb.yb) - (xa.ya) + (xa+xc)(ya+yc) - (xc.yc)	=  xb.yb + xc.ya + xa.yc
+        FP4_YYY_add(&z3,&z3,&t1);			// (xb+xc)(yb+yc) -(xb.yb) - (xc.yc)					=  xb.yc + xc.yb
+        FP4_YYY_times_i(&t0);				// i.(xc.yc)
+        FP4_YYY_add(&(w->b),&(w->b),&t0);   // wb = (xa+xb)(ya+yb) -(xa.ya) -(xb.yb) +i(xc.yc)
+        FP4_YYY_norm(&z3);
+        FP4_YYY_times_i(&z3);				// i[(xb+xc)(yb+yc) -(xb.yb) - (xc.yc)]					= i(xb.yc + xc.yb)
+        FP4_YYY_add(&(w->a),&z0,&z3);		// wa = xa.ya + i(xb.yc + xc.yb)
+    }
+    else
+    {
+        if (w->type==AMCL_AMCL_FP_SPARSER)
+        {
+            FP12_YYY_smul(w,y);
+            return;
+        }
+// dense by sparser - 13m
 #if SEXTIC_TWIST_ZZZ == D_TYPE
-		FP4_YYY_copy(&z3,&(w->b));
-		FP4_YYY_mul(&z0,&(w->a),&(y->a));
+        FP4_YYY_copy(&z3,&(w->b));
+        FP4_YYY_mul(&z0,&(w->a),&(y->a));
 
-		FP4_YYY_pmul(&z2,&(w->b),&(y->b).a);
-		FP4_YYY_add(&(w->b),&(w->a),&(w->b));
-		FP4_YYY_copy(&t1,&(y->a));
-		FP2_YYY_add(&t1.a,&t1.a,&(y->b).a);
+        FP4_YYY_pmul(&z2,&(w->b),&(y->b).a);
+        FP4_YYY_add(&(w->b),&(w->a),&(w->b));
+        FP4_YYY_copy(&t1,&(y->a));
+        FP2_YYY_add(&t1.a,&t1.a,&(y->b).a);
 
-		FP4_YYY_norm(&t1);
-		FP4_YYY_norm(&(w->b));
+        FP4_YYY_norm(&t1);
+        FP4_YYY_norm(&(w->b));
 
-		FP4_YYY_mul(&(w->b),&(w->b),&t1);
-		FP4_YYY_add(&z3,&z3,&(w->c));
-		FP4_YYY_norm(&z3);
-		FP4_YYY_pmul(&z3,&z3,&(y->b).a);
-		FP4_YYY_neg(&t0,&z0);
-		FP4_YYY_neg(&t1,&z2);
+        FP4_YYY_mul(&(w->b),&(w->b),&t1);
+        FP4_YYY_add(&z3,&z3,&(w->c));
+        FP4_YYY_norm(&z3);
+        FP4_YYY_pmul(&z3,&z3,&(y->b).a);
+        FP4_YYY_neg(&t0,&z0);
+        FP4_YYY_neg(&t1,&z2);
 
-		FP4_YYY_add(&(w->b),&(w->b),&t0);   // z1=z1-z0
-		FP4_YYY_add(&(w->b),&(w->b),&t1);   // z1=z1-z2
+        FP4_YYY_add(&(w->b),&(w->b),&t0);   // z1=z1-z0
+        FP4_YYY_add(&(w->b),&(w->b),&t1);   // z1=z1-z2
 
-		FP4_YYY_add(&z3,&z3,&t1);        // z3=z3-z2
-		FP4_YYY_add(&z2,&z2,&t0);        // z2=z2-z0
+        FP4_YYY_add(&z3,&z3,&t1);        // z3=z3-z2
+        FP4_YYY_add(&z2,&z2,&t0);        // z2=z2-z0
 
-		FP4_YYY_add(&t0,&(w->a),&(w->c));
-		FP4_YYY_norm(&t0);
-		FP4_YYY_norm(&z3);
+        FP4_YYY_add(&t0,&(w->a),&(w->c));
+        FP4_YYY_norm(&t0);
+        FP4_YYY_norm(&z3);
 
-		FP4_YYY_mul(&t0,&(y->a),&t0);
-		FP4_YYY_add(&(w->c),&z2,&t0);
+        FP4_YYY_mul(&t0,&(y->a),&t0);
+        FP4_YYY_add(&(w->c),&z2,&t0);
 
-		FP4_YYY_times_i(&z3);
-		FP4_YYY_add(&(w->a),&z0,&z3);
+        FP4_YYY_times_i(&z3);
+        FP4_YYY_add(&(w->a),&z0,&z3);
 #endif
 #if SEXTIC_TWIST_ZZZ == M_TYPE
-		FP4_YYY_mul(&z0,&(w->a),&(y->a));
-		FP4_YYY_add(&t0,&(w->a),&(w->b));
-		FP4_YYY_norm(&t0);
+        FP4_YYY_mul(&z0,&(w->a),&(y->a));
+        FP4_YYY_add(&t0,&(w->a),&(w->b));
+        FP4_YYY_norm(&t0);
 
-		FP4_YYY_mul(&z1,&t0,&(y->a));
-		FP4_YYY_add(&t0,&(w->b),&(w->c));
-		FP4_YYY_norm(&t0);
+        FP4_YYY_mul(&z1,&t0,&(y->a));
+        FP4_YYY_add(&t0,&(w->b),&(w->c));
+        FP4_YYY_norm(&t0);
 
-		FP4_YYY_pmul(&z3,&t0,&(y->c).b);
-		FP4_YYY_times_i(&z3);
+        FP4_YYY_pmul(&z3,&t0,&(y->c).b);
+        FP4_YYY_times_i(&z3);
 
-		FP4_YYY_neg(&t0,&z0);
-		FP4_YYY_add(&z1,&z1,&t0);   // z1=z1-z0
+        FP4_YYY_neg(&t0,&z0);
+        FP4_YYY_add(&z1,&z1,&t0);   // z1=z1-z0
 
-		FP4_YYY_copy(&(w->b),&z1);
-		FP4_YYY_copy(&z2,&t0);
+        FP4_YYY_copy(&(w->b),&z1);
+        FP4_YYY_copy(&z2,&t0);
 
-		FP4_YYY_add(&t0,&(w->a),&(w->c));
-		FP4_YYY_add(&t1,&(y->a),&(y->c));
+        FP4_YYY_add(&t0,&(w->a),&(w->c));
+        FP4_YYY_add(&t1,&(y->a),&(y->c));
 
-		FP4_YYY_norm(&t0);
-		FP4_YYY_norm(&t1);
+        FP4_YYY_norm(&t0);
+        FP4_YYY_norm(&t1);
 
-		FP4_YYY_mul(&t0,&t1,&t0);
-		FP4_YYY_add(&z2,&z2,&t0);
+        FP4_YYY_mul(&t0,&t1,&t0);
+        FP4_YYY_add(&z2,&z2,&t0);
 
-		FP4_YYY_pmul(&t0,&(w->c),&(y->c).b);
-		FP4_YYY_times_i(&t0);
-		FP4_YYY_neg(&t1,&t0);
-		FP4_YYY_times_i(&t0);
+        FP4_YYY_pmul(&t0,&(w->c),&(y->c).b);
+        FP4_YYY_times_i(&t0);
+        FP4_YYY_neg(&t1,&t0);
+        FP4_YYY_times_i(&t0);
 
-		FP4_YYY_add(&(w->c),&z2,&t1);
-		FP4_YYY_add(&z3,&z3,&t1);
+        FP4_YYY_add(&(w->c),&z2,&t1);
+        FP4_YYY_add(&z3,&z3,&t1);
 
-		FP4_YYY_add(&(w->b),&(w->b),&t0);
-		FP4_YYY_norm(&z3);
-		FP4_YYY_times_i(&z3);
-		FP4_YYY_add(&(w->a),&z0,&z3);
+        FP4_YYY_add(&(w->b),&(w->b),&t0);
+        FP4_YYY_norm(&z3);
+        FP4_YYY_times_i(&z3);
+        FP4_YYY_add(&(w->a),&z0,&z3);
 
 #endif
-	}
-	w->type=FP_DENSE;
+    }
+    w->type=AMCL_FP_DENSE;
     FP12_YYY_norm(w);
 }
 
 /* FP12 multiplication w=w*y */
 /* catering for special case that arises from special form of ATE pairing line function */
-/* w and y are both sparser line functions - cost = 6m */ 
+/* w and y are both sparser line functions - cost = 6m */
 void FP12_YYY_smul(FP12_YYY *w,FP12_YYY *y)
 {
-	FP2_YYY w1,w2,w3,ta,tb,tc,td,te,t;
+    FP2_YYY w1,w2,w3,ta,tb,tc,td,te,t;
 
 //	if (type==D_TYPE)
-//	{ 
+//	{
 #if SEXTIC_TWIST_ZZZ == D_TYPE
-	FP2_YYY_mul(&w1,&(w->a).a,&(y->a).a); // A1.A2
-	FP2_YYY_mul(&w2,&(w->a).b,&(y->a).b); // B1.B2
-	FP2_YYY_mul(&w3,&(w->b).a,&(y->b).a); // C1.C2
+    FP2_YYY_mul(&w1,&(w->a).a,&(y->a).a); // A1.A2
+    FP2_YYY_mul(&w2,&(w->a).b,&(y->a).b); // B1.B2
+    FP2_YYY_mul(&w3,&(w->b).a,&(y->b).a); // C1.C2
 
-	FP2_YYY_add(&ta,&(w->a).a,&(w->a).b); // A1+B1
-	FP2_YYY_add(&tb,&(y->a).a,&(y->a).b); // A2+B2
-	FP2_YYY_norm(&ta);
-	FP2_YYY_norm(&tb);
-	FP2_YYY_mul(&tc,&ta,&tb);			// (A1+B1)(A2+B2)
-	FP2_YYY_add(&t,&w1,&w2);
-	FP2_YYY_neg(&t,&t);
-	FP2_YYY_add(&tc,&tc,&t);			// (A1+B1)(A2+B2)-A1.A2-B1*B2 =  (A1.B2+A2.B1)		
-				
-	FP2_YYY_add(&ta,&(w->a).a,&(w->b).a); // A1+C1
-	FP2_YYY_add(&tb,&(y->a).a,&(y->b).a); // A2+C2
-	FP2_YYY_norm(&ta);
-	FP2_YYY_norm(&tb);
-	FP2_YYY_mul(&td,&ta,&tb);			// (A1+C1)(A2+C2)
-	FP2_YYY_add(&t,&w1,&w3);
-	FP2_YYY_neg(&t,&t);
-	FP2_YYY_add(&td,&td,&t);			// (A1+C1)(A2+C2)-A1.A2-C1*C2 =  (A1.C2+A2.C1)		
+    FP2_YYY_add(&ta,&(w->a).a,&(w->a).b); // A1+B1
+    FP2_YYY_add(&tb,&(y->a).a,&(y->a).b); // A2+B2
+    FP2_YYY_norm(&ta);
+    FP2_YYY_norm(&tb);
+    FP2_YYY_mul(&tc,&ta,&tb);			// (A1+B1)(A2+B2)
+    FP2_YYY_add(&t,&w1,&w2);
+    FP2_YYY_neg(&t,&t);
+    FP2_YYY_add(&tc,&tc,&t);			// (A1+B1)(A2+B2)-A1.A2-B1*B2 =  (A1.B2+A2.B1)
 
-	FP2_YYY_add(&ta,&(w->a).b,&(w->b).a); // B1+C1
-	FP2_YYY_add(&tb,&(y->a).b,&(y->b).a); // B2+C2
-	FP2_YYY_norm(&ta);
-	FP2_YYY_norm(&tb);
-	FP2_YYY_mul(&te,&ta,&tb);			// (B1+C1)(B2+C2)
-	FP2_YYY_add(&t,&w2,&w3);
-	FP2_YYY_neg(&t,&t);
-	FP2_YYY_add(&te,&te,&t);			// (B1+C1)(B2+C2)-B1.B2-C1*C2 =  (B1.C2+B2.C1)		
+    FP2_YYY_add(&ta,&(w->a).a,&(w->b).a); // A1+C1
+    FP2_YYY_add(&tb,&(y->a).a,&(y->b).a); // A2+C2
+    FP2_YYY_norm(&ta);
+    FP2_YYY_norm(&tb);
+    FP2_YYY_mul(&td,&ta,&tb);			// (A1+C1)(A2+C2)
+    FP2_YYY_add(&t,&w1,&w3);
+    FP2_YYY_neg(&t,&t);
+    FP2_YYY_add(&td,&td,&t);			// (A1+C1)(A2+C2)-A1.A2-C1*C2 =  (A1.C2+A2.C1)
 
-	FP2_YYY_mul_ip(&w2);
-	FP2_YYY_add(&w1,&w1,&w2);
-	FP4_YYY_from_FP2s(&(w->a),&w1,&tc);
-	FP4_YYY_from_FP2s(&(w->b),&td,&te); // only norm these 2
-	FP4_YYY_from_FP2(&(w->c),&w3);
+    FP2_YYY_add(&ta,&(w->a).b,&(w->b).a); // B1+C1
+    FP2_YYY_add(&tb,&(y->a).b,&(y->b).a); // B2+C2
+    FP2_YYY_norm(&ta);
+    FP2_YYY_norm(&tb);
+    FP2_YYY_mul(&te,&ta,&tb);			// (B1+C1)(B2+C2)
+    FP2_YYY_add(&t,&w2,&w3);
+    FP2_YYY_neg(&t,&t);
+    FP2_YYY_add(&te,&te,&t);			// (B1+C1)(B2+C2)-B1.B2-C1*C2 =  (B1.C2+B2.C1)
 
-	FP4_YYY_norm(&(w->a));
-	FP4_YYY_norm(&(w->b));
+    FP2_YYY_mul_ip(&w2);
+    FP2_YYY_add(&w1,&w1,&w2);
+    FP4_YYY_from_FP2s(&(w->a),&w1,&tc);
+    FP4_YYY_from_FP2s(&(w->b),&td,&te); // only norm these 2
+    FP4_YYY_from_FP2(&(w->c),&w3);
+
+    FP4_YYY_norm(&(w->a));
+    FP4_YYY_norm(&(w->b));
 #endif
-//	} else { 
+//	} else {
 #if SEXTIC_TWIST_ZZZ == M_TYPE
-	FP2_YYY_mul(&w1,&(w->a).a,&(y->a).a); // A1.A2
-	FP2_YYY_mul(&w2,&(w->a).b,&(y->a).b); // B1.B2
-	FP2_YYY_mul(&w3,&(w->c).b,&(y->c).b); // F1.F2
+    FP2_YYY_mul(&w1,&(w->a).a,&(y->a).a); // A1.A2
+    FP2_YYY_mul(&w2,&(w->a).b,&(y->a).b); // B1.B2
+    FP2_YYY_mul(&w3,&(w->c).b,&(y->c).b); // F1.F2
 
-	FP2_YYY_add(&ta,&(w->a).a,&(w->a).b); // A1+B1
-	FP2_YYY_add(&tb,&(y->a).a,&(y->a).b); // A2+B2
-	FP2_YYY_norm(&ta);
-	FP2_YYY_norm(&tb);
-	FP2_YYY_mul(&tc,&ta,&tb);			// (A1+B1)(A2+B2)
-	FP2_YYY_add(&t,&w1,&w2);
-	FP2_YYY_neg(&t,&t);
-	FP2_YYY_add(&tc,&tc,&t);			// (A1+B1)(A2+B2)-A1.A2-B1*B2 =  (A1.B2+A2.B1)		
-				
-	FP2_YYY_add(&ta,&(w->a).a,&(w->c).b); // A1+F1
-	FP2_YYY_add(&tb,&(y->a).a,&(y->c).b); // A2+F2
-	FP2_YYY_norm(&ta);
-	FP2_YYY_norm(&tb);
-	FP2_YYY_mul(&td,&ta,&tb);			// (A1+F1)(A2+F2)
-	FP2_YYY_add(&t,&w1,&w3);
-	FP2_YYY_neg(&t,&t);
-	FP2_YYY_add(&td,&td,&t);			// (A1+F1)(A2+F2)-A1.A2-F1*F2 =  (A1.F2+A2.F1)		
+    FP2_YYY_add(&ta,&(w->a).a,&(w->a).b); // A1+B1
+    FP2_YYY_add(&tb,&(y->a).a,&(y->a).b); // A2+B2
+    FP2_YYY_norm(&ta);
+    FP2_YYY_norm(&tb);
+    FP2_YYY_mul(&tc,&ta,&tb);			// (A1+B1)(A2+B2)
+    FP2_YYY_add(&t,&w1,&w2);
+    FP2_YYY_neg(&t,&t);
+    FP2_YYY_add(&tc,&tc,&t);			// (A1+B1)(A2+B2)-A1.A2-B1*B2 =  (A1.B2+A2.B1)
 
-	FP2_YYY_add(&ta,&(w->a).b,&(w->c).b); // B1+F1
-	FP2_YYY_add(&tb,&(y->a).b,&(y->c).b); // B2+F2
-	FP2_YYY_norm(&ta);
-	FP2_YYY_norm(&tb);
-	FP2_YYY_mul(&te,&ta,&tb);			// (B1+F1)(B2+F2)
-	FP2_YYY_add(&t,&w2,&w3);
-	FP2_YYY_neg(&t,&t);
-	FP2_YYY_add(&te,&te,&t);			// (B1+F1)(B2+F2)-B1.B2-F1*F2 =  (B1.F2+B2.F1)	
+    FP2_YYY_add(&ta,&(w->a).a,&(w->c).b); // A1+F1
+    FP2_YYY_add(&tb,&(y->a).a,&(y->c).b); // A2+F2
+    FP2_YYY_norm(&ta);
+    FP2_YYY_norm(&tb);
+    FP2_YYY_mul(&td,&ta,&tb);			// (A1+F1)(A2+F2)
+    FP2_YYY_add(&t,&w1,&w3);
+    FP2_YYY_neg(&t,&t);
+    FP2_YYY_add(&td,&td,&t);			// (A1+F1)(A2+F2)-A1.A2-F1*F2 =  (A1.F2+A2.F1)
 
-	FP2_YYY_mul_ip(&w2);
-	FP2_YYY_add(&w1,&w1,&w2);
-	FP4_YYY_from_FP2s(&(w->a),&w1,&tc);
+    FP2_YYY_add(&ta,&(w->a).b,&(w->c).b); // B1+F1
+    FP2_YYY_add(&tb,&(y->a).b,&(y->c).b); // B2+F2
+    FP2_YYY_norm(&ta);
+    FP2_YYY_norm(&tb);
+    FP2_YYY_mul(&te,&ta,&tb);			// (B1+F1)(B2+F2)
+    FP2_YYY_add(&t,&w2,&w3);
+    FP2_YYY_neg(&t,&t);
+    FP2_YYY_add(&te,&te,&t);			// (B1+F1)(B2+F2)-B1.B2-F1*F2 =  (B1.F2+B2.F1)
 
-	FP2_YYY_mul_ip(&w3);
-	FP2_YYY_norm(&w3);
-	FP4_YYY_from_FP2H(&(w->b),&w3);
+    FP2_YYY_mul_ip(&w2);
+    FP2_YYY_add(&w1,&w1,&w2);
+    FP4_YYY_from_FP2s(&(w->a),&w1,&tc);
 
-	FP2_YYY_norm(&te);
-	FP2_YYY_mul_ip(&te);
-	FP4_YYY_from_FP2s(&(w->c),&te,&td);
+    FP2_YYY_mul_ip(&w3);
+    FP2_YYY_norm(&w3);
+    FP4_YYY_from_FP2H(&(w->b),&w3);
 
-	FP4_YYY_norm(&(w->a));
-	FP4_YYY_norm(&(w->c));
+    FP2_YYY_norm(&te);
+    FP2_YYY_mul_ip(&te);
+    FP4_YYY_from_FP2s(&(w->c),&te,&td);
+
+    FP4_YYY_norm(&(w->a));
+    FP4_YYY_norm(&(w->c));
 #endif
 
 //	}
-	w->type=FP_SPARSE;
+    w->type=AMCL_FP_SPARSE;
 }
 
 /* Set w=1/x */
@@ -613,7 +615,7 @@
     FP4_YYY_mul(&(w->a),&f0,&f3);
     FP4_YYY_mul(&(w->b),&f1,&f3);
     FP4_YYY_mul(&(w->c),&f2,&f3);
-	w->type=FP_DENSE;
+    w->type=AMCL_FP_DENSE;
 }
 
 /* constant time powering by small integer of max length bts */
@@ -692,13 +694,13 @@
     FP12_YYY w,sf;
     BIG_XXX b1,b3;
     int i,nb,bt;
-	BIG_XXX_copy(b1,b);
+    BIG_XXX_copy(b1,b);
     BIG_XXX_norm(b1);
     BIG_XXX_pmul(b3,b1,3);
     BIG_XXX_norm(b3);
 
-	FP12_YYY_copy(&sf,a);
-	FP12_YYY_norm(&sf);
+    FP12_YYY_copy(&sf,a);
+    FP12_YYY_norm(&sf);
     FP12_YYY_copy(&w,&sf);
 
 
@@ -729,8 +731,8 @@
 void FP12_YYY_pow4(FP12_YYY *p,FP12_YYY *q,BIG_XXX u[4])
 {
     int i,j,k,nb,pb,bt;
-	FP12_YYY g[8],r;
-	BIG_XXX t[4],mt;
+    FP12_YYY g[8],r;
+    BIG_XXX t[4],mt;
     sign8 w[NLEN_XXX*BASEBITS_XXX+1];
     sign8 s[NLEN_XXX*BASEBITS_XXX+1];
 
@@ -741,24 +743,24 @@
 // Precomputed table
     FP12_YYY_copy(&g[0],&q[0]); // q[0]
     FP12_YYY_copy(&g[1],&g[0]);
-	FP12_YYY_mul(&g[1],&q[1]);	// q[0].q[1]
+    FP12_YYY_mul(&g[1],&q[1]);	// q[0].q[1]
     FP12_YYY_copy(&g[2],&g[0]);
-	FP12_YYY_mul(&g[2],&q[2]);	// q[0].q[2]
-	FP12_YYY_copy(&g[3],&g[1]);
-	FP12_YYY_mul(&g[3],&q[2]);	// q[0].q[1].q[2]
-	FP12_YYY_copy(&g[4],&g[0]);
-	FP12_YYY_mul(&g[4],&q[3]);  // q[0].q[3]
-	FP12_YYY_copy(&g[5],&g[1]);
-	FP12_YYY_mul(&g[5],&q[3]);	// q[0].q[1].q[3]
-	FP12_YYY_copy(&g[6],&g[2]);
-	FP12_YYY_mul(&g[6],&q[3]);	// q[0].q[2].q[3]
-	FP12_YYY_copy(&g[7],&g[3]);
-	FP12_YYY_mul(&g[7],&q[3]);	// q[0].q[1].q[2].q[3]
+    FP12_YYY_mul(&g[2],&q[2]);	// q[0].q[2]
+    FP12_YYY_copy(&g[3],&g[1]);
+    FP12_YYY_mul(&g[3],&q[2]);	// q[0].q[1].q[2]
+    FP12_YYY_copy(&g[4],&g[0]);
+    FP12_YYY_mul(&g[4],&q[3]);  // q[0].q[3]
+    FP12_YYY_copy(&g[5],&g[1]);
+    FP12_YYY_mul(&g[5],&q[3]);	// q[0].q[1].q[3]
+    FP12_YYY_copy(&g[6],&g[2]);
+    FP12_YYY_mul(&g[6],&q[3]);	// q[0].q[2].q[3]
+    FP12_YYY_copy(&g[7],&g[3]);
+    FP12_YYY_mul(&g[7],&q[3]);	// q[0].q[1].q[2].q[3]
 
 // Make it odd
-	pb=1-BIG_XXX_parity(t[0]);
-	BIG_XXX_inc(t[0],pb);
-	BIG_XXX_norm(t[0]);
+    pb=1-BIG_XXX_parity(t[0]);
+    BIG_XXX_inc(t[0],pb);
+    BIG_XXX_norm(t[0]);
 
 // Number of bits
     BIG_XXX_zero(mt);
@@ -768,45 +770,45 @@
     }
     nb=1+BIG_XXX_nbits(mt);
 
-// Sign pivot 
-	s[nb-1]=1;
-	for (i=0;i<nb-1;i++)
-	{
+// Sign pivot
+    s[nb-1]=1;
+    for (i=0; i<nb-1; i++)
+    {
         BIG_XXX_fshr(t[0],1);
-		s[i]=2*BIG_XXX_parity(t[0])-1;
-	}
+        s[i]=2*BIG_XXX_parity(t[0])-1;
+    }
 
 // Recoded exponent
     for (i=0; i<nb; i++)
     {
-		w[i]=0;
-		k=1;
-		for (j=1; j<4; j++)
-		{
-			bt=s[i]*BIG_XXX_parity(t[j]);
-			BIG_XXX_fshr(t[j],1);
+        w[i]=0;
+        k=1;
+        for (j=1; j<4; j++)
+        {
+            bt=s[i]*BIG_XXX_parity(t[j]);
+            BIG_XXX_fshr(t[j],1);
 
-			BIG_XXX_dec(t[j],(bt>>1));
-			BIG_XXX_norm(t[j]);
-			w[i]+=bt*k;
-			k*=2;
+            BIG_XXX_dec(t[j],(bt>>1));
+            BIG_XXX_norm(t[j]);
+            w[i]+=bt*k;
+            k*=2;
         }
-    }		
+    }
 
 // Main loop
-	FP12_YYY_select(p,g,2*w[nb-1]+1);
+    FP12_YYY_select(p,g,2*w[nb-1]+1);
     for (i=nb-2; i>=0; i--)
     {
         FP12_YYY_select(&r,g,2*w[i]+s[i]);
-		FP12_YYY_usqr(p,p);
+        FP12_YYY_usqr(p,p);
         FP12_YYY_mul(p,&r);
     }
 // apply correction
-	FP12_YYY_conj(&r,&q[0]);   
-	FP12_YYY_mul(&r,p);
-	FP12_YYY_cmove(p,&r,pb);
+    FP12_YYY_conj(&r,&q[0]);
+    FP12_YYY_mul(&r,p);
+    FP12_YYY_cmove(p,&r,pb);
 
-	FP12_YYY_reduce(p);
+    FP12_YYY_reduce(p);
 }
 
 /* Set w=w^p using Frobenius */
@@ -823,7 +825,7 @@
 
     FP4_YYY_pmul(&(w->b),&(w->b),f);
     FP4_YYY_pmul(&(w->c),&(w->c),&f2);
-	w->type=FP_DENSE;
+    w->type=AMCL_FP_DENSE;
 }
 
 /* SU= 8 */
@@ -935,7 +937,7 @@
     FP4_YYY_cmove(&(f->a),&(g->a),d);
     FP4_YYY_cmove(&(f->b),&(g->b),d);
     FP4_YYY_cmove(&(f->c),&(g->c),d);
-	d=~(d-1);
-	f->type^=(f->type^g->type)&d;
+    d=~(d-1);
+    f->type^=(f->type^g->type)&d;
 }
 
diff --git a/version3/c/fp12.h b/version3/c/fp12.h
index bc23ec1..5cb5d83 100644
--- a/version3/c/fp12.h
+++ b/version3/c/fp12.h
@@ -18,7 +18,7 @@
 */
 
 /**
- * @file fp12.h
+ * @file fp12_YYY.h
  * @author Mike Scott
  * @brief FP12 Header File
  *
@@ -38,7 +38,7 @@
     FP4_YYY a; /**< first part of FP12 */
     FP4_YYY b; /**< second part of FP12 */
     FP4_YYY c; /**< third part of FP12 */
-	int type;
+    int type;  /**< Type */
 } FP12_YYY;
 
 extern const BIG_XXX Fra_YYY; /**< real part of BN curve Frobenius Constant */
diff --git a/version3/c/fp16.c b/version3/c/fp16.c
index e2579c9..0f37181 100644
--- a/version3/c/fp16.c
+++ b/version3/c/fp16.c
@@ -100,14 +100,14 @@
 {
     /* Just one field neg */
     FP8_YYY m,t;
-	FP16_YYY_norm(x);
+    FP16_YYY_norm(x);
     FP8_YYY_add(&m,&(x->a),&(x->b));
-	FP8_YYY_norm(&m);
+    FP8_YYY_norm(&m);
     FP8_YYY_neg(&m,&m);
     FP8_YYY_add(&t,&m,&(x->b));
     FP8_YYY_add(&(w->b),&m,&(x->a));
     FP8_YYY_copy(&(w->a),&t);
-	FP16_YYY_norm(w);
+    FP16_YYY_norm(w);
 }
 
 /* Set w=conj(x) */
@@ -115,7 +115,7 @@
 {
     FP8_YYY_copy(&(w->a), &(x->a));
     FP8_YYY_neg(&(w->b), &(x->b));
-	FP16_YYY_norm(w);
+    FP16_YYY_norm(w);
 }
 
 /* Set w=-conj(x) */
@@ -123,7 +123,7 @@
 {
     FP8_YYY_copy(&(w->b),&(x->b));
     FP8_YYY_neg(&(w->a), &(x->a));
-	FP16_YYY_norm(w);
+    FP16_YYY_norm(w);
 }
 
 /* Set w=x+y */
@@ -192,8 +192,8 @@
 
     FP8_YYY_add(&t2,&(x->a),&t2);
 
-	FP8_YYY_norm(&t1);  // 2
-	FP8_YYY_norm(&t2);  // 2
+    FP8_YYY_norm(&t1);  // 2
+    FP8_YYY_norm(&t2);  // 2
 
     FP8_YYY_mul(&(w->a),&t1,&t2);
 
@@ -202,7 +202,7 @@
 
     FP8_YYY_add(&t2,&t2,&t3);
 
-	FP8_YYY_norm(&t2);  // 2
+    FP8_YYY_norm(&t2);  // 2
     FP8_YYY_neg(&t2,&t2);
     FP8_YYY_add(&(w->a),&(w->a),&t2);  /* a=(a+b)(a+i^2.b)-i^2.ab-ab = a*a+ib*ib */
     FP8_YYY_add(&(w->b),&t3,&t3);  /* b=2ab */
@@ -216,23 +216,23 @@
 {
 
     FP8_YYY t1,t2,t3,t4;
-    FP8_YYY_mul(&t1,&(x->a),&(y->a)); 
-    FP8_YYY_mul(&t2,&(x->b),&(y->b)); 
+    FP8_YYY_mul(&t1,&(x->a),&(y->a));
+    FP8_YYY_mul(&t2,&(x->b),&(y->b));
 
     FP8_YYY_add(&t3,&(y->b),&(y->a));
     FP8_YYY_add(&t4,&(x->b),&(x->a));
 
-	FP8_YYY_norm(&t4); // 2
-	FP8_YYY_norm(&t3); // 2
+    FP8_YYY_norm(&t4); // 2
+    FP8_YYY_norm(&t3); // 2
 
     FP8_YYY_mul(&t4,&t4,&t3); /* (xa+xb)(ya+yb) */
 
-	FP8_YYY_neg(&t3,&t1);  // 1
-	FP8_YYY_add(&t4,&t4,&t3);  //t4E=3
+    FP8_YYY_neg(&t3,&t1);  // 1
+    FP8_YYY_add(&t4,&t4,&t3);  //t4E=3
     FP8_YYY_norm(&t4);
 
-	FP8_YYY_neg(&t3,&t2);  // 1
-	FP8_YYY_add(&(w->b),&t4,&t3); //wbE=3
+    FP8_YYY_neg(&t3,&t2);  // 1
+    FP8_YYY_add(&(w->b),&t4,&t3); //wbE=3
 
     FP8_YYY_times_i(&t2);
     FP8_YYY_add(&(w->a),&t2,&t1);
@@ -266,56 +266,57 @@
     FP8_YYY_sqr(&t1,&(x->a));
     FP8_YYY_sqr(&t2,&(x->b));
     FP8_YYY_times_i(&t2);
-	FP8_YYY_norm(&t2);
+    FP8_YYY_norm(&t2);
 
     FP8_YYY_sub(&t1,&t1,&t2);
-	FP8_YYY_norm(&t1);
+    FP8_YYY_norm(&t1);
 
     FP8_YYY_inv(&t1,&t1);
 
     FP8_YYY_mul(&(w->a),&t1,&(x->a));
     FP8_YYY_neg(&t1,&t1);
-	FP8_YYY_norm(&t1);
+    FP8_YYY_norm(&t1);
     FP8_YYY_mul(&(w->b),&t1,&(x->b));
 }
 
 /* w*=i where i = sqrt(sqrt(-1+sqrt(-1))) */
 void FP16_YYY_times_i(FP16_YYY *w)
 {
-	FP8_YYY s,t;
-	FP8_YYY_copy(&s,&(w->b));
-	FP8_YYY_copy(&t,&(w->a));
-	FP8_YYY_times_i(&s);
-	FP8_YYY_copy(&(w->a),&s);
-	FP8_YYY_copy(&(w->b),&t);
-	FP16_YYY_norm(w);
+    FP8_YYY s,t;
+    FP8_YYY_copy(&s,&(w->b));
+    FP8_YYY_copy(&t,&(w->a));
+    FP8_YYY_times_i(&s);
+    FP8_YYY_copy(&(w->a),&s);
+    FP8_YYY_copy(&(w->b),&t);
+    FP16_YYY_norm(w);
 }
 
 void FP16_YYY_times_i2(FP16_YYY *w)
 {
-	FP8_YYY_times_i(&(w->a));
-	FP8_YYY_times_i(&(w->b));
+    FP8_YYY_times_i(&(w->a));
+    FP8_YYY_times_i(&(w->b));
 }
 
 void FP16_YYY_times_i4(FP16_YYY *w)
 {
-	FP8_YYY_times_i2(&(w->a));
-	FP8_YYY_times_i2(&(w->b));
+    FP8_YYY_times_i2(&(w->a));
+    FP8_YYY_times_i2(&(w->b));
 }
 
 /* Set w=w^p using Frobenius */
 void FP16_YYY_frob(FP16_YYY *w,FP2_YYY *f)
-{ // f=(i+1)^(p-3)/8
-	FP2_YYY ff;
+{
+    // f=(i+1)^(p-3)/8
+    FP2_YYY ff;
 
-	FP2_YYY_sqr(&ff,f);  // (i+1)^(p-3)/4
-	FP2_YYY_norm(&ff);
+    FP2_YYY_sqr(&ff,f);  // (i+1)^(p-3)/4
+    FP2_YYY_norm(&ff);
 
-	FP8_YYY_frob(&(w->a),&ff);
-	FP8_YYY_frob(&(w->b),&ff);
+    FP8_YYY_frob(&(w->a),&ff);
+    FP8_YYY_frob(&(w->b),&ff);
 
-	FP8_YYY_qmul(&(w->b),&(w->b),f);  // times (1+i)^(p-3)/8
-	FP8_YYY_times_i(&(w->b));		// (i+1)^(p-1)/8
+    FP8_YYY_qmul(&(w->b),&(w->b),f);  // times (1+i)^(p-3)/8
+    FP8_YYY_times_i(&(w->b));		// (i+1)^(p-1)/8
 }
 
 /* Set r=a^b mod m */
@@ -358,10 +359,10 @@
 
     FP16_YYY_copy(r,x);
     FP16_YYY_sub(&t1,w,y);
-	FP16_YYY_norm(&t1);
+    FP16_YYY_norm(&t1);
     FP16_YYY_pmul(&t1,&t1,&(r->a));
     FP16_YYY_add(&t2,w,y);
-	FP16_YYY_norm(&t2);
+    FP16_YYY_norm(&t2);
     FP16_YYY_pmul(&t2,&t2,&(r->b));
     FP16_YYY_times_i(&t2);
 
@@ -379,7 +380,7 @@
     FP16_YYY_conj(&w,r);
     FP16_YYY_add(&w,&w,&w);
     FP16_YYY_sqr(r,r);
-	FP16_YYY_norm(&w);
+    FP16_YYY_norm(&w);
     FP16_YYY_sub(r,r,&w);
     FP16_YYY_reduce(r);    /* reduce here as multiple calls trigger automatic reductions */
 }
@@ -390,20 +391,20 @@
     int i,par,nb;
     BIG_XXX v;
     FP2_YYY w2;
-	FP4_YYY w4;
-	FP8_YYY w8;
+    FP4_YYY w4;
+    FP8_YYY w8;
     FP16_YYY t,a,b,c,sf;
 
     BIG_XXX_zero(v);
     BIG_XXX_inc(v,3);
-	BIG_XXX_norm(v);
+    BIG_XXX_norm(v);
     FP2_YYY_from_BIG(&w2,v);
     FP4_YYY_from_FP2(&w4,&w2);
-	FP8_YYY_from_FP4(&w8,&w4);
+    FP8_YYY_from_FP4(&w8,&w4);
     FP16_YYY_from_FP8(&a,&w8);
-	FP16_YYY_copy(&sf,x);
-	FP16_YYY_norm(&sf);
-	FP16_YYY_copy(&b,&sf);
+    FP16_YYY_copy(&sf,x);
+    FP16_YYY_norm(&sf);
+    FP16_YYY_copy(&b,&sf);
     FP16_YYY_xtr_D(&c,&sf);
 
 
@@ -455,7 +456,7 @@
     BIG_XXX_copy(e,a);
     BIG_XXX_copy(d,b);
     BIG_XXX_norm(d);
-	BIG_XXX_norm(e);
+    BIG_XXX_norm(e);
     FP16_YYY_copy(&cu,ck);
     FP16_YYY_copy(&cv,cl);
     FP16_YYY_copy(&cumv,ckml);
diff --git a/version3/c/fp2.c b/version3/c/fp2.c
index 0c9cb63..5e7e8eb 100644
--- a/version3/c/fp2.c
+++ b/version3/c/fp2.c
@@ -279,7 +279,6 @@
 /* SU= 128 */
 void FP2_YYY_inv(FP2_YYY *w,FP2_YYY *x)
 {
-    BIG_XXX m,b;
     FP_YYY w1,w2;
 
     FP2_YYY_norm(x);
@@ -287,7 +286,7 @@
     FP_YYY_sqr(&w2,&(x->b));
     FP_YYY_add(&w1,&w1,&w2);
 
-	FP_YYY_inv(&w1,&w1);
+    FP_YYY_inv(&w1,&w1);
 
     FP_YYY_mul(&(w->a),&(x->a),&w1);
     FP_YYY_neg(&w1,&w1);
@@ -384,7 +383,6 @@
 
 int FP2_YYY_sqrt(FP2_YYY *w,FP2_YYY *u)
 {
-    BIG_XXX b;
     FP_YYY w1,w2;
     FP2_YYY_copy(w,u);
     if (FP2_YYY_iszilch(w)) return 1;
@@ -416,7 +414,7 @@
     FP_YYY_copy(&(w->a),&w2);
     FP_YYY_add(&w2,&w2,&w2);
 
-	FP_YYY_inv(&w2,&w2);
+    FP_YYY_inv(&w2,&w2);
 
     FP_YYY_mul(&(w->b),&(w->b),&w2);
     return 1;
diff --git a/version3/c/fp2.h b/version3/c/fp2.h
index 6767685..8442141 100644
--- a/version3/c/fp2.h
+++ b/version3/c/fp2.h
@@ -18,7 +18,7 @@
 */
 
 /**
- * @file fp2.h
+ * @file fp2_YYY.h
  * @author Mike Scott
  * @brief FP2 Header File
  *
diff --git a/version3/c/fp24.c b/version3/c/fp24.c
index 8711e96..815ce89 100644
--- a/version3/c/fp24.c
+++ b/version3/c/fp24.c
@@ -79,7 +79,7 @@
     FP8_YYY_copy(&(w->a),&(x->a));
     FP8_YYY_copy(&(w->b),&(x->b));
     FP8_YYY_copy(&(w->c),&(x->c));
-	w->type=x->type;
+    w->type=x->type;
 }
 
 /* FP24 w=1 */
@@ -89,7 +89,7 @@
     FP8_YYY_one(&(w->a));
     FP8_YYY_zero(&(w->b));
     FP8_YYY_zero(&(w->c));
-	w->type=FP_UNITY;
+    w->type=AMCL_FP_UNITY;
 }
 
 void FP24_YYY_zero(FP24_YYY *w)
@@ -97,7 +97,7 @@
     FP8_YYY_zero(&(w->a));
     FP8_YYY_zero(&(w->b));
     FP8_YYY_zero(&(w->c));
-	w->type=FP_ZERO;
+    w->type=AMCL_FP_ZERO;
 }
 
 /* return 1 if x==y, else 0 */
@@ -126,7 +126,7 @@
     FP8_YYY_copy(&(w->a),a);
     FP8_YYY_zero(&(w->b));
     FP8_YYY_zero(&(w->c));
-	w->type=FP_SPARSER;
+    w->type=AMCL_AMCL_FP_SPARSER;
 }
 
 /* Create FP24 from 3 FP8's */
@@ -136,7 +136,7 @@
     FP8_YYY_copy(&(w->a),a);
     FP8_YYY_copy(&(w->b),b);
     FP8_YYY_copy(&(w->c),c);
-	w->type=FP_DENSE;
+    w->type=AMCL_FP_DENSE;
 }
 
 /* Granger-Scott Unitary Squaring. This does not benefit from lazy reduction */
@@ -176,7 +176,7 @@
     FP8_YYY_add(&(w->c),&(w->c),&(w->c));
     FP8_YYY_add(&(w->b),&B,&(w->b));
     FP8_YYY_add(&(w->c),&C,&(w->c));
-	w->type=FP_DENSE;
+    w->type=AMCL_FP_DENSE;
     FP24_YYY_reduce(w);	    /* reduce here as in pow function repeated squarings would trigger multiple reductions */
 }
 
@@ -188,16 +188,16 @@
 
     FP8_YYY A,B,C,D;
 
-	if (x->type<=FP_UNITY)
-	{
-		FP24_YYY_copy(w,x);
-		return;
-	}
+    if (x->type<=AMCL_FP_UNITY)
+    {
+        FP24_YYY_copy(w,x);
+        return;
+    }
 
     FP8_YYY_sqr(&A,&(x->a));
     FP8_YYY_mul(&B,&(x->b),&(x->c));
     FP8_YYY_add(&B,&B,&B);
-	FP8_YYY_norm(&B);
+    FP8_YYY_norm(&B);
     FP8_YYY_sqr(&C,&(x->c));
 
     FP8_YYY_mul(&D,&(x->a),&(x->b));
@@ -205,7 +205,7 @@
 
     FP8_YYY_add(&(w->c),&(x->a),&(x->c));
     FP8_YYY_add(&(w->c),&(x->b),&(w->c));
-	FP8_YYY_norm(&(w->c));	
+    FP8_YYY_norm(&(w->c));
 
     FP8_YYY_sqr(&(w->c),&(w->c));
 
@@ -227,10 +227,10 @@
     FP8_YYY_add(&(w->b),&C,&D);
     FP8_YYY_add(&(w->c),&(w->c),&A);
 
-	if (x->type==FP_SPARSER)
-		w->type=FP_SPARSE;
-	else
-		w->type=FP_DENSE;
+    if (x->type==AMCL_AMCL_FP_SPARSER)
+        w->type=AMCL_FP_SPARSE;
+    else
+        w->type=AMCL_FP_DENSE;
 
     FP24_YYY_norm(w);
 }
@@ -250,15 +250,15 @@
     FP8_YYY_add(&t0,&(w->a),&(w->b));
     FP8_YYY_add(&t1,&(y->a),&(y->b));  //
 
-	FP8_YYY_norm(&t0);
-	FP8_YYY_norm(&t1);
+    FP8_YYY_norm(&t0);
+    FP8_YYY_norm(&t1);
 
     FP8_YYY_mul(&z1,&t0,&t1);
     FP8_YYY_add(&t0,&(w->b),&(w->c));
     FP8_YYY_add(&t1,&(y->b),&(y->c));  //
 
-	FP8_YYY_norm(&t0);
-	FP8_YYY_norm(&t1);
+    FP8_YYY_norm(&t0);
+    FP8_YYY_norm(&t1);
 
     FP8_YYY_mul(&z3,&t0,&t1);
 
@@ -273,8 +273,8 @@
     FP8_YYY_add(&t0,&(w->a),&(w->c));
     FP8_YYY_add(&t1,&(y->a),&(y->c));
 
-	FP8_YYY_norm(&t0);
-	FP8_YYY_norm(&t1);
+    FP8_YYY_norm(&t0);
+    FP8_YYY_norm(&t1);
 
     FP8_YYY_mul(&t0,&t1,&t0);
     FP8_YYY_add(&z2,&z2,&t0);
@@ -286,10 +286,10 @@
     FP8_YYY_add(&z3,&z3,&t1);
     FP8_YYY_times_i(&t0);
     FP8_YYY_add(&(w->b),&(w->b),&t0);
-	FP8_YYY_norm(&z3);
+    FP8_YYY_norm(&z3);
     FP8_YYY_times_i(&z3);
     FP8_YYY_add(&(w->a),&z0,&z3);
-	w->type=FP_DENSE;
+    w->type=AMCL_FP_DENSE;
     FP24_YYY_norm(w);
 }
 
@@ -298,274 +298,276 @@
 /* Usually w is denser than y */
 void FP24_YYY_ssmul(FP24_YYY *w,FP24_YYY *y)
 {
-	FP8_YYY z0,z1,z2,z3,t0,t1;
-	if (w->type==FP_UNITY)
-	{
-		FP24_YYY_copy(w,y);
-		return;
-	}
-	if (y->type==FP_UNITY)
-		return;
+    FP8_YYY z0,z1,z2,z3,t0,t1;
+    if (w->type==AMCL_FP_UNITY)
+    {
+        FP24_YYY_copy(w,y);
+        return;
+    }
+    if (y->type==AMCL_FP_UNITY)
+        return;
 
-	if (y->type >= FP_SPARSE)
-	{
-		FP8_YYY_mul(&z0,&(w->a),&(y->a));  // xa.ya   always 11x11
+    if (y->type >= AMCL_FP_SPARSE)
+    {
+        FP8_YYY_mul(&z0,&(w->a),&(y->a));  // xa.ya   always 11x11
 
 #if SEXTIC_TWIST_ZZZ == M_TYPE
-		if (y->type==FP_SPARSE || w->type==FP_SPARSE)
-		{
-			FP4_YYY_mul(&z2.b,&(w->b).b,&(y->b).b);
-			FP4_YYY_zero(&z2.a);
-			if (y->type!=FP_SPARSE)
-				FP4_YYY_mul(&z2.a,&(w->b).b,&(y->b).a);
-			if (w->type!=FP_SPARSE)
-				FP4_YYY_mul(&z2.a,&(w->b).a,&(y->b).b);
-			FP8_YYY_times_i(&z2);
-		}
-		else
-#endif 
-			FP8_YYY_mul(&z2,&(w->b),&(y->b));  // xb.yb  could be 00x00 or 01x01 or or 10x10 or 11x00 or 11x10 or 11x01 or 11x11 
-
-		FP8_YYY_add(&t0,&(w->a),&(w->b));  // (xa+xb)
-		FP8_YYY_add(&t1,&(y->a),&(y->b));  // (ya+yb)
-
-		FP8_YYY_norm(&t0);
-		FP8_YYY_norm(&t1);
-
-		FP8_YYY_mul(&z1,&t0,&t1); // (xa+xb)(ya+yb)  always 11x11
-		FP8_YYY_add(&t0,&(w->b),&(w->c));  // (xb+xc)
-		FP8_YYY_add(&t1,&(y->b),&(y->c));  // (yb+yc)
-
-		FP8_YYY_norm(&t0);
-		FP8_YYY_norm(&t1);
-
-		FP8_YYY_mul(&z3,&t0,&t1);	// (xb+xc)(yb+yc)   could be anything...
-		FP8_YYY_neg(&t0,&z0);		// -(xa.ya)
-		FP8_YYY_neg(&t1,&z2);		// -(xb.yb)
-
-		FP8_YYY_add(&z1,&z1,&t0);  
-		FP8_YYY_add(&(w->b),&z1,&t1); // /wb = (xa+xb)(ya+yb) -(xa.ya) -(xb.yb)						= xa.yb + xb.ya
-
-		FP8_YYY_add(&z3,&z3,&t1);        // (xb+xc)(yb+yc) -(xb.yb)
-		FP8_YYY_add(&z2,&z2,&t0);        // (xb.yb) - (xa.ya)
-
-		FP8_YYY_add(&t0,&(w->a),&(w->c));  // (xa+xc)
-		FP8_YYY_add(&t1,&(y->a),&(y->c));  // (ya+yc)
-
-		FP8_YYY_norm(&t0);
-		FP8_YYY_norm(&t1);
-
-		FP8_YYY_mul(&t0,&t1,&t0);	// (xa+xc)(ya+yc)    always 11x11
-		FP8_YYY_add(&z2,&z2,&t0);	// (xb.yb) - (xa.ya) + (xa+xc)(ya+yc)
-
-#if SEXTIC_TWIST_ZZZ == D_TYPE
-		if (y->type==FP_SPARSE || w->type==FP_SPARSE)
-		{
-			FP4_YYY_mul(&t0.a,&(w->c).a,&(y->c).a);
-			FP4_YYY_zero(&t0.b);
-			if (y->type!=FP_SPARSE)
-				FP4_YYY_mul(&t0.b,&(w->c).a,&(y->c).b);
-			if (w->type!=FP_SPARSE)
-				FP4_YYY_mul(&t0.b,&(w->c).b,&(y->c).a);
-		}
-		else
+        if (y->type==AMCL_FP_SPARSE || w->type==AMCL_FP_SPARSE)
+        {
+            FP4_YYY_mul(&z2.b,&(w->b).b,&(y->b).b);
+            FP4_YYY_zero(&z2.a);
+            if (y->type!=AMCL_FP_SPARSE)
+                FP4_YYY_mul(&z2.a,&(w->b).b,&(y->b).a);
+            if (w->type!=AMCL_FP_SPARSE)
+                FP4_YYY_mul(&z2.a,&(w->b).a,&(y->b).b);
+            FP8_YYY_times_i(&z2);
+        }
+        else
 #endif
-			FP8_YYY_mul(&t0,&(w->c),&(y->c)); // (xc.yc)  could be anything
-			
-		FP8_YYY_neg(&t1,&t0);			  // -(xc.yc) 
+            FP8_YYY_mul(&z2,&(w->b),&(y->b));  // xb.yb  could be 00x00 or 01x01 or or 10x10 or 11x00 or 11x10 or 11x01 or 11x11
 
-		FP8_YYY_add(&(w->c),&z2,&t1);		// wc = (xb.yb) - (xa.ya) + (xa+xc)(ya+yc) - (xc.yc)	=  xb.yb + xc.ya + xa.yc
-		FP8_YYY_add(&z3,&z3,&t1);			// (xb+xc)(yb+yc) -(xb.yb) - (xc.yc)					=  xb.yc + xc.yb
-		FP8_YYY_times_i(&t0);				// i.(xc.yc)
-		FP8_YYY_add(&(w->b),&(w->b),&t0);   // wb = (xa+xb)(ya+yb) -(xa.ya) -(xb.yb) +i(xc.yc)
-		FP8_YYY_norm(&z3);
-		FP8_YYY_times_i(&z3);				// i[(xb+xc)(yb+yc) -(xb.yb) - (xc.yc)]					= i(xb.yc + xc.yb)
-		FP8_YYY_add(&(w->a),&z0,&z3);		// wa = xa.ya + i(xb.yc + xc.yb)
-	} else {
-		if (w->type==FP_SPARSER)
-		{
-			FP24_YYY_smul(w,y);
-			return;
-		}
-// dense by sparser - 13m 
+        FP8_YYY_add(&t0,&(w->a),&(w->b));  // (xa+xb)
+        FP8_YYY_add(&t1,&(y->a),&(y->b));  // (ya+yb)
+
+        FP8_YYY_norm(&t0);
+        FP8_YYY_norm(&t1);
+
+        FP8_YYY_mul(&z1,&t0,&t1); // (xa+xb)(ya+yb)  always 11x11
+        FP8_YYY_add(&t0,&(w->b),&(w->c));  // (xb+xc)
+        FP8_YYY_add(&t1,&(y->b),&(y->c));  // (yb+yc)
+
+        FP8_YYY_norm(&t0);
+        FP8_YYY_norm(&t1);
+
+        FP8_YYY_mul(&z3,&t0,&t1);	// (xb+xc)(yb+yc)   could be anything...
+        FP8_YYY_neg(&t0,&z0);		// -(xa.ya)
+        FP8_YYY_neg(&t1,&z2);		// -(xb.yb)
+
+        FP8_YYY_add(&z1,&z1,&t0);
+        FP8_YYY_add(&(w->b),&z1,&t1); // /wb = (xa+xb)(ya+yb) -(xa.ya) -(xb.yb)						= xa.yb + xb.ya
+
+        FP8_YYY_add(&z3,&z3,&t1);        // (xb+xc)(yb+yc) -(xb.yb)
+        FP8_YYY_add(&z2,&z2,&t0);        // (xb.yb) - (xa.ya)
+
+        FP8_YYY_add(&t0,&(w->a),&(w->c));  // (xa+xc)
+        FP8_YYY_add(&t1,&(y->a),&(y->c));  // (ya+yc)
+
+        FP8_YYY_norm(&t0);
+        FP8_YYY_norm(&t1);
+
+        FP8_YYY_mul(&t0,&t1,&t0);	// (xa+xc)(ya+yc)    always 11x11
+        FP8_YYY_add(&z2,&z2,&t0);	// (xb.yb) - (xa.ya) + (xa+xc)(ya+yc)
+
 #if SEXTIC_TWIST_ZZZ == D_TYPE
-		FP8_YYY_copy(&z3,&(w->b));
-		FP8_YYY_mul(&z0,&(w->a),&(y->a));
+        if (y->type==AMCL_FP_SPARSE || w->type==AMCL_FP_SPARSE)
+        {
+            FP4_YYY_mul(&t0.a,&(w->c).a,&(y->c).a);
+            FP4_YYY_zero(&t0.b);
+            if (y->type!=AMCL_FP_SPARSE)
+                FP4_YYY_mul(&t0.b,&(w->c).a,&(y->c).b);
+            if (w->type!=AMCL_FP_SPARSE)
+                FP4_YYY_mul(&t0.b,&(w->c).b,&(y->c).a);
+        }
+        else
+#endif
+            FP8_YYY_mul(&t0,&(w->c),&(y->c)); // (xc.yc)  could be anything
 
-		FP8_YYY_pmul(&z2,&(w->b),&(y->b).a);
-		FP8_YYY_add(&(w->b),&(w->a),&(w->b));
-		FP8_YYY_copy(&t1,&(y->a));
-		FP4_YYY_add(&t1.a,&t1.a,&(y->b).a);
+        FP8_YYY_neg(&t1,&t0);			  // -(xc.yc)
 
-		FP8_YYY_norm(&t1);
-		FP8_YYY_norm(&(w->b));
+        FP8_YYY_add(&(w->c),&z2,&t1);		// wc = (xb.yb) - (xa.ya) + (xa+xc)(ya+yc) - (xc.yc)	=  xb.yb + xc.ya + xa.yc
+        FP8_YYY_add(&z3,&z3,&t1);			// (xb+xc)(yb+yc) -(xb.yb) - (xc.yc)					=  xb.yc + xc.yb
+        FP8_YYY_times_i(&t0);				// i.(xc.yc)
+        FP8_YYY_add(&(w->b),&(w->b),&t0);   // wb = (xa+xb)(ya+yb) -(xa.ya) -(xb.yb) +i(xc.yc)
+        FP8_YYY_norm(&z3);
+        FP8_YYY_times_i(&z3);				// i[(xb+xc)(yb+yc) -(xb.yb) - (xc.yc)]					= i(xb.yc + xc.yb)
+        FP8_YYY_add(&(w->a),&z0,&z3);		// wa = xa.ya + i(xb.yc + xc.yb)
+    }
+    else
+    {
+        if (w->type==AMCL_AMCL_FP_SPARSER)
+        {
+            FP24_YYY_smul(w,y);
+            return;
+        }
+// dense by sparser - 13m
+#if SEXTIC_TWIST_ZZZ == D_TYPE
+        FP8_YYY_copy(&z3,&(w->b));
+        FP8_YYY_mul(&z0,&(w->a),&(y->a));
 
-		FP8_YYY_mul(&(w->b),&(w->b),&t1);
-		FP8_YYY_add(&z3,&z3,&(w->c));
-		FP8_YYY_norm(&z3);
-		FP8_YYY_pmul(&z3,&z3,&(y->b).a);
-		FP8_YYY_neg(&t0,&z0);
-		FP8_YYY_neg(&t1,&z2);
+        FP8_YYY_pmul(&z2,&(w->b),&(y->b).a);
+        FP8_YYY_add(&(w->b),&(w->a),&(w->b));
+        FP8_YYY_copy(&t1,&(y->a));
+        FP4_YYY_add(&t1.a,&t1.a,&(y->b).a);
 
-		FP8_YYY_add(&(w->b),&(w->b),&t0);   // z1=z1-z0
-		FP8_YYY_add(&(w->b),&(w->b),&t1);   // z1=z1-z2
+        FP8_YYY_norm(&t1);
+        FP8_YYY_norm(&(w->b));
 
-		FP8_YYY_add(&z3,&z3,&t1);        // z3=z3-z2
-		FP8_YYY_add(&z2,&z2,&t0);        // z2=z2-z0
+        FP8_YYY_mul(&(w->b),&(w->b),&t1);
+        FP8_YYY_add(&z3,&z3,&(w->c));
+        FP8_YYY_norm(&z3);
+        FP8_YYY_pmul(&z3,&z3,&(y->b).a);
+        FP8_YYY_neg(&t0,&z0);
+        FP8_YYY_neg(&t1,&z2);
 
-		FP8_YYY_add(&t0,&(w->a),&(w->c));
-		FP8_YYY_norm(&t0);
-		FP8_YYY_norm(&z3);
+        FP8_YYY_add(&(w->b),&(w->b),&t0);   // z1=z1-z0
+        FP8_YYY_add(&(w->b),&(w->b),&t1);   // z1=z1-z2
 
-		FP8_YYY_mul(&t0,&(y->a),&t0);
-		FP8_YYY_add(&(w->c),&z2,&t0);
+        FP8_YYY_add(&z3,&z3,&t1);        // z3=z3-z2
+        FP8_YYY_add(&z2,&z2,&t0);        // z2=z2-z0
 
-		FP8_YYY_times_i(&z3);
-		FP8_YYY_add(&(w->a),&z0,&z3);
+        FP8_YYY_add(&t0,&(w->a),&(w->c));
+        FP8_YYY_norm(&t0);
+        FP8_YYY_norm(&z3);
+
+        FP8_YYY_mul(&t0,&(y->a),&t0);
+        FP8_YYY_add(&(w->c),&z2,&t0);
+
+        FP8_YYY_times_i(&z3);
+        FP8_YYY_add(&(w->a),&z0,&z3);
 #endif
 #if SEXTIC_TWIST_ZZZ == M_TYPE
-		FP8_YYY_mul(&z0,&(w->a),&(y->a));
-		FP8_YYY_add(&t0,&(w->a),&(w->b));
-		FP8_YYY_norm(&t0);
+        FP8_YYY_mul(&z0,&(w->a),&(y->a));
+        FP8_YYY_add(&t0,&(w->a),&(w->b));
+        FP8_YYY_norm(&t0);
 
-		FP8_YYY_mul(&z1,&t0,&(y->a));
-		FP8_YYY_add(&t0,&(w->b),&(w->c));
-		FP8_YYY_norm(&t0);
+        FP8_YYY_mul(&z1,&t0,&(y->a));
+        FP8_YYY_add(&t0,&(w->b),&(w->c));
+        FP8_YYY_norm(&t0);
 
-		FP8_YYY_pmul(&z3,&t0,&(y->c).b);
-		FP8_YYY_times_i(&z3);
+        FP8_YYY_pmul(&z3,&t0,&(y->c).b);
+        FP8_YYY_times_i(&z3);
 
-		FP8_YYY_neg(&t0,&z0);
-		FP8_YYY_add(&z1,&z1,&t0);   // z1=z1-z0
+        FP8_YYY_neg(&t0,&z0);
+        FP8_YYY_add(&z1,&z1,&t0);   // z1=z1-z0
 
-		FP8_YYY_copy(&(w->b),&z1);
-		FP8_YYY_copy(&z2,&t0);
+        FP8_YYY_copy(&(w->b),&z1);
+        FP8_YYY_copy(&z2,&t0);
 
-		FP8_YYY_add(&t0,&(w->a),&(w->c));
-		FP8_YYY_add(&t1,&(y->a),&(y->c));
+        FP8_YYY_add(&t0,&(w->a),&(w->c));
+        FP8_YYY_add(&t1,&(y->a),&(y->c));
 
-		FP8_YYY_norm(&t0);
-		FP8_YYY_norm(&t1);
+        FP8_YYY_norm(&t0);
+        FP8_YYY_norm(&t1);
 
-		FP8_YYY_mul(&t0,&t1,&t0);
-		FP8_YYY_add(&z2,&z2,&t0);
+        FP8_YYY_mul(&t0,&t1,&t0);
+        FP8_YYY_add(&z2,&z2,&t0);
 
-		FP8_YYY_pmul(&t0,&(w->c),&(y->c).b);
-		FP8_YYY_times_i(&t0);
-		FP8_YYY_neg(&t1,&t0);
-		FP8_YYY_times_i(&t0);
+        FP8_YYY_pmul(&t0,&(w->c),&(y->c).b);
+        FP8_YYY_times_i(&t0);
+        FP8_YYY_neg(&t1,&t0);
+        FP8_YYY_times_i(&t0);
 
-		FP8_YYY_add(&(w->c),&z2,&t1);
-		FP8_YYY_add(&z3,&z3,&t1);
+        FP8_YYY_add(&(w->c),&z2,&t1);
+        FP8_YYY_add(&z3,&z3,&t1);
 
-		FP8_YYY_add(&(w->b),&(w->b),&t0);
-		FP8_YYY_norm(&z3);
-		FP8_YYY_times_i(&z3);
-		FP8_YYY_add(&(w->a),&z0,&z3);
+        FP8_YYY_add(&(w->b),&(w->b),&t0);
+        FP8_YYY_norm(&z3);
+        FP8_YYY_times_i(&z3);
+        FP8_YYY_add(&(w->a),&z0,&z3);
 #endif
-	}
-	w->type=FP_DENSE;
+    }
+    w->type=AMCL_FP_DENSE;
     FP24_YYY_norm(w);
 }
 
 /* FP24 multiplication w=w*y */
 /* catering for special case that arises from special form of ATE pairing line function */
-/* w and y are both sparser line functions - cost = 6m */ 
+/* w and y are both sparser line functions - cost = 6m */
 void FP24_YYY_smul(FP24_YYY *w,FP24_YYY *y)
 {
-	FP4_YYY w1,w2,w3,ta,tb,tc,td,te,t;
+    FP4_YYY w1,w2,w3,ta,tb,tc,td,te,t;
 
 
 #if SEXTIC_TWIST_ZZZ == D_TYPE
-	FP4_YYY_mul(&w1,&(w->a).a,&(y->a).a); // A1.A2
-	FP4_YYY_mul(&w2,&(w->a).b,&(y->a).b); // B1.B2
-	FP4_YYY_mul(&w3,&(w->b).a,&(y->b).a); // C1.C2
+    FP4_YYY_mul(&w1,&(w->a).a,&(y->a).a); // A1.A2
+    FP4_YYY_mul(&w2,&(w->a).b,&(y->a).b); // B1.B2
+    FP4_YYY_mul(&w3,&(w->b).a,&(y->b).a); // C1.C2
 
-	FP4_YYY_add(&ta,&(w->a).a,&(w->a).b); // A1+B1
-	FP4_YYY_add(&tb,&(y->a).a,&(y->a).b); // A2+B2
-	FP4_YYY_norm(&ta);
-	FP4_YYY_norm(&tb);
-	FP4_YYY_mul(&tc,&ta,&tb);			// (A1+B1)(A2+B2)
-	FP4_YYY_add(&t,&w1,&w2);
-	FP4_YYY_neg(&t,&t);
-	FP4_YYY_add(&tc,&tc,&t);			// (A1+B1)(A2+B2)-A1.A2-B1*B2 =  (A1.B2+A2.B1)		
-				
-	FP4_YYY_add(&ta,&(w->a).a,&(w->b).a); // A1+C1
-	FP4_YYY_add(&tb,&(y->a).a,&(y->b).a); // A2+C2
-	FP4_YYY_norm(&ta);
-	FP4_YYY_norm(&tb);
-	FP4_YYY_mul(&td,&ta,&tb);			// (A1+C1)(A2+C2)
-	FP4_YYY_add(&t,&w1,&w3);
-	FP4_YYY_neg(&t,&t);
-	FP4_YYY_add(&td,&td,&t);			// (A1+C1)(A2+C2)-A1.A2-C1*C2 =  (A1.C2+A2.C1)		
+    FP4_YYY_add(&ta,&(w->a).a,&(w->a).b); // A1+B1
+    FP4_YYY_add(&tb,&(y->a).a,&(y->a).b); // A2+B2
+    FP4_YYY_norm(&ta);
+    FP4_YYY_norm(&tb);
+    FP4_YYY_mul(&tc,&ta,&tb);			// (A1+B1)(A2+B2)
+    FP4_YYY_add(&t,&w1,&w2);
+    FP4_YYY_neg(&t,&t);
+    FP4_YYY_add(&tc,&tc,&t);			// (A1+B1)(A2+B2)-A1.A2-B1*B2 =  (A1.B2+A2.B1)
 
-	FP4_YYY_add(&ta,&(w->a).b,&(w->b).a); // B1+C1
-	FP4_YYY_add(&tb,&(y->a).b,&(y->b).a); // B2+C2
-	FP4_YYY_norm(&ta);
-	FP4_YYY_norm(&tb);
-	FP4_YYY_mul(&te,&ta,&tb);			// (B1+C1)(B2+C2)
-	FP4_YYY_add(&t,&w2,&w3);
-	FP4_YYY_neg(&t,&t);
-	FP4_YYY_add(&te,&te,&t);			// (B1+C1)(B2+C2)-B1.B2-C1*C2 =  (B1.C2+B2.C1)		
+    FP4_YYY_add(&ta,&(w->a).a,&(w->b).a); // A1+C1
+    FP4_YYY_add(&tb,&(y->a).a,&(y->b).a); // A2+C2
+    FP4_YYY_norm(&ta);
+    FP4_YYY_norm(&tb);
+    FP4_YYY_mul(&td,&ta,&tb);			// (A1+C1)(A2+C2)
+    FP4_YYY_add(&t,&w1,&w3);
+    FP4_YYY_neg(&t,&t);
+    FP4_YYY_add(&td,&td,&t);			// (A1+C1)(A2+C2)-A1.A2-C1*C2 =  (A1.C2+A2.C1)
 
-	FP4_YYY_times_i(&w2);
-	FP4_YYY_add(&w1,&w1,&w2);
-	FP8_YYY_from_FP4s(&(w->a),&w1,&tc);
-	FP8_YYY_from_FP4s(&(w->b),&td,&te); // only norm these 2
-	FP8_YYY_from_FP4(&(w->c),&w3);
+    FP4_YYY_add(&ta,&(w->a).b,&(w->b).a); // B1+C1
+    FP4_YYY_add(&tb,&(y->a).b,&(y->b).a); // B2+C2
+    FP4_YYY_norm(&ta);
+    FP4_YYY_norm(&tb);
+    FP4_YYY_mul(&te,&ta,&tb);			// (B1+C1)(B2+C2)
+    FP4_YYY_add(&t,&w2,&w3);
+    FP4_YYY_neg(&t,&t);
+    FP4_YYY_add(&te,&te,&t);			// (B1+C1)(B2+C2)-B1.B2-C1*C2 =  (B1.C2+B2.C1)
 
-	FP8_YYY_norm(&(w->a));
-	FP8_YYY_norm(&(w->b));
+    FP4_YYY_times_i(&w2);
+    FP4_YYY_add(&w1,&w1,&w2);
+    FP8_YYY_from_FP4s(&(w->a),&w1,&tc);
+    FP8_YYY_from_FP4s(&(w->b),&td,&te); // only norm these 2
+    FP8_YYY_from_FP4(&(w->c),&w3);
+
+    FP8_YYY_norm(&(w->a));
+    FP8_YYY_norm(&(w->b));
 #endif
 #if SEXTIC_TWIST_ZZZ == M_TYPE
-	FP4_YYY_mul(&w1,&(w->a).a,&(y->a).a); // A1.A2
-	FP4_YYY_mul(&w2,&(w->a).b,&(y->a).b); // B1.B2
-	FP4_YYY_mul(&w3,&(w->c).b,&(y->c).b); // F1.F2
+    FP4_YYY_mul(&w1,&(w->a).a,&(y->a).a); // A1.A2
+    FP4_YYY_mul(&w2,&(w->a).b,&(y->a).b); // B1.B2
+    FP4_YYY_mul(&w3,&(w->c).b,&(y->c).b); // F1.F2
 
-	FP4_YYY_add(&ta,&(w->a).a,&(w->a).b); // A1+B1
-	FP4_YYY_add(&tb,&(y->a).a,&(y->a).b); // A2+B2
-	FP4_YYY_norm(&ta);
-	FP4_YYY_norm(&tb);
-	FP4_YYY_mul(&tc,&ta,&tb);			// (A1+B1)(A2+B2)
-	FP4_YYY_add(&t,&w1,&w2);
-	FP4_YYY_neg(&t,&t);
-	FP4_YYY_add(&tc,&tc,&t);			// (A1+B1)(A2+B2)-A1.A2-B1*B2 =  (A1.B2+A2.B1)		
-				
-	FP4_YYY_add(&ta,&(w->a).a,&(w->c).b); // A1+F1
-	FP4_YYY_add(&tb,&(y->a).a,&(y->c).b); // A2+F2
-	FP4_YYY_norm(&ta);
-	FP4_YYY_norm(&tb);
-	FP4_YYY_mul(&td,&ta,&tb);			// (A1+F1)(A2+F2)
-	FP4_YYY_add(&t,&w1,&w3);
-	FP4_YYY_neg(&t,&t);
-	FP4_YYY_add(&td,&td,&t);			// (A1+F1)(A2+F2)-A1.A2-F1*F2 =  (A1.F2+A2.F1)		
+    FP4_YYY_add(&ta,&(w->a).a,&(w->a).b); // A1+B1
+    FP4_YYY_add(&tb,&(y->a).a,&(y->a).b); // A2+B2
+    FP4_YYY_norm(&ta);
+    FP4_YYY_norm(&tb);
+    FP4_YYY_mul(&tc,&ta,&tb);			// (A1+B1)(A2+B2)
+    FP4_YYY_add(&t,&w1,&w2);
+    FP4_YYY_neg(&t,&t);
+    FP4_YYY_add(&tc,&tc,&t);			// (A1+B1)(A2+B2)-A1.A2-B1*B2 =  (A1.B2+A2.B1)
 
-	FP4_YYY_add(&ta,&(w->a).b,&(w->c).b); // B1+F1
-	FP4_YYY_add(&tb,&(y->a).b,&(y->c).b); // B2+F2
-	FP4_YYY_norm(&ta);
-	FP4_YYY_norm(&tb);
-	FP4_YYY_mul(&te,&ta,&tb);			// (B1+F1)(B2+F2)
-	FP4_YYY_add(&t,&w2,&w3);
-	FP4_YYY_neg(&t,&t);
-	FP4_YYY_add(&te,&te,&t);			// (B1+F1)(B2+F2)-B1.B2-F1*F2 =  (B1.F2+B2.F1)	
+    FP4_YYY_add(&ta,&(w->a).a,&(w->c).b); // A1+F1
+    FP4_YYY_add(&tb,&(y->a).a,&(y->c).b); // A2+F2
+    FP4_YYY_norm(&ta);
+    FP4_YYY_norm(&tb);
+    FP4_YYY_mul(&td,&ta,&tb);			// (A1+F1)(A2+F2)
+    FP4_YYY_add(&t,&w1,&w3);
+    FP4_YYY_neg(&t,&t);
+    FP4_YYY_add(&td,&td,&t);			// (A1+F1)(A2+F2)-A1.A2-F1*F2 =  (A1.F2+A2.F1)
 
-	FP4_YYY_times_i(&w2);
-	FP4_YYY_add(&w1,&w1,&w2);
-	FP8_YYY_from_FP4s(&(w->a),&w1,&tc);
+    FP4_YYY_add(&ta,&(w->a).b,&(w->c).b); // B1+F1
+    FP4_YYY_add(&tb,&(y->a).b,&(y->c).b); // B2+F2
+    FP4_YYY_norm(&ta);
+    FP4_YYY_norm(&tb);
+    FP4_YYY_mul(&te,&ta,&tb);			// (B1+F1)(B2+F2)
+    FP4_YYY_add(&t,&w2,&w3);
+    FP4_YYY_neg(&t,&t);
+    FP4_YYY_add(&te,&te,&t);			// (B1+F1)(B2+F2)-B1.B2-F1*F2 =  (B1.F2+B2.F1)
 
-	FP4_YYY_times_i(&w3);
-	FP4_YYY_norm(&w3);
-	FP8_YYY_from_FP4H(&(w->b),&w3);
+    FP4_YYY_times_i(&w2);
+    FP4_YYY_add(&w1,&w1,&w2);
+    FP8_YYY_from_FP4s(&(w->a),&w1,&tc);
 
-	FP4_YYY_norm(&te);
-	FP4_YYY_times_i(&te);
-	FP8_YYY_from_FP4s(&(w->c),&te,&td);
+    FP4_YYY_times_i(&w3);
+    FP4_YYY_norm(&w3);
+    FP8_YYY_from_FP4H(&(w->b),&w3);
 
-	FP8_YYY_norm(&(w->a));
-	FP8_YYY_norm(&(w->c));
+    FP4_YYY_norm(&te);
+    FP4_YYY_times_i(&te);
+    FP8_YYY_from_FP4s(&(w->c),&te,&td);
+
+    FP8_YYY_norm(&(w->a));
+    FP8_YYY_norm(&(w->c));
 #endif
 
-	w->type=FP_SPARSE;
+    w->type=AMCL_FP_SPARSE;
 }
 
 /* Set w=1/x */
@@ -578,18 +580,18 @@
     FP8_YYY_mul(&f1,&(x->b),&(x->c));
     FP8_YYY_times_i(&f1);
     FP8_YYY_sub(&f0,&f0,&f1);  /* y.a */
-	FP8_YYY_norm(&f0); 		
+    FP8_YYY_norm(&f0);
 
     FP8_YYY_sqr(&f1,&(x->c));
     FP8_YYY_times_i(&f1);
     FP8_YYY_mul(&f2,&(x->a),&(x->b));
     FP8_YYY_sub(&f1,&f1,&f2);  /* y.b */
-	FP8_YYY_norm(&f1); 
+    FP8_YYY_norm(&f1);
 
     FP8_YYY_sqr(&f2,&(x->b));
     FP8_YYY_mul(&f3,&(x->a),&(x->c));
     FP8_YYY_sub(&f2,&f2,&f3);  /* y.c */
-	FP8_YYY_norm(&f2); 
+    FP8_YYY_norm(&f2);
 
     FP8_YYY_mul(&f3,&(x->b),&f2);
     FP8_YYY_times_i(&f3);
@@ -599,13 +601,13 @@
     FP8_YYY_times_i(&(w->c));
 
     FP8_YYY_add(&f3,&(w->c),&f3);
-	FP8_YYY_norm(&f3);
-	
+    FP8_YYY_norm(&f3);
+
     FP8_YYY_inv(&f3,&f3);
     FP8_YYY_mul(&(w->a),&f0,&f3);
     FP8_YYY_mul(&(w->b),&f1,&f3);
     FP8_YYY_mul(&(w->c),&f2,&f3);
-	w->type=FP_DENSE;
+    w->type=AMCL_FP_DENSE;
 }
 
 /* constant time powering by small integer of max length bts */
@@ -632,9 +634,9 @@
 void FP24_YYY_compow(FP8_YYY *c,FP24_YYY *x,BIG_XXX e,BIG_XXX r)
 {
     FP24_YYY g1,g2;
-	FP8_YYY cp,cpm1,cpm2;
+    FP8_YYY cp,cpm1,cpm2;
     FP2_YYY f;
-	BIG_XXX q,a,b,m;
+    BIG_XXX q,a,b,m;
 
     BIG_XXX_rcopy(a,Fra_YYY);
     BIG_XXX_rcopy(b,Frb_YYY);
@@ -643,7 +645,7 @@
     BIG_XXX_rcopy(q,Modulus_YYY);
 
     FP24_YYY_copy(&g1,x);
-	FP24_YYY_copy(&g2,x);
+    FP24_YYY_copy(&g2,x);
 
     BIG_XXX_copy(m,q);
     BIG_XXX_mod(m,r);
@@ -656,11 +658,11 @@
 
     FP24_YYY_trace(c,&g1);
 
-	if (BIG_XXX_iszilch(b))
-	{
-		FP8_YYY_xtr_pow(c,c,e);
-		return;
-	}
+    if (BIG_XXX_iszilch(b))
+    {
+        FP8_YYY_xtr_pow(c,c,e);
+        return;
+    }
 
     FP24_YYY_frob(&g2,&f,1);
     FP24_YYY_trace(&cp,&g2);
@@ -682,33 +684,33 @@
     FP24_YYY w,sf;
     BIG_XXX b1,b3;
     int i,nb,bt;
-	BIG_XXX_copy(b1,b);
+    BIG_XXX_copy(b1,b);
     BIG_XXX_norm(b1);
-	BIG_XXX_pmul(b3,b1,3);
-	BIG_XXX_norm(b3);
+    BIG_XXX_pmul(b3,b1,3);
+    BIG_XXX_norm(b3);
 
-	FP24_YYY_copy(&sf,a);
-	FP24_YYY_norm(&sf);
+    FP24_YYY_copy(&sf,a);
+    FP24_YYY_norm(&sf);
     FP24_YYY_copy(&w,&sf);
 
 
-	nb=BIG_XXX_nbits(b3);
-	for (i=nb-2;i>=1;i--)
-	{
-		FP24_YYY_usqr(&w,&w);
-		bt=BIG_XXX_bit(b3,i)-BIG_XXX_bit(b1,i);
-		if (bt==1)
-			FP24_YYY_mul(&w,&sf);
-		if (bt==-1)
-		{
-			FP24_YYY_conj(&sf,&sf);
-			FP24_YYY_mul(&w,&sf);
-			FP24_YYY_conj(&sf,&sf);
-		}
-	}
+    nb=BIG_XXX_nbits(b3);
+    for (i=nb-2; i>=1; i--)
+    {
+        FP24_YYY_usqr(&w,&w);
+        bt=BIG_XXX_bit(b3,i)-BIG_XXX_bit(b1,i);
+        if (bt==1)
+            FP24_YYY_mul(&w,&sf);
+        if (bt==-1)
+        {
+            FP24_YYY_conj(&sf,&sf);
+            FP24_YYY_mul(&w,&sf);
+            FP24_YYY_conj(&sf,&sf);
+        }
+    }
 
-	FP24_YYY_copy(r,&w);
-	FP24_YYY_reduce(r);
+    FP24_YYY_copy(r,&w);
+    FP24_YYY_reduce(r);
 }
 
 /* p=q0^u0.q1^u1.q2^u2.q3^u3... */
@@ -719,14 +721,14 @@
 void FP24_YYY_pow8(FP24_YYY *p,FP24_YYY *q,BIG_XXX u[8])
 {
     int i,j,k,nb,pb1,pb2,bt;
-	FP24_YYY g1[8],g2[8],r;
-	BIG_XXX t[8],mt;
+    FP24_YYY g1[8],g2[8],r;
+    BIG_XXX t[8],mt;
     sign8 w1[NLEN_XXX*BASEBITS_XXX+1];
     sign8 s1[NLEN_XXX*BASEBITS_XXX+1];
     sign8 w2[NLEN_XXX*BASEBITS_XXX+1];
     sign8 s2[NLEN_XXX*BASEBITS_XXX+1];
     FP_YYY fx,fy;
-	FP2_YYY X;
+    FP2_YYY X;
 
     FP_YYY_rcopy(&fx,Fra_YYY);
     FP_YYY_rcopy(&fy,Frb_YYY);
@@ -738,36 +740,36 @@
 // Precomputed table
     FP24_YYY_copy(&g1[0],&q[0]); // q[0]
     FP24_YYY_copy(&g1[1],&g1[0]);
-	FP24_YYY_mul(&g1[1],&q[1]);	// q[0].q[1]
+    FP24_YYY_mul(&g1[1],&q[1]);	// q[0].q[1]
     FP24_YYY_copy(&g1[2],&g1[0]);
-	FP24_YYY_mul(&g1[2],&q[2]);	// q[0].q[2]
-	FP24_YYY_copy(&g1[3],&g1[1]);
-	FP24_YYY_mul(&g1[3],&q[2]);	// q[0].q[1].q[2]
-	FP24_YYY_copy(&g1[4],&g1[0]);
-	FP24_YYY_mul(&g1[4],&q[3]);  // q[0].q[3]
-	FP24_YYY_copy(&g1[5],&g1[1]);
-	FP24_YYY_mul(&g1[5],&q[3]);	// q[0].q[1].q[3]
-	FP24_YYY_copy(&g1[6],&g1[2]);
-	FP24_YYY_mul(&g1[6],&q[3]);	// q[0].q[2].q[3]
-	FP24_YYY_copy(&g1[7],&g1[3]);
-	FP24_YYY_mul(&g1[7],&q[3]);	// q[0].q[1].q[2].q[3]
+    FP24_YYY_mul(&g1[2],&q[2]);	// q[0].q[2]
+    FP24_YYY_copy(&g1[3],&g1[1]);
+    FP24_YYY_mul(&g1[3],&q[2]);	// q[0].q[1].q[2]
+    FP24_YYY_copy(&g1[4],&g1[0]);
+    FP24_YYY_mul(&g1[4],&q[3]);  // q[0].q[3]
+    FP24_YYY_copy(&g1[5],&g1[1]);
+    FP24_YYY_mul(&g1[5],&q[3]);	// q[0].q[1].q[3]
+    FP24_YYY_copy(&g1[6],&g1[2]);
+    FP24_YYY_mul(&g1[6],&q[3]);	// q[0].q[2].q[3]
+    FP24_YYY_copy(&g1[7],&g1[3]);
+    FP24_YYY_mul(&g1[7],&q[3]);	// q[0].q[1].q[2].q[3]
 
 // Use Frobenius
 
-	for (i=0;i<8;i++)
-	{
-		FP24_YYY_copy(&g2[i],&g1[i]);
-		FP24_YYY_frob(&g2[i],&X,4);
-	}
+    for (i=0; i<8; i++)
+    {
+        FP24_YYY_copy(&g2[i],&g1[i]);
+        FP24_YYY_frob(&g2[i],&X,4);
+    }
 
 // Make it odd
-	pb1=1-BIG_XXX_parity(t[0]);
-	BIG_XXX_inc(t[0],pb1);
-	BIG_XXX_norm(t[0]);
+    pb1=1-BIG_XXX_parity(t[0]);
+    BIG_XXX_inc(t[0],pb1);
+    BIG_XXX_norm(t[0]);
 
-	pb2=1-BIG_XXX_parity(t[4]);
-	BIG_XXX_inc(t[4],pb2);
-	BIG_XXX_norm(t[4]);
+    pb2=1-BIG_XXX_parity(t[4]);
+    BIG_XXX_inc(t[4],pb2);
+    BIG_XXX_norm(t[4]);
 
 // Number of bits
     BIG_XXX_zero(mt);
@@ -777,54 +779,54 @@
     }
     nb=1+BIG_XXX_nbits(mt);
 
-// Sign pivot 
-	s1[nb-1]=1;
-	s2[nb-1]=1;
-	for (i=0;i<nb-1;i++)
-	{
+// Sign pivot
+    s1[nb-1]=1;
+    s2[nb-1]=1;
+    for (i=0; i<nb-1; i++)
+    {
         BIG_XXX_fshr(t[0],1);
-		s1[i]=2*BIG_XXX_parity(t[0])-1;
+        s1[i]=2*BIG_XXX_parity(t[0])-1;
         BIG_XXX_fshr(t[4],1);
-		s2[i]=2*BIG_XXX_parity(t[4])-1;
-	}
+        s2[i]=2*BIG_XXX_parity(t[4])-1;
+    }
 
 // Recoded exponents
     for (i=0; i<nb; i++)
     {
-		w1[i]=0;
-		k=1;
-		for (j=1; j<4; j++)
-		{
-			bt=s1[i]*BIG_XXX_parity(t[j]);
-			BIG_XXX_fshr(t[j],1);
+        w1[i]=0;
+        k=1;
+        for (j=1; j<4; j++)
+        {
+            bt=s1[i]*BIG_XXX_parity(t[j]);
+            BIG_XXX_fshr(t[j],1);
 
-			BIG_XXX_dec(t[j],(bt>>1));
-			BIG_XXX_norm(t[j]);
-			w1[i]+=bt*k;
-			k*=2;
+            BIG_XXX_dec(t[j],(bt>>1));
+            BIG_XXX_norm(t[j]);
+            w1[i]+=bt*k;
+            k*=2;
         }
 
-		w2[i]=0;
-		k=1;
-		for (j=5; j<8; j++)
-		{
-			bt=s2[i]*BIG_XXX_parity(t[j]);
-			BIG_XXX_fshr(t[j],1);
+        w2[i]=0;
+        k=1;
+        for (j=5; j<8; j++)
+        {
+            bt=s2[i]*BIG_XXX_parity(t[j]);
+            BIG_XXX_fshr(t[j],1);
 
-			BIG_XXX_dec(t[j],(bt>>1));
-			BIG_XXX_norm(t[j]);
-			w2[i]+=bt*k;
-			k*=2;
+            BIG_XXX_dec(t[j],(bt>>1));
+            BIG_XXX_norm(t[j]);
+            w2[i]+=bt*k;
+            k*=2;
         }
-    }	
+    }
 
 // Main loop
-	FP24_YYY_select(p,g1,2*w1[nb-1]+1);
-	FP24_YYY_select(&r,g2,2*w2[nb-1]+1);
-	FP24_YYY_mul(p,&r);
+    FP24_YYY_select(p,g1,2*w1[nb-1]+1);
+    FP24_YYY_select(&r,g2,2*w2[nb-1]+1);
+    FP24_YYY_mul(p,&r);
     for (i=nb-2; i>=0; i--)
     {
-		FP24_YYY_usqr(p,p);
+        FP24_YYY_usqr(p,p);
         FP24_YYY_select(&r,g1,2*w1[i]+s1[i]);
         FP24_YYY_mul(p,&r);
         FP24_YYY_select(&r,g2,2*w2[i]+s2[i]);
@@ -832,39 +834,41 @@
     }
 
 // apply correction
-	FP24_YYY_conj(&r,&q[0]);   
-	FP24_YYY_mul(&r,p);
-	FP24_YYY_cmove(p,&r,pb1);
-	FP24_YYY_conj(&r,&q[4]);   
-	FP24_YYY_mul(&r,p);
-	FP24_YYY_cmove(p,&r,pb2);
+    FP24_YYY_conj(&r,&q[0]);
+    FP24_YYY_mul(&r,p);
+    FP24_YYY_cmove(p,&r,pb1);
+    FP24_YYY_conj(&r,&q[4]);
+    FP24_YYY_mul(&r,p);
+    FP24_YYY_cmove(p,&r,pb2);
 
-	FP24_YYY_reduce(p);
+    FP24_YYY_reduce(p);
 }
 
 /* Set w=w^p using Frobenius */
 /* SU= 160 */
 void FP24_YYY_frob(FP24_YYY *w,FP2_YYY *f,int n)
 {
-	int i;
-	FP4_YYY X2,X4;
+    int i;
     FP2_YYY f3,f2;				// f=(1+i)^(p-7)/12
-    FP2_YYY_sqr(&f2,f);     // 
+    FP2_YYY_sqr(&f2,f);     //
     FP2_YYY_mul(&f3,&f2,f); // f3=f^3=(1+i)^(p-7)/4
 
-	FP2_YYY_mul_ip(&f3);    // f3 = (1+i).f3 = (1+i)^(p-3)/4 
-	FP2_YYY_norm(&f3);
+    FP2_YYY_mul_ip(&f3);    // f3 = (1+i).f3 = (1+i)^(p-3)/4
+    FP2_YYY_norm(&f3);
 
-	for (i=0;i<n;i++)
-	{
-		FP8_YYY_frob(&(w->a),&f3);   // a=a^p
-		FP8_YYY_frob(&(w->b),&f3);   // b=b^p
-		FP8_YYY_frob(&(w->c),&f3);   // c=c^p
-  
-		FP8_YYY_qmul(&(w->b),&(w->b),f); FP8_YYY_times_i2(&(w->b));
-		FP8_YYY_qmul(&(w->c),&(w->c),&f2); FP8_YYY_times_i2(&(w->c)); FP8_YYY_times_i2(&(w->c));
-	}
-	w->type=FP_DENSE;
+    for (i=0; i<n; i++)
+    {
+        FP8_YYY_frob(&(w->a),&f3);   // a=a^p
+        FP8_YYY_frob(&(w->b),&f3);   // b=b^p
+        FP8_YYY_frob(&(w->c),&f3);   // c=c^p
+
+        FP8_YYY_qmul(&(w->b),&(w->b),f);
+        FP8_YYY_times_i2(&(w->b));
+        FP8_YYY_qmul(&(w->c),&(w->c),&f2);
+        FP8_YYY_times_i2(&(w->c));
+        FP8_YYY_times_i2(&(w->c));
+    }
+    w->type=AMCL_FP_DENSE;
 }
 
 /* SU= 8 */
@@ -969,7 +973,7 @@
 /* Restore g from octet string w */
 void FP24_YYY_fromOctet(FP24_YYY *g,octet *W)
 {
-	BIG_XXX b;
+    BIG_XXX b;
 
     BIG_XXX_fromBytes(b,&W->val[0]);
     FP_YYY_nres(&(g->a.a.a.a),b);
@@ -1029,7 +1033,7 @@
     FP8_YYY_cmove(&(f->a),&(g->a),d);
     FP8_YYY_cmove(&(f->b),&(g->b),d);
     FP8_YYY_cmove(&(f->c),&(g->c),d);
-	d=~(d-1);
-	f->type^=(f->type^g->type)&d;
+    d=~(d-1);
+    f->type^=(f->type^g->type)&d;
 }
 
diff --git a/version3/c/fp24.h b/version3/c/fp24.h
index 12b0209..3a9fbd3 100644
--- a/version3/c/fp24.h
+++ b/version3/c/fp24.h
@@ -12,7 +12,7 @@
     FP8_YYY a; /**< first part of FP12 */
     FP8_YYY b; /**< second part of FP12 */
     FP8_YYY c; /**< third part of FP12 */
-	int type;
+    int type;
 } FP24_YYY;
 
 extern const BIG_XXX Fra_YYY; /**< real part of BN curve Frobenius Constant */
@@ -134,7 +134,7 @@
  */
 extern void FP24_YYY_pinpow(FP24_YYY *x,int i,int b);
 
-/**	@brief Raises an FP24 instance x to a BIG power, compressed to FP8 
+/**	@brief Raises an FP24 instance x to a BIG power, compressed to FP8
  *
 	@param c FP8 instance, on exit = x^(e mod r) as FP8
 	@param x FP24 input
diff --git a/version3/c/fp4.c b/version3/c/fp4.c
index 7b05c9e..c1c54f0 100644
--- a/version3/c/fp4.c
+++ b/version3/c/fp4.c
@@ -110,7 +110,7 @@
 {
     /* Just one field neg */
     FP2_YYY m,t;
-	FP4_YYY_norm(x);
+    FP4_YYY_norm(x);
     FP2_YYY_add(&m,&(x->a),&(x->b));
     FP2_YYY_neg(&m,&m);
     FP2_YYY_add(&t,&m,&(x->b));
@@ -334,7 +334,7 @@
     BIG_XXX_copy(z,b);
     BIG_XXX_norm(z);
     FP4_YYY_copy(&w,a);
-	FP4_YYY_norm(&w);
+    FP4_YYY_norm(&w);
     FP4_YYY_one(r);
 
     while(1)
@@ -397,14 +397,14 @@
     FP2_YYY_from_BIG(&w,v);
     FP4_YYY_from_FP2(&a,&w);
 
-	FP4_YYY_copy(&sf,x);
-	FP4_YYY_norm(&sf);
+    FP4_YYY_copy(&sf,x);
+    FP4_YYY_norm(&sf);
     FP4_YYY_copy(&b,&sf);
     FP4_YYY_xtr_D(&c,&sf);
 
     par=BIG_XXX_parity(n);
     BIG_XXX_copy(v,n);
-	BIG_XXX_norm(v);
+    BIG_XXX_norm(v);
     BIG_XXX_shr(v,1);
     if (par==0)
     {
@@ -600,7 +600,7 @@
     FP4_YYY_copy(r,x);
     if (FP4_YYY_iszilch(x))
         return 1;
-    
+
     FP2_YYY_copy(&a,&(x->a));
     FP2_YYY_copy(&s,&(x->b));
 
@@ -662,14 +662,14 @@
 
 void FP4_YYY_div_2i(FP4_YYY *f)
 {
-	FP2_YYY u,v;
-	FP2_YYY_copy(&u,&(f->a));
-	FP2_YYY_copy(&v,&(f->b));
-	FP2_YYY_div_ip2(&u);
-	FP2_YYY_add(&v,&v,&v);
-	FP2_YYY_norm(&v);
-	FP2_YYY_copy(&(f->a),&v);
-	FP2_YYY_copy(&(f->b),&u);
+    FP2_YYY u,v;
+    FP2_YYY_copy(&u,&(f->a));
+    FP2_YYY_copy(&v,&(f->b));
+    FP2_YYY_div_ip2(&u);
+    FP2_YYY_add(&v,&v,&v);
+    FP2_YYY_norm(&v);
+    FP2_YYY_copy(&(f->a),&v);
+    FP2_YYY_copy(&(f->b),&u);
 }
 
 #endif
diff --git a/version3/c/fp4.h b/version3/c/fp4.h
index 451ab4a..4c6dda9 100644
--- a/version3/c/fp4.h
+++ b/version3/c/fp4.h
@@ -18,7 +18,7 @@
 */
 
 /**
- * @file fp4.h
+ * @file fp4_YYY.h
  * @author Mike Scott
  * @brief FP4 Header File
  *
diff --git a/version3/c/fp48.c b/version3/c/fp48.c
index e99257c..8083bf5 100644
--- a/version3/c/fp48.c
+++ b/version3/c/fp48.c
@@ -80,7 +80,7 @@
     FP16_YYY_copy(&(w->a),&(x->a));
     FP16_YYY_copy(&(w->b),&(x->b));
     FP16_YYY_copy(&(w->c),&(x->c));
-	w->type=x->type;
+    w->type=x->type;
 }
 
 /* FP48 w=1 */
@@ -90,7 +90,7 @@
     FP16_YYY_one(&(w->a));
     FP16_YYY_zero(&(w->b));
     FP16_YYY_zero(&(w->c));
-	w->type=FP_UNITY;
+    w->type=AMCL_FP_UNITY;
 }
 
 void FP48_YYY_zero(FP48_YYY *w)
@@ -98,7 +98,7 @@
     FP16_YYY_zero(&(w->a));
     FP16_YYY_zero(&(w->b));
     FP16_YYY_zero(&(w->c));
-	w->type=FP_ZERO;
+    w->type=AMCL_FP_ZERO;
 }
 
 /* return 1 if x==y, else 0 */
@@ -127,7 +127,7 @@
     FP16_YYY_copy(&(w->a),a);
     FP16_YYY_zero(&(w->b));
     FP16_YYY_zero(&(w->c));
-	w->type=FP_SPARSER;
+    w->type=AMCL_AMCL_FP_SPARSER;
 }
 
 /* Create FP48 from 3 FP16's */
@@ -137,7 +137,7 @@
     FP16_YYY_copy(&(w->a),a);
     FP16_YYY_copy(&(w->b),b);
     FP16_YYY_copy(&(w->c),c);
-	w->type=FP_DENSE;
+    w->type=AMCL_FP_DENSE;
 }
 
 /* Granger-Scott Unitary Squaring. This does not benefit from lazy reduction */
@@ -177,7 +177,7 @@
     FP16_YYY_add(&(w->c),&(w->c),&(w->c));
     FP16_YYY_add(&(w->b),&B,&(w->b));
     FP16_YYY_add(&(w->c),&C,&(w->c));
-	w->type=FP_DENSE;
+    w->type=AMCL_FP_DENSE;
     FP48_YYY_reduce(w);	    /* reduce here as in pow function repeated squarings would trigger multiple reductions */
 }
 
@@ -189,16 +189,16 @@
 
     FP16_YYY A,B,C,D;
 
-	if (x->type<=FP_UNITY)
-	{
-		FP48_YYY_copy(w,x);
-		return;
-	}
+    if (x->type<=AMCL_FP_UNITY)
+    {
+        FP48_YYY_copy(w,x);
+        return;
+    }
 
     FP16_YYY_sqr(&A,&(x->a));
     FP16_YYY_mul(&B,&(x->b),&(x->c));
     FP16_YYY_add(&B,&B,&B);
-	FP16_YYY_norm(&B);
+    FP16_YYY_norm(&B);
     FP16_YYY_sqr(&C,&(x->c));
 
     FP16_YYY_mul(&D,&(x->a),&(x->b));
@@ -206,7 +206,7 @@
 
     FP16_YYY_add(&(w->c),&(x->a),&(x->c));
     FP16_YYY_add(&(w->c),&(x->b),&(w->c));
-	FP16_YYY_norm(&(w->c));	
+    FP16_YYY_norm(&(w->c));
 
     FP16_YYY_sqr(&(w->c),&(w->c));
 
@@ -228,10 +228,10 @@
     FP16_YYY_add(&(w->b),&C,&D);
     FP16_YYY_add(&(w->c),&(w->c),&A);
 
-	if (x->type==FP_SPARSER)
-		w->type=FP_SPARSE;
-	else
-		w->type=FP_DENSE;
+    if (x->type==AMCL_AMCL_FP_SPARSER)
+        w->type=AMCL_FP_SPARSE;
+    else
+        w->type=AMCL_FP_DENSE;
 
     FP48_YYY_norm(w);
 }
@@ -251,15 +251,15 @@
     FP16_YYY_add(&t0,&(w->a),&(w->b));
     FP16_YYY_add(&t1,&(y->a),&(y->b));  //
 
-	FP16_YYY_norm(&t0);
-	FP16_YYY_norm(&t1);
+    FP16_YYY_norm(&t0);
+    FP16_YYY_norm(&t1);
 
     FP16_YYY_mul(&z1,&t0,&t1);
     FP16_YYY_add(&t0,&(w->b),&(w->c));
     FP16_YYY_add(&t1,&(y->b),&(y->c));  //
 
-	FP16_YYY_norm(&t0);
-	FP16_YYY_norm(&t1);
+    FP16_YYY_norm(&t0);
+    FP16_YYY_norm(&t1);
 
     FP16_YYY_mul(&z3,&t0,&t1);
 
@@ -274,8 +274,8 @@
     FP16_YYY_add(&t0,&(w->a),&(w->c));
     FP16_YYY_add(&t1,&(y->a),&(y->c));
 
-	FP16_YYY_norm(&t0);
-	FP16_YYY_norm(&t1);
+    FP16_YYY_norm(&t0);
+    FP16_YYY_norm(&t1);
 
     FP16_YYY_mul(&t0,&t1,&t0);
     FP16_YYY_add(&z2,&z2,&t0);
@@ -287,10 +287,10 @@
     FP16_YYY_add(&z3,&z3,&t1);
     FP16_YYY_times_i(&t0);
     FP16_YYY_add(&(w->b),&(w->b),&t0);
-	FP16_YYY_norm(&z3);
+    FP16_YYY_norm(&z3);
     FP16_YYY_times_i(&z3);
     FP16_YYY_add(&(w->a),&z0,&z3);
-	w->type=FP_DENSE;
+    w->type=AMCL_FP_DENSE;
     FP48_YYY_norm(w);
 }
 
@@ -299,274 +299,276 @@
 /* Usually w is denser than y */
 void FP48_YYY_ssmul(FP48_YYY *w,FP48_YYY *y)
 {
-	FP16_YYY z0,z1,z2,z3,t0,t1;
-	if (w->type==FP_UNITY)
-	{
-		FP48_YYY_copy(w,y);
-		return;
-	}
-	if (y->type==FP_UNITY)
-		return;
+    FP16_YYY z0,z1,z2,z3,t0,t1;
+    if (w->type==AMCL_FP_UNITY)
+    {
+        FP48_YYY_copy(w,y);
+        return;
+    }
+    if (y->type==AMCL_FP_UNITY)
+        return;
 
-	if (y->type >= FP_SPARSE)
-	{
-		FP16_YYY_mul(&z0,&(w->a),&(y->a));  // xa.ya   always 11x11
+    if (y->type >= AMCL_FP_SPARSE)
+    {
+        FP16_YYY_mul(&z0,&(w->a),&(y->a));  // xa.ya   always 11x11
 
 #if SEXTIC_TWIST_ZZZ == M_TYPE
-		if (y->type==FP_SPARSE || w->type==FP_SPARSE)
-		{
-			FP8_YYY_mul(&z2.b,&(w->b).b,&(y->b).b);
-			FP8_YYY_zero(&z2.a);
-			if (y->type!=FP_SPARSE)
-				FP8_YYY_mul(&z2.a,&(w->b).b,&(y->b).a);
-			if (w->type!=FP_SPARSE)
-				FP8_YYY_mul(&z2.a,&(w->b).a,&(y->b).b);
-			FP16_YYY_times_i(&z2);
-		}
-		else
-#endif 
-			FP16_YYY_mul(&z2,&(w->b),&(y->b));  // xb.yb  could be 00x00 or 01x01 or or 10x10 or 11x00 or 11x10 or 11x01 or 11x11 
-
-		FP16_YYY_add(&t0,&(w->a),&(w->b));  // (xa+xb)
-		FP16_YYY_add(&t1,&(y->a),&(y->b));  // (ya+yb)
-
-		FP16_YYY_norm(&t0);
-		FP16_YYY_norm(&t1);
-
-		FP16_YYY_mul(&z1,&t0,&t1); // (xa+xb)(ya+yb)  always 11x11
-		FP16_YYY_add(&t0,&(w->b),&(w->c));  // (xb+xc)
-		FP16_YYY_add(&t1,&(y->b),&(y->c));  // (yb+yc)
-
-		FP16_YYY_norm(&t0);
-		FP16_YYY_norm(&t1);
-
-		FP16_YYY_mul(&z3,&t0,&t1);	// (xb+xc)(yb+yc)   could be anything...
-		FP16_YYY_neg(&t0,&z0);		// -(xa.ya)
-		FP16_YYY_neg(&t1,&z2);		// -(xb.yb)
-
-		FP16_YYY_add(&z1,&z1,&t0);  
-		FP16_YYY_add(&(w->b),&z1,&t1); // /wb = (xa+xb)(ya+yb) -(xa.ya) -(xb.yb)						= xa.yb + xb.ya
-
-		FP16_YYY_add(&z3,&z3,&t1);        // (xb+xc)(yb+yc) -(xb.yb)
-		FP16_YYY_add(&z2,&z2,&t0);        // (xb.yb) - (xa.ya)
-
-		FP16_YYY_add(&t0,&(w->a),&(w->c));  // (xa+xc)
-		FP16_YYY_add(&t1,&(y->a),&(y->c));  // (ya+yc)
-
-		FP16_YYY_norm(&t0);
-		FP16_YYY_norm(&t1);
-
-		FP16_YYY_mul(&t0,&t1,&t0);	// (xa+xc)(ya+yc)    always 11x11
-		FP16_YYY_add(&z2,&z2,&t0);	// (xb.yb) - (xa.ya) + (xa+xc)(ya+yc)
-
-#if SEXTIC_TWIST_ZZZ == D_TYPE
-		if (y->type==FP_SPARSE || w->type==FP_SPARSE)
-		{
-			FP8_YYY_mul(&t0.a,&(w->c).a,&(y->c).a);
-			FP8_YYY_zero(&t0.b);
-			if (y->type!=FP_SPARSE)
-				FP8_YYY_mul(&t0.b,&(w->c).a,&(y->c).b);
-			if (w->type!=FP_SPARSE)
-				FP8_YYY_mul(&t0.b,&(w->c).b,&(y->c).a);
-		}
-		else
+        if (y->type==AMCL_FP_SPARSE || w->type==AMCL_FP_SPARSE)
+        {
+            FP8_YYY_mul(&z2.b,&(w->b).b,&(y->b).b);
+            FP8_YYY_zero(&z2.a);
+            if (y->type!=AMCL_FP_SPARSE)
+                FP8_YYY_mul(&z2.a,&(w->b).b,&(y->b).a);
+            if (w->type!=AMCL_FP_SPARSE)
+                FP8_YYY_mul(&z2.a,&(w->b).a,&(y->b).b);
+            FP16_YYY_times_i(&z2);
+        }
+        else
 #endif
-			FP16_YYY_mul(&t0,&(w->c),&(y->c)); // (xc.yc)  could be anything
-			
-		FP16_YYY_neg(&t1,&t0);			  // -(xc.yc) 
+            FP16_YYY_mul(&z2,&(w->b),&(y->b));  // xb.yb  could be 00x00 or 01x01 or or 10x10 or 11x00 or 11x10 or 11x01 or 11x11
 
-		FP16_YYY_add(&(w->c),&z2,&t1);		// wc = (xb.yb) - (xa.ya) + (xa+xc)(ya+yc) - (xc.yc)	=  xb.yb + xc.ya + xa.yc
-		FP16_YYY_add(&z3,&z3,&t1);			// (xb+xc)(yb+yc) -(xb.yb) - (xc.yc)					=  xb.yc + xc.yb
-		FP16_YYY_times_i(&t0);				// i.(xc.yc)
-		FP16_YYY_add(&(w->b),&(w->b),&t0);   // wb = (xa+xb)(ya+yb) -(xa.ya) -(xb.yb) +i(xc.yc)
-		FP16_YYY_norm(&z3);
-		FP16_YYY_times_i(&z3);				// i[(xb+xc)(yb+yc) -(xb.yb) - (xc.yc)]					= i(xb.yc + xc.yb)
-		FP16_YYY_add(&(w->a),&z0,&z3);		// wa = xa.ya + i(xb.yc + xc.yb)
-	} else {
-		if (w->type==FP_SPARSER)
-		{
-			FP48_YYY_smul(w,y);
-			return;
-		}
-// dense by sparser - 13m 
+        FP16_YYY_add(&t0,&(w->a),&(w->b));  // (xa+xb)
+        FP16_YYY_add(&t1,&(y->a),&(y->b));  // (ya+yb)
+
+        FP16_YYY_norm(&t0);
+        FP16_YYY_norm(&t1);
+
+        FP16_YYY_mul(&z1,&t0,&t1); // (xa+xb)(ya+yb)  always 11x11
+        FP16_YYY_add(&t0,&(w->b),&(w->c));  // (xb+xc)
+        FP16_YYY_add(&t1,&(y->b),&(y->c));  // (yb+yc)
+
+        FP16_YYY_norm(&t0);
+        FP16_YYY_norm(&t1);
+
+        FP16_YYY_mul(&z3,&t0,&t1);	// (xb+xc)(yb+yc)   could be anything...
+        FP16_YYY_neg(&t0,&z0);		// -(xa.ya)
+        FP16_YYY_neg(&t1,&z2);		// -(xb.yb)
+
+        FP16_YYY_add(&z1,&z1,&t0);
+        FP16_YYY_add(&(w->b),&z1,&t1); // /wb = (xa+xb)(ya+yb) -(xa.ya) -(xb.yb)						= xa.yb + xb.ya
+
+        FP16_YYY_add(&z3,&z3,&t1);        // (xb+xc)(yb+yc) -(xb.yb)
+        FP16_YYY_add(&z2,&z2,&t0);        // (xb.yb) - (xa.ya)
+
+        FP16_YYY_add(&t0,&(w->a),&(w->c));  // (xa+xc)
+        FP16_YYY_add(&t1,&(y->a),&(y->c));  // (ya+yc)
+
+        FP16_YYY_norm(&t0);
+        FP16_YYY_norm(&t1);
+
+        FP16_YYY_mul(&t0,&t1,&t0);	// (xa+xc)(ya+yc)    always 11x11
+        FP16_YYY_add(&z2,&z2,&t0);	// (xb.yb) - (xa.ya) + (xa+xc)(ya+yc)
+
 #if SEXTIC_TWIST_ZZZ == D_TYPE
-		FP16_YYY_copy(&z3,&(w->b));
-		FP16_YYY_mul(&z0,&(w->a),&(y->a));
+        if (y->type==AMCL_FP_SPARSE || w->type==AMCL_FP_SPARSE)
+        {
+            FP8_YYY_mul(&t0.a,&(w->c).a,&(y->c).a);
+            FP8_YYY_zero(&t0.b);
+            if (y->type!=AMCL_FP_SPARSE)
+                FP8_YYY_mul(&t0.b,&(w->c).a,&(y->c).b);
+            if (w->type!=AMCL_FP_SPARSE)
+                FP8_YYY_mul(&t0.b,&(w->c).b,&(y->c).a);
+        }
+        else
+#endif
+            FP16_YYY_mul(&t0,&(w->c),&(y->c)); // (xc.yc)  could be anything
 
-		FP16_YYY_pmul(&z2,&(w->b),&(y->b).a);
-		FP16_YYY_add(&(w->b),&(w->a),&(w->b));
-		FP16_YYY_copy(&t1,&(y->a));
-		FP8_YYY_add(&t1.a,&t1.a,&(y->b).a);
+        FP16_YYY_neg(&t1,&t0);			  // -(xc.yc)
 
-		FP16_YYY_norm(&t1);
-		FP16_YYY_norm(&(w->b));
+        FP16_YYY_add(&(w->c),&z2,&t1);		// wc = (xb.yb) - (xa.ya) + (xa+xc)(ya+yc) - (xc.yc)	=  xb.yb + xc.ya + xa.yc
+        FP16_YYY_add(&z3,&z3,&t1);			// (xb+xc)(yb+yc) -(xb.yb) - (xc.yc)					=  xb.yc + xc.yb
+        FP16_YYY_times_i(&t0);				// i.(xc.yc)
+        FP16_YYY_add(&(w->b),&(w->b),&t0);   // wb = (xa+xb)(ya+yb) -(xa.ya) -(xb.yb) +i(xc.yc)
+        FP16_YYY_norm(&z3);
+        FP16_YYY_times_i(&z3);				// i[(xb+xc)(yb+yc) -(xb.yb) - (xc.yc)]					= i(xb.yc + xc.yb)
+        FP16_YYY_add(&(w->a),&z0,&z3);		// wa = xa.ya + i(xb.yc + xc.yb)
+    }
+    else
+    {
+        if (w->type==AMCL_AMCL_FP_SPARSER)
+        {
+            FP48_YYY_smul(w,y);
+            return;
+        }
+// dense by sparser - 13m
+#if SEXTIC_TWIST_ZZZ == D_TYPE
+        FP16_YYY_copy(&z3,&(w->b));
+        FP16_YYY_mul(&z0,&(w->a),&(y->a));
 
-		FP16_YYY_mul(&(w->b),&(w->b),&t1);
-		FP16_YYY_add(&z3,&z3,&(w->c));
-		FP16_YYY_norm(&z3);
-		FP16_YYY_pmul(&z3,&z3,&(y->b).a);
-		FP16_YYY_neg(&t0,&z0);
-		FP16_YYY_neg(&t1,&z2);
+        FP16_YYY_pmul(&z2,&(w->b),&(y->b).a);
+        FP16_YYY_add(&(w->b),&(w->a),&(w->b));
+        FP16_YYY_copy(&t1,&(y->a));
+        FP8_YYY_add(&t1.a,&t1.a,&(y->b).a);
 
-		FP16_YYY_add(&(w->b),&(w->b),&t0);   // z1=z1-z0
-		FP16_YYY_add(&(w->b),&(w->b),&t1);   // z1=z1-z2
+        FP16_YYY_norm(&t1);
+        FP16_YYY_norm(&(w->b));
 
-		FP16_YYY_add(&z3,&z3,&t1);        // z3=z3-z2
-		FP16_YYY_add(&z2,&z2,&t0);        // z2=z2-z0
+        FP16_YYY_mul(&(w->b),&(w->b),&t1);
+        FP16_YYY_add(&z3,&z3,&(w->c));
+        FP16_YYY_norm(&z3);
+        FP16_YYY_pmul(&z3,&z3,&(y->b).a);
+        FP16_YYY_neg(&t0,&z0);
+        FP16_YYY_neg(&t1,&z2);
 
-		FP16_YYY_add(&t0,&(w->a),&(w->c));
-		FP16_YYY_norm(&t0);
-		FP16_YYY_norm(&z3);
+        FP16_YYY_add(&(w->b),&(w->b),&t0);   // z1=z1-z0
+        FP16_YYY_add(&(w->b),&(w->b),&t1);   // z1=z1-z2
 
-		FP16_YYY_mul(&t0,&(y->a),&t0);
-		FP16_YYY_add(&(w->c),&z2,&t0);
+        FP16_YYY_add(&z3,&z3,&t1);        // z3=z3-z2
+        FP16_YYY_add(&z2,&z2,&t0);        // z2=z2-z0
 
-		FP16_YYY_times_i(&z3);
-		FP16_YYY_add(&(w->a),&z0,&z3);
+        FP16_YYY_add(&t0,&(w->a),&(w->c));
+        FP16_YYY_norm(&t0);
+        FP16_YYY_norm(&z3);
+
+        FP16_YYY_mul(&t0,&(y->a),&t0);
+        FP16_YYY_add(&(w->c),&z2,&t0);
+
+        FP16_YYY_times_i(&z3);
+        FP16_YYY_add(&(w->a),&z0,&z3);
 #endif
 #if SEXTIC_TWIST_ZZZ == M_TYPE
-		FP16_YYY_mul(&z0,&(w->a),&(y->a));
-		FP16_YYY_add(&t0,&(w->a),&(w->b));
-		FP16_YYY_norm(&t0);
+        FP16_YYY_mul(&z0,&(w->a),&(y->a));
+        FP16_YYY_add(&t0,&(w->a),&(w->b));
+        FP16_YYY_norm(&t0);
 
-		FP16_YYY_mul(&z1,&t0,&(y->a));
-		FP16_YYY_add(&t0,&(w->b),&(w->c));
-		FP16_YYY_norm(&t0);
+        FP16_YYY_mul(&z1,&t0,&(y->a));
+        FP16_YYY_add(&t0,&(w->b),&(w->c));
+        FP16_YYY_norm(&t0);
 
-		FP16_YYY_pmul(&z3,&t0,&(y->c).b);
-		FP16_YYY_times_i(&z3);
+        FP16_YYY_pmul(&z3,&t0,&(y->c).b);
+        FP16_YYY_times_i(&z3);
 
-		FP16_YYY_neg(&t0,&z0);
-		FP16_YYY_add(&z1,&z1,&t0);   // z1=z1-z0
+        FP16_YYY_neg(&t0,&z0);
+        FP16_YYY_add(&z1,&z1,&t0);   // z1=z1-z0
 
-		FP16_YYY_copy(&(w->b),&z1);
-		FP16_YYY_copy(&z2,&t0);
+        FP16_YYY_copy(&(w->b),&z1);
+        FP16_YYY_copy(&z2,&t0);
 
-		FP16_YYY_add(&t0,&(w->a),&(w->c));
-		FP16_YYY_add(&t1,&(y->a),&(y->c));
+        FP16_YYY_add(&t0,&(w->a),&(w->c));
+        FP16_YYY_add(&t1,&(y->a),&(y->c));
 
-		FP16_YYY_norm(&t0);
-		FP16_YYY_norm(&t1);
+        FP16_YYY_norm(&t0);
+        FP16_YYY_norm(&t1);
 
-		FP16_YYY_mul(&t0,&t1,&t0);
-		FP16_YYY_add(&z2,&z2,&t0);
+        FP16_YYY_mul(&t0,&t1,&t0);
+        FP16_YYY_add(&z2,&z2,&t0);
 
-		FP16_YYY_pmul(&t0,&(w->c),&(y->c).b);
-		FP16_YYY_times_i(&t0);
-		FP16_YYY_neg(&t1,&t0);
-		FP16_YYY_times_i(&t0);
+        FP16_YYY_pmul(&t0,&(w->c),&(y->c).b);
+        FP16_YYY_times_i(&t0);
+        FP16_YYY_neg(&t1,&t0);
+        FP16_YYY_times_i(&t0);
 
-		FP16_YYY_add(&(w->c),&z2,&t1);
-		FP16_YYY_add(&z3,&z3,&t1);
+        FP16_YYY_add(&(w->c),&z2,&t1);
+        FP16_YYY_add(&z3,&z3,&t1);
 
-		FP16_YYY_add(&(w->b),&(w->b),&t0);
-		FP16_YYY_norm(&z3);
-		FP16_YYY_times_i(&z3);
-		FP16_YYY_add(&(w->a),&z0,&z3);
+        FP16_YYY_add(&(w->b),&(w->b),&t0);
+        FP16_YYY_norm(&z3);
+        FP16_YYY_times_i(&z3);
+        FP16_YYY_add(&(w->a),&z0,&z3);
 #endif
-	}
-	w->type=FP_DENSE;
+    }
+    w->type=AMCL_FP_DENSE;
     FP48_YYY_norm(w);
 }
 
 /* FP48 multiplication w=w*y */
 /* catering for special case that arises from special form of ATE pairing line function */
-/* w and y are both sparser line functions - cost = 6m */ 
+/* w and y are both sparser line functions - cost = 6m */
 void FP48_YYY_smul(FP48_YYY *w,FP48_YYY *y)
 {
-	FP8_YYY w1,w2,w3,ta,tb,tc,td,te,t;
+    FP8_YYY w1,w2,w3,ta,tb,tc,td,te,t;
 
 
 #if SEXTIC_TWIST_ZZZ == D_TYPE
-	FP8_YYY_mul(&w1,&(w->a).a,&(y->a).a); // A1.A2
-	FP8_YYY_mul(&w2,&(w->a).b,&(y->a).b); // B1.B2
-	FP8_YYY_mul(&w3,&(w->b).a,&(y->b).a); // C1.C2
+    FP8_YYY_mul(&w1,&(w->a).a,&(y->a).a); // A1.A2
+    FP8_YYY_mul(&w2,&(w->a).b,&(y->a).b); // B1.B2
+    FP8_YYY_mul(&w3,&(w->b).a,&(y->b).a); // C1.C2
 
-	FP8_YYY_add(&ta,&(w->a).a,&(w->a).b); // A1+B1
-	FP8_YYY_add(&tb,&(y->a).a,&(y->a).b); // A2+B2
-	FP8_YYY_norm(&ta);
-	FP8_YYY_norm(&tb);
-	FP8_YYY_mul(&tc,&ta,&tb);			// (A1+B1)(A2+B2)
-	FP8_YYY_add(&t,&w1,&w2);
-	FP8_YYY_neg(&t,&t);
-	FP8_YYY_add(&tc,&tc,&t);			// (A1+B1)(A2+B2)-A1.A2-B1*B2 =  (A1.B2+A2.B1)		
-				
-	FP8_YYY_add(&ta,&(w->a).a,&(w->b).a); // A1+C1
-	FP8_YYY_add(&tb,&(y->a).a,&(y->b).a); // A2+C2
-	FP8_YYY_norm(&ta);
-	FP8_YYY_norm(&tb);
-	FP8_YYY_mul(&td,&ta,&tb);			// (A1+C1)(A2+C2)
-	FP8_YYY_add(&t,&w1,&w3);
-	FP8_YYY_neg(&t,&t);
-	FP8_YYY_add(&td,&td,&t);			// (A1+C1)(A2+C2)-A1.A2-C1*C2 =  (A1.C2+A2.C1)		
+    FP8_YYY_add(&ta,&(w->a).a,&(w->a).b); // A1+B1
+    FP8_YYY_add(&tb,&(y->a).a,&(y->a).b); // A2+B2
+    FP8_YYY_norm(&ta);
+    FP8_YYY_norm(&tb);
+    FP8_YYY_mul(&tc,&ta,&tb);			// (A1+B1)(A2+B2)
+    FP8_YYY_add(&t,&w1,&w2);
+    FP8_YYY_neg(&t,&t);
+    FP8_YYY_add(&tc,&tc,&t);			// (A1+B1)(A2+B2)-A1.A2-B1*B2 =  (A1.B2+A2.B1)
 
-	FP8_YYY_add(&ta,&(w->a).b,&(w->b).a); // B1+C1
-	FP8_YYY_add(&tb,&(y->a).b,&(y->b).a); // B2+C2
-	FP8_YYY_norm(&ta);
-	FP8_YYY_norm(&tb);
-	FP8_YYY_mul(&te,&ta,&tb);			// (B1+C1)(B2+C2)
-	FP8_YYY_add(&t,&w2,&w3);
-	FP8_YYY_neg(&t,&t);
-	FP8_YYY_add(&te,&te,&t);			// (B1+C1)(B2+C2)-B1.B2-C1*C2 =  (B1.C2+B2.C1)		
+    FP8_YYY_add(&ta,&(w->a).a,&(w->b).a); // A1+C1
+    FP8_YYY_add(&tb,&(y->a).a,&(y->b).a); // A2+C2
+    FP8_YYY_norm(&ta);
+    FP8_YYY_norm(&tb);
+    FP8_YYY_mul(&td,&ta,&tb);			// (A1+C1)(A2+C2)
+    FP8_YYY_add(&t,&w1,&w3);
+    FP8_YYY_neg(&t,&t);
+    FP8_YYY_add(&td,&td,&t);			// (A1+C1)(A2+C2)-A1.A2-C1*C2 =  (A1.C2+A2.C1)
 
-	FP8_YYY_times_i(&w2);
-	FP8_YYY_add(&w1,&w1,&w2);
-	FP16_YYY_from_FP8s(&(w->a),&w1,&tc);
-	FP16_YYY_from_FP8s(&(w->b),&td,&te); // only norm these 2
-	FP16_YYY_from_FP8(&(w->c),&w3);
+    FP8_YYY_add(&ta,&(w->a).b,&(w->b).a); // B1+C1
+    FP8_YYY_add(&tb,&(y->a).b,&(y->b).a); // B2+C2
+    FP8_YYY_norm(&ta);
+    FP8_YYY_norm(&tb);
+    FP8_YYY_mul(&te,&ta,&tb);			// (B1+C1)(B2+C2)
+    FP8_YYY_add(&t,&w2,&w3);
+    FP8_YYY_neg(&t,&t);
+    FP8_YYY_add(&te,&te,&t);			// (B1+C1)(B2+C2)-B1.B2-C1*C2 =  (B1.C2+B2.C1)
 
-	FP16_YYY_norm(&(w->a));
-	FP16_YYY_norm(&(w->b));
+    FP8_YYY_times_i(&w2);
+    FP8_YYY_add(&w1,&w1,&w2);
+    FP16_YYY_from_FP8s(&(w->a),&w1,&tc);
+    FP16_YYY_from_FP8s(&(w->b),&td,&te); // only norm these 2
+    FP16_YYY_from_FP8(&(w->c),&w3);
+
+    FP16_YYY_norm(&(w->a));
+    FP16_YYY_norm(&(w->b));
 #endif
 #if SEXTIC_TWIST_ZZZ == M_TYPE
-	FP8_YYY_mul(&w1,&(w->a).a,&(y->a).a); // A1.A2
-	FP8_YYY_mul(&w2,&(w->a).b,&(y->a).b); // B1.B2
-	FP8_YYY_mul(&w3,&(w->c).b,&(y->c).b); // F1.F2
+    FP8_YYY_mul(&w1,&(w->a).a,&(y->a).a); // A1.A2
+    FP8_YYY_mul(&w2,&(w->a).b,&(y->a).b); // B1.B2
+    FP8_YYY_mul(&w3,&(w->c).b,&(y->c).b); // F1.F2
 
-	FP8_YYY_add(&ta,&(w->a).a,&(w->a).b); // A1+B1
-	FP8_YYY_add(&tb,&(y->a).a,&(y->a).b); // A2+B2
-	FP8_YYY_norm(&ta);
-	FP8_YYY_norm(&tb);
-	FP8_YYY_mul(&tc,&ta,&tb);			// (A1+B1)(A2+B2)
-	FP8_YYY_add(&t,&w1,&w2);
-	FP8_YYY_neg(&t,&t);
-	FP8_YYY_add(&tc,&tc,&t);			// (A1+B1)(A2+B2)-A1.A2-B1*B2 =  (A1.B2+A2.B1)		
-				
-	FP8_YYY_add(&ta,&(w->a).a,&(w->c).b); // A1+F1
-	FP8_YYY_add(&tb,&(y->a).a,&(y->c).b); // A2+F2
-	FP8_YYY_norm(&ta);
-	FP8_YYY_norm(&tb);
-	FP8_YYY_mul(&td,&ta,&tb);			// (A1+F1)(A2+F2)
-	FP8_YYY_add(&t,&w1,&w3);
-	FP8_YYY_neg(&t,&t);
-	FP8_YYY_add(&td,&td,&t);			// (A1+F1)(A2+F2)-A1.A2-F1*F2 =  (A1.F2+A2.F1)		
+    FP8_YYY_add(&ta,&(w->a).a,&(w->a).b); // A1+B1
+    FP8_YYY_add(&tb,&(y->a).a,&(y->a).b); // A2+B2
+    FP8_YYY_norm(&ta);
+    FP8_YYY_norm(&tb);
+    FP8_YYY_mul(&tc,&ta,&tb);			// (A1+B1)(A2+B2)
+    FP8_YYY_add(&t,&w1,&w2);
+    FP8_YYY_neg(&t,&t);
+    FP8_YYY_add(&tc,&tc,&t);			// (A1+B1)(A2+B2)-A1.A2-B1*B2 =  (A1.B2+A2.B1)
 
-	FP8_YYY_add(&ta,&(w->a).b,&(w->c).b); // B1+F1
-	FP8_YYY_add(&tb,&(y->a).b,&(y->c).b); // B2+F2
-	FP8_YYY_norm(&ta);
-	FP8_YYY_norm(&tb);
-	FP8_YYY_mul(&te,&ta,&tb);			// (B1+F1)(B2+F2)
-	FP8_YYY_add(&t,&w2,&w3);
-	FP8_YYY_neg(&t,&t);
-	FP8_YYY_add(&te,&te,&t);			// (B1+F1)(B2+F2)-B1.B2-F1*F2 =  (B1.F2+B2.F1)	
+    FP8_YYY_add(&ta,&(w->a).a,&(w->c).b); // A1+F1
+    FP8_YYY_add(&tb,&(y->a).a,&(y->c).b); // A2+F2
+    FP8_YYY_norm(&ta);
+    FP8_YYY_norm(&tb);
+    FP8_YYY_mul(&td,&ta,&tb);			// (A1+F1)(A2+F2)
+    FP8_YYY_add(&t,&w1,&w3);
+    FP8_YYY_neg(&t,&t);
+    FP8_YYY_add(&td,&td,&t);			// (A1+F1)(A2+F2)-A1.A2-F1*F2 =  (A1.F2+A2.F1)
 
-	FP8_YYY_times_i(&w2);
-	FP8_YYY_add(&w1,&w1,&w2);
-	FP16_YYY_from_FP8s(&(w->a),&w1,&tc);
+    FP8_YYY_add(&ta,&(w->a).b,&(w->c).b); // B1+F1
+    FP8_YYY_add(&tb,&(y->a).b,&(y->c).b); // B2+F2
+    FP8_YYY_norm(&ta);
+    FP8_YYY_norm(&tb);
+    FP8_YYY_mul(&te,&ta,&tb);			// (B1+F1)(B2+F2)
+    FP8_YYY_add(&t,&w2,&w3);
+    FP8_YYY_neg(&t,&t);
+    FP8_YYY_add(&te,&te,&t);			// (B1+F1)(B2+F2)-B1.B2-F1*F2 =  (B1.F2+B2.F1)
 
-	FP8_YYY_times_i(&w3);
-	FP8_YYY_norm(&w3);
-	FP16_YYY_from_FP8H(&(w->b),&w3);
+    FP8_YYY_times_i(&w2);
+    FP8_YYY_add(&w1,&w1,&w2);
+    FP16_YYY_from_FP8s(&(w->a),&w1,&tc);
 
-	FP8_YYY_norm(&te);
-	FP8_YYY_times_i(&te);
-	FP16_YYY_from_FP8s(&(w->c),&te,&td);
+    FP8_YYY_times_i(&w3);
+    FP8_YYY_norm(&w3);
+    FP16_YYY_from_FP8H(&(w->b),&w3);
 
-	FP16_YYY_norm(&(w->a));
-	FP16_YYY_norm(&(w->c));
+    FP8_YYY_norm(&te);
+    FP8_YYY_times_i(&te);
+    FP16_YYY_from_FP8s(&(w->c),&te,&td);
+
+    FP16_YYY_norm(&(w->a));
+    FP16_YYY_norm(&(w->c));
 #endif
 
-	w->type=FP_SPARSE;
+    w->type=AMCL_FP_SPARSE;
 }
 
 
@@ -580,18 +582,18 @@
     FP16_YYY_mul(&f1,&(x->b),&(x->c));
     FP16_YYY_times_i(&f1);
     FP16_YYY_sub(&f0,&f0,&f1);  /* y.a */
-	FP16_YYY_norm(&f0); 		
+    FP16_YYY_norm(&f0);
 
     FP16_YYY_sqr(&f1,&(x->c));
     FP16_YYY_times_i(&f1);
     FP16_YYY_mul(&f2,&(x->a),&(x->b));
     FP16_YYY_sub(&f1,&f1,&f2);  /* y.b */
-	FP16_YYY_norm(&f1); 
+    FP16_YYY_norm(&f1);
 
     FP16_YYY_sqr(&f2,&(x->b));
     FP16_YYY_mul(&f3,&(x->a),&(x->c));
     FP16_YYY_sub(&f2,&f2,&f3);  /* y.c */
-	FP16_YYY_norm(&f2); 
+    FP16_YYY_norm(&f2);
 
     FP16_YYY_mul(&f3,&(x->b),&f2);
     FP16_YYY_times_i(&f3);
@@ -601,13 +603,13 @@
     FP16_YYY_times_i(&(w->c));
 
     FP16_YYY_add(&f3,&(w->c),&f3);
-	FP16_YYY_norm(&f3);
-	
+    FP16_YYY_norm(&f3);
+
     FP16_YYY_inv(&f3,&f3);
     FP16_YYY_mul(&(w->a),&f0,&f3);
     FP16_YYY_mul(&(w->b),&f1,&f3);
     FP16_YYY_mul(&(w->c),&f2,&f3);
-	w->type=FP_DENSE;
+    w->type=AMCL_FP_DENSE;
 }
 
 /* constant time powering by small integer of max length bts */
@@ -634,9 +636,9 @@
 void FP48_YYY_compow(FP16_YYY *c,FP48_YYY *x,BIG_XXX e,BIG_XXX r)
 {
     FP48_YYY g1,g2;
-	FP16_YYY cp,cpm1,cpm2;
+    FP16_YYY cp,cpm1,cpm2;
     FP2_YYY  f;
-	BIG_XXX q,a,b,m;
+    BIG_XXX q,a,b,m;
 
     BIG_XXX_rcopy(a,Fra_YYY);
     BIG_XXX_rcopy(b,Frb_YYY);
@@ -645,7 +647,7 @@
     BIG_XXX_rcopy(q,Modulus_YYY);
 
     FP48_YYY_copy(&g1,x);
-	FP48_YYY_copy(&g2,x);
+    FP48_YYY_copy(&g2,x);
 
     BIG_XXX_copy(m,q);
     BIG_XXX_mod(m,r);
@@ -658,11 +660,11 @@
 
     FP48_YYY_trace(c,&g1);
 
-	if (BIG_XXX_iszilch(b))
-	{
-		FP16_YYY_xtr_pow(c,c,e);
-		return;
-	}
+    if (BIG_XXX_iszilch(b))
+    {
+        FP16_YYY_xtr_pow(c,c,e);
+        return;
+    }
 
     FP48_YYY_frob(&g2,&f,1);
     FP48_YYY_trace(&cp,&g2);
@@ -684,32 +686,32 @@
     FP48_YYY w,sf;
     BIG_XXX b1,b3;
     int i,nb,bt;
-	BIG_XXX_copy(b1,b);
+    BIG_XXX_copy(b1,b);
     BIG_XXX_norm(b1);
-	BIG_XXX_pmul(b3,b1,3);
-	BIG_XXX_norm(b3);
+    BIG_XXX_pmul(b3,b1,3);
+    BIG_XXX_norm(b3);
 
-	FP48_YYY_copy(&sf,a);
-	FP48_YYY_norm(&sf);
+    FP48_YYY_copy(&sf,a);
+    FP48_YYY_norm(&sf);
     FP48_YYY_copy(&w,&sf);
 
-	nb=BIG_XXX_nbits(b3);
-	for (i=nb-2;i>=1;i--)
-	{
-		FP48_YYY_usqr(&w,&w);
-		bt=BIG_XXX_bit(b3,i)-BIG_XXX_bit(b1,i);
-		if (bt==1)
-			FP48_YYY_mul(&w,&sf);
-		if (bt==-1)
-		{
-			FP48_YYY_conj(&sf,&sf);
-			FP48_YYY_mul(&w,&sf);
-			FP48_YYY_conj(&sf,&sf);
-		}
-	}
+    nb=BIG_XXX_nbits(b3);
+    for (i=nb-2; i>=1; i--)
+    {
+        FP48_YYY_usqr(&w,&w);
+        bt=BIG_XXX_bit(b3,i)-BIG_XXX_bit(b1,i);
+        if (bt==1)
+            FP48_YYY_mul(&w,&sf);
+        if (bt==-1)
+        {
+            FP48_YYY_conj(&sf,&sf);
+            FP48_YYY_mul(&w,&sf);
+            FP48_YYY_conj(&sf,&sf);
+        }
+    }
 
-	FP48_YYY_copy(r,&w);
-	FP48_YYY_reduce(r);
+    FP48_YYY_copy(r,&w);
+    FP48_YYY_reduce(r);
 }
 
 /* p=q0^u0.q1^u1.q2^u2.q3^u3... */
@@ -720,8 +722,8 @@
 void FP48_YYY_pow16(FP48_YYY *p,FP48_YYY *q,BIG_XXX u[16])
 {
     int i,j,k,nb,pb1,pb2,pb3,pb4,bt;
-	FP48_YYY g1[8],g2[8],g3[8],g4[8],r;
-	BIG_XXX t[16],mt;
+    FP48_YYY g1[8],g2[8],g3[8],g4[8],r;
+    BIG_XXX t[16],mt;
     sign8 w1[NLEN_XXX*BASEBITS_XXX+1];
     sign8 s1[NLEN_XXX*BASEBITS_XXX+1];
     sign8 w2[NLEN_XXX*BASEBITS_XXX+1];
@@ -731,7 +733,7 @@
     sign8 w4[NLEN_XXX*BASEBITS_XXX+1];
     sign8 s4[NLEN_XXX*BASEBITS_XXX+1];
     FP_YYY fx,fy;
-	FP2_YYY  X;
+    FP2_YYY  X;
 
     FP_YYY_rcopy(&fx,Fra_YYY);
     FP_YYY_rcopy(&fy,Frb_YYY);
@@ -743,50 +745,50 @@
 // Precomputed table
     FP48_YYY_copy(&g1[0],&q[0]); // q[0]
     FP48_YYY_copy(&g1[1],&g1[0]);
-	FP48_YYY_mul(&g1[1],&q[1]);	// q[0].q[1]
+    FP48_YYY_mul(&g1[1],&q[1]);	// q[0].q[1]
     FP48_YYY_copy(&g1[2],&g1[0]);
-	FP48_YYY_mul(&g1[2],&q[2]);	// q[0].q[2]
-	FP48_YYY_copy(&g1[3],&g1[1]);
-	FP48_YYY_mul(&g1[3],&q[2]);	// q[0].q[1].q[2]
-	FP48_YYY_copy(&g1[4],&g1[0]);
-	FP48_YYY_mul(&g1[4],&q[3]);  // q[0].q[3]
-	FP48_YYY_copy(&g1[5],&g1[1]);
-	FP48_YYY_mul(&g1[5],&q[3]);	// q[0].q[1].q[3]
-	FP48_YYY_copy(&g1[6],&g1[2]);
-	FP48_YYY_mul(&g1[6],&q[3]);	// q[0].q[2].q[3]
-	FP48_YYY_copy(&g1[7],&g1[3]);
-	FP48_YYY_mul(&g1[7],&q[3]);	// q[0].q[1].q[2].q[3]
+    FP48_YYY_mul(&g1[2],&q[2]);	// q[0].q[2]
+    FP48_YYY_copy(&g1[3],&g1[1]);
+    FP48_YYY_mul(&g1[3],&q[2]);	// q[0].q[1].q[2]
+    FP48_YYY_copy(&g1[4],&g1[0]);
+    FP48_YYY_mul(&g1[4],&q[3]);  // q[0].q[3]
+    FP48_YYY_copy(&g1[5],&g1[1]);
+    FP48_YYY_mul(&g1[5],&q[3]);	// q[0].q[1].q[3]
+    FP48_YYY_copy(&g1[6],&g1[2]);
+    FP48_YYY_mul(&g1[6],&q[3]);	// q[0].q[2].q[3]
+    FP48_YYY_copy(&g1[7],&g1[3]);
+    FP48_YYY_mul(&g1[7],&q[3]);	// q[0].q[1].q[2].q[3]
 
 // Use Frobenius
 
-	for (i=0;i<8;i++)
-	{
-		FP48_YYY_copy(&g2[i],&g1[i]);
-		FP48_YYY_frob(&g2[i],&X,4);
+    for (i=0; i<8; i++)
+    {
+        FP48_YYY_copy(&g2[i],&g1[i]);
+        FP48_YYY_frob(&g2[i],&X,4);
 
-		FP48_YYY_copy(&g3[i],&g2[i]);
-		FP48_YYY_frob(&g3[i],&X,4);
+        FP48_YYY_copy(&g3[i],&g2[i]);
+        FP48_YYY_frob(&g3[i],&X,4);
 
-		FP48_YYY_copy(&g4[i],&g3[i]);
-		FP48_YYY_frob(&g4[i],&X,4);
-	}
+        FP48_YYY_copy(&g4[i],&g3[i]);
+        FP48_YYY_frob(&g4[i],&X,4);
+    }
 
 // Make them odd
-	pb1=1-BIG_XXX_parity(t[0]);
-	BIG_XXX_inc(t[0],pb1);
-	BIG_XXX_norm(t[0]);
+    pb1=1-BIG_XXX_parity(t[0]);
+    BIG_XXX_inc(t[0],pb1);
+    BIG_XXX_norm(t[0]);
 
-	pb2=1-BIG_XXX_parity(t[4]);
-	BIG_XXX_inc(t[4],pb2);
-	BIG_XXX_norm(t[4]);
+    pb2=1-BIG_XXX_parity(t[4]);
+    BIG_XXX_inc(t[4],pb2);
+    BIG_XXX_norm(t[4]);
 
-	pb3=1-BIG_XXX_parity(t[8]);
-	BIG_XXX_inc(t[8],pb3);
-	BIG_XXX_norm(t[8]);
+    pb3=1-BIG_XXX_parity(t[8]);
+    BIG_XXX_inc(t[8],pb3);
+    BIG_XXX_norm(t[8]);
 
-	pb4=1-BIG_XXX_parity(t[12]);
-	BIG_XXX_inc(t[12],pb4);
-	BIG_XXX_norm(t[12]);
+    pb4=1-BIG_XXX_parity(t[12]);
+    BIG_XXX_inc(t[12],pb4);
+    BIG_XXX_norm(t[12]);
 
 // Number of bits
     BIG_XXX_zero(mt);
@@ -796,90 +798,90 @@
     }
     nb=1+BIG_XXX_nbits(mt);
 
-// Sign pivot 
-	s1[nb-1]=1;
-	s2[nb-1]=1;
-	s3[nb-1]=1;
-	s4[nb-1]=1;
-	for (i=0;i<nb-1;i++)
-	{
+// Sign pivot
+    s1[nb-1]=1;
+    s2[nb-1]=1;
+    s3[nb-1]=1;
+    s4[nb-1]=1;
+    for (i=0; i<nb-1; i++)
+    {
         BIG_XXX_fshr(t[0],1);
-		s1[i]=2*BIG_XXX_parity(t[0])-1;
+        s1[i]=2*BIG_XXX_parity(t[0])-1;
         BIG_XXX_fshr(t[4],1);
-		s2[i]=2*BIG_XXX_parity(t[4])-1;
+        s2[i]=2*BIG_XXX_parity(t[4])-1;
         BIG_XXX_fshr(t[8],1);
-		s3[i]=2*BIG_XXX_parity(t[8])-1;
+        s3[i]=2*BIG_XXX_parity(t[8])-1;
         BIG_XXX_fshr(t[12],1);
-		s4[i]=2*BIG_XXX_parity(t[12])-1;
-	}
+        s4[i]=2*BIG_XXX_parity(t[12])-1;
+    }
 
 // Recoded exponents
     for (i=0; i<nb; i++)
     {
-		w1[i]=0;
-		k=1;
-		for (j=1; j<4; j++)
-		{
-			bt=s1[i]*BIG_XXX_parity(t[j]);
-			BIG_XXX_fshr(t[j],1);
+        w1[i]=0;
+        k=1;
+        for (j=1; j<4; j++)
+        {
+            bt=s1[i]*BIG_XXX_parity(t[j]);
+            BIG_XXX_fshr(t[j],1);
 
-			BIG_XXX_dec(t[j],(bt>>1));
-			BIG_XXX_norm(t[j]);
-			w1[i]+=bt*k;
-			k*=2;
+            BIG_XXX_dec(t[j],(bt>>1));
+            BIG_XXX_norm(t[j]);
+            w1[i]+=bt*k;
+            k*=2;
         }
 
-		w2[i]=0;
-		k=1;
-		for (j=5; j<8; j++)
-		{
-			bt=s2[i]*BIG_XXX_parity(t[j]);
-			BIG_XXX_fshr(t[j],1);
+        w2[i]=0;
+        k=1;
+        for (j=5; j<8; j++)
+        {
+            bt=s2[i]*BIG_XXX_parity(t[j]);
+            BIG_XXX_fshr(t[j],1);
 
-			BIG_XXX_dec(t[j],(bt>>1));
-			BIG_XXX_norm(t[j]);
-			w2[i]+=bt*k;
-			k*=2;
+            BIG_XXX_dec(t[j],(bt>>1));
+            BIG_XXX_norm(t[j]);
+            w2[i]+=bt*k;
+            k*=2;
         }
 
-		w3[i]=0;
-		k=1;
-		for (j=9; j<12; j++)
-		{
-			bt=s3[i]*BIG_XXX_parity(t[j]);
-			BIG_XXX_fshr(t[j],1);
+        w3[i]=0;
+        k=1;
+        for (j=9; j<12; j++)
+        {
+            bt=s3[i]*BIG_XXX_parity(t[j]);
+            BIG_XXX_fshr(t[j],1);
 
-			BIG_XXX_dec(t[j],(bt>>1));
-			BIG_XXX_norm(t[j]);
-			w3[i]+=bt*k;
-			k*=2;
+            BIG_XXX_dec(t[j],(bt>>1));
+            BIG_XXX_norm(t[j]);
+            w3[i]+=bt*k;
+            k*=2;
         }
 
-		w4[i]=0;
-		k=1;
-		for (j=13; j<16; j++)
-		{
-			bt=s4[i]*BIG_XXX_parity(t[j]);
-			BIG_XXX_fshr(t[j],1);
+        w4[i]=0;
+        k=1;
+        for (j=13; j<16; j++)
+        {
+            bt=s4[i]*BIG_XXX_parity(t[j]);
+            BIG_XXX_fshr(t[j],1);
 
-			BIG_XXX_dec(t[j],(bt>>1));
-			BIG_XXX_norm(t[j]);
-			w4[i]+=bt*k;
-			k*=2;
+            BIG_XXX_dec(t[j],(bt>>1));
+            BIG_XXX_norm(t[j]);
+            w4[i]+=bt*k;
+            k*=2;
         }
-    }	
+    }
 
 // Main loop
-	FP48_YYY_select(p,g1,2*w1[nb-1]+1);
-	FP48_YYY_select(&r,g2,2*w2[nb-1]+1);
-	FP48_YYY_mul(p,&r);
-	FP48_YYY_select(&r,g3,2*w3[nb-1]+1);
-	FP48_YYY_mul(p,&r);
-	FP48_YYY_select(&r,g4,2*w4[nb-1]+1);
-	FP48_YYY_mul(p,&r);
+    FP48_YYY_select(p,g1,2*w1[nb-1]+1);
+    FP48_YYY_select(&r,g2,2*w2[nb-1]+1);
+    FP48_YYY_mul(p,&r);
+    FP48_YYY_select(&r,g3,2*w3[nb-1]+1);
+    FP48_YYY_mul(p,&r);
+    FP48_YYY_select(&r,g4,2*w4[nb-1]+1);
+    FP48_YYY_mul(p,&r);
     for (i=nb-2; i>=0; i--)
     {
-		FP48_YYY_usqr(p,p);
+        FP48_YYY_usqr(p,p);
         FP48_YYY_select(&r,g1,2*w1[i]+s1[i]);
         FP48_YYY_mul(p,&r);
         FP48_YYY_select(&r,g2,2*w2[i]+s2[i]);
@@ -891,49 +893,52 @@
     }
 
 // apply correction
-	FP48_YYY_conj(&r,&q[0]);   
-	FP48_YYY_mul(&r,p);
-	FP48_YYY_cmove(p,&r,pb1);
-	FP48_YYY_conj(&r,&q[4]);   
-	FP48_YYY_mul(&r,p);
-	FP48_YYY_cmove(p,&r,pb2);
+    FP48_YYY_conj(&r,&q[0]);
+    FP48_YYY_mul(&r,p);
+    FP48_YYY_cmove(p,&r,pb1);
+    FP48_YYY_conj(&r,&q[4]);
+    FP48_YYY_mul(&r,p);
+    FP48_YYY_cmove(p,&r,pb2);
 
-	FP48_YYY_conj(&r,&q[8]);   
-	FP48_YYY_mul(&r,p);
-	FP48_YYY_cmove(p,&r,pb3);
-	FP48_YYY_conj(&r,&q[12]);   
-	FP48_YYY_mul(&r,p);
-	FP48_YYY_cmove(p,&r,pb4);
+    FP48_YYY_conj(&r,&q[8]);
+    FP48_YYY_mul(&r,p);
+    FP48_YYY_cmove(p,&r,pb3);
+    FP48_YYY_conj(&r,&q[12]);
+    FP48_YYY_mul(&r,p);
+    FP48_YYY_cmove(p,&r,pb4);
 
-	FP48_YYY_reduce(p);
+    FP48_YYY_reduce(p);
 }
 
 /* Set w=w^p using Frobenius */
 /* SU= 160 */
 void FP48_YYY_frob(FP48_YYY *w,FP2_YYY  *f,int n)
 {
-	int i;
-	FP8_YYY X2,X4;
-	FP4_YYY F;
+    int i;
     FP2_YYY  f3,f2;				// f=(1+i)^(p-19)/24
-    FP2_YYY_sqr(&f2,f);     // 
+    FP2_YYY_sqr(&f2,f);     //
     FP2_YYY_mul(&f3,&f2,f); // f3=f^3=(1+i)^(p-19)/8
 
-	FP2_YYY_mul_ip(&f3);
-	FP2_YYY_norm(&f3);
-	FP2_YYY_mul_ip(&f3);    // f3 = (1+i)^16/8.(1+i)^(p-19)/8 = (1+i)^(p-3)/8 
-	FP2_YYY_norm(&f3);
+    FP2_YYY_mul_ip(&f3);
+    FP2_YYY_norm(&f3);
+    FP2_YYY_mul_ip(&f3);    // f3 = (1+i)^16/8.(1+i)^(p-19)/8 = (1+i)^(p-3)/8
+    FP2_YYY_norm(&f3);
 
-	for (i=0;i<n;i++)
-	{
-		FP16_YYY_frob(&(w->a),&f3);   // a=a^p
-		FP16_YYY_frob(&(w->b),&f3);   // b=b^p
-		FP16_YYY_frob(&(w->c),&f3);   // c=c^p
-  
-		FP16_YYY_qmul(&(w->b),&(w->b),f); FP16_YYY_times_i4(&(w->b)); FP16_YYY_times_i2(&(w->b)); 
-		FP16_YYY_qmul(&(w->c),&(w->c),&f2); FP16_YYY_times_i4(&(w->c)); FP16_YYY_times_i4(&(w->c)); FP16_YYY_times_i4(&(w->c)); 
-	}
-	w->type=FP_DENSE;
+    for (i=0; i<n; i++)
+    {
+        FP16_YYY_frob(&(w->a),&f3);   // a=a^p
+        FP16_YYY_frob(&(w->b),&f3);   // b=b^p
+        FP16_YYY_frob(&(w->c),&f3);   // c=c^p
+
+        FP16_YYY_qmul(&(w->b),&(w->b),f);
+        FP16_YYY_times_i4(&(w->b));
+        FP16_YYY_times_i2(&(w->b));
+        FP16_YYY_qmul(&(w->c),&(w->c),&f2);
+        FP16_YYY_times_i4(&(w->c));
+        FP16_YYY_times_i4(&(w->c));
+        FP16_YYY_times_i4(&(w->c));
+    }
+    w->type=AMCL_FP_DENSE;
 }
 
 /* SU= 8 */
@@ -985,10 +990,10 @@
     BIG_XXX_toBytes(&(W->val[0]),a);
     FP_YYY_redc(a,&(g->a.a.a.a.b));
     BIG_XXX_toBytes(&(W->val[MODBYTES_XXX]),a);
-    
-	FP_YYY_redc(a,&(g->a.a.a.b.a));
+
+    FP_YYY_redc(a,&(g->a.a.a.b.a));
     BIG_XXX_toBytes(&(W->val[2*MODBYTES_XXX]),a);
-	FP_YYY_redc(a,&(g->a.a.a.b.b));
+    FP_YYY_redc(a,&(g->a.a.a.b.b));
     BIG_XXX_toBytes(&(W->val[3*MODBYTES_XXX]),a);
 
     FP_YYY_redc(a,&(g->a.a.b.a.a));
@@ -1106,7 +1111,7 @@
 /* Restore g from octet string w */
 void FP48_YYY_fromOctet(FP48_YYY *g,octet *W)
 {
-	BIG_XXX b;
+    BIG_XXX b;
 
     BIG_XXX_fromBytes(b,&W->val[0]);
     FP_YYY_nres(&(g->a.a.a.a.a),b);
@@ -1236,6 +1241,6 @@
     FP16_YYY_cmove(&(f->a),&(g->a),d);
     FP16_YYY_cmove(&(f->b),&(g->b),d);
     FP16_YYY_cmove(&(f->c),&(g->c),d);
-	d=~(d-1);
-	f->type^=(f->type^g->type)&d;
+    d=~(d-1);
+    f->type^=(f->type^g->type)&d;
 }
diff --git a/version3/c/fp48.h b/version3/c/fp48.h
index f445af7..93dc50d 100644
--- a/version3/c/fp48.h
+++ b/version3/c/fp48.h
@@ -12,7 +12,7 @@
     FP16_YYY a; /**< first part of FP12 */
     FP16_YYY b; /**< second part of FP12 */
     FP16_YYY c; /**< third part of FP12 */
-	int type;
+    int type;
 } FP48_YYY;
 
 extern const BIG_XXX Fra_YYY; /**< real part of BN curve Frobenius Constant */
@@ -133,7 +133,7 @@
  */
 extern void FP48_YYY_pinpow(FP48_YYY *x,int i,int b);
 
-/**	@brief Raises an FP48 instance x to a BIG_XXX power, compressed to FP16 
+/**	@brief Raises an FP48 instance x to a BIG_XXX power, compressed to FP16
  *
 	@param c FP16 instance, on exit = x^(e mod r) as FP16
 	@param x FP48 input
diff --git a/version3/c/fp8.c b/version3/c/fp8.c
index 3786a7a..9fe0452 100644
--- a/version3/c/fp8.c
+++ b/version3/c/fp8.c
@@ -100,14 +100,14 @@
 {
     /* Just one field neg */
     FP4_YYY m,t;
-	FP8_YYY_norm(x);
+    FP8_YYY_norm(x);
     FP4_YYY_add(&m,&(x->a),&(x->b));
-	FP4_YYY_norm(&m);
+    FP4_YYY_norm(&m);
     FP4_YYY_neg(&m,&m);
     FP4_YYY_add(&t,&m,&(x->b));
     FP4_YYY_add(&(w->b),&m,&(x->a));
     FP4_YYY_copy(&(w->a),&t);
-	FP8_YYY_norm(w);
+    FP8_YYY_norm(w);
 }
 
 /* Set w=conj(x) */
@@ -115,7 +115,7 @@
 {
     FP4_YYY_copy(&(w->a), &(x->a));
     FP4_YYY_neg(&(w->b), &(x->b));
-	FP8_YYY_norm(w);
+    FP8_YYY_norm(w);
 }
 
 /* Set w=-conj(x) */
@@ -123,7 +123,7 @@
 {
     FP4_YYY_copy(&(w->b),&(x->b));
     FP4_YYY_neg(&(w->a), &(x->a));
-	FP8_YYY_norm(w);
+    FP8_YYY_norm(w);
 }
 
 /* Set w=x+y */
@@ -199,8 +199,8 @@
 
     FP4_YYY_add(&t2,&(x->a),&t2);
 
-	FP4_YYY_norm(&t1);  // 2
-	FP4_YYY_norm(&t2);  // 2
+    FP4_YYY_norm(&t1);  // 2
+    FP4_YYY_norm(&t2);  // 2
 
     FP4_YYY_mul(&(w->a),&t1,&t2);
 
@@ -209,7 +209,7 @@
 
     FP4_YYY_add(&t2,&t2,&t3);
 
-	FP4_YYY_norm(&t2);  // 2
+    FP4_YYY_norm(&t2);  // 2
     FP4_YYY_neg(&t2,&t2);
     FP4_YYY_add(&(w->a),&(w->a),&t2);  /* a=(a+b)(a+i^2.b)-i^2.ab-ab = a*a+ib*ib */
     FP4_YYY_add(&(w->b),&t3,&t3);  /* b=2ab */
@@ -223,23 +223,23 @@
 {
 
     FP4_YYY t1,t2,t3,t4;
-    FP4_YYY_mul(&t1,&(x->a),&(y->a)); 
-    FP4_YYY_mul(&t2,&(x->b),&(y->b)); 
+    FP4_YYY_mul(&t1,&(x->a),&(y->a));
+    FP4_YYY_mul(&t2,&(x->b),&(y->b));
 
     FP4_YYY_add(&t3,&(y->b),&(y->a));
     FP4_YYY_add(&t4,&(x->b),&(x->a));
 
-	FP4_YYY_norm(&t4); // 2
-	FP4_YYY_norm(&t3); // 2
+    FP4_YYY_norm(&t4); // 2
+    FP4_YYY_norm(&t3); // 2
 
     FP4_YYY_mul(&t4,&t4,&t3); /* (xa+xb)(ya+yb) */
 
-	FP4_YYY_neg(&t3,&t1);  // 1
-	FP4_YYY_add(&t4,&t4,&t3);  //t4E=3
+    FP4_YYY_neg(&t3,&t1);  // 1
+    FP4_YYY_add(&t4,&t4,&t3);  //t4E=3
     FP4_YYY_norm(&t4);
 
-	FP4_YYY_neg(&t3,&t2);  // 1
-	FP4_YYY_add(&(w->b),&t4,&t3); //wbE=3
+    FP4_YYY_neg(&t3,&t2);  // 1
+    FP4_YYY_add(&(w->b),&t4,&t3); //wbE=3
 
     FP4_YYY_times_i(&t2);
     FP4_YYY_add(&(w->a),&t2,&t1);
@@ -273,47 +273,48 @@
     FP4_YYY_sqr(&t1,&(x->a));
     FP4_YYY_sqr(&t2,&(x->b));
     FP4_YYY_times_i(&t2);
-	FP4_YYY_norm(&t2);
+    FP4_YYY_norm(&t2);
 
     FP4_YYY_sub(&t1,&t1,&t2);
-	FP4_YYY_norm(&t1);
+    FP4_YYY_norm(&t1);
     FP4_YYY_inv(&t1,&t1);
 
     FP4_YYY_mul(&(w->a),&t1,&(x->a));
     FP4_YYY_neg(&t1,&t1);
-	FP4_YYY_norm(&t1);
+    FP4_YYY_norm(&t1);
     FP4_YYY_mul(&(w->b),&t1,&(x->b));
 }
 
 /* w*=i where i = sqrt(sqrt(-1+sqrt(-1))) */
 void FP8_YYY_times_i(FP8_YYY *w)
 {
-	FP4_YYY s,t;
-	FP4_YYY_copy(&s,&(w->b));
-	FP4_YYY_copy(&t,&(w->a));
-	FP4_YYY_times_i(&s);
-	FP4_YYY_copy(&(w->a),&s);
-	FP4_YYY_copy(&(w->b),&t);
-	FP8_YYY_norm(w);
+    FP4_YYY s,t;
+    FP4_YYY_copy(&s,&(w->b));
+    FP4_YYY_copy(&t,&(w->a));
+    FP4_YYY_times_i(&s);
+    FP4_YYY_copy(&(w->a),&s);
+    FP4_YYY_copy(&(w->b),&t);
+    FP8_YYY_norm(w);
 }
 
 void FP8_YYY_times_i2(FP8_YYY *w)
 {
-	FP4_YYY_times_i(&(w->a));
-	FP4_YYY_times_i(&(w->b));
+    FP4_YYY_times_i(&(w->a));
+    FP4_YYY_times_i(&(w->b));
 }
 
 /* Set w=w^p using Frobenius */
 void FP8_YYY_frob(FP8_YYY *w,FP2_YYY *f)
-{ // f=(i+1)^(p-3)/4
-	FP2_YYY ff;
-	FP2_YYY_sqr(&ff,f);  // (i+1)^(p-3)/2
-	FP2_YYY_mul_ip(&ff); // (i+1)^(p-1)/2
-	FP2_YYY_norm(&ff);
-	FP4_YYY_frob(&(w->a),&ff);
-	FP4_YYY_frob(&(w->b),&ff);
-	FP4_YYY_pmul(&(w->b),&(w->b),f);  // times (1+i)^(p-3)/4
-	FP4_YYY_times_i(&(w->b));		// (i+1)^(p-1)/4
+{
+    // f=(i+1)^(p-3)/4
+    FP2_YYY ff;
+    FP2_YYY_sqr(&ff,f);  // (i+1)^(p-3)/2
+    FP2_YYY_mul_ip(&ff); // (i+1)^(p-1)/2
+    FP2_YYY_norm(&ff);
+    FP4_YYY_frob(&(w->a),&ff);
+    FP4_YYY_frob(&(w->b),&ff);
+    FP4_YYY_pmul(&(w->b),&(w->b),f);  // times (1+i)^(p-3)/4
+    FP4_YYY_times_i(&(w->b));		// (i+1)^(p-1)/4
 }
 
 /* Set r=a^b mod m */
@@ -327,7 +328,7 @@
 
     BIG_XXX_copy(z,b);
     FP8_YYY_copy(&w,a);
-	FP8_YYY_norm(&w);
+    FP8_YYY_norm(&w);
     FP8_YYY_one(r);
     BIG_XXX_norm(z);
     while(1)
@@ -350,10 +351,10 @@
 
     FP8_YYY_copy(r,x);
     FP8_YYY_sub(&t1,w,y);
-	FP8_YYY_norm(&t1);
+    FP8_YYY_norm(&t1);
     FP8_YYY_pmul(&t1,&t1,&(r->a));
     FP8_YYY_add(&t2,w,y);
-	FP8_YYY_norm(&t2);
+    FP8_YYY_norm(&t2);
     FP8_YYY_pmul(&t2,&t2,&(r->b));
     FP8_YYY_times_i(&t2);
 
@@ -371,7 +372,7 @@
     FP8_YYY_conj(&w,r);
     FP8_YYY_add(&w,&w,&w);
     FP8_YYY_sqr(r,r);
-	FP8_YYY_norm(&w);
+    FP8_YYY_norm(&w);
     FP8_YYY_sub(r,r,&w);
     FP8_YYY_reduce(r);    /* reduce here as multiple calls trigger automatic reductions */
 }
@@ -382,18 +383,18 @@
     int i,par,nb;
     BIG_XXX v;
     FP2_YYY w2;
-	FP4_YYY w4;
+    FP4_YYY w4;
     FP8_YYY t,a,b,c,sf;
 
     BIG_XXX_zero(v);
     BIG_XXX_inc(v,3);
-	BIG_XXX_norm(v);
+    BIG_XXX_norm(v);
     FP2_YYY_from_BIG(&w2,v);
     FP4_YYY_from_FP2(&w4,&w2);
     FP8_YYY_from_FP4(&a,&w4);
-	FP8_YYY_copy(&sf,x);
-	FP8_YYY_norm(&sf);
-	FP8_YYY_copy(&b,&sf);
+    FP8_YYY_copy(&sf,x);
+    FP8_YYY_norm(&sf);
+    FP8_YYY_copy(&b,&sf);
     FP8_YYY_xtr_D(&c,&sf);
 
     par=BIG_XXX_parity(n);
@@ -444,7 +445,7 @@
     BIG_XXX_copy(e,a);
     BIG_XXX_copy(d,b);
     BIG_XXX_norm(e);
-	BIG_XXX_norm(d);
+    BIG_XXX_norm(d);
     FP8_YYY_copy(&cu,ck);
     FP8_YYY_copy(&cv,cl);
     FP8_YYY_copy(&cumv,ckml);
@@ -584,93 +585,93 @@
 /* returns true if x is QR */
 int FP8_YYY_sqrt(FP8_YYY *r,FP8_YYY* x)
 {
-	FP4_YYY a,s,t;
+    FP4_YYY a,s,t;
 
-	FP8_YYY_copy(r,x);
-	if (FP8_YYY_iszilch(x))
-		return 1;
-	
-	FP4_YYY_copy(&a,&(x->a));
-	FP4_YYY_copy(&s,&(x->b));
+    FP8_YYY_copy(r,x);
+    if (FP8_YYY_iszilch(x))
+        return 1;
 
-	if (FP4_YYY_iszilch(&s))
-	{
-		if (FP4_YYY_sqrt(&t,&a))
-		{
-			FP8_YYY_from_FP4(r,&t);
-		}
-		else
-		{
-			FP4_YYY_div_i(&a);
-			FP4_YYY_sqrt(&t,&a);
-			FP8_YYY_from_FP4H(r,&t);
-		}
-		return 1;
-	}
+    FP4_YYY_copy(&a,&(x->a));
+    FP4_YYY_copy(&s,&(x->b));
 
-	FP4_YYY_sqr(&s,&s);  // s*=s
-	FP4_YYY_sqr(&a,&a);  // a*=a
-	FP4_YYY_times_i(&s);
-	FP4_YYY_norm(&s);
-	FP4_YYY_sub(&a,&a,&s); // a-=txx(s)
+    if (FP4_YYY_iszilch(&s))
+    {
+        if (FP4_YYY_sqrt(&t,&a))
+        {
+            FP8_YYY_from_FP4(r,&t);
+        }
+        else
+        {
+            FP4_YYY_div_i(&a);
+            FP4_YYY_sqrt(&t,&a);
+            FP8_YYY_from_FP4H(r,&t);
+        }
+        return 1;
+    }
 
-	if (!FP4_YYY_sqrt(&s,&a)) return 0;
+    FP4_YYY_sqr(&s,&s);  // s*=s
+    FP4_YYY_sqr(&a,&a);  // a*=a
+    FP4_YYY_times_i(&s);
+    FP4_YYY_norm(&s);
+    FP4_YYY_sub(&a,&a,&s); // a-=txx(s)
 
-	FP4_YYY_sqr(&t,&s);
+    if (!FP4_YYY_sqrt(&s,&a)) return 0;
+
+    FP4_YYY_sqr(&t,&s);
 
 
-	FP4_YYY_copy(&t,&(x->a));
-	FP4_YYY_add(&a,&t,&s);
-	FP4_YYY_norm(&a);
-	FP4_YYY_div2(&a,&a);
+    FP4_YYY_copy(&t,&(x->a));
+    FP4_YYY_add(&a,&t,&s);
+    FP4_YYY_norm(&a);
+    FP4_YYY_div2(&a,&a);
 
-	if (!FP4_YYY_sqrt(&a,&a))
-	{
-		FP4_YYY_sub(&a,&t,&s);
-		FP4_YYY_norm(&a);
-		FP4_YYY_div2(&a,&a);
-		if (!FP4_YYY_sqrt(&a,&a)) return 0;
-	}
+    if (!FP4_YYY_sqrt(&a,&a))
+    {
+        FP4_YYY_sub(&a,&t,&s);
+        FP4_YYY_norm(&a);
+        FP4_YYY_div2(&a,&a);
+        if (!FP4_YYY_sqrt(&a,&a)) return 0;
+    }
 
-	FP4_YYY_copy(&t,&(x->b));
-	FP4_YYY_add(&s,&a,&a);
-	FP4_YYY_inv(&s,&s);
+    FP4_YYY_copy(&t,&(x->b));
+    FP4_YYY_add(&s,&a,&a);
+    FP4_YYY_inv(&s,&s);
 
-	FP4_YYY_mul(&t,&t,&s);
-	FP8_YYY_from_FP4s(r,&a,&t);
+    FP4_YYY_mul(&t,&t,&s);
+    FP8_YYY_from_FP4s(r,&a,&t);
 
-	return 1;
+    return 1;
 
 }
 
 
 void FP8_YYY_div_i(FP8_YYY *f)
 {
-	FP4_YYY u,v;
-	FP4_YYY_copy(&u,&(f->a));
-	FP4_YYY_copy(&v,&(f->b));
-	FP4_YYY_div_i(&u);
-	FP4_YYY_copy(&(f->a),&v);
-	FP4_YYY_copy(&(f->b),&u);
+    FP4_YYY u,v;
+    FP4_YYY_copy(&u,&(f->a));
+    FP4_YYY_copy(&v,&(f->b));
+    FP4_YYY_div_i(&u);
+    FP4_YYY_copy(&(f->a),&v);
+    FP4_YYY_copy(&(f->b),&u);
 }
 
 void FP8_YYY_div_i2(FP8_YYY *f)
 {
-	FP4_YYY_div_i(&(f->a));
-	FP4_YYY_div_i(&(f->b));
+    FP4_YYY_div_i(&(f->a));
+    FP4_YYY_div_i(&(f->b));
 }
 
 
 void FP8_YYY_div_2i(FP8_YYY *f)
 {
-	FP4_YYY u,v;
-	FP4_YYY_copy(&u,&(f->a));
-	FP4_YYY_copy(&v,&(f->b));
-	FP4_YYY_div_2i(&u);
-	FP4_YYY_add(&v,&v,&v);
-	FP4_YYY_norm(&v);
-	FP4_YYY_copy(&(f->a),&v);
-	FP4_YYY_copy(&(f->b),&u);
+    FP4_YYY u,v;
+    FP4_YYY_copy(&u,&(f->a));
+    FP4_YYY_copy(&v,&(f->b));
+    FP4_YYY_div_2i(&u);
+    FP4_YYY_add(&v,&v,&v);
+    FP4_YYY_norm(&v);
+    FP4_YYY_copy(&(f->a),&v);
+    FP4_YYY_copy(&(f->b),&u);
 }
 
 #endif
diff --git a/version3/c/mpin.c b/version3/c/mpin.c
index 9d5d983..6c6ccdd 100644
--- a/version3/c/mpin.c
+++ b/version3/c/mpin.c
@@ -137,7 +137,7 @@
         if (su<0) su=-su;
         su%=2;
         map(&W,u,su);
-        ECP_ZZZ_sub(&P,&W); 
+        ECP_ZZZ_sub(&P,&W);
 
         rn=unmap(v,&sv,&P);
         m=RAND_byte(RNG);
@@ -169,7 +169,7 @@
         sv=(D->val[0]>>1)&1;
         map(&W,u,su);
         map(&P,v,sv);
-        ECP_ZZZ_add(&P,&W); 
+        ECP_ZZZ_add(&P,&W);
         ECP_ZZZ_toOctet(D,&P,false);
     }
 
@@ -188,7 +188,7 @@
     }
     if (res==0)
     {
-        ECP_ZZZ_add(&P,&T); 
+        ECP_ZZZ_add(&P,&T);
         ECP_ZZZ_toOctet(R,&P,false);
     }
     return res;
@@ -203,7 +203,7 @@
     if (!ECP2_ZZZ_fromOctet(&T,W2)) res=MPIN_INVALID_POINT;
     if (res==0)
     {
-        ECP2_ZZZ_add(&Q,&T); 
+        ECP2_ZZZ_add(&Q,&T);
         ECP2_ZZZ_toOctet(W,&Q);
     }
     return res;
@@ -246,7 +246,7 @@
         ECP_ZZZ_mapit(&R,&H);
 
         ECP_ZZZ_pinmul(&R,factor,facbits);
-        ECP_ZZZ_sub(&P,&R); 
+        ECP_ZZZ_sub(&P,&R);
 
         ECP_ZZZ_toOctet(TOKEN,&P,false);
     }
@@ -268,7 +268,7 @@
         ECP_ZZZ_mapit(&R,&H);
 
         ECP_ZZZ_pinmul(&R,factor,facbits);
-        ECP_ZZZ_add(&P,&R); 
+        ECP_ZZZ_add(&P,&R);
 
         ECP_ZZZ_toOctet(TOKEN,&P,false);
     }
@@ -436,7 +436,7 @@
                 PAIR_ZZZ_G1mul(&P,x);				// P=x.H(ID)
                 ECP_ZZZ_toOctet(xID,&P,false);  // xID
                 PAIR_ZZZ_G1mul(&W,x);               // W=x.H(T|ID)
-                ECP_ZZZ_add(&P,&W); 
+                ECP_ZZZ_add(&P,&W);
             }
             else
             {
@@ -456,9 +456,9 @@
     }
 
     if (res==0)
-	{
+    {
         ECP_ZZZ_toOctet(SEC,&T,false);  // V
-	}
+    }
     return res;
 }
 
@@ -471,7 +471,7 @@
 
     BIG_XXX_rcopy(r,CURVE_Order_ZZZ);
 
-	ECP2_ZZZ_generator(&Q);
+    ECP2_ZZZ_generator(&Q);
 
     if (res==0)
     {
@@ -531,7 +531,7 @@
         mhashit(sha,date,&H,&H);
 #endif
         ECP_ZZZ_mapit(&R,&H);
-        ECP_ZZZ_add(&P,&R); 
+        ECP_ZZZ_add(&P,&R);
         ECP_ZZZ_toOctet(HTID,&P,false);
     }
 }
@@ -539,13 +539,13 @@
 /* Implement M-Pin on server side */
 int MPIN_ZZZ_SERVER_2(int date,octet *HID,octet *HTID,octet *Y,octet *SST,octet *xID,octet *xCID,octet *mSEC,octet *E,octet *F,octet *Pa)
 {
-    BIG_XXX px,py,y;
+    BIG_XXX y;
     FP12_YYY g;
     ECP2_ZZZ Q,sQ;
     ECP_ZZZ P,R;
     int res=0;
 
-	ECP2_ZZZ_generator(&Q);
+    ECP2_ZZZ_generator(&Q);
 
     // key-escrow less scheme: use Pa instead of Q in pairing computation
     // Q left for backward compatiblity
@@ -563,11 +563,11 @@
     {
         if (date)
         {
-			if (!ECP_ZZZ_fromOctet(&R,xCID))  res=MPIN_INVALID_POINT;
+            if (!ECP_ZZZ_fromOctet(&R,xCID))  res=MPIN_INVALID_POINT;
         }
         else
         {
-			if (!ECP_ZZZ_fromOctet(&R,xID))  res=MPIN_INVALID_POINT;
+            if (!ECP_ZZZ_fromOctet(&R,xID))  res=MPIN_INVALID_POINT;
         }
     }
     if (res==0)
@@ -723,7 +723,7 @@
         }
         else
         {
-			ECP2_ZZZ_generator(&Q);
+            ECP2_ZZZ_generator(&Q);
         }
     }
     if (res==0)
@@ -921,7 +921,7 @@
 
     BIG_XXX_invmodp(z,z,r);
 
-	ECP2_ZZZ_generator(&Q);
+    ECP2_ZZZ_generator(&Q);
 
     if (res==0)
     {
diff --git a/version3/c/mpin.h b/version3/c/mpin.h
index 98c853c..e0c7227 100644
--- a/version3/c/mpin.h
+++ b/version3/c/mpin.h
@@ -18,7 +18,7 @@
 */
 
 /**
- * @file mpin.h
+ * @file mpin_ZZZ.h
  * @author Mike Scott
  * @brief M-Pin Header file
  *
diff --git a/version3/c/mpin192.c b/version3/c/mpin192.c
index 92b50ee..9520ddd 100644
--- a/version3/c/mpin192.c
+++ b/version3/c/mpin192.c
@@ -41,7 +41,7 @@
     int hlen=sha;
 
 
-	FP_YYY_redc(x,&(f->a.a.a));
+    FP_YYY_redc(x,&(f->a.a.a));
     BIG_XXX_toBytes(&t[0],x);
     FP_YYY_redc(x,&(f->a.a.b));
     BIG_XXX_toBytes(&t[MODBYTES_XXX],x);
@@ -50,7 +50,7 @@
     FP_YYY_redc(x,&(f->a.b.b));
     BIG_XXX_toBytes(&t[3*MODBYTES_XXX],x);
 
-	FP_YYY_redc(x,&(f->b.a.a));
+    FP_YYY_redc(x,&(f->b.a.a));
     BIG_XXX_toBytes(&t[4*MODBYTES_XXX],x);
     FP_YYY_redc(x,&(f->b.a.b));
     BIG_XXX_toBytes(&t[5*MODBYTES_XXX],x);
@@ -98,9 +98,10 @@
     BIG_XXX_mod(x,q);
 
     while (!ECP_ZZZ_setx(P,x,cb))
-	{
-        BIG_XXX_inc(x,1); BIG_XXX_norm(x);
-	}
+    {
+        BIG_XXX_inc(x,1);
+        BIG_XXX_norm(x);
+    }
 }
 
 /* returns u derived from P. Random value in range 1 to return value should then be added to u */
@@ -113,7 +114,8 @@
     BIG_XXX_copy(u,x);
     do
     {
-        BIG_XXX_dec(u,1); BIG_XXX_norm(u);
+        BIG_XXX_dec(u,1);
+        BIG_XXX_norm(u);
         r++;
     }
     while (!ECP_ZZZ_setx(P,u,s));
@@ -145,7 +147,7 @@
         if (su<0) su=-su;
         su%=2;
         map(&W,u,su);
-        ECP_ZZZ_sub(&P,&W); 
+        ECP_ZZZ_sub(&P,&W);
 
         rn=unmap(v,&sv,&P);
         m=RAND_byte(RNG);
@@ -177,7 +179,7 @@
         sv=(D->val[0]>>1)&1;
         map(&W,u,su);
         map(&P,v,sv);
-        ECP_ZZZ_add(&P,&W); 
+        ECP_ZZZ_add(&P,&W);
         ECP_ZZZ_toOctet(D,&P,false);
     }
 
@@ -196,7 +198,7 @@
     }
     if (res==0)
     {
-        ECP_ZZZ_add(&P,&T); 
+        ECP_ZZZ_add(&P,&T);
         ECP_ZZZ_toOctet(R,&P,false);
     }
     return res;
@@ -211,7 +213,7 @@
     if (!ECP4_ZZZ_fromOctet(&T,W2)) res=MPIN_INVALID_POINT;
     if (res==0)
     {
-        ECP4_ZZZ_add(&Q,&T); 
+        ECP4_ZZZ_add(&Q,&T);
         ECP4_ZZZ_toOctet(W,&Q);
     }
     return res;
@@ -235,8 +237,8 @@
 /* Extract PIN from TOKEN for identity CID */
 int MPIN_ZZZ_EXTRACT_PIN(int sha,octet *CID,int pin,octet *TOKEN)
 {
-	pin%=MAXPIN;
-	return MPIN_ZZZ_EXTRACT_FACTOR(sha,CID,pin,PBLEN,TOKEN);
+    pin%=MAXPIN;
+    return MPIN_ZZZ_EXTRACT_FACTOR(sha,CID,pin,PBLEN,TOKEN);
 }
 
 /* Extract a factor < 32 bits for identity CID */
@@ -254,7 +256,7 @@
         ECP_ZZZ_mapit(&R,&H);
 
         ECP_ZZZ_pinmul(&R,factor,facbits);
-        ECP_ZZZ_sub(&P,&R); 
+        ECP_ZZZ_sub(&P,&R);
 
         ECP_ZZZ_toOctet(TOKEN,&P,false);
     }
@@ -333,10 +335,10 @@
     {
         if (!ECP_ZZZ_fromOctet(&P,G)) res=MPIN_INVALID_POINT;
     }
-    else 
-	{
-		ECP_ZZZ_mapit(&P,G);
-	}
+    else
+    {
+        ECP_ZZZ_mapit(&P,G);
+    }
 
     if (res==0)
     {
@@ -464,9 +466,9 @@
     }
 
     if (res==0)
-	{
+    {
         ECP_ZZZ_toOctet(SEC,&T,false);  // V
-	}
+    }
     return res;
 }
 
@@ -479,7 +481,7 @@
 
     BIG_XXX_rcopy(r,CURVE_Order_ZZZ);
 
-	ECP4_ZZZ_generator(&Q);
+    ECP4_ZZZ_generator(&Q);
 
     if (res==0)
     {
@@ -521,7 +523,6 @@
     char h[MODBYTES_XXX];
     octet H= {0,sizeof(h),h};
     ECP_ZZZ P,R;
-	BIG_XXX x;
 
 #ifdef USE_ANONYMOUS
     ECP_ZZZ_mapit(&P,CID);
@@ -540,7 +541,7 @@
         mhashit(sha,date,&H,&H);
 #endif
         ECP_ZZZ_mapit(&R,&H);
-        ECP_ZZZ_add(&P,&R); 
+        ECP_ZZZ_add(&P,&R);
         ECP_ZZZ_toOctet(HTID,&P,false);
     }
 }
@@ -548,13 +549,13 @@
 /* Implement M-Pin on server side */
 int MPIN_ZZZ_SERVER_2(int date,octet *HID,octet *HTID,octet *Y,octet *SST,octet *xID,octet *xCID,octet *mSEC,octet *E,octet *F,octet *Pa)
 {
-    BIG_XXX px,py,y;
+    BIG_XXX y;
     FP24_YYY g;
     ECP4_ZZZ Q,sQ;
     ECP_ZZZ P,R;
     int res=0;
 
-	ECP4_ZZZ_generator(&Q);
+    ECP4_ZZZ_generator(&Q);
 
     // key-escrow less scheme: use Pa instead of Q in pairing computation
     // Q left for backward compatiblity
@@ -571,13 +572,13 @@
 
     if (res==0)
     {
-       if (date)
+        if (date)
         {
-			if (!ECP_ZZZ_fromOctet(&R,xCID))  res=MPIN_INVALID_POINT;
+            if (!ECP_ZZZ_fromOctet(&R,xCID))  res=MPIN_INVALID_POINT;
         }
         else
         {
-			if (!ECP_ZZZ_fromOctet(&R,xID))  res=MPIN_INVALID_POINT;
+            if (!ECP_ZZZ_fromOctet(&R,xID))  res=MPIN_INVALID_POINT;
         }
     }
     if (res==0)
@@ -720,7 +721,6 @@
     ECP_ZZZ P,T;
     ECP4_ZZZ Q;
     FP24_YYY g;
-	BIG_XXX x;
     int res=0;
 
     if (!ECP_ZZZ_fromOctet(&T,TOKEN)) res=MPIN_INVALID_POINT;
@@ -734,7 +734,7 @@
         }
         else
         {
-			ECP4_ZZZ_generator(&Q);
+            ECP4_ZZZ_generator(&Q);
         }
     }
     if (res==0)
@@ -758,7 +758,7 @@
 int MPIN_ZZZ_CLIENT_KEY(int sha,octet *G1,octet *G2,int pin,octet *R,octet *X,octet *H,octet *wCID,octet *CK)
 {
     FP24_YYY g1,g2;
-	FP8_YYY c;
+    FP8_YYY c;
 
     ECP_ZZZ W;
     int res=0;
@@ -781,10 +781,10 @@
         FP24_YYY_pinpow(&g2,pin,PBLEN);
         FP24_YYY_mul(&g1,&g2);
 
-		PAIR_ZZZ_G1mul(&W,x);
+        PAIR_ZZZ_G1mul(&W,x);
 
-		FP24_YYY_compow(&c,&g1,z,r);
-		mpin_hash(sha,&c,&W,CK);
+        FP24_YYY_compow(&c,&g1,z,r);
+        mpin_hash(sha,&c,&W,CK);
 
     }
     return res;
@@ -870,10 +870,10 @@
         return rtn;
 
     OCT_joctet(&M,pID);
-   if (MESSAGE!=NULL)
-   {
-       OCT_joctet(&M,MESSAGE);
-   }
+    if (MESSAGE!=NULL)
+    {
+        OCT_joctet(&M,MESSAGE);
+    }
 
     MPIN_ZZZ_GET_Y(sha,TimeValue,&M,Y);
 
@@ -900,10 +900,10 @@
     MPIN_ZZZ_SERVER_1(sha,date,ID,HID,HTID);
 
     OCT_joctet(&M,pU);
-   if (MESSAGE!=NULL)
-   {
-       OCT_joctet(&M,MESSAGE);
-   }
+    if (MESSAGE!=NULL)
+    {
+        OCT_joctet(&M,MESSAGE);
+    }
 
     MPIN_ZZZ_GET_Y(sha,TimeValue,&M,Y);
 
@@ -933,7 +933,7 @@
 
     BIG_XXX_invmodp(z,z,r);
 
-	ECP4_ZZZ_generator(&Q);
+    ECP4_ZZZ_generator(&Q);
 
     if (res==0)
     {
@@ -942,4 +942,4 @@
     }
 
     return res;
-}
\ No newline at end of file
+}
diff --git a/version3/c/mpin192.h b/version3/c/mpin192.h
index 79f562c..c457bd2 100644
--- a/version3/c/mpin192.h
+++ b/version3/c/mpin192.h
@@ -18,7 +18,7 @@
 */
 
 /**
- * @file mpin.h
+ * @file mpin_ZZZ.h
  * @author Mike Scott and Kealan McCusker
  * @date 2nd June 2015
  * @brief M-Pin Header file
diff --git a/version3/c/mpin256.c b/version3/c/mpin256.c
index d8d9ea3..fd91d28 100644
--- a/version3/c/mpin256.c
+++ b/version3/c/mpin256.c
@@ -42,9 +42,9 @@
     char t[18*MODBYTES_XXX];  // to hold 10 BIGs
     int hlen=sha;
 
-	FP_YYY_redc(x,&(f->a.a.a.a));
+    FP_YYY_redc(x,&(f->a.a.a.a));
     BIG_XXX_toBytes(&t[0],x);
-	FP_YYY_redc(x,&(f->a.a.a.b));
+    FP_YYY_redc(x,&(f->a.a.a.b));
     BIG_XXX_toBytes(&t[MODBYTES_XXX],x);
 
     FP_YYY_redc(x,&(f->a.a.b.a));
@@ -62,14 +62,14 @@
     FP_YYY_redc(x,&(f->a.b.b.b));
     BIG_XXX_toBytes(&t[7*MODBYTES_XXX],x);
 
-	FP_YYY_redc(x,&(f->b.a.a.a));
+    FP_YYY_redc(x,&(f->b.a.a.a));
     BIG_XXX_toBytes(&t[8*MODBYTES_XXX],x);
-	FP_YYY_redc(x,&(f->b.a.a.b));
+    FP_YYY_redc(x,&(f->b.a.a.b));
     BIG_XXX_toBytes(&t[9*MODBYTES_XXX],x);
 
     FP_YYY_redc(x,&(f->b.a.b.a));
     BIG_XXX_toBytes(&t[10*MODBYTES_XXX],x);
-	FP_YYY_redc(x,&(f->b.a.b.b));
+    FP_YYY_redc(x,&(f->b.a.b.b));
     BIG_XXX_toBytes(&t[11*MODBYTES_XXX],x);
 
     FP_YYY_redc(x,&(f->b.b.a.a));
@@ -121,9 +121,10 @@
     BIG_XXX_mod(x,q);
 
     while (!ECP_ZZZ_setx(P,x,cb))
-	{
-        BIG_XXX_inc(x,1); BIG_XXX_norm(x);
-	}
+    {
+        BIG_XXX_inc(x,1);
+        BIG_XXX_norm(x);
+    }
 }
 
 /* returns u derived from P. Random value in range 1 to return value should then be added to u */
@@ -136,7 +137,8 @@
     BIG_XXX_copy(u,x);
     do
     {
-        BIG_XXX_dec(u,1); BIG_XXX_norm(u);
+        BIG_XXX_dec(u,1);
+        BIG_XXX_norm(u);
         r++;
     }
     while (!ECP_ZZZ_setx(P,u,s));
@@ -168,7 +170,7 @@
         if (su<0) su=-su;
         su%=2;
         map(&W,u,su);
-        ECP_ZZZ_sub(&P,&W); 
+        ECP_ZZZ_sub(&P,&W);
 
         rn=unmap(v,&sv,&P);
         m=RAND_byte(RNG);
@@ -200,7 +202,7 @@
         sv=(D->val[0]>>1)&1;
         map(&W,u,su);
         map(&P,v,sv);
-        ECP_ZZZ_add(&P,&W); 
+        ECP_ZZZ_add(&P,&W);
         ECP_ZZZ_toOctet(D,&P,false);
     }
 
@@ -219,7 +221,7 @@
     }
     if (res==0)
     {
-        ECP_ZZZ_add(&P,&T); 
+        ECP_ZZZ_add(&P,&T);
         ECP_ZZZ_toOctet(R,&P,false);
     }
     return res;
@@ -234,7 +236,7 @@
     if (!ECP8_ZZZ_fromOctet(&T,W2)) res=MPIN_INVALID_POINT;
     if (res==0)
     {
-        ECP8_ZZZ_add(&Q,&T); 
+        ECP8_ZZZ_add(&Q,&T);
         ECP8_ZZZ_toOctet(W,&Q);
     }
     return res;
@@ -258,8 +260,8 @@
 /* Extract PIN from TOKEN for identity CID */
 int MPIN_ZZZ_EXTRACT_PIN(int sha,octet *CID,int pin,octet *TOKEN)
 {
-	pin%=MAXPIN;
-	return MPIN_ZZZ_EXTRACT_FACTOR(sha,CID,pin,PBLEN,TOKEN);
+    pin%=MAXPIN;
+    return MPIN_ZZZ_EXTRACT_FACTOR(sha,CID,pin,PBLEN,TOKEN);
 }
 
 /* Extract a factor < 32 bits for identity CID */
@@ -277,7 +279,7 @@
         ECP_ZZZ_mapit(&R,&H);
 
         ECP_ZZZ_pinmul(&R,factor,facbits);
-        ECP_ZZZ_sub(&P,&R); 
+        ECP_ZZZ_sub(&P,&R);
 
         ECP_ZZZ_toOctet(TOKEN,&P,false);
     }
@@ -299,7 +301,7 @@
         ECP_ZZZ_mapit(&R,&H);
 
         ECP_ZZZ_pinmul(&R,factor,facbits);
-        ECP_ZZZ_add(&P,&R); 
+        ECP_ZZZ_add(&P,&R);
 
         ECP_ZZZ_toOctet(TOKEN,&P,false);
     }
@@ -356,10 +358,10 @@
     {
         if (!ECP_ZZZ_fromOctet(&P,G)) res=MPIN_INVALID_POINT;
     }
-    else 
-	{
-		ECP_ZZZ_mapit(&P,G);
-	}
+    else
+    {
+        ECP_ZZZ_mapit(&P,G);
+    }
 
     if (res==0)
     {
@@ -467,11 +469,11 @@
                 PAIR_ZZZ_G1mul(&P,x);				// P=x.H(ID)
                 ECP_ZZZ_toOctet(xID,&P,false);  // xID
                 PAIR_ZZZ_G1mul(&W,x);               // W=x.H(T|ID)
-                ECP_ZZZ_add(&P,&W); 
+                ECP_ZZZ_add(&P,&W);
             }
             else
             {
-                ECP_ZZZ_add(&P,&W); 
+                ECP_ZZZ_add(&P,&W);
                 PAIR_ZZZ_G1mul(&P,x);
             }
             if (xCID!=NULL) ECP_ZZZ_toOctet(xCID,&P,false);  // U
@@ -487,9 +489,9 @@
     }
 
     if (res==0)
-	{
+    {
         ECP_ZZZ_toOctet(SEC,&T,false);  // V
-	}
+    }
     return res;
 }
 
@@ -502,7 +504,7 @@
 
     BIG_XXX_rcopy(r,CURVE_Order_ZZZ);
 
-	ECP8_ZZZ_generator(&Q);
+    ECP8_ZZZ_generator(&Q);
 
     if (res==0)
     {
@@ -544,7 +546,6 @@
     char h[MODBYTES_XXX];
     octet H= {0,sizeof(h),h};
     ECP_ZZZ P,R;
-	BIG_XXX x;
 
 #ifdef USE_ANONYMOUS
     ECP_ZZZ_mapit(&P,CID);
@@ -563,7 +564,7 @@
         mhashit(sha,date,&H,&H);
 #endif
         ECP_ZZZ_mapit(&R,&H);
-        ECP_ZZZ_add(&P,&R); 
+        ECP_ZZZ_add(&P,&R);
         ECP_ZZZ_toOctet(HTID,&P,false);
     }
 }
@@ -571,13 +572,13 @@
 /* Implement M-Pin on server side */
 int MPIN_ZZZ_SERVER_2(int date,octet *HID,octet *HTID,octet *Y,octet *SST,octet *xID,octet *xCID,octet *mSEC,octet *E,octet *F,octet *Pa)
 {
-    BIG_XXX px,py,y;
+    BIG_XXX y;
     FP48_YYY g;
     ECP8_ZZZ Q,sQ;
     ECP_ZZZ P,R;
     int res=0;
 
-	ECP8_ZZZ_generator(&Q);
+    ECP8_ZZZ_generator(&Q);
 
     // key-escrow less scheme: use Pa instead of Q in pairing computation
     // Q left for backward compatiblity
@@ -594,13 +595,13 @@
 
     if (res==0)
     {
-       if (date)
+        if (date)
         {
-			if (!ECP_ZZZ_fromOctet(&R,xCID))  res=MPIN_INVALID_POINT;
+            if (!ECP_ZZZ_fromOctet(&R,xCID))  res=MPIN_INVALID_POINT;
         }
         else
         {
-			if (!ECP_ZZZ_fromOctet(&R,xID))  res=MPIN_INVALID_POINT;
+            if (!ECP_ZZZ_fromOctet(&R,xID))  res=MPIN_INVALID_POINT;
         }
     }
     if (res==0)
@@ -742,7 +743,6 @@
     ECP_ZZZ P,T;
     ECP8_ZZZ Q;
     FP48_YYY g;
-	BIG_XXX x;
     int res=0;
 
     if (!ECP_ZZZ_fromOctet(&T,TOKEN)) res=MPIN_INVALID_POINT;
@@ -756,7 +756,7 @@
         }
         else
         {
-			ECP8_ZZZ_generator(&Q);
+            ECP8_ZZZ_generator(&Q);
         }
     }
     if (res==0)
@@ -780,7 +780,7 @@
 int MPIN_ZZZ_CLIENT_KEY(int sha,octet *G1,octet *G2,int pin,octet *R,octet *X,octet *H,octet *wCID,octet *CK)
 {
     FP48_YYY g1,g2;
-	FP16_YYY c;
+    FP16_YYY c;
 
     ECP_ZZZ W;
     int res=0;
@@ -803,10 +803,10 @@
         FP48_YYY_pinpow(&g2,pin,PBLEN);
         FP48_YYY_mul(&g1,&g2);
 
-		PAIR_ZZZ_G1mul(&W,x);
+        PAIR_ZZZ_G1mul(&W,x);
 
-		FP48_YYY_compow(&c,&g1,z,r);
-		mpin_hash(sha,&c,&W,CK);
+        FP48_YYY_compow(&c,&g1,z,r);
+        mpin_hash(sha,&c,&W,CK);
 
     }
     return res;
@@ -892,10 +892,10 @@
         return rtn;
 
     OCT_joctet(&M,pID);
-   if (MESSAGE!=NULL)
-   {
-       OCT_joctet(&M,MESSAGE);
-   }
+    if (MESSAGE!=NULL)
+    {
+        OCT_joctet(&M,MESSAGE);
+    }
 
     MPIN_ZZZ_GET_Y(sha,TimeValue,&M,Y);
 
@@ -922,10 +922,10 @@
     MPIN_ZZZ_SERVER_1(sha,date,ID,HID,HTID);
 
     OCT_joctet(&M,pU);
-   if (MESSAGE!=NULL)
-   {
-       OCT_joctet(&M,MESSAGE);
-   }
+    if (MESSAGE!=NULL)
+    {
+        OCT_joctet(&M,MESSAGE);
+    }
 
     MPIN_ZZZ_GET_Y(sha,TimeValue,&M,Y);
 
@@ -955,7 +955,7 @@
 
     BIG_XXX_invmodp(z,z,r);
 
-	ECP8_ZZZ_generator(&Q);
+    ECP8_ZZZ_generator(&Q);
 
     if (res==0)
     {
diff --git a/version3/c/mpin256.h b/version3/c/mpin256.h
index 46ba21a..3307e57 100644
--- a/version3/c/mpin256.h
+++ b/version3/c/mpin256.h
@@ -18,7 +18,7 @@
 */
 
 /**
- * @file mpin.h
+ * @file mpin_ZZZ.h
  * @author Mike Scott and Kealan McCusker
  * @date 2nd June 2015
  * @brief M-Pin Header file
diff --git a/version3/c/oct.c b/version3/c/oct.c
index 866c96c..cb9c067 100644
--- a/version3/c/oct.c
+++ b/version3/c/oct.c
@@ -93,7 +93,7 @@
         res|=(int)(x->val[i]^y->val[i]);
     }
     if (res==0) return 1;
-	return 0;
+    return 0;
 }
 
 /* Shift octet to the left by n bytes. Leftmost bytes disappear  */
diff --git a/version3/c/pair.c b/version3/c/pair.c
index 47265fa..8faf54a 100644
--- a/version3/c/pair.c
+++ b/version3/c/pair.c
@@ -131,20 +131,20 @@
     }
 
     FP12_YYY_from_FP4s(v,&a,&b,&c);
-	v->type=FP_SPARSER;
+    v->type=AMCL_AMCL_FP_SPARSER;
 }
 
 
 /* prepare ate parameter, n=6u+2 (BN) or n=u (BLS), n3=3*n */
 int PAIR_ZZZ_nbits(BIG_XXX n3,BIG_XXX n)
 {
-	BIG_XXX x;
+    BIG_XXX x;
     BIG_XXX_rcopy(x,CURVE_Bnx_ZZZ);
 
 #if PAIRING_FRIENDLY_ZZZ==BN
     BIG_XXX_pmul(n,x,6);
 #if SIGN_OF_X_ZZZ==POSITIVEX
-	BIG_XXX_inc(n,2);
+    BIG_XXX_inc(n,2);
 #else
     BIG_XXX_dec(n,2);
 #endif
@@ -154,8 +154,8 @@
 #endif
 
     BIG_XXX_norm(n);
-	BIG_XXX_pmul(n3,n,3);
-	BIG_XXX_norm(n3);
+    BIG_XXX_pmul(n3,n,3);
+    BIG_XXX_norm(n3);
 
     return BIG_XXX_nbits(n3);
 }
@@ -172,97 +172,98 @@
 /* prepare for multi-pairing */
 void PAIR_ZZZ_initmp(FP12_YYY r[])
 {
-	int i;
-	for (i=ATE_BITS_ZZZ-1; i>=0; i--)
-		FP12_YYY_one(&r[i]);
-	return;
+    int i;
+    for (i=ATE_BITS_ZZZ-1; i>=0; i--)
+        FP12_YYY_one(&r[i]);
+    return;
 }
 
 /* basic Miller loop */
 void PAIR_ZZZ_miller(FP12_YYY *res,FP12_YYY r[])
 {
-	int i;
+    int i;
     FP12_YYY_one(res);
-	for (i=ATE_BITS_ZZZ-1; i>=1; i--)
-	{
-		FP12_YYY_sqr(res,res);
-		FP12_YYY_ssmul(res,&r[i]);
-	}
+    for (i=ATE_BITS_ZZZ-1; i>=1; i--)
+    {
+        FP12_YYY_sqr(res,res);
+        FP12_YYY_ssmul(res,&r[i]);
+    }
 
 #if SIGN_OF_X_ZZZ==NEGATIVEX
     FP12_YYY_conj(res,res);
 #endif
-	FP12_YYY_ssmul(res,&r[0]);
-	return;
+    FP12_YYY_ssmul(res,&r[0]);
+    return;
 }
 
 /* Accumulate another set of line functions for n-pairing */
 void PAIR_ZZZ_another(FP12_YYY r[],ECP2_ZZZ* PV,ECP_ZZZ* QV)
 {
-    int i,j,nb,bt;
-	BIG_XXX x,n,n3;
+    int i,nb,bt;
+    BIG_XXX n,n3;
     FP12_YYY lv,lv2;
     ECP2_ZZZ A,NP,P;
-	ECP_ZZZ Q;
-	FP_YYY Qx,Qy;
+    ECP_ZZZ Q;
+    FP_YYY Qx,Qy;
 #if PAIRING_FRIENDLY_ZZZ==BN
-	ECP2_ZZZ K;
+    ECP2_ZZZ K;
     FP2_YYY X;
     FP_YYY_rcopy(&Qx,Fra_YYY);
     FP_YYY_rcopy(&Qy,Frb_YYY);
     FP2_YYY_from_FPs(&X,&Qx,&Qy);
 #if SEXTIC_TWIST_ZZZ==M_TYPE
-	FP2_YYY_inv(&X,&X);
-	FP2_YYY_norm(&X);
+    FP2_YYY_inv(&X,&X);
+    FP2_YYY_norm(&X);
 #endif
 #endif
 
-	nb=PAIR_ZZZ_nbits(n3,n);
+    nb=PAIR_ZZZ_nbits(n3,n);
 
-	ECP2_ZZZ_copy(&P,PV);
-	ECP_ZZZ_copy(&Q,QV);
+    ECP2_ZZZ_copy(&P,PV);
+    ECP_ZZZ_copy(&Q,QV);
 
-	ECP2_ZZZ_affine(&P);
-	ECP_ZZZ_affine(&Q);
+    ECP2_ZZZ_affine(&P);
+    ECP_ZZZ_affine(&Q);
 
-	FP_YYY_copy(&Qx,&(Q.x));
-	FP_YYY_copy(&Qy,&(Q.y));
+    FP_YYY_copy(&Qx,&(Q.x));
+    FP_YYY_copy(&Qy,&(Q.y));
 
-	ECP2_ZZZ_copy(&A,&P);
-	ECP2_ZZZ_copy(&NP,&P); ECP2_ZZZ_neg(&NP);
+    ECP2_ZZZ_copy(&A,&P);
+    ECP2_ZZZ_copy(&NP,&P);
+    ECP2_ZZZ_neg(&NP);
 
-	for (i=nb-2; i>=1; i--)
-	{
-		PAIR_ZZZ_line(&lv,&A,&A,&Qx,&Qy);
+    for (i=nb-2; i>=1; i--)
+    {
+        PAIR_ZZZ_line(&lv,&A,&A,&Qx,&Qy);
 
-		bt=BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i); // bt=BIG_bit(n,i);
-		if (bt==1)
-		{
-			PAIR_ZZZ_line(&lv2,&A,&P,&Qx,&Qy);
-			FP12_YYY_smul(&lv,&lv2);
-		}
-		if (bt==-1)
-		{
-			PAIR_ZZZ_line(&lv2,&A,&NP,&Qx,&Qy);
-			FP12_YYY_smul(&lv,&lv2);
-		}
-		FP12_YYY_ssmul(&r[i],&lv);
-	}
+        bt=BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i); // bt=BIG_bit(n,i);
+        if (bt==1)
+        {
+            PAIR_ZZZ_line(&lv2,&A,&P,&Qx,&Qy);
+            FP12_YYY_smul(&lv,&lv2);
+        }
+        if (bt==-1)
+        {
+            PAIR_ZZZ_line(&lv2,&A,&NP,&Qx,&Qy);
+            FP12_YYY_smul(&lv,&lv2);
+        }
+        FP12_YYY_ssmul(&r[i],&lv);
+    }
 
 #if PAIRING_FRIENDLY_ZZZ==BN
 
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	ECP2_ZZZ_neg(&A);
+    ECP2_ZZZ_neg(&A);
 #endif
 
-	ECP2_ZZZ_copy(&K,&P);
-	ECP2_ZZZ_frob(&K,&X);
-	PAIR_ZZZ_line(&lv,&A,&K,&Qx,&Qy);
-	ECP2_ZZZ_frob(&K,&X);
-	ECP2_ZZZ_neg(&K);
-	PAIR_ZZZ_line(&lv2,&A,&K,&Qx,&Qy);
-	FP12_YYY_smul(&lv,&lv2);
-	FP12_YYY_ssmul(&r[0],&lv);
+    ECP2_ZZZ_copy(&K,&P);
+    ECP2_ZZZ_frob(&K,&X);
+    PAIR_ZZZ_line(&lv,&A,&K,&Qx,&Qy);
+    ECP2_ZZZ_frob(&K,&X);
+    ECP2_ZZZ_neg(&K);
+    PAIR_ZZZ_line(&lv2,&A,&K,&Qx,&Qy);
+    FP12_YYY_smul(&lv,&lv2);
+    FP12_YYY_ssmul(&r[0],&lv);
 
 #endif
 }
@@ -270,12 +271,11 @@
 /* Optimal R-ate pairing r=e(P,Q) */
 void PAIR_ZZZ_ate(FP12_YYY *r,ECP2_ZZZ *P1,ECP_ZZZ *Q1)
 {
-
-    BIG_XXX x,n,n3;
+    BIG_XXX n,n3;
     FP_YYY Qx,Qy;
     int i,nb,bt;
     ECP2_ZZZ A,NP,P;
-	ECP_ZZZ Q;
+    ECP_ZZZ Q;
     FP12_YYY lv,lv2;
 #if PAIRING_FRIENDLY_ZZZ==BN
     ECP2_ZZZ KA;
@@ -291,46 +291,47 @@
 #endif
 #endif
 
-	nb=PAIR_ZZZ_nbits(n3,n);
+    nb=PAIR_ZZZ_nbits(n3,n);
 
-	ECP2_ZZZ_copy(&P,P1);
-	ECP_ZZZ_copy(&Q,Q1);
+    ECP2_ZZZ_copy(&P,P1);
+    ECP_ZZZ_copy(&Q,Q1);
 
-	ECP2_ZZZ_affine(&P);
-	ECP_ZZZ_affine(&Q);
+    ECP2_ZZZ_affine(&P);
+    ECP_ZZZ_affine(&Q);
 
     FP_YYY_copy(&Qx,&(Q.x));
     FP_YYY_copy(&Qy,&(Q.y));
 
     ECP2_ZZZ_copy(&A,&P);
-	ECP2_ZZZ_copy(&NP,&P); ECP2_ZZZ_neg(&NP);
+    ECP2_ZZZ_copy(&NP,&P);
+    ECP2_ZZZ_neg(&NP);
 
     FP12_YYY_one(r);
 
     /* Main Miller Loop */
     for (i=nb-2; i>=1; i--)   //0
     {
-		FP12_YYY_sqr(r,r);
+        FP12_YYY_sqr(r,r);
         PAIR_ZZZ_line(&lv,&A,&A,&Qx,&Qy);
 
-		bt=BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i); // bt=BIG_bit(n,i);
+        bt=BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i); // bt=BIG_bit(n,i);
         if (bt==1)
         {
             PAIR_ZZZ_line(&lv2,&A,&P,&Qx,&Qy);
             FP12_YYY_smul(&lv,&lv2);
         }
-		if (bt==-1)
-		{
+        if (bt==-1)
+        {
             PAIR_ZZZ_line(&lv2,&A,&NP,&Qx,&Qy);
             FP12_YYY_smul(&lv,&lv2);
-		}
-		FP12_YYY_ssmul(r,&lv);
+        }
+        FP12_YYY_ssmul(r,&lv);
 
     }
 
 
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP12_YYY_conj(r,r);
+    FP12_YYY_conj(r,r);
 #endif
 
     /* R-ate fixup required for BN curves */
@@ -346,7 +347,7 @@
     ECP2_ZZZ_frob(&KA,&X);
     ECP2_ZZZ_neg(&KA);
     PAIR_ZZZ_line(&lv2,&A,&KA,&Qx,&Qy);
-	FP12_YYY_smul(&lv,&lv2);
+    FP12_YYY_smul(&lv,&lv2);
     FP12_YYY_ssmul(r,&lv);
 #endif
 }
@@ -354,11 +355,11 @@
 /* Optimal R-ate double pairing e(P,Q).e(R,S) */
 void PAIR_ZZZ_double_ate(FP12_YYY *r,ECP2_ZZZ *P1,ECP_ZZZ *Q1,ECP2_ZZZ *R1,ECP_ZZZ *S1)
 {
-    BIG_XXX x,n,n3;
+    BIG_XXX n,n3;
     FP_YYY Qx,Qy,Sx,Sy;
     int i,nb,bt;
     ECP2_ZZZ A,B,NP,NR,P,R;
-	ECP_ZZZ Q,S;
+    ECP_ZZZ Q,S;
     FP12_YYY lv,lv2;
 #if PAIRING_FRIENDLY_ZZZ==BN
     FP2_YYY X;
@@ -373,19 +374,19 @@
     FP2_YYY_norm(&X);
 #endif
 #endif
-	nb=PAIR_ZZZ_nbits(n3,n);
+    nb=PAIR_ZZZ_nbits(n3,n);
 
-	ECP2_ZZZ_copy(&P,P1);
-	ECP_ZZZ_copy(&Q,Q1);
+    ECP2_ZZZ_copy(&P,P1);
+    ECP_ZZZ_copy(&Q,Q1);
 
-	ECP2_ZZZ_affine(&P);
-	ECP_ZZZ_affine(&Q);
+    ECP2_ZZZ_affine(&P);
+    ECP_ZZZ_affine(&Q);
 
-	ECP2_ZZZ_copy(&R,R1);
-	ECP_ZZZ_copy(&S,S1);
+    ECP2_ZZZ_copy(&R,R1);
+    ECP_ZZZ_copy(&S,S1);
 
-	ECP2_ZZZ_affine(&R);
-	ECP_ZZZ_affine(&S);
+    ECP2_ZZZ_affine(&R);
+    ECP_ZZZ_affine(&S);
 
     FP_YYY_copy(&Qx,&(Q.x));
     FP_YYY_copy(&Qy,&(Q.y));
@@ -396,8 +397,10 @@
     ECP2_ZZZ_copy(&A,&P);
     ECP2_ZZZ_copy(&B,&R);
 
-	ECP2_ZZZ_copy(&NP,&P); ECP2_ZZZ_neg(&NP);
-	ECP2_ZZZ_copy(&NR,&R); ECP2_ZZZ_neg(&NR);
+    ECP2_ZZZ_copy(&NP,&P);
+    ECP2_ZZZ_neg(&NP);
+    ECP2_ZZZ_copy(&NR,&R);
+    ECP2_ZZZ_neg(&NR);
 
     FP12_YYY_one(r);
 
@@ -407,24 +410,24 @@
         FP12_YYY_sqr(r,r);
         PAIR_ZZZ_line(&lv,&A,&A,&Qx,&Qy);
         PAIR_ZZZ_line(&lv2,&B,&B,&Sx,&Sy);
-		FP12_YYY_smul(&lv,&lv2);
+        FP12_YYY_smul(&lv,&lv2);
         FP12_YYY_ssmul(r,&lv);
 
-		bt=BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i); // bt=BIG_bit(n,i);
+        bt=BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i); // bt=BIG_bit(n,i);
         if (bt==1)
         {
             PAIR_ZZZ_line(&lv,&A,&P,&Qx,&Qy);
             PAIR_ZZZ_line(&lv2,&B,&R,&Sx,&Sy);
-			FP12_YYY_smul(&lv,&lv2);
+            FP12_YYY_smul(&lv,&lv2);
             FP12_YYY_ssmul(r,&lv);
         }
-		if (bt==-1)
-		{
+        if (bt==-1)
+        {
             PAIR_ZZZ_line(&lv,&A,&NP,&Qx,&Qy);
             PAIR_ZZZ_line(&lv2,&B,&NR,&Sx,&Sy);
-			FP12_YYY_smul(&lv,&lv2);
+            FP12_YYY_smul(&lv,&lv2);
             FP12_YYY_ssmul(r,&lv);
-		}
+        }
 
     }
 
@@ -432,7 +435,7 @@
     /* R-ate fixup required for BN curves */
 
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP12_YYY_conj(r,r);
+    FP12_YYY_conj(r,r);
 #endif
 
 #if PAIRING_FRIENDLY_ZZZ==BN
@@ -448,7 +451,7 @@
     ECP2_ZZZ_frob(&K,&X);
     ECP2_ZZZ_neg(&K);
     PAIR_ZZZ_line(&lv2,&A,&K,&Qx,&Qy);
-	FP12_YYY_smul(&lv,&lv2);
+    FP12_YYY_smul(&lv,&lv2);
     FP12_YYY_ssmul(r,&lv);
 
     ECP2_ZZZ_copy(&K,&R);
@@ -457,7 +460,7 @@
     ECP2_ZZZ_frob(&K,&X);
     ECP2_ZZZ_neg(&K);
     PAIR_ZZZ_line(&lv2,&B,&K,&Sx,&Sy);
-	FP12_YYY_smul(&lv,&lv2);
+    FP12_YYY_smul(&lv,&lv2);
     FP12_YYY_ssmul(r,&lv);
 #endif
 }
@@ -487,11 +490,11 @@
     FP12_YYY_frob(r,&X);
     FP12_YYY_mul(r,&t0);
 
-	if (FP12_YYY_isunity(r))
-	{
-		FP12_YYY_zero(r);
-		return;
-	}
+    if (FP12_YYY_isunity(r))
+    {
+        FP12_YYY_zero(r);
+        return;
+    }
 
     /* Hard part of final exp - see Duquesne & Ghamman eprint 2015/192.pdf */
 #if PAIRING_FRIENDLY_ZZZ==BN
@@ -724,7 +727,8 @@
     BIG_XXX_rcopy(q,CURVE_Order_ZZZ);
     glv(u,e);
 
-    ECP_ZZZ_copy(&Q,P); ECP_ZZZ_affine(&Q);
+    ECP_ZZZ_copy(&Q,P);
+    ECP_ZZZ_affine(&Q);
     FP_YYY_rcopy(&cru,CURVE_Cru_ZZZ);
     FP_YYY_mul(&(Q.x),&(Q.x),&cru);
 
@@ -795,7 +799,7 @@
             BIG_XXX_copy(u[i],x);
             ECP2_ZZZ_neg(&Q[i]);
         }
-        BIG_XXX_norm(u[i]);    
+        BIG_XXX_norm(u[i]);
     }
 
     ECP2_ZZZ_mul4(P,Q,u);
diff --git a/version3/c/pair.h b/version3/c/pair.h
index f03b329..a7350bd 100644
--- a/version3/c/pair.h
+++ b/version3/c/pair.h
@@ -18,7 +18,7 @@
 */
 
 /**
- * @file pair.h
+ * @file pair_ZZZ.h
  * @author Mike Scott
  * @brief PAIR Header File
  *
diff --git a/version3/c/pair192.c b/version3/c/pair192.c
index 790a2d7..3e6f966 100644
--- a/version3/c/pair192.c
+++ b/version3/c/pair192.c
@@ -27,124 +27,124 @@
 /* Line function */
 static void PAIR_ZZZ_line(FP24_YYY *v,ECP4_ZZZ *A,ECP4_ZZZ *B,FP_YYY *Qx,FP_YYY *Qy)
 {
-	FP4_YYY X1,Y1,T1,T2;
-	FP4_YYY XX,YY,ZZ,YZ;
+    FP4_YYY X1,Y1,T1,T2;
+    FP4_YYY XX,YY,ZZ,YZ;
     FP8_YYY a,b,c;
 
-	if (A==B)
+    if (A==B)
     {
         /* doubling */
- 		FP4_YYY_copy(&XX,&(A->x));	//FP4_YYY XX=new FP4_YYY(A.getx());  //X
-		FP4_YYY_copy(&YY,&(A->y));	//FP4_YYY YY=new FP4_YYY(A.gety());  //Y
-		FP4_YYY_copy(&ZZ,&(A->z));	//FP4_YYY ZZ=new FP4_YYY(A.getz());  //Z
+        FP4_YYY_copy(&XX,&(A->x));	//FP4_YYY XX=new FP4_YYY(A.getx());  //X
+        FP4_YYY_copy(&YY,&(A->y));	//FP4_YYY YY=new FP4_YYY(A.gety());  //Y
+        FP4_YYY_copy(&ZZ,&(A->z));	//FP4_YYY ZZ=new FP4_YYY(A.getz());  //Z
 
 
-		FP4_YYY_copy(&YZ,&YY);		//FP4_YYY YZ=new FP4_YYY(YY);        //Y 
-		FP4_YYY_mul(&YZ,&YZ,&ZZ);		//YZ.mul(ZZ);                //YZ
-		FP4_YYY_sqr(&XX,&XX);		//XX.sqr();	               //X^2
-		FP4_YYY_sqr(&YY,&YY);		//YY.sqr();	               //Y^2
-		FP4_YYY_sqr(&ZZ,&ZZ);		//ZZ.sqr();			       //Z^2
-			
-		FP4_YYY_imul(&YZ,&YZ,4);	//YZ.imul(4);
-		FP4_YYY_neg(&YZ,&YZ);		//YZ.neg(); 
-		FP4_YYY_norm(&YZ);			//YZ.norm();       //-4YZ
+        FP4_YYY_copy(&YZ,&YY);		//FP4_YYY YZ=new FP4_YYY(YY);        //Y
+        FP4_YYY_mul(&YZ,&YZ,&ZZ);		//YZ.mul(ZZ);                //YZ
+        FP4_YYY_sqr(&XX,&XX);		//XX.sqr();	               //X^2
+        FP4_YYY_sqr(&YY,&YY);		//YY.sqr();	               //Y^2
+        FP4_YYY_sqr(&ZZ,&ZZ);		//ZZ.sqr();			       //Z^2
 
-		FP4_YYY_imul(&XX,&XX,6);					//6X^2
-		FP4_YYY_qmul(&XX,&XX,Qx);	               //6X^2.Xs
+        FP4_YYY_imul(&YZ,&YZ,4);	//YZ.imul(4);
+        FP4_YYY_neg(&YZ,&YZ);		//YZ.neg();
+        FP4_YYY_norm(&YZ);			//YZ.norm();       //-4YZ
 
-		FP4_YYY_imul(&ZZ,&ZZ,3*CURVE_B_I_ZZZ);	//3Bz^2 
+        FP4_YYY_imul(&XX,&XX,6);					//6X^2
+        FP4_YYY_qmul(&XX,&XX,Qx);	               //6X^2.Xs
 
-		FP4_YYY_qmul(&YZ,&YZ,Qy);	//-4YZ.Ys
+        FP4_YYY_imul(&ZZ,&ZZ,3*CURVE_B_I_ZZZ);	//3Bz^2
+
+        FP4_YYY_qmul(&YZ,&YZ,Qy);	//-4YZ.Ys
 
 #if SEXTIC_TWIST_ZZZ==D_TYPE
-		FP4_YYY_div_2i(&ZZ);		//6(b/i)z^2
+        FP4_YYY_div_2i(&ZZ);		//6(b/i)z^2
 #endif
 #if SEXTIC_TWIST_ZZZ==M_TYPE
-		FP4_YYY_times_i(&ZZ);
-		FP4_YYY_add(&ZZ,&ZZ,&ZZ);  // 6biz^2
-		FP4_YYY_times_i(&YZ);
-		FP4_YYY_norm(&YZ);	
+        FP4_YYY_times_i(&ZZ);
+        FP4_YYY_add(&ZZ,&ZZ,&ZZ);  // 6biz^2
+        FP4_YYY_times_i(&YZ);
+        FP4_YYY_norm(&YZ);
 #endif
-		FP4_YYY_norm(&ZZ);			// 6bi.Z^2 
+        FP4_YYY_norm(&ZZ);			// 6bi.Z^2
 
-		FP4_YYY_add(&YY,&YY,&YY);	// 2y^2
-		FP4_YYY_sub(&ZZ,&ZZ,&YY);	// 
-		FP4_YYY_norm(&ZZ);			// 6b.Z^2-2Y^2
+        FP4_YYY_add(&YY,&YY,&YY);	// 2y^2
+        FP4_YYY_sub(&ZZ,&ZZ,&YY);	//
+        FP4_YYY_norm(&ZZ);			// 6b.Z^2-2Y^2
 
-		FP8_YYY_from_FP4s(&a,&YZ,&ZZ); // -4YZ.Ys | 6b.Z^2-2Y^2 | 6X^2.Xs 
+        FP8_YYY_from_FP4s(&a,&YZ,&ZZ); // -4YZ.Ys | 6b.Z^2-2Y^2 | 6X^2.Xs
 #if SEXTIC_TWIST_ZZZ==D_TYPE
-		FP8_YYY_from_FP4(&b,&XX);	
-		FP8_YYY_zero(&c);
+        FP8_YYY_from_FP4(&b,&XX);
+        FP8_YYY_zero(&c);
 #endif
 #if SEXTIC_TWIST_ZZZ==M_TYPE
-		FP8_YYY_zero(&b);
-		FP8_YYY_from_FP4H(&c,&XX);
+        FP8_YYY_zero(&b);
+        FP8_YYY_from_FP4H(&c,&XX);
 #endif
 
-		ECP4_ZZZ_dbl(A);				//A.dbl();
+        ECP4_ZZZ_dbl(A);				//A.dbl();
     }
     else
     {
         /* addition */
 
-		FP4_YYY_copy(&X1,&(A->x));		//FP4_YYY X1=new FP4_YYY(A.getx());    // X1
-		FP4_YYY_copy(&Y1,&(A->y));		//FP4_YYY Y1=new FP4_YYY(A.gety());    // Y1
-		FP4_YYY_copy(&T1,&(A->z));		//FP4_YYY T1=new FP4_YYY(A.getz());    // Z1
-			
-		FP4_YYY_copy(&T2,&T1);		//FP4_YYY T2=new FP4_YYY(A.getz());    // Z1
+        FP4_YYY_copy(&X1,&(A->x));		//FP4_YYY X1=new FP4_YYY(A.getx());    // X1
+        FP4_YYY_copy(&Y1,&(A->y));		//FP4_YYY Y1=new FP4_YYY(A.gety());    // Y1
+        FP4_YYY_copy(&T1,&(A->z));		//FP4_YYY T1=new FP4_YYY(A.getz());    // Z1
 
-		FP4_YYY_mul(&T1,&T1,&(B->y));	//T1.mul(B.gety());    // T1=Z1.Y2 
-		FP4_YYY_mul(&T2,&T2,&(B->x));	//T2.mul(B.getx());    // T2=Z1.X2
+        FP4_YYY_copy(&T2,&T1);		//FP4_YYY T2=new FP4_YYY(A.getz());    // Z1
 
-		FP4_YYY_sub(&X1,&X1,&T2);		//X1.sub(T2); 
-		FP4_YYY_norm(&X1);				//X1.norm();  // X1=X1-Z1.X2
-		FP4_YYY_sub(&Y1,&Y1,&T1);		//Y1.sub(T1); 
-		FP4_YYY_norm(&Y1);				//Y1.norm();  // Y1=Y1-Z1.Y2
+        FP4_YYY_mul(&T1,&T1,&(B->y));	//T1.mul(B.gety());    // T1=Z1.Y2
+        FP4_YYY_mul(&T2,&T2,&(B->x));	//T2.mul(B.getx());    // T2=Z1.X2
 
-		FP4_YYY_copy(&T1,&X1);			//T1.copy(X1);            // T1=X1-Z1.X2
+        FP4_YYY_sub(&X1,&X1,&T2);		//X1.sub(T2);
+        FP4_YYY_norm(&X1);				//X1.norm();  // X1=X1-Z1.X2
+        FP4_YYY_sub(&Y1,&Y1,&T1);		//Y1.sub(T1);
+        FP4_YYY_norm(&Y1);				//Y1.norm();  // Y1=Y1-Z1.Y2
 
-		FP4_YYY_qmul(&X1,&X1,Qy);		//X1.pmul(Qy);            // X1=(X1-Z1.X2).Ys
+        FP4_YYY_copy(&T1,&X1);			//T1.copy(X1);            // T1=X1-Z1.X2
+
+        FP4_YYY_qmul(&X1,&X1,Qy);		//X1.pmul(Qy);            // X1=(X1-Z1.X2).Ys
 #if SEXTIC_TWIST_ZZZ==M_TYPE
-		FP4_YYY_times_i(&X1);
-		FP4_YYY_norm(&X1);
+        FP4_YYY_times_i(&X1);
+        FP4_YYY_norm(&X1);
 #endif
 
-		FP4_YYY_mul(&T1,&T1,&(B->y));	//T1.mul(B.gety());       // T1=(X1-Z1.X2).Y2
+        FP4_YYY_mul(&T1,&T1,&(B->y));	//T1.mul(B.gety());       // T1=(X1-Z1.X2).Y2
 
-		FP4_YYY_copy(&T2,&Y1);			//T2.copy(Y1);            // T2=Y1-Z1.Y2
-		FP4_YYY_mul(&T2,&T2,&(B->x));	//T2.mul(B.getx());       // T2=(Y1-Z1.Y2).X2
-		FP4_YYY_sub(&T2,&T2,&T1);		//T2.sub(T1); 
-		FP4_YYY_norm(&T2);				//T2.norm();          // T2=(Y1-Z1.Y2).X2 - (X1-Z1.X2).Y2
-		FP4_YYY_qmul(&Y1,&Y1,Qx);		//Y1.pmul(Qx);  
-		FP4_YYY_neg(&Y1,&Y1);			//Y1.neg(); 
-		FP4_YYY_norm(&Y1);				//Y1.norm(); // Y1=-(Y1-Z1.Y2).Xs
+        FP4_YYY_copy(&T2,&Y1);			//T2.copy(Y1);            // T2=Y1-Z1.Y2
+        FP4_YYY_mul(&T2,&T2,&(B->x));	//T2.mul(B.getx());       // T2=(Y1-Z1.Y2).X2
+        FP4_YYY_sub(&T2,&T2,&T1);		//T2.sub(T1);
+        FP4_YYY_norm(&T2);				//T2.norm();          // T2=(Y1-Z1.Y2).X2 - (X1-Z1.X2).Y2
+        FP4_YYY_qmul(&Y1,&Y1,Qx);		//Y1.pmul(Qx);
+        FP4_YYY_neg(&Y1,&Y1);			//Y1.neg();
+        FP4_YYY_norm(&Y1);				//Y1.norm(); // Y1=-(Y1-Z1.Y2).Xs
 
-		FP8_YYY_from_FP4s(&a,&X1,&T2);	// (X1-Z1.X2).Ys  |  (Y1-Z1.Y2).X2 - (X1-Z1.X2).Y2  | - (Y1-Z1.Y2).Xs
+        FP8_YYY_from_FP4s(&a,&X1,&T2);	// (X1-Z1.X2).Ys  |  (Y1-Z1.Y2).X2 - (X1-Z1.X2).Y2  | - (Y1-Z1.Y2).Xs
 #if SEXTIC_TWIST_ZZZ==D_TYPE
-		FP8_YYY_from_FP4(&b,&Y1);		//b=new FP4(Y1);
-		FP8_YYY_zero(&c);
+        FP8_YYY_from_FP4(&b,&Y1);		//b=new FP4(Y1);
+        FP8_YYY_zero(&c);
 #endif
 #if SEXTIC_TWIST_ZZZ==M_TYPE
-		FP8_YYY_zero(&b);
-		FP8_YYY_from_FP4H(&c,&Y1);		//b=new FP4(Y1);
+        FP8_YYY_zero(&b);
+        FP8_YYY_from_FP4H(&c,&Y1);		//b=new FP4(Y1);
 #endif
-		ECP4_ZZZ_add(A,B);			//A.add(B);
+        ECP4_ZZZ_add(A,B);			//A.add(B);
     }
 
     FP24_YYY_from_FP8s(v,&a,&b,&c);
-	v->type=FP_SPARSER;
+    v->type=AMCL_AMCL_FP_SPARSER;
 }
 
 /* prepare ate parameter, n=6u+2 (BN) or n=u (BLS), n3=3*n */
 int PAIR_ZZZ_nbits(BIG_XXX n3,BIG_XXX n)
 {
-	BIG_XXX x;
+    BIG_XXX x;
     BIG_XXX_rcopy(x,CURVE_Bnx_ZZZ);
 
     BIG_XXX_copy(n,x);
     BIG_XXX_norm(n);
-	BIG_XXX_pmul(n3,n,3);
-	BIG_XXX_norm(n3);
+    BIG_XXX_pmul(n3,n,3);
+    BIG_XXX_norm(n3);
 
     return BIG_XXX_nbits(n3);
 }
@@ -161,117 +161,119 @@
 /* prepare for multi-pairing */
 void PAIR_ZZZ_initmp(FP24_YYY r[])
 {
-	int i;
-	for (i=ATE_BITS_ZZZ-1; i>=0; i--)
-		FP24_YYY_one(&r[i]);
-	return;
+    int i;
+    for (i=ATE_BITS_ZZZ-1; i>=0; i--)
+        FP24_YYY_one(&r[i]);
+    return;
 }
 
 /* basic Miller loop */
 void PAIR_ZZZ_miller(FP24_YYY *res,FP24_YYY r[])
 {
-	int i;
+    int i;
     FP24_YYY_one(res);
-	for (i=ATE_BITS_ZZZ-1; i>=1; i--)
-	{
-		FP24_YYY_sqr(res,res);
-		FP24_YYY_ssmul(res,&r[i]);
-	}
+    for (i=ATE_BITS_ZZZ-1; i>=1; i--)
+    {
+        FP24_YYY_sqr(res,res);
+        FP24_YYY_ssmul(res,&r[i]);
+    }
 
 #if SIGN_OF_X_ZZZ==NEGATIVEX
     FP24_YYY_conj(res,res);
 #endif
-	FP24_YYY_ssmul(res,&r[0]);
-	return;
+    FP24_YYY_ssmul(res,&r[0]);
+    return;
 }
 
 /* Accumulate another set of line functions for n-pairing */
 void PAIR_ZZZ_another(FP24_YYY r[],ECP4_ZZZ* PV,ECP_ZZZ* QV)
 {
-    int i,j,nb,bt;
-	BIG_XXX x,n,n3;
+    int i,nb,bt;
+    BIG_XXX n,n3;
     FP24_YYY lv,lv2;
     ECP4_ZZZ A,NP,P;
-	ECP_ZZZ Q;
-	FP_YYY Qx,Qy;
+    ECP_ZZZ Q;
+    FP_YYY Qx,Qy;
 
-	nb=PAIR_ZZZ_nbits(n3,n);
+    nb=PAIR_ZZZ_nbits(n3,n);
 
-	ECP4_ZZZ_copy(&P,PV);
-	ECP_ZZZ_copy(&Q,QV);
+    ECP4_ZZZ_copy(&P,PV);
+    ECP_ZZZ_copy(&Q,QV);
 
-	ECP4_ZZZ_affine(&P);
-	ECP_ZZZ_affine(&Q);
+    ECP4_ZZZ_affine(&P);
+    ECP_ZZZ_affine(&Q);
 
-	FP_YYY_copy(&Qx,&(Q.x));
-	FP_YYY_copy(&Qy,&(Q.y));
+    FP_YYY_copy(&Qx,&(Q.x));
+    FP_YYY_copy(&Qy,&(Q.y));
 
-	ECP4_ZZZ_copy(&A,&P);
-	ECP4_ZZZ_copy(&NP,&P); ECP4_ZZZ_neg(&NP);
+    ECP4_ZZZ_copy(&A,&P);
+    ECP4_ZZZ_copy(&NP,&P);
+    ECP4_ZZZ_neg(&NP);
 
-	for (i=nb-2; i>=1; i--)
-	{
-		PAIR_ZZZ_line(&lv,&A,&A,&Qx,&Qy);
+    for (i=nb-2; i>=1; i--)
+    {
+        PAIR_ZZZ_line(&lv,&A,&A,&Qx,&Qy);
 
-		bt=BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i); // bt=BIG_bit(n,i);
-		if (bt==1)
-		{
-			PAIR_ZZZ_line(&lv2,&A,&P,&Qx,&Qy);
-			FP24_YYY_smul(&lv,&lv2);
-		}
-		if (bt==-1)
-		{
-			PAIR_ZZZ_line(&lv2,&A,&NP,&Qx,&Qy);
-			FP24_YYY_smul(&lv,&lv2);
-		}
-		FP24_YYY_ssmul(&r[i],&lv);
-	}
+        bt=BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i); // bt=BIG_bit(n,i);
+        if (bt==1)
+        {
+            PAIR_ZZZ_line(&lv2,&A,&P,&Qx,&Qy);
+            FP24_YYY_smul(&lv,&lv2);
+        }
+        if (bt==-1)
+        {
+            PAIR_ZZZ_line(&lv2,&A,&NP,&Qx,&Qy);
+            FP24_YYY_smul(&lv,&lv2);
+        }
+        FP24_YYY_ssmul(&r[i],&lv);
+    }
 }
 
 /* Optimal R-ate pairing r=e(P,Q) */
 void PAIR_ZZZ_ate(FP24_YYY *r,ECP4_ZZZ *P1,ECP_ZZZ *Q1)
 {
-    BIG_XXX x,n,n3;
-	FP_YYY Qx,Qy;
+    BIG_XXX n,n3;
+    FP_YYY Qx,Qy;
     int i,nb,bt;
     ECP4_ZZZ A,NP,P;
-	ECP_ZZZ Q;
+    ECP_ZZZ Q;
     FP24_YYY lv,lv2;
 
-	nb=PAIR_ZZZ_nbits(n3,n);
+    nb=PAIR_ZZZ_nbits(n3,n);
 
-	ECP4_ZZZ_copy(&P,P1);
-	ECP_ZZZ_copy(&Q,Q1);
+    ECP4_ZZZ_copy(&P,P1);
+    ECP_ZZZ_copy(&Q,Q1);
 
-	ECP4_ZZZ_affine(&P);
-	ECP_ZZZ_affine(&Q);
+    ECP4_ZZZ_affine(&P);
+    ECP_ZZZ_affine(&Q);
 
 
     FP_YYY_copy(&Qx,&(Q.x));
     FP_YYY_copy(&Qy,&(Q.y));
 
     ECP4_ZZZ_copy(&A,&P);
-	ECP4_ZZZ_copy(&NP,&P); ECP4_ZZZ_neg(&NP);
+    ECP4_ZZZ_copy(&NP,&P);
+    ECP4_ZZZ_neg(&NP);
 
     FP24_YYY_one(r);
 
     /* Main Miller Loop */
     for (i=nb-2; i>=1; i--)
     {
-		FP24_YYY_sqr(r,r);
+        FP24_YYY_sqr(r,r);
         PAIR_ZZZ_line(&lv,&A,&A,&Qx,&Qy);
 
-		bt= BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i);  // BIG_bit(n,i); 
+        bt= BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i);  // BIG_bit(n,i);
         if (bt==1)
         {
             PAIR_ZZZ_line(&lv2,&A,&P,&Qx,&Qy);
             FP24_YYY_smul(&lv,&lv2);
         }
-		if (bt==-1)
-		{
+        if (bt==-1)
+        {
             PAIR_ZZZ_line(&lv2,&A,&NP,&Qx,&Qy);
             FP24_YYY_smul(&lv,&lv2);
-		}
+        }
         FP24_YYY_ssmul(r,&lv);
     }
 
@@ -284,25 +286,25 @@
 /* Optimal R-ate double pairing e(P,Q).e(R,S) */
 void PAIR_ZZZ_double_ate(FP24_YYY *r,ECP4_ZZZ *P1,ECP_ZZZ *Q1,ECP4_ZZZ *R1,ECP_ZZZ *S1)
 {
-    BIG_XXX x,n,n3;
-	FP_YYY Qx,Qy,Sx,Sy;
+    BIG_XXX n,n3;
+    FP_YYY Qx,Qy,Sx,Sy;
     int i,nb,bt;
     ECP4_ZZZ A,B,NP,NR,P,R;
-	ECP_ZZZ Q,S;
+    ECP_ZZZ Q,S;
     FP24_YYY lv,lv2;
-	nb=PAIR_ZZZ_nbits(n3,n);
+    nb=PAIR_ZZZ_nbits(n3,n);
 
-	ECP4_ZZZ_copy(&P,P1);
-	ECP_ZZZ_copy(&Q,Q1);
+    ECP4_ZZZ_copy(&P,P1);
+    ECP_ZZZ_copy(&Q,Q1);
 
-	ECP4_ZZZ_affine(&P);
-	ECP_ZZZ_affine(&Q);
+    ECP4_ZZZ_affine(&P);
+    ECP_ZZZ_affine(&Q);
 
-	ECP4_ZZZ_copy(&R,R1);
-	ECP_ZZZ_copy(&S,S1);
+    ECP4_ZZZ_copy(&R,R1);
+    ECP_ZZZ_copy(&S,S1);
 
-	ECP4_ZZZ_affine(&R);
-	ECP_ZZZ_affine(&S);
+    ECP4_ZZZ_affine(&R);
+    ECP_ZZZ_affine(&S);
 
     FP_YYY_copy(&Qx,&(Q.x));
     FP_YYY_copy(&Qy,&(Q.y));
@@ -312,36 +314,38 @@
 
     ECP4_ZZZ_copy(&A,&P);
     ECP4_ZZZ_copy(&B,&R);
-	ECP4_ZZZ_copy(&NP,&P); ECP4_ZZZ_neg(&NP);
-	ECP4_ZZZ_copy(&NR,&R); ECP4_ZZZ_neg(&NR);
+    ECP4_ZZZ_copy(&NP,&P);
+    ECP4_ZZZ_neg(&NP);
+    ECP4_ZZZ_copy(&NR,&R);
+    ECP4_ZZZ_neg(&NR);
 
     FP24_YYY_one(r);
 
     /* Main Miller Loop */
     for (i=nb-2; i>=1; i--)
     {
-		FP24_YYY_sqr(r,r);
+        FP24_YYY_sqr(r,r);
         PAIR_ZZZ_line(&lv,&A,&A,&Qx,&Qy);
         PAIR_ZZZ_line(&lv2,&B,&B,&Sx,&Sy);
-		FP24_YYY_smul(&lv,&lv2);
+        FP24_YYY_smul(&lv,&lv2);
         FP24_YYY_ssmul(r,&lv);
 
-		bt=BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i); // bt=BIG_bit(n,i);
+        bt=BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i); // bt=BIG_bit(n,i);
         if (bt==1)
         {
             PAIR_ZZZ_line(&lv,&A,&P,&Qx,&Qy);
-			PAIR_ZZZ_line(&lv2,&B,&R,&Sx,&Sy);
+            PAIR_ZZZ_line(&lv2,&B,&R,&Sx,&Sy);
             FP24_YYY_smul(&lv,&lv2);
             FP24_YYY_ssmul(r,&lv);
         }
-		if (bt==-1)
-		{
+        if (bt==-1)
+        {
             PAIR_ZZZ_line(&lv,&A,&NP,&Qx,&Qy);
-			PAIR_ZZZ_line(&lv2,&B,&NR,&Sx,&Sy);
+            PAIR_ZZZ_line(&lv2,&B,&NR,&Sx,&Sy);
             FP24_YYY_smul(&lv,&lv2);
             FP24_YYY_ssmul(r,&lv);
-		}
-	}
+        }
+    }
 
 
 
@@ -357,7 +361,7 @@
 {
     FP2_YYY X;
     BIG_XXX x;
-	FP_YYY a,b;
+    FP_YYY a,b;
     FP24_YYY t0,t1,t2,t3,t4,t5,t6,t7;  // could lose one of these - r=t3
 
     BIG_XXX_rcopy(x,CURVE_Bnx_ZZZ);
@@ -377,89 +381,89 @@
 
     FP24_YYY_mul(r,&t0);
 
-	if (FP24_YYY_isunity(r))
-	{
-		FP24_YYY_zero(r);
-		return;
-	}
+    if (FP24_YYY_isunity(r))
+    {
+        FP24_YYY_zero(r);
+        return;
+    }
 // Ghamman & Fouotsa Method - (completely garbled in  https://eprint.iacr.org/2016/130)
 
-	FP24_YYY_usqr(&t7,r);			// t7=f^2
-	FP24_YYY_pow(&t1,&t7,x);		// t1=t7^u
+    FP24_YYY_usqr(&t7,r);			// t7=f^2
+    FP24_YYY_pow(&t1,&t7,x);		// t1=t7^u
 
-	BIG_XXX_fshr(x,1);
-	FP24_YYY_pow(&t2,&t1,x);		// t2=t1^(u/2)
-	BIG_XXX_fshl(x,1);  // x must be even
+    BIG_XXX_fshr(x,1);
+    FP24_YYY_pow(&t2,&t1,x);		// t2=t1^(u/2)
+    BIG_XXX_fshl(x,1);  // x must be even
 
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP24_YYY_conj(&t1,&t1);
+    FP24_YYY_conj(&t1,&t1);
 #endif
 
-	FP24_YYY_conj(&t3,&t1);		// t3=1/t1
-	FP24_YYY_mul(&t2,&t3);		// t2=t1*t3
-	FP24_YYY_mul(&t2,r);		// t2=t2*f
+    FP24_YYY_conj(&t3,&t1);		// t3=1/t1
+    FP24_YYY_mul(&t2,&t3);		// t2=t1*t3
+    FP24_YYY_mul(&t2,r);		// t2=t2*f
 
 
-	FP24_YYY_pow(&t3,&t2,x);		// t3=t2^u
-	FP24_YYY_pow(&t4,&t3,x);		// t4=t3^u
-	FP24_YYY_pow(&t5,&t4,x);		// t5=t4^u
+    FP24_YYY_pow(&t3,&t2,x);		// t3=t2^u
+    FP24_YYY_pow(&t4,&t3,x);		// t4=t3^u
+    FP24_YYY_pow(&t5,&t4,x);		// t5=t4^u
 
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP24_YYY_conj(&t3,&t3);
-	FP24_YYY_conj(&t5,&t5);
+    FP24_YYY_conj(&t3,&t3);
+    FP24_YYY_conj(&t5,&t5);
 #endif
 
-	FP24_YYY_frob(&t3,&X,6);
-	FP24_YYY_frob(&t4,&X,5);
+    FP24_YYY_frob(&t3,&X,6);
+    FP24_YYY_frob(&t4,&X,5);
 
-	FP24_YYY_mul(&t3,&t4);		// t3=t3.t4
+    FP24_YYY_mul(&t3,&t4);		// t3=t3.t4
 
 
-	FP24_YYY_pow(&t6,&t5,x);		// t6=t5^u
+    FP24_YYY_pow(&t6,&t5,x);		// t6=t5^u
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP24_YYY_conj(&t6,&t6);
+    FP24_YYY_conj(&t6,&t6);
 #endif
 
 
-	FP24_YYY_frob(&t5,&X,4); 
-	FP24_YYY_mul(&t3,&t5); // ??
+    FP24_YYY_frob(&t5,&X,4);
+    FP24_YYY_mul(&t3,&t5); // ??
 
 
-	FP24_YYY_conj(&t0,&t2);			// t0=1/t2
-	FP24_YYY_mul(&t6,&t0);		// t6=t6*t0
+    FP24_YYY_conj(&t0,&t2);			// t0=1/t2
+    FP24_YYY_mul(&t6,&t0);		// t6=t6*t0
 
-	FP24_YYY_copy(&t5,&t6);
-	FP24_YYY_frob(&t5,&X,3); 
+    FP24_YYY_copy(&t5,&t6);
+    FP24_YYY_frob(&t5,&X,3);
 
-	FP24_YYY_mul(&t3,&t5);		// t3=t3*t5
-	FP24_YYY_pow(&t5,&t6,x);	// t5=t6^x
-	FP24_YYY_pow(&t6,&t5,x);	// t6=t5^x
+    FP24_YYY_mul(&t3,&t5);		// t3=t3*t5
+    FP24_YYY_pow(&t5,&t6,x);	// t5=t6^x
+    FP24_YYY_pow(&t6,&t5,x);	// t6=t5^x
 
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP24_YYY_conj(&t5,&t5);
+    FP24_YYY_conj(&t5,&t5);
 #endif
 
-	FP24_YYY_copy(&t0,&t5);	
-	FP24_YYY_frob(&t0,&X,2); 
-	FP24_YYY_mul(&t3,&t0);		// t3=t3*t0
-	FP24_YYY_copy(&t0,&t6);     // 
-	FP24_YYY_frob(&t0,&X,1);
+    FP24_YYY_copy(&t0,&t5);
+    FP24_YYY_frob(&t0,&X,2);
+    FP24_YYY_mul(&t3,&t0);		// t3=t3*t0
+    FP24_YYY_copy(&t0,&t6);     //
+    FP24_YYY_frob(&t0,&X,1);
 
-	FP24_YYY_mul(&t3,&t0);		// t3=t3*t0
-	FP24_YYY_pow(&t5,&t6,x);    // t5=t6*x
+    FP24_YYY_mul(&t3,&t0);		// t3=t3*t0
+    FP24_YYY_pow(&t5,&t6,x);    // t5=t6*x
 
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP24_YYY_conj(&t5,&t5);
+    FP24_YYY_conj(&t5,&t5);
 #endif
 
-	FP24_YYY_frob(&t2,&X,7); 
+    FP24_YYY_frob(&t2,&X,7);
 
-	FP24_YYY_mul(&t5,&t7);		// t5=t5*t7
-	FP24_YYY_mul(&t3,&t2);		// t3=t3*t2
-	FP24_YYY_mul(&t3,&t5);		// t3=t3*t5
+    FP24_YYY_mul(&t5,&t7);		// t5=t5*t7
+    FP24_YYY_mul(&t3,&t2);		// t3=t3*t2
+    FP24_YYY_mul(&t3,&t5);		// t3=t3*t5
 
-	FP24_YYY_mul(r,&t3);
-	FP24_YYY_reduce(r);
+    FP24_YYY_mul(r,&t3);
+    FP24_YYY_reduce(r);
 
 }
 
@@ -473,7 +477,7 @@
     BIG_XXX x,x2,q;
     BIG_XXX_rcopy(x,CURVE_Bnx_ZZZ);
     BIG_XXX_smul(x2,x,x);
-	BIG_XXX_smul(x,x2,x2);
+    BIG_XXX_smul(x,x2,x2);
     BIG_XXX_copy(u[0],e);
     BIG_XXX_mod(u[0],x);
     BIG_XXX_copy(u[1],e);
@@ -493,7 +497,7 @@
     int i;
 
     BIG_XXX x,w,q;
-	BIG_XXX_rcopy(q,CURVE_Order_ZZZ);
+    BIG_XXX_rcopy(q,CURVE_Order_ZZZ);
     BIG_XXX_rcopy(x,CURVE_Bnx_ZZZ);
     BIG_XXX_copy(w,e);
 
@@ -503,14 +507,14 @@
         BIG_XXX_mod(u[i],x);
         BIG_XXX_sdiv(w,x);
     }
-	BIG_XXX_copy(u[7],w);
+    BIG_XXX_copy(u[7],w);
 
-/*  */
+    /*  */
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	BIG_XXX_modneg(u[1],u[1],q);
-	BIG_XXX_modneg(u[3],u[3],q);
-	BIG_XXX_modneg(u[5],u[5],q);
-	BIG_XXX_modneg(u[7],u[7],q);
+    BIG_XXX_modneg(u[1],u[1],q);
+    BIG_XXX_modneg(u[3],u[3],q);
+    BIG_XXX_modneg(u[5],u[5],q);
+    BIG_XXX_modneg(u[7],u[7],q);
 #endif
 
 
@@ -523,14 +527,15 @@
 #ifdef USE_GLV_ZZZ   /* Note this method is patented */
     int np,nn;
     ECP_ZZZ Q;
-	FP_YYY cru;
+    FP_YYY cru;
     BIG_XXX t,q;
     BIG_XXX u[2];
 
     BIG_XXX_rcopy(q,CURVE_Order_ZZZ);
     glv(u,e);
 
-    ECP_ZZZ_copy(&Q,P); ECP_ZZZ_affine(&Q);
+    ECP_ZZZ_copy(&Q,P);
+    ECP_ZZZ_affine(&Q);
     FP_YYY_rcopy(&cru,CURVE_Cru_ZZZ);
     FP_YYY_mul(&(Q.x),&(Q.x),&cru);
 
@@ -554,7 +559,7 @@
         ECP_ZZZ_neg(&Q);
     }
     BIG_XXX_norm(u[0]);
-    BIG_XXX_norm(u[1]);    
+    BIG_XXX_norm(u[1]);
     ECP_ZZZ_mul2(P,&Q,u[0],u[1]);
 
 #else
@@ -571,7 +576,7 @@
     FP2_YYY X[3];
     BIG_XXX x,y,u[8];
 
-	ECP4_ZZZ_frob_constants(X);
+    ECP4_ZZZ_frob_constants(X);
 
     BIG_XXX_rcopy(y,CURVE_Order_ZZZ);
     gs(u,e);
@@ -593,7 +598,7 @@
             BIG_XXX_copy(u[i],x);
             ECP4_ZZZ_neg(&Q[i]);
         }
-        BIG_XXX_norm(u[i]);   
+        BIG_XXX_norm(u[i]);
     }
 
     ECP4_ZZZ_mul8(P,Q,u);
@@ -611,7 +616,7 @@
     FP24_YYY g[8];
     FP2_YYY X;
     BIG_XXX t,q;
-	FP_YYY fx,fy;
+    FP_YYY fx,fy;
     BIG_XXX u[8];
 
     FP_YYY_rcopy(&fx,Fra_YYY);
@@ -638,7 +643,7 @@
             BIG_XXX_copy(u[i],t);
             FP24_YYY_conj(&g[i],&g[i]);
         }
-        BIG_XXX_norm(u[i]);        
+        BIG_XXX_norm(u[i]);
     }
     FP24_YYY_pow8(f,g,u);
 
@@ -666,16 +671,16 @@
     ECP_ZZZ Q,R;
     FP24 g,gp;
     FP8_YYY t,c,cp,cpm1,cpm2;
-	FP4_YYY X,Y;
+    FP4_YYY X,Y;
     FP2_YYY x,y,f,Aa,Bb;
-	FP_YYY cru;
+    FP_YYY cru;
 
-	for (i=0;i<32;i++)
-		byt[i]=i+9;
-	RAND_seed(&rng,32,byt);
+    for (i=0; i<32; i++)
+        byt[i]=i+9;
+    RAND_seed(&rng,32,byt);
 
-	BIG_XXX_rcopy(r,CURVE_Order);
-	BIG_XXX_rcopy(p,Modulus);
+    BIG_XXX_rcopy(r,CURVE_Order);
+    BIG_XXX_rcopy(p,Modulus);
 
 
     BIG_XXX_rcopy(xa,CURVE_Gx);
@@ -689,7 +694,7 @@
     ECP_output(&Q);
     printf("\n");
 
-	ECP4_ZZZ_generator(&P);
+    ECP4_ZZZ_generator(&P);
 
     if (P.inf) printf("Failed to set - point not on curve\n");
     else printf("G2 set success\n");
@@ -700,7 +705,7 @@
 
     PAIR_ate(&g,&P,&Q);
 
-	printf("gb= ");
+    printf("gb= ");
     FP24_output(&g);
     printf("\n");
     PAIR_fexp(&g);
@@ -709,12 +714,12 @@
     FP24_output(&g);
     printf("\n");
 
-	ECP_copy(&R,&Q);
-	ECP4_ZZZ_copy(&G,&P);
+    ECP_copy(&R,&Q);
+    ECP4_ZZZ_copy(&G,&P);
 
-	ECP4_ZZZ_dbl(&G);
-	ECP_dbl(&R);
-	ECP_affine(&R);
+    ECP4_ZZZ_dbl(&G);
+    ECP_dbl(&R);
+    ECP_affine(&R);
 
     PAIR_ate(&g,&G,&Q);
     PAIR_fexp(&g);
@@ -731,25 +736,33 @@
     printf("\n");
 
 
-	PAIR_G1mul(&Q,r);
-	printf("rQ= ");ECP_output(&Q); printf("\n");
+    PAIR_G1mul(&Q,r);
+    printf("rQ= ");
+    ECP_output(&Q);
+    printf("\n");
 
-	PAIR_G2mul(&P,r);
-	printf("rP= ");ECP4_ZZZ_output(&P); printf("\n");
+    PAIR_G2mul(&P,r);
+    printf("rP= ");
+    ECP4_ZZZ_output(&P);
+    printf("\n");
 
-	BIG_XXX_randomnum(w,r,&rng);
+    BIG_XXX_randomnum(w,r,&rng);
 
-	FP24_copy(&gp,&g);
+    FP24_copy(&gp,&g);
 
-	PAIR_GTpow(&g,w);
+    PAIR_GTpow(&g,w);
 
-	FP24_trace(&t,&g);
+    FP24_trace(&t,&g);
 
-	printf("g^r=  ");FP8_output(&t); printf("\n");
+    printf("g^r=  ");
+    FP8_output(&t);
+    printf("\n");
 
-	FP24_compow(&t,&gp,w,r);
+    FP24_compow(&t,&gp,w,r);
 
-	printf("t(g)= "); FP8_output(&t); printf("\n");
+    printf("t(g)= ");
+    FP8_output(&t);
+    printf("\n");
 
 }
 
diff --git a/version3/c/pair256.c b/version3/c/pair256.c
index 9dab331..2b53ba4 100644
--- a/version3/c/pair256.c
+++ b/version3/c/pair256.c
@@ -26,122 +26,122 @@
 /* Line function */
 static void PAIR_ZZZ_line(FP48_YYY *v,ECP8_ZZZ *A,ECP8_ZZZ *B,FP_YYY *Qx,FP_YYY *Qy)
 {
-	FP8_YYY X1,Y1,T1,T2;
-	FP8_YYY XX,YY,ZZ,YZ;
+    FP8_YYY X1,Y1,T1,T2;
+    FP8_YYY XX,YY,ZZ,YZ;
     FP16_YYY a,b,c;
 
-	if (A==B)
+    if (A==B)
     {
         /* doubling */
- 		FP8_YYY_copy(&XX,&(A->x));	//FP8_YYY XX=new FP8_YYY(A.getx());  //X
-		FP8_YYY_copy(&YY,&(A->y));	//FP8_YYY YY=new FP8_YYY(A.gety());  //Y
-		FP8_YYY_copy(&ZZ,&(A->z));	//FP8_YYY ZZ=new FP8_YYY(A.getz());  //Z
+        FP8_YYY_copy(&XX,&(A->x));	//FP8_YYY XX=new FP8_YYY(A.getx());  //X
+        FP8_YYY_copy(&YY,&(A->y));	//FP8_YYY YY=new FP8_YYY(A.gety());  //Y
+        FP8_YYY_copy(&ZZ,&(A->z));	//FP8_YYY ZZ=new FP8_YYY(A.getz());  //Z
 
 
-		FP8_YYY_copy(&YZ,&YY);		//FP8_YYY YZ=new FP8_YYY(YY);        //Y 
-		FP8_YYY_mul(&YZ,&YZ,&ZZ);		//YZ.mul(ZZ);                //YZ
-		FP8_YYY_sqr(&XX,&XX);		//XX.sqr();	               //X^2
-		FP8_YYY_sqr(&YY,&YY);		//YY.sqr();	               //Y^2
-		FP8_YYY_sqr(&ZZ,&ZZ);		//ZZ.sqr();			       //Z^2
-			
-		FP8_YYY_imul(&YZ,&YZ,4);	//YZ.imul(4);
-		FP8_YYY_neg(&YZ,&YZ);		//YZ.neg(); 
-		FP8_YYY_norm(&YZ);			//YZ.norm();       //-4YZ
+        FP8_YYY_copy(&YZ,&YY);		//FP8_YYY YZ=new FP8_YYY(YY);        //Y
+        FP8_YYY_mul(&YZ,&YZ,&ZZ);		//YZ.mul(ZZ);                //YZ
+        FP8_YYY_sqr(&XX,&XX);		//XX.sqr();	               //X^2
+        FP8_YYY_sqr(&YY,&YY);		//YY.sqr();	               //Y^2
+        FP8_YYY_sqr(&ZZ,&ZZ);		//ZZ.sqr();			       //Z^2
 
-		FP8_YYY_imul(&XX,&XX,6);					//6X^2
-		FP8_YYY_tmul(&XX,&XX,Qx);	               //6X^2.Xs
+        FP8_YYY_imul(&YZ,&YZ,4);	//YZ.imul(4);
+        FP8_YYY_neg(&YZ,&YZ);		//YZ.neg();
+        FP8_YYY_norm(&YZ);			//YZ.norm();       //-4YZ
 
-		FP8_YYY_imul(&ZZ,&ZZ,3*CURVE_B_I_ZZZ);	//3Bz^2 
-		FP8_YYY_tmul(&YZ,&YZ,Qy);	//-4YZ.Ys
+        FP8_YYY_imul(&XX,&XX,6);					//6X^2
+        FP8_YYY_tmul(&XX,&XX,Qx);	               //6X^2.Xs
+
+        FP8_YYY_imul(&ZZ,&ZZ,3*CURVE_B_I_ZZZ);	//3Bz^2
+        FP8_YYY_tmul(&YZ,&YZ,Qy);	//-4YZ.Ys
 
 #if SEXTIC_TWIST_ZZZ==D_TYPE
-		FP8_YYY_div_2i(&ZZ);		//6(b/i)z^2
+        FP8_YYY_div_2i(&ZZ);		//6(b/i)z^2
 #endif
 #if SEXTIC_TWIST_ZZZ==M_TYPE
-		FP8_YYY_times_i(&ZZ);
-		FP8_YYY_add(&ZZ,&ZZ,&ZZ);  // 6biz^2
-		FP8_YYY_times_i(&YZ);
-		FP8_YYY_norm(&YZ);	
+        FP8_YYY_times_i(&ZZ);
+        FP8_YYY_add(&ZZ,&ZZ,&ZZ);  // 6biz^2
+        FP8_YYY_times_i(&YZ);
+        FP8_YYY_norm(&YZ);
 #endif
-		FP8_YYY_norm(&ZZ);			// 6bi.Z^2 
+        FP8_YYY_norm(&ZZ);			// 6bi.Z^2
 
-		FP8_YYY_add(&YY,&YY,&YY);	// 2y^2
-		FP8_YYY_sub(&ZZ,&ZZ,&YY);	// 
-		FP8_YYY_norm(&ZZ);			// 6b.Z^2-2Y^2
+        FP8_YYY_add(&YY,&YY,&YY);	// 2y^2
+        FP8_YYY_sub(&ZZ,&ZZ,&YY);	//
+        FP8_YYY_norm(&ZZ);			// 6b.Z^2-2Y^2
 
-		FP16_YYY_from_FP8s(&a,&YZ,&ZZ); // -4YZ.Ys | 6b.Z^2-2Y^2 | 6X^2.Xs 
+        FP16_YYY_from_FP8s(&a,&YZ,&ZZ); // -4YZ.Ys | 6b.Z^2-2Y^2 | 6X^2.Xs
 #if SEXTIC_TWIST_ZZZ==D_TYPE
-		FP16_YYY_from_FP8(&b,&XX);	
-		FP16_YYY_zero(&c);
+        FP16_YYY_from_FP8(&b,&XX);
+        FP16_YYY_zero(&c);
 #endif
 #if SEXTIC_TWIST_ZZZ==M_TYPE
-		FP16_YYY_zero(&b);
-		FP16_YYY_from_FP8H(&c,&XX);
+        FP16_YYY_zero(&b);
+        FP16_YYY_from_FP8H(&c,&XX);
 #endif
 
-		ECP8_ZZZ_dbl(A);				//A.dbl();
+        ECP8_ZZZ_dbl(A);				//A.dbl();
     }
     else
     {
         /* addition */
 
-		FP8_YYY_copy(&X1,&(A->x));		//FP8_YYY X1=new FP8_YYY(A.getx());    // X1
-		FP8_YYY_copy(&Y1,&(A->y));		//FP8_YYY Y1=new FP8_YYY(A.gety());    // Y1
-		FP8_YYY_copy(&T1,&(A->z));		//FP8_YYY T1=new FP8_YYY(A.getz());    // Z1
-			
-		FP8_YYY_copy(&T2,&T1);		//FP8_YYY T2=new FP8_YYY(A.getz());    // Z1
+        FP8_YYY_copy(&X1,&(A->x));		//FP8_YYY X1=new FP8_YYY(A.getx());    // X1
+        FP8_YYY_copy(&Y1,&(A->y));		//FP8_YYY Y1=new FP8_YYY(A.gety());    // Y1
+        FP8_YYY_copy(&T1,&(A->z));		//FP8_YYY T1=new FP8_YYY(A.getz());    // Z1
 
-		FP8_YYY_mul(&T1,&T1,&(B->y));	//T1.mul(B.gety());    // T1=Z1.Y2 
-		FP8_YYY_mul(&T2,&T2,&(B->x));	//T2.mul(B.getx());    // T2=Z1.X2
+        FP8_YYY_copy(&T2,&T1);		//FP8_YYY T2=new FP8_YYY(A.getz());    // Z1
 
-		FP8_YYY_sub(&X1,&X1,&T2);		//X1.sub(T2); 
-		FP8_YYY_norm(&X1);				//X1.norm();  // X1=X1-Z1.X2
-		FP8_YYY_sub(&Y1,&Y1,&T1);		//Y1.sub(T1); 
-		FP8_YYY_norm(&Y1);				//Y1.norm();  // Y1=Y1-Z1.Y2
+        FP8_YYY_mul(&T1,&T1,&(B->y));	//T1.mul(B.gety());    // T1=Z1.Y2
+        FP8_YYY_mul(&T2,&T2,&(B->x));	//T2.mul(B.getx());    // T2=Z1.X2
 
-		FP8_YYY_copy(&T1,&X1);			//T1.copy(X1);            // T1=X1-Z1.X2
-		FP8_YYY_tmul(&X1,&X1,Qy);		//X1.pmul(Qy);            // X1=(X1-Z1.X2).Ys
+        FP8_YYY_sub(&X1,&X1,&T2);		//X1.sub(T2);
+        FP8_YYY_norm(&X1);				//X1.norm();  // X1=X1-Z1.X2
+        FP8_YYY_sub(&Y1,&Y1,&T1);		//Y1.sub(T1);
+        FP8_YYY_norm(&Y1);				//Y1.norm();  // Y1=Y1-Z1.Y2
+
+        FP8_YYY_copy(&T1,&X1);			//T1.copy(X1);            // T1=X1-Z1.X2
+        FP8_YYY_tmul(&X1,&X1,Qy);		//X1.pmul(Qy);            // X1=(X1-Z1.X2).Ys
 #if SEXTIC_TWIST_ZZZ==M_TYPE
-		FP8_YYY_times_i(&X1);
-		FP8_YYY_norm(&X1);
+        FP8_YYY_times_i(&X1);
+        FP8_YYY_norm(&X1);
 #endif
 
-		FP8_YYY_mul(&T1,&T1,&(B->y));	//T1.mul(B.gety());       // T1=(X1-Z1.X2).Y2
+        FP8_YYY_mul(&T1,&T1,&(B->y));	//T1.mul(B.gety());       // T1=(X1-Z1.X2).Y2
 
-		FP8_YYY_copy(&T2,&Y1);			//T2.copy(Y1);            // T2=Y1-Z1.Y2
-		FP8_YYY_mul(&T2,&T2,&(B->x));	//T2.mul(B.getx());       // T2=(Y1-Z1.Y2).X2
-		FP8_YYY_sub(&T2,&T2,&T1);		//T2.sub(T1); 
-		FP8_YYY_norm(&T2);				//T2.norm();          // T2=(Y1-Z1.Y2).X2 - (X1-Z1.X2).Y2
-		FP8_YYY_tmul(&Y1,&Y1,Qx);		//Y1.pmul(Qx);  
-		FP8_YYY_neg(&Y1,&Y1);			//Y1.neg(); 
-		FP8_YYY_norm(&Y1);				//Y1.norm(); // Y1=-(Y1-Z1.Y2).Xs
+        FP8_YYY_copy(&T2,&Y1);			//T2.copy(Y1);            // T2=Y1-Z1.Y2
+        FP8_YYY_mul(&T2,&T2,&(B->x));	//T2.mul(B.getx());       // T2=(Y1-Z1.Y2).X2
+        FP8_YYY_sub(&T2,&T2,&T1);		//T2.sub(T1);
+        FP8_YYY_norm(&T2);				//T2.norm();          // T2=(Y1-Z1.Y2).X2 - (X1-Z1.X2).Y2
+        FP8_YYY_tmul(&Y1,&Y1,Qx);		//Y1.pmul(Qx);
+        FP8_YYY_neg(&Y1,&Y1);			//Y1.neg();
+        FP8_YYY_norm(&Y1);				//Y1.norm(); // Y1=-(Y1-Z1.Y2).Xs
 
-		FP16_YYY_from_FP8s(&a,&X1,&T2);	// (X1-Z1.X2).Ys  |  (Y1-Z1.Y2).X2 - (X1-Z1.X2).Y2  | - (Y1-Z1.Y2).Xs
+        FP16_YYY_from_FP8s(&a,&X1,&T2);	// (X1-Z1.X2).Ys  |  (Y1-Z1.Y2).X2 - (X1-Z1.X2).Y2  | - (Y1-Z1.Y2).Xs
 #if SEXTIC_TWIST_ZZZ==D_TYPE
-		FP16_YYY_from_FP8(&b,&Y1);		//b=new FP4(Y1);
-		FP16_YYY_zero(&c);
+        FP16_YYY_from_FP8(&b,&Y1);		//b=new FP4(Y1);
+        FP16_YYY_zero(&c);
 #endif
 #if SEXTIC_TWIST_ZZZ==M_TYPE
-		FP16_YYY_zero(&b);
-		FP16_YYY_from_FP8H(&c,&Y1);		//b=new FP4(Y1);
+        FP16_YYY_zero(&b);
+        FP16_YYY_from_FP8H(&c,&Y1);		//b=new FP4(Y1);
 #endif
-		ECP8_ZZZ_add(A,B);			// A.add(B);
+        ECP8_ZZZ_add(A,B);			// A.add(B);
     }
 
     FP48_YYY_from_FP16s(v,&a,&b,&c);
-	v->type=FP_SPARSER;
+    v->type=AMCL_AMCL_FP_SPARSER;
 }
 
 /* prepare ate parameter, n=6u+2 (BN) or n=u (BLS), n3=3*n */
 int PAIR_ZZZ_nbits(BIG_XXX n3,BIG_XXX n)
 {
-	BIG_XXX x;
+    BIG_XXX x;
     BIG_XXX_rcopy(x,CURVE_Bnx_ZZZ);
 
     BIG_XXX_copy(n,x);
     BIG_XXX_norm(n);
-	BIG_XXX_pmul(n3,n,3);
-	BIG_XXX_norm(n3);
+    BIG_XXX_pmul(n3,n,3);
+    BIG_XXX_norm(n3);
 
     return BIG_XXX_nbits(n3);
 }
@@ -158,117 +158,119 @@
 /* prepare for multi-pairing */
 void PAIR_ZZZ_initmp(FP48_YYY r[])
 {
-	int i;
-	for (i=ATE_BITS_ZZZ-1; i>=0; i--)
-		FP48_YYY_one(&r[i]);
-	return;
+    int i;
+    for (i=ATE_BITS_ZZZ-1; i>=0; i--)
+        FP48_YYY_one(&r[i]);
+    return;
 }
 
 /* basic Miller loop */
 void PAIR_ZZZ_miller(FP48_YYY *res,FP48_YYY r[])
 {
-	int i;
+    int i;
     FP48_YYY_one(res);
-	for (i=ATE_BITS_ZZZ-1; i>=1; i--)
-	{
-		FP48_YYY_sqr(res,res);
-		FP48_YYY_ssmul(res,&r[i]);
-	}
+    for (i=ATE_BITS_ZZZ-1; i>=1; i--)
+    {
+        FP48_YYY_sqr(res,res);
+        FP48_YYY_ssmul(res,&r[i]);
+    }
 
 #if SIGN_OF_X_ZZZ==NEGATIVEX
     FP48_YYY_conj(res,res);
 #endif
-	FP48_YYY_ssmul(res,&r[0]);
-	return;
+    FP48_YYY_ssmul(res,&r[0]);
+    return;
 }
 
 /* Accumulate another set of line functions for n-pairing */
 void PAIR_ZZZ_another(FP48_YYY r[],ECP8_ZZZ* PV,ECP_ZZZ* QV)
 {
-    int i,j,nb,bt;
-	BIG_XXX x,n,n3;
+    int i,nb,bt;
+    BIG_XXX n,n3;
     FP48_YYY lv,lv2;
     ECP8_ZZZ A,NP,P;
-	ECP_ZZZ Q;
-	FP_YYY Qx,Qy;
+    ECP_ZZZ Q;
+    FP_YYY Qx,Qy;
 
-	nb=PAIR_ZZZ_nbits(n3,n);
+    nb=PAIR_ZZZ_nbits(n3,n);
 
-	ECP8_ZZZ_copy(&P,PV);
-	ECP_ZZZ_copy(&Q,QV);
+    ECP8_ZZZ_copy(&P,PV);
+    ECP_ZZZ_copy(&Q,QV);
 
-	ECP8_ZZZ_affine(&P);
-	ECP_ZZZ_affine(&Q);
+    ECP8_ZZZ_affine(&P);
+    ECP_ZZZ_affine(&Q);
 
-	FP_YYY_copy(&Qx,&(Q.x));
-	FP_YYY_copy(&Qy,&(Q.y));
+    FP_YYY_copy(&Qx,&(Q.x));
+    FP_YYY_copy(&Qy,&(Q.y));
 
-	ECP8_ZZZ_copy(&A,&P);
-	ECP8_ZZZ_copy(&NP,&P); ECP8_ZZZ_neg(&NP);
+    ECP8_ZZZ_copy(&A,&P);
+    ECP8_ZZZ_copy(&NP,&P);
+    ECP8_ZZZ_neg(&NP);
 
-	for (i=nb-2; i>=1; i--)
-	{
-		PAIR_ZZZ_line(&lv,&A,&A,&Qx,&Qy);
+    for (i=nb-2; i>=1; i--)
+    {
+        PAIR_ZZZ_line(&lv,&A,&A,&Qx,&Qy);
 
-		bt=BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i); // bt=BIG_bit(n,i);
-		if (bt==1)
-		{
-			PAIR_ZZZ_line(&lv2,&A,&P,&Qx,&Qy);
-			FP48_YYY_smul(&lv,&lv2);
-		}
-		if (bt==-1)
-		{
-			PAIR_ZZZ_line(&lv2,&A,&NP,&Qx,&Qy);
-			FP48_YYY_smul(&lv,&lv2);
-		}
-		FP48_YYY_ssmul(&r[i],&lv);
-	}
+        bt=BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i); // bt=BIG_bit(n,i);
+        if (bt==1)
+        {
+            PAIR_ZZZ_line(&lv2,&A,&P,&Qx,&Qy);
+            FP48_YYY_smul(&lv,&lv2);
+        }
+        if (bt==-1)
+        {
+            PAIR_ZZZ_line(&lv2,&A,&NP,&Qx,&Qy);
+            FP48_YYY_smul(&lv,&lv2);
+        }
+        FP48_YYY_ssmul(&r[i],&lv);
+    }
 }
 
 /* Optimal R-ate pairing r=e(P,Q) */
 void PAIR_ZZZ_ate(FP48_YYY *r,ECP8_ZZZ *P1,ECP_ZZZ *Q1)
 {
-    BIG_XXX x,n,n3;
-	FP_YYY Qx,Qy;
+    BIG_XXX n,n3;
+    FP_YYY Qx,Qy;
     int i,nb,bt;
     ECP8_ZZZ A,NP,P;
-	ECP_ZZZ Q;
+    ECP_ZZZ Q;
     FP48_YYY lv,lv2;
 
-	nb=PAIR_ZZZ_nbits(n3,n);
+    nb=PAIR_ZZZ_nbits(n3,n);
 
-	ECP8_ZZZ_copy(&P,P1);
-	ECP_ZZZ_copy(&Q,Q1);
+    ECP8_ZZZ_copy(&P,P1);
+    ECP_ZZZ_copy(&Q,Q1);
 
-	ECP8_ZZZ_affine(&P);
-	ECP_ZZZ_affine(&Q);
+    ECP8_ZZZ_affine(&P);
+    ECP_ZZZ_affine(&Q);
 
 
     FP_YYY_copy(&Qx,&(Q.x));
     FP_YYY_copy(&Qy,&(Q.y));
 
     ECP8_ZZZ_copy(&A,&P);
-	ECP8_ZZZ_copy(&NP,&P); ECP8_ZZZ_neg(&NP);
+    ECP8_ZZZ_copy(&NP,&P);
+    ECP8_ZZZ_neg(&NP);
 
     FP48_YYY_one(r);
 
     /* Main Miller Loop */
     for (i=nb-2; i>=1; i--)
     {
-		FP48_YYY_sqr(r,r);
+        FP48_YYY_sqr(r,r);
         PAIR_ZZZ_line(&lv,&A,&A,&Qx,&Qy);
 
-		bt= BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i);  // BIG_bit(n,i); 
+        bt= BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i);  // BIG_bit(n,i);
         if (bt==1)
         {
             PAIR_ZZZ_line(&lv2,&A,&P,&Qx,&Qy);
             FP48_YYY_smul(&lv,&lv2);
         }
-		if (bt==-1)
-		{
+        if (bt==-1)
+        {
             PAIR_ZZZ_line(&lv2,&A,&NP,&Qx,&Qy);
             FP48_YYY_smul(&lv,&lv2);
-		}
+        }
         FP48_YYY_ssmul(r,&lv);
     }
 
@@ -281,26 +283,26 @@
 /* Optimal R-ate double pairing e(P,Q).e(R,S) */
 void PAIR_ZZZ_double_ate(FP48_YYY *r,ECP8_ZZZ *P1,ECP_ZZZ *Q1,ECP8_ZZZ *R1,ECP_ZZZ *S1)
 {
-    BIG_XXX x,n,n3;
-	FP_YYY Qx,Qy,Sx,Sy;
+    BIG_XXX n,n3;
+    FP_YYY Qx,Qy,Sx,Sy;
     int i,nb,bt;
     ECP8_ZZZ A,B,NP,NR,P,R;
-	ECP_ZZZ Q,S;
+    ECP_ZZZ Q,S;
     FP48_YYY lv,lv2;
 
-	nb=PAIR_ZZZ_nbits(n3,n);
+    nb=PAIR_ZZZ_nbits(n3,n);
 
-	ECP8_ZZZ_copy(&P,P1);
-	ECP_ZZZ_copy(&Q,Q1);
+    ECP8_ZZZ_copy(&P,P1);
+    ECP_ZZZ_copy(&Q,Q1);
 
-	ECP8_ZZZ_affine(&P);
-	ECP_ZZZ_affine(&Q);
+    ECP8_ZZZ_affine(&P);
+    ECP_ZZZ_affine(&Q);
 
-	ECP8_ZZZ_copy(&R,R1);
-	ECP_ZZZ_copy(&S,S1);
+    ECP8_ZZZ_copy(&R,R1);
+    ECP_ZZZ_copy(&S,S1);
 
-	ECP8_ZZZ_affine(&R);
-	ECP_ZZZ_affine(&S);
+    ECP8_ZZZ_affine(&R);
+    ECP_ZZZ_affine(&S);
 
     FP_YYY_copy(&Qx,&(Q.x));
     FP_YYY_copy(&Qy,&(Q.y));
@@ -310,8 +312,10 @@
 
     ECP8_ZZZ_copy(&A,&P);
     ECP8_ZZZ_copy(&B,&R);
-	ECP8_ZZZ_copy(&NP,&P); ECP8_ZZZ_neg(&NP);
-	ECP8_ZZZ_copy(&NR,&R); ECP8_ZZZ_neg(&NR);
+    ECP8_ZZZ_copy(&NP,&P);
+    ECP8_ZZZ_neg(&NP);
+    ECP8_ZZZ_copy(&NR,&R);
+    ECP8_ZZZ_neg(&NR);
 
     FP48_YYY_one(r);
 
@@ -320,26 +324,26 @@
     {
         FP48_YYY_sqr(r,r);
         PAIR_ZZZ_line(&lv,&A,&A,&Qx,&Qy);
-		PAIR_ZZZ_line(&lv2,&B,&B,&Sx,&Sy);
+        PAIR_ZZZ_line(&lv2,&B,&B,&Sx,&Sy);
         FP48_YYY_smul(&lv,&lv2);
         FP48_YYY_ssmul(r,&lv);
 
-		bt=BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i); // bt=BIG_bit(n,i);
+        bt=BIG_XXX_bit(n3,i)-BIG_XXX_bit(n,i); // bt=BIG_bit(n,i);
         if (bt==1)
         {
             PAIR_ZZZ_line(&lv,&A,&P,&Qx,&Qy);
             PAIR_ZZZ_line(&lv2,&B,&R,&Sx,&Sy);
-			FP48_YYY_smul(&lv,&lv2);
+            FP48_YYY_smul(&lv,&lv2);
             FP48_YYY_ssmul(r,&lv);
         }
-		if (bt==-1)
-		{
+        if (bt==-1)
+        {
             PAIR_ZZZ_line(&lv,&A,&NP,&Qx,&Qy);
             PAIR_ZZZ_line(&lv2,&B,&NR,&Sx,&Sy);
             FP48_YYY_smul(&lv,&lv2);
             FP48_YYY_ssmul(r,&lv);
-		}
-	}
+        }
+    }
 
 #if SIGN_OF_X_ZZZ==NEGATIVEX
     FP48_YYY_conj(r,r);
@@ -353,8 +357,8 @@
 {
     FP2_YYY X;
     BIG_XXX x;
-	FP_YYY a,b;
-    FP48_YYY t1,t2,t3,t7;  
+    FP_YYY a,b;
+    FP48_YYY t1,t2,t3,t7;
 
     BIG_XXX_rcopy(x,CURVE_Bnx_ZZZ);
     FP_YYY_rcopy(&a,Fra_YYY);
@@ -373,156 +377,156 @@
 
     FP48_YYY_mul(r,&t7);
 
-	if (FP48_YYY_isunity(r))
-	{
-		FP48_YYY_zero(r);
-		return;
-	}
+    if (FP48_YYY_isunity(r))
+    {
+        FP48_YYY_zero(r);
+        return;
+    }
 
 // f^e0.f^e1^p.f^e2^p^2.. .. f^e14^p^14.f^e15^p^15
 
-	FP48_YYY_usqr(&t7,r);			// t7=f^2
-	FP48_YYY_pow(&t1,&t7,x);		// t1=f^2u
+    FP48_YYY_usqr(&t7,r);			// t7=f^2
+    FP48_YYY_pow(&t1,&t7,x);		// t1=f^2u
 
-	BIG_XXX_fshr(x,1);
-	FP48_YYY_pow(&t2,&t1,x);		// t2=f^2u^(u/2) =  f^u^2
-	BIG_XXX_fshl(x,1);				// x must be even
+    BIG_XXX_fshr(x,1);
+    FP48_YYY_pow(&t2,&t1,x);		// t2=f^2u^(u/2) =  f^u^2
+    BIG_XXX_fshl(x,1);				// x must be even
 
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP48_YYY_conj(&t1,&t1);
+    FP48_YYY_conj(&t1,&t1);
 #endif
 
-	FP48_YYY_conj(&t3,&t1);		// t3=f^-2u
-	FP48_YYY_mul(&t2,&t3);		// t2=f^u^2.f^-2u
-	FP48_YYY_mul(&t2,r);		// t2=f^u^2.f^-2u.f = f^(u^2-2u+1) = f^e15
+    FP48_YYY_conj(&t3,&t1);		// t3=f^-2u
+    FP48_YYY_mul(&t2,&t3);		// t2=f^u^2.f^-2u
+    FP48_YYY_mul(&t2,r);		// t2=f^u^2.f^-2u.f = f^(u^2-2u+1) = f^e15
 
-	FP48_YYY_mul(r,&t7);		// f^3
+    FP48_YYY_mul(r,&t7);		// f^3
 
-	FP48_YYY_pow(&t1,&t2,x);	// f^e15^u = f^(u.e15) = f^(u^3-2u^2+u) = f^(e14)
+    FP48_YYY_pow(&t1,&t2,x);	// f^e15^u = f^(u.e15) = f^(u^3-2u^2+u) = f^(e14)
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP48_YYY_conj(&t1,&t1);
+    FP48_YYY_conj(&t1,&t1);
 #endif
-	FP48_YYY_copy(&t3,&t1);
-	FP48_YYY_frob(&t3,&X,14);	// f^(u^3-2u^2+u)^p^14
-	FP48_YYY_mul(r,&t3);		// f^3.f^(u^3-2u^2+u)^p^14
+    FP48_YYY_copy(&t3,&t1);
+    FP48_YYY_frob(&t3,&X,14);	// f^(u^3-2u^2+u)^p^14
+    FP48_YYY_mul(r,&t3);		// f^3.f^(u^3-2u^2+u)^p^14
 
-	FP48_YYY_pow(&t1,&t1,x);	// f^(u.e14) = f^(u^4-2u^3+u^2) =  f^(e13)
+    FP48_YYY_pow(&t1,&t1,x);	// f^(u.e14) = f^(u^4-2u^3+u^2) =  f^(e13)
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP48_YYY_conj(&t1,&t1);
+    FP48_YYY_conj(&t1,&t1);
 #endif
-	FP48_YYY_copy(&t3,&t1);
-	FP48_YYY_frob(&t3,&X,13);	// f^(e13)^p^13
-	FP48_YYY_mul(r,&t3);		// f^3.f^(u^3-2u^2+u)^p^14.f^(u^4-2u^3+u^2)^p^13
+    FP48_YYY_copy(&t3,&t1);
+    FP48_YYY_frob(&t3,&X,13);	// f^(e13)^p^13
+    FP48_YYY_mul(r,&t3);		// f^3.f^(u^3-2u^2+u)^p^14.f^(u^4-2u^3+u^2)^p^13
 
-	FP48_YYY_pow(&t1,&t1,x);	// f^(u.e13)
+    FP48_YYY_pow(&t1,&t1,x);	// f^(u.e13)
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP48_YYY_conj(&t1,&t1);
+    FP48_YYY_conj(&t1,&t1);
 #endif
-	FP48_YYY_copy(&t3,&t1);
-	FP48_YYY_frob(&t3,&X,12);	// f^(e12)^p^12
-	FP48_YYY_mul(r,&t3);		
+    FP48_YYY_copy(&t3,&t1);
+    FP48_YYY_frob(&t3,&X,12);	// f^(e12)^p^12
+    FP48_YYY_mul(r,&t3);
 
-	FP48_YYY_pow(&t1,&t1,x);	// f^(u.e12)
+    FP48_YYY_pow(&t1,&t1,x);	// f^(u.e12)
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP48_YYY_conj(&t1,&t1);
+    FP48_YYY_conj(&t1,&t1);
 #endif
-	FP48_YYY_copy(&t3,&t1);
-	FP48_YYY_frob(&t3,&X,11);	// f^(e11)^p^11
-	FP48_YYY_mul(r,&t3);		
+    FP48_YYY_copy(&t3,&t1);
+    FP48_YYY_frob(&t3,&X,11);	// f^(e11)^p^11
+    FP48_YYY_mul(r,&t3);
 
-	FP48_YYY_pow(&t1,&t1,x);	// f^(u.e11)
+    FP48_YYY_pow(&t1,&t1,x);	// f^(u.e11)
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP48_YYY_conj(&t1,&t1);
+    FP48_YYY_conj(&t1,&t1);
 #endif
-	FP48_YYY_copy(&t3,&t1);
-	FP48_YYY_frob(&t3,&X,10);	// f^(e10)^p^10
-	FP48_YYY_mul(r,&t3);		
+    FP48_YYY_copy(&t3,&t1);
+    FP48_YYY_frob(&t3,&X,10);	// f^(e10)^p^10
+    FP48_YYY_mul(r,&t3);
 
-	FP48_YYY_pow(&t1,&t1,x);	// f^(u.e10)
+    FP48_YYY_pow(&t1,&t1,x);	// f^(u.e10)
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP48_YYY_conj(&t1,&t1);
+    FP48_YYY_conj(&t1,&t1);
 #endif
-	FP48_YYY_copy(&t3,&t1);
-	FP48_YYY_frob(&t3,&X,9);	// f^(e9)^p^9
-	FP48_YYY_mul(r,&t3);		
+    FP48_YYY_copy(&t3,&t1);
+    FP48_YYY_frob(&t3,&X,9);	// f^(e9)^p^9
+    FP48_YYY_mul(r,&t3);
 
-	FP48_YYY_pow(&t1,&t1,x);	// f^(u.e9)
+    FP48_YYY_pow(&t1,&t1,x);	// f^(u.e9)
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP48_YYY_conj(&t1,&t1);
+    FP48_YYY_conj(&t1,&t1);
 #endif
-	FP48_YYY_copy(&t3,&t1);
-	FP48_YYY_frob(&t3,&X,8);	// f^(e8)^p^8
-	FP48_YYY_mul(r,&t3);		
+    FP48_YYY_copy(&t3,&t1);
+    FP48_YYY_frob(&t3,&X,8);	// f^(e8)^p^8
+    FP48_YYY_mul(r,&t3);
 
-	FP48_YYY_pow(&t1,&t1,x);	// f^(u.e8)
+    FP48_YYY_pow(&t1,&t1,x);	// f^(u.e8)
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP48_YYY_conj(&t1,&t1);
+    FP48_YYY_conj(&t1,&t1);
 #endif
-	FP48_YYY_conj(&t3,&t2);
-	FP48_YYY_mul(&t1,&t3);  // f^(u.e8).f^-e15
-	FP48_YYY_copy(&t3,&t1);
-	FP48_YYY_frob(&t3,&X,7);	// f^(e7)^p^7
-	FP48_YYY_mul(r,&t3);		
+    FP48_YYY_conj(&t3,&t2);
+    FP48_YYY_mul(&t1,&t3);  // f^(u.e8).f^-e15
+    FP48_YYY_copy(&t3,&t1);
+    FP48_YYY_frob(&t3,&X,7);	// f^(e7)^p^7
+    FP48_YYY_mul(r,&t3);
 
-	FP48_YYY_pow(&t1,&t1,x);	// f^(u.e7)
+    FP48_YYY_pow(&t1,&t1,x);	// f^(u.e7)
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP48_YYY_conj(&t1,&t1);
+    FP48_YYY_conj(&t1,&t1);
 #endif
-	FP48_YYY_copy(&t3,&t1);
-	FP48_YYY_frob(&t3,&X,6);	// f^(e6)^p^6
-	FP48_YYY_mul(r,&t3);		
+    FP48_YYY_copy(&t3,&t1);
+    FP48_YYY_frob(&t3,&X,6);	// f^(e6)^p^6
+    FP48_YYY_mul(r,&t3);
 
-	FP48_YYY_pow(&t1,&t1,x);	// f^(u.e6)
+    FP48_YYY_pow(&t1,&t1,x);	// f^(u.e6)
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP48_YYY_conj(&t1,&t1);
+    FP48_YYY_conj(&t1,&t1);
 #endif
-	FP48_YYY_copy(&t3,&t1);
-	FP48_YYY_frob(&t3,&X,5);	// f^(e5)^p^5
-	FP48_YYY_mul(r,&t3);		
+    FP48_YYY_copy(&t3,&t1);
+    FP48_YYY_frob(&t3,&X,5);	// f^(e5)^p^5
+    FP48_YYY_mul(r,&t3);
 
-	FP48_YYY_pow(&t1,&t1,x);	// f^(u.e5)
+    FP48_YYY_pow(&t1,&t1,x);	// f^(u.e5)
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP48_YYY_conj(&t1,&t1);
+    FP48_YYY_conj(&t1,&t1);
 #endif
-	FP48_YYY_copy(&t3,&t1);
-	FP48_YYY_frob(&t3,&X,4);	// f^(e4)^p^4
-	FP48_YYY_mul(r,&t3);		
+    FP48_YYY_copy(&t3,&t1);
+    FP48_YYY_frob(&t3,&X,4);	// f^(e4)^p^4
+    FP48_YYY_mul(r,&t3);
 
-	FP48_YYY_pow(&t1,&t1,x);	// f^(u.e4)
+    FP48_YYY_pow(&t1,&t1,x);	// f^(u.e4)
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP48_YYY_conj(&t1,&t1);
+    FP48_YYY_conj(&t1,&t1);
 #endif
-	FP48_YYY_copy(&t3,&t1);
-	FP48_YYY_frob(&t3,&X,3);	// f^(e3)^p^3
-	FP48_YYY_mul(r,&t3);		
+    FP48_YYY_copy(&t3,&t1);
+    FP48_YYY_frob(&t3,&X,3);	// f^(e3)^p^3
+    FP48_YYY_mul(r,&t3);
 
-	FP48_YYY_pow(&t1,&t1,x);	// f^(u.e3)
+    FP48_YYY_pow(&t1,&t1,x);	// f^(u.e3)
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP48_YYY_conj(&t1,&t1);
+    FP48_YYY_conj(&t1,&t1);
 #endif
-	FP48_YYY_copy(&t3,&t1);
-	FP48_YYY_frob(&t3,&X,2);	// f^(e2)^p^2
-	FP48_YYY_mul(r,&t3);		
+    FP48_YYY_copy(&t3,&t1);
+    FP48_YYY_frob(&t3,&X,2);	// f^(e2)^p^2
+    FP48_YYY_mul(r,&t3);
 
-	FP48_YYY_pow(&t1,&t1,x);	// f^(u.e2)
+    FP48_YYY_pow(&t1,&t1,x);	// f^(u.e2)
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP48_YYY_conj(&t1,&t1);
+    FP48_YYY_conj(&t1,&t1);
 #endif
-	FP48_YYY_copy(&t3,&t1);
-	FP48_YYY_frob(&t3,&X,1);	// f^(e1)^p^1
-	FP48_YYY_mul(r,&t3);		
+    FP48_YYY_copy(&t3,&t1);
+    FP48_YYY_frob(&t3,&X,1);	// f^(e1)^p^1
+    FP48_YYY_mul(r,&t3);
 
-	FP48_YYY_pow(&t1,&t1,x);	// f^(u.e1)
+    FP48_YYY_pow(&t1,&t1,x);	// f^(u.e1)
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	FP48_YYY_conj(&t1,&t1);
+    FP48_YYY_conj(&t1,&t1);
 #endif
-	FP48_YYY_mul(r,&t1);		// r.f^e0		
+    FP48_YYY_mul(r,&t1);		// r.f^e0
 
-	FP48_YYY_frob(&t2,&X,15);	// f^(e15.p^15)
-	FP48_YYY_mul(r,&t2);
+    FP48_YYY_frob(&t2,&X,15);	// f^(e15.p^15)
+    FP48_YYY_mul(r,&t2);
 
 
-	FP48_YYY_reduce(r);
+    FP48_YYY_reduce(r);
 
 }
 
@@ -535,10 +539,10 @@
 
     BIG_XXX x,x2,q;
     BIG_XXX_rcopy(x,CURVE_Bnx_ZZZ);
-    
-	BIG_XXX_smul(x2,x,x);
-	BIG_XXX_smul(x,x2,x2);
-	BIG_XXX_smul(x2,x,x);
+
+    BIG_XXX_smul(x2,x,x);
+    BIG_XXX_smul(x,x2,x2);
+    BIG_XXX_smul(x2,x,x);
 
     BIG_XXX_copy(u[0],e);
     BIG_XXX_mod(u[0],x2);
@@ -559,7 +563,7 @@
     int i;
 
     BIG_XXX x,w,q;
-	BIG_XXX_rcopy(q,CURVE_Order_ZZZ);
+    BIG_XXX_rcopy(q,CURVE_Order_ZZZ);
     BIG_XXX_rcopy(x,CURVE_Bnx_ZZZ);
     BIG_XXX_copy(w,e);
 
@@ -569,18 +573,18 @@
         BIG_XXX_mod(u[i],x);
         BIG_XXX_sdiv(w,x);
     }
-	BIG_XXX_copy(u[15],w);
+    BIG_XXX_copy(u[15],w);
 
-/*  */
+    /*  */
 #if SIGN_OF_X_ZZZ==NEGATIVEX
-	BIG_XXX_modneg(u[1],u[1],q);
-	BIG_XXX_modneg(u[3],u[3],q);
-	BIG_XXX_modneg(u[5],u[5],q);
-	BIG_XXX_modneg(u[7],u[7],q);
-	BIG_XXX_modneg(u[9],u[9],q);
-	BIG_XXX_modneg(u[11],u[11],q);
-	BIG_XXX_modneg(u[13],u[13],q);
-	BIG_XXX_modneg(u[15],u[15],q);
+    BIG_XXX_modneg(u[1],u[1],q);
+    BIG_XXX_modneg(u[3],u[3],q);
+    BIG_XXX_modneg(u[5],u[5],q);
+    BIG_XXX_modneg(u[7],u[7],q);
+    BIG_XXX_modneg(u[9],u[9],q);
+    BIG_XXX_modneg(u[11],u[11],q);
+    BIG_XXX_modneg(u[13],u[13],q);
+    BIG_XXX_modneg(u[15],u[15],q);
 #endif
 
 
@@ -593,14 +597,15 @@
 #ifdef USE_GLV_ZZZ   /* Note this method is patented */
     int np,nn;
     ECP_ZZZ Q;
-	FP_YYY cru;
+    FP_YYY cru;
     BIG_XXX t,q;
     BIG_XXX u[2];
 
     BIG_XXX_rcopy(q,CURVE_Order_ZZZ);
     glv(u,e);
 
-    ECP_ZZZ_copy(&Q,P); ECP_ZZZ_affine(&Q);
+    ECP_ZZZ_copy(&Q,P);
+    ECP_ZZZ_affine(&Q);
     FP_YYY_rcopy(&cru,CURVE_Cru_ZZZ);
     FP_YYY_mul(&(Q.x),&(Q.x),&cru);
 
@@ -624,7 +629,7 @@
         ECP_ZZZ_neg(&Q);
     }
     BIG_XXX_norm(u[0]);
-    BIG_XXX_norm(u[1]);    
+    BIG_XXX_norm(u[1]);
     ECP_ZZZ_mul2(P,&Q,u[0],u[1]);
 
 #else
@@ -641,7 +646,7 @@
     FP2_YYY X[3];
     BIG_XXX x,y,u[16];
 
-	ECP8_ZZZ_frob_constants(X);
+    ECP8_ZZZ_frob_constants(X);
 
     BIG_XXX_rcopy(y,CURVE_Order_ZZZ);
     gs(u,e);
@@ -663,7 +668,7 @@
             BIG_XXX_copy(u[i],x);
             ECP8_ZZZ_neg(&Q[i]);
         }
-        BIG_XXX_norm(u[i]);  
+        BIG_XXX_norm(u[i]);
     }
 
     ECP8_ZZZ_mul16(P,Q,u);
@@ -681,7 +686,7 @@
     FP48_YYY g[16];
     FP2_YYY X;
     BIG_XXX t,q;
-	FP_YYY fx,fy;
+    FP_YYY fx,fy;
     BIG_XXX u[16];
 
     FP_YYY_rcopy(&fx,Fra_YYY);
@@ -735,16 +740,16 @@
     ECP Q,R;
     FP48 g,gp;
     FP16 t,c,cp,cpm1,cpm2;
-	FP8 X,Y;
+    FP8 X,Y;
     FP2 x,y,f,Aa,Bb;
-	FP cru;
+    FP cru;
 
-	for (i=0;i<32;i++)
-		byt[i]=i+9;
-	RAND_seed(&rng,32,byt);
+    for (i=0; i<32; i++)
+        byt[i]=i+9;
+    RAND_seed(&rng,32,byt);
 
-	BIG_rcopy(r,CURVE_Order);
-	BIG_rcopy(p,Modulus);
+    BIG_rcopy(r,CURVE_Order);
+    BIG_rcopy(p,Modulus);
 
 
     BIG_rcopy(xa,CURVE_Gx_ZZZ);
@@ -758,7 +763,7 @@
     ECP_ZZZ_output(&Q);
     printf("\n");
 
-	ECP8_generator(&P);
+    ECP8_generator(&P);
 
     if (P.inf) printf("Failed to set - point not on curve\n");
     else printf("G2 set success\n");
@@ -769,7 +774,7 @@
 
     PAIR_ZZZ_ate(&g,&P,&Q);
 
-	printf("gb= ");
+    printf("gb= ");
     FP48_output(&g);
     printf("\n");
     PAIR_ZZZ_fexp(&g);
@@ -778,12 +783,12 @@
     FP48_output(&g);
     printf("\n");
 
-	ECP_ZZZ_copy(&R,&Q);
-	ECP8_copy(&G,&P);
+    ECP_ZZZ_copy(&R,&Q);
+    ECP8_copy(&G,&P);
 
-	ECP8_dbl(&G);
-	ECP_dbl(&R);
-	ECP_affine(&R);
+    ECP8_dbl(&G);
+    ECP_dbl(&R);
+    ECP_affine(&R);
 
     PAIR_ZZZ_ate(&g,&G,&Q);
     PAIR_ZZZ_fexp(&g);
@@ -800,29 +805,39 @@
     printf("\n");
 
 
-	PAIR_ZZZ_G1mul(&Q,r);
-	printf("rQ= ");ECP_output(&Q); printf("\n");
+    PAIR_ZZZ_G1mul(&Q,r);
+    printf("rQ= ");
+    ECP_output(&Q);
+    printf("\n");
 
-	PAIR_ZZZ_G2mul(&P,r);
-	printf("rP= ");ECP8_output(&P); printf("\n");
+    PAIR_ZZZ_G2mul(&P,r);
+    printf("rP= ");
+    ECP8_output(&P);
+    printf("\n");
 
-	PAIR_ZZZ_GTpow(&g,r);
-	printf("g^r= ");FP48_output(&g); printf("\n");
+    PAIR_ZZZ_GTpow(&g,r);
+    printf("g^r= ");
+    FP48_output(&g);
+    printf("\n");
 
 
-	BIG_randomnum(w,r,&rng);
+    BIG_randomnum(w,r,&rng);
 
-	FP48_copy(&gp,&g);
+    FP48_copy(&gp,&g);
 
-	PAIR_ZZZ_GTpow(&g,w);
+    PAIR_ZZZ_GTpow(&g,w);
 
-	FP48_trace(&t,&g);
+    FP48_trace(&t,&g);
 
-	printf("g^r=  ");FP16_output(&t); printf("\n");
+    printf("g^r=  ");
+    FP16_output(&t);
+    printf("\n");
 
-	FP48_compow(&t,&gp,w,r);
+    FP48_compow(&t,&gp,w,r);
 
-	printf("t(g)= "); FP16_output(&t); printf("\n");
+    printf("t(g)= ");
+    FP16_output(&t);
+    printf("\n");
 
 }
 
diff --git a/version3/c/rom_curve_ANSSI.c b/version3/c/rom_curve_ANSSI.c
index 535a697..075b733 100644
--- a/version3/c/rom_curve_ANSSI.c
+++ b/version3/c/rom_curve_ANSSI.c
@@ -10,7 +10,7 @@
 #endif
 
 #if CHUNK==32
-const int CURVE_Cof_I_ANNSI= 1;
+const int CURVE_Cof_I_ANSSI= 1;
 const BIG_256_28 CURVE_Cof_ANSSI= {0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0};
 const int CURVE_A_ANSSI= -3;
 const int CURVE_B_I_ANSSI= 0;
@@ -21,7 +21,7 @@
 #endif
 
 #if CHUNK==64
-const int CURVE_Cof_I_ANNSI= 1;
+const int CURVE_Cof_I_ANSSI= 1;
 const BIG_256_56 CURVE_Cof_ANSSI= {0x1L,0x0L,0x0L,0x0L,0x0L};
 const int CURVE_A_ANSSI= -3;
 const int CURVE_B_I_ANSSI= 0;
diff --git a/version3/c/rsa.h b/version3/c/rsa.h
index 4d4c3c1..08a744f 100644
--- a/version3/c/rsa.h
+++ b/version3/c/rsa.h
@@ -18,7 +18,7 @@
 */
 
 /**
- * @file rsa.h
+ * @file rsa_WWW.h
  * @author Mike Scott
  * @brief RSA Header file for implementation of RSA protocol
  *
diff --git a/version3/c/rsa_support.h b/version3/c/rsa_support.h
index 3bd495f..519d012 100644
--- a/version3/c/rsa_support.h
+++ b/version3/c/rsa_support.h
@@ -46,7 +46,7 @@
 	@param R is a pointer to a cryptographically secure random number generator
 	@param P are input encoding parameter string (could be NULL)
 	@param F is the output encoding, ready for RSA encryption
-	@return 1 if OK, else 0
+	@return 0 if OK, else 1
  */
 extern int	OAEP_ENCODE(int h,octet *M,csprng *R,octet *P,octet *F);
 /**	@brief OAEP unpadding of a message after RSA decryption
@@ -55,7 +55,7 @@
 	@param h is the hash type
 	@param P are input encoding parameter string (could be NULL)
 	@param F is input padded message, unpadded on output
-	@return 1 if OK, else 0
+	@return 0 if OK, else 1
  */
 extern int  OAEP_DECODE(int h,octet *P,octet *F);