if (BN_copy(ret->Z, z) == NULL) goto err;
if (!BN_mod_sqr(n0, z, E->p, ctx)) goto err;
if (!BN_mod_mul(ret->X, ret->X, n0, E->p, ctx)) goto err;
if (!BN_mod_mul(n0, n0, z, E->p, ctx)) goto err;
if (!BN_mod_mul(ret->Y, ret->Y, n0, E->p, ctx)) goto err;
if (BN_copy(ret->Z, z) == NULL) goto err;
if (!BN_mod_sqr(n0, z, E->p, ctx)) goto err;
if (!BN_mod_mul(ret->X, ret->X, n0, E->p, ctx)) goto err;
if (!BN_mod_mul(n0, n0, z, E->p, ctx)) goto err;
if (!BN_mod_mul(ret->Y, ret->Y, n0, E->p, ctx)) goto err;