- return (g->ops == h->ops &&
- MP_EQ(g->r, h->r) && MP_EQ(g->h, h->h) &&
- G_EQ(g, g->i, h->i) && G_EQ(g, g->g, h->g) &&
- G_SAMEP(g, h));
+ return (g == h || (g->ops == h->ops &&
+ MP_EQ(g->r, h->r) && MP_EQ(g->h, h->h) &&
+ G_EQ(g, g->i, h->i) && G_EQ(g, g->g, h->g) &&
+ G_SAMEP(g, h)));