static __inline__ __attribute((always_inline,unused))
uint32_t word_is_zero(uint32_t a) {
    return (((uint64_t)a)-1)>>32;
}
['decaf_error_t curve448_scalar_decode(\n    curve448_scalar_t s,\n    const unsigned char ser[DECAF_448_SCALAR_BYTES]\n) {\n    unsigned int i;\n    decaf_dsword_t accum = 0;\n    scalar_decode_short(s, ser, DECAF_448_SCALAR_BYTES);\n    for (i=0; i<DECAF_448_SCALAR_LIMBS; i++) {\n        accum = (accum + s->limb[i] - sc_p->limb[i]) >> WBITS;\n    }\n    curve448_scalar_mul(s,s,curve448_scalar_one);\n    return decaf_succeed_if(~word_is_zero(accum));\n}', 'static __inline__ __attribute((always_inline,unused))\nuint32_t word_is_zero(uint32_t a) {\n    return (((uint64_t)a)-1)>>32;\n}']