fe_mul_ttt
fe_mul_ttt(&t0, &t0, &t1);
fe_mul_ttt(&t1, &t1, &t2);
fe_mul_ttt(&t1, &t2, &t1);
fe_mul_ttt(&t2, &t2, &t1);
fe_mul_ttt(&t2, &t3, &t2);
fe_mul_ttt(&t1, &t2, &t1);
fe_mul_ttt(&t2, &t2, &t1);
fe_mul_ttt(&t2, &t3, &t2);
fe_mul_ttt(&t1, &t2, &t1);
fe_mul_ttt(out, &t1, &t0);
fe_mul_ttt(&t1, z, &t1);
fe_mul_ttt(&t0, &t0, &t1);
fe_mul_ttt(&t0, &t1, &t0);
fe_mul_ttt(&t0, &t1, &t0);
fe_mul_ttt(&t1, &t1, &t0);
fe_mul_ttt(&t1, &t2, &t1);
fe_mul_ttt(&t0, &t1, &t0);
fe_mul_ttt(&t1, &t1, &t0);
fe_mul_ttt(&t1, &t2, &t1);
fe_mul_ttt(&t0, &t1, &t0);
fe_mul_ttt(out, &t0, z);
fe_mul_ttt(&x, &h->X, &recip);
fe_mul_ttt(&y, &h->Y, &recip);
fe_mul_ttt(&vxx, &v3, &d);
fe_mul_ttt(&h->X, &h->X, &u); // x = uv^7
fe_mul_ttt(&h->X, &h->X, &v3);
fe_mul_ttt(&h->X, &h->X, &u); // x = uv^3(uv^7)^((q-5)/8)
fe_mul_ttt(&h->X, &h->X, &sqrtm1);
fe_mul_ttt(&h->T, &h->X, &h->Y);