is_equal
if (is_equal(U1, U2) & ~in1infty & ~in2infty & is_equal(S1, S2)) {
return (bn_get_top(generator->X) == P256_LIMBS) && (bn_get_top(generator->Y) == P256_LIMBS) && is_equal(bn_get_words(generator->X), def_xG) && is_equal(bn_get_words(generator->Y), def_yG) && is_one(generator->Z);
#define is_one(a) is_equal(a, ONE)
is_equal(a->X, b->X) && is_equal(a->Y, b->Y) && is_equal(a->Z, b->Z)
&& is_equal(bn_get_words(generator->X), def_xG)
&& is_equal(bn_get_words(generator->Y), def_yG)
r->Z_is_one = is_equal(bn_get_words(r->Z), ONE) & 1;