fp_mul_monty
ATTRIBUTE_WARN_UNUSED_RET int fp_mul_monty(fp_t out, fp_src_t in1, fp_src_t in2);
GENERIC_TEST_FP(fp_mul_monty, FP_MUL_MONTY, "*_monty", fp_mul_monty, "cfff", "ioii",
ret = fp_mul_monty(&t4, &t4, &t5); EG(ret, err);
ret = fp_mul_monty(&t5, &t5, &out->X); EG(ret, err);
ret = fp_mul_monty(&out->Z, &in1->crv->a_monty, &t4); EG(ret, err);
ret = fp_mul_monty(&out->X, &in1->crv->b3_monty, &t2); EG(ret, err);
ret = fp_mul_monty(&out->Y, &out->X, &out->Z); EG(ret, err);
ret = fp_mul_monty(&t2, &in1->crv->a_monty, &t2); EG(ret, err);
ret = fp_mul_monty(&t4, &in1->crv->b3_monty, &t4); EG(ret, err);
ret = fp_mul_monty(&t2, &in1->crv->a_monty, &t2); EG(ret, err);
ret = fp_mul_monty(&t0, &t1, &t4); EG(ret, err);
ret = fp_mul_monty(&t0, &t5, &t4); EG(ret, err);
ret = fp_mul_monty(&out->X, &t3, &out->X); EG(ret, err);
ret = fp_mul_monty(&t0, &t3, &t1); EG(ret, err);
ret = fp_mul_monty(&out->Z, &t5, &out->Z); EG(ret, err);
ret = fp_mul_monty(&(out->X), &(in->X), &(out->Z)); EG(ret, err);
ret = fp_mul_monty(&(out->Y), &(in->Y), &(out->Z)); EG(ret, err);
ret = fp_mul_monty(&(out->Z), &(in->Z), &(out->Z));
ret = fp_mul_monty(&X1, &(in1->X), &(in2->Z)); EG(ret, err);
ret = fp_mul_monty(&X2, &(in2->X), &(in1->Z)); EG(ret, err);
ret = fp_mul_monty(&Y1, &(in1->Y), &(in2->Z)); EG(ret, err);
ret = fp_mul_monty(&Y2, &(in2->Y), &(in1->Z)); EG(ret, err);
ret = fp_mul_monty(&X1, &(in1->X), &(in2->Z)); EG(ret, err);
ret = fp_mul_monty(&X2, &(in2->X), &(in1->Z)); EG(ret, err);
ret = fp_mul_monty(&Y1, &(in1->Y), &(in2->Z)); EG(ret, err);
ret = fp_mul_monty(&Y2, &(in2->Y), &(in1->Z)); EG(ret, err);
ret = fp_mul_monty(&X1, &(in1->X), &(in2->Z)); EG(ret, err);
ret = fp_mul_monty(&X2, &(in2->X), &(in1->Z)); EG(ret, err);
ret = fp_mul_monty(&Y1, &(in1->Y), &(in2->Z)); EG(ret, err);
ret = fp_mul_monty(&Y2, &(in2->Y), &(in1->Z)); EG(ret, err);
ret = fp_mul_monty(&w, &(in->crv->a_monty), &ZZ); EG(ret, err);
ret = fp_mul_monty(&s, &(in->Y), &(in->Z)); EG(ret, err);
ret = fp_mul_monty(&sss, &s, &ss); EG(ret, err);
ret = fp_mul_monty(&R, &(in->Y), &s); EG(ret, err);
ret = fp_mul_monty(&(out->X), &h, &s); EG(ret, err);
ret = fp_mul_monty(&(out->Y), &w, &B); EG(ret, err);
ret = fp_mul_monty(&Y1Z2, &(in1->Y), &(in2->Z)); EG(ret, err);
ret = fp_mul_monty(&X1Z2, &(in1->X), &(in2->Z)); EG(ret, err);
ret = fp_mul_monty(&Z1Z2, &(in1->Z), &(in2->Z)); EG(ret, err);
ret = fp_mul_monty(&u, &(in2->Y), &(in1->Z)); EG(ret, err);
ret = fp_mul_monty(&v, &(in2->X), &(in1->Z)); EG(ret, err);
ret = fp_mul_monty(&vvv, &v, &vv); EG(ret, err);
ret = fp_mul_monty(&R, &vv, &X1Z2); EG(ret, err);
ret = fp_mul_monty(&A, &uu, &Z1Z2); EG(ret, err);
ret = fp_mul_monty(&(out->X), &v, &A); EG(ret, err);
ret = fp_mul_monty(&(out->Y), &u, &R); EG(ret, err);
ret = fp_mul_monty(&R, &vvv, &Y1Z2); EG(ret, err);
ret = fp_mul_monty(&(out->Z), &vvv, &Z1Z2);
ret = fp_mul_monty(&t0, &in->X, &in->X); EG(ret, err);
ret = fp_mul_monty(&t1, &in->Y, &in->Y); EG(ret, err);
ret = fp_mul_monty(&t2, &in->Z, &in->Z); EG(ret, err);
ret = fp_mul_monty(&t3, &in->X, &in->Y); EG(ret, err);
ret = fp_mul_monty(&out->Z, &in->X, &in->Z); EG(ret, err);
ret = fp_mul_monty(&out->X, &in->crv->a_monty, &out->Z); EG(ret, err);
ret = fp_mul_monty(&out->Y, &in->crv->b3_monty, &t2); EG(ret, err);
ret = fp_mul_monty(&out->Y, &out->X, &out->Y); EG(ret, err);
ret = fp_mul_monty(&out->X, &t3, &out->X); EG(ret, err);
ret = fp_mul_monty(&out->Z, &in->crv->b3_monty, &out->Z); EG(ret, err);
ret = fp_mul_monty(&t2, &in->crv->a_monty, &t2); EG(ret, err);
ret = fp_mul_monty(&t3, &in->crv->a_monty, &t3); EG(ret, err);
ret = fp_mul_monty(&t0, &t0, &t3); EG(ret, err);
ret = fp_mul_monty(&t2, &in->Y, &in->Z); EG(ret, err);
ret = fp_mul_monty(&t0, &t2, &t3); EG(ret, err);
ret = fp_mul_monty(&out->Z, &t2, &t1); EG(ret, err);
ret = fp_mul_monty(&t0, &in1->X, &in2->X); EG(ret, err);
ret = fp_mul_monty(&t1, &in1->Y, &in2->Y); EG(ret, err);
ret = fp_mul_monty(&t2, &in1->Z, &in2->Z); EG(ret, err);
ret = fp_mul_monty(&t3, &t3, &t4); EG(ret, err);
ret = fp_mul_monty(&exp, &exp, &base); EG(ret, err);
ret = fp_mul_monty(&a, &a, &blind); EG(ret, err);
ret = fp_mul_monty(&tmp, &exp, &a); EG(ret, err);
ret = fp_mul_monty(&s, &s, &blind); EG(ret, err);
ret = fp_mul_monty(&s, &s, &tmp); EG(ret, err);
ret = fp_mul_monty(&s, &s, &x_j); EG(ret, err);
ret = fp_mul_monty(&tmp2, &tmp2, &tmp); EG(ret, err);
ret = fp_mul_monty(&s, &s, &tmp); EG(ret, err);