- jj = mpmont_mul(&mm, jj, jj, mm.r2);
- mp_gcd(0, 0, &m, s->p, m);
- m = mpmont_mul(&mm, m, m, mm.r2);
- m = mpmont_mul(&mm, m, m, jj);
- c = mpmont_mul(&mm, c, c, m);
+ m = mp_modinv(m, m, s->p);
+ c = mp_mul(c, c, &jj);
+ c = mpbarrett_reduce(&mb, c, c);
+ c = mp_mul(c, c, m);
+ c = mpbarrett_reduce(&mb, c, c);