mask_t gf_eq(const gf a, const gf b)
{
    gf c;
    mask_t ret = 0;
    unsigned int i;
    gf_sub(c, a, b);
    gf_strong_reduce(c);
    for (i = 0; i < NLIMBS; i++) {
        ret |= c->limb[LIMBPERM(i)];
    }
    return word_is_zero(ret);
}
['mask_t gf_eq(const gf a, const gf b)\n{\n    gf c;\n    mask_t ret = 0;\n    unsigned int i;\n    gf_sub(c, a, b);\n    gf_strong_reduce(c);\n    for (i = 0; i < NLIMBS; i++) {\n        ret |= c->limb[LIMBPERM(i)];\n    }\n    return word_is_zero(ret);\n}']